diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a4fc5b7b4f111296f4ae1ddcf5dad2cc2a74fa22..87f3dd1f228c3c3c03256cc37c15375a2c2f9f96 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -22,7 +22,6 @@ src/SPIN/* @julient31 src/USER-CGDNA/* @ohenrich src/USER-CGSDK/* @akohlmey src/USER-COLVARS/* @giacomofiorin -src/USER-DPD/* @timattox src/USER-INTEL/* @wmbrownintel src/USER-MANIFOLD/* @Pakketeretet2 src/USER-MEAMC/* @martok @@ -46,7 +45,7 @@ src/GPU/pair_vashishta_gpu.* @andeplane src/KOKKOS/pair_vashishta_kokkos.* @andeplane src/MANYBODY/pair_vashishta_table.* @andeplane src/MANYBODY/pair_atm.* @sergeylishchuk -src/USER-MISC/fix_bond_react.* @jrgissing +src/USER-REACTION/fix_bond_react.* @jrgissing src/USER-MISC/*_grem.* @dstelter92 src/USER-MISC/compute_stress_mop*.* @RomainVermorel @@ -119,6 +118,7 @@ tools/emacs/* @HaoZeke # cmake cmake/* @junghans @rbberger +cmake/Modules/Packages/USER-COLVARS.cmake @junghans @rbberger @giacomofiorin # python python/* @rbberger diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 0f15bf02be262268e29d00fa3c1558e0f357cb63..08522c6d15b86c7c83a9beb153a5dbc366a2f4d1 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -73,7 +73,7 @@ Here is a checklist of steps you need to follow to submit a single file or user * If you want your contribution to be added as a user-contributed feature, and it is a single file (actually a `.cpp` and `.h` file) it can be rapidly added to the USER-MISC directory. Include the one-line entry to add to the USER-MISC/README file in that directory, along with the 2 source files. You can do this multiple times if you wish to contribute several individual features. * If you want your contribution to be added as a user-contribution and it is several related features, it is probably best to make it a user package directory with a name like USER-FOO. In addition to your new files, the directory should contain a README text file. The README should contain your name and contact information and a brief description of what your new package does. If your files depend on other LAMMPS style files also being installed (e.g. because your file is a derived class from the other LAMMPS class), then an Install.sh file is also needed to check for those dependencies. See other README and Install.sh files in other USER directories as examples. Send us a tarball of this USER-FOO directory. * Your new source files need to have the LAMMPS copyright, GPL notice, and your name and email address at the top, like other user-contributed LAMMPS source files. They need to create a class that is inside the LAMMPS namespace. If the file is for one of the USER packages, including USER-MISC, then we are not as picky about the coding style (see above). I.e. the files do not need to be in the same stylistic format and syntax as other LAMMPS files, though that would be nice for developers as well as users who try to read your code. -* You **must** also create or extend a documentation file for each new command or style you are adding to LAMMPS. For simplicity and convenience, the documentation of groups of closely related commands or styles may be combined into a single file. This will be one file for a single-file feature. For a package, it might be several files. These are files in the [reStructuredText](https://docutils.sourceforge.io/rst.html) markup language, that are then converted to HTML and PDF. The tools for this conversion are included in the source distribution, and the translation can be as simple as doing "make html pdf" in the doc folder. Thus the documentation source files must be in the same format and style as other `.rst` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. An introduction to reStructuredText can be found at [https://docutils.sourceforge.io/docs/user/rst/quickstart.html](https://docutils.sourceforge.io/docs/user/rst/quickstart.html). As appropriate, the text files can include mathematical expressions in MathJAX markup or links to equations (see doc/Eqs/*.tex for examples, we auto-create the associated JPG files), or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.rst for examples and the earlier part of the same file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or USER-FOO package. See other user package doc files for examples of how to do this. The prerequisite for building the HTML format files are Python 3.x and virtualenv. Please run at least `make html` and `make spelling` and carefully inspect and proofread the resulting HTML format doc page as well as the output produced to the screen. Make sure that all spelling errors are fixed or the necessary false positives are added to the `doc/utils/sphinx-config/false_positives.txt` file. For new styles, those usually also need to be added to lists on the respective overview pages. This can be checked for also with `make style_check`. +* You **must** also create or extend a documentation file for each new command or style you are adding to LAMMPS. For simplicity and convenience, the documentation of groups of closely related commands or styles may be combined into a single file. This will be one file for a single-file feature. For a package, it might be several files. These are files in the [reStructuredText](https://docutils.sourceforge.io/rst.html) markup language, that are then converted to HTML and PDF. The tools for this conversion are included in the source distribution, and the translation can be as simple as doing "make html pdf" in the doc folder. Thus the documentation source files must be in the same format and style as other `.rst` files in the lammps/doc/src directory for similar commands and styles; use one or more of them as a starting point. An introduction to reStructuredText can be found at [https://docutils.sourceforge.io/docs/user/rst/quickstart.html](https://docutils.sourceforge.io/docs/user/rst/quickstart.html). The text files can include mathematical expressions and symbol in ".. math::" sections or ":math:" expressions or figures (see doc/JPG for examples), or even additional PDF files with further details (see doc/PDF for examples). The doc page should also include literature citations as appropriate; see the bottom of doc/fix_nh.rst for examples and the earlier part of the same file for how to format the cite itself. The "Restrictions" section of the doc page should indicate that your command is only available if LAMMPS is built with the appropriate USER-MISC or USER-FOO package. See other user package doc files for examples of how to do this. The prerequisite for building the HTML format files are Python 3.x and virtualenv. Please run at least `make html`, `make pdf` and `make spelling` and carefully inspect and proofread the resulting HTML format doc page as well as the output produced to the screen. Make sure that all spelling errors are fixed or the necessary false positives are added to the `doc/utils/sphinx-config/false_positives.txt` file. For new styles, those usually also need to be added to lists on the respective overview pages. This can be checked for also with `make style_check`. * For a new package (or even a single command) you should include one or more example scripts demonstrating its use. These should run in no more than a couple minutes, even on a single processor, and not require large data files as input. See directories under examples/USER for examples of input scripts other users provided for their packages. These example inputs are also required for validating memory accesses and testing for memory leaks with valgrind * If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the *.cpp source file. See src/USER-EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from their input script, this will cause LAMMPS to output the citation to a log.cite file and prompt the user to examine the file. Note that you should only use this for a paper you or your group authored. E.g. adding a cite in the code for a paper by Nose and Hoover if you write a fix that implements their integrator is not the intended usage. That kind of citation should just be in the doc page you provide. diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 91b7e2bf4893f3848a5b643135301881915beaee..0d1d3b036419b5e80963d9eff2bf2ce3631a9a2c 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -9,24 +9,24 @@ assignees: '' **Summary** -_Please provide a clear and concise description of what the bug is._ + **LAMMPS Version and Platform** -_Please specify precisely which LAMMPS version this issue was detected with (the first line of the output) and what platform (operating system and its version, hardware) you are running on. If possible, test with the most recent LAMMPS patch version_ + **Expected Behavior** -_Describe the expected behavior. Quote from the LAMMPS manual where needed, or explain why the expected behavior is meaningful, especially when it differs from the manual_ + **Actual Behavior** -_Describe the actual behavior, how it differs from the expected behavior, and how this can be observed. Try to be specific and do **not** use vague terms like "doesn't work" or "wrong result". Do not assume that the person reading this has any experience with or knowledge of your specific area of research._ + **Steps to Reproduce** -_Describe the steps required to (quickly) reproduce the issue. You can attach (small) files to the section below or add URLs where to download an archive with all necessary files. Please try to create an input set that is as minimal and small as possible and reproduces the bug as quickly as possible. **NOTE:** the less effort and time it takes to reproduce your reported bug, the more likely it becomes, that somebody will look into it and fix the problem._ + **Further Information, Files, and Links** -_Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications_ + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index a3a70c0d5a5237f643d7b14dc95bd534d64ba6b0..0334e086fc9e1309ca13bdf18a9fce2ca81900a8 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -9,12 +9,12 @@ assignees: '' **Summary** -_Please provide a brief and concise description of the suggested feature or change_ + **Detailed Description** -_Please explain how you would like to see LAMMPS enhanced, what feature(s) you are looking for, what specific problems this will solve. If possible, provide references to relevant background information like publications or web pages, and whether you are planning to implement the enhancement yourself or would like to participate in the implementation. If applicable add a reference to an existing bug report or issue that this will address._ + **Further Information, Files, and Links** -_Put any additional information here, attach relevant text or image files and URLs to external sites, e.g. relevant publications_ + diff --git a/.github/ISSUE_TEMPLATE/generic.md b/.github/ISSUE_TEMPLATE/generic.md index 15d2763919fdc531040b3110eec19832720c09dd..9e5d908bbc283da20d6665b1e804204483459727 100644 --- a/.github/ISSUE_TEMPLATE/generic.md +++ b/.github/ISSUE_TEMPLATE/generic.md @@ -9,13 +9,13 @@ assignees: '' **Summary** -_Please provide a clear and concise description of what this issue report is about._ + **LAMMPS Version and Platform** -_Please specify precisely which LAMMPS version this issue was detected with (the first line of the output) and what platform (operating system and its version, hardware) you are running on. If possible, test with the most recent LAMMPS patch version_ + **Details** -_Please explain the issue in detail here_ + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 9e43aa024440acc0557054f75e991aaf724c7171..6ef945d8d480edc99eb123a3a8634ddc5ee833f6 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,14 +1,14 @@ **Summary** -_Briefly describe the new feature(s), enhancement(s), or bugfix(es) included in this pull request._ + **Related Issues** -_If this addresses an open GitHub issue for this project, please mention the issue number here, and describe the relation. Use the phrases `fixes #221` or `closes #135`, when you want an issue to be automatically closed when the pull request is merged_ + **Author(s)** -_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request. If this pull request adds new files to the distribution, please also provide a suitable "long-lived" e-mail address (ideally something that can outlive your institution's e-mail, in case you change jobs) for the *corresponding* author, i.e. the person the LAMMPS developers can contact directly with questions and requests related to maintenance and support of this contributed code._ + **Licensing** @@ -16,15 +16,15 @@ By submitting this pull request, I agree, that my contribution will be included **Backward Compatibility** -_Please state whether any changes in the pull request will break backward compatibility for inputs, and - if yes - explain what has been changed and why_ + **Implementation Notes** -_Provide any relevant details about how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_ + **Post Submission Checklist** -_Please check the fields below as they are completed **after** the pull request has been submitted. Delete lines that don't apply_ + - [ ] The feature or features in this pull request is complete - [ ] Licensing information is complete @@ -39,6 +39,6 @@ _Please check the fields below as they are completed **after** the pull request **Further Information, Files, and Links** -_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_ + diff --git a/.github/PULL_REQUEST_TEMPLATE/bug_fix.md b/.github/PULL_REQUEST_TEMPLATE/bug_fix.md index cea04c68735160a1357446dd05772f9b83f2b397..a5a0b8c489843399dac6f16540bb29c6e65f19f5 100644 --- a/.github/PULL_REQUEST_TEMPLATE/bug_fix.md +++ b/.github/PULL_REQUEST_TEMPLATE/bug_fix.md @@ -9,15 +9,15 @@ assignees: '' **Summary** -_Briefly describe the bug or bugs, that are eliminated by this pull request._ + **Related Issue(s)** -_If this request addresses or is related to an existing (open) GitHub issue, e.g. a bug report, mention the issue number number here following a pound sign (aka hashmark), e.g.`#222`._ + **Author(s)** -_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_ + **Licensing** @@ -25,18 +25,18 @@ By submitting this pull request I implicitly accept, that my submission is subje **Backward Compatibility** -_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_ + **Detailed Description** -_Provide any relevant details about how the fixed bug can be reproduced, how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_ + ## Post Submission Checklist -_Please check the fields below as they are completed *after* the pull request is submitted_ + - [ ] The code in this pull request is complete - [ ] The source code follows the LAMMPS formatting guidelines ## Further Information, Files, and Links -_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. to download input decks for testing)_ + diff --git a/.github/PULL_REQUEST_TEMPLATE/maintenance_refactoring.md b/.github/PULL_REQUEST_TEMPLATE/maintenance_refactoring.md index b3599cb36d5c62f23a020687db7f20531ce6b4a4..b7bf40a1e87b893f4db58e833a7cf8cc97eaba17 100644 --- a/.github/PULL_REQUEST_TEMPLATE/maintenance_refactoring.md +++ b/.github/PULL_REQUEST_TEMPLATE/maintenance_refactoring.md @@ -9,15 +9,15 @@ assignees: '' **Summary** -_Briefly describe the included changes._ + **Related Issue(s)** -_If this request addresses or is related to an existing (open) GitHub issue, e.g. a bug report, mention the issue number number here following a pound sign (aka hashmark), e.g.`#222`. + **Licensing** @@ -25,11 +25,11 @@ By submitting this pull request I implicitly accept, that my submission is subje **Detailed Description** -_Provide any relevant details about the included changes._ + ## Post Submission Checklist -_Please check the fields below as they are completed *after* the pull request is submitted_ + - [ ] The pull request is complete - [ ] The source code follows the LAMMPS formatting guidelines diff --git a/.github/PULL_REQUEST_TEMPLATE/new_feature.md b/.github/PULL_REQUEST_TEMPLATE/new_feature.md index e9d16a0fc7fff973034c4edce0c41c5818ae9ad7..563a9be4aad9651b7a88cae94a9e0806e48900c5 100644 --- a/.github/PULL_REQUEST_TEMPLATE/new_feature.md +++ b/.github/PULL_REQUEST_TEMPLATE/new_feature.md @@ -9,34 +9,34 @@ assignees: '' **Summary** -_Briefly describe the new feature(s) included in this pull request._ + **Related Issues** -_If this addresses an existing (open) GitHub issue, e.g. a feature request, mention the issue number here following a pound sign (aka hashmark), e.g. `#331`._ + **Author(s)** -_Please state name and affiliation of the author or authors that should be credited with the features added in this pull request. Please provide a suitable "long-lived" e-mail address (e.g. from gmail, yahoo, outlook, etc.) for the *corresponding* author, i.e. the person the LAMMPS developers can contact directly with questions and requests related to maintenance and support of this code. now and in the future_ + **Licensing** -_Please add *yes* or *no* to the following two statements (please contact @lammps/core if you have questions about this)_ + My contribution may be licensed as GPL v2 (default LAMMPS license): My contribution may be licensed as LGPL (for use as a library with proprietary software): **Backward Compatibility** -_Please state if any of the changes in this pull request will affect backward compatibility for inputs, and - if yes - explain what has been changed and why_ + **Implementation Notes** -_Provide any relevant details about how the new features are implemented, how correctness was verified, what platforms (OS, compiler, MPI, hardware, number of processors, accelerator(s)) it was tested on_ + ## Post Submission Checklist -_Please check the fields below as they are completed *after* the pull request has been submitted_ + - [ ] The feature or features in this pull request is complete - [ ] Licensing information is complete @@ -51,6 +51,6 @@ _Please check the fields below as they are completed *after* the pull request ha ## Further Information, Files, and Links -_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_ + diff --git a/.github/PULL_REQUEST_TEMPLATE/update_enhancement.md b/.github/PULL_REQUEST_TEMPLATE/update_enhancement.md index 52ef91e6c10909afe74c89a04fb390459267b955..9edfb587c04470dfa00bf0a63ad127e6944b2f92 100644 --- a/.github/PULL_REQUEST_TEMPLATE/update_enhancement.md +++ b/.github/PULL_REQUEST_TEMPLATE/update_enhancement.md @@ -9,11 +9,11 @@ assignees: '' **Summary** -_Briefly describe what kind of updates or enhancements for a package or feature are included. If you are not the original author of the package or feature, please mention, whether your contribution was created independently or in collaboration/cooperation with the original author._ + **Author(s)** -_Please state name and affiliation of the author or authors that should be credited with the changes in this pull request_ + **Licensing** @@ -21,15 +21,15 @@ By submitting this pull request I implicitly accept, that my submission is subje **Backward Compatibility** -_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_ + **Implementation Notes** -_Provide any relevant details about how the changes are implemented, how correctness was verified, how other features - if any - in LAMMPS are affected_ + **Post Submission Checklist** -_Please check the fields below as they are completed_ + - [ ] The feature or features in this pull request is complete - [ ] Suitable updates to the existing docs are included - [ ] One or more example input decks are included @@ -37,6 +37,6 @@ _Please check the fields below as they are completed_ **Further Information, Files, and Links** -_Put any additional information here, attach relevant text or image files, and URLs to external sites (e.g. DOIs or webpages)_ + diff --git a/.gitignore b/.gitignore index f9dda49da647a4fd029fc9a905d869cc3bb47dee..5c90b0f39c11771629f97608e916077b46999ffe 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ *.d *.x *.exe +*.sif *.dll *.pyc __pycache__ @@ -26,6 +27,7 @@ vgcore.* .vagrant \#*# .#* +.vscode .DS_Store .DS_Store? diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 92293f294b96f2b77671cf1927259df4e8552f06..d9c82678eb85857a8e43a8702e72cd89417eef56 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -2,7 +2,7 @@ # CMake build system # This file is part of LAMMPS # Created by Christoph Junghans and Richard Berger -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.10) project(lammps CXX) set(SOVERSION 0) @@ -21,22 +21,16 @@ if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "default install path" FORCE ) endif() -# To avoid conflicts with the conventional Makefile build system, we build everything here -file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/[^.]*.cpp) -file(GLOB LMP_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp) -list(REMOVE_ITEM LIB_SOURCES ${LMP_SOURCES}) - # Cmake modules/macros are in a subdirectory to keep this file cleaner set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules) include(LAMMPSUtils) -get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h LAMMPS_VERSION) +get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h PROJECT_VERSION) include(PreventInSourceBuilds) if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS) - #release comes with -O3 by default set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS) string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE) @@ -52,116 +46,85 @@ check_for_autogen_files(${LAMMPS_SOURCE_DIR}) include(CheckCCompilerFlag) include(CheckIncludeFileCXX) +# set required compiler flags and compiler/CPU arch specific optimizations if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict -std=c++11") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict") + if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4) + set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512") + else() + set(CMAKE_TUNE_DEFAULT "-xHost") + endif() endif() -option(DISABLE_CXX11_REQUIREMENT "Disable check that requires C++11 for compiling LAMMPS" OFF) -if(DISABLE_CXX11_REQUIREMENT) - add_definitions(-DLAMMPS_CXX98) -# else() -# set(CMAKE_CXX_STANDARD 11) +if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") + set(CMAKE_TUNE_DEFAULT "-ffast-math -march=native") endif() -# GNU compiler features +if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") + set(CMAKE_TUNE_DEFAULT "-ffast-math -march=native") +endif() + +# we require C++11 without extensions +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +# GNU compiler specific features for testing if (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") - option(ENABLE_COVERAGE "Enable code coverage" OFF) + option(ENABLE_COVERAGE "Enable collecting code coverage data" OFF) mark_as_advanced(ENABLE_COVERAGE) if(ENABLE_COVERAGE) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") endif() - option(ENABLE_SANITIZE_ADDRESS "Enable address sanitizer" OFF) - mark_as_advanced(ENABLE_SANITIZE_ADDRESS) - if(ENABLE_SANITIZE_ADDRESS) - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address") - endif() - option(ENABLE_SANITIZE_UNDEFINED "Enable undefined behavior sanitizer" OFF) - mark_as_advanced(ENABLE_SANITIZE_UNDEFINED) - if(ENABLE_SANITIZE_UNDEFINED) - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined") - endif() - option(ENABLE_SANITIZE_THREAD "Enable thread sanitizer" OFF) - mark_as_advanced(ENABLE_SANITIZE_THREAD) - if(ENABLE_SANITIZE_THREAD) - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread") - endif() endif() ######################################################################## # User input options # ######################################################################## -option(BUILD_EXE "Build lmp binary" ON) -if(BUILD_EXE) - set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically") - mark_as_advanced(LAMMPS_MACHINE) - if(LAMMPS_MACHINE) - set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}") - endif() - set(LAMMPS_BINARY lmp${LAMMPS_MACHINE}) +set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically") +mark_as_advanced(LAMMPS_MACHINE) +if(LAMMPS_MACHINE) + set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}") endif() +set(LAMMPS_BINARY lmp${LAMMPS_MACHINE}) -option(BUILD_LIB "Build LAMMPS library" OFF) -if(BUILD_LIB) - option(BUILD_SHARED_LIBS "Build shared library" OFF) - if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg - set(CMAKE_POSITION_INDEPENDENT_CODE ON) - endif() - set(LAMMPS_LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file") - mark_as_advanced(LAMMPS_LIB_SUFFIX) - if(LAMMPS_LIB_SUFFIX) - set(LAMMPS_LIB_SUFFIX "_${LAMMPS_LIB_SUFFIX}") - endif() +option(BUILD_SHARED_LIBS "Build shared library" OFF) +if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg + set(CMAKE_POSITION_INDEPENDENT_CODE ON) endif() option(BUILD_TOOLS "Build and install LAMMPS tools (msi2lmp, binary2txt, chain)" OFF) -if(NOT BUILD_EXE AND NOT BUILD_LIB) - message(FATAL_ERROR "You need to at least enable one of two following options: BUILD_LIB or BUILD_EXE") -endif() - -option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) include(GNUInstallDirs) +file(GLOB ALL_SOURCES ${LAMMPS_SOURCE_DIR}/[^.]*.cpp) +file(GLOB MAIN_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp) +list(REMOVE_ITEM ALL_SOURCES ${MAIN_SOURCES}) +add_library(lammps ${ALL_SOURCES}) +add_executable(lmp ${MAIN_SOURCES}) +target_link_libraries(lmp PRIVATE lammps) +set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY}) +install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR}) -set(LAMMPS_LINK_LIBS) -set(LAMMPS_DEPS) -set(LAMMPS_API_DEFINES) +option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) -set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE +set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MOLECULE PERI POEMS QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI - USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS + USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE - USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC - USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF - USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-ADIOS) -set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) -foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES}) + USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REACTION + USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY + USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-ADIOS) +set(SUFFIX_PACKAGES CORESHELL USER-OMP KOKKOS OPT USER-INTEL GPU) +foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) option(PKG_${PKG} "Build ${PKG} Package" OFF) endforeach() -###################################################### -# download and unpack support binaries for compilation -# of windows binaries. -###################################################### -if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - set(LAMMPS_THIRDPARTY_URL "http://download.lammps.org/thirdparty") - file(DOWNLOAD "${LAMMPS_THIRDPARTY_URL}/opencl-win-devel.tar.gz" "${CMAKE_CURRENT_BINARY_DIR}/opencl-win-devel.tar.gz" - EXPECTED_MD5 2c00364888d5671195598b44c2e0d44d) - execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf opencl-win-devel.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86") - set(OpenCL_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win32/libOpenCL.dll") - elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64") - set(OpenCL_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win64/libOpenCL.dll") - endif() - set(OpenCL_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/include") -endif() - -###################################################### ###################################################### # packages with special compiler needs or external libs ###################################################### -include_directories(${LAMMPS_SOURCE_DIR}) +target_include_directories(lammps PUBLIC $) if(PKG_USER-ADIOS) # The search for ADIOS2 must come before MPI because @@ -169,27 +132,47 @@ if(PKG_USER-ADIOS) # script that defines the MPI::MPI_C target enable_language(C) find_package(ADIOS2 REQUIRED) - list(APPEND LAMMPS_LINK_LIBS adios2::adios2) + target_link_libraries(lammps PRIVATE adios2::adios2) +endif() + +if(NOT CMAKE_CROSSCOMPILING) + set(MPI_CXX_SKIP_MPICXX TRUE) + find_package(MPI QUIET) + option(BUILD_MPI "Build MPI version" ${MPI_FOUND}) +else() + option(BUILD_MPI "Build MPI version" OFF) endif() -# do MPI detection after language activation, if MPI for these language is required -set(MPI_CXX_SKIP_MPICXX TRUE) -find_package(MPI QUIET) -option(BUILD_MPI "Build MPI version" ${MPI_FOUND}) if(BUILD_MPI) - find_package(MPI REQUIRED) - include_directories(${MPI_CXX_INCLUDE_PATH}) - list(APPEND LAMMPS_LINK_LIBS ${MPI_CXX_LIBRARIES}) - option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF) - if(LAMMPS_LONGLONG_TO_LONG) - add_definitions(-DLAMMPS_LONGLONG_TO_LONG) + # We use a non-standard procedure to cross-compile with MPI on Windows + if((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING) + include(MPI4WIN) + target_link_libraries(lammps PUBLIC MPI::MPI_CXX) + else() + find_package(MPI REQUIRED) + target_link_libraries(lammps PUBLIC MPI::MPI_CXX) + option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF) + if(LAMMPS_LONGLONG_TO_LONG) + target_compile_definitions(lammps PRIVATE -DLAMMPS_LONGLONG_TO_LONG) + endif() endif() else() enable_language(C) file(GLOB MPI_SOURCES ${LAMMPS_SOURCE_DIR}/STUBS/mpi.c) add_library(mpi_stubs STATIC ${MPI_SOURCES}) - include_directories(${LAMMPS_SOURCE_DIR}/STUBS) - list(APPEND LAMMPS_LINK_LIBS mpi_stubs) + if(NOT BUILD_SHARED_LIBS) + install(TARGETS mpi_stubs EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + set_target_properties(mpi_stubs PROPERTIES OUTPUT_NAME lammps_mpi_stubs${LAMMPS_MACHINE}) + target_include_directories(mpi_stubs PUBLIC $ $) + install(FILES ${LAMMPS_SOURCE_DIR}/STUBS/mpi.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps/mpi) + if(BUILD_SHARED_LIBS) + target_link_libraries(lammps PRIVATE mpi_stubs) + target_include_directories(lammps INTERFACE $ $) + else() + target_link_libraries(lammps PUBLIC mpi_stubs) + endif() + add_library(MPI::MPI_CXX ALIAS mpi_stubs) endif() set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)") @@ -197,8 +180,7 @@ set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall) set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES}) validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES) string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES) -add_definitions(-DLAMMPS_${LAMMPS_SIZES}) -set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_${LAMMPS_SIZES}") +target_compile_definitions(lammps PUBLIC -DLAMMPS_${LAMMPS_SIZES}) # posix_memalign is not available on Windows if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") @@ -207,13 +189,12 @@ else() set(LAMMPS_MEMALIGN "64" CACHE STRING "enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS. Set to 0 to disable") endif() if(NOT ${LAMMPS_MEMALIGN} STREQUAL "0") - add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN}) + target_compile_definitions(lammps PRIVATE -DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN}) endif() option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" OFF) if(LAMMPS_EXCEPTIONS) - add_definitions(-DLAMMPS_EXCEPTIONS) - set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_EXCEPTIONS") + target_compile_definitions(lammps PUBLIC -DLAMMPS_EXCEPTIONS) endif() # "hard" dependencies between packages resulting @@ -224,27 +205,36 @@ pkg_depends(USER-LB MPI) pkg_depends(USER-PHONON KSPACE) pkg_depends(USER-SCAFACOS MPI) +# detect if we may enable OpenMP support by default +set(BUILD_OMP_DEFAULT OFF) find_package(OpenMP QUIET) - -# TODO: this is a temporary workaround until a better solution is found. AK 2019-05-30 -# GNU GCC 9.x uses settings incompatible with our use of 'default(none)' in OpenMP pragmas -# where we assume older GCC semantics. For the time being, we disable OpenMP by default -# for GCC 9.x and beyond. People may manually turn it on, but need to run the script -# src/USER-OMP/hack_openmp_for_pgi_gcc9.sh on all sources to make it compatible with gcc 9. -if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.99.9)) - option(BUILD_OMP "Build with OpenMP support" OFF) -else() - option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND}) +if(OpenMP_FOUND) + check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE) + if(HAVE_OMP_H_INCLUDE) + set(BUILD_OMP_DEFAULT ON) + endif() endif() +option(BUILD_OMP "Build with OpenMP support" ${BUILD_OMP_DEFAULT}) + if(BUILD_OMP) find_package(OpenMP REQUIRED) check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE) if(NOT HAVE_OMP_H_INCLUDE) - message(FATAL_ERROR "Cannot find required 'omp.h' header file") + message(FATAL_ERROR "Cannot find the 'omp.h' header file required for full OpenMP support") + endif() + + if (((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.99.9)) OR + ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.99.9)) OR + ((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 18.99.9)) + ) + # GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts. + # Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe. + target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=4) + else() + target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=3) endif() - set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX) endif() if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE) @@ -252,14 +242,19 @@ if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE) find_package(LAPACK) find_package(BLAS) if(NOT LAPACK_FOUND OR NOT BLAS_FOUND) - if(CMAKE_GENERATOR STREQUAL "Ninja") - status(FATAL_ERROR "Cannot build internal linear algebra library with Ninja build tool due to lack for Fortran support") + include(CheckGeneratorSupport) + if(NOT CMAKE_GENERATOR_SUPPORT_FORTRAN) + status(FATAL_ERROR "Cannot build internal linear algebra library as CMake build tool lacks Fortran support") endif() enable_language(Fortran) file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/[^.]*.[fF]) add_library(linalg STATIC ${LAPACK_SOURCES}) - set(BLAS_LIBRARIES linalg) - set(LAPACK_LIBRARIES linalg) + if(NOT BUILD_SHARED_LIBS) + install(TARGETS linalg EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + set_target_properties(linalg PROPERTIES OUTPUT_NAME lammps_linalg${LAMMPS_MACHINE}) + set(BLAS_LIBRARIES "$") + set(LAPACK_LIBRARIES "$") else() list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES}) endif() @@ -270,9 +265,13 @@ find_package(JPEG QUIET) option(WITH_JPEG "Enable JPEG support" ${JPEG_FOUND}) if(WITH_JPEG) find_package(JPEG REQUIRED) - add_definitions(-DLAMMPS_JPEG) - include_directories(${JPEG_INCLUDE_DIR}) - list(APPEND LAMMPS_LINK_LIBS ${JPEG_LIBRARIES}) + target_compile_definitions(lammps PRIVATE -DLAMMPS_JPEG) + if(CMAKE_VERSION VERSION_LESS 3.12) + target_include_directories(lammps PRIVATE ${JPEG_INCLUDE_DIR}) + target_link_libraries(lammps PRIVATE ${JPEG_LIBRARIES}) + else() + target_link_libraries(lammps PRIVATE JPEG::JPEG) + endif() endif() find_package(PNG QUIET) @@ -285,9 +284,8 @@ endif() if(WITH_PNG) find_package(PNG REQUIRED) find_package(ZLIB REQUIRED) - include_directories(${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS}) - list(APPEND LAMMPS_LINK_LIBS ${PNG_LIBRARIES} ${ZLIB_LIBRARIES}) - add_definitions(-DLAMMPS_PNG) + target_link_libraries(lammps PRIVATE PNG::PNG ZLIB::ZLIB) + target_compile_definitions(lammps PRIVATE -DLAMMPS_PNG) endif() find_program(GZIP_EXECUTABLE gzip) @@ -297,7 +295,7 @@ if(WITH_GZIP) if(NOT GZIP_FOUND) message(FATAL_ERROR "gzip executable not found") endif() - add_definitions(-DLAMMPS_GZIP) + target_compile_definitions(lammps PRIVATE -DLAMMPS_GZIP) endif() find_program(FFMPEG_EXECUTABLE ffmpeg) @@ -307,7 +305,7 @@ if(WITH_FFMPEG) if(NOT FFMPEG_FOUND) message(FATAL_ERROR "ffmpeg executable not found") endif() - add_definitions(-DLAMMPS_FFMPEG) + target_compile_definitions(lammps PRIVATE -DLAMMPS_FFMPEG) endif() if(BUILD_SHARED_LIBS) @@ -320,29 +318,25 @@ else() set(CUDA_REQUEST_PIC) endif() -include(Packages/KSPACE) -include(Packages/PYTHON) -include(Packages/VORONOI) -include(Packages/USER-COLVARS) -include(Packages/USER-MOLFILE) -include(Packages/USER-NETCDF) -include(Packages/USER-PLUMED) -include(Packages/USER-QMMM) -include(Packages/USER-QUIP) -include(Packages/USER-SCAFACOS) -include(Packages/USER-SMD) -include(Packages/USER-VTK) -include(Packages/KIM) -include(Packages/LATTE) -include(Packages/MESSAGE) -include(Packages/MSCG) -include(Packages/COMPRESS) - -# the windows version of LAMMPS requires a couple extra libraries -if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - list(APPEND LAMMPS_LINK_LIBS -lwsock32 -lpsapi) -endif() +foreach(PKG_WITH_INCL KSPACE PYTHON VORONOI USER-COLVARS USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM + USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS) + if(PKG_${PKG_WITH_INCL}) + include(Packages/${PKG_WITH_INCL}) + endif() +endforeach() +set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler specific optimization or instrumentation") +separate_arguments(CMAKE_TUNE_FLAGS) +include(CheckCXXCompilerFlag) +foreach(_FLAG ${CMAKE_TUNE_FLAGS}) + string(REGEX REPLACE "[=\"]" "" _FLAGX ${_FLAG}) + check_cxx_compiler_flag("${_FLAG}" COMPILER_SUPPORTS${_FLAGX}) + if(COMPILER_SUPPORTS${_FLAGX}) + target_compile_options(lammps PRIVATE ${_FLAG}) + else() + message(WARNING "${_FLAG} found in CMAKE_TUNE_FLAGS, but not supported by the compiler, skipping") + endif() +endforeach() ######################################################################## # Basic system tests (standard libraries, headers, functions, types) # ######################################################################## @@ -355,18 +349,7 @@ endforeach(HEADER) set(MATH_LIBRARIES "m" CACHE STRING "math library") mark_as_advanced( MATH_LIBRARIES ) -include(CheckLibraryExists) -if (CMAKE_VERSION VERSION_LESS "3.4") - enable_language(C) # check_library_exists isn't supported without a C compiler before v3.4 -endif() -# RB: disabled this check because it breaks with KOKKOS CUDA enabled -#foreach(FUNC sin cos) -# check_library_exists(${MATH_LIBRARIES} ${FUNC} "" FOUND_${FUNC}_${MATH_LIBRARIES}) -# if(NOT FOUND_${FUNC}_${MATH_LIBRARIES}) -# message(FATAL_ERROR "Could not find needed math function - ${FUNC}") -# endif(NOT FOUND_${FUNC}_${MATH_LIBRARIES}) -#endforeach(FUNC) -list(APPEND LAMMPS_LINK_LIBS ${MATH_LIBRARIES}) +target_link_libraries(lammps PRIVATE ${MATH_LIBRARIES}) ###################################### # Generate Basic Style files @@ -377,7 +360,7 @@ RegisterStyles(${LAMMPS_SOURCE_DIR}) ############################################## # add sources of enabled packages ############################################ -foreach(PKG ${DEFAULT_PACKAGES}) +foreach(PKG ${STANDARD_PACKAGES}) set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp) @@ -390,8 +373,8 @@ foreach(PKG ${DEFAULT_PACKAGES}) # detects styles in package and adds them to global list RegisterStyles(${${PKG}_SOURCES_DIR}) - list(APPEND LIB_SOURCES ${${PKG}_SOURCES}) - include_directories(${${PKG}_SOURCES_DIR}) + target_sources(lammps PRIVATE ${${PKG}_SOURCES}) + target_include_directories(lammps PRIVATE ${${PKG}_SOURCES_DIR}) endif() RegisterPackages(${${PKG}_SOURCES_DIR}) @@ -400,12 +383,12 @@ endforeach() # packages that need defines set foreach(PKG MPIIO) if(PKG_${PKG}) - add_definitions(-DLMP_${PKG}) + target_compile_definitions(lammps PRIVATE -DLMP_${PKG}) endif() endforeach() # dedicated check for entire contents of accelerator packages -foreach(PKG ${ACCEL_PACKAGES}) +foreach(PKG ${SUFFIX_PACKAGES}) set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG}) file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/[^.]*.cpp) @@ -420,16 +403,19 @@ endforeach() ############################################## # add lib sources of (simple) enabled packages ############################################ -foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-QMMM) +foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD) if(PKG_${SIMPLE_LIB}) string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}") string(TOLOWER "${PKG_LIB}" PKG_LIB) file(GLOB_RECURSE ${PKG_LIB}_SOURCES - ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.F ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.c ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.cpp) add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES}) - list(APPEND LAMMPS_LINK_LIBS ${PKG_LIB}) + if(NOT BUILD_SHARED_LIBS) + install(TARGETS ${PKG_LIB} EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() + set_target_properties(${PKG_LIB} PROPERTIES OUTPUT_NAME lammps_${PKG_LIB}${LAMMPS_MACHINE}) + target_link_libraries(lammps PRIVATE ${PKG_LIB}) if(PKG_LIB STREQUAL awpmd) target_include_directories(awpmd PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/awpmd/systems/interact ${LAMMPS_LIB_SOURCE_DIR}/awpmd/ivutils/include) elseif(PKG_LIB STREQUAL h5md) @@ -441,30 +427,40 @@ foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-QMMM) endforeach() if(PKG_USER-AWPMD) - target_link_libraries(awpmd ${LAPACK_LIBRARIES}) + target_link_libraries(awpmd PRIVATE ${LAPACK_LIBRARIES}) endif() if(PKG_USER-ATC) if(LAMMPS_SIZES STREQUAL BIGBIG) message(FATAL_ERROR "The USER-ATC Package is not compatible with -DLAMMPS_BIGBIG") endif() - target_link_libraries(atc ${LAPACK_LIBRARIES}) + target_link_libraries(atc PRIVATE ${LAPACK_LIBRARIES} MPI::MPI_CXX) + target_include_directories(atc PRIVATE ${LAMMPS_SOURCE_DIR}) + target_compile_definitions(atc PRIVATE -DLAMMPS_${LAMMPS_SIZES}) endif() -include(Packages/USER-H5MD) +if(PKG_USER-H5MD) + include(Packages/USER-H5MD) +endif() ###################################################################### # packages which selectively include variants based on enabled styles # e.g. accelerator packages ###################################################################### -include(Packages/CORESHELL) -include(Packages/QEQ) -include(Packages/USER-OMP) -include(Packages/USER-SDPD) -include(Packages/KOKKOS) -include(Packages/OPT) -include(Packages/USER-INTEL) -include(Packages/GPU) +foreach(PKG_WITH_INCL CORESHELL QEQ USER-OMP USER-SDPD KOKKOS OPT USER-INTEL GPU) + if(PKG_${PKG_WITH_INCL}) + include(Packages/${PKG_WITH_INCL}) + endif() +endforeach() + +###################################################################### +# the windows version of LAMMPS requires a couple extra libraries +# and the MPI library - if use - has to be linked right before those +# and after everything else that is compiled locally +###################################################################### +if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + target_link_libraries(lammps PRIVATE -lwsock32 -lpsapi) +endif() ###################################################### # Generate style headers based on global list of @@ -476,14 +472,14 @@ set(LAMMPS_STYLE_HEADERS_DIR ${CMAKE_CURRENT_BINARY_DIR}/styles) GenerateStyleHeaders(${LAMMPS_STYLE_HEADERS_DIR}) GeneratePackagesHeaders(${LAMMPS_STYLE_HEADERS_DIR}) -include_directories(${LAMMPS_STYLE_HEADERS_DIR}) +target_include_directories(lammps PRIVATE ${LAMMPS_STYLE_HEADERS_DIR}) ###################################### # Generate lmpinstalledpkgs.h ###################################### set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n") set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n") -set(temp_PKG_LIST ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES}) +set(temp_PKG_LIST ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) list(SORT temp_PKG_LIST) foreach(PKG ${temp_PKG_LIST}) if(PKG_${PKG}) @@ -505,7 +501,7 @@ add_custom_target(gitversion COMMAND ${CMAKE_COMMAND} -DLAMMPS_STYLE_HEADERS_DIR="${LAMMPS_STYLE_HEADERS_DIR}" -P ${CMAKE_CURRENT_SOURCE_DIR}/Modules/generate_lmpgitversion.cmake) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${LAMMPS_STYLE_HEADERS_DIR}/gitversion.h) -list(APPEND LAMMPS_DEPS gitversion) +add_dependencies(lammps gitversion) ########################################### # Actually add executable and lib to build @@ -513,95 +509,64 @@ list(APPEND LAMMPS_DEPS gitversion) get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES) list (FIND LANGUAGES "Fortran" _index) if (${_index} GREATER -1) - list(APPEND LAMMPS_LINK_LIBS ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES}) -endif() -list(REMOVE_DUPLICATES LAMMPS_LINK_LIBS) -if(BUILD_LIB) - add_library(lammps ${LIB_SOURCES}) - target_link_libraries(lammps ${LAMMPS_LINK_LIBS}) - if(LAMMPS_DEPS) - add_dependencies(lammps ${LAMMPS_DEPS}) - endif() - set(LAMMPS_CXX_HEADERS - ${LAMMPS_SOURCE_DIR}/angle.h - ${LAMMPS_SOURCE_DIR}/atom.h - ${LAMMPS_SOURCE_DIR}/bond.h - ${LAMMPS_SOURCE_DIR}/citeme.h - ${LAMMPS_SOURCE_DIR}/comm.h - ${LAMMPS_SOURCE_DIR}/compute.h - ${LAMMPS_SOURCE_DIR}/dihedral.h - ${LAMMPS_SOURCE_DIR}/domain.h - ${LAMMPS_SOURCE_DIR}/error.h - ${LAMMPS_SOURCE_DIR}/fix.h - ${LAMMPS_SOURCE_DIR}/force.h - ${LAMMPS_SOURCE_DIR}/group.h - ${LAMMPS_SOURCE_DIR}/improper.h - ${LAMMPS_SOURCE_DIR}/input.h - ${LAMMPS_SOURCE_DIR}/kspace.h - ${LAMMPS_SOURCE_DIR}/lammps.h - ${LAMMPS_SOURCE_DIR}/lattice.h - ${LAMMPS_SOURCE_DIR}/lmppython.h - ${LAMMPS_SOURCE_DIR}/memory.h - ${LAMMPS_SOURCE_DIR}/modify.h - ${LAMMPS_SOURCE_DIR}/neighbor.h - ${LAMMPS_SOURCE_DIR}/neigh_list.h - ${LAMMPS_SOURCE_DIR}/output.h - ${LAMMPS_SOURCE_DIR}/pair.h - ${LAMMPS_SOURCE_DIR}/pointers.h - ${LAMMPS_SOURCE_DIR}/region.h - ${LAMMPS_SOURCE_DIR}/timer.h - ${LAMMPS_SOURCE_DIR}/universe.h - ${LAMMPS_SOURCE_DIR}/update.h - ${LAMMPS_SOURCE_DIR}/variable.h) - - set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_LIB_SUFFIX}) - set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION}) - install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) - install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) - install(FILES ${LAMMPS_CXX_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) - configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - configure_file(FindLAMMPS.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake @ONLY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Modules) -else() - list(APPEND LMP_SOURCES ${LIB_SOURCES}) -endif() - -if(BUILD_EXE) - add_executable(lmp ${LMP_SOURCES}) - if(BUILD_LIB) - target_link_libraries(lmp lammps) - else() - target_link_libraries(lmp ${LAMMPS_LINK_LIBS}) - if(LAMMPS_DEPS) - add_dependencies(lmp ${LAMMPS_DEPS}) - endif() - endif() - - set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY}) - install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR}) - install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME ${LAMMPS_BINARY}.1) + target_link_libraries(lammps PRIVATE ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES}) endif() +set(LAMMPS_CXX_HEADERS angle.h atom.h bond.h citeme.h comm.h compute.h dihedral.h domain.h error.h fix.h force.h group.h improper.h + input.h info.h kspace.h lammps.h lattice.h library.h lmppython.h lmptype.h memory.h modify.h neighbor.h neigh_list.h output.h + pair.h pointers.h region.h timer.h universe.h update.h variable.h) +if(LAMMPS_EXCEPTIONS) + list(APPEND LAMMPS_CXX_HEADERS exceptions.h) +endif() + +set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_MACHINE}) +set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION}) +install(TARGETS lammps EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +target_include_directories(lammps PUBLIC $) +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps) +foreach(_HEADER ${LAMMPS_CXX_HEADERS}) + add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps/${_HEADER} COMMAND ${CMAKE_COMMAND} -E copy_if_different ${LAMMPS_SOURCE_DIR}/${_HEADER} ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps/${_HEADER} DEPENDS ${LAMMPS_SOURCE_DIR}/${_HEADER}) + add_custom_target(${_HEADER} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/includes/lammps/${_HEADER}) + add_dependencies(lammps ${_HEADER}) + install(FILES ${LAMMPS_SOURCE_DIR}/${_HEADER} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps) +endforeach() +target_include_directories(lammps INTERFACE $) +add_library(LAMMPS::lammps ALIAS lammps) +get_target_property(LAMMPS_DEFINES lammps INTERFACE_COMPILE_DEFINITIONS) +set(LAMMPS_API_DEFINES) +foreach(_DEF ${LAMMPS_DEFINES}) + set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -D${_DEF}") +endforeach() +configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc @ONLY) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +install(EXPORT LAMMPS_Targets FILE LAMMPS_Targets.cmake NAMESPACE LAMMPS:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS) +file(GLOB MODULE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/Modules/Find*.cmake) +install(FILES ${MODULE_FILES} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS) +include(CMakePackageConfigHelpers) +configure_file(LAMMPSConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfig.cmake @ONLY) +write_basic_package_version_file("LAMMPSConfigVersion.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY ExactVersion) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/LAMMPSConfigVersion.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LAMMPS) +install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME ${LAMMPS_BINARY}.1) if(BUILD_TOOLS) add_executable(binary2txt ${LAMMPS_TOOLS_DIR}/binary2txt.cpp) + target_compile_definitions(binary2txt PRIVATE -DLAMMPS_${LAMMPS_SIZES}) install(TARGETS binary2txt DESTINATION ${CMAKE_INSTALL_BINDIR}) - # ninja-build currently does not support fortran. thus we skip building this tool - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(STATUS "Skipping building 'chain.x' with Ninja build tool due to lack of Fortran support") - else() + include(CheckGeneratorSupport) + if(CMAKE_GENERATOR_SUPPORT_FORTRAN) enable_language(Fortran) add_executable(chain.x ${LAMMPS_TOOLS_DIR}/chain.f) - target_link_libraries(chain.x ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES}) + target_link_libraries(chain.x PRIVATE ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES}) install(TARGETS chain.x DESTINATION ${CMAKE_INSTALL_BINDIR}) + else() + message(WARNING "CMake build doesn't support fortran, skipping building 'chain.x'") endif() enable_language(C) get_filename_component(MSI2LMP_SOURCE_DIR ${LAMMPS_TOOLS_DIR}/msi2lmp/src ABSOLUTE) file(GLOB MSI2LMP_SOURCES ${MSI2LMP_SOURCE_DIR}/[^.]*.c) add_executable(msi2lmp ${MSI2LMP_SOURCES}) - target_link_libraries(msi2lmp m) + target_link_libraries(msi2lmp PRIVATE ${MATH_LIBRARIES}) install(TARGETS msi2lmp DESTINATION ${CMAKE_INSTALL_BINDIR}) install(FILES ${LAMMPS_DOC_DIR}/msi2lmp.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) endif() @@ -631,12 +596,19 @@ install( # conventional build. Only available, if a shared library is built. # This is primarily for people that only want to use the Python wrapper. ############################################################################### -if(BUILD_LIB AND BUILD_SHARED_LIBS) - find_package(PythonInterp) - if (PYTHONINTERP_FOUND) +if(BUILD_SHARED_LIBS) + if(CMAKE_VERSION VERSION_LESS 3.12) + find_package(PythonInterp) # Deprecated since version 3.12 + if(PYTHONINTERP_FOUND) + set(Python_EXECUTABLE ${PYTHON_EXECUTABLE}) + endif() + else() + find_package(Python COMPONENTS Interpreter) + endif() + if (Python_EXECUTABLE) add_custom_target( install-python - ${PYTHON_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h + ${Python_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h -m ${LAMMPS_PYTHON_DIR}/lammps.py -l ${CMAKE_BINARY_DIR}/liblammps${CMAKE_SHARED_LIBRARY_SUFFIX} WORKING_DIRECTORY ${LAMMPS_PYTHON_DIR} @@ -657,10 +629,17 @@ endif() # LAMMPS for package managers and with different prefix settings. # This requires either a shared library or that the PYTHON package is included. ############################################################################### -if((BUILD_LIB AND BUILD_SHARED_LIBS) OR (PKG_PYTHON)) - find_package(PythonInterp) - if (PYTHONINTERP_FOUND) - execute_process(COMMAND ${PYTHON_EXECUTABLE} +if(BUILD_SHARED_LIBS OR PKG_PYTHON) + if(CMAKE_VERSION VERSION_LESS 3.12) + find_package(PythonInterp) # Deprecated since version 3.12 + if(PYTHONINTERP_FOUND) + set(Python_EXECUTABLE ${PYTHON_EXECUTABLE}) + endif() + else() + find_package(Python COMPONENTS Interpreter) + endif() + if (Python_EXECUTABLE) + 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_DEFAULT_INSTDIR OUTPUT_STRIP_TRAILING_WHITESPACE) set(PYTHON_INSTDIR ${PYTHON_DEFAULT_INSTDIR} CACHE PATH "Installation folder for LAMMPS Python module") @@ -674,69 +653,103 @@ include(CodeCoverage) ############################################################################### # Print package summary ############################################################################### -foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES}) +foreach(PKG ${STANDARD_PACKAGES} ${SUFFIX_PACKAGES}) if(PKG_${PKG}) message(STATUS "Building package: ${PKG}") endif() endforeach() -get_directory_property(CPPFLAGS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS) +get_target_property(DEFINES lammps COMPILE_DEFINITIONS) include(FeatureSummary) -feature_summary(DESCRIPTION "The following packages have been found:" WHAT PACKAGES_FOUND) +feature_summary(DESCRIPTION "The following tools and libraries have been found and configured:" WHAT PACKAGES_FOUND) message(STATUS "<<< Build configuration >>> - Build type ${CMAKE_BUILD_TYPE} - Install path ${CMAKE_INSTALL_PREFIX} - Compilers and Flags: - C++ Compiler ${CMAKE_CXX_COMPILER} - Type ${CMAKE_CXX_COMPILER_ID} - Version ${CMAKE_CXX_COMPILER_VERSION} - C++ Flags ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}} - Defines ${CPPFLAGS}") + Build type: ${CMAKE_BUILD_TYPE} + Install path: ${CMAKE_INSTALL_PREFIX} + Generator: ${CMAKE_GENERATOR} using ${CMAKE_MAKE_PROGRAM} +-- <<< Compilers and Flags: >>> +-- C++ Compiler: ${CMAKE_CXX_COMPILER} + Type: ${CMAKE_CXX_COMPILER_ID} + Version: ${CMAKE_CXX_COMPILER_VERSION} + C++ Flags: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}} + Defines: ${DEFINES}") +get_target_property(OPTIONS lammps COMPILE_OPTIONS) +if(OPTIONS) + message(" Options: ${OPTIONS}") +endif() get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES) list (FIND LANGUAGES "Fortran" _index) if (${_index} GREATER -1) - message(STATUS "Fortran Compiler ${CMAKE_Fortran_COMPILER} - Type ${CMAKE_Fortran_COMPILER_ID} - Version ${CMAKE_Fortran_COMPILER_VERSION} - Fortran Flags ${CMAKE_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS_${BTYPE}}") + message(STATUS "Fortran Compiler: ${CMAKE_Fortran_COMPILER} + Type: ${CMAKE_Fortran_COMPILER_ID} + Version: ${CMAKE_Fortran_COMPILER_VERSION} + Fortran Flags:${CMAKE_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS_${BTYPE}}") endif() list (FIND LANGUAGES "C" _index) if (${_index} GREATER -1) - message(STATUS "C Compiler ${CMAKE_C_COMPILER} - Type ${CMAKE_C_COMPILER_ID} - Version ${CMAKE_C_COMPILER_VERSION} - C Flags ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${BTYPE}}") + message(STATUS "C compiler: ${CMAKE_C_COMPILER} + Type: ${CMAKE_C_COMPILER_ID} + Version: ${CMAKE_C_COMPILER_VERSION} + C Flags: ${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${BTYPE}}") endif() +message(STATUS "<<< Linker flags: >>>") +message(STATUS "Executable name: ${LAMMPS_BINARY}") if(CMAKE_EXE_LINKER_FLAGS) - message(STATUS "Linker flags: - Executable ${CMAKE_EXE_LINKER_FLAGS}") + message(STATUS "Executable linker flags: ${CMAKE_EXE_LINKER_FLAGS}") endif() if(BUILD_SHARED_LIBS) - message(STATUS "Shared libraries ${CMAKE_SHARED_LINKER_FLAGS}") + message(STATUS "Shared library flags: ${CMAKE_SHARED_LINKER_FLAGS}") else() - message(STATUS "Static libraries ${CMAKE_STATIC_LINKER_FLAGS}") + message(STATUS "Static library flags: ${CMAKE_STATIC_LINKER_FLAGS}") endif() -message(STATUS "Link libraries: ${LAMMPS_LINK_LIBS}") if(BUILD_MPI) - message(STATUS "Using mpi with headers in ${MPI_CXX_INCLUDE_PATH} and ${MPI_CXX_LIBRARIES}") + message(STATUS "<<< MPI flags >>> +-- MPI_defines: ${MPI_CXX_COMPILE_DEFINITIONS} +-- MPI includes: ${MPI_CXX_INCLUDE_PATH} +-- MPI libraries: ${MPI_CXX_LIBRARIES};${MPI_Fortran_LIBRARIES}") endif() if(PKG_GPU) - message(STATUS "GPU Api: ${GPU_API}") + message(STATUS "<<< GPU package settings >>> +-- GPU API: ${GPU_API}") if(GPU_API STREQUAL "CUDA") - message(STATUS "GPU Arch: ${GPU_ARCH}") + message(STATUS "GPU architecture: ${GPU_ARCH}") elseif(GPU_API STREQUAL "OPENCL") - message(STATUS "OCL Tune: ${OCL_TUNE}") + message(STATUS "OpenCL tuning: ${OCL_TUNE}") + elseif(GPU_API STREQUAL "HIP") + message(STATUS "HIP platform: ${HIP_PLATFORM}") + message(STATUS "HIP architecture: ${HIP_ARCH}") + if(HIP_USE_DEVICE_SORT) + message(STATUS "HIP GPU sorting: on") + else() + message(STATUS "HIP GPU sorting: off") + endif() endif() - message(STATUS "GPU Precision: ${GPU_PREC}") + message(STATUS "GPU precision: ${GPU_PREC}") endif() if(PKG_KOKKOS) message(STATUS "Kokkos Arch: ${KOKKOS_ARCH}") endif() if(PKG_KSPACE) - message(STATUS "Using ${FFT} as primary FFT library") + message(STATUS "<<< FFT settings >>> +-- Primary FFT lib: ${FFT}") if(FFT_SINGLE) message(STATUS "Using single precision FFTs") else() message(STATUS "Using double precision FFTs") endif() + if(FFT_FFTW_THREADS OR FFT_MKL_THREADS) + message(STATUS "Using threaded FFTs") + else() + message(STATUS "Using non-threaded FFTs") + endif() + if(PKG_KOKKOS) + if(Kokkos_ENABLE_CUDA) + if (${FFT} STREQUAL "KISS") + message(STATUS "Kokkos FFT: KISS") + else() + message(STATUS "Kokkos FFT: cuFFT") + endif() + else() + message(STATUS "Kokkos FFT: ${FFT}") + endif() + endif() endif() diff --git a/cmake/FindLAMMPS.cmake.in b/cmake/FindLAMMPS.cmake.in deleted file mode 100644 index 586df83c2d080197ea0256794febd395ab81cc63..0000000000000000000000000000000000000000 --- a/cmake/FindLAMMPS.cmake.in +++ /dev/null @@ -1,48 +0,0 @@ -# - Find liblammps -# Find the native liblammps headers and libraries. -# -# The following variables will set: -# LAMMPS_INCLUDE_DIRS - where to find lammps/library.h, etc. -# LAMMPS_LIBRARIES - List of libraries when using lammps. -# LAMMPS_API_DEFINES - lammps library api defines -# LAMMPS_VERSION - lammps library version -# LAMMPS_FOUND - True if liblammps found. -# -# In addition a LAMMPS::LAMMPS imported target is getting created. -# -# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator -# http://lammps.sandia.gov, Sandia National Laboratories -# Steve Plimpton, sjplimp@sandia.gov -# -# Copyright (2003) Sandia Corporation. Under the terms of Contract -# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains -# certain rights in this software. This software is distributed under -# the GNU General Public License. -# -# See the README file in the top-level LAMMPS directory. -# - -find_package(PkgConfig) - -pkg_check_modules(PC_LAMMPS liblammps@LAMMPS_LIB_SUFFIX@) -find_path(LAMMPS_INCLUDE_DIR lammps/library.h HINTS ${PC_LAMMPS_INCLUDE_DIRS} @CMAKE_INSTALL_FULL_INCLUDEDIR@) - -set(LAMMPS_VERSION @LAMMPS_VERSION@) -set(LAMMPS_API_DEFINES @LAMMPS_API_DEFINES@) - -find_library(LAMMPS_LIBRARY NAMES lammps@LAMMPS_LIB_SUFFIX@ HINTS ${PC_LAMMPS_LIBRARY_DIRS} @CMAKE_INSTALL_FULL_LIBDIR@) - -set(LAMMPS_INCLUDE_DIRS "${LAMMPS_INCLUDE_DIR}") -set(LAMMPS_LIBRARIES "${LAMMPS_LIBRARY}") - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set LAMMPS_FOUND to TRUE -# if all listed variables are TRUE -find_package_handle_standard_args(LAMMPS REQUIRED_VARS LAMMPS_LIBRARY LAMMPS_INCLUDE_DIR VERSION_VAR LAMMPS_VERSION) - -mark_as_advanced(LAMMPS_INCLUDE_DIR LAMMPS_LIBRARY) - -if(LAMMPS_FOUND AND NOT TARGET LAMMPS::LAMMPS) - add_library(LAMMPS::LAMMPS UNKNOWN IMPORTED) - set_target_properties(LAMMPS::LAMMPS PROPERTIES IMPORTED_LOCATION "${LAMMPS_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${LAMMPS_INCLUDE_DIR}" INTERFACE_COMPILE_DEFINITIONS "${LAMMPS_API_DEFINES}") -endif() diff --git a/cmake/LAMMPSConfig.cmake.in b/cmake/LAMMPSConfig.cmake.in new file mode 100644 index 0000000000000000000000000000000000000000..7cd782b3b8eb4585dd3eb4d1c75e852abf64fd29 --- /dev/null +++ b/cmake/LAMMPSConfig.cmake.in @@ -0,0 +1,87 @@ +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) +include(CMakeFindDependencyMacro) +if(@BUILD_MPI@) + find_dependency(MPI REQUIRED CXX) +endif() +if(@PKG_KSPACE@) + if(@FFT@ STREQUAL "FFTW3") + find_dependency(@FFTW@ REQUIRED MODULE) + endif() +endif() +if(NOT @BUILD_SHARED_LIBS@) + if(@BUILD_OMP@) + find_dependency(OpenMP REQUIRED) + endif() + if(@WITH_JPEG@) + find_dependency(JPEG REQUIRED) + endif() + if(@WITH_PNG@) + find_dependency(PNG REQUIRED) + find_dependency(ZLIB REQUIRED) + endif() + if(@PKG_KIM@) + find_dependency(PkgConfig REQUIRED) + pkg_check_modules(KIM-API REQUIRED IMPORTED_TARGET libkim-api>=@KIM-API_MIN_VERSION@) + if(@CURL_FOUND@) + find_dependency(CURL REQUIRED) + endif() + endif() + if(@PKG_USER-SMD@) + find_dependency(Eigen3 NO_MODULE REQUIRED) + endif() + if(@PKG_USER-SCAFACOS@) + find_dependency(PkgConfig REQUIRED) + find_ependency(GSL REQUIRED) + find_dependency(MPI REQUIRED C Fortran) + pkg_check_modules(SCAFACOS REQUIRED IMPORTED_TARGET scafacos) + endif() + if(@PKG_PYTHON@ AND NOT CMAKE_VERSION VERSION_LESS 3.12) + find_package(Python REQUIRED COMPONENTS Development) + endif() + if(@PKG_COMPRESS@) + find_dependency(ZLIB REQUIRED) + endif() + if(@PKG_KOKKOS@) + if(@EXTERNAL_KOKKOS@) + find_dependency(Kokkos 3 REQUIRED) + endif() + endif() + if(@PKG_VORONOI@) + find_dependency(VORO REQUIRED) + endif() + if(@PKG_USER-INTEL@) + if(@INTEL_LRT_MODE@ STREQUAL "THREADS") + find_dependency(Threads REQUIRED) + endif() + if(@TBB_MALLOC_FOUND@) + find_ependency(TBB_MALLOC REQUIRED) + endif() + endif() + if(@PKG_USER-ADIOS@) + find_ependency(ADIOS2 REQUIRED) + endif() + if(@PKG_LATTE@) + find_ependency(LATTE REQUIRED) + endif() + if(@PKG_MESSAGE@) + if(@MESSAGE_ZMQ@) + find_ependency(ZMQ REQUIRED) + endif() + endif() + if(@PKG_MSCG@) + find_ependency(GSL REQUIRED) + find_ependency(MSCG REQUIRED) + endif() + if(@USER-NETCDF@) + if(@NETCDF_FOUND@) + find_ependency(NetCDF REQUIRED) + endif() + if(@PNETCDF_FOUND@) + find_ependency(PNetCDF REQUIRED) + endif() + endif() + if(@PKG_QUIP@) + find_ependency(QUIP REQUIRED) + endif() +endif() +include("${CMAKE_CURRENT_LIST_DIR}/LAMMPS_Targets.cmake") diff --git a/cmake/Modules/CheckGeneratorSupport.cmake b/cmake/Modules/CheckGeneratorSupport.cmake new file mode 100644 index 0000000000000000000000000000000000000000..62d33036a5cf49c8514f1740bf3d89ec2d58776c --- /dev/null +++ b/cmake/Modules/CheckGeneratorSupport.cmake @@ -0,0 +1,21 @@ +# ninja-build<1.10 does not support fortran. +if(CMAKE_GENERATOR STREQUAL "Ninja") + set(CMAKE_GENERATOR_SUPPORT_FORTRAN FALSE) + execute_process(COMMAND "${CMAKE_MAKE_PROGRAM}" --version + OUTPUT_VARIABLE NINJA_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE _Ninja_version_result + ) + if(_Ninja_version_result) + message(WARNING "Unable to determine ninja version: ${_Ninja_version_result}, assuming fortran isn't supported") + elseif(NINJA_VERSION VERSION_LESS "1.10") + message(WARNING "Ninja build tool too old, to compile Fortran code, please install ninja-1.10 or newer") + else() + set(CMAKE_GENERATOR_SUPPORT_FORTRAN TRUE) + endif() +else() + set(CMAKE_GENERATOR_SUPPORT_FORTRAN TRUE) + if(NOT CMAKE_GENERATOR STREQUAL "Unix Makefiles") + message(WARNING "Assuming fortran is supported for ${CMAKE_GENERATOR}") + endif() +endif() diff --git a/cmake/Modules/Documentation.cmake b/cmake/Modules/Documentation.cmake index feff66a9b2520b4f54b214d7873337ae48269064..929d6ebd4bd9d7903494c5a1f4f5e5e82a934221 100644 --- a/cmake/Modules/Documentation.cmake +++ b/cmake/Modules/Documentation.cmake @@ -1,10 +1,8 @@ ############################################################################### # Build documentation ############################################################################### -option(BUILD_DOC "Build LAMMPS documentation" OFF) +option(BUILD_DOC "Build LAMMPS HTML documentation" OFF) if(BUILD_DOC) - include(ProcessorCount) - ProcessorCount(NPROCS) find_package(PythonInterp 3 REQUIRED) set(VIRTUALENV ${PYTHON_EXECUTABLE} -m virtualenv) @@ -26,15 +24,49 @@ if(BUILD_DOC) COMMAND ${DOCENV_BINARY_DIR}/pip install --upgrade ${LAMMPS_DOC_DIR}/utils/converters ) + # download mathjax distribution and unpack to folder "mathjax" + file(DOWNLOAD "https://github.com/mathjax/MathJax/archive/3.0.5.tar.gz" + "${CMAKE_CURRENT_BINARY_DIR}/mathjax.tar.gz" + EXPECTED_MD5 5d9d3799cce77a1a95eee6be04eb68e7) + + if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/mathjax) + execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf mathjax.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + file(GLOB MATHJAX_VERSION_DIR ${CMAKE_CURRENT_BINARY_DIR}/MathJax-*) + execute_process(COMMAND ${CMAKE_COMMAND} -E rename ${MATHJAX_VERSION_DIR} ${CMAKE_CURRENT_BINARY_DIR}/mathjax) + endif() + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/_static/mathjax) + file(COPY ${CMAKE_CURRENT_BINARY_DIR}/mathjax/es5 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/html/_static/mathjax/) + + # note, this may run in parallel with other tasks, so we must not use multiple processes here add_custom_command( OUTPUT html DEPENDS ${DOC_SOURCES} docenv requirements.txt - COMMAND ${DOCENV_BINARY_DIR}/sphinx-build -j ${NPROCS} -b html -c ${LAMMPS_DOC_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${LAMMPS_DOC_DIR}/src html + COMMAND ${DOCENV_BINARY_DIR}/sphinx-build -b html -c ${LAMMPS_DOC_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${LAMMPS_DOC_DIR}/src html ) + # copy selected image files to html output tree + file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/html/JPG) + set(HTML_EXTRA_IMAGES balance_nonuniform.jpg balance_rcb.jpg + balance_uniform.jpg bow_tutorial_01.png bow_tutorial_02.png + bow_tutorial_03.png bow_tutorial_04.png bow_tutorial_05.png + dump1.jpg dump2.jpg examples_mdpd.gif gran_funnel.png gran_mixer.png + hop1.jpg hop2.jpg saed_ewald_intersect.jpg saed_mesh.jpg + screenshot_atomeye.jpg screenshot_gl.jpg screenshot_pymol.jpg + screenshot_vmd.jpg sinusoid.jpg xrd_mesh.jpg) + set(HTML_IMAGE_TARGETS "") + foreach(_IMG ${HTML_EXTRA_IMAGES}) + string(PREPEND _IMG JPG/) + list(APPEND HTML_IMAGE_TARGETS "html/${_IMG}") + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/${_IMG} + DEPENDS ${LAMMPS_DOC_DIR}/src/${_IMG} html/JPG + COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/src/${_IMG} ${CMAKE_BINARY_DIR}/html/${_IMG} + ) + endforeach() + add_custom_target( doc ALL - DEPENDS html + DEPENDS html html/_static/mathjax/es5 ${HTML_IMAGE_TARGETS} SOURCES ${LAMMPS_DOC_DIR}/utils/requirements.txt ${DOC_SOURCES} ) diff --git a/cmake/Modules/FindCUB.cmake b/cmake/Modules/FindCUB.cmake new file mode 100644 index 0000000000000000000000000000000000000000..848e68e81512144ad56124bdf0dcbcce0f6fa50e --- /dev/null +++ b/cmake/Modules/FindCUB.cmake @@ -0,0 +1,16 @@ +# - Find CUB +# Find the CUB header library +# +# CUB_INCLUDE_DIRS - where to find cub/cub.cuh +# CUB_FOUND - True if CUB found. +# + +find_path(CUB_INCLUDE_DIR cub.cuh PATH_SUFFIXES cub) + +include(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set CUB_FOUND to TRUE +# if all listed variables are TRUE + +find_package_handle_standard_args(CUB DEFAULT_MSG CUB_INCLUDE_DIR) + +mark_as_advanced(CUB_INCLUDE_DIR) diff --git a/cmake/Modules/FindFFTW3.cmake b/cmake/Modules/FindFFTW3.cmake index 552bcc4257adf0833a2d4d25bcbce3974a27ec7c..708ec495091352fded80d323b37942bdb17e086f 100644 --- a/cmake/Modules/FindFFTW3.cmake +++ b/cmake/Modules/FindFFTW3.cmake @@ -1,20 +1,18 @@ # - Find fftw3 -# Find the native FFTW3 headers and libraries. +# Find the native double precision FFTW3 headers and libraries. # -# FFTW3_INCLUDE_DIRS - where to find fftw3.h, etc. -# FFTW3_LIBRARIES - List of libraries when using fftw3. -# FFTW3_FOUND - True if fftw3 found. +# FFTW3_INCLUDE_DIRS - where to find fftw3.h, etc. +# FFTW3_LIBRARIES - List of libraries when using fftw3. +# FFTW3_OMP_LIBRARIES - List of libraries when using fftw3. +# FFTW3_FOUND - True if fftw3 found. # find_package(PkgConfig) pkg_check_modules(PC_FFTW3 fftw3) find_path(FFTW3_INCLUDE_DIR fftw3.h HINTS ${PC_FFTW3_INCLUDE_DIRS}) - find_library(FFTW3_LIBRARY NAMES fftw3 HINTS ${PC_FFTW3_LIBRARY_DIRS}) - -set(FFTW3_LIBRARIES ${FFTW3_LIBRARY}) -set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR}) +find_library(FFTW3_OMP_LIBRARY NAMES fftw3_omp HINTS ${PC_FFTW3_LIBRARY_DIRS}) include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE @@ -22,4 +20,28 @@ include(FindPackageHandleStandardArgs) find_package_handle_standard_args(FFTW3 DEFAULT_MSG FFTW3_LIBRARY FFTW3_INCLUDE_DIR) -mark_as_advanced(FFTW3_INCLUDE_DIR FFTW3_LIBRARY ) +# Copy the results to the output variables and target. +if(FFTW3_FOUND) + set(FFTW3_LIBRARIES ${FFTW3_LIBRARY} ) + set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR} ) + + if(NOT TARGET FFTW3::FFTW3) + add_library(FFTW3::FFTW3 UNKNOWN IMPORTED) + set_target_properties(FFTW3::FFTW3 PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${FFTW3_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${FFTW3_INCLUDE_DIRS}") + endif() + if(FFTW3_OMP_LIBRARY) + set(FFTW3_OMP_LIBRARIES ${FFTW3_OMP_LIBRARY}) + if(NOT TARGET FFTW3::FFTW3_OMP) + add_library(FFTW3::FFTW3_OMP UNKNOWN IMPORTED) + set_target_properties(FFTW3::FFTW3_OMP PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${FFTW3_OMP_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${FFTW3_INCLUDE_DIRS}") + endif() + endif() +endif() + +mark_as_advanced(FFTW3_INCLUDE_DIR FFTW3_LIBRARY FFTW3_OMP_LIBRARY) diff --git a/cmake/Modules/FindFFTW3F.cmake b/cmake/Modules/FindFFTW3F.cmake index 92d1e85e791ec362a15909bd09dccdc046efc2a5..3dbcdaa04e190c79d80281e9f91fa166755f585a 100644 --- a/cmake/Modules/FindFFTW3F.cmake +++ b/cmake/Modules/FindFFTW3F.cmake @@ -1,8 +1,8 @@ -# - Find fftw3f -# Find the native FFTW3F headers and libraries. +# Find the native single precision FFTW3 headers and libraries. # # FFTW3F_INCLUDE_DIRS - where to find fftw3f.h, etc. # FFTW3F_LIBRARIES - List of libraries when using fftw3f. +# FFTW3F_OMP_LIBRARIES - List of libraries when using fftw3. # FFTW3F_FOUND - True if fftw3f found. # @@ -10,11 +10,8 @@ find_package(PkgConfig) pkg_check_modules(PC_FFTW3F fftw3f) find_path(FFTW3F_INCLUDE_DIR fftw3.h HINTS ${PC_FFTW3F_INCLUDE_DIRS}) - find_library(FFTW3F_LIBRARY NAMES fftw3f HINTS ${PC_FFTW3F_LIBRARY_DIRS}) - -set(FFTW3F_LIBRARIES ${FFTW3F_LIBRARY}) -set(FFTW3F_INCLUDE_DIRS ${FFTW3F_INCLUDE_DIR}) +find_library(FFTW3F_OMP_LIBRARY NAMES fftw3f_omp HINTS ${PC_FFTW3F_LIBRARY_DIRS}) include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set FFTW3F_FOUND to TRUE @@ -22,4 +19,28 @@ include(FindPackageHandleStandardArgs) find_package_handle_standard_args(FFTW3F DEFAULT_MSG FFTW3F_LIBRARY FFTW3F_INCLUDE_DIR) -mark_as_advanced(FFTW3F_INCLUDE_DIR FFTW3F_LIBRARY ) +# Copy the results to the output variables and target. +if(FFTW3F_FOUND) + set(FFTW3F_LIBRARIES ${FFTW3F_LIBRARY} ) + set(FFTW3F_INCLUDE_DIRS ${FFTW3F_INCLUDE_DIR} ) + + if(NOT TARGET FFTW3F::FFTW3F) + add_library(FFTW3F::FFTW3F UNKNOWN IMPORTED) + set_target_properties(FFTW3F::FFTW3F PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${FFTW3F_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${FFTW3F_INCLUDE_DIRS}") + endif() + if(FFTW3F_OMP_LIBRARY) + set(FFTW3F_OMP_LIBRARIES ${FFTW3F_OMP_LIBRARY}) + if(NOT TARGET FFTW3F::FFTW3F_OMP) + add_library(FFTW3F::FFTW3F_OMP UNKNOWN IMPORTED) + set_target_properties(FFTW3F::FFTW3F_OMP PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${FFTW3F_OMP_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${FFTW3F_INCLUDE_DIRS}") + endif() + endif() +endif() + +mark_as_advanced(FFTW3F_INCLUDE_DIR FFTW3F_LIBRARY FFTW3F_OMP_LIBRARY) diff --git a/cmake/Modules/FindKIM-API.cmake b/cmake/Modules/FindKIM-API.cmake deleted file mode 100644 index 17c195e62f515752d893118cd9a0d08e0ad8ae58..0000000000000000000000000000000000000000 --- a/cmake/Modules/FindKIM-API.cmake +++ /dev/null @@ -1,85 +0,0 @@ -# -# CDDL HEADER START -# -# The contents of this file are subject to the terms of the Common Development -# and Distribution License Version 1.0 (the "License"). -# -# You can obtain a copy of the license at -# http://www.opensource.org/licenses/CDDL-1.0. See the License for the -# specific language governing permissions and limitations under the License. -# -# When distributing Covered Code, include this CDDL HEADER in each file and -# include the License file in a prominent location with the name LICENSE.CDDL. -# If applicable, add the following below this CDDL HEADER, with the fields -# enclosed by brackets "[]" replaced with your own identifying information: -# -# Portions Copyright (c) [yyyy] [name of copyright owner]. All rights reserved. -# -# CDDL HEADER END -# - -# -# Copyright (c) 2013--2019, Regents of the University of Minnesota. -# All rights reserved. -# -# Contributors: -# Richard Berger -# Christoph Junghans -# Ryan S. Elliott -# - -# - Find KIM-API -# -# sets standard pkg_check_modules variables plus: -# -# KIM-API-CMAKE_C_COMPILER -# KIM-API-CMAKE_CXX_COMPILER -# KIM-API-CMAKE_Fortran_COMPILER -# - -function(_KIMAPI_GET_VERSION _OUT_ver _version_hdr) - if(NOT EXISTS ${_version_hdr}) - message(FATAL_ERROR "Header file ${_version_hdr} not found (check value of KIM-API_INCLUDE_DIR)") - endif() - foreach(_var KIM_VERSION_MAJOR KIM_VERSION_MINOR KIM_VERSION_PATCH) - file(STRINGS ${_version_hdr} _contents REGEX "#define ${_var}[ \t]+") - if(_contents) - string(REGEX REPLACE ".*#define ${_var}[ \t]+([0-9]+).*" "\\1" _${_var} "${_contents}") - if(${_${_var}} STREQUAL "") - message(FATAL_ERROR "Version parsing failed for ${_var} in ${_version_hdr}, got empty return!") - elseif(NOT ${_${_var}} MATCHES "^[0-9]+$") - message(FATAL_ERROR "Version parsing failed for ${_var} in ${_version_hdr}, excepted a number but got ${_${_var}}!") - endif() - else() - message(FATAL_ERROR "No ${_var} line found in include file ${_version_hdr}") - endif() - endforeach() - set(${_OUT_ver} ${_KIM_VERSION_MAJOR}.${_KIM_VERSION_MINOR}.${_KIM_VERSION_PATCH} PARENT_SCOPE) -endfunction() - -if(KIM-API_FIND_QUIETLY) - set(REQ_OR_QUI "QUIET") -else() - set(REQ_OR_QUI "REQUIRED") -endif() - -find_package(PkgConfig ${REQ_OR_QUI}) -include(FindPackageHandleStandardArgs) - -pkg_check_modules(KIM-API ${REQ_OR_QUI} libkim-api>=2.0) - -if(KIM-API_FOUND) - pkg_get_variable(KIM-API-CMAKE_C_COMPILER libkim-api CMAKE_C_COMPILER) - pkg_get_variable(KIM-API-CMAKE_CXX_COMPILER libkim-api CMAKE_CXX_COMPILER) - pkg_get_variable(KIM-API_CMAKE_Fortran_COMPILER libkim-api CMAKE_Fortran_COMPILER) -endif() - -if(KIM-API_INCLUDEDIR) - _KIMAPI_GET_VERSION(KIM-API_VERSION ${KIM-API_INCLUDEDIR}/KIM_Version.h) -else() - set(KIM-API_VERSION 0) -endif() - -# handle the QUIETLY and REQUIRED arguments and set KIM-API_FOUND to TRUE -# if all listed variables are TRUE -find_package_handle_standard_args(KIM-API REQUIRED_VARS KIM-API_LIBRARIES VERSION_VAR KIM-API_VERSION) diff --git a/cmake/Modules/FindLATTE.cmake b/cmake/Modules/FindLATTE.cmake index 74d5173bf0725ae74f0eaf08214b8b593a74e473..ac5c639b79313019ba9880f1f178ce1449034ef1 100644 --- a/cmake/Modules/FindLATTE.cmake +++ b/cmake/Modules/FindLATTE.cmake @@ -7,12 +7,21 @@ find_library(LATTE_LIBRARY NAMES latte) -set(LATTE_LIBRARIES ${LATTE_LIBRARY}) - include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set LATTE_FOUND to TRUE # if all listed variables are TRUE find_package_handle_standard_args(LATTE DEFAULT_MSG LATTE_LIBRARY) +# Copy the results to the output variables and target. +if(LATTE_FOUND) + set(LATTE_LIBRARIES ${LATTE_LIBRARY}) + + if(NOT TARGET LATTE::latte) + add_library(LATTE::latte UNKNOWN IMPORTED) + set_target_properties(LATTE::latte PROPERTIES + IMPORTED_LOCATION "${LATTE_LIBRARY}") + endif() +endif() + mark_as_advanced(LATTE_LIBRARY) diff --git a/cmake/Modules/FindMKL.cmake b/cmake/Modules/FindMKL.cmake index 4246062103f943c2c54347c2cbc796db96cff54e..e3dc60ad9749a2c0d5ddf6e1c30132af03a6c00e 100644 --- a/cmake/Modules/FindMKL.cmake +++ b/cmake/Modules/FindMKL.cmake @@ -10,13 +10,22 @@ find_path(MKL_INCLUDE_DIR mkl_dfti.h HINTS $ENV{MKLROOT}/include) find_library(MKL_LIBRARY NAMES mkl_rt HINTS $ENV{MKLROOT}/lib $ENV{MKLROOT}/lib/intel64) -set(MKL_LIBRARIES ${MKL_LIBRARY}) -set(MKL_INCLUDE_DIRS ${MKL_INCLUDE_DIR}) - include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set MKL_FOUND to TRUE # if all listed variables are TRUE find_package_handle_standard_args(MKL DEFAULT_MSG MKL_LIBRARY MKL_INCLUDE_DIR) +if(MKL_FOUND) + set(MKL_LIBRARIES ${MKL_LIBRARY}) + set(MKL_INCLUDE_DIRS ${MKL_INCLUDE_DIR}) + + if(NOT TARGET MKL::MKL) + add_library(MKL::MKL UNKNOWN IMPORTED) + set_target_properties(MKL::MKL PROPERTIES + IMPORTED_LOCATION "${MKL_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${MKL_INCLUDE_DIR}") + endif() +endif() + mark_as_advanced(MKL_INCLUDE_DIR MKL_LIBRARY ) diff --git a/cmake/Modules/FindMSCG.cmake b/cmake/Modules/FindMSCG.cmake index 311ff7803836aa43c2c48bd4040a60686b1803db..b301303dbec9dbdb186d44b39f806d1c60e2bc45 100644 --- a/cmake/Modules/FindMSCG.cmake +++ b/cmake/Modules/FindMSCG.cmake @@ -10,13 +10,23 @@ find_path(MSCG_INCLUDE_DIR mscg.h PATH_SUFFIXES mscg) find_library(MSCG_LIBRARY NAMES mscg) -set(MSCG_LIBRARIES ${MSCG_LIBRARY}) -set(MSCG_INCLUDE_DIRS ${MSCG_INCLUDE_DIR}) - include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set MSCG_FOUND to TRUE # if all listed variables are TRUE find_package_handle_standard_args(MSCG DEFAULT_MSG MSCG_LIBRARY MSCG_INCLUDE_DIR) +# Copy the results to the output variables and target. +if(MSCG_FOUND) + set(MSCG_LIBRARIES ${MSCG_LIBRARY}) + set(MSCG_INCLUDE_DIRS ${MSCG_INCLUDE_DIR}) + + if(NOT TARGET MSCG::MSCG) + add_library(MSCG::MSCG UNKNOWN IMPORTED) + set_target_properties(MSCG::MSCG PROPERTIES + IMPORTED_LOCATION "${MSCG_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${MSCG_INCLUDE_DIR}") + endif() +endif() + mark_as_advanced(MSCG_INCLUDE_DIR MSCG_LIBRARY ) diff --git a/cmake/Modules/FindNetCDF.cmake b/cmake/Modules/FindNetCDF.cmake index 2a992b6b3b532513d1f2886cd5e76aeaba32df20..5c8caa920820da14855e51ab6032b3d7a4e775b7 100644 --- a/cmake/Modules/FindNetCDF.cmake +++ b/cmake/Modules/FindNetCDF.cmake @@ -120,3 +120,14 @@ set (NETCDF_INCLUDE_DIRS ${NetCDF_includes}) include (FindPackageHandleStandardArgs) find_package_handle_standard_args (NetCDF DEFAULT_MSG NETCDF_LIBRARIES NETCDF_INCLUDE_DIRS NETCDF_HAS_INTERFACES) + +# Copy the results to the output variables and target. +if(NetCDF_FOUND) + if(NOT TARGET NetCDF::NetCDF) + add_library(NetCDF::NetCDF UNKNOWN IMPORTED) + set_target_properties(NetCDF::NetCDF PROPERTIES + IMPORTED_LOCATION "${NETCDF_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${NETCDF_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${NETCDF_LIBRARIES}") + endif() +endif() diff --git a/cmake/Modules/FindPNetCDF.cmake b/cmake/Modules/FindPNetCDF.cmake index bc3a5f9538b17c82201437f3ee378e9be0bf49fa..e501e9af4920553f638fb12132f84e495dc9e959 100644 --- a/cmake/Modules/FindPNetCDF.cmake +++ b/cmake/Modules/FindPNetCDF.cmake @@ -53,3 +53,12 @@ include (FindPackageHandleStandardArgs) find_package_handle_standard_args (PNetCDF DEFAULT_MSG PNETCDF_LIBRARIES PNETCDF_INCLUDES) mark_as_advanced (PNETCDF_LIBRARIES PNETCDF_INCLUDES) + +if(PNetCDF_FOUND) + if(NOT TARGET PNetCDF::PNetCDF) + add_library(PNetCDF::PNetCDF UNKNOWN IMPORTED) + set_target_properties(PNetCDF::PNetCDF PROPERTIES + IMPORTED_LOCATION "${PNETCDF_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${PNETCDF_INCLUDES}") + endif() +endif() diff --git a/cmake/Modules/FindQE.cmake b/cmake/Modules/FindQE.cmake deleted file mode 100644 index 4484bd4db2ad11a65e68e9feb8b36077c2a9a074..0000000000000000000000000000000000000000 --- a/cmake/Modules/FindQE.cmake +++ /dev/null @@ -1,29 +0,0 @@ -# - Find quantum-espresso -# Find the native QE headers and libraries. -# -# QE_INCLUDE_DIRS - where to find quantum-espresso.h, etc. -# QE_LIBRARIES - List of libraries when using quantum-espresso. -# QE_FOUND - True if quantum-espresso found. -# - -find_path(QE_INCLUDE_DIR libqecouple.h PATH_SUFFIXES COUPLE/include) - -find_library(QECOUPLE_LIBRARY NAMES qecouple) -find_library(PW_LIBRARY NAMES pw) -find_library(QEMOD_LIBRARY NAMES qemod) -find_library(QEFFT_LIBRARY NAMES qefft) -find_library(QELA_LIBRARY NAMES qela) -find_library(CLIB_LIBRARY NAMES clib) -find_library(IOTK_LIBRARY NAMES iotk) - - -set(QE_LIBRARIES ${QECOUPLE_LIBRARY} ${PW_LIBRARY} ${QEMOD_LIBRARY} ${QEFFT_LIBRARY} ${QELA_LIBRARY} ${CLIB_LIBRARY} ${IOTK_LIBRARY}) -set(QE_INCLUDE_DIRS ${QE_INCLUDE_DIR}) - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set QE_FOUND to TRUE -# if all listed variables are TRUE - -find_package_handle_standard_args(QE DEFAULT_MSG QECOUPLE_LIBRARY PW_LIBRARY QEMOD_LIBRARY QEFFT_LIBRARY QELA_LIBRARY CLIB_LIBRARY IOTK_LIBRARY QE_INCLUDE_DIR) - -mark_as_advanced(QE_INCLUDE_DIR QECOUPLE_LIBRARY PW_LIBRARY QEMOD_LIBRARY QEFFT_LIBRARY QELA_LIBRARY CLIB_LIBRARY IOTK_LIBRARY) diff --git a/cmake/Modules/FindQUIP.cmake b/cmake/Modules/FindQUIP.cmake index b6d87d11fa1cc82fd65452074a48e7469f5d39b4..277cfae49ed2a31b03a094c79a04a6d980e9a19d 100644 --- a/cmake/Modules/FindQUIP.cmake +++ b/cmake/Modules/FindQUIP.cmake @@ -7,12 +7,21 @@ find_library(QUIP_LIBRARY NAMES quip) -set(QUIP_LIBRARIES ${QUIP_LIBRARY}) - include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set QUIP_FOUND to TRUE # if all listed variables are TRUE find_package_handle_standard_args(QUIP DEFAULT_MSG QUIP_LIBRARY) +# Copy the results to the output variables and target. +if(QUIP_FOUND) + set(QUIP_LIBRARIES ${QUIP_LIBRARY}) + + if(NOT TARGET QUIP::QUIP) + add_library(QUIP::QUIP UNKNOWN IMPORTED) + set_target_properties(QUIP::QUIP PROPERTIES + IMPORTED_LOCATION "${QUIP_LIBRARY}") + endif() +endif() + mark_as_advanced(QUIP_LIBRARY) diff --git a/cmake/Modules/FindTBB.cmake b/cmake/Modules/FindTBB.cmake deleted file mode 100644 index 8cc050817e6b919d3d77935afcd26f1fd4d1cce0..0000000000000000000000000000000000000000 --- a/cmake/Modules/FindTBB.cmake +++ /dev/null @@ -1,46 +0,0 @@ -# - Find parts of TBB -# Find the native TBB headers and libraries. -# -# TBB_INCLUDE_DIRS - where to find tbb.h, etc. -# TBB_LIBRARIES - List of libraries when using tbb. -# TBB_FOUND - True if tbb found. -# - -######################################################## -# TBB - -# TODO use more generic FindTBB - -find_path(TBB_INCLUDE_DIR NAMES tbb/tbb.h PATHS $ENV{TBBROOT}/include) -find_library(TBB_LIBRARY NAMES tbb PATHS $ENV{TBBROOT}/lib/intel64/gcc4.7 - $ENV{TBBROOT}/lib/intel64/gcc4.4 - $ENV{TBBROOT}/lib/intel64/gcc4.1) -set(TBB_LIBRARIES ${TBB_LIBRARY}) -set(TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR}) - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set TBB_FOUND to TRUE -# if all listed variables are TRUE - -find_package_handle_standard_args(TBB DEFAULT_MSG TBB_LIBRARY TBB_INCLUDE_DIR) - -mark_as_advanced(TBB_INCLUDE_DIR TBB_LIBRARY ) - -######################################################## -# TBB Malloc - -find_path(TBB_MALLOC_INCLUDE_DIR NAMES tbb/tbb.h PATHS $ENV{TBBROOT}/include) -find_library(TBB_MALLOC_LIBRARY NAMES tbbmalloc PATHS $ENV{TBBROOT}/lib/intel64/gcc4.7 - $ENV{TBBROOT}/lib/intel64/gcc4.4 - $ENV{TBBROOT}/lib/intel64/gcc4.1) - -set(TBB_MALLOC_LIBRARIES ${TBB_MALLOC_LIBRARY}) -set(TBB_MALLOC_INCLUDE_DIRS ${TBB_MALLOC_INCLUDE_DIR}) - -include(FindPackageHandleStandardArgs) -# handle the QUIETLY and REQUIRED arguments and set TBB_MALLOC_FOUND to TRUE -# if all listed variables are TRUE - -find_package_handle_standard_args(TBB_MALLOC DEFAULT_MSG TBB_MALLOC_LIBRARY TBB_MALLOC_INCLUDE_DIR) - -mark_as_advanced(TBB_MALLOC_INCLUDE_DIR TBB_MALLOC_LIBRARY ) diff --git a/cmake/Modules/FindTBB_MALLOC.cmake b/cmake/Modules/FindTBB_MALLOC.cmake new file mode 100644 index 0000000000000000000000000000000000000000..896db649af75456c0f4bee348b572091b74e66f1 --- /dev/null +++ b/cmake/Modules/FindTBB_MALLOC.cmake @@ -0,0 +1,36 @@ +# - Find parts of TBB_MALLOC +# Find the native TBB_MALLOC headers and libraries. +# +# TBB_MALLOC_INCLUDE_DIRS - where to find tbb.h, etc. +# TBB_MALLOC_LIBRARIES - List of libraries when using tbb. +# TBB_MALLOC_FOUND - True if tbb found. +# + + +######################################################## +# TBB Malloc + +find_path(TBB_MALLOC_INCLUDE_DIR NAMES tbb/tbb.h PATHS $ENV{TBBROOT}/include) +find_library(TBB_MALLOC_LIBRARY NAMES tbbmalloc PATHS $ENV{TBBROOT}/lib/intel64/gcc4.7 + $ENV{TBBROOT}/lib/intel64/gcc4.4 + $ENV{TBBROOT}/lib/intel64/gcc4.1) + +include(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set TBB_MALLOC_FOUND to TRUE +# if all listed variables are TRUE + +find_package_handle_standard_args(TBB_MALLOC DEFAULT_MSG TBB_MALLOC_LIBRARY TBB_MALLOC_INCLUDE_DIR) + +if(TBB_MALLOC_FOUND) + set(TBB_MALLOC_LIBRARIES ${TBB_MALLOC_LIBRARY}) + set(TBB_MALLOC_INCLUDE_DIRS ${TBB_MALLOC_INCLUDE_DIR}) + + if(NOT TARGET TBB::TBB_MALLOC) + add_library(TBB::TBB_MALLOC UNKNOWN IMPORTED) + set_target_properties(TBB::TBB_MALLOC PROPERTIES + IMPORTED_LOCATION "${TBB_MALLOC_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${TBB_MALLOC_INCLUDE_DIR}") + endif() +endif() + +mark_as_advanced(TBB_MALLOC_INCLUDE_DIR TBB_MALLOC_LIBRARY ) diff --git a/cmake/Modules/FindVORO.cmake b/cmake/Modules/FindVORO.cmake index b0cccbcd1de79e30c9a18065654d141d9954844a..3f0fe98ff19bf67f684041d832a797d12adaab28 100644 --- a/cmake/Modules/FindVORO.cmake +++ b/cmake/Modules/FindVORO.cmake @@ -10,13 +10,23 @@ find_path(VORO_INCLUDE_DIR voro++.hh PATH_SUFFIXES voro++) find_library(VORO_LIBRARY NAMES voro++) -set(VORO_LIBRARIES ${VORO_LIBRARY}) -set(VORO_INCLUDE_DIRS ${VORO_INCLUDE_DIR}) - include(FindPackageHandleStandardArgs) # handle the QUIETLY and REQUIRED arguments and set VORO_FOUND to TRUE # if all listed variables are TRUE find_package_handle_standard_args(VORO DEFAULT_MSG VORO_LIBRARY VORO_INCLUDE_DIR) +# Copy the results to the output variables and target. +if(VORO_FOUND) + set(VORO_LIBRARIES ${VORO_LIBRARY}) + set(VORO_INCLUDE_DIRS ${VORO_INCLUDE_DIR}) + + if(NOT TARGET VORO::VORO) + add_library(VORO::VORO UNKNOWN IMPORTED) + set_target_properties(VORO::VORO PROPERTIES + IMPORTED_LOCATION "${VORO_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${VORO_INCLUDE_DIR}") + endif() +endif() + mark_as_advanced(VORO_INCLUDE_DIR VORO_LIBRARY ) diff --git a/cmake/Modules/FindZMQ.cmake b/cmake/Modules/FindZMQ.cmake index 608ccda777336f9d84dfabd40a9c6bdba1bd12be..7d612c2eb38d519c61cc95d0eb123309332e26a9 100644 --- a/cmake/Modules/FindZMQ.cmake +++ b/cmake/Modules/FindZMQ.cmake @@ -1,8 +1,19 @@ find_path(ZMQ_INCLUDE_DIR zmq.h) find_library(ZMQ_LIBRARY NAMES zmq) -set(ZMQ_LIBRARIES ${ZMQ_LIBRARY}) -set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR}) - include(FindPackageHandleStandardArgs) find_package_handle_standard_args(ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR) + +# Copy the results to the output variables and target. +if(ZMQ_FOUND) + set(ZMQ_LIBRARIES ${ZMQ_LIBRARY}) + set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR}) + + if(NOT TARGET ZMQ::ZMQ) + add_library(ZMQ::ZMQ UNKNOWN IMPORTED) + set_target_properties(ZMQ::ZMQ PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${ZMQ_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${ZMQ_INCLUDE_DIR}") + endif() +endif() diff --git a/cmake/Modules/GenerateBinaryHeader.cmake b/cmake/Modules/GenerateBinaryHeader.cmake new file mode 100644 index 0000000000000000000000000000000000000000..512f69e09de985b5ae70cb9bd8bfcb1b4bae0ca7 --- /dev/null +++ b/cmake/Modules/GenerateBinaryHeader.cmake @@ -0,0 +1,3 @@ +# utility script to call GenerateBinaryHeader function +include(${SOURCE_DIR}/Modules/LAMMPSUtils.cmake) +GenerateBinaryHeader(${VARNAME} ${HEADER_FILE} ${SOURCE_FILES}) diff --git a/cmake/Modules/LAMMPSUtils.cmake b/cmake/Modules/LAMMPSUtils.cmake index 3ea2b3cb7ec977175d026672c1a03f386fc86e61..02de630c82d320b67d144ea39eb30c1c44ed2c77 100644 --- a/cmake/Modules/LAMMPSUtils.cmake +++ b/cmake/Modules/LAMMPSUtils.cmake @@ -69,3 +69,19 @@ macro(pkg_depends PKG1 PKG2) message(FATAL_ERROR "${PKG1} package needs LAMMPS to be build with ${PKG2}") endif() endmacro() + +# CMake-only replacement for bin2c and xxd +function(GenerateBinaryHeader varname outfile files) + message("Creating ${outfile}...") + file(WRITE ${outfile} "// CMake generated file\n") + math(EXPR ARG_END "${ARGC}-1") + + foreach(IDX RANGE 2 ${ARG_END}) + list(GET ARGV ${IDX} filename) + file(READ ${filename} content HEX) + string(REGEX REPLACE "([0-9a-f][0-9a-f])" "0x\\1," content "${content}") + string(REGEX REPLACE ",$" "" content "${content}") + file(APPEND ${outfile} "const unsigned char ${varname}[] = { ${content} };\n") + file(APPEND ${outfile} "const unsigned int ${varname}_size = sizeof(${varname});\n") + endforeach() +endfunction(GenerateBinaryHeader) diff --git a/cmake/Modules/MPI4WIN.cmake b/cmake/Modules/MPI4WIN.cmake new file mode 100644 index 0000000000000000000000000000000000000000..035c6a22f3be44a597f674d281b61852964481ff --- /dev/null +++ b/cmake/Modules/MPI4WIN.cmake @@ -0,0 +1,30 @@ +# Download and configure custom MPICH files for Windows +message(STATUS "Downloading and configuring MPICH-1.4.1 for Windows") +include(ExternalProject) +if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") + ExternalProject_Add(mpi4win_build + URL https://download.lammps.org/thirdparty/mpich2-win64-devel.tar.gz + URL_MD5 4939fdb59d13182fd5dd65211e469f14 + CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + BUILD_BYPRODUCTS /lib/libmpi.a) +else() + ExternalProject_Add(mpi4win_build + URL https://download.lammps.org/thirdparty/mpich2-win32-devel.tar.gz + URL_MD5 a61d153500dce44e21b755ee7257e031 + CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + BUILD_BYPRODUCTS /lib/libmpi.a) +endif() + +ExternalProject_get_property(mpi4win_build SOURCE_DIR) +file(MAKE_DIRECTORY "${SOURCE_DIR}/include") +add_library(MPI::MPI_CXX UNKNOWN IMPORTED) +set_target_properties(MPI::MPI_CXX PROPERTIES + IMPORTED_LOCATION "${SOURCE_DIR}/lib/libmpi.a" + INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include" + INTERFACE_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX") +add_dependencies(MPI::MPI_CXX mpi4win_build) + +# set variables for status reporting at the end of CMake run +set(MPI_CXX_INCLUDE_PATH "${SOURCE_DIR}/include") +set(MPI_CXX_COMPILE_DEFINITIONS "MPICH_SKIP_MPICXX") +set(MPI_CXX_LIBRARIES "${SOURCE_DIR}/lib/libmpi.a") diff --git a/cmake/Modules/Packages/COMPRESS.cmake b/cmake/Modules/Packages/COMPRESS.cmake index 864b868865f531ebcce5374bceed2612fb37d391..801a38a21561bde85fb2c031a96786043bd858b4 100644 --- a/cmake/Modules/Packages/COMPRESS.cmake +++ b/cmake/Modules/Packages/COMPRESS.cmake @@ -1,5 +1,2 @@ -if(PKG_COMPRESS) - find_package(ZLIB REQUIRED) - include_directories(${ZLIB_INCLUDE_DIRS}) - list(APPEND LAMMPS_LINK_LIBS ${ZLIB_LIBRARIES}) -endif() +find_package(ZLIB REQUIRED) +target_link_libraries(lammps PRIVATE ZLIB::ZLIB) diff --git a/cmake/Modules/Packages/CORESHELL.cmake b/cmake/Modules/Packages/CORESHELL.cmake index 591477c89948c3d34f975e8cdf65181b96af9171..4e12d2ee363e80377fb7e8eb44a2f073c1317027 100644 --- a/cmake/Modules/Packages/CORESHELL.cmake +++ b/cmake/Modules/Packages/CORESHELL.cmake @@ -1,13 +1,11 @@ -if(PKG_CORESHELL) - set(CORESHELL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/CORESHELL) - set(CORESHELL_SOURCES) - set_property(GLOBAL PROPERTY "CORESHELL_SOURCES" "${CORESHELL_SOURCES}") + set(CORESHELL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/CORESHELL) + set(CORESHELL_SOURCES) + set_property(GLOBAL PROPERTY "CORESHELL_SOURCES" "${CORESHELL_SOURCES}") - # detects styles which have a CORESHELL version - RegisterStylesExt(${CORESHELL_SOURCES_DIR} cs CORESHELL_SOURCES) + # detects styles which have a CORESHELL version + RegisterStylesExt(${CORESHELL_SOURCES_DIR} cs CORESHELL_SOURCES) - get_property(CORESHELL_SOURCES GLOBAL PROPERTY CORESHELL_SOURCES) + get_property(CORESHELL_SOURCES GLOBAL PROPERTY CORESHELL_SOURCES) - list(APPEND LIB_SOURCES ${CORESHELL_SOURCES}) - include_directories(${CORESHELL_SOURCES_DIR}) -endif() + target_sources(lammps PRIVATE ${CORESHELL_SOURCES}) + target_include_directories(lammps PRIVATE ${CORESHELL_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/GPU.cmake b/cmake/Modules/Packages/GPU.cmake index dab9d51a3f9eb823f09c05ac438546c64f05e9f1..9299914b9b39109d71966b6a15f931b767cbdaa3 100644 --- a/cmake/Modules/Packages/GPU.cmake +++ b/cmake/Modules/Packages/GPU.cmake @@ -1,194 +1,374 @@ -if(PKG_GPU) - if (CMAKE_VERSION VERSION_LESS "3.1") - message(FATAL_ERROR "For the GPU package you need at least cmake-3.1") +set(GPU_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/GPU) +set(GPU_SOURCES ${GPU_SOURCES_DIR}/gpu_extra.h + ${GPU_SOURCES_DIR}/fix_gpu.h + ${GPU_SOURCES_DIR}/fix_gpu.cpp) + +set(GPU_API "opencl" CACHE STRING "API used by GPU package") +set(GPU_API_VALUES opencl cuda hip) +set_property(CACHE GPU_API PROPERTY STRINGS ${GPU_API_VALUES}) +validate_option(GPU_API GPU_API_VALUES) +string(TOUPPER ${GPU_API} GPU_API) + +set(GPU_PREC "mixed" CACHE STRING "LAMMPS GPU precision") +set(GPU_PREC_VALUES double mixed single) +set_property(CACHE GPU_PREC PROPERTY STRINGS ${GPU_PREC_VALUES}) +validate_option(GPU_PREC GPU_PREC_VALUES) +string(TOUPPER ${GPU_PREC} GPU_PREC) + +if(GPU_PREC STREQUAL "DOUBLE") + set(GPU_PREC_SETTING "DOUBLE_DOUBLE") +elseif(GPU_PREC STREQUAL "MIXED") + set(GPU_PREC_SETTING "SINGLE_DOUBLE") +elseif(GPU_PREC STREQUAL "SINGLE") + set(GPU_PREC_SETTING "SINGLE_SINGLE") +endif() + +file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cpp) +file(MAKE_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/gpu) + +if(GPU_API STREQUAL "CUDA") + find_package(CUDA REQUIRED) + find_program(BIN2C bin2c) + if(NOT BIN2C) + message(FATAL_ERROR "Could not find bin2c, use -DBIN2C=/path/to/bin2c to help cmake finding it.") + endif() + option(CUDPP_OPT "Enable CUDPP_OPT" ON) + option(CUDA_MPS_SUPPORT "Enable tweaks to support CUDA Multi-process service (MPS)" OFF) + if(CUDA_MPS_SUPPORT) + set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY") + endif() + + set(GPU_ARCH "sm_50" CACHE STRING "LAMMPS GPU CUDA SM primary architecture (e.g. sm_60)") + + file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/[^.]*.cu) + list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu) + + cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu ${LAMMPS_LIB_BINARY_DIR}/gpu) + + if(CUDPP_OPT) + cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini) + file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cpp) + file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cu) + endif() + + # build arch/gencode commands for nvcc based on CUDA toolkit version and use choice + # --arch translates directly instead of JIT, so this should be for the preferred or most common architecture + set(GPU_CUDA_GENCODE "-arch=${GPU_ARCH} ") + # Fermi (GPU Arch 2.x) is supported by CUDA 3.2 to CUDA 8.0 + if((CUDA_VERSION VERSION_GREATER "3.1") AND (CUDA_VERSION VERSION_LESS "9.0")) + string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_20,code=[sm_20,compute_20] ") + endif() + # Kepler (GPU Arch 3.x) is supported by CUDA 5 and later + if(CUDA_VERSION VERSION_GREATER "4.9") + string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] ") + endif() + # Maxwell (GPU Arch 5.x) is supported by CUDA 6 and later + if(CUDA_VERSION VERSION_GREATER "5.9") + string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] ") + endif() + # Pascal (GPU Arch 6.x) is supported by CUDA 8 and later + if(CUDA_VERSION VERSION_GREATER "7.9") + string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] ") + endif() + # Volta (GPU Arch 7.0) is supported by CUDA 9 and later + if(CUDA_VERSION VERSION_GREATER "8.9") + string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_70,code=[sm_70,compute_70] ") + endif() + # Turing (GPU Arch 7.5) is supported by CUDA 10 and later + if(CUDA_VERSION VERSION_GREATER "9.9") + string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_75,code=[sm_75,compute_75] ") + endif() + + cuda_compile_fatbin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS + -DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DNV_KERNEL -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING}) + + cuda_compile(GPU_OBJS ${GPU_LIB_CUDPP_CU} OPTIONS ${CUDA_REQUEST_PIC} + -DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING}) + + foreach(CU_OBJ ${GPU_GEN_OBJS}) + get_filename_component(CU_NAME ${CU_OBJ} NAME_WE) + string(REGEX REPLACE "^.*_lal_" "" CU_NAME "${CU_NAME}") + add_custom_command(OUTPUT ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h + COMMAND ${BIN2C} -c -n ${CU_NAME} ${CU_OBJ} > ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h + DEPENDS ${CU_OBJ} + COMMENT "Generating ${CU_NAME}_cubin.h") + list(APPEND GPU_LIB_SOURCES ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h) + endforeach() + set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${LAMMPS_LIB_BINARY_DIR}/gpu/*_cubin.h") + + add_library(gpu STATIC ${GPU_LIB_SOURCES} ${GPU_LIB_CUDPP_SOURCES} ${GPU_OBJS}) + target_link_libraries(gpu PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY}) + target_include_directories(gpu PRIVATE ${LAMMPS_LIB_BINARY_DIR}/gpu ${CUDA_INCLUDE_DIRS}) + target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -DMPI_GERYON -DUCL_NO_EXIT ${GPU_CUDA_MPS_FLAGS}) + if(CUDPP_OPT) + target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini) + target_compile_definitions(gpu PRIVATE -DUSE_CUDPP) + endif() + + target_link_libraries(lammps PRIVATE gpu) + + add_executable(nvc_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp) + target_compile_definitions(nvc_get_devices PRIVATE -DUCL_CUDADR) + target_link_libraries(nvc_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY}) + target_include_directories(nvc_get_devices PRIVATE ${CUDA_INCLUDE_DIRS}) + +elseif(GPU_API STREQUAL "OPENCL") + if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + # download and unpack support binaries for compilation of windows binaries. + set(LAMMPS_THIRDPARTY_URL "http://download.lammps.org/thirdparty") + file(DOWNLOAD "${LAMMPS_THIRDPARTY_URL}/opencl-win-devel.tar.gz" "${CMAKE_CURRENT_BINARY_DIR}/opencl-win-devel.tar.gz" + EXPECTED_MD5 2c00364888d5671195598b44c2e0d44d) + execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf opencl-win-devel.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + add_library(OpenCL::OpenCL UNKNOWN IMPORTED) + if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86") + set_target_properties(OpenCL::OpenCL PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win32/libOpenCL.dll") + elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64") + set_target_properties(OpenCL::OpenCL PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win64/libOpenCL.dll") + endif() + set_target_properties(OpenCL::OpenCL PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/include") + else() + find_package(OpenCL REQUIRED) + endif() + set(OCL_TUNE "generic" CACHE STRING "OpenCL Device Tuning") + set(OCL_TUNE_VALUES intel fermi kepler cypress generic) + set_property(CACHE OCL_TUNE PROPERTY STRINGS ${OCL_TUNE_VALUES}) + validate_option(OCL_TUNE OCL_TUNE_VALUES) + string(TOUPPER ${OCL_TUNE} OCL_TUNE) + + include(OpenCLUtils) + set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h) + + file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu) + list(REMOVE_ITEM GPU_LIB_CU + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu + ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu + ) + + foreach(GPU_KERNEL ${GPU_LIB_CU}) + get_filename_component(basename ${GPU_KERNEL} NAME_WE) + string(SUBSTRING ${basename} 4 -1 KERNEL_NAME) + GenerateOpenCLHeader(${KERNEL_NAME} ${CMAKE_CURRENT_BINARY_DIR}/gpu/${KERNEL_NAME}_cl.h ${OCL_COMMON_HEADERS} ${GPU_KERNEL}) + list(APPEND GPU_LIB_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/gpu/${KERNEL_NAME}_cl.h) + endforeach() + + GenerateOpenCLHeader(gayberne ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu) + GenerateOpenCLHeader(gayberne_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu) + GenerateOpenCLHeader(re_squared ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu) + GenerateOpenCLHeader(re_squared_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu) + GenerateOpenCLHeader(tersoff ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu) + GenerateOpenCLHeader(tersoff_zbl ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu) + GenerateOpenCLHeader(tersoff_mod ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu) + + list(APPEND GPU_LIB_SOURCES + ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h + ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h + ) + + add_library(gpu STATIC ${GPU_LIB_SOURCES}) + target_link_libraries(gpu PRIVATE OpenCL::OpenCL) + target_include_directories(gpu PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/gpu) + target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -D${OCL_TUNE}_OCL -DMPI_GERYON -DUCL_NO_EXIT) + target_compile_definitions(gpu PRIVATE -DUSE_OPENCL) + + target_link_libraries(lammps PRIVATE gpu) + + add_executable(ocl_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp) + target_compile_definitions(ocl_get_devices PRIVATE -DUCL_OPENCL) + target_link_libraries(ocl_get_devices PRIVATE OpenCL::OpenCL) +elseif(GPU_API STREQUAL "HIP") + if(NOT DEFINED HIP_PATH) + if(NOT DEFINED ENV{HIP_PATH}) + set(HIP_PATH "/opt/rocm/hip" CACHE PATH "Path to which HIP has been installed") + else() + set(HIP_PATH $ENV{HIP_PATH} CACHE PATH "Path to which HIP has been installed") + endif() + endif() + set(CMAKE_MODULE_PATH "${HIP_PATH}/cmake" ${CMAKE_MODULE_PATH}) + find_package(HIP REQUIRED) + option(HIP_USE_DEVICE_SORT "Use GPU sorting" ON) + + if(NOT DEFINED HIP_PLATFORM) + if(NOT DEFINED ENV{HIP_PLATFORM}) + set(HIP_PLATFORM "hcc" CACHE PATH "HIP Platform to be used during compilation") + else() + set(HIP_PLATFORM $ENV{HIP_PLATFORM} CACHE PATH "HIP Platform used during compilation") + endif() + endif() + + set(ENV{HIP_PLATFORM} ${HIP_PLATFORM}) + + if(HIP_PLATFORM STREQUAL "hcc") + set(HIP_ARCH "gfx906" CACHE STRING "HIP target architecture") + elseif(HIP_PLATFORM STREQUAL "nvcc") + find_package(CUDA REQUIRED) + set(HIP_ARCH "sm_50" CACHE STRING "HIP primary CUDA architecture (e.g. sm_60)") + + # build arch/gencode commands for nvcc based on CUDA toolkit version and use choice + # --arch translates directly instead of JIT, so this should be for the preferred or most common architecture + set(HIP_CUDA_GENCODE "-arch=${HIP_ARCH} ") + # Fermi (GPU Arch 2.x) is supported by CUDA 3.2 to CUDA 8.0 + if((CUDA_VERSION VERSION_GREATER "3.1") AND (CUDA_VERSION VERSION_LESS "9.0")) + string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_20,code=[sm_20,compute_20] ") + endif() + # Kepler (GPU Arch 3.x) is supported by CUDA 5 and later + if(CUDA_VERSION VERSION_GREATER "4.9") + string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] ") + endif() + # Maxwell (GPU Arch 5.x) is supported by CUDA 6 and later + if(CUDA_VERSION VERSION_GREATER "5.9") + string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] ") + endif() + # Pascal (GPU Arch 6.x) is supported by CUDA 8 and later + if(CUDA_VERSION VERSION_GREATER "7.9") + string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] ") + endif() + # Volta (GPU Arch 7.0) is supported by CUDA 9 and later + if(CUDA_VERSION VERSION_GREATER "8.9") + string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_70,code=[sm_70,compute_70] ") + endif() + # Turing (GPU Arch 7.5) is supported by CUDA 10 and later + if(CUDA_VERSION VERSION_GREATER "9.9") + string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_75,code=[sm_75,compute_75] ") endif() - set(GPU_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/GPU) - set(GPU_SOURCES ${GPU_SOURCES_DIR}/gpu_extra.h - ${GPU_SOURCES_DIR}/fix_gpu.h - ${GPU_SOURCES_DIR}/fix_gpu.cpp) - - set(GPU_API "opencl" CACHE STRING "API used by GPU package") - set(GPU_API_VALUES opencl cuda) - set_property(CACHE GPU_API PROPERTY STRINGS ${GPU_API_VALUES}) - validate_option(GPU_API GPU_API_VALUES) - string(TOUPPER ${GPU_API} GPU_API) - - set(GPU_PREC "mixed" CACHE STRING "LAMMPS GPU precision") - set(GPU_PREC_VALUES double mixed single) - set_property(CACHE GPU_PREC PROPERTY STRINGS ${GPU_PREC_VALUES}) - validate_option(GPU_PREC GPU_PREC_VALUES) - string(TOUPPER ${GPU_PREC} GPU_PREC) - - if(GPU_PREC STREQUAL "DOUBLE") - set(GPU_PREC_SETTING "DOUBLE_DOUBLE") - elseif(GPU_PREC STREQUAL "MIXED") - set(GPU_PREC_SETTING "SINGLE_DOUBLE") - elseif(GPU_PREC STREQUAL "SINGLE") - set(GPU_PREC_SETTING "SINGLE_SINGLE") + endif() + + file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/[^.]*.cu) + list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu) + + set(GPU_LIB_CU_HIP "") + foreach(CU_FILE ${GPU_LIB_CU}) + get_filename_component(CU_NAME ${CU_FILE} NAME_WE) + string(REGEX REPLACE "^.*lal_" "" CU_NAME "${CU_NAME}") + + set(CU_CPP_FILE "${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}.cu.cpp") + set(CUBIN_FILE "${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}.cubin") + set(CUBIN_H_FILE "${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h") + + if(HIP_PLATFORM STREQUAL "hcc") + configure_file(${CU_FILE} ${CU_CPP_FILE} COPYONLY) + + add_custom_command(OUTPUT ${CUBIN_FILE} + VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --genco -t="${HIP_ARCH}" -f=\"-O3 -ffast-math -DUSE_HIP -D_${GPU_PREC_SETTING} -I${LAMMPS_LIB_SOURCE_DIR}/gpu\" -o ${CUBIN_FILE} ${CU_CPP_FILE} + DEPENDS ${CU_CPP_FILE} + COMMENT "Generating ${CU_NAME}.cubin") + elseif(HIP_PLATFORM STREQUAL "nvcc") + add_custom_command(OUTPUT ${CUBIN_FILE} + VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --fatbin --use_fast_math -DUSE_HIP -D_${GPU_PREC_SETTING} ${HIP_CUDA_GENCODE} -I${LAMMPS_LIB_SOURCE_DIR}/gpu -o ${CUBIN_FILE} ${CU_FILE} + DEPENDS ${CU_FILE} + COMMENT "Generating ${CU_NAME}.cubin") endif() - file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cpp) - file(MAKE_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/gpu) + add_custom_command(OUTPUT ${CUBIN_H_FILE} + COMMAND ${CMAKE_COMMAND} -D SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} -D VARNAME=${CU_NAME} -D HEADER_FILE=${CUBIN_H_FILE} -D SOURCE_FILES=${CUBIN_FILE} -P ${CMAKE_CURRENT_SOURCE_DIR}/Modules/GenerateBinaryHeader.cmake + DEPENDS ${CUBIN_FILE} + COMMENT "Generating ${CU_NAME}_cubin.h") - if(GPU_API STREQUAL "CUDA") - find_package(CUDA REQUIRED) - find_program(BIN2C bin2c) - if(NOT BIN2C) - message(FATAL_ERROR "Could not find bin2c, use -DBIN2C=/path/to/bin2c to help cmake finding it.") - endif() - option(CUDPP_OPT "Enable CUDPP_OPT" ON) - option(CUDA_MPS_SUPPORT "Enable tweaks to support CUDA Multi-process service (MPS)" OFF) - if(CUDA_MPS_SUPPORT) - set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY") - endif() + list(APPEND GPU_LIB_SOURCES ${CUBIN_H_FILE}) + endforeach() - set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM primary architecture (e.g. sm_60)") + set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${LAMMPS_LIB_BINARY_DIR}/gpu/*_cubin.h ${LAMMPS_LIB_BINARY_DIR}/gpu/*.cu.cpp") - file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/[^.]*.cu) - list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu) + hip_add_library(gpu STATIC ${GPU_LIB_SOURCES}) + target_include_directories(gpu PRIVATE ${LAMMPS_LIB_BINARY_DIR}/gpu) + target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -DMPI_GERYON -DUCL_NO_EXIT) + target_compile_definitions(gpu PRIVATE -DUSE_HIP) - cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu ${LAMMPS_LIB_BINARY_DIR}/gpu) + if(HIP_USE_DEVICE_SORT) + # add hipCUB + target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include) + target_compile_definitions(gpu PRIVATE -DUSE_HIP_DEVICE_SORT) - if(CUDPP_OPT) - cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini) - file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cpp) - file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/[^.]*.cu) - endif() + if(HIP_PLATFORM STREQUAL "nvcc") + find_package(CUB) - # build arch/gencode commands for nvcc based on CUDA toolkit version and use choice - # --arch translates directly instead of JIT, so this should be for the preferred or most common architecture - set(GPU_CUDA_GENCODE "-arch=${GPU_ARCH} ") - # Fermi (GPU Arch 2.x) is supported by CUDA 3.2 to CUDA 8.0 - if((CUDA_VERSION VERSION_GREATER "3.1") AND (CUDA_VERSION VERSION_LESS "9.0")) - string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_20,code=[sm_20,compute_20] ") - endif() - # Kepler (GPU Arch 3.x) is supported by CUDA 5 and later - if(CUDA_VERSION VERSION_GREATER "4.9") - string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] ") - endif() - # Maxwell (GPU Arch 5.x) is supported by CUDA 6 and later - if(CUDA_VERSION VERSION_GREATER "5.9") - string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] ") - endif() - # Pascal (GPU Arch 6.x) is supported by CUDA 8 and later - if(CUDA_VERSION VERSION_GREATER "7.9") - string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] ") - endif() - # Volta (GPU Arch 7.0) is supported by CUDA 9 and later - if(CUDA_VERSION VERSION_GREATER "8.9") - string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_70,code=[sm_70,compute_70] ") - endif() - # Turing (GPU Arch 7.5) is supported by CUDA 10 and later - if(CUDA_VERSION VERSION_GREATER "9.9") - string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_75,code=[sm_75,compute_75] ") + if(CUB_FOUND) + set(DOWNLOAD_CUB_DEFAULT OFF) + else() + set(DOWNLOAD_CUB_DEFAULT ON) endif() - cuda_compile_fatbin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS - -DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DNV_KERNEL -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING}) - - cuda_compile(GPU_OBJS ${GPU_LIB_CUDPP_CU} OPTIONS ${CUDA_REQUEST_PIC} - -DUNIX -O3 --use_fast_math -Wno-deprecated-gpu-targets -DUCL_CUDADR ${GPU_CUDA_GENCODE} -D_${GPU_PREC_SETTING}) - - foreach(CU_OBJ ${GPU_GEN_OBJS}) - get_filename_component(CU_NAME ${CU_OBJ} NAME_WE) - string(REGEX REPLACE "^.*_lal_" "" CU_NAME "${CU_NAME}") - add_custom_command(OUTPUT ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h - COMMAND ${BIN2C} -c -n ${CU_NAME} ${CU_OBJ} > ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h - DEPENDS ${CU_OBJ} - COMMENT "Generating ${CU_NAME}_cubin.h") - list(APPEND GPU_LIB_SOURCES ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h) - endforeach() - set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${LAMMPS_LIB_BINARY_DIR}/gpu/*_cubin.h") - - - add_library(gpu STATIC ${GPU_LIB_SOURCES} ${GPU_LIB_CUDPP_SOURCES} ${GPU_OBJS}) - target_link_libraries(gpu ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY}) - target_include_directories(gpu PRIVATE ${LAMMPS_LIB_BINARY_DIR}/gpu ${CUDA_INCLUDE_DIRS}) - target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -DMPI_GERYON -DUCL_NO_EXIT ${GPU_CUDA_MPS_FLAGS}) - if(CUDPP_OPT) - target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini) - target_compile_definitions(gpu PRIVATE -DUSE_CUDPP) + option(DOWNLOAD_CUB "Download and compile the CUB library instead of using an already installed one" ${DOWNLOAD_CUB_DEFAULT}) + + if(DOWNLOAD_CUB) + message(STATUS "CUB download requested") + include(ExternalProject) + + ExternalProject_Add(CUB + GIT_REPOSITORY https://github.com/NVlabs/cub + TIMEOUT 5 + PREFIX "${CMAKE_CURRENT_BINARY_DIR}" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + UPDATE_COMMAND "" + ) + ExternalProject_get_property(CUB SOURCE_DIR) + set(CUB_INCLUDE_DIR ${SOURCE_DIR}) + else() + find_package(CUB) + if(NOT CUB_FOUND) + message(FATAL_ERROR "CUB library not found. Help CMake to find it by setting CUB_INCLUDE_DIR, or set DOWNLOAD_VORO=ON to download it") + endif() endif() - list(APPEND LAMMPS_LINK_LIBS gpu) - - add_executable(nvc_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp) - target_compile_definitions(nvc_get_devices PRIVATE -DUCL_CUDADR) - target_link_libraries(nvc_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY}) - target_include_directories(nvc_get_devices PRIVATE ${CUDA_INCLUDE_DIRS}) - - - elseif(GPU_API STREQUAL "OPENCL") - find_package(OpenCL REQUIRED) - set(OCL_TUNE "generic" CACHE STRING "OpenCL Device Tuning") - set(OCL_TUNE_VALUES intel fermi kepler cypress generic) - set_property(CACHE OCL_TUNE PROPERTY STRINGS ${OCL_TUNE_VALUES}) - validate_option(OCL_TUNE OCL_TUNE_VALUES) - string(TOUPPER ${OCL_TUNE} OCL_TUNE) - - include(OpenCLUtils) - set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h) - - file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cu) - list(REMOVE_ITEM GPU_LIB_CU - ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu - ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu - ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu - ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu - ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu - ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu - ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu - ) - - foreach(GPU_KERNEL ${GPU_LIB_CU}) - get_filename_component(basename ${GPU_KERNEL} NAME_WE) - string(SUBSTRING ${basename} 4 -1 KERNEL_NAME) - GenerateOpenCLHeader(${KERNEL_NAME} ${CMAKE_CURRENT_BINARY_DIR}/gpu/${KERNEL_NAME}_cl.h ${OCL_COMMON_HEADERS} ${GPU_KERNEL}) - list(APPEND GPU_LIB_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/gpu/${KERNEL_NAME}_cl.h) - endforeach() - - GenerateOpenCLHeader(gayberne ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu) - GenerateOpenCLHeader(gayberne_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu) - GenerateOpenCLHeader(re_squared ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared.cu) - GenerateOpenCLHeader(re_squared_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_re_squared_lj.cu) - GenerateOpenCLHeader(tersoff ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff.cu) - GenerateOpenCLHeader(tersoff_zbl ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_zbl.cu) - GenerateOpenCLHeader(tersoff_mod ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_tersoff_mod.cu) - - list(APPEND GPU_LIB_SOURCES - ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h - ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h - ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_cl.h - ${CMAKE_CURRENT_BINARY_DIR}/gpu/re_squared_lj_cl.h - ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_cl.h - ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_zbl_cl.h - ${CMAKE_CURRENT_BINARY_DIR}/gpu/tersoff_mod_cl.h - ) - - add_library(gpu STATIC ${GPU_LIB_SOURCES}) - target_link_libraries(gpu ${OpenCL_LIBRARIES}) - target_include_directories(gpu PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/gpu ${OpenCL_INCLUDE_DIRS}) - target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -D${OCL_TUNE}_OCL -DMPI_GERYON -DUCL_NO_EXIT) - target_compile_definitions(gpu PRIVATE -DUSE_OPENCL) - - list(APPEND LAMMPS_LINK_LIBS gpu) - - add_executable(ocl_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp) - target_compile_definitions(ocl_get_devices PRIVATE -DUCL_OPENCL) - target_link_libraries(ocl_get_devices PRIVATE ${OpenCL_LIBRARIES}) - target_include_directories(ocl_get_devices PRIVATE ${OpenCL_INCLUDE_DIRS}) + target_include_directories(gpu PRIVATE ${CUB_INCLUDE_DIR}) endif() + endif() + + hip_add_executable(hip_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp) + target_compile_definitions(hip_get_devices PRIVATE -DUCL_HIP) + + if(HIP_PLATFORM STREQUAL "nvcc") + target_compile_definitions(gpu PRIVATE -D__HIP_PLATFORM_NVCC__) + target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include) + target_include_directories(gpu PRIVATE ${CUDA_INCLUDE_DIRS}) + target_link_libraries(gpu PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY}) + + target_compile_definitions(hip_get_devices PRIVATE -D__HIP_PLATFORM_NVCC__) + target_include_directories(hip_get_devices PRIVATE ${HIP_ROOT_DIR}/include) + target_include_directories(hip_get_devices PRIVATE ${CUDA_INCLUDE_DIRS}) + target_link_libraries(hip_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY}) + elseif(HIP_PLATFORM STREQUAL "hcc") + target_compile_definitions(gpu PRIVATE -D__HIP_PLATFORM_HCC__) + target_include_directories(gpu PRIVATE ${HIP_ROOT_DIR}/../include) + + target_compile_definitions(hip_get_devices PRIVATE -D__HIP_PLATFORM_HCC__) + target_include_directories(hip_get_devices PRIVATE ${HIP_ROOT_DIR}/../include) + endif() + + target_link_libraries(lammps PRIVATE gpu) +endif() - # GPU package - FindStyleHeaders(${GPU_SOURCES_DIR} FIX_CLASS fix_ FIX) +# GPU package +FindStyleHeaders(${GPU_SOURCES_DIR} FIX_CLASS fix_ FIX) - set_property(GLOBAL PROPERTY "GPU_SOURCES" "${GPU_SOURCES}") +set_property(GLOBAL PROPERTY "GPU_SOURCES" "${GPU_SOURCES}") - # detects styles which have GPU version - RegisterStylesExt(${GPU_SOURCES_DIR} gpu GPU_SOURCES) +# detects styles which have GPU version +RegisterStylesExt(${GPU_SOURCES_DIR} gpu GPU_SOURCES) - get_property(GPU_SOURCES GLOBAL PROPERTY GPU_SOURCES) +get_property(GPU_SOURCES GLOBAL PROPERTY GPU_SOURCES) - list(APPEND LIB_SOURCES ${GPU_SOURCES}) - include_directories(${GPU_SOURCES_DIR}) +if(NOT BUILD_MPI) + # mpistubs is aliased to MPI::MPI_CXX, but older versions of cmake won't work forward the include path + target_link_libraries(gpu PRIVATE mpi_stubs) +else() + target_link_libraries(gpu PRIVATE MPI::MPI_CXX) +endif() +if(NOT BUILD_SHARED_LIBS) + install(TARGETS gpu EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() +target_compile_definitions(gpu PRIVATE -DLAMMPS_${LAMMPS_SIZES}) +set_target_properties(gpu PROPERTIES OUTPUT_NAME lammps_gpu${LAMMPS_MACHINE}) +target_sources(lammps PRIVATE ${GPU_SOURCES}) +target_include_directories(lammps PRIVATE ${GPU_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/KIM.cmake b/cmake/Modules/Packages/KIM.cmake index a75e248097c670957bcf91419b7c2db24582002f..278a6b5afc19a6e45e761e9931a15c5e80b74e77 100644 --- a/cmake/Modules/Packages/KIM.cmake +++ b/cmake/Modules/Packages/KIM.cmake @@ -1,67 +1,66 @@ -if(PKG_KIM) - set(KIM-API_MIN_VERSION 2.1) - find_package(CURL) - if(CURL_FOUND) - include_directories(${CURL_INCLUDE_DIRS}) - list(APPEND LAMMPS_LINK_LIBS ${CURL_LIBRARIES}) - add_definitions(-DLMP_KIM_CURL) - set(LMP_DEBUG_CURL OFF CACHE STRING "Set libcurl verbose mode on/off. If on, it displays a lot of verbose information about its operations.") - mark_as_advanced(LMP_DEBUG_CURL) - if(LMP_DEBUG_CURL) - add_definitions(-DLMP_DEBUG_CURL) - endif() - set(LMP_NO_SSL_CHECK OFF CACHE STRING "Tell libcurl to not verify the peer. If on, the connection succeeds regardless of the names in the certificate. Insecure - Use with caution!") - mark_as_advanced(LMP_NO_SSL_CHECK) - if(LMP_NO_SSL_CHECK) - add_definitions(-DLMP_NO_SSL_CHECK) - endif() +set(KIM-API_MIN_VERSION 2.1.3) +find_package(CURL) +if(CURL_FOUND) + if(CMAKE_VERSION VERSION_LESS 3.12) + target_include_directories(lammps PRIVATE ${CURL_INCLUDE_DIRS}) + target_link_libraries(lammps PRIVATE ${CURL_LIBRARIES}) + else() + target_link_libraries(lammps PRIVATE CURL::libcurl) + endif() + target_compile_definitions(lammps PRIVATE -DLMP_KIM_CURL) + set(LMP_DEBUG_CURL OFF CACHE STRING "Set libcurl verbose mode on/off. If on, it displays a lot of verbose information about its operations.") + mark_as_advanced(LMP_DEBUG_CURL) + if(LMP_DEBUG_CURL) + target_compile_definitions(lammps PRIVATE -DLMP_DEBUG_CURL) endif() - find_package(KIM-API QUIET) + set(LMP_NO_SSL_CHECK OFF CACHE STRING "Tell libcurl to not verify the peer. If on, the connection succeeds regardless of the names in the certificate. Insecure - Use with caution!") + mark_as_advanced(LMP_NO_SSL_CHECK) + if(LMP_NO_SSL_CHECK) + target_compile_definitions(lammps PRIVATE -DLMP_NO_SSL_CHECK) + endif() +endif() +find_package(PkgConfig QUIET) +set(DOWNLOAD_KIM_DEFAULT ON) +if(PKG_CONFIG_FOUND) + pkg_check_modules(KIM-API QUIET libkim-api>=${KIM-API_MIN_VERSION}) if(KIM-API_FOUND) - if (KIM-API_VERSION VERSION_LESS ${KIM-API_MIN_VERSION}) - if ("${DOWNLOAD_KIM}" STREQUAL "") - message(WARNING "Unsuitable KIM-API version \"${KIM-API_VERSION}\" found, but required is at least \"${KIM-API_MIN_VERSION}\". Default behavior set to download and build our own.") - endif() - set(DOWNLOAD_KIM_DEFAULT ON) - else() - set(DOWNLOAD_KIM_DEFAULT OFF) - endif() - else() - if ("${DOWNLOAD_KIM}" STREQUAL "") - message(WARNING "KIM-API package not found. Default behavior set to download and build our own") - endif() - set(DOWNLOAD_KIM_DEFAULT ON) + set(DOWNLOAD_KIM_DEFAULT OFF) endif() - option(DOWNLOAD_KIM "Download KIM-API from OpenKIM instead of using an already installed one" ${DOWNLOAD_KIM_DEFAULT}) - if(DOWNLOAD_KIM) - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded KIM-API library with Ninja build tool") - endif() - message(STATUS "KIM-API download requested - we will build our own") - include(CheckLanguage) - include(ExternalProject) - enable_language(C) - check_language(Fortran) - if(NOT CMAKE_Fortran_COMPILER) - message(FATAL_ERROR "Compiling the KIM-API library requires a Fortran compiler") - endif() - ExternalProject_Add(kim_build - URL https://s3.openkim.org/kim-api/kim-api-2.1.3.txz - URL_MD5 6ee829a1bbba5f8b9874c88c4c4ebff8 - BINARY_DIR build - CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} - -DCMAKE_INSTALL_PREFIX= - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - ) - ExternalProject_get_property(kim_build INSTALL_DIR) - set(KIM-API_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api) - set(KIM-API_LDFLAGS ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX}) - list(APPEND LAMMPS_DEPS kim_build) - else() - find_package(KIM-API ${KIM-API_MIN_VERSION} REQUIRED) +endif() +option(DOWNLOAD_KIM "Download KIM-API from OpenKIM instead of using an already installed one" ${DOWNLOAD_KIM_DEFAULT}) +if(DOWNLOAD_KIM) + message(STATUS "KIM-API download requested - we will build our own") + include(ExternalProject) + enable_language(C) + enable_language(Fortran) + ExternalProject_Add(kim_build + URL https://s3.openkim.org/kim-api/kim-api-2.1.3.txz + URL_MD5 6ee829a1bbba5f8b9874c88c4c4ebff8 + BINARY_DIR build + CMAKE_ARGS ${CMAKE_REQUEST_PIC} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} + -DCMAKE_INSTALL_LIBDIR=lib + -DCMAKE_INSTALL_PREFIX= + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + BUILD_BYPRODUCTS /lib/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX} + ) + ExternalProject_get_property(kim_build INSTALL_DIR) + file(MAKE_DIRECTORY ${INSTALL_DIR}/include/kim-api) + add_library(LAMMPS::KIM UNKNOWN IMPORTED) + set_target_properties(LAMMPS::KIM PROPERTIES + IMPORTED_LOCATION "${INSTALL_DIR}/lib/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include/kim-api") + target_link_libraries(lammps PRIVATE LAMMPS::KIM) + add_dependencies(LAMMPS::KIM kim_build) + if(NOT BUILD_SHARED_LIBS) + install(CODE "MESSAGE(FATAL_ERROR \"Installing liblammps with downloaded libraries is currently not supported.\")") endif() - list(APPEND LAMMPS_LINK_LIBS "${KIM-API_LDFLAGS}") - include_directories(${KIM-API_INCLUDE_DIRS}) +else() + find_package(PkgConfig REQUIRED) + pkg_check_modules(KIM-API REQUIRED IMPORTED_TARGET libkim-api>=${KIM-API_MIN_VERSION}) + target_link_libraries(lammps PRIVATE PkgConfig::KIM-API) endif() diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index 428588ec9d06e860f3535cf6b8de619fc896a67d..eb549519d171f89f826b4f14c05d1fa88767a67e 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -1,66 +1,125 @@ -if(PKG_KOKKOS) - # TODO: this option needs to be documented when this works with a - # regular release version of KOKKOS, and a version compatibility check - # of external KOKKOS lib versus what the KOKKOS package needs is required. - option(EXTERNAL_KOKKOS "Build against external kokkos library") - if(EXTERNAL_KOKKOS) - find_package(Kokkos REQUIRED) - list(APPEND LAMMPS_LINK_LIBS Kokkos::kokkos) - else() - set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) - set(LAMMPS_LIB_KOKKOS_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/kokkos) - add_subdirectory(${LAMMPS_LIB_KOKKOS_SRC_DIR} ${LAMMPS_LIB_KOKKOS_BIN_DIR}) - - set(Kokkos_INCLUDE_DIRS ${LAMMPS_LIB_KOKKOS_SRC_DIR}/core/src - ${LAMMPS_LIB_KOKKOS_SRC_DIR}/containers/src - ${LAMMPS_LIB_KOKKOS_SRC_DIR}/algorithms/src - ${LAMMPS_LIB_KOKKOS_BIN_DIR}) - include_directories(${Kokkos_INCLUDE_DIRS}) - list(APPEND LAMMPS_LINK_LIBS kokkos) +######################################################################## +# consistency checks and Kokkos options/settings required by LAMMPS +if(Kokkos_ENABLE_CUDA) + message(STATUS "KOKKOS: Enabling CUDA LAMBDA function support") + set(Kokkos_ENABLE_CUDA_LAMBDA ON CACHE BOOL "" FORCE) +endif() +# Adding OpenMP compiler flags without the checks done for +# BUILD_OMP can result in compile failures. Enforce consistency. +if(Kokkos_ENABLE_OPENMP AND NOT BUILD_OMP) + message(FATAL_ERROR "Must enable BUILD_OMP with Kokkos_ENABLE_OPENMP") +endif() +######################################################################## + +option(EXTERNAL_KOKKOS "Build against external kokkos library" OFF) +option(DOWNLOAD_KOKKOS "Download the KOKKOS library instead of using the bundled one" OFF) +if(DOWNLOAD_KOKKOS) + # extract Kokkos-related variables and values so we can forward them to the Kokkos library build + get_cmake_property(_VARS VARIABLES) + list(FILTER _VARS INCLUDE REGEX ^Kokkos_) + foreach(_VAR IN LISTS _VARS) + list(APPEND KOKKOS_LIB_BUILD_ARGS "-D${_VAR}=${${_VAR}}") + endforeach() + message(STATUS "KOKKOS download requested - we will build our own") + list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_INSTALL_PREFIX=") + if(CMAKE_REQUEST_PIC) + list(APPEND KOKKOS_LIB_BUILD_ARGS ${CMAKE_REQUEST_PIC}) + endif() + # append other CMake variables that need to be forwarded to CMAKE_ARGS + list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}") + list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_INSTALL_LIBDIR=lib") + list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}") + list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}") + list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}") + list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}") + list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") + include(ExternalProject) + ExternalProject_Add(kokkos_build + URL https://github.com/kokkos/kokkos/archive/3.1.00.tar.gz + URL_MD5 f638a6c786f748a602b26faa0e96ebab + CMAKE_ARGS ${KOKKOS_LIB_BUILD_ARGS} + BUILD_BYPRODUCTS /lib/libkokkoscore.a + ) + ExternalProject_get_property(kokkos_build INSTALL_DIR) + file(MAKE_DIRECTORY ${INSTALL_DIR}/include) + add_library(LAMMPS::KOKKOS UNKNOWN IMPORTED) + set_target_properties(LAMMPS::KOKKOS PROPERTIES + IMPORTED_LOCATION "${INSTALL_DIR}/lib/libkokkoscore.a" + INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include" + INTERFACE_LINK_LIBRARIES ${CMAKE_DL_LIBS}) + target_link_libraries(lammps PRIVATE LAMMPS::KOKKOS) + add_dependencies(LAMMPS::KOKKOS kokkos_build) + if(NOT BUILD_SHARED_LIBS) + install(CODE "MESSAGE(FATAL_ERROR \"Installing liblammps with downloaded libraries is currently not supported.\")") endif() - add_definitions(-DLMP_KOKKOS) +elseif(EXTERNAL_KOKKOS) + find_package(Kokkos 3.1) + if(NOT Kokkos_FOUND) + message(FATAL_ERROR "KOKKOS library version 3.1 or later not found, help CMake to find it by setting KOKKOS_LIBRARY, or set DOWNLOAD_KOKKOS=ON to download it") + endif() + target_link_libraries(lammps PRIVATE Kokkos::kokkos) +else() + set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) + set(LAMMPS_LIB_KOKKOS_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/kokkos) + add_subdirectory(${LAMMPS_LIB_KOKKOS_SRC_DIR} ${LAMMPS_LIB_KOKKOS_BIN_DIR}) - set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS) - set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/atom_kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/atom_vec_kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/comm_kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/comm_tiled_kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/min_kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/min_linesearch_kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/neighbor_kokkos.cpp - ${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}/npair_halffull_kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/domain_kokkos.cpp - ${KOKKOS_PKG_SOURCES_DIR}/modify_kokkos.cpp) + set(Kokkos_INCLUDE_DIRS ${LAMMPS_LIB_KOKKOS_SRC_DIR}/core/src + ${LAMMPS_LIB_KOKKOS_SRC_DIR}/containers/src + ${LAMMPS_LIB_KOKKOS_SRC_DIR}/algorithms/src + ${LAMMPS_LIB_KOKKOS_BIN_DIR}) + target_include_directories(lammps PRIVATE ${Kokkos_INCLUDE_DIRS}) + target_link_libraries(lammps PRIVATE kokkos) +endif() +target_compile_definitions(lammps PRIVATE -DLMP_KOKKOS) - if(PKG_KSPACE) - list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp) - endif() +set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS) +set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/atom_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/atom_vec_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/comm_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/comm_tiled_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/min_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/min_linesearch_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/neighbor_kokkos.cpp + ${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}/npair_halffull_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}") +if(PKG_KSPACE) + list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/fft3d_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp + ${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp) + if(Kokkos_ENABLE_CUDA) + if(NOT ${FFT} STREQUAL "KISS") + target_compile_definitions(lammps PRIVATE -DFFT_CUFFT) + target_link_libraries(lammps PRIVATE cufft) + endif() + endif() +endif() - # detects styles which have KOKKOS version - RegisterStylesExt(${KOKKOS_PKG_SOURCES_DIR} kokkos KOKKOS_PKG_SOURCES) +set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}") - # register kokkos-only styles - RegisterNBinStyle(${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.h) - RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.h) - RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.h) +# detects styles which have KOKKOS version +RegisterStylesExt(${KOKKOS_PKG_SOURCES_DIR} kokkos KOKKOS_PKG_SOURCES) - if(PKG_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() +# register kokkos-only styles +RegisterNBinStyle(${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.h) +RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.h) +RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_halffull_kokkos.h) +if(PKG_USER-DPD) get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES) - - list(APPEND LIB_SOURCES ${KOKKOS_PKG_SOURCES}) - include_directories(${KOKKOS_PKG_SOURCES_DIR}) + 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) + +target_sources(lammps PRIVATE ${KOKKOS_PKG_SOURCES}) +target_include_directories(lammps PRIVATE ${KOKKOS_PKG_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/KSPACE.cmake b/cmake/Modules/Packages/KSPACE.cmake index 63c42baf2d5c0bb17fce96f85dfc99fe84b6eede..dce0c15ef60a0eab19600ee616e87c7ac0a04dac 100644 --- a/cmake/Modules/Packages/KSPACE.cmake +++ b/cmake/Modules/Packages/KSPACE.cmake @@ -1,42 +1,56 @@ -if(PKG_KSPACE) - option(FFT_SINGLE "Use single precision FFTs instead of double precision FFTs" OFF) - set(FFTW "FFTW3") - if(FFT_SINGLE) - set(FFTW "FFTW3F") - add_definitions(-DFFT_SINGLE) - endif() - find_package(${FFTW} QUIET) - if(${FFTW}_FOUND) - set(FFT "FFTW3" CACHE STRING "FFT library for KSPACE package") - else() - set(FFT "KISS" CACHE STRING "FFT library for KSPACE package") - endif() - set(FFT_VALUES KISS FFTW3 MKL) - set_property(CACHE FFT PROPERTY STRINGS ${FFT_VALUES}) - validate_option(FFT FFT_VALUES) - string(TOUPPER ${FFT} FFT) +option(FFT_SINGLE "Use single precision FFTs instead of double precision FFTs" OFF) +set(FFTW "FFTW3") +if(FFT_SINGLE) + set(FFTW "FFTW3F") + target_compile_definitions(lammps PUBLIC -DFFT_SINGLE) +endif() +find_package(${FFTW} QUIET) +if(${FFTW}_FOUND) + set(FFT "FFTW3" CACHE STRING "FFT library for KSPACE package") +else() + set(FFT "KISS" CACHE STRING "FFT library for KSPACE package") +endif() +set(FFT_VALUES KISS FFTW3 MKL) +set_property(CACHE FFT PROPERTY STRINGS ${FFT_VALUES}) +validate_option(FFT FFT_VALUES) +string(TOUPPER ${FFT} FFT) - if(FFT STREQUAL "FFTW3") - find_package(${FFTW} REQUIRED) - add_definitions(-DFFT_FFTW3) - include_directories(${${FFTW}_INCLUDE_DIRS}) - list(APPEND LAMMPS_LINK_LIBS ${${FFTW}_LIBRARIES}) - elseif(FFT STREQUAL "MKL") - find_package(MKL REQUIRED) - add_definitions(-DFFT_MKL) - include_directories(${MKL_INCLUDE_DIRS}) - list(APPEND LAMMPS_LINK_LIBS ${MKL_LIBRARIES}) +if(FFT STREQUAL "FFTW3") + find_package(${FFTW} REQUIRED) + target_compile_definitions(lammps PUBLIC -DFFT_FFTW3) + target_link_libraries(lammps PUBLIC ${FFTW}::${FFTW}) + if(FFTW3_OMP_LIBRARY OR FFTW3F_OMP_LIBRARY) + option(FFT_FFTW_THREADS "Use threaded FFTW library" ON) else() - # last option is KISSFFT - add_definitions(-DFFT_KISS) + option(FFT_FFTW_THREADS "Use threaded FFT library" OFF) endif() - set(FFT_PACK "array" CACHE STRING "Optimization for FFT") - set(FFT_PACK_VALUES array pointer memcpy) - set_property(CACHE FFT_PACK PROPERTY STRINGS ${FFT_PACK_VALUES}) - validate_option(FFT_PACK FFT_PACK_VALUES) - if(NOT FFT_PACK STREQUAL "array") - string(TOUPPER ${FFT_PACK} FFT_PACK) - add_definitions(-DFFT_PACK_${FFT_PACK}) + if(FFT_FFTW_THREADS) + if(FFTW3_OMP_LIBRARY OR FFTW3F_OMP_LIBRARY) + target_compile_definitions(lammps PRIVATE -DFFT_FFTW_THREADS) + target_link_libraries(lammps PRIVATE ${FFTW}::${FFTW}_OMP) + else() + message(FATAL_ERROR "Need OpenMP enabled FFTW3 library for FFT_THREADS") + endif() + endif() +elseif(FFT STREQUAL "MKL") + find_package(MKL REQUIRED) + target_compile_definitions(lammps PRIVATE -DFFT_MKL) + option(FFT_MKL_THREADS "Use threaded MKL FFT" ON) + if(FFT_MKL_THREADS) + target_compile_definitions(lammps PRIVATE -DFFT_MKL_THREADS) endif() + target_link_libraries(lammps PRIVATE MKL::MKL) +else() + # last option is KISSFFT + target_compile_definitions(lammps PRIVATE -DFFT_KISS) +endif() + +set(FFT_PACK "array" CACHE STRING "Optimization for FFT") +set(FFT_PACK_VALUES array pointer memcpy) +set_property(CACHE FFT_PACK PROPERTY STRINGS ${FFT_PACK_VALUES}) +validate_option(FFT_PACK FFT_PACK_VALUES) +if(NOT FFT_PACK STREQUAL "array") + string(TOUPPER ${FFT_PACK} FFT_PACK) + target_compile_definitions(lammps PRIVATE -DFFT_PACK_${FFT_PACK}) endif() diff --git a/cmake/Modules/Packages/LATTE.cmake b/cmake/Modules/Packages/LATTE.cmake index de7116780bfe262faeebecfebea3a465c9a7f4de..a2a94755ab0eec34f676b00476dfd47eb22cfd4a 100644 --- a/cmake/Modules/Packages/LATTE.cmake +++ b/cmake/Modules/Packages/LATTE.cmake @@ -1,38 +1,47 @@ -if(PKG_LATTE) - enable_language(Fortran) - find_package(LATTE) - if(LATTE_FOUND) - set(DOWNLOAD_LATTE_DEFAULT OFF) - else() - set(DOWNLOAD_LATTE_DEFAULT ON) +enable_language(Fortran) + +# using lammps in a super-build setting +if(TARGET LATTE::latte) + target_link_libraries(lammps PRIVATE LATTE::latte) + return() +endif() + +find_package(LATTE) +if(LATTE_FOUND) + set(DOWNLOAD_LATTE_DEFAULT OFF) +else() + set(DOWNLOAD_LATTE_DEFAULT ON) +endif() +option(DOWNLOAD_LATTE "Download the LATTE library instead of using an already installed one" ${DOWNLOAD_LATTE_DEFAULT}) +if(DOWNLOAD_LATTE) + message(STATUS "LATTE download requested - we will build our own") + include(ExternalProject) + ExternalProject_Add(latte_build + URL https://github.com/lanl/LATTE/archive/v1.2.1.tar.gz + URL_MD5 85ac414fdada2d04619c8f936344df14 + SOURCE_SUBDIR cmake + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= ${CMAKE_REQUEST_PIC} -DCMAKE_INSTALL_LIBDIR=lib + -DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES} + -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS} + -DCMAKE_Fortran_FLAGS_${BTYPE}=${CMAKE_Fortran_FLAGS_${BTYPE}} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + BUILD_BYPRODUCTS /lib/liblatte.a + ) + ExternalProject_get_property(latte_build INSTALL_DIR) + add_library(LAMMPS::LATTE UNKNOWN IMPORTED) + set_target_properties(LAMMPS::LATTE PROPERTIES + IMPORTED_LOCATION "${INSTALL_DIR}/lib/liblatte.a" + INTERFACE_LINK_LIBRARIES "${LAPACK_LIBRARIES}") + target_link_libraries(lammps PRIVATE LAMMPS::LATTE) + add_dependencies(LAMMPS::LATTE latte_build) + if(NOT BUILD_SHARED_LIBS) + install(CODE "MESSAGE(FATAL_ERROR \"Installing liblammps with downloaded libraries is currently not supported.\")") endif() - option(DOWNLOAD_LATTE "Download the LATTE library instead of using an already installed one" ${DOWNLOAD_LATTE_DEFAULT}) - if(DOWNLOAD_LATTE) - if (CMAKE_VERSION VERSION_LESS "3.7") # due to SOURCE_SUBDIR - message(FATAL_ERROR "For downlading LATTE you need at least cmake-3.7") - endif() - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded LATTE library with Ninja build tool") - endif() - message(STATUS "LATTE download requested - we will build our own") - include(ExternalProject) - ExternalProject_Add(latte_build - URL https://github.com/lanl/LATTE/archive/v1.2.1.tar.gz - URL_MD5 85ac414fdada2d04619c8f936344df14 - SOURCE_SUBDIR cmake - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= ${CMAKE_REQUEST_PIC} - -DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES} - -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS} - -DCMAKE_Fortran_FLAGS_${BTYPE}=${CMAKE_Fortran_FLAGS_${BTYPE}} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - ) - ExternalProject_get_property(latte_build INSTALL_DIR) - set(LATTE_LIBRARIES ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/liblatte.a) - list(APPEND LAMMPS_DEPS latte_build) - else() - find_package(LATTE) - if(NOT LATTE_FOUND) - message(FATAL_ERROR "LATTE library not found, help CMake to find it by setting LATTE_LIBRARY, or set DOWNLOAD_LATTE=ON to download it") - endif() +else() + find_package(LATTE) + if(NOT LATTE_FOUND) + message(FATAL_ERROR "LATTE library not found, help CMake to find it by setting LATTE_LIBRARY, or set DOWNLOAD_LATTE=ON to download it") endif() - list(APPEND LAMMPS_LINK_LIBS ${LATTE_LIBRARIES} ${LAPACK_LIBRARIES}) + # latte needs lapack + target_link_libraries(lammps PRIVATE LATTE::latte ${LAPACK_LIBRARIES}) endif() diff --git a/cmake/Modules/Packages/MESSAGE.cmake b/cmake/Modules/Packages/MESSAGE.cmake index aff9c2964adecf9088dcd1e23463f1fc36bb7bc9..e1dc4c107236e63e5a5e4ab8b77af1bae1e4b679 100644 --- a/cmake/Modules/Packages/MESSAGE.cmake +++ b/cmake/Modules/Packages/MESSAGE.cmake @@ -1,32 +1,35 @@ -if(PKG_MESSAGE) - if(LAMMPS_SIZES STREQUAL BIGBIG) - message(FATAL_ERROR "The MESSAGE Package is not compatible with -DLAMMPS_BIGBIG") - endif() - option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF) - file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.F - ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.c - ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.cpp) - - add_library(cslib STATIC ${cslib_SOURCES}) - if(BUILD_MPI) - target_compile_definitions(cslib PRIVATE -DMPI_YES) - set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi") - else() - target_compile_definitions(cslib PRIVATE -DMPI_NO) - target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_MPI) - set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi") - endif() +if(LAMMPS_SIZES STREQUAL BIGBIG) + message(FATAL_ERROR "The MESSAGE Package is not compatible with -DLAMMPS_BIGBIG") +endif() +option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF) +file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.F + ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.c + ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/[^.]*.cpp) - if(MESSAGE_ZMQ) - target_compile_definitions(cslib PRIVATE -DZMQ_YES) - find_package(ZMQ REQUIRED) - target_include_directories(cslib PRIVATE ${ZMQ_INCLUDE_DIRS}) - target_link_libraries(cslib PUBLIC ${ZMQ_LIBRARIES}) - else() - target_compile_definitions(cslib PRIVATE -DZMQ_NO) - target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ) - endif() +add_library(cslib STATIC ${cslib_SOURCES}) +if(NOT BUILD_SHARED_LIBS) + install(TARGETS cslib EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +endif() +target_compile_definitions(cslib PRIVATE -DLAMMPS_${LAMMPS_SIZES}) +set_target_properties(cslib PROPERTIES OUTPUT_NAME lammps_cslib${LAMMPS_MACHINE}) +if(BUILD_MPI) + target_compile_definitions(cslib PRIVATE -DMPI_YES) + set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi") + target_link_libraries(cslib PRIVATE MPI::MPI_CXX) +else() + target_compile_definitions(cslib PRIVATE -DMPI_NO) + target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_MPI) + set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi") +endif() - list(APPEND LAMMPS_LINK_LIBS cslib) - include_directories(${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src) +if(MESSAGE_ZMQ) + target_compile_definitions(cslib PRIVATE -DZMQ_YES) + find_package(ZMQ REQUIRED) + target_link_libraries(cslib PUBLIC ZMQ::ZMQ) +else() + target_compile_definitions(cslib PRIVATE -DZMQ_NO) + target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ) endif() + +target_link_libraries(lammps PRIVATE cslib) +target_include_directories(lammps PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src) diff --git a/cmake/Modules/Packages/MSCG.cmake b/cmake/Modules/Packages/MSCG.cmake index b442580583a650ebf58241a82b226374483e3cc3..668d318d689edb039cf0b3f5df0565b052a7e9e2 100644 --- a/cmake/Modules/Packages/MSCG.cmake +++ b/cmake/Modules/Packages/MSCG.cmake @@ -1,45 +1,48 @@ -if(PKG_MSCG) - find_package(GSL REQUIRED) - find_package(MSCG QUIET) - if(MSGC_FOUND) - set(DOWNLOAD_MSCG_DEFAULT OFF) - else() - set(DOWNLOAD_MSCG_DEFAULT ON) +find_package(GSL REQUIRED) +find_package(MSCG QUIET) +if(MSGC_FOUND) + set(DOWNLOAD_MSCG_DEFAULT OFF) +else() + set(DOWNLOAD_MSCG_DEFAULT ON) +endif() +option(DOWNLOAD_MSCG "Download MSCG library instead of using an already installed one)" ${DOWNLOAD_MSCG_DEFAULT}) +if(DOWNLOAD_MSCG) + include(ExternalProject) + ExternalProject_Add(mscg_build + URL https://github.com/uchicago-voth/MSCG-release/archive/1.7.3.1.tar.gz + URL_MD5 8c45e269ee13f60b303edd7823866a91 + SOURCE_SUBDIR src/CMake + CMAKE_ARGS ${CMAKE_REQUEST_PIC} ${EXTRA_MSCG_OPTS} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} + -DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES} + -DCMAKE_INSTALL_PREFIX= + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --target mscg + INSTALL_COMMAND "" + BUILD_BYPRODUCTS /libmscg.a + ) + ExternalProject_get_property(mscg_build BINARY_DIR) + ExternalProject_get_property(mscg_build SOURCE_DIR) + file(MAKE_DIRECTORY ${SOURCE_DIR}/src) + add_library(LAMMPS::MSCG UNKNOWN IMPORTED) + set_target_properties(LAMMPS::MSCG PROPERTIES + IMPORTED_LOCATION "${BINARY_DIR}/libmscg.a" + INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/src" + INTERFACE_LINK_LIBRARIES "${LAPACK_LIBRARIES}") + target_link_libraries(lammps PRIVATE LAMMPS::MSCG) + add_dependencies(LAMMPS::MSCG mscg_build) + if(NOT BUILD_SHARED_LIBS) + install(CODE "MESSAGE(FATAL_ERROR \"Installing liblammps with downloaded libraries is currently not supported.\")") endif() - option(DOWNLOAD_MSCG "Download MSCG library instead of using an already installed one)" ${DOWNLOAD_MSCG_DEFAULT}) - if(DOWNLOAD_MSCG) - if (CMAKE_VERSION VERSION_LESS "3.7") # due to SOURCE_SUBDIR - message(FATAL_ERROR "For downlading MSCG you need at least cmake-3.7") - endif() - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded MSCG library with Ninja build tool") - endif() - include(ExternalProject) - if(NOT LAPACK_FOUND) - set(EXTRA_MSCG_OPTS "-DLAPACK_LIBRARIES=${CMAKE_CURRENT_BINARY_DIR}/liblinalg.a") - endif() - ExternalProject_Add(mscg_build - URL https://github.com/uchicago-voth/MSCG-release/archive/1.7.3.1.tar.gz - URL_MD5 8c45e269ee13f60b303edd7823866a91 - SOURCE_SUBDIR src/CMake - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX= ${CMAKE_REQUEST_PIC} ${EXTRA_MSCG_OPTS} - BUILD_COMMAND make mscg INSTALL_COMMAND "" - ) - ExternalProject_get_property(mscg_build BINARY_DIR) - set(MSCG_LIBRARIES ${BINARY_DIR}/libmscg.a) - ExternalProject_get_property(mscg_build SOURCE_DIR) - set(MSCG_INCLUDE_DIRS ${SOURCE_DIR}/src) - list(APPEND LAMMPS_DEPS mscg_build) - if(NOT LAPACK_FOUND) - file(MAKE_DIRECTORY ${MSCG_INCLUDE_DIRS}) - add_dependencies(mscg_build linalg) - endif() - else() - find_package(MSCG) - if(NOT MSCG_FOUND) - message(FATAL_ERROR "MSCG not found, help CMake to find it by setting MSCG_LIBRARY and MSCG_INCLUDE_DIRS, or set DOWNLOAD_MSCG=ON to download it") - endif() +else() + find_package(MSCG) + if(NOT MSCG_FOUND) + message(FATAL_ERROR "MSCG not found, help CMake to find it by setting MSCG_LIBRARY and MSCG_INCLUDE_DIRS, or set DOWNLOAD_MSCG=ON to download it") endif() - list(APPEND LAMMPS_LINK_LIBS ${MSCG_LIBRARIES} ${GSL_LIBRARIES} ${LAPACK_LIBRARIES}) - include_directories(${MSCG_INCLUDE_DIRS}) + target_link_libraries(lammps PRIVATE MSCG::MSCG) endif() +target_link_libraries(lammps PRIVATE GSL::gsl ${LAPACK_LIBRARIES}) diff --git a/cmake/Modules/Packages/OPT.cmake b/cmake/Modules/Packages/OPT.cmake index f2802c757bdb1d3472395270c9ba1f7a4b652c19..bcf572b087d56f66c512b6d906f987d512d8347a 100644 --- a/cmake/Modules/Packages/OPT.cmake +++ b/cmake/Modules/Packages/OPT.cmake @@ -1,13 +1,11 @@ -if(PKG_OPT) - set(OPT_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/OPT) - set(OPT_SOURCES) - set_property(GLOBAL PROPERTY "OPT_SOURCES" "${OPT_SOURCES}") + set(OPT_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/OPT) + set(OPT_SOURCES) + set_property(GLOBAL PROPERTY "OPT_SOURCES" "${OPT_SOURCES}") - # detects styles which have OPT version - RegisterStylesExt(${OPT_SOURCES_DIR} opt OPT_SOURCES) + # detects styles which have OPT version + RegisterStylesExt(${OPT_SOURCES_DIR} opt OPT_SOURCES) - get_property(OPT_SOURCES GLOBAL PROPERTY OPT_SOURCES) + get_property(OPT_SOURCES GLOBAL PROPERTY OPT_SOURCES) - list(APPEND LIB_SOURCES ${OPT_SOURCES}) - include_directories(${OPT_SOURCES_DIR}) -endif() + target_sources(lammps PRIVATE ${OPT_SOURCES}) + target_include_directories(lammps PRIVATE ${OPT_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/PYTHON.cmake b/cmake/Modules/Packages/PYTHON.cmake index 4f8959ae389ca97ef8774641f08949cf1bff600c..a577f824fe418cefb7d728acea61668151ed0364 100644 --- a/cmake/Modules/Packages/PYTHON.cmake +++ b/cmake/Modules/Packages/PYTHON.cmake @@ -1,6 +1,9 @@ -if(PKG_PYTHON) - find_package(PythonLibs REQUIRED) - add_definitions(-DLMP_PYTHON) - include_directories(${PYTHON_INCLUDE_DIR}) - list(APPEND LAMMPS_LINK_LIBS ${PYTHON_LIBRARY}) +if(CMAKE_VERSION VERSION_LESS 3.12) + find_package(PythonLibs REQUIRED) # Deprecated since version 3.12 + target_include_directories(lammps PRIVATE ${PYTHON_INCLUDE_DIR}) + target_link_libraries(lammps PRIVATE ${PYTHON_LIBRARY}) +else() + find_package(Python REQUIRED COMPONENTS Development) + target_link_libraries(lammps PRIVATE Python::Python) endif() +target_compile_definitions(lammps PRIVATE -DLMP_PYTHON) diff --git a/cmake/Modules/Packages/QEQ.cmake b/cmake/Modules/Packages/QEQ.cmake index 94cca30540dab41dd831254881ed86f788d00653..1bdaa02f431568038af65f7fe0bb49f558ae582b 100644 --- a/cmake/Modules/Packages/QEQ.cmake +++ b/cmake/Modules/Packages/QEQ.cmake @@ -1,20 +1,18 @@ # Fix qeq/fire requires MANYBODY (i.e. COMB and COMB3) to be installed -if(PKG_QEQ) - set(QEQ_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/QEQ) - file(GLOB QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix*.h) - file(GLOB QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix*.cpp) +set(QEQ_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/QEQ) +file(GLOB QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix*.h) +file(GLOB QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix*.cpp) - if(NOT PKG_MANYBODY) - list(REMOVE_ITEM QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix_qeq_fire.h) - list(REMOVE_ITEM QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp) - endif() - set_property(GLOBAL PROPERTY "QEQ_SOURCES" "${QEQ_SOURCES}") +if(NOT PKG_MANYBODY) + list(REMOVE_ITEM QEQ_HEADERS ${QEQ_SOURCES_DIR}/fix_qeq_fire.h) + list(REMOVE_ITEM QEQ_SOURCES ${QEQ_SOURCES_DIR}/fix_qeq_fire.cpp) +endif() +set_property(GLOBAL PROPERTY "QEQ_SOURCES" "${QEQ_SOURCES}") - foreach(MY_HEADER ${QEQ_HEADERS}) - AddStyleHeader(${MY_HEADER} FIX) - endforeach() +foreach(MY_HEADER ${QEQ_HEADERS}) + AddStyleHeader(${MY_HEADER} FIX) +endforeach() - get_property(QEQ_SOURCES GLOBAL PROPERTY QEQ_SOURCES) - list(APPEND LIB_SOURCES ${QEQ_SOURCES}) - include_directories(${QEQ_SOURCES_DIR}) -endif() +get_property(QEQ_SOURCES GLOBAL PROPERTY QEQ_SOURCES) +target_sources(lammps PRIVATE ${QEQ_SOURCES}) +target_include_directories(lammps PRIVATE ${QEQ_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/USER-COLVARS.cmake b/cmake/Modules/Packages/USER-COLVARS.cmake index b7fb91917cc32595dfd589adf779c26ac3af28bf..31e64e37909ca3557f8c9186e3643513b75b5f70 100644 --- a/cmake/Modules/Packages/USER-COLVARS.cmake +++ b/cmake/Modules/Packages/USER-COLVARS.cmake @@ -1,42 +1,36 @@ -if(PKG_USER-COLVARS) +set(COLVARS_SOURCE_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars) - set(COLVARS_SOURCE_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars) +file(GLOB COLVARS_SOURCES ${COLVARS_SOURCE_DIR}/[^.]*.cpp) - file(GLOB COLVARS_SOURCES ${COLVARS_SOURCE_DIR}/[^.]*.cpp) +# Build Lepton by default +option(COLVARS_LEPTON "Build and link the Lepton library" ON) - # Build Lepton by default - set(COLVARS_LEPTON_DEFAULT ON) - # but not if C++11 is disabled per user request - if(DEFINED DISABLE_CXX11_REQUIREMENT) - if(DISABLE_CXX11_REQUIREMENT) - set(COLVARS_LEPTON_DEFAULT OFF) - endif() - endif() - - option(COLVARS_LEPTON "Build and link the Lepton library" ${COLVARS_LEPTON_DEFAULT}) - - # Verify that the user's choice is consistent - if(DEFINED DISABLE_CXX11_REQUIREMENT) - if((DISABLE_CXX11_REQUIREMENT) AND (COLVARS_LEPTON)) - message(FATAL_ERROR "Building the Lepton library requires C++11 or later.") - endif() - endif() - - if(COLVARS_LEPTON) - set(LEPTON_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars/lepton) - file(GLOB LEPTON_SOURCES ${LEPTON_DIR}/src/[^.]*.cpp) - add_library(lepton STATIC ${LEPTON_SOURCES}) - target_include_directories(lepton PRIVATE ${LEPTON_DIR}/include) - endif() - - add_library(colvars STATIC ${COLVARS_SOURCES}) - target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars) - list(APPEND LAMMPS_LINK_LIBS colvars) - - if(COLVARS_LEPTON) - list(APPEND LAMMPS_LINK_LIBS lepton) - target_compile_options(colvars PRIVATE -DLEPTON) - target_include_directories(colvars PUBLIC ${LEPTON_DIR}/include) +if(COLVARS_LEPTON) + set(LEPTON_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars/lepton) + file(GLOB LEPTON_SOURCES ${LEPTON_DIR}/src/[^.]*.cpp) + add_library(lepton STATIC ${LEPTON_SOURCES}) + if(NOT BUILD_SHARED_LIBS) + install(TARGETS lepton EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() + # Change the define below to LEPTON_BUILDING_SHARED_LIBRARY when linking Lepton as a DLL with MSVC + target_compile_definitions(lepton PRIVATE -DLEPTON_BUILDING_STATIC_LIBRARY) + set_target_properties(lepton PROPERTIES OUTPUT_NAME lammps_lepton${LAMMPS_MACHINE}) + target_include_directories(lepton PRIVATE ${LEPTON_DIR}/include) +endif() +add_library(colvars STATIC ${COLVARS_SOURCES}) +if(NOT BUILD_SHARED_LIBS) + install(TARGETS colvars EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +endif() +target_compile_definitions(colvars PRIVATE -DLAMMPS_${LAMMPS_SIZES}) +set_target_properties(colvars PROPERTIES OUTPUT_NAME lammps_colvars${LAMMPS_MACHINE}) +target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars) +target_link_libraries(lammps PRIVATE colvars) + +if(COLVARS_LEPTON) + target_link_libraries(lammps PRIVATE lepton) + target_compile_definitions(colvars PRIVATE -DLEPTON) + # Disable the line below when linking Lepton as a DLL with MSVC + target_compile_definitions(colvars PRIVATE -DLEPTON_USE_STATIC_LIBRARIES) + target_include_directories(colvars PUBLIC ${LEPTON_DIR}/include) endif() diff --git a/cmake/Modules/Packages/USER-H5MD.cmake b/cmake/Modules/Packages/USER-H5MD.cmake index 40ea7b7444cd024c762e9708ebc8dd965a95c153..4fcae93027c36204799b5388de90e2f6b9b4795f 100644 --- a/cmake/Modules/Packages/USER-H5MD.cmake +++ b/cmake/Modules/Packages/USER-H5MD.cmake @@ -1,8 +1,5 @@ -if(PKG_USER-H5MD) - enable_language(C) +enable_language(C) - find_package(HDF5 REQUIRED) - target_link_libraries(h5md ${HDF5_LIBRARIES}) - target_include_directories(h5md PRIVATE ${HDF5_INCLUDE_DIRS}) - include_directories(${HDF5_INCLUDE_DIRS}) -endif() +find_package(HDF5 REQUIRED) +target_link_libraries(h5md PRIVATE ${HDF5_LIBRARIES}) +target_include_directories(h5md PUBLIC ${HDF5_INCLUDE_DIRS}) diff --git a/cmake/Modules/Packages/USER-INTEL.cmake b/cmake/Modules/Packages/USER-INTEL.cmake index 3c0cc7ba2498df01d0a3450faf7049808d6379a8..0ae1ec018a309be7f2ac4293e04d12019ddd9a8b 100644 --- a/cmake/Modules/Packages/USER-INTEL.cmake +++ b/cmake/Modules/Packages/USER-INTEL.cmake @@ -1,118 +1,109 @@ -if(PKG_USER-INTEL) - check_include_file_cxx(immintrin.h FOUND_IMMINTRIN) - if(NOT FOUND_IMMINTRIN) - message(FATAL_ERROR "immintrin.h header not found, Intel package won't work without it") - endif() +check_include_file_cxx(immintrin.h FOUND_IMMINTRIN) +if(NOT FOUND_IMMINTRIN) + message(FATAL_ERROR "immintrin.h header not found, Intel package won't work without it") +endif() - add_definitions(-DLMP_USER_INTEL) +target_compile_definitions(lammps PRIVATE -DLMP_USER_INTEL) - set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)") - set(INTEL_ARCH_VALUES cpu knl) - set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES}) - validate_option(INTEL_ARCH INTEL_ARCH_VALUES) - string(TOUPPER ${INTEL_ARCH} INTEL_ARCH) +set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)") +set(INTEL_ARCH_VALUES cpu knl) +set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES}) +validate_option(INTEL_ARCH INTEL_ARCH_VALUES) +string(TOUPPER ${INTEL_ARCH} INTEL_ARCH) - find_package(Threads QUIET) +find_package(Threads QUIET) +if(Threads_FOUND) + set(INTEL_LRT_MODE "threads" CACHE STRING "Long-range threads mode (none, threads, or c++11)") +else() + set(INTEL_LRT_MODE "none" CACHE STRING "Long-range threads mode (none, threads, or c++11)") +endif() +set(INTEL_LRT_VALUES none threads c++11) +set_property(CACHE INTEL_LRT_MODE PROPERTY STRINGS ${INTEL_LRT_VALUES}) +validate_option(INTEL_LRT_MODE INTEL_LRT_VALUES) +string(TOUPPER ${INTEL_LRT_MODE} INTEL_LRT_MODE) +if(INTEL_LRT_MODE STREQUAL "THREADS") if(Threads_FOUND) - set(INTEL_LRT_MODE "threads" CACHE STRING "Long-range threads mode (none, threads, or c++11)") + target_compile_definitions(lammps PRIVATE -DLMP_INTEL_USELRT) + target_link_libraries(lammps PRIVATE Threads::Threads) else() - set(INTEL_LRT_MODE "none" CACHE STRING "Long-range threads mode (none, threads, or c++11)") + message(FATAL_ERROR "Must have working threads library for Long-range thread support") endif() - set(INTEL_LRT_VALUES none threads c++11) - set_property(CACHE INTEL_LRT_MODE PROPERTY STRINGS ${INTEL_LRT_VALUES}) - validate_option(INTEL_LRT_MODE INTEL_LRT_VALUES) - string(TOUPPER ${INTEL_LRT_MODE} INTEL_LRT_MODE) - if(INTEL_LRT_MODE STREQUAL "THREADS") - if(Threads_FOUND) - add_definitions(-DLMP_INTEL_USELRT) - list(APPEND LAMMPS_LINK_LIBS ${CMAKE_THREAD_LIBS_INIT}) - else() - message(FATAL_ERROR "Must have working threads library for Long-range thread support") - endif() - endif() - if(INTEL_LRT_MODE STREQUAL "C++11") - add_definitions(-DLMP_INTEL_USERLRT -DLMP_INTEL_LRT11) +endif() +if(INTEL_LRT_MODE STREQUAL "C++11") + target_compile_definitions(lammps PRIVATE -DLMP_INTEL_USELRT -DLMP_INTEL_LRT11) +endif() + +if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") + if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16) + message(FATAL_ERROR "USER-INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}") endif() +else() + message(WARNING "USER-INTEL gives best performance with Intel compilers") +endif() +find_package(TBB_MALLOC QUIET) +if(TBB_MALLOC_FOUND) + target_link_libraries(lammps PRIVATE TBB::TBB_MALLOC) +else() + target_compile_definitions(lammps PRIVATE -DLMP_INTEL_NO_TBB) if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16) - message(FATAL_ERROR "USER-INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}") - endif() - else() - message(WARNING "USER-INTEL gives best performance with Intel compilers") + message(WARNING "USER-INTEL with Intel compilers should use TBB malloc libraries") endif() +endif() - find_package(TBB QUIET) - if(TBB_FOUND) - list(APPEND LAMMPS_LINK_LIBS ${TBB_MALLOC_LIBRARIES}) - else() - add_definitions(-DLMP_INTEL_NO_TBB) - if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - message(WARNING "USER-INTEL with Intel compilers should use TBB malloc libraries") - endif() - endif() +find_package(MKL QUIET) +if(MKL_FOUND) + target_compile_definitions(lammps PRIVATE -DLMP_USE_MKL_RNG) + target_link_libraries(lammps PRIVATE MKL::MKL) +else() + message(STATUS "Pair style dpd/intel will be faster with MKL libraries") +endif() - find_package(MKL QUIET) - if(MKL_FOUND) - add_definitions(-DLMP_USE_MKL_RNG) - list(APPEND LAMMPS_LINK_LIBS ${MKL_LIBRARIES}) - else() - message(STATUS "Pair style dpd/intel will be faster with MKL libraries") - endif() +if((NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "64") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "128") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "256")) + message(FATAL_ERROR "USER-INTEL only supports memory alignment of 64, 128 or 256 on this platform") +endif() - if((NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "64") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "128") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "256")) - message(FATAL_ERROR "USER-INTEL only supports memory alignment of 64, 128 or 256 on this platform") +if(INTEL_ARCH STREQUAL "KNL") + if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel") + message(FATAL_ERROR "Must use Intel compiler with USER-INTEL for KNL architecture") endif() - - if(INTEL_ARCH STREQUAL "KNL") - if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - message(FATAL_ERROR "Must use Intel compiler with USER-INTEL for KNL architecture") - endif() - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload") - set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"") - add_compile_options(-xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS}) - add_definitions(-DLMP_INTEL_OFFLOAD) - else() - if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") - if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xCOMMON-AVX512") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xHost") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload") + set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"") + target_compile_options(lammps PRIVATE -xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS}) + target_compile_definitions(lammps PRIVATE -DLMP_INTEL_OFFLOAD) +else() + if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") + include(CheckCXXCompilerFlag) + foreach(_FLAG -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high -qno-offload -fno-alias -ansi-alias -restrict) + check_cxx_compiler_flag("${_FLAG}" COMPILER_SUPPORTS${_FLAG}) + if(COMPILER_SUPPORTS${_FLAG}) + target_compile_options(lammps PRIVATE ${_FLAG}) endif() - include(CheckCXXCompilerFlag) - foreach(_FLAG -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high -qno-offload -fno-alias -ansi-alias -restrict) - check_cxx_compiler_flag("${__FLAG}" COMPILER_SUPPORTS${_FLAG}) - if(COMPILER_SUPPORTS${_FLAG}) - add_compile_options(${_FLAG}) - endif() - endforeach() - else() - add_compile_options(-O3 -ffast-math) - endif() + endforeach() endif() +endif() - # collect sources - set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL) - set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/fix_intel.cpp - ${USER-INTEL_SOURCES_DIR}/fix_nh_intel.cpp - ${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp - ${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp - ${USER-INTEL_SOURCES_DIR}/npair_intel.cpp) +# collect sources +set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL) +set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/fix_intel.cpp + ${USER-INTEL_SOURCES_DIR}/fix_nh_intel.cpp + ${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp + ${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp + ${USER-INTEL_SOURCES_DIR}/npair_intel.cpp) - set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}") +set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}") - # detect styles which have a USER-INTEL version - RegisterStylesExt(${USER-INTEL_SOURCES_DIR} intel USER-INTEL_SOURCES) - RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h) - RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h) - RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h) +# detect styles which have a USER-INTEL version +RegisterStylesExt(${USER-INTEL_SOURCES_DIR} intel USER-INTEL_SOURCES) +RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h) +RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h) +RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h) - get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES) - if(PKG_KSPACE) - list(APPEND USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp) - RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h) - endif() - - list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES}) - include_directories(${USER-INTEL_SOURCES_DIR}) +get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES) +if(PKG_KSPACE) + list(APPEND USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp) + RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h) endif() + +target_sources(lammps PRIVATE ${USER-INTEL_SOURCES}) +target_include_directories(lammps PRIVATE ${USER-INTEL_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/USER-MOLFILE.cmake b/cmake/Modules/Packages/USER-MOLFILE.cmake index b8c4234d265dbc2381ae4bfcc57aec00a2ee7407..dd6435e56b2b41d6f8802aabf79878039c787134 100644 --- a/cmake/Modules/Packages/USER-MOLFILE.cmake +++ b/cmake/Modules/Packages/USER-MOLFILE.cmake @@ -1,14 +1,11 @@ -if(PKG_USER-MOLFILE) - if (CMAKE_VERSION VERSION_LESS "3.10") # due to INTERFACE without a library - message(FATAL_ERROR "For configuring USER-MOLFILE you need CMake 3.10 or later") - endif() - - set(MOLFILE_INCLUDE_DIRS "${LAMMPS_LIB_SOURCE_DIR}/molfile" CACHE STRING "Path to VMD molfile plugin headers") - add_library(molfile INTERFACE) - target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIRS}) - # no need to link with -ldl on windows - if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS}) - endif() - list(APPEND LAMMPS_LINK_LIBS molfile) +set(MOLFILE_INCLUDE_DIRS "${LAMMPS_LIB_SOURCE_DIR}/molfile" CACHE STRING "Path to VMD molfile plugin headers") +add_library(molfile INTERFACE) +if(NOT BUILD_SHARED_LIBS) + install(TARGETS molfile EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() +target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIRS}) +# no need to link with -ldl on windows +if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") + target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS}) +endif() +target_link_libraries(lammps PRIVATE molfile) diff --git a/cmake/Modules/Packages/USER-NETCDF.cmake b/cmake/Modules/Packages/USER-NETCDF.cmake index f60c046ab99aa36fc26577e4225bed9b5edd46fc..91186c84db736137e02fa155362f595231e4ee95 100644 --- a/cmake/Modules/Packages/USER-NETCDF.cmake +++ b/cmake/Modules/Packages/USER-NETCDF.cmake @@ -1,24 +1,20 @@ -if(PKG_USER-NETCDF) - # USER-NETCDF can use NetCDF, Parallel NetCDF (PNetCDF), or both. At least one necessary. - # NetCDF library enables dump sytle "netcdf", while PNetCDF enables dump style "netcdf/mpiio" - find_package(NetCDF) - if(NETCDF_FOUND) - find_package(PNetCDF) - else(NETCDF_FOUND) - find_package(PNetCDF REQUIRED) - endif(NETCDF_FOUND) +# USER-NETCDF can use NetCDF, Parallel NetCDF (PNetCDF), or both. At least one necessary. +# NetCDF library enables dump style "netcdf", while PNetCDF enables dump style "netcdf/mpiio" +find_package(NetCDF) +if(NETCDF_FOUND) + find_package(PNetCDF) +else(NETCDF_FOUND) + find_package(PNetCDF REQUIRED) +endif(NETCDF_FOUND) - if(NETCDF_FOUND) - include_directories(${NETCDF_INCLUDE_DIRS}) - list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARIES}) - add_definitions(-DLMP_HAS_NETCDF) - endif(NETCDF_FOUND) +if(NETCDF_FOUND) + target_link_libraries(lammps PRIVATE NetCDF::NetCDF) + target_compile_definitions(lammps PRIVATE -DLMP_HAS_NETCDF) +endif(NETCDF_FOUND) - if(PNETCDF_FOUND) - include_directories(${PNETCDF_INCLUDES}) - list(APPEND LAMMPS_LINK_LIBS ${PNETCDF_LIBRARIES}) - add_definitions(-DLMP_HAS_PNETCDF) - endif(PNETCDF_FOUND) +if(PNETCDF_FOUND) + target_link_libraries(lammps PRIVATE PNetCDF::PNetCDF) + target_compile_definitions(lammps PRIVATE -DLMP_HAS_PNETCDF) +endif(PNETCDF_FOUND) - add_definitions(-DNC_64BIT_DATA=0x0020) -endif() +target_compile_definitions(lammps PRIVATE -DNC_64BIT_DATA=0x0020) diff --git a/cmake/Modules/Packages/USER-OMP.cmake b/cmake/Modules/Packages/USER-OMP.cmake index 668f42f10a56f382d5a1146193a6b7c69da0a00a..a1053ad355d3667245fadc45f126a8f60fd6ba70 100644 --- a/cmake/Modules/Packages/USER-OMP.cmake +++ b/cmake/Modules/Packages/USER-OMP.cmake @@ -1,42 +1,40 @@ -if(PKG_USER-OMP) - set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP) - set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp - ${USER-OMP_SOURCES_DIR}/thr_omp.cpp - ${USER-OMP_SOURCES_DIR}/fix_omp.cpp - ${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp - ${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp - ${USER-OMP_SOURCES_DIR}/domain_omp.cpp) - add_definitions(-DLMP_USER_OMP) - set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}") + set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP) + set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp + ${USER-OMP_SOURCES_DIR}/thr_omp.cpp + ${USER-OMP_SOURCES_DIR}/fix_omp.cpp + ${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp + ${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp + ${USER-OMP_SOURCES_DIR}/domain_omp.cpp) + target_compile_definitions(lammps PRIVATE -DLMP_USER_OMP) + set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}") - # detects styles which have USER-OMP version - RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES) - RegisterFixStyle(${USER-OMP_SOURCES_DIR}/fix_omp.h) + # detects styles which have USER-OMP version + RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES) + RegisterFixStyle(${USER-OMP_SOURCES_DIR}/fix_omp.h) - get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES) + get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES) - # manually add package dependent source files from USER-OMP that do not provide styles + # manually add package dependent source files from USER-OMP that do not provide styles - if(PKG_ASPHERE) - list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp) - endif() + if(PKG_ASPHERE) + list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_nh_asphere_omp.cpp) + endif() - if(PKG_RIGID) - list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp) - endif() + if(PKG_RIGID) + list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/fix_rigid_nh_omp.cpp) + endif() - if(PKG_USER-REAXC) - list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_bonds_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_init_md_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_forces_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp - ${USER-OMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp) - endif() + if(PKG_USER-REAXC) + list(APPEND USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_bonds_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_init_md_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_forces_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp + ${USER-OMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp) + endif() - list(APPEND LIB_SOURCES ${USER-OMP_SOURCES}) - include_directories(${USER-OMP_SOURCES_DIR}) -endif() + target_sources(lammps PRIVATE ${USER-OMP_SOURCES}) + target_include_directories(lammps PRIVATE ${USER-OMP_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/USER-PLUMED.cmake b/cmake/Modules/Packages/USER-PLUMED.cmake index bf5c502d84bbe9421c6e37518ea519fcb3f97dbb..102ce7a7ad4431eae7b0ff2880fe71ebc92474b7 100644 --- a/cmake/Modules/Packages/USER-PLUMED.cmake +++ b/cmake/Modules/Packages/USER-PLUMED.cmake @@ -1,91 +1,101 @@ -if(PKG_USER-PLUMED) - set(PLUMED_MODE "static" CACHE STRING "Linkage mode for Plumed2 library") - set(PLUMED_MODE_VALUES static shared runtime) - set_property(CACHE PLUMED_MODE PROPERTY STRINGS ${PLUMED_MODE_VALUES}) - validate_option(PLUMED_MODE PLUMED_MODE_VALUES) - string(TOUPPER ${PLUMED_MODE} PLUMED_MODE) +set(PLUMED_MODE "static" CACHE STRING "Linkage mode for Plumed2 library") +set(PLUMED_MODE_VALUES static shared runtime) +set_property(CACHE PLUMED_MODE PROPERTY STRINGS ${PLUMED_MODE_VALUES}) +validate_option(PLUMED_MODE PLUMED_MODE_VALUES) +string(TOUPPER ${PLUMED_MODE} PLUMED_MODE) - set(PLUMED_LINK_LIBS "") - if(PLUMED_MODE STREQUAL "STATIC") - find_package(LAPACK REQUIRED) - find_package(BLAS REQUIRED) - find_package(GSL REQUIRED) - list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES}) - list(APPEND PLUMED_LINK_LIBS ${LAPACK_LIBRARIES} ${GSL_LIBRARIES}) - find_package(ZLIB QUIET) - if(ZLIB_FOUND) - list(APPEND PLUMED_LINK_LIBS ${ZLIB_LIBRARIES}) - endif() +set(PLUMED_LINK_LIBS) +if(PLUMED_MODE STREQUAL "STATIC") + find_package(LAPACK REQUIRED) + find_package(BLAS REQUIRED) + find_package(GSL REQUIRED) + list(APPEND PLUMED_LINK_LIBS ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES} GSL::gsl) + find_package(ZLIB QUIET) + if(ZLIB_FOUND) + list(APPEND PLUMED_LINK_LIBS ZLIB::ZLIB) + endif() + find_package(FFTW3 QUIET) + if(FFTW3_FOUND) + list(APPEND PLUMED_LINK_LIBS FFTW3::FFTW3) endif() +endif() - find_package(PkgConfig QUIET) - set(DOWNLOAD_PLUMED_DEFAULT ON) - if(PKG_CONFIG_FOUND) - pkg_check_modules(PLUMED QUIET plumed) - if(PLUMED_FOUND) - set(DOWNLOAD_PLUMED_DEFAULT OFF) - endif() +find_package(PkgConfig QUIET) +set(DOWNLOAD_PLUMED_DEFAULT ON) +if(PKG_CONFIG_FOUND) + pkg_check_modules(PLUMED QUIET plumed) + if(PLUMED_FOUND) + set(DOWNLOAD_PLUMED_DEFAULT OFF) endif() +endif() - option(DOWNLOAD_PLUMED "Download Plumed package instead of using an already installed one" ${DOWNLOAD_PLUMED_DEFAULT}) - if(DOWNLOAD_PLUMED) - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded Plumed library with Ninja build tool") - endif() - if(BUILD_MPI) - set(PLUMED_CONFIG_MPI "--enable-mpi") - set(PLUMED_CONFIG_CC ${CMAKE_MPI_C_COMPILER}) - set(PLUMED_CONFIG_CXX ${CMAKE_MPI_CXX_COMPILER}) - else() - set(PLUMED_CONFIG_MPI "--disable-mpi") - set(PLUMED_CONFIG_CC ${CMAKE_C_COMPILER}) - set(PLUMED_CONFIG_CXX ${CMAKE_CXX_COMPILER}) - endif() - if(BUILD_OMP) - set(PLUMED_CONFIG_OMP "--enable-openmp") - else() - set(PLUMED_CONFIG_OMP "--disable-openmp") - endif() - message(STATUS "PLUMED download requested - we will build our own") - include(ExternalProject) - ExternalProject_Add(plumed_build - URL https://github.com/plumed/plumed2/releases/download/v2.5.3/plumed-src-2.5.3.tgz - URL_MD5 de30d6e7c2dcc0973298e24a6da24286 - BUILD_IN_SOURCE 1 - CONFIGURE_COMMAND /configure --prefix= - ${CONFIGURE_REQUEST_PIC} - --enable-modules=all - ${PLUMED_CONFIG_MPI} - ${PLUMED_CONFIG_OMP} - CXX=${PLUMED_CONFIG_CXX} - CC=${PLUMED_CONFIG_CC} - ) - ExternalProject_get_property(plumed_build INSTALL_DIR) - set(PLUMED_INSTALL_DIR ${INSTALL_DIR}) - list(APPEND LAMMPS_DEPS plumed_build) - if(PLUMED_MODE STREQUAL "STATIC") - add_definitions(-D__PLUMED_WRAPPER_CXX=1) - list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.a ${PLUMED_LINK_LIBS} ${CMAKE_DL_LIBS}) - elseif(PLUMED_MODE STREQUAL "SHARED") - list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed${CMAKE_SHARED_LIBRARY_SUFFIX} ${PLUMED_INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_DL_LIBS}) - elseif(PLUMED_MODE STREQUAL "RUNTIME") - add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}) - list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumedWrapper.a -rdynamic ${CMAKE_DL_LIBS}) - endif() - set(PLUMED_INCLUDE_DIRS "${PLUMED_INSTALL_DIR}/include") +option(DOWNLOAD_PLUMED "Download Plumed package instead of using an already installed one" ${DOWNLOAD_PLUMED_DEFAULT}) +if(DOWNLOAD_PLUMED) + if(BUILD_MPI) + set(PLUMED_CONFIG_MPI "--enable-mpi") + set(PLUMED_CONFIG_CC ${CMAKE_MPI_C_COMPILER}) + set(PLUMED_CONFIG_CXX ${CMAKE_MPI_CXX_COMPILER}) else() - find_package(PkgConfig REQUIRED) - pkg_check_modules(PLUMED REQUIRED plumed) - if(PLUMED_MODE STREQUAL "STATIC") - add_definitions(-D__PLUMED_WRAPPER_CXX=1) - include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.static) - elseif(PLUMED_MODE STREQUAL "SHARED") - include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.shared) - elseif(PLUMED_MODE STREQUAL "RUNTIME") - add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_LIBDIR}/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}) - include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.runtime) - endif() - list(APPEND LAMMPS_LINK_LIBS ${PLUMED_LOAD}) + set(PLUMED_CONFIG_MPI "--disable-mpi") + set(PLUMED_CONFIG_CC ${CMAKE_C_COMPILER}) + set(PLUMED_CONFIG_CXX ${CMAKE_CXX_COMPILER}) + endif() + if(BUILD_OMP) + set(PLUMED_CONFIG_OMP "--enable-openmp") + else() + set(PLUMED_CONFIG_OMP "--disable-openmp") + endif() + message(STATUS "PLUMED download requested - we will build our own") + if(PLUMED_MODE STREQUAL "STATIC") + set(PLUMED_BUILD_BYPRODUCTS "/lib/libplumed.a") + elseif(PLUMED_MODE STREQUAL "SHARED") + set(PLUMED_BUILD_BYPRODUCTS "/lib/libplumed${CMAKE_SHARED_LIBRARY_SUFFIX};/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}") + elseif(PLUMED_MODE STREQUAL "RUNTIME") + set(PLUMED_BUILD_BYPRODUCTS "/lib/libplumedWrapper.a") + endif() + include(ExternalProject) + ExternalProject_Add(plumed_build + URL https://github.com/plumed/plumed2/releases/download/v2.6.0/plumed-src-2.6.0.tgz + URL_MD5 204d2edae58d9b10ba3ad460cad64191 + BUILD_IN_SOURCE 1 + CONFIGURE_COMMAND /configure --prefix= + ${CONFIGURE_REQUEST_PIC} + --enable-modules=all + ${PLUMED_CONFIG_MPI} + ${PLUMED_CONFIG_OMP} + CXX=${PLUMED_CONFIG_CXX} + CC=${PLUMED_CONFIG_CC} + BUILD_BYPRODUCTS ${PLUMED_BUILD_BYPRODUCTS} + ) + ExternalProject_get_property(plumed_build INSTALL_DIR) + add_library(LAMMPS::PLUMED UNKNOWN IMPORTED) + add_dependencies(LAMMPS::PLUMED plumed_build) + if(NOT BUILD_SHARED_LIBS) + install(CODE "MESSAGE(FATAL_ERROR \"Installing liblammps with downloaded libraries is currently not supported.\")") + endif() + if(PLUMED_MODE STREQUAL "STATIC") + set_target_properties(LAMMPS::PLUMED PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/lib/libplumed.a INTERFACE_LINK_LIBRARIES "${PLUMED_LINK_LIBS};${CMAKE_DL_LIBS}") + elseif(PLUMED_MODE STREQUAL "SHARED") + set_target_properties(LAMMPS::PLUMED PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/lib/libplumed${CMAKE_SHARED_LIBRARY_SUFFIX} INTERFACE_LINK_LIBRARIES "${INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX};${CMAKE_DL_LIBS}") + elseif(PLUMED_MODE STREQUAL "RUNTIME") + set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_COMPILE_DEFINITIONS "__PLUMED_DEFAULT_KERNEL=${INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}") + set_target_properties(LAMMPS::PLUMED PROPERTIES IMPORTED_LOCATION ${INSTALL_DIR}/lib/libplumedWrapper.a INTERFACE_LINK_LIBRARIES "${CMAKE_DL_LIBS}") + endif() + set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include) + file(MAKE_DIRECTORY ${INSTALL_DIR}/include) +else() + find_package(PkgConfig REQUIRED) + pkg_check_modules(PLUMED REQUIRED plumed) + add_library(LAMMPS::PLUMED INTERFACE IMPORTED) + if(PLUMED_MODE STREQUAL "STATIC") + include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.static) + elseif(PLUMED_MODE STREQUAL "SHARED") + include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.shared) + elseif(PLUMED_MODE STREQUAL "RUNTIME") + set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_COMPILE_DEFINITIONS "__PLUMED_DEFAULT_KERNEL=${PLUMED_LIBDIR}/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}") + include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.runtime) endif() - include_directories(${PLUMED_INCLUDE_DIRS}) + set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_LINK_LIBRARIES "${PLUMED_LOAD}") + set_target_properties(LAMMPS::PLUMED PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${PLUMED_INCLUDE_DIRS}") endif() +target_link_libraries(lammps PRIVATE LAMMPS::PLUMED) diff --git a/cmake/Modules/Packages/USER-QMMM.cmake b/cmake/Modules/Packages/USER-QMMM.cmake index e0ae1a46dc19128f03c6004e232b284ea3692dbd..76bb76fa5afe6160dc797566592fed7d145b2160 100644 --- a/cmake/Modules/Packages/USER-QMMM.cmake +++ b/cmake/Modules/Packages/USER-QMMM.cmake @@ -1,9 +1,12 @@ -if(PKG_USER-QMMM) - enable_language(Fortran) - enable_language(C) +enable_language(C) - message(WARNING "Building QMMM with CMake is still experimental") - find_package(QE REQUIRED) - include_directories(${QE_INCLUDE_DIRS}) - list(APPEND LAMMPS_LINK_LIBS ${QE_LIBRARIES}) +if(NOT BUILD_SHARED_LIBS) + message(WARNING "It is recommended to use BUILD_SHARED_LIBS=yes with USER-QMMM") endif() +add_library(qmmm STATIC ${LAMMPS_LIB_SOURCE_DIR}/qmmm/libqmmm.c) +if(NOT BUILD_SHARED_LIBS) + install(TARGETS qmmm EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +endif() +set_target_properties(qmmm PROPERTIES OUTPUT_NAME lammps_qmmm${LAMMPS_MACHINE}) +target_link_libraries(lammps PRIVATE qmmm) +target_include_directories(qmmm PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/qmmm) diff --git a/cmake/Modules/Packages/USER-QUIP.cmake b/cmake/Modules/Packages/USER-QUIP.cmake index 93096a2f54bec679eda388df567f5b35662641cf..790f27def7bfffa7341e1fea45aab8292cda9464 100644 --- a/cmake/Modules/Packages/USER-QUIP.cmake +++ b/cmake/Modules/Packages/USER-QUIP.cmake @@ -1,5 +1,3 @@ -if(PKG_USER-QUIP) - enable_language(Fortran) - find_package(QUIP REQUIRED) - list(APPEND LAMMPS_LINK_LIBS ${QUIP_LIBRARIES} ${LAPACK_LIBRARIES}) -endif() +enable_language(Fortran) +find_package(QUIP REQUIRED) +target_link_libraries(lammps PRIVATE QUIP::QUIP ${LAPACK_LIBRARIES}) diff --git a/cmake/Modules/Packages/USER-SCAFACOS.cmake b/cmake/Modules/Packages/USER-SCAFACOS.cmake index 475f2585c80fcfb19c4f8d6cf731791d122a9f90..ee12e754e648b497577cb172d03271f134b6dae4 100644 --- a/cmake/Modules/Packages/USER-SCAFACOS.cmake +++ b/cmake/Modules/Packages/USER-SCAFACOS.cmake @@ -1,62 +1,62 @@ -if(PKG_USER-SCAFACOS) - enable_language(Fortran) - enable_language(C) +enable_language(Fortran) +enable_language(C) - find_package(GSL REQUIRED) - find_package(PkgConfig QUIET) - set(DOWNLOAD_SCAFACOS_DEFAULT ON) - if(PKG_CONFIG_FOUND) - pkg_check_modules(SCAFACOS QUIET scafacos) - if(SCAFACOS_FOUND) - set(DOWNLOAD_SCAFACOS_DEFAULT OFF) - endif() +find_package(GSL REQUIRED) +find_package(PkgConfig QUIET) +find_package(MPI REQUIRED) +set(DOWNLOAD_SCAFACOS_DEFAULT ON) +if(PKG_CONFIG_FOUND) + pkg_check_modules(SCAFACOS QUIET scafacos) + if(SCAFACOS_FOUND) + set(DOWNLOAD_SCAFACOS_DEFAULT OFF) endif() - option(DOWNLOAD_SCAFACOS "Download ScaFaCoS library instead of using an already installed one" ${DOWNLOAD_SCAFACOS_DEFAULT}) - if(DOWNLOAD_SCAFACOS) - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded ScaFaCoS library with Ninja build tool") - endif() - message(STATUS "ScaFaCoS download requested - we will build our own") - include(ExternalProject) - ExternalProject_Add(scafacos_build - URL https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz - URL_MD5 bd46d74e3296bd8a444d731bb10c1738 - CONFIGURE_COMMAND /configure --prefix= --disable-doc - --enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m - --with-internal-fftw --with-internal-pfft - --with-internal-pnfft ${CONFIGURE_REQUEST_PIC} - FC=${CMAKE_MPI_Fortran_COMPILER} - CXX=${CMAKE_MPI_CXX_COMPILER} - CC=${CMAKE_MPI_C_COMPILER} - F77= - ) - ExternalProject_get_property(scafacos_build INSTALL_DIR) - set(SCAFACOS_BUILD_DIR ${INSTALL_DIR}) - set(SCAFACOS_INCLUDE_DIRS ${SCAFACOS_BUILD_DIR}/include) - list(APPEND LAMMPS_DEPS scafacos_build) - # list and order from pkg_config file of ScaFaCoS build - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_direct.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_ewald.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fmm.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p2nfft.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_p3m.a) - list(APPEND LAMMPS_LINK_LIBS ${GSL_LIBRARIES}) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_near.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_gridsort.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_resort.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_redist.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_common.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pnfft.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_pfft.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3_mpi.a) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_BUILD_DIR}/lib/libfcs_fftw3.a) - list(APPEND LAMMPS_LINK_LIBS ${MPI_Fortran_LIBRARIES}) - list(APPEND LAMMPS_LINK_LIBS ${MPI_C_LIBRARIES}) - else() - find_package(PkgConfig REQUIRED) - pkg_check_modules(SCAFACOS REQUIRED scafacos) - list(APPEND LAMMPS_LINK_LIBS ${SCAFACOS_LDFLAGS}) +endif() +option(DOWNLOAD_SCAFACOS "Download ScaFaCoS library instead of using an already installed one" ${DOWNLOAD_SCAFACOS_DEFAULT}) +if(DOWNLOAD_SCAFACOS) + message(STATUS "ScaFaCoS download requested - we will build our own") + include(ExternalProject) + ExternalProject_Add(scafacos_build + URL https://github.com/scafacos/scafacos/releases/download/v1.0.1/scafacos-1.0.1.tar.gz + URL_MD5 bd46d74e3296bd8a444d731bb10c1738 + CONFIGURE_COMMAND /configure --prefix= --disable-doc + --enable-fcs-solvers=fmm,p2nfft,direct,ewald,p3m + --with-internal-fftw --with-internal-pfft + --with-internal-pnfft ${CONFIGURE_REQUEST_PIC} + FC=${CMAKE_MPI_Fortran_COMPILER} + CXX=${CMAKE_MPI_CXX_COMPILER} + CC=${CMAKE_MPI_C_COMPILER} + F77= + BUILD_BYPRODUCTS + /lib/libfcs.a + /lib/libfcs_direct.a + /lib/libfcs_ewald.a + /lib/libfcs_fmm.a + /lib/libfcs_p2nfft.a + /lib/libfcs_p3m.a + /lib/libfcs_near.a + /lib/libfcs_gridsort.a + /lib/libfcs_resort.a + /lib/libfcs_redist.a + /lib/libfcs_common.a + /lib/libfcs_pnfft.a + /lib/libfcs_pfft.a + /lib/libfcs_fftw3_mpi.a + /lib/libfcs_fftw3.a + ) + ExternalProject_get_property(scafacos_build INSTALL_DIR) + file(MAKE_DIRECTORY ${INSTALL_DIR}/include) + add_library(LAMMPS::SCAFACOS UNKNOWN IMPORTED) + set_target_properties(LAMMPS::SCAFACOS PROPERTIES + IMPORTED_LOCATION "${INSTALL_DIR}/lib/libfcs.a" + INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include" + INTERFACE_LINK_LIBRARIES "${INSTALL_DIR}/lib/libfcs.a;${INSTALL_DIR}/lib/libfcs_direct.a;${INSTALL_DIR}/lib/libfcs_ewald.a;${INSTALL_DIR}/lib/libfcs_fmm.a;${INSTALL_DIR}/lib/libfcs_p2nfft.a;${INSTALL_DIR}/lib/libfcs_p3m.a;GSL::gsl;${INSTALL_DIR}/lib/libfcs_near.a;${INSTALL_DIR}/lib/libfcs_gridsort.a;${INSTALL_DIR}/lib/libfcs_resort.a;${INSTALL_DIR}/lib/libfcs_redist.a;${INSTALL_DIR}/lib/libfcs_common.a;${INSTALL_DIR}/lib/libfcs_pnfft.a;${INSTALL_DIR}/lib/libfcs_pfft.a;${INSTALL_DIR}/lib/libfcs_fftw3_mpi.a;${INSTALL_DIR}/lib/libfcs_fftw3.a;MPI::MPI_Fortran;MPI::MPI_C") + target_link_libraries(lammps PRIVATE LAMMPS::SCAFACOS) + add_dependencies(LAMMPS::SCAFACOS scafacos_build) + if(NOT BUILD_SHARED_LIBS) + install(CODE "MESSAGE(FATAL_ERROR \"Installing liblammps with downloaded libraries is currently not supported.\")") endif() - include_directories(${SCAFACOS_INCLUDE_DIRS}) +else() + find_package(PkgConfig REQUIRED) + pkg_check_modules(SCAFACOS REQUIRED IMPORTED_TARGET scafacos) + target_link_libraries(lammps PRIVATE PkgConfig::SCAFACOS) endif() diff --git a/cmake/Modules/Packages/USER-SDPD.cmake b/cmake/Modules/Packages/USER-SDPD.cmake index 530dcf2bd915446b24e5521e97f59b24504df340..c9f419d91849f1ebebc7aeaab91eea167255fcb8 100644 --- a/cmake/Modules/Packages/USER-SDPD.cmake +++ b/cmake/Modules/Packages/USER-SDPD.cmake @@ -1,13 +1,13 @@ # Fix rigid/meso requires RIGID to be installed -if(PKG_USER-SDPD) - set(USER-SDPD_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-SDPD) +set(USER-SDPD_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-SDPD) - get_property(hlist GLOBAL PROPERTY FIX) - if(NOT PKG_RIGID) - list(REMOVE_ITEM hlist ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.h) - list(REMOVE_ITEM LIB_SOURCES ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.cpp) - endif() - set_property(GLOBAL PROPERTY FIX "${hlist}") - - include_directories(${USER-SDPD_SOURCES_DIR}) +get_property(hlist GLOBAL PROPERTY FIX) +if(NOT PKG_RIGID) + list(REMOVE_ITEM hlist ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.h) + get_target_property(LAMMPS_SOURCES lammps SOURCES) + list(REMOVE_ITEM LAMMPS_SOURCES ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.cpp) + set_property(TARGET lammps PROPERTY SOURCES ${LAMMPS_SOURCES}) endif() +set_property(GLOBAL PROPERTY FIX "${hlist}") + +target_include_directories(lammps PRIVATE ${USER-SDPD_SOURCES_DIR}) diff --git a/cmake/Modules/Packages/USER-SMD.cmake b/cmake/Modules/Packages/USER-SMD.cmake index a868918e378649a501b4a616ba1bf0aafd49b2db..0a5165471c6b22949c1fe737d67fdb5f2c6b045a 100644 --- a/cmake/Modules/Packages/USER-SMD.cmake +++ b/cmake/Modules/Packages/USER-SMD.cmake @@ -1,28 +1,31 @@ -if(PKG_USER-SMD) - find_package(Eigen3 NO_MODULE) - if(EIGEN3_FOUND) - set(DOWNLOAD_EIGEN3_DEFAULT OFF) - else() - set(DOWNLOAD_EIGEN3_DEFAULT ON) +find_package(Eigen3 NO_MODULE) +if(EIGEN3_FOUND) + set(DOWNLOAD_EIGEN3_DEFAULT OFF) +else() + set(DOWNLOAD_EIGEN3_DEFAULT ON) +endif() +option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" ${DOWNLOAD_EIGEN3_DEFAULT}) +if(DOWNLOAD_EIGEN3) + message(STATUS "Eigen3 download requested - we will build our own") + include(ExternalProject) + ExternalProject_Add(Eigen3_build + URL http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz + URL_MD5 f2a417d083fe8ca4b8ed2bc613d20f07 + CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" + ) + ExternalProject_get_property(Eigen3_build SOURCE_DIR) + add_library(LAMMPS::EIGEN3 INTERFACE IMPORTED) + set_target_properties(LAMMPS::EIGEN3 PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}") + target_link_libraries(lammps PRIVATE LAMMPS::EIGEN3) + add_dependencies(LAMMPS::EIGEN3 Eigen3_build) + if(NOT BUILD_SHARED_LIBS) + install(CODE "MESSAGE(FATAL_ERROR \"Installing liblammps with downloaded libraries is currently not supported.\")") endif() - option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" ${DOWNLOAD_EIGEN3_DEFAULT}) - if(DOWNLOAD_EIGEN3) - message(STATUS "Eigen3 download requested - we will build our own") - include(ExternalProject) - ExternalProject_Add(Eigen3_build - URL http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz - URL_MD5 f2a417d083fe8ca4b8ed2bc613d20f07 - CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" - ) - ExternalProject_get_property(Eigen3_build SOURCE_DIR) - set(EIGEN3_INCLUDE_DIR ${SOURCE_DIR}) - list(APPEND LAMMPS_DEPS Eigen3_build) - else() - find_package(Eigen3 NO_MODULE) - mark_as_advanced(Eigen3_DIR) - if(NOT EIGEN3_FOUND) - message(FATAL_ERROR "Eigen3 not found, help CMake to find it by setting EIGEN3_INCLUDE_DIR, or set DOWNLOAD_EIGEN3=ON to download it") - endif() +else() + find_package(Eigen3 NO_MODULE) + mark_as_advanced(Eigen3_DIR) + if(NOT EIGEN3_FOUND) + message(FATAL_ERROR "Eigen3 not found, help CMake to find it by setting EIGEN3_INCLUDE_DIR, or set DOWNLOAD_EIGEN3=ON to download it") endif() - include_directories(${EIGEN3_INCLUDE_DIR}) + target_link_libraries(lammps PRIVATE Eigen3::Eigen) endif() diff --git a/cmake/Modules/Packages/USER-VTK.cmake b/cmake/Modules/Packages/USER-VTK.cmake index d264577ca2f77f5af3b2cbac590f4d9fc07500d9..8c4445167a10cf1e66c2e0444c7eb15afde85b12 100644 --- a/cmake/Modules/Packages/USER-VTK.cmake +++ b/cmake/Modules/Packages/USER-VTK.cmake @@ -1,6 +1,4 @@ -if(PKG_USER-VTK) - find_package(VTK REQUIRED NO_MODULE) - include(${VTK_USE_FILE}) - add_definitions(-DLAMMPS_VTK) - list(APPEND LAMMPS_LINK_LIBS ${VTK_LIBRARIES}) -endif() +find_package(VTK REQUIRED NO_MODULE) +include(${VTK_USE_FILE}) +target_compile_definitions(lammps PRIVATE -DLAMMPS_VTK) +target_link_libraries(lammps PRIVATE ${VTK_LIBRARIES}) diff --git a/cmake/Modules/Packages/VORONOI.cmake b/cmake/Modules/Packages/VORONOI.cmake index 89fa70bf9801de4750fa84b2af6e64943e631815..4635466a50096808744d697def16a87c4fcf0255 100644 --- a/cmake/Modules/Packages/VORONOI.cmake +++ b/cmake/Modules/Packages/VORONOI.cmake @@ -1,45 +1,47 @@ -if(PKG_VORONOI) - find_package(VORO) - if(VORO_FOUND) - set(DOWNLOAD_VORO_DEFAULT OFF) +find_package(VORO) +if(VORO_FOUND) + set(DOWNLOAD_VORO_DEFAULT OFF) +else() + set(DOWNLOAD_VORO_DEFAULT ON) +endif() +option(DOWNLOAD_VORO "Download and compile the Voro++ library instead of using an already installed one" ${DOWNLOAD_VORO_DEFAULT}) +if(DOWNLOAD_VORO) + message(STATUS "Voro++ download requested - we will build our own") + include(ExternalProject) + + if(BUILD_SHARED_LIBS) + set(VORO_BUILD_CFLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}") else() - set(DOWNLOAD_VORO_DEFAULT ON) + set(VORO_BUILD_CFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}") endif() - option(DOWNLOAD_VORO "Download and compile the Voro++ library instead of using an already installed one" ${DOWNLOAD_VORO_DEFAULT}) - if(DOWNLOAD_VORO) - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded Voro++ library with Ninja build tool") - endif() - message(STATUS "Voro++ download requested - we will build our own") - include(ExternalProject) - - if(BUILD_SHARED_LIBS) - set(VORO_BUILD_CFLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}") - else() - set(VORO_BUILD_CFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}") - endif() - if(APPLE) - get_filename_component(VORO_CXX ${CMAKE_CXX_COMPILER} NAME_WE) - set(VORO_BUILD_OPTIONS CXX=${VORO_CXX} CFLAGS=${VORO_BUILD_CFLAGS}) - else() - set(VORO_BUILD_OPTIONS CXX=${CMAKE_CXX_COMPILER} CFLAGS=${VORO_BUILD_CFLAGS}) - endif() - - ExternalProject_Add(voro_build - URL https://download.lammps.org/thirdparty/voro++-0.4.6.tar.gz - URL_MD5 2338b824c3b7b25590e18e8df5d68af9 - CONFIGURE_COMMAND "" BUILD_COMMAND make ${VORO_BUILD_OPTIONS} BUILD_IN_SOURCE 1 INSTALL_COMMAND "" - ) - ExternalProject_get_property(voro_build SOURCE_DIR) - set(VORO_LIBRARIES ${SOURCE_DIR}/src/libvoro++.a) - set(VORO_INCLUDE_DIRS ${SOURCE_DIR}/src) - list(APPEND LAMMPS_DEPS voro_build) + if(APPLE) + get_filename_component(VORO_CXX ${CMAKE_CXX_COMPILER} NAME_WE) + set(VORO_BUILD_OPTIONS CXX=${VORO_CXX} CFLAGS=${VORO_BUILD_CFLAGS}) else() - find_package(VORO) - if(NOT VORO_FOUND) - message(FATAL_ERROR "Voro++ library not found. Help CMake to find it by setting VORO_LIBRARY and VORO_INCLUDE_DIR, or set DOWNLOAD_VORO=ON to download it") - endif() + set(VORO_BUILD_OPTIONS CXX=${CMAKE_CXX_COMPILER} CFLAGS=${VORO_BUILD_CFLAGS}) + endif() + + ExternalProject_Add(voro_build + URL https://download.lammps.org/thirdparty/voro++-0.4.6.tar.gz + URL_MD5 2338b824c3b7b25590e18e8df5d68af9 + CONFIGURE_COMMAND "" BUILD_COMMAND make ${VORO_BUILD_OPTIONS} BUILD_IN_SOURCE 1 INSTALL_COMMAND "" + BUILD_BYPRODUCTS /src/libvoro++.a + ) + ExternalProject_get_property(voro_build SOURCE_DIR) + file(MAKE_DIRECTORY ${SOURCE_DIR}/src) + add_library(LAMMPS::VORO UNKNOWN IMPORTED) + set_target_properties(LAMMPS::VORO PROPERTIES + IMPORTED_LOCATION "${SOURCE_DIR}/src/libvoro++.a" + INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/src") + target_link_libraries(lammps PRIVATE LAMMPS::VORO) + add_dependencies(LAMMPS::VORO voro_build) + if(NOT BUILD_SHARED_LIBS) + install(CODE "MESSAGE(FATAL_ERROR \"Installing liblammps with downloaded libraries is currently not supported.\")") + endif() +else() + find_package(VORO) + if(NOT VORO_FOUND) + message(FATAL_ERROR "Voro++ library not found. Help CMake to find it by setting VORO_LIBRARY and VORO_INCLUDE_DIR, or set DOWNLOAD_VORO=ON to download it") endif() - include_directories(${VORO_INCLUDE_DIRS}) - list(APPEND LAMMPS_LINK_LIBS ${VORO_LIBRARIES}) + target_link_libraries(lammps PRIVATE VORO::VORO) endif() diff --git a/cmake/Modules/Testing.cmake b/cmake/Modules/Testing.cmake index 0eeef00fe9ab4b603fe319825662a6b827f46ac7..f0a5f4519d4c3367f38f0f81b784647407df9457 100644 --- a/cmake/Modules/Testing.cmake +++ b/cmake/Modules/Testing.cmake @@ -2,7 +2,7 @@ # Testing ############################################################################### option(ENABLE_TESTING "Enable testing" OFF) -if(ENABLE_TESTING AND BUILD_EXE) +if(ENABLE_TESTING) enable_testing() option(LAMMPS_TESTING_SOURCE_DIR "Location of lammps-testing source directory" "") option(LAMMPS_TESTING_GIT_TAG "Git tag of lammps-testing" "master") @@ -28,7 +28,7 @@ if(ENABLE_TESTING AND BUILD_EXE) "https://github.com/lammps/lammps-testing in LAMMPS_TESTING_SOURCE_DIR") endif() - add_test(ShowHelp ${CMAKE_BINARY_DIR}/${LAMMPS_BINARY} -help) + add_test(NAME ShowHelp COMMAND $ -help) if(EXISTS ${LAMMPS_TESTING_SOURCE_DIR}) message(STATUS "Running test discovery...") @@ -42,8 +42,7 @@ if(ENABLE_TESTING AND BUILD_EXE) string(REPLACE "-" "_" TEST_NAME ${TEST_NAME}) string(REPLACE "+" "_" TEST_NAME ${TEST_NAME}) set(TEST_NAME "test_core_${TEST_NAME}_serial") - add_test(${TEST_NAME} ${CMAKE_BINARY_DIR}/${LAMMPS_BINARY} -in ${SCRIPT_NAME}) - set_tests_properties(${TEST_NAME} PROPERTIES WORKING_DIRECTORY ${PARENT_DIR}) + add_test(NAME ${TEST_NAME} COMMAND $ -in ${SCRIPT_NAME} WORKING_DIRECTORY ${PARENT_DIR}) endforeach() list(LENGTH TEST_SCRIPTS NUM_TESTS) diff --git a/cmake/README.md b/cmake/README.md deleted file mode 100644 index 6255307ef32f36120eaefe6c1fea097cdab50824..0000000000000000000000000000000000000000 --- a/cmake/README.md +++ /dev/null @@ -1,2320 +0,0 @@ -# Building LAMMPS using CMake - -LAMMPS recently acquired support for building with CMake thanks to the efforts -of Christoph Junghans (LANL) and Richard Berger (Temple U). One of the key -strengths of CMake is that it can generate the necessary build system files of -your own personal preference. It also enables using common development IDEs such -as Eclipse, Visual Studio, QtCreator, Xcode and many more for LAMMPS -development. - -CMake can both be used as a command-line (CLI) utility `cmake` or through one of -its GUIs. `ccmake` is a text-based ui to configure and build CMake projects. -`cmake-gui` is a graphical frontend for running CMake operations that works on -Linux desktop environments, Windows and MacOS X. - -The following is a tutorial-style introduction in using the CMake system. It -should give you the necessary foundation to understand how to do the most common -tasks, act as a reference and provide examples of typical use cases. - -## Table of Contents - - * [Quick Start for the Impatient](#quick-start-for-the-impatient) - * [Building LAMMPS using cmake](#building-lammps-using-cmake-1) - * [Prerequisites](#prerequisites) - * [Build directory vs. Source Directory](#build-directory-vs-source-directory) - * [Defining and using presets](#defining-and-using-presets) - * [Reference](#reference) - * [Common CMake Configuration Options](#common-cmake-configuration-options) - * [LAMMPS Configuration Options](#lammps-configuration-options) - * [Parallelization and Accelerator Packages](#parallelization-and-accelerator-packages) - * [Default Packages](#default-packages) - * [Other Packages](#other-packages) - * [User Packages](#user-packages) - * [Package-Specific Configuration Options](#package-specific-configuration-options) - * [KSPACE Package](#kspace-package) - * [MKL](#mkl) - * [FFTW3](#fftw3) - * [BLAS](#blas) - * [LAPACK](#lapack) - * [PYTHON Package](#python-package) - * [GPU Package](#gpu-package) - * [MESSAGE Package](#message-package) - * [MSCG Package](#mscg-package) - * [VORONOI Package](#voronoi-package) - * [USER-LATTE Package](#user-latte-package) - * [USER-PLUMED Package](#user-plumed-package) - * [USER-SCAFACOS Package](#user-scafacos-package) - * [USER-SMD Package](#user-smd-package) - * [Optional Features](#optional-features) - * [zlib support](#zlib-support) - * [JPEG support](#jpeg-support) - * [PNG support](#png-support) - * [GZIP support](#gzip-support) - * [FFMPEG support](#ffmpeg-support) - * [Compilers](#compilers) - * [Building with GNU Compilers](#building-with-gnu-compilers) - * [Building with Intel Compilers](#building-with-intel-compilers) - * [Building with LLVM/Clang Compilers](#building-with-llvmclang-compilers) - -## Quick Start for the Impatient -If you want to skip ahead and just run the compilation using `cmake`, please -find a minimal example below. Together with the options reference below, this -should get you started. - -```bash -git clone https://github.com/lammps/lammps.git -mkdir lammps/build -cd lammps/build -cmake [-D OPTION_A=VALUE_A -D OPTION_B=VALUE_B ...] ../cmake -make -``` - -# Building LAMMPS using `cmake` - -## Prerequisites -This tutorial assumes you are running in a command-line environment using a -shell like Bash. - -* Linux: any terminal window will work -* MacOS X: launch the Terminal app -* Windows 10: install and run "Bash on Windows" (aka Ubuntu on Windows) - -Before we start, please download the latest and greatest version of LAMMPS from -GitHub. You can either download it as a tarball or ZIP file, or via git. When -you start with a fresh lammps directory, the contents should look like this: - -```bash -$ ls -bench doc lib potentials README tools -cmake examples LICENSE python src -``` - -## Build directory vs. Source Directory - -By using CMake we separate building LAMMPS into multiple phases: - -1. **Configuration**: define which features we want to enable/disable and how it should be compiled -2. **Compilation**: compile each source file and generate binaries and libraries based on the configuration -3. **Installation** (Optional): finally we can install the generated binaries on our system - -In the GNU Make based build system of LAMMPS, configuration occurs by running -special make targets like `make yes-MOLECULAR`. These targets modify the -**source directory** (`src/`) directory by copying package files and patching -Makefile. In some cases you are force to manually edit Makefiles to add compiler -options and/or correct include directory and library paths. - -These edits and copy operations are no longer necessary when compiling with -CMake. The source directory stays untouched, so you compile LAMMPS in many -different variants using the same source code checkout. It enables true -**out-of-source** builds. - -When using Cmake, you can compile in **any** folder outside of the source -directory. Any working directory you choose becomes a so-called **build -directory**. All configuration files and compilation results are stored in this -folder. We recommend calling it something like `build/`. - -Let's have a look a quick example, where we get the greatest and latest version -of LAMMPS from GitHub via git: -```bash -git clone https://github.com/lammps/lammps.git -``` - -We then create a new `build` folder and make it our current working directory: -``` -mkdir lammps/build -cd lammps/build -``` - -To configure LAMMPS we run `cmake` inside of this folder. However it requires at -least one argument. `cmake` needs to read the LAMMPS `CMakeLists.txt` file to -know what to do. This file is located in the `cmake/` subdirectory of the -lammps checkout. To run `cmake` add the relative or absolute path to the `cmake/` -directory as first argument. - -E.g., if the current working directory is `lammps/build` you can specify the -relative path to `lammps/cmake` as follows: -``` -cmake ../cmake -``` - -You could also specify the absolute path: -``` -cmake /path/to/my/lammps/folder/cmake -``` - -Please note: **This does NOT compile the code!** Running cmake only configures -the next build. It generates the necessary files to compile the code. On -Unix/Linux it defaults to generating Makefiles. You can also choose other output -formats to generate files for Eclipse, Xcode or Visual Studio which are -supported on other platorms. - -To compile LAMMPS once the Makefiles are generated, simply type `make` in the -build directory. - -``` -make -``` -# Defining and using presets - -The CMake build exposes a lot of different options. In the old build system -some of the package selections were possible by using special make target like -`make yes-std` or `make no-lib`. Achieving a similar result with cmake requires -specifying all options manually. This can quickly become a very long command -line that is hard to handle. While these could be stored in a simple script -file, there is another way of defining "presets" to compile LAMMPS in a certain -way. Since the cmake build process - contrary to the conventional build system - -includes the compilation of the bundled libraries into the standard build process, -the grouping of those presets is somewhat different. - -A preset is a regular CMake script file that can use constructs such as -variables, lists and for-loops to manipulate configuration options and create -an [*initial cache*](https://cmake.org/cmake/help/v3.12/manual/cmake.1.html). -Options must be set with the `CACHE` and `FORCE` flag to ensure they are -considered even during a second cmake run. - -Such a file can then be passed to cmake via the `-C` flag. Several examples of -presets can be found in the `cmake/presets` folder. - -```bash -# build LAMMPS with all packages enabled which don't use external libraries and enable GPU package -mkdir build -cd build -cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GPU=on ../cmake -``` - -# Reference - -## Common CMake Configuration Options - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
CMAKE_INSTALL_PREFIXInstall location where LAMMPS files will be copied to. In the Unix/Linux case with Makefiles this controls what `make install` will do. - Default setting is $HOME/.local. -
CMAKE_BUILD_TYPEControls if debugging symbols are added to the generated binaries -
-
RelWithDebInfo (default)
-
Release
-
Debug
-
MinSizeRel
-
-
CMAKE_VERBOSE_MAKEFILEEnable verbose output from Makefile builds (useful for debugging), the same can be achived by adding `VERBOSE=1` to the `make` call. -
-
off (default)
-
on
-
-
- - -## LAMMPS Configuration Options - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
LAMMPS_SIZE_LIMITControls the integer sizes used by LAMMPS internally -
-
LAMMPS_SMALLBIG (default)
-
32bit , 64bit
-
LAMMPS_SMALLSMALL
-
32bit , 32bit
-
LAMMPS_BIGBIG
-
64bit , 64bit
-
-
LAMMPS_LONGLONG_TO_LONGWorkaround if your system or MPI version does not recognize long long data types -
-
off (default)
-
on
-
-
LAMMPS_MEMALIGNcontrols the alignment of blocks of memory allocated by LAMMPS -
-
64 (default)
-
-
LAMMPS_EXCEPTIONScontrols whether LAMMPS dies after an error or throws a C++ exception. This is particularly useful when running through the C library interface, since an error - in LAMMPS then doesn't kill the parent process -
-
off (default)
-
on
-
-
LAMMPS_MACHINEallows appending a machine suffix to the generated LAMMPS binary -
-
*none* (default)
-
-
LAMMPS_LIB_SUFFIXallows appending a suffix to the generated LAMMPS library -
-
*none* (default)
-
-
BUILD_LIBcontrol whether to build LAMMPS as a library -
-
off (default)
-
on
-
-
BUILD_EXEcontrol whether to build LAMMPS executable -
-
on (default)
-
off
-
-
BUILD_SHARED_LIBScontrol whether to build LAMMPS as a shared-library -
-
off (default)
-
on
-
-
BUILD_DOCcontrol whether to build LAMMPS documentation -
-
off (default)
-
on
-
-
BUILD_TOOLScontrol whether to build LAMMPS tools -
-
off (default)
-
on
-
-
- -## Parallelization and Accelerator Packages - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
BUILD_MPIcontrol whether to build LAMMPS with MPI support. This will look for - `mpicxx` in your path and use this MPI implementation. -
-
on (default, if found)
-
off
-
-
BUILD_OMPcontrol whether to build LAMMPS with OpenMP support. -
-
on (default, if found)
-
off
-
-
PKG_OPT - A handful of pair styles which are optimized for improved CPU performance on - single or multiple cores. These include EAM, LJ, CHARMM, and Morse potentials. - -
-
off (default)
-
on
-
-
PKG_USER-OMP - Hundreds of pair, fix, compute, bond, angle, dihedral, improper, and kspace - styles which are altered to enable threading on many-core CPUs via OpenMP - directives. - -
-
off (default)
-
on
-
-
PKG_USER-INTEL - Dozens of pair, fix, bond, angle, dihedral, improper, and kspace styles which - are optimized for Intel CPUs and KNLs (Knights Landing). - -
-
off (default)
-
on
-
-
PKG_GPU - Dozens of pair styles and a version of the PPPM long-range Coulombic solver - optimized for GPUs. All such styles have a “gpu†as a suffix in their style - name. The GPU code can be compiled with either CUDA or OpenCL, however the - OpenCL variants are no longer actively maintained and only the CUDA versions - are regularly tested. - -
-
off (default)
-
on
-
-
PKG_KOKKOSDozens of atom, pair, bond, angle, dihedral, improper, fix, compute styles adapted to compile using the Kokkos library which can convert them to OpenMP or CUDA code so that they run efficiently on multicore CPUs, KNLs, or GPUs. -
-
off (default)
-
on
-
-
- -## Default Packages - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
PKG_ASPHEREComputes, time-integration fixes, and pair styles for aspherical particle models including ellipsoids, 2d lines, and 3d triangles. -
-
off (default)
-
on
-
-
PKG_BODYBody-style particles with internal structure. Computes, time-integration fixes, pair styles, as well as the body styles themselves. -
-
off (default)
-
on
-
-
PKG_CLASS2Bond, angle, dihedral, improper, and pair styles for the COMPASS CLASS2 molecular force field. -
-
off (default)
-
on
-
-
PKG_COLLOIDCoarse-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. -
-
off (default)
-
on
-
-
PKG_COMPRESSCompressed output of dump files via the zlib compression library, using dump styles with a “gz†in their style name. -
-
off (default)
-
on
-
-
PKG_CORESHELLCompute and pair styles that implement the adiabatic core/shell model for polarizability. The pair styles augment Born, Buckingham, and Lennard-Jones styles with core/shell capabilities. The compute temp/cs command calculates the temperature of a system with core/shell particles. -
-
off (default)
-
on
-
-
PKG_DIPOLEAn atom style and several pair styles for point dipole models with short-range or long-range interactions. -
-
off (default)
-
on
-
-
PKG_GRANULARPair styles and fixes for finite-size granular particles, which interact with each other and boundaries via frictional and dissipative potentials. -
-
off (default)
-
on
-
-
PKG_KSPACEA variety of long-range Coulombic solvers, as well as pair styles which compute the corresponding short-range pairwise Coulombic interactions. These include Ewald, particle-particle particle-mesh (PPPM), and multilevel summation method (MSM) solvers. -
-
off (default)
-
on
-
-
PKG_MANYBODY - A variety of manybody and bond-order potentials. These include (AI)REBO, BOP, - EAM, EIM, Stillinger-Weber, and Tersoff potentials. - -
-
off (default)
-
on
-
-
PKG_MC - Several fixes and a pair style that have Monte Carlo (MC) or MC-like - attributes. These include fixes for creating, breaking, and swapping bonds, - for performing atomic swaps, and performing grand-canonical MC (GCMC) in - conjuction with dynamics. - -
-
off (default)
-
on
-
-
PKG_MISC - A variety of compute, fix, pair, dump styles with specialized capabilities that - don’t align with other packages. - -
-
off (default)
-
on
-
-
PKG_MOLECULE - A large number of atom, pair, bond, angle, dihedral, improper styles that are - used to model molecular systems with fixed covalent bonds. The pair styles - include the Dreiding (hydrogen-bonding) and CHARMM force fields, and a TIP4P - water model. - -
-
off (default)
-
on
-
-
PKG_PERI - An atom style, several pair styles which implement different Peridynamics - materials models, and several computes which calculate diagnostics. - Peridynamics is a a particle-based meshless continuum model. - -
-
off (default)
-
on
-
-
PKG_QEQ - Several fixes for performing charge equilibration (QEq) via different - algorithms. These can be used with pair styles that perform QEq as part of - their formulation. - -
-
off (default)
-
on
-
-
PKG_REPLICA - A collection of multi-replica methods which can be used when running multiple - LAMMPS simulations (replicas). See Section 6.5 for an overview of how to run - multi-replica simulations in LAMMPS. Methods in the package include nudged - elastic band (NEB), parallel replica dynamics (PRD), temperature accelerated - dynamics (TAD), parallel tempering, and a verlet/split algorithm for - performing long-range Coulombics on one set of processors, and the remainder - of the force field calcalation on another set. - -
-
off (default)
-
on
-
-
PKG_RIGID - Fixes which enforce rigid constraints on collections of atoms or particles. - This includes SHAKE and RATTLE, as well as varous rigid-body integrators for a - few large bodies or many small bodies. Also several computes which calculate - properties of rigid bodies. - -
-
off (default)
-
on
-
-
PKG_SHOCK - Fixes for running impact simulations where a shock-wave passes through a - material. - -
-
off (default)
-
on
-
-
PKG_SPINModel atomic magnetic spins classically, coupled to atoms moving in the usual manner via MD. Various pair, fix, and compute styles. -
-
off (default)
-
on
-
-
PKG_SNAP - A pair style for the spectral neighbor analysis potential (SNAP). SNAP is - methodology for deriving a highly accurate classical potential fit to a large - archive of quantum mechanical (DFT) data. Also several computes which analyze - attributes of the potential. - -
-
off (default)
-
on
-
-
PKG_SRD - A pair of fixes which implement the Stochastic Rotation Dynamics (SRD) method - for coarse-graining of a solvent, typically around large colloidal particles. - -
-
off (default)
-
on
-
-
- -## Other Packages - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
PKG_KIMA pair_style kim command which is a wrapper on the Knowledge Base for Interatomic Models (KIM) repository of interatomic potentials, enabling any of them to be used in LAMMPS simulations. -
-
off (default)
-
on
-
-
PKG_PYTHONEnable support for Python scripting inside of LAMMPS. -
-
off (default)
-
on
-
-
PKG_MESSAGECommands to use LAMMPS as either a client or server and couple it to another application. -
-
off (default)
-
on
-
-
PKG_MSCG - A fix mscg command which can parameterize a Multi-Scale Coarse-Graining (MSCG) - model using the open-source MS-CG library. - -
-
off (default)
-
on
-
-
PKG_MPIIO - Support for parallel output/input of dump and restart files via the MPIIO library. - -
-
off (default)
-
on
-
-
PKG_POEMS - A fix that wraps the Parallelizable Open source Efficient Multibody Software - (POEMS) library, which is able to simulate the dynamics of articulated body - systems. These are systems with multiple rigid bodies (collections of - particles) whose motion is coupled by connections at hinge points. - -
-
off (default)
-
on
-
-
PKG_LATTE - A fix command which wraps the LATTE DFTB code, so that molecular dynamics can - be run with LAMMPS using density-functional tight-binding quantum forces - calculated by LATTE. - -
-
off (default)
-
on
-
-
PKG_VORONOI - A compute command which calculates the Voronoi tesselation of a collection of atoms by wrapping the Voro++ library. This can be used to calculate the local volume or each atoms or its near neighbors. - -
-
off (default)
-
on
-
-
- -## User Packages - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
PKG_USER-ADIOSADIOS is a high-performance I/O library. This package implements the dump “atom/adios†and dump “custom/adios†commands to write data using the ADIOS library. -
-
off (default)
-
on
-
-
PKG_USER-ATC - ATC stands for atoms-to-continuum. This package implements a fix atc command - to either couple molecular dynamics with continuum finite element equations or - perform on-the-fly conversion of atomic information to continuum fields. - -
-
off (default)
-
on
-
-
PKG_USER-AWPMD - AWPMD stands for Antisymmetrized Wave Packet Molecular Dynamics. This package - implements an atom, pair, and fix style which allows electrons to be treated - as explicit particles in a classical molecular dynamics model. - -
-
off (default)
-
on
-
-
PKG_USER-BOCS - This package provides fix bocs, a modified version of fix npt which includes the pressure correction to the barostat as outlined in: N. J. H. Dunn and W. G. Noid, “Bottom-up coarse-grained models that accurately describe the structure, pressure, and compressibility of molecular liquids,†J. Chem. Phys. 143, 243148 (2015). - -
-
off (default)
-
on
-
-
PKG_USER-CGDNA - Several pair styles, a bond style, and integration fixes for coarse-grained - models of single- and double-stranded DNA based on the oxDNA model of Doye, - Louis and Ouldridge at the University of Oxford. This includes Langevin-type - rigid-body integrators with improved stability. - -
-
off (default)
-
on
-
-
PKG_USER-CGSDK - Several pair styles and an angle style which implement the coarse-grained SDK - model of Shinoda, DeVane, and Klein which enables simulation of ionic liquids, - electrolytes, lipids and charged amino acids. - -
-
off (default)
-
on
-
-
PKG_USER-COLVARS - COLVARS stands for collective variables, which can be used to implement - various enhanced sampling methods, including Adaptive Biasing Force, - Metadynamics, Steered MD, Umbrella Sampling and Restraints. A fix colvars - command is implemented which wraps a COLVARS library, which implements these - methods. simulations. - -
-
off (default)
-
on
-
-
PKG_USER-DIFFRACTION - Two computes and a fix for calculating x-ray and electron diffraction - intensities based on kinematic diffraction theory. - -
-
off (default)
-
on
-
-
PKG_USER-DPD - DPD stands for dissipative particle dynamics. This package implements - 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 integrators for isothermal, isoenergetic, isobaric and - isenthalpic conditions are included. These enable long timesteps via the - Shardlow splitting algorithm. - -
-
off (default)
-
on
-
-
PKG_USER-DRUDE - Fixes, pair styles, and a compute to simulate thermalized Drude oscillators as - a model of polarization. - -
-
off (default)
-
on
-
-
PKG_USER-EFF - EFF stands for electron force field which allows a classical MD code to model - electrons as particles of variable radius. This package contains atom, pair, - fix and compute styles which implement the eFF as described in A. - Jaramillo-Botero, J. Su, Q. An, and W.A. Goddard III, JCC, 2010. The eFF - potential was first introduced by Su and Goddard, in 2007. - -
-
off (default)
-
on
-
-
PKG_USER-FEP - FEP stands for free energy perturbation. This package provides methods for - performing FEP simulations by using a fix adapt/fep command with soft-core - pair potentials, which have a “soft†in their style name. - -
-
off (default)
-
on
-
-
PKG_USER-H5MD - H5MD stands for HDF5 for MD. HDF5 is a portable, binary, self-describing file - format, used by many scientific simulations. H5MD is a format for molecular - simulations, built on top of HDF5. This package implements a dump h5md command - to output LAMMPS snapshots in this format. - -
-
off (default)
-
on
-
-
PKG_USER-LB - Fixes which implement a background Lattice-Boltzmann (LB) fluid, which can be - used to model MD particles influenced by hydrodynamic forces. - -
-
off (default)
-
on
-
-
PKG_USER-MANIFOLD - Several fixes and a “manifold†class which enable simulations of particles - constrained to a manifold (a 2D surface within the 3D simulation box). This is - done by applying the RATTLE constraint algorithm to formulate single-particle - constraint functions g(xi,yi,zi) = 0 and their derivative (i.e. the normal of - the manifold) n = grad(g). - -
-
off (default)
-
on
-
-
PKG_USER-MEAMC - A pair style for the modified embedded atom (MEAM) potential translated from - the Fortran version in the MEAM package to plain C++. In contrast to the MEAM - package, no library needs to be compiled and the pair style can be - instantiated multiple times. - -
-
off (default)
-
on
-
-
PKG_USER-MESO - 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-diffusion-reaction systems. The - equations of motion of these DPD extensions are integrated through a modified - velocity-Verlet (MVV) algorithm. - -
-
off (default)
-
on
-
-
PKG_USER-MGPT - A pair style which provides a fast implementation of the quantum-based MGPT - multi-ion potentials. The MGPT or model GPT method derives from - first-principles DFT-based generalized pseudopotential theory (GPT) through a - series of systematic approximations valid for mid-period transition metals - with nearly half-filled d bands. The MGPT method was originally developed by - John Moriarty at LLNL. The pair style in this package calculates forces and - energies using an optimized matrix-MGPT algorithm due to Tomas Oppelstrup at - LLNL. - -
-
off (default)
-
on
-
-
PKG_USER-MISC - A potpourri of (mostly) unrelated features contributed to LAMMPS by users. - Each feature is a single fix, compute, pair, bond, angle, dihedral, improper, - or command style. - -
-
off (default)
-
on
-
-
PKG_USER-MOFFF - Pair, angle and improper styles needed to employ the MOF-FF force field by - Schmid and coworkers with LAMMPS. MOF-FF is a first principles derived force - field with the primary aim to simulate MOFs and related porous framework - materials, using spherical Gaussian charges. It is described in S. Bureekaew - et al., Phys. Stat. Sol. B 2013, 250, 1128-1141. For the usage of MOF-FF see - the example in the example directory as well as the MOF+ website. - -
-
off (default)
-
on
-
-
PKG_USER-MOLFILE - A dump molfile command which uses molfile plugins that are bundled with the - VMD molecular visualization and analysis program, to enable LAMMPS to dump - snapshots in formats compatible with various molecular simulation tools. - -
-
off (default)
-
on
-
-
PKG_USER-NETCDF - Dump styles for writing NetCDF formatted dump files. NetCDF is a portable, - binary, self-describing file format developed on top of HDF5. The file - contents follow the AMBER NetCDF trajectory conventions - (http://ambermd.org/netcdf/nctraj.xhtml), but include extensions. - -
-
off (default)
-
on
-
-
PKG_USER-PHONON - A fix phonon command that calculates dynamical matrices, which can then be - used to compute phonon dispersion relations, directly from molecular dynamics - simulations. - -
-
off (default)
-
on
-
-
PKG_USER-PLUMED - The fix plumed command allows you to use the PLUMED free energy plugin for molecular dynamics to analyze and bias your LAMMPS trajectory on the fly. The PLUMED library is called from within the LAMMPS input script by using the fix plumed command. - -
-
off (default)
-
on
-
-
PKG_USER-PTM - A compute ptm/atom command that calculates local structure characterization using the Polyhedral Template Matching methodology. - -
-
off (default)
-
on
-
-
PKG_USER-QTB - Two fixes which provide a self-consistent quantum treatment of vibrational modes in a classical molecular dynamics simulation. By coupling the MD simulation to a colored thermostat, it introduces zero point energy into the system, altering the energy power spectrum and the heat capacity to account for their quantum nature. This is useful when modeling systems at temperatures lower than their classical limits or when temperatures ramp across the classical limits in a simulation. - -
-
off (default)
-
on
-
-
PKG_USER-QUIP - A pair_style quip command which wraps the QUIP libAtoms library, which - includes a variety of interatomic potentials, including Gaussian Approximation - Potential (GAP) models developed by the Cambridge University group. - -
-
off (default)
-
on
-
-
PKG_USER-QMMM - A fix qmmm command which allows LAMMPS to be used in a QM/MM simulation, - currently only in combination with the Quantum ESPRESSO package. - -
-
off (default)
-
on
-
-
PKG_USER-REAXC - A pair style which implements the ReaxFF potential in C/C++ (in contrast to - the REAX package and its Fortran library). ReaxFF is universal reactive force - field. See the src/USER-REAXC/README file for more info on differences between - the two packages. Also two fixes for monitoring molecules as bonds are created - and destroyed. - -
-
off (default)
-
on
-
-
PKG_USER-SCAFACOS - A KSpace style which wraps the ScaFaCoS Coulomb solver library to compute long-range Coulombic interactions. - -
-
off (default)
-
on
-
-
PKG_USER-SDPD - A pair style for smoothed dissipative particle dynamics (SDPD), which is an - extension of smoothed particle hydrodynamics (SPH) to mesoscale where thermal - fluctuations are important (see the USER-SPH package). Also two fixes for - moving and rigid body integration of SPH/SDPD particles (particles of - atom_style meso). -
-
off (default)
-
on
-
-
PKG_USER-SMD - An atom style, fixes, computes, and several pair styles which implements - smoothed Mach dynamics (SMD) for solids, which is a model related to smoothed - particle hydrodynamics (SPH) for liquids (see the USER-SPH package). - -
-
off (default)
-
on
-
-
PKG_USER-SMTBQ - A pair style which implements a Second Moment Tight Binding model with QEq - charge equilibration (SMTBQ) potential for the description of ionocovalent - bonds in oxides. - -
-
off (default)
-
on
-
-
PKG_USER-SPH - An atom style, fixes, computes, and several pair styles which implements - smoothed particle hydrodynamics (SPH) for liquids. See the related USER-SMD - package package for smooth Mach dynamics (SMD) for solids. - -
-
off (default)
-
on
-
-
PKG_USER-TALLY - Several compute styles that can be called when pairwise interactions are - calculated to tally information (forces, heat flux, energy, stress, etc) about - individual interactions. - -
-
off (default)
-
on
-
-
PKG_USER-UEF - A fix style for the integration of the equations of motion under extensional - flow with proper boundary conditions, as well as several supporting compute - styles and an output option. - -
-
off (default)
-
on
-
-
PKG_USER-VTK - A dump vtk command which outputs snapshot info in the VTK format, enabling - visualization by Paraview or other visualization packages. - -
-
off (default)
-
on
-
-
PKG_USER-YAFF - Some potentials that are also implemented in the Yet Another Force Field (YAFF) code. - The expressions and their use are discussed in the following papers: - - -
-
off (default)
-
on
-
-
- -## Package-Specific Configuration Options - -### KSPACE Package - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
FFT -

FFT library for KSPACE package

-

If either MKL or FFTW is selected cmake will try to locate - these libraries automatically. To control which one should be used please see - the options below for each FFT library. Otherwise it will default to KISS - FFT.

-
-
-
FFTW3
-
FFTW2
-
MKL
-
KISS (default)
-
-
FFT_SINGLEUse single-precision floating-point in FFT -
-
off (default = double precision)
-
on
-
-
FFT_PACKOptimization for FFT -
-
array (default)
-
pointer
-
memcpy
-
-
- -### FFTW3 - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
FFTW3_INCLUDE_DIRSpath to FFTW3 include files -
FFTW3_LIBRARIESlist of paths to FFTW3 libraries -
- -### MKL - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
MKL_INCLUDE_DIRSpath to MKL include files -
MKL_LIBRARIESlist of paths to MKL libraries -
- -### BLAS - -See [FindBLAS documentation](https://cmake.org/cmake/help/latest/module/FindBLAS.html) - -### LAPACK - -See [FindLAPACK documentation](https://cmake.org/cmake/help/latest/module/FindLAPACK.html) - -### PYTHON Package - -See [FindPYTHON documentation](https://cmake.org/cmake/help/latest/module/FindPython.html) - -### USER-INTEL Package - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
INTEL_ARCHTarget architecture for USER-INTEL package -
-
cpu (default)
-
knl
-
-
INTEL_LRT_MODEHow to support Long-range thread mode in Verlet integration -
-
threads (default, if pthreads available)
-
none (default, if pthreads not available)
-
c++11
-
-
- -### GPU Package -The GPU package builds a support library which can either use OpenCL or CUDA as -target API. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
GPU_APIAPI used by GPU package -
-
opencl (default)
-
cuda
-
-
GPU_PRECPrecision size used by GPU package kernels -
-
mixed (default)
-
single
-
double
-
-
OCL_TUNE (OpenCL only)Tuning target for OpenCL driver code -
-
generic (default)
-
intel (Intel CPU)
-
phi (Intel Xeon Phi)
-
fermi (NVIDIA)
-
kepler (NVIDIA)
-
cypress (AMD)
-
-
GPU_ARCH (CUDA only)CUDA SM architecture targeted by GPU package -
-
sm_20 (Fermi)
-
sm_30 (Kepler) (default)
-
sm_50 (Maxwell)
-
sm_60 (Pascal)
-
sm_70 (Volta)
-
sm_75 (Turing)
-
-
CUDPP_OPT (CUDA only)Enable CUDA Performance Primitives Optimizations -
-
on (default)
-
off
-
-
CUDA_MPS_SUPPORT (CUDA only)Enable tweaks for running with Nvidia CUDA Multi-process services daemon -
-
on
-
off (default)
-
-
BIN2C (CUDA only)Path to bin2c executable, will automatically pick up the first one in your $PATH.(automatic)
- -### KIM Package - -Requires installation of the KIM library with API v2 - -If `DOWNLOAD_KIM` is set, the KIM library will be downloaded and built inside -the CMake build directory. If the KIM library is already on your system (in a -location CMake cannot find it), set the `PKG_CONFIG_PATH` environment variable -so that `libkim-api` can be found. - - - - - - - - - - - - - - - - -
OptionDescriptionValues
DOWNLOAD_KIMDownload KIM API v2 and compile it as part of the build. -
-
off (default)
-
on
-
-
- -### MESSAGE Package - -This package can optionally include support for messaging via sockets, using the open-source [ZeroMQ library](http://zeromq.org/), which must be installed on your system. - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
MESSAGE_ZMQBuild with ZeroMQ support -
-
off (default)
-
on
-
-
ZMQ_LIBRARY - ZMQ library file (only needed if at custom location) - -
ZMG_INCLUDE_DIR - Provide include directory of existing ZMQ installation (only needed if at custom location) - -
- -### MSCG Package - -Requires installation of the MSCG library - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
DOWNLOAD_MSCGDownload MSCG and compile it as part of the build -
-
off (default)
-
on
-
-
MSCG_LIBRARY - MSCG library file (only needed if at custom location) - -
MSCG_INCLUDE_DIR - Provide include directory of existing MSCG installation (only needed if at custom location) - -
- -### VORONOI Package - -Requires installation of the Voro++ library - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
DOWNLOAD_VORODownload Voro++ and compile it as part of the build -
-
off (default)
-
on
-
-
VORO_LIBRARY - Voro++ library file (only needed if at custom location) - -
VORO_INCLUDE_DIR - Provide include directory of existing Voro++ installation (only needed if at custom location) - -
- -### USER-COLVARS Package - -Requires a C++11 compiler to compile with the Lepton library included. - - - - - - - - - - - - - - - -
OptionDescriptionValues
COLVARS_LEPTONEnable the use of the Lepton library inside the Colvars library. - -
-
on (default)
-
off
-
-
- -### USER-LATTE Package - -Requires installation of the LATTE library - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
DOWNLOAD_LATTEDownload LATTE and compile it as part of the build -
-
off (default)
-
on
-
-
LATTE_LIBRARY - LATTE library file (only needed if at custom location) - -
- -### USER-PLUMED Package - -Requires installation of the PLUMED library - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
DOWNLOAD_PLUMEDDownload PLUMED and compile it as part of the build -
-
off (default)
-
on
-
-
PLUMED_MODE - Determines the linkage mode for the PLUMED library. - -
-
static (default)
-
shared
-
runtime
-
-
- -### USER-LATTE Package - -Requires installation of the LATTE library - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
DOWNLOAD_LATTEDownload LATTE and compile it as part of the build -
-
off (default)
-
on
-
-
LATTE_LIBRARY - LATTE library file (only needed if at custom location) - -
- -### USER-SMD Package - -Requires installation of the Eigen3 library - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
DOWNLOAD_EIGEN3Download Eigen3 and compile it as part of the build -
-
off (default)
-
on
-
-
EIGEN3_INCLUDE_DIR - Provide include directory of existing Eigen3 installation (only needed if at custom location) - -
- - -### USER-SCAFACOS Package - -To build with this package, you must download and build the [ScaFaCoS Coulomb solver library](http://www.scafacos.de/) - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
DOWNLOAD_SCAFACOSDownload SCAFACOS and compile it as part of the build -
-
off (default)
-
on
-
-
SCAFACOS_LIBRARY - SCAFACOS library file (only needed if at custom location) - -
SCAFACOS_INCLUDE_DIR - SCAFACOS include directory (only needed if at custom location) - -
- -## Optional Features - -### zlib support - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
ZLIB_INCLUDE_DIR -
ZLIB_LIBRARIES -
- -### JPEG support - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
WITH_JPEGEnables/Disable JPEG support in LAMMPS -
-
yes (default, if found)
-
no
-
-
JPEG_INCLUDE_DIR -
JPEG_LIBRARIES -
- -### PNG support -(requires zlib support) - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
WITH_PNGEnables/Disable PNG support in LAMMPS -
-
yes (default, if found)
-
no
-
-
PNG_INCLUDE_DIR -
PNG_LIBRARIES -
- -### GZIP support - -requires `gzip` to be in your `PATH` - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
WITH_GZIPEnables/Disable GZIP support in LAMMPS -
-
yes (default, if found)
-
no
-
-
GZIP_EXECUTABLEPath to gzip executable, will automatically pick up the first one in your $PATH.(automatic)
- -### FFMPEG support - -requires `ffmpeg` to be in your `PATH` - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
WITH_FFMPEGEnables/Disable FFMPEG support in LAMMPS -
-
yes (default, if found)
-
no
-
-
FFMPEG_EXECUTABLEPath to ffmpeg executable, will automatically pick up the first one in your $PATH.(automatic)
- - -## Compilers - -By default, `cmake` will use your environment C/C++/Fortran compilers for a -build. It uses the `CC`, `CXX` and `FC` environment variables to detect which -compilers should be used. However, these values will be cached after the first -run of `cmake`. Subsequent runs of `cmake` will ignore changes in these -environment variables. To ensure the correct values are used you avoid the -cache by setting the `CMAKE_C_COMPILER`, `CMAKE_CXX_COMPILER`, -`CMAKE_Fortran_COMPILER` options directly. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionDefault
CMAKE_C_COMPILERC Compiler which should be used by CMakevalue of `CC` environment variable at first `cmake` run
CMAKE_CXX_COMPILERC++ compiler which should be used by CMake - value of `CXX` environment variable at first `cmake` run -
CMAKE_Fortran_COMPILERC++ compiler which should be used by CMake - value of `FC` environment variable at first `cmake` run -
CXX_COMPILER_LAUNCHERCMake will run this tool and pass the compiler and its arguments to the tool. Some example tools are distcc and ccache. - (empty) -
- -### Building with GNU Compilers - -```bash -cmake -D CMAKE_C_COMPILER=gcc -D CMAKE_CXX_COMPILER=g++ -D CMAKE_Fortran_COMPILER=gfortran ../cmake -``` - -### Building with Intel Compilers - -```bash -cmake -D CMAKE_C_COMPILER=icc -D CMAKE_CXX_COMPILER=icpc -D CMAKE_Fortran_COMPILER=ifort ../cmake -``` - - -### Building with LLVM/Clang Compilers - -```bash -cmake -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_Fortran_COMPILER=flang ../cmake -``` - -## LAMMPS Developer Options - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OptionDescriptionValues
ENABLE_TESTINGControl wheather to add tests via CTest -
-
off (default)
-
on
-
-
LAMMPS_TESTING_SOURCE_DIRCustom location of lammps-testing repository (optional). If not specified it will download it via Git -
LAMMPS_TESTING_GIT_TAGIf lammps-testing repository is cloned, this is the tag/commit that will be checked out -
-
master (default)
-
-
ENABLE_COVERAGEEnables code coverage support via gcov and adds a gcovr build target to generate a coverage report. -
-
off (default)
-
on
-
-
ENABLE_SANITIZE_ADDRESSEnables Address Sanitizer support when compiling using GCC or Clang for detecting memory leaks in binaries while running them. See https://clang.llvm.org/docs/AddressSanitizer.html -
-
off (default)
-
on
-
-
ENABLE_SANITIZE_UNDEFINEDEnables Undefined Behavior Sanitizer support when compiling using GCC or Clang for detecting code that is running into undefined behavior of the language. See https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html -
-
off (default)
-
on
-
-
ENABLE_SANITIZE_THREADEnables Thread Sanitizer support when compiling using GCC or Clang for detecting data races in binaries while running them. See https://clang.llvm.org/docs/ThreadSanitizer.html -
-
off (default)
-
on
-
-
diff --git a/cmake/pkgconfig/liblammps.pc.in b/cmake/pkgconfig/liblammps.pc.in index a8710ca224c55e413a1ea9a3b8feee2c9e0c3a18..ca2c6191b7846dc298021b60ba2b95518b3859e2 100644 --- a/cmake/pkgconfig/liblammps.pc.in +++ b/cmake/pkgconfig/liblammps.pc.in @@ -18,12 +18,6 @@ # myapp_CFLAGS = $(LAMMPS_CFLAGS) # myapp_LDADD = $(LAMMPS_LIBS) -# Use this in CMake: -# CMakeLists.txt: -# find_package(PkgConfig) -# pkg_check_modules(LAMMPS IMPORTED_TARGET lammps) -# target_link_libraries( PkgConfig::LAMMPS) - prefix=@CMAKE_INSTALL_PREFIX@ libdir=@CMAKE_INSTALL_FULL_LIBDIR@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ @@ -31,8 +25,8 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ Name: liblammps@LAMMPS_MACHINE@ Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library URL: http://lammps.sandia.gov -Version: @LAMMPS_VERSION@ +Version: @PROJECT_VERSION@ Requires: -Libs: -L${libdir} -llammps@LAMMPS_LIB_SUFFIX@ +Libs: -L${libdir} -llammps@LAMMPS_MACHINE@ Libs.private: -lm Cflags: -I${includedir} @LAMMPS_API_DEFINES@ diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 9d03be99ecb41d059a1e8e072b776513df84122a..6b589e3cd9e1974a76a71867b2dc23d2c3496260 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -7,11 +7,11 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO + USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP - USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK USER-YAFF) + USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ + USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 2ff107975a6d3e92906186093e37df3e49ad48b8..e46157bb966377e917e10c8eda76b3668fc82dbd 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -9,11 +9,11 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO + USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP - USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK USER-YAFF) + USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ + USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/clang.cmake b/cmake/presets/clang.cmake index 828f359f540baa99e8ef6064b7dda24f1e1dbc0b..bfc355669d4405b06f7eabfafa3fd24d5a86197e 100644 --- a/cmake/presets/clang.cmake +++ b/cmake/presets/clang.cmake @@ -2,7 +2,7 @@ set(CMAKE_CXX_COMPILER "clang++" CACHE STRING "" FORCE) set(CMAKE_C_COMPILER "clang" CACHE STRING "" FORCE) -set(CMAKE_CXX_FLAGS "-Wall -Wextra -g -O2 -DNDEBG" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE) set(MPI_CXX "clang++" CACHE STRING "" FORCE) set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE) unset(HAVE_OMP_H_INCLUDE CACHE) @@ -13,5 +13,5 @@ set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE) set(OpenMP_CXX "clang++" CACHE STRING "" FORCE) set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "" FORCE) set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE) -set(OpenMP_omp_LIBRARY "/usr/lib64/libomp.so" CACHE PATH "" FORCE) +set(OpenMP_omp_LIBRARY "libomp.so" CACHE PATH "" FORCE) diff --git a/cmake/presets/hip.cmake b/cmake/presets/hip.cmake new file mode 100644 index 0000000000000000000000000000000000000000..047c8e8eb0350a239e98ceb7f22b24a4a8495817 --- /dev/null +++ b/cmake/presets/hip.cmake @@ -0,0 +1,12 @@ +# preset that will enable hipcc plus gcc with support for MPI and OpenMP (on Linux boxes) + +set(CMAKE_CXX_COMPILER "hipcc" CACHE STRING "" FORCE) +set(CMAKE_C_COMPILER "gcc" CACHE STRING "" FORCE) +set(CMAKE_CXX_FLAGS "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE) +unset(HAVE_OMP_H_INCLUDE CACHE) + +set(OpenMP_CXX "hipcc" CACHE STRING "" FORCE) +set(OpenMP_CXX_FLAGS "-fopenmp" CACHE STRING "" FORCE) +set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE) +set(OpenMP_omp_LIBRARY "libomp.so" CACHE PATH "" FORCE) + diff --git a/cmake/presets/intel.cmake b/cmake/presets/intel.cmake new file mode 100644 index 0000000000000000000000000000000000000000..099d744ad34f887fe146aa377105162f591394f7 --- /dev/null +++ b/cmake/presets/intel.cmake @@ -0,0 +1,16 @@ +# preset that will enable clang/clang++ with support for MPI and OpenMP (on Linux boxes) + +set(CMAKE_CXX_COMPILER "icpc" CACHE STRING "" FORCE) +set(CMAKE_C_COMPILER "icc" CACHE STRING "" FORCE) +set(MPI_CXX "icpc" CACHE STRING "" FORCE) +set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE) +unset(HAVE_OMP_H_INCLUDE CACHE) + +set(OpenMP_C "icc" CACHE STRING "" FORCE) +set(OpenMP_C_FLAGS "-qopenmp" CACHE STRING "" FORCE) +set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE) +set(OpenMP_CXX "icpc" CACHE STRING "" FORCE) +set(OpenMP_CXX_FLAGS "-qopenmp" CACHE STRING "" FORCE) +set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE) +set(OpenMP_omp_LIBRARY "libiomp5.so" CACHE PATH "" FORCE) + diff --git a/cmake/presets/kokkos-cuda.cmake b/cmake/presets/kokkos-cuda.cmake new file mode 100644 index 0000000000000000000000000000000000000000..36d099479d4af80a02a7f845651aa7618ff690c0 --- /dev/null +++ b/cmake/presets/kokkos-cuda.cmake @@ -0,0 +1,11 @@ +# preset that enables KOKKOS and selects CUDA compilation with OpenMP +# enabled as well. This preselects CC 5.0 as default GPU arch, since +# that is compatible with all higher CC, but not the default CC 3.5 +set(PKG_KOKKOS ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE) +set(Kokkos_ARCH_MAXWELL50 on CACHE BOOL "" FORCE) +set(BUILD_OMP ON CACHE BOOL "" FORCE) +get_filename_component(NVCC_WRAPPER_CMD ${CMAKE_CURRENT_SOURCE_DIR}/../lib/kokkos/bin/nvcc_wrapper ABSOLUTE) +set(CMAKE_CXX_COMPILER ${NVCC_WRAPPER_CMD} CACHE FILEPATH "" FORCE) diff --git a/cmake/presets/kokkos-openmp.cmake b/cmake/presets/kokkos-openmp.cmake new file mode 100644 index 0000000000000000000000000000000000000000..27d09f62cfc454fb031a1bac4c7fe48202bbf903 --- /dev/null +++ b/cmake/presets/kokkos-openmp.cmake @@ -0,0 +1,6 @@ +# preset that enables KOKKOS and selects OpenMP (only) compilation +set(PKG_KOKKOS ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "" FORCE) +set(BUILD_OMP ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/kokkos-serial.cmake b/cmake/presets/kokkos-serial.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0208d2ee3a408f4e08313d33076ea27751266bbc --- /dev/null +++ b/cmake/presets/kokkos-serial.cmake @@ -0,0 +1,5 @@ +# preset that enables KOKKOS and selects serial compilation only +set(PKG_KOKKOS ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_OPENMP OFF CACHE BOOL "" FORCE) +set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "" FORCE) diff --git a/cmake/presets/mingw-cross.cmake b/cmake/presets/mingw-cross.cmake index 920b377e487d0aeb725c85c9df29f6e6cd5f24a9..61c4bbc45b428b191daf484e81d7e8dc63c708be 100644 --- a/cmake/presets/mingw-cross.cmake +++ b/cmake/presets/mingw-cross.cmake @@ -1,17 +1,29 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU - GRANULAR KSPACE MANYBODY MC MISC MOLECULE OPT PERI POEMS QEQ - REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI USER-ATC USER-AWPMD - USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION - USER-DPD USER-DRUDE USER-EFF USER-FEP USER-INTEL USER-MANIFOLD - USER-MEAMC USER-MESO USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE - USER-OMP USER-PHONON USER-PTM USER-QTB USER-REAXC USER-SDPD - USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF) + GRANULAR KSPACE LATTE MANYBODY MC MISC MOLECULE OPT PERI + POEMS QEQ REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI + USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK + USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF + USER-FEP USER-INTEL USER-MANIFOLD USER-MEAMC USER-MESODPD + USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP + USER-PHONON USER-PTM USER-QTB USER-REACTION USER-REAXC + USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF + USER-YAFF) foreach(PKG ${WIN_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) endforeach() +# these two packages require a full MPI implementation +if(BUILD_MPI) + set(PKG_MPIIO ON CACHE BOOL "" FORCE) + set(PKG_USER-LB ON CACHE BOOL "" FORCE) +endif() + set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE) set(DOWNLOAD_EIGEN3 ON CACHE BOOL "" FORCE) set(LAMMPS_MEMALIGN "0" CACHE STRING "" FORCE) +set(CMAKE_TUNE_FLAGS "-Wno-missing-include-dirs" CACHE STRING "" FORCE) +set(CMAKE_EXE_LINKER_FLAGS "-Wl,--enable-stdcall-fixup" CACHE STRING "" FORCE) +set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--enable-stdcall-fixup" CACHE STRING "" FORCE) +set(BUILD_TOOLS ON CACHE BOOL "" FORCE) set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/lammps-installer") diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index eed560b995dd0dbd64e2082689ec3e1270649adf..2f5b517526b280f7bf059cd17069d375259f27c1 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -2,14 +2,16 @@ # external libraries. Compared to all_on.cmake some more unusual packages # are removed. The resulting binary should be able to run most inputs. -set(ALL_PACKAGES ASPHERE CLASS2 COLLOID CORESHELL DIPOLE - GRANULAR KSPACE MANYBODY MC MISC MOLECULE OPT PERI - PYTHON QEQ REPLICA RIGID SHOCK SNAP SRD VORONOI - USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD - USER-DRUDE USER-FEP USER-MEAMC USER-MESO - USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REAXC - USER-SPH USER-SMD USER-UEF USER-YAFF) +set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL + DIPOLE GRANULAR KSPACE MANYBODY MC MISC MOLECULE OPT PERI + POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI + USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION + USER-DPD USER-DRUDE USER-FEP USER-MEAMC USER-MESODPD + USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REACTION + USER-REAXC USER-SPH USER-SMD USER-UEF USER-YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) endforeach() + +set(BUILD_TOOLS ON CACHE BOOL "" FORCE) diff --git a/doc/.gitignore b/doc/.gitignore index ca450f00f929338bc7ec31a7024c7e5f1df60d5e..55b25960db371aa94df36763dbbbcd2efb104aa0 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -1,6 +1,8 @@ /old /html +/html-offline /latex +/mathjax /spelling /LAMMPS.epub /LAMMPS.mobi diff --git a/doc/Makefile b/doc/Makefile index a3c4906cec8ecd369a7b0877a4df88e8a4885328..c1f299a2f7f19957e040d69648d2ac9d42f4719d 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -3,8 +3,8 @@ SHELL = /bin/bash BUILDDIR = ${CURDIR} RSTDIR = $(BUILDDIR)/src -TXTDIR = $(BUILDDIR)/txt VENV = $(BUILDDIR)/docenv +MATHJAX = $(BUILDDIR)/mathjax TXT2RST = $(VENV)/bin/txt2rst ANCHORCHECK = $(VENV)/bin/rst_anchor_check @@ -12,6 +12,7 @@ PYTHON = $(shell which python3) VIRTUALENV = virtualenv HAS_PYTHON3 = NO HAS_VIRTUALENV = NO +HAS_PDFLATEX = NO ifeq ($(shell which python3 >/dev/null 2>&1; echo $$?), 0) HAS_PYTHON3 = YES @@ -27,76 +28,77 @@ VIRTUALENV = virtualenv HAS_VIRTUALENV = YES endif +ifeq ($(shell which pdflatex >/dev/null 2>&1; echo $$?), 0) +HAS_PDFLATEX = YES +endif + + SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocessing.cpu_count())') -SOURCES=$(filter-out $(wildcard $(TXTDIR)/lammps_commands*.txt) $(TXTDIR)/lammps_support.txt $(TXTDIR)/lammps_tutorials.txt,$(wildcard $(TXTDIR)/*.txt)) -OBJECTS=$(SOURCES:$(TXTDIR)/%.txt=$(RSTDIR)/%.rst) -.PHONY: help clean-all clean epub mobi rst html pdf venv spelling anchor_check style_check +.PHONY: help clean-all clean clean-spelling epub mobi rst html pdf spelling anchor_check style_check # ------------------------------------------ help: @echo "Please use \`make ' where is one of" - @echo " html create HTML doc pages in html dir" - @echo " pdf create Developer.pdf and Manual.pdf in this dir" - @echo " fetch fetch HTML and PDF files from LAMMPS web site" - @echo " epub create ePUB format manual for e-book readers" - @echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)" + @echo " html create HTML doc pages in html dir" + @echo " pdf create Developer.pdf and Manual.pdf in this dir" + @echo " fetch fetch HTML and PDF files from LAMMPS web site" + @echo " epub create ePUB format manual for e-book readers" + @echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)" @echo " (requires ebook-convert tool from calibre)" - @echo " clean remove all intermediate RST files" - @echo " clean-all reset the entire build environment" + @echo " clean remove all intermediate RST files" + @echo " clean-all reset the entire build environment" @echo " anchor_check scan for duplicate anchor labels" @echo " style_check check for complete and consistent style lists" - @echo " spelling spell-check the manual" + @echo " package_check check for complete and consistent package lists" + @echo " spelling spell-check the manual" # ------------------------------------------ clean-all: clean - rm -rf $(BUILDDIR)/docenv $(BUILDDIR)/doctrees + rm -rf $(BUILDDIR)/docenv $(BUILDDIR)/doctrees $(BUILDDIR)/mathjax Manual.pdf Developer.pdf -clean: +clean: clean-spelling rm -rf html epub latex - rm -rf spelling clean-spelling: rm -rf spelling -rst: clean $(OBJECTS) $(ANCHORCHECK) - -html: $(OBJECTS) $(ANCHORCHECK) +html: $(ANCHORCHECK) $(MATHJAX) @(\ . $(VENV)/bin/activate ;\ sphinx-build $(SPHINXEXTRA) -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\ echo "############################################" ;\ rst_anchor_check src/*.rst ;\ + python utils/check-packages.py -s ../src -d src ;\ env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\ python utils/check-styles.py -s ../src -d src ;\ echo "############################################" ;\ deactivate ;\ ) - -rm html/searchindex.js @rm -rf html/_sources @rm -rf html/PDF @rm -rf html/USER + @rm -rf html/JPG @cp -r src/PDF html/PDF - @cp -r src/USER html/USER + @mkdir -p html/JPG + @cp `grep -A2 '\.\. .*\(image\|figure\)::' src/*.rst | grep ':target:' | sed -e 's,.*:target: JPG/,src/JPG/,' | sort | uniq` html/JPG/ @rm -rf html/PDF/.[sg]* - @rm -rf html/USER/.[sg]* - @rm -rf html/USER/*/.[sg]* - @rm -rf html/USER/*/*.[sg]* + @mkdir -p html/_static/mathjax + @cp -r $(MATHJAX)/es5 html/_static/mathjax/ @echo "Build finished. The HTML pages are in doc/html." -spelling: $(OBJECTS) utils/sphinx-config/false_positives.txt +spelling: $(VENV) utils/sphinx-config/false_positives.txt @(\ . $(VENV)/bin/activate ;\ - pip install sphinxcontrib-spelling ;\ - cp utils/sphinx-config/false_positives.txt $(RSTDIR)/ ;\ + cp utils/sphinx-config/false_positives.txt $(RSTDIR)/ ; env PYTHONWARNINGS= \ sphinx-build -b spelling -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) spelling ;\ deactivate ;\ ) @echo "Spell check finished." -epub: $(OBJECTS) +epub: $(VENV) @mkdir -p epub/JPG @rm -f LAMMPS.epub @cp src/JPG/lammps-logo.png epub/ @@ -115,7 +117,8 @@ mobi: epub @ebook-convert LAMMPS.epub LAMMPS.mobi @echo "Conversion finished. The MOBI manual file is created." -pdf: $(OBJECTS) $(ANCHORCHECK) +pdf: $(ANCHORCHECK) + @if [ "$(HAS_PDFLATEX)" == "NO" ] ; then echo "PDFLaTeX was not found! Please check README.md for further instructions" 1>&2; exit 1; fi @(\ cd src/Developer; \ pdflatex developer; \ @@ -128,6 +131,7 @@ pdf: $(OBJECTS) $(ANCHORCHECK) sphinx-build $(SPHINXEXTRA) -b latex -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\ echo "############################################" ;\ rst_anchor_check src/*.rst ;\ + python utils/check-packages.py -s ../src -d src ;\ env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\ python utils/check-styles.py -s ../src -d src ;\ echo "############################################" ;\ @@ -149,11 +153,7 @@ pdf: $(OBJECTS) $(ANCHORCHECK) @rm -rf latex/PDF @rm -rf latex/USER @cp -r src/PDF latex/PDF - @cp -r src/USER latex/USER @rm -rf latex/PDF/.[sg]* - @rm -rf latex/USER/.[sg]* - @rm -rf latex/USER/*/.[sg]* - @rm -rf latex/USER/*/*.[sg]* @echo "Build finished. Manual.pdf and Developer.pdf are in this directory." fetch: @@ -167,37 +167,42 @@ fetch: anchor_check : $(ANCHORCHECK) @(\ . $(VENV)/bin/activate ;\ - rst_anchor_check src/*.txt ;\ + rst_anchor_check src/*.rst ;\ deactivate ;\ ) -style_check : +style_check : $(VENV) @(\ . $(VENV)/bin/activate ;\ python utils/check-styles.py -s ../src -d src ;\ deactivate ;\ ) -# ------------------------------------------ - -$(RSTDIR)/%.rst : $(TXTDIR)/%.txt $(TXT2RST) +package_check : $(VENV) @(\ - mkdir -p $(RSTDIR) ; \ . $(VENV)/bin/activate ;\ - txt2rst -v $< > $@ ;\ + python utils/check-packages.py -s ../src -d src ;\ deactivate ;\ ) +# ------------------------------------------ + $(VENV): @if [ "$(HAS_PYTHON3)" == "NO" ] ; then echo "Python3 was not found! Please check README.md for further instructions" 1>&2; exit 1; fi @if [ "$(HAS_VIRTUALENV)" == "NO" ] ; then echo "virtualenv was not found! Please check README.md for further instructions" 1>&2; exit 1; fi @( \ $(VIRTUALENV) -p $(PYTHON) $(VENV); \ . $(VENV)/bin/activate; \ + pip install --upgrade pip; \ pip install Sphinx; \ + pip install sphinxcontrib-spelling ;\ + pip install breathe; \ deactivate;\ ) +$(MATHJAX): + @git clone --depth 1 https://github.com/mathjax/MathJax.git mathjax + $(TXT2RST) $(ANCHORCHECK): $(VENV) @( \ . $(VENV)/bin/activate; \ diff --git a/doc/README b/doc/README index 1416584eed4abbf9334370e5e6e326e377f0ea6a..cbc0c425dc8c61894779e3b653697299ce7df8af 100644 --- a/doc/README +++ b/doc/README @@ -93,12 +93,18 @@ support for PDFLaTeX. Also the following LaTeX packages need to be installed (e.g. from texlive): - amsmath - babel +- capt-of - cmap - fncychap +- framed - geometry - hyperref - hypcap +- needspace - times +- tabulary +- upquote +- wrapfig ---------------- Installing prerequisites for epub build diff --git a/doc/include-file-conventions.md b/doc/include-file-conventions.md index 132f2ec4eb899a8ba045428c49a96dc05c7c5142..1b8e79d71e5730611160b1562b3d5d4424fc723b 100644 --- a/doc/include-file-conventions.md +++ b/doc/include-file-conventions.md @@ -49,22 +49,15 @@ include files provided with LAMMPS are included with double quotes For headers declaring functions of the C-library, the corresponding C++ versions should be included (examples: `#include ` or -`#include `). However, these includes are limited to those defined -in the C++98 standard. Some files thus must use the older style until -the minimum C++ standard requirement of LAMMPS is lifted to C++11 or -even beyond (examples: `#include ` versus `#include ` -or `#include ` versus `#include `). +`#include ` instead of `#include ` or +`#include` ). ### C++ Standard Compliance -LAMMPS core files currently correspond to the C++98 standard. Files -requiring C++11 or later are only permitted in (optional) packages -and particularly packages that are not part of the list of commonly -used packages such as MOLECULE, KSPACE, MANYBODY, or RIGID. - -Also, LAMMPS uses the C-style stdio library for I/O instead of iostreams. -Since using both at the same time can cause problems, iostreams should -be avoided where possible. +LAMMPS core files use standard conforming C++ compatible with the +C++11 standard, unless explicitly noted. Also, LAMMPS uses the C-style +stdio library for I/O instead of iostreams. Since using both at the +same time can cause problems, iostreams should be avoided where possible. ### Lean Header Files diff --git a/doc/lammps.1 b/doc/lammps.1 index 4355e6496157ec57648426b9ac98377f32a581e8..fd228f892fe1393b839415c375b42a23d64df523 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,4 +1,4 @@ -.TH LAMMPS "9 January 2020" "2020-01-09" +.TH LAMMPS "15 April 2020" "2020-04-15" .SH NAME .B LAMMPS \- Molecular Dynamics Simulator. @@ -11,13 +11,18 @@ or mpirun \-np 2 .B lmp - [OPTIONS] ... +\-in [OPTIONS] ... or .B lmp \-r2data file.restart file.data +or + +.B lmp +\-h + .SH DESCRIPTION .B LAMMPS is a classical molecular dynamics code, and an acronym for \fBL\fRarge-scale @@ -249,7 +254,7 @@ the chapter on errors in the manual gives some additional information about error messages, if possible. .SH COPYRIGHT -© 2003--2019 Sandia Corporation +© 2003--2020 Sandia Corporation This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as diff --git a/doc/msi2lmp.1 b/doc/msi2lmp.1 index 08a442e1de2718288f10dc1a2c3fbece331ddd32..e1a8c8a2f33cbc540e5d134d00d93943dc241b35 100644 --- a/doc/msi2lmp.1 +++ b/doc/msi2lmp.1 @@ -31,7 +31,7 @@ of benzene, you have to provide the files 'benzene.car' and 'benzene.mdf' in the current working directory. .B msi2lmp will then read and process those files according to its remaining settings. -All other settins are optional and have defaults as listed. +All other settings are optional and have defaults as listed. .TP \fB\-c \fR, \fB\-class \fR The \-c or \-class option selects the force field class, i.e which pair diff --git a/doc/src/.gitignore b/doc/src/.gitignore index e0b9693457ca0dfc081cfc7da4d53a6fa6286b94..afe24cc10c7128a38123ac9eb6095acc3e239b30 100644 --- a/doc/src/.gitignore +++ b/doc/src/.gitignore @@ -1,3 +1 @@ -/Eqs -/JPG /false_positives.txt diff --git a/doc/src/2001/README.html b/doc/src/2001/README.html index d36aa917aa0e8ddf6d40a114dce8678a638b80b6..d57897cd276477fe31bbea4b7bd1a86a9fd00fca 100644 --- a/doc/src/2001/README.html +++ b/doc/src/2001/README.html @@ -10,7 +10,7 @@ LAMMPS LAMMPS = Large-scale Atomic/Molecular Massively Parallel Simulator

This is the documentation for the LAMMPS 2001 version, written in F90, -which has been superceded by more current versions. See the LAMMPS WWW Site for more information.

diff --git a/doc/src/2001/basics.html b/doc/src/2001/basics.html index 24ac6de4ca5f7fa073d11a27871530741b694548..343fd8d1291a7d2bb16be3ba19bb6f3f17e23a00 100644 --- a/doc/src/2001/basics.html +++ b/doc/src/2001/basics.html @@ -47,7 +47,7 @@ directories:

The src directory contains the F90 and C source files for LAMMPS as well as several sample Makefiles for different machines. To make LAMMPS -for a specfic machine, you simply type

+for a specific machine, you simply type

make machine

diff --git a/doc/src/2001/input_commands.html b/doc/src/2001/input_commands.html index 797d6bec4e92b81c71ee6d76f6107dcdf1105be7..62ef5a5120fab1a2ce421b76ca92604fa486a14b 100644 --- a/doc/src/2001/input_commands.html +++ b/doc/src/2001/input_commands.html @@ -1079,7 +1079,7 @@ for style aveforce, average force on the group of fixed atoms is computed, to new total value -> has effect of applying same force to entire group of atoms thermostatting constraints (rescale, hoover/drag, langevin) cannot be used in - conjuction with global "temp control", since they conflict and will + conjunction with global "temp control", since they conflict and will cause atom velocities to be reset twice thermostatting constraints (rescale, hoover/drag, langevin) cannot be used when performing a minimization @@ -1089,7 +1089,7 @@ meaning of rescale and Langevin thermostatting coefficients is same as in "temp control" command for rescale style, it can be used as a coarse temperature rescaler, for example "rescale 200.0 300.0 100 10.0 1.0" will ramp the temperature - up during the simulation, resetting it to the target temperatue as needed + up during the simulation, resetting it to the target temperature as needed for rescale style, it can be used to create an instantaneous drag force that slowly rescales the temperature without oscillation, for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) @@ -1952,7 +1952,7 @@ for rescale style, the amount of rescaling is contfolled by the fractional to halfway between the current and target temperature for rescale style, it can be used as a coarse temperature rescaler, for example "rescale 200.0 300.0 100 10.0 1.0" will ramp the temperature - up during the simulation, resetting it to the target temperatue as needed + up during the simulation, resetting it to the target temperature as needed for rescale style, it can be used to create an instantaneous drag force that slowly rescales the temperature without oscillation, for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) diff --git a/doc/src/99/README.html b/doc/src/99/README.html index 528c1e161debec02bf6c11115be0b1520350b270..d85f23970fc7b560a5a844630f26f4a8d6846048 100644 --- a/doc/src/99/README.html +++ b/doc/src/99/README.html @@ -10,7 +10,7 @@ LAMMPS LAMMPS = Large-scale Atomic/Molecular Massively Parallel Simulator

This is the documentation for the LAMMPS 99 version, written in F77, -which has been superceded by more current versions. See the LAMMPS WWW Site for more information.

diff --git a/doc/src/99/basics.html b/doc/src/99/basics.html index b6236f4bf9f68c78a77e0da4e2b40f48e470f336..ef85d35b14234a6387fdd26023ade9f5a14a8c20 100644 --- a/doc/src/99/basics.html +++ b/doc/src/99/basics.html @@ -45,7 +45,7 @@ directories:

The src directory contains the F77 and C source files for LAMMPS as well as several sample Makefiles for different machines. To make LAMMPS -for a specfic machine, you simply type

+for a specific machine, you simply type

make machine

diff --git a/doc/src/99/input_commands.html b/doc/src/99/input_commands.html index baea02b5c2cebe620f9ec2083ae5540e214a2ef0..5ece32d52b6fcac3918034ab772dd9dcf9c2d7fd 100644 --- a/doc/src/99/input_commands.html +++ b/doc/src/99/input_commands.html @@ -430,7 +430,7 @@ accuracy criterion effectively determines how many k-space vectors are used for PPPM, accuracy criterion determines mesh spacing (see "particle mesh" command) for PPPM, must be running on power-of-2 number of processors for FFTs -must use periodic boundary conditions in conjuction with Ewald and PPPM +must use periodic boundary conditions in conjunction with Ewald and PPPM cannot use any styles other than none with nonbond style = lj/shift or nonbond style = soft Coulomb style = smooth should be used with nonbond style = lj/switch, @@ -772,7 +772,7 @@ for style aveforce, average force on the group of fixed atoms is computed, to new total value -> has effect of applying same force to entire group of atoms thermostatting constraints (rescale, langevin, nose/hoover) cannot be used in - conjuction with global "temp control", since they conflict and will + conjunction with global "temp control", since they conflict and will cause atom velocities to be reset twice if multiple Langevin constraints are specified the Marsaglia RNG will only use the last RNG seed specified for initialization diff --git a/doc/src/Build.rst b/doc/src/Build.rst index 2eba3ddd48cd580447c1f0e46ff843e7ebbc6796..441af79009ad86069ee866aec82e001056fab0e2 100644 --- a/doc/src/Build.rst +++ b/doc/src/Build.rst @@ -1,13 +1,14 @@ Build LAMMPS ************ -LAMMPS can be built as an executable or library from source code via -either traditional makefiles (which may require manual editing) -for use with GNU make or gmake, or a build environment generated by CMake -(Unix Makefiles, Xcode, Visual Studio, KDevelop or more). As an -alternative you can download a package with pre-built executables -as described on the :doc:`Install ` doc page. +LAMMPS is built as a library and an executable from source code using +either traditional makefiles for use with GNU make (which may require +manual editing), or using a build environment generated by CMake (Unix +Makefiles, Ninja, Xcode, Visual Studio, KDevelop, CodeBlocks and more). +As an alternative you can download a package with pre-built executables +or automated build trees as described on the :doc:`Install ` +doc page. .. toctree:: :maxdepth: 1 @@ -21,8 +22,3 @@ as described on the :doc:`Install ` doc page. Build_extras Build_windows Build_development - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/Build_basics.rst b/doc/src/Build_basics.rst index cf77c81e692b0d4dd9440d94f6d54c0fbae42fdd..335c1a51899836d3f818aebdb2f89c696111bfde 100644 --- a/doc/src/Build_basics.rst +++ b/doc/src/Build_basics.rst @@ -6,159 +6,203 @@ CMake and make: * :ref:`Serial vs parallel build ` * :ref:`Choice of compiler and compile/link options ` -* :ref:`Build LAMMPS as an executable or a library ` +* :ref:`Build the LAMMPS executable and library ` +* :ref:`Including and removing debug support ` * :ref:`Build the LAMMPS documentation ` * :ref:`Install LAMMPS after a build ` - ---------- - .. _serial: Serial vs parallel build -------------------------------------- +------------------------ -LAMMPS can be built to run in parallel using the ubiquitous `MPI (message-passing interface) `_ -library. Or it can built to run on a single processor (serial) -without MPI. It can also be built with support for OpenMP threading -(see more discussion below). +LAMMPS is written to use the ubiquitous `MPI (Message Passing Interface) +`_ library API +for distributed memory parallel computation. You need to have such a +library installed for building and running LAMMPS in parallel using a +domain decomposition parallelization. It is compatible with the MPI +standard version 2.x and later. LAMMPS can also be built into a +"serial" executable for use with a single processor using the bundled +MPI STUBS library. -**CMake variables**\ : +Independent of the distributed memory MPI parallelization, parts of +LAMMPS are also written with support for shared memory parallelization +using the `OpenMP `_ threading +standard. A more detailed discussion of that is below. +**CMake build**\ : -.. parsed-literal:: +.. code-block:: bash -D BUILD_MPI=value # yes or no, default is yes if CMake finds MPI, else no - -D BUILD_OMP=value # yes or no (default) + -D BUILD_OMP=value # yes or no, default is yes if a compatible compiler is detected -D LAMMPS_MACHINE=name # name = mpi, serial, mybox, titan, laptop, etc # no default value -The executable created by CMake (after running make) is lmp\_name. If -the LAMMPS\_MACHINE variable is not specified, the executable is just -lmp. Using BUILD\_MPI=no will produce a serial executable. +The executable created by CMake (after running make) is named ``lmp`` unless +the ``LAMMPS_MACHINE`` option is set. When setting ``LAMMPS_MACHINE=name`` +the executable will be called ``lmp_name``. Using ``BUILD_MPI=no`` will +enforce building a serial executable using the MPI STUBS library. **Traditional make**\ : +The build with traditional makefiles has to be done inside the source folder ``src``. -.. parsed-literal:: +.. code-block:: bash - cd lammps/src make mpi # parallel build, produces lmp_mpi using Makefile.mpi make serial # serial build, produces lmp_serial using Makefile/serial - make mybox # uses Makefile.mybox to produce lmp_mybox - -Serial build (see src/MAKE/Makefile.serial): - - -.. parsed-literal:: + make mybox # uses Makefile.mybox to produce lmp_mybox + +Any ``make machine`` command will look up the make settings from a file +``Makefile.machine`` in the folder ``src/MAKE`` or one of its +sub-directories ``MINE``, ``MACHINES``, or ``OPTIONS``, create a folder +``Obj_machine`` with all objects and generated files and an executable +called ``lmp_machine``\ . The standard parallel build with ``make mpi`` +assumes a standard MPI installation with MPI compiler wrappers where all +necessary compiler and linker flags to get access and link with the +suitable MPI headers and libraries are set by the wrapper programs. For +other cases or the serial build, you have to adjust the make file +variables ``MPI_INC``, ``MPI_PATH``, ``MPI_LIB`` as well as ``CC`` and +``LINK``\ . To enable OpenMP threading usually a compiler specific flag +needs to be added to the compile and link commands. For the GNU +compilers, this is ``-fopenmp``\ , which can be added to the ``CC`` and +``LINK`` makefile variables. + +For the serial build the following make variables are set (see src/MAKE/Makefile.serial): + +.. code-block:: make + CC = g++ + LINK = g++ MPI_INC = -I../STUBS MPI_PATH = -L../STUBS MPI_LIB = -lmpi_stubs -For a parallel build, if MPI is installed on your system in the usual -place (e.g. under /usr/local), you do not need to specify the 3 -variables MPI\_INC, MPI\_PATH, MPI\_LIB. The MPI wrapper on the compiler -(e.g. mpicxx, mpiCC) knows where to find the needed include and -library files. Failing this, these 3 variables can be used to specify -where the mpi.h file (MPI\_INC), and the MPI library files (MPI\_PATH) -are found, and the name of the library files (MPI\_LIB). - -For a serial build, you need to specify the 3 variables, as shown -above. - -For a serial LAMMPS build, use the dummy MPI library provided in -src/STUBS. You also need to build the STUBS library for your platform -before making LAMMPS itself. A "make serial" build does this for. -Otherwise, type "make mpi-stubs" from the src directory, or "make" -from the src/STUBS dir. If the build fails, you will need to edit the -STUBS/Makefile for your platform. - -The file STUBS/mpi.c provides a CPU timer function called MPI\_Wtime() -that calls gettimeofday() . If your system doesn't support -gettimeofday() , you'll need to insert code to call another timer. -Note that the ANSI-standard function clock() rolls over after an hour -or so, and is therefore insufficient for timing long LAMMPS -simulations. +You also need to build the STUBS library for your platform before making +LAMMPS itself. A ``make serial`` build does this for you automatically, +otherwise, type ``make mpi-stubs`` from the src directory, or ``make`` +from the ``src/STUBS`` dir. If the build fails, you may need to edit +the ``STUBS/Makefile`` for your platform. The stubs library does not +provide MPI/IO functions required by some LAMMPS packages, +e.g. ``MPIIO`` or ``USER-LB``, and thus is not compatible with those +packages. -**CMake and make info**\ : +.. note:: -If you are installing MPI yourself, we recommend MPICH2 from Argonne -National Laboratory or OpenMPI. MPICH can be downloaded from the -`Argonne MPI site `_. -OpenMPI can be downloaded from the `OpenMPI site `_. Other MPI packages should also work. -If you are running on a large parallel machine, your system admins or -the vendor should have already installed a version of MPI, which is -likely to be faster than a self-installed MPICH or OpenMPI, so find -out how to build and link with it. - -The majority of OpenMP (threading) support in LAMMPS is provided by -the USER-OMP package; see the :doc:`Speed omp ` doc page for -details. The USER-INTEL package also provides OpenMP support (it is -compatible with USER-OMP) and adds vectorization support when compiled -with the Intel compilers on top of that. Also, the KOKKOS package can -be compiled for using OpenMP threading. - -However, there are a few commands in LAMMPS that have native OpenMP -support. These are commands in the MPIIO, SNAP, USER-DIFFRACTION, and -USER-DPD packages. In addition some packages support OpenMP threading -indirectly through the libraries they interface to: e.g. LATTE and -USER-COLVARS. See the :doc:`Packages details ` doc -page for more info on these packages and the doc pages for their -respective commands for OpenMP threading info. - -For CMake, if you use BUILD\_OMP=yes, you can use these packages and -turn on their native OpenMP support and turn on their native OpenMP -support at run time, by setting the OMP\_NUM\_THREADS environment + The file ``src/STUBS/mpi.c`` provides a CPU timer function called + ``MPI_Wtime()`` that calls ``gettimeofday()``. If your operating system + does not support ``gettimeofday()``, you will need to insert code to + call another timer. Note that the ANSI-standard function ``clock()`` + rolls over after an hour or so, and is therefore insufficient for + timing long LAMMPS simulations. + +**MPI and OpenMP support info**\ : + +If you are installing MPI yourself to build a parallel LAMMPS +executable, we recommend either MPICH or OpenMPI which are regularly +used and tested with LAMMPS by the LAMMPS developers. MPICH can be +downloaded from the `MPICH home page `_ and +OpenMPI can be downloaded correspondingly from the `OpenMPI home page +`_. Other MPI packages should also work. No +specific vendor provided and standard compliant MPI library is currently +known to be incompatible with LAMMPS. If you are running on a large +parallel machine, your system admins or the vendor should have already +installed a version of MPI, which is likely to be faster than a +self-installed MPICH or OpenMPI, so you should study the provided +documentation to find out how to build and link with it. + +The majority of OpenMP (threading) support in LAMMPS is provided by the +``USER-OMP`` package; see the :doc:`Speed omp ` doc page for +details. The ``USER-INTEL`` package also includes OpenMP threading (it +is compatible with ``USER-OMP`` and will usually fall back on styles +from that package, if a ``USER-INTEL`` does not exist) and adds +vectorization support when compiled with compatible compilers, in +particular the Intel compilers on top of OpenMP. Also, the ``KOKKOS`` +package can be compiled to include OpenMP threading. + +In addition, there are a few commands in LAMMPS that have native OpenMP +support included as well. These are commands in the ``MPIIO``, +``SNAP``, ``USER-DIFFRACTION``, and ``USER-DPD`` packages. In addition +some packages support OpenMP threading indirectly through the libraries +they interface to: e.g. ``LATTE``, ``KSPACE``, and ``USER-COLVARS``. +See the :doc:`Packages details ` doc page for more +info on these packages and the doc pages for their respective commands +for OpenMP threading info. + +For CMake, if you use ``BUILD_OMP=yes``, you can use these packages +and turn on their native OpenMP support and turn on their native OpenMP +support at run time, by setting the ``OMP_NUM_THREADS`` environment variable before you launch LAMMPS. -For building via conventional make, the CCFLAGS and LINKFLAGS +For building via conventional make, the ``CCFLAGS`` and ``LINKFLAGS`` variables in Makefile.machine need to include the compiler flag that -enables OpenMP. For GNU compilers it is -fopenmp. For (recent) Intel -compilers it is -qopenmp. If you are using a different compiler, +enables OpenMP. For GNU compilers it is ``-fopenmp``\ . For (recent) Intel +compilers it is ``-qopenmp``\ . If you are using a different compiler, please refer to its documentation. .. _default-none-issues: -**OpenMP Compiler compatibility info**\ : - -Some compilers do not fully support the 'default(none)' directive -and others (e.g. GCC version 9 and beyond) may implement OpenMP 4.0 -semantics, which are incompatible with the OpenMP 3.1 directives used -in LAMMPS (for maximal compatibility with compiler versions in use). -In those case, all 'default(none)' directives (which aid in detecting -incorrect and unwanted sharing) can be replaced with 'default(shared)' -while dropping all 'shared()' directives. The script -'src/USER-OMP/hack\_openmp\_for\_pgi\_gcc9.sh' can be used to automate -this conversion. +**OpenMP Compiler compatibility info**\ : +Some compilers do not fully support the ``default(none)`` directive +and others (e.g. GCC version 9 and beyond, Clang version 10 and later) +may implement strict OpenMP 4.0 and later semantics, which are incompatible +with the OpenMP 3.1 semantics used in LAMMPS for maximal compatibility +with compiler versions in use. If compilation with OpenMP enabled fails +because of your compiler requiring strict OpenMP 4.0 semantic, you can +change the behavior by adding ``-D LAMMPS_OMP_COMPAT=4`` to the ``LMP_INC`` +variable in your makefile, or add it to the command line while configuring +with CMake. CMake will detect the suitable setting for the GNU, Clang, +and Intel compilers. ---------- - .. _compile: Choice of compiler and compile/link options --------------------------------------------------------- -The choice of compiler and compiler flags can be important for -performance. Vendor compilers can produce faster code than -open-source compilers like GNU. On boxes with Intel CPUs, we suggest -trying the `Intel C++ compiler `_. +The choice of compiler and compiler flags can be important for maximum +performance. Vendor provided compilers for a specific hardware can +produce faster code than open-source compilers like the GNU compilers. +On the most common x86 hardware most popular C++ compilers are quite +similar in performance of C/C++ code at high optimization levels. When +using the ``USER-INTEL`` package, there is a distinct advantage in using +the `Intel C++ compiler `_ due to much improved vectorization +through SSE and AVX instructions on compatible hardware as the source +code includes changes and Intel compiler specific directives to enable +high degrees of vectorization. This may change over time as equivalent +vectorization directives are included into OpenMP standard revisions and +other compilers adopt them. .. _intel: https://software.intel.com/en-us/intel-compilers +On parallel clusters or supercomputers which use "environment modules" +for their compile/link environments, you can often access different +compilers by simply loading the appropriate module before building +LAMMPS. +**CMake build**\ : -On parallel clusters or supercomputers which use "modules" for their -compile/link environments, you can often access different compilers by -simply loading the appropriate module before building LAMMPS. - -**CMake variables**\ : +By default CMake will use a compiler it finds according to internal +preferences and it will add optimization flags appropriate to that +compiler and any :doc:`accelerator packages ` you have +included in the build. +You can tell CMake to look for a specific compiler with setting CMake +variable during configuration. For a few common choices, there are also +presets in the ``cmake/presets`` folder. For convenience, there is a +``CMAKE_TUNE_FLAGS`` variable that can be set to apply global compiler +options. More on that below, but you can also specify the corresponding +``CMAKE_*_FLAGS`` variables individually if you want to experiment with +alternate optimization flags. You should specify all 3 compilers, so +that the (few) LAMMPS source files written in C or Fortran are built +with a compiler consistent with the one used for the C++ files: -.. parsed-literal:: +.. code-block:: bash -D CMAKE_CXX_COMPILER=name # name of C++ compiler -D CMAKE_C_COMPILER=name # name of C compiler @@ -168,77 +212,96 @@ simply loading the appropriate module before building LAMMPS. -D CMAKE_C_FLAGS=string # flags to use with C compiler -D CMAKE_Fortran_FLAGS=string # flags to use with Fortran compiler -By default CMake will use a compiler it finds and it will add -optimization flags appropriate to that compiler and any :doc:`accelerator packages ` you have included in the build. - -You can tell CMake to look for a specific compiler with these variable -settings. Likewise you can specify the FLAGS variables if you want to -experiment with alternate optimization flags. You should specify all -3 compilers, so that the small number of LAMMPS source files written -in C or Fortran are built with a compiler consistent with the one used -for all the C++ files: +A few example command lines are: +.. code-block:: bash -.. parsed-literal:: - - Building with GNU Compilers: + # Building with GNU Compilers: cmake ../cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=gfortran - Building with Intel Compilers: + # Building with Intel Compilers: cmake ../cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_Fortran_COMPILER=ifort - Building with LLVM/Clang Compilers: + # Building with LLVM/Clang Compilers: cmake ../cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_Fortran_COMPILER=flang +For compiling with the Clang/LLVM compilers a CMake preset is provided that +can be loaded with `-C ../cmake/presets/clang.cmake`. Similarly, +`-C ../cmake/presets/intel.cmake` should switch the + +In addition you can set ``CMAKE_TUNE_FLAGS`` to specifically add +compiler flags to tune for optimal performance on given hosts. By +default these are initialized to some compiler specific flags, to +optimize the LAMMPS executable with optimizations and instructions +available on the host where LAMMPS is compiled. For example, for Intel +compilers this would be ``-xHost`` and for GNU compilers this would be +``-march=native``. To turn these flags off, do ``-D CMAKE_TUNE_FLAGS=``. + .. note:: - When the cmake command completes, it prints info to the screen - as to which compilers it is using, and what flags will be used in the - compilation. Note that if the top-level compiler is mpicxx, it is - simply a wrapper on a real compiler. The underlying compiler info is - what will be listed in the CMake output. You should check to insure - you are using the compiler and optimization flags are the ones you - want. + When the cmake command completes, it prints a summary to the screen + which compilers it is using and what flags and settings will be used + for the compilation. Note that if the top-level compiler is mpicxx, + it is simply a wrapper on a real compiler. The underlying compiler + info is what CMake will try to determine and report. You should check + to confirm you are using the compiler and optimization flags you want. -**Makefile.machine settings**\ : +**Makefile.machine settings for traditional make**\ : -Parallel build (see src/MAKE/Makefile.mpi): +The "compiler/linker settings" section of a Makefile.machine lists +compiler and linker settings for your C++ compiler, including +optimization flags. For a parallel build it is recommended to use +``mpicxx`` or ``mpiCC``, since these compiler wrappers will include a +variety of settings appropriate for your MPI installation and thus +avoiding the guesswork of finding the right flags. +Parallel build (see ``src/MAKE/Makefile.mpi``): -.. parsed-literal:: +.. code-block:: bash CC = mpicxx CCFLAGS = -g -O3 LINK = mpicxx LINKFLAGS = -g -O -Serial build (see src/MAKE/Makefile.serial): - +Serial build with GNU gcc (see ``src/MAKE/Makefile.serial``): -.. parsed-literal:: +.. code-block:: make CC = g++ CCFLAGS = -g -O3 LINK = g++ LINKFLAGS = -g -O -The "compiler/linker settings" section of a Makefile.machine lists -compiler and linker settings for your C++ compiler, including -optimization flags. You should always use mpicxx or mpiCC for -a parallel build, since these compiler wrappers will include -a variety of settings appropriate for your MPI installation. .. note:: - If you build LAMMPS with any :doc:`accelerator packages ` included, they have specific - optimization flags that are either required or recommended for optimal - performance. You need to include these in the CCFLAGS and LINKFLAGS - settings above. For details, see the individual package doc pages - listed on the :doc:`Speed packages ` doc page. Or - examine these files in the src/MAKE/OPTIONS directory. They - correspond to each of the 5 accelerator packages and their hardware - variants: + If compilation stops with a message like the following: + + .. code-block:: + g++ -g -O3 -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 -I../STUBS -c ../main.cpp + In file included from ../pointers.h:24:0, + from ../input.h:17, + from ../main.cpp:16: + ../lmptype.h:34:2: error: #error LAMMPS requires a C++11 (or later) compliant compiler. Enable C++11 compatibility or upgrade the compiler. -.. parsed-literal:: + then you have either an unsupported (old) compiler or you have to + turn on C++11 mode. The latter applies to GCC 4.8.x shipped with + RHEL 7.x and CentOS 7.x. For those compilers, you need to add the + ``-std=c++11`` flag. Otherwise, you would have to install a newer + compiler that supports C++11; either as a binary package or through + compiling from source. + +If you build LAMMPS with any :doc:`accelerator packages +` included, there may be specific optimization flags +that are either required or recommended to enable required features and +to achieve optimal performance. You need to include these in the +CCFLAGS and LINKFLAGS settings above. For details, see the individual +package doc pages listed on the :doc:`Speed packages ` +doc page. Or examine these files in the src/MAKE/OPTIONS directory. +They correspond to each of the 5 accelerator packages and their hardware +variants: + +.. code-block:: bash Makefile.opt # OPT package Makefile.omp # USER-OMP package @@ -249,128 +312,197 @@ a variety of settings appropriate for your MPI installation. Makefile.kokkos_omp # KOKKOS package for CPUs (OpenMP) Makefile.kokkos_phi # KOKKOS package for KNLs (OpenMP) - ---------- - .. _exe: -Build LAMMPS as an executable or a library ----------------------------------------------------- +Build the LAMMPS executable and library +--------------------------------------- -LAMMPS can be built as either an executable or as a static or shared -library. The LAMMPS library can be called from another application or -a scripting language. See the :doc:`Howto couple ` doc +LAMMPS is always built as a library of C++ classes plus an executable. +The executable is a simple ``main()`` function that sets up MPI and then +creates a LAMMPS class instance from the LAMMPS library, which +will then process commands provided via a file or from the console +input. The LAMMPS library can also be called from another application +or a scripting language. See the :doc:`Howto couple ` doc page for more info on coupling LAMMPS to other codes. See the :doc:`Python ` doc page for more info on wrapping and running LAMMPS from Python via its library interface. -**CMake variables**\ : +**CMake build**\ : +For CMake builds, you can select through setting CMake variables between +building a shared or a static LAMMPS library and what kind of suffix is +added to them (in case you want to concurrently install multiple variants +of binaries with different settings). If none are set, defaults are applied. -.. parsed-literal:: +.. code-block:: bash - -D BUILD_EXE=value # yes (default) or no - -D BUILD_LIB=value # yes or no (default) -D BUILD_SHARED_LIBS=value # yes or no (default) - -D LAMMPS_LIB_SUFFIX=name # name = mpi, serial, mybox, titan, laptop, etc + -D LAMMPS_MACHINE=name # name = mpi, serial, mybox, titan, laptop, etc # no default value -Setting BUILD\_EXE=no will not produce an executable. Setting -BUILD\_LIB=yes will produce a static library named liblammps.a. -Setting both BUILD\_LIB=yes and BUILD\_SHARED\_LIBS=yes will produce a -shared library named liblammps.so. If LAMMPS\_LIB\_SUFFIX is set the generated -libraries will be named liblammps\_name.a or liblammps\_name.so instead. +The compilation will always produce a LAMMPS library and an executable +linked to it. By default this will be a static library named +``liblammps.a`` and an executable named ``lmp`` Setting +``BUILD_SHARED_LIBS=yes`` will instead produce a shared library called +``liblammps.so`` (or ``liblammps.dylib`` or ``liblammps.dll`` depending +on the platform) If ``LAMMPS_MACHINE=name`` is set in addition, the name +of the generated libraries will be changed to either +``liblammps_name.a`` or ``liblammps_name.so``\ , respectively and the +executable will be called ``lmp_name``. **Traditional make**\ : +With the traditional makefile based build process, the choice of +the generated executable or library depends on the "mode" setting. +Several options are available and ``mode=static`` is the default. -.. parsed-literal:: +.. code-block:: bash - cd lammps/src make machine # build LAMMPS executable lmp_machine - make mode=lib machine # build LAMMPS static lib liblammps_machine.a - make mode=shlib machine # build LAMMPS shared lib liblammps_machine.so + make mode=static machine # same as "make machine" + make mode=shared machine # build LAMMPS shared lib liblammps_machine.so instead -The two library builds also create generic soft links, named -liblammps.a and liblammps.so, which point to the liblammps\_machine -files. +The "static" build will generate a static library called +``liblammps_machine.a`` and an executable named ``lmp_machine``\ , while +the "shared" build will generate a shared library +``liblammps_machine.so`` instead and ``lmp_machine`` will be linked to +it. The build step will also create generic soft links, named +``liblammps.a`` and ``liblammps.so``\ , which point to the specific +``liblammps_machine.a/so`` files. **CMake and make info**\ : -Note that for a shared library to be usable by a calling program, all -the auxiliary libraries it depends on must also exist as shared -libraries. This will be the case for libraries included with LAMMPS, -such as the dummy MPI library in src/STUBS or any package libraries in -the lib/packages directory, since they are always built as shared -libraries using the -fPIC switch. However, if a library like MPI or -FFTW does not exist as a shared library, the shared library build will -generate an error. This means you will need to install a shared -library version of the auxiliary library. The build instructions for -the library should tell you how to do this. - -As an example, here is how to build and install the `MPICH library `_, a popular open-source version of MPI, distributed by -Argonne National Lab, as a shared library in the default -/usr/local/lib location: - -.. _mpich: http://www-unix.mcs.anl.gov/mpi - +Note that for creating a shared library, all the libraries it depends on +must be compiled to be compatible with shared libraries. This should be +the case for libraries included with LAMMPS, such as the dummy MPI +library in ``src/STUBS`` or any package libraries in the ``lib`` +directory, since they are always built in a shared library compatible +way using the ``-fPIC`` compiler switch. However, if an auxiliary +library (like MPI or FFTW) does not exist as a compatible format, the +shared library linking step may generate an error. This means you will +need to install a compatible version of the auxiliary library. The +build instructions for that library should tell you how to do this. +As an example, here is how to build and install the `MPICH library +`_, a popular open-source version of MPI, as a shared library +in the default /usr/local/lib location: +.. _mpich: https://www.mpich.org -.. parsed-literal:: +.. code-block:: bash ./configure --enable-shared make make install -You may need to use "sudo make install" in place of the last line if -you do not have write privileges for /usr/local/lib. The end result -should be the file /usr/local/lib/libmpich.so. +You may need to use ``sudo make install`` in place of the last line if +you do not have write privileges for ``/usr/local/lib`` or use the +``--prefix`` configuration option to select an installation folder, +where you do have write access. The end result should be the file +``/usr/local/lib/libmpich.so``. On many Linux installations the folder +``${HOME}/.local`` is an alternative to using ``/usr/local`` and does +not require superuser or sudo access. In that case the configuration +step becomes: +.. code-block:: bash + + ./configure --enable-shared --prefix=${HOME}/.local + +Avoiding to use "sudo" for custom software installation (i.e. from source +and not through a package manager tool provided by the OS) is generally +recommended to ensure the integrity of the system software installation. ---------- +.. _debug: + +Excluding or removing debug support +----------------------------------- + +By default the compilation settings will include the *-g* flag which +instructs the compiler to include debug information (e.g. which line of +source code a particular instruction correspond to). This can be +extremely useful in case LAMMPS crashes and can help to provide crucial +information in :doc:`tracking down the origin of a crash ` +and help the LAMMPS developers fix bugs in the source code. However, +this increases the storage requirements for object files, libraries, and +the executable 3-5 fold. + +If this is a concern, you can change the compilation settings or remove +the debug information from the LAMMPS executable: + +- **Traditional make**: edit your ``Makefile.`` to remove the + *-g* flag from the ``CCFLAGS`` and ``LINKFLAGS`` definitions +- **CMake**: use ``-D CMAKE_BUILD_TYPE=Release`` or explicitly reset + the applicable compiler flags (best done using the text mode or + graphical user interface). +- **Remove debug info**: If you are only concerned about the executable + being too large, you can use the ``strip`` tool (e.g. ``strip + lmp_serial``) to remove the debug information from the executable file. + Do not strip libraries or object files, as that will render them unusable. + +---------- .. _doc: Build the LAMMPS documentation ---------------------------------------- -**CMake variable**\ : - - -.. parsed-literal:: +The LAMMPS manual is written in `reStructuredText `_ format which +can be translated to different output format using the `Sphinx `_ +document generator tool. Currently the translation to HTML and PDF (via +LaTeX) are supported. For that to work a Python 3 interpreter and +internet access is required. For the documentation build a python +based virtual environment is set up in the folder doc/docenv and various +python packages are installed into that virtual environment via the pip +tool. The actual translation is then done via make commands. - -D BUILD_DOC=value # yes or no (default) - -This will create the HTML doc pages within the CMake build directory. -The reason to do this is if you want to "install" LAMMPS on a system -after the CMake build via "make install", and include the doc pages in -the install. +.. _rst: https://docutils.readthedocs.io/en/sphinx-docs/user/rst/quickstart.html +.. _sphinx: https://sphinx-doc.org -**Traditional make**\ : +**Documentation make option**\ : +The following make commands can be issued in the doc folder of the +LAMMPS source distribution. -.. parsed-literal:: +.. code-block:: bash - cd lammps/doc - make html # html doc pages - make pdf # single Manual.pdf file + make html # create HTML doc pages in html directory + make pdf # create Developer.pdf and Manual.pdf in this directory + make fetch # fetch HTML and PDF files from LAMMPS web site + make clean # remove all intermediate files + make clean-all # reset the entire doc build environment + make anchor_check # scan for duplicate anchor labels + make style_check # check for complete and consistent style lists + make package_check # check for complete and consistent package lists + make spelling # spell-check the manual -This will create a lammps/doc/html dir with the HTML doc pages so that -you can browse them locally on your system. Type "make" from the -lammps/doc dir to see other options. +Thus "make html" will create a "doc/html" directory with the HTML format +manual pages so that you can browse them with a web browser locally on +your system. .. note:: You can also download a tarball of the documentation for the current LAMMPS version (HTML and PDF files), from the website - `download page `_. + `download page `_. +**CMake build option**\ : ----------- +It is also possible to create the HTML version of the manual within +the :doc:`CMake build directory `. The reason for this +option is to include the installation of the HTML manual pages into +the "install" step when installing LAMMPS after the CMake build via +``make install``. The documentation build is included in the default +build target, but can also be requested independently with ``make doc``. + +.. code-block:: bash + + -D BUILD_DOC=value # yes or no (default) +---------- .. _tools: @@ -380,19 +512,18 @@ Build LAMMPS tools Some tools described in :doc:`Auxiliary tools ` can be built directly using CMake or Make. -**CMake variable**\ : - +**CMake build3**\ : -.. parsed-literal:: +.. code-block:: bash -D BUILD_TOOLS=value # yes or no (default) -The generated binaries will also become part of the LAMMPS installation (see below) +The generated binaries will also become part of the LAMMPS installation +(see below). **Traditional make**\ : - -.. parsed-literal:: +.. code-block:: bash cd lammps/tools make all # build all binaries of tools @@ -401,10 +532,8 @@ The generated binaries will also become part of the LAMMPS installation (see bel make micelle2d # build only micelle2d tool make thermo_extract # build only thermo_extract tool - ---------- - .. _install: Install LAMMPS after a build @@ -416,10 +545,9 @@ a globally visible place on your system, for others to access. Note that you may need super-user privileges (e.g. sudo) if the directory you want to copy files to is protected. -**CMake variable**\ : +**CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash cmake -D CMAKE_INSTALL_PREFIX=path [options ...] ../cmake make # perform make after CMake command @@ -427,11 +555,6 @@ you want to copy files to is protected. **Traditional make**\ : -There is no "install" option in the src/Makefile for LAMMPS. If you -wish to do this you will need to first build LAMMPS, then manually +There is no "install" option in the ``src/Makefile`` for LAMMPS. If +you wish to do this you will need to first build LAMMPS, then manually copy the desired LAMMPS files to the appropriate system directories. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/Build_cmake.rst b/doc/src/Build_cmake.rst index 78459bb9906e07bdddc48b330fe48c7b12d1ec91..3473d8314353140566345ad1de107d0a67e9c288 100644 --- a/doc/src/Build_cmake.rst +++ b/doc/src/Build_cmake.rst @@ -1,222 +1,162 @@ Build LAMMPS with CMake ======================= -This page is a short summary of how to use CMake to build LAMMPS. -Details on CMake variables that enable specific LAMMPS build options -are given on the pages linked to from the :doc:`Build ` doc page. +This page describes how to use `CMake `_ in general +to build LAMMPS. Details for specific compile time settings and options +to enable and configure add-on packages are discussed with those +packages. Links to those pages on the :doc:`Build overview ` +page. + +The following text assumes some familiarity with CMake and focuses on +using the command line tool ``cmake`` and what settings are supported +for building LAMMPS. A more detailed tutorial on how to use ``cmake`` +itself, the text mode or graphical user interface, change the generated +output files for different build tools and development environments is +on a :doc:`separate page `. -Richard Berger (Temple U) has also written a `more comprehensive guide `_ -for how to use CMake to build LAMMPS. If you are new to CMake it is a -good place to start. - - ----------- +.. note:: + LAMMPS currently requires that CMake version 3.10 or later is available; + version 3.12 or later is preferred. + +.. warning:: + + You must not mix the :doc:`traditional make based ` + LAMMPS build procedure with using CMake. Thus no packages may be + installed or a build been previously attempted in the LAMMPS source + directory by using ``make ``. CMake will detect if this is + the case and generate an error. To remove conflicting files from the + ``src`` you can use the command ``make no-all purge`` which will + un-install all packages and delete all auto-generated files. + + +Advantages of using CMake +^^^^^^^^^^^^^^^^^^^^^^^^^ + +CMake is an alternative to compiling LAMMPS in the traditional way +through :doc:`(manually customized) makefiles ` and a recent +addition to LAMMPS thanks to the efforts of Christoph Junghans (LANL) +and Richard Berger (Temple U). Using CMake has multiple advantages that +are specifically helpful for people with limited experience in compiling +software or for people that want to modify or extend LAMMPS. + +- CMake can detect available hardware, tools, features, and libraries + and adapt the LAMMPS default build configuration accordingly. +- CMake can generate files for different build tools and integrated + development environments (IDE). +- CMake supports customization of settings with a text mode or graphical + user interface. No knowledge of file formats or and complex command + line syntax required. +- All enabled components are compiled in a single build operation. +- Automated dependency tracking for all files and configuration options. +- Support for true out-of-source compilation. Multiple configurations + and settings with different choices of LAMMPS packages, settings, or + compilers can be configured and built concurrently from the same + source tree. +- Simplified packaging of LAMMPS for Linux distributions, environment + modules, or automated build tools like `Homebrew `_. +- Integration of automated regression testing (the LAMMPS side for that + is still under development). + +.. _cmake_build: + +Getting started +^^^^^^^^^^^^^^^ Building LAMMPS with CMake is a two-step process. First you use CMake -to create a build environment in a new directory. On Linux systems, -this will be based on makefiles for use with make. Then you use the -make command to build LAMMPS, which uses the created -Makefile(s). Example: - - -.. parsed-literal:: - - cd lammps # change to the LAMMPS distribution directory - mkdir build; cd build # create a new directory (folder) for build - cmake [options ...] ../cmake # configuration with (command-line) cmake - make # compilation - -The cmake command will detect available features, enable selected -packages and options, and will generate the build environment. By default -this build environment will be created for "Unix Makefiles" on most -platforms and particularly on Linux. However, alternate build tools -(e.g. Ninja) and support files for Integrated Development Environments -(IDE) like Eclipse, CodeBlocks, or Kate can be generated, too. This is -selected via the "-G" command line flag. For the rest of the documentation -we will assume that the build environment is generated for makefiles -and thus the make command will be used to compile and link LAMMPS as -indicated above, producing (by default) an executable called "lmp" and -a library called "liblammps.a" in the "build" folder. When generating -a build environment for the "Ninja" build tool, the build command would -be "ninja" instead of "make". - -If your machine has multiple CPU cores (most do these days), using a -command like "make -jN" (with N being the number of available local -CPU cores) can be much faster. If you plan to do development on -LAMMPS or need to re-compile LAMMPS repeatedly, installation of the -ccache (= Compiler Cache) software may speed up repeated compilation -even more. +to generate a build environment in a new directory. For that purpose +you can use either the command-line utility ``cmake`` (or ``cmake3``), +the text-mode UI utility ``ccmake`` (or ``ccmake3``) or the graphical +utility ``cmake-gui``, or use them interchangeably. The second step is +then the compilation and linking of all objects, libraries, and +executables. Here is a minimal example using the command line version of +CMake to build LAMMPS with no add-on packages enabled and no +customization: + +.. code-block:: bash + + cd lammps # change to the LAMMPS distribution directory + mkdir build; cd build # create and use a build directory + cmake ../cmake # configuration reading CMake scripts from ../cmake + cmake --build . # compilation (or type "make") + +This will create and change into a folder called ``build``, then run the +configuration step to generate build files for the default build command +and then launch that build command to compile LAMMPS. During the +configuration step CMake will try to detect whether support for MPI, +OpenMP, FFTW, gzip, JPEG, PNG, and ffmpeg are available and enable the +corresponding configuration settings. The progress of this +configuration can be followed on the screen and a summary of selected +options and settings will be printed at the end. The ``cmake --build +.`` command will launch the compilation, which, if successful, will +ultimately produce a library ``liblammps.a`` and the LAMMPS executable +``lmp`` inside the ``build`` folder. + +Compilation can take a long time, since LAMMPS is a large project with +many features. If your machine has multiple CPU cores (most do these +days), you can speed this up by compiling sources in parallel with +``make -j N`` (with N being the maximum number of concurrently executed +tasks). Also installation of the `ccache `_ (= +Compiler Cache) software may speed up repeated compilation even more, +e.g. during code development. + +After the initial build, whenever you edit LAMMPS source files, enable +or disable packages, change compiler flags or build options, you must +re-compile and relink the LAMMPS executable with ``cmake --build .`` (or +``make``). If the compilation fails for some reason, try running +``cmake .`` and then compile again. The included dependency tracking +should make certain that only the necessary subset of files are +re-compiled. You can also delete compiled objects, libraries and +executables with ``cmake --build . clean`` (or ``make clean``). After compilation, you may optionally install the LAMMPS executable into your system with: +.. code-block:: bash -.. parsed-literal:: - - make install # optional, copy LAMMPS executable & library elsewhere - -This will install the lammps executable and library (if requested), some -tools (if configured) and additional files like library API headers, -manpages, potential and force field files. The location of the installation -tree is set by the CMake variable "CMAKE\_INSTALL\_PREFIX" which defaults -to ${HOME}/.local - - ----------- - - -There are 3 variants of CMake: a command-line version (cmake), a text mode -UI version (ccmake), and a graphical GUI version (cmake-GUI). You can use -any of them interchangeably to configure and create the LAMMPS build -environment. On Linux all the versions produce a Makefile as their -output. See more details on each below. - -You can specify a variety of options with any of the 3 versions, which -affect how the build is performed and what is included in the LAMMPS -executable. Links to pages explaining all the options are listed on -the :doc:`Build ` doc page. - -You must perform the CMake build system generation and compilation in -a new directory you create. It can be anywhere on your local machine. -In these Build pages we assume that you are building in a directory -called "lammps/build". You can perform separate builds independently -with different options, so long as you perform each of them in a -separate directory you create. All the auxiliary files created by one -build process (executable, object files, log files, etc) are stored in -this directory or sub-directories within it that CMake creates. - -.. note:: - - To perform a CMake build, no packages can be installed or a - build been previously attempted in the LAMMPS src directory by using - "make" commands to :doc:`perform a conventional LAMMPS build `. CMake detects if this is the case and - generates an error, telling you to type "make no-all purge" in the src - directory to un-install all packages. The purge removes all the \*.h - files auto-generated by make. - -You must have CMake version 2.8 or later on your system to build -LAMMPS. A handful of LAMMPS packages (KOKKOS, LATTE, MSCG) require a -later version. CMake will print a message telling you if a later -version is required. Installation instructions for CMake are below. - -After the initial build, if you edit LAMMPS source files, or add your -own new files to the source directory, you can just re-type make from -your build directory and it will re-compile only the files that have -changed. If you want to change CMake options you can run cmake (or -ccmake or cmake-gui) again from the same build directory and alter -various options; see details below. Or you can remove the entire build -folder, recreate the directory and start over. - - ----------- - - -**Command-line version of CMake**\ : - - -.. parsed-literal:: - - cmake [options ...] /path/to/lammps/cmake # build from any dir - cmake [options ...] ../cmake # build from lammps/build - -The cmake command takes one required argument, which is the LAMMPS -cmake directory which contains the CMakeLists.txt file. - -The argument can be preceeded or followed by various CMake -command-line options. Several useful ones are: + make install # optional, copy compiled files into installation location +This will install the LAMMPS executable and library, some tools (if +configured) and additional files like LAMMPS API headers, manpages, +potential and force field files. The location of the installation tree +defaults to ``${HOME}/.local``. -.. parsed-literal:: +.. _cmake_options: - -D CMAKE_INSTALL_PREFIX=path # where to install LAMMPS executable/lib if desired - -D CMAKE_BUILD_TYPE=type # type = RelWithDebInfo (default), Release, MinSizeRel, or Debug - -G output # style of output CMake generates - -DVARIABLE=value # setting for a LAMMPS feature to enable - -D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir - -C path/to/preset/file # load some CMake settings before configuring +Configuration and build options +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -All the LAMMPS-specific -D variables that a LAMMPS build supports are -described on the pages linked to from the :doc:`Build ` doc page. -All of these variable names are upper-case and their values are -lower-case, e.g. -D LAMMPS\_SIZES=smallbig. For boolean values, any of -these forms can be used: yes/no, on/off, 1/0. +The CMake commands have one mandatory argument: a folder containing a +file called ``CMakeLists.txt`` (for LAMMPS it is located in the +``cmake`` folder) or a build folder containing a file called +``CMakeCache.txt``, which is generated at the end of the CMake +configuration step. The cache file contains all current CMake settings. -On Unix/Linux machines, CMake generates a Makefile by default to -perform the LAMMPS build. Alternate forms of build info can be -generated via the -G switch, e.g. Visual Studio on a Windows machine, -Xcode on MacOS, or KDevelop on Linux. Type "cmake --help" to see the -"Generator" styles of output your system supports. - -.. note:: - - When CMake runs, it prints configuration info to the screen. - You should review this to verify all the features you requested were - enabled, including packages. You can also see what compilers and - compile options will be used for the build. Any errors in CMake - variable syntax will also be flagged, e.g. mis-typed variable names or - variable values. - -CMake creates a CMakeCache.txt file when it runs. This stores all the -settings, so that when running CMake again you can use the current -folder '.' instead of the path to the LAMMPS cmake folder as the -required argument to the CMake command. Either way the existing -settings will be inherited unless the CMakeCache.txt file is removed. - -If you later want to change a setting you can rerun cmake in the build -directory with different setting. Please note that some automatically -detected variables will not change their value when you rerun cmake. -In these cases it is usually better to first remove all the -files/directories in the build directory, or start with a fresh build -directory. - - ----------- - - -**Curses version (terminal-style menu) of CMake**\ : - - -.. parsed-literal:: - - ccmake ../cmake - -You initiate the configuration and build environment generation steps -separately. For the first you have to type **c**\ , for the second you -have to type **g**\ . You may need to type **c** multiple times, and may be -required to edit some of the entries of CMake configuration variables -in between. Please see the `ccmake manual `_ for -more information. +To modify settings, enable or disable features, you need to set *variables* +with either the *-D* command line flag (``-D VARIABLE1_NAME=value``) or +change them in the text mode of graphical user interface. The *-D* flag +can be used several times in one command. +For your convenience we provide :ref:`CMake presets ` +that combine multiple settings to enable optional LAMMPS packages or use +a different compiler tool chain. Those are loaded with the *-C* flag +(``-C ../cmake/presets/minimal.cmake``). This step would only be needed +once, as the settings from the preset files are stored in the +``CMakeCache.txt`` file. It is also possible to customize the build +by adding one or more *-D* flags to the CMake command line. ----------- +Generating files for alternate build tools (e.g. Ninja) and project files +for IDEs like Eclipse, CodeBlocks, or Kate can be selected using the *-G* +command line flag. A list of available generator settings for your +specific CMake version is given when running ``cmake --help``. -**GUI version of CMake**\ : - - -.. parsed-literal:: - - cmake-gui ../cmake - -You initiate the configuration and build environment generation steps -separately. For the first you have to click on the **Configure** button, -for the second you have to click on the **Generate** button. You may -need to click on **Configure** multiple times, and may be required to -edit some of the entries of CMake configuration variables in between. -Please see the `cmake-gui manual `_ -for more information. - - ----------- - - -**Installing CMake** +Installing CMake +^^^^^^^^^^^^^^^^ Check if your machine already has CMake installed: - -.. parsed-literal:: +.. code-block:: bash which cmake # do you have it? which cmake3 # version 3 may have this name @@ -225,21 +165,16 @@ Check if your machine already has CMake installed: On clusters or supercomputers which use environment modules to manage software packages, do this: +.. code-block:: bash -.. parsed-literal:: - - module list # is a cmake module already loaded? - module avail # is a cmake module available? - module load cmake3 # load cmake module with appropriate name - -Most Linux distributions offer pre-compiled cmake packages through -their package management system. If you do not have CMake or a new -enough version, you can download the latest version at -`https://cmake.org/download/ `_. -Instructions on how to install it on various platforms can be found -`on this page `_. - + module list # is a module for cmake already loaded? + module avail # is a module for cmake available? + module load cmake # load cmake module with appropriate name -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +Most Linux distributions offer pre-compiled cmake packages through their +package management system. If you do not have CMake or a recent enough +version (Note: for CentOS 7.x you need to enable the EPEL repository), +you can download the latest version from `https://cmake.org/download/ +`_. Instructions on how to install it on +various platforms can be found `on this page +`_. diff --git a/doc/src/Build_development.rst b/doc/src/Build_development.rst index 7286caf7b3be0b8d21cd9e839cfc456d7fe4e9ff..474e1fb833f2cec13861a5d06e5937386ddd2dac 100644 --- a/doc/src/Build_development.rst +++ b/doc/src/Build_development.rst @@ -1,63 +1,60 @@ Development build options (CMake only) ====================================== -The CMake build of LAMMPS has a few extra options which are useful during -development, testing or debugging. - +The CMake build procedure of LAMMPS offers a few extra options which are +useful during development, testing or debugging. ---------- - .. _compilation: Verify compilation flags ------------------------------------------- +------------------------ Sometimes it is necessary to verify the complete sequence of compilation flags generated by the CMake build. To enable a more verbose output during compilation you can use the following option. - -.. parsed-literal:: +.. code-block:: bash -D CMAKE_VERBOSE_MAKEFILE=value # value = no (default) or yes Another way of doing this without reconfiguration is calling make with variable VERBOSE set to 1: - -.. parsed-literal:: +.. code-block:: bash make VERBOSE=1 - ---------- - .. _sanitizer: Address, Undefined Behavior, and Thread Sanitizer Support -------------------------------------------------------------------------- +--------------------------------------------------------- -Compilers such as GCC and Clang support generating binaries which use different -sanitizers to detect problems in code during run-time. They can detect `memory leaks `_, -code that runs into `undefined behavior `_ of the -language and `data races `_ in threaded code. +Compilers such as GCC and Clang support generating instrumented binaries +which use different sanitizer libraries to detect problems in code +during run-time. They can detect issues like: -The following settings allow you enable these features if your compiler supports -it. Please note that they come with a performance hit. However, they are -usually faster than using tools like Valgrind. + - `memory leaks `_ + - `undefined behavior `_ + - `data races `_ +Please note that this kind of instrumentation usually comes with a small +performance hit (much less than using tools like `Valgrind +`_). The to enable these features additional +compiler flags need to be added to the compilation and linking stages. +This is most easily done through setting the ``CMAKE_TUNE_FLAGS`` +variable during configuration. Examples: -.. parsed-literal:: - - -D ENABLE_SANITIZE_ADDRESS=value # enable Address Sanitizer, value = no (default) or yes - -D ENABLE_SANITIZE_UNDEFINED=value # enable Undefined Behaviour Sanitizer, value = no (default) or yes - -D ENABLE_SANITIZE_THREAD=value # enable Thread Sanitizer, value = no (default) or yes +.. code-block:: bash + -D CMAKE_TUNE_FLAGS=-fsanitize=address # enable address sanitizer / memory leak checker + -D CMAKE_TUNE_FLAGS=-fsanitize=undefined # enable undefined behavior sanitizer + -D CMAKE_TUNE_FLAGS=-fsanitize=thread # enable thread sanitizer ---------- - .. _testing: Code Coverage and Testing @@ -71,50 +68,42 @@ developers can run the tests directly on their workstation. this is incomplete and only represents a small subset of tests that we run - -.. parsed-literal:: +.. code-block:: bash -D ENABLE_TESTING=value # enable simple run tests of LAMMPS, value = no (default) or yes -D LAMMPS_TESTING_SOURCE_DIR=path # path to lammps-testing repository (option if in custom location) -D LAMMPS_TESTING_GIT_TAG=value # version of lammps-testing repository that should be used, value = master (default) or custom git commit or tag -If you enable testing in the CMake build it will create an additional target called "test". You can run them with: - +If you enable testing in the CMake build it will create an additional +target called "test". You can run them with: -.. parsed-literal:: +.. code-block:: bash - make test + cmake --build . test The test cases used come from the lammps-testing repository. They are -derivatives of the examples folder with some modifications to make the run -faster. +derivatives of the examples folder with some modifications to make the +run faster. -You can also collect code coverage metrics while running the tests by enabling -coverage support during building. +You can also collect code coverage metrics while running the tests by +enabling coverage support during building. - -.. parsed-literal:: +.. code-block:: bash -D ENABLE_COVERAGE=value # enable coverage measurements, value = no (default) or yes -This will also add the following targets to generate coverage reports after running the LAMMPS executable: - +This will also add the following targets to generate coverage reports +after running the LAMMPS executable: -.. parsed-literal:: +.. code-block:: bash make test # run tests first! make gen_coverage_html # generate coverage report in HTML format make gen_coverage_xml # generate coverage report in XML format -These reports require GCOVR to be installed. The easiest way to do this to install it via pip: +These reports require GCOVR to be installed. The easiest way to do this +to install it via pip: - -.. parsed-literal:: +.. code-block:: bash pip install git+https://github.com/gcovr/gcovr.git - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 2cba59bde0e68bff498cf6881bf790d43cfd64f5..5d6f2c65a7d3796cfb1a59ae1eb4e9b499e14a11 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -4,13 +4,17 @@ Packages with extra build options When building with some packages, additional steps may be required, in addition to: +.. code-block:: bash -.. parsed-literal:: + $ cmake -D PKG_NAME=yes + +or + +.. code-block:: bash - -D PKG_NAME=yes # CMake - make yes-name # make + $ make yes-name -as described on the :doc:`Build\_package ` doc page. +as described on the :doc:`Build_package ` doc page. For a CMake build there may be additional optional or required variables to set. For a build with make, a provided library under the @@ -20,22 +24,38 @@ You may need to tell LAMMPS where it is found on your system. This is the list of packages that may require additional steps. -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`COMPRESS ` | :ref:`GPU ` | :ref:`KIM ` | :ref:`KOKKOS ` | :ref:`LATTE ` | :ref:`MESSAGE ` | -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`MSCG ` | :ref:`OPT ` | :ref:`POEMS ` | :ref:`PYTHON ` | :ref:`VORONOI ` | :ref:`USER-ADIOS ` | -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`USER-ATC ` | :ref:`USER-AWPMD ` | :ref:`USER-COLVARS ` | :ref:`USER-H5MD ` | :ref:`USER-INTEL ` | :ref:`USER-MOLFILE ` | -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`USER-NETCDF ` | :ref:`USER-PLUMED ` | :ref:`USER-OMP ` | :ref:`USER-QMMM ` | :ref:`USER-QUIP ` | :ref:`USER-SCAFACOS ` | -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ -| :ref:`USER-SMD ` | :ref:`USER-VTK ` | | | | | -+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+ - +.. table_from_list:: + :columns: 6 + + * :ref:`COMPRESS ` + * :ref:`GPU ` + * :ref:`KIM ` + * :ref:`KOKKOS ` + * :ref:`LATTE ` + * :ref:`MESSAGE ` + * :ref:`MSCG ` + * :ref:`OPT ` + * :ref:`POEMS ` + * :ref:`PYTHON ` + * :ref:`VORONOI ` + * :ref:`USER-ADIOS ` + * :ref:`USER-ATC ` + * :ref:`USER-AWPMD ` + * :ref:`USER-COLVARS ` + * :ref:`USER-H5MD ` + * :ref:`USER-INTEL ` + * :ref:`USER-MOLFILE ` + * :ref:`USER-NETCDF ` + * :ref:`USER-PLUMED ` + * :ref:`USER-OMP ` + * :ref:`USER-QMMM ` + * :ref:`USER-QUIP ` + * :ref:`USER-SCAFACOS ` + * :ref:`USER-SMD ` + * :ref:`USER-VTK ` ---------- - .. _compress: COMPRESS package @@ -48,89 +68,112 @@ available on your system. If CMake cannot find the library, you can set these variables: - -.. parsed-literal:: +.. code-block:: bash -D ZLIB_INCLUDE_DIR=path # path to zlib.h header file -D ZLIB_LIBRARIES=path # path to libz.a (.so) file **Traditional make**\ : -If make cannot find the library, you can edit the -lib/compress/Makefile.lammps file to specify the paths and library +If make cannot find the library, you can edit the file +lib/compress/Makefile.lammps to specify the paths and library name. - ---------- - .. _gpu: GPU package --------------------- To build with this package, you must choose options for precision and -which GPU hardware to build for. +which GPU hardware to build for. The GPU package currently supports +three different types of backends: OpenCL, CUDA and HIP. **CMake build**\ : - -.. parsed-literal:: - - -D GPU_API=value # value = opencl (default) or cuda - -D GPU_PREC=value # precision setting - # value = double or mixed (default) or single - -D OCL_TUNE=value # hardware choice for GPU_API=opencl - # generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA) - -D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda - # value = sm_XX, see below - # default is sm_30 - -D CUDPP_OPT=value # optimization setting for GPU_API=cuda - # enables CUDA Performance Primitives Optimizations - # value = yes (default) or no - -D CUDA_MPS_SUPPORT=value # enables some tweaks required to run with active nvidia-cuda-mps daemon - # value = yes or no (default) - -GPU\_ARCH settings for different GPU hardware is as follows: - -* sm\_12 or sm\_13 for GT200 (supported by CUDA 3.2 until CUDA 6.5) -* sm\_20 or sm\_21 for Fermi (supported by CUDA 3.2 until CUDA 7.5) -* sm\_30 or sm\_35 or sm\_37 for Kepler (supported since CUDA 5) -* sm\_50 or sm\_52 for Maxwell (supported since CUDA 6) -* sm\_60 or sm\_61 for Pascal (supported since CUDA 8) -* sm\_70 for Volta (supported since CUDA 9) -* sm\_75 for Turing (supported since CUDA 10) +.. code-block:: bash + + -D GPU_API=value # value = opencl (default) or cuda or hip + -D GPU_PREC=value # precision setting + # value = double or mixed (default) or single + -D OCL_TUNE=value # hardware choice for GPU_API=opencl + # generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA) + -D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda + # value = sm_XX, see below + # default is sm_30 + -D HIP_ARCH=value # primary GPU hardware choice for GPU_API=hip + # value depends on selected HIP_PLATFORM + # default is 'gfx906' for HIP_PLATFORM=hcc and 'sm_30' for HIP_PLATFORM=nvcc + -D HIP_USE_DEVICE_SORT=value # enables GPU sorting + # value = yes (default) or no + -D CUDPP_OPT=value # optimization setting for GPU_API=cuda + # enables CUDA Performance Primitives Optimizations + # value = yes (default) or no + -D CUDA_MPS_SUPPORT=value # enables some tweaks required to run with active nvidia-cuda-mps daemon + # value = yes or no (default) + +:code:`GPU_ARCH` settings for different GPU hardware is as follows: + +* sm_12 or sm_13 for GT200 (supported by CUDA 3.2 until CUDA 6.5) +* sm_20 or sm_21 for Fermi (supported by CUDA 3.2 until CUDA 7.5) +* sm_30 or sm_35 or sm_37 for Kepler (supported since CUDA 5) +* sm_50 or sm_52 for Maxwell (supported since CUDA 6) +* sm_60 or sm_61 for Pascal (supported since CUDA 8) +* sm_70 for Volta (supported since CUDA 9) +* sm_75 for Turing (supported since CUDA 10) A more detailed list can be found, for example, at `Wikipedia's CUDA article `_ CMake can detect which version of the CUDA toolkit is used and thus can include support for **all** major GPU architectures supported by this toolkit. -Thus the GPU\_ARCH setting is merely an optimization, to have code for +Thus the GPU_ARCH setting is merely an optimization, to have code for the preferred GPU architecture directly included rather than having to wait for the JIT compiler of the CUDA driver to translate it. +If you are compiling with HIP, note that before running CMake you will have to +set appropriate environment variables. Some variables such as +:code:`HCC_AMDGPU_TARGET` or :code:`CUDA_PATH` are necessary for :code:`hipcc` +and the linker to work correctly. + +.. code:: bash + + # AMDGPU target + export HIP_PLATFORM=hcc + export HCC_AMDGPU_TARGET=gfx906 + cmake -D PKG_GPU=on -D GPU_API=HIP -D HIP_ARCH=gfx906 -D CMAKE_CXX_COMPILER=hipcc .. + make -j 4 + +.. code:: bash + + # CUDA target + # !!! DO NOT set CMAKE_CXX_COMPILER !!! + export HIP_PLATFORM=nvcc + export CUDA_PATH=/usr/local/cuda + cmake -D PKG_GPU=on -D GPU_API=HIP -D HIP_ARCH=sm_70 .. + make -j 4 + **Traditional make**\ : -Before building LAMMPS, you must build the GPU library in lib/gpu. +Before building LAMMPS, you must build the GPU library in ``lib/gpu``\ . You can do this manually if you prefer; follow the instructions in -lib/gpu/README. Note that the GPU library uses MPI calls, so you must +``lib/gpu/README``. Note that the GPU library uses MPI calls, so you must use the same MPI library (or the STUBS library) settings as the main -LAMMPS code. This also applies to the -DLAMMPS\_BIGBIG, --DLAMMPS\_SMALLBIG, or -DLAMMPS\_SMALLSMALL settings in whichever +LAMMPS code. This also applies to the ``-DLAMMPS_BIGBIG``\ , +``-DLAMMPS_SMALLBIG``\ , or ``-DLAMMPS_SMALLSMALL`` settings in whichever Makefile you use. -You can also build the library in one step from the lammps/src dir, -using a command like these, which simply invoke the lib/gpu/Install.py +You can also build the library in one step from the ``lammps/src`` dir, +using a command like these, which simply invoke the ``lib/gpu/Install.py`` script with the specified args: +.. code-block:: bash -.. parsed-literal:: - - make lib-gpu # print help message - make lib-gpu args="-b" # build GPU library with default Makefile.linux - make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision - make lib-gpu args="-m mpi -a sm_60 -p mixed -b" # build GPU library with mixed precision and P100 using other settings in Makefile.mpi + $ make lib-gpu # print help message + $ make lib-gpu args="-b" # build GPU library with default Makefile.linux + $ make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision + $ make lib-gpu args="-m mpi -a sm_60 -p mixed -b" # build GPU library with mixed precision and P100 using other settings in Makefile.mpi Note that this procedure starts with a Makefile.machine in lib/gpu, as specified by the "-m" switch. For your convenience, machine makefiles @@ -141,22 +184,22 @@ Makefile.machine you start from via the corresponding -c, -a, -p, -e switches (as in the examples above), and also save a copy of the new Makefile if desired: -* CUDA\_HOME = where NVIDIA CUDA software is installed on your system -* CUDA\_ARCH = sm\_XX, what GPU hardware you have, same as CMake GPU\_ARCH above -* CUDA\_PRECISION = precision (double, mixed, single) -* EXTRAMAKE = which Makefile.lammps.\* file to copy to Makefile.lammps +* ``CUDA_HOME`` = where NVIDIA CUDA software is installed on your system +* ``CUDA_ARCH`` = sm_XX, what GPU hardware you have, same as CMake GPU_ARCH above +* ``CUDA_PRECISION`` = precision (double, mixed, single) +* ``EXTRAMAKE`` = which Makefile.lammps.\* file to copy to Makefile.lammps -The file Makefile.linux\_multi is set up to include support for multiple +The file Makefile.linux_multi is set up to include support for multiple GPU architectures as supported by the CUDA toolkit in use. This is done through using the "--gencode " flag, which can be used multiple times and thus support all GPU architectures supported by your CUDA compiler. If the library build is successful, 3 files should be created: -lib/gpu/libgpu.a, lib/gpu/nvc\_get\_devices, and -lib/gpu/Makefile.lammps. The latter has settings that enable LAMMPS -to link with CUDA libraries. If the settings in Makefile.lammps for +``lib/gpu/libgpu.a``\ , ``lib/gpu/nvc_get_devices``\ , and +``lib/gpu/Makefile.lammps``\ . The latter has settings that enable LAMMPS +to link with CUDA libraries. If the settings in ``Makefile.lammps`` for your machine are not correct, the LAMMPS build will fail, and -lib/gpu/Makefile.lammps may need to be edited. +``lib/gpu/Makefile.lammps`` may need to be edited. .. note:: @@ -166,21 +209,34 @@ lib/gpu/Makefile.lammps may need to be edited. package uses the library settings from the lib/gpu/Makefile.machine used to build the GPU library. - ---------- - .. _kim: KIM package --------------------- To build with this package, the KIM library with API v2 must be downloaded -and built on your system. It must include the KIM models that you want to -use with LAMMPS. If you want to use the :doc:`kim\_query ` +and built on your system. It must include the KIM models that you want to +use with LAMMPS. + +If you would like to use the :doc:`kim_query ` command, you also need to have libcurl installed with the matching development headers and the curl-config tool. +If you would like to use the :doc:`kim_property ` +command, you need to build LAMMPS with the Python 3.6 or later package +installed. See the :doc:`Python ` doc page for more info on building +LAMMPS with the version of Python on your system. +After successfully building LAMMPS with Python, you need to +install the kim-property Python package, which can be easily done using +*pip* as ``pip install kim-property``, or from the *conda-forge* channel as +``conda install kim-property`` if LAMMPS is built in Conda. More detailed +information is available at: +`kim-property installation `_. + +In addition to installing the KIM API, it is also necessary to install the +library of KIM models (interatomic potentials). See `Obtaining KIM Models `_ to learn how to install a pre-build binary of the OpenKIM Repository of Models. See the list of all KIM models here: https://openkim.org/browse/models @@ -191,182 +247,344 @@ minutes to hours) to build. Of course you only need to do that once.) **CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash -D DOWNLOAD_KIM=value # download OpenKIM API v2 for build, value = no (default) or yes -D LMP_DEBUG_CURL=value # set libcurl verbose mode on/off, value = off (default) or on -D LMP_NO_SSL_CHECK=value # tell libcurl to not verify the peer, value = no (default) or yes -If DOWNLOAD\_KIM is set, the KIM library will be downloaded and built +If ``DOWNLOAD_KIM`` is set, the KIM library will be downloaded and built inside the CMake build directory. If the KIM library is already on -your system (in a location CMake cannot find it), set the PKG\_CONFIG\_PATH +your system (in a location CMake cannot find it), set the ``PKG_CONFIG_PATH`` environment variable so that libkim-api can be found. -For using OpenKIM web queries in LAMMPS. +*For using OpenKIM web queries in LAMMPS*\ : -If LMP\_DEBUG\_CURL is set, the libcurl verbose mode will be on, and any -libcurl calls within the KIM web query display a lot of information about -libcurl operations. You hardly ever want this set in production use, you will -almost always want this when you debug/report problems. +If the ``LMP_DEBUG_CURL`` environment variable is set, the libcurl verbose +mode will be on, and any libcurl calls within the KIM web query display a +lot of information about libcurl operations. You hardly ever want this +set in production use, you will almost always want this when you debug or +report problems. The libcurl performs peer SSL certificate verification by default. This verification is done using a CA certificate store that the SSL library can use to make sure the peer's server certificate is valid. If SSL reports an error ("certificate verify failed") during the handshake and thus refuses -further communication with that server, you can set LMP\_NO\_SSL\_CHECK. -If LMP\_NO\_SSL\_CHECK is set, libcurl does not verify the peer and connection +further communication with that server, you can set ``LMP_NO_SSL_CHECK``\ . +If ``LMP_NO_SSL_CHECK`` is set, libcurl does not verify the peer and connection succeeds regardless of the names in the certificate. This option is insecure. As an alternative, you can specify your own CA cert path by setting the -environment variable CURL\_CA\_BUNDLE to the path of your choice. A call to the -KIM web query would get this value from the environmental variable. +environment variable ``CURL_CA_BUNDLE`` to the path of your choice. A call +to the KIM web query would get this value from the environmental variable. **Traditional make**\ : You can download and build the KIM library manually if you prefer; -follow the instructions in lib/kim/README. You can also do it in one +follow the instructions in ``lib/kim/README``\ . You can also do it in one step from the lammps/src dir, using a command like these, which simply -invoke the lib/kim/Install.py script with the specified args. +invoke the ``lib/kim/Install.py`` script with the specified args. +.. code-block:: bash -.. parsed-literal:: + $ make lib-kim # print help message + $ make lib-kim args="-b " # (re-)install KIM API lib with only example models + $ make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model + $ make lib-kim args="-b -a everything" # install KIM API lib with all models + $ make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver + $ make lib-kim args="-p /usr/local" # use an existing KIM API installation at the provided location + $ make lib-kim args="-p /usr/local -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver - make lib-kim # print help message - make lib-kim args="-b " # (re-)install KIM API lib with only example models - make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model - make lib-kim args="-b -a everything" # install KIM API lib with all models - make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver - make lib-kim args="-p /usr/local" # use an existing KIM API installation at the provided location - make lib-kim args="-p /usr/local -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver +Settings for OpenKIM web queries discussed above need to be applied by adding +them to the ``LMP_INC`` variable through editing the Makefile.machine you are +using. For example: +.. code-block:: make ----------- + LMP_INC = -DLMP_NO_SSL_CHECK +---------- .. _kokkos: KOKKOS package ---------------------------- +-------------- -To build with this package, you must choose which hardware you want to -build for, either CPUs (multi-threading via OpenMP) or KNLs (OpenMP) -or GPUs (NVIDIA Cuda). - -For a CMake or make build, these are the possible choices for the -KOKKOS\_ARCH settings described below. Note that for CMake, these are -really Kokkos variables, not LAMMPS variables. Hence you must use -case-sensitive values, e.g. BDW, not bdw. - -* ARMv80 = ARMv8.0 Compatible CPU -* ARMv81 = ARMv8.1 Compatible CPU -* ARMv8-ThunderX = ARMv8 Cavium ThunderX CPU -* BGQ = IBM Blue Gene/Q CPUs -* Power8 = IBM POWER8 CPUs -* Power9 = IBM POWER9 CPUs -* 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 -* Volta70 = NVIDIA Volta generation CC 7.0 -* Volta72 = NVIDIA Volta generation CC 7.2 -* Turing75 = NVIDIA Turing generation CC 7.5 +Using the KOKKOS package requires choosing several settings. You have +to select whether you want to compile with parallelization on the host +and whether you want to include offloading of calculations to a device +(e.g. a GPU). The default setting is to have no host parallelization +and no device offloading. In addition, you can select the hardware +architecture to select the instruction set. Since most hardware is +backward compatible, you may choose settings for an older architecture +to have an executable that will run on this and newer architectures. -**CMake build**\ : +.. note:: + If you run Kokkos on a newer GPU architecture than what LAMMPS was + compiled with, there will be a delay during device initialization + since the just-in-time compiler has to recompile all GPU kernels + for the new hardware. This is, however, not possible when compiled + for NVIDIA GPUs with CC 3.x (Kepler) for GPUs with CC 5.0 (Maxwell) + and newer as they are not compatible. + +The settings discussed below have been tested with LAMMPS and are +confirmed to work. Kokkos is an active project with ongoing improvements +and projects working on including support for additional architectures. +More information on Kokkos can be found on the +`Kokkos GitHub project `_. + +Available Architecture settings +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +These are the possible choices for the Kokkos architecture ID. They must +be specified in uppercase. + +.. list-table:: + :header-rows: 0 + :widths: auto + + * - **Arch-ID** + - **HOST or GPU** + - **Description** + * - AMDAVX + - HOST + - AMD 64-bit x86 CPU (AVX 1) + * - EPYC + - HOST + - AMD EPYC Zen class CPU (AVX 2) + * - ARMV80 + - HOST + - ARMv8.0 Compatible CPU + * - ARMV81 + - HOST + - ARMv8.1 Compatible CPU + * - ARMV8_THUNDERX + - HOST + - ARMv8 Cavium ThunderX CPU + * - ARMV8_THUNDERX2 + - HOST + - ARMv8 Cavium ThunderX2 CPU + * - WSM + - HOST + - Intel Westmere CPU (SSE 4.2) + * - SNB + - HOST + - Intel Sandy/Ivy Bridge CPU (AVX 1) + * - HSW + - HOST + - Intel Haswell CPU (AVX 2) + * - BDW + - HOST + - Intel Broadwell Xeon E-class CPU (AVX 2 + transactional mem) + * - SKX + - HOST + - Intel Sky Lake Xeon E-class HPC CPU (AVX512 + transactional mem) + * - KNC + - HOST + - Intel Knights Corner Xeon Phi + * - KNL + - HOST + - Intel Knights Landing Xeon Phi + * - BGQ + - HOST + - IBM Blue Gene/Q CPU + * - POWER7 + - HOST + - IBM POWER7 CPU + * - POWER8 + - HOST + - IBM POWER8 CPU + * - POWER9 + - HOST + - IBM POWER9 CPU + * - KEPLER30 + - GPU + - NVIDIA Kepler generation CC 3.0 GPU + * - KEPLER32 + - GPU + - NVIDIA Kepler generation CC 3.2 GPU + * - KEPLER35 + - GPU + - NVIDIA Kepler generation CC 3.5 GPU + * - KEPLER37 + - GPU + - NVIDIA Kepler generation CC 3.7 GPU + * - MAXWELL50 + - GPU + - NVIDIA Maxwell generation CC 5.0 GPU + * - MAXWELL52 + - GPU + - NVIDIA Maxwell generation CC 5.2 GPU + * - MAXWELL53 + - GPU + - NVIDIA Maxwell generation CC 5.3 GPU + * - PASCAL60 + - GPU + - NVIDIA Pascal generation CC 6.0 GPU + * - PASCAL61 + - GPU + - NVIDIA Pascal generation CC 6.1 GPU + * - VOLTA70 + - GPU + - NVIDIA Volta generation CC 7.0 GPU + * - VOLTA72 + - GPU + - NVIDIA Volta generation CC 7.2 GPU + * - TURING75 + - GPU + - NVIDIA Turing generation CC 7.5 GPU + * - VEGA900 + - GPU + - AMD GPU MI25 GFX900 + * - VEGA906 + - GPU + - AMD GPU MI50/MI60 GFX906 + +Basic CMake build settings: +^^^^^^^^^^^^^^^^^^^^^^^^^^^ For multicore CPUs using OpenMP, set these 2 variables. +.. code-block:: bash -.. parsed-literal:: + -D Kokkos_ARCH_HOSTARCH=yes # HOSTARCH = HOST from list above + -D Kokkos_ENABLE_OPENMP=yes + -D BUILD_OMP=yes - -D KOKKOS_ARCH=archCPU # archCPU = CPU from list above - -D KOKKOS_ENABLE_OPENMP=yes +Please note that enabling OpenMP for KOKKOS requires that OpenMP is +also :ref:`enabled for the rest of LAMMPS `. -For Intel KNLs using OpenMP, set these 2 variables: +For Intel KNLs using OpenMP, set these variables: +.. code-block:: bash -.. parsed-literal:: + -D Kokkos_ARCH_KNL=yes + -D Kokkos_ENABLE_OPENMP=yes - -D KOKKOS_ARCH=KNL - -D KOKKOS_ENABLE_OPENMP=yes +For NVIDIA GPUs using CUDA, set these variables: -For NVIDIA GPUs using CUDA, set these 4 variables: +.. code-block:: bash + -D Kokkos_ARCH_HOSTARCH=yes # HOSTARCH = HOST from list above + -D Kokkos_ARCH_GPUARCH=yes # GPUARCH = GPU from list above + -D Kokkos_ENABLE_CUDA=yes + -D Kokkos_ENABLE_OPENMP=yes + -D CMAKE_CXX_COMPILER=wrapper # wrapper = full path to Cuda nvcc wrapper -.. parsed-literal:: +This will also enable executing FFTs on the GPU, either via the internal +KISSFFT library, or - by preference - with the cuFFT library bundled +with the CUDA toolkit, depending on whether CMake can identify its +location. The *wrapper* value for ``CMAKE_CXX_COMPILER`` variable is +the path to the CUDA nvcc compiler wrapper provided in the Kokkos +library: ``lib/kokkos/bin/nvcc_wrapper``\ . The setting should include +the full path name to the wrapper, e.g. - -D KOKKOS_ARCH="archCPU;archGPU" # archCPU = CPU from list above that is hosting the GPU - # archGPU = GPU from list above - -D KOKKOS_ENABLE_CUDA=yes - -D KOKKOS_ENABLE_OPENMP=yes - -D CMAKE_CXX_COMPILER=wrapper # wrapper = full path to Cuda nvcc wrapper +.. code-block:: bash -The wrapper value is the Cuda nvcc compiler wrapper provided in the -Kokkos library: lib/kokkos/bin/nvcc\_wrapper. The setting should -include the full path name to the wrapper, e.g. + -D CMAKE_CXX_COMPILER=${HOME}/lammps/lib/kokkos/bin/nvcc_wrapper +To simplify the compilation, three preset files are included in the +``cmake/presets`` folder, ``kokkos-serial.cmake``, ``kokkos-openmp.cmake``, +and ``kokkos-cuda.cmake``. They will enable the KOKKOS package and +enable some hardware choice. So to compile with OpenMP host parallelization, +CUDA device parallelization (for GPUs with CC 5.0 and up) with some +common packages enabled, you can do the following: -.. parsed-literal:: +.. code-block:: bash - -D CMAKE_CXX_COMPILER=/home/username/lammps/lib/kokkos/bin/nvcc_wrapper + mkdir build-kokkos-cuda + cd build-kokkos-cuda + cmake -C ../cmake/presets/minimal.cmake -C ../cmake/presets/kokkos-cuda.cmake ../cmake + cmake --build . -**Traditional make**\ : +Basic traditional make settings: +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Choose which hardware to support in Makefile.machine via -KOKKOS\_DEVICES and KOKKOS\_ARCH settings. See the -src/MAKE/OPTIONS/Makefile.kokkos\* files for examples. +Choose which hardware to support in ``Makefile.machine`` via +``KOKKOS_DEVICES`` and ``KOKKOS_ARCH`` settings. See the +``src/MAKE/OPTIONS/Makefile.kokkos*`` files for examples. For multicore CPUs using OpenMP: - -.. parsed-literal:: +.. code-block:: make KOKKOS_DEVICES = OpenMP - KOKKOS_ARCH = archCPU # archCPU = CPU from list above + KOKKOS_ARCH = HOSTARCH # HOSTARCH = HOST from list above For Intel KNLs using OpenMP: - -.. parsed-literal:: +.. code-block:: make KOKKOS_DEVICES = OpenMP KOKKOS_ARCH = KNL For NVIDIA GPUs using CUDA: - -.. parsed-literal:: +.. code-block:: make KOKKOS_DEVICES = Cuda - KOKKOS_ARCH = archCPU,archGPU # archCPU = CPU from list above that is hosting the GPU - # archGPU = GPU from list above - -For GPUs, you also need these 2 lines in your Makefile.machine before -the CC line is defined, in this case for use with OpenMPI mpicxx. The -2 lines define a nvcc wrapper compiler, which will use nvcc for -compiling CUDA files and use a C++ compiler for non-Kokkos, non-CUDA -files. + KOKKOS_ARCH = HOSTARCH,GPUARCH # HOSTARCH = HOST from list above that is hosting the GPU + KOKKOS_CUDA_OPTIONS = "enable_lambda" + # GPUARCH = GPU from list above + FFT_INC = -DFFT_CUFFT # enable use of cuFFT (optional) + FFT_LIB = -lcufft # link to cuFFT library +For GPUs, you also need the following lines in your ``Makefile.machine`` +before the CC line is defined. They tell ``mpicxx`` to use an ``nvcc`` +compiler wrapper, which will use ``nvcc`` for compiling CUDA files and a +C++ compiler for non-Kokkos, non-CUDA files. -.. parsed-literal:: +.. code-block:: make + # For OpenMPI KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd) export OMPI_CXX = $(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper - CC = mpicxx + CC = mpicxx +.. code-block:: make ----------- + # For MPICH and derivatives + KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd) + CC = mpicxx -cxx=$(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper + + +Advanced KOKKOS compilation settings +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are other allowed options when building with the KOKKOS package +that can improve performance or assist in debugging or profiling. Below +are some examples that may be useful in combination with LAMMPS. For +the full list (which keeps changing as the Kokkos package itself evolves), +please consult the Kokkos library documentation. + +As alternative to using multi-threading via OpenMP +(``-DKokkos_ENABLE_OPENMP=on`` or ``KOKKOS_DEVICES=OpenMP``) it is also +possible to use Posix threads directly (``-DKokkos_ENABLE_PTHREAD=on`` +or ``KOKKOS_DEVICES=Pthread``). While binding of threads to individual +or groups of CPU cores is managed in OpenMP with environment variables, +you need assistance from either the "hwloc" or "libnuma" library for the +Pthread thread parallelization option. To enable use with CMake: +``-DKokkos_ENABLE_HWLOC=on`` or ``-DKokkos_ENABLE_LIBNUMA=on``; and with +conventional make: ``KOKKOS_USE_TPLS=hwloc`` or +``KOKKOS_USE_TPLS=libnuma``. + +The CMake option ``-DKokkos_ENABLE_LIBRT=on`` or the makefile setting +``KOKKOS_USE_TPLS=librt`` enables the use of a more accurate timer +mechanism on many Unix-like platforms for internal profiling. + +The CMake option ``-DKokkos_ENABLE_DEBUG=on`` or the makefile setting +``KOKKOS_DEBUG=yes`` enables printing of run-time +debugging information that can be useful. It also enables runtime +bounds checking on Kokkos data structures. As to be expected, enabling +this option will negatively impact the performance and thus is only +recommended when developing a Kokkos-enabled style in LAMMPS. + +The CMake option ``-DKokkos_ENABLE_CUDA_UVM=on`` or the makefile +setting ``KOKKOS_CUDA_OPTIONS=enable_lambda,force_uvm`` enables the +use of CUDA "Unified Virtual Memory" in Kokkos. Please note, that +the LAMMPS KOKKOS package must **always** be compiled with the +*enable_lambda* option when using GPUs. +---------- .. _latte: @@ -378,34 +596,32 @@ library. **CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash -D DOWNLOAD_LATTE=value # download LATTE for build, value = no (default) or yes -D LATTE_LIBRARY=path # LATTE library file (only needed if a custom location) -If DOWNLOAD\_LATTE is set, the LATTE library will be downloaded and +If ``DOWNLOAD_LATTE`` is set, the LATTE library will be downloaded and built inside the CMake build directory. If the LATTE library is already on your system (in a location CMake cannot find it), -LATTE\_LIBRARY is the filename (plus path) of the LATTE library file, +``LATTE_LIBRARY`` is the filename (plus path) of the LATTE library file, not the directory the library file is in. **Traditional make**\ : You can download and build the LATTE library manually if you prefer; -follow the instructions in lib/latte/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invokes the lib/latte/Install.py script with the specified +follow the instructions in ``lib/latte/README``\ . You can also do it in +one step from the ``lammps/src`` dir, using a command like these, which +simply invokes the ``lib/latte/Install.py`` script with the specified args: +.. code-block:: bash -.. parsed-literal:: - - make lib-latte # print help message - make lib-latte args="-b" # download and build in lib/latte/LATTE-master - make lib-latte args="-p $HOME/latte" # use existing LATTE installation in $HOME/latte - make lib-latte args="-b -m gfortran" # download and build in lib/latte and - # copy Makefile.lammps.gfortran to Makefile.lammps + $ make lib-latte # print help message + $ make lib-latte args="-b" # download and build in lib/latte/LATTE-master + $ make lib-latte args="-p $HOME/latte" # use existing LATTE installation in $HOME/latte + $ make lib-latte args="-b -m gfortran" # download and build in lib/latte and + # copy Makefile.lammps.gfortran to Makefile.lammps Note that 3 symbolic (soft) links, "includelink" and "liblink" and "filelink.o", are created in lib/latte to point into the LATTE home @@ -413,10 +629,8 @@ dir. When LAMMPS itself is built it will use these links. You should also check that the Makefile.lammps file you create is appropriate for the compiler you use on your system to build LATTE. - ---------- - .. _message: MESSAGE package @@ -428,8 +642,7 @@ be installed on your system. **CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash -D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes -D ZMQ_LIBRARY=path # ZMQ library file (only needed if a custom location) @@ -438,80 +651,73 @@ be installed on your system. **Traditional make**\ : Before building LAMMPS, you must build the CSlib library in -lib/message. You can build the CSlib library manually if you prefer; -follow the instructions in lib/message/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invoke the lib/message/Install.py script with the specified args: +``lib/message``\ . You can build the CSlib library manually if you prefer; +follow the instructions in ``lib/message/README``\ . You can also do it in +one step from the ``lammps/src`` dir, using a command like these, which +simply invoke the ``lib/message/Install.py`` script with the specified args: +.. code-block:: bash -.. parsed-literal:: - - make lib-message # print help message - make lib-message args="-m -z" # build with MPI and socket (ZMQ) support - make lib-message args="-s" # build as serial lib with no ZMQ support + $ make lib-message # print help message + $ make lib-message args="-m -z" # build with MPI and socket (ZMQ) support + $ make lib-message args="-s" # build as serial lib with no ZMQ support -The build should produce two files: lib/message/cslib/src/libmessage.a -and lib/message/Makefile.lammps. The latter is copied from an -existing Makefile.lammps.\* and has settings to link with the ZeroMQ +The build should produce two files: ``lib/message/cslib/src/libmessage.a`` +and ``lib/message/Makefile.lammps``\ . The latter is copied from an +existing ``Makefile.lammps.\*`` and has settings to link with the ZeroMQ library if requested in the build. - ---------- - .. _mscg: MSCG package ----------------------- To build with this package, you must download and build the MS-CG -library. Building the MS-CG library and using it from LAMMPS requires -a C++11 compatible compiler and that the GSL (GNU Scientific Library) -headers and libraries are installed on your machine. See the -lib/mscg/README and MSCG/Install files for more details. +library. Building the MS-CG library requires that the GSL +(GNU Scientific Library) headers and libraries are installed on your +machine. See the ``lib/mscg/README`` and ``MSCG/Install`` files for +more details. **CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash -D DOWNLOAD_MSCG=value # download MSCG for build, value = no (default) or yes -D MSCG_LIBRARY=path # MSCG library file (only needed if a custom location) -D MSCG_INCLUDE_DIR=path # MSCG include directory (only needed if a custom location) -If DOWNLOAD\_MSCG is set, the MSCG library will be downloaded and built +If ``DOWNLOAD_MSCG`` is set, the MSCG library will be downloaded and built inside the CMake build directory. If the MSCG library is already on -your system (in a location CMake cannot find it), MSCG\_LIBRARY is the +your system (in a location CMake cannot find it), ``MSCG_LIBRARY`` is the filename (plus path) of the MSCG library file, not the directory the -library file is in. MSCG\_INCLUDE\_DIR is the directory the MSCG +library file is in. ``MSCG_INCLUDE_DIR`` is the directory the MSCG include file is in. **Traditional make**\ : You can download and build the MS-CG library manually if you prefer; -follow the instructions in lib/mscg/README. You can also do it in one -step from the lammps/src dir, using a command like these, which simply -invoke the lib/mscg/Install.py script with the specified args: +follow the instructions in ``lib/mscg/README``\ . You can also do it in one +step from the ``lammps/src`` dir, using a command like these, which simply +invoke the ``lib/mscg/Install.py`` script with the specified args: +.. code-block:: bash -.. parsed-literal:: - - make lib-mscg # print help message - make lib-mscg args="-b -m serial" # download and build in lib/mscg/MSCG-release-master + $ make lib-mscg # print help message + $ make lib-mscg args="-b -m serial" # download and build in lib/mscg/MSCG-release-master # with the settings compatible with "make serial" - make lib-mscg args="-b -m mpi" # download and build in lib/mscg/MSCG-release-master + $ make lib-mscg args="-b -m mpi" # download and build in lib/mscg/MSCG-release-master # with the settings compatible with "make mpi" - make lib-mscg args="-p /usr/local/mscg-release" # use the existing MS-CG installation in /usr/local/mscg-release + $ make lib-mscg args="-p /usr/local/mscg-release" # use the existing MS-CG installation in /usr/local/mscg-release Note that 2 symbolic (soft) links, "includelink" and "liblink", will -be created in lib/mscg to point to the MS-CG src/installation dir. -When LAMMPS is built in src it will use these links. You should not -need to edit the lib/mscg/Makefile.lammps file. - +be created in ``lib/mscg`` to point to the MS-CG ``src/installation`` +dir. When LAMMPS is built in src it will use these links. You should +not need to edit the ``lib/mscg/Makefile.lammps`` file. ---------- - .. _opt: OPT package @@ -519,7 +725,7 @@ OPT package **CMake build**\ : -No additional settings are needed besides "-D PKG\_OPT=yes". +No additional settings are needed besides ``-D PKG_OPT=yes`` **Traditional make**\ : @@ -528,10 +734,8 @@ package when using Intel compilers. It should be added to the CCFLAGS line of your Makefile.machine. See src/MAKE/OPTIONS/Makefile.opt for an example. - ---------- - .. _poems: POEMS package @@ -539,71 +743,65 @@ POEMS package **CMake build**\ : -No additional settings are needed besides "-D PKG\_OPT=yes". +No additional settings are needed besides ``-D PKG_OPT=yes`` **Traditional make**\ : -Before building LAMMPS, you must build the POEMS library in lib/poems. +Before building LAMMPS, you must build the POEMS library in ``lib/poems``\ . You can do this manually if you prefer; follow the instructions in -lib/poems/README. You can also do it in one step from the lammps/src +``lib/poems/README``\ . You can also do it in one step from the ``lammps/src`` dir, using a command like these, which simply invoke the -lib/poems/Install.py script with the specified args: +``lib/poems/Install.py`` script with the specified args: +.. code-block:: bash -.. parsed-literal:: + $ make lib-poems # print help message + $ make lib-poems args="-m serial" # build with GNU g++ compiler (settings as with "make serial") + $ make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi") + $ make lib-poems args="-m icc" # build with Intel icc compiler - make lib-poems # print help message - make lib-poems args="-m serial" # build with GNU g++ compiler (settings as with "make serial") - make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi") - make lib-poems args="-m icc" # build with Intel icc compiler - -The build should produce two files: lib/poems/libpoems.a and -lib/poems/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.\* and has settings needed to build LAMMPS with the +The build should produce two files: ``lib/poems/libpoems.a`` and +``lib/poems/Makefile.lammps``\ . The latter is copied from an existing +``Makefile.lammps.\*`` and has settings needed to build LAMMPS with the POEMS library (though typically the settings are just blank). If -necessary, you can edit/create a new lib/poems/Makefile.machine file -for your system, which should define an EXTRAMAKE variable to specify -a corresponding Makefile.lammps.machine file. - +necessary, you can edit/create a new ``lib/poems/Makefile.machine`` file +for your system, which should define an ``EXTRAMAKE`` variable to specify +a corresponding ``Makefile.lammps.machine`` file. ---------- - .. _python: PYTHON package --------------------------- Building with the PYTHON package requires you have a Python shared -library available on your system, which needs to be a Python 2 -version, 2.6 or later. Python 3 is not yet supported. See -lib/python/README for more details. +library available on your system, which needs to be a Python 2.7 +version or a Python 3.x version. See ``lib/python/README`` for more +details. **CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash -D PYTHON_EXECUTABLE=path # path to Python executable to use Without this setting, CMake will guess the default Python on your system. To use a different Python version, you can either create a virtualenv, activate it and then run cmake. Or you can set the -PYTHON\_EXECUTABLE variable to specify which Python interpreter should +PYTHON_EXECUTABLE variable to specify which Python interpreter should be used. Note note that you will also need to have the development headers installed for this version, e.g. python2-devel. **Traditional make**\ : -The build uses the lib/python/Makefile.lammps file in the compile/link +The build uses the ``lib/python/Makefile.lammps`` file in the compile/link process to find Python. You should only need to create a new -Makefile.lammps.\* file (and copy it to Makefile.lammps) if the LAMMPS -build fails. - +``Makefile.lammps.\*`` file (and copy it to ``Makefile.lammps``\ ) if +the LAMMPS build fails. ---------- - .. _voronoi: VORONOI package @@ -613,22 +811,19 @@ To build with this package, you must download and build the `Voro++ library - make lib-voronoi args="-p $HOME/voro++" # use existing Voro++ installation in $HOME/voro++ - make lib-voronoi args="-b -v voro++0.4.6" # download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6 + $ make lib-voronoi # print help message + $ make lib-voronoi args="-b" # download and build the default version in lib/voronoi/voro++- + $ make lib-voronoi args="-p $HOME/voro++" # use existing Voro++ installation in $HOME/voro++ + $ make lib-voronoi args="-b -v voro++0.4.6" # download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6 Note that 2 symbolic (soft) links, "includelink" and "liblink", are created in lib/voronoi to point to the Voro++ src dir. When LAMMPS builds in src it will use these links. You should not need to edit the lib/voronoi/Makefile.lammps file. - ---------- - .. _user-adios: USER-ADIOS package @@ -665,13 +857,12 @@ The USER-ADIOS package requires the `ADIOS I/O library `_. - +The USER-PLUMED package has been tested to work with Plumed versions +2.4.x, 2.5.x, and 2.6.x and will error out, when trying to run calculations +with a different version of the Plumed kernel. PLUMED can be linked into MD codes in three different modes: static, shared, and runtime. With the "static" mode, all the code that PLUMED @@ -893,7 +1073,7 @@ LAMMPS uses can be updated without the need for a recompile of LAMMPS for as long as the shared PLUMED library is ABI-compatible. The third linkage mode is "runtime" which allows the user to specify -which PLUMED kernel should be used at runtime by using the PLUMED\_KERNEL +which PLUMED kernel should be used at runtime by using the PLUMED_KERNEL environment variable. This variable should point to the location of the libplumedKernel.so dynamical shared object, which is then loaded at runtime. This mode of linking is particularly convenient for doing @@ -910,32 +1090,31 @@ LAMMPS build. **CMake build**\ : -When the "-D PKG\_USER-PLUMED" flag is included in the cmake command you +When the "-D PKG_USER-PLUMED" flag is included in the cmake command you must ensure that GSL is installed in locations that are specified in your environment. There are then two additional commands that control the manner in which PLUMED is obtained and linked into LAMMPS. - -.. parsed-literal:: +.. code-block:: bash -D DOWNLOAD_PLUMED=value # download PLUMED for build, value = no (default) or yes -D PLUMED_MODE=value # Linkage mode for PLUMED, value = static (default), shared, or runtime -If DOWNLOAD\_PLUMED is set to "yes", the PLUMED library will be +If DOWNLOAD_PLUMED is set to "yes", the PLUMED library will be downloaded (the version of PLUMED that will be downloaded is hard-coded to a vetted version of PLUMED, usually a recent stable release version) -and built inside the CMake build directory. If DOWNLOAD\_PLUMED is set +and built inside the CMake build directory. If DOWNLOAD_PLUMED is set to "no" (the default), CMake will try to detect and link to an installed version of PLUMED. For this to work, the PLUMED library has to be installed into a location where the pkg-config tool can find it or the -PKG\_CONFIG\_PATH environment variable has to be set up accordingly. +PKG_CONFIG_PATH environment variable has to be set up accordingly. PLUMED should be installed in such a location if you compile it using the default make; make install commands. -The PLUMED\_MODE setting determines the linkage mode for the PLUMED +The PLUMED_MODE setting determines the linkage mode for the PLUMED library. The allowed values for this flag are "static" (default), "shared", or "runtime". For a discussion of PLUMED linkage modes, -please see above. When DOWNLOAD\_PLUMED is enabled the static linkage +please see above. When DOWNLOAD_PLUMED is enabled the static linkage mode is recommended. **Traditional make**\ : @@ -951,13 +1130,12 @@ discussion of PLUMED linkage modes, please see above. Download/compilation/configuration of the plumed library can be done from the src folder through the following make args: +.. code-block:: bash -.. parsed-literal:: - - make lib-plumed # print help message - make lib-plumed args="-b" # download and build PLUMED in lib/plumed/plumed2 - make lib-plumed args="-p $HOME/.local" # use existing PLUMED installation in $HOME/.local - make lib-plumed args="-p /usr/local -m shared" # use existing PLUMED installation in + $ make lib-plumed # print help message + $ make lib-plumed args="-b" # download and build PLUMED in lib/plumed/plumed2 + $ make lib-plumed args="-p $HOME/.local" # use existing PLUMED installation in $HOME/.local + $ make lib-plumed args="-p /usr/local -m shared" # use existing PLUMED installation in # /usr/local and use shared linkage mode Note that 2 symbolic (soft) links, "includelink" and "liblink" are @@ -967,16 +1145,15 @@ suitable for LAMMPS to compile and link PLUMED using the desired linkage mode. After this step is completed, you can install the USER-PLUMED package and compile LAMMPS in the usual manner: +.. code-block:: bash -.. parsed-literal:: - - make yes-user-plumed - make machine + $ make yes-user-plumed + $ make machine Once this compilation completes you should be able to run LAMMPS in the usual way. For shared linkage mode, libplumed.so must be found by the LAMMPS executable, which on many operating systems means, you have to -set the LD\_LIBRARY\_PATH environment variable accordingly. +set the LD_LIBRARY_PATH environment variable accordingly. Support for the different linkage modes in LAMMPS varies for different operating systems, using the static linkage is expected to be the most @@ -987,10 +1164,8 @@ lib-plumed" with the desired settings **and** do a re-install if the USER-PLUMED package with "make yes-user-plumed" to update the required makefile settings with the changes in the lib/plumed folder. - ---------- - .. _user-h5md: USER-H5MD package @@ -1002,7 +1177,7 @@ the HDF5 library. **CMake build**\ : -No additional settings are needed besides "-D PKG\_USER-H5MD=yes". +No additional settings are needed besides "-D PKG_USER-H5MD=yes". This should auto-detect the H5MD library on your system. Several advanced CMake H5MD options exist if you need to specify where it is @@ -1018,11 +1193,10 @@ lib/h5md/README. You can also do it in one step from the lammps/src dir, using a command like these, which simply invoke the lib/h5md/Install.py script with the specified args: +.. code-block:: bash -.. parsed-literal:: - - make lib-h5md # print help message - make lib-h5md args="-m h5cc" # build with h5cc compiler + $ make lib-h5md # print help message + $ make lib-h5md args="-m h5cc" # build with h5cc compiler The build should produce two files: lib/h5md/libch5md.a and lib/h5md/Makefile.lammps. The latter is copied from an existing @@ -1032,10 +1206,8 @@ lib/h5md/Makefile.machine file for your system, which should define an EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine file. - ---------- - .. _user-intel: USER-INTEL package @@ -1049,8 +1221,7 @@ on the :doc:`Speed intel ` doc page. **CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash -D INTEL_ARCH=value # value = cpu (default) or knl -D INTEL_LRT_MODE=value # value = threads, none, or c++11 @@ -1070,14 +1241,13 @@ runs with other compilers and without TBB and MKL. **Traditional make**\ : Choose which hardware to compile for in Makefile.machine via the -following settings. See src/MAKE/OPTIONS/Makefile.intel\_cpu\* and +following settings. See src/MAKE/OPTIONS/Makefile.intel_cpu\* and Makefile.knl files for examples. and src/USER-INTEL/README for additional information. For CPUs: - -.. parsed-literal:: +.. code-block:: make OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS) @@ -1086,18 +1256,15 @@ For CPUs: For KNLs: - -.. parsed-literal:: +.. code-block:: make OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS) LINKFLAGS = -g -qopenmp $(OPTFLAGS) LIB = -ltbbmalloc - ---------- - .. _user-molfile: USER-MOLFILE package @@ -1105,14 +1272,13 @@ USER-MOLFILE package **CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash -D MOLFILE_INCLUDE_DIRS=path # (optional) path where VMD molfile plugin headers are installed -D PKG_USER-MOLFILE=yes -Using "-D PKG\_USER-MOLFILE=yes" enables the package, and setting -"-D MOLFILE\_INCLUDE DIRS" allows to provide a custom location for +Using "-D PKG_USER-MOLFILE=yes" enables the package, and setting +"-D MOLFILE_INCLUDE DIRS" allows to provide a custom location for the molfile plugin header files. These should match the ABI of the plugin files used, and thus one typically sets them to include folder of the local VMD installation in use. LAMMPS ships with a @@ -1132,10 +1298,8 @@ default headers, but these are not compatible with all VMD versions, so it is often best to change this setting to the location of the same include files of the local VMD installation in use. - ---------- - .. _user-netcdf: USER-NETCDF package @@ -1146,7 +1310,7 @@ on your system. **CMake build**\ : -No additional settings are needed besides "-D PKG\_USER-NETCDF=yes". +No additional settings are needed besides "-D PKG_USER-NETCDF=yes". This should auto-detect the NETCDF library if it is installed on your system at standard locations. Several advanced CMake NETCDF options @@ -1161,10 +1325,8 @@ and library files which LAMMPS needs to build with this package. If the settings are not valid for your system, you will need to edit the Makefile.lammps file. See lib/netcdf/README for details. - ---------- - .. _user-omp: USER-OMP package @@ -1172,7 +1334,7 @@ USER-OMP package **CMake build**\ : -No additional settings are required besides "-D PKG\_USER-OMP=yes". If +No additional settings are required besides "-D PKG_USER-OMP=yes". If CMake detects OpenMP support, the USER-OMP code will be compiled with multi-threading support enabled, otherwise as optimized serial code. @@ -1183,46 +1345,57 @@ styles supporting OpenMP) the following compile and link flags must be added to your Makefile.machine file. See src/MAKE/OPTIONS/Makefile.omp for an example. - .. parsed-literal:: - CCFLAGS: -fopenmp # for GNU Compilers + CCFLAGS: -fopenmp # for GNU and Clang Compilers CCFLAGS: -qopenmp -restrict # for Intel compilers on Linux - LINKFLAGS: -fopenmp # for GNU Compilers + LINKFLAGS: -fopenmp # for GNU and Clang Compilers LINKFLAGS: -qopenmp # for Intel compilers on Linux For other platforms and compilers, please consult the documentation about OpenMP support for your compiler. Please see the note about how to address compatibility :ref:`issues with the 'default(none)' directive ` of some compilers. - ---------- - .. _user-qmmm: USER-QMMM package --------------------------------- -.. 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 (pwqmmm.x) which links LAMMPS and Quantum - ESPRESSO together. These are steps 3 and 4 described in the - lib/qmmm/README file. Unfortunately, the Quantum ESPRESSO developers - have been breaking the interface that the QM/MM code in LAMMPS is using, - so that currently (Summer 2018) using this feature requires either - correcting the library interface feature in recent Quantum ESPRESSO - releases, or using an outdated version of QE. The last version of - Quantum ESPRESSO known to work with this QM/MM interface was version - 5.4.1 from 2016. +For using LAMMPS to do QM/MM simulations via the USER-QMMM package you +need to build LAMMPS as a library. A LAMMPS executable with fix qmmm +included can be built, but will not be able to do a QM/MM simulation +on as such. You must also build a QM code - currently only Quantum +ESPRESSO (QE) is supported - and create a new executable which links +LAMMPS and the QM code together. Details are given in the +lib/qmmm/README file. It is also recommended to read the instructions +for :doc:`linking with LAMMPS as a library ` for +background information. This requires compatible Quantum Espresso +and LAMMPS versions. The current interface and makefiles have last +been verified to work in February 2020 with Quantum Espresso versions +6.3 to 6.5. **CMake build**\ : -The CMake build system currently does not support building the full -QM/MM-capable hybrid executable of LAMMPS and QE called pwqmmm.x. -You must use the traditional make build for this package. +When using CMake, building a LAMMPS library is required and it is +recommended to build a shared library, since any libraries built from +the sources in the *lib* folder (including the essential libqmmm.a) +are not included in the static LAMMPS library and (currently) not +installed, while their code is included in the shared LAMMPS library. +Thus a typical command line to configure building LAMMPS for USER-QMMM +would be: + +.. code-block:: bash + + cmake -C ../cmake/presets/minimal.cmake -D PKG_USER-QMMM=yes \ + -D BUILD_LIB=yes -DBUILD_SHARED_LIBS=yes ../cmake + +After completing the LAMMPS build and also configuring and compiling +Quantum ESPRESSO with external library support (via "make couple"), +go back to the lib/qmmm folder and follow the instructions on the +README file to build the combined LAMMPS/QE QM/MM executable +(pwqmmm.x) in the lib/qmmm folder. You need to make certain, that **Traditional make**\ : @@ -1232,13 +1405,12 @@ explained in lib/qmmm/README. You can also do it in one step from the lammps/src dir, using a command like these, which simply invoke the lib/qmmm/Install.py script with the specified args: +.. code-block:: bash -.. parsed-literal:: - - make lib-qmmm # print help message - make lib-qmmm args="-m serial" # build with GNU Fortran compiler (settings as in "make serial") - make lib-qmmm args="-m mpi" # build with default MPI compiler (settings as in "make mpi") - make lib-qmmm args="-m gfortran" # build with GNU Fortran compiler + $ make lib-qmmm # print help message + $ make lib-qmmm args="-m serial" # build with GNU Fortran compiler (settings as in "make serial") + $ make lib-qmmm args="-m mpi" # build with default MPI compiler (settings as in "make mpi") + $ make lib-qmmm args="-m gfortran" # build with GNU Fortran compiler The build should produce two files: lib/qmmm/libqmmm.a and lib/qmmm/Makefile.lammps. The latter is copied from an existing @@ -1250,14 +1422,13 @@ a corresponding Makefile.lammps.machine file. You can then install QMMM package and build LAMMPS in the usual manner. After completing the LAMMPS build and compiling Quantum -ESPRESSO with external library support, go back to the lib/qmmm folder -and follow the instructions on the README file to build the combined -LAMMPS/QE QM/MM executable (pwqmmm.x) in the lib/qmmm folder. - +ESPRESSO with external library support (via "make couple"), go back to +the lib/qmmm folder and follow the instructions in the README file to +build the combined LAMMPS/QE QM/MM executable (pwqmmm.x) in the +lib/qmmm folder. ---------- - .. _user-quip: USER-QUIP package @@ -1271,29 +1442,26 @@ lib/quip/README file for details on how to do this. **CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash -D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location) CMake will not download and build the QUIP library. But once you have -done that, a CMake build of LAMMPS with "-D PKG\_USER-QUIP=yes" should -work. Set QUIP\_LIBRARY if CMake cannot find the QUIP library. +done that, a CMake build of LAMMPS with "-D PKG_USER-QUIP=yes" should +work. Set QUIP_LIBRARY if CMake cannot find the QUIP library. **Traditional make**\ : The download/build procedure for the QUIP library, described in lib/quip/README file requires setting two environment variables, -QUIP\_ROOT and QUIP\_ARCH. These are accessed by the +QUIP_ROOT and QUIP_ARCH. These are accessed by the lib/quip/Makefile.lammps file which is used when you compile and link LAMMPS with this package. You should only need to edit Makefile.lammps if the LAMMPS build can not use its settings to successfully build on your system. - ---------- - .. _user-scafacos: USER-SCAFACOS package @@ -1303,22 +1471,19 @@ To build with this package, you must download and build the `ScaFaCoS Coulomb so .. _scafacos-home: http://www.scafacos.de - - **CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash -D DOWNLOAD_SCAFACOS=value # download ScaFaCoS for build, value = no (default) or yes -D SCAFACOS_LIBRARY=path # ScaFaCos library file (only needed if at custom location) -D SCAFACOS_INCLUDE_DIR=path # ScaFaCoS include directory (only needed if at custom location) -If DOWNLOAD\_SCAFACOS is set, the ScaFaCoS library will be downloaded +If DOWNLOAD_SCAFACOS is set, the ScaFaCoS library will be downloaded and built inside the CMake build directory. If the ScaFaCoS library is already on your system (in a location CMake cannot find it), -SCAFACOS\_LIBRARY is the filename (plus path) of the ScaFaCoS library -file, not the directory the library file is in. SCAFACOS\_INCLUDE\_DIR +SCAFACOS_LIBRARY is the filename (plus path) of the ScaFaCoS library +file, not the directory the library file is in. SCAFACOS_INCLUDE_DIR is the directory the ScaFaCoS include file is in. **Traditional make**\ : @@ -1338,10 +1503,8 @@ created in lib/scafacos to point to the ScaFaCoS src dir. When LAMMPS builds in src it will use these links. You should not need to edit the lib/scafacos/Makefile.lammps file. - ---------- - .. _user-smd: USER-SMD package @@ -1352,15 +1515,14 @@ Eigen3 is a template library, so you do not need to build it. **CMake build**\ : - -.. parsed-literal:: +.. code-block:: bash -D DOWNLOAD_EIGEN3 # download Eigen3, value = no (default) or yes -D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location) -If DOWNLOAD\_EIGEN3 is set, the Eigen3 library will be downloaded and +If DOWNLOAD_EIGEN3 is set, the Eigen3 library will be downloaded and inside the CMake build directory. If the Eigen3 library is already on -your system (in a location CMake cannot find it), EIGEN3\_INCLUDE\_DIR +your system (in a location CMake cannot find it), EIGEN3_INCLUDE_DIR is the directory the Eigen3++ include file is in. **Traditional make**\ : @@ -1370,22 +1532,19 @@ instructions in lib/smd/README. You can also do it in one step from the lammps/src dir, using a command like these, which simply invoke the lib/smd/Install.py script with the specified args: +.. code-block:: bash -.. parsed-literal:: - - make lib-smd # print help message - make lib-smd args="-b" # download to lib/smd/eigen3 - make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3 + $ make lib-smd # print help message + $ make lib-smd args="-b" # download to lib/smd/eigen3 + $ make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3 Note that a symbolic (soft) link named "includelink" is created in lib/smd to point to the Eigen dir. When LAMMPS builds it will use this link. You should not need to edit the lib/smd/Makefile.lammps file. - ---------- - .. _user-vtk: USER-VTK package @@ -1396,7 +1555,7 @@ your system. **CMake build**\ : -No additional settings are needed besides "-D PKG\_USER-VTK=yes". +No additional settings are needed besides "-D PKG_USER-VTK=yes". This should auto-detect the VTK library if it is installed on your system at standard locations. Several advanced VTK options exist if @@ -1412,8 +1571,3 @@ the settings are not valid for your system, check if one of the other lib/vtk/Makefile.lammps.\* files is compatible and copy it to Makefile.lammps. If none of the provided files work, you will need to edit the Makefile.lammps file. See lib/vtk/README for details. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/Build_link.rst b/doc/src/Build_link.rst index 8306fcb86f5930d89179a16b467a0cfecc9b0c62..39fc4fe40a2f43bc075478d9ad94ba758f8d3492 100644 --- a/doc/src/Build_link.rst +++ b/doc/src/Build_link.rst @@ -1,91 +1,259 @@ Link LAMMPS as a library to another code ======================================== -LAMMPS can be used as a library by another application, including -Python scripts. The files src/library.cpp and library.h define the -C-style API for using LAMMPS as a library. See the :doc:`Howto library ` doc page for a description of the -interface and how to extend it for your needs. +LAMMPS is designed as a library of C++ objects and can thus be +integrated into other applications including Python scripts. +The files ``src/library.cpp`` and ``src/library.h`` define a +C-style API for using LAMMPS as a library. See the :doc:`Howto +library ` doc page for a description of the interface +and how to extend it for your needs. The :doc:`Build basics ` doc page explains how to build -LAMMPS as either a shared or static library. This results in one of -these 2 files: +LAMMPS as either a shared or static library. This results in a file +in the compilation folder called ``liblammps.a`` or ``liblammps_.a`` +in case of building a static library. In case of a shared library +the name is the same only that the suffix is going to be either ``.so`` +or ``.dylib`` or ``.dll`` instead of ``.a`` depending on the OS. +In some cases the ``.so`` file may be a symbolic link to a file with +the suffix ``.so.0`` (or some other number). + +.. note:: + + Care should be taken to use the same MPI library for the calling code + and the LAMMPS library. The ``library.h`` file includes ``mpi.h`` + and uses definitions from it so those need to be available and + consistent. When LAMMPS is compiled with the included STUBS MPI + library, then its ``mpi.h`` file needs to be included. While it is + technically possible to use a full MPI library in the calling code + and link to a serial LAMMPS library compiled with MPI STUBS, it is + recommended to use the *same* MPI library for both, and then use + ``MPI_Comm_split()`` in the calling code to pass a suitable + communicator with a subset of MPI ranks to the function creating the + LAMMPS instance. -liblammps.so # shared library -liblammps.a # static library +---------- +**Link with LAMMPS as a static library**\ : ----------- +The calling application can link to LAMMPS as a static library with +compilation and link commands as in the examples shown below. These +are examples for a code written in C in the file *caller.c*. +The benefit of linking to a static library is, that the resulting +executable is independent of that library since all required +executable code from the library is copied into the calling executable. +*CMake build*\ : -**Link with LAMMPS as a static library**\ : +This assumes that LAMMPS has been configured without setting a +``LAMMPS_MACHINE`` name, installed with "make install", and the +``PKG_CONFIG_PATH`` environment variable has been updated to include the +``liblammps.pc`` file installed into the configured destination folder. +The commands to compile and link a coupled executable are then: -The calling application can link to LAMMPS as a static library with a -link command like this: +.. code-block:: bash -g++ caller.o -L/home/sjplimp/lammps/src -llammps -o caller + mpicc -c -O $(pkgconf liblammps --cflags) caller.c + mpicxx -o caller caller.o -$(pkgconf liblammps --libs) -The -L argument is the path to where the liblammps.a file is. The --llammps argument is shorthand for the file liblammps.a. +*Traditional make*\ : +This assumes that LAMMPS has been compiled in the folder +``${HOME}/lammps/src`` with "make mpi". The commands to compile and link +a coupled executable are then: ----------- +.. code-block:: bash + + mpicc -c -O -I${HOME}/lammps/src caller.c + mpicxx -o caller caller.o -L${HOME}/lammps/src -llammps_mpi + +The *-I* argument is the path to the location of the ``library.h`` +header file containing the interface to the LAMMPS C-style library +interface. The *-L* argument is the path to where the ``liblammps_mpi.a`` +file is located. The *-llammps_mpi* argument is shorthand for telling the +compiler to link the file ``liblammps_mpi.a``. If LAMMPS has been +built as a shared library, then the linker will use ``liblammps_mpi.so`` +instead. If both files are available, the linker will usually prefer +the shared library. In case of a shared library, you may need to update +the ``LD_LIBRARY_PATH`` environment variable or running the ``caller`` +executable will fail since it cannot find the shared library at runtime. + +However, it is only as simple as shown above for the case of a plain +LAMMPS library without any optional packages that depend on libraries +(bundled or external) or when using a shared library. Otherwise, you +need to include all flags, libraries, and paths for the coupled +executable, that are also required to link the LAMMPS executable. + +*CMake build*\ : + +When using CMake, additional libraries with sources in the lib folder +are built, but not included in ``liblammps.a`` and (currently) not +installed with "make install" and not included in the *pkgconfig* +configuration file. They can be found in the top level build folder, +but you have to determine the necessary link flags manually. It is +therefore recommended to either use the traditional make procedure to +build and link with a static library or build and link with a shared +library instead. + +.. TODO: this needs to be updated to reflect that latest CMake changes after they are complete. + +*Traditional make*\ : + +After you have compiled a static LAMMPS library using the conventional +build system for example with "make mode=static serial". And you also +have installed the ``POEMS`` package after building its bundled library +in ``lib/poems``. Then the commands to build and link the coupled executable +change to: + +.. code-block:: bash + + gcc -c -O -I${HOME}/lammps/src/STUBS -I${HOME}/lammps/src -caller.c + g++ -o caller caller.o -L${HOME}/lammps/lib/poems \ + -L${HOME}/lammps/src/STUBS -L${HOME}/lammps/src -llammps_serial -lpoems -lmpi_stubs + +Note, that you need to link with "g++" instead of "gcc", since the +LAMMPS library is C++ code. You can display the currently applied +settings for building LAMMPS for the "serial" machine target by using +the command: + +.. code-block:: bash + + make mode=print serial + +Which should output something like: + +.. code-block:: bash + + # Compiler: + CXX=g++ + # Linker: + LD=g++ + # Compilation: + CXXFLAGS=-g -O3 -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 -I${HOME}/compile/lammps/lib/poems -I${HOME}/compile/lammps/src/STUBS + # Linking: + LDFLAGS=-g -O + # Libraries: + LDLIBS=-L${HOME}/compile/lammps/src -llammps_serial -L${HOME}/compile/lammps/lib/poems -L${HOME}/compile/lammps/src/STUBS -lpoems -lmpi_stubs +From this you can gather the necessary paths and flags. With +makefiles for other *machine* configurations you need to do the +equivalent and replace "serial" with the corresponding *machine* name +of the makefile. + +---------- **Link with LAMMPS as a shared library**\ : -If you wish to link to liblammps.so, the operating system finds shared -libraries to load at run-time using the environment variable -LD\_LIBRARY\_PATH. To enable this you can do one of two things: +When linking to LAMMPS built as a shared library, the situation becomes +much simpler, as all dependent libraries and objects are either included +in the shared library or registered as a dependent library in the shared +library file. Thus those libraries need not to be specified when +linking the calling executable. Only the *-I* flags are needed. So the +example case from above of the serial version static LAMMPS library with +the POEMS package installed becomes: + +*CMake build*\ : + +The commands with a shared LAMMPS library compiled with the CMake +build process are the same as for the static library. + +.. code-block:: bash + + mpicc -c -O $(pkgconf liblammps --cflags) caller.c + mpicxx -o caller caller.o -$(pkgconf --libs) + +*Traditional make*\ : + +The commands with a shared LAMMPS library compiled with the +traditional make build using "make mode=shared serial" becomes: + +.. code-block:: bash + + gcc -c -O -I${HOME}/lammps/src/STUBS -I${HOME}/lammps/src -caller.c + g++ -o caller caller.o -L${HOME}/lammps/src -llammps_serial -(1) Copy the liblammps.so file to a location the system can find it, -such as /usr/local/lib. I.e. a directory already listed in your -LD\_LIBRARY\_PATH variable. You can type +*Locating liblammps.so at runtime*\ : +However, now the ``liblammps.so`` file is required at runtime and needs +to be in a folder, where the shared linker program of the operating +system can find it. This would be either a folder like ``/usr/local/lib64`` +or ``${HOME}/.local/lib64`` or a folder pointed to by the ``LD_LIBRARY_PATH`` +environment variable. You can type -.. parsed-literal:: +.. code-block:: bash printenv LD_LIBRARY_PATH to see what directories are in that list. -(2) Add the LAMMPS src directory (or the directory you perform CMake -build in) to your LD\_LIBRARY\_PATH, so that the current version of the -shared library is always available to programs that use it. +Or you can add the LAMMPS src directory (or the directory you performed +a CMake style build in) to your ``LD_LIBRARY_PATH``, so that the current +version of the shared library is always available to programs that use it. -For the csh or tcsh shells, you would add something like this to your -~/.cshrc file: +For the Bourne or Korn shells (/bin/sh, /bin/ksh, /bin/bash etc.), you +would add something like this to your ``${HOME}/.profile`` file: +.. code-block:: bash -.. parsed-literal:: + LD_LIBRARY_PATH ${LD_LIBRARY_PATH-/usr/lib64}:${HOME}/lammps/src + export LD_LIBRARY_PATH - setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/src +For the csh or tcsh shells, you would equivalently add something like this +to your ``${HOME}/.cshrc`` file: +.. code-block:: csh ----------- + setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${HOME}/lammps/src + +You can verify whether all required shared libraries are found with the +``ldd`` tool. Example: + +.. code-block:: bash + + $ LD_LIBRARY_PATH=/home/user/lammps/src ldd caller + linux-vdso.so.1 (0x00007ffe729e0000) + liblammps.so => /home/user/lammps/src/liblammps.so (0x00007fc91bb9e000) + libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fc91b984000) + libm.so.6 => /lib64/libm.so.6 (0x00007fc91b83e000) + libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc91b824000) + libc.so.6 => /lib64/libc.so.6 (0x00007fc91b65b000) + /lib64/ld-linux-x86-64.so.2 (0x00007fc91c094000) + +If a required library is missing, you would get a 'not found' entry: +.. code-block:: bash + + $ ldd caller + linux-vdso.so.1 (0x00007ffd672fe000) + liblammps.so => not found + libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fb7c7e86000) + libm.so.6 => /usr/lib64/libm.so.6 (0x00007fb7c7d40000) + libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007fb7c7d26000) + libc.so.6 => /usr/lib64/libc.so.6 (0x00007fb7c7b5d000) + /lib64/ld-linux-x86-64.so.2 (0x00007fb7c80a2000) + +---------- **Calling the LAMMPS library**\ : Either flavor of library (static or shared) allows one or more LAMMPS -objects to be instantiated from the calling program. +objects to be instantiated from the calling program. When used from a +C++ program, most of the symbols and functions in LAMMPS are wrapped +in a ``LAMMPS_NS`` namespace; you can safely use any of its classes and +methods from within the calling code, as needed, and you will not incur +conflicts with functions and variables in your code that share the name. +This, however, does not extend to all additional libraries bundled with +LAMMPS in the lib folder and some of the low-level code of some packages. -When used from a C++ program, all of LAMMPS is wrapped in a LAMMPS\_NS -namespace; you can safely use any of its classes and methods from -within the calling code, as needed. - -When used from a C or Fortran program, the library has a simple -C-style interface, provided in src/library.cpp and src/library.h. +To be compatible with C, Fortran, Python programs, the library has a simple +C-style interface, provided in ``src/library.cpp`` and ``src/library.h``. See the :doc:`Python library ` doc page for a description of the Python interface to LAMMPS, which wraps the C-style -interface. +interface from a shared library through the `ctypes python module `_. -See the sample codes in examples/COUPLE/simple for examples of C++ and +See the sample codes in ``examples/COUPLE/simple`` for examples of C++ and C and Fortran codes that invoke LAMMPS through its library interface. Other examples in the COUPLE directory use coupling ideas discussed on the :doc:`Howto couple ` doc page. - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +.. _ctypes: https://docs.python.org/3/library/ctypes.html diff --git a/doc/src/Build_make.rst b/doc/src/Build_make.rst index 8f1966f1014bc120cc9858c88fb23afe1ba92613..af5e319121768b41b0016f9be88f83a31965dfb8 100644 --- a/doc/src/Build_make.rst +++ b/doc/src/Build_make.rst @@ -2,71 +2,109 @@ Build LAMMPS with make ====================== Building LAMMPS with traditional makefiles requires that you have a -Makefile."machine" file appropriate for your system in the src/MAKE, -src/MAKE/MACHINES, src/MAKE/OPTIONS, or src/MAKE/MINE directory (see -below). It can include various options for customizing your LAMMPS -build with a number of global compilation options and features. - -To include LAMMPS packages (i.e. optional commands and styles) you -must install them first, as discussed on the :doc:`Build package ` doc page. If the packages require -provided or external libraries, you must build those libraries before -building LAMMPS. Building :doc:`LAMMPS with CMake ` can -automate all of this for many types of machines, especially -workstations, desktops and laptops, so we suggest you try it first. - -These commands perform a default LAMMPS build, producing the LAMMPS -executable lmp\_serial or lmp\_mpi in lammps/src: - - -.. parsed-literal:: - - cd lammps/src - make serial # build a serial LAMMPS executable +``Makefile.`` file appropriate for your system in either the +``src/MAKE``, ``src/MAKE/MACHINES``, ``src/MAKE/OPTIONS``, or +``src/MAKE/MINE`` directory (see below). It can include various options +for customizing your LAMMPS build with a number of global compilation +options and features. + +Requirements +^^^^^^^^^^^^ + +Those makefiles are written for and tested with GNU make and may not +be compatible with other make programs. In most cases, if the "make" +program is not GNU make, then there will be a GNU make program +available under the name "gmake". If GNU make or a compatible make is +not available, you may have to first install it or switch to building +with :doc:`CMake `. The makefiles of the traditional +make based build process and the scripts they are calling expect a few +additional tools to be available and functioning. + + * a working C/C++ compiler toolchain supporting the C++11 standard; on + Linux these are often the GNU compilers. Some older compilers + require adding flags like ``-std=c++11`` to enable the C++11 mode. + * a Bourne shell compatible "Unix" shell program (often this is ``bash``) + * a few shell utilities: ``ls``, ``mv``, ``ln``, ``rm``, ``grep``, ``sed``, ``tr``, ``cat``, ``touch``, ``diff``, ``dirname`` + * python (optional, required for ``make lib-`` in the src folder). + python scripts are currently tested with python 2.7 and 3.6. The procedure + for :doc:`building the documentation ` requires python 3. + +Getting started +^^^^^^^^^^^^^^^ + +To include LAMMPS packages (i.e. optional commands and styles) you must +enable (or "install") them first, as discussed on the :doc:`Build +package ` doc page. If a packages requires (provided or +external) libraries, you must configure and build those libraries +**before** building LAMMPS itself and especially **before** enabling +such a package with ``make yes-``. Building :doc:`LAMMPS with +CMake ` can automate much of this for many types of +machines, especially workstations, desktops, and laptops, so we suggest +you try it first when building LAMMPS in those cases. + +The commands below perform a default LAMMPS build, producing the LAMMPS +executable ``lmp_serial`` and ``lmp_mpi`` in ``lammps/src``: + +.. code-block:: bash + + cd lammps/src # change to main LAMMPS source folder + make serial # build a serial LAMMPS executable using GNU g++ make mpi # build a parallel LAMMPS executable with MPI make # see a variety of make options -This initial compilation can take a long time, since LAMMPS is a large -project with many features. If your machine has multiple CPU cores -(most do these days), using a command like "make -jN mpi" (with N = -the number of available CPU cores) can be much faster. If you plan to -do development on LAMMPS or need to re-compile LAMMPS repeatedly, the -installation of the ccache (= Compiler Cache) software may speed up -compilation even more. +Compilation can take a long time, since LAMMPS is a large project with +many features. If your machine has multiple CPU cores (most do these +days), you can speed this up by compiling sources in parallel with +``make -j N`` (with N being the maximum number of concurrently executed +tasks). Also installation of the `ccache `_ (= +Compiler Cache) software may speed up repeated compilation even more, +e.g. during code development. After the initial build, whenever you edit LAMMPS source files, or add or remove new files to the source directory (e.g. by installing or uninstalling packages), you must re-compile and relink the LAMMPS -executable with the same "make" command. This makefiles dependencies -should insure that only the subset of files that need to be are -re-compiled. +executable with the same ``make `` command. The makefile's +dependency tracking should insure that only the necessary subset of +files are re-compiled. If you change settings in the makefile, you have +to recompile *everything*. To delete all objects you can use ``make +clean-``. .. note:: - When you build LAMMPS for the first time, a long list of \*.d - files will be printed out rapidly. This is not an error; it is the - Makefile doing its normal creation of dependencies. - + Before the actual compilation starts, LAMMPS will perform several + steps to collect information from the configuration and setup that + is then embedded into the executable. When you build LAMMPS for + the first time, it will also compile a tool to quickly assemble + a list of dependencies, that are required for the make program to + correctly detect which parts need to be recompiled after changes + were made to the sources. ----------- +Customized builds and alternate makefiles +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The ``src/MAKE`` directory tree contains the ``Makefile.`` +files included in the LAMMPS distribution. Typing ``make example`` uses +``Makefile.example`` from one of those folders, if available. Thus the +``make serial`` and ``make mpi`` lines above use +``src/MAKE/Makefile.serial`` and ``src/MAKE/Makefile.mpi``, +respectively. Other makefiles are in these directories: -The lammps/src/MAKE tree contains all the Makefile.machine files -included in the LAMMPS distribution. Typing "make machine" uses -Makefile.machine. Thus the "make serial" or "make mpi" lines above -use Makefile.serial and Makefile.mpi. Others are in these dirs: - - -.. parsed-literal:: +.. code-block:: bash OPTIONS # Makefiles which enable specific options MACHINES # Makefiles for specific machines MINE # customized Makefiles you create (you may need to create this folder) -Typing "make" lists all the available Makefile.machine files. A file -with the same name can appear in multiple folders (not a good idea). -The order the dirs are searched is as follows: src/MAKE/MINE, -src/MAKE, src/MAKE/OPTIONS, src/MAKE/MACHINES. This gives preference -to a customized file you put in src/MAKE/MINE. +Simply typing ``make`` lists all the available ``Makefile.`` +files with a single line description toward the end of the output. A +file with the same name can appear in multiple folders (not a good +idea). The order the directories are searched is as follows: +``src/MAKE/MINE``, ``src/MAKE``, ``src/MAKE/OPTIONS``, +``src/MAKE/MACHINES``. This gives preference to a customized file you +put in ``src/MAKE/MINE``. If you create your own custom makefile under +a new name, please edit the first line with the description and machine +name, so you will not confuse yourself, when looking at the machine +summary. Makefiles you may wish to try include these (some require a package first be installed). Many of these include specific compiler flags @@ -75,8 +113,7 @@ customized machine Makefile are contributed by users. Since both compilers, OS configurations, and LAMMPS itself keep changing, their settings may become outdated: - -.. parsed-literal:: +.. code-block:: bash make mac # build serial LAMMPS on a Mac make mac_mpi # build parallel LAMMPS on a Mac @@ -87,8 +124,3 @@ settings may become outdated: make kokkos_omp # build with the KOKKOS package for OpenMP make kokkos_cuda_mpi # build with the KOKKOS package for GPUs make kokkos_phi # build with the KOKKOS package for KNLs - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index 9f56f3f329d7c13d78874ddafdb0b7e7e9402ffc..f2511bb6a4a229a2bd8ef16b69e4c1ef0b4fee46 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -14,10 +14,13 @@ package. In general there is no need to include a package if you never plan to use its features. If you get a run-time error that a LAMMPS command or style is -"Unknown", it is often because the command is contained in a package, -and your build did not include that package. Running LAMMPS with the -:doc:`-h command-line switch ` will print all the included -packages and commands for that executable. +"unknown", it is often because the command is contained in a package, +and your build did not include that package. If the command or style +*is* available in a package included in the LAMMPS distribution, +the error message will indicate which package would be needed. +Running LAMMPS with the :doc:`-h command-line switch ` +will print *all* optional commands and packages that were enabled +when building that executable. For the majority of packages, if you follow the single step below to include it, you can then build LAMMPS exactly the same as you would @@ -42,17 +45,15 @@ packages: The mechanism for including packages is simple but different for CMake versus make. -**CMake variables**\ : +**CMake build**\ : - -.. parsed-literal:: +.. code-block:: csh -D PKG_NAME=value # yes or no (default) Examples: - -.. parsed-literal:: +.. code-block:: csh -D PKG_MANYBODY=yes -D PKG_USER-INTEL=yes @@ -73,8 +74,7 @@ once with CMake. **Traditional make**\ : - -.. parsed-literal:: +.. code-block:: bash cd lammps/src make ps # check which packages are currently installed @@ -84,8 +84,7 @@ once with CMake. Examples: - -.. parsed-literal:: +.. code-block:: bash make no-rigid make yes-user-intel @@ -119,7 +118,7 @@ are already included. Likewise, if a package is excluded, other files dependent on that package are also excluded. When you download a LAMMPS tarball or download LAMMPS source files -from the Git or SVN repositories, no packages are pre-installed in the +from the git repository, no packages are pre-installed in the src directory. .. note:: @@ -129,16 +128,17 @@ src directory. That is no longer the case, so that CMake will build as-is without the need to un-install those packages. - ---------- +.. _cmake_presets: **CMake shortcuts for installing many packages**\ : Instead of specifying all the CMake options via the command-line, -CMake allows initializing the variable cache using script files. These -are regular CMake files which can manipulate and set variables, and -can also contain control flow constructs. +CMake allows initializing its settings cache using script files. +These are regular CMake files which can manipulate and set CMake +variables (which represent selected options), and can also contain +control flow constructs for more complex operations. LAMMPS includes several of these files to define configuration "presets", similar to the options that exist for the Make based @@ -146,33 +146,27 @@ system. Using these files you can enable/disable portions of the available packages in LAMMPS. If you need a custom preset you can take one of them as a starting point and customize it to your needs. -+-------------------------------------------------------------+-----------------------------------------------------------+ -| cmake -C ../cmake/presets/all\_on.cmake [OPTIONS] ../cmake | enable all packages | -+-------------------------------------------------------------+-----------------------------------------------------------+ -| cmake -C ../cmake/presets/all\_off.cmake [OPTIONS] ../cmake | disable all packages | -+-------------------------------------------------------------+-----------------------------------------------------------+ -| cmake -C ../cmake/presets/minimal.cmake [OPTIONS] ../cmake | enable just a few core packages | -+-------------------------------------------------------------+-----------------------------------------------------------+ -| cmake -C ../cmake/presets/most.cmake [OPTIONS] ../cmake | enable most common packages | -+-------------------------------------------------------------+-----------------------------------------------------------+ -| cmake -C ../cmake/presets/nolib.cmake [OPTIONS] ../cmake | disable packages that do require extra libraries or tools | -+-------------------------------------------------------------+-----------------------------------------------------------+ -| cmake -C ../cmake/presets/clang.cmake [OPTIONS] ../cmake | change settings to use the Clang compilers by default | -+-------------------------------------------------------------+-----------------------------------------------------------+ -| cmake -C ../cmake/presets/mingw.cmake [OPTIONS] ../cmake | enable all packages compatible with MinGW compilers | -+-------------------------------------------------------------+-----------------------------------------------------------+ +.. code-block:: bash + + cmake -C ../cmake/presets/minimal.cmake [OPTIONS] ../cmake # enable just a few core packages + cmake -C ../cmake/presets/most.cmake [OPTIONS] ../cmake # enable most packages + cmake -C ../cmake/presets/nolib.cmake [OPTIONS] ../cmake # disable packages that do require extra libraries or tools + cmake -C ../cmake/presets/clang.cmake [OPTIONS] ../cmake # change settings to use the Clang compilers by default + cmake -C ../cmake/presets/intel.cmake [OPTIONS] ../cmake # change settings to use the Intel compilers by default + cmake -C ../cmake/presets/all_on.cmake [OPTIONS] ../cmake # enable all packages + cmake -C ../cmake/presets/all_off.cmake [OPTIONS] ../cmake # disable all packages + mingw64-cmake -C ../cmake/presets/mingw-cross.cmake [OPTIONS] ../cmake # compile with MinGW cross compilers .. note:: - Running cmake this way manipulates the variable cache in your + Running cmake this way manipulates the CMake settings cache in your current build directory. You can combine multiple presets and options in a single cmake run, or change settings incrementally by running cmake with new flags. **Example:** - -.. parsed-literal:: +.. code-block:: bash # build LAMMPS with most commonly used packages, but then remove # those requiring additional library or tools, but still enable @@ -188,49 +182,40 @@ one of them as a starting point and customize it to your needs. # but leaving all other settings untouched. You can run: cmake -C ../cmake/presets/no_all.cmake . - ---------- - **Make shortcuts for installing many packages**\ : The following commands are useful for managing package source files and their installation when building LAMMPS via traditional make. -Just type "make" in lammps/src to see a one-line summary. +Just type ``make`` in lammps/src to see a one-line summary. These commands install/un-install sets of packages: -+-----------------------------------+-----------------------------------------------------+ -| make yes-all | install all packages | -+-----------------------------------+-----------------------------------------------------+ -| make no-all | un-install all packages | -+-----------------------------------+-----------------------------------------------------+ -| make yes-standard or make yes-std | install standard packages | -+-----------------------------------+-----------------------------------------------------+ -| make no-standard or make no-std | un-install standard packages | -+-----------------------------------+-----------------------------------------------------+ -| make yes-user | install user packages | -+-----------------------------------+-----------------------------------------------------+ -| make no-user | un-install user packages | -+-----------------------------------+-----------------------------------------------------+ -| make yes-lib | install packages that require extra libraries | -+-----------------------------------+-----------------------------------------------------+ -| make no-lib | un-install packages that require extra libraries | -+-----------------------------------+-----------------------------------------------------+ -| make yes-ext | install packages that require external libraries | -+-----------------------------------+-----------------------------------------------------+ -| make no-ext | un-install packages that require external libraries | -+-----------------------------------+-----------------------------------------------------+ - -which install/un-install various sets of packages. Typing "make -package" will list all the these commands. +.. code-block:: bash + + make yes-all # install all packages + make no-all # uninstall all packages + make yes-standard or make yes-std # install standard packages + make no-standard or make no-std # uninstall standard packages + make yes-user # install user packages + make no-user # uninstall user packages + make yes-lib # install packages that require extra libraries + make no-lib # uninstall packages that require extra libraries + make yes-ext # install packages that require external libraries + make no-ext # uninstall packages that require external libraries + +which install/un-install various sets of packages. Typing ``make +package`` will list all the these commands. .. note:: - Installing or un-installing a package works by simply copying - files back and forth between the main src directory and - sub-directories with the package name (e.g. src/KSPACE, src/USER-ATC), - so that the files are included or excluded when LAMMPS is built. + Installing or un-installing a package for the make based build process + works by simply copying files back and forth between the main source + directory src and the sub-directories with the package name (e.g. + src/KSPACE, src/USER-ATC), so that the files are included or excluded + when LAMMPS is built. Only source files in the src folder will be + compiled. The following make commands help manage files that exist in both the src directory and in package sub-directories. You do not normally @@ -238,28 +223,23 @@ need to use these commands unless you are editing LAMMPS files or are :doc:`installing a patch ` downloaded from the LAMMPS web site. -Type "make package-status" or "make ps" to show which packages are +Type ``make package-status`` or ``make ps`` to show which packages are currently installed. For those that are installed, it will list any files that are different in the src directory and package sub-directory. -Type "make package-installed" or "make pi" to show which packages are +Type ``make package-installed`` or ``make pi`` to show which packages are currently installed, without listing the status of packages that are not installed. -Type "make package-update" or "make pu" to overwrite src files with +Type ``make package-update`` or ``make pu`` to overwrite src files with files from the package sub-directories if the package is installed. It should be used after a :doc:`patch has been applied `, since patches only update the files in the package sub-directory, but not the src files. -Type "make package-overwrite" to overwrite files in the package +Type ``make package-overwrite`` to overwrite files in the package sub-directories with src files. -Type "make package-diff" to list all differences between pairs of -files in both the src dir and a package dir. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +Type ``make package-diff`` to list all differences between pairs of +files in both the source directory and the package directory. diff --git a/doc/src/Build_settings.rst b/doc/src/Build_settings.rst index 07d427db49860a522797a46d7b875177287b8948..01792507e7d5128bee2d3cfc690d72b647559215 100644 --- a/doc/src/Build_settings.rst +++ b/doc/src/Build_settings.rst @@ -4,77 +4,49 @@ Optional build settings LAMMPS can be built with several optional settings. Each sub-section explain how to do this for building both with CMake and make. -| :ref:`C++11 standard compliance test ` when building all of LAMMPS -| :ref:`FFT library ` for use with the :doc:`kspace\_style pppm ` command -| :ref:`Size of LAMMPS data types ` -| :ref:`Read or write compressed files ` -| :ref:`Output of JPG and PNG files ` via the :doc:`dump image ` command -| :ref:`Output of movie files ` via the :doc:`dump\_movie ` command -| :ref:`Memory allocation alignment ` -| :ref:`Workaround for long long integers ` -| :ref:`Error handling exceptions ` when using LAMMPS as a library -| - +* :ref:`C++11 standard compliance ` when building all of LAMMPS +* :ref:`FFT library ` for use with the :doc:`kspace_style pppm ` command +* :ref:`Size of LAMMPS data types ` +* :ref:`Read or write compressed files ` +* :ref:`Output of JPG and PNG files ` via the :doc:`dump image ` command +* :ref:`Output of movie files ` via the :doc:`dump_movie ` command +* :ref:`Memory allocation alignment ` +* :ref:`Workaround for long long integers ` +* :ref:`Error handling exceptions ` when using LAMMPS as a library ---------- - .. _cxx11: -C++11 standard compliance test +C++11 standard compliance ------------------------------------------ -The LAMMPS developers plan to transition to make the C++11 standard the -minimum requirement for compiling LAMMPS. Currently this only applies to -some packages like KOKKOS while the rest aims to be compatible with the C++98 -standard. Most currently used compilers are compatible with C++11; some need -to set extra flags to switch. To determine the impact of requiring C++11, -we have added a simple compliance test to the source code, that will cause -the compilation to abort, if C++11 compliance is not available or enabled. -To bypass this check, you need to change a setting in the makefile or -when calling CMake. - -**CMake variable**\ : - - -.. parsed-literal:: - - -D DISABLE_CXX11_REQUIREMENT=yes - -You can set additional C++ compiler flags (beyond those selected by CMake) -through the CMAKE\_CXX\_FLAGS variable. Example for CentOS 7: - - -.. parsed-literal:: - - -D CMAKE_CXX_FLAGS="-O3 -g -fopenmp -DNDEBUG -std=c++11" - -**Makefile.machine setting**\ : +A C++11 standard compatible compiler is a requirement for compiling LAMMPS. +LAMMPS version 3 March 2020 is the last version compatible with the previous +C++98 standard for the core code and most packages. Most currently used +C++ compilers are compatible with C++11, but some older ones may need extra +flags to enable C++11 compliance. Example for GNU c++ 4.8.x: +.. code-block:: make -.. parsed-literal:: - - LMP_INC = -DLAMMPS_CXX98 - + CCFLAGS = -g -O3 -std=c++11 ---------- - .. _fft: FFT library --------------------- When the KSPACE package is included in a LAMMPS build, the -:doc:`kspace\_style pppm ` command performs 3d FFTs which +:doc:`kspace_style pppm ` command performs 3d FFTs which require use of an FFT library to compute 1d FFTs. The KISS FFT library is included with LAMMPS but other libraries can be faster. LAMMPS can use them if they are available on your system. **CMake variables**\ : - -.. parsed-literal:: +.. code-block:: bash -D FFT=value # FFTW3 or MKL or KISS, default is FFTW3 if found, else KISS -D FFT_SINGLE=value # yes or no (default), no = double precision @@ -86,70 +58,83 @@ LAMMPS can use them if they are available on your system. an exception to the rule that all CMake variables can be specified with lower-case values. -Usually these settings are all that is needed. If CMake cannot find -the FFT library, you can set these variables: - +Usually these settings are all that is needed. If FFTW3 is selected, +then CMake will try to detect, if threaded FFTW libraries are available +and enable them by default. This setting is independent of whether +OpenMP threads are enabled and a packages like KOKKOS or USER-OMP is +used. If CMake cannot detect the FFT library, you can set these variables +to assist: -.. parsed-literal:: +.. code-block:: bash -D FFTW3_INCLUDE_DIRS=path # path to FFTW3 include files -D FFTW3_LIBRARIES=path # path to FFTW3 libraries + -D FFT_FFTW_THREADS=on # enable using threaded FFTW3 libraries -D MKL_INCLUDE_DIRS=path # ditto for Intel MKL library + -D FFT_MKL_THREADS=on # enable using threaded FFTs with MKL libraries -D MKL_LIBRARIES=path **Makefile.machine settings**\ : - -.. parsed-literal:: +.. code-block:: make FFT_INC = -DFFT_FFTW3 # -DFFT_FFTW3, -DFFT_FFTW (same as -DFFT_FFTW3), -DFFT_MKL, or -DFFT_KISS # default is KISS if not specified FFT_INC = -DFFT_SINGLE # do not specify for double precision + FFT_INC = -DFFT_FFTW_THREADS # enable using threaded FFTW3 libraries + FFT_INC = -DFFT_MKL_THREADS # enable using threaded FFTs with MKL libraries FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY -# default is FFT\_PACK\_ARRAY if not specified - +# default is FFT_PACK_ARRAY if not specified -.. parsed-literal:: +.. code-block:: make FFT_INC = -I/usr/local/include FFT_PATH = -L/usr/local/lib FFT_LIB = -lfftw3 # FFTW3 double precision + FFT_LIB = -lfftw3 -lfftw3_omp # FFTW3 double precision with threads (needs -DFFT_FFTW_THREADS) FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision - FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler - FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compier + FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler, serial interface + FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compiler, serial interface + FFT_LIB = -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core # MKL with Intel compiler, threaded interface + FFT_LIB = -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core # MKL with GNU compiler, threaded interface + FFT_LIB = -lmkl_rt # MKL with automatic runtime selection of interface libs -As with CMake, you do not need to set paths in FFT\_INC or FFT\_PATH, if -make can find the FFT header and library files. You must specify -FFT\_LIB with the appropriate FFT libraries to include in the link. +As with CMake, you do not need to set paths in ``FFT_INC`` or ``FFT_PATH``, if +the compiler can find the FFT header and library files in its default search path. +You must specify ``FFT_LIB`` with the appropriate FFT libraries to include in the link. **CMake and make info**\ : The `KISS FFT library `_ is included in the LAMMPS -distribution. It is portable across all platforms. Depending on the -size of the FFTs and the number of processors used, the other -libraries listed here can be faster. +distribution. It is portable across all platforms. Depending on the size +of the FFTs and the number of processors used, the other libraries listed +here can be faster. However, note that long-range Coulombics are only a portion of the per-timestep CPU cost, FFTs are only a portion of long-range Coulombics, and 1d FFTs are only a portion of the FFT cost (parallel communication can be costly). A breakdown of these timings is printed -to the screen at the end of a run using the :doc:`kspace\_style pppm ` command. The :doc:`Run output ` -doc page gives more details. +to the screen at the end of a run when using the +:doc:`kspace_style pppm ` command. The :doc:`Run output ` +doc page gives more details. A more detailed (and time consuming) +report of the FFT performance is generated with the +:doc:`kspace_modify fftbench yes ` command. FFTW is a fast, portable FFT library that should also work on any platform and can be faster than the KISS FFT library. You can download it from `www.fftw.org `_. LAMMPS requires version 3.X; the legacy version 2.1.X is no longer supported. -Building FFTW for your box should be as simple as ./configure; make; -make install. The install command typically requires root privileges +Building FFTW for your box should be as simple as ``./configure; make; +make install``\ . The install command typically requires root privileges (e.g. invoke it via sudo), unless you specify a local directory with -the "--prefix" option of configure. Type "./configure --help" to see +the "--prefix" option of configure. Type ``./configure --help`` to see various options. The Intel MKL math library is part of the Intel compiler suite. It -can be used with the Intel or GNU compiler (see FFT\_LIB setting above). +can be used with the Intel or GNU compiler (see the ``FFT_LIB`` setting +above). Performing 3d FFTs in parallel can be time consuming due to data access and required communication. This cost can be reduced by @@ -158,33 +143,30 @@ precision means the real and imaginary parts of a complex datum are 4-byte floats. Double precision means they are 8-byte doubles. Note that Fourier transform and related PPPM operations are somewhat less sensitive to floating point truncation errors and thus the resulting -error is less than the difference in precision. Using the -DFFT\_SINGLE +error is less than the difference in precision. Using the ``-DFFT_SINGLE`` setting trades off a little accuracy for reduced memory use and parallel communication costs for transposing 3d FFT data. -When using -DFFT\_SINGLE with FFTW3 you may need to build the FFTW +When using ``-DFFT_SINGLE`` with FFTW3 you may need to build the FFTW library a second time with support for single-precision. For FFTW3, do the following, which should produce the additional -library libfftw3f.a - +library ``libfftw3f.a`` or ``libfftw3f.so``\ . -.. parsed-literal:: +.. code-block:: bash make clean ./configure --enable-single; make; make install Performing 3d FFTs requires communication to transpose the 3d FFT grid. The data packing/unpacking for this can be done in one of 3 -modes (ARRAY, POINTER, MEMCPY) as set by the FFT\_PACK syntax above. +modes (ARRAY, POINTER, MEMCPY) as set by the FFT_PACK syntax above. Depending on the machine, the size of the FFT grid, the number of processors used, one option may be slightly faster. The default is ARRAY mode. - ---------- - .. _size: Size of LAMMPS data types @@ -196,19 +178,18 @@ adequate. **CMake variable**\ : - -.. parsed-literal:: +.. code-block:: bash -D LAMMPS_SIZES=value # smallbig (default) or bigbig or smallsmall **Makefile.machine setting**\ : - -.. parsed-literal:: +.. code-block:: make LMP_INC = -DLAMMPS_SMALLBIG # or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL -# default is LAMMPS\_SMALLBIG if not specified +The default setting is ``-DLAMMPS_SMALLBIG`` if nothing is specified + **CMake and make info**\ : The default "smallbig" setting allows for simulations with: @@ -235,7 +216,7 @@ support 8-byte integers. It allows for: Atom IDs are not required for atomic systems which do not store bond topology information, though IDs are enabled by default. The -:doc:`atom\_modify id no ` command will turn them off. Atom +:doc:`atom_modify id no ` command will turn them off. Atom IDs are required for molecular systems with bond topology (bonds, angles, dihedrals, etc). Thus if you model a molecular system with more than 2 billion atoms, you need the "bigbig" setting. @@ -256,12 +237,10 @@ than crashing randomly or corrupting data. Also note that the GPU package requires its lib/gpu library to be compiled with the same size setting, or the link will fail. A CMake build does this automatically. When building with make, the setting -in whichever lib/gpu/Makefile is used must be the same as above. - +in whichever ``lib/gpu/Makefile`` is used must be the same as above. ---------- - .. _graphics: Output of JPG, PNG, and movie files @@ -274,22 +253,20 @@ following settings: **CMake variables**\ : - -.. parsed-literal:: +.. code-block:: bash -D WITH_JPEG=value # yes or no - # default = yes if CMake finds JPEG files, else no + # default = yes if CMake finds JPEG files, else no -D WITH_PNG=value # yes or no - # default = yes if CMake finds PNG and ZLIB files, else no + # default = yes if CMake finds PNG and ZLIB files, else no -D WITH_FFMPEG=value # yes or no - # default = yes if CMake can find ffmpeg, else no + # default = yes if CMake can find ffmpeg, else no Usually these settings are all that is needed. If CMake cannot find the graphics header, library, executable files, you can set these variables: - -.. parsed-literal:: +.. code-block:: bash -D JPEG_INCLUDE_DIR=path # path to jpeglib.h header file -D JPEG_LIBRARIES=path # path to libjpeg.a (.so) file @@ -301,8 +278,7 @@ variables: **Makefile.machine settings**\ : - -.. parsed-literal:: +.. code-block:: make LMP_INC = -DLAMMPS_JPEG LMP_INC = -DLAMMPS_PNG @@ -312,28 +288,27 @@ variables: JPG_PATH = -L/usr/lib # paths to libjpeg.a, libpng.a, libz.a (.so) files if make cannot find them JPG_LIB = -ljpeg -lpng -lz # library names -As with CMake, you do not need to set JPG\_INC or JPG\_PATH, if make can -find the graphics header and library files. You must specify JPG\_LIB +As with CMake, you do not need to set ``JPG_INC`` or ``JPG_PATH``, +if make can find the graphics header and library files. You must +specify ``JPG_LIB`` with a list of graphics libraries to include in the link. You must insure ffmpeg is in a directory where LAMMPS can find it at runtime, -i.e. a dir in your PATH environment variable. +that is a directory in your PATH environment variable. **CMake and make info**\ : -Using ffmpeg to output movie files requires that your machine +Using ``ffmpeg`` to output movie files requires that your machine supports the "popen" function in the standard runtime library. .. note:: On some clusters with high-speed networks, using the fork() - library calls (required by popen()) can interfere with the fast + library call (required by popen()) can interfere with the fast communication library and lead to simulations using ffmpeg to hang or crash. - ---------- - .. _gzip: Read or write compressed files @@ -341,12 +316,11 @@ Read or write compressed files If this option is enabled, large files can be read or written with gzip compression by several LAMMPS commands, including -:doc:`read\_data `, :doc:`rerun `, and :doc:`dump `. +:doc:`read_data `, :doc:`rerun `, and :doc:`dump `. **CMake variables**\ : - -.. parsed-literal:: +.. code-block:: bash -D WITH_GZIP=value # yes or no # default is yes if CMake can find gzip, else no @@ -354,8 +328,7 @@ gzip compression by several LAMMPS commands, including **Makefile.machine setting**\ : - -.. parsed-literal:: +.. code-block:: make LMP_INC = -DLAMMPS_GZIP @@ -368,22 +341,20 @@ found by LAMMPS during a run. .. note:: On some clusters with high-speed networks, using the fork() - library calls (required by popen()) can interfere with the fast + library call (required by popen()) can interfere with the fast communication library and lead to simulations using compressed output or input to hang or crash. For selected operations, compressed file I/O is also available using a compression library instead, which is what the :ref:`COMPRESS package ` enables. - ---------- - .. _align: Memory allocation alignment --------------------------------------- -This setting enables the use of the posix\_memalign() call instead of +This setting enables the use of the posix_memalign() call instead of malloc() when LAMMPS allocates large chunks or memory. This can make vector instructions on CPUs more efficient, if dynamically allocated memory is aligned on larger-than-default byte boundaries. @@ -394,33 +365,29 @@ aligned on 64-byte boundaries. **CMake variable**\ : - -.. parsed-literal:: +.. code-block:: bash -D LAMMPS_MEMALIGN=value # 0, 8, 16, 32, 64 (default) -Use a LAMMPS\_MEMALIGN value of 0 to disable using posix\_memalign() +Use a ``LAMMPS_MEMALIGN`` value of 0 to disable using posix_memalign() and revert to using the malloc() C-library function instead. When compiling LAMMPS for Windows systems, malloc() will always be used and this setting ignored. **Makefile.machine setting**\ : - -.. parsed-literal:: +.. code-block:: make LMP_INC = -DLAMMPS_MEMALIGN=value # 8, 16, 32, 64 -Do not set -DLAMMPS\_MEMALIGN, if you want to have memory allocated -with the malloc() function call instead. -DLAMMPS\_MEMALIGN **cannot** +Do not set ``-DLAMMPS_MEMALIGN``, if you want to have memory allocated +with the malloc() function call instead. ``-DLAMMPS_MEMALIGN`` **cannot** be used on Windows, as it does use different function calls for allocating aligned memory, that are not compatible with how LAMMPS manages its dynamical memory. - ---------- - .. _longlong: Workaround for long long integers @@ -433,47 +400,37 @@ those systems: **CMake variable**\ : - -.. parsed-literal:: +.. code-block:: bash -D LAMMPS_LONGLONG_TO_LONG=value # yes or no (default) **Makefile.machine setting**\ : - -.. parsed-literal:: +.. code-block:: make LMP_INC = -DLAMMPS_LONGLONG_TO_LONG - ---------- - .. _exceptions: Exception handling when using LAMMPS as a library ------------------------------------------------------------------ This setting is useful when external codes drive LAMMPS as a library. -With this option enabled LAMMPS errors do not kill the caller. +With this option enabled, LAMMPS errors do not kill the calling code. Instead, the call stack is unwound and control returns to the caller, -e.g. to Python. +e.g. to Python. Of course the calling code has to be set up to +*catch* exceptions from within LAMMPS. **CMake variable**\ : - -.. parsed-literal:: +.. code-block:: bash -D LAMMPS_EXCEPTIONS=value # yes or no (default) **Makefile.machine setting**\ : - -.. parsed-literal:: +.. code-block:: make LMP_INC = -DLAMMPS_EXCEPTIONS - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/Build_windows.rst b/doc/src/Build_windows.rst index fd96b379839bf298d9ce57d51358d206c2b6be50..1ad9dee1233b6e6468a222c9a1d99910e4b07e12 100644 --- a/doc/src/Build_windows.rst +++ b/doc/src/Build_windows.rst @@ -6,10 +6,8 @@ Notes for building LAMMPS on Windows * :ref:`Using GNU GCC ported to Windows ` * :ref:`Using a cross-compiler ` - ---------- - .. _generic: General remarks @@ -17,9 +15,9 @@ General remarks LAMMPS is developed and tested primarily on Linux machines. The vast majority of HPC clusters and supercomputers today runs on Linux as well. -Thus portability to other platforms is desired, but not always achieved. +While portability to other platforms is desired, it is not always achieved. The LAMMPS developers strongly rely on LAMMPS users giving feedback and -providing assistance in resolving portability issues. This particularly +providing assistance in resolving portability issues. This is particularly true for compiling LAMMPS on Windows, since this platform has significant differences with some low-level functionality. @@ -31,18 +29,20 @@ Running Linux on Windows So before trying to build LAMMPS on Windows, please consider if using the pre-compiled Windows binary packages are sufficient for your needs (as an aside, those packages themselves are build on a Linux machine -using cross-compilers). If it is necessary for your to compile LAMMPS +using cross-compilers). If it is necessary for you to compile LAMMPS on a Windows machine (e.g. because it is your main desktop), please also -consider using a virtual machine software and run a Linux virtual machine, -or - if have a recently updated Windows 10 installation - consider using -the Windows subsystem for Linux, which allows to run a bash shell from -Ubuntu and from there on, you can pretty much use that shell like you -are running on an Ubuntu Linux machine (e.g. installing software via -apt-get). For more details on that, please see :doc:`this tutorial ` +consider using a virtual machine software and compile and run LAMMPS in +a Linux virtual machine, or - if you have a recently updated Windows 10 +installation - consider using the Windows subsystem for Linux. This +optional Windows feature allows you to run the bash shell from Ubuntu +from within Windows and from there on, you can pretty much use that +shell like you are running on an Ubuntu Linux machine (e.g. installing +software via apt-get and more). For more details on that, please +see :doc:`this tutorial ` .. _gnu: -Using GNU GCC ported to Windows +Using a GNU GCC ported to Windows ----------------------------------------- One option for compiling LAMMPS on Windows natively, that has been known @@ -55,8 +55,8 @@ and the corresponding new code. A machine makefile for using cygwin for the old build system is provided. Using CMake for this mode of compilation is untested and not likely to work. -When compiling for Windows do **not** set the -DLAMMPS\_MEMALIGN define -in the LMP\_INC makefile variable and add -lwsock32 -lpsapi to the linker +When compiling for Windows do **not** set the -DLAMMPS_MEMALIGN define +in the LMP_INC makefile variable and add -lwsock32 -lpsapi to the linker flags in LIB makefile variable. Try adding -static-libgcc or -static or both to the linker flags when your resulting LAMMPS Windows executable complains about missing .dll files. The CMake configuration should set @@ -83,13 +83,19 @@ traditional build system, but CMake has also been successfully tested using the mingw32-cmake and mingw64-cmake wrappers that are bundled with the cross-compiler environment on Fedora machines. A CMake preset selecting all packages compatible with this cross-compilation build -is provided. You likely need to disable the GPU package unless you -download and install the contents of the pre-compiled `OpenCL ICD loader library `_ -into your MinGW64 cross-compiler environment. The cross-compilation -currently will only produce non-MPI serial binaries. - -Please keep in mind, though, that this only applies to compiling LAMMPS. -Whether the resulting binaries do work correctly is no tested by the +is provided. The GPU package can only be compiled with OpenCL support +and you need to download and install the pre-compiled +`OpenCL ICD loader library `_ +into your MinGW64 cross-compiler environment. With CMake this will be +done transparently. To compile with MPI support, a pre-compiled +library and the corresponding header files are required. There is +`one package for 32-bit Windows `_ +and `a second package for 64-bit Windows `_. +When building with CMake, the matching package will be downloaded +automatically, but MPI support has to be explicitly enabled with ``-DBUILD_MPI=on``. + +Please keep in mind, though, that this only applies to **compiling** LAMMPS. +Whether the resulting binaries do work correctly is not tested by the LAMMPS developers. We instead rely on the feedback of the users of these pre-compiled LAMMPS packages for Windows. We will try to resolve issues to the best of our abilities if we become aware of them. However @@ -104,8 +110,3 @@ Support for the Visual C++ compilers is currently not available. The CMake build system is capable of creating suitable a Visual Studio style build environment, but the LAMMPS code itself is not fully ported to support Visual C++. Volunteers to take on this task are welcome. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/Commands.rst b/doc/src/Commands.rst index f192d6a59dd193c36cde8a7627ee3aee84a79622..72a98159ff0a689bda2c727de3b23786b48a6081 100644 --- a/doc/src/Commands.rst +++ b/doc/src/Commands.rst @@ -4,7 +4,6 @@ Commands These pages describe how a LAMMPS input script is formatted and the commands in it are used to define a LAMMPS simulation. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Commands_all.rst b/doc/src/Commands_all.rst index 6e87ffbad6e51a514c1dafac5a6b75f7ea6e9f4f..92c0ba107aadc080950f1a312291cb335fc4e022 100644 --- a/doc/src/Commands_all.rst +++ b/doc/src/Commands_all.rst @@ -17,7 +17,7 @@ General commands An alphabetic list of all general LAMMPS commands. .. table_from_list:: - :columns: 6 + :columns: 5 * :doc:`angle_coeff ` * :doc:`angle_style ` @@ -70,6 +70,7 @@ An alphabetic list of all general LAMMPS commands. * :doc:`kim_init ` * :doc:`kim_interactions ` * :doc:`kim_param ` + * :doc:`kim_property ` * :doc:`kim_query ` * :doc:`kspace_modify ` * :doc:`kspace_style ` @@ -136,4 +137,3 @@ An alphabetic list of all general LAMMPS commands. * :doc:`write_data ` * :doc:`write_dump ` * :doc:`write_restart ` - diff --git a/doc/src/Commands_bond.rst b/doc/src/Commands_bond.rst index 5412675ee420326e608b6fb6b24d4fcc8978ec27..0cb1b723b8755ed87c1d8cc1a364b7792faa7fc3 100644 --- a/doc/src/Commands_bond.rst +++ b/doc/src/Commands_bond.rst @@ -99,7 +99,6 @@ have accelerated versions. This is indicated by additional letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. - .. table_from_list:: :columns: 4 @@ -131,7 +130,7 @@ OPT. Improper_style potentials ========================= -All LAMMPS :doc:`improper\_style ` commands. Some styles +All LAMMPS :doc:`improper_style ` commands. Some styles have accelerated versions. This is indicated by additional letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. diff --git a/doc/src/Commands_category.rst b/doc/src/Commands_category.rst index b1b0e0cadcf6e83d1875c7728566f7a2e5e01494..da40ada9998844f53d0bdacd53b7abc848791cf0 100644 --- a/doc/src/Commands_category.rst +++ b/doc/src/Commands_category.rst @@ -7,126 +7,163 @@ alphabetically. Style options for entries like fix, compute, pair etc. have their own pages where they are listed alphabetically. Initialization: +------------------------------ -* :doc:`newton `, -* :doc:`package `, -* :doc:`processors `, -* :doc:`suffix `, -* :doc:`units ` +.. table_from_list:: + :columns: 5 + + * :doc:`newton ` + * :doc:`package ` + * :doc:`processors ` + * :doc:`suffix ` + * :doc:`units ` Setup simulation box: +------------------------------ -* :doc:`boundary `, -* :doc:`box `, -* :doc:`change\_box `, -* :doc:`create\_box `, -* :doc:`dimension `, -* :doc:`lattice `, -* :doc:`region ` +.. table_from_list:: + :columns: 4 -Setup atoms: + * :doc:`boundary ` + * :doc:`box ` + * :doc:`change_box ` + * :doc:`create_box ` + * :doc:`dimension ` + * :doc:`lattice ` + * :doc:`region ` -* :doc:`atom\_modify `, -* :doc:`atom\_style `, -* :doc:`balance `, -* :doc:`create\_atoms `, -* :doc:`create\_bonds `, -* :doc:`delete\_atoms `, -* :doc:`delete\_bonds `, -* :doc:`displace\_atoms `, -* :doc:`group `, -* :doc:`mass `, -* :doc:`molecule `, -* :doc:`read\_data `, -* :doc:`read\_dump `, -* :doc:`read\_restart `, -* :doc:`replicate `, -* :doc:`set `, -* :doc:`velocity ` +Setup atoms: +------------------------------ + +.. table_from_list:: + :columns: 4 + + * :doc:`atom_modify ` + * :doc:`atom_style ` + * :doc:`balance ` + * :doc:`create_atoms ` + * :doc:`create_bonds ` + * :doc:`delete_atoms ` + * :doc:`delete_bonds ` + * :doc:`displace_atoms ` + * :doc:`group ` + * :doc:`mass ` + * :doc:`molecule ` + * :doc:`read_data ` + * :doc:`read_dump ` + * :doc:`read_restart ` + * :doc:`replicate ` + * :doc:`set ` + * :doc:`velocity ` Force fields: - -* :doc:`angle\_coeff `, -* :doc:`angle\_style `, -* :doc:`bond\_coeff `, -* :doc:`bond\_style `, -* :doc:`bond\_write `, -* :doc:`dielectric `, -* :doc:`dihedral\_coeff `, -* :doc:`dihedral\_style `, -* :doc:`improper\_coeff `, -* :doc:`improper\_style `, -* :doc:`kspace\_modify `, -* :doc:`kspace\_style `, -* :doc:`pair\_coeff `, -* :doc:`pair\_modify `, -* :doc:`pair\_style `, -* :doc:`pair\_write `, -* :doc:`special\_bonds ` +------------------------------ + +.. table_from_list:: + :columns: 4 + + * :doc:`angle_coeff ` + * :doc:`angle_style ` + * :doc:`bond_coeff ` + * :doc:`bond_style ` + * :doc:`bond_write ` + * :doc:`dielectric ` + * :doc:`dihedral_coeff ` + * :doc:`dihedral_style ` + * :doc:`improper_coeff ` + * :doc:`improper_style ` + * :doc:`kspace_modify ` + * :doc:`kspace_style ` + * :doc:`pair_coeff ` + * :doc:`pair_modify ` + * :doc:`pair_style ` + * :doc:`pair_write ` + * :doc:`special_bonds ` Settings: - -* :doc:`comm\_modify `, -* :doc:`comm\_style `, -* :doc:`info `, -* :doc:`min\_modify `, -* :doc:`min\_style `, -* :doc:`neigh\_modify `, -* :doc:`neighbor `, -* :doc:`partition `, -* :doc:`reset\_timestep `, -* :doc:`run\_style `, -* :doc:`timer `, -* :doc:`timestep ` +------------------------------ + +.. table_from_list:: + :columns: 4 + + * :doc:`comm_modify ` + * :doc:`comm_style ` + * :doc:`info ` + * :doc:`min_modify ` + * :doc:`min_style ` + * :doc:`neigh_modify ` + * :doc:`neighbor ` + * :doc:`partition ` + * :doc:`reset_timestep ` + * :doc:`run_style ` + * :doc:`timer ` + * :doc:`timestep ` Operations within timestepping (fixes) and diagnostics (computes): +------------------------------------------------------------------------------------------ -* :doc:`compute `, -* :doc:`compute\_modify `, -* :doc:`fix `, -* :doc:`fix\_modify `, -* :doc:`uncompute `, -* :doc:`unfix ` +.. table_from_list:: + :columns: 4 -Output: + * :doc:`compute ` + * :doc:`compute_modify ` + * :doc:`fix ` + * :doc:`fix_modify ` + * :doc:`uncompute ` + * :doc:`unfix ` -* :doc:`dump image `, -* :doc:`dump movie `, -* :doc:`dump `, -* :doc:`dump\_modify `, -* :doc:`restart `, -* :doc:`thermo `, -* :doc:`thermo\_modify `, -* :doc:`thermo\_style `, -* :doc:`undump `, -* :doc:`write\_coeff `, -* :doc:`write\_data `, -* :doc:`write\_dump `, -* :doc:`write\_restart ` +Output: +------------------------------ + +.. table_from_list:: + :columns: 4 + + * :doc:`dump image ` + * :doc:`dump movie ` + * :doc:`dump ` + * :doc:`dump_modify ` + * :doc:`restart ` + * :doc:`thermo ` + * :doc:`thermo_modify ` + * :doc:`thermo_style ` + * :doc:`undump ` + * :doc:`write_coeff ` + * :doc:`write_data ` + * :doc:`write_dump ` + * :doc:`write_restart ` Actions: +------------------------------ -* :doc:`minimize `, -* :doc:`neb `, -* :doc:`neb\_spin `, -* :doc:`prd `, -* :doc:`rerun `, -* :doc:`run `, -* :doc:`tad `, -* :doc:`temper ` +.. table_from_list:: + :columns: 6 -Input script control: + * :doc:`minimize ` + * :doc:`neb ` + * :doc:`neb_spin ` + * :doc:`prd ` + * :doc:`rerun ` + * :doc:`run ` + * :doc:`tad ` + * :doc:`temper ` -* :doc:`clear `, -* :doc:`echo `, -* :doc:`if `, -* :doc:`include `, -* :doc:`jump `, -* :doc:`label

+--target`` and allows compiling LAMMPS in a :ref:`CMake build folder +` with a make-like syntax regardless of the actual build +tool and the specific name of the program used (e.g. ``ninja-v1.10`` or +``gmake``) when using ``-D CMAKE_MAKE_PROGRAM=``. + +.. parsed-literal:: + + Usage: cmbuild [-v] [-h] [-C ] [-j ] [] + + Options: + -h print this message + -j allow processing of NUM concurrent tasks + -C DIRECTORY execute build in folder DIRECTORY + -v produce verbose output + + +---------- .. _colvars: @@ -189,24 +223,21 @@ To compile the tools, edit the makefile for your system and run "make". Please report problems and issues the colvars library and its tools at: https://github.com/colvars/colvars/issues -abf\_integrate: +abf_integrate: MC-based integration of multidimensional free energy gradient Version 20110511 - .. parsed-literal:: - Syntax: ./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0\|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >] + ./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0\|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >] The LAMMPS interface to the colvars collective variable library, as well as these tools, were created by Axel Kohlmeyer (akohlmey at -gmail.com) at ICTP, Italy. - +gmail.com) while at ICTP, Italy. ---------- - .. _createatoms: createatoms tool @@ -221,10 +252,8 @@ See the included Manual.pdf for details. The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov. - ---------- - .. _doxygen: doxygen tool @@ -238,10 +267,8 @@ See the included README file for details. The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com. - ---------- - .. _drude: drude tool @@ -256,19 +283,17 @@ See the header of the polarizer.py file for details. The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr - ---------- - .. _eamdb: eam database tool ----------------------------- -The tools/eam\_database directory contains a Fortran program that will +The tools/eam_database directory contains a Fortran program that will generate EAM alloy setfl potential files for any combination of 16 elements: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, -Zr. The files can then be used with the :doc:`pair\_style eam/alloy ` command. +Zr. The files can then be used with the :doc:`pair_style eam/alloy ` command. The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov, and is based on his paper: @@ -276,27 +301,23 @@ and is based on his paper: X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, 144113 (2004). - ---------- - .. _eamgn: eam generate tool ----------------------------- -The tools/eam\_generate directory contains several one-file C programs +The tools/eam_generate directory contains several one-file C programs that convert an analytic formula into a tabulated :doc:`embedded atom method (EAM) ` setfl potential file. The potentials they produce are in the potentials directory, and can be used with the -:doc:`pair\_style eam/alloy ` command. +:doc:`pair_style eam/alloy ` command. The source files and potentials were provided by Gerolf Ziegenhain (gerolf at ziegenhain.com). - ---------- - .. _eff: eff tool @@ -309,10 +330,8 @@ electron force field (eFF). These tools were provided by Andres Jaramillo-Botero at CalTech (ajaramil at wag.caltech.edu). - ---------- - .. _emacs: emacs tool @@ -325,10 +344,8 @@ with various highlighting options set up. These tools were provided by Aidan Thompson at Sandia (athomps at sandia.gov). - ---------- - .. _fep: fep tool @@ -343,10 +360,8 @@ Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr. See README file in the tools/fep directory. - ---------- - .. _ipi: i-pi tool @@ -365,10 +380,8 @@ See the tools/i-pi/manual.pdf file for an overview of i-PI, and the :doc:`fix ipi ` doc page for further details on running PIMD calculations with LAMMPS. - ---------- - .. _ipp: ipp tool @@ -384,10 +397,8 @@ sandia.gov. See two examples in the tools/ipp directory. One of them is for the tools/createatoms tool's input file. - ---------- - .. _kate: kate tool @@ -400,10 +411,8 @@ scripts. See the README.txt file for details. The file was provided by Alessandro Luigi Sellerio (alessandro.sellerio at ieni.cnr.it). - ---------- - .. _arc: lmp2arc tool @@ -421,10 +430,8 @@ This tool was written by John Carpenter (Cray), Michael Peachey This tool was updated for the current LAMMPS C++ version by Jeff Greathouse at Sandia (jagreat at sandia.gov). - ---------- - .. _cfg: lmp2cfg tool @@ -432,15 +439,13 @@ lmp2cfg tool The lmp2cfg sub-directory contains a tool for converting LAMMPS output files into a series of \*.cfg files which can be read into the -`AtomEye `_ visualizer. See +`AtomEye `_ visualizer. See the README file for more information. This tool was written by Ara Kooser at Sandia (askoose at sandia.gov). - ---------- - .. _matlab: matlab tool @@ -450,7 +455,7 @@ The matlab sub-directory contains several `MATLAB `_ scripts for post-processing LAMMPS output. The scripts include readers for log and dump files, a reader for EAM potential files, and a converter that reads LAMMPS dump files and produces CFG files that can be visualized -with the `AtomEye `_ +with the `AtomEye `_ visualizer. See the README.pdf file for more information. @@ -460,12 +465,8 @@ These scripts were written by Arun Subramaniyan at Purdue Univ .. _matlabhome: http://www.mathworks.com - - - ---------- - .. _micelle: micelle2d tool @@ -478,8 +479,7 @@ atoms can strongly overlap, so LAMMPS needs to run the system initially with a "soft" pair potential to un-overlap it. The syntax for running the tool is - -.. parsed-literal:: +.. code-block:: bash micelle2d < def.micelle2d > data.file @@ -487,10 +487,8 @@ See the def.micelle2d file in the tools directory for an example of a definition file. This tool was used to create the system for the :doc:`micelle example `. - ---------- - .. _moltemplate: moltemplate tool @@ -504,13 +502,11 @@ See the README.txt file for more information. This tool was written by Andrew Jewett (jewett.aij at gmail.com), who supports it. It has its own WWW page at -`http://moltemplate.org `_. +`https://moltemplate.org `_. The latest sources can be found `on its GitHub page `_ - ---------- - .. _msi: msi2lmp tool @@ -529,10 +525,8 @@ development, so there are no changes except for the occasional bug fix. See the README file in the tools/msi2lmp folder for more information. - ---------- - .. _phonon: phonon tool @@ -549,10 +543,8 @@ for example problems that can be post-processed with this tool. This tool was written by Ling-Ti Kong at Shanghai Jiao Tong University. - ---------- - .. _polybond: polybond tool @@ -568,37 +560,29 @@ See the Manual.pdf for details and example scripts. This tool was written by Zachary Kraus at Georgia Tech. - ---------- - .. _pymol: -pymol\_asphere tool +pymol_asphere tool ------------------------------- -The pymol\_asphere sub-directory contains a tool for converting a +The pymol_asphere sub-directory contains a tool for converting a LAMMPS dump file that contains orientation info for ellipsoidal particles into an input file for the `PyMol visualization package `_ or its `open source variant `_. -.. _pymolhome: http://www.pymol.org - - - -.. _pymolopen: http://sourceforge.net/scm/?type=svn&group\_id=4546 - +.. _pymolhome: https://www.pymol.org +.. _pymolopen: https://github.com/schrodinger/pymol-open-source Specifically, the tool triangulates the ellipsoids so they can be viewed as true ellipsoidal particles within PyMol. See the README and -examples directory within pymol\_asphere for more information. +examples directory within pymol_asphere for more information. This tool was written by Mike Brown at Sandia. - ---------- - .. _pythontools: python tool @@ -616,31 +600,27 @@ that perform common LAMMPS post-processing tasks, such as: These are simple scripts built on `Pizza.py `_ modules. See the README for more info on Pizza.py and how to use these scripts. - ---------- - .. _replica: replica tool -------------------------- -The tools/replica directory contains the reorder\_remd\_traj python script which -can be used to reorder the replica trajectories (resulting from the use of the +The tools/replica directory contains the reorder_remd_traj python script which +can be used to reorder the replica trajectories (resulting from the use of the temper command) according to temperature. This will produce discontinuous trajectories with all frames at the same temperature in each trajectory. Additional options can be used to calculate the canonical configurational log-weight for each frame at each temperature using the pymbar package. See the README.md file for further details. Try out the peptide example provided. -This tool was written by (and is maintained by) Tanmoy Sanyal, +This tool was written by (and is maintained by) Tanmoy Sanyal, while at the Shell lab at UC Santa Barbara. (tanmoy dot 7989 at gmail.com) - ---------- - -.. _reax\_tool: +.. _reax_tool: reax tool -------------------------- @@ -652,16 +632,14 @@ the README.txt file for more info. These tools were written by Aidan Thompson at Sandia. - ---------- - .. _smd: smd tool ------------------ -The smd sub-directory contains a C++ file dump2vtk\_tris.cpp and +The smd sub-directory contains a C++ file dump2vtk_tris.cpp and Makefile which can be compiled and used to convert triangle output files created by the Smooth-Mach Dynamics (USER-SMD) package into a VTK-compatible unstructured grid file. It could then be read in and @@ -673,10 +651,8 @@ This tool was written by the USER-SMD package author, Georg Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). - ---------- - .. _spin: spin tool @@ -686,17 +662,15 @@ The spin sub-directory contains a C file interpolate.c which can be compiled and used to perform a cubic polynomial interpolation of the MEP following a GNEB calculation. -See the README file in tools/spin/interpolate\_gneb for more details. +See the README file in tools/spin/interpolate_gneb for more details. This tool was written by the SPIN package author, Julien Tranchida at Sandia National Labs (jtranch at sandia.gov, and by Aleksei Ivanov, at University of Iceland (ali5 at hi.is). - ---------- - -.. _singularity\_tool: +.. _singularity_tool: singularity tool ---------------------------------------- @@ -706,10 +680,8 @@ that can be used to build container images for building and testing LAMMPS on specific OS variants using the `Singularity `_ container software. Contributions for additional variants are welcome. - ---------- - .. _vim: vim tool @@ -722,10 +694,8 @@ file for details. These files were provided by Gerolf Ziegenhain (gerolf at ziegenhain.com) - ---------- - .. _xmgrace: xmgrace tool @@ -741,8 +711,3 @@ simulation. See the README file for details. These files were provided by Vikas Varshney (vv0210 at gmail.com) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/USER/atc/man_add_molecule.html b/doc/src/USER/atc/man_add_molecule.html deleted file mode 100644 index 4e7810aa615c202f1c94158517552a8ec47d7aa5..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_add_molecule.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - -ATC: fix_modify AtC add_molecule - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC add_molecule

-syntax

-

fix_modify_AtC add_molecule <small|large> <TAG> <GROUP_NAME>
-

-
    -
  • small|large = can be small if molecule size < cutoff radius, must be large otherwise
    -
  • -
  • <TAG> = tag for tracking a species
    -
  • -
  • <GROUP_NAME> = name of group that tracking will be applied to
    -
  • -
-

-examples

-

group WATERGROUP type 1 2
- fix_modify AtC add_molecule small water WATERGROUP
-

-

-description

-

Associates a tag with all molecules corresponding to a specified group.
-

-

-restrictions

-

-related

-

-default

-

No defaults for this command.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_add_species.html b/doc/src/USER/atc/man_add_species.html deleted file mode 100644 index a990ab626fbc62322b0c63cf346066298de3cf98..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_add_species.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - -ATC: fix_modify AtC add_species - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC add_species

-syntax

-

fix_modify_AtC add_species <TAG> <group|type> <ID>
-

-
    -
  • <TAG> = tag for tracking a species
    -
  • -
  • group|type = LAMMPS defined group or type of atoms
    -
  • -
  • <ID> = name of group or type number
    -
  • -
-

-examples

-

fix_modify AtC add_species gold type 1
- group GOLDGROUP type 1
- fix_modify AtC add_species gold group GOLDGROUP

-

-description

-

Associates a tag with all atoms of a specified type or within a specified group.
-

-

-restrictions

-

-related

-

-default

-

No defaults for this command.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_atom_element_map.html b/doc/src/USER/atc/man_atom_element_map.html deleted file mode 100644 index a5707d280e831c83ab93de07a2b9e2476cba1894..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_atom_element_map.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC atom_element_map - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC atom_element_map

-syntax

-

fix_modify AtC atom_element_map <eulerian|lagrangian> <frequency>
-

-
    -
  • frequency (int) : frequency of updating atom-to-continuum maps based on the current configuration - only for eulerian
  • -
-

-examples

-

fix_modify atc atom_element_map eulerian 100

-

-description

-

Changes frame of reference from eulerian to lagrangian and sets the frequency for which the map from atoms to elements is reformed and all the attendant data is recalculated.

-

-restrictions

-

Cannot change map type after initialization.

-

-related

-

-default

-

lagrangian

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_atom_weight.html b/doc/src/USER/atc/man_atom_weight.html deleted file mode 100644 index 350ab13b92ad1e47baa672fed6448cfa9e4c55f6..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_atom_weight.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - -ATC: fix_modify AtC atom_weight - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC atom_weight

-syntax

-

fix_modify AtC atom_weight <method> <arguments>

-
    -
  • <method> =
    - value: atoms in specified group assigned constant value given
    - lattice: volume per atom for specified lattice type (e.g. fcc) and parameter
    - element: element volume divided among atoms within element
    - region: volume per atom determined based on the atom count in the MD regions and their volumes. Note: meaningful only if atoms completely fill all the regions.
    - group: volume per atom determined based on the atom count in a group and its volume
    - read_in: list of values for atoms are read-in from specified file
    -
  • -
-

-examples

-

fix_modify atc atom_weight constant myatoms 11.8
- fix_modify atc atom_weight lattice
- fix_modify atc atom_weight read-in atm_wt_file.txt
-

-

-description

-

Command for assigning the value of atomic weights used for atomic integration in atom-continuum coupled simulations.

-

-restrictions

-

Use of lattice option requires a lattice type and parameter is already specified.

-

-related

-

-default

-

lattice

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_atomic_charge.html b/doc/src/USER/atc/man_atomic_charge.html deleted file mode 100644 index 17e854a37f5e0472632918537b766ef5ae796be5..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_atomic_charge.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC atomic_charge - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC atomic_charge

-syntax

-

fix_modify AtC <include | omit> atomic_charge

-
    -
  • <include | omit> = switch to activiate/deactiviate inclusion of intrinsic atomic charge in ATC
  • -
-

-examples

-

fix_modify atc compute include atomic_charge

-

-description

-

Determines whether AtC tracks the total charge as a finite element field

-

-restrictions

-

Required for: electrostatics

-

-related

-

-default

-

if the atom charge is defined, default is on, otherwise default is off

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_boundary.html b/doc/src/USER/atc/man_boundary.html deleted file mode 100644 index 8dcf328dd3ba8df57c87b5c258314bc681da6980..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_boundary.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - -ATC: fix_modify AtC boundary - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC boundary

-syntax

-

fix_modify AtC boundary type <atom-type-id>

-
    -
  • <atom-type-id> = type id for atoms that represent a ficticious boundary internal to the FE mesh
  • -
-

-examples

-

fix_modify AtC boundary type ghost_atoms

-

-description

-

Command to define the atoms that represent the ficticious boundary internal to the FE mesh. For fully overlapped MD/FE domains with periodic boundary conditions no boundary atoms should be defined.

-

-restrictions

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_boundary_dynamics.html b/doc/src/USER/atc/man_boundary_dynamics.html deleted file mode 100644 index 335ff2d20957f62def15c506845d9601e0035548..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_boundary_dynamics.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - -ATC: fix_modify AtC boundary_dynamics - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC boundary_dynamics

-syntax

-

fix_modify AtC boundary_dynamics < on | damped_harmonic | prescribed | coupled | none > [args]
-

-

-description

-

Sets different schemes for controlling boundary atoms. On will integrate the boundary atoms using the velocity-verlet algorithm. Damped harmonic uses a mass/spring/dashpot for the boundary atoms with added arguments of the damping and spring constants followed by the ratio of the boundary type mass to the desired mass. Prescribed forces the boundary atoms to follow the finite element displacement. Coupled does the same.

-

-restrictions

-

Boundary atoms must be specified. When using swaps between internal and boundary atoms, the initial configuration must have already correctly partitioned the two.

-

-related

-

-default

-

prescribed on

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_boundary_faceset.html b/doc/src/USER/atc/man_boundary_faceset.html deleted file mode 100644 index 6c2fb8494028f4934a9af203c6f98806cd385c8a..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_boundary_faceset.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - -ATC: fix_modify AtC boundary_faceset - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC boundary_faceset

-syntax

-

fix_modify AtC boundary_faceset <is | add> [args]

-

-examples

-

fix_modify AtC boundary_faceset is obndy

-

-description

-

This command species the faceset name when using a faceset to compute the MD/FE boundary fluxes. The faceset must already exist.

-

-restrictions

-

This is only valid when fe_md_boundary is set to faceset.

-

-related

-

-default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_boundary_integral.html b/doc/src/USER/atc/man_boundary_integral.html deleted file mode 100644 index c4b0d4865e75e5b518c0f42285378f568de4a8e1..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_boundary_integral.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC output boundary_integral - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC output boundary_integral

-syntax

-

fix_modify AtC output boundary_integral [field] faceset [name]

-
    -
  • field (string) : name of hardy field
  • -
  • name (string) : name of faceset
  • -
-

-examples

-

fix_modify AtC output boundary_integral stress faceset loop1
-

-

-description

-

Calculates a surface integral of the given field dotted with the outward normal of the faces and puts output in the "GLOBALS" file

-

-restrictions

-

Must be used with the hardy/field type of AtC fix ( see fix atc command )

-

-related

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_consistent_fe_initialization.html b/doc/src/USER/atc/man_consistent_fe_initialization.html deleted file mode 100644 index baa306a1c80afc280f2aa8d31551de329726fb8e..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_consistent_fe_initialization.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC consistent_fe_initialization - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC consistent_fe_initialization

-syntax

-

fix_modify AtC consistent_fe_initialization <on | off>

-
    -
  • <on|off> = switch to activiate/deactiviate the initial setting of FE intrinsic field to match the projected MD field
  • -
-

-examples

-

fix_modify atc consistent_fe_initialization on

-

-description

-

Determines whether AtC initializes FE intrinsic fields (e.g., temperature) to match the projected MD values. This is particularly useful for fully overlapping simulations.

-

-restrictions

-

Can be used with: thermal, two_temperature. Cannot be used with time filtering on. Does not include boundary nodes.

-

-related

-

-default

-

Default is off

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_contour_integral.html b/doc/src/USER/atc/man_contour_integral.html deleted file mode 100644 index 16f6d9abadbb15176737ff7d6950ae7d8f0e81fa..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_contour_integral.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC output contour_integral - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC output contour_integral

-syntax

-

fix_modify AtC output contour_integral [field] faceset [name] <axis [x | y | z ]>

-
    -
  • field (string) : name of hardy field
  • -
  • name (string) : name of faceset
  • -
  • axis (string) : x or y or z
  • -
-

-examples

-

fix_modify AtC output contour_integral stress faceset loop1
-

-

-description

-

Calculates a surface integral of the given field dotted with the outward normal of the faces and puts output in the "GLOBALS" file

-

-restrictions

-

Must be used with the hardy/field type of AtC fix ( see fix atc command )

-

-related

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_control.html b/doc/src/USER/atc/man_control.html deleted file mode 100644 index e94a9a52ef84db97b7c5598182f97e249eb30379..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_control.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - -ATC: fix_modify AtC control - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC control

-syntax

-

fix_modify AtC control <physics_type> <solution_parameter>

-


-

-
    -
  • physics_type (string) = thermal | momentum
    -
  • -
  • solution_parameter (string) = max_iterations | tolerance
    -
  • -
-

fix_modify AtC transfer <physics_type> control max_iterations <max_iterations>
-

-
    -
  • max_iterations (int) = maximum number of iterations that will be used by iterative matrix solvers
    -
  • -
-

fix_modify AtC transfer <physics_type> control tolerance <tolerance>
-

-
    -
  • tolerance (float) = relative tolerance to which matrix equations will be solved
    -
  • -
-

-examples

-

fix_modify AtC control thermal max_iterations 10
- fix_modify AtC control momentum tolerance 1.e-5
-

-

-description

-

Sets the numerical parameters for the matrix solvers used in the specified control algorithm. Many solution approaches require iterative solvers, and these methods enable users to provide the maximum number of iterations and the relative tolerance.

-

-restrictions

-

only for be used with specific controllers : thermal, momentum
- They are ignored if a lumped solution is requested

-

-related

-

-default

-

max_iterations is the number of rows in the matrix
- tolerance is 1.e-10

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_control_momentum.html b/doc/src/USER/atc/man_control_momentum.html deleted file mode 100644 index e3074eae8f14acf35018fe1f357d42995ecf1066..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_control_momentum.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - -ATC: fix_modify AtC control momentum - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC control momentum

-syntax

-

fix_modify AtC control momentum none
-

-

fix_modify AtC control momentum rescale <frequency>
-

-
    -
  • frequency (int) = time step frequency for applying displacement and velocity rescaling
    -
  • -
-

fix_modify AtC control momentum glc_displacement
-

-

fix_modify AtC control momentum glc_velocity
-

-

fix_modify AtC control momentum hoover
-

-

fix_modify AtC control momentum flux [faceset face_set_id, interpolate]

-
    -
  • face_set_id (string) = id of boundary face set, if not specified (or not possible when the atomic domain does not line up with mesh boundaries) defaults to an atomic-quadrature approximate evaulation
    -
  • -
-

-examples

-

fix_modify AtC control momentum glc_velocity
- fix_modify AtC control momentum flux faceset bndy_faces
-

-

-description

-

-restrictions

-

only to be used with specific transfers : elastic
- rescale not valid with time filtering activated

-

-related

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_control_thermal.html b/doc/src/USER/atc/man_control_thermal.html deleted file mode 100644 index 8d32f1c4f9aa78d407540e3872405fd724d9b73e..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_control_thermal.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - -ATC: fix_modify AtC control thermal - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC control thermal

-syntax

-

fix_modify AtC control thermal <control_type> <optional_args>

-
    -
  • control_type (string) = none | rescale | hoover | flux
    -
  • -
-

fix_modify AtC control thermal rescale <frequency>
-

-
    -
  • frequency (int) = time step frequency for applying velocity rescaling
    -
  • -
-

fix_modify AtC control thermal hoover
-

-

fix_modify AtC control thermal flux <boundary_integration_type(optional)> <face_set_id(optional)>
-

-
    -
  • boundary_integration_type (string) = faceset | interpolate
    -
  • -
  • face_set_id (string), optional = id of boundary face set, if not specified (or not possible when the atomic domain does not line up with mesh boundaries) defaults to an atomic-quadrature approximate evaulation, does not work with interpolate
    -
  • -
-

-examples

-

fix_modify AtC control thermal none
- fix_modify AtC control thermal rescale 10
- fix_modify AtC control thermal hoover
- fix_modify AtC control thermal flux
- fix_modify AtC control thermal flux faceset bndy_faces
-

-

-description

-

Sets the energy exchange mechansim from the finite elements to the atoms, managed through a control algorithm. Rescale computes a scale factor for each atom to match the finite element temperature. Hoover is a Gaussian least-constraint isokinetic thermostat enforces that the nodal restricted atomic temperature matches the finite element temperature. Flux is a similar mode, but rather adds energy to the atoms based on conservation of energy. Hoover and flux allows the prescription of sources or fixed temperatures on the atoms.

-

-restrictions

-

only for be used with specific transfers : thermal (rescale, hoover, flux), two_temperature (flux)
- rescale not valid with time filtering activated

-

-related

-

-default

-

none
- rescale frequency is 1
- flux boundary_integration_type is interpolate

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html b/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html deleted file mode 100644 index d28ec334f5ac84e08570760ddf0bc87896cb4691..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC control thermal correction_max_iterations - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC control thermal correction_max_iterations

-syntax

-

fix_modify AtC control thermal correction_max_iterations <max_iterations>

-
    -
  • max_iterations (int) = maximum number of iterations that will be used by iterative matrix solvers
    -
  • -
-

-examples

-

fix_modify AtC control thermal correction_max_iterations 10
-

-

-description

-

Sets the maximum number of iterations to compute the 2nd order in time correction term for lambda with the fractional step method. The method uses the same tolerance as the controller's matrix solver.

-

-restrictions

-

only for use with thermal physics using the fractional step method.

-

-related

-

-default

-

correction_max_iterations is 20

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_decomposition.html b/doc/src/USER/atc/man_decomposition.html deleted file mode 100644 index 98eedafa6cfc7295ae980e6a8e11268ec75c7a3d..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_decomposition.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC decomposition - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC decomposition

-syntax

-

fix_modify AtC decomposition <type>

-
    -
  • <type> =
    - replicated_memory: nodal information replicated on each processor
    - distributed_memory: only owned nodal information on processor
    -
  • -
-

-examples

-

fix_modify atc decomposition distributed_memory
-

-

-description

-

Command for assigning the distribution of work and memory for parallel runs.

-

-restrictions

-

replicated_memory is appropriate for simulations were the number of nodes << number of atoms

-

-related

-

-default

-

replicated_memory

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_electron_integration.html b/doc/src/USER/atc/man_electron_integration.html deleted file mode 100644 index 7cf40f6813e318e57df6fca20dfffc3669839994..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_electron_integration.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -ATC: fix_modify AtC extrinsic electron_integration - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC extrinsic electron_integration

-syntax

-

fix_modify AtC extrinsic electron_integration <integration_type> <num_subcyle_steps(optional)>
-

-
    -
  • integration_type (string) = explicit | implicit | steady
    -
  • -
  • num_subcycle_steps (int), optional = number of subcycle steps for the electron time integration
  • -
-

-examples

-

fix_modify AtC extrinsic electron_integration implicit
- fix_modify AtC extrinsic electron_integration explicit 100
-

-

-description

-

Switches between integration scheme for the electron temperature. The number of subcyling steps used to integrate the electron temperature 1 LAMMPS timestep can be manually adjusted to capture fast electron dynamics.

-

-restrictions

-

For use only with two_temperature type of AtC fix ( see fix atc command )
-

-

-default

-

implicit
- subcycle_steps = 1

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_equilibrium_start.html b/doc/src/USER/atc/man_equilibrium_start.html deleted file mode 100644 index 8c81ce5925c0bbb504a9399ef5680f0e78220141..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_equilibrium_start.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -ATC: fix_modify AtC equilibrium_start - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC equilibrium_start

-syntax

-

fix_modify AtC equilibrium_start <on|off>

-

-examples

-

fix_modify atc equilibrium_start on
-

-

-description

-

Starts filtered calculations assuming they start in equilibrium, i.e. perfect finite element force balance.

-

-restrictions

-

only needed before filtering is begun

-

-related

-

see fix_modify AtC filter

-

-default

-

on

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_extrinsic_exchange.html b/doc/src/USER/atc/man_extrinsic_exchange.html deleted file mode 100644 index f4d1b01e880cb17a8ee9174090c68b029156dc5d..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_extrinsic_exchange.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -ATC: fix_modify AtC extrinsic exchange - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC extrinsic exchange

-syntax

-

fix_modify AtC extrinsic exchange <on|off>

-

-examples

-

fix_modify AtC extrinsic exchange on
-

-

-description

-

Switches energy exchange between the MD system and electron system on and off

-

-restrictions

-

Only valid for use with two_temperature type of AtC fix.

-

-related

-

see fix atc command

-

-default

-

on

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_fe_md_boundary.html b/doc/src/USER/atc/man_fe_md_boundary.html deleted file mode 100644 index e39ddd3cec063f57b0e80476dc18b66daadff2b3..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_fe_md_boundary.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -ATC: fix_modify AtC fe_md_boundary - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC fe_md_boundary

-syntax

-

fix_modify AtC fe_md_boundary <faceset | interpolate | no_boundary> [args]

-

-examples

-

fix_modify atc fe_md_boundary interpolate
-

-

-description

-

Specifies different methods for computing fluxes between between the MD and FE integration regions. Faceset defines a faceset separating the MD and FE regions and uses finite element face quadrature to compute the flux. Interpolate uses a reconstruction scheme to approximate the flux, which is more robust but less accurate if the MD/FE boundary does correspond to a faceset. No boundary results in no fluxes between the systems being computed.

-

-restrictions

-

If faceset is used, all the AtC non-boundary atoms must lie within and completely fill the domain enclosed by the faceset.

-

-related

-

see for how to specify the faceset name.

-

-default

-

Interpolate.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_fem_mesh.html b/doc/src/USER/atc/man_fem_mesh.html deleted file mode 100644 index 485b8c95a0f24f91fa5c44bc69cfbe9c1676a940..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_fem_mesh.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - -ATC: fix_modify AtC fem create mesh - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- -

fix_modify AtC fem create mesh

-syntax

-fix_modify AtC fem create mesh <nx> <ny> <nz> <region-id> <f|p> <f|p> <f|p>
    -
  • nx ny nz = number of elements in x, y, z
  • region-id = id of region that is to be meshed
  • f p p = perioidicity flags for x, y, z
-

-examples

-

fix_modify AtC fem create mesh 10 1 1 feRegion p p p
-

-

-description

-

Creates a uniform mesh in a rectangular region

-

-restrictions

-

creates only uniform rectangular grids in a rectangular region

-

-related

-

-default

-none -
Generated on Mon Aug 17 09:35:16 2009 for ATC by  - -doxygen 1.3.9.1
- - diff --git a/doc/src/USER/atc/man_filter_scale.html b/doc/src/USER/atc/man_filter_scale.html deleted file mode 100644 index e2190dea21b38aad2feca6dedd6f684117025a3d..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_filter_scale.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC filter scale - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC filter scale

-syntax

-

fix_modify AtC filter scale <scale>
-

-
    -
  • scale (real) = characteristic time scale of the filter
    -
  • -
-

-examples

-

fix_modify AtC filter scale 10.0
-

-

-description

-

Filters the MD dynamics to construct a more appropriate continuous field. Equilibrating first filters the time derivatives without changing the dynamics to provide a better initial condition to the filtered dynamics

-

-restrictions

-

only for be used with specific transfers: thermal, two_temperature

-

-related

-

fix_modify AtC filter fix_modify AtC filter type

-

-default

-

0.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_filter_type.html b/doc/src/USER/atc/man_filter_type.html deleted file mode 100644 index 0928139d7dabdd499826726274ce6a5f8a556d91..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_filter_type.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC filter type - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC filter type

-syntax

-

fix_modify AtC filter type <exponential | step | no_filter>
-

-

-examples

-

fix_modify AtC filter type exponential
-

-

-description

-

Specifies the type of time filter used.

-

-restrictions

-

only for be used with specific transfers: thermal, two_temperature

-

-related

-

fix_modify AtC filter fix_modify AtC filter scale

-

-default

-

No default.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_fix_atc.html b/doc/src/USER/atc/man_fix_atc.html deleted file mode 100644 index f6f7b43a38b7c45d48fb7748e8e46d499ba81119..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_fix_atc.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - -ATC: fix atc command - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix atc command

-syntax

-

fix <fixID> <group> atc <type> <parameter_file>

-
    -
  • fixID = name of fix
  • -
  • group = name of group fix is to be applied
  • -
  • type
    - = thermal : thermal coupling with fields: temperature
    - = two_temperature : electron-phonon coupling with field: temperature and electron_temperature
    - = hardy : on-the-fly post-processing using kernel localization functions (see "related" section for possible fields)
    - = field : on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields)
    -
  • -
  • parameter_file = name of the file with material parameters.
    - note: Neither hardy nor field requires a parameter file
  • -
-

-examples

-

fix AtC internal atc thermal Ar_thermal.dat
- fix AtC internal atc two_temperature Ar_ttm.mat
- fix AtC internal atc hardy
- fix AtC internal atc field
-

-

-description

-

This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the /post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.

-

The following coupling example is typical, but non-exhaustive:
-

-

# ... commands to create and initialize the MD system
-

-

# initial fix to designate coupling type and group to apply it to
- # tag group physics material_file
- fix AtC internal atc thermal Ar_thermal.mat
-
- # create a uniform 12 x 2 x 2 mesh that covers region contain the group
- # nx ny nz region periodicity
- fix_modify AtC mesh create 12 2 2 mdRegion f p p
-
- # specify the control method for the type of coupling
- # physics control_type
- fix_modify AtC thermal control flux
-
- # specify the initial values for the empirical field "temperature"
- # field node_group value
- fix_modify AtC initial temperature all 30.
-
- # create an output stream for nodal fields
- # filename output_frequency
- fix_modify AtC output atc_fe_output 100
-
-

-

run 1000
-

-

likewise for this post-processing example:
-

-

# ... commands to create and initialize the MD system
-

-

# initial fix to designate post-processing and the group to apply it to
- # no material file is allowed nor required
- fix AtC internal atc hardy
-
- # for hardy fix, specific kernel function (function type and range) to # be used as a localization function
- fix AtC kernel quartic_sphere 10.0
-
- # create a uniform 1 x 1 x 1 mesh that covers region contain the group
- # with periodicity this effectively creats a system average
- fix_modify AtC mesh create 1 1 1 box p p p
-
- # change from default lagrangian map to eulerian
- # refreshed every 100 steps
- fix_modify AtC atom_element_map eulerian 100
-
- # start with no field defined
- # add mass density, potential energy density, stress and temperature
- fix_modify AtC fields add density energy stress temperature
-
- # create an output stream for nodal fields
- # filename output_frequency
- fix_modify AtC output nvtFE 100 text
-

-

run 1000
-

-

the mesh's linear interpolation functions can be used as the localization function
- by using the field option:
-

-

fix AtC internal atc field
-
- fix_modify AtC mesh create 1 1 1 box p p p
-
- ...
-
-

-

Note coupling and post-processing can be combined in the same simulations using separate fixes.
- For detailed exposition of the theory and algorithms please see:
-

-
    -
  • Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, An atomistic-to-continuum coupling method for heat transfer in solids. Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351.
    -
  • -
  • Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, Calculation of stress in atomistic simulation. Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319.
    -
  • -
  • Zimmerman, JA; Jones, RE; Templeton, JA, A material frame approach for evaluating continuum variables in atomistic simulations. Journal of Computational Physics (2010), 229:2364.
    -
  • -
  • Templeton, JA; Jones, RE; Wagner, GJ, Application of a field-based method to spatially varying thermal transport problems in molecular dynamics. Modelling and Simulation in Materials Science and Engineering (2010), 18:085007.
    -
  • -
  • Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, Electron transport enhanced molecular dynamics for metals and semi-metals. International Journal for Numerical Methods in Engineering (2010), 83:940.
    -
  • -
  • Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling. Journal of Chemical Theory and Computation (2011), 7:1736.
    -
  • -
  • Mandadapu, KK; Templeton, JA; Lee, JW, Polarization as a field variable from molecular dynamics simulations. Journal of Chemical Physics (2013), 139:054115.
    -
  • -
-

Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes The finite element method , Dover 2003, for the basics of FE simulation.

-

-restrictions

-

Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc.

-

Currently,

-
    -
  • the coupling is restricted to thermal physics
  • -
  • the FE computations are done in serial on each processor.
  • -
-

-related

-

fix_modify commands for setup:
-

- -

fix_modify commands for boundary and initial conditions:
-

- -

fix_modify commands for control and filtering:
-

- -

fix_modify commands for output:
-

- -

fix_modify commands for post-processing:
-

- -

miscellaneous fix_modify commands:
-

- -

Note: a set of example input files with the attendant material files are included with this package

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_fix_flux.html b/doc/src/USER/atc/man_fix_flux.html deleted file mode 100644 index 31bd5619a37ba7aa7db08768f4810a3924cd6524..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_fix_flux.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC fix_flux - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC fix_flux

-syntax

-

fix_modify AtC fix_flux <field> <face_set> <value | function>

-
    -
  • <field> = field name valid for type of physics, temperature | electron_temperature
  • -
  • <face_set> = name of set of element faces
  • -
-

-examples

-

fix_modify atc fix_flux temperature faceSet 10.0
-

-

-description

-

Command for fixing normal fluxes e.g. heat_flux. This command only prescribes the normal component of the physical flux, e.g. heat (energy) flux. The units are in AtC units, i.e. derived from the LAMMPS length, time, and mass scales.

-

-restrictions

-

Only normal fluxes (Neumann data) can be prescribed.

-

-related

-

see fix_modify AtC unfix_flux

-

-default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_fix_nodes.html b/doc/src/USER/atc/man_fix_nodes.html deleted file mode 100644 index 2245e32607ceb217c23e4cf35642844be2a5aec0..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_fix_nodes.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -ATC: fix_modify AtC fix - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC fix

-syntax

-

fix_modify AtC fix <field> <nodeset> <constant | function>

-
    -
  • <field> = field name valid for type of physics
  • -
  • <nodeset> = name of set of nodes to apply boundary condition
  • -
  • <constant | function> = value or name of function followed by its parameters
  • -
-

-examples

-

fix_modify AtC fix temperature groupNAME 10.
- fix_modify AtC fix temperature groupNAME 0 0 0 10.0 0 0 1.0
-

-

-description

-

Creates a constraint on the values of the specified field at specified nodes.

-

-restrictions

-

keyword 'all' reserved in nodeset name

-

-related

-

see fix_modify AtC unfix

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_hardy_computes.html b/doc/src/USER/atc/man_hardy_computes.html deleted file mode 100644 index ec2dc3ccb915f280b1370e49b862d0e5988dbecc..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_hardy_computes.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - -ATC: fix_modify AtC computes - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC computes

-syntax

-

fix_modify AtC computes <add | delete> [per-atom compute id] <volume | number>
-

-
    -
  • add | delete (keyword) = add or delete the calculation of an equivalent continuum field for the specified per-atom compute as volume or number density quantity
    -
  • -
  • per-atom compute id = name/id for per-atom compute, fields can be calculated for all per-atom computes available from LAMMPS
    -
  • -
  • volume | number (keyword) = field created is a per-unit-volume quantity or a per-atom quantity as weighted by kernel functions
    -
  • -
-

-examples

-

compute virial all stress/atom
- fix_modify AtC computes add virial volume
- fix_modify AtC computes delete virial
-
- compute centrosymmetry all centro/atom
- fix_modify AtC computes add centrosymmetry number
-

-

-description

-

Calculates continuum fields corresponding to specified per-atom computes created by LAMMPS
-

-

-restrictions

-

Must be used with the hardy/field type of AtC fix ( see fix atc command )
- Per-atom compute must be specified before corresponding continuum field can be requested
-

-

-related

-

See manual page for compute

-

-default

-

No defaults exist for this command

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_hardy_fields.html b/doc/src/USER/atc/man_hardy_fields.html deleted file mode 100644 index 483e5be6bdf560fb2dfdbc1a28c7069a3b76eda8..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_hardy_fields.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - -ATC: fix_modify AtC fields - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC fields

-syntax

-

fix_modify AtC fields <all | none>
- fix_modify AtC fields <add | delete> <list_of_fields>
-

-
    -
  • all | none (keyword) = output all or no fields
    -
  • -
  • add | delete (keyword) = add or delete the listed output fields
    -
  • -
  • fields (keyword) =
    - density : mass per unit volume
    - displacement : displacement vector
    - momentum : momentum per unit volume
    - velocity : defined by momentum divided by density
    - projected_velocity : simple kernel estimation of atomic velocities
    - temperature : temperature derived from the relative atomic kinetic energy (as done by )
    - kinetic_temperature : temperature derived from the full kinetic energy
    - number_density : simple kernel estimation of number of atoms per unit volume
    - stress : Cauchy stress tensor for eulerian analysis (atom_element_map), or 1st Piola-Kirchhoff stress tensor for lagrangian analysis
    - transformed_stress : 1st Piola-Kirchhoff stress tensor for eulerian analysis (atom_element_map), or Cauchy stress tensor for lagrangian analysis
    - heat_flux : spatial heat flux vector for eulerian, or referential heat flux vector for lagrangian
    - potential_energy : potential energy per unit volume
    - kinetic_energy : kinetic energy per unit volume
    - thermal_energy : thermal energy (kinetic energy - continuum kinetic energy) per unit volume
    - internal_energy : total internal energy (potential + thermal) per unit volume
    - energy : total energy (potential + kinetic) per unit volume
    - number_density : number of atoms per unit volume
    - eshelby_stress: configurational stress (energy-momentum) tensor defined by Eshelby [References: Philos. Trans. Royal Soc. London A, Math. Phys. Sci., Vol. 244, No. 877 (1951) pp. 87-112; J. Elasticity, Vol. 5, Nos. 3-4 (1975) pp. 321-335]
    - vacancy_concentration: volume fraction of vacancy content
    - type_concentration: volume fraction of a specific atom type
    -
  • -
-

-examples

-

fix_modify AtC fields add velocity temperature

-

-description

-

Allows modification of the fields calculated and output by the transfer class. The commands are cumulative, e.g.
- fix_modify AtC fields none
- followed by
- fix_modify AtC fields add velocity temperature
- will only output the velocity and temperature fields.

-

-restrictions

-

Must be used with the hardy/field type of AtC fix, see fix atc command. Currently, the stress and heat flux formulas are only correct for central force potentials, e.g. Lennard-Jones and EAM but not Stillinger-Weber.

-

-related

-

See fix_modify AtC gradients , fix_modify AtC rates and fix_modify AtC computes

-

-default

-

By default, no fields are output

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_hardy_gradients.html b/doc/src/USER/atc/man_hardy_gradients.html deleted file mode 100644 index 1874ad152e030bbc26afce4f96198bcb26697d98..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_hardy_gradients.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - -ATC: fix_modify AtC gradients - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC gradients

-syntax

-

fix_modify AtC gradients <add | delete> <list_of_fields>
-

-
    -
  • add | delete (keyword) = add or delete the calculation of gradients for the listed output fields
    -
  • -
  • fields (keyword) =
    - gradients can be calculated for all fields listed in fix_modify AtC fields
  • -
-

-examples

-

fix_modify AtC gradients add temperature velocity stress
- fix_modify AtC gradients delete velocity
-

-

-description

-

Requests calculation and ouput of gradients of the fields from the transfer class. These gradients will be with regard to spatial or material coordinate for eulerian or lagrangian analysis, respectively, as specified by atom_element_map (see fix_modify AtC atom_element_map )

-

-restrictions

-

Must be used with the hardy/field type of AtC fix ( see fix atc command )

-

-related

-

-default

-

No gradients are calculated by default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_hardy_kernel.html b/doc/src/USER/atc/man_hardy_kernel.html deleted file mode 100644 index 620b9b1d365bd5a4ab11ed42885172136561b2a4..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_hardy_kernel.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - -ATC: fix_modify AtC kernel - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC kernel

-syntax

-

fix_modify AtC kernel <type> <parameters>

-
    -
  • type (keyword) = step, cell, cubic_bar, cubic_cylinder, cubic_sphere, quartic_bar, quartic_cylinder, quartic_sphere
    -
  • -
  • parameters :
    - step = radius (double)
    - cell = hx, hy, hz (double) or h (double)
    - cubic_bar = half-width (double)
    - cubic_cylinder = radius (double)
    - cubic_sphere = radius (double)
    - quartic_bar = half-width (double)
    - quartic_cylinder = radius (double)
    - quartic_sphere = radius (double)
    -
  • -
-

-examples

-

fix_modify AtC kernel cell 1.0 1.0 1.0
- fix_modify AtC kernel quartic_sphere 10.0

-

-description

-

-restrictions

-

Must be used with the hardy AtC fix
- For bar kernel types, half-width oriented along x-direction
- For cylinder kernel types, cylindrical axis is assumed to be in z-direction
- ( see fix atc command )

-

-related

-

-default

-

No default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_hardy_on_the_fly.html b/doc/src/USER/atc/man_hardy_on_the_fly.html deleted file mode 100644 index 04d24ff02958ce187c81ba23ff9c1cc488bda786..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_hardy_on_the_fly.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - -ATC: fix_modify AtC on_the_fly - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC on_the_fly

-syntax

-

fix_modify AtC on_the_fly <bond | kernel> <optional on | off>
- - bond | kernel (keyword) = specifies on-the-fly calculation of bond or kernel matrix elements
-

-
    -
  • on | off (keyword) = activate or discontinue on-the-fly mode
    -
  • -
-

-examples

-

fix_modify AtC on_the_fly bond on
- fix_modify AtC on_the_fly kernel
- fix_modify AtC on_the_fly kernel off
-

-

-description

-

Overrides normal mode of pre-calculating and storing bond pair-to-node a nd kernel atom-to-node matrices. If activated, will calculate elements of t hese matrices during repeated calls of field computations (i.e. "on-the-fly") and not store them for future use.
- on flag is optional - if omitted, on_the_fly will be activated for the s pecified matrix. Can be deactivated using off flag.
-

-

-restrictions

-

Must be used with the hardy/field type of AtC fix ( see fix atc command )

-

-related

-

-default

-

By default, on-the-fly calculation is not active (i.e. off). However, code does a memory allocation check to determine if it can store all needed bond and kernel matrix ele ments. If this allocation fails, on-the-fly is activated.
-

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_hardy_rates.html b/doc/src/USER/atc/man_hardy_rates.html deleted file mode 100644 index 337a92517eb799c4b9589f9eefa2a51bc8a09acb..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_hardy_rates.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - -ATC: fix_modify AtC rates - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC rates

-syntax

-

fix_modify AtC rates <add | delete> <list_of_fields>
-

-
    -
  • add | delete (keyword) = add or delete the calculation of rates (time derivatives) for the listed output fields
    -
  • -
  • fields (keyword) =
    - rates can be calculated for all fields listed in fix_modify AtC fields
  • -
-

-examples

-

fix_modify AtC rates add temperature velocity stress
- fix_modify AtC rates delete stress
-

-

-description

-

Requests calculation and ouput of rates (time derivatives) of the fields from the transfer class. For eulerian analysis (see fix_modify AtC atom_element_map ), these rates are the partial time derivatives of the nodal fields, not the full (material) time derivatives.
-

-

-restrictions

-

Must be used with the hardy/field type of AtC fix ( see fix atc command )

-

-related

-

-default

-

No rates are calculated by default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_initial.html b/doc/src/USER/atc/man_initial.html deleted file mode 100644 index c8348c45ed7c9ec1a23905059868741c068ac4af..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_initial.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC initial - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC initial

-syntax

-

fix_modify AtC initial <field> <nodeset> <constant | function>

-
    -
  • <field> = field name valid for type of physics, temperature | electron_temperature
  • -
  • <nodeset> = name of set of nodes to apply initial condition
  • -
  • <constant | function> = value or name of function followed by its parameters
  • -
-

-examples

-

fix_modify atc initial temperature groupNAME 10.

-

-description

-

Sets the initial values for the specified field at the specified nodes.

-

-restrictions

-

keyword 'all' reserved in nodeset name

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_internal_atom_integrate.html b/doc/src/USER/atc/man_internal_atom_integrate.html deleted file mode 100644 index f76607cc914214f73884c0385bb0490c6c0f6818..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_internal_atom_integrate.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - -ATC: fix_modify AtC internal_atom_integrate - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC internal_atom_integrate

-syntax

-

fix_modify AtC internal_atom_integrate <on | off> fix_modify AtC internal_atom_integrate on

-

-description

-

Has AtC perform time integration for the atoms in the group on which it operates. This does not include boundary atoms.

-

-default

-

on for coupling methods, off for post-processors off

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_internal_element_set.html b/doc/src/USER/atc/man_internal_element_set.html deleted file mode 100644 index a5d893f2a3095b52d62150990425b13b9fa94937..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_internal_element_set.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC internal_element_set - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC internal_element_set

-syntax

-

fix_modify AtC internal_element_set <element-set-name>

-
    -
  • <element-set-name> = name of element set defining internal region, or off
  • -
-

-examples

-

fix_modify AtC internal_element_set myElementSet fix_modify AtC internal_element_set off

-

-description

-

Enables AtC to base the region for internal atoms to be an element set. If no ghost atoms are used, all the AtC atoms must be constrained to remain in this element set by the user, e.g., with walls. If boundary atoms are used in conjunction with Eulerian atom maps AtC will partition all atoms of a boundary or internal type to be of type internal if they are in the internal region or to be of type boundary otherwise.

-

-restrictions

-

If boundary atoms are used in conjunction with Eulerian atom maps, the Eulerian reset frequency must be an integer multiple of the Lammps reneighbor frequency

-

-related

-

see atom_element_map_type and boundary

-

-default

-

off

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_internal_quadrature.html b/doc/src/USER/atc/man_internal_quadrature.html deleted file mode 100644 index 6af543cbaea9991f18986fe46f7c0b979491bb2d..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_internal_quadrature.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -ATC: fix_modify AtC internal_quadrature - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC internal_quadrature

-syntax

-

fix_modify atc internal_quadrature <on | off> [region]

-

-examples

-

fix_modify atc internal_quadrature off

-

-description

-

Command to use or not use atomic quadrature on internal elements fully filled with atoms. By turning the internal quadrature off these elements do not contribute to the governing PDE and the fields at the internal nodes follow the weighted averages of the atomic data.

-

-optional

-

Optional region tag specifies which finite element nodes will be treated as being within the MD region. This option is only valid with internal_quadrature off.

-

-restrictions

-

-related

-

-default

-

on

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_kernel_function.html b/doc/src/USER/atc/man_kernel_function.html deleted file mode 100644 index cb02c05c23c37f9189b1f492582ad5a4b22b7841..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_kernel_function.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - -ATC: fix_modify AtC kernel - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC kernel

-syntax

-

fix_modify AtC kernel <type> <parameters>

-
    -
  • type (keyword) = step, cell, cubic_bar, cubic_cylinder, cubic_sphere, quartic_bar, quartic_cylinder, quartic_sphere
    -
  • -
  • parameters :
    - step = radius (double)
    - cell = hx, hy, hz (double) or h (double)
    - cubic_bar = half-width (double)
    - cubic_cylinder = radius (double)
    - cubic_sphere = radius (double)
    - quartic_bar = half-width (double)
    - quartic_cylinder = radius (double)
    - quartic_sphere = radius (double)
    -
  • -
-

-examples

-

fix_modify AtC kernel cell 1.0 1.0 1.0 fix_modify AtC kernel quartic_sphere 10.0

-

-description

-

-restrictions

-

Must be used with the hardy AtC fix
- For bar kernel types, half-width oriented along x-direction
- For cylinder kernel types, cylindrical axis is assumed to be in z-direction
- ( see fix atc command )

-

-related

-

-default

-

No default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_localized_lambda.html b/doc/src/USER/atc/man_localized_lambda.html deleted file mode 100644 index 88442d63a185f4578ef1c9eb6397a35de765df67..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_localized_lambda.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - -ATC: fix_modify AtC control localized_lambda - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC control localized_lambda

-syntax

-

fix_modify AtC control localized_lambda <on|off>

-

-examples

-

fix_modify atc control localized_lambda on
-

-

-description

-

Turns on localization algorithms for control algorithms to restrict the influence of FE coupling or boundary conditions to a region near the boundary of the MD region. Control algorithms will not affect atoms in elements not possessing faces on the boundary of the region. Flux-based control is localized via row-sum lumping while quantity control is done by solving a truncated matrix equation.

-

-restrictions

-

-related

-

-default

-

Default is off.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_lumped_lambda_solve.html b/doc/src/USER/atc/man_lumped_lambda_solve.html deleted file mode 100644 index 89aabebd3c75d62353721f210c54a0699684dee8..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_lumped_lambda_solve.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - -ATC: fix_modify AtC control lumped_lambda_solve - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC control lumped_lambda_solve

-syntax

-

fix_modify AtC control lumped_lambda_solve <on|off>

-

-examples

-

fix_modify atc control lumped_lambda_solve on
-

-

-description

-

Command to use or not use lumped matrix for lambda solve

-

-restrictions

-

-related

-

-default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mask_direction.html b/doc/src/USER/atc/man_mask_direction.html deleted file mode 100644 index ea5a6e357ba526125162f3a08668bdc36f13fec3..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mask_direction.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - -ATC: fix_modify AtC control mask_direction - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC control mask_direction

-syntax

-

fix_modify AtC control mask_direction <direction> <on|off>

-

-examples

-

fix_modify atc control mask_direction 0 on
-

-

-description

-

Command to mask out certain dimensions from the atomic regulator

-

-restrictions

-

-related

-

-default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mass_matrix.html b/doc/src/USER/atc/man_mass_matrix.html deleted file mode 100644 index fd744e5bbf38572a8b0d05eb9d4fc38f6938027f..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mass_matrix.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC mass_matrix - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mass_matrix

-syntax

-

fix_modify AtC mass_matrix <fe | md_fe>

-
    -
  • <fe | md_fe> = activiate/deactiviate using the FE mass matrix in the MD region
  • -
-

-examples

-

fix_modify atc mass_matrix fe

-

-description

-

Determines whether AtC uses the FE mass matrix based on Gaussian quadrature or based on atomic quadrature in the MD region. This is useful for fully overlapping simulations to improve efficiency.

-

-restrictions

-

Should not be used unless the FE region is contained within the MD region, otherwise the method will be unstable and inaccurate

-

-related

-

-default

-

Default is off

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_material.html b/doc/src/USER/atc/man_material.html deleted file mode 100644 index 1646abc671742d1055e70e04081ff0834f189e11..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_material.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - -ATC: fix_modify AtC material - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC material

-syntax

-

fix_modify AtC material [elementset_name] [material_id]
-

-

-examples

-

fix_modify AtC material gap_region 2

-

-description

-

Sets the material model in elementset_name to be of type material_id.

-

-restrictions

-

The element set must already be created and the material must be specified in the material file given the the atc fix on construction

-

-related

-

-default

-

All elements default to the first material in the material file.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_add_to_nodeset.html b/doc/src/USER/atc/man_mesh_add_to_nodeset.html deleted file mode 100644 index c4976f699d1cc2c7c080d59adfb30e5bd052788c..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_add_to_nodeset.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC mesh add_to_nodeset - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh add_to_nodeset

-syntax

-

fix_modify AtC mesh add_to_nodeset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax>

-
    -
  • <id> = id of FE nodeset to be added to
  • -
  • <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> = coordinates of the bounding box that contains the desired nodes to be added
  • -
-

-examples

-

fix_modify AtC mesh add_to_nodeset lbc -11.9 -11 -12 12 -12 12

-

-description

-

Command to add nodes to an already existing FE nodeset.

-

-restrictions

-

-related

-

-default

-

Coordinates are assumed to be in lattice units.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_create.html b/doc/src/USER/atc/man_mesh_create.html deleted file mode 100644 index 98989bd015a754444f63576631163f79f37ca410..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_create.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -ATC: fix_modify AtC mesh create - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh create

-syntax

-

fix_modify AtC mesh create <nx> <ny> <nz> <region-id> <f|p> <f|p> <f|p>
-

-
    -
  • nx ny nz = number of elements in x, y, z
  • -
  • region-id = id of region that is to be meshed
  • -
  • f p p = periodicity flags for x, y, z
  • -
-

-examples

-

fix_modify AtC mesh create 10 1 1 feRegion p p p
-

-

-description

-

Creates a uniform mesh in a rectangular region

-

-restrictions

-

Creates only uniform rectangular grids in a rectangular region

-

-related

-

fix_modify AtC mesh quadrature

-

-default

-

When created, mesh defaults to gauss2 (2-point Gaussian) quadrature. Use "mesh quadrature" command to change quadrature style.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_create_elementset.html b/doc/src/USER/atc/man_mesh_create_elementset.html deleted file mode 100644 index 735d462b73cd17422564ac9af160d5a770389b76..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_create_elementset.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC mesh create_elementset - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh create_elementset

-syntax

-

fix_modify AtC create_elementset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax>

-
    -
  • <id> = id to assign to the collection of FE element
  • -
  • <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> = coordinates of the bounding box that contains only the desired elements
  • -
-

-examples

-

fix_modify AtC mesh create_elementset middle -4.1 4.1 -100 100 -100 1100

-

-description

-

Command to assign an id to a set of FE elements to be used subsequently in defining material and mesh-based operations.

-

-restrictions

-

Only viable for rectangular grids.

-

-related

-

-default

-

Coordinates are assumed to be in lattice units.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_create_faceset_box.html b/doc/src/USER/atc/man_mesh_create_faceset_box.html deleted file mode 100644 index 0ae68435e58ff6830a5eac9d674569f1a366162f..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_create_faceset_box.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC mesh create_faceset box - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh create_faceset box

-syntax

-

fix_modify AtC mesh create_faceset <id> box <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> <in|out> [units]

-
    -
  • <id> = id to assign to the collection of FE faces
  • -
  • <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> = coordinates of the bounding box that is coincident with the desired FE faces
  • -
  • <in|out> = "in" gives inner faces to the box, "out" gives the outer faces to the box
  • -
  • units = option to specify real as opposed to lattice units
  • -
-

-examples

-

fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -12 12 -12 12 out

-

-description

-

Command to assign an id to a set of FE faces.

-

-restrictions

-

Only viable for rectangular grids.

-

-related

-

-default

-

The default options are units = lattice and the use of outer faces

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_create_faceset_plane.html b/doc/src/USER/atc/man_mesh_create_faceset_plane.html deleted file mode 100644 index cd78816bae757aa604d8abbc474808b1281b12dc..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_create_faceset_plane.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC mesh create_faceset plane - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh create_faceset plane

-syntax

-

fix_modify AtC mesh create_faceset <id> plane <x|y|z> <val1> <x|y|z> <lval2> <uval2> [units]

-
    -
  • <id> = id to assign to the collection of FE faces
  • -
  • <x|y|z> = coordinate directions that define plane on which faceset lies
  • -
  • <val1>,<lval2>,<uval2> = plane is specified as the x|y|z=val1 plane bounded by the segments x|y|z = [lval2,uval2]
  • -
  • units = option to specify real as opposed to lattice units
  • -
-

-examples

-

fix_modify AtC mesh create_faceset xyplane plane y 0 x -4 0

-

-description

-

Command to assign an id to a set of FE faces.

-

-restrictions

-

Only viable for rectangular grids.

-

-related

-

-default

-

The default option is units = lattice.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_create_nodeset.html b/doc/src/USER/atc/man_mesh_create_nodeset.html deleted file mode 100644 index 0e3624cf8a05225744a8f2e72d2b09c56309b515..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_create_nodeset.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC mesh create_nodeset - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh create_nodeset

-syntax

-

fix_modify AtC mesh create_nodeset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax>

-
    -
  • <id> = id to assign to the collection of FE nodes
  • -
  • <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> = coordinates of the bounding box that contains only the desired nodes
  • -
-

-examples

-

fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -12 12 -12 12

-

-description

-

Command to assign an id to a set of FE nodes to be used subsequently in defining boundary conditions.

-

-restrictions

-

-related

-

-default

-

Coordinates are assumed to be in lattice units.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_delete_elements.html b/doc/src/USER/atc/man_mesh_delete_elements.html deleted file mode 100644 index e39cc54d416e9c1097a8535e84a65d8775460909..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_delete_elements.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -ATC: fix_modify AtC mesh delete_elements - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh delete_elements

-syntax

-

fix_modify AtC mesh delete_elements <element_set>

-
    -
  • <element_set> = name of an element set
  • -
-

-examples

-

fix_modify AtC delete_elements gap

-

-description

-

Deletes a group of elements from the mesh.

-

-restrictions

-

-related

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html b/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html deleted file mode 100644 index 66b55a48fb6f0574f12922c584b1df6eba7d1a26..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC mesh nodeset_to_elementset - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh nodeset_to_elementset

-syntax

-

fix_modify AtC nodeset_to_elementset <nodeset_id> <elementset_id> <max/min>

-
    -
  • <nodeset_id> = id of desired nodeset from which to create elementset
  • -
  • <elementset_id> = id to assign to the collection of FE element
  • -
  • <max/min> = flag to choose either the maximal or minimal elementset
  • -
-

-examples

-

fix_modify AtC mesh nodeset_to_elementset myNodeset myElementset min

-

-description

-

Command to create an elementset from an existing nodeset. Either the minimal element set of elements with all nodes in the set, or maximal element set with all elements with at least one node in the set, can be created

-

-restrictions

-

None.

-

-related

-

-default

-

Unless specified, the maximal element set is created

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_output.html b/doc/src/USER/atc/man_mesh_output.html deleted file mode 100644 index 1d2983afff93589b176e15f8a3bc9bb01d7579c7..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_output.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - -ATC: fix_modify AtC mesh output - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh output

-syntax

-

fix_modify AtC mesh output <file_prefix>

-

-examples

-

fix_modify AtC mesh output meshData
-

-

-description

-

Command to output mesh and associated data: nodesets, facesets, and elementsets. This data is only output once upon initialization since currently the mesh is static. Creates (binary, "gold" format) Ensight output of mesh data.

-

-restrictions

-

none

-

-related

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_quadrature.html b/doc/src/USER/atc/man_mesh_quadrature.html deleted file mode 100644 index 821e50e4cfc328ce6ab6b2c0a4843675d5ccfec7..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_quadrature.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC mesh quadrature - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh quadrature

-syntax

-

fix_modify AtC mesh quadrature <quad>

-
    -
  • quad = one of <nodal|gauss1|gauss2|gauss3|face> --- when a mesh is created it defaults to gauss2, use this call to change it after the fact
  • -
-

-examples

-

fix_modify AtC mesh quadrature face

-

-description

-

(Re-)assigns the quadrature style for the existing mesh.

-

-restrictions

-

-related

-

fix_modify AtC mesh create

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_read.html b/doc/src/USER/atc/man_mesh_read.html deleted file mode 100644 index 315180e1db5096a889f1dffa2791414723249e3d..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_read.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC mesh read - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh read

-syntax

-

fix_modify AtC mesh read <filename> <f|p> <f|p> <f|p>

-
    -
  • filename = name of file containing mesh to be read
  • -
  • f p p = periodicity flags for x, y, z
  • -
-

-examples

-

fix_modify AtC mesh read myComponent.mesh p p p
- fix_modify AtC mesh read myOtherComponent.exo

-

-description

-

Reads a mesh from a text or exodus file, and assigns periodic boundary conditions if needed.

-

-restrictions

-

-related

-

-default

-

periodicity flags are false by default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_mesh_write.html b/doc/src/USER/atc/man_mesh_write.html deleted file mode 100644 index f709c02a8430b6535f5d23722672b308e102cd20..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_mesh_write.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -ATC: fix_modify AtC mesh write - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC mesh write

-syntax

-

fix_modify AtC mesh write <filename>

-
    -
  • filename = name of file to write mesh
  • -
-

-examples

-

fix_modify AtC mesh write myMesh.mesh
-

-

-description

-

Writes a mesh to a text file.

-

-restrictions

-

-related

-

-default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_momentum_time_integration.html b/doc/src/USER/atc/man_momentum_time_integration.html deleted file mode 100644 index ee0505847c9878d79a531c2f1cf30ad9bdeec22a..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_momentum_time_integration.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - -ATC: fix_modify AtC time_integration (momentum) - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC time_integration (momentum)

-syntax

-

fix_modify AtC time_integration <descriptor>
-

-
    -
  • descriptor (string) = time integration type
    -
  • -
-

various time integration methods for the finite elements
-

-

-description

-

verlet - atomic velocity update with 2nd order Verlet, nodal temperature update with 2nd order Verlet, kinetostats based on controlling force
- fractional_step - atomic velocity update with 2nd order Verlet, mixed nodal momentum update, 2nd order Verlet for continuum and exact 2nd order Verlet for atomic contributions, kinetostats based on controlling discrete momentum changes
- gear - atomic velocity update with 2nd order Verlet, nodal temperature update with 3rd or 4th order Gear, kinetostats based on controlling power
-

-

-examples

-

fix_modify atc time_integration verlet
- fix_modify atc time_integration fractional_step
-

-

-description

-

-related

-

see fix atc command

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_output.html b/doc/src/USER/atc/man_output.html deleted file mode 100644 index d0a08fa0da111c62039c6c1726cc58921bc1e928..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_output.html +++ /dev/null @@ -1,61 +0,0 @@ - - - - -ATC: fix_modify AtC output - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC output

-syntax

-

fix_modify AtC output <filename_prefix> <frequency> [text | full_text | binary | vector_components | tensor_components ] fix_modify AtC output index [step | time ]

-
    -
  • filename_prefix (string) = prefix for data files
  • -
  • frequency (integer) = frequency of output in time-steps
  • -
  • options (keyword/s):
    - text = creates text output of index, step and nodal variable values for unique nodes
    - full_text = creates text output index, nodal id, step, nodal coordinates and nodal variable values for unique and image nodes
    - binary = creates binary Ensight output
    - vector_components = outputs vectors as scalar components
    - tensor_components = outputs tensor as scalar components (use this for Paraview)
    -
  • -
-

-examples

-

fix_modify AtC output heatFE 100
- fix_modify AtC output hardyFE 1 text tensor_components
- fix_modify AtC output hardyFE 10 text binary tensor_components
- fix_modify AtC output index step
-

-

-description

-

Creates text and/or binary (Ensight, "gold" format) output of nodal/mesh data which is transfer/physics specific. Output indexed by step or time is possible.

-

-restrictions

-

-related

-

see fix atc command

-

-default

-

no default format output indexed by time

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_output_elementset.html b/doc/src/USER/atc/man_output_elementset.html deleted file mode 100644 index 18afe0aa973bc5511f5c093a3f124e8662740ed3..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_output_elementset.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC output elementset - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC output elementset

-syntax

-

fix_modify AtC output volume_integral <eset_name> <field> {`

-
    -
  • set_name (string) = name of elementset to be integrated over
  • -
  • fieldname (string) = name of field to integrate csum = creates nodal sum over nodes in specified nodeset
    -
  • -
-

-examples

-

fix_modify AtC output eset1 mass_density
-

-

-description

-

Performs volume integration of specified field over elementset and outputs resulting variable values to GLOBALS file.

-

-restrictions

-

-related

-

see fix atc command

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_output_nodeset.html b/doc/src/USER/atc/man_output_nodeset.html deleted file mode 100644 index 7906c5fc52f3fd9f48c34fbd274aa0f2813346ac..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_output_nodeset.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - -ATC: fix_modify AtC output nodeset - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC output nodeset

-syntax

-

fix_modify AtC output nodeset <nodeset_name> <operation>

-
    -
  • nodeset_name (string) = name of nodeset to be operated on
  • -
  • operation (keyword/s):
    - sum = creates nodal sum over nodes in specified nodeset
    -
  • -
-

-examples

-

fix_modify AtC output nodeset nset1 sum
-

-

-description

-

Performs operation over the nodes belonging to specified nodeset and outputs resulting variable values to GLOBALS file.

-

-restrictions

-

-related

-

see fix atc command

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_pair_interactions.html b/doc/src/USER/atc/man_pair_interactions.html deleted file mode 100644 index 3ec2eecc60504e2c772c49501f381a95e1aa5b62..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_pair_interactions.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - -ATC: fix_modify AtC pair_interactions/bond_interactions - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC pair_interactions/bond_interactions

-syntax

-

fix_modify AtC pair_interactions <on|off>
- fix_modify AtC bond_interactions <on|off>
-

-

-examples

-

fix_modify AtC bond_interactions on
-

-

-description

-

include bonds and/or pairs in the stress and heat flux computations

-

-restrictions

-

-related

-

-default

-

pair interactions: on, bond interactions: off

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_poisson_solver.html b/doc/src/USER/atc/man_poisson_solver.html deleted file mode 100644 index 3e22a51f3e9e4eada56e1fe337018dec72e863d5..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_poisson_solver.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC poisson_solver - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC poisson_solver

-syntax

-

fix_modify AtC poisson_solver mesh create <nx> <ny> <nz> <region-id> <f|p> <f|p> <f|p>

-
    -
  • nx ny nz = number of elements in x, y, z
  • -
  • region-id = id of region that is to be meshed
  • -
  • f p p = perioidicity flags for x, y, z
  • -
-

-examples

-

fix_modify AtC poisson_solver mesh create 10 1 1 feRegion p p p

-

-description

-

Creates a uniform mesh in a rectangular region

-

-restrictions

-

creates only uniform rectangular grids in a rectangular region

-

-related

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_read_restart.html b/doc/src/USER/atc/man_read_restart.html deleted file mode 100644 index d13151a12ed3c01ed2d2504f53e2fbd219173a49..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_read_restart.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC read_restart - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC read_restart

-syntax

-

fix_modify AtC read_restart [file_name]
-

-

-examples

-

fix_modify AtC read_restart ATC_state
-

-

-description

-

Reads the current state of the fields from a named text-based restart file.

-

-restrictions

-

The restart file only contains fields and their time derivatives. The reference positions of the atoms and the commands that initialize the fix are not saved e.g. an identical mesh containing the same atoms will have to be recreated.

-

-related

-

see write_restart fix_modify AtC write_restart

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_remove_molecule.html b/doc/src/USER/atc/man_remove_molecule.html deleted file mode 100644 index 54e4e3419fbcf126d22287759c25d45cdb523443..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_remove_molecule.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC remove_molecule - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC remove_molecule

-syntax

-

fix_modify_AtC remove_molecule <TAG>
-

-
    -
  • <TAG> = tag for tracking a molecule type
    -
  • -
-

-examples

-

fix_modify AtC remove_molecule water
-

-

-description

-

Removes tag designated for tracking a specified set of molecules.
-

-

-restrictions

-

-related

-

-default

-

No defaults for this command.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_remove_source.html b/doc/src/USER/atc/man_remove_source.html deleted file mode 100644 index c15e0ca46ddcbdb4192d709990f0e3979572e712..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_remove_source.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC remove_source - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC remove_source

-syntax

-

fix_modify AtC remove_source <field> <element_set>

-
    -
  • <field> = field name valid for type of physics
  • -
  • <element_set> = name of set of elements
  • -
-

-examples

-

fix_modify atc remove_source temperature groupNAME

-

-description

-

Remove a domain source.

-

-restrictions

-

keyword 'all' reserved in element_set name

-

-related

-

see fix_modify AtC source

-

-default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_remove_species.html b/doc/src/USER/atc/man_remove_species.html deleted file mode 100644 index ee063ce57f524120279df2f36071986b33b3a813..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_remove_species.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - -ATC: fix_modify AtC remove_species - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC remove_species

-syntax

-

fix_modify_AtC delete_species <TAG>
-

-
    -
  • <TAG> = tag for tracking a species
    -
  • -
-

-examples

-

fix_modify AtC remove_species gold
-

-

-description

-

Removes tag designated for tracking a specified species.
-

-

-restrictions

-

-related

-

-default

-

No defaults for this command.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_reset_atomic_reference_positions.html b/doc/src/USER/atc/man_reset_atomic_reference_positions.html deleted file mode 100644 index 3c438610540faeb48a021a943e1d93628cac7358..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_reset_atomic_reference_positions.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - -ATC: fix_modify AtC reset_atomic_reference_positions - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC reset_atomic_reference_positions

-syntax

-

fix_modify AtC reset_atomic_reference_positions

-

-examples

-

fix_modify atc reset_atomic_reference_positions

-

-description

-

Resets the atomic positions ATC uses to perform point to field operations. In can be used to use perfect lattice sites in ATC but a thermalized or deformed lattice in LAMMPS.

-

-restrictions

-

-

-related

-

-

-default

-

Default is off

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_reset_time.html b/doc/src/USER/atc/man_reset_time.html deleted file mode 100644 index 9607848e1a490c18addf77da883cb5568f65abae..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_reset_time.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - -ATC: fix_modify AtC reset_time - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC reset_time

-syntax

-

fix_modify AtC reset_time

-

-examples

-

fix_modify atc reset_time 0.0
-

-

-description

-

Resets the simulation time counter.

-

-restrictions

-

-related

-

-default

-

-syntax

-

fix_modify AtC kernel_bandwidth

-

-examples

-

fix_modify atc reset_time 8
-

-

-description

-

Sets a maximum parallel bandwidth for the kernel functions during parallel communication. If the command is not issued, the default will be to assume the bandwidth of the kernel matrix corresponds to the number of sampling locations.

-

-restrictions

-

Only is used if kernel functions are being used.

-

-related

-

-default

-

Number of sample locations.

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_sample_frequency.html b/doc/src/USER/atc/man_sample_frequency.html deleted file mode 100644 index 9a9a8e3a02fbeb8d2cbee68a2b057d759f30ff8a..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_sample_frequency.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC sample_frequency - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC sample_frequency

-syntax

-

fix_modify AtC sample_frequency [freq]

-
    -
  • freq (int) : frequency to sample field in number of steps
  • -
-

-examples

-

fix_modify AtC sample_frequency 10

-

-description

-

Specifies a frequency at which fields are computed for the case where time filters are being applied.

-

-restrictions

-

Must be used with the hardy/field AtC fix ( see fix atc command ) and is only relevant when time filters are being used.

-

-related

-

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_set.html b/doc/src/USER/atc/man_set.html deleted file mode 100644 index 55ad8d952b8ae5fb679ba08c0bd83550be7870df..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_set.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - -ATC: fix_modify AtC set - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC set

-syntax

-

fix_modify AtC set reference_potential_energy <value_or_filename(optional)>

-
    -
  • value (double) : optional user specified zero point for PE in native LAMMPS energy units
    -
  • -
  • filename (string) : optional user specified string for file of nodal PE values to be read-in
  • -
-

-examples

-

fix_modify AtC set reference_potential_energy
- fix_modify AtC set reference_potential_energy -0.05
- fix_modify AtC set reference_potential_energy myPEvalues
-

-

-description

-

Used to set various quantities for the post-processing algorithms. It sets the zero point for the potential energy density using the value provided for all nodes, or from the current configuration of the lattice if no value is provided, or values provided within the specified filename.

-

-restrictions

-

Must be used with the hardy/field type of AtC fix ( see fix atc command )

-

-related

-

-default

-

Defaults to lammps zero point i.e. isolated atoms

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_source.html b/doc/src/USER/atc/man_source.html deleted file mode 100644 index 78fb1652ebc05a9a3296c6faee275c74b3230c3a..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_source.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC source - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC source

-syntax

-

fix_modify AtC source <field> <element_set> <value | function>

-
    -
  • <field> = field name valid for type of physics
  • -
  • <element_set> = name of set of elements
  • -
-

-examples

-

fix_modify atc source temperature middle temporal_ramp 10. 0.

-

-description

-

Add domain sources to the mesh. The units are consistent with LAMMPS's units for mass, length and time and are defined by the PDE being solved, e.g. for thermal transfer the balance equation is for energy and source is energy per time.

-

-restrictions

-

keyword 'all' reserved in element_set name

-

-related

-

see fix_modify AtC remove_source

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_source_integration.html b/doc/src/USER/atc/man_source_integration.html deleted file mode 100644 index 3b261b781014715c1346623fb5d6cef6c0b86dee..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_source_integration.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - -ATC: fix_modify AtC source_integration - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC source_integration

-syntax

-

fix_modify AtC source_integration < fe | atom>

-

-examples

-

fix_modify atc source_integration atom

-

-description

-

-restrictions

-

-related

-

-default

-

Default is fe

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_temperature_definition.html b/doc/src/USER/atc/man_temperature_definition.html deleted file mode 100644 index c317c06c00cf0aca03cd5eefaf212505cf34a616..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_temperature_definition.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - -ATC: fix_modify AtC temperature_definition - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC temperature_definition

-syntax

-

fix_modify AtC temperature_definition <kinetic|total>

-

-examples

-

fix_modify atc temperature_definition kinetic
-

-

-description

-

Change the definition for the atomic temperature used to create the finite element temperature. The kinetic option is based only on the kinetic energy of the atoms while the total option uses the total energy (kinetic + potential) of an atom.

-

-restrictions

-

This command is only valid when using thermal coupling. Also, while not a formal restriction, the user should ensure that associating a potential energy with each atom makes physical sense for the total option to be meaningful.

-

-default

-

kinetic

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_thermal_time_integration.html b/doc/src/USER/atc/man_thermal_time_integration.html deleted file mode 100644 index 830591921e7dbd63cc73d1dc5f4ebb17c65c2d95..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_thermal_time_integration.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - -ATC: fix_modify AtC time_integration (thermal) - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC time_integration (thermal)

-syntax

-

fix_modify AtC time_integration <descriptor>
-

-
    -
  • descriptor (string) = time integration type
    -
  • -
-

various time integration methods for the finite elements
-

-

-description

-

gear - atomic velocity update with 2nd order Verlet, nodal temperature update with 3rd or 4th order Gear, thermostats based on controlling power
- fractional_step - atomic velocity update with 2nd order Verlet, mixed nodal temperature update, 3/4 Gear for continuum and 2 Verlet for atomic contributions, thermostats based on controlling discrete energy changes
-

-

-examples

-

fix_modify atc time_integration gear
- fix_modify atc time_integration fractional_step
-

-

-description

-

-related

-

see fix atc command

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_time_filter.html b/doc/src/USER/atc/man_time_filter.html deleted file mode 100644 index 5000fb079d2a0dc5f7ed1a474a8f516d03a3b5f0..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_time_filter.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - -ATC: fix_modify AtC filter - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC filter

-syntax

-

fix_modify AtC filter <on | off | equilibrate>
-

-
    -
  • on | off (keyword) = turns filter on or off
    -
  • -
  • equilibrate = runs dynamics without filtering but initializes filtered quantities
  • -
-

-examples

-

fix_modify atc transfer filter on
-

-

-description

-

Filters the MD dynamics to construct a more appropriate continuous field. Equilibrating first filters the time derivatives without changing the dynamics to provide a better initial condition to the filtered dynamics

-

-restrictions

-

only for be used with specific transfers: thermal, two_temperature

-

-related

-

fix_modify AtC filter scale
- fix_modify AtC equilibrium_start

-

-default

-

off

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_track_displacement.html b/doc/src/USER/atc/man_track_displacement.html deleted file mode 100644 index 2c7cf2615018eaf3a4be95be6ee15d0884c1bfd5..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_track_displacement.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - -ATC: fix_modify AtC track_displacement - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC track_displacement

-syntax

-

fix_modify AtC track_displacement <on/off>
-

-

-examples

-

fix_modify atc track_displacement on
-

-

-description

-

Determines whether displacement is tracked or not. For solids problems this is a useful quantity, but for fluids it is not relevant.

-

-restrictions

-

Some constitutive models require the displacement field

-

-default

-

on

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_unfix_flux.html b/doc/src/USER/atc/man_unfix_flux.html deleted file mode 100644 index 551896431a06dac1dedb2c7b35a2d03351a36fd4..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_unfix_flux.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - -ATC: fix_modify AtC unfix_flux - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC unfix_flux

-syntax

-

fix_modify AtC fix_flux <field> <face_set> <value | function>

-
    -
  • <field> = field name valid for type of physics, temperature | electron_temperature
  • -
  • <face_set> = name of set of element faces
  • -
-

-examples

-

fix_modify atc unfix_flux temperature faceSet
-

-

-description

-

Command for removing prescribed normal fluxes e.g. heat_flux, stress.

-

-restrictions

-

-related

-

see fix_modify AtC unfix_flux

-

-default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_unfix_nodes.html b/doc/src/USER/atc/man_unfix_nodes.html deleted file mode 100644 index 4dfd9b3cfc4c8755eeecfb1b2bffb24868564aae..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_unfix_nodes.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC unfix - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC unfix

-syntax

-

fix_modify AtC unfix <field> <nodeset>

-
    -
  • <field> = field name valid for type of physics
  • -
  • <nodeset> = name of set of nodes
  • -
-

-examples

-

fix_modify AtC unfix temperature groupNAME

-

-description

-

Removes constraint on field values for specified nodes.

-

-restrictions

-

keyword 'all' reserved in nodeset name

-

-related

-

see fix_modify AtC fix

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_write_atom_weights.html b/doc/src/USER/atc/man_write_atom_weights.html deleted file mode 100644 index 1722d74f67fa82dbabc61ea535f98553e4adcef8..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_write_atom_weights.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -ATC: fix_modify AtC write_atom_weights - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC write_atom_weights

-syntax

-

fix_modify AtC write_atom_weights <filename> <frequency>

-
    -
  • <filename> = name of file that atomic weights are written to
    -
  • -
  • <frequency> = how often writes will occur
    -
  • -
-

-examples

-

fix_modify atc write_atom_weights atm_wt_file.txt 10
-

-

-description

-

Command for writing the values of atomic weights to a specified file.

-

-restrictions

-

-related

-

-default

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/USER/atc/man_write_restart.html b/doc/src/USER/atc/man_write_restart.html deleted file mode 100644 index 74c6e2d289feac47f5f83f5a8448ee08115a7ad1..0000000000000000000000000000000000000000 --- a/doc/src/USER/atc/man_write_restart.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - -ATC: fix_modify AtC write_restart - - - - -
- LAMMPS Website     - LAMMPS Manual     - USER-AtC Manual     - Commands -
- -
- - - -
- - -

fix_modify AtC write_restart

-syntax

-

fix_modify AtC write_restart [file_name]
-

-

-examples

-

fix_modify AtC write_restart restart.mydata
-

-

-description

-

Dumps the current state of the fields to a named text-based restart file. This done when the command is invoked and not repeated, unlike the similar lammps command.

-

-restrictions

-

The restart file only contains fields and their time derivatives. The reference positions of the atoms and the commands that initialize the fix are not saved e.g. an identical mesh containing the same atoms will have to be recreated.

-

-related

-

see read_restart fix_modify AtC read_restart

-

-default

-

none

-
-
Generated on 21 Aug 2013 for ATC by  - -doxygen 1.6.1
- - diff --git a/doc/src/angle_charmm.rst b/doc/src/angle_charmm.rst index 92ab8b5ea3eca14f4bfff0f6b744c16e83f11858..a8c227c765c8c03733ceab3f445d8cdde5bda4a0 100644 --- a/doc/src/angle_charmm.rst +++ b/doc/src/angle_charmm.rst @@ -15,7 +15,6 @@ angle_style charmm/omp command Syntax """""" - .. code-block:: LAMMPS angle_style charmm @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style charmm @@ -38,8 +36,7 @@ The *charmm* angle style uses the potential E = K (\theta - \theta_0)^2 + K_{ub} (r - r_{ub})^2 - -with an additional Urey\_Bradley term based on the distance :math:`r` between +with an additional Urey_Bradley term based on the distance :math:`r` between the 1st and 3rd atoms in the angle. :math:`K`, :math:`\theta_0`, :math:`K_{ub}`, and :math:`R_{ub}` are coefficients defined for each angle type. @@ -48,9 +45,9 @@ See :ref:`(MacKerell) ` for a description of the CHARMM force field. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy/radian\^2) * :math:`\theta_0` (degrees) @@ -60,10 +57,8 @@ or :doc:`read\_restart ` commands: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of :math:`K` are in energy/radian\^2. - ---------- - 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 @@ -82,14 +77,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -97,17 +89,13 @@ for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none - ---------- - .. _angle-MacKerell: - - **(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). diff --git a/doc/src/angle_class2.rst b/doc/src/angle_class2.rst index 9d1ff8e8e72fba2c3ea5b40132a1ec5025dac305..afacfb7c1d01b3a7c442e16492772c6e04479533 100644 --- a/doc/src/angle_class2.rst +++ b/doc/src/angle_class2.rst @@ -15,7 +15,6 @@ angle_style class2/p6 command Syntax """""" - .. code-block:: LAMMPS angle_style class2 @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style class2 @@ -43,7 +41,6 @@ The *class2* angle style uses the potential E_{bb} & = M (r_{ij} - r_1) (r_{jk} - r_2) \\ E_{ba} & = N_1 (r_{ij} - r_1) (\theta - \theta_0) + N_2(r_{jk} - r_2)(\theta - \theta_0) - where :math:`E_a` is the angle term, :math:`E_{bb}` is a bond-bond term, and :math:`E_{ba}` is a bond-angle term. :math:`\theta_0` is the equilibrium angle and :math:`r_1` and :math:`r_2` are the equilibrium bond lengths. @@ -51,9 +48,9 @@ the equilibrium bond lengths. See :ref:`(Sun) ` for a description of the COMPASS class2 force field. Coefficients for the :math:`E_a`, :math:`E_{bb}`, and :math:`E_{ba}` formulas must be defined for -each angle type via the :doc:`angle\_coeff ` command as in +each angle type via the :doc:`angle_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands. These are the 4 coefficients for the :math:`E_a` formula: @@ -66,7 +63,7 @@ These are the 4 coefficients for the :math:`E_a` formula: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of the various :math:`K` are in per-radian. -For the :math:`E_{bb}` formula, each line in a :doc:`angle\_coeff ` +For the :math:`E_{bb}` formula, each line in a :doc:`angle_coeff ` command in the input script lists 4 coefficients, the first of which is "bb" to indicate they are BondBond coefficients. In a data file, these coefficients should be listed under a "BondBond Coeffs" heading @@ -78,7 +75,7 @@ the angle type. * :math:`r_1` (distance) * :math:`r_2` (distance) -For the :math:`E_{ba}` formula, each line in a :doc:`angle\_coeff ` +For the :math:`E_{ba}` formula, each line in a :doc:`angle_coeff ` command in the input script lists 5 coefficients, the first of which is "ba" to indicate they are BondAngle coefficients. In a data file, these coefficients should be listed under a "BondAngle Coeffs" heading @@ -94,10 +91,8 @@ the angle type. The :math:`\theta_0` value in the :math:`E_{ba}` formula is not specified, since it is the same value from the :math:`E_a` formula. - ---------- - 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 @@ -116,17 +111,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - The *class2/p6* angle style uses the *class2* potential expanded to sixth order: .. math:: E_{a} = K_2\left(\theta - \theta_0\right)^2 + K_3\left(\theta - \theta_0\right)^3 + K_4\left(\theta - \theta_0\right)^4 + K_5\left(\theta - \theta_0\right)^5 + K_6\left(\theta - \theta_0\right)^6 - In this expanded term 6 coefficients for the :math:`E_a` formula need to be set: * :math:`\theta_0` (degrees) @@ -138,14 +130,11 @@ In this expanded term 6 coefficients for the :math:`E_a` formula need to be set: The bond-bond and bond-angle terms remain unchanged. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the CLASS2 package. For the *class2/p6* style LAMMPS needs to be built with the USER-MOFFF package. See the :doc:`Build package ` doc @@ -154,16 +143,12 @@ page for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none - ---------- - .. _angle-Sun: - - **(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/src/angle_coeff.rst b/doc/src/angle_coeff.rst index 5f9a71371af0c1bb620167d576cad3b84fb4da4e..9066b4546261a39bb4a0dfc750c6fededc3814fe 100644 --- a/doc/src/angle_coeff.rst +++ b/doc/src/angle_coeff.rst @@ -6,7 +6,6 @@ angle_coeff command Syntax """""" - .. code-block:: LAMMPS angle_coeff N args @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_coeff 1 300.0 107.0 @@ -45,7 +43,6 @@ Note that using an :doc:`angle_coeff ` command can override a previ for the same angle type. For example, these commands set the coeffs for all angle types, then overwrite the coeffs for just angle type 2: - .. code-block:: LAMMPS angle_coeff * 200.0 107.0 1.2 @@ -58,7 +55,6 @@ coefficients for all N types must be listed in the file. For example, under the "Angle Coeffs" section of a data file, the line that corresponds to the 1st example above would be listed as - .. parsed-literal:: 1 300.0 107.0 @@ -68,10 +64,8 @@ rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its doc page for details. - ---------- - The list of all angle styles defined in LAMMPS is given on the :doc:`angle_style ` doc page. They are also listed in more compact form on the :ref:`Commands angle ` doc @@ -81,14 +75,11 @@ On either of those pages, click on the style to display the formula it computes and its coefficients as specified by the associated :doc:`angle_coeff ` command. - ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a :doc:`read_data `, :doc:`read_restart `, or :doc:`create_box ` command. diff --git a/doc/src/angle_cosine.rst b/doc/src/angle_cosine.rst index 68bfdbb82b8346d15296bcdecf73b2129a71d845..f10477178172b1b08db3fe4b4a48f2bb91f78343 100644 --- a/doc/src/angle_cosine.rst +++ b/doc/src/angle_cosine.rst @@ -12,7 +12,6 @@ angle_style cosine/kk command Syntax """""" - .. code-block:: LAMMPS angle_style cosine @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine @@ -35,20 +33,17 @@ The *cosine* angle style uses the potential E = K [1 + \cos(\theta)] - where :math:`K` is defined for each angle type. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy) - ---------- - 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 @@ -67,14 +62,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -82,6 +74,6 @@ for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none diff --git a/doc/src/angle_cosine_buck6d.rst b/doc/src/angle_cosine_buck6d.rst index 2d00863b021909419e9a319672b1e733bddb31a6..228b96abc8acb7a1609e08a3e1be404021e0da44 100644 --- a/doc/src/angle_cosine_buck6d.rst +++ b/doc/src/angle_cosine_buck6d.rst @@ -6,7 +6,6 @@ angle_style cosine/buck6d command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/buck6d @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/buck6d @@ -33,9 +31,9 @@ where :math:`K` is the energy constant, :math:`n` is the periodic multiplicity a :math:`\theta_0` is the equilibrium angle. The coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands in the following order: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands in the following order: * :math:`K` (energy) * :math:`n` @@ -46,23 +44,20 @@ internally. Additional to the cosine term the *cosine/buck6d* angle style computes the short range (vdW) interaction belonging to the -:doc:`pair\_buck6d ` between the end atoms of the +:doc:`pair_style buck6d ` between the end atoms of the angle. For this reason this angle style only works in combination -with the :doc:`pair\_buck6d ` styles and needs -the :doc:`special\_bonds ` 1-3 interactions to be weighted +with the :doc:`pair_style buck6d ` styles and needs +the :doc:`special_bonds ` 1-3 interactions to be weighted 0.0 to prevent double counting. - ---------- - Restrictions """""""""""" - *cosine/buck6d* can only be used in combination with the -:doc:`pair\_buck6d ` style and with a -:doc:`special\_bonds ` 0.0 weighting of 1-3 interactions. +:doc:`pair_style buck6d ` style and with a +:doc:`special_bonds ` 0.0 weighting of 1-3 interactions. This angle style can only be used if LAMMPS was built with the USER-MOFFF package. See the :doc:`Build package ` doc @@ -71,6 +66,6 @@ page for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none diff --git a/doc/src/angle_cosine_delta.rst b/doc/src/angle_cosine_delta.rst index 9af93cb06a306569d4f7b04c20b1da8a0c1f4702..3d29d134e0773145877465cd212d8e26c9a2cb08 100644 --- a/doc/src/angle_cosine_delta.rst +++ b/doc/src/angle_cosine_delta.rst @@ -9,7 +9,6 @@ angle_style cosine/delta/omp command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/delta @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/delta @@ -32,14 +30,13 @@ The *cosine/delta* angle style uses the potential E = K [1 - \cos(\theta - \theta_0)] - where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy) * :math:`\theta_0` (degrees) @@ -47,10 +44,8 @@ or :doc:`read\_restart ` commands: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally. - ---------- - 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 @@ -69,14 +64,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -84,6 +76,6 @@ for more info. Related commands """""""""""""""" -:doc:`angle\_coeff `, :doc:`angle\_style cosine/squared ` +:doc:`angle_coeff `, :doc:`angle_style cosine/squared ` **Default:** none diff --git a/doc/src/angle_cosine_periodic.rst b/doc/src/angle_cosine_periodic.rst index caaf15007a5c2b547ad1d28a68681cd0c7c9e416..d0c774e5f6e5d49d5052673ee8e963bc70fc5a21 100644 --- a/doc/src/angle_cosine_periodic.rst +++ b/doc/src/angle_cosine_periodic.rst @@ -9,7 +9,6 @@ angle_style cosine/periodic/omp command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/periodic @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/periodic @@ -36,15 +34,14 @@ center: E = C \left[ 1 - B(-1)^n\cos\left( n\theta\right) \right] - where :math:`C`, :math:`B` and :math:`n` are coefficients defined for each angle type. See :ref:`(Mayo) ` for a description of the DREIDING force field The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`C` (energy) * :math:`B` = 1 or -1 @@ -55,10 +52,8 @@ constant :math:`K = \frac{C}{n^2}`. When :math:`B = 1`, it leads to a minimum f linear geometry. When :math:`B = -1`, it leads to a maximum for the linear geometry. - ---------- - 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 @@ -77,14 +72,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -92,17 +84,13 @@ for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none - ---------- - .. _cosine-Mayo: - - **(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990). diff --git a/doc/src/angle_cosine_shift.rst b/doc/src/angle_cosine_shift.rst index bd7b6416c7937d7bb19a1d18280a4c3de41b3531..70198034ed91eb8ad825a65f2050120ed3901af7 100644 --- a/doc/src/angle_cosine_shift.rst +++ b/doc/src/angle_cosine_shift.rst @@ -9,7 +9,6 @@ angle_style cosine/shift/omp command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/shift @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/shift @@ -32,24 +30,21 @@ The *cosine/shift* angle style uses the potential E = -\frac{U_{\text{min}}}{2} \left[ 1 + \cos(\theta-\theta_0) \right] - where :math:`\theta_0` is the equilibrium angle. The potential is bounded between :math:`-U_{\text{min}}` and zero. In the neighborhood of the minimum :math:`E = - U_{\text{min}} + U_{\text{min}}/4(\theta - \theta_0)^2` hence the spring constant is :math:`\frac{U_{\text{min}}}{2}`. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`U_{\text{min}}` (energy) * :math:`\theta` (angle) - ---------- - 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 @@ -68,21 +63,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the USER-MISC package. Related commands """""""""""""""" -:doc:`angle\_coeff `, -:doc:`angle\_cosine\_shift\_exp ` +:doc:`angle_coeff `, +:doc:`angle_style cosine/shift/exp ` **Default:** none diff --git a/doc/src/angle_cosine_shift_exp.rst b/doc/src/angle_cosine_shift_exp.rst index 331ccb9da7f0f0aac491680b51606b99cada298d..5193b3abfc37a86ac0ed99c9ce465dc042b0d454 100644 --- a/doc/src/angle_cosine_shift_exp.rst +++ b/doc/src/angle_cosine_shift_exp.rst @@ -9,7 +9,6 @@ angle_style cosine/shift/exp/omp command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/shift/exp @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/shift/exp @@ -48,18 +46,16 @@ order in :math:`a` for :math:`a < 0.001`. In this limit the potential reduces to cosineshifted potential. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`U_min` (energy) * :math:`\theta` (angle) * :math:`A` (real number) - ---------- - 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 @@ -78,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -93,8 +86,8 @@ page for more info. Related commands """""""""""""""" -:doc:`angle\_coeff `, -:doc:`angle\_cosine\_shift `, -:doc:`dihedral\_cosine\_shift\_exp ` +:doc:`angle_coeff `, +:doc:`angle_style cosine/shift `, +:doc:`dihedral_style cosine/shift/exp ` **Default:** none diff --git a/doc/src/angle_cosine_squared.rst b/doc/src/angle_cosine_squared.rst index b1a516880ddb666bc8a4623298f449a80e065a7c..722b098f54f3bb93a2451e4583507e29c355b720 100644 --- a/doc/src/angle_cosine_squared.rst +++ b/doc/src/angle_cosine_squared.rst @@ -9,7 +9,6 @@ angle_style cosine/squared/omp command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/squared @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/squared @@ -32,14 +30,13 @@ The *cosine/squared* angle style uses the potential E = K [\cos(\theta) - \cos(\theta_0)]^2 - where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy) * :math:`\theta_0` (degrees) @@ -47,10 +44,8 @@ or :doc:`read\_restart ` commands: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally. - ---------- - 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 @@ -69,14 +64,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -84,6 +76,6 @@ for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none diff --git a/doc/src/angle_cross.rst b/doc/src/angle_cross.rst index 7dcff0264fc26fc1dbae304dec09f1593833e62e..4fa95481ac753d5e9236fdbabe041b2b770a2d33 100644 --- a/doc/src/angle_cross.rst +++ b/doc/src/angle_cross.rst @@ -6,7 +6,6 @@ angle_style cross command Syntax """""" - .. code-block:: LAMMPS angle_style cross @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cross @@ -37,9 +35,9 @@ the bond stretch-bond stretch term and :math:`K_{BS0}` and :math:`K_{BS1}` are t of the bond stretch-angle stretch terms. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K_{SS}` (energy/distance\^2) * :math:`K_{BS0}` (energy/distance/rad) @@ -54,14 +52,13 @@ internally; hence the units of :math:`K_{BS0}` and :math:`K_{BS1}` are in energy Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_YAFF package. See the :doc:`Build package ` doc +USER_YAFF package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none diff --git a/doc/src/angle_dipole.rst b/doc/src/angle_dipole.rst index 351572cc22fe2c9e167e448b8f2c8694c3c265de..8cd171c35e76c9fc1ba172fbf7e0d1e80901118e 100644 --- a/doc/src/angle_dipole.rst +++ b/doc/src/angle_dipole.rst @@ -9,7 +9,6 @@ angle_style dipole/omp command Syntax """""" - .. code-block:: LAMMPS angle_style dipole @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style dipole @@ -40,14 +38,12 @@ and the reference (bond) vector :math:`\vec{r_{ij}}`: \cos\gamma = \frac{\vec{\mu_j}\cdot\vec{r_{ij}}}{\mu_j\,r_{ij}} - The *dipole* angle style uses the potential: .. math:: E = K (\cos\gamma - \cos\gamma_0)^2 - where :math:`K` is a rigidity constant and gamma0 is an equilibrium (reference) angle. @@ -59,7 +55,6 @@ potential using the 'chain rule' as in appendix C.3 of \vec{T_j} = \frac{2K(\cos\gamma - \cos\gamma_0)}{\mu_j\,r_{ij}}\, \vec{r_{ij}} \times \vec{\mu_j} - Example: if :math:`\gamma_0` is set to 0 degrees, the torque generated by the potential will tend to align the dipole along the reference direction defined by the (bond) vector :math:`\vec{r_{ij}}` (in other words, :math:`\vec{\mu_j}` is @@ -74,22 +69,19 @@ couple generating a torque equivalent to the opposite of :math:`\vec{T_j}`: -\vec{T_j} & = \vec{r_{ij}} \times \vec{F_i} \\ \vec{F_j} & = -\vec{F_i} - where :math:`\vec{F_i}` and :math:`\vec{F_j}` are applied on atoms :math:`i` and :math:`j`, respectively. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy) * :math:`\gamma_0` (degrees) - ---------- - 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 @@ -111,7 +103,6 @@ instructions on how to use the accelerated styles effectively. Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -136,24 +127,18 @@ This angle style should not be used with SHAKE. Related commands """""""""""""""" -:doc:`angle\_coeff `, :doc:`angle\_hybrid ` +:doc:`angle_coeff `, :doc:`angle_hybrid ` **Default:** none - ---------- - .. _Orsi: - - **(Orsi)** Orsi & Essex, The ELBA force field for coarse-grain modeling of lipid membranes, PloS ONE 6(12): e28637, 2011. .. _Allen1: - - **(Allen)** Allen & Tildesley, Computer Simulation of Liquids, Clarendon Press, Oxford, 1987. diff --git a/doc/src/angle_fourier.rst b/doc/src/angle_fourier.rst index c814b7224efd570054d8d352b2d316e7a73362c6..a2008f731cb54b276067eed5bdd926ff150a9d01 100644 --- a/doc/src/angle_fourier.rst +++ b/doc/src/angle_fourier.rst @@ -9,7 +9,6 @@ angle_style fourier/omp command Syntax """""" - .. code-block:: LAMMPS angle_style fourier @@ -31,21 +30,18 @@ The *fourier* angle style uses the potential E = K [C_0 + C_1 \cos ( \theta) + C_2 \cos( 2 \theta) ] - The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy) * :math:`C_0` (real) * :math:`C_1` (real) * :math:`C_2` (real) - ---------- - 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 @@ -64,21 +60,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none diff --git a/doc/src/angle_fourier_simple.rst b/doc/src/angle_fourier_simple.rst index 5ad8b386d0ea46fcbf34167626147f6be6b94491..795142ccaa41887568654c3b8a4ca269dd53ec67 100644 --- a/doc/src/angle_fourier_simple.rst +++ b/doc/src/angle_fourier_simple.rst @@ -9,7 +9,6 @@ angle_style fourier/simple/omp command Syntax """""" - .. code-block:: LAMMPS angle_style fourier/simple @@ -31,20 +30,17 @@ The *fourier/simple* angle style uses the potential E = K [ 1.0 + c \cos ( n \theta) ] - The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy) * :math:`c` (real) * :math:`n` (real) - ---------- - 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 @@ -63,21 +59,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none diff --git a/doc/src/angle_harmonic.rst b/doc/src/angle_harmonic.rst index 1066621729d1619829da5d35667dd99683fca446..4110f01d9b77823bf7b905576a7673322adef92f 100644 --- a/doc/src/angle_harmonic.rst +++ b/doc/src/angle_harmonic.rst @@ -15,7 +15,6 @@ angle_style harmonic/omp command Syntax """""" - .. code-block:: LAMMPS angle_style harmonic @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style harmonic @@ -38,14 +36,13 @@ The *harmonic* angle style uses the potential E = K (\theta - \theta_0)^2 - where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy/radian\^2) * :math:`\theta_0` (degrees) @@ -53,10 +50,8 @@ or :doc:`read\_restart ` commands: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of :math:`K` are in energy/radian\^2. - ---------- - 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 @@ -75,14 +70,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -90,6 +82,6 @@ page for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none diff --git a/doc/src/angle_hybrid.rst b/doc/src/angle_hybrid.rst index f685beacc8efb87e880985f94474e7d61d6ad567..c84b351132167053a1020f5128b29cb9048cd0c7 100644 --- a/doc/src/angle_hybrid.rst +++ b/doc/src/angle_hybrid.rst @@ -6,7 +6,6 @@ angle_style hybrid command Syntax """""" - .. code-block:: LAMMPS angle_style hybrid style1 style2 ... @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style hybrid harmonic cosine @@ -36,7 +34,7 @@ command or in the data file. In the :doc:`angle_coeff ` commands, the name of an angle style must be added after the angle type, with the remaining coefficients being those -appropriate to that style. In the example above, the 2 angle\_coeff +appropriate to that style. In the example above, the 2 angle_coeff commands set angles of angle type 1 to be computed with a *harmonic* potential with coefficients 80.0, 30.0 for :math:`K`, :math:`\theta_0`. All other angle types :math:`(2 - N)` are computed with a *cosine* potential with coefficient @@ -47,7 +45,6 @@ If angle coefficients are specified in the data file read via the E.g. "harmonic" or "cosine", must be added after the angle type, for each line in the "Angle Coeffs" section, e.g. - .. parsed-literal:: Angle Coeffs @@ -63,7 +60,6 @@ each line after the angle type. For lines in the BondBond (or BondAngle) section of the data file for angle types that are not *class2*\ , you must use an angle style of *skip* as a placeholder, e.g. - .. parsed-literal:: BondBond Coeffs @@ -81,14 +77,11 @@ in place of an angle style, either in a input script :doc:`angle_coeff ` doc page for more info. diff --git a/doc/src/angle_mm3.rst b/doc/src/angle_mm3.rst index 7cf7f9e7204e67da1dcda3cdb0580b452ea8dd8e..cc6ee120cdd2a386f7982ba6a7e4155bb48139d1 100644 --- a/doc/src/angle_mm3.rst +++ b/doc/src/angle_mm3.rst @@ -6,7 +6,6 @@ angle_style mm3 command Syntax """""" - .. code-block:: LAMMPS angle_style mm3 @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style mm3 @@ -30,15 +28,14 @@ as defined in :ref:`(Allinger) ` E = K (\theta - \theta_0)^2 \left[ 1 - 0.014(\theta - \theta_0) + 5.6(10)^{-5} (\theta - \theta_0)^2 - 7.0(10)^{-7} (\theta - \theta_0)^3 + 9(10)^{-10} (\theta - \theta_0)^4 \right] - where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a prefactor. The anharmonic prefactors have units :math:`\deg^{-n}`, for example :math:`-0.014 \deg^{-1}`, :math:`5.6 \cdot 10^{-5} \deg^{-2}`, ... The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy/radian\^2) * :math:`\theta_0` (degrees) @@ -49,14 +46,13 @@ internally; hence the units of :math:`K` are in energy/radian\^2. Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_YAFF package. See the :doc:`Build package ` doc +USER_YAFF package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none diff --git a/doc/src/angle_none.rst b/doc/src/angle_none.rst index e848391932ae9fbd945687ac68b4bdb4f9496803..eea4f2f951600c9335152867257f1de61025f006 100644 --- a/doc/src/angle_none.rst +++ b/doc/src/angle_none.rst @@ -6,7 +6,6 @@ angle_style none command Syntax """""" - .. code-block:: LAMMPS angle_style none @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style none diff --git a/doc/src/angle_quartic.rst b/doc/src/angle_quartic.rst index 104c0be802c6a651fd972f854da2e0763bc4f9d5..4559389a2a952b971d9017cdb399b5d536f6d10c 100644 --- a/doc/src/angle_quartic.rst +++ b/doc/src/angle_quartic.rst @@ -9,7 +9,6 @@ angle_style quartic/omp command Syntax """""" - .. code-block:: LAMMPS angle_style quartic @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style quartic @@ -32,14 +30,13 @@ The *quartic* angle style uses the potential E = K_2 (\theta - \theta_0)^2 + K_3 (\theta - \theta_0)^3 + K_4 (\theta - \theta_0)^4 - where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`\theta_0` (degrees) * :math:`K_2` (energy/radian\^2) @@ -49,10 +46,8 @@ or :doc:`read\_restart ` commands: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of :math:`K` are in energy/radian\^2. - ---------- - 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 @@ -71,21 +66,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`angle\_coeff ` +:doc:`angle_coeff ` **Default:** none diff --git a/doc/src/angle_sdk.rst b/doc/src/angle_sdk.rst index 0af22a5372a1a992808b96a476793591f2bae5a7..5601e4f2453b0e4466fff1d67b3c38e32f71e211 100644 --- a/doc/src/angle_sdk.rst +++ b/doc/src/angle_sdk.rst @@ -9,7 +9,6 @@ angle_style sdk/omp command Syntax """""" - .. code-block:: LAMMPS angle_style sdk @@ -19,7 +18,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style sdk @@ -32,19 +30,19 @@ The *sdk* angle style is a combination of the harmonic angle potential, .. math:: - E = K (\theta - \theta_0)^2 + E = K (\theta - \theta_0)^2 - -where :math:`\theta_0` is the equilibrium value of the angle and :math:`K` a prefactor, -with the *repulsive* part of the non-bonded *lj/sdk* pair style -between the atoms 1 and 3. This angle potential is intended for -coarse grained MD simulations with the CMM parameterization using the -:doc:`pair\_style lj/sdk `. Relative to the pair\_style -*lj/sdk*\ , however, the energy is shifted by *epsilon*\ , to avoid sudden -jumps. Note that the usual 1/2 factor is included in :math:`K`. +where :math:`\theta_0` is the equilibrium value of the angle and +:math:`K` a prefactor, with the *repulsive* part of the non-bonded +*lj/sdk* pair style between the atoms 1 and 3. This angle potential is +intended for coarse grained MD simulations with the CMM parameterization +using the :doc:`pair_style lj/sdk `. Relative to the +pair_style *lj/sdk*\ , however, the energy is shifted by +:math:`\epsilon`, to avoid sudden jumps. Note that the usual 1/2 factor +is included in :math:`K`. The following coefficients must be defined for each angle type via the -:doc:`angle\_coeff ` command as in the example above: +:doc:`angle_coeff ` command as in the example above: * :math:`K` (energy/radian\^2) * :math:`\theta_0` (degrees) @@ -52,12 +50,10 @@ The following coefficients must be defined for each angle type via the :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of :math:`K` are in energy/radian\^2. The also required *lj/sdk* parameters will be extracted automatically -from the pair\_style. - +from the pair_style. ---------- - 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 @@ -76,14 +72,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the USER-CGSDK package. See the :doc:`Build package ` doc page for more info. @@ -91,7 +84,7 @@ page for more info. Related commands """""""""""""""" -:doc:`angle\_coeff `, :doc:`angle\_style harmonic `, :doc:`pair\_style lj/sdk `, -:doc:`pair\_style lj/sdk/coul/long ` +:doc:`angle_coeff `, :doc:`angle_style harmonic `, :doc:`pair_style lj/sdk `, +:doc:`pair_style lj/sdk/coul/long ` **Default:** none diff --git a/doc/src/angle_style.rst b/doc/src/angle_style.rst index 3e22113d856983c2b6f8de7f4427201bc7fe0d55..91232a6b6c9b5c321522575cc6c8693cfae3dac0 100644 --- a/doc/src/angle_style.rst +++ b/doc/src/angle_style.rst @@ -6,7 +6,6 @@ angle_style command Syntax """""" - .. code-block:: LAMMPS angle_style style @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style harmonic @@ -43,7 +41,7 @@ files which means angle_style and :doc:`angle_coeff ` commands do not need to be re-specified in an input script that restarts a simulation. See the :doc:`read_restart ` command for details on how to do this. The one exception is that -angle\_style *hybrid* only stores the list of sub-styles in the restart +angle_style *hybrid* only stores the list of sub-styles in the restart file; angle coefficients need to be re-specified. .. note:: @@ -56,16 +54,14 @@ file; angle coefficients need to be re-specified. In the formulas listed for each angle style, *theta* is the angle between the 3 atoms in the angle. - ---------- - Here is an alphabetic list of angle styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated :doc:`angle_coeff ` command. Click on the style to display the formula it computes, any additional -arguments specified in the angle\_style command, and coefficients +arguments specified in the angle_style command, and coefficients specified by the associated :doc:`angle_coeff ` command. There are also additional accelerated pair styles included in the @@ -97,15 +93,12 @@ of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`sdk ` - harmonic angle with repulsive SDK pair style between 1-3 atoms * :doc:`table ` - tabulated by angle - ---------- - Restrictions """""""""""" - -Angle styles can only be set for atom\_styles that allow angles to be +Angle styles can only be set for atom_styles that allow angles to be defined. Most angle styles are part of the MOLECULE package. They are only @@ -120,7 +113,6 @@ Related commands Default """"""" - .. code-block:: LAMMPS angle_style none diff --git a/doc/src/angle_table.rst b/doc/src/angle_table.rst index f63cf167d9753cda93500503cf18d345854bb9ec..729d890d6773a7b17f4408d225d72b72ca33cefd 100644 --- a/doc/src/angle_table.rst +++ b/doc/src/angle_table.rst @@ -9,7 +9,6 @@ angle_style table/omp command Syntax """""" - .. code-block:: LAMMPS angle_style table style N @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style table linear 1000 @@ -59,14 +57,11 @@ The filename specifies a file containing tabulated energy and derivative values. The keyword specifies a section of the file. The format of this file is described below. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # Angle potential for harmonic (one or more comment or blank lines) @@ -92,7 +87,7 @@ keyword followed by one or more numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* specified in the :doc:`angle_style table ` command. Let -Ntable = *N* in the angle\_style command, and Nfile = "N" in the +Ntable = *N* in the angle_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and derivative @@ -129,10 +124,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - 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 @@ -151,24 +144,21 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Restart info:** -This angle style writes the settings for the "angle\_style table" -command to :doc:`binary restart files `, so a angle\_style +This angle style writes the settings for the "angle_style table" +command to :doc:`binary restart files `, so a angle_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file, since it is tabulated in the potential files. Thus, -angle\_coeff commands do need to be specified in the restart input +angle_coeff commands do need to be specified in the restart input script. Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/angle_zero.rst b/doc/src/angle_zero.rst index e5dab4e3a0cb29852b45e57268e6c99545441260..22b2e95c047d8f640b363f49e2ac3f354c691be1 100644 --- a/doc/src/angle_zero.rst +++ b/doc/src/angle_zero.rst @@ -6,7 +6,6 @@ angle_style zero command Syntax """""" - .. code-block:: LAMMPS angle_style zero *nocoeff* @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style zero diff --git a/doc/src/angles.rst b/doc/src/angles.rst index 79c52a552570f5f738cddc7b0da2bee4650fef05..c940689d4d1ced72204139131e21549766ce417f 100644 --- a/doc/src/angles.rst +++ b/doc/src/angles.rst @@ -1,7 +1,6 @@ Angle Styles ############ - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/atc_add_molecule.rst b/doc/src/atc_add_molecule.rst new file mode 100644 index 0000000000000000000000000000000000000000..dc0f0318ac710940af20237a58b70834a1575669 --- /dev/null +++ b/doc/src/atc_add_molecule.rst @@ -0,0 +1,48 @@ +.. index:: fix_modify AtC add_molecule + +fix_modify AtC add_molecule command +=================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify add_molecule + +* AtC fixID = ID of :doc:`fix atc ` instance +* add_molecule = name of the AtC sub-command +* *small* or *large* = can be *small* if molecule size < cutoff radius, must be *large* otherwise +* tag = tag for tracking a molecule +* *group-ID* = LAMMPS defined group-ID + +Examples +"""""""" + +.. code-block:: LAMMPS + + group WATERGROUP type 1 2 + fix_modify AtC add_molecule small water WATERGROUP + +Description +""""""""""" + +Associates a tag with all molecules corresponding to a specified group. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC add_species ` +- :doc:`fix_modify AtC remove_species ` +- :doc:`fix_modify AtC remove_molecule ` + +Default +""""""" + +None. diff --git a/doc/src/atc_add_species.rst b/doc/src/atc_add_species.rst new file mode 100644 index 0000000000000000000000000000000000000000..0b39379e62f21319c386ae4424593232cd62950b --- /dev/null +++ b/doc/src/atc_add_species.rst @@ -0,0 +1,49 @@ +.. index:: fix_modify AtC add_species + +fix_modify AtC add_species command +================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify add_species + +* AtC fixID = ID of :doc:`fix atc ` instance +* add_species = name of the AtC sub-command +* tag = tag for tracking a species +* *group* or *type* = LAMMPS defined group or type of atoms +* ID = name of group or type number + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC add_species gold type 1 + group GOLDGROUP type 1 + fix_modify AtC add_species gold group GOLDGROUP + +Description +""""""""""" + +Associates a tag with all atoms of a specified type or within a specified group. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC add_molecule ` +- :doc:`fix_modify AtC remove_species ` +- :doc:`fix_modify AtC remove_molecule ` + +Default +""""""" + +None. diff --git a/doc/src/atc_atom_element_map.rst b/doc/src/atc_atom_element_map.rst new file mode 100644 index 0000000000000000000000000000000000000000..96895acc8eed3bded78a733ba89a1b1581b2c5de --- /dev/null +++ b/doc/src/atc_atom_element_map.rst @@ -0,0 +1,46 @@ +.. index:: fix_modify AtC atom_element_map + +fix_modify AtC atom_element_map command +======================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify atom_element_map [] + +* AtC fixID = ID of :doc:`fix atc ` instance +* atom_element_map = name of the AtC sub-command +* *eulerian* or *lagrangian* = frame of reference +* frequency = frequency of updating atom-to-continuum maps based on the current configuration - (only for eulerian) + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC atom_element_map eulerian 100 + +Description +""""""""""" + +Changes frame of reference from *eulerian* to *lagrangian* or vice versa +and sets the frequency for which the map from atoms to elements is +reformed and all the attendant data is recalculated. + +Restrictions +"""""""""""" + +Cannot change map type after initialization. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +*lagrangian* diff --git a/doc/src/atc_atom_weight.rst b/doc/src/atc_atom_weight.rst new file mode 100644 index 0000000000000000000000000000000000000000..50e7ea146d01aa40ca83f080eae49c3b5e7be9be --- /dev/null +++ b/doc/src/atc_atom_weight.rst @@ -0,0 +1,56 @@ +.. index:: fix_modify AtC atom_weight + +fix_modify AtC atom_weight command +================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify atom_weight + +* AtC fixID = ID of :doc:`fix atc ` instance +* atom_weight = name of the AtC sub-command +* method = *constant* or *lattice* or *element* or *region* or *group* or *read_in* + + - *constant* : atoms in specified group are assigned the constant value given + - *lattice*\ : volume per atom for specified lattice type (e.g. fcc) and parameter + - *element*\ : element volume divided among atoms within element + - *region*\ : volume per atom determined based on the atom count in the MD regions and their volumes. Note: meaningful only if atoms completely fill all the regions. + - *group*\ : volume per atom determined based on the atom count in a group and its volume + - *node*\ : (undocumented) + - *node_element*\ : (undocumented) + - *read_in*\ : list of values for atoms are read-in from specified file + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC atom_weight constant myatoms 11.8 + fix_modify AtC atom_weight lattice + fix_modify AtC atom_weight read-in atm_wt_file.txt + +Description +""""""""""" + +Command for assigning the value of atomic weights used for atomic +integration in atom-continuum coupled simulations. + + +Restrictions +"""""""""""" + +The use of the lattice option requires a lattice type and parameter is already specified. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +*lattice* + diff --git a/doc/src/atc_atomic_charge.rst b/doc/src/atc_atomic_charge.rst new file mode 100644 index 0000000000000000000000000000000000000000..4b3d34b815221a3af0c8bbeca35f7b93c6846f78 --- /dev/null +++ b/doc/src/atc_atomic_charge.rst @@ -0,0 +1,43 @@ +.. index:: fix_modify AtC atomic_charge + +fix_modify AtC atomic_charge command +==================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify atomic_charge + +* AtC fixID = ID of :doc:`fix atc ` instance +* *include* or *omit* = switch to activate/deactivate inclusion of intrinsic atomic charge in ATC +* atomic_charge = name of the AtC sub-command + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC include atomic_charge + +Description +""""""""""" + +Determines whether AtC tracks the total charge as a finite element +field. + +Restrictions +"""""""""""" + +Required for: *electrostatics* + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +If the atom charge is defined, default is on, otherwise default is off. diff --git a/doc/src/atc_boundary_dynamics.rst b/doc/src/atc_boundary_dynamics.rst new file mode 100644 index 0000000000000000000000000000000000000000..696d0910941df9574ad9aaabf9d1763bc67de0a2 --- /dev/null +++ b/doc/src/atc_boundary_dynamics.rst @@ -0,0 +1,43 @@ +.. index:: fix_modify AtC boundary_dynamics + +fix_modify AtC boundary_dynamics command +======================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify boundary_dynamics + +* AtC fixID = ID of :doc:`fix atc ` instance +* boundary_dynamics = name of the AtC sub-command +* *on* or *damped_harmonic* *prescribed* *coupled* *none* + + +Description +""""""""""" + +Sets different schemes for controlling boundary atoms. *on* will integrate +the boundary atoms using the velocity-verlet algorithm. *damped_harmonic* +uses a mass/spring/dashpot for the boundary atoms with added arguments +of the damping and spring constants followed by the ratio of the +boundary type mass to the desired mass. *prescribed* forces the boundary +atoms to follow the finite element displacement. *coupled* does the same. + +Restrictions +"""""""""""" + +Boundary atoms must be specified. When using swaps between internal and +boundary atoms, the initial configuration must have already correctly +partitioned the two. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +*prescribed on* diff --git a/doc/src/atc_boundary_faceset.rst b/doc/src/atc_boundary_faceset.rst new file mode 100644 index 0000000000000000000000000000000000000000..c33239b833bd1a868ff67fbc663ce823e0625fa4 --- /dev/null +++ b/doc/src/atc_boundary_faceset.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC boundary_faceset + +fix_modify AtC boundary_faceset command +======================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify boundary_faceset + +* AtC fixID = ID of :doc:`fix atc ` instance +* boundary_faceset = name of the AtC sub-command +* *is* or *add* = select whether to select or add a faceset +* faceset_name = name of the faceset + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC boundary_faceset is obndy + +Description +""""""""""" + +This command species the faceset name when using a faceset to compute +the MD/FE boundary fluxes. The faceset must already exist. + +Restrictions +"""""""""""" + +This is only valid when *fe_md_boundary* is set to *faceset*\ . + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC fe_md_boundary ` +- :doc:`fix_modify AtC mesh create_faceset box ` +- :doc:`fix_modify AtC mesh create_faceset plane ` + +Default +""""""" + +None. diff --git a/doc/src/atc_boundary_type.rst b/doc/src/atc_boundary_type.rst new file mode 100644 index 0000000000000000000000000000000000000000..26b40e5a123cb50c442b6e64394e3b1ca709a7bb --- /dev/null +++ b/doc/src/atc_boundary_type.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC boundary type + +fix_modify AtC boundary type command +==================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify boundary type + +* AtC fixID = ID of :doc:`fix atc ` instance +* boundary type = name of the AtC sub-command +* atom-type-id = type id for atoms that represent a fictitious boundary internal to the FE mesh + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC boundary type ghost_atoms + +Description +""""""""""" + +Command to define the atoms that represent the fictitious boundary +internal to the FE mesh. For fully overlapped MD/FE domains with +periodic boundary conditions no boundary atoms should be defined. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None. diff --git a/doc/src/atc_consistent_fe_initialization.rst b/doc/src/atc_consistent_fe_initialization.rst new file mode 100644 index 0000000000000000000000000000000000000000..3241752262da7df2ebe5b49283a042feed5600ea --- /dev/null +++ b/doc/src/atc_consistent_fe_initialization.rst @@ -0,0 +1,46 @@ +.. index:: fix_modify AtC consistent_fe_initialization + +fix_modify AtC consistent_fe_initialization command +=================================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify consistent_fe_initialization + +* AtC fixID = ID of :doc:`fix atc ` instance +* consistent_fe_initialization = name of the AtC sub-command +* *on* or *off* = switch to activate/deactivate the initial setting of the FE intrinsic field to match the projected MD field + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC consistent_fe_initialization on + +Description +""""""""""" + +Determines whether AtC initializes FE intrinsic fields (e.g., +temperature) to match the projected MD values. This is particularly +useful for fully overlapping simulations. + +Restrictions +"""""""""""" + +Can be used with: *thermal*, *two_temperature*. +Cannot be used with time filtering on. +Does not include boundary nodes. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +Default is *off* diff --git a/doc/src/atc_control_localized_lambda.rst b/doc/src/atc_control_localized_lambda.rst new file mode 100644 index 0000000000000000000000000000000000000000..eb286756b799bda4a3cdbde9b6d02bd700a7a138 --- /dev/null +++ b/doc/src/atc_control_localized_lambda.rst @@ -0,0 +1,46 @@ +.. index:: fix_modify AtC control localized_lambda + +fix_modify AtC control localized_lambda command +=============================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify control localized_lambda + +* AtC fixID = ID of :doc:`fix atc ` instance +* control localized_lambda = name of the AtC sub-command +* *on* or *off* = Toggles state of localization algorithm + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC control localized_lambda on + +Description +""""""""""" + +Turns the localization algorithms *on* or *off* for control algorithms +to restrict the influence of FE coupling or boundary conditions to a +region near the boundary of the MD region. Control algorithms will not +affect atoms in elements not possessing faces on the boundary of the +region. Flux-based control is localized via row-sum lumping while +quantity control is done by solving a truncated matrix equation. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +off diff --git a/doc/src/atc_control_momentum.rst b/doc/src/atc_control_momentum.rst new file mode 100644 index 0000000000000000000000000000000000000000..7a9e88c72172299f642f5f4ee49f42f2c766f52f --- /dev/null +++ b/doc/src/atc_control_momentum.rst @@ -0,0 +1,78 @@ +.. index:: fix_modify AtC control momentum + +fix_modify AtC control momentum command +======================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify control + fix_modify AtC control momentum none + fix_modify AtC control momentum rescale + fix_modify AtC control momentum glc_displacement + fix_modify AtC control momentum glc_velocity + fix_modify AtC control momentum hoover + fix_modify AtC control momentum flux [faceset face_set_id, interpolate] + +* AtC fixID = ID of :doc:`fix atc ` instance +* control = name of the AtC sub-command +* physics_type = *thermal* or *momentum* +* solution_parameter = *max_iterations* or *tolerance* +* value = solution_parameter value +* momentum option = *none* or *rescale* or *glc_displacement* or *glc_velocity* *hoover* or *flux* +* frequency = time step frequency for applying displacement and velocity rescaling +* faceset_id = id of boundary face set (optional, only for *faceset*) + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC control momentum none + fix_modify AtC control momentum flux faceset bndy_faces + fix_modify AtC control momentum glc_velocity + +Description +""""""""""" + +The general version of *control* sets the numerical parameters for the +matrix solvers used in the specified control algorithm. Many solution +approaches require iterative solvers, and these methods enable users to +provide the maximum number of iterations and the relative tolerance. + +The *control momentum* version sets the momentum exchange mechanism from +the finite elements to the atoms, managed through a control algorithm. +*rescale* computes a scale factor for each atom to match the finite +element temperature. *hoover* is a Gaussian least-constraint isokinetic +thermostat enforces that the nodal restricted atomic temperature matches +the finite element temperature. *flux* is a similar mode, but rather +adds energy to the atoms based on conservation of energy. + +*correction_max_iterations* sets the maximum number of iterations to +compute the 2nd order in time correction term for lambda with the +fractional step method. The method uses the same tolerance as the +controller's matrix solver. + +Restrictions +"""""""""""" + +Only for be used with the specific controllers *thermal* or *momentum*. +They are ignored if a lumped solution is requested. + +*control momentum* is only for be used with specific transfers: elastic +*rescale* not valid with time filtering activated + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC control thermal ` + +Default +""""""" + +- *max_iterations* is the number of rows in the matrix. +- *tolerance* is 1.0e-10. diff --git a/doc/src/atc_control_thermal.rst b/doc/src/atc_control_thermal.rst new file mode 100644 index 0000000000000000000000000000000000000000..dc3f28f8ebcc696d5007281b68f5660669a1f296 --- /dev/null +++ b/doc/src/atc_control_thermal.rst @@ -0,0 +1,88 @@ +.. index:: fix_modify AtC control thermal + +fix_modify AtC control thermal command +====================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify control + fix_modify control thermal + fix_modify control thermal rescale + fix_modify control thermal flux + fix_modify control thermal correction_max_iterations + +* AtC fixID = ID of :doc:`fix atc ` instance +* control = name of the AtC sub-command +* physics_type = *thermal* or *momentum* +* solution_parameter = *max_iterations* or *tolerance* +* value = solution_parameter value +* thermal control_type = *none* or *rescale* or *hoover* or *flux* +* frequency = time step frequency for applying velocity rescaling +* boundary_integration_type = *faceset* or *interpolate* (optional) +* faceset_id = id of boundary face set (optional, only for *faceset*) +* correction_max_iterations = maximum number of iterations that will be used by iterative matrix solvers for *thermal* physics type + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC control thermal none + fix_modify AtC control thermal rescale 10 + fix_modify AtC control thermal hoover + fix_modify AtC control thermal flux + fix_modify AtC control thermal flux faceset bndy_faces + fix_modify AtC control thermal correction_max_iterations 10 + +Description +""""""""""" + +The general version of *control* sets the numerical parameters for the +matrix solvers used in the specified control algorithm. Many solution +approaches require iterative solvers, and these methods enable users to +provide the maximum number of iterations and the relative tolerance. + +The *control thermal* version sets the energy exchange mechanism from +the finite elements to the atoms, managed through a control algorithm. +*rescale* computes a scale factor for each atom to match the finite +element temperature. *hoover* is a Gaussian least-constraint isokinetic +thermostat enforces that the nodal restricted atomic temperature matches +the finite element temperature. *flux* is a similar mode, but rather +adds energy to the atoms based on conservation of energy. *hoover* and +*flux* allow the prescription of sources or fixed temperatures on the +atoms. + +*correction_max_iterations* sets the maximum number of iterations to +compute the 2nd order in time correction term for lambda with the +fractional step method. The method uses the same tolerance as the +controller's matrix solver. + +Restrictions +"""""""""""" + +Only for be used with the specific controllers *thermal* or *momentum*. +They are ignored if a lumped solution is requested. + +*control thermal* is only for be used with specific transfers: thermal (*rescale*\ , *hoover*\ , *flux*\ ), *two_temperature* (*flux*\ ). +*rescale* not valid with time filtering activated + +*correction_max_iterations* is only for use with *thermal* physics using +the fractional step method. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC control momentum ` + +Default +""""""" + +- *max_iterations* is the number of rows in the matrix. +- *tolerance* is 1.0e-10. +- *rescale* frequency is 1 +- *flux* boundary_integration_type is *interpolate* +- *correction_max_iterations* is 20 diff --git a/doc/src/atc_decomposition.rst b/doc/src/atc_decomposition.rst new file mode 100644 index 0000000000000000000000000000000000000000..50d11bf52f8710709951528b4dba517ca8158ff4 --- /dev/null +++ b/doc/src/atc_decomposition.rst @@ -0,0 +1,48 @@ +.. index:: fix_modify AtC decomposition + +fix_modify AtC decomposition command +==================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify decomposition + +* AtC fixID = ID of :doc:`fix atc ` instance +* decomposition = name of the AtC sub-command +* type = *replicated_memory* or *distributed_memory* + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC decomposition distributed_memory + +Description +""""""""""" + +Command for assigning the distribution of work and memory for parallel +runs. With *replicated_memory* the nodal information is replicated on +each processor, and with *distributed_memory* only the owned nodal +information kept on each processor. The *replicated_memory* option +is most appropriate for simulations were the number of nodes is much +smaller than the number of atoms. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +replicated_memory diff --git a/doc/src/atc_electron_integration.rst b/doc/src/atc_electron_integration.rst new file mode 100644 index 0000000000000000000000000000000000000000..2f3fd9eee2b70b0229b09d0002c85d07bb17bf30 --- /dev/null +++ b/doc/src/atc_electron_integration.rst @@ -0,0 +1,49 @@ +.. index:: fix_modify AtC extrinsic electron_integration + +fix_modify AtC extrinsic electron_integration command +===================================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify extrinsic electron_integration [] + +* AtC fixID = ID of :doc:`fix atc ` instance +* extrinsic electron_integration = name of the AtC sub-command +* integration_type = *explicit* or *implicit* or *steady* +* num_subcycle_steps = number of subcycle steps for the electron time integration (optional) + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC extrinsic electron_integration implicit + fix_modify AtC extrinsic electron_integration explicit 100 + +Description +""""""""""" + +Switches between integration schemes for the electron temperature. The +number of subcycling steps used to integrate the electron temperature for +one LAMMPS timestep can be manually adjusted to capture fast electron +dynamics. + +Restrictions +"""""""""""" + +For use only with the two_temperature type of the AtC fix (see +:doc:`fix atc ` command) + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +*implicit* and *subcycle_steps* = 1 diff --git a/doc/src/atc_equilibrium_start.rst b/doc/src/atc_equilibrium_start.rst new file mode 100644 index 0000000000000000000000000000000000000000..0068dc02c39cd5a1dd91950ac0bb2573e335b592 --- /dev/null +++ b/doc/src/atc_equilibrium_start.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC equilibrium_start + +fix_modify AtC equilibrium_start command +======================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify equilibrium_start + +* AtC fixID = ID of :doc:`fix atc ` instance +* equilibrium_start = name of the AtC sub-command +* *exponential* or *step* or *no_filter* = select type of filter + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC equilibrium_start on + +Description +""""""""""" + +Starts filtered calculations assuming they start in equilibrium, +i.e. perfect finite element force balance. + +Restrictions +"""""""""""" + +Only for use with these specific transfers: thermal, two_temperature + +Related AtC commands +"""""""""""""""""""" +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC filter ` +- :doc:`fix_modify AtC filter scale ` + +Default +""""""" + +None. diff --git a/doc/src/atc_extrinsic_exchange.rst b/doc/src/atc_extrinsic_exchange.rst new file mode 100644 index 0000000000000000000000000000000000000000..03d794115b008c028d7e8d518b6177687fa9ee59 --- /dev/null +++ b/doc/src/atc_extrinsic_exchange.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC extrinsic exchange + +fix_modify AtC extrinsic exchange command +========================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify extrinsic exchange + +* AtC fixID = ID of :doc:`fix atc ` instance +* extrinsic exchange = name of the AtC sub-command +* *on* or *off* = set state of energy exchange + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC extrinsic exchange on + +Description +""""""""""" + +Switches energy exchange between the MD system and the electron system +on or off + +Restrictions +"""""""""""" + +For use only with the two_temperature type of the AtC fix (see +:doc:`fix atc ` command) + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +*on* diff --git a/doc/src/atc_fe_md_boundary.rst b/doc/src/atc_fe_md_boundary.rst new file mode 100644 index 0000000000000000000000000000000000000000..ad66bf6d4932cc0258c5a0e35cdf4f6d3d222f67 --- /dev/null +++ b/doc/src/atc_fe_md_boundary.rst @@ -0,0 +1,52 @@ +.. index:: fix_modify AtC fe_md_boundary + +fix_modify AtC fe_md_boundary command +===================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify fe_md_boundary + +* AtC fixID = ID of :doc:`fix atc ` instance +* fe_md_boundary = name of the AtC sub-command +* *faceset* or *interpolate* or *no_boundary* + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC fe_md_boundary interpolate + +Description +""""""""""" + +Specifies different methods for computing fluxes between between the MD +and FE integration regions. Faceset defines a faceset separating the MD +and FE regions and uses finite element face quadrature to compute the +flux. Interpolate uses a reconstruction scheme to approximate the flux, +which is more robust but less accurate if the MD/FE boundary does +correspond to a faceset. No boundary results in no fluxes between the +systems being computed. + + +Restrictions +"""""""""""" + +If *faceset* is used, all the AtC non-boundary atoms must lie within and +completely fill the domain enclosed by the faceset. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh create_faceset box ` +- :doc:`fix_modify AtC mesh create_faceset plane ` + +Default +""""""" + +*interpolate* diff --git a/doc/src/atc_filter_scale.rst b/doc/src/atc_filter_scale.rst new file mode 100644 index 0000000000000000000000000000000000000000..ce62a589eba20c3b85ca9fafc54408f49f866c6f --- /dev/null +++ b/doc/src/atc_filter_scale.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC filter scale + +fix_modify AtC filter scale command +=================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify filter scale + +* AtC fixID = ID of :doc:`fix atc ` instance +* filter scale = name of the AtC sub-command +* scale = characteristic times scale of the filter + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC filter scale 10.0 + +Description +""""""""""" + +Sets the time scale for MD dynamics filter to construct a more +appropriate continuous field. + +Restrictions +"""""""""""" + +Only for use with these specific transfers: thermal, two_temperature + +Related AtC commands +"""""""""""""""""""" +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC filter ` +- :doc:`fix_modify AtC filter type ` + +Default +""""""" + +0.0 diff --git a/doc/src/atc_filter_type.rst b/doc/src/atc_filter_type.rst new file mode 100644 index 0000000000000000000000000000000000000000..5e2da80755b0c4d2c2c8bd15fcf1b6c7c9949f69 --- /dev/null +++ b/doc/src/atc_filter_type.rst @@ -0,0 +1,43 @@ +.. index:: fix_modify AtC filter type + +fix_modify AtC filter type command +=================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify filter type + +* AtC fixID = ID of :doc:`fix atc ` instance +* filter type = name of the AtC sub-command +* *exponential* or *step* or *no_filter* = select type of filter + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC filter type exponential + +Description +""""""""""" + +Specifies the type of time filter used. + +Restrictions +"""""""""""" + +Only for use with these specific transfers: thermal, two_temperature + +Related AtC commands +"""""""""""""""""""" +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC filter ` +- :doc:`fix_modify AtC filter scale ` + +Default +""""""" + +None. diff --git a/doc/src/atc_fix.rst b/doc/src/atc_fix.rst new file mode 100644 index 0000000000000000000000000000000000000000..d3ba972508a5a5f04877ad84279756fe3b8a3bb6 --- /dev/null +++ b/doc/src/atc_fix.rst @@ -0,0 +1,46 @@ +.. index:: fix_modify AtC fix + +fix_modify AtC fix command +========================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify fix + +* AtC fixID = ID of :doc:`fix atc ` instance +* fix = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* nodeset = name of set of nodes to apply boundary condition +* *constant* or *function* = value or name of function followed by its parameters + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC fix temperature groupNAME 10. + fix_modify AtC fix temperature groupNAME 0 0 0 10.0 0 0 1.0 + +Description +""""""""""" + +Creates a constraint on the values of the specified field at specified nodes. + +Restrictions +"""""""""""" + +The keyword *all* is reserved and thus not available as nodeset name. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC unfix ` + +Default +""""""" + +None. diff --git a/doc/src/atc_fix_flux.rst b/doc/src/atc_fix_flux.rst new file mode 100644 index 0000000000000000000000000000000000000000..12699e9163caec7c91d46455f4745ddb4e89c682 --- /dev/null +++ b/doc/src/atc_fix_flux.rst @@ -0,0 +1,48 @@ +.. index:: fix_modify AtC fix_flux + +fix_modify AtC fix_flux command +=============================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify fix_flux + +* AtC fixID = ID of :doc:`fix atc ` instance +* fix_flux = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* face_set = name of set of element faces +* *value* or *function* = value or name of function followed by its parameters + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC fix_flux temperature faceSet 10.0 + +Description +""""""""""" + +Command for fixing normal fluxes e.g. heat_flux. This command only +prescribes the normal component of the physical flux, e.g. heat (energy) +flux. The units are in AtC units, i.e. derived from the LAMMPS length, +time, and mass scales. + +Restrictions +"""""""""""" + +Only normal fluxes (Neumann data) can be prescribed. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC unfix_flux ` + +Default +""""""" + +None. diff --git a/doc/src/atc_hardy_computes.rst b/doc/src/atc_hardy_computes.rst new file mode 100644 index 0000000000000000000000000000000000000000..609740fe9913b4374ad3ed5b419554bebbf43e39 --- /dev/null +++ b/doc/src/atc_hardy_computes.rst @@ -0,0 +1,54 @@ +.. index:: fix_modify AtC computes + +fix_modify AtC computes command +=============================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify computes + +* AtC fixID = ID of :doc:`fix atc ` instance +* computes = name of the AtC sub-command +* *add* or *delete* = add or delete the calculation of an equivalent continuum field for the specified per-atom compute as volume or number density quantity +* per-atom compute-ID = ID of a per-atom compute; fields can be calculated for all per-atom computes available in LAMMPS +* *volume* or *number* = select whether the created field is a per-unit-volume quantity or a per-atom quantity as weighted by kernel functions + +Examples +"""""""" + +.. code-block:: LAMMPS + + compute virial all stress/atom + fix_modify AtC computes add virial volume + fix_modify AtC computes delete virial + + compute centrosymmetry all centro/atom + fix_modify AtC computes add centrosymmetry number + +Description +""""""""""" + +Calculates continuum fields corresponding to specified per-atom +:doc:`computes ` created by LAMMPS. + +Restrictions +"""""""""""" + +Must be used with :doc:`fix atc hardy `. The per-atom compute +must be specified before the corresponding continuum field can be +requested. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC fields ` +- :doc:`compute ` + +Default +""""""" + +None. diff --git a/doc/src/atc_hardy_fields.rst b/doc/src/atc_hardy_fields.rst new file mode 100644 index 0000000000000000000000000000000000000000..70f3360af8e7634c1d753f3c213d4db91ef9b70f --- /dev/null +++ b/doc/src/atc_hardy_fields.rst @@ -0,0 +1,86 @@ +.. index:: fix_modify AtC fields + +fix_modify AtC fields command +============================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify fields + fix_modify fields + +* AtC fixID = ID of :doc:`fix atc ` instance +* fields = name of the AtC sub-command +* *all* or *none* = output all or no fields +* *add* or *delete* = add or delete the listed output fields +* list_of_fields = one or more of the fields listed below: + + - density : mass per unit volume + - displacement : displacement vector + - momentum : momentum per unit volume + - velocity : defined by momentum divided by density + - projected_velocity : simple kernel estimation of atomic velocities + - temperature : temperature derived from the relative atomic kinetic energy + - kinetic_temperature : temperature derived from the full kinetic energy + - number_density : simple kernel estimation of number of atoms per unit volume + - stress : Cauchy stress tensor for eulerian analysis (atom_element_map), or 1st Piola-Kirchhoff stress tensor for lagrangian analysis + - transformed_stress : 1st Piola-Kirchhoff stress tensor for eulerian analysis (atom_element_map), or Cauchy stress tensor for lagrangian analysis + - heat_flux : spatial heat flux vector for eulerian, or referential heat flux vector for lagrangian + - potential_energy : potential energy per unit volume + - kinetic_energy : kinetic energy per unit volume + - thermal_energy : thermal energy (kinetic energy - continuum kinetic energy) per unit volume + - internal_energy : total internal energy (potential + thermal) per unit volume + - energy : total energy (potential + kinetic) per unit volume + - number_density : number of atoms per unit volume + - eshelby_stress : configurational stress (energy-momentum) tensor defined by [Eshelby]_ + - vacancy_concentration : volume fraction of vacancy content + - type_concentration : volume fraction of a specific atom type + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC fields add velocity temperature + + +Description +""""""""""" + +Allows modification of the fields calculated and output by the AtC +transfer class. The commands are cumulative, e.g.: + +.. code-block:: LAMMPS + + fix_modify AtC fields none + fix_modify AtC fields add velocity temperature + +will only output the velocity and temperature fields. + +Restrictions +"""""""""""" + +Must be used with :doc:`fix atc hardy `. Currently, the stress +and heat flux formulas are only correct for central force potentials, +e.g. Lennard-Jones and EAM but not Stillinger-Weber. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC gradients ` +- :doc:`fix_modify AtC rates ` +- :doc:`fix_modify AtC computes ` + + +Default +""""""" + +By default, no fields are output. + +References +"""""""""" + +.. [Eshelby] J.D. Eshelby, Philos. Trans. Royal Soc. London A, Math. Phys. Sci., Vol. 244, No. 877 (1951) pp. 87-112; J. Elasticity, Vol. 5, Nos. 3-4 (1975) pp. 321-335] diff --git a/doc/src/atc_hardy_gradients.rst b/doc/src/atc_hardy_gradients.rst new file mode 100644 index 0000000000000000000000000000000000000000..36fad76afe12cedb818c113d57270d8e51eb413c --- /dev/null +++ b/doc/src/atc_hardy_gradients.rst @@ -0,0 +1,74 @@ +.. index:: fix_modify AtC gradients + +fix_modify AtC gradients command +================================ + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify gradients + +* AtC fixID = ID of :doc:`fix atc ` instance +* gradients = name of the AtC sub-command +* *add* or *delete* = select whether to add or delete calculation of gradients for the listed output fields +* list_of_fields = one or more of the fields listed below: + + - density : mass per unit volume + - displacement : displacement vector + - momentum : momentum per unit volume + - velocity : defined by momentum divided by density + - projected_velocity : simple kernel estimation of atomic velocities + - temperature : temperature derived from the relative atomic kinetic energy + - kinetic_temperature : temperature derived from the full kinetic energy + - number_density : simple kernel estimation of number of atoms per unit volume + - stress : Cauchy stress tensor for eulerian analysis (atom_element_map), or 1st Piola-Kirchhoff stress tensor for lagrangian analysis + - transformed_stress : 1st Piola-Kirchhoff stress tensor for eulerian analysis (atom_element_map), or Cauchy stress tensor for lagrangian analysis + - heat_flux : spatial heat flux vector for eulerian, or referential heat flux vector for lagrangian + - potential_energy : potential energy per unit volume + - kinetic_energy : kinetic energy per unit volume + - thermal_energy : thermal energy (kinetic energy - continuum kinetic energy) per unit volume + - internal_energy : total internal energy (potential + thermal) per unit volume + - energy : total energy (potential + kinetic) per unit volume + - number_density : number of atoms per unit volume + - eshelby_stress : configurational stress (energy-momentum) tensor defined by [Eshelby]_ + - vacancy_concentration : volume fraction of vacancy content + - type_concentration : volume fraction of a specific atom type + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC gradients add temperature velocity stress + fix_modify AtC gradients delete velocity + + +Description +""""""""""" + +Requests calculation and output of gradients of the fields from the AtC +transfer class. These gradients will be with regard to spatial or +material coordinate for Eulerian or Lagrangian analysis, respectively, +as specified by :doc:`fix_modify AtC atom_element_map ` + + +Restrictions +"""""""""""" + +Must be used with :doc:`fix atc hardy `. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC atom_element_map ` +- :doc:`fix_modify AtC fields ` +- :doc:`fix_modify AtC rates ` + +Default +""""""" + +None. diff --git a/doc/src/atc_hardy_kernel.rst b/doc/src/atc_hardy_kernel.rst new file mode 100644 index 0000000000000000000000000000000000000000..a52f2a9968e317332d33e417a806032ac27cb1bc --- /dev/null +++ b/doc/src/atc_hardy_kernel.rst @@ -0,0 +1,64 @@ +.. index:: fix_modify AtC kernel + +fix_modify AtC kernel command +============================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify kernel + +* AtC fixID = ID of :doc:`fix atc ` instance +* kernel = name of the AtC sub-command +* type = *step* or *cell* or *cubic_bar* or *cubic_cylinder* or + *cubic_sphere* or *quartic_bar* or *quartic_cylinder* or + *quartic_sphere* +* the following parameter(s) are required for each kernel: + + - *step* : + - *cell* : or + - *cubic_bar* : + - *cubic_cylinder* : + - *cubic_sphere* : + - *quartic_bar* : + - *quartic_cylinder* : + - *quartic_sphere* : + + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC kernel cell 1.0 1.0 1.0 + fix_modify AtC kernel quartic_sphere 10.0 + + +Description +""""""""""" + +Sets the localization kernel type and parameters for :doc:`fix atc hardy `. + +Restrictions +"""""""""""" + +Must be used with :doc:`fix atc hardy `. For bar kernel types, +half-width oriented along x-direction. For cylinder kernel types, +cylindrical axis is assumed to be in z-direction. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC fields ` +- :doc:`fix_modify AtC gradients ` +- :doc:`fix_modify AtC rates ` +- :doc:`fix_modify AtC computes ` + +Default +""""""" + +None. diff --git a/doc/src/atc_hardy_on_the_fly.rst b/doc/src/atc_hardy_on_the_fly.rst new file mode 100644 index 0000000000000000000000000000000000000000..fe7c688387d2080217872fcf5608e40b243b7b75 --- /dev/null +++ b/doc/src/atc_hardy_on_the_fly.rst @@ -0,0 +1,54 @@ +.. index:: fix_modify AtC on_the_fly + +fix_modify AtC on_the_fly command +================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify on_the_fly + +* AtC fixID = ID of :doc:`fix atc ` instance +* on_the_fly = name of the AtC sub-command +* *bond* or *kernel* = specifies on-the-fly calculation of *bond* or *kernel* matrix elements +* *on* or *off* = activate or discontinue on-the-fly mode + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC on_the_fly bond on + fix_modify AtC on_the_fly kernel + fix_modify AtC on_the_fly kernel off + +Description +""""""""""" + +Overrides normal mode of pre-calculating and storing bond pair-to-node a +nd kernel atom-to-node matrices. If activated, it will calculate elements +of these matrices during repeated calls of field computations +(i.e. "on-the-fly") and not store them for future use. The *on* flag is +optional - if omitted, on_the_fly will be activated for the specified +matrix. Can be deactivated using the *off* flag. + +Restrictions +"""""""""""" + +Must be used with :doc:`fix atc hardy `. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +By default, on-the-fly calculation is not active (i.e. off). However, +THE code does a memory allocation check to determine if it can store all +needed bond and kernel matrix elements. If this allocation fails, +on-the-fly will be activated. + diff --git a/doc/src/atc_hardy_rates.rst b/doc/src/atc_hardy_rates.rst new file mode 100644 index 0000000000000000000000000000000000000000..890ada0c4723cc20b795763cda31d4478f94b1ee --- /dev/null +++ b/doc/src/atc_hardy_rates.rst @@ -0,0 +1,74 @@ +.. index:: fix_modify AtC rates + +fix_modify AtC rates command +================================ + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify rates + +* AtC fixID = ID of :doc:`fix atc ` instance +* rates = name of the AtC sub-command +* *add* or *delete* = select whether to add or delete calculation of rates for the listed output fields +* list_of_fields = one or more of the fields listed below: + + - density : mass per unit volume + - displacement : displacement vector + - momentum : momentum per unit volume + - velocity : defined by momentum divided by density + - projected_velocity : simple kernel estimation of atomic velocities + - temperature : temperature derived from the relative atomic kinetic energy + - kinetic_temperature : temperature derived from the full kinetic energy + - number_density : simple kernel estimation of number of atoms per unit volume + - stress : Cauchy stress tensor for eulerian analysis (atom_element_map), or 1st Piola-Kirchhoff stress tensor for lagrangian analysis + - transformed_stress : 1st Piola-Kirchhoff stress tensor for eulerian analysis (atom_element_map), or Cauchy stress tensor for lagrangian analysis + - heat_flux : spatial heat flux vector for eulerian, or referential heat flux vector for lagrangian + - potential_energy : potential energy per unit volume + - kinetic_energy : kinetic energy per unit volume + - thermal_energy : thermal energy (kinetic energy - continuum kinetic energy) per unit volume + - internal_energy : total internal energy (potential + thermal) per unit volume + - energy : total energy (potential + kinetic) per unit volume + - number_density : number of atoms per unit volume + - eshelby_stress : configurational stress (energy-momentum) tensor defined by [Eshelby]_ + - vacancy_concentration : volume fraction of vacancy content + - type_concentration : volume fraction of a specific atom type + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC rates add temperature velocity stress + fix_modify AtC rates delete stress + + +Description +""""""""""" + +Requests calculation and output of rates (time derivatives) of the +fields from the AtC transfer class. For Eulerian analysis (see +:doc:`fix_modify AtC atom_element_map `) these +rates are the partial time derivatives of the nodal fields, not the full +(material) time derivatives. + +Restrictions +"""""""""""" + +Must be used with :doc:`fix atc hardy `. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC atom_element_map ` +- :doc:`fix_modify AtC fields ` +- :doc:`fix_modify AtC fields ` + +Default +""""""" + +None. diff --git a/doc/src/atc_initial.rst b/doc/src/atc_initial.rst new file mode 100644 index 0000000000000000000000000000000000000000..7d62251c6c3a309cba63e3e6a12692ed9408fbc5 --- /dev/null +++ b/doc/src/atc_initial.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC initial + +fix_modify AtC initial command +==================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify initial + +* AtC fixID = ID of :doc:`fix atc ` instance +* initial = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* nodeset = name of set of nodes to apply initial condition +* *constant* or *function* = value or name of function followed by its parameters + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC initial temperature groupNAME 10. + +Description +""""""""""" + +Sets the initial values for the specified field at the specified nodes. + +Restrictions +"""""""""""" + +The keyword *all* is reserved and thus not available as nodeset name. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None. diff --git a/doc/src/atc_internal_element_set.rst b/doc/src/atc_internal_element_set.rst new file mode 100644 index 0000000000000000000000000000000000000000..4a376f55a31d0362b24ce509d5f257075d994581 --- /dev/null +++ b/doc/src/atc_internal_element_set.rst @@ -0,0 +1,52 @@ +.. index:: fix_modify AtC internal_element_set + +fix_modify AtC internal_element_set command +=========================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify internal_element_set + +* AtC fixID = ID of :doc:`fix atc ` instance +* internal_element_set = name of the AtC sub-command +* element_set_name = name of element set defining internal region, or *off* + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC internal_element_set myElementSet + fix_modify AtC internal_element_set off + +Description +""""""""""" + +Enables AtC to base the region for internal atoms to be an element +set. If no ghost atoms are used, all the AtC atoms must be constrained +to remain in this element set by the user, e.g., with walls. If boundary +atoms are used in conjunction with Eulerian atom maps AtC will partition +all atoms of a boundary or internal type to be of type internal if they +are in the internal region or to be of type boundary otherwise. + +Restrictions +"""""""""""" + +If boundary atoms are used in conjunction with Eulerian atom maps, the +Eulerian reset frequency must be an integer multiple of the Lammps +reneighbor frequency. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC atom_element_map ` +- :doc:`fix_modify AtC boundary type ` + +Default +""""""" + +*off* diff --git a/doc/src/atc_internal_quadrature.rst b/doc/src/atc_internal_quadrature.rst new file mode 100644 index 0000000000000000000000000000000000000000..b171914021f01ebf9bc2b63ebd2516f82ee05e7c --- /dev/null +++ b/doc/src/atc_internal_quadrature.rst @@ -0,0 +1,46 @@ +.. index:: fix_modify AtC internal_quadrature + +fix_modify AtC internal_quadrature command +========================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify internal_quadrature [region] + +* AtC fixID = ID of :doc:`fix atc ` instance +* internal_quadrature = name of the AtC sub-command +* on or off = select whether internal quadrature is enabled or not +* region = treat finite elements as within MD region (optional) + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC internal_quadrature off + +Description +""""""""""" + +Command to use or not use atomic quadrature on internal elements fully +filled with atoms. By turning the internal quadrature off these elements +do not contribute to the governing PDE and the fields at the internal +nodes follow the weighted averages of the atomic data. + +Optional region tag specifies which finite element nodes will be treated +as being within the MD region. This option is only valid with +internal_quadrature off. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +on. diff --git a/doc/src/atc_kernel_bandwidth.rst b/doc/src/atc_kernel_bandwidth.rst new file mode 100644 index 0000000000000000000000000000000000000000..02707cfd30312f6504bf4c2aee08d2725c19140d --- /dev/null +++ b/doc/src/atc_kernel_bandwidth.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC kernel_bandwidth + +fix_modify AtC kernel_bandwidth command +======================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify kernel_bandwidth + +* AtC fixID = ID of :doc:`fix atc ` instance +* kernel_bandwidth = name of the AtC sub-command +* value = new bandwidth value + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC kernel_bandwidth 8 + +Description +""""""""""" + +Sets a maximum parallel bandwidth for the kernel functions during +parallel communication. If the command is not issued, the default will +be to assume the bandwidth of the kernel matrix corresponds to the +number of sampling locations. + + +Restrictions +"""""""""""" + +Only is used if kernel functions are being used. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +Number of sample locations. + diff --git a/doc/src/atc_lumped_lambda_solve.rst b/doc/src/atc_lumped_lambda_solve.rst new file mode 100644 index 0000000000000000000000000000000000000000..e777116da5c429a6314a552421e383cbdc1b6811 --- /dev/null +++ b/doc/src/atc_lumped_lambda_solve.rst @@ -0,0 +1,41 @@ +.. index:: fix_modify AtC control lumped_lambda_solve + +fix_modify AtC control lumped_lambda_solve command +================================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify control lumped_lambda_solve + +* AtC fixID = ID of :doc:`fix atc ` instance +* control lumped_lambda_solve = name of the AtC sub-command +* *on* or *off* = Toggles state of lumped matrix + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC control lumped_lambda_solve on + +Description +""""""""""" + +Command select whether to use or not use lumped matrix for lambda solve. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +off diff --git a/doc/src/atc_mask_direction.rst b/doc/src/atc_mask_direction.rst new file mode 100644 index 0000000000000000000000000000000000000000..ed5c6058341a8fbe8dec42ba57d7d63d5a513c56 --- /dev/null +++ b/doc/src/atc_mask_direction.rst @@ -0,0 +1,38 @@ +.. index:: fix_modify AtC control mask_direction + +fix_modify AtC control mask_direction command +============================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify control mask_direction + +* AtC fixID = ID of :doc:`fix atc ` instance +* control mask_direction = name of the AtC sub-command +* direction = select direction +* *on* or *off* = Toggles state + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC control mask_direction 0 on + +Description +""""""""""" + +Command to mask out certain dimensions from the atomic regulator + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" +- :ref:`fix_modify AtC command overview ` + diff --git a/doc/src/atc_mass_matrix.rst b/doc/src/atc_mass_matrix.rst new file mode 100644 index 0000000000000000000000000000000000000000..eb586b933bdf58a3cc685df58157f5baa55c6cd4 --- /dev/null +++ b/doc/src/atc_mass_matrix.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC mass_matrix + +fix_modify AtC mass_matrix command +================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mass_matrix + +* AtC fixID = ID of :doc:`fix atc ` instance +* mass_matrix = name of the AtC sub-command +* *fe* or *md_fe* = activate/deactivate using the FE mass matrix in the MD region + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mass_matrix fe + +Description +""""""""""" + +Determines whether AtC uses the FE mass matrix based on Gaussian +quadrature or based on atomic quadrature in the MD region. This is +useful for fully overlapping simulations to improve efficiency. + +Restrictions +"""""""""""" + +Should not be used unless the FE region is contained within the MD +region, otherwise the method will be unstable and inaccurate. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +*md_fe* diff --git a/doc/src/atc_material.rst b/doc/src/atc_material.rst new file mode 100644 index 0000000000000000000000000000000000000000..471bffffb22022d68b97d7c7b88362c2993100a5 --- /dev/null +++ b/doc/src/atc_material.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC material + +fix_modify AtC material command +=============================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify material + +* AtC fixID = ID of :doc:`fix atc ` instance +* material = name of the AtC sub-command +* elementset_name = name of the elementset +* material_id = ID of the material + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC material gap_region 1 + +Description +""""""""""" + +Sets the material model in *elementset_name* to be of type *material_id*\ . + +Restrictions +"""""""""""" + +The element set must already be created and the material must be +specified in the material file given the the atc fix on construction + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +All elements default to the first material in the material file. diff --git a/doc/src/atc_mesh_add_to_nodeset.rst b/doc/src/atc_mesh_add_to_nodeset.rst new file mode 100644 index 0000000000000000000000000000000000000000..f9f6f575fe28d685ef45bcf2c38beee905fdb0c8 --- /dev/null +++ b/doc/src/atc_mesh_add_to_nodeset.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC mesh add_to_nodeset + +fix_modify AtC mesh add_to_nodeset command +========================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh add_to_nodeset + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh create_nodeset = name of the AtC sub-command +* id = id to assign to the collection of FE nodes +* = coordinates of the bounding box that contains the desired nodes to be added + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh add_to_nodeset lbc -12.1 -11.9 -12 12 -12 12 + +Description +""""""""""" + +Command to add nodes to an already existing FE nodeset. + +Restrictions +"""""""""""" + +None + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh create_nodeset ` + + +Default +""""""" + +Coordinates are assumed to be in lattice units. diff --git a/doc/src/atc_mesh_create.rst b/doc/src/atc_mesh_create.rst new file mode 100644 index 0000000000000000000000000000000000000000..b17bb8ac0d92a45610b7bea9036ac09dce4b9a75 --- /dev/null +++ b/doc/src/atc_mesh_create.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC mesh create + +fix_modify AtC mesh create command +=================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh create + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh create = name of the AtC sub-command +* nx ny nz = number of elements in x-, y-, and z-direction +* region-ID = ID of region that is to be meshed +* f or p = periodicity flags for x-, y-, and z-direction + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh create 10 1 1 feRegion p p p + +Description +""""""""""" + +Creates a uniform mesh in a rectangular region. + +Restrictions +"""""""""""" + +Creates only uniform rectangular grids in a rectangular region + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh quadrature ` + +Default +""""""" + +When created, the mesh defaults to gauss2 (2-point Gaussian) +quadrature. Use the :doc:`fix_modify AtC mesh quadrature +` command to change the quadrature style. diff --git a/doc/src/atc_mesh_create_elementset.rst b/doc/src/atc_mesh_create_elementset.rst new file mode 100644 index 0000000000000000000000000000000000000000..3cb406e7bc977ff75f891f92f772529e1b0ccfc0 --- /dev/null +++ b/doc/src/atc_mesh_create_elementset.rst @@ -0,0 +1,46 @@ +.. index:: fix_modify AtC mesh create_elementset + +fix_modify AtC mesh create_elementset command +============================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh create_elementset + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh create_elementset = name of the AtC sub-command +* id = id to assign to the collection of FE nodes +* = coordinates of the bounding box that contains only the desired elements + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh create_elementset middle -4.1 4.1 -100 100 -100 1100 + +Description +""""""""""" + +Command to assign an id to a set of FE elements to be used subsequently +in defining material and mesh-based operations. + +Restrictions +"""""""""""" + +Only viable for rectangular grids. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh delete_elements ` +- :doc:`fix_modify AtC mesh nodeset_to_elementset ` + +Default +""""""" + +Coordinates are assumed to be in lattice units. diff --git a/doc/src/atc_mesh_create_faceset_box.rst b/doc/src/atc_mesh_create_faceset_box.rst new file mode 100644 index 0000000000000000000000000000000000000000..09b099d179aaf6f014655d7bd92cc5fe999b4666 --- /dev/null +++ b/doc/src/atc_mesh_create_faceset_box.rst @@ -0,0 +1,49 @@ +.. index:: fix_modify AtC mesh create_faceset box + +fix_modify AtC mesh create_faceset box command +============================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh create_faceset box [units] + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh create_faceset = name of the AtC sub-command +* id = id to assign to the collection of FE faces +* box = use bounding box to define FE faces +* = coordinates of the bounding box that is coincident with the desired FE faces +* = "in" gives inner faces to the box, "out" gives the outer faces to the box +* units = option to specify real as opposed to lattice units + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -12 12 -12 12 out + + +Description +""""""""""" + +Command to assign an id to a set of FE faces. + +Restrictions +"""""""""""" + +Only viable for rectangular grids. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh create_faceset plane ` + +Default +""""""" + +The default options are units = lattice and the use of outer faces. diff --git a/doc/src/atc_mesh_create_faceset_plane.rst b/doc/src/atc_mesh_create_faceset_plane.rst new file mode 100644 index 0000000000000000000000000000000000000000..035e584044833f5cf0faf00c8663c0d1c6d4b4ea --- /dev/null +++ b/doc/src/atc_mesh_create_faceset_plane.rst @@ -0,0 +1,48 @@ +.. index:: fix_modify AtC mesh create_faceset plane + +fix_modify AtC mesh create_faceset plane command +================================================ + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh create_faceset plane [units] + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh create_faceset = name of the AtC sub-command +* id = id to assign to the collection of FE faces +* plane = use plane to define faceset +* ,, = plane is specified as the x|y|z=val1 plane bounded by the segments x|y|z = [lval2,uval2] +* units = option to specify real as opposed to lattice units + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh create_faceset xyplane plane y 0 x -4 0 + + +Description +""""""""""" + +Command to assign an id to a set of FE faces. + +Restrictions +"""""""""""" + +Only viable for rectangular grids. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh create_faceset box ` + +Default +""""""" + +The default options are units = lattice. diff --git a/doc/src/atc_mesh_create_nodeset.rst b/doc/src/atc_mesh_create_nodeset.rst new file mode 100644 index 0000000000000000000000000000000000000000..a2f9d74d07b5f2f41b29d72c87e69bcb3441a26d --- /dev/null +++ b/doc/src/atc_mesh_create_nodeset.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC mesh create_nodeset + +fix_modify AtC mesh create_nodeset command +========================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh create_nodeset + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh create_nodeset = name of the AtC sub-command +* id = id to assign to the collection of FE nodes +* = coordinates of the bounding box that contains only the desired nodes + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -12 12 -12 12 + +Description +""""""""""" + +Command to assign an id to a set of FE nodes to be used subsequently in +defining boundary conditions. + +Restrictions +"""""""""""" + +None + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh add_to_nodeset ` + +Default +""""""" + +Coordinates are assumed to be in lattice units. diff --git a/doc/src/atc_mesh_delete_elements.rst b/doc/src/atc_mesh_delete_elements.rst new file mode 100644 index 0000000000000000000000000000000000000000..9785f0adf6ed63c07c8fa0eb3944e846402f29d7 --- /dev/null +++ b/doc/src/atc_mesh_delete_elements.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC mesh delete_elements + +fix_modify AtC mesh delete_elements command +============================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh delete_elements + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh create_elementset = name of the AtC sub-command +* id = id of the element set + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh delete_elements gap + +Description +""""""""""" + +Deletes a group of elements from the mesh. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh create_elementset ` +- :doc:`fix_modify AtC mesh nodeset_to_elementset ` + +Default +""""""" + +None. diff --git a/doc/src/atc_mesh_nodeset_to_elementset.rst b/doc/src/atc_mesh_nodeset_to_elementset.rst new file mode 100644 index 0000000000000000000000000000000000000000..d8721cc295bf99742760876fbd8fb7cd4bd1786a --- /dev/null +++ b/doc/src/atc_mesh_nodeset_to_elementset.rst @@ -0,0 +1,50 @@ +.. index:: fix_modify AtC mesh nodeset_to_elementset + +fix_modify AtC mesh nodeset_to_elementset command +================================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh nodeset_to_elementset + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh nodeset_to_elementset = name of the AtC sub-command +* nodeset_id = id of desired nodeset from which to create the elementset +* elementset_id = id to assign to the collection of FE elements +* = flag to choose either the maximal or minimal elementset + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh nodeset_to_elementset myNodeset myElementset min + + +Description +""""""""""" + +Command to create an elementset from an existing nodeset. Either the +minimal element set of elements with all nodes in the set, or maximal +element set with all elements with at least one node in the set, can be +created. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh create_elementset ` +- :doc:`fix_modify AtC mesh delete_elements ` + +Default +""""""" + +Unless specified, the maximal element set is created. diff --git a/doc/src/atc_mesh_output.rst b/doc/src/atc_mesh_output.rst new file mode 100644 index 0000000000000000000000000000000000000000..63756df98e2fd5dfc3600b6080de3433582aeb40 --- /dev/null +++ b/doc/src/atc_mesh_output.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC mesh output + +fix_modify AtC mesh output command +================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh output + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh output = name of the AtC sub-command +* file_prefix = prefix of various generated output files + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh output meshData + + +Description +""""""""""" + +Command to output mesh and associated data: nodesets, facesets, and +elementsets. This data is only output once upon initialization since +currently the mesh is static. Creates binary (EnSight, "gold" format) +output of mesh data. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None. diff --git a/doc/src/atc_mesh_quadrature.rst b/doc/src/atc_mesh_quadrature.rst new file mode 100644 index 0000000000000000000000000000000000000000..0c9bd4b30f810caf43dd763a8b2f75db08d9679f --- /dev/null +++ b/doc/src/atc_mesh_quadrature.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC mesh quadrature + +fix_modify AtC mesh quadrature command +====================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh quatrature + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh quadrature = name of the AtC sub-command +* quad = *nodal* or *gauss1* or *gauss2* or *gauss3* or *face* + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh quadrature face + +Description +""""""""""" + +(Re-)assigns the quadrature style for an existing mesh. When a mesh is +created its quadrature method defaults to gauss2. Use this call to +change it after the fact. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh create ` + +Default +""""""" + +None. diff --git a/doc/src/atc_mesh_read.rst b/doc/src/atc_mesh_read.rst new file mode 100644 index 0000000000000000000000000000000000000000..9848e12b0782a5e413b8d3a44aa0ff1372205dc1 --- /dev/null +++ b/doc/src/atc_mesh_read.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC mesh read + +fix_modify AtC mesh read command +=================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh read + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh read = name of the AtC sub-command +* filename = name of the file containing the mesh to be read +* f or p = periodicity flags for x-, y-, and z-direction (optional) + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh read myComponent.mesh p p p + fix_modify AtC mesh read myOtherComponent.exo + +Description +""""""""""" + +Reads a mesh from a text or exodus file, and assigns periodic boundary +conditions if needed. + +Restrictions +"""""""""""" + +None + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh create ` +- :doc:`fix_modify AtC mesh write ` + +Default +""""""" + +Periodicity flags are set to false (f) by default. diff --git a/doc/src/atc_mesh_write.rst b/doc/src/atc_mesh_write.rst new file mode 100644 index 0000000000000000000000000000000000000000..dbb8f9c21940f4eb8f1ad2e05120df6302b4891d --- /dev/null +++ b/doc/src/atc_mesh_write.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC mesh write + +fix_modify AtC mesh write command +=================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify mesh write + +* AtC fixID = ID of :doc:`fix atc ` instance +* mesh write = name of the AtC sub-command +* filename = name of the file containing the mesh to be write + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC mesh write myMesh.mesh + +Description +""""""""""" + +Writes a mesh to a text file. + +Restrictions +"""""""""""" + +None + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC mesh create ` +- :doc:`fix_modify AtC mesh read ` + +Default +""""""" + +None. diff --git a/doc/src/atc_output.rst b/doc/src/atc_output.rst new file mode 100644 index 0000000000000000000000000000000000000000..3fb1491be151a5ce44d5300c0aa4425b6f2c7031 --- /dev/null +++ b/doc/src/atc_output.rst @@ -0,0 +1,61 @@ +.. index:: fix_modify AtC output + +fix_modify AtC output command +============================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify output [text|full_text|binary|vector_components|tensor_components] + fix_modify output index [step|time] + +* AtC fixID = ID of :doc:`fix atc ` instance +* *output* or *output index* = name of the AtC sub-command +* filename_prefix = prefix for data files (for *output*) +* frequency = frequency of output in time-steps (for *output*) +* optional keywords for *output*: + + - text = creates text output of index, step and nodal variable values for unique nodes + - full_text = creates text output index, nodal id, step, nodal coordinates and nodal variable values for unique and image nodes + - binary = creates binary EnSight output + - vector_components = outputs vectors as scalar components + - tensor_components = outputs tensor as scalar components (for use with ParaView) + +* *step* or *time* = index output by step or by time (for *output index*) + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC output heatFE 100 + fix_modify AtC output hardyFE 1 text tensor_components + fix_modify AtC output hardyFE 10 text binary tensor_components + fix_modify AtC output index step + + +Description +""""""""""" + +Creates text and/or binary (EnSight, "gold" format) output of nodal/mesh +data which is transfer/physics specific. Output indexing by step or time +is possible. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix atc command ` + +Default +""""""" + +No default format. Output indexed by time. diff --git a/doc/src/atc_output_boundary_integral.rst b/doc/src/atc_output_boundary_integral.rst new file mode 100644 index 0000000000000000000000000000000000000000..71a3e03ac2d9c13211d8b711034a8713ad0bcc01 --- /dev/null +++ b/doc/src/atc_output_boundary_integral.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC output boundary_integral + +fix_modify AtC output boundary_integral command +=============================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify output boundary_integral faceset [name] + +* AtC fixID = ID of :doc:`fix atc ` instance +* output boundary_integral = name of the AtC sub-command +* fieldname = name of hardy field +* faceset = required keyword +* name= name of faceset + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC output boundary_integral stress faceset loop1 + + +Description +""""""""""" + +Calculates a surface integral of the given field dotted with the outward +normal of the faces and puts output in the "GLOBALS" file. + +Restrictions +"""""""""""" + +Must be used with the hardy/field type of :doc:`fix atc ` + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None. diff --git a/doc/src/atc_output_contour_integral.rst b/doc/src/atc_output_contour_integral.rst new file mode 100644 index 0000000000000000000000000000000000000000..24678ef6cc94b64fcfbb880f4b0e6e07a3c831ed --- /dev/null +++ b/doc/src/atc_output_contour_integral.rst @@ -0,0 +1,48 @@ +.. index:: fix_modify AtC output contour_integral + +fix_modify AtC output contour_integral command +============================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify output contour_integral faceset [axis [x|y|z]] + +* AtC fixID = ID of :doc:`fix atc ` instance +* output contour_integral = name of the AtC sub-command +* fieldname = name of hardy field +* faceset = required keyword +* name = name of faceset +* *axis x* or *axis y* or *axis z* = (optional) + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC output contour_integral stress faceset loop1 + + +Description +""""""""""" + +Calculates a surface integral of the given field dotted with the outward +normal of the faces and puts output in the "GLOBALS" file. + +Restrictions +"""""""""""" + +Must be used with the hardy/field type of :doc:`fix atc ` + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None. diff --git a/doc/src/atc_output_nodeset.rst b/doc/src/atc_output_nodeset.rst new file mode 100644 index 0000000000000000000000000000000000000000..eb12a2344e274fbbe50ce8c4b4c737298bb0aa8e --- /dev/null +++ b/doc/src/atc_output_nodeset.rst @@ -0,0 +1,49 @@ +.. index:: fix_modify AtC output nodeset + +fix_modify AtC output nodeset command +===================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify output nodeset + +* AtC fixID = ID of :doc:`fix atc ` instance +* output nodeset = name of the AtC sub-command +* nodeset_name= name of nodeset to be operated on +* operation = *sum* + + * *sum* = creates nodal sum over nodes in specified nodeset + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC output nodeset nset1 sum + + +Description +""""""""""" + +Performs operation over the nodes belonging to specified nodeset and +outputs resulting variable values to GLOBALS file. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix atc command ` + +Default +""""""" + +None. diff --git a/doc/src/atc_output_volume_integral.rst b/doc/src/atc_output_volume_integral.rst new file mode 100644 index 0000000000000000000000000000000000000000..464d43cbce07ffabffa48eb384d8860ec5dc302e --- /dev/null +++ b/doc/src/atc_output_volume_integral.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC output volume_integral + +fix_modify AtC output volume_integral command +============================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify output volume_integral + +* AtC fixID = ID of :doc:`fix atc ` instance +* output volume_integral = name of the AtC sub-command +* elementset_name= name of elementset to be integrated over +* fieldname = name of field to integrate + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC output volume_integral eset1 mass_density + + +Description +""""""""""" + +Performs volume integration of specified field over elementset and +outputs resulting variable values to GLOBALS file. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix atc command ` + +Default +""""""" + +None. diff --git a/doc/src/atc_pair_interactions.rst b/doc/src/atc_pair_interactions.rst new file mode 100644 index 0000000000000000000000000000000000000000..73ada0900125a82a6a85e44cb36510bce847db2f --- /dev/null +++ b/doc/src/atc_pair_interactions.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC pair_interactions + +fix_modify AtC pair_interactions command +======================================== + +fix_modify AtC bond_interactions command +======================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify pair_interactions + fix_modify bond_interactions + +* AtC fixID = ID of :doc:`fix atc ` instance +* *pair_interactions* or *bond_interactions* = name of the AtC sub-command +* *on* or *off* = activate or deactivate + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC pair_interactions off + fix_modify AtC bond_interactions on + +Description +""""""""""" + +Include bonds and/or pairs in stress and heat flux computations. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +*pair_interactions*\ : on, *bond_interactions*\ : off diff --git a/doc/src/atc_poisson_solver.rst b/doc/src/atc_poisson_solver.rst new file mode 100644 index 0000000000000000000000000000000000000000..d37f214b97f8f45b71f5495a3a754ed913e89f60 --- /dev/null +++ b/doc/src/atc_poisson_solver.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC poisson_solver + +fix_modify AtC poisson_solver command +===================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify poisson_solver mesh create + +* AtC fixID = ID of :doc:`fix atc ` instance +* poisson_solver = name of the AtC sub-command +* *nx* *ny* *nz* = number of elements in x, y, and z +* region-id = id of region to be meshed +* *f* or *p* = periodicity flags for x, y, and z + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC poisson_solver mesh create 10 1 1 feRegion p p p + +Description +""""""""""" + +Creates a uniform mesh in a rectangular region. + +Restrictions +"""""""""""" + +Creates only uniform rectangular grids in rectangular regions. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None. diff --git a/doc/src/atc_read_restart.rst b/doc/src/atc_read_restart.rst new file mode 100644 index 0000000000000000000000000000000000000000..11ba4519a4ff096ca0f1a2f7a4b7fb1d30107973 --- /dev/null +++ b/doc/src/atc_read_restart.rst @@ -0,0 +1,48 @@ +.. index:: fix_modify AtC read_restart + +fix_modify AtC read_restart command +=================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify read_restart + +* AtC fixID = ID of :doc:`fix atc ` instance +* read_restart = name of the AtC sub-command +* file_name = name of AtC restart file + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC read_restart restart.mydata.AtC + + +Description +""""""""""" + +Reads the current state of the AtC fields from a named text-based restart file. + +Restrictions +"""""""""""" + +The restart file only contains fields and their time derivatives. The +reference positions of the atoms and the commands that initialize the +fix are not saved e.g. an identical mesh containing the same atoms will +have to be recreated. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC write_restart ` + +Default +""""""" + +None. diff --git a/doc/src/atc_remove_molecule.rst b/doc/src/atc_remove_molecule.rst new file mode 100644 index 0000000000000000000000000000000000000000..a654cd5c1d07cc5fb72af8e04a9f0266837b1dfc --- /dev/null +++ b/doc/src/atc_remove_molecule.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC remove_molecule + +fix_modify AtC remove_molecule command +====================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify remove_molecule + +* AtC fixID = ID of :doc:`fix atc ` instance +* remove_molecule = name of the AtC sub-command +* tag = tag for tracking a molecule + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC remove_molecule water + +Description +""""""""""" + +Removes tag designated for tracking a specified set of molecules. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC add_species ` +- :doc:`fix_modify AtC add_molecule ` +- :doc:`fix_modify AtC remove_species ` + +Default +""""""" + +None. diff --git a/doc/src/atc_remove_source.rst b/doc/src/atc_remove_source.rst new file mode 100644 index 0000000000000000000000000000000000000000..d98b7933dae9fdb6941491230cdac62203d90a81 --- /dev/null +++ b/doc/src/atc_remove_source.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC remove_source + +fix_modify AtC remove_source command +==================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify remove_source + +* AtC fixID = ID of :doc:`fix atc ` instance +* remove_source = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* element_set = name of set of elements + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC remove_source temperature groupNAME + +Description +""""""""""" + +Remove a domain source. + +Restrictions +"""""""""""" + +The keyword *all* is reserved and thus not available as element_set name. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC source ` + +Default +""""""" + +None. diff --git a/doc/src/atc_remove_species.rst b/doc/src/atc_remove_species.rst new file mode 100644 index 0000000000000000000000000000000000000000..20e1f6a7422e5704ea93adf6ccc1cb59182f76cf --- /dev/null +++ b/doc/src/atc_remove_species.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC remove_species + +fix_modify AtC remove_species command +===================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify remove_species + +* AtC fixID = ID of :doc:`fix atc ` instance +* remove_species = name of the AtC sub-command +* tag = tag for tracking a species + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC remove_species gold + +Description +""""""""""" + +Removes tag designated for tracking a specified species. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC add_species ` +- :doc:`fix_modify AtC add_molecule ` +- :doc:`fix_modify AtC remove_molecule ` + +Default +""""""" + +None. diff --git a/doc/src/atc_reset_atomic_reference.rst b/doc/src/atc_reset_atomic_reference.rst new file mode 100644 index 0000000000000000000000000000000000000000..8f53cbfbe9c478d4f7ba94bdf7f963c0f5d2fc8d --- /dev/null +++ b/doc/src/atc_reset_atomic_reference.rst @@ -0,0 +1,46 @@ +.. index:: fix_modify AtC reset_atomic_reference_positions + +fix_modify AtC reset_atomic_reference_positions command +======================================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify reset_atomic_reference_positions + +* AtC fixID = ID of :doc:`fix atc ` instance +* reset_atomic_reference_positions = name of the AtC sub-command + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC reset_atomic_reference_positions + +Description +""""""""""" + +Resets the atomic positions ATC uses to perform point to field +operations. In can be used to use perfect lattice sites in ATC but a +thermalized or deformed lattice in LAMMPS. + + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None + diff --git a/doc/src/atc_reset_time.rst b/doc/src/atc_reset_time.rst new file mode 100644 index 0000000000000000000000000000000000000000..147a6ab9109dc99176979500e713f227c11ae4c2 --- /dev/null +++ b/doc/src/atc_reset_time.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC reset_time + +fix_modify AtC reset_time command +================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify reset_time + +* AtC fixID = ID of :doc:`fix atc ` instance +* reset_time = name of the AtC sub-command +* value = new time value + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC reset_time 0.0 + +Description +""""""""""" + +Resets the simulation time counter. + + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None + diff --git a/doc/src/atc_sample_frequency.rst b/doc/src/atc_sample_frequency.rst new file mode 100644 index 0000000000000000000000000000000000000000..5b0da6d9dd93083a5629f0ea4f0f0e88fe03d194 --- /dev/null +++ b/doc/src/atc_sample_frequency.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC sample_frequency + +fix_modify AtC sample_frequency command +======================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify sample_frequency + +* AtC fixID = ID of :doc:`fix atc ` instance +* sample_frequency = name of the AtC sub-command +* freq = frequency to sample fields in number of steps + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC sample_frequency 10 + +Description +""""""""""" + +Specifies a frequency at which fields are computed for the case where +time filters are being applied. + +Restrictions +"""""""""""" + +Must be used with :doc:`fix atc hardy ` and is only relevant when time filters are being used. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None. + diff --git a/doc/src/atc_set_reference_pe.rst b/doc/src/atc_set_reference_pe.rst new file mode 100644 index 0000000000000000000000000000000000000000..ff4d95526feabf26522a9d7f716b8a649e2bc7a6 --- /dev/null +++ b/doc/src/atc_set_reference_pe.rst @@ -0,0 +1,50 @@ +.. index:: fix_modify AtC set reference_potential_energy + +fix_modify AtC set reference_potential_energy command +===================================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify set reference_potential_energy [] + +* AtC fixID = ID of :doc:`fix atc ` instance +* set reference_potential_energy = name of the AtC sub-command +* value = optional user specified zero point for PE in native LAMMPS energy units +* filename = optional user specified string for file of nodal PE values to be read-in + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC set reference_potential_energy + fix_modify AtC set reference_potential_energy -0.05 + fix_modify AtC set reference_potential_energy myPEvalues + +Description +""""""""""" + +Used to set various quantities for the post-processing algorithms. It +sets the zero point for the potential energy density using the value +provided for all nodes, or from the current configuration of the lattice +if no value is provided, or values provided within the specified +filename. + +Restrictions +"""""""""""" + +Must be used with :doc:`fix atc hardy ` or :doc:`fix atc field `. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +Defaults to the LAMMPS zero point i.e. isolated atoms. + diff --git a/doc/src/atc_source.rst b/doc/src/atc_source.rst new file mode 100644 index 0000000000000000000000000000000000000000..6df4b67d1c896f8dc5775cf31ae64ff5cdd43eb9 --- /dev/null +++ b/doc/src/atc_source.rst @@ -0,0 +1,48 @@ +.. index:: fix_modify AtC source + +fix_modify AtC source command +============================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify source + +* AtC fixID = ID of :doc:`fix atc ` instance +* source = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* element_set = name of set of elements +* *value* or *function* = value or name of function followed by its parameters + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC source temperature middle temporal_ramp 10.0 0.0 + +Description +""""""""""" + +Add domain sources to the mesh. The units are consistent with LAMMPS's +units for mass, length and time and are defined by the PDE being solved, +e.g. for thermal transfer the balance equation is for energy and source +is energy per time. + +Restrictions +"""""""""""" + +The keyword *all* is reserved and thus not available as element_set name. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC remove_source ` + +Default +""""""" + +None. diff --git a/doc/src/atc_source_integration.rst b/doc/src/atc_source_integration.rst new file mode 100644 index 0000000000000000000000000000000000000000..b10e6c7e2a8ce9815c87a7baddfd9e1f862a1e8e --- /dev/null +++ b/doc/src/atc_source_integration.rst @@ -0,0 +1,42 @@ +.. index:: fix_modify AtC source_integration + +fix_modify AtC source_integration command +========================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify source_integration + +* AtC fixID = ID of :doc:`fix atc ` instance +* source_integration = name of the AtC sub-command +* *fe* or *atom* = (undocumented) + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC source_integration atom + +Description +""""""""""" + +(undocumented) + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +Default is *fe* diff --git a/doc/src/atc_temperature_definition.rst b/doc/src/atc_temperature_definition.rst new file mode 100644 index 0000000000000000000000000000000000000000..b5a27467ca406db6c164092e16978690734d40f6 --- /dev/null +++ b/doc/src/atc_temperature_definition.rst @@ -0,0 +1,48 @@ +.. index:: fix_modify AtC temperature_definition + +fix_modify AtC temperature_definition command +============================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify temperature_definition + +* AtC fixID = ID of :doc:`fix atc ` instance +* temperature_definition = name of the AtC sub-command +* *kinetic* or *total* = (undocumented) + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC temperature_definition kinetic + +Description +""""""""""" + +Change the definition for the atomic temperature used to create the +finite element temperature. The kinetic option is based only on the +kinetic energy of the atoms while the total option uses the total energy +(kinetic + potential) of an atom. + +Restrictions +"""""""""""" + +This command is only valid when using thermal coupling. Also, while not +a formal restriction, the user should ensure that associating a +potential energy with each atom makes physical sense for the total +option to be meaningful. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +*kinetic* diff --git a/doc/src/atc_time_filter.rst b/doc/src/atc_time_filter.rst new file mode 100644 index 0000000000000000000000000000000000000000..0a97c832593cd03431bc997f8ef9a88a71b2d5f5 --- /dev/null +++ b/doc/src/atc_time_filter.rst @@ -0,0 +1,46 @@ +.. index:: fix_modify AtC filter + +fix_modify AtC filter command +============================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify filter + +* AtC fixID = ID of :doc:`fix atc ` instance +* filter = name of the AtC sub-command +* *on* or *off* or *equilibrate* = Select state of filter + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC filter on + +Description +""""""""""" + +Filters the MD dynamics to construct a more appropriate continuous +field. Equilibrating first filters the time derivatives without changing +the dynamics to provide a better initial condition to the filtered +dynamics. + +Restrictions +"""""""""""" + +Only for use with these specific transfers: thermal, two_temperature + +Related AtC commands +"""""""""""""""""""" +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC filter scale ` +- :doc:`fix_modify AtC equilibrium_start ` + +Default +""""""" + +off diff --git a/doc/src/atc_time_integration.rst b/doc/src/atc_time_integration.rst new file mode 100644 index 0000000000000000000000000000000000000000..580be0430c600969768c681adca83f80b6dbdaa6 --- /dev/null +++ b/doc/src/atc_time_integration.rst @@ -0,0 +1,78 @@ +.. index:: fix_modify AtC time_integration + +fix_modify AtC time_integration command +======================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify time_integration + +* AtC fixID = ID of :doc:`fix atc ` instance +* time_integration = name of the AtC sub-command +* descriptor = *gear* or *fractional_step* or *verlet* + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC time_integration fractional_step + + +Description +""""""""""" + +Command to select the thermal or momentum time integration. + +--------- + +Options for thermal time integration: + +*gear* + atomic velocity update with 2nd order Verlet, nodal temperature update + with 3rd or 4th order Gear, thermostats based on controlling power + +*fractional_step* + atomic velocity update with 2nd order Verlet, mixed nodal temperature + update, 3/4 Gear for continuum and 2 Verlet for atomic contributions, + thermostats based on controlling discrete energy changes + +--------- + +Options for momentum time integration: + +*verlet* + atomic velocity update with 2nd order Verlet, nodal temperature update + with 2nd order Verlet, kinetostats based on controlling force + +*fractional_step* + atomic velocity update with 2nd order Verlet, mixed nodal momentum + update, 2nd order Verlet for continuum and exact 2nd order Verlet for + atomic contributions, kinetostats based on controlling discrete + momentum changes + +*gear* + atomic velocity update with 2nd order Verlet, nodal temperature update + with 3rd or 4th order Gear, kinetostats based on controlling power. + +--------- + +Restrictions +"""""""""""" + +None. + + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None. diff --git a/doc/src/atc_track_displacement.rst b/doc/src/atc_track_displacement.rst new file mode 100644 index 0000000000000000000000000000000000000000..043f42ea9c39a727bb2bf961d707716ee81b3ab8 --- /dev/null +++ b/doc/src/atc_track_displacement.rst @@ -0,0 +1,43 @@ +.. index:: fix_modify AtC track_displacement + +fix_modify AtC track_displacement command +========================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify track_displacement + +* AtC fixID = ID of :doc:`fix atc ` instance +* track_displacement = name of the AtC sub-command +* *on* or *off* = (undocumented) + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC track_displacement on + +Description +""""""""""" + +Determines whether displacement is tracked or not. For solids problems +this is a useful quantity, but for fluids it is not relevant. + +Restrictions +"""""""""""" + +Some constitutive models require the displacement field. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +*on* diff --git a/doc/src/atc_unfix.rst b/doc/src/atc_unfix.rst new file mode 100644 index 0000000000000000000000000000000000000000..12ee37bbde057def6a5122f034ad0d1881e7537d --- /dev/null +++ b/doc/src/atc_unfix.rst @@ -0,0 +1,44 @@ +.. index:: fix_modify AtC unfix + +fix_modify AtC unfix command +============================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify unfix + +* AtC fixID = ID of :doc:`fix atc ` instance +* unfix = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* nodeset = name of set of nodes to apply boundary condition + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC unfix temperature groupNAME + +Description +""""""""""" + +Removes constraint on field values for specified nodes. + +Restrictions +"""""""""""" + +The keyword *all* is reserved and thus not available as nodeset name. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC fix ` + +Default +""""""" + +None. diff --git a/doc/src/atc_unfix_flux.rst b/doc/src/atc_unfix_flux.rst new file mode 100644 index 0000000000000000000000000000000000000000..da9d1b4abaa26e4bda9ec73a4a10750e8cb85fd7 --- /dev/null +++ b/doc/src/atc_unfix_flux.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC unfix_flux + +fix_modify AtC unfix_flux command +================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify unfix_flux + +* AtC fixID = ID of :doc:`fix atc ` instance +* unfix_flux = name of the AtC sub-command +* field = field kind name valid for type of physics: *temperature* or *electron_temperature* +* face_set = name of set of element faces + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC unfix_flux temperature faceSet + +Description +""""""""""" + +Command for removing prescribed normal fluxes e.g. heat_flux, stress. + + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC fix_flux ` + +Default +""""""" + +None. diff --git a/doc/src/atc_write_atom_weights.rst b/doc/src/atc_write_atom_weights.rst new file mode 100644 index 0000000000000000000000000000000000000000..ecb69b5deb16f84d84f23345c123939623870311 --- /dev/null +++ b/doc/src/atc_write_atom_weights.rst @@ -0,0 +1,45 @@ +.. index:: fix_modify AtC write_atom_weights + +fix_modify AtC write_atom_weights command +========================================= + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify write_atom_weights + +* AtC fixID = ID of :doc:`fix atc ` instance +* write_atom_weights = name of the AtC sub-command +* filename = name of file that atomic weights are written to +* frequency = how often writes will occur + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC write_atom_weights atm_wt_file.txt 10 + +Description +""""""""""" + +Command for writing the values of atomic weights to a specified file. + + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` + +Default +""""""" + +None + diff --git a/doc/src/atc_write_restart.rst b/doc/src/atc_write_restart.rst new file mode 100644 index 0000000000000000000000000000000000000000..e4f19dea108bc9879cf9dc6dcbce23f820e51a3a --- /dev/null +++ b/doc/src/atc_write_restart.rst @@ -0,0 +1,47 @@ +.. index:: fix_modify AtC write_restart + +fix_modify AtC write_restart command +==================================== + +Syntax +"""""" + +.. parsed-literal:: + + fix_modify write_restart + +* AtC fixID = ID of :doc:`fix atc ` instance +* write_restart = name of the AtC sub-command +* file_name = name of AtC restart file + + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix_modify AtC write_restart restart.mydata.AtC + + +Description +""""""""""" + +Dumps the current state of the fields to a named text-based restart +file. This done when the command is invoked and not repeated, unlike +the otherwise similar LAMMPS command. + +Restrictions +"""""""""""" + +None. + +Related AtC commands +"""""""""""""""""""" + +- :ref:`fix_modify AtC command overview ` +- :doc:`fix_modify AtC read_restart ` + +Default +""""""" + +None. diff --git a/doc/src/atom_modify.rst b/doc/src/atom_modify.rst index ac2720d4f2adb708e8517b9a316cdd470ba65a01..c94ca65c1c82c1293b2d6c5562b96291f69d7162 100644 --- a/doc/src/atom_modify.rst +++ b/doc/src/atom_modify.rst @@ -6,16 +6,15 @@ atom_modify command Syntax """""" - .. code-block:: LAMMPS atom_modify keyword values ... * one or more keyword/value pairs may be appended * keyword = *id* or *map* or *first* or *sort* - + .. parsed-literal:: - + *id* value = *yes* or *no* *map* value = *yes* or *array* or *hash* *first* value = group-ID = group whose atoms will appear first in internal atom lists @@ -23,12 +22,9 @@ Syntax Nfreq = sort atoms spatially every this many time steps binsize = bin size for spatial sorting (distance units) - - Examples """""""" - .. code-block:: LAMMPS atom_modify map yes @@ -39,14 +35,14 @@ Description """"""""""" Modify certain attributes of atoms defined and stored within LAMMPS, -in addition to what is specified by the :doc:`atom\_style ` +in addition to what is specified by the :doc:`atom_style ` command. The *id* and *map* keywords must be specified before a simulation box is defined; other keywords can be specified any time. The *id* keyword determines whether non-zero atom IDs can be assigned to each atom. If the value is *yes*\ , which is the default, IDs are assigned, whether you use the :doc:`create atoms ` or -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands to initialize atoms. If the value is *no* the IDs for all atoms are assumed to be 0. @@ -64,8 +60,8 @@ The only reason not to use atom IDs is if you are running an atomic simulation so large that IDs cannot be uniquely assigned. For a default LAMMPS build this limit is 2\^31 or about 2 billion atoms. However, even in this case, you can use 64-bit atom IDs, allowing 2\^63 -or about 9e18 atoms, if you build LAMMPS with the - DLAMMPS\_BIGBIG -switch. This is described on the :doc:`Build\_settings ` +or about 9e18 atoms, if you build LAMMPS with the - DLAMMPS_BIGBIG +switch. This is described on the :doc:`Build_settings ` doc page. If atom IDs are not used, they must be specified as 0 for all atoms, e.g. in a data or restart file. @@ -77,7 +73,7 @@ efficiently by creating a "map", which is either an *array* or *hash* table, as described below. When the *map* keyword is not specified in your input script, LAMMPS -only creates a map for :doc:`atom\_styles ` for molecular +only creates a map for :doc:`atom_styles ` for molecular systems which have permanent bonds (angles, etc). No map is created for atomic systems, since it is normally not needed. However some LAMMPS commands require a map, even for atomic systems, and will @@ -103,7 +99,7 @@ of owned atoms. This in only useful when the specified group is a small fraction of all the atoms, and there are other operations LAMMPS is performing that will be sped-up significantly by being able to loop over the smaller set of atoms. Otherwise the reordering required by -this option will be a net slow-down. The :doc:`neigh\_modify include ` and :doc:`comm\_modify group ` +this option will be a net slow-down. The :doc:`neigh_modify include ` and :doc:`comm_modify group ` commands are two examples of commands that require this setting to work efficiently. Several :doc:`fixes `, most notably time integration fixes like :doc:`fix nve `, also take advantage of @@ -112,7 +108,7 @@ this command. Note that specifying "all" as the group-ID effectively turns off the *first* option. It is OK to use the *first* keyword with a group that has not yet been -defined, e.g. to use the atom\_modify first command at the beginning of +defined, e.g. to use the atom_modify first command at the beginning of your input script. LAMMPS does not use the group until a simulation is run. @@ -160,7 +156,6 @@ cache locality will be undermined. Restrictions """""""""""" - The *first* and *sort* options cannot be used together. Since sorting is on by default, it will be turned off if the *first* keyword is used with a group-ID that is not "all". @@ -179,12 +174,8 @@ frequency of 1000 and a binsize of 0.0, which means the neighbor cutoff will be used to set the bin size. If no neighbor cutoff is defined, sorting will be turned off. - ---------- - .. _Meloni: - - **(Meloni)** Meloni, Rosati and Colombo, J Chem Phys, 126, 121102 (2007). diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index d2ebc220d69411beca9e3fc8f13326cf06c7f7e5..df00c65f018d4fb50a7ff309c7fb3fc692dbcaa9 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -6,15 +6,14 @@ atom_style command Syntax """""" - .. code-block:: LAMMPS atom_style style args * style = *angle* or *atomic* or *body* or *bond* or *charge* or *dipole* or *dpd* or *edpd* or *mdpd* or *tdpd* or *electron* or *ellipsoid* or *full* or *line* or *meso* or *molecular* or *peri* or *smd* or *sphere* or *spin* or *tri* or *template* or *hybrid* - + .. parsed-literal:: - + args = none for any style except the following *body* args = bstyle bstyle-args bstyle = style of body particles @@ -28,11 +27,9 @@ Syntax * accelerated styles (with same args) = *angle/kk* or *atomic/kk* or *bond/kk* or *charge/kk* or *full/kk* or *molecular/kk* - Examples """""""" - .. code-block:: LAMMPS atom_style atomic @@ -50,8 +47,8 @@ Description Define what style of atoms to use in a simulation. This determines what attributes are associated with the atoms. This command must be -used before a simulation is setup via a :doc:`read\_data `, -:doc:`read\_restart `, or :doc:`create\_box ` +used before a simulation is setup via a :doc:`read_data `, +:doc:`read_restart `, or :doc:`create_box ` command. .. note:: @@ -68,12 +65,12 @@ style more general than needed, though it may be slightly inefficient. The choice of style affects what quantities are stored by each atom, what quantities are communicated between processors to enable forces to be computed, and what quantities are listed in the data file read -by the :doc:`read\_data ` command. +by the :doc:`read_data ` command. These are the additional attributes of each style and the typical kinds of physical systems they are used to model. All styles store coordinates, velocities, atom IDs and types. See the -:doc:`read\_data `, :doc:`create\_atoms `, and +:doc:`read_data `, :doc:`create_atoms `, and :doc:`set ` commands for info on how to set these various quantities. @@ -122,7 +119,7 @@ quantities. +--------------+-----------------------------------------------------+--------------------------------------+ | *tri* | corner points, angular momentum | rigid bodies | +--------------+-----------------------------------------------------+--------------------------------------+ -| *wavepacket* | charge, spin, eradius, etag, cs\_re, cs\_im | AWPMD | +| *wavepacket* | charge, spin, eradius, etag, cs_re, cs_im | AWPMD | +--------------+-----------------------------------------------------+--------------------------------------+ .. note:: @@ -161,7 +158,7 @@ For the *dipole* style, a point dipole is defined for each point particle. Note that if you wish the particles to be finite-size spheres as in a Stockmayer potential for a dipolar fluid, so that the particles can rotate due to dipole-dipole interactions, then you need -to use atom\_style hybrid sphere dipole, which will assign both a +to use atom_style hybrid sphere dipole, which will assign both a diameter and dipole moment to each particle. For the *electron* style, the particles representing electrons are 3d @@ -173,15 +170,15 @@ per-particle mass and volume. The *dpd* style is for dissipative particle dynamics (DPD) particles. Note that it is part of the USER-DPD package, and is not for use with -the :doc:`pair\_style dpd or dpd/stat ` commands, which can -simply use atom\_style atomic. Atom\_style dpd extends DPD particle +the :doc:`pair_style dpd or dpd/stat ` commands, which can +simply use atom_style atomic. Atom_style dpd extends DPD particle properties with internal temperature (dpdTheta), internal conductive energy (uCond), internal mechanical energy (uMech), and internal chemical energy (uChem). The *edpd* style is for energy-conserving dissipative particle -dynamics (eDPD) particles which store a temperature (edpd\_temp), and -heat capacity(edpd\_cv). +dynamics (eDPD) particles which store a temperature (edpd_temp), and +heat capacity(edpd_cv). The *mdpd* style is for many-body dissipative particle dynamics (mDPD) particles which store a density (rho) for considering @@ -189,7 +186,7 @@ density-dependent many-body interactions. The *tdpd* style is for transport dissipative particle dynamics (tDPD) particles which store a set of chemical concentration. An integer -"cc\_species" is required to specify the number of chemical species +"cc_species" is required to specify the number of chemical species involved in a tDPD system. The *meso* style is for smoothed particle hydrodynamics (SPH) @@ -208,7 +205,7 @@ Those spins have a norm (their magnetic moment) and a direction. The *wavepacket* style is similar to *electron*\ , but the electrons may consist of several Gaussian wave packets, summed up with coefficients -cs= (cs\_re,cs\_im). Each of the wave packets is treated as a separate +cs= (cs_re,cs_im). Each of the wave packets is treated as a separate particle in LAMMPS, wave packets belonging to the same electron must have identical *etag* values. @@ -235,12 +232,12 @@ can be advantageous for large-scale coarse-grained systems. .. note:: When using the *template* style with a :doc:`molecule template ` that contains multiple molecules, you should - insure the atom types, bond types, angle\_types, etc in all the + insure the atom types, bond types, angle_types, etc in all the molecules are consistent. E.g. if one molecule represents H2O and another CO2, then you probably do not want each molecule file to define 2 atom types and a single bond type, because they will conflict with each other when a mixture system of H2O and CO2 molecules is - defined, e.g. by the :doc:`read\_data ` command. Rather the + defined, e.g. by the :doc:`read_data ` command. Rather the H2O molecule should define atom types 1 and 2, and bond type 1. And the CO2 molecule should define atom types 3 and 4 (or atom types 3 and 2 if a single oxygen type is desired), and bond type 2. @@ -259,13 +256,11 @@ orientation and position can be time integrated due to forces and torques. Note that there may be additional arguments required along with the -*bstyle* specification, in the atom\_style body command. These +*bstyle* specification, in the atom_style body command. These arguments are described on the :doc:`Howto body ` doc page. - ---------- - Typically, simulations require only a single (non-hybrid) atom style. If some atoms in the simulation do not have all the properties defined by a particular style, use the simplest style that defines all the @@ -276,7 +271,7 @@ If some atoms have bonds, but others do not, use the *bond* style. The only scenario where the *hybrid* style is needed is if there is no single style which defines all needed properties of all atoms. For example, as mentioned above, if you want dipolar particles which will -rotate due to torque, you need to use "atom\_style hybrid sphere +rotate due to torque, you need to use "atom_style hybrid sphere dipole". When a hybrid style is used, atoms store and communicate the union of all quantities implied by the individual styles. @@ -287,10 +282,8 @@ per-atom basis. LAMMPS can be extended with new atom styles as well as new body styles; see the :doc:`Modify ` doc page. - ---------- - Styles with a *kk* 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 on @@ -315,9 +308,8 @@ instructions on how to use the accelerated styles effectively. Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a -:doc:`read\_data ` or :doc:`create\_box ` command. +:doc:`read_data ` or :doc:`create_box ` command. Many of the styles listed above are only enabled if LAMMPS was built with a specific package, as listed below. See the :doc:`Build package ` doc page for more info. @@ -338,7 +330,7 @@ The *electron* style is part of the USER-EFF package for :doc:`electronic force The *dpd* style is part of the USER-DPD package for dissipative particle dynamics (DPD). -The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the USER-MESO package +The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the USER-MESODPD package for energy-conserving dissipative particle dynamics (eDPD), many-body dissipative particle dynamics (mDPD), and transport dissipative particle dynamics (tDPD), respectively. @@ -354,20 +346,16 @@ The *wavepacket* style is part of the USER-AWPMD package for the Related commands """""""""""""""" -:doc:`read\_data `, :doc:`pair\_style ` +:doc:`read_data `, :doc:`pair_style ` Default """"""" -atom\_style atomic - +atom_style atomic ---------- - .. _Grime: - - **(Grime)** Grime and Voth, to appear in J Chem Theory & Computation (2014). diff --git a/doc/src/balance.rst b/doc/src/balance.rst index 67146b2ba98306aab9a7fb79ec1c0526d1cf0eda..58737249242557d5ce1e140cfc44b5c0018b73f6 100644 --- a/doc/src/balance.rst +++ b/doc/src/balance.rst @@ -6,7 +6,6 @@ balance command Syntax """""" - .. parsed-literal:: balance thresh style args ... keyword args ... @@ -14,9 +13,9 @@ Syntax * thresh = imbalance threshold that must be exceeded to perform a re-balance * one style/arg pair can be used (or multiple for *x*\ ,\ *y*\ ,\ *z*\ ) * style = *x* or *y* or *z* or *shift* or *rcb* - + .. parsed-literal:: - + *x* args = *uniform* or Px-1 numbers between 0 and 1 *uniform* = evenly spaced cuts between processors in x dimension numbers = Px-1 ascending values between 0 and 1, Px - # of processors in x dimension @@ -37,9 +36,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *weight* or *out* - + .. parsed-literal:: - + *weight* style args = use weighted particle counts for the balancing *style* = *group* or *neigh* or *time* or *var* or *store* *group* args = Ngroup group1 weight1 group2 weight2 ... @@ -57,13 +56,10 @@ Syntax *out* arg = filename filename = write each processor's sub-domain to a file - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS balance 0.9 x uniform y 0.4 0.5 0.6 balance 1.2 shift xz 5 1.1 @@ -132,8 +128,8 @@ forced even if the current balance is perfect (1.0) be specifying a exceed the *thresh* parameter if a "grid" style is specified when the current partitioning is "tiled". The meaning of "grid" vs "tiled" is explained below. This is to allow forcing of the partitioning to - "grid" so that the :doc:`comm\_style brick ` command can then - be used to replace a current :doc:`comm\_style tiled ` + "grid" so that the :doc:`comm_style brick ` command can then + be used to replace a current :doc:`comm_style tiled ` setting. When the balance command completes, it prints statistics about the @@ -151,7 +147,7 @@ fractions of the box length) are also printed. create a logical 3d grid cannot achieve perfect balance for many irregular distributions of particles. Likewise, if a portion of the system is a perfect lattice, e.g. the initial system is generated by - the :doc:`create\_atoms ` command, then "grid" methods may + the :doc:`create_atoms ` command, then "grid" methods may be unable to achieve exact balance. This is because entire lattice planes will be owned or not owned by a single processor. @@ -165,13 +161,11 @@ fractions of the box length) are also printed. proportional to particle count, and changing the relative size and shape of processor sub-domains may lead to additional computational and communication overheads, e.g. in the PPPM solver used via the - :doc:`kspace\_style ` command. Thus you should benchmark + :doc:`kspace_style ` command. Thus you should benchmark the run times of a simulation before and after balancing. - ---------- - The method used to perform a load balance is specified by one of the listed styles (or more in the case of *x*\ ,\ *y*\ ,\ *z*\ ), which are described in detail below. There are 2 kinds of styles. @@ -181,30 +175,33 @@ a logical 3d grid of processors. They operate by changing the cutting planes (or lines) between processors in 3d (or 2d), to adjust the volume (area in 2d) assigned to each processor, as in the following 2d diagram where processor sub-domains are shown and particles are -colored by the processor that owns them. The leftmost diagram is the -default partitioning of the simulation box across processors (one -sub-box for each of 16 processors); the middle diagram is after a -"grid" method has been applied. +colored by the processor that owns them. + +.. list-table:: -.. image:: JPG/balance_uniform_small.jpg - :target: JPG/balance_uniform.jpg -.. image:: JPG/balance_nonuniform_small.jpg - :target: JPG/balance_nonuniform.jpg -.. image:: JPG/balance_rcb_small.jpg - :target: JPG/balance_rcb.jpg + * - .. figure:: JPG/balance_uniform_small.jpg + :target: JPG/balance_uniform.jpg + - .. figure:: JPG/balance_nonuniform_small.jpg + :target: JPG/balance_nonuniform.jpg -The *rcb* style is a "tiling" method which does not produce a logical -3d grid of processors. Rather it tiles the simulation domain with -rectangular sub-boxes of varying size and shape in an irregular -fashion so as to have equal numbers of particles (or weight) in each -sub-box, as in the rightmost diagram above. + - .. figure:: JPG/balance_rcb_small.jpg + :target: JPG/balance_rcb.jpg + +The leftmost diagram is the default partitioning of the simulation box +across processors (one sub-box for each of 16 processors); the middle +diagram is after a "grid" method has been applied. The *rcb* style is a +"tiling" method which does not produce a logical 3d grid of processors. +Rather it tiles the simulation domain with rectangular sub-boxes of +varying size and shape in an irregular fashion so as to have equal +numbers of particles (or weight) in each sub-box, as in the rightmost +diagram above. The "grid" methods can be used with either of the -:doc:`comm\_style ` command options, *brick* or *tiled*\ . The -"tiling" methods can only be used with :doc:`comm\_style tiled `. Note that it can be useful to use a "grid" -method with :doc:`comm\_style tiled ` to return the domain -partitioning to a logical 3d grid of processors so that "comm\_style +:doc:`comm_style ` command options, *brick* or *tiled*\ . The +"tiling" methods can only be used with :doc:`comm_style tiled `. Note that it can be useful to use a "grid" +method with :doc:`comm_style tiled ` to return the domain +partitioning to a logical 3d grid of processors so that "comm_style brick" can afterwords be specified for subsequent :doc:`run ` commands. @@ -220,10 +217,8 @@ When a "tiling" method is specified, the current domain partitioning ("grid" or "tiled") is ignored, and a new partitioning is computed from scratch. - ---------- - The *x*\ , *y*\ , and *z* styles invoke a "grid" method for balancing, as described above. Note that any or all of these 3 styles can be specified together, one after the other, but they cannot be used with @@ -237,7 +232,7 @@ that specify the position of the cutting planes. This requires knowing Ps = Px or Py or Pz = the number of processors assigned by LAMMPS to the relevant dimension. This assignment is made (and the Px, Py, Pz values printed out) when the simulation box is created by -the "create\_box" or "read\_data" or "read\_restart" command and is +the "create_box" or "read_data" or "read_restart" command and is influenced by the settings of the :doc:`processors ` command. @@ -250,10 +245,8 @@ there are 2 processors in the x dimension, you specify a single value such as 0.75, which would make the left processor's sub-domain 3x larger than the right processor's sub-domain. - ---------- - The *shift* style invokes a "grid" method for balancing, as described above. It changes the positions of cutting planes between processors in an iterative fashion, seeking to reduce the imbalance @@ -307,10 +300,8 @@ the balance procedure ends. the same number of iterations to converge even if the cutting plane is initially close to the target value. - ---------- - The *rcb* style invokes a "tiled" method for balancing, as described above. It performs a recursive coordinate bisectioning (RCB) of the simulation domain. The basic idea is as follows. @@ -344,14 +335,12 @@ box in two. The recursion continues until every processor is assigned a sub-box of the entire simulation domain, and owns the (weighted) particles in that sub-box. - ---------- - -.. _weighted\_balance: +.. _weighted_balance: This sub-section describes how to perform weighted load balancing -using the *weight* keyword. +using the *weight* keyword. By default, all particles have a weight of 1.0, which means each particle is assumed to require the same amount of computation during a @@ -384,7 +373,7 @@ multiple groups, its weight is the product of the weight factors. This weight style is useful in combination with pair style :doc:`hybrid `, e.g. when combining a more costly many-body potential with a fast pair-wise potential. It is also useful when -using :doc:`run\_style respa ` where some portions of the +using :doc:`run_style respa ` where some portions of the system have many bonded interactions and others none. It assumes that the computational cost for each group remains constant over time. This is a purely empirical weighting, so a series test runs to tune @@ -477,16 +466,14 @@ velocity, the volume of its Voronoi cell, etc. The *store* weight style does not compute a weight factor. Instead it stores the current accumulated weights in a custom per-atom property -specified by *name*\ . This must be a property defined as *d\_name* via +specified by *name*\ . This must be a property defined as *d_name* via the :doc:`fix property/atom ` command. Note that these custom per-atom properties can be output in a :doc:`dump ` file, so this is a way to examine, debug, or visualize the per-particle weights computed during the load-balancing operation. - ---------- - The *out* keyword writes a text file to the specified *filename* with the results of the balancing operation. The file contains the bounds of the sub-domain for each processor after the balancing operation @@ -495,7 +482,6 @@ completes. The format of the file is compatible with the visualizing mesh files. An example is shown here for a balancing by 4 processors for a 2d problem: - .. parsed-literal:: ITEM: TIMESTEP @@ -543,32 +529,23 @@ rectangle for each processor (1 to 4). For a 3d problem, the syntax is similar with 8 vertices listed for each processor, instead of 4, and "SQUARES" replaced by "CUBES". - ---------- - Restrictions """""""""""" - For 2d simulations, the *z* style cannot be used. Nor can a "z" appear in *dimstr* for the *shift* style. Balancing through recursive bisectioning (\ *rcb* style) requires -:doc:`comm\_style tiled ` +:doc:`comm_style tiled ` Related commands """""""""""""""" :doc:`group `, :doc:`processors `, -:doc:`fix balance `, :doc:`comm\_style ` +:doc:`fix balance `, :doc:`comm_style ` -.. _pizza: http://pizza.sandia.gov +.. _pizza: https://pizza.sandia.gov **Default:** none - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/bond_class2.rst b/doc/src/bond_class2.rst index e3098ef6dcfb1ed139bfb0e4b0a8c9061bdcc827..3aee22dbf4eca2345cac8aee032f048dba9fcc69 100644 --- a/doc/src/bond_class2.rst +++ b/doc/src/bond_class2.rst @@ -12,7 +12,6 @@ bond_style class2/kk command Syntax """""" - .. code-block:: LAMMPS bond_style class2 @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style class2 @@ -35,25 +33,22 @@ The *class2* bond style uses the potential E = K_2 (r - r_0)^2 + K_3 (r - r_0)^3 + K_4 (r - r_0)^4 - where :math:`r_0` is the equilibrium bond distance. See :ref:`(Sun) ` for a description of the COMPASS class2 force field. The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`r_0` (distance) * :math:`K_2` (energy/distance\^2) * :math:`K_3` (energy/distance\^3) * :math:`K_4` (energy/distance\^4) - ---------- - 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 @@ -72,14 +67,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the CLASS2 package. See the :doc:`Build package ` doc page for more info. @@ -87,16 +79,12 @@ info. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds ` +:doc:`bond_coeff `, :doc:`delete_bonds ` **Default:** none - ---------- - .. _bond-Sun: - - **(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/src/bond_coeff.rst b/doc/src/bond_coeff.rst index 281dfc709563a9774bc188afedd67624ea101a3f..416190a36775dbf92bc63adf1e4fe48383416da5 100644 --- a/doc/src/bond_coeff.rst +++ b/doc/src/bond_coeff.rst @@ -6,7 +6,6 @@ bond_coeff command Syntax """""" - .. code-block:: LAMMPS bond_coeff N args @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_coeff 5 80.0 1.2 @@ -31,7 +29,7 @@ Description Specify the bond force field coefficients for one or more bond types. The number and meaning of the coefficients depends on the bond style. Bond coefficients can also be set in the data file read by the -:doc:`read\_data ` command or in a restart file. +:doc:`read_data ` command or in a restart file. N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be @@ -42,51 +40,44 @@ leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -Note that using a bond\_coeff command can override a previous setting +Note that using a bond_coeff command can override a previous setting for the same bond type. For example, these commands set the coeffs for all bond types, then overwrite the coeffs for just bond type 2: - .. code-block:: LAMMPS bond_coeff * 100.0 1.2 bond_coeff 2 200.0 1.2 A line in a data file that specifies bond coefficients uses the exact -same format as the arguments of the bond\_coeff command in an input +same format as the arguments of the bond_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, under the "Bond Coeffs" section of a data file, the line that corresponds to the 1st example above would be listed as - .. parsed-literal:: 5 80.0 1.2 - ---------- - The list of all bond styles defined in LAMMPS is given on the -:doc:`bond\_style ` doc page. They are also listed in more +:doc:`bond_style ` doc page. They are also listed in more compact form on the :doc:`Commands bond ` doc page. On either of those pages, click on the style to display the formula it computes and its coefficients as specified by the associated -bond\_coeff command. - +bond_coeff command. ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a -:doc:`read\_data `, :doc:`read\_restart `, or -:doc:`create\_box ` command. +:doc:`read_data `, :doc:`read_restart `, or +:doc:`create_box ` command. A bond style must be defined before any bond coefficients are set, either in the input script or in a data file. @@ -94,6 +85,6 @@ either in the input script or in a data file. Related commands """""""""""""""" -:doc:`bond\_style ` +:doc:`bond_style ` **Default:** none diff --git a/doc/src/bond_fene.rst b/doc/src/bond_fene.rst index d952321c20648cbf3b3ab3a91953e62650a1a56d..3ba96722947aa9469001a6a289012caece130efe 100644 --- a/doc/src/bond_fene.rst +++ b/doc/src/bond_fene.rst @@ -15,7 +15,6 @@ bond_style fene/omp command Syntax """""" - .. code-block:: LAMMPS bond_style fene @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style fene @@ -38,7 +36,6 @@ The *fene* bond style uses the potential E = -0.5 K R_0^2 \ln \left[ 1 - \left(\frac{r}{R_0}\right)^2\right] + 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] + \epsilon - to define a finite extensible nonlinear elastic (FENE) potential :ref:`(Kremer) `, used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. The @@ -46,19 +43,17 @@ first term extends to :math:`R_0`, the maximum extent of the bond. The 2nd term is cutoff at :math:`2^\frac{1}{6} \sigma`, the minimum of the LJ potential. The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy/distance\^2) * :math:`R_0` (distance) * :math:`\epsilon` (energy) * :math:`\sigma` (distance) - ---------- - 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 @@ -77,35 +72,28 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. -You typically should specify :doc:`special\_bonds fene ` -or :doc:`special\_bonds lj/coul 0 1 1 ` to use this bond +You typically should specify :doc:`special_bonds fene ` +or :doc:`special_bonds lj/coul 0 1 1 ` to use this bond style. LAMMPS will issue a warning it that's not the case. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds ` +:doc:`bond_coeff `, :doc:`delete_bonds ` **Default:** none - ---------- - .. _fene-Kremer: - - **(Kremer)** Kremer, Grest, J Chem Phys, 92, 5057 (1990). diff --git a/doc/src/bond_fene_expand.rst b/doc/src/bond_fene_expand.rst index 5b5b858330ace2e29f51b2a545b3214a13e461cb..032b7261212f4c026756ae34bc68c31c74d19d56 100644 --- a/doc/src/bond_fene_expand.rst +++ b/doc/src/bond_fene_expand.rst @@ -9,7 +9,6 @@ bond_style fene/expand/omp command Syntax """""" - .. code-block:: LAMMPS bond_style fene/expand @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style fene/expand @@ -32,7 +30,6 @@ The *fene/expand* bond style uses the potential E = -0.5 K R_0^2 \ln \left[1 -\left( \frac{\left(r - \Delta\right)}{R_0}\right)^2 \right] + 4 \epsilon \left[ \left(\frac{\sigma}{\left(r - \Delta\right)}\right)^{12} - \left(\frac{\sigma}{\left(r - \Delta\right)}\right)^6 \right] + \epsilon - to define a finite extensible nonlinear elastic (FENE) potential :ref:`(Kremer) `, used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. @@ -43,9 +40,9 @@ effectively change the bead size of the bonded atoms. The first term now extends to :math:`R_0 + \Delta` and the 2nd term is cutoff at :math:`2^\frac{1}{6} \sigma + \Delta`. The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy/distance\^2) * :math:`R_0` (distance) @@ -53,10 +50,8 @@ or :doc:`read\_restart ` commands: * :math:`\sigma` (distance) * :math:`\Delta` (distance) - ---------- - 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 @@ -75,35 +70,28 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. -You typically should specify :doc:`special\_bonds fene ` -or :doc:`special\_bonds lj/coul 0 1 1 ` to use this bond +You typically should specify :doc:`special_bonds fene ` +or :doc:`special_bonds lj/coul 0 1 1 ` to use this bond style. LAMMPS will issue a warning it that's not the case. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds ` +:doc:`bond_coeff `, :doc:`delete_bonds ` **Default:** none - ---------- - .. _feneexpand-Kremer: - - **(Kremer)** Kremer, Grest, J Chem Phys, 92, 5057 (1990). diff --git a/doc/src/bond_gromos.rst b/doc/src/bond_gromos.rst index 5d0a4ab1c69fd5644ad3d5e76486bf5a5e643bb3..ad1b143a24d4518f9662f3633a5451ffe9d2ba68 100644 --- a/doc/src/bond_gromos.rst +++ b/doc/src/bond_gromos.rst @@ -9,7 +9,6 @@ bond_style gromos/omp command Syntax """""" - .. code-block:: LAMMPS bond_style gromos @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style gromos @@ -32,22 +30,19 @@ The *gromos* bond style uses the potential E = K (r^2 - r_0^2)^2 - where :math:`r_0` is the equilibrium bond distance. Note that the usual 1/4 factor is included in :math:`K`. The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy/distance\^4) * :math:`r_0` (distance) - ---------- - 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 @@ -66,14 +61,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -81,6 +73,6 @@ info. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds ` +:doc:`bond_coeff `, :doc:`delete_bonds ` **Default:** none diff --git a/doc/src/bond_harmonic.rst b/doc/src/bond_harmonic.rst index d65f0337f085345094b4c4f82c850fed8f613e6e..befab173d675b7dd201f457a638c2d3fbaaded7d 100644 --- a/doc/src/bond_harmonic.rst +++ b/doc/src/bond_harmonic.rst @@ -15,7 +15,6 @@ bond_style harmonic/omp command Syntax """""" - .. code-block:: LAMMPS bond_style harmonic @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style harmonic @@ -38,22 +36,19 @@ The *harmonic* bond style uses the potential E = K (r - r_0)^2 - where :math:`r_0` is the equilibrium bond distance. Note that the usual 1/2 factor is included in :math:`K`. The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy/distance\^2) * :math:`r_0` (distance) - ---------- - 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 @@ -72,14 +67,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -87,6 +79,6 @@ info. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds ` +:doc:`bond_coeff `, :doc:`delete_bonds ` **Default:** none diff --git a/doc/src/bond_harmonic_shift.rst b/doc/src/bond_harmonic_shift.rst index cc39bda7a77a7331ffabd3c3087edfac10bb0579..a044797c6fead0ec50b4712a07237a21acecc390 100644 --- a/doc/src/bond_harmonic_shift.rst +++ b/doc/src/bond_harmonic_shift.rst @@ -9,7 +9,6 @@ bond_style harmonic/shift/omp command Syntax """""" - .. code-block:: LAMMPS bond_style harmonic/shift @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style harmonic/shift @@ -33,15 +31,14 @@ the potential E = \frac{U_{\text{min}}}{(r_0-r_c)^2} \left[ (r-r_0)^2-(r_c-r_0)^2 \right] - where :math:`r_0` is the equilibrium bond distance, and :math:`r_c` the critical distance. The potential is :math:`-U_{\text{min}}` at :math:`r0` and zero at :math:`r_c`. The spring constant is :math:`k = U_{\text{min}} / [ 2 (r_0-r_c)^2]`. The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`U_{\text{min}}` (energy) @@ -49,10 +46,8 @@ or :doc:`read\_restart ` commands: * :math:`r_c` (distance) - ---------- - 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 @@ -71,14 +66,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -86,7 +78,7 @@ page for more info. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds `, -:doc:`bond\_harmonic ` +:doc:`bond_coeff `, :doc:`delete_bonds `, +:doc:`bond_harmonic ` **Default:** none diff --git a/doc/src/bond_harmonic_shift_cut.rst b/doc/src/bond_harmonic_shift_cut.rst index 459acfdbfbe59460b667f40b8224c95e0e39577f..64a7ae2e3d8d6100b59580cae5096b1f985ea044 100644 --- a/doc/src/bond_harmonic_shift_cut.rst +++ b/doc/src/bond_harmonic_shift_cut.rst @@ -9,7 +9,6 @@ bond_style harmonic/shift/cut/omp command Syntax """""" - .. code-block:: LAMMPS bond_style harmonic/shift/cut @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style harmonic/shift/cut @@ -33,24 +31,21 @@ uses the potential E = \frac{U_{\text{min}}}{(r_0-r_c)^2} \left[ (r-r_0)^2-(r_c-r_0)^2 \right] - where :math:`r_0` is the equilibrium bond distance, and rc the critical distance. The bond potential is zero for distances :math:`r > r_c`. The potential is :math:`-U_{\text{min}}` at :math:`r_0` and zero at :math:`r_c`. The spring constant is :math:`k = U_{\text{min}} / [ 2 (r_0-r_c)^2]`. The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`U_{\text{min}}` (energy) * :math:`r_0` (distance) * :math:`r_c` (distance) - ---------- - 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 @@ -69,14 +64,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -84,8 +76,8 @@ page for more info. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds `, -:doc:`bond\_harmonic `, -:doc:`bond\_harmonic\_shift ` +:doc:`bond_coeff `, :doc:`delete_bonds `, +:doc:`bond_harmonic `, +:doc:`bond_style harmonic/shift ` **Default:** none diff --git a/doc/src/bond_hybrid.rst b/doc/src/bond_hybrid.rst index 6b8175858f2a9f93e627a2858e7f6cb4c9116c55..74bd39988bc16e8dbfc79fa826170bbf2dbd8abd 100644 --- a/doc/src/bond_hybrid.rst +++ b/doc/src/bond_hybrid.rst @@ -6,7 +6,6 @@ bond_style hybrid command Syntax """""" - .. code-block:: LAMMPS bond_style hybrid style1 style2 ... @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block: LAMMPS bond_style hybrid harmonic fene @@ -34,9 +32,9 @@ be computed with a *harmonic* potential. The assignment of bond type to style is made via the :doc:`bond_coeff ` command or in the data file. -In the bond\_coeff commands, the name of a bond style must be added +In the bond_coeff commands, the name of a bond style must be added after the bond type, with the remaining coefficients being those -appropriate to that style. In the example above, the 2 bond\_coeff +appropriate to that style. In the example above, the 2 bond_coeff commands set bonds of bond type 1 to be computed with a *harmonic* potential with coefficients 80.0, 1.2 for :math:`K`, :math:`r_0`. All other bond types (2-N) are computed with a *fene* potential with coefficients 30.0, @@ -47,7 +45,6 @@ If bond coefficients are specified in the data file read via the E.g. "harmonic" or "fene" must be added after the bond type, for each line in the "Bond Coeffs" section, e.g. - .. parsed-literal:: Bond Coeffs @@ -57,25 +54,22 @@ line in the "Bond Coeffs" section, e.g. ... A bond style of *none* with no additional coefficients can be used in -place of a bond style, either in a input script bond\_coeff command or +place of a bond style, either in a input script bond_coeff command or in the data file, if you desire to turn off interactions for specific bond types. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. Unlike other bond styles, the hybrid bond style does not store bond coefficient info for individual sub-styles in a :doc:`binary restart files `. Thus when restarting a simulation from a restart -file, you need to re-specify bond\_coeff commands. +file, you need to re-specify bond_coeff commands. Related commands """""""""""""""" diff --git a/doc/src/bond_mm3.rst b/doc/src/bond_mm3.rst index 5794592ce4588bc759f2c3302fbace5f30c83ffa..8ea79d91392324777b87eeffacaa4f1b29495c4e 100644 --- a/doc/src/bond_mm3.rst +++ b/doc/src/bond_mm3.rst @@ -6,7 +6,6 @@ bond_style mm3 command Syntax """""" - .. code-block:: LAMMPS bond_style mm3 @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style mm3 @@ -30,7 +28,6 @@ as defined in :ref:`(Allinger) ` E = K (r - r_0)^2 \left[ 1 - 2.55(r-r_0) + (7/12) 2.55^2(r-r_0)^2 \right] - where :math:`r_0` is the equilibrium value of the bond, and :math:`K` is a prefactor. The anharmonic prefactors have units angstrom\^(-n): -2.55 angstrom\^(-1) and (7/12)2.55\^2 angstrom\^(-2). The code takes @@ -39,9 +36,9 @@ Note that the MM3 papers contains an error in Eq (1): (7/12)2.55 should be replaced with (7/12)2.55\^2 The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy/distance\^2) * :math:`r_0` (distance) @@ -49,25 +46,20 @@ or :doc:`read\_restart ` commands: Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the -USER\_YAFF package. See the :doc:`Build package ` doc +USER_YAFF package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`bond\_coeff ` +:doc:`bond_coeff ` **Default:** none - ---------- - .. _mm3-allinger1989: - - **(Allinger)** Allinger, Yuh, Lii, JACS, 111(23), 8551-8566 (1989), diff --git a/doc/src/bond_morse.rst b/doc/src/bond_morse.rst index 26471424c566f046319a52dd769ce7272fec80c5..5cc30bcdf9cc965774a43a1d156a45ce1415a5cb 100644 --- a/doc/src/bond_morse.rst +++ b/doc/src/bond_morse.rst @@ -9,7 +9,6 @@ bond_style morse/omp command Syntax """""" - .. code-block:: LAMMPS bond_style morse @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style morse @@ -32,23 +30,20 @@ The *morse* bond style uses the potential E = D \left[ 1 - e^{-\alpha (r - r_0)} \right]^2 - where :math:`r_0` is the equilibrium bond distance, :math:`\alpha` is a stiffness parameter, and :math:`D` determines the depth of the potential well. The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`D` (energy) * :math:`\alpha` (inverse distance) * :math:`r_0` (distance) - ---------- - 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 @@ -67,14 +62,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -82,6 +74,6 @@ info. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds ` +:doc:`bond_coeff `, :doc:`delete_bonds ` **Default:** none diff --git a/doc/src/bond_none.rst b/doc/src/bond_none.rst index ac838581bef94830ac6442a615d7920893f274ba..3712ef08d554d3a084db9f801efa6c68dde1fe74 100644 --- a/doc/src/bond_none.rst +++ b/doc/src/bond_none.rst @@ -6,7 +6,6 @@ bond_style none command Syntax """""" - .. code-block:: LAMMPS bond_style none @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-blocK:: LAMMPS bond_style none diff --git a/doc/src/bond_nonlinear.rst b/doc/src/bond_nonlinear.rst index 0003257e0bad5189d07e027c4dee39212e8b6941..05ed28fffeb7514ea2313d311d10bd421d1d4bc8 100644 --- a/doc/src/bond_nonlinear.rst +++ b/doc/src/bond_nonlinear.rst @@ -9,7 +9,6 @@ bond_style nonlinear/omp command Syntax """""" - .. code-block:: LAMMPS bond_style nonlinear @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style nonlinear @@ -32,23 +30,20 @@ The *nonlinear* bond style uses the potential E = \frac{\epsilon (r - r_0)^2}{ [ \lambda^2 - (r - r_0)^2 ]} - to define an anharmonic spring :ref:`(Rector) ` of equilibrium length :math:`r_0` and maximum extension lamda. The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`\epsilon` (energy) * :math:`r_0` (distance) * :math:`\lambda` (distance) - ---------- - 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 @@ -67,14 +62,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -82,16 +74,12 @@ info. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds ` +:doc:`bond_coeff `, :doc:`delete_bonds ` **Default:** none - ---------- - .. _Rector: - - **(Rector)** Rector, Van Swol, Henderson, Molecular Physics, 82, 1009 (1994). diff --git a/doc/src/bond_oxdna.rst b/doc/src/bond_oxdna.rst index 03863eb5cf1e2d538451515e249a848828ffc7d4..71e510543601da1074251a26417af70be90f6fee 100644 --- a/doc/src/bond_oxdna.rst +++ b/doc/src/bond_oxdna.rst @@ -12,7 +12,6 @@ bond_style oxrna2/fene command Syntax """""" - .. code-block:: LAMMPS bond_style oxdna/fene @@ -24,7 +23,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style oxdna/fene @@ -34,7 +32,7 @@ Examples bond_coeff * 2.0 0.25 0.7564 bond_style oxrna2/fene - bond_coeff \* 2.0 0.25 0.76107 + bond_coeff * 2.0 0.25 0.76107 Description """"""""""" @@ -45,16 +43,15 @@ The *oxdna/fene* , *oxdna2/fene* and *oxrna2/fene* bond styles use the potential E = - \frac{\epsilon}{2} \ln \left[ 1 - \left(\frac{r-r_0}{\Delta}\right)^2\right] - to define a modified finite extensible nonlinear elastic (FENE) potential :ref:`(Ouldridge) ` to model the connectivity of the phosphate backbone in the oxDNA/oxRNA force field for coarse-grained modelling of DNA/RNA. The following coefficients must be defined for the bond type via the -:doc:`bond\_coeff ` command as given in the above example, or +:doc:`bond_coeff ` command as given in the above example, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: * :math:`\epsilon` (energy) @@ -68,12 +65,12 @@ commands: *oxdna/excv* , stacking *oxdna/stk* , cross-stacking *oxdna/xstk* and coaxial stacking interaction *oxdna/coaxstk* as well as hydrogen-bonding interaction *oxdna/hbond* (see also documentation of - :doc:`pair\_style oxdna/excv `). For the oxDNA2 - :ref:`(Snodin) ` bond style the analogous pair styles + :doc:`pair_style oxdna/excv `). For the oxDNA2 + :ref:`(Snodin) ` bond style the analogous pair styles *oxdna2/excv* , *oxdna2/stk* , *oxdna2/xstk* , *oxdna2/coaxstk* , - *oxdna2/hbond* and an additional Debye-Hueckel pair style + *oxdna2/hbond* and an additional Debye-Hueckel pair style *oxdna2/dh* have to be defined. The same applies to the oxRNA2 - :ref:`(Sulc1) ` styles. + :ref:`(Sulc1) ` styles. The coefficients in the above example have to be kept fixed and cannot be changed without reparameterizing the entire model. @@ -83,27 +80,24 @@ setup tool which creates single straight or helical DNA strands, DNA/RNA duplexes or arrays of DNA/RNA duplexes can be found in examples/USER/cgdna/util/. -Please cite :ref:`(Henrich) ` in any publication that uses -this implementation. The article contains general information -on the model, its implementation and performance as well as the structure of +Please cite :ref:`(Henrich) ` in any publication that uses +this implementation. The article contains general information +on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found `here `_. -Please cite also the relevant oxDNA/oxRNA publications. These are -:ref:`(Ouldridge) ` and -:ref:`(Ouldridge-DPhil) ` for oxDNA, -:ref:`(Snodin) ` for oxDNA2, -:ref:`(Sulc1) ` for oxRNA2 -and for sequence-specific hydrogen-bonding and stacking interactions +Please cite also the relevant oxDNA/oxRNA publications. These are +:ref:`(Ouldridge) ` and +:ref:`(Ouldridge-DPhil) ` for oxDNA, +:ref:`(Snodin) ` for oxDNA2, +:ref:`(Sulc1) ` for oxRNA2 +and for sequence-specific hydrogen-bonding and stacking interactions :ref:`(Sulc2) `. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. @@ -111,14 +105,13 @@ USER-CGDNA package and the MOLECULE and ASPHERE package. See the Related commands """""""""""""""" -:doc:`pair\_style oxdna/excv `, :doc:`pair\_style oxdna2/excv `, :doc:`pair\_style oxrna2/excv `, -:doc:`bond\_coeff `, :doc:`fix nve/dotc/langevin ` +:doc:`pair_style oxdna/excv `, :doc:`pair_style oxdna2/excv `, :doc:`pair_style oxrna2/excv `, +:doc:`bond_coeff `, :doc:`fix nve/dotc/langevin ` **Default:** none - ---------- .. _Henrich0: diff --git a/doc/src/bond_quartic.rst b/doc/src/bond_quartic.rst index 898aa9315afa939389992f392a5829c1337d5cef..1321e015867f6da880631cba0c06fb62476bebef 100644 --- a/doc/src/bond_quartic.rst +++ b/doc/src/bond_quartic.rst @@ -9,7 +9,6 @@ bond_style quartic/omp command Syntax """""" - .. code-block:: LAMMPS bond_style quartic @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style quartic @@ -37,9 +35,9 @@ due to a polymer being stretched). The :math:`\sigma` and :math:`\epsilon` used LJ portion of the formula are both set equal to 1.0 by LAMMPS. The following coefficients must be defined for each bond type via the -:doc:`bond\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`bond_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * :math:`K` (energy/distance\^4) * :math:`B_1` (distance) @@ -50,7 +48,7 @@ or :doc:`read\_restart ` commands: This potential was constructed to mimic the FENE bond potential for coarse-grained polymer chains. When monomers with :math:`\sigma = \epsilon = 1.0` are used, the following choice of parameters gives a quartic potential that -looks nearly like the FENE potential: +looks nearly like the FENE potential: .. math:: @@ -59,7 +57,7 @@ looks nearly like the FENE potential: B_2 &= 0.25 \\ R_c &= 1.3 \\ U_0 &= 34.6878 - + Different parameters can be specified using the :doc:`bond_coeff ` command, but you will need to choose them carefully so they form a suitable bond potential. @@ -75,24 +73,21 @@ LAMMPS does the second task via a computational sleight-of-hand. It subtracts the pairwise interaction as part of the bond computation. When the bond breaks, the subtraction stops. For this to work, the pairwise interaction must always be computed by the -:doc:`pair\_style ` command, whether the bond is broken or -not. This means that :doc:`special\_bonds ` must be set +:doc:`pair_style ` command, whether the bond is broken or +not. This means that :doc:`special_bonds ` must be set to 1,1,1, as indicated as a restriction below. Note that when bonds are dumped to a file via the :doc:`dump local ` command, bonds with type 0 are not included. The -:doc:`delete\_bonds ` command can also be used to query the +:doc:`delete_bonds ` command can also be used to query the status of broken bonds or permanently delete them, e.g.: - .. code-block:: LAMMPS delete_bonds all stats delete_bonds all bond 0 remove - ---------- - 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 @@ -111,25 +106,22 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. -The *quartic* style requires that :doc:`special\_bonds ` +The *quartic* style requires that :doc:`special_bonds ` parameters be set to 1,1,1. Three- and four-body interactions (angle, dihedral, etc) cannot be used with *quartic* bonds. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds ` +:doc:`bond_coeff `, :doc:`delete_bonds ` **Default:** none diff --git a/doc/src/bond_style.rst b/doc/src/bond_style.rst index dd3acb6833b9f73c231a21a23bffb60b03723084..52cc761da1b78bf669a6ac38a9328c56847cce92 100644 --- a/doc/src/bond_style.rst +++ b/doc/src/bond_style.rst @@ -6,7 +6,6 @@ bond_style command Syntax """""" - .. code-block:: LAMMPS bond_style style args @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style harmonic @@ -32,12 +30,12 @@ Description Set the formula(s) LAMMPS uses to compute bond interactions between pairs of atoms. In LAMMPS, a bond differs from a pairwise -interaction, which are set via the :doc:`pair\_style ` +interaction, which are set via the :doc:`pair_style ` command. Bonds are defined between specified pairs of atoms and remain in force for the duration of the simulation (unless the bond breaks which is possible in some bond potentials). The list of bonded -atoms is read in by a :doc:`read\_data ` or -:doc:`read\_restart ` command from a data or restart file. +atoms is read in by a :doc:`read_data ` or +:doc:`read_restart ` command from a data or restart file. By contrast, pair potentials are typically defined between all pairs of atoms within a cutoff distance and the set of active interactions changes over time. @@ -46,36 +44,34 @@ Hybrid models where bonds are computed using different bond potentials can be setup using the *hybrid* bond style. The coefficients associated with a bond style can be specified in a -data or restart file or via the :doc:`bond\_coeff ` command. +data or restart file or via the :doc:`bond_coeff ` command. All bond potentials store their coefficient data in binary restart -files which means bond\_style and :doc:`bond\_coeff ` commands +files which means bond_style and :doc:`bond_coeff ` commands do not need to be re-specified in an input script that restarts a -simulation. See the :doc:`read\_restart ` command for -details on how to do this. The one exception is that bond\_style +simulation. See the :doc:`read_restart ` command for +details on how to do this. The one exception is that bond_style *hybrid* only stores the list of sub-styles in the restart file; bond coefficients need to be re-specified. .. note:: When both a bond and pair style is defined, the - :doc:`special\_bonds ` command often needs to be used to + :doc:`special_bonds ` command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise exist between 2 bonded atoms. In the formulas listed for each bond style, *r* is the distance between the 2 atoms in the bond. - ---------- - Here is an alphabetic list of bond styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated :doc:`bond_coeff ` command. Click on the style to display the formula it computes, any additional -arguments specified in the bond\_style command, and coefficients +arguments specified in the bond_style command, and coefficients specified by the associated :doc:`bond_coeff ` command. There are also additional accelerated pair styles included in the @@ -104,14 +100,11 @@ accelerated styles exist. * :doc:`quartic ` - breakable quartic bond * :doc:`table ` - tabulated by bond length - ---------- - Restrictions """""""""""" - Bond styles can only be set for atom styles that allow bonds to be defined. @@ -122,7 +115,7 @@ individual bond potentials tell if it is part of a package. Related commands """""""""""""""" -:doc:`bond\_coeff `, :doc:`delete\_bonds ` +:doc:`bond_coeff `, :doc:`delete_bonds ` Default """"""" diff --git a/doc/src/bond_table.rst b/doc/src/bond_table.rst index 5378df3cff3b28a34a754ebefea57c72221e6d42..445face23104dc629c41c119a4b97cb2a03fcf71 100644 --- a/doc/src/bond_table.rst +++ b/doc/src/bond_table.rst @@ -9,7 +9,6 @@ bond_style table/omp command Syntax """""" - .. code-block:: LAMMPS bond_style table style N @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style table linear 1000 @@ -59,14 +57,11 @@ The filename specifies a file containing tabulated energy and force values. The keyword specifies a section of the file. The format of this file is described below. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # Bond potential for harmonic (one or more comment or blank lines) @@ -90,7 +85,7 @@ keyword followed by one or more numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* -specified in the :doc:`bond\_style table ` command. Let +specified in the :doc:`bond_style table ` command. Let Ntable = *N* in the bond_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It @@ -127,10 +122,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - 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 @@ -149,24 +142,21 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Restart info:** -This bond style writes the settings for the "bond\_style table" -command to :doc:`binary restart files `, so a bond\_style +This bond style writes the settings for the "bond_style table" +command to :doc:`binary restart files `, so a bond_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file, since it is tabulated in the potential files. Thus, -bond\_coeff commands do need to be specified in the restart input +bond_coeff commands do need to be specified in the restart input script. Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/bond_write.rst b/doc/src/bond_write.rst index f7055d42aaefd084d3e93ace1996a24d189a0b06..5f93e41da0d00209a2422ef8e05eced4aa0c2ada 100644 --- a/doc/src/bond_write.rst +++ b/doc/src/bond_write.rst @@ -6,7 +6,6 @@ bond_write command Syntax """""" - .. code-block:: LAMMPS bond_write btype N inner outer file keyword itype jtype @@ -21,7 +20,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_write 1 500 0.5 3.5 table.txt Harmonic_1 @@ -54,7 +52,6 @@ and a force (in force units). Restrictions """""""""""" - All force field coefficients for bond and other kinds of interactions must be set before this command can be invoked. diff --git a/doc/src/bond_zero.rst b/doc/src/bond_zero.rst index 43a0af33e20872c6820542952b88c0498cec0fb1..42df0472a180765b0b0bc53352c4ca1a384486a7 100644 --- a/doc/src/bond_zero.rst +++ b/doc/src/bond_zero.rst @@ -6,7 +6,6 @@ bond_style zero command Syntax """""" - .. code-block:: LAMMPS bond_style zero [nocoeff] @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style zero @@ -31,14 +29,14 @@ commands. As an example, the :doc:`compute bond/local ` command can be used to compute distances for the list of pairs of bond -atoms listed in the data file read by the :doc:`read\_data ` +atoms listed in the data file read by the :doc:`read_data ` command. If no bond style is defined, this command cannot be used. The optional *nocoeff* flag allows to read data files with a BondCoeff -section for any bond style. Similarly, any bond\_coeff commands +section for any bond style. Similarly, any bond_coeff commands will only be checked for the bond type number and the rest ignored. -Note that the :doc:`bond\_coeff ` command must be used for +Note that the :doc:`bond_coeff ` command must be used for all bond types. If specified, there can be only one value, which is going to be used to assign an equilibrium distance, e.g. for use with :doc:`fix shake `. @@ -50,6 +48,6 @@ Restrictions Related commands """""""""""""""" -:doc:`bond\_style none ` +:doc:`bond_style none ` **Default:** none diff --git a/doc/src/bonds.rst b/doc/src/bonds.rst index 3019e0c177b8ce344097502816f83b32dcae3250..4118e153e989a46255f58e30174cd32a810266f6 100644 --- a/doc/src/bonds.rst +++ b/doc/src/bonds.rst @@ -1,7 +1,6 @@ Bond Styles ########### - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/boundary.rst b/doc/src/boundary.rst index 909ee3b44614659f3094832a6a5518364892b9b8..7e5ce7d1aea584c17739b3707b4a5e845e1f26f9 100644 --- a/doc/src/boundary.rst +++ b/doc/src/boundary.rst @@ -6,27 +6,23 @@ boundary command Syntax """""" - .. parsed-literal:: boundary x y z * x,y,z = *p* or *s* or *f* or *m*\ , one or two letters - + .. parsed-literal:: - + *p* is periodic *f* is non-periodic and fixed *s* is non-periodic and shrink-wrapped *m* is non-periodic and shrink-wrapped with a minimum value - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS boundary p p f boundary p fs p @@ -39,8 +35,8 @@ Set the style of boundaries for the global simulation box in each dimension. A single letter assigns the same style to both the lower and upper face of the box. Two letters assigns the first style to the lower face and the second style to the upper face. The initial size -of the simulation box is set by the :doc:`read\_data `, -:doc:`read\_restart `, or :doc:`create\_box ` +of the simulation box is set by the :doc:`read_data `, +:doc:`read_restart `, or :doc:`create_box ` commands. The style *p* means the box is periodic, so that particles interact @@ -56,7 +52,7 @@ side of the box to the other. For style *f*\ , the position of the face is fixed. If an atom moves outside the face it will be deleted on the next timestep that reneighboring occurs. This will typically generate an error unless -you have set the :doc:`thermo\_modify lost ` option to +you have set the :doc:`thermo_modify lost ` option to allow for lost atoms. For style *s*\ , the position of the face is set so as to encompass the @@ -73,7 +69,7 @@ shrink-wrapped dimensions more closely, by using *m* style boundaries For style *m*\ , shrink-wrapping occurs, but is bounded by the value specified in the data or restart file or set by the -:doc:`create\_box ` command. For example, if the upper z +:doc:`create_box ` command. For example, if the upper z face has a value of 50.0 in the data file, the face will always be positioned at 50.0 or above, even if the maximum z-extent of all the atoms becomes less than 50.0. This can be useful if you start a @@ -97,11 +93,10 @@ triclinic representations. Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a -:doc:`read\_data ` or :doc:`create\_box ` command or -:doc:`read\_restart ` command. See the -:doc:`change\_box ` command for how to change the simulation +:doc:`read_data ` or :doc:`create_box ` command or +:doc:`read_restart ` command. See the +:doc:`change_box ` command for how to change the simulation box boundaries after it has been defined. For 2d simulations, the z dimension must be periodic. @@ -109,18 +104,12 @@ For 2d simulations, the z dimension must be periodic. Related commands """""""""""""""" -See the :doc:`thermo\_modify ` command for a discussion +See the :doc:`thermo_modify ` command for a discussion of lost atoms. Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS boundary p p p - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/box.rst b/doc/src/box.rst index 3338e138fb69a14c926eae6b5e4bea0bc13a8bcb..86638971c02533be5655eead41dc4f8cf4ca1ac7 100644 --- a/doc/src/box.rst +++ b/doc/src/box.rst @@ -6,25 +6,21 @@ box command Syntax """""" - .. parsed-literal:: box keyword value ... * one or more keyword/value pairs may be appended * keyword = *tilt* - - .. parsed-literal:: - - *tilt* value = *small* or *large* + .. parsed-literal:: + *tilt* value = *small* or *large* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS box tilt large box tilt small @@ -36,8 +32,8 @@ Set attributes of the simulation box. For triclinic (non-orthogonal) simulation boxes, the *tilt* keyword allows simulation domains to be created with arbitrary tilt factors, -e.g. via the :doc:`create\_box ` or -:doc:`read\_data ` commands. Tilt factors determine how +e.g. via the :doc:`create_box ` or +:doc:`read_data ` commands. Tilt factors determine how skewed the triclinic box is; see the :doc:`Howto triclinic ` doc page for a discussion of triclinic boxes in LAMMPS. @@ -58,10 +54,9 @@ error. Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a -:doc:`read\_data ` or :doc:`create\_box ` command or -:doc:`read\_restart ` command. +:doc:`read_data ` or :doc:`create_box ` command or +:doc:`read_restart ` command. **Related commands:** none @@ -69,8 +64,3 @@ Default """"""" The default value is tilt = small. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/change_box.rst b/doc/src/change_box.rst index bc34db926270678ebfe0077bab77fe121b99f83e..a21f74e93b98f79965ff45925d00a2d95c67edb9 100644 --- a/doc/src/change_box.rst +++ b/doc/src/change_box.rst @@ -1,21 +1,20 @@ -.. index:: change\_box +.. index:: change_box -change\_box command -=================== +change_box command +================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS change_box group-ID parameter args ... keyword args ... * group-ID = ID of group of atoms to (optionally) displace * one or more parameter/arg pairs may be appended - + .. parsed-literal:: - + parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* or *boundary* or *ortho* or *triclinic* or *set* or *remap* *x*\ , *y*\ , *z* args = style value(s) style = *final* or *delta* or *scale* or *volume* @@ -45,20 +44,17 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - + .. parsed-literal:: - + *units* value = *lattice* or *box* lattice = distances are defined in lattice units box = distances are defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS change_box all xy final -2.0 z final 0.0 5.0 boundary p p f remap units box change_box all x scale 1.1 y volume z volume remap @@ -77,12 +73,12 @@ conditions for the simulation box, similar to the :doc:`boundary ` command. The size and shape of the initial simulation box are specified by the -:doc:`create\_box ` or :doc:`read\_data ` or -:doc:`read\_restart ` command used to setup the simulation. +:doc:`create_box ` or :doc:`read_data ` or +:doc:`read_restart ` command used to setup the simulation. The size and shape may be altered by subsequent runs, e.g. by use of the :doc:`fix npt ` or :doc:`fix deform ` commands. -The :doc:`create\_box `, :doc:`read data `, and -:doc:`read\_restart ` commands also determine whether the +The :doc:`create_box `, :doc:`read data `, and +:doc:`read_restart ` commands also determine whether the simulation box is orthogonal or triclinic and their doc pages explain the meaning of the xy,xz,yz tilt factors. @@ -106,15 +102,14 @@ new owning processors. .. note:: - This means that you cannot use the change\_box command to enlarge + This means that you cannot use the change_box command to enlarge a shrink-wrapped box, e.g. to make room to insert more atoms via the - :doc:`create\_atoms ` command, because the simulation box - will be re-shrink-wrapped before the change\_box command completes. + :doc:`create_atoms ` command, because the simulation box + will be re-shrink-wrapped before the change_box command completes. Instead you could do something like this, assuming the simulation box is non-periodic and atoms extend from 0 to 20 in all dimensions: - -.. parsed-literal:: +.. code-block:: LAMMPS change_box all x final -10 20 create_atoms 1 single -5 5 5 # this will fail to insert an atom @@ -125,7 +120,7 @@ new owning processors. .. note:: - Unlike the earlier "displace\_box" version of this command, atom + Unlike the earlier "displace_box" version of this command, atom remapping is NOT performed by default. This command allows remapping to be done in a more general way, exactly when you specify it (zero or more times) in the sequence of transformations. Thus if you do not @@ -147,28 +142,42 @@ new owning processors. .. note:: - The simulation box size/shape can be changed by arbitrarily - large amounts by this command. This is not a problem, except that the + The simulation box size/shape can be changed by arbitrarily large + amounts by this command. This is not a problem, except that the mapping of processors to the simulation box is not changed from its initial 3d configuration; see the :doc:`processors ` command. Thus, if the box size/shape changes dramatically, the - mapping of processors to the simulation box may not end up as optimal - as the initial mapping attempted to be. + mapping of processors to the simulation box may not end up as + optimal as the initial mapping attempted to be. You may wish to + re-balance the atoms by using the :doc:`balance ` command + if that is the case. .. note:: - Because the keywords used in this command are applied one at a - time to the simulation box and the atoms in it, care must be taken - with triclinic cells to avoid exceeding the limits on skew after each - transformation in the sequence. If skew is exceeded before the final - transformation this can be avoided by changing the order of the - sequence, or breaking the transformation into two or more smaller - transformations. For more information on the allowed limits for box - skew see the discussion on triclinic boxes on :doc:`Howto triclinic ` doc page. + You cannot use this command after reading a restart file (and + before a run is performed) if the restart file stored per-atom + information from a fix and any of the specified keywords change the + box size or shape or boundary conditions. This is because atoms + may be moved to new processors and the restart info will not + migrate with them. LAMMPS will generate an error if this could + happen. Only the *ortho* and *triclinic* keywords do not trigger + this error. One solution is to perform a "run 0" command before + using the change_box command. This clears the per-atom restart + data, whether it has been re-assigned to a new fix or not. +.. note:: ----------- + Because the keywords used in this command are applied one at a time + to the simulation box and the atoms in it, care must be taken with + triclinic cells to avoid exceeding the limits on skew after each + transformation in the sequence. If skew is exceeded before the + final transformation this can be avoided by changing the order of + the sequence, or breaking the transformation into two or more + smaller transformations. For more information on the allowed + limits for box skew see the discussion on triclinic boxes on + :doc:`Howto triclinic ` doc page. +---------- For the *x*\ , *y*\ , and *z* parameters, this is the meaning of their styles and values. @@ -194,8 +203,7 @@ used following a keyword that changed the volume, which is any of the style, then both it and the current keyword apply to the keyword preceding "key". I.e. this sequence of keywords is allowed: - -.. parsed-literal:: +.. code-block:: LAMMPS change_box all x scale 1.1 y volume z volume @@ -206,8 +214,7 @@ preceding keyword was invoked. If the following command is used, then the z box length will shrink by the same 1.1 factor the x box length was increased by: - -.. parsed-literal:: +.. code-block:: LAMMPS change_box all x scale 1.1 z volume @@ -216,17 +223,15 @@ shrink by sqrt(1.1) to keep the volume constant. In this case, the y,z box lengths shrink so as to keep their relative aspect ratio constant: +.. code-block:: LAMMPS -.. parsed-literal:: - - change_box all"x scale 1.1 y volume z volume + change_box all x scale 1.1 y volume z volume If the following command is used, then the final box will be a factor of 10% larger in x and y, and a factor of 21% smaller in z, so as to keep the volume constant: - -.. parsed-literal:: +.. code-block:: LAMMPS change_box all x scale 1.1 z volume y scale 1.1 z volume @@ -242,10 +247,8 @@ keep the volume constant: For the *scale* and *volume* styles, the box length is expanded or compressed around its mid point. - ---------- - For the *xy*\ , *xz*\ , and *yz* parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume. @@ -269,10 +272,8 @@ example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all equivalent. Any tilt factor specified by this command must be within these limits. - ---------- - The *boundary* keyword takes arguments that have exactly the same meaning as they do for the :doc:`boundary ` command. In each dimension, a single letter assigns the same style to both the lower @@ -289,25 +290,29 @@ smaller. See the :doc:`boundary ` command for more explanation of these style options. Note that the "boundary" command itself can only be used before the -simulation box is defined via a :doc:`read\_data ` or -:doc:`create\_box ` or :doc:`read\_restart ` +simulation box is defined via a :doc:`read_data ` or +:doc:`create_box ` or :doc:`read_restart ` command. This command allows the boundary conditions to be changed later in your input script. Also note that the -:doc:`read\_restart ` will change boundary conditions to +:doc:`read_restart ` will change boundary conditions to match what is stored in the restart file. So if you wish to change -them, you should use the change\_box command after the read\_restart +them, you should use the change_box command after the read_restart command. +.. note:: ----------- + Changing a periodic boundary to a non-periodic one will also + cause the image flag for that dimension to be reset to 0 for + all atoms. LAMMPS will print a warning message, if that happens. +---------- The *ortho* and *triclinic* keywords convert the simulation box to be orthogonal or triclinic (non-orthogonal). The simulation box is defined as either orthogonal or triclinic when -it is created via the :doc:`create\_box `, -:doc:`read\_data `, or :doc:`read\_restart ` +it is created via the :doc:`create_box `, +:doc:`read_data `, or :doc:`read_restart ` commands. These keywords allow you to toggle the existing simulation box from @@ -318,16 +323,14 @@ be toggled to triclinic, and then a :doc:`non-equilibrium MD (NEMD) simulation < If the simulation box is currently triclinic and has non-zero tilt in xy, yz, or xz, then it cannot be converted to an orthogonal box. - ---------- - The *set* keyword saves the current box size/shape. This can be useful if you wish to use the *remap* keyword more than once or if you wish it to be applied to an intermediate box size/shape in a sequence of keyword operations. Note that the box size/shape is saved before any of the keywords are processed, i.e. the box size/shape at the time -the create\_box command is encountered in the input script. +the create_box command is encountered in the input script. The *remap* keyword remaps atom coordinates from the last saved box size/shape to the current box state. For example, if you stretch the @@ -343,10 +346,8 @@ including this one, have been processed. Only atoms in the specified group are remapped. - ---------- - The *units* keyword determines the meaning of the distance units used to define various arguments. A *box* value selects standard distance units as defined by the :doc:`units ` command, e.g. Angstroms for @@ -354,20 +355,17 @@ units = real or metal. A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice ` command must have been previously used to define the lattice spacing. - ---------- - Restrictions """""""""""" - If you use the *ortho* or *triclinic* keywords, then at the point in the input script when this command is issued, no :doc:`dumps ` can be active, nor can a :doc:`fix deform ` be active. This is because these commands test whether the simulation box is orthogonal when they are first issued. Note that these commands can be used in -your script before a change\_box command is issued, so long as an +your script before a change_box command is issued, so long as an :doc:`undump ` or :doc:`unfix ` command is also used to turn them off. @@ -380,8 +378,3 @@ Default """"""" The option default is units = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/clear.rst b/doc/src/clear.rst index dac4ba8fa491687966ce878797296f2cc6be5046..6c4ef9a22c5d32ca4867b73768fd2547117e7808 100644 --- a/doc/src/clear.rst +++ b/doc/src/clear.rst @@ -6,7 +6,6 @@ clear command Syntax """""" - .. parsed-literal:: clear @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. parsed-literal:: (commands for 1st simulation) @@ -42,8 +40,3 @@ Restrictions **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/comm_modify.rst b/doc/src/comm_modify.rst index 9375bd60c989bfa0760041700ef10846652603af..9a2ae60f1e2df51b8a3babdc0577f9793c281106 100644 --- a/doc/src/comm_modify.rst +++ b/doc/src/comm_modify.rst @@ -1,21 +1,20 @@ -.. index:: comm\_modify +.. index:: comm_modify -comm\_modify command -==================== +comm_modify command +=================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS comm_modify keyword value ... * zero or more keyword/value pairs may be appended * keyword = *mode* or *cutoff* or *cutoff/multi* or *group* or *vel* - + .. parsed-literal:: - + *mode* value = *single* or *multi* = communicate atoms within a single or multiple distances *cutoff* value = Rcut (distance units) = communicate atoms from this far away *cutoff/multi* type value @@ -24,20 +23,17 @@ Syntax *group* value = group-ID = only communicate atoms in the group *vel* value = *yes* or *no* = do or do not communicate velocity info with ghost atoms - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS comm_modify mode multi comm_modify mode multi group solvent - comm_modift mode multi cutoff/multi 1 10.0 cutoff/multi 2\*4 15.0 + comm_modift mode multi cutoff/multi 1 10.0 cutoff/multi 2*4 15.0 comm_modify vel yes comm_modify mode single cutoff 5.0 vel yes - comm_modify cutoff/multi \* 0.0 + comm_modify cutoff/multi * 0.0 Description """"""""""" @@ -50,12 +46,12 @@ processors and stored as properties of ghost atoms. .. note:: These options apply to the currently defined comm style. When - you specify a :doc:`comm\_style ` or - :doc:`read\_restart ` command, all communication settings + you specify a :doc:`comm_style ` or + :doc:`read_restart ` command, all communication settings are restored to their default or stored values, including those - previously reset by a comm\_modify command. Thus if your input script - specifies a comm\_style or read\_restart command, you should use the - comm\_modify command after it. + previously reset by a comm_modify command. Thus if your input script + specifies a comm_style or read_restart command, you should use the + comm_modify command after it. The *mode* keyword determines whether a single or multiple cutoff distances are used to determine which atoms to communicate. @@ -86,7 +82,7 @@ printed. Specifying a cutoff value of 0.0 will reset any previous value to the default. If bonded interactions exist and equilibrium bond length information is available, then also a heuristic based on that bond length is computed. It is used as communication cutoff, if there is no pair -style present and no *comm\_modify cutoff* command used. Otherwise a +style present and no *comm_modify cutoff* command used. Otherwise a warning is printed, if this bond based estimate is larger than the communication cutoff used. A @@ -138,17 +134,17 @@ find the needed atoms. side of the simulation box, across a periodic boundary. This will typically lead to bad dynamics (i.e. the bond length is now the simulation box length). To detect if this is happening, see the - :doc:`neigh\_modify cluster ` command. + :doc:`neigh_modify cluster ` command. The *group* keyword will limit communication to atoms in the specified group. This can be useful for models where no ghost atoms are needed for some kinds of particles. All atoms (not just those in the specified group) will still migrate to new processors as they move. The group specified with this option must also be specified via the -:doc:`atom\_modify first ` command. +:doc:`atom_modify first ` command. The *vel* keyword enables velocity information to be communicated with -ghost particles. Depending on the :doc:`atom\_style `, +ghost particles. Depending on the :doc:`atom_style `, velocity info includes the translational velocity, angular velocity, and angular momentum of a particle. If the *vel* option is set to *yes*\ , then ghost atoms store these quantities; if *no* then they do @@ -165,14 +161,13 @@ that boundary (e.g. due to dilation or shear). Restrictions """""""""""" - Communication mode *multi* is currently only available for -:doc:`comm\_style ` *brick*\ . +:doc:`comm_style ` *brick*\ . Related commands """""""""""""""" -:doc:`comm\_style `, :doc:`neighbor ` +:doc:`comm_style `, :doc:`neighbor ` Default """"""" @@ -180,8 +175,3 @@ Default The option defaults are mode = single, group = all, cutoff = 0.0, vel = no. The cutoff default of 0.0 means that ghost cutoff = neighbor cutoff = pairwise force cutoff + neighbor skin. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/comm_style.rst b/doc/src/comm_style.rst index 1d733b7c40300314bc66032e166a9cd1b98c73ee..2137378547e9832d50991a2052c85c1e522f46fd 100644 --- a/doc/src/comm_style.rst +++ b/doc/src/comm_style.rst @@ -1,13 +1,12 @@ -.. index:: comm\_style +.. index:: comm_style -comm\_style command -=================== +comm_style command +================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS comm_style style @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS comm_style brick comm_style tiled @@ -46,33 +44,27 @@ Note that this command does not actually define a partitioning of the simulation box (a domain decomposition), rather it determines what kinds of decompositions are allowed and the pattern of communication used to enable the decomposition. A decomposition is created when the -simulation box is first created, via the :doc:`create\_box ` -or :doc:`read\_data ` or :doc:`read\_restart ` +simulation box is first created, via the :doc:`create_box ` +or :doc:`read_data ` or :doc:`read_restart ` commands. For both the *brick* and *tiled* styles, the initial decomposition will be the same, as described by -:doc:`create\_box ` and :doc:`processors ` +:doc:`create_box ` and :doc:`processors ` commands. The decomposition can be changed via the :doc:`balance ` or :doc:`fix balance ` commands. Restrictions """""""""""" - Communication style *tiled* cannot be used with *triclinic* simulation cells. Related commands """""""""""""""" -:doc:`comm\_modify `, :doc:`processors `, +:doc:`comm_modify `, :doc:`processors `, :doc:`balance `, :doc:`fix balance ` Default """"""" The default style is brick. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/commands_list.rst b/doc/src/commands_list.rst index 2eaa78d59cb3f0e6c03b9c50ad20afa98be408ab..349d3889236ec0e5d240c256655f9a04164746a0 100644 --- a/doc/src/commands_list.rst +++ b/doc/src/commands_list.rst @@ -1,7 +1,6 @@ Commands ######## - .. toctree:: :maxdepth: 1 @@ -121,4 +120,3 @@ Commands write_data write_dump write_restart - diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 9c66c58bd98b0a34905f653ed0f2c5c0a95c7f6f..0726a502bc3e83f31280ba6c84b5cb5382498e06 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -6,7 +6,6 @@ compute command Syntax """""" - .. parsed-literal:: compute ID group-ID style args @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp compute newtemp flow temp/partial 1 1 0 @@ -43,10 +41,8 @@ various LAMMPS output options, many of which involve computes. The ID of a compute can only contain alphanumeric characters and underscores. - ---------- - Computes calculate one of three styles of quantities: global, per-atom, or local. A global quantity is one or more system-wide values, e.g. the temperature of the system. A per-atom quantity is @@ -76,11 +72,11 @@ discussed below, it can be referenced via the following bracket notation, where ID is the ID of the compute: +-------------+--------------------------------------------+ -| c\_ID | entire scalar, vector, or array | +| c_ID | entire scalar, vector, or array | +-------------+--------------------------------------------+ -| c\_ID[I] | one element of vector, one column of array | +| c_ID[I] | one element of vector, one column of array | +-------------+--------------------------------------------+ -| c\_ID[I][J] | one element of array | +| c_ID[I][J] | one element of array | +-------------+--------------------------------------------+ In other words, using one bracket reduces the dimension of the @@ -92,21 +88,19 @@ vector or array. Note that commands and :doc:`variables ` which use compute quantities typically do not allow for all kinds, e.g. a command may require a vector of values, not a scalar. This means there is no -ambiguity about referring to a compute quantity as c\_ID even if it +ambiguity about referring to a compute quantity as c_ID even if it produces, for example, both a scalar and vector. The doc pages for various commands explain the details. - ---------- - In LAMMPS, the values generated by a compute can be used in several ways: * The results of computes that calculate a global temperature or pressure can be used by fixes that do thermostatting or barostatting or when atom velocities are created. -* Global values can be output via the :doc:`thermo\_style custom ` or :doc:`fix ave/time ` command. +* Global values can be output via the :doc:`thermo_style custom ` or :doc:`fix ave/time ` command. Or the values can be referenced in a :doc:`variable equal ` or :doc:`variable atom ` command. * Per-atom values can be output via the :doc:`dump custom ` command. @@ -115,7 +109,6 @@ ways: command. Or the per-atom values can be referenced in an :doc:`atom-style variable `. * Local values can be reduced by the :doc:`compute reduce ` command, or histogrammed by the :doc:`fix ave/histo ` command, or output by the :doc:`dump local ` command. - The results of computes that calculate global quantities can be either "intensive" or "extensive" values. Intensive means the value is independent of the number of atoms in the simulation, @@ -123,23 +116,20 @@ e.g. temperature. Extensive means the value scales with the number of atoms in the simulation, e.g. total rotational kinetic energy. :doc:`Thermodynamic output ` will normalize extensive values by the number of atoms in the system, depending on the -"thermo\_modify norm" setting. It will not normalize intensive values. +"thermo_modify norm" setting. It will not normalize intensive values. If a compute value is accessed in another way, e.g. by a :doc:`variable `, you may want to know whether it is an intensive or extensive value. See the doc page for individual computes for further info. - ---------- - LAMMPS creates its own computes internally for thermodynamic output. -Three computes are always created, named "thermo\_temp", -"thermo\_press", and "thermo\_pe", as if these commands had been invoked +Three computes are always created, named "thermo_temp", +"thermo_press", and "thermo_pe", as if these commands had been invoked in the input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute thermo_temp all temp compute thermo_press all pressure thermo_temp @@ -147,7 +137,7 @@ in the input script: Additional computes for other quantities are created if the thermo style requires it. See the documentation for the -:doc:`thermo\_style ` command. +:doc:`thermo_style ` command. Fixes that calculate temperature or pressure, i.e. for thermostatting or barostatting, may also create computes. These are discussed in the @@ -155,10 +145,10 @@ documentation for specific :doc:`fix ` commands. In all these cases, the default computes LAMMPS creates can be replaced by computes defined by the user in the input script, as -described by the :doc:`thermo\_modify ` and :doc:`fix modify ` commands. +described by the :doc:`thermo_modify ` and :doc:`fix modify ` commands. Properties of either a default or user-defined compute can be modified -via the :doc:`compute\_modify ` command. +via the :doc:`compute_modify ` command. Computes can be deleted with the :doc:`uncompute ` command. @@ -166,10 +156,8 @@ Code for new computes can be added to LAMMPS; see the :doc:`Modify ` doc page for details. The results of their calculations accessed in the various ways described above. - ---------- - Each compute style has its own doc page which describes its arguments and what it does. Here is an alphabetic list of compute styles available in LAMMPS. They are also listed in more compact form on the @@ -329,11 +317,6 @@ Restrictions Related commands """""""""""""""" -:doc:`uncompute `, :doc:`compute\_modify `, :doc:`fix ave/atom `, :doc:`fix ave/time `, :doc:`fix ave/histo ` +:doc:`uncompute `, :doc:`compute_modify `, :doc:`fix ave/atom `, :doc:`fix ave/time `, :doc:`fix ave/histo ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_ackland_atom.rst b/doc/src/compute_ackland_atom.rst index c86ca121db0e66b726d774f61b2a2a15222318ef..33e0b6cf15baa7d9e35eb4716086c59ee0f857bd 100644 --- a/doc/src/compute_ackland_atom.rst +++ b/doc/src/compute_ackland_atom.rst @@ -6,7 +6,6 @@ compute ackland/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID ackland/atom keyword/value @@ -15,18 +14,15 @@ Syntax * ackland/atom = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *legacy* - - .. parsed-literal:: - - *legacy* yes/no = use (\ *yes*\ ) or do not use (\ *no*\ ) legacy ackland algorithm implementation + .. parsed-literal:: + *legacy* yes/no = use (\ *yes*\ ) or do not use (\ *no*\ ) legacy ackland algorithm implementation Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ackland/atom compute 1 all ackland/atom legacy yes @@ -72,7 +68,6 @@ LAMMPS output options. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -88,17 +83,8 @@ Default """"""" The keyword *legacy* defaults to *no*\ . - ---------- - .. _Ackland: - - **(Ackland)** Ackland, Jones, Phys Rev B, 73, 054104 (2006). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_adf.rst b/doc/src/compute_adf.rst index 3c8af03b105cfee43d32332ba713f923cccd40a1..a9375fa038a0e0c399b46d7525b364f3dfef9196 100644 --- a/doc/src/compute_adf.rst +++ b/doc/src/compute_adf.rst @@ -6,7 +6,6 @@ compute adf command Syntax """""" - .. parsed-literal:: compute ID group-ID adf Nbin itype1 jtype1 ktype1 Rjinner1 Rjouter1 Rkinner1 Rkouter1 ... @@ -23,19 +22,16 @@ Syntax * RkouterN = outer radius of K atom shell for Nth ADF histogram (distance units) * zero or one keyword/value pairs may be appended * keyword = *ordinate* - + .. parsed-literal:: - + *ordinate* value = *degree* or *radian* or *cosine* Choose the ordinate parameter for the histogram - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid adf 32 1 1 1 0.0 1.2 0.0 1.2 & 1 1 2 0.0 1.2 0.0 1.5 & @@ -43,7 +39,7 @@ Examples 2 1 1 0.0 1.2 0.0 1.2 & 2 1 2 0.0 1.5 2.0 3.5 & 2 2 2 2.0 3.5 2.0 3.5 - compute 1 fluid adf 32 1\*2 1\*2 1\*2 0.5 3.5 + compute 1 fluid adf 32 1*2 1*2 1*2 0.5 3.5 compute 1 fluid adf 32 Description @@ -60,19 +56,19 @@ neighbor atom in each requested ADF. .. note:: If you have a bonded system, then the settings of - :doc:`special\_bonds ` command can remove pairwise + :doc:`special_bonds ` command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This - is the default setting for the :doc:`special\_bonds ` + is the default setting for the :doc:`special_bonds ` command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses a neighbor list, it also means those pairs will not be included in the ADF. This does not apply when using long-range coulomb interactions (\ *coul/long*\ , *coul/msm*\ , *coul/wolf* or similar. One way to get around this would be to set - special\_bond scaling factors to very tiny numbers that are not exactly + special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and use the :doc:`rerun ` command to compute the ADF for snapshots in the dump file. The rerun script can use a - :doc:`special\_bonds ` command that includes all pairs in + :doc:`special_bonds ` command that includes all pairs in the neighbor list. .. note:: @@ -81,7 +77,7 @@ neighbor atom in each requested ADF. pair style is defined, e.g. the :doc:`rerun ` command is being used to post-process a dump file of snapshots you must insure ghost atom information out to the largest value of *Router* + *skin* is communicated, via the - :doc:`comm\_modify cutoff ` command, else the ADF computation + :doc:`comm_modify cutoff ` command, else the ADF computation cannot be performed, and LAMMPS will give an error message. The *skin* value is what is specified with the :doc:`neighbor ` command. @@ -110,7 +106,7 @@ in the range of types represented by *ktypeN*\ . If no *itypeN*\ , *jtypeN*\ , *ktypeN* settings are specified, then LAMMPS will generate a single ADF for all atoms in the group. The inner cutoff is set to zero and the outer cutoff is set -to the force cutoff. If no pair\_style is specified, there is no +to the force cutoff. If no pair_style is specified, there is no force cutoff and LAMMPS will give an error message. Note that in most cases, generating an ADF for all atoms is not a good thing. Such an ADF is both uninformative and @@ -172,11 +168,10 @@ The simplest way to output the results of the compute adf calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myADF all adf 32 2 2 2 0.5 3.5 0.5 3.5 - fix 1 all ave/time 100 1 100 c_myADF[\*] file tmp.adf mode vector + fix 1 all ave/time 100 1 100 c_myADF[*] file tmp.adf mode vector **Output info:** @@ -208,27 +203,21 @@ angles per atom satisfying the ADF criteria. Restrictions """""""""""" - The ADF is not computed for neighbors outside the force cutoff, since processors (in parallel) don't know about atom coordinates for atoms further away than that distance. If you want an ADF for larger distances, you can use the :doc:`rerun ` command to post-process a dump file and set the cutoff for the potential to be longer in the rerun script. Note that in the rerun context, the force cutoff is -arbitrary, since you aren't running dynamics and thus are not changing +arbitrary, since you are not running dynamics and thus are not changing your model. Related commands """""""""""""""" -:doc:`compute rdf `, :doc:`fix ave/time `, :doc:`compute\_modify ` +:doc:`compute rdf `, :doc:`fix ave/time `, :doc:`compute_modify ` Default """"""" The keyword default is ordinate = degree. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_angle.rst b/doc/src/compute_angle.rst index 2b025ea217dc2ab58b9ca09cc8084f1f93e5f3a8..60f929197c294afa35b8b82d2b57630399ddc299 100644 --- a/doc/src/compute_angle.rst +++ b/doc/src/compute_angle.rst @@ -6,7 +6,6 @@ compute angle command Syntax """""" - .. parsed-literal:: compute ID group-ID angle @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all angle @@ -26,18 +24,18 @@ Description """"""""""" Define a computation that extracts the angle energy calculated by each -of the angle sub-styles used in the "angle\_style -hybrid" angle\_hybrid.html command. These values are made accessible +of the angle sub-styles used in the "angle_style +hybrid" angle_hybrid.html command. These values are made accessible for output or further processing by other commands. The group specified for this command is ignored. -This compute is useful when using :doc:`angle\_style hybrid ` if you want to know the portion of the total +This compute is useful when using :doc:`angle_style hybrid ` if you want to know the portion of the total energy contributed by one or more of the hybrid sub-styles. **Output info:** This compute calculates a global vector of length N where N is the -number of sub\_styles defined by the :doc:`angle\_style hybrid ` command, which can be accessed by indices +number of sub_styles defined by the :doc:`angle_style hybrid ` command, which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. @@ -55,8 +53,3 @@ Related commands :doc:`compute pe `, :doc:`compute pair ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_angle_local.rst b/doc/src/compute_angle_local.rst index 15b484a3bc79d774867d4a998aa92806775dde8a..fe0af199e2645ce79f4c5ff146d16f2dde578c32 100644 --- a/doc/src/compute_angle_local.rst +++ b/doc/src/compute_angle_local.rst @@ -6,7 +6,6 @@ compute angle/local command Syntax """""" - .. parsed-literal:: compute ID group-ID angle/local value1 value2 ... keyword args ... @@ -14,30 +13,27 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * angle/local = style name of this compute command * one or more values may be appended -* value = *theta* or *eng* or *v\_name* - +* value = *theta* or *eng* or *v_name* + .. parsed-literal:: - + *theta* = tabulate angles *eng* = tabulate angle energies *v_name* = equal-style variable with name (see below) * zero or more keyword/args pairs may be appended * keyword = *set* - + .. parsed-literal:: - + *set* args = theta name theta = only currently allowed arg name = name of variable to set with theta - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all angle/local theta compute 1 all angle/local eng theta @@ -55,9 +51,9 @@ The value *theta* is the angle for the 3 atoms in the interaction. The value *eng* is the interaction energy for the angle. -The value *v\_name* can be used together with the *set* keyword to +The value *v_name* can be used together with the *set* keyword to compute a user-specified function of the angle theta. The *name* -specified for the *v\_name* value is the name of an :doc:`equal-style variable ` which should evaluate a formula based on a +specified for the *v_name* value is the name of an :doc:`equal-style variable ` which should evaluate a formula based on a variable which will store the angle theta. This other variable must be an :doc:`internal-style variable ` defined in the input script; its initial numeric value can be anything. It must be an @@ -72,12 +68,11 @@ As an example, these commands can be added to the bench/in.rhodo script to compute the cosine and cosine\^2 of every angle in the system and output the statistics in various ways: - -.. parsed-literal:: +.. code-block:: LAMMPS variable t internal 0.0 variable cos equal cos(v_t) - variable cossq equal cos(v_t)\*cos(v_t) + variable cossq equal cos(v_t)*cos(v_t) compute 1 all property/local aatom1 aatom2 aatom3 atype compute 2 all angle/local eng theta v_cos v_cossq set theta t @@ -90,22 +85,20 @@ and output the statistics in various ways: The :doc:`dump local ` command will output the energy, angle, cosine(angle), cosine\^2(angle) for every angle in the system. The -:doc:`thermo\_style ` command will print the average of +:doc:`thermo_style ` command will print the average of those quantities via the :doc:`compute reduce ` command with thermo output. And the :doc:`fix ave/histo ` command will histogram the cosine(angle) values and write them to a file. - ---------- - The local data stored by this command is generated by looping over all the atoms owned on a processor and their angles. An angle will only be included if all 3 atoms in the angle are in the specified compute group. Any angles that have been broken (see the -:doc:`angle\_style ` command) by setting their angle type to -0 are not included. Angles that have been turned off (see the :doc:`fix shake ` or :doc:`delete\_bonds ` commands) by +:doc:`angle_style ` command) by setting their angle type to +0 are not included. Angles that have been turned off (see the :doc:`fix shake ` or :doc:`delete_bonds ` commands) by setting their angle type negative are written into the file, but their energy will be 0.0. @@ -120,8 +113,7 @@ command in a consistent way. Here is an example of how to do this: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local atype aatom1 aatom2 aatom3 compute 2 all angle/local theta eng @@ -151,8 +143,3 @@ Related commands :doc:`dump local `, :doc:`compute property/local ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_angmom_chunk.rst b/doc/src/compute_angmom_chunk.rst index 5da4adecaca10f4e7f2cd7abd791d4cd6ea5ae5b..eb5e8fd013806251dc74ec12c13c920fc924fb56 100644 --- a/doc/src/compute_angmom_chunk.rst +++ b/doc/src/compute_angmom_chunk.rst @@ -6,7 +6,6 @@ compute angmom/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID angmom/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid angmom/chunk molchunk @@ -56,7 +54,7 @@ non-zero chunk IDs. momentum in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of the - :doc:`read\_data ` command for a discussion of image flags and + :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -64,12 +62,11 @@ The simplest way to output the results of the compute angmom/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all angmom/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** @@ -93,8 +90,3 @@ Related commands :doc:`variable angmom() function ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_basal_atom.rst b/doc/src/compute_basal_atom.rst index 5c2cea395804d35c8b3f654f77df0b8c79c7a284..ac628d2b6da9956e8999a6ab9cb98916b92b1afa 100644 --- a/doc/src/compute_basal_atom.rst +++ b/doc/src/compute_basal_atom.rst @@ -6,7 +6,6 @@ compute basal/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID basal/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all basal/atom @@ -59,7 +57,6 @@ components of a unit vector. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -74,17 +71,8 @@ Related commands **Default:** none - ---------- - .. _Barrett: - - **(Barrett)** Barrett, Tschopp, El Kadiri, Scripta Mat. 66, p.666 (2012). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_body_local.rst b/doc/src/compute_body_local.rst index eb431aafc24bc97ffe26910f7b03fc1869d4652a..395a8ebf91ed4e8b29292dfc8f71457805107781 100644 --- a/doc/src/compute_body_local.rst +++ b/doc/src/compute_body_local.rst @@ -6,7 +6,6 @@ compute body/local command Syntax """""" - .. parsed-literal:: compute ID group-ID body/local input1 input2 ... @@ -15,20 +14,17 @@ Syntax * body/local = style name of this compute command * one or more keywords may be appended * keyword = *id* or *type* or *integer* - + .. parsed-literal:: - + *id* = atom ID of the body particle *type* = atom type of the body particle *integer* = 1,2,3,etc = index of fields defined by body style - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all body/local type 1 2 3 compute 1 all body/local 3 6 @@ -64,8 +60,8 @@ group. For a body particle, the *integer* keywords refer to fields calculated by the body style for each sub-particle. The body style, as specified -by the :doc:`atom\_style body `, determines how many fields -exist and what they are. See the :doc:`Howto\_body ` doc +by the :doc:`atom_style body `, determines how many fields +exist and what they are. See the :doc:`Howto_body ` doc page for details of the different styles. Here is an example of how to output body information using the :doc:`dump local ` command with this compute. If fields 1,2,3 for the @@ -73,8 +69,7 @@ body sub-particles are x,y,z coordinates, then the dump file will be formatted similar to the output of a :doc:`dump atom or custom ` command. - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all body/local type 1 2 3 dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_1[4] @@ -103,8 +98,3 @@ Related commands :doc:`dump local ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_bond.rst b/doc/src/compute_bond.rst index 74c1ccb2620f27e1b0d6a2c1b3de1dae5b83e27a..59ac05630a8b81b6b92d830b6a886f19fce5f66c 100644 --- a/doc/src/compute_bond.rst +++ b/doc/src/compute_bond.rst @@ -6,7 +6,6 @@ compute bond command Syntax """""" - .. parsed-literal:: compute ID group-ID bond @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all bond @@ -26,18 +24,18 @@ Description """"""""""" Define a computation that extracts the bond energy calculated by each -of the bond sub-styles used in the :doc:`bond\_style hybrid ` command. These values are made accessible +of the bond sub-styles used in the :doc:`bond_style hybrid ` command. These values are made accessible for output or further processing by other commands. The group specified for this command is ignored. -This compute is useful when using :doc:`bond\_style hybrid ` +This compute is useful when using :doc:`bond_style hybrid ` if you want to know the portion of the total energy contributed by one or more of the hybrid sub-styles. **Output info:** This compute calculates a global vector of length N where N is the -number of sub\_styles defined by the :doc:`bond\_style hybrid ` command, which can be accessed by indices 1-N. +number of sub_styles defined by the :doc:`bond_style hybrid ` command, which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. @@ -55,8 +53,3 @@ Related commands :doc:`compute pe `, :doc:`compute pair ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_bond_local.rst b/doc/src/compute_bond_local.rst index 23d052c7343b9c5246d71ab6393c4585545c410a..32d756d52a26bbe0bb9af5c4c9295b4c3ac12c4c 100644 --- a/doc/src/compute_bond_local.rst +++ b/doc/src/compute_bond_local.rst @@ -6,7 +6,6 @@ compute bond/local command Syntax """""" - .. parsed-literal:: compute ID group-ID bond/local value1 value2 ... keyword args ... @@ -14,7 +13,7 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * bond/local = style name of this compute command * one or more values may be appended -* value = *dist* or *engpot* or *force* or *fx* or *fy* or *fz* or *engvib* or *engrot* or *engtrans* or *omega* or *velvib* or *v\_name* +* value = *dist* or *engpot* or *force* or *fx* or *fy* or *fz* or *engvib* or *engrot* or *engtrans* or *omega* or *velvib* or *v_name* .. parsed-literal:: @@ -39,15 +38,10 @@ Syntax dist = only currently allowed arg name = name of variable to set with distance (dist) - - - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all bond/local engpot compute 1 all bond/local dist engpot force @@ -112,9 +106,9 @@ two atoms in the bond towards each other. A negative value means the 2 atoms are moving toward each other; a positive value means they are moving apart. -The value *v\_name* can be used together with the *set* keyword to +The value *v_name* can be used together with the *set* keyword to compute a user-specified function of the bond distance. The *name* -specified for the *v\_name* value is the name of an :doc:`equal-style variable ` which should evaluate a formula based on a +specified for the *v_name* value is the name of an :doc:`equal-style variable ` which should evaluate a formula based on a variable which will store the bond distance. This other variable must be an :doc:`internal-style variable ` defined in the input script; its initial numeric value can be anything. It must be an @@ -126,11 +120,10 @@ As an example, these commands can be added to the bench/in.rhodo script to compute the distance\^2 of every bond in the system and output the statistics in various ways: - -.. parsed-literal:: +.. code-block:: LAMMPS variable d internal 0.0 - variable dsq equal v_d\*v_d + variable dsq equal v_d*v_d compute 1 all property/local batom1 batom2 btype compute 2 all bond/local engpot dist v_dsq set dist d @@ -143,22 +136,20 @@ output the statistics in various ways: The :doc:`dump local ` command will output the energy, distance, distance\^2 for every bond in the system. The -:doc:`thermo\_style ` command will print the average of +:doc:`thermo_style ` command will print the average of those quantities via the :doc:`compute reduce ` command with thermo output. And the :doc:`fix ave/histo ` command will histogram the distance\^2 values and write them to a file. - ---------- - The local data stored by this command is generated by looping over all the atoms owned on a processor and their bonds. A bond will only be included if both atoms in the bond are in the specified compute group. -Any bonds that have been broken (see the :doc:`bond\_style ` +Any bonds that have been broken (see the :doc:`bond_style ` command) by setting their bond type to 0 are not included. Bonds that have been turned off (see the :doc:`fix shake ` or -:doc:`delete\_bonds ` commands) by setting their bond type +:doc:`delete_bonds ` commands) by setting their bond type negative are written into the file, but their energy will be 0.0. Note that as atoms migrate from processor to processor, there will be @@ -172,12 +163,11 @@ command in a consistent way. Here is an example of how to do this: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local btype batom1 batom2 compute 2 all bond/local dist engpot - dump 1 all local 1000 tmp.dump index c_1[\*] c_2[\*] + dump 1 all local 1000 tmp.dump index c_1[*] c_2[*] **Output info:** @@ -207,8 +197,3 @@ Related commands :doc:`dump local `, :doc:`compute property/local ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_centro_atom.rst b/doc/src/compute_centro_atom.rst index 48a9ddd03c52c2778a04418b93dbe122a2df2a3c..312582eb9028f56dbace485040e50bbb5a43ba56 100644 --- a/doc/src/compute_centro_atom.rst +++ b/doc/src/compute_centro_atom.rst @@ -6,7 +6,6 @@ compute centro/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID centro/atom lattice keyword value ... @@ -23,13 +22,10 @@ Syntax *no* = do not calculate 3 symmetry axes *yes* = calculate 3 symmetry axes - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all centro/atom fcc @@ -52,20 +48,22 @@ in the specified compute group. This parameter is computed using the following formula from :ref:`(Kelchner) ` -.. image:: Eqs/centro_symmetry.jpg - :align: center +.. math:: + + CS = \sum_{i = 1}^{N/2} | \vec{R}_i + \vec{R}_{i+N/2} |^2 -where the *N* nearest neighbors of each atom are identified and Ri and -Ri+N/2 are vectors from the central atom to a particular pair of -nearest neighbors. There are N\*(N-1)/2 possible neighbor pairs that -can contribute to this formula. The quantity in the sum is computed -for each, and the N/2 smallest are used. This will typically be for -pairs of atoms in symmetrically opposite positions with respect to the -central atom; hence the i+N/2 notation. +where the :math:`N` nearest neighbors of each atom are identified and +:math:`\vec{R}_i` and :math:`\vec{R}_{i+N/2}` are vectors from the +central atom to a particular pair of nearest neighbors. There are +:math:`N (N-1)/2` possible neighbor pairs that can contribute to this +formula. The quantity in the sum is computed for each, and the +:math:`N/2` smallest are used. This will typically be for pairs of +atoms in symmetrically opposite positions with respect to the central +atom; hence the :math:`i+N/2` notation. -*N* is an input parameter, which should be set to correspond to the -number of nearest neighbors in the underlying lattice of atoms. If -the keyword *fcc* or *bcc* is used, *N* is set to 12 and 8 +:math:`N` is an input parameter, which should be set to correspond to +the number of nearest neighbors in the underlying lattice of atoms. +If the keyword *fcc* or *bcc* is used, *N* is set to 12 and 8 respectively. More generally, *N* can be set to a positive, even integer. @@ -74,9 +72,9 @@ lattice, the centro-symmetry parameter will be 0. It will be near 0 for small thermal perturbations of a perfect lattice. If a point defect exists, the symmetry is broken, and the parameter will be a larger positive value. An atom at a surface will have a large -positive parameter. If the atom does not have *N* neighbors (within -the potential cutoff), then its centro-symmetry parameter is set to -0.0. +positive parameter. If the atom does not have :math:`N` neighbors +(within the potential cutoff), then its centro-symmetry parameter is +set to 0.0. If the keyword *axes* has the setting *yes*\ , then this compute also estimates three symmetry axes for each atom's local neighborhood. The @@ -95,7 +93,7 @@ of any atom. Only atoms within the cutoff of the pairwise neighbor list are considered as possible neighbors. Atoms not in the compute group are -included in the *N* neighbors used in this calculation. +included in the :math:`N` neighbors used in this calculation. The neighbor list needed to compute this quantity is constructed each time the calculation is performed (e.g. each time a snapshot of atoms @@ -127,7 +125,6 @@ Here are typical centro-symmetry values, from a nanoindentation simulation into gold (FCC). These were provided by Jon Zimmerman (Sandia): - .. parsed-literal:: Bulk lattice = 0 @@ -138,7 +135,6 @@ simulation into gold (FCC). These were provided by Jon Zimmerman These values are \*not\* normalized by the square of the lattice parameter. If they were, normalized values would be: - .. parsed-literal:: Bulk lattice = 0 @@ -164,17 +160,8 @@ Default The default value for the optional keyword is axes = no. - ---------- - .. _Kelchner: - - **(Kelchner)** Kelchner, Plimpton, Hamilton, Phys Rev B, 58, 11085 (1998). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_chunk_atom.rst b/doc/src/compute_chunk_atom.rst index 4cead81df8db5e19606f1638b4071fe45de0bee5..ead17e3f7cca1664962a5d1a49055ef14059a72e 100644 --- a/doc/src/compute_chunk_atom.rst +++ b/doc/src/compute_chunk_atom.rst @@ -6,16 +6,15 @@ compute chunk/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID chunk/atom style args keyword values ... * ID, group-ID are documented in :doc:`compute ` command * chunk/atom = style name of this compute command - + .. parsed-literal:: - + style = *bin/1d* or *bin/2d* or *bin/3d* or *bin/sphere* or *type* or *molecule* or c_ID, c_ID[I], f_ID, f_ID[I], v_name *bin/1d* args = dim origin delta dim = *x* or *y* or *z* @@ -51,9 +50,9 @@ Syntax * zero or more keyword/values pairs may be appended * keyword = *region* or *nchunk* or *static* or *compress* or *bound* or *discard* or *pbc* or *units* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region atoms must be in to be part of a chunk *nchunk* value = *once* or *every* @@ -82,13 +81,10 @@ Syntax yes = use periodic distance for bin/sphere and bin/cylinder styles *units* value = *box* or *lattice* or *reduced* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all chunk/atom type compute 1 all chunk/atom bin/1d z lower 0.02 units reduced @@ -141,19 +137,15 @@ timesteps it specifies, while it accumulates per-chunk averages. The details are described below. - ---------- - The different chunk styles operate as follows. For each style, how it calculates *Nchunk* and assigns chunk IDs to atoms is explained. Note that using the optional keywords can change both of those actions, as described further below where the keywords are discussed. - ---------- - The *binning* styles perform a spatial binning of atoms, and assign an atom the chunk ID corresponding to the bin number it is in. *Nchunk* is set to the number of bins, which can change if the simulation box @@ -241,18 +233,14 @@ have moved outside the bounds of all bins. If an atom is not inside any bin, the *discard* keyword is used to determine how a chunk ID is assigned to the atom. - ---------- - The *type* style uses the atom type as the chunk ID. *Nchunk* is set to the number of atom types defined for the simulation, e.g. via the -:doc:`create\_box ` or :doc:`read\_data ` commands. - +:doc:`create_box ` or :doc:`read_data ` commands. ---------- - The *molecule* style uses the molecule ID of each atom as its chunk ID. *Nchunk* is set to the largest chunk ID. Note that this excludes molecule IDs for atoms which are not in the specified group or @@ -269,10 +257,8 @@ solvent atoms, have an out-of-range chunk ID. These atoms are discarded (not assigned to any chunk) or assigned to *Nchunk*\ , depending on the value of the *discard* keyword. - ---------- - The *compute/fix/variable* styles set the chunk ID of each atom based on a quantity calculated and stored by a compute, fix, or variable. In each case, it must be a per-atom quantity. In each case the @@ -308,10 +294,8 @@ invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to treat as a chunk ID. - ---------- - Normally, *Nchunk* = the number of chunks, is re-calculated every time this fix is invoked, though the value may or may not change. As explained below, the *nchunk* keyword can be set to *once* which means @@ -335,10 +319,8 @@ the same compute chunk/atom compute. However, the time windows they induce for holding *Nchunk* constant must be identical, else an error will be generated. - ---------- - The various optional keywords operate as follows. Note that some of them function differently or are ignored by different chunk styles. Some of them also have different default values, depending on @@ -348,10 +330,8 @@ The *region* keyword applies to all chunk styles. If used, an atom must be in both the specified group and the specified geometric :doc:`region ` to be assigned to a chunk. - ---------- - The *nchunk* keyword applies to all chunk styles. It specifies how often *Nchunk* is recalculated, which in turn can affect the chunk IDs assigned to individual atoms. @@ -368,10 +348,8 @@ chunk style and other system and keyword settings. They attempt to represent typical use cases for the various chunk styles. The *nchunk* value can always be set explicitly if desired. - ---------- - The *limit* keyword can be used to limit the calculated value of *Nchunk* = the number of chunks. The limit is applied each time *Nchunk* is calculated, which also limits the chunk IDs assigned to @@ -423,10 +401,8 @@ assigned to them. Note that in this case, all atoms will end up with chunk IDs <= *Nc*\ , and their original values (e.g. molecule ID or compute/fix/variable value) will also have been <= *Nc*\ . - ---------- - The *ids* keyword applies to all chunk styles. If the setting is *once* then the chunk IDs assigned to atoms the first time this compute is invoked will be permanent, and never be re-computed. @@ -449,10 +425,8 @@ re-calculated on any timestep this compute is invoked. quantities will also have the same ID, and thus be initialized correctly with chunk IDs from the restart file. - ---------- - The *compress* keyword applies to all chunk styles and affects how *Nchunk* is calculated, which in turn affects the chunk IDs assigned to each atom. It is useful for converting a "sparse" set of chunk IDs @@ -504,10 +478,8 @@ conjunction with the :doc:`compute property/chunk ` comm can affect these costs, depending on which keyword is used first. So use this option with care. - ---------- - The *discard* keyword applies to all chunk styles. It affects what chunk IDs are assigned to atoms that do not match one of the valid chunk IDs from 1 to *Nchunk*\ . Note that it does not apply to atoms @@ -585,10 +557,8 @@ than *rmin*\ , it will be assigned to the first bin. If the distance of the atom from the origin is greater than *rmax*\ , it will be assigned to the last bin. - ---------- - The *bound* keyword only applies to the *bin/1d*\ , *bin/2d*\ , *bin/3d* styles and to the axis dimension of the *bin/cylinder* style; otherwise it is ignored. It can be used one or more times to limit @@ -648,10 +618,8 @@ are scaled by the lattice spacing or reduced value of the 1st dimension perpendicular to the cylinder axis. E.g. y for an x-axis cylinder, x for a y-axis cylinder, and x for a z-axis cylinder. - ---------- - **Output info:** This compute calculates a per-atom vector, which can be accessed by @@ -666,7 +634,6 @@ belonging to a chunk. Restrictions """""""""""" - Even if the *nchunk* keyword is set to *once*\ , the chunk IDs assigned to each atom are not stored in a restart files. This means you cannot expect those assignments to persist in a restarted simulation. @@ -700,8 +667,3 @@ The option defaults are as follows: * bound = lower and upper in all dimensions * pbc = no * units = lattice - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_chunk_spread_atom.rst b/doc/src/compute_chunk_spread_atom.rst index d2a2f7498a574038855ace2bb1d73ae25db43ac9..d486da4e3e018930890e36634f20ce533a255f98 100644 --- a/doc/src/compute_chunk_spread_atom.rst +++ b/doc/src/compute_chunk_spread_atom.rst @@ -6,7 +6,6 @@ compute chunk/spread/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID chunk/spread/atom chunkID input1 input2 ... @@ -15,22 +14,19 @@ Syntax * chunk/spread/atom = style name of this compute command * chunkID = ID of :doc:`compute chunk/atom ` command * one or more inputs can be listed -* input = c\_ID, c\_ID[N], f\_ID, f\_ID[N] - +* input = c_ID, c_ID[N], f_ID, f_ID[N] + .. parsed-literal:: - + c_ID = global vector calculated by a compute with ID c_ID[I] = Ith column of global array calculated by a compute with ID, I can include wildcard (see below) f_ID = global vector calculated by a fix with ID f_ID[I] = Ith column of global array calculated by a fix with ID, I can include wildcard (see below) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all chunk/spread/atom mychunk c_com[*] c_gyration @@ -85,10 +81,8 @@ or fix. does not check that it is per-chunk data. It only checks that the fix produces a global vector or array. - ---------- - Each listed input is operated on independently. If a bracketed index I is used, it can be specified using a wildcard @@ -105,23 +99,19 @@ had been listed one by one. E.g. these 2 compute chunk/spread/atom commands are equivalent, since the :doc:`compute com/chunk ` command creates a per-atom array with 3 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute com all com/chunk mychunk compute 10 all chunk/spread/atom mychunk c_com[*] compute 10 all chunk/spread/atom mychunk c_com[1] c_com[2] c_com[3] - ---------- - Here is an example of writing a dump file the with the center-of-mass (COM) for the chunk each atom is in. The commands below can be added to the bench/in.chain script. - -.. parsed-literal:: +.. code-block:: LAMMPS compute cmol all chunk/atom molecule compute com all com/chunk cmol @@ -134,14 +124,13 @@ forces for the :doc:`fix addforce ` command. In this example the forces act to pull atoms of an extended polymer chain towards its COM in an attractive manner. - -.. parsed-literal:: +.. code-block:: LAMMPS compute prop all property/atom xu yu zu variable k equal 0.1 - variable fx atom v_k\*(c_comchunk[1]-c_prop[1]) - variable fy atom v_k\*(c_comchunk[2]-c_prop[2]) - variable fz atom v_k\*(c_comchunk[3]-c_prop[3]) + variable fx atom v_k*(c_comchunk[1]-c_prop[1]) + variable fy atom v_k*(c_comchunk[2]-c_prop[2]) + variable fz atom v_k*(c_comchunk[3]-c_prop[3]) fix 3 all addforce v_fx v_fy v_fz Note that :doc:`compute property/atom ` is used @@ -155,7 +144,6 @@ bench/in.chain script. Thermo output is shown for 1000 steps, where the last column is the average radius of gyration over all 320 chains in the 32000 atom system: - .. parsed-literal:: compute gyr all gyration/chunk cmol @@ -174,10 +162,8 @@ in the 32000 atom system: 900 22.59128 5.0247538 4.5611513 1000 22.586832 4.94697 4.5238362 - ---------- - Here is an example for using one set of chunks, defined for molecules, to compute the dipole moment vector for each chunk. E.g. for water molecules. Then spreading those values to each atom in each chunk. @@ -185,14 +171,13 @@ Then defining a second set of chunks based on spatial bins. And finally, using the :doc:`fix ave/chunk ` command to calculate an average dipole moment vector per spatial bin. - -.. parsed-literal:: +.. code-block:: LAMMPS compute cmol all chunk/atom molecule compute dipole all dipole/chunk cmol compute spread all chunk/spread/atom cmol c_dipole[1] c_dipole[2] c_dipole[3] compute cspatial all chunk/atom bin/1d z lower 0.1 units reduced - fix ave all ave/chunk 100 10 1000 cspatial c_spread[\*] + fix ave all ave/chunk 100 10 1000 cspatial c_spread[*] Note that the :doc:`fix ave/chunk ` command requires per-atom values as input. That is why the compute chunk/spread/atom @@ -201,10 +186,8 @@ If a molecule straddles bin boundaries, each of its atoms contributes in a weighted manner to the average dipole moment of the spatial bin it is in. - ---------- - **Output info:** This compute calculates a per-atom vector or array, which can be @@ -230,8 +213,3 @@ Related commands :doc:`compute chunk/atom `, :doc:`fix ave/chunk `, :doc:`compute reduce/chunk ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_cluster_atom.rst b/doc/src/compute_cluster_atom.rst index df1614858cb0d6494318c6819de6dfa45360d12b..d9742a4a4b00231f7e83a651fda5014c4f403bee 100644 --- a/doc/src/compute_cluster_atom.rst +++ b/doc/src/compute_cluster_atom.rst @@ -12,7 +12,6 @@ compute aggregate/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID cluster/atom cutoff @@ -26,8 +25,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all cluster/atom 3.5 compute 1 all fragment/atom @@ -47,7 +45,7 @@ cluster. A fragment is similarly defined as a set of atoms, each of which has an explicit bond (i.e. defined via a :doc:`data file `, -the :doc:`create\_bonds ` command, or through fixes like +the :doc:`create_bonds ` command, or through fixes like :doc:`fix bond/create `, :doc:`fix bond/swap `, or :doc:`fix bond/break `). The cluster ID or fragment ID of every atom in the cluster will be set to the smallest atom ID of any atom @@ -76,19 +74,19 @@ multiple compute/dump commands, each of a *cluster/atom* or .. note:: If you have a bonded system, then the settings of - :doc:`special\_bonds ` command can remove pairwise + :doc:`special_bonds ` command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This - is the default setting for the :doc:`special\_bonds ` + is the default setting for the :doc:`special_bonds ` command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included when computing the clusters. This does not apply when using long-range coulomb (\ *coul/long*\ , *coul/msm*\ , *coul/wolf* or similar. One way to get around this would be to set - special\_bond scaling factors to very tiny numbers that are not exactly + special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and use the :doc:`rerun ` command to compute the clusters for snapshots in the dump file. The rerun script can use a - :doc:`special\_bonds ` command that includes all pairs in + :doc:`special_bonds ` command that includes all pairs in the neighbor list. **Output info:** @@ -110,8 +108,3 @@ Related commands :doc:`compute coord/atom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_cna_atom.rst b/doc/src/compute_cna_atom.rst index f75506eb905bd00ce8951694584ea0b47a07d26a..27bff636a28a503d04c1e5fb7f75c06d29526f50 100644 --- a/doc/src/compute_cna_atom.rst +++ b/doc/src/compute_cna_atom.rst @@ -6,7 +6,6 @@ compute cna/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID cna/atom cutoff @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all cna/atom 3.08 @@ -51,8 +49,11 @@ E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest neighbors for perfect BCC crystals. These formulas can be used to obtain a good cutoff distance: -.. image:: Eqs/cna_cutoff1.jpg - :align: center +.. math:: + + r_{c}^{fcc} = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\ + r_{c}^{bcc} = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\ + r_{c}^{hcp} = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a} where a is the lattice constant for the crystal structure concerned and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a @@ -62,10 +63,12 @@ Also note that since the CNA calculation in LAMMPS uses the neighbors of an owned atom to find the nearest neighbors of a ghost atom, the following relation should also be satisfied: -.. image:: Eqs/cna_cutoff2.jpg - :align: center +.. math:: -where Rc is the cutoff distance of the potential, Rs is the skin + r_c + r_s > 2*{\rm cutoff} + +where :math:`r_c` is the cutoff distance of the potential, :math:`r_s` +is the skin distance as specified by the :doc:`neighbor ` command, and cutoff is the argument used with the compute cna/atom command. LAMMPS will issue a warning if this is not the case. @@ -97,23 +100,12 @@ Related commands **Default:** none - ---------- - .. _Faken: - - **(Faken)** Faken, Jonsson, Comput Mater Sci, 2, 279 (1994). .. _Tsuzuki1: - - **(Tsuzuki)** Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_cnp_atom.rst b/doc/src/compute_cnp_atom.rst index ba3144877610bfa3c61fdd7edeb3307a46574702..c87082dc079af8d6f78760f9d716ee353e642da3 100644 --- a/doc/src/compute_cnp_atom.rst +++ b/doc/src/compute_cnp_atom.rst @@ -6,7 +6,6 @@ compute cnp/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID cnp/atom cutoff @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all cnp/atom 3.08 @@ -40,13 +38,15 @@ only be performed on single component systems. This parameter is computed using the following formula from :ref:`(Tsuzuki) ` -.. image:: Eqs/cnp_eq.jpg - :align: center +.. math:: + + Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} | \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} |^2 -where the index *j* goes over the *n*\ i nearest neighbors of atom -*i*\ , and the index *k* goes over the *n*\ ij common nearest neighbors -between atom *i* and atom *j*\ . Rik and Rjk are the vectors connecting atom -*k* to atoms *i* and *j*\ . The quantity in the double sum is computed +where the index *j* goes over the :math:`n_i` nearest neighbors of atom +*i*\ , and the index *k* goes over the :math:`n_{ij}` common nearest neighbors +between atom *i* and atom *j*\ . :math:`\vec{R}_{ik}` and +:math:`\vec{R}_{jk}` are the vectors connecting atom *k* to atoms *i* +and *j*\ . The quantity in the double sum is computed for each atom. The CNP calculation is sensitive to the specified cutoff value. @@ -56,8 +56,11 @@ E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest neighbors for perfect BCC crystals. These formulas can be used to obtain a good cutoff distance: -.. image:: Eqs/cnp_cutoff.jpg - :align: center +.. math:: + + r_{c}^{fcc} = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\ + r_{c}^{bcc} = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\ + r_{c}^{hcp} = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a} where a is the lattice constant for the crystal structure concerned and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a @@ -67,10 +70,12 @@ Also note that since the CNP calculation in LAMMPS uses the neighbors of an owned atom to find the nearest neighbors of a ghost atom, the following relation should also be satisfied: -.. image:: Eqs/cnp_cutoff2.jpg - :align: center +.. math:: + + r_c + r_s > 2*{\rm cutoff} -where Rc is the cutoff distance of the potential, Rs is the skin +where :math:`r_c` is the cutoff distance of the potential, :math:`r_s` is +the skin distance as specified by the :doc:`neighbor ` command, and cutoff is the argument used with the compute cnp/atom command. LAMMPS will issue a warning if this is not the case. @@ -91,7 +96,6 @@ LAMMPS output options. The per-atom vector values will be real positive numbers. Some typical CNP values: - .. parsed-literal:: FCC lattice = 0.0 @@ -105,7 +109,6 @@ values: Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -117,17 +120,8 @@ Related commands **Default:** none - ---------- - .. _Tsuzuki2: - - **(Tsuzuki)** Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_com.rst b/doc/src/compute_com.rst index 8a9381e37e2809ba7b1d7b2f616af45093366717..af36b34b2bd8d044a870818483975c777b640eff 100644 --- a/doc/src/compute_com.rst +++ b/doc/src/compute_com.rst @@ -6,7 +6,6 @@ compute com command Syntax """""" - .. parsed-literal:: compute ID group-ID com @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all com @@ -38,7 +36,7 @@ are the x,y,z coordinates of the center of mass. "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of the - :doc:`read\_data ` command for a discussion of image flags and + :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -62,8 +60,3 @@ Related commands :doc:`compute com/chunk ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_com_chunk.rst b/doc/src/compute_com_chunk.rst index d143f911f665e9d8b8a07bac1a4cc8442b22785d..dd27702652ccf57bd4604df406f74b6742a10c7d 100644 --- a/doc/src/compute_com_chunk.rst +++ b/doc/src/compute_com_chunk.rst @@ -6,7 +6,6 @@ compute com/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID com/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid com/chunk molchunk @@ -54,7 +52,7 @@ non-zero chunk IDs. center-of-mass in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of - the :doc:`read\_data ` command for a discussion of image flags + the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -62,12 +60,11 @@ The simplest way to output the results of the compute com/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all com/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** @@ -91,8 +88,3 @@ Related commands :doc:`compute com ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_contact_atom.rst b/doc/src/compute_contact_atom.rst index 0d8563d2ced13b19fd7c1bb68be46adae7aa799b..b8b3c695d6419b15cdaa41084a0f015aa8186a36 100644 --- a/doc/src/compute_contact_atom.rst +++ b/doc/src/compute_contact_atom.rst @@ -6,7 +6,6 @@ compute contact/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID contact/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all contact/atom @@ -49,9 +47,8 @@ above. Restrictions """""""""""" - This compute requires that atoms store a radius as defined by the -:doc:`atom\_style sphere ` command. +:doc:`atom_style sphere ` command. Related commands """""""""""""""" @@ -59,8 +56,3 @@ Related commands :doc:`compute coord/atom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_coord_atom.rst b/doc/src/compute_coord_atom.rst index 2e55d3a67358d99fa8958369a5270f492a2228d6..c51ea212f028e0a744ee213f47d270e36b193a90 100644 --- a/doc/src/compute_coord_atom.rst +++ b/doc/src/compute_coord_atom.rst @@ -6,7 +6,6 @@ compute coord/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID coord/atom cstyle args ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * coord/atom = style name of this compute command * cstyle = *cutoff* or *orientorder* - + .. parsed-literal:: - + *cutoff* args = cutoff [group group2-ID] typeN cutoff = distance within which to count coordination neighbors (distance units) group *group2-ID* = select group-ID to restrict which atoms to consider for coordination number (optional) @@ -25,17 +24,14 @@ Syntax orientorderID = ID of an orientorder/atom compute threshold = minimum value of the product of two "connected" atoms - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all coord/atom cutoff 2.0 compute 1 all coord/atom cutoff 6.0 1 2 - compute 1 all coord/atom cutoff 6.0 2\*4 5\*8 \* + compute 1 all coord/atom cutoff 6.0 2*4 5*8 * compute 1 solute coord/atom cutoff 2.0 group solvent compute 1 all coord/atom orientorder 2 0.5 @@ -82,10 +78,10 @@ identify crystal-like atoms in a system, as discussed in :ref:`ten Wolde ` command is specified as *orientorderID*\ . The compute must invoke its *components* option to -calculate components of the *Ybar\_lm* vector for each atoms, as +calculate components of the *Ybar_lm* vector for each atoms, as described in its documentation. Note that orientorder/atom compute defines its own criteria for identifying neighboring atoms. If the -scalar product (*Ybar\_lm(i)*,*Ybar\_lm(j)*), calculated by the +scalar product (*Ybar_lm(i)*,*Ybar_lm(j)*), calculated by the orientorder/atom compute is larger than the specified *threshold*\ , then I and J are connected, and the coordination value of I is incremented by one. @@ -101,16 +97,16 @@ too frequently. .. note:: If you have a bonded system, then the settings of - :doc:`special\_bonds ` command can remove pairwise + :doc:`special_bonds ` command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This - is the default setting for the :doc:`special\_bonds ` + is the default setting for the :doc:`special_bonds ` command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the coordination count. One way to get around this, is to write a dump file, and use the :doc:`rerun ` command to compute the coordination for snapshots in the dump file. The rerun script can use a - :doc:`special\_bonds ` command that includes all pairs in + :doc:`special_bonds ` command that includes all pairs in the neighbor list. **Output info:** @@ -145,18 +141,9 @@ Default group = all - ---------- - .. _tenWolde1: - - **(tenWolde)** P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, J. Chem. Phys. 104, 9932 (1996). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_damage_atom.rst b/doc/src/compute_damage_atom.rst index 2b498a3fb54172738ef436b2bea71030e607bdcd..ab17584ccde4d1cb0d25de1bd7f07f229d95d952 100644 --- a/doc/src/compute_damage_atom.rst +++ b/doc/src/compute_damage_atom.rst @@ -6,7 +6,6 @@ compute damage/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID damage/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all damage/atom @@ -54,7 +52,6 @@ The per-atom vector values are unitless numbers (damage) >= 0.0. Restrictions """""""""""" - This compute is part of the PERI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -65,8 +62,3 @@ Related commands :doc:`compute plasticity/atom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_dihedral.rst b/doc/src/compute_dihedral.rst index 087b25c3936183a7a7c5b34763c22a51c3b319a8..ed87b727ec3c599f9e5e6c2440f49a202a1289a0 100644 --- a/doc/src/compute_dihedral.rst +++ b/doc/src/compute_dihedral.rst @@ -6,7 +6,6 @@ compute dihedral command Syntax """""" - .. parsed-literal:: compute ID group-ID dihedral @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all dihedral @@ -26,17 +24,17 @@ Description """"""""""" Define a computation that extracts the dihedral energy calculated by -each of the dihedral sub-styles used in the :doc:`dihedral\_style hybrid ` command. These values are made +each of the dihedral sub-styles used in the :doc:`dihedral_style hybrid ` command. These values are made accessible for output or further processing by other commands. The group specified for this command is ignored. -This compute is useful when using :doc:`dihedral\_style hybrid ` if you want to know the portion of the +This compute is useful when using :doc:`dihedral_style hybrid ` if you want to know the portion of the total energy contributed by one or more of the hybrid sub-styles. **Output info:** This compute calculates a global vector of length N where N is the -number of sub\_styles defined by the :doc:`dihedral\_style hybrid ` command. which can be accessed by indices +number of sub_styles defined by the :doc:`dihedral_style hybrid ` command. which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. @@ -54,8 +52,3 @@ Related commands :doc:`compute pe `, :doc:`compute pair ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_dihedral_local.rst b/doc/src/compute_dihedral_local.rst index 18c268a70f9d1ec51e3634a033c445f5fccb6fcb..6fd1401292e361c1869ce854934c20952e333c14 100644 --- a/doc/src/compute_dihedral_local.rst +++ b/doc/src/compute_dihedral_local.rst @@ -6,7 +6,6 @@ compute dihedral/local command Syntax """""" - .. parsed-literal:: compute ID group-ID dihedral/local value1 value2 ... keyword args ... @@ -14,29 +13,26 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * dihedral/local = style name of this compute command * one or more values may be appended -* value = *phi* or *v\_name* - +* value = *phi* or *v_name* + .. parsed-literal:: - + *phi* = tabulate dihedral angles *v_name* = equal-style variable with name (see below) * zero or more keyword/args pairs may be appended * keyword = *set* - + .. parsed-literal:: - + *set* args = phi name phi = only currently allowed arg name = name of variable to set with phi - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all dihedral/local phi @@ -51,11 +47,11 @@ 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 :doc:`dihedral\_style ` doc page. +the :doc:`dihedral_style ` doc page. -The value *v\_name* can be used together with the *set* keyword to +The value *v_name* can be used together with the *set* keyword to compute a user-specified function of the dihedral angle phi. The -*name* specified for the *v\_name* value is the name of an :doc:`equal-style variable ` which should evaluate a formula based on a +*name* specified for the *v_name* value is the name of an :doc:`equal-style variable ` which should evaluate a formula based on a variable which will store the angle phi. This other variable must be an :doc:`internal-style variable ` defined in the input script; its initial numeric value can be anything. It must be an @@ -70,12 +66,11 @@ As an example, these commands can be added to the bench/in.rhodo script to compute the cosine and cosine\^2 of every dihedral angle in the system and output the statistics in various ways: - -.. parsed-literal:: +.. code-block:: LAMMPS variable p internal 0.0 variable cos equal cos(v_p) - variable cossq equal cos(v_p)\*cos(v_p) + variable cossq equal cos(v_p)*cos(v_p) compute 1 all property/local datom1 datom2 datom3 datom4 dtype compute 2 all dihedral/local phi v_cos v_cossq set phi p @@ -88,16 +83,14 @@ the system and output the statistics in various ways: The :doc:`dump local ` command will output the angle, cosine(angle), cosine\^2(angle) for every dihedral in the system. The -:doc:`thermo\_style ` command will print the average of +:doc:`thermo_style ` command will print the average of those quantities via the :doc:`compute reduce ` command with thermo output. And the :doc:`fix ave/histo ` command will histogram the cosine(angle) values and write them to a file. - ---------- - The local data stored by this command is generated by looping over all the atoms owned on a processor and their dihedrals. A dihedral will only be included if all 4 atoms in the dihedral are in the specified @@ -114,8 +107,7 @@ command in a consistent way. Here is an example of how to do this: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local dtype datom1 datom2 datom3 datom4 compute 2 all dihedral/local phi @@ -144,8 +136,3 @@ Related commands :doc:`dump local `, :doc:`compute property/local ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_dilatation_atom.rst b/doc/src/compute_dilatation_atom.rst index 84e4d48a1cf16e6554b13516f427da8d311704ce..46ebef8220bc172b7168524906a5002956c91b5c 100644 --- a/doc/src/compute_dilatation_atom.rst +++ b/doc/src/compute_dilatation_atom.rst @@ -6,7 +6,6 @@ compute dilatation/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID dilatation/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all dilatation/atom @@ -57,7 +55,6 @@ The per-atom vector values are unitless numbers (theta) >= 0.0. Restrictions """""""""""" - This compute is part of the PERI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -68,8 +65,3 @@ Related commands :doc:`compute plasticity/atom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_dipole_chunk.rst b/doc/src/compute_dipole_chunk.rst index 5c80b62faa7be0b13ec6ef82615be8cb8d258f5b..f08b1d67d91d9c30429d114fb98549ae9dfaa032 100644 --- a/doc/src/compute_dipole_chunk.rst +++ b/doc/src/compute_dipole_chunk.rst @@ -6,7 +6,6 @@ compute dipole/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID dipole/chunk chunkID charge-correction @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid dipole/chunk molchunk compute dw water dipole/chunk 1 geometry @@ -59,7 +57,7 @@ non-zero chunk IDs. dipole in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of - the :doc:`read\_data ` command for a discussion of image flags + the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -67,12 +65,11 @@ The simplest way to output the results of the compute com/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all dipole/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** @@ -96,8 +93,3 @@ Related commands :doc:`compute com/chunk ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_displace_atom.rst b/doc/src/compute_displace_atom.rst index 57e2037305ee7f6aa862e73e1af3098f6fa858c5..9e1488cdf160f63bf0c2b551d398c0fda9010631 100644 --- a/doc/src/compute_displace_atom.rst +++ b/doc/src/compute_displace_atom.rst @@ -6,7 +6,6 @@ compute displace/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID displace/atom @@ -15,18 +14,15 @@ Syntax * displace/atom = style name of this compute command * zero or more keyword/arg pairs may be appended * keyword = *refresh* - - .. parsed-literal:: - - *replace* arg = name of per-atom variable + .. parsed-literal:: + *replace* arg = name of per-atom variable Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all displace/atom compute 1 all displace/atom refresh myVar @@ -51,7 +47,7 @@ the compute command was issued. The value of the displacement will be Initial coordinates are stored in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. - See the Atoms section of the :doc:`read\_data ` command for a + See the Atoms section of the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -65,11 +61,9 @@ the compute command was issued. The value of the displacement will be quantities will also have the same ID, and thus be initialized correctly with time=0 atom coordinates from the restart file. - ---------- - -The *refresh* option can be used in conjunction with the "dump\_modify +The *refresh* option can be used in conjunction with the "dump_modify refresh" command to generate incremental dump files. The definition and motivation of an incremental dump file is as @@ -88,8 +82,7 @@ a distance *Dhop*\ . For any snapshot we only want to output atoms that have hopped since the last snapshot. This can be accomplished with something like the following commands: - -.. parsed-literal:: +.. code-block:: LAMMPS write_dump all custom tmp.dump id type x y z # see comment below @@ -100,13 +93,13 @@ something like the following commands: dump_modify 1 append yes thresh c_dsp[4] > ${Dhop} & refresh c_dsp delay 100 -The :doc:`dump\_modify thresh ` command will only output +The :doc:`dump_modify thresh ` command will only output atoms that have displaced more than 0.6 Angstroms on each snapshot -(assuming metal units). The dump\_modify *refresh* option triggers a +(assuming metal units). The dump_modify *refresh* option triggers a call to this compute at the end of every dump. The *refresh* argument for this compute is the ID of an :doc:`atom-style variable ` which calculates a Boolean value (0 or 1) -based on the same criterion used by dump\_modify thresh. This compute +based on the same criterion used by dump_modify thresh. This compute evaluates the atom-style variable. For each atom that returns 1 (true), the original (reference) coordinates of the atom (stored by this compute) are updated. @@ -119,17 +112,15 @@ Note that in the first snapshot of a subsequent run, no atoms will be typically be output. That is because the initial displacement for all atoms is 0.0. If an initial dump snapshot is desired, containing the initial reference positions of all atoms, one way to do this is -illustrated above. An initial write\_dump command can be used before +illustrated above. An initial write_dump command can be used before the first run. It will contain the positions of all the atoms, -Options in the :doc:`dump\_modify ` command above will +Options in the :doc:`dump_modify ` command above will append new output to that same file and delay the output until a later timestep. The *delay* setting avoids a second time = 0 snapshot which would be empty. - ---------- - **Output info:** This compute calculates a per-atom array with 4 columns, which can be @@ -140,7 +131,7 @@ for an overview of LAMMPS output options. The per-atom array values will be in distance :doc:`units `. This compute supports the *refresh* option as explained above, for use -in conjunction with :doc:`dump\_modify refresh ` to generate +in conjunction with :doc:`dump_modify refresh ` to generate incremental dump files. Restrictions @@ -153,8 +144,3 @@ Related commands :doc:`compute msd `, :doc:`dump custom `, :doc:`fix store/state ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_dpd.rst b/doc/src/compute_dpd.rst index f85c0259f83aa103ab832137a39773e6f0a19057..c106522b571e80b0f565739b05909edd535d159f 100644 --- a/doc/src/compute_dpd.rst +++ b/doc/src/compute_dpd.rst @@ -6,7 +6,6 @@ compute dpd command Syntax """""" - .. parsed-literal:: compute ID group-ID dpd @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all dpd @@ -26,28 +24,33 @@ Description """"""""""" Define a computation that accumulates the total internal conductive -energy (U\_cond), the total internal mechanical energy (U\_mech), the -total chemical energy (U\_chem) and the *harmonic* average of the internal -temperature (dpdTheta) for the entire system of particles. See the +energy (:math:`U^{cond}`), the total internal mechanical energy +(:math:`U^{mech}`), the total chemical energy (:math:`U^{chem}`) +and the *harmonic* average of the internal temperature (:math:`\theta_{avg}`) +for the entire system of particles. See the :doc:`compute dpd/atom ` command if you want per-particle internal energies and internal temperatures. The system internal properties are computed according to the following relations: -.. image:: Eqs/compute_dpd.jpg - :align: center +.. math:: -where N is the number of particles in the system + U^{cond} = & \displaystyle\sum_{i=1}^{N} u_{i}^{cond} \\ + U^{mech} = & \displaystyle\sum_{i=1}^{N} u_{i}^{mech} \\ + U^{chem} = & \displaystyle\sum_{i=1}^{N} u_{i}^{chem} \\ + U = & \displaystyle\sum_{i=1}^{N} (u_{i}^{cond} + u_{i}^{mech} + u_{i}^{chem}) \\ + \theta_{avg} = & (\frac{1}{N}\displaystyle\sum_{i=1}^{N} \frac{1}{\theta_{i}})^{-1} \\ +where :math:`N` is the number of particles in the system ---------- - **Output info:** -This compute calculates a global vector of length 5 (U\_cond, U\_mech, -U\_chem, dpdTheta, N\_particles), which can be accessed by indices 1-5. +This compute calculates a global vector of length 5 (:math:`U^{cond}`, +:math:`U^{mech}`, :math:`U^{chem}`, :math:`\theta_{avg}`, :math:`N`), +which can be accessed by indices 1-5. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. @@ -56,35 +59,25 @@ The vector values will be in energy and temperature :doc:`units `. Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -This command also requires use of the :doc:`atom\_style dpd ` +This command also requires use of the :doc:`atom_style dpd ` command. Related commands """""""""""""""" :doc:`compute dpd/atom `, -:doc:`thermo\_style ` +:doc:`thermo_style ` **Default:** none - ---------- - .. _Larentzos1: - - **(Larentzos)** J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research Laboratory, Aberdeen Proving Ground, MD (2014). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_dpd_atom.rst b/doc/src/compute_dpd_atom.rst index 2970141a19e80da8228f47e2a5502de758c4dc26..d1a683db87b44abab01a03d3ec541ff652a085d7 100644 --- a/doc/src/compute_dpd_atom.rst +++ b/doc/src/compute_dpd_atom.rst @@ -6,7 +6,6 @@ compute dpd/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID dpd/atom @@ -17,16 +16,18 @@ Syntax Examples """""""" -compute 1 all dpd/atom +.. code-block:: LAMMPS + + compute 1 all dpd/atom Description """"""""""" Define a computation that accesses the per-particle internal -conductive energy (u\_cond), internal mechanical energy (u\_mech), -internal chemical energy (u\_chem) and -internal temperatures (dpdTheta) for each particle in a group. See -the :doc:`compute dpd ` command if you want the total +conductive energy (:math:`u^{cond}`), internal mechanical +energy (:math:`u^{mech}`), internal chemical energy (:math:`u^{chem}`) +and internal temperatures (:math:`\theta`) for each particle in a group. +See the :doc:`compute dpd ` command if you want the total internal conductive energy, the total internal mechanical energy, the total chemical energy and average internal temperature of the entire system or group of dpd @@ -34,23 +35,24 @@ particles. **Output info:** -This compute calculates a per-particle array with 4 columns (u\_cond, -u\_mech, u\_chem, dpdTheta), which can be accessed by indices 1-4 by any +This compute calculates a per-particle array with 4 columns (:math:`u^{cond}`, +:math:`u^{mech}`, :math:`u^{chem}`, :math:`\theta`), which can be accessed +by indices 1-4 by any command that uses per-particle values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. -The per-particle array values will be in energy (u\_cond, u\_mech, u\_chem) -and temperature (dpdTheta) :doc:`units `. +The per-particle array values will be in energy (:math:`u^{cond}`, +:math:`u^{mech}`, :math:`u^{chem}`) +and temperature (:math:`theta`) :doc:`units `. Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -This command also requires use of the :doc:`atom\_style dpd ` +This command also requires use of the :doc:`atom_style dpd ` command. Related commands @@ -60,20 +62,11 @@ Related commands **Default:** none - ---------- - .. _Larentzos2: - - **(Larentzos)** J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research Laboratory, Aberdeen Proving Ground, MD (2014). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_edpd_temp_atom.rst b/doc/src/compute_edpd_temp_atom.rst index 03dd4e9af52018ca7dd831268f314fcee78e7637..8670e70b48e9197bf5b9f5158e2c1b44cba4bbec 100644 --- a/doc/src/compute_edpd_temp_atom.rst +++ b/doc/src/compute_edpd_temp_atom.rst @@ -6,7 +6,6 @@ compute edpd/temp/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID edpd/temp/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all edpd/temp/atom @@ -45,36 +43,24 @@ The per-atom vector values will be in temperature :doc:`units `. Restrictions """""""""""" - -This compute is part of the USER-MESO package. It is only enabled if +This compute is part of the USER-MESODPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_style edpd ` +:doc:`pair_style edpd ` **Default:** none - ---------- - .. _Espanol1997: - - **(Espanol1997)** Espanol, Europhys Lett, 40(6): 631-636 (1997). DOI: 10.1209/epl/i1997-00515-8 .. _Li2014a: - - **(Li2014)** Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, 265: 113-127 (2014). DOI: 10.1016/j.jcp.2014.02.003. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_entropy_atom.rst b/doc/src/compute_entropy_atom.rst index c43c73814c01633104b235d29d6afe4a0a9761d7..85a180df740a0347c495b08d6fd5a4c2cb323370 100644 --- a/doc/src/compute_entropy_atom.rst +++ b/doc/src/compute_entropy_atom.rst @@ -6,7 +6,6 @@ compute entropy/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID entropy/atom sigma cutoff keyword value ... @@ -26,13 +25,10 @@ Syntax cutoff2 = cutoff for the averaging over neighbors *local* values = *yes* or *no* = use the local density around each atom to normalize the g(r) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all entropy/atom 0.25 5. compute 1 all entropy/atom 0.25 5. avg yes 5. @@ -53,27 +49,30 @@ information about the solid structure is required. This parameter for atom i is computed using the following formula from :ref:`(Piaggi) ` and :ref:`(Nettleton) ` , -.. image:: Eqs/pair_entropy.jpg - :align: center +.. math:: + + s_S^i=-2\pi\rho k_B \int\limits_0^{r_m} \left [ g(r) \ln g(r) - g(r) + 1 \right ] r^2 dr where r is a distance, g(r) is the radial distribution function of atom i and rho is the density of the system. The g(r) computed for each atom i can be noisy and therefore it is smoothed using: -.. image:: Eqs/pair_entropy2.jpg - :align: center +.. math:: + + g_m^i(r) = \frac{1}{4 \pi \rho r^2} \sum\limits_{j} \frac{1}{\sqrt{2 \pi \sigma^2}} e^{-(r-r_{ij})^2/(2\sigma^2)} -where the sum in j goes through the neighbors of atom i, and sigma is a -parameter to control the smoothing. +where the sum in j goes through the neighbors of atom i, and :math:`\sigma` +is a parameter to control the smoothing. -The input parameters are *sigma* the smoothing parameter, and the -*cutoff* for the calculation of g(r). +The input parameters are *sigma* the smoothing parameter :math:`\sigma`, +and the *cutoff* for the calculation of g(r). If the keyword *avg* has the setting *yes*\ , then this compute also averages the parameter over the neighbors of atom i according to: -.. image:: Eqs/pair_entropy3.jpg - :align: center +.. math:: + + \left< s_S^i \right> = \frac{\sum_j s_S^j + s_S^i}{N + 1} where the sum j goes over the neighbors of atom i and N is the number of neighbors. This procedure provides a sharper distinction between @@ -85,10 +84,9 @@ If the *avg yes* option is used, the effective cutoff of the neighbor list should be *cutoff*\ +\ *cutoff2* and therefore it might be necessary to increase the skin of the neighbor list with: - .. parsed-literal:: - neighbor skin bin + neighbor bin See :doc:`neighbor ` for details. @@ -101,14 +99,12 @@ inhomogeneous systems such as those that have surfaces. Here are typical input parameters for fcc aluminum (lattice constant 4.05 Angstroms), - .. parsed-literal:: compute 1 all entropy/atom 0.25 5.7 avg yes 3.7 and for bcc sodium (lattice constant 4.23 Angstroms), - .. parsed-literal:: compute 1 all entropy/atom 0.25 7.3 avg yes 5.1 @@ -127,7 +123,6 @@ ordered environments. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -142,23 +137,12 @@ Default The default values for the optional keywords are avg = no and local = no. - ---------- - .. _Piaggi: - - **(Piaggi)** Piaggi and Parrinello, J Chem Phys, 147, 114112 (2017). .. _Nettleton: - - **(Nettleton)** Nettleton and Green, J Chem Phys, 29, 6 (1958). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_erotate_asphere.rst b/doc/src/compute_erotate_asphere.rst index c50d21df9908f9d32a3f770da52eeb39182f2ce9..ab0c1fe59bf043e7b974ed82b347a931eaf781a9 100644 --- a/doc/src/compute_erotate_asphere.rst +++ b/doc/src/compute_erotate_asphere.rst @@ -6,7 +6,6 @@ compute erotate/asphere command Syntax """""" - .. parsed-literal:: compute ID group-ID erotate/asphere @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all erotate/asphere @@ -28,7 +26,7 @@ Description Define a computation that calculates the rotational kinetic energy of a group of aspherical particles. The aspherical particles can be ellipsoids, or line segments, or triangles. See the -:doc:`atom\_style ` and :doc:`read\_data ` commands +:doc:`atom_style ` and :doc:`read_data ` commands for descriptions of these options. For all 3 types of particles, the rotational kinetic energy is @@ -55,17 +53,16 @@ scalar value will be in energy :doc:`units `. Restrictions """""""""""" - This compute requires that ellipsoidal particles atoms store a shape and quaternion orientation and angular momentum as defined by the -:doc:`atom\_style ellipsoid ` command. +:doc:`atom_style ellipsoid ` command. This compute requires that line segment particles atoms store a length -and orientation and angular velocity as defined by the :doc:`atom\_style line ` command. +and orientation and angular velocity as defined by the :doc:`atom_style line ` command. This compute requires that triangular particles atoms store a size and shape and quaternion orientation and angular momentum as defined by -the :doc:`atom\_style tri ` command. +the :doc:`atom_style tri ` command. All particles in the group must be finite-size. They cannot be point particles. @@ -75,8 +72,3 @@ particles. :doc:`compute erotate/sphere ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_erotate_rigid.rst b/doc/src/compute_erotate_rigid.rst index 2f74dd425ca5ddb4c47355010bc5815f4594b12a..f07751eff5b8ec2f48edce3c3b850c2a6225496f 100644 --- a/doc/src/compute_erotate_rigid.rst +++ b/doc/src/compute_erotate_rigid.rst @@ -6,7 +6,6 @@ compute erotate/rigid command Syntax """""" - .. parsed-literal:: compute ID group-ID erotate/rigid fix-ID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all erotate/rigid myRigid @@ -53,7 +51,6 @@ scalar value will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -63,8 +60,3 @@ Related commands :doc:`compute ke/rigid ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_erotate_sphere.rst b/doc/src/compute_erotate_sphere.rst index fa1396681c23abca67bce11810d3a3f422300994..17656ef0bede09272f1cef4b34997912fb5f4e7e 100644 --- a/doc/src/compute_erotate_sphere.rst +++ b/doc/src/compute_erotate_sphere.rst @@ -6,7 +6,6 @@ compute erotate/sphere command Syntax """""" - .. parsed-literal:: compute ID group-ID erotate/sphere @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all erotate/sphere @@ -50,9 +48,8 @@ scalar value will be in energy :doc:`units `. Restrictions """""""""""" - This compute requires that atoms store a radius and angular velocity -(omega) as defined by the :doc:`atom\_style sphere ` command. +(omega) as defined by the :doc:`atom_style sphere ` command. All particles in the group must be finite-size spheres or point particles. They cannot be aspherical. Point particles will not @@ -64,8 +61,3 @@ Related commands :doc:`compute erotate/asphere ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_erotate_sphere_atom.rst b/doc/src/compute_erotate_sphere_atom.rst index 31a90bc282871cf5145046bcc33ef0e49527db2f..f7450be9c2025fdf6524f17e89f5d6b6a5d09923 100644 --- a/doc/src/compute_erotate_sphere_atom.rst +++ b/doc/src/compute_erotate_sphere_atom.rst @@ -6,7 +6,6 @@ compute erotate/sphere/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID erotate/sphere/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all erotate/sphere/atom @@ -60,8 +58,3 @@ Related commands :doc:`dump custom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_event_displace.rst b/doc/src/compute_event_displace.rst index 55555c46bdea7281bce976529096d28f52831303..679e4554652c2fd0f1d173e8344cbf07409ef523 100644 --- a/doc/src/compute_event_displace.rst +++ b/doc/src/compute_event_displace.rst @@ -6,7 +6,6 @@ compute event/displace command Syntax """""" - .. parsed-literal:: compute ID group-ID event/displace threshold @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all event/displace 0.5 @@ -58,7 +56,6 @@ scalar value will be a 0 or 1 as explained above. Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. @@ -69,8 +66,3 @@ Related commands :doc:`prd `, :doc:`tad ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_fep.rst b/doc/src/compute_fep.rst index c54d0ee8fa37d5dc95c76260fd8a179e12c9265d..4700817609feb20fbcd689609424d0e5edead4ba 100644 --- a/doc/src/compute_fep.rst +++ b/doc/src/compute_fep.rst @@ -6,7 +6,6 @@ compute fep command Syntax """""" - .. parsed-literal:: compute ID group-ID fep temp attribute args ... keyword value ... @@ -16,9 +15,9 @@ Syntax * temp = external temperature (as specified for constant-temperature run) * one or more attributes with args may be appended * attribute = *pair* or *atom* - + .. parsed-literal:: - + *pair* args = pstyle pparam I J v_delta pstyle = pair style name, e.g. lj/cut pparam = parameter to perturb @@ -31,9 +30,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *tail* or *volume* - + .. parsed-literal:: - + *tail* value = *no* or *yes* *no* = ignore tail correction to pair energies (usually small in fep) *yes* = include tail correction to pair energies @@ -41,15 +40,12 @@ Syntax *no* = ignore volume changes (e.g. in *NVE* or *NVT* trajectories) *yes* = include volume changes (e.g. in *NpT* trajectories) - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - compute 1 all fep 298 pair lj/cut epsilon 1 \* v_delta pair lj/cut sigma 1 \* v_delta volume yes + compute 1 all fep 298 pair lj/cut epsilon 1 * v_delta pair lj/cut sigma 1 * v_delta volume yes compute 1 all fep 300 atom charge 2 v_delta Description @@ -70,14 +66,17 @@ initial interactions of the atoms that will undergo perturbation, and a term :math:`U_1` corresponding to the final interactions of these atoms: -.. image:: Eqs/compute_fep_u.jpg - :align: center +.. math:: + + U(\lambda) = U_{\mathrm{bg}} + U_1(\lambda) + U_0(\lambda) A coupling parameter :math:`\lambda` varying from 0 to 1 connects the reference and perturbed systems: -.. image:: Eqs/compute_fep_lambda.jpg - :align: center +.. math:: + + \lambda &= 0 \quad\Rightarrow\quad U = U_{\mathrm{bg}} + U_0 \\ + \lambda &= 1 \quad\Rightarrow\quad U = U_{\mathrm{bg}} + U_1 It is possible but not necessary that the coupling parameter (or a function thereof) appears as a multiplication factor of the potential @@ -89,16 +88,22 @@ This command can be combined with :doc:`fix adapt ` to perform multistage free-energy perturbation calculations along stepwise alchemical transformations during a simulation run: -.. image:: Eqs/compute_fep_fep.jpg - :align: center +.. math:: + + \Delta_0^1 A = \sum_{i=0}^{n-1} \Delta_{\lambda_i}^{\lambda_{i+1}} A = - kT + \sum_{i=0}^{n-1} \ln \left< \exp \left( - \frac{U(\lambda_{i+1}) - + U(\lambda_i)}{kT} \right) \right>_{\lambda_i} This compute is suitable for the finite-difference thermodynamic integration (FDTI) method :ref:`(Mezei) `, which is based on an evaluation of the numerical derivative of the free energy by a perturbation method using a very small :math:`\delta`: -.. image:: Eqs/compute_fep_fdti.jpg - :align: center +.. math:: + + \Delta_0^1 A = \int_{\lambda=0}^{\lambda=1} \left( \frac{\partial + A(\lambda)}{\partial\lambda} \right)_\lambda \mathrm{d}\lambda \approx + \sum_{i=0}^{n-1} w_i \frac{A(\lambda_{i} + \delta) - A(\lambda_i)}{\delta} where :math:`w_i` are weights of a numerical quadrature. The :doc:`fix adapt ` command can be used to define the stages of :math:`\lambda` at which the derivative is calculated and averaged. @@ -109,16 +114,23 @@ choosing a very small perturbation :math:`\delta` the thermodynamic integration method can be implemented using a numerical evaluation of the derivative of the potential energy with respect to :math:`\lambda`: -.. image:: Eqs/compute_fep_ti.jpg - :align: center +.. math:: + + \Delta_0^1 A = \int_{\lambda=0}^{\lambda=1} \left< \frac{\partial + U(\lambda)}{\partial\lambda} \right>_\lambda \mathrm{d}\lambda \approx + \sum_{i=0}^{n-1} w_i \left< \frac{U(\lambda_{i} + \delta) - + U(\lambda_i)}{\delta} \right>_{\lambda_i} Another technique to calculate free energy differences is the acceptance ratio method :ref:`(Bennet) `, which can be implemented by calculating the potential energy differences with :math:`\delta` = 1.0 on both the forward and reverse routes: -.. image:: Eqs/compute_fep_bar.jpg - :align: center +.. math:: + + \left< \frac{1}{1 + \exp\left[\left(U_1 - U_0 - \Delta_0^1A \right) /kT + \right]} \right>_0 = \left< \frac{1}{1 + \exp\left[\left(U_0 - U_1 + + \Delta_0^1A \right) /kT \right]} \right>_1 The value of the free energy difference is determined by numerical root finding to establish the equality. @@ -135,12 +147,10 @@ the reference and perturbed states, or along the alchemical transformation route. This compute command does not change bond lengths or other internal coordinates :ref:`(Boresch, Karplus) `. - ---------- - The *pair* attribute enables various parameters of potentials defined -by the :doc:`pair\_style ` and :doc:`pair\_coeff ` +by the :doc:`pair_style ` and :doc:`pair_coeff ` commands to be changed, if the pair style supports it. The *pstyle* argument is the name of the pair style. For example, @@ -212,7 +222,7 @@ Note that it is easy to add new potentials and their parameters to this list. All it typically takes is adding an extract() method to the pair\_\*.cpp file associated with the potential. -Similar to the :doc:`pair\_coeff ` command, I and J can be +Similar to the :doc:`pair_coeff ` command, I and J can be specified in one of two ways. Explicit numeric values can be used for each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I interaction to the same @@ -226,38 +236,34 @@ means all types from 1 to N. A leading asterisk means all types from (inclusive). Note that only type pairs with I <= J are considered; if asterisks imply type pairs where J < I, they are ignored. -If :doc:`pair\_style hybrid or hybrid/overlay ` is being +If :doc:`pair_style hybrid or hybrid/overlay ` is being used, then the *pstyle* will be a sub-style name. You must specify I,J arguments that correspond to type pair values defined (via the -:doc:`pair\_coeff ` command) for that sub-style. +:doc:`pair_coeff ` command) for that sub-style. -The *v\_name* argument for keyword *pair* is the name of an +The *v_name* argument for keyword *pair* is the name of an :doc:`equal-style variable ` which will be evaluated each time -this compute is invoked. It should be specified as v\_name, where name +this compute is invoked. It should be specified as v_name, where name is the variable name. - ---------- - The *atom* attribute enables atom properties to be changed. The *aparam* argument is the name of the parameter to change. This is the current list of atom parameters that can be used with this compute: * charge = charge on particle -The *v\_name* argument for keyword *pair* is the name of an +The *v_name* argument for keyword *pair* is the name of an :doc:`equal-style variable ` which will be evaluated each time -this compute is invoked. It should be specified as v\_name, where name +this compute is invoked. It should be specified as v_name, where name is the variable name. - ---------- - The *tail* keyword controls the calculation of the tail correction to "van der Waals" pair energies beyond the cutoff, if this has been -activated via the :doc:`pair\_modify ` command. If the +activated via the :doc:`pair_modify ` command. If the perturbation is small, the tail contribution to the energy difference between the reference and perturbed systems should be negligible. @@ -265,20 +271,21 @@ If the keyword *volume* = *yes*\ , then the Boltzmann term is multiplied by the volume so that correct ensemble averaging can be performed over trajectories during which the volume fluctuates or changes :ref:`(Allen and Tildesley) `: -.. image:: Eqs/compute_fep_vol.jpg - :align: center +.. math:: + \Delta_0^1 A = - kT \sum_{i=0}^{n-1} \ln \frac{\left< V \exp \left( - + \frac{U(\lambda_{i+1}) - U(\lambda_i)}{kT} \right) + \right>_{\lambda_i}}{\left< V \right>_{\lambda_i}} ---------- - **Output info:** This compute calculates a global vector of length 3 which contains the -energy difference ( :math:`U_1-U_0` ) as c\_ID[1], the +energy difference ( :math:`U_1-U_0` ) as c_ID[1], the Boltzmann factor :math:`\exp(-(U_1-U_0)/kT)`, or -:math:`V \exp(-(U_1-U_0)/kT)`, as c\_ID[2] and the -volume of the simulation box :math:`V` as c\_ID[3]. :math:`U_1` is the +:math:`V \exp(-(U_1-U_0)/kT)`, as c_ID[2] and the +volume of the simulation box :math:`V` as c_ID[3]. :math:`U_1` is the pair potential energy obtained with the perturbed parameters and :math:`U_0` is the pair potential energy obtained with the unperturbed parameters. The energies include kspace terms if these @@ -293,7 +300,6 @@ The values calculated by this compute are "extensive". Restrictions """""""""""" - This compute is distributed as the USER-FEP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -301,49 +307,32 @@ Related commands """""""""""""""" :doc:`fix adapt/fep `, :doc:`fix ave/time `, -:doc:`pair\_fep\_soft ` +:doc:`pair_style .../soft ` Default """"""" The option defaults are *tail* = *no*\ , *volume* = *no*\ . - ---------- - .. _Pearlman: - - **(Pearlman)** Pearlman, J Chem Phys, 98, 1487 (1994) .. _Mezei: - - **(Mezei)** Mezei, J Chem Phys, 86, 7084 (1987) .. _Bennet: - - **(Bennet)** Bennet, J Comput Phys, 22, 245 (1976) .. _BoreschKarplus: - - **(BoreschKarplus)** Boresch and Karplus, J Phys Chem A, 103, 103 (1999) .. _AllenTildesley: - - **(AllenTildesley)** Allen and Tildesley, Computer Simulation of Liquids, Oxford University Press (1987) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_global_atom.rst b/doc/src/compute_global_atom.rst index 5ff6f1775f613345bb564e1e79ce49b041b01d70..e9adb0317b07e326e6a44b77705272a510c92f7d 100644 --- a/doc/src/compute_global_atom.rst +++ b/doc/src/compute_global_atom.rst @@ -6,17 +6,16 @@ compute global/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID style index input1 input2 ... * ID, group-ID are documented in :doc:`compute ` command * global/atom = style name of this compute command -* index = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* index = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID f_ID = per-atom vector calculated by a fix with ID @@ -24,26 +23,23 @@ Syntax v_name = per-atom vector calculated by an atom-style variable with name * one or more inputs can be listed -* input = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* input = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = global vector calculated by a compute with ID c_ID[I] = Ith column of global array calculated by a compute with ID, I can include wildcard (see below) f_ID = global vector calculated by a fix with ID f_ID[I] = Ith column of global array calculated by a fix with ID, I can include wildcard (see below) v_name = global vector calculated by a vector-style variable with name - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - compute 1 all global/atom c_chunk c_com[1\] c_com[2\] c_com[3\] - compute 1 all global/atom c_chunk c_com[\*\] + compute 1 all global/atom c_chunk c_com[1] c_com[2] c_com[3] + compute 1 all global/atom c_chunk c_com[*] Description """"""""""" @@ -84,17 +80,16 @@ of each atom from the center-of-mass of the molecule it is in, and dump those values to a dump file. In this case, each molecule is a chunk. - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all com/chunk cc1 compute prop all property/atom xu yu zu - compute glob all global/atom c_cc1 c_myChunk[\*] + compute glob all global/atom c_cc1 c_myChunk[*] variable dx atom c_prop[1]-c_glob[1] variable dy atom c_prop[2]-c_glob[2] variable dz atom c_prop[3]-c_glob[3] - variable dist atom sqrt(v_dx\*v_dx+v_dy\*v_dy+v_dz\*v_dz) + variable dist atom sqrt(v_dx*v_dx+v_dy*v_dy+v_dz*v_dz) dump 1 all custom 100 tmp.dump id xu yu zu c_glob[1] c_glob[2] c_glob[3] & v_dx v_dy v_dz v_dist dump_modify 1 sort id @@ -102,10 +97,8 @@ chunk. You can add these commands to the bench/in.chain script to see how they work. - ---------- - Note that for input values from a compute or fix, the bracketed index I can be specified using a wildcard asterisk with the index to effectively specify multiple values. This takes the form "\*" or "\*n" @@ -121,18 +114,15 @@ had been listed one by one. E.g. these 2 compute global/atom commands are equivalent, since the :doc:`compute com/chunk ` command creates a global array with 3 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute com all com/chunk cc1 compute 1 all global/atom c_cc1 c_com[1] c_com[2] c_com[3] - compute 1 all global/atom c_cc1 c_com[\*] - + compute 1 all global/atom c_cc1 c_com[*] ---------- - This section explains the *index* parameter. Note that it must reference per-atom values, as contrasted with the *input* values which must reference global values. @@ -175,10 +165,8 @@ invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to use as *index*\ . - ---------- - This section explains the kinds of *input* values that can be used. Note that inputs reference global values, as contrasted with the *index* parameter which must reference per-atom values. @@ -215,10 +203,8 @@ evaluated, so this is a very general means of generating a vector of global quantities which the *index* parameter will reference for assignment of global values to atoms. - ---------- - **Output info:** If a single input is specified this compute produces a per-atom @@ -243,8 +229,3 @@ Related commands :doc:`compute chunk/atom `, :doc:`compute reduce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_group_group.rst b/doc/src/compute_group_group.rst index 7345bd1031b1c112fddaa50188701e3508cb549a..ba29090d5e51358825755e01ea1de4344b06aed3 100644 --- a/doc/src/compute_group_group.rst +++ b/doc/src/compute_group_group.rst @@ -6,7 +6,6 @@ compute group/group command Syntax """""" - .. parsed-literal:: compute ID group-ID group/group group2-ID keyword value ... @@ -16,21 +15,18 @@ Syntax * group2-ID = group ID of second (or same) group * zero or more keyword/value pairs may be appended * keyword = *pair* or *kspace* or *boundary* or *molecule* - + .. parsed-literal:: - + *pair* value = *yes* or *no* *kspace* value = *yes* or *no* *boundary* value = *yes* or *no* *molecule* value = *off* or *inter* or *intra* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 lower group/group upper compute 1 lower group/group upper kspace yes @@ -55,7 +51,7 @@ interactions with atoms in the specified group2. The energies computed by the *pair* keyword do not include tail corrections, even if they are enabled via the - :doc:`pair\_modify ` command. + :doc:`pair_modify ` command. If the *molecule* keyword is set to *inter* or *intra* than an additional check is made based on the molecule IDs of the two atoms in @@ -65,7 +61,7 @@ molecules. For the *intra* setting, the two atoms must be in the same molecule. If the *kspace* keyword is set to *yes*\ , which is not the default, and -if a :doc:`kspace\_style ` is defined, then the interaction +if a :doc:`kspace_style ` is defined, then the interaction energy will include a Kspace component which is the long-range Coulombic energy between all the atoms in the first group and all the atoms in the 2nd group. Likewise, the interaction force calculated by @@ -93,10 +89,8 @@ that included in the regular Ewald and PPPM routines. This compute does not calculate any bond or angle or dihedral or improper interactions between atoms in the two groups. - ---------- - The pairwise contributions to the group-group interactions are calculated by looping over a neighbor list. The Kspace contribution to the group-group interactions require essentially the same amount of @@ -107,19 +101,19 @@ frequently. .. note:: If you have a bonded system, then the settings of - :doc:`special\_bonds ` command can remove pairwise + :doc:`special_bonds ` command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This - is the default setting for the :doc:`special\_bonds ` + is the default setting for the :doc:`special_bonds ` command, and means those pairwise interactions do not appear in the neighbor list. Because this compute uses a neighbor list, it also means those pairs will not be included in the group/group interaction. This does not apply when using long-range coulomb interactions (\ *coul/long*\ , *coul/msm*\ , *coul/wolf* or similar. One way to get - around this would be to set special\_bond scaling factors to very tiny + around this would be to set special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and use the :doc:`rerun ` command to compute the group/group interactions for snapshots in the dump file. - The rerun script can use a :doc:`special\_bonds ` command + The rerun script can use a :doc:`special_bonds ` command that includes all pairs in the neighbor list. If you desire a breakdown of the interactions into a pairwise and @@ -132,10 +126,8 @@ The individual contributions can be summed in a This `document `_ describes how the long-range group-group calculations are performed. - ---------- - **Output info:** This compute calculates a global scalar (the energy) and a global @@ -151,7 +143,6 @@ The vector values will be in force :doc:`units `. Restrictions """""""""""" - Not all pair styles can be evaluated in a pairwise mode as required by this compute. For example, 3-body and other many-body potentials, such as :doc:`Tersoff ` and @@ -171,17 +162,8 @@ Default The option defaults are pair = yes, kspace = no, boundary = yes, molecule = off. - ---------- - .. _Bogusz: - - Bogusz et al, J Chem Phys, 108, 7070 (1998) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_gyration.rst b/doc/src/compute_gyration.rst index 15636a92755c2421c0a999186a1340de5911a1e6..42ca1e53e5dadd158492eb18bcebb03dde41a845 100644 --- a/doc/src/compute_gyration.rst +++ b/doc/src/compute_gyration.rst @@ -6,7 +6,6 @@ compute gyration command Syntax """""" - .. parsed-literal:: compute ID group-ID gyration @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 molecule gyration @@ -32,34 +30,36 @@ periodic boundaries. Rg is a measure of the size of the group of atoms, and is computed as the square root of the Rg\^2 value in this formula -.. image:: Eqs/compute_gyration.jpg - :align: center +.. math:: -where M is the total mass of the group, Rcm is the center-of-mass -position of the group, and the sum is over all atoms in the group. + {R_g}^2 = \frac{1}{M} \sum_i m_i (r_i - r_{cm})^2 -A Rg\^2 tensor, stored as a 6-element vector, is also calculated by -this compute. The formula for the components of the tensor is the -same as the above formula, except that (Ri - Rcm)\^2 is replaced by -(Rix - Rcmx) \* (Riy - Rcmy) for the xy component, etc. The 6 -components of the vector are ordered xx, yy, zz, xy, xz, yz. Note -that unlike the scalar Rg, each of the 6 values of the tensor is -effectively a "squared" value, since the cross-terms may be negative +where :math:`M` is the total mass of the group, :math:`r_{cm}` is the +center-of-mass position of the group, and the sum is over all atoms in +the group. + +A :math:`{R_g}^2` tensor, stored as a 6-element vector, is also calculated +by this compute. The formula for the components of the tensor is the +same as the above formula, except that :math:`(r_i - r_{cm})^2` is replaced +by :math:`(r_{i,x} - r_{cm,x}) \cdot (r_{i,y} - r_{cm,y})` for the xy component, +and so on. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz. +Note that unlike the scalar :math:`R_g`, each of the 6 values of the tensor +is effectively a "squared" value, since the cross-terms may be negative and taking a sqrt() would be invalid. .. note:: - The coordinates of an atom contribute to Rg in "unwrapped" form, + The coordinates of an atom contribute to :math:`R_g` in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. - See the Atoms section of the :doc:`read\_data ` command for a + See the Atoms section of the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. **Output info:** -This compute calculates a global scalar (Rg) and a global vector of -length 6 (Rg\^2 tensor), which can be accessed by indices 1-6. These +This compute calculates a global scalar (:math:`R_g`) and a global vector of +length 6 (:math:`{R_g}^2` tensor), which can be accessed by indices 1-6. These values can be used by any command that uses a global scalar value or vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. @@ -79,8 +79,3 @@ Related commands :doc:`compute gyration/shape ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_gyration_chunk.rst b/doc/src/compute_gyration_chunk.rst index 4726a14d0e0a95965f53302e18f8647309a5911b..2ba632ded1ea0abb351b257ff8890fbf23c0fb2d 100644 --- a/doc/src/compute_gyration_chunk.rst +++ b/doc/src/compute_gyration_chunk.rst @@ -6,7 +6,6 @@ compute gyration/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID gyration/chunk chunkID keyword value ... @@ -16,18 +15,15 @@ Syntax * chunkID = ID of :doc:`compute chunk/atom ` command * zero or more keyword/value pairs may be appended * keyword = *tensor* - - .. parsed-literal:: - - *tensor* value = none + .. parsed-literal:: + *tensor* value = none Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 molecule gyration/chunk molchunk compute 2 molecule gyration/chunk molchunk tensor @@ -52,11 +48,12 @@ boundaries. Rg is a measure of the size of a chunk, and is computed by this formula -.. image:: Eqs/compute_gyration.jpg - :align: center +.. math:: + + {R_g}^2 = \frac{1}{M} \sum_i m_i (r_i - r_{cm})^2 -where M is the total mass of the chunk, Rcm is the center-of-mass -position of the chunk, and the sum is over all atoms in the +where :math:`M` is the total mass of the chunk, :math:`r_{cm}` is +the center-of-mass position of the chunk, and the sum is over all atoms in the chunk. Note that only atoms in the specified group contribute to the @@ -70,15 +67,17 @@ non-zero chunk IDs. If the *tensor* keyword is specified, then the scalar Rg value is not calculated, but an Rg tensor is instead calculated for each chunk. The formula for the components of the tensor is the same as the above -formula, except that (Ri - Rcm)\^2 is replaced by (Rix - Rcmx) \* (Riy - -Rcmy) for the xy component, etc. The 6 components of the tensor are +formula, except that :math:`(r_i - r_{cm})^2` is replaced by +:math:`(r_{i,x} - r_{cm,x}) \cdot (r_{i,y} - r_{cm,y})` for the xy +component, and so on. The 6 components of the tensor are ordered xx, yy, zz, xy, xz, yz. .. note:: - The coordinates of an atom contribute to Rg in "unwrapped" form, - by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. - See the Atoms section of the :doc:`read\_data ` command for a + The coordinates of an atom contribute to :math:`R_g` in "unwrapped" form, + by using the image flags associated with each atom. See the :doc:`dump custom ` + command for a discussion of "unwrapped" coordinates. + See the Atoms section of the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -87,8 +86,7 @@ The simplest way to output the results of the compute gyration/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all gyration/chunk cc1 @@ -119,8 +117,3 @@ Restrictions :doc:`compute gyration ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_gyration_shape.rst b/doc/src/compute_gyration_shape.rst index 5461825923891a8aef9acdf3736fd8a2e77634aa..81fc628a21629253ab0b89b696fb05d1bc261581 100644 --- a/doc/src/compute_gyration_shape.rst +++ b/doc/src/compute_gyration_shape.rst @@ -6,7 +6,6 @@ compute gyration/shape command Syntax """""" - .. parsed-literal:: compute ID group-ID gyration/shape compute-ID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 molecule gyration/shape pe @@ -33,11 +31,14 @@ due to atoms passing through periodic boundaries. The three computed shape parameters are the asphericity, b, the acylindricity, c, and the relative shape anisotropy, k: -.. image:: Eqs/compute_shape_parameters.jpg - :align: center +.. math:: + + c = & l_z - 0.5(l_y+l_x) \\ + b = & l_y - l_x \\ + k = & \frac{3}{2} \frac{l_x^2+l_y^2+l_z^2}{(l_x+l_y+l_z)^2} - \frac{1}{2} -where lx <= ly <= lz are the three eigenvalues of the gyration tensor. A general description -of these parameters is provided in :ref:`(Mattice) ` while an application to polymer systems +where :math:`l_x` <= :math:`l_y` <= :math:`l_z` are the three eigenvalues of the gyration tensor. A general description +of these parameters is provided in :ref:`(Mattice) ` while an application to polymer systems can be found in :ref:`(Theodorou) `. The asphericity is always non-negative and zero only when the three principal moments are equal. This zero condition is met when the distribution of particles @@ -57,7 +58,7 @@ is bounded between zero (if all points are spherically symmetric) and one The coordinates of an atom contribute to the gyration tensor in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" - coordinates. See the Atoms section of the :doc:`read\_data ` + coordinates. See the Atoms section of the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -78,7 +79,6 @@ distance\^2 :doc:`units ` while the sixth one is dimensionless. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -89,23 +89,12 @@ Related commands **Default:** none - ---------- - .. _Mattice1: - - **(Mattice)** Mattice, Suter, Conformational Theory of Large Molecules, Wiley, New York, 1994. .. _Theodorou1: - - **(Theodorou)** Theodorou, Suter, Macromolecules, 18, 1206 (1985). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_gyration_shape_chunk.rst b/doc/src/compute_gyration_shape_chunk.rst index fa839aea3586fe8c1a8cfd16dcf0de6d008f5c27..50dd4822ce584a78ad672abcc853188b1d90213d 100644 --- a/doc/src/compute_gyration_shape_chunk.rst +++ b/doc/src/compute_gyration_shape_chunk.rst @@ -6,7 +6,6 @@ compute gyration/shape/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID gyration/shape/chunk compute-ID @@ -18,28 +17,30 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 molecule gyration/shape/chunk pe Description """"""""""" -Define a computation that calculates the eigenvalues of the gyration tensor and -three shape parameters of multiple chunks of atoms. The computation includes +Define a computation that calculates the eigenvalues of the gyration tensor and +three shape parameters of multiple chunks of atoms. The computation includes all effects due to atoms passing through periodic boundaries. The three computed shape parameters are the asphericity, b, the acylindricity, c, and the relative shape anisotropy, k: -.. image:: Eqs/compute_shape_parameters.jpg - :align: center +.. math:: + + c = & l_z - 0.5(l_y+l_x) \\ + b = & l_y - l_x \\ + k = & \frac{3}{2} \frac{l_x^2+l_y^2+l_z^2}{(l_x+l_y+l_z)^2} - \frac{1}{2} -where lx <= ly <= lz are the three eigenvalues of the gyration tensor. A general description -of these parameters is provided in :ref:`(Mattice) ` while an application to polymer systems -can be found in :ref:`(Theodorou) `. The asphericity is always non-negative and zero -only when the three principal moments are equal. This zero condition is met when the distribution +where :math:`l_x` <= :math:`l_y` <= :math`l_z` are the three eigenvalues of the gyration tensor. A general description +of these parameters is provided in :ref:`(Mattice) ` while an application to polymer systems +can be found in :ref:`(Theodorou) `. The asphericity is always non-negative and zero +only when the three principal moments are equal. This zero condition is met when the distribution of particles is spherically symmetric (hence the name asphericity) but also whenever the particle distribution is symmetric with respect to the three coordinate axes, e.g., when the particles are distributed uniformly on a cube, tetrahedron or other Platonic @@ -58,14 +59,14 @@ The tensor keyword must be specified in the compute gyration/chunk command. The coordinates of an atom contribute to the gyration tensor in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" - coordinates. See the Atoms section of the :doc:`read\_data ` + coordinates. See the Atoms section of the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. **Output info:** -This compute calculates a global array with six columns, +This compute calculates a global array with six columns, which can be accessed by indices 1-6. The first three columns are the eigenvalues of the gyration tensor followed by the asphericity, the acylindricity and the relative shape anisotropy. The computed values can be used by any command @@ -79,7 +80,6 @@ distance\^2 :doc:`units ` while the sixth one is dimensionless. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -91,23 +91,12 @@ Related commands **Default:** none - ---------- - .. _Mattice2: - - **(Mattice)** Mattice, Suter, Conformational Theory of Large Molecules, Wiley, New York, 1994. .. _Theodorou2: - - **(Theodorou)** Theodorou, Suter, Macromolecules, 18, 1206 (1985). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_heat_flux.rst b/doc/src/compute_heat_flux.rst index 3b7058d3d315a5275b2cea7e1061b6b41b026ad0..1b28c08ae59bb6b61776fe35dd2a07004186c3bc 100644 --- a/doc/src/compute_heat_flux.rst +++ b/doc/src/compute_heat_flux.rst @@ -6,7 +6,6 @@ compute heat/flux command Syntax """""" - .. parsed-literal:: compute ID group-ID heat/flux ke-ID pe-ID stress-ID @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute myFlux all heat/flux myKE myPE myStress @@ -88,7 +86,6 @@ included in the calculation. or :doc:`compute centroid/stress/atom virial ` so as not to include a kinetic energy term in the heat flux. - .. warning:: The compute *heat/flux* has been reported to produce unphysical @@ -106,12 +103,10 @@ to the thermal conductivity :math:`\kappa`: .. math:: \kappa = \frac{V}{k_B T^2} \int_0^\infty \langle J_x(0) J_x(t) \rangle \, \mathrm{d} t = \frac{V}{3 k_B T^2} \int_0^\infty \langle \mathbf{J}(0) \cdot \mathbf{J}(t) \rangle \, \mathrm{d}t - ---------- - The heat flux can be output every so many timesteps (e.g. via the -:doc:`thermo\_style custom ` command). Then as a +:doc:`thermo_style custom ` command). Then as a post-processing operation, an auto-correlation can be performed, its integral estimated, and the Green-Kubo formula above evaluated. @@ -122,10 +117,8 @@ the auto-correlation. The trap() function in the An example LAMMPS input script for solid Ar is appended below. The result should be: average conductivity ~0.29 in W/mK. - ---------- - **Output info:** This compute calculates a global vector of length 6. @@ -166,12 +159,9 @@ Related commands **Default:** none - ---------- - - -.. parsed-literal:: +.. code-block:: LAMMPS # Sample LAMMPS input script for thermal conductivity of solid Ar @@ -181,7 +171,7 @@ Related commands variable dt equal 4.0 variable p equal 200 # correlation length variable s equal 10 # sample interval - variable d equal $p\*$s # dump interval + variable d equal $p*$s # dump interval # convert from LAMMPS real units to SI @@ -189,7 +179,7 @@ Related commands variable kCal2J equal 4186.0/6.02214e23 variable A2m equal 1.0e-10 variable fs2s equal 1.0e-15 - variable convert equal ${kCal2J}\*${kCal2J}/${fs2s}/${A2m} + variable convert equal ${kCal2J}*${kCal2J}/${fs2s}/${A2m} # setup problem @@ -201,7 +191,7 @@ Related commands create_atoms 1 box mass 1 39.948 pair_style lj/cut 13.0 - pair_coeff \* \* 0.2381 3.405 + pair_coeff * * 0.2381 3.405 timestep ${dt} thermo $d @@ -226,33 +216,22 @@ Related commands variable Jz equal c_flux[3]/vol fix JJ all ave/correlate $s $p $d & c_flux[1] c_flux[2] c_flux[3] type auto file J0Jt.dat ave running - variable scale equal ${convert}/${kB}/$T/$T/$V\*$s\*${dt} - variable k11 equal trap(f_JJ[3])\*${scale} - variable k22 equal trap(f_JJ[4])\*${scale} - variable k33 equal trap(f_JJ[5])\*${scale} + variable scale equal ${convert}/${kB}/$T/$T/$V*$s*${dt} + variable k11 equal trap(f_JJ[3])*${scale} + variable k22 equal trap(f_JJ[4])*${scale} + variable k33 equal trap(f_JJ[5])*${scale} thermo_style custom step temp v_Jx v_Jy v_Jz v_k11 v_k22 v_k33 run 100000 variable k equal (v_k11+v_k22+v_k33)/3.0 variable ndens equal count(all)/vol print "average conductivity: $k[W/mK] @ $T K, ${ndens} /A\^3" - ---------- - .. _Surblys2: - - **(Surblys)** Surblys, Matsubara, Kikugawa, Ohara, Phys Rev E, 99, 051301(R) (2019). .. _Boone: - - **(Boone)** Boone, Babaei, Wilmer, J Chem Theory Comput, 15, 5579--5587 (2019). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_hexorder_atom.rst b/doc/src/compute_hexorder_atom.rst index 0807f2ff7fe8a569ee98f2c0df85852dd8f73248..31f7dbe6626f920d8ab0f0bc70b1470c05dc53f5 100644 --- a/doc/src/compute_hexorder_atom.rst +++ b/doc/src/compute_hexorder_atom.rst @@ -6,7 +6,6 @@ compute hexorder/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID hexorder/atom keyword values ... @@ -14,21 +13,18 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * hexorder/atom = style name of this compute command * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *degree* or *nnn* or *cutoff* *cutoff* value = distance cutoff *nnn* value = number of nearest neighbors *degree* value = degree *n* of order parameter - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all hexorder/atom compute 1 all hexorder/atom degree 4 nnn 4 cutoff 1.2 @@ -36,19 +32,21 @@ Examples Description """"""""""" -Define a computation that calculates *qn* the bond-orientational +Define a computation that calculates :math:`q_n` the bond-orientational order parameter for each atom in a group. The hexatic (\ *n* = 6) order parameter was introduced by :ref:`Nelson and Halperin ` as a way to detect -hexagonal symmetry in two-dimensional systems. For each atom, *qn* +hexagonal symmetry in two-dimensional systems. For each atom, :math:`q_n` is a complex number (stored as two real numbers) defined as follows: -.. image:: Eqs/hexorder.jpg - :align: center +.. math:: + + q_n = \frac{1}{nnn}\sum_{j = 1}^{nnn} e^{n i \theta({\bf r}_{ij})} where the sum is over the *nnn* nearest neighbors -of the central atom. The angle theta -is formed by the bond vector rij and the *x* axis. theta is calculated -only using the *x* and *y* components, whereas the distance from the +of the central atom. The angle :math:`\theta` +is formed by the bond vector :math:`r_{ij}` and the *x* axis. +:math:`\theta` is calculated only using the *x* and *y* components, +whereas the distance from the central atom is calculated using all three *x*\ , *y*\ , and *z* components of the bond vector. Neighbor atoms not in the group @@ -60,22 +58,22 @@ the maximum allowable value, is the cutoff specified by the pair style. The optional keyword *nnn* defines the number of nearest -neighbors used to calculate *qn*\ . The default value is 6. +neighbors used to calculate :math:`q_n`. The default value is 6. If the value is NULL, then all neighbors up to the distance cutoff are used. The optional keyword *degree* sets the degree *n* of the order parameter. The default value is 6. For a perfect hexagonal lattice with *nnn* = 6, -*q*\ 6 = exp(6 i phi) for all atoms, where the constant 0 < phi < pi/3 +:math:`q_6 = e^{6 i \phi}` for all atoms, where the constant :math:`0 < \phi < \frac{\pi}{3}` depends only on the orientation of the lattice relative to the *x* axis. In an isotropic liquid, local neighborhoods may still exhibit weak hexagonal symmetry, but because the orientational correlation -decays quickly with distance, the value of phi will be different for -different atoms, and so when *q*\ 6 is averaged over all the atoms -in the system, \|<\ *q*\ 6>\| << 1. +decays quickly with distance, the value of :math:`\phi` will be different for +different atoms, and so when :math:`q_6` is averaged over all the atoms +in the system, :math:`| \left< q_6 \right> | << 1`. -The value of *qn* is set to zero for atoms not in the +The value of :math:`q_n` is set to zero for atoms not in the specified compute group, as well as for atoms that have less than *nnn* neighbors within the distance cutoff. @@ -87,23 +85,23 @@ too frequently. .. note:: If you have a bonded system, then the settings of - :doc:`special\_bonds ` command can remove pairwise + :doc:`special_bonds ` command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This - is the default setting for the :doc:`special\_bonds ` + is the default setting for the :doc:`special_bonds ` command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the order parameter. This difficulty can be circumvented by writing a dump file, and using the :doc:`rerun ` command to compute the order parameter for snapshots in the dump file. The rerun script can use a - :doc:`special\_bonds ` command that includes all pairs in + :doc:`special_bonds ` command that includes all pairs in the neighbor list. **Output info:** This compute calculates a per-atom array with 2 columns, giving the -real and imaginary parts *qn*\ , a complex number restricted to the -unit disk of the complex plane i.e. Re(\ *qn*\ )\^2 + Im(\ *qn*\ )\^2 <= 1 . +real and imaginary parts :math:`q_n`, a complex number restricted to the +unit disk of the complex plane i.e. :math:`Re(q_n)^2 + Im(q_n)^2 <= 1`. These values can be accessed by any command that uses per-atom values from a compute as input. See the :doc:`Howto output ` doc @@ -123,17 +121,8 @@ Default The option defaults are *cutoff* = pair style cutoff, *nnn* = 6, *degree* = 6 - ---------- - .. _Nelson: - - **(Nelson)** Nelson, Halperin, Phys Rev B, 19, 2457 (1979). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_hma.rst b/doc/src/compute_hma.rst index d8e7a6b31a2746170ae002fd3e470f5beecff6e0..e00fdde8410ef794fd90f6138ec94d0ac833de57 100644 --- a/doc/src/compute_hma.rst +++ b/doc/src/compute_hma.rst @@ -6,7 +6,6 @@ compute hma command Syntax """""" - .. parsed-literal:: compute ID group-ID hma temp-ID keyword ... @@ -23,13 +22,10 @@ Syntax *p* = compute will return pressure. the following keyword must be the difference between the harmonic pressure and lattice pressure as described below *cv* = compute will return the heat capacity - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 2 all hma 1 u compute 2 all hma 1 anharmonic u p 0.9 @@ -54,30 +50,31 @@ effects, smaller timestep inaccuracy, faster equilibration and shorter decorrelation time. HMA should not be used if atoms are expected to diffuse. It is also -restricted to simulations in the NVT ensemble. While this compute may be -used with any potential in LAMMPS, it will provide inaccurate results +restricted to simulations in the NVT ensemble. While this compute may +be used with any potential in LAMMPS, it will provide inaccurate results for potentials that do not go to 0 at the truncation distance; -:doc:`pair\_lj\_smooth\_linear ` and Ewald summation should -work fine, while :doc:`pair\_lj ` will perform poorly unless -the potential is shifted (via :doc:`pair\_modify ` shift) or the cutoff is large. Furthermore, computation of the heat capacity with -this compute is restricted to those that implement the single\_hessian method -in Pair. Implementing single\_hessian in additional pair styles is simple. -Please contact Andrew Schultz (ajs42 at buffalo.edu) and David Kofke (kofke at -buffalo.edu) if your desired pair style does not have this method. This is -the list of pair styles that currently implement pair\_hessian: - -* :doc:`lj\_smooth\_linear ` - +:doc:`pair_style lj/smooth/linear ` and Ewald +summation should work fine, while :doc:`pair_style lj/cut ` +will perform poorly unless the potential is shifted (via +:doc:`pair_modify ` shift) or the cutoff is large. +Furthermore, computation of the heat capacity with this compute is +restricted to those that implement the *single_hessian* method in Pair. +Implementing *single_hessian* in additional pair styles is simple. +Please contact Andrew Schultz (ajs42 at buffalo.edu) and David Kofke +(kofke at buffalo.edu) if your desired pair style does not have this +method. This is the list of pair styles that currently implement +*single_hessian*: + +* :doc:`pair_style lj/smooth/linear ` In this method, the analytically known harmonic behavior of a crystal is removed from the traditional ensemble averages, which leads to an accurate and precise measurement of the anharmonic contributions without contamination by noise produced by the already-known harmonic behavior. A detailed description of this method can be found in (:ref:`Moustafa `). The potential energy is computed by the formula: - .. math:: - \begin{equation}\left< U\right>_{HMA} = \frac{d}{2} (N-1) k_B T + \left< U + \frac{1}{2} F\bullet\Delta r \right>\end{equation} + \left< U\right>_{HMA} = \frac{d}{2} (N-1) k_B T + \left< U + \frac{1}{2} F\bullet\Delta r \right> where :math:`N` is the number of atoms in the system, :math:`k_B` is Boltzmann's constant, :math:`T` is the temperature, :math:`d` is the @@ -87,10 +84,9 @@ pair, bond, angle, dihedral, improper, kspace (long-range), and fix energies. The pressure is computed by the formula: - .. math:: - \begin{equation}\left< P\right>_{HMA} = \Delta \hat P + \left< P_{vir} + \frac{\beta \Delta \hat P - \rho}{d(N-1)} F\bullet\Delta r \right>\end{equation} + \left< P\right>_{HMA} = \Delta \hat P + \left< P_{vir} + \frac{\beta \Delta \hat P - \rho}{d(N-1)} F\bullet\Delta r \right> where :math:`\rho` is the number density of the system, :math:`\Delta \hat P` is the difference between the harmonic and lattice pressure, :math:`P_{vir}` is @@ -102,12 +98,11 @@ pressure is sensitive to :math:`\Delta \hat P`; the precision tends to be best when :math:`\Delta \hat P` is the actual the difference between the lattice pressure and harmonic pressure. - .. math:: - \begin{equation}\left_{HMA} = \frac{d}{2} (N-1) k_B + \frac{1}{k_B T^2} \left( \left< + \left_{HMA} = \frac{d}{2} (N-1) k_B + \frac{1}{k_B T^2} \left( \left< U_{HMA}^2 \right> - \left^2 \right) + \frac{1}{4 T} - \left< F\bullet\Delta r + \Delta r \bullet \Phi \bullet \Delta r \right>\end{equation} + \left< F\bullet\Delta r + \Delta r \bullet \Phi \bullet \Delta r \right> where :math:`\Phi` is the Hessian matrix. The compute hma command computes the full expression for :math:`C_V` except for the @@ -118,8 +113,7 @@ round-off error when computing :math:`C_V`. To address this, the *anharmonic* keyword can be passed and/or the output format can be specified with more digits. - -.. parsed-literal:: +.. code-block:: LAMMPS thermo_modify format float '%22.15e' @@ -127,7 +121,7 @@ The *anharmonic* keyword will instruct the compute to return anharmonic properties rather than the full properties, which include lattice, harmonic and anharmonic contributions. When using this keyword, the compute must be first active (it must be included -via a :doc:`thermo\_style custom ` command) while the atoms are +via a :doc:`thermo_style custom ` command) while the atoms are still at their lattice sites (before equilibration). The temp-ID specified with compute hma command should be same as the fix-ID of Nose-Hoover (:doc:`fix nvt `) or @@ -142,8 +136,7 @@ should be avoided as its extra forces interfere with the HMA implementation. The following example illustrates the placement of this command in the input script: - -.. parsed-literal:: +.. code-block:: LAMMPS min_style cg minimize 1e-35 1e-15 50000 500000 @@ -156,7 +149,7 @@ The following example illustrates the placement of this command in the input scr .. note:: - The :doc:`fix\_modify energy yes ` command must also be specified if a fix is to contribute potential energy to this command. + The :doc:`fix_modify energy yes ` command must also be specified if a fix is to contribute potential energy to this command. An example input script that uses this compute is included in examples/USER/hma/ along with corresponding LAMMPS output showing that the HMA @@ -175,7 +168,6 @@ scalar value will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is enabled only if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -187,23 +179,14 @@ Related commands :doc:`compute pe `, :doc:`compute pressure ` :doc:`dynamical matrix ` provides a finite difference -formulation of the hessian provided by Pair's single\_hessian, which is used by +formulation of the hessian provided by Pair's single_hessian, which is used by this compute. **Default:** none - ---------- - .. _hma-Moustafa: - - **(Moustafa)** Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, *Very fast averaging of thermal properties of crystals by molecular simulation*\ , `Phys. Rev. E [92], 043303 (2015) `_ - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_improper.rst b/doc/src/compute_improper.rst index 27cd5f5902c36afc75c4befb440d9f4bac94d0dc..0a264a74e7672094f58e128f0f8c1f44a5bb4455 100644 --- a/doc/src/compute_improper.rst +++ b/doc/src/compute_improper.rst @@ -6,7 +6,6 @@ compute improper command Syntax """""" - .. parsed-literal:: compute ID group-ID improper @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all improper @@ -26,17 +24,17 @@ Description """"""""""" Define a computation that extracts the improper energy calculated by -each of the improper sub-styles used in the :doc:`improper\_style hybrid ` command. These values are made +each of the improper sub-styles used in the :doc:`improper_style hybrid ` command. These values are made accessible for output or further processing by other commands. The group specified for this command is ignored. -This compute is useful when using :doc:`improper\_style hybrid ` if you want to know the portion of the +This compute is useful when using :doc:`improper_style hybrid ` if you want to know the portion of the total energy contributed by one or more of the hybrid sub-styles. **Output info:** This compute calculates a global vector of length N where N is the -number of sub\_styles defined by the :doc:`improper\_style hybrid ` command. which can be accessed by indices +number of sub_styles defined by the :doc:`improper_style hybrid ` command. which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. @@ -54,8 +52,3 @@ Related commands :doc:`compute pe `, :doc:`compute pair ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_improper_local.rst b/doc/src/compute_improper_local.rst index 6daad705b514cb42e523642f2c4e9d08767abb8a..7a14daf161132f42b7289f591ff0d09305dcd85b 100644 --- a/doc/src/compute_improper_local.rst +++ b/doc/src/compute_improper_local.rst @@ -6,7 +6,6 @@ compute improper/local command Syntax """""" - .. parsed-literal:: compute ID group-ID improper/local value1 value2 ... @@ -15,18 +14,15 @@ Syntax * improper/local = style name of this compute command * one or more values may be appended * value = *chi* - - .. parsed-literal:: - - *chi* = tabulate improper angles + .. parsed-literal:: + *chi* = tabulate improper angles Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all improper/local chi @@ -40,7 +36,7 @@ the group parameter as explained below. The value *chi* is the improper angle, as defined in the doc pages for the individual improper styles listed on -:doc:`improper\_style ` doc page. +:doc:`improper_style ` doc page. The local data stored by this command is generated by looping over all the atoms owned on a processor and their impropers. An improper will @@ -58,8 +54,7 @@ command in a consistent way. Here is an example of how to do this: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local itype iatom1 iatom2 iatom3 iatom4 compute 2 all improper/local chi @@ -88,8 +83,3 @@ Related commands :doc:`dump local `, :doc:`compute property/local ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_inertia_chunk.rst b/doc/src/compute_inertia_chunk.rst index 029245d883f1f7438651da9603b5349984e0a5c2..f6679298078b4dfd71e0f87971822a21e9a98e55 100644 --- a/doc/src/compute_inertia_chunk.rst +++ b/doc/src/compute_inertia_chunk.rst @@ -6,7 +6,6 @@ compute inertia/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID inertia/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid inertia/chunk molchunk @@ -55,7 +53,7 @@ non-zero chunk IDs. tensor in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of the - :doc:`read\_data ` command for a discussion of image flags and + :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -63,12 +61,11 @@ The simplest way to output the results of the compute inertia/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all inertia/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** @@ -92,8 +89,3 @@ Related commands :doc:`variable inertia() function ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_ke.rst b/doc/src/compute_ke.rst index 8d7fd3e5f4dbbfdc9aba8ca7c8d69c7a6d231be2..d98d39247c4a20be6670e25ab0cd1361a42b18e2 100644 --- a/doc/src/compute_ke.rst +++ b/doc/src/compute_ke.rst @@ -6,7 +6,6 @@ compute ke command Syntax """""" - .. parsed-literal:: compute ID group-ID ke @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ke @@ -28,21 +26,22 @@ Description Define a computation that calculates the translational kinetic energy of a group of particles. -The kinetic energy of each particle is computed as 1/2 m v\^2, where m -and v are the mass and velocity of the particle. +The kinetic energy of each particle is computed as :math:`\frac{1}{2} m +v^2`, where *m* and *v* are the mass and velocity of the particle. There is a subtle difference between the quantity calculated by this compute and the kinetic energy calculated by the *ke* or *etotal* keyword used in thermodynamic output, as specified by the -:doc:`thermo\_style ` command. For this compute, kinetic +:doc:`thermo_style ` command. For this compute, kinetic energy is "translational" kinetic energy, calculated by the simple formula above. For thermodynamic output, the *ke* keyword infers -kinetic energy from the temperature of the system with 1/2 Kb T of -energy for each degree of freedom. For the default temperature -computation via the :doc:`compute temp ` command, these -are the same. But different computes that calculate temperature can -subtract out different non-thermal components of velocity and/or -include different degrees of freedom (translational, rotational, etc). +kinetic energy from the temperature of the system with +:math:`\frac{1}{2} k_B T` of energy for each degree of freedom. For the +default temperature computation via the :doc:`compute temp +` command, these are the same. But different computes +that calculate temperature can subtract out different non-thermal +components of velocity and/or include different degrees of freedom +(translational, rotational, etc). **Output info:** @@ -64,8 +63,3 @@ Related commands :doc:`compute erotate/sphere ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_ke_atom.rst b/doc/src/compute_ke_atom.rst index a3779038662656d8f8e9e544f44d19bb32428afe..42294dbca117c26b65721102afa1d9b11a8fa133 100644 --- a/doc/src/compute_ke_atom.rst +++ b/doc/src/compute_ke_atom.rst @@ -6,7 +6,6 @@ compute ke/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID ke/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ke/atom @@ -53,8 +51,3 @@ Related commands :doc:`dump custom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_ke_atom_eff.rst b/doc/src/compute_ke_atom_eff.rst index db08516b6149185b405b5391cebcad63a69f6113..7aa89d0dfc60699cdebf90fb778ec3e141532a1e 100644 --- a/doc/src/compute_ke_atom_eff.rst +++ b/doc/src/compute_ke_atom_eff.rst @@ -6,7 +6,6 @@ compute ke/atom/eff command Syntax """""" - .. parsed-literal:: compute ID group-ID ke/atom/eff @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ke/atom/eff @@ -30,30 +28,30 @@ Define a computation that calculates the per-atom translational group. The particles are assumed to be nuclei and electrons modeled with the :doc:`electronic force field `. -The kinetic energy for each nucleus is computed as 1/2 m v\^2, where m -corresponds to the corresponding nuclear mass, and the kinetic energy -for each electron is computed as 1/2 (me v\^2 + 3/4 me s\^2), where me -and v correspond to the mass and translational velocity of each -electron, and s to its radial velocity, respectively. +The kinetic energy for each nucleus is computed as :math:`\frac{1}{2} m +v^2`, where *m* corresponds to the corresponding nuclear mass, and the +kinetic energy for each electron is computed as :math:`\frac{1}{2} (m_e +v^2 + \frac{3}{4} m_e s^2)`, where :math:`m_e` and *v* correspond to the mass +and translational velocity of each electron, and *s* to its radial +velocity, respectively. There is a subtle difference between the quantity calculated by this compute and the kinetic energy calculated by the *ke* or *etotal* keyword used in thermodynamic output, as specified by the -:doc:`thermo\_style ` command. For this compute, kinetic +:doc:`thermo_style ` command. For this compute, kinetic energy is "translational" plus electronic "radial" kinetic energy, calculated by the simple formula above. For thermodynamic output, the *ke* keyword infers kinetic energy from the temperature of the system -with 1/2 Kb T of energy for each (nuclear-only) degree of freedom in -eFF. +with :math:`\frac{1}{2} k_B T` of energy for each (nuclear-only) degree +of freedom in eFF. .. note:: The temperature in eFF should be monitored via the :doc:`compute temp/eff ` command, which can be printed with - thermodynamic output by using the :doc:`thermo\_modify ` + thermodynamic output by using the :doc:`thermo_modify ` command, as shown in the following example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute effTemp all temp/eff thermo_style custom step etotal pe ke temp press @@ -74,7 +72,6 @@ The per-atom vector values will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -84,8 +81,3 @@ Related commands :doc:`dump custom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_ke_eff.rst b/doc/src/compute_ke_eff.rst index c635b9fecca093346bc173b52c5f66251f2fe0f1..f1cffebc5677d51b52465776e4afd8cca46e7b19 100644 --- a/doc/src/compute_ke_eff.rst +++ b/doc/src/compute_ke_eff.rst @@ -6,7 +6,6 @@ compute ke/eff command Syntax """""" - .. parsed-literal:: compute ID group-ID ke/eff @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ke/eff @@ -29,33 +27,36 @@ Define a computation that calculates the kinetic energy of motion of a group of eFF particles (nuclei and electrons), as modeled with the :doc:`electronic force field `. -The kinetic energy for each nucleus is computed as 1/2 m v\^2 and the -kinetic energy for each electron is computed as 1/2(me v\^2 + 3/4 me -s\^2), where m corresponds to the nuclear mass, me to the electron -mass, v to the translational velocity of each particle, and s to the -radial velocity of the electron, respectively. +The kinetic energy for each nucleus is computed as :math:`\frac{1}{2} m +v^2` and the kinetic energy for each electron is computed as +:math:`\frac{1}{2}(m_e v^2 + \frac{3}{4} m_e s^2)`, where *m* +corresponds to the nuclear mass, :math:`m_e` to the electron mass, *v* +to the translational velocity of each particle, and *s* to the radial +velocity of the electron, respectively. There is a subtle difference between the quantity calculated by this compute and the kinetic energy calculated by the *ke* or *etotal* keyword used in thermodynamic output, as specified by the -:doc:`thermo\_style ` command. For this compute, kinetic +:doc:`thermo_style ` command. For this compute, kinetic energy is "translational" and "radial" (only for electrons) kinetic energy, calculated by the simple formula above. For thermodynamic output, the *ke* keyword infers kinetic energy from the temperature of -the system with 1/2 Kb T of energy for each degree of freedom. For -the eFF temperature computation via the :doc:`compute temp\_eff ` command, these are the same. But -different computes that calculate temperature can subtract out -different non-thermal components of velocity and/or include other -degrees of freedom. +the system with :math:`\frac{1}{2} k_B T` of energy for each degree of +freedom. For the eFF temperature computation via the :doc:`compute +temp_eff ` command, these are the same. But +different computes that calculate temperature can subtract out different +non-thermal components of velocity and/or include other degrees of +freedom. -IMPRORTANT NOTE: The temperature in eFF models should be monitored via -the :doc:`compute temp/eff ` command, which can be -printed with thermodynamic output by using the -:doc:`thermo\_modify ` command, as shown in the following -example: +.. warning:: + The temperature in eFF models should be monitored via + the :doc:`compute temp/eff ` command, which can be + printed with thermodynamic output by using the + :doc:`thermo_modify ` command, as shown in the following + example: -.. parsed-literal:: +.. code-block:: LAMMPS compute effTemp all temp/eff thermo_style custom step etotal pe ke temp press @@ -76,15 +77,9 @@ scalar value will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_ke_rigid.rst b/doc/src/compute_ke_rigid.rst index 9d1b4fa9b6a825365ae87a5aaedf37781721f12d..fd4706de194e76ceb7e124ee3b81ab7f092ca234 100644 --- a/doc/src/compute_ke_rigid.rst +++ b/doc/src/compute_ke_rigid.rst @@ -6,7 +6,6 @@ compute ke/rigid command Syntax """""" - .. parsed-literal:: compute ID group-ID ke/rigid fix-ID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ke/rigid myRigid @@ -52,7 +50,6 @@ scalar value will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -62,8 +59,3 @@ Related commands :doc:`compute erotate/rigid ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_meso_e_atom.rst b/doc/src/compute_meso_e_atom.rst index 2417ab12652d40195b646b75975f6c0cefdd7320..ad8e46cafb1b52a306c9a4dad214fed235d41081 100644 --- a/doc/src/compute_meso_e_atom.rst +++ b/doc/src/compute_meso_e_atom.rst @@ -6,7 +6,6 @@ compute meso/e/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID meso/e/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all meso/e/atom @@ -50,7 +48,6 @@ The per-atom vector values will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -60,8 +57,3 @@ Related commands :doc:`dump custom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_meso_rho_atom.rst b/doc/src/compute_meso_rho_atom.rst index 57fcd4e2febad80df86013691e4f2e0d80ad568a..d4611c5cb72a3b317280a083e30efa15282a8e77 100644 --- a/doc/src/compute_meso_rho_atom.rst +++ b/doc/src/compute_meso_rho_atom.rst @@ -6,7 +6,6 @@ compute meso/rho/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID meso/rho/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all meso/rho/atom @@ -50,7 +48,6 @@ The per-atom vector values will be in mass/volume :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -60,8 +57,3 @@ Related commands :doc:`dump custom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_meso_t_atom.rst b/doc/src/compute_meso_t_atom.rst index b148516039a34fd65b8c2cc8339abb0069ad376b..e44425a65c4b3250b0b858b5e36aee200883a0e0 100644 --- a/doc/src/compute_meso_t_atom.rst +++ b/doc/src/compute_meso_t_atom.rst @@ -6,7 +6,6 @@ compute meso/t/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID meso/t/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all meso/t/atom @@ -32,7 +30,9 @@ The internal temperature is the ratio of internal energy over the heat capacity associated with the internal degrees of freedom of a mesoscopic particles, e.g. a Smooth-Particle Hydrodynamics particle. -T\_\ *int* = E\_\ *int* / C\_\ *V, int* +.. math:: + + T_{int} = E_{int} / C_{V,int} See `this PDF guide `_ to using SPH in LAMMPS. @@ -52,7 +52,6 @@ The per-atom vector values will be in temperature :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -62,8 +61,3 @@ Related commands :doc:`dump custom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_modify.rst b/doc/src/compute_modify.rst index 331887829e37fb0436124db0bda51345e189e265..3b8f61374482b640183dbe0da1248ed8681e4eea 100644 --- a/doc/src/compute_modify.rst +++ b/doc/src/compute_modify.rst @@ -1,22 +1,21 @@ -.. index:: compute\_modify +.. index:: compute_modify -compute\_modify command -======================= +compute_modify command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute_modify compute-ID keyword value ... * compute-ID = ID of the compute to modify * one or more keyword/value pairs may be listed * keyword = *extra/dof* or *extra* or *dynamic/dof* or *dynamic* - + .. parsed-literal:: - + *extra/dof* value = N N = # of extra degrees of freedom to subtract *extra* syntax is identical to *extra/dof*\ , will be disabled at some point @@ -24,13 +23,10 @@ Syntax yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature *dynamic* syntax is identical to *dynamic/dof*\ , will be disabled at some point - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute_modify myTemp extra/dof 0 compute_modify newtemp dynamic/dof yes extra/dof 600 @@ -80,8 +76,3 @@ Default The option defaults are extra/dof = 2 or 3 for 2d or 3d systems and dynamic/dof = no. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_momentum.rst b/doc/src/compute_momentum.rst index d09c8a31eb86b2a31b26ede4e99fc3572605554d..af968efb59ef2ddd2ca7347e450c6bd61c121220 100644 --- a/doc/src/compute_momentum.rst +++ b/doc/src/compute_momentum.rst @@ -6,7 +6,6 @@ compute momentum command Syntax """""" - .. parsed-literal:: compute ID group-ID momentum @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all momentum @@ -44,7 +42,6 @@ value will be in mass\*velocity :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -52,8 +49,3 @@ Related commands """""""""""""""" **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_msd.rst b/doc/src/compute_msd.rst index 4d47d58cd06a540e1fcb7a31a00ac073987fce99..94ab6a1579135e4a6fe5ed1acd8fd702b00aa28e 100644 --- a/doc/src/compute_msd.rst +++ b/doc/src/compute_msd.rst @@ -6,7 +6,6 @@ compute msd command Syntax """""" - .. parsed-literal:: compute ID group-ID msd keyword values ... @@ -15,19 +14,16 @@ Syntax * msd = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *com* or *average* - + .. parsed-literal:: - + *com* value = *yes* or *no* *average* value = *yes* or *no* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all msd compute 1 upper msd com yes average yes @@ -80,7 +76,7 @@ solids undergoing thermal motion. Initial coordinates are stored in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. - See the Atoms section of the :doc:`read\_data ` command for a + See the Atoms section of the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -116,14 +112,9 @@ Restrictions Related commands """""""""""""""" -:doc:`compute msd/nongauss `, :doc:`compute displace\_atom `, :doc:`fix store/state `, :doc:`compute msd/chunk ` +:doc:`compute msd/nongauss `, :doc:`compute displace_atom `, :doc:`fix store/state `, :doc:`compute msd/chunk ` Default """"""" The option default are com = no, average = no. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_msd_chunk.rst b/doc/src/compute_msd_chunk.rst index 18d1ae4440ff9718b8d518bdd32ae63a15acfd57..9a9a9260303d87d9586567a4f3d7bc049d93a629 100644 --- a/doc/src/compute_msd_chunk.rst +++ b/doc/src/compute_msd_chunk.rst @@ -6,7 +6,6 @@ compute msd/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID msd/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all msd/chunk molchunk @@ -84,7 +82,7 @@ compute command was first invoked. "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of the - :doc:`read\_data ` command for a discussion of image flags and + :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -101,12 +99,11 @@ The simplest way to output the results of the compute msd/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all msd/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** @@ -130,8 +127,3 @@ Related commands :doc:`compute msd ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_msd_nongauss.rst b/doc/src/compute_msd_nongauss.rst index 56407e1ddeaa0b7b66c6fb3549eabadf16877b99..2dfc00fb68596dc69f68b28153fba3926550e3b8 100644 --- a/doc/src/compute_msd_nongauss.rst +++ b/doc/src/compute_msd_nongauss.rst @@ -6,7 +6,6 @@ compute msd/nongauss command Syntax """""" - .. parsed-literal:: compute ID group-ID msd/nongauss keyword values ... @@ -15,18 +14,15 @@ Syntax * msd/nongauss = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *com* - - .. parsed-literal:: - - *com* value = *yes* or *no* + .. parsed-literal:: + *com* value = *yes* or *no* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all msd/nongauss compute 1 upper msd/nongauss com yes @@ -46,8 +42,9 @@ dz\*dz)\*(dx\*dx + dy\*dy + dz\*dz), summed and averaged over atoms in the group. The 3rd component is the nonGaussian diffusion parameter NGP = 3\*drfourth/(5\*drsquared\*drsquared), i.e. -.. image:: Eqs/compute_msd_nongauss.jpg - :align: center +.. math:: + + NGP(t) = 3<(r(t)-r(0))^4>/(5<(r(t)-r(0))^2>^2) - 1 The NGP is a commonly used quantity in studies of dynamical heterogeneity. Its minimum theoretical value (-0.4) occurs when all @@ -76,7 +73,6 @@ the 3rd is dimensionless. Restrictions """""""""""" - This compute is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -89,8 +85,3 @@ Default """"""" The option default is com = no. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_omega_chunk.rst b/doc/src/compute_omega_chunk.rst index bd0b8f91ded420d36e0fa7b66607a9dfd7140ce7..73895b585c1ffdc8522fae1807c7d06328d4396e 100644 --- a/doc/src/compute_omega_chunk.rst +++ b/doc/src/compute_omega_chunk.rst @@ -6,7 +6,6 @@ compute omega/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID omega/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid omega/chunk molchunk @@ -56,7 +54,7 @@ non-zero chunk IDs. velocity in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of the - :doc:`read\_data ` command for a discussion of image flags and + :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -64,12 +62,11 @@ The simplest way to output the results of the compute omega/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all omega/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** @@ -93,8 +90,3 @@ Related commands :doc:`variable omega() function ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_orientorder_atom.rst b/doc/src/compute_orientorder_atom.rst index b7a1442a62465f0f4b78f9d2a10040081bfd74d7..34b12cb7454690ad9ae7c3a04c0e80f031e3c6c7 100644 --- a/doc/src/compute_orientorder_atom.rst +++ b/doc/src/compute_orientorder_atom.rst @@ -3,10 +3,12 @@ compute orientorder/atom command ================================ +compute orientorder/atom/kk command +=================================== + Syntax """""" - .. parsed-literal:: compute ID group-ID orientorder/atom keyword values ... @@ -14,9 +16,9 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * orientorder/atom = style name of this compute command * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *cutoff* or *nnn* or *degrees* or *components* *cutoff* value = distance cutoff *nnn* value = number of nearest neighbors @@ -25,13 +27,10 @@ Syntax *wl/hat* value = yes or no *components* value = ldegree - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all orientorder/atom compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5 @@ -42,23 +41,25 @@ Description """"""""""" Define a computation that calculates a set of bond-orientational -order parameters *Ql* for each atom in a group. These order parameters +order parameters :math:`Q_l` for each atom in a group. These order parameters were introduced by :ref:`Steinhardt et al. ` as a way to characterize the local orientational order in atomic structures. -For each atom, *Ql* is a real number defined as follows: +For each atom, :math:`Q_l` is a real number defined as follows: -.. image:: Eqs/orientorder.jpg - :align: center +.. math:: + + \bar{Y}_{lm} = & \frac{1}{nnn}\sum_{j = 1}^{nnn} Y_{lm}( \theta( {\bf r}_{ij} ), \phi( {\bf r}_{ij} ) ) \\ + Q_l = & \sqrt{\frac{4 \pi}{2 l + 1} \sum_{m = -l}^{m = l} \bar{Y}_{lm} \bar{Y}^*_{lm}} The first equation defines the spherical harmonic order parameters. These are complex number components of the 3D analog of the 2D order -parameter *qn*\ , which is implemented as LAMMPS compute +parameter :math:`q_n`, which is implemented as LAMMPS compute :doc:`hexorder/atom `. The summation is over the *nnn* nearest neighbors of the central atom. The angles theta and phi are the standard spherical polar angles -defining the direction of the bond vector *rij*\ . -The second equation defines *Ql*\ , which is a +defining the direction of the bond vector :math:`r_{ij}`. +The second equation defines :math:`Q_l`, which is a rotationally invariant non-negative amplitude obtained by summing over all the components of degree *l*\ . @@ -68,42 +69,45 @@ the maximum allowable value, is the cutoff specified by the pair style. The optional keyword *nnn* defines the number of nearest -neighbors used to calculate *Ql*\ . The default value is 12. +neighbors used to calculate :math:`Q_l`. The default value is 12. If the value is NULL, then all neighbors up to the specified distance cutoff are used. The optional keyword *degrees* defines the list of order parameters to be computed. The first argument *nlvalues* is the number of order parameters. This is followed by that number of non-negative integers giving the -degree of each order parameter. Because *Q*\ 2 and all odd-degree order +degree of each order parameter. Because :math:`Q_2` and all odd-degree order parameters are zero for atoms in cubic crystals (see -:ref:`Steinhardt `), the default order parameters are *Q*\ 4, -*Q*\ 6, *Q*\ 8, *Q*\ 10, and *Q*\ 12. For the FCC crystal with *nnn* =12, *Q*\ 4 -= sqrt(7/3)/8 = 0.19094.... The numerical values of all order -parameters up to *Q*\ 12 for a range of commonly encountered -high-symmetry structures are given in Table I of :ref:`Mickel et al. `, and these can be reproduced with this compute - -The optional keyword *wl* will output the third-order invariants *Wl* +:ref:`Steinhardt `), the default order parameters are :math:`Q_4`, +:math:`Q_6`, :math:`Q_8`, :math:`Q_{10}`, and :math:`Q_{12}`. For the FCC +crystal with *nnn* =12, :math:`Q_4 = \sqrt{\frac{7}{192}} = 0.19094...`. +The numerical values of all order +parameters up to :math:`Q_12` for a range of commonly encountered +high-symmetry structures are given in Table I of :ref:`Mickel et al. `, +and these can be reproduced with this compute. + +The optional keyword *wl* will output the third-order invariants :math:`W_l` (see Eq. 1.4 in :ref:`Steinhardt `) for the same degrees as -for the *Ql* parameters. For the FCC crystal with *nnn* =12, -*W*\ 4 = -sqrt(14/143).(49/4096)/Pi\^1.5 = -0.0006722136... +for the :math:`Q_l` parameters. For the FCC crystal with *nnn* =12, +:math:`W_4` = -sqrt(14/143).(49/4096)/Pi\^1.5 = -0.0006722136... The optional keyword *wl/hat* will output the normalized third-order -invariants *Wlhat* (see Eq. 2.2 in :ref:`Steinhardt `) -for the same degrees as for the *Ql* parameters. For the FCC crystal -with *nnn* =12, *W*\ 4hat = -7/3\*sqrt(2/429) = -0.159317...The numerical -values of *Wlhat* for a range of commonly encountered high-symmetry +invariants :math:`\hat{W}_l` (see Eq. 2.2 in :ref:`Steinhardt `) +for the same degrees as for the :math:`Q_l` parameters. For the FCC crystal +with *nnn* =12, :math:`\hat{W}_4 = -\frac{7}{3} \sqrt{\frac{2}{429}} = -0.159317...` +The numerical +values of :math:`\hat{W}_l` for a range of commonly encountered high-symmetry structures are given in Table I of :ref:`Steinhardt `, and these can be reproduced with this keyword. The optional keyword *components* will output the components of the -normalized complex vector *Ybar\_lm* of degree *ldegree*\ , which must be +normalized complex vector :math:`\bar{Y}_{lm}` of degree *ldegree*\ , which must be explicitly included in the keyword *degrees*\ . This option can be used -in conjunction with :doc:`compute coord\_atom ` to +in conjunction with :doc:`compute coord_atom ` to calculate the ten Wolde's criterion to identify crystal-like particles, as discussed in :ref:`ten Wolde `. -The value of *Ql* is set to zero for atoms not in the +The value of :math:`Q_l` is set to zero for atoms not in the specified compute group, as well as for atoms that have less than *nnn* neighbors within the distance cutoff, unless *nnn* is NULL. @@ -115,34 +119,58 @@ too frequently. .. note:: If you have a bonded system, then the settings of - :doc:`special\_bonds ` command can remove pairwise + :doc:`special_bonds ` command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This - is the default setting for the :doc:`special\_bonds ` + is the default setting for the :doc:`special_bonds ` command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the order parameter. This difficulty can be circumvented by writing a dump file, and using the :doc:`rerun ` command to compute the order parameter for snapshots in the dump file. The rerun script can use a - :doc:`special\_bonds ` command that includes all pairs in + :doc:`special_bonds ` command that includes all pairs in the neighbor list. +---------- + + +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 on the :doc:`Speed packages ` doc +page. 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 :doc:`Build package ` doc page for more info. + +You can specify the accelerated styles explicitly in your input script +by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the +:doc:`suffix ` command in your input script. + +See the :doc:`Speed packages ` doc page for more +instructions on how to use the accelerated styles effectively. + + +---------- + **Output info:** This compute calculates a per-atom array with *nlvalues* columns, -giving the *Ql* values for each atom, which are real numbers on the -range 0 <= *Ql* <= 1. +giving the :math:`Q_l` values for each atom, which are real numbers on the +range :math:`0 <= Q_l <= 1`. -If the keyword *wl* is set to yes, then the *Wl* values for each +If the keyword *wl* is set to yes, then the :math:`W_l` values for each atom will be added to the output array, which are real numbers. -If the keyword *wl/hat* is set to yes, then the *Wl\_hat* +If the keyword *wl/hat* is set to yes, then the :math:`\hat{W}_l` values for each atom will be added to the output array, which are real numbers. If the keyword *components* is set, then the real and imaginary parts -of each component of (normalized) *Ybar\_lm* will be added to the -output array in the following order: Re(*Ybar\_-m*) Im(*Ybar\_-m*) -Re(*Ybar\_-m+1*) Im(*Ybar\_-m+1*) ... Re(*Ybar\_m*) Im(*Ybar\_m*). This +of each component of (normalized) :math:`\bar{Y}_{lm}` will be added to the +output array in the following order: :math:`Re(\bar{Y}_{-m}) Im(\bar{Y}_{-m}) +Re(\bar{Y}_{-m+1}) Im(\bar{Y}_{-m+1}) ... Re(\bar{Y}_m) Im(\bar{Y}_m)`. This way, the per-atom array will have a total of *nlvalues*\ +2\*(2\ *l*\ +1) columns. @@ -163,35 +191,22 @@ Default """"""" The option defaults are *cutoff* = pair style cutoff, *nnn* = 12, -*degrees* = 5 4 6 8 10 12 i.e. *Q*\ 4, *Q*\ 6, *Q*\ 8, *Q*\ 10, and *Q*\ 12, +*degrees* = 5 4 6 8 10 12 i.e. :math:`Q_4`, :math:`Q_6`, :math:`Q_8`, :math:`Q_{10}`, and :math:`Q_{12}`, *wl* = no, *wl/hat* = no, and *components* off - ---------- - .. _Steinhardt: - - **(Steinhardt)** P. Steinhardt, D. Nelson, and M. Ronchetti, Phys. Rev. B 28, 784 (1983). .. _Mickel: - - **(Mickel)** W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke, J. Chem. Phys. 138, 044501 (2013). .. _tenWolde2: - - **(tenWolde)** P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, J. Chem. Phys. 104, 9932 (1996). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_pair.rst b/doc/src/compute_pair.rst index 924ddc7cca853a3de6bc6a4c19b267a1895e9745..40c758ebf0cf81ca5f99543e796a4647c29ce65b 100644 --- a/doc/src/compute_pair.rst +++ b/doc/src/compute_pair.rst @@ -6,7 +6,6 @@ compute pair command Syntax """""" - .. parsed-literal:: compute ID group-ID pair pstyle [nstyle] [evalue] @@ -17,12 +16,10 @@ Syntax * nsub = *n*\ -instance of a sub-style, if a pair style is used multiple times in a hybrid style * *evalue* = *epair* or *evdwl* or *ecoul* or blank (optional) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pair gauss compute 1 all pair lj/cut/coul/cut ecoul @@ -41,7 +38,7 @@ by other commands. The group specified for this command is **ignored**\ . The specified *pstyle* must be a pair style used in your simulation -either by itself or as a sub-style in a :doc:`pair\_style hybrid or hybrid/overlay ` command. If the sub-style is +either by itself or as a sub-style in a :doc:`pair_style hybrid or hybrid/overlay ` command. If the sub-style is used more than once, an additional number *nsub* has to be specified in order to choose which instance of the sub-style will be used by the compute. Not specifying the number in this case will cause the @@ -55,7 +52,7 @@ be tallied in *ecoul*\ . Everything else (whether it is a Lennard-Jones style van der Waals interaction or not) is tallied in *evdwl*\ . If *evalue* is blank or specified as *epair*\ , then *epair* is stored as a global scalar by this compute. This is useful when using -:doc:`pair\_style hybrid ` if you want to know the portion +:doc:`pair_style hybrid ` if you want to know the portion of the total energy contributed by one sub-style. If *evalue* is specified as *evdwl* or *ecoul*\ , then just that portion of the energy is stored as a global scalar. @@ -64,10 +61,10 @@ is stored as a global scalar. The energy returned by the *evdwl* keyword does not include tail corrections, even if they are enabled via the - :doc:`pair\_modify ` command. + :doc:`pair_modify ` command. Some pair styles tally additional quantities, e.g. a breakdown of -potential energy into 14 components is tallied by the :doc:`pair\_style reax/c ` command. These values (1 or more) +potential energy into 14 components is tallied by the :doc:`pair_style reax/c ` command. These values (1 or more) are stored as a global vector by this compute. See the doc page for :doc:`individual pair styles ` for info on these values. @@ -100,8 +97,3 @@ Default """"""" The keyword defaults are *evalue* = *epair*\ , nsub = 0. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_pair_local.rst b/doc/src/compute_pair_local.rst index 4e61852f2ce752c0ef05241119efd3cb247d460d..31030cd97e4d3685c3e3126ff784dc18891891f2 100644 --- a/doc/src/compute_pair_local.rst +++ b/doc/src/compute_pair_local.rst @@ -6,7 +6,6 @@ compute pair/local command Syntax """""" - .. parsed-literal:: compute ID group-ID pair/local value1 value2 ... keyword args ... @@ -15,9 +14,9 @@ Syntax * pair/local = style name of this compute command * one or more values may be appended * value = *dist* or *eng* or *force* or *fx* or *fy* or *fz* or *pN* - + .. parsed-literal:: - + *dist* = pairwise distance *eng* = pairwise energy *force* = pairwise force @@ -26,18 +25,15 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *cutoff* - - .. parsed-literal:: - - *cutoff* arg = *type* or *radius* + .. parsed-literal:: + *cutoff* arg = *type* or *radius* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pair/local eng compute 1 all pair/local dist eng force @@ -56,7 +52,7 @@ pairwise neighbor list. Info about an individual pairwise interaction will only be included if both atoms in the pair are in the specified compute group, and if the current pairwise distance is less than the force cutoff distance for that interaction, as defined by the -:doc:`pair\_style ` and :doc:`pair\_coeff ` +:doc:`pair_style ` and :doc:`pair_coeff ` commands. The value *dist* is the distance between the pair of atoms. @@ -100,7 +96,7 @@ will be in whatever units the pair style defines. The optional *cutoff* keyword determines how the force cutoff distance for an interaction is determined. For the default setting of *type*\ , -the pairwise cutoff defined by the :doc:`pair\_style ` +the pairwise cutoff defined by the :doc:`pair_style ` command for the types of the two atoms is used. For the *radius* setting, the sum of the radii of the two particles is used as a cutoff. For example, this is appropriate for granular particles which @@ -119,8 +115,7 @@ command in a consistent way. Here is an example of how to do this: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local patom1 patom2 compute 2 all pair/local dist eng force @@ -135,9 +130,9 @@ Here is an example of how to do this: specifically, this will be true of I,J pairs with a weighting factor of 0.0; pairs with a non-zero weighting factor are included. The weighting factors for 1-2, 1-3, and 1-4 pairwise interactions are set - by the :doc:`special\_bonds ` command. An exception is if + by the :doc:`special_bonds ` command. An exception is if long-range Coulombics are being computed via the - :doc:`kspace\_style ` command, then atom pairs with + :doc:`kspace_style ` command, then atom pairs with weighting factors of zero are still included in the neighbor list, so that a portion of the long-range interaction contribution can be computed in the pair style. Hence in that case, those atom pairs will @@ -172,8 +167,3 @@ Default """"""" The keyword default is cutoff = type. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_pe.rst b/doc/src/compute_pe.rst index 88f6b5f7f6e35a457cf64f87899a4068232a7451..813b577490cd1c64a271f39b6f9c41b7786d11d3 100644 --- a/doc/src/compute_pe.rst +++ b/doc/src/compute_pe.rst @@ -6,7 +6,6 @@ compute pe command Syntax """""" - .. parsed-literal:: compute ID group-ID pe keyword ... @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pe compute molPE all pe bond angle dihedral improper @@ -42,7 +40,7 @@ keywords were listed. If any extra keywords are listed, then only those components are summed to compute the potential energy. The Kspace contribution requires 1 extra FFT each timestep the energy -is calculated, if using the PPPM solver via the :doc:`kspace\_style pppm ` command. Thus it can increase the cost of the +is calculated, if using the PPPM solver via the :doc:`kspace_style pppm ` command. Thus it can increase the cost of the PPPM calculation if it is needed on a large fraction of the simulation timesteps. @@ -53,23 +51,20 @@ potential energy. .. note:: - The :doc:`fix\_modify energy yes ` command must also be + The :doc:`fix_modify energy yes ` command must also be specified if a fix is to contribute potential energy to this command. -A compute of this style with the ID of "thermo\_pe" is created when +A compute of this style with the ID of "thermo_pe" is created when LAMMPS starts up, as if this command were in the input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute thermo_pe all pe -See the "thermo\_style" command for more details. - +See the "thermo_style" command for more details. ---------- - **Output info:** This compute calculates a global scalar (the potential energy). This @@ -90,8 +85,3 @@ Related commands :doc:`compute pe/atom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_pe_atom.rst b/doc/src/compute_pe_atom.rst index bedc508d71a3f0bd01f48560b375bc6b9c073d2d..b616cecd898b6bb3899bce3c0dccd30e2ddd3dde 100644 --- a/doc/src/compute_pe_atom.rst +++ b/doc/src/compute_pe_atom.rst @@ -6,7 +6,6 @@ compute pe/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID pe/atom keyword ... @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pe/atom compute 1 all pe/atom pair @@ -48,13 +46,13 @@ atoms in a dihedral or 3 atoms in a Tersoff 3-body interaction), that energy is assigned in equal portions to each atom in the set. E.g. 1/4 of the dihedral energy to each of the 4 atoms. -The :doc:`dihedral\_style charmm ` style calculates +The :doc:`dihedral_style charmm ` style calculates pairwise interactions between 1-4 atoms. The energy contribution of these terms is included in the pair energy, not the dihedral energy. The KSpace contribution is calculated using the method in :ref:`(Heyes) ` for the Ewald method and a related method for PPPM, -as specified by the :doc:`kspace\_style pppm ` command. +as specified by the :doc:`kspace_style pppm ` command. For PPPM, the calculation requires 1 extra FFT each timestep that per-atom energy is calculated. This `document `_ describes how the long-range per-atom energy calculation is performed. @@ -66,7 +64,7 @@ per-atom potential energy. .. note:: - The :doc:`fix\_modify energy yes ` command must also be + The :doc:`fix_modify energy yes ` command must also be specified if a fix is to contribute per-atom potential energy to this command. @@ -74,8 +72,7 @@ As an example of per-atom potential energy compared to total potential energy, these lines in an input script should yield the same result in the last 2 columns of thermo output: - -.. parsed-literal:: +.. code-block:: LAMMPS compute peratom all pe/atom compute pe all reduce sum c_peratom @@ -84,7 +81,7 @@ in the last 2 columns of thermo output: .. note:: The per-atom energy does not include any Lennard-Jones tail - corrections to the energy added by the :doc:`pair\_modify tail yes ` command, since those are contributions to the + corrections to the energy added by the :doc:`pair_modify tail yes ` command, since those are contributions to the global system energy. **Output info:** @@ -99,7 +96,6 @@ The per-atom vector values will be in energy :doc:`units `. Restrictions """""""""""" - Related commands """""""""""""""" @@ -107,17 +103,8 @@ Related commands **Default:** none - ---------- - .. _Heyes1: - - **(Heyes)** Heyes, Phys Rev B 49, 755 (1994), - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_plasticity_atom.rst b/doc/src/compute_plasticity_atom.rst index 10dc82df16656e0bdb28205513bd53b97e1b4de7..939017f5e94ccce96f64d3b21ccc595e422c7045 100644 --- a/doc/src/compute_plasticity_atom.rst +++ b/doc/src/compute_plasticity_atom.rst @@ -6,7 +6,6 @@ compute plasticity/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID plasticity/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all plasticity/atom @@ -33,7 +31,7 @@ The plasticity for a Peridynamic particle is the so-called consistency parameter (lambda). For elastic deformation lambda = 0, otherwise lambda > 0 for plastic deformation. For details, see :ref:`(Mitchell) ` and the PDF doc included in the LAMMPS -distribution in `doc/PDF/PDLammps\_EPS.pdf `_. +distribution in `doc/PDF/PDLammps_EPS.pdf `_. This command can be invoked for one of the Peridynamic :doc:`pair styles `: peri/eps. @@ -52,7 +50,6 @@ The per-atom vector values are unitless numbers (lambda) >= 0.0. Restrictions """""""""""" - This compute is part of the PERI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -64,19 +61,10 @@ Related commands **Default:** none - ---------- - .. _Mitchell: - - **(Mitchell)** Mitchell, "A non-local, ordinary-state-based viscoelasticity model for peridynamics", Sandia National Lab Report, 8064:1-28 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_pressure.rst b/doc/src/compute_pressure.rst index d708b88ab02e4aa7fca3b174c1b7ada5eebe2e68..7366fa6d3d2b928045a8f1cff24c2a2b1295e0c9 100644 --- a/doc/src/compute_pressure.rst +++ b/doc/src/compute_pressure.rst @@ -6,7 +6,6 @@ compute pressure command Syntax """""" - .. parsed-literal:: compute ID group-ID pressure temp-ID keyword ... @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pressure thermo_temp compute 1 all pressure NULL pair bond @@ -37,23 +35,24 @@ of atoms via the :doc:`compute reduce ` command. The pressure is computed by the formula -.. image:: Eqs/pressure.jpg - :align: center +.. math:: -where N is the number of atoms in the system (see discussion of DOF -below), Kb is the Boltzmann constant, T is the temperature, d is the -dimensionality of the system (2 or 3 for 2d/3d), and V is the system -volume (or area in 2d). The second term is the virial, equal to + P = \frac{N k_B T}{V} + \frac{\sum_{i}^{N'} r_i \bullet f_i}{dV} + +where *N* is the number of atoms in the system (see discussion of DOF +below), :math:`k_B` is the Boltzmann constant, *T* is the temperature, d +is the dimensionality of the system (2 or 3 for 2d/3d), and *V* is the +system volume (or area in 2d). The second term is the virial, equal to -dU/dV, computed for all pairwise as well as 2-body, 3-body, 4-body, -many-body, and long-range interactions, where r\_i and f\_i are the -position and force vector of atom i, and the black dot indicates a dot -product. When periodic boundary conditions are used, N' necessarily -includes periodic image (ghost) atoms outside the central box, and the -position and force vectors of ghost atoms are thus included in the -summation. When periodic boundary conditions are not used, N' = N = -the number of atoms in the system. :doc:`Fixes ` that impose -constraints (e.g. the :doc:`fix shake ` command) also -contribute to the virial term. +many-body, and long-range interactions, where :math:`r_i` and +:math:`f_i` are the position and force vector of atom *i*, and the black +dot indicates a dot product. When periodic boundary conditions are +used, N' necessarily includes periodic image (ghost) atoms outside the +central box, and the position and force vectors of ghost atoms are thus +included in the summation. When periodic boundary conditions are not +used, N' = N = the number of atoms in the system. :doc:`Fixes ` +that impose constraints (e.g. the :doc:`fix shake ` command) +also contribute to the virial term. A symmetric pressure tensor, stored as a 6-element vector, is also calculated by this compute. The 6 components of the vector are @@ -62,8 +61,10 @@ ordered xx, yy, zz, xy, xz, yz. The equation for the I,J components the first term uses components of the kinetic energy tensor and the second term uses components of the virial tensor: -.. image:: Eqs/pressure_tensor.jpg - :align: center +.. math:: + + P_{IJ} = \frac{\sum_{k}^{N} m_k v_{k_I} v_{k_J}}{V} + + \frac{\sum_{k}^{N'} r_{k_I} f_{k_J}}{V} If no extra keywords are listed, the entire equations above are calculated. This includes a kinetic energy (temperature) term and the @@ -99,21 +100,18 @@ Also note that the N in the first formula above is really degrees-of-freedom divided by d = dimensionality, where the DOF value is calculated by the temperature compute. See the various :doc:`compute temperature ` styles for details. -A compute of this style with the ID of "thermo\_press" is created when +A compute of this style with the ID of "thermo_press" is created when LAMMPS starts up, as if this command were in the input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute thermo_press all pressure thermo_temp -where "thermo\_temp" is the ID of a similarly defined compute of style -"temp". See the "thermo\_style" command for more details. - +where "thermo_temp" is the ID of a similarly defined compute of style +"temp". See the "thermo_style" command for more details. ---------- - 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 @@ -132,10 +130,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Output info:** This compute calculates a global scalar (the pressure) and a global @@ -156,21 +152,12 @@ Related commands """""""""""""""" :doc:`compute temp `, :doc:`compute stress/atom `, -:doc:`thermo\_style `, +:doc:`thermo_style `, **Default:** none - ---------- - .. _Thompson1: - - **(Thompson)** Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_pressure_cylinder.rst b/doc/src/compute_pressure_cylinder.rst index d2ffb275ca0e4d4f40c0bfa716e6db5d192ed472..104e68d5337225af72baa2431c089e60d526ac6e 100644 --- a/doc/src/compute_pressure_cylinder.rst +++ b/doc/src/compute_pressure_cylinder.rst @@ -6,7 +6,6 @@ compute pressure/cylinder command Syntax """""" - .. parsed-literal:: compute ID group-ID pressure/cylinder zlo zhi Rmax bin_width @@ -16,13 +15,12 @@ Syntax * zlo = minimum z-boundary for cylinder * zhi = maximum z-boundary for cylinder * Rmax = maximum radius to perform calculation to -* bin\_width = width of radial bins to use for calculation +* bin_width = width of radial bins to use for calculation Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pressure/cylinder -10.0 10.0 15.0 0.25 @@ -33,19 +31,19 @@ Define a computation that calculates the pressure tensor of a system in cylindrical coordinates, as discussed in :ref:`(Addington) `. This is useful for systems with a single axis of rotational symmetry, such as cylindrical micelles or carbon nanotubes. The compute splits the -system into radial, cylindrical-shell-type bins of width bin\_width, -centered at x=0,y=0, and calculates the radial (P\_rhorho), azimuthal -(P\_phiphi), and axial (P\_zz) components of the configurational pressure +system into radial, cylindrical-shell-type bins of width bin_width, +centered at x=0,y=0, and calculates the radial (P_rhorho), azimuthal +(P_phiphi), and axial (P_zz) components of the configurational pressure tensor. The local density is also calculated for each bin, so that the -true pressure can be recovered as P\_kin+P\_conf=density\*k\*T+P\_conf. The +true pressure can be recovered as P_kin+P_conf=density\*k\*T+P_conf. The output is a global array with 5 columns; one each for bin radius, local -number density, P\_rhorho, P\_phiphi, and P\_zz. The number of rows is -governed by the values of Rmax and bin\_width. Pressure tensor values are +number density, P_rhorho, P_phiphi, and P_zz. The number of rows is +governed by the values of Rmax and bin_width. Pressure tensor values are output in pressure units. **Output info:** -This compute calculates a global array with 5 columns and Rmax/bin\_width +This compute calculates a global array with 5 columns and Rmax/bin_width rows. The output columns are: R (distance units), number density (inverse volume units), configurational radial pressure (pressure units), configurational azimuthal pressure (pressure units), and configurational @@ -59,7 +57,6 @@ inverse volume :doc:`units `. Restrictions """""""""""" - This compute currently calculates the pressure tensor contributions for pair styles only (i.e. no bond, angle, dihedral, etc. contributions and in the presence of bonded interactions, the result will be incorrect @@ -67,7 +64,7 @@ due to exclusions for special bonds) and requires pair-wise force calculations not available for most many-body pair styles. K-space calculations are also excluded. Note that this pressure compute outputs the configurational terms only; the kinetic contribution is not included -and may be calculated from the number density output by P\_kin=density\*k\*T. +and may be calculated from the number density output by P_kin=density\*k\*T. This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -76,21 +73,12 @@ Related commands """""""""""""""" :doc:`compute temp `, :doc:`compute stress/atom `, -:doc:`thermo\_style `, +:doc:`thermo_style `, **Default:** none - ---------- - .. _Addington1: - - **(Addington)** Addington, Long, Gubbins, J Chem Phys, 149, 084109 (2018). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_pressure_uef.rst b/doc/src/compute_pressure_uef.rst index f5a3d47945087759b52822ddd342cba5b6f90c4d..07302ba46d926007c7aa829bd633a6f0ca3dc00e 100644 --- a/doc/src/compute_pressure_uef.rst +++ b/doc/src/compute_pressure_uef.rst @@ -6,7 +6,6 @@ compute pressure/uef command Syntax """""" - .. parsed-literal:: compute ID group-ID pressure/uef temp-ID keyword ... @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pressure/uef my_temp_uef compute 2 all pressure/uef my_temp_uef virial @@ -38,12 +36,11 @@ value of the pressure. A :doc:`compute pressure ` may be used for that purpose. The keywords and output information are documented in -:doc:`compute\_pressure `. +:doc:`compute_pressure `. Restrictions """""""""""" - This fix is part of the USER-UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -63,8 +60,3 @@ Related commands :doc:`compute temp/uef ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index f78798e6f57c3473cfee25bd904a81554172c931..1643be869966b9beead19024edaaf243f866ce5a 100644 --- a/doc/src/compute_property_atom.rst +++ b/doc/src/compute_property_atom.rst @@ -6,7 +6,6 @@ compute property/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID property/atom input1 input2 ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * property/atom = style name of this compute command * input = one or more atom attributes - + .. parsed-literal:: - + possible attributes = id, mol, proc, type, mass, x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, vx, vy, vz, fx, fy, fz, @@ -36,9 +35,8 @@ Syntax rho, drho, e, de, cv, i_name, d_name - .. parsed-literal:: - + id = atom ID mol = molecule ID proc = ID of processor that owns atom @@ -66,25 +64,22 @@ Syntax corner123x, corner123y, corner123z = corner points of triangle nbonds = number of bonds assigned to an atom - .. parsed-literal:: - + PERI package per-atom properties: vfrac = ??? s0 = ??? - .. parsed-literal:: - + USER-EFF and USER-AWPMD package per-atom properties: spin = electron spin eradius = electron radius ervel = electron radial velocity erforce = electron radial force - .. parsed-literal:: - + USER-SPH package per-atom properties: rho = ??? drho = ??? @@ -92,20 +87,16 @@ Syntax de = ??? cv = ??? - .. parsed-literal:: - + :doc:`fix property/atom ` per-atom properties: i_name = custom integer vector with name d_name = custom integer vector with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/atom xs vx fx mux compute 2 all property/atom type @@ -156,11 +147,11 @@ two atoms in the bond. Thus a bond between atoms I,J may be tallied for either atom I or atom J. If :doc:`newton bond off ` is set, it will be tallied with both atom I and atom J. -The *i\_name* and *d\_name* attributes refer to custom integer and +The *i_name* and *d_name* attributes refer to custom integer and floating-point properties that have been added to each atom via the :doc:`fix property/atom ` command. When that command is used specific names are given to each attribute which are what is -specified as the "name" portion of *i\_name* or *d\_name*. +specified as the "name" portion of *i_name* or *d_name*. **Output info:** @@ -191,8 +182,3 @@ Related commands :doc:`fix property/atom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_property_chunk.rst b/doc/src/compute_property_chunk.rst index a0832a33bedb73aff3842e8ec0d1750151b5e10a..ed49833a4810db76e81cead34722333b133a86b8 100644 --- a/doc/src/compute_property_chunk.rst +++ b/doc/src/compute_property_chunk.rst @@ -6,7 +6,6 @@ compute property/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID property/chunk chunkID input1 input2 ... @@ -14,21 +13,18 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * property/chunk = style name of this compute command * input = one or more attributes - + .. parsed-literal:: - + attributes = count, id, coord1, coord2, coord3 count = # of atoms in chunk id = original chunk IDs before compression by :doc:`compute chunk/atom ` coord123 = coordinates for spatial bins calculated by :doc:`compute chunk/atom ` - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/chunk count compute 1 all property/chunk ID coord1 @@ -85,13 +81,12 @@ The simplest way to output the results of the compute property/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk1 all property/chunk cc1 count compute myChunk2 all com/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk1 c_myChunk2[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk1 c_myChunk2[*] file tmp.out mode vector **Output info:** @@ -122,8 +117,3 @@ Related commands :doc:`fix ave/chunk ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_property_local.rst b/doc/src/compute_property_local.rst index d388b4fc09216cdc3f30eeab1899a86f7049e6cd..4e29bb7fc0e696222711c3bf63f1f6f6fcf1e848 100644 --- a/doc/src/compute_property_local.rst +++ b/doc/src/compute_property_local.rst @@ -6,7 +6,6 @@ compute property/local command Syntax """""" - .. parsed-literal:: compute ID group-ID property/local attribute1 attribute2 ... keyword args ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * property/local = style name of this compute command * one or more attributes may be appended - + .. parsed-literal:: - + possible attributes = natom1 natom2 ntype1 ntype2 patom1 patom2 ptype1 ptype2 batom1 batom2 btype @@ -24,9 +23,8 @@ Syntax datom1 datom2 datom3 datom4 dtype iatom1 iatom2 iatom3 iatom4 itype - .. parsed-literal:: - + natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff) ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff) patom1, patom2 = IDs of 2 atoms in each pair (within force cutoff) @@ -42,18 +40,15 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *cutoff* - - .. parsed-literal:: - - *cutoff* arg = *type* or *radius* + .. parsed-literal:: + *cutoff* arg = *type* or *radius* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local btype batom1 batom2 compute 1 all property/local atype aatom2 @@ -82,13 +77,13 @@ atom pairs in the neighbor list are considered (out to the neighbor cutoff = force cutoff + :doc:`neighbor skin `). For *patom1* and *patom2*\ , the distance between the atoms must be less than the force cutoff distance for that pair to be included, as defined by the -:doc:`pair\_style ` and :doc:`pair\_coeff ` +:doc:`pair_style ` and :doc:`pair_coeff ` commands. The optional *cutoff* keyword determines how the force cutoff distance for an interaction is determined for the *patom1* and *patom2* attributes. For the default setting of *type*\ , the pairwise cutoff -defined by the :doc:`pair\_style ` command for the types of +defined by the :doc:`pair_style ` command for the types of the two atoms is used. For the *radius* setting, the sum of the radii of the two particles is used as a cutoff. For example, this is appropriate for granular particles which only interact when they are @@ -106,7 +101,7 @@ specified compute group. Likewise for angles, dihedrals, etc. For bonds and angles, a bonds/angles that have been broken by setting their bond/angle type to 0 will not be included. Bonds/angles that have been turned off (see the :doc:`fix shake ` or -:doc:`delete\_bonds ` commands) by setting their bond/angle +:doc:`delete_bonds ` commands) by setting their bond/angle type negative are written into the file. This is consistent with the :doc:`compute bond/local ` and :doc:`compute angle/local ` commands @@ -120,7 +115,7 @@ atom indices from this command and output by the :doc:`dump local ` comman The *natom1* and *natom2*\ , or *patom1* and *patom2* attributes refer to the atom IDs of the 2 atoms in each pairwise interaction computed -by the :doc:`pair\_style ` command. The *ntype1* and +by the :doc:`pair_style ` command. The *ntype1* and *ntype2*\ , or *ptype1* and *ptype2* attributes refer to the atom types of the 2 atoms in each pairwise interaction. @@ -133,13 +128,13 @@ of the 2 atoms in each pairwise interaction. specifically, this may be true of I,J pairs with a weighting factor of 0.0; pairs with a non-zero weighting factor are included. The weighting factors for 1-2, 1-3, and 1-4 pairwise interactions are set - by the :doc:`special\_bonds ` command. + by the :doc:`special_bonds ` command. The *batom1* and *batom2* attributes refer to the atom IDs of the 2 atoms in each :doc:`bond `. The *btype* attribute refers to the type of the bond, from 1 to Nbtypes = # of bond types. The number of bond types is defined in the data file read by the -:doc:`read\_data ` command. +:doc:`read_data ` command. The attributes that start with "a", "d", "i", refer to similar values for :doc:`angles `, :doc:`dihedrals `, and @@ -172,8 +167,3 @@ Default """"""" The keyword default is cutoff = type. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_ptm_atom.rst b/doc/src/compute_ptm_atom.rst index e414e8d2aa5a91be6f02786c5c8d3f3aaacd4595..112ed1ea6a2ceeb3d04ee1cd5a0ede398352bb66 100644 --- a/doc/src/compute_ptm_atom.rst +++ b/doc/src/compute_ptm_atom.rst @@ -6,24 +6,23 @@ compute ptm/atom command Syntax """""" - .. parsed-literal:: - compute ID group-ID ptm/atom structures threshold + compute ID group-ID ptm/atom structures threshold group2-ID * ID, group-ID are documented in :doc:`compute ` command * ptm/atom = style name of this compute command * structures = structure types to search for * threshold = lattice distortion threshold (RMSD) +* group2-ID determines which group is used for neighbor selection (optional, default "all") Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - compute 1 all ptm/atom default 0.1 - compute 1 all ptm/atom fcc-hcp-dcub-dhex 0.15 + compute 1 all ptm/atom default 0.1 all + compute 1 all ptm/atom fcc-hcp-dcub-dhex 0.15 all compute 1 all ptm/atom all 0 Description @@ -62,8 +61,10 @@ to identify potential structure matches. Next, the deviation is computed betwee local structure (in the simulation) and a template of the ideal lattice structure. The deviation is calculated as: -.. image:: Eqs/ptm_rmsd.jpg - :align: center +.. math:: + + \text{RMSD}(\mathbf{u}, \mathbf{v}) = \min_{s, \mathbf{Q}} \sqrt{\frac{1}{N} \sum\limits_{i=1}^{N} + {\left|\left| s[\vec{u_i} - \overline{\mathbf{u}}] - \mathbf{Q} \vec{v_i} \right|\right|}^2} Here, u and v contain the coordinates of the local and ideal structures respectively, s is a scale factor, and Q is a rotation. The best match is identified by the @@ -79,7 +80,9 @@ The neighbor list needed to compute this quantity is constructed each time the calculation is performed (e.g. each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each with a -*ptm/atom* style. +*ptm/atom* style. By default the compute processes **all** neighbors +unless the optional *group2-ID* argument is given, then only members +of that group are considered as neighbors. **Output info:** @@ -102,12 +105,12 @@ The type is a number from -1 to 8. The rmsd is a positive real number. The interatomic distance is computed from the scale factor in the RMSD equation. The (qw,qx,qy,qz) parameters represent the orientation of the local structure in quaternion form. The reference coordinates for each template (from which the -orientation is determined) can be found in the *ptm\_constants.h* file in the PTM source directory. +orientation is determined) can be found in the *ptm_constants.h* file in the PTM source directory. +For atoms that are not within the compute group-ID, all values are set to zero. Restrictions """""""""""" - This fix is part of the USER-PTM package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -119,17 +122,8 @@ Related commands **Default:** none - ---------- - .. _Larsen: - - **(Larsen)** Larsen, Schmidt, Schiotz, Modelling Simul Mater Sci Eng, 24, 055007 (2016). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_rdf.rst b/doc/src/compute_rdf.rst index 19ab21475a87159c0a0bff5d9c63544f76fadb40..0aedfe09aab637505632306e9ce78347959fa58b 100644 --- a/doc/src/compute_rdf.rst +++ b/doc/src/compute_rdf.rst @@ -6,7 +6,6 @@ compute rdf command Syntax """""" - .. parsed-literal:: compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ... keyword/value ... @@ -18,25 +17,22 @@ Syntax * jtypeN = distribution atom type for Nth RDF histogram (see asterisk form below) * zero or more keyword/value pairs may be appended * keyword = *cutoff* - + .. parsed-literal:: - + *cutoff* value = Rcut Rcut = cutoff distance for RDF computation (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all rdf 100 compute 1 all rdf 100 1 1 - compute 1 all rdf 100 \* 3 cutoff 5.0 + compute 1 all rdf 100 * 3 cutoff 5.0 compute 1 fluid rdf 500 1 1 1 2 2 1 2 2 - compute 1 fluid rdf 500 1\*3 2 5 \*10 cutoff 3.5 + compute 1 fluid rdf 500 1*3 2 5 *10 cutoff 3.5 Description """"""""""" @@ -45,7 +41,7 @@ Define a computation that calculates the radial distribution function (RDF), also called g(r), and the coordination number for a group of particles. Both are calculated in histogram form by binning pairwise distances into *Nbin* bins from 0.0 to the maximum force cutoff -defined by the :doc:`pair\_style ` command or the cutoff +defined by the :doc:`pair_style ` command or the cutoff distance *Rcut* specified via the *cutoff* keyword. The bins are of uniform size in radial distance. Thus a single bin encompasses a thin shell of distances in 3d and a thin ring of distances in 2d. @@ -53,23 +49,23 @@ shell of distances in 3d and a thin ring of distances in 2d. .. note:: If you have a bonded system, then the settings of - :doc:`special\_bonds ` command can remove pairwise + :doc:`special_bonds ` command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This - is the default setting for the :doc:`special\_bonds ` + is the default setting for the :doc:`special_bonds ` command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses a neighbor list, it also means those pairs will not be included in the RDF. This does not apply when using long-range coulomb interactions (\ *coul/long*\ , *coul/msm*\ , *coul/wolf* or similar. One way to get around this would be to set - special\_bond scaling factors to very tiny numbers that are not exactly + special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and use the :doc:`rerun ` command to compute the RDF for snapshots in the dump file. The rerun script can use a - :doc:`special\_bonds ` command that includes all pairs in + :doc:`special_bonds ` command that includes all pairs in the neighbor list. By default the RDF is computed out to the maximum force cutoff defined -by the :doc:`pair\_style ` command. If the *cutoff* keyword +by the :doc:`pair_style ` command. If the *cutoff* keyword is used, then the RDF is computed accurately out to the *Rcut* > 0.0 distance specified. @@ -78,7 +74,7 @@ distance specified. Normally, you should only use the *cutoff* keyword if no pair style is defined, e.g. the :doc:`rerun ` command is being used to post-process a dump file of snapshots. Or if you really want the RDF - for distances beyond the pair\_style force cutoff and cannot easily + for distances beyond the pair_style force cutoff and cannot easily post-process a dump file to calculate it. This is because using the *cutoff* keyword incurs extra computation and possibly communication, which may slow down your simulation. If you specify a *Rcut* <= force @@ -87,7 +83,7 @@ distance specified. timestep, whichever is less frequent), which is inefficient. LAMMPS will warn you if this is the case. If you specify a *Rcut* > force cutoff, you must insure ghost atom information out to *Rcut* + *skin* - is communicated, via the :doc:`comm\_modify cutoff ` + is communicated, via the :doc:`comm_modify cutoff ` command, else the RDF computation cannot be performed, and LAMMPS will give an error message. The *skin* value is what is specified with the :doc:`neighbor ` command. In this case, you are forcing a @@ -120,7 +116,7 @@ by *itypeN* are the central atom, and atoms of any of the range of types represented by *jtypeN* are the distribution atom. Pairwise distances are generated by looping over a pairwise neighbor -list, just as they would be in a :doc:`pair\_style ` +list, just as they would be in a :doc:`pair_style ` computation. The distance between two atoms I and J is included in a specific histogram if the following criteria are met: @@ -151,11 +147,10 @@ The simplest way to output the results of the compute rdf calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myRDF all rdf 50 - fix 1 all ave/time 100 1 100 c_myRDF[\*] file tmp.rdf mode vector + fix 1 all ave/time 100 1 100 c_myRDF[*] file tmp.rdf mode vector **Output info:** @@ -179,14 +174,13 @@ also numbers >= 0.0. Restrictions """""""""""" - The RDF is not computed for distances longer than the force cutoff, since processors (in parallel) don't know about atom coordinates for atoms further away than that distance. If you want an RDF for larger distances, you can use the :doc:`rerun ` command to post-process a dump file and set the cutoff for the potential to be longer in the rerun script. Note that in the rerun context, the force cutoff is -arbitrary, since you aren't running dynamics and thus are not changing +arbitrary, since you are not running dynamics and thus are not changing your model. The definition of g(r) used by LAMMPS is only appropriate for characterizing atoms that are uniformly distributed throughout the simulation cell. In such cases, the coordination number is still @@ -205,20 +199,15 @@ change from zero to one at the location of the spike in g(r). parallel efficiency and scaling. For systems, where only the type of atoms changes (e.g. when using :doc:`fix atom/swap `), you need to explicitly request the dynamic normalization updates - via :doc:`compute\_modify dynamic yes ` + via :doc:`compute_modify dynamic yes ` Related commands """""""""""""""" -:doc:`fix ave/time `, :doc:`compute\_modify `, +:doc:`fix ave/time `, :doc:`compute_modify `, :doc:`compute adf ` Default """"""" The keyword defaults are cutoff = 0.0 (use the pairwise force cutoff). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_reduce.rst b/doc/src/compute_reduce.rst index ff67fa9651ffcd8159fc71efee66a83e5846ab6f..7599343d2e1b7b8831f0eed8b8d4a447a2259c31 100644 --- a/doc/src/compute_reduce.rst +++ b/doc/src/compute_reduce.rst @@ -9,26 +9,25 @@ compute reduce/region command Syntax """""" - .. parsed-literal:: compute ID group-ID style arg mode input1 input2 ... keyword args ... * ID, group-ID are documented in :doc:`compute ` command * style = *reduce* or *reduce/region* - + .. parsed-literal:: - + *reduce* arg = none *reduce/region* arg = region-ID region-ID = ID of region to use for choosing atoms * mode = *sum* or *min* or *max* or *ave* or *sumsq* or *avesq* * one or more inputs can be listed -* input = x, y, z, vx, vy, vz, fx, fy, fz, c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* input = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) c_ID = per-atom or local vector calculated by a compute with ID c_ID[I] = Ith column of per-atom or local array calculated by a compute with ID, I can include wildcard (see below) @@ -38,20 +37,17 @@ Syntax * zero or more keyword/args pairs may be appended * keyword = *replace* - + .. parsed-literal:: - + *replace* args = vec1 vec2 vec1 = reduced value from this input vector will be replaced vec2 = replace it with vec1[N] where N is index of max/min value from vec2 - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all reduce sum c_force compute 1 all reduce/region subbox sum c_force @@ -112,18 +108,15 @@ had been listed one by one. E.g. these 2 compute reduce commands are equivalent, since the :doc:`compute stress/atom ` command creates a per-atom array with 6 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myPress all stress/atom NULL - compute 2 all reduce min c_myPress[\*] + compute 2 all reduce min c_myPress[*] compute 2 all reduce min c_myPress[1] c_myPress[2] c_myPress[3] & c_myPress[4] c_myPress[5] c_myPress[6] - ---------- - The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as inputs to this fix by using the :doc:`compute property/atom ` command and then specifying @@ -160,10 +153,8 @@ invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to reduce. - ---------- - If the *replace* keyword is used, two indices *vec1* and *vec2* are specified, where each index ranges from 1 to the # of input values. The replace keyword can only be used if the *mode* is *min* or *max*\ . @@ -175,8 +166,7 @@ stored index is used to select the Nth element of the *vec1* vector. Thus, for example, if you wish to use this compute to find the bond with maximum stretch, you can do it as follows: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local batom1 batom2 compute 2 all bond/local dist @@ -191,10 +181,8 @@ information in this context, the *replace* keywords will extract the atom IDs for the two atoms in the bond of maximum stretch. These atom IDs and the bond stretch will be printed with thermodynamic output. - ---------- - If a single input is specified this compute produces a global scalar value. If multiple inputs are specified, this compute produces a global vector of values, the length of which is equal to the number of @@ -203,13 +191,11 @@ inputs specified. As discussed below, for the *sum* and *sumsq* modes, the value(s) produced by this compute are all "extensive", meaning their value scales linearly with the number of atoms involved. If normalized -values are desired, this compute can be accessed by the :doc:`thermo\_style custom ` command with :doc:`thermo\_modify norm yes ` set as an option. Or it can be accessed by a +values are desired, this compute can be accessed by the :doc:`thermo_style custom ` command with :doc:`thermo_modify norm yes ` set as an option. Or it can be accessed by a :doc:`variable ` that divides by the appropriate atom count. - ---------- - **Output info:** This compute calculates a global scalar if a single input value is @@ -237,8 +223,3 @@ Related commands :doc:`compute `, :doc:`fix `, :doc:`variable ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_reduce_chunk.rst b/doc/src/compute_reduce_chunk.rst index 4f4384d91cf428cf12d280c9c339ac1d8b583081..34619efd0647eaffa9645dc8a8bb8cf582bb0eba 100644 --- a/doc/src/compute_reduce_chunk.rst +++ b/doc/src/compute_reduce_chunk.rst @@ -6,7 +6,6 @@ compute reduce/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID reduce/chunk chunkID mode input1 input2 ... @@ -16,23 +15,20 @@ Syntax * chunkID = ID of :doc:`compute chunk/atom ` command * mode = *sum* or *min* or *max* * one or more inputs can be listed -* input = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_ID - +* input = c_ID, c_ID[N], f_ID, f_ID[N], v_ID + .. parsed-literal:: - + c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) f_ID = per-atom vector calculated by a fix with ID f_ID[I] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below) v_name = per-atom vector calculated by an atom-style variable with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all reduce/chunk/atom mychunk min c_cluster @@ -91,17 +87,14 @@ had been listed one by one. E.g. these 2 compute reduce/chunk commands are equivalent, since the :doc:`compute property/chunk ` command creates a per-atom array with 3 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute prop all property/atom vx vy vz - compute 10 all reduce/chunk mychunk max c_prop[\*] + compute 10 all reduce/chunk mychunk max c_prop[*] compute 10 all reduce/chunk mychunk max c_prop[1] c_prop[2] c_prop[3] - ---------- - Here is an example of using this compute, in conjunction with the compute chunk/spread/atom command to identify self-assembled micelles. The commands below can be added to the examples/in.micelle script. @@ -118,8 +111,7 @@ attraction induced by the hydrophobicity. The output of the chunk/reduce command will be a cluster ID per chunk (molecule). Molecules with the same cluster ID are in the same micelle. - -.. parsed-literal:: +.. code-block:: LAMMPS group phobic type 4 # specific to in.micelle model compute cluster phobic cluster/atom 2.0 @@ -128,8 +120,7 @@ Molecules with the same cluster ID are in the same micelle. This per-chunk info could be output in at least two ways: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 10 all ave/time 1000 1 1000 c_reduce file tmp.phobic mode vector @@ -147,8 +138,7 @@ The result from compute chunk/spread/atom can be used to define a new set of chunks, where all the atoms in all the molecules in the same micelle are assigned to the same chunk, i.e. one chunk per micelle. - -.. parsed-literal:: +.. code-block:: LAMMPS compute micelle all chunk/atom c_spread compress yes @@ -158,8 +148,7 @@ doc page. E.g. count the number of atoms in each micelle, calculate its center or mass, shape (moments of inertia), radius of gyration, etc. - -.. parsed-literal:: +.. code-block:: LAMMPS compute prop all property/chunk micelle count fix 20 all ave/time 1000 1 1000 c_prop file tmp.micelle mode vector @@ -169,10 +158,8 @@ with its count of atoms, plus a first line for a chunk with all the solvent atoms. By the time 50000 steps have elapsed there are a handful of large micelles. - ---------- - **Output info:** This compute calculates a global vector if a single input value is @@ -198,8 +185,3 @@ Related commands :doc:`compute chunk/atom `, :doc:`compute reduce `, :doc:`compute chunk/spread/atom ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_rigid_local.rst b/doc/src/compute_rigid_local.rst index 1960814e0ebb93715d8f85366d3ea037a963c63d..4fc0f3c2ddb420ff1ffd1bb53dde4101392429d8 100644 --- a/doc/src/compute_rigid_local.rst +++ b/doc/src/compute_rigid_local.rst @@ -6,7 +6,6 @@ compute rigid/local command Syntax """""" - .. parsed-literal:: compute ID group-ID rigid/local rigidID input1 input2 ... @@ -15,9 +14,9 @@ Syntax * rigid/local = style name of this compute command * rigidID = ID of fix rigid/small command or one of its variants * input = one or more rigid body attributes - + .. parsed-literal:: - + possible attributes = id, mol, mass, x, y, z, xu, yu, zu, ix, iy, iz vx, vy, vz, fx, fy, fz, @@ -40,13 +39,10 @@ Syntax tqx,tqy,tqz = torque on body inertiax,inertiay,inertiaz = diagonalized moments of inertia of body - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all rigid/local myRigid mol x y z @@ -91,16 +87,13 @@ vector or array from one timestep to the next. Here is an example of how to use this compute to dump rigid body info to a file: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all rigid/local myRigid mol x y z fx fy fz dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_1[4] c_1[5] c_1[6] c_1[7] - ---------- - This section explains the rigid body attributes that can be specified. The *id* attribute is the atom-ID of the atom which owns the rigid body, which is @@ -155,10 +148,8 @@ diagonalized inertia tensor for the body, i.e the 3 moments of inertia for the body around its principal axes, as computed internally by LAMMPS. - ---------- - **Output info:** This compute calculates a local vector or local array depending on the @@ -188,7 +179,6 @@ corresponding attribute is in: Restrictions """""""""""" - This compute is part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -198,8 +188,3 @@ Related commands :doc:`dump local `, :doc:`compute reduce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_saed.rst b/doc/src/compute_saed.rst index d42c35abcdcd26b16715e08b7b6f409f83bb76a6..cad4bc1b9312363afac866892dc891560f97f61c 100644 --- a/doc/src/compute_saed.rst +++ b/doc/src/compute_saed.rst @@ -6,7 +6,6 @@ compute saed command Syntax """""" - .. parsed-literal:: compute ID group-ID saed lambda type1 type2 ... typeN keyword value ... @@ -16,10 +15,10 @@ Syntax * lambda = wavelength of incident radiation (length units) * type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) * zero or more keyword/value pairs may be appended -* keyword = *Kmax* or *Zone* or *dR\_Ewald* or *c* or *manual* or *echo* - +* keyword = *Kmax* or *Zone* or *dR_Ewald* or *c* or *manual* or *echo* + .. parsed-literal:: - + *Kmax* value = Maximum distance explored from reciprocal space origin (inverse length units) *Zone* values = z1 z2 z3 @@ -34,13 +33,10 @@ Syntax based on the values of the *c* parameters *echo* = flag to provide extra output for debugging purposes - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5 compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo @@ -59,14 +55,13 @@ radiation of wavelength lambda. The electron diffraction intensity I at each reciprocal lattice point is computed from the structure factor F using the equations: -.. image:: Eqs/compute_saed1.jpg - :align: center +.. math:: -.. image:: Eqs/compute_saed2.jpg - :align: center + I = & \frac{F^{*}F}{N} \\ + F(\mathbf{k}) = & \sum_{j=1}^{N}f_j(\theta)exp(2\pi i \mathbf{k} \cdot \mathbf{r}_j) -Here, K is the location of the reciprocal lattice node, rj is the -position of each atom, fj are atomic scattering factors. +Here, K is the location of the reciprocal lattice node, :math:`r_j` is the +position of each atom, :math:`f_j` are atomic scattering factors. Diffraction intensities are calculated on a three-dimensional mesh of reciprocal lattice nodes. The mesh spacing is defined either (a) by @@ -95,7 +90,7 @@ unless small spacing parameters <0.05 Angstrom\^(-1) are implemented. Meshes with manual spacing do not require a periodic boundary. The limits of the reciprocal lattice mesh are determined by the use of -the *Kmax*\ , *Zone*\ , and *dR\_Ewald* parameters. The rectilinear mesh +the *Kmax*\ , *Zone*\ , and *dR_Ewald* parameters. The rectilinear mesh created about the origin of reciprocal space is terminated at the boundary of a sphere of radius *Kmax* centered at the origin. If *Zone* parameters z1=z2=z3=0 are used, diffraction intensities are @@ -104,7 +99,7 @@ greatly increase the cost of computation. Otherwise, *Zone* parameters will denote the z1=h, z2=k, and z3=l (in a global since) zone axis of an intersecting Ewald sphere. Diffraction intensities will only be computed at the intersection of the reciprocal lattice -mesh and a *dR\_Ewald* thick surface of the Ewald sphere. See the +mesh and a *dR_Ewald* thick surface of the Ewald sphere. See the example 3D intensity data and the intersection of a [010] zone axis in the below image. @@ -119,33 +114,116 @@ for each atom type (type1 type2 ... typeN) and angle of diffraction. The analytic approximation is computed using the formula :ref:`(Brown) `: -.. image:: Eqs/compute_saed3.jpg - :align: center +.. math:: + + f_j\left ( \frac{sin(\theta)}{\lambda} \right )=\sum_{i}^{5} + a_i exp\left ( -b_i \frac{sin^{2}(\theta)}{\lambda^{2}} \right ) Coefficients parameterized by :ref:`(Fox) ` are assigned for each atom type designating the chemical symbol and charge of each atom type. Valid chemical symbols for compute saed are: -H: He: Li: Be: B: -C: N: O: F: Ne: -Na: Mg: Al: Si: P: -S: Cl: Ar: K: Ca: -Sc: Ti: V: Cr: Mn: -Fe: Co: Ni: Cu: Zn: -Ga: Ge: As: Se: Br: -Kr: Rb: Sr: Y: Zr: -Nb: Mo: Tc: Ru: Rh: -Pd: Ag: Cd: In: Sn: -Sb: Te: I: Xe: Cs: -Ba: La: Ce: Pr: Nd: -Pm: Sm: Eu: Gd: Tb: -Dy: Ho: Er: Tm: Yb: -Lu: Hf: Ta: W: Re: -Os: Ir: Pt: Au: Hg: -Tl: Pb: Bi: Po: At: -Rn: Fr: Ra: Ac: Th: -Pa: U: Np: Pu: Am: -Cm: Bk: Cf:tb(c=5,s=:) +.. table_from_list:: + :columns: 20 + + * H + * He + * Li + * Be + * B + * C + * N + * O + * F + * Ne + * Na + * Mg + * Al + * Si + * P + * S + * Cl + * Ar + * K + * Ca + * Sc + * Ti + * V + * Cr + * Mn + * Fe + * Co + * Ni + * Cu + * Zn + * Ga + * Ge + * As + * Se + * Br + * Kr + * Rb + * Sr + * Y + * Zr + * Nb + * Mo + * Tc + * Ru + * Rh + * Pd + * Ag + * Cd + * In + * Sn + * Sb + * Te + * I + * Xe + * Cs + * Ba + * La + * Ce + * Pr + * Nd + * Pm + * Sm + * Eu + * Gd + * Tb + * Dy + * Ho + * Er + * Tm + * Yb + * Lu + * Hf + * Ta + * W + * Re + * Os + * Ir + * Pt + * Au + * Hg + * Tl + * Pb + * Bi + * Po + * At + * Rn + * Fr + * Ra + * Ac + * Th + * Pa + * U + * Np + * Pu + * Am + * Cm + * Bk + * Cf If the *echo* keyword is specified, compute saed will provide extra reporting information to the screen. @@ -166,49 +244,35 @@ All array values calculated by this compute are "intensive". Restrictions """""""""""" - This compute is part of the USER-DIFFRACTION package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -The compute\_saed command does not work for triclinic cells. +The compute_saed command does not work for triclinic cells. Related commands """""""""""""""" -:doc:`fix saed\_vtk `, :doc:`compute xrd ` +:doc:`fix saed_vtk `, :doc:`compute xrd ` Default """"""" -The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR\_Ewald = +The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald = 0.01. - ---------- - .. _saed-Coleman: - - **(Coleman)** Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013). .. _Brown: - - **(Brown)** Brown et al. International Tables for Crystallography Volume C: Mathematical and Chemical Tables, 554-95 (2004). .. _Fox: - - **(Fox)** Fox, O'Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93 (1989). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_slice.rst b/doc/src/compute_slice.rst index e98048b912c30ccd1e671e341f0259f903c99d87..c8211269bc3c338dbf7a0800c0273ecbb9f4367b 100644 --- a/doc/src/compute_slice.rst +++ b/doc/src/compute_slice.rst @@ -6,7 +6,6 @@ compute slice command Syntax """""" - .. parsed-literal:: compute ID group-ID slice Nstart Nstop Nskip input1 input2 ... @@ -16,23 +15,20 @@ Syntax * Nstart = starting index within input vector(s) * Nstop = stopping index within input vector(s) * Nskip = extract every Nskip elements from input vector(s) -* input = c\_ID, c\_ID[N], f\_ID, f\_ID[N] - +* input = c_ID, c_ID[N], f_ID, f_ID[N] + .. parsed-literal:: - + c_ID = global vector calculated by a compute with ID c_ID[I] = Ith column of global array calculated by a compute with ID f_ID = global vector calculated by a fix with ID f_ID[I] = Ith column of global array calculated by a fix with ID v_name = vector calculated by an vector-style variable with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all slice 1 100 10 c_msdmol[4] compute 1 all slice 301 400 1 c_msdmol[4] v_myVec @@ -91,10 +87,8 @@ even if the length of the vector is 1. If multiple inputs are specified, then a global array of values is produced, with the number of columns equal to the number of inputs specified. - ---------- - **Output info:** This compute calculates a global vector if a single input value is @@ -130,8 +124,3 @@ Related commands :doc:`compute `, :doc:`fix `, :doc:`compute reduce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_contact_radius.rst b/doc/src/compute_smd_contact_radius.rst index 82cb38169238f6afcd2b5381d2eaac026a600c60..01c543af388f73058ef16514cb745f4752dbf6f7 100644 --- a/doc/src/compute_smd_contact_radius.rst +++ b/doc/src/compute_smd_contact_radius.rst @@ -6,7 +6,6 @@ compute smd/contact/radius command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/contact/radius @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/contact/radius @@ -29,7 +27,7 @@ Define a computation which outputs the contact radius, i.e., the radius used to prevent particles from penetrating each other. The contact radius is used only to prevent particles belonging to different physical bodies from penetrating each other. It is used by -the contact pair styles, e.g., smd/hertz and smd/tri\_surface. +the contact pair styles, e.g., smd/hertz and smd/tri_surface. See `this PDF guide `_ to using Smooth Mach Dynamics in LAMMPS. @@ -49,18 +47,12 @@ The per-particle vector values will be in distance :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`dump custom ` smd/hertz smd/tri\_surface +:doc:`dump custom ` smd/hertz smd/tri_surface **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_damage.rst b/doc/src/compute_smd_damage.rst index d828888b4756f956e97d78aedddf86f01a877eb2..3f02ac5c74655b720d7875b75d62038f467c9275 100644 --- a/doc/src/compute_smd_damage.rst +++ b/doc/src/compute_smd_damage.rst @@ -6,7 +6,6 @@ compute smd/damage command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/damage @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/damage @@ -42,18 +40,12 @@ The per-particle values are dimensionless an in the range of zero to one. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the "Build Related commands """""""""""""""" -:doc:`smd/plastic\_strain `, :doc:`smd/tlsph\_stress ` +:doc:`smd/plastic_strain `, :doc:`smd/tlsph_stress ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_hourglass_error.rst b/doc/src/compute_smd_hourglass_error.rst index e8ea6573c1934784bef1d11b4870e8ce442411bd..56b8a81c0187afa80422f9f4fe5e332015d74c29 100644 --- a/doc/src/compute_smd_hourglass_error.rst +++ b/doc/src/compute_smd_hourglass_error.rst @@ -6,7 +6,6 @@ compute smd/hourglass/error command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/hourglass/error @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/hourglass/error @@ -52,7 +50,6 @@ The per-particle vector values will are dimensionless. See Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -61,12 +58,7 @@ tlsph pair style. **Related Commands:** -:doc:`smd/tlsph\_defgrad ` +:doc:`smd/tlsph_defgrad ` Default """"""" - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_internal_energy.rst b/doc/src/compute_smd_internal_energy.rst index b04494a4152deb77372db97bd39e131347b9547d..7613d5bb3ed4f8a3f51665acf98b92580e0c5236 100644 --- a/doc/src/compute_smd_internal_energy.rst +++ b/doc/src/compute_smd_internal_energy.rst @@ -6,7 +6,6 @@ compute smd/internal/energy command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/internal/energy @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/internal/energy @@ -43,7 +41,6 @@ The per-particle vector values will be given in :doc:`units ` of energy. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact via the updated Lagrangian @@ -53,8 +50,3 @@ or total Lagrangian SPH pair styles. Default """"""" - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_plastic_strain.rst b/doc/src/compute_smd_plastic_strain.rst index 8f27b039ca9fe10853ea220b1922c668361aaec0..772169310f0d0ca2ab7454924cb5d26f7c4a5b79 100644 --- a/doc/src/compute_smd_plastic_strain.rst +++ b/doc/src/compute_smd_plastic_strain.rst @@ -6,7 +6,6 @@ compute smd/plastic/strain command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/plastic/strain @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/plastic/strain @@ -44,7 +42,6 @@ The per-particle values will be given dimensionless. See :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact via the updated Lagrangian @@ -58,8 +55,3 @@ Related commands :doc:`smd/tlsph/strain ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_plastic_strain_rate.rst b/doc/src/compute_smd_plastic_strain_rate.rst index bf1b8a85308d69b6a0ab37dc33a17e7fc9b3b251..7b0480a211f391531816205af631629d419cf02e 100644 --- a/doc/src/compute_smd_plastic_strain_rate.rst +++ b/doc/src/compute_smd_plastic_strain_rate.rst @@ -6,7 +6,6 @@ compute smd/plastic/strain/rate command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/plastic/strain/rate @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/plastic/strain/rate @@ -44,7 +42,6 @@ The per-particle values will be given in :doc:`units ` of one over time. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact via the updated Lagrangian @@ -58,8 +55,3 @@ Related commands :doc:`smd/tlsph/strain ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_rho.rst b/doc/src/compute_smd_rho.rst index f3c2e1cc4702ae92d83fa4abd48096cf9bd30481..50c74b8c26e23fb190fda8dc124c43e31d1de3dc 100644 --- a/doc/src/compute_smd_rho.rst +++ b/doc/src/compute_smd_rho.rst @@ -6,7 +6,6 @@ compute smd/rho command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/rho @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/rho @@ -45,7 +43,6 @@ The per-particle values will be in :doc:`units ` of mass over volume. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -55,8 +52,3 @@ Related commands :doc:`compute smd/vol ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_tlsph_defgrad.rst b/doc/src/compute_smd_tlsph_defgrad.rst index ddff4ba4c273a7640bbd3053f66e668d4768837e..c599b82709cbddbfedeef1aa1f210251f2652a56 100644 --- a/doc/src/compute_smd_tlsph_defgrad.rst +++ b/doc/src/compute_smd_tlsph_defgrad.rst @@ -6,7 +6,6 @@ compute smd/tlsph/defgrad command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/defgrad @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/defgrad @@ -48,7 +46,6 @@ entry is the determinant of the deformation gradient. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. TThis compute can only be used for particles which interact via the total Lagrangian SPH @@ -60,8 +57,3 @@ Related commands :doc:`smd/hourglass/error ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_tlsph_dt.rst b/doc/src/compute_smd_tlsph_dt.rst index 5a4f35e8b0fcdfa062c435e0be2b07d102b5ed0f..7835f0642d66eff97da686a23ca898fcc568c908 100644 --- a/doc/src/compute_smd_tlsph_dt.rst +++ b/doc/src/compute_smd_tlsph_dt.rst @@ -6,7 +6,6 @@ compute smd/tlsph/dt command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/dt @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/dt @@ -49,7 +47,6 @@ The per-particle values will be given in :doc:`units ` of time. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -62,8 +59,3 @@ Related commands :doc:`smd/adjust/dt ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_tlsph_num_neighs.rst b/doc/src/compute_smd_tlsph_num_neighs.rst index cfa122aae6094586c1fb388d680b631552907c45..202f1640d6e3b24bfac4a42d8f1ef5dd34d9c4fb 100644 --- a/doc/src/compute_smd_tlsph_num_neighs.rst +++ b/doc/src/compute_smd_tlsph_num_neighs.rst @@ -6,7 +6,6 @@ compute smd/tlsph/num/neighs command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/num/neighs @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/num/neighs @@ -44,7 +42,6 @@ The per-particle values are dimensionless. See :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -57,8 +54,3 @@ Related commands :doc:`smd/ulsph/num/neighs ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_tlsph_shape.rst b/doc/src/compute_smd_tlsph_shape.rst index 0161e5e6e51489362452339ae510033e785d577d..f4ed10a23201086ce53852053f268e792fb0b2b6 100644 --- a/doc/src/compute_smd_tlsph_shape.rst +++ b/doc/src/compute_smd_tlsph_shape.rst @@ -6,7 +6,6 @@ compute smd/tlsph/shape command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/shape @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/shape @@ -51,7 +49,6 @@ particle relative to its initial state. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -64,8 +61,3 @@ Related commands :doc:`smd/contact/radius ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_tlsph_strain.rst b/doc/src/compute_smd_tlsph_strain.rst index 965d69a938eeb556fc3e748fb5c8023e64b535cd..24c59374629438abe4a465b2e97a8eff87b53265 100644 --- a/doc/src/compute_smd_tlsph_strain.rst +++ b/doc/src/compute_smd_tlsph_strain.rst @@ -6,7 +6,6 @@ compute smd/tlsph/strain command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/strain @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/strain @@ -47,7 +45,6 @@ zz, xy, xz, yz components of the symmetric strain tensor. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -61,8 +58,3 @@ Related commands :doc:`smd/tlsph/stress ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_tlsph_strain_rate.rst b/doc/src/compute_smd_tlsph_strain_rate.rst index 554706382a9f1fb687c284ef9658bc6afe9ee977..0eb68432c1fe7fe4bea81bb246f4fc9d269ca4d2 100644 --- a/doc/src/compute_smd_tlsph_strain_rate.rst +++ b/doc/src/compute_smd_tlsph_strain_rate.rst @@ -6,7 +6,6 @@ compute smd/tlsph/strain/rate command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/strain/rate @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/strain/rate @@ -46,7 +44,6 @@ zz, xy, xz, yz components of the symmetric strain rate tensor. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -59,8 +56,3 @@ Related commands :doc:`compute smd/tlsph/strain `, :doc:`compute smd/tlsph/stress ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_tlsph_stress.rst b/doc/src/compute_smd_tlsph_stress.rst index db26b6b6b75a9dbb2bd1713e4fdb4baeb3296905..10d01ea9c0a56e8a440e4788d0cf49eca9656835 100644 --- a/doc/src/compute_smd_tlsph_stress.rst +++ b/doc/src/compute_smd_tlsph_stress.rst @@ -6,7 +6,6 @@ compute smd/tlsph/stress command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/stress @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/stress @@ -48,7 +46,6 @@ invariant of the stress tensor, i.e., the von Mises equivalent stress. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -61,8 +58,3 @@ Related commands :doc:`compute smd/tlsph/strain `, :doc:`cmopute smd/tlsph/strain/rate ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_triangle_vertices.rst b/doc/src/compute_smd_triangle_vertices.rst index 61bd5ed97cf568d4963cf9a66bd7ed7ef2a459a7..ad33df3ef802fb905978f68835cb730d112b6eb1 100644 --- a/doc/src/compute_smd_triangle_vertices.rst +++ b/doc/src/compute_smd_triangle_vertices.rst @@ -6,7 +6,6 @@ compute smd/triangle/vertices command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/triangle/vertices @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/triangle/mesh/vertices @@ -26,7 +24,7 @@ Description """"""""""" Define a computation that returns the coordinates of the vertices -corresponding to the triangle-elements of a mesh created by the :doc:`fix smd/wall\_surface `. +corresponding to the triangle-elements of a mesh created by the :doc:`fix smd/wall_surface `. See `this PDF guide `_ to using Smooth Mach Dynamics in LAMMPS. @@ -43,10 +41,10 @@ The per-particle vector has nine entries, (x1/y1/z1), (x2/y2/z2), and each triangle. It is only meaningful to use this compute for a group of particles -which is created via the :doc:`fix smd/wall\_surface ` command. +which is created via the :doc:`fix smd/wall_surface ` command. -The output of this compute can be used with the dump2vtk\_tris tool to -generate a VTK representation of the smd/wall\_surface mesh for +The output of this compute can be used with the dump2vtk_tris tool to +generate a VTK representation of the smd/wall_surface mesh for visualization purposes. The values will be given in :doc:`units ` of distance. @@ -54,7 +52,6 @@ The values will be given in :doc:`units ` of distance. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -62,11 +59,6 @@ Related commands """""""""""""""" :doc:`fix smd/move/tri/surf `, -:doc:`fix smd/wall\_surface ` +:doc:`fix smd/wall_surface ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_ulsph_num_neighs.rst b/doc/src/compute_smd_ulsph_num_neighs.rst index fc98d037776bc2e7b9ef821f3e6c86ca938b9e8f..70824fc517084ecb03e14f10b876e2ded01b8ab9 100644 --- a/doc/src/compute_smd_ulsph_num_neighs.rst +++ b/doc/src/compute_smd_ulsph_num_neighs.rst @@ -6,8 +6,7 @@ compute smd/ulsph/num/neighs command Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID smd/ulsph/num/neighs @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/ulsph/num/neighs @@ -44,7 +42,6 @@ The per-particle values will be given dimensionless, see :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact with the updated Lagrangian @@ -56,8 +53,3 @@ Related commands :doc:`compute smd/tlsph/num/neighs ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_ulsph_strain.rst b/doc/src/compute_smd_ulsph_strain.rst index 53a14e85fefb6b24d7fbd9870af77bca36a8f2c1..dbf6751bf7a27c3a6d2625a1203d1b882d224890 100644 --- a/doc/src/compute_smd_ulsph_strain.rst +++ b/doc/src/compute_smd_ulsph_strain.rst @@ -6,8 +6,7 @@ compute smd/ulsph/strain command Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID smd/ulsph/strain @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/ulsph/strain @@ -47,7 +45,6 @@ The per-particle tensor values will be given dimensionless, see Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact with the updated Lagrangian @@ -59,8 +56,3 @@ Related commands :doc:`compute smd/tlsph/strain ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_ulsph_strain_rate.rst b/doc/src/compute_smd_ulsph_strain_rate.rst index 0b8c6af19ffec976a297a8fbd49db3d2a3f997ff..7f911e9332356a2598a00777dc63d0288c01a03f 100644 --- a/doc/src/compute_smd_ulsph_strain_rate.rst +++ b/doc/src/compute_smd_ulsph_strain_rate.rst @@ -6,8 +6,7 @@ compute smd/ulsph/strain/rate command Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID smd/ulsph/strain/rate @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/ulsph/strain/rate @@ -47,7 +45,6 @@ zz, xy, xz, yz components of the symmetric strain rate tensor. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -60,8 +57,3 @@ Related commands :doc:`compute smd/tlsph/strain/rate ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_ulsph_stress.rst b/doc/src/compute_smd_ulsph_stress.rst index d3e3211250b21706d9acb057a1f4d0eb2cd33b19..c74b37508af7c814e432a4a209832bf01813d854 100644 --- a/doc/src/compute_smd_ulsph_stress.rst +++ b/doc/src/compute_smd_ulsph_stress.rst @@ -6,8 +6,7 @@ compute smd/ulsph/stress command Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID smd/ulsph/stress @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/ulsph/stress @@ -47,7 +45,6 @@ stress tensor, i.e., the von Mises equivalent stress. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute can only be used for particles which interact with the updated Lagrangian @@ -59,8 +56,3 @@ Related commands :doc:`compute smd/ulsph/strain `, :doc:`compute smd/ulsph/strain/rate ` :doc:`compute smd/tlsph/stress ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_smd_vol.rst b/doc/src/compute_smd_vol.rst index a1b553ae6bdebc58510e059fd48c6e5eb1c949ea..abcc6fca2226b9b09448aea545bf6c84c52c1344 100644 --- a/doc/src/compute_smd_vol.rst +++ b/doc/src/compute_smd_vol.rst @@ -6,7 +6,6 @@ compute smd/vol command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/vol @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/vol @@ -47,7 +45,6 @@ per-particle volumes of the group for which the fix is defined. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -57,8 +54,3 @@ Related commands :doc:`compute smd/rho ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index 8556b3971b00e41596dc443ad6baee792e64ac70..83e28b913bd1a1ea310bebaeed7000b00cbd02cb 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -15,12 +15,11 @@ compute snap command Syntax """""" - .. parsed-literal:: compute ID group-ID sna/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... compute ID group-ID snad/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... - compute ID group-ID snav/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... + compute ID group-ID snav/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... compute ID group-ID snap rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... * ID, group-ID are documented in :doc:`compute ` command @@ -28,13 +27,13 @@ Syntax * rcutfac = scale factor applied to all cutoff radii (positive real) * rfac0 = parameter in distance to angle conversion (0 < rcutfac < 1) * twojmax = band limit for bispectrum components (non-negative integer) -* R\_1, R\_2,... = list of cutoff radii, one for each type (distance units) -* w\_1, w\_2,... = list of neighbor weights, one for each type +* R_1, R_2,... = list of cutoff radii, one for each type (distance units) +* w_1, w_2,... = list of neighbor weights, one for each type * zero or more keyword/value pairs may be appended * keyword = *rmin0* or *switchflag* or *bzeroflag* or *quadraticflag* - + .. parsed-literal:: - + *rmin0* value = parameter in distance to angle conversion (distance units) *switchflag* value = *0* or *1* *0* = do not use switching function @@ -46,13 +45,10 @@ Syntax *0* = do not generate quadratic terms *1* = generate quadratic terms - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute b all sna/atom 1.4 0.99363 6 2.0 2.4 0.75 1.0 rmin0 0.0 compute db all sna/atom 1.4 0.95 6 2.0 1.0 @@ -65,8 +61,8 @@ Description Define a computation that calculates a set of quantities related to the bispectrum components of the atoms in a group. These computes are used primarily for calculating the dependence of energy, force, and -stress components on the linear coefficients in the -:doc:`snap pair\_style `, which is useful when training a +stress components on the linear coefficients in the +:doc:`snap pair_style `, which is useful when training a SNAP potential to match target data. Bispectrum components of an atom are order parameters characterizing @@ -75,23 +71,24 @@ mathematical definition is given in the paper by Thompson et al. :ref:`(Thompson) ` The position of a neighbor atom *i'* relative to a central atom *i* is -a point within the 3D ball of radius *R\_ii' = rcutfac\*(R\_i + R\_i')* +a point within the 3D ball of radius *R_ii' = rcutfac\*(R_i + R_i')* Bartok et al. :ref:`(Bartok) `, proposed mapping this 3D ball onto the 3-sphere, the surface of the unit ball in a four-dimensional -space. The radial distance *r* within *R\_ii'* is mapped on to a third +space. The radial distance *r* within *R_ii'* is mapped on to a third polar angle *theta0* defined by, -.. image:: Eqs/compute_sna_atom1.jpg - :align: center +.. math:: + + \theta_0 = {\tt rfac0} \frac{r-r_{min0}}{R_{ii'}-r_{min0}} \pi In this way, all possible neighbor positions are mapped on to a subset of the 3-sphere. Points south of the latitude *theta0max=rfac0\*Pi* are excluded. The natural basis for functions on the 3-sphere is formed by the 4D -hyperspherical harmonics *U\^j\_m,m'(theta, phi, theta0).* These -functions are better known as *D\^j\_m,m',* the elements of the Wigner +hyperspherical harmonics *U\^j_m,m'(theta, phi, theta0).* These +functions are better known as *D\^j_m,m',* the elements of the Wigner *D*\ -matrices :ref:`(Meremianin `, :ref:`Varshalovich) `. @@ -101,28 +98,37 @@ radial distance. Expanding this density function as a generalized Fourier series in the basis functions, we can write each Fourier coefficient as -.. image:: Eqs/compute_sna_atom2.jpg - :align: center +.. math:: -The *w\_i'* neighbor weights are dimensionless numbers that are chosen + u^j_{m,m'} = U^j_{m,m'}(0,0,0) + \sum_{r_{ii'} < R_{ii'}}{f_c(r_{ii'}) w_{i'} U^j_{m,m'}(\theta_0,\theta,\phi)} + +The *w_i'* neighbor weights are dimensionless numbers that are chosen to distinguish atoms of different types, while the central atom is arbitrarily assigned a unit weight. The function *fc(r)* ensures that the contribution of each neighbor atom goes smoothly to zero at -*R\_ii'*: +*R_ii'*: + +.. math:: -.. image:: Eqs/compute_sna_atom4.jpg - :align: center + f_c(r) = & \frac{1}{2}(\cos(\pi \frac{r-r_{min0}}{R_{ii'}-r_{min0}}) + 1), r \leq R_{ii'} \\ + = & 0, r > R_{ii'} -The expansion coefficients *u\^j\_m,m'* are complex-valued and they are +The expansion coefficients *u\^j_m,m'* are complex-valued and they are not directly useful as descriptors, because they are not invariant under rotation of the polar coordinate frame. However, the following scalar triple products of expansion coefficients can be shown to be real-valued and invariant under rotation :ref:`(Bartok) `. -.. image:: Eqs/compute_sna_atom3.jpg - :align: center +.. math:: -The constants *H\^jmm'\_j1m1m1'\_j2m2m2'* are coupling coefficients, + B_{j_1,j_2,j} = + \sum_{m_1,m'_1=-j_1}^{j_1}\sum_{m_2,m'_2=-j_2}^{j_2}\sum_{m,m'=-j}^{j} (u^j_{m,m'})^* + H {\scriptscriptstyle \begin{array}{l} {j} {m} {m'} \\ + {j_1} {m_1} {m'_1} \\ + {j_2} {m_2} {m'_2} \end{array}} + u^{j_1}_{m_1,m'_1} u^{j_2}_{m_2,m'_2} + +The constants *H\^jmm'_j1m1m1'_j2m2m2'* are coupling coefficients, analogous to Clebsch-Gordan coefficients for rotations on the 2-sphere. These invariants are the components of the bispectrum and these are the quantities calculated by the compute *sna/atom*\ . They @@ -138,8 +144,9 @@ atom. Compute *snad/atom* calculates the derivative of the bispectrum components summed separately for each atom type: -.. image:: Eqs/compute_sna_atom5.jpg - :align: center +.. math:: + + -\sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j} }}{\partial {\bf r}_i} The sum is over all atoms *i'* of atom type *I*\ . For each atom *i*\ , this compute evaluates the above expression for each direction, each @@ -149,8 +156,9 @@ for a detailed explanation. Compute *snav/atom* calculates the virial contribution due to the derivatives: -.. image:: Eqs/compute_sna_atom6.jpg - :align: center +.. math:: + + -{\bf r}_i \otimes \sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j}}}{\partial {\bf r}_i} Again, the sum is over all atoms *i'* of atom type *I*\ . For each atom *i*\ , this compute evaluates the above expression for each of the six @@ -159,7 +167,7 @@ section below on output for a detailed explanation. Compute *snap* calculates a global array contains information related to all three of the above per-atom computes *sna/atom*\ , *snad/atom*\ , -and *snav/atom*\ . The first row of the array contains the summation of +and *snav/atom*\ . The first row of the array contains the summation of *sna/atom* over all atoms, but broken out by type. The last six rows of the array contain the summation of *snav/atom* over all atoms, broken out by type. In between these are 3\*\ *N* rows containing the same values @@ -168,13 +176,12 @@ broken out by type). The element in the last column of each row contains the potential energy, force, or stress, according to the row. These quantities correspond to the user-specified reference potential that must be subtracted from the target data when fitting SNAP. -The potential energy calculation uses the built in compute *thermo\_pe*. -The stress calculation uses a compute called *snap\_press* that is +The potential energy calculation uses the built in compute *thermo_pe*. +The stress calculation uses a compute called *snap_press* that is automatically created behind the scenes, according to the following command: - -.. parsed-literal:: +.. code-block:: LAMMPS compute snap_press all pressure NULL virial @@ -222,18 +229,18 @@ ordered in which they are listed. .. note:: If you have a bonded system, then the settings of - :doc:`special\_bonds ` command can remove pairwise + :doc:`special_bonds ` command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This - is the default setting for the :doc:`special\_bonds ` + is the default setting for the :doc:`special_bonds ` command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the calculation. One way to get around this, is to write a dump file, and use the :doc:`rerun ` command to compute the bispectrum components for snapshots in the dump - file. The rerun script can use a :doc:`special\_bonds ` + file. The rerun script can use a :doc:`special_bonds ` command that includes all pairs in the neighbor list. -;line +---------- **Output info:** @@ -243,7 +250,6 @@ of columns and the identity of the bispectrum component contained in each column depend of the value of *twojmax*\ , as described by the following piece of python code: - .. parsed-literal:: for j1 in range(0,twojmax+1): @@ -272,12 +278,12 @@ 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* -Compute *snap* evaluates a global array. +Compute *snap* evaluates a global array. The columns are arranged into *ntypes* blocks, listed in order of atom type *I*\ . Each block contains one column for each bispectrum component, the same as for compute *sna/atom*\ . A final column contains the corresponding energy, force component -on an atom, or virial stress component. The rows of the array appear +on an atom, or virial stress component. The rows of the array appear in the following order: * 1 row: *sna/atom* quantities summed for all atoms of type *I* @@ -313,14 +319,13 @@ page for an overview of LAMMPS output options. Restrictions """""""""""" - These computes are part of the SNAP package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_style snap ` +:doc:`pair_style snap ` Default """"""" @@ -328,37 +333,22 @@ Default The optional keyword defaults are *rmin0* = 0, *switchflag* = 1, *bzeroflag* = 1, *quadraticflag* = 0, - ---------- - .. _Thompson20141: - - **(Thompson)** Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint available at `arXiv:1409.3880 `_ .. _Bartok20101: - - **(Bartok)** Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). .. _Meremianin2006: - - **(Meremianin)** Meremianin, J. Phys. A, 39, 3099 (2006). .. _Varshalovich1987: - - **(Varshalovich)** Varshalovich, Moskalev, Khersonskii, Quantum Theory of Angular Momentum, World Scientific, Singapore (1987). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_spin.rst b/doc/src/compute_spin.rst index 034d2ab68577db0bed9ac1c23de56cb750992637..49243e9650ce2b8a569d50886d035364ad34daba 100644 --- a/doc/src/compute_spin.rst +++ b/doc/src/compute_spin.rst @@ -6,7 +6,6 @@ compute spin command Syntax """""" - .. code-block:: LAMMPS compute ID group-ID spin @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS compute out_mag all spin @@ -37,11 +35,9 @@ This compute calculates the following 6 magnetic quantities: * The sixth one is referred to as the spin temperature, according to the work of :ref:`(Nurdin) `. - The simplest way to output the results of the compute spin calculation is to define some of the quantities as variables, and to use the thermo and -thermo\_style commands, for example: - +thermo_style commands, for example: .. code-block:: LAMMPS @@ -56,7 +52,7 @@ thermo\_style commands, for example: This series of commands evaluates the total magnetization along z, the norm of the total magnetization, and the magnetic temperature. Three variables are -assigned to those quantities. The thermo and thermo\_style commands print them +assigned to those quantities. The thermo and thermo_style commands print them every 10 timesteps. **Output info:** @@ -67,9 +63,8 @@ metal units (:doc:`units `). Restrictions """""""""""" - The *spin* compute is part of the SPIN package. This compute is only -enabled if LAMMPS was built with this package. See the :doc:`Build package ` doc page for more info. The atom\_style +enabled if LAMMPS was built with this package. See the :doc:`Build package ` doc page for more info. The atom_style has to be "spin" for this compute to be valid. **Related commands:** @@ -80,12 +75,8 @@ none none - ---------- - .. _Nurdin1: - - **(Nurdin)** Nurdin and Schotte Phys Rev E, 61(4), 3579 (2000) diff --git a/doc/src/compute_stress_atom.rst b/doc/src/compute_stress_atom.rst index c37a8cc52d16b902c998277f4f17bdd791a4c74d..b8b3cb0ea1fb41ab6992943f9beada4b628540e4 100644 --- a/doc/src/compute_stress_atom.rst +++ b/doc/src/compute_stress_atom.rst @@ -2,13 +2,13 @@ compute stress/atom command =========================== + compute centroid/stress/atom command ==================================== Syntax """""" - .. parsed-literal:: compute ID group-ID style temp-ID keyword ... @@ -22,8 +22,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 mobile stress/atom NULL compute 1 mobile stress/atom myRamp @@ -152,14 +151,14 @@ i.e. computed values for contributions from bonds and two-body pair styles, such as :doc:`Lennard-Jones `, will be the same, while contributions from angles, dihedrals and impropers will be different. -The :doc:`dihedral\_style charmm ` style calculates +The :doc:`dihedral_style charmm ` style calculates pairwise interactions between 1-4 atoms. The virial contribution of these terms is included in the pair virial, not the dihedral virial. The KSpace contribution is calculated using the method in :ref:`(Heyes) ` for the Ewald method and by the methodology described in :ref:`(Sirk) ` for PPPM. The choice of KSpace solver is specified -by the :doc:`kspace\_style pppm ` command. Note that for +by the :doc:`kspace_style pppm ` command. Note that for PPPM, the calculation requires 6 extra FFTs each timestep that per-atom stress is calculated. Thus it can significantly increase the cost of the PPPM calculation if it is needed on a large fraction of @@ -177,10 +176,8 @@ subtracting a background streaming velocity. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. - ---------- - Note that as defined in the formula, per-atom stress is the negative of the per-atom pressure tensor. It is also really a stress\*volume formulation, meaning the computed quantity is in units of @@ -199,18 +196,17 @@ is the total pressure of the system. These lines in an input script for a 3d system should yield that result. I.e. the last 2 columns of thermo output will be the same: - -.. parsed-literal:: +.. code-block:: LAMMPS compute peratom all stress/atom NULL compute p all reduce sum c_peratom[1] c_peratom[2] c_peratom[3] - variable press equal -(c_p[1]+c_p[2]+c_p[3])/(3\*vol) + variable press equal -(c_p[1]+c_p[2]+c_p[3])/(3*vol) thermo_style custom step temp etotal press v_press .. note:: The per-atom stress does not include any Lennard-Jones tail - corrections to the pressure added by the :doc:`pair\_modify tail yes ` command, since those are contributions to the + corrections to the pressure added by the :doc:`pair_modify tail yes ` command, since those are contributions to the global system pressure. **Output info:** @@ -228,15 +224,14 @@ The per-atom array values will be in pressure\*volume Restrictions """""""""""" -Currently, compute *centroid/stress/atom* does not support -pair styles with many-body interactions, -such as :doc:`Tersoff `, -and LAMMPS will generate an error in such cases. -In principal, equivalent formulation -to that of angle, dihedral and improper contributions -in the virial :math:`W_{ab}` formula -can also be applied to the many-body pair styles, -and is planned in the future. + +Currently (Spring 2020), compute *centroid/stress/atom* does not support +pair styles with many-body interactions, such as :doc:`Tersoff +`, or pair styles with long-range Coulomb interactions. +LAMMPS will generate an error in such cases. In principal, equivalent +formulation to that of angle, dihedral and improper contributions in the +virial :math:`W_{ab}` formula can also be applied to the many-body pair +styles, and is planned in the future. Related commands """""""""""""""" @@ -245,35 +240,20 @@ Related commands **Default:** none - ---------- - .. _Heyes2: - - **(Heyes)** Heyes, Phys Rev B, 49, 755 (1994). .. _Sirk1: - - **(Sirk)** Sirk, Moore, Brown, J Chem Phys, 138, 064505 (2013). .. _Thompson2: - - **(Thompson)** Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009). .. _Surblys1: - - **(Surblys)** Surblys, Matsubara, Kikugawa, Ohara, Phys Rev E, 99, 051301(R) (2019). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index aadc78050c239636b976251a064fe402e3a91489..83a83747021f721466b3b2fd83de2e0278b3a81a 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -9,7 +9,6 @@ compute stress/mop/profile command Syntax """""" - .. parsed-literal:: compute ID group-ID style dir args keywords ... @@ -20,7 +19,6 @@ Syntax * args = argument specific to the compute style * keywords = *kin* or *conf* or *total* (one of more can be specified) - .. parsed-literal:: *stress/mop* args = pos @@ -67,21 +65,21 @@ configurational stress (conf), and/or total stress (total). NOTE 1: The configurational stress is computed considering all pairs of atoms where at least one atom belongs to group group-ID. NOTE 2: The local stress does not include any Lennard-Jones tail -corrections to the pressure added by the :doc:`pair\_modify tail yes ` command, since those are contributions to the global system pressure. +corrections to the pressure added by the :doc:`pair_modify tail yes ` command, since those are contributions to the global system pressure. **Output info:** Compute *stress/mop* calculates a global vector (indices starting at 1), with 3 values for each declared keyword (in the order the keywords have been declared). For each keyword, the stress tensor components are ordered as -follows: stress\_dir,x, stress\_dir,y, and stress\_dir,z. +follows: stress_dir,x, stress_dir,y, and stress_dir,z. Compute *stress/mop/profile* instead calculates a global array, with 1 column giving the position of the planes where the stress tensor was computed, and with 3 columns of values for each declared keyword (in the order the keywords have been declared). For each keyword, the profiles of stress -tensor components are ordered as follows: stress\_dir,x; stress\_dir,y; -and stress\_dir,z. +tensor components are ordered as follows: stress_dir,x; stress_dir,y; +and stress_dir,z. The values are in pressure :doc:`units `. @@ -90,7 +88,6 @@ The values produced by this compute can be accessed by various :doc:`output comm Restrictions """""""""""" - These styles are part of the USER-MISC package. They are only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page on for more info. @@ -110,18 +107,9 @@ Related commands **Default:** none - ---------- - .. _mop-todd: - - **(Todd)** B. D. Todd, Denis J. Evans, and Peter J. Daivis: "Pressure tensor for inhomogeneous fluids", Phys. Rev. E 52, 1627 (1995). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_tally.rst b/doc/src/compute_tally.rst index 38ab176b7de18a08687fabc6d29d8724c466b097..f49c872306df0149fc993f0f25565990fe52c4d5 100644 --- a/doc/src/compute_tally.rst +++ b/doc/src/compute_tally.rst @@ -18,7 +18,6 @@ compute stress/tally command Syntax """""" - .. parsed-literal:: compute ID group-ID style group2-ID @@ -30,8 +29,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 lower force/tally upper compute 1 left pe/tally right @@ -53,10 +51,8 @@ and intramolecular energies. Something that would otherwise be impossible without integrating this as a core functionality into the based classes of LAMMPS. - ---------- - The pairwise contributions are computing via a callback that the compute registers with the non-bonded pairwise force computation. This limits the use to systems that have no bonds, no Kspace, and no @@ -65,10 +61,8 @@ have to compute forces or energies a second time and thus can be much more efficient. The callback mechanism allows to write more complex pairwise property computations. - ---------- - **Output info:** Compute *pe/tally* calculates a global scalar (the energy) and a per @@ -92,7 +86,6 @@ Both the scalar and vector values calculated by this compute are Restrictions """""""""""" - This compute is part of the USER-TALLY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -109,12 +102,7 @@ The computes in this package are not compatible with dynamic groups. Related commands """""""""""""""" -*compute group/group*\ \_compute\_group\_group.html, *compute -heat/flux*\ \_compute\_heat\_flux.html +*compute group/group*\ _compute_group_group.html, *compute +heat/flux*\ _compute_heat_flux.html **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_tdpd_cc_atom.rst b/doc/src/compute_tdpd_cc_atom.rst index ed7af54d2a3d21e2876983b66c9a25dc2518f184..00eee60f6208fcc41adf38b2f2dfcf9b05ccfc6e 100644 --- a/doc/src/compute_tdpd_cc_atom.rst +++ b/doc/src/compute_tdpd_cc_atom.rst @@ -6,7 +6,6 @@ compute tdpd/cc/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID tdpd/cc/atom index @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all tdpd/cc/atom 2 @@ -47,29 +45,19 @@ per unit mass. Restrictions """""""""""" - -This compute is part of the USER-MESO package. It is only enabled if +This compute is part of the USER-MESODPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_style tdpd ` +:doc:`pair_style tdpd ` **Default:** none - ---------- - .. _Li2015a: - - **(Li2015)** Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, 143: 014101 (2015). DOI: 10.1063/1.4923254 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp.rst b/doc/src/compute_temp.rst index 052da705ac825ae930ee3f7be37260f828170142..9232191472f830ca0b7da8d17ba3404099d76ad0 100644 --- a/doc/src/compute_temp.rst +++ b/doc/src/compute_temp.rst @@ -9,7 +9,6 @@ compute temp/kk command Syntax """""" - .. parsed-literal:: compute ID group-ID temp @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp compute myTemp mobile temp @@ -31,7 +29,7 @@ Description Define a computation that calculates the temperature of a group of atoms. A compute of this style can be used by any command that -computes a temperature, e.g. :doc:`thermo\_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. +computes a temperature, e.g. :doc:`thermo_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v\^2), @@ -47,33 +45,30 @@ zz, xy, xz, yz. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. This compute subtracts out degrees-of-freedom due to fixes that constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -*extra* option of the :doc:`compute\_modify ` command. +*extra* option of the :doc:`compute_modify ` command. -A compute of this style with the ID of "thermo\_temp" is created when +A compute of this style with the ID of "thermo_temp" is created when LAMMPS starts up, as if this command were in the input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute thermo_temp all temp -See the "thermo\_style" command for more details. +See the "thermo_style" command for more details. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - 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 @@ -92,10 +87,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global @@ -120,8 +113,3 @@ Related commands :doc:`compute temp/partial `, :doc:`compute temp/region `, :doc:`compute pressure ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_asphere.rst b/doc/src/compute_temp_asphere.rst index 46743c780e414e75d0cb63ca4df7e5823b49cd41..46fadc2ff512783f0facdcd9c9073049e4c54556 100644 --- a/doc/src/compute_temp_asphere.rst +++ b/doc/src/compute_temp_asphere.rst @@ -6,7 +6,6 @@ compute temp/asphere command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/asphere keyword value ... @@ -15,22 +14,19 @@ Syntax * temp/asphere = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *bias* or *dof* - + .. parsed-literal:: - + *bias* value = bias-ID bias-ID = ID of a temperature compute that removes a velocity bias *dof* value = *all* or *rotate* all = compute temperature of translational and rotational degrees of freedom rotate = compute temperature of just rotational degrees of freedom - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/asphere compute myTemp mobile temp/asphere bias tempCOM @@ -59,7 +55,7 @@ rotational). use a combination of interaction potentials and fixes that induce no torque or otherwise constrain some of all of your particles so that this is not the case. Then there are less dof and you should use the - :doc:`compute\_modify extra ` command to adjust the dof + :doc:`compute_modify extra ` command to adjust the dof accordingly. For example, an aspherical particle with all three of its shape @@ -94,23 +90,21 @@ vector are ordered xx, yy, zz, xy, xz, yz. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. This compute subtracts out translational degrees-of-freedom due to fixes that constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the -:doc:`compute\_modify ` command. +:doc:`compute_modify ` command. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - The keyword/value option pairs are used in the following ways. For the *bias* keyword, *bias-ID* refers to the ID of a temperature @@ -127,10 +121,8 @@ that includes both translational and rotational degrees of freedom. A setting of *rotate* calculates a temperature that includes only rotational degrees of freedom. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global @@ -148,12 +140,11 @@ vector values will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute requires that atoms store angular momentum and a -quaternion as defined by the :doc:`atom\_style ellipsoid ` +quaternion as defined by the :doc:`atom_style ellipsoid ` command. All particles in the group must be finite-size. They cannot be point @@ -166,8 +157,3 @@ Related commands :doc:`compute temp ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_body.rst b/doc/src/compute_temp_body.rst index e17227fe3e49cc586d91261d8e0ffa37481bf746..75477eff36e4c7aadf7d950380ab29a9ffc90f0f 100644 --- a/doc/src/compute_temp_body.rst +++ b/doc/src/compute_temp_body.rst @@ -6,7 +6,6 @@ compute temp/body command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/body keyword value ... @@ -15,22 +14,19 @@ Syntax * temp/body = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *bias* or *dof* - + .. parsed-literal:: - + *bias* value = bias-ID bias-ID = ID of a temperature compute that removes a velocity bias *dof* value = *all* or *rotate* all = compute temperature of translational and rotational degrees of freedom rotate = compute temperature of just rotational degrees of freedom - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/body compute myTemp mobile temp/body bias tempCOM @@ -57,7 +53,7 @@ rotational). rotational dof. It is possible to use a combination of interaction potentials and fixes that induce no torque or otherwise constrain some of all of your particles so that this is not the case. Then there are - less dof and you should use the :doc:`compute\_modify extra ` command to adjust the dof accordingly. + less dof and you should use the :doc:`compute_modify extra ` command to adjust the dof accordingly. The translational kinetic energy is computed the same as is described by the :doc:`compute temp ` command. The rotational @@ -74,23 +70,21 @@ vector are ordered xx, yy, zz, xy, xz, yz. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. This compute subtracts out translational degrees-of-freedom due to fixes that constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the -:doc:`compute\_modify ` command. +:doc:`compute_modify ` command. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - The keyword/value option pairs are used in the following ways. For the *bias* keyword, *bias-ID* refers to the ID of a temperature @@ -107,10 +101,8 @@ that includes both translational and rotational degrees of freedom. A setting of *rotate* calculates a temperature that includes only rotational degrees of freedom. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global @@ -128,12 +120,11 @@ vector values will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This compute requires that atoms store angular momentum and a -quaternion as defined by the :doc:`atom\_style body ` +quaternion as defined by the :doc:`atom_style body ` command. Related commands @@ -142,8 +133,3 @@ Related commands :doc:`compute temp ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_chunk.rst b/doc/src/compute_temp_chunk.rst index cc9e70a0c57484034e76d7750f85b78ae7fe3d04..89bef3a3278445d570acaa317e8e051c2fa82295 100644 --- a/doc/src/compute_temp_chunk.rst +++ b/doc/src/compute_temp_chunk.rst @@ -6,7 +6,6 @@ compute temp/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/chunk chunkID value1 value2 ... keyword value ... @@ -16,18 +15,18 @@ Syntax * chunkID = ID of :doc:`compute chunk/atom ` command * zero or more values can be listed as value1,value2,etc * value = *temp* or *kecom* or *internal* - + .. parsed-literal:: - + temp = temperature of each chunk kecom = kinetic energy of each chunk based on velocity of center of mass internal = internal kinetic energy of each chunk * zero or more keyword/value pairs may be appended * keyword = *com* or *bias* or *adof* or *cdof* - + .. parsed-literal:: - + *com* value = *yes* or *no* yes = subtract center-of-mass velocity from each chunk before calculating temperature no = do not subtract center-of-mass velocity @@ -38,13 +37,10 @@ Syntax *cdof* value = dof_per_chunk dof_per_chunk = define this many degrees-of-freedom per chunk - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid temp/chunk molchunk compute 1 fluid temp/chunk molchunk temp internal @@ -89,7 +85,7 @@ Note that the number of atoms contributing to the temperature is calculated each time the temperature is evaluated since it is assumed the atoms may be dynamically assigned to chunks. Thus there is no need to use the *dynamic* option of the -:doc:`compute\_modify ` command for this compute style. +:doc:`compute_modify ` command for this compute style. If any optional values are specified, then per-chunk quantities are also calculated and stored in a global array, as described below. @@ -116,10 +112,8 @@ chunk. The interal KE is summed over the atoms in the chunk using an internal "thermal" velocity for each atom, which is its velocity minus the center-of-mass velocity of the chunk. - ---------- - Note that currently the global and per-chunk temperatures calculated by this compute only include translational degrees of freedom for each atom. No rotational degrees of freedom are included for finite-size @@ -155,17 +149,14 @@ calculating the temperature; fix ave/chunk does not. The simplest way to output the per-chunk results of the compute temp/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all temp/chunk cc1 temp fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector - ---------- - The keyword/value option pairs are used in the following ways. The *com* keyword can be used with a value of *yes* to subtract the @@ -208,10 +199,8 @@ set to the remaining degrees of freedom for the entire molecule (entire chunk in this case), e.g. 6 for 3d, or 3 for 2d, for a rigid molecule. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global @@ -240,7 +229,6 @@ energy :doc:`units ` for the *kecom* and *internal* values. Restrictions """""""""""" - The *com* and *bias* keywords cannot be used together. Related commands @@ -253,8 +241,3 @@ Default The option defaults are com no, no bias, adof = dimensionality of the system (2 or 3), and cdof = 0.0. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_com.rst b/doc/src/compute_temp_com.rst index 083e9f652c4c2fc12b2951dff7f0d742a87e7461..b21db2ac27ea26e67abb1423684d0482210f0e98 100644 --- a/doc/src/compute_temp_com.rst +++ b/doc/src/compute_temp_com.rst @@ -6,7 +6,6 @@ compute temp/com command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/com @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/com compute myTemp mobile temp/com @@ -31,7 +29,7 @@ atoms, after subtracting out the center-of-mass velocity of the group. This is useful if the group is expected to have a non-zero net velocity for some reason. A compute of this style can be used by any command that computes a temperature, -e.g. :doc:`thermo\_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. +e.g. :doc:`thermo_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. After the center-of-mass velocity has been subtracted from each atom, the temperature is calculated by the formula KE = dim/2 N k T, where @@ -48,7 +46,7 @@ zz, xy, xz, yz. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. The removal of the center-of-mass velocity by this fix is essentially computing the temperature after a "bias" has been removed from the @@ -63,7 +61,7 @@ constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -*extra* option of the :doc:`compute\_modify ` command. +*extra* option of the :doc:`compute_modify ` command. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform @@ -93,8 +91,3 @@ Related commands :doc:`compute temp ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_cs.rst b/doc/src/compute_temp_cs.rst index 7d5843e1db505f4b2bef86e04eb44e7896fe6a33..f3c82c2b1a2bd7d14cfb1d2faf8dc7404a0bc49a 100644 --- a/doc/src/compute_temp_cs.rst +++ b/doc/src/compute_temp_cs.rst @@ -6,7 +6,6 @@ compute temp/cs command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/cs group1 group2 @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute oxygen_c-s all temp/cs O_core O_shell compute core_shells all temp/cs cores shells @@ -38,7 +36,7 @@ enables correct temperature calculation and thermostatting of core/shell pairs where it is desirable for the internal degrees of freedom of the core/shell pairs to not be influenced by a thermostat. A compute of this style can be used by any command that computes a -temperature via :doc:`fix\_modify ` e.g. :doc:`fix temp/rescale `, :doc:`fix npt `, etc. +temperature via :doc:`fix_modify ` e.g. :doc:`fix temp/rescale `, :doc:`fix npt `, etc. Note that this compute does not require all ions to be polarized, hence defined as core/shell pairs. One can mix core/shell pairs and @@ -102,7 +100,6 @@ vector values will be in energy :doc:`units `. Restrictions """""""""""" - The number of core/shell pairs contributing to the temperature is assumed to be constant for the duration of the run. No fixes should be used which generate new molecules or atoms during a simulation. @@ -114,18 +111,9 @@ Related commands **Default:** none - ---------- - .. _MitchellFinchham1: - - **(Mitchell and Finchham)** Mitchell, Finchham, J Phys Condensed Matter, 5, 1031-1038 (1993). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_deform.rst b/doc/src/compute_temp_deform.rst index 88dbc624220b3bb454cde387de84817555f2845b..d73670485b050f4aca0f188c4f4e44c7a8969447 100644 --- a/doc/src/compute_temp_deform.rst +++ b/doc/src/compute_temp_deform.rst @@ -6,7 +6,6 @@ compute temp/deform command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/deform @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute myTemp all temp/deform @@ -33,7 +31,7 @@ induced by use of the :doc:`fix deform ` command. A compute of this style is created by the :doc:`fix nvt/sllod ` command to compute the thermal temperature of atoms for thermostatting purposes. A compute of this style can also be used by any command -that computes a temperature, e.g. :doc:`thermo\_modify `, +that computes a temperature, e.g. :doc:`thermo_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. The deformation fix changes the box size and/or shape over time, so @@ -74,7 +72,7 @@ zz, xy, xz, yz. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. The removal of the box deformation velocity component by this fix is essentially computing the temperature after a "bias" has been removed @@ -104,7 +102,7 @@ constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -*extra* option of the :doc:`compute\_modify ` command. +*extra* option of the :doc:`compute_modify ` command. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform @@ -135,8 +133,3 @@ Related commands :doc:`fix nvt/sllod ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_deform_eff.rst b/doc/src/compute_temp_deform_eff.rst index 98b28aa76a2b900a10ede008669e931b47adad46..b5d66595737e0de7fc268f3881e332e5417c1b23 100644 --- a/doc/src/compute_temp_deform_eff.rst +++ b/doc/src/compute_temp_deform_eff.rst @@ -6,7 +6,6 @@ compute temp/deform/eff command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/deform/eff @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute myTemp all temp/deform/eff @@ -34,7 +32,7 @@ induced by use of the :doc:`fix deform ` command. A compute of this style is created by the :doc:`fix nvt/sllod/eff ` command to compute the thermal temperature of atoms for thermostatting purposes. A compute of this style can also be used by any command that computes a temperature, -e.g. :doc:`thermo\_modify `, :doc:`fix npt/eff `, +e.g. :doc:`thermo_modify `, :doc:`fix npt/eff `, etc. The calculation performed by this compute is exactly like that @@ -62,7 +60,6 @@ vector values will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -73,8 +70,3 @@ Related commands :doc:`fix nvt/sllod/eff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_drude.rst b/doc/src/compute_temp_drude.rst index fbebf02ea97bfc9e06b07bfd3575fd03493907ef..8cb9849a24691d90cdeef6ffe53e62b7f923161b 100644 --- a/doc/src/compute_temp_drude.rst +++ b/doc/src/compute_temp_drude.rst @@ -6,7 +6,6 @@ compute temp/drude command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/drude @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute TDRUDE all temp/drude @@ -69,19 +67,13 @@ are "extensive". Restrictions """""""""""" - The number of degrees of freedom contributing to the temperature is assumed to be constant for the duration of the run unless the -*fix\_modify* command sets the option *dynamic yes*\ . +*fix_modify* command sets the option *dynamic yes*\ . Related commands """""""""""""""" -:doc:`fix drude `, :doc:`fix langevin/drude `, :doc:`fix drude/transform `, :doc:`pair\_style thole `, :doc:`compute temp ` +:doc:`fix drude `, :doc:`fix langevin/drude `, :doc:`fix drude/transform `, :doc:`pair_style thole `, :doc:`compute temp ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_eff.rst b/doc/src/compute_temp_eff.rst index b83a9cbec97f86392e978330e22061181b0074bb..84a2028920054da28d36ca453f3b2b3333cd45d0 100644 --- a/doc/src/compute_temp_eff.rst +++ b/doc/src/compute_temp_eff.rst @@ -6,7 +6,6 @@ compute temp/eff command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/eff @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/eff compute myTemp mobile temp/eff @@ -29,14 +27,14 @@ Description Define a computation that calculates the temperature of a group of nuclei and electrons in the :doc:`electron force field ` model. A compute of this style can be used by commands that compute a -temperature, e.g. :doc:`thermo\_modify `, :doc:`fix npt/eff `, etc. +temperature, e.g. :doc:`thermo_modify `, :doc:`fix npt/eff `, etc. The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v\^2 for nuclei and sum of 1/2 (m v\^2 + 3/4 m s\^2) for electrons, where s includes the radial electron velocity contributions), dim = 2 or 3 = dimensionality of the simulation, N = number of atoms (only total -number of nuclei in the eFF (see the :doc:`pair\_eff ` +number of nuclei in the eFF (see the :doc:`pair_eff ` command) in the group, k = Boltzmann constant, and T = temperature. This expression is summed over all nuclear and electronic degrees of freedom, essentially by setting the kinetic contribution to the heat @@ -50,11 +48,10 @@ densities two to five times the density of liquid H2 ranges from For eFF models, in order to override the default temperature reported by LAMMPS in the thermodynamic quantities reported via the :doc:`thermo ` command, the user should apply a - :doc:`thermo\_modify ` command, as shown in the following + :doc:`thermo_modify ` command, as shown in the following example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute effTemp all temp/eff thermo_style custom step etotal pe ke temp press @@ -68,14 +65,14 @@ again, the radial electronic velocities are also considered. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. This compute subtracts out degrees-of-freedom due to fixes that constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -*extra* option of the :doc:`compute\_modify ` command. +*extra* option of the :doc:`compute_modify ` command. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform @@ -91,7 +88,6 @@ the simulation. Restrictions """""""""""" - This compute is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -101,8 +97,3 @@ Related commands :doc:`compute temp/partial `, :doc:`compute temp/region `, :doc:`compute pressure ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_partial.rst b/doc/src/compute_temp_partial.rst index 51e92dc4c412b31cf736ae1b83129c4bbf68856e..e2fd36f35a25fdd29819275a73feb01070a05c5a 100644 --- a/doc/src/compute_temp_partial.rst +++ b/doc/src/compute_temp_partial.rst @@ -6,7 +6,6 @@ compute temp/partial command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/partial xflag yflag zflag @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute newT flow temp/partial 1 1 0 @@ -29,7 +27,7 @@ Description Define a computation that calculates the temperature of a group of atoms, after excluding one or more velocity components. A compute of this style can be used by any command that computes a temperature, -e.g. :doc:`thermo\_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. +e.g. :doc:`thermo_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. The temperature is calculated by the formula KE = dim/2 N k T, where KE = total kinetic energy of the group of atoms (sum of 1/2 m v\^2), @@ -48,7 +46,7 @@ zz, xy, xz, yz. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. The removal of velocity components by this fix is essentially computing the temperature after a "bias" has been removed from the @@ -63,16 +61,14 @@ constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -*extra* option of the :doc:`compute\_modify ` command. +*extra* option of the :doc:`compute_modify ` command. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - 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 @@ -91,10 +87,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global @@ -119,8 +113,3 @@ Related commands :doc:`compute temp `, :doc:`compute temp/region `, :doc:`compute pressure ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_profile.rst b/doc/src/compute_temp_profile.rst index 67dcf3fd4994889e1119b6800ec6e75fb1f55ce0..53870fa300aae4dfdac246459be55255f7696bcb 100644 --- a/doc/src/compute_temp_profile.rst +++ b/doc/src/compute_temp_profile.rst @@ -6,7 +6,6 @@ compute temp/profile command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/profile xflag yflag zflag binstyle args @@ -15,9 +14,9 @@ Syntax * temp/profile = style name of this compute command * xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension * binstyle = *x* or *y* or *z* or *xy* or *yz* or *xz* or *xyz* - + .. parsed-literal:: - + *x* arg = Nx *y* arg = Ny *z* arg = Nz @@ -29,18 +28,15 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *out* - - .. parsed-literal:: - - *out* value = *tensor* or *bin* + .. parsed-literal:: + *out* value = *tensor* or *bin* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute myTemp flow temp/profile 1 1 1 x 10 compute myTemp flow temp/profile 1 1 1 x 10 out bin @@ -55,7 +51,7 @@ velocity field, before computing the kinetic energy. This can be useful for thermostatting a collection of atoms undergoing a complex flow, e.g. via a profile-unbiased thermostat (PUT) as described in :ref:`(Evans) `. A compute of this style can be used by any command -that computes a temperature, e.g. :doc:`thermo\_modify `, +that computes a temperature, e.g. :doc:`thermo_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. The *xflag*\ , *yflag*\ , *zflag* settings determine which components of @@ -107,7 +103,7 @@ bin. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. The removal of the spatially-averaged velocity field by this fix is essentially computing the temperature after a "bias" has been removed @@ -122,7 +118,7 @@ constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -*extra* option of the :doc:`compute\_modify ` command. +*extra* option of the :doc:`compute_modify ` command. .. note:: @@ -169,7 +165,6 @@ temperature :doc:`units `. Restrictions """""""""""" - You should not use too large a velocity-binning grid, especially in 3d. In the current implementation, the binned velocity averages are summed across all processors, so this will be inefficient if the grid @@ -186,17 +181,8 @@ Default The option default is out = tensor. - ---------- - .. _Evans1: - - **(Evans)** Evans and Morriss, Phys Rev Lett, 56, 2172-2175 (1986). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_ramp.rst b/doc/src/compute_temp_ramp.rst index a4fc86d541ce72ee1afc23cc37d5acd22d5377d6..4ac22bdfef3609cdf039a359f09873d3c35b26e8 100644 --- a/doc/src/compute_temp_ramp.rst +++ b/doc/src/compute_temp_ramp.rst @@ -6,7 +6,6 @@ compute temp/ramp command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/ramp vdim vlo vhi dim clo chi keyword value ... @@ -20,7 +19,6 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - .. parsed-literal:: *units* value = *lattice* or *box* @@ -28,8 +26,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 2nd middle temp/ramp vx 0 8 y 2 12 units lattice @@ -40,7 +37,7 @@ Define a computation that calculates the temperature of a group of atoms, after subtracting out an ramped velocity profile before computing the kinetic energy. A compute of this style can be used by any command that computes a temperature, -e.g. :doc:`thermo\_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. +e.g. :doc:`thermo_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. The meaning of the arguments for this command which define the velocity ramp are the same as for the :doc:`velocity ramp ` @@ -70,7 +67,7 @@ zz, xy, xz, yz. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. The removal of the ramped velocity component by this fix is essentially computing the temperature after a "bias" has been removed @@ -85,7 +82,7 @@ constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -*extra* option of the :doc:`compute\_modify ` command. +*extra* option of the :doc:`compute_modify ` command. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform @@ -118,8 +115,3 @@ Default """"""" The option default is units = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_region.rst b/doc/src/compute_temp_region.rst index 284b38d3b15baa9e88b1d7efae1a16f218f24341..e207d75d9f819badb3011a03c3b28eb64bac9097 100644 --- a/doc/src/compute_temp_region.rst +++ b/doc/src/compute_temp_region.rst @@ -6,7 +6,6 @@ compute temp/region command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/region region-ID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute mine flow temp/region boundary @@ -31,7 +29,7 @@ atoms in a geometric region. This can be useful for thermostatting one portion of the simulation box. E.g. a McDLT simulation where one side is cooled, and the other side is heated. A compute of this style can be used by any command that computes a temperature, -e.g. :doc:`thermo\_modify `, :doc:`fix temp/rescale `, etc. +e.g. :doc:`thermo_modify `, :doc:`fix temp/rescale `, etc. Note that a *region*\ -style temperature can be used to thermostat with :doc:`fix temp/rescale ` or :doc:`fix langevin `, but should probably not be used with @@ -54,7 +52,7 @@ zz, xy, xz, yz. The number of atoms contributing to the temperature is calculated each time the temperature is evaluated since it is assumed atoms can enter/leave the region. Thus there is no need to use the *dynamic* -option of the :doc:`compute\_modify ` command for this +option of the :doc:`compute_modify ` command for this compute style. The removal of atoms outside the region by this fix is essentially @@ -77,7 +75,7 @@ motion, such as :doc:`fix shake ` and :doc:`fix rigid `. the region boundary, and hence the concept is somewhat ill-defined. If needed the number of subtracted degrees-of-freedom can be set explicitly using the *extra* option of the -:doc:`compute\_modify ` command. +:doc:`compute_modify ` command. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform @@ -107,8 +105,3 @@ Related commands :doc:`compute temp `, :doc:`compute pressure ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_region_eff.rst b/doc/src/compute_temp_region_eff.rst index b09752a4e2a929debff9afcda6a20ecea5a99acf..a05cc5597c33c226a2f61245bf846f56bfd37a61 100644 --- a/doc/src/compute_temp_region_eff.rst +++ b/doc/src/compute_temp_region_eff.rst @@ -6,7 +6,6 @@ compute temp/region/eff command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/region/eff region-ID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute mine flow temp/region/eff boundary @@ -30,7 +28,7 @@ Define a computation that calculates the temperature of a group of nuclei and electrons in the :doc:`electron force field ` model, within a geometric region using the electron force field. A compute of this style can be used by commands that compute a -temperature, e.g. :doc:`thermo\_modify `. +temperature, e.g. :doc:`thermo_modify `. The operation of this compute is exactly like that described by the :doc:`compute temp/region ` command, except that @@ -54,7 +52,6 @@ vector values will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -64,8 +61,3 @@ Related commands :doc:`compute temp/region `, :doc:`compute temp/eff `, :doc:`compute pressure ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_rotate.rst b/doc/src/compute_temp_rotate.rst index 75912482d86cda4dd004fc7e0f876bfa0056529e..7d3ed4d63d5399a8295a0869f9ee5c71c6ea6616 100644 --- a/doc/src/compute_temp_rotate.rst +++ b/doc/src/compute_temp_rotate.rst @@ -6,7 +6,6 @@ compute temp/rotate command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/rotate @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute Tbead bead temp/rotate @@ -30,7 +28,7 @@ atoms, after subtracting out the center-of-mass velocity and angular velocity of This is useful if the group is expected to have a non-zero net velocity and/or global rotation motion for some reason. A compute of this style can be used by any command that computes a temperature, -e.g. :doc:`thermo\_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. +e.g. :doc:`thermo_modify `, :doc:`fix temp/rescale `, :doc:`fix npt `, etc. After the center-of-mass velocity and angular velocity has been subtracted from each atom, the temperature is calculated by the formula KE = dim/2 N k T, where @@ -47,7 +45,7 @@ zz, xy, xz, yz. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. The removal of the center-of-mass velocity and angular velocity by this fix is essentially computing the temperature after a "bias" has been removed from the @@ -62,7 +60,7 @@ constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the -*extra* option of the :doc:`compute\_modify ` command. +*extra* option of the :doc:`compute_modify ` command. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform @@ -85,7 +83,6 @@ vector values will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -95,8 +92,3 @@ Related commands :doc:`compute temp ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_sphere.rst b/doc/src/compute_temp_sphere.rst index 6008874ce48d00967f88b28cafafe5501603417b..f0cd4c3ba037947755ab9e71dda99bbd839554bb 100644 --- a/doc/src/compute_temp_sphere.rst +++ b/doc/src/compute_temp_sphere.rst @@ -6,7 +6,6 @@ compute temp/sphere command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/sphere keyword value ... @@ -15,22 +14,19 @@ Syntax * temp/sphere = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *bias* or *dof* - + .. parsed-literal:: - + *bias* value = bias-ID bias-ID = ID of a temperature compute that removes a velocity bias *dof* value = *all* or *rotate* all = compute temperature of translational and rotational degrees of freedom rotate = compute temperature of just rotational degrees of freedom - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/sphere compute myTemp mobile temp/sphere bias tempCOM @@ -59,7 +55,7 @@ each has 3 degrees of freedom (2 translational, 1 rotational). combination of interaction potentials and fixes that induce no torque or otherwise constrain some of all of your particles so that this is not the case. Then there are less dof and you should use the - :doc:`compute\_modify extra ` command to adjust the dof + :doc:`compute_modify extra ` command to adjust the dof accordingly. The translational kinetic energy is computed the same as is described @@ -81,23 +77,21 @@ the vector are ordered xx, yy, zz, xy, xz, yz. The number of atoms contributing to the temperature is assumed to be constant for the duration of the run; use the *dynamic* option of the -:doc:`compute\_modify ` command if this is not the case. +:doc:`compute_modify ` command if this is not the case. This compute subtracts out translational degrees-of-freedom due to fixes that constrain molecular motion, such as :doc:`fix shake ` and :doc:`fix rigid `. This means the temperature of groups of atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the -:doc:`compute\_modify ` command. +:doc:`compute_modify ` command. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - The keyword/value option pairs are used in the following ways. For the *bias* keyword, *bias-ID* refers to the ID of a temperature @@ -114,10 +108,8 @@ that includes both translational and rotational degrees of freedom. A setting of *rotate* calculates a temperature that includes only rotational degrees of freedom. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global @@ -135,9 +127,8 @@ vector values will be in energy :doc:`units `. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the :doc:`atom\_style sphere ` +and a radius as defined by the :doc:`atom_style sphere ` command. All particles in the group must be finite-size spheres, or point @@ -152,8 +143,3 @@ Default """"""" The option defaults are no bias and dof = all. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_temp_uef.rst b/doc/src/compute_temp_uef.rst index 4512c08b6dd4c9a14db83ce032824d6c83e5f46a..2ce288a66f1c493d43aa58715305039768c8165e 100644 --- a/doc/src/compute_temp_uef.rst +++ b/doc/src/compute_temp_uef.rst @@ -6,7 +6,6 @@ compute temp/uef command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/uef @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/uef compute 2 sel temp/uef @@ -40,7 +38,6 @@ documentation for :doc:`compute temp `. Restrictions """""""""""" - This fix is part of the USER-UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -55,8 +52,3 @@ Related commands :doc:`compute pressure/uef ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_ti.rst b/doc/src/compute_ti.rst index e21e6caf6debe750bf6e9d5512e13ad8ab91290e..79fc56178c279d103c11ee933fef4ef31a2637c0 100644 --- a/doc/src/compute_ti.rst +++ b/doc/src/compute_ti.rst @@ -6,7 +6,6 @@ compute ti command Syntax """""" - .. parsed-literal:: compute ID group ti keyword args ... @@ -15,9 +14,9 @@ Syntax * ti = style name of this compute command * one or more attribute/arg pairs may be appended * keyword = pair style (lj/cut, gauss, born, etc) or *tail* or *kspace* - + .. parsed-literal:: - + pair style args = atype v_name1 v_name2 atype = atom type (see asterisk form below) v_name1 = variable with name1 that is energy scale factor and function of lambda @@ -31,16 +30,13 @@ Syntax v_name1 = variable with name1 that is K-Space scale factor and function of lambda v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ti lj/cut 1 v_lj v_dlj coul/long 2 v_c v_dc kspace 1 v_ks v_dks - compute 1 all ti lj/cut 1\*3 v_lj v_dlj coul/long \* v_c v_dc kspace \* v_ks v_dks + compute 1 all ti lj/cut 1*3 v_lj v_dlj coul/long * v_c v_dc kspace * v_ks v_dks Description """"""""""" @@ -54,7 +50,7 @@ described in :ref:`Eike `. Typically this compute will be used in conjunction with the :doc:`fix adapt ` command which can perform alchemical transformations by adjusting the strength of an interaction potential as a simulation runs, as defined by one or more -:doc:`pair\_style ` or :doc:`kspace\_style ` +:doc:`pair_style ` or :doc:`kspace_style ` commands. This scaling is done via a prefactor on the energy, forces, virial calculated by the pair or K-Space style. The prefactor is often a function of a *lambda* parameter which may be adjusted from 0 @@ -62,17 +58,15 @@ to 1 (or vice versa) over the course of a :doc:`run `. The time-dependent adjustment is what the :doc:`fix adapt ` command does. -Assume that the unscaled energy of a pair\_style or kspace\_style is +Assume that the unscaled energy of a pair_style or kspace_style is given by U. Then the scaled energy is - .. parsed-literal:: Us = f(lambda) U where f() is some function of lambda. What this compute calculates is - .. parsed-literal:: dUs / d(lambda) = U df(lambda)/dlambda = Us / f(lambda) df(lambda)/dlambda @@ -91,16 +85,16 @@ leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -You also specify two functions, as :doc:`equal-style variables `. The first is specified as *v\_name1*, where +You also specify two functions, as :doc:`equal-style variables `. The first is specified as *v_name1*, where *name1* is the name of the variable, and is f(lambda) in the notation -above. The second is specified as *v\_name2*, where *name2* is the +above. The second is specified as *v_name2*, where *name2* is the name of the variable, and is df(lambda) / dlambda in the notation above. I.e. it is the analytic derivative of f() with respect to lambda. Note that the *name1* variable is also typically given as an argument to the :doc:`fix adapt ` command. An alchemical simulation may use several pair potentials together, -invoked via the :doc:`pair\_style hybrid or hybrid/overlay ` +invoked via the :doc:`pair_style hybrid or hybrid/overlay ` command. The total dUs/dlambda for the overall system is calculated as the sum of each contributing term as listed by the keywords in the compute ti command. Individual pair potentials can be listed, which @@ -117,10 +111,8 @@ command. More details about the exact functional forms for the computation of du/dl can be found in the paper by :ref:`Eike `. - ---------- - **Output info:** This compute calculates a global scalar, namely dUs/dlambda. This @@ -135,7 +127,6 @@ The scalar value will be in energy :doc:`units `. Restrictions """""""""""" - This compute is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -146,17 +137,8 @@ Related commands **Default:** none - ---------- - .. _Eike: - - **(Eike)** Eike and Maginn, Journal of Chemical Physics, 124, 164503 (2006). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_torque_chunk.rst b/doc/src/compute_torque_chunk.rst index d673aee13eee789aaf4d34bbf4882f65a79f08cc..258ce03aa05aa9b8bfa582901a28c650f92028c6 100644 --- a/doc/src/compute_torque_chunk.rst +++ b/doc/src/compute_torque_chunk.rst @@ -6,7 +6,6 @@ compute torque/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID torque/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid torque/chunk molchunk @@ -55,7 +53,7 @@ non-zero chunk IDs. "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of the - :doc:`read\_data ` command for a discussion of image flags and + :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by using the :doc:`set image ` command. @@ -63,12 +61,11 @@ The simplest way to output the results of the compute torque/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all torque/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** @@ -92,8 +89,3 @@ Related commands :doc:`variable torque() function ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_vacf.rst b/doc/src/compute_vacf.rst index 9b2aa5e3bf482c879f62d747b4241548ac466bf3..ce2757c115f395d312b0cdf086109e8ffebb980f 100644 --- a/doc/src/compute_vacf.rst +++ b/doc/src/compute_vacf.rst @@ -6,7 +6,6 @@ compute vacf command Syntax """""" - .. parsed-literal:: compute ID group-ID vacf @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all vacf compute 1 upper vacf @@ -43,12 +41,11 @@ The integral of the VACF versus time is proportional to the diffusion coefficient of the diffusing atoms. This can be computed in the following manner, using the :doc:`variable trap() ` function: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 2 all vacf fix 5 all vector 1 c_2[4] - variable diff equal dt\*trap(f_5) + variable diff equal dt*trap(f_5) thermo_style custom step v_diff .. note:: @@ -80,8 +77,3 @@ Related commands :doc:`compute msd ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_vcm_chunk.rst b/doc/src/compute_vcm_chunk.rst index f8718fe80386bdf4860bff888e6df58cac184cdc..415038d7c27d46fff23c4587b6385c79346b5867 100644 --- a/doc/src/compute_vcm_chunk.rst +++ b/doc/src/compute_vcm_chunk.rst @@ -6,7 +6,6 @@ compute vcm/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID vcm/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid vcm/chunk molchunk @@ -53,12 +51,11 @@ The simplest way to output the results of the compute vcm/chunk calculation to a file is to use the :doc:`fix ave/time ` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all vcm/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** @@ -79,8 +76,3 @@ Restrictions **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_voronoi_atom.rst b/doc/src/compute_voronoi_atom.rst index 7474fe1a252a157d4627fe9fea3a00abc64be323..a5d99d5de9aebc1e4b85e3052edb5613968224ed 100644 --- a/doc/src/compute_voronoi_atom.rst +++ b/doc/src/compute_voronoi_atom.rst @@ -6,7 +6,6 @@ compute voronoi/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID voronoi/atom keyword arg ... @@ -14,11 +13,11 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * voronoi/atom = style name of this compute command * zero or more keyword/value pairs may be appended -* keyword = *only\_group* or *surface* or *radius* or *edge\_histo* or *edge\_threshold* - or *face\_threshold* or *neighbors* or *peratom* - +* keyword = *only_group* or *surface* or *radius* or *edge_histo* or *edge_threshold* + or *face_threshold* or *neighbors* or *peratom* + .. parsed-literal:: - + *only_group* = no arg *occupation* = no arg *surface* arg = sgroup-ID @@ -35,13 +34,10 @@ Syntax *neighbors* value = *yes* or *no* = store list of all neighbors or no *peratom* value = *yes* or *no* = per-atom quantities accessible or no - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all voronoi/atom compute 2 precipitate voronoi/atom surface matrix @@ -67,11 +63,9 @@ plus any exterior faces (see note below). If the *peratom* keyword is set to "no", the per-atom quantities are still calculated, but they are not accessible. - ---------- - -If the *only\_group* keyword is specified the tessellation is performed +If the *only_group* keyword is specified the tessellation is performed only with respect to the atoms contained in the compute group. This is equivalent to deleting all atoms not contained in the group prior to evaluating the tessellation. @@ -86,24 +80,23 @@ In the example above, a precipitate embedded in a matrix, only atoms at the surface of the precipitate will have non-zero surface area, and only the outward facing facets of the Voronoi cells are counted (the hull of the precipitate). The total surface area of the precipitate -can be obtained by running a "reduce sum" compute on c\_2[3] +can be obtained by running a "reduce sum" compute on c_2[3] If the *radius* keyword is specified with an atom style variable as the argument, a poly-disperse Voronoi tessellation is performed. Examples for radius variables are +.. code-block:: LAMMPS -.. parsed-literal:: - - variable r1 atom (type==1)\*0.1+(type==2)\*0.4 + variable r1 atom (type==1)*0.1+(type==2)*0.4 compute radius all property/atom radius variable r2 atom c_radius -Here v\_r1 specifies a per-type radius of 0.1 units for type 1 atoms -and 0.4 units for type 2 atoms, and v\_r2 accesses the radius property -present in atom\_style sphere for granular models. +Here v_r1 specifies a per-type radius of 0.1 units for type 1 atoms +and 0.4 units for type 2 atoms, and v_r2 accesses the radius property +present in atom_style sphere for granular models. -The *edge\_histo* keyword activates the compilation of a histogram of +The *edge_histo* keyword activates the compilation of a histogram of number of edges on the faces of the Voronoi cells in the compute group. The argument *maxedge* of the this keyword is the largest number of edges on a single Voronoi cell face expected to occur in the @@ -113,7 +106,7 @@ faces with more than *maxedge* edges. Since the polygon with the smallest amount of edges is a triangle, entries 1 and 2 of the vector will always be zero. -The *edge\_threshold* and *face\_threshold* keywords allow the +The *edge_threshold* and *face_threshold* keywords allow the suppression of edges below a given minimum length and faces below a given minimum area. Ultra short edges and ultra small faces can occur as artifacts of the Voronoi tessellation. These keywords will affect @@ -146,19 +139,16 @@ overview of LAMMPS output options. More specifically, the array can be accessed by a :doc:`dump local ` command to write a file containing all the Voronoi neighbors in a system: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 6 all voronoi/atom neighbors yes dump d2 all local 1 dump.neighbors index c_6[1] c_6[2] c_6[3] -If the *face\_threshold* keyword is used, then only faces +If the *face_threshold* keyword is used, then only faces with areas greater than the threshold are stored. - ---------- - The Voronoi calculation is performed by the freely available `Voro++ package `_, written by Chris Rycroft at UC Berkeley and LBL, which must be installed on your system when building LAMMPS for use with this compute. See instructions on obtaining and installing the @@ -166,8 +156,6 @@ Voro++ software in the src/VORONOI/README file. .. _voronoi: http://math.lbl.gov/voro++/ - - .. note:: The calculation of Voronoi volumes is performed by each @@ -178,8 +166,8 @@ Voro++ software in the src/VORONOI/README file. systems, but may lead to underestimation of Voronoi volumes in low density systems. By default, the set of ghost atoms stored by each processor is determined by the cutoff used for - :doc:`pair\_style ` interactions. The cutoff can be set - explicitly via the :doc:`comm\_modify cutoff ` command. The + :doc:`pair_style ` interactions. The cutoff can be set + explicitly via the :doc:`comm_modify cutoff ` command. The Voronoi cells for atoms adjacent to empty regions will extend into those regions up to the communication cutoff in x, y, or z. In that situation, an exterior face is created at the cutoff distance normal @@ -198,7 +186,7 @@ Voro++ software in the src/VORONOI/README file. Voronoi cell can be obtained by dividing its volume by the z extent of the simulation box. Note that you define the z extent of the simulation box for 2d simulations when using the - :doc:`create\_box ` or :doc:`read\_data ` commands. + :doc:`create_box ` or :doc:`read_data ` commands. **Output info:** @@ -211,7 +199,7 @@ per-atom values from a compute as input. See the :doc:`Howto output ` squared. Restrictions """""""""""" - This compute is part of the VORONOI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -249,8 +236,3 @@ Related commands :doc:`dump custom `, :doc:`dump local ` **Default:** *neighbors* no, *peratom* yes - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/compute_xrd.rst b/doc/src/compute_xrd.rst index 00466ed8cef380f7a96fe5257d0e99909ab61781..29b1e9ebd08bfff915b140128f469024d8c6a6ac 100644 --- a/doc/src/compute_xrd.rst +++ b/doc/src/compute_xrd.rst @@ -6,7 +6,6 @@ compute xrd command Syntax """""" - .. parsed-literal:: compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ... @@ -17,9 +16,9 @@ Syntax * type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) * zero or more keyword/value pairs may be appended * keyword = *2Theta* or *c* or *LP* or *manual* or *echo* - + .. parsed-literal:: - + *2Theta* values = Min2Theta Max2Theta Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore (radians or degrees) @@ -32,13 +31,10 @@ Syntax based on the values of the *c* parameters *echo* = flag to provide extra output for debugging purposes - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual @@ -57,21 +53,16 @@ of wavelength lambda. The x-ray diffraction intensity, I, at each reciprocal lattice point, k, is computed from the structure factor, F, using the equations: -.. image:: Eqs/compute_xrd1.jpg - :align: center - -.. image:: Eqs/compute_xrd2.jpg - :align: center +.. math:: -.. image:: Eqs/compute_xrd3.jpg - :align: center - -.. image:: Eqs/compute_xrd4.jpg - :align: center + I = & Lp(\theta)\frac{F^{*}F}{N} \\ + F(\mathbf{k}) = & \sum_{j=1}^{N}f_j(\theta)exp(2\pi i \mathbf{k}\cdot \mathbf{r}_j) \\ + Lp(\theta) = & \frac{1+cos^{2}(2\theta)}{cos(\theta)sin^{2}(\theta)} \\ + \frac{sin(\theta)}{\lambda} = & \frac{\left | \mathbf{k} \right |}{2} -Here, K is the location of the reciprocal lattice node, rj is the -position of each atom, fj are atomic scattering factors, LP is the -Lorentz-polarization factor, and theta is the scattering angle of +Here, K is the location of the reciprocal lattice node, :math:`r_j` is the +position of each atom, :math:`f_j` are atomic scattering factors, *Lp* is the +Lorentz-polarization factor, and :math:`\theta` is the scattering angle of diffraction. The Lorentz-polarization factor can be turned off using the optional *LP* keyword. @@ -114,8 +105,10 @@ for each atom type (type1 type2 ... typeN) and angle of diffraction. The analytic approximation is computed using the formula :ref:`(Colliex) `: -.. image:: Eqs/compute_xrd5.jpg - :align: center +.. math:: + + f_j\left ( \frac{sin(\theta)}{\lambda} \right )=\sum_{i}^{4} + a_i exp\left ( -b_i \frac{sin^{2}(\theta)}{\lambda^{2}} \right )+c Coefficients parameterized by :ref:`(Peng) ` are assigned for each atom type designating the chemical symbol and charge of each atom @@ -229,11 +222,10 @@ All array values calculated by this compute are "intensive". Restrictions """""""""""" - This compute is part of the USER-DIFFRACTION package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -The compute\_xrd command does not work for triclinic cells. +The compute_xrd command does not work for triclinic cells. Related commands """""""""""""""" @@ -247,32 +239,19 @@ Default The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1, no manual flag, no echo flag. - ---------- - .. _xrd-Coleman: - - **(Coleman)** Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013). .. _Colliex: - - **(Colliex)** Colliex et al. International Tables for Crystallography Volume C: Mathematical and Chemical Tables, 249-429 (2004). .. _Peng: - - **(Peng)** Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76 (1996). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/computes.rst b/doc/src/computes.rst index 1c1819a444db76dad68f176ec412b53028313d14..8d53b6cf06958e94e0d0cf6e3b4e70ca9f6e6e22 100644 --- a/doc/src/computes.rst +++ b/doc/src/computes.rst @@ -1,7 +1,6 @@ Computes ######## - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 595095e213e3899108488556397be968feb7ada1..b58489f8685187918509cfb6693a221f61ba7662 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -1,21 +1,20 @@ -.. index:: create\_atoms +.. index:: create_atoms -create\_atoms command +create_atoms command ===================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS create_atoms type style args keyword values ... * type = atom type (1-Ntypes) of atoms to create (offset for molecule creation) * style = *box* or *region* or *single* or *random* - + .. parsed-literal:: - + *box* args = none *region* args = region-ID region-ID = particles will only be created if contained in the region @@ -28,9 +27,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *mol* or *basis* or *ratio* or *subset* or *remap* or *var* or *set* or *rotate* or *units* - - .. parsed-literal:: - + + .. code-block:: LAMMPS + *mol* value = template-ID seed template-ID = ID of molecule template specified in a separate :doc:`molecule ` command seed = random # seed (positive integer) @@ -55,13 +54,10 @@ Syntax *lattice* = the geometry is defined in lattice units *box* = the geometry is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS create_atoms 1 box create_atoms 3 region regsphere basis 2 3 @@ -75,9 +71,9 @@ Description This command creates atoms (or molecules) on a lattice, or a single atom (or molecule), or a random collection of atoms (or molecules), as an alternative to reading in their coordinates explicitly via a -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` command. A simulation box must already exist, which is typically -created via the :doc:`create\_box ` command. Before using +created via the :doc:`create_box ` command. Before using this command, a lattice must also be defined using the :doc:`lattice ` command, unless you specify the *single* style with units = box or the *random* style. For the remainder of this doc @@ -92,7 +88,7 @@ the specified atom *type*\ . E.g. if *type* = 2, and the file specifies atom types 1,2,3, then each created molecule will have atom types 3,4,5. -For the *box* style, the create\_atoms command fills the entire +For the *box* style, the create_atoms command fills the entire simulation box with particles on the lattice. If your simulation box is periodic, you should insure its size is a multiple of the lattice spacings, to avoid unwanted atom overlaps at the box boundaries. If @@ -140,18 +136,18 @@ outside a geometric boundary. Note that this command adds particles to those that already exist. This means it can be used to add particles to a system previously read -in from a data or restart file. Or the create\_atoms command can be +in from a data or restart file. Or the create_atoms command can be used multiple times, to add multiple sets of particles to the simulation. For example, grain boundaries can be created, by -interleaving create\_atoms with :doc:`lattice ` commands -specifying different orientations. By using the create\_atoms command -in conjunction with the :doc:`delete\_atoms ` command, +interleaving create_atoms with :doc:`lattice ` commands +specifying different orientations. By using the create_atoms command +in conjunction with the :doc:`delete_atoms ` command, reasonably complex geometries can be created, or a protein can be solvated with a surrounding box of water molecules. In all these cases, care should be taken to insure that new atoms do not overlap existing atoms inappropriately, especially if molecules -are being added. The :doc:`delete\_atoms ` command can be +are being added. The :doc:`delete_atoms ` command can be used to remove overlapping atoms or molecules. .. note:: @@ -160,17 +156,15 @@ used to remove overlapping atoms or molecules. that are outside the simulation box; they will just be ignored by LAMMPS. This is true even if you are using shrink-wrapped box boundaries, as specified by the :doc:`boundary ` command. - However, you can first use the :doc:`change\_box ` command to - temporarily expand the box, then add atoms via create\_atoms, then - finally use change\_box command again if needed to re-shrink-wrap the - new atoms. See the :doc:`change\_box ` doc page for an - example of how to do this, using the create\_atoms *single* style to + However, you can first use the :doc:`change_box ` command to + temporarily expand the box, then add atoms via create_atoms, then + finally use change_box command again if needed to re-shrink-wrap the + new atoms. See the :doc:`change_box ` doc page for an + example of how to do this, using the create_atoms *single* style to insert a new atom outside the current simulation box. - ---------- - Individual atoms are inserted by this command, unless the *mol* keyword is used. It specifies a *template-ID* previously defined using the :doc:`molecule ` command, which reads a file that @@ -200,18 +194,16 @@ not overlap, regardless of their relative orientations. .. note:: - If the :doc:`create\_box ` command is used to create - the simulation box, followed by the create\_atoms command with its + If the :doc:`create_box ` command is used to create + the simulation box, followed by the create_atoms command with its *mol* option for adding molecules, then you typically need to use the - optional keywords allowed by the :doc:`create\_box ` command + optional keywords allowed by the :doc:`create_box ` command for extra bonds (angles,etc) or extra special neighbors. This is - because by default, the :doc:`create\_box ` command sets up a - non-molecular system which doesn't allow molecules to be added. - + because by default, the :doc:`create_box ` command sets up a + non-molecular system which does not allow molecules to be added. ---------- - This is the meaning of the other allowed keywords. The *basis* keyword is only used when atoms (not molecules) are being @@ -264,12 +256,11 @@ create a sinusoidal surface. Note that the surface is "rough" due to individual lattice points being "above" or "below" the mathematical expression for the sinusoidal curve. If a finer lattice were used, the sinusoid would appear to be "smoother". Also note the use of the -"xlat" and "ylat" :doc:`thermo\_style ` keywords which +"xlat" and "ylat" :doc:`thermo_style ` keywords which converts lattice spacings to distance. Click on the image for a larger version. - -.. parsed-literal:: +.. code-block:: LAMMPS dimension 2 variable x equal 100 @@ -280,7 +271,7 @@ larger version. 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" + 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 write_dump all atom sinusoid.lammpstrj @@ -304,14 +295,12 @@ the :doc:`units ` command, e.g. Angstroms for units = real or metal. A *lattice* value means the distance units are in lattice spacings. - ---------- - Atom IDs are assigned to created atoms in the following way. The collection of created atoms are assigned consecutive IDs that start immediately following the largest atom ID existing before the -create\_atoms command was invoked. This is done by the processor's +create_atoms command was invoked. This is done by the processor's communicating the number of atoms they each own, the first processor numbering its atoms from 1 to N1, the second processor from N1+1 to N2, etc. Where N1 = number of atoms owned by the first processor, N2 @@ -358,15 +347,12 @@ and thus also set the mass for the particle to 1.0. The :doc:`set ` command can be used to override many of these default settings. - ---------- - Restrictions """""""""""" - -An :doc:`atom\_style ` must be previously defined to use this +An :doc:`atom_style ` must be previously defined to use this command. A rotation vector specified for a single molecule must be in @@ -375,8 +361,8 @@ the z-direction for a 2d model. Related commands """""""""""""""" -:doc:`lattice `, :doc:`region `, :doc:`create\_box `, -:doc:`read\_data `, :doc:`read\_restart ` +:doc:`lattice `, :doc:`region `, :doc:`create_box `, +:doc:`read_data `, :doc:`read_restart ` Default """"""" @@ -385,8 +371,3 @@ The default for the *basis* keyword is that all created atoms are assigned the argument *type* as their atom type (when single atoms are being created). The other defaults are *remap* = no, *rotate* = random, and *units* = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/create_bonds.rst b/doc/src/create_bonds.rst index 185c1ebfd7369918c6da6193b480b1330643418e..b69fd909f0e24c9758c14c36dcdaa39ccd631802 100644 --- a/doc/src/create_bonds.rst +++ b/doc/src/create_bonds.rst @@ -1,19 +1,17 @@ -.. index:: create\_bonds +.. index:: create_bonds -create\_bonds command -===================== +create_bonds command +==================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS create_bonds style args ... keyword value ... * style = *many* or *single/bond* or *single/angle* or *single/dihedral* - .. parsed-literal:: *many* args = group-ID group2-ID btype rmin rmax @@ -42,13 +40,10 @@ Syntax *special* value = *yes* or *no* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS create_bonds many all all 1 1.0 1.2 create_bonds many surf solvent 3 2.0 2.4 @@ -66,15 +61,15 @@ or 4 specified atoms. The new bond (angle, dihedral, improper) interactions will then be computed during a simulation by the bond (angle, dihedral, improper) potential defined by -the :doc:`bond\_style `, :doc:`bond\_coeff `, -:doc:`angle\_style `, :doc:`angle\_coeff `, -:doc:`dihedral\_style `, -:doc:`dihedral\_coeff `, :doc:`improper\_style `, -:doc:`improper\_coeff ` commands. +the :doc:`bond_style `, :doc:`bond_coeff `, +:doc:`angle_style `, :doc:`angle_coeff `, +:doc:`dihedral_style `, +:doc:`dihedral_coeff `, :doc:`improper_style `, +:doc:`improper_coeff ` commands. The *many* style is useful for adding bonds to a system, e.g. between nearest neighbors in a lattice of atoms, without having to enumerate -all the bonds in the data file read by the :doc:`read\_data ` +all the bonds in the data file read by the :doc:`read_data ` command. The *single* styles are useful for adding bonds, angles, dihedrals, impropers @@ -97,18 +92,16 @@ data file for a complex system of molecules. bonds per atom are set to large enough values. And similarly for angles, dihedrals and impropers. Otherwise an error may occur when too many bonds (angles, dihedrals, impropers) are added to an atom. If the - :doc:`read\_data ` command is used to define the system, these + :doc:`read_data ` command is used to define the system, these parameters can be set via the "bond types" and "extra bond per atom" fields in the header section of the data file. If the - :doc:`create\_box ` command is used to define the system, + :doc:`create_box ` command is used to define the system, these 2 parameters can be set via its optional "bond/types" and "extra/bond/per/atom" arguments. And similarly for angles, dihedrals and impropers. See the doc pages for these 2 commands for details. - ---------- - The *many* style will create bonds between pairs of atoms I,J where I is in one of the two specified groups, and J is in the other. The two groups can be the same, e.g. group "all". The created bonds will be @@ -121,10 +114,10 @@ apart such that *rmin* <= D <= *rmax*\ . The following settings must have been made in an input script before this style is used: -* special\_bonds weight for 1-2 interactions must be 0.0 -* a :doc:`pair\_style ` must be defined -* no :doc:`kspace\_style ` defined -* minimum :doc:`pair\_style ` cutoff + :doc:`neighbor ` skin >= *rmax* +* special_bonds weight for 1-2 interactions must be 0.0 +* a :doc:`pair_style ` must be defined +* no :doc:`kspace_style ` defined +* minimum :doc:`pair_style ` cutoff + :doc:`neighbor ` skin >= *rmax* These settings are required so that a neighbor list can be created to search for nearby atoms. Pairs of atoms that are already bonded @@ -134,8 +127,8 @@ a distance that encompasses the *rmax* for new bonds to create. An additional requirement for this style is that your system must be ready to perform a simulation. This means, for example, that all -:doc:`pair\_style ` coefficients be set via the -:doc:`pair\_coeff ` command. A :doc:`bond\_style ` +:doc:`pair_style ` coefficients be set via the +:doc:`pair_coeff ` command. A :doc:`bond_style ` command and all bond coefficients must also be set, even if no bonds exist before this command is invoked. This is because the building of neighbor list requires initialization and setup of a simulation, @@ -143,13 +136,11 @@ similar to what a :doc:`run ` command would require. Note that you can change any of these settings after this command executes, e.g. if you wish to use long-range Coulombic interactions -via the :doc:`kspace\_style ` command for your subsequent +via the :doc:`kspace_style ` command for your subsequent simulation. - ---------- - The *single/bond* style creates a single bond of type *btype* between two atoms with IDs *batom1* and *batom2*\ . *Btype* must be a value between 1 and the number of bond types defined. @@ -157,7 +148,7 @@ between 1 and the number of bond types defined. The *single/angle* style creates a single angle of type *atype* between three atoms with IDs *aatom1*\ , *aatom2*\ , and *aatom3*\ . The ordering of the atoms is the same as in the *Angles* section of a data -file read by the :doc:`read\_data ` command. I.e. the 3 atoms are +file read by the :doc:`read_data ` command. I.e. the 3 atoms are ordered linearly within the angle; the central atom is *aatom2*\ . *Atype* must be a value between 1 and the number of angle types defined. @@ -165,21 +156,19 @@ defined. The *single/dihedral* style creates a single dihedral of type *dtype* between four atoms with IDs *datom1*\ , *datom2*\ , *datom3*\ , and *datom4*\ . The ordering of the atoms is the same as in the *Dihedrals* section of a data file -read by the :doc:`read\_data ` command. I.e. the 4 atoms are ordered +read by the :doc:`read_data ` command. I.e. the 4 atoms are ordered linearly within the dihedral. *dtype* must be a value between 1 and the number of dihedral types defined. The *single/improper* style creates a single improper of type *itype* between four atoms with IDs *iatom1*\ , *iatom2*\ , *iatom3*\ , and *iatom4*\ . The ordering of the atoms is the same as in the *Impropers* section of a data file -read by the :doc:`read\_data ` command. I.e. the 4 atoms are ordered +read by the :doc:`read_data ` command. I.e. the 4 atoms are ordered linearly within the improper. *itype* must be a value between 1 and the number of improper types defined. - ---------- - The keyword *special* controls whether an internal list of special bonds is created after one or more bonds, or a single angle, dihedral or improper is added to the system. @@ -190,15 +179,14 @@ with the *many* style. This is an expensive operation since the bond topology for the system must be walked to find all 1-2, 1-3, 1-4 interactions to store in an internal list, which is used when pairwise interactions are weighted; -see the :doc:`special\_bonds ` command for details. +see the :doc:`special_bonds ` command for details. Thus if you are adding a few bonds or a large list of angles all at the same time, by using this command repeatedly, it is more efficient to only trigger the internal list to be created once, after the last bond (or angle, or dihedral, or improper) is added: - -.. parsed-literal:: +.. code-block:: LAMMPS create_bonds single/bond 5 52 98 special no create_bonds single/bond 5 73 74 special no @@ -211,29 +199,21 @@ bond (angle, dihedral, improper) is added, before performing a simulation. Otherwise pairwise interactions will not be properly excluded or weighted. LAMMPS does NOT check that you have done this correctly. - ---------- - Restrictions """""""""""" - This command cannot be used with molecular systems defined using molecule template files via the :doc:`molecule ` and -:doc:`atom\_style template ` commands. +:doc:`atom_style template ` commands. Related commands """""""""""""""" -:doc:`create\_atoms `, :doc:`delete\_bonds ` +:doc:`create_atoms `, :doc:`delete_bonds ` Default """"""" The keyword default is special = yes. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index 1bffab90b5105a517e3dd49442bbd823c493f839..917a4b3b0a50aea9b2c74da62b4d719162c07cc2 100644 --- a/doc/src/create_box.rst +++ b/doc/src/create_box.rst @@ -1,13 +1,12 @@ -.. index:: create\_box +.. index:: create_box -create\_box command -=================== +create_box command +================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS create_box N region-ID keyword value ... @@ -15,9 +14,9 @@ Syntax * region-ID = ID of region to use as simulation domain * zero or more keyword/value pairs may be appended * keyword = *bond/types* or *angle/types* or *dihedral/types* or *improper/types* or *extra/bond/per/atom* or *extra/angle/per/atom* or *extra/dihedral/per/atom* or *extra/improper/per/atom* - + .. parsed-literal:: - + *bond/types* value = # of bond types *angle/types* value = # of angle types *dihedral/types* value = # of dihedral types @@ -28,13 +27,10 @@ Syntax *extra/improper/per/atom* value = # of impropers per atom *extra/special/per/atom* value = # of special neighbors per atom - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS create_box 2 mybox create_box 2 mybox bond/types 2 extra/bond/per/atom 1 @@ -67,7 +63,7 @@ positive or negative values and are called "tilt factors" because they are the amount of displacement applied to faces of an originally orthogonal box to transform it into the parallelepiped. -By default, a *prism* region used with the create\_box command must +By default, a *prism* region used with the create_box command must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be @@ -108,7 +104,7 @@ using the :doc:`change box ` command with its *ortho* and not make the lo/hi box dimensions (as defined in your :doc:`region ` command) radically smaller/larger than the extent of the atoms you eventually plan to create, e.g. via the - :doc:`create\_atoms ` command. For example, if your atoms + :doc:`create_atoms ` command. For example, if your atoms extend from 0 to 50, you should not specify the box bounds as -10000 and 10000. This is because as described above, LAMMPS uses the specified box size to layout the 3d grid of processors. A huge @@ -119,52 +115,42 @@ using the :doc:`change box ` command with its *ortho* and a parallel simulation to lose atoms the first time that LAMMPS shrink-wraps the box around the atoms. - ---------- - The optional keywords can be used to create a system that allows for bond (angle, dihedral, improper) interactions, or for molecules with special 1-2,1-3,1-4 neighbors to be added later. These optional keywords serve the same purpose as the analogous keywords that can be used in a data file which are recognized by the -:doc:`read\_data ` command when it sets up a system. +:doc:`read_data ` command when it sets up a system. -Note that if these keywords are not used, then the create\_box command +Note that if these keywords are not used, then the create_box command creates an atomic (non-molecular) simulation that does not allow bonds between pairs of atoms to be defined, or a :doc:`bond potential ` to be specified, or for molecules with special neighbors to be added to the system by commands such as -:doc:`create\_atoms mol `, :doc:`fix deposit ` +:doc:`create_atoms mol `, :doc:`fix deposit ` or :doc:`fix pour `. As an example, see the examples/deposit/in.deposit.molecule script, which deposits molecules onto a substrate. Initially there are no -molecules in the system, but they are added later by the :doc:`fix deposit ` command. The create\_box command in the +molecules in the system, but they are added later by the :doc:`fix deposit ` command. The create_box command in the script uses the bond/types and extra/bond/per/atom keywords to allow this. If the added molecule contained more than 1 special bond (allowed by default), an extra/special/per/atom keyword would also need to be specified. - ---------- - Restrictions """""""""""" - -An :doc:`atom\_style ` and :doc:`region ` must have +An :doc:`atom_style ` and :doc:`region ` must have been previously defined to use this command. Related commands """""""""""""""" -:doc:`read\_data `, :doc:`create\_atoms `, +:doc:`read_data `, :doc:`create_atoms `, :doc:`region ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/delete_atoms.rst b/doc/src/delete_atoms.rst index f2db9aeb3ad03050009779eaaed458452d535733..d695603dedf957b3a8af5fdcd4c3e9517f89aa47 100644 --- a/doc/src/delete_atoms.rst +++ b/doc/src/delete_atoms.rst @@ -1,20 +1,19 @@ -.. index:: delete\_atoms +.. index:: delete_atoms -delete\_atoms command -===================== +delete_atoms command +==================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS delete_atoms style args keyword value ... * style = *group* or *region* or *overlap* or *porosity* - + .. parsed-literal:: - + *group* args = group-ID *region* args = region-ID *overlap* args = cutoff group1-ID group2-ID @@ -28,20 +27,17 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *compress* or *bond* or *mol* - + .. parsed-literal:: - + *compress* value = *no* or *yes* *bond* value = *no* or *yes* *mol* value = *no* or *yes* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS delete_atoms group edge delete_atoms region sphere compress no @@ -90,24 +86,24 @@ different numbers of processors. If the *compress* keyword is set to *yes*\ , then after atoms are deleted, then atom IDs are re-assigned so that they run from 1 to the number of atoms in the system. Note that this is not done for -molecular systems (see the :doc:`atom\_style ` command), +molecular systems (see the :doc:`atom_style ` command), regardless of the *compress* setting, since it would foul up the bond connectivity that has already been assigned. However, the -:doc:`reset\_ids ` command can be used after this command to +:doc:`reset_ids ` command can be used after this command to accomplish the same thing. Note that the re-assignment of IDs is not really a compression, where gaps in atom IDs are removed by decrementing atom IDs that are larger. Instead the IDs for all atoms are erased, and new IDs are assigned so that the atoms owned by individual processors have consecutive IDs, as -the :doc:`create\_atoms ` command explains. +the :doc:`create_atoms ` command explains. A molecular system with fixed bonds, angles, dihedrals, or improper interactions, is one where the topology of the interactions is typically defined in the data file read by the -:doc:`read\_data ` command, and where the interactions -themselves are defined with the :doc:`bond\_style `, -:doc:`angle\_style `, etc commands. If you delete atoms +:doc:`read_data ` command, and where the interactions +themselves are defined with the :doc:`bond_style `, +:doc:`angle_style `, etc commands. If you delete atoms from such a system, you must be careful not to end up with bonded interactions that are stored by remaining atoms but which include deleted atoms. This will cause LAMMPS to generate a "missing atoms" @@ -139,7 +135,6 @@ part of molecules. Restrictions """""""""""" - The *overlap* styles requires inter-processor communication to acquire ghost atoms and build a neighbor list. This means that your system must be ready to perform a simulation before using this command (force @@ -149,7 +144,7 @@ find overlapping atom pairs, it also means that you must define a between any pair of atoms types (plus the :doc:`neighbor ` skin) >= the specified overlap cutoff. -If the :doc:`special\_bonds ` command is used with a +If the :doc:`special_bonds ` command is used with a setting of 0, then a pair of bonded atoms (1-2, 1-3, or 1-4) will not appear in the neighbor list, and thus will not be considered for deletion by the *overlap* styles. You probably don't want to be @@ -157,19 +152,14 @@ deleting one atom in a bonded pair anyway. The *bond yes* option cannot be used with molecular systems defined using molecule template files via the :doc:`molecule ` and -:doc:`atom\_style template ` commands. +:doc:`atom_style template ` commands. Related commands """""""""""""""" -:doc:`create\_atoms `, :doc:`reset\_ids ` +:doc:`create_atoms `, :doc:`reset_ids ` Default """"""" The option defaults are compress = yes, bond = no, mol = no. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/delete_bonds.rst b/doc/src/delete_bonds.rst index f964d059a66a03682b88451fa7092e20045462ce..9c42b5a2a01b39c30ba2fa43b8f2ac885a8491b0 100644 --- a/doc/src/delete_bonds.rst +++ b/doc/src/delete_bonds.rst @@ -1,22 +1,20 @@ -.. index:: delete\_bonds +.. index:: delete_bonds -delete\_bonds command -===================== +delete_bonds command +==================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS delete_bonds group-ID style arg keyword ... * group-ID = group ID -* style = *multi* or *atom* or *bond* or *angle* or *dihedral* or - *improper* or *stats* - +* style = *multi* or *atom* or *bond* or *angle* or *dihedral* or *improper* or *stats* + .. parsed-literal:: - + *multi* arg = none *atom* arg = an atom type or range of types (see below) *bond* arg = a bond type or range of types (see below) @@ -28,16 +26,14 @@ Syntax * zero or more keywords may be appended * keyword = *any* or *undo* or *remove* or *special* - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS delete_bonds frozen multi remove delete_bonds all atom 4 special - delete_bonds all bond 0\*3 special + delete_bonds all bond 0*3 special delete_bonds all stats Description @@ -48,7 +44,7 @@ dihedrals, impropers. This command is useful for deleting interactions that have been previously turned off by bond-breaking potentials. It is also useful for turning off topology interactions between frozen or rigid atoms. Pairwise interactions can be turned -off via the :doc:`neigh\_modify exclude ` command. The +off via the :doc:`neigh_modify exclude ` command. The :doc:`fix shake ` command also effectively turns off certain bond and angle interactions. @@ -83,20 +79,20 @@ must also be of the specified type. Styles *angle*\ , *dihedral*\ , and For style *bond*\ , you can set the type to 0 to delete bonds that have been previously broken by a bond-breaking potential (which sets the -bond type to 0 when a bond is broken); e.g. see the :doc:`bond\_style quartic ` command. +bond type to 0 when a bond is broken); e.g. see the :doc:`bond_style quartic ` command. For style *stats* no interactions are turned off (or on); the status of all interactions in the specified group is simply reported. This is useful for diagnostic purposes if bonds have been turned off by a bond-breaking potential during a previous run. -The default behavior of the delete\_bonds command is to turn off +The default behavior of the delete_bonds command is to turn off interactions by toggling their type to a negative value, but not to -permanently remove the interaction. E.g. a bond\_type of 2 is set to +permanently remove the interaction. E.g. a bond_type of 2 is set to -2. The neighbor list creation routines will not include such an interaction in their interaction lists. The default is also to not alter the list of 1-2, 1-3, 1-4 neighbors computed by the -:doc:`special\_bonds ` command and used to weight pairwise +:doc:`special_bonds ` command and used to weight pairwise force and energy calculations. This means that pairwise computations will proceed as if the bond (or angle, etc) were still turned on. @@ -109,7 +105,7 @@ interaction. Instead, if any of the atoms in the interaction are in the specified group, it will be turned off (or on if the *undo* keyword is used). -The *undo* keyword inverts the delete\_bonds command so that the +The *undo* keyword inverts the delete_bonds command so that the specified bonds, angles, etc are turned on if they are currently turned off. This means a negative value is toggled to positive. For example, for style *angle*\ , if *type* is specified as 2, then all @@ -117,14 +113,14 @@ angles with current type = -2, are reset to type = 2. Note that the :doc:`fix shake ` command also sets bond and angle types negative, so this option should not be used on those interactions. -The *remove* keyword is invoked at the end of the delete\_bonds +The *remove* keyword is invoked at the end of the delete_bonds operation. It causes turned-off bonds (angles, etc) to be removed from each atom's data structure and then adjusts the global bond (angle, etc) counts accordingly. Removal is a permanent change; removed bonds cannot be turned back on via the *undo* keyword. Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list. -The *special* keyword is invoked at the end of the delete\_bonds +The *special* keyword is invoked at the end of the delete_bonds operation, after (optional) removal. It re-computes the pairwise 1-2, 1-3, 1-4 weighting list. The weighting list computation treats turned-off bonds the same as turned-on. Thus, turned-off bonds must @@ -132,19 +128,18 @@ be removed if you wish to change the weighting list. Note that the choice of *remove* and *special* options affects how 1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that -have been modified by the delete\_bonds command. +have been modified by the delete_bonds command. Restrictions """""""""""" - This command requires inter-processor communication to acquire ghost atoms, to coordinate the deleting of bonds, angles, etc between atoms shared by multiple processors. This means that your system must be ready to perform a simulation before using this command (force fields setup, atom masses set, etc). Just as would be needed to run dynamics, the force field you define should define a cutoff -(e.g. through a :doc:`pair\_style ` command) which is long +(e.g. through a :doc:`pair_style ` command) which is long enough for a processor to acquire the ghost atoms its needs to compute bond, angle, etc interactions. @@ -157,12 +152,7 @@ which case you probably should be recomputing the weighting list. Related commands """""""""""""""" -:doc:`neigh\_modify ` exclude, -:doc:`special\_bonds `, :doc:`fix shake ` +:doc:`neigh_modify ` exclude, +:doc:`special_bonds `, :doc:`fix shake ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dielectric.rst b/doc/src/dielectric.rst index 96fc861d97629436a4d34e6c70817bdd31e37185..bd4f4dff56c7d96d6a9922ddf49d30af74931c4d 100644 --- a/doc/src/dielectric.rst +++ b/doc/src/dielectric.rst @@ -6,7 +6,6 @@ dielectric command Syntax """""" - .. parsed-literal:: dielectric value @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dielectric 2.0 @@ -29,7 +27,7 @@ long-range) to this value. The constant is unitless, since it is used to reduce the strength of the interactions. The value is used in the denominator of the formulas for Coulombic interactions - e.g. a value of 4.0 reduces the Coulombic interactions to 25% of their default -strength. See the :doc:`pair\_style ` command for more +strength. See the :doc:`pair_style ` command for more details. Restrictions @@ -39,17 +37,11 @@ Restrictions Related commands """""""""""""""" -:doc:`pair\_style ` +:doc:`pair_style ` Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS dielectric 1.0 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_charmm.rst b/doc/src/dihedral_charmm.rst index 52e636dd756f1fb3d556fa240c0ae6dcf58e5e74..38cb18d172af0080e399f1d64ecff0b0fb71a1a0 100644 --- a/doc/src/dihedral_charmm.rst +++ b/doc/src/dihedral_charmm.rst @@ -1,25 +1,24 @@ -.. index:: dihedral\_style charmm +.. index:: dihedral_style charmm -dihedral\_style charmm command -============================== +dihedral_style charmm command +============================= -dihedral\_style charmm/intel command -==================================== +dihedral_style charmm/intel command +=================================== -dihedral\_style charmm/kk command -================================= - -dihedral\_style charmm/omp command -================================== +dihedral_style charmm/kk command +================================ -dihedral\_style charmmfsw command +dihedral_style charmm/omp command ================================= +dihedral_style charmmfsw command +================================ + Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style style @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style charmm dihedral_style charmmfsw @@ -42,8 +40,9 @@ Description The *charmm* and *charmmfsw* dihedral styles use the potential -.. image:: Eqs/dihedral_charmm.jpg - :align: center +.. math:: + + E = K [ 1 + \cos (n \phi - d) ] See :ref:`(MacKerell) ` for a description of the CHARMM force field. This dihedral style can also be used for the AMBER force @@ -56,19 +55,19 @@ field. The newer *charmmfsw* style was released in March 2017. We recommend it be used instead of the older *charmm* style when running a simulation with the CHARMM force field, either with long-range - Coulombics or a Coulombic cutoff, via the :doc:`pair\_style lj/charmmfsw/coul/long ` and :doc:`pair\_style lj/charmmfsw/coul/charmmfsh ` commands respectively. + Coulombics or a Coulombic cutoff, via the :doc:`pair_style lj/charmmfsw/coul/long ` and :doc:`pair_style lj/charmmfsw/coul/charmmfsh ` commands respectively. Otherwise the older *charmm* style is fine to use. See the discussion - below and more details on the :doc:`pair\_style charmm ` doc + below and more details on the :doc:`pair_style charmm ` doc page. The following coefficients must be defined for each dihedral type via the -:doc:`dihedral\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`dihedral_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: -* K (energy) -* n (integer >= 0) -* d (integer value of degrees) +* :math:`K` (energy) +* :math:`n` (integer >= 0) +* :math:`d` (integer value of degrees) * weighting factor (1.0, 0.5, or 0.0) The weighting factor is required to correct for double counting @@ -78,8 +77,8 @@ With the CHARMM dihedral style, interactions between the 1st and 4th atoms in a dihedral are skipped during the normal non-bonded force computation and instead evaluated as part of the dihedral using special epsilon and sigma values specified with the -:doc:`pair\_coeff ` command of pair styles that contain -"lj/charmm" (e.g. :doc:`pair\_style lj/charmm/coul/long `) +:doc:`pair_coeff ` command of pair styles that contain +"lj/charmm" (e.g. :doc:`pair_style lj/charmm/coul/long `) In 6-membered rings, the same 1-4 interaction would be computed twice (once for the clockwise 1-4 pair in dihedral 1-2-3-4 and once in the counterclockwise dihedral 1-6-5-4) and thus the weighting factor has @@ -91,12 +90,12 @@ the ring in the opposite direction and thus the weighting factor is Note that this dihedral weighting factor is unrelated to the scaling factor specified by the :doc:`special bonds ` command which applies to all 1-4 interactions in the system. For CHARMM force -fields, the special\_bonds 1-4 interaction scaling factor should be set +fields, the special_bonds 1-4 interaction scaling factor should be set to 0.0. Since the corresponding 1-4 non-bonded interactions are computed with the dihedral. This means that if any of the weighting factors defined as dihedral coefficients (4th coeff above) are non-zero, then you must use a pair style with "lj/charmm" and set the -special\_bonds 1-4 scaling factor to 0.0 (which is the +special_bonds 1-4 scaling factor to 0.0 (which is the default). Otherwise 1-4 non-bonded interactions in dihedrals will be computed twice. @@ -107,15 +106,15 @@ distance between the two atoms is within the switching region of the pairwise potential defined by the corresponding CHARMM pair style, i.e. within the outer cutoff specified for the pair style. The *charmmfsw* style should only be used when using the corresponding -:doc:`pair\_style lj/charmmfsw/coul/charmmfsw ` or -:doc:`pair\_style lj/charmmfsw/coul/long ` commands. Use -the *charmm* style with the older :doc:`pair\_style ` +:doc:`pair_style lj/charmmfsw/coul/charmmfsw ` or +:doc:`pair_style lj/charmmfsw/coul/long ` commands. Use +the *charmm* style with the older :doc:`pair_style ` commands that have just "charmm" in their style name. See the -discussion on the :doc:`CHARMM pair\_style ` doc page for +discussion on the :doc:`CHARMM pair_style ` doc page for details. Note that for AMBER force fields, which use pair styles with "lj/cut", -the special\_bonds 1-4 scaling factor should be set to the AMBER +the special_bonds 1-4 scaling factor should be set to the AMBER defaults (1/2 and 5/6) and all the dihedral weighting factors (4th coeff above) must be set to 0.0. In this case, you can use any pair style you wish, since the dihedral does not need any Lennard-Jones @@ -124,10 +123,8 @@ interactions. Likewise the *charmm* or *charmmfsw* styles are identical in this case since no 1-4 non-bonded interactions are computed. - ---------- - 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 @@ -146,19 +143,16 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - -When using run\_style :doc:`respa `, these dihedral styles +When using run_style :doc:`respa `, these dihedral styles must be assigned to the same r-RESPA level as *pair* or *outer*\ . When used in combination with CHARMM pair styles, the 1-4 -:doc:`special\_bonds ` scaling factors must be set to 0.0. +:doc:`special_bonds ` scaling factors must be set to 0.0. Otherwise non-bonded contributions for these 1-4 pairs will be computed multiple times. @@ -169,29 +163,18 @@ for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - ---------- - .. _dihedral-Cornell: - - **(Cornell)** Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). .. _dihedral-MacKerell: - - **(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem B, 102, 3586 (1998). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_class2.rst b/doc/src/dihedral_class2.rst index f8f6a01bc4f8691b48e503c4dd51be109c738b63..034020429b6cdba1e5d50897f0a7278f723658fb 100644 --- a/doc/src/dihedral_class2.rst +++ b/doc/src/dihedral_class2.rst @@ -1,154 +1,159 @@ -.. index:: dihedral\_style class2 +.. index:: dihedral_style class2 -dihedral\_style class2 command -============================== +dihedral_style class2 command +============================= -dihedral\_style class2/omp command -================================== - -dihedral\_style class2/kk command +dihedral_style class2/omp command ================================= +dihedral_style class2/kk command +================================ + Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style class2 Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style class2 dihedral_coeff 1 100 75 100 70 80 60 - dihedral_coeff \* mbt 3.5945 0.1704 -0.5490 1.5228 - dihedral_coeff \* ebt 0.3417 0.3264 -0.9036 0.1368 0.0 -0.8080 1.0119 1.1010 + dihedral_coeff * mbt 3.5945 0.1704 -0.5490 1.5228 + dihedral_coeff * ebt 0.3417 0.3264 -0.9036 0.1368 0.0 -0.8080 1.0119 1.1010 dihedral_coeff 2 at 0.0 -0.1850 -0.7963 -2.0220 0.0 -0.3991 110.2453 105.1270 - dihedral_coeff \* aat -13.5271 110.2453 105.1270 - dihedral_coeff \* bb13 0.0 1.0119 1.1010 + dihedral_coeff * aat -13.5271 110.2453 105.1270 + dihedral_coeff * bb13 0.0 1.0119 1.1010 Description """"""""""" The *class2* dihedral style uses the potential -.. image:: Eqs/dihedral_class2.jpg - :align: center +.. math:: -where Ed is the dihedral term, Embt is a middle-bond-torsion term, -Eebt is an end-bond-torsion term, Eat is an angle-torsion term, Eaat -is an angle-angle-torsion term, and Ebb13 is a bond-bond-13 term. + E = & E_d + E_{mbt} + E_{ebt} + E_{at} + E_{aat} + E_{bb13} \\ + E_d = & \sum_{n=1}^{3} K_n [ 1 - \cos (n \phi - \phi_n) ] \\ + E_{mbt} = & (r_{jk} - r_2) [ A_1 \cos (\phi) + A_2 \cos (2\phi) + A_3 \cos (3\phi) ] \\ + E_{ebt} = & (r_{ij} - r_1) [ B_1 \cos (\phi) + B_2 \cos (2\phi) + B_3 \cos (3\phi) ] + \\ + & (r_{kl} - r_3) [ C_1 \cos (\phi) + C_2 \cos (2\phi) + C_3 \cos (3\phi) ] \\ + E_{at} = & (\theta_{ijk} - \theta_1) [ D_1 \cos (\phi) + D_2 \cos (2\phi) + D_3 \cos (3\phi) ] + \\ + & (\theta_{jkl} - \theta_2) [ E_1 \cos (\phi) + E_2 \cos (2\phi) + E_3 \cos (3\phi) ] \\ + E_{aat} = & M (\theta_{ijk} - \theta_1) (\theta_{jkl} - \theta_2) \cos (\phi) \\ + E_{bb13} = & N (r_{ij} - r_1) (r_{kl} - r_3) -Theta1 and theta2 are equilibrium angles and r1 r2 r3 are equilibrium -bond lengths. +where :math:`E_d` is the dihedral term, :math:`E_{mbt}` is a middle-bond-torsion term, +:math:`E_{ebt}` is an end-bond-torsion term, :math:`E_{at}` is an angle-torsion term, :math:`E_{aat}` +is an angle-angle-torsion term, and :math:`E_{bb13}` is a bond-bond-13 term. + +:math:`\theta_1` and :math:`\theta_2` are equilibrium angles and :math:`r_1`, :math:`r_2`, and +:math:`r_3` are equilibrium bond lengths. See :ref:`(Sun) ` for a description of the COMPASS class2 force field. -Coefficients for the Ed, Embt, Eebt, Eat, Eaat, and Ebb13 formulas -must be defined for each dihedral type via the -:doc:`dihedral\_coeff ` command as in the example above, -or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` -commands. - -These are the 6 coefficients for the Ed formula: - -* K1 (energy) -* phi1 (degrees) -* K2 (energy) -* phi2 (degrees) -* K3 (energy) -* phi3 (degrees) - -For the Embt formula, each line in a -:doc:`dihedral\_coeff ` command in the input script lists -5 coefficients, the first of which is "mbt" to indicate they are +Coefficients for the :math:`E_d`, :math:`E_{mbt}`, :math:`E_{ebt}`, +:math:`E_{at}`, :math:`E_{aat}`, and :math:`E_{bb13}` formulas must be +defined for each dihedral type via the :doc:`dihedral_coeff ` +command as in the example above, or in the data file +or restart files read by the :doc:`read_data ` or +:doc:`read_restart ` commands. + +These are the 6 coefficients for the :math:`E_d` formula: + +* :math:`K_1` (energy) +* :math:`\phi_1` (degrees) +* :math:`K_2` (energy) +* :math:`\phi_2` (degrees) +* :math:`K_3` (energy) +* :math:`phi_3` (degrees) + +For the :math:`E_{mbt}` formula, each line in a +:doc:`dihedral_coeff ` command in the input script lists +5 coefficients, the first of which is *mbt* to indicate they are MiddleBondTorsion coefficients. In a data file, these coefficients -should be listed under a "MiddleBondTorsion Coeffs" heading and you -must leave out the "mbt", i.e. only list 4 coefficients after the +should be listed under a *MiddleBondTorsion Coeffs* heading and you +must leave out the *mbt*, i.e. only list 4 coefficients after the dihedral type. -* mbt -* A1 (energy/distance) -* A2 (energy/distance) -* A3 (energy/distance) -* r2 (distance) +* *mbt* +* :math:`A_1` (energy/distance) +* :math:`A_2` (energy/distance) +* :math:`A_3` (energy/distance) +* :math:`r_2` (distance) -For the Eebt formula, each line in a -:doc:`dihedral\_coeff ` command in the input script lists -9 coefficients, the first of which is "ebt" to indicate they are +For the :math:`E_{ebt}` formula, each line in a +:doc:`dihedral_coeff ` command in the input script lists +9 coefficients, the first of which is *ebt* to indicate they are EndBondTorsion coefficients. In a data file, these coefficients -should be listed under a "EndBondTorsion Coeffs" heading and you must -leave out the "ebt", i.e. only list 8 coefficients after the dihedral +should be listed under a *EndBondTorsion Coeffs* heading and you must +leave out the *ebt*, i.e. only list 8 coefficients after the dihedral type. -* ebt -* B1 (energy/distance) -* B2 (energy/distance) -* B3 (energy/distance) -* C1 (energy/distance) -* C2 (energy/distance) -* C3 (energy/distance) -* r1 (distance) -* r3 (distance) - -For the Eat formula, each line in a -:doc:`dihedral\_coeff ` command in the input script lists -9 coefficients, the first of which is "at" to indicate they are +* *ebt* +* :math:`B_1` (energy/distance) +* :math:`B_2` (energy/distance) +* :math:`B_3` (energy/distance) +* :math:`C_1` (energy/distance) +* :math:`C_2` (energy/distance) +* :math:`C_3` (energy/distance) +* :math:`r_1` (distance) +* :math:`r_3` (distance) + +For the :math:`E_{at}` formula, each line in a +:doc:`dihedral_coeff ` command in the input script lists +9 coefficients, the first of which is *at* to indicate they are AngleTorsion coefficients. In a data file, these coefficients should -be listed under a "AngleTorsion Coeffs" heading and you must leave out -the "at", i.e. only list 8 coefficients after the dihedral type. - -* at -* D1 (energy/radian) -* D2 (energy/radian) -* D3 (energy/radian) -* E1 (energy/radian) -* E2 (energy/radian) -* E3 (energy/radian) -* theta1 (degrees) -* theta2 (degrees) - -Theta1 and theta2 are specified in degrees, but LAMMPS converts them -to radians internally; hence the units of D and E are in +be listed under a *AngleTorsion Coeffs* heading and you must leave out +the *at*, i.e. only list 8 coefficients after the dihedral type. + +* *at* +* :math:`D_1` (energy/radian) +* :math:`D_2` (energy/radian) +* :math:`D_3` (energy/radian) +* :math:`E_1` (energy/radian) +* :math:`E_2` (energy/radian) +* :math:`E_3` (energy/radian) +* :math:`\theta_1` (degrees) +* :math:`\theta_2` (degrees) + +:math:`\theta_1` and :math:`\theta_2` are specified in degrees, but LAMMPS converts +them to radians internally; hence the units of :math:`D` and :math:`E` are in energy/radian. -For the Eaat formula, each line in a -:doc:`dihedral\_coeff ` command in the input script lists -4 coefficients, the first of which is "aat" to indicate they are +For the :math:`E_{aat}` formula, each line in a +:doc:`dihedral_coeff ` command in the input script lists +4 coefficients, the first of which is *aat* to indicate they are AngleAngleTorsion coefficients. In a data file, these coefficients -should be listed under a "AngleAngleTorsion Coeffs" heading and you -must leave out the "aat", i.e. only list 3 coefficients after the +should be listed under a *AngleAngleTorsion Coeffs* heading and you +must leave out the *aat*, i.e. only list 3 coefficients after the dihedral type. -* aat -* M (energy/radian\^2) -* theta1 (degrees) -* theta2 (degrees) +* *aat* +* :math:`M` (energy/radian\^2) +* :math:`\theta_1` (degrees) +* :math:`\theta_2` (degrees) -Theta1 and theta2 are specified in degrees, but LAMMPS converts them -to radians internally; hence the units of M are in energy/radian\^2. +:math:`\theta_1` and :math:`\theta_2` are specified in degrees, but LAMMPS converts +them to radians internally; hence the units of M are in energy/radian\^2. -For the Ebb13 formula, each line in a -:doc:`dihedral\_coeff ` command in the input script lists -4 coefficients, the first of which is "bb13" to indicate they are +For the :math:`E_{bb13}` formula, each line in a +:doc:`dihedral_coeff ` command in the input script lists +4 coefficients, the first of which is *bb13* to indicate they are BondBond13 coefficients. In a data file, these coefficients should be -listed under a "BondBond13 Coeffs" heading and you must leave out the -"bb13", i.e. only list 3 coefficients after the dihedral type. - -* bb13 -* N (energy/distance\^2) -* r1 (distance) -* r3 (distance) +listed under a *BondBond13 Coeffs* heading and you must leave out the +*bb13*, i.e. only list 3 coefficients after the dihedral type. +* *bb13* +* :math:`N` (energy/distance\^2) +* :math:`r_1` (distance) +* :math:`r_3` (distance) ---------- - 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 @@ -167,14 +172,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the CLASS2 package. See the :doc:`Build package ` doc page for more info. @@ -182,21 +184,12 @@ page for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - ---------- - .. _dihedral-Sun: - - **(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_coeff.rst b/doc/src/dihedral_coeff.rst index a2cddfa6e970545e5c4ef12acdb1746e84da186a..d72a299416d058ff875fd86f4907af75dba69b25 100644 --- a/doc/src/dihedral_coeff.rst +++ b/doc/src/dihedral_coeff.rst @@ -1,13 +1,12 @@ -.. index:: dihedral\_coeff +.. index:: dihedral_coeff -dihedral\_coeff command -======================= +dihedral_coeff command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_coeff N args @@ -17,12 +16,11 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_coeff 1 80.0 1 3 - dihedral_coeff \* 80.0 1 3 0.5 - dihedral_coeff 2\* 80.0 1 3 0.5 + dihedral_coeff * 80.0 1 3 0.5 + dihedral_coeff 2* 80.0 1 3 0.5 Description """"""""""" @@ -30,7 +28,7 @@ Description Specify the dihedral force field coefficients for one or more dihedral types. The number and meaning of the coefficients depends on the dihedral style. Dihedral coefficients can also be set in the data file read by the -:doc:`read\_data ` command or in a restart file. +:doc:`read_data ` command or in a restart file. N can be specified in one of two ways. An explicit numeric value can be used, as in the 1st example above. Or a wild-card asterisk can be @@ -41,29 +39,27 @@ leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -Note that using a dihedral\_coeff command can override a previous setting +Note that using a dihedral_coeff command can override a previous setting for the same dihedral type. For example, these commands set the coeffs for all dihedral types, then overwrite the coeffs for just dihedral type 2: +.. code-block:: LAMMPS -.. parsed-literal:: - - dihedral_coeff \* 80.0 1 3 + dihedral_coeff * 80.0 1 3 dihedral_coeff 2 200.0 1 3 A line in a data file that specifies dihedral coefficients uses the exact -same format as the arguments of the dihedral\_coeff command in an input +same format as the arguments of the dihedral_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, under the "Dihedral Coeffs" section of a data file, the line that corresponds to the 1st example above would be listed as - .. parsed-literal:: 1 80.0 1 3 -The :doc:`dihedral\_style class2 ` is an exception to +The :doc:`dihedral_style class2 ` is an exception to this rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its doc page for details. @@ -79,29 +75,24 @@ page for details. to define *K* appropriately to account for this difference if necessary. - ---------- - The list of all dihedral styles defined in LAMMPS is given on the -:doc:`dihedral\_style ` doc page. They are also listed +:doc:`dihedral_style ` doc page. They are also listed in more compact form on the :ref:`Commands dihedral ` doc page. On either of those pages, click on the style to display the formula it computes and its coefficients as specified by the associated -dihedral\_coeff command. - +dihedral_coeff command. ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a -:doc:`read\_data `, :doc:`read\_restart `, or -:doc:`create\_box ` command. +:doc:`read_data `, :doc:`read_restart `, or +:doc:`create_box ` command. A dihedral style must be defined before any dihedral coefficients are set, either in the input script or in a data file. @@ -109,11 +100,6 @@ set, either in the input script or in a data file. Related commands """""""""""""""" -:doc:`dihedral\_style ` +:doc:`dihedral_style ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_cosine_shift_exp.rst b/doc/src/dihedral_cosine_shift_exp.rst index 7a2f2bf2db6150e7183d54d631aed4863e8a9dfe..4ce537409c4ee41f3745ed0b01d18a397dec2dd4 100644 --- a/doc/src/dihedral_cosine_shift_exp.rst +++ b/doc/src/dihedral_cosine_shift_exp.rst @@ -1,24 +1,22 @@ -.. index:: dihedral\_style cosine/shift/exp +.. index:: dihedral_style cosine/shift/exp -dihedral\_style cosine/shift/exp command -======================================== +dihedral_style cosine/shift/exp command +======================================= -dihedral\_style cosine/shift/exp/omp command -============================================ +dihedral_style cosine/shift/exp/omp command +=========================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style cosine/shift/exp Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style cosine/shift/exp dihedral_coeff 1 10.0 45.0 2.0 @@ -28,36 +26,36 @@ Description The *cosine/shift/exp* dihedral style uses the potential -.. image:: Eqs/dihedral_cosine_shift_exp.jpg - :align: center +.. math:: + + E = -U_{min}\frac{e^{-a U(\theta,\theta_0)}-1}{e^a-1} \quad\mbox{with}\quad U(\theta,\theta_0)=-0.5 \left(1+\cos(\theta-\theta_0) \right) -where Umin, theta, and a are defined for each dihedral type. +where :math:`U_{min}`, :math:`\theta`, and :math:`a` are defined for +each dihedral type. -The potential is bounded between [-Umin:0] and the minimum is located -at the angle theta0. The a parameter can be both positive or negative +The potential is bounded between :math:`\left[-U_{min}:0\right]` and the minimum is located +at the angle :math:`\theta_0`. The a parameter can be both positive or negative and is used to control the spring constant at the equilibrium. -The spring constant is given by k=a exp(a) Umin/ [2 (Exp(a)-1)]. -For a>3 k/Umin = a/2 to better than 5% relative error. For negative +The spring constant is given by :math:`k=a e^a \frac{U_{min}}{2 \left(e^a-1\right)}`. +For :math:`a>3` and :math:`\frac{k}{U_{min}} = \frac{a}{2}` to better than 5% relative error. For negative values of the a parameter, the spring constant is essentially zero, and anharmonic terms takes over. The potential is furthermore well -behaved in the limit a->0, where it has been implemented to linear -order in a for a < 0.001. +behaved in the limit :math:`a \rightarrow 0`, where it has been implemented to linear +order in :math:`a` for :math:`a < 0.001`. The following coefficients must be defined for each dihedral type via -the :doc:`dihedral\_coeff ` command as in the example +the :doc:`dihedral_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* umin (energy) -* theta (angle) -* A (real number) - +* :math:`U_{min}` (energy) +* :math:`\theta` (angle) +* :math:`a` (real number) ---------- - 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 @@ -76,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -91,12 +86,7 @@ page for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff `, -:doc:`angle\_cosine\_shift\_exp ` +:doc:`dihedral_coeff `, +:doc:`angle_style cosine/shift/exp ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_fourier.rst b/doc/src/dihedral_fourier.rst index 83f2349cd54cedf0434b602b801f6d3b19bf78cc..ad5f1f6586a3482dd2ee07eebd4eff86f1f09e49 100644 --- a/doc/src/dihedral_fourier.rst +++ b/doc/src/dihedral_fourier.rst @@ -1,27 +1,25 @@ -.. index:: dihedral\_style fourier +.. index:: dihedral_style fourier -dihedral\_style fourier command -=============================== +dihedral_style fourier command +============================== -dihedral\_style fourier/intel command -===================================== +dihedral_style fourier/intel command +==================================== -dihedral\_style fourier/omp command -=================================== +dihedral_style fourier/omp command +================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style fourier Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style fourier dihedral_coeff 1 3 -0.846200 3 0.0 7.578800 1 0 0.138000 2 -180.0 @@ -31,27 +29,26 @@ Description The *fourier* dihedral style uses the potential: -.. image:: Eqs/dihedral_fourier.jpg - :align: center +.. math:: + + E = \sum_{i=1,m} K_i [ 1.0 + \cos ( n_i \phi - d_i ) ] The following coefficients must be defined for each dihedral type via the -:doc:`dihedral\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: - -* m (integer >=1) -* K1 (energy) -* n1 (integer >= 0) -* d1 (degrees) +:doc:`dihedral_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: + +* :math:`m` (integer >=1) +* :math:`K_1` (energy) +* :math:`n_1` (integer >= 0) +* :math:`d_1` (degrees) * [...] -* Km (energy) -* nm (integer >= 0) -* dm (degrees) - +* :math:`K_m` (energy) +* :math:`n_m` (integer >= 0) +* :math:`d_m` (degrees) ---------- - 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 @@ -70,26 +67,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_harmonic.rst b/doc/src/dihedral_harmonic.rst index bdcfbf38ae6cad436ab92bbaa7c8dbd764e70a50..703b96cf95065f1a2567fd2f60d3c2002e77a821 100644 --- a/doc/src/dihedral_harmonic.rst +++ b/doc/src/dihedral_harmonic.rst @@ -1,30 +1,28 @@ -.. index:: dihedral\_style harmonic +.. index:: dihedral_style harmonic -dihedral\_style harmonic command -================================ +dihedral_style harmonic command +=============================== -dihedral\_style harmonic/intel command -====================================== +dihedral_style harmonic/intel command +===================================== -dihedral\_style harmonic/kk command -=================================== +dihedral_style harmonic/kk command +================================== -dihedral\_style harmonic/omp command -==================================== +dihedral_style harmonic/omp command +=================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style harmonic Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style harmonic dihedral_coeff 1 80.0 1 2 @@ -34,17 +32,18 @@ Description The *harmonic* dihedral style uses the potential -.. image:: Eqs/dihedral_harmonic.jpg - :align: center +.. math:: + + E = K [ 1 + d \cos (n \phi) ] The following coefficients must be defined for each dihedral type via the -:doc:`dihedral\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`dihedral_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: -* K (energy) -* d (+1 or -1) -* n (integer >= 0) +* :math:`K` (energy) +* :math:`d` (+1 or -1) +* :math:`n` (integer >= 0) .. note:: @@ -55,15 +54,12 @@ or :doc:`read\_restart ` commands: * The LAMMPS convention is that the trans position = 180 degrees, while in some force fields trans = 0 degrees. -* Some force fields reverse the sign convention on *d*\ . -* Some force fields let *n* be positive or negative which corresponds to - *d* = 1 or -1 for the harmonic style. - - +* Some force fields reverse the sign convention on :math:`d`. +* Some force fields let :math:`n` be positive or negative which corresponds to + :math:`d = 1` or :math:`d = -1` for the harmonic style. ---------- - 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 @@ -82,14 +78,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -97,11 +90,6 @@ for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_helix.rst b/doc/src/dihedral_helix.rst index d348bf03de7aa5c7f66b9cbaf41676a4945d0f5b..00c0006e98c028eaff8e96a67528b9e5601606e9 100644 --- a/doc/src/dihedral_helix.rst +++ b/doc/src/dihedral_helix.rst @@ -1,24 +1,22 @@ -.. index:: dihedral\_style helix +.. index:: dihedral_style helix -dihedral\_style helix command -============================= +dihedral_style helix command +============================ -dihedral\_style helix/omp command -================================= +dihedral_style helix/omp command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style helix Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style helix dihedral_coeff 1 80.0 100.0 40.0 @@ -28,30 +26,31 @@ Description The *helix* dihedral style uses the potential -.. image:: Eqs/dihedral_helix.jpg - :align: center +.. math:: + + E = A [1 - \cos(\theta)] + B [1 + \cos(3 \theta)] + + C [1 + \cos(\theta + \frac{\pi}{4})] This coarse-grain dihedral potential is described in :ref:`(Guo) `. For dihedral angles in the helical region, the energy function is represented by a standard potential consisting of three minima, one corresponding to the trans (t) state and the other to gauche states -(g+ and g-). The paper describes how the A,B,C parameters are chosen -so as to balance secondary (largely driven by local interactions) and +(g+ and g-). The paper describes how the :math:`A`, :math:`B` and, +:math:`C` parameters are chosen so as to balance secondary (largely +driven by local interactions) and tertiary structure (driven by long-range interactions). The following coefficients must be defined for each dihedral type via the -:doc:`dihedral\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: - -* A (energy) -* B (energy) -* C (energy) +:doc:`dihedral_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: +* :math:`A` (energy) +* :math:`B` (energy) +* :math:`C` (energy) ---------- - 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 @@ -70,14 +69,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -85,21 +81,12 @@ for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - ---------- - .. _Guo: - - **(Guo)** Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_hybrid.rst b/doc/src/dihedral_hybrid.rst index c878cbb9cae47483a273b2b31a282c397b58cbd1..9fe4478f67613d0e3338c07b51fb297e9e1743be 100644 --- a/doc/src/dihedral_hybrid.rst +++ b/doc/src/dihedral_hybrid.rst @@ -1,13 +1,12 @@ -.. index:: dihedral\_style hybrid +.. index:: dihedral_style hybrid -dihedral\_style hybrid command -============================== +dihedral_style hybrid command +============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style hybrid style1 style2 ... @@ -16,12 +15,11 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style hybrid harmonic helix dihedral_coeff 1 harmonic 6.0 1 3 - dihedral_coeff 2\* helix 10 10 10 + dihedral_coeff 2* helix 10 10 10 Description """"""""""" @@ -32,22 +30,21 @@ example, dihedrals in a polymer flow (of dihedral type 1) could be computed with a *harmonic* potential and dihedrals in the wall boundary (of dihedral type 2) could be computed with a *helix* potential. The assignment of dihedral type to style is made via the -:doc:`dihedral\_coeff ` command or in the data file. +:doc:`dihedral_coeff ` command or in the data file. -In the dihedral\_coeff commands, the name of a dihedral style must be +In the dihedral_coeff commands, the name of a dihedral style must be added after the dihedral type, with the remaining coefficients being those appropriate to that style. In the example above, the 2 -dihedral\_coeff commands set dihedrals of dihedral type 1 to be +dihedral_coeff commands set dihedrals of dihedral type 1 to be computed with a *harmonic* potential with coefficients 6.0, 1, 3 for K, d, n. All other dihedral types (2-N) are computed with a *helix* potential with coefficients 10, 10, 10 for A, B, C. If dihedral coefficients are specified in the data file read via the -:doc:`read\_data ` command, then the same rule applies. +:doc:`read_data ` command, then the same rule applies. E.g. "harmonic" or "helix", must be added after the dihedral type, for each line in the "Dihedral Coeffs" section, e.g. - .. parsed-literal:: Dihedral Coeffs @@ -64,7 +61,6 @@ lines in the AngleTorsion (or EndBondTorsion, etc) section of the data file for dihedral types that are not *class2*\ , you must use an dihedral style of *skip* as a placeholder, e.g. - .. parsed-literal:: AngleTorsion Coeffs @@ -78,34 +74,26 @@ input script, since AngleTorsion (or EndBondTorsion, etc) coefficients need not be specified at all for dihedral types that are not *class2*\ . A dihedral style of *none* with no additional coefficients can be used -in place of a dihedral style, either in a input script dihedral\_coeff +in place of a dihedral style, either in a input script dihedral_coeff command or in the data file, if you desire to turn off interactions for specific dihedral types. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. Unlike other dihedral styles, the hybrid dihedral style does not store dihedral coefficient info for individual sub-styles in a :doc:`binary restart files `. Thus when restarting a simulation from a -restart file, you need to re-specify dihedral\_coeff commands. +restart file, you need to re-specify dihedral_coeff commands. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_multi_harmonic.rst b/doc/src/dihedral_multi_harmonic.rst index bd66014bd799b68efa1b943f29c9329671bbe541..11d44192024f5a74633e9b50326a0f5ed974a03a 100644 --- a/doc/src/dihedral_multi_harmonic.rst +++ b/doc/src/dihedral_multi_harmonic.rst @@ -1,24 +1,22 @@ -.. index:: dihedral\_style multi/harmonic +.. index:: dihedral_style multi/harmonic -dihedral\_style multi/harmonic command -====================================== +dihedral_style multi/harmonic command +===================================== -dihedral\_style multi/harmonic/omp command -========================================== +dihedral_style multi/harmonic/omp command +========================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style multi/harmonic Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style multi/harmonic dihedral_coeff 1 20 20 20 20 20 @@ -28,24 +26,23 @@ Description The *multi/harmonic* dihedral style uses the potential -.. image:: Eqs/dihedral_multi_harmonic.jpg - :align: center +.. math:: -The following coefficients must be defined for each dihedral type via the -:doc:`dihedral\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: + E = \sum_{n=1,5} A_n \cos^{n-1}(\phi) -* A1 (energy) -* A2 (energy) -* A3 (energy) -* A4 (energy) -* A5 (energy) +The following coefficients must be defined for each dihedral type via the +:doc:`dihedral_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: +* :math:`A_1` (energy) +* :math:`A_2` (energy) +* :math:`A_3` (energy) +* :math:`A_4` (energy) +* :math:`A_5` (energy) ---------- - 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 @@ -64,14 +61,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -79,11 +73,6 @@ for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_nharmonic.rst b/doc/src/dihedral_nharmonic.rst index 51ddd6a109112f78d80878d7952781bce4981dc6..9ce464f5f6e7e92cdb162a64917ad51854a9f89e 100644 --- a/doc/src/dihedral_nharmonic.rst +++ b/doc/src/dihedral_nharmonic.rst @@ -1,51 +1,48 @@ -.. index:: dihedral\_style nharmonic +.. index:: dihedral_style nharmonic -dihedral\_style nharmonic command +dihedral_style nharmonic command ================================= -dihedral\_style nharmonic/omp command +dihedral_style nharmonic/omp command ===================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style nharmonic Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style nharmonic - dihedral_coeff \* 3 10.0 20.0 30.0 + dihedral_coeff * 3 10.0 20.0 30.0 Description """"""""""" The *nharmonic* dihedral style uses the potential: -.. image:: Eqs/dihedral_nharmonic.jpg - :align: center +.. math:: + + E = \sum_{n=1,n} A_n \cos^{n-1}(\phi) The following coefficients must be defined for each dihedral type via the -:doc:`dihedral\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`dihedral_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: -* n (integer >=1) -* A1 (energy) -* A2 (energy) +* :math:`n` (integer >=1) +* :math:`A_1` (energy) +* :math:`A_2` (energy) * ... -* An (energy) - +* :math:`A_n` (energy) ---------- - 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 @@ -64,26 +61,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_none.rst b/doc/src/dihedral_none.rst index ebae5c32d60546caa590faa10a070170caf9433d..eda8d1c39e029b4b87eed7c4a1f7285ef27577cc 100644 --- a/doc/src/dihedral_none.rst +++ b/doc/src/dihedral_none.rst @@ -1,21 +1,19 @@ -.. index:: dihedral\_style none +.. index:: dihedral_style none -dihedral\_style none command -============================ +dihedral_style none command +=========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style none Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style none @@ -24,9 +22,9 @@ Description Using a dihedral style of none means dihedral forces and energies are not computed, even if quadruplets of dihedral atoms were listed in the -data file read by the :doc:`read\_data ` command. +data file read by the :doc:`read_data ` command. -See the :doc:`dihedral\_style zero ` command for a way to +See the :doc:`dihedral_style zero ` command for a way to calculate dihedral statistics, but compute no dihedral interactions. Restrictions @@ -36,11 +34,6 @@ Restrictions Related commands """""""""""""""" -:doc:`dihedral\_style zero ` +:doc:`dihedral_style zero ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_opls.rst b/doc/src/dihedral_opls.rst index 4cd21423a2c7257574a3862350a09f7efde52c8b..b123a1c64b75642be8c13260f0dda72445864287 100644 --- a/doc/src/dihedral_opls.rst +++ b/doc/src/dihedral_opls.rst @@ -1,30 +1,28 @@ -.. index:: dihedral\_style opls +.. index:: dihedral_style opls -dihedral\_style opls command -============================ +dihedral_style opls command +=========================== -dihedral\_style opls/intel command -================================== +dihedral_style opls/intel command +================================= -dihedral\_style opls/kk command -=============================== +dihedral_style opls/kk command +============================== -dihedral\_style opls/omp command -================================ +dihedral_style opls/omp command +=============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style opls Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style opls dihedral_coeff 1 1.740 -0.157 0.279 0.00 # CT-CT-CT-CT @@ -36,8 +34,10 @@ Description The *opls* dihedral style uses the potential -.. image:: Eqs/dihedral_opls.jpg - :align: center +.. math:: + + E = & \frac{1}{2} K_1 [1 + \cos(\phi)] + \frac{1}{2} K_2 [1 - \cos(2 \phi)] + \\ + & \frac{1}{2} K_3 [1 + \cos(3 \phi)] + \frac{1}{2} K_4 [1 - \cos(4 \phi)] Note that the usual 1/2 factor is not included in the K values. @@ -45,19 +45,17 @@ This dihedral potential is used in the OPLS force field and is described in :ref:`(Watkins) `. The following coefficients must be defined for each dihedral type via the -:doc:`dihedral\_coeff ` command as in the example above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: - -* K1 (energy) -* K2 (energy) -* K3 (energy) -* K4 (energy) +:doc:`dihedral_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: +* :math:`K_1` (energy) +* :math:`K_2` (energy) +* :math:`K_3` (energy) +* :math:`K_4` (energy) ---------- - 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 @@ -76,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -91,21 +86,12 @@ for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - ---------- - .. _Watkins: - - **(Watkins)** Watkins and Jorgensen, J Phys Chem A, 105, 4118-4125 (2001). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_quadratic.rst b/doc/src/dihedral_quadratic.rst index d145d596ba9c0cd3b17ded3a2eed44eb58fec899..bdc5f79559c242ac184873734051810f3269206b 100644 --- a/doc/src/dihedral_quadratic.rst +++ b/doc/src/dihedral_quadratic.rst @@ -1,24 +1,22 @@ -.. index:: dihedral\_style quadratic +.. index:: dihedral_style quadratic -dihedral\_style quadratic command -================================= +dihedral_style quadratic command +================================ -dihedral\_style quadratic/omp command -===================================== +dihedral_style quadratic/omp command +==================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style quadratic Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style quadratic dihedral_coeff 100.0 80.0 @@ -28,25 +26,24 @@ Description The *quadratic* dihedral style uses the potential: -.. image:: Eqs/dihedral_quadratic.jpg - :align: center +.. math:: + + E = K (\phi - \phi_0)^2 This dihedral potential can be used to keep a dihedral in a predefined value (cis=zero, right-hand convention is used). The following coefficients must be defined for each dihedral type via -the :doc:`dihedral\_coeff ` command as in the example +the :doc:`dihedral_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* K (energy/radian\^2) -* phi0 (degrees) - +* :math:`K` (energy/radian\^2) +* :math:`\phi_0` (degrees) ---------- - 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 @@ -65,26 +62,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_spherical.rst b/doc/src/dihedral_spherical.rst index 4c59e7297f143dacf63ec1558aa531db565e8bfc..67919aa77f0822c9ed699289e072cc7e2c674451 100644 --- a/doc/src/dihedral_spherical.rst +++ b/doc/src/dihedral_spherical.rst @@ -1,21 +1,19 @@ -.. index:: dihedral\_style spherical +.. index:: dihedral_style spherical -dihedral\_style spherical command -================================= +dihedral_style spherical command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style spherical Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_coeff 1 1 286.1 1 124 1 1 90.0 0 1 90.0 0 dihedral_coeff 1 3 69.3 1 93.9 1 1 90 0 1 90 0 & @@ -30,11 +28,16 @@ The *spherical* dihedral style uses the potential: .. image:: JPG/dihedral_spherical_angles.jpg :align: center -.. image:: Eqs/dihedral_spherical.jpg - :align: center +.. math:: + + E(\phi,\theta_1,\theta_2) & = \sum_{i=1}^N\nolimits\ C_i\ \Phi_i(\phi)\ \Theta_{1i}(\theta_1)\ \Theta_{2i}(\theta_2) \\ + \Phi_{i}(\phi) & = u_i - \mathrm{cos}((\phi - a_i)K_i) \\ + \Theta_{1i}(\theta_1) & = v_i - \mathrm{cos}((\theta_1-b_i)L_i) \\ + \Theta_{2i}(\theta_2) & = w_i - \mathrm{cos}((\theta_2-c_i)M_i) For this dihedral style, the energy can be any function that combines the -4-body dihedral-angle (phi) and the two 3-body bond-angles (theta1, theta2). +4-body dihedral-angle (:math:`\phi`) and the two 3-body bond-angles +(:math:`\theta_1`, :math:`\theta_2`). For this reason, there is usually no need to define 3-body "angle" forces separately for the atoms participating in these interactions. It is probably more efficient to incorporate 3-body angle forces into @@ -44,61 +47,54 @@ parameters can prevent singularities that occur with traditional force-fields whenever theta1 or theta2 approach 0 or 180 degrees. The last example above corresponds to an interaction with a single energy -minima located near phi=93.9, theta1=74.4, theta2=48.1 degrees, and it remains -numerically stable at all angles (phi, theta1, theta2). In this example, +minima located near :math:`\phi=93.9`, :math:`\theta_1=74.4`, +:math:`\theta_2=48.1` degrees, and it remains numerically stable at all +angles (:math:`\phi`, :math:`\theta_1`, :math:`\theta_2`). In this example, the coefficients 49.1, and 25.2 can be physically interpreted as the harmonic spring constants for theta1 and theta2 around their minima. The coefficient 69.3 is the harmonic spring constant for phi after division by sin(74.4)\*sin(48.1) (the minima positions for theta1 and theta2). The following coefficients must be defined for each dihedral type via the -:doc:`dihedral\_coeff ` command as in the example above, or in +:doc:`dihedral_coeff ` command as in the example above, or in the Dihedral Coeffs section of a data file read by the -:doc:`read\_data ` command: - -* n (integer >= 1) -* C1 (energy) -* K1 (typically an integer) -* a1 (degrees) -* u1 (typically 0.0 or 1.0) -* L1 (typically an integer) -* b1 (degrees, typically 0.0 or 90.0) -* v1 (typically 0.0 or 1.0) -* M1 (typically an integer) -* c1 (degrees, typically 0.0 or 90.0) -* w1 (typically 0.0 or 1.0) +:doc:`read_data ` command: + +* :math:`n` (integer >= 1) +* :math:`C_1` (energy) +* :math:`K_1` (typically an integer) +* :math:`a_1` (degrees) +* :math:`u_1` (typically 0.0 or 1.0) +* :math:`L_1` (typically an integer) +* :math:`b_1` (degrees, typically 0.0 or 90.0) +* :math:`v_1` (typically 0.0 or 1.0) +* :math:`M_1` (typically an integer) +* :math:`c_1` (degrees, typically 0.0 or 90.0) +* :math:`w_1` (typically 0.0 or 1.0) * [...] -* Cn (energy) -* Kn (typically an integer) -* an (degrees) -* un (typically 0.0 or 1.0) -* Ln (typically an integer) -* bn (degrees, typically 0.0 or 90.0) -* vn (typically 0.0 or 1.0) -* Mn (typically an integer) -* cn (degrees, typically 0.0 or 90.0) -* wn (typically 0.0 or 1.0) - +* :math:`C_n` (energy) +* :math:`K_n` (typically an integer) +* :math:`a_n` (degrees) +* :math:`u_n` (typically 0.0 or 1.0) +* :math:`L_n` (typically an integer) +* :math:`b_n` (degrees, typically 0.0 or 90.0) +* :math:`v_n` (typically 0.0 or 1.0) +* :math:`M_n` (typically an integer) +* :math:`c_n` (degrees, typically 0.0 or 90.0) +* :math:`w_n` (typically 0.0 or 1.0) ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_style.rst b/doc/src/dihedral_style.rst index 553cfbde7ce90d40df1ab707a989efee766706de..bf3cf4902aa6801a096e63a4ea8d917ff53d6150 100644 --- a/doc/src/dihedral_style.rst +++ b/doc/src/dihedral_style.rst @@ -1,13 +1,12 @@ -.. index:: dihedral\_style +.. index:: dihedral_style -dihedral\_style command -======================= +dihedral_style command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style style @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style harmonic dihedral_style multi/harmonic @@ -29,29 +27,29 @@ Description Set the formula(s) LAMMPS uses to compute dihedral interactions between quadruplets of atoms, which remain in force for the duration of the simulation. The list of dihedral quadruplets is read in by a -:doc:`read\_data ` or :doc:`read\_restart ` command +:doc:`read_data ` or :doc:`read_restart ` command from a data or restart file. Hybrid models where dihedrals are computed using different dihedral potentials can be setup using the *hybrid* dihedral style. The coefficients associated with a dihedral style can be specified in -a data or restart file or via the :doc:`dihedral\_coeff ` +a data or restart file or via the :doc:`dihedral_coeff ` command. All dihedral potentials store their coefficient data in binary restart -files which means dihedral\_style and -:doc:`dihedral\_coeff ` commands do not need to be +files which means dihedral_style and +:doc:`dihedral_coeff ` commands do not need to be re-specified in an input script that restarts a simulation. See the -:doc:`read\_restart ` command for details on how to do -this. The one exception is that dihedral\_style *hybrid* only stores +:doc:`read_restart ` command for details on how to do +this. The one exception is that dihedral_style *hybrid* only stores the list of sub-styles in the restart file; dihedral coefficients need to be re-specified. .. note:: When both a dihedral and pair style is defined, the - :doc:`special\_bonds ` command often needs to be used to + :doc:`special_bonds ` command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise exist between 4 bonded atoms. @@ -79,20 +77,18 @@ coefficients you specify. bond in an I-J-K-L torsion. LAMMPS does not do this, i.e. the listed dihedral equation applies to each individual dihedral. Thus you need to define *K* appropriately via the - :doc:`dihedral\_coeff ` command to account for this + :doc:`dihedral_coeff ` command to account for this difference if necessary. - ---------- - Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated :doc:`dihedral\_coeff ` command. +specified by the associated :doc:`dihedral_coeff ` command. Click on the style to display the formula it computes, any additional -arguments specified in the dihedral\_style command, and coefficients -specified by the associated :doc:`dihedral\_coeff ` +arguments specified in the dihedral_style command, and coefficients +specified by the associated :doc:`dihedral_coeff ` command. There are also additional accelerated pair styles included in the @@ -119,14 +115,11 @@ more of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`table ` - tabulated dihedral * :doc:`table/cut ` - tabulated dihedral with analytic cutoff - ---------- - Restrictions """""""""""" - Dihedral styles can only be set for atom styles that allow dihedrals to be defined. @@ -137,14 +130,9 @@ individual dihedral potentials tell if it is part of a package. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` Default """"""" -dihedral\_style none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +dihedral_style none diff --git a/doc/src/dihedral_table.rst b/doc/src/dihedral_table.rst index 03c05f78939f08c318f959315088e0ac284d049a..112716a240f33e99b591378fc0cb3725315146ca 100644 --- a/doc/src/dihedral_table.rst +++ b/doc/src/dihedral_table.rst @@ -1,16 +1,15 @@ -.. index:: dihedral\_style table +.. index:: dihedral_style table -dihedral\_style table command -============================= +dihedral_style table command +============================ -dihedral\_style table/omp command -================================= +dihedral_style table/omp command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style table style Ntable @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style table spline 400 dihedral_style table linear 1000 @@ -34,7 +32,7 @@ Description The *table* dihedral style creates interpolation tables of length *Ntable* from dihedral potential and derivative values listed in a file(s) as a function of the dihedral angle "phi". The files are read -by the :doc:`dihedral\_coeff ` command. +by the :doc:`dihedral_coeff ` command. The interpolation tables are created by fitting cubic splines to the file values and interpolating energy and derivative values at each of @@ -54,7 +52,7 @@ coefficients are chosen from this list, and a cubic polynomial is used to compute the energy and the derivative at this angle. The following coefficients must be defined for each dihedral type via -the :doc:`dihedral\_coeff ` command as in the example +the :doc:`dihedral_coeff ` command as in the example above. * filename @@ -64,15 +62,12 @@ The filename specifies a file containing tabulated energy and derivative values. The keyword specifies a section of the file. The format of this file is described below. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments). It can begin with one or more comment or blank lines. - .. parsed-literal:: # Table of the potential and its negative derivative @@ -102,7 +97,7 @@ A section begins with a non-blank line whose 1st character is not a between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the -:doc:`dihedral\_coeff ` command. The next line lists (in +:doc:`dihedral_coeff ` command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. @@ -131,8 +126,8 @@ strange numerical behavior can occur in the large remaining gap. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the N -specified in the :doc:`dihedral\_style table ` command. -Let *Ntable* is the number of table entries requested dihedral\_style +specified in the :doc:`dihedral_style table ` command. +Let *Ntable* is the number of table entries requested dihedral_style command, and let *Nfile* be the parameter following "N" in the tabulated file ("30" in the sparse example above). What LAMMPS does is a preliminary interpolation by creating splines using the *Nfile* @@ -180,10 +175,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - 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 @@ -204,18 +197,17 @@ instructions on how to use the accelerated styles effectively. **Restart info:** -This dihedral style writes the settings for the "dihedral\_style table" -command to :doc:`binary restart files `, so a dihedral\_style +This dihedral style writes the settings for the "dihedral_style table" +command to :doc:`binary restart files `, so a dihedral_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file, since it is tabulated in the potential files. Thus, -dihedral\_coeff commands do need to be specified in the restart input +dihedral_coeff commands do need to be specified in the restart input script. Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -223,11 +215,6 @@ page for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff ` +:doc:`dihedral_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_table_cut.rst b/doc/src/dihedral_table_cut.rst index 78b9346e61ce3c28b808a94ec0c4bf0916e98034..ae2fcd1f77f67e48c900096e916a443c5a528131 100644 --- a/doc/src/dihedral_table_cut.rst +++ b/doc/src/dihedral_table_cut.rst @@ -1,13 +1,12 @@ -.. index:: dihedral\_style table/cut +.. index:: dihedral_style table/cut -dihedral\_style table/cut command -================================= +dihedral_style table/cut command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style table/cut style Ntable @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style table/cut spline 400 dihedral_style table/cut linear 1000 @@ -33,7 +31,7 @@ The *table/cut* dihedral style creates interpolation tables of length file(s) as a function of the dihedral angle "phi". In addition, an analytic cutoff that is quadratic in the bond-angle (theta) is applied in order to regularize the dihedral interaction. The dihedral table -files are read by the :doc:`dihedral\_coeff ` command. +files are read by the :doc:`dihedral_coeff ` command. The interpolation tables are created by fitting cubic splines to the file values and interpolating energy and derivative values at each of @@ -53,7 +51,7 @@ coefficients are chosen from this list, and a cubic polynomial is used to compute the energy and the derivative at this angle. The following coefficients must be defined for each dihedral type via -the :doc:`dihedral\_coeff ` command as in the example +the :doc:`dihedral_coeff ` command as in the example above. * style (aat) @@ -66,32 +64,31 @@ above. The cutoff dihedral style uses a tabulated dihedral interaction with a cutoff function: -.. image:: Eqs/dihedral_table_cut.jpg - :align: center +.. math:: + + f(\theta) & = K \qquad\qquad\qquad\qquad\qquad\qquad \theta < \theta_1 \\ + f(\theta) & = K \left(1-\frac{(\theta - \theta_1)^2}{(\theta_2 - \theta_1)^2}\right) \qquad \theta_1 < \theta < \theta_2 The cutoff specifies an prefactor to the cutoff function. While this value would ordinarily equal 1 there may be situations where the value should change. -The cutoff angle1 specifies the angle (in degrees) below which the dihedral +The cutoff :math:`\theta_1` specifies the angle (in degrees) below which the dihedral interaction is unmodified, i.e. the cutoff function is 1. -The cutoff function is applied between angle1 and angle2, which is the angle at -which the cutoff function drops to zero. The value of zero effectively "turns -off" the dihedral interaction. +The cutoff function is applied between :math:`\theta_1` and :math:`\theta_2`, which is +the angle at which the cutoff function drops to zero. The value of zero effectively +"turns off" the dihedral interaction. The filename specifies a file containing tabulated energy and derivative values. The keyword specifies a section of the file. The format of this file is described below. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments). It can begin with one or more comment or blank lines. - .. parsed-literal:: # Table of the potential and its negative derivative @@ -121,7 +118,7 @@ A section begins with a non-blank line whose 1st character is not a between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the initial text must match the argument specified in the -:doc:`dihedral\_coeff ` command. The next line lists (in +:doc:`dihedral_coeff ` command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. @@ -150,8 +147,8 @@ strange numerical behavior can occur in the large remaining gap. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the N -specified in the :doc:`dihedral\_style table ` command. -Let *Ntable* is the number of table entries requested dihedral\_style +specified in the :doc:`dihedral_style table ` command. +Let *Ntable* is the number of table entries requested dihedral_style command, and let *Nfile* be the parameter following "N" in the tabulated file ("30" in the sparse example above). What LAMMPS does is a preliminary interpolation by creating splines using the *Nfile* @@ -201,18 +198,17 @@ that matches the specified keyword. **Restart info:** -This dihedral style writes the settings for the "dihedral\_style table/cut" -command to :doc:`binary restart files `, so a dihedral\_style +This dihedral style writes the settings for the "dihedral_style table/cut" +command to :doc:`binary restart files `, so a dihedral_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file, since it is tabulated in the potential files. Thus, -dihedral\_coeff commands do need to be specified in the restart input +dihedral_coeff commands do need to be specified in the restart input script. Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -220,17 +216,10 @@ page for more info. Related commands """""""""""""""" -:doc:`dihedral\_coeff `, :doc:`dihedral\_style table ` +:doc:`dihedral_coeff `, :doc:`dihedral_style table ` **Default:** none .. _dihedralcut-Salerno: - - **(Salerno)** Salerno, Bernstein, J Chem Theory Comput, --, ---- (2018). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedral_zero.rst b/doc/src/dihedral_zero.rst index 7edf15e21306dc09eb513867c1e084dccc23b180..7d8dcd496ac7e2f00efdcc2cb09cf7deea99f573 100644 --- a/doc/src/dihedral_zero.rst +++ b/doc/src/dihedral_zero.rst @@ -1,25 +1,23 @@ -.. index:: dihedral\_style zero +.. index:: dihedral_style zero -dihedral\_style zero command +dihedral_style zero command ============================ Syntax """""" +.. code-block:: LAMMPS -.. parsed-literal:: - - dihedral_style zero *nocoeff* + dihedral_style zero [nocoeff] Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dihedral_style zero dihedral_style zero nocoeff - dihedral_coeff \* + dihedral_coeff * Description """"""""""" @@ -30,15 +28,15 @@ accessible to other commands. As an example, the :doc:`compute dihedral/local ` command can be used to compute the theta values for the list of quadruplets of dihedral atoms -listed in the data file read by the :doc:`read\_data ` +listed in the data file read by the :doc:`read_data ` command. If no dihedral style is defined, this command cannot be used. The optional *nocoeff* flag allows to read data files with a DihedralCoeff -section for any dihedral style. Similarly, any dihedral\_coeff commands +section for any dihedral style. Similarly, any dihedral_coeff commands will only be checked for the dihedral type number and the rest ignored. -Note that the :doc:`dihedral\_coeff ` command must be +Note that the :doc:`dihedral_coeff ` command must be used for all dihedral types, though no additional values are specified. @@ -48,11 +46,6 @@ Restrictions **Related commands:** none -:doc:`dihedral\_style none ` +:doc:`dihedral_style none ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dihedrals.rst b/doc/src/dihedrals.rst index bab913f1c2d0b38f64acea2fa0137a0ac993ee56..f56e3234272f4072fc56a1aa9c936527789f4160 100644 --- a/doc/src/dihedrals.rst +++ b/doc/src/dihedrals.rst @@ -1,7 +1,6 @@ Dihedral Styles ############### - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/dimension.rst b/doc/src/dimension.rst index c50d92c5f8c8d7c1db09d934b61266d476f1af10..be711815a621d4ae30a67194a6b6db6ccbb0a6ad 100644 --- a/doc/src/dimension.rst +++ b/doc/src/dimension.rst @@ -6,7 +6,6 @@ dimension command Syntax """""" - .. parsed-literal:: dimension N @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dimension 2 @@ -27,7 +25,7 @@ Description Set the dimensionality of the simulation. By default LAMMPS runs 3d simulations. To run a 2d simulation, this command should be used prior to setting up a simulation box via the -:doc:`create\_box ` or :doc:`read\_data ` commands. +:doc:`create_box ` or :doc:`read_data ` commands. Restart files also store this setting. See the discussion on the :doc:`Howto 2d ` doc page for @@ -43,9 +41,8 @@ additional instructions on how to run 2d simulations. Restrictions """""""""""" - This command must be used before the simulation box is defined by a -:doc:`read\_data ` or :doc:`create\_box ` command. +:doc:`read_data ` or :doc:`create_box ` command. Related commands """""""""""""""" @@ -55,12 +52,6 @@ Related commands Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS dimension 3 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/displace_atoms.rst b/doc/src/displace_atoms.rst index 2cf5849a10e3b711b86ca1795bdbb8fd71bcdcdd..efc6f9230be0fcb0e6ea64bf658c69c708515e29 100644 --- a/doc/src/displace_atoms.rst +++ b/doc/src/displace_atoms.rst @@ -1,21 +1,20 @@ -.. index:: displace\_atoms +.. index:: displace_atoms -displace\_atoms command -======================= +displace_atoms command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS displace_atoms group-ID style args keyword value ... * group-ID = ID of group of atoms to displace * style = *move* or *ramp* or *random* or *rotate* - + .. parsed-literal:: - + *move* args = delx dely delz delx,dely,delz = distance to displace in each dimension (distance units) any of delx,dely,delz can be a variable (see below) @@ -33,19 +32,16 @@ Syntax theta = angle of rotation (degrees) * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *units* value = *box* or *lattice* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS displace_atoms top move 0 -5 0 units box displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5 @@ -63,13 +59,13 @@ The *move* style displaces the group of atoms by the specified 3d displacement vector. Any of the 3 quantities defining the vector components can be specified as an equal-style or atom-style :doc:`variable `. If the value is a variable, it should be -specified as v\_name, where name is the variable name. In this case, +specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its value(s) used for the displacement(s). The scale factor implied by the *units* keyword will also be applied to the variable result. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Atom-style variables can specify the same formulas as equal-style variables but can also include per-atom values, such as @@ -100,7 +96,7 @@ rotation axis is consistent with the right-hand rule: if your right-hand thumb points along *R*\ , then your fingers wrap around the axis in the direction of positive theta. -If the defined :doc:`atom\_style ` assigns an orientation to +If the defined :doc:`atom_style ` assigns an orientation to each atom (:doc:`atom styles ` ellipsoid, line, tri, body), then that property is also updated appropriately to correspond to the atom's rotation. @@ -113,10 +109,8 @@ style are determined by the setting of *box* or *lattice* for the :doc:`lattice ` command must have been previously used to define the lattice spacing. - ---------- - .. note:: Care should be taken not to move atoms on top of other atoms. @@ -125,7 +119,7 @@ define the lattice spacing. :doc:`boundary ` command) are enforced which may change the box size. Other than this effect, this command does not change the size or shape of the simulation box. See the - :doc:`change\_box ` command if that effect is desired. + :doc:`change_box ` command if that effect is desired. .. note:: @@ -139,29 +133,21 @@ define the lattice spacing. the simulation box may not end up as optimal as the initial mapping attempted to be. - ---------- - Restrictions """""""""""" - For a 2d simulation, only rotations around the a vector parallel to the z-axis are allowed. Related commands """""""""""""""" -:doc:`lattice `, :doc:`change\_box `, +:doc:`lattice `, :doc:`change_box `, :doc:`fix move ` Default """"""" The option defaults are units = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dump.rst b/doc/src/dump.rst index c76b8efbad308da3db4807528d8ff1e11ca67a05..36a20defb6ce2d09bf5b9df43514353fe0fa7243 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -30,7 +30,6 @@ dump command Syntax """""" - .. parsed-literal:: dump ID group-ID style N file args @@ -42,9 +41,9 @@ Syntax * N = dump every this many timesteps * file = name of file to write dump info to * args = list of arguments for a particular style - + .. parsed-literal:: - + *atom* args = none *atom/gz* args = none *atom/mpiio* args = none @@ -69,9 +68,9 @@ Syntax *xyz/mpiio* args = none * *custom* or *custom/gz* or *custom/mpiio* or *netcdf* or *netcdf/mpiio* args = list of atom attributes - + .. parsed-literal:: - + possible attributes = id, mol, proc, procp1, type, element, mass, x, y, z, xs, ys, zs, xu, yu, zu, xsu, ysu, zsu, ix, iy, iz, @@ -81,9 +80,8 @@ Syntax angmomx, angmomy, angmomz, tqx, tqy, tqz, c_ID, c_ID[N], f_ID, f_ID[N], v_name - .. parsed-literal:: - + id = atom ID mol = molecule ID proc = ID of processor that owns atom @@ -114,9 +112,9 @@ Syntax i_name = per-atom integer vector with name, managed by fix property/atom * *local* args = list of local attributes - + .. parsed-literal:: - + possible attributes = index, c_ID, c_ID[I], f_ID, f_ID[I] index = enumeration of local values c_ID = local vector calculated by a compute with ID @@ -124,24 +122,21 @@ Syntax f_ID = local vector calculated by a fix with ID f_ID[I] = Ith column of local array calculated by a fix with ID, I can include wildcard (see below) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump myDump all atom 100 dump.atom dump myDump all atom/mpiio 100 dump.atom.mpiio dump myDump all atom/gz 100 dump.atom.gz dump 2 subgroup atom 50 dump.run.bin dump 2 subgroup atom 50 dump.run.mpiio.bin - dump 4a all custom 100 dump.myforce.\* id type x y vx fx + dump 4a all custom 100 dump.myforce.* id type x y vx fx dump 4b flow custom 100 dump.%.myforce id type c_myF[3] v_ke dump 4b flow custom 100 dump.%.myforce id type c_myF[\*] v_ke - dump 2 inner cfg 10 dump.snap.\*.cfg mass type xs ys zs vx vy vz - dump snap all cfg 100 dump.config.\*.cfg mass type xs ys zs id type c_Stress[2] + dump 2 inner cfg 10 dump.snap.*.cfg mass type xs ys zs vx vy vz + dump snap all cfg 100 dump.config.*.cfg mass type xs ys zs id type c_Stress[2] dump 1 all xtc 1000 file.xtc Description @@ -154,12 +149,12 @@ of the atom configuration every N timesteps while the *movie* style combines and compresses them into a movie file; both are discussed in detail on the :doc:`dump image ` doc page. The timesteps on which dump output is written can also be controlled by a variable. -See the :doc:`dump\_modify every ` command. +See the :doc:`dump_modify every ` command. Only information for atoms in the specified group is dumped. The -:doc:`dump\_modify thresh and region and refresh ` commands +:doc:`dump_modify thresh and region and refresh ` commands can also alter what atoms are included. Not all styles support -these options; see details on the :doc:`dump\_modify ` doc +these options; see details on the :doc:`dump_modify ` doc page. As described below, the filename determines the kind of output (text @@ -172,16 +167,16 @@ or multiple smaller files). timesteps when neighbor lists are rebuilt, the coordinates of an atom written to a dump file may be slightly outside the simulation box. Re-neighbor timesteps will not typically coincide with the timesteps - dump snapshots are written. See the :doc:`dump\_modify pbc ` command if you with to force coordinates to be + dump snapshots are written. See the :doc:`dump_modify pbc ` command if you with to force coordinates to be strictly inside the simulation box. .. note:: - Unless the :doc:`dump\_modify sort ` option is + Unless the :doc:`dump_modify sort ` option is invoked, the lines of atom information written to dump files (typically one line per atom) will be in an indeterminate order for each snapshot. This is even true when running on a single processor, - if the :doc:`atom\_modify sort ` option is on, which it is + if the :doc:`atom_modify sort ` option is on, which it is by default. In this case atoms are re-ordered periodically during a simulation, due to spatial sorting. It is also true when running in parallel, because data for a single snapshot is collected from @@ -189,7 +184,7 @@ or multiple smaller files). For the *atom*\ , *custom*\ , *cfg*\ , and *local* styles, sorting is off by default. For the *dcd*\ , *xtc*\ , *xyz*\ , and *molfile* styles, sorting by -atom ID is on by default. See the :doc:`dump\_modify ` doc +atom ID is on by default. See the :doc:`dump_modify ` doc page for details. The *atom/gz*\ , *cfg/gz*\ , *custom/gz*\ , and *xyz/gz* styles are identical @@ -213,22 +208,20 @@ be inter-changeable. The one exception is how the filename is specified for the MPI-IO styles, as explained below. The precision of values output to text-based dump files can be -controlled by the :doc:`dump\_modify format ` command and +controlled by the :doc:`dump_modify format ` command and its options. - ---------- - The *style* keyword determines what atom quantities are written to the file and in what format. Settings made via the -:doc:`dump\_modify ` command can also alter the format of +:doc:`dump_modify ` command can also alter the format of individual values and the file itself. The *atom*\ , *local*\ , and *custom* styles create files in a simple text format that is self-explanatory when viewing a dump file. Some of the LAMMPS post-processing tools described on the :doc:`Tools ` doc -page, including `Pizza.py `_, +page, including `Pizza.py `_, work with this format, as does the :doc:`rerun ` command. For post-processing purposes the *atom*\ , *local*\ , and *custom* text @@ -237,7 +230,6 @@ files are self-describing in the following sense. The dimensions of the simulation box are included in each snapshot. For an orthogonal simulation box this information is formatted as: - .. parsed-literal:: ITEM: BOX BOUNDS xx yy zz @@ -258,7 +250,6 @@ bounding box which encloses the triclinic simulation box is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic box, formatted as follows: - .. parsed-literal:: ITEM: BOX BOUNDS xy xz yz xx yy zz @@ -271,10 +262,10 @@ the 3 tilt factors will be included on each of the 3 following lines. This bounding box is convenient for many visualization programs. The meaning of the 6 character flags for "xx yy zz" is the same as above. -Note that the first two numbers on each line are now xlo\_bound instead +Note that the first two numbers on each line are now xlo_bound instead of xlo, etc, since they represent a bounding box. See the :doc:`Howto triclinic ` doc page for a geometric description of triclinic boxes, as defined by LAMMPS, simple formulas for how the -6 bounding box extents (xlo\_bound,xhi\_bound,etc) are calculated from +6 bounding box extents (xlo_bound,xhi_bound,etc) are calculated from the triclinic parameters, and how to transform those parameters to and from other commonly used triclinic representations. @@ -288,14 +279,14 @@ the atom ID and atom type. By default, atom coords are written in a scaled format (from 0 to 1). I.e. an x value of 0.25 means the atom is at a location 1/4 of the distance from xlo to xhi of the box boundaries. The format can be changed to unscaled coords via the -:doc:`dump\_modify ` settings. Image flags can also be -added for each atom via dump\_modify. +:doc:`dump_modify ` settings. Image flags can also be +added for each atom via dump_modify. Style *custom* allows you to specify a list of atom attributes to be written to the dump file for each atom. Possible attributes are listed above and will appear in the order specified. You cannot specify a quantity that is not defined for a particular simulation - -such as *q* for atom style *bond*\ , since that atom style doesn't +such as *q* for atom style *bond*\ , since that atom style does not assign charges. Dumps occur at the very end of a timestep, so atom attributes will include effects due to fixes that are applied during the timestep. An explanation of the possible dump custom attributes @@ -310,11 +301,11 @@ of the possible dump local attributes is given below. Note that by using input from the :doc:`compute property/local ` command with dump local, it is possible to generate information on bonds, angles, etc that can be cut and pasted directly into a data file read by the -:doc:`read\_data ` command. +:doc:`read_data ` command. Style *cfg* has the same command syntax as style *custom* and writes extended CFG format files, as used by the -`AtomEye `_ visualization +`AtomEye `_ visualization package. Since the extended CFG format uses a single snapshot of the system per file, a wildcard "\*" must be included in the filename, as discussed below. The list of atom attributes for style *cfg* must @@ -323,7 +314,7 @@ since these quantities are needed to write the CFG files in the appropriate format (though the "mass" and "type" fields do not appear explicitly in the file). Any remaining attributes will be stored as "auxiliary properties" in the CFG files. Note that you will typically -want to use the :doc:`dump\_modify element ` command with +want to use the :doc:`dump_modify element ` command with CFG-formatted files, to associate element names with atom types, so that AtomEye can render atoms appropriately. When unwrapped coordinates *xsu*\ , *ysu*\ , and *zsu* are requested, the nominal AtomEye @@ -339,7 +330,7 @@ The *dcd* style writes DCD files, a standard atomic trajectory format used by the CHARMM, NAMD, and XPlor molecular dynamics packages. DCD files are binary and thus may not be portable to different machines. The number of atoms per snapshot cannot change with the *dcd* style. -The *unwrap* option of the :doc:`dump\_modify ` command +The *unwrap* option of the :doc:`dump_modify ` command allows DCD coordinates to be written "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed through a periodic boundary one or more times, the value is printed for what @@ -351,12 +342,12 @@ The *xtc* style writes XTC files, a compressed trajectory format used by the GROMACS molecular dynamics package, and described `here `_. The precision used in XTC files can be adjusted via the -:doc:`dump\_modify ` command. The default value of 1000 +:doc:`dump_modify ` command. The default value of 1000 means that coordinates are stored to 1/1000 nanometer accuracy. XTC files are portable binary files written in the NFS XDR data format, so that any machine which supports XDR should be able to read them. The number of atoms per snapshot cannot change with the *xtc* style. -The *unwrap* option of the :doc:`dump\_modify ` command allows +The *unwrap* option of the :doc:`dump_modify ` command allows XTC coordinates to be written "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed through a periodic boundary one or more times, the value is printed for what the @@ -369,7 +360,7 @@ coordinate format that many codes can read. Specifically it has a line with the number of atoms, then a comment line that is usually ignored followed by one line per atom with the atom type and the x-, y-, and z-coordinate of that atom. You can use the -:doc:`dump\_modify element ` option to change the output +:doc:`dump_modify element ` option to change the output from using the (numerical) atom type to an element name (or some other label). This will help many visualization programs to guess bonds and colors. @@ -378,24 +369,22 @@ Note that *atom*\ , *custom*\ , *dcd*\ , *xtc*\ , and *xyz* style dump files can be read directly by `VMD `_, a popular molecular viewing program. - ---------- - Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be -changed via the :doc:`dump\_modify first ` command, which +changed via the :doc:`dump_modify first ` command, which can also be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by -using the :doc:`dump\_modify every ` command (not allowed -for *dcd* style). The :doc:`dump\_modify every ` command +using the :doc:`dump_modify every ` command (not allowed +for *dcd* style). The :doc:`dump_modify every ` command also allows a variable to be used to determine the sequence of timesteps on which dump files are written. In this mode a dump on the first timestep of a run will also not be written unless the -:doc:`dump\_modify first ` command is used. +:doc:`dump_modify first ` command is used. The specified filename determines how the dump file(s) is written. The default is to write one large text file, which is opened when the @@ -408,7 +397,7 @@ character appears in the filename, then one file per snapshot is written and the "\*" character is replaced with the timestep value. For example, tmp.dump.\* becomes tmp.dump.0, tmp.dump.10000, tmp.dump.20000, etc. This option is not available for the *dcd* and -*xtc* styles. Note that the :doc:`dump\_modify pad ` +*xtc* styles. Note that the :doc:`dump_modify pad ` command can be used to insure all timestep numbers are the same length (e.g. 00010), which can make it easier to read a series of dump files in order with some post-processing tools. @@ -423,7 +412,7 @@ support parallel I/O for output. This option is not available for the By default, P = the number of processors meaning one file per processor, but P can be set to a smaller value via the *nfile* or -*fileper* keywords of the :doc:`dump\_modify ` command. +*fileper* keywords of the :doc:`dump_modify ` command. These options can be the most efficient way of writing out dump files when running on large numbers of processors. @@ -436,8 +425,7 @@ library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g. - -.. parsed-literal:: +.. code-block:: bash make yes-mpiio # installs the MPIIO package make mpi # build LAMMPS for your platform @@ -448,7 +436,7 @@ Unlike MPI-IO restart files, which must be both written and read using MPI-IO, the dump files produced by these MPI-IO styles are identical in format to the files produced by their non-MPI-IO style counterparts. This means you can write a dump file using MPI-IO and -use the :doc:`read\_dump ` command or perform other +use the :doc:`read_dump ` command or perform other post-processing, just as if the dump file was not written using MPI-IO. @@ -474,10 +462,8 @@ be about 3x smaller than the text version, but will also take longer to write. This option is not available for the *dcd* and *xtc* styles. - ---------- - Note that in the discussion which follows, for styles which can reference values from a compute or fix, like the *custom*\ , *cfg*\ , or *local* styles, the bracketed index I can be specified using a @@ -495,18 +481,15 @@ had been listed one by one. E.g. these 2 dump commands are equivalent, since the :doc:`compute stress/atom ` command creates a per-atom array with 6 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myPress all stress/atom NULL - dump 2 all custom 100 tmp.dump id myPress[\*] + dump 2 all custom 100 tmp.dump id myPress[*] dump 2 all custom 100 tmp.dump id myPress[1] myPress[2] myPress[3] & myPress[4] myPress[5] myPress[6] - ---------- - This section explains the local attributes that can be specified as part of the *local* style. @@ -519,7 +502,7 @@ between processor, there is no guarantee that the same index will be used for the same info (e.g. a particular bond) in successive snapshots. -The *c\_ID* and *c\_ID[I]* attributes allow local vectors or arrays +The *c_ID* and *c_ID[I]* attributes allow local vectors or arrays calculated by a :doc:`compute ` to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input script. See the @@ -529,23 +512,23 @@ bonds and angles. Note that computes which calculate global or per-atom quantities, as opposed to local quantities, cannot be output in a dump local command. -Instead, global quantities can be output by the :doc:`thermo\_style custom ` command, and per-atom quantities can be +Instead, global quantities can be output by the :doc:`thermo_style custom ` command, and per-atom quantities can be output by the dump custom command. -If *c\_ID* is used as a attribute, then the local vector calculated by -the compute is printed. If *c\_ID[I]* is used, then I must be in the +If *c_ID* is used as a attribute, then the local vector calculated by +the compute is printed. If *c_ID[I]* is used, then I must be in the range from 1-M, which will print the Ith column of the local array with M columns calculated by the compute. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple values. -The *f\_ID* and *f\_ID[I]* attributes allow local vectors or arrays +The *f_ID* and *f_ID[I]* attributes allow local vectors or arrays calculated by a :doc:`fix ` to be output. The ID in the attribute should be replaced by the actual ID of the fix that has been defined previously in the input script. -If *f\_ID* is used as a attribute, then the local vector calculated by -the fix is printed. If *f\_ID[I]* is used, then I must be in the +If *f_ID* is used as a attribute, then the local vector calculated by +the fix is printed. If *f_ID[I]* is used, then I must be in the range from 1-M, which will print the Ith column of the local with M columns calculated by the fix. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple @@ -554,17 +537,14 @@ values. Here is an example of how to dump bond info for a system, including the distance and energy of each bond: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local batom1 batom2 btype compute 2 all bond/local dist eng dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] - ---------- - This section explains the atom attributes that can be specified as part of the *custom* and *cfg* styles. @@ -577,7 +557,7 @@ Nprocs-1) that currently owns the atom. *Procp1* is the proc ID+1, which can be convenient in place of a *type* attribute (1 to Ntypes) for coloring atoms in a visualization program. *Type* is the atom type (1 to Ntypes). *Element* is typically the chemical name of an -element, which you must assign to each type via the :doc:`dump\_modify element ` command. More generally, it can be any +element, which you must assign to each type via the :doc:`dump_modify element ` command. More generally, it can be any string you wish to associated with an atom type. *Mass* is the atom mass. *Vx*\ , *vy*\ , *vz*\ , *fx*\ , *fy*\ , *fz*\ , and *q* are components of atom velocity and force and atomic charge. @@ -632,7 +612,7 @@ The *tqx*\ , *tqy*\ , *tqz* attributes are for finite-size particles that can sustain a rotational torque due to interactions with other particles. -The *c\_ID* and *c\_ID[I]* attributes allow per-atom vectors or arrays +The *c_ID* and *c_ID[I]* attributes allow per-atom vectors or arrays calculated by a :doc:`compute ` to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input script. See the @@ -643,17 +623,17 @@ and coordination number of individual atoms. Note that computes which calculate global or local quantities, as opposed to per-atom quantities, cannot be output in a dump custom command. Instead, global quantities can be output by the -:doc:`thermo\_style custom ` command, and local quantities +:doc:`thermo_style custom ` command, and local quantities can be output by the dump local command. -If *c\_ID* is used as a attribute, then the per-atom vector calculated -by the compute is printed. If *c\_ID[I]* is used, then I must be in +If *c_ID* is used as a attribute, then the per-atom vector calculated +by the compute is printed. If *c_ID[I]* is used, then I must be in the range from 1-M, which will print the Ith column of the per-atom array with M columns calculated by the compute. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple values. -The *f\_ID* and *f\_ID[I]* attributes allow vector or array per-atom +The *f_ID* and *f_ID[I]* attributes allow vector or array per-atom quantities calculated by a :doc:`fix ` to be output. The ID in the attribute should be replaced by the actual ID of the fix that has been defined previously in the input script. The :doc:`fix ave/atom ` command is one that calculates per-atom @@ -662,14 +642,14 @@ any :doc:`compute `, :doc:`fix `, or atom-style :doc:`variable `, this allows those time-averaged results to be written to a dump file. -If *f\_ID* is used as a attribute, then the per-atom vector calculated -by the fix is printed. If *f\_ID[I]* is used, then I must be in the +If *f_ID* is used as a attribute, then the per-atom vector calculated +by the fix is printed. If *f_ID[I]* is used, then I must be in the range from 1-M, which will print the Ith column of the per-atom array with M columns calculated by the fix. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple values. -The *v\_name* attribute allows per-atom vectors calculated by a +The *v_name* attribute allows per-atom vectors calculated by a :doc:`variable ` to be output. The name in the attribute should be replaced by the actual name of the variable that has been defined previously in the input script. Only an atom-style variable @@ -680,7 +660,7 @@ invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of creating quantities to output to a dump file. -The *d\_name* and *i\_name* attributes allow to output custom per atom +The *d_name* and *i_name* attributes allow to output custom per atom floating point or integer properties that are managed by :doc:`fix property/atom `. @@ -688,16 +668,13 @@ See the :doc:`Modify ` doc page for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities which could then be output into dump files. - ---------- - Restrictions """""""""""" - To write gzipped dump files, you must either compile LAMMPS with the --DLAMMPS\_GZIP option or use the styles from the COMPRESS package. +-DLAMMPS_GZIP option or use the styles from the COMPRESS package. See the :doc:`Build settings ` doc page for details. The *atom/gz*\ , *cfg/gz*\ , *custom/gz*\ , and *xyz/gz* styles are part of @@ -716,9 +693,9 @@ LAMMPS was built with that package. See the :doc:`Build package Related commands """""""""""""""" -:doc:`dump atom/adios `, :doc:`dump custom/adios `, +:doc:`dump atom/adios `, :doc:`dump custom/adios `, :doc:`dump h5md `, :doc:`dump image `, -:doc:`dump molfile `, :doc:`dump\_modify `, +:doc:`dump molfile `, :doc:`dump_modify `, :doc:`undump ` Default @@ -726,8 +703,3 @@ Default The defaults for the *image* and *movie* styles are listed on the :doc:`dump image ` doc page. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dump_adios.rst b/doc/src/dump_adios.rst index e3cb74e978cab34dba50ee0c0eaef24fe93be6ec..e1b0fe000ae5b9204ca28596c8f5fcbcf574c9e0 100644 --- a/doc/src/dump_adios.rst +++ b/doc/src/dump_adios.rst @@ -1,5 +1,5 @@ -.. index:: dump atom/adios -.. index:: dump custom/adios +.. index:: dump atom/adios +.. index:: dump custom/adios dump atom/adios command ========================= @@ -10,7 +10,6 @@ dump custom/adios command Syntax """""" - .. parsed-literal:: dump ID group-ID atom/adios N file.bp @@ -24,12 +23,10 @@ Syntax * file.bp = name of file/stream to write to * args = same options as in :doc:`\ *dump custom*\ ` command - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump adios1 all atom/adios 100 atoms.bp dump 4a all custom/adios 100 dump_adios.bp id v_p x y z @@ -45,52 +42,35 @@ ADIOS-BP files are binary, portable and self-describing. .. _adios: https://github.com/ornladios/ADIOS2 - - -**Use from write\_dump:** +**Use from write_dump:** It is possible to use these dump styles with the -:doc:`write\_dump ` command. In this case, the sub-intervals -must not be set at all. The write\_dump command can be used to +:doc:`write_dump ` command. In this case, the sub-intervals +must not be set at all. The write_dump command can be used to create a new file at each individual dump. - -.. parsed-literal:: +.. code-block:: LAMMPS dump 4 all atom/adios 100 dump.bp write_dump all atom/adios singledump.bp - ---------- - Restrictions """""""""""" - The number of atoms per snapshot CAN change with the adios style. When using the ADIOS tool 'bpls' to list the content of a .bp file, -bpls will print *\__* for the size of the output table indicating that +bpls will print *__* for the size of the output table indicating that its size is changing every step. The *atom/adios* and *custom/adios* dump styles are part of the USER-ADIOS package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - ---------- - Related commands """""""""""""""" -:doc:`dump `, :doc:`dump\_modify `, :doc:`undump ` - - ----------- - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +:doc:`dump `, :doc:`dump_modify `, :doc:`undump ` diff --git a/doc/src/dump_cfg_uef.rst b/doc/src/dump_cfg_uef.rst index 28242b08715f890028dfaf4eebaa68a71a3562d2..fdefad62ff43c8f24701f72d32e85f1ae6e0b81a 100644 --- a/doc/src/dump_cfg_uef.rst +++ b/doc/src/dump_cfg_uef.rst @@ -6,7 +6,6 @@ dump cfg/uef command Syntax """""" - .. parsed-literal:: dump ID group-ID cfg/uef N file mass type xs ys zs args @@ -15,18 +14,15 @@ Syntax * group-ID = ID of the group of atoms to be dumped * N = dump every this many timesteps * file = name of file to write dump info to - - .. parsed-literal:: - - args = same as args for :doc:`dump custom ` + .. parsed-literal:: + args = same as args for :doc:`dump custom ` Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump 1 all cfg/uef 10 dump.\*.cfg mass type xs ys zs dump 2 all cfg/uef 100 dump.\*.cfg mass type xs ys zs id c_stress @@ -46,7 +42,6 @@ reference frame as the atomic positions. Restrictions """""""""""" - This fix is part of the USER-UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -60,8 +55,3 @@ Related commands :doc:`fix nvt/uef ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dump_h5md.rst b/doc/src/dump_h5md.rst index 85a80e7d1248ac1e71f55b856a164f7e5ccc26ba..de44572307fca957c062e8595471b52611f083b3 100644 --- a/doc/src/dump_h5md.rst +++ b/doc/src/dump_h5md.rst @@ -6,7 +6,6 @@ dump h5md command Syntax """""" - .. parsed-literal:: dump ID group-ID h5md N file.h5 args @@ -30,28 +29,22 @@ Syntax create_group value = *yes* or *no* author value = quoted string - - Note that at least one element must be specified and image may only be present if position is specified first. For the elements *position*\ , *velocity*\ , *force* and *species*\ , a -sub-interval may be specified to write the data only every N\_element -iterations of the dump (i.e. every N\*N\_element time steps). This is +sub-interval may be specified to write the data only every N_element +iterations of the dump (i.e. every N\*N_element time steps). This is specified by this option directly following the element declaration: - .. parsed-literal:: every N_element - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump h5md1 all h5md 100 dump_h5md.h5 position image dump h5md1 all h5md 100 dump_h5md.h5 position velocity every 10 @@ -65,17 +58,15 @@ Dump a snapshot of atom coordinates every N timesteps in the HDF5 files are binary, portable and self-describing. This dump style will write only one file, on the root node. -Several dumps may write to the same file, by using file\_from and +Several dumps may write to the same file, by using file_from and referring to a previously defined dump. Several groups may also be stored within the same file by defining several dumps. A dump that -refers (via *file\_from*) to an already open dump ID and that concerns -another particle group must specify *create\_group yes*. +refers (via *file_from*) to an already open dump ID and that concerns +another particle group must specify *create_group yes*. .. _h5md: http://nongnu.org/h5md/ - - -Each data element is written every N\*N\_element steps. For *image*\ , no +Each data element is written every N\*N_element steps. For *image*\ , no sub-interval is needed as it must be present at the same interval as *position*\ . *image* must be given after *position* in any case. The box information (edges in each dimension) is stored at the same @@ -88,32 +79,28 @@ every N steps. timesteps when neighbor lists are rebuilt, the coordinates of an atom written to a dump file may be slightly outside the simulation box. -**Use from write\_dump:** +**Use from write_dump:** It is possible to use this dump style with the -:doc:`write\_dump ` command. In this case, the sub-intervals -must not be set at all. The write\_dump command can be used either to +:doc:`write_dump ` command. In this case, the sub-intervals +must not be set at all. The write_dump command can be used either to create a new file or to add current data to an existing dump file by -using the *file\_from* keyword. +using the *file_from* keyword. Typically, the *species* data is fixed. The following two commands store the position data every 100 timesteps, with the image data, and store once the species data in the same file. - -.. parsed-literal:: +.. code-block:: LAMMPS dump h5md1 all h5md 100 dump.h5 position image write_dump all h5md dump.h5 file_from h5md1 species - ---------- - Restrictions """""""""""" - The number of atoms per snapshot cannot change with the h5md style. The position data is stored wrapped (box boundaries not enforced, see note above). Only orthogonal domains are currently supported. This is @@ -128,31 +115,18 @@ provided by the HDF5 library. .. _HDF5-ws: http://www.hdfgroup.org/HDF5/ - - - ---------- - Related commands """""""""""""""" -:doc:`dump `, :doc:`dump\_modify `, :doc:`undump ` - +:doc:`dump `, :doc:`dump_modify `, :doc:`undump ` ---------- - -.. _h5md\_cpc: - - +.. _h5md_cpc: **(de Buyl)** de Buyl, Colberg and Hofling, H5MD: A structured, efficient, and portable file format for molecular data, Comp. Phys. Comm. 185(6), 1546-1553 (2014) - `[arXiv:1308.6382] `_. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dump_image.rst b/doc/src/dump_image.rst index 84be99372409e3ffba02ce56308f6ec67c9a5128..0477e5d7181da4b8f7e7271c7f90b785e820f23c 100644 --- a/doc/src/dump_image.rst +++ b/doc/src/dump_image.rst @@ -9,7 +9,6 @@ dump movie command Syntax """""" - .. parsed-literal:: dump ID group-ID style N file color diameter keyword value ... @@ -23,9 +22,9 @@ Syntax * diameter = atom attribute that determines size of each atom * zero or more keyword/value pairs may be appended * keyword = *atom* or *adiam* or *bond* or *line* or *tri* or *body* or *fix* or *size* or *view* or *center* or *up* or *zoom* or *persp* or *box* or *axes* or *subbox* or *shiny* or *ssao* - + .. parsed-literal:: - + *atom* = yes/no = do or do not draw atoms *adiam* size = numeric value for atom diameter (distance units) *bond* values = color width = color and width of bonds @@ -83,13 +82,10 @@ Syntax seed = random # seed (positive integer) dfactor = strength of shading from 0.0 to 1.0 - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump d0 all image 100 dump.\*.jpg type type dump d1 mobile image 500 snap.\*.png element element ssao yes 4539 0.6 @@ -104,7 +100,7 @@ Description Dump a high-quality rendered image of the atom configuration every N timesteps and save the images either as a sequence of JPEG or PNG or PPM files, or as a single movie file. The options for this command as -well as the :doc:`dump\_modify ` command control what is +well as the :doc:`dump_modify ` command control what is included in the image or movie and how it appears. A series of such images can easily be manually converted into an animated movie of your simulation or the process can be automated without writing the @@ -118,25 +114,23 @@ has been run, using the :doc:`rerun ` command to read snapshots from an existing dump file, and using these dump commands in the rerun script to generate the images/movie. -Here are two sample images, rendered as 1024x1024 JPEG files. Click -to see the full-size images: +Here are two sample images, rendered as 1024x1024 JPEG files. .. raw:: html -
+ Click to see the full-size images: -.. image:: JPG/dump1_small.jpg +.. |dump1| image:: JPG/dump1_small.jpg :target: JPG/dump1.jpg - -.. image:: JPG/dump2_small.jpg + :width: 48% +.. |dump2| image:: JPG/dump2_small.jpg :target: JPG/dump2.jpg + :width: 48% -.. raw:: html - -
+|dump1| |dump2| Only atoms in the specified group are rendered in the image. The -:doc:`dump\_modify region and thresh ` commands can also +:doc:`dump_modify region and thresh ` commands can also alter what atoms are included in the image. The filename suffix determines whether a JPEG, PNG, or PPM file is created with the *image* dump style. If the suffix is ".jpg" or @@ -146,18 +140,18 @@ created. The JPEG and PNG files are binary; PPM has a text mode header followed by binary data. JPEG images have lossy compression; PNG has lossless compression; and PPM files are uncompressed but can be compressed with gzip, if LAMMPS has been compiled with --DLAMMPS\_GZIP and a ".gz" suffix is used. +-DLAMMPS_GZIP and a ".gz" suffix is used. Similarly, the format of the resulting movie is chosen with the *movie* dump style. This is handled by the underlying FFmpeg converter and thus details have to be looked up in the FFmpeg documentation. Typical examples are: .avi, .mpg, .m4v, .mp4, .mkv, .flv, .mov, .gif Additional settings of the movie compression like bitrate and -framerate can be set using the :doc:`dump\_modify ` command. +framerate can be set using the :doc:`dump_modify ` command. To write out JPEG and PNG format files, you must build LAMMPS with support for the corresponding JPEG or PNG library. To convert images -into movies, LAMMPS has to be compiled with the -DLAMMPS\_FFMPEG +into movies, LAMMPS has to be compiled with the -DLAMMPS_FFMPEG flag. See the :doc:`Build settings ` doc page for details. @@ -167,25 +161,23 @@ details. timesteps when neighbor lists are rebuilt, the coordinates of an atom in the image may be slightly outside the simulation box. - ---------- - Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be -changed via the :doc:`dump\_modify first ` command, which +changed via the :doc:`dump_modify first ` command, which can be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by -using the :doc:`dump\_modify every ` command. +using the :doc:`dump_modify every ` command. Dump *image* filenames must contain a wildcard character "\*", so that one image file per snapshot is written. The "\*" character is replaced with the timestep value. For example, tmp.dump.\*.jpg becomes tmp.dump.0.jpg, tmp.dump.10000.jpg, tmp.dump.20000.jpg, etc. Note -that the :doc:`dump\_modify pad ` command can be used to +that the :doc:`dump_modify pad ` command can be used to insure all timestep numbers are the same length (e.g. 00010), which can make it easier to convert a series of images into a movie in the correct ordering. @@ -194,10 +186,8 @@ Dump *movie* filenames on the other hand, must not have any wildcard character since only one file combining all images into a single movie will be written by the movie encoder. - ---------- - The *color* and *diameter* settings determine the color and size of atoms rendered in the image. They can be any atom attribute defined for the :doc:`dump custom ` command, including *type* and @@ -219,23 +209,21 @@ to colors is as follows: * type 6 = cyan and repeats itself for types > 6. This mapping can be changed by the -:doc:`dump\_modify acolor ` command. +:doc:`dump_modify acolor ` command. If *type* is specified for the *diameter* setting then the diameter of each atom is determined by its atom type. By default all types have -diameter 1.0. This mapping can be changed by the :doc:`dump\_modify adiam ` command. +diameter 1.0. This mapping can be changed by the :doc:`dump_modify adiam ` command. If *element* is specified for the *color* and/or *diameter* setting, then the color and/or diameter of each atom is determined by which element it is, which in turn is specified by the element-to-type -mapping specified by the "dump\_modify element" command. By default +mapping specified by the "dump_modify element" command. By default every atom type is C (carbon). Every element has a color and diameter associated with it, which is the same as the colors and sizes used by the `AtomEye `_ visualization package. -.. _atomeye: http://mt.seas.upenn.edu/Archive/Graphics/A - - +.. _atomeye: http://li.mit.edu/Archive/Graphics/A/ If other atom attributes are used for the *color* or *diameter* settings, they are interpreted in the following way. @@ -244,7 +232,7 @@ If "vx", for example, is used as the *color* setting, then the color of the atom will depend on the x-component of its velocity. The association of a per-atom value with a specific color is determined by a "color map", which can be specified via the -:doc:`dump\_modify ` command. The basic idea is that the +:doc:`dump_modify ` command. The basic idea is that the atom-attribute will be within a range of values, and every value within the range is mapped to a specific color. Depending on how the color map is defined, that mapping can take place via interpolation so @@ -255,23 +243,19 @@ If "vx", for example, is used as the *diameter* setting, then the atom will be rendered using the x-component of its velocity as the diameter. If the per-atom value <= 0.0, them the atom will not be drawn. Note that finite-size spherical particles, as defined by -:doc:`atom\_style sphere ` define a per-particle radius or +:doc:`atom_style sphere ` define a per-particle radius or diameter, which can be used as the *diameter* setting. - ---------- - The various keywords listed above control how the image is rendered. As listed below, all of the keywords have defaults, most of which you will likely not need to change. The :doc:`dump modify ` also has options specific to the dump image style, particularly for assigning colors to atoms, bonds, and other image features. - ---------- - The *atom* keyword allow you to turn off the drawing of all atoms, if the specified value is *no*\ . Note that this will not turn off the drawing of particles that are represented as lines, triangles, or @@ -283,17 +267,15 @@ set a single numeric *size*\ . All atoms will be drawn with that diameter, e.g. 1.5, which is in whatever distance :doc:`units ` the input script defines, e.g. Angstroms. - ---------- - The *bond* keyword allows to you to alter how bonds are drawn. A bond is only drawn if both atoms in the bond are being drawn due to being in the specified group and due to other selection criteria (e.g. region, threshold settings of the -:doc:`dump\_modify ` command). By default, bonds are drawn +:doc:`dump_modify ` command). By default, bonds are drawn if they are defined in the input data file as read by the -:doc:`read\_data ` command. Using *none* for both the bond +:doc:`read_data ` command. Using *none* for both the bond *color* and *width* value will turn off the drawing of all bonds. If *atom* is specified for the bond *color* value, then each bond is @@ -312,7 +294,7 @@ types to colors is as follows: * type 6 = cyan and repeats itself for bond types > 6. This mapping can be changed by -the :doc:`dump\_modify bcolor ` command. +the :doc:`dump_modify bcolor ` command. The bond *width* value can be a numeric value or *atom* or *type* (or *none* as indicated above). @@ -327,13 +309,11 @@ of the 2 atoms in the bond. If *type* is specified for the *width* value then the diameter of each bond is determined by its bond type. By default all types have -diameter 0.5. This mapping can be changed by the :doc:`dump\_modify bdiam ` command. - +diameter 0.5. This mapping can be changed by the :doc:`dump_modify bdiam ` command. ---------- - -The *line* keyword can be used when :doc:`atom\_style line ` +The *line* keyword can be used when :doc:`atom_style line ` is used to define particles as line segments, and will draw them as lines. If this keyword is not used, such particles will be drawn as spheres, the same as if they were regular atoms. The only setting @@ -349,18 +329,16 @@ mapping of types to colors is as follows: * type 6 = cyan and repeats itself for types > 6. There is not yet an option to -change this via the :doc:`dump\_modify ` command. +change this via the :doc:`dump_modify ` command. The line *width* can only be a numeric value, which specifies that all lines will be drawn as cylinders with that diameter, e.g. 1.0, which is in whatever distance :doc:`units ` the input script defines, e.g. Angstroms. - ---------- - -The *tri* keyword can be used when :doc:`atom\_style tri ` is +The *tri* keyword can be used when :doc:`atom_style tri ` is used to define particles as triangles, and will draw them as triangles or edges (3 lines) or both, depending on the setting for *tflag*\ . If edges are drawn, the *width* setting determines the diameters of the @@ -378,13 +356,11 @@ default the mapping of types to colors is as follows: * type 6 = cyan and repeats itself for types > 6. There is not yet an option to -change this via the :doc:`dump\_modify ` command. - +change this via the :doc:`dump_modify ` command. ---------- - -The *body* keyword can be used when :doc:`atom\_style body ` +The *body* keyword can be used when :doc:`atom_style body ` is used to define body particles with internal state (e.g. sub-particles), and will drawn them in a manner specific to the body style. If this keyword is not used, such particles will be drawn @@ -413,12 +389,10 @@ particle. By default the mapping of types to colors is as follows: * type 6 = cyan and repeats itself for types > 6. There is not yet an option to -change this via the :doc:`dump\_modify ` command. - +change this via the :doc:`dump_modify ` command. ---------- - The *fix* keyword can be used with a :doc:`fix ` that produces objects to be drawn. @@ -439,26 +413,22 @@ the mapping of types to colors is as follows: * type 6 = cyan and repeats itself for types > 6. There is not yet an option to -change this via the :doc:`dump\_modify ` command. - +change this via the :doc:`dump_modify ` command. ---------- - The *size* keyword sets the width and height of the created images, i.e. the number of pixels in each direction. - ---------- - The *view*\ , *center*\ , *up*\ , *zoom*\ , and *persp* values determine how 3d simulation space is mapped to the 2d plane of the image. Basically they control how the simulation box appears in the image. All of the *view*\ , *center*\ , *up*\ , *zoom*\ , and *persp* values can be specified as numeric quantities, whose meaning is explained below. -Any of them can also be specified as an :doc:`equal-style variable `, by using v\_name as the value, where "name" is +Any of them can also be specified as an :doc:`equal-style variable `, by using v_name as the value, where "name" is the variable name. In this case the variable will be evaluated on the timestep each image is created to create a new value. If the equal-style variable is time-dependent, this is a means of changing @@ -495,7 +465,6 @@ plane perpendicular to the view vector implied by the *theta* and vector and user-specified up vector. Thus this internal vector is computed from the user-specified *up* vector as - .. parsed-literal:: up_internal = view cross (up cross view) @@ -523,16 +492,14 @@ perspective. The *persp* keyword is not yet supported as an option. - ---------- - The *box* keyword determines if and how the simulation box boundaries are rendered as thin cylinders in the image. If *no* is set, then the box boundaries are not drawn and the *diam* setting is ignored. If *yes* is set, the 12 edges of the box are drawn, with a diameter that is a fraction of the shortest box length in x,y,z (for 3d) or x,y (for -2d). The color of the box boundaries can be set with the :doc:`dump\_modify boxcolor ` command. +2d). The color of the box boundaries can be set with the :doc:`dump_modify boxcolor ` command. The *axes* keyword determines if and how the coordinate axes are rendered as thin cylinders in the image. If *no* is set, then the @@ -551,12 +518,10 @@ set (default), then the sub-domain boundaries are not drawn and the *diam* setting is ignored. If *yes* is set, the 12 edges of each processor sub-domain are drawn, with a diameter that is a fraction of the shortest box length in x,y,z (for 3d) or x,y (for 2d). The color -of the sub-domain boundaries can be set with the :doc:`dump\_modify boxcolor ` command. - +of the sub-domain boundaries can be set with the :doc:`dump_modify boxcolor ` command. ---------- - The *shiny* keyword determines how shiny the objects rendered in the image will appear. The *sfactor* value must be a value 0.0 <= *sfactor* <= 1.0, where *sfactor* = 1 is a highly reflective surface @@ -570,27 +535,24 @@ cost of computing the image by roughly 2x. The strength of the effect can be scaled by the *dfactor* parameter. If *no* is set, no depth shading is performed. - ---------- - A series of JPEG, PNG, or PPM images can be converted into a movie file and then played as a movie using commonly available tools. Using dump style *movie* automates this step and avoids the intermediate step of writing (many) image snapshot file. But LAMMPS has to be -compiled with -DLAMMPS\_FFMPEG and an FFmpeg executable have to be +compiled with -DLAMMPS_FFMPEG and an FFmpeg executable have to be installed. To manually convert JPEG, PNG or PPM files into an animated GIF or MPEG or other movie file you can use: * a) Use the ImageMagick convert program. - - .. parsed-literal:: - - % convert \*.jpg foo.gif - % convert -loop 1 \*.ppm foo.mpg + .. code-block:: bash + + % convert *.jpg foo.gif + % convert -loop 1 *.ppm foo.mpg Animated GIF files from ImageMagick are not optimized. You can use a program like gifsicle to optimize and thus massively shrink them. @@ -613,22 +575,16 @@ MPEG or other movie file you can use: FFmpeg is a command line tool that is available on many platforms and allows extremely flexible encoding and decoding of movies. - - .. parsed-literal:: - - cat snap.\*.jpg \| ffmpeg -y -f image2pipe -c:v mjpeg -i - -b:v 2000k movie.m4v - cat snap.\*.ppm \| ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi + .. code-block:: bash + cat snap.*.jpg | ffmpeg -y -f image2pipe -c:v mjpeg -i - -b:v 2000k movie.m4v + cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi Front ends for FFmpeg exist for multiple platforms. For more information see the `FFmpeg homepage `_ - - - ---------- - Play the movie: * a) Use your browser to view an animated GIF movie. @@ -639,19 +595,19 @@ Play the movie: * b) Use the freely available mplayer or ffplay tool to view a movie. Both are available for multiple OSes and support a large variety of file formats and decoders. - - .. parsed-literal:: - + + .. code-block:: bash + % mplayer foo.mpg % ffplay bar.avi -* c) Use the `Pizza.py `_ - `animate tool `_, +* c) Use the `Pizza.py `_ + `animate tool `_, which works directly on a series of image files. - - .. parsed-literal:: - - a = animate("foo\*.jpg") + + .. code-block:: python + + a = animate("foo*.jpg") * d) QuickTime and other Windows- or MacOS-based media players can obviously play movie files directly. Similarly for corresponding tools @@ -660,29 +616,23 @@ Play the movie: additional libraries, purchasing a license, or may not be supported. - - ---------- - See the :doc:`Modify ` doc page for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities which could then be output into dump files. - ---------- - Restrictions """""""""""" - -To write JPEG images, you must use the -DLAMMPS\_JPEG switch when +To write JPEG images, you must use the -DLAMMPS_JPEG switch when building LAMMPS and link with a JPEG library. To write PNG images, you -must use the -DLAMMPS\_PNG switch when building LAMMPS and link with a +must use the -DLAMMPS_PNG switch when building LAMMPS and link with a PNG library. -To write *movie* dumps, you must use the -DLAMMPS\_FFMPEG switch when +To write *movie* dumps, you must use the -DLAMMPS_FFMPEG switch when building LAMMPS and have the FFmpeg executable available on the machine where LAMMPS is being run. Typically it's name is lowercase, i.e. ffmpeg. @@ -695,7 +645,6 @@ errors and warnings printed by it. Those warnings and error messages will be printed to the screen only. Due to the way image data is communicated to FFmpeg, it will often print the message - .. parsed-literal:: pipe:: Input/output error @@ -707,7 +656,6 @@ and 2 format streams) have video bandwidth limits that can be crossed when rendering too large of image sizes. Typical warnings look like this: - .. parsed-literal:: [mpeg @ 0x98b5e0] packet too large, ignoring buffer limits to mux it @@ -722,7 +670,7 @@ mp4). Related commands """""""""""""""" -:doc:`dump `, :doc:`dump\_modify `, :doc:`undump ` +:doc:`dump `, :doc:`dump_modify `, :doc:`undump ` Default """"""" @@ -746,8 +694,3 @@ The defaults for the keywords are as follows: * subbox no 0.0 * shiny = 1.0 * ssao = no - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index 1aa09c6092e62244d5d2ebe46c33a1b584d2d48a..75fff9d444c001ad1e05f0aa813253dfc0b4121f 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -1,13 +1,12 @@ -.. index:: dump\_modify +.. index:: dump_modify -dump\_modify command -==================== +dump_modify command +=================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump_modify dump-ID keyword values ... @@ -15,9 +14,9 @@ Syntax * one or more keyword/value pairs may be appended * these keywords apply to various dump styles * keyword = *append* or *at* or *buffer* or *delay* or *element* or *every* or *fileper* or *first* or *flush* or *format* or *image* or *label* or *maxfiles* or *nfile* or *pad* or *pbc* or *precision* or *region* or *refresh* or *scale* or *sfactor* or *sort* or *tfactor* or *thermo* or *thresh* or *time* or *units* or *unwrap* - + .. parsed-literal:: - + *append* arg = *yes* or *no* *at* arg = N N = index of frame written upon first dump @@ -68,9 +67,9 @@ Syntax * these keywords apply only to the *image* and *movie* :doc:`styles ` * keyword = *acolor* or *adiam* or *amap* or *backcolor* or *bcolor* or *bdiam* or *boxcolor* or *color* or *bitrate* or *framerate* - + .. parsed-literal:: - + *acolor* args = type color type = atom type or range of types (see below) color = name of color or color1/color2/... @@ -115,13 +114,10 @@ Syntax *framerate* arg = fps fps = frames per second for movie - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump_modify 1 format line "%d %d %20.15g %g %g" scale yes dump_modify 1 format float %20.15g scale yes @@ -143,21 +139,17 @@ As explained on the :doc:`dump ` doc page, the *atom/mpiio*\ , syntax and in the format of the dump files they create, to the corresponding styles without "mpiio", except the single dump file they produce is written in parallel via the MPI-IO library. Thus if a -dump\_modify option below is valid for the *atom* style, it is also +dump_modify option below is valid for the *atom* style, it is also valid for the *atom/mpiio* style, and similarly for the other styles which allow for use of MPI-IO. - ---------- - These keywords apply to various dump styles, including the :doc:`dump image ` and :doc:`dump movie ` styles. The description gives details. - ---------- - The *append* keyword applies to all dump styles except *cfg* and *xtc* and *dcd*\ . It also applies only to text output files, not to binary or gzipped or image/movie files. If specified as *yes*\ , then dump @@ -165,23 +157,19 @@ snapshots are appended to the end of an existing dump file. If specified as *no*\ , then a new dump file will be created which will overwrite an existing file with the same name. - ---------- - The *at* keyword only applies to the *netcdf* dump style. It can only be used if the *append yes* keyword is also used. The *N* argument is the index of which frame to append to. A negative value can be specified for *N*\ , which means a frame counted from the end of the -file. The *at* keyword can only be used if the dump\_modify command is +file. The *at* keyword can only be used if the dump_modify command is before the first command that causes dump snapshots to be output, e.g. a :doc:`run ` or :doc:`minimize ` command. Once the dump file has been opened, this keyword has no further effect. - ---------- - The *buffer* keyword applies only to dump styles *atom*\ , *cfg*\ , *custom*\ , *local*\ , and *xyz*\ . It also applies only to text output files, not to binary or gzipped files. If specified as *yes*\ , which @@ -197,20 +185,16 @@ relatively expensive task of formatting the output for its own atoms. However it requires about twice the memory (per processor) for the extra buffering. - ---------- - The *delay* keyword applies to all dump styles. No snapshots will be output until the specified *Dstep* timestep or later. Specifying *Dstep* < 0 is the same as turning off the delay setting. This is a way to turn off unwanted output early in a simulation, for example, during an equilibration phase. - ---------- - The *element* keyword applies only to the dump *cfg*\ , *xyz*\ , and *image* styles. It associates element names (e.g. H, C, Fe) with LAMMPS atom types. See the list of element names at the bottom of @@ -229,19 +213,15 @@ In the case of *xyz* format dumps, there are no restrictions to what label can be used as an element name. Any white-space separated text will be accepted. -.. _atomeye: http://mt.seas.upenn.edu/Archive/Graphics/A - - - +.. _atomeye: http://li.mit.edu/Archive/Graphics/A/ ---------- - The *every* keyword changes the dump frequency originally specified by the :doc:`dump ` command to a new value. The every keyword can be specified in one of two ways. It can be a numeric value in which case it must be > 0. Or it can be an :doc:`equal-style variable `, -which should be specified as v\_name, where name is the variable name. +which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which a dump snapshot will be written @@ -264,8 +244,7 @@ to the dump file. The *every* keyword cannot be used with the dump For example, the following commands will write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc: - -.. parsed-literal:: +.. code-block:: LAMMPS variable s equal logfreq(10,3,10) dump 1 all atom 100 tmp.dump @@ -274,8 +253,7 @@ write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc: The following commands would write snapshots at the timesteps listed in file tmp.times: - -.. parsed-literal:: +.. code-block:: LAMMPS variable f file tmp.times variable s equal next(f) @@ -292,13 +270,11 @@ in file tmp.times: from the file is not a value greater than the current timestep. Thus if you wanted output on steps 0,15,100 of a 100-timestep run, the file should contain the values 15,100,101 and you should also use the - dump\_modify first command. Any final value > 100 could be used in + dump_modify first command. Any final value > 100 could be used in place of 101. - ---------- - The *first* keyword determines whether a dump snapshot is written on the very first timestep after the dump command is invoked. This will always occur if the current timestep is a multiple of N, the frequency @@ -307,20 +283,16 @@ if this is not the case, a dump snapshot will only be written if the setting of this keyword is *yes*\ . If it is *no*\ , which is the default, then it will not be written. - ---------- - The *flush* keyword determines whether a flush operation is invoked after a dump snapshot is written to the dump file. A flush insures the output in that file is current (no buffering by the OS), even if LAMMPS halts before the simulation completes. Flushes cannot be performed with dump style *xtc*\ . - ---------- - The *format* keyword can be used to change the default numeric format output by the text-based dump styles: *atom*\ , *custom*\ , *cfg*\ , and *xyz* styles, and their MPIIO variants. Only the *line* or *none* @@ -360,7 +332,7 @@ settings, reverting all values to their default format. values. However, when specifying the *line* option or *format M string* option for those values, you should specify a format string appropriate for an 8-byte signed integer, e.g. one with "%ld", if - LAMMPS was compiled with the -DLAMMPS\_BIGBIG option for 8-byte IDs. + LAMMPS was compiled with the -DLAMMPS_BIGBIG option for 8-byte IDs. .. note:: @@ -371,30 +343,25 @@ settings, reverting all values to their default format. (large) integer, then you need to use an appropriate format. For example, these commands: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local batom1 batom2 dump 1 all local 100 tmp.bonds index c_1[1] c_1[2] dump_modify 1 format "%d %0.0f %0.0f" will output the two atom IDs for atoms in each bond as integers. If -the dump\_modify command were omitted, they would appear as +the dump_modify command were omitted, they would appear as floating-point values, assuming they were large integers (more than 6 digits). The "index" keyword should use the "%d" format since it is not generated by a compute or fix, and is stored internally as an integer. - ---------- - The *fileper* keyword is documented below with the *nfile* keyword. - ---------- - The *image* keyword applies only to the dump *atom* style. If the image value is *yes*\ , 3 flags are appended to each atom's coords which are the absolute box image of the atom in each dimension. For @@ -405,16 +372,13 @@ current coordinate. Note that for dump style *custom* these various values can be printed in the dump file by using the appropriate atom attributes in the dump command itself. - ---------- - The *label* keyword applies only to the dump *local* style. When it writes local information, such as bond or angle topology to a dump file, it will use the specified *label* to format the header. By default this includes 2 lines: - .. parsed-literal:: ITEM: NUMBER OF ENTRIES @@ -423,10 +387,8 @@ the header. By default this includes 2 lines: The word "ENTRIES" will be replaced with the string specified, e.g. BONDS or ANGLES. - ---------- - The *maxfiles* keyword can only be used when a '\*' wildcard is included in the dump file name, i.e. when writing a new file(s) for each snapshot. The specified *Fmax* is how many snapshots will be @@ -439,10 +401,8 @@ timestep something bad will happen, e.g. when LAMMPS will exit with an error. You can dump every timestep, and limit the number of dump files produced, even if you run for 1000s of steps. - ---------- - The *nfile* or *fileper* keywords can be used in conjunction with the "%" wildcard character in the specified dump file name, for all dump styles except the *dcd*\ , *image*\ , *movie*\ , *xtc*\ , and *xyz* styles @@ -463,10 +423,8 @@ file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the next 3 processors and write it to a dump file. - ---------- - The *pad* keyword only applies when the dump filename is specified with a wildcard "\*" character which becomes the timestep. If *pad* is 0, which is the default, the timestep is converted into a string of @@ -477,10 +435,8 @@ yield 0000100, 0012000, 2000000. This can be useful so that post-processing programs can easily read the files in ascending timestep order. - ---------- - The *pbc* keyword applies to all the dump styles. As explained on the :doc:`dump ` doc page, atom coordinates in a dump file may be slightly outside the simulation box. This is because periodic @@ -492,24 +448,20 @@ snapshot is written, then restored to their original position. If it is set to *no* they will not be. The *no* setting is the default because it requires no extra computation. - ---------- - The *precision* keyword only applies to the dump *xtc* style. A specified value of N means that coordinates are stored to 1/N nanometer accuracy, e.g. for N = 1000, the coordinates are written to 1/1000 nanometer accuracy. - ---------- - The *refresh* keyword only applies to the dump *custom*\ , *cfg*\ , *image*\ , and *movie* styles. It allows an "incremental" dump file to be written, by refreshing a compute that is used as a threshold for determining which atoms are included in a dump snapshot. The -specified *c\_ID* gives the ID of the compute. It is prefixed by "c\_" +specified *c_ID* gives the ID of the compute. It is prefixed by "c\_" to indicate a compute, which is the only current option. At some point, other options may be added, e.g. fixes or variables. @@ -534,8 +486,7 @@ any snapshot we only want to output atoms that have hopped since the last snapshot. This can be accomplished with something the following commands: - -.. parsed-literal:: +.. code-block:: LAMMPS variable Dhop equal 0.6 variable check atom "c_dsp[4] > v_Dhop" @@ -546,13 +497,13 @@ commands: The :doc:`compute displace/atom ` command calculates the displacement of each atom from its reference position. The "4" index is the scalar displacement; 1,2,3 are the xyz components -of the displacement. The :doc:`dump\_modify thresh ` +of the displacement. The :doc:`dump_modify thresh ` command will cause only atoms that have displaced more than 0.6 Angstroms to be output on a given snapshot (assuming metal units). However, note that when an atom is output, we also need to update the reference position for that atom to its new coordinates. So that it will not be output in every snapshot thereafter. That reference -position is stored by :doc:`compute displace/atom `. So the dump\_modify +position is stored by :doc:`compute displace/atom `. So the dump_modify *refresh* option triggers a call to compute displace/atom at the end of every dump to perform that update. The *refresh check* option shown as part of the :doc:`compute displace/atom ` command enables the compute @@ -560,23 +511,21 @@ to respond to the call from the dump command, and update the appropriate reference positions. This is done be defining an :doc:`atom-style variable `, *check* in this example, which calculates a Boolean value (0 or 1) for each atom, based on the same -criterion used by dump\_modify thresh. +criterion used by dump_modify thresh. See the :doc:`compute displace/atom ` command for more details, including an example of how to produce output that includes an initial snapshot with the reference position of all atoms. Note that only computes with a *refresh* option will work with -dump\_modify refresh. See individual compute doc pages for details. +dump_modify refresh. See individual compute doc pages for details. Currently, only compute displace/atom supports this option. Others -may be added at some point. If you use a compute that doesn't support -refresh operations, LAMMPS will not complain; dump\_modify refresh will +may be added at some point. If you use a compute that does not support +refresh operations, LAMMPS will not complain; dump_modify refresh will simply do nothing. - ---------- - The *region* keyword only applies to the dump *custom*\ , *cfg*\ , *image*\ , and *movie* styles. If specified, only atoms in the region will be written to the dump file or included in the image/movie. Only @@ -586,10 +535,8 @@ can be defined as the "inside" or "outside" of a geometric shape, and it can be the "union" or "intersection" of a series of simpler regions. - ---------- - The *scale* keyword applies only to the dump *atom* style. A scale value of *yes* means atom coords are written in normalized units from 0.0 to 1.0 in each box dimension. If the simulation box is triclinic @@ -597,10 +544,8 @@ value of *yes* means atom coords are written in normalized units from value of *no* means they are written in absolute distance units (e.g. Angstroms or sigma). - ---------- - The *sfactor* and *tfactor* keywords only apply to the dump *xtc* style. They allow customization of the unit conversion factors used when writing to XTC files. By default they are initialized for @@ -614,14 +559,12 @@ different units, since the compression algorithm used in XTC files is most effective when the typical magnitude of position data is between 10.0 and 0.1. - ---------- - The *sort* keyword determines whether lines of per-atom output in a snapshot are sorted or not. A sort value of *off* means they will typically be written in indeterminate order, either in serial or -parallel. This is the case even in serial if the :doc:`atom\_modify sort ` option is turned on, which it is by default, to +parallel. This is the case even in serial if the :doc:`atom_modify sort ` option is turned on, which it is by default, to improve performance. A sort value of *id* means sort the output by atom ID. A sort value of N or -N means sort the output by the value in the Nth column of per-atom info in either ascending or descending @@ -640,19 +583,15 @@ performed. output requires extra overhead in terms of CPU and communication cost, as well as memory, versus unsorted output. - ---------- - The *thermo* keyword only applies the dump *netcdf* style. It triggers writing of :doc:`thermo ` information to the dump file alongside per-atom data. The values included in the dump file are -identical to the values specified by :doc:`thermo\_style `. - +identical to the values specified by :doc:`thermo_style `. ---------- - The *thresh* keyword only applies to the dump *custom*\ , *cfg*\ , *image*\ , and *movie* styles. Multiple thresholds can be specified. Specifying *none* turns off all threshold criteria. If thresholds are @@ -677,8 +616,7 @@ the dump command was invoked to produce a snapshot. This is a way to only dump atoms whose attribute has changed (or not changed). Three examples follow. - -.. parsed-literal:: +.. code-block:: LAMMPS dump_modify ... thresh ix != LAST @@ -687,21 +625,19 @@ simulation box since the last dump. (Note that atoms that crossed once and then crossed back between the two dump timesteps would not be included.) - -.. parsed-literal:: +.. code-block:: LAMMPS region foo sphere 10 20 10 15 variable inregion atom rmask(foo) - dump_modify ... thresh v_inregion \|\^ LAST + dump_modify ... thresh v_inregion |^ LAST This will dump atoms which crossed the boundary of the spherical region since the last dump. +.. code-block:: LAMMPS -.. parsed-literal:: - - variable charge atom "(q > 0.5) \|\| (q < -0.5)" - dump_modify ... thresh v_charge \|\^ LAST + variable charge atom "(q > 0.5) || (q < -0.5)" + dump_modify ... thresh v_charge |^ LAST This will dump atoms whose charge has changed from an absolute value less than 1/2 to greater than 1/2 (or vice versa) since the last dump. @@ -714,16 +650,13 @@ In this context, XOR means that if either the attribute or value is 0.0 and the other is non-zero, then the result is "true" and the threshold criterion is met. Otherwise it is not met. - ---------- - The *time* keyword only applies to the dump *atom*\ , *custom*\ , and *local* styles (and their COMPRESS package versions *atom/gz*\ , *custom/gz* and *local/gz*\ ). If set to *yes*\ , each frame will will contain two extra lines before the "ITEM: TIMESTEP" entry: - .. parsed-literal:: ITEM: TIME @@ -735,16 +668,13 @@ This is to simplify post-processing of trajectories using a variable time step, e.g. when using :doc:`fix dt/reset `. The default setting is *no*\ . - ---------- - The *units* keyword only applies to the dump *atom*\ , *custom*\ , and *local* styles (and their COMPRESS package versions *atom/gz*\ , *custom/gz* and *local/gz*\ ). If set to *yes*\ , each individual dump file will contain two extra lines at the very beginning with: - .. parsed-literal:: ITEM: UNITS @@ -755,10 +685,8 @@ to the dump file and thus allows visualization and post-processing tools to determine the choice of units of the data in the dump file. The default setting is *no*\ . - ---------- - The *unwrap* keyword only applies to the dump *dcd* and *xtc* styles. If set to *yes*\ , coordinates will be written "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed through @@ -767,19 +695,15 @@ the coordinate would be if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside the box size stored with the snapshot. - ---------- - These keywords apply only to the :doc:`dump image ` and :doc:`dump movie ` styles. Any keyword that affects an image, also affects a movie, since the movie is simply a collection of images. Some of the keywords only affect the :doc:`dump movie ` style. The descriptions give details. - ---------- - The *acolor* keyword can be used with the :doc:`dump image ` command, when its atom color setting is *type*\ , to set the color that atoms of each type will be drawn in the image. @@ -796,16 +720,14 @@ all types from 1 to N. A leading asterisk means all types from 1 to n The specified *color* can be a single color which is any of the 140 pre-defined colors (see below) or a color name defined by the -dump\_modify color option. Or it can be two or more colors separated +dump_modify color option. Or it can be two or more colors separated by a "/" character, e.g. red/green/blue. In the former case, that color is assigned to all the specified atom types. In the latter case, the list of colors are assigned in a round-robin fashion to each of the specified atom types. - ---------- - The *adiam* keyword can be used with the :doc:`dump image ` command, when its atom diameter setting is *type*\ , to set the size that atoms of each type will be drawn in the image. The specified @@ -815,10 +737,8 @@ argument to specify a range of atom types. The specified *diam* is the size in whatever distance :doc:`units ` the input script is using, e.g. Angstroms. - ---------- - The *amap* keyword can be used with the :doc:`dump image ` command, with its *atom* keyword, when its atom setting is an atom-attribute, to setup a color map. The color map is used to assign @@ -877,7 +797,7 @@ The *N* setting is how many entries follow. The format of the entries depends on whether the color map style is continuous, discrete or sequential. In all cases the *color* setting can be any of the 140 pre-defined colors (see below) or a color name defined by the -dump\_modify color option. +dump_modify color option. For continuous color maps, each entry has a *value* and a *color*\ . The *value* is either a number within the range of values or *min* or @@ -934,32 +854,27 @@ atoms in individual molecules with a different color. See the examples/pour/in.pour.2d.molecule input script for an example of how this is used. - -.. parsed-literal:: +.. code-block:: LAMMPS variable colors string & "red green blue yellow white & purple pink orange lime gray" variable mol atom mol%10 - dump 1 all image 250 image.\*.jpg v_mol type & + dump 1 all image 250 image.*.jpg v_mol type & zoom 1.6 adiam 1.5 dump_modify 1 pad 5 amap 0 10 sa 1 10 ${colors} In this case, 10 colors are defined, and molecule IDs are mapped to one of the colors, even if there are 1000s of molecules. - ---------- - The *backcolor* sets the background color of the images. The color name can be any of the 140 pre-defined colors (see below) or a color -name defined by the dump\_modify color option. - +name defined by the dump_modify color option. ---------- - The *bcolor* keyword can be used with the :doc:`dump image ` command, with its *bond* keyword, when its color setting is *type*\ , to set the color that bonds of each type will be drawn in the image. @@ -976,16 +891,14 @@ all types from 1 to N. A leading asterisk means all types from 1 to n The specified *color* can be a single color which is any of the 140 pre-defined colors (see below) or a color name defined by the -dump\_modify color option. Or it can be two or more colors separated +dump_modify color option. Or it can be two or more colors separated by a "/" character, e.g. red/green/blue. In the former case, that color is assigned to all the specified bond types. In the latter case, the list of colors are assigned in a round-robin fashion to each of the specified bond types. - ---------- - The *bdiam* keyword can be used with the :doc:`dump image ` command, with its *bond* keyword, when its diam setting is *type*\ , to set the diameter that bonds of each type will be drawn in the image. @@ -995,10 +908,8 @@ the *type* argument to specify a range of bond types. The specified *diam* is the size in whatever distance :doc:`units ` you are using, e.g. Angstroms. - ---------- - The *bitrate* keyword can be used with the :doc:`dump movie ` command to define the size of the resulting movie file and its quality via setting how many kbits per second are to be used for the movie file. Higher bitrates require less @@ -1012,26 +923,22 @@ older compression formats. Not all movie file formats supported by dump movie allow the bitrate to be set. If not, the setting is silently ignored. - ---------- - The *boxcolor* keyword sets the color of the simulation box drawn around the atoms in each image as well as the color of processor sub-domain boundaries. See the "dump image box" command for how to specify that a box be drawn via the *box* keyword, and the sub-domain boundaries via the *subbox* keyword. The color name can be any of the 140 pre-defined colors (see below) or a color name defined by the -dump\_modify color option. - +dump_modify color option. ---------- - The *color* keyword allows definition of a new color name, in addition to the 140-predefined colors (see below), and associates 3 red/green/blue RGB values with that color name. The color name can -then be used with any other dump\_modify keyword that takes a color +then be used with any other dump_modify keyword that takes a color name as a value. The RGB values should each be floating point values between 0.0 and 1.0 inclusive. @@ -1040,10 +947,8 @@ names are searched first, then the 140 pre-defined color names. This means you can also use the *color* keyword to overwrite one of the pre-defined color names with new RBG values. - ---------- - The *framerate* keyword can be used with the :doc:`dump movie ` command to define the duration of the resulting movie file. Movie files written by the dump *movie* command have a default frame rate of 24 frames per second and the images generated @@ -1055,10 +960,8 @@ frame rate higher than 24 is not recommended, as it will result in simply dropping the rendered images. It is more efficient to dump images less frequently. - ---------- - Restrictions """""""""""" none @@ -1107,12 +1010,10 @@ The option defaults are * color = 140 color names are pre-defined as listed below * framerate = 24 - ---------- - These are the standard 109 element names that LAMMPS pre-defines for -use with the :doc:`dump image ` and dump\_modify commands. +use with the :doc:`dump image ` and dump_modify commands. * 1-10 = "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne" * 11-20 = "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca" @@ -1126,13 +1027,11 @@ use with the :doc:`dump image ` and dump\_modify commands. * 91-100 = "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm" * 101-109 = "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt" - ---------- - These are the 140 colors that LAMMPS pre-defines for use with the -:doc:`dump image ` and dump\_modify commands. Additional -colors can be defined with the dump\_modify color command. The 3 +:doc:`dump image ` and dump_modify commands. Additional +colors can be defined with the dump_modify color command. The 3 numbers listed for each name are the RGB (red/green/blue) values. Divide each value by 255 to get the equivalent 0.0 to 1.0 value. @@ -1193,8 +1092,3 @@ Divide each value by 255 to get the equivalent 0.0 to 1.0 value. +-------------------------------+--------------------------------------+---------------------------------+--------------------------------+--------------------------------+ | wheat = 245, 222, 179 | white = 255, 255, 255 | whitesmoke = 245, 245, 245 | yellow = 255, 255, 0 | yellowgreen = 154, 205, 50 | +-------------------------------+--------------------------------------+---------------------------------+--------------------------------+--------------------------------+ - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dump_molfile.rst b/doc/src/dump_molfile.rst index 4c03def9b7620ac4c9911a6c0a1d1d1b5a31d53f..69bd8aa8c260817b1b52792ecda2588978f39491 100644 --- a/doc/src/dump_molfile.rst +++ b/doc/src/dump_molfile.rst @@ -6,7 +6,6 @@ dump molfile command Syntax """""" - .. parsed-literal:: dump ID group-ID molfile N file format path @@ -19,15 +18,13 @@ Syntax * format = file format to be used * path = file path with plugins (optional) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump mf1 all molfile 10 melt1.xml hoomd - dump mf2 all molfile 10 melt2-\*.pdb pdb . + dump mf2 all molfile 10 melt2-*.pdb pdb . dump mf3 all molfile 50 melt3.xyz xyz .:/home/akohlmey/vmd/plugins/LINUX/molfile Description @@ -56,14 +53,12 @@ by this dump style: the number of atoms must not change, the atoms must be sorted, outside of the coordinates no change in atom properties (like type, mass, charge) will be recorded. - ---------- - The *format* keyword determines what format is used to write out the dump. For this to work, LAMMPS must be able to find and load a compatible molfile plugin that supports this format. Settings made via -the :doc:`dump\_modify ` command can alter per atom properties +the :doc:`dump_modify ` command can alter per atom properties like element names. The *path* keyword determines which in directories. This is a "path" @@ -71,7 +66,7 @@ like other search paths, i.e. it can contain multiple directories separated by a colon (or semi-colon on windows). This keyword is optional and default to ".", the current directory. -The *unwrap* option of the :doc:`dump\_modify ` command allows +The *unwrap* option of the :doc:`dump_modify ` command allows coordinates to be written "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed through a periodic boundary one or more times, the value is printed for what the coordinate would be @@ -79,29 +74,24 @@ if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside the box size stored with the snapshot. - ---------- - Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be -changed via the :doc:`dump\_modify first ` command, which can +changed via the :doc:`dump_modify first ` command, which can be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by using the -:doc:`dump\_modify every ` command. The :doc:`dump\_modify every ` command also allows a variable to be used to +:doc:`dump_modify every ` command. The :doc:`dump_modify every ` command also allows a variable to be used to determine the sequence of timesteps on which dump files are written. - ---------- - Restrictions """""""""""" - The *molfile* dump style is part of the USER-MOLFILE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -125,21 +115,14 @@ application itself. The plugins are installed in the directory: with a set of header files that are compatible with VMD 1.9 and 1.9.1 (June 2012) - ---------- - Related commands """""""""""""""" -:doc:`dump `, :doc:`dump\_modify `, :doc:`undump ` +:doc:`dump `, :doc:`dump_modify `, :doc:`undump ` Default """"""" The default path is ".". All other properties have to be specified. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dump_netcdf.rst b/doc/src/dump_netcdf.rst index f89faff0cad801e511696ef7803c2dc0d476c11f..5627060452fae25ccb8388a4492c459779743625 100644 --- a/doc/src/dump_netcdf.rst +++ b/doc/src/dump_netcdf.rst @@ -9,7 +9,6 @@ dump netcdf/mpiio command Syntax """""" - .. parsed-literal:: dump ID group-ID netcdf N file args @@ -20,18 +19,17 @@ Syntax * *netcdf* or *netcdf/mpiio* = style of dump command (other styles *atom* or *cfg* or *dcd* or *xtc* or *xyz* or *local* or *custom* are discussed on the :doc:`dump ` doc page) * N = dump every this many timesteps * file = name of file to write dump info to -* args = list of atom attributes, same as for :doc:`dump\_style custom ` +* args = list of atom attributes, same as for :doc:`dump_style custom ` Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump 1 all netcdf 100 traj.nc type x y z vx vy vz dump_modify 1 append yes at -1 thermo yes dump 1 all netcdf/mpiio 1000 traj.nc id type x y z - dump 1 all netcdf 1000 traj.\*.nc id type x y z + dump 1 all netcdf 1000 traj.*.nc id type x y z Description """"""""""" @@ -59,39 +57,25 @@ all extensions of this dump style. In addition to per-atom data, :doc:`thermo ` data can be included in the dump file. The data included in the dump file is identical to the data specified -by :doc:`thermo\_style `. +by :doc:`thermo_style `. .. _netcdf-home: http://www.unidata.ucar.edu/software/netcdf/ - - .. _pnetcdf-home: http://trac.mcs.anl.gov/projects/parallel-netcdf/ - - - ---------- - Restrictions """""""""""" - The *netcdf* and *netcdf/mpiio* dump styles are part of the USER-NETCDF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - ---------- - Related commands """""""""""""""" -:doc:`dump `, :doc:`dump\_modify `, :doc:`undump ` - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +:doc:`dump `, :doc:`dump_modify `, :doc:`undump ` diff --git a/doc/src/dump_vtk.rst b/doc/src/dump_vtk.rst index 2f229aacccaa102841acaea4dbc4f3ab9ef506c6..4f607c4fdd367948176bfd24a934e41e4d45a189 100644 --- a/doc/src/dump_vtk.rst +++ b/doc/src/dump_vtk.rst @@ -6,7 +6,6 @@ dump vtk command Syntax """""" - .. parsed-literal:: dump ID group-ID vtk N file args @@ -16,16 +15,15 @@ Syntax * vtk = style of dump command (other styles *atom* or *cfg* or *dcd* or *xtc* or *xyz* or *local* or *custom* are discussed on the :doc:`dump ` doc page) * N = dump every this many timesteps * file = name of file to write dump info to -* args = same as arguments for :doc:`dump\_style custom ` +* args = same as arguments for :doc:`dump_style custom ` Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - dump dmpvtk all vtk 100 dump\*.myforce.vtk id type vx fx - dump dmpvtp flow vtk 100 dump\*.%.displace.vtp id type c_myD[1] c_myD[2] c_myD[3] v_ke + dump dmpvtk all vtk 100 dump*.myforce.vtk id type vx fx + dump dmpvtp flow vtk 100 dump*.%.displace.vtp id type c_myD[1] c_myD[2] c_myD[3] v_ke Description """"""""""" @@ -34,20 +32,20 @@ Dump a snapshot of atom quantities to one or more files every N timesteps in a format readable by the `VTK visualization toolkit `_ or other visualization tools that use it, e.g. `ParaView `_. The timesteps on which dump output is written can also be controlled by a variable; see the -:doc:`dump\_modify every ` command for details. +:doc:`dump_modify every ` command for details. -This dump style is similar to :doc:`dump\_style custom ` but uses +This dump style is similar to :doc:`dump_style custom ` but uses the VTK library to write data to VTK simple legacy or XML format depending on the filename extension specified for the dump file. This can be either *\*.vtk* for the legacy format or *\*.vtp* and *\*.vtu*, respectively, for XML format; see the `VTK homepage `_ for a detailed description of these formats. Since this naming convention conflicts with the way binary output is usually specified (see below), the -:doc:`dump\_modify binary ` command allows setting of a +:doc:`dump_modify binary ` command allows setting of a binary option for this dump style explicitly. Only information for atoms in the specified group is dumped. The -:doc:`dump\_modify thresh and region ` commands can also +:doc:`dump_modify thresh and region ` commands can also alter what atoms are included; see details below. As described below, special characters ("\*", "%") in the filename @@ -62,25 +60,23 @@ determine the kind of output. .. warning:: - Unless the :doc:`dump\_modify sort ` option + Unless the :doc:`dump_modify sort ` option is invoked, the lines of atom information written to dump files will be in an indeterminate order for each snapshot. This is even true - when running on a single processor, if the :doc:`atom\_modify sort ` option is on, which it is by default. In this + when running on a single processor, if the :doc:`atom_modify sort ` option is on, which it is by default. In this case atoms are re-ordered periodically during a simulation, due to spatial sorting. It is also true when running in parallel, because data for a single snapshot is collected from multiple processors, each of which owns a subset of the atoms. For the *vtk* style, sorting is off by default. See the -:doc:`dump\_modify ` doc page for details. - +:doc:`dump_modify ` doc page for details. ---------- - The dimensions of the simulation box are written to a separate file for each snapshot (either in legacy VTK or XML format depending on the -format of the main dump file) with the suffix *\_boundingBox* appended +format of the main dump file) with the suffix *_boundingBox* appended to the given dump filename. For an orthogonal simulation box this information is saved as a @@ -91,7 +87,7 @@ hexahedrons in either legacy .vtk or .vtu XML format. Style *vtk* allows you to specify a list of atom attributes to be written to the dump file for each atom. The list of possible attributes -is the same as for the :doc:`dump\_style custom ` command; see +is the same as for the :doc:`dump_style custom ` command; see its doc page for a listing and an explanation of each attribute. .. note:: @@ -109,30 +105,28 @@ a wildcard "\*" must be included in the filename, as discussed below. Otherwise the dump files will get overwritten with the new snapshot each time. - ---------- - Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be performed on the initial timestep after the dump command is invoked, if the current timestep is not a multiple of N. This behavior can be -changed via the :doc:`dump\_modify first ` command, which +changed via the :doc:`dump_modify first ` command, which can also be useful if the dump command is invoked after a minimization ended on an arbitrary timestep. N can be changed between runs by -using the :doc:`dump\_modify every ` command. -The :doc:`dump\_modify every ` command +using the :doc:`dump_modify every ` command. +The :doc:`dump_modify every ` command also allows a variable to be used to determine the sequence of timesteps on which dump files are written. In this mode a dump on the first timestep of a run will also not be written unless the -:doc:`dump\_modify first ` command is used. +:doc:`dump_modify first ` command is used. Dump filenames can contain two wildcard characters. If a "\*" character appears in the filename, then one file per snapshot is written and the "\*" character is replaced with the timestep value. For example, tmp.dump\*.vtk becomes tmp.dump0.vtk, tmp.dump10000.vtk, -tmp.dump20000.vtk, etc. Note that the :doc:`dump\_modify pad ` +tmp.dump20000.vtk, etc. Note that the :doc:`dump_modify pad ` command can be used to insure all timestep numbers are the same length (e.g. 00010), which can make it easier to read a series of dump files in order with some post-processing tools. @@ -140,13 +134,13 @@ in order with some post-processing tools. If a "%" character appears in the filename, then each of P processors writes a portion of the dump file, and the "%" character is replaced with the processor ID from 0 to P-1 preceded by an underscore character. -For example, tmp.dump%.vtp becomes tmp.dump\_0.vtp, tmp.dump\_1.vtp, ... -tmp.dump\_P-1.vtp, etc. This creates smaller files and can be a fast +For example, tmp.dump%.vtp becomes tmp.dump_0.vtp, tmp.dump_1.vtp, ... +tmp.dump_P-1.vtp, etc. This creates smaller files and can be a fast mode of output on parallel machines that support parallel I/O for output. By default, P = the number of processors meaning one file per processor, but P can be set to a smaller value via the *nfile* or -*fileper* keywords of the :doc:`dump\_modify ` command. +*fileper* keywords of the :doc:`dump_modify ` command. These options can be the most efficient way of writing out dump files when running on large numbers of processors. @@ -156,19 +150,16 @@ processor 0 does write files. Note that using the "\*" and "%" characters together can produce a large number of small dump files! -If *dump\_modify binary* is used, the dump file (or files, if "\*" or +If *dump_modify binary* is used, the dump file (or files, if "\*" or "%" is also used) is written in binary format. A binary dump file will be about the same size as a text version, but will typically write out much faster. - ---------- - Restrictions """""""""""" - The *vtk* style does not support writing of gzipped dump files. The *vtk* dump style is part of the USER-VTK package. It is only @@ -185,15 +176,10 @@ Related commands """""""""""""""" :doc:`dump `, :doc:`dump image `, -:doc:`dump\_modify `, :doc:`undump ` +:doc:`dump_modify `, :doc:`undump ` Default """"""" By default, files are written in ASCII format. If the file extension is not one of .vtk, .vtp or .vtu, the legacy VTK file format is used. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/dynamical_matrix.rst b/doc/src/dynamical_matrix.rst index 0d4ccf7589a392a0f6e67d05ece611ea4856c8d4..01981732da56ccc7b9f6c6d36ab2a90dc33b28a5 100644 --- a/doc/src/dynamical_matrix.rst +++ b/doc/src/dynamical_matrix.rst @@ -1,13 +1,12 @@ -.. index:: dynamical\_matrix +.. index:: dynamical_matrix -dynamical\_matrix command -========================= +dynamical_matrix command +======================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS dynamical_matrix group-ID style gamma args keyword value ... @@ -15,20 +14,17 @@ Syntax * style = *regular* or *eskm* * gamma = finite different displacement length (distance units) * one or more keyword/arg pairs may be appended - + .. parsed-literal:: - + keyword = *file* or *binary* *file* name = name of output file for the dynamical matrix *binary* arg = *yes* or *no* or *gzip* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dynamical_matrix 1 regular 0.000001 dynamical_matrix 1 eskm 0.000001 @@ -40,49 +36,47 @@ Description Calculate the dynamical matrix by finite difference of the selected group, -.. image:: JPG/dynamical_matrix_dynmat.jpg - :align: center +.. math:: + + D = \frac{\Phi_{ij}^{\alpha\beta}}{\sqrt{M_i M_j}} -where D is the dynamical matrix and Phi is the force constant matrix defined by +where D is the dynamical matrix and :math:`\Phi` is the force constant +matrix defined by -.. image:: JPG/dynamical_matrix_force_constant.jpg - :align: center +.. math:: -The output for the dynamical matrix is printed three elements at a time. The -three elements are the three beta elements for a respective i/alpha/j combination. -Each line is printed in order of j increasing first, alpha second, and i last. + \Phi_{ij}^{\alpha\beta} = \frac{\partial^2 U}{\partial x_{i,\alpha} \partial x_{j,\beta}} -If the style eskm is selected, the dynamical matrix will be in units of inverse squared -femtoseconds. These units will then conveniently leave frequencies in THz, where -frequencies, represented as omega, can be calculated from +The output for the dynamical matrix is printed three elements at a time. +The three elements are the three :math:`\beta` elements for a respective +i/:math:`\alpha`/j combination. Each line is printed in order of j +increasing first, :math:`\alpha` second, and i last. -:c, image(Eqs/dynamical\_matrix\_phonons.jpg) +If the style eskm is selected, the dynamical matrix will be in units of +inverse squared femtoseconds. These units will then conveniently leave +frequencies in THz. Restrictions """""""""""" - The command collects an array of nine times the number of atoms in a group on every single MPI rank, so the memory requirements can be very significant for large systems. This command is part of the USER-PHONON package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. +See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`fix phonon ` +:doc:`fix phonon `, :doc:`fix numdiff `, -:doc:`compute hma ` uses an analytic formulation of the hessian -provided by Pair's single\_hessian. +:doc:`compute hma ` uses an analytic formulation of the +Hessian provided by a pair_style's Pair::single_hessian() function, +if implemented. Default """"""" The default settings are file = "dynmat.dyn", binary = no - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/echo.rst b/doc/src/echo.rst index a88d821993de4755146336a56e75466f58d52511..6fc00aa1e631ea5905e0a50904c0600d2064da95 100644 --- a/doc/src/echo.rst +++ b/doc/src/echo.rst @@ -6,7 +6,6 @@ echo command Syntax """""" - .. parsed-literal:: echo style @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS echo both echo log @@ -42,12 +40,6 @@ Restrictions Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS echo log - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 801479de6e926ad209d1b0320b23da5c92177ad8..2b5ed48ac91c5c3f226f67abf37a6bf482b22516 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -6,7 +6,6 @@ fix command Syntax """""" - .. parsed-literal:: fix ID group-ID style args @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve fix 3 all nvt temp 300.0 300.0 0.01 @@ -77,10 +75,8 @@ continue on with its calculations in a restarted simulation. See the a fix in an input script that reads a restart file. See the doc pages for individual fixes for info on which ones can be restarted. - ---------- - Some fixes calculate one of three styles of quantities: global, per-atom, or local, which can be used by other commands or output as described below. A global quantity is one or more system-wide values, @@ -107,11 +103,11 @@ discussed below, it can be referenced via the following bracket notation, where ID is the ID of the fix: +-------------+--------------------------------------------+ -| f\_ID | entire scalar, vector, or array | +| f_ID | entire scalar, vector, or array | +-------------+--------------------------------------------+ -| f\_ID[I] | one element of vector, one column of array | +| f_ID[I] | one element of vector, one column of array | +-------------+--------------------------------------------+ -| f\_ID[I][J] | one element of array | +| f_ID[I][J] | one element of array | +-------------+--------------------------------------------+ In other words, using one bracket reduces the dimension of the @@ -123,14 +119,12 @@ or array. Note that commands and :doc:`variables ` which use fix quantities typically do not allow for all kinds, e.g. a command may require a vector of values, not a scalar. This means there is no -ambiguity about referring to a fix quantity as f\_ID even if it +ambiguity about referring to a fix quantity as f_ID even if it produces, for example, both a scalar and vector. The doc pages for various commands explain the details. - ---------- - In LAMMPS, the values generated by a fix can be used in several ways: * Global values can be output via the :doc:`thermo_style custom ` or :doc:`fix ave/time ` command. @@ -142,7 +136,6 @@ In LAMMPS, the values generated by a fix can be used in several ways: command. Or the per-atom values can be referenced in an :doc:`atom-style variable `. * Local values can be reduced by the :doc:`compute reduce ` command, or histogrammed by the :doc:`fix ave/histo ` command. - See the :doc:`Howto output ` doc page for a summary of various LAMMPS output options, many of which involve fixes. @@ -153,16 +146,14 @@ e.g. temperature. Extensive means the value scales with the number of atoms in the simulation, e.g. total rotational kinetic energy. :doc:`Thermodynamic output ` will normalize extensive values by the number of atoms in the system, depending on the -"thermo\_modify norm" setting. It will not normalize intensive values. +"thermo_modify norm" setting. It will not normalize intensive values. If a fix value is accessed in another way, e.g. by a :doc:`variable `, you may want to know whether it is an intensive or extensive value. See the doc page for individual fixes for further info. - ---------- - Each fix style has its own doc page which describes its arguments and what it does, as listed below. Here is an alphabetic list of fix styles available in LAMMPS. They are also listed in more compact form @@ -271,6 +262,7 @@ accelerated styles exist. * :doc:`npt/eff ` - NPT for nuclei and electrons in the electron force field model * :doc:`npt/sphere ` - NPT for spherical particles * :doc:`npt/uef ` - NPT style time integration with diagonal flow +* :doc:`numdiff ` - compute derivatives of per-atom data from finite differences * :doc:`nve ` - constant NVE time integration * :doc:`nve/asphere ` - NVE for aspherical particles * :doc:`nve/asphere/noforce ` - NVE for aspherical particles without forces @@ -396,7 +388,6 @@ accelerated styles exist. Restrictions """""""""""" - Some fix styles are part of specific packages. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. The doc pages for individual fixes tell if it is part of a package. @@ -407,8 +398,3 @@ Related commands :doc:`unfix `, :doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index 4d5cf59a39808c1812408ecc4d5be4b1a3b97559..fbc4aa466170e447a1fbad8ecf6b294ba06220a6 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -6,7 +6,6 @@ fix adapt command Syntax """""" - .. parsed-literal:: fix ID group-ID adapt N attribute args ... keyword value ... @@ -15,10 +14,10 @@ Syntax * adapt = style name of this fix command * N = adapt simulation settings every this many timesteps * one or more attribute/arg pairs may be appended -* attribute = *pair* or *kspace* or *atom* - +* attribute = *pair* or *bond* or *kspace* or *atom* + .. parsed-literal:: - + *pair* args = pstyle pparam I J v_name pstyle = pair style name, e.g. lj/cut pparam = parameter to adapt over time @@ -37,9 +36,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *scale* or *reset* - + .. parsed-literal:: - + *scale* value = *no* or *yes* *no* = the variable value is the new setting *yes* = the variable value multiplies the original setting @@ -47,17 +46,14 @@ Syntax *no* = values will remain altered at the end of a run *yes* = reset altered values to their original values at the end of a run - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all adapt 1 pair soft a 1 1 v_prefactor - fix 1 all adapt 1 pair soft a 2\* 3 v_prefactor - fix 1 all adapt 1 pair lj/cut epsilon \* \* v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes + fix 1 all adapt 1 pair soft a 2* 3 v_prefactor + fix 1 all adapt 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes fix 1 all adapt 10 atom diameter v_size variable ramp_up equal "ramp(0.01,0.5)" @@ -90,8 +86,8 @@ the end of a simulation. Even if *reset* is specified as *yes*\ , a restart file written during a simulation will contain the modified settings. -If the *scale* keyword is set to *no*\ , then the value the parameter is -set to will be whatever the variable generates. If the *scale* +If the *scale* keyword is set to *no*\ , then the value of the altered +parameter will be whatever the variable generates. If the *scale* keyword is set to *yes*\ , then the value of the altered parameter will be the initial value of that parameter multiplied by whatever the variable generates. I.e. the variable is now a "scale factor" applied @@ -102,18 +98,16 @@ themselves are actually altered by this fix. Make sure you use the *reset yes* option if you want the parameters to be restored to their initial values after the run. - ---------- - The *pair* keyword enables various parameters of potentials defined by -the :doc:`pair\_style ` command to be changed, if the pair -style supports it. Note that the :doc:`pair\_style ` and -:doc:`pair\_coeff ` commands must be used in the usual manner +the :doc:`pair_style ` command to be changed, if the pair +style supports it. Note that the :doc:`pair_style ` and +:doc:`pair_coeff ` commands must be used in the usual manner to specify these parameters initially; the fix adapt command simply overrides the parameters. -The *pstyle* argument is the name of the pair style. If :doc:`pair\_style hybrid or hybrid/overlay ` is used, *pstyle* should be +The *pstyle* argument is the name of the pair style. If :doc:`pair_style hybrid or hybrid/overlay ` is used, *pstyle* should be a sub-style name. If there are multiple sub-styles using the same pair style, then *pstyle* should be specified as "style:N" where N is which instance of the pair style you wish to adapt, e.g. the first, @@ -127,11 +121,11 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`born ` | a,b,c | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`born/coul/long, born/coul/msm ` | coulombic\_cutoff | type global | +| :doc:`born/coul/long, born/coul/msm ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`buck ` | a,c | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`buck/coul/long, buck/coul/msm ` | coulombic\_cutoff | type global | +| :doc:`buck/coul/long, buck/coul/msm ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`buck/mdf ` | a,c | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -141,11 +135,11 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`coul/debye ` | scale | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/dsf ` | coulombic\_cutoff | type global | +| :doc:`coul/dsf ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/long, coul/msm ` | coulombic\_cutoff, scale | type pairs | +| :doc:`coul/long, coul/msm ` | coulombic_cutoff, scale | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/long/soft ` | scale, lambda, coulombic\_cutoff | type pairs | +| :doc:`coul/long/soft ` | scale, lambda, coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`eam, eam/alloy, eam/fs ` | scale | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -155,17 +149,17 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/class2 ` | epsilon,sigma | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/class2/coul/cut, lj/class2/coul/long ` | epsilon,sigma,coulombic\_cutoff | type pairs | +| :doc:`lj/class2/coul/cut, lj/class2/coul/long ` | epsilon,sigma,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut ` | epsilon,sigma | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm ` | epsilon,sigma,coulombic\_cutoff | type pairs | +| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm ` | epsilon,sigma,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft ` | epsilon,sigma,lambda,coulombic\_cutoff | type pairs | +| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft ` | epsilon,sigma,lambda,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut/coul/dsf ` | cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/cut/tip4p/cut ` | epsilon,sigma,coulombic\_cutoff | type pairs | +| :doc:`lj/cut/tip4p/cut ` | epsilon,sigma,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut/soft ` | epsilon,sigma,lambda | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -177,7 +171,7 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lubricate ` | mu | global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`mie/cut ` | epsilon,sigma,gamma\_repulsive,gamma\_attractive | type pairs | +| :doc:`mie/cut ` | epsilon,sigma,gamma_repulsive,gamma_attractive | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`morse, morse/smooth/linear ` | D0,R0,alpha | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -185,19 +179,19 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`nm/cut ` | E0,R0,m,n | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`nm/cut/coul/cut, nm/cut/coul/long ` | E0,R0,m,n,coulombic\_cutoff | type pairs | +| :doc:`nm/cut/coul/cut, nm/cut/coul/long ` | E0,R0,m,n,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`reax/c ` | chi, eta, gamma | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/dmi ` | coulombic\_cutoff | type global | +| :doc:`spin/dmi ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/exchange ` | coulombic\_cutoff | type global | +| :doc:`spin/exchange ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/magelec ` | coulombic\_cutoff | type global | +| :doc:`spin/magelec ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/neel ` | coulombic\_cutoff | type global | +| :doc:`spin/neel ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`table ` | table\_cutoff | type pairs | +| :doc:`table ` | table_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`ufm ` | epsilon,sigma | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -213,9 +207,9 @@ meaning of these parameters: the pair\_\*.cpp file associated with the potential. Some parameters are global settings for the pair style, e.g. the -viscosity setting "mu" for :doc:`pair\_style lubricate `. +viscosity setting "mu" for :doc:`pair_style lubricate `. Other parameters apply to atom type pairs within the pair style, -e.g. the prefactor "a" for :doc:`pair\_style soft `. +e.g. the prefactor "a" for :doc:`pair_style soft `. Note that for many of the potentials, the parameter that can be varied is effectively a prefactor on the entire energy expression for the @@ -233,7 +227,7 @@ be specified to indicate which type pairs to apply it to. If a global parameter is specified, the *I* and *J* settings still need to be specified, but are ignored. -Similar to the :doc:`pair\_coeff command `, I and J can be +Similar to the :doc:`pair_coeff command `, I and J can be specified in one of two ways. Explicit numeric values can be used for each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I interaction to the same values. @@ -248,38 +242,35 @@ all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). Note that only type pairs with I <= J are considered; if asterisks imply type pairs where J < I, they are ignored. -IMPROTANT NOTE: If :doc:`pair\_style hybrid or hybrid/overlay ` is being used, then the *pstyle* will +IMPROTANT NOTE: If :doc:`pair_style hybrid or hybrid/overlay ` is being used, then the *pstyle* will be a sub-style name. You must specify I,J arguments that correspond -to type pair values defined (via the :doc:`pair\_coeff ` +to type pair values defined (via the :doc:`pair_coeff ` command) for that sub-style. -The *v\_name* argument for keyword *pair* is the name of an +The *v_name* argument for keyword *pair* is the name of an :doc:`equal-style variable ` which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be -specified as v\_name, where name is the variable name. Equal-style +specified as v_name, where name is the variable name. Equal-style variables can specify formulas with various mathematical functions, -and include :doc:`thermo\_style ` command keywords for the +and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify parameters that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the *start* and *stop* keywords of the :doc:`run ` command and the -*elaplong* keyword of :doc:`thermo\_style custom ` for +*elaplong* keyword of :doc:`thermo_style custom ` for details. For example, these commands would change the prefactor coefficient of -the :doc:`pair\_style soft ` potential from 10.0 to 30.0 in a +the :doc:`pair_style soft ` potential from 10.0 to 30.0 in a linear fashion over the course of a simulation: - -.. parsed-literal:: +.. code-block:: LAMMPS variable prefactor equal ramp(10,30) - fix 1 all adapt 1 pair soft a \* \* v_prefactor - + fix 1 all adapt 1 pair soft a * * v_prefactor ---------- - The *bond* keyword uses the specified variable to change the value of a bond coefficient over time, very similar to how the *pair* keyword operates. The only difference is that now a bond coefficient for a @@ -293,75 +284,73 @@ from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -Currently *bond* does not support bond\_style hybrid nor bond\_style +Currently *bond* does not support bond_style hybrid nor bond_style hybrid/overlay as bond styles. The only bonds that currently are -working with fix\_adapt are - -+---------------------------------+-------+------------+ -| :doc:`gromos ` | k, r0 | type bonds | -+---------------------------------+-------+------------+ -| :doc:`harmonic ` | k,r0 | type bonds | -+---------------------------------+-------+------------+ - +working with fix_adapt are + ++------------------------------------+-------+------------+ +| :doc:`class2 ` | r0 | type bonds | ++------------------------------------+-------+------------+ +| :doc:`fene ` | k, r0 | type bonds | ++------------------------------------+-------+------------+ +| :doc:`gromos ` | k, r0 | type bonds | ++------------------------------------+-------+------------+ +| :doc:`harmonic ` | k,r0 | type bonds | ++------------------------------------+-------+------------+ +| :doc:`morse ` | r0 | type bonds | ++------------------------------------+-------+------------+ +| :doc:`nonlinear ` | r0 | type bonds | ++------------------------------------+-------+------------+ ---------- - The *kspace* keyword used the specified variable as a scale factor on the energy, forces, virial calculated by whatever K-Space solver is -defined by the :doc:`kspace\_style ` command. If the +defined by the :doc:`kspace_style ` command. If the variable has a value of 1.0, then the solver is unaltered. The *kspace* keyword works this way whether the *scale* keyword is set to *no* or *yes*\ . - ---------- - The *atom* keyword enables various atom properties to be changed. The *aparam* argument is the name of the parameter to change. This is the current list of atom parameters that can be varied by this fix: * charge = charge on particle -* diameter = diameter of particle +* diameter, or, diameter/disc = diameter of particle -The *v\_name* argument of the *atom* keyword is the name of an +The *v_name* argument of the *atom* keyword is the name of an :doc:`equal-style variable ` which will be evaluated each time -this fix is invoked to set the parameter to a new value. It should be -specified as v\_name, where name is the variable name. See the +this fix is invoked to set, or scale the parameter to a new value. +It should be specified as v_name, where name is the variable name. See the discussion above describing the formulas associated with equal-style variables. The new value is assigned to the corresponding attribute for all atoms in the fix group. -.. note:: - - The *atom* keyword works this way whether the *scale* keyword is - set to *no* or *yes*\ . I.e. the use of scale yes is not yet supported - by the *atom* keyword. - If the atom parameter is *diameter* and per-atom density and per-atom -mass are defined for particles (e.g. :doc:`atom\_style granular `), then the mass of each particle is also -changed when the diameter changes (density is assumed to stay -constant). +mass are defined for particles (e.g. :doc:`atom_style granular `), then the mass of each particle is also +changed when the diameter changes. The mass is set from the particle volume +for 3d systems (density is assumed to stay constant). For 2d, the default is +for LAMMPS to model particles with a radius attribute as spheres. +However, if the atom parameter is *diameter/disc*, then the mass is +set from the particle area (the density is assumed to be in mass/distance^2 units). For example, these commands would shrink the diameter of all granular particles in the "center" group from 1.0 to 0.1 in a linear fashion over the course of a 1000-step simulation: - -.. parsed-literal:: +.. code-block:: LAMMPS variable size equal ramp(1.0,0.1) fix 1 center adapt 10 atom diameter v_size - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -383,8 +372,3 @@ Default """"""" The option defaults are scale = no, reset = no. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_adapt_fep.rst b/doc/src/fix_adapt_fep.rst index 60c05ec79624bdc7aa0df79073f3203f01a33f13..ee44d8904ffc6b68d44dc4aecb6248c39300f600 100644 --- a/doc/src/fix_adapt_fep.rst +++ b/doc/src/fix_adapt_fep.rst @@ -6,7 +6,6 @@ fix adapt/fep command Syntax """""" - .. parsed-literal:: fix ID group-ID adapt/fep N attribute args ... keyword value ... @@ -16,9 +15,9 @@ Syntax * N = adapt simulation settings every this many timesteps * one or more attribute/arg pairs may be appended * attribute = *pair* or *kspace* or *atom* - + .. parsed-literal:: - + *pair* args = pstyle pparam I J v_name pstyle = pair style name, e.g. lj/cut pparam = parameter to adapt over time @@ -33,9 +32,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *scale* or *reset* or *after* - + .. parsed-literal:: - + *scale* value = *no* or *yes* *no* = the variable value is the new setting *yes* = the variable value multiplies the original setting @@ -47,17 +46,14 @@ Syntax *no* = parameters are adapted at timestep N *yes* = parameters are adapted one timestep after N - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all adapt/fep 1 pair soft a 1 1 v_prefactor - fix 1 all adapt/fep 1 pair soft a 2\* 3 v_prefactor - fix 1 all adapt/fep 1 pair lj/cut epsilon \* \* v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes + fix 1 all adapt/fep 1 pair soft a 2* 3 v_prefactor + fix 1 all adapt/fep 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes fix 1 all adapt/fep 10 atom diameter 1 v_size Description @@ -74,7 +70,6 @@ with two differences, * There is a new option *after* for better compatibility with "fix ave/time". - This version is suited for free energy calculations using :doc:`compute ti ` or :doc:`compute fep `. @@ -106,18 +101,16 @@ such as "fix ave/time" is used to calculate averages at every N timesteps, all the contributions to the average will be obtained with the same values of the parameters. - ---------- - The *pair* keyword enables various parameters of potentials defined by -the :doc:`pair\_style ` command to be changed, if the pair -style supports it. Note that the :doc:`pair\_style ` and -:doc:`pair\_coeff ` commands must be used in the usual manner +the :doc:`pair_style ` command to be changed, if the pair +style supports it. Note that the :doc:`pair_style ` and +:doc:`pair_coeff ` commands must be used in the usual manner to specify these parameters initially; the fix adapt command simply overrides the parameters. -The *pstyle* argument is the name of the pair style. If :doc:`pair\_style hybrid or hybrid/overlay ` is used, *pstyle* should be +The *pstyle* argument is the name of the pair style. If :doc:`pair_style hybrid or hybrid/overlay ` is used, *pstyle* should be a sub-style name. For example, *pstyle* could be specified as "soft" or "lubricate". The *pparam* argument is the name of the parameter to change. This is the current list of pair styles and parameters that @@ -204,7 +197,7 @@ be specified to indicate which type pairs to apply it to. If a global parameter is specified, the *I* and *J* settings still need to be specified, but are ignored. -Similar to the :doc:`pair\_coeff command `, I and J can be +Similar to the :doc:`pair_coeff command `, I and J can be specified in one of two ways. Explicit numeric values can be used for each, as in the 1st example above. I <= J is required. LAMMPS sets the coefficients for the symmetric J,I interaction to the same values. @@ -219,50 +212,45 @@ all types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). Note that only type pairs with I <= J are considered; if asterisks imply type pairs where J < I, they are ignored. -IMPROTANT NOTE: If :doc:`pair\_style hybrid or hybrid/overlay ` is being used, then the *pstyle* will +IMPROTANT NOTE: If :doc:`pair_style hybrid or hybrid/overlay ` is being used, then the *pstyle* will be a sub-style name. You must specify I,J arguments that correspond -to type pair values defined (via the :doc:`pair\_coeff ` +to type pair values defined (via the :doc:`pair_coeff ` command) for that sub-style. -The *v\_name* argument for keyword *pair* is the name of an +The *v_name* argument for keyword *pair* is the name of an :doc:`equal-style variable ` which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be -specified as v\_name, where name is the variable name. Equal-style +specified as v_name, where name is the variable name. Equal-style variables can specify formulas with various mathematical functions, -and include :doc:`thermo\_style ` command keywords for the +and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify parameters that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the *start* and *stop* keywords of the :doc:`run ` command and the -*elaplong* keyword of :doc:`thermo\_style custom ` for +*elaplong* keyword of :doc:`thermo_style custom ` for details. For example, these commands would change the prefactor coefficient of -the :doc:`pair\_style soft ` potential from 10.0 to 30.0 in a +the :doc:`pair_style soft ` potential from 10.0 to 30.0 in a linear fashion over the course of a simulation: - -.. parsed-literal:: +.. code-block:: LAMMPS variable prefactor equal ramp(10,30) - fix 1 all adapt 1 pair soft a \* \* v_prefactor - + fix 1 all adapt 1 pair soft a * * v_prefactor ---------- - The *kspace* keyword used the specified variable as a scale factor on the energy, forces, virial calculated by whatever K-Space solver is -defined by the :doc:`kspace\_style ` command. If the +defined by the :doc:`kspace_style ` command. If the variable has a value of 1.0, then the solver is unaltered. The *kspace* keyword works this way whether the *scale* keyword is set to *no* or *yes*\ . - ---------- - The *atom* keyword enables various atom properties to be changed. The *aparam* argument is the name of the parameter to change. This is the current list of atom parameters that can be varied by this fix: @@ -274,16 +262,16 @@ The *I* argument indicates which atom types are affected. A wild-card asterisk can be used in place of or in conjunction with the I argument to set the coefficients for multiple atom types. -The *v\_name* argument of the *atom* keyword is the name of an +The *v_name* argument of the *atom* keyword is the name of an :doc:`equal-style variable ` which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be -specified as v\_name, where name is the variable name. See the +specified as v_name, where name is the variable name. See the discussion above describing the formulas associated with equal-style variables. The new value is assigned to the corresponding attribute for all atoms in the fix group. If the atom parameter is *diameter* and per-atom density and per-atom -mass are defined for particles (e.g. :doc:`atom\_style granular `), then the mass of each particle is also +mass are defined for particles (e.g. :doc:`atom_style granular `), then the mass of each particle is also changed when the diameter changes (density is assumed to stay constant). @@ -291,22 +279,19 @@ For example, these commands would shrink the diameter of all granular particles in the "center" group from 1.0 to 0.1 in a linear fashion over the course of a 1000-step simulation: - -.. parsed-literal:: +.. code-block:: LAMMPS variable size equal ramp(1.0,0.1) - fix 1 center adapt 10 atom diameter \* v_size + fix 1 center adapt 10 atom diameter * v_size For :doc:`rRESPA time integration `, this fix changes parameters on the outermost rRESPA level. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -319,14 +304,9 @@ Restrictions Related commands """""""""""""""" -:doc:`compute fep `, :doc:`fix adapt `, :doc:`compute ti `, :doc:`pair\_fep\_soft ` +:doc:`compute fep `, :doc:`fix adapt `, :doc:`compute ti `, :doc:`pair_style \*/soft ` Default """"""" The option defaults are scale = no, reset = no, after = no. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_addforce.rst b/doc/src/fix_addforce.rst index 91134eac12a2b212c3aed9e6411755bad236bad0..a7403ef7ab2748ac86030c29ae06d73f191adf78 100644 --- a/doc/src/fix_addforce.rst +++ b/doc/src/fix_addforce.rst @@ -6,7 +6,6 @@ fix addforce command Syntax """""" - .. parsed-literal:: fix ID group-ID addforce fx fy fz keyword value ... @@ -14,16 +13,16 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * addforce = style name of this fix command * fx,fy,fz = force component values (force units) - + .. parsed-literal:: - + any of fx,fy,fz can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *every* or *region* or *energy* - + .. parsed-literal:: - + *every* value = Nevery Nevery = add force every this many timesteps *region* value = region-ID @@ -31,13 +30,10 @@ Syntax *energy* value = v_name v_name = variable with name that calculates the potential energy of each atom in the added force field - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix kick flow addforce 1.0 0.0 0.0 fix kick flow addforce 1.0 0.0 v_oscillate @@ -54,12 +50,12 @@ a channel. Any of the 3 quantities defining the force components can be specified as an equal-style or atom-style :doc:`variable `, namely *fx*\ , *fy*\ , *fz*\ . If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value(s) used to determine the force component. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent force field. @@ -76,10 +72,8 @@ If the *region* keyword is used, the atom must also be in the specified geometric :doc:`region ` in order to have force added to it. - ---------- - Adding a force to atoms implies a change in their potential energy as they move due to the applied force field. For dynamics via the "run" command, this energy can be optionally added to the system's potential @@ -104,7 +98,7 @@ one or more variables, and you are performing energy minimization via the "minimize" command. The keyword specifies the name of an atom-style :doc:`variable ` which is used to compute the energy of each atom as function of its position. Like variables used -for *fx*\ , *fy*\ , *fz*\ , the energy variable is specified as v\_name, +for *fx*\ , *fy*\ , *fz*\ , the energy variable is specified as v_name, where name is the variable name. Note that when the *energy* keyword is used during an energy @@ -115,10 +109,8 @@ were a spring-like F = kx, then the energy formula should be E = -0.5kx\^2. If you don't do this correctly, the minimization will not converge properly. - ---------- - 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 @@ -137,15 +129,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential "energy" inferred by the added force to the system's potential energy as part of :doc:`thermodynamic output `. This is a fictitious quantity but is needed so that the :doc:`minimize ` command can include the @@ -153,12 +143,12 @@ forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the added force. -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the added forces on atoms to the system's virial as part of :doc:`thermodynamic output `. The default is *virial no* -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -184,7 +174,7 @@ the iteration count during the minimization. If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the - :doc:`fix\_modify ` *energy* option for this fix. + :doc:`fix_modify ` *energy* option for this fix. Restrictions """""""""""" @@ -199,8 +189,3 @@ Default """"""" The option default for the every keyword is every = 1. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_addtorque.rst b/doc/src/fix_addtorque.rst index 26493624ec18b862935aa625a1cc40e491d09adc..2b5a7ce8ce6bd61ad80e4ee499c3f468eca733e4 100644 --- a/doc/src/fix_addtorque.rst +++ b/doc/src/fix_addtorque.rst @@ -6,7 +6,6 @@ fix addtorque command Syntax """""" - .. parsed-literal:: fix ID group-ID addtorque Tx Ty Tz @@ -16,12 +15,10 @@ Syntax * Tx,Ty,Tz = torque component values (torque units) * any of Tx,Ty,Tz can be a variable (see below) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix kick bead addtorque 2.0 3.0 5.0 fix kick bead addtorque 0.0 0.0 v_oscillate @@ -37,30 +34,27 @@ the group such that: * the group would move as a rigid body in the absence of other forces. - This command can be used to drive a group of atoms into rotation. Any of the 3 quantities defining the torque components can be specified as an equal-style :doc:`variable `, namely *Tx*\ , *Ty*\ , *Tz*\ . If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the torque component. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent torque. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential "energy" inferred by the added forces to the system's potential energy as part of :doc:`thermodynamic output `. This is a fictitious quantity but is needed so that the :doc:`minimize ` command can include the @@ -68,7 +62,7 @@ forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the added forces. -The :doc:`fix\_modify ` *respa* option is supported by +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its torque. Default is the outermost level. @@ -91,7 +85,6 @@ the iteration count during the minimization. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -101,8 +94,3 @@ Related commands :doc:`fix addforce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_append_atoms.rst b/doc/src/fix_append_atoms.rst index 977e96a53a67c4d294d42c64685d9009eec500ed..62467870758297ddf7fad8a9b5139f2af3ed7b0e 100644 --- a/doc/src/fix_append_atoms.rst +++ b/doc/src/fix_append_atoms.rst @@ -6,7 +6,6 @@ fix append/atoms command Syntax """""" - .. parsed-literal:: fix ID group-ID append/atoms face ... keyword value ... @@ -16,9 +15,9 @@ Syntax * face = *zhi* * zero or more keyword/value pairs may be appended * keyword = *basis* or *size* or *freq* or *temp* or *random* or *units* - + .. parsed-literal:: - + *basis* values = M itype M = which basis atom itype = atom type (1-N) to assign to this basis atom @@ -38,13 +37,10 @@ Syntax *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all append/atoms zhi size 5.0 freq 295 units lattice fix 4 all append/atoms zhi size 15.0 freq 5 units box @@ -57,7 +53,7 @@ This fix creates atoms on a lattice, appended on the zhi edge of the system box. This can be useful when a shock or wave is propagating from zlo. This allows the system to grow with time to accommodate an expanding wave. A simulation box must already exist, which is -typically created via the :doc:`create\_box ` command. +typically created via the :doc:`create_box ` command. Before using this command, a lattice must also be defined using the :doc:`lattice ` command. @@ -88,13 +84,11 @@ A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice ` command must have been previously used to define the lattice spacings. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -103,7 +97,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -121,8 +114,3 @@ Default The keyword defaults are size = 0.0, freq = 0, units = lattice. All added atoms are of type 1 unless the basis keyword is used. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_atc.rst b/doc/src/fix_atc.rst index b765efb30c0190e614f8f8b2bea8742254d21b93..81a16b907a14ebbf74a30e6717f12fd8ce1c24a9 100644 --- a/doc/src/fix_atc.rst +++ b/doc/src/fix_atc.rst @@ -6,30 +6,27 @@ fix atc command Syntax """""" - .. parsed-literal:: fix atc * fixID = name of fix * group = name of group fix is to be applied -* type = *thermal* or *two\_temperature* or *hardy* or *field* +* type = *thermal* or *two_temperature* or *hardy* or *field* .. parsed-literal:: *thermal* = thermal coupling with fields: temperature *two_temperature* = electron-phonon coupling with field: temperature and electron_temperature - *hardy* = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields) - *field* = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields) - -* parameter\_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file + *hardy* = on-the-fly post-processing using kernel localization functions + *field* = on-the-fly post-processing using mesh-based localization functions +* parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix AtC internal atc thermal Ar_thermal.dat fix AtC internal atc two_temperature Ar_ttm.mat @@ -39,15 +36,20 @@ Examples Description """"""""""" -This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the post-processing does not. After instantiating this fix, several other fix\_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. +This fix is the beginning to creating a coupled FE/MD simulation and/or +an on-the-fly estimation of continuum fields. The coupled versions of +this fix do Verlet integration and the post-processing does not. After +instantiating this fix, several other fix_modify commands will be +needed to set up the problem, e.g. define the finite element mesh and +prescribe initial and boundary conditions. .. image:: JPG/atc_nanotube.jpg :align: center +The following coupling example is typical, but non-exhaustive: -.. parsed-literal:: +.. code-block:: LAMMPS - The following coupling example is typical, but non-exhaustive: # ... commands to create and initialize the MD system # initial fix to designate coupling type and group to apply it to @@ -74,8 +76,7 @@ This fix is the beginning to creating a coupled FE/MD simulation and/or an on-th likewise for this post-processing example: - -.. parsed-literal:: +.. code-block:: LAMMPS # ... commands to create and initialize the MD system @@ -87,7 +88,7 @@ likewise for this post-processing example: fix AtC kernel quartic_sphere 10.0 # create a uniform 1 x 1 x 1 mesh that covers region contain the group - # with periodicity this effectively creats a system average + # with periodicity this effectively creates a system average fix_modify AtC mesh create 1 1 1 box p p p # change from default lagrangian map to eulerian @@ -107,8 +108,7 @@ likewise for this post-processing example: the mesh's linear interpolation functions can be used as the localization function by using the field option: - -.. parsed-literal:: +.. code-block:: LAMMPS fix AtC internal atc field fix_modify AtC mesh create 1 1 1 box p p p @@ -116,182 +116,165 @@ by using the field option: Note coupling and post-processing can be combined in the same simulations using separate fixes. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. The :doc:`fix\_modify ` options -relevant to this fix are listed below. No global scalar or vector or -per-atom quantities are stored by this fix for access by various -:doc:`output commands `. No parameter of this fix can be -used with the *start/stop* keywords of the :doc:`run ` command. -This fix is not invoked during :doc:`energy minimization `. +No information about this fix is written to :doc:`binary restart files +`. The :doc:`fix_modify ` options relevant to this +fix are listed below. No global scalar or vector or per-atom quantities +are stored by this fix for access by various :doc:`output commands +`. No parameter of this fix can be used with the +*start/stop* keywords of the :doc:`run ` command. This fix is not +invoked during :doc:`energy minimization `. Restrictions """""""""""" - -Thermal and two\_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc. In addition, currently: +Thermal and two_temperature (coupling) types use a Verlet +time-integration algorithm. The hardy type does not contain its own +time-integrator and must be used with a separate fix that does contain +one, e.g. nve, nvt, etc. In addition, currently: * the coupling is restricted to thermal physics * the FE computations are done in serial on each processor. +.. _atc_fix_modify: + Related commands """""""""""""""" -After specifying this fix in your input script, several other :doc:`fix\_modify ` commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. - -fix\_modify commands for setup: - -* `fix\_modify AtC mesh create `_ -* `fix\_modify AtC mesh quadrature `_ -* `fix\_modify AtC mesh read `_ -* `fix\_modify AtC mesh write `_ -* `fix\_modify AtC mesh create\_nodeset `_ -* `fix\_modify AtC mesh add\_to\_nodeset `_ -* `fix\_modify AtC mesh create\_faceset box `_ -* `fix\_modify AtC mesh create\_faceset plane `_ -* `fix\_modify AtC mesh create\_elementset `_ -* `fix\_modify AtC mesh delete\_elements `_ -* `fix\_modify AtC mesh nodeset\_to\_elementset `_ -* `fix\_modify AtC boundary `_ -* `fix\_modify AtC internal\_quadrature `_ -* `fix\_modify AtC time\_integration (thermal) `_ -* `fix\_modify AtC time\_integration (momentum) `_ -* `fix\_modify AtC extrinsic electron\_integration `_ -* `fix\_modify AtC internal\_element\_set `_ -* `fix\_modify AtC decomposition `_ - -fix\_modify commands for boundary and initial conditions: - -* `fix\_modify AtC initial `_ -* `fix\_modify AtC fix `_ -* `fix\_modify AtC unfix `_ -* `fix\_modify AtC fix\_flux `_ -* `fix\_modify AtC unfix\_flux `_ -* `fix\_modify AtC source `_ -* `fix\_modify AtC remove\_source `_ - -fix\_modify commands for control and filtering: - -* `fix\_modify AtC control `_ -* `fix\_modify AtC control thermal `_ -* `fix\_modify AtC control thermal correction\_max\_iterations `_ -* `fix\_modify AtC control momentum `_ -* `fix\_modify AtC control localized\_lambda `_ -* `fix\_modify AtC control lumped\_lambda\_solve `_ -* `fix\_modify AtC control mask\_direction `_ control -* `fix\_modify AtC filter `_ -* `fix\_modify AtC filter scale `_ -* `fix\_modify AtC filter type `_ -* `fix\_modify AtC equilibrium\_start `_ -* `fix\_modify AtC extrinsic exchange `_ -* `fix\_modify AtC poisson\_solver `_ - -fix\_modify commands for output: - -* `fix\_modify AtC output `_ -* `fix\_modify AtC output nodeset `_ -* `fix\_modify AtC output elementset `_ -* `fix\_modify AtC output boundary\_integral `_ -* `fix\_modify AtC output contour\_integral `_ -* `fix\_modify AtC mesh output `_ -* `fix\_modify AtC write\_restart `_ -* `fix\_modify AtC read\_restart `_ - -fix\_modify commands for post-processing: - -* `fix\_modify AtC kernel `_ -* `fix\_modify AtC fields `_ -* `fix\_modify AtC grdients `_ -* `fix\_modify AtC rates `_ -* `fix\_modify AtC computes `_ -* `fix\_modify AtC on\_the\_fly `_ -* `fix\_modify AtC pair\_interactions/bond\_interactions `_ -* `fix\_modify AtC sample\_frequency `_ -* `fix\_modify AtC set `_ - -miscellaneous fix\_modify commands: - -* `fix\_modify AtC atom\_element\_map `_ -* `fix\_modify AtC atom\_weight `_ -* `fix\_modify AtC write\_atom\_weights `_ -* `fix\_modify AtC reset\_time `_ -* `fix\_modify AtC reset\_atomic\_reference\_positions `_ -* `fix\_modify AtC fe\_md\_boundary `_ -* `fix\_modify AtC boundary\_faceset `_ -* `fix\_modify AtC consistent\_fe\_initialization `_ -* `fix\_modify AtC mass\_matrix `_ -* `fix\_modify AtC material `_ -* `fix\_modify AtC atomic\_charge `_ -* `fix\_modify AtC source\_integration `_ -* `fix\_modify AtC temperature\_definition `_ -* `fix\_modify AtC track\_displacement `_ -* `fix\_modify AtC boundary\_dynamics `_ -* `fix\_modify AtC add\_species `_ -* `fix\_modify AtC add\_molecule `_ -* `fix\_modify AtC remove\_species `_ -* `fix\_modify AtC remove\_molecule `_ - -Note: a set of example input files with the attendant material files are included with this package +After specifying this fix in your input script, several other +:doc:`fix_modify ` commands are used to setup the problem, +e.g. define the finite element mesh and prescribe initial and boundary +conditions. + +*fix_modify* commands for setup: + +* :doc:`fix_modify AtC mesh create ` +* :doc:`fix_modify AtC mesh quadrature ` +* :doc:`fix_modify AtC mesh read ` +* :doc:`fix_modify AtC mesh write ` +* :doc:`fix_modify AtC mesh create_nodeset ` +* :doc:`fix_modify AtC mesh add_to_nodeset ` +* :doc:`fix_modify AtC mesh create_faceset box ` +* :doc:`fix_modify AtC mesh create_faceset plane ` +* :doc:`fix_modify AtC mesh create_elementset ` +* :doc:`fix_modify AtC mesh delete_elements ` +* :doc:`fix_modify AtC mesh nodeset_to_elementset ` +* :doc:`fix_modify AtC boundary type ` +* :doc:`fix_modify AtC internal_quadrature ` +* :doc:`fix_modify AtC time_integration ` +* :doc:`fix_modify AtC extrinsic electron_integration ` +* :doc:`fix_modify AtC internal_element_set ` +* :doc:`fix_modify AtC decomposition ` + +*fix_modify* commands for boundary and initial conditions: + +* :doc:`fix_modify AtC initial ` +* :doc:`fix_modify AtC fix ` +* :doc:`fix_modify AtC unfix ` +* :doc:`fix_modify AtC fix_flux ` +* :doc:`fix_modify AtC unfix_flux ` +* :doc:`fix_modify AtC source ` +* :doc:`fix_modify AtC remove_source ` + +*fix_modify* commands for control and filtering: + +* :doc:`fix_modify AtC control thermal ` +* :doc:`fix_modify AtC control momentum ` +* :doc:`fix_modify AtC control localized_lambda ` +* :doc:`fix_modify AtC control lumped_lambda_solve ` +* :doc:`fix_modify AtC control mask_direction ` +* :doc:`fix_modify AtC filter ` +* :doc:`fix_modify AtC filter scale ` +* :doc:`fix_modify AtC filter type ` +* :doc:`fix_modify AtC equilibrium_start ` +* :doc:`fix_modify AtC extrinsic exchange ` +* :doc:`fix_modify AtC poisson_solver ` + +*fix_modify* commands for output: + +* :doc:`fix_modify AtC output ` +* :doc:`fix_modify AtC output nodeset ` +* :doc:`fix_modify AtC output volume_integral ` +* :doc:`fix_modify AtC output boundary_integral ` +* :doc:`fix_modify AtC output contour_integral ` +* :doc:`fix_modify AtC mesh output ` +* :doc:`fix_modify AtC write_restart ` +* :doc:`fix_modify AtC read_restart ` + +*fix_modify* commands for post-processing: + +* :doc:`fix_modify AtC kernel ` +* :doc:`fix_modify AtC fields ` +* :doc:`fix_modify AtC gradients ` +* :doc:`fix_modify AtC rates ` +* :doc:`fix_modify AtC computes ` +* :doc:`fix_modify AtC on_the_fly ` +* :doc:`fix_modify AtC pair/bond_interactions ` +* :doc:`fix_modify AtC sample_frequency ` +* :doc:`fix_modify AtC set ` + +miscellaneous *fix_modify* commands: + +* :doc:`fix_modify AtC atom_element_map ` +* :doc:`fix_modify AtC atom_weight ` +* :doc:`fix_modify AtC write_atom_weights ` +* :doc:`fix_modify AtC kernel_bandwidth ` +* :doc:`fix_modify AtC reset_time ` +* :doc:`fix_modify AtC reset_atomic_reference_positions ` +* :doc:`fix_modify AtC fe_md_boundary ` +* :doc:`fix_modify AtC boundary_faceset ` +* :doc:`fix_modify AtC consistent_fe_initialization ` +* :doc:`fix_modify AtC mass_matrix ` +* :doc:`fix_modify AtC material ` +* :doc:`fix_modify AtC atomic_charge ` +* :doc:`fix_modify AtC source_integration ` +* :doc:`fix_modify AtC temperature_definition ` +* :doc:`fix_modify AtC track_displacement ` +* :doc:`fix_modify AtC boundary_dynamics ` +* :doc:`fix_modify AtC add_species ` +* :doc:`fix_modify AtC add_molecule ` +* :doc:`fix_modify AtC remove_species ` +* :doc:`fix_modify AtC remove_molecule ` + +Note: a set of example input files with the attendant material files are included in the ``examples/USER/atc`` folders. Default """"""" None - ---------- - For detailed exposition of the theory and algorithms please see: .. _Wagner: - - **(Wagner)** Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An atomistic-to-continuum coupling method for heat transfer in solids." Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351. .. _Zimmeman2004: - - **(Zimmerman2004)** Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319. .. _Zimmerman2010: - - **(Zimmerman2010)** Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364. .. _Templeton2010: - - **(Templeton2010)** Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007. .. _Jones: - - **(Jones)** Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, "Electron transport enhanced molecular dynamics for metals and semi-metals." International Journal for Numerical Methods in Engineering (2010), 83:940. .. _Templeton2011: - - **(Templeton2011)** Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736. .. _Mandadapu: - - **(Mandadapu)** Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115. Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_atom_swap.rst b/doc/src/fix_atom_swap.rst index e5851db353826a859983aaab2451e220b678088a..2ad289e91eb05cb3e036d68bacfd03b03a582ec6 100644 --- a/doc/src/fix_atom_swap.rst +++ b/doc/src/fix_atom_swap.rst @@ -6,7 +6,6 @@ fix atom/swap command Syntax """""" - .. parsed-literal:: fix ID group-ID atom/swap N X seed T keyword values ... @@ -19,9 +18,9 @@ Syntax * T = scaling temperature of the MC swaps (temperature units) * one or more keyword/value pairs may be appended to args * keyword = *types* or *mu* or *ke* or *semi-grand* or *region* - + .. parsed-literal:: - + *types* values = two or more atom types *mu* values = chemical potential of swap types (energy units) *ke* value = *no* or *yes* @@ -33,13 +32,10 @@ Syntax *region* value = region-ID region-ID = ID of region to use as an exchange/move volume - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all atom/swap 1 1 29494 300.0 ke no types 1 2 fix myFix all atom/swap 100 1 12345 298.0 region my_swap_region types 5 6 @@ -112,7 +108,7 @@ non-zero molecule ID, but does not check for this at the time of swapping. If not using *semi-grand* this fix checks to ensure all atoms of the -given types have the same atomic charge. LAMMPS doesn't enforce this +given types have the same atomic charge. LAMMPS does not enforce this in general, but it is needed for this fix to simplify the swapping procedure. Successful swaps will swap the atom type and charge of the swapped atoms. Conversely, when using *semi-grand*\ , it is assumed that all the atom @@ -141,26 +137,26 @@ include: :doc:`efield `, :doc:`gravity `, :doc:`temp/rescale `, and :doc:`wall fixes `. For that energy to be included in the total potential energy of the system (the quantity used when performing GCMC moves), -you MUST enable the :doc:`fix\_modify ` *energy* option for +you MUST enable the :doc:`fix_modify ` *energy* option for that fix. The doc pages for individual :doc:`fix ` commands specify if this should be done. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the fix to :doc:`binary restart files `. This includes information about the random number generator seed, the next timestep for MC exchanges, the number of exchange attempts and successes etc. See -the :doc:`read\_restart ` command for info on how to +the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. .. note:: For this to work correctly, the timestep must **not** be changed - after reading the restart with :doc:`reset\_timestep `. + after reading the restart with :doc:`reset_timestep `. The fix will try to detect it and stop with an error. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global vector of length 2, which can be accessed @@ -178,7 +174,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -188,7 +183,7 @@ Related commands :doc:`fix nvt `, :doc:`neighbor `, :doc:`fix deposit `, :doc:`fix evaporate `, -:doc:`delete\_atoms `, :doc:`fix gcmc ` +:doc:`delete_atoms `, :doc:`fix gcmc ` Default """"""" @@ -196,18 +191,9 @@ Default The option defaults are ke = yes, semi-grand = no, mu = 0.0 for all atom types. - ---------- - .. _Sadigh: - - **(Sadigh)** B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ave_atom.rst b/doc/src/fix_ave_atom.rst index 3a066ab55b89ca045275911b73258410dc1c6a02..93ff48ce0f7358a3b40c72870a5f4270ef7a5669 100644 --- a/doc/src/fix_ave_atom.rst +++ b/doc/src/fix_ave_atom.rst @@ -6,7 +6,6 @@ fix ave/atom command Syntax """""" - .. parsed-literal:: fix ID group-ID ave/atom Nevery Nrepeat Nfreq value1 value2 ... @@ -17,10 +16,10 @@ Syntax * Nrepeat = # of times to use input values for calculating averages * Nfreq = calculate averages every this many timesteps one or more input values can be listed -* value = x, y, z, vx, vy, vz, fx, fy, fz, c\_ID, c\_ID[i], f\_ID, f\_ID[i], v\_name - +* value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[i], f_ID, f_ID[i], v_name + .. parsed-literal:: - + x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) @@ -28,17 +27,14 @@ Syntax f_ID[I] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below) v_name = per-atom vector calculated by an atom-style variable with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/atom 1 100 100 vx vy vz fix 1 all ave/atom 10 20 1000 c_my_stress[1] - fix 1 all ave/atom 10 20 1000 c_my_stress[\*] + fix 1 all ave/atom 10 20 1000 c_my_stress[*] Description """"""""""" @@ -83,19 +79,16 @@ had been listed one by one. E.g. these 2 fix ave/atom commands are equivalent, since the :doc:`compute stress/atom ` command creates a per-atom array with 6 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute my_stress all stress/atom NULL - fix 1 all ave/atom 10 20 1000 c_my_stress[\*] + fix 1 all ave/atom 10 20 1000 c_my_stress[*] fix 1 all ave/atom 10 20 1000 c_my_stress[1] c_my_stress[2] & c_my_stress[3] c_my_stress[4] & c_my_stress[5] c_my_stress[6] - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps @@ -111,10 +104,8 @@ timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. - ---------- - The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as inputs to this fix by using the :doc:`compute property/atom ` command and then specifying @@ -156,13 +147,11 @@ thermodynamic keywords, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to time average. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global scalar or vector quantities are stored by this fix for access by various :doc:`output commands `. @@ -187,8 +176,3 @@ Related commands :doc:`variable `, **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index ff317bf15e986a5f973be4a0bd988a626ee2f391..b19cce417c809a0c146a02970dd0c4529bf4d2a5 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -6,7 +6,6 @@ fix ave/chunk command Syntax """""" - .. parsed-literal:: fix ID group-ID ave/chunk Nevery Nrepeat Nfreq chunkID value1 value2 ... keyword args ... @@ -18,10 +17,10 @@ Syntax * Nfreq = calculate averages every this many timesteps * chunkID = ID of :doc:`compute chunk/atom ` command * one or more input values can be listed -* value = vx, vy, vz, fx, fy, fz, density/mass, density/number, temp, c\_ID, c\_ID[I], f\_ID, f\_ID[I], v\_name - +* value = vx, vy, vz, fx, fy, fz, density/mass, density/number, temp, c_ID, c_ID[I], f_ID, f_ID[I], v_name + .. parsed-literal:: - + vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component) density/number, density/mass = number or mass density temp = temperature @@ -33,9 +32,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *norm* or *ave* or *bias* or *adof* or *cdof* or *file* or *overwrite* or *title1* or *title2* or *title3* - + .. parsed-literal:: - + *norm* arg = *all* or *sample* or *none* = how output on *Nfreq* steps is normalized all = output is sum of atoms across all *Nrepeat* samples, divided by atom count sample = output is sum of *Nrepeat* sample averages, divided by *Nrepeat* @@ -62,13 +61,10 @@ Syntax *title3* arg = string string = text to print as 3rd line of output file - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/chunk 10000 1 10000 binchunk c_myCentro title1 "My output values" fix 1 flow ave/chunk 100 10 1000 molchunk vx vz norm sample file vel.profile @@ -82,15 +78,13 @@ with the newer, more flexible fix ave/chunk and :doc:`compute chunk/atom ` such -as :doc:`thermo\_style custom `, and can also be written to +as :doc:`thermo_style custom `, and can also be written to a file. In LAMMPS, chunks are collections of atoms defined by a :doc:`compute chunk/atom ` command, which assigns each atom @@ -154,11 +148,10 @@ had been listed one by one. E.g. these 2 fix ave/chunk commands are equivalent, since the :doc:`compute property/atom ` command creates, in this case, a per-atom array with 3 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myAng all property/atom angmomx angmomy angmomz - fix 1 all ave/chunk 100 1 100 cc1 c_myAng[\*] file tmp.angmom + fix 1 all ave/chunk 100 1 100 cc1 c_myAng[*] file tmp.angmom fix 2 all ave/chunk 100 1 100 cc1 c_myAng[1] c_myAng[2] c_myAng[3] file tmp.angmom .. note:: @@ -173,10 +166,8 @@ case, a per-atom array with 3 columns: computational cost (summing across processors), so be careful to define a reasonable number of chunks. - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be accessed and contribute to the average. The final averaged quantities are generated on timesteps @@ -219,10 +210,8 @@ discussed below. the size of each bin can vary at each timestep if the simulation box size changes, e.g. for an NPT simulation. - ---------- - The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. As noted above, any other atom attributes can be used as input values to this fix by using the :doc:`compute property/atom ` command and then specifying @@ -303,10 +292,8 @@ attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to average within chunks. - ---------- - Additional optional keywords also affect the operation of this fix and its outputs. @@ -430,7 +417,6 @@ values for each of these, so they do not need to be specified. By default, these header lines are as follows: - .. parsed-literal:: # Chunk-averaged data for fix ID and group name @@ -440,7 +426,7 @@ By default, these header lines are as follows: In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are -replaced with the appropriate value names, e.g. fx or c\_myCompute[2]. +replaced with the appropriate value names, e.g. fx or c_myCompute[2]. The words in parenthesis only appear with corresponding columns if the chunk style specified for the :doc:`compute chunk/atom ` command supports them. The OrigID @@ -468,13 +454,11 @@ be in unitless reduced units (0-1). This is not true for the Coord1 value of style *bin/sphere* or *bin/cylinder* which both represent radial dimensions. Those values are always in distance :doc:`units `. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global array of values which can be accessed by @@ -513,8 +497,3 @@ Default The option defaults are norm = all, ave = one, bias = none, no file output, and title 1,2,3 = strings as described above. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ave_correlate.rst b/doc/src/fix_ave_correlate.rst index 9c7d27b76162c11a9546deb342f321c2111b436f..c42159e89b74a49996bb762f2f7fb7257e3e7b57 100644 --- a/doc/src/fix_ave_correlate.rst +++ b/doc/src/fix_ave_correlate.rst @@ -6,7 +6,6 @@ fix ave/correlate command Syntax """""" - .. parsed-literal:: fix ID group-ID ave/correlate Nevery Nrepeat Nfreq value1 value2 ... keyword args ... @@ -17,10 +16,10 @@ Syntax * Nrepeat = # of correlation time windows to accumulate * Nfreq = calculate time window averages every this many timesteps * one or more input values can be listed -* value = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = global scalar calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below) f_ID = global scalar calculated by a fix with ID @@ -30,9 +29,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *type* or *ave* or *start* or *prefactor* or *file* or *overwrite* or *title1* or *title2* or *title3* - + .. parsed-literal:: - + *type* arg = *auto* or *upper* or *lower* or *auto/upper* or *auto/lower* or *full* auto = correlate each value with itself upper = correlate each value with each succeeding value @@ -57,20 +56,17 @@ Syntax *title3* arg = string string = text to print as 3rd line of output file - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/correlate 5 100 1000 c_myTemp file temp.correlate fix 1 all ave/correlate 1 50 10000 & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & type upper ave running title1 "My correlation data" -fix 1 all ave/correlate 1 50 10000 c\_thermo\_press[\*] + fix 1 all ave/correlate 1 50 10000 c_thermo_press[*] Description """"""""""" @@ -79,7 +75,7 @@ Use one or more global scalar values as inputs every few timesteps, calculate time correlations between them at varying time intervals, and average the correlation data over longer timescales. The resulting correlation values can be time integrated by -:doc:`variables ` or used by other :doc:`output commands ` such as :doc:`thermo\_style custom `, and can also be written to a file. See the +:doc:`variables ` or used by other :doc:`output commands ` such as :doc:`thermo_style custom `, and can also be written to a file. See the :doc:`fix ave/correlate/long ` command for an alternate method for computing correlation functions efficiently over very long time windows. @@ -124,19 +120,16 @@ vector had been listed one by one. E.g. these 2 fix ave/correlate commands are equivalent, since the :doc:`compute pressure ` command creates a global vector with 6 values. - -.. parsed-literal:: +.. code-block:: LAMMPS compute myPress all pressure NULL - fix 1 all ave/correlate 1 50 10000 c_myPress[\*] + fix 1 all ave/correlate 1 50 10000 c_myPress[*] fix 1 all ave/correlate 1 50 10000 & c_myPress[1] c_myPress[2] c_myPress[3] & c_myPress[4] c_myPress[5] c_myPress[6] - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be used to calculate correlation data. The input values are sampled every *Nevery* timesteps. The @@ -147,7 +140,6 @@ beginning of the simulation or the last output time; see the *ave* keyword for options. For the set of samples, the correlation value Cij is calculated as: - .. parsed-literal:: Cij(delta) = ave(Vi(t)\*Vj(t+delta)) @@ -160,7 +152,6 @@ time delta. The maximum delta used is of size (\ *Nrepeat*\ -1)\*\ *Nevery*\ . Thus the correlation between a pair of input values yields *Nrepeat* correlation datums: - .. parsed-literal:: Cij(0), Cij(Nevery), Cij(2\*Nevery), ..., Cij((Nrepeat-1)\*Nevery) @@ -176,10 +167,8 @@ Vi(10)\*V j20), Vi(15)\*Vj(25), ..., Vi(85)\*Vj(95), Vi(90)\*Vj(100). non-zero. Also, if the *ave* keyword is set to *one* which is the default, then *Nfreq* >= (\ *Nrepeat*\ -1)\*\ *Nevery* is required. - ---------- - If a value begins with "c\_", a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the compute is used. If a @@ -219,10 +208,8 @@ keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to time correlate. - ---------- - Additional optional keywords also affect the operation of this fix. The *type* keyword determines which pairs of input values are @@ -248,7 +235,6 @@ pair Vi(t)\*Vj(t+delta) is always the one sampled at the later time. itself and every other value. I.e. Cij = Vi\*Vj, for i,j = 1,N so Npair = N\^2. - The *ave* keyword determines what happens to the accumulation of correlation samples every *Nfreq* timesteps. If the *ave* setting is *one*\ , then the accumulation is restarted or zeroed every *Nfreq* @@ -292,7 +278,6 @@ values for each of these, so they do not need to be specified. By default, these header lines are as follows: - .. parsed-literal:: # Time-correlated data for fix ID @@ -304,14 +289,11 @@ describes the two values that are printed at the first of each section of output. In the third line the value pairs are replaced with the appropriate fields from the fix ave/correlate command. - ---------- - Let Sij = a set of time correlation data for input values I and J, namely the *Nrepeat* values: - .. parsed-literal:: Sij = Cij(0), Cij(Nevery), Cij(2\*Nevery), ..., Cij(\*Nrepeat-1)\*Nevery) @@ -326,13 +308,11 @@ quantities which can be derived from time correlation data. If a normalization factor is needed for the time integration, it can be included in the variable formula or via the *prefactor* keyword. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global array of values which can be accessed by @@ -362,7 +342,6 @@ as determined by the *type* keyword, as described above. ..., C1N, C21, C22, ..., C2N, C31, ..., C3N, ..., CN1, ..., CNN-1, CNN. - The array values calculated by this fix are treated as intensive. If you need to divide them by the number of atoms, you must do this in a later processing step, e.g. when using them in a @@ -386,8 +365,3 @@ Related commands The option defaults are ave = one, type = auto, start = 0, no file output, title 1,2,3 = strings as described above, and prefactor = 1.0. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ave_correlate_long.rst b/doc/src/fix_ave_correlate_long.rst index a976061edc7f6fd4706fb75cc72e922136f3531c..affa7df127a89aba07782441c4721f93621650c5 100644 --- a/doc/src/fix_ave_correlate_long.rst +++ b/doc/src/fix_ave_correlate_long.rst @@ -6,7 +6,6 @@ fix ave/correlate/long command Syntax """""" - .. parsed-literal:: fix ID group-ID ave/correlate/long Nevery Nfreq value1 value2 ... keyword args ... @@ -16,10 +15,10 @@ Syntax * Nevery = use input values every this many timesteps * Nfreq = save state of the time correlation functions every this many timesteps * one or more input values can be listed -* value = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = global scalar calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID f_ID = global scalar calculated by a fix with ID @@ -28,9 +27,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *type* or *start* or *file* or *overwrite* or *title1* or *title2* or *ncorr* or *p* or *m* - + .. parsed-literal:: - + *type* arg = *auto* or *upper* or *lower* or *auto/upper* or *auto/lower* or *full* auto = correlate each value with itself upper = correlate each value with each succeeding value @@ -52,15 +51,12 @@ Syntax *nlen* args = Nlen Nlen = length of each correlator *ncount* args = Ncount - Ncount = number of values over which succesive correlators are averaged - - + Ncount = number of values over which successive correlators are averaged Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/correlate/long 5 1000 c_myTemp file temp.correlate fix 1 all ave/correlate/long 1 10000 & @@ -70,11 +66,12 @@ Examples Description """"""""""" -This fix is similar in spirit and syntax to the :doc:`fix ave/correlate `. However, this fix allows the -efficient calculation of time correlation functions on the fly over -extremely long time windows without too much CPU overhead, using a -multiple-tau method :ref:`(Ramirez) ` that decreases the resolution -of the stored correlation function with time. +This fix is similar in spirit and syntax to the :doc:`fix ave/correlate `. +However, this fix allows the efficient calculation of time correlation +functions on-the-fly over extremely long time windows with little +additional CPU overhead, using a multiple-tau method +:ref:`(Ramirez) ` that decreases the resolution of the stored +correlation function with time. It is not a full drop-in replacement. The group specified with this command is ignored. However, note that specified values may represent calculations performed by computes and @@ -113,13 +110,15 @@ corresponds to about 10 KB. For the meaning of the additional optional keywords, see the :doc:`fix ave/correlate ` doc page. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -Since this fix in intended for the calculation of time correlation -functions over very long MD simulations, the information about this -fix is written automatically to binary restart files, so that the time -correlation calculation can continue in subsequent simulations. None -of the fix\_modify options are relevant to this fix. +Contrary to :doc:`fix ave/correlate ` this fix +does **not** provide access to its internal data to various output +options. Since this fix in intended for the calculation of time +correlation functions over very long MD simulations, the information +about this fix is written automatically to binary restart files, so +that the time correlation calculation can continue in subsequent +simulations. None of the fix_modify options are relevant to this fix. No parameter of this fix can be used with the start/stop keywords of the run command. This fix is not invoked during energy minimization. @@ -127,7 +126,6 @@ the run command. This fix is not invoked during energy minimization. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -145,18 +143,9 @@ the :doc:`fix ave/correlate ` doc page. The option defaults for keywords unique to this command are as follows: ncorr=20, nlen=16, ncount=2. - ---------- - .. _Ramirez: - - **(Ramirez)** J. Ramirez, S.K. Sukumaran, B. Vorselaars and A.E. Likhtman, J. Chem. Phys. 133, 154103 (2010). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ave_histo.rst b/doc/src/fix_ave_histo.rst index 4a2e73d7df7b63a7a1a883d65338a324450a5e15..158f259695fc9ea4e51484a7884e69ea17fbbd73 100644 --- a/doc/src/fix_ave_histo.rst +++ b/doc/src/fix_ave_histo.rst @@ -9,7 +9,6 @@ fix ave/histo/weight command Syntax """""" - .. parsed-literal:: fix ID group-ID style Nevery Nrepeat Nfreq lo hi Nbin value1 value2 ... keyword args ... @@ -22,10 +21,10 @@ Syntax * lo,hi = lo/hi bounds within which to histogram * Nbin = # of histogram bins * one or more input values can be listed -* value = x, y, z, vx, vy, vz, fx, fy, fz, c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) c_ID = scalar or vector calculated by a compute with ID c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID, I can include wildcard (see below) @@ -36,9 +35,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *mode* or *file* or *ave* or *start* or *beyond* or *overwrite* or *title1* or *title2* or *title3* - + .. parsed-literal:: - + *mode* arg = *scalar* or *vector* scalar = all input values are scalars vector = all input values are vectors @@ -63,17 +62,14 @@ Syntax *title3* arg = string string = text to print as 3rd line of output file, only for vector mode - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[2] c_thermo_press[3] title1 "My output values" - fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[\*] + fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[*] fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD[1] c_XRD[2] @@ -138,11 +134,10 @@ vector or columns of the array had been listed one by one. E.g. these 2 fix ave/histo commands are equivalent, since the :doc:`compute com/chunk ` command creates a global array with 3 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myCOM all com/chunk - fix 1 all ave/histo 100 1 100 c_myCOM[\*] file tmp1.com mode vector + fix 1 all ave/histo 100 1 100 c_myCOM[*] file tmp1.com mode vector fix 2 all ave/histo 100 1 100 c_myCOM[1] c_myCOM[2] c_myCOM[3] file tmp2.com mode vector If the fix ave/histo/weight command is used, exactly two values must @@ -155,10 +150,8 @@ corresponding weight is tallied. E.g. The Nth entry (weight) in the second vector is tallied to the bin corresponding to the Nth entry in the first vector. - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the histogram. The final histogram is generated on timesteps that are @@ -176,10 +169,8 @@ histogram on timestep 100. Similarly for timesteps = 100, then no time averaging of the histogram is done; a histogram is simply generated on timesteps 100,200,etc. - ---------- - The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as inputs to this fix by using the :doc:`compute property/atom ` command and then specifying @@ -237,10 +228,8 @@ thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to histogram. - ---------- - Additional optional keywords also affect the operation of this fix. If the *mode* keyword is set to *scalar*\ , then all input values must @@ -327,7 +316,6 @@ values for each of these, so they do not need to be specified. By default, these header lines are as follows: - .. parsed-literal:: # Histogram for fix ID @@ -339,13 +327,11 @@ describes the six values that are printed at the first of each section of output. The third describes the 4 values printed for each bin in the histogram. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix produces a global vector and global array which can be @@ -388,8 +374,3 @@ Related commands The option defaults are mode = scalar, kind = figured out from input arguments, ave = one, start = 0, no file output, beyond = ignore, and title 1,2,3 = strings as described above. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ave_time.rst b/doc/src/fix_ave_time.rst index 3774379f19ce9a105a69c236ea7e9e11084b1538..efa8095d6922279559922b21b96500542f1ff1ab 100644 --- a/doc/src/fix_ave_time.rst +++ b/doc/src/fix_ave_time.rst @@ -6,7 +6,6 @@ fix ave/time command Syntax """""" - .. parsed-literal:: fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ... @@ -17,10 +16,10 @@ Syntax * Nrepeat = # of times to use input values for calculating averages * Nfreq = calculate averages every this many timesteps * one or more input values can be listed -* value = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = global scalar or vector calculated by a compute with ID c_ID[I] = Ith component of global vector or Ith column of global array calculated by a compute with ID, I can include wildcard (see below) f_ID = global scalar or vector calculated by a fix with ID @@ -30,9 +29,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *mode* or *file* or *ave* or *start* or *off* or *overwrite* or *title1* or *title2* or *title3* - + .. parsed-literal:: - + *mode* arg = *scalar* or *vector* scalar = all input values are global scalars vector = all input values are global vectors or global arrays @@ -56,18 +55,15 @@ Syntax *title3* arg = string string = text to print as 3rd line of output file, only for vector mode - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/time 100 5 1000 c_myTemp c_thermo_temp file temp.profile fix 1 all ave/time 100 5 1000 c_thermo_press[2] ave window 20 & title1 "My output values" - fix 1 all ave/time 100 5 1000 c_thermo_press[\*] + fix 1 all ave/time 100 5 1000 c_thermo_press[*] fix 1 all ave/time 1 100 1000 f_indent f_indent[1] file temp.indent off 1 Description @@ -76,7 +72,7 @@ Description Use one or more global values as inputs every few timesteps, and average them over longer timescales. The resulting averages can be used by other :doc:`output commands ` such as -:doc:`thermo\_style custom `, and can also be written to a +:doc:`thermo_style custom `, and can also be written to a file. Note that if no time averaging is done, this command can be used as a convenient way to simply output one or more global values to a file. @@ -132,17 +128,14 @@ vector or columns of the array had been listed one by one. E.g. these 2 fix ave/time commands are equivalent, since the :doc:`compute rdf ` command creates, in this case, a global array with 3 columns, each of length 50: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myRDF all rdf 50 1 2 - fix 1 all ave/time 100 1 100 c_myRDF[\*] file tmp1.rdf mode vector + fix 1 all ave/time 100 1 100 c_myRDF[*] file tmp1.rdf mode vector fix 2 all ave/time 100 1 100 c_myRDF[1] c_myRDF[2] c_myRDF[3] file tmp2.rdf mode vector - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps @@ -160,10 +153,8 @@ timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps 100,200,etc. - ---------- - If a value begins with "c\_", a compute ID must follow which has been previously defined in the input script. If *mode* = scalar, then if no bracketed term is appended, the global scalar calculated by the @@ -212,10 +203,8 @@ keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to time average. - ---------- - Additional optional keywords also affect the operation of this fix. If the *mode* keyword is set to *scalar*\ , then all input values must @@ -290,7 +279,6 @@ default values for each of these, so they do not need to be specified. By default, these header lines are as follows for *mode* = scalar: - .. parsed-literal:: # Time-averaged data for fix ID @@ -303,7 +291,6 @@ so the *title3* setting is ignored when *mode* = scalar. By default, these header lines are as follows for *mode* = vector: - .. parsed-literal:: # Time-averaged data for fix ID @@ -315,13 +302,11 @@ describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the appropriate fields from the fix ave/time command. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix produces a global scalar or global vector or global array @@ -368,8 +353,3 @@ Default The option defaults are mode = scalar, ave = one, start = 0, no file output, format = %g, title 1,2,3 = strings as described above, and no off settings for any input values. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_aveforce.rst b/doc/src/fix_aveforce.rst index f786c043c9e0a34ca63e1b18ab5eb07b9e97e1c2..437c5caaa7738bfb50bd99b39c24e6f06e883f37 100644 --- a/doc/src/fix_aveforce.rst +++ b/doc/src/fix_aveforce.rst @@ -6,7 +6,6 @@ fix aveforce command Syntax """""" - .. parsed-literal:: fix ID group-ID aveforce fx fy fz keyword value ... @@ -14,26 +13,23 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * aveforce = style name of this fix command * fx,fy,fz = force component values (force units) - + .. parsed-literal:: - + any of fx,fy,fz can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *region* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region atoms must be in to have added force - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix pressdown topwall aveforce 0.0 -1.0 0.0 fix 2 bottomwall aveforce NULL -1.0 0.0 region top @@ -59,13 +55,13 @@ average value without adding in any additional force. Any of the 3 quantities defining the force components can be specified as an equal-style :doc:`variable `, namely *fx*\ , *fy*\ , *fz*\ . -If the value is a variable, it should be specified as v\_name, where +If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the average force. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent average force. @@ -73,10 +69,8 @@ If the *region* keyword is used, the atom must also be in the specified geometric :doc:`region ` in order to have force added to it. - ---------- - 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 @@ -95,15 +89,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -132,8 +124,3 @@ Related commands :doc:`fix setforce `, :doc:`fix addforce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 93c2a5b33cfe20fc2cad1038e9673327793ae924..b92644fcd916a96fe7b86ee30c81bed92ba5c01c 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -6,7 +6,6 @@ fix balance command Syntax """""" - .. parsed-literal:: fix ID group-ID balance Nfreq thresh style args keyword args ... @@ -16,9 +15,9 @@ Syntax * Nfreq = perform dynamic load balancing every this many steps * thresh = imbalance threshold that must be exceeded to perform a re-balance * style = *shift* or *rcb* - + .. parsed-literal:: - + shift args = dimstr Niter stopthresh dimstr = sequence of letters containing "x" or "y" or "z", each not more than once Niter = # of times to iterate within each dimension of dimstr sequence @@ -27,9 +26,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *weight* or *out* - + .. parsed-literal:: - + *weight* style args = use weighted particle counts for the balancing *style* = *group* or *neigh* or *time* or *var* or *store* *group* args = Ngroup group1 weight1 group2 weight2 ... @@ -47,13 +46,10 @@ Syntax *out* arg = filename filename = write each processor's sub-domain to a file, at each re-balancing - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all balance 1000 1.05 shift x 10 1.05 fix 2 all balance 100 0.9 shift xy 20 1.1 out tmp.balance @@ -130,7 +126,7 @@ forced even if the current balance is perfect (1.0) be specifying a create a logical 3d grid cannot achieve perfect balance for many irregular distributions of particles. Likewise, if a portion of the system is a perfect lattice, e.g. the initial system is generated by - the :doc:`create\_atoms ` command, then "grid" methods may + the :doc:`create_atoms ` command, then "grid" methods may be unable to achieve exact balance. This is because entire lattice planes will be owned or not owned by a single processor. @@ -144,13 +140,11 @@ forced even if the current balance is perfect (1.0) be specifying a proportional to particle count, and changing the relative size and shape of processor sub-domains may lead to additional computational and communication overheads, e.g. in the PPPM solver used via the - :doc:`kspace\_style ` command. Thus you should benchmark + :doc:`kspace_style ` command. Thus you should benchmark the run times of a simulation before and after balancing. - ---------- - The method used to perform a load balance is specified by one of the listed styles, which are described in detail below. There are 2 kinds of styles. @@ -160,28 +154,31 @@ of processors. It operates by changing the cutting planes (or lines) between processors in 3d (or 2d), to adjust the volume (area in 2d) assigned to each processor, as in the following 2d diagram where processor sub-domains are shown and atoms are colored by the processor -that owns them. The leftmost diagram is the default partitioning of -the simulation box across processors (one sub-box for each of 16 -processors); the middle diagram is after a "grid" method has been -applied. +that owns them. + +.. list-table:: -.. image:: JPG/balance_uniform_small.jpg - :target: JPG/balance_uniform.jpg -.. image:: JPG/balance_nonuniform_small.jpg - :target: JPG/balance_nonuniform.jpg -.. image:: JPG/balance_rcb_small.jpg - :target: JPG/balance_rcb.jpg + * - .. figure:: JPG/balance_uniform_small.jpg + :target: JPG/balance_uniform.jpg + - .. figure:: JPG/balance_nonuniform_small.jpg + :target: JPG/balance_nonuniform.jpg -The *rcb* style is a "tiling" method which does not produce a logical -3d grid of processors. Rather it tiles the simulation domain with -rectangular sub-boxes of varying size and shape in an irregular -fashion so as to have equal numbers of particles (or weight) in each -sub-box, as in the rightmost diagram above. + - .. figure:: JPG/balance_rcb_small.jpg + :target: JPG/balance_rcb.jpg + +The leftmost diagram is the default partitioning of the simulation box +across processors (one sub-box for each of 16 processors); the middle +diagram is after a "grid" method has been applied. The *rcb* style is a +"tiling" method which does not produce a logical 3d grid of processors. +Rather it tiles the simulation domain with rectangular sub-boxes of +varying size and shape in an irregular fashion so as to have equal +numbers of particles (or weight) in each sub-box, as in the rightmost +diagram above. The "grid" methods can be used with either of the -:doc:`comm\_style ` command options, *brick* or *tiled*\ . The -"tiling" methods can only be used with :doc:`comm\_style tiled `. +:doc:`comm_style ` command options, *brick* or *tiled*\ . The +"tiling" methods can only be used with :doc:`comm_style tiled `. When a "grid" method is specified, the current domain partitioning can be either a logical 3d grid or a tiled partitioning. In the former @@ -195,10 +192,8 @@ When a "tiling" method is specified, the current domain partitioning ("grid" or "tiled") is ignored, and a new partitioning is computed from scratch. - ---------- - The *group-ID* is ignored. However the impact of balancing on different groups of atoms can be affected by using the *group* weight style as described below. @@ -208,16 +203,14 @@ The *Nfreq* setting determines how often a re-balance is performed. If time a re-balance occurs, a reneighboring is triggered, so *Nfreq* should not be too small. If *Nfreq* = 0, then re-balancing will be done every time reneighboring normally occurs, as determined by the -the :doc:`neighbor ` and :doc:`neigh\_modify ` +the :doc:`neighbor ` and :doc:`neigh_modify ` command settings. On re-balance steps, re-balancing will only be attempted if the current imbalance factor, as defined above, exceeds the *thresh* setting. - ---------- - The *shift* style invokes a "grid" method for balancing, as described above. It changes the positions of cutting planes between processors in an iterative fashion, seeking to reduce the imbalance factor. @@ -282,10 +275,8 @@ the normal reneighboring procedure. the threshold accuracy is reached (in a dimension) is less iterations than *Niter* and exit early. - ---------- - The *rcb* style invokes a "tiled" method for balancing, as described above. It performs a recursive coordinate bisectioning (RCB) of the simulation domain. The basic idea is as follows. @@ -311,10 +302,8 @@ the box in two. The recursion continues until every processor is assigned a sub-box of the entire simulation domain, and owns the atoms in that sub-box. - ---------- - The *out* keyword writes text to the specified *filename* with the results of each re-balancing operation. The file contains the bounds of the sub-domain for each processor after the balancing operation @@ -323,7 +312,6 @@ completes. The format of the file is compatible with the visualizing mesh files. An example is shown here for a balancing by 4 processors for a 2d problem: - .. parsed-literal:: ITEM: TIMESTEP @@ -371,13 +359,11 @@ rectangle for each processor (1 to 4). For a 3d problem, the syntax is similar with 8 vertices listed for each processor, instead of 4, and "SQUARES" replaced by "CUBES". - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global scalar which is the imbalance factor @@ -399,32 +385,23 @@ by this fix are "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - Restrictions """""""""""" - For 2d simulations, the *z* style cannot be used. Nor can a "z" appear in *dimstr* for the *shift* style. Balancing through recursive bisectioning (\ *rcb* style) requires -:doc:`comm\_style tiled ` +:doc:`comm_style tiled ` Related commands """""""""""""""" :doc:`group `, :doc:`processors `, :doc:`balance `, -:doc:`comm\_style ` +:doc:`comm_style ` -.. _pizza: http://pizza.sandia.gov +.. _pizza: https://pizza.sandia.gov **Default:** none - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_bocs.rst b/doc/src/fix_bocs.rst index 38e88ad1aa31652737207c390b1508c60c3dff39..5315aa81a1c4180cb246853c904aa53b3d380817 100644 --- a/doc/src/fix_bocs.rst +++ b/doc/src/fix_bocs.rst @@ -6,7 +6,6 @@ fix bocs command Syntax """""" - .. parsed-literal:: fix ID group-ID bocs keyword values ... @@ -19,13 +18,10 @@ Syntax *linear_spline* values = input_filename *cubic_spline* values = input_filename - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 analytic 66476.015 968 2 245030.10 8962.20 @@ -41,22 +37,20 @@ Dunn and Noid in :ref:`(Dunn1) ` to the standard MTTK barostat by Martyna et. al. in :ref:`(Martyna) ` . The first half of the command mimics a standard fix npt command: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all bocs temp Tstart Tstop Tcoupl cgiso Pstart Pstop Pdamp The two differences are replacing *npt* with *bocs*\ , and replacing *iso*\ /\ *aniso*\ /\ *etc* with *cgiso*\ . The rest of the command details what form you would like to use for -the pressure correction equation. The choices are: *analytic*\ , *linear\_spline*, -or *cubic\_spline*. +the pressure correction equation. The choices are: *analytic*\ , *linear_spline*, +or *cubic_spline*. With either spline method, the only argument that needs to follow it is the name of a file that contains the desired pressure correction as a function of volume. The file must be formatted so each line has: - .. parsed-literal:: Volume_i, PressureCorrection_i @@ -73,19 +67,17 @@ range provided, the simulation will stop. With the *analytic* option, the arguments are as follows: - .. parsed-literal:: ... analytic V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N -Note that *V\_avg* and *Coeff\_i* should all be in the proper units, e.g. if you -are using *units real*\ , *V\_avg* should be in cubic angstroms, and the +Note that *V_avg* and *Coeff_i* should all be in the proper units, e.g. if you +are using *units real*\ , *V_avg* should be in cubic angstroms, and the coefficients should all be in atmospheres \* cubic angstroms. Restrictions """""""""""" - As this is computing a (modified) pressure, group-ID should be *all*\ . The pressure correction has only been tested for use with an isotropic @@ -94,9 +86,9 @@ pressure coupling in 3 dimensions. By default, LAMMPS will still report the normal value for the pressure if the pressure is printed via a *thermo* command, or if the pressures are written to a file every so often. In order to have LAMMPS report the -modified pressure, you must include the *thermo\_modify* command given in +modified pressure, you must include the *thermo_modify* command given in the examples. For the last argument in the command, you should put -XXXX\_press, where XXXX is the ID given to the fix bocs command (in the +XXXX_press, where XXXX is the ID given to the fix bocs command (in the example, the ID of the fix bocs command is 1 ). This fix is part of the USER-BOCS package. It is only enabled if @@ -110,31 +102,16 @@ paper by Dunn et. al. :ref:`(Dunn2) ` . .. _bocsgithub: https://github.com/noid-group/BOCS - - - ---------- - .. _bocs-Dunn1: - - **(Dunn1)** Dunn and Noid, J Chem Phys, 143, 243148 (2015). .. _bocs-Martyna: - - **(Martyna)** Martyna, Tobias, and Klein, J Chem Phys, 101, 4177 (1994). .. _bocs-Dunn2: - - **(Dunn2)** Dunn, Lebold, DeLyser, Rudzinski, and Noid, J. Phys. Chem. B, 122, 3363 (2018). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_bond_break.rst b/doc/src/fix_bond_break.rst index fa7aba3c6b681fd41e5a0880a75ed1cbbefc9e48..3994b58b1238a9c2ac74b3d1ebd2c7c11b31ead6 100644 --- a/doc/src/fix_bond_break.rst +++ b/doc/src/fix_bond_break.rst @@ -6,7 +6,6 @@ fix bond/break command Syntax """""" - .. parsed-literal:: fix ID group-ID bond/break Nevery bondtype Rmax keyword values ... @@ -18,20 +17,17 @@ Syntax * Rmax = bond longer than Rmax can break (distance units) * zero or more keyword/value pairs may be appended to args * keyword = *prob* - + .. parsed-literal:: - + *prob* values = fraction seed fraction = break a bond with this probability if otherwise eligible seed = random number seed (positive integer) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 5 all bond/break 10 2 1.2 fix 5 polymer bond/break 1 1 2.0 prob 0.5 49829 @@ -43,7 +39,7 @@ Break bonds between pairs of atoms as a simulation runs according to specified criteria. This can be used to model the dissolution of a polymer network due to stretching of the simulation box or other deformations. In this context, a bond means an interaction between a -pair of atoms computed by the :doc:`bond\_style ` command. +pair of atoms computed by the :doc:`bond_style ` command. Once the bond is broken it will be permanently deleted, as will all angle, dihedral, and improper interactions that bond is part of. @@ -100,7 +96,7 @@ neighbor lists must be immediately updated on the same timestep. This is to insure that any pairwise interactions that should be turned "on" due to a bond breaking, because they are no longer excluded by the presence of the bond and the settings of the -:doc:`special\_bonds ` command, will be immediately +:doc:`special_bonds ` command, will be immediately recognized. All of these operations increase the cost of a timestep. Thus you should be cautious about invoking this fix too frequently. @@ -117,13 +113,11 @@ You can dump out snapshots of the current bond topology via the :doc:`dump local may need to thermostat your system to compensate for energy changes resulting from broken bonds (and angles, dihedrals, impropers). - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes two statistics which it stores in a global vector of @@ -141,7 +135,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -150,14 +143,9 @@ Related commands """""""""""""""" :doc:`fix bond/create `, :doc:`fix bond/react `, :doc:`fix bond/swap `, -:doc:`dump local `, :doc:`special\_bonds ` +:doc:`dump local `, :doc:`special_bonds ` Default """"""" The option defaults are prob = 1.0. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_bond_create.rst b/doc/src/fix_bond_create.rst index 9a11558e839142bcfa5bd6d6d1d644df2aa5ddca..0c48a800c93cb0296a09f86713acfff8932ae7a4 100644 --- a/doc/src/fix_bond_create.rst +++ b/doc/src/fix_bond_create.rst @@ -6,7 +6,6 @@ fix bond/create command Syntax """""" - .. parsed-literal:: fix ID group-ID bond/create Nevery itype jtype Rmin bondtype keyword values ... @@ -19,9 +18,9 @@ Syntax * bondtype = type of created bonds * zero or more keyword/value pairs may be appended to args * keyword = *iparam* or *jparam* or *prob* or *atype* or *dtype* or *itype* - + .. parsed-literal:: - + *iparam* values = maxbond, newtype maxbond = max # of bonds of bondtype the itype atom can have newtype = change the itype atom to this type when maxbonds exist @@ -38,13 +37,10 @@ Syntax *itype* value = impropertype impropertype = type of created impropers - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 5 all bond/create 10 1 2 0.8 1 fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 @@ -57,7 +53,7 @@ Create bonds between pairs of atoms as a simulation runs according to specified criteria. This can be used to model cross-linking of polymers, the formation of a percolation network, etc. In this context, a bond means an interaction between a pair of atoms computed -by the :doc:`bond\_style ` command. Once the bond is created +by the :doc:`bond_style ` command. Once the bond is created it will be permanently in place. Optionally, the creation of a bond can also create angle, dihedral, and improper interactions that bond is part of. See the discussion of the *atype*\ , *dtype*\ , and *itype* @@ -92,7 +88,7 @@ a bond on this timestep, even if it has other possible bond partners. It is permissible to have *itype* = *jtype*\ . *Rmin* must be <= the pairwise cutoff distance between *itype* and *jtype* atoms, as defined -by the :doc:`pair\_style ` command. +by the :doc:`pair_style ` command. The *iparam* and *jparam* keywords can be used to limit the bonding functionality of the participating atoms. Each atom keeps track of @@ -106,7 +102,7 @@ The *newtype* value for *iparam* and *jparam* can be used to change the atom type of atom I or J when it reaches *maxbond* number of bonds of type *bondtype*\ . This means it can now interact in a pairwise fashion with other atoms in a different way by specifying different -:doc:`pair\_coeff ` coefficients. If you do not wish the +:doc:`pair_coeff ` coefficients. If you do not wish the atom type to change, simply specify *newtype* as *itype* or *jtype*\ . The *prob* keyword can also effect whether an eligible bond is @@ -132,10 +128,10 @@ of new bonds, angles, etc. molecule retain their original molecule IDs. If the *atype* keyword is used and if an angle potential is defined -via the :doc:`angle\_style ` command, then any new 3-body +via the :doc:`angle_style ` command, then any new 3-body interactions inferred by the creation of a bond will create new angles of type *angletype*\ , with parameters assigned by the corresponding -:doc:`angle\_coeff ` command. Likewise, the *dtype* and +:doc:`angle_coeff ` command. Likewise, the *dtype* and *itype* keywords will create new dihedrals and impropers of type *dihedraltype* and *impropertype*\ . @@ -149,8 +145,8 @@ of type *angletype*\ , with parameters assigned by the corresponding "extra bond per atom" parameter must be set to allow for it. Ditto for "extra angle per atom", "extra dihedral per atom", and "extra improper per atom" if angles, dihedrals, or impropers are being added - when bonds are created. See the :doc:`read\_data ` or - :doc:`create\_box ` command for more details. Note that a + when bonds are created. See the :doc:`read_data ` or + :doc:`create_box ` command for more details. Note that a data file with no atoms can be used if you wish to add non-bonded atoms via the :doc:`create atoms ` command, e.g. for a percolation simulation. @@ -165,8 +161,8 @@ of type *angletype*\ , with parameters assigned by the corresponding molecular topology of your system. The "extra special per atom" parameter must typically be set to allow for the new maximum total size (1st + 2nd + 3rd neighbors) of this per-atom list. There are 2 - ways to do this. See the :doc:`read\_data ` or - :doc:`create\_box ` commands for details. + ways to do this. See the :doc:`read_data ` or + :doc:`create_box ` commands for details. .. note:: @@ -174,20 +170,20 @@ of type *angletype*\ , with parameters assigned by the corresponding keywords, the list of topological neighbors is updated for atoms affected by the new bond. This in turn affects which neighbors are considered for pairwise interactions, using the weighting rules set by - the :doc:`special\_bonds ` command. Consider a new bond + the :doc:`special_bonds ` command. Consider a new bond created between atoms I,J. If J has a bonded neighbor K, then K becomes a 2nd neighbor of I. Even if the *atype* keyword is not used to create angle I-J-K, the pairwise interaction between I and K will be potentially turned off or weighted by the 1-3 weighting specified - by the :doc:`special\_bonds ` command. This is the case + by the :doc:`special_bonds ` command. This is the case even if the "angle yes" option was used with that command. The same is true for 3rd neighbors (1-4 interactions), the *dtype* keyword, and the "dihedral yes" option used with the - :doc:`special\_bonds ` command. + :doc:`special_bonds ` command. Note that even if your simulation starts with no bonds, you must -define a :doc:`bond\_style ` and use the -:doc:`bond\_coeff ` command to specify coefficients for the +define a :doc:`bond_style ` and use the +:doc:`bond_coeff ` command to specify coefficients for the *bondtype*\ . Similarly, if new atom types are specified by the *iparam* or *jparam* keywords, they must be within the range of atom types allowed by the simulation and pairwise coefficients must be @@ -201,7 +197,7 @@ created, neighbor lists must be immediately updated on the same timestep. This is to insure that any pairwise interactions that should be turned "off" due to a bond creation, because they are now excluded by the presence of the bond and the settings of the -:doc:`special\_bonds ` command, will be immediately +:doc:`special_bonds ` command, will be immediately recognized. All of these operations increase the cost of a timestep. Thus you should be cautious about invoking this fix too frequently. @@ -218,13 +214,11 @@ You can dump out snapshots of the current bond topology via the :doc:`dump local thermostat your system to compensate for energy changes resulting from created bonds (and angles, dihedrals, impropers). - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes two statistics which it stores in a global vector of @@ -242,7 +236,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -251,15 +244,10 @@ Related commands """""""""""""""" :doc:`fix bond/break `, :doc:`fix bond/react `, :doc:`fix bond/swap `, -:doc:`dump local `, :doc:`special\_bonds ` +:doc:`dump local `, :doc:`special_bonds ` Default """"""" The option defaults are iparam = (0,itype), jparam = (0,jtype), and prob = 1.0. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst old mode 100644 new mode 100755 index b2866eb9c7e5d318c9a6717fa8462139836e8025..fc260de324e3d06bafca498efdbf7a055a079121 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -6,7 +6,6 @@ fix bond/react command Syntax """""" - .. parsed-literal:: fix ID group-ID bond/react common_keyword values ... @@ -19,7 +18,7 @@ Syntax * bond/react = style name of this fix command * the common keyword/values may be appended directly after 'bond/react' * this applies to all reaction specifications (below) -* common\_keyword = *stabilization* +* common_keyword = *stabilization* .. parsed-literal:: @@ -37,9 +36,9 @@ Syntax * Rmax = bonding pair atoms must be separated by less than Rmax to initiate reaction (distance units) * template-ID(pre-reacted) = ID of a molecule template containing pre-reaction topology * template-ID(post-reacted) = ID of a molecule template containing post-reaction topology -* map\_file = name of file specifying corresponding atom-IDs in the pre- and post-reacted templates +* map_file = name of file specifying corresponding atom-IDs in the pre- and post-reacted templates * zero or more individual keyword/value pairs may be appended to each react argument -* individual\_keyword = *prob* or *max\_rxn* or *stabilize\_steps* or *update\_edges* +* individual_keyword = *prob* or *max_rxn* or *stabilize_steps* or *update_edges* .. parsed-literal:: @@ -55,15 +54,12 @@ Syntax charges = update atomic charges of all atoms in reaction templates custom = force the update of user-specified atomic charges - - Examples """""""" -For unabridged example scripts and files, see examples/USER/misc/bond\_react. - +For unabridged example scripts and files, see examples/USER/reaction. -.. parsed-literal:: +.. code-block:: LAMMPS molecule mol1 pre_reacted_topology.txt molecule mol2 post_reacted_topology.txt @@ -114,7 +110,7 @@ The *stabilization* keyword enables reaction site stabilization. Reaction site stabilization is performed by including reacting atoms in an internally-created fix :doc:`nve/limit ` time integrator for a set number of timesteps given by the -*stabilize\_steps* keyword. While reacting atoms are being time +*stabilize_steps* keyword. While reacting atoms are being time integrated by the internal nve/limit, they are prevented from being involved in any new reactions. The *xmax* value keyword should typically be set to the maximum distance that non-reacting atoms move @@ -127,7 +123,7 @@ automatically thermostatted by an internally-created :doc:`nve/limit ` integrator. The second group contains all atoms currently not involved in a reaction. This group should be used by a thermostat in order to time integrate the system. The name -of this group of non-reacting atoms is created by appending '\_REACT' +of this group of non-reacting atoms is created by appending '_REACT' to the group-ID argument of the *stabilization* keyword, as shown in the second example above. @@ -143,16 +139,15 @@ command creates a :doc:`dynamic group ` that is initialized to include all atoms. If the group-ID is that of an existing static group, the group is used as the parent group of new, internally-created dynamic group. In both cases, this new dynamic -group is named by appending '\_REACT' to the group-ID, e.g. -nvt\_grp\_REACT. By specifying an existing group, you may thermostat +group is named by appending '_REACT' to the group-ID, e.g. +nvt_grp_REACT. By specifying an existing group, you may thermostat constant-topology parts of your system separately. The dynamic group contains only atoms not involved in a reaction at a given timestep, and therefore should be used by a subsequent system-wide time integrator such as nvt, npt, or nve, as shown in the second example -above (full examples can be found at examples/USER/misc/bond\_react). -The time integration command should be placed after the fix bond/react -command due to the internal dynamic grouping performed by fix -bond/react. +above (full examples can be found at examples/USER/reaction). The time +integration command should be placed after the fix bond/react command +due to the internal dynamic grouping performed by fix bond/react. .. note:: @@ -163,7 +158,9 @@ The following comments pertain to each *react* argument (in other words, can be customized for each reaction, or reaction step): A check for possible new reaction sites is performed every *Nevery* -timesteps. +timesteps. *Nevery* can be specified with an equal-style +:doc:`variable `, whose value is rounded up to the nearest +integer. Three physical conditions must be met for a reaction to occur. First, a bonding atom pair must be identified within the reaction distance @@ -176,19 +173,29 @@ modified to match the post-reaction template. A bonding atom pair will be identified if several conditions are met. First, a pair of atoms I,J within the specified react-group-ID of type itype and jtype must be separated by a distance between *Rmin* and -*Rmax*\ . It is possible that multiple bonding atom pairs are -identified: if the bonding atoms in the pre-reacted template are 1-2 -neighbors, i.e. directly bonded, the farthest bonding atom partner is -set as its bonding partner; otherwise, the closest potential partner -is chosen. Then, if both an atom I and atom J have each other as their -bonding partners, these two atoms are identified as the bonding atom -pair of the reaction site. Once this unique bonding atom pair is -identified for each reaction, there could two or more reactions that -involve a given atom on the same timestep. If this is the case, only -one such reaction is permitted to occur. This reaction is chosen -randomly from all potential reactions. This capability allows e.g. for -different reaction pathways to proceed from identical reaction sites -with user-specified probabilities. +*Rmax*\ . *Rmin* and *Rmax* can be specified with equal-style +:doc:`variables `. For example, these reaction cutoffs can +be a function of the reaction conversion using the following commands: + +.. code-block:: LAMMPS + + variable rmax equal 0 # initialize variable before bond/react + fix myrxn all bond/react react myrxn1 all 1 0 v_rmax mol1 mol2 map_file.txt + variable rmax equal 3+f_myrxn[1]/100 # arbitrary function of reaction count + +It is possible that multiple bonding atom pairs are identified: if the +bonding atoms in the pre-reacted template are 1-2 neighbors, i.e. +directly bonded, the farthest bonding atom partner is set as its +bonding partner; otherwise, the closest potential partner is chosen. +Then, if both an atom I and atom J have each other as their bonding +partners, these two atoms are identified as the bonding atom pair of +the reaction site. Once this unique bonding atom pair is identified +for each reaction, there could two or more reactions that involve a +given atom on the same timestep. If this is the case, only one such +reaction is permitted to occur. This reaction is chosen randomly from +all potential reactions. This capability allows e.g. for different +reaction pathways to proceed from identical reaction sites with +user-specified probabilities. The pre-reacted molecule template is specified by a molecule command. This molecule template file contains a sample reaction site and its @@ -248,7 +255,7 @@ A discussion of correctly handling this is also provided on the the existing system and reaction templates. As when inserting molecules, enough space for this increased topology/atom must be reserved by using the relevant "extra" keywords to the - :doc:`read\_data ` or :doc:`create\_box ` commands. + :doc:`read_data ` or :doc:`create_box ` commands. The map file is a text document with the following format: @@ -256,7 +263,6 @@ A map file has a header and a body. The header of map file the contains one mandatory keyword and five optional keywords. The mandatory keyword is 'equivalences': - .. parsed-literal:: N *equivalences* = # of atoms N in the reaction molecule templates @@ -264,7 +270,6 @@ mandatory keyword is 'equivalences': The optional keywords are 'edgeIDs', 'deleteIDs', 'customIDs' and 'constraints': - .. parsed-literal:: N *edgeIDs* = # of edge atoms N in the pre-reacted molecule template @@ -292,18 +297,15 @@ Edges' and allows for forcing the update of a specific atom's atomic charge. The first column is the ID of an atom near the edge of the pre-reacted molecule template, and the value of the second column is either 'none' or 'charges.' Further details are provided in the -discussion of the 'update\_edges' keyword. The fifth optional section +discussion of the 'update_edges' keyword. The fifth optional section begins with the keyword 'Constraints' and lists additional criteria that must be satisfied in order for the reaction to occur. Currently, -there are three types of constraints available, as discussed below. +there are four types of constraints available, as discussed below. A sample map file is given below: - ---------- - - .. parsed-literal:: # this is a map file @@ -331,10 +333,8 @@ A sample map file is given below: 6 6 7 7 - ---------- - The handedness of atoms that are chiral centers can be enforced by listing their IDs in the ChiralIDs section. A chiral atom must be bonded to four atoms with mutually different atom types. This feature @@ -348,7 +348,6 @@ Any number of additional constraints may be specified in the Constraints section of the map file. The constraint of type 'distance' has syntax as follows: - .. parsed-literal:: distance *ID1* *ID2* *rmin* *rmax* @@ -359,7 +358,6 @@ distance between *rmin* and *rmax* for the reaction to occur. The constraint of type 'angle' has the following syntax: - .. parsed-literal:: angle *ID1* *ID2* *ID3* *amin* *amax* @@ -371,26 +369,43 @@ the central atom). Angles must be specified in degrees. This constraint can be used to enforce a certain orientation between reacting molecules. +The constraint of type 'dihedral' has the following syntax: + +.. parsed-literal:: + + dihedral *ID1* *ID2* *ID3* *ID4* *amin* *amax* *amin2* *amax2* + +where 'dihedral' is the required keyword, and *ID1*\ , *ID2*\ , *ID3* +and *ID4* are pre-reaction atom IDs. Dihedral angles are calculated in +the interval (-180,180]. Refer to the :doc:`dihedral style ` +documentation for further details on convention. If *amin* is less +than *amax*, these four atoms must form a dihedral angle greater than +*amin* **and** less than *amax* for the reaction to occur. If *amin* +is greater than *amax*, these four atoms must form a dihedral angle +greater than *amin* **or** less than *amax* for the reaction to occur. +Angles must be specified in degrees. Optionally, a second range of +permissible angles *amin2*-*amax2* can be specified. + The constraint of type 'arrhenius' imposes an additional reaction probability according to the temperature-dependent Arrhenius equation: -.. image:: Eqs/fix_bond_react.jpg - :align: center +.. math:: -The Arrhenius constraint has the following syntax: + k = AT^{n}e^{\frac{-E_{a}}{k_{B}T}} +The Arrhenius constraint has the following syntax: .. parsed-literal:: arrhenius *A* *n* *E_a* *seed* where 'arrhenius' is the required keyword, *A* is the pre-exponential -factor, *n* is the exponent of the temperature dependence, *E\_a* is -the activation energy (:doc:`units ` of energy), and *seed* is a +factor, *n* is the exponent of the temperature dependence, :math:`E_a` +is the activation energy (:doc:`units ` of energy), and *seed* is a random number seed. The temperature is defined as the instantaneous temperature averaged over all atoms in the reaction site, and is calculated in the same manner as for example -:doc:`compute\_temp\_chunk `. Currently, there are no +:doc:`compute temp/chunk `. Currently, there are no options for additional temperature averaging or velocity-biased temperature calculations. A uniform random number between 0 and 1 is generated using *seed*\ ; if this number is less than the result of the @@ -416,12 +431,13 @@ it occurs: The *prob* keyword can affect whether or not an eligible reaction actually occurs. The fraction setting must be a value between 0.0 and -1.0. A uniform random number between 0.0 and 1.0 is generated and the +1.0, and can be specified with an equal-style :doc:`variable `. +A uniform random number between 0.0 and 1.0 is generated and the eligible reaction only occurs if the random number is less than the fraction. Up to N reactions are permitted to occur, as optionally -specified by the *max\_rxn* keyword. +specified by the *max_rxn* keyword. -The *stabilize\_steps* keyword allows for the specification of how many +The *stabilize_steps* keyword allows for the specification of how many timesteps a reaction site is stabilized before being returned to the overall system thermostat. In order to produce the most physical behavior, this 'reaction site equilibration time' should be tuned to @@ -432,7 +448,7 @@ individually tuned for each fix reaction step. Note that in some situations, decreasing rather than increasing this parameter will result in an increase in stability. -The *update\_edges* keyword can increase the number of atoms whose +The *update_edges* keyword can increase the number of atoms whose atomic charges are updated, when the pre-reaction template contains edge atoms. When the value is set to 'charges,' all atoms' atomic charges are updated to those specified by the post-reaction template, @@ -458,13 +474,12 @@ such as small rings, that may be otherwise indistinguishable. Optionally, you can enforce additional behaviors on reacting atoms. For example, it may be beneficial to force reacting atoms to remain at a certain temperature. For this, you can use the internally-created -dynamic group named "bond\_react\_MASTER\_group", which consists of all +dynamic group named "bond_react_MASTER_group", which consists of all atoms currently involved in a reaction. For example, adding the following command would add an additional thermostat to the group of all currently-reacting atoms: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 bond_react_MASTER_group temp/rescale 1 300 300 10 1 @@ -483,16 +498,15 @@ you should be cautious about invoking this fix too frequently. You can dump out snapshots of the current bond topology via the dump local command. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -Cumulative reaction counts for each reaction are written to :doc:`binary restart files `. These values are associated with the -reaction name (react-ID). Additionally, internally-created per-atom -properties are stored to allow for smooth restarts. None of the -:doc:`fix\_modify ` options are relevant to this fix. +Cumulative reaction counts for each reaction are written to :doc:`binary restart files `. +These values are associated with the reaction name (react-ID). +Additionally, internally-created per-atom properties are stored to +allow for smooth restarts. None of the :doc:`fix_modify ` +options are relevant to this fix. This fix computes one statistic for each *react* argument that it stores in a global vector, of length 'number of react arguments', that @@ -513,8 +527,7 @@ all other fixes that use any group created by fix bond/react. Restrictions """""""""""" - -This fix is part of the USER-MISC package. It is only enabled if +This fix is part of the USER-REACTION package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -524,25 +537,16 @@ Related commands :doc:`fix bond/create `, :doc:`fix bond/break `, :doc:`fix bond/swap `, -:doc:`dump local `, :doc:`special\_bonds ` +:doc:`dump local `, :doc:`special_bonds ` Default """"""" -The option defaults are stabilization = no, prob = 1.0, stabilize\_steps = 60, -update\_edges = none - +The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60, +update_edges = none ---------- - .. _Gissinger: - - **(Gissinger)** Gissinger, Jensen and Wise, Polymer, 128, 211 (2017). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_bond_swap.rst b/doc/src/fix_bond_swap.rst index c4eb2a16b5a548f6c30c9deeb674a29633891f43..9427b0e780a2f75534b510cfb4e844b52e6c1740 100644 --- a/doc/src/fix_bond_swap.rst +++ b/doc/src/fix_bond_swap.rst @@ -6,7 +6,6 @@ fix bond/swap command Syntax """""" - .. parsed-literal:: fix ID group-ID bond/swap Nevery fraction cutoff seed @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all bond/swap 50 0.5 1.3 598934 @@ -41,7 +39,7 @@ gyration. It is designed for use with systems of :doc:`FENE ` or :doc:`harmonic ` bead-spring polymer chains where each polymer is a linear chain of monomers, but LAMMPS does not enforce this requirement, i.e. any -:doc:`bond\_style ` can be used. +:doc:`bond_style ` can be used. A schematic of the kinds of bond swaps that can occur is shown here: @@ -86,7 +84,7 @@ by this processor on this timestep. The criterion for matching molecule IDs is how bond swaps performed by this fix conserve chain length. To use this features you must setup the molecule IDs for your polymer chains in a certain way, typically -in the data file, read by the :doc:`read\_data ` command. +in the data file, read by the :doc:`read_data ` command. Consider a system of 6-mer chains. You have 2 choices. If the molecule IDs for monomers on each chain are set to 1,2,3,4,5,6 then swaps will conserve chain length. For a particular monomer there will @@ -115,16 +113,13 @@ ends of a chain swap with each other. running dynamics, but can affect calculation of some diagnostic quantities or the printing of unwrapped coordinates to a dump file. - ---------- - This fix computes a temperature each time it is invoked for use by the Boltzmann criterion. To do this, the fix creates its own compute of style *temp*\ , as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp @@ -134,19 +129,17 @@ appended and the group for the new compute is "all", so that the temperature of the entire system is used. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp*. +the :doc:`thermo_style ` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -:doc:`compute\_modify ` command or print this temperature -during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +:doc:`compute_modify ` command or print this temperature +during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* will have no effect on this fix. - ---------- - -**Restart, fix\_modify, thermo output, run start/stop, minimize info:** +**Restart, fix_modify, thermo output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. Because the state of the random number generator is not saved in restart files, this means you cannot do "exact" @@ -157,7 +150,7 @@ each processor generates possible swaps independently of other processors. Thus if you repeat the same simulation on a different number of processors, the specific swaps performed will be different. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used to compute the temperature for the Boltzmann criterion. @@ -177,12 +170,11 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -The settings of the "special\_bond" command must be 0,1,1 in order to +The settings of the "special_bond" command must be 0,1,1 in order to use this fix, which is typical of bead-spring chains with FENE or harmonic bonds. This means that pairwise interactions between bonded atoms are turned off, but are turned on between atoms two or three @@ -199,18 +191,9 @@ Related commands **Default:** none - ---------- - .. _Sides: - - **(Sides)** Sides, Grest, Stevens, Plimpton, J Polymer Science B, 42, 199-208 (2004). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_box_relax.rst b/doc/src/fix_box_relax.rst index 315846a94392f9451b796128aeb16072fd127e47..7786a8faefbf7e3a6064da4156ec57760e0a9f47 100644 --- a/doc/src/fix_box_relax.rst +++ b/doc/src/fix_box_relax.rst @@ -6,16 +6,15 @@ fix box/relax command Syntax """""" - .. parsed-literal:: fix ID group-ID box/relax keyword value ... * ID, group-ID are documented in :doc:`fix ` command * box/relax = style name of this fix command - + .. parsed-literal:: - + one or more keyword value pairs may be appended keyword = *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *yz* or *xz* or *couple* or *nreset* or *vmax* or *dilate* or *scaleyz* or *scalexz* or *scalexy* or *fixedpoint* *iso* or *aniso* or *tri* value = Ptarget = desired pressure (pressure units) @@ -30,13 +29,10 @@ Syntax *fixedpoint* values = x y z x,y,z = perform relaxation dilation/contraction around this point (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all box/relax iso 0.0 vmax 0.001 fix 2 water box/relax aniso 0.0 dilate partial @@ -54,10 +50,8 @@ close to the specified external tensor. Conceptually, specifying a positive pressure is like squeezing on the simulation box; a negative pressure typically allows the box to expand. - ---------- - The external pressure tensor is specified using one or more of the *iso*\ , *aniso*\ , *tri*\ , *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , *yz*\ , and *couple* keywords. These keywords give you the ability to specify all 6 @@ -67,7 +61,7 @@ varied together during the minimization. Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable -dimensions (x,y,z,xy,xz,yz). The :doc:`create\_box `, :doc:`read data `, and :doc:`read\_restart ` commands +dimensions (x,y,z,xy,xz,yz). The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. @@ -138,10 +132,8 @@ displaced by the same amount, different on each iteration. new objective function valid for the new box size/shape. Repeat as necessary until the box size/shape has reached its new equilibrium. - ---------- - The *couple* keyword allows two or three of the diagonal components of the pressure tensor to be "coupled" together. The value specified with the keyword determines which are coupled. For example, *xz* @@ -155,10 +147,8 @@ dilated or contracted by the same percentage every timestep. The *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. - ---------- - The *iso*\ , *aniso*\ , and *tri* keywords are simply shortcuts that are equivalent to specifying several other keywords together. @@ -167,7 +157,6 @@ pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using "iso Ptarget" is the same as specifying these 4 keywords: - .. parsed-literal:: x Ptarget @@ -181,7 +170,6 @@ stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Ptarget" is the same as specifying these 4 keywords: - .. parsed-literal:: x Ptarget @@ -195,7 +183,6 @@ as the driving forces, and the specified scalar pressure as the external normal stress. Using "tri Ptarget" is the same as specifying these 7 keywords: - .. parsed-literal:: x Ptarget @@ -206,10 +193,8 @@ these 7 keywords: xz 0.0 couple none - ---------- - The *vmax* keyword can be used to limit the fractional change in the volume of the simulation box that can occur in one iteration of the minimizer. If the pressure is not settling down during the @@ -220,31 +205,32 @@ percent in one iteration when *couple xyz* has been specified. For any other case it means no linear dimension of the simulation box can change by more than 1/10 of a percent. - ---------- - With this fix, the potential energy used by the minimizer is augmented by an additional energy provided by the fix. The overall objective function then is: -.. image:: Eqs/fix_box_relax1.jpg - :align: center +.. math:: + + E = U + P_t \left(V-V_0 \right) + E_{strain} -where *U* is the system potential energy, *P*\ \_t is the desired -hydrostatic pressure, *V* and *V*\ \_0 are the system and reference -volumes, respectively. *E*\ \_\ *strain* is the strain energy expression +where *U* is the system potential energy, :math:`P_t` is the desired +hydrostatic pressure, :math:`V` and :math:`V_0` are the system and reference +volumes, respectively. :math:`E_{strain}` is the strain energy expression proposed by Parrinello and Rahman :ref:`(Parrinello1981) `. Taking derivatives of *E* w.r.t. the box dimensions, and setting these to zero, we find that at the minimum of the objective function, the global system stress tensor **P** will satisfy the relation: -.. image:: Eqs/fix_box_relax2.jpg - :align: center +.. math:: + + \mathbf P = P_t \mathbf I + {\mathbf S_t} \left( \mathbf h_0^{-1} \right)^t \mathbf h_{0d} -where **I** is the identity matrix, **h**\ \_0 is the box dimension tensor of -the reference cell, and **h**\ \_0\ *d* is the diagonal part of -**h**\ \_0. **S**\ \_\ *t* is a symmetric stress tensor that is chosen by LAMMPS +where **I** is the identity matrix, :math:`\mathbf{h_0}` is the box +dimension tensor of the reference cell, and ::math:`\mathbf{h_{0d}}` +is the diagonal part of :math:`\mathbf{h_0}`. :math:`\mathbf{S_t}` +is a symmetric stress tensor that is chosen by LAMMPS so that the upper-triangular components of **P** equal the stress tensor specified by the user. @@ -283,7 +269,7 @@ from a restart file. Because pressure is often a very sensitive function of volume, it can be difficult for the minimizer to equilibrate the system the desired pressure with high precision, particularly for solids. Some - techniques that seem to help are (a) use the "min\_modify line + techniques that seem to help are (a) use the "min_modify line quadratic" option when minimizing with box relaxations, (b) minimize several times in succession if need be, to drive the pressure closer to the target pressure, (c) relax the atom positions before relaxing @@ -292,46 +278,41 @@ from a restart file. systems (e.g. liquids) will not sustain a non-hydrostatic applied pressure, which means the minimizer will not converge. - ---------- - This fix computes a temperature and pressure each timestep. The temperature is used to compute the kinetic contribution to the pressure, even though this is subsequently ignored by default. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp virial See the :doc:`compute temp ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is the same as the fix group. Also note that the pressure compute does not include a kinetic component. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the -:doc:`compute\_modify ` command or print this temperature -or pressure during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. - +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by this fix. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its temperature and pressure calculation, as described above. Note @@ -342,7 +323,7 @@ minimization, most likely in an undesirable way. .. note:: If both the *temp* and *press* keywords are used in a single - thermo\_modify command (or in two separate commands), then the order in + thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a :doc:`pressure compute ` defines its own temperature compute as an argument when it is specified. The *temp* keyword will override this (for the pressure compute being used by fix box/relax), but only if the @@ -357,13 +338,12 @@ energy, plus the strain energy, if it exists, as described above. The energy values reported at the end of a minimization run under "Minimization stats" include this energy, and so differ from what LAMMPS normally reports as potential energy. This fix does not support -the :doc:`fix\_modify ` *energy* option, because that would +the :doc:`fix_modify ` *energy* option, because that would result in double-counting of the fix energy in the minimization energy. Instead, the fix energy can be explicitly added to the potential energy using one of these two variants: - -.. parsed-literal:: +.. code-block:: LAMMPS variable emin equal pe+f_1 @@ -380,13 +360,12 @@ described above. Restrictions """""""""""" - Only dimensions that are available can be adjusted by this fix. Non-periodic dimensions are not available. *z*\ , *xz*\ , and *yz*\ , are not available for 2D simulations. *xy*\ , *xz*\ , and *yz* are only available if the simulation domain is non-orthogonal. The -:doc:`create\_box `, :doc:`read data `, and -:doc:`read\_restart ` commands specify whether the +:doc:`create_box `, :doc:`read data `, and +:doc:`read_restart ` commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. @@ -406,17 +385,8 @@ Default The keyword defaults are dilate = all, vmax = 0.0001, nreset = 0. - ---------- - .. _Parrinello1981: - - **(Parrinello1981)** Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_client_md.rst b/doc/src/fix_client_md.rst index d935144cc0e121274de32563f58ef20855f3f78f..2e0cf84cc566be42129b278aa9cb0d216da93829 100644 --- a/doc/src/fix_client_md.rst +++ b/doc/src/fix_client_md.rst @@ -6,7 +6,6 @@ fix client/md command Syntax """""" - .. parsed-literal:: fix ID group-ID client/md @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all client/md @@ -42,7 +40,7 @@ for the interacting particles to LAMMPS, so it can complete the timestep. Note that the server code can be a quantum code, or another classical -MD code which encodes a force field (pair\_style in LAMMPS lingo) which +MD code which encodes a force field (pair_style in LAMMPS lingo) which LAMMPS does not have. In the quantum case, this fix is a mechanism for running *ab initio* MD with quantum forces. @@ -53,32 +51,30 @@ that LAMMPS exchanges with the server code is defined on the :doc:`server md `, :doc:`bond\_style `, or -:doc:`kspace\_style ` command. However it is possible for +:doc:`pair_style `, :doc:`bond_style `, or +:doc:`kspace_style ` command. However it is possible for a server code to only compute a portion of the full force-field, while LAMMPS computes the remaining part. Your LAMMPS script can also specify boundary conditions or force constraints in the usual way, which will be added to the per-atom forces returned by the server code. -See the examples/message dir for example scripts where LAMMPS is both +See the examples/message directory for example scripts where LAMMPS is both the "client" and/or "server" code for this kind of client/server MD simulation. The examples/message/README file explains how to launch LAMMPS and another code in tandem to perform a coupled simulation. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential energy computed by the server application to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the server application's contribution to the system's virial as part of :doc:`thermodynamic output `. The default is *virial yes* @@ -94,7 +90,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -108,8 +103,3 @@ Related commands :doc:`message `, :doc:`server ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_cmap.rst b/doc/src/fix_cmap.rst index abdf09595999288a6fefd9274ff6f1754e0fbebb..6f68d97c595a2b4d7226685bff604e9794822668 100644 --- a/doc/src/fix_cmap.rst +++ b/doc/src/fix_cmap.rst @@ -6,7 +6,6 @@ fix cmap command Syntax """""" - .. parsed-literal:: fix ID group-ID cmap filename @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix myCMAP all cmap ../potentials/cmap36.data read_data proteinX.data fix myCMAP crossterm CMAP @@ -46,12 +44,11 @@ specified should contain the CMAP parameters for a particular version of the CHARMM force field. Two such files are including in the lammps/potentials directory: charmm22.cmap and charmm36.cmap. -The data file read by the "read\_data" must contain the topology of all +The data file read by the "read_data" must contain the topology of all the CMAP interactions, similar to the topology data for bonds, angles, dihedrals, etc. Specially it should have a line like this in its header section: - .. parsed-literal:: N crossterms @@ -59,7 +56,6 @@ in its header section: where N is the number of CMAP cross-terms. It should also have a section in the body of the data file like this with N lines: - .. parsed-literal:: CMAP @@ -75,8 +71,8 @@ interaction; it is an index into the CMAP force field file. The remaining 5 columns are the atom IDs of the atoms in the two 4-atom dihedrals that overlap to create the CMAP 5-body interaction. Note that the "crossterm" and "CMAP" keywords for the header and body -sections match those specified in the read\_data command following the -data file name; see the :doc:`read\_data ` doc page for +sections match those specified in the read_data command following the +data file name; see the :doc:`read_data ` doc page for more details. A data file containing CMAP cross-terms can be generated from a PDB @@ -88,26 +84,24 @@ more information. The potential energy associated with CMAP interactions can be output as described below. It can also be included in the total potential energy of the system, as output by the -:doc:`thermo\_style ` command, if the :doc:`fix\_modify energy ` command is used, as in the example above. See +:doc:`thermo_style ` command, if the :doc:`fix_modify energy ` command is used, as in the example above. See the note below about how to include the CMAP energy when performing an :doc:`energy minimization `. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -This fix writes the list of CMAP cross-terms to :doc:`binary restart files `. See the :doc:`read\_restart ` command +This fix writes the list of CMAP cross-terms to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential "energy" of the CMAP interactions system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the interaction between atoms to the system's virial as part of :doc:`thermodynamic output `. The default is *virial yes* @@ -128,15 +122,14 @@ invoked by the :doc:`minimize ` command. If you want the potential energy associated with the CMAP terms forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the - :doc:`fix\_modify ` *energy* option for this fix. + :doc:`fix_modify ` *energy* option for this fix. Restrictions """""""""""" - To function as expected this fix command must be issued *before* a -:doc:`read\_data ` command but *after* a -:doc:`read\_restart ` command. +:doc:`read_data ` command but *after* a +:doc:`read_restart ` command. This fix can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more @@ -145,28 +138,17 @@ info. Related commands """""""""""""""" -:doc:`fix\_modify `, :doc:`read\_data ` +:doc:`fix_modify `, :doc:`read_data ` **Default:** none - ---------- - .. _Buck: - - **(Buck)** Buck, Bouguet-Bonnet, Pastor, MacKerell Jr., Biophys J, 90, L36 (2006). .. _Brooks2: - - **(Brooks)** Brooks, Brooks, MacKerell Jr., J Comput Chem, 30, 1545 (2009). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_colvars.rst b/doc/src/fix_colvars.rst index bd29a394cb451ef6337dc47420eb1ba4a441da40..20315624d60508f2d699f5f3f2a56b1236104d42 100644 --- a/doc/src/fix_colvars.rst +++ b/doc/src/fix_colvars.rst @@ -6,7 +6,6 @@ fix colvars command Syntax """""" - .. parsed-literal:: fix ID group-ID colvars configfile keyword values ... @@ -15,9 +14,9 @@ Syntax * colvars = style name of this fix command * configfile = the configuration file for the colvars module * keyword = *input* or *output* or *seed* or *tstat* - + .. parsed-literal:: - + *input* arg = colvars.state file name or prefix or NULL (default: NULL) *output* arg = output filename prefix (default: out) *seed* arg = seed for random number generator (default: 1966) @@ -25,13 +24,10 @@ Syntax use unwrapped coordinates in collective variables (default: yes) *tstat* arg = fix id of a thermostat or NULL (default: NULL) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix mtd all colvars peptide.colvars.inp seed 2122 input peptide.colvars.state output peptide fix abf all colvars colvars.inp tstat 1 @@ -56,10 +52,8 @@ A detailed discussion of its implementation is in :ref:`(Fiorin) `. There are some example scripts for using this package with LAMMPS in the examples/USER/colvars directory. - ---------- - The only mandatory argument to the fix is the filename to the colvars input file that contains the input that is independent from the MD program in which the colvars library has been integrated. @@ -74,7 +68,7 @@ no restriction to functionality by limiting the number of colvars fixes. The *input* keyword allows to specify a state file that would contain the restart information required in order to continue a calculation from a prerecorded state. Fix colvars records it state in :doc:`binary restart ` -files, so when using the :doc:`read\_restart ` command, +files, so when using the :doc:`read_restart ` command, this is usually not needed. The *output* keyword allows to specify the output prefix. All output @@ -96,23 +90,23 @@ fix that thermostats all atoms in the fix colvars group. This will be used to provide the colvars module with the current thermostat target temperature. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the current status of the colvars module into :doc:`binary restart files `. This is in addition to the text mode status file that is written by the colvars module itself and the kind of information in both files is identical. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change from the biasing force added by the fix to the system's potential energy as part of :doc:`thermodynamic output `. -The *fix\_modify configfile * option allows to add settings +The *fix_modify configfile * option allows to add settings from an additional config file to the colvars module. This option can only be used, after the system has been initialized with a :doc:`run ` command. -The *fix\_modify config * option allows to add settings +The *fix_modify config * option allows to add settings from inline strings. Those have to fit on a single line when enclosed in a pair of double quotes ("), or can span multiple lines when bracketed by a pair of triple double quotes (""", like python embedded documentation). @@ -125,7 +119,6 @@ fix is "extensive". Restrictions """""""""""" - This fix is part of the USER-COLVARS package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -146,17 +139,8 @@ Default The default options are input = NULL, output = out, seed = 1966, unwrap yes, and tstat = NULL. - ---------- - .. _Fiorin: - - **(Fiorin)** Fiorin, Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_controller.rst b/doc/src/fix_controller.rst index 906be7ca7cf1556724787440547196bac286d557..2fd5f17c952f25ea05909165b5eb7303e3d809ab 100644 --- a/doc/src/fix_controller.rst +++ b/doc/src/fix_controller.rst @@ -6,7 +6,6 @@ fix controller command Syntax """""" - .. parsed-literal:: fix ID group-ID controller Nevery alpha Kp Ki Kd pvar setpoint cvar @@ -18,10 +17,10 @@ Syntax * Kp = proportional gain in PID equation (unitless) * Ki = integral gain in PID equation (unitless) * Kd = derivative gain in PID equation (unitless) -* pvar = process variable of form c\_ID, c\_ID[I], f\_ID, f\_ID[I], or v\_name - +* pvar = process variable of form c_ID, c_ID[I], f_ID, f_ID[I], or v_name + .. parsed-literal:: - + c_ID = global scalar calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID f_ID = global scalar calculated by a fix with ID @@ -31,12 +30,10 @@ Syntax * setpoint = desired value of process variable (same units as process variable) * cvar = name of control variable - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all controller 100 1.0 0.5 0.0 0.0 c_thermo_temp 1.5 tcontrol fix 1 all controller 100 0.2 0.5 0 100.0 v_pxxwall 1.01325 xwall @@ -97,43 +94,48 @@ The PID controller is invoked once each *Nevery* timesteps. The PID controller is implemented as a discretized version of the following dynamic equation: -.. image:: Eqs/fix_controller1.jpg - :align: center +.. math:: + + \frac{dc}{dt} = \hat{E} -\alpha (K_p e + K_i \int_0^t e \, dt + K_d \frac{de}{dt} ) where *c* is the continuous time analog of the control variable, *e* =\ *pvar*\ -\ *setpoint* is the error in the process variable, and -*alpha*\ , *Kp*\ , *Ki*\ , and *Kd* are constants set by the corresponding +:math:`\alpha`, :math:`K_p`, :math:`K_i` , and :math:`K_d` are constants +set by the corresponding keywords described above. The discretized version of this equation is: -.. image:: Eqs/fix_controller2.jpg - :align: center +.. math:: -where *tau* = *Nevery* \* *timestep* is the time interval between updates, + c_n = \hat{E} c_{n-1} -\alpha \left( K_p \tau e_n + K_i \tau^2 \sum_{i=1}^n e_i + K_d (e_n - e_{n-1}) \right) + +where :math:`\tau = \mathtt{Nevery} \cdot \mathtt{timestep}` is the time +interval between updates, and the subscripted variables indicate the values of *c* and *e* at successive updates. From the first equation, it is clear that if the three gain values -*Kp*\ , *Ki*\ , *Kd* are dimensionless constants, then *alpha* must have +:math:`K_p`, :math:`K_i`, :math:`K_d` are dimensionless constants, +then :math:`\alpha` must have units of [unit *cvar*\ ]/[unit *pvar*\ ]/[unit time] e.g. [ eV/K/ps ]. The advantage of this unit scheme is that the value of the constants should be invariant under a change of either the MD timestep size or the value of *Nevery*\ . Similarly, if the LAMMPS :doc:`unit style ` is changed, it should only be necessary to change -the value of *alpha* to reflect this, while leaving *Kp*\ , *Ki*\ , and -*Kd* unaltered. +the value of :math:`\alpha` to reflect this, while leaving :math:`K_p`, +:math:`K_i`, and :math:`K_d` unaltered. 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. -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 -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 +pick a value and sign for :math:`\alpha` that is consistent with the +magnitudes and signs of *pvar* and *cvar*\ . The magnitude of :math:`K_p` +should then be tested over a large positive range keeping :math:`K_i = K_d =0`. +A good value for :math:`K_p` will produce a fast response in *pvar*\ , +without overshooting the *setpoint*\ . For many applications, proportional +feedback is sufficient, and so :math:`K_i` = K_d =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 :math:`K_d`. In situations where *pvar* plateaus without reaching *setpoint*\ , this can be -counteracted by increasing *Ki*\ . In the language of Charles Dickens, -*Kp* represents the error of the present, *Ki* the error of the past, -and *Kd* the error yet to come. +counteracted by increasing :math:`K_i`. In the language of Charles Dickens, +:math:`K_p` represents the error of the present, :math:`K_i` the error of +the past, and :math:`K_d` the error yet to come. Because this fix updates *cvar*\ , but does not initialize its value, the initial value is that assigned by the user in the input script via @@ -141,12 +143,10 @@ the :doc:`internal-style variable ` command. This value is used (by the other LAMMPS command that used the variable) until this fix performs its first update of *cvar* after *Nevery* timesteps. On the first update, the value of the derivative term is set to zero, -because the value of *e\_n-1* is not yet defined. - +because the value of :math:`e_n-1` is not yet defined. ---------- - The process variable *pvar* can be specified as the output of a :doc:`compute ` or :doc:`fix ` or the evaluation of a :doc:`variable `. In each case, the compute, fix, or variable @@ -188,13 +188,11 @@ variable. It must be an internal-style variable, because this fix updates its value directly. Note that other commands can use an equal-style versus internal-style variable interchangeably. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -Currently, no information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +Currently, no information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix produces a global vector with 3 values which can be accessed @@ -224,8 +222,3 @@ Related commands :doc:`fix adapt ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index dc0b566678105be641031ff2d7c9a09d12123467..75fc6cc5c9f5eff52062a35007cb954cb4b80968 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -9,7 +9,6 @@ fix deform/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID deform N parameter args ... keyword value ... @@ -18,9 +17,9 @@ Syntax * deform = style name of this fix command * N = perform box deformation every this many timesteps * one or more parameter/arg pairs may be appended - + .. parsed-literal:: - + parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* *x*\ , *y*\ , *z* args = style value(s) style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* @@ -66,9 +65,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *remap* or *flip* or *units* - + .. parsed-literal:: - + *remap* value = *x* or *v* or *none* x = remap coords of atoms in group into deforming box v = remap velocities of all atoms when they cross periodic boundaries @@ -79,13 +78,10 @@ Syntax lattice = distances are defined in lattice units box = distances are defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all deform 1 x final 0.0 9.0 z final 0.0 5.0 units box fix 1 all deform 1 x trate 0.1 y volume z volume @@ -114,10 +110,10 @@ unspecified parameters can also be controlled by a :doc:`fix npt ` or :d The size and shape of the simulation box at the beginning of the simulation run were either specified by the -:doc:`create\_box ` or :doc:`read\_data ` or -:doc:`read\_restart ` command used to setup the simulation +:doc:`create_box ` or :doc:`read_data ` or +:doc:`read_restart ` command used to setup the simulation initially if it is the first run, or they are the values from the end -of the previous run. The :doc:`create\_box `, :doc:`read data `, and :doc:`read\_restart ` commands +of the previous run. The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. If fix deform changes the xy,xz,yz tilt factors, then the simulation box @@ -129,10 +125,8 @@ command. Every Nth timestep during the run, the simulation box is expanded, contracted, or tilted to ramped values between the initial and final values. - ---------- - For the *x*\ , *y*\ , and *z* parameters, this is the meaning of their styles and values. @@ -173,7 +167,6 @@ is defined as delta/L0, where L0 is the original box length and delta is the change relative to the original length. The box length L as a function of time will change as - .. parsed-literal:: L(t) = L0 (1 + erate\*dt) @@ -201,7 +194,6 @@ is the change relative to the original length. The box length L as a function of time will change as - .. parsed-literal:: L(t) = L0 exp(trate\*dt) @@ -254,7 +246,6 @@ The *wiggle* style oscillates the specified box length dimension sinusoidally with the specified amplitude and period. I.e. the box length L as a function of time is given by - .. parsed-literal:: L(t) = L0 + A sin(2\*pi t/Tp) @@ -289,23 +280,20 @@ Here is an example of using the *variable* style to perform the same box deformation as the *wiggle* style formula listed above, where we assume that the current timestep = 0. - -.. parsed-literal:: +.. code-block:: LAMMPS variable A equal 5.0 variable Tp equal 10.0 - variable displace equal "v_A \* sin(2\*PI \* step\*dt/v_Tp)" - variable rate equal "2\*PI\*v_A/v_Tp \* cos(2\*PI \* step\*dt/v_Tp)" + variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" + variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" fix 2 all deform 1 x variable v_displace v_rate remap v For the *scale*\ , *vel*\ , *erate*\ , *trate*\ , *volume*\ , *wiggle*\ , and *variable* styles, the box length is expanded or compressed around its mid point. - ---------- - For the *xy*\ , *xz*\ , and *yz* parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume. @@ -345,7 +333,6 @@ direction for xy deformation) from the unstrained orientation. The tilt factor T as a function of time will change as - .. parsed-literal:: T(t) = T0 + L0\*erate\*dt @@ -378,7 +365,6 @@ from the unstrained orientation. The tilt factor T as a function of time will change as - .. parsed-literal:: T(t) = T0 exp(trate\*dt) @@ -406,7 +392,6 @@ The *wiggle* style oscillates the specified tilt factor sinusoidally with the specified amplitude and period. I.e. the tilt factor T as a function of time is given by - .. parsed-literal:: T(t) = T0 + A sin(2\*pi t/Tp) @@ -440,19 +425,16 @@ Here is an example of using the *variable* style to perform the same box deformation as the *wiggle* style formula listed above, where we assume that the current timestep = 0. - -.. parsed-literal:: +.. code-block:: LAMMPS variable A equal 5.0 variable Tp equal 10.0 - variable displace equal "v_A \* sin(2\*PI \* step\*dt/v_Tp)" - variable rate equal "2\*PI\*v_A/v_Tp \* cos(2\*PI \* step\*dt/v_Tp)" + variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" + variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" fix 2 all deform 1 xy variable v_displace v_rate remap v - ---------- - All of the tilt styles change the xy, xz, yz tilt factors during a simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are normally bounded by half the distance of the parallel box length. @@ -488,10 +470,8 @@ does not change the atom positions due to non-periodicity. In this mode, if you tilt the system to extreme angles, the simulation will simply become inefficient due to the highly skewed simulation box. - ---------- - Each time the box size or shape is changed, the *remap* keyword determines whether atom positions are remapped to the new box. If *remap* is set to *x* (the default), atoms in the fix group are @@ -578,13 +558,11 @@ been previously used to define the lattice spacing. Note that the units choice also affects the *vel* style parameters since it is defined in terms of distance/time. Also note that the units keyword does not affect the *variable* style. You should use the *xlat*\ , -*ylat*\ , *zlat* keywords of the :doc:`thermo\_style ` +*ylat*\ , *zlat* keywords of the :doc:`thermo_style ` command if you want to include lattice spacings in a variable formula. - ---------- - 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 @@ -603,11 +581,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix will restore the initial box settings from :doc:`binary restart files `, which allows the fix to be properly continue deformation, when using the start/stop options of the :doc:`run ` -command. None of the :doc:`fix\_modify ` options are +command. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. @@ -620,7 +598,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - You cannot apply x, y, or z deformations to a dimension that is shrink-wrapped via the :doc:`boundary ` command. @@ -630,14 +607,9 @@ xy) that is shrink-wrapped via the :doc:`boundary ` command. Related commands """""""""""""""" -:doc:`change\_box ` +:doc:`change_box ` Default """"""" The option defaults are remap = x, flip = yes, and units = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_deposit.rst b/doc/src/fix_deposit.rst index 29b4381441a6cedfe4d7d61c50aa70a255bbc778..31df74ce9b994663a8150f0b33085ff0ae90ddec 100644 --- a/doc/src/fix_deposit.rst +++ b/doc/src/fix_deposit.rst @@ -6,7 +6,6 @@ fix deposit command Syntax """""" - .. parsed-literal:: fix ID group-ID deposit N type M seed keyword values ... @@ -19,9 +18,9 @@ Syntax * seed = random # seed (positive integer) * one or more keyword/value pairs may be appended to args * keyword = *region* or *id* or *global* or *local* or *near* or *gaussian* or *attempt* or *rate* or *vx* or *vy* or *vz* or *mol* or *rigid* or *shake* or *units* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region to use as insertion volume *id* value = *max* or *next* @@ -63,13 +62,10 @@ Syntax lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 all deposit 1000 2 100 29494 region myblock local 1.0 1.0 1.0 units box fix 2 newatoms deposit 10000 1 500 12345 region disk near 2.0 vz -1.0 -0.8 @@ -100,7 +96,7 @@ default group "all" and the group specified in the fix deposit command If you are computing temperature values which include inserted particles, you will want to use the -:doc:`compute\_modify ` dynamic option, which insures the +:doc:`compute_modify ` dynamic option, which insures the current number of atoms is used as a normalizing factor each time the temperature is computed. @@ -115,7 +111,7 @@ prevent this behavior. Note that if a shrink-wrap boundary is used, it is OK to insert the new particle outside the box, however the box will immediately be expanded to include the new particle. When simulating a sputtering experiment it is probably more realistic to -ignore those atoms using the :doc:`thermo\_modify ` +ignore those atoms using the :doc:`thermo_modify ` command with the *lost ignore* option and a fixed :doc:`boundary `. @@ -167,7 +163,7 @@ command which also appears in your input script. If you wish the new rigid molecules (and other rigid molecules) to be thermostatted correctly via :doc:`fix rigid/small/nvt ` or :doc:`fix rigid/small/npt `, then you need to use the - "fix\_modify dynamic/dof yes" command for the rigid fix. This is to + "fix_modify dynamic/dof yes" command for the rigid fix. This is to inform that fix that the molecule count will vary dynamically. If you wish to insert molecules via the *mol* keyword, that will have @@ -272,25 +268,25 @@ units of distance or velocity. If you are monitoring the temperature of a system where the atom count is changing due to adding particles, you typically should use - the :doc:`compute\_modify dynamic yes ` command for the + the :doc:`compute_modify dynamic yes ` command for the temperature compute you are using. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the deposition to :doc:`binary restart files `. This includes information about how many particles have been deposited, the random number generator seed, the next timestep for deposition, etc. See the -:doc:`read\_restart ` command for info on how to re-specify +:doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. .. note:: For this to work correctly, the timestep must **not** be changed - after reading the restart with :doc:`reset\_timestep `. + after reading the restart with :doc:`reset_timestep `. The fix will try to detect it and stop with an error. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the @@ -299,7 +295,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -320,8 +315,3 @@ is an equal probabilities for all molecules in the template. Additional option defaults are id = max, delta = 0.0, near = 0.0, attempt = 10, rate = 0.0, vx = 0.0 0.0, vy = 0.0 0.0, vz = 0.0 0.0, and units = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_dpd_energy.rst b/doc/src/fix_dpd_energy.rst index e2cedd0d9fd8d996b0bb3153fec9c4e0265ce9a6..0eeb8f9478ada67e93afba66e4462c90f943055b 100644 --- a/doc/src/fix_dpd_energy.rst +++ b/doc/src/fix_dpd_energy.rst @@ -9,7 +9,6 @@ fix dpd/energy/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID dpd/energy @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all dpd/energy @@ -39,20 +37,18 @@ the particle internal energy through a mesoparticle equation of state. An additional fix must be specified that defines the equation of state for each particle, e.g. :doc:`fix eos/cv `. -This fix must be used with the :doc:`pair\_style dpd/fdt/energy ` command. +This fix must be used with the :doc:`pair_style dpd/fdt/energy ` command. Note that numerous variants of DPD can be specified by choosing an -appropriate combination of the integrator and :doc:`pair\_style dpd/fdt/energy ` command. DPD under isoenergetic conditions -can be specified by using fix *dpd/energy*\ , fix *nve* and pair\_style +appropriate combination of the integrator and :doc:`pair_style dpd/fdt/energy ` command. DPD under isoenergetic conditions +can be specified by using fix *dpd/energy*\ , fix *nve* and pair_style *dpd/fdt/energy*\ . DPD under isoenthalpic conditions can -be specified by using fix *dpd/energy*\ , fix *nph* and pair\_style +be specified by using fix *dpd/energy*\ , fix *nph* and pair_style *dpd/fdt/energy*\ . Examples of each DPD variant are provided in the examples/USER/dpd directory. - ---------- - 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 @@ -71,21 +67,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix must be used with an additional fix that specifies time integration, e.g. :doc:`fix nve `. -The fix *dpd/energy* requires the *dpd* :doc:`atom\_style ` +The fix *dpd/energy* requires the *dpd* :doc:`atom_style ` to be used in order to properly account for the particle internal energies and temperature. @@ -99,14 +92,10 @@ Related commands **Default:** none - ---------- - .. _Lisal1: - - **(Lisal)** M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative particle dynamics at isothermal, isobaric, isoenergetic, and isoenthalpic conditions using Shardlow-like splitting algorithms.", @@ -114,14 +103,7 @@ J. Chem. Phys., 135, 204105 (2011). .. _Larentzos3: - - **(Larentzos)** J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research Laboratory, Aberdeen Proving Ground, MD (2014). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_dpd_source.rst b/doc/src/fix_dpd_source.rst index 66895f25380aacdbab5ef30ddb934ebb43466233..5ea1c85fb4331fc62e3b35d2aef795029e290405 100644 --- a/doc/src/fix_dpd_source.rst +++ b/doc/src/fix_dpd_source.rst @@ -9,7 +9,6 @@ fix tdpd/source command Syntax """""" - .. parsed-literal:: fix ID group-ID edpd/source keyword values ... @@ -19,9 +18,9 @@ Syntax * edpd/source or tdpd/source = style name of this fix command * index (only specified for tdpd/source) = index of chemical species (1 to Nspecies) * keyword = *sphere* or *cuboid* - + .. parsed-literal:: - + *sphere* values = cx,cy,cz,radius,source cx,cy,cz = x,y,z center of spherical domain (distance units) radius = radius of a spherical domain (distance units) @@ -31,13 +30,10 @@ Syntax dLx,dLy,dLz = x,y,z side length of a cuboid domain (distance units) source = heat source or concentration source (flux units, see below) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all edpd/source sphere 0.0 0.0 0.0 5.0 0.01 fix 1 all edpd/source cuboid 0.0 0.0 0.0 20.0 10.0 10.0 -0.01 @@ -66,13 +62,11 @@ spherical domain to apply the source flux to. If the *cuboid* keyword is used, the *cx,cy,cz,dLx,dLy,dLz* defines a cuboid domain to apply the source flux to. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -81,29 +75,24 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - -This fix is part of the USER-MESO package. It is only enabled if +This fix is part of the USER-MESODPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -Fix *edpd/source* must be used with the :doc:`pair\_style edpd ` command. Fix *tdpd/source* must be used with the -:doc:`pair\_style tdpd ` command. +Fix *edpd/source* must be used with the :doc:`pair_style edpd ` command. Fix *tdpd/source* must be used with the +:doc:`pair_style tdpd ` command. Related commands """""""""""""""" -:doc:`pair\_style edpd `, :doc:`pair\_style tdpd `, +:doc:`pair_style edpd `, :doc:`pair_style tdpd `, :doc:`compute edpd/temp/atom `, :doc:`compute tdpd/cc/atom ` **Default:** none - ---------- - .. _Li2014b: - - **(Li2014)** Z. Li, Y.-H. Tang, H. Lei, B. Caswell and G.E. Karniadakis, "Energy-conserving dissipative particle dynamics with temperature-dependent properties", J. Comput. Phys., 265: 113-127 @@ -111,14 +100,7 @@ temperature-dependent properties", J. Comput. Phys., 265: 113-127 .. _Li2015b: - - **(Li2015)** Z. Li, A. Yazdani, A. Tartakovsky and G.E. Karniadakis, "Transport dissipative particle dynamics model for mesoscopic advection-diffusion-reaction problems", J. Chem. Phys., 143: 014101 (2015). DOI: 10.1063/1.4923254 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_drag.rst b/doc/src/fix_drag.rst index 9490f58f017d3f12cb748dd7a63837557caad27b..792d4725cca1014e182dd12e165bc258129f3058 100644 --- a/doc/src/fix_drag.rst +++ b/doc/src/fix_drag.rst @@ -6,7 +6,6 @@ fix drag command Syntax """""" - .. parsed-literal:: fix ID group-ID drag x y z fmag delta @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0 @@ -40,11 +38,11 @@ application. This command can be used to steer one or more atoms to a new location in the simulation. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -67,8 +65,3 @@ Related commands :doc:`fix spring/rg `, :doc:`fix smd ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_drude.rst b/doc/src/fix_drude.rst index 4a39c7abc801495f101a8dccf2bf378fd498619a..db13d8d052e0e96edffcb32f5303eb8f993461c0 100644 --- a/doc/src/fix_drude.rst +++ b/doc/src/fix_drude.rst @@ -6,7 +6,6 @@ fix drude command Syntax """""" - .. parsed-literal:: fix ID group-ID drude flag1 flag2 ... flagN @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all drude 1 1 0 1 0 2 2 2 fix 1 all drude C C N C N D D D @@ -42,18 +40,12 @@ or capital letter (N,C,D): Restrictions """""""""""" - This fix should be invoked before any other commands that implement -the Drude oscillator model, such as :doc:`fix langevin/drude `, :doc:`fix drude/transform `, :doc:`compute temp/drude `, :doc:`pair\_style thole `. +the Drude oscillator model, such as :doc:`fix langevin/drude `, :doc:`fix drude/transform `, :doc:`compute temp/drude `, :doc:`pair_style thole `. Related commands """""""""""""""" -:doc:`fix langevin/drude `, :doc:`fix drude/transform `, :doc:`compute temp/drude `, :doc:`pair\_style thole ` +:doc:`fix langevin/drude `, :doc:`fix drude/transform `, :doc:`compute temp/drude `, :doc:`pair_style thole ` **Default:** None - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_drude_transform.rst b/doc/src/fix_drude_transform.rst index 58c3628dce1df2f338c5e0b704f38e24a5802bad..607c16157212fccee58e32b7e1a52197d6ae06f3 100644 --- a/doc/src/fix_drude_transform.rst +++ b/doc/src/fix_drude_transform.rst @@ -9,7 +9,6 @@ fix drude/transform/inverse command Syntax """""" - .. parsed-literal:: fix ID group-ID style keyword value ... @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 all drude/transform/direct fix 1 all drude/transform/inverse @@ -54,63 +52,57 @@ Masses: .. math:: - \begin{equation} M' = M + m \end{equation} - + M' = M + m .. math:: - \begin{equation} m' = \frac {M\, m } {M'} \end{equation} + m' = \frac {M\, m } {M'} Positions: .. math:: - \begin{equation} X' = \frac {M\, X + m\, x} {M'}\end{equation} - + X' = \frac {M\, X + m\, x} {M'} .. math:: - \begin{equation} x' = x - X \end{equation} + x' = x - X Velocities: .. math:: - \begin{equation} V' = \frac {M\, V + m\, v} {M'}\end{equation} - + V' = \frac {M\, V + m\, v} {M'} .. math:: - \begin{equation} v' = v - V \end{equation} + v' = v - V Forces: .. math:: - \begin{equation} F' = F + f \end{equation} - + F' = F + f .. math:: - \begin{equation} f' = \frac { M\, f - m\, F} {M'}\end{equation} + f' = \frac { M\, f - m\, F} {M'} This transform conserves the total kinetic energy .. math:: - \begin{equation} \frac 1 2 \, (M\, V^2\ + m\, v^2) - = \frac 1 2 \, (M'\, V'^2\ + m'\, v'^2) \end{equation} + \frac 1 2 \, (M\, V^2\ + m\, v^2) + = \frac 1 2 \, (M'\, V'^2\ + m'\, v'^2) and the virial defined with absolute positions .. math:: - \begin{equation} X\, F + x\, f = X'\, F' + x'\, f' \end{equation} - + X\, F + x\, f = X'\, F' + x'\, f' ---------- - This fix requires each atom know whether it is a Drude particle or not. You must therefore use the :doc:`fix drude ` command to specify the Drude status of each atom type. @@ -123,10 +115,8 @@ specify the Drude status of each atom type. electrons or non-polarizable atoms in the group. The non-polarizable atoms will simply not be transformed. - ---------- - This fix does NOT perform time integration. It only transform masses, coordinates, velocities and forces. Thus you must use separate time integration fixes, like :doc:`fix nve ` or :doc:`fix npt ` to actually update the velocities and positions of @@ -142,8 +132,7 @@ acting on two distinct groups. Example: - -.. parsed-literal:: +.. code-block:: LAMMPS fix fDIRECT all drude/transform/direct fix fNVT gCORES nvt temp 300.0 300.0 100 @@ -162,14 +151,13 @@ relative coordinates, are calculated using :doc:`compute temp/drude `. @@ -211,21 +196,12 @@ Related commands :doc:`fix drude `, :doc:`fix langevin/drude `, :doc:`compute temp/drude `, -:doc:`pair\_style thole ` +:doc:`pair_style thole ` **Default:** none - ---------- - .. _Lamoureux1: - - **(Lamoureux)** Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_dt_reset.rst b/doc/src/fix_dt_reset.rst index b99161934f376a1975779464681a00020cfdb8e3..861134f7458a1861f663d0bee8e05808927248ec 100644 --- a/doc/src/fix_dt_reset.rst +++ b/doc/src/fix_dt_reset.rst @@ -6,7 +6,6 @@ fix dt/reset command Syntax """""" - .. parsed-literal:: fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... @@ -20,7 +19,6 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *emax* or *units* - .. parsed-literal:: *emax* value = Emax @@ -32,8 +30,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 5 all dt/reset 10 1.0e-5 0.01 0.1 fix 5 all dt/reset 10 0.01 2.0 0.2 units box @@ -81,11 +78,11 @@ outer loop (largest) timestep, which is the same timestep that the Note that the cumulative simulation time (in time units), which accounts for changes in the timestep size as a simulation proceeds, -can be accessed by the :doc:`thermo\_style time ` keyword. +can be accessed by the :doc:`thermo_style time ` keyword. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global scalar which can be accessed by various @@ -111,8 +108,3 @@ Default The option defaults are units = lattice, and no emax kinetic energy limit. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_efield.rst b/doc/src/fix_efield.rst index c5228a0cc35dd9c0bb7e4f6b4822f17bd1b69a88..0410803c1382331f416953e60f2bab9045d0cbc9 100644 --- a/doc/src/fix_efield.rst +++ b/doc/src/fix_efield.rst @@ -6,7 +6,6 @@ fix efield command Syntax """""" - .. parsed-literal:: fix ID group-ID efield ex ey ez keyword value ... @@ -17,21 +16,18 @@ Syntax * any of ex,ey,ez can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *region* or *energy* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region atoms must be in to have added force *energy* value = v_name v_name = variable with name that calculates the potential energy of each atom in the added E-field - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix kick external-field efield 1.0 0.0 0.0 fix kick external-field efield 0.0 0.0 v_oscillate @@ -47,7 +43,7 @@ external electric field. For charges, any of the 3 quantities defining the E-field components can be specified as an equal-style or atom-style :doc:`variable `, namely *ex*\ , *ey*\ , *ez*\ . If the value is a -variable, it should be specified as v\_name, where name is the variable +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the E-field component. @@ -58,7 +54,7 @@ gradients of the field are required for the force and torque on dipoles. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent E-field. @@ -71,10 +67,8 @@ If the *region* keyword is used, the atom must also be in the specified geometric :doc:`region ` in order to have force added to it. - ---------- - Adding a force or torque to atoms implies a change in their potential energy as they move or rotate due to the applied E-field. @@ -107,7 +101,7 @@ minimize the orientation of dipoles in an applied electric field. The *energy* keyword specifies the name of an atom-style :doc:`variable ` which is used to compute the energy of each atom as function of its position. Like variables used for *ex*\ , *ey*\ , -*ez*\ , the energy variable is specified as v\_name, where name is the +*ez*\ , the energy variable is specified as v_name, where name is the variable name. Note that when the *energy* keyword is used during an energy @@ -118,15 +112,13 @@ due to the electric field were a spring-like F = kx, then the energy formula should be E = -0.5kx\^2. If you don't do this correctly, the minimization will not converge properly. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential "energy" inferred by the added force due to the electric field to the system's potential energy as part of :doc:`thermodynamic output `. This is a fictitious @@ -135,12 +127,12 @@ can include the forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the added force due to the electric field. -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the added forces on atoms to the system's virial as part of :doc:`thermodynamic output `. The default is *virial no* -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix adding its forces. Default is the outermost level. @@ -164,12 +156,11 @@ the iteration count during the minimization. If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the - :doc:`fix\_modify ` *energy* option for this fix. + :doc:`fix_modify ` *energy* option for this fix. Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -179,8 +170,3 @@ Related commands :doc:`fix addforce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ehex.rst b/doc/src/fix_ehex.rst index 4c4487b11b0ff705fdf114a12438c56c114dea6f..10622c8b3e3d6c382d7d319e3821a27bf51de73e 100644 --- a/doc/src/fix_ehex.rst +++ b/doc/src/fix_ehex.rst @@ -6,7 +6,6 @@ fix ehex command Syntax """""" - .. parsed-literal:: fix ID group-ID ehex nevery F keyword value @@ -17,9 +16,9 @@ Syntax * F = energy flux into the reservoir (energy/time units) * zero or more keyword/value pairs may be appended to args * keyword = *region* or *constrain* or *com* or *hex* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region (reservoir) atoms must be in for added thermostatting force *constrain* value = none @@ -29,13 +28,10 @@ Syntax *hex* value = none omit the coordinate correction to recover the HEX algorithm - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS # Lennard-Jones, from examples/in.ehex.lj @@ -78,13 +74,20 @@ additional thermostatting force to the equations of motion, such that the time evolution of coordinates and momenta of particle :math:`i` becomes :ref:`(Wirnsberger) ` -.. image:: Eqs/fix_ehex_eom.jpg - :align: center +.. math:: + + \dot{\mathbf r}_i &= \mathbf v_i, \\ + \dot{\mathbf v}_i &= \frac{\mathbf f_i}{m_i} + \frac{\mathbf g_i}{m_i}. The thermostatting force is given by -.. image:: Eqs/fix_ehex_f.jpg - :align: center +.. math:: + + \mathbf g_i = \begin{cases} + \frac{m_i}{2} \frac{ F_{\Gamma_{k(\mathbf r_i)}}}{ K_{\Gamma_{k(\mathbf r_i)}}} + \left(\mathbf v_i - \mathbf v_{\Gamma_{k(\mathbf r_i)}} \right) & \mbox{$k(\mathbf r_i)> 0$ (inside a reservoir),} \\ + 0 & \mbox{otherwise, } + \end{cases} where :math:`m_i` is the mass and :math:`k(\mathbf r_i)` maps the particle position to the respective reservoir. The quantity @@ -96,7 +99,7 @@ velocity of that reservoir. The thermostatting force does not affect the center of mass velocities of the individual reservoirs and the entire simulation box. A derivation of the equations and details on the numerical implementation with velocity Verlet in LAMMPS can be -found in reference "(Wirnsberger)"#\_Wirnsberger. +found in reference "(Wirnsberger)"#_Wirnsberger. .. note:: @@ -106,7 +109,7 @@ found in reference "(Wirnsberger)"#\_Wirnsberger. This fix is different from a thermostat such as :doc:`fix nvt ` or :doc:`fix temp/rescale ` in that energy is -added/subtracted continually. Thus if there isn't another mechanism +added/subtracted continually. Thus if there is not another mechanism in place to counterbalance this effect, the entire system will heat or cool continuously. @@ -118,13 +121,11 @@ cool continuously. heat is added/subtracted less frequently but in larger portions. The resulting temperature profile will therefore be the same. -This fix will default to :doc:`fix\_heat ` (HEX algorithm) if +This fix will default to :doc:`fix_heat ` (HEX algorithm) if the keyword *hex* is specified. - ---------- - **Compatibility with SHAKE and RATTLE (rigid molecules)**\ : This fix is compatible with :doc:`fix shake ` and :doc:`fix rattle `. If either of these constraining algorithms is @@ -160,13 +161,11 @@ constraints will be satisfied. temperature gradients. A higher precision can be achieved by decreasing the timestep. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No parameter of this fix can be used with the *start/stop* keywords of @@ -175,7 +174,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -186,24 +184,13 @@ Related commands **Default:** none - ---------- - .. _Ikeshoji: - - **(Ikeshoji)** Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 (1994). .. _Wirnsberger: - - **(Wirnsberger)** Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 (2015). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_electron_stopping.rst b/doc/src/fix_electron_stopping.rst index 332968133379fa2576efd1caf7359d9fc80de625..cead9f7a12129bc0538df3387823b148b7691a42 100644 --- a/doc/src/fix_electron_stopping.rst +++ b/doc/src/fix_electron_stopping.rst @@ -6,7 +6,6 @@ fix electron/stopping command Syntax """""" - .. parsed-literal:: fix ID group-ID electron/stopping Ecut file keyword value ... @@ -17,21 +16,18 @@ Syntax * file = name of the file containing the electronic stopping power table * zero or more keyword/value pairs may be appended to args * keyword = *region* or *minneigh* - + .. parsed-literal:: - + *region* value = region-ID region-ID = region, whose atoms will be affected by this fix *minneigh* value = minneigh minneigh = minimum number of neighbors an atom to have stopping applied - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix el all electron/stopping 10.0 elstop-table.txt fix el all electron/stopping 10.0 elstop-table.txt minneigh 3 @@ -52,10 +48,9 @@ considered, the simulated range of the ions can be severely overestimated The electronic stopping is implemented by applying a friction force to each atom as: - .. math:: - \begin{equation}\vec{F}_i = \vec{F}^0_i - \frac{\vec{v}_i}{\|\vec{v}_i\|} \cdot S_e\end{equation} + \vec{F}_i = \vec{F}^0_i - \frac{\vec{v}_i}{\|\vec{v}_i\|} \cdot S_e where :math:`\vec{F}_i` is the resulting total force on the atom. :math:`\vec{F}^0_i` is the original force applied to the atom, :math:`\vec{v}_i` is @@ -68,7 +63,7 @@ its velocity and :math:`S_e` is the stopping power of the ion. :doc:`fix dt/reset `) and the repulsive ZBL potential (see :doc:`ZBL ` potential) or similar. Without these settings the interaction between the ion and the target atoms will be faulty. It is also - common to use in such simulations a thermostat (:doc:`fix\_nvt `) in + common to use in such simulations a thermostat (:doc:`fix_nvt `) in the borders of the simulation cell. .. note:: @@ -79,7 +74,7 @@ its velocity and :math:`S_e` is the stopping power of the ion. e.g. simulations of Swift Heavy Ions (energy per nucleon of 100 keV/amu or higher) or multiple projectiles. You could compensate energy loss by coupling bulk atoms with some thermostat or control heat transfer between electronic and - atomic subsystems with the two-temperature model (:doc:`fix\_ttm `). + atomic subsystems with the two-temperature model (:doc:`fix_ttm `). At low velocities the electronic stopping is negligible. The electronic friction is not applied to atoms whose kinetic energy is smaller than *Ecut*\ , @@ -97,10 +92,8 @@ geometric :doc:`region ` in order to have electronic stopping applied to it. This is useful if the position of the bulk material is fixed. By default the electronic stopping is applied everywhere in the simulation cell. - ---------- - The energy ranges and stopping powers are read from the file *file*\ . Lines starting with *#* and empty lines are ignored. Otherwise each line must contain exactly **N+1** numbers, where **N** is the number of atom @@ -115,7 +108,6 @@ intermediate energy values are calculated with linear interpolation between For example: - .. parsed-literal:: # This is a comment @@ -137,11 +129,11 @@ scientific publications, experimental databases or by using of the impact parameter of the ion; these results can be used to derive the stopping power. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` options are not supported. +The :doc:`fix_modify ` options are not supported. This fix computes a global scalar, which can be accessed by various :doc:`output commands `. The scalar is the total energy @@ -154,7 +146,6 @@ on this fix. Restrictions """""""""""" - This pair style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -164,47 +155,28 @@ Default The default is no limitation by region, and minneigh = 1. - ---------- - .. _elstopping: - - -**(electronic stopping)** Wikipedia - Electronic Stopping Power: https://en.wikipedia.org/wiki/Stopping\_power\_%28particle\_radiation%29 +**(electronic stopping)** Wikipedia - Electronic Stopping Power: https://en.wikipedia.org/wiki/Stopping_power_%28particle_radiation%29 .. _Nordlund98: - - **(Nordlund98)** Nordlund, Kai, et al. Physical Review B 57.13 (1998): 7556. .. _Nordlund95: - - **(Nordlund95)** Nordlund, Kai. Computational materials science 3.4 (1995): 448-456. .. _SRIM: - - **(SRIM)** SRIM webpage: http://www.srim.org/ .. _CasP: - - -**(CasP)** CasP webpage: https://www.helmholtz-berlin.de/people/gregor-schiwietz/casp\_en.html +**(CasP)** CasP webpage: https://www.helmholtz-berlin.de/people/gregor-schiwietz/casp_en.html .. _PASS: - - **(PASS)** PASS webpage: https://www.sdu.dk/en/DPASS - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_enforce2d.rst b/doc/src/fix_enforce2d.rst index bef732a82d0c4617f170bc57235aa257ef006afe..d33dd25a61b60768aea6ca041adf05b6550c2d80 100644 --- a/doc/src/fix_enforce2d.rst +++ b/doc/src/fix_enforce2d.rst @@ -9,7 +9,6 @@ fix enforce2d/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID enforce2d @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 5 all enforce2d @@ -32,10 +30,8 @@ Zero out the z-dimension velocity and force on each atom in the group. This is useful when running a 2d simulation to insure that atoms do not move from their initial z coordinate. - ---------- - 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 @@ -54,13 +50,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -76,8 +70,3 @@ Restrictions **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_eos_cv.rst b/doc/src/fix_eos_cv.rst index 850d0ecde3ddf27d708234293474a278bbe07502..50281b6e71e8a9ce975c1ffe86a7f9246f371dfc 100644 --- a/doc/src/fix_eos_cv.rst +++ b/doc/src/fix_eos_cv.rst @@ -6,7 +6,6 @@ fix eos/cv command Syntax """""" - .. parsed-literal:: fix ID group-ID eos/cv cv @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all eos/cv 0.01 @@ -27,30 +25,28 @@ Description """"""""""" Fix *eos/cv* applies a mesoparticle equation of state to relate the -particle internal energy (u\_i) to the particle internal temperature -(dpdTheta\_i). The *eos/cv* mesoparticle equation of state requires +particle internal energy (:math:`u_i`) to the particle internal temperature +(:math:`\theta_i`). The *eos/cv* mesoparticle equation of state requires the constant-volume heat capacity, and is defined as follows: -.. image:: Eqs/fix_eos-cv.jpg - :align: center +.. math:: -where Cv is the constant-volume heat capacity, u\_cond is the internal -conductive energy, and u\_mech is the internal mechanical energy. Note -that alternative definitions of the mesoparticle equation of state are -possible. + u_{i} = u^{mech}_{i} + u^{cond}_{i} = C_{V} \theta_{i} +where :math:`C_V` is the constant-volume heat capacity, :math:`u^{cond}` +is the internal conductive energy, and :math:`u^{mech}` is the internal +mechanical energy. Note that alternative definitions of the mesoparticle +equation of state are possible. ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -This command also requires use of the :doc:`atom\_style dpd ` +This command also requires use of the :doc:`atom_style dpd ` command. Related commands @@ -60,20 +56,11 @@ Related commands **Default:** none - ---------- - .. _Larentzos4: - - **(Larentzos)** J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research Laboratory, Aberdeen Proving Ground, MD (2014). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_eos_table.rst b/doc/src/fix_eos_table.rst index 3953d31f2d80f5b4536bb9ad8fe84ddc0918aa3f..3800aa0c531a883c4a649d51b24ea1bc29768dab 100644 --- a/doc/src/fix_eos_table.rst +++ b/doc/src/fix_eos_table.rst @@ -6,7 +6,6 @@ fix eos/table command Syntax """""" - .. parsed-literal:: fix ID group-ID eos/table style file N keyword @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all eos/table linear eos.table 100000 KEYWORD @@ -30,8 +28,8 @@ Description """"""""""" Fix *eos/table* applies a tabulated mesoparticle equation of state to -relate the particle internal energy (u\_i) to the particle internal -temperature (dpdTheta\_i). +relate the particle internal energy (u_i) to the particle internal +temperature (dpdTheta_i). Fix *eos/table* creates interpolation tables of length *N* from internal energy values listed in a file as a function of internal @@ -51,14 +49,11 @@ The filename specifies a file containing tabulated internal temperature and internal energy values. The keyword specifies a section of the file. The format of this file is described below. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # EOS TABLE (one or more comment or blank lines) @@ -102,18 +97,15 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -This command also requires use of the :doc:`atom\_style dpd ` +This command also requires use of the :doc:`atom_style dpd ` command. The equation of state must be a monotonically increasing function. @@ -127,8 +119,3 @@ Related commands :doc:`fix shardlow `, :doc:`pair dpd/fdt ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_eos_table_rx.rst b/doc/src/fix_eos_table_rx.rst index 622e24dd7916d4ac78c7dd566a4f9bd26c4fa3b8..e3cd4e8ce841f2dd3b75a8b51bedbb258e574e1c 100644 --- a/doc/src/fix_eos_table_rx.rst +++ b/doc/src/fix_eos_table_rx.rst @@ -9,7 +9,6 @@ fix eos/table/rx/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID eos/table/rx style file1 N keyword ... @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all eos/table/rx linear eos.table 10000 KEYWORD thermo.table fix 1 all eos/table/rx linear eos.table 10000 KEYWORD 1.5 @@ -40,30 +38,33 @@ Description Fix *eos/table/rx* applies a tabulated mesoparticle equation of state to relate the concentration-dependent particle internal -energy (u\_i) to the particle internal temperature (dpdTheta\_i). +energy (:math:`u_i`) to the particle internal temperature (:math:`\theta_i`). -The concentration-dependent particle internal energy (u\_i) is +The concentration-dependent particle internal energy (:math:`u_i`) is computed according to the following relation: -.. image:: Eqs/fix_eos_table_rx.jpg - :align: center +.. math:: -where *m* is the number of species, *c\_i,j* is the concentration of -species *j* in particle *i*\ , *u\_j* is the internal energy of species j, -*DeltaH\_f,j* is the heat of formation of species *j*\ , N is the number of -molecules represented by the coarse-grained particle, kb is the -Boltzmann constant, and T is the temperature of the system. Additionally, -it is possible to modify the concentration-dependent particle internal + U_{i} = \displaystyle\sum_{j=1}^{m} c_{i,j}(u_{j} + \Delta H_{f,j}) + \frac{3k_{b}T}{2} + Nk_{b}T \\ + +where *m* is the number of species, :math:`c_{i,j}` is the +concentration of species *j* in particle *i*\ , :math:`u_j` is the +internal energy of species j, :math:`\Delta H_{f,j} is the heat of +formation of species *j*\ , N is the number of molecules represented +by the coarse-grained particle, :math:`k_b` is the Boltzmann constant, +and *T* is the temperature of the system. Additionally, it is +possible to modify the concentration-dependent particle internal energy relation by adding an energy correction, temperature-dependent -correction, and/or a molecule-dependent correction. An energy correction can -be specified as a constant (in energy units). A temperature correction can be -specified by multiplying a temperature correction coefficient by the -internal temperature. A molecular correction can be specified by -by multiplying a molecule correction coefficient by the average number of -product gas particles in the coarse-grain particle. +correction, and/or a molecule-dependent correction. An energy +correction can be specified as a constant (in energy units). A +temperature correction can be specified by multiplying a temperature +correction coefficient by the internal temperature. A molecular +correction can be specified by by multiplying a molecule correction +coefficient by the average number of product gas particles in the +coarse-grain particle. Fix *eos/table/rx* creates interpolation tables of length *N* from *m* -internal energy values of each species *u\_j* listed in a file as a +internal energy values of each species :math:`u_j` listed in a file as a function of internal temperature. During a simulation, these tables are used to interpolate internal energy or temperature values as needed. The interpolation is done with the *linear* style. For the *linear* style, @@ -72,29 +73,27 @@ which an internal energy is computed by linear interpolation. A secant solver is used to determine the internal temperature from the internal energy. The first filename specifies a file containing tabulated internal -temperature and *m* internal energy values for each species *u\_j*. +temperature and *m* internal energy values for each species :math:`u_j`. The keyword specifies a section of the file. The format of this file is described below. The second filename specifies a file containing heat of formation -*DeltaH\_f,j* for each species. +:math:`\Delta H_{f,j}` for each species. In cases where the coarse-grain particle represents a single molecular -species (i.e., no reactions occur and fix *rx* is not present in the input file), -fix *eos/table/rx* can be applied in a similar manner to fix *eos/table* -within a non-reactive DPD simulation. In this case, the heat of formation -filename is replaced with the heat of formation value for the single species. -Additionally, the energy correction and temperature correction coefficients may -also be specified as fix arguments. - +species (i.e., no reactions occur and fix *rx* is not present in the +input file), fix *eos/table/rx* can be applied in a similar manner to +fix *eos/table* within a non-reactive DPD simulation. In this case, +the heat of formation filename is replaced with the heat of formation +value for the single species. Additionally, the energy correction and +temperature correction coefficients may also be specified as fix +arguments. ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # EOS TABLE (one or more comment or blank lines) @@ -133,14 +132,11 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - The format of a heat of formation file is as follows (without the parenthesized comments): - .. parsed-literal:: # HEAT OF FORMATION TABLE (one or more comment or blank lines) @@ -161,7 +157,6 @@ three additional columns that correspond to the energy correction, the temperature correction coefficient and molecule correction coefficient. In this case, the format of the file is as follows: - .. parsed-literal:: # HEAT OF FORMATION TABLE (one or more comment or blank lines) @@ -173,10 +168,8 @@ coefficient. In this case, the format of the file is as follows: ... no 0.93 0.00 0.000 -1.76 - ---------- - 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 @@ -195,18 +188,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -This command also requires use of the :doc:`atom\_style dpd ` +This command also requires use of the :doc:`atom_style dpd ` command. The equation of state must be a monotonically increasing function. @@ -221,12 +211,3 @@ Related commands :doc:`pair dpd/fdt ` **Default:** none - - ----------- - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_evaporate.rst b/doc/src/fix_evaporate.rst index 24954ec3da443120838e779d5232ff40e573ad40..d6b9c6ae34906b422907a3ef0e3eaf7e2e67caee 100644 --- a/doc/src/fix_evaporate.rst +++ b/doc/src/fix_evaporate.rst @@ -6,7 +6,6 @@ fix evaporate command Syntax """""" - .. parsed-literal:: fix ID group-ID evaporate N M region-ID seed @@ -18,19 +17,16 @@ Syntax * region-ID = ID of region within which to perform deletions * seed = random number seed to use for choosing atoms to delete * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *molecule* *molecule* value = *no* or *yes* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 solvent evaporate 1000 10 surface 49892 fix 1 solvent evaporate 1000 10 surface 38277 molecule yes @@ -73,12 +69,12 @@ incur overhead due to the cost of building neighbor lists. If you are monitoring the temperature of a system where the atom count is changing due to evaporation, you typically should use the - :doc:`compute\_modify dynamic yes ` command for the + :doc:`compute_modify dynamic yes ` command for the temperature compute you are using. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global scalar, which can be accessed by various @@ -92,7 +88,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -105,8 +100,3 @@ Default """"""" The option defaults are molecule = no. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_external.rst b/doc/src/fix_external.rst index fcd283ccc2da2386259c5bf0eb49b438c6fc4b36..a77545d29485c4de37d98bf8dc29ce8d032024d3 100644 --- a/doc/src/fix_external.rst +++ b/doc/src/fix_external.rst @@ -6,7 +6,6 @@ fix external command Syntax """""" - .. parsed-literal:: fix ID group-ID external mode args @@ -14,22 +13,19 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * external = style name of this fix command * mode = *pf/callback* or *pf/array* - + .. parsed-literal:: - + *pf/callback* args = Ncall Napply Ncall = make callback every Ncall steps Napply = apply callback forces every Napply steps *pf/array* args = Napply Napply = apply array forces every Napply steps - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all external pf/callback 1 1 fix 1 all external pf/callback 100 1 @@ -43,10 +39,8 @@ This fix allows external programs that are running LAMMPS through its properties on specific timesteps, similar to the way other fixes do. The external driver can be a :doc:`C/C++ or Fortran program ` or a :doc:`Python script `. - ---------- - If mode is *pf/callback* then the fix will make a callback every *Ncall* timesteps or minimization iterations to the external program. The external program computes forces on atoms by setting values in an @@ -57,40 +51,37 @@ be used multiple times to update atom forces. The callback function "foo" is invoked by the fix as: +.. code-block:: c++ -.. parsed-literal:: - - foo(void \*ptr, bigint timestep, int nlocal, int \*ids, double \*\*x, double \*\*fexternal); + foo(void *ptr, bigint timestep, int nlocal, tagint *ids, double **x, double **fexternal); The arguments are as follows: -* ptr = pointer provided by and simply passed back to external driver -* timestep = current LAMMPS timestep -* nlocal = # of atoms on this processor -* ids = list of atom IDs on this processor -* x = coordinates of atoms on this processor -* fexternal = forces to add to atoms on this processor - -Note that timestep is a "bigint" which is defined in src/lmptype.h, -typically as a 64-bit integer. - -Fexternal are the forces returned by the driver program. - -The fix has a set\_callback() method which the external driver can call +* *ptr* = pointer provided by and simply passed back to external driver +* *timestep* = current LAMMPS timestep +* *nlocal* = # of atoms on this processor +* *ids* = list of atom IDs on this processor +* *x* = coordinates of atoms on this processor +* *fexternal* = forces to add to atoms on this processor + +Note that *timestep* is a "bigint" which is defined in src/lmptype.h, +typically as a 64-bit integer. And *ids* is a pointer to type "tagint" +which is typically a 32-bit integer unless LAMMPS is compiled with +-DLAMMPS_BIGBIG. For more info please see the :ref:`build settings +` section of the manual. Finally, *fexternal* are the forces +returned by the driver program. + +The fix has a set_callback() method which the external driver can call to pass a pointer to its foo() function. See the -couple/lammps\_quest/lmpqst.cpp file in the LAMMPS distribution for an +couple/lammps_quest/lmpqst.cpp file in the LAMMPS distribution for an example of how this is done. This sample application performs classical MD using quantum forces computed by a density functional code `Quest `_. .. _quest: http://dft.sandia.gov/Quest - - - ---------- - If mode is *pf/array* then the fix simply stores force values in an array. The fix adds these forces to each atom in the group, once every *Napply* steps, similar to the way the :doc:`fix addforce ` command works. @@ -98,10 +89,9 @@ every *Napply* steps, similar to the way the :doc:`fix addforce ` The name of the public force array provided by the FixExternal class is +.. code-block:: c++ -.. parsed-literal:: - - double \*\*fexternal; + double **fexternal; It is allocated by the FixExternal class as an (N,3) array where N is the number of atoms owned by a processor. The 3 corresponds to the @@ -114,10 +104,8 @@ between calls to the LAMMPS :doc:`run ` command, it could retrieve atom coordinates from LAMMPS, compute forces, set values in fexternal, etc. - ---------- - To use this fix during energy minimization, the energy corresponding to the added forces must also be set so as to be consistent with the added forces. Otherwise the minimization will not converge correctly. @@ -125,8 +113,7 @@ added forces. Otherwise the minimization will not converge correctly. This can be done from the external driver by calling this public method of the FixExternal class: - -.. parsed-literal:: +.. code-block:: c++ void set_energy(double eng); @@ -136,15 +123,13 @@ atoms. It should also be provided in :doc:`energy units ` consistent with the simulation. See the details below for how to insure this energy setting is used appropriately in a minimization. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential "energy" set by the external driver to the system's potential energy as part of :doc:`thermodynamic output `. This is a fictitious quantity but is needed so that the :doc:`minimize ` command can include the @@ -152,7 +137,7 @@ forces added by this fix in a consistent manner. I.e. there is a decrease in potential energy when atoms move in the direction of the added force. -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the interactions computed by the external program to the system's virial as part of :doc:`thermodynamic output `. The default is *virial yes* @@ -171,7 +156,7 @@ invoked by the :doc:`minimize ` command. If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the - :doc:`fix\_modify ` *energy* option for this fix. + :doc:`fix_modify ` *energy* option for this fix. Restrictions """""""""""" @@ -180,8 +165,3 @@ Restrictions **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ffl.rst b/doc/src/fix_ffl.rst index b914c239400a53acd73553c3b85223159b7d7cd9..ac23175875845af69bcd3e3bb94e087d1b20dca8 100644 --- a/doc/src/fix_ffl.rst +++ b/doc/src/fix_ffl.rst @@ -6,7 +6,6 @@ fix ffl command Syntax """""" - .. parsed-literal:: fix ID id-group ffl tau Tstart Tstop seed [flip-type] @@ -17,18 +16,15 @@ Syntax * Tstart, Tstop = temperature ramp during the run * seed = random number seed to use for generating noise (positive integer) * one more value may be appended - - .. parsed-literal:: - - flip-type = determines the flipping type, can be chosen between rescale - no_flip - hard - soft, if no flip type is given, rescale will be chosen by default + .. parsed-literal:: + flip-type = determines the flipping type, can be chosen between rescale - no_flip - hard - soft, if no flip type is given, rescale will be chosen by default Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 boundary ffl 10 300 300 31415 fix 1 all ffl 100 500 500 9265 soft @@ -46,15 +42,13 @@ on the same atom groups. The time-evolution of a single particle undergoing Langevin dynamics is described by the equations - .. math:: - \begin{equation} \frac {dq}{dt} = \frac{p}{m}, \end{equation} - + \frac {dq}{dt} = \frac{p}{m}, .. math:: - \begin{equation} \frac {dp}{dt} = -\gamma p + W + F, \end{equation} + \frac {dp}{dt} = -\gamma p + W + F, where :math:`F` is the physical force, :math:`\gamma` is the friction coefficient, and :math:`W` is a Gaussian random force. @@ -74,11 +68,11 @@ different numbers of processors. The flipping type *flip-type* can be chosen between 4 types described in :ref:`(Hijazi) `. The flipping operation occurs during the thermostatting -step and it flips the momenta of the atoms. If no\_flip is chosen, no flip +step and it flips the momenta of the atoms. If no_flip is chosen, no flip will be executed and the integration will be the same as a standard Langevin thermostat :ref:`(Bussi) `. The other flipping types are : rescale - hard - soft. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** The instantaneous values of the extended variables are written to :doc:`binary restart files `. Because the state of the random @@ -95,7 +89,7 @@ This fix can ramp its target temperature over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Langevin thermostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -107,7 +101,6 @@ fix is "extensive". Restrictions """""""""""" - In order to perform constant-pressure simulations please use :doc:`fix press/berendsen `, rather than :doc:`fix npt `, to avoid duplicate integration of the @@ -119,24 +112,14 @@ LAMMPS was built with that package. See the :doc:`Build package Related commands """""""""""""""" -:doc:`fix nvt `, :doc:`fix temp/rescale `, :doc:`fix viscous `, :doc:`fix nvt `, :doc:`pair\_style dpd/tstat `, :doc:`fix gld `, :doc:`fix gle ` - +:doc:`fix nvt `, :doc:`fix temp/rescale `, :doc:`fix viscous `, :doc:`fix nvt `, :doc:`pair_style dpd/tstat `, :doc:`fix gld `, :doc:`fix gle ` ---------- - .. _Hijazi: - - .. _Bussi3: **(Hijazi)** M. Hijazi, D. M. Wilkins, M. Ceriotti, J. Chem. Phys. 148, 184109 (2018) - **(Bussi)** G. Bussi, M. Parrinello, Phs. Rev. E 75, 056707 (2007) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_filter_corotate.rst b/doc/src/fix_filter_corotate.rst index 50db945a37bf69b71939a0814d3feac28c3f9748..1731ef94a281ca1baf75449713213067d969a502 100644 --- a/doc/src/fix_filter_corotate.rst +++ b/doc/src/fix_filter_corotate.rst @@ -6,7 +6,6 @@ fix filter/corotate command Syntax """""" - .. parsed-literal:: fix ID group-ID filter/corotate keyword value ... @@ -14,21 +13,18 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * one or more constraint/value pairs are appended * constraint = *b* or *a* or *t* or *m* - + .. parsed-literal:: - + *b* values = one or more bond types *a* values = one or more angle types *t* values = one or more atom types *m* value = one or more mass values - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS timestep 8 run_style respa 3 2 8 bond 1 pair 2 kspace 3 @@ -44,7 +40,7 @@ method. In biomolecular simulations, it allows the usage of larger timesteps for long-range electrostatic interactions. For details, see :ref:`(Fath) `. -When using :doc:`run\_style respa ` for a biomolecular +When using :doc:`run_style respa ` for a biomolecular simulation with high-frequency covalent bonds, the outer time-step is restricted to below ~ 4fs due to resonance problems. This fix filters the outer stage of the respa and thus a larger (outer) time-step can @@ -60,15 +56,13 @@ is slightly modified only for the computation of long-range forces. A good cluster decomposition constitutes in building clusters which contain the fastest covalent bonds inside clusters. -If the clusters are chosen suitably, the :doc:`run\_style respa ` is stable for outer time-steps of at least 8fs. - +If the clusters are chosen suitably, the :doc:`run_style respa ` is stable for outer time-steps of at least 8fs. ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about these fixes is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about these fixes is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to these fixes. No global or per-atom quantities are stored by these fixes for access by various :doc:`output commands `. No parameter of these fixes can be used with the *start/stop* keywords of the :doc:`run ` command. These @@ -77,7 +71,6 @@ fixes are not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -88,17 +81,8 @@ Related commands **Default:** none - ---------- - .. _Fath2017: - - **(Fath)** Fath, Hochbruck, Singh, J Comp Phys, 333, 180-198 (2017). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_flow_gauss.rst b/doc/src/fix_flow_gauss.rst index fa1d65c999382b49a675c702bc8b424136ad6b43..7b9e001bd31a087b9ebeec6519553069f7a04c93 100644 --- a/doc/src/fix_flow_gauss.rst +++ b/doc/src/fix_flow_gauss.rst @@ -6,7 +6,6 @@ fix flow/gauss command Syntax """""" - .. parsed-literal:: fix ID group-ID flow/gauss xflag yflag zflag keyword @@ -14,28 +13,25 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * flow/gauss = style name of this fix command * xflag,yflag,zflag = 0 or 1 - + .. parsed-literal:: - + 0 = do not conserve current in this dimension 1 = conserve current in this dimension * zero or more keyword/value pairs may be appended * keyword = *energy* - + .. parsed-literal:: - + *energy* value = no or yes no = do not compute work done by this fix yes = compute work done by this fix - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix GD fluid flow/gauss 1 0 0 fix GD fluid flow/gauss 1 1 1 energy yes @@ -72,7 +68,7 @@ other methods, such as the pump method :ref:`(Zhu) `. The pressure correction is discussed and described in :ref:`(Strong) `. For a complete example including the considerations discussed -above, see the examples/USER/flow\_gauss directory. +above, see the examples/USER/flow_gauss directory. .. note:: @@ -93,15 +89,15 @@ fluctuating in time, the work cannot be computed from a potential. As a result, computing the work is slightly more computationally expensive than usual, so it is not performed by default. To invoke the work calculation, use the *energy* keyword. The -:doc:`fix\_modify ` *energy* option also invokes the work +:doc:`fix_modify ` *energy* option also invokes the work calculation, and overrides an *energy no* setting here. If neither -*energy yes* or *fix\_modify energy yes* are set, the global scalar +*energy yes* or *fix_modify energy yes* are set, the global scalar computed by the fix will return zero. .. note:: In order to check energy conservation, any other fixes that do - work on the system must have *fix\_modify energy yes* set as well. This + work on the system must have *fix_modify energy yes* set as well. This includes thermostat fixes and any constraints that hold the positions of wall atoms fixed, such as :doc:`fix spring/self `. @@ -109,31 +105,29 @@ If this fix is used in a simulation with the :doc:`rRESPA ` integrator, the applied acceleration must be computed and applied at the same rRESPA level as the interactions between the flowing fluid and the obstacle. The rRESPA level at which the acceleration is applied can be changed using -the :doc:`fix\_modify ` *respa* option discussed below. If the +the :doc:`fix_modify ` *respa* option discussed below. If the flowing fluid and the obstacle interact through multiple interactions that are computed at different rRESPA levels, then there must be a separate flow/gauss fix for each level. For example, if the flowing fluid and obstacle interact through pairwise and long-range Coulomb interactions, which are computed at rRESPA levels 3 and 4, respectively, then there must be two separate -flow/gauss fixes, one that specifies *fix\_modify respa 3* and one with -*fix\_modify respa 4*. - +flow/gauss fixes, one that specifies *fix_modify respa 3* and one with +*fix_modify respa 4*. ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to subtract the work done from the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows the user to set at which level of the :doc:`rRESPA ` integrator the fix computes and adds the external acceleration. Default is the outermost level. @@ -162,29 +156,16 @@ Default The option default for the *energy* keyword is energy = no. - ---------- - .. _Strong: - - **(Strong)** Strong and Eaves, J. Phys. Chem. B 121, 189 (2017). .. _Evans2: - - **(Evans)** Evans and Morriss, Phys. Rev. Lett. 56, 2172 (1986). .. _Zhu: - - **(Zhu)** Zhu, Tajkhorshid, and Schulten, Biophys. J. 83, 154 (2002). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_freeze.rst b/doc/src/fix_freeze.rst index 773eacf509c476e58b5d67c4c2a19c2b2550caef..d6659dc8f875947679a95f22d92d4b77edc01bb4 100644 --- a/doc/src/fix_freeze.rst +++ b/doc/src/fix_freeze.rst @@ -9,7 +9,6 @@ fix freeze/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID freeze @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 bottom freeze @@ -36,10 +34,8 @@ particles appropriately, as if the frozen particle has infinite mass. A similar functionality for normal (point) particles can be obtained using :doc:`fix setforce `. - ---------- - 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 @@ -58,13 +54,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global 3-vector of forces, which can be accessed @@ -79,7 +73,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -91,11 +84,6 @@ this fix is applied. Related commands """""""""""""""" -:doc:`atom\_style sphere `, :doc:`fix setforce ` +:doc:`atom_style sphere `, :doc:`fix setforce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index 9f64be869967e0002b660fac350903545530c197..77a0323000e1afa7e3140b139576f10d63cf4162 100644 --- a/doc/src/fix_gcmc.rst +++ b/doc/src/fix_gcmc.rst @@ -6,7 +6,6 @@ fix gcmc command Syntax """""" - .. parsed-literal:: fix ID group-ID gcmc N X M type seed T mu displace keyword values ... @@ -22,9 +21,9 @@ Syntax * mu = chemical potential of the ideal gas reservoir (energy units) * displace = maximum Monte Carlo translation distance (length units) * zero or more keyword/value pairs may be appended to args - + .. parsed-literal:: - + keyword = *mol*\ , *region*\ , *maxangle*\ , *pressure*\ , *fugacity_coeff*, *full_energy*, *charge*\ , *group*\ , *grouptype*\ , *intra_energy*, *tfac_insert*, or *overlap_cutoff* *mol* value = template-ID template-ID = ID of molecule template specified in a separate :doc:`molecule ` command @@ -54,13 +53,10 @@ Syntax *max* value = Maximum number of molecules allowed in the system *min* value = Minimum number of molecules allowed in the system - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 gas gcmc 10 1000 1000 2 29494 298.0 -0.5 0.01 fix 3 water gcmc 10 100 100 0 3456543 3.0 -2.5 0.1 mol my_one_water maxangle 180 full_energy @@ -154,8 +150,7 @@ thermal equilibrium with the simulation cell. Also, it is important that the temperature used by fix nvt be dynamic/dof, which can be achieved as follows: - -.. parsed-literal:: +.. code-block:: LAMMPS compute mdtemp mdatoms temp compute_modify mdtemp dynamic/dof yes @@ -174,7 +169,7 @@ at a random position within the current simulation cell or region, and new atom velocities are randomly chosen from the specified temperature distribution given by T. The effective temperature for new atom velocities can be increased or decreased using the optional keyword -*tfac\_insert* (see below). Relative coordinates for atoms in a +*tfac_insert* (see below). Relative coordinates for atoms in a molecule are taken from the template molecule provided by the user. The center of mass of the molecule is placed at the insertion point. The orientation of the molecule is chosen at random by rotating @@ -205,7 +200,7 @@ which also appears in your input script. If you wish the new rigid molecules (and other rigid molecules) to be thermostatted correctly via :doc:`fix rigid/small/nvt ` or :doc:`fix rigid/small/npt `, then you need to use the - "fix\_modify dynamic/dof yes" command for the rigid fix. This is to + "fix_modify dynamic/dof yes" command for the rigid fix. This is to inform that fix that the molecule count will vary dynamically. If you wish to insert molecules via the *mol* keyword, that will have @@ -248,46 +243,49 @@ two groups: the default group "all" and the fix group The chemical potential is a user-specified input parameter defined as: -.. image:: Eqs/fix_gcmc1.jpg - :align: center +.. math:: -The second term mu\_ex is the excess chemical potential due to + \mu = \mu^{id} + \mu^{ex} + +The second term mu_ex is the excess chemical potential due to energetic interactions and is formally zero for the fictitious gas reservoir but is non-zero for interacting systems. So, while the chemical potential of the reservoir and the simulation cell are equal, -mu\_ex is not, and as a result, the densities of the two are generally -quite different. The first term mu\_id is the ideal gas contribution -to the chemical potential. mu\_id can be related to the density or +mu_ex is not, and as a result, the densities of the two are generally +quite different. The first term mu_id is the ideal gas contribution +to the chemical potential. mu_id can be related to the density or pressure of the fictitious gas reservoir by: -.. image:: Eqs/fix_gcmc2.jpg - :align: center +.. math:: + + \mu^{id} = & k T \ln{\rho \Lambda^3} \\ + = & k T \ln{\frac{\phi P \Lambda^3}{k T}} -where k is Boltzman's constant, -T is the user-specified temperature, rho is the number density, -P is the pressure, and phi is the fugacity coefficient. -The constant Lambda is required for dimensional consistency. -For all unit styles except *lj* it is defined as the thermal -de Broglie wavelength +where *k* is Boltzman's constant, *T* is the user-specified +temperature, :math:`\rho` is the number density, *P* is the pressure, +and :math:`\phi` is the fugacity coefficient. The constant +:math:`\Lambda` is required for dimensional consistency. For all unit +styles except *lj* it is defined as the thermal de Broglie wavelength -.. image:: Eqs/fix_gcmc3.jpg - :align: center +.. math:: -where h is Planck's constant, and m is the mass of the exchanged atom -or molecule. For unit style *lj*\ , Lambda is simply set to the -unity. Note that prior to March 2017, lambda for unit style *lj* was -calculated using the above formula with h set to the rather specific + \Lambda = \sqrt{ \frac{h^2}{2 \pi m k T}} + +where *h* is Planck's constant, and *m* is the mass of the exchanged atom +or molecule. For unit style *lj*\ , :math:`\Lambda` is simply set to +unity. Note that prior to March 2017, :math:`\Lambda` for unit style *lj* +was calculated using the above formula with *h* set to the rather specific value of 0.18292026. Chemical potential under the old definition can be converted to an equivalent value under the new definition by -subtracting 3kTln(Lambda\_old). +subtracting :math:`3 k T \ln(\Lambda_{old})`. As an alternative to specifying mu directly, the ideal gas reservoir -can be defined by its pressure P using the *pressure* keyword, in +can be defined by its pressure *P* using the *pressure* keyword, in which case the user-specified chemical potential is ignored. The user -may also specify the fugacity coefficient phi using the -*fugacity\_coeff* keyword, which defaults to unity. +may also specify the fugacity coefficient :math:`\phi` using the +*fugacity_coeff* keyword, which defaults to unity. -The *full\_energy* option means that the fix calculates the total +The *full_energy* option means that the fix calculates the total potential energy of the entire simulated system, instead of just the energy of the part that is changed. The total system energy before and after the proposed GCMC exchange or MC move @@ -298,7 +296,7 @@ in which case only partial energies are computed to determine the energy difference due to the proposed change. -The *full\_energy* option is needed for systems with complicated +The *full_energy* option is needed for systems with complicated potential energy calculations, including the following: * long-range electrostatics (kspace) @@ -308,29 +306,29 @@ potential energy calculations, including the following: * tail corrections * need to include potential energy contributions from other fixes -In these cases, LAMMPS will automatically apply the *full\_energy* +In these cases, LAMMPS will automatically apply the *full_energy* keyword and issue a warning message. -When the *mol* keyword is used, the *full\_energy* option also includes +When the *mol* keyword is used, the *full_energy* option also includes the intramolecular energy of inserted and deleted molecules, whereas -this energy is not included when *full\_energy* is not used. If this -is not desired, the *intra\_energy* keyword can be used to define an +this energy is not included when *full_energy* is not used. If this +is not desired, the *intra_energy* keyword can be used to define an amount of energy that is subtracted from the final energy when a molecule is inserted, and subtracted from the initial energy when a molecule is deleted. For molecules that have a non-zero intramolecular energy, this will ensure roughly the same behavior whether or not the -*full\_energy* option is used. +*full_energy* option is used. Inserted atoms and molecules are assigned random velocities based on -the specified temperature T. Because the relative velocity of all +the specified temperature *T*. Because the relative velocity of all atoms in the molecule is zero, this may result in inserted molecules that are systematically too cold. In addition, the intramolecular potential energy of the inserted molecule may cause the kinetic energy of the molecule to quickly increase or decrease after insertion. The -*tfac\_insert* keyword allows the user to counteract these effects by +*tfac_insert* keyword allows the user to counteract these effects by changing the temperature used to assign velocities to inserted atoms and molecules by a constant factor. For a particular application, some -experimentation may be required to find a value of *tfac\_insert* that +experimentation may be required to find a value of *tfac_insert* that results in inserted molecules that equilibrate quickly to the correct temperature. @@ -343,7 +341,7 @@ include: :doc:`efield `, :doc:`gravity `, For that energy to be included in the total potential energy of the system (the quantity used when performing GCMC exchange and MC moves), you MUST enable -the :doc:`fix\_modify ` *energy* option for that fix. The +the :doc:`fix_modify ` *energy* option for that fix. The doc pages for individual :doc:`fix ` commands specify if this should be done. @@ -355,12 +353,11 @@ about simulating non-neutral systems with kspace on. Use of this fix typically will cause the number of atoms to fluctuate, therefore, you will want to use the -:doc:`compute\_modify dynamic/dof ` command to insure that the +:doc:`compute_modify dynamic/dof ` command to insure that the current number of atoms is used as a normalizing factor each time temperature is computed. A simple example of this is: - -.. parsed-literal:: +.. code-block:: LAMMPS compute_modify thermo_temp dynamic yes @@ -376,21 +373,21 @@ in the context of NVT dynamics. solution is to start a new simulation after the equilibrium density has been reached. -With some pair\_styles, such as :doc:`Buckingham `, +With some pair_styles, such as :doc:`Buckingham `, :doc:`Born-Mayer-Huggins ` and :doc:`ReaxFF `, two atoms placed close to each other may have an arbitrary large, negative potential energy due to the functional form of the potential. While these unphysical configurations are inaccessible to typical dynamical trajectories, they can be generated by Monte Carlo moves. The -*overlap\_cutoff* keyword suppresses these moves by effectively +*overlap_cutoff* keyword suppresses these moves by effectively assigning an infinite positive energy to all new configurations that place any pair of atoms closer than the specified overlap cutoff distance. The *max* and *min* keywords allow for the restriction of the number -of atoms in the simulation. They automatically reject all insertion +of atoms in the simulation. They automatically reject all insertion or deletion moves that would take the system beyond the set boundaries. -Should the system already be beyond the boundary, only moves that bring +Should the system already be beyond the boundary, only moves that bring the system closer to the bounds may be accepted. The *group* keyword adds all inserted atoms to the @@ -398,22 +395,22 @@ The *group* keyword adds all inserted atoms to the adds all inserted atoms of the specified type to the :doc:`group ` of the group-ID value. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the fix to :doc:`binary restart files `. This includes information about the random number generator seed, the next timestep for MC exchanges, the number of MC step attempts and successes etc. See -the :doc:`read\_restart ` command for info on how to +the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. .. note:: For this to work correctly, the timestep must **not** be changed - after reading the restart with :doc:`reset\_timestep `. + after reading the restart with :doc:`reset_timestep `. The fix will try to detect it and stop with an error. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global vector of length 8, which can be accessed @@ -437,12 +434,11 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -Do not set "neigh\_modify once yes" or else this fix will never be +Do not set "neigh_modify once yes" or else this fix will never be called. Reneighboring is required. Can be run in parallel, but aspects of the GCMC part will not scale @@ -471,30 +467,21 @@ Related commands :doc:`fix atom/swap `, :doc:`fix nvt `, :doc:`neighbor `, :doc:`fix deposit `, :doc:`fix evaporate `, -:doc:`delete\_atoms ` +:doc:`delete_atoms ` Default """"""" -The option defaults are mol = no, maxangle = 10, overlap\_cutoff = 0.0, -fugacity\_coeff = 1.0, intra\_energy = 0.0, tfac\_insert = 1.0. +The option defaults are mol = no, maxangle = 10, overlap_cutoff = 0.0, +fugacity_coeff = 1.0, intra_energy = 0.0, tfac_insert = 1.0. (Patomtrans, Pmoltrans, Pmolrotate) = (1, 0, 0) for mol = no and -(0, 1, 1) for mol = yes. full\_energy = no, -except for the situations where full\_energy is required, as +(0, 1, 1) for mol = yes. full_energy = no, +except for the situations where full_energy is required, as listed above. - ---------- - .. _Frenkel: - - **(Frenkel)** Frenkel and Smit, Understanding Molecular Simulation, Academic Press, London, 2002. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_gld.rst b/doc/src/fix_gld.rst index 03b5aa418b894948470da683aec01413b6950a5a..cb93804b1a4b85ab18d80782af442b2a92e4e4ff 100644 --- a/doc/src/fix_gld.rst +++ b/doc/src/fix_gld.rst @@ -6,7 +6,6 @@ fix gld command Syntax """""" - .. parsed-literal:: fix ID group-ID gld Tstart Tstop N_k seed series c_1 tau_1 ... c_N_k tau_N_k keyword values ... @@ -14,15 +13,15 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * gld = style name of this fix command * Tstart,Tstop = desired temperature at start/end of run (temperature units) -* N\_k = number of terms in the Prony series representation of the memory kernel +* N_k = number of terms in the Prony series representation of the memory kernel * seed = random number seed to use for white noise (positive integer) * series = *pprony* is presently the only available option -* c\_k = the weight of the kth term in the Prony series (mass per time units) -* tau\_k = the time constant of the kth term in the Prony series (time units) +* c_k = the weight of the kth term in the Prony series (mass per time units) +* tau_k = the time constant of the kth term in the Prony series (time units) * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *frozen* or *zero* *frozen* value = *no* or *yes* *no* = initialize extended variables using values drawn from equilibrium distribution at Tstart @@ -31,13 +30,10 @@ Syntax *no* = do not set total random force to zero *yes* = set total random force to zero - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all gld 1.0 1.0 2 82885 pprony 0.5 1.0 1.0 2.0 frozen yes zero yes fix 3 rouse gld 7.355 7.355 4 48823 pprony 107.1 0.02415 186.0 0.04294 428.6 0.09661 1714 0.38643 @@ -62,8 +58,11 @@ to be a Prony series. With this fix active, the force on the *j*\ th atom is given as -.. image:: Eqs/fix_gld1.jpg - :align: center +.. math:: + + {\bf F}_{j}(t) = & {\bf F}^C_j(t)-\int \limits_{0}^{t} \Gamma_j(t-s) {\bf v}_j(s)~\text{d}s + {\bf F}^R_j(t) \\ + \Gamma_j(t-s) = & \sum \limits_{k=1}^{N_k} \frac{c_k}{\tau_k} e^{-(t-s)/\tau_k} \\ + \langle{\bf F}^R_j(t),{\bf F}^R_j(s)\rangle = & \text{k$_\text{B}$T} ~\Gamma_j(t-s) Here, the first term is representative of all conservative (pairwise, bonded, etc) forces external to this fix, the second is the temporally @@ -72,7 +71,7 @@ the colored Gaussian random force. The Prony series form of the memory kernel is chosen to enable an extended variable formalism, with a number of exemplary mathematical -features discussed in :ref:`(Baczewski) `. In particular, 3N\_k +features discussed in :ref:`(Baczewski) `. In particular, :math:`3N_k` extended variables are added to each atom, which effect the action of the memory kernel without having to explicitly evaluate the integral over time in the second term of the force. This also has the benefit @@ -101,10 +100,8 @@ generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors. - ---------- - The keyword/value option pairs are used in the following ways. The keyword *frozen* can be used to specify how the extended variables @@ -124,10 +121,8 @@ to zero by subtracting off an equal part of it from each atom in the group. As a result, the center-of-mass of a system with zero initial momentum will not drift over time. - ---------- - **Restart, run start/stop, minimize info:** The instantaneous values of the extended variables are written to @@ -137,7 +132,7 @@ do "exact" restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. @@ -150,7 +145,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -158,24 +152,15 @@ Related commands """""""""""""""" :doc:`fix langevin `, :doc:`fix viscous `, -:doc:`pair\_style dpd/tstat ` +:doc:`pair_style dpd/tstat ` Default """"""" The option defaults are frozen = no, zero = no. - ---------- - .. _Baczewski: - - **(Baczewski)** A.D. Baczewski and S.D. Bond, J. Chem. Phys. 139, 044107 (2013). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_gle.rst b/doc/src/fix_gle.rst index ecb03618f5a3de22b6770d63732d0e59d43af444..fb6006d514f8517cc30c98c70c6e814aa9952e6a 100644 --- a/doc/src/fix_gle.rst +++ b/doc/src/fix_gle.rst @@ -6,7 +6,6 @@ fix gle command Syntax """""" - .. parsed-literal:: fix ID id-group gle Ns Tstart Tstop seed Amatrix [noneq Cmatrix] [every stride] @@ -18,22 +17,19 @@ Syntax * Amatrix = file to read the drift matrix A from * seed = random number seed to use for generating noise (positive integer) * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *noneq* or *every* *noneq* Cmatrix = file to read the non-equilibrium covariance matrix from *every* stride = apply the GLE once every time steps. Reduces the accuracy of the integration of the GLE, but has \*no effect\* on the accuracy of equilibrium sampling. It might change sampling properties when used together with *noneq*\ . - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 boundary gle 6 300 300 31415 smart.A fix 1 all gle 6 300 300 31415 qt-300k.A noneq qt-300k.C @@ -55,7 +51,6 @@ Each degree of freedom in the thermostatted group is supplemented with Ns additional degrees of freedom s, and the equations of motion become - .. parsed-literal:: dq/dt=p/m @@ -104,7 +99,7 @@ input matrix for :doc:`fix gle `. While the GLE scheme is more general, the form used by :doc:`fix gld ` can be more directly related to the representation of an implicit solvent environment. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** The instantaneous values of the extended variables are written to :doc:`binary restart files `. Because the state of the random @@ -121,7 +116,7 @@ This fix can ramp its target temperature over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Langevin thermostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -133,7 +128,6 @@ fix is "extensive". Restrictions """""""""""" - The GLE thermostat in its current implementation should not be used with rigid bodies, SHAKE or RATTLE. It is expected that all the thermostatted degrees of freedom are fully flexible, and the sampled @@ -150,33 +144,20 @@ LAMMPS was built with that package. See the :doc:`Build package Related commands """""""""""""""" -:doc:`fix nvt `, :doc:`fix temp/rescale `, :doc:`fix viscous `, :doc:`fix nvt `, :doc:`pair\_style dpd/tstat `, :doc:`fix gld ` - +:doc:`fix nvt `, :doc:`fix temp/rescale `, :doc:`fix viscous `, :doc:`fix nvt `, :doc:`pair_style dpd/tstat `, :doc:`fix gld ` ---------- - .. _Ceriotti: - - **(Ceriotti)** Ceriotti, Bussi and Parrinello, J Chem Theory Comput 6, 1170-80 (2010) .. _GLE4MD: - - **(GLE4MD)** `http://gle4md.org/ `_ .. _Ceriotti2: - - **(Ceriotti2)** Ceriotti, Bussi and Parrinello, Phys Rev Lett 103, 030603 (2009) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_gravity.rst b/doc/src/fix_gravity.rst index e8aae5a910bba52241526a79e76a0bbcc7205141..1d31384911367b853339b5ebc85d6c9f82e246f0 100644 --- a/doc/src/fix_gravity.rst +++ b/doc/src/fix_gravity.rst @@ -12,7 +12,6 @@ fix gravity/kk command Syntax """""" - .. parsed-literal:: fix ID group gravity magnitude style args @@ -22,9 +21,9 @@ Syntax * magnitude = size of acceleration (force/mass units) * magnitude can be a variable (see below) * style = *chute* or *spherical* or *gradient* or *vector* - + .. parsed-literal:: - + *chute* args = angle angle = angle in +x away from -z or -y axis in 3d/2d (in degrees) angle can be a variable (see below) @@ -36,13 +35,10 @@ Syntax x y z = vector direction to apply the acceleration x or y or z can be a variable (see below) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all gravity 1.0 chute 24.0 fix 1 all gravity v_increase chute 24.0 @@ -86,22 +82,20 @@ length is ignored. For 2d systems, the *z* component is ignored. Any of the quantities *magnitude*\ , *angle*\ , *phi*\ , *theta*\ , *x*\ , *y*\ , *z* which define the gravitational magnitude and direction, can be specified as an equal-style :doc:`variable `. If the value is -a variable, it should be specified as v\_name, where name is the +a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the quantity. You should insure that the variable calculates a result in the appropriate units, e.g. force/mass or degrees. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent gravitational field. - ---------- - 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 @@ -120,19 +114,17 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the gravitational potential energy of the system to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -153,11 +145,6 @@ Restrictions Related commands """""""""""""""" -:doc:`atom\_style sphere `, :doc:`fix addforce ` +:doc:`atom_style sphere `, :doc:`fix addforce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_grem.rst b/doc/src/fix_grem.rst index 598131a9358c1c74abd1953f001f6b2d1a135945..eef39c1ffc5dd11fb69b9e00acc1446d7a856b2e 100644 --- a/doc/src/fix_grem.rst +++ b/doc/src/fix_grem.rst @@ -6,7 +6,6 @@ fix grem command Syntax """""" - .. parsed-literal:: fix ID group-ID grem lambda eta H0 thermostat-ID @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix fxgREM all grem 400 -0.01 -30000 fxnpt thermo_modify press fxgREM_press @@ -38,17 +36,18 @@ which uses non-Boltzmann ensembles to sample over first order phase transitions. The is done by defining replicas with an enthalpy dependent effective temperature -.. image:: Eqs/fix_grem.jpg - :align: center +.. math:: + + T_{eff} = \lambda + \eta (H - H_0) -with *eta* negative and steep enough to only intersect the +with :math:`\eta` negative and steep enough to only intersect the characteristic microcanonical temperature (Ts) of the system once, -ensuring a unimodal enthalpy distribution in that replica. *Lambda* is -the intercept and effects the generalized ensemble similar to how -temperature effects a Boltzmann ensemble. *H0* is a reference -enthalpy, and is typically set as the lowest desired sampled enthalpy. -Further explanation can be found in our recent papers -:ref:`(Malolepsza) `. +ensuring a unimodal enthalpy distribution in that replica. +:math:`\lambda` is the intercept and effects the generalized ensemble +similar to how temperature effects a Boltzmann ensemble. :math:`H_0` +is a reference enthalpy, and is typically set as the lowest desired +sampled enthalpy. Further explanation can be found in our recent +papers :ref:`(Malolepsza) `. This fix requires a Nose-Hoover thermostat fix reference passed to the grem as *thermostat-ID*\ . Two distinct temperatures exist in this @@ -59,13 +58,13 @@ algorithms can be used. The fix enforces a generalized ensemble in a single replica only. Typically, this ideology is combined with replica exchange with -replicas differing by *lambda* only for simplicity, but this is not +replicas differing by :math:`\lambda` only for simplicity, but this is not required. A multi-replica simulation can be run within the LAMMPS environment using the :doc:`temper/grem ` command. This utilizes LAMMPS partition mode and requires the number of available processors be on the order of the number of desired replicas. A 100-replica simulation would require at least 100 processors (1 per -world at minimum). If a many replicas are needed on a small number of +world at minimum). If many replicas are needed on a small number of processors, multi-replica runs can be run outside of LAMMPS. An example of this can be found in examples/USER/misc/grem and has no limit on the number of replicas per processor. However, this is very @@ -74,58 +73,44 @@ inefficient and error prone and should be avoided if possible. In general, defining the generalized ensembles is unique for every system. When starting a many-replica simulation without any knowledge of the underlying microcanonical temperature, there are several tricks -we have utilized to optimize the process. Choosing a less-steep *eta* -yields broader distributions, requiring fewer replicas to map the -microcanonical temperature. While this likely struggles from the same -sampling problems gREM was built to avoid, it provides quick insight -to Ts. Initially using an evenly-spaced *lambda* distribution -identifies regions where small changes in enthalpy lead to large -temperature changes. Replicas are easily added where needed. - +we have utilized to optimize the process. Choosing a less-steep +:math:`\eta` yields broader distributions, requiring fewer replicas to +map the microcanonical temperature. While this likely struggles from +the same sampling problems gREM was built to avoid, it provides quick +insight to Ts. Initially using an evenly-spaced :math:`\lambda` +distribution identifies regions where small changes in enthalpy lead +to large temperature changes. Replicas are easily added where needed. ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`thermo\_modify ` *press* option is supported +The :doc:`thermo_modify ` *press* option is supported by this fix to add the rescaled kinetic pressure as part of :doc:`thermodynamic output `. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`temper/grem `, :doc:`fix nvt `, :doc:`fix npt `, :doc:`thermo\_modify ` +:doc:`temper/grem `, :doc:`fix nvt `, :doc:`fix npt `, :doc:`thermo_modify ` **Default:** none - ---------- - .. _Kim2010: - - **(Kim)** Kim, Keyes, Straub, J Chem. Phys, 132, 224107 (2010). .. _Malolepsza: - - **(Malolepsza)** Malolepsza, Secor, Keyes, J Phys Chem B 119 (42), 13379-13384 (2015). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_halt.rst b/doc/src/fix_halt.rst index 4eaa75abb80aad69b6259b3159ede31268d3571f..9836679de3fc6f790dea4a60524f357316218f68 100644 --- a/doc/src/fix_halt.rst +++ b/doc/src/fix_halt.rst @@ -6,7 +6,6 @@ fix halt command Syntax """""" - .. parsed-literal:: fix ID group-ID halt N attribute operator avalue keyword value ... @@ -14,49 +13,50 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * halt = style name of this fix command * N = check halt condition every N steps -* attribute = *bondmax* or *tlimit* or v\_name - +* attribute = *bondmax* or *tlimit* or v_name + .. parsed-literal:: - - bondmax = length of longest bond in the system - tlimit = elapsed CPU time + + bondmax = length of longest bond in the system (in length units) + tlimit = elapsed CPU time (in seconds) + diskfree = free disk space (in megabytes) v_name = name of :doc:`equal-style variable ` * operator = "<" or "<=" or ">" or ">=" or "==" or "!=" or "\|\^" * avalue = numeric value to compare attribute to * zero or more keyword/value pairs may be appended -* keyword = *error* or *message* - +* keyword = *error* or *message* or *path* + .. parsed-literal:: - + *error* value = *hard* or *soft* or *continue* *message* value = *yes* or *no* - + *path* value = path to check for free space (may be in quotes) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 10 all halt 1 bondmax > 1.5 - fix 10 all print 10 v_myCheck != 0 error soft + fix 10 all halt 10 v_myCheck != 0 error soft + fix 10 all halt 100 diskfree < 100000.0 path "dump storage/." Description """"""""""" -Check a condition every N steps during a simulation run. N must be >= -1. If the condition is met, exit the run immediately. In this -context a "run" can be dynamics or minimization iterations, as -specified by the :doc:`run ` or :doc:`minimize ` command. +Check a condition every N steps during a simulation run. N must be >=1. +If the condition is met, exit the run. In this context a "run" can be +dynamics or minimization iterations, as specified by the :doc:`run +` or :doc:`minimize ` command. The specified group-ID is ignored by this fix. -The specified *attribute* can be one of the options listed above, -namely *bondmax* or *tlimit*\ , or an :doc:`equal-style variable ` referenced as *v\_name*, where "name" is the -name of a variable that has been defined previously in the input -script. +The specified *attribute* can be one of the options listed above, namely +*bondmax*, *tlimit*\ , *diskfree*\ , or an :doc:`equal-style variable +` referenced as *v_name*, where "name" is the name of a +variable that has been defined previously in the input script. The *bondmax* attribute will loop over all bonds in the system, compute their current lengths, and set *attribute* to the longest bond @@ -70,7 +70,7 @@ using this method versus the timer command option. The first is that the clock starts at the beginning of the current run (not when the timer or fix command is specified), so that any setup time for the run is not included in the elapsed time. The second is that the timer -invocation and syncing across all processors (via MPI\_Allreduce) is +invocation and syncing across all processors (via MPI_Allreduce) is not performed once every *N* steps by this command. Instead it is performed (typically) only a small number of times and the elapsed times are used to predict when the end-of-the-run will be. Both of @@ -80,6 +80,14 @@ a run is performing 1000s of timesteps/sec, the overhead for syncing the timer frequently across a large number of processors may be non-negligible. +The *diskfree* attribute will check for available disk space (in +megabytes) on supported operating systems. By default it will +check the file system of the current working directory. This +can be changed with the optional *path* keyword, which will take +the path to a file or folder on the file system to be checked +as argument. This path must be given with single or double quotes, +if it contains blanks or other special characters (like \$). + Equal-style variables evaluate to a numeric value. See the :doc:`variable ` command for a description. They calculate formulas which can involve mathematical operations, atom properties, @@ -90,8 +98,7 @@ computing some attribute of the current system. For example, the following "bondmax" variable will calculate the same quantity as the hstyle = bondmax option. - -.. parsed-literal:: +.. code-block:: LAMMPS compute bdist all bond/local dist compute bmax all reduce max c_bdist @@ -99,8 +106,7 @@ hstyle = bondmax option. Thus these two versions of a fix halt command will do the same thing: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 10 all halt 1 bondmax > 1.5 fix 10 all halt 1 v_bondmax > 1.5 @@ -117,10 +123,8 @@ it is "false". The specified *avalue* must be a numeric value. - ---------- - The optional *error* keyword determines how the current run is halted. If its value is *hard*\ , then LAMMPS will stop with an error message. @@ -128,8 +132,8 @@ If its value is *soft*\ , LAMMPS will exit the current run, but continue to execute subsequent commands in the input script. However, additional :doc:`run ` or :doc:`minimize ` commands will be skipped. For example, this allows a script to output the current -state of the system, e.g. via a :doc:`write\_dump ` or -:doc:`write\_restart ` command. +state of the system, e.g. via a :doc:`write_dump ` or +:doc:`write_restart ` command. If its value is *continue*\ , the behavior is the same as for *soft*\ , except subsequent :doc:`run ` or :doc:`minimize ` commands @@ -146,9 +150,9 @@ is printed; the run simply exits. The latter may be desirable for post-processing tools that extract thermodynamic information from log files. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -156,7 +160,7 @@ the :doc:`run ` command. Restrictions """""""""""" - none +The *diskfree* attribute is currently only supported on Linux and MacOS. Related commands """""""""""""""" @@ -166,9 +170,4 @@ Related commands Default """"""" -The option defaults are error = hard and message = yes. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +The option defaults are error = hard, message = yes, and path = ".". diff --git a/doc/src/fix_heat.rst b/doc/src/fix_heat.rst index 1972eb2b03c23b91b294745462ea675e4cdc648b..5bb6402d4624c5cade17bbb5cf626f41ab62ca42 100644 --- a/doc/src/fix_heat.rst +++ b/doc/src/fix_heat.rst @@ -6,7 +6,6 @@ fix heat command Syntax """""" - .. parsed-literal:: fix ID group-ID heat N eflux @@ -18,19 +17,16 @@ Syntax * eflux can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *region* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region atoms must be in to have added force - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 qin heat 1 1.0 fix 3 qin heat 10 v_flux @@ -51,16 +47,22 @@ and the specified geometric :doc:`region ` in order to have energy added or subtracted to it. If not specified, then the atoms in the group are affected wherever they may move to. -Heat addition/subtraction is performed every N timesteps. The *eflux* -parameter can be specified as a numeric constant or as a variable (see -below). If it is a numeric constant or equal-style variable which -evaluates to a scalar value, then the *eflux* determines the change in -aggregate energy of the entire group of atoms per unit time, e.g. in -eV/psec for :doc:`metal units `. In this case it is an -"extensive" quantity, meaning its magnitude should be scaled with the -number of atoms in the group. Note that since *eflux* has per-time -units (i.e. it is a flux), this means that a larger value of N will -add/subtract a larger amount of energy each time the fix is invoked. +Heat addition/subtraction is performed every N timesteps. + +The *eflux* parameter can be specified as a numeric constant or as an +equal- or atom-style :doc:`variable `. If the value is a +variable, it should be specified as v_name, where *name* is the variable +name. In this case, the variable will be evaluated each timestep, and +its current value(s) used to determine the flux. + +If *eflux* is a numeric constant or equal-style variable which evaluates +to a scalar value, then *eflux* determines the change in aggregate energy +of the entire group of atoms per unit time, e.g. in eV/psec for +:doc:`metal units `. In this case it is an "extensive" quantity, +meaning its magnitude should be scaled with the number of atoms in the +group. Note that since *eflux* also has per-time units (i.e. it is a +flux), this means that a larger value of N will add/subtract a larger +amount of energy each time the fix is invoked. .. note:: @@ -75,14 +77,8 @@ the energy flux for a single atom, again in units of energy per unit time. In this case, each value is an "intensive" quantity, which need not be scaled with the number of atoms in the group. -As mentioned above, the *eflux* parameter can be specified as an -equal-style or atom\_style :doc:`variable `. If the value is a -variable, it should be specified as v\_name, where name is the variable -name. In this case, the variable will be evaluated each timestep, and -its value(s) used to determine the flux. - Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent flux. @@ -100,7 +96,7 @@ with optional time-dependence as well. Fix heat is different from a thermostat such as :doc:`fix nvt ` or :doc:`fix temp/rescale ` in that energy is -added/subtracted continually. Thus if there isn't another mechanism +added/subtracted continually. Thus if there is not another mechanism in place to counterbalance this effect, the entire system will heat or cool continuously. You can use multiple heat fixes so that the net energy change is 0.0 or use :doc:`fix viscous ` to drain @@ -112,9 +108,9 @@ their velocities. Thus you must still use an integration fix not normally be used on atoms that have their temperature controlled by another fix - e.g. :doc:`fix nvt ` or :doc:`fix langevin ` fix. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global scalar which can be accessed by various @@ -137,8 +133,3 @@ Related commands :doc:`fix ehex `, :doc:`compute temp `, :doc:`compute temp/region ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_hyper_global.rst b/doc/src/fix_hyper_global.rst index 7aa5891e2574f4f60f77d57cd00264775d0a56ed..c24d405b55d67a734da2727f11aab5371361f897 100644 --- a/doc/src/fix_hyper_global.rst +++ b/doc/src/fix_hyper_global.rst @@ -6,7 +6,6 @@ fix hyper/global command Syntax """""" - .. parsed-literal:: fix ID group-ID hyper/global cutbond qfactor Vmax Tequil @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all hyper/global 1.0 0.3 0.8 300.0 @@ -58,65 +56,63 @@ Fichthorn as described in :ref:`(Miron) `. In LAMMPS we use a simplified version of bond-boost GHD where a single bond in the system is biased at any one timestep. -Bonds are defined between each pair of I,J atoms whose R0ij distance -is less than *cutbond*\ , when the system is in a quenched state +Bonds are defined between each pair of atoms *ij*\ , whose :math:`R^0_{ij}` +distance is less than *cutbond*\ , when the system is in a quenched state (minimum) energy. Note that these are not "bonds" in a covalent sense. A bond is simply any pair of atoms that meet the distance criterion. *Cutbond* is an argument to this fix; it is discussed -below. A bond is only formed if one or both of the I.J atoms are in +below. A bond is only formed if one or both of the *ij* atoms are in the specified group. -The current strain of bond IJ (when running dynamics) is defined as +The current strain of bond *ij* (when running dynamics) is defined as +.. math:: -.. parsed-literal:: + E_{ij} = \frac{R_{ij} - R^0_{ij}}{R^0_{ij}} - Eij = (Rij - R0ij) / R0ij +where :math:`R_{ij}` is the current distance between atoms *i* and *j*\ , +and :math:`R^0_{ij}` is the equilibrium distance in the quenched state. -where Rij is the current distance between atoms I,J, and R0ij is the -equilibrium distance in the quenched state. +The bias energy :math:`V_{ij}` of any bond between atoms *i* and *j* +is defined as -The bias energy Vij of any bond IJ is defined as - - -.. parsed-literal:: +.. math:: - Vij = Vmax \* (1 - (Eij/q)\^2) for abs(Eij) < qfactor - = 0 otherwise + V_{ij} = V^{max} \cdot \left( 1 - \left(\frac{E_{ij}}{q}\right)^2 \right) \textrm{ for } \left|E_{ij}\right| < qfactor \textrm{ or } 0 \textrm{ otherwise} -where the prefactor *Vmax* and the cutoff *qfactor* are arguments to +where the prefactor :math:`V^{max}` and the cutoff *qfactor* are arguments to this fix; they are discussed below. This functional form is an -inverse parabola centered at 0.0 with height Vmax and which goes to -0.0 at +/- qfactor. +inverse parabola centered at 0.0 with height :math:`V^{max}` and +which goes to 0.0 at +/- qfactor. -Let Emax = the maximum of abs(Eij) for all IJ bonds in the system on a -given timestep. On that step, Vij is added as a bias potential to -only the single bond with strain Emax, call it Vij(max). Note that -Vij(max) will be 0.0 if Emax >= qfactor on that timestep. Also note -that Vij(max) is added to the normal interatomic potential that is -computed between all atoms in the system at every step. +Let :math:`E^{max}` be the maximum of :math:`\left| E_{ij} \right|` +for all *ij* bonds in the system on a +given timestep. On that step, :math:`V_{ij}` is added as a bias potential +to only the single bond with strain :math:`E^{max}`, call it +:math:`V^{max}_{ij}`. Note that :math:`V^{max}_{ij}` will be 0.0 +if :math:`E^{max} >= \textrm{qfactor}` on that timestep. Also note +that :math:`V^{max}_{ij}` is added to the normal interatomic potential +that is computed between all atoms in the system at every step. -The derivative of Vij(max) with respect to the position of each atom -in the Emax bond gives a bias force Fij(max) acting on the bond as +The derivative of :math:`V^{max}_{ij}` with respect to the position of +each atom in the :math:`E^{max}` bond gives a bias force +:math:`F^{max}_{ij}` acting on the bond as +.. math:: -.. parsed-literal:: - - Fij(max) = - dVij(max)/dEij = 2 Vmax Eij / qfactor\^2 for abs(Eij) < qfactor - = 0 otherwise + F^{max}_{ij} = - \frac{dV^{max}_{ij}}{dE_{ij}} = \frac{2 V^{max} E-{ij}}{\textrm{qfactor}^2} \textrm{ for } \left|E_{ij}\right| < \textrm{qfactor} \textrm{ or } 0 \textrm{ otherwise} which can be decomposed into an equal and opposite force acting on -only the two I,J atoms in the Emax bond. +only the two *ij* atoms in the :math:`E^{max}` bond. The time boost factor for the system is given each timestep I by +.. math:: -.. parsed-literal:: - - Bi = exp(beta \* Vij(max)) + B_i = e^{\beta V^{max}_{ij}} -where beta = 1/kTequil, and *Tequil* is the temperature of the system -and an argument to this fix. Note that Bi >= 1 at every step. +where :math:`\beta = \frac{1}{kT_{equil}}`, and :math:`T_{equil}` is the temperature of the system +and an argument to this fix. Note that :math:`B_i >= 1` at every step. .. note:: @@ -125,34 +121,31 @@ and an argument to this fix. Note that Bi >= 1 at every step. constant-temperature (NVT) dynamics. LAMMPS does not check that this is done. -The elapsed time t\_hyper for a GHD simulation running for *N* +The elapsed time :math:`t_{hyper}` for a GHD simulation running for *N* timesteps is simply +.. math:: -.. parsed-literal:: - - t_hyper = Sum (i = 1 to N) Bi \* dt + t_{hyper} = \sum_{i=1,N} B-i \cdot dt -where dt is the timestep size defined by the :doc:`timestep ` -command. The effective time acceleration due to GHD is thus t\_hyper / +where *dt* is the timestep size defined by the :doc:`timestep ` +command. The effective time acceleration due to GHD is thus t_hyper / N\*dt, where N\*dt is elapsed time for a normal MD run of N timesteps. Note that in GHD, the boost factor varies from timestep to timestep. -Likewise, which bond has Emax strain and thus which pair of atoms the -bias potential is added to, will also vary from timestep to timestep. +Likewise, which bond has :math:`E^{max}` strain and thus which pair of +atoms the bias potential is added to, will also vary from timestep to timestep. This is in contrast to local hyperdynamics (LHD) where the boost factor is an input parameter; see the :doc:`fix hyper/local ` doc page for details. - ---------- - Here is additional information on the input parameters for GHD. The *cutbond* argument is the cutoff distance for defining bonds -between pairs of nearby atoms. A pair of I,J atoms in their +between pairs of nearby atoms. A pair of *ij* atoms in their equilibrium, minimum-energy configuration, which are separated by a -distance Rij < *cutbond*\ , are flagged as a bonded pair. Setting +distance :math:`R_{ij} < cutbond`, are flagged as a bonded pair. Setting *cubond* to be ~25% larger than the nearest-neighbor distance in a crystalline lattice is a typical choice for solids, so that bonds exist only between nearest neighbor pairs. @@ -166,7 +159,7 @@ could still experience a non-zero bias force. If *qfactor* is set too large, then transitions from one energy basin to another are affected because the bias potential is non-zero at the transition state (e.g. saddle point). If *qfactor* is set too small -than little boost is achieved because the Eij strain of some bond in +than little boost is achieved because the :math:`E_{ij}` strain of some bond in the system will (nearly) always exceed *qfactor*\ . A value of 0.3 for *qfactor* is typically reasonable. @@ -183,7 +176,7 @@ time-accurate trajectory of the system. Note that if *Vmax* is set too small, the GHD simulation will run correctly. There will just be fewer events because the hyper time -(t\_hyper equation above) will be shorter. +(t_hyper equation above) will be shorter. .. note:: @@ -202,15 +195,13 @@ In general, the lower the value of *Tequil* and the higher the value of *Vmax*\ , the more time boost will be achievable by the GHD algorithm. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy of the bias potential to the system's potential energy as part of :doc:`thermodynamic output `. @@ -220,7 +211,7 @@ scalar is the magnitude of the bias potential (energy units) applied on the current timestep. The vector stores the following quantities: * 1 = boost factor on this step (unitless) -* 2 = max strain Eij of any bond on this step (absolute value, unitless) +* 2 = max strain :math:`E_{ij}` of any bond on this step (absolute value, unitless) * 3 = ID of first atom in the max-strain bond * 4 = ID of second atom in the max-strain bond * 5 = average # of bonds/atom on this step @@ -266,7 +257,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. @@ -278,24 +268,13 @@ Related commands **Default:** None - ---------- - .. _Voter2013ghd: - - **(Voter2013)** S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139, 144110 (2013). .. _Mironghd: - - **(Miron)** R. A. Miron and K. A. Fichthorn, J Chem Phys, 119, 6210 (2003). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_hyper_local.rst b/doc/src/fix_hyper_local.rst index 31c606380a921dca2a086b661a2893476ff1a768..a8e7483dac3f22e18228bbec0cf90076a74eebb7 100644 --- a/doc/src/fix_hyper_local.rst +++ b/doc/src/fix_hyper_local.rst @@ -6,7 +6,6 @@ fix hyper/local command Syntax """""" - .. parsed-literal:: fix ID group-ID hyper/local cutbond qfactor Vmax Tequil Dcut alpha Btarget @@ -22,9 +21,9 @@ Syntax * Btarget = desired time boost factor (unitless) * zero or more keyword/value pairs may be appended * keyword = *bound* or *reset* or *check/ghost* or *check/bias* - + .. parsed-literal:: - + *bound* value = Bfrac Bfrac = -1 or a value >= 0.0 *reset* value = Rfreq @@ -32,13 +31,10 @@ Syntax *check/ghost* values = none *check/bias* values = Nevery error/warn/ignore - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all hyper/local 1.0 0.3 0.8 300.0 fix 1 all hyper/local 1.0 0.3 0.8 300.0 bound 0.1 reset 0 @@ -77,66 +73,63 @@ To understand this description, you should first read the description of the GHD algorithm on the :doc:`fix hyper/global ` doc page. This description of LHD builds on the GHD description. -The definition of bonds and Eij are the same for GHD and LHD. The -formulas for Vij(max) and Fij(max) are also the same except for a -pre-factor Cij, explained below. +The definition of bonds and :math:`E_{ij}` are the same for GHD and LHD. +The formulas for :math:`V^{max}_{ij}` and :math:`F^{max}_{ij}` are also +the same except for a pre-factor :math:`C_{ij}`, explained below. -The bias energy Vij applied to a bond IJ with maximum strain is +The bias energy :math:`V_{ij}` applied to a bond *ij* with maximum strain is +.. math:: -.. parsed-literal:: + V^{max}_{ij} = C_{ij} \cdot V^{max} \cdot \left(1 - \left(\frac{E_{ij}}{q}\right)^2\right) \textrm{ for } \left|E_{ij}\right| < qfactor \textrm{ or } 0 \textrm{ otherwise} - Vij(max) = Cij \* Vmax \* (1 - (Eij/q)\^2) for abs(Eij) < qfactor - = 0 otherwise +The derivative of :math:`V^{max}_{ij}` with respect to the position of +each atom in the *ij* bond gives a bias force :math:`F^{max}_{ij}` acting +on the bond as -The derivative of Vij(max) with respect to the position of each atom -in the IJ bond gives a bias force Fij(max) acting on the bond as +.. math:: - -.. parsed-literal:: - - Fij(max) = - dVij(max)/dEij = 2 Cij Vmax Eij / qfactor\^2 for abs(Eij) < qfactor - = 0 otherwise + F^{max}_{ij} = - \frac{dV^{max}_{ij}}{dE_{ij}} = 2 C_{ij} V^{max} \frac{E_{ij}}{qfactor^2} \textrm{ for } \left|E_{ij}\right| < qfactor \textrm{ or } 0 \textrm{ otherwise} which can be decomposed into an equal and opposite force acting on -only the two I,J atoms in the IJ bond. +only the two atoms *i* and *j* in the *ij* bond. The key difference is that in GHD a bias energy and force is added (on a particular timestep) to only one bond (pair of atoms) in the system, -which is the bond with maximum strain Emax. +which is the bond with maximum strain :math:`E^{max}`. In LHD, a bias energy and force can be added to multiple bonds -separated by the specified *Dcut* distance or more. A bond IJ is +separated by the specified *Dcut* distance or more. A bond *ij* is biased if it is the maximum strain bond within its local -"neighborhood", which is defined as the bond IJ plus any neighbor -bonds within a distance *Dcut* from IJ. The "distance" between bond -IJ and bond KL is the minimum distance between any of the IK, IL, JK, -JL pairs of atoms. +"neighborhood", which is defined as the bond *ij* plus any neighbor +bonds within a distance *Dcut* from *ij*. The "distance" between bond +*ij* and bond *kl* is the minimum distance between any of the *ik*, *il*, +*jk*, and *jl* pairs of atoms. For a large system, multiple bonds will typically meet this -requirement, and thus a bias potential Vij(max) will be applied to -many bonds on the same timestep. +requirement, and thus a bias potential :math:`V^{max}_{ij}` will be +applied to many bonds on the same timestep. -In LHD, all bonds store a Cij prefactor which appears in the Vij(max) -and Fij(max) equations above. Note that the Cij factor scales the -strength of the bias energy and forces whenever bond IJ is the maximum -strain bond in its neighborhood. +In LHD, all bonds store a :math:`C_{ij}` prefactor which appears in +the :math:`V^{max}_{ij}` and :math:`F^{max}_{ij}equations above. Note +that the :math:`C_{ij}` factor scales the strength of the bias energy +and forces whenever bond *ij* is the maximum strain bond in its neighborhood. -Cij is initialized to 1.0 when a bond between the I,J atoms is first -defined. The specified *Btarget* factor is then used to adjust the -Cij prefactors for each bond every timestep in the following manner. +:math:`C_{ij}` is initialized to 1.0 when a bond between the *ij* atoms +is first defined. The specified *Btarget* factor is then used to adjust the +:math:`C_{ij}` prefactors for each bond every timestep in the following manner. -An instantaneous boost factor Bij is computed each timestep +An instantaneous boost factor :math:`B_{ij}` is computed each timestep for each bond, as +.. math:: -.. parsed-literal:: - - Bij = exp(beta \* Vkl(max)) + B_{ij} = e^{\beta V^{max}_{kl}} -where Vkl(max) is the bias energy of the maxstrain bond KL within bond -IJ's neighborhood, beta = 1/kTequil, and *Tequil* is the temperature -of the system and an argument to this fix. +where :math:`V^{max}_{kl}` is the bias energy of the maxstrain bond *kl* +within bond *ij*\ 's neighborhood, :math:`\beta = \frac{1}{kT_{equil}}`, +and :math:`T_{equil}` is the temperature of the system and an argument +to this fix. .. note:: @@ -146,33 +139,33 @@ of the system and an argument to this fix. running constant-temperature (NVT) dynamics. LAMMPS does not check that this is done. -Note that if IJ = KL, then bond IJ is a biased bond on that timestep, -otherwise it is not. But regardless, the boost factor Bij can be -thought of an estimate of time boost currently being applied within a -local region centered on bond IJ. For LHD, we want this to be the -specified *Btarget* value everywhere in the simulation domain. - -To accomplish this, if Bij < Btarget, the Cij prefactor for bond IJ is -incremented on the current timestep by an amount proportional to the -inverse of the specified *alpha* and the difference (Bij - Btarget). -Conversely if Bij > Btarget, Cij is decremented by the same amount. -This procedure is termed "boostostatting" in -:ref:`(Voter2013) `. It drives all of the individual Cij to -values such that when Vij\ *max* is applied as a bias to bond IJ, the -resulting boost factor Bij will be close to *Btarget* on average. -Thus the LHD time acceleration factor for the overall system is -effectively *Btarget*\ . - -Note that in LHD, the boost factor *Btarget* is specified by the user. +Note that if *ij*\ == *kl*\ , then bond *ij* is a biased bond on that +timestep, otherwise it is not. But regardless, the boost factor +:math:`B_{ij}` can be thought of an estimate of time boost currently +being applied within a local region centered on bond *ij*. For LHD, +we want this to be the specified *Btarget* value everywhere in the +simulation domain. + +To accomplish this, if :math:`B_{ij} < B_{target}`, the :math:`C_{ij}` +prefactor for bond *ij* is incremented on the current timestep by an +amount proportional to the inverse of the specified :math:`\alpha` and +the difference (:math:`B_{ij} - B_{target}`). Conversely if +:math:`B_{ij} > B_{target}`, :math:`C_{ij}` is decremented by the same +amount. This procedure is termed "boostostatting" in :ref:`(Voter2013) +`. It drives all of the individual :math:`C_{ij}` to +values such that when :math:`V^{max}_{ij}` is applied as a bias to bond +*ij*, the resulting boost factor :math:`B_{ij}` will be close to +:math:`B_{target}` on average. Thus the LHD time acceleration factor +for the overall system is effectively *Btarget*\ . + +Note that in LHD, the boost factor :math:`B_{target}` is specified by the user. This is in contrast to global hyperdynamics (GHD) where the boost -factor varies each timestep and is computed as a function of *Vmax*\ , -Emax, and *Tequil*\ ; see the :doc:`fix hyper/global ` -doc page for details. - +factor varies each timestep and is computed as a function of :math:`V_{max}`, +:math:`E_{max}`, and :math:`T_{equil}`; see the +:doc:`fix hyper/global ` doc page for details. ---------- - Here is additional information on the input parameters for LHD. Note that the *cutbond*\ , *qfactor*\ , and *Tequil* arguments have the @@ -182,7 +175,7 @@ The *Dcut*\ , *alpha*\ , and *Btarget* parameters are unique to LHD. The *cutbond* argument is the cutoff distance for defining bonds between pairs of nearby atoms. A pair of I,J atoms in their equilibrium, minimum-energy configuration, which are separated by a -distance Rij < *cutbond*\ , are flagged as a bonded pair. Setting +distance :math:`R_{ij} < cutbond`, are flagged as a bonded pair. Setting *cubond* to be ~25% larger than the nearest-neighbor distance in a crystalline lattice is a typical choice for solids, so that bonds exist only between nearest neighbor pairs. @@ -190,37 +183,40 @@ exist only between nearest neighbor pairs. The *qfactor* argument is the limiting strain at which the bias potential goes to 0.0. It is dimensionless, so a value of 0.3 means a bond distance can be up to 30% larger or 30% smaller than the -equilibrium (quenched) R0ij distance and the two atoms in the bond +equilibrium (quenched) :math:`R^0_{ij}` distance and the two atoms in the bond could still experience a non-zero bias force. If *qfactor* is set too large, then transitions from one energy basin to another are affected because the bias potential is non-zero at the transition state (e.g. saddle point). If *qfactor* is set too small -than little boost can be achieved because the Eij strain of some bond in +than little boost can be achieved because the :math:`E_{ij}` strain of +some bond in the system will (nearly) always exceed *qfactor*\ . A value of 0.3 for *qfactor* is typically a reasonable value. The *Vmax* argument is a fixed prefactor on the bias potential. There -is a also a dynamic prefactor Cij, driven by the choice of *Btarget* -as discussed above. The product of these should be a value less than +is a also a dynamic prefactor :math:`C_{ij}`, driven by the choice of +*Btarget* as discussed above. The product of these should be a value less than the smallest barrier height for an event to occur. Otherwise the applied bias potential may be large enough (when added to the interatomic potential) to produce a local energy basin with a maxima in the center. This can produce artificial energy minima in the same -basin that trap an atom. Or if Cij\*\ *Vmax* is even larger, it may +basin that trap an atom. Or if :math:`C_{ij} \cdot V^{max}` is even +larger, it may induce an atom(s) to rapidly transition to another energy basin. Both cases are "bad dynamics" which violate the assumptions of LHD that guarantee an accelerated time-accurate trajectory of the system. .. note:: - It may seem that *Vmax* can be set to any value, and Cij will - compensate to reduce the overall prefactor if necessary. However the - Cij are initialized to 1.0 and the boostostatting procedure typically - operates slowly enough that there can be a time period of bad dynamics - if *Vmax* is set too large. A better strategy is to set *Vmax* to the + It may seem that :math:`V^{max}` can be set to any value, and + :math:`C_{ij}` will compensate to reduce the overall prefactor + if necessary. However the :math:`C_{ij}` are initialized to 1.0 + and the boostostatting procedure typically operates slowly enough + that there can be a time period of bad dynamics if :math:`V^{max}` + is set too large. A better strategy is to set :math:`V^{max}` to the slightly smaller than the lowest barrier height for an event (the same - as for GHD), so that the Cij remain near unity. + as for GHD), so that the :math:`C_{ij}` remain near unity. The *Tequil* argument is the temperature at which the system is simulated; see the comment above about the :doc:`fix langevin ` thermostatting. It is also part of the @@ -249,11 +245,10 @@ well for many solid-state systems. atoms move (between quenched states) to be considered an "event". It is an argument to the "compute event/displace" command used to detect events. By default the ghost communication distance is set by the - pair\_style cutoff, which will typically be < *Dcut*\ . The :doc:`comm\_modify cutoff ` command should be used to override the ghost + pair_style cutoff, which will typically be < *Dcut*\ . The :doc:`comm_modify cutoff ` command should be used to override the ghost cutoff explicitly, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS comm_modify cutoff 12.0 @@ -262,44 +257,43 @@ half the *cutbond* parameter as an estimate to warn if the ghost cutoff is not long enough. As described above the *alpha* argument is a pre-factor in the -boostostat update equation for each bond's Cij prefactor. *Alpha* is -specified in time units, similar to other thermostat or barostat +boostostat update equation for each bond's :math:`C_{ij}` prefactor. +*Alpha* is specified in time units, similar to other thermostat or barostat damping parameters. It is roughly the physical time it will take the -boostostat to adjust a Cij value from a too high (or too low) value to -a correct one. An *alpha* setting of a few ps is typically good for +boostostat to adjust a :math:`C_{ij}` value from a too high (or too low) +value to a correct one. An *alpha* setting of a few ps is typically good for solid-state systems. Note that the *alpha* argument here is the inverse of the alpha parameter discussed in :ref:`(Voter2013) `. The *Btarget* argument is the desired time boost factor (a value > 1) that all the atoms in the system will experience. The elapsed time -t\_hyper for an LHD simulation running for *N* timesteps is simply +t_hyper for an LHD simulation running for *N* timesteps is simply +.. math:: -.. parsed-literal:: - - t_hyper = Btarget \* N\*dt + t_{hyper} = B_{target} \cdot N \cdot dt -where dt is the timestep size defined by the :doc:`timestep ` -command. The effective time acceleration due to LHD is thus t\_hyper / -N\*dt = Btarget, where N\*dt is elapsed time for a normal MD run -of N timesteps. +where *dt* is the timestep size defined by the :doc:`timestep ` +command. The effective time acceleration due to LHD is thus +:math:`\frac{t_{hyper}}{N\cdot dt} = B_{target}`, where :math:`N\cdot dt` +is the elapsed time for a normal MD run of N timesteps. You cannot choose an arbitrarily large setting for *Btarget*\ . The maximum value you should choose is +.. math:: -.. parsed-literal:: + B_{target} = e^{\beta V_{small}} - Btarget = exp(beta \* Vsmall) - -where Vsmall is the smallest event barrier height in your system, beta -= 1/kTequil, and *Tequil* is the specified temperature of the system +where :math:`V_{small}` is the smallest event barrier height in your +system, :math:`\beta = \frac{1}{kT_{equil}}`, and :math:`T_{equil}` +is the specified temperature of the system (both by this fix and the Langevin thermostat). Note that if *Btarget* is set smaller than this, the LHD simulation will run correctly. There will just be fewer events because the hyper -time (t\_hyper equation above) will be shorter. +time (t_hyper equation above) will be shorter. .. note:: @@ -309,47 +303,46 @@ time (t\_hyper equation above) will be shorter. simulations with smaller and smaller *Btarget* values, until the event rate does not change (as a function of hyper time). - ---------- - Here is additional information on the optional keywords for this fix. -The *bound* keyword turns on min/max bounds for bias coefficients Cij -for all bonds. Cij is a prefactor for each bond on the bias potential -of maximum strength Vmax. Depending on the choice of *alpha* and -*Btarget* and *Vmax*\ , the boostostatting can cause individual Cij -values to fluctuate. If the fluctuations are too large Cij\*Vmax can -exceed low barrier heights and induce bad event dynamics. Bounding -the Cij values is a way to prevent this. If *Bfrac* is set to -1 or -any negative value (the default) then no bounds are enforced on Cij -values (except they must always be >= 0.0). A *Bfrac* setting >= 0.0 -sets a lower bound of 1.0 - Bfrac and upper bound of 1.0 + Bfrac on -each Cij value. Note that all Cij values are initialized to 1.0 when -a bond is created for the first time. Thus *Bfrac* limits the bias -potential height to *Vmax* +/- *Bfrac*\ \*\ *Vmax*\ . - -The *reset* keyword allow *Vmax* to be adjusted dynamically depending -on the average value of all Cij prefactors. This can be useful if you +The *bound* keyword turns on min/max bounds for bias coefficients +:math:`C_{ij}` for all bonds. :math:`C_{ij}` is a prefactor for each bond on +the bias potential of maximum strength :math:`V^{max}`. Depending on the +choice of *alpha* and *Btarget* and *Vmax*\ , the boostostatting can cause +individual :math:`C_{ij}` values to fluctuate. If the fluctuations are too +large :math:`C_{ij} \cdot V^{max}` can exceed low barrier heights and induce +bad event dynamics. Bounding the :math:`C_{ij}` values is a way to prevent +this. If *Bfrac* is set to -1 or any negative value (the default) then no +bounds are enforced on :math:`C_{ij}` values (except they must always +be >= 0.0). A *Bfrac* setting >= 0.0 +sets a lower bound of 1.0 - Bfrac and upper bound of 1.0 + Bfrac on each +:math:`C_{ij}` value. Note that all :math:`C_{ij}` values are initialized +to 1.0 when a bond is created for the first time. Thus *Bfrac* limits the +bias potential height to *Vmax* +/- *Bfrac*\ \*\ *Vmax*\ . + +The *reset* keyword allow *Vmax* to be adjusted dynamically depending on the +average value of all :math:`C_{ij}` prefactors. This can be useful if you are unsure what value of *Vmax* will match the *Btarget* boost for the -system. The Cij values will then adjust in aggregate (up or down) so -that Cij\*Vmax produces a boost of *Btarget*\ , but this may conflict -with the *bound* keyword settings. By using *bound* and *reset* -together, *Vmax* itself can be reset, and desired bounds still applied -to the Cij values. +system. The :math:`C_{ij}` values will then adjust in aggregate (up or down) +so that :math:`C_{ij} \cdot V^{max}` produces a boost of *Btarget*\ , but this +may conflict with the *bound* keyword settings. By using *bound* and *reset* +together, :math:`V^{max}` itself can be reset, and desired bounds still applied +to the :math:`C_{ij}` values. A setting for *Rfreq* of -1 (the default) means *Vmax* never changes. -A setting of 0 means *Vmax* is adjusted every time an event occurs and +A setting of 0 means :math:`V^{max}` is adjusted every time an event occurs and bond pairs are recalculated. A setting of N > 0 timesteps means -*Vmax* is adjusted on the first time an event occurs on a timestep >= -N steps after the previous adjustment. The adjustment to *Vmax* is -computed as follows. The current average of all Cij\*Vmax values is -computed and the *Vmax* is reset to that value. All Cij values are -changed to new prefactors such the new Cij\*Vmax is the same as it was -previously. If the *bound* keyword was used, those bounds are -enforced on the new Cij values. Henceforth, new bonds are assigned a -Cij = 1.0, which means their bias potential magnitude is the new -*Vmax*\ . +:math:`V^{max}` is adjusted on the first time an event occurs on a timestep >= +N steps after the previous adjustment. The adjustment to :math:`V^{max}` is +computed as follows. The current average of all :math:`C_{ij} \cdot V^{max}` +values is computed and the :math:`V^{max}` is reset to that value. All +:math:`C_{ij}` values are changed to new prefactors such the new +:math:`C_{ij} \cdot V^{max}` is the same as it was previously. If the +*bound* keyword was used, those bounds are enforced on the new :math:`C_{ij}` +values. Henceforth, new bonds are assigned a :math:`C_{ij} = 1.0`, which +means their bias potential magnitude is the new :math:`V^{max}`. The *check/ghost* keyword turns on extra computation each timestep to compute statistics about ghost atoms used to determine which bonds to @@ -370,15 +363,13 @@ keyword is not enabled, the output of that statistic will be 0. Note that both of these computations are costly, hence they are only enabled by these keywords. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy of the bias potential to the system's potential energy as part of :doc:`thermodynamic output `. @@ -390,8 +381,8 @@ vector stores the following quantities: * 1 = average boost for all bonds on this step (unitless) * 2 = # of biased bonds on this step -* 3 = max strain Eij of any bond on this step (absolute value, unitless) -* 4 = value of Vmax on this step (energy units) +* 3 = max strain :math:`E_{ij}` of any bond on this step (absolute value, unitless) +* 4 = value of :math:`V^{max}` on this step (energy units) * 5 = average bias coeff for all bonds on this step (unitless) * 6 = min bias coeff for all bonds on this step (unitless) * 7 = max bias coeff for all bonds on this step (unitless) @@ -428,12 +419,12 @@ multiple runs (since the point in the input script the fix was defined). For value 10, each bond instantaneous boost factor is given by the -equation for Bij above. The total system boost (average across all +equation for :math:`B_{ij}` above. The total system boost (average across all bonds) fluctuates, but should average to a value close to the -specified Btarget. +specified :math:`B_{target}`. For value 12, the numerator is a count of all biased bonds on each -timestep whose bias energy = 0.0 due to Eij >= *qfactor*\ . The +timestep whose bias energy = 0.0 due to :math:`E_{ij} >= qfactor`. The denominator is the count of all biased bonds on all timesteps. For value 13, the numerator is a count of all biased bonds on each @@ -475,7 +466,7 @@ the communication cutoff for ghosts is too close to *Dcut* leading to many not-found ghost atoms before the next event. This may lead to a reduced number of bonds being selected for biasing, since the code assumes those atoms are part of highly strained bonds. As explained -above, the :doc:`comm\_modify cutoff ` command can be used +above, the :doc:`comm_modify cutoff ` command can be used to set a longer cutoff. For value 22, no two bonds should be biased if they are within a @@ -522,12 +513,12 @@ The scalar and vector values calculated by this fix are all "intensive". This fix also computes a local vector of length the number of bonds -currently in the system. The value for each bond is its Cij prefactor -(bias coefficient). These values can be can be accessed by various +currently in the system. The value for each bond is its :math:`C_{ij}` +prefactor (bias coefficient). These values can be can be accessed by various :doc:`output commands `. A particularly useful one is the :doc:`fix ave/histo ` command which can be used to histogram the Cij values to see if they are distributed reasonably -close to 1.0, which indicates a good choice of *Vmax*\ . +close to 1.0, which indicates a good choice of :math:`V^{max}`. The local values calculated by this fix are unitless. @@ -537,7 +528,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the REPLICA package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -554,24 +544,13 @@ The default settings for optimal keywords are bounds = -1 and reset = -1. The check/ghost and check/bias keywords are not enabled by default. - ---------- - .. _Voter2013lhd: - - **(Voter2013)** S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139, 144110 (2013). .. _Mironlhd: - - **(Miron)** R. A. Miron and K. A. Fichthorn, J Chem Phys, 119, 6210 (2003). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_imd.rst b/doc/src/fix_imd.rst index b68831654627de7db6be9de978c17c7e86f24ed8..fe54e5bf5034de217e42087f4e0e28c52eae0a28 100644 --- a/doc/src/fix_imd.rst +++ b/doc/src/fix_imd.rst @@ -6,7 +6,6 @@ fix imd command Syntax """""" - .. parsed-literal:: fix ID group-ID imd trate port keyword values ... @@ -15,9 +14,9 @@ Syntax * imd = style name of this fix command * port = port number on which the fix listens for an IMD client * keyword = *unwrap* or *fscale* or *trate* - + .. parsed-literal:: - + *unwrap* arg = *on* or *off* off = coordinates are wrapped back into the principal unit cell (default) on = "unwrapped" coordinates using the image flags used @@ -28,13 +27,10 @@ Syntax off = LAMMPS waits to be connected to an IMD client before continuing (default) on = LAMMPS listens for an IMD client, but continues with the run - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix vmd all imd 5678 fix comm all imd 8888 trate 5 unwrap on fscale 10.0 @@ -48,7 +44,7 @@ IMD protocol, as initially implemented in VMD and NAMD. Specifically it allows LAMMPS to connect an IMD client, for example the `VMD visualization program `_, so that it can monitor the progress of the simulation and interactively apply forces to selected atoms. -If LAMMPS is compiled with the pre-processor flag -DLAMMPS\_ASYNC\_IMD +If LAMMPS is compiled with the pre-processor flag -DLAMMPS_ASYNC_IMD then fix imd will use POSIX threads to spawn a IMD communication thread on MPI rank 0 in order to offload data reading and writing from the main execution thread and potentially lower the inferred @@ -108,7 +104,6 @@ with fix imd enabled, one needs to start VMD and load a coordinate or topology file that matches the fix group. When the VMD command prompts appears, one types the command line: - .. parsed-literal:: imd connect localhost 5678 @@ -138,19 +133,13 @@ screen output is active. .. _VMD: http://www.ks.uiuc.edu/Research/vmd - - .. _imdvmd: http://www.ks.uiuc.edu/Research/vmd/imd/ - - .. _vrpnicms: http://sites.google.com/site/akohlmey/software/vrpn-icms +**Restart, fix_modify, output, run start/stop, minimize info:** - -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This @@ -159,7 +148,6 @@ fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -175,8 +163,3 @@ needs to use a different port number. **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_indent.rst b/doc/src/fix_indent.rst index c130ede0093906b125a8da5acb028e6b92107451..ef62506591094f51b9e4537a5e2b3f5531bbc0cb 100644 --- a/doc/src/fix_indent.rst +++ b/doc/src/fix_indent.rst @@ -6,7 +6,6 @@ fix indent command Syntax """""" - .. parsed-literal:: fix ID group-ID indent K keyword values ... @@ -16,9 +15,9 @@ Syntax * K = force constant for indenter surface (force/distance\^2 units) * one or more keyword/value pairs may be appended * keyword = *sphere* or *cylinder* or *plane* or *side* or *units* - + .. parsed-literal:: - + *sphere* args = x y z R x,y,z = initial position of center of indenter (distance units) R = sphere radius of indenter (distance units) @@ -40,13 +39,10 @@ Syntax lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0 fix 1 all indent 10.0 sphere v_x v_y 0.0 v_radius side in @@ -66,10 +62,9 @@ must set one of those 3 keywords. A spherical indenter exerts a force of magnitude +.. math:: -.. parsed-literal:: - - F(r) = - K (r - R)\^2 + F(r) = - K \left( r - R \right)^2 on each atom where *K* is the specified force constant, *r* is the distance from the atom to the center of the indenter, and *R* is the @@ -105,47 +100,44 @@ be specified as an equal-style :doc:`variable `, namely *x*\ , *y*\ , *z*\ , or *R*\ . Similarly, for a cylindrical indenter, any of *c1*\ , *c2*\ , or *R*\ , can be a variable. For a planar indenter, *pos* can be a variable. If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to define the indenter geometry. Note that equal-style variables can specify formulas with various -mathematical functions, and include :doc:`thermo\_style ` +mathematical functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify indenter properties that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the *start* and *stop* keywords of the -:doc:`run ` command and the *elaplong* keyword of :doc:`thermo\_style custom ` for details. +:doc:`run ` command and the *elaplong* keyword of :doc:`thermo_style custom ` for details. -For example, if a spherical indenter's x-position is specified as v\_x, +For example, if a spherical indenter's x-position is specified as v_x, then this variable definition will keep it's center at a relative position in the simulation box, 1/4 of the way from the left edge to the right edge, even if the box size changes: +.. code-block:: LAMMPS -.. parsed-literal:: - - variable x equal "xlo + 0.25\*lx" + variable x equal "xlo + 0.25*lx" Similarly, either of these variable definitions will move the indenter from an initial position at 2.5 at a constant velocity of 5: +.. code-block:: LAMMPS -.. parsed-literal:: - - variable x equal "2.5 + 5\*elaplong\*dt" + variable x equal "2.5 + 5*elaplong*dt" variable x equal vdisplace(2.5,5) -If a spherical indenter's radius is specified as v\_r, then these +If a spherical indenter's radius is specified as v_r, then these variable definitions will grow the size of the indenter at a specified rate. - -.. parsed-literal:: +.. code-block:: LAMMPS variable r0 equal 0.0 variable rate equal 1.0 - variable r equal "v_r0 + step\*dt\*v_rate" + variable r equal "v_r0 + step*dt*v_rate" If the *side* keyword is specified as *out*\ , which is the default, then particles outside the indenter are pushed away from its outer @@ -169,7 +161,7 @@ cylindrical indenter is scaled by the x lattice spacing. Note that the units keyword only affects indenter geometry parameters specified directly with numbers, not those specified as variables. In the latter case, you should use the *xlat*\ , *ylat*\ , *zlat* keywords of -the :doc:`thermo\_style ` command if you want to include +the :doc:`thermo_style ` command if you want to include lattice spacings in a variable formula. The force constant *K* is not affected by the *units* keyword. It is @@ -177,24 +169,23 @@ always in force/distance\^2 units where force and distance are defined by the :doc:`units ` command. If you wish K to be scaled by the lattice spacing, you can define K with a variable whose formula contains *xlat*\ , *ylat*\ , *zlat* keywords of the -:doc:`thermo\_style ` command, e.g. +:doc:`thermo_style ` command, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable k equal 100.0/xlat/xlat fix 1 all indent $k sphere ... -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy of interaction between atoms and the indenter to the system's potential energy as part of :doc:`thermodynamic output `. The energy of each particle interacting with the indenter is K/3 (r - R)\^3. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -214,7 +205,7 @@ check if you have done this. If you want the atom/indenter interaction energy to be included in the total potential energy of the system (the quantity being - minimized), you must enable the :doc:`fix\_modify ` *energy* + minimized), you must enable the :doc:`fix_modify ` *energy* option for this fix. Restrictions @@ -227,8 +218,3 @@ Default """"""" The option defaults are side = out and units = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ipi.rst b/doc/src/fix_ipi.rst index 1dc89c4174958d858a16961c0c3f1c9e4a47d600..d60b25248df744af1b81e16beedb27ddf7c7883e 100644 --- a/doc/src/fix_ipi.rst +++ b/doc/src/fix_ipi.rst @@ -6,7 +6,6 @@ fix ipi command Syntax """""" - .. parsed-literal:: fix ID group-ID ipi address port [unix] [reset] @@ -21,8 +20,10 @@ Syntax Examples """""""" -fix 1 all ipi my.server.com 12345 -fix 1 all ipi mysocket 666 unix reset +.. code-block:: LAMMPS + + fix 1 all ipi my.server.com 12345 + fix 1 all ipi mysocket 666 unix reset Description """"""""""" @@ -68,7 +69,7 @@ If the cell varies too wildly, it may be advisable to re-initialize these interactions at each call. This behavior can be requested by setting the *reset* switch. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** There is no restart information associated with this fix, since all the dynamical parameters are dealt with by i-PI. @@ -76,7 +77,6 @@ the dynamical parameters are dealt with by i-PI. Restrictions """""""""""" - Using this fix on anything other than all atoms requires particular care, since i-PI will know nothing on atoms that are not those whose coordinates are transferred. However, one could use this strategy to @@ -93,25 +93,14 @@ Related commands :doc:`fix nve ` - ---------- - .. _IPICPC: - - **(IPI-CPC)** Ceriotti, More and Manolopoulos, Comp Phys Comm, 185, 1019-1026 (2014). .. _ipihome: - - **(IPI)** `http://epfl-cosmo.github.io/gle4md/index.html?page=ipi `_ - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_langevin.rst b/doc/src/fix_langevin.rst index d6f52084f525c2fb0824c662916abf00cfbbfe3b..7a45293db91864209c5de0e322e3299ebea1bd02 100644 --- a/doc/src/fix_langevin.rst +++ b/doc/src/fix_langevin.rst @@ -9,7 +9,6 @@ fix langevin/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID langevin Tstart Tstop damp seed keyword values ... @@ -22,9 +21,9 @@ Syntax * seed = random number seed to use for white noise (positive integer) * zero or more keyword/value pairs may be appended * keyword = *angmom* or *omega* or *scale* or *tally* or *zero* - + .. parsed-literal:: - + *angmom* value = *no* or factor *no* = do not thermostat rotational degrees of freedom via the angular momentum factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric scale factor as discussed below @@ -45,13 +44,10 @@ Syntax *no* = do not set total random force to zero *yes* = set total random force to zero - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 boundary langevin 1.0 1.0 1000.0 699483 fix 1 all langevin 1.0 1.1 100.0 48279 scale 3 1.5 @@ -66,36 +62,35 @@ implicit solvent. Used with :doc:`fix nve `, this command performs Brownian dynamics (BD), since the total force on each atom will have the form: - -.. parsed-literal:: - - F = Fc + Ff + Fr - Ff = - (m / damp) v - Fr is proportional to sqrt(Kb T m / (dt damp)) - -Fc is the conservative force computed via the usual inter-particle -interactions (:doc:`pair\_style `, -:doc:`bond\_style `, etc). - -The Ff and Fr terms are added by this fix on a per-particle basis. -See the :doc:`pair\_style dpd/tstat ` command for a -thermostatting option that adds similar terms on a pairwise basis to -pairs of interacting particles. - -Ff is a frictional drag or viscous damping term proportional to the -particle's velocity. The proportionality constant for each atom is -computed as m/damp, where m is the mass of the particle and damp is -the damping factor specified by the user. - -Fr is a force due to solvent atoms at a temperature T randomly bumping -into the particle. As derived from the fluctuation/dissipation -theorem, its magnitude as shown above is proportional to sqrt(Kb T m / -dt damp), where Kb is the Boltzmann constant, T is the desired -temperature, m is the mass of the particle, dt is the timestep size, -and damp is the damping factor. Random numbers are used to randomize -the direction and magnitude of this force as described in -:ref:`(Dunweg) `, where a uniform random number is used (instead of -a Gaussian random number) for speed. +.. math:: + + F = & F_c + F_f + F_r \\ + F_f = & - \frac{m}{\mathrm{damp}} v \\ + F_r \propto & \sqrt{\frac{k_B T m}{dt~\mathrm{damp}}} + +:math:`F_c` is the conservative force computed via the usual +inter-particle interactions (:doc:`pair_style `, +:doc:`bond_style `, etc). The :math:`F_f` and :math:`F_r` +terms are added by this fix on a per-particle basis. See the +:doc:`pair_style dpd/tstat ` command for a thermostatting +option that adds similar terms on a pairwise basis to pairs of +interacting particles. + +:math:`F_f` is a frictional drag or viscous damping term proportional to +the particle's velocity. The proportionality constant for each atom is +computed as :math:`\frac{m}{\mathrm{damp}}`, where *m* is the mass of the +particle and damp is the damping factor specified by the user. + +:math:`F_r` is a force due to solvent atoms at a temperature *T* +randomly bumping into the particle. As derived from the +fluctuation/dissipation theorem, its magnitude as shown above is +proportional to :math:`\sqrt{\frac{k_B T m}{dt~\mathrm{damp}}}`, where +:math:`k_B` is the Boltzmann constant, *T* is the desired temperature, +*m* is the mass of the particle, *dt* is the timestep size, and damp is +the damping factor. Random numbers are used to randomize the direction +and magnitude of this force as described in :ref:`(Dunweg) `, +where a uniform random number is used (instead of a Gaussian random +number) for speed. Note that unless you use the *omega* or *angmom* keywords, the thermostat effect of this fix is applied to only the translational @@ -107,14 +102,15 @@ thermostatting takes place; see the description below. .. note:: - Unlike the :doc:`fix nvt ` command which performs - Nose/Hoover thermostatting AND time integration, this fix does NOT - perform time integration. It only modifies forces to effect - thermostatting. Thus you must use a separate time integration fix, - like :doc:`fix nve ` to actually update the velocities and - positions of atoms using the modified forces. Likewise, this fix - should not normally be used on atoms that also have their temperature - controlled by another fix - e.g. by :doc:`fix nvt ` or :doc:`fix temp/rescale ` commands. + Unlike the :doc:`fix nvt ` command which performs Nose/Hoover + thermostatting AND time integration, this fix does NOT perform time + integration. It only modifies forces to effect thermostatting. Thus + you must use a separate time integration fix, like :doc:`fix nve + ` to actually update the velocities and positions of atoms + using the modified forces. Likewise, this fix should not normally be + used on atoms that also have their temperature controlled by another + fix - e.g. by :doc:`fix nvt ` or :doc:`fix temp/rescale + ` commands. See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform @@ -126,12 +122,12 @@ run from *Tstart* to *Tstop*\ . *Tstart* can be specified as an equal-style or atom-style :doc:`variable `. In this case, the *Tstop* setting is ignored. If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent temperature. @@ -145,7 +141,7 @@ with :doc:`compute commands ` that remove a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or removing the x-component of velocity from the calculation. This is not done by default, but only if the -:doc:`fix\_modify ` command is used to assign a temperature +:doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following @@ -154,13 +150,14 @@ the remaining thermal degrees of freedom, and the bias is added back in. The *damp* parameter is specified in time units and determines how -rapidly the temperature is relaxed. For example, a value of 100.0 -means to relax the temperature in a timespan of (roughly) 100 time -units (tau or fmsec or psec - see the :doc:`units ` command). -The damp factor can be thought of as inversely related to the -viscosity of the solvent. I.e. a small relaxation time implies a -hi-viscosity solvent and vice versa. See the discussion about gamma -and viscosity in the documentation for the :doc:`fix viscous ` command for more details. +rapidly the temperature is relaxed. For example, a value of 100.0 means +to relax the temperature in a timespan of (roughly) 100 time units +(:math:`\tau` or fs or ps - see the :doc:`units ` command). The +damp factor can be thought of as inversely related to the viscosity of +the solvent. I.e. a small relaxation time implies a high-viscosity +solvent and vice versa. See the discussion about :math:`\gamma` and +viscosity in the documentation for the :doc:`fix viscous ` +command for more details. The random # *seed* must be a positive integer. A Marsaglia random number generator is used. Each processor uses the input seed to @@ -168,18 +165,16 @@ generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors. - ---------- - The keyword/value option pairs are used in the following ways. The keyword *angmom* and *omega* keywords enable thermostatting of rotational degrees of freedom in addition to the usual translational degrees of freedom. This can only be done for finite-size particles. -A simulation using atom\_style sphere defines an omega for finite-size -spheres. A simulation using atom\_style ellipsoid defines a finite +A simulation using atom_style sphere defines an omega for finite-size +spheres. A simulation using atom_style ellipsoid defines a finite size and shape for aspherical particles and an angular momentum. The Langevin formulas for thermostatting the rotational degrees of freedom are the same as those above, where force is replaced by @@ -191,39 +186,40 @@ The rotational temperature of the particles can be monitored by the :doc:`compute temp/sphere ` and :doc:`compute temp/asphere ` commands with their rotate options. -For the *omega* keyword there is also a scale factor of 10.0/3.0 that -is applied as a multiplier on the Ff (damping) term in the equation -above and of sqrt(10.0/3.0) as a multiplier on the Fr term. This does -not affect the thermostatting behavior of the Langevin formalism but -insures that the randomized rotational diffusivity of spherical -particles is correct. +For the *omega* keyword there is also a scale factor of +:math:`\frac{10.0}{3.0}` that is applied as a multiplier on the +:math:`F_f` (damping) term in the equation above and of +:math:`\sqrt{\frac{10.0}{3.0}}` as a multiplier on the :math:`F_r` term. +This does not affect the thermostatting behavior of the Langevin +formalism but insures that the randomized rotational diffusivity of +spherical particles is correct. For the *angmom* keyword a similar scale factor is needed which is -10.0/3.0 for spherical particles, but is anisotropic for aspherical -particles (e.g. ellipsoids). Currently LAMMPS only applies an -isotropic scale factor, and you can choose its magnitude as the +:math:`\frac{10.0}{3.0}` for spherical particles, but is anisotropic for +aspherical particles (e.g. ellipsoids). Currently LAMMPS only applies +an isotropic scale factor, and you can choose its magnitude as the specified value of the *angmom* keyword. If your aspherical particles -are (nearly) spherical than a value of 10.0/3.0 = 3.333 is a good -choice. If they are highly aspherical, a value of 1.0 is as good a -choice as any, since the effects on rotational diffusivity of the -particles will be incorrect regardless. Note that for any reasonable -scale factor, the thermostatting effect of the *angmom* keyword on the -rotational temperature of the aspherical particles should still be -valid. +are (nearly) spherical than a value of :math:`\frac{10.0}{3.0} = +3.\overline{3}` is a good choice. If they are highly aspherical, a +value of 1.0 is as good a choice as any, since the effects on rotational +diffusivity of the particles will be incorrect regardless. Note that +for any reasonable scale factor, the thermostatting effect of the +*angmom* keyword on the rotational temperature of the aspherical +particles should still be valid. The keyword *scale* allows the damp factor to be scaled up or down by the specified factor for atoms of that type. This can be useful when different atom types have different sizes or masses. It can be used multiple times to adjust damp for several atom types. Note that specifying a ratio of 2 increases the relaxation time which is -equivalent to the solvent's viscosity acting on particles with 1/2 the -diameter. This is the opposite effect of scale factors used by the -:doc:`fix viscous ` command, since the damp factor in fix -*langevin* is inversely related to the gamma factor in fix *viscous*\ . -Also note that the damping factor in fix *langevin* includes the -particle mass in Ff, unlike fix *viscous*\ . Thus the mass and size of -different atom types should be accounted for in the choice of ratio -values. +equivalent to the solvent's viscosity acting on particles with +:math:`\frac{1}{2}` the diameter. This is the opposite effect of scale +factors used by the :doc:`fix viscous ` command, since the +damp factor in fix *langevin* is inversely related to the :math:`\gamma` +factor in fix *viscous*\ . Also note that the damping factor in fix +*langevin* includes the particle mass in Ff, unlike fix *viscous*\ . +Thus the mass and size of different atom types should be accounted for +in the choice of ratio values. The keyword *tally* enables the calculation of the cumulative energy added/subtracted to the atoms as they are thermostatted. Effectively @@ -270,10 +266,8 @@ Regardless of the choice of output velocity, the sampling of the configurational distribution of atom positions is the same, and linearly consistent with the target temperature. - ---------- - 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 @@ -292,11 +286,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. Because the state of the random number generator is not saved in restart files, this means you cannot do "exact" @@ -304,13 +296,13 @@ restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a temperature :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Langevin thermostatting to the system's potential energy as part of :doc:`thermodynamic output `. Note that use of this option requires setting the *tally* keyword to *yes*\ . @@ -330,14 +322,13 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - For *gjf* do not choose damp=dt/2. *gjf* is not compatible -with run\_style respa. +with run_style respa. Related commands """""""""""""""" -:doc:`fix nvt `, :doc:`fix temp/rescale `, :doc:`fix viscous `, :doc:`fix nvt `, :doc:`pair\_style dpd/tstat ` +:doc:`fix nvt `, :doc:`fix temp/rescale `, :doc:`fix viscous `, :doc:`fix nvt `, :doc:`pair_style dpd/tstat ` Default """"""" @@ -345,42 +336,25 @@ Default The option defaults are angmom = no, omega = no, scale = 1.0 for all types, tally = no, zero = no, gjf = no. - ---------- - .. _Dunweg1: - - **(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). .. _Schneider1: - - **(Schneider)** Schneider and Stoll, Phys Rev B, 17, 1302 (1978). .. _Gronbech-Jensen: - - **(Gronbech-Jensen)** Gronbech-Jensen and Farago, Mol Phys, 111, 983 (2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, 185, 524 (2014) .. _2Gronbech-Jensen: - - **(Gronbech-Jensen)** Gronbech Jensen and Gronbech-Jensen, Mol Phys, 117, 2511 (2019) .. _1Gronbech-Jensen: - - **(Gronbech-Jensen)** Gronbech-Jensen, Mol Phys (2019); https://doi.org/10.1080/00268976.2019.1662506 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_langevin_drude.rst b/doc/src/fix_langevin_drude.rst index 16de2eba8b3bf7cc45e2ad23cac98fce1723dfa5..f361a88736e3411a919ff70c91a5f804cec1ac1a 100644 --- a/doc/src/fix_langevin_drude.rst +++ b/doc/src/fix_langevin_drude.rst @@ -6,7 +6,6 @@ fix langevin/drude command Syntax """""" - .. parsed-literal:: fix ID group-ID langevin/drude Tcom damp_com seed_com Tdrude damp_drude seed_drude keyword values ... @@ -14,27 +13,24 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * langevin/drude = style name of this fix command * Tcom = desired temperature of the centers of mass (temperature units) -* damp\_com = damping parameter for the thermostat on centers of mass (time units) -* seed\_com = random number seed to use for white noise of the thermostat on centers of mass (positive integer) +* damp_com = damping parameter for the thermostat on centers of mass (time units) +* seed_com = random number seed to use for white noise of the thermostat on centers of mass (positive integer) * Tdrude = desired temperature of the Drude oscillators (temperature units) -* damp\_drude = damping parameter for the thermostat on Drude oscillators (time units) -* seed\_drude = random number seed to use for white noise of the thermostat on Drude oscillators (positive integer) +* damp_drude = damping parameter for the thermostat on Drude oscillators (time units) +* seed_drude = random number seed to use for white noise of the thermostat on Drude oscillators (positive integer) * zero or more keyword/value pairs may be appended * keyword = *zero* - + .. parsed-literal:: - + *zero* value = *no* or *yes* *no* = do not set total random force on centers of mass to zero *yes* = set total random force on centers of mass to zero - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 all langevin/drude 300.0 100.0 19377 1.0 20.0 83451 fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes @@ -60,50 +56,46 @@ Velocities: .. math:: - \begin{equation} V' = \frac {M\, V + m\, v} {M'} \end{equation} - + V' = \frac {M\, V + m\, v} {M'} .. math:: - \begin{equation} v' = v - V \end{equation} + v' = v - V Masses: .. math:: - \begin{equation} M' = M + m \end{equation} - + M' = M + m .. math:: - \begin{equation} m' = \frac {M\, m } {M'} \end{equation} + m' = \frac {M\, m } {M'} The Langevin forces are computed as .. math:: - \begin{equation} F' = - \frac {M'} {\mathtt{damp\_com}}\, V' + F_r' \end{equation} - + F' = - \frac {M'} {\mathtt{damp_com}}\, V' + F_r' .. math:: - \begin{equation} f' = - \frac {m'} {\mathtt{damp\_drude}}\, v' + f_r' \end{equation} + f' = - \frac {m'} {\mathtt{damp_drude}}\, v' + f_r' :math:`F_r'` is a random force proportional to -:math:`\sqrt { \frac {2\, k_B \mathtt{Tcom}\, m'} {\mathrm dt\, \mathtt{damp\_com} } }`. +:math:`\sqrt { \frac {2\, k_B \mathtt{Tcom}\, m'} {\mathrm dt\, \mathtt{damp_com} } }`. :math:`f_r'` is a random force proportional to -:math:`\sqrt { \frac {2\, k_B \mathtt{Tdrude}\, m'} {\mathrm dt\, \mathtt{damp\_drude} } }`. +:math:`\sqrt { \frac {2\, k_B \mathtt{Tdrude}\, m'} {\mathrm dt\, \mathtt{damp_drude} } }`. Then the real forces acting on the particles are computed from the inverse transform: .. math:: - \begin{equation} F = \frac M {M'}\, F' - f' \end{equation} - + F = \frac M {M'}\, F' - f' .. math:: - \begin{equation} f = \frac m {M'}\, F' + f' \end{equation} + f = \frac m {M'}\, F' + f' This fix also thermostats non-polarizable atoms in the group at temperature *Tcom*\ , as if they had a massless Drude partner. The @@ -132,10 +124,8 @@ See the :doc:`Howto thermostat ` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - This fix requires each atom know whether it is a Drude particle or not. You must therefore use the :doc:`fix drude ` command to specify the Drude status of each atom type. @@ -152,29 +142,26 @@ specify the Drude status of each atom type. .. note:: Ghost atoms need to know their velocity for this fix to act - correctly. You must use the :doc:`comm\_modify ` command to + correctly. You must use the :doc:`comm_modify ` command to enable this, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS comm_modify vel yes - ---------- - *Tcom* is the target temperature of the centers of mass, which would be used to thermostat the non-polarizable atoms. *Tdrude* is the (normally low) target temperature of the core-Drude particle pairs (dipoles). *Tcom* and *Tdrude* can be specified as an equal-style :doc:`variable `. If the value is a variable, it should be -specified as v\_name, where name is the variable name. In this case, +specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent temperature. @@ -182,7 +169,7 @@ Like other fixes that perform thermostatting, this fix can be used with :doc:`compute commands ` that remove a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms. This is not done by default, but only if the -:doc:`fix\_modify ` command is used to assign a temperature +:doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following @@ -198,14 +185,14 @@ neighboring atoms. The optimal value probably depends on the temperature of the centers of mass and on the mass of the Drude particles. -*damp\_com* is the characteristic time for reaching thermal equilibrium +*damp_com* is the characteristic time for reaching thermal equilibrium of the centers of mass. For example, a value of 100.0 means to relax the temperature of the centers of mass in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the :doc:`units ` -command). *damp\_drude* is the characteristic time for reaching +command). *damp_drude* is the characteristic time for reaching thermal equilibrium of the dipoles. It is typically a few timesteps. -The number *seed\_com* and *seed\_drude* are positive integers. They set +The number *seed_com* and *seed_drude* are positive integers. They set the seeds of the Marsaglia random number generators used for generating the random forces on centers of mass and on the dipoles. Each processor uses the input seed to generate its own unique @@ -229,14 +216,11 @@ center-of-mass and relative coordinates, respectively, can be calculated using the :doc:`compute temp/drude ` command. - ---------- - Usage example for rigid bodies in the NPT ensemble: - -.. parsed-literal:: +.. code-block:: LAMMPS comm_modify vel yes fix TEMP all langevin/drude 300. 100. 1256 1. 20. 13977 zero yes @@ -263,19 +247,16 @@ Comments: :doc:`compute temp/drude ` * Contrary to the alternative thermostatting using Nose-Hoover thermostat fix *npt* and :doc:`fix drude/transform `, the - *fix\_modify* command is not required here, because the fix *nph* + *fix_modify* command is not required here, because the fix *nph* computes the global pressure even if its group is *ATOMS*\ . This is what we want. If we thermostatted *ATOMS* using *npt*\ , the pressure should be the global one, but the temperature should be only that of - the cores. That's why the command *fix\_modify* should be called in + the cores. That's why the command *fix_modify* should be called in that case. - - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. Because the state of the random number generator is not saved in restart files, this means you cannot do "exact" @@ -283,7 +264,7 @@ restarts with this fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a temperature :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by the @@ -302,25 +283,16 @@ Related commands :doc:`fix drude `, :doc:`fix drude/transform `, :doc:`compute temp/drude `, -:doc:`pair\_style thole ` +:doc:`pair_style thole ` Default """"""" The option defaults are zero = no. - ---------- - .. _Jiang1: - - **(Jiang)** Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J Phys Chem Lett, 2, 87-92 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_langevin_eff.rst b/doc/src/fix_langevin_eff.rst index 0de23c65ab16f143002f833076d25fd35ca360cf..36768d25b25138ffaa95abd50dcb34b0560823ba 100644 --- a/doc/src/fix_langevin_eff.rst +++ b/doc/src/fix_langevin_eff.rst @@ -6,7 +6,6 @@ fix langevin/eff command Syntax """""" - .. parsed-literal:: fix ID group-ID langevin/eff Tstart Tstop damp seed keyword values ... @@ -17,9 +16,9 @@ Syntax * damp = damping parameter (time units) * seed = random number seed to use for white noise (positive integer) * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *scale* or *tally* or *zero* *scale* values = type ratio type = atom type (1-N) @@ -28,20 +27,16 @@ Syntax *no* = do not tally the energy added/subtracted to atoms *yes* = do tally the energy added/subtracted to atoms - .. parsed-literal:: - + *zero* value = *no* or *yes* *no* = do not set total random force to zero *yes* = set total random force to zero - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 boundary langevin/eff 1.0 1.0 10.0 699483 fix 1 all langevin/eff 1.0 1.1 10.0 48279 scale 3 1.5 @@ -54,37 +49,38 @@ to a group of nuclei and electrons in the :doc:`electron force field ` this command performs Brownian dynamics (BD), since the total force on each atom will have the form: +.. math:: -.. parsed-literal:: - - F = Fc + Ff + Fr - Ff = - (m / damp) v - Fr is proportional to sqrt(Kb T m / (dt damp)) + F = & F_c + F_f + F_r \\ + F_f = & - \frac{m}{\mathrm{damp}} v \\ + F_r \propto & \sqrt{\frac{k_B T m}{dt~\mathrm{damp}}} -Fc is the conservative force computed via the usual inter-particle -interactions (:doc:`pair\_style `). +:math:`F_c` is the conservative force computed via the usual +inter-particle interactions (:doc:`pair_style `). +The :math:`F_f` and :math:`F_r` terms are added by this fix on a +per-particle basis. -The Ff and Fr terms are added by this fix on a per-particle basis. +The operation of this fix is exactly like that described by the +:doc:`fix langevin ` command, except that the +thermostatting is also applied to the radial electron velocity for +electron particles. -The operation of this fix is exactly like that described by the :doc:`fix langevin ` command, except that the thermostatting -is also applied to the radial electron velocity for electron -particles. +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** +No information about this fix is written to :doc:`binary restart files +`. Because the state of the random number generator is not +saved in restart files, this means you cannot do "exact" restarts with +this fix, where the simulation continues on the same as if no restart +had taken place. However, in a statistical sense, a restarted +simulation should produce the same behavior. -No information about this fix is written to :doc:`binary restart files `. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" -restarts with this fix, where the simulation continues on the same as -if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior. - -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a temperature :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Langevin thermostatting to the system's potential energy as part of :doc:`thermodynamic output `. Note that use of this option requires setting the *tally* keyword to *yes*\ . @@ -118,23 +114,12 @@ Default The option defaults are scale = 1.0 for all types and tally = no. - ---------- - .. _Dunweg2: - - **(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). .. _Schneider2: - - **(Schneider)** Schneider and Stoll, Phys Rev B, 17, 1302 (1978). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_langevin_spin.rst b/doc/src/fix_langevin_spin.rst index 2902c8fb2477fb98893befc4f8e7b5ec9bc22348..9a70cc1cd192646779232f600b28ce42a1475b05 100644 --- a/doc/src/fix_langevin_spin.rst +++ b/doc/src/fix_langevin_spin.rst @@ -6,7 +6,6 @@ fix langevin/spin command Syntax """""" - .. parsed-literal:: fix ID group-ID langevin/spin T Tdamp seed @@ -17,12 +16,10 @@ Syntax * Tdamp = transverse magnetic damping parameter (adim) * seed = random number seed to use for white noise (positive integer) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all langevin/spin 300.0 0.01 21 @@ -36,16 +33,19 @@ Brownian dynamics (BD). A random torque and a transverse dissipation are applied to each spin i according to the following stochastic differential equation: -.. image:: Eqs/fix_langevin_spin_sLLG.jpg - :align: center +.. math:: + + \frac{d \vec{s}_{i}}{dt} = \frac{1}{\left(1+\lambda^2 \right)} \left( \left( + \vec{\omega}_{i} +\vec{\eta} \right) \times \vec{s}_{i} + \lambda\, \vec{s}_{i} + \times\left( \vec{\omega}_{i} \times\vec{s}_{i} \right) \right) -with lambda the transverse damping, and eta a random vector. +with :math:`\lambda` the transverse damping, and :math:`\eta` a random vector. This equation is referred to as the stochastic Landau-Lifshitz-Gilbert (sLLG) equation. -The components of eta are drawn from a Gaussian probability law. Their amplitude -is defined as a proportion of the temperature of the external thermostat T (in K -in metal units). +The components of :math:`\eta` are drawn from a Gaussian probability +law. Their amplitude is defined as a proportion of the temperature of +the external thermostat T (in K in metal units). More details about this implementation are reported in :ref:`(Tranchida) `. @@ -53,8 +53,7 @@ Note: due to the form of the sLLG equation, this fix has to be defined just before the nve/spin fix (and after all other magnetic fixes). As an example: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all precession/spin zeeman 0.01 0.0 0.0 1.0 fix 2 all langevin/spin 300.0 0.01 21 @@ -69,11 +68,9 @@ generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. Because the state of the random number generator is not saved in restart files, this means you cannot do "exact" @@ -86,7 +83,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - The *langevin/spin* fix is part of the SPIN package. This style is only enabled if LAMMPS was built with this package. See the :doc:`Build package ` doc page for more info. @@ -103,24 +99,13 @@ Related commands **Default:** none - ---------- - .. _Mayergoyz1: - - **(Mayergoyz)** I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009) .. _Tranchida2: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_latte.rst b/doc/src/fix_latte.rst index a13df3f40a4d7627e1065efb99de020b7fe4ff0f..f1469153a7fc421619f22b6af3c0f53379cc837f 100644 --- a/doc/src/fix_latte.rst +++ b/doc/src/fix_latte.rst @@ -6,7 +6,6 @@ fix latte command Syntax """""" - .. parsed-literal:: fix ID group-ID latte peID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix dftb all latte NULL @@ -55,10 +53,8 @@ specified as NULL. Eventually it will be used to enable LAMMPS to calculate a Coulomb potential as an alternative to LATTE performing the calculation. - ---------- - LATTE is a code for performing self-consistent charge transfer tight-binding (SC-TB) calculations of total energies and the forces acting on atoms in molecules and solids. This tight-binding method is @@ -106,19 +102,17 @@ areas of chemistry and materials science, as we now can simulate larger system sizes and longer time scales (:ref:`Cawkwell2012 `), (:ref:`Negre2016 `). - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential energy computed by LATTE to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the LATTE DFTB contribution to the system's virial as part of :doc:`thermodynamic output `. The default is *virial yes* @@ -139,12 +133,11 @@ energy minimization, invoked by the :doc:`minimize ` command. If you want the potential energy associated with the DFTB forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the - :doc:`fix\_modify ` *energy* option for this fix. + :doc:`fix_modify ` *energy* option for this fix. Restrictions """""""""""" - This fix is part of the LATTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -170,90 +163,61 @@ doing 99% or more of the work to compute quantum-accurate forces. **Default:** none - ---------- - .. _Elstner: - - **(Elstner)** M. Elstner, D. Poresag, G. Jungnickel, J. Elsner, M. Haugk, T. Frauenheim, S. Suhai, and G. Seifert, Phys. Rev. B, 58, 7260 (1998). .. _Elstner1: - - **(Elstner)** M. Elstner, D. Poresag, G. Jungnickel, J. Elsner, M. Haugk, T. Frauenheim, S. Suhai, and G. Seifert, Phys. Rev. B, 58, 7260 (1998). .. _Finnis2: - - **(Finnis)** M. W. Finnis, A. T. Paxton, M. Methfessel, and M. van Schilfgarde, Phys. Rev. Lett., 81, 5149 (1998). .. _Mniszewski: - - **(Mniszewski)** S. M. Mniszewski, M. J. Cawkwell, M. E. Wall, J. Mohd-Yusof, N. Bock, T. C. Germann, and A. M. N. Niklasson, J. Chem. Theory Comput., 11, 4644 (2015). .. _Niklasson2002: - - **(Niklasson2002)** A. M. N. Niklasson, Phys. Rev. B, 66, 155115 (2002). .. _Rubensson: - - **(Rubensson)** E. H. Rubensson, A. M. N. Niklasson, SIAM J. Sci. Comput. 36 (2), 147-170, (2014). .. _Niklasson2008: - - **(Niklasson2008)** A. M. N. Niklasson, Phys. Rev. Lett., 100, 123004 (2008). .. _Niklasson2014: - - **(Niklasson2014)** A. M. N. Niklasson and M. Cawkwell, J. Chem. Phys., 141, 164123, (2014). .. _Niklasson2017: - - **(Niklasson2017)** A. M. N. Niklasson, J. Chem. Phys., 147, 054103 (2017). .. _Cawkwell2012: - - **(Cawkwell2012)** A. M. N. Niklasson, M. J. Cawkwell, Phys. Rev. B, 86 (17), 174308 (2012). .. _Negre2016: - - **(Negre2016)** C. F. A. Negre, S. M. Mniszewski, M. J. Cawkwell, N. Bock, M. E. Wall, and A. M. N. Niklasson, J. Chem. Theory Comp., 12, 3063 (2016). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_lb_fluid.rst b/doc/src/fix_lb_fluid.rst index cd177b7f32692b0043828355c1ee5b53aa0e9be7..f450fdb8f09236234f277eba21e4753896afaed7 100644 --- a/doc/src/fix_lb_fluid.rst +++ b/doc/src/fix_lb_fluid.rst @@ -6,7 +6,6 @@ fix lb/fluid command Syntax """""" - .. parsed-literal:: fix ID group-ID lb/fluid nevery LBtype viscosity density keyword values ... @@ -19,10 +18,10 @@ Syntax * viscosity = the fluid viscosity (units of mass/(time\*length)). * density = the fluid density. * zero or more keyword/value pairs may be appended -* keyword = *setArea* or *setGamma* or *scaleGamma* or *dx* or *dm* or *a0* or *noise* or *calcforce* or *trilinear* or *D3Q19* or *read\_restart* or *write\_restart* or *zwall\_velocity* or *bodyforce* or *printfluid* - +* keyword = *setArea* or *setGamma* or *scaleGamma* or *dx* or *dm* or *a0* or *noise* or *calcforce* or *trilinear* or *D3Q19* or *read_restart* or *write_restart* or *zwall_velocity* or *bodyforce* or *printfluid* + .. parsed-literal:: - + *setArea* values = type node_area type = atom type (1-N) node_area = portion of the surface area of the composite object associated with the particular atom type (used when the force coupling constant is set by default). @@ -48,13 +47,10 @@ Syntax *bodyforce* values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid. *printfluid* values = N = print the fluid density and velocity at each grid point every N timesteps. - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all lb/fluid 1 2 1.0 1.0 setGamma 13.0 dx 4.0 dm 10.0 calcforce sphere1 fix 1 all lb/fluid 1 1 1.0 0.0009982071 setArea 1 1.144592082 dx 2.0 dm 0.3 trilinear noise 300.0 8979873 @@ -69,33 +65,38 @@ dependent force to the fluid. The lattice-Boltzmann algorithm solves for the fluid motion governed by the Navier Stokes equations, -.. image:: Eqs/fix_lb_fluid_navierstokes.jpg - :align: center +.. math:: + + \partial_t \rho + \partial_{\beta}\left(\rho u_{\beta}\right)= & 0 \\ + \partial_t\left(\rho u_{\alpha}\right) + \partial_{\beta}\left(\rho u_{\alpha} u_{\beta}\right) = & \partial_{\beta}\sigma_{\alpha \beta} + F_{\alpha} + \partial_{\beta}\left(\eta_{\alpha \beta \gamma \nu}\partial_{\gamma} u_{\nu}\right) with, -.. image:: Eqs/fix_lb_fluid_viscosity.jpg - :align: center +.. math:: + + \eta_{\alpha \beta \gamma \nu} = \eta\left[\delta_{\alpha \gamma}\delta_{\beta \nu} + \delta_{\alpha \nu}\delta_{\beta \gamma} - \frac{2}{3}\delta_{\alpha \beta}\delta_{\gamma \nu}\right] + \Lambda \delta_{\alpha \beta}\delta_{\gamma \nu} -where rho is the fluid density, u is the local fluid velocity, sigma -is the stress tensor, F is a local external force, and eta and Lambda -are the shear and bulk viscosities respectively. Here, we have -implemented +where :math:`\rho` is the fluid density, *u* is the local +fluid velocity, :math:`\sigma` is the stress tensor, *F* is a local external +force, and :math:`\eta` and :math:`\Lambda` are the shear and bulk viscosities +respectively. Here, we have implemented -.. image:: Eqs/fix_lb_fluid_stress.jpg - :align: center +.. math:: -with a\_0 set to 1/3 (dx/dt)\^2 by default. + \sigma_{\alpha \beta} = -P_{\alpha \beta} = -\rho a_0 \delta_{\alpha \beta} + +with :math:`a_0` set to :math:`\frac{1}{3} \frac{dx}{dt}^2` by default. The algorithm involves tracking the time evolution of a set of partial distribution functions which evolve according to a velocity discretized version of the Boltzmann equation, -.. image:: Eqs/fix_lb_fluid_boltzmann.jpg - :align: center +.. math:: + + \left(\partial_t + e_{i\alpha}\partial_{\alpha}\right)f_i = -\frac{1}{\tau}\left(f_i - f_i^{eq}\right) + W_i where the first term on the right hand side represents a single time -relaxation towards the equilibrium distribution function, and tau is a +relaxation towards the equilibrium distribution function, and :math:`\tau` is a parameter physically related to the viscosity. On a technical note, we have implemented a 15 velocity model (D3Q15) as default; however, the user can switch to a 19 velocity model (D3Q19) through the use of @@ -108,23 +109,27 @@ finite difference LB integrator is used. If *LBtype* is set equal to Physical variables are then defined in terms of moments of the distribution functions, -.. image:: Eqs/fix_lb_fluid_properties.jpg - :align: center +.. math:: + + \rho = & \displaystyle\sum\limits_{i} f_i \\ + \rho u_{\alpha} = & \displaystyle\sum\limits_{i} f_i e_{i\alpha} Full details of the lattice-Boltzmann algorithm used can be found in :ref:`Mackay et al. `. -The fluid is coupled to the MD particles described by *group-ID* -through a velocity dependent force. The contribution to the fluid -force on a given lattice mesh site j due to MD particle alpha is +The fluid is coupled to the MD particles described by *group-ID* through +a velocity dependent force. The contribution to the fluid force on a +given lattice mesh site j due to MD particle :math:`\alpha` is calculated as: -.. image:: Eqs/fix_lb_fluid_fluidforce.jpg - :align: center +.. math:: -where v\_n is the velocity of the MD particle, u\_f is the fluid -velocity interpolated to the particle location, and gamma is the force -coupling constant. Zeta is a weight assigned to the grid point, + {\bf F}_{j \alpha} = \gamma \left({\bf v}_n - {\bf u}_f \right) \zeta_{j\alpha} + +where :math:`\mathbf{v}_n` is the velocity of the MD particle, +:math:`\mathbf{u}_f` is the fluid +velocity interpolated to the particle location, and :math:`\gamma` is the force +coupling constant. :math:`\zeta` is a weight assigned to the grid point, obtained by distributing the particle to the nearest lattice sites. For this, the user has the choice between a trilinear stencil, which provides a support of 8 lattice sites, or the immersed boundary method @@ -135,27 +140,31 @@ to walls, due to its smaller support. Therefore, by default, the Peskin stencil is used; however the user may switch to the trilinear stencil by specifying the keyword, *trilinear*\ . -By default, the force coupling constant, gamma, is calculated according to +By default, the force coupling constant, :math:`\gamma`, is calculated +according to + +.. math:: -.. image:: Eqs/fix_lb_fluid_gammadefault.jpg - :align: center + \gamma = \frac{2m_um_v}{m_u+m_v}\left(\frac{1}{\Delta t_{collision}}\right) -Here, m\_v is the mass of the MD particle, m\_u is a representative -fluid mass at the particle location, and dt\_collision is a collision -time, chosen such that tau/dt\_collision = 1 (see :ref:`Mackay and Denniston ` for full details). In order to calculate m\_u, the -fluid density is interpolated to the MD particle location, and -multiplied by a volume, node\_area\*dx\_lb, where node\_area represents -the portion of the surface area of the composite object associated -with a given MD particle. By default, node\_area is set equal to -dx\_lb\*dx\_lb; however specific values for given atom types can be set -using the *setArea* keyword. +Here, :math:`m_v` is the mass of the MD particle, :math:`m_u` is a +representative fluid mass at the particle location, and :math:`\Delta +t_{collision}` is a collision time, chosen such that +:math:`\frac{\tau}{\Delta t_{collision}} = 1` (see :ref:`Mackay and +Denniston ` for full details). In order to calculate :math:`m_u`, +the fluid density is interpolated to the MD particle location, and +multiplied by a volume, node_area * :math:`dx_{LB}`, where node_area +represents the portion of the surface area of the composite object +associated with a given MD particle. By default, node_area is set +equal to :math:`dx_{LB}^2`; however specific values for given atom types +can be set using the *setArea* keyword. The user also has the option of specifying their own value for the force coupling constant, for all the MD particles associated with the fix, through the use of the *setGamma* keyword. This may be useful when modelling porous particles. See :ref:`Mackay et al. ` for a detailed description of the method by which the user can choose an -appropriate gamma value. +appropriate :math:`\gamma` value. .. note:: @@ -169,7 +178,9 @@ appropriate gamma value. used to integrate the particle motion. However, if the user specifies their own value for the force coupling constant, as mentioned in :ref:`Mackay et al. `, the built-in LAMMPS integrators may prove to - be unstable. Therefore, we have included our own integrators :doc:`fix lb/rigid/pc/sphere `, and :doc:`fix lb/pc `, to solve for the particle motion in these + be unstable. Therefore, we have included our own integrators + :doc:`fix lb/rigid/pc/sphere `, and + :doc:`fix lb/pc `, to solve for the particle motion in these cases. These integrators should not be used with the :doc:`lb/viscous ` fix, as they add hydrodynamic forces to the particles directly. In addition, they can not be used if the @@ -188,28 +199,29 @@ appropriate gamma value. location, in order to approximate an infinitely massive particle (see the dragforce test run for an example). - ---------- - Inside the fix, parameters are scaled by the lattice-Boltzmann -timestep, dt, grid spacing, dx, and mass unit, dm. dt is set equal to -(nevery\*dt\_MD), where dt\_MD is the MD timestep. By default, dm is set -equal to 1.0, and dx is chosen so that tau/(dt) = -(3\*eta\*dt)/(rho\*dx\^2) is approximately equal to 1. However, the user -has the option of specifying their own values for dm, and dx, by using +timestep, :math:`dt_{LB}`, grid spacing, :math:`dx_{LB}`, and mass unit, +:math:`dm_{LB}`. :math:`dt_{LB}` is set equal to +:math:`\mathrm{nevery}\cdot dt_{MD}`, where :math:`dt_{MD}` is the MD timestep. +By default, +:math:`dm_{LB}` is set equal to 1.0, and :math:`dx_{LB}` is chosen so that +:math:`\frac{\tau}{dt} = \frac{3\eta dt}{\rho dx^2}` is approximately equal to 1. +However, the user has the option of specifying their own values for +:math:`dm_{LB}`, and :math:`dx_{LB}`, by using the optional keywords *dm*\ , and *dx* respectively. .. note:: - Care must be taken when choosing both a value for dx, and a - simulation domain size. This fix uses the same subdivision of the - simulation domain among processors as the main LAMMPS program. In + Care must be taken when choosing both a value for :math:`dx_{LB}`, + and a simulation domain size. This fix uses the same subdivision of + the simulation domain among processors as the main LAMMPS program. In order to uniformly cover the simulation domain with lattice sites, the lengths of the individual LAMMPS sub-domains must all be evenly - divisible by dx. If the simulation domain size is cubic, with equal - lengths in all dimensions, and the default value for dx is used, this - will automatically be satisfied. + divisible by :math:`dx_{LB}`. If the simulation domain size is cubic, + with equal lengths in all dimensions, and the default value for + :math:`dx_{LB}` is used, this will automatically be satisfied. Physical parameters describing the fluid are specified through *viscosity*\ , *density*\ , and *a0*\ . If the force coupling constant is @@ -221,27 +233,25 @@ the mass, distance, and time units chosen for the main LAMMPS run, as they are scaled by the LB timestep, lattice spacing, and mass unit, inside the fix. - ---------- - The *setArea* keyword allows the user to associate a surface area with a given atom type. For example if a spherical composite object of radius R is represented as a spherical shell of N evenly distributed MD particles, all of the same type, the surface area per particle -associated with that atom type should be set equal to 4\*pi\*R\^2/N. +associated with that atom type should be set equal to :math:`\frac{4\pi R^2}{N}`. This keyword should only be used if the force coupling constant, -gamma, is set the default way. +:math:`\gamma`, is set the default way. The *setGamma* keyword allows the user to specify their own value for -the force coupling constant, gamma, instead of using the default +the force coupling constant, :math:`\gamma`, instead of using the default value. The *scaleGamma* keyword should be used in conjunction with the -*setGamma* keyword, when the user wishes to specify different gamma +*setGamma* keyword, when the user wishes to specify different :math:`\gamma` values for different atom types. This keyword allows the user to -scale the *setGamma* gamma value by a factor, gammaFactor, for a given -atom type. +scale the *setGamma* :math:`\gamma` value by a factor, gammaFactor, +for a given atom type. The *dx* keyword allows the user to specify a value for the LB grid spacing. @@ -250,9 +260,10 @@ The *dm* keyword allows the user to specify the LB mass unit. If the *a0* keyword is used, the value specified is used for the square of the speed of sound in the fluid. If this keyword is not -present, the speed of sound squared is set equal to (1/3)\*(dx/dt)\^2. -Setting a0 > (dx/dt)\^2 is not allowed, as this may lead to -instabilities. +present, the speed of sound squared is set equal to +:math:`\frac{1}{3}\left(\frac{dx_{LB}}{dt_{LB}}\right)^2`. +Setting :math:`a0 > (\frac{dx_{LB}}{dt_{LB}})^2` is not allowed, +as this may lead to instabilities. If the *noise* keyword is used, followed by a positive temperature value, and a positive integer random number seed, a thermal @@ -275,7 +286,7 @@ If the keyword *D3Q19* is used, the 19 velocity (D3Q19) lattice is used by the lattice-Boltzmann algorithm. By default, the 15 velocity (D3Q15) lattice is used. -If the keyword *write\_restart* is used, followed by a positive +If the keyword *write_restart* is used, followed by a positive integer, N, a binary restart file is printed every N LB timesteps. This restart file only contains information about the fluid. Therefore, a LAMMPS restart file should also be written in order to @@ -287,10 +298,10 @@ print out full details of the simulation. files may become quite large. In order to restart the fluid portion of the simulation, the keyword -*read\_restart* is specified, followed by the name of the binary -lb\_fluid restart file to be used. +*read_restart* is specified, followed by the name of the binary +lb_fluid restart file to be used. -If the *zwall\_velocity* keyword is used y-velocities are assigned to +If the *zwall_velocity* keyword is used y-velocities are assigned to the lower and upper walls. This keyword requires the presence of walls in the z-direction. This is set by assigning fixed boundary conditions in the z-direction. If fixed boundary conditions are @@ -304,27 +315,23 @@ If the *printfluid* keyword is used, followed by a positive integer, N, the fluid densities and velocities at each lattice site are printed to the screen every N timesteps. - ---------- - For further details, as well as descriptions and results of several test runs, see :ref:`Mackay et al. `. Please include a citation to -this paper if the lb\_fluid fix is used in work contributing to +this paper if the lb_fluid fix is used in work contributing to published research. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Due to the large size of the fluid data, this fix writes it's own binary restart files, if requested, independent of the main LAMMPS -:doc:`binary restart files `; no information about *lb\_fluid* +:doc:`binary restart files `; no information about *lb_fluid* is written to the main LAMMPS :doc:`binary restart files `. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the @@ -333,7 +340,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -364,49 +370,35 @@ Default By default, the force coupling constant is set according to -.. image:: Eqs/fix_lb_fluid_gammadefault.jpg - :align: center +.. math:: -and an area of dx\_lb\^2 per node, used to calculate the fluid mass at + \gamma = \frac{2m_um_v}{m_u+m_v}\left(\frac{1}{\Delta t_{collision}}\right) + +and an area of :math:`dx_{LB}^2` per node, used to calculate the fluid mass at the particle node location, is assumed. -dx is chosen such that tau/(delta t\_LB) = -(3 eta dt\_LB)/(rho dx\_lb\^2) is approximately equal to 1. -dm is set equal to 1.0. -a0 is set equal to (1/3)\*(dx\_lb/dt\_lb)\^2. +*dx* is chosen such that :math:`\frac{\tau}{dt_{LB}} = +\frac{3\eta dt_{LB}}{\rho dx_{LB}^2}` is approximately equal to 1. +*dm* is set equal to 1.0. +*a0* is set equal to :math:`\frac{1}{3}\left(\frac{dx_{LB}}{dt_{LB}}\right)^2`. The Peskin stencil is used as the default interpolation method. The D3Q15 lattice is used for the lattice-Boltzmann algorithm. If walls are present, they are assumed to be stationary. - ---------- - .. _Ollila: - - **(Ollila et al.)** Ollila, S.T.T., Denniston, C., Karttunen, M., and Ala-Nissila, T., Fluctuating lattice-Boltzmann model for complex fluids, J. Chem. Phys. 134 (2011) 064902. .. _fluid-Mackay: - - **(Mackay et al.)** Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. .. _Mackay2: - - **(Mackay and Denniston)** Mackay, F. E., and Denniston, C., Coupling MD particles to a lattice-Boltzmann fluid through the use of conservative forces, J. Comput. Phys. 237 (2013) 289-298. .. _Adhikari: - - **(Adhikari et al.)** Adhikari, R., Stratford, K., Cates, M. E., and Wagner, A. J., Fluctuating lattice Boltzmann, Europhys. Lett. 71 (2005) 473-479. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_lb_momentum.rst b/doc/src/fix_lb_momentum.rst index 2f1b953db3e9ce86d6c10a8f128eb608deed4354..a595ba2ce5e497bf823fb8cafd68cd2099cb72c5 100644 --- a/doc/src/fix_lb_momentum.rst +++ b/doc/src/fix_lb_momentum.rst @@ -6,7 +6,6 @@ fix lb/momentum command Syntax """""" - .. parsed-literal:: fix ID group-ID lb/momentum nevery keyword values ... @@ -16,19 +15,16 @@ Syntax * nevery = adjust the momentum every this many timesteps * zero or more keyword/value pairs may be appended * keyword = *linear* - + .. parsed-literal:: - + *linear* values = xflag yflag zflag xflag,yflag,zflag = 0/1 to exclude/include each dimension. - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 sphere lb/momentum fix 1 all lb/momentum linear 1 1 0 @@ -54,9 +50,9 @@ be changed by specifying the keyword *linear*\ , along with a set of three flags set to 0/1 in order to exclude/ include the corresponding dimension. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -65,7 +61,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - Can only be used if a lattice-Boltzmann fluid has been created via the :doc:`fix lb/fluid ` command, and must come after this command. @@ -82,8 +77,3 @@ Default """"""" Zeros the total system linear momentum in each dimension. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_lb_pc.rst b/doc/src/fix_lb_pc.rst index f490b8298117409ce81f2a285d4c1cda129f76be..874ff218938b2761cf966c4780f1acd88ce5bc9a 100644 --- a/doc/src/fix_lb_pc.rst +++ b/doc/src/fix_lb_pc.rst @@ -6,7 +6,6 @@ fix lb/pc command Syntax """""" - .. parsed-literal:: fix ID group-ID lb/pc @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all lb/pc @@ -31,9 +29,9 @@ forces, using the integration algorithm described in :ref:`Mackay et al. ` has been set; do not use this integration algorithm if the force coupling constant has been set by default. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -42,7 +40,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -57,17 +54,8 @@ Related commands **Default:** None. - ---------- - .. _Mackay1: - - **(Mackay et al.)** Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_lb_rigid_pc_sphere.rst b/doc/src/fix_lb_rigid_pc_sphere.rst index dfa7cf06637577741c2c477b814dec09a2220354..42fb21ca69d60e2f53ace73702e1ea7d2799a829 100644 --- a/doc/src/fix_lb_rigid_pc_sphere.rst +++ b/doc/src/fix_lb_rigid_pc_sphere.rst @@ -6,7 +6,6 @@ fix lb/rigid/pc/sphere command Syntax """""" - .. parsed-literal:: fix ID group-ID lb/rigid/pc/sphere bodystyle args keyword values ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * lb/rigid/pc/sphere = style name of this fix command * bodystyle = *single* or *molecule* or *group* - + .. parsed-literal:: - + *single* args = none *molecule* args = none *group* args = N groupID1 groupID2 ... @@ -24,9 +23,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *force* or *torque* or *innerNodes* - + .. parsed-literal:: - + *force* values = M xflag yflag zflag M = which rigid body from 1-Nbody (see asterisk form below) xflag,yflag,zflag = off/on if component of center-of-mass force is active @@ -36,13 +35,10 @@ Syntax *innerNodes* values = innergroup-ID innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 spheres lb/rigid/pc/sphere fix 1 all lb/rigid/pc/sphere force 1 0 0 innerNodes ForceAtoms @@ -61,10 +57,8 @@ solid, uniform density spheres, with moments of inertia calculated using the combined sum of the masses of all the constituent particles (which are assumed to be point particles). - ---------- - By default, all of the atoms that this fix acts on experience a hydrodynamic force due to the presence of the lattice-Boltzmann fluid. However, the *innerNodes* keyword allows the user to specify atoms @@ -81,16 +75,14 @@ is desirable simply to place an atom at the center of each sphere, which does not contribute to the hydrodynamic force, and have these central atoms interact with one another. - ---------- - Apart from the features described above, this fix is very similar to the rigid fix (although it includes fewer optional arguments, and assumes the constituent atoms are point particles); see :doc:`fix rigid ` for a complete documentation. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about the *rigid* and *rigid/nve* fixes are written to :doc:`binary restart files `. @@ -136,7 +128,6 @@ of the :doc:`run ` command. These fixes are not invoked during Restrictions """""""""""" - This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -157,17 +148,8 @@ Default The defaults are force \* on on on, and torque \* on on on. - ---------- - .. _Mackay: - - **(Mackay et al.)** Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_lb_viscous.rst b/doc/src/fix_lb_viscous.rst index ee962dfd75a3cf262bdf43cd10c1059b8fbe9008..6d7431c7807889acf4f14f689a9599ee1c8c8eca 100644 --- a/doc/src/fix_lb_viscous.rst +++ b/doc/src/fix_lb_viscous.rst @@ -6,7 +6,6 @@ fix lb/viscous command Syntax """""" - .. parsed-literal:: fix ID group-ID lb/viscous @@ -17,7 +16,9 @@ Syntax Examples """""""" -fix 1 flow lb/viscous +.. code-block:: LAMMPS + + fix 1 flow lb/viscous Description """"""""""" @@ -27,7 +28,7 @@ is to be used in place of that command when a lattice-Boltzmann fluid is present, and the user wishes to integrate the particle motion using one of the built in LAMMPS integrators. -This fix adds a force, F = - Gamma\*(velocity-fluid\_velocity), to each +This fix adds a force, F = - Gamma\*(velocity-fluid_velocity), to each atom, where Gamma is the force coupling constant described in the :doc:`fix lb/fluid ` command (which applies an equal and opposite force to the fluid). @@ -41,24 +42,20 @@ opposite force to the fluid). value is used, then this fix provides the only method for adding the hydrodynamic forces to the particles. - ---------- - For further details, as well as descriptions and results of several test runs, see :ref:`Mackay et al. `. Please include a citation to this paper if this fix is used in work contributing to published research. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** As described in the :doc:`fix viscous ` documentation: -"No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +"No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -67,13 +64,12 @@ the :doc:`run ` command. The forces due to this fix are imposed during an energy minimization, invoked by the :doc:`minimize ` command. This fix should only be used with damped dynamics minimizers that allow for -non-conservative forces. See the :doc:`min\_style ` command +non-conservative forces. See the :doc:`min_style ` command for details." Restrictions """""""""""" - This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -92,17 +88,8 @@ Related commands **Default:** none - ---------- - .. _Mackay3: - - **(Mackay et al.)** Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_lineforce.rst b/doc/src/fix_lineforce.rst index ef365eb75c3021feab457b60fa3ac03049c3d264..b02acfa9f457dc72aa4ca292902114155dae31d6 100644 --- a/doc/src/fix_lineforce.rst +++ b/doc/src/fix_lineforce.rst @@ -6,7 +6,6 @@ fix lineforce command Syntax """""" - .. parsed-literal:: fix ID group-ID lineforce x y z @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix hold boundary lineforce 0.0 1.0 1.0 @@ -34,9 +32,9 @@ plane perpendicular to the line. If the initial velocity of the atom is 0.0 (or along the line), then it should continue to move along the line thereafter. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -55,8 +53,3 @@ Related commands :doc:`fix planeforce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_manifoldforce.rst b/doc/src/fix_manifoldforce.rst index 58f98762dca6e39196032a97097c9ec21462aa4d..8cb9723277e7e93400857b8c8a1f2d36ee87936e 100644 --- a/doc/src/fix_manifoldforce.rst +++ b/doc/src/fix_manifoldforce.rst @@ -6,7 +6,6 @@ fix manifoldforce command Syntax """""" - .. parsed-literal:: fix ID group-ID manifoldforce manifold manifold-args ... @@ -15,11 +14,12 @@ Syntax * manifold = name of the manifold * manifold-args = parameters for the manifold - Examples """""""" -fix constrain all manifoldforce sphere 5.0 +.. code-block:: LAMMPS + + fix constrain all manifoldforce sphere 5.0 Description """"""""""" @@ -32,43 +32,31 @@ given manifold, e.g. to set up a run with :doc:`fix nve/manifold/rattle `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is invoked during :doc:`energy minimization `. - ---------- - Restrictions """""""""""" - This fix is part of the USER-MANIFOLD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -Only use this with *min\_style hftn* or *min\_style quickmin*. If not, +Only use this with *min_style hftn* or *min_style quickmin*. If not, the constraints will not be satisfied very well at all. A warning is -generated if the *min\_style* is incompatible but no error. - +generated if the *min_style* is incompatible but no error. ---------- - Related commands """""""""""""""" :doc:`fix nve/manifold/rattle `, :doc:`fix nvt/manifold/rattle ` - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_meso.rst b/doc/src/fix_meso.rst index 6be247101e1499ba0381661642b2cb841a13eed9..dc9f1cb9918d17d9105476fd05330a10903c6902 100644 --- a/doc/src/fix_meso.rst +++ b/doc/src/fix_meso.rst @@ -6,7 +6,6 @@ fix meso command Syntax """""" - .. parsed-literal:: fix ID group-ID meso @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all meso @@ -33,9 +31,9 @@ internal variables such as SPH or DPDE. See `this PDF guide `_ to using SPH in LAMMPS. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -44,7 +42,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -54,8 +51,3 @@ Related commands "fix meso/stationary" **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_meso_move.rst b/doc/src/fix_meso_move.rst index 79d9f499e5513924f8d2cccdabe7edb8a6406d29..a976c2de348e9238d9cc9f5a262845122f882689 100644 --- a/doc/src/fix_meso_move.rst +++ b/doc/src/fix_meso_move.rst @@ -6,7 +6,6 @@ fix meso/move command Syntax """""" - .. parsed-literal:: fix ID group-ID meso/move style args keyword values ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * meso/move = style name of this fix command * style = *linear* or *wiggle* or *rotate* or *variable* - + .. parsed-literal:: - + *linear* args = Vx Vy Vz Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL *wiggle* args = Ax Ay Az period @@ -32,18 +31,15 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - - .. parsed-literal:: - - *units* value = *box* or *lattice* + .. parsed-literal:: + *units* value = *box* or *lattice* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 boundary meso/move wiggle 3.0 0.0 0.0 1.0 units box fix 2 boundary meso/move rotate 0.0 0.0 0.0 0.0 0.0 1.0 5.0 @@ -83,20 +79,17 @@ internal energy and extrapolated velocity are also updated. are stored by the fix in "unwrapped" form, by using the image flags associated with each particle. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of - the :doc:`read\_data ` command for a discussion of image flags + the :doc:`read_data ` command for a discussion of image flags and how they are set for each particle. You can reset the image flags (e.g. to 0) before invoking this fix by using the :doc:`set image ` command. - ---------- - The *linear* style moves particles at a constant velocity, so that their position *X* = (x,y,z) as a function of time is given in vector notation as - .. parsed-literal:: X(t) = X0 + V \* delta @@ -114,8 +107,7 @@ Note that the *linear* style is identical to using the *variable* style with an :doc:`equal-style variable ` that uses the vdisplace() function. E.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable V equal 10.0 variable x equal vdisplace(0.0,$V) @@ -125,7 +117,6 @@ The *wiggle* style moves particles in an oscillatory fashion, so that their position *X* = (x,y,z) as a function of time is given in vector notation as - .. parsed-literal:: X(t) = X0 + A sin(omega\*delta) @@ -144,14 +135,13 @@ Note that the *wiggle* style is identical to using the *variable* style with :doc:`equal-style variables ` that use the swiggle() and cwiggle() functions. E.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable A equal 10.0 variable T equal 5.0 - variable omega equal 2.0\*PI/$T + variable omega equal 2.0*PI/$T variable x equal swiggle(0.0,$A,$T) - variable v equal v_omega\*($A-cwiggle(0.0,$A,$T)) + variable v equal v_omega*($A-cwiggle(0.0,$A,$T)) fix 1 boundary move variable v_x NULL NULL v_v NULL NULL The *rotate* style rotates particles around a rotation axis *R* = @@ -168,7 +158,7 @@ Rperp is a perpendicular vector from the rotation axis to the particle. The *variable* style allows the position and velocity components of each particle to be set by formulas specified via the :doc:`variable ` command. Each of the 6 variables is -specified as an argument to the fix as v\_name, where name is the +specified as an argument to the fix as v_name, where name is the variable name that is defined elsewhere in the input script. Each variable must be of either the *equal* or *atom* style. @@ -181,10 +171,10 @@ fix stores the original coordinates of each particle (see note below) so that per-atom quantity can be used in an atom-style variable formula. See the :doc:`variable ` command for details. -The first 3 variables (v\_dx,v\_dy,v\_dz) specified for the *variable* +The first 3 variables (v_dx,v_dy,v_dz) specified for the *variable* style are used to calculate a displacement from the particle's original position at the time the fix was specified. The second 3 variables -(v\_vx,v\_vy,v\_vz) specified are used to compute a velocity for each +(v_vx,v_vy,v_vz) specified are used to compute a velocity for each particle. Any of the 6 variables can be specified as NULL. If both the @@ -212,15 +202,13 @@ been previously used to define the lattice spacing. Each of these 3 quantities may be dependent on the x,y,z dimension, since the lattice spacings can be different in x,y,z. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the original coordinates of moving particles to :doc:`binary restart files `, as well as the initial timestep, so that the motion can be continuous in a restarted simulation. See the -:doc:`read\_restart ` command for info on how to re-specify +:doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. @@ -231,7 +219,7 @@ operation of the fix continues in an uninterrupted fashion. different value after reading a restart file, if you expect a fix move command to work in an uninterrupted fashion. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. This fix produces a per-atom array which can be accessed by various @@ -247,12 +235,11 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the USER-SDPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store density and internal energy as -defined by the :doc:`atom\_style meso ` command. +defined by the :doc:`atom_style meso ` command. All particles in the group must be mesoscopic SPH/SDPD particles. @@ -260,14 +247,9 @@ Related commands """""""""""""""" :doc:`fix move `, :doc:`fix meso `, -:doc:`displace\_atoms ` +:doc:`displace_atoms ` Default """"""" The option default is units = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_meso_stationary.rst b/doc/src/fix_meso_stationary.rst index 5a39661cb6880a961efc5293c9e91aec97a7917d..89c30ece146a09b5a36d5eb6a1a6fc2554422e25 100644 --- a/doc/src/fix_meso_stationary.rst +++ b/doc/src/fix_meso_stationary.rst @@ -6,7 +6,6 @@ fix meso/stationary command Syntax """""" - .. parsed-literal:: fix ID group-ID meso/stationary @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 boundary meso/stationary @@ -34,9 +32,9 @@ space. See `this PDF guide `_ to using SPH in LAMMPS. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -45,7 +43,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -55,8 +52,3 @@ Related commands "fix meso" **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_modify.rst b/doc/src/fix_modify.rst index ed9f82988ef27ef9a4fec9224b458dac02055669..604b63550c5de4516c140665be335ca25a271699 100644 --- a/doc/src/fix_modify.rst +++ b/doc/src/fix_modify.rst @@ -1,22 +1,21 @@ -.. index:: fix\_modify +.. index:: fix_modify -fix\_modify command -=================== +fix_modify command +================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix_modify fix-ID keyword value ... * fix-ID = ID of the fix to modify * one or more keyword/value pairs may be appended * keyword = *temp* or *press* or *energy* or *virial* or *respa* or *dynamic/dof* or *bodyforces* - + .. parsed-literal:: - + *temp* value = compute ID that calculates a temperature *press* value = compute ID that calculates a pressure *energy* value = *yes* or *no* @@ -27,13 +26,10 @@ Syntax *bodyforces* value = *early* or *late* early/late = compute rigid-body forces/torques early or late in the timestep - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix_modify 3 temp myTemp press myPress fix_modify 1 energy yes @@ -45,7 +41,7 @@ Description Modify one or more parameters of a previously defined fix. Only specific fix styles support specific parameters. See the doc pages for individual fix commands for info on which ones support which -fix\_modify parameters. +fix_modify parameters. The *temp* keyword is used to determine how a fix computes temperature. The specified compute ID must have been previously @@ -67,10 +63,10 @@ The *energy* keyword can be used with fixes that support it. *energy yes* adds a contribution to the potential energy of the system. The fix's global and per-atom energy is included in the calculation performed by the :doc:`compute pe ` or :doc:`compute pe/atom ` -commands. See the :doc:`thermo\_style ` command for info +commands. See the :doc:`thermo_style ` command for info on how potential energy is output. For fixes that tally a global -energy, it can be printed by using the keyword f\_ID in the -thermo\_style custom command, where ID is the fix-ID of the appropriate +energy, it can be printed by using the keyword f_ID in the +thermo_style custom command, where ID is the fix-ID of the appropriate fix. .. note:: @@ -85,7 +81,7 @@ The *virial* keyword can be used with fixes that support it. system. The fix's global and per-atom virial is included in the calculation performed by the :doc:`compute pressure ` or :doc:`compute stress/atom ` -commands. See the :doc:`thermo\_style ` command for info +commands. See the :doc:`thermo_style ` command for info on how pressure is output. .. note:: @@ -108,7 +104,7 @@ This is a number ranging from 1 to the number of levels. If the RESPA level is larger than the current maximum, the outermost level will be used, which is also the default setting. This default can be restored using a value of *0* for the RESPA level. The affected fix has to be -enabled to support this feature; if not, *fix\_modify* will report an +enabled to support this feature; if not, *fix_modify* will report an error. Active fixes with a custom RESPA level setting are reported with their specified level at the beginning of a r-RESPA run. @@ -129,7 +125,7 @@ normalized. Other thermostatting fixes, such as :doc:`fix nvt `, do not use the *dynamic/dof* keyword because they use a temperature - compute to calculate temperature. See the :doc:`compute\_modify dynamic/dof ` command for a similar way to insure + compute to calculate temperature. See the :doc:`compute_modify dynamic/dof ` command for a similar way to insure correct temperature normalization for those thermostats. The *bodyforces* keyword determines whether the forces and torques @@ -154,12 +150,12 @@ will give a warning if that is the case. Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`fix `, :doc:`compute temp `, :doc:`compute pressure `, :doc:`thermo\_style ` +:doc:`fix `, :doc:`compute temp `, :doc:`compute pressure `, :doc:`thermo_style ` Default """"""" @@ -167,8 +163,3 @@ Default The option defaults are temp = ID defined by fix, press = ID defined by fix, energy = no, virial = different for each fix style, respa = 0, bodyforce = late. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_modify_atc_commands.rst b/doc/src/fix_modify_atc_commands.rst new file mode 100644 index 0000000000000000000000000000000000000000..ec326b8bf46fe3211fe1bf796d5e877d27caf957 --- /dev/null +++ b/doc/src/fix_modify_atc_commands.rst @@ -0,0 +1,8 @@ +fix_modify AtC commands +############################ + +.. toctree:: + :maxdepth: 1 + :glob: + + atc_* diff --git a/doc/src/fix_momentum.rst b/doc/src/fix_momentum.rst index e3ace5a60e078f1d98130c9912fec41aab922f9d..58fc9278a1be41fcd0f5782daba2125c75972874 100644 --- a/doc/src/fix_momentum.rst +++ b/doc/src/fix_momentum.rst @@ -9,7 +9,6 @@ fix momentum/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID momentum N keyword values ... @@ -19,25 +18,21 @@ Syntax * N = adjust the momentum every this many timesteps one or more keyword/value pairs may be appended * keyword = *linear* or *angular* or *rescale* - + .. parsed-literal:: - + *linear* values = xflag yflag zflag xflag,yflag,zflag = 0/1 to exclude/include each dimension *angular* values = none - .. parsed-literal:: - - *rescale* values = none - + *rescale* values = none Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all momentum 1 linear 1 1 0 fix 1 all momentum 1 linear 1 1 1 rescale @@ -70,10 +65,8 @@ of atoms by rescaling the velocities after the momentum was removed. Note that the :doc:`velocity ` command can be used to create initial velocities with zero aggregate linear and/or angular momentum. - ---------- - 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 @@ -92,9 +85,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -110,8 +103,3 @@ Related commands :doc:`fix recenter `, :doc:`velocity ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_move.rst b/doc/src/fix_move.rst index 6994d9aa7c8c97a709ffb618353969245f0a5a94..e9ebbd726b2bb9a25d8c02c9c026b8911dcd2757 100644 --- a/doc/src/fix_move.rst +++ b/doc/src/fix_move.rst @@ -6,7 +6,6 @@ fix move command Syntax """""" - .. parsed-literal:: fix ID group-ID move style args keyword values ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * move = style name of this fix command * style = *linear* or *wiggle* or *rotate* or *variable* - + .. parsed-literal:: - + *linear* args = Vx Vy Vz Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL *wiggle* args = Ax Ay Az period @@ -32,18 +31,15 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - - .. parsed-literal:: - - *units* value = *box* or *lattice* + .. parsed-literal:: + *units* value = *box* or *lattice* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 boundary move wiggle 3.0 0.0 0.0 1.0 units box fix 2 boundary move rotate 0.0 0.0 0.0 0.0 0.0 1.0 5.0 @@ -78,20 +74,17 @@ whose movement can influence nearby atoms. are stored by the fix in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of - the :doc:`read\_data ` command for a discussion of image flags + the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this fix by using the :doc:`set image ` command. - ---------- - The *linear* style moves atoms at a constant velocity, so that their position *X* = (x,y,z) as a function of time is given in vector notation as - .. parsed-literal:: X(t) = X0 + V \* delta @@ -109,8 +102,7 @@ Note that the *linear* style is identical to using the *variable* style with an :doc:`equal-style variable ` that uses the vdisplace() function. E.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable V equal 10.0 variable x equal vdisplace(0.0,$V) @@ -120,7 +112,6 @@ The *wiggle* style moves atoms in an oscillatory fashion, so that their position *X* = (x,y,z) as a function of time is given in vector notation as - .. parsed-literal:: X(t) = X0 + A sin(omega\*delta) @@ -139,14 +130,13 @@ Note that the *wiggle* style is identical to using the *variable* style with :doc:`equal-style variables ` that use the swiggle() and cwiggle() functions. E.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable A equal 10.0 variable T equal 5.0 - variable omega equal 2.0\*PI/$T + variable omega equal 2.0*PI/$T variable x equal swiggle(0.0,$A,$T) - variable v equal v_omega\*($A-cwiggle(0.0,$A,$T)) + variable v equal v_omega*($A-cwiggle(0.0,$A,$T)) fix 1 boundary move variable v_x NULL NULL v_v NULL NULL The *rotate* style rotates atoms around a rotation axis *R* = @@ -159,7 +149,7 @@ around the axis in the direction of rotation. This style also sets the velocity of each atom to (omega cross Rperp) where omega is its angular velocity around the rotation axis and Rperp is a perpendicular vector from the rotation axis to the atom. If the -defined :doc:`atom\_style ` assigns an angular velocity or +defined :doc:`atom_style ` assigns an angular velocity or angular momentum or orientation to each atom (:doc:`atom styles ` sphere, ellipsoid, line, tri, body), then those properties are also updated appropriately to correspond to the atom's motion and rotation over time. @@ -167,7 +157,7 @@ atom's motion and rotation over time. The *variable* style allows the position and velocity components of each atom to be set by formulas specified via the :doc:`variable ` command. Each of the 6 variables is -specified as an argument to the fix as v\_name, where name is the +specified as an argument to the fix as v_name, where name is the variable name that is defined elsewhere in the input script. Each variable must be of either the *equal* or *atom* style. @@ -180,10 +170,10 @@ fix stores the original coordinates of each atom (see note below) so that per-atom quantity can be used in an atom-style variable formula. See the :doc:`variable ` command for details. -The first 3 variables (v\_dx,v\_dy,v\_dz) specified for the *variable* +The first 3 variables (v_dx,v_dy,v_dz) specified for the *variable* style are used to calculate a displacement from the atom's original position at the time the fix was specified. The second 3 variables -(v\_vx,v\_vy,v\_vz) specified are used to compute a velocity for each +(v_vx,v_vy,v_vz) specified are used to compute a velocity for each atom. Any of the 6 variables can be specified as NULL. If both the @@ -211,15 +201,13 @@ been previously used to define the lattice spacing. Each of these 3 quantities may be dependent on the x,y,z dimension, since the lattice spacings can be different in x,y,z. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the original coordinates of moving atoms to :doc:`binary restart files `, as well as the initial timestep, so that the motion can be continuous in a restarted simulation. See the -:doc:`read\_restart ` command for info on how to re-specify +:doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. @@ -230,7 +218,7 @@ operation of the fix continues in an uninterrupted fashion. different value after reading a restart file, if you expect a fix move command to work in an uninterrupted fashion. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. This fix produces a per-atom array which can be accessed by various @@ -251,13 +239,8 @@ Restrictions Related commands """""""""""""""" -:doc:`fix nve `, :doc:`displace\_atoms ` +:doc:`fix nve `, :doc:`displace_atoms ` **Default:** none The option default is units = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_mscg.rst b/doc/src/fix_mscg.rst index b6f776677e3acea386d8856377b4a23c0fc090ec..81a59ad7ee46b6852b89bedc801b2bec272e8828 100644 --- a/doc/src/fix_mscg.rst +++ b/doc/src/fix_mscg.rst @@ -6,7 +6,6 @@ fix mscg command Syntax """""" - .. parsed-literal:: fix ID group-ID mscg N keyword args ... @@ -16,9 +15,9 @@ Syntax * N = envoke this fix every this many timesteps * zero or more keyword/value pairs may be appended * keyword = *range* or *name* or *max* - + .. parsed-literal:: - + *range* arg = *on* or *off* *on* = range finding functionality is performed *off* = force matching functionality is performed @@ -27,13 +26,10 @@ Syntax *max* args = maxb maxa maxd maxb,maxa,maxd = maximum bonds/angles/dihedrals per atom - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all mscg 1 fix 1 all mscg 1 range name A B @@ -94,10 +90,8 @@ also be output depending on the parameters in the MS-CG library input script. Again, see the documentation provided with the MS-CG library for more info. - ---------- - The *range* keyword specifies which MS-CG library functionality should be invoked. If *on*\ , the step 4 range finder functionality is invoked. *off*\ , the step 5 force matching functionality is invoked. @@ -112,7 +106,6 @@ dihedrals a bead can have in the coarse-grained model. Restrictions """""""""""" - This fix is part of the MSCG package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -132,24 +125,13 @@ Default The default keyword settings are range off, max 4 12 36. - ---------- - .. _Izvekov: - - **(Izvekov)** Izvekov, Voth, J Chem Phys 123, 134105 (2005). .. _Noid: - - **(Noid)** Noid, Chu, Ayton, Krishna, Izvekov, Voth, Das, Andersen, J Chem Phys 128, 134105 (2008). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_msst.rst b/doc/src/fix_msst.rst index 85fb9049c34b3ed559d04d993d6ac76bcce607bf..b76af36bb8eeec57e9670db05f84bb4860ce60a3 100644 --- a/doc/src/fix_msst.rst +++ b/doc/src/fix_msst.rst @@ -6,7 +6,6 @@ fix msst command Syntax """""" - .. parsed-literal:: fix ID group-ID msst dir shockvel keyword value ... @@ -17,9 +16,9 @@ Syntax * shockvel = shock velocity (strictly positive, distance/time units) * zero or more keyword value pairs may be appended * keyword = *q* or *mu* or *p0* or *v0* or *e0* or *tscale* or *beta* or *dftb* - + .. parsed-literal:: - + *q* value = cell mass-like parameter (mass\^2/distance\^4 units) *mu* value = artificial viscosity (mass/length/time units) *p0* value = initial pressure in the shock equations (pressure units) @@ -29,13 +28,10 @@ Syntax *dftb* value = *yes* or *no* for whether using MSST in conjunction with DFTB+ *beta* value = scale factor for improved energy conservation - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5 fix 2 all msst z 50.0 q 1.0e4 mu 1.0e4 v0 4.3419e+03 p0 3.7797e+03 e0 -9.72360e+02 tscale 0.01 @@ -100,22 +96,20 @@ This fix computes a temperature and pressure and potential energy each timestep. To do this, the fix creates its own computes of style "temp" "pressure", and "pe", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_MSST_temp all temp compute fix-ID_MSST_press all pressure fix-ID_MSST_temp compute fix-ID_MSST_pe all pe -See the :doc:`compute temp ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + "_MSST\_temp`or `_ -or "_MSST\_pe". The group for the new computes is "all". - +See the :doc:`compute temp ` and :doc:`compute pressure +` commands for details. Note that the IDs of the +new computes are the fix-ID + "_MSST_temp" or "MSST_press" or +"_MSST_pe". The group for the new computes is "all". ---------- - The *dftb* keyword is to allow this fix to be used when LAMMPS is being driven by DFTB+, a density-functional tight-binding code. If the keyword *dftb* is used with a value of *yes*\ , then the MSST equations @@ -126,15 +120,14 @@ you must define a :doc:`fix external ` command in your input script, which is used to callback to DFTB+ during the LAMMPS timestepping. DFTB+ will communicate its info to LAMMPS via that fix. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -This fix writes the state of all internal variables to :doc:`binary restart files `. See the :doc:`read\_restart ` command -for info on how to re-specify a fix in an input script that reads a -restart file, so that the operation of the fix continues in an +This fix writes the state of all internal variables to :doc:`binary +restart files `. See the :doc:`read_restart ` +command for info on how to re-specify a fix in an input script that +reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. The progress of the MSST can be monitored by printing the global @@ -142,26 +135,25 @@ scalar and global vector quantities computed by the fix. The scalar is the cumulative energy change due to the fix. This is also the energy added to the potential energy by the -:doc:`fix\_modify ` *energy* command. With this command, the +:doc:`fix_modify ` *energy* command. With this command, the thermo keyword *etotal* prints the conserved quantity of the MSST dynamic equations. This can be used to test if the MD timestep is sufficiently small for accurate integration of the dynamic -equations. See also :doc:`thermo\_style ` command. +equations. See also :doc:`thermo_style ` command. The global vector contains four values in this order: -[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian\_speed*, *lagrangian\_position*] +[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, *lagrangian_position*] 1. *dhugoniot* is the departure from the Hugoniot (temperature units). 2. *drayleigh* is the departure from the Rayleigh line (pressure units). -3. *lagrangian\_speed* is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). -4. *lagrangian\_position* is the computational cell position in the reference frame moving at the shock speed. This is usually a good estimate of distance of the computational cell behind the shock front. +3. *lagrangian_speed* is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). +4. *lagrangian_position* is the computational cell position in the reference frame moving at the shock speed. This is usually a good estimate of distance of the computational cell behind the shock front. To print these quantities to the log file with descriptive column headers, the following LAMMPS commands are suggested: - -.. parsed-literal:: +.. code-block:: LAMMPS fix msst all msst z fix_modify msst energy yes @@ -172,15 +164,16 @@ headers, the following LAMMPS commands are suggested: thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst These fixes compute a global scalar and a global vector of 4 -quantities, which can be accessed by various :doc:`output commands `. The scalar values calculated by this fix -are "extensive"; the vector values are "intensive". +quantities, which can be accessed by various :doc:`output commands +`. The scalar values calculated by this fix are +"extensive"; the vector values are "intensive". Restrictions """""""""""" - This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The MSST fix has been tested only for the group-ID @@ -198,31 +191,18 @@ The keyword defaults are q = 10, mu = 0, tscale = 0.01, dftb = no, beta = 0.0. Note that p0, v0, and e0 are calculated on the first timestep. - ---------- - .. _Reed: - - **(Reed)** Reed, Fried, and Joannopoulos, Phys. Rev. Lett., 90, 235503 (2003). .. _Reed2: - - **(Reed2)** Reed, J. Phys. Chem. C, 116, 2205 (2012). .. _Goldman2: - - **(Goldman)** Goldman, Srinivasan, Hamel, Fried, Gaus, and Elstner, J. Phys. Chem. C, 117, 7885 (2013). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_mvv_dpd.rst b/doc/src/fix_mvv_dpd.rst index 9c9471fd7158294887d8aa8561945135f98ac27b..77ca08e0c5822f2eb1592404311bb4bfeb079ff3 100644 --- a/doc/src/fix_mvv_dpd.rst +++ b/doc/src/fix_mvv_dpd.rst @@ -12,7 +12,6 @@ fix mvv/tdpd command Syntax """""" - .. parsed-literal:: fix ID group-ID mvv/dpd lambda @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all mvv/dpd fix 1 all mvv/dpd 0.5 @@ -50,10 +48,14 @@ The modified velocity-Verlet (MVV) algorithm aims to improve the stability of the time integrator by using an extrapolated version of the velocity for the force evaluation: -.. image:: Eqs/fix_mvv_dpd.jpg - :align: center +.. math:: + + v(t+\frac{\Delta t}{2}) = & v(t) + \frac{\Delta t}{2}\cdot a(t) \\ + r(t+\Delta t) = & r(t) + \Delta t\cdot v(t+\frac{\Delta t}{2}) \\ + a(t+\Delta t) = & \frac{1}{m}\cdot F\left[ r(t+\Delta t), v(t) +\lambda \cdot \Delta t\cdot a(t)\right] \\ + v(t+\Delta t) = & v(t+\frac{\Delta t}{2}) + \frac{\Delta t}{2}\cdot a(t+\Delta t) -where the parameter λ depends on the +where the parameter :math:`\lambda` 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 optional. If specified, the setting must be from 0.0 to 1.0. If not specified, @@ -62,23 +64,21 @@ standard velocity-Verlet (VV) scheme. For more details, see :ref:`Groot `. Fix *mvv/dpd* updates the position and velocity of each atom. It can -be used with the :doc:`pair\_style mdpd ` command or other +be used with the :doc:`pair_style mdpd ` command or other pair styles such as :doc:`pair dpd `. Fix *mvv/edpd* updates the per-atom temperature, in addition to -position and velocity, and must be used with the :doc:`pair\_style edpd ` command. +position and velocity, and must be used with the :doc:`pair_style edpd ` command. Fix *mvv/tdpd* updates the per-atom chemical concentration, in addition to position and velocity, and must be used with the -:doc:`pair\_style tdpd ` command. - +:doc:`pair_style tdpd ` command. ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -87,33 +87,23 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - -This fix is part of the USER-MESO package. It is only enabled if +This fix is part of the USER-MESODPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_style mdpd `, :doc:`pair\_style edpd `, -:doc:`pair\_style tdpd ` +:doc:`pair_style mdpd `, :doc:`pair_style edpd `, +:doc:`pair_style tdpd ` Default """"""" The default value for the optional *lambda* parameter is 0.5. - ---------- - .. _Groot2: - - **(Groot)** Groot and Warren, J Chem Phys, 107: 4423-4435 (1997). DOI: 10.1063/1.474784 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_neb.rst b/doc/src/fix_neb.rst index 5dded81f559058d70126098bd5103e94f44a4a3e..3612192d5b5649675c759774c038c56b6e79cdab 100644 --- a/doc/src/fix_neb.rst +++ b/doc/src/fix_neb.rst @@ -6,7 +6,6 @@ fix neb command Syntax """""" - .. parsed-literal:: fix ID group-ID neb Kspring keyword value @@ -35,8 +34,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 active neb 10.0 fix 2 all neb 1.0 perp 1.0 end last @@ -66,7 +64,6 @@ interatomic force Fi = -Grad(V) for each replica I is altered. For all intermediate replicas (i.e. for 1 < I < N, except the climbing replica) the force vector becomes: - .. parsed-literal:: Fi = -Grad(V) + (Grad(V) dot T') T' + Fnudge_parallel + Fnudge_perp @@ -78,10 +75,10 @@ roughly in the direction of (Ri+i - Ri-1); see the coordinates of replica I; Ri-1 and Ri+1 are the coordinates of its neighbor replicas. The term (Grad(V) dot T') is used to remove the component of the gradient parallel to the path which would tend to -distribute the replica unevenly along the path. Fnudge\_parallel is an +distribute the replica unevenly along the path. Fnudge_parallel is an artificial nudging force which is applied only in the tangent direction and which maintains the equal spacing between replicas (see -below for more information). Fnudge\_perp is an optional artificial +below for more information). Fnudge_perp is an optional artificial spring which is applied in a direction perpendicular to the tangent direction and which prevent the paths from forming acute kinks (see below for more information). @@ -90,23 +87,19 @@ In the second stage of the NEB calculation, the interatomic force Fi for the climbing replica (the replica of highest energy after the first stage) is changed to: - .. parsed-literal:: Fi = -Grad(V) + 2 (Grad(V) dot T') T' and the relaxation procedure is continued to a new converged MEP. - ---------- - The keyword *parallel* specifies how the parallel nudging force is computed. With a value of *neigh*\ , the parallel nudging force is computed as in :ref:`(Henkelman1) ` by connecting each intermediate replica with the previous and the next image: - .. parsed-literal:: Fnudge_parallel = *Kspring* \* (\|Ri+1 - Ri\| - \|Ri - Ri-1\|) @@ -115,8 +108,7 @@ Note that in this case the specified *Kspring* is in force/distance units. With a value of *ideal*\ , the spring force is computed as suggested in -ref`(WeinanE) ` - +ref`(WeinanE) ` .. parsed-literal:: @@ -132,10 +124,8 @@ in force units. Note that the *ideal* form of nudging can often be more effective at keeping the replicas equally spaced. - ---------- - 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 strongly kinked. It can @@ -145,7 +135,6 @@ resolution is poor. I.e. when few replicas are used; see The perpendicular spring force is given by - .. parsed-literal:: Fnudge_perp = *Kspring2* \* F(Ri-1,Ri,Ri+1) (Ri+1 + Ri-1 - 2 Ri) @@ -158,10 +147,8 @@ acute. F(Ri-1 Ri R+1) is defined in :ref:`(Jonsson) `. If *Kspring2* is set to 0.0 (the default) then no perpendicular spring force is added. - ---------- - 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 @@ -171,7 +158,6 @@ target energy ETarget. If ETarget>E, the interatomic force Fi for the specified replica becomes: - .. parsed-literal:: Fi = -Grad(V) + (Grad(V) dot T' + (E-ETarget)\*Kspring3) T', *when* Grad(V) dot T' < 0 @@ -217,9 +203,9 @@ 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:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -232,7 +218,6 @@ as invoked by the :doc:`minimize ` command via the Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. @@ -248,45 +233,28 @@ Default The option defaults are parallel = neigh, perp = 0.0, ends is not specified (no inter-replica force on the end replicas). - ---------- - .. _Henkelman1: - - **(Henkelman1)** Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000). .. _Henkelman2: - - **(Henkelman2)** Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, 9901-9904 (2000). .. _WeinanE: - - **(WeinanE)** E, Ren, Vanden-Eijnden, Phys Rev B, 66, 052301 (2002). .. _Jonsson: - - **(Jonsson)** Jonsson, Mills and Jacobsen, in Classical and Quantum Dynamics in Condensed Phase Simulations, edited by Berne, Ciccotti, and Coker World Scientific, Singapore, 1998, p 385. .. _Maras1: - - **(Maras)** Maras, Trushin, Stukowski, Ala-Nissila, Jonsson, Comp Phys Comm, 205, 13-21 (2016). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_neb_spin.rst b/doc/src/fix_neb_spin.rst index 5b316f0009062a569956b920b7e7c0c7157b66ca..93729ac96f5c7e20a374d37c68366568c6116483 100644 --- a/doc/src/fix_neb_spin.rst +++ b/doc/src/fix_neb_spin.rst @@ -6,7 +6,6 @@ fix neb/spin command Syntax """""" - .. parsed-literal:: fix ID group-ID neb/spin Kspring @@ -22,7 +21,9 @@ Syntax Examples """""""" -fix 1 active neb/spin 1.0 +.. code-block:: LAMMPS + + fix 1 active neb/spin 1.0 Description """"""""""" @@ -46,9 +47,9 @@ The nudging forces are calculated as explained in :ref:`(BessarabB) `). See this reference for more explanation about their expression. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -61,7 +62,6 @@ as invoked by the :doc:`minimize ` command via the Restrictions """""""""""" - This command can only be used if LAMMPS was built with the SPIN package. See the :doc:`Build package ` doc page for more info. @@ -69,25 +69,16 @@ page for more info. Related commands """""""""""""""" -:doc:`neb\_spin ` +:doc:`neb_spin ` Default """"""" none - ---------- - .. _BessarabB: - - **(BessarabB)** Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, 335-347 (2015). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nh.rst b/doc/src/fix_nh.rst index 0f7512505876f2e451caf575d0bf6b8a510798b9..6927b47fcb0242266f4eb75b1f16c233205f5da9 100644 --- a/doc/src/fix_nh.rst +++ b/doc/src/fix_nh.rst @@ -36,17 +36,16 @@ fix nph/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID style_name keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* style\_name = *nvt* or *npt* or *nph* +* style_name = *nvt* or *npt* or *nph* * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *temp* or *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *yz* or *xz* or *couple* or *tchain* or *pchain* or *mtk* or *tloop* or *ploop* or *nreset* or *drag* or *dilate* or *scalexy* or *scaleyz* or *scalexz* or *flip* or *fixedpoint* or *update* *temp* values = Tstart Tstop Tdamp Tstart,Tstop = external temperature at start/end of run @@ -82,13 +81,10 @@ Syntax dipole = update dipole orientation (only for sphere variants) dipole/dlm = use DLM integrator to update dipole orientation (only for sphere variants) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt temp 300.0 300.0 100.0 fix 1 water npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 @@ -128,10 +124,8 @@ energy proposed by Parrinello and Rahman in follow the time-reversible measure-preserving Verlet and rRESPA integrators derived by Tuckerman et al in :ref:`(Tuckerman) `. - ---------- - The thermostat parameters for fix styles *nvt* and *npt* are specified using the *temp* keyword. Other thermostat-related keywords are *tchain*\ , *tloop* and *drag*\ , which are discussed below. @@ -159,15 +153,12 @@ by the velocity/position update portion of the integration. via using an :doc:`immediate variable ` expression accessing the thermo property 'dt', which is the length of the time step. Example: +.. code-block:: LAMMPS -.. parsed-literal:: - - fix 1 all nvt temp 300.0 300.0 $(100.0\*dt) - + fix 1 all nvt temp 300.0 300.0 $(100.0*dt) ---------- - The barostat parameters for fix styles *npt* and *nph* is specified using one or more of the *iso*\ , *aniso*\ , *tri*\ , *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , *yz*\ , and *couple* keywords. These keywords give you the @@ -181,7 +172,7 @@ Other barostat-related keywords are *pchain*\ , *mtk*\ , *ploop*\ , Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable -dimensions (x,y,z,xy,xz,yz). The :doc:`create\_box `, :doc:`read data `, and :doc:`read\_restart ` commands +dimensions (x,y,z,xy,xz,yz). The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. @@ -233,10 +224,8 @@ group, a separate time integration fix like :doc:`fix nve ` or :doc:`fix nvt ` can be used on them, independent of whether they are dilated or not. - ---------- - The *couple* keyword allows two or three of the diagonal components of the pressure tensor to be "coupled" together. The value specified with the keyword determines which are coupled. For example, *xz* @@ -250,10 +239,8 @@ dilated or contracted by the same percentage every timestep. The be identical. *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. - ---------- - The *iso*\ , *aniso*\ , and *tri* keywords are simply shortcuts that are equivalent to specifying several other keywords together. @@ -262,7 +249,6 @@ pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using "iso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -276,7 +262,6 @@ stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -290,7 +275,6 @@ as the driving forces, and the specified scalar pressure as the external normal stress. Using "tri Pstart Pstop Pdamp" is the same as specifying these 7 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -301,10 +285,8 @@ specifying these 7 keywords: xz 0.0 0.0 Pdamp couple none - ---------- - In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional *drag* keyword will @@ -389,7 +371,7 @@ If the *update* keyword is used with the *dipole* value, then the orientation of the dipole moment of each particle is also updated during the time integration. This option should be used for models where a dipole moment is assigned to finite-size particles, -e.g. spheroids via use of the :doc:`atom\_style hybrid sphere dipole ` command. +e.g. spheroids via use of the :doc:`atom_style hybrid sphere dipole ` command. The default dipole orientation integrator can be changed to the Dullweber-Leimkuhler-McLachlan integration scheme @@ -398,10 +380,8 @@ Dullweber-Leimkuhler-McLachlan integration scheme giving better energy conservation and allows slightly longer timesteps at only a small additional computational cost. - ---------- - .. note:: Using a barostat coupled to tilt dimensions *xy*\ , *xz*\ , *yz* can @@ -449,22 +429,23 @@ See the :doc:`Howto thermostat ` and :doc:`Howto barostat ` and :doc:`compute pressure ` commands for details. Note that the IDs of the new computes are the -fix-ID + underscore + "temp" or fix\_ID + underscore + "press". +fix-ID + underscore + "temp" or fix_ID + underscore + "press". Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of these +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of these fix's temperature or pressure via the -:doc:`compute\_modify ` command. Or you can print this +:doc:`compute_modify ` command. Or you can print this temperature or pressure during thermodynamic output via the -:doc:`thermo\_style custom ` command using the appropriate -compute-ID. It also means that changing attributes of *thermo\_temp* -or *thermo\_press* will have no effect on this fix. +:doc:`thermo_style custom ` command using the appropriate +compute-ID. It also means that changing attributes of *thermo_temp* +or *thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, fix nvt and fix npt can be used with :doc:`compute commands ` that calculate a @@ -493,7 +474,7 @@ temperature after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not -done by default, but only if the :doc:`fix\_modify ` command +done by default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -501,18 +482,34 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - These fixes can be used with either the *verlet* or *respa* :doc:`integrators `. When using one of the barostat fixes with *respa*\ , LAMMPS uses an integrator constructed according to the following factorization of the Liouville propagator (for two rRESPA levels): -.. image:: Eqs/fix_nh1.jpg - :align: center +.. math:: + + \exp \left(\mathrm{i} L \Delta t \right) = & \hat{E} + \exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\ + &\times \left[ + \exp \left(\mathrm{i} L_{2}^{(1)} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_1 \frac{\Delta t}{n} \right) + \exp \left(\mathrm{i} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_{2}^{(1)} \frac{\Delta t}{2n} \right) + \right]^n \\ + &\times + \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) \\ + &+ \mathcal{O} \left(\Delta t^3 \right) This factorization differs somewhat from that of Tuckerman et al, in that the barostat is only updated at the outermost rRESPA level, @@ -537,20 +534,16 @@ of the underlying non-Hamiltonian equations of motion. the momentum at infrequent intervals using the :doc:`fix momentum ` command. - ---------- - The fix npt and fix nph commands can be used with rigid bodies or mixtures of rigid bodies and non-rigid particles (e.g. solvent). But there are also :doc:`fix rigid/npt ` and :doc:`fix rigid/nph ` commands, which are typically a more natural choice. See the doc page for those commands for more discussion of the various ways to do this. - ---------- - 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 @@ -569,19 +562,17 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** These fixes writes the state of all the thermostat and barostat variables to :doc:`binary restart files `. See the -:doc:`read\_restart ` command for info on how to re-specify +:doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by these fixes. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting or barostatting procedure, as described above. @@ -593,7 +584,7 @@ compute temperature on a subset of atoms. .. note:: If both the *temp* and *press* keywords are used in a single - thermo\_modify command (or in two separate commands), then the order in + thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a :doc:`pressure compute ` defines its own temperature compute as an argument when it is specified. The *temp* keyword will override this (for the pressure compute being used by fix npt), but only if the @@ -602,7 +593,7 @@ compute temperature on a subset of atoms. specified by the *press* keyword will be unaffected by the *temp* setting. -The :doc:`fix\_modify ` *energy* option is supported by these +The :doc:`fix_modify ` *energy* option is supported by these fixes to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -628,21 +619,21 @@ simulation, otherwise its value is 3. The order of values in the global vector and their meaning is as follows. The notation means there are tchain values for eta, followed -by tchain for eta\_dot, followed by ndof for omega, etc: +by tchain for eta_dot, followed by ndof for omega, etc: * eta[tchain] = particle thermostat displacements (unitless) -* eta\_dot[tchain] = particle thermostat velocities (1/time units) +* eta_dot[tchain] = particle thermostat velocities (1/time units) * omega[ndof] = barostat displacements (unitless) -* omega\_dot[ndof] = barostat velocities (1/time units) +* omega_dot[ndof] = barostat velocities (1/time units) * etap[pchain] = barostat thermostat displacements (unitless) -* etap\_dot[pchain] = barostat thermostat velocities (1/time units) -* PE\_eta[tchain] = potential energy of each particle thermostat displacement (energy units) -* KE\_eta\_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units) -* PE\_omega[ndof] = potential energy of each barostat displacement (energy units) -* KE\_omega\_dot[ndof] = kinetic energy of each barostat velocity (energy units) -* PE\_etap[pchain] = potential energy of each barostat thermostat displacement (energy units) -* KE\_etap\_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units) -* PE\_strain[1] = scalar strain energy (energy units) +* etap_dot[pchain] = barostat thermostat velocities (1/time units) +* PE_eta[tchain] = potential energy of each particle thermostat displacement (energy units) +* KE_eta_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units) +* PE_omega[ndof] = potential energy of each barostat displacement (energy units) +* KE_omega_dot[ndof] = kinetic energy of each barostat velocity (energy units) +* PE_etap[pchain] = potential energy of each barostat thermostat displacement (energy units) +* KE_etap_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units) +* PE_strain[1] = scalar strain energy (energy units) These fixes can ramp their external temperature and pressure over multiple runs, using the *start* and *stop* keywords of the @@ -651,20 +642,17 @@ how to do this. These fixes are not invoked during :doc:`energy minimization `. - ---------- - Restrictions """""""""""" - *X*\ , *y*\ , *z* cannot be barostatted if the associated dimension is not periodic. *Xy*\ , *xz*\ , and *yz* can only be barostatted if the simulation domain is triclinic and the 2nd dimension in the keyword (\ *y* dimension in *xy*\ ) is periodic. *Z*\ , *xz*\ , and *yz*\ , cannot be -barostatted for 2D simulations. The :doc:`create\_box `, -:doc:`read data `, and :doc:`read\_restart ` +barostatted for 2D simulations. The :doc:`create_box `, +:doc:`read data `, and :doc:`read_restart ` commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. @@ -690,8 +678,8 @@ over time or the atom count becomes very small. Related commands """""""""""""""" -:doc:`fix nve `, :doc:`fix\_modify `, -:doc:`run\_style ` +:doc:`fix nve `, :doc:`fix_modify `, +:doc:`run_style ` Default """"""" @@ -701,43 +689,26 @@ ploop = 1, nreset = 0, drag = 0.0, dilate = all, couple = none, flip = yes, scaleyz = scalexz = scalexy = yes if periodic in 2nd dimension and not coupled to barostat, otherwise no. - ---------- - .. _nh-Martyna: - - **(Martyna)** Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). .. _nh-Parrinello: - - **(Parrinello)** Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). .. _nh-Tuckerman: - - **(Tuckerman)** Tuckerman, Alejandre, Lopez-Rendon, Jochim, and Martyna, J Phys A: Math Gen, 39, 5629 (2006). .. _nh-Shinoda: - - **(Shinoda)** Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). .. _nh-Dullweber: - - **(Dullweber)** Dullweber, Leimkuhler and McLachlan, J Chem Phys, 107, 5840 (1997). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nh_eff.rst b/doc/src/fix_nh_eff.rst index cf6a65352ffc75bc311fb171f8f35a217f3d0520..b5fecf279f7deea0cd859ed877a2a683805bfbd4 100644 --- a/doc/src/fix_nh_eff.rst +++ b/doc/src/fix_nh_eff.rst @@ -12,16 +12,15 @@ fix nph/eff command Syntax """""" - .. parsed-literal:: fix ID group-ID style_name keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* style\_name = *nvt/eff* or *npt/eff* or *nph/eff* - +* style_name = *nvt/eff* or *npt/eff* or *nph/eff* + .. parsed-literal:: - + one or more keyword value pairs may be appended keyword = *temp* or *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *yz* or *xz* or *couple* or *tchain* or *pchain* or *mtk* or *tloop* or *ploop* or *nreset* or *drag* or *dilate* *temp* values = Tstart Tstop Tdamp @@ -43,13 +42,10 @@ Syntax *drag* value = drag factor added to barostat/thermostat (0.0 = no drag) *dilate* value = *all* or *partial* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/eff temp 300.0 300.0 0.1 fix 1 part npt/eff temp 300.0 300.0 0.1 iso 0.0 0.0 1.0 @@ -89,7 +85,7 @@ to the temperature or kinetic energy from the electron radial velocity. .. note:: there are two different pressures that can be reported for eFF - when defining the pair\_style (see :doc:`pair eff/cut ` to + when defining the pair_style (see :doc:`pair eff/cut ` to understand these settings), one (default) that considers electrons do not contribute radial virial components (i.e. electrons treated as incompressible 'rigid' spheres) and one that does. The radial @@ -109,7 +105,7 @@ to the temperature or kinetic energy from the electron radial velocity. the user must allow for these degrees of freedom to equilibrate (i.e. equi-partitioning of energy) through time integration. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** See the doc page for the :doc:`fix nvt, npt, and nph ` commands for details. @@ -117,7 +113,6 @@ for details. Restrictions """""""""""" - This fix is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -138,7 +133,7 @@ Related commands """""""""""""""" :doc:`fix nvt `, :doc:`fix nph `, :doc:`fix npt `, -:doc:`fix\_modify `, :doc:`run\_style ` +:doc:`fix_modify `, :doc:`run_style ` Default """"""" @@ -146,36 +141,21 @@ Default The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = ploop = 1, nreset = 0, drag = 0.0, dilate = all, and couple = none. - ---------- - .. _Martyna1: - - **(Martyna)** Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). .. _Parrinello: - - **(Parrinello)** Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). .. _Tuckerman1: - - **(Tuckerman)** Tuckerman, Alejandre, Lopez-Rendon, Jochim, and Martyna, J Phys A: Math Gen, 39, 5629 (2006). .. _Shinoda2: - - **(Shinoda)** Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nh_uef.rst b/doc/src/fix_nh_uef.rst index 35110d9cce13396463da697b383c7a04ce3ad0c4..27851d89a1f5aa088a2ffa7bd6724d064d9c2b89 100644 --- a/doc/src/fix_nh_uef.rst +++ b/doc/src/fix_nh_uef.rst @@ -9,19 +9,18 @@ fix npt/uef command Syntax """""" - .. parsed-literal:: fix ID group-ID style_name erate edot_x edot_y temp Tstart Tstop Tdamp keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* style\_name = *nvt/uef* or *npt/uef* +* style_name = *nvt/uef* or *npt/uef* * *Tstart*\ , *Tstop*\ , and *Tdamp* are documented in the :doc:`fix npt ` command -* *edot\_x* and *edot\_y* are the strain rates in the x and y directions (1/(time units)) +* *edot_x* and *edot_y* are the strain rates in the x and y directions (1/(time units)) * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *ext* or *strain* or *iso* or *x* or *y* or *z* or *tchain* or *pchain* or *tloop* or *ploop* or *mtk* *ext* value = *x* or *y* or *z* or *xy* or *yz* or *xz* = external dimensions sets the external dimensions used to calculate the scalar pressure @@ -30,13 +29,10 @@ Syntax *iso*\ , *x*\ , *y*\ , *z*\ , *tchain*\ , *pchain*\ , *tloop*\ , *ploop*\ , *mtk* keywords documented by the :doc:`fix npt ` command - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix uniax_nvt all nvt/uef temp 400 400 100 erate 0.00001 -0.000005 fix biax_nvt all nvt/uef temp 400 400 100 erate 0.000005 0.000005 @@ -61,10 +57,10 @@ Note that NEMD simulations of a continuously strained system can be performed using the :doc:`fix deform `, :doc:`fix nvt/sllod `, and :doc:`compute temp/deform ` commands. The applied flow field is set by the *eps* keyword. The values -*edot\_x* and *edot\_y* correspond to the strain rates in the xx and yy +*edot_x* and *edot_y* correspond to the strain rates in the xx and yy directions. It is implicitly assumed that the flow field is traceless, and therefore the strain rate in the zz direction is eqal -to -(*edot\_x* + *edot\_y*). +to -(*edot_x* + *edot_y*). .. note:: @@ -89,19 +85,17 @@ in the LAMMPS frame. Only when the positions and velocities are updated is the system rotated to the flow frame, and it is rotated back to the LAMMPS frame immediately afterwards. For this reason, all vector-valued quantities (except for the tensors from -:doc:`compute\_pressure/uef ` and -:doc:`compute\_temp/uef `) will be computed in the +:doc:`compute pressure/uef ` and +:doc:`compute temp/uef `) will be computed in the LAMMPS frame. Rotationally invariant scalar quantities like the temperature and hydrostatic pressure are frame-invariant and will be computed correctly. Additionally, the system is in the LAMMPS frame during all of the output steps, and therefore trajectory files made using the dump command will be in the LAMMPS frame unless the -:doc:`dump\_cfg/uef ` command is used. - +:doc:`dump cfg/uef ` command is used. ---------- - Temperature control is achieved with the default Nose-Hoover style thermostat documented in :doc:`fix npt `. When this fix is active, only the peculiar velocity of each atom is stored, defined as @@ -122,8 +116,7 @@ pressure (Pxx+Pyy)/2 will be controlled. This example command will control the total hydrostatic pressure under uniaxial tension: - -.. parsed-literal:: +.. code-block:: LAMMPS fix f1 all npt/uef temp 0.7 0.7 0.5 iso 1 1 5 erate -0.5 -0.5 ext xyz @@ -131,8 +124,7 @@ This example command will control the average stress in compression directions, which would typically correspond to free surfaces under drawing with uniaxial tension: - -.. parsed-literal:: +.. code-block:: LAMMPS fix f2 all npt/uef temp 0.7 0.7 0.5 iso 1 1 5 erate -0.5 -0.5 ext xy @@ -148,31 +140,26 @@ method. For example, the following commands will work: - -.. parsed-literal:: +.. code-block:: LAMMPS fix f3 all npt/uef temp 0.7 0.7 0.5 x 1 1 5 y 1 1 5 erate -0.5 -0.5 fix f4 all npt/uef temp 0.7 0.7 0.5 z 1 1 5 erate 0.5 0.5 The following commands will not work: - -.. parsed-literal:: +.. code-block:: LAMMPS fix f5 all npt/uef temp 0.7 0.7 0.5 x 1 1 5 z 1 1 5 erate -0.5 -0.5 fix f6 all npt/uef temp 0.7 0.7 0.5 x 1 1 5 z 2 2 5 erate 0.5 0.5 - ---------- - These fix computes a temperature and pressure each timestep. To do this, it creates its own computes of style "temp/uef" and "pressure/uef", as if one of these two sets of commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp/uef compute fix-ID_press group-ID pressure/uef fix-ID_temp @@ -182,12 +169,12 @@ issued: See the :doc:`compute temp/uef ` and :doc:`compute pressure/uef ` commands for details. Note that the IDs of the new computes are the fix-ID + underscore + "temp" -or fix\_ID + underscore + "press". +or fix_ID + underscore + "press". -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** The fix writes the state of all the thermostat and barostat variables, -as well as the cumulative strain applied, to :doc:`binary restart files `. See the :doc:`read\_restart ` command +as well as the cumulative strain applied, to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. @@ -199,7 +186,7 @@ uninterrupted fashion. not contain the cumulative applied strain, will this keyword be necessary. -This fix can be used with the :doc:`fix\_modify ` *temp* and +This fix can be used with the :doc:`fix_modify ` *temp* and *press* options. The temperature and pressure computes used must be of type *temp/uef* and *pressure/uef*\ . @@ -210,14 +197,13 @@ The fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the USER-UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Due to requirements of the boundary conditions, when the *strain* keyword is set to zero (or unset), the initial simulation box must be cubic and have style triclinic. If the box is initially of type ortho, -use :doc:`change\_box ` before invoking the fix. +use :doc:`change_box ` before invoking the fix. .. note:: @@ -235,45 +221,28 @@ Default The default keyword values specific to this fix are exy = xyz, strain = 0 0. The remaining defaults are the same as for *fix -npt*\ \_fix\_nh.html except tchain = 1. The reason for this change is +npt*\ _fix_nh.html except tchain = 1. The reason for this change is given in :doc:`fix nvt/sllod `. - ---------- - .. _Dobson: - - **(Dobson)** Dobson, J Chem Phys, 141, 184103 (2014). .. _Hunt: - - **(Hunt)** Hunt, Mol Simul, 42, 347 (2016). .. _Semaev: - - **(Semaev)** Semaev, Cryptography and Lattices, 181 (2001). .. _Sllod: - - **(Evans and Morriss)** Evans and Morriss, Phys Rev A, 30, 1528 (1984). .. _Nicholson: - - **(Nicholson and Rutledge)** Nicholson and Rutledge, J Chem Phys, 145, 244903 (2016). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nph_asphere.rst b/doc/src/fix_nph_asphere.rst index cea1ee71b30d30b80fea7163b698ff1ac69a0a6d..76670f1c300f19ab72fcc8faa18102af1fc230ad 100644 --- a/doc/src/fix_nph_asphere.rst +++ b/doc/src/fix_nph_asphere.rst @@ -9,7 +9,6 @@ fix nph/asphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nph/asphere args keyword value ... @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nph/asphere iso 0.0 0.0 1000.0 fix 2 all nph/asphere x 5.0 5.0 1000.0 @@ -57,38 +55,33 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/asphere" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/asphere compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/asphere ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the -:doc:`compute\_modify ` command or print this temperature -or pressure during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. - +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. ---------- - 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 @@ -107,14 +100,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files `. See the :doc:`read\_restart ` +This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by this fix. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note @@ -123,7 +116,7 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover barostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -139,12 +132,11 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the :doc:`atom\_style ellipsoid ` +quaternion as defined by the :doc:`atom_style ellipsoid ` command. All particles in the group must be finite-size. They cannot be point @@ -154,11 +146,6 @@ shape attribute. Related commands """""""""""""""" -:doc:`fix nph `, :doc:`fix nve\_asphere `, :doc:`fix nvt\_asphere `, :doc:`fix npt\_asphere `, :doc:`fix\_modify ` +:doc:`fix nph `, :doc:`fix nve_asphere `, :doc:`fix nvt_asphere `, :doc:`fix npt_asphere `, :doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nph_body.rst b/doc/src/fix_nph_body.rst index 8ce3009700bdc7635a86725fa083e5273c7f344b..c2f6097fefef9cbaa328399d000b3d23b196adb2 100644 --- a/doc/src/fix_nph_body.rst +++ b/doc/src/fix_nph_body.rst @@ -6,7 +6,6 @@ fix nph/body command Syntax """""" - .. parsed-literal:: fix ID group-ID nph/body args keyword value ... @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nph/body iso 0.0 0.0 1000.0 fix 2 all nph/body x 5.0 5.0 1000.0 @@ -54,38 +52,33 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/body" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/body compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/body ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the -:doc:`compute\_modify ` command or print this temperature -or pressure during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. - +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. ---------- - 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 @@ -104,14 +97,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files `. See the :doc:`read\_restart ` +This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by this fix. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note @@ -120,7 +113,7 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover barostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -136,22 +129,16 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the :doc:`atom\_style body ` +quaternion as defined by the :doc:`atom_style body ` command. Related commands """""""""""""""" -:doc:`fix nph `, :doc:`fix nve\_body `, :doc:`fix nvt\_body `, :doc:`fix npt\_body `, :doc:`fix\_modify ` +:doc:`fix nph `, :doc:`fix nve_body `, :doc:`fix nvt_body `, :doc:`fix npt_body `, :doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nph_sphere.rst b/doc/src/fix_nph_sphere.rst index af45b6babcd874b41c497165ee42795298026881..d1e5bfd701b12b6489649a399b0c363c8f585a5c 100644 --- a/doc/src/fix_nph_sphere.rst +++ b/doc/src/fix_nph_sphere.rst @@ -9,7 +9,6 @@ fix nph/sphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nph/sphere args keyword value ... @@ -17,9 +16,9 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * nph/sphere = style name of this fix command * keyword = *disc* - + .. parsed-literal:: - + *disc* value = none = treat particles as 2d discs, not spheres * additional barostat related keyword/value pairs from the :doc:`fix nph ` command can be appended @@ -27,8 +26,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nph/sphere iso 0.0 0.0 1000.0 fix 2 all nph/sphere x 5.0 5.0 1000.0 @@ -70,38 +68,33 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/sphere" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/sphere compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/sphere ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the -:doc:`compute\_modify ` command or print this temperature -or pressure during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. - +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. ---------- - 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 @@ -120,14 +113,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files `. See the :doc:`read\_restart ` +This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by this fix. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note @@ -136,7 +129,7 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover barostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -152,9 +145,8 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the :doc:`atom\_style sphere ` +and a radius as defined by the :doc:`atom_style sphere ` command. All particles in the group must be finite-size spheres. They cannot @@ -166,12 +158,7 @@ defined by the :doc:`dimension ` keyword. Related commands """""""""""""""" -:doc:`fix nph `, :doc:`fix nve\_sphere `, :doc:`fix nvt\_sphere `, :doc:`fix npt\_sphere `, -:doc:`fix\_modify ` +:doc:`fix nph `, :doc:`fix nve_sphere `, :doc:`fix nvt_sphere `, :doc:`fix npt_sphere `, +:doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nphug.rst b/doc/src/fix_nphug.rst index be0a28b8b4738872765d5f133e1548db542422b4..fed73f6315ea8c84bc7c60fff8ea96aae13eb0c4 100644 --- a/doc/src/fix_nphug.rst +++ b/doc/src/fix_nphug.rst @@ -9,15 +9,14 @@ fix nphug/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nphug keyword value ... * ID, group-ID are documented in :doc:`fix ` command - + .. parsed-literal:: - + one or more keyword value pairs may be appended keyword = *temp* or *iso* or *aniso* or *tri* or *x* or *y* or *z* or *couple* or *tchain* or *pchain* or *mtk* or *tloop* or *ploop* or *nreset* or *drag* or *dilate* or *scaleyz* or *scalexz* or *scalexy* *temp* values = Value1 Value2 Tdamp @@ -42,13 +41,10 @@ Syntax *scalexz* value = *yes* or *no* = scale xz with lz *scalexy* value = *yes* or *no* = scale xy with ly - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 @@ -88,28 +84,27 @@ Essentially, a Hugoniostat simulation is an NPT simulation in which the user-specified target temperature is replaced with a time-dependent target temperature Tt obtained from the following equation: -.. image:: Eqs/fix_nphug.jpg - :align: center +.. math:: -where T and Tt are the instantaneous and target temperatures, -P and P0 are the instantaneous and reference pressures or axial stresses, + T_t - T = \frac{\left(\frac{1}{2}\left(P + P_0\right)\left(V_0 - V\right) + E_0 - E\right)}{N_{dof} k_B } = \Delta + +where *T* and :math:`T_t` are the instantaneous and target temperatures, +*P* and :math:`P_0` are the instantaneous and reference pressures or axial stresses, depending on whether hydrostatic or uniaxial compression is being -performed, V and V0 are the instantaneous and reference volumes, -E and E0 are the instantaneous and reference internal energy (potential -plus kinetic), Ndof is the number of degrees of freedom used in the -definition of temperature, and kB is the Boltzmann constant. Delta is the +performed, *V* and :math:`V_0` are the instantaneous and reference volumes, +*E* and :math:`E_0` are the instantaneous and reference internal energy (potential +plus kinetic), :math:`N_{dof}` is the number of degrees of freedom used in the +definition of temperature, and :math:`k_B` is the Boltzmann constant. :math:`\Delta` is the negative deviation of the instantaneous temperature from the target temperature. -When the system reaches a stable equilibrium, the value of Delta should +When the system reaches a stable equilibrium, the value of :math:`\Delta` should fluctuate about zero. -The values of E0, V0, and P0 are the instantaneous values at the start of -the simulation. These can be overridden using the fix\_modify keywords *e0*\ , +The values of :math:`E_0`, :math:`V_0`, and :math:`P_0` are the instantaneous values at the start of +the simulation. These can be overridden using the fix_modify keywords *e0*\ , *v0*\ , and *p0* described below. - ---------- - .. note:: Unlike the :doc:`fix temp/berendsen ` command @@ -119,16 +114,13 @@ the simulation. These can be overridden using the fix\_modify keywords *e0*\ , this fix should not be used on atoms that have their temperature controlled by another fix - e.g. by :doc:`fix langevin ` or :doc:`fix temp/rescale ` commands. - ---------- - This fix computes a temperature and pressure at each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if one of these two sets of commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp @@ -137,24 +129,22 @@ as if one of these two sets of commands had been issued: compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press". The group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the -:doc:`compute\_modify ` command or print this temperature -or pressure during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. - +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. ---------- - 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 @@ -173,27 +163,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -This fix writes the values of E0, V0, and P0, as well as the -state of all the thermostat and barostat -variables to :doc:`binary restart files `. See the -:doc:`read\_restart ` command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. +This fix writes the values of :math:`E_0`, :math:`V_0`, and :math:`P_0`, +as well as the state of all the thermostat and barostat variables to +:doc:`binary restart files `. See the :doc:`read_restart +` command for info on how to re-specify a fix in an input +script that reads a restart file, so that the operation of the fix +continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *e0*\ , *v0* and *p0* keywords -can be used to define the values of E0, V0, and P0. Note the -the values for *e0* and *v0* are extensive, and so must correspond -to the total energy and volume of the entire system, not energy and -volume per atom. If any of these quantities are not specified, then the -instantaneous value in the system at the start of the simulation is used. +The :doc:`fix_modify ` *e0*\ , *v0* and *p0* keywords can be +used to define the values of :math:`E_0`, :math:`V_0`, and +:math:`P_0`. Note the the values for *e0* and *v0* are extensive, and so +must correspond to the total energy and volume of the entire system, not +energy and volume per atom. If any of these quantities are not +specified, then the instantaneous value in the system at the start of +the simulation is used. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by these fixes. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting or barostatting procedure, as described above. @@ -202,7 +191,7 @@ temperature should be consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix\_modify ` *energy* option is supported by these +The :doc:`fix_modify ` *energy* option is supported by these fixes to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of :doc:`thermodynamic output `. Either way, this energy is \*not\* @@ -216,7 +205,7 @@ values are "intensive". The scalar is the cumulative energy change due to the fix. -The vector stores three quantities unique to this fix (Delta, Us, and up), +The vector stores three quantities unique to this fix (:math:`\Delta`, Us, and up), followed by all the internal Nose/Hoover thermostat and barostat variables defined for :doc:`fix npt `. Delta is the deviation of the temperature from the target temperature, given by the above equation. @@ -226,7 +215,6 @@ shock calculated from the RH conditions. They have units of distance/time. Restrictions """""""""""" - This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -236,24 +224,15 @@ plus the additional ones mentioned above. Related commands """""""""""""""" -:doc:`fix msst `, :doc:`fix npt `, :doc:`fix\_modify ` +:doc:`fix msst `, :doc:`fix npt `, :doc:`fix_modify ` Default """"""" The keyword defaults are the same as those for :doc:`fix npt ` - ---------- - .. _Ravelo1: - - **(Ravelo)** Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_npt_asphere.rst b/doc/src/fix_npt_asphere.rst index a728128aa3b9e8fd5d84ab16d4c5ce23f9a23df6..aac88c551e2e3b304c2285f09f1ea537f589a353 100644 --- a/doc/src/fix_npt_asphere.rst +++ b/doc/src/fix_npt_asphere.rst @@ -9,7 +9,6 @@ fix npt/asphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID npt/asphere keyword value ... @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all npt/asphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 @@ -65,33 +63,30 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/asphere" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/asphere compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/asphere ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the -:doc:`compute\_modify ` command or print this temperature -or pressure during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used with :doc:`compute commands ` that calculate a temperature @@ -99,7 +94,7 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix\_modify ` command is used +default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -107,10 +102,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - 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 @@ -129,15 +122,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat and barostat to :doc:`binary restart files `. See the -:doc:`read\_restart ` command for info on how to re-specify +:doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by this fix. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note @@ -146,7 +139,7 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -164,12 +157,11 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the :doc:`atom\_style ellipsoid ` +quaternion as defined by the :doc:`atom_style ellipsoid ` command. All particles in the group must be finite-size. They cannot be point @@ -179,11 +171,6 @@ shape attribute. Related commands """""""""""""""" -:doc:`fix npt `, :doc:`fix nve\_asphere `, :doc:`fix nvt\_asphere `, :doc:`fix\_modify ` +:doc:`fix npt `, :doc:`fix nve_asphere `, :doc:`fix nvt_asphere `, :doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_npt_body.rst b/doc/src/fix_npt_body.rst index 64ae261e315433158093cdbb6a36790558978300..120437eeab9f5a1fbc3041ba1021fbdb6aa52ec2 100644 --- a/doc/src/fix_npt_body.rst +++ b/doc/src/fix_npt_body.rst @@ -6,7 +6,6 @@ fix npt/body command Syntax """""" - .. parsed-literal:: fix ID group-ID npt/body keyword value ... @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all npt/body temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 fix 2 all npt/body temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 @@ -62,33 +60,30 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/body" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/body compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/body ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the -:doc:`compute\_modify ` command or print this temperature -or pressure during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used with :doc:`compute commands ` that calculate a temperature @@ -96,7 +91,7 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix\_modify ` command is used +default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -104,10 +99,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - 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 @@ -126,15 +119,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat and barostat to :doc:`binary restart files `. See the -:doc:`read\_restart ` command for info on how to re-specify +:doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by this fix. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note @@ -143,7 +136,7 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -161,22 +154,16 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the :doc:`atom\_style body ` +quaternion as defined by the :doc:`atom_style body ` command. Related commands """""""""""""""" -:doc:`fix npt `, :doc:`fix nve\_body `, :doc:`fix nvt\_body `, :doc:`fix\_modify ` +:doc:`fix npt `, :doc:`fix nve_body `, :doc:`fix nvt_body `, :doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_npt_cauchy.rst b/doc/src/fix_npt_cauchy.rst index 9d0e04b0c084b9419a5046ab3f2863de046b7c1c..5e0188c57475c8f377454cf03fd3974ed013ca13 100644 --- a/doc/src/fix_npt_cauchy.rst +++ b/doc/src/fix_npt_cauchy.rst @@ -6,13 +6,12 @@ fix npt/cauchy command Syntax """""" - .. parsed-literal:: fix ID group-ID style_name keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* style\_name = *npt/cauchy* +* style_name = *npt/cauchy* * one or more keyword/value pairs may be appended * keyword = *temp* or *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *yz* or *xz* or *couple* or *tchain* or *pchain* or *mtk* or *tloop* or *ploop* or *nreset* or *drag* or *dilate* or *scalexy* or *scaleyz* or *scalexz* or *flip* or *fixedpoint* or *update* @@ -52,12 +51,12 @@ Syntax *fixedpoint* values = x y z x,y,z = perform barostat dilation/contraction around this point (distance units) - - Examples """""""" -fix 1 water npt/cauchy temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 +.. code-block:: LAMMPS + + fix 1 water npt/cauchy temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 Description """"""""""" @@ -91,10 +90,8 @@ energy proposed by Parrinello and Rahman in follow the time-reversible measure-preserving Verlet and rRESPA integrators derived by Tuckerman et al in :ref:`(Tuckerman) `. - ---------- - The thermostat parameters are specified using the *temp* keyword. Other thermostat-related keywords are *tchain*\ , *tloop* and *drag*\ , which are discussed below. @@ -120,10 +117,8 @@ by the velocity/position update portion of the integration. 100 timesteps. Note that this is NOT the same as 100 time units for most :doc:`units ` settings. - ---------- - The barostat parameters are specified using one or more of the *iso*\ , *aniso*\ , *tri*\ , *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , *yz*\ , and *couple* keywords. These keywords give you the ability to specify all 6 components of an @@ -136,7 +131,7 @@ Other barostat-related keywords are *pchain*\ , *mtk*\ , *ploop*\ , Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable -dimensions (x,y,z,xy,xz,yz). The :doc:`create\_box `, :doc:`read data `, and :doc:`read\_restart ` commands +dimensions (x,y,z,xy,xz,yz). The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. @@ -188,10 +183,8 @@ group, a separate time integration fix like :doc:`fix nve ` or :doc:`fix nvt ` can be used on them, independent of whether they are dilated or not. - ---------- - The *couple* keyword allows two or three of the diagonal components of the pressure tensor to be "coupled" together. The value specified with the keyword determines which are coupled. For example, *xz* @@ -205,10 +198,8 @@ dilated or contracted by the same percentage every timestep. The be identical. *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. - ---------- - The *iso*\ , *aniso*\ , and *tri* keywords are simply shortcuts that are equivalent to specifying several other keywords together. @@ -217,7 +208,6 @@ pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using "iso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -231,7 +221,6 @@ stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -245,7 +234,6 @@ as the driving forces, and the specified scalar pressure as the external normal stress. Using "tri Pstart Pstop Pdamp" is the same as specifying these 7 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -256,10 +244,8 @@ specifying these 7 keywords: xz 0.0 0.0 Pdamp couple none - ---------- - In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional *drag* keyword will @@ -340,10 +326,8 @@ far. In all cases, the particle trajectories are unaffected by the chosen value, except for a time-dependent constant translation of positions. - ---------- - .. note:: Using a barostat coupled to tilt dimensions *xy*\ , *xz*\ , *yz* can @@ -391,16 +375,13 @@ See the :doc:`Howto thermostat ` and :doc:`Howto barostat ` and :doc:`compute pressure ` commands for details. Note that the IDs of the new computes are the -fix-ID + underscore + "temp" or fix\_ID + underscore + "press". +fix-ID + underscore + "temp" or fix_ID + underscore + "press". Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of these +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of these fix's temperature or pressure via the -:doc:`compute\_modify ` command. Or you can print this +:doc:`compute_modify ` command. Or you can print this temperature or pressure during thermodynamic output via the -:doc:`thermo\_style custom ` command using the appropriate -compute-ID. It also means that changing attributes of *thermo\_temp* -or *thermo\_press* will have no effect on this fix. +:doc:`thermo_style custom ` command using the appropriate +compute-ID. It also means that changing attributes of *thermo_temp* +or *thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, fix npt/cauchy can be used with :doc:`compute commands ` that calculate a @@ -426,7 +407,7 @@ temperature after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not -done by default, but only if the :doc:`fix\_modify ` command +done by default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -434,18 +415,34 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - This fix can be used with either the *verlet* or *respa* :doc:`integrators `. When using this fix with *respa*\ , LAMMPS uses an integrator constructed according to the following factorization of the Liouville propagator (for two rRESPA levels): -.. image:: Eqs/fix_nh1.jpg - :align: center +.. math:: + + \exp \left(\mathrm{i} L \Delta t \right) = & \hat{E} + \exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\ + &\times \left[ + \exp \left(\mathrm{i} L_{2}^{(1)} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_1 \frac{\Delta t}{n} \right) + \exp \left(\mathrm{i} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_{2}^{(1)} \frac{\Delta t}{2n} \right) + \right]^n \\ + &\times + \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) \\ + &+ \mathcal{O} \left(\Delta t^3 \right) This factorization differs somewhat from that of Tuckerman et al, in that the barostat is only updated at the outermost rRESPA level, @@ -468,19 +465,17 @@ of the underlying non-Hamiltonian equations of motion. resetting the momentum at infrequent intervals using the :doc:`fix momentum ` command. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of all the thermostat and barostat variables to :doc:`binary restart files `. See the -:doc:`read\_restart ` command for info on how to re-specify +:doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by this fix. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting or barostatting procedure, as described above. @@ -492,7 +487,7 @@ compute temperature on a subset of atoms. .. note:: If both the *temp* and *press* keywords are used in a single - thermo\_modify command (or in two separate commands), then the order in + thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a :doc:`pressure compute ` defines its own temperature compute as an argument when it is specified. The *temp* keyword will override this (for the pressure compute being used by fix npt), but only if the @@ -501,7 +496,7 @@ compute temperature on a subset of atoms. specified by the *press* keyword will be unaffected by the *temp* setting. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -527,21 +522,21 @@ simulation, otherwise its value is 3. The order of values in the global vector and their meaning is as follows. The notation means there are tchain values for eta, followed -by tchain for eta\_dot, followed by ndof for omega, etc: +by tchain for eta_dot, followed by ndof for omega, etc: * eta[tchain] = particle thermostat displacements (unitless) -* eta\_dot[tchain] = particle thermostat velocities (1/time units) +* eta_dot[tchain] = particle thermostat velocities (1/time units) * omega[ndof] = barostat displacements (unitless) -* omega\_dot[ndof] = barostat velocities (1/time units) +* omega_dot[ndof] = barostat velocities (1/time units) * etap[pchain] = barostat thermostat displacements (unitless) -* etap\_dot[pchain] = barostat thermostat velocities (1/time units) -* PE\_eta[tchain] = potential energy of each particle thermostat displacement (energy units) -* KE\_eta\_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units) -* PE\_omega[ndof] = potential energy of each barostat displacement (energy units) -* KE\_omega\_dot[ndof] = kinetic energy of each barostat velocity (energy units) -* PE\_etap[pchain] = potential energy of each barostat thermostat displacement (energy units) -* KE\_etap\_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units) -* PE\_strain[1] = scalar strain energy (energy units) +* etap_dot[pchain] = barostat thermostat velocities (1/time units) +* PE_eta[tchain] = potential energy of each particle thermostat displacement (energy units) +* KE_eta_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units) +* PE_omega[ndof] = potential energy of each barostat displacement (energy units) +* KE_omega_dot[ndof] = kinetic energy of each barostat velocity (energy units) +* PE_etap[pchain] = potential energy of each barostat thermostat displacement (energy units) +* KE_etap_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units) +* PE_strain[1] = scalar strain energy (energy units) This fix can ramp its external temperature and pressure over multiple runs, using the *start* and *stop* keywords of the @@ -550,14 +545,11 @@ how to do this. This fix is not invoked during :doc:`energy minimization `. - ---------- - Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -565,8 +557,8 @@ LAMMPS was built with that package. See the :doc:`Build package periodic. *Xy*\ , *xz*\ , and *yz* can only be barostatted if the simulation domain is triclinic and the 2nd dimension in the keyword (\ *y* dimension in *xy*\ ) is periodic. *Z*\ , *xz*\ , and *yz*\ , cannot be -barostatted for 2D simulations. The :doc:`create\_box `, -:doc:`read data `, and :doc:`read\_restart ` +barostatted for 2D simulations. The :doc:`create_box `, +:doc:`read data `, and :doc:`read_restart ` commands specify whether the simulation box is orthogonal or non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz tilt factors. @@ -589,7 +581,7 @@ the set values and the final true (Cauchy) stresses can be considerable. The *cauchystat* keyword modifies the barostat as per Miller et -al. (Miller)\_"#nc-Miller" so that the Cauchy stress is controlled. +al. (Miller)_"#nc-Miller" so that the Cauchy stress is controlled. *alpha* is the non-dimensional parameter, typically set to 0.001 or 0.01 that determines how aggressively the algorithm drives the system towards the set Cauchy stresses. Larger values of *alpha* will modify @@ -625,8 +617,8 @@ over time or the atom count becomes very small. Related commands """""""""""""""" -:doc:`fix nve `, :doc:`fix\_modify `, -:doc:`run\_style ` +:doc:`fix nve `, :doc:`fix_modify `, +:doc:`run_style ` Default """"""" @@ -637,43 +629,26 @@ cauchystat = no, scaleyz = scalexz = scalexy = yes if periodic in 2nd dimension and not coupled to barostat, otherwise no. - ---------- - .. _nc-Martyna: - - **(Martyna)** Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). .. _nc-Parrinello: - - **(Parrinello)** Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). .. _nc-Tuckerman: - - **(Tuckerman)** Tuckerman, Alejandre, Lopez-Rendon, Jochim, and Martyna, J Phys A: Math Gen, 39, 5629 (2006). .. _nc-Shinoda: - - **(Shinoda)** Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). .. _nc-Miller: - - **(Miller)** Miller, Tadmor, Gibson, Bernstein and Pavia, J Chem Phys, 144, 184107 (2016). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_npt_sphere.rst b/doc/src/fix_npt_sphere.rst index 9fe7b936337f336dc4c2e3afedcddfd42c050edc..2def29ae474b0d98b1f95e7a383f9c2f9143a538 100644 --- a/doc/src/fix_npt_sphere.rst +++ b/doc/src/fix_npt_sphere.rst @@ -9,7 +9,6 @@ fix npt/sphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID npt/sphere keyword value ... @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 @@ -78,33 +76,30 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/sphere" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/sphere compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/sphere ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the -:doc:`compute\_modify ` command or print this temperature -or pressure during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used with :doc:`compute commands ` that calculate a temperature @@ -112,7 +107,7 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix\_modify ` command is used +default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -120,10 +115,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - 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 @@ -142,15 +135,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat and barostat to :doc:`binary restart files `. See the -:doc:`read\_restart ` command for info on how to re-specify +:doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by this fix. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting or barostatting procedure. If you do this, note @@ -159,7 +152,7 @@ consistent with the virial term computed using all atoms for the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting and barostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -177,9 +170,8 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the :doc:`atom\_style sphere ` +and a radius as defined by the :doc:`atom_style sphere ` command. All particles in the group must be finite-size spheres. They cannot @@ -191,11 +183,6 @@ defined by the :doc:`dimension ` keyword. Related commands """""""""""""""" -:doc:`fix npt `, :doc:`fix nve\_sphere `, :doc:`fix nvt\_sphere `, :doc:`fix npt\_asphere `, :doc:`fix\_modify ` +:doc:`fix npt `, :doc:`fix nve_sphere `, :doc:`fix nvt_sphere `, :doc:`fix npt_asphere `, :doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_numdiff.rst b/doc/src/fix_numdiff.rst new file mode 100644 index 0000000000000000000000000000000000000000..974826d1f23078360953486db3e8ca5f8ed1a803 --- /dev/null +++ b/doc/src/fix_numdiff.rst @@ -0,0 +1,110 @@ +.. index:: fix numdiff + +fix numdiff command +==================== + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID numdiff Nevery delta + +* ID, group-ID are documented in :doc:`fix ` command +* numdiff = style name of this fix command +* Nevery = calculate force by finite difference every this many timesteps +* delta = finite difference displacement length (distance units) + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all numdiff 1 0.0001 + fix 1 all numdiff 10 1e-6 + fix 1 all numdiff 100 0.01 + +Description +""""""""""" + +Calculate forces through finite difference calculations of energy +versus position. These forces can be compared to analytic forces +computed by pair styles, bond styles, etc. This can be useful for +debugging or other purposes. + +The group specified with the command means only atoms within the group +have their averages computed. Results are set to 0.0 for atoms not in +the group. + +This fix performs a loop over all atoms in the group. For each atom +and each component of force it adds *delta* to the position, and +computes the new energy of the entire system. It then subtracts +*delta* from the original position and again computes the new energy +of the system. It then restores the original position. That +component of force is calculated as the difference in energy divided +by two times *delta*. + +.. note:: + + It is important to choose a suitable value for delta, the magnitude of + atom displacements that are used to generate finite difference + approximations to the exact forces. For typical systems, a value in + the range of 1 part in 1e4 to 1e5 of the typical separation distance + between atoms in the liquid or solid state will be sufficient. + However, the best value will depend on a multitude of factors + including the stiffness of the interatomic potential, the thermodynamic + state of the material being probed, and so on. The only way to be sure + that you have made a good choice is to do a sensitivity study on a + representative atomic configuration, sweeping over a wide range of + values of delta. If delta is too small, the output forces will vary + erratically due to truncation effects. If delta is increased beyond a + certain point, the output forces will start to vary smoothly with + delta, due to growing contributions from higher order derivatives. In + between these two limits, the numerical force values should be largely + independent of delta. + +.. note:: + + The cost of each energy evaluation is essentially the cost of an MD + timestep. Thus invoking this fix once for a 3d system has a cost + of 6N timesteps, where N is the total number of atoms in the system + (assuming all atoms are included in the group). So this fix can be + very expensive to use for large systems. + +---------- + +The *Nevery* argument specifies on what timesteps the force will +be used calculated by finite difference. + +The *delta* argument specifies the positional displacement each +atom will undergo. + +---------- + +**Restart, fix_modify, output, run start/stop, minimize info:** + +No information about this fix is written to :doc:`binary restart files +`. None of the :doc:`fix_modify ` options are +relevant to this fix. + +This fix produces a per-atom array which can be accessed by various +:doc:`output commands `, which stores the components of +the force on each atom as calculated by finite difference. The +per-atom values can only be accessed on timesteps that are multiples +of *Nevery* since that is when the finite difference forces are +calculated. + +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. This fix is invoked during :doc:`energy +minimization `. + +Restrictions +"""""""""""" + none + +Related commands +"""""""""""""""" + +:doc:`dynamical_matrix `, + +**Default:** none diff --git a/doc/src/fix_nve.rst b/doc/src/fix_nve.rst index bae6f8a95c44b55464f209220aec455a09baefa9..8089ad094d5ee8115c923367b15e2fbcd2a30da4 100644 --- a/doc/src/fix_nve.rst +++ b/doc/src/fix_nve.rst @@ -15,7 +15,6 @@ fix nve/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nve @@ -26,8 +25,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve @@ -39,10 +37,8 @@ atoms in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. - ---------- - 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 @@ -61,13 +57,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -83,8 +77,3 @@ Related commands :doc:`fix nvt `, :doc:`fix npt ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_asphere.rst b/doc/src/fix_nve_asphere.rst index 4ac734c468c9ed8898a0bfa03f43a3520843a0a8..f231330831cb03df7c7871c44c0a96b6ef51b3a0 100644 --- a/doc/src/fix_nve_asphere.rst +++ b/doc/src/fix_nve_asphere.rst @@ -9,7 +9,6 @@ fix nve/asphere/intel command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/asphere @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/asphere @@ -36,18 +34,16 @@ trajectory consistent with the microcanonical ensemble. This fix differs from the :doc:`fix nve ` command, which assumes point particles and only updates their position and velocity. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - 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 @@ -66,19 +62,16 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the :doc:`atom\_style ellipsoid ` +quaternion as defined by the :doc:`atom_style ellipsoid ` command. All particles in the group must be finite-size. They cannot be point @@ -91,8 +84,3 @@ Related commands :doc:`fix nve `, :doc:`fix nve/sphere ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_asphere_noforce.rst b/doc/src/fix_nve_asphere_noforce.rst index 309928f582bbed34390573812bd56b11a0f0c8b1..b518781d6c6f526eac7f24df29990be016d29f18 100644 --- a/doc/src/fix_nve_asphere_noforce.rst +++ b/doc/src/fix_nve_asphere_noforce.rst @@ -6,7 +6,6 @@ fix nve/asphere/noforce command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/asphere/noforce @@ -17,7 +16,9 @@ Syntax Examples """""""" -fix 1 all nve/asphere/noforce +.. code-block:: LAMMPS + + fix 1 all nve/asphere/noforce Description """"""""""" @@ -30,15 +31,13 @@ angular momenta are used to update their positions and orientation. This is useful as an implicit time integrator for Fast Lubrication Dynamics, since the velocity and angular momentum are updated by the -:doc:`pair\_style lubricuteU ` command. - +:doc:`pair_style lubricuteU ` command. ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -47,12 +46,11 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the :doc:`atom\_style ellipsoid ` +quaternion as defined by the :doc:`atom_style ellipsoid ` command. All particles in the group must be finite-size. They cannot be point @@ -65,8 +63,3 @@ Related commands :doc:`fix nve/noforce `, :doc:`fix nve/asphere ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_awpmd.rst b/doc/src/fix_nve_awpmd.rst index e44f78c25cf2185430b7167b9389cce1397813a9..45bb00261771892356938557e569b54bdcd2e7c4 100644 --- a/doc/src/fix_nve_awpmd.rst +++ b/doc/src/fix_nve_awpmd.rst @@ -6,7 +6,6 @@ fix nve/awpmd command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/awpmd @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/awpmd @@ -33,13 +31,11 @@ ensemble. The operation of this fix is exactly like that described by the :doc:`fix nve ` command, except that the width and width-velocity of the electron wave functions are also updated. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -48,7 +44,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-AWPMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -58,8 +53,3 @@ Related commands :doc:`fix nve ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_body.rst b/doc/src/fix_nve_body.rst index 1d75b3ac34f33c6a00c8619705d3a3a2290ee733..ad68abb0d45a5a70070accc1b22a21dd547a6712 100644 --- a/doc/src/fix_nve_body.rst +++ b/doc/src/fix_nve_body.rst @@ -6,7 +6,6 @@ fix nve/body command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/body @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/body @@ -34,9 +32,9 @@ particles. This fix differs from the :doc:`fix nve ` command, which assumes point particles and only updates their position and velocity. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -45,12 +43,11 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the :doc:`atom\_style body ` +quaternion as defined by the :doc:`atom_style body ` command. All particles in the group must be body particles. They cannot be @@ -62,8 +59,3 @@ Related commands :doc:`fix nve `, :doc:`fix nve/sphere `, :doc:`fix nve/asphere ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_dot.rst b/doc/src/fix_nve_dot.rst index 5fc6a46ab5c24f4d66496ef95c1203b134266b4e..a7018a337eb521526385c542859296f6c3230dd2 100644 --- a/doc/src/fix_nve_dot.rst +++ b/doc/src/fix_nve_dot.rst @@ -6,7 +6,6 @@ fix nve/dot command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/dot @@ -14,12 +13,10 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * nve/dot = style name of this fix command - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/dot @@ -43,14 +40,11 @@ An example input file can be found in /examples/USER/cgdna/examples/duplex1/. Further details of the implementation and stability of the integrator are contained in :ref:`(Henrich) `. The preprint version of the article can be found `here `_. - ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the :ref:`USER-CGDNA ` package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. @@ -62,10 +56,8 @@ Related commands **Default:** none - ---------- - .. _Davidchack4: **(Davidchack)** R.L Davidchack, T.E. Ouldridge, and M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015). @@ -77,8 +69,3 @@ Related commands .. _Henrich4: **(Henrich)** O. Henrich, Y. A. Gutierrez-Fosado, T. Curk, T. E. Ouldridge, Eur. Phys. J. E 41, 57 (2018). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_dotc_langevin.rst b/doc/src/fix_nve_dotc_langevin.rst index 3143db968f3181697fccc8fc9ab3df456502e304..88d15b9e174cdb579d7a5dd2bf196e031e36f961 100644 --- a/doc/src/fix_nve_dotc_langevin.rst +++ b/doc/src/fix_nve_dotc_langevin.rst @@ -6,7 +6,6 @@ fix nve/dotc/langevin command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/dotc/langevin Tstart Tstop damp seed keyword value @@ -17,19 +16,16 @@ Syntax * damp = damping parameter (time units) * seed = random number seed to use for white noise (positive integer) * keyword = *angmom* - + .. parsed-literal:: - + *angmom* value = factor factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric scale factor as discussed below - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/dotc/langevin 1.0 1.0 0.03 457145 angmom 10 fix 1 all nve/dotc/langevin 0.1 0.1 78.9375 457145 angmom 10 @@ -60,39 +56,36 @@ over the standard integrator, permitting slightly larger timestep sizes. The total force on each atom will have the form: - -.. parsed-literal:: - - F = Fc + Ff + Fr - Ff = - (m / damp) v - Fr is proportional to sqrt(Kb T m / (dt damp)) - -Fc is the conservative force computed via the usual inter-particle -interactions (:doc:`pair\_style `, -:doc:`bond\_style `, etc). - -The Ff and Fr terms are implicitly taken into account by this fix -on a per-particle basis. - -Ff is a frictional drag or viscous damping term proportional to the -particle's velocity. The proportionality constant for each atom is -computed as m/damp, where m is the mass of the particle and damp is -the damping factor specified by the user. - -Fr is a force due to solvent atoms at a temperature T randomly bumping -into the particle. As derived from the fluctuation/dissipation -theorem, its magnitude as shown above is proportional to sqrt(Kb T m / -dt damp), where Kb is the Boltzmann constant, T is the desired -temperature, m is the mass of the particle, dt is the timestep size, -and damp is the damping factor. Random numbers are used to randomize -the direction and magnitude of this force as described in -:ref:`(Dunweg) `, where a uniform random number is used (instead of -a Gaussian random number) for speed. - +.. math:: + + F = & F_c + F_f + F_r \\ + F_f = & - \frac{m}{\mathrm{damp}} v \\ + F_r \propto & \sqrt{\frac{k_B T m}{dt~\mathrm{damp}}} + +:math:`F_c` is the conservative force computed via the usual +inter-particle interactions (:doc:`pair_style `, +:doc:`bond_style `, etc). The :math:`F_f` and :math:`F_r` +terms are implicitly taken into account by this fix on a per-particle +basis. + +:math:`F_f` is a frictional drag or viscous damping term proportional to +the particle's velocity. The proportionality constant for each atom is +computed as :math:`\frac{m}{\mathrm{damp}}`, where *m* is the mass of +the particle and damp is the damping factor specified by the user. + +:math:`F_r` is a force due to solvent atoms at a temperature *T* +randomly bumping into the particle. As derived from the +fluctuation/dissipation theorem, its magnitude as shown above is +proportional to :math:`\sqrt{\frac{k_B T m}{dt~\mathrm{damp}}}`, where +:math:`k_B` is the Boltzmann constant, *T* is the desired temperature, +*m* is the mass of the particle, *dt* is the timestep size, and damp is +the damping factor. Random numbers are used to randomize the direction +and magnitude of this force as described in :ref:`(Dunweg) `, +where a uniform random number is used (instead of a Gaussian random +number) for speed. ---------- - *Tstart* and *Tstop* have to be constant values, i.e. they cannot be variables. If used together with the oxDNA force field for coarse-grained simulation of DNA please note that T = 0.1 in oxDNA units @@ -104,7 +97,7 @@ means to relax the temperature in a timespan of (roughly) 0.03 time units tau (see the :doc:`units ` command). The damp factor can be thought of as inversely related to the viscosity of the solvent, i.e. a small relaxation time implies a -hi-viscosity solvent and vice versa. See the discussion about gamma +high-viscosity solvent and vice versa. See the discussion about gamma and viscosity in the documentation for the :doc:`fix viscous ` command for more details. Note that the value 78.9375 in the second example above corresponds to a diffusion constant, which is about an order of magnitude larger @@ -124,21 +117,18 @@ particles are always considered to have a finite size. The keyword *angmom* enables thermostatting of the rotational degrees of freedom in addition to the usual translational degrees of freedom. -The scale factor after the *angmom* keyword gives the ratio of the rotational to -the translational friction coefficient. +The scale factor after the *angmom* keyword gives the ratio of the +rotational to the translational friction coefficient. -An example input file can be found in /examples/USER/cgdna/examples/duplex2/. +An example input file can be found in examples/USER/cgdna/examples/duplex2/. Further details of the implementation and stability of the integrators are contained in :ref:`(Henrich) `. The preprint version of the article can be found `here `_. - ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the :ref:`USER-CGDNA ` package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. @@ -146,14 +136,12 @@ See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`fix nve `, :doc:`fix langevin `, :doc:`fix nve/dot `, :doc:`bond\_style oxdna/fene `, :doc:`bond\_style oxdna2/fene `, :doc:`pair\_style oxdna/excv `, :doc:`pair\_style oxdna2/excv ` +:doc:`fix nve `, :doc:`fix langevin `, :doc:`fix nve/dot `, :doc:`bond_style oxdna/fene `, :doc:`bond_style oxdna2/fene `, :doc:`pair_style oxdna/excv `, :doc:`pair_style oxdna2/excv ` **Default:** none - ---------- - .. _Davidchack5: **(Davidchack)** R.L Davidchack, T.E. Ouldridge, M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015). @@ -169,8 +157,3 @@ Related commands .. _Henrich5: **(Henrich)** O. Henrich, Y. A. Gutierrez-Fosado, T. Curk, T. E. Ouldridge, Eur. Phys. J. E 41, 57 (2018). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_eff.rst b/doc/src/fix_nve_eff.rst index a7346f1ed257e20115e67822303f6d5bd3bdab1d..78e6352b6ef991e5fcdd6b4749f186cdf0620bf3 100644 --- a/doc/src/fix_nve_eff.rst +++ b/doc/src/fix_nve_eff.rst @@ -6,7 +6,6 @@ fix nve/eff command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/eff @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/eff @@ -32,9 +30,9 @@ system trajectory consistent with the microcanonical ensemble. The operation of this fix is exactly like that described by the :doc:`fix nve ` command, except that the radius and radial velocity of electrons are also updated. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -43,7 +41,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -53,8 +50,3 @@ Related commands :doc:`fix nve `, :doc:`fix nvt/eff `, :doc:`fix npt/eff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_limit.rst b/doc/src/fix_nve_limit.rst index f637db54d109d0535a5134202ae1cd047ee835f3..98d691d6b9be1df6ccad0de0a0d7dd52d52f4fa2 100644 --- a/doc/src/fix_nve_limit.rst +++ b/doc/src/fix_nve_limit.rst @@ -6,7 +6,6 @@ fix nve/limit command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/limit xmax @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/limit 0.1 @@ -42,7 +40,7 @@ in a single timestep. *Xmax* is specified in distance units; see the consistent with the neighbor skin distance and the frequency of neighbor list re-building, so that pairwise interactions are not missed on successive timesteps as atoms move. See the -:doc:`neighbor ` and :doc:`neigh\_modify ` commands +:doc:`neighbor ` and :doc:`neigh_modify ` commands for details. Note that if a velocity reset occurs the integrator will not conserve @@ -62,9 +60,9 @@ very large for overlapped configurations. that need this fix, then turn fix shake on when doing normal dynamics with a fixed-size timestep. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global scalar which can be accessed by various @@ -88,11 +86,6 @@ Related commands """""""""""""""" :doc:`fix nve `, :doc:`fix nve/noforce `, -:doc:`pair\_style soft ` +:doc:`pair_style soft ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_line.rst b/doc/src/fix_nve_line.rst index 8f77e8481e060d3188699cf709109e865201dffa..d47bf34f6122cf962f6b73ac038f7e9235c06fb9 100644 --- a/doc/src/fix_nve_line.rst +++ b/doc/src/fix_nve_line.rst @@ -6,7 +6,6 @@ fix nve/line command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/line @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/line @@ -34,9 +32,9 @@ segment particles. This fix differs from the :doc:`fix nve ` command, which assumes point particles and only updates their position and velocity. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -45,12 +43,11 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that particles be line segments as defined by the -:doc:`atom\_style line ` command. +:doc:`atom_style line ` command. Related commands """""""""""""""" @@ -58,8 +55,3 @@ Related commands :doc:`fix nve `, :doc:`fix nve/asphere ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_manifold_rattle.rst b/doc/src/fix_nve_manifold_rattle.rst index 5836dc005c309e43856d601ac07a2c3b033df6ff..1caedf88e1c6a42f5283acf827f7d58156c2b70a 100644 --- a/doc/src/fix_nve_manifold_rattle.rst +++ b/doc/src/fix_nve_manifold_rattle.rst @@ -6,7 +6,6 @@ fix nve/manifold/rattle command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/manifold/rattle tol maxit manifold manifold-args keyword value ... @@ -18,20 +17,17 @@ Syntax * manifold = name of the manifold * manifold-args = parameters for the manifold * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *every* *every* values = N N = print info about iteration every N steps. N = 0 means no output - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/manifold/rattle 1e-4 10 sphere 5.0 fix step all nve/manifold/rattle 1e-8 100 ellipsoid 2.5 2.5 5.0 every 25 @@ -53,14 +49,13 @@ parameters, see the :doc:`Howto manifold ` doc page. Note that the particles must initially be close to the manifold in question. If not, RATTLE will not be able to iterate until the constraint is satisfied, and an error is generated. For simple -manifolds this can be achieved with *region* and *create\_atoms* +manifolds this can be achieved with *region* and *create_atoms* commands, but for more complex surfaces it might be more useful to write a script. The manifold args may be equal-style variables, like so: - -.. parsed-literal:: +.. code-block:: LAMMPS variable R equal "ramp(5.0,3.0)" fix shrink_sphere all nve/manifold/rattle 1e-4 10 sphere v_R @@ -72,33 +67,26 @@ the particles. Note that if the manifold has to exert work on the particles because of these changes, the total energy might not be conserved. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - Restrictions """""""""""" - This fix is part of the USER-MANIFOLD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - ---------- - Related commands """""""""""""""" @@ -106,24 +94,13 @@ Related commands **Default:** every = 0, tchain = 3 - ---------- - .. _Andersen1: - - **(Andersen)** Andersen, J. Comp. Phys. 52, 24, (1983). .. _Paquay2: - - **(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 `_. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_noforce.rst b/doc/src/fix_nve_noforce.rst index 07caefca16fe50ad02ef16fefce746abc1c0c1d7..d45648694a4bc57936e0b8aeb240f2548c23ee9d 100644 --- a/doc/src/fix_nve_noforce.rst +++ b/doc/src/fix_nve_noforce.rst @@ -6,7 +6,6 @@ fix nve/noforce command Syntax """""" - .. parsed-literal:: fix ID group-ID nve @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 wall nve/noforce @@ -39,9 +37,9 @@ unchanged, and can thus be printed by the :doc:`dump ` command or queried with an equal-style :doc:`variable ` that uses the fcm() group function to compute the total force on the group of atoms. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -57,8 +55,3 @@ Related commands :doc:`fix nve ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_sphere.rst b/doc/src/fix_nve_sphere.rst index 1789a9e119fda48c71519c91b5ac4b6eb3d42cd1..753e40cd1501438cc5063a9ab915a9a593f3deaf 100644 --- a/doc/src/fix_nve_sphere.rst +++ b/doc/src/fix_nve_sphere.rst @@ -12,7 +12,6 @@ fix nve/sphere/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/sphere @@ -21,21 +20,18 @@ Syntax * nve/sphere = style name of this fix command * zero or more keyword/value pairs may be appended * keyword = *update* or *disc* - + .. parsed-literal:: - + *update* value = *dipole* or *dipole/dlm* dipole = update orientation of dipole moment during integration dipole/dlm = use DLM integrator to update dipole orientation *disc* value = none = treat particles as 2d discs, not spheres - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/sphere fix 1 all nve/sphere update dipole @@ -57,7 +53,7 @@ If the *update* keyword is used with the *dipole* value, then the orientation of the dipole moment of each particle is also updated during the time integration. This option should be used for models where a dipole moment is assigned to finite-size particles, -e.g. spheroids via use of the :doc:`atom\_style hybrid sphere dipole ` command. +e.g. spheroids via use of the :doc:`atom_style hybrid sphere dipole ` command. The default dipole orientation integrator can be changed to the Dullweber-Leimkuhler-McLachlan integration scheme @@ -72,10 +68,8 @@ simulations, as defined by the :doc:`dimension ` keyword. The only difference between discs and spheres in this context is their moment of inertia, as used in the time integration. - ---------- - 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 @@ -94,13 +88,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -109,11 +101,10 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the :doc:`atom\_style sphere ` +and a radius as defined by the :doc:`atom_style sphere ` command. If the *dipole* keyword is used, then they must also store a -dipole moment as defined by the :doc:`atom\_style dipole ` +dipole moment as defined by the :doc:`atom_style dipole ` command. All particles in the group must be finite-size spheres. They cannot @@ -129,18 +120,9 @@ Related commands **Default:** none - ---------- - .. _nve-Dullweber: - - **(Dullweber)** Dullweber, Leimkuhler and McLachlan, J Chem Phys, 107, 5840 (1997). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_spin.rst b/doc/src/fix_nve_spin.rst index 5f1b1a648f6ee47d283447c85613a2a3d6f1b739..143ddb2426d66be84b3102c00acd4cabc52ef7e3 100644 --- a/doc/src/fix_nve_spin.rst +++ b/doc/src/fix_nve_spin.rst @@ -6,7 +6,6 @@ fix nve/spin command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/spin keyword values @@ -14,20 +13,17 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * nve/spin = style name of this fix command * keyword = *lattice* - + .. parsed-literal:: - + *lattice* value = *moving* or *frozen* moving = integrate both spin and atomic degress of freedom frozen = integrate spins on a fixed lattice - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 all nve/spin lattice moving fix 1 all nve/spin lattice frozen @@ -47,7 +43,7 @@ By default a spin-lattice integration is performed (lattice = moving). The *nve/spin* fix applies a Suzuki-Trotter decomposition to the equations of motion of the spin lattice system, following the scheme: -.. image:: Eqs/fix_integration_spin_stdecomposition.jpg +.. image:: JPG/fix_integration_spin_stdecomposition.jpg :align: center according to the implementation reported in :ref:`(Omelyan) `. @@ -56,23 +52,19 @@ A sectoring method enables this scheme for parallel calculations. The implementation of this sectoring algorithm is reported in :ref:`(Tranchida) `. - ---------- - Restrictions """""""""""" - This fix style can only be used if LAMMPS was built with the SPIN package. See the :doc:`Build package ` doc page for more info. To use the spin algorithm, it is necessary to define a map with -the atom\_modify command. Typically, by adding the command: +the atom_modify command. Typically, by adding the command: - -.. parsed-literal:: +.. code-block:: LAMMPS atom_modify map array @@ -82,32 +74,21 @@ instead of "array" is also valid. Related commands """""""""""""""" -:doc:`atom\_style spin `, :doc:`fix nve ` +:doc:`atom_style spin `, :doc:`fix nve ` Default """"""" The option default is lattice = moving. - ---------- - .. _Omelyan1: - - **(Omelyan)** Omelyan, Mryglod, and Folk. Phys. Rev. Lett. 86(5), 898. (2001). .. _Tranchida1: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nve_tri.rst b/doc/src/fix_nve_tri.rst index 4e71a69c5adf2ded6d23608d051f1edbf9a60c9a..f5fdb7cc7d7cf7d3abdd654f2c7344389b83046b 100644 --- a/doc/src/fix_nve_tri.rst +++ b/doc/src/fix_nve_tri.rst @@ -6,7 +6,6 @@ fix nve/tri command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/tri @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/tri @@ -35,9 +33,9 @@ using triangular particles. This fix differs from the :doc:`fix nve ` command, which assumes point particles and only updates their position and velocity. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -46,12 +44,11 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that particles be triangles as defined by the -:doc:`atom\_style tri ` command. +:doc:`atom_style tri ` command. Related commands """""""""""""""" @@ -59,8 +56,3 @@ Related commands :doc:`fix nve `, :doc:`fix nve/asphere ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nvk.rst b/doc/src/fix_nvk.rst index c153ab6ff2dc2cdd09262598f9b425f34e69478b..415e3256b40a1613a1640ca4e41236641b147563 100644 --- a/doc/src/fix_nvk.rst +++ b/doc/src/fix_nvk.rst @@ -6,7 +6,6 @@ fix nvk command Syntax """""" - .. parsed-literal:: fix ID group-ID nvk @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvk @@ -39,13 +37,11 @@ nvk is initiated. If a different kinetic energy is desired, the :doc:`velocity ` command should be used to change the kinetic energy prior to this fix. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -54,7 +50,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - The Gaussian thermostat only works when it is applied to all atoms in the simulation box. Therefore, the group must be set to all. @@ -67,23 +62,12 @@ LAMMPS was built with that package. See the :doc:`Build package **Default:** none - ---------- - .. _nvk-Minary: - - **(Minary)** Minary, Martyna, and Tuckerman, J Chem Phys, 18, 2510 (2003). .. _nvk-Zhang: - - **(Zhang)** Zhang, J Chem Phys, 106, 6102 (1997). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nvt_asphere.rst b/doc/src/fix_nvt_asphere.rst index 9df4c9e84f36f4bac87133a7839f939aefffde27..6004de2e60e383bddff2a3b7c898cee748df646d 100644 --- a/doc/src/fix_nvt_asphere.rst +++ b/doc/src/fix_nvt_asphere.rst @@ -9,7 +9,6 @@ fix nvt/asphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/asphere keyword value ... @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/asphere temp 300.0 300.0 100.0 fix 1 all nvt/asphere temp 300.0 300.0 100.0 drag 0.2 @@ -55,8 +53,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/asphere", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp/asphere @@ -66,12 +63,12 @@ underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp*. +the :doc:`thermo_style ` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -:doc:`compute\_modify ` command or print this temperature -during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +:doc:`compute_modify ` command or print this temperature +during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -80,7 +77,7 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix\_modify ` command is used +default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -88,10 +85,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - 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 @@ -110,19 +105,19 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read\_restart ` +This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -138,12 +133,11 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the :doc:`atom\_style ellipsoid ` +quaternion as defined by the :doc:`atom_style ellipsoid ` command. All particles in the group must be finite-size. They cannot be point @@ -153,11 +147,6 @@ shape attribute. Related commands """""""""""""""" -:doc:`fix nvt `, :doc:`fix nve\_asphere `, :doc:`fix npt\_asphere `, :doc:`fix\_modify ` +:doc:`fix nvt `, :doc:`fix nve_asphere `, :doc:`fix npt_asphere `, :doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nvt_body.rst b/doc/src/fix_nvt_body.rst index f94c1850da60a34a1e3c230b79773b43f3009cd2..41d652a32d8ab6020e14c0e15e06a6e829c7efff 100644 --- a/doc/src/fix_nvt_body.rst +++ b/doc/src/fix_nvt_body.rst @@ -6,7 +6,6 @@ fix nvt/body command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/body keyword value ... @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/body temp 300.0 300.0 100.0 fix 1 all nvt/body temp 300.0 300.0 100.0 drag 0.2 @@ -52,8 +50,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/body", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp/body @@ -63,12 +60,12 @@ underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp*. +the :doc:`thermo_style ` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -:doc:`compute\_modify ` command or print this temperature -during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +:doc:`compute_modify ` command or print this temperature +during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -77,7 +74,7 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix\_modify ` command is used +default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -85,10 +82,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - 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 @@ -107,19 +102,19 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read\_restart ` +This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -135,22 +130,16 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the :doc:`atom\_style body ` +quaternion as defined by the :doc:`atom_style body ` command. Related commands """""""""""""""" -:doc:`fix nvt `, :doc:`fix nve\_body `, :doc:`fix npt\_body `, :doc:`fix\_modify ` +:doc:`fix nvt `, :doc:`fix nve_body `, :doc:`fix npt_body `, :doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nvt_manifold_rattle.rst b/doc/src/fix_nvt_manifold_rattle.rst index 4b9c063caf5ede03968057325757f41f344b3667..198208ca0d393094bd10fe23d5fc45c0ca1c88f4 100644 --- a/doc/src/fix_nvt_manifold_rattle.rst +++ b/doc/src/fix_nvt_manifold_rattle.rst @@ -6,7 +6,6 @@ fix nvt/manifold/rattle command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/manifold/rattle tol maxit manifold manifold-args keyword value ... @@ -18,9 +17,9 @@ Syntax * manifold = name of the manifold * manifold-args = parameters for the manifold * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *temp* or *tchain* or *every* *temp* values = Tstart Tstop Tdamp Tstart, Tstop = external temperature at start/end of run @@ -30,12 +29,12 @@ Syntax *every* value = N N = print info about iteration every N steps. N = 0 means no output - - Examples """""""" -fix 1 all nvt/manifold/rattle 1e-4 10 cylinder 3.0 temp 1.0 1.0 10.0 +.. code-block:: LAMMPS + + fix 1 all nvt/manifold/rattle 1e-4 10 cylinder 3.0 temp 1.0 1.0 10.0 Description """"""""""" @@ -48,56 +47,38 @@ canonical ensemble of particles constrained to a curved surface O(dt). For a list of currently supported manifolds and their parameters, see the :doc:`Howto manifold ` doc page. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - Restrictions """""""""""" - This fix is part of the USER-MANIFOLD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - ---------- - Related commands """""""""""""""" :doc:`fix nve/manifold/rattle `, :doc:`fix manifoldforce ` **Default:** every = 0 - ---------- - .. _Andersen2: - - **(Andersen)** Andersen, J. Comp. Phys. 52, 24, (1983). .. _Paquay3: - - **(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 `_. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nvt_sllod.rst b/doc/src/fix_nvt_sllod.rst index aa4197e19b9b38f1ee6470e5d6b645adb1707117..829bf8c63432b4cac0f5f224b24d2d60f79db193 100644 --- a/doc/src/fix_nvt_sllod.rst +++ b/doc/src/fix_nvt_sllod.rst @@ -12,7 +12,6 @@ fix nvt/sllod/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/sllod keyword value ... @@ -24,8 +23,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/sllod temp 300.0 300.0 100.0 fix 1 all nvt/sllod temp 300.0 300.0 100.0 drag 0.2 @@ -87,8 +85,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/deform", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp/deform @@ -98,12 +95,12 @@ underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp*. +the :doc:`thermo_style ` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -:doc:`compute\_modify ` command or print this temperature -during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +:doc:`compute_modify ` command or print this temperature +during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -112,7 +109,7 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix\_modify ` command is used +default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -120,10 +117,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - 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 @@ -142,19 +137,19 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read\_restart ` +This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -170,7 +165,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix works best without Nose-Hoover chain thermostats, i.e. using tchain = 1. Setting tchain to larger values can result in poor equilibration. @@ -179,37 +173,24 @@ Related commands """""""""""""""" :doc:`fix nve `, :doc:`fix nvt `, :doc:`fix temp/rescale `, :doc:`fix langevin `, -:doc:`fix\_modify `, :doc:`compute temp/deform ` +:doc:`fix_modify `, :doc:`compute temp/deform ` Default """"""" Same as :doc:`fix nvt `, except tchain = 1. - ---------- - .. _Evans3: - - **(Evans and Morriss)** Evans and Morriss, Phys Rev A, 30, 1528 (1984). .. _Daivis: - - **(Daivis and Todd)** Daivis and Todd, J Chem Phys, 124, 194103 (2006). .. _Daivis-sllod: - - **(Daivis and Todd)** Daivis and Todd, Nonequilibrium Molecular Dynamics (book), Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nvt_sllod_eff.rst b/doc/src/fix_nvt_sllod_eff.rst index 0e8b00517656bff91aec82e4af366b886c94ce46..49ad9f608cd93f0c89e7c6168ed5c7096fb40132 100644 --- a/doc/src/fix_nvt_sllod_eff.rst +++ b/doc/src/fix_nvt_sllod_eff.rst @@ -6,7 +6,6 @@ fix nvt/sllod/eff command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/sllod/eff keyword value ... @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1 fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1 drag 0.2 @@ -40,19 +38,19 @@ page), is performed with a :doc:`compute temp/deform/eff `. See the :doc:`read\_restart ` +This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -68,7 +66,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -79,25 +76,16 @@ equilibration. Related commands """""""""""""""" -:doc:`fix nve/eff `, :doc:`fix nvt/eff `, :doc:`fix langevin/eff `, :doc:`fix nvt/sllod `, :doc:`fix\_modify `, :doc:`compute temp/deform/eff ` +:doc:`fix nve/eff `, :doc:`fix nvt/eff `, :doc:`fix langevin/eff `, :doc:`fix nvt/sllod `, :doc:`fix_modify `, :doc:`compute temp/deform/eff ` Default """"""" Same as :doc:`fix nvt/eff `, except tchain = 1. - ---------- - .. _Tuckerman2: - - **(Tuckerman)** Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, 106, 5615 (1997). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_nvt_sphere.rst b/doc/src/fix_nvt_sphere.rst index eedf21f69b414906fd313ac5034f19c605c89e8f..95bb0a20c4f9b7c7701943076750371ed90fae98 100644 --- a/doc/src/fix_nvt_sphere.rst +++ b/doc/src/fix_nvt_sphere.rst @@ -9,7 +9,6 @@ fix nvt/sphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/sphere keyword value ... @@ -18,9 +17,9 @@ Syntax * nvt/sphere = style name of this fix command * zero or more keyword/value pairs may be appended * keyword = *disc* - + .. parsed-literal:: - + *disc* value = none = treat particles as 2d discs, not spheres * additional thermostat related keyword/value pairs from the :doc:`fix nvt ` command can be appended @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/sphere temp 300.0 300.0 100.0 fix 1 all nvt/sphere temp 300.0 300.0 100.0 disc @@ -69,8 +67,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/sphere", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp/sphere @@ -80,12 +77,12 @@ underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp*. +the :doc:`thermo_style ` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -:doc:`compute\_modify ` command or print this temperature -during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +:doc:`compute_modify ` command or print this temperature +during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -94,7 +91,7 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix\_modify ` command is used +default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -102,10 +99,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - 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 @@ -124,19 +119,19 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read\_restart ` +This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change induced by Nose/Hoover thermostatting to the system's potential energy as part of :doc:`thermodynamic output `. @@ -152,9 +147,8 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the :doc:`atom\_style sphere ` +and a radius as defined by the :doc:`atom_style sphere ` command. All particles in the group must be finite-size spheres. They cannot @@ -166,11 +160,6 @@ defined by the :doc:`dimension ` keyword. Related commands """""""""""""""" -:doc:`fix nvt `, :doc:`fix nve\_sphere `, :doc:`fix nvt\_asphere `, :doc:`fix npt\_sphere `, :doc:`fix\_modify ` +:doc:`fix nvt `, :doc:`fix nve_sphere `, :doc:`fix nvt_asphere `, :doc:`fix npt_sphere `, :doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_oneway.rst b/doc/src/fix_oneway.rst index 9d1f40ef5fcb3e7e47b10246c0089ef3df4c2403..04186404e6e825da5169da2fecf19996bd01b715 100644 --- a/doc/src/fix_oneway.rst +++ b/doc/src/fix_oneway.rst @@ -6,7 +6,6 @@ fix oneway command Syntax """""" - .. parsed-literal:: fix ID group-ID oneway N region-ID direction @@ -17,12 +16,10 @@ Syntax * region-ID = ID of region where fix is active * direction = *x* or *-x* or *y* or *-y* or *z* or *-z* = coordinate and direction of the oneway constraint - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix ions oneway 10 semi -x fix all oneway 1 left -z @@ -40,13 +37,11 @@ only. This can be used, for example, as a simple model of a semi-permeable membrane, or as an implementation of Maxwell's demon. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -62,12 +57,3 @@ Related commands :doc:`fix wall/reflect ` command **Default:** none - - ----------- - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_orient.rst b/doc/src/fix_orient.rst index dcce12eb9121e0be98e0382551b1d6aadee9a16f..8fdcc79acec9080b90d4aeabc4dc8b7696653350 100644 --- a/doc/src/fix_orient.rst +++ b/doc/src/fix_orient.rst @@ -6,7 +6,6 @@ fix orient/fcc command fix orient/bcc command ====================== - .. parsed-literal:: fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1 @@ -23,8 +22,7 @@ fix orient/bcc command Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec fix gb all orient/bcc 0 1 2.882 0.001 0.25 0.75 ngb.left ngb.right @@ -58,8 +56,21 @@ accounted for in measuring the grain boundary velocity. The potential energy added to atom I is given by these formulas -.. image:: Eqs/fix_orient_fcc.jpg - :align: center +.. math:: + + \xi_{i} = & \sum_{j=1}^{12} \left| \mathbf{r}_{j} - \mathbf{r}_{j}^{\rm I} \right| \qquad\qquad\left(1\right) \\ + \\ + \xi_{\rm IJ} = & \sum_{j=1}^{12} \left| \mathbf{r}_{j}^{\rm J} - \mathbf{r}_{j}^{\rm I} \right| \qquad\qquad\left(2\right)\\ + \\ + \xi_{\rm low} = & {\rm cutlo} \, \xi_{\rm IJ} \qquad\qquad\qquad\left(3\right)\\ + \xi_{\rm high} = & {\rm cuthi} \, \xi_{\rm IJ} \qquad\qquad\qquad\left(4\right) \\ + \\ + \omega_{i} = & \frac{\pi}{2} \frac{\xi_{i} - \xi_{\rm low}}{\xi_{\rm high} - \xi_{\rm low}} \qquad\qquad\left(5\right)\\ + \\ + u_{i} = & 0 \quad\quad\qquad\qquad\qquad \textrm{ for } \qquad \xi_{i} < \xi_{\rm low}\\ + = & {\rm dE}\,\frac{1 - \cos(2 \omega_{i})}{2} + \qquad \mathrm{ for }\qquad \xi_{\rm low} < \xi_{i} < \xi_{\rm high} \quad \left(6\right) \\ + = & {\rm dE} \quad\qquad\qquad\qquad\textrm{ for } \qquad \xi_{\rm high} < \xi_{i} which are fully explained in :ref:`(Janssens) `. For fcc crystals this order parameter Xi for atom I in equation (1) is a sum over the @@ -126,16 +137,16 @@ equal-and-opposite neighbors. A pair of orientation files for a Sigma=5 tilt boundary are shown below. A tutorial that can help for writing the orientation files is given in :ref:`(Wicaksono2) ` -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential energy of atom interactions with the grain boundary driving force to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *respa* option is supported by these +The :doc:`fix_modify ` *respa* option is supported by these fixes. This allows to set at which level of the :doc:`r-RESPA ` integrator a fix is adding its forces. Default is the outermost level. @@ -155,7 +166,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -164,46 +174,35 @@ This fix should only be used with fcc or bcc lattices. Related commands """""""""""""""" -:doc:`fix\_modify ` +:doc:`fix_modify ` **Default:** none - ---------- - .. _Janssens: - - **(Janssens)** Janssens, Olmsted, Holm, Foiles, Plimpton, Derlet, Nature Materials, 5, 124-127 (2006). .. _Wicaksono1: - - **(Wicaksono1)** Wicaksono, Sinclair, Militzer, Computational Materials Science, 117, 397-405 (2016). .. _Wicaksono2: - - **(Wicaksono2)** Wicaksono, figshare, -https://dx.doi.org/10.6084/m9.figshare.1488628.v1 (2015). - +https://doi.org/10.6084/m9.figshare.1488628.v1 (2015). ---------- - For illustration purposes, here are example files that specify a Sigma=5 <100> tilt boundary. This is for a lattice constant of 3.5706 Angs. file0: - .. parsed-literal:: 0.798410432046075 1.785300000000000 1.596820864092150 @@ -215,7 +214,6 @@ file0: file1: - .. parsed-literal:: -0.798410432046075 1.785300000000000 1.596820864092150 @@ -224,8 +222,3 @@ file1: 2.395231296138225 0.000000000000000 -0.798410432046075 1.596820864092150 1.785300000000000 0.798410432046075 1.596820864092150 -1.785300000000000 0.798410432046075 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_phonon.rst b/doc/src/fix_phonon.rst index ca7159566481b7ba813b714b0e90e2c01948f4eb..4eed4efc5bc12853c420b04a5a6347c3b18203be 100644 --- a/doc/src/fix_phonon.rst +++ b/doc/src/fix_phonon.rst @@ -6,7 +6,6 @@ fix phonon command Syntax """""" - .. parsed-literal:: fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ... @@ -16,15 +15,14 @@ Syntax * N = measure the Green's function every this many timesteps * Noutput = output the dynamical matrix every this many measurements * Nwait = wait this many timesteps before measuring -* map\_file = *file* or *GAMMA* - +* map_file = *file* or *GAMMA* + .. parsed-literal:: - + *file* is the file that contains the mapping info between atom ID and the lattice indices. - .. parsed-literal:: - + *GAMMA* flags to treate the whole simulation box as a unit cell, so that the mapping info can be generated internally. In this case, dynamical matrix at only the gamma-point will/can be evaluated. @@ -32,21 +30,18 @@ Syntax * prefix = prefix for output files * one or none keyword/value pairs may be appended * keyword = *sysdim* or *nasr* - + .. parsed-literal:: - + *sysdim* value = d d = dimension of the system, usually the same as the MD model dimension *nasr* value = n n = number of iterations to enforce the acoustic sum rule - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1 fix 1 all phonon 20 5000 200000 map.in EAM3D @@ -68,36 +63,32 @@ Based on fluctuation-dissipation theory, the force constant coefficients of the system in reciprocal space are given by (:ref:`Campana ` , :ref:`Kong `) - .. math:: - \begin{equation}\mathbf{\Phi}_{k\alpha,k^\prime \beta}(\mathbf{q}) = k_B T \mathbf{G}^{-1}_{k\alpha,k^\prime \beta}(\mathbf{q})\end{equation} + \mathbf{\Phi}_{k\alpha,k^\prime \beta}(\mathbf{q}) = k_B T \mathbf{G}^{-1}_{k\alpha,k^\prime \beta}(\mathbf{q}) where :math:`\mathbf{G}` is the Green's functions coefficients given by - .. math:: - \begin{equation}\mathbf{G}_{k\alpha,k^\prime \beta}(\mathbf{q}) = \left< \mathbf{u}_{k\alpha}(\mathbf{q}) \bullet \mathbf{u}_{k^\prime \beta}^*(\mathbf{q}) \right>\end{equation} + \mathbf{G}_{k\alpha,k^\prime \beta}(\mathbf{q}) = \left< \mathbf{u}_{k\alpha}(\mathbf{q}) \bullet \mathbf{u}_{k^\prime \beta}^*(\mathbf{q}) \right> where :math:`\left< \ldots \right>` denotes the ensemble average, and - .. math:: - \begin{equation}\mathbf{u}_{k\alpha}(\mathbf{q}) = \sum_l \mathbf{u}_{l k \alpha} \exp{(i\mathbf{qr}_l)}\end{equation} + \mathbf{u}_{k\alpha}(\mathbf{q}) = \sum_l \mathbf{u}_{l k \alpha} \exp{(i\mathbf{qr}_l)} is the :math:`\alpha` component of the atomic displacement for the :math:`k` th atom in the unit cell in reciprocal space at :math:`\mathbf{q}`. In practice, the Green's functions coefficients can also be measured according to the following formula, - .. math:: - \begin{equation}\mathbf{G}_{k\alpha,k^\prime \beta}(\mathbf{q}) = + \mathbf{G}_{k\alpha,k^\prime \beta}(\mathbf{q}) = \left< \mathbf{R}_{k \alpha}(\mathbf{q}) \bullet \mathbf{R}^*_{k^\prime \beta}(\mathbf{q}) \right> - - \left<\mathbf{R}\right>_{k \alpha}(\mathbf{q}) \bullet \left<\mathbf{R}\right>^*_{k^\prime \beta}(\mathbf{q})\end{equation} + - \left<\mathbf{R}\right>_{k \alpha}(\mathbf{q}) \bullet \left<\mathbf{R}\right>^*_{k^\prime \beta}(\mathbf{q}) where :math:`\mathbf{R}` is the instantaneous positions of atoms, and :math:`\left<\mathbf{R}\right>` is the averaged atomic positions. It @@ -107,11 +98,10 @@ easier to implement in an MD code. Once the force constant matrix is known, the dynamical matrix :math:`\mathbf{D}` can then be obtained by - .. math:: - \begin{equation}\mathbf{D}_{k\alpha, k^\prime\beta}(\mathbf{q}) = - (m_k m_{k^\prime})^{-\frac{1}{2}} \mathbf{\Phi}_{k \alpha, k^\prime \beta}(\mathbf{q})\end{equation} + \mathbf{D}_{k\alpha, k^\prime\beta}(\mathbf{q}) = + (m_k m_{k^\prime})^{-\frac{1}{2}} \mathbf{\Phi}_{k \alpha, k^\prime \beta}(\mathbf{q}) whose eigenvalues are exactly the phonon frequencies at :math:`\mathbf{q}`. @@ -141,14 +131,14 @@ provided by keyword *nasr* gives the total number of iterations. For a system whose unit cell has only one atom, *nasr* = 1 is sufficient; for other systems, *nasr* = 10 is typically sufficient. -The *map\_file* contains the mapping information between the lattice +The *map_file* contains the mapping information between the lattice indices and the atom IDs, which tells the code which atom sits at which lattice point; the lattice indices start from 0. An auxiliary code, `latgen `_, can be employed to generate the compatible map file for various crystals. In case one simulates a non-periodic system, where the whole simulation -box is treated as a unit cell, one can set *map\_file* as *GAMMA*\ , so +box is treated as a unit cell, one can set *map_file* as *GAMMA*\ , so that the mapping info will be generated internally and a file is not needed. In this case, the dynamical matrix at only the gamma-point will/can be evaluated. Please keep in mind that fix-phonon is designed @@ -160,12 +150,12 @@ The calculated dynamical matrix elements are written out in points in the log file is in the units of the basis vectors of the corresponding reciprocal lattice. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *temp* option is supported by this -fix. You can use it to change the temperature compute from thermo\_temp +The :doc:`fix_modify ` *temp* option is supported by this +fix. You can use it to change the temperature compute from thermo_temp to the one that reflects the true temperature of atoms in the group. No global scalar or vector or per-atom quantities are stored by this @@ -186,7 +176,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix assumes a crystalline system with periodical lattice. The temperature of the system should not exceed the melting temperature to keep the system in its solid state. @@ -200,7 +189,7 @@ Related commands """""""""""""""" :doc:`compute msd `, -:doc:`dynamical\_matrix ` +:doc:`dynamical_matrix ` Default """"""" @@ -208,38 +197,25 @@ Default The option defaults are sysdim = the same dimension as specified by the :doc:`dimension ` command, and nasr = 20. - ---------- - .. _Campana: - - **(Campana)** C. Campana and M. H. Muser, *Practical Green's function approach to the -simulation of elastic semi-infinite solids*\ , `Phys. Rev. B [74], 075420 (2006) `_ +simulation of elastic semi-infinite solids*\ , `Phys. Rev. B [74], 075420 (2006) `_ .. _Kong: - - **(Kong)** L.T. Kong, G. Bartels, C. Campana, C. Denniston, and Martin H. Muser, *Implementation of Green's -function molecular dynamics: An extension to LAMMPS*\ , `Computer Physics Communications [180](6):1004-1010 (2009). `_ +function molecular dynamics: An extension to LAMMPS*\ , `Computer Physics Communications [180](6):1004-1010 (2009). `_ L.T. Kong, C. Denniston, and Martin H. Muser, *An improved version of the Green's function molecular dynamics -method*\ , `Computer Physics Communications [182](2):540-541 (2011). `_ +method*\ , `Computer Physics Communications [182](2):540-541 (2011). `_ .. _Kong2011: - - **(Kong2011)** L.T. Kong, *Phonon dispersion measured directly from -molecular dynamics simulations*\ , `Computer Physics Communications [182](10):2201-2207, (2011). `_ - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +molecular dynamics simulations*\ , `Computer Physics Communications [182](10):2201-2207, (2011). `_ diff --git a/doc/src/fix_pimd.rst b/doc/src/fix_pimd.rst index 2639150bd49da33be4dcf4ec00875ac92c68b482..5bc7b75c90ba705581d98e1b1f5f00027ca86fa6 100644 --- a/doc/src/fix_pimd.rst +++ b/doc/src/fix_pimd.rst @@ -6,7 +6,6 @@ fix pimd command Syntax """""" - .. parsed-literal:: fix ID group-ID pimd keyword value ... @@ -15,22 +14,19 @@ Syntax * pimd = style name of this fix command * zero or more keyword/value pairs may be appended * keyword = *method* or *fmass* or *sp* or *temp* or *nhc* - + .. parsed-literal:: - + *method* value = *pimd* or *nmpimd* or *cmd* *fmass* value = scaling factor on mass *sp* value = scaling factor on Planck constant *temp* value = temperature (temperarate units) *nhc* value = Nc = number of chains in Nose-Hoover thermostat - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all pimd method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4 @@ -46,8 +42,11 @@ configurations from the canonical ensemble :ref:`(Feynman) `. The classical partition function and its components are given by the following equations: -.. image:: Eqs/fix_pimd.jpg - :align: center +.. math:: + + Z = & \int d{\bf q} d{\bf p} \cdot \textrm{exp} [ -\beta H_{eff} ] \\ + H_{eff} = & \bigg(\sum_{i=1}^P \frac{p_i^2}{2m_i}\bigg) + V_{eff} \\ + V_{eff} = & \sum_{i=1}^P \bigg[ \frac{mP}{2\beta^2 \hbar^2} (q_i - q_{i+1})^2 + \frac{1}{P} V(q_i)\bigg] The interested user is referred to any of the numerous references on this methodology, but briefly, each quantum particle in a path @@ -129,16 +128,14 @@ To run a PIMD simulation with M quasi-beads in each ring polymer using N MPI tasks for each partition's domain-decomposition, you would use P = MxN processors (cores) and run the simulation as follows: - -.. parsed-literal:: +.. code-block:: bash mpirun -np P lmp_mpi -partition MxN -in script Note that in the LAMMPS input script for a multi-partition simulation, it is often very useful to define a :doc:`uloop-style variable ` such as - -.. parsed-literal:: +.. code-block:: LAMMPS variable ibead uloop M pad @@ -146,8 +143,7 @@ where M is the number of quasi-beads (partitions) used in the calculation. The uloop variable can then be used to manage I/O related tasks for each of the partitions, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS dump dcd all dcd 10 system_${ibead}.dcd restart 1000 system_${ibead}.restart1 system_${ibead}.restart2 @@ -156,20 +152,18 @@ related tasks for each of the partitions, e.g. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. A PIMD simulation can be initialized with a single data file read via -the :doc:`read\_data ` command. However, this means all +the :doc:`read_data ` command. However, this means all quasi-beads in a ring polymer will have identical positions and velocities, resulting in identical trajectories for all quasi-beads. To avoid this, users can simply initialize velocities with different random number seeds assigned to each partition, as defined by the uloop variable, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS velocity all create 300.0 1234${ibead} rot yes dist gaussian @@ -179,50 +173,31 @@ Default The keyword defaults are method = pimd, fmass = 1.0, sp = 1.0, temp = 300.0, and nhc = 2. - ---------- - .. _Feynman: - - **(Feynman)** R. Feynman and A. Hibbs, Chapter 7, Quantum Mechanics and Path Integrals, McGraw-Hill, New York (1965). .. _pimd-Tuckerman: - - **(Tuckerman)** M. Tuckerman and B. Berne, J Chem Phys, 99, 2796 (1993). .. _Cao1: - - **(Cao1)** J. Cao and B. Berne, J Chem Phys, 99, 2902 (1993). .. _Cao2: - - **(Cao2)** J. Cao and G. Voth, J Chem Phys, 100, 5093 (1994). .. _Hone: - - **(Hone)** T. Hone, P. Rossky, G. Voth, J Chem Phys, 124, 154103 (2006). .. _Calhoun: - - **(Calhoun)** A. Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, 415 (1996). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_planeforce.rst b/doc/src/fix_planeforce.rst index 1cac0f8be8e87e3c50092dd0e7616f7a4eb90263..c90a3b6bbeb3b6e111ec14ddfd5e9f2b4578d1f3 100644 --- a/doc/src/fix_planeforce.rst +++ b/doc/src/fix_planeforce.rst @@ -6,7 +6,6 @@ fix planeforce command Syntax """""" - .. parsed-literal:: fix ID group-ID planeforce x y z @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix hold boundary planeforce 1.0 0.0 0.0 @@ -34,9 +32,9 @@ force perpendicular to the plane. If the initial velocity of the atom is 0.0 (or in the plane), then it should continue to move in the plane thereafter. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -55,8 +53,3 @@ Related commands :doc:`fix lineforce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_plumed.rst b/doc/src/fix_plumed.rst index 93a3ac0638b133353c6c7ce08d6ffc6db8f540f5..aeef6cff5099682a4a187e388032ffcdd87475d0 100644 --- a/doc/src/fix_plumed.rst +++ b/doc/src/fix_plumed.rst @@ -6,7 +6,6 @@ fix plumed command Syntax """""" - .. parsed-literal:: fix ID group-ID plumed keyword value ... @@ -14,18 +13,18 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * plumed = style name of this fix command * keyword = *plumedfile* or *outfile* - + .. parsed-literal:: - + *plumedfile* arg = name of PLUMED input file to use (default: NULL) *outfile* arg = name of file on which to write the PLUMED log (default: NULL) - - Examples """""""" -fix pl all plumed all plumed plumedfile plumed.dat outfile p.log +.. code-block:: LAMMPS + + fix pl all plumed all plumed plumedfile plumed.dat outfile p.log Description """"""""""" @@ -47,10 +46,8 @@ A detailed discussion of the code can be found in :ref:`(PLUMED) `. There is an example input for using this package with LAMMPS in the examples/USER/plumed directory. - ---------- - The command to make LAMMPS call PLUMED during a run requires two keyword value pairs pointing to the PLUMED input file and an output file for the PLUMED log. The user must specify these arguments every time PLUMED is @@ -78,7 +75,7 @@ correctly read and parsed. The names of the files in which the results are stored from the various analysis options performed by PLUMED will be specified by the user in the PLUMED input file. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** When performing a restart of a calculation that involves PLUMED you must include a RESTART command in the PLUMED input file as detailed in the @@ -90,7 +87,7 @@ dependent bias potentials that were accumulated in previous calculations will be read in when the RESTART command is included in the PLUMED input. -The :doc:`fix\_modify ` *energy* option is not supported by +The :doc:`fix_modify ` *energy* option is not supported by this fix. Nothing is computed by this fix that can be accessed by any of the @@ -101,7 +98,6 @@ however. Restrictions """""""""""" - This fix is part of the USER-PLUMED package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -118,25 +114,12 @@ Default The default options are plumedfile = NULL and outfile = NULL - ---------- - .. _PLUMED: - - **(PLUMED)** G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014) -.. _plumeddocs: http://www.plumed.org/doc.html - - - -.. _plumedhome: http://www.plumed.org/ - - - +.. _plumeddocs: https://www.plumed.org/doc.html -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +.. _plumedhome: https://www.plumed.org/ diff --git a/doc/src/fix_poems.rst b/doc/src/fix_poems.rst index 816568b537ec5f02f82ce260415f82325bf6c7b6..1be7a904194cac91358baff1496226a1f702e0f6 100644 --- a/doc/src/fix_poems.rst +++ b/doc/src/fix_poems.rst @@ -5,7 +5,6 @@ fix poems command Syntax: - .. parsed-literal:: fix ID group-ID poems keyword values @@ -13,20 +12,17 @@ Syntax: * ID, group-ID are documented in :doc:`fix ` command * poems = style name of this fix command * keyword = *group* or *file* or *molecule* - + .. parsed-literal:: - + *group* values = list of group IDs *molecule* values = none *file* values = filename - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 fluid poems group clump1 clump2 clump3 fix 3 fluid poems file cluster.list @@ -53,8 +49,6 @@ documents in the poems directory distributed with LAMMPS. .. _poems: http://www.rpi.edu/~anderk5/lab - - This fix updates the positions and velocities of the rigid atoms with a constant-energy time integration, so you should not update the same atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). @@ -98,7 +92,7 @@ this context means a set of rigid bodies connected by joints. For computational efficiency, you should turn off pairwise and bond interactions within each rigid body, as they no longer contribute to -the motion. The "neigh\_modify exclude" and "delete\_bonds" commands +the motion. The "neigh_modify exclude" and "delete_bonds" commands can be used to do this if each rigid body is a group. For computational efficiency, you should only define one fix poems @@ -111,11 +105,11 @@ body contribution to the pressure virial is also accounted for. The latter is only correct if forces within the bodies have been turned off, and there is only a single fix poems defined. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *bodyforces* option is supported by +The :doc:`fix_modify ` *bodyforces* option is supported by this fix style to set whether per-body forces and torques are computed early or late in a timestep, i.e. at the post-force stage or at the final-integrate stage, respectively. @@ -128,7 +122,6 @@ command. This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the POEMS package. It is only enabled if LAMMPS was built with that package, which also requires the POEMS library be built and linked with LAMMPS. See the :doc:`Build package ` doc page for more info. @@ -136,24 +129,15 @@ built and linked with LAMMPS. See the :doc:`Build package ` doc Related commands """""""""""""""" -:doc:`fix rigid `, :doc:`delete\_bonds `, -:doc:`neigh\_modify ` exclude +:doc:`fix rigid `, :doc:`delete_bonds `, +:doc:`neigh_modify ` exclude **Default:** none - ---------- - .. _Anderson: - - **(Anderson)** Anderson, Mukherjee, Critchley, Ziegler, and Lipton "POEMS: Parallelizable Open-source Efficient Multibody Software ", -Engineering With Computers (2006). (`link to paper `_) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +Engineering With Computers (2006). (`link to paper `_) diff --git a/doc/src/fix_pour.rst b/doc/src/fix_pour.rst index 8deeb6e885c12ad4a68f48adbbaf4155958b226a..26f1cd0eae6b61b1af70d166274f5dc52f88f098 100644 --- a/doc/src/fix_pour.rst +++ b/doc/src/fix_pour.rst @@ -6,7 +6,6 @@ fix pour command Syntax """""" - .. parsed-literal:: fix ID group-ID pour N type seed keyword values ... @@ -18,9 +17,9 @@ Syntax * seed = random # seed (positive integer) * one or more keyword/value pairs may be appended to args * keyword = *region* or *diam* or *vol* or *rate* or *dens* or *vel* or *mol* or *rigid* or *shake* or *ignore* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region to use as insertion volume *diam* values = dstyle args @@ -61,13 +60,10 @@ Syntax skip any line or triangle particles when detecting possible overlaps with inserted particles - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 all pour 1000 2 29494 region myblock fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam range 0.9 1.1 @@ -130,7 +126,7 @@ command which also appears in your input script. If you wish the new rigid molecules (and other rigid molecules) to be thermostatted correctly via :doc:`fix rigid/small/nvt ` or :doc:`fix rigid/small/npt `, then you need to use the - "fix\_modify dynamic/dof yes" command for the rigid fix. This is to + "fix_modify dynamic/dof yes" command for the rigid fix. This is to inform that fix that the molecule count will vary dynamically. If you wish to insert molecules via the *mol* keyword, that will have @@ -154,13 +150,11 @@ many timesteps until the desired # of particles has been inserted. If you are monitoring the temperature of a system where the particle count is changing due to adding particles, you typically - should use the :doc:`compute\_modify dynamic yes ` + should use the :doc:`compute_modify dynamic yes ` command for the temperature compute you are using. - ---------- - All other keywords are optional with defaults as shown below. The *diam* option is only used when inserting atoms and specifies the @@ -220,7 +214,7 @@ successively higher height over time. The *ignore* option is useful when running a simulation that used line segment (2d) or triangle (3d) particles, typically to define boundaries for spherical granular particles to interact with. See the -:doc:`atom\_style line or tri ` command for details. Lines +:doc:`atom_style line or tri ` command for details. Lines and triangles store their size, and if the size is large it may overlap (in a spherical sense) with the insertion region, even if the line/triangle is oriented such that there is no actual overlap. This @@ -229,11 +223,9 @@ causes the overlap check to skip any line or triangle particles. Obviously you should only use it if there is in fact no overlap of the line or triangle particles with the insertion region. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. This means you must be careful when restarting a pouring simulation, when the restart file was written in the middle of @@ -249,7 +241,7 @@ place. However, in a statistical sense, a restarted simulation should produce the same behavior if you adjust the fix pour parameters appropriately. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the @@ -258,7 +250,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -284,8 +275,3 @@ setting is defined. If the *mol* keyword is used, the default for Additional option defaults are diam = one 1.0, dens = 1.0 1.0, vol = 0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0 (for 3d), vel = 0.0 0.0 0.0 (for 2d), and id = max. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_precession_spin.rst b/doc/src/fix_precession_spin.rst index 2c84eaa3045e304623ff6c753dcce54fcd7d0f3c..783963af7223a36c075a3cb2a7763e5368c73f65 100644 --- a/doc/src/fix_precession_spin.rst +++ b/doc/src/fix_precession_spin.rst @@ -6,7 +6,6 @@ fix precession/spin command Syntax """""" - .. code-block:: LAMMPS fix ID group precession/spin style args @@ -14,9 +13,9 @@ Syntax * ID, group are documented in :doc:`fix ` command * precession/spin = style name of this fix command * style = *zeeman* or *anisotropy* or *cubic* - + .. parsed-literal:: - + *zeeman* args = H x y z H = intensity of the magnetic field (in Tesla) x y z = vector direction of the field @@ -24,19 +23,15 @@ Syntax K = intensity of the magnetic anisotropy (in eV) x y z = vector direction of the anisotropy - .. parsed-literal:: - + *cubic* args = K1 K2c n1x n1y n1x n2x n2y n2z n3x n3y n3z K1 and K2c = intensity of the magnetic anisotropy (in eV) n1x to n3z = three direction vectors of the cubic anisotropy - - Examples """""""" - .. code-block:: LAMMPS fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 @@ -65,7 +60,6 @@ with: * :math:`\mu_i` the atomic moment of spin :math:`i` given as a multiple of the Bohr magneton :math:`\mu_B` (for example, :math:`\mu_i \approx 2.2` in bulk iron). - The field value in Tesla is multiplied by the gyromagnetic ratio, :math:`g \cdot \mu_B/\hbar`, converting it into a precession frequency in rad.THz (in metal units and with :math:`\mu_B = 5.788 eV/T`). @@ -73,19 +67,20 @@ rad.THz (in metal units and with :math:`\mu_B = 5.788 eV/T`). As a comparison, the figure below displays the simulation of a single spin (of norm :math:`\mu_i = 1.0`) submitted to an external magnetic field of :math:`\vert B_{ext}\vert = 10.0\; \mathrm{Tesla}` (and oriented along the z -axis). +axis). The upper plot shows the average magnetization along the external magnetic field axis and the lower plot the Zeeman energy, both as a function of temperature. -The reference result is provided by the plot of the Langevin +The reference result is provided by the plot of the Langevin function for the same parameters. .. image:: JPG/zeeman_langevin.jpg :align: center + :width: 600 The temperature effects are accounted for by connecting the spin :math:`i` to a thermal bath using a Langevin thermostat (see -:doc:`fix\_langevin\_spin ` for the definition of +:doc:`fix langevin/spin ` for the definition of this thermostat). Style *anisotropy* is used to simulate an easy axis or an easy plane @@ -134,18 +129,15 @@ normalized). Those styles can be combined within one single command line. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** By default, the energy associated to this fix is not added to the potential energy of the system. -The :doc:`fix\_modify ` *energy* option is supported by this fix +The :doc:`fix_modify ` *energy* option is supported by this fix to add this magnetic potential energy to the potential energy of the system, - .. code-block:: LAMMPS fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 @@ -159,27 +151,27 @@ No information about this fix is written to :doc:`binary restart files Restrictions """""""""""" - The *precession/spin* style is part of the SPIN package. This style is only enabled if LAMMPS was built with this package, and if the -atom\_style "spin" was declared. See the :doc:`Build package ` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package ` doc page for more info. + +The *precession/spin* style can only be declared once. If more +than one precession type (for example combining an anisotropy and a Zeeman interactions) +has to be declared, they have to be chained in the same command +line (as shown in the examples above). Related commands """""""""""""""" -:doc:`atom\_style spin ` +:doc:`atom_style spin ` **Default:** none - ---------- - .. _Skomski1: - - **(Skomski)** Skomski, R. (2008). Simple models of magnetism. Oxford University Press. diff --git a/doc/src/fix_press_berendsen.rst b/doc/src/fix_press_berendsen.rst index 4237d06228c5a343c0a4b5e0bc78bc924063f27a..215ef81b026cd5ff1a1918acaa0defec0a968719 100644 --- a/doc/src/fix_press_berendsen.rst +++ b/doc/src/fix_press_berendsen.rst @@ -6,16 +6,15 @@ fix press/berendsen command Syntax """""" - .. parsed-literal:: fix ID group-ID press/berendsen keyword value ... * ID, group-ID are documented in :doc:`fix ` command * press/berendsen = style name of this fix command - + .. parsed-literal:: - + one or more keyword value pairs may be appended keyword = *iso* or *aniso* or *x* or *y* or *z* or *couple* or *dilate* or *modulus* *iso* or *aniso* values = Pstart Pstop Pdamp @@ -28,13 +27,10 @@ Syntax *modulus* value = bulk modulus of system (pressure units) *dilate* value = *all* or *partial* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all press/berendsen iso 0.0 0.0 1000.0 fix 2 all press/berendsen aniso 0.0 0.0 1000.0 dilate partial @@ -68,10 +64,8 @@ unchanged and controlling the pressure of a surrounding fluid. See the :doc:`Howto baroostat ` doc page for a discussion of different ways to perform barostatting. - ---------- - The barostat is specified using one or more of the *iso*\ , *aniso*\ , *x*\ , *y*\ , *z*\ , and *couple* keywords. These keywords give you the ability to specify the 3 diagonal components of an external stress @@ -126,10 +120,8 @@ means to relax the pressure in a timespan of (roughly) 10 time units too small for solids. Thus you should experiment to find appropriate values of *Pdamp* and/or the *modulus* when using this fix. - ---------- - The *couple* keyword allows two or three of the diagonal components of the pressure tensor to be "coupled" together. The value specified with the keyword determines which are coupled. For example, *xz* @@ -143,10 +135,8 @@ dilated or contracted by the same percentage every timestep. The be identical. *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. - ---------- - The *iso* and *aniso* keywords are simply shortcuts that are equivalent to specifying several other keywords together. @@ -155,7 +145,6 @@ pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using "iso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -169,7 +158,6 @@ stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -177,39 +165,36 @@ these 4 keywords: z Pstart Pstop Pdamp couple none - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp See the :doc:`compute temp ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is the same as the fix group. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the -:doc:`compute\_modify ` command or print this temperature -or pressure during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by this fix. You can use them to assign a :doc:`compute ` you have defined to this fix which will be used in its temperature and pressure calculations. If you do this, note @@ -230,14 +215,13 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - Any dimension being adjusted by this fix must be periodic. Related commands """""""""""""""" :doc:`fix nve `, :doc:`fix nph `, :doc:`fix npt `, :doc:`fix temp/berendsen `, -:doc:`fix\_modify ` +:doc:`fix_modify ` Default """"""" @@ -245,18 +229,9 @@ Default The keyword defaults are dilate = all, modulus = 10.0 in units of pressure for whatever :doc:`units ` are defined. - ---------- - .. _Berendsen1: - - **(Berendsen)** Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem Phys, 81, 3684 (1984). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_print.rst b/doc/src/fix_print.rst index 865d3d9741a553461d30308d03f95e9f5d01d8f7..82b26d4ef3903c10f09cf53a27743d433d8a3dd8 100644 --- a/doc/src/fix_print.rst +++ b/doc/src/fix_print.rst @@ -6,7 +6,6 @@ fix print command Syntax """""" - .. parsed-literal:: fix ID group-ID print N string keyword value ... @@ -17,22 +16,19 @@ Syntax * string = text string to print with optional variable names * zero or more keyword/value pairs may be appended * keyword = *file* or *append* or *screen* or *title* - + .. parsed-literal:: - + *file* value = filename *append* value = filename *screen* value = *yes* or *no* *title* value = string string = text to print as 1st line of output file - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix extra all print 100 "Coords of marker atom = $x $y $z" fix extra all print 100 "Coords of marker atom = $x $y $z" file coord.txt @@ -48,7 +44,7 @@ If it contains variables it must be enclosed in double quotes to insure they are not evaluated when the input script line is read, but will instead be evaluated each time the string is printed. -Instead of a numeric value, N can be specified as an :doc:`equal-style variable `, which should be specified as v\_name, where +Instead of a numeric value, N can be specified as an :doc:`equal-style variable `, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the **next** timestep at which the string will be written out. On that timestep, the variable will be @@ -58,8 +54,7 @@ and logfreq() and stride() math functions for :doc:`equal-style variables `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -117,8 +111,3 @@ Default The option defaults are no file output, screen = yes, and title string as described above. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_propel_self.rst b/doc/src/fix_propel_self.rst index 005657c75904e861bf590b3edc1bc4651ea100f2..b6b5a6051f0040c7b674386e6b51c5ca0fdae39e 100644 --- a/doc/src/fix_propel_self.rst +++ b/doc/src/fix_propel_self.rst @@ -6,7 +6,9 @@ fix propel/self command Syntax """""" -fix ID group-ID propel/self mode magnitude keyword values ... +.. parsed-literal:: + + fix ID group-ID propel/self mode magnitude keyword values ... * ID, group-ID are documented in :doc:`fix ` command * propel/self = style name of this fix command @@ -17,13 +19,10 @@ fix ID group-ID propel/self mode magnitude keyword values ... *types* values = one or more atom types - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix active_group all propel/self velocity 1.0 fix constant_velocity all viscous 1.0 @@ -45,7 +44,7 @@ such as proposed by :ref:`(Erdmann) `. For *mode* = *quat* the force is applied along the axis obtained by rotating the x-axis along the atom's quaternion. In other words, the force is along the x-axis in the atom's body frame. This mode requires -all atoms in the group to have a quaternion, so atom\_style should +all atoms in the group to have a quaternion, so atom_style should either be ellipsoid or body. In combination with Langevin thermostat for translation and rotation in the overdamped regime, the quaternion mode corresponds to the active Brownian particle model introduced by @@ -56,11 +55,9 @@ By default, this fix is applied to all atoms in the group. You can override this behavior by specifying the atom types the fix should work on through the *types* keyword. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. @@ -69,11 +66,10 @@ This fix is not imposed during minimization. Restrictions """""""""""" - In quat mode, this fix makes use of per-atom quaternions to take into account the fact that the orientation can rotate and hence the direction of the active force can change. The quat mode -of this fix only works with atom\_style ellipsoid. +of this fix only works with atom_style ellipsoid. Related commands """""""""""""""" @@ -82,32 +78,19 @@ Related commands .. _Erdmann: - - **(Erdmann)** U. Erdmann , W. Ebeling, L. Schimansky-Geier, and F. Schweitzer, Eur. Phys. J. B 15, 105-113, 2000. .. _Henkes: - - **(Henkes)** Henkes, S, Fily, Y., and Marchetti, M. C. Phys. Rev. E, 84, 040301(R), 2011. .. _Bialke: - - **(Bialke)** J. Bialke, T. Speck, and H Loewen, Phys. Rev. Lett. 108, 168301, 2012. .. _Fily: - - **(Fily)** Y. Fily and M.C. Marchetti, Phys. Rev. Lett. 108, 235702, 2012. **Default:** types - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_property_atom.rst b/doc/src/fix_property_atom.rst index 645bc13452d95f4c5383cb0233836038f3c7c6ba..f866ddf7a27262946535a07b7ddd1964d1ef5b02 100644 --- a/doc/src/fix_property_atom.rst +++ b/doc/src/fix_property_atom.rst @@ -9,17 +9,16 @@ fix property/atom/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID property/atom vec1 vec2 ... keyword value ... * ID, group-ID are documented in :doc:`fix ` command * property/atom = style name of this fix command -* vec1,vec2,... = *mol* or *q* or *rmass* or *i\_name* or *d\_name* - +* vec1,vec2,... = *mol* or *q* or *rmass* or *i_name* or *d_name* + .. parsed-literal:: - + *mol* = molecule IDs *q* = charge *rmass* = per-atom mass @@ -28,18 +27,15 @@ Syntax * zero of more keyword/value pairs may be appended * keyword = *ghost* - - .. parsed-literal:: - - *ghost* value = *no* or *yes* for whether ghost atom info in communicated + .. parsed-literal:: + *ghost* value = *no* or *yes* for whether ghost atom info in communicated Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all property/atom mol fix 1 all property/atom i_myflag1 i_myflag2 @@ -53,8 +49,8 @@ about atoms and to use during a simulation. The specified *group-ID* is ignored by this fix. The atom style used for a simulation defines a set of per-atom -properties, as explained on the :doc:`atom\_style ` and -:doc:`read\_data ` doc pages. The latter command allows these +properties, as explained on the :doc:`atom_style ` and +:doc:`read_data ` doc pages. The latter command allows these properties to be defined for each atom in the system when a data file is read. This fix will augment the set of properties with new custom ones. This can be useful in several scenarios. @@ -88,7 +84,7 @@ In the future, we may add additional per-atom properties similar to by some atom styles, so they can be used by atom styles that do not define them. -More generally, the *i\_name* and *d\_name* vectors allow one or more +More generally, the *i_name* and *d_name* vectors allow one or more new custom per-atom properties to be defined. Each name must be unique and can use alphanumeric or underscore characters. These vectors can store whatever values you decide are useful in your @@ -113,7 +109,7 @@ new properties are also defined for the ghost atoms. If you use this command with the *mol*\ , *q* or *rmass* vectors, then you most likely want to set *ghost* yes, since these properties - are stored with ghost atoms if you use an :doc:`atom\_style ` + are stored with ghost atoms if you use an :doc:`atom_style ` that defines them, and many LAMMPS operations that use molecule IDs or charge, such as neighbor lists and pair styles, will expect ghost atoms to have these values. LAMMPS will issue a warning it you define @@ -136,33 +132,29 @@ new properties are also defined for the ghost atoms. a 'run 0' command should be issued to properly initialize the storage created by this fix. - ---------- - This fix is one of a small number that can be defined in an input script before the simulation box is created or atoms are defined. -This is so it can be used with the :doc:`read\_data ` command +This is so it can be used with the :doc:`read_data ` command as described below. Per-atom properties that are defined by the :doc:`atom style ` are initialized when atoms are created, e.g. by -the :doc:`read\_data ` or :doc:`create\_atoms ` +the :doc:`read_data ` or :doc:`create_atoms ` commands. The per-atom properties defined by this fix are not. So you need to initialize them explicitly. This can be done by the -:doc:`read\_data ` command, using its *fix* keyword and +:doc:`read_data ` command, using its *fix* keyword and passing it the fix-ID of this fix. Thus these commands: - -.. parsed-literal:: +.. code-block:: LAMMPS fix prop all property/atom mol d_flag read_data data.txt fix prop NULL Molecules would allow a data file to have a section like this: - .. parsed-literal:: Molecules @@ -185,12 +177,11 @@ Another way of initializing the new properties is via the defined for every set of 10 atoms, based on their atom-IDs, these commands could be used: - -.. parsed-literal:: +.. code-block:: LAMMPS fix prop all property/atom mol variable cluster atom ((id-1)/10)+1 - set atom \* mol v_cluster + set atom * mol v_cluster The :doc:`atom-style variable ` will create values for atoms with IDs 31,32,33,...40 that are 4.0,4.1,4.2,...,4.9. When the @@ -204,42 +195,33 @@ molecule IDs could be read-in from a separate file and assigned by the :doc:`set ` command. This allows you to initialize new per-atom properties in a completely general fashion. - ---------- - -For new atom properties specified as *i\_name* or *d\_name*, the +For new atom properties specified as *i_name* or *d_name*, the :doc:`compute property/atom ` command can access their values. This means that the values can be output via the :doc:`dump custom ` command, accessed by fixes like :doc:`fix ave/atom `, accessed by other computes like :doc:`compute reduce `, or used in :doc:`atom-style variables `. For example, these commands will output two new properties to a custom dump file: - -.. parsed-literal:: +.. code-block:: LAMMPS fix prop all property/atom i_flag1 d_flag2 compute 1 all property/atom i_flag1 d_flag2 dump 1 all custom 100 tmp.dump id x y z c_1[1] c_1[2] - ---------- - If you wish to add new :doc:`pair styles `, :doc:`fixes `, or :doc:`computes ` that use the per-atom properties defined by this fix, see the :doc:`Modify atom ` doc page which has details on how the properties can be accessed from added classes. - ---------- - .. _isotopes: - - Example for using per-atom masses with TIP4P water to study isotope effects. When setting up simulations with the :doc:`TIP4P pair styles ` for water, you have to provide exactly one atom type each to identify the water oxygen and hydrogen @@ -251,22 +233,20 @@ for regular TIP4P water, where water oxygen is atom type 1 and water hydrogen is atom type 2, the following lines of input script convert this to using per-atom masses: - -.. parsed-literal:: +.. code-block:: LAMMPS fix Isotopes all property/atom rmass ghost yes set type 1 mass 15.9994 set type 2 mass 1.008 -When writing out the system data with the :doc:`write\_data ` +When writing out the system data with the :doc:`write_data ` command, there will be a new section named with the fix-ID (i.e. *Isotopes* in this case). Alternatively, you can take an existing data file and just add this *Isotopes* section with one line per atom containing atom-ID and mass. Either way, the extended data file can be read back with: - -.. parsed-literal:: +.. code-block:: LAMMPS fix Isotopes all property/atom rmass ghost yes read_data tip4p-isotopes.data fix Isotopes NULL Isotopes @@ -276,17 +256,14 @@ and the second to the name of the section. The following input script code will now change the first 100 water molecules in this example to heavy water: - -.. parsed-literal:: +.. code-block:: LAMMPS group hwat id 2:300:3 group hwat id 3:300:3 set group hwat mass 2.0141018 - ---------- - 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 @@ -305,19 +282,17 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the per-atom values it stores to :doc:`binary restart files `, so that the values can be restored when a -simulation is restarted. See the :doc:`read\_restart ` +simulation is restarted. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the @@ -330,14 +305,9 @@ Restrictions Related commands """""""""""""""" -:doc:`read\_data `, :doc:`set `, :doc:`compute property/atom ` +:doc:`read_data `, :doc:`set `, :doc:`compute property/atom ` Default """"""" The default keyword values are ghost = no. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_python_invoke.rst b/doc/src/fix_python_invoke.rst index 0ee101198b9cbbb6ba3eb8afe818e06ff90d86fc..94bad11f00cf0470dd15bc01baf99a5e8feb211b 100644 --- a/doc/src/fix_python_invoke.rst +++ b/doc/src/fix_python_invoke.rst @@ -6,7 +6,6 @@ fix python/invoke command Syntax """""" - .. parsed-literal:: fix ID group-ID python/invoke N callback function_name @@ -14,20 +13,17 @@ Syntax * ID, group-ID are ignored by this fix * python/invoke = style name of this fix command * N = execute every N steps -* callback = *post\_force* or *end\_of\_step* - +* callback = *post_force* or *end_of_step* + .. parsed-literal:: - + *post_force* = callback after force computations on atoms every N time steps *end_of_step* = callback after every N time steps - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS python post_force_callback here """ from lammps import lammps @@ -73,7 +69,6 @@ gives access to the LAMMPS state from Python. Restrictions """""""""""" - This fix is part of the PYTHON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -86,8 +81,3 @@ Related commands """""""""""""""" :doc:`python command ` - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_python_move.rst b/doc/src/fix_python_move.rst index 0d59cf82c04a1a63b5560f291305dda14855375b..07f61c2b853fb66888256bceab6bbcc45c94abef 100644 --- a/doc/src/fix_python_move.rst +++ b/doc/src/fix_python_move.rst @@ -6,7 +6,6 @@ fix python/move command Syntax """""" - .. parsed-literal:: fix python/move pymodule.CLASS @@ -16,8 +15,7 @@ pymodule.CLASS = use class **CLASS** in module/file **pymodule** to compute how Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all python/move py_nve.NVE fix 1 all python/move py_nve.NVE_OPT @@ -37,16 +35,13 @@ 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. - ---------- - The python module file has to start with the following code: +.. code-block:: python -.. parsed-literal:: - - from __future_\_ import print_function + from __future__ import print_function import lammps import ctypes import traceback @@ -85,13 +80,11 @@ methods as needed. Examples for how to do this are in the *examples/python* folder. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -100,7 +93,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This pair style is part of the PYTHON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -110,8 +102,3 @@ Related commands :doc:`fix nve `, :doc:`fix python/invoke ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_qbmsst.rst b/doc/src/fix_qbmsst.rst index 84ab2abc9171cedf442a5a1745b9fc3f87f669d2..b7a4f49300cb4658296b845235c4f472955eddc2 100644 --- a/doc/src/fix_qbmsst.rst +++ b/doc/src/fix_qbmsst.rst @@ -6,7 +6,6 @@ fix qbmsst command Syntax """""" - .. parsed-literal:: fix ID group-ID qbmsst dir shockvel keyword value ... @@ -16,17 +15,17 @@ Syntax * dir = *x* or *y* or *z* * shockvel = shock velocity (strictly positive, velocity units) * zero or more keyword/value pairs may be appended -* keyword = *q* or *mu* or *p0* or *v0* or *e0* or *tscale* or *damp* or *seed*\ or *f\_max* or *N\_f* or *eta* or *beta* or *T\_init* - +* keyword = *q* or *mu* or *p0* or *v0* or *e0* or *tscale* or *damp* or *seed*\ or *f_max* or *N_f* or *eta* or *beta* or *T_init* + .. parsed-literal:: - + *q* value = cell mass-like parameter (mass\^2/distance\^4 units) *mu* value = artificial viscosity (mass/distance/time units) *p0* value = initial pressure in the shock equations (pressure units) *v0* value = initial simulation cell volume in the shock equations (distance\^3 units) *e0* value = initial total energy (energy units) *tscale* value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) - *damp* value = damping parameter (time units) inverse of friction γ + *damp* value = damping parameter (time units) inverse of friction *gamma* *seed* value = random number seed (positive integer) *f_max* value = upper cutoff frequency of the vibration spectrum (1/time units) *N_f* value = number of frequency bins (positive integer) @@ -34,50 +33,50 @@ Syntax *beta* value = the quantum temperature is updated every beta time steps (positive integer) *T_init* value = quantum temperature for the initial state (temperature units) - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - fix 1 all qbmsst z 0.122 q 25 mu 0.9 tscale 0.01 damp 200 seed 35082 f_max 0.3 N_f 100 eta 1 beta 400 T_init 110 (liquid methane modeled with the REAX force field, real units) - fix 2 all qbmsst z 72 q 40 tscale 0.05 damp 1 seed 47508 f_max 120.0 N_f 100 eta 1.0 beta 500 T_init 300 (quartz modeled with the BKS force field, metal units) + # (liquid methane modeled with the REAX force field, real units) + fix 1 all qbmsst z 0.122 q 25 mu 0.9 tscale 0.01 damp 200 seed 35082 f_max 0.3 N_f 100 eta 1 beta 400 T_init 110 + # (quartz modeled with the BKS force field, metal units) + fix 2 all qbmsst z 72 q 40 tscale 0.05 damp 1 seed 47508 f_max 120.0 N_f 100 eta 1.0 beta 500 T_init 300 -Two example input scripts are given, including shocked alpha quartz -and shocked liquid methane. The input script first equilibrate an -initial state with the quantum thermal bath at the target temperature -and then apply the qbmsst to simulate shock compression with quantum -nuclear correction. The following two figures plot related quantities -for shocked alpha quartz. +Two example input scripts are given, including shocked +:math:`\alpha\textrm{-quartz}` and shocked liquid methane. The input +script first equilibrates an initial state with the quantum thermal +bath at the target temperature and then applies *fix qbmsst* to simulate +shock compression with quantum nuclear correction. The following two +figures plot relevant quantities for shocked +:math:`\alpha\textrm{-quartz}`. .. image:: JPG/qbmsst_init.jpg :align: center -Figure 1. Classical temperature Tcl = ∑ -mivi2/3NkB vs. time -for coupling the alpha quartz initial state with the quantum thermal -bath at target quantum temperature Tqm = 300 K. The -NpH ensemble is used for time integration while QTB provides the -colored random force. Tcl converges at the timescale -of *damp* which is set to be 1 ps. +Figure 1. Classical temperature +:math:`T_{cl} = \sum \frac{m_iv_i^2}{3Nk_B}` vs. time for coupling the +:math:`\alpha\textrm{-quartz}` initial state with the quantum thermal +bath at target quantum temperature :math:`T^{qm} = 300 K`. The NpH +ensemble is used for time integration while QTB provides the colored +random force. :math:`T^{cl}` converges at the timescale of *damp* +which is set to be 1 ps. .. image:: JPG/qbmsst_shock.jpg :align: center Figure 2. Quantum temperature and pressure vs. time for simulating -shocked alpha quartz with the QBMSST. The shock propagates along the z -direction. Restart of the QBMSST command is demonstrated in the -example input script. Thermodynamic quantities stay continuous before -and after the restart. +shocked :math:`\alpha\textrm{-quartz}` with *fix qbmsst*\. The shock +propagates along the z direction. Restart of the *fix qbmsst* command +is demonstrated in the example input script. Thermodynamic quantities +stay continuous before and after the restart. Description """"""""""" This command performs the Quantum-Bath coupled Multi-Scale Shock Technique (QBMSST) integration. See :ref:`(Qi) ` for a detailed -description of this method. The QBMSST provides description of the +description of this method. QBMSST provides description of the thermodynamics and kinetics of shock processes while incorporating quantum nuclear effects. The *shockvel* setting determines the steady shock velocity that will be simulated along direction *dir*\ . @@ -96,90 +95,84 @@ Hugoniot that is 40% lower than observed with classical molecular dynamics. It is highly recommended that the system be already in an equilibrium -state with a quantum thermal bath at temperature of *T\_init*. The fix -command :doc:`fix qtb ` at constant temperature *T\_init* could +state with a quantum thermal bath at temperature of *T_init*. The fix +command :doc:`fix qtb ` at constant temperature *T_init* could be used before applying this command to introduce self-consistent quantum nuclear effects into the initial state. The parameters *q*\ , *mu*\ , *e0*\ , *p0*\ , *v0* and *tscale* are described in the command :doc:`fix msst `. The values of *e0*\ , *p0*\ , or *v0* will be calculated on the first step if not specified. The -parameter of *damp*\ , *f\_max*, and *N\_f* are described in the command +parameter of *damp*\ , *f_max*, and *N_f* are described in the command :doc:`fix qtb `. -The fix qbmsst command couples the shock system to a quantum thermal +The *fix qbmsst* command couples the shock system to a quantum thermal bath with a rate that is proportional to the change of the total -energy of the shock system, etot - etot0. -Here etot consists of both the system energy and a thermal -term, see :ref:`(Qi) `, and etot0 = *e0* is the +energy of the shock system, :math:`E^{tot} - E^{tot}_0`. +Here :math:`E^{etot}` consists of both the system energy and a thermal +term, see :ref:`(Qi) `, and :math:`E^{tot}_0 = e0` is the initial total energy. -The *eta* (η) parameter is a unitless coupling constant -between the shock system and the quantum thermal bath. A small *eta* +The *eta* (:math:`\eta`) parameter is a unitless coupling constant +between the shock system and the quantum thermal bath. A small :math:`\eta` value cannot adjust the quantum temperature fast enough during the -temperature ramping period of shock compression while large *eta* -leads to big temperature oscillation. A value of *eta* between 0.3 and +temperature ramping period of shock compression while large :math:`\eta` +leads to big temperature oscillation. A value of :math:`\eta` between 0.3 and 1 is usually appropriate for simulating most systems under shock -compression. We observe that different values of *eta* lead to almost +compression. We observe that different values of :math:`\eta` lead to almost the same final thermodynamic state behind the shock, as expected. -The quantum temperature is updated every *beta* (β) steps -with an integration time interval *beta* times longer than the -simulation time step. In that case, etot is taken as its -average over the past *beta* steps. The temperature of the quantum -thermal bath Tqm changes dynamically according to -the following equation where Δt is the MD time step and -γ is the friction constant which is equal to the inverse +The quantum temperature is updated every *beta* (:math:`\beta`) steps +with an integration time interval :math:`\beta` times longer than the +simulation time step. In that case, :math:`E^{tot}` is taken as its +average over the past :math:`\beta` steps. The temperature of the quantum +thermal bath :math:`T^{qm}` changes dynamically according to +the following equation where :math:`\Delta_t` is the MD time step and +:math:`\gamma` is the friction constant which is equal to the inverse of the *damp* parameter. -.. raw:: html +.. math:: -
dTqm/dt = - γηβl = - 1[etot(t-lΔt)-etot0]/3βNkB -
+ \frac{dT^{qm}}{dt} = \gamma\eta\sum^\beta_{l=1}\frac{E^{tot}(t-l\Delta t) - E^{tot}_0}{3\beta N k_B} -The parameter *T\_init* is the initial temperature of the quantum +The parameter *T_init* is the initial temperature of the quantum thermal bath and the system before shock loading. For all pressure styles, the simulation box stays orthorhombic in shape. Parrinello-Rahman boundary conditions (tilted box) are supported by LAMMPS, but are not implemented for QBMSST. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Because the state of the random number generator is not written to :doc:`binary restart files `, this fix cannot be restarted "exactly" in an uninterrupted fashion. However, in a statistical sense, a restarted simulation should produce similar behaviors of the system as if it is not interrupted. To achieve such a restart, one -should write explicitly the same value for *q*\ , *mu*\ , *damp*\ , *f\_max*, -*N\_f*, *eta*\ , and *beta* and set *tscale* = 0 if the system is +should write explicitly the same value for *q*\ , *mu*\ , *damp*\ , *f_max*, +*N_f*, *eta*\ , and *beta* and set *tscale* = 0 if the system is compressed during the first run. The progress of the QBMSST can be monitored by printing the global scalar and global vector quantities computed by the fix. The global vector contains five values in this order: -[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian\_speed*, *lagrangian\_position*, -*quantum\_temperature*] +[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, *lagrangian_position*, +*quantum_temperature*] 1. *dhugoniot* is the departure from the Hugoniot (temperature units). 2. *drayleigh* is the departure from the Rayleigh line (pressure units). -3. *lagrangian\_speed* is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). -4. *lagrangian\_position* is the computational cell position in the reference frame moving at the shock speed. This is the distance of the computational cell behind the shock front. -5. *quantum\_temperature* is the temperature of the quantum thermal bath Tqm. +3. *lagrangian_speed* is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). +4. *lagrangian_position* is the computational cell position in the reference frame moving at the shock speed. This is the distance of the computational cell behind the shock front. +5. *quantum_temperature* is the temperature of the quantum thermal bath :math:`T^{qm}`. To print these quantities to the log file with descriptive column headers, the following LAMMPS commands are suggested. Here the -:doc:`fix\_modify ` energy command is also enabled to allow -the thermo keyword *etotal* to print the quantity etot. See -also the :doc:`thermo\_style ` command. - +:doc:`fix_modify ` energy command is also enabled to allow +the thermo keyword *etotal* to print the quantity :math:`E^{tot}`. See +also the :doc:`thermo_style ` command. .. parsed-literal:: @@ -192,21 +185,19 @@ also the :doc:`thermo\_style ` command. variable T_qm equal f_fix_id[5] thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id -The global scalar under the entry f\_fix\_id is the quantity of thermo -energy as an extra part of etot. This global scalar and the -vector of 5 quantities can be accessed by various :doc:`output commands `. It is worth noting that the temp keyword -under the :doc:`thermo\_style ` command print the -instantaneous classical temperature Tcl as described +The global scalar under the entry f_fix_id is the quantity of thermo +energy as an extra part of :math:`E^{tot}`. This global scalar and the +vector of 5 quantities can be accessed by various :doc:`output commands `. +It is worth noting that the temp keyword +under the :doc:`thermo_style ` command print the +instantaneous classical temperature :math:`T^{cl}` as described in the command :doc:`fix qtb `. - ---------- - Restrictions """""""""""" - This fix style is part of the USER-QTB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -214,43 +205,28 @@ All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The QBMSST fix has been tested only for the group-ID all. - ---------- - Related commands """""""""""""""" :doc:`fix qtb `, :doc:`fix msst ` - ---------- - Default """"""" The keyword defaults are q = 10, mu = 0, tscale = 0.01, damp = 1, seed -= 880302, f\_max = 200.0, N\_f = 100, eta = 1.0, beta = 100, and -T\_init=300.0. e0, p0, and v0 are calculated on the first step. - += 880302, f_max = 200.0, N_f = 100, eta = 1.0, beta = 100, and +T_init=300.0. e0, p0, and v0 are calculated on the first step. ---------- - .. _Goldman1: - - **(Goldman)** Goldman, Reed and Fried, J. Chem. Phys. 131, 204103 (2009) .. _Qi: - - **(Qi)** Qi and Reed, J. Phys. Chem. A 116, 10451 (2012). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_qeq.rst b/doc/src/fix_qeq.rst index 8875c22af6b2a5c178dccbbd1a54238b806639db..ea53fc2b2e0f2c008b0cdcf32791e0d30eb75e3b 100644 --- a/doc/src/fix_qeq.rst +++ b/doc/src/fix_qeq.rst @@ -18,7 +18,6 @@ fix qeq/fire command Syntax """""" - .. parsed-literal:: fix ID group-ID style Nevery cutoff tolerance maxiter qfile keyword ... @@ -32,20 +31,17 @@ Syntax * qfile = a filename with QEq parameters or *coul/streitz* or *reax/c* * zero or more keyword/value pairs may be appended * keyword = *alpha* or *qdamp* or *qstep* - + .. parsed-literal:: - + *alpha* value = Slater type orbital exponent (qeq/slater only) *qdamp* value = damping factor for damped dynamics charge solver (qeq/dynamic and qeq/fire only) *qstep* value = time step size for damped dynamics charge solver (qeq/dynamic and qeq/fire only) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all qeq/point 1 10 1.0e-6 200 param.qeq1 fix 1 qeq qeq/shielded 1 8 1.0e-6 100 param.qeq2 @@ -100,7 +96,6 @@ interactions with their neighbors within *cutoff*\ . It requires a few parameters, in *metal* units, for each atom type which provided in a file specified by *qfile*\ . The file has the following format - .. parsed-literal:: 1 chi eta gamma zeta qcore @@ -137,7 +132,7 @@ point charges, but uses a shielded Coulomb potential to describe the interaction between a pair of charged particles. Interaction through the shielded Coulomb is given by equation (13) of the :ref:`ReaxFF force field ` paper. The shielding accounts for charge overlap between charged particles at small separation. This style is the same -as :doc:`fix qeq/reax `, and can be used with :doc:`pair\_style reax/c `. Only the *chi*\ , *eta*\ , and *gamma* +as :doc:`fix qeq/reax `, and can be used with :doc:`pair_style reax/c `. Only the *chi*\ , *eta*\ , and *gamma* parameters from the *qfile* file are used. When using the string *reax/c* as filename, these parameters are extracted directly from an active *reax/c* pair style. This style solves partial @@ -198,7 +193,7 @@ better on larger sizes, and *qeq/fire* is faster than *qeq/dynamic*\ . arbitrary choices of these parameters. We do not develop these QEq parameters. See the examples/qeq directory for some examples. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about these fixes is written to :doc:`binary restart files `. No global scalar or vector or per-atom quantities are stored by these fixes for access by various :doc:`output commands `. No parameter of these fixes can be used @@ -209,7 +204,6 @@ Thexe fixes are invoked during :doc:`energy minimization `. Restrictions """""""""""" - These fixes are part of the QEQ package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -220,51 +214,32 @@ Related commands **Default:** none - ---------- - .. _Rappe1: - - **(Rappe and Goddard)** A. K. Rappe and W. A. Goddard III, J Physical Chemistry, 95, 3358-3363 (1991). .. _Nakano1: - - **(Nakano)** A. Nakano, Computer Physics Communications, 104, 59-69 (1997). .. _Rick1: - - **(Rick and Stuart)** S. W. Rick, S. J. Stuart, B. J. Berne, J Chemical Physics 101, 16141 (1994). .. _Streitz1: - - **(Streitz-Mintmire)** F. H. Streitz, J. W. Mintmire, Physical Review B, 50, 16, 11996 (1994) .. _vanDuin: - - **(ReaxFF)** A. C. T. van Duin, S. Dasgupta, F. Lorant, W. A. Goddard III, J Physical Chemistry, 105, 9396-9049 (2001) .. _Shan: - - **(QEq/Fire)** T.-R. Shan, A. P. Thompson, S. J. Plimpton, in preparation - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_qeq_comb.rst b/doc/src/fix_qeq_comb.rst index 35eb514a75a83c1d2666de18668145b29b209408..c815ac7eb33fa914537abfe73e5b4d486cb6616a 100644 --- a/doc/src/fix_qeq_comb.rst +++ b/doc/src/fix_qeq_comb.rst @@ -9,7 +9,6 @@ fix qeq/comb/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID qeq/comb Nevery precision keyword value ... @@ -20,19 +19,16 @@ Syntax * precision = convergence criterion for charge equilibration * zero or more keyword/value pairs may be appended * keyword = *file* - + .. parsed-literal:: - + *file* value = filename filename = name of file to write QEQ equilibration info to - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 surface qeq/comb 10 0.0001 @@ -41,7 +37,7 @@ Description Perform charge equilibration (QeQ) in conjunction with the COMB (Charge-Optimized Many-Body) potential as described in -:ref:`(COMB\_1) ` and :ref:`(COMB\_2) `. It performs the charge +:ref:`(COMB_1) ` and :ref:`(COMB_2) `. It performs the charge equilibration portion of the calculation using the so-called QEq method, whereby the charge on each atom is adjusted to minimize the energy of the system. This fix can only be used with the COMB @@ -54,8 +50,8 @@ per-atom electronegativity (effective force on the charges). An electronegativity equalization calculation (or QEq) is performed in an iterative fashion, which in parallel requires communication at each iteration for processors to exchange charge information about nearby -atoms with each other. See :ref:`Rappe\_and\_Goddard ` and -:ref:`Rick\_and\_Stuart ` for details. +atoms with each other. See :ref:`Rappe_and_Goddard ` and +:ref:`Rick_and_Stuart ` for details. During a run, charge equilibration is performed every *Nevery* time steps. Charge equilibration is also always enforced on the first step @@ -67,10 +63,8 @@ performing charge equilibration (more iterations) and accuracy. If the *file* keyword is used, then information about each equilibration calculation is written to the specified file. - ---------- - 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 @@ -89,15 +83,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is performing charge equilibration. Default is the outermost level. @@ -115,51 +107,35 @@ This fix can be invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix command currently only supports :doc:`pair style *comb*\ `. Related commands """""""""""""""" -:doc:`pair\_style comb ` +:doc:`pair_style comb ` Default """"""" No file output is performed. - ---------- +.. _COMB_1: -.. _COMB\_1: - - - -**(COMB\_1)** J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007), - -.. _COMB\_2: - +**(COMB_1)** J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007), +.. _COMB_2: -**(COMB\_2)** T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R. +**(COMB_2)** T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 81, 125328 (2010). -.. _Rappe\_and\_Goddard: +.. _Rappe_and_Goddard: - - -**(Rappe\_and\_Goddard)** A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358 +**(Rappe_and_Goddard)** A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358 (1991). -.. _Rick\_and\_Stuart: - +.. _Rick_and_Stuart: - -**(Rick\_and\_Stuart)** S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys +**(Rick_and_Stuart)** S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 16141 (1994). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_qeq_reax.rst b/doc/src/fix_qeq_reax.rst index 4371e7a1a13b6f7e533715bd3f951b8f17ae43bf..1c722606a7777127cf225614fa3c71b2c0ffda63 100644 --- a/doc/src/fix_qeq_reax.rst +++ b/doc/src/fix_qeq_reax.rst @@ -12,7 +12,6 @@ fix qeq/reax/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params args @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq @@ -39,7 +37,7 @@ Description Perform the charge equilibration (QEq) method as described in :ref:`(Rappe and Goddard) ` and formulated in :ref:`(Nakano) `. It is typically used in conjunction with the ReaxFF force field model as -implemented in the :doc:`pair\_style reax/c ` command, but +implemented in the :doc:`pair_style reax/c ` command, but it can be used with any potential in LAMMPS, so long as it defines and uses charges on each atom. The :doc:`fix qeq/comb ` command should be used to perform charge equilibration with the :doc:`COMB potential `. For more technical details about the @@ -50,14 +48,13 @@ The QEq method minimizes the electrostatic energy of the system by adjusting the partial charge on individual atoms based on interactions with their neighbors. It requires some parameters for each atom type. If the *params* setting above is the word "reax/c", then these are -extracted from the :doc:`pair\_style reax/c ` command and +extracted from the :doc:`pair_style reax/c ` command and the ReaxFF force field file it reads in. If a file name is specified for *params*\ , then the parameters are taken from the specified file and the file must contain one line for each atom type. The latter form must be used when performing QeQ with a non-ReaxFF potential. Each line should be formatted as follows: - .. parsed-literal:: itype chi eta gamma @@ -74,7 +71,7 @@ The optional *dual* keyword allows to perform the optimization of the S and T matrices in parallel. This is only supported for the *qeq/reax/omp* style. Otherwise they are processed separately. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. No global scalar or vector or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used @@ -82,10 +79,8 @@ with the *start/stop* keywords of the :doc:`run ` command. This fix is invoked during :doc:`energy minimization `. - ---------- - 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 @@ -104,14 +99,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -122,35 +114,22 @@ be used for periodic cell dimensions less than 10 angstroms. Related commands """""""""""""""" -:doc:`pair\_style reax/c ` +:doc:`pair_style reax/c ` **Default:** none - ---------- - .. _Rappe2: - - **(Rappe)** Rappe and Goddard III, Journal of Physical Chemistry, 95, 3358-3363 (1991). .. _Nakano2: - - **(Nakano)** Nakano, Computer Physics Communications, 104, 59-69 (1997). .. _qeq-Aktulga: - - **(Aktulga)** Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, 245-259 (2012). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_qmmm.rst b/doc/src/fix_qmmm.rst index ee08cd1d15ae24a39df872702bf0d28fa6b3ecc8..4eb45e490fb81d95d1b63a121d4cff433662decf 100644 --- a/doc/src/fix_qmmm.rst +++ b/doc/src/fix_qmmm.rst @@ -6,7 +6,6 @@ fix qmmm command Syntax """""" - .. parsed-literal:: fix ID group-ID qmmm @@ -17,7 +16,9 @@ Syntax Examples """""""" -fix 1 qmol qmmm +.. code-block:: LAMMPS + + fix 1 qmol qmmm Description """"""""""" @@ -32,8 +33,6 @@ should be possible without changes to LAMMPS itself. .. _espresso: http://www.quantum-espresso.org - - The interface code for this is in the lib/qmmm directory of the LAMMPS distribution and is being made available at this early stage of development in order to encourage contributions for interfaces to @@ -43,9 +42,9 @@ to be adapted if necessary before being finalized. Details about how to use this fix are currently documented in the description of the QM/MM interface code itself in lib/qmmm/README. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This @@ -54,7 +53,6 @@ fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the USER-QMMM package. It is only enabled if LAMMPS was built with that package. It also requires building a library provided with LAMMPS. See the :doc:`Build package ` doc page for more info. @@ -66,8 +64,3 @@ executable. See the lib/qmmm/README file for details. **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_qtb.rst b/doc/src/fix_qtb.rst index a940dd1833cc88fc6e7d5ccee86639cb9ac5f520..6dfabcbaa745d5c9811e1b96bc37e3837706dfda 100644 --- a/doc/src/fix_qtb.rst +++ b/doc/src/fix_qtb.rst @@ -6,7 +6,6 @@ fix qtb command Syntax """""" - .. parsed-literal:: fix ID group-ID qtb keyword value ... @@ -14,28 +13,27 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * qtb = style name of this fix * zero or more keyword/value pairs may be appended -* keyword = *temp* or *damp* or *seed* or *f\_max* or *N\_f* - +* keyword = *temp* or *damp* or *seed* or *f_max* or *N_f* + .. parsed-literal:: - + *temp* value = target quantum temperature (temperature units) - *damp* value = damping parameter (time units) inverse of friction &gamma; + *damp* value = damping parameter (time units) inverse of friction *gamma* *seed* value = random number seed (positive integer) *f_max* value = upper cutoff frequency of the vibration spectrum (1/time units) *N_f* value = number of frequency bins (positive integer) - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - + # (liquid methane modeled with the REAX force field, real units) fix 1 all nve - fix 1 all qtb temp 110 damp 200 seed 35082 f_max 0.3 N_f 100 (liquid methane modeled with the REAX force field, real units) + fix 1 all qtb temp 110 damp 200 seed 35082 f_max 0.3 N_f 100 + # (quartz modeled with the BKS force field, metal units) fix 2 all nph iso 1.01325 1.01325 1 - fix 2 all qtb temp 300 damp 1 seed 47508 f_max 120.0 N_f 100 (quartz modeled with the BKS force field, metal units) + fix 2 all qtb temp 300 damp 1 seed 47508 f_max 120.0 N_f 100 Description """"""""""" @@ -56,61 +54,53 @@ atoms and thus higher classical limits. The equation of motion implemented by this command follows a Langevin form: -.. raw:: html +.. math:: -
miai = fi - + Ri - - miγvi.
+ m_i a_i = f_i + R_i - m_i\gamma v_i -Here mi, ai, fi -, Ri, γ and vi -represent mass, acceleration, force exerted by all other atoms, random +Here :math:`m_i, a_i, f_i, R_i, \gamma, \textrm{and} v_i` +represent in this order mass, acceleration, force exerted by all other atoms, random force, frictional coefficient (the inverse of damping parameter damp), -and velocity. The random force Ri is "colored" so -that any vibrational mode with frequency ω will have a -temperature-sensitive energy θ(ω,T) which +and velocity. The random force :math:`R_i` is "colored" so +that any vibrational mode with frequency :math:`\omega` will have a +temperature-sensitive energy :math:`\theta(\omega,T)` which resembles the energy expectation for a quantum harmonic oscillator with the same natural frequency: -.. raw:: html +.. math:: -
θ(ω,T) = - ℏω/2 + - ℏω[exp(ℏω/kBT)-1]-1 -
+ \theta(\omega T) = \frac{\hbar}{2} + \hbar\omega \left[\exp(\frac{\hbar\omega}{k_B T})-1 \right]^{-1} To efficiently generate the random forces, we employ the method of :ref:`(Barrat) `, that circumvents the need to generate all random forces for all times before the simulation. The memory requirement of this approach is less demanding and independent -of the simulation duration. Since the total random force Rtot +of the simulation duration. Since the total random force :math:`R_{tot}` does not necessarily vanish for a finite number of atoms, -Ri is replaced by Ri - Rtot/Ntot +:math:`R_i` is replaced by :math:`R_i - \frac{R_{tot}}{N_{tot}}` to avoid collective motion of the system. The *temp* parameter sets the target quantum temperature. LAMMPS will still have an output temperature in its thermo style. That is the -instantaneous classical temperature Tcl derived from +instantaneous classical temperature :math:`T^{cl}` derived from the atom velocities at thermal equilibrium. A non-zero -Tcl will be present even when the quantum +:math:`T^{cl}` will be present even when the quantum temperature approaches zero. This is associated with zero-point energy at low temperatures. -.. raw:: html +.. math:: -
Tcl = ∑ - mivi2/3NkB -
+ T^{cl} = \sum \frac{m_i v_i^2}{3 N k_B} The *damp* parameter is specified in time units, and it equals the -inverse of the frictional coefficient γ. γ +inverse of the frictional coefficient :math:`\gamma`. :math:`\gamma` should be as small as possible but slightly larger than the timescale of anharmonic coupling in the system which is about 10 ps to 100 -ps. When γ is too large, it gives an energy spectrum that -differs from the desired Bose-Einstein spectrum. When γ +ps. When :math:`\gamma` is too large, it gives an energy spectrum that +differs from the desired Bose-Einstein spectrum. When :math:`\gamma` is too small, the quantum thermal bath coupling to the system will be less significant than anharmonic effects, reducing to a classical -limit. We find that setting γ between 5 THz and 1 THz +limit. We find that setting :math:`\gamma` between 5 THz and 1 THz could be appropriate depending on the system. The random number *seed* is a positive integer used to initiate a @@ -119,25 +109,24 @@ to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors. -The *f\_max* parameter truncate the noise frequency domain so that -vibrational modes with frequencies higher than *f\_max* will not be -modulated. If we denote Δt as the time interval for the -MD integration, *f\_max* is always reset by the code to make -α = (int)(2*f\_max*Δt)-1 a +The *f_max* parameter truncate the noise frequency domain so that +vibrational modes with frequencies higher than *f_max* will not be +modulated. If we denote :math:`\Delta t` as the time interval for the +MD integration, *f_max* is always reset by the code to make +:math:`\alpha = (int)(2` *f_max* :math:`\Delta t)^{-1}` a positive integer and print out relative information. An appropriate -value for the cutoff frequency *f\_max* would be around 2~3 -fD, where fD is the Debye -frequency. +value for the cutoff frequency *f_max* would be around 2~3 :math:`f_D`, +where :math:`f_D` is the Debye frequency. -The *N\_f* parameter is the frequency grid size, the number of points -from 0 to *f\_max* in the frequency domain that will be -sampled. 3×2 *N\_f* per-atom random numbers are required +The *N_f* parameter is the frequency grid size, the number of points +from 0 to *f_max* in the frequency domain that will be +sampled. 3*2\ *N_f* per-atom random numbers are required in the random force generation and there could be as many atoms as in the whole simulation that can migrate into every individual -processor. A larger *N\_f* provides a more accurate sampling of the -spectrum while consumes more memory. With fixed *f\_max* and -γ, *N\_f* should be big enough to converge the classical -temperature Tcl as a function of target quantum bath +processor. A larger *N_f* provides a more accurate sampling of the +spectrum while consumes more memory. With fixed *f_max* and +:math:`\gamma`, *N_f* should be big enough to converge the classical +temperature :math:`T^{cl}` as a function of target quantum bath temperature. Memory usage per processor could be from 10 to 100 Mbytes. @@ -147,72 +136,57 @@ Mbytes. Nose/Hoover thermostatting AND time integration, this fix does NOT perform time integration. It only modifies forces to a colored thermostat. Thus you must use a separate time integration fix, like - :doc:`fix nve ` or :doc:`fix nph ` to actually update the - velocities and positions of atoms (as shown in the - examples). Likewise, this fix should not normally be used with other - fixes or commands that also specify system temperatures , e.g. :doc:`fix nvt ` and :doc:`fix temp/rescale `. - + :doc:`fix nve ` or :doc:`fix nph ` to actually + update the velocities and positions of atoms (as shown in the + examples). Likewise, this fix should not normally be used with + other fixes or commands that also specify system temperatures , + e.g. :doc:`fix nvt ` and :doc:`fix temp/rescale + `. ---------- +**Restart, fix_modify, output, run start/stop, minimizie info:** -**Restart, fix\_modify, output, run start/stop, minimizie info:** - -No information about this fix is written to :doc:`binary restart files `. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" -restarts with this fix. However, in a statistical sense, a restarted -simulation should produce similar behaviors of the system. +No information about this fix is written to :doc:`binary restart files +`. Because the state of the random number generator is not +saved in restart files, this means you cannot do "exact" restarts with +this fix. However, in a statistical sense, a restarted simulation +should produce similar behaviors of the system. This fix is not invoked during :doc:`energy minimization `. - ---------- - Restrictions """""""""""" - This fix style is part of the USER-QTB package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. ---------- - Related commands """""""""""""""" -:doc:`fix nve `, :doc:`fix nph `, :doc:`fix langevin `, :doc:`fix qbmsst ` - +:doc:`fix nve `, :doc:`fix nph `, +:doc:`fix langevin `, :doc:`fix qbmsst ` ---------- - Default """"""" The keyword defaults are temp = 300, damp = 1, seed = 880302, -f\_max=200.0 and N\_f = 100. - +f_max=200.0 and N_f = 100. ---------- - .. _Dammak: - - **(Dammak)** Dammak, Chalopin, Laroche, Hayoun, and Greffet, Phys Rev Lett, 103, 190601 (2009). .. _Barrat: - - **(Barrat)** Barrat and Rodney, J. Stat. Phys, 144, 679 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_reaxc_bonds.rst b/doc/src/fix_reaxc_bonds.rst index b6c15a2dd353ad2de45a1dfcb06e8758d4a7d8e5..8f50473af88fec6fe8846235f98b7894b5c5508a 100644 --- a/doc/src/fix_reaxc_bonds.rst +++ b/doc/src/fix_reaxc_bonds.rst @@ -9,7 +9,6 @@ fix reax/c/bonds/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID reaxc/bonds Nevery filename @@ -22,8 +21,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all reax/c/bonds 100 bonds.reaxc @@ -31,7 +29,7 @@ Description """"""""""" Write out the bond information computed by the ReaxFF potential specified -by :doc:`pair\_style reax/c ` in the exact same format as the +by :doc:`pair_style reax/c ` in the exact same format as the original stand-alone ReaxFF code of Adri van Duin. The bond information is written to *filename* on timesteps that are multiples of *Nevery*\ , including timestep 0. For time-averaged chemical species analysis, @@ -45,11 +43,11 @@ The meaning of the column header abbreviations is as follows: * id = atom id * type = atom type * nb = number of bonds -* id\_1 = atom id of first bond -* id\_nb = atom id of Nth bond +* id_1 = atom id of first bond +* id_nb = atom id of Nth bond * mol = molecule id -* bo\_1 = bond order of first bond -* bo\_nb = bond order of Nth bond +* bo_1 = bond order of first bond +* bo_nb = bond order of Nth bond * abo = atom bond order (sum of all bonds) * nlp = number of lone pairs * q = atomic charge @@ -58,22 +56,18 @@ If the filename ends with ".gz", the output file is written in gzipped format. A gzipped dump file will be about 3x smaller than the text version, but will also take longer to write. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - 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 @@ -93,30 +87,22 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See :doc:`Speed ` of the manual for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - -The fix reax/c/bonds command requires that the :doc:`pair\_style reax/c ` is invoked. This fix is part of the +The fix reax/c/bonds command requires that the :doc:`pair_style reax/c ` is invoked. This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. To write gzipped bond files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. +-DLAMMPS_GZIP option. Related commands """""""""""""""" -:doc:`pair\_style reax/c `, :doc:`fix reax/c/species ` +:doc:`pair_style reax/c `, :doc:`fix reax/c/species ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_reaxc_species.rst b/doc/src/fix_reaxc_species.rst index 210f6fe5ccc2a600fd8f14f258d78af31e719ca4..63beb5520deae2e4e5d7cb3fc8663e9ef3be8094 100644 --- a/doc/src/fix_reaxc_species.rst +++ b/doc/src/fix_reaxc_species.rst @@ -9,7 +9,6 @@ fix reax/c/species/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID reax/c/species Nevery Nrepeat Nfreq filename keyword value ... @@ -22,9 +21,9 @@ Syntax * filename = name of output file * zero or more keyword/value pairs may be appended * keyword = *cutoff* or *element* or *position* - + .. parsed-literal:: - + *cutoff* value = I J Cutoff I, J = atom types Cutoff = Bond-order cutoff value for this pair of atom types @@ -33,13 +32,10 @@ Syntax posfreq = write position files every this many timestep filepos = name of position output file - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all reax/c/species 10 10 100 species.out fix 1 all reax/c/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55 @@ -49,7 +45,7 @@ Description """"""""""" Write out the chemical species information computed by the ReaxFF -potential specified by :doc:`pair\_style reax/c `. +potential specified by :doc:`pair_style reax/c `. Bond-order values (either averaged or instantaneous, depending on value of *Nrepeat*\ ) are used to determine chemical bonds. Every *Nfreq* timesteps, chemical species information is written to @@ -77,7 +73,7 @@ symbol printed for each LAMMPS atom type. The number of symbols must match the number of LAMMPS atom types and each symbol must consist of 1 or 2 alphanumeric characters. Normally, these symbols should be chosen to match the chemical identity of each LAMMPS atom type, as -specified using the :doc:`reax/c pair\_coeff ` command and +specified using the :doc:`reax/c pair_coeff ` command and the ReaxFF force field file. The optional keyword *position* writes center-of-mass positions of @@ -97,10 +93,8 @@ character appears in *filepos*\ , then one file per snapshot is written at *posfreq* and the "\*" character is replaced with the timestep value. For example, AuO.pos.\* becomes AuO.pos.0, AuO.pos.1000, etc. - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the bond-order values are sampled to get the average bond order. The species analysis is performed using the average bond-order @@ -116,13 +110,11 @@ For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then bond-order values on timesteps 90,92,94,96,98,100 will be used to compute the average bond-order for the species analysis output on timestep 100. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes both a global vector of length 2 and a per-atom @@ -143,10 +135,8 @@ any atom in the molecule. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - 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 @@ -166,30 +156,27 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See :doc:`Speed ` of the manual for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - -The "fix reax/c/species" currently only works with :doc:`pair\_style reax/c ` and it requires that the :doc:`pair\_style reax/c ` be invoked. This fix is part of the +The "fix reax/c/species" currently only works with :doc:`pair_style reax/c ` and it requires that the :doc:`pair_style reax/c ` be invoked. This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. To write gzipped species files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. +-DLAMMPS_GZIP option. -It should be possible to extend it to other reactive pair\_styles (such as +It should be possible to extend it to other reactive pair_styles (such as :doc:`rebo `, :doc:`airebo `, :doc:`comb `, and :doc:`bop `), but this has not yet been done. Related commands """""""""""""""" -:doc:`pair\_style reax/c `, :doc:`fix reax/c/bonds ` +:doc:`pair_style reax/c `, :doc:`fix reax/c/bonds ` Default """"""" @@ -197,8 +184,3 @@ Default The default values for bond-order cutoffs are 0.3 for all I-J pairs. The default element symbols are C, H, O, N. Position files are not written by default. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_recenter.rst b/doc/src/fix_recenter.rst index 0a33bbaea3817c0737506097067dfc8cebd3b336..eec224c67d67036a500bb8bc761bdaf31e1604fa 100644 --- a/doc/src/fix_recenter.rst +++ b/doc/src/fix_recenter.rst @@ -6,7 +6,6 @@ fix recenter command Syntax """""" - .. parsed-literal:: fix ID group-ID recenter x y z keyword value ... @@ -16,20 +15,17 @@ Syntax * x,y,z = constrain center-of-mass to these coords (distance units), any coord can also be NULL or INIT (see below) * zero or more keyword/value pairs may be appended * keyword = *shift* or *units* - + .. parsed-literal:: - + *shift* value = group-ID group-ID = group of atoms whose coords are shifted *units* value = *box* or *lattice* or *fraction* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all recenter 0.0 0.5 0.0 fix 1 all recenter INIT INIT NULL @@ -97,9 +93,9 @@ velocities with zero aggregate linear and/or angular momentum. simulation scenario is to use the :doc:`fix spring ` command to tether the molecule in place. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global scalar which can be accessed by various @@ -119,12 +115,11 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix should not be used with an x,y,z setting that causes a large shift in the system on the 1st timestep, due to the requested COM being very different from the initial COM. This could cause atoms to be lost, especially in parallel. Instead, use the -:doc:`displace\_atoms ` command, which can be used to +:doc:`displace_atoms ` command, which can be used to move atoms a large distance. Related commands @@ -136,8 +131,3 @@ Default """"""" The option defaults are shift = fix group-ID, and units = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_restrain.rst b/doc/src/fix_restrain.rst index 0fc0ccee77191978bdf2ac1d4d4e50e238574b72..692336bec66009f77ba88dda688d44204c96a171 100644 --- a/doc/src/fix_restrain.rst +++ b/doc/src/fix_restrain.rst @@ -6,7 +6,6 @@ fix restrain command Syntax """""" - .. code-block:: LAMMPS fix ID group-ID restrain keyword args ... @@ -15,13 +14,21 @@ Syntax * restrain = style name of this fix command * one or more keyword/arg pairs may be appended * keyword = *bond* or *angle* or *dihedral* - + .. parsed-literal:: - - *bond* args = atom1 atom2 Kstart Kstop r0 + + *bond* args = atom1 atom2 Kstart Kstop r0start (r0stop) + atom1,atom2 = IDs of 2 atoms in bond + Kstart,Kstop = restraint coefficients at start/end of run (energy units) + r0start = equilibrium bond distance at start of run (distance units) + r0stop = equilibrium bond distance at end of run (optional) (distance units). If not + specified it is assumed to be equal to r0start + *lbond* args = atom1 atom2 Kstart Kstop r0start (r0stop) atom1,atom2 = IDs of 2 atoms in bond Kstart,Kstop = restraint coefficients at start/end of run (energy units) - r0 = equilibrium bond distance (distance units) + r0start = equilibrium bond distance at start of run (distance units) + r0stop = equilibrium bond distance at end of run (optional) (distance units). If not + specified it is assumed to be equal to r0start *angle* args = atom1 atom2 atom3 Kstart Kstop theta0 atom1,atom2,atom3 = IDs of 3 atoms in angle, atom2 = middle atom Kstart,Kstop = restraint coefficients at start/end of run (energy units) @@ -33,15 +40,13 @@ Syntax keyword/value = optional keyword value pairs. supported keyword/value pairs: *mult* n = dihedral multiplicity n (integer >= 0, default = 1) - - Examples """""""" - .. code-block:: LAMMPS fix holdem all restrain bond 45 48 2000.0 2000.0 2.75 + fix holdem all restrain lbond 45 48 2000.0 2000.0 2.75 fix holdem all restrain dihedral 1 2 3 4 2000.0 2000.0 120.0 fix holdem all restrain bond 45 48 2000.0 2000.0 2.75 dihedral 1 2 3 4 2000.0 2000.0 120.0 fix texas_holdem all restrain dihedral 1 2 3 4 0.0 2000.0 120.0 dihedral 1 2 3 5 0.0 2000.0 -120.0 dihedral 1 2 3 6 0.0 2000.0 0.0 @@ -53,7 +58,7 @@ Restrain the motion of the specified sets of atoms by making them part of a bond or angle or dihedral interaction whose strength can vary over time during a simulation. This is functionally similar to creating a bond or angle or dihedral for the same atoms in a data -file, as specified by the :doc:`read\_data ` command, albeit +file, as specified by the :doc:`read_data ` command, albeit with a time-varying pre-factor coefficient, and except for exclusion rules, as explained below. @@ -68,9 +73,9 @@ data file. Adding a bond/angle/dihedral with this command does not apply the exclusion rules and weighting factors specified by the - :doc:`special\_bonds ` command to atoms in the restraint + :doc:`special_bonds ` command to atoms in the restraint that are now bonded (1-2,1-3,1-4 neighbors) as a result. If they are - close enough to interact in a :doc:`pair\_style ` sense + close enough to interact in a :doc:`pair_style ` sense (non-bonded interaction), then the bond/angle/dihedral restraint interaction will simply be superposed on top of that interaction. @@ -106,7 +111,6 @@ molecule with particular restraints (e.g. for fitting force field parameters or constructing a potential energy surface), commands such as the following may be useful: - .. code-block:: LAMMPS # minimize molecule energy with restraints @@ -126,19 +130,16 @@ as the following may be useful: unfix REST run 0 - ---------- - The *bond* keyword applies a bond restraint to the specified atoms -using the same functional form used by the :doc:`bond\_style harmonic ` command. The potential associated with +using the same functional form used by the :doc:`bond_style harmonic ` command. The potential associated with the restraint is .. math:: E = K (r - r_0)^2 - with the following coefficients: * :math:`K` (energy/distance\^2) @@ -147,12 +148,33 @@ with the following coefficients: :math:`K` and :math:`r_0` are specified with the fix. Note that the usual 1/2 factor is included in :math:`K`. - ---------- +The *lbond* keyword applies a lower bound bond restraint to the specified atoms +using the same functional form used by the :doc:`bond_style harmonic ` command if the distance between +the atoms is smaller than the equilibrium bond distance and 0 otherwise. The potential associated with +the restraint is + +.. math:: + + E = K (r - r_0)^2 ,if\;r < r_0 + +.. math:: + + E = 0 \qquad\quad\quad ,if\;r \ge r_0 + +with the following coefficients: + +* :math:`K` (energy/distance\^2) +* :math:`r_0` (distance) + +:math:`K` and :math:`r_0` are specified with the fix. Note that the usual 1/2 factor +is included in :math:`K`. + +---------- The *angle* keyword applies an angle restraint to the specified atoms -using the same functional form used by the :doc:`angle\_style harmonic ` command. The potential associated with +using the same functional form used by the :doc:`angle_style harmonic ` command. The potential associated with the restraint is .. math:: @@ -167,20 +189,17 @@ with the following coefficients: :math:`K` and :math:`\theta_0` are specified with the fix. Note that the usual 1/2 factor is included in :math:`K`. - ---------- - The *dihedral* keyword applies a dihedral restraint to the specified atoms using a simplified form of the function used by the -:doc:`dihedral\_style charmm ` command. The potential +:doc:`dihedral_style charmm ` command. The potential associated with the restraint is .. math:: E = K [ 1 + \cos (n \phi - d) ] - with the following coefficients: * :math:`K` (energy) @@ -193,19 +212,17 @@ optional *mult* keyword to set it to a different positive integer. Also note that the energy will be a minimum when the current dihedral angle :math:`\phi` is equal to :math:`\phi_0`. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the potential energy associated with this fix to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -214,7 +231,7 @@ integrator the fix is adding its forces. Default is the outermost level. If you want the fictitious potential energy associated with the added forces to be included in the total potential energy of the system (the quantity being minimized), you MUST enable the - :doc:`fix\_modify ` *energy* option for this fix. + :doc:`fix_modify ` *energy* option for this fix. This fix computes a global scalar and a global vector of length 3, which can be accessed by various :doc:`output commands `. diff --git a/doc/src/fix_rhok.rst b/doc/src/fix_rhok.rst index 7f18b0396676128f693fa156efc7ce523ae190ec..089c96dd500b4fee99f277a522456c65df7b7f73 100644 --- a/doc/src/fix_rhok.rst +++ b/doc/src/fix_rhok.rst @@ -3,7 +3,6 @@ fix rhok command ================ - .. parsed-literal:: fix ID group-ID rhok nx ny nz K a @@ -16,8 +15,7 @@ fix rhok command Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix bias all rhok 16 0 0 4.0 16.0 fix 1 all npt temp 0.8 0.8 4.0 z 2.2 2.2 8.0 @@ -29,8 +27,11 @@ Description The fix applies a force to atoms given by the potential -.. image:: Eqs/fix_rhok.jpg - :align: center +.. math:: + + U = & \frac{1}{2} K (|\rho_{\vec{k}}| - a)^2 \\ + \rho_{\vec{k}} = & \sum_j^N \exp(-i\vec{k} \cdot \vec{r}_j )/\sqrt{N} \\ + \vec{k} = & (2\pi n_x /L_x , 2\pi n_y /L_y , 2\pi n_z/L_z ) as described in :ref:`(Pedersen) `. @@ -44,28 +45,18 @@ An example of using the interface pinning method is located in the Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`thermo\_style ` +:doc:`thermo_style ` **Default:** none - ---------- - .. _Pedersen: - - **(Pedersen)** Pedersen, J. Chem. Phys., 139, 104102 (2013). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_rigid.rst b/doc/src/fix_rigid.rst index 1f16d33a19ea22828fa100f3c51b116ba8f29911..72ed56bab1378c1c4cc594ef79342df977775924 100644 --- a/doc/src/fix_rigid.rst +++ b/doc/src/fix_rigid.rst @@ -51,7 +51,6 @@ fix rigid/nph/small command Syntax """""" - .. parsed-literal:: fix ID group-ID style bodystyle args keyword values ... @@ -59,9 +58,9 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * style = *rigid* or *rigid/nve* or *rigid/nvt* or *rigid/npt* or *rigid/nph* or *rigid/small* or *rigid/nve/small* or *rigid/nvt/small* or *rigid/npt/small* or *rigid/nph/small* * bodystyle = *single* or *molecule* or *group* - + .. parsed-literal:: - + *single* args = none *molecule* args = none *custom* args = *i_propname* or *v_varname* @@ -73,9 +72,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *langevin* or *reinit* or *temp* or *iso* or *aniso* or *x* or *y* or *z* or *couple* or *tparam* or *pchain* or *dilate* or *force* or *torque* or *infile* - + .. parsed-literal:: - + *langevin* values = Tstart Tstop Tperiod seed Tstart,Tstop = desired temperature at start/stop of run (temperature units) Tdamp = temperature damping parameter (time units) @@ -110,27 +109,24 @@ Syntax *mol* value = template-ID template-ID = ID of molecule template specified in a separate :doc:`molecule ` command - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 clump rigid single reinit yes fix 1 clump rigid/small molecule fix 1 clump rigid single force 1 off off on langevin 1.0 1.0 1.0 428984 fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0 reinit no - fix 1 polychains rigid molecule force 1\*5 off off off force 6\*10 off off on + fix 1 polychains rigid molecule force 1*5 off off off force 6*10 off off on fix 1 polychains rigid/small molecule langevin 1.0 1.0 1.0 428984 - fix 2 fluid rigid group 3 clump1 clump2 clump3 torque \* off off off + fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off fix 1 rods rigid/npt molecule temp 300.0 300.0 100.0 iso 0.5 0.5 10.0 fix 1 particles rigid/npt molecule temp 1.0 1.0 5.0 x 0.5 0.5 1.0 z 0.5 0.5 1.0 couple xz fix 1 water rigid/nph molecule iso 0.5 0.5 1.0 fix 1 particles rigid/npt/small molecule temp 1.0 1.0 1.0 iso 0.5 0.5 1.0 - variable bodyid atom 1.0\*gmask(clump1)+2.0\*gmask(clump2)+3.0\*gmask(clump3) + variable bodyid atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3) fix 1 clump rigid custom v_bodyid variable bodyid atomfile bodies.txt @@ -186,7 +182,7 @@ The *rigid* styles are typically the best choice for a system with a small number of large rigid bodies, each of which can extend across the domain of many processors. It operates by creating a single global list of rigid bodies, which all processors contribute to. -MPI\_Allreduce operations are performed each timestep to sum the +MPI_Allreduce operations are performed each timestep to sum the contributions from each processor to the force and torque on all the bodies. This operation will not scale well in parallel if large numbers of rigid bodies are simulated. @@ -204,8 +200,8 @@ processors when ghost atom info is accumulated. large enough to span the distance between the atom that owns the body and every other atom in the body. This distance value is printed out when the rigid bodies are defined. If the - :doc:`pair\_style ` cutoff plus neighbor skin does not span - this distance, then you should use the :doc:`comm\_modify cutoff ` command with a setting epsilon larger than + :doc:`pair_style ` cutoff plus neighbor skin does not span + this distance, then you should use the :doc:`comm_modify cutoff ` command with a setting epsilon larger than the distance. Which of the two variants is faster for a particular problem is hard @@ -254,17 +250,15 @@ differences may accumulate to produce divergent trajectories. could displace the atoms in a body or add a large velocity to each atom in a body to make it move in a desired direction before a 2nd run is performed, using the :doc:`set ` or - :doc:`displace\_atoms ` or :doc:`velocity ` + :doc:`displace_atoms ` or :doc:`velocity ` commands. But these commands will not affect the internal attributes of the body unless *reinit* is set to *yes*\ . With *reinit* set to *no* (or using the *infile* option, which implies *reinit* *no*\ ) the position and velocity of individual atoms in the body will be reset when time integration starts again. - ---------- - Each rigid body must have two or more atoms. An atom can belong to at most one rigid body. Which atoms are in which bodies can be defined via several options. @@ -353,7 +347,7 @@ settings from the final keyword are used. For computational efficiency, you may wish to turn off pairwise and bond interactions within each rigid body, as they no longer - contribute to the motion. The :doc:`neigh\_modify exclude ` and :doc:`delete\_bonds ` + contribute to the motion. The :doc:`neigh_modify exclude ` and :doc:`delete_bonds ` commands are used to do this. If the rigid bodies have strongly overlapping atoms, you may need to turn off these interactions to avoid numerical problems due to large equal/opposite intra-body forces @@ -364,13 +358,11 @@ rigid or fix rigid/small command which includes all the desired rigid bodies. LAMMPS will allow multiple rigid fixes to be defined, but it is more expensive. - ---------- - The constituent particles within a rigid body can be point particles (the default in LAMMPS) or finite-size particles, such as spheres or -ellipsoids or line segments or triangles. See the :doc:`atom\_style sphere and ellipsoid and line and tri ` commands for more +ellipsoids or line segments or triangles. See the :doc:`atom_style sphere and ellipsoid and line and tri ` commands for more details on these kinds of particles. Finite-size particles contribute differently to the moment of inertia of a rigid body than do point particles. Finite-size particles can also experience torque (e.g. due @@ -380,15 +372,13 @@ orientation. These contributions are accounted for by these fixes. Forces between particles within a body do not contribute to the external force or torque on the body. Thus for computational efficiency, you may wish to turn off pairwise and bond interactions -between particles within each rigid body. The :doc:`neigh\_modify exclude ` and :doc:`delete\_bonds ` +between particles within each rigid body. The :doc:`neigh_modify exclude ` and :doc:`delete_bonds ` commands are used to do this. For finite-size particles this also means the particles can be highly overlapped when creating the rigid body. - ---------- - The *rigid*\ , *rigid/nve*\ , *rigid/small*\ , and *rigid/small/nve* styles perform constant NVE time integration. They are referred to below as the 4 NVE rigid styles. The only difference is that the *rigid* and @@ -478,7 +468,6 @@ pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using "iso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -492,7 +481,6 @@ stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -500,10 +488,8 @@ these 4 keywords: z Pstart Pstop Pdamp couple none - ---------- - The keyword/value option pairs are used in the following ways. The *reinit* keyword determines, whether the rigid body properties @@ -579,10 +565,8 @@ freedom. temperature as well without use of the Langevin or Nose/Hoover options associated with the fix rigid commands. - ---------- - The *mol* keyword can only be used with the *rigid/small* styles. It must be used when other commands, such as :doc:`fix deposit ` or :doc:`fix pour `, add rigid bodies on-the-fly during a simulation. You specify a *template-ID* @@ -603,10 +587,8 @@ Also note that when using the *mol* keyword, extra restart information about all rigid bodies is written out whenever a restart file is written out. See the NOTE in the next section for details. - ---------- - The *infile* keyword allows a file of rigid body attributes to be read in from a file, rather then having LAMMPS compute them. There are 5 such attributes: the total mass of the rigid body, its center-of-mass @@ -628,7 +610,6 @@ comment lines starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information: - .. parsed-literal:: ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm @@ -681,10 +662,8 @@ cross periodic boundaries during the simulation. auxiliary file will contain one line for every rigid body, even if the original file only listed a subset of the rigid bodies. - ---------- - If you use a :doc:`temperature compute ` with a group that includes particles in rigid bodies, the degrees-of-freedom removed by each rigid body are accounted for in the temperature (and pressure) @@ -706,10 +685,8 @@ degrees of freedom (2 translational, 1 rotational). The rigid body contribution to the pressure of the system (virial) is also accounted for by this fix. - ---------- - If your simulation is a hybrid model with a mixture of rigid bodies and non-rigid particles (e.g. solvent) there are several ways these rigid fixes can be used in tandem with :doc:`fix nve `, :doc:`fix nvt `, :doc:`fix npt `, and :doc:`fix nph `. @@ -746,7 +723,6 @@ choices: rigid styles for the rigid bodies. Use :doc:`fix nvt ` (or any other thermostat) for the non-rigid particles. - In all case, the rigid bodies and non-rigid particles both contribute to the global pressure and the box is scaled the same by any of the barostatting fixes. @@ -758,10 +734,8 @@ and change the box dimensions, but not time integrate any particles. The integration of the rigid bodies will be performed by fix rigid/nvt. - ---------- - 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 @@ -780,11 +754,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about the 4 NVE rigid styles is written to :doc:`binary restart files `. The exception is if the *infile* or *mol* keyword is used, in which case an auxiliary file is written out @@ -792,27 +764,27 @@ with rigid body information each time a restart file is written, as explained above for the *infile* keyword. For the 2 NVT rigid styles, the state of the Nose/Hoover thermostat is written to :doc:`binary restart files `. Ditto for the 4 NPT and NPH rigid styles, and the state of the Nose/Hoover barostat. See the -:doc:`read\_restart ` command for info on how to re-specify +:doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *energy* option is supported by the 6 +The :doc:`fix_modify ` *energy* option is supported by the 6 NVT, NPT, NPH rigid styles to add the energy change induced by the thermostatting to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to keeping the objects rigid to the system's virial as part of :doc:`thermodynamic output `. The default is *virial yes* -The :doc:`fix\_modify ` *temp* and *press* options are +The :doc:`fix_modify ` *temp* and *press* options are supported by the 4 NPT and NPH rigid styles to change the computes used to calculate the instantaneous pressure tensor. Note that the 2 NVT rigid fixes do not use any external compute to compute instantaneous temperature. -The :doc:`fix\_modify ` *bodyforces* option is supported by +The :doc:`fix_modify ` *bodyforces* option is supported by all rigid styles to set whether per-body forces and torques are computed early or late in a timestep, i.e. at the post-force stage or at the final-integrate stage or the timestep, respectively. @@ -872,14 +844,11 @@ No parameter of these fixes can be used with the *start/stop* keywords of the :doc:`run ` command. These fixes are not invoked during :doc:`energy minimization `. - ---------- - Restrictions """""""""""" - These fixes are all part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -896,8 +865,7 @@ insures all DOFs are accounted for properly, and then rescale the temperature to the desired value before performing a simulation. For example: - -.. parsed-literal:: +.. code-block:: LAMMPS velocity all create 300.0 12345 run 0 # temperature may not be 300K @@ -906,7 +874,7 @@ example: Related commands """""""""""""""" -:doc:`delete\_bonds `, :doc:`neigh\_modify ` +:doc:`delete_bonds `, :doc:`neigh_modify ` exclude, :doc:`fix shake ` Default @@ -916,43 +884,26 @@ The option defaults are force \* on on on and torque \* on on on, meaning all rigid bodies are acted on by center-of-mass force and torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3, reinit = yes. - ---------- - .. _Hoover: - - **(Hoover)** Hoover, Phys Rev A, 31, 1695 (1985). .. _Kamberaj: - - **(Kamberaj)** Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005). .. _Martyna2: - - **(Martyna)** Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992); Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117. .. _Miller3: - - **(Miller)** Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, J Chem Phys, 116, 8649 (2002). .. _Zhang1: - - **(Zhang)** Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_rigid_meso.rst b/doc/src/fix_rigid_meso.rst index c7835e83fbff65a07f973865a70b79d3257131c5..c9a709175f3fb199610ab7c37fb454f35041e400 100644 --- a/doc/src/fix_rigid_meso.rst +++ b/doc/src/fix_rigid_meso.rst @@ -6,7 +6,6 @@ fix rigid/meso command Syntax """""" - .. parsed-literal:: fix ID group-ID rigid/meso bodystyle args keyword values ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * rigid/meso = style name of this fix command * bodystyle = *single* or *molecule* or *group* - + .. parsed-literal:: - + *single* args = none *molecule* args = none *custom* args = *i_propname* or *v_varname* @@ -28,9 +27,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *reinit* or *force* or *torque* or *infile* - + .. parsed-literal:: - + *reinit* = *yes* or *no* *force* values = M xflag yflag zflag M = which rigid body from 1-Nbody (see asterisk form below) @@ -41,13 +40,10 @@ Syntax *infile* filename filename = file with per-body values of mass, center-of-mass, moments of inertia - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 ellipsoid rigid/meso single fix 1 rods rigid/meso molecule @@ -112,17 +108,15 @@ internal energy and extrapolated velocity are also updated. could displace the particles in a body or add a large velocity to each particle in a body to make it move in a desired direction before a 2nd run is performed, using the :doc:`set ` or - :doc:`displace\_atoms ` or :doc:`velocity ` + :doc:`displace_atoms ` or :doc:`velocity ` commands. But these commands will not affect the internal attributes of the body unless *reinit* is set to *yes*\ . With *reinit* set to *no* (or using the *infile* option, which implies *reinit* *no*\ ) the position and velocity of individual particles in the body will be reset when time integration starts again. - ---------- - Each rigid body must have two or more particles. A particle can belong to at most one rigid body. Which particles are in which bodies can be defined via several options. @@ -203,10 +197,8 @@ rigid/meso command which includes all the desired rigid bodies. LAMMPS will allow multiple rigid/meso fixes to be defined, but it is more expensive. - ---------- - The keyword/value option pairs are used in the following ways. The *reinit* keyword determines, whether the rigid body properties @@ -217,10 +209,8 @@ unphysical manipulations between runs or when properties cannot be easily re-computed (e.g. when read from a file). When using the *infile* keyword, the *reinit* option is automatically set to *no*\ . - ---------- - The *infile* keyword allows a file of rigid body attributes to be read in from a file, rather then having LAMMPS compute them. There are 5 such attributes: the total mass of the rigid body, its center-of-mass @@ -242,7 +232,6 @@ comment lines starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information: - .. parsed-literal:: ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm @@ -295,18 +284,16 @@ cross periodic boundaries during the simulation. auxiliary file will contain one line for every rigid body, even if the original file only listed a subset of the rigid bodies. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information is written to :doc:`binary restart files `. If the *infile* keyword is used, an auxiliary file is written out with rigid body information each time a restart file is written, as explained above for the *infile* keyword. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global array of values which can be accessed by @@ -349,20 +336,17 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - Restrictions """""""""""" - This fix is part of the USER-SDPD package and also depends on the RIGID package. It is only enabled if LAMMPS was built with both packages. See the :doc:`Build package ` doc page for more info. This fix requires that atoms store density and internal energy as -defined by the :doc:`atom\_style meso ` command. +defined by the :doc:`atom_style meso ` command. All particles in the group must be mesoscopic SPH/SDPD particles. @@ -370,7 +354,7 @@ Related commands """""""""""""""" :doc:`fix meso/move `, :doc:`fix rigid `, -:doc:`neigh\_modify exclude ` +:doc:`neigh_modify exclude ` Default """"""" @@ -379,18 +363,9 @@ The option defaults are force \* on on on and torque \* on on on, meaning all rigid bodies are acted on by center-of-mass force and torque. Also reinit = yes. - ---------- - .. _Miller: - - **(Miller)** Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, J Chem Phys, 116, 8649 (2002). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_rx.rst b/doc/src/fix_rx.rst index b9df24f5a91c45b80bc982dbfd9ccf3b4c102b46..0d8af574c16d3115b2d6be83472f0154f2863b55 100644 --- a/doc/src/fix_rx.rst +++ b/doc/src/fix_rx.rst @@ -9,7 +9,6 @@ fix rx/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID rx file localTemp matrix solver minSteps ... @@ -19,7 +18,7 @@ Syntax * file = filename containing the reaction kinetic equations and Arrhenius parameters * localTemp = *none,lucy* = no local temperature averaging or local temperature defined through Lucy weighting function * matrix = *sparse, dense* format for the stoichiometric matrix -* solver = *lammps\_rk4,rkf45* = rk4 is an explicit 4th order Runge-Kutta method; rkf45 is an adaptive 4th-order Runge-Kutta-Fehlberg method +* solver = *lammps_rk4,rkf45* = rk4 is an explicit 4th order Runge-Kutta method; rkf45 is an adaptive 4th-order Runge-Kutta-Fehlberg method * minSteps = # of steps for rk4 solver or minimum # of steps for rkf45 (rk4 or rkf45) * maxSteps = maximum number of steps for the rkf45 solver (rkf45 only) * relTol = relative tolerance for the rkf45 solver (rkf45 only) @@ -29,8 +28,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all rx kinetics.rx none dense lammps_rk4 fix 1 all rx kinetics.rx none sparse lammps_rk4 1 @@ -46,13 +44,15 @@ defined within the file associated with this command. For a general reaction such that -.. image:: Eqs/fix_rx_reaction.jpg - :align: center +.. math:: + + \nu_{A}A + \nu_{B}B \rightarrow \nu_{C}C the reaction rate equation is defined to be of the form -.. image:: Eqs/fix_rx_reactionRate.jpg - :align: center +.. math:: + + r = k(T)[A]^{\nu_{A}}[B]^{\nu_{B}} In the current implementation, the exponents are defined to be equal to the stoichiometric coefficients. A given reaction set consisting @@ -63,10 +63,10 @@ constructed based on the *n* reaction rate equations. The ODE systems are solved over the full DPD timestep *dt* using either a 4th order Runge-Kutta *rk4* method with a fixed step-size *h*\ , specified -by the *lammps\_rk4* keyword, or a 4th order Runge-Kutta-Fehlberg (rkf45) method +by the *lammps_rk4* keyword, or a 4th order Runge-Kutta-Fehlberg (rkf45) method with an adaptive step-size for *h*\ . The number of ODE steps per DPD timestep for the rk4 method is optionally specified immediately after the rk4 -keyword. The ODE step-size is set as *dt/num\_steps*. Smaller +keyword. The ODE step-size is set as *dt/num_steps*. Smaller step-sizes tend to yield more accurate results but there is not control on the error. For error control, use the rkf45 ODE solver. @@ -74,13 +74,13 @@ The rkf45 method adjusts the step-size so that the local truncation error is hel within the specified absolute and relative tolerances. The initial step-size *h0* can be specified by the user or estimated internally. It is recommended that the user specify *h0* since this will generally reduced the number of ODE integration steps -required. *h0* is defined as *dt / min\_steps* if min\_steps >= 1. If min\_steps == 0, +required. *h0* is defined as *dt / min_steps* if min_steps >= 1. If min_steps == 0, *h0* is estimated such that an explicit Euler method would likely produce an acceptable solution. This is generally overly conservative for the 4th-order method and users are advised to specify *h0* as some fraction of the DPD timestep. For small DPD timesteps, only one step may be necessary depending upon the tolerances. -Note that more than min\_steps ODE steps may be taken depending upon the ODE stiffness -but no more than max\_steps will be taken. If max\_steps is reached, an error warning +Note that more than min_steps ODE steps may be taken depending upon the ODE stiffness +but no more than max_steps will be taken. If max_steps is reached, an error warning is printed and the simulation is stopped. After each ODE step, the solution error *e* is tested and weighted using the absTol @@ -103,10 +103,8 @@ statistics per MPI process can be useful to examine any load imbalance caused by adaptive ODE solver. (Some DPD particles can take longer to solve than others. This can lead to an imbalance across the MPI processes.) - ---------- - The filename specifies a file that contains the entire set of reaction kinetic equations and corresponding Arrhenius parameters. The format of this file is described below. @@ -121,12 +119,13 @@ irreversible reaction. After specifying the reaction, the reaction rate constant is determined through the temperature dependent Arrhenius equation: -.. image:: Eqs/fix_rx.jpg - :align: center +.. math:: + + k = AT^{n}e^{\frac{-E_{a}}{k_{B}T}} where *A* is the Arrhenius factor in time units or concentration/time units, *n* is the unitless exponent of the temperature dependence, and -*E\_a* is the activation energy in energy units. The temperature +:math:`E_a` is the activation energy in energy units. The temperature dependence can be removed by specifying the exponent as zero. The internal temperature of the coarse-grained particles can be used @@ -136,13 +135,15 @@ be specified to compute a local-average particle internal temperature for use in the reaction rate constant expressions. The local-average particle internal temperature is defined as: -.. image:: Eqs/fix_rx_localTemp.jpg - :align: center +.. math:: + + \theta_i^{-1} = \frac{\sum_{j=1}\omega_{Lucy}\left(r_{ij}\right)\theta_j^{-1}}{\sum_{j=1}\omega_{Lucy}\left(r_{ij}\right)} where the Lucy function is expressed as: -.. image:: Eqs/fix_rx_localTemp2.jpg - :align: center +.. math:: + + \omega_{Lucy}\left(r_{ij}\right) = \left( 1 + \frac{3r_{ij}}{r_c} \right) \left( 1 - \frac{r_{ij}}{r_c} \right)^3 The self-particle interaction is included in the above equation. @@ -157,14 +158,11 @@ numbers <= 3), a fast exponential function is used. This can save significant computational time so users are encouraged to use integer coefficients where possible. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # Rxn equations and parameters (one or more comment or blank lines) @@ -193,16 +191,14 @@ define the thermodynamic properties of each species. Furthermore, the number of species molecules (i.e., concentration) can be specified either with the :doc:`set ` command using the "d\_" prefix or by reading directly the concentrations from a data file. For the latter -case, the :doc:`read\_data ` command with the fix keyword +case, the :doc:`read_data ` command with the fix keyword should be specified, where the fix-ID will be the "fix rx`ID with a `_ suffix, e.g. fix foo all rx reaction.file ... -read\_data data.dpd fix foo\_SPECIES NULL Species - +read_data data.dpd fix foo_SPECIES NULL Species ---------- - 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 @@ -221,18 +217,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -This command also requires use of the :doc:`atom\_style dpd ` +This command also requires use of the :doc:`atom_style dpd ` command. This command can only be used with a constant energy or constant @@ -246,8 +239,3 @@ Related commands :doc:`pair dpd/fdt/energy ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_saed_vtk.rst b/doc/src/fix_saed_vtk.rst index 8b11f71e62e31f86a6d774b0981e30b9f147e397..818d14cc602965969b396eb7c9d51c3f0414964a 100644 --- a/doc/src/fix_saed_vtk.rst +++ b/doc/src/fix_saed_vtk.rst @@ -6,7 +6,6 @@ fix saed/vtk command Syntax """""" - .. parsed-literal:: fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ... @@ -16,10 +15,10 @@ Syntax * Nevery = use input values every this many timesteps * Nrepeat = # of times to use input values for calculating averages * Nfreq = calculate averages every this many timesteps -* c\_ID = saed compute ID - +* c_ID = saed compute ID + .. parsed-literal:: - + keyword = *file* or *ave* or *start* or *file* or *overwrite*\ :l *ave* args = *one* or *running* or *window M* one = output a new average value every Nfreq steps @@ -31,13 +30,10 @@ Syntax filename = name of file to output time averages to *overwrite* arg = none = overwrite output file with only latest output - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5 compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo @@ -60,7 +56,7 @@ outside the *Kmax* range assigned in the compute saed. The ghost data is assigned a value of -1 and can be removed setting a minimum isovolume of 0 within the visualization software. SAED images can be created by visualizing a spherical slice of the data that is centered at -R\_Ewald\*[h k l]/norm([h k l]), where R\_Ewald=1/lambda. +R_Ewald\*[h k l]/norm([h k l]), where R_Ewald=1/lambda. The group specified within this command is ignored. However, note that specified values may represent calculations performed by saed computes @@ -69,16 +65,13 @@ which store their own "group" definitions. Fix saed/vtk is designed to work only with :doc:`compute saed ` values, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS compute 3 top saed 0.0251 Al O fix saed/vtk 1 1 1 c_3 file Al2O3_001.saed - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps @@ -97,18 +90,15 @@ timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps 100,200,etc. - ---------- - The output for fix ave/time/saed is a file written with the 3rd generation vtk image data formatting. The filename assigned by the *file* keyword is -appended with \_N.vtk where N is an index (0,1,2...) to account for multiple +appended with _N.vtk where N is an index (0,1,2...) to account for multiple diffraction intensity outputs. By default the header contains the following information (with example data): - .. parsed-literal:: # vtk DataFile Version 3.0 c_SAED @@ -130,10 +120,8 @@ The data is shifted by -0.85, -0.85, -0.85 inv(length) units so that the origin will lie at 0, 0, 0. Here, 15,424,827 kspace points are sampled in total. - ---------- - Additional optional keywords also affect the operation of this fix. The *ave* keyword determines how the values produced every *Nfreq* @@ -169,7 +157,7 @@ running or windowed average. The *file* keyword allows a filename to be specified. Every *Nfreq* steps, the vector of saed intensity data is written to a new file using the 3rd generation vtk format. The base of each file is assigned by -the *file* keyword and this string is appended with \_N.vtk where N is +the *file* keyword and this string is appended with _N.vtk where N is an index (0,1,2...) to account for situations with multiple diffraction intensity outputs. @@ -177,9 +165,9 @@ The *overwrite* keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of output. This option can only be used with the *ave running* setting. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No parameter of this fix can be used with the *start/stop* keywords of @@ -188,32 +176,22 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - -The attributes for fix\_saed\_vtk must match the values assigned in the -associated :doc:`compute\_saed ` command. +The attributes for fix_saed_vtk must match the values assigned in the +associated :doc:`compute_saed ` command. Related commands """""""""""""""" -:doc:`compute\_saed ` +:doc:`compute_saed ` Default """"""" The option defaults are ave = one, start = 0, no file output. - ---------- - .. _Coleman: - - **(Coleman)** Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_setforce.rst b/doc/src/fix_setforce.rst index a01fb7dc001def17874c14ef3f92acd3faec3cc5..59de49fbe0d998d4ff17ea78ed70be09f702201d 100644 --- a/doc/src/fix_setforce.rst +++ b/doc/src/fix_setforce.rst @@ -12,7 +12,6 @@ fix setforce/spin command Syntax """""" - .. parsed-literal:: fix ID group-ID setforce fx fy fz keyword value ... @@ -23,19 +22,16 @@ Syntax * any of fx,fy,fz can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *region* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region atoms must be in to have added force - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix freeze indenter setforce 0.0 0.0 0.0 fix 2 edge setforce NULL 0.0 0.0 @@ -59,12 +55,12 @@ alter the force component in that dimension. Any of the 3 quantities defining the force components can be specified as an equal-style or atom-style :doc:`variable `, namely *fx*\ , *fy*\ , *fz*\ . If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the force component. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent force field. @@ -77,10 +73,8 @@ If the *region* keyword is used, the atom must also be in the specified geometric :doc:`region ` in order to have force added to it. - ---------- - Style *spin* suffix sets the components of the magnetic precession vectors instead of the mechanical forces. This also erases all previously computed magnetic precession vectors on the atom, though @@ -92,10 +86,8 @@ atoms in the simulation by zeroing their precession vector. All options defined above remain valid, they just apply to the magnetic precession vectors instead of the forces. - ---------- - 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 @@ -117,15 +109,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *respa* option is supported by +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is setting the forces to the desired values; on all other levels, the force is set to 0.0 for the atoms in the fix group, @@ -150,7 +140,6 @@ non-zero force to atoms during a minimization. Restrictions """""""""""" - The fix *setforce/spin* only makes sense when LAMMPS was built with the SPIN package. @@ -160,8 +149,3 @@ Related commands :doc:`fix addforce `, :doc:`fix aveforce ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_shake.rst b/doc/src/fix_shake.rst index 28a50e67541b1984c723362c76eaebd6d1056aba..cd3fbd3865121ae62f8b51778982d272dd8cf339 100644 --- a/doc/src/fix_shake.rst +++ b/doc/src/fix_shake.rst @@ -9,7 +9,6 @@ fix rattle command Syntax """""" - .. parsed-literal:: fix ID group-ID style tol iter N constraint values ... keyword value ... @@ -21,9 +20,9 @@ Syntax * N = print SHAKE statistics every this many timesteps (0 = never) * one or more constraint/value pairs are appended * constraint = *b* or *a* or *t* or *m* - + .. parsed-literal:: - + *b* values = one or more bond types *a* values = one or more angle types *t* values = one or more atom types @@ -31,19 +30,16 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *mol* - + .. parsed-literal:: - + *mol* value = template-ID template-ID = ID of molecule template specified in a separate :doc:`molecule ` command - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2 fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 @@ -75,13 +71,16 @@ 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 molecule. The distance vector between sites *i* and *j* is given by -.. image:: Eqs/fix_rattle_rij.jpg - :align: center +.. math:: + + \mathbf r^{n+1}_{ij} = \mathbf r^n_j - \mathbf r^n_i The constraints can then be formulated as -.. image:: Eqs/fix_rattle_constraints.jpg - :align: center +.. math:: + + \mathbf r^{n+1}_{ij} \cdot \mathbf r^{n+1}_{ij} &= d^2_{ij} \quad \text{and} \\ + \mathbf v^{n+1}_{ij} \cdot \mathbf r^{n+1}_{ij} &= 0 The SHAKE algorithm satisfies the first condition, i.e. the sites at time *n+1* will have the desired separations Dij immediately after the @@ -122,7 +121,7 @@ constraint lists atom types. All bonds connected to an atom of the specified type will be constrained. The *m* constraint lists atom masses. All bonds connected to atoms of the specified masses will be constrained (within a fudge factor of MASSDELTA specified in -fix\_shake.cpp). The *a* constraint lists angle types. If both bonds +fix_shake.cpp). The *a* constraint lists angle types. If both bonds in the angle are constrained then the angle will also be constrained if its type is in the list. @@ -147,10 +146,8 @@ for. defined in your input script after any other fixes which add or change forces (to atoms that fix shake operates on). - ---------- - The *mol* keyword should be used when other commands, such as :doc:`fix deposit ` or :doc:`fix pour `, add molecules on-the-fly during a simulation, and you wish to constrain the new molecules via SHAKE. You specify a *template-ID* previously defined @@ -162,10 +159,8 @@ file. See the :doc:`molecule ` command for details. The only settings required to be in this file (by this command) are the SHAKE info of atoms in the molecule. - ---------- - 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 @@ -184,10 +179,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **RATTLE:** The velocity constraints lead to a linear system of equations which @@ -202,21 +195,19 @@ LAMMPS closely follows (:ref:`Andersen (1983) `). after fix rattle operates, then fix rattle will not take them into account and the overall time integration will typically not satisfy the RATTLE constraints. You can check whether the constraints work - correctly by setting the value of RATTLE\_DEBUG in src/fix\_rattle.cpp + correctly by setting the value of RATTLE_DEBUG in src/fix_rattle.cpp to 1 and recompiling LAMMPS. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to keeping the constraints to the system's virial as part of :doc:`thermodynamic output `. The default is *virial yes* -No information about these fixes is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about these fixes is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to these fixes. No global or per-atom quantities are stored by these fixes for access by various :doc:`output commands `. No parameter of these fixes can be used with the *start/stop* keywords of the :doc:`run ` command. These @@ -225,7 +216,6 @@ fixes are not invoked during :doc:`energy minimization `. Restrictions """""""""""" - These fixes are part of the RIGID package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -247,24 +237,13 @@ make a linear molecule rigid. **Default:** none - ---------- - .. _Ryckaert: - - **(Ryckaert)** J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen, J of Comp Phys, 23, 327-341 (1977). .. _Andersen3: - - **(Andersen)** H. Andersen, J of Comp Phys, 52, 24-34 (1983). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_shardlow.rst b/doc/src/fix_shardlow.rst index b1f3cb0745bf4931bd29d3d845fc5e2dd969dd32..9949d3a51c1559b587297903b9493e56a09b298b 100644 --- a/doc/src/fix_shardlow.rst +++ b/doc/src/fix_shardlow.rst @@ -9,7 +9,6 @@ fix shardlow/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID shardlow @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all shardlow @@ -38,25 +36,23 @@ the deterministic integration of the conservative force. Further details regarding the method are provided in :ref:`(Lisal) ` and :ref:`(Larentzos1) `. -The fix *shardlow* must be used with the :doc:`pair\_style dpd/fdt ` or :doc:`pair\_style dpd/fdt/energy ` command to properly initialize the +The fix *shardlow* must be used with the :doc:`pair_style dpd/fdt ` or :doc:`pair_style dpd/fdt/energy ` command to properly initialize the fluctuation-dissipation theorem parameter(s) sigma (and kappa, if necessary). Note that numerous variants of DPD can be specified by choosing an -appropriate combination of the integrator and :doc:`pair\_style dpd/fdt ` command. DPD under isothermal conditions can -be specified by using fix *shardlow*\ , fix *nve* and pair\_style +appropriate combination of the integrator and :doc:`pair_style dpd/fdt ` command. DPD under isothermal conditions can +be specified by using fix *shardlow*\ , fix *nve* and pair_style *dpd/fdt*\ . DPD under isoenergetic conditions can be specified by -using fix *shardlow*\ , fix *nve* and pair\_style *dpd/fdt/energy*\ . DPD +using fix *shardlow*\ , fix *nve* and pair_style *dpd/fdt/energy*\ . DPD under isobaric conditions can be specified by using fix shardlow, fix -*nph* and pair\_style *dpd/fdt*\ . DPD under isoenthalpic conditions can -be specified by using fix shardlow, fix *nph* and pair\_style +*nph* and pair_style *dpd/fdt*\ . DPD under isoenthalpic conditions can +be specified by using fix shardlow, fix *nph* and pair_style *dpd/fdt/energy*\ . Examples of each DPD variant are provided in the examples/USER/dpd directory. - ---------- - 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 @@ -75,14 +71,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -100,18 +93,14 @@ requested. Related commands """""""""""""""" -:doc:`pair\_style dpd/fdt `, :doc:`fix eos/cv ` +:doc:`pair_style dpd/fdt `, :doc:`fix eos/cv ` **Default:** none - ---------- - .. _Lisal: - - **(Lisal)** M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative particle dynamics as isothermal, isobaric, isoenergetic, and isoenthalpic conditions using Shardlow-like splitting algorithms.", @@ -119,8 +108,6 @@ J. Chem. Phys., 135, 204105 (2011). .. _Larentzos1sh: - - **(Larentzos1)** J.P. Larentzos, J.K. Brennan, J.D. Moore, M. Lisal and W.D. Mattson, "Parallel Implementation of Isothermal and Isoenergetic Dissipative Particle Dynamics Using Shardlow-Like Splitting @@ -128,14 +115,7 @@ Algorithms", Comput. Phys. Commun., 185, 1987-1998 (2014). .. _Larentzos2sh: - - **(Larentzos2)** J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research Laboratory, Aberdeen Proving Ground, MD (2014). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_smd.rst b/doc/src/fix_smd.rst index 7473cb07a931111edfe0ec5cff61bb68263f70a9..b303114887986c126049a75de236a76860e1579b 100644 --- a/doc/src/fix_smd.rst +++ b/doc/src/fix_smd.rst @@ -6,7 +6,6 @@ fix smd command Syntax """""" - .. parsed-literal:: fix ID group-ID smd type values keyword values @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * smd = style name of this fix command * mode = *cvel* or *cfor* to select constant velocity or constant force SMD - + .. parsed-literal:: - + *cvel* values = K vel K = spring constant (force/distance units) vel = velocity of pulling (distance/time units) @@ -24,9 +23,9 @@ Syntax force = pulling force (force units) * keyword = *tether* or *couple* - + .. parsed-literal:: - + *tether* values = x y z R0 x,y,z = point to which spring is tethered R0 = distance of end of spring from tether point (distance units) @@ -35,13 +34,10 @@ Syntax x,y,z = direction of spring, automatically computed with 'auto' R0 = distance of end of spring (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix pull cterm smd cvel 20.0 -0.00005 tether NULL NULL 100.0 0.0 fix pull cterm smd cvel 20.0 -0.0001 tether 25.0 25 25.0 0.0 @@ -103,20 +99,20 @@ can then later be used to compute the potential of mean force (PMF) by averaging over multiple independent trajectories along the same pulling path. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** The fix stores the direction of the spring, current pulling target distance and the running PMF to :doc:`binary restart files `. -See the :doc:`read\_restart ` command for info on how to +See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the added forces on atoms to the system's virial as part of :doc:`thermodynamic output `. The default is *virial no* -The :doc:`fix\_modify ` *respa* option is supported by +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -139,7 +135,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -153,14 +148,10 @@ Related commands **Default:** none - ---------- - .. _Izrailev: - - **(Izrailev)** Izrailev, Stepaniants, Isralewitz, Kosztin, Lu, Molnar, Wriggers, Schulten. Computational Molecular Dynamics: Challenges, Methods, Ideas, volume 4 of Lecture Notes in Computational Science and @@ -168,17 +159,8 @@ Engineering, pp. 39-65. Springer-Verlag, Berlin, 1998. .. _Park: - - **(Park)** Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004) .. _Jarzynski: - - **(Jarzynski)** Jarzynski, Phys. Rev. Lett. 78, 2690 (1997) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_smd_adjust_dt.rst b/doc/src/fix_smd_adjust_dt.rst index 5176e158fed8ddade67d29f71d4513a216139f97..d91ad1392dbf4129e100aeec2548dfe65b1015b4 100644 --- a/doc/src/fix_smd_adjust_dt.rst +++ b/doc/src/fix_smd_adjust_dt.rst @@ -1,31 +1,27 @@ -.. index:: fix smd/adjust\_dt +.. index:: fix smd/adjust_dt -fix smd/adjust\_dt command -========================== +fix smd/adjust_dt command +========================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix ID group-ID smd/adjust_dt arg * ID, group-ID are documented in :doc:`fix ` command -* smd/adjust\_dt = style name of this fix command -* arg = *s\_fact* - - .. parsed-literal:: - - *s_fact* = safety factor +* smd/adjust_dt = style name of this fix command +* arg = *s_fact* + .. parsed-literal:: + *s_fact* = safety factor Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all smd/adjust_dt 0.1 @@ -45,30 +41,24 @@ step. This fix inquires the minimum stable time increment across all particles contained in the group for which this fix is defined. An -additional safety factor *s\_fact* is applied to the time increment. +additional safety factor *s_fact* is applied to the time increment. See `this PDF guide `_ to use Smooth Mach Dynamics in LAMMPS. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`smd/tlsph\_dt ` +:doc:`smd/tlsph_dt ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_smd_integrate_tlsph.rst b/doc/src/fix_smd_integrate_tlsph.rst index 32aba62dd9a9656caa9e2a316b3011ae7580d9b9..ef9141478829403a7164542dd1a8c03334353dea 100644 --- a/doc/src/fix_smd_integrate_tlsph.rst +++ b/doc/src/fix_smd_integrate_tlsph.rst @@ -1,21 +1,19 @@ -.. index:: fix smd/integrate\_tlsph +.. index:: fix smd/integrate_tlsph -fix smd/integrate\_tlsph command -================================ +fix smd/integrate_tlsph command +=============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix ID group-ID smd/integrate_tlsph keyword values * ID, group-ID are documented in :doc:`fix ` command -* smd/integrate\_tlsph = style name of this fix command +* smd/integrate_tlsph = style name of this fix command * zero or more keyword/value pairs may be appended -* keyword = *limit\_velocity* - +* keyword = *limit_velocity* .. parsed-literal:: @@ -25,8 +23,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all smd/integrate_tlsph fix 1 all smd/integrate_tlsph limit_velocity 1000 @@ -40,11 +37,11 @@ interact according with the Total-Lagrangian SPH pair style. See `this PDF guide `_ to using Smooth Mach Dynamics in LAMMPS. -The *limit\_velocity* keyword will control the velocity, scaling the -norm of the velocity vector to max\_vel in case it exceeds this +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. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization. This fix has no outputs. @@ -52,18 +49,12 @@ minimization. This fix has no outputs. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`smd/integrate\_ulsph ` +:doc:`smd/integrate_ulsph ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_smd_integrate_ulsph.rst b/doc/src/fix_smd_integrate_ulsph.rst index 216e8652bd3c49e632c2c8c3d8be5cbade4a27c2..c355abf17ba8b5bf1092834ff6ad4834b66c997a 100644 --- a/doc/src/fix_smd_integrate_ulsph.rst +++ b/doc/src/fix_smd_integrate_ulsph.rst @@ -1,33 +1,31 @@ -.. index:: fix smd/integrate\_ulsph +.. index:: fix smd/integrate_ulsph -fix smd/integrate\_ulsph command +fix smd/integrate_ulsph command ================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix ID group-ID smd/integrate_ulsph keyword * ID, group-ID are documented in :doc:`fix ` command -* smd/integrate\_ulsph = style name of this fix command +* smd/integrate_ulsph = style name of this fix command * zero or more keyword/value pairs may be appended -* keyword = adjust\_radius or limit\_velocity +* keyword = adjust_radius or limit_velocity -adjust\_radius values = adjust\_radius\_factor min\_nn max\_nn - adjust\_radius\_factor = factor which scale the smooth/kernel radius - min\_nn = minimum number of neighbors - max\_nn = maximum number of neighbors -limit\_velocity values = max\_velocity - max\_velocity = maximum allowed velocity. +adjust_radius values = adjust_radius_factor min_nn max_nn + adjust_radius_factor = factor which scale the smooth/kernel radius + min_nn = minimum number of neighbors + max_nn = maximum number of neighbors +limit_velocity values = max_velocity + max_velocity = maximum allowed velocity. Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all smd/integrate_ulsph adjust_radius 1.02 25 50 fix 1 all smd/integrate_ulsph limit_velocity 1000 @@ -41,17 +39,17 @@ interact with the updated Lagrangian SPH pair style. See `this PDF guide `_ to using Smooth Mach Dynamics in LAMMPS. -The *adjust\_radius* keyword activates dynamic adjustment of the +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. +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. -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. +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. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization. This fix has no outputs. @@ -59,15 +57,9 @@ minimization. This fix has no outputs. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_smd_move_triangulated_surface.rst b/doc/src/fix_smd_move_triangulated_surface.rst index 866a799d4566c31ca3fed251ebbd058fbc48cc46..3aa40a75c2a3cfab97017a2bb643543e6e131b70 100644 --- a/doc/src/fix_smd_move_triangulated_surface.rst +++ b/doc/src/fix_smd_move_triangulated_surface.rst @@ -1,22 +1,21 @@ -.. index:: fix smd/move\_tri\_surf +.. index:: fix smd/move_tri_surf -fix smd/move\_tri\_surf command -=============================== +fix smd/move_tri_surf command +============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix ID group-ID smd/move_tri_surf keyword * ID, group-ID are documented in :doc:`fix ` command -* smd/move\_tri\_surf keyword = style name of this fix command +* smd/move_tri_surf keyword = style name of this fix command * keyword = *\*LINEAR* or *\*WIGGLE* or *\*ROTATE* - + .. parsed-literal:: - + *\*LINEAR* args = Vx Vy Vz Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL *\*WIGGLE* args = Vx Vy Vz max_travel @@ -27,23 +26,20 @@ Syntax Rx,Ry,Rz = axis of rotation vector period = period of rotation (time units) - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - fix 1 tool smd/move_tri_surf \*LINEAR 20 20 10 - fix 2 tool smd/move_tri_surf \*WIGGLE 20 20 10 - fix 2 tool smd/move_tri_surf \*ROTATE 0 0 0 5 2 1 + fix 1 tool smd/move_tri_surf *LINEAR 20 20 10 + fix 2 tool smd/move_tri_surf *WIGGLE 20 20 10 + fix 2 tool smd/move_tri_surf *ROTATE 0 0 0 5 2 1 Description """"""""""" This fix applies only to rigid surfaces read from .STL files via fix -:doc:`smd/wall\_surface ` . It updates position +:doc:`smd/wall_surface ` . It updates position and velocity for the particles in the group each timestep without regard to forces on the particles. The rigid surfaces can thus be moved along simple trajectories during the simulation. @@ -54,7 +50,7 @@ to V = (Vx,Vy,Vz). The *\*WIGGLE* style moves particles in an oscillatory fashion. Particles are moved along (vx, vy, vz) with constant velocity until a -displacement of max\_travel is reached. Then, the velocity vector is +displacement of max_travel is reached. Then, the velocity vector is reversed. This process is repeated. The *\*ROTATE* style rotates particles around a rotation axis R = @@ -67,7 +63,7 @@ rotation axis to the particle. See `this PDF guide `_ to using Smooth Mach Dynamics in LAMMPS. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization. This fix has no outputs. @@ -75,19 +71,13 @@ minimization. This fix has no outputs. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`smd/triangle\_mesh\_vertices `, -:doc:`smd/wall\_surface ` +:doc:`smd/triangle_mesh_vertices `, +:doc:`smd/wall_surface ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_smd_setvel.rst b/doc/src/fix_smd_setvel.rst index 6a8eb80ade8ea000cc74f6605622fd2c23df2f29..eb92f435e1e511e3bd576a232100eeb738feb1cf 100644 --- a/doc/src/fix_smd_setvel.rst +++ b/doc/src/fix_smd_setvel.rst @@ -6,7 +6,6 @@ fix smd/setvel command Syntax """""" - .. parsed-literal:: fix ID group-ID smd/setvel vx vy vz keyword value ... @@ -17,21 +16,18 @@ Syntax * any of vx,vy,vz can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *region* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region particles must be in to have their velocities set - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - fix top_velocity top_group setvel 1.0 0.0 0.0 + fix top_velocity top_group smd/setvel 1.0 0.0 0.0 Description """"""""""" @@ -48,12 +44,12 @@ This fix is indented to be used together with a time integration fix. Any of the 3 quantities defining the velocity components can be specified as an equal-style or atom-style :doc:`variable `, namely *vx*\ , *vy*\ , *vz*\ . If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the force component. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent velocity field. @@ -65,14 +61,12 @@ field with optional time-dependence as well. If the *region* keyword is used, the particle must also be in the specified geometric :doc:`region ` in order to have its velocity set by this command. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization -None of the :doc:`fix\_modify ` options +None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global 3-vector of forces, which can be accessed @@ -86,15 +80,9 @@ the :doc:`run ` command. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_smd_wall_surface.rst b/doc/src/fix_smd_wall_surface.rst index d3c98e30882d9466aa448ec6a06dbce09a55f5ab..6bebcdf6c26e7322845eb3eb5b9e833440eb2d96 100644 --- a/doc/src/fix_smd_wall_surface.rst +++ b/doc/src/fix_smd_wall_surface.rst @@ -1,22 +1,21 @@ -.. index:: fix smd/wall\_surface +.. index:: fix smd/wall_surface -fix smd/wall\_surface command -============================= +fix smd/wall_surface command +============================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix ID group-ID smd/wall_surface arg type mol-ID * ID, group-ID are documented in :doc:`fix ` command -* smd/wall\_surface = style name of this fix command +* smd/wall_surface = style name of this fix command * arg = *file* - + .. parsed-literal:: - + *file* = file name of a triangular mesh in stl format * type = particle type to be given to the new particles created by this fix @@ -25,8 +24,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix stl_surf all smd/wall_surface tool.stl 2 65535 @@ -40,19 +38,19 @@ the new particle is that of the minimum circle which encompasses the triangle vertices. The triangulated surface can be used as a complex rigid wall via the -:doc:`smd/tri\_surface ` pair style. It +:doc:`smd/tri_surface ` pair style. It is possible to move the triangulated surface via the -:doc:`smd/move\_tri\_surf ` fix style. +:doc:`smd/move_tri_surf ` fix style. Immediately after a .STL file has been read, the simulation needs to be run for 0 timesteps in order to properly register the new particles -in the system. See the "funnel\_flow" example in the USER-SMD examples +in the system. See the "funnel_flow" example in the USER-SMD examples directory. See `this PDF guide `_ to use Smooth Mach Dynamics in LAMMPS. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization. This fix has no outputs. @@ -60,7 +58,6 @@ minimization. This fix has no outputs. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -74,13 +71,8 @@ multiple objects in one file. Related commands """""""""""""""" -:doc:`smd/triangle\_mesh\_vertices `, -:doc:`smd/move\_tri\_surf `, -:doc:`smd/tri\_surface ` +:doc:`smd/triangle_mesh_vertices `, +:doc:`smd/move_tri_surf `, +:doc:`smd/tri_surface ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_spring.rst b/doc/src/fix_spring.rst index 2d874e4b23bfc44b9452b6e403221133a9b59a7d..518b4d2302fd58a94c5131aba73d59e519a1dca0 100644 --- a/doc/src/fix_spring.rst +++ b/doc/src/fix_spring.rst @@ -6,7 +6,6 @@ fix spring command Syntax """""" - .. parsed-literal:: fix ID group-ID spring keyword values @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * spring = style name of this fix command * keyword = *tether* or *couple* - + .. parsed-literal:: - + *tether* values = K x y z R0 K = spring constant (force/distance units) x,y,z = point to which spring is tethered @@ -27,13 +26,10 @@ Syntax x,y,z = direction of spring R0 = equilibrium distance of spring (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0 fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0 @@ -49,7 +45,7 @@ Apply a spring force to a group of atoms or between two groups of atoms. This is useful for applying an umbrella force to a small molecule or lightly tethering a large group of atoms (e.g. all the solvent or a large molecule) to the center of the simulation box so -that it doesn't wander away over the course of a long simulation. It +that it does not wander away over the course of a long simulation. It can also be used to hold the centers of mass of two groups of atoms at a given distance or orientation with respect to each other. @@ -101,15 +97,15 @@ last example holds the ion a distance 5 away from the pore axis spring connecting two groups or a group and the tether point can cross a periodic boundary and its length be calculated correctly. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy stored in the spring to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -140,7 +136,7 @@ invoked by the :doc:`minimize ` command. If you want the spring energy to be included in the total potential energy of the system (the quantity being minimized), you - MUST enable the :doc:`fix\_modify ` *energy* option for this + MUST enable the :doc:`fix_modify ` *energy* option for this fix. Restrictions @@ -154,8 +150,3 @@ Related commands :doc:`fix spring/rg `, :doc:`fix smd ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_spring_chunk.rst b/doc/src/fix_spring_chunk.rst index 9f6182df8eb89722a229abd673f63b1de337ef2c..d839d9158c5995b1686a80d8a0032b07a0a9219d 100644 --- a/doc/src/fix_spring_chunk.rst +++ b/doc/src/fix_spring_chunk.rst @@ -6,7 +6,6 @@ fix spring/chunk command Syntax """""" - .. parsed-literal:: fix ID group-ID spring/chunk K chunkID comID @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix restrain all spring/chunk 100 chunkID comID @@ -50,15 +48,15 @@ chunk. Note that *K* thus represents the spring constant for the total force on each chunk of atoms, not for a spring applied to each atom. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy stored in all the springs to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -78,7 +76,7 @@ invoked by the :doc:`minimize ` command. If you want the spring energies to be included in the total potential energy of the system (the quantity being minimized), you - MUST enable the :doc:`fix\_modify ` *energy* option for this + MUST enable the :doc:`fix_modify ` *energy* option for this fix. Restrictions @@ -92,8 +90,3 @@ Related commands :doc:`fix spring/rg ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_spring_rg.rst b/doc/src/fix_spring_rg.rst index b2573483e03f520e761aaf3dd88400421e43fca4..962e780f7f518d2a490ed1515a33e03fd2a07178 100644 --- a/doc/src/fix_spring_rg.rst +++ b/doc/src/fix_spring_rg.rst @@ -6,7 +6,6 @@ fix spring/rg command Syntax """""" - .. parsed-literal:: fix ID group-ID spring/rg K RG0 @@ -16,7 +15,6 @@ Syntax * K = harmonic force constant (force/distance units) * RG0 = target radius of gyration to constrain to (distance units) - .. parsed-literal:: if RG0 = NULL, use the current RG as the target value @@ -24,8 +22,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 protein spring/rg 5.0 10.0 fix 2 micelle spring/rg 5.0 NULL @@ -44,26 +41,31 @@ energy of the constraint and associated force on each atom is given by the second and third formulas, when the group is at a different RG than the target value RG0. -.. image:: Eqs/fix_spring_rg.jpg - :align: center +.. math:: -The (xi - center-of-mass) term is computed taking into account -periodic boundary conditions, m\_i is the mass of the atom, and M is -the mass of the entire group. Note that K is thus a force constant + {R_G}^2 & = \frac{1}{M}\sum_{i}^{N}{m_{i}\left( x_{i} - + \frac{1}{M}\sum_{j}^{N}{m_{j}x_{j}} \right)^{2}} \\ + E & = K\left( R_G - R_{G0} \right)^{2} \\ + F_{i} & = 2K\frac{m_{i}}{M}\left( 1-\frac{R_{G0}}{R_G} + \right)\left( x_{i} - \frac{1}{M}\sum_{j}^{N}{m_{j}x_{j}} \right) + +The (:math:`x_i` - center-of-mass) term is computed taking into account +periodic boundary conditions, :math:`m_i` is the mass of the atom, and +*M* is the mass of the entire group. Note that K is thus a force constant for the aggregate force on the group of atoms, not a per-atom force. -If RG0 is specified as NULL, then the RG of the group is computed at +If :math:`R_{G0}` is specified as NULL, then the RG of the group is computed at the time the fix is specified, and that value is used as the target. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -78,8 +80,3 @@ Related commands :doc:`fix drag `, :doc:`fix smd ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_spring_self.rst b/doc/src/fix_spring_self.rst index d061c96eba093f46a9585d61f48c0bbe9d05dd31..38da0013b1b03fe3ea693ea6d59f62e467ef77d0 100644 --- a/doc/src/fix_spring_self.rst +++ b/doc/src/fix_spring_self.rst @@ -6,7 +6,6 @@ fix spring/self command Syntax """""" - .. parsed-literal:: fix ID group-ID spring/self K dir @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix tether boundary-atoms spring/self 10.0 fix zrest move spring/self 10.0 z @@ -43,19 +41,19 @@ directions, but it can be limited to the xy-, xz-, yz-plane and the x-, y-, or z-direction, thus restraining the atoms to a line or a plane, respectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the original coordinates of tethered atoms to :doc:`binary restart files `, so that the spring effect will be the same in a restarted simulation. See the -:doc:`read\_restart ` command for info on how to re-specify +:doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy stored in the per-atom springs to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *respa* option is supported by +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -75,7 +73,7 @@ invoked by the :doc:`minimize ` command. If you want the per-atom spring energy to be included in the total potential energy of the system (the quantity being minimized), - you MUST enable the :doc:`fix\_modify ` *energy* option for + you MUST enable the :doc:`fix_modify ` *energy* option for this fix. Restrictions @@ -89,8 +87,3 @@ Related commands :doc:`fix smd `, :doc:`fix spring/rg ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_srd.rst b/doc/src/fix_srd.rst index 51c1b25930916fc24f93acb915b18776f027b111..70f07cc0bfe8e50d9c5c6195638c643feb3a8a37 100644 --- a/doc/src/fix_srd.rst +++ b/doc/src/fix_srd.rst @@ -6,7 +6,6 @@ fix srd command Syntax """""" - .. parsed-literal:: fix ID group-ID srd N groupbig-ID Tsrd hgrid seed keyword value ... @@ -21,9 +20,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *lamda* or *collision* or *overlap* or *inside* or *exact* or *radius* or *bounce* or *search* or *cubic* or *shift* or *tstat* or *rescale* - + .. parsed-literal:: - + *lamda* value = mean free path of SRD particles (distance units) *collision* value = *noslip* or *slip* = collision model *overlap* value = *yes* or *no* = whether big particles may overlap @@ -48,13 +47,10 @@ Syntax *rotate* = rescale during velocity rotation, but not collisions *collide* = rescale during collisions, but not velocity rotation - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 srd srd 10 big 1.0 0.25 482984 fix 1 srd srd 10 big 0.5 0.25 482984 collision slip search 0.5 @@ -84,36 +80,36 @@ the implementation and usage of mixture systems (solute particles in an SRD fluid). See the examples/srd directory for sample input scripts using SRD particles in both settings. -This fix does 2 things: +This fix does two things: -(1) It advects the SRD particles, performing collisions between SRD -and big particles or walls every timestep, imparting force and torque -to the big particles. Collisions also change the position and -velocity of SRD particles. + 1. It advects the SRD particles, performing collisions between SRD + and big particles or walls every timestep, imparting force and torque + to the big particles. Collisions also change the position and + velocity of SRD particles. -(2) It resets the velocity distribution of SRD particles via random -rotations every N timesteps. + 2. It resets the velocity distribution of SRD particles via random + rotations every N timesteps. SRD particles have a mass, temperature, characteristic timestep -dt\_SRD, and mean free path between collisions (lamda). The -fundamental equation relating these 4 quantities is +:math:`dt_{SRD}`, and mean free path between collisions +(:math:`\lambda`). The fundamental equation relating these 4 quantities +is +.. math:: -.. parsed-literal:: - - lamda = dt_SRD \* sqrt(Kboltz \* Tsrd / mass) + \lambda = dt_{SRD} \sqrt{\frac{k_B T_{SRD}}{m}} -The mass of SRD particles is set by the :doc:`mass ` command -elsewhere in the input script. The SRD timestep dt\_SRD is N times the -step dt defined by the :doc:`timestep ` command. Big -particles move in the normal way via a time integration :doc:`fix ` -with a short timestep dt. SRD particles advect with a large timestep -dt\_SRD >= dt. +The mass *m* of SRD particles is set by the :doc:`mass ` command +elsewhere in the input script. The SRD timestep :math:`dt_{SRD}` is N +times the step *dt* defined by the :doc:`timestep ` command. +Big particles move in the normal way via a time integration :doc:`fix +` with a short timestep dt. SRD particles advect with a large +timestep :math:`dt_{SRD} \ge dt`. If the *lamda* keyword is not specified, the SRD temperature -*Tsrd* is used in the above formula to compute lamda. If the *lamda* -keyword is specified, then the *Tsrd* setting is ignored and the above -equation is used to compute the SRD temperature. +:math:`T_{SRD}` is used in the above formula to compute :math:`\lambda`. +If the *lamda* keyword is specified, then the *Tsrd* setting is ignored +and the above equation is used to compute the SRD temperature. The characteristic length scale for the SRD fluid is set by *hgrid* which is used to bin SRD particles for purposes of resetting their @@ -121,13 +117,14 @@ velocities. Normally hgrid is set to be 1/4 of the big particle diameter or smaller, to adequately resolve fluid properties around the big particles. -Lamda cannot be smaller than 0.6 \* hgrid, else an error is generated -(unless the *shift* keyword is used, see below). The velocities of -SRD particles are bounded by Vmax, which is set so that an SRD -particle will not advect further than Dmax = 4\*lamda in dt\_SRD. This -means that roughly speaking, Dmax should not be larger than a big -particle diameter, else SRDs may pass through big particles without -colliding. A warning is generated if this is the case. +:math:`\lambda` cannot be smaller than 0.6 \* hgrid, else an error is +generated (unless the *shift* keyword is used, see below). The +velocities of SRD particles are bounded by Vmax, which is set so that an +SRD particle will not advect further than :math:`D_{max} = 4 \lambda` in +:math:`dt_{SRD}`. This means that roughly speaking, :math:`D_{max}` +should not be larger than a big particle diameter, else SRDs may pass +through big particles without colliding. A warning is generated if this +is the case. Collisions between SRD particles and big particles or walls are modeled as a lightweight SRD point particle hitting a heavy big @@ -153,18 +150,17 @@ SRD velocity is chosen randomly. This collision style imparts torque to a big particle. Thus a time integrator :doc:`fix ` that rotates the big particles appropriately should be used. - ---------- - The *overlap* keyword should be set to *yes* if two (or more) big particles can ever overlap. This depends on the pair potential interaction used for big-big interactions, or could be the case if -multiple big particles are held together as rigid bodies via the :doc:`fix rigid ` command. If the *overlap* keyword is *no* and -big particles do in fact overlap, then SRD/big collisions can generate -an error if an SRD ends up inside two (or more) big particles at once. -How this error is treated is determined by the *inside* keyword. -Running with *overlap* set to *no* allows for faster collision +multiple big particles are held together as rigid bodies via the +:doc:`fix rigid ` command. If the *overlap* keyword is *no* +and big particles do in fact overlap, then SRD/big collisions can +generate an error if an SRD ends up inside two (or more) big particles +at once. How this error is treated is determined by the *inside* +keyword. Running with *overlap* set to *no* allows for faster collision checking, so it should only be set to *yes* if needed. The *inside* keyword determines how a collision is treated if the @@ -201,10 +197,8 @@ bounces between nearby big particles. Note that if the limit is reached, the SRD can be left inside a big particle. A setting of 0 is the same as no limit. - ---------- - There are 2 kinds of bins created and maintained when running an SRD simulation. The first are "SRD bins" which are used to bin SRD particles and reset their velocities, as discussed above. The second @@ -258,30 +252,30 @@ warning is generated. reneighboring. Note that changing the SRD bin size may alter the properties of the SRD fluid, such as its viscosity. -The *shift* keyword determines whether the coordinates of SRD -particles are randomly shifted when binned for purposes of rotating -their velocities. When no shifting is performed, SRD particles are -binned and the velocity distribution of the set of SRD particles in -each bin is adjusted via a rotation operator. This is a statistically -valid operation if SRD particles move sufficiently far between -successive rotations. This is determined by their mean-free path -lamda. If lamda is less than 0.6 of the SRD bin size, then shifting -is required. A shift means that all of the SRD particles are shifted -by a vector whose coordinates are chosen randomly in the range [-1/2 -bin size, 1/2 bin size]. Note that all particles are shifted by the -same vector. The specified random number *shiftseed* is used to -generate these vectors. This operation sufficiently randomizes which -SRD particles are in the same bin, even if lamda is small. +The *shift* keyword determines whether the coordinates of SRD particles +are randomly shifted when binned for purposes of rotating their +velocities. When no shifting is performed, SRD particles are binned and +the velocity distribution of the set of SRD particles in each bin is +adjusted via a rotation operator. This is a statistically valid +operation if SRD particles move sufficiently far between successive +rotations. This is determined by their mean-free path :math:`\lambda`. +If :math:`\lambda` is less than 0.6 of the SRD bin size, then shifting +is required. A shift means that all of the SRD particles are shifted by +a vector whose coordinates are chosen randomly in the range [-1/2 bin +size, 1/2 bin size]. Note that all particles are shifted by the same +vector. The specified random number *shiftseed* is used to generate +these vectors. This operation sufficiently randomizes which SRD +particles are in the same bin, even if :math:`lambda` is small. If the *shift* flag is set to *no*\ , then no shifting is performed, but -bin data will be communicated if bins overlap processor boundaries. -An error will be generated if lamda < 0.6 of the SRD bin size. If the -*shift* flag is set to *possible*\ , then shifting is performed only if -lamda < 0.6 of the SRD bin size. A warning is generated to let you -know this is occurring. If the *shift* flag is set to *yes* then -shifting is performed regardless of the magnitude of lamda. Note that -the *shiftseed* is not used if the *shift* flag is set to *no*\ , but -must still be specified. +bin data will be communicated if bins overlap processor boundaries. An +error will be generated if :math:`\lambda < 0.6` of the SRD bin size. +If the *shift* flag is set to *possible*\ , then shifting is performed +only if :math:`\lambda < 0.6` of the SRD bin size. A warning is +generated to let you know this is occurring. If the *shift* flag is set +to *yes* then shifting is performed regardless of the magnitude of +:math:`\lambda`. Note that the *shiftseed* is not used if the *shift* +flag is set to *no*\ , but must still be specified. Note that shifting of SRD coordinates requires extra communication, hence it should not normally be enabled unless required. @@ -319,10 +313,8 @@ rescaling off during collisions and the per-bin velocity rotation operation. The *collide* and *rotate* values turn it on for one of the operations and off for the other. - ---------- - .. note:: This fix is normally used for simulations with a huge number of @@ -333,26 +325,24 @@ one of the operations and off for the other. Three other input script commands will largely overcome this effect, speeding up an SRD simulation by a significant amount. These are the -:doc:`atom\_modify first `, :doc:`neigh\_modify include `, and :doc:`comm\_modify group ` +:doc:`atom_modify first `, :doc:`neigh_modify include `, and :doc:`comm_modify group ` commands. Each takes a group-ID as an argument, which in this case should be the group-ID of the big solute particles. -Additionally, when a :doc:`pair\_style ` for big/big particle -interactions is specified, the :doc:`pair\_coeff ` command +Additionally, when a :doc:`pair_style ` for big/big particle +interactions is specified, the :doc:`pair_coeff ` command should be used to turn off big/SRD interactions, e.g. by setting their epsilon or cutoff length to 0.0. -The "delete\_atoms overlap" command may be useful in setting up an SRD +The "delete_atoms overlap" command may be useful in setting up an SRD simulation to insure there are no initial overlaps between big and SRD particles. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix tabulates several SRD statistics which are stored in a vector @@ -385,7 +375,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This command can only be used if LAMMPS was built with the SRD package. See the :doc:`Build package ` doc page for more info. @@ -398,35 +387,22 @@ Related commands Default """"""" -The option defaults are lamda inferred from Tsrd, collision = noslip, -overlap = no, inside = error, exact = yes, radius = 1.0, bounce = 0, -search = hgrid, cubic = error 0.01, shift = no, tstat = no, and -rescale = yes. - +The option defaults are: *lamda* (:math:`\lambda`) is inferred from *Tsrd*, +collision = noslip, overlap = no, inside = error, exact = yes, radius = +1.0, bounce = 0, search = hgrid, cubic = error 0.01, shift = no, tstat = +no, and rescale = yes. ---------- - .. _Hecht: - - **(Hecht)** Hecht, Harting, Ihle, Herrmann, Phys Rev E, 72, 011408 (2005). .. _Petersen1: - - **(Petersen)** Petersen, Lechman, Plimpton, Grest, in' t Veld, Schunk, J Chem Phys, 132, 174106 (2010). .. _Lechman: - - **(Lechman)** Lechman, et al, in preparation (2010). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_store_force.rst b/doc/src/fix_store_force.rst index 4578f39f87f55253e4bd83336b392fc3cf6b8cf5..d9ccd162fde271c71e52e15764d1b2318827a789 100644 --- a/doc/src/fix_store_force.rst +++ b/doc/src/fix_store_force.rst @@ -6,7 +6,6 @@ fix store/force command Syntax """""" - .. parsed-literal:: fix ID group-ID store/force @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all store/force @@ -51,9 +49,9 @@ potentially modify the force on each atom. Examples of such fixes are to include certain constraints (e.g. fix shake) in the stored force, then it could be specified after some fixes and before others. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix produces a per-atom array which can be accessed by various @@ -71,11 +69,6 @@ Restrictions Related commands """""""""""""""" -:doc:`fix store\_state ` +:doc:`fix store_state ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_store_state.rst b/doc/src/fix_store_state.rst index 131ba5d0b1372f546a20a80650648d6eab162147..b8fee6b5ea73cecca9599469668b4494d6fd1a92 100644 --- a/doc/src/fix_store_state.rst +++ b/doc/src/fix_store_state.rst @@ -6,7 +6,6 @@ fix store/state command Syntax """""" - .. parsed-literal:: fix ID group-ID store/state N input1 input2 ... keyword value ... @@ -15,9 +14,9 @@ Syntax * store/state = style name of this fix command * N = store atom attributes every N steps, N = 0 for initial store only * input = one or more atom attributes - + .. parsed-literal:: - + possible attributes = id, mol, type, mass, x, y, z, xs, ys, zs, xu, yu, zu, xsu, ysu, zsu, ix, iy, iz, vx, vy, vz, fx, fy, fz, @@ -27,9 +26,8 @@ Syntax c_ID, c_ID[N], f_ID, f_ID[N], v_name, d_name, i_name - .. parsed-literal:: - + id = atom ID mol = molecule ID type = atom type @@ -58,18 +56,15 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *com* - - .. parsed-literal:: - - *com* value = *yes* or *no* + .. parsed-literal:: + *com* value = *yes* or *no* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all store/state 0 x y z fix 1 all store/state 0 xu yu zu com yes @@ -107,15 +102,15 @@ The requested values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified group. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the per-atom values it stores to :doc:`binary restart files `, so that the values can be restored when a -simulation is restarted. See the :doc:`read\_restart ` +simulation is restarted. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. If a single input is specified, this fix produces a per-atom vector. @@ -141,8 +136,3 @@ Default """"""" The option default is com = no. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_temp_berendsen.rst b/doc/src/fix_temp_berendsen.rst index 8d0959cd96b0fec922b87b99d0187d867ebc93cc..4913efdf533b21694fcd1f4cbcf46f7b2005ef72 100644 --- a/doc/src/fix_temp_berendsen.rst +++ b/doc/src/fix_temp_berendsen.rst @@ -6,7 +6,6 @@ fix temp/berendsen command Syntax """""" - .. parsed-literal:: fix ID group-ID temp/berendsen Tstart Tstop Tdamp @@ -14,19 +13,17 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * temp/berendsen = style name of this fix command * Tstart,Tstop = desired temperature at start/end of run - + .. parsed-literal:: - + Tstart can be a variable (see below) * Tdamp = temperature damping parameter (time units) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all temp/berendsen 300.0 300.0 100.0 @@ -53,7 +50,7 @@ of (roughly) 100 time units (tau or fmsec or psec - see the *Tstart* can be specified as an equal-style :doc:`variable `. In this case, the *Tstop* setting is ignored. If the value is a -variable, it should be specified as v\_name, where name is the variable +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature. @@ -64,7 +61,7 @@ its value used to determine the target temperature. zero temperature. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent temperature. @@ -87,8 +84,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp @@ -97,12 +93,12 @@ that the ID of the new compute is the fix-ID + underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp*. +the :doc:`thermo_style ` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -:doc:`compute\_modify ` command or print this temperature -during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +:doc:`compute_modify ` command or print this temperature +during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -111,7 +107,7 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix\_modify ` command is used +default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -119,21 +115,19 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a temperature :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change implied by a velocity rescaling to the system's potential energy as part of :doc:`thermodynamic output `. @@ -151,7 +145,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix can be used with dynamic groups as defined by the :doc:`group ` command. Likewise it can be used with groups to which atoms are added or deleted over time, e.g. a deposition @@ -164,23 +157,14 @@ Related commands """""""""""""""" :doc:`fix nve `, :doc:`fix nvt `, :doc:`fix temp/rescale `, :doc:`fix langevin `, -:doc:`fix\_modify `, :doc:`compute temp `, +:doc:`fix_modify `, :doc:`compute temp `, :doc:`fix press/berendsen ` **Default:** none - ---------- - .. _Berendsen2: - - **(Berendsen)** Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem Phys, 81, 3684 (1984). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_temp_csvr.rst b/doc/src/fix_temp_csvr.rst index 6494c9e9812ce0cbabd501b2be9e3c19cc62141e..cd4e5dc88f302e483f79281f3133088b3ca37702 100644 --- a/doc/src/fix_temp_csvr.rst +++ b/doc/src/fix_temp_csvr.rst @@ -9,33 +9,28 @@ fix temp/csld command Syntax """""" - .. parsed-literal:: fix ID group-ID temp/csvr Tstart Tstop Tdamp seed - fix ID group-ID temp/csld Tstart Tstop Tdamp seed * ID, group-ID are documented in :doc:`fix ` command * temp/csvr or temp/csld = style name of this fix command * Tstart,Tstop = desired temperature at start/end of run - + .. parsed-literal:: - + Tstart can be a variable (see below) * Tdamp = temperature damping parameter (time units) * seed = random number seed to use for white noise (positive integer) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all temp/csvr 300.0 300.0 100.0 54324 - fix 1 all temp/csld 100.0 300.0 10.0 123321 Description @@ -69,12 +64,12 @@ of (roughly) 100 time units (tau or fmsec or psec - see the *Tstart* can be specified as an equal-style :doc:`variable `. In this case, the *Tstop* setting is ignored. If the value is a -variable, it should be specified as v\_name, where name is the variable +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent temperature. @@ -97,8 +92,7 @@ These fixes compute a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp @@ -107,12 +101,12 @@ that the ID of the new compute is the fix-ID + underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp*. +the :doc:`thermo_style ` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -:doc:`compute\_modify ` command or print this temperature -during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +:doc:`compute_modify ` command or print this temperature +during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, these fixes can be used @@ -121,7 +115,7 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix\_modify ` command is used +default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -129,15 +123,13 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about these fixes are written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *temp* option is supported by these +The :doc:`fix_modify ` *temp* option is supported by these fixes. You can use it to assign a temperature :doc:`compute ` you have defined to these fixes which will be used in its thermostatting procedure, as described above. For consistency, the group used by @@ -157,7 +149,6 @@ is "extensive". Restrictions """""""""""" - These fixes are not compatible with :doc:`fix shake `. The fix can be used with dynamic groups as defined by the @@ -172,27 +163,17 @@ Related commands """""""""""""""" :doc:`fix nve `, :doc:`fix nvt `, :doc:`fix temp/rescale `, :doc:`fix langevin `, -:doc:`fix\_modify `, :doc:`compute temp `, +:doc:`fix_modify `, :doc:`compute temp `, :doc:`fix temp/berendsen ` **Default:** none - ---------- - .. _Bussi1: - - .. _Bussi2: **(Bussi1)** Bussi, Donadio and Parrinello, J. Chem. Phys. 126, 014101(2007) - **(Bussi2)** Bussi and Parrinello, Phys. Rev. E 75, 056707 (2007) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_temp_rescale.rst b/doc/src/fix_temp_rescale.rst index 80f03a30189db1f8acef36e37ca8ca640a49b8b1..d23006c52b1719e2e3ee5685c5bde20fcde52a79 100644 --- a/doc/src/fix_temp_rescale.rst +++ b/doc/src/fix_temp_rescale.rst @@ -6,7 +6,6 @@ fix temp/rescale command Syntax """""" - .. parsed-literal:: fix ID group-ID temp/rescale N Tstart Tstop window fraction @@ -15,20 +14,18 @@ Syntax * temp/rescale = style name of this fix command * N = perform rescaling every N steps * Tstart,Tstop = desired temperature at start/end of run (temperature units) - + .. parsed-literal:: - + Tstart can be a variable (see below) * window = only rescale if temperature is outside this window (temperature units) * fraction = rescale to target temperature by this fraction - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5 fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 @@ -59,12 +56,12 @@ beginning and end of the run. *Tstart* can be specified as an equal-style :doc:`variable `. In this case, the *Tstop* setting is ignored. If the value is a -variable, it should be specified as v\_name, where name is the variable +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent temperature. @@ -94,8 +91,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if one of this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp @@ -104,12 +100,12 @@ ID of the new compute is the fix-ID + underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo\_style ` command) with ID = *thermo\_temp*. +the :doc:`thermo_style ` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the -:doc:`compute\_modify ` command or print this temperature -during thermodynamic output via the :doc:`thermo\_style custom ` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +:doc:`compute_modify ` command or print this temperature +during thermodynamic output via the :doc:`thermo_style custom ` command using the appropriate compute-ID. +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -118,7 +114,7 @@ after removing a "bias" from the atom velocities. E.g. removing the center-of-mass velocity from a group of atoms or only calculating temperature on the x-component of velocity or only calculating temperature for atoms in a geometric region. This is not done by -default, but only if the :doc:`fix\_modify ` command is used +default, but only if the :doc:`fix_modify ` command is used to assign a temperature compute to this fix that includes such a bias term. See the doc pages for individual :doc:`compute commands ` to determine which ones include a bias. In this case, the thermostat works in the following manner: the current @@ -126,21 +122,19 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a temperature :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change implied by a velocity rescaling to the system's potential energy as part of :doc:`thermodynamic output `. @@ -163,11 +157,6 @@ Related commands """""""""""""""" :doc:`fix langevin `, :doc:`fix nvt `, -:doc:`fix\_modify ` +:doc:`fix_modify ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_temp_rescale_eff.rst b/doc/src/fix_temp_rescale_eff.rst index e60459a29bf3a128544d815ef74c6b9bbac79396..5173e6addca77184107e84e56df1ec50c87aa95c 100644 --- a/doc/src/fix_temp_rescale_eff.rst +++ b/doc/src/fix_temp_rescale_eff.rst @@ -6,7 +6,6 @@ fix temp/rescale/eff command Syntax """""" - .. parsed-literal:: fix ID group-ID temp/rescale/eff N Tstart Tstop window fraction @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 flow temp/rescale/eff 10 1.0 100.0 0.02 1.0 @@ -37,17 +35,17 @@ The operation of this fix is exactly like that described by the :doc:`fix temp/r is also applied to the radial electron velocity for electron particles. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *temp* option is supported by this +The :doc:`fix_modify ` *temp* option is supported by this fix. You can use it to assign a temperature :doc:`compute ` you have defined to this fix which will be used in its thermostatting procedure, as described above. For consistency, the group used by this fix and by the compute should be the same. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy change implied by a velocity rescaling to the system's potential energy as part of :doc:`thermodynamic output `. @@ -65,19 +63,13 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`fix langevin/eff `, :doc:`fix nvt/eff `, :doc:`fix\_modify `, +:doc:`fix langevin/eff `, :doc:`fix nvt/eff `, :doc:`fix_modify `, :doc:`fix temp rescale `, **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_tfmc.rst b/doc/src/fix_tfmc.rst index ab407ba7b1c9ec4fec7f7aa3a0043b5592d1a773..fe290dfc0c669b0da2895951946398ebfd92f943 100644 --- a/doc/src/fix_tfmc.rst +++ b/doc/src/fix_tfmc.rst @@ -6,7 +6,6 @@ fix tfmc command Syntax """""" - .. parsed-literal:: fix ID group-ID tfmc Delta Temp seed keyword value @@ -18,20 +17,17 @@ Syntax * seed = random number seed (positive integer) * zero or more keyword/arg pairs may be appended * keyword = *com* or *rot* - + .. parsed-literal:: - + *com* args = xflag yflag zflag xflag,yflag,zflag = 0/1 to exclude/include each dimension *rot* args = none - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all tfmc 0.1 1000.0 159345 fix 1 all tfmc 0.05 600.0 658943 com 1 1 0 @@ -118,15 +114,13 @@ rotational component of the tfMC displacements after every iteration. external forces, and removing them will lead to a violation of detailed balance. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. This fix is not invoked during :doc:`energy minimization `. @@ -134,7 +128,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -151,31 +144,18 @@ Default The option default is com = 0 0 0 - ---------- - .. _Bal: - - **(Bal)** K. M Bal and E. C. Neyts, J. Chem. Phys. 141, 204104 (2014). .. _Mees: - - **(Mees)** M. J. Mees, G. Pourtois, E. C. Neyts, B. J. Thijsse, and A. Stesmans, Phys. Rev. B 85, 134301 (2012). .. _Neyts: - - **(Neyts)** E. C. Neyts and A. Bogaerts, Theor. Chem. Acc. 132, 1320 (2013). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_thermal_conductivity.rst b/doc/src/fix_thermal_conductivity.rst index 05552c1b37f3ada544679540511ae5db730a07e7..6b8b670694f4ee65d72474a94338f7e66f497f67 100644 --- a/doc/src/fix_thermal_conductivity.rst +++ b/doc/src/fix_thermal_conductivity.rst @@ -6,7 +6,6 @@ fix thermal/conductivity command Syntax """""" - .. parsed-literal:: fix ID group-ID thermal/conductivity N edim Nbin keyword value ... @@ -18,18 +17,15 @@ Syntax * Nbin = # of layers in edim direction (must be even number) * zero or more keyword/value pairs may be appended * keyword = *swap* - - .. parsed-literal:: - - *swap* value = Nswap = number of swaps to perform every N steps + .. parsed-literal:: + *swap* value = Nswap = number of swaps to perform every N steps Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all thermal/conductivity 100 z 20 fix 1 all thermal/conductivity 50 z 20 swap 2 @@ -67,8 +63,7 @@ this induces a temperature gradient in the system which can be measured using commands such as the following, which writes the temperature profile (assuming z = edim) to the file tmp.profile: - -.. parsed-literal:: +.. code-block:: LAMMPS compute ke all ke/atom variable temp atom c_ke/1.5 @@ -113,9 +108,9 @@ fluid, in appropriate units. See the :ref:`Muller-Plathe paper accurately infer a thermal conductivity and should try increasing the Nevery parameter. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global scalar which can be accessed by various @@ -133,7 +128,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -165,24 +159,13 @@ Default The option defaults are swap = 1. - ---------- - .. _Muller-Plathe1: - - **(Muller-Plathe)** Muller-Plathe, J Chem Phys, 106, 6082 (1997). .. _Zhang2: - - **(Zhang)** Zhang, Lussetti, de Souza, Muller-Plathe, J Phys Chem B, 109, 15060-15067 (2005). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ti_spring.rst b/doc/src/fix_ti_spring.rst index 807f89b1723bb4dee6fa254b14c17ca8bcf4dd14..8bf5439e0d69b6e74fe98b5602a9a6e330b6f41d 100644 --- a/doc/src/fix_ti_spring.rst +++ b/doc/src/fix_ti_spring.rst @@ -6,7 +6,6 @@ fix ti/spring command Syntax """""" - .. parsed-literal:: fix ID group-ID ti/spring k t_s t_eq keyword value ... @@ -14,22 +13,19 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * ti/spring = style name of this fix command * k = spring constant (force/distance units) -* t\_eq = number of steps for the equilibration procedure -* t\_s = number of steps for the switching procedure +* t_eq = number of steps for the equilibration procedure +* t_s = number of steps for the switching procedure * zero or more keyword/value pairs may be appended to args * keyword = *function* - + .. parsed-literal:: - + *function* value = function-ID function-ID = ID of the switching function (1 or 2) - - **Example:** - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ti/spring 50.0 2000 1000 function 2 @@ -48,11 +44,12 @@ The thermodynamic integration procedure is performed by rescaling the force on each atom. Given an atomic configuration the force (F) on each atom is given by -.. image:: Eqs/fix_ti_spring_force.jpg - :align: center +.. math:: + + F = \left( 1-\lambda \right) F_{\text{solid}} + \lambda F_{\text{harm}} -where F\_solid is the force that acts on an atom due to an interatomic -potential (\ *e.g.* EAM potential), F\_harm is the force due to the +where F_solid is the force that acts on an atom due to an interatomic +potential (\ *e.g.* EAM potential), F_harm is the force due to the Einstein crystal harmonic spring, and lambda is the coupling parameter of the thermodynamic integration. An Einstein crystal is a solid where each atom is attached to its equilibrium position by a harmonic spring @@ -61,15 +58,15 @@ independently to each atom in the group defined by the fix to tether it to its initial position. The initial position of each atom is its position at the time the fix command was issued. -The fix acts as follows: during the first *t\_eq* steps after the fix +The fix acts as follows: during the first *t_eq* steps after the fix is defined the value of lambda is zero. This is the period to equilibrate the system in the lambda = 0 state. After this the value of lambda changes dynamically during the simulation from 0 to 1 according to the function defined using the keyword *function* (described below), this switching from lambda from 0 to 1 is done in -*t\_s* steps. Then comes the second equilibration period of *t\_eq* to +*t_s* steps. Then comes the second equilibration period of *t_eq* to equilibrate the system in the lambda = 1 state. After that, the -switching back to the lambda = 0 state is made using *t\_s* timesteps +switching back to the lambda = 0 state is made using *t_s* timesteps and following the same switching function. After this period the value of lambda is kept equal to zero and the fix has no other effect on the dynamics of the system. @@ -87,15 +84,17 @@ The *function* keyword allows the use of two different lambda paths. Option *1* results in a constant rate of change of lambda with time: -.. image:: Eqs/fix_ti_spring_function_1.jpg - :align: center +.. math:: -where tau is the scaled time variable *t/t\_s*. The option *2* performs + \lambda(\tau) = \tau + +where tau is the scaled time variable *t/t_s*. The option *2* performs the lambda switching at a rate defined by the following switching function -.. image:: Eqs/fix_ti_spring_function_2.jpg - :align: center +.. math:: + + \lambda(\tau) = \tau^5 \left( 70 \tau^4 - 315 \tau^3 + 540 \tau^2 - 420 \tau + 126 \right) This function has zero slope as lambda approaches its extreme values (0 and 1), according to :ref:`de Koning ` this results in @@ -117,7 +116,7 @@ increase in computational resources cost. option will *NOT* solve this problem). The Langevin thermostat (:doc:`fix langevin `) correctly thermostats the system and we advise its usage with ti/spring command. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the original coordinates of tethered atoms to :doc:`binary restart files `, so that the spring effect will be the same in a restarted simulation. See the :doc:`read restart ` command for info on how to re-specify a fix @@ -157,7 +156,6 @@ Related commands Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -166,24 +164,13 @@ Default The keyword default is function = 1. - ---------- - .. _Freitas1: - - **(Freitas)** Freitas, Asta, and de Koning, Computational Materials Science, 112, 333 (2016). .. _deKoning96: - - **(de Koning)** de Koning and Antonelli, Phys Rev E, 53, 465 (1996). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_tmd.rst b/doc/src/fix_tmd.rst index ed3173319643b0463c05f886471bc168ca6be98d..bbc99d3ba24fc085d02e71b400e158a326418fe9 100644 --- a/doc/src/fix_tmd.rst +++ b/doc/src/fix_tmd.rst @@ -6,14 +6,13 @@ fix tmd command Syntax """""" - .. parsed-literal:: fix ID group-ID tmd rho_final file1 N file2 * ID, group-ID are documented in :doc:`fix ` command * tmd = style name of this fix command -* rho\_final = desired value of rho at the end of the run (distance units) +* rho_final = desired value of rho at the end of the run (distance units) * file1 = filename to read target structure from * N = dump TMD statistics every this many timesteps, 0 = no dump * file2 = filename to write TMD statistics to (only needed if N > 0) @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file @@ -34,18 +32,17 @@ Perform targeted molecular dynamics (TMD) on a group of atoms. A holonomic constraint is used to force the atoms to move towards (or away from) the target configuration. The parameter "rho" is monotonically decreased (or increased) from its initial value to -rho\_final at the end of the run. +rho_final at the end of the run. Rho has distance units and is a measure of the root-mean-squared distance (RMSD) between the current configuration of the atoms in the group and the target coordinates listed in file1. Thus a value of -rho\_final = 0.0 means move the atoms all the way to the final +rho_final = 0.0 means move the atoms all the way to the final structure during the course of the run. The target file1 can be ASCII text or a gzipped text file (detected by a .gz suffix). The format of the target file1 is as follows: - .. parsed-literal:: 0.0 25.0 xlo xhi @@ -61,7 +58,7 @@ the atoms to follow. If image flags are included with the atoms, the 1st 3 lo/hi lines must appear in the file. If image flags are not included, the 1st 3 lines should not appear. The 3 lines contain the simulation box dimensions for the atom coordinates, in the same format -as in a LAMMPS data file (see the :doc:`read\_data ` command). +as in a LAMMPS data file (see the :doc:`read_data ` command). The remaining lines each contain an atom ID and its target x,y,z coordinates. The atom lines (all or none of them) can optionally be @@ -81,10 +78,10 @@ The atoms in the fix tmd group should be integrated (via a fix nve, nvt, npt) along with other atoms in the system. Restarts can be used with a fix tmd command. For example, imagine a -10000 timestep run with a rho\_initial = 11 and a rho\_final = 1. If a +10000 timestep run with a rho_initial = 11 and a rho_final = 1. If a restart file was written after 2000 time steps, then the configuration in the file would have a rho value of 9. A new 8000 time step run -could be performed with the same rho\_final = 1 to complete the +could be performed with the same rho_final = 1 to complete the conformational change at the same transition rate. Note that for restarted runs, the name of the TMD statistics file should be changed to prevent it being overwritten. @@ -92,9 +89,9 @@ to prevent it being overwritten. For more information about TMD, see :ref:`(Schlitter1) ` and :ref:`(Schlitter2) `. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. @@ -107,7 +104,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - All TMD fixes must be listed in the input script after all integrator fixes (nve, nvt, npt) are applied. This ensures that atoms are moved before their positions are corrected to comply with the constraint. @@ -118,34 +114,23 @@ are not multiple competing holonomic constraints applied to the same atoms. To read gzipped target files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. See the :doc:`Build settings ` +-DLAMMPS_GZIP option. See the :doc:`Build settings ` doc page for details. **Related commands:** none **Default:** none - ---------- - .. _Schlitter1: - - **(Schlitter1)** Schlitter, Swegat, Mulders, "Distance-type reaction coordinates for modelling activated processes", J Molecular Modeling, 7, 171-177 (2001). .. _Schlitter2: - - **(Schlitter2)** Schlitter and Klahn, "The free energy of a reaction coordinate at multiple constraints: a concise formulation", Molecular Physics, 101, 3439-3443 (2003). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index b6bc43ecd3d5e6d3171535c4fd520850708a793e..ae759c1b13a33a3653d2069d21edd89fb8b2050c 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -9,19 +9,18 @@ fix ttm/mod command Syntax """""" - .. parsed-literal:: fix ID group-ID ttm seed C_e rho_e kappa_e gamma_p gamma_s v_0 Nx Ny Nz T_infile N T_outfile fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile * ID, group-ID are documented in :doc:`fix ` command -* style = *ttm* or *ttm\_mod* +* style = *ttm* or *ttm_mod* * seed = random number seed to use for white noise (positive integer) * remaining arguments for fix ttm: - + .. parsed-literal:: - + C_e = electronic specific heat (energy/(electron\*temperature) units) rho_e = electronic density (electrons/volume units) kappa_e = electronic thermal conductivity (energy/(time\*distance\*temperature) units) @@ -36,9 +35,9 @@ Syntax T_outfile = filename to write TTM temperatures to (only needed if N > 0) * remaining arguments for fix ttm/mod: - + .. parsed-literal:: - + init_file = file with the parameters to TTM Nx = number of thermal solve grid points in the x-direction (positive integer) Ny = number of thermal solve grid points in the y-direction (positive integer) @@ -47,13 +46,10 @@ Syntax N = dump TTM temperatures every this many timesteps, 0 = no dump T_outfile = filename to write TTM temperatures to (only needed if N > 0) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all ttm 699489 1.0 1.0 10 0.1 0.0 2.0 1 12 1 initialTs 1000 T.out fix 2 all ttm 123456 1.0 1.0 1.0 1.0 1.0 5.0 5 5 5 Te.in 1 Te.out @@ -97,11 +93,11 @@ reservoir, whereas the heat reservoir for fix TTM is finite and represents the local electrons. Third, the TTM fix allows users to specify not just one friction coefficient, but rather two independent friction coefficients: one for the electron-ion interactions -(*gamma\_p*), and one for electron stopping (*gamma\_s*). +(*gamma_p*), and one for electron stopping (*gamma_s*). -When the friction coefficient due to electron stopping, *gamma\_s*, is +When the friction coefficient due to electron stopping, *gamma_s*, is non-zero, electron stopping effects are included for atoms moving -faster than the electron stopping critical velocity, *v\_0*. For +faster than the electron stopping critical velocity, *v_0*. For further details about this algorithm, see :ref:`(Duffy) ` and :ref:`(Rutherford) `. @@ -109,14 +105,17 @@ Energy transport within the electronic subsystem is solved according to the heat diffusion equation with added source terms for heat transfer between the subsystems: -.. image:: Eqs/fix_ttm.jpg - :align: center +.. math:: -where C\_e is the specific heat, rho\_e is the density, kappa\_e is the + C_e \rho_e \frac{\partial T_e}{\partial t} = + \bigtriangledown (\kappa_e \bigtriangledown T_e) - + g_p (T_e - T_a) + g_s T_a' + +where C_e is the specific heat, rho_e is the density, kappa_e is the thermal conductivity, T is temperature, the "e" and "a" subscripts -represent electronic and atomic subsystems respectively, g\_p is the -coupling constant for the electron-ion interaction, and g\_s is the -electron stopping coupling parameter. C\_e, rho\_e, and kappa\_e are +represent electronic and atomic subsystems respectively, g_p is the +coupling constant for the electron-ion interaction, and g_s is the +electron stopping coupling parameter. C_e, rho_e, and kappa_e are specified as parameters to the fix. The other quantities are derived. The form of the heat diffusion equation used here is almost the same as that in equation 6 of :ref:`(Duffy) `, with the exception that the @@ -136,15 +135,14 @@ approach of :ref:`(Rutherford) ` where the atomic subsystem was embedded within a larger continuum representation of the electronic subsystem. -The initial electronic temperature input file, *T\_infile*, is a text +The initial electronic temperature input file, *T_infile*, is a text file LAMMPS reads in with no header and with four numeric columns (ix,iy,iz,Temp) and with a number of rows equal to the number of user-specified grid points (Nx by Ny by Nz). The ix,iy,iz are node indices from 0 to nxnodes-1, etc. For example, the initial electronic -temperatures on a 1 by 2 by 3 grid could be specified in a *T\_infile* +temperatures on a 1 by 2 by 3 grid could be specified in a *T_infile* as follows: - .. parsed-literal:: 0 0 0 1.0 @@ -159,7 +157,7 @@ where the electronic temperatures along the y=0 plane have been set to to 2.0. The order of lines in this file is no important. If all the nodal values are not specified, LAMMPS will generate an error. -The temperature output file, *T\_oufile*, is created and written by +The temperature output file, *T_oufile*, is created and written by this fix. Temperatures for both the electronic and atomic subsystems at every node and every N timesteps are output. If N is specified as zero, no output is generated, and no output filename is needed. The @@ -185,33 +183,35 @@ temperature controlled by another fix - e.g. :doc:`fix nvt ` or you should insure that this grid is not too large, else your simulation could incur high memory and communication costs. - ---------- - **Additional details for fix ttm/mod** Fix ttm/mod uses the heat diffusion equation with possible external heat sources (e.g. laser heating in ablation simulations): -.. image:: Eqs/fix_ttm_mod.jpg - :align: center +.. math:: + + C_e \rho_e \frac{\partial T_e}{\partial t} = + \bigtriangledown (\kappa_e \bigtriangledown T_e) - + g_p (T_e - T_a) + g_s T_a' + \theta (x-x_{surface})I_0 \exp(-x/l_{skin}) -where theta is the Heaviside step function, I\_0 is the (absorbed) -laser pulse intensity for ablation simulations, l\_skin is the depth +where theta is the Heaviside step function, I_0 is the (absorbed) +laser pulse intensity for ablation simulations, l_skin is the depth of skin-layer, and all other designations have the same meaning as in the former equation. The duration of the pulse is set by the parameter -*tau* in the *init\_file*. +*tau* in the *init_file*. -Fix ttm/mod also allows users to specify the dependencies of C\_e and -kappa\_e on the electronic temperature. The specific heat is expressed +Fix ttm/mod also allows users to specify the dependencies of C_e and +kappa_e on the electronic temperature. The specific heat is expressed as -.. image:: Eqs/fix_ttm_ce.jpg - :align: center +.. math:: -where *X* = T\_e/1000, and the thermal conductivity is defined as -kappa\_e = D\_e\*rho\_e\*C\_e, where D\_e is the thermal diffusion + C_e = C_0 + (a_0 + a_1 X + a_2 X^2 + a_3 X^3 + a_4 X^4) \exp (-(AX)^2) + +where *X* = T_e/1000, and the thermal conductivity is defined as +kappa_e = D_e\*rho_e\*C_e, where D_e is the thermal diffusion coefficient. Electronic pressure effects are included in the TTM model to account @@ -219,40 +219,41 @@ for the blast force acting on ions because of electronic pressure gradient (see :ref:`(Chen) `, :ref:`(Norman) `). The total force acting on an ion is: -.. image:: Eqs/fix_ttm_blast.jpg - :align: center +.. math:: + + {\vec F}_i = - \partial U / \partial {\vec r}_i + {\vec F}_{langevin} - \nabla P_e/n_{ion} -where F\_langevin is a force from Langevin thermostat simulating -electron-phonon coupling, and nabla P\_e/n\_ion is the electron blast +where F_langevin is a force from Langevin thermostat simulating +electron-phonon coupling, and nabla P_e/n_ion is the electron blast force. -The electronic pressure is taken to be P\_e = B\*rho\_e\*C\_e\*T\_e +The electronic pressure is taken to be P_e = B\*rho_e\*C_e\*T_e The current fix ttm/mod implementation allows TTM simulations with a vacuum. The vacuum region is defined as the grid cells with zero electronic temperature. The numerical scheme does not allow energy exchange with such cells. Since the material can expand to previously unoccupied region in some simulations, the vacuum border can be -allowed to move. It is controlled by the *surface\_movement* parameter -in the *init\_file*. If it is set to 1, then "vacuum" cells can be -changed to "electron-filled" cells with the temperature *T\_e_min* if +allowed to move. It is controlled by the *surface_movement* parameter +in the *init_file*. If it is set to 1, then "vacuum" cells can be +changed to "electron-filled" cells with the temperature *T_e_min* if atoms move into them (currently only implemented for the case of 1-dimensional motion of flat surface normal to the X axis). The -initial borders of vacuum can be set in the *init\_file* via *lsurface* +initial borders of vacuum can be set in the *init_file* via *lsurface* and *rsurface* parameters. In this case, electronic pressure gradient is calculated as -.. image:: Eqs/fix_ttm_blast1.jpg - :align: center +.. math:: + + \nabla_x P_e = \left[\frac{C_e{}T_e(x)\lambda}{(x+\lambda)^2} + \frac{x}{x+\lambda}\frac{(C_e{}T_e)_{x+\Delta x}-(C_e{}T_e)_{x}}{\Delta x} \right] where lambda is the electron mean free path (see :ref:`(Norman) `, :ref:`(Pisarev) `) -The fix ttm/mod parameter file *init\_file* has the following syntax/ +The fix ttm/mod parameter file *init_file* has the following syntax/ Every line with the odd number is considered as a comment and ignored. The lines with the even numbers are treated as follows: - .. parsed-literal:: a_0, energy/(temperature\*electron) units @@ -278,14 +279,12 @@ ignored. The lines with the even numbers are treated as follows: surface_movement: 0 to disable tracking of surface motion, 1 to enable T_e_min, temperature units - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** These fixes write the state of the electronic subsystem and the energy -exchange between the subsystems to :doc:`binary restart files `. See the :doc:`read\_restart ` command +exchange between the subsystems to :doc:`binary restart files `. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. @@ -296,7 +295,7 @@ fix, where the simulation continues on the same as if no restart had taken place. However, in a statistical sense, a restarted simulation should produce the same behavior. -None of the :doc:`fix\_modify ` options are relevant to these +None of the :doc:`fix_modify ` options are relevant to these fixes. Both fixes compute 2 output quantities stored in a vector of length 2, @@ -321,7 +320,6 @@ of the :doc:`run ` command. The fixes are not invoked during Restrictions """""""""""" - Fix *ttm* is part of the MISC package. It is only enabled if LAMMPS was built with that package. Fix *ttm/mod* is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. @@ -338,46 +336,29 @@ Related commands **Default:** none - ---------- - .. _Duffy: - - **(Duffy)** D M Duffy and A M Rutherford, J. Phys.: Condens. Matter, 19, 016207-016218 (2007). .. _Rutherford: - - **(Rutherford)** A M Rutherford and D M Duffy, J. Phys.: Condens. Matter, 19, 496201-496210 (2007). .. _Chen: - - **(Chen)** J Chen, D Tzou and J Beraun, Int. J. Heat Mass Transfer, 49, 307-316 (2006). .. _Norman: - - **(Norman)** G E Norman, S V Starikov, V V Stegailov et al., Contrib. Plasma Phys., 53, 129-139 (2013). .. _Pisarev: - - **(Pisarev)** V V Pisarev and S V Starikov, J. Phys.: Condens. Matter, 26, 475401 (2014). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_tune_kspace.rst b/doc/src/fix_tune_kspace.rst index 1dc6c2befd221e8222f23d9fb9c60219bf5e19df..66a3fef02474233bd3d8dec4574ff70d23b285d9 100644 --- a/doc/src/fix_tune_kspace.rst +++ b/doc/src/fix_tune_kspace.rst @@ -6,7 +6,6 @@ fix tune/kspace command Syntax """""" - .. parsed-literal:: fix ID group-ID tune/kspace N @@ -15,12 +14,10 @@ Syntax * tune/kspace = style name of this fix command * N = invoke this fix every N steps - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all tune/kspace 100 @@ -70,11 +67,11 @@ to use this fix only to discover the optimal parameter set for a given setup that can then be used on subsequent production runs. This fix starts with kspace parameters that are set by the user with the -:doc:`kspace\_style ` and :doc:`kspace\_modify ` +:doc:`kspace_style ` and :doc:`kspace_modify ` commands. The prescribed accuracy will be maintained by this fix throughout the simulation. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. No parameter of this fix can be used with the *start/stop* keywords of @@ -83,11 +80,10 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the KSPACE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -Do not set "neigh\_modify once yes" or else this fix will never be +Do not set "neigh_modify once yes" or else this fix will never be called. Reneighboring is required. This fix is not compatible with a hybrid pair style, long-range dispersion, @@ -96,14 +92,9 @@ TIP4P water support, or long-range point dipole support. Related commands """""""""""""""" -:doc:`kspace\_style `, :doc:`boundary ` -:doc:`kspace\_modify `, :doc:`pair\_style lj/cut/coul/long `, :doc:`pair\_style lj/charmm/coul/long `, :doc:`pair\_style lj/long `, :doc:`pair\_style lj/long/coul/long `, -:doc:`pair\_style buck/coul/long ` +:doc:`kspace_style `, :doc:`boundary ` +:doc:`kspace_modify `, :doc:`pair_style lj/cut/coul/long `, :doc:`pair_style lj/charmm/coul/long `, :doc:`pair_style lj/long `, :doc:`pair_style lj/long/coul/long `, +:doc:`pair_style buck/coul/long ` Default """"""" - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_vector.rst b/doc/src/fix_vector.rst index 3d7fb85274fb8eaca9ce52970797c946258b00cd..81922dea8a050788734a250acb08ba2781471974 100644 --- a/doc/src/fix_vector.rst +++ b/doc/src/fix_vector.rst @@ -6,7 +6,6 @@ fix vector command Syntax """""" - .. parsed-literal:: fix ID group-ID vector Nevery value1 value2 ... @@ -15,10 +14,10 @@ Syntax * vector = style name of this fix command * Nevery = use input values every this many timesteps * one or more input values can be listed -* value = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = global scalar calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID f_ID = global scalar calculated by a fix with ID @@ -26,13 +25,10 @@ Syntax v_name = value calculated by an equal-style variable with name v_name[I] = Ith component of vector-style variable with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all vector 100 c_myTemp fix 1 all vector 5 c_myTemp v_integral @@ -52,12 +48,11 @@ time-integrated using the :doc:`variable trap() ` function. For example the velocity auto-correlation function (VACF) can be time-integrated, to yield a diffusion coefficient, as follows: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 2 all vacf fix 5 all vector 1 c_2[4] - variable diff equal dt\*trap(f_5) + variable diff equal dt*trap(f_5) thermo_style custom step v_diff The group specified with this command is ignored. However, note that @@ -89,10 +84,8 @@ command with a timestep value that encompasses all the runs. This is so that the vector or array stored by this fix can be allocated to a sufficient size. - ---------- - If a value begins with "c\_", a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the compute is used. If a @@ -128,13 +121,11 @@ keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to be stored by fix vector. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix produces a global vector or global array which can be @@ -174,8 +165,3 @@ Related commands :doc:`compute `, :doc:`variable ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_viscosity.rst b/doc/src/fix_viscosity.rst index 637551b1e43729c11438de01609ffd5c3becf23e..e31cbf2e458fbc0fd1a6efc5123edfed5202720c 100644 --- a/doc/src/fix_viscosity.rst +++ b/doc/src/fix_viscosity.rst @@ -6,7 +6,6 @@ fix viscosity command Syntax """""" - .. parsed-literal:: fix ID group-ID viscosity N vdim pdim Nbin keyword value ... @@ -19,19 +18,16 @@ Syntax * Nbin = # of layers in pdim direction (must be even number) * zero or more keyword/value pairs may be appended * keyword = *swap* or *target* - + .. parsed-literal:: - + *swap* value = Nswap = number of swaps to perform every N steps *vtarget* value = V or INF = target velocity of swap partners (velocity units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all viscosity 100 x z 20 fix 1 all viscosity 50 x z 20 swap 2 vtarget 1.5 @@ -66,8 +62,7 @@ directions. Over time, this induces a shear velocity profile in the system which can be measured using commands such as the following, which writes the profile to the file tmp.profile: - -.. parsed-literal:: +.. code-block:: LAMMPS compute layers all chunk/atom bin/1d z lower 0.05 units reduced fix f1 all ave/chunk 100 10 1000 layers vx file tmp.profile @@ -118,9 +113,9 @@ system using a :doc:`PPPM solver ` since PPPM does not currently support non-orthogonal boxes. Using fix viscosity keeps the box orthogonal; thus it does not suffer from this limitation. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global scalar which can be accessed by various @@ -138,7 +133,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -168,24 +162,13 @@ Default The option defaults are swap = 1 and vtarget = INF. - ---------- - .. _Muller-Plathe2: - - **(Muller-Plathe)** Muller-Plathe, Phys Rev E, 59, 4894-4898 (1999). .. _Maginn: - - **(Maginn)** Kelkar, Rafferty, Maginn, Siepmann, Fluid Phase Equilibria, 260, 218-231 (2007). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_viscous.rst b/doc/src/fix_viscous.rst index 247600db93692eb65022d31a99ba882f7fed79c4..88d619e56ce331399db5e5cbd67e003b5aee053d 100644 --- a/doc/src/fix_viscous.rst +++ b/doc/src/fix_viscous.rst @@ -6,7 +6,6 @@ fix viscous command Syntax """""" - .. parsed-literal:: fix ID group-ID viscous gamma keyword values ... @@ -15,21 +14,18 @@ Syntax * viscous = style name of this fix command * gamma = damping coefficient (force/velocity units) * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *scale* *scale* values = type ratio type = atom type (1-N) ratio = factor to scale the damping coefficient by - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 flow viscous 0.1 fix 1 damp viscous 0.5 scale 3 2.5 @@ -47,11 +43,11 @@ energy to the system), it has the effect of slowly (or rapidly) freezing the system; hence it can also be used as a simple energy minimization technique. -The damping force F is given by F = - gamma \* velocity. The larger -the coefficient, the faster the kinetic energy is reduced. If the -optional keyword *scale* is used, gamma can scaled up or down by the -specified factor for atoms of that type. It can be used multiple -times to adjust gamma for several atom types. +The damping force :math:`F_i` is given by :math:`F_i = - \gamma v_i`. +The larger the coefficient, the faster the kinetic energy is reduced. +If the optional keyword *scale* is used, :math:`\gamma` can scaled up or +down by the specified factor for atoms of that type. It can be used +multiple times to adjust :math:`\gamma` for several atom types. .. note:: @@ -60,49 +56,51 @@ times to adjust gamma for several atom types. :doc:`units ` options like "real" or "metal" that are not self-consistent. -In a Brownian dynamics context, gamma = Kb T / D, where Kb = -Boltzmann's constant, T = temperature, and D = particle diffusion -coefficient. D can be written as Kb T / (3 pi eta d), where eta = -dynamic viscosity of the frictional fluid and d = diameter of -particle. This means gamma = 3 pi eta d, and thus is proportional to -the viscosity of the fluid and the particle diameter. +In a Brownian dynamics context, :math:`\gamma = \frac{k_B T}{D}`, where +:math:`k_B =` Boltzmann's constant, *T* = temperature, and *D* = particle +diffusion coefficient. *D* can be written as :math:`\frac{k_B T}{3 \pi +\eta d}`, where :math:`\eta =` dynamic viscosity of the frictional fluid +and d = diameter of particle. This means :math:`\gamma = 3 \pi \eta d`, +and thus is proportional to the viscosity of the fluid and the particle +diameter. In the current implementation, rather than have the user specify a -viscosity, gamma is specified directly in force/velocity units. If -needed, gamma can be adjusted for atoms of different sizes -(i.e. sigma) by using the *scale* keyword. +viscosity, :math:`\gamma` is specified directly in force/velocity units. +If needed, :math:`\gamma` can be adjusted for atoms of different sizes +(i.e. :math:`\sigma`) by using the *scale* keyword. Note that Brownian dynamics models also typically include a randomized -force term to thermostat the system at a chosen temperature. The :doc:`fix langevin ` command does this. It has the same +force term to thermostat the system at a chosen temperature. The +:doc:`fix langevin ` command does this. It has the same viscous damping term as fix viscous and adds a random force to each -atom. The random force term is proportional to the sqrt of the chosen -thermostatting temperature. Thus if you use fix langevin with a -target T = 0, its random force term is zero, and you are essentially -performing the same operation as fix viscous. Also note that the -gamma of fix viscous is related to the damping parameter of :doc:`fix langevin `, however the former is specified in units -of force/velocity and the latter in units of time, so that it can more -easily be used as a thermostat. - +atom. The random force term is proportional to the square root of the +chosen thermostatting temperature. Thus if you use fix langevin with a +target :math:`T = 0`, its random force term is zero, and you are +essentially performing the same operation as fix viscous. Also note +that the gamma of fix viscous is related to the damping parameter of +:doc:`fix langevin `, however the former is specified in +units of force/velocity and the latter in units of time, so that it can +more easily be used as a thermostat. ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options -are relevant to this fix. No global or per-atom quantities are stored -by this fix for access by various :doc:`output commands `. +No information about this fix is written to :doc:`binary restart files +`. None of the :doc:`fix_modify ` options are +relevant to this fix. No global or per-atom quantities are stored by +this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is modifying forces. Default is the outermost level. The forces due to this fix are imposed during an energy minimization, invoked by the :doc:`minimize ` command. This fix should only be used with damped dynamics minimizers that allow for -non-conservative forces. See the :doc:`min\_style ` command +non-conservative forces. See the :doc:`min_style ` command for details. Restrictions @@ -115,8 +113,3 @@ Related commands :doc:`fix langevin ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index b31ee4a663e9591a05b4e46ab03a93d280400f30..a56bca3c45b13cf777eb98bc31c6ed885d4ed0b3 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -24,7 +24,6 @@ fix wall/morse command Syntax """""" - .. parsed-literal:: fix ID group-ID style face args ... keyword value ... @@ -34,9 +33,9 @@ Syntax * one or more face/arg pairs may be appended * face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* * args for styles *lj93* or *lj126* or *lj1043* or *colloid* or *harmonic* - + .. parsed-literal:: - + args = coord epsilon sigma cutoff coord = position of wall = EDGE or constant or variable EDGE = current lo or hi edge of simulation box @@ -49,9 +48,9 @@ Syntax cutoff = distance from wall at which wall-particle interaction is cut off (distance units) * args for style *morse* - + .. parsed-literal:: - + args = coord D_0 alpha r_0 cutoff coord = position of wall = EDGE or constant or variable EDGE = current lo or hi edge of simulation box @@ -67,9 +66,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* or *fld* - + .. parsed-literal:: - + *units* value = *lattice* or *box* *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units @@ -80,13 +79,10 @@ Syntax *yes* = allow periodic boundary in a wall dimension *no* = require non-perioidic boundaries in any wall dimension - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix wallhi all wall/lj93 xlo -1.0 1.0 1.0 2.5 units box fix wallhi all wall/lj93 xhi EDGE 1.0 1.0 2.5 @@ -104,38 +100,55 @@ wall-particle interactions depends on the style. For style *wall/lj93*\ , the energy E is given by the 9/3 potential: -.. image:: Eqs/fix_wall_lj93.jpg - :align: center +.. math:: + + E = \epsilon \left[ \frac{2}{15} \left(\frac{\sigma}{r}\right)^{9} - + \left(\frac{\sigma}{r}\right)^3 \right] + \qquad r < r_c For style *wall/lj126*\ , the energy E is given by the 12/6 potential: -.. image:: Eqs/pair_lj.jpg - :align: center +.. math:: + + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c For style *wall/lj1043*\ , the energy E is given by the 10/4/3 potential: -.. image:: Eqs/fix_wall_lj1043.jpg - :align: center +.. math:: + + E = 2 \pi \epsilon \left[ \frac{2}{5} \left(\frac{\sigma}{r}\right)^{10} - + \left(\frac{\sigma}{r}\right)^4 - + \frac{\sqrt(2)\sigma^3}{3\left(r+\left(0.61/\sqrt(2)\right)\sigma\right)^3}\right] + \qquad r < r_c For style *wall/colloid*\ , the energy E is given by an integrated form -of the :doc:`pair\_style colloid ` potential: +of the :doc:`pair_style colloid ` potential: -.. image:: Eqs/fix_wall_colloid.jpg - :align: center +.. math:: + + E = & \epsilon \left[ \frac{\sigma^{6}}{7560} + \left(\frac{6R-D}{D^{7}} + \frac{D+8R}{(D+2R)^{7}} \right) \right. \\ + & \left. - \frac{1}{6} \left(\frac{2R(D+R) + D(D+2R) + \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c For style *wall/harmonic*\ , the energy E is given by a harmonic spring potential: -.. image:: Eqs/fix_wall_harmonic.jpg - :align: center +.. math:: + + E = \epsilon \quad (r - r_c)^2 \qquad r < r_c For style *wall/morse*\ , the energy E is given by a Morse potential: -.. image:: Eqs/pair_morse.jpg - :align: center +.. math:: + + E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + \qquad r < r_c In all cases, *r* is the distance from the particle to the wall at -position *coord*\ , and Rc is the *cutoff* distance at which the +position *coord*\ , and :math:`r_c` is the *cutoff* distance at which the particle and wall no longer interact. The energy of the wall potential is shifted so that the wall-particle interaction energy is 0.0 at the cutoff distance. @@ -152,20 +165,20 @@ EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. -If the wall position is a variable, it should be specified as v\_name, +If the wall position is a variable, it should be specified as v_name, where name is an :doc:`equal-style variable ` name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include -:doc:`thermo\_style ` command keywords for the simulation +:doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent wall position. See examples below. For the *wall/lj93* and *wall/lj126* and *wall/lj1043* styles, -*epsilon* and *sigma* are the usual Lennard-Jones parameters, which +:math:`\epsilon` and :math:`\sigma` are the usual Lennard-Jones parameters, which determine the strength and size of the particle as it interacts with -the wall. Epsilon has energy units. Note that this *epsilon* and -*sigma* may be different than any *epsilon* or *sigma* values defined +the wall. Epsilon has energy units. Note that this :math:`\epsilon` and +:math:`\sigma` may be different than any :math:`\epsilon` or :math:`\sigma` values defined for a pair style that computes particle-particle interactions. The *wall/lj93* interaction is derived by integrating over a 3d @@ -174,46 +187,46 @@ interaction is effectively a harder, more repulsive wall interaction. The *wall/lj1043* interaction is yet a different form of wall interaction, described in Magda et al in :ref:`(Magda) `. -For the *wall/colloid* style, *R* is the radius of the colloid -particle, *D* is the distance from the surface of the colloid particle -to the wall (r-R), and *sigma* is the size of a constituent LJ -particle inside the colloid particle and wall. Note that the cutoff -distance Rc in this case is the distance from the colloid particle -center to the wall. The prefactor *epsilon* can be thought of as an -effective Hamaker constant with energy units for the strength of the -colloid-wall interaction. More specifically, the *epsilon* pre-factor -= 4 \* pi\^2 \* rho\_wall \* rho\_colloid \* epsilon \* sigma\^6, where epsilon -and sigma are the LJ parameters for the constituent LJ -particles. Rho\_wall and rho\_colloid are the number density of the -constituent particles, in the wall and colloid respectively, in units -of 1/volume. +For the *wall/colloid* style, *R* is the radius of the colloid particle, +*D* is the distance from the surface of the colloid particle to the wall +(r-R), and :math:`\sigma` is the size of a constituent LJ particle +inside the colloid particle and wall. Note that the cutoff distance Rc +in this case is the distance from the colloid particle center to the +wall. The prefactor :math:`\epsilon` can be thought of as an effective +Hamaker constant with energy units for the strength of the colloid-wall +interaction. More specifically, the :math:`\epsilon` pre-factor is +:math:`4\pi^2 \rho_{wall} \rho_{colloid} \epsilon \sigma^6`, where +:math:`\epsilon` and :math:`\sigma` are the LJ parameters for the +constituent LJ particles. :math:`\rho_{wall}` and :math:`\rho_{colloid}` +are the number density of the constituent particles, in the wall and +colloid respectively, in units of 1/volume. The *wall/colloid* interaction is derived by integrating over -constituent LJ particles of size *sigma* within the colloid particle -and a 3d half-lattice of Lennard-Jones 12/6 particles of size *sigma* +constituent LJ particles of size :math:`\sigma` within the colloid particle +and a 3d half-lattice of Lennard-Jones 12/6 particles of size :math:`\sigma` in the wall. As mentioned in the preceding paragraph, the density of particles in the wall and colloid can be different, as specified by -the *epsilon* pre-factor. +the :math:`\epsilon` pre-factor. -For the *wall/harmonic* style, *epsilon* is effectively the spring +For the *wall/harmonic* style, :math:`\epsilon` is effectively the spring constant K, and has units (energy/distance\^2). The input parameter -*sigma* is ignored. The minimum energy position of the harmonic +:math:`\sigma` is ignored. The minimum energy position of the harmonic spring is at the *cutoff*\ . This is a repulsive-only spring since the interaction is truncated at the *cutoff* For the *wall/morse* style, the three parameters are in this order: -*D\_0* the depth of the potential, *alpha* the width parameter, and -*r\_0* the location of the minimum. *D\_0* has energy units, *alpha* -inverse distance units, and *r\_0* distance units. +:math:`D_0` the depth of the potential, :math:`\alpha` the width parameter, and +:math:`r_0` the location of the minimum. :math:`D_0` has energy units, :math:`\alpha` +inverse distance units, and :math:`r_0` distance units. -For any wall, the *epsilon* and/or *sigma* and/or *alpha* parameter can +For any wall, the :math:`\epsilon` and/or :math:`\sigma` and/or :math:`\alpha` parameter can be specified as an :doc:`equal-style variable `, in which case it should be -specified as v\_name, where name is the variable name. As with a +specified as v_name, where name is the variable name. As with a variable wall position, the variable is evaluated each timestep and the result becomes the current epsilon or sigma of the wall. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent wall interaction. @@ -230,7 +243,7 @@ time. Thus it is easy to specify a time-dependent wall interaction. the finite-size particles of radius R must be a distance larger than R from the wall position *coord*\ . The *harmonic* style is a softer potential and does not blow up as r -> 0, but you must use a large - enough *epsilon* that particles always reamin on the correct side of + enough :math:`\epsilon` that particles always reamin on the correct side of the wall (r > 0). The *units* keyword determines the meaning of the distance units used @@ -247,7 +260,7 @@ define the lattice spacings. The *fld* keyword can be used with a *yes* setting to invoke the wall constraint before pairwise interactions are computed. This allows an -implicit FLD model using :doc:`pair\_style lubricateU ` +implicit FLD model using :doc:`pair_style lubricateU ` to include the wall force in its calculations. If the setting is *no*\ , wall forces are imposed after pairwise interactions, in the usual manner. @@ -265,17 +278,14 @@ then particles may interact with both the wall and with periodic images on the other side of the box, which is probably not what you want. - ---------- - Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style :doc:`variables `. The wall interaction parameters (epsilon, sigma) could be varied with additional variable definitions. - -.. parsed-literal:: +.. code-block:: LAMMPS variable ramp equal ramp(0,10) fix 1 all wall xlo v_ramp 1.0 1.0 2.5 @@ -289,47 +299,43 @@ sigma) could be varied with additional variable definitions. variable wiggle equal cwiggle(0.0,5.0,3.0) fix 1 all wall xlo v_wiggle 1.0 1.0 2.5 -The ramp(lo,hi) function adjusts the wall position linearly from lo to -hi over the course of a run. The vdisplace(c0,velocity) function does -something similar using the equation position = c0 + velocity\*delta, -where delta is the elapsed time. - -The swiggle(c0,A,period) function causes the wall position to -oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: +The *ramp(lo,hi)* function adjusts the wall position linearly from *lo* to +*hi* over the course of a run. The *vdisplace(c0,velocity)* function does +something similar using the equation *position = c0 + velocity\*delta*\ , +where *delta* is the elapsed time. +The *swiggle(c0,A,period)* function causes the wall position to +oscillate sinusoidally according to this equation, where *omega = 2 PI +/ period*\ : .. parsed-literal:: position = c0 + A sin(omega\*delta) -The cwiggle(c0,A,period) function causes the wall position to +The *cwiggle(c0,A,period)* function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler perturbation on the particles: - .. parsed-literal:: position = c0 + A (1 - cos(omega\*delta)) - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy of interaction between atoms and each wall to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the interaction between atoms and each wall to the system's virial as part of :doc:`thermodynamic output `. The default is *virial no* -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -353,13 +359,11 @@ invoked by the :doc:`minimize ` command. If you want the atom/wall interaction energy to be included in the total potential energy of the system (the quantity being - minimized), you MUST enable the :doc:`fix\_modify ` *energy* + minimized), you MUST enable the :doc:`fix_modify ` *energy* option for this fix. - ---------- - 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 @@ -378,10 +382,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" none @@ -398,18 +400,9 @@ Default The option defaults units = lattice, fld = no, and pbc = no. - ---------- - .. _Magda: - - **(Magda)** Magda, Tirrell, Davis, J Chem Phys, 83, 1888-1901 (1985); erratum in JCP 84, 2901 (1986). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall_body_polygon.rst b/doc/src/fix_wall_body_polygon.rst index 840338db5c779d1299fa5359df7f9ab2eaf9211d..a93d71369f38765249bf081653a8d622ed9297a5 100644 --- a/doc/src/fix_wall_body_polygon.rst +++ b/doc/src/fix_wall_body_polygon.rst @@ -6,21 +6,20 @@ fix wall/body/polygon command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/body/polygon k_n c_n c_t wallstyle args keyword values ... * ID, group-ID are documented in :doc:`fix ` command * wall/body/polygon = style name of this fix command -* k\_n = normal repulsion strength (force/distance or pressure units) -* c\_n = normal damping coefficient (force/distance or pressure units) -* c\_t = tangential damping coefficient (force/distance or pressure units) +* k_n = normal repulsion strength (force/distance or pressure units) +* c_n = normal damping coefficient (force/distance or pressure units) +* c_t = tangential damping coefficient (force/distance or pressure units) * wallstyle = *xplane* or *yplane* or *zplane* or *zcylinder* * args = list of arguments for a particular style - + .. parsed-literal:: - + *xplane* or *yplane* args = lo hi lo,hi = position of lower and upper plane (distance units), either can be NULL) *zcylinder* args = radius @@ -28,20 +27,20 @@ Syntax * zero or more keyword/value pairs may be appended to args * keyword = *wiggle* - + .. parsed-literal:: - + *wiggle* values = dim amplitude period dim = *x* or *y* or *z* amplitude = size of oscillation (distance units) period = time of oscillation (time units) - - Examples """""""" -fix 1 all wall/body/polygon 1000.0 20.0 5.0 xplane -10.0 10.0 +.. code-block:: LAMMPS + + fix 1 all wall/body/polygon 1000.0 20.0 5.0 xplane -10.0 10.0 Description """"""""""" @@ -55,8 +54,8 @@ particles themselves, which is similar to a Hookean potential. See the :doc:`Howto body ` doc page for more details on using body particles. -The parameters *k\_n*, *c\_n*, *c\_t* have the same meaning and units as -those specified with the :doc:`pair\_style body/rounded/polygon ` command. +The parameters *k_n*, *c_n*, *c_t* have the same meaning and units as +those specified with the :doc:`pair_style body/rounded/polygon ` command. The *wallstyle* can be planar or cylindrical. The 2 planar options specify a pair of walls in a dimension. Wall positions are given by @@ -79,7 +78,6 @@ the z dimension. Each timestep, the position of a wiggled wall in the appropriate *dim* is set according to this equation: - .. parsed-literal:: position = coord + A - A cos (omega \* delta) @@ -89,9 +87,9 @@ the *amplitude*\ , *omega* is 2 PI / *period*\ , and *delta* is the time elapsed since the fix was specified. The velocity of the wall is set to the derivative of this expression. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the @@ -100,7 +98,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -109,11 +106,6 @@ Any dimension (xy) that has a wall must be non-periodic. Related commands """""""""""""""" -:doc:`atom\_style body `, :doc:`pair\_style body/rounded/polygon ` +:doc:`atom_style body `, :doc:`pair_style body/rounded/polygon ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall_body_polyhedron.rst b/doc/src/fix_wall_body_polyhedron.rst index 6c3e3f5e6dbbd817e6107210f3a49c30fd26f139..35be8e925931ea381cba1eb9903416729ad66134 100644 --- a/doc/src/fix_wall_body_polyhedron.rst +++ b/doc/src/fix_wall_body_polyhedron.rst @@ -6,42 +6,40 @@ fix wall/body/polyhedron command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/body/polyhedron k_n c_n c_t wallstyle args keyword values ... * ID, group-ID are documented in :doc:`fix ` command * wall/body/polyhedron = style name of this fix command -* k\_n = normal repulsion strength (force/distance units or pressure units - see discussion below) -* c\_n = normal damping coefficient (force/distance units or pressure units - see discussion below) -* c\_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) -* wallstyle = *xplane* or *yplane* or *zplane* or *zcylinder* +* k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) +* c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) +* c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) +* wallstyle = *xplane* or *yplane* or *zplane* * args = list of arguments for a particular style - + .. parsed-literal:: - - *xplane* or *yplane* args = lo hi + + *xplane* or *yplane* or *zplane* args = lo hi lo,hi = position of lower and upper plane (distance units), either can be NULL) - *zcylinder* args = radius - radius = cylinder radius (distance units) + * zero or more keyword/value pairs may be appended to args * keyword = *wiggle* - + .. parsed-literal:: - + *wiggle* values = dim amplitude period dim = *x* or *y* or *z* amplitude = size of oscillation (distance units) period = time of oscillation (time units) - - Examples """""""" -fix 1 all wall/body/polyhedron 1000.0 20.0 5.0 xplane -10.0 10.0 +.. code-block:: LAMMPS + + fix 1 all wall/body/polyhedron 1000.0 20.0 5.0 xplane -10.0 10.0 Description """"""""""" @@ -55,14 +53,13 @@ particles themselves, which is similar to a Hookean potential. See the :doc:`Howto body ` doc page for more details on using body particles. -The parameters *k\_n*, *c\_n*, *c\_t* have the same meaning and units as -those specified with the :doc:`pair\_style body/rounded/polyhedron ` command. +The parameters *k_n*, *c_n*, *c_t* have the same meaning and units as +those specified with the :doc:`pair_style body/rounded/polyhedron ` command. The *wallstyle* can be planar or cylindrical. The 3 planar options specify a pair of walls in a dimension. Wall positions are given by *lo* and *hi*\ . Either of the values can be specified as NULL if a -single wall is desired. For a *zcylinder* wallstyle, the cylinder's -axis is at x = y = 0.0, and the radius of the cylinder is specified. +single wall is desired. Optionally, the wall can be moving, if the *wiggle* keyword is appended. @@ -72,13 +69,11 @@ particles. The arguments to the *wiggle* keyword specify a dimension for the motion, as well as it's *amplitude* and *period*\ . Note that if the dimension is in the plane of the wall, this is effectively a shearing motion. If the dimension is perpendicular to the wall, it is -more of a shaking motion. A *zcylinder* wall can only be wiggled in -the z dimension. +more of a shaking motion. Each timestep, the position of a wiggled wall in the appropriate *dim* is set according to this equation: - .. parsed-literal:: position = coord + A - A cos (omega \* delta) @@ -88,9 +83,9 @@ the *amplitude*\ , *omega* is 2 PI / *period*\ , and *delta* is the time elapsed since the fix was specified. The velocity of the wall is set to the derivative of this expression. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the @@ -99,7 +94,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -108,11 +102,6 @@ Any dimension (xyz) that has a wall must be non-periodic. Related commands """""""""""""""" -:doc:`atom\_style body `, :doc:`pair\_style body/rounded/polyhedron ` +:doc:`atom_style body `, :doc:`pair_style body/rounded/polyhedron ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index 559f1958d99847f706b741fad342dbcafe098b61..79f96765f8b5a89ecfcd7e1f031d44e480b2a8d9 100644 --- a/doc/src/fix_wall_ees.rst +++ b/doc/src/fix_wall_ees.rst @@ -9,16 +9,15 @@ fix wall/region/ees command Syntax """""" - .. parsed-literal:: fix ID group-ID style args * ID, group-ID are documented in :doc:`fix ` command * style = *wall/ees* or *wall/region/ees* - + .. parsed-literal:: - + args for style *wall/ees*\ : one or more *face parameters* groups may be appended face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* parameters = coord epsilon sigma cutoff @@ -32,22 +31,18 @@ Syntax sigma can be a variable (see below) cutoff = distance from wall at which wall-particle interaction is cut off (distance units) - .. parsed-literal:: - + args for style *wall/region/ees*\ : *region-ID* *epsilon* *sigma* *cutoff* region-ID = region whose boundary will act as wall epsilon = strength factor for wall-particle interaction (energy or energy/distance\^2 units) sigma = size factor for wall-particle interaction (distance units) cutoff = distance from wall at which wall-particle interaction is cut off (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix wallhi all wall/ees xlo -1.0 1.0 1.0 2.5 units box fix wallhi all wall/ees xhi EDGE 1.0 1.0 2.5 @@ -65,15 +60,15 @@ group by generating a force on the atom in a direction perpendicular to the wall and a torque parallel with the wall. The energy of wall-particle interactions E is given by: -.. image:: Eqs/fix_wall_ees.jpg - :align: center +.. math:: + + E = \epsilon \left[ \frac{2 \sigma_{LJ}^{12} \left(7 r^5+14 r^3 \sigma_{n}^2+3 r \sigma_{n}^4\right) }{945 \left(r^2-\sigma_{n}^2\right)^7} -\frac{ \sigma_{LJ}^6 \left(2 r \sigma_{n}^3+\sigma_{n}^2 \left(r^2-\sigma_{n}^2\right)\log{ \left[\frac{r-\sigma_{n}}{r+\sigma_{n}}\right]}\right) }{12 \sigma_{n}^5 \left(r^2-\sigma_{n}^2\right)} \right]\qquad \sigma_n < r < r_c Introduced by Babadi and Ejtehadi in :ref:`(Babadi) `. Here, *r* is the distance from the particle to the wall at position *coord*\ , and Rc is the *cutoff* distance at which the particle and wall no -longer interact. Also, sigma\_n is the distance between center of -ellipsoid and the nearest point of its surface to the wall. The energy -of the wall is: +longer interact. Also, :math:`\sigma_n` is the distance between center of +ellipsoid and the nearest point of its surface to the wall as shown below. .. image:: JPG/fix_wall_ees_image.jpg :align: center @@ -82,24 +77,29 @@ Details of using this command and specifications are the same as fix/wall command. You can also find an example in USER/ees/ under examples/ directory. -The prefactor *epsilon* can be thought of as an +The prefactor :math:`\epsilon` can be thought of as an effective Hamaker constant with energy units for the strength of the -ellipsoid-wall interaction. More specifically, the *epsilon* pre-factor -= 8 \* pi\^2 \* rho\_wall \* rho\_ellipsoid \* epsilon -\* sigma\_a \* sigma\_b \* sigma\_c, where epsilon is the LJ parameters for -the constituent LJ particles and sigma\_a, sigma\_b, and sigma\_c are radii -of ellipsoidal particles. Rho\_wall and rho\_ellipsoid are the number -density of the constituent particles, in the wall and ellipsoid -respectively, in units of 1/volume. +ellipsoid-wall interaction. More specifically, the :math:`\epsilon` +pre-factor is + +.. math:: + + 8 \pi^2 \quad \rho_{wall} \quad \rho_{ellipsoid} \quad \epsilon \quad \sigma_a \quad \sigma_b \quad \sigma_c + +where :math:`\epsilon` is the LJ energy parameter for the constituent LJ +particles and :math:`\sigma_a`, :math:`\sigma_b`, and :math:`\sigma_c` +are the radii of the ellipsoidal particles. :math:`\rho_{wall}` and +:math:`\rho_{ellipsoid}` are the number density of the constituent +particles, in the wall and ellipsoid respectively, in units of 1/volume. .. note:: - You must insure that r is always bigger than sigma\_n for + You must insure that r is always bigger than :math:`\sigma_n` for all particles in the group, or LAMMPS will generate an error. This means you cannot start your simulation with particles touching the wall - position *coord* (r = sigma\_n) or with particles penetrating the wall - (0 =< r < sigma\_n) or with particles on the wrong side of the - wall (r < 0). + position *coord* (:math:`r = \sigma_n`) or with particles penetrating + the wall (:math:`0 =< r < \sigma_n`) or with particles on the wrong + side of the wall (:math:`r < 0`). Fix *wall/region/ees* treats the surface of the geometric region defined by the *region-ID* as a bounding wall which interacts with nearby @@ -111,12 +111,11 @@ of using this fix in the examples/USER/misc/ees/ directory. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This fix requires that atoms be ellipsoids as defined by the -:doc:`atom\_style ellipsoid ` command. +:doc:`atom_style ellipsoid ` command. Related commands """""""""""""""" @@ -129,17 +128,8 @@ Default none - ---------- - .. _BabadiEjtehadi: - - **(Babadi)** Babadi and Ejtehadi, EPL, 77 (2007) 23002. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall_gran.rst b/doc/src/fix_wall_gran.rst index 5c9c476a44b1d503482dc19959aa670c3ddc4ff6..daf3152c3466bee91e0d5d6fc50e24b42d20afc5 100644 --- a/doc/src/fix_wall_gran.rst +++ b/doc/src/fix_wall_gran.rst @@ -6,7 +6,6 @@ fix wall/gran command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/gran fstyle fstyle_params wallstyle args keyword values ... @@ -14,15 +13,15 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * wall/gran = style name of this fix command * fstyle = style of force interactions between particles and wall - + .. parsed-literal:: - + possible choices: hooke, hooke/history, hertz/history, granular -* fstyle\_params = parameters associated with force interaction style - +* fstyle_params = parameters associated with force interaction style + .. parsed-literal:: - + For *hooke*\ , *hooke/history*\ , and *hertz/history*\ , *fstyle_params* are: Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) @@ -31,16 +30,15 @@ Syntax xmu = static yield criterion (unitless value between 0.0 and 1.0e4) dampflag = 0 or 1 if tangential damping force is excluded or included - .. parsed-literal:: - + For *granular*\ , *fstyle_params* are set using the same syntax as for the *pair_coeff* command of :doc:`pair_style granular ` * wallstyle = *xplane* or *yplane* or *zplane* or *zcylinder* * args = list of arguments for a particular style - + .. parsed-literal:: - + *xplane* or *yplane* or *zplane* args = lo hi lo,hi = position of lower and upper plane (distance units), either can be NULL) *zcylinder* args = radius @@ -48,9 +46,9 @@ Syntax * zero or more keyword/value pairs may be appended to args * keyword = *wiggle* or *shear* - + .. parsed-literal:: - + *wiggle* values = dim amplitude period dim = *x* or *y* or *z* amplitude = size of oscillation (distance units) @@ -59,13 +57,10 @@ Syntax dim = *x* or *y* or *z* vshear = magnitude of shear velocity (velocity units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all wall/gran hooke 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0 fix 1 all wall/gran hooke/history 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL @@ -83,30 +78,31 @@ close enough to touch it. The nature of the wall/particle interactions are determined by the *fstyle* setting. It can be any of the styles defined by the -:doc:`pair\_style gran/\* ` or the more general `pair\_style granular `_ commands. Currently the options are -*hooke*\ , *hooke/history*\ , or *hertz/history* for the former, and -*granular* with all the possible options of the associated -*pair\_coeff* command for the latter. The equation for the force +:doc:`pair_style gran/\* ` or the more general +:doc:`pair_style granular ` commands. Currently the +options are *hooke*\ , *hooke/history*\ , or *hertz/history* for the +former, and *granular* with all the possible options of the associated +*pair_coeff* command for the latter. The equation for the force between the wall and particles touching it is the same as the -corresponding equation on the :doc:`pair\_style gran/\* ` and -:doc:`pair\_style\_granular ` doc pages, in the limit of -one of the two particles going to infinite radius and mass (flat -wall). Specifically, delta = radius - r = overlap of particle with -wall, m\_eff = mass of particle, and the effective radius of contact = -RiRj/Ri+Rj is set to the radius of the particle. - -The parameters *Kn*\ , *Kt*\ , *gamma\_n*, *gamma\_t*, *xmu* and *dampflag* +corresponding equation on the :doc:`pair_style gran/\* ` and +:doc:`pair_style granular ` doc pages, in the limit of +one of the two particles going to infinite radius and mass (flat wall). +Specifically, delta = radius - r = overlap of particle with wall, m_eff += mass of particle, and the effective radius of contact = RiRj/Ri+Rj is +set to the radius of the particle. + +The parameters *Kn*\ , *Kt*\ , *gamma_n*, *gamma_t*, *xmu* and *dampflag* have the same meaning and units as those specified with the -:doc:`pair\_style gran/\* ` commands. This means a NULL can be -used for either *Kt* or *gamma\_t* as described on that page. If a +:doc:`pair_style gran/\* ` commands. This means a NULL can be +used for either *Kt* or *gamma_t* as described on that page. If a NULL is used for *Kt*\ , then a default value is used where *Kt* = 2/7 -*Kn*\ . If a NULL is used for *gamma\_t*, then a default value is used -where *gamma\_t* = 1/2 *gamma\_n*. +*Kn*\ . If a NULL is used for *gamma_t*, then a default value is used +where *gamma_t* = 1/2 *gamma_n*. All the model choices for cohesion, tangential friction, rolling -friction and twisting friction supported by the :doc:`pair\_style granular ` through its *pair\_coeff* command are also +friction and twisting friction supported by the :doc:`pair_style granular ` through its *pair_coeff* command are also supported for walls. These are discussed in greater detail on the doc -page for :doc:`pair\_style granular `. +page for :doc:`pair_style granular `. Note that you can choose a different force styles and/or different values for the wall/particle coefficients than for particle/particle @@ -115,7 +111,8 @@ material. .. note:: - As discussed on the doc page for :doc:`pair\_style gran/\* `, versions of LAMMPS before 9Jan09 used a + As discussed on the doc page for :doc:`pair_style gran/\* `, + versions of LAMMPS before 9Jan09 used a different equation for Hertzian interactions. This means Hertizian wall/particle interactions have also changed. They now include a sqrt(radius) term which was not present before. Also the previous @@ -125,10 +122,10 @@ material. appropriately in the current code to reproduce the results of a previous Hertzian monodisperse calculation. For example, for the common case of a monodisperse system with particles of diameter 1, Kn, - Kt, gamma\_n, and gamma\_s should be set sqrt(2.0) larger than they were + Kt, gamma_n, and gamma_s should be set sqrt(2.0) larger than they were previously. -The effective mass *m\_eff* in the formulas listed on the :doc:`pair\_style granular ` doc page is the mass of the particle for +The effective mass *m_eff* in the formulas listed on the :doc:`pair_style granular ` doc page is the mass of the particle for particle/wall interactions (mass of wall is infinite). If the particle is part of a rigid body, its mass is replaced by the mass of the rigid body in those formulas. This is determined by searching for @@ -155,7 +152,6 @@ be wiggled in the z dimension. Each timestep, the position of a wiggled wall in the appropriate *dim* is set according to this equation: - .. parsed-literal:: position = coord + A - A cos (omega \* delta) @@ -175,17 +171,17 @@ the clockwise direction for *vshear* > 0 or counter-clockwise for *vshear* < 0. In this case, *vshear* is the tangential velocity of the wall at whatever *radius* has been defined. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the shear friction state of atoms interacting with the wall to :doc:`binary restart files `, so that a simulation can continue correctly if granular potentials with shear "history" effects -are being used. See the :doc:`read\_restart ` command for +are being used. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the @@ -194,7 +190,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -205,12 +200,7 @@ Related commands :doc:`fix move `, :doc:`fix wall/gran/region `, -:doc:`pair\_style gran/\* ` -:doc:`pair\_style granular ` +:doc:`pair_style gran/\* ` +:doc:`pair_style granular ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall_gran_region.rst b/doc/src/fix_wall_gran_region.rst index cdd6c7445b82f3466f5e37e04afe82956676a6e4..620baa0942e3511ce507d69662112af992892d72 100644 --- a/doc/src/fix_wall_gran_region.rst +++ b/doc/src/fix_wall_gran_region.rst @@ -6,7 +6,6 @@ fix wall/gran/region command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/gran/region fstyle fstyle_params wallstyle regionID @@ -14,15 +13,15 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * wall/region = style name of this fix command * fstyle = style of force interactions between particles and wall - + .. parsed-literal:: - + possible choices: hooke, hooke/history, hertz/history, granular -* fstyle\_params = parameters associated with force interaction style - +* fstyle_params = parameters associated with force interaction style + .. parsed-literal:: - + For *hooke*\ , *hooke/history*\ , and *hertz/history*\ , *fstyle_params* are: Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) @@ -31,9 +30,8 @@ Syntax xmu = static yield criterion (unitless value between 0.0 and 1.0e4) dampflag = 0 or 1 if tangential damping force is excluded or included - .. parsed-literal:: - + For *granular*\ , *fstyle_params* are set using the same syntax as for the *pair_coeff* command of :doc:`pair_style granular ` * wallstyle = region (see :doc:`fix wall/gran ` for options for other kinds of walls) @@ -42,8 +40,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix wall all wall/gran/region hooke/history 1000.0 200.0 200.0 100.0 0.5 1 region myCone fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox @@ -62,7 +59,7 @@ non-granular particles and simpler wall geometries, respectively. Here are snapshots of example models using this command. Corresponding input scripts can be found in examples/granregion. Click on the images to see a bigger picture. Movies of these -simulations are `here on the Movies page `_ of the LAMMPS +simulations are `here on the Movies page `_ of the LAMMPS web site. .. image:: JPG/gran_funnel_small.jpg @@ -71,17 +68,15 @@ web site. .. image:: JPG/gran_mixer_small.jpg :target: JPG/gran_mixer.png - ---------- - The distance between a particle and the region boundary is the distance to the nearest point on the region surface. The force the wall exerts on the particle is along the direction between that point and the particle center, which is the direction normal to the surface at that point. Note that if the region surface is comprised of multiple "faces", then each face can exert a force on the particle if -it is close enough. E.g. for :doc:`region\_style block `, a +it is close enough. E.g. for :doc:`region_style block `, a particle in the interior, near a corner of the block, could feel wall forces from 1, 2, or 3 faces of the block. @@ -154,50 +149,51 @@ corresponding manner. The nature of the wall/particle interactions are determined by the *fstyle* setting. It can be any of the styles defined by the -:doc:`pair\_style gran/\* ` or the more general `pair\_style granular `_ commands. Currently the options are -*hooke*\ , *hooke/history*\ , or *hertz/history* for the former, and -*granular* with all the possible options of the associated -*pair\_coeff* command for the latter. The equation for the force +:doc:`pair_style gran/\* ` or the more general +:doc:`pair_style granular ` commands. Currently the +options are *hooke*\ , *hooke/history*\ , or *hertz/history* for the +former, and *granular* with all the possible options of the associated +*pair_coeff* command for the latter. The equation for the force between the wall and particles touching it is the same as the -corresponding equation on the :doc:`pair\_style gran/\* ` and -:doc:`pair\_style\_granular ` doc pages, but the effective -radius is calculated using the radius of the particle and the radius -of curvature of the wall at the contact point. +corresponding equation on the :doc:`pair_style gran/\* ` and +:doc:`pair_style granular ` doc pages, but the effective +radius is calculated using the radius of the particle and the radius of +curvature of the wall at the contact point. Specifically, delta = radius - r = overlap of particle with wall, -m\_eff = mass of particle, and RiRj/Ri+Rj is the effective radius, with +m_eff = mass of particle, and RiRj/Ri+Rj is the effective radius, with Rj replaced by the radius of curvature of the wall at the contact point. The radius of curvature can be negative for a concave wall section, e.g. the interior of cylinder. For a flat wall, delta = -radius - r = overlap of particle with wall, m\_eff = mass of particle, +radius - r = overlap of particle with wall, m_eff = mass of particle, and the effective radius of contact is just the radius of the particle. -The parameters *Kn*\ , *Kt*\ , *gamma\_n*, *gamma\_t*, *xmu* and *dampflag* +The parameters *Kn*\ , *Kt*\ , *gamma_n*, *gamma_t*, *xmu* and *dampflag* have the same meaning and units as those specified with the -:doc:`pair\_style gran/\* ` commands. This means a NULL can be -used for either *Kt* or *gamma\_t* as described on that page. If a +:doc:`pair_style gran/\* ` commands. This means a NULL can be +used for either *Kt* or *gamma_t* as described on that page. If a NULL is used for *Kt*\ , then a default value is used where *Kt* = 2/7 -*Kn*\ . If a NULL is used for *gamma\_t*, then a default value is used -where *gamma\_t* = 1/2 *gamma\_n*. +*Kn*\ . If a NULL is used for *gamma_t*, then a default value is used +where *gamma_t* = 1/2 *gamma_n*. All the model choices for cohesion, tangential friction, rolling -friction and twisting friction supported by the :doc:`pair\_style granular ` through its *pair\_coeff* command are also +friction and twisting friction supported by the :doc:`pair_style granular ` through its *pair_coeff* command are also supported for walls. These are discussed in greater detail on the doc -page for :doc:`pair\_style granular `. +page for :doc:`pair_style granular `. Note that you can choose a different force styles and/or different values for the 6 wall/particle coefficients than for particle/particle interactions. E.g. if you wish to model the wall as a different material. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Similar to :doc:`fix wall/gran ` command, this fix writes the shear friction state of atoms interacting with the wall to :doc:`binary restart files `, so that a simulation can continue correctly if granular potentials with shear "history" effects are being used. This fix also includes info about a moving region in the -restart file. See the :doc:`read\_restart ` command for +restart file. See the :doc:`read_restart ` command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion. @@ -205,7 +201,7 @@ uninterrupted fashion. .. note:: Information about region definitions is NOT included in restart - files, as discussed on the :doc:`read\_restart ` doc page. + files, as discussed on the :doc:`read_restart ` doc page. So you must re-define your region and if it is a moving region, define its motion attributes in a way that is consistent with the simulation that wrote the restart file. In particular, if you want to change the @@ -219,7 +215,7 @@ uninterrupted fashion. use the same fix ID for fix wall/gran/region, but assign it a region with a different region ID. -None of the :doc:`fix\_modify ` options are relevant to this +None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of the @@ -228,22 +224,16 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`fix\_move `, +:doc:`fix_move `, :doc:`fix wall/gran `, :doc:`fix wall/region `, -:doc:`pair\_style granular `, +:doc:`pair_style granular `, :doc:`region ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall_piston.rst b/doc/src/fix_wall_piston.rst index c38057915b1e821f541c9b02ee571b493a089b89..626634ec83f4ac18f963001e6390beabff6134f2 100644 --- a/doc/src/fix_wall_piston.rst +++ b/doc/src/fix_wall_piston.rst @@ -6,7 +6,6 @@ fix wall/piston command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/piston face ... keyword value ... @@ -16,9 +15,9 @@ Syntax * face = *zlo* * zero or more keyword/value pairs may be appended * keyword = *pos* or *vel* or *ramp* or *units* - + .. parsed-literal:: - + *pos* args = z z = z coordinate at which the piston begins (distance units) *vel* args = vz @@ -33,13 +32,10 @@ Syntax *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix xwalls all wall/piston zlo fix walls all wall/piston zlo pos 1.0 vel 10.0 units box @@ -92,13 +88,11 @@ A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice ` command must have been previously used to define the lattice spacings. - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -107,7 +101,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -128,8 +121,3 @@ Default """"""" The keyword defaults are pos = 0, vel = 0, units = lattice. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall_reflect.rst b/doc/src/fix_wall_reflect.rst index 464ae3b4a5cc8e4497afb95b92847e7dc6cfc59c..3960105ab967cdd930a6d0d7b1e7cf788f0c57f0 100644 --- a/doc/src/fix_wall_reflect.rst +++ b/doc/src/fix_wall_reflect.rst @@ -9,7 +9,6 @@ fix wall/reflect/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/reflect face arg ... keyword value ... @@ -18,9 +17,9 @@ Syntax * wall/reflect = style name of this fix command * one or more face/arg pairs may be appended * face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* - + .. parsed-literal:: - + arg = EDGE or constant or variable EDGE = current lo edge of simulation box constant = number like 0.0 or 30.0 (distance units) @@ -28,20 +27,17 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - + .. parsed-literal:: - + *units* value = *lattice* or *box* *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix xwalls all wall/reflect xlo EDGE xhi EDGE fix walls all wall/reflect xlo 0.0 ylo 10.0 units box @@ -59,7 +55,7 @@ put back inside the face by the same delta, and the sign of the corresponding component of its velocity is flipped. When used in conjunction with :doc:`fix nve ` and -:doc:`run\_style verlet `, the resultant time-integration +:doc:`run_style verlet `, the resultant time-integration algorithm is equivalent to the primitive splitting algorithm (PSA) described by :ref:`Bond `. Because each reflection event divides the corresponding timestep asymmetrically, energy conservation @@ -78,12 +74,12 @@ EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. -If the wall position is a variable, it should be specified as v\_name, +If the wall position is a variable, it should be specified as v_name, where name is an :doc:`equal-style variable ` name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include -:doc:`thermo\_style ` command keywords for the simulation +:doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent wall position. @@ -99,16 +95,13 @@ A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice ` command must have been previously used to define the lattice spacings. - ---------- - Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style :doc:`variables `. - -.. parsed-literal:: +.. code-block:: LAMMPS variable ramp equal ramp(0,10) fix 1 all wall/reflect xlo v_ramp @@ -122,34 +115,30 @@ in a time-dependent fashion using equal-style variable wiggle equal cwiggle(0.0,5.0,3.0) fix 1 all wall/reflect xlo v_wiggle -The ramp(lo,hi) function adjusts the wall position linearly from lo to -hi over the course of a run. The vdisplace(c0,velocity) function does -something similar using the equation position = c0 + velocity\*delta, -where delta is the elapsed time. - -The swiggle(c0,A,period) function causes the wall position to -oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: +The *ramp(lo,hi)* function adjusts the wall position linearly from *lo* to +*hi* over the course of a run. The *vdisplace(c0,velocity)* function does +something similar using the equation *position = c0 + velocity\*delta*\ , +where *delta* is the elapsed time. +The *swiggle(c0,A,period)* function causes the wall position to +oscillate sinusoidally according to this equation, where *omega = 2 PI +/ period*\ : .. parsed-literal:: position = c0 + A sin(omega\*delta) -The cwiggle(c0,A,period) function causes the wall position to +The *cwiggle(c0,A,period)* function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler perturbation on the particles: - .. parsed-literal:: position = c0 + A (1 - cos(omega\*delta)) - ---------- - 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 @@ -170,14 +159,12 @@ use the :doc:`suffix ` command in your input script. See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files -`. None of the :doc:`fix\_modify ` options are +`. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used with the *start/stop* keywords of @@ -187,7 +174,6 @@ the :doc:`run ` command. This fix is not invoked during Restrictions """""""""""" - Any dimension (xyz) that has a reflecting wall must be non-periodic. A reflecting wall should not be used with rigid bodies such as those @@ -208,14 +194,6 @@ The default for the units keyword is lattice. ---------- - .. _Bond1: - - **(Bond)** Bond and Leimkuhler, SIAM J Sci Comput, 30, p 134 (2007). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall_reflect_stochastic.rst b/doc/src/fix_wall_reflect_stochastic.rst index 3748f4b922e53bbcd3e9eac73215d277acf202d3..ddeebfbe3848509122f9f84ab5898d3403271d8c 100644 --- a/doc/src/fix_wall_reflect_stochastic.rst +++ b/doc/src/fix_wall_reflect_stochastic.rst @@ -6,7 +6,6 @@ fix wall/reflect/stochastic command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/reflect/stochastic rstyle seed face args ... keyword value ... @@ -17,9 +16,9 @@ Syntax * seed = random seed for stochasticity (positive integer) * one or more face/args pairs may be appended * face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* - + .. parsed-literal:: - + args = pos temp velx vely velz accomx accomy accomz pos = EDGE or constant EDGE = current lo or hi edge of simulation box @@ -33,20 +32,17 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - + .. parsed-literal:: - + *units* value = *lattice* or *box* *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix zwalls all wall/reflect/stochastic diffusive 23424 zlo EDGE 300 0.1 0.1 0 zhi EDGE 200 0.1 0.1 0 fix ywalls all wall/reflect/stochastic maxwell 345533 ylo 5.0 300 0.1 0.0 0.0 0.8 yhi 10.0 300 0.1 0.0 0.0 0.8 @@ -99,14 +95,11 @@ as defined by the :doc:`units ` command, e.g. Angstroms for units lattice spacings. The :doc:`lattice ` command must have been previously used to define the lattice spacings. - ---------- - Restrictions """""""""""" - This fix has the same limitations as the :doc:`fix wall/reflect ` command. Any dimension (xyz) that has a wall must be non-periodic. It should not be used with rigid bodies such as those defined by the :doc:`fix rigid ` @@ -126,32 +119,19 @@ Default The default for the units keyword is lattice. - ---------- - .. _Maxwell: - - **(Maxwell)** J.C. Maxwell, Philos. Tans. Royal Soc. London, 157: 49-88 (1867). .. _CL: - - **(Cercignani)** C. Cercignani and M. Lampis. Trans. Theory Stat. Phys. 1, 2, 101 (1971). .. _To: - - **(To)** Q.D. To, V.H. Vu, G. Lauriat, and C. Leonard. J. Math. Phys. 56, 103101 (2015). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall_region.rst b/doc/src/fix_wall_region.rst index 36b2dffde94d138d4980aa1985f02ee2547b0866..b3f4733c560b5d054dca6e5b2e24fc3f6d23a807 100644 --- a/doc/src/fix_wall_region.rst +++ b/doc/src/fix_wall_region.rst @@ -6,7 +6,6 @@ fix wall/region command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/region region-ID style args ... cutoff @@ -16,28 +15,26 @@ Syntax * region-ID = region whose boundary will act as wall * style = *lj93* or *lj126* or *lj1043* or *colloid* or *harmonic* or *morse* * args for styles *lj93* or *lj126* or *lj1043* or *colloid* or *harmonic* = - + .. parsed-literal:: - + epsilon = strength factor for wall-particle interaction (energy or energy/distance\^2 units) sigma = size factor for wall-particle interaction (distance units) * args for style *morse* = - + .. parsed-literal:: - + D_0 = depth of the potential (energy units) alpha = width parameter (1/distance units) r_0 = distance of the potential minimum from wall position (distance units) * cutoff = distance from wall at which wall-particle interaction is cut off (distance units) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix wall all wall/region mySphere lj93 1.0 1.0 2.5 fix wall all wall/region mySphere harmonic 1.0 0.0 2.5 @@ -56,7 +53,7 @@ particle is along the direction between that point and the particle, which is the direction normal to the surface at that point. Note that if the region surface is comprised of multiple "faces", then each face can exert a force on the particle if it is close enough. E.g. for -:doc:`region\_style block `, a particle in the interior, near a +:doc:`region_style block `, a particle in the interior, near a corner of the block, could feel wall forces from 1, 2, or 3 faces of the block. @@ -132,38 +129,56 @@ style. For style *lj93*\ , the energy E is given by the 9/3 potential: -.. image:: Eqs/fix_wall_lj93.jpg - :align: center +.. math:: + + E = \epsilon \left[ \frac{2}{15} \left(\frac{\sigma}{r}\right)^{9} - + \left(\frac{\sigma}{r}\right)^3 \right] + \qquad r < r_c For style *lj126*\ , the energy E is given by the 12/6 potential: -.. image:: Eqs/pair_lj.jpg - :align: center +.. math:: + + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c For style *wall/lj1043*\ , the energy E is given by the 10/4/3 potential: -.. image:: Eqs/fix_wall_lj1043.jpg - :align: center +.. math:: + + E = 2 \pi \epsilon \left[ \frac{2}{5} \left(\frac{\sigma}{r}\right)^{10} - + \left(\frac{\sigma}{r}\right)^4 - + \frac{\sqrt(2)\sigma^3}{3\left(r+\left(0.61/\sqrt(2)\right)\sigma\right)^3}\right] + \qquad r < r_c For style *colloid*\ , the energy E is given by an integrated form of -the :doc:`pair\_style colloid ` potential: +the :doc:`pair_style colloid ` potential: + +.. math:: -.. image:: Eqs/fix_wall_colloid.jpg - :align: center + E = & \epsilon \left[ \frac{\sigma^{6}}{7560} + \left(\frac{6R-D}{D^{7}} + \frac{D+8R}{(D+2R)^{7}} \right) \right. \\ + & \left. - \frac{1}{6} \left(\frac{2R(D+R) + D(D+2R) + \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c For style *wall/harmonic*\ , the energy E is given by a harmonic spring potential (the distance parameter is ignored): -.. image:: Eqs/fix_wall_harmonic.jpg - :align: center +.. math:: + + E = \epsilon \quad (r - r_c)^2 \qquad r < r_c For style *wall/morse*\ , the energy E is given by the Morse potential: -.. image:: Eqs/pair_morse.jpg - :align: center +.. math:: + + E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + \qquad r < r_c -Unlike other styles, this requires three parameters (*D\_0*, *alpha*\ , *r\_0* -in this order) instead of two like for the other wall styles. +Unlike other styles, this requires three parameters (:math:`D_0`, +:math:`\alpha`, and :math:`r_0` in this order) instead of two like +for the other wall styles. In all cases, *r* is the distance from the particle to the region surface, and Rc is the *cutoff* distance at which the particle and @@ -171,22 +186,22 @@ surface no longer interact. The cutoff is always the last argument. The energy of the wall potential is shifted so that the wall-particle interaction energy is 0.0 at the cutoff distance. -For a full description of these wall styles, see fix\_style +For a full description of these wall styles, see fix_style :doc:`wall ` -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files `. -The :doc:`fix\_modify ` *energy* option is supported by this +The :doc:`fix_modify ` *energy* option is supported by this fix to add the energy of interaction between atoms and the wall to the system's potential energy as part of :doc:`thermodynamic output `. -The :doc:`fix\_modify ` *virial* option is supported by this +The :doc:`fix_modify ` *virial* option is supported by this fix to add the contribution due to the interaction between atoms and each wall to the system's virial as part of :doc:`thermodynamic output `. The default is *virial no* -The :doc:`fix\_modify ` *respa* option is supported by this +The :doc:`fix_modify ` *respa* option is supported by this fix. This allows to set at which level of the :doc:`r-RESPA ` integrator the fix is adding its forces. Default is the outermost level. @@ -207,7 +222,7 @@ invoked by the :doc:`minimize ` command. If you want the atom/wall interaction energy to be included in the total potential energy of the system (the quantity being - minimized), you MUST enable the :doc:`fix\_modify ` *energy* + minimized), you MUST enable the :doc:`fix_modify ` *energy* option for this fix. Restrictions @@ -225,8 +240,3 @@ Related commands :doc:`fix wall/gran ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fix_wall_srd.rst b/doc/src/fix_wall_srd.rst index c302539f3c1a9640b033cea33847ead338866a4b..5df7345a4d58c988c1d5c5b8e4f47c581510ca4c 100644 --- a/doc/src/fix_wall_srd.rst +++ b/doc/src/fix_wall_srd.rst @@ -6,7 +6,6 @@ fix wall/srd command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/srd face arg ... keyword value ... @@ -15,9 +14,9 @@ Syntax * wall/srd = style name of this fix command * one or more face/arg pairs may be appended * face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* - + .. parsed-literal:: - + *xlo*\ ,\ *ylo*\ ,\ *zlo* arg = EDGE or constant or variable EDGE = current lo edge of simulation box constant = number like 0.0 or -30.0 (distance units) @@ -29,20 +28,17 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - + .. parsed-literal:: - + *units* value = *lattice* or *box* *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix xwalls all wall/srd xlo EDGE xhi EDGE fix walls all wall/srd xlo 0.0 ylo 10.0 units box @@ -88,12 +84,12 @@ EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. -If the wall position is a variable, it should be specified as v\_name, +If the wall position is a variable, it should be specified as v_name, where name is an :doc:`equal-style variable ` name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables can specify formulas with various mathematical functions, and include -:doc:`thermo\_style ` command keywords for the simulation +:doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent wall position. @@ -137,16 +133,13 @@ A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice ` command must have been previously used to define the lattice spacings. - ---------- - Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style :doc:`variables `. - -.. parsed-literal:: +.. code-block:: LAMMPS variable ramp equal ramp(0,10) fix 1 all wall/srd xlo v_ramp @@ -160,37 +153,33 @@ in a time-dependent fashion using equal-style variable wiggle equal cwiggle(0.0,5.0,3.0) fix 1 all wall/srd xlo v_wiggle -The ramp(lo,hi) function adjusts the wall position linearly from lo to -hi over the course of a run. The displace(c0,velocity) function does -something similar using the equation position = c0 + velocity\*delta, -where delta is the elapsed time. - -The swiggle(c0,A,period) function causes the wall position to -oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: +The *ramp(lo,hi)* function adjusts the wall position linearly from *lo* +to *hi* over the course of a run. The *vdisplace(c0,velocity)* function +does something similar using the equation *position = c0 + +velocity\*delta*, where *delta* is the elapsed time. +The *swiggle(c0,A,period)* function causes the wall position to +oscillate sinusoidally according to this equation, where *omega = 2 PI +/ period*\ : .. parsed-literal:: position = c0 + A sin(omega\*delta) -The cwiggle(c0,A,period) function causes the wall position to +The *cwiggle(c0,A,period)* function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler perturbation on the particles: - .. parsed-literal:: position = c0 + A (1 - cos(omega\*delta)) - ---------- +**Restart, fix_modify, output, run start/stop, minimize info:** -**Restart, fix\_modify, output, run start/stop, minimize info:** - -No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix\_modify ` options +No information about this fix is written to :doc:`binary restart files `. None of the :doc:`fix_modify ` options are relevant to this fix. This fix computes a global array of values which can be accessed by @@ -209,7 +198,6 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - Any dimension (xyz) that has an SRD wall must be non-periodic. Related commands @@ -218,8 +206,3 @@ Related commands :doc:`fix srd ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/fixes.rst b/doc/src/fixes.rst index 5a85738c45128d4f7fac91e4bebc92916704b7ea..eb0215e310749e21f26a65cbd83960b61ea27809 100644 --- a/doc/src/fixes.rst +++ b/doc/src/fixes.rst @@ -1,7 +1,6 @@ Fixes ##### - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/group.rst b/doc/src/group.rst index 6868dfd26816b6268d5ba75aba8529072b818fc1..42e1d29a850f3b5bcd58911793d5a56b4fc44b34 100644 --- a/doc/src/group.rst +++ b/doc/src/group.rst @@ -6,16 +6,15 @@ group command Syntax """""" - .. parsed-literal:: group ID style args * ID = user-defined name of the group * style = *delete* or *clear* or *empty* or *region* or *type* or *id* or *molecule* or *variable* or *include* or *subtract* or *union* or *intersect* or *dynamic* or *static* - + .. parsed-literal:: - + *delete* = no args *clear* = no args *empty* = no args @@ -46,13 +45,10 @@ Syntax *every* value = N = update group every this many timesteps *static* = no args - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS group edge region regstrip group water type 3 4 @@ -159,8 +155,7 @@ For example, these lines define a variable "eatom" that calculates the potential energy of each atom and includes it in the group if its potential energy is above the threshold value -3.0. - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pe/atom compute 2 all reduce sum c_1 @@ -172,8 +167,7 @@ potential energy is above the threshold value -3.0. Note that these lines - -.. parsed-literal:: +.. code-block:: LAMMPS compute 2 all reduce sum c_1 thermo_style custom step temp pe c_2 @@ -224,10 +218,8 @@ The *intersect* style takes a list of two or more existing group names as arguments. Atoms that belong to every one of the listed groups are added to the specified group. - ---------- - The *dynamic* style flags an existing or new group as dynamic. This means atoms will be (re)assigned to the group periodically as a simulation runs. This is in contrast to static groups where atoms are @@ -274,8 +266,7 @@ used to model a quench of the system, freezing atoms outside the shrinking sphere, then converting the remaining atoms to a static group and running further. - -.. parsed-literal:: +.. code-block:: LAMMPS variable nsteps equal 5000 variable rad equal 18-(step/v_nsteps)\*(18-5) @@ -298,14 +289,11 @@ The *static* style removes the setting for a dynamic group, converting it to a static group (the default). The atoms in the static group are those currently in the dynamic group. - ---------- - Restrictions """""""""""" - There can be no more than 32 groups defined at one time, including "all". @@ -321,8 +309,3 @@ Default """"""" All atoms belong to the "all" group. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/group2ndx.rst b/doc/src/group2ndx.rst index 03ce1d6d4acaabe1897c3f17c7978315cc144533..84e7b6df32be5e20b203b513ec9673a1cf420b2e 100644 --- a/doc/src/group2ndx.rst +++ b/doc/src/group2ndx.rst @@ -9,7 +9,6 @@ ndx2group command Syntax """""" - .. parsed-literal:: group2ndx file group-ID ... @@ -18,12 +17,10 @@ Syntax * file = name of index file to write out or read in * zero or more group IDs may be appended - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS group2ndx allindex.ndx group2ndx someindex.ndx upper lower mobile @@ -52,14 +49,11 @@ recreated. If a group of the same name already exists, it will be completely reset. When specifying group IDs, those groups, if present, will be read from the index file and restored. - ---------- - Restrictions """""""""""" - This command requires that atoms have atom IDs, since this is the information that is written to the index file. @@ -72,8 +66,3 @@ Related commands :doc:`group `, :doc:`dump `, :doc:`fix colvars ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/hyper.rst b/doc/src/hyper.rst index bf1e884cda4aec2dcc539d7b4bf5520223ed47b6..d17af1d407efa2eff4d0dd076360578dc318f16b 100644 --- a/doc/src/hyper.rst +++ b/doc/src/hyper.rst @@ -6,7 +6,6 @@ hyper command Syntax """""" - .. parsed-literal:: hyper N Nevent fix-ID compute-ID keyword values ... @@ -17,9 +16,9 @@ Syntax * compute-ID = ID of a compute that identifies when an event has occurred * zero or more keyword/value pairs may be appended * keyword = *min* or *dump* or *rebond* - + .. parsed-literal:: - + *min* values = etol ftol maxiter maxeval etol = stopping tolerance for energy, used in quenching ftol = stopping tolerance for force, used in quenching @@ -30,13 +29,10 @@ Syntax *rebond* value = Nrebond Nrebond = frequency at which to reset bonds, even if no event has occurred - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute event all event/displace 1.0 fix HG mobile hyper/global 3.0 0.3 0.4 800.0 @@ -83,7 +79,6 @@ occur. See the :doc:`prd ` doc page for more info about PRD. An HD run has several stages, which are repeated each time an event occurs, as explained below. The logic for an HD run is as follows: - .. parsed-literal:: quench @@ -115,9 +110,9 @@ is performed by quenching the system and comparing the resulting atom coordinates to the coordinates from the previous basin. A quench is an energy minimization and is performed by whichever -algorithm has been defined by the :doc:`min\_style ` command. +algorithm has been defined by the :doc:`min_style ` command. Minimization parameters may be set via the -:doc:`min\_modify ` command and by the *min* keyword of the +:doc:`min_modify ` command and by the *min* keyword of the hyper command. The latter are the settings that would be used with the :doc:`minimize ` command. Note that typically, you do not need to perform a highly-converged minimization to detect a transition @@ -142,10 +137,8 @@ local hyperdynamics, such as the number of events and the elapsed hyper time (accelerated time), And it includes info specific to one or the other, depending on which style of fix was specified by *fix-ID*\ . - ---------- - The optional keywords operate as follows. As explained above, the *min* keyword can be used to specify @@ -173,14 +166,11 @@ if more frequent resets alter event statistics, perhaps because the parameters chosen for defining what is a bond and what is an event are producing bad dynamics in the presence of the bias potential. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. @@ -195,25 +185,14 @@ Default The option defaults are min = 0.1 0.1 40 50 and time = steps. - ---------- - .. _Voter2013: - - **(Voter2013)** S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139, 144110 (2013). .. _Voter2002hd: - - **(Voter2002)** Voter, Montalenti, Germann, Annual Review of Materials Research 32, 321 (2002). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/if.rst b/doc/src/if.rst index 3886d35f9c98ecd17c9a47300cea57e49e1111f1..96a0eca42e29170a79558fd7075cc1a47bcbd51a 100644 --- a/doc/src/if.rst +++ b/doc/src/if.rst @@ -6,7 +6,6 @@ if command Syntax """""" - .. parsed-literal:: if boolean then t1 t2 ... elif boolean f1 f2 ... elif boolean f1 f2 ... else e1 e2 ... @@ -22,8 +21,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS if "${steps} > 1000" then quit if "${myString} == a10" then quit @@ -55,7 +53,7 @@ until one is found to be true, in which case its commands (f1, f2, ..., fN) are executed. If no Boolean expression is TRUE, then the commands associated with the else keyword, namely (e1, e2, ..., eN), are executed. The elif and else keywords and their associated -commands are optional. If they aren't specified and the initial +commands are optional. If they are not specified and the initial Boolean expression is FALSE, then no commands are executed. The syntax for Boolean expressions is described below. @@ -77,8 +75,7 @@ above. Note that by using the line continuation character "&", the if command can be spread across many lines, though it is still a single command: - -.. parsed-literal:: +.. code-block:: LAMMPS if "$a < $b" then & "print 'Minimum value = $a'" & @@ -102,8 +99,7 @@ checked, so long as it is current on the timestep when the run completes. As explained on the :doc:`variable ` doc page, this can be insured by including the variable in thermodynamic output. - -.. parsed-literal:: +.. code-block:: LAMMPS variable myTemp equal temp label loop @@ -119,27 +115,24 @@ Here is an example of a double loop which uses the if and :doc:`jump ` commands to break out of the inner loop when a condition is met, then continues iterating through the outer loop. - -.. parsed-literal:: +.. code-block:: LAMMPS label loopa variable a loop 5 label loopb variable b loop 5 - print "A,B = $a,$b" - run 10000 - if "$b > 2" then "jump SELF break" + print "A,B = $a,$b" + run 10000 + if "$b > 2" then "jump SELF break" next b jump in.script loopb - label break - variable b delete + label break + variable b delete next a jump SELF loopa - ---------- - The Boolean expressions for the if and elif keywords have a C-like syntax. Note that each expression is a single argument within the if command. Thus if you want to include spaces in the expression for @@ -149,7 +142,6 @@ An expression is built out of numbers (which start with a digit or period or minus sign) or strings (which start with a letter and can contain alphanumeric characters or underscores): - .. parsed-literal:: 0.2, 100, 1.0e20, -15.4, etc @@ -157,7 +149,6 @@ contain alphanumeric characters or underscores): and Boolean operators: - .. parsed-literal:: A == B, A != B, A < B, A <= B, A > B, A >= B, A && B, A \|\| B, A \|\^ B, !A @@ -202,10 +193,8 @@ strings. The overall Boolean expression produces a TRUE result if the result is non-zero. If the result is zero, the expression result is FALSE. - ---------- - Restrictions """""""""""" none @@ -216,8 +205,3 @@ Related commands :doc:`variable `, :doc:`print ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_class2.rst b/doc/src/improper_class2.rst index d6f23e761cf5053599b68638d3d26a1627b1aa87..5affc0d4bbac2d64e3a1aba9ac664deff9bc3fb2 100644 --- a/doc/src/improper_class2.rst +++ b/doc/src/improper_class2.rst @@ -1,55 +1,61 @@ -.. index:: improper\_style class2 +.. index:: improper_style class2 -improper\_style class2 command -============================== +improper_style class2 command +============================= -improper\_style class2/omp command -================================== - -improper\_style class2/kk command +improper_style class2/omp command ================================= +improper_style class2/kk command +================================ + Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style class2 Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style class2 improper_coeff 1 100.0 0 - improper_coeff \* aa 0.0 0.0 0.0 115.06 130.01 115.06 + improper_coeff * aa 0.0 0.0 0.0 115.06 130.01 115.06 Description """"""""""" The *class2* improper style uses the potential -.. image:: Eqs/improper_class2.jpg - :align: center +.. math:: -where Ei is the improper term and Eaa is an angle-angle term. The 3 X -terms in Ei are an average over 3 out-of-plane angles. + E = & E_i + E_{aa} \\ + E_i = & K [ \frac{\chi_{ijkl} + \chi_{kjli} + \chi_{ljik}}{3} - \chi_0 ]^2 \\ + E_{aa} = & M_1 (\theta_{ijk} - \theta_1) (\theta_{kjl} - \theta_3) + \\ + & M_2 (\theta_{ijk} - \theta_1) (\theta_{ijl} - \theta_2) + \\ + & M_3 (\theta_{ijl} - \theta_2) (\theta_{kjl} - \theta_3) + +where :math:`E_i` is the improper term and :math:`E_{aa}` is an +angle-angle term. The 3 :math:`\chi` terms in :math:`E_i` are an +average over 3 out-of-plane angles. The 4 atoms in an improper quadruplet (listed in the data file read by -the :doc:`read\_data ` command) are ordered I,J,K,L. X\_IJKL -refers to the angle between the plane of I,J,K and the plane of J,K,L, -and the bond JK lies in both planes. Similarly for X\_KJLI and X\_LJIK. +the :doc:`read_data ` command) are ordered I,J,K,L. +:math:`\chi_{ijkl}` refers to the angle between the plane of I,J,K and +the plane of J,K,L, and the bond JK lies in both planes. Similarly for +:math:`\chi_{kjli}` and :math:`\chi_{ljik}`. Note that atom J appears in the common bonds (JI, JK, JL) of all 3 X terms. Thus J (the 2nd atom in the quadruplet) is the atom of -symmetry in the 3 X angles. +symmetry in the 3 :math:`\chi` angles. -The subscripts on the various theta's refer to different combinations -of 3 atoms (I,J,K,L) used to form a particular angle. E.g. Theta\_IJL -is the angle formed by atoms I,J,L with J in the middle. Theta1, -theta2, theta3 are the equilibrium positions of those angles. Again, +The subscripts on the various :math:`\theta`\ s refer to different +combinations of 3 atoms (I,J,K,L) used to form a particular angle. +E.g. :math:`\theta_{ijl}` is the angle formed by atoms I,J,L with J +in the middle. :math:`\theta_1`, :math:`\theta_2`, :math:`\theta_3` +are the equilibrium positions of those angles. Again, atom J (the 2nd atom in the quadruplet) is the atom of symmetry in the theta angles, since it is always the center atom. @@ -59,42 +65,41 @@ this is not required. See :ref:`(Sun) ` for a description of the COMPASS class2 force field. -Coefficients for the Ei and Eaa formulas must be defined for each -improper type via the :doc:`improper\_coeff ` command as +Coefficients for the :math:`E_i` and :math:`E_{aa}` formulas must be +defined for each +improper type via the :doc:`improper_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands. -These are the 2 coefficients for the Ei formula: +These are the 2 coefficients for the :math:`E_i` formula: -* K (energy/radian\^2) -* X0 (degrees) +* :math:`K` (energy/radian\^2) +* :math:`\chi_0` (degrees) -X0 is specified in degrees, but LAMMPS converts it to radians +:math:`\chi_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of K are in energy/radian\^2. -For the Eaa formula, each line in a -:doc:`improper\_coeff ` command in the input script lists -7 coefficients, the first of which is "aa" to indicate they are +For the :math:`E_{aa}` formula, each line in a +:doc:`improper_coeff ` command in the input script lists +7 coefficients, the first of which is *aa* to indicate they are AngleAngle coefficients. In a data file, these coefficients should be -listed under a "AngleAngle Coeffs" heading and you must leave out the -"aa", i.e. only list 6 coefficients after the improper type. +listed under a *AngleAngle Coeffs* heading and you must leave out the +*aa*, i.e. only list 6 coefficients after the improper type. -* aa -* M1 (energy/distance) -* M2 (energy/distance) -* M3 (energy/distance) -* theta1 (degrees) -* theta2 (degrees) -* theta3 (degrees) +* *aa* +* :math:`M_1` (energy/distance) +* :math:`M_2` (energy/distance) +* :math:`M_3` (energy/distance) +* :math:`\theta_1` (degrees) +* :math:`\theta_2` (degrees) +* :math:`\theta_3` (degrees) The theta values are specified in degrees, but LAMMPS converts them to radians internally; hence the units of M are in energy/radian\^2. - ---------- - 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 @@ -113,14 +118,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the CLASS2 package. See the :doc:`Build package ` doc page for more info. @@ -128,21 +130,12 @@ page for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - ---------- - .. _improper-Sun: - - **(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_coeff.rst b/doc/src/improper_coeff.rst index b71469523f1876bc3d6c7c3daafebd5ab44a2d85..3d2878c5179b9b047d8cee40397a982b6da38cd9 100644 --- a/doc/src/improper_coeff.rst +++ b/doc/src/improper_coeff.rst @@ -1,13 +1,12 @@ -.. index:: improper\_coeff +.. index:: improper_coeff -improper\_coeff command -======================= +improper_coeff command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_coeff N args @@ -17,12 +16,11 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_coeff 1 300.0 0.0 - improper_coeff \* 80.2 -1 2 - improper_coeff \*4 80.2 -1 2 + improper_coeff * 80.2 -1 2 + improper_coeff *4 80.2 -1 2 Description """"""""""" @@ -30,7 +28,7 @@ Description Specify the improper force field coefficients for one or more improper types. The number and meaning of the coefficients depends on the improper style. Improper coefficients can also be set in the data -file read by the :doc:`read\_data ` command or in a restart +file read by the :doc:`read_data ` command or in a restart file. N can be specified in one of two ways. An explicit numeric value can @@ -42,57 +40,50 @@ to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -Note that using an improper\_coeff command can override a previous +Note that using an improper_coeff command can override a previous setting for the same improper type. For example, these commands set the coeffs for all improper types, then overwrite the coeffs for just improper type 2: +.. code-block:: LAMMPS -.. parsed-literal:: - - improper_coeff \* 300.0 0.0 + improper_coeff * 300.0 0.0 improper_coeff 2 50.0 0.0 A line in a data file that specifies improper coefficients uses the -exact same format as the arguments of the improper\_coeff command in an +exact same format as the arguments of the improper_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, under the "Improper Coeffs" section of a data file, the line that corresponds to the 1st example above would be listed as - .. parsed-literal:: 1 300.0 0.0 -The :doc:`improper\_style class2 ` is an exception to +The :doc:`improper_style class2 ` is an exception to this rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its doc page for details. - ---------- - The list of all improper styles defined in LAMMPS is given on the -:doc:`improper\_style ` doc page. They are also listed +:doc:`improper_style ` doc page. They are also listed in more compact form on the :ref:`Commands improper ` doc page. On either of those pages, click on the style to display the formula it computes and its coefficients as specified by the associated -improper\_coeff command. - +improper_coeff command. ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a -:doc:`read\_data `, :doc:`read\_restart `, or -:doc:`create\_box ` command. +:doc:`read_data `, :doc:`read_restart `, or +:doc:`create_box ` command. An improper style must be defined before any improper coefficients are set, either in the input script or in a data file. @@ -100,11 +91,6 @@ set, either in the input script or in a data file. Related commands """""""""""""""" -:doc:`improper\_style ` +:doc:`improper_style ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_cossq.rst b/doc/src/improper_cossq.rst index 803f6d9e6afee28b5d315274d4dc6dc342e42671..6e669d3dbebcff592c63c9def114c976c473edec 100644 --- a/doc/src/improper_cossq.rst +++ b/doc/src/improper_cossq.rst @@ -1,24 +1,22 @@ -.. index:: improper\_style cossq +.. index:: improper_style cossq -improper\_style cossq command -============================= +improper_style cossq command +============================ -improper\_style cossq/omp command -================================= +improper_style cossq/omp command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style cossq Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style cossq improper_coeff 1 4.0 0.0 @@ -28,18 +26,19 @@ Description The *cossq* improper style uses the potential -.. image:: Eqs/improper_cossq.jpg - :align: center +.. math:: + + E = \frac{1}{2} K \cos^2{\left(\chi - \chi_0\right)} -where x is the improper angle, x0 is its equilibrium value, and K is a -prefactor. +where :math:`\chi` is the improper angle, :math:`\chi_0` is its +equilibrium value, and :math:`K` is a prefactor. If the 4 atoms in an improper quadruplet (listed in the data file read -by the :doc:`read\_data ` command) are ordered I,J,K,L then X -is the angle between the plane of I,J,K and the plane of J,K,L. +by the :doc:`read_data ` command) are ordered I,J,K,L then +:math:`\chi` is the angle between the plane of I,J,K and the plane of J,K,L. Alternatively, you can think of atoms J,K,L as being in a plane, and -atom I above the plane, and X as a measure of how far out-of-plane I -is with respect to the other 3 atoms. +atom I above the plane, and :math:`\chi` as a measure of how far +out-of-plane I is with respect to the other 3 atoms. Note that defining 4 atoms to interact in this way, does not mean that bonds necessarily exist between I-J, J-K, or K-L, as they would in a @@ -47,18 +46,16 @@ linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an improper to be defined between the 4 atoms. The following coefficients must be defined for each improper type via -the :doc:`improper\_coeff ` command as in the example +the :doc:`improper_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* K (energy) -* X0 (degrees) - +* :math:`K` (energy) +* :math:`\chi_0` (degrees) ---------- - 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 @@ -77,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -92,11 +86,6 @@ page for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_cvff.rst b/doc/src/improper_cvff.rst index 43cd36f60a35e89e3c7c6ffb104e053791c25e63..a952d9f3b847d55aee27cf92c6453d0ca195d6e9 100644 --- a/doc/src/improper_cvff.rst +++ b/doc/src/improper_cvff.rst @@ -1,27 +1,25 @@ -.. index:: improper\_style cvff +.. index:: improper_style cvff -improper\_style cvff command -============================ +improper_style cvff command +=========================== -improper\_style cvff/intel command -================================== +improper_style cvff/intel command +================================= -improper\_style cvff/omp command -================================ +improper_style cvff/omp command +=============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style cvff Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style cvff improper_coeff 1 80.0 -1 4 @@ -31,17 +29,18 @@ Description The *cvff* improper style uses the potential -.. image:: Eqs/improper_cvff.jpg - :align: center +.. math:: + + E = K [1 + d \cos (n \phi) ] where phi is the improper dihedral angle. If the 4 atoms in an improper quadruplet (listed in the data file read -by the :doc:`read\_data ` command) are ordered I,J,K,L then +by the :doc:`read_data ` command) are ordered I,J,K,L then the improper dihedral angle is between the plane of I,J,K and the plane of J,K,L. Note that because this is effectively a dihedral angle, the formula for this improper style is the same as for -:doc:`dihedral\_style harmonic `. +:doc:`dihedral_style harmonic `. Note that defining 4 atoms to interact in this way, does not mean that bonds necessarily exist between I-J, J-K, or K-L, as they would in a @@ -49,19 +48,17 @@ linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an improper to be defined between the 4 atoms. The following coefficients must be defined for each improper type via -the :doc:`improper\_coeff ` command as in the example +the :doc:`improper_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* K (energy) -* d (+1 or -1) -* n (0,1,2,3,4,6) - +* :math:`K` (energy) +* :math:`d` (+1 or -1) +* :math:`n` (0,1,2,3,4,6) ---------- - 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 @@ -80,14 +77,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -95,11 +89,6 @@ for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_distance.rst b/doc/src/improper_distance.rst index 4efc9a2261dbb9f0670c1c43729a8d5125dc8bf4..d5f07f997171947ac42e9c2e38349545760b2da8 100644 --- a/doc/src/improper_distance.rst +++ b/doc/src/improper_distance.rst @@ -1,18 +1,19 @@ -.. index:: improper\_style distance +.. index:: improper_style distance -improper\_style distance command -================================ +improper_style distance command +=============================== Syntax """""" -improper\_style distance +.. code-block:: LAMMPS + + improper_style distance Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style distance improper_coeff 1 80.0 100.0 @@ -22,12 +23,13 @@ Description The *distance* improper style uses the potential -.. image:: Eqs/improper_dist-1.jpg - :align: center +.. math:: + + E = K_2 d^2 + K_4 d^4 -where d is the distance between the central atom and the plane formed +where :math:`d` is the distance between the central atom and the plane formed by the other three atoms. If the 4 atoms in an improper quadruplet -(listed in the data file read by the :doc:`read\_data ` +(listed in the data file read by the :doc:`read_data ` command) are ordered I,J,K,L then the I-atom is assumed to be the central atom. @@ -40,20 +42,17 @@ linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an improper to be defined between the 4 atoms. The following coefficients must be defined for each improper type via -the improper\_coeff command as in the example above, or in the data -file or restart files read by the read\_data or read\_restart commands: - -* K\_2 (energy/distance\^2) -* K\_4 (energy/distance\^4) +the improper_coeff command as in the example above, or in the data +file or restart files read by the read_data or read_restart commands: +* :math:`K_2` (energy/distance\^2) +* :math:`K_4` (energy/distance\^4) ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -61,11 +60,6 @@ page for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_distharm.rst b/doc/src/improper_distharm.rst index 8fb74129ecb5541b582a0efcf4a972ef0abd65bb..113941bee4be9c6870fb812762a6c0e26fd8f5d1 100644 --- a/doc/src/improper_distharm.rst +++ b/doc/src/improper_distharm.rst @@ -1,18 +1,19 @@ -.. index:: improper\_style distharm +.. index:: improper_style distharm -improper\_style distharm command -================================ +improper_style distharm command +=============================== Syntax """""" -improper\_style distharm +.. code-block:: LAMMPS + + improper_style distharm Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style distharm improper_coeff 1 25.0 0.5 @@ -22,32 +23,30 @@ Description The *distharm* improper style uses the potential -.. image:: Eqs/improper_distharm.jpg - :align: center +.. math:: -where d is the oriented distance between the central atom and the plane formed + E = K (d - d_0)^2 + +where :math:`d` is the oriented distance between the central atom and the plane formed by the other three atoms. If the 4 atoms in an improper quadruplet -(listed in the data file read by the :doc:`read\_data ` +(listed in the data file read by the :doc:`read_data ` command) are ordered I,J,K,L then the L-atom is assumed to be the central atom. Note that this is different from the convention used -in the improper\_style distance. The distance d is oriented and can take -on negative values. This may lead to unwanted behavior if d0 is not equal to zero. +in the improper_style distance. The distance :math:`d` is oriented and can take +on negative values. This may lead to unwanted behavior if :math:`d_0` is not equal to zero. The following coefficients must be defined for each improper type via -the improper\_coeff command as in the example above, or in the data -file or restart files read by the read\_data or read\_restart commands: - -* K (energy/distance\^2) -* d0 (distance) +the improper_coeff command as in the example above, or in the data +file or restart files read by the read_data or read_restart commands: +* :math:`K` (energy/distance\^2) +* :math:`d_0` (distance) ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-YAFF package. See the :doc:`Build package ` doc page for more info. @@ -55,11 +54,6 @@ page for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_fourier.rst b/doc/src/improper_fourier.rst index 227b02d275213bea418a63b0cf9066e8d89b00dc..7842e866f610986c1b4be17a56b49b0193ec9b30 100644 --- a/doc/src/improper_fourier.rst +++ b/doc/src/improper_fourier.rst @@ -1,24 +1,22 @@ -.. index:: improper\_style fourier +.. index:: improper_style fourier -improper\_style fourier command -=============================== +improper_style fourier command +============================== -improper\_style fourier/omp command -=================================== +improper_style fourier/omp command +================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style fourier Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style fourier improper_coeff 1 100.0 0.0 1.0 0.5 1 @@ -28,8 +26,9 @@ Description The *fourier* improper style uses the following potential: -.. image:: Eqs/improper_fourier.jpg - :align: center +.. math:: + + E = K [C_0 + C_1 \cos ( \omega) + C_2 \cos( 2 \omega) ] where K is the force constant, C0, C1, C2 are dimensionless coefficients, and omega is the angle between the IL axis and the IJK plane: @@ -40,21 +39,19 @@ and omega is the angle between the IL axis and the IJK plane: If all parameter (see below) is not zero, the all the three possible angles will taken in account. The following coefficients must be defined for each improper type via -the :doc:`improper\_coeff ` command as in the example +the :doc:`improper_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* K (energy) -* C0 (unitless) -* C1 (unitless) -* C2 (unitless) +* :math:`K` (energy) +* :math:`C_0` (unitless) +* :math:`C_1` (unitless) +* :math:`C_2` (unitless) * all (0 or 1, optional) - ---------- - 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 @@ -73,26 +70,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_harmonic.rst b/doc/src/improper_harmonic.rst index 6eb205f8e7dc588ae33749c65a9637402da2fd18..0f525ff34bcba8a93dda879218ddb1d15624cfa5 100644 --- a/doc/src/improper_harmonic.rst +++ b/doc/src/improper_harmonic.rst @@ -1,30 +1,28 @@ -.. index:: improper\_style harmonic +.. index:: improper_style harmonic -improper\_style harmonic command -================================ +improper_style harmonic command +=============================== -improper\_style harmonic/intel command -====================================== +improper_style harmonic/intel command +===================================== -improper\_style harmonic/kk command -=================================== +improper_style harmonic/kk command +================================== -improper\_style harmonic/omp command -==================================== +improper_style harmonic/omp command +=================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style harmonic Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style harmonic improper_coeff 1 100.0 0 @@ -34,18 +32,21 @@ Description The *harmonic* improper style uses the potential -.. image:: Eqs/improper_harmonic.jpg - :align: center +.. math:: + + E = K (\chi - \chi_0)^2 -where X is the improper angle, X0 is its equilibrium value, and K is a -prefactor. Note that the usual 1/2 factor is included in K. +where :math:`\chi` is the improper angle, :math:`\chi_0` is its equilibrium +value, and :math:`K` is a prefactor. Note that the usual 1/2 factor is +included in :math:`K`. If the 4 atoms in an improper quadruplet (listed in the data file read -by the :doc:`read\_data ` command) are ordered I,J,K,L then X +by the :doc:`read_data ` command) are ordered I,J,K,L then +:math:`\chi` is the angle between the plane of I,J,K and the plane of J,K,L. Alternatively, you can think of atoms J,K,L as being in a plane, and -atom I above the plane, and X as a measure of how far out-of-plane I -is with respect to the other 3 atoms. +atom I above the plane, and :math:`\chi` as a measure of how far out-of-plane +I is with respect to the other 3 atoms. Note that defining 4 atoms to interact in this way, does not mean that bonds necessarily exist between I-J, J-K, or K-L, as they would in a @@ -53,21 +54,19 @@ linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an improper to be defined between the 4 atoms. The following coefficients must be defined for each improper type via -the :doc:`improper\_coeff ` command as in the example +the :doc:`improper_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* K (energy/radian\^2) -* X0 (degrees) +* :math:`K` (energy/radian\^2) +* :math:`\chi_0` (degrees) -X0 is specified in degrees, but LAMMPS converts it to radians +:math:`\chi_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of K are in energy/radian\^2. - ---------- - 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 @@ -86,14 +85,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -101,11 +97,6 @@ for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_hybrid.rst b/doc/src/improper_hybrid.rst index 7272cb2abc507e46a1f34a768597f12e02a2e010..9d5c4c696d0ce7ab27e643d18c691a0545c9b110 100644 --- a/doc/src/improper_hybrid.rst +++ b/doc/src/improper_hybrid.rst @@ -1,13 +1,12 @@ -.. index:: improper\_style hybrid +.. index:: improper_style hybrid -improper\_style hybrid command -============================== +improper_style hybrid command +============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style hybrid style1 style2 ... @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style hybrid harmonic helix improper_coeff 1 harmonic 120.0 30 @@ -32,15 +30,15 @@ example, impropers in a polymer flow (of improper type 1) could be computed with a *harmonic* potential and impropers in the wall boundary (of improper type 2) could be computed with a *cvff* potential. The assignment of improper type to style is made via the -:doc:`improper\_coeff ` command or in the data file. +:doc:`improper_coeff ` command or in the data file. -In the improper\_coeff command, the first coefficient sets the improper +In the improper_coeff command, the first coefficient sets the improper style and the remaining coefficients are those appropriate to that -style. In the example above, the 2 improper\_coeff commands would set +style. In the example above, the 2 improper_coeff commands would set impropers of improper type 1 to be computed with a *harmonic* -potential with coefficients 120.0, 30 for K, X0. Improper type 2 -would be computed with a *cvff* potential with coefficients 20.0, -1, -2 for K, d, n. +potential with coefficients 120.0, 30 for :math:`K`, :math:`\chi_0`. +Improper type 2 would be computed with a *cvff* potential with coefficients +20.0, -1, 2 for K, d, and n, respectively. If the improper *class2* potential is one of the hybrid styles, it requires additional AngleAngle coefficients be specified in the data @@ -51,33 +49,26 @@ appropriate to that style. The AngleAngle coeffs for that improper type will then be ignored. An improper style of *none* can be specified as the 2nd argument to -the improper\_coeff command, if you desire to turn off certain improper +the improper_coeff command, if you desire to turn off certain improper types. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. Unlike other improper styles, the hybrid improper style does not store -improper coefficient info for individual sub-styles in a :doc:`binary restart files `. Thus when restarting a simulation from a -restart file, you need to re-specify improper\_coeff commands. +improper coefficient info for individual sub-styles in a :doc:`binary restart files `. +Thus when restarting a simulation from a +restart file, you need to re-specify improper_coeff commands. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_inversion_harmonic.rst b/doc/src/improper_inversion_harmonic.rst index 11832d2754097b95a4c9b6238a6f4bad35e5596d..4a4ad9e8634da3356d24fdb8ad8313d5aa4a8a41 100644 --- a/doc/src/improper_inversion_harmonic.rst +++ b/doc/src/improper_inversion_harmonic.rst @@ -1,21 +1,19 @@ -.. index:: improper\_style inversion/harmonic +.. index:: improper_style inversion/harmonic -improper\_style inversion/harmonic command -========================================== +improper_style inversion/harmonic command +========================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style inversion/harmonic Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style inversion/harmonic improper_coeff 1 18.776340 0.000000 @@ -26,41 +24,39 @@ Description The *inversion/harmonic* improper style follows the Wilson-Decius out-of-plane angle definition and uses an harmonic potential: -.. image:: Eqs/improper_inversion_harmonic.jpg - :align: center +.. math:: + + E = K \left(\omega - \omega_0\right)^2 -where K is the force constant and omega is the angle evaluated for -all three axis-plane combinations centered around the atom I. For -the IL axis and the IJK plane omega looks as follows: +where :math:`K` is the force constant and :math:`\omega` is the angle +evaluated for all three axis-plane combinations centered around the atom I. +For the IL axis and the IJK plane :math:`\omega` looks as follows: .. image:: JPG/umbrella.jpg :align: center Note that the *inversion/harmonic* angle term evaluation differs to -the :doc:`improper\_umbrella ` due to the cyclic -evaluation of all possible angles omega. +the :doc:`improper_umbrella ` due to the cyclic +evaluation of all possible angles :math:`\omega`. The following coefficients must be defined for each improper type via -the :doc:`improper\_coeff ` command as in the example +the :doc:`improper_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* K (energy) -* omega0 (degrees) - -If omega0 = 0 the potential term has a minimum for the planar -structure. Otherwise it has two minima at +/- omega0, with a barrier -in between. +* :math:`K` (energy) +* :math:`\omega_0` (degrees) +If :math:`\omega_0 = 0` the potential term has a single minimum for +the planar structure. Otherwise it has two minima at +/- :math:`\omega_0`, +with a barrier in between. ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-MOFFF package. See the :doc:`Build package ` doc page for more info. @@ -68,15 +64,6 @@ page for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - - ----------- - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_none.rst b/doc/src/improper_none.rst index 83622b4f11676be779b0e40e92e4047ded4996b9..c1c194041a8ef8b3d2bc135deec8eddbb9f2709c 100644 --- a/doc/src/improper_none.rst +++ b/doc/src/improper_none.rst @@ -1,21 +1,19 @@ -.. index:: improper\_style none +.. index:: improper_style none -improper\_style none command -============================ +improper_style none command +=========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style none Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style none @@ -24,9 +22,9 @@ Description Using an improper style of none means improper forces and energies are not computed, even if quadruplets of improper atoms were listed in the -data file read by the :doc:`read\_data ` command. +data file read by the :doc:`read_data ` command. -See the :doc:`improper\_style zero ` command for a way to +See the :doc:`improper_style zero ` command for a way to calculate improper statistics, but compute no improper interactions. Restrictions @@ -36,11 +34,6 @@ Restrictions Related commands """""""""""""""" -:doc:`improper\_style zero ` +:doc:`improper_style zero ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_ring.rst b/doc/src/improper_ring.rst index 374b64fcd7ee4af34633e3e907744c52e8e3544a..0634405c0e79086739582e2f3510798e4b414708 100644 --- a/doc/src/improper_ring.rst +++ b/doc/src/improper_ring.rst @@ -1,24 +1,22 @@ -.. index:: improper\_style ring +.. index:: improper_style ring -improper\_style ring command -============================ +improper_style ring command +=========================== -improper\_style ring/omp command -================================ +improper_style ring/omp command +=============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style ring Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style ring improper_coeff 1 8000 70.5 @@ -28,17 +26,22 @@ Description The *ring* improper style uses the potential -.. image:: Eqs/improper_ring.jpg - :align: center +.. math:: + + E = &\frac{1}{6} K \left(\Delta_{ijl} + \Delta_{ijk} + \Delta_{kjl} \right)^6 \\ + \Delta_{ijl} = & \cos{\theta_{ijl} - \cos{\theta_0}} \\ + \Delta_{ijk} = & \cos{\theta_{ijk} - \cos{\theta_0}} \\ + \Delta_{kjl} = & \cos{\theta_{kjl} - \cos{\theta_0}} -where K is a prefactor, theta is the angle formed by the atoms -specified by (i,j,k,l) indices and theta0 its equilibrium value. +where :math:`K` is a prefactor, :math:`\theta` is the angle formed by +the atoms specified by (i,j,k,l) indices and :math:`\theta_0` its +equilibrium value. If the 4 atoms in an improper quadruplet (listed in the data file read -by the :doc:`read\_data ` command) are ordered i,j,k,l then -theta\_\ *ijl* is the angle between atoms i,j and l, theta\_\ *ijk* is the -angle between atoms i,j and k, theta\_\ *kjl* is the angle between atoms -j,k, and l. +by the :doc:`read_data ` command) are ordered i,j,k,l then +:math:`\theta_{ijl}` is the angle between atoms i,j and l, +:math:`\theta_{ijk}` is the angle between atoms i,j and k, +:math:`\theta_{kjl}` is the angle between atoms j,k, and l. The "ring" improper style implements the improper potential introduced by Destree et al., in Equation (9) of :ref:`(Destree) `. This @@ -51,18 +54,16 @@ data file four atoms: i, j, k and l are specified with i,j and l lying on the backbone of the chain and k specifying the chirality of j. The following coefficients must be defined for each improper type via -the :doc:`improper\_coeff ` command as in the example +the :doc:`improper_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* K (energy) -* theta0 (degrees) - +* :math:`K` (energy) +* :math:`\theta_0` (degrees) ---------- - 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 @@ -81,14 +82,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -96,16 +94,9 @@ page for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` .. _Destree: - - **(Destree)** M. Destree, F. Laupretre, A. Lyulin, and J.-P. Ryckaert, J Chem Phys, 112, 9632 (2000). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_sqdistharm.rst b/doc/src/improper_sqdistharm.rst index 94e9c12fcae29ef05222ce5b3f92eaa2f117632a..2f8723a68c66a66b4c48a628222df44ca3c80616 100644 --- a/doc/src/improper_sqdistharm.rst +++ b/doc/src/improper_sqdistharm.rst @@ -1,18 +1,19 @@ -.. index:: improper\_style sqdistharm +.. index:: improper_style sqdistharm -improper\_style sqdistharm command -================================== +improper_style sqdistharm command +================================= Syntax """""" -improper\_style sqdistharm +.. code-block:: LAMMPS + + improper_style sqdistharm Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style sqdistharm improper_coeff 1 50.0 0.1 @@ -22,33 +23,31 @@ Description The *sqdistharm* improper style uses the potential -.. image:: Eqs/improper_sqdistharm.jpg - :align: center +.. math:: -where d is the distance between the central atom and the plane formed + E = K (d^2 - {d_0}^2)^2 + +where :math:`d` is the distance between the central atom and the plane formed by the other three atoms. If the 4 atoms in an improper quadruplet -(listed in the data file read by the :doc:`read\_data ` +(listed in the data file read by the :doc:`read_data ` command) are ordered I,J,K,L then the L-atom is assumed to be the central atom. Note that this is different from the convention used -in the improper\_style distance. +in the improper_style distance. The following coefficients must be defined for each improper type via -the improper\_coeff command as in the example above, or in the data -file or restart files read by the read\_data or read\_restart commands: - -* K (energy/distance\^4) -* d0\^2 (distance\^2) +the improper_coeff command as in the example above, or in the data +file or restart files read by the read_data or read_restart commands: -Note that d0\^2 (in units distance\^2) has be provided and not d0. +* :math:`K` (energy/distance\^4) +* :math:`{d_0}^2` (distance\^2) +Note that :math:`{d_0}^2` (in units distance\^2) has be provided and not :math:`d_0`. ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -56,11 +55,6 @@ page for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_style.rst b/doc/src/improper_style.rst index e49818981aa93bc0eeb4213355f5a3c2fe4f9cfa..0667b8f5b9749278555d6c9e1fe2fc52ec0dc527 100644 --- a/doc/src/improper_style.rst +++ b/doc/src/improper_style.rst @@ -1,13 +1,12 @@ -.. index:: improper\_style +.. index:: improper_style -improper\_style command -======================= +improper_style command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style style @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style harmonic improper_style cvff @@ -29,7 +27,7 @@ Description Set the formula(s) LAMMPS uses to compute improper interactions between quadruplets of atoms, which remain in force for the duration of the simulation. The list of improper quadruplets is read in by a -:doc:`read\_data ` or :doc:`read\_restart ` command +:doc:`read_data ` or :doc:`read_restart ` command from a data or restart file. Note that the ordering of the 4 atoms in an improper quadruplet determines the definition of the improper angle used in the formula for each style. See the doc pages of @@ -39,37 +37,35 @@ Hybrid models where impropers are computed using different improper potentials can be setup using the *hybrid* improper style. The coefficients associated with an improper style can be specified in -a data or restart file or via the :doc:`improper\_coeff ` +a data or restart file or via the :doc:`improper_coeff ` command. All improper potentials store their coefficient data in binary restart -files which means improper\_style and -:doc:`improper\_coeff ` commands do not need to be +files which means improper_style and +:doc:`improper_coeff ` commands do not need to be re-specified in an input script that restarts a simulation. See the -:doc:`read\_restart ` command for details on how to do -this. The one exception is that improper\_style *hybrid* only stores +:doc:`read_restart ` command for details on how to do +this. The one exception is that improper_style *hybrid* only stores the list of sub-styles in the restart file; improper coefficients need to be re-specified. .. note:: When both an improper and pair style is defined, the - :doc:`special\_bonds ` command often needs to be used to + :doc:`special_bonds ` command often needs to be used to turn off (or weight) the pairwise interaction that would otherwise exist between a group of 4 bonded atoms. - ---------- - Here is an alphabetic list of improper styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients -specified by the associated :doc:`improper\_coeff ` +specified by the associated :doc:`improper_coeff ` command. Click on the style to display the formula it computes, any additional -arguments specified in the improper\_style command, and coefficients -specified by the associated :doc:`improper\_coeff ` +arguments specified in the improper_style command, and coefficients +specified by the associated :doc:`improper_coeff ` command. There are also additional accelerated pair styles included in the @@ -94,15 +90,12 @@ more of (g,i,k,o,t) to indicate which accelerated styles exist. :doc:`sqdistharm ` - improper that is harmonic in the square of the out-of-plane distance - ---------- - Restrictions """""""""""" - -Improper styles can only be set for atom\_style choices that allow +Improper styles can only be set for atom_style choices that allow impropers to be defined. Most improper styles are part of the MOLECULE package. They are only @@ -112,17 +105,11 @@ individual improper potentials tell if it is part of a package. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_umbrella.rst b/doc/src/improper_umbrella.rst index 785d3ce7dd196e3e032fb73ca17e928d7166abff..ad070319bc55290cc38c631b25495af501e26947 100644 --- a/doc/src/improper_umbrella.rst +++ b/doc/src/improper_umbrella.rst @@ -1,24 +1,22 @@ -.. index:: improper\_style umbrella +.. index:: improper_style umbrella -improper\_style umbrella command -================================ +improper_style umbrella command +=============================== -improper\_style umbrella/omp command -==================================== +improper_style umbrella/omp command +=================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style umbrella Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style umbrella improper_coeff 1 100.0 180.0 @@ -30,34 +28,34 @@ The *umbrella* improper style uses the following potential, which is commonly referred to as a classic inversion and used in the :doc:`DREIDING ` force field: -.. image:: Eqs/improper_umbrella.jpg - :align: center +.. math:: + + E = & \frac{1}{2}K\left( \frac{1}{\sin\omega_0}\right) ^2 \left( \cos\omega - \cos\omega_0\right) ^2 \qquad \omega_0 \neq 0^o \\ + E = & K\left( 1-cos\omega\right) \qquad \omega_0 = 0^o -where K is the force constant and omega is the angle between the IL +where :math:`K` is the force constant and :math:`\omega` is the angle between the IL axis and the IJK plane: .. image:: JPG/umbrella.jpg :align: center -If omega0 = 0 the potential term has a minimum for the planar -structure. Otherwise it has two minima at +/- omega0, with a barrier -in between. +If :math:`\omega_0 = 0` the potential term has a minimum for the planar +structure. Otherwise it has two minima at :math:`\omega +/- \omega_0`, +with a barrier in between. See :ref:`(Mayo) ` for a description of the DREIDING force field. The following coefficients must be defined for each improper type via -the :doc:`improper\_coeff ` command as in the example +the :doc:`improper_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* K (energy) -* omega0 (degrees) - +* :math:`K` (energy) +* :math:`\omega_0` (degrees) ---------- - 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 @@ -76,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package ` doc page for more info. @@ -91,22 +86,13 @@ for more info. Related commands """""""""""""""" -:doc:`improper\_coeff ` +:doc:`improper_coeff ` **Default:** none - ---------- - .. _umbrella-Mayo: - - **(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990), - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/improper_zero.rst b/doc/src/improper_zero.rst index 145146e6f6979585b200f3d6adaf3bbd29dc6120..354c0d486eff731b63caaa39a06dbc0fd4688ac1 100644 --- a/doc/src/improper_zero.rst +++ b/doc/src/improper_zero.rst @@ -1,25 +1,23 @@ -.. index:: improper\_style zero +.. index:: improper_style zero -improper\_style zero command -============================ +improper_style zero command +=========================== Syntax """""" +.. code-block:: LAMMPS -.. parsed-literal:: - - improper_style zero *nocoeff* + improper_style zero [nocoeff] Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS improper_style zero improper_style zero nocoeff - improper_coeff \* + improper_coeff * Description """"""""""" @@ -30,15 +28,15 @@ accessible to other commands. As an example, the :doc:`compute improper/local ` command can be used to compute the chi values for the list of quadruplets of improper atoms -listed in the data file read by the :doc:`read\_data ` +listed in the data file read by the :doc:`read_data ` command. If no improper style is defined, this command cannot be used. The optional *nocoeff* flag allows to read data files with a ImproperCoeff -section for any improper style. Similarly, any improper\_coeff commands +section for any improper style. Similarly, any improper_coeff commands will only be checked for the improper type number and the rest ignored. -Note that the :doc:`improper\_coeff ` command must be +Note that the :doc:`improper_coeff ` command must be used for all improper types, though no additional values are specified. @@ -48,11 +46,6 @@ Restrictions **Related commands:** none -:doc:`improper\_style none ` +:doc:`improper_style none ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/impropers.rst b/doc/src/impropers.rst index 93b4776d2cd9a0e1d141749a5cdd643f23c588c8..a6653fde7d6013c502084b46a3b2907f4d50c003 100644 --- a/doc/src/impropers.rst +++ b/doc/src/impropers.rst @@ -1,7 +1,6 @@ Improper Styles ############### - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/include.rst b/doc/src/include.rst index 9f1a11e8f7def75e848ede725d844c94e390433a..e98ffa05e4b1391362eb573bf007b09dfd993cf3 100644 --- a/doc/src/include.rst +++ b/doc/src/include.rst @@ -6,7 +6,6 @@ include command Syntax """""" - .. parsed-literal:: include file @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS include newfile include in.run2 @@ -45,8 +43,3 @@ Related commands :doc:`variable `, :doc:`jump ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/info.rst b/doc/src/info.rst index cc41b49f29b7a447267770b28469dc2a7ca5b517..77d430ea66b5407ab22cf7b121f867d7fd4b0132 100644 --- a/doc/src/info.rst +++ b/doc/src/info.rst @@ -6,7 +6,6 @@ info command Syntax """""" - .. parsed-literal:: info args @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS info system info groups computes variables @@ -128,8 +126,3 @@ Default The *out* option has the default *screen*\ . The *styles* option has the default *all*\ . - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/jump.rst b/doc/src/jump.rst index bd16c9109f998f2c89587ea96903265b5cce782d..d597b336d315618c836a4fd923880a0658d95c35 100644 --- a/doc/src/jump.rst +++ b/doc/src/jump.rst @@ -6,7 +6,6 @@ jump command Syntax """""" - .. parsed-literal:: jump file label @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS jump newfile jump in.run2 runloop @@ -41,8 +39,7 @@ script is re-opened and read again. The SELF option is not guaranteed to work when the current input script is being read through stdin (standard input), e.g. - -.. parsed-literal:: +.. code-block:: bash lmp_g++ < in.script @@ -50,8 +47,7 @@ since the SELF option invokes the C-library rewind() call, which may not be supported for stdin on some systems or by some MPI implementations. This can be worked around by using the :doc:`-in command-line switch `, e.g. - -.. parsed-literal:: +.. code-block:: bash lmp_g++ -in in.script @@ -60,8 +56,7 @@ the script name as a variable to the input script. In the latter case, a :doc:`variable ` called "fname" could be used in place of SELF, e.g. - -.. parsed-literal:: +.. code-block:: bash lmp_g++ -var fname in.script < in.script @@ -75,8 +70,7 @@ etc. The :doc:`next ` command is used to exit the loop after 10 iterations. When the "a" variable has been incremented for the tenth time, it will cause the next jump command to be skipped. - -.. parsed-literal:: +.. code-block:: LAMMPS variable a loop 10 label loop @@ -93,8 +87,7 @@ partitions of 10 procs each. An in.file containing the example variable and jump command will cause each partition to run a different simulation. - -.. parsed-literal:: +.. code-block:: LAMMPS mpirun -np 40 lmp_ibm -partition 4x10 -in in.file @@ -108,8 +101,7 @@ checked, so long as it is current on the timestep when the run completes. As explained on the :doc:`variable ` doc page, this can be insured by including the variable in thermodynamic output. - -.. parsed-literal:: +.. code-block:: LAMMPS variable myTemp equal temp label loop @@ -125,27 +117,25 @@ Here is an example of a double loop which uses the if and :doc:`jump ` commands to break out of the inner loop when a condition is met, then continues iterating through the outer loop. - -.. parsed-literal:: +.. code-block:: LAMMPS label loopa variable a loop 5 label loopb variable b loop 5 - print "A,B = $a,$b" - run 10000 - if "$b > 2" then "jump SELF break" + print "A,B = $a,$b" + run 10000 + if "$b > 2" then "jump SELF break" next b jump in.script loopb - label break - variable b delete + label break + variable b delete next a jump SELF loopa Restrictions """""""""""" - If you jump to a file and it does not contain the specified label, LAMMPS will come to the end of the file and exit. @@ -156,8 +146,3 @@ Related commands :doc:`next ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/kim_commands.rst b/doc/src/kim_commands.rst index 9f0b5a6775c56e6b1120b2e061b2e621348163f1..99f7efffd5dd7186270fff48da6e2aa019167cc7 100644 --- a/doc/src/kim_commands.rst +++ b/doc/src/kim_commands.rst @@ -1,42 +1,47 @@ -.. index:: kim\_init +.. index:: kim_init, kim_interactions, kim_query, kim_param, kim_property -kim\_init command -================= +:ref:`kim_init` command +========================================= -kim\_interactions command -========================= +:ref:`kim_interactions` command +========================================================= -kim\_query command -================== +:ref:`kim_query` command +=========================================== -kim\_param command -================== +:ref:`kim_param` command +=========================================== + +:ref:`kim_property` command +================================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init model user_units unitarg kim_interactions typeargs kim_query variable formatarg query_function queryargs kim_param get param_name index_range variables formatarg kim_param set param_name index_range values + kim_property create instance_id property_id + kim_property modify instance_id key key_name key_name_key key_name_value + kim_property remove instance_id key key_name + kim_property destroy instance_id + kim_property dump file -.. _formatarg\_options: - - +.. _formatarg_options: * model = name of the KIM interatomic model (the KIM ID for models archived in OpenKIM) -* user\_units = the LAMMPS :doc:`units ` style assumed in the LAMMPS input script -* unitarg = *unit\_conversion\_mode* (optional) -* typeargs = atom type to species mapping (one entry per atom type) or *fixed\_types* for models with a preset fixed mapping +* user_units = the LAMMPS :doc:`units ` style assumed in the LAMMPS input script +* unitarg = *unit_conversion_mode* (optional) +* typeargs = atom type to species mapping (one entry per atom type) or *fixed_types* for models with a preset fixed mapping * variable(s) = single name or list of names of (string style) LAMMPS variable(s) where a query result or parameter get result is stored. Variables that do not exist will be created by the command. * formatarg = *list, split, or explicit* (optional): - + .. parsed-literal:: - + *list* = returns a single string with a list of space separated values (e.g. "1.0 2.0 3.0"), which is placed in a LAMMPS variable as defined by the *variable* argument. [default for *kim_query*] @@ -44,19 +49,24 @@ Syntax on the prefix specified in *variable* and a number appended to indicate which element in the list of values is in the variable. *explicit* = returns the values separately in one more more variable names - provided as arguments that preceed *formatarg*\ . [default for *kim_param*] + provided as arguments that precede *formatarg*\ . [default for *kim_param*] -* query\_function = name of the OpenKIM web API query function to be used +* query_function = name of the OpenKIM web API query function to be used * queryargs = a series of *keyword=value* pairs that represent the web query; supported keywords depend on the query function -* param\_name = name of a KIM portable model parameter -* index\_range = KIM portable model parameter index range (an integer for a single element, or pair of integers separated by a colon for a range of elements) +* param_name = name of a KIM portable model parameter +* index_range = KIM portable model parameter index range (an integer for a single element, or pair of integers separated by a colon for a range of elements) * values = new value(s) to replace the current value(s) of a KIM portable model parameter +* instance_id = a positive integer identifying the KIM property instance +* property_id = identifier of a `KIM Property Definition `_, which can be (1) a property short name, (2) the full unique ID of the property (including the contributor and date), (3) a file name corresponding to a local property definition file +* key_name = one of the keys belonging to the specified KIM property definition +* key_name_key = a key belonging to a key-value pair (standardized in the `KIM Properties Framework `__) +* key_name_value = value to be associated with a key_name_key in a key-value pair +* file = name of a file to write the currently defined set of KIM property instances to Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal kim_interactions Si @@ -68,18 +78,27 @@ Examples kim_query a0 get_lattice_constant_cubic crystal=["fcc"] species=["Al"] units=["angstrom"] kim_param get gamma 1 varGamma kim_param set gamma 1 3.0 + kim_property create 1 atomic-mass + kim_property modify 1 key mass source-value 26.98154 + kim_property modify 1 key species source-value Al + kim_property remove 1 key species + kim_property destroy 1 + kim_property dump results.edn + + +.. _kim_description: Description """"""""""" -The set of *kim\_commands* provide a high-level wrapper around the +The set of *kim_commands* provide a high-level wrapper around the `Open Knowledgebase of Interatomic Models (OpenKIM) `_ repository of interatomic models (IMs) (potentials and force fields), so that they can be used by LAMMPS scripts. These commands do not implement any computations directly, but rather generate LAMMPS input commands based on the information retrieved from the OpenKIM repository to initialize and activate OpenKIM IMs and query their predictions for use in the LAMMPS script. -All LAMMPS input commands generated and executed by *kim\_commands* are +All LAMMPS input commands generated and executed by *kim_commands* are echoed to the LAMMPS log file. Benefits of Using OpenKIM IMs @@ -103,22 +122,18 @@ Reproducibility Convenience ^^^^^^^^^^^ -* IMs in OpenKIM are distributed in binary form along with LAMMPS and can be used in a LAMMPS input script simply by providing their KIM ID in the *kim\_init* command documented on this page. -* The *kim\_query* web query tool provides the ability to use the predictions of IMs for supported material properties (computed via `KIM Tests `_) as part of a LAMMPS input script setup and analysis. +* IMs in OpenKIM are distributed in binary form along with LAMMPS and can be used in a LAMMPS input script simply by providing their KIM ID in the *kim_init* command documented on this page. +* The *kim_query* web query tool provides the ability to use the predictions of IMs for supported material properties (computed via `KIM Tests `_) as part of a LAMMPS input script setup and analysis. * Support is provided for unit conversion between the :doc:`unit style ` used in the LAMMPS input script and the units required by the OpenKIM IM. This makes it possible to use a single input script with IMs using different units without change and minimizes the likelihood of errors due to incompatible units. -.. _IM\_types: - - +.. _IM_types: Types of IMs in OpenKIM ----------------------- There are two types of IMs archived in OpenKIM: -.. _PM\_type: - - +.. _PM_type: 1. The first type is called a *KIM Portable Model* (PM). A KIM PM is an independent computer implementation of an IM written in one of the languages supported by KIM (C, C++, Fortran) that conforms to the KIM Application Programming Interface (`KIM API `_) Portable Model Interface (PMI) standard. A KIM PM will work seamlessly with any simulation code that supports the KIM API/PMI standard (including LAMMPS; see `complete list of supported codes `_). 2. The second type is called a *KIM Simulator Model* (SM). A KIM SM is an IM that is implemented natively within a simulation code (\ *simulator*\ ) that supports the KIM API Simulator Model Interface (SMI); in this case LAMMPS. A separate SM package is archived in OpenKIM for each parameterization of the IM, which includes all of the necessary parameter files, LAMMPS commands, and metadata (supported species, units, etc.) needed to run the IM in LAMMPS. @@ -135,8 +150,7 @@ and supported species, separated by two underscores from the KIM ID itself, which begins with an IM code (\ *MO* for a KIM Portable Model, and *SM* for a KIM Simulator Model) followed by a unique 12-digit code and a 3-digit version identifier. -By convention SM prefixes begin with *Sim\_* to readily identify them. - +By convention SM prefixes begin with *Sim_* to readily identify them. .. parsed-literal:: @@ -151,7 +165,6 @@ access to raw files, and other information. The URL for the Model Page is constructed from the `extended KIM ID `_ of the IM: - .. parsed-literal:: https://openkim.org/id/extended_KIM_ID @@ -159,7 +172,6 @@ The URL for the Model Page is constructed from the For example, for the Stillinger--Weber potential listed above the Model Page is located at: - .. parsed-literal:: `https://openkim.org/id/SW_StillingerWeber_1985_Si__MO_405512056662_005 `_ @@ -168,11 +180,10 @@ See the `current list of KIM PMs and SMs archived in OpenKIM `_ to -learn how to install a pre-build binary of the OpenKIM Repository of Models. +See `Obtaining KIM Models `_ to +learn how to install a pre-built binary of the OpenKIM Repository of Models. .. note:: - It is also possible to locally install IMs not archived in OpenKIM, in which case their names do not have to conform to the KIM ID format. @@ -180,65 +191,66 @@ Using OpenKIM IMs with LAMMPS ----------------------------- Two commands are employed when using OpenKIM IMs, one to select the -IM and perform necessary initialization (*kim\_init*), and the second +IM and perform necessary initialization (\ *kim_init*\ ), and the second to set up the IM for use by executing any necessary LAMMPS commands -(*kim\_interactions*). Both are required. +(\ *kim_interactions*\ ). Both are required. See the *examples/kim* directory for example input scripts that use KIM PMs and KIM SMs. -OpenKIM IM Initialization (*kim\_init*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. _kim_init command: + +OpenKIM IM Initialization (*kim_init*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The *kim\_init* mode command must be issued **before** +The *kim_init* mode command must be issued **before** the simulation box is created (normally at the top of the file). This command sets the OpenKIM IM that will be used and may issue additional commands changing LAMMPS default settings that are required for using the selected IM (such as :doc:`units ` or -:doc:`atom\_style `). If needed, those settings can be overridden, -however, typically a script containing a *kim\_init* command -would not include *units* and *atom\_style* commands. +:doc:`atom_style `). If needed, those settings can be overridden, +however, typically a script containing a *kim_init* command +would not include *units* and *atom_style* commands. -The required arguments of *kim\_init* are the *model* name of the +The required arguments of *kim_init* are the *model* name of the IM to be used in the simulation (for an IM archived in OpenKIM this is its `extended KIM ID `_, and -the *user\_units*, which are the LAMMPS :doc:`units style ` used +the *user_units*, which are the LAMMPS :doc:`units style ` used in the input script. (Any dimensioned numerical values in the input script and values read in from files are expected to be in the -*user\_units* system.) +*user_units* system.) The selected IM can be either a :ref:`KIM PM or a KIM SM `. -For a KIM SM, the *kim\_init* command verifies that the SM is designed +For a KIM SM, the *kim_init* command verifies that the SM is designed to work with LAMMPS (and not another simulation code). In addition, the LAMMPS version used for defining the SM and the LAMMPS version being currently run are printed to help diagnose any incompatible changes to input script or command syntax between the two LAMMPS versions. -Based on the selected model *kim\_init* may modify the -:doc:`atom\_style `. +Based on the selected model *kim_init* may modify the +:doc:`atom_style `. Some SMs have requirements for this setting. If this is the case, then -*atom\_style* will be set to the required style. Otherwise, the value is left -unchanged (which in the absence of an *atom\_style* command in the input script -is the :doc:`default atom\_style value `). +*atom_style* will be set to the required style. Otherwise, the value is left +unchanged (which in the absence of an *atom_style* command in the input script +is the :doc:`default atom_style value `). -Regarding units, the *kim\_init* command behaves in different ways depending +Regarding units, the *kim_init* command behaves in different ways depending on whether or not *unit conversion mode* is activated as indicated by the optional *unitarg* argument. -If unit conversion mode is **not** active, then *user\_units* must +If unit conversion mode is **not** active, then *user_units* must either match the required units of the IM or the IM must be able to adjust its units to match. (The latter is only possible with some KIM PMs; SMs can never adjust their units.) If a match is possible, the LAMMPS :doc:`units ` command is called to set the units to -*user\_units*. If the match fails, the simulation is terminated with +*user_units*\ . If the match fails, the simulation is terminated with an error. Here is an example of a LAMMPS script to compute the cohesive energy of a face-centered cubic (fcc) lattice for the Ercolessi and Adams (1994) potential for Al: - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal boundary p p p @@ -252,19 +264,18 @@ potential for Al: variable Ec equal (pe/count(all))/${_u_energy} print "Cohesive Energy = ${EcJ} eV" -The above script will end with an error in the *kim\_init* line if the +The above script will end with an error in the *kim_init* line if the IM is changed to another potential for Al that does not work with *metal* -units. To address this *kim\_init* offers the *unit\_conversion\_mode* +units. To address this *kim_init* offers the *unit_conversion_mode* as shown below. -If unit conversion mode *is* active, then *kim\_init* calls the LAMMPS +If unit conversion mode *is* active, then *kim_init* calls the LAMMPS :doc:`units ` command to set the units to the IM's required or -preferred units. Conversion factors between the IM's units and the *user\_units* +preferred units. Conversion factors between the IM's units and the *user_units* are defined for all :doc:`physical quantities ` (mass, distance, etc.). (Note that converting to or from the "lj" unit style is not supported.) These factors are stored as :doc:`internal style variables ` with the following standard names: - .. parsed-literal:: _u_mass @@ -292,39 +303,37 @@ script constructs an fcc lattice with a lattice parameter defined in meters, computes the total energy, and prints the cohesive energy in Joules regardless of the units of the IM. - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 si unit_conversion_mode boundary p p p - lattice fcc 4.032e-10\*${_u_distance} + lattice fcc 4.032e-10*${_u_distance} region simbox block 0 1 0 1 0 1 units lattice create_box 1 simbox create_atoms 1 box - mass 1 4.480134e-26\*${_u_mass} + mass 1 4.480134e-26*${_u_mass} kim_interactions Al run 0 variable Ec_in_J equal (pe/count(all))/${_u_energy} print "Cohesive Energy = ${Ec_in_J} J" -Note the multiplication by ${\_u_distance} and ${\_u_mass} to convert -from SI units (specified in the *kim\_init* command) to whatever units the -IM uses (metal in this case), and the division by ${\_u_energy} +Note the multiplication by ${_u_distance} and ${_u_mass} to convert +from SI units (specified in the *kim_init* command) to whatever units the +IM uses (metal in this case), and the division by ${_u_energy} to convert from the IM's energy units to SI units (Joule). This script will work correctly for any IM for Al (KIM PM or SM) selected by the -*kim\_init* command. +*kim_init* command. Care must be taken to apply unit conversion to dimensional variables read in from a file. For example, if a configuration of atoms is read in from a -dump file using the :doc:`read\_dump ` command, the following can +dump file using the :doc:`read_dump ` command, the following can be done to convert the box and all atomic positions to the correct units: +.. code-block:: LAMMPS -.. parsed-literal:: - - variable xyfinal equal xy\*${_u_distance} - variable xzfinal equal xz\*${_u_distance} - variable yzfinal equal yz\*${_u_distance} + variable xyfinal equal xy*${_u_distance} + variable xzfinal equal xz*${_u_distance} + variable yzfinal equal yz*${_u_distance} change_box all x scale ${_u_distance} & y scale ${_u_distance} & z scale ${_u_distance} & @@ -339,17 +348,19 @@ be done to convert the box and all atomic positions to the correct units: all appropriate places in the input script. It is up to the user to do this correctly. -OpenKIM IM Execution (*kim\_interactions*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. _kim_interactions command: + +OpenKIM IM Execution (*kim_interactions*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The second and final step in using an OpenKIM IM is to execute the -*kim\_interactions* command. This command must be preceded by a *kim\_init* +*kim_interactions* command. This command must be preceded by a *kim_init* command and a command that defines the number of atom types *N* (such as -:doc:`create\_box `). -The *kim\_interactions* command has one argument *typeargs*\ . This argument +:doc:`create_box `). +The *kim_interactions* command has one argument *typeargs*\ . This argument contains either a list of *N* chemical species, which defines a mapping between atom types in LAMMPS to the available species in the OpenKIM IM, or the -keyword *fixed\_types* for models that have a preset fixed mapping (i.e. +keyword *fixed_types* for models that have a preset fixed mapping (i.e. the mapping between LAMMPS atom types and chemical species is defined by the model and cannot be changed). In the latter case, the user must consult the model documentation to see how many atom types there are and how they @@ -357,29 +368,26 @@ map to the chemical species. For example, consider an OpenKIM IM that supports Si and C species. If the LAMMPS simulation has four atom types, where the first three are Si, -and the fourth is C, the following *kim\_interactions* command would be used: +and the fourth is C, the following *kim_interactions* command would be used: - -.. parsed-literal:: +.. code-block:: LAMMPS kim_interactions Si Si Si C Alternatively, for a model with a fixed mapping the command would be: - -.. parsed-literal:: +.. code-block:: LAMMPS kim_interactions fixed_types -The *kim\_interactions* command performs all the necessary steps to set up -the OpenKIM IM selected in the *kim\_init* command. The specific actions depend +The *kim_interactions* command performs all the necessary steps to set up +the OpenKIM IM selected in the *kim_init* command. The specific actions depend on whether the IM is a KIM PM or a KIM SM. For a KIM PM, -a :doc:`pair\_style kim ` command is executed followed by -the appropriate *pair\_coeff* command. For example, for the +a :doc:`pair_style kim ` command is executed followed by +the appropriate *pair_coeff* command. For example, for the Ercolessi and Adams (1994) KIM PM for Al set by the following commands: - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal ... @@ -387,13 +395,12 @@ Ercolessi and Adams (1994) KIM PM for Al set by the following commands: ... kim_interactions Al -the *kim\_interactions* command executes the following LAMMPS input commands: - +the *kim_interactions* command executes the following LAMMPS input commands: -.. parsed-literal:: +.. code-block:: LAMMPS pair_style kim EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 - pair_coeff \* \* Al + pair_coeff * * Al For a KIM SM, the generated input commands may be more complex and require that LAMMPS is built with the required packages included @@ -402,8 +409,7 @@ is defined in the SM specification file, which is part of the SM package. For example, for the Strachan et al. (2003) ReaxFF SM set by the following commands: - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000 real ... @@ -411,45 +417,51 @@ set by the following commands: ... kim_interactions C H N O -the *kim\_interactions* command executes the following LAMMPS input commands: +the *kim_interactions* command executes the following LAMMPS input commands: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style reax/c lmp_control safezone 2.0 mincap 100 - pair_coeff \* \* ffield.reax.rdx C H N O + pair_coeff * * ffield.reax.rdx C H N O fix reaxqeq all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq -Note that the files *lmp\_control*, *ffield.reax.rdx* and *param.qeq* -are specific to the Strachan et al. (2003) ReaxFF parameterization -and are archived as part of the SM package in OpenKIM. -Note also that parameters like cutoff radii and charge tolerances, -which have an effect on IM predictions, are also included in the -SM definition ensuring reproducibility. +.. note:: + + The files *lmp_control*, *ffield.reax.rdx* and *param.qeq* + are specific to the Strachan et al. (2003) ReaxFF parameterization + and are archived as part of the SM package in OpenKIM. + +.. note:: + + Parameters like cutoff radii and charge tolerances, + which have an effect on IM predictions, are also included in the + SM definition ensuring reproducibility. .. note:: - When using *kim\_init* and *kim\_interactions* to select + When using *kim_init* and *kim_interactions* to select and set up an OpenKIM IM, other LAMMPS commands - for the same functions (such as pair\_style, pair\_coeff, bond\_style, - bond\_coeff, fixes related to charge equilibration, etc.) should normally + for the same functions (such as pair_style, pair_coeff, bond_style, + bond_coeff, fixes related to charge equilibration, etc.) should normally not appear in the input script. -Using OpenKIM Web Queries in LAMMPS (*kim\_query*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. _kim_query command: -The *kim\_query* command performs a web query to retrieve the predictions -of an IM set by *kim\_init* for material properties archived in +Using OpenKIM Web Queries in LAMMPS (*kim_query*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The *kim_query* command performs a web query to retrieve the predictions +of an IM set by *kim_init* for material properties archived in `OpenKIM `_. .. note:: - The *kim\_query* command must be preceded by a *kim\_init* command. + The *kim_query* command must be preceded by a *kim_init* command. -The syntax for the *kim\_query* command is as follows: +The syntax for the *kim_query* command is as follows: -.. parsed-literal:: +.. code-block:: LAMMPS kim_query variable formatarg query_function queryargs @@ -460,21 +472,21 @@ For the "list" setting of *formatarg* (or if *formatarg* is not specified), the result is returned as a space-separated list of values in *variable*\ . The *formatarg* keyword "split" separates the result values into -individual variables of the form *prefix\_I*, where *prefix* is set to the -*kim\_query* *variable* argument and *I* ranges from 1 to the number of +individual variables of the form *prefix_I*, where *prefix* is set to the +*kim_query* *variable* argument and *I* ranges from 1 to the number of returned values. The number and order of the returned values is determined by the type of query performed. (Note that the "explicit" setting of -*formatarg* is not supported by *kim\_query*.) +*formatarg* is not supported by *kim_query*\ .) .. note:: - *kim\_query* only supports queries that return a single result or + *kim_query* only supports queries that return a single result or an array of values. More complex queries that return a JSON structure - are not currently supported. An attempt to use *kim\_query* in such + are not currently supported. An attempt to use *kim_query* in such cases will generate an error. -The second required argument *query\_function* is the name of the -query function to be called (e.g. *get\_lattice\_constant\_cubic*). +The second required argument *query_function* is the name of the +query function to be called (e.g. *get_lattice_constant_cubic*\ ). All following :doc:`arguments ` are parameters handed over to the web query in the format *keyword=value*\ , where *value* is always an array of one or more comma-separated items in brackets. @@ -487,29 +499,28 @@ is available on the OpenKIM webpage at All query functions require the *model* keyword, which identifies the IM whose predictions are being queried. This keyword is automatically - generated by *kim\_query* based on the IM set in *kim\_init* and must not - be specified as an argument to *kim\_query*. + generated by *kim_query* based on the IM set in *kim_init* and must not + be specified as an argument to *kim_query*\ . .. note:: - Each *query\_function* is associated with a default method (implemented + Each *query_function* is associated with a default method (implemented as a `KIM Test `_) used to compute this property. In cases where there are multiple methods in OpenKIM for computing a property, a *method* keyword can be provided to select the method of choice. See the - `query documentation `_ - to see which methods are available for a given *query function*\ . + `query documentation `_ + to see which methods are available for a given *query_function*\ . -*kim\_query* Usage Examples and Further Clarifications -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +*kim_query* Usage Examples and Further Clarifications +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The data obtained by *kim\_query* commands can be used as part of the setup +The data obtained by *kim_query* commands can be used as part of the setup or analysis phases of LAMMPS simulations. Some examples are given below. **Define an equilibrium fcc crystal** - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal boundary p p p @@ -517,23 +528,24 @@ or analysis phases of LAMMPS simulations. Some examples are given below. lattice fcc ${a0} ... -The *kim\_query* command retrieves from `OpenKIM `_ +The *kim_query* command retrieves from `OpenKIM `_ the equilibrium lattice constant predicted by the Ercolessi and Adams (1994) potential for the fcc structure and places it in variable *a0*\ . This variable is then used on the next line to set up the -crystal. By using *kim\_query*, the user is saved the trouble and possible +crystal. By using *kim_query*, the user is saved the trouble and possible error of tracking this value down, or of having to perform an energy minimization to find the equilibrium lattice constant. -Note that in *unit\_conversion\_mode* the results obtained from a -*kim\_query* would need to be converted to the appropriate units system. -For example, in the above script, the lattice command would need to be -changed to: "lattice fcc ${a0}\*${\_u_distance}". +.. note:: -**Define an equilibrium hcp crystal** + In *unit_conversion_mode* the results obtained from a + *kim_query* would need to be converted to the appropriate units system. + For example, in the above script, the lattice command would need to be + changed to: "lattice fcc ${a0}*${_u_distance}". +**Define an equilibrium hcp crystal** -.. parsed-literal:: +.. code-block:: LAMMPS kim_init EAM_Dynamo_Mendelev_2007_Zr__MO_848899341753_000 metal boundary p p p @@ -545,25 +557,24 @@ changed to: "lattice fcc ${a0}\*${\_u_distance}". basis 0.333333 0.666666 0.25 basis 0.666666 0.333333 0.75 ... -In this case the *kim\_query* returns two arguments (since the hexagonal +In this case the *kim_query* returns two arguments (since the hexagonal close packed (hcp) structure has two independent lattice constants). The *formatarg* keyword "split" places the two values into -the variables *latconst\_1* and *latconst\_2*. (These variables are +the variables *latconst_1* and *latconst_2*\ . (These variables are created if they do not already exist.) For convenience the variables *a0* and *c0* are created in order to make the remainder of the input script more readable. **Define a crystal at finite temperature accounting for thermal expansion** - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal boundary p p p kim_query a0 get_lattice_constant_cubic crystal=["fcc"] species=["Al"] units=["angstrom"] kim_query alpha get_linear_thermal_expansion_coefficient_cubic crystal=["fcc"] species=["Al"] units=["1/K"] temperature=[293.15] temperature_units=["K"] variable DeltaT equal 300 - lattice fcc ${a0}\*${alpha}\*${DeltaT} + lattice fcc ${a0}*${alpha}*${DeltaT} ... As in the previous example, the equilibrium lattice constant is obtained @@ -578,16 +589,15 @@ potential. of the temperature in the above example) it is also possible to pass a tolerance indicating how close to the value is considered a match. If no tolerance is passed a default value is used. If multiple results - are returned (indicating that the tolerance is too large), *kim\_query* + are returned (indicating that the tolerance is too large), *kim_query* will return an error. See the - `query documentation `_ + `query documentation `_ to see which numerical arguments and tolerances are available for a - given *query function*\ . + given *query_function*\ . **Compute defect formation energy** - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal ... @@ -595,7 +605,7 @@ potential. ... which is stored in the variable *Etot* ... kim_query Ec get_cohesive_energy_cubic crystal=["fcc"] species=["Al"] units=["eV"] - variable Eform equal ${Etot} - count(all)\*${Ec} + variable Eform equal ${Etot} - count(all)*${Ec} ... The defect formation energy *Eform* is computed by subtracting from *Etot* the @@ -604,7 +614,7 @@ ideal fcc cohesive energy of the atoms in the system obtained from .. note:: - *kim\_query* commands return results archived in + *kim_query* commands return results archived in `OpenKIM `_. These results are obtained using programs for computing material properties (KIM Tests and KIM Test Drivers) that were contributed to OpenKIM. @@ -612,8 +622,10 @@ ideal fcc cohesive energy of the atoms in the system obtained from from these programs are queried is tracked. No other information about the nature of the query or its source is recorded. -Accessing KIM Model Parameters from LAMMPS (*kim\_param*) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. _kim_param command: + +Accessing KIM Model Parameters from LAMMPS (*kim_param*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All IMs are functional forms containing a set of parameters. The values of these parameters are typically @@ -635,10 +647,10 @@ of an IM, whereas KIM SMs are wrappers to an IM implemented within LAMMPS. Two different mechanisms are provided for accessing IM parameters in these two cases: -* For a KIM PM, the *kim\_param* command can be used to *get* and *set* the values of the PM's parameters as explained below. +* For a KIM PM, the *kim_param* command can be used to *get* and *set* the values of the PM's parameters as explained below. * For a KIM SM, the user should consult the documentation page for the specific IM and follow instructions there for how to modify its parameters (if possible). -The *kim\_param get* and *kim\_param set* commands provide an interface +The *kim_param get* and *kim_param set* commands provide an interface to access and change the parameters of a KIM PM that "publishes" its parameters and makes them publicly available (see the `KIM API documentation `_ @@ -646,20 +658,19 @@ for details). .. note:: - The *kim\_param get/set* commands must be preceded by *kim\_init*. - The *kim\_param set* command must additionally be preceded by a - *kim\_interactions* command (or alternatively by a *pair\_style kim* - and *pair\_coeff* commands). The *kim\_param set* command may be used wherever a *pair\_coeff* command may occur. + The *kim_param get/set* commands must be preceded by *kim_init*\ . + The *kim_param set* command must additionally be preceded by a + *kim_interactions* command (or alternatively by a *pair_style kim* + and *pair_coeff* commands). The *kim_param set* command may be used wherever a *pair_coeff* command may occur. -The syntax for the *kim\_param* command is as follows: +The syntax for the *kim_param* command is as follows: - -.. parsed-literal:: +.. code-block:: LAMMPS kim_param get param_name index_range variable formatarg kim_param set param_name index_range values -Here, *param\_name* is the name of a KIM PM parameter (which is published +Here, *param_name* is the name of a KIM PM parameter (which is published by the PM and available for access). The specific string used to identify a parameter is defined by the PM. For example, for the `Stillinger--Weber (SW) potential in OpenKIM `_, @@ -668,7 +679,7 @@ the parameter names are *A, B, p, q, sigma, gamma, cutoff, lambda, costheta0*\ . .. note:: The list of all the parameters that a PM exposes for access/mutation are - automatically written to the lammps log file when *kim\_init* is called. + automatically written to the lammps log file when *kim_init* is called. Each published parameter of a KIM PM takes the form of an array of numerical values. The array can contain one element for a single-valued @@ -681,41 +692,40 @@ values used for each pairwise combination of the model's six supported species (this model does not have parameters specific to individual ternary combinations of its supported species). -The *index\_range* argument may either be an integer referring to +The *index_range* argument may either be an integer referring to a specific element within the array associated with the parameter -specified by *param\_name*, or a pair of integers separated by a colon +specified by *param_name*, or a pair of integers separated by a colon that refer to a slice of this array. In both cases, one-based indexing is used to refer to the entries of the array. -The result of a *get* operation for a specific *index\_range* is stored in +The result of a *get* operation for a specific *index_range* is stored in one or more :doc:`LAMMPS string style variables ` as determined by the optional *formatarg* argument :ref:`documented above. ` If not specified, the default for *formatarg* is "explicit" for the -*kim\_param* command. +*kim_param* command. For the case where the result is an array with multiple values -(i.e. *index\_range* contains a range), the optional "split" or "explicit" +(i.e. *index_range* contains a range), the optional "split" or "explicit" *formatarg* keywords can be used to separate the results into multiple variables; see the examples below. -Multiple parameters can be retrieved with a single call to *kim\_param get* +Multiple parameters can be retrieved with a single call to *kim_param get* by repeating the argument list following *get*\ . For a *set* operation, the *values* argument contains the new value(s) -for the element(s) of the parameter specified by *index\_range*. For the case +for the element(s) of the parameter specified by *index_range*\ . For the case where multiple values are being set, *values* contains a set of values separated by spaces. Multiple parameters can be set with a single call to -*kim\_param set* by repeating the argument list following *set*\ . +*kim_param set* by repeating the argument list following *set*\ . -*kim\_param* Usage Examples and Further Clarifications -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +*kim_param* Usage Examples and Further Clarifications +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Examples of getting and setting KIM PM parameters with further clarifications are provided below. **Getting a scalar parameter** - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal ... @@ -728,8 +738,7 @@ LAMMPS variable. **Getting multiple scalar parameters with a single call** - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal ... @@ -743,8 +752,7 @@ them in the LAMMPS variables *VARA* and *VARB*\ . There are several options when getting a range of values from a parameter determined by the *formatarg* argument. - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal ... @@ -752,9 +760,9 @@ determined by the *formatarg* argument. In this case, *formatarg* is not specified and therefore the default "explicit" mode is used. (The behavior would be the same if the word -*explicit* were added after *LAM\_TeSe*.) Elements 7, 8 and 9 of parameter +*explicit* were added after *LAM_TeSe*\ .) Elements 7, 8 and 9 of parameter lambda retrieved by the *get* operation are placed in the LAMMPS variables -*LAM\_TeTe*, *LAM\_TeZn* and *LAM\_TeSe*, respectively. +*LAM_TeTe*, *LAM_TeZn* and *LAM_TeSe*, respectively. .. note:: @@ -766,8 +774,7 @@ lambda retrieved by the *get* operation are placed in the LAMMPS variables provided with the driver for the PM being used. A link to the driver is provided at the top of the model page. - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal ... @@ -785,11 +792,10 @@ The result of the *get* operation is stored in the LAMMPS variable *LAMS* as a string containing the three retrieved values separated by spaces, e.g "1.0 2.0 3.0". This can be used in LAMMPS with an *index* variable to access the values one at a time within a loop -as shown in the example. At each iteration of the loop *LAM\_VALUE* +as shown in the example. At each iteration of the loop *LAM_VALUE* contains the current value of lambda. - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal ... @@ -797,14 +803,13 @@ contains the current value of lambda. In this case, the "split" mode of *formatarg* is used. The three values retrieved by the *get* operation are stored in -the three LAMMPS variables *LAM\_15*, *LAM\_16* and *LAM\_17*. +the three LAMMPS variables *LAM_15*, *LAM_16* and *LAM_17*\ . The provided name "LAM" is used as prefix and the location in the lambda array is appended to create the variable names. **Setting a scalar parameter** - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal ... @@ -815,8 +820,7 @@ Here, the SW potential's gamma parameter is set to 2.6. Note that the *get* and *set* commands work together, so that a *get* following a *set* operation will return the new value that was set. For example: - -.. parsed-literal:: +.. code-block:: LAMMPS ... kim_interactions Si @@ -826,13 +830,12 @@ operation will return the new value that was set. For example: ... print "original gamma = ${ORIG_GAMMA}, new gamma = ${NEW_GAMMA}" -Here, *ORIG\_GAMMA* will contain the original gamma value for the SW -potential, while *NEW\_GAMMA* will contain the value 2.6. +Here, *ORIG_GAMMA* will contain the original gamma value for the SW +potential, while *NEW_GAMMA* will contain the value 2.6. **Setting multiple scalar parameters with a single call** - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal ... @@ -848,8 +851,7 @@ be used when setting parameters. **Setting a range of values of a parameter** - -.. parsed-literal:: +.. code-block:: LAMMPS kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal ... @@ -860,6 +862,421 @@ In this case, elements 2 through 6 of the parameter *sigma* are set to the values 2.35214, 2.23869, 2.04516, 2.43269 and 1.80415 in order. +.. _kim_property command: + +Writing material properties computed in LAMMPS to standard KIM property instance format (*kim_property*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +As explained :ref:`above`, +The OpenKIM system includes a collection of Tests (material property calculation codes), +Models (interatomic potentials), Predictions, and Reference Data (DFT or experiments). +Specifically, a KIM Test is a computation that when coupled with a KIM Model generates +the prediction of that model for a specific material property rigorously defined +by a KIM Property Definition (see the +`KIM Properties Framework `__ +for further details). A prediction of a material property for a given model is a specific +numerical realization of a property definition, referred to as a "Property +Instance." The objective of the *kim_property* command is to make it easy to +output material properties in a standardized, machine readable, format that can be easily +ingested by other programs. +Additionally, it aims to make it as easy as possible to convert a LAMMPS script that computes a +material property into a KIM Test that can then be uploaded to `openkim.org `_ + +A developer interested in creating a KIM Test using a LAMMPS script should +first determine whether a property definition that applies to their calculation +already exists in OpenKIM by searching the `properties page +`_. If none exists, it is possible to use a +locally defined property definition contained in a file until it can be +uploaded to the official repository (see below). Once one or more applicable +property definitions have been identified, the *kim_property create*, +*kim_property modify*, *kim_property remove*, and *kim_property destroy*, +commands provide an interface to create, set, modify, remove, and destroy +instances of them within a LAMMPS script. Their general syntax is as follows: + +.. code-block:: LAMMPS + + kim_property create instance_id property_id + kim_property modify instance_id key key_name key_name_key key_name_value + kim_property remove instance_id key key_name + kim_property destroy instance_id + kim_property dump file + +Here, *instance_id* is a positive integer used to uniquely identify each +property instance; (note that the results file can contain multiple property +instances). A property_id is an identifier of a +`KIM Property Definition `_, +which can be (1) a property short name, (2) the full unique ID of the property +(including the contributor and date), (3) a file name corresponding to a local +property definition file. Examples of each of these cases are shown below: + +.. code-block:: LAMMPS + + kim_property create 1 atomic-mass + kim_property create 2 cohesive-energy-relation-cubic-crystal + +.. code-block:: LAMMPS + + kim_property create 1 tag:brunnels@noreply.openkim.org,2016-05-11:property/atomic-mass + kim_property create 2 tag:staff@noreply.openkim.org,2014-04-15:property/cohesive-energy-relation-cubic-crystal + +.. code-block:: LAMMPS + + kim_property create 1 new-property.edn + kim_property create 2 /home/mary/marys-kim-properties/dissociation-energy.edn + +In the last example, "new-property.edn" and "/home/mary/marys-kim-properties/dissociation-energy.edn" are the +names of files that contain user-defined (local) property definitions. + +A KIM property instance takes the form of a "map," i.e. a set of key-value +pairs akin to Perl's hash, Python's dictionary, or Java's Hashtable. It +consists of a set of property key names, each of which is referred to here by +the *key_name* argument, that are defined as part of the relevant KIM Property +Definition and include only lowercase alphanumeric characters and dashes. The +value paired with each property key is itself a map whose possible keys are +defined as part of the `KIM Properties Framework +`__; these keys are +referred to by the *key_name_key* argument and their associated values by the +*key_name_value* argument. These values may either be scalars or arrays, +as stipulated in the property definition. + +.. note:: + + Each map assigned to a *key_name* must contain the *key_name_key* + "source-value" and an associated *key_name_value* of the appropriate + type (as defined in the relevant KIM Property Definition). For keys that are + defined as having physical units, the + "source-unit" *key_name_key* must also be given a string value recognized + by `GNU units `_. + +Once a *kim_property create* command has been given to instantiate a property +instance, maps associated with the property's keys can be edited using the +*kim_property modify* command. In using this command, the special keyword +"key" should be given, followed by the property key name and the key-value pair +in the map associated with the key that is to be set. For example, the +`atomic-mass `_ +property definition consists of two property keys named "mass" and "species." +An instance of this property could be created like so: + +.. code-block:: LAMMPS + + kim_property create 1 atomic-mass + kim_property modify 1 key species source-value Al + kim_property modify 1 key mass source-value 26.98154 + kim_property modify 1 key mass source-unit amu + +or, equivalently, + +.. code-block:: LAMMPS + + kim_property create 1 atomic-mass + kim_property modify 1 key species source-value Al & + key mass source-value 26.98154 & + source-unit amu + +*kim_property* Usage Examples and Further Clarifications +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Create** + +.. code-block:: LAMMPS + + kim_property create instance_id property_id + +The *kim_property create* command takes as input a property instance ID and the +property definition name, and creates an initial empty property instance data +structure. For example, + +.. code-block:: LAMMPS + + kim_property create 1 atomic-mass + kim_property create 2 cohesive-energy-relation-cubic-crystal + +creates an empty property instance of the "atomic-mass" property definition +with instance ID 1 and an empty instance of the +"cohesive-energy-relation-cubic-crystal" property with ID 2. A list of +published property definitions in OpenKIM can be found on the `properties page +`_. + +One can also provide the name of a file in the current working directory or the +path of a file containing a valid property definition. For example, + +.. code-block:: LAMMPS + + kim_property create 1 new-property.edn + +where "new-property.edn" refers to a file name containing a new property +definition that does not exist in OpenKIM. + +If the *property_id* given cannot be found in OpenKIM and no file of this name +containing a valid property definition can be found, this command will produce +an error with an appropriate message. Calling *kim_property create* with the +same instance ID multiple times will also produce an error. + +**Modify** + +.. code-block:: LAMMPS + + kim_property modify instance_id key key_name key_name_key key_name_value + +The *kim_property modify* command incrementally builds the property instance +by receiving property definition keys along with associated arguments. Each +*key_name* is associated with a map containing one or more key-value pairs (in +the form of *key_name_key*-*key_name_value* pairs). For example, + +.. code-block:: LAMMPS + + kim_property modify 1 key species source-value Al + kim_property modify 1 key mass source-value 26.98154 + kim_property modify 1 key mass source-unit amu + +where the special keyword "key" is followed by a *key_name* ("species" or +"mass" in the above) and one or more key-value pairs. These key-value pairs +may continue until either another "key" keyword is given or the end of the +command line is reached. Thus, the above could equivalently be written as + +.. code-block:: LAMMPS + + kim_property modify 1 key species source-value Al & + key mass source-value 26.98154 & + key mass source-unit amu + +As an example of modifying multiple key-value pairs belonging to the map of a +single property key, the following command modifies the map of the +"cohesive-potential-energy" property key to contain the key "source-unit" which +is assigned a value of "eV" and the key "digits" which is assigned a value of +5: + +.. code-block:: LAMMPS + + kim_property modify 2 key cohesive-potential-energy source-unit eV digits 5 + +.. note:: + + The relevant data types of the values in the map are handled + automatically based on the specification of the key in the + KIM Property Definition. In the example above, + this means that the value "eV" will automatically be interpreted as a string + while the value 5 will be interpreted as an integer. + +The values contained in maps can either be scalars, as in all of the examples +above, or arrays depending on which is stipulated in the corresponding Property +Definition. For one-dimensional arrays, a single one-based index must be +supplied that indicates which element of the array is to be modified. For +multidimensional arrays, multiple indices must be given depending on the +dimensionality of the array. + +.. note:: + + All array indexing used by *kim_property modify* is one-based, i.e. the + indices are enumerated 1, 2, 3, ... + +.. note:: + + The dimensionality of arrays are defined in the the corresponding Property + Definition. The extent of each dimension of an array can either be a + specific finite number or indefinite and determined at run time. If + an array has a fixed extent, attempting to modify an out-of-range index will + fail with an error message. + +For example, the "species" property key of the +`cohesive-energy-relation-cubic-crystal +`_ +property is a one-dimensional array that can contain any number of entries +based on the number of atoms in the unit cell of a given cubic crystal. To +assign an array containing the string "Al" four times to the "source-value" key +of the "species" property key, we can do so by issuing: + +.. code-block:: LAMMPS + + kim_property modify 2 key species source-value 1 Al + kim_property modify 2 key species source-value 2 Al + kim_property modify 2 key species source-value 3 Al + kim_property modify 2 key species source-value 4 Al + +.. note:: + + No declaration of the number of elements in this array was given; + *kim_property modify* will automatically handle memory management to allow + an arbitrary number of elements to be added to the array. + +.. note:: + + In the event that *kim_property modify* is used to set the value of an + array index without having set the values of all lesser indices, they will + be assigned default values based on the data type associated with the key in + the map: + + .. table_from_list:: + :columns: 2 + + * Data type + * Default value + * int + * 0 + * float + * 0.0 + * string + * \"\" + * file + * \"\" + + For example, doing the following: + + .. code-block:: LAMMPS + + kim_property create 2 cohesive-energy-relation-cubic-crystal + kim_property modify 2 key species source-value 4 Al + + will result in the "source-value" key in the map for the property key + "species" being assigned the array ["", "", "", "Al"]. + +For convenience, the index argument provided may refer to an inclusive range of +indices by specifying two integers separated by a colon (the first integer must +be less than or equal to the second integer, and no whitespace should be +included). Thus, the snippet above could equivalently be written: + +.. code-block:: LAMMPS + + kim_property modify 2 key species source-value 1:4 Al Al Al Al + +Calling this command with a non-positive index, e.g. +``kim_property modify 2 key species source-value 0 Al``, or an incorrect +number of input arguments, e.g. +``kim_property modify 2 key species source-value 1:4 Al Al``, will result in an +error. + +As an example of modifying multidimensional arrays, consider the "basis-atoms" +key in the `cohesive-energy-relation-cubic-crystal +`_ +property definition. This is a two-dimensional array containing the fractional +coordinates of atoms in the unit cell of the cubic crystal. In the case of, +e.g. a conventional fcc unit cell, the "source-value" key in the map associated +with this key should be assigned the following value: + +.. code-block:: LAMMPS + + [[0.0, 0.0, 0.0], + [0.5, 0.5, 0.0], + [0.5, 0.0, 0.5], + [0.0, 0.5, 0.5]] + +While each of the twelve components could be set individually, we can instead set +each row at a time using colon notation: + +.. code-block:: LAMMPS + + kim_property modify 2 key basis-atom-coordinates source-value 1 1:3 0.0 0.0 0.0 + kim_property modify 2 key basis-atom-coordinates source-value 2 1:3 0.5 0.5 0.0 + kim_property modify 2 key basis-atom-coordinates source-value 3 1:3 0.5 0.0 0.5 + kim_property modify 2 key basis-atom-coordinates source-value 4 1:3 0.0 0.5 0.5 + +Where the first index given refers to a row and the second index refers to a +column. We could, instead, choose to set each column at a time like so: + +.. code-block:: LAMMPS + + kim_property modify 2 key basis-atom-coordinates source-value 1:4 1 0.0 0.5 0.5 0.0 & + key basis-atom-coordinates source-value 1:4 2 0.0 0.5 0.0 0.5 & + key basis-atom-coordinates source-value 1:4 3 0.0 0.0 0.5 0.5 + +.. note:: + + Multiple calls of *kim_property modify* made for the same instance ID + can be combined into a single invocation, meaning the following are + both valid: + + .. code-block:: LAMMPS + + kim_property modify 2 key basis-atom-coordinates source-value 1 1:3 0.0 0.0 0.0 & + key basis-atom-coordinates source-value 2 1:3 0.5 0.5 0.0 & + key basis-atom-coordinates source-value 3 1:3 0.5 0.0 0.5 & + key basis-atom-coordinates source-value 4 1:3 0.0 0.5 0.5 + + .. code-block:: LAMMPS + + kim_property modify 2 key short-name source-value 1 fcc & + key species source-value 1:4 Al Al Al Al & + key a source-value 1:5 3.9149 4.0000 4.032 4.0817 4.1602 & + source-unit angstrom & + digits 5 & + key basis-atom-coordinates source-value 1 1:3 0.0 0.0 0.0 & + key basis-atom-coordinates source-value 2 1:3 0.5 0.5 0.0 & + key basis-atom-coordinates source-value 3 1:3 0.5 0.0 0.5 & + key basis-atom-coordinates source-value 4 1:3 0.0 0.5 0.5 + +.. note:: + + For multidimensional arrays, only one colon-separated range is allowed + in the index listing. Therefore, + + .. code-block:: LAMMPS + + kim_property modify 2 key basis-atom-coordinates 1 1:3 0.0 0.0 0.0 + + is valid but + + .. code-block:: LAMMPS + + kim_property modify 2 key basis-atom-coordinates 1:2 1:3 0.0 0.0 0.0 0.0 0.0 0.0 + + is not. + +.. note:: + + After one sets a value in a map with the *kim_property modify* command, + additional calls will overwrite the previous value. + +**Remove** + +.. code-block:: LAMMPS + + kim_property remove instance_id key key_name + +The *kim_property remove* command can be used to remove a property key from a +property instance. For example, + +.. code-block:: LAMMPS + + kim_property remove 2 key basis-atom-coordinates + +**Destroy** + +.. code-block:: LAMMPS + + kim_property destroy instance_id + +The *kim_property destroy* command deletes a previously created property +instance ID. For example, + +.. code-block:: LAMMPS + + kim_property destroy 2 + +.. note:: + + If this command is called with an instance ID that does not exist, no + error is raised. + +**Dump** + +The *kim_property dump* command can be used to write the content of all +currently defined property instances to a file: + +.. code-block:: LAMMPS + + kim_property dump file + +For example, + +.. code-block:: LAMMPS + + kim_property dump results.edn + +.. note:: + + Issuing the *kim_property dump* command clears all existing property + instances from memory. + Citation of OpenKIM IMs ----------------------- @@ -878,43 +1295,34 @@ and enables open source efforts like OpenKIM to function. Restrictions """""""""""" - -The set of *kim\_commands* is part of the KIM package. It is only enabled if +The set of *kim_commands* is part of the KIM package. It is only enabled if LAMMPS is built with that package. A requirement for the KIM package, is the KIM API library that must be downloaded from the `OpenKIM website `_ and installed before LAMMPS is compiled. When installing LAMMPS from binary, the kim-api package -is a dependency that is automatically downloaded and installed. See the KIM -section of the :doc:`Packages details ` for details. +is a dependency that is automatically downloaded and installed. The *kim_query* +command requires the *libcurl* library to be installed. The *kim_property* +command requires *Python* 3.6 or later and the *kim-property* python package to +be installed. See the KIM section of the :doc:`Packages details ` +for details. -Furthermore, when using *kim\_commands* to run KIM SMs, any packages required +Furthermore, when using *kim_commands* to run KIM SMs, any packages required by the native potential being used or other commands or fixes that it invokes must be installed. Related commands """""""""""""""" -:doc:`pair\_style kim ` - +:doc:`pair_style kim ` ---------- - .. _kim-mainpaper: - - **(Tadmor)** Tadmor, Elliott, Sethna, Miller and Becker, JOM, 63, 17 (2011). doi: `https://doi.org/10.1007/s11837-011-0102-6 `_ .. _kim-api: - - **(Elliott)** Elliott, Tadmor and Bernstein, `https://openkim.org/kim-api `_ (2011) doi: `https://doi.org/10.25950/FF8F563A `_ - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/kspace_modify.rst b/doc/src/kspace_modify.rst index 5f4dad4dcd6435571c53bebb22d529ad539f9188..afbe1b00431394c075b3e883f690e2e223c1b60b 100644 --- a/doc/src/kspace_modify.rst +++ b/doc/src/kspace_modify.rst @@ -1,21 +1,20 @@ -.. index:: kspace\_modify +.. index:: kspace_modify -kspace\_modify command -====================== +kspace_modify command +===================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS kspace_modify keyword value ... * one or more keyword/value pairs may be listed * keyword = *collective* or *compute* or *cutoff/adjust* or *diff* or *disp/auto* or *fftbench* or *force/disp/kspace* or *force/disp/real* or *force* or *gewald/disp* or *gewald* or *kmax/ewald* or *mesh* or *minorder* or *mix/disp* or *order/disp* or *order* or *overlap* or *scafacos* or *slab* or *splittol* - + .. parsed-literal:: - + *collective* value = *yes* or *no* *compute* value = *yes* or *no* *cutoff/adjust* value = *yes* or *no* @@ -56,13 +55,10 @@ Syntax *splittol* value = tol tol = relative size of two eigenvalues (see discussion below) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS kspace_modify mesh 24 24 30 order 6 kspace_modify slab 3.0 @@ -72,13 +68,11 @@ Description """"""""""" Set parameters used by the kspace solvers defined by the -:doc:`kspace\_style ` command. Not all parameters are +:doc:`kspace_style ` command. Not all parameters are relevant to all kspace styles. - ---------- - The *collective* keyword applies only to PPPM. It is set to *no* by default, except on IBM BlueGene machines. If this option is set to *yes*\ , LAMMPS will use MPI collective operations to remap data for @@ -87,23 +81,19 @@ This is faster on IBM BlueGene machines, and may also be faster on other machines if they have an efficient implementation of MPI collective operations and adequate hardware. - ---------- - The *compute* keyword allows Kspace computations to be turned off, -even though a :doc:`kspace\_style ` is defined. This is +even though a :doc:`kspace_style ` is defined. This is not useful for running a real simulation, but can be useful for debugging purposes or for computing only partial forces that do not include the Kspace contribution. You can also do this by simply not -defining a :doc:`kspace\_style `, but a Kspace-compatible -:doc:`pair\_style ` requires a kspace style to be defined. +defining a :doc:`kspace_style `, but a Kspace-compatible +:doc:`pair_style ` requires a kspace style to be defined. This keyword gives you that option. - ---------- - The *cutoff/adjust* keyword applies only to MSM. If this option is turned on, the Coulombic cutoff will be automatically adjusted at the beginning of the run to give the desired estimated error. Other @@ -113,10 +103,8 @@ grid that minimizes cost using an estimate given by :ref:`(Hardy) `. Note that this cost estimate is not exact, somewhat experimental, and still may not yield the optimal parameters. - ---------- - The *diff* keyword specifies the differentiation scheme used by the PPPM method to compute forces on particles given electrostatic potentials on the PPPM mesh. The *ik* approach is the default for @@ -140,10 +128,8 @@ always used for MSM. Currently, not all PPPM styles support the *ad* option. Support for those PPPM variants will be added later. - ---------- - The *disp/auto* option controls whether the pppm/disp is allowed to generate PPPM parameters automatically. If set to *no*\ , parameters have to be specified using the *gewald/disp*\ , *mesh/disp*\ , @@ -155,31 +141,25 @@ will provide simulations that are either inaccurate or slow. Using this option is thus not recommended. For guidelines on how to obtain good parameters, see the :doc:`How-To ` discussion. - ---------- - The *fftbench* keyword applies only to PPPM. It is off by default. If this option is turned on, LAMMPS will perform a short FFT benchmark computation and report its timings, and will thus finish a some seconds later than it would if this option were off. - ---------- - The *force/disp/real* and *force/disp/kspace* keywords set the force accuracy for the real and space computations for the dispersion part of pppm/disp. As shown in :ref:`(Isele-Holder) `, optimal performance and accuracy in the results is obtained when these values are different. - ---------- - The *force* keyword overrides the relative accuracy parameter set by -the :doc:`kspace\_style ` command with an absolute +the :doc:`kspace_style ` command with an absolute accuracy. The accuracy determines the RMS error in per-atom forces calculated by the long-range solver and is thus specified in force units. A negative value for the accuracy setting means to use the @@ -188,10 +168,8 @@ conjunction with the pairwise cutoff to determine the number of K-space vectors for style *ewald*\ , the FFT grid size for style *pppm*\ , or the real space grid size for style *msm*\ . - ---------- - The *gewald* keyword sets the value of the Ewald or PPPM G-ewald parameter for charge as *rinv* in reciprocal distance units. Without this setting, LAMMPS chooses the parameter automatically as a function @@ -203,18 +181,14 @@ and G-ewald parameter automatically. If the value is set to 0.0, LAMMPS will choose the G-ewald parameter automatically. MSM does not use the *gewald* parameter. - ---------- - The *gewald/disp* keyword sets the value of the Ewald or PPPM G-ewald parameter for dispersion as *rinv* in reciprocal distance units. It has the same meaning as the *gewald* setting for Coulombics. - ---------- - The *kmax/ewald* keyword sets the number of kspace vectors in each dimension for kspace style *ewald*\ . The three values must be positive integers, or else (0,0,0), which unsets the option. When this option @@ -223,10 +197,8 @@ consistent with the user-specified accuracy and pairwise cutoff. In any case, if kspace style *ewald* is invoked, the values used are printed to the screen and the log file at the start of the run. - ---------- - The *mesh* keyword sets the grid size for kspace style *pppm* or *msm*\ . In the case of PPPM, this is the FFT mesh, and each dimension must be factorizable into powers of 2, 3, and 5. In the case of MSM, @@ -236,10 +208,8 @@ or MSM solver chooses its own grid size, consistent with the user-specified accuracy and pairwise cutoff. Values for x,y,z of 0,0,0 unset the option. - ---------- - The *mesh/disp* keyword sets the grid size for kspace style *pppm/disp*\ . This is the FFT mesh for long-range dispersion and ach dimension must be factorizable into powers of 2, 3, and 5. When this @@ -247,10 +217,8 @@ option is not set, the PPPM solver chooses its own grid size, consistent with the user-specified accuracy and pairwise cutoff. Values for x,y,z of 0,0,0 unset the option. - ---------- - The *minorder* keyword allows LAMMPS to reduce the *order* setting if necessary to keep the communication of ghost grid point limited to exchanges between nearest-neighbor processors. See the discussion of @@ -266,13 +234,11 @@ error if the grid communication is non-nearest-neighbor and *overlap* is set to *no*\ . The *minorder* keyword is not currently supported in MSM. - ---------- - The *mix/disp* keyword selects the mixing rule for the dispersion coefficients. With *pair*\ , the dispersion coefficients of unlike -types are computed as indicated with :doc:`pair\_modify `. +types are computed as indicated with :doc:`pair_modify `. With *geom*\ , geometric mixing is enforced on the dispersion coefficients in the kspace coefficients. When using the arithmetic mixing rule, this will speed-up the simulations but introduces some @@ -288,10 +254,8 @@ dispersion coefficients is approximated. This leads to faster computations, but the accuracy in the reciprocal space computations of the dispersion part is decreased. - ---------- - The *order* keyword determines how many grid spacings an atom's charge extends when it is mapped to the grid in kspace style *pppm* or *msm*\ . The default for this parameter is 5 for PPPM and 8 for MSM, which @@ -314,19 +278,15 @@ be generated indicating the order parameter is being reduced to allow LAMMPS to run the problem. Automatic adjustment of the order parameter is not supported in MSM. - ---------- - The *order/disp* keyword determines how many grid spacings an atom's dispersion term extends when it is mapped to the grid in kspace style *pppm/disp*\ . It has the same meaning as the *order* setting for Coulombics. - ---------- - The *overlap* keyword can be used in conjunction with the *minorder* keyword with the PPPM styles to adjust the amount of communication that occurs when values on the FFT grid are exchanged between @@ -342,10 +302,8 @@ communication will be limited to nearest-neighbor processors and the *minorder* keyword discussion. The *overlap* keyword is always set to *yes* in MSM. - ---------- - The *pressure/scalar* keyword applies only to MSM. If this option is turned on, only the scalar pressure (i.e. (Pxx + Pyy + Pzz)/3.0) will be computed, which can be used, for example, to run an isotropic barostat. @@ -356,30 +314,28 @@ instead of using the virial equation. This option cannot be used to access individual components of the pressure tensor, to compute per-atom virial, or with suffix kspace/pair styles of MSM, like OMP or GPU. - ---------- - The *scafacos* keyword is used for settings that are passed to the -ScaFaCoS library when using :doc:`kspace\_style scafacos `. +ScaFaCoS library when using :doc:`kspace_style scafacos `. The *tolerance* option affects how the *accuracy* specified with the -:doc:`kspace\_style ` command is interpreted by ScaFaCoS. +:doc:`kspace_style ` command is interpreted by ScaFaCoS. The following values may be used: * energy = absolute accuracy in total Coulombic energy -* energy\_rel = relative accuracy in total Coulombic energy +* energy_rel = relative accuracy in total Coulombic energy * potential = absolute accuracy in total Coulombic potential -* potential\_rel = relative accuracy in total Coulombic potential +* potential_rel = relative accuracy in total Coulombic potential * field = absolute accuracy in electric field -* field\_rel = relative accuracy in electric field +* field_rel = relative accuracy in electric field -The values with suffix \_rel indicate the tolerance is a relative +The values with suffix _rel indicate the tolerance is a relative tolerance; the other values impose an absolute tolerance on the given quantity. Absolute tolerance in this case means, that for a given -quantity q and a given absolute tolerance of t\_a the result should -be between q-t\_a and q+t\_a. For a relative tolerance t\_r the relative -error should not be greater than t\_r, i.e. abs(1 - (result/q)) < t\_r. +quantity q and a given absolute tolerance of t_a the result should +be between q-t_a and q+t_a. For a relative tolerance t_r the relative +error should not be greater than t_r, i.e. abs(1 - (result/q)) < t_r. As a consequence of this, the tolerance type should be checked, when performing computations with a high absolute field / energy. E.g. if the total energy in the system is 1000000.0 an absolute tolerance @@ -387,19 +343,19 @@ of 1e-3 would mean that the result has to be between 999999.999 and 1000000.001, which would be equivalent to a relative tolerance of 1e-9. -The energy and energy\_rel values, set a tolerance based on the total -Coulombic energy of the system. The potential and potential\_rel set a +The energy and energy_rel values, set a tolerance based on the total +Coulombic energy of the system. The potential and potential_rel set a tolerance based on the per-atom Coulombic energy. The field and -field\_rel tolerance types set a tolerance based on the electric field +field_rel tolerance types set a tolerance based on the electric field values computed by ScaFaCoS. Since per-atom forces are derived from the per-atom electric field, this effectively sets a tolerance on the forces, similar to other LAMMPS KSpace styles, as explained on the -:doc:`kspace\_style ` doc page. +:doc:`kspace_style ` doc page. Note that not all ScaFaCoS solvers support all tolerance types. These are the allowed values for each method: -* fmm = energy and energy\_rel +* fmm = energy and energy_rel * p2nfft = field (1d-,2d-,3d-periodic systems) or potential (0d-periodic) * p3m = field * ewald = field @@ -409,7 +365,7 @@ If the tolerance type is not changed, the default values for the tolerance type are the first values in the above list, e.g. energy is the default tolerance type for the fmm solver. -The *fmm\_tuning* option is only relevant when using the FMM method. +The *fmm_tuning* option is only relevant when using the FMM method. It activates (value=1) or deactivates (value=0) an internal tuning mechanism for the FMM solver. The tuning operation runs sequentially and can be very time-consuming. Usually it is not needed for systems @@ -417,10 +373,8 @@ with a homogeneous charge distribution. The default for this option is therefore *0*\ . The FMM internal tuning is performed once, when the solver is set up. - ---------- - The *slab* keyword allows an Ewald or PPPM solver to be used for a systems that are periodic in x,y but non-periodic in z - a :doc:`boundary ` setting of "boundary p p f". This is done by @@ -444,7 +398,7 @@ boundaries can be set using :doc:`boundary ` (the slab approximation in not needed). The *slab* keyword is not currently supported by Ewald or PPPM when using a triclinic simulation cell. The slab correction has also been extended to point dipole interactions -:ref:`(Klapp) ` in :doc:`kspace\_style ` *ewald/disp*\ , +:ref:`(Klapp) ` in :doc:`kspace_style ` *ewald/disp*\ , *ewald/dipole*\ , and *pppm/dipole*\ . .. note:: @@ -456,10 +410,8 @@ slab correction has also been extended to point dipole interactions dielectric constant due to the Yeh/Berkowitz :ref:`(Yeh) ` correction not being compatible with how :doc:`fix efield ` works. - ---------- - The *force/disp/real* and *force/disp/kspace* keywords set the force accuracy for the real and space computations for the dispersion part of pppm/disp. As shown in :ref:`(Isele-Holder) `, optimal @@ -477,18 +429,17 @@ provide simulations that are either inaccurate or slow. Using this option is thus not recommended. For guidelines on how to obtain good parameters, see the :doc:`Howto dispersion ` doc page. - ---------- - Restrictions """""""""""" - none + +none Related commands """""""""""""""" -:doc:`kspace\_style `, :doc:`boundary ` +:doc:`kspace_style `, :doc:`boundary ` Default """"""" @@ -501,67 +452,44 @@ ik (PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace = -1.0, split = 0, tol = 1.0e-6, and disp/auto = no. For pppm/intel, order = order/disp = 7. For scafacos settings, the scafacos tolerance option depends on the method chosen, as documented above. The -scafacos fmm\_tuning default = 0. - +scafacos fmm_tuning default = 0. ---------- - .. _Hockney1: - - **(Hockney)** Hockney and Eastwood, Computer Simulation Using Particles, Adam Hilger, NY (1989). .. _Yeh: - - **(Yeh)** Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999). .. _Ballenegger: - - **(Ballenegger)** Ballenegger, Arnold, Cerda, J Chem Phys, 131, 094107 (2009). .. _Klapp: - - **(Klapp)** Klapp, Schoen, J Chem Phys, 117, 8050 (2002). .. _Hardy1: - - **(Hardy)** David Hardy thesis: Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules, University of Illinois at Urbana-Champaign, (2006). .. _Hummer: - - **(Hummer)** Hummer, Gronbech-Jensen, Neumann, J Chem Phys, 109, 2791 (1998) .. _Isele-Holder1: - - **(Isele-Holder)** Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J Chem Theory Comput, 9, 5412 (2013). .. _Wennberg: - - **(Wennberg)** Wennberg, Murtola, Hess, Lindahl, J Chem Theory Comput, 9, 3527 (2013). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index 32179f8be06b0e218601deeb5edf491bcb78e407..57cd51d5492c186635345b525e83537976f31057 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -1,13 +1,12 @@ -.. index:: kspace\_style +.. index:: kspace_style -kspace\_style command -===================== +kspace_style command +==================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS kspace_style style value @@ -76,13 +75,10 @@ Syntax method = fmm or p2nfft or p3m or ewald or direct accuracy = desired relative error in forces - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS kspace_style pppm 1.0e-4 kspace_style pppm/cg 1.0e-5 1.0e-6 @@ -94,12 +90,12 @@ Description """"""""""" Define a long-range solver for LAMMPS to use each timestep to compute -long-range Coulombic interactions or long-range 1/r\^6 interactions. +long-range Coulombic interactions or long-range :math:`1/r^6` interactions. Most of the long-range solvers perform their computation in K-space, hence the name of this command. When such a solver is used in conjunction with an appropriate pair -style, the cutoff for Coulombic or 1/r\^N interactions is effectively +style, the cutoff for Coulombic or :math:`1/r^N` interactions is effectively infinite. If the Coulombic case, this means each charge in the system interacts with charges in an infinite array of periodic images of the simulation domain. @@ -120,17 +116,15 @@ matching keyword to the name of the KSpace style, as in this table: | tip4p/long | tip4p | +----------------------+-----------------------+ - ---------- - The *ewald* style performs a standard Ewald summation as described in any solid-state physics text. The *ewald/disp* style adds a long-range dispersion sum option for -1/r\^6 potentials and is useful for simulation of interfaces +:math:`1/r^6` potentials and is useful for simulation of interfaces :ref:`(Veld) `. It also performs standard Coulombic Ewald summations, -but in a more efficient manner than the *ewald* style. The 1/r\^6 +but in a more efficient manner than the *ewald* style. The :math:`1/r^6` capability means that Lennard-Jones or Buckingham potentials can be used without a cutoff, i.e. they become full long-range potentials. The *ewald/disp* style can also be used with point-dipoles, see @@ -143,18 +137,16 @@ The *ewald/dipole/spin* style adds long-range standard Ewald summations for magnetic dipole-dipole interactions between magnetic spins. - ---------- - The *pppm* style invokes a particle-particle particle-mesh solver :ref:`(Hockney) ` which maps atom charge to a 3d mesh, uses 3d FFTs to solve Poisson's equation on the mesh, then interpolates electric fields on the mesh points back to the atoms. It is closely related to the particle-mesh Ewald technique (PME) :ref:`(Darden) ` used in AMBER and CHARMM. The cost of traditional Ewald summation scales as -N\^(3/2) where N is the number of atoms in the system. The PPPM solver -scales as Nlog(N) due to the FFTs, so it is almost always a faster +:math:`N^{\frac{3}{2}}` where :math:`N` is the number of atoms in the system. The PPPM solver +scales as :math:`N \log{N}` due to the FFTs, so it is almost always a faster choice :ref:`(Pollock) `. The *pppm/cg* style is identical to the *pppm* style except that it @@ -201,10 +193,8 @@ page. must be used if energy and/or pressure are quantities of interest, such as when using a barostat. - ---------- - The *pppm/disp* and *pppm/disp/tip4p* styles add a mesh-based long-range dispersion sum option for 1/r\^6 potentials :ref:`(Isele-Holder) `, similar to the *ewald/disp* style. The 1/r\^6 capability means @@ -212,7 +202,7 @@ that Lennard-Jones or Buckingham potentials can be used without a cutoff, i.e. they become full long-range potentials. For these styles, you will possibly want to adjust the default choice -of parameters by using the :doc:`kspace\_modify ` command. +of parameters by using the :doc:`kspace_modify ` command. This can be done by either choosing the Ewald and grid parameters, or by specifying separate accuracies for the real and kspace calculations. When not making any settings, the simulation will stop @@ -221,30 +211,26 @@ parameters and how to choose them is described in :ref:`(Isele-Holder) `, :ref:`(Isele-Holder2) ` and the :doc:`Howto dispersion ` doc page. - ---------- - .. note:: All of the PPPM styles can be used with single-precision FFTs by - using the compiler switch -DFFT\_SINGLE for the FFT\_INC setting in your - lo-level Makefile. This setting also changes some of the PPPM + using the compiler switch -DFFT_SINGLE for the FFT_INC setting in your + low-level Makefile. This setting also changes some of the PPPM operations (e.g. mapping charge to mesh and interpolating electric fields to particles) to be performed in single precision. This option can speed-up long-range calculations, particularly in parallel or on - GPUs. The use of the -DFFT\_SINGLE flag is discussed on the :doc:`Build settings ` doc page. MSM does not currently support - the -DFFT\_SINGLE compiler switch. - + GPUs. The use of the -DFFT_SINGLE flag is discussed on the :doc:`Build settings ` doc page. MSM does not currently support + the -DFFT_SINGLE compiler switch. ---------- - The *msm* style invokes a multi-level summation method MSM solver, :ref:`(Hardy) ` or :ref:`(Hardy2) `, which maps atom charge to a 3d mesh, and uses a multi-level hierarchy of coarser and coarser meshes on which direct Coulomb solvers are done. This method does not -use FFTs and scales as N. It may therefore be faster than the other +use FFTs and scales as :math:`N`. It may therefore be faster than the other K-space solvers for relatively large problems when running on large core counts. MSM can also be used for non-periodic boundary conditions and for mixed periodic and non-periodic boundaries. @@ -256,17 +242,15 @@ angstroms instead of 10 angstroms) provides better MSM accuracy for both the real space and grid computed forces. Currently calculation of the full pressure tensor in MSM is expensive. -Using the :doc:`kspace\_modify ` *pressure/scalar yes* +Using the :doc:`kspace_modify ` *pressure/scalar yes* command provides a less expensive way to compute the scalar pressure (Pxx + Pyy + Pzz)/3.0. The scalar pressure can be used, for example, to run an isotropic barostat. If the full pressure tensor is needed, then calculating the pressure at every timestep or using a fixed pressure simulation with MSM will cause the code to run slower. - ---------- - The *scafacos* style is a wrapper on the `ScaFaCoS Coulomb solver library `_ which provides a variety of solver methods which can be used with LAMMPS. The paper by :ref:`(Who) ` gives an overview of ScaFaCoS. @@ -290,7 +274,7 @@ See details on :ref:`this page `. Unlike other KSpace solvers in LAMMPS, ScaFaCoS computes all Coulombic interactions, both short- and long-range. Thus you should - NOT use a Coulombic pair style when using kspace\_style scafacos. This + NOT use a Coulombic pair style when using kspace_style scafacos. This also means the total Coulombic energy (short- and long-range) will be tallied for :doc:`thermodynamic output ` command as part of the *elong* keyword; the *ecoul* keyword will be zero. @@ -320,15 +304,13 @@ ScaFaCoS library the *accuracy* is treated as a tolerance level (either absolute or relative) for the chosen quantity, where the quantity can be either the Columic field values, the per-atom Columic energy or the total Columic energy. To select from these options, see -the :doc:`kspace\_modify scafacos accuracy ` doc page. +the :doc:`kspace_modify scafacos accuracy ` doc page. -The :doc:`kspace\_modify scafacos ` command also explains +The :doc:`kspace_modify scafacos ` command also explains other ScaFaCoS options currently exposed to LAMMPS. - ---------- - The specified *accuracy* determines the relative RMS error in per-atom forces calculated by the long-range solver. It is set as a dimensionless number, relative to the force that two unit point @@ -346,7 +328,7 @@ Note that style *pppm* only computes the grid size at the beginning of a simulation, so if the length or triclinic tilt of the simulation cell increases dramatically during the course of the simulation, the accuracy of the simulation may degrade. Likewise, if the -:doc:`kspace\_modify slab ` option is used with +:doc:`kspace_modify slab ` option is used with shrink-wrap boundaries in the z-dimension, and the box size changes dramatically in z. For example, for a triclinic system with all three tilt factors set to the maximum limit, the PPPM grid should be @@ -359,7 +341,7 @@ works because the grid size is re-computed at the beginning of each run. Another way to ensure the described accuracy requirement is met is to run a short simulation at the maximum expected tilt or length, note the required grid size, and then use the -:doc:`kspace\_modify ` *mesh* command to manually set the +:doc:`kspace_modify ` *mesh* command to manually set the PPPM grid size to this value for the long run. The simulation then will be "too accurate" for some portion of the run. @@ -378,15 +360,13 @@ or *ewald/dipole* are estimated using equations 33 and 46 of :ref:`(Wang) `. The RMS force errors for *pppm/dipole* are estimated using the equations in :ref:`(Cerda) `. -See the :doc:`kspace\_modify ` command for additional +See the :doc:`kspace_modify ` command for additional options of the K-space solvers that can be set, including a *force* option for setting an absolute RMS error in forces, as opposed to a relative RMS error. - ---------- - 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 @@ -397,16 +377,16 @@ produce the same results, except for round-off and precision issues. More specifically, the *pppm/gpu* style performs charge assignment and force interpolation calculations on the GPU. These processes are performed either in single or double precision, depending on whether -the -DFFT\_SINGLE setting was specified in your lo-level Makefile, as +the -DFFT_SINGLE setting was specified in your low-level Makefile, as discussed above. The FFTs themselves are still calculated on the CPU. If *pppm/gpu* is used with a GPU-enabled pair style, part of the PPPM calculation can be performed concurrently on the GPU while other calculations for non-bonded and bonded force calculation are performed on the CPU. -The *pppm/kk* style also performs charge assignment and force -interpolation calculations on the GPU while the FFTs themselves are -calculated on the CPU in non-threaded mode. +The *pppm/kk* style performs charge assignment and force interpolation +calculations, along with the FFTs themselves, on the GPU or (optionally) threaded +on the CPU when using OpenMP and FFTW3. These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, USER-OMP, and OPT packages respectively. They are only enabled if @@ -415,22 +395,19 @@ LAMMPS was built with those packages. See the :doc:`Build package ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - Note that the long-range electrostatic solvers in LAMMPS assume conducting metal (tinfoil) boundary conditions for both charge and dipole interactions. Vacuum boundary conditions are not currently supported. The *ewald/disp*\ , *ewald*\ , *pppm*\ , and *msm* styles support non-orthogonal (triclinic symmetry) simulation boxes. However, -triclinic simulation cells may not yet be supported by suffix versions -of these styles. +triclinic simulation cells may not yet be supported by all suffix +versions of these styles. All of the kspace styles are part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -441,7 +418,7 @@ the :doc:`boundary ` command). For Ewald and PPPM, a simulation must be 3d and periodic in all dimensions. The only exception is if the slab option is set with -:doc:`kspace\_modify `, in which case the xy dimensions +:doc:`kspace_modify `, in which case the xy dimensions must be periodic and the z dimension must be non-periodic. The scafacos KSpace style will only be enabled if LAMMPS is built with @@ -451,7 +428,7 @@ doc page for more info. The use of ScaFaCos in LAMMPS does not yet support molecular charged systems where the short-range Coulombic interactions between atoms in the same bond/angle/dihedral are weighted by the -:doc:`special\_bonds ` command. Likewise it does not +:doc:`special_bonds ` command. Likewise it does not support the "TIP4P water style" where a fictitious charge site is introduced in each water molecule. Finally, the methods *p3m* and *ewald* do not support computing the @@ -460,138 +437,94 @@ virial, so this contribution is not included. Related commands """""""""""""""" -:doc:`kspace\_modify `, :doc:`pair\_style lj/cut/coul/long `, :doc:`pair\_style lj/charmm/coul/long `, :doc:`pair\_style lj/long/coul/long `, :doc:`pair\_style buck/coul/long ` +:doc:`kspace_modify `, :doc:`pair_style lj/cut/coul/long `, :doc:`pair_style lj/charmm/coul/long `, :doc:`pair_style lj/long/coul/long `, :doc:`pair_style buck/coul/long ` Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS kspace_style none - ---------- - .. _Darden: - - **(Darden)** Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993). .. _Deserno: - - **(Deserno)** Deserno and Holm, J Chem Phys, 109, 7694 (1998). .. _Hockney: - - **(Hockney)** Hockney and Eastwood, Computer Simulation Using Particles, Adam Hilger, NY (1989). .. _Kolafa: - - **(Kolafa)** Kolafa and Perram, Molecular Simulation, 9, 351 (1992). .. _Petersen: - - **(Petersen)** Petersen, J Chem Phys, 103, 3668 (1995). .. _Wang: - - **(Wang)** Wang and Holm, J Chem Phys, 115, 6277 (2001). .. _Pollock: - - **(Pollock)** Pollock and Glosli, Comp Phys Comm, 95, 93 (1996). .. _Cerutti: - - **(Cerutti)** Cerutti, Duke, Darden, Lybrand, Journal of Chemical Theory and Computation 5, 2322 (2009) .. _Neelov: - - **(Neelov)** Neelov, Holm, J Chem Phys 132, 234103 (2010) .. _Veld: - - **(Veld)** In 't Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007). .. _Toukmaji: - - **(Toukmaji)** Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, 10913 (2000). .. _Isele-Holder2012: - - **(Isele-Holder)** Isele-Holder, Mitchell, Ismail, J Chem Phys, 137, 174107 (2012). .. _Isele-Holder2013: - - **(Isele-Holder2)** Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J Chem Theory Comput 9, 5412 (2013). .. _Hardy2006: - - **(Hardy)** David Hardy thesis: Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules, University of Illinois at Urbana-Champaign, (2006). .. _Hardy2009: - - **(Hardy2)** Hardy, Stone, Schulten, Parallel Computing, 35, 164-177 (2009). .. _Sutmann2013: - - **(Sutmann)** Sutmann, Arnold, Fahrenberger, et. al., Physical review / E 88(6), 063308 (2013) .. _Cerda2008: - - **(Cerda)** Cerda, Ballenegger, Lenz, Holm, J Chem Phys 129, 234104 (2008) .. _Who2012: - - **(Who)** Who, Author2, Author3, J of Long Range Solvers, 35, 164-177 (2012). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/label.rst b/doc/src/label.rst index 31ebbfe0cb34cdf1a28a661e6b04dc7312ceafce..0b1273008fb48d021ca7e4908d60f72e082c8676 100644 --- a/doc/src/label.rst +++ b/doc/src/label.rst @@ -6,7 +6,6 @@ label command Syntax """""" - .. parsed-literal:: label ID @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS label xyz label loop @@ -40,8 +38,3 @@ Restrictions **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/lattice.rst b/doc/src/lattice.rst index bf5dec5453175eb6e218041392f66727557b827d..693d0cd84a7d139319c7216fdb5351d81e24a149 100644 --- a/doc/src/lattice.rst +++ b/doc/src/lattice.rst @@ -6,24 +6,23 @@ lattice command Syntax """""" - .. parsed-literal:: lattice style scale keyword values ... * style = *none* or *sc* or *bcc* or *fcc* or *hcp* or *diamond* or *sq* or *sq2* or *hex* or *custom* * scale = scale factor between lattice and simulation box - + .. parsed-literal:: - + scale = reduced density rho\* (for LJ units) scale = lattice constant in distance units (for all other units) * zero or more keyword/value pairs may be appended * keyword = *origin* or *orient* or *spacing* or *a1* or *a2* or *a3* or *basis* - + .. parsed-literal:: - + *origin* values = x y z x,y,z = fractions of a unit cell (0 <= x,y,z < 1) *orient* values = dim i j k @@ -36,13 +35,10 @@ Syntax *basis* values = x y z x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS lattice fcc 3.52 lattice hex 0.85 @@ -61,13 +57,13 @@ of the lattice command can be used to define a wide variety of crystallographic lattices. A lattice is used by LAMMPS in two ways. First, the -:doc:`create\_atoms ` command creates atoms on the lattice +:doc:`create_atoms ` command creates atoms on the lattice points inside the simulation box. Note that the -:doc:`create\_atoms ` command allows different atom types +:doc:`create_atoms ` command allows different atom types to be assigned to different basis atoms of the lattice. Second, the lattice spacing in the x,y,z dimensions implied by the lattice, can be used by other commands as distance units -(e.g. :doc:`create\_box `, :doc:`region ` and +(e.g. :doc:`create_box `, :doc:`region ` and :doc:`velocity `), which are often convenient to use when the underlying problem geometry is atoms on a lattice. @@ -89,17 +85,15 @@ Note that the lattice command can be used multiple times in an input script. Each time it is invoked, the lattice attributes are re-defined and are used for all subsequent commands (that use lattice attributes). For example, a sequence of lattice, -:doc:`region `, and :doc:`create\_atoms ` commands +:doc:`region `, and :doc:`create_atoms ` commands can be repeated multiple times to build a poly-crystalline model with different geometric regions populated with atoms in different lattice orientations. - ---------- - A lattice of style *none* does not define a unit cell and basis set, -so it cannot be used with the :doc:`create\_atoms ` +so it cannot be used with the :doc:`create_atoms ` command. However it does define a lattice spacing via the specified scale parameter. As explained above the lattice spacings in x,y,z can be used by other commands as distance units. No additional @@ -140,10 +134,8 @@ x of a basis atom within the unit cell is thus a linear combination of the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, where bx,by,bz are the 3 values specified for the *basis* keyword. - ---------- - This sub-section discusses the arguments that determine how the idealized unit cell is transformed into a lattice of points within the simulation box. @@ -199,10 +191,8 @@ the Z direction. applied to a1,a2,a3 to rotate the original unit cell to a new orientation in the simulation box. - ---------- - Several LAMMPS commands have the option to use distance units that are inferred from "lattice spacings" in the x,y,z box directions. E.g. the :doc:`region ` command can create a block of size @@ -242,7 +232,7 @@ factor of 3.0 Angstroms, would have a lattice spacing of 3.0 in x and of the periodicity of the lattice in that direction. Thus, if you create an orthogonal periodic simulation box whose size in a dimension is a multiple of the lattice spacing, and then fill it with atoms via - the :doc:`create\_atoms ` command, you will NOT necessarily + the :doc:`create_atoms ` command, you will NOT necessarily create a periodic system. I.e. atoms may overlap incorrectly at the faces of the simulation box. @@ -259,19 +249,16 @@ Note that whenever the lattice command is used, the values of the lattice spacings LAMMPS calculates are printed out. Thus their effect in commands that use the spacings should be decipherable. - ---------- - Example commands for generating a Wurtzite crystal (courtesy of Aidan Thompson), with its 8 atom unit cell. - -.. parsed-literal:: +.. code-block:: LAMMPS variable a equal 4.340330 - variable b equal $a\*sqrt(3.0) - variable c equal $a\*sqrt(8.0/3.0) + variable b equal $a*sqrt(3.0) + variable c equal $a*sqrt(8.0/3.0) variable 1_3 equal 1.0/3.0 variable 2_3 equal 2.0/3.0 @@ -301,35 +288,26 @@ of Aidan Thompson), with its 8 atom unit cell. basis 7 2 & basis 8 2 - ---------- - Restrictions """""""""""" - The *a1,a2,a3,basis* keywords can only be used with style *custom*\ . Related commands """""""""""""""" -:doc:`dimension `, :doc:`create\_atoms `, +:doc:`dimension `, :doc:`create_atoms `, :doc:`region ` Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS lattice none 1.0 For other lattice styles, the option defaults are origin = 0.0 0.0 0.0, orient = x 1 0 0, orient = y 0 1 0, orient = z 0 0 1, a1 = 1 0 0, a2 = 0 1 0, and a3 = 0 0 1. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/log.rst b/doc/src/log.rst index 0f53040c138ca1c7d02a75338d64ee66a0f6520a..5c412d4d9f611dcfb024bd9707e260cea6a1ae7c 100644 --- a/doc/src/log.rst +++ b/doc/src/log.rst @@ -6,7 +6,6 @@ log command Syntax """""" - .. parsed-literal:: log file keyword @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS log log.equil log log.equil append @@ -49,8 +47,3 @@ Default """"""" The default LAMMPS log file is named log.lammps - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/mass.rst b/doc/src/mass.rst index 05cef2e3b27378f6fa31c56f9ce707d360e13fcc..55ba9c61bf94a45029dfc8eb34f10477b78bda9a 100644 --- a/doc/src/mass.rst +++ b/doc/src/mass.rst @@ -6,7 +6,6 @@ mass command Syntax """""" - .. parsed-literal:: mass I value @@ -17,18 +16,17 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS mass 1 1.0 - mass \* 62.5 - mass 2\* 62.5 + mass * 62.5 + mass 2* 62.5 Description """"""""""" Set the mass for all atoms of one or more atom types. Per-type mass -values can also be set in the :doc:`read\_data ` data file +values can also be set in the :doc:`read_data ` data file using the "Masses" keyword. See the :doc:`units ` command for what mass units to use. @@ -48,7 +46,6 @@ mass command in an input script, except that no wild-card asterisk can be used. For example, under the "Masses" section of a data file, the line that corresponds to the 1st example above would be listed as - .. parsed-literal:: 1 1.0 @@ -57,12 +54,12 @@ Note that the mass command can only be used if the :doc:`atom style Currently, all but the *sphere* and *ellipsoid* and *peri* styles do. They require mass to be set for individual particles, not types. Per-atom masses are defined in the data file read by the -:doc:`read\_data ` command, or set to default values by the -:doc:`create\_atoms ` command. Per-atom masses can also be +:doc:`read_data ` command, or set to default values by the +:doc:`create_atoms ` command. Per-atom masses can also be set to new values by the :doc:`set mass ` or :doc:`set density ` commands. -Also note that :doc:`pair\_style eam ` and :doc:`pair\_style bop ` commands define the masses of atom types in their +Also note that :doc:`pair_style eam ` and :doc:`pair_style bop ` commands define the masses of atom types in their respective potential files, in which case the mass command is normally not used. @@ -75,10 +72,9 @@ per-atom mass will be used by LAMMPS. Restrictions """""""""""" - This command must come after the simulation box is defined by a -:doc:`read\_data `, :doc:`read\_restart `, or -:doc:`create\_box ` command. +:doc:`read_data `, :doc:`read_restart `, or +:doc:`create_box ` command. All masses must be defined before a simulation is run. They must also all be defined before a :doc:`velocity ` or :doc:`fix shake ` command is used. @@ -88,8 +84,3 @@ The mass assigned to any type or atom must be > 0.0. **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/message.rst b/doc/src/message.rst index 6891512b85eb3191101b501fbac372f152d99f7f..f4ca5735e0ab22f3cb680150993db1d63167dfd8 100644 --- a/doc/src/message.rst +++ b/doc/src/message.rst @@ -6,7 +6,6 @@ message command Syntax """""" - .. parsed-literal:: message which protocol mode arg @@ -14,9 +13,9 @@ Syntax * which = *client* or *server* or *quit* * protocol = *md* or *mc* * mode = *file* or *zmq* or *mpi/one* or *mpi/two* - + .. parsed-literal:: - + *file* arg = filename filename = file used for message exchanges *zmq* arg = socket-ID @@ -26,13 +25,10 @@ Syntax *mpi/two* arg = filename filename = file used to establish communication between 2 MPI jobs - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS message client md file tmp.couple message server md file tmp.couple @@ -60,20 +56,16 @@ one code is the "client" and sends request messages to a "server" code. The server responds to each request with a reply message. This enables the two codes to work in tandem to perform a simulation. - ---------- - The *which* argument defines LAMMPS to be the client or the server. As explained below the *quit* option should be used when LAMMPS is finished as a client. It sends a message to the server to tell it to shut down. - ---------- - The *protocol* argument defines the format and content of messages that will be exchanged between the two codes. The current options are: @@ -86,10 +78,8 @@ For protocol *md*\ , LAMMPS can be either a client or server. See the For protocol *mc*\ , LAMMPS can be the server. See the :doc:`server mc ` doc page for details on the protocol. - ---------- - The *mode* argument specifies how messages are exchanged between the client and server codes. Both codes must use the same mode and use consistent parameters. @@ -105,10 +95,9 @@ code's machine. Support for socket messaging is provided by the open-source `ZeroMQ library `_, which must be installed on your system. The client specifies an IP address (IPv4 format) or the DNS name of the machine the server code is running on, -followed by a 4-digit port ID for the socket, separated by a colon. +followed by a 4 or 5 digit port ID for the socket, separated by a colon. E.g. - .. parsed-literal:: localhost:5555 # client and server running on same machine @@ -121,7 +110,20 @@ what the client specifies. .. note:: - What are allowed port IDs? + On Linux or Unix machines port IDs below 1024 are reserved to the + superuser and thus not available. Other ports may already be in + use and cannot be opened by a second process. On a Linux machine + the commands "netstat -t4an" or "ss -t4an" will list all locally + used port IDs for IPv4 addresses. + +.. note:: + + On many machines (and sometimes on local networks) also ports IDs + may be blocked by default through firewalls. In that case either + access to the required port (or a desired range of ports) has to + be selectively enabled to the firewall disabled (the latter is + usually not a good idea unless you are on a (small) local network + that is already protected from outside access. .. note:: @@ -131,8 +133,7 @@ what the client specifies. For mode *mpi/one*\ , the 2 codes communicate via MPI and are launched by the same mpirun command, e.g. with this syntax for OpenMPI: - -.. parsed-literal:: +.. code-block:: bash mpirun -np 2 lmp_mpi -mpicolor 0 -in in.client -log log.client : -np 4 othercode args # LAMMPS is client mpirun -np 2 othercode args : -np 4 lmp_mpi -mpicolor 1 -in in.server # LAMMPS is server @@ -148,10 +149,8 @@ inter-communicator can be established to enable the 2 codes to send MPI messages to each other. Both codes must be able to access the path/file in a common filesystem. - ---------- - Normally, the message client or message server command should be used at the top of a LAMMPS input script. It performs an initial handshake with the other code to setup messaging and to verify that both codes @@ -186,14 +185,11 @@ the client). As an example, this can be performed in a loop to use a quantum code as a server to compute quantum forces for multiple LAMMPS data files or periodic snapshots while running dynamics. - ---------- - Restrictions """""""""""" - This command is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -203,8 +199,3 @@ Related commands :doc:`server `, :doc:`fix client/md ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/min_modify.rst b/doc/src/min_modify.rst index 6b25a1d32d24d4609243e31a270be32c686519ab..e541571b7bd5c105693d0446c6813d0ecc36b735 100644 --- a/doc/src/min_modify.rst +++ b/doc/src/min_modify.rst @@ -1,25 +1,24 @@ -.. index:: min\_modify +.. index:: min_modify -min\_modify command -=================== +min_modify command +================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS min_modify keyword values ... * one or more keyword/value pairs may be listed - + .. parsed-literal:: - - keyword = *dmax* or *line* or *norm* or *alpha_damp* or *discrete_factor* + + keyword = *dmax* or *line* or *norm* or *alpha_damp* or *discrete_factor* or *integrator* or *tmax* *dmax* value = max max = maximum distance for line search to move (distance units) *line* value = *backtrack* or *quadratic* or *forcezero* or *spin_cubic* or *spin_none* - backtrack,quadratic,forcezero,spin_cubic,spin_none = style of linesearch to use + backtrack,quadratic,forcezero,spin_cubic,spin_none = style of linesearch to use *norm* value = *two* or *max* two = Euclidean two-norm (length of 3N vector) inf = max force component across all 3-vectors @@ -28,22 +27,24 @@ Syntax damping = fictitious Gilbert damping for spin minimization (adim) *discrete_factor* value = factor factor = discretization factor for adaptive spin timestep (adim) - - + *integrator* value = *eulerimplicit* or *verlet* + time integration scheme for fire minimization + *tmax* value = factor + factor = maximum adaptive timestep for fire minimization (adim) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS min_modify dmax 0.2 + min_modify integrator verlet tmax 4 Description """"""""""" This command sets parameters that affect the energy minimization -algorithms selected by the :doc:`min\_style ` command. The +algorithms selected by the :doc:`min_style ` command. The various settings may affect the convergence rate and overall number of force evaluations required by a minimization, so users can experiment with these parameters to tune their minimizations. @@ -60,96 +61,126 @@ highly overlapped atoms from being moved long distances (e.g. through another atom) due to large forces. The choice of line search algorithm for the *cg* and *sd* minimization -styles can be selected via the *line* keyword. -The default *quadratic* line search algorithm starts out using -the robust backtracking method described below. However, once -the system gets close to a local -minimum and the linesearch steps get small, so that the energy -is approximately quadratic in the step length, it uses the -estimated location of zero gradient as the linesearch step, -provided the energy change is downhill. -This becomes more efficient than backtracking -for highly-converged relaxations. The *forcezero* -line search algorithm is similar to *quadratic*\ . -It may be more efficient than *quadratic* on some systems. - -The backtracking search is robust and should always find a local energy -minimum. However, it will "converge" when it can no longer reduce the -energy of the system. Individual atom forces may still be larger than -desired at this point, because the energy change is measured as the -difference of two large values (energy before and energy after) and -that difference may be smaller than machine epsilon even if atoms -could move in the gradient direction to reduce forces further. - -The choice of a norm can be modified for the min styles *cg*\ , *sd*\ , -*quickmin*\ , *fire*\ , *spin*\ , *spin/cg* and *spin/lbfgs* using -the *norm* keyword. -The default *two* norm computes the 2-norm (Euclidean length) of the -global force vector: - -.. image:: Eqs/norm_two.jpg - :align: center - -The *max* norm computes the length of the 3-vector force -for each atom (2-norm), and takes the maximum value of those across +styles can be selected via the *line* keyword. The default +*quadratic* line search algorithm starts out using the robust +backtracking method described below. However, once the system gets +close to a local minimum and the linesearch steps get small, so that +the energy is approximately quadratic in the step length, it uses the +estimated location of zero gradient as the linesearch step, provided +the energy change is downhill. This becomes more efficient than +backtracking for highly-converged relaxations. The *forcezero* line +search algorithm is similar to *quadratic*\ . It may be more +efficient than *quadratic* on some systems. + +The backtracking search is robust and should always find a local +energy minimum. However, it will "converge" when it can no longer +reduce the energy of the system. Individual atom forces may still be +larger than desired at this point, because the energy change is +measured as the difference of two large values (energy before and +energy after) and that difference may be smaller than machine epsilon +even if atoms could move in the gradient direction to reduce forces +further. + +The choice of a norm can be modified for the min styles *cg*\ , *sd*\ +, *quickmin*\ , *fire*\ , *fire/old*\ , *spin*\ , *spin/cg* and +*spin/lbfgs* using the *norm* keyword. The default *two* norm computes +the 2-norm (Euclidean length) of the global force vector: + +.. math:: + || \vec{F} ||_{2} = \sqrt{\vec{F}_1^2+ \cdots + \vec{F}_N^2} + +The *max* norm computes the length of the 3-vector force +for each atom (2-norm), and takes the maximum value of those across all atoms -.. image:: Eqs/norm_max.jpg - :align: center +.. math:: + + || \vec{F} ||_{max} = {\rm max}\left(||\vec{F}_1||, \cdots, ||\vec{F}_N||\right) The *inf* norm takes the maximum component across the forces of all atoms in the system: -.. image:: Eqs/norm_inf.jpg - :align: center +.. math:: + + || \vec{F} ||_{inf} = {\rm max}\left(|F_1^1|, |F_1^2|, |F_1^3| \cdots, |F_N^1|, |F_N^2|, |F_N^3|\right) For the min styles *spin*\ , *spin/cg* and *spin/lbfgs*\ , the force norm is replaced by the spin-torque norm. -Keywords *alpha\_damp* and *discrete\_factor* only make sense when -a :doc:`min\_spin ` command is declared. -Keyword *alpha\_damp* defines an analog of a magnetic Gilbert +Keywords *alpha_damp* and *discrete_factor* only make sense when +a :doc:`min_spin ` command is declared. +Keyword *alpha_damp* defines an analog of a magnetic Gilbert damping. It defines a relaxation rate toward an equilibrium for a given magnetic system. -Keyword *discrete\_factor* defines a discretization factor for the +Keyword *discrete_factor* defines a discretization factor for the adaptive timestep used in the *spin* minimization. -See :doc:`min\_spin ` for more information about those +See :doc:`min_spin ` for more information about those quantities. The choice of a line search algorithm for the *spin/cg* and -*spin/lbfgs* styles can be specified via the *line* keyword. -The *spin\_cubic* and *spin\_none* only make sense when one of those -two minimization styles is declared. -The *spin\_cubic* performs the line search based on a cubic interpolation -of the energy along the search direction. The *spin\_none* keyword -deactivates the line search procedure. -The *spin\_none* is a default value for *line* keyword for both *spin/lbfgs* -and *spin/cg*\ . Convergence of *spin/lbfgs* can be more robust if -*spin\_cubic* line search is used. +*spin/lbfgs* styles can be specified via the *line* keyword. The +*spin_cubic* and *spin_none* keywords only make sense when one of those two +minimization styles is declared. The *spin_cubic* performs the line +search based on a cubic interpolation of the energy along the search +direction. The *spin_none* keyword deactivates the line search +procedure. The *spin_none* is a default value for *line* keyword for +both *spin/lbfgs* and *spin/cg*\ . Convergence of *spin/lbfgs* can be +more robust if *spin_cubic* line search is used. + +The Newton *integrator* used for *fire* minimization can be selected +to be either the symplectic Euler (\ *eulerimplicit*\ ) or velocity +Verlet (\ *verlet*\ ). *tmax* defines the maximum value for the +adaptive timestep during a *fire* minimization. It is a multiplication +factor applied to the current :doc:`timestep ` (not in time +unit). For example, *tmax* = 4.0 with a :doc:`timestep ` of +2fs, means that the maximum value the timestep can reach during a *fire* +minimization is 4fs. +Note that parameter defaults has been chosen to be reliable in most cases, +but one should consider adjusting :doc:`timestep ` and *tmax* to +optimize the minimization for large or complex systems. Other +parameters of the *fire* minimization can be tuned (\ *tmin*\ , +*delaystep*\ , *dtgrow*\ , *dtshrink*\ , *alpha0*\ , and +*alphashrink*\ ). Please refer to the references describing the +:doc:`min_style ` *fire*. +An additional stopping criteria *vdfmax* is used by *fire* in order to avoid +unnecessary looping when it is reasonable to think the system will not +be relaxed further. Note that in this case the system will NOT have +reached your minimization criteria. This could happen when the system +comes to be stuck in a local basin of the phase space. *vdfmax* is +the maximum number of consecutive iterations with P(t) < 0. + +The :doc:`min_style ` *fire* is an optimized implementation of +:doc:`min_style ` *fire/old*. It can however behave similarly +to the *fire/old* style by using the following set of parameters: + +.. code-block:: LAMMPS + + min_modify integrator eulerexplicit tmax 10.0 tmin 0.0 delaystep 5 & + dtgrow 1.1 dtshrink 0.5 alpha0 0.1 alphashrink 0.99 & + vdfmax 100000 halfstepback no initialdelay no Restrictions """""""""""" - -For magnetic GNEB calculations, only *spin\_none* value for *line* keyword can be used -when styles *spin/cg* and *spin/lbfgs* are employed. -See :doc:`neb/spin ` for more explanation. +For magnetic GNEB calculations, only *spin_none* value for *line* +keyword can be used when minimization styles *spin/cg* and *spin/lbfgs* are +employed. See :doc:`neb/spin ` for more explanation. Related commands """""""""""""""" -:doc:`min\_style `, :doc:`minimize ` +:doc:`min_style `, :doc:`minimize ` Default """"""" The option defaults are dmax = 0.1, line = quadratic and norm = two. -For the *spin*\ , *spin/cg* and *spin/lbfgs* styles, the -option defaults are alpha\_damp = 1.0, discrete\_factor = 10.0, -line = spin\_none, and norm = euclidean. - +For the *spin*\ , *spin/cg* and *spin/lbfgs* styles, the option +defaults are alpha_damp = 1.0, discrete_factor = 10.0, line = +spin_none, and norm = euclidean. -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +For the *fire* style, the option defaults are integrator = +eulerimplicit, tmax = 10.0, tmin = 0.02, delaystep = 20, dtgrow = 1.1, +dtshrink = 0.5, alpha0 = 0.25, alphashrink = 0.99, vdfmax = 2000, +halfstepback = yes and initialdelay = yes. diff --git a/doc/src/min_spin.rst b/doc/src/min_spin.rst index 1535a1067f2ff8334c2c23a79ea582b13bb8a988..46fd08b8389ee4cebb4fbd393b7b7c56c030a024 100644 --- a/doc/src/min_spin.rst +++ b/doc/src/min_spin.rst @@ -1,29 +1,27 @@ -.. index:: min\_style spin +.. index:: min_style spin -min\_style spin command -======================= +min_style spin command +====================== -min\_style spin/cg command -========================== +min_style spin/cg command +========================= -min\_style spin/lbfgs command -============================= +min_style spin/lbfgs command +============================ Syntax """""" +.. code-block:: LAMMPS -.. parsed-literal:: - - min_style spin - min_style spin/cg + min_style spin + min_style spin/cg min_style spin/lbfgs Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS min_style spin/lbfgs min_modify line spin_cubic discrete_factor 10.0 @@ -37,54 +35,53 @@ command is performed. Style *spin* defines a damped spin dynamics with an adaptive timestep, according to: -.. image:: Eqs/min_spin_damping.jpg - :align: center +.. math:: + + \frac{d \vec{s}_{i}}{dt} = \lambda\, \vec{s}_{i} \times\left( \vec{\omega}_{i} \times\vec{s}_{i} \right) -with lambda a damping coefficient (similar to a Gilbert -damping). -Lambda can be defined by setting the *alpha\_damp* keyword with the -:doc:`min\_modify ` command. +with :math:`\lambda` a damping coefficient (similar to a Gilbert +damping). :math:`\lambda` can be defined by setting the +*alpha_damp* keyword with the :doc:`min_modify ` command. The minimization procedure solves this equation using an adaptive timestep. The value of this timestep is defined by the largest precession frequency that has to be solved in the system: -.. image:: Eqs/min_spin_timestep.jpg - :align: center +.. math:: -with *\|omega\|\_\ *max*\ * the norm of the largest precession frequency -in the system (across all processes, and across all replicas if a + {\Delta t}_{\rm max} = \frac{2\pi}{\kappa \left|\vec{\omega}_{\rm max} \right|} + +with :math:`\left|\vec{\omega}_{\rm max}\right|` the norm of the largest precession +frequency in the system (across all processes, and across all replicas if a spin/neb calculation is performed). -Kappa defines a discretization factor *discrete\_factor* for the -definition of this timestep. -*discrete\_factor* can be defined with the :doc:`min\_modify ` -command. +:math:`\kappa` defines a discretization factor *discrete_factor* for +the definition of this timestep. *discrete_factor* can be defined with +the :doc:`min_modify ` command. Style *spin/cg* defines an orthogonal spin optimization -(OSO) combined to a conjugate gradient (CG) algorithm. -The :doc:`min\_modify ` command can be used to -couple the *spin/cg* to a line search procedure, and to modify the -discretization factor *discrete\_factor*. -By default, style *spin/cg* does not employ the line search procedure +(OSO) combined to a conjugate gradient (CG) algorithm. +The :doc:`min_modify ` command can be used to +couple the *spin/cg* to a line search procedure, and to modify the +discretization factor *discrete_factor*. +By default, style *spin/cg* does not employ the line search procedure and uses the adaptive time-step technique in the same way as style *spin*\ . -Style *spin/lbfgs* defines an orthogonal spin optimization -(OSO) combined to a limited-memory Broyden-Fletcher-Goldfarb-Shanno -(L-BFGS) algorithm. -By default, style *spin/lbfgs* does not employ line search procedure. -If the line search procedure is not used then the discrete factor defines -the maximum root mean squared rotation angle of spins by equation *pi/(5\*Kappa)*. -The default value for Kappa is 10. -The *spin\_cubic* line search can improve the convergence of the +Style *spin/lbfgs* defines an orthogonal spin optimization (OSO) +combined to a limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS) +algorithm. By default, style *spin/lbfgs* does not employ line search +procedure. If the line search procedure is not used then the discrete +factor defines the maximum root mean squared rotation angle of spins by +equation *pi/(5\*Kappa)*. The default value for Kappa is 10. The +*spin_cubic* line search option can improve the convergence of the *spin/lbfgs* algorithm. -The :doc:`min\_modify ` command can be used to +The :doc:`min_modify ` command can be used to activate the line search procedure, and to modify the -discretization factor *discrete\_factor*. +discretization factor *discrete_factor*. -For more information about styles *spin/cg* and *spin/lbfgs*\ , +For more information about styles *spin/cg* and *spin/lbfgs*\ , see their implementation reported in :ref:`(Ivanov) `. .. note:: @@ -101,33 +98,23 @@ see their implementation reported in :ref:`(Ivanov) `. Restrictions """""""""""" - This minimization procedure is only applied to spin degrees of freedom for a frozen lattice configuration. Related commands """""""""""""""" -:doc:`min\_style `, :doc:`minimize `, -:doc:`min\_modify ` +:doc:`min_style `, :doc:`minimize `, +:doc:`min_modify ` Default """"""" -The option defaults are *alpha\_damp* = 1.0, *discrete\_factor* = -10.0, *line* = spin\_none and *norm* = euclidean. - +The option defaults are *alpha_damp* = 1.0, *discrete_factor* = +10.0, *line* = spin_none and *norm* = euclidean. ---------- - .. _Ivanov1: - - **(Ivanov)** Ivanov, Uzdin, Jonsson. arXiv preprint arXiv:1904.02669, (2019). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/min_style.rst b/doc/src/min_style.rst index 91accc79673b4b89b6184d8d689df121d9ea19fd..c03015d4d96dfc6713ad752f731131a6224cd56c 100644 --- a/doc/src/min_style.rst +++ b/doc/src/min_style.rst @@ -1,23 +1,21 @@ -.. index:: min\_style +.. index:: min_style -min\_style command -================== +min_style command +================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS min_style style -* style = *cg* or *hftn* or *sd* or *quickmin* or *fire* or *spin* or *spin/cg* or *spin/lbfgs* +* style = *cg* or *hftn* or *sd* or *quickmin* or *fire* or *fire/old* or *spin* or *spin/cg* or *spin/lbfgs* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS min_style cg min_style spin @@ -26,8 +24,8 @@ Examples Description """"""""""" -Choose a minimization algorithm to use when a :doc:`minimize ` -command is performed. +Choose a minimization algorithm to use when a :doc:`minimize +` command is performed. Style *cg* is the Polak-Ribiere version of the conjugate gradient (CG) algorithm. At each iteration the force gradient is combined with the @@ -46,7 +44,7 @@ derivative. When close to an energy minimum, the algorithm behaves like a Newton method and exhibits a quadratic convergence rate to high accuracy. In most cases the behavior of *hftn* is similar to *cg*\ , but it offers an alternative if *cg* seems to perform poorly. This -style is not affected by the :doc:`min\_modify ` command. +style is not affected by the :doc:`min_modify ` command. Style *sd* is a steepest descent algorithm. At each iteration, the search direction is set to the downhill direction corresponding to the @@ -55,116 +53,123 @@ descent will not converge as quickly as CG, but may be more robust in some situations. Style *quickmin* is a damped dynamics method described in -:ref:`(Sheppard) `, where the damping parameter is related to the -projection of the velocity vector along the current force vector for -each atom. The velocity of each atom is initialized to 0.0 by this -style, at the beginning of a minimization. - -Style *fire* is a damped dynamics method described in -:ref:`(Bitzek) `, which is similar to *quickmin* but adds a variable -timestep and alters the projection operation to maintain components of -the velocity non-parallel to the current force vector. The velocity -of each atom is initialized to 0.0 by this style, at the beginning of -a minimization. - -Style *spin* is a damped spin dynamics with an adaptive -timestep. - -Style *spin/cg* uses an orthogonal spin optimization (OSO) -combined to a conjugate gradient (CG) approach to minimize spin -configurations. - -Style *spin/lbfgs* uses an orthogonal spin optimization (OSO) -combined to a limited-memory Broyden-Fletcher-Goldfarb-Shanno -(LBFGS) approach to minimize spin configurations. - -See the :doc:`min/spin ` doc page for more information -about the *spin*\ , *spin/cg* and *spin/lbfgs* styles. - -Either the *quickmin* and *fire* styles are useful in the context of -nudged elastic band (NEB) calculations via the :doc:`neb ` command. - -Either the *spin*\ , *spin/cg* and *spin/lbfgs* styles are useful -in the context of magnetic geodesic nudged elastic band (GNEB) calculations -via the :doc:`neb/spin ` command. +:ref:`(Sheppard) `, where the damping parameter is related +to the projection of the velocity vector along the current force +vector for each atom. The velocity of each atom is initialized to 0.0 +by this style, at the beginning of a minimization. + +Style *fire* is a damped dynamics method described in :ref:`(Bitzek) +`, which is similar to *quickmin* but adds a variable timestep +and alters the projection operation to maintain components of the +velocity non-parallel to the current force vector. The velocity of +each atom is initialized to 0.0 by this style, at the beginning of a +minimization. This style correspond to an optimized version described +in :ref:`(Guenole) ` that include different time integration +schemes and defaults parameters. The default parameters can be +modified with the command :doc:`min_modify `. + +Style *fire/old* is the original implementation of *fire* in Lammps, +conserved for backward compatibility. The main differences regarding +the current version *fire* are: time integration by Explicit Euler +only, different sequence in maintaining velocity components non-parallel +to the current force vector and hard-coded minimization parameters. +A complete description of the differences between *fire/old* and *fire* +can be found in :ref:`(Guenole) ` (where the current *fire* +in LAMMPS is called *fire2.0*). By using an appropriate set of +parameters, *fire* can behave similar to *fire/old*, as described +in the :doc:`min_modify ` command. + +Style *spin* is a damped spin dynamics with an adaptive timestep. + +Style *spin/cg* uses an orthogonal spin optimization (OSO) combined to +a conjugate gradient (CG) approach to minimize spin configurations. + +Style *spin/lbfgs* uses an orthogonal spin optimization (OSO) combined +to a limited-memory Broyden-Fletcher-Goldfarb-Shanno (LBFGS) approach +to minimize spin configurations. + +See the :doc:`min/spin ` doc page for more information about +the *spin*\ , *spin/cg* and *spin/lbfgs* styles. + +Either the *quickmin*\ , *fire* and *fire/old* styles are useful in the +context of nudged elastic band (NEB) calculations via the :doc:`neb +` command. + +Either the *spin*\ , *spin/cg* and *spin/lbfgs* styles are useful in +the context of magnetic geodesic nudged elastic band (GNEB) +calculations via the :doc:`neb/spin ` command. .. note:: The damped dynamic minimizers use whatever timestep you have - defined via the :doc:`timestep ` command. Often they will - converge more quickly if you use a timestep about 10x larger than you - would normally use for dynamics simulations. + defined via the :doc:`timestep ` command. Often they + will converge more quickly if you use a timestep about 10x larger + than you would normally use for dynamics simulations. + For *fire*, the default timestep is recommended to be equal to + the one you would normally use for dynamics simulations. .. note:: - The *quickmin*\ , *fire*\ , *hftn*\ , and *cg/kk* styles do not yet - support the use of the :doc:`fix box/relax ` command or - minimizations involving the electron radius in :doc:`eFF ` - models. - + The *quickmin*\ , *fire*\ , *fire/old*\ , *hftn*\ , and *cg/kk* styles do not yet + support the use of the :doc:`fix box/relax ` command + or minimizations involving the electron radius in :doc:`eFF + ` models. ---------- - 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 on the :doc:`Speed packages ` doc -page. The accelerated styles take the same arguments and should +hardware, as discussed on the :doc:`Speed packages ` +doc page. 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 :doc:`Build package ` doc page for more info. +LAMMPS was built with those packages. See the :doc:`Build package +` doc page for more info. You can specify the accelerated styles explicitly in your input script -by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the -:doc:`suffix ` command in your input script. +by including their suffix, or you can use the :doc:`-suffix +command-line switch ` when you invoke LAMMPS, or you can +use the :doc:`suffix ` command in your input script. See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - none + +none Related commands """""""""""""""" -:doc:`min\_modify `, :doc:`minimize `, :doc:`neb ` +:doc:`min_modify `, :doc:`minimize `, :doc:`neb ` Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS min_style cg - ---------- - .. _Sheppard: - - **(Sheppard)** Sheppard, Terrell, Henkelman, J Chem Phys, 128, 134106 (2008). See ref 1 in this paper for original reference to Qmin in Jonsson, Mills, Jacobsen. .. _Bitzek: - - **(Bitzek)** Bitzek, Koskinen, Gahler, Moseler, Gumbsch, Phys Rev Lett, 97, 170201 (2006). +.. _Guenole: -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +**(Guenole)** Guenole, Noehring, Vaid, Houlle, Xie, Prakash, Bitzek, +Comput Mater Sci, 175, 109584 (2020). diff --git a/doc/src/minimize.rst b/doc/src/minimize.rst index 668759401ef8c67a49f7671ed0ba4f948cdd5728..81234ae80e62eb124badc97b8b81fca36ba911e5 100644 --- a/doc/src/minimize.rst +++ b/doc/src/minimize.rst @@ -9,7 +9,6 @@ minimize/kk command Syntax """""" - .. parsed-literal:: minimize etol ftol maxiter maxeval @@ -22,8 +21,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS minimize 1.0e-4 1.0e-6 100 1000 minimize 0.0 1.0e-8 1000 100000 @@ -39,8 +37,8 @@ configuration should approximate a critical point for the objective function (see below), which may or may not be a local minimum. The minimization algorithm used is set by the -:doc:`min\_style ` command. Other options are set by the -:doc:`min\_modify ` command. Minimize commands can be +:doc:`min_style ` command. Other options are set by the +:doc:`min_modify ` command. Minimize commands can be interspersed with :doc:`run ` commands to alternate between relaxation and dynamics. The minimizers bound the distance atoms move in one iteration, so that you can relax systems with highly overlapped @@ -50,12 +48,14 @@ other. Alternate means of relaxing a system are to run dynamics with a small or :doc:`limited timestep `. Or dynamics can be run using :doc:`fix viscous ` to impose a damping force that -slowly drains all kinetic energy from the system. The :doc:`pair\_style soft ` potential can be used to un-overlap atoms while +slowly drains all kinetic energy from the system. The :doc:`pair_style soft ` potential can be used to un-overlap atoms while running dynamics. +un-overlap atoms while running dynamics. Note that you can minimize some atoms in the system while holding the -coordinates of other atoms fixed by applying :doc:`fix setforce ` to the other atoms. See a fuller -discussion of using fixes while minimizing below. +coordinates of other atoms fixed by applying :doc:`fix setforce +` to the other atoms. See a fuller discussion of using +fixes while minimizing below. The :doc:`minimization styles ` *cg*\ , *sd*\ , and *hftn* involves an outer iteration loop which sets the search direction along @@ -64,47 +64,50 @@ performed using a line search algorithm. The line search typically evaluates forces and energies several times to set new coordinates. Currently, a backtracking algorithm is used which may not be optimal in terms of the number of force evaluations performed, but appears to -be more robust than previous line searches we've tried. The +be more robust than previous line searches we have tried. The backtracking method is described in Nocedal and Wright's Numerical Optimization (Procedure 3.1 on p 41). -The :doc:`minimization styles ` *quickmin* and *fire* perform -damped dynamics using an Euler integration step. Thus they require a -:doc:`timestep ` be defined. +The :doc:`minimization styles ` *quickmin*\ , *fire* and +*fire/old* perform damped dynamics using an Euler integration step. Thus +they require a :doc:`timestep ` be defined. .. note:: The damped dynamic minimizers use whatever timestep you have - defined via the :doc:`timestep ` command. Often they will - converge more quickly if you use a timestep about 10x larger than you - would normally use for dynamics simulations. - + defined via the :doc:`timestep ` command. Often they + will converge more quickly if you use a timestep about 10x larger + than you would normally use for dynamics simulations. ---------- - In all cases, the objective function being minimized is the total potential energy of the system as a function of the N atom coordinates: -.. image:: Eqs/min_energy.jpg - :align: center - -where the first term is the sum of all non-bonded :doc:`pairwise interactions ` including :doc:`long-range Coulombic interactions `, the 2nd through 5th terms are -:doc:`bond `, :doc:`angle `, -:doc:`dihedral `, and :doc:`improper ` -interactions respectively, and the last term is energy due to -:doc:`fixes ` which can act as constraints or apply force to atoms, -such as through interaction with a wall. See the discussion below about -how fix commands affect minimization. +.. math:: + E(r_1,r_2, \ldots ,r_N) = & \sum_{i,j} E_{\it pair}(r_i,r_j) + + \sum_{ij} E_{\it bond}(r_i,r_j) + + \sum_{ijk} E_{\it angle}(r_i,r_j,r_k) + \\ + & \sum_{ijkl} E_{\it dihedral}(r_i,r_j,r_k,r_l) + + \sum_{ijkl} E_{\it improper}(r_i,r_j,r_k,r_l) + + \sum_i E_{\it fix}(r_i) + +where the first term is the sum of all non-bonded :doc:`pairwise +interactions ` including :doc:`long-range Coulombic +interactions `, the 2nd through 5th terms are :doc:`bond +`, :doc:`angle `, :doc:`dihedral +`, and :doc:`improper ` interactions +respectively, and the last term is energy due to :doc:`fixes ` +which can act as constraints or apply force to atoms, such as through +interaction with a wall. See the discussion below about how fix +commands affect minimization. The starting point for the minimization is the current configuration of the atoms. - ---------- - The minimization procedure stops if any of several criteria are met: * the change in energy between outer iterations is less than *etol* @@ -126,9 +129,9 @@ The minimization procedure stops if any of several criteria are met: .. note:: You can also use the :doc:`fix halt ` command to specify - a general criterion for exiting a minimization, that is a calculation - performed on the state of the current system, as defined by an - :doc:`equal-style variable `. + a general criterion for exiting a minimization, that is a + calculation performed on the state of the current system, as + defined by an :doc:`equal-style variable `. For the first criterion, the specified energy tolerance *etol* is unitless; it is met when the energy change between successive @@ -155,7 +158,7 @@ During a minimization, the outer iteration count is treated as a timestep. Output is triggered by this timestep, e.g. thermodynamic output or dump and restart files. -Using the :doc:`thermo\_style custom ` command with the +Using the :doc:`thermo_style custom ` command with the *fmax* or *fnorm* keywords can be useful for monitoring the progress of the minimization. Note that these outputs will be calculated only from forces on the atoms, and will not include any extra degrees of @@ -163,9 +166,8 @@ freedom, such as from the :doc:`fix box/relax ` command. Following minimization, a statistical summary is printed that lists which convergence criterion caused the minimizer to stop, as well as -information about the energy, force, final line search, and -iteration counts. An example is as follows: - +information about the energy, force, final line search, and iteration +counts. An example is as follows: .. parsed-literal:: @@ -204,10 +206,8 @@ reduced. The iterations and force evaluation values are what is checked by the *maxiter* and *maxeval* parameters. - ---------- - .. note:: There are several force fields in LAMMPS which have @@ -228,14 +228,14 @@ The iterations and force evaluation values are what is checked by the Note that a cutoff Lennard-Jones potential (and others) can be shifted so that its energy is 0.0 at the cutoff via the -:doc:`pair\_modify ` command. See the doc pages for +:doc:`pair_modify ` command. See the doc pages for individual :doc:`pair styles ` for details. Note that Coulombic potentials always have a cutoff, unless versions with a -long-range component are used (e.g. :doc:`pair\_style lj/cut/coul/long `). The CHARMM potentials go to 0.0 at -the cutoff (e.g. :doc:`pair\_style lj/charmm/coul/charmm `), -as do the GROMACS potentials (e.g. :doc:`pair\_style lj/gromacs `). +long-range component are used (e.g. :doc:`pair_style lj/cut/coul/long `). The CHARMM potentials go to 0.0 at +the cutoff (e.g. :doc:`pair_style lj/charmm/coul/charmm `), +as do the GROMACS potentials (e.g. :doc:`pair_style lj/gromacs `). -If a soft potential (:doc:`pair\_style soft `) is used the +If a soft potential (:doc:`pair_style soft `) is used the Astop value is used for the prefactor (no time dependence). The :doc:`fix box/relax ` command can be used to apply an @@ -266,7 +266,7 @@ that can be used include: Some fixes which are invoked during minimization have an associated potential energy. For that energy to be included in the total potential energy of the system (the quantity being minimized), - you MUST enable the :doc:`fix\_modify ` *energy* option for + you MUST enable the :doc:`fix_modify ` *energy* option for that fix. The doc pages for individual :doc:`fix ` commands specify if this should be done. @@ -277,10 +277,8 @@ that can be used include: :doc:`fix shake ` or :doc:`fix rigid `. See more info in the Restrictions section below. - ---------- - 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 @@ -299,14 +297,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - Features that are not yet implemented are listed here, in case someone knows how they could be coded: @@ -321,7 +316,7 @@ algorithm. is not an error to have it defined, but the energy minimization will not keep the defined body(s) rigid during the minimization. Note that if bonds, angles, etc internal to a rigid body have been turned off -(e.g. via :doc:`neigh\_modify exclude `), they will not +(e.g. via :doc:`neigh_modify exclude `), they will not contribute to the potential energy which is probably not what is desired. @@ -333,12 +328,7 @@ system will not fully relax. Related commands """""""""""""""" -:doc:`min\_modify `, :doc:`min\_style `, -:doc:`run\_style ` +:doc:`min_modify `, :doc:`min_style `, +:doc:`run_style ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/molecule.rst b/doc/src/molecule.rst index e4a8a4046893f21e6b8a507b144e4596bb5b66cc..aa0094999022e989b4c69878a467e90abb3c5e9c 100644 --- a/doc/src/molecule.rst +++ b/doc/src/molecule.rst @@ -6,7 +6,6 @@ molecule command Syntax """""" - .. parsed-literal:: molecule ID file1 keyword values ... file2 keyword values ... fileN ... @@ -15,9 +14,9 @@ Syntax * file1,file2,... = names of files containing molecule descriptions * zero or more keyword/value pairs may be appended after each file * keyword = *offset* or *toff* or *boff* or *aoff* or *doff* or *ioff* or *scale* - + .. parsed-literal:: - + *offset* values = Toff Boff Aoff Doff Ioff Toff = offset to add to atom types Boff = offset to add to bond types @@ -37,13 +36,10 @@ Syntax *scale* value = sfactor sfactor = scale factor to apply to the size and mass of the molecule - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS molecule 1 mymol.txt molecule 1 co2.txt h2o.txt @@ -64,8 +60,9 @@ templates include: * :doc:`fix rigid/small ` * :doc:`fix shake ` * :doc:`fix gcmc ` -* :doc:`create\_atoms ` -* :doc:`atom\_style template ` +* :doc:`fix bond/react ` +* :doc:`create_atoms ` +* :doc:`atom_style template ` The ID of a molecule template can only contain alphanumeric characters and underscores. @@ -73,7 +70,7 @@ and underscores. A single template can contain multiple molecules, listed one per file. Some of the commands listed above currently use only the first molecule in the template, and will issue a warning if the template -contains multiple molecules. The :doc:`atom\_style template ` command allows multiple-molecule templates +contains multiple molecules. The :doc:`atom_style template ` command allows multiple-molecule templates to define a system with more than one templated molecule. Each filename can be followed by optional keywords which are applied @@ -109,16 +106,16 @@ molecule (header keyword = inertia). to your simulation, via one or more of the commands listed above. Since this topology-related information requires that suitable storage is reserved when LAMMPS creates the simulation box (e.g. when using - the :doc:`create\_box ` command or the - :doc:`read\_data ` command) suitable space has to be reserved + the :doc:`create_box ` command or the + :doc:`read_data ` command) suitable space has to be reserved so you do not overflow those pre-allocated data structures when adding - molecules later. Both the :doc:`create\_box ` command and - the :doc:`read\_data ` command have "extra" options which + molecules later. Both the :doc:`create_box ` command and + the :doc:`read_data ` command have "extra" options which insure space is allocated for storing topology info for molecules that are added later. The format of an individual molecule file is similar but -(not identical) to the data file read by the :doc:`read\_data ` +(not identical) to the data file read by the :doc:`read_data ` commands, and is as follows. A molecule file has a header and a body. The header appears first. @@ -127,7 +124,7 @@ a description of the file. Then lines are read one at a time. Lines can have a trailing comment starting with '#' that is ignored. If the line is blank (only white-space after comment is deleted), it is skipped. If the line contains a header keyword, the corresponding -value(s) is read from the line. If it doesn't contain a header +value(s) is read from the line. If it does not contain a header keyword, the line begins the body of the file. The body of the file contains zero or more sections. The first line @@ -148,6 +145,7 @@ appear if the value(s) are different than the default. * Na *angles* = # of angles Na in molecule, default = 0 * Nd *dihedrals* = # of dihedrals Nd in molecule, default = 0 * Ni *impropers* = # of impropers Ni in molecule, default = 0 +* Nf *fragments* = # of fragments in molecule, default = 0 * Mtotal *mass* = total mass of molecule * Xc Yc Zc *com* = coordinates of center-of-mass of molecule * Ixx Iyy Izz Ixy Ixz Iyz *inertia* = 6 components of inertia tensor of molecule @@ -170,7 +168,7 @@ internally. These are the allowed section keywords for the body of the file. -* *Coords, Types, Charges, Diameters, Masses* = atom-property sections +* *Coords, Types, Molecules, Fragments, Charges, Diameters, Masses* = atom-property sections * *Bonds, Angles, Dihedrals, Impropers* = molecular topology sections * *Special Bond Counts, Special Bonds* = special neighbor info * *Shake Flags, Shake Atoms, Shake Bond Types* = SHAKE info @@ -182,7 +180,7 @@ details below). This is optional since if these sections are not included, LAMMPS will auto-generate this information. Note that LAMMPS uses this info to properly exclude or weight bonded pairwise interactions between bonded atoms. See the -:doc:`special\_bonds ` command for more details. One +:doc:`special_bonds ` command for more details. One reason to list the special bond info explicitly is for the :doc:`thermalized Drude oscillator model ` which treats the bonds between nuclear cores and Drude electrons in a different manner. @@ -209,29 +207,43 @@ should be a number from 1 to Nlines for the section, indicating which atom (or bond, etc) the entry applies to. The lines are assumed to be listed in order from 1 to Nlines, but LAMMPS does not check for this. - ---------- - *Coords* section: * one line per atom * line syntax: ID x y z * x,y,z = coordinate of atom - ---------- - *Types* section: * one line per atom * line syntax: ID type * type = atom type of atom +---------- + +*Molecules* section: + +* one line per atom +* line syntax: ID molecule-ID +* molecule-ID = molecule ID of atom ---------- +*Fragments* section: + +* one line per fragment +* line syntax: ID a b c d ... +* a,b,c,d,... = IDs of atoms in fragment + +The ID of a fragment can only contain alphanumeric characters and +underscores. The atom IDs should be values from 1 to Natoms, where +Natoms = # of atoms in the molecule. + +---------- *Charges* section: @@ -243,10 +255,8 @@ This section is only allowed for :doc:`atom styles ` that support charge. If this section is not included, the default charge on each atom in the molecule is 0.0. - ---------- - *Diameters* section: * one line per atom @@ -254,13 +264,11 @@ on each atom in the molecule is 0.0. * diam = diameter of atom This section is only allowed for :doc:`atom styles ` that -support finite-size spherical particles, e.g. atom\_style sphere. If +support finite-size spherical particles, e.g. atom_style sphere. If not listed, the default diameter of each atom in the molecule is 1.0. - ---------- - *Masses* section: * one line per atom @@ -274,10 +282,8 @@ included, the default mass for each atom is derived from its volume (see Diameters section) and a default density of 1.0, in :doc:`units ` of mass/volume. - ---------- - *Bonds* section: * one line per bond @@ -288,10 +294,8 @@ included, the default mass for each atom is derived from its volume The IDs for the two atoms in each bond should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. - ---------- - *Angles* section: * one line per angle @@ -304,10 +308,8 @@ Natoms, where Natoms = # of atoms in the molecule. The 3 atoms are ordered linearly within the angle. Thus the central atom (around which the angle is computed) is the atom2 in the list. - ---------- - *Dihedrals* section: * one line per dihedral @@ -319,10 +321,8 @@ The IDs for the four atoms in each dihedral should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The 4 atoms are ordered linearly within the dihedral. - ---------- - *Impropers* section: * one line per improper @@ -336,10 +336,8 @@ the 4 atoms determines the definition of the improper angle used in the formula for the defined :doc:`improper style `. See the doc pages for individual styles for details. - ---------- - *Special Bond Counts* section: * one line per atom @@ -350,7 +348,7 @@ the doc pages for individual styles for details. N1, N2, N3 are the number of 1-2, 1-3, 1-4 neighbors respectively of this atom within the topology of the molecule. See the -:doc:`special\_bonds ` doc page for more discussion of +:doc:`special_bonds ` doc page for more discussion of 1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bonds section must also appear. @@ -358,10 +356,8 @@ As explained above, LAMMPS will auto-generate this information if this section is not specified. If specified, this section will override what would be auto-generated. - ---------- - *Special Bonds* section: * one line per atom @@ -373,7 +369,7 @@ A, b, c, d, etc are the IDs of the n1+n2+n3 atoms that are 1-2, 1-3, Natoms, where Natoms = # of atoms in the molecule. The first N1 values should be the 1-2 neighbors, the next N2 should be the 1-3 neighbors, the last N3 should be the 1-4 neighbors. No atom ID should -appear more than once. See the :doc:`special\_bonds ` doc +appear more than once. See the :doc:`special_bonds ` doc page for more discussion of 1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bond Counts section must also appear. @@ -381,10 +377,8 @@ As explained above, LAMMPS will auto-generate this information if this section is not specified. If specified, this section will override what would be auto-generated. - ---------- - *Shake Flags* section: * one line per atom @@ -404,10 +398,8 @@ clusters. * 3 = part of a 3-atom SHAKE cluster with two bonds * 4 = part of a 4-atom SHAKE cluster with three bonds - ---------- - *Shake Atoms* section: * one line per atom @@ -442,10 +434,8 @@ and b,c,d = IDs of other three atoms bonded to the central atom. See the :doc:`fix shake ` doc page for a further description of SHAKE clusters. - ---------- - *Shake Bond Types* section: * one line per atom @@ -489,17 +479,14 @@ atom (value d in the Shake Atoms section). See the :doc:`fix shake ` doc page for a further description of SHAKE clusters. - ---------- - Restrictions """""""""""" - This command must come after the simulation box is define by a -:doc:`read\_data `, :doc:`read\_restart `, or -:doc:`create\_box ` command. +:doc:`read_data `, :doc:`read_restart `, or +:doc:`create_box ` command. Related commands """""""""""""""" @@ -511,8 +498,3 @@ Default """"""" The default keywords values are offset 0 0 0 0 0 and scale = 1.0. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/neb.rst b/doc/src/neb.rst index ef14739301e067a2cee4b52e277298f58eb9bdd1..acb157e2ece03df92cb17218cd258d7883b7188d 100644 --- a/doc/src/neb.rst +++ b/doc/src/neb.rst @@ -6,7 +6,6 @@ neb command Syntax """""" - .. parsed-literal:: neb etol ftol N1 N2 Nevery file-style arg keyword @@ -17,9 +16,9 @@ Syntax * N2 = max # of iterations (timesteps) to run barrier-climbing NEB * Nevery = print replica energies and reaction coordinates every this many timesteps * file-style = *final* or *each* or *none* - + .. parsed-literal:: - + *final* arg = filename filename = file with initial coords for final replica coords for intermediate replicas are linearly interpolated @@ -35,8 +34,7 @@ keyword = *verbose* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS neb 0.1 0.0 1000 500 50 final coords.final neb 0.0 0.001 1000 500 50 each coords.initial.$i @@ -114,10 +112,8 @@ from such an initial path. In this case, you will want to generate initial states for the intermediate replicas that are geometrically closer to the MEP and read them in. - ---------- - For a *file-style* setting of *final*\ , a filename is specified which contains atomic coordinates for zero or more atoms, in the format described below. For each atom that appears in the file, the new @@ -151,8 +147,7 @@ For a *file-style* setting of *each*\ , a filename is specified which is assumed to be unique to each replica. This can be done by using a variable in the filename, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable i equal part neb 0.0 0.001 1000 500 50 each coords.initial.$i @@ -171,8 +166,8 @@ For a *file-style* setting of *none*\ , no filename is specified. Each replica is assumed to already be in its initial configuration at the time the neb command is issued. This allows each replica to define its own configuration by reading a replica-specific data or restart or -dump file, via the :doc:`read\_data `, -:doc:`read\_restart `, or :doc:`read\_dump ` +dump file, via the :doc:`read_data `, +:doc:`read_restart `, or :doc:`read_dump ` commands. The replica-specific names of these files can be specified as in the discussion above for the *each* file-style. Also see the section below for how a NEB calculation can produce restart files, so @@ -185,14 +180,12 @@ that a long calculation can be restarted if needed. must thus be in the correct initial configuration at the time the neb command is issued. - ---------- - A NEB calculation proceeds in two stages, each of which is a minimization procedure, performed via damped dynamics. To enable this, you must first define a damped dynamics -:doc:`min\_style `, such as *quickmin* or *fire*\ . The *cg*\ , +:doc:`min_style `, such as *quickmin* or *fire*\ . The *cg*\ , *sd*\ , and *hftn* styles cannot be used, since they perform iterative line searches in their inner loop, which cannot be easily synchronized across multiple replicas. @@ -246,15 +239,13 @@ configuration at (close to) the saddle point of the transition. The potential energies for the set of replicas represents the energy profile of the transition along the MEP. - ---------- - A few other settings in your input script are required or advised to perform a NEB calculation. See the NOTE about the choice of timestep at the beginning of this doc page. -An atom map must be defined which it is not by default for :doc:`atom\_style atomic ` problems. The :doc:`atom\_modify map ` command can be used to do this. +An atom map must be defined which it is not by default for :doc:`atom_style atomic ` problems. The :doc:`atom_modify map ` command can be used to do this. The minimizers in LAMMPS operate on all atoms in your system, even non-NEB atoms, as defined above. To prevent non-NEB atoms from moving @@ -271,10 +262,8 @@ Euler integration step. Thus you must define an appropriate will often converge more quickly if you use a timestep about 10x larger than you would normally use for dynamics simulations. - ---------- - Each file read by the neb command containing atomic coordinates used to initialize one or more replicas must be formatted as follows. @@ -284,7 +273,6 @@ starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information: - .. parsed-literal:: ID1 x1 y1 z1 @@ -306,10 +294,8 @@ Also note there is no requirement that the atoms in the file correspond to the NEB atoms in the group defined by the :doc:`fix neb ` command. Not every NEB atom need be in the file, and non-NEB atoms can be listed in the file. - ---------- - Four kinds of output can be generated during a NEB calculation: energy barrier statistics, thermodynamic output by each replica, dump files, and restart files. @@ -388,24 +374,24 @@ restart the calculation from an intermediate point with altered parameters. There are 2 Python scripts provided in the tools/python directory, -neb\_combine.py and neb\_final.py, which are useful in analyzing output +neb_combine.py and neb_final.py, which are useful in analyzing output from a NEB calculation. Assume a NEB simulation with M replicas, and the NEB atoms labeled with a specific atom type. -The neb\_combine.py script extracts atom coords for the NEB atoms from +The neb_combine.py script extracts atom coords for the NEB atoms from all M dump files and creates a single dump file where each snapshot contains the NEB atoms from all the replicas and one copy of non-NEB atoms from the first replica (presumed to be identical in other replicas). This can be visualized/animated to see how the NEB atoms relax as the NEB calculation proceeds. -The neb\_final.py script extracts the final snapshot from each of the M +The neb_final.py script extracts the final snapshot from each of the M dump files to create a single dump file with M snapshots. This can be visualized to watch the system make its transition over the energy barrier. To illustrate, here are images from the final snapshot produced by the -neb\_combine.py script run on the dump files produced by the two +neb_combine.py script run on the dump files produced by the two example input scripts in examples/neb. Click on them to see a larger image. @@ -415,22 +401,17 @@ image. .. image:: JPG/hop2_small.jpg :target: JPG/hop2.jpg - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. - ---------- - Related commands """""""""""""""" @@ -442,37 +423,22 @@ Default none - ---------- - .. _HenkelmanA: - - **(HenkelmanA)** Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000). .. _HenkelmanB: - - **(HenkelmanB)** Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, 9901-9904 (2000). .. _Nakano3: - - **(Nakano)** Nakano, Comp Phys Comm, 178, 280-289 (2008). .. _Maras2: - - **(Maras)** Maras, Trushin, Stukowski, Ala-Nissila, Jonsson, Comp Phys Comm, 205, 13-21 (2016) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/neb_spin.rst b/doc/src/neb_spin.rst index 161348e97c9d3bca45538aa5f4e9f9f408586cbe..10b08f674b1a9f3f571204720c1523f741ec087e 100644 --- a/doc/src/neb_spin.rst +++ b/doc/src/neb_spin.rst @@ -6,7 +6,6 @@ neb/spin command Syntax """""" - .. parsed-literal:: neb/spin etol ttol N1 N2 Nevery file-style arg keyword @@ -17,9 +16,9 @@ Syntax * N2 = max # of iterations (timesteps) to run barrier-climbing NEB * Nevery = print replica energies and reaction coordinates every this many timesteps * file-style = *final* or *each* or *none* - + .. parsed-literal:: - + *final* arg = filename filename = file with initial coords for final replica coords for intermediate replicas are linearly interpolated @@ -30,13 +29,16 @@ Syntax *none* arg = no argument all replicas assumed to already have their initial coords -keyword = *verbose* +* keyword = *verbose* + + .. parsed-literal:: + + *verbose* = print supplemental information Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS neb/spin 0.1 0.0 1000 500 50 final coords.final neb/spin 0.0 0.001 1000 500 50 each coords.initial.$i @@ -110,10 +112,8 @@ from such an initial path. In this case, you will want to generate initial states for the intermediate replicas that are geometrically closer to the MEP and read them in. - ---------- - For a *file-style* setting of *final*\ , a filename is specified which contains atomic and spin coordinates for zero or more atoms, in the format described below. @@ -136,21 +136,27 @@ is assigned to be a fraction of the angular distance. The angular interpolation between the starting and final point is achieved using Rodrigues formula: -.. image:: Eqs/neb_spin_rodrigues_formula.jpg - :align: center +.. math:: + + \vec{m}_i^{\nu} = \vec{m}_i^{I} \cos(\omega_i^{\nu}) + + (\vec{k}_i \times \vec{m}_i^{I}) \sin(\omega_i^{\nu}) + + (1.0-\cos(\omega_i^{\nu})) \vec{k}_i (\vec{k}_i\cdot + \vec{m}_i^{I}) + +where :math:`\vec{m}_i^I` is the initial spin configuration for +spin i, :math:`\omega_i^{\nu}` is a rotation angle defined as: + +.. math:: -where m\_i\^I is the initial spin configuration for the spin i, -omega\_i\^nu is a rotation angle defined as: + \omega_i^{\nu} = (\nu - 1) \Delta \omega_i {\rm ~~and~~} \Delta \omega_i = \frac{\omega_i}{Q-1} -.. image:: Eqs/neb_spin_angle.jpg - :align: center +with :math:`\nu` the image number, Q the total number of images, and +:math:`\omega_i` the total rotation between the initial and final spins. +:math:`\vec{k}_i` defines a rotation axis such as: -with nu the image number, Q the total number of images, and -omega\_i the total rotation between the initial and final spins. -k\_i defines a rotation axis such as: +.. math:: -.. image:: Eqs/neb_spin_k.jpg - :align: center + \vec{k}_i = \frac{\vec{m}_i^I \times \vec{m}_i^F}{\left|\vec{m}_i^I \times \vec{m}_i^F\right|} if the initial and final spins are not aligned. If the initial and final spins are aligned, then their cross @@ -171,8 +177,8 @@ For a *file-style* setting of *none*\ , no filename is specified. Each replica is assumed to already be in its initial configuration at the time the neb command is issued. This allows each replica to define its own configuration by reading a replica-specific data or restart or -dump file, via the :doc:`read\_data `, -:doc:`read\_restart `, or :doc:`read\_dump ` +dump file, via the :doc:`read_data `, +:doc:`read_restart `, or :doc:`read_dump ` commands. The replica-specific names of these files can be specified as in the discussion above for the *each* file-style. Also see the section below for how a NEB calculation can produce restart files, so @@ -185,16 +191,14 @@ that a long calculation can be restarted if needed. must thus be in the correct initial configuration at the time the neb command is issued. - ---------- - A NEB calculation proceeds in two stages, each of which is a minimization procedure. To enable this, you must first define a -:doc:`min\_style `, using either the *spin*\ , +:doc:`min_style `, using either the *spin*\ , *spin/cg*\ , or *spin/lbfgs* style (see -:doc:`min\_spin ` for more information). +:doc:`min_spin ` for more information). The other styles cannot be used, since they relax the lattice degrees of freedom instead of the spins. @@ -249,11 +253,9 @@ configuration at (close to) the saddle point of the transition. The potential energies for the set of replicas represents the energy profile of the transition along the MEP. - ---------- - -An atom map must be defined which it is not by default for :doc:`atom\_style atomic ` problems. The :doc:`atom\_modify map ` command can be used to do this. +An atom map must be defined which it is not by default for :doc:`atom_style atomic ` problems. The :doc:`atom_modify map ` command can be used to do this. An initial value can be defined for the timestep. Although, the *spin* minimization algorithm is an adaptive timestep methodology, so that @@ -262,10 +264,8 @@ this timestep is likely to evolve during the calculation. The minimizers in LAMMPS operate on all spins in your system, even non-GNEB atoms, as defined above. - ---------- - Each file read by the neb/spin command containing spin coordinates used to initialize one or more replicas must be formatted as follows. @@ -275,7 +275,6 @@ starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information: - .. parsed-literal:: ID1 g1 x1 y1 z1 sx1 sy1 sz1 @@ -298,10 +297,8 @@ Also note there is no requirement that the atoms in the file correspond to the GNEB atoms in the group defined by the :doc:`fix neb ` command. Not every GNEB atom need be in the file, and non-GNEB atoms can be listed in the file. - ---------- - Four kinds of output can be generated during a GNEB calculation: energy barrier statistics, thermodynamic output by each replica, dump files, and restart files. @@ -339,7 +336,7 @@ The forward (reverse) energy barrier is the potential energy of the highest replica minus the energy of the first (last) replica. Supplementary information for all replicas can be printed out to the -screen and master log.lammps file by adding the verbose keyword. This +screen and master log.lammps file by adding the *verbose* keyword. This information include the following. The "GradVidottan" are the projections of the potential gradient for the replica i on its tangent vector (as detailed in Appendix D of @@ -372,30 +369,26 @@ calculation fails to converge properly to the MEP, and you wish to restart the calculation from an intermediate point with altered parameters. -A c file script in provided in the tool/spin/interpolate\_gneb +A c file script in provided in the tool/spin/interpolate_gneb directory, that interpolates the MEP given the information provided -by the verbose output option (as detailed in Appendix D of +by the *verbose* output option (as detailed in Appendix D of :ref:`(BessarabA) `). - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the SPIN package. See the :doc:`Build package ` doc page for more info. -For magnetic GNEB calculations, only *spin\_none* value for *line* keyword can be used -when styles *spin/cg* and *spin/lbfgs* are employed. - +For magnetic GNEB calculations, only the *spin_none* value for the +*line* keyword can be used when minimization styles *spin/cg* and +*spin/lbfgs* are employed. ---------- - Related commands """""""""""""""" @@ -406,18 +399,9 @@ Default none - ---------- - .. _BessarabA: - - **(BessarabA)** Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, 335-347 (2015). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/neigh_modify.rst b/doc/src/neigh_modify.rst index 9035690a00c2bb57d607f4527a436a27e0b021a6..2618953dd7bcbcda4c7824a5f7bc9d5641c91ce3 100644 --- a/doc/src/neigh_modify.rst +++ b/doc/src/neigh_modify.rst @@ -1,20 +1,19 @@ -.. index:: neigh\_modify +.. index:: neigh_modify -neigh\_modify command -===================== +neigh_modify command +==================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS neigh_modify keyword values ... * one or more keyword/value pairs may be listed - + .. parsed-literal:: - + keyword = *delay* or *every* or *check* or *once* or *cluster* or *include* or *exclude* or *page* or *one* or *binsize* *delay* value = N N = delay building until this many steps since last build @@ -49,13 +48,10 @@ Syntax *binsize* value = size size = bin size for neighbor list construction (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS neigh_modify every 2 delay 10 check yes page 100000 neigh_modify exclude type 2 3 @@ -92,7 +88,7 @@ move far enough that the neighbor list should be rebuilt, e.g. running a simulation of a cold crystal. Note that it is not that expensive to check if neighbor lists should be rebuilt. -When the rRESPA integrator is used (see the :doc:`run\_style ` +When the rRESPA integrator is used (see the :doc:`run_style ` command), the *every* and *delay* parameters refer to the longest (outermost) timestep. @@ -107,7 +103,7 @@ nearby periodic images. The only way this should happen is if the pairwise cutoff is so short that atoms that are part of the same interaction are not communicated as ghost atoms. This is an unusual model (e.g. no pair interactions at all) and the problem can be fixed -by use of the :doc:`comm\_modify cutoff ` command. Note +by use of the :doc:`comm_modify cutoff ` command. Note that to save time, the default *cluster* setting is *no*\ , so that this check is not performed. @@ -116,7 +112,7 @@ atoms in the specified group. This can be useful for models where a large portion of the simulation is particles that do not interact with other particles or with each other via pairwise interactions. The group specified with this option must also be specified via the -:doc:`atom\_modify first ` command. Note that specifying +:doc:`atom_modify first ` command. Note that specifying "all" as the group-ID effectively turns off the *include* option. The *exclude* option turns off pairwise interactions between certain @@ -132,7 +128,6 @@ sample scenarios where this is useful: * When one or more rigid bodies are specified, interactions within each body can be turned off to save needless computation. See the :doc:`fix rigid ` command for more details. - The *exclude type* option turns off the pairwise interaction if one atom is of type M and the other of type N. M can equal N. The *exclude group* option turns off the interaction if one atom is in the @@ -150,21 +145,21 @@ The other exclude options are more expensive if specified multiple times; they require one check for each time they have been specified. Note that the exclude options only affect pairwise interactions; see -the :doc:`delete\_bonds ` command for information on +the :doc:`delete_bonds ` command for information on turning off bond interactions. .. note:: Excluding pairwise interactions will not work correctly when also using a long-range solver via the - :doc:`kspace\_style ` command. LAMMPS will give a warning + :doc:`kspace_style ` command. LAMMPS will give a warning to this effect. This is because the short-range pairwise interaction needs to subtract off a term from the total energy for pairs whose short-range interaction is excluded, to compensate for how the long-range solver treats the interaction. This is done correctly for pairwise interactions that are excluded (or weighted) via the - :doc:`special\_bonds ` command. But it is not done for - interactions that are excluded via these neigh\_modify exclude options. + :doc:`special_bonds ` command. But it is not done for + interactions that are excluded via these neigh_modify exclude options. The *page* and *one* options affect how memory is allocated for the neighbor lists. For most simulations the default settings for these @@ -182,10 +177,10 @@ atom can have. LAMMPS can crash without an error message if the number of neighbors for a single particle is larger than the *page* setting, which means it is much, much larger than the *one* setting. This is - because LAMMPS doesn't error check these limits for every pairwise + because LAMMPS does not error check these limits for every pairwise interaction (too costly), but only after all the particle's neighbors have been found. This problem usually means something is very wrong - with the way you've setup your problem (particle spacing, cutoff + with the way you have setup your problem (particle spacing, cutoff length, neighbor skin distance, etc). If you really expect that many neighbors per particle, then boost the *one* and *page* settings accordingly. @@ -205,7 +200,6 @@ binsize of 1/2 the cutoff. Restrictions """""""""""" - If the "delay" setting is non-zero, then it must be a multiple of the "every" setting. @@ -219,7 +213,7 @@ space. Related commands """""""""""""""" -:doc:`neighbor `, :doc:`delete\_bonds ` +:doc:`neighbor `, :doc:`delete_bonds ` Default """"""" @@ -227,8 +221,3 @@ Default The option defaults are delay = 10, every = 1, check = yes, once = no, cluster = no, include = all (same as no include option defined), exclude = none, page = 100000, one = 2000, and binsize = 0.0. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index ae21232609edea2b484534b96d03a536c268a7d6..1bb591587c3b9a325041f84db0ad4b5b362cea71 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -6,7 +6,6 @@ neighbor command Syntax """""" - .. parsed-literal:: neighbor skin style @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS neighbor 0.3 bin neighbor 2.0 nsq @@ -37,7 +35,7 @@ default values below. The *skin* distance is also used to determine how often atoms migrate to new processors if the *check* option of the -:doc:`neigh\_modify ` command is set to *yes*\ . Atoms are +:doc:`neigh_modify ` command is set to *yes*\ . Atoms are migrated (communicated) to new processors on the same timestep that neighbor lists are re-built. @@ -59,10 +57,10 @@ other type pairs have a much shorter cutoff. For style *multi* the bin size is set to 1/2 of the shortest cutoff distance and multiple sets of bins are defined to search over for different atom types. This imposes some extra setup overhead, but the searches themselves -may be much faster for the short-cutoff cases. See the :doc:`comm\_modify mode multi ` command for a communication option +may be much faster for the short-cutoff cases. See the :doc:`comm_modify mode multi ` command for a communication option that may also be beneficial for simulations of this kind. -The :doc:`neigh\_modify ` command has additional options +The :doc:`neigh_modify ` command has additional options that control how often neighbor lists are built and which pairs are stored in the list. @@ -77,8 +75,8 @@ Restrictions Related commands """""""""""""""" -:doc:`neigh\_modify `, :doc:`units `, -:doc:`comm\_modify ` +:doc:`neigh_modify `, :doc:`units `, +:doc:`comm_modify ` Default """"""" @@ -86,10 +84,5 @@ Default | 0.3 bin for units = lj, skin = 0.3 sigma | 2.0 bin for units = real or metal, skin = 2.0 Angstroms | 0.001 bin for units = si, skin = 0.001 meters = 1.0 mm -| 0.1 bin for units = cgs, skin = 0.1 cm = 1.0 mm -| - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +| 0.1 bin for units = cgs, skin = 0.1 cm = 1.0 mm +| diff --git a/doc/src/newton.rst b/doc/src/newton.rst index 6c1f600224f4e601e1f38d9fe7c58ddd1b236a7c..df1298a9e4f4260d0f5bf364763e88f96348603c 100644 --- a/doc/src/newton.rst +++ b/doc/src/newton.rst @@ -6,7 +6,6 @@ newton command Syntax """""" - .. parsed-literal:: newton flag @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS newton off newton on off @@ -46,7 +44,7 @@ processor. LAMMPS should produce the same answers for any newton flag settings, except for round-off issues. -With :doc:`run\_style ` *respa* and only bonded interactions +With :doc:`run_style ` *respa* and only bonded interactions (bond, angle, etc) computed in the innermost timestep, it may be faster to turn newton *off* for bonded interactions, to avoid extra communication in the innermost loop. @@ -54,25 +52,18 @@ communication in the innermost loop. Restrictions """""""""""" - The newton bond setting cannot be changed after the simulation box is -defined by a :doc:`read\_data ` or -:doc:`create\_box ` command. +defined by a :doc:`read_data ` or +:doc:`create_box ` command. Related commands """""""""""""""" -:doc:`run\_style ` respa +:doc:`run_style ` respa Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS newton on - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/next.rst b/doc/src/next.rst index e4446de48d2d3080a4c90acec9f82b41c762959f..fd62e29ffef723b1b4b37a90e96bcac40bb8b3f1 100644 --- a/doc/src/next.rst +++ b/doc/src/next.rst @@ -6,7 +6,6 @@ next command Syntax """""" - .. parsed-literal:: next variables @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS next x next a t x myTemp @@ -84,8 +82,7 @@ command with an *index*\ -style variable. If this input script is named in.polymer, 8 simulations would be run using data files from directories run1 through run8. - -.. parsed-literal:: +.. code-block:: LAMMPS variable d index run1 run2 run3 run4 run5 run6 run7 run8 shell cd $d @@ -106,8 +103,7 @@ finished. Jump and next commands can also be nested to enable multi-level loops. For example, this script will run 15 simulations in a double loop. - -.. parsed-literal:: +.. code-block:: LAMMPS variable i loop 3 variable j loop 5 @@ -125,8 +121,7 @@ Here is an example of a double loop which uses the :doc:`if ` and :doc:`jump ` commands to break out of the inner loop when a condition is met, then continues iterating through the outer loop. - -.. parsed-literal:: +.. code-block:: LAMMPS label loopa variable a loop 5 @@ -146,7 +141,6 @@ condition is met, then continues iterating through the outer loop. Restrictions """""""""""" - As described above. Related commands @@ -156,8 +150,3 @@ Related commands :doc:`variable `, **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/package.rst b/doc/src/package.rst index 06cebea6c4853f9415612a3b498c237aa025c300..a6a23530872da19b87bb72e980e11f3efa51161b 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -6,16 +6,15 @@ package command Syntax """""" - .. parsed-literal:: package style args * style = *gpu* or *intel* or *kokkos* or *omp* * args = arguments specific to the style - + .. parsed-literal:: - + *gpu* args = Ngpu keyword value ... Ngpu = # of GPUs per node zero or more keyword/value pairs may be appended @@ -100,13 +99,10 @@ Syntax yes = threaded neighbor list build (default) no = non-threaded neighbor list build - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS package gpu 1 package gpu 1 split 0.75 @@ -165,10 +161,8 @@ See the :doc:`Speed packages ` doc page for more details about using the various accelerator packages for speeding up LAMMPS simulations. - ---------- - The *gpu* style invokes settings associated with the use of the GPU package. @@ -236,8 +230,7 @@ As an example, if you have two GPUs per node and 8 CPU cores per node, and would like to run on 4 nodes (32 cores) with dynamic balancing of force calculation across CPU and GPU cores, you could specify - -.. parsed-literal:: +.. code-block:: bash mpirun -np 32 -sf gpu -in in.script # launch command package gpu 2 split -1 # input script command @@ -271,11 +264,11 @@ GPUs from different vendors or for CPU based accelerator support). In LAMMPS only one platform can be active at a time and by default the first platform with an accelerator is selected. This is equivalent to using a platform ID of -1. The platform ID is a number corresponding -to the output of the ocl\_get\_devices tool. The platform ID is passed +to the output of the ocl_get_devices tool. The platform ID is passed to the GPU library, by prefixing the *device* keyword with that number separated by a colon. For CUDA, the *device* keyword is ignored. Currently, the device tuning support is limited to NVIDIA Kepler, NVIDIA -Fermi, AMD Cypress, Intel x86\_64 CPU, Intel Xeon Phi, or a generic device. +Fermi, AMD Cypress, Intel x86_64 CPU, Intel Xeon Phi, or a generic device. More devices may be added later. The default device type can be specified when building LAMMPS with the GPU library, via setting a variable in the lib/gpu/Makefile that is used. @@ -285,19 +278,19 @@ In addition, a device type *custom* is available, which is followed by from the package command. It can be combined with the (colon separated) platform id. The individual settings are: -* MEM\_THREADS -* THREADS\_PER\_ATOM -* THREADS\_PER\_CHARGE -* BLOCK\_PAIR -* MAX\_SHARED\_TYPES -* BLOCK\_NBOR\_BUILD -* BLOCK\_BIO\_PAIR -* BLOCK\_ELLIPSE -* WARP\_SIZE -* PPPM\_BLOCK\_1D -* BLOCK\_CELL\_2D -* BLOCK\_CELL\_ID -* MAX\_BIO\_SHARED\_TYPES +* MEM_THREADS +* THREADS_PER_ATOM +* THREADS_PER_CHARGE +* BLOCK_PAIR +* MAX_SHARED_TYPES +* BLOCK_NBOR_BUILD +* BLOCK_BIO_PAIR +* BLOCK_ELLIPSE +* WARP_SIZE +* PPPM_BLOCK_1D +* BLOCK_CELL_2D +* BLOCK_CELL_ID +* MAX_BIO_SHARED_TYPES The *blocksize* keyword allows you to tweak the number of threads used per thread block. This number should be a multiple of 32 (for GPUs) @@ -306,10 +299,8 @@ are 64, 128, or 256. A larger block size increases occupancy of individual GPU cores, but reduces the total number of thread blocks, thus may lead to load imbalance. - ---------- - The *intel* style invokes settings associated with the use of the USER-INTEL package. All of its settings, except the *omp* and *mode* keywords, are ignored if LAMMPS was not built with Xeon Phi @@ -342,10 +333,10 @@ The *Nthread* value for the *omp* keyword sets the number of OpenMP threads allocated for each MPI task. Setting *Nthread* = 0 (the default) instructs LAMMPS to use whatever value is the default for the given OpenMP environment. This is usually determined via the -*OMP\_NUM\_THREADS* environment variable or the compiler runtime, which +*OMP_NUM_THREADS* environment variable or the compiler runtime, which is usually a value of 1. -For more details, including examples of how to set the OMP\_NUM\_THREADS +For more details, including examples of how to set the OMP_NUM_THREADS environment variable, see the discussion of the *Nthreads* setting on this doc page for the "package omp" command. Nthreads is a required argument for the USER-OMP package. Its meaning is exactly the same @@ -377,7 +368,7 @@ force calculation. The *lrt* keyword can be used to enable "Long Range Thread (LRT)" mode. It can take a value of *yes* to enable and *no* to disable. LRT mode generates an extra thread (in addition to any OpenMP threads -specified with the OMP\_NUM\_THREADS environment variable or the *omp* +specified with the OMP_NUM_THREADS environment variable or the *omp* keyword). The extra thread is dedicated for performing part of the :doc:`PPPM solver ` computations and communications. This can improve parallel performance on processors supporting @@ -387,10 +378,10 @@ process. LAMMPS will generate a warning in the case that more threads are used than available in SMT hardware on a node. If the PPPM solver from the USER-INTEL package is not used, then the LRT setting is ignored and no extra threads are generated. Enabling LRT will replace -the :doc:`run\_style ` with the *verlet/lrt/intel* style that +the :doc:`run_style ` with the *verlet/lrt/intel* style that is identical to the default *verlet* style aside from supporting the LRT feature. This feature requires setting the pre-processor flag --DLMP\_INTEL\_USELRT in the makefile when compiling LAMMPS. +-DLMP_INTEL_USELRT in the makefile when compiling LAMMPS. The *balance* keyword sets the fraction of :doc:`pair style ` work offloaded to the co-processor for split values between 0.0 and 1.0 inclusive. While this fraction of work is @@ -430,17 +421,15 @@ with 16 threads, for a total of 128. Note that the default settings for *tpc* and *tptask* are fine for most problems, regardless of how many MPI tasks you assign to a Phi. -The *no\_affinity* keyword will turn off automatic setting of core +The *no_affinity* keyword will turn off automatic setting of core affinity for MPI tasks and OpenMP threads on the host when using offload to a co-processor. Affinity settings are used when possible to prevent MPI tasks and OpenMP threads from being on separate NUMA domains and to prevent offload threads from interfering with other processes/threads used for LAMMPS. - ---------- - The *kokkos* style invokes settings associated with the use of the KOKKOS package. @@ -455,7 +444,7 @@ CPUs (i.e. the Kokkos CUDA back end is not enabled). A value of *full* uses a full neighbor lists and is the default when running on GPUs. This performs twice as much computation as the *half* option, however that is often a win because it is thread-safe and -doesn't require atomic operations in the calculation of pair forces. For +does not require atomic operations in the calculation of pair forces. For that reason, *full* is the default setting for GPUs. However, when running on CPUs, a *half* neighbor list is the default because it are often faster, just as it is for non-accelerated pair styles. Similarly, @@ -483,7 +472,7 @@ CPUs a value of *on* is the default since it can often be faster, just as it is for non-accelerated pair styles The *binsize* keyword sets the size of bins used to bin atoms in -neighbor list builds. The same value can be set by the :doc:`neigh\_modify binsize ` command. Making it an option in the package +neighbor list builds. The same value can be set by the :doc:`neigh_modify binsize ` command. Making it an option in the package kokkos command allows it to be set from the command line. The default value for CPUs is 0.0, which means the LAMMPS default will be used, which is bins = 1/2 the size of the pairwise cutoff + neighbor skin @@ -549,13 +538,11 @@ keywords are set to *device*\ , the value for these *comm* keywords will be automatically changed to *host*\ . This setting has no effect if not running on GPUs or if using only one MPI rank. CUDA-aware MPI is available for OpenMPI 1.8 (or later versions), Mvapich2 1.9 (or later) when the -"MV2\_USE\_CUDA" environment variable is set to "1", CrayMPI, and IBM +"MV2_USE_CUDA" environment variable is set to "1", CrayMPI, and IBM Spectrum MPI when the "-gpu" flag is used. - ---------- - The *omp* style invokes settings associated with the use of the USER-OMP package. @@ -570,17 +557,16 @@ tasks \* threads/task should not exceed the physical number of cores Setting *Nthread* = 0 instructs LAMMPS to use whatever value is the default for the given OpenMP environment. This is usually determined -via the *OMP\_NUM\_THREADS* environment variable or the compiler +via the *OMP_NUM_THREADS* environment variable or the compiler runtime. Note that in most cases the default for OpenMP capable compilers is to use one thread for each available CPU core when -*OMP\_NUM\_THREADS* is not explicitly set, which can lead to poor +*OMP_NUM_THREADS* is not explicitly set, which can lead to poor performance. Here are examples of how to set the environment variable when launching LAMMPS: - -.. parsed-literal:: +.. code-block:: bash env OMP_NUM_THREADS=4 lmp_machine -sf omp -in in.script env OMP_NUM_THREADS=2 mpirun -np 2 lmp_machine -sf omp -in in.script @@ -590,7 +576,7 @@ or you can set it permanently in your shell's start-up script. All three of these examples use a total of 4 CPU cores. Note that different MPI implementations have different ways of passing -the OMP\_NUM\_THREADS environment variable to all MPI processes. The +the OMP_NUM_THREADS environment variable to all MPI processes. The 2nd example line above is for MPICH; the 3rd example line with -x is for OpenMPI. Check your MPI documentation for additional details. @@ -613,16 +599,13 @@ expense of using more memory. Specifically, neighbor list pages are allocated for all threads at the same time and each thread works within its own pages. - ---------- - Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a -:doc:`read\_data ` or :doc:`create\_box ` command. +:doc:`read_data ` or :doc:`create_box ` command. The gpu style of this command can only be invoked if LAMMPS was built with the GPU package. See the :doc:`Build package ` doc @@ -682,8 +665,3 @@ defaults are neigh = yes. These settings are made automatically if the "-sf omp" :doc:`command-line switch ` is used. If it is not used, you must invoke the package omp command in your input script or via the "-pk omp" :doc:`command-line switch `. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_adp.rst b/doc/src/pair_adp.rst index 36311f738d3e2689067631fbbb3f4f853e696c16..bbfd98f677cd9676759b1ae70dd7ca199621f6c8 100644 --- a/doc/src/pair_adp.rst +++ b/doc/src/pair_adp.rst @@ -1,28 +1,26 @@ -.. index:: pair\_style adp +.. index:: pair_style adp -pair\_style adp command -======================= +pair_style adp command +====================== -pair\_style adp/omp command -=========================== +pair_style adp/omp command +========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style adp Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style adp - pair_coeff \* \* Ta.adp Ta - pair_coeff \* \* ../potentials/AlCu.adp Al Al Cu + pair_coeff * * Ta.adp Ta + pair_coeff * * ../potentials/AlCu.adp Al Al Cu Description """"""""""" @@ -32,18 +30,23 @@ using the angular dependent potential (ADP) of :ref:`(Mishin) `, which is a generalization of the :doc:`embedded atom method (EAM) potential `. The LAMMPS implementation is discussed in :ref:`(Singh) `. The total energy Ei of an atom I is given by -.. image:: Eqs/pair_adp.jpg - :align: center +.. math:: + + E_i & = F_\alpha \left( \sum_{j\neq i} \rho_\beta (r_{ij}) \right) + \frac{1}{2} \sum_{j\neq i}\phi_{\alpha\beta}(r_{ij})+ \frac{1}{2} \sum_s (\mu_i^s)^2 + \frac{1}{2} \sum_{s,t} (\lambda_i^{st})^2 - \frac{1}{6} \nu_i^2 \\ + \mu_i^s & = \sum_{j\neq i}u_{\alpha\beta}(r_{ij})r_{ij}^s\\ + \lambda_i^{st} & = \sum_{j\neq i}w_{\alpha\beta}(r_{ij})r_{ij}^sr_{ij}^t\\ + \nu_i & = \sum_s\lambda_i^{ss} -where F is the embedding energy which is a function of the atomic -electron density rho, phi is a pair potential interaction, alpha and -beta are the element types of atoms I and J, and s and t = 1,2,3 and -refer to the cartesian coordinates. The mu and lambda terms represent -the dipole and quadruple distortions of the local atomic environment -which extend the original EAM framework by introducing angular forces. +where :math:`F` is the embedding energy which is a function of the atomic +electron density :math:`\rho`, :math:`\phi` is a pair potential interaction, +:math:`\alpha` and :math:`\beta` are the element types of atoms :math:`I` and +:math:`J`, and :math:`s` and :math:`t = 1,2,3` and refer to the cartesian +coordinates. The :math:`\mu` and :math:`\lambda` terms represent the dipole +and quadruple distortions of the local atomic environment which extend the +original EAM framework by introducing angular forces. Note that unlike for other potentials, cutoffs for ADP potentials are -not set in the pair\_style or pair\_coeff command; they are specified in +not set in the pair_style or pair_coeff command; they are specified in the ADP potential files themselves. Likewise, the ADP potential files list atomic masses; thus you do not need to use the :doc:`mass ` command to specify them. @@ -53,22 +56,23 @@ command to specify them. * The NIST WWW site at http://www.ctcms.nist.gov/potentials. Note that ADP potentials obtained from NIST must be converted into the extended DYNAMO *setfl* format discussed below. -* The OpenKIM Project at https://openkim.org/browse/models/by-type provides - ADP potentials that can be used directly in LAMMPS with the :doc:`kim\_commands interface `. +* The OpenKIM Project at + `https://openkim.org/browse/models/by-type `_ + provides ADP potentials that can be used directly in LAMMPS with the + :doc:`kim_commands ` interface. ---------- - -Only a single pair\_coeff command is used with the *adp* style which +Only a single pair_coeff command is used with the *adp* style which specifies an extended DYNAMO *setfl* file, which contains information -for M elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, -where N is the number of LAMMPS atom types: +for :math:`M` elements. These are mapped to LAMMPS atom types by specifying :math:`N` +additional arguments after the filename in the pair_coeff command, +where :math:`N` is the number of LAMMPS atom types: * filename -* N element names = mapping of extended *setfl* elements to atom types +* :math:`N` element names = mapping of extended *setfl* elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways to +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, the potentials/AlCu.adp file, included in the @@ -76,12 +80,11 @@ potentials directory of the LAMMPS distribution, is an extended *setfl* file which has tabulated ADP values for w elements and their alloy interactions: Cu and Al. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Al, and the 4th to be Cu, you would use -the following pair\_coeff command: - +the following pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* AlCu.adp Al Al Al Cu + pair_coeff * * AlCu.adp Al Al Al Cu The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three Al arguments map LAMMPS atom types 1,2,3 to the Al @@ -99,38 +102,40 @@ that will be used with other potentials. have an ".adp" suffix. A DYNAMO *setfl* file extended for ADP is formatted as follows. Basically it is the standard *setfl* format with additional tabulated functions u and w added to the file after -the tabulated pair potentials. See the :doc:`pair\_eam ` +the tabulated pair potentials. See the :doc:`pair_eam ` command for further details on the *setfl* format. * lines 1,2,3 = comments (ignored) -* line 4: Nelements Element1 Element2 ... ElementN -* line 5: Nrho, drho, Nr, dr, cutoff +* line 4: :math:`N_{\text{elements}}` Element1 Element2 ... ElementN +* line 5: :math:`N_{\rho}`, :math:`d_{\rho}`, :math:`N_r`, :math:`d_r`, cutoff -Following the 5 header lines are Nelements sections, one for each +Following the 5 header lines are :math:`N_{\text{elements}}` sections, one for each element, each with the following format: * line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) -* embedding function F(rho) (Nrho values) -* density function rho(r) (Nr values) - -Following the Nelements sections, Nr values for each pair potential -phi(r) array are listed for all i,j element pairs in the same format -as other arrays. Since these interactions are symmetric (i,j = j,i) -only phi arrays with i >= j are listed, in the following order: i,j = -(1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, -Nelements). The tabulated values for each phi function are listed as -r\*phi (in units of eV-Angstroms), since they are for atom pairs, the +* embedding function :math:`F(\rho)` (:math:`N_{\rho}` values) +* density function :math:`\rho(r)` (:math:`N_r` values) + +Following the :math:`N_{\text{elements}}` sections, :math:`N_r` values for each pair potential +:math:`\phi(r)` array are listed for all :math:`i,j` element pairs in the same format +as other arrays. Since these interactions are symmetric (:math:`i,j = j,i`) +only :math:`\phi` arrays with :math:`i \geq j` are listed, in the following order: + +.. math:: + + i,j = (1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (N_{\text{elements}},N_{\text{elements}}). + +The tabulated values for each :math:`\phi` function are listed as +:math:`r*\phi` (in units of eV-Angstroms), since they are for atom pairs, the same as for :doc:`other EAM files `. -After the phi(r) arrays, each of the u(r) arrays are listed in the +After the :math:`\phi(r)` arrays, each of the :math:`u(r)` arrays are listed in the same order with the same assumptions of symmetry. Directly following -the u(r), the w(r) arrays are listed. Note that phi(r) is the only -array tabulated with a scaling by r. - +the :math:`u(r)`, the :math:`w(r)` arrays are listed. Note that :math:`\phi(r)` is the only +array tabulated with a scaling by :math:`r`. ---------- - 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 @@ -149,63 +154,47 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, no special mixing rules are needed, since the ADP potential files specify alloy interactions explicitly. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair\_style and pair\_coeff commands in +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_eam ` +:doc:`pair_coeff `, :doc:`pair_eam ` **Default:** none - ---------- - .. _Mishin: - - **(Mishin)** Mishin, Mehl, and Papaconstantopoulos, Acta Mater, 53, 4029 (2005). .. _Singh: - - **(Singh)** Singh and Warner, Acta Mater, 58, 5797-5805 (2010), - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_agni.rst b/doc/src/pair_agni.rst index 96bcf5eccd1aa7938d98773351e91199deb1699c..e5a17658cf29be06bf5c06954498489a942936ca 100644 --- a/doc/src/pair_agni.rst +++ b/doc/src/pair_agni.rst @@ -1,23 +1,25 @@ -.. index:: pair\_style agni +.. index:: pair_style agni -pair\_style agni command +pair_style agni command ======================== -pair\_style agni/omp command +pair_style agni/omp command ============================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style agni Examples """""""" -pair\_style agni -pair\_coeff \* \* Al.agni Al + +.. code-block:: LAMMPS + + pair_style agni + pair_coeff * * Al.agni Al Description """"""""""" @@ -25,14 +27,18 @@ Description Style *agni* style computes the many-body vectorial force components for an atom as -.. image:: Eqs/pair_agni.jpg - :align: center +.. math:: -*u* labels the individual components, i.e. x, y or z, and *V* is the -corresponding atomic fingerprint. *d* is the Euclidean distance between -any two atomic fingerprints. A total of N\_t reference atomic -environments are considered to construct the force field file. *alpha\_t* -and *l* are the weight coefficients and length scale parameter of the + F_i^u & = \sum_t^{N_t}\alpha_t \cdot \exp\left[-\frac{\left(d_{i,t}^u\right)^2}{2l^2}\right] \\ + d_{i,t}^u & = \left|\left| V_i^u(\eta) - V_t^u(\eta) \right|\right| \\ + V_i^u(\eta) & = \sum_{j \neq i}\frac{r^u_{ij}}{r_{ij}} \cdot e^{-\left(\frac{r_{ij}}{\eta} \right)^2} \cdot f_d\left(r_{ij}\right) \\ + f_d\left(r_{ij}\right) & = \frac{1}{2} \left[\cos\left(\frac{\pi r_{ij}}{R_c}\right) + 1 \right] + +:math:`u` labels the individual components, i.e. :math:`x`, :math:`y` or :math:`z`, and :math:`V` is the +corresponding atomic fingerprint. :math:`d` is the Euclidean distance between +any two atomic fingerprints. A total of :math:`N_t` reference atomic +environments are considered to construct the force field file. :math:`\alpha_t` +and :math:`l` are the weight coefficients and length scale parameter of the non-linear regression model. The method implements the recently proposed machine learning access to @@ -42,16 +48,16 @@ of the method is to map the atomic environment numerically into a fingerprint, and use machine learning methods to create a mapping to the vectorial atomic forces. -Only a single pair\_coeff command is used with the *agni* style which +Only a single pair_coeff command is used with the *agni* style which specifies an AGNI potential file containing the parameters of the force field for the needed elements. These are mapped to LAMMPS atom -types by specifying N additional arguments after the filename in the -pair\_coeff command, where N is the number of LAMMPS atom types: +types by specifying :math:`N` additional arguments after the filename in the +pair_coeff command, where :math:`N` is the number of LAMMPS atom types: * filename -* N element names = mapping of AGNI elements to atom types +* :math:`N` element names = mapping of AGNI elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the force field file. An AGNI force field is fully specified by the filename which contains the @@ -59,10 +65,8 @@ parameters of the force field, i.e., the reference training environments used to construct the machine learning force field. Example force field and input files are provided in the examples/USER/misc/agni directory. - ---------- - Styles with *omp* suffix is functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the :doc:`Speed packages ` doc page. The accelerated style takes @@ -79,31 +83,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - Currently, only elemental systems are implemented. Also, the method only provides access to the forces and not energies or stresses. The lack of potential energy data makes this pair style incompatible with @@ -120,38 +119,25 @@ The AGNI force field files provided with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. You can use the AGNI potential with any LAMMPS units, but you would need to create your own AGNI potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. +appropriate units if your simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Botu2015adaptive: - - **(Botu1)** V. Botu and R. Ramprasad, Int. J. Quant. Chem., 115(16), 1074 (2015). .. _Botu2015learning: - - **(Botu2)** V. Botu and R. Ramprasad, Phys. Rev. B, 92(9), 094306 (2015). .. _Botu2016construct: - - **(Botu3)** V. Botu, R. Batra, J. Chapman and R. Ramprasad, https://arxiv.org/abs/1610.02098 (2016). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_airebo.rst b/doc/src/pair_airebo.rst index 66dc56c7a66eb81aab0fd9c9321e960a0d55e09f..b6d1af2a79ea1239007b0825dabcdd39c51a1ea4 100644 --- a/doc/src/pair_airebo.rst +++ b/doc/src/pair_airebo.rst @@ -1,61 +1,59 @@ -.. index:: pair\_style airebo +.. index:: pair_style airebo -pair\_style airebo command -========================== +pair_style airebo command +========================= -pair\_style airebo/intel command -================================ +pair_style airebo/intel command +=============================== -pair\_style airebo/omp command -============================== +pair_style airebo/omp command +============================= -pair\_style airebo/morse command -================================ +pair_style airebo/morse command +=============================== -pair\_style airebo/morse/intel command -====================================== +pair_style airebo/morse/intel command +===================================== -pair\_style airebo/morse/omp command -==================================== +pair_style airebo/morse/omp command +=================================== -pair\_style rebo command -======================== +pair_style rebo command +======================= -pair\_style rebo/intel command -============================== +pair_style rebo/intel command +============================= -pair\_style rebo/omp command -============================ +pair_style rebo/omp command +=========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style cutoff LJ_flag TORSION_flag cutoff_min * style = *airebo* or *airebo/morse* or *rebo* -* cutoff = LJ or Morse cutoff (sigma scale factor) (AIREBO and AIREBO-M only) -* LJ\_flag = 0/1 to turn off/on the LJ or Morse term (AIREBO and AIREBO-M only, optional) -* TORSION\_flag = 0/1 to turn off/on the torsion term (AIREBO and AIREBO-M only, optional) -* cutoff\_min = Start of the transition region of cutoff (sigma scale factor) (AIREBO and AIREBO-M only, optional) +* cutoff = LJ or Morse cutoff (:math:`\sigma` scale factor) (AIREBO and AIREBO-M only) +* LJ_flag = 0/1 to turn off/on the LJ or Morse term (AIREBO and AIREBO-M only, optional) +* TORSION_flag = 0/1 to turn off/on the torsion term (AIREBO and AIREBO-M only, optional) +* cutoff_min = Start of the transition region of cutoff (:math:`\sigma` scale factor) (AIREBO and AIREBO-M only, optional) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style airebo 3.0 pair_style airebo 2.5 1 0 - pair_coeff \* \* ../potentials/CH.airebo H C + pair_coeff * * ../potentials/CH.airebo H C pair_style airebo/morse 3.0 - pair_coeff \* \* ../potentials/CH.airebo-m H C + pair_coeff * * ../potentials/CH.airebo-m H C pair_style rebo - pair_coeff \* \* ../potentials/CH.rebo H C + pair_coeff * * ../potentials/CH.rebo H C Description """"""""""" @@ -82,82 +80,82 @@ with a few slightly different parameters The AIREBO potential consists of three terms: -.. image:: Eqs/pair_airebo.jpg - :align: center +.. math:: + + E & = \frac{1}{2} \sum_i \sum_{j \neq i} + \left[ E^{\text{REBO}}_{ij} + E^{\text{LJ}}_{ij} + + \sum_{k \neq i,j} \sum_{l \neq i,j,k} E^{\text{TORSION}}_{kijl} \right] \\ By default, all three terms are included. For the *airebo* style, if -the first two optional flag arguments to the pair\_style command are +the first two optional flag arguments to the pair_style command are included, the LJ and torsional terms can be turned off. Note that both or neither of the flags must be included. If both of the LJ an torsional terms are turned off, it becomes the 2nd-generation REBO potential, with a small caveat on the spline fitting procedure -mentioned below. This can be specified directly as pair\_style *rebo* +mentioned below. This can be specified directly as pair_style *rebo* with no additional arguments. The detailed formulas for this potential are given in :ref:`(Stuart) `; here we provide only a brief description. -The E\_REBO term has the same functional form as the hydrocarbon REBO +The :math:`E^{\text{REBO}}` term has the same functional form as the hydrocarbon REBO potential developed in :ref:`(Brenner) `. The coefficients for -E\_REBO in AIREBO are essentially the same as Brenner's potential, but +:math:`E^{\text{REBO}}` in AIREBO are essentially the same as Brenner's potential, but a few fitted spline values are slightly different. For most cases the -E\_REBO term in AIREBO will produce the same energies, forces and +:math:`E^{\text{REBO}}` term in AIREBO will produce the same energies, forces and statistical averages as the original REBO potential from which it was -derived. The E\_REBO term in the AIREBO potential gives the model its +derived. The :math:`E^{\text{REBO}}` term in the AIREBO potential gives the model its reactive capabilities and only describes short-ranged C-C, C-H and H-H -interactions (r < 2 Angstroms). These interactions have strong +interactions (:math:`r < 2` Angstroms). These interactions have strong coordination-dependence through a bond order parameter, which adjusts the attraction between the I,J atoms based on the position of other nearby atoms and thus has 3- and 4-body dependence. -The E\_LJ term adds longer-ranged interactions (2 < r < cutoff) using a +The :math:`E^{\text{LJ}}` term adds longer-ranged interactions (:math:`2 < r < \text{cutoff}`) using a form similar to the standard :doc:`Lennard Jones potential `. -The E\_LJ term in AIREBO contains a series of switching functions so -that the short-ranged LJ repulsion (1/r\^12) does not interfere with -the energetics captured by the E\_REBO term. The extent of the E\_LJ -interactions is determined by the *cutoff* argument to the pair\_style +The :math:`E^{\text{LJ}}` term in AIREBO contains a series of switching functions so +that the short-ranged LJ repulsion (:math:`1/r^{12}`) does not interfere with +the energetics captured by the :math:`E^{\text{REBO}}` term. The extent of the :math:`E^{\text{LJ}}` +interactions is determined by the *cutoff* argument to the pair_style command which is a scale factor. For each type pair (C-C, C-H, H-H) the cutoff is obtained by multiplying the scale factor by the sigma value defined in the potential file for that type pair. In the -standard AIREBO potential, sigma\_CC = 3.4 Angstroms, so with a scale -factor of 3.0 (the argument in pair\_style), the resulting E\_LJ cutoff +standard AIREBO potential, :math:`\sigma_{CC} = 3.4` Angstroms, so with a scale +factor of 3.0 (the argument in pair_style), the resulting :math:`E^{\text{LJ}}` cutoff would be 10.2 Angstroms. By default, the longer-ranged interaction is smoothly switched off -between 2.16 and 3.0 sigma. By specifying *cutoff\_min* in addition +between 2.16 and 3.0 :math:`\sigma`. By specifying *cutoff_min* in addition to *cutoff*\ , the switching can be configured to take place between -*cutoff\_min* and *cutoff*\ . *cutoff\_min* can only be specified if all +*cutoff_min* and *cutoff*\ . *cutoff_min* can only be specified if all optional arguments are given. -The E\_TORSION term is an explicit 4-body potential that describes +The :math:`E^{\text{TORSION}}` term is an explicit 4-body potential that describes various dihedral angle preferences in hydrocarbon configurations. - ---------- - -Only a single pair\_coeff command is used with the *airebo*\ , *airebo* +Only a single pair_coeff command is used with the *airebo*\ , *airebo* or *rebo* style which specifies an AIREBO, REBO, or AIREBO-M potential file with parameters for C and H. Note that as of LAMMPS version 15 May 2019 the *rebo* style in LAMMPS uses its own potential file (CH.rebo). These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename -* N element names = mapping of AIREBO elements to atom types +* :math:`N` element names = mapping of AIREBO elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, if your LAMMPS simulation has 4 atom types and you want the 1st 3 to be C, and the 4th to be H, you would use the following -pair\_coeff command: - +pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* CH.airebo C C C H + pair_coeff * * CH.airebo C C C H The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three C arguments map LAMMPS atom types 1,2,3 to the C @@ -178,21 +176,20 @@ listed in the CH.airebo-m file to agree with the :ref:`(O'Connor) ` paper. Thus the parameters are specific to this potential and the way it was fit, so modifying the file should be done cautiously. The AIREBO-M Morse potentials were parameterized using a cutoff of -3.0 (sigma). Modifying this cutoff may impact simulation accuracy. +3.0 (:math:`\sigma`). Modifying this cutoff may impact simulation accuracy. This pair style tallies a breakdown of the total AIREBO potential energy into sub-categories, which can be accessed via the :doc:`compute pair ` command as a vector of values of length 3. The 3 values correspond to the following sub-categories: -1. *E\_REBO* = REBO energy -2. *E\_LJ* = Lennard-Jones energy -3. *E\_TORSION* = Torsion energy +1. :math:`E_{\text{REBO}}` = REBO energy +2. :math:`E_{\text{LJ}}` = Lennard-Jones energy +3. :math:`E_{\text{TORSION}}` = Torsion energy To print these quantities to the log file (with descriptive column headings) the following commands could be included in an input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 0 all pair airebo variable REBO equal c_0[1] @@ -200,10 +197,8 @@ headings) the following commands could be included in an input script: variable TORSION equal c_0[3] thermo_style custom step temp epair v_REBO v_LJ v_TORSION - ---------- - 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 @@ -222,27 +217,24 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -These pair styles do not support the :doc:`pair\_modify ` +These pair styles do not support the :doc:`pair_modify ` mix, shift, table, and tail options. These pair styles do not write their information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +:doc:`run_style respa ` command. They do not support the +*inner* , *middle*, *outer* keywords. Restrictions """""""""""" - These pair styles are part of the MANYBODY package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -254,40 +246,27 @@ The CH.airebo and CH.airebo-m potential files provided with LAMMPS You can use the AIREBO, AIREBO-M or REBO potential with any LAMMPS units, but you would need to create your own AIREBO or AIREBO-M potential file with coefficients listed in the appropriate units, if your simulation -doesn't use "metal" units. +does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Stuart: - - **(Stuart)** Stuart, Tutein, Harrison, J Chem Phys, 112, 6472-6486 (2000). .. _Brenner: - - **(Brenner)** Brenner, Shenderova, Harrison, Stuart, Ni, Sinnott, J Physics: Condensed Matter, 14, 783-802 (2002). .. _OConnor: - - **(O'Connor)** O'Connor et al., J. Chem. Phys. 142, 024903 (2015). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_atm.rst b/doc/src/pair_atm.rst index 1f22ca01c328763904480b2249ec3a14685deacf..902e07a80dba742579d65843c8d9bd79101c87d4 100644 --- a/doc/src/pair_atm.rst +++ b/doc/src/pair_atm.rst @@ -1,30 +1,28 @@ -.. index:: pair\_style atm +.. index:: pair_style atm -pair\_style atm command -======================= +pair_style atm command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style atm cutoff cutoff_triple * cutoff = cutoff for each pair in 3-body interaction (distance units) -* cutoff\_triple = additional cutoff applied to product of 3 pairwise distances (distance units) +* cutoff_triple = additional cutoff applied to product of 3 pairwise distances (distance units) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style atm 4.5 2.5 - pair_coeff \* \* \* 0.072 + pair_coeff * * * 0.072 pair_style hybrid/overlay lj/cut 6.5 atm 4.5 2.5 - pair_coeff \* \* lj/cut 1.0 1.0 + pair_coeff * * lj/cut 1.0 1.0 pair_coeff 1 1 atm 1 0.064 pair_coeff 1 1 atm 2 0.080 pair_coeff 1 2 atm 2 0.100 @@ -36,91 +34,90 @@ Description The *atm* style computes a 3-body :ref:`Axilrod-Teller-Muto ` potential for the energy E of a system of atoms as -.. image:: Eqs/pair_atm.jpg - :align: center +.. math:: -where nu is the three-body interaction strength. The distances -between pairs of atoms r12, r23, r31 and the angles gamma1, gamma2, -gamma3 are as shown in this diagram: + E & = \nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3} \\ + +where :math:`\nu` is the three-body interaction strength. The distances +between pairs of atoms :math:`r_{12}`, :math:`r_{23}`, :math:`r_{31}` and the angles :math:`\gamma_1`, :math:`\gamma_2`, +:math:`\gamma_3` are as shown in this diagram: .. image:: JPG/pair_atm_dia.jpg :align: center -Note that for the interaction between a triplet of atoms I,J,K, there +Note that for the interaction between a triplet of atoms :math:`I,J,K`, there is no "central" atom. The interaction is symmetric with respect to -permutation of the three atoms. Thus the nu value is -the same for all those permutations of the atom types of I,J,K +permutation of the three atoms. Thus the :math:`\nu` value is +the same for all those permutations of the atom types of :math:`I,J,K` and needs to be specified only once, as discussed below. The *atm* potential is typically used in combination with a two-body -potential using the :doc:`pair\_style hybrid/overlay ` +potential using the :doc:`pair_style hybrid/overlay ` command as in the example above. -The potential for a triplet of atom is calculated only if all 3 -distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff. -In addition, the product of the 3 distances r12\*r23\*r31 < -cutoff\_triple\^3 is required, which excludes from calculation the -triplets with small contribution to the interaction. +The potential for a triplet of atom is calculated only if all 3 distances +:math:`r_{12}`, :math:`r_{23}`, :math:`r_{31}` between the 3 atoms satisfy +:math:`r_{IJ} < \text{cutoff}`. In addition, the product of the 3 distances +:math:`r_{12} r_{23} r_{31}` < cutoff_triple :math:`^3` is required, which +excludes from calculation the triplets with small contribution to the +interaction. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the restart files read by the -:doc:`read\_restart ` commands: +:doc:`read_restart ` commands: -* K = atom type of the third atom (1 to Ntypes) -* nu = prefactor (energy/distance\^9 units) +* :math:`K` = atom type of the third atom (1 to :math:`N_{\text{types}}`) +* :math:`\nu` = prefactor (energy/distance\^9 units) -K can be specified in one of two ways. An explicit numeric value can -be used, as in the 2nd example above. J <= K is required. LAMMPS -sets the coefficients for the other 5 symmetric interactions to the -same values. E.g. if I = 1, J = 2, K = 3, then these 6 values are set -to the specified nu: nu123, nu132, nu213, nu231, nu312, nu321. This -enforces the symmetry discussed above. +:math:`K` can be specified in one of two ways. An explicit numeric value can +be used, as in the 2nd example above. :math:`J \leq K` is required. LAMMPS +sets the coefficients for the other 5 symmetric interactions to the same +values. E.g. if :math:`I = 1`, :math:`J = 2`, :math:`K = 3`, then these 6 +values are set to the specified :math:`\nu`: :math:`\nu_{123}`, +:math:`\nu_{132}`, :math:`\nu_{213}`, :math:`\nu_{231}`, :math:`\nu_{312}`, +:math:`\nu_{321}`. This enforces the symmetry discussed above. A wildcard asterisk can be used for K to set the coefficients for multiple triplets of atom types. This takes the form "\*" or "\*n" or -"n\*" or "m\*n". If N = the number of atom types, then an asterisk with -no numeric values means all types from 1 to N. A leading asterisk -means all types from 1 to n (inclusive). A trailing asterisk means -all types from n to N (inclusive). A middle asterisk means all types -from m to n (inclusive). Note that only type triplets with J <= K are -considered; if asterisks imply type triplets where K < J, they are +"n\*" or "m\*n". If :math:`N` equals the number of atom types, then an asterisk with +no numeric values means all types from 1 to :math:`N`. A leading asterisk +means all types from 1 to :math:`n` (inclusive). A trailing asterisk means +all types from :math:`n` to :math:`N` (inclusive). A middle asterisk means all types +from :math:`m` to :math:`n` (inclusive). Note that only type triplets with :math:`J \leq K` are +considered; if asterisks imply type triplets where :math:`K < J`, they are ignored. -Note that a pair\_coeff command can override a previous setting for the -same I,J,K triplet. For example, these commands set nu for all I,J.K -triplets, then overwrite nu for just the I,J,K = 2,3,4 triplet: - +Note that a pair_coeff command can override a previous setting for the +same :math:`I,J,K` triplet. For example, these commands set :math:`\nu` for all :math:`I,J.K` +triplets, then overwrite nu for just the :math:`I,J,K = 2,3,4` triplet: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* \* 0.25 + pair_coeff * * * 0.25 pair_coeff 2 3 4 0.1 Note that for a simulation with a single atom type, only a single entry is required, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 1 1 0.25 -For a simulation with two atom types, four pair\_coeff commands will +For a simulation with two atom types, four pair_coeff commands will specify all possible nu values: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 1 1 nu1 pair_coeff 1 1 2 nu2 pair_coeff 1 2 2 nu3 pair_coeff 2 2 2 nu4 -For a simulation with three atom types, ten pair\_coeff commands will +For a simulation with three atom types, ten pair_coeff commands will specify all possible nu values: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 1 1 nu1 pair_coeff 1 1 2 nu2 @@ -133,65 +130,51 @@ specify all possible nu values: pair_coeff 2 3 3 nu9 pair_coeff 3 3 3 nu10 -By default the nu value for all triplets is set to 0.0. Thus it is -not required to provide pair\_coeff commands that enumerate triplet -interactions for all K types. If some I,J,K combination is not +By default the :math:`\nu` value for all triplets is set to 0.0. Thus it is +not required to provide pair_coeff commands that enumerate triplet +interactions for all :math:`K` types. If some :math:`I,J,K` combination is not specified, then there will be no 3-body ATM interactions for that combination and all its permutations. However, as with all pair -styles, it is required to specify a pair\_coeff command for all I,J +styles, it is required to specify a pair_coeff command for all :math:`I,J` combinations, else an error will result. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair styles do not support the :doc:`pair\_modify ` +This pair styles do not support the :doc:`pair_modify ` mix, shift, table, and tail options. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need -to be specified in an input script that reads a restart file. -However, if the *atm* potential is used in combination with other -potentials using the :doc:`pair\_style hybrid/overlay ` -command then pair\_coeff commands need to be re-specified -in the restart input script. +This pair style writes its information to :doc:`binary restart files +`, so pair_style and pair_coeff commands do not need to be specified +in an input script that reads a restart file. However, if the *atm* potential +is used in combination with other potentials using the :doc:`pair_style +hybrid/overlay ` command then pair_coeff commands need to be +re-specified in the restart input script. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. - +:doc:`run_style respa ` command. It does not support the +*inner* , *middle* , *outer* keywords. ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Axilrod: - - **(Axilrod)** Axilrod and Teller, J Chem Phys, 11, 299 (1943); Muto, Nippon Sugaku-Buturigakkwaishi 17, 629 (1943). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_awpmd.rst b/doc/src/pair_awpmd.rst index 0076f506845489a03a0916a3fd964eb1fbae02d6..701c45849e853955940096a36f97caf8b402f559 100644 --- a/doc/src/pair_awpmd.rst +++ b/doc/src/pair_awpmd.rst @@ -1,22 +1,21 @@ -.. index:: pair\_style awpmd/cut +.. index:: pair_style awpmd/cut -pair\_style awpmd/cut command -============================= +pair_style awpmd/cut command +============================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style awpmd/cut Rc keyword value ... * Rc = global cutoff, -1 means cutoff of half the shortest box length * zero or more keyword/value pairs may be appended -* keyword = *hartree* or *dproduct* or *uhf* or *free* or *pbc* or *fix* or *harm* or *ermscale* or *flex\_press* - +* keyword = *hartree* or *dproduct* or *uhf* or *free* or *pbc* or *fix* or *harm* or *ermscale* or *flex_press* + .. parsed-literal:: - + *hartree* value = none *dproduct* value = none *uhf* value = none @@ -31,17 +30,14 @@ Syntax factor = scaling between electron mass and width variable mass *flex_press* value = none - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style awpmd/cut -1 pair_style awpmd/cut 40.0 uhf free - pair_coeff \* \* + pair_coeff * * pair_coeff 2 2 20.0 Description @@ -53,7 +49,7 @@ basic formulas here. Could be links to other documents. Rc is the cutoff. -The pair\_style command allows for several optional keywords +The pair_style command allows for several optional keywords to be specified. The *hartree*\ , *dproduct*\ , and *uhf* keywords specify the form of the @@ -81,44 +77,40 @@ The *ermscale* keyword specifies a unitless scaling factor between the electron masses and the width variable mass. More details needed. -If the *flex\_press* keyword is used, then a contribution from the +If the *flex_press* keyword is used, then a contribution from the electrons is added to the total virial and pressure of the system. -This potential is designed to be used with :doc:`atom\_style wavepacket ` definitions, in order to handle the +This potential is designed to be used with :doc:`atom_style wavepacket ` definitions, in order to handle the description of systems with interacting nuclei and explicit electrons. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * cutoff (distance units) For *awpmd/cut*\ , the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value -specified in the pair\_style command is used. - +specified in the pair_style command is used. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -The :doc:`pair\_modify ` mix, shift, table, and tail options +The :doc:`pair_modify ` mix, shift, table, and tail options are not relevant for this pair style. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -126,15 +118,10 @@ Restrictions Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` Default """"""" -These are the defaults for the pair\_style keywords: *hartree* for the +These are the defaults for the pair_style keywords: *hartree* for the initial wave function, *free* for the wave packet width. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_beck.rst b/doc/src/pair_beck.rst index 96f6d5d3f5f4c6159b8f9569ed9c3d99433e6bbd..f234366eae98afd51c0b1617dd8e78515e141c00 100644 --- a/doc/src/pair_beck.rst +++ b/doc/src/pair_beck.rst @@ -1,19 +1,18 @@ -.. index:: pair\_style beck +.. index:: pair_style beck -pair\_style beck command -======================== +pair_style beck command +======================= -pair\_style beck/gpu command -============================ +pair_style beck/gpu command +=========================== -pair\_style beck/omp command -============================ +pair_style beck/omp command +=========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style beck Rc @@ -22,11 +21,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style beck 8.0 - pair_coeff \* \* 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 + pair_coeff * * 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 pair_coeff 1 1 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 6.0 Description @@ -36,29 +34,28 @@ Style *beck* computes interactions based on the potential by :ref:`(Beck) `, originally designed for simulation of Helium. It includes truncation at a cutoff distance Rc. -.. image:: Eqs/pair_beck.jpg - :align: center +.. math:: + + E(r) &= A \exp\left[-\alpha r - \beta r^6\right] - \frac{B}{\left(r^2+a^2\right)^3} \left(1+\frac{2.709+3a^2}{r^2+a^2}\right) \qquad r < R_c \\ The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands. -* A (energy units) -* B (energy-distance\^6 units) -* a (distance units) -* alpha (1/distance units) -* beta (1/distance\^6 units) +* :math:`A` (energy units) +* :math:`B` (energy-distance\^6 units) +* :math:`a` (distance units) +* :math:`\alpha` (1/distance units) +* :math:`\beta` (1/distance\^6 units) * cutoff (distance units) The last coefficient is optional. If not specified, the global cutoff -Rc is used. - +:math:`R_c` is used. ---------- - 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 @@ -77,57 +74,44 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, coefficients must be specified. No default mixing rules are used. -This pair style does not support the :doc:`pair\_modify ` shift +This pair style does not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Beck: - - **(Beck)** Beck, Molecular Physics, 14, 311 (1968). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_body_nparticle.rst b/doc/src/pair_body_nparticle.rst index 5d6b2a500bcf659376aa39a8021a6bd278ae4c92..cdb4870cbf2a1684eb667cc48c9980e8a577b850 100644 --- a/doc/src/pair_body_nparticle.rst +++ b/doc/src/pair_body_nparticle.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style body/nparticle +.. index:: pair_style body/nparticle -pair\_style body/nparticle command -================================== +pair_style body/nparticle command +================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/nparticle cutoff @@ -16,11 +15,10 @@ cutoff = global cutoff for interactions (distance units) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/nparticle 3.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.5 2.5 Description @@ -67,67 +65,60 @@ The interaction between two sub-particles, or a sub-particle and point particle, or between two point particles is computed as a Lennard-Jones interaction, using the standard formula -.. image:: Eqs/pair_lj.jpg - :align: center +.. math:: + + E & = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < R_c \\ -where Rc is the cutoff. As explained above, an interaction involving -one or two body sub-particles may be computed even for r > Rc. +where :math:`R_c` is the cutoff. As explained above, an interaction involving +one or two body sub-particles may be computed even for :math:`r > R_c`. For style *body*\ , the following coefficients must be defined for each -pair of atoms types via the :doc:`pair\_coeff ` command as in +pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * cutoff (distance units) The last coefficient is optional. If not specified, the global cutoff is used. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of this pair style can be mixed. The -default mix value is *geometric*\ . See the "pair\_modify" command for +default mix value is *geometric*\ . See the :doc:`pair_modify ` command for details. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Defining particles to be bodies so they participate in body/body or -body/particle interactions requires the use of the :doc:`atom\_style body ` command. +body/particle interactions requires the use of the :doc:`atom_style body ` command. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`fix rigid ` +:doc:`pair_coeff `, :doc:`fix rigid ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_body_rounded_polygon.rst b/doc/src/pair_body_rounded_polygon.rst index 237a7923445cc14f304a9683821eeaab943b2e31..baba67bf7fa68b5638908a3c78030f6a41ff17a0 100644 --- a/doc/src/pair_body_rounded_polygon.rst +++ b/doc/src/pair_body_rounded_polygon.rst @@ -1,16 +1,17 @@ -.. index:: pair\_style body/rounded/polygon +.. index:: pair_style body/rounded/polygon -pair\_style body/rounded/polygon command -======================================== +pair_style body/rounded/polygon command +======================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/rounded/polygon c_n c_t mu delta_ua cutoff +.. parsed-literal:: + c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding @@ -20,11 +21,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/rounded/polygon 20.0 5.0 0.0 1.0 0.5 - pair_coeff \* \* 100.0 1.0 + pair_coeff * * 100.0 1.0 pair_coeff 1 1 100.0 1.0 Description @@ -33,7 +33,8 @@ Description Style *body/rounded/polygon* is for use with 2d models of body particles of style *rounded/polygon*\ . It calculates pairwise body/body interactions which can include body particles modeled as -1-vertex circular disks with a specified diameter. See the :doc:`Howto body ` doc page for more details on using body +1-vertex circular disks with a specified diameter. See the +:doc:`Howto body ` doc page for more details on using body rounded/polygon particles. This pairwise interaction between rounded polygons is described in @@ -53,35 +54,45 @@ between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices and edges themselves. -This means that the specified cutoff in the pair\_style command is the -cutoff distance, r\_c, for the surface separation, \delta\_n (see figure +This means that the specified cutoff in the pair_style command is the +cutoff distance, :math:`r_c`, for the surface separation, :math:`\delta_n` (see figure below). This is the distance at which two particles no longer -interact. If r\_c is specified as 0.0, then it is a contact-only +interact. If :math:`r_c` is specified as 0.0, then it is a contact-only interaction. I.e. the two particles must overlap in order to exert a -repulsive force on each other. If r\_c > 0.0, then the force between +repulsive force on each other. If :math:`r_c > 0.0`, then the force between two particles will be attractive for surface separations from 0 to -r\_c, and repulsive once the particles overlap. +:math:`r_c`, and repulsive once the particles overlap. Note that unlike for other pair styles, the specified cutoff is not the distance between the centers of two particles at which they stop interacting. This center-to-center distance depends on the shape and size of the two particles and their relative orientation. LAMMPS takes that into account when computing the surface separation distance -and applying the r\_c cutoff. +and applying the :math:`r_c` cutoff. The forces between vertex-vertex, vertex-edge, and edge-edge overlaps are given by: -.. image:: Eqs/pair_body_rounded.jpg - :align: center +.. math:: + + F_n &= \begin{cases} + k_n \delta_n - c_n v_n & \delta_n \le 0 \\ + -k_{na} \delta_n - c_n v_n & 0 < \delta_n \le r_c \\ + 0 & \delta_n > r_c \\ + \end{cases} \\ + F_t &= \begin{cases} + \mu k_n \delta_n - c_t v_t & \delta_n \le 0 \\ + 0 & \delta_n > 0 + \end{cases} .. image:: JPG/pair_body_rounded.jpg :align: center -Note that F\_n and F\_t are functions of the surface separation \delta\_n -= d - (R\_i + R\_j). In this model, when (R\_i + R\_j) < d < (R\_i + R\_j) -+ r\_c, that is, 0 < \delta\_n < r\_c, the cohesive region of the two -surfaces overlap and the two surfaces are attractive to each other. +Note that :math:`F_n` and :math:`F_t` are functions of the surface separation +:math:`\delta_n = d - (R_i + R_j)`. In this model, when +:math:`(R_i + R_j) < d < (R_i + R_j) + r_c`, that is, :math:`0 < \delta_n < r_c`, +the cohesive region of the two surfaces overlap and the two surfaces are +attractive to each other. In :ref:`Fraige `, the tangential friction force between two particles that are in contact is modeled differently prior to gross @@ -95,32 +106,31 @@ that gross sliding takes place as soon as two particles are in contact. The following coefficients must be defined for each pair of atom types -via the :doc:`pair\_coeff ` command as in the examples above, -or in the data file read by the :doc:`read\_data ` command: +via the :doc:`pair_coeff ` command as in the examples above, +or in the data file read by the :doc:`read_data ` command: -* k\_n (energy/distance\^2 units) -* k\_na (energy/distance\^2 units) +* :math:`k_n` (energy/distance\^2 units) +* :math:`k_{na}` (energy/distance\^2 units) -Effectively, k\_n and k\_na are the slopes of the red lines in the plot -above for force versus surface separation, for \delta\_n < 0 and 0 < -\delta\_n < r\_c respectively. +Effectively, :math:`k_n` and :math:`k_{na}` are the slopes of the red lines in the plot +above for force versus surface separation, for :math:`\delta_n < 0` and +:math:`0 < \delta_n < r_c` respectively. **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. -This pair style does not write its information to :doc:`binary restart files `. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This pair style does not write its information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - These pair styles are part of the BODY package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -130,18 +140,11 @@ for pair interactions. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none .. _pair-Fraige: - - **(Fraige)** F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_body_rounded_polyhedron.rst b/doc/src/pair_body_rounded_polyhedron.rst index 133475690845f622e8ce14f13853ab1d807ac1da..72e94db8c99cc52577c210cff59b1dd713831bfd 100644 --- a/doc/src/pair_body_rounded_polyhedron.rst +++ b/doc/src/pair_body_rounded_polyhedron.rst @@ -1,16 +1,17 @@ -.. index:: pair\_style body/rounded/polyhedron +.. index:: pair_style body/rounded/polyhedron -pair\_style body/rounded/polyhedron command -=========================================== +pair_style body/rounded/polyhedron command +========================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/rounded/polyhedron c_n c_t mu delta_ua cutoff +.. parsed-literal:: + c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding @@ -20,11 +21,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/rounded/polyhedron 20.0 5.0 0.0 1.0 0.5 - pair_coeff \* \* 100.0 1.0 + pair_coeff * * 100.0 1.0 pair_coeff 1 1 100.0 1.0 Description @@ -33,7 +33,8 @@ Description Style *body/rounded/polygon* is for use with 3d models of body particles of style *rounded/polyhedron*\ . It calculates pairwise body/body interactions which can include body particles modeled as -1-vertex spheres with a specified diameter. See the :doc:`Howto body ` doc page for more details on using body +1-vertex spheres with a specified diameter. See the +:doc:`Howto body ` doc page for more details on using body rounded/polyhedron particles. This pairwise interaction between the rounded polyhedra is described @@ -53,27 +54,36 @@ and energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices, edges, and faces themselves. -This means that the specified cutoff in the pair\_style command is the -cutoff distance, r\_c, for the surface separation, \delta\_n (see figure +This means that the specified cutoff in the pair_style command is the +cutoff distance, :math:`r_c`, for the surface separation, :math:`\delta_n` (see figure below). This is the distance at which two particles no longer -interact. If r\_c is specified as 0.0, then it is a contact-only +interact. If :math:`r_c` is specified as 0.0, then it is a contact-only interaction. I.e. the two particles must overlap in order to exert a -repulsive force on each other. If r\_c > 0.0, then the force between +repulsive force on each other. If :math:`r_c > 0.0`, then the force between two particles will be attractive for surface separations from 0 to -r\_c, and repulsive once the particles overlap. +:math:`r_c`, and repulsive once the particles overlap. Note that unlike for other pair styles, the specified cutoff is not the distance between the centers of two particles at which they stop interacting. This center-to-center distance depends on the shape and size of the two particles and their relative orientation. LAMMPS takes that into account when computing the surface separation distance -and applying the r\_c cutoff. +and applying the :math:`r_c` cutoff. The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge, and edge-face overlaps are given by: -.. image:: Eqs/pair_body_rounded.jpg - :align: center +.. math:: + + F_n &= \begin{cases} + k_n \delta_n - c_n v_n, & \delta_n \le 0 \\ + -k_{na} \delta_n - c_n v_n & 0 < \delta_n \le r_c \\ + 0 & \delta_n > r_c \\ + \end{cases} \\ + F_t &= \begin{cases} + \mu k_n \delta_n - c_t v_t & \delta_n \le 0 \\ + 0 & \delta_n > 0 + \end{cases} .. image:: JPG/pair_body_rounded.jpg :align: center @@ -90,32 +100,32 @@ that gross sliding takes place as soon as two particles are in contact. The following coefficients must be defined for each pair of atom types -via the :doc:`pair\_coeff ` command as in the examples above, -or in the data file read by the :doc:`read\_data ` command: +via the :doc:`pair_coeff ` command as in the examples above, +or in the data file read by the :doc:`read_data ` command: -* k\_n (energy/distance\^2 units) -* k\_na (energy/distance\^2 units) +* :math:`k_n` (energy/distance\^2 units) +* :math:`k_{na}` (energy/distance\^2 units) -Effectively, k\_n and k\_na are the slopes of the red lines in the plot -above for force versus surface separation, for \delta\_n < 0 and 0 < -\delta\_n < r\_c respectively. +Effectively, :math:`k_n` and :math:`k_{na}` are the slopes of the red lines in the plot +above for force versus surface separation, for :math:`\delta_n` < 0 and +:math:`0 < \delta_n < r_c` respectively. **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. -This pair style does not write its information to :doc:`binary restart files `. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This pair style does not write its information to :doc:`binary restart files `. +Thus, you need to re-specify the pair_style and pair_coeff +commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - These pair styles are part of the BODY package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -125,18 +135,11 @@ for pair interactions. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none .. _pair-Wang: - - **(Wang)** J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_bop.rst b/doc/src/pair_bop.rst index 75446ded3ce97b21729944f0a6cbc559c6f96720..5cd045931a31499cf53a50f276f22922a8328168 100644 --- a/doc/src/pair_bop.rst +++ b/doc/src/pair_bop.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style bop +.. index:: pair_style bop -pair\_style bop command -======================= +pair_style bop command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style bop keyword ... @@ -18,97 +17,96 @@ Syntax save = pre-compute and save some values - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style bop - pair_coeff \* \* ../potentials/CdTe_bop Cd Te + pair_coeff * * ../potentials/CdTe_bop Cd Te pair_style bop save - pair_coeff \* \* ../potentials/CdTe.bop.table Cd Te Te + pair_coeff * * ../potentials/CdTe.bop.table Cd Te Te comm_modify cutoff 14.70 Description """"""""""" The *bop* pair style computes Bond-Order Potentials (BOP) based on -quantum mechanical theory incorporating both sigma and pi bonding. +quantum mechanical theory incorporating both :math:`\sigma` and :math:`\pi` bonding. By analytically deriving the BOP from quantum mechanical theory its transferability to different phases can approach that of quantum mechanical methods. This potential is similar to the original BOP -developed by Pettifor (:ref:`Pettifor\_1 `, -:ref:`Pettifor\_2 `, :ref:`Pettifor\_3 `) and later updated +developed by Pettifor (:ref:`Pettifor_1 `, +:ref:`Pettifor_2 `, :ref:`Pettifor_3 `) and later updated by Murdick, Zhou, and Ward (:ref:`Murdick `, :ref:`Ward `). Currently, BOP potential files for these systems are provided with LAMMPS: AlCu, CCu, CdTe, CdTeSe, CdZnTe, CuH, GaAs. A system with only a subset of these elements, including a single element (e.g. C or Cu or Al or Ga or Zn or CdZn), can also be modeled by using the appropriate alloy file and assigning all atom types to the -single element or subset of elements via the pair\_coeff command, as +single element or subset of elements via the pair_coeff command, as discussed below. The BOP potential consists of three terms: -.. image:: Eqs/pair_bop.jpg - :align: center +.. math:: + + E = \frac{1}{2} \sum_{i=1}^{N} \sum_{j=i_1}^{i_N} \phi_{ij} \left( r_{ij} \right) - \sum_{i=1}^{N} \sum_{j=i_1}^{i_N} \beta_{\sigma,ij} \left( r_{ij} \right) \cdot \Theta_{\sigma,ij} - \sum_{i=1}^{N} \sum_{j=i_1}^{i_N} \beta_{\pi,ij} \left( r_{ij} \right) \cdot \Theta_{\pi,ij} + U_{prom} -where phi\_ij(r\_ij) is a short-range two-body function representing the -repulsion between a pair of ion cores, beta\_(sigma,ij)(r\_ij) and -beta\_(sigma,ij)(r\_ij) are respectively sigma and pi bond integrals, -THETA\_(sigma,ij) and THETA\_(pi,ij) are sigma and pi bond-orders, and -U\_prom is the promotion energy for sp-valent systems. +where :math:`\phi_{ij}(r_{ij})` is a short-range two-body function +representing the repulsion between a pair of ion cores, +:math:`\beta_{\sigma,ij}(r_{ij})` and :math:`\beta_{\sigma,ij}(r_{ij})` +are respectively sigma and :math:`\pi` bond integrals, :math:`\Theta_{\sigma,ij}` +and :math:`\Theta_{\pi,ij}` are :math:`\sigma` and :math:`\pi` +bond-orders, and U_prom is the promotion energy for sp-valent systems. The detailed formulas for this potential are given in Ward (:ref:`Ward `); here we provide only a brief description. -The repulsive energy phi\_ij(r\_ij) and the bond integrals -beta\_(sigma,ij)(r\_ij) and beta\_(phi,ij)(r\_ij) are functions of the -interatomic distance r\_ij between atom i and j. Each of these -potentials has a smooth cutoff at a radius of r\_(cut,ij). These +The repulsive energy :math:`\phi_{ij}(r_{ij})` and the bond integrals +:math:`\beta_{\sigma,ij}(r_{ij})` and :math:`\beta_{\phi,ij}(r_{ij})` are functions of the +interatomic distance :math:`r_{ij}` between atom *i* and *j*\ . Each of these +potentials has a smooth cutoff at a radius of :math:`r_{cut,ij}`. These smooth cutoffs ensure stable behavior at situations with high sampling near the cutoff such as melts and surfaces. The bond-orders can be viewed as environment-dependent local variables -that are ij bond specific. The maximum value of the sigma bond-order -(THETA\_sigma) is 1, while that of the pi bond-order (THETA\_pi) is 2, -attributing to a maximum value of the total bond-order -(THETA\_sigma+THETA\_pi) of 3. The sigma and pi bond-orders reflect the -ubiquitous single-, double-, and triple- bond behavior of -chemistry. Their analytical expressions can be derived from tight- -binding theory by recursively expanding an inter-site Green's function -as a continued fraction. To accurately represent the bonding with a -computationally efficient potential formulation suitable for MD -simulations, the derived BOP only takes (and retains) the first two -levels of the recursive representations for both the sigma and the pi -bond-orders. Bond-order terms can be understood in terms of molecular -orbital hopping paths based upon the Cyrot-Lackmann theorem -(:ref:`Pettifor\_1 `). The sigma bond-order with a half-full -valence shell is used to interpolate the bond-order expression that -incorporated explicit valance band filling. This pi bond-order -expression also contains also contains a three-member ring term that -allows implementation of an asymmetric density of states, which helps -to either stabilize or destabilize close-packed structures. The pi -bond-order includes hopping paths of length 4. This enables the -incorporation of dihedral angles effects. +that are ij bond specific. The maximum value of the :math:`\sigma` +bond-order (:math:`\Theta_{\sigma}` is 1, while that of the :math:`\pi` +bond-order (:math:`\Theta_{\pi}`) is 2, attributing to a maximum value +of the total bond-order (:math:`\Theta_{\sigma}+\Theta_{\pi}`) of 3. +The :math:`\sigma` and :math:`\pi` bond-orders reflect the ubiquitous +single-, double-, and triple- bond behavior of chemistry. Their +analytical expressions can be derived from tight- binding theory by +recursively expanding an inter-site Green's function as a continued +fraction. To accurately represent the bonding with a computationally +efficient potential formulation suitable for MD simulations, the derived +BOP only takes (and retains) the first two levels of the recursive +representations for both the :math:`\sigma` and the :math:`\pi` bond-orders. Bond-order +terms can be understood in terms of molecular orbital hopping paths +based upon the Cyrot-Lackmann theorem (:ref:`Pettifor_1 `). +The :math:`\sigma` bond-order with a half-full valence shell is used to +interpolate the bond-order expression that incorporated explicit valance +band filling. This :math:`\pi` bond-order expression also contains also contains +a three-member ring term that allows implementation of an asymmetric +density of states, which helps to either stabilize or destabilize +close-packed structures. The :math:`\pi` bond-order includes hopping paths of +length 4. This enables the incorporation of dihedral angles effects. .. note:: Note that unlike for other potentials, cutoffs for BOP - potentials are not set in the pair\_style or pair\_coeff command; they + potentials are not set in the pair_style or pair_coeff command; they are specified in the BOP potential files themselves. Likewise, the BOP potential files list atomic masses; thus you do not need to use the :doc:`mass ` command to specify them. Note that for BOP potentials with hydrogen, you will likely want to set the mass of H atoms to be 10x or 20x larger to avoid having to use a tiny timestep. You can do this by using the :doc:`mass ` command after using the - :doc:`pair\_coeff ` command to read the BOP potential + :doc:`pair_coeff ` command to read the BOP potential file. -One option can be specified as a keyword with the pair\_style command. +One option can be specified as a keyword with the pair_style command. The *save* keyword gives you the option to calculate in advance and store a set of distances, angles, and derivatives of angles. The @@ -118,14 +116,12 @@ The latter requires less memory, but may be slower. It is best to test this option to optimize the speed of BOP for your particular system configuration. - ---------- - -Only a single pair\_coeff command is used with the *bop* style which +Only a single pair_coeff command is used with the *bop* style which specifies a BOP potential file, with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -134,12 +130,11 @@ where N is the number of LAMMPS atom types: As an example, imagine the CdTe.bop file has BOP values for Cd and Te. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Cd, and the 4th to be Te, you would use the following -pair\_coeff command: - +pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* CdTe Cd Cd Cd Te + pair_coeff * * CdTe Cd Cd Cd Te The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three Cd arguments map LAMMPS atom types 1,2,3 to the Cd @@ -148,18 +143,16 @@ element in the BOP file. The final Te argument maps LAMMPS atom type BOP files in the *potentials* directory of the LAMMPS distribution have a ".bop" suffix. The potentials are in tabulated form containing -pre-tabulated pair functions for phi\_ij(r\_ij), beta\_(sigma,ij)(r\_ij), -and beta\_pi,ij)(r\_ij). +pre-tabulated pair functions for phi_ij(r_ij), beta_(sigma,ij)(r_ij), +and beta_pi,ij)(r_ij). The parameters/coefficients format for the different kinds of BOP files are given below with variables matching the formulation of Ward (:ref:`Ward `) and Zhou (:ref:`Zhou `). Each header line containing a ":" is preceded by a blank line. - ---------- - **No angular table file format**\ : The parameters/coefficients format for the BOP potentials input file @@ -177,101 +170,92 @@ the tabulated functions are given. * Line 1: nr, nBOt (nr is the number of divisions the radius is broken into for function tables and MUST be a factor of 5; nBOt is the number - of divisions for the tabulated values of THETA\_(S,ij) -* Line 2: delta\_1-delta\_7 (if all are not used in the particular + of divisions for the tabulated values of THETA_(S,ij) +* Line 2: delta_1-delta_7 (if all are not used in the particular * formulation, set unused values to 0.0) +Following this N lines for e_1-e_N containing p_pi. -Following this N lines for e\_1-e\_N containing p\_pi. - -* Line 3: p\_pi (for e\_1) -* Line 4: p\_pi (for e\_2 and continues to e\_N) +* Line 3: p_pi (for e_1) +* Line 4: p_pi (for e_2 and continues to e_N) The next section contains several pair constants for the number of -interaction types e\_i-e\_j, with i=1->N, j=i->N +interaction types e_i-e_j, with i=1->N, j=i->N -* Line 1: r\_cut (for e\_1-e\_1 interactions) -* Line 2: c\_sigma, a\_sigma, c\_pi, a\_pi -* Line 3: delta\_sigma, delta\_pi -* Line 4: f\_sigma, k\_sigma, delta\_3 (This delta\_3 is similar to that of +* Line 1: r_cut (for e_1-e_1 interactions) +* Line 2: c_sigma, a_sigma, c_pi, a_pi +* Line 3: delta_sigma, delta_pi +* Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of the previous section but is interaction type dependent) - The next section contains a line for each three body interaction type -e\_j-e\_i-e\_k with i=0->N, j=0->N, k=j->N +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N -* Line 1: g\_(sigma0), g\_(sigma1), g\_(sigma2) (These are coefficients for - g\_(sigma,jik)(THETA\_ijk) for e\_1-e\_1-e\_1 interaction. :ref:`Ward ` +* Line 1: g_(sigma0), g_(sigma1), g_(sigma2) (These are coefficients for + g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. :ref:`Ward ` contains the full expressions for the constants as functions of - b\_(sigma,ijk), p\_(sigma,ijk), u\_(sigma,ijk)) -* Line 2: g\_(sigma0), g\_(sigma1), g\_(sigma2) (for e\_1-e\_1-e\_2) - + b_(sigma,ijk), p_(sigma,ijk), u_(sigma,ijk)) +* Line 2: g_(sigma0), g_(sigma1), g_(sigma2) (for e_1-e_1-e_2) The next section contains a block for each interaction type for the -phi\_ij(r\_ij). Each block has nr entries with 5 entries per line. +phi_ij(r_ij). Each block has nr entries with 5 entries per line. -* Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e\_1-e\_1 +* Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e_1-e_1 interaction type) * Line 2: phi(r6), phi(r7), phi(r8), phi(r9), phi(r10) (this continues until nr) * ... -* Line nr/5\_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the - e\_1-e\_1 interaction type) - +* Line nr/5_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the + e_1-e_1 interaction type) The next section contains a block for each interaction type for the -beta\_(sigma,ij)(r\_ij). Each block has nr entries with 5 entries per +beta_(sigma,ij)(r_ij). Each block has nr entries with 5 entries per line. -* Line 1: beta\_sigma(r1), beta\_sigma(r2), beta\_sigma(r3), beta\_sigma(r4), - beta\_sigma(r5) (for the e\_1-e\_1 interaction type) -* Line 2: beta\_sigma(r6), beta\_sigma(r7), beta\_sigma(r8), beta\_sigma(r9), - beta\_sigma(r10) (this continues until nr) +* Line 1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), beta_sigma(r4), + beta_sigma(r5) (for the e_1-e_1 interaction type) +* Line 2: beta_sigma(r6), beta_sigma(r7), beta_sigma(r8), beta_sigma(r9), + beta_sigma(r10) (this continues until nr) * ... -* Line nr/5+1: beta\_sigma(r1), beta\_sigma(r2), beta\_sigma(r3), - beta\_sigma(r4), beta\_sigma(r5) (for the e\_1-e\_2 interaction type) - +* Line nr/5+1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), + beta_sigma(r4), beta_sigma(r5) (for the e_1-e_2 interaction type) The next section contains a block for each interaction type for -beta\_(pi,ij)(r\_ij). Each block has nr entries with 5 entries per line. +beta_(pi,ij)(r_ij). Each block has nr entries with 5 entries per line. -* Line 1: beta\_pi(r1), beta\_pi(r2), beta\_pi(r3), beta\_pi(r4), beta\_pi(r5) - (for the e\_1-e\_1 interaction type) -* Line 2: beta\_pi(r6), beta\_pi(r7), beta\_pi(r8), beta\_pi(r9), - beta\_pi(r10) (this continues until nr) +* Line 1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), beta_pi(r5) + (for the e_1-e_1 interaction type) +* Line 2: beta_pi(r6), beta_pi(r7), beta_pi(r8), beta_pi(r9), + beta_pi(r10) (this continues until nr) * ... -* Line nr/5+1: beta\_pi(r1), beta\_pi(r2), beta\_pi(r3), beta\_pi(r4), - beta\_pi(r5) (for the e\_1-e\_2 interaction type) - +* Line nr/5+1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), + beta_pi(r5) (for the e_1-e_2 interaction type) The next section contains a block for each interaction type for the -THETA\_(S,ij)((THETA\_(sigma,ij))\^(1/2), f\_(sigma,ij)). Each block has +THETA_(S,ij)((THETA_(sigma,ij))\^(1/2), f_(sigma,ij)). Each block has nBOt entries with 5 entries per line. -* Line 1: THETA\_(S,ij)(r1), THETA\_(S,ij)(r2), THETA\_(S,ij)(r3), - THETA\_(S,ij)(r4), THETA\_(S,ij)(r5) (for the e\_1-e\_2 interaction type) -* Line 2: THETA\_(S,ij)(r6), THETA\_(S,ij)(r7), THETA\_(S,ij)(r8), - THETA\_(S,ij)(r9), THETA\_(S,ij)(r10) (this continues until nBOt) +* Line 1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), + THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) +* Line 2: THETA_(S,ij)(r6), THETA_(S,ij)(r7), THETA_(S,ij)(r8), + THETA_(S,ij)(r9), THETA_(S,ij)(r10) (this continues until nBOt) * ... -* Line nBOt/5+1: THETA\_(S,ij)(r1), THETA\_(S,ij)(r2), THETA\_(S,ij)(r3), - THETA\_(S,ij)(r4), THETA\_(S,ij)(r5) (for the e\_1-e\_2 interaction type) - +* Line nBOt/5+1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), + THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) -The next section contains a block of N lines for e\_1-e\_N +The next section contains a block of N lines for e_1-e_N -* Line 1: delta\^mu (for e\_1) -* Line 2: delta\^mu (for e\_2 and repeats to e\_N) +* Line 1: delta\^mu (for e_1) +* Line 2: delta\^mu (for e_2 and repeats to e_N) -The last section contains more constants for e\_i-e\_j interactions with +The last section contains more constants for e_i-e_j interactions with i=0->N, j=i->N -* Line 1: (A\_ij)\^(mu\*nu) (for e1-e1) -* Line 2: (A\_ij)\^(mu\*nu) (for e1-e2 and repeats as above) - +* Line 1: (A_ij)\^(mu\*nu) (for e1-e1) +* Line 2: (A_ij)\^(mu\*nu) (for e1-e2 and repeats as above) ---------- - **Angular spline table file format**\ : The parameters/coefficients format for the BOP potentials input file @@ -290,46 +274,41 @@ the tabulated functions are given. * Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken into for function tables and MUST be a factor of 5; ntheta is the power of the power of the spline used to fit the angular function; nBOt is the number - of divisions for the tabulated values of THETA\_(S,ij) -* Line 2: delta\_1-delta\_7 (if all are not used in the particular + of divisions for the tabulated values of THETA_(S,ij) +* Line 2: delta_1-delta_7 (if all are not used in the particular * formulation, set unused values to 0.0) +Following this N lines for e_1-e_N containing p_pi. -Following this N lines for e\_1-e\_N containing p\_pi. - -* Line 3: p\_pi (for e\_1) -* Line 4: p\_pi (for e\_2 and continues to e\_N) +* Line 3: p_pi (for e_1) +* Line 4: p_pi (for e_2 and continues to e_N) The next section contains several pair constants for the number of -interaction types e\_i-e\_j, with i=1->N, j=i->N +interaction types e_i-e_j, with i=1->N, j=i->N -* Line 1: r\_cut (for e\_1-e\_1 interactions) -* Line 2: c\_sigma, a\_sigma, c\_pi, a\_pi -* Line 3: delta\_sigma, delta\_pi -* Line 4: f\_sigma, k\_sigma, delta\_3 (This delta\_3 is similar to that of +* Line 1: r_cut (for e_1-e_1 interactions) +* Line 2: c_sigma, a_sigma, c_pi, a_pi +* Line 3: delta_sigma, delta_pi +* Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of the previous section but is interaction type dependent) - The next section contains a line for each three body interaction type -e\_j-e\_i-e\_k with i=0->N, j=0->N, k=j->N +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N * Line 1: g0, g1, g2... (These are coefficients for the angular spline - of the g\_(sigma,jik)(THETA\_ijk) for e\_1-e\_1-e\_1 interaction. The + of the g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. The function can contain up to 10 term thus 10 constants. The first line can contain up to five constants. If the spline has more than five terms the second line will contain the remaining constants The following lines will then contain the constants for the remaining g0, - g1, g2... (for e\_1-e\_1-e\_2) and the other three body + g1, g2... (for e_1-e_1-e_2) and the other three body interactions - The rest of the table has the same structure as the previous section (see above). - ---------- - **Angular no-spline table file format**\ : The parameters/coefficients format for the BOP potentials input file @@ -348,65 +327,57 @@ the tabulated functions are given. * Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken into for function tables and MUST be a factor of 5; ntheta is the number of divisions for the tabulated values of the g angular function; nBOt is the number - of divisions for the tabulated values of THETA\_(S,ij) -* Line 2: delta\_1-delta\_7 (if all are not used in the particular + of divisions for the tabulated values of THETA_(S,ij) +* Line 2: delta_1-delta_7 (if all are not used in the particular * formulation, set unused values to 0.0) +Following this N lines for e_1-e_N containing p_pi. -Following this N lines for e\_1-e\_N containing p\_pi. - -* Line 3: p\_pi (for e\_1) -* Line 4: p\_pi (for e\_2 and continues to e\_N) +* Line 3: p_pi (for e_1) +* Line 4: p_pi (for e_2 and continues to e_N) The next section contains several pair constants for the number of -interaction types e\_i-e\_j, with i=1->N, j=i->N +interaction types e_i-e_j, with i=1->N, j=i->N -* Line 1: r\_cut (for e\_1-e\_1 interactions) -* Line 2: c\_sigma, a\_sigma, c\_pi, a\_pi -* Line 3: delta\_sigma, delta\_pi -* Line 4: f\_sigma, k\_sigma, delta\_3 (This delta\_3 is similar to that of +* Line 1: r_cut (for e_1-e_1 interactions) +* Line 2: c_sigma, a_sigma, c_pi, a_pi +* Line 3: delta_sigma, delta_pi +* Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of the previous section but is interaction type dependent) - The next section contains a line for each three body interaction type -e\_j-e\_i-e\_k with i=0->N, j=0->N, k=j->N +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N -* Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e\_1-e\_1-e\_1 +* Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e_1-e_1-e_1 interaction type) * Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues until ntheta) * ... * Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the - e\_1-e\_1-e\_2 interaction type) - + e_1-e_1-e_2 interaction type) The rest of the table has the same structure as the previous section (see above). - ---------- - **Mixing, shift, table tail correction, restart**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These pair styles are part of the MANYBODY package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -422,59 +393,40 @@ appropriate units if your simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` Default """"""" -non-tabulated potential file, a\_0 is non-zero. - +non-tabulated potential file, a_0 is non-zero. ---------- +.. _Pettifor_1: -.. _Pettifor\_1: - - - -**(Pettifor\_1)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 59, 8487 +**(Pettifor_1)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 59, 8487 (1999). -.. _Pettifor\_2: +.. _Pettifor_2: - - -**(Pettifor\_2)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. Lett., 84, +**(Pettifor_2)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. Lett., 84, 4124 (2000). -.. _Pettifor\_3: - +.. _Pettifor_3: - -**(Pettifor\_3)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 65, 172103 +**(Pettifor_3)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 65, 172103 (2002). .. _Murdick: - - **(Murdick)** D.A. Murdick, X.W. Zhou, H.N.G. Wadley, D. Nguyen-Manh, R. Drautz, and D.G. Pettifor, Phys. Rev. B, 73, 45206 (2006). .. _Ward: - - **(Ward)** D.K. Ward, X.W. Zhou, B.M. Wong, F.P. Doty, and J.A. Zimmerman, Phys. Rev. B, 85,115206 (2012). .. _Zhou1: - - **(Zhou)** X.W. Zhou, D.K. Ward, M. Foster (TBP). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_born.rst b/doc/src/pair_born.rst index 3a9191cfd743d77af2efa44287d4db1db4e29b6a..2fa57851325f705610193bd00b8ab0fc90728c57 100644 --- a/doc/src/pair_born.rst +++ b/doc/src/pair_born.rst @@ -1,53 +1,51 @@ -.. index:: pair\_style born +.. index:: pair_style born -pair\_style born command -======================== +pair_style born command +======================= -pair\_style born/omp command -============================ +pair_style born/omp command +=========================== -pair\_style born/gpu command -============================ +pair_style born/gpu command +=========================== -pair\_style born/coul/long command -================================== - -pair\_style born/coul/long/gpu command -====================================== - -pair\_style born/coul/long/omp command -====================================== - -pair\_style born/coul/msm command +pair_style born/coul/long command ================================= -pair\_style born/coul/msm/omp command +pair_style born/coul/long/gpu command ===================================== -pair\_style born/coul/wolf command -================================== +pair_style born/coul/long/omp command +===================================== -pair\_style born/coul/wolf/gpu command -====================================== +pair_style born/coul/msm command +================================ -pair\_style born/coul/wolf/omp command -====================================== +pair_style born/coul/msm/omp command +==================================== -pair\_style born/coul/dsf command +pair_style born/coul/wolf command ================================= +pair_style born/coul/wolf/gpu command +===================================== + +pair_style born/coul/wolf/omp command +===================================== + +pair_style born/coul/dsf command +================================ + Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *born* or *born/coul/long* or *born/coul/msm* or *born/coul/wolf* * args = list of arguments for a particular style - .. parsed-literal:: *born* args = cutoff @@ -70,30 +68,29 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style born 10.0 - pair_coeff \* \* 6.08 0.317 2.340 24.18 11.51 + pair_coeff * * 6.08 0.317 2.340 24.18 11.51 pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 pair_style born/coul/long 10.0 pair_style born/coul/long 10.0 8. - pair_coeff \* \* 6.08 0.317 2.340 24.18 11.51 + pair_coeff * * 6.08 0.317 2.340 24.18 11.51 pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 pair_style born/coul/msm 10.0 pair_style born/coul/msm 10.0 8.0 - pair_coeff \* \* 6.08 0.317 2.340 24.18 11.51 + pair_coeff * * 6.08 0.317 2.340 24.18 11.51 pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 pair_style born/coul/wolf 0.25 10.0 pair_style born/coul/wolf 0.25 10.0 9.0 - pair_coeff \* \* 6.08 0.317 2.340 24.18 11.51 + pair_coeff * * 6.08 0.317 2.340 24.18 11.51 pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 pair_style born/coul/dsf 0.1 10.0 12.0 - pair_coeff \* \* 0.0 1.00 0.00 0.00 0.00 + pair_coeff * * 0.0 1.00 0.00 0.00 0.00 pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 Description @@ -102,16 +99,19 @@ Description The *born* style computes the Born-Mayer-Huggins or Tosi/Fumi potential described in :ref:`(Fumi and Tosi) `, given by -.. image:: Eqs/pair_born.jpg - :align: center +.. math:: -where sigma is an interaction-dependent length parameter, rho is an -ionic-pair dependent length parameter, and Rc is the cutoff. + E = A \exp \left(\frac{\sigma - r}{\rho} \right) - + \frac{C}{r^6} + \frac{D}{r^8} \qquad r < r_c + +where :math:`\sigma` is an interaction-dependent length parameter, +:math:`\rho` is an ionic-pair dependent length parameter, and +:math:`r_c` is the cutoff. The styles with *coul/long* or *coul/msm* add a Coulombic term as described for the :doc:`lj/cut ` pair styles. An additional damping factor is applied to the Coulombic term so it can be used in -conjunction with the :doc:`kspace\_style ` command and its +conjunction with the :doc:`kspace_style ` command and its *ewald* or *pppm* of *msm* option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in @@ -132,14 +132,14 @@ damped shifted force model as in the :doc:`coul/dsf ` style. Note that these potentials are related to the :doc:`Buckingham potential `. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * A (energy units) -* rho (distance units) -* sigma (distance units) +* :math:`\rho` (distance units) +* :math:`\sigma` (distance units) * C (energy units \* distance units\^6) * D (energy units \* distance units\^8) * cutoff (distance units) @@ -147,17 +147,15 @@ commands, or by mixing as described below: The second coefficient, rho, must be greater than zero. The last coefficient is optional. If not specified, the global A,C,D -cutoff specified in the pair\_style command is used. +cutoff specified in the pair_style command is used. For *born/coul/long*\ , *born/coul/wolf* and *born/coul/dsf* no Coulombic cutoff can be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair\_style command. - +pair_style command. ---------- - 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 @@ -176,63 +174,49 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -These styles support the :doc:`pair\_modify ` shift option +These styles support the :doc:`pair_modify ` shift option for the energy of the exp(), 1/r\^6, and 1/r\^8 portion of the pair interaction. The *born/coul/long* pair style supports the -:doc:`pair\_modify ` table option to tabulate the +:doc:`pair_modify ` table option to tabulate the short-range portion of the long-range Coulombic interaction. -These styles support the pair\_modify tail option for adding long-range +These styles support the pair_modify tail option for adding long-range tail corrections to energy and pressure. Thess styles writes thei information to binary :doc:`restart ` -files, so pair\_style and pair\_coeff commands do not need to be +files, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -These styles can only be used via the *pair* keyword of the :doc:`run\_style respa ` command. They do not support the *inner*\ , +These styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *born/coul/long* style is part of the KSPACE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style buck ` +:doc:`pair_coeff `, :doc:`pair_style buck ` **Default:** none - ---------- - .. _FumiTosi: - - Fumi and Tosi, J Phys Chem Solids, 25, 31 (1964), Fumi and Tosi, J Phys Chem Solids, 25, 45 (1964). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_brownian.rst b/doc/src/pair_brownian.rst index a05043d1412e123844d9a01951d798d77e3c6004..12566a299390a02010d874f943471a71ee0148d6 100644 --- a/doc/src/pair_brownian.rst +++ b/doc/src/pair_brownian.rst @@ -1,22 +1,21 @@ -.. index:: pair\_style brownian +.. index:: pair_style brownian -pair\_style brownian command -============================ +pair_style brownian command +=========================== -pair\_style brownian/omp command +pair_style brownian/omp command ================================ -pair\_style brownian/poly command -================================= +pair_style brownian/poly command +================================ -pair\_style brownian/poly/omp command -===================================== +pair_style brownian/poly/omp command +==================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style mu flaglog flagfld cutinner cutoff t_target seed flagHI flagVF @@ -26,7 +25,7 @@ Syntax * flagfld = 0/1 to include/exclude Fast Lubrication Dynamics effects * cutinner = inner cutoff distance (distance units) * cutoff = outer cutoff for interactions (distance units) -* t\_target = target temp of the system (temperature units) +* t_target = target temp of the system (temperature units) * seed = seed for the random number generator (positive integer) * flagHI (optional) = 0/1 to include/exclude 1/r hydrodynamic interactions * flagVF (optional) = 0/1 to include/exclude volume fraction corrections in the long-range isotropic terms @@ -34,12 +33,11 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style brownian 1.5 1 1 2.01 2.5 2.0 5878567 (assuming radius = 1) pair_coeff 1 1 2.05 2.8 - pair_coeff \* \* + pair_coeff * * Description """"""""""" @@ -49,40 +47,36 @@ torques on finite-size spherical particles. The former requires monodisperse spherical particles; the latter allows for polydisperse spherical particles. -These pair styles are designed to be used with either the :doc:`pair\_style lubricate ` or :doc:`pair\_style lubricateU ` commands to provide thermostatting +These pair styles are designed to be used with either the :doc:`pair_style lubricate ` or :doc:`pair_style lubricateU ` commands to provide thermostatting when dissipative lubrication forces are acting. Thus the parameters *mu*\ , *flaglog*\ , *flagfld*\ , *cutinner*\ , and *cutoff* should be specified consistent with the settings in the lubrication pair styles. For details, refer to either of the lubrication pair styles. -The *t\_target* setting is used to specify the target temperature of +The *t_target* setting is used to specify the target temperature of the system. The random number *seed* is used to generate random numbers for the thermostatting procedure. The *flagHI* and *flagVF* settings are optional. Neither should be used, or both must be defined. - ---------- - The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * cutinner (distance units) * cutoff (distance units) The two coefficients are optional. If neither is specified, the two -cutoffs specified in the pair\_style command are used. Otherwise both +cutoffs specified in the pair_style command are used. Otherwise both must be specified. - ---------- - 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 @@ -101,61 +95,51 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See :doc:`this section ` of the manual for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the two cutoff distances for this pair style can be mixed. The default mix value is *geometric*\ . See -the "pair\_modify" command for details. +the "pair_modify" command for details. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These styles are part of the COLLOID package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -Only spherical monodisperse particles are allowed for pair\_style +Only spherical monodisperse particles are allowed for pair_style brownian. -Only spherical particles are allowed for pair\_style brownian/poly. +Only spherical particles are allowed for pair_style brownian/poly. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style lubricate `, :doc:`pair\_style lubricateU ` +:doc:`pair_coeff `, :doc:`pair_style lubricate `, :doc:`pair_style lubricateU ` Default """"""" The default settings for the optional args are flagHI = 1 and flagVF = 1. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_buck.rst b/doc/src/pair_buck.rst index 7c559001b8fedc36a475a35c0d165e9e7e6d309a..c0eb0ee282b1d2b891c39038673e26a7f5b8523b 100644 --- a/doc/src/pair_buck.rst +++ b/doc/src/pair_buck.rst @@ -1,68 +1,66 @@ -.. index:: pair\_style buck +.. index:: pair_style buck -pair\_style buck command +pair_style buck command ======================== -pair\_style buck/gpu command +pair_style buck/gpu command ============================ -pair\_style buck/intel command +pair_style buck/intel command ============================== -pair\_style buck/kk command +pair_style buck/kk command =========================== -pair\_style buck/omp command +pair_style buck/omp command ============================ -pair\_style buck/coul/cut command +pair_style buck/coul/cut command ================================= -pair\_style buck/coul/cut/gpu command +pair_style buck/coul/cut/gpu command ===================================== -pair\_style buck/coul/cut/intel command +pair_style buck/coul/cut/intel command ======================================= -pair\_style buck/coul/cut/kk command +pair_style buck/coul/cut/kk command ==================================== -pair\_style buck/coul/cut/omp command +pair_style buck/coul/cut/omp command ===================================== -pair\_style buck/coul/long command +pair_style buck/coul/long command ================================== -pair\_style buck/coul/long/gpu command +pair_style buck/coul/long/gpu command ====================================== -pair\_style buck/coul/long/intel command +pair_style buck/coul/long/intel command ======================================== -pair\_style buck/coul/long/kk command +pair_style buck/coul/long/kk command ===================================== -pair\_style buck/coul/long/omp command +pair_style buck/coul/long/omp command ====================================== -pair\_style buck/coul/msm command +pair_style buck/coul/msm command ================================= -pair\_style buck/coul/msm/omp command +pair_style buck/coul/msm/omp command ===================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *buck* or *buck/coul/cut* or *buck/coul/long* or *buck/coul/msm* * args = list of arguments for a particular style - .. parsed-literal:: *buck* args = cutoff @@ -80,27 +78,26 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style buck 2.5 - pair_coeff \* \* 100.0 1.5 200.0 - pair_coeff \* \* 100.0 1.5 200.0 3.0 + pair_coeff * * 100.0 1.5 200.0 + pair_coeff * * 100.0 1.5 200.0 3.0 pair_style buck/coul/cut 10.0 pair_style buck/coul/cut 10.0 8.0 - pair_coeff \* \* 100.0 1.5 200.0 + pair_coeff * * 100.0 1.5 200.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 8.0 pair_style buck/coul/long 10.0 pair_style buck/coul/long 10.0 8.0 - pair_coeff \* \* 100.0 1.5 200.0 + pair_coeff * * 100.0 1.5 200.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 pair_style buck/coul/msm 10.0 pair_style buck/coul/msm 10.0 8.0 - pair_coeff \* \* 100.0 1.5 200.0 + pair_coeff * * 100.0 1.5 200.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 Description @@ -109,17 +106,18 @@ Description The *buck* style computes a Buckingham potential (exp/6 instead of Lennard-Jones 12/6) given by -.. image:: Eqs/pair_buck.jpg - :align: center +.. math:: + + E = A e^{-r / \rho} - \frac{C}{r^6} \qquad r < r_c -where rho is an ionic-pair dependent length parameter, and Rc is the -cutoff on both terms. +where :math:`\rho` is an ionic-pair dependent length parameter, and +:math:`r_c` is the cutoff on both terms. The styles with *coul/cut* or *coul/long* or *coul/msm* add a Coulombic term as described for the :doc:`lj/cut ` pair styles. For *buck/coul/long* and *buc/coul/msm*\ , an additional damping factor is applied to the Coulombic term so it can be used in conjunction with -the :doc:`kspace\_style ` command and its *ewald* or *pppm* +the :doc:`kspace_style ` command and its *ewald* or *pppm* or *msm* option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space. @@ -138,23 +136,23 @@ Note that these potentials are related to the :doc:`Born-Mayer-Huggins potential cutoff. The additional Coulombic term can be cutoff or long-range (no cutoff) depending on whether the style name includes coul/cut or coul/long or coul/msm. If you wish the C/r\^6 term to be long-range - (no cutoff), then see the :doc:`pair\_style buck/long/coul/long ` command. + (no cutoff), then see the :doc:`pair_style buck/long/coul/long ` command. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: * A (energy units) -* rho (distance units) +* :math:`\rho` (distance units) * C (energy-distance\^6 units) * cutoff (distance units) * cutoff2 (distance units) -The second coefficient, rho, must be greater than zero. -The coefficients A, rho, and C can be written as analytical expressions -of epsilon and sigma, in analogy to the Lennard-Jones potential +The second coefficient, :math:`\rho`, must be greater than zero. +The coefficients A,:math:`\rho`, and C can be written as analytical expressions +of :math:`\epsilon` and :math:`\sigma`, in analogy to the Lennard-Jones potential :ref:`(Khrapak) `. The latter 2 coefficients are optional. If not specified, the global @@ -166,12 +164,10 @@ the A,C and Coulombic cutoffs for this type pair. You cannot specify For *buck/coul/long* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair\_style command. - +pair_style command. ---------- - 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 @@ -190,53 +186,43 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -These styles support the :doc:`pair\_modify ` shift option +These styles support the :doc:`pair_modify ` shift option for the energy of the exp() and 1/r\^6 portion of the pair interaction. The *buck/coul/long* pair style supports the -:doc:`pair\_modify ` table option to tabulate the +:doc:`pair_modify ` table option to tabulate the short-range portion of the long-range Coulombic interaction. -These styles support the pair\_modify tail option for adding long-range +These styles support the pair_modify tail option for adding long-range tail corrections to energy and pressure for the A,C terms in the pair interaction. -These styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -These styles can only be used via the *pair* keyword of the :doc:`run\_style respa ` command. They do not support the *inner*\ , +These styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - The *buck/coul/long* style is part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style born ` +:doc:`pair_coeff `, :doc:`pair_style born ` **Default:** none .. _Khrapak: - - **(Khrapak)** Khrapak, Chaudhuri, and Morfill, J Chem Phys, 134, 054120 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_buck6d_coul_gauss.rst b/doc/src/pair_buck6d_coul_gauss.rst index 94351f5152b4bf0de29717cafd38f0e1384302b9..f8c5a29a328cffe1c938ca28143f07553be7c7ff 100644 --- a/doc/src/pair_buck6d_coul_gauss.rst +++ b/doc/src/pair_buck6d_coul_gauss.rst @@ -1,23 +1,21 @@ -.. index:: pair\_style buck6d/coul/gauss/dsf +.. index:: pair_style buck6d/coul/gauss/dsf -pair\_style buck6d/coul/gauss/dsf command -========================================= +pair_style buck6d/coul/gauss/dsf command +======================================== -pair\_style buck6d/coul/gauss/long command -========================================== +pair_style buck6d/coul/gauss/long command +========================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *buck6d/coul/gauss/dsf* or *buck6d/coul/gauss/long* * args = list of arguments for a particular style - .. parsed-literal:: *buck6d/coul/gauss/dsf* args = smooth cutoff (cutoff2) @@ -33,8 +31,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style buck6d/coul/gauss/dsf 0.9000 12.0000 pair_coeff 1 1 1030. 3.061 457.179 4.521 0.608 @@ -50,12 +47,13 @@ interactions following the MOF-FF force field after :ref:`(Schmid) `. The vdW term of the *buck6d* styles computes a dispersion damped Buckingham potential: -.. image:: Eqs/pair_buck6d.jpg - :align: center +.. math:: -where A and C are a force constant, kappa is an ionic-pair dependent + E = A e^{-\kappa r} - \frac{C}{r^6} \cdot \frac{1}{1 + D r^{14}} \qquad r < r_c \\ + +where A and C are a force constant, :math:`\kappa` is an ionic-pair dependent reciprocal length parameter, D is a dispersion correction parameter, -and the cutoff Rc truncates the interaction distance. +and the cutoff :math:`r_c` truncates the interaction distance. The first term in the potential corresponds to the Buckingham repulsion term and the second term to the dispersion attraction with a damping correction analog to the Grimme correction used in DFT. @@ -78,21 +76,22 @@ distributions which effectively dampen electrostatic interactions for high charges at close distances. The electrostatic potential is thus evaluated as: -.. image:: Eqs/pair_coul_gauss.jpg - :align: center +.. math:: + + E = \frac{C_{q_i q_j}}{\epsilon r_{ij}}\,\, \textrm{erf}\left(\alpha_{ij} r_{ij}\right)\quad\quad\quad r < r_c -where C is an energy-conversion constant, Qi and Qj are the -charges on the 2 atoms, epsilon is the dielectric constant which -can be set by the :doc:`dielectric ` command, alpha is -ion pair dependent damping parameter and erf() is the error-function. -The cutoff Rc truncates the interaction distance. +where C is an energy-conversion constant, :math:`q_i` and :math:`q_j` +are the charges on the 2 atoms, epsilon is the dielectric constant which +can be set by the :doc:`dielectric ` command, :math:`\alpha` +is the ion pair dependent damping parameter and erf() is the +error-function. The cutoff :math:`r_c` truncates the interaction distance. The style *buck6d/coul/gauss/dsf* computes the Coulomb interaction via the damped shifted force model described in :ref:`(Fennell) ` approximating an Ewald sum similar to the :doc:`pair coul/dsf ` styles. In *buck6d/coul/gauss/long* an additional damping factor is applied to the Coulombic term so it can be used in conjunction with the -:doc:`kspace\_style ` command and its *ewald* or *pppm* +:doc:`kspace_style ` command and its *ewald* or *pppm* options. The Coulombic cutoff in this case separates the real and reciprocal space evaluation of the Ewald sum. @@ -101,64 +100,53 @@ terms. If two cutoffs are specified, the first is used as the cutoff for the vdW terms, and the second is the cutoff for the Coulombic term. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: * A (energy units) -* rho (distance\^-1 units) +* :math:`\rho` (distance\^-1 units) * C (energy-distance\^6 units) * D (distance\^14 units) -* alpha (distance\^-1 units) +* :math:`\alpha` (distance\^-1 units) * cutoff (distance units) -The second coefficient, rho, must be greater than zero. The latter -coefficient is optional. If not specified, the global vdW cutoff +The second coefficient, :math:`\rho`, must be greater than zero. The +latter coefficient is optional. If not specified, the global vdW cutoff is used. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -These styles do not support the :doc:`pair\_modify ` shift +These styles do not support the :doc:`pair_modify ` shift option for the energy. Instead the smoothing function should be applied by setting the global smoothing parameter to a value < 1.0. -These styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Restrictions """""""""""" - These styles are part of the USER-MOFFF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none .. _Schmid: - - .. _Fennell: **(Schmid)** S. Bureekaew, S. Amirjalayer, M. Tafipolsky, C. Spickermann, T.K. Roy and R. Schmid, Phys. Status Solidi B, 6, 1128 (2013). - **(Fennell)** C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, 234104 (2006). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_buck_long.rst b/doc/src/pair_buck_long.rst index 3871e554ce2e49c7fac7d5900cc218d66bc2184b..6f1e2d83ef32a21ccf4248a9b56c4a7fd2425713 100644 --- a/doc/src/pair_buck_long.rst +++ b/doc/src/pair_buck_long.rst @@ -1,47 +1,44 @@ -.. index:: pair\_style buck/long/coul/long +.. index:: pair_style buck/long/coul/long -pair\_style buck/long/coul/long command +pair_style buck/long/coul/long command ======================================= -pair\_style buck/long/coul/long/omp command +pair_style buck/long/coul/long/omp command =========================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style buck/long/coul/long flag_buck flag_coul cutoff (cutoff2) -* flag\_buck = *long* or *cut* - +* flag_buck = *long* or *cut* + .. parsed-literal:: - + *long* = use Kspace long-range summation for the dispersion term 1/r\^6 *cut* = use a cutoff -* flag\_coul = *long* or *off* - +* flag_coul = *long* or *off* + .. parsed-literal:: - + *long* = use Kspace long-range summation for the Coulombic term 1/r *off* = omit the Coulombic term * cutoff = global cutoff for Buckingham (and Coulombic if only 1 cutoff) (distance units) * cutoff2 = global cutoff for Coulombic (optional) (distance units) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style buck/long/coul/long cut off 2.5 pair_style buck/long/coul/long cut long 2.5 4.0 pair_style buck/long/coul/long long long 4.0 - pair_coeff \* \* 1 1 + pair_coeff * * 1 1 pair_coeff 1 1 1 3 4 Description @@ -50,46 +47,45 @@ Description The *buck/long/coul/long* style computes a Buckingham potential (exp/6 instead of Lennard-Jones 12/6) and Coulombic potential, given by -.. image:: Eqs/pair_buck.jpg - :align: center +.. math:: -.. image:: Eqs/pair_coulomb.jpg - :align: center + E = & A e^{-r / \rho} - \frac{C}{r^6} \qquad r < r_c \\ + E = & \frac{C q_i q_j}{\epsilon r} \qquad r < r_c -Rc is the cutoff. If one cutoff is specified in the pair\_style +:math:`r_c` is the cutoff. If one cutoff is specified in the pair_style command, it is used for both the Buckingham and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the Buckingham and Coulombic terms respectively. The purpose of this pair style is to capture long-range interactions resulting from both attractive 1/r\^6 Buckingham and Coulombic 1/r -interactions. This is done by use of the *flag\_buck* and *flag\_coul* +interactions. This is done by use of the *flag_buck* and *flag_coul* settings. The :ref:`Ismail ` paper has more details on when it is appropriate to include long-range 1/r\^6 interactions, using this potential. -If *flag\_buck* is set to *long*\ , no cutoff is used on the Buckingham +If *flag_buck* is set to *long*\ , no cutoff is used on the Buckingham 1/r\^6 dispersion term. The long-range portion can be calculated by -using the :doc:`kspace\_style ewald/disp or pppm/disp ` +using the :doc:`kspace_style ewald/disp or pppm/disp ` commands. The specified Buckingham cutoff then determines which portion of the Buckingham interactions are computed directly by the pair potential versus which part is computed in reciprocal space via -the Kspace style. If *flag\_buck* is set to *cut*\ , the Buckingham -interactions are simply cutoff, as with :doc:`pair\_style buck `. +the Kspace style. If *flag_buck* is set to *cut*\ , the Buckingham +interactions are simply cutoff, as with :doc:`pair_style buck `. -If *flag\_coul* is set to *long*\ , no cutoff is used on the Coulombic +If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of -several :doc:`kspace\_style ` command options such as -*pppm* or *ewald*\ . Note that if *flag\_buck* is also set to long, then +several :doc:`kspace_style ` command options such as +*pppm* or *ewald*\ . Note that if *flag_buck* is also set to long, then the *ewald/disp* or *pppm/disp* Kspace style needs to be used to perform the long-range calculations for both the Buckingham and -Coulombic interactions. If *flag\_coul* is set to *off*\ , Coulombic +Coulombic interactions. If *flag_coul* is set to *off*\ , Coulombic interactions are not computed. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: * A (energy units) @@ -101,21 +97,19 @@ commands: The second coefficient, rho, must be greater than zero. The latter 2 coefficients are optional. If not specified, the global -Buckingham and Coulombic cutoffs specified in the pair\_style command +Buckingham and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both Buckingham and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the Buckingham and Coulombic cutoffs for this type pair. Note that if you are using -*flag\_buck* set to *long*\ , you cannot specify a Buckingham cutoff for +*flag_buck* set to *long*\ , you cannot specify a Buckingham cutoff for an atom type pair, since only one global Buckingham cutoff is allowed. -Similarly, if you are using *flag\_coul* set to *long*\ , you cannot +Similarly, if you are using *flag_coul* set to *long*\ , you cannot specify a Coulombic cutoff for an atom type pair, since only one global Coulombic cutoff is allowed. - ---------- - 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 @@ -134,66 +128,52 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair styles does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -This pair style supports the :doc:`pair\_modify ` shift +This pair style supports the :doc:`pair_modify ` shift option for the energy of the exp() and 1/r\^6 portion of the pair -interaction, assuming *flag\_buck* is *cut*\ . +interaction, assuming *flag_buck* is *cut*\ . -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift option for the energy of the Buckingham portion of the pair interaction. -This pair style supports the :doc:`pair\_modify ` table and +This pair style supports the :doc:`pair_modify ` table and table/disp options since they can tabulate the short-range portion of the long-range Coulombic and dispersion interactions. -This pair style write its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style write its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style supports the use of the *inner*\ , *middle*\ , and *outer* -keywords of the :doc:`run\_style respa ` command, meaning the +keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the :doc:`run\_style ` command for +the rRESPA hierarchy. See the :doc:`run_style ` command for details. - ---------- - Restrictions """""""""""" - This style is part of the KSPACE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Ismail: - - **(Ismail)** Ismail, Tsige, In 't Veld, Grest, Molecular Physics (accepted) (2007). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_charmm.rst b/doc/src/pair_charmm.rst index cd3e5dbc707e553bc24d0e24b9feac020daebc17..031e6e671797c1a55cb88dadc9066dfecc0a3dec 100644 --- a/doc/src/pair_charmm.rst +++ b/doc/src/pair_charmm.rst @@ -1,68 +1,66 @@ -.. index:: pair\_style lj/charmm/coul/charmm +.. index:: pair_style lj/charmm/coul/charmm -pair\_style lj/charmm/coul/charmm command +pair_style lj/charmm/coul/charmm command ========================================= -pair\_style lj/charmm/coul/charmm/intel command +pair_style lj/charmm/coul/charmm/intel command =============================================== -pair\_style lj/charmm/coul/charmm/kk command +pair_style lj/charmm/coul/charmm/kk command ============================================ -pair\_style lj/charmm/coul/charmm/omp command +pair_style lj/charmm/coul/charmm/omp command ============================================= -pair\_style lj/charmm/coul/charmm/implicit command +pair_style lj/charmm/coul/charmm/implicit command ================================================== -pair\_style lj/charmm/coul/charmm/implicit/kk command +pair_style lj/charmm/coul/charmm/implicit/kk command ===================================================== -pair\_style lj/charmm/coul/charmm/implicit/omp command +pair_style lj/charmm/coul/charmm/implicit/omp command ====================================================== -pair\_style lj/charmm/coul/long command +pair_style lj/charmm/coul/long command ======================================= -pair\_style lj/charmm/coul/long/gpu command +pair_style lj/charmm/coul/long/gpu command =========================================== -pair\_style lj/charmm/coul/long/intel command +pair_style lj/charmm/coul/long/intel command ============================================= -pair\_style lj/charmm/coul/long/kk command +pair_style lj/charmm/coul/long/kk command ========================================== -pair\_style lj/charmm/coul/long/opt command +pair_style lj/charmm/coul/long/opt command =========================================== -pair\_style lj/charmm/coul/long/omp command +pair_style lj/charmm/coul/long/omp command =========================================== -pair\_style lj/charmm/coul/msm command +pair_style lj/charmm/coul/msm command ====================================== -pair\_style lj/charmm/coul/msm/omp command +pair_style lj/charmm/coul/msm/omp command ========================================== -pair\_style lj/charmmfsw/coul/charmmfsh command +pair_style lj/charmmfsw/coul/charmmfsh command =============================================== -pair\_style lj/charmmfsw/coul/long command +pair_style lj/charmmfsw/coul/long command ========================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *lj/charmm/coul/charmm* or *lj/charmm/coul/charmm/implicit* or *lj/charmm/coul/long* or *lj/charmm/coul/msm* or *lj/charmmfsw/coul/charmmfsh* or *lj/charmmfsw/coul/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/charmm/coul/charmm* args = inner outer (inner2) (outer2) @@ -87,31 +85,30 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/charmm/coul/charmm 8.0 10.0 pair_style lj/charmm/coul/charmm 8.0 10.0 7.0 9.0 pair_style lj/charmmfsw/coul/charmmfsh 10.0 12.0 pair_style lj/charmmfsw/coul/charmmfsh 10.0 12.0 9.0 - pair_coeff \* \* 100.0 2.0 + pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 7.0 9.0 - pair_coeff \* \* 100.0 2.0 + pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 pair_style lj/charmm/coul/long 8.0 10.0 pair_style lj/charmm/coul/long 8.0 10.0 9.0 pair_style lj/charmmfsw/coul/long 8.0 10.0 pair_style lj/charmmfsw/coul/long 8.0 10.0 9.0 - pair_coeff \* \* 100.0 2.0 + pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 pair_style lj/charmm/coul/msm 8.0 10.0 pair_style lj/charmm/coul/msm 8.0 10.0 9.0 - pair_coeff \* \* 100.0 2.0 + pair_coeff * * 100.0 2.0 pair_coeff 1 1 100.0 2.0 150.0 3.5 Description @@ -145,7 +142,7 @@ artifacts. The newer *charmmfsw* or *charmmfsh* styles were released in March 2017. We recommend they be used instead of the older *charmm* - styles. This includes the newer :doc:`dihedral\_style charmmfsw ` command. Eventually code from the new + styles. This includes the newer :doc:`dihedral_style charmmfsw ` command. Eventually code from the new styles will propagate into the related pair styles (e.g. implicit, accelerator, free energy variants). @@ -160,8 +157,20 @@ artifacts. the CHARMM force field energies and forces, when using one of these two CHARMM pair styles. -.. image:: Eqs/pair_charmm.jpg - :align: center +.. math:: + + E = & LJ(r) \qquad \qquad \qquad r < r_{\rm in} \\ + = & S(r) * LJ(r) \qquad \qquad r_{\rm in} < r < r_{\rm out} \\ + = & 0 \qquad \qquad \qquad \qquad r > r_{\rm out} \\ + E = & C(r) \qquad \qquad \qquad r < r_{\rm in} \\ + = & S(r) * C(r) \qquad \qquad r_{\rm in} < r < r_{\rm out} \\ + = & 0 \qquad \qquad \qquad \qquad r > r_{\rm out} \\ + LJ(r) = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] \\ + C(r) = & \frac{C q_i q_j}{ \epsilon r} \\ + S(r) = & \frac{ \left[r_{\rm out}^2 - r^2\right]^2 + \left[r_{\rm out}^2 + 2r^2 - 3{r_{\rm in}^2}\right]} + { \left[r_{\rm out}^2 - {r_{\rm in}}^2\right]^3 } where S(r) is the energy switching function mentioned above for the *charmm* styles. See the :ref:`(Steinbach) ` paper for the @@ -171,7 +180,7 @@ used in the *charmmfsw* and *charmmfsh* styles. When using the *lj/charmm/coul/charmm styles*\ , both the LJ and Coulombic terms require an inner and outer cutoff. They can be the same for both formulas or different depending on whether 2 or 4 -arguments are used in the pair\_style command. For the +arguments are used in the pair_style command. For the *lj/charmmfsw/coul/charmmfsh* style, the LJ term requires both an inner and outer cutoff, while the Coulombic term requires only one cutoff. If the Coulombic cutoff is not specified (2 instead of 3 @@ -194,41 +203,38 @@ formulas as style *lj/charmm/coul/charmm* and style *lj/charmmfsw/coul/long* computes the same formulas as style *lj/charmmfsw/coul/charmmfsh*\ , except that an additional damping factor is applied to the Coulombic term, so it can be used in -conjunction with the :doc:`kspace\_style ` command and its +conjunction with the :doc:`kspace_style ` command and its *ewald* or *pppm* or *msm* option. Only one Coulombic cutoff is specified for these styles; if only 2 arguments are used in the -pair\_style command, then the outer LJ cutoff is used as the single +pair_style command, then the outer LJ cutoff is used as the single Coulombic cutoff. The Coulombic cutoff specified for these styles means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) -* epsilon\_14 (energy units) -* sigma\_14 (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) +* :math:`\epsilon_{14}` (energy units) +* :math:`\sigma_{14}` (distance units) -Note that sigma is defined in the LJ formula as the zero-crossing -distance for the potential, not as the energy minimum at 2\^(1/6) -sigma. +Note that :math:`\sigma` is defined in the LJ formula as the zero-crossing +distance for the potential, not as the energy minimum at :math:`2^{1/6} \sigma`. The latter 2 coefficients are optional. If they are specified, they are used in the LJ formula between 2 atoms of these types which are also first and fourth atoms in any dihedral. No cutoffs are specified because the CHARMM force field does not allow varying cutoffs for individual atom pairs; all pairs use the global cutoff(s) specified in -the pair\_style command. - +the pair_style command. ---------- - 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 @@ -247,53 +253,48 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -For atom type pairs I,J and I != J, the epsilon, sigma, epsilon\_14, -and sigma\_14 coefficients for all of the lj/charmm pair styles can be +For atom type pairs I,J and I != J, the epsilon, sigma, epsilon_14, +and sigma_14 coefficients for all of the lj/charmm pair styles can be mixed. The default mix value is *arithmetic* to coincide with the -usual settings for the CHARMM force field. See the "pair\_modify" +usual settings for the CHARMM force field. See the "pair_modify" command for details. None of the *lj/charmm* or *lj/charmmfsw* pair styles support the -:doc:`pair\_modify ` shift option, since the Lennard-Jones +:doc:`pair_modify ` shift option, since the Lennard-Jones portion of the pair interaction is smoothed to 0.0 at the cutoff. The *lj/charmm/coul/long* and *lj/charmmfsw/coul/long* styles support -the :doc:`pair\_modify ` table option since they can +the :doc:`pair_modify ` table option since they can tabulate the short-range portion of the long-range Coulombic interaction. None of the *lj/charmm* or *lj/charmmfsw* pair styles support the -:doc:`pair\_modify ` tail option for adding long-range tail +:doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure, since the Lennard-Jones portion of the pair interaction is smoothed to 0.0 at the cutoff. All of the *lj/charmm* and *lj/charmmfsw* pair styles write their -information to :doc:`binary restart files `, so pair\_style and -pair\_coeff commands do not need to be specified in an input script +information to :doc:`binary restart files `, so pair_style and +pair_coeff commands do not need to be specified in an input script that reads a restart file. The *lj/charmm/coul/long* and *lj/charmmfsw/coul/long* pair styles support the use of the *inner*\ , *middle*\ , and *outer* keywords of the -:doc:`run\_style respa ` command, meaning the pairwise forces +:doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only support the *pair* keyword of -run\_style respa. See the :doc:`run\_style ` command for +run_style respa. See the :doc:`run_style ` command for details. - ---------- - Restrictions """""""""""" - All the styles with *coul/charmm* or *coul/charmmfsh* styles are part of the MOLECULE package. All the styles with *coul/long* style are part of the KSPACE package. They are only enabled if LAMMPS was built @@ -303,34 +304,21 @@ page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Brooks1: - - **(Brooks)** Brooks, et al, J Comput Chem, 30, 1545 (2009). .. _pair-MacKerell: - - **(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). .. _Steinbach: - - **(Steinbach)** Steinbach, Brooks, J Comput Chem, 15, 667 (1994). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_class2.rst b/doc/src/pair_class2.rst index 985e6688f346aff6df7a17429862a60ad11391ff..8131799181047ecf180d6afc58097352db134f44 100644 --- a/doc/src/pair_class2.rst +++ b/doc/src/pair_class2.rst @@ -1,50 +1,48 @@ -.. index:: pair\_style lj/class2 +.. index:: pair_style lj/class2 -pair\_style lj/class2 command -============================= +pair_style lj/class2 command +============================ -pair\_style lj/class2/gpu command -================================= +pair_style lj/class2/gpu command +================================ + +pair_style lj/class2/kk command +=============================== -pair\_style lj/class2/kk command +pair_style lj/class2/omp command ================================ -pair\_style lj/class2/omp command -================================= +pair_style lj/class2/coul/cut command +===================================== -pair\_style lj/class2/coul/cut command -====================================== +pair_style lj/class2/coul/cut/kk command +======================================== -pair\_style lj/class2/coul/cut/kk command +pair_style lj/class2/coul/cut/omp command ========================================= -pair\_style lj/class2/coul/cut/omp command -========================================== +pair_style lj/class2/coul/long command +====================================== -pair\_style lj/class2/coul/long command -======================================= +pair_style lj/class2/coul/long/gpu command +========================================== -pair\_style lj/class2/coul/long/gpu command -=========================================== +pair_style lj/class2/coul/long/kk command +========================================= -pair\_style lj/class2/coul/long/kk command +pair_style lj/class2/coul/long/omp command ========================================== -pair\_style lj/class2/coul/long/omp command -=========================================== - Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *lj/class2* or *lj/class2/coul/cut* or *lj/class2/coul/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/class2* args = cutoff @@ -59,22 +57,21 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/class2 10.0 - pair_coeff \* \* 100.0 2.5 - pair_coeff 1 2\* 100.0 2.5 9.0 + pair_coeff * * 100.0 2.5 + pair_coeff 1 2* 100.0 2.5 9.0 pair_style lj/class2/coul/cut 10.0 pair_style lj/class2/coul/cut 10.0 8.0 - pair_coeff \* \* 100.0 3.0 + pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 pair_coeff 1 1 100.0 3.5 9.0 9.0 pair_style lj/class2/coul/long 10.0 pair_style lj/class2/coul/long 10.0 8.0 - pair_coeff \* \* 100.0 3.0 + pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 Description @@ -82,10 +79,13 @@ Description The *lj/class2* styles compute a 6/9 Lennard-Jones potential given by -.. image:: Eqs/pair_class2.jpg - :align: center +.. math:: + + E = \epsilon \left[ 2 \left(\frac{\sigma}{r}\right)^9 - + 3 \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c -Rc is the cutoff. +:math:`r_c` is the cutoff. The *lj/class2/coul/cut* and *lj/class2/coul/long* styles add a Coulombic term as described for the :doc:`lj/cut ` pair styles. @@ -93,13 +93,13 @@ Coulombic term as described for the :doc:`lj/cut ` pair styles. See :ref:`(Sun) ` for a description of the COMPASS class2 force field. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * cutoff1 (distance units) * cutoff2 (distance units) @@ -114,32 +114,27 @@ Coulombic terms. For *lj/class2/coul/long* only the class 2 cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff -specified in the pair\_style command. - +specified in the pair_style command. ---------- - -If the pair\_coeff command is not used to define coefficients for a -particular I != J type pair, the mixing rule for epsilon and sigma for -all class2 potentials is to use the *sixthpower* formulas documented -by the :doc:`pair\_modify ` command. The :doc:`pair\_modify mix ` setting is thus ignored for class2 potentials -for epsilon and sigma. However it is still followed for mixing the -cutoff distance. - +If the pair_coeff command is not used to define coefficients for a +particular I != J type pair, the mixing rule for :math:`\epsilon` and +:math:`\sigma` for all class2 potentials is to use the *sixthpower* +formulas documented by the :doc:`pair_modify ` command. +The :doc:`pair_modify mix ` setting is thus ignored for +class2 potentials for epsilon and sigma. However it is still followed +for mixing the cutoff distance. ---------- - A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in free energy calculations, is part of the USER-FEP package and is documented with -the :doc:`pair\_fep\_soft ` styles. The version with soft core is +the :doc:`pair_style */soft ` styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - ---------- - 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 @@ -158,66 +153,54 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/class2 pair styles can be mixed. Epsilon and sigma are always mixed with the value *sixthpower*\ . The -cutoff distance is mixed by whatever option is set by the pair\_modify -command (default = geometric). See the "pair\_modify" command for +cutoff distance is mixed by whatever option is set by the pair_modify +command (default = geometric). See the "pair_modify" command for details. All of the lj/class2 pair styles support the -:doc:`pair\_modify ` shift option for the energy of the +:doc:`pair_modify ` shift option for the energy of the Lennard-Jones portion of the pair interaction. The *lj/class2/coul/long* pair style does not support the -:doc:`pair\_modify ` table option since a tabulation +:doc:`pair_modify ` table option since a tabulation capability has not yet been added to this potential. All of the lj/class2 pair styles support the -:doc:`pair\_modify ` tail option for adding a long-range +:doc:`pair_modify ` tail option for adding a long-range tail correction to the energy and pressure of the Lennard-Jones portion of the pair interaction. -All of the lj/class2 pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do +All of the lj/class2 pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Only the *lj/class2* and *lj/class2/coul/long* pair styles support the use of the -*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run\_style respa ` command, meaning the pairwise forces can be +*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. -The other styles only support the *pair* keyword of run\_style respa. -See the :doc:`run\_style ` command for details. +The other styles only support the *pair* keyword of run_style respa. +See the :doc:`run_style ` command for details. Restrictions """""""""""" - These styles are part of the CLASS2 package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_fep\_soft ` +:doc:`pair_coeff `, :doc:`pair_style */soft ` **Default:** none - ---------- - .. _pair-Sun: - - **(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_coeff.rst b/doc/src/pair_coeff.rst index 424b8c3242183bf27e3d9d0578113bbd1aedbdc6..1886ce111838d08704100bc61c48a242b7e5eb16 100644 --- a/doc/src/pair_coeff.rst +++ b/doc/src/pair_coeff.rst @@ -1,13 +1,12 @@ -.. index:: pair\_coeff +.. index:: pair_coeff -pair\_coeff command -=================== +pair_coeff command +================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff I J args @@ -17,15 +16,14 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 2 1.0 1.0 2.5 - pair_coeff 2 \* 1.0 1.0 - pair_coeff 3\* 1\*2 1.0 1.0 2.5 - pair_coeff \* \* 1.0 1.0 - pair_coeff \* \* nialhjea 1 1 2 - pair_coeff \* 3 morse.table ENTRY1 + pair_coeff 2 * 1.0 1.0 + pair_coeff 3* 1*2 1.0 1.0 2.5 + pair_coeff * * 1.0 1.0 + pair_coeff * * nialhjea 1 1 2 + pair_coeff * 3 morse.table ENTRY1 pair_coeff 1 2 lj/cut 1.0 1.0 2.5 (for pair_style hybrid) Description @@ -34,7 +32,7 @@ Description Specify the pairwise force field coefficients for one or more pairs of atom types. The number and meaning of the coefficients depends on the pair style. Pair coefficients can also be set in the data file read -by the :doc:`read\_data ` command or in a restart file. +by the :doc:`read_data ` command or in a restart file. I and J can be specified in one of two ways. Explicit numeric values can be used for each, as in the 1st example above. I <= J is @@ -51,18 +49,17 @@ types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). Note that only type pairs with I <= J are considered; if asterisks imply type pairs where J < I, they are ignored. -Note that a pair\_coeff command can override a previous setting for the +Note that a pair_coeff command can override a previous setting for the same I,J pair. For example, these commands set the coeffs for all I,J pairs, then overwrite the coeffs for just the I,J = 2,3 pair: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* 1.0 1.0 2.5 + pair_coeff * * 1.0 1.0 2.5 pair_coeff 2 3 2.0 1.0 1.12 A line in a data file that specifies pair coefficients uses the exact -same format as the arguments of the pair\_coeff command in an input +same format as the arguments of the pair_coeff command in an input script, with the exception of the I,J type arguments. In each line of the "Pair Coeffs" section of a data file, only a single type I is specified, which sets the coefficients for type I interacting with @@ -72,34 +69,33 @@ should also not be used as part of the I argument. Thus in a data file, the line corresponding to the 1st example above would be listed as - .. parsed-literal:: 2 1.0 1.0 2.5 For many potentials, if coefficients for type pairs with I != J are -not set explicitly by a pair\_coeff command, the values are inferred +not set explicitly by a pair_coeff command, the values are inferred from the I,I and J,J settings by mixing rules; see the -:doc:`pair\_modify ` command for a discussion. Details on +:doc:`pair_modify ` command for a discussion. Details on this option as it pertains to individual potentials are described on the doc page for the potential. Many pair styles, typically for many-body potentials, use tabulated -potential files as input, when specifying the pair\_coeff command. +potential files as input, when specifying the pair_coeff command. Potential files provided with LAMMPS are in the potentials directory of the distribution. For some potentials, such as EAM, other archives of suitable files can be found on the Web. They can be used with LAMMPS so long as they are in the format LAMMPS expects, as discussed on the individual doc pages. -When a pair\_coeff command using a potential file is specified, LAMMPS +When a pair_coeff command using a potential file is specified, LAMMPS looks for the potential file in 2 places. First it looks in the location specified. E.g. if the file is specified as "niu3.eam", it is looked for in the current working directory. If it is specified as "../potentials/niu3.eam", then it is looked for in the potentials directory, assuming it is a sister directory of the current working directory. If the file is not found, it is then looked for in the -directory specified by the LAMMPS\_POTENTIALS environment variable. +directory specified by the LAMMPS_POTENTIALS environment variable. Thus if this is set to the potentials directory in the LAMMPS distribution, then you can use those files from anywhere on your system, without copying them into your working directory. Environment variables are @@ -108,58 +104,45 @@ for csh, tcsh: - .. parsed-literal:: % setenv LAMMPS_POTENTIALS /path/to/lammps/potentials bash: - .. parsed-literal:: % export LAMMPS_POTENTIALS=/path/to/lammps/potentials Windows: - .. parsed-literal:: % set LAMMPS_POTENTIALS="C:\\Path to LAMMPS\\Potentials" - ---------- - The alphabetic list of pair styles defined in LAMMPS is given on the -:doc:`pair\_style ` doc page. They are also listed in more +:doc:`pair_style ` doc page. They are also listed in more compact form on the :doc:`Commands pair ` doc page. Click on the style to display the formula it computes and its -coefficients as specified by the associated pair\_coeff command. - +coefficients as specified by the associated pair_coeff command. ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a -:doc:`read\_data `, :doc:`read\_restart `, or -:doc:`create\_box ` command. +:doc:`read_data `, :doc:`read_restart `, or +:doc:`create_box ` command. Related commands """""""""""""""" -:doc:`pair\_style `, :doc:`pair\_modify `, -:doc:`read\_data `, :doc:`read\_restart `, -:doc:`pair\_write ` +:doc:`pair_style `, :doc:`pair_modify `, +:doc:`read_data `, :doc:`read_restart `, +:doc:`pair_write ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_colloid.rst b/doc/src/pair_colloid.rst index fb9c92989fc66cbd34abc0b7693d7e2dfe2e9702..d9f086059d584381d9f2b042906c09ec33e7ad46 100644 --- a/doc/src/pair_colloid.rst +++ b/doc/src/pair_colloid.rst @@ -1,19 +1,18 @@ -.. index:: pair\_style colloid +.. index:: pair_style colloid -pair\_style colloid command -=========================== +pair_style colloid command +========================== -pair\_style colloid/gpu command -=============================== +pair_style colloid/gpu command +============================== -pair\_style colloid/omp command -=============================== +pair_style colloid/omp command +============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style colloid cutoff @@ -22,11 +21,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style colloid 10.0 - pair_coeff \* \* 25 1.0 10.0 10.0 + pair_coeff * * 25 1.0 10.0 10.0 pair_coeff 1 1 144 1.0 0.0 0.0 3.0 pair_coeff 1 2 75.398 1.0 0.0 10.0 9.0 pair_coeff 2 2 39.478 1.0 10.0 10.0 25.0 @@ -41,46 +39,73 @@ Lennard-Jones particle of size sigma. The colloid-colloid interaction energy is given by -.. image:: Eqs/pair_colloid_cc.jpg - :align: center - -where A\_cc is the Hamaker constant, a1 and a2 are the radii of the two -colloidal particles, and Rc is the cutoff. This equation results from -describing each colloidal particle as an integrated collection of -Lennard-Jones particles of size sigma and is derived in -:ref:`(Everaers) `. +.. math:: + + U_A = & - \frac{A_{cc}}{6} \left[ + \frac{2 a_1 a_2}{r^2-\left(a_1+a_2\right)^2} + + \frac{2 a_1 a_2}{r^2 - \left(a_1 - a_2\right)^2} + + \mathrm{ln} + \left( + \frac{r^2-\left(a_1+a_2\right)^2}{r^2-\left(a_1-a_2\right)^2} + \right) + \right] \\ + & \\ + U_R = & \frac{A_{cc}}{37800} \frac{\sigma^6}{r} + \biggl[ \frac{r^2-7r\left(a_1+a_2\right)+6\left(a_1^2+7a_1a_2+a_2^2\right)} + {\left(r-a_1-a_2\right)^7} \\ + &\qquad +\frac{r^2+7r\left(a_1+a_2\right)+6\left(a_1^2+7a_1a_2+a_2^2\right)} + {\left(r+a_1+a_2\right)^7} \\ + &\qquad -\frac{r^2+7r\left(a_1-a_2\right)+6\left(a_1^2-7a_1a_2+a_2^2\right)} + {\left(r+a_1-a_2\right)^7} \\ + &\qquad \left. -\frac{r^2-7r\left(a_1-a_2\right)+6\left(a_1^2-7a_1a_2+a_2^2\right)} + {\left(r-a_1+a_2\right)^7} + \right] \\ + & \\ + U = & U_A + U_R, \qquad r < r_c + +where :math:`A_{cc}` is the Hamaker constant, :math:`a_1` and :math:`a_2` are the +radii of the two colloidal particles, and :math:`r_c` is the cutoff. This +equation results from describing each colloidal particle as an +integrated collection of Lennard-Jones particles of size sigma and is +derived in :ref:`(Everaers) `. The colloid-solvent interaction energy is given by -.. image:: Eqs/pair_colloid_cs.jpg - :align: center +.. math:: -where A\_cs is the Hamaker constant, a is the radius of the colloidal -particle, and Rc is the cutoff. This formula is derived from the + U = \frac{2 ~ a^3 ~ \sigma^3 ~ A_{cs}}{9 \left( a^2 - r^2 \right)^3} + \left[ 1 - \frac{\left(5 ~ a^6+45~a^4~r^2+63~a^2~r^4+15~r^6\right) \sigma^6} + {15 \left(a-r\right)^6 \left( a+r \right)^6} \right], \quad r < r_c + +where :math:A_{cs}` is the Hamaker constant, *a* is the radius of the colloidal +particle, and :math:`r_c` is the cutoff. This formula is derived from the colloid-colloid interaction, letting one of the particle sizes go to zero. The solvent-solvent interaction energy is given by the usual Lennard-Jones formula -.. image:: Eqs/pair_colloid_ss.jpg - :align: center +.. math:: + + U = \frac{A_{ss}}{36} \left[ \left( \frac{\sigma}{r} + \right)^{12} - \left( \frac{ \sigma}{r} \right)^6 \right], \quad + r < r_c -with A\_ss set appropriately, which results from letting both particle -sizes go to zero. +with :math:`A_{ss}` set appropriately, which results from letting both +particle sizes go to zero. -When used in combination with :doc:`pair\_style yukawa/colloid `, the two terms become the so-called -DLVO potential, which combines electrostatic repulsion and van der -Waals attraction. +When used in combination with :doc:`pair_style yukawa/colloid +`, the two terms become the so-called DLVO potential, +which combines electrostatic repulsion and van der Waals attraction. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * A (energy units) -* sigma (distance units) +* :math:`\sigma` (distance units) * d1 (distance units) * d2 (distance units) * cutoff (distance units) @@ -88,19 +113,19 @@ commands, or by mixing as described below: A is the Hamaker energy prefactor and should typically be set as follows: -* A\_cc = colloid/colloid = 4 pi\^2 = 39.5 -* A\_cs = colloid/solvent = sqrt(A\_cc\*A\_ss) -* A\_ss = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4) +* :math:`A_{cc}` = colloid/colloid = :math:`4 \pi^2 = 39.5` +* :math:`A_{cs}` = colloid/solvent = :math:`\sqrt{A_{cc} A_{ss}}` +* :math:`A_{ss}` = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4) -Sigma is the size of the solvent particle or the constituent particles -integrated over in the colloidal particle and should typically be set -as follows: +:math:`\sigma` is the size of the solvent particle or the constituent +particles integrated over in the colloidal particle and should typically +be set as follows: -* Sigma\_cc = colloid/colloid = 1.0 -* Sigma\_cs = colloid/solvent = arithmetic mixing between colloid sigma and solvent sigma -* Sigma\_ss = solvent/solvent = 1.0 or whatever size the solvent particle is +* :math:`\sigma_{cc}` = colloid/colloid = 1.0 +* :math:`\sigma_{cs}` = colloid/solvent = arithmetic mixing between colloid :math:`\sigma` and solvent :math:`\sigma` +* :math:`\sigma_{ss}` = solvent/solvent = 1.0 or whatever size the solvent particle is -Thus typically Sigma\_cs = 1.0, unless the solvent particle's size != +Thus typically :math:`\sigma_{cs} = 1.0`, unless the solvent particle's size != 1.0. D1 and d2 are particle diameters, so that d1 = 2\*a1 and d2 = 2\*a2 in @@ -108,16 +133,16 @@ the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0 and d2 > 0, then the pair interacts via the colloid-colloid formula above. If d1 = 0 and d2 = 0, then the pair interacts via the solvent-solvent formula. I.e. a d value of 0 is a Lennard-Jones -particle of size sigma. If either d1 = 0 or d2 = 0 and the other is +particle of size :math:`\sigma`. If either d1 = 0 or d2 = 0 and the other is larger, then the pair interacts via the colloid-solvent formula. Note that the diameter of a particular particle type may appear in -multiple pair\_coeff commands, as it interacts with other particle +multiple pair_coeff commands, as it interacts with other particle types. You should insure the particle diameter is specified consistently each time it appears. The last coefficient is optional. If not specified, the global cutoff -specified in the pair\_style command is used. However, you typically +specified in the pair_style command is used. However, you typically want different cutoffs for interactions between different particle sizes. E.g. if colloidal particles of diameter 10 are used with solvent particles of diameter 1, then a solvent-solvent cutoff of 2.5 @@ -128,16 +153,14 @@ colloid-solvent cutoff in this case. .. note:: - When using pair\_style colloid for a mixture with 2 (or more) + When using pair_style colloid for a mixture with 2 (or more) widely different particles sizes (e.g. sigma=10 colloids in a background sigma=1 LJ fluid), you will likely want to use these commands for efficiency: :doc:`neighbor multi ` and - :doc:`comm\_modify multi `. - + :doc:`comm_modify multi `. ---------- - 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 @@ -156,75 +179,61 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the A, sigma, d1, and d2 coefficients and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. D1 and d2 are distance values and are mixed like sigma. The default mix value is -*geometric*\ . See the "pair\_modify" command for details. +*geometric*\ . See the "pair_modify" command for details. -This pair style supports the :doc:`pair\_modify ` shift +This pair style supports the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the COLLOID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Normally, this pair style should be used with finite-size particles -which have a diameter, e.g. see the :doc:`atom\_style sphere ` command. However, this is not a requirement, -since the only definition of particle size is via the pair\_coeff +which have a diameter, e.g. see the :doc:`atom_style sphere ` command. However, this is not a requirement, +since the only definition of particle size is via the pair_coeff parameters for each type. In other words, the physical radius of the particle is ignored. Thus you should insure that the d1,d2 parameters you specify are consistent with the physical size of the particles of that type. Per-particle polydispersity is not yet supported by this pair style; -only per-type polydispersity is enabled via the pair\_coeff parameters. +only per-type polydispersity is enabled via the pair_coeff parameters. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Everaers1: - - **(Everaers)** Everaers, Ejtehadi, Phys Rev E, 67, 041710 (2003). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_comb.rst b/doc/src/pair_comb.rst index ece536a01125c3a9a2da74315f03447423f5737b..247f539ab53e1f3129963c044c82ad9545ae1efe 100644 --- a/doc/src/pair_comb.rst +++ b/doc/src/pair_comb.rst @@ -1,40 +1,38 @@ -.. index:: pair\_style comb +.. index:: pair_style comb -pair\_style comb command -======================== +pair_style comb command +======================= -pair\_style comb/omp command -============================ +pair_style comb/omp command +=========================== -pair\_style comb3 command -========================= +pair_style comb3 command +======================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style comb pair_style comb3 keyword +.. parsed-literal:: + keyword = *polar* *polar* value = *polar_on* or *polar_off* = whether or not to include atomic polarization - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style comb - pair_coeff \* \* ../potentials/ffield.comb Si - pair_coeff \* \* ../potentials/ffield.comb Hf Si O + pair_coeff * * ../potentials/ffield.comb Si + pair_coeff * * ../potentials/ffield.comb Hf Si O pair_style comb3 polar_off - pair_coeff \* \* ../potentials/ffield.comb3 O Cu N C O + pair_coeff * * ../potentials/ffield.comb3 O Cu N C O Description """"""""""" @@ -42,22 +40,22 @@ Description Style *comb* computes the second-generation variable charge COMB (Charge-Optimized Many-Body) potential. Style *comb3* computes the third-generation COMB potential. These COMB potentials are described -in :ref:`(COMB) ` and :ref:`(COMB3) `. Briefly, the total energy -*ET* of a system of atoms is given by - -.. image:: Eqs/pair_comb1.jpg - :align: center - -where *Eiself* is the self-energy of atom *i* -(including atomic ionization energies and electron affinities), -*Eijshort* is the bond-order potential between -atoms *i* and *j*\ , -*EijCoul* is the Coulomb interactions, -*Epolar* is the polarization term for organic systems -(style *comb3* only), -*EvdW* is the van der Waals energy (style *comb3* only), -*Ebarr* is a charge barrier function, and -*Ecorr* are angular correction terms. +in :ref:`(COMB) ` and :ref:`(COMB3) `. Briefly, the +total energy :math:`E_T` of a system of atoms is given by + +.. math:: + + E_T = & \sum_i [ E_i^{self} (q_i) + \sum_{j>i} [E_{ij}^{short} (r_{ij}, q_i, q_j) + E_{ij}^{Coul} (r_{ij}, q_i, q_j)] + \\ + & E^{polar} (q_i, r_{ij}) + E^{vdW} (r_{ij}) + E^{barr} (q_i) + E^{corr} (r_{ij}, \theta_{jik})] + +where :math:`E_i^{self}` is the self-energy of atom *i* (including +atomic ionization energies and electron affinities), +:math:`E_{ij}^{short}` is the bond-order potential between atoms *i* and +*j*\ , :math:`E_{ij}^{Coul}` is the Coulomb interactions, +:math:`E^{polar}` is the polarization term for organic systems (style +*comb3* only), :math:`E^{vdW}` is the van der Waals energy (style +*comb3* only), :math:`E^{barr}` is a charge barrier function, and +:math:`E^{corr}` are angular correction terms. The COMB potentials (styles *comb* and *comb3*\ ) are variable charge potentials. The equilibrium charge on each atom is calculated by the @@ -69,21 +67,20 @@ that determine how often charge equilibration is performed, its convergence criterion, and which atoms are included in the calculation. -Only a single pair\_coeff command is used with the *comb* and *comb3* +Only a single pair_coeff command is used with the *comb* and *comb3* styles which specifies the COMB potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the potential file in the pair\_coeff +N additional arguments after the potential file in the pair_coeff command, where N is the number of LAMMPS atom types. -For example, if your LAMMPS simulation of a Si/SiO2/ -HfO2 interface has 4 atom types, and you want the 1st and +For example, if your LAMMPS simulation of a Si/SiO2/ +HfO2 interface has 4 atom types, and you want the 1st and last to be Si, the 2nd to be Hf, and the 3rd to be O, and you would -use the following pair\_coeff command: - +use the following pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* ../potentials/ffield.comb Si Hf O Si + pair_coeff * * ../potentials/ffield.comb Si Hf O Si The first two arguments must be \* \* so as to span all LAMMPS atom types. The first and last Si arguments map LAMMPS atom types 1 and 4 @@ -101,32 +98,51 @@ Cu, Hf, Ti, O, their oxides and Zr, Zn and U metals. For style *comb3*\ , the potential file *ffield.comb3* contains all currently-available 3rd generation COMB parameterizations: O, Cu, N, C, H, Ti, Zn and Zr. The status of the optimization of the compounds, for -example Cu2O, TiN and hydrocarbons, are given in the +example Cu2O, TiN and hydrocarbons, are given in the following table: -.. image:: Eqs/pair_comb2.jpg - :align: center ++----+----+----+----+----+----+----+----+----+ +| | O | Cu | N | C | H | Ti | Zn | Zr | ++----+----+----+----+----+----+----+----+----+ +| O | F | F | F | F | F | F | F | F | ++----+----+----+----+----+----+----+----+----+ +| Cu | F | F | P | F | F | P | F | P | ++----+----+----+----+----+----+----+----+----+ +| N | F | P | F | M | F | P | P | P | ++----+----+----+----+----+----+----+----+----+ +| C | F | F | M | F | F | M | M | M | ++----+----+----+----+----+----+----+----+----+ +| H | F | F | F | F | F | M | M | F | ++----+----+----+----+----+----+----+----+----+ +| Ti | F | P | P | M | M | F | P | P | ++----+----+----+----+----+----+----+----+----+ +| Zn | F | F | P | M | M | P | F | P | ++----+----+----+----+----+----+----+----+----+ +| Zr | F | P | P | M | F | P | P | F | ++----+----+----+----+----+----+----+----+----+ + +* F = Fully optimized +* M = Only optimized for dimer molecule +* P = in progress, but have it from mixing rule For style *comb3*\ , in addition to ffield.comb3, a special parameter file, *lib.comb3*\ , that is exclusively used for C/O/H systems, will be automatically loaded if carbon atom is detected in LAMMPS input structure. This file must be in your working directory or in the -directory pointed to by the environment variable LAMMPS\_POTENTIALS, as -described on the :doc:`pair\_coeff ` command doc page. +directory pointed to by the environment variable LAMMPS_POTENTIALS, as +described on the :doc:`pair_coeff ` command doc page. Keyword *polar* indicates whether the force field includes the atomic polarization. Since the equilibration of the polarization -has not yet been implemented, it can only set polar\_off at present. +has not yet been implemented, it can only set polar_off at present. .. note:: You can not use potential file *ffield.comb* with style *comb3*\ , nor file *ffield.comb3* with style *comb*\ . - ---------- - 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 @@ -145,35 +161,30 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above from values in the potential file. -These pair styles does not support the :doc:`pair\_modify ` +These pair styles does not support the :doc:`pair_modify ` shift, table, and tail options. These pair styles do not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style, pair\_coeff, and :doc:`fix qeq/comb ` commands in an input script that reads a +need to re-specify the pair_style, pair_coeff, and :doc:`fix qeq/comb ` commands in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These pair styles are part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -185,43 +196,30 @@ with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. You can use the COMB potential with any LAMMPS units, but you would need to create your own COMB potential file with coefficients listed in the appropriate units if your simulation -doesn't use "metal" units. +does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_style `, :doc:`pair\_coeff `, +:doc:`pair_style `, :doc:`pair_coeff `, :doc:`fix qeq/comb ` **Default:** none - ---------- - .. _COMB: - - **(COMB)** T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, and S. R. Phillpot, Phys. Rev. B 81, 125328 (2010) .. _COMB3: - - **(COMB3)** T. Liang, T.-R. Shan, Y.-T. Cheng, B. D. Devine, M. Noordhoek, Y. Li, Z. Lu, S. R. Phillpot, and S. B. Sinnott, Mat. Sci. & Eng: R 74, 255-279 (2013). .. _Rick2: - - **(Rick)** S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 6141 (1994). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_cosine_squared.rst b/doc/src/pair_cosine_squared.rst index f08ddc38e04d6656044891c3d8a71c0be8acb2da..a8cf206135f1f41bfa67cb17ce87a5c4a490e8db 100644 --- a/doc/src/pair_cosine_squared.rst +++ b/doc/src/pair_cosine_squared.rst @@ -1,20 +1,18 @@ -.. index:: pair\_style cosine/squared +.. index:: pair_style cosine/squared -pair\_style cosine/squared command -================================== +pair_style cosine/squared command +================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style cosine/squared cutoff * cutoff = global cutoff for cosine-squared interactions (distance units) - -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff i j eps sigma pair_coeff i j eps sigma cutoff @@ -30,11 +28,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style cosine/squared 3.0 - pair_coeff \* \* 1.0 1.3 + pair_coeff * * 1.0 1.3 pair_coeff 1 3 1.0 1.3 2.0 pair_coeff 1 3 1.0 1.3 wca pair_coeff 1 3 1.0 1.3 2.0 wca @@ -44,14 +41,20 @@ Description Style *cosine/squared* computes a potential of the form -.. image:: Eqs/pair_cosine_squared.jpg - :align: center +.. math:: + + E = + \begin{cases} + -\epsilon& \quad r < \sigma \\ + -\epsilon\cos\left(\frac{\pi\left(r - \sigma\right)}{2\left(r_c - \sigma\right)}\right)^2&\quad \sigma \leq r < r_c \\ + 0& \quad r \geq r_c + \end{cases} -between two point particles, where (sigma, -epsilon) is the location of -the (rightmost) minimum of the potential, as explained in the syntax -section above. +between two point particles, where (:math:`\sigma, -\epsilon`) is the +location of the (rightmost) minimum of the potential, as explained in +the syntax section above. -This potential was first used in (Cooke)\_#CKD for a coarse-grained lipid +This potential was first used in (Cooke)_#CKD for a coarse-grained lipid membrane model. It is generally very useful as a non-specific interaction potential because it is fully adjustable in depth and width while joining the minimum at (sigma, -epsilon) and zero at (cutoff, 0) @@ -60,14 +63,17 @@ energy calculations etc. This evidently requires *cutoff* to be larger than *sigma*\ . If the *wca* option is used then a Weeks-Chandler-Andersen potential -(Weeks)\_#WCA is added to the above specified cosine-squared potential, +(Weeks)_#WCA is added to the above specified cosine-squared potential, specifically the following: -.. image:: Eqs/pair_cosine_squared_wca.jpg - :align: center +.. math:: + + E = \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + 2\left(\frac{\sigma}{r}\right)^6 + 1\right] + , \quad r < \sigma -In this case, and this case only, the *sigma* parameter can be equal to -*cutoff* (sigma = cutoff) which will result in ONLY the WCA potential +In this case, and this case only, the :math:`\sigma` parameter can be equal to +*cutoff* (:math:`\sigma =` cutoff) which will result in ONLY the WCA potential being used (and print a warning), so the minimum will be attained at (sigma, 0). This is a convenience feature that enables a purely repulsive potential to be used without a need to define an additional @@ -80,55 +86,41 @@ in the graphs below: .. image:: JPG/pair_cosine_squared_graphs.jpg :align: center - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : Mixing is not supported for this style. The *shift*\ , *table* and *tail* options are not relevant for this style. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *cosine/squared* style is part of the "USER-MISC" package. It is only enabled if LAMMPS is build with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, -:doc:`pair\_style lj/cut ` +:doc:`pair_coeff `, +:doc:`pair_style lj/cut ` **Default:** none .. _CKD: - - **(Cooke)** "Cooke, Kremer and Deserno, Phys. Rev. E, 72, 011506 (2005)" .. _WCA: - - **(Weeks)** "Weeks, Chandler and Andersen, J. Chem. Phys., 54, 5237 (1971)" - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_coul.rst b/doc/src/pair_coul.rst index fda9ae40696829c1459563d845bfbdd15920f98a..8f77a622d6686867eb78ec0b58812438a96dbf52 100644 --- a/doc/src/pair_coul.rst +++ b/doc/src/pair_coul.rst @@ -1,88 +1,87 @@ -.. index:: pair\_style coul/cut +.. index:: pair_style coul/cut -pair\_style coul/cut command -============================ - -pair\_style coul/cut/gpu command -================================ +pair_style coul/cut command +=========================== -pair\_style coul/cut/kk command +pair_style coul/cut/gpu command =============================== -pair\_style coul/cut/omp command -================================ - -pair\_style coul/debye command +pair_style coul/cut/kk command ============================== -pair\_style coul/debye/gpu command -================================== +pair_style coul/cut/omp command +=============================== + +pair_style coul/debye command +============================= -pair\_style coul/debye/kk command +pair_style coul/debye/gpu command ================================= -pair\_style coul/debye/omp command -================================== +pair_style coul/debye/kk command +================================ -pair\_style coul/dsf command -============================ +pair_style coul/debye/omp command +================================= -pair\_style coul/dsf/gpu command -================================ +pair_style coul/dsf command +=========================== -pair\_style coul/dsf/kk command +pair_style coul/dsf/gpu command =============================== -pair\_style coul/dsf/omp command -================================ +pair_style coul/dsf/kk command +============================== -pair\_style coul/long command -============================= +pair_style coul/dsf/omp command +=============================== -pair\_style coul/long/omp command -================================= +pair_style coul/long command +============================ -pair\_style coul/long/gpu command -================================= +pair_style coul/long/omp command +================================ -pair\_style coul/long/kk command +pair_style coul/long/gpu command ================================ -pair\_style coul/msm command -============================ +pair_style coul/long/kk command +=============================== -pair\_style coul/msm/omp command -================================ +pair_style coul/msm command +=========================== -pair\_style coul/streitz command -================================ +pair_style coul/msm/omp command +=============================== -pair\_style coul/wolf command -============================= +pair_style coul/streitz command +=============================== + +pair_style coul/wolf command +============================ -pair\_style coul/wolf/kk command +pair_style coul/wolf/kk command +=============================== + +pair_style coul/wolf/omp command ================================ -pair\_style coul/wolf/omp command -================================= +pair_style tip4p/cut command +============================ -pair\_style tip4p/cut command +pair_style tip4p/long command ============================= -pair\_style tip4p/long command -============================== +pair_style tip4p/cut/omp command +================================ -pair\_style tip4p/cut/omp command +pair_style tip4p/long/omp command ================================= -pair\_style tip4p/long/omp command -================================== - Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style coul/cut cutoff pair_style coul/debye kappa cutoff @@ -101,38 +100,37 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style coul/cut 2.5 - pair_coeff \* \* + pair_coeff * * pair_coeff 2 2 3.5 pair_style coul/debye 1.4 3.0 - pair_coeff \* \* + pair_coeff * * pair_coeff 2 2 3.5 pair_style coul/dsf 0.05 10.0 - pair_coeff \* \* + pair_coeff * * pair_style coul/long 10.0 - pair_coeff \* \* + pair_coeff * * pair_style coul/msm 10.0 - pair_coeff \* \* + pair_coeff * * pair_style coul/wolf 0.2 9.0 - pair_coeff \* \* + pair_coeff * * pair_style coul/streitz 12.0 ewald pair_style coul/streitz 12.0 wolf 0.30 - pair_coeff \* \* AlO.streitz Al O + pair_coeff * * AlO.streitz Al O pair_style tip4p/cut 1 2 7 8 0.15 12.0 - pair_coeff \* \* + pair_coeff * * pair_style tip4p/long 1 2 7 8 0.15 10.0 - pair_coeff \* \* + pair_coeff * * Description """"""""""" @@ -140,86 +138,85 @@ Description The *coul/cut* style computes the standard Coulombic interaction potential given by -.. image:: Eqs/pair_coulomb.jpg - :align: center +.. math:: + + E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c where C is an energy-conversion constant, Qi and Qj are the charges on -the 2 atoms, and epsilon is the dielectric constant which can be set -by the :doc:`dielectric ` command. The cutoff Rc truncates +the 2 atoms, and :math:`\epsilon` is the dielectric constant which can be set +by the :doc:`dielectric ` command. The cutoff :math:`r_c` truncates the interaction distance. - ---------- - Style *coul/debye* adds an additional exp() damping factor to the Coulombic term, given by -.. image:: Eqs/pair_debye.jpg - :align: center +.. math:: -where kappa is the Debye length. This potential is another way to -mimic the screening effect of a polar solvent. + E = \frac{C q_i q_j}{\epsilon r} \exp(- \kappa r) \qquad r < r_c +where :math:`\kappa` is the Debye length. This potential is another way to +mimic the screening effect of a polar solvent. ---------- - Style *coul/dsf* computes Coulombic interactions via the damped shifted force model described in :ref:`Fennell `, given by: -.. image:: Eqs/pair_coul_dsf.jpg - :align: center +.. math:: + + E = q_iq_j \left[ \frac{\mbox{erfc} (\alpha r)}{r} - \frac{\mbox{erfc} (\alpha r_c)}{r_c} + + \left( \frac{\mbox{erfc} (\alpha r_c)}{r_c^2} + \frac{2\alpha}{\sqrt{\pi}}\frac{\exp (-\alpha^2 r^2_c)}{r_c} \right)(r-r_c) \right] \qquad r < r_c -where *alpha* is the damping parameter and erfc() is the +where :math:`\alpha` is the damping parameter and erfc() is the complementary error-function. The potential corrects issues in the Wolf model (described below) to provide consistent forces and energies (the Wolf potential is not differentiable at the cutoff) and smooth decay to zero. - ---------- - Style *coul/wolf* computes Coulombic interactions via the Wolf summation method, described in :ref:`Wolf `, given by: -.. image:: Eqs/pair_coul_wolf.jpg - :align: center +.. math:: + + E_i = \frac{1}{2} \sum_{j \neq i} + \frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} + + \frac{1}{2} \sum_{j \neq i} + \frac{q_i q_j {\rm erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c -where *alpha* is the damping parameter, and erc() and erfc() are +where :math:`\alpha` is the damping parameter, and erc() and erfc() are error-function and complementary error-function terms. This potential is essentially a short-range, spherically-truncated, charge-neutralized, shifted, pairwise *1/r* summation. With a manipulation of adding and subtracting a self term (for i = j) to the first and second term on the right-hand-side, respectively, and a -small enough *alpha* damping parameter, the second term shrinks and +small enough :math:`\alpha` damping parameter, the second term shrinks and the potential becomes a rapidly-converging real-space summation. With -a long enough cutoff and small enough alpha parameter, the energy and +a long enough cutoff and small enough :math:`\alpha` parameter, the energy and forces calculated by the Wolf summation method approach those of the Ewald sum. So it is a means of getting effective long-range interactions with a short-range potential. - ---------- - Style *coul/streitz* is the Coulomb pair interaction defined as part of the Streitz-Mintmire potential, as described in :ref:`this paper `, in which charge distribution about an atom is modeled as a Slater 1\ *s* orbital. More details can be found in the referenced paper. To fully reproduce the published Streitz-Mintmire potential, which is a variable charge potential, style *coul/streitz* must be -used with :doc:`pair\_style eam/alloy ` (or some other +used with :doc:`pair_style eam/alloy ` (or some other short-range potential that has been parameterized appropriately) via -the :doc:`pair\_style hybrid/overlay ` command. Likewise, +the :doc:`pair_style hybrid/overlay ` command. Likewise, charge equilibration must be performed via the :doc:`fix qeq/slater ` command. For example: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay coul/streitz 12.0 wolf 0.31 eam/alloy - pair_coeff \* \* coul/streitz AlO.streitz Al O - pair_coeff \* \* eam/alloy AlO.eam.alloy Al O + pair_coeff * * coul/streitz AlO.streitz Al O + pair_coeff * * eam/alloy AlO.eam.alloy Al O fix 1 all qeq/slater 1 12.0 1.0e-6 100 coul/streitz The keyword *wolf* in the coul/streitz command denotes computing @@ -228,14 +225,13 @@ parameter is required for the Wolf summation, as described for the coul/wolf potential above. Alternatively, Coulombic interactions can be computed via an Ewald summation. For example: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay coul/streitz 12.0 ewald eam/alloy kspace_style ewald 1e-6 Keyword *ewald* does not need a damping parameter, but a -:doc:`kspace\_style ` must be defined, which can be style +:doc:`kspace_style ` must be defined, which can be style *ewald* or *pppm*\ . The Ewald method was used in Streitz and Mintmire's original paper, but a Wolf summation offers a speed-up in some cases. @@ -257,14 +253,12 @@ any other pair style such as EAM, MEAM, Tersoff, or LJ in hybrid/overlay mode. To do this, you would need to provide a Streitz-Mintmire parameterization for the material being modeled. - ---------- - Styles *coul/long* and *coul/msm* compute the same Coulombic interactions as style *coul/cut* except that an additional damping factor is applied so it can be used in conjunction with the -:doc:`kspace\_style ` command and its *ewald* or *pppm* +:doc:`kspace_style ` command and its *ewald* or *pppm* option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space. @@ -275,7 +269,7 @@ a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as -pair\_style arguments. Style *tip4p/cut* uses a global cutoff for +pair_style arguments. Style *tip4p/cut* uses a global cutoff for Coulomb interactions; style *tip4p/long* is for use with a long-range Coulombic solver (Ewald or PPPM). @@ -298,38 +292,34 @@ shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can test the trade-off for your model. - ---------- - Note that these potentials are designed to be combined with other pair -potentials via the :doc:`pair\_style hybrid/overlay ` +potentials via the :doc:`pair_style hybrid/overlay ` command. This is because they have no repulsive core. Hence if they are used by themselves, there will be no repulsion to keep two oppositely charged particles from moving arbitrarily close to each other. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples -above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +types via the :doc:`pair_coeff ` command as in the examples +above, or in the data or restart files read by the +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * cutoff (distance units) For *coul/cut* and *coul/debye*\ , the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default -global value specified in the pair\_style command is used. +global value specified in the pair_style command is used. For *coul/long* and *coul/msm* no cutoff can be specified for an -individual I,J type pair via the pair\_coeff command. All type pairs -use the same global Coulombic cutoff specified in the pair\_style +individual I,J type pair via the pair_coeff command. All type pairs +use the same global Coulomb cutoff specified in the pair_style command. - ---------- - 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 @@ -348,42 +338,37 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the cutoff distance for the *coul/cut* style can be mixed. The default mix value is *geometric*\ . -See the "pair\_modify" command for details. +See the "pair_modify" command for details. -The :doc:`pair\_modify ` shift option is not relevant +The :doc:`pair_modify ` shift option is not relevant for these pair styles. -The *coul/long* style supports the :doc:`pair\_modify ` +The *coul/long* style supports the :doc:`pair_modify ` table option for tabulation of the short-range portion of the long-range Coulombic interaction. -These pair styles do not support the :doc:`pair\_modify ` +These pair styles do not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -These pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +These pair styles can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *coul/long*\ , *coul/msm* and *tip4p/long* styles are part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more @@ -392,43 +377,28 @@ info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style, hybrid/overlay `, :doc:`kspace\_style ` +:doc:`pair_coeff `, :doc:`pair_style, hybrid/overlay `, :doc:`kspace_style ` **Default:** none - ---------- - .. _Wolf1: - - **(Wolf)** D. Wolf, P. Keblinski, S. R. Phillpot, J. Eggebrecht, J Chem Phys, 110, 8254 (1999). .. _Fennell1: - - **(Fennell)** C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, 234104 (2006). .. _Streitz2: - - **(Streitz)** F. H. Streitz, J. W. Mintmire, Phys Rev B, 50, 11996-12003 (1994). .. _Jorgensen3: - - **(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_coul_diel.rst b/doc/src/pair_coul_diel.rst index 2e86ab41b4614490a190f95db1ba3bae2245df03..02ad620327dd98e75605cd464836d9c7300a2b76 100644 --- a/doc/src/pair_coul_diel.rst +++ b/doc/src/pair_coul_diel.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style coul/diel +.. index:: pair_style coul/diel -pair\_style coul/diel command -============================= +pair_style coul/diel command +============================ -pair\_style coul/diel/omp command -================================= +pair_style coul/diel/omp command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style coul/diel cutoff @@ -19,8 +18,7 @@ cutoff = global cutoff (distance units) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style coul/diel 3.5 pair_coeff 1 4 78. 1.375 0.112 @@ -30,7 +28,7 @@ Description Style *coul/diel* computes a Coulomb correction for implicit solvent ion interactions in which the dielectric permittivity is distance dependent. -The dielectric permittivity epsilon\_D(r) connects to limiting regimes: +The dielectric permittivity epsilon_D(r) connects to limiting regimes: One limit is defined by a small dielectric permittivity (close to vacuum) at or close to contact separation between the ions. At larger separations the dielectric permittivity reaches a bulk value used in the regular Coulomb @@ -38,16 +36,18 @@ interaction coul/long or coul/cut. The transition is modeled by a hyperbolic function which is incorporated in the Coulomb correction term for small ion separations as follows -.. image:: Eqs/pair_coul_diel.jpg - :align: center +.. math:: -where r\_me is the inflection point of epsilon\_D(r) and sigma\_e is a slope + E = & \frac{Cq_iq_j}{\epsilon r} \left( \frac{\epsilon}{\epsilon_D(r)}-1\right) \qquad r < r_c \\ + \epsilon_D(r) = & \frac{5.2+\epsilon}{2} + \frac{\epsilon-5.2}{2}\tanh\left(\frac{r-r_{me}}{\sigma_e}\right) + +where :math:`r_{me}` is the inflection point of :math:`\epsilon_D(r)` and :math:`\sigma_e` is a slope defining length scale. C is the same Coulomb conversion factor as in the -pair\_styles coul/cut, coul/long, and coul/debye. In this way the Coulomb +pair_styles coul/cut, coul/long, and coul/debye. In this way the Coulomb interaction between ions is corrected at small distances r. The lower -limit of epsilon\_D(r->0)=5.2 due to dielectric saturation :ref:`(Stiles) ` +limit of epsilon_D(r->0)=5.2 due to dielectric saturation :ref:`(Stiles) ` while the Coulomb interaction reaches its bulk limit by setting -epsilon\_D(r->\infty)=epsilon, the bulk value of the solvent which is 78 +:math:`\epsilon_D(r \to \infty) = \epsilon`, the bulk value of the solvent which is 78 for water at 298K. Examples of the use of this type of Coulomb interaction include implicit @@ -58,82 +58,66 @@ and in combination with coul/cut or coul/long. It is also usually combined with gauss/cut, see :ref:`(Lenart) ` or :ref:`(Jusufi) `. The following coefficients must be defined for each pair of atom -types via the :doc:`pair\_coeff ` command as in the example +types via the :doc:`pair_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* epsilon (no units) -* r\_me (distance units) -* sigma\_e (distance units) - -The global cutoff (r\_c) specified in the pair\_style command is used. +* :math:`\epsilon` (no units) +* :math:`r_{me}` (distance units) +* :math:`\sigma_e` (distance units) +The global cutoff (:math:`r_c`) specified in the pair_style command is used. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support parameter mixing. Coefficients must be given explicitly for each type of particle pairs. -This pair style supports the :doc:`pair\_modify ` shift +This pair style supports the :doc:`pair_modify ` shift option for the energy of the Gauss-potential portion of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - This style is part of the "USER-MISC" package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` -:doc:`pair\_style gauss/cut ` +:doc:`pair_coeff ` +:doc:`pair_style gauss/cut ` **Default:** none - ---------- - .. _Stiles: - - **(Stiles)** Stiles , Hubbard, and Kayser, J Chem Phys, 77, 6189 (1982). .. _Lenart1: - - **(Lenart)** Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, 044509 (2007). .. _Jusufi1: - - **(Jusufi)** Jusufi, Hynninen, and Panagiotopoulos, J Phys Chem B, 112, 13783 (2008). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_coul_shield.rst b/doc/src/pair_coul_shield.rst index c6d306b2eb91d8e87d4bc55d570c7d44b017b2c0..c9acbf40ef0aa241e95b8d02cdcc008021a6f03f 100644 --- a/doc/src/pair_coul_shield.rst +++ b/doc/src/pair_coul_shield.rst @@ -1,24 +1,22 @@ -.. index:: pair\_style coul/shield +.. index:: pair_style coul/shield -pair\_style coul/shield command -=============================== +pair_style coul/shield command +============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style coul/shield cutoff tap_flag * cutoff = global cutoff (distance units) -* tap\_flag = 0/1 to turn off/on the taper function +* tap_flag = 0/1 to turn off/on the taper function Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style coul/shield 16.0 1 pair_coeff 1 2 0.70 @@ -39,81 +37,71 @@ the pair style :doc:`ilp/graphene/hbn ` molecule id and is recommended to use the "full" atom style, so that charge and molecule ID information is included. -.. image:: Eqs/pair_coul_shield.jpg - :align: center +.. math:: -Where Tap(r\_ij) is the taper function which provides a continuous cutoff -(up to third derivative) for inter-atomic separations larger than r\_c + E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ + V_{ij} = & {\rm Tap}(r_{ij})\frac{\kappa q_i q_j}{\sqrt[3]{r_{ij}^3+(1/\lambda_{ij})^3}}\\ + {\rm Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 - + 70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 + + 84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 - + 35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1 + +Where Tap(:math:`r_{ij}`) is the taper function which provides a continuous cutoff +(up to third derivative) for inter-atomic separations larger than :math:`r_c` :ref:`(Leven1) `, :ref:`(Leven2) ` and :ref:`(Maaravi) `. -Here *lambda* is the shielding parameter that +Here :math:`\lambda` is the shielding parameter that eliminates the short-range singularity of the classical mono-polar electrostatic interaction expression :ref:`(Maaravi) `. -The shielding parameter *lambda* (1/distance units) must be defined for -each pair of atom types via the :doc:`pair\_coeff ` command as +The shielding parameter :math:`\lambda` (1/distance units) must be defined for +each pair of atom types via the :doc:`pair_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` commands: - -The global cutoff (r\_c) specified in the pair\_style command is used. +:doc:`read_data ` or :doc:`read_restart ` commands: +The global cutoff (:math:`r_c`) specified in the pair_style command is used. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support parameter mixing. Coefficients must be given explicitly for each type of particle pairs. -The :doc:`pair\_modify ` *table* option is not relevant +The :doc:`pair_modify ` *table* option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` *tail* option for adding long-range tail corrections to energy and pressure. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - This style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` -:doc:`pair\_style ilp/graphene/hbn ` - -**Default:** tap\_flag = 1 +:doc:`pair_coeff ` +:doc:`pair_style ilp/graphene/hbn ` +**Default:** tap_flag = 1 ---------- - .. _Leven3: - - **(Leven1)** I. Leven, I. Azuri, L. Kronik and O. Hod, J. Chem. Phys. 140, 104106 (2014). .. _Leven4: - - **(Leven2)** I. Leven et al, J. Chem.Theory Comput. 12, 2896-905 (2016). .. _Maaravi1: - - **(Maaravi)** T. Maaravi et al, J. Phys. Chem. C 121, 22826-22835 (2017). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_coul_slater.rst b/doc/src/pair_coul_slater.rst new file mode 100644 index 0000000000000000000000000000000000000000..16db7c614a8292e632dd01f46b2e15b93ec8fd73 --- /dev/null +++ b/doc/src/pair_coul_slater.rst @@ -0,0 +1,116 @@ +.. index:: pair_style coul/slater + +pair_style coul/slater/cut command +================================== + +pair_style coul/slater/long command +=================================== + +Syntax +"""""" + + +.. code-block:: LAMMPS + + pair_style coul/slater/cut lambda cutoff + pair_style coul/slater/long lambda cutoff + +lambda = decay length of the charge (distance units) +cutoff = cutoff (distance units) + +Examples +"""""""" + + +.. code-block:: LAMMPS + + pair_style coul/slater/cut 1.0 3.5 + pair_coeff * * + pair_coeff 2 2 2.5 + + pair_style coul/slater/long 1.0 12.0 + pair_coeff * * + pair_coeff 1 1 5.0 + +Description +""""""""""" + +Styles *coul/slater* compute electrostatic interactions in mesoscopic models +which employ potentials without explicit excluded-volume interactions. +The goal is to prevent artificial ionic pair formation by including a charge +distribution in the Coulomb potential, following the formulation of +:ref:`(Melchor) `: + +.. math:: + + E = \frac{Cq_iq_j}{\epsilon r} \left( 1- \left( 1 + \frac{r_{ij}}{\lambda} exp\left( -2r_{ij}/\lambda \right) \right) \right) \qquad r < r_c + +where :math:`r_c` is the cutoff distance and :math:`\lambda` is the decay length of the charge. +C is the same Coulomb conversion factor as in the pair_styles coul/cut and coul/long. In this way the Coulomb +interaction between ions is corrected at small distances r. +For the *coul/slater/cut* style, the potential energy for distances larger than the cutoff is zero, +while for the *coul/slater/long*, the long-range interactions are computed either by the Ewald or the PPPM technique. + +Phenomena that can be captured at a mesoscopic level using this type of electrostatic +interactions include the formation of polyelectrolyte-surfactant aggregates, +charge stabilization of colloidal suspensions, and the formation of +complexes driven by charged species in biological systems. :ref:`(Vaiwala) `. + +The cutoff distance is optional. If it is not used, +the default global value specified in the pair_style command is used. +For each pair of atom types, a specific cutoff distance can be defined via the :doc:`pair_coeff ` command as in the example +above, or in the data file or restart files read by the +:doc:`read_data ` or :doc:`read_restart ` +commands: + +* :math:`r_c` (distance units) + +The global decay length of the charge (:math:`\lambda`) specified in the pair_style command is used for all pairs. + +---------- + +**Mixing, shift, table, tail correction, restart, rRESPA info**\ : + +For atom type pairs I,J and I != J, the cutoff distance for the +*coul/slater* styles can be mixed. The default mix value is *geometric*\ . +See the "pair_modify" command for details. + +The :doc:`pair_modify ` shift and table options are not relevant +for these pair styles. + +These pair styles do not support the :doc:`pair_modify ` +tail option for adding long-range tail corrections to energy and +pressure. + +These pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +This pair style can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. It does not support the +*inner*\ , *middle*\ , *outer* keywords. + +Restrictions +"""""""""""" + +The *coul/slater/long* style requires the long-range solvers included in the KSPACE package. + +These styles are part of the "USER-MISC" package. They are only enabled if +LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. + +Related commands +"""""""""""""""" + +:doc:`pair_coeff `, :doc:`pair_style, hybrid/overlay `, :doc:`kspace_style ` + +**Default:** none + +---------- + +.. _Melchor: + +**(Melchor)** Gonzalez-Melchor, Mayoral, Velazquez, and Alejandre, J Chem Phys, 125, 224107 (2006). + +.. _Vaiwala: + +**(Vaiwala)** Vaiwala, Jadhav, and Thaokar, J Chem Phys, 146, 124904 (2017). + diff --git a/doc/src/pair_cs.rst b/doc/src/pair_cs.rst index 3667aa6e2f01fe62c431d26d66471db9022d6a68..9790c2defd1115efb8b4a4d2458a95ddcd277ecb 100644 --- a/doc/src/pair_cs.rst +++ b/doc/src/pair_cs.rst @@ -1,47 +1,48 @@ -.. index:: pair\_style born/coul/dsf/cs +.. index:: pair_style born/coul/dsf/cs -pair\_style born/coul/dsf/cs command +pair_style born/coul/dsf/cs command ==================================== -pair\_style born/coul/long/cs command +pair_style born/coul/long/cs command ===================================== -pair\_style born/coul/long/cs/gpu command +pair_style born/coul/long/cs/gpu command ========================================= -pair\_style born/coul/wolf/cs command +pair_style born/coul/wolf/cs command ===================================== -pair\_style born/coul/wolf/cs/gpu command +pair_style born/coul/wolf/cs/gpu command ========================================= -pair\_style buck/coul/long/cs command +pair_style buck/coul/long/cs command ===================================== -pair\_style coul/long/cs command +pair_style coul/long/cs command ================================ -pair\_style coul/long/cs/gpu command +pair_style coul/long/cs/gpu command ==================================== -pair\_style coul/wolf/cs command +pair_style coul/wolf/cs command ================================ -pair\_style lj/cut/coul/long/cs command +pair_style lj/cut/coul/long/cs command ======================================= +pair_style lj/class2/coul/long/cs command +========================================== + Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args -* style = *born/coul/dsf/cs* or *born/coul/long/cs* or *born/coul/wolf/cs* or *buck/coul/long/cs* or *coul/long/cs* or *coul/wolf/cs* or *lj/cut/coul/long/cs* +* style = *born/coul/dsf/cs* or *born/coul/long/cs* or *born/coul/wolf/cs* or *buck/coul/long/cs* or *coul/long/cs* or *coul/wolf/cs* or *lj/cut/coul/long/cs* or *lj/class2/coul/long/cs* * args = list of arguments for a particular style - .. parsed-literal:: *born/coul/dsf/cs* args = alpha cutoff (cutoff2) @@ -66,38 +67,40 @@ Syntax *lj/cut/coul/long/cs* args = cutoff (cutoff2) cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) + *lj/class2/coul/long/cs* args = cutoff (cutoff2) + cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style born/coul/dsf/cs 0.1 10.0 12.0 - pair_coeff \* \* 0.0 1.00 0.00 0.00 0.00 + pair_coeff * * 0.0 1.00 0.00 0.00 0.00 pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 pair_style born/coul/long/cs 10.0 8.0 pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 pair_style born/coul/wolf/cs 0.25 10.0 12.0 - pair_coeff \* \* 0.0 1.00 0.00 0.00 0.00 + pair_coeff * * 0.0 1.00 0.00 0.00 0.00 pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 pair_style buck/coul/long/cs 10.0 pair_style buck/coul/long/cs 10.0 8.0 - pair_coeff \* \* 100.0 1.5 200.0 + pair_coeff * * 100.0 1.5 200.0 pair_coeff 1 1 100.0 1.5 200.0 9.0 pair_style coul/long/cs 10.0 - pair_coeff \* \* + pair_coeff * * pair_style coul/wolf/cs 0.2 9.0 - pair_coeff \* \* + pair_coeff * * pair_style lj/cut/coul/long/cs 10.0 pair_style lj/cut/coul/long/cs 10.0 8.0 - pair_coeff \* \* 100.0 3.0 + pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 Description @@ -111,49 +114,49 @@ the model as implemented in LAMMPS. All the styles are identical to the corresponding pair style without the "/cs" in the name: -* :doc:`pair\_style born/coul/dsf ` -* :doc:`pair\_style born/coul/long ` -* :doc:`pair\_style born/coul/wolf ` -* :doc:`pair\_style buck/coul/long ` -* :doc:`pair\_style coul/long ` -* :doc:`pair\_style coul/wolf ` -* :doc:`pair\_style lj/cut/coul/long ` +* :doc:`pair_style born/coul/dsf ` +* :doc:`pair_style born/coul/long ` +* :doc:`pair_style born/coul/wolf ` +* :doc:`pair_style buck/coul/long ` +* :doc:`pair_style coul/long ` +* :doc:`pair_style coul/wolf ` +* :doc:`pair_style lj/cut/coul/long ` +* :doc:`pair_style lj/class2/coul/long ` except that they correctly treat the special case where the distance between two charged core and shell atoms in the same core/shell pair approach r = 0.0. Styles with a "/long" in the name are used with a long-range solver -for Coulombic interactions via the :doc:`kspace\_style ` +for Coulombic interactions via the :doc:`kspace_style ` command. They require special treatment of the short-range Coulombic interactions within the cor/shell model. Specifically, the short-range Coulomb interaction between a core and its shell should be turned off using the -:doc:`special\_bonds ` command by setting the 1-2 weight +:doc:`special_bonds ` command by setting the 1-2 weight to 0.0, which works because the core and shell atoms are bonded to each other. This induces a long-range correction approximation which fails at small distances (~< 10e-8). Therefore, the Coulomb term which is used to calculate the correction factor is extended by a minimal -distance (r\_min = 1.0-6) when the interaction between a core/shell +distance (r_min = 1.0-6) when the interaction between a core/shell pair is treated, as follows -.. image:: Eqs/pair_cs.jpg - :align: center +.. math:: + + E = \frac{C q_i q_j}{\epsilon (r + r_{min})} \qquad r \rightarrow 0 -where C is an energy-conversion constant, Qi and Qj are the charges on -the core and shell, epsilon is the dielectric constant and r\_min is the -minimal distance. +where C is an energy-conversion constant, :math:`q_i` and :math:`q_j` +are the charges on the core and shell, epsilon is the dielectric +constant and :math:`r_{min}` is the minimal distance. For styles that are not used with a long-range solver, i.e. those with "/dsf" or "/wolf" in the name, the only correction is the addition of a minimal distance to avoid the possible r = 0.0 case for a core/shell pair. - ---------- - 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 @@ -172,47 +175,33 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : See the corresponding doc pages for pair styles without the "cs" suffix to see how mixing, shifting, tabulation, tail correction, restarting, and rRESPA are handled by theses pair styles. - ---------- - Restrictions """""""""""" - These pair styles are part of the CORESHELL package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style born `, -:doc:`pair\_style buck ` +:doc:`pair_coeff `, :doc:`pair_style born `, +:doc:`pair_style buck ` **Default:** none - ---------- - .. _MitchellFinchham2: - - **(Mitchell and Finchham)** Mitchell, Finchham, J Phys Condensed Matter, 5, 1031-1038 (1993). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_dipole.rst b/doc/src/pair_dipole.rst index fc7de9290021b516a09185e2a5df891667851485..38731dcb6d9714b7e22386ba16c53f9a6eccc538 100644 --- a/doc/src/pair_dipole.rst +++ b/doc/src/pair_dipole.rst @@ -1,37 +1,36 @@ -.. index:: pair\_style lj/cut/dipole/cut +.. index:: pair_style lj/cut/dipole/cut -pair\_style lj/cut/dipole/cut command -===================================== +pair_style lj/cut/dipole/cut command +==================================== -pair\_style lj/cut/dipole/cut/gpu command -========================================= +pair_style lj/cut/dipole/cut/gpu command +======================================== -pair\_style lj/cut/dipole/cut/omp command -========================================= +pair_style lj/cut/dipole/cut/omp command +======================================== -pair\_style lj/sf/dipole/sf command -=================================== +pair_style lj/sf/dipole/sf command +================================== -pair\_style lj/sf/dipole/sf/gpu command -======================================= - -pair\_style lj/sf/dipole/sf/omp command -======================================= +pair_style lj/sf/dipole/sf/gpu command +====================================== -pair\_style lj/cut/dipole/long command +pair_style lj/sf/dipole/sf/omp command ====================================== -pair\_style lj/cut/dipole/long/gpu command -========================================== +pair_style lj/cut/dipole/long command +===================================== + +pair_style lj/cut/dipole/long/gpu command +========================================= -pair\_style lj/long/dipole/long command -======================================= +pair_style lj/long/dipole/long command +====================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut/dipole/cut cutoff (cutoff2) pair_style lj/sf/dipole/sf cutoff (cutoff2) @@ -40,44 +39,41 @@ Syntax * cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units) * cutoff2 = global cutoff for Coulombic and dipole (optional) (distance units) -* flag\_lj = *long* or *cut* or *off* - +* flag_lj = *long* or *cut* or *off* + .. parsed-literal:: - + *long* = use long-range damping on dispersion 1/r\^6 term *cut* = use a cutoff on dispersion 1/r\^6 term *off* = omit disperion 1/r\^6 term entirely -* flag\_coul = *long* or *off* - +* flag_coul = *long* or *off* + .. parsed-literal:: - + *long* = use long-range damping on Coulombic 1/r and point-dipole terms *off* = omit Coulombic and point-dipole terms entirely - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut/dipole/cut 10.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 2 3 1.0 1.0 2.5 4.0 pair_style lj/sf/dipole/sf 9.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 2 3 1.0 1.0 2.5 4.0 scale 0.5 pair_coeff 2 3 1.0 1.0 2.5 4.0 pair_style lj/cut/dipole/long 10.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 2 3 1.0 1.0 2.5 4.0 pair_style lj/long/dipole/long long long 3.5 10.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 2 3 1.0 1.0 2.5 4.0 Description @@ -90,19 +86,44 @@ charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) interactions are computed by these formulas for the energy (E), force (F), and torque (T) between particles I and J. -.. image:: Eqs/pair_dipole.jpg - :align: center - -where qi and qj are the charges on the two particles, pi and pj are -the dipole moment vectors of the two particles, r is their separation -distance, and the vector r = Ri - Rj is the separation vector between -the two particles. Note that Eqq and Fqq are simply Coulombic energy -and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the -torques do not act symmetrically. These formulas are discussed in -:ref:`(Allen) ` and in :ref:`(Toukmaji) `. +.. math:: + + E_{LJ} = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] \\ + E_{qq} = & \frac{q_i q_j}{r} \\ + E_{qp} = & \frac{q}{r^3} (p \bullet \vec{r}) \\ + E_{pp} = & \frac{1}{r^3} (\vec{p_i} \bullet \vec{p_j}) - + \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r}) \\ + & \\ + F_{qq} = & \frac{q_i q_j}{r^3} \vec{r} \\ + F_{qp} = & -\frac{q}{r^3} \vec{p} + \frac{3q}{r^5} + (\vec{p} \bullet \vec{r}) \vec{r} \\ + F_{pp} = & \frac{3}{r^5} (\vec{p_i} \bullet \vec{p_j}) \vec{r} - + \frac{15}{r^7} (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \bullet \vec{r}) \vec{r} + + \frac{3}{r^5} \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + + (\vec{p_i} \bullet \vec{r}) \vec{p_j} \right] \\ + & \\ + T_{pq} = T_{ij} = & \frac{q_j}{r^3} (\vec{p_i} \times \vec{r}) \\ + T_{qp} = T_{ji} = & - \frac{q_i}{r^3} (\vec{p_j} \times \vec{r}) \\ + T_{pp} = T_{ij} = & -\frac{1}{r^3} (\vec{p_i} \times \vec{p_j}) + + \frac{3}{r^5} (\vec{p_j} \bullet \vec{r}) + (\vec{p_i} \times \vec{r}) \\ + T_{pp} = T_{ji} = & -\frac{1}{r^3} (\vec{p_j} \times \vec{p_i}) + + \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \times \vec{r}) + +where :math:`q_i` and :math:`q_j` are the charges on the two particles, +:math:`\vec{p_i}` and :math:`\vec{p_j}` are the dipole moment vectors of +the two particles, r is their separation distance, and the vector r = +Ri - Rj is the separation vector between the two particles. Note that +Eqq and Fqq are simply Coulombic energy and force, Fij = -Fji as +symmetric forces, and Tij != -Tji since the torques do not act +symmetrically. These formulas are discussed in :ref:`(Allen) ` +and in :ref:`(Toukmaji) `. Also note, that in the code, all of these terms (except Elj) have a -C/epsilon prefactor, the same as the Coulombic term in the LJ + +:math:`C/\epsilon` prefactor, the same as the Coulombic term in the LJ + Coulombic pair styles discussed :doc:`here `. C is an energy-conversion constant and epsilon is the dielectric constant which can be set by the :doc:`dielectric ` command. The @@ -116,37 +137,95 @@ potential containing extra terms that make both the energy and its derivative go to zero at the cutoff distance; this removes (cutoff-related) problems in energy conservation and any numerical instability in the equations of motion :ref:`(Allen) `. Shifted-force -interactions for the Lennard-Jones (E\_LJ), charge-charge (Eqq), +interactions for the Lennard-Jones (E_LJ), charge-charge (Eqq), charge-dipole (Eqp), dipole-charge (Epq) and dipole-dipole (Epp) potentials are computed by these formulas for the energy (E), force (F), and torque (T) between particles I and J: -.. image:: Eqs/pair_dipole_sf.jpg - :align: center - -.. image:: Eqs/pair_dipole_sf2.jpg - :align: center - -where epsilon and sigma are the standard LJ parameters, r\_c is the -cutoff, qi and qj are the charges on the two particles, pi and pj are -the dipole moment vectors of the two particles, r is their separation -distance, and the vector r = Ri - Rj is the separation vector between -the two particles. Note that Eqq and Fqq are simply Coulombic energy -and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the -torques do not act symmetrically. The shifted-force formula for the -Lennard-Jones potential is reported in :ref:`(Stoddard) `. The -original (non-shifted) formulas for the electrostatic potentials, -forces and torques can be found in :ref:`(Price) `. The shifted-force -electrostatic potentials have been obtained by applying equation 5.13 -of :ref:`(Allen) `. The formulas for the corresponding forces and -torques have been obtained by applying the 'chain rule' as in appendix -C.3 of :ref:`(Allen) `. - -If one cutoff is specified in the pair\_style command, it is used for +.. math:: + + E_{LJ} = & 4\epsilon \left\{ \left[ \left( \frac{\sigma}{r} \right)^{\!12} - + \left( \frac{\sigma}{r} \right)^{\!6} \right] + + \left[ 6\left( \frac{\sigma}{r_c} \right)^{\!12} - + 3\left(\frac{\sigma}{r_c}\right)^{\!6}\right]\left(\frac{r}{r_c}\right)^{\!2} + - 7\left( \frac{\sigma}{r_c} \right)^{\!12} + + 4\left( \frac{\sigma}{r_c} \right)^{\!6}\right\} \\ + E_{qq} = & \frac{q_i q_j}{r}\left(1-\frac{r}{r_c}\right)^{\!2} \\ + E_{pq} = & E_{ji} = -\frac{q}{r^3} \left[ 1 - + 3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p}\bullet\vec{r}) \\ + E_{qp} = & E_{ij} = \frac{q}{r^3} \left[ 1 - + 3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p}\bullet\vec{r}) \\ + E_{pp} = & \left[1-4\left(\frac{r}{r_c}\right)^{\!3} + + 3\left(\frac{r}{r_c}\right)^{\!4}\right]\left[\frac{1}{r^3} + (\vec{p_i} \bullet \vec{p_j}) - \frac{3}{r^5} + (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r})\right] \\ + & \\ + + F_{LJ} = & \left\{\left[48\epsilon \left(\frac{\sigma}{r}\right)^{\!12} - + 24\epsilon \left(\frac{\sigma}{r}\right)^{\!6} \right]\frac{1}{r^2} - + \left[48\epsilon \left(\frac{\sigma}{r_c}\right)^{\!12} - 24\epsilon + \left(\frac{\sigma}{r_c}\right)^{\!6} \right]\frac{1}{r_c^2}\right\}\vec{r}\\ + F_{qq} = & \frac{q_i q_j}{r}\left(\frac{1}{r^2} - + \frac{1}{r_c^2}\right)\vec{r} \\ + F_{pq} = & F_{ij } = -\frac{3q}{r^5} \left[ 1 - + \left(\frac{r}{r_c}\right)^{\!2}\right](\vec{p}\bullet\vec{r})\vec{r} + + \frac{q}{r^3}\left[1-3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3}\right] \vec{p} \\ + F_{qp} = & F_{ij} = \frac{3q}{r^5} \left[ 1 - + \left(\frac{r}{r_c}\right)^{\!2}\right] (\vec{p}\bullet\vec{r})\vec{r} - + \frac{q}{r^3}\left[1-3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3}\right] \vec{p} \\ + F_{pp} = &\frac{3}{r^5}\Bigg\{\left[1-\left(\frac{r}{r_c}\right)^{\!4}\right] + \left[(\vec{p_i}\bullet\vec{p_j}) - \frac{3}{r^2} (\vec{p_i}\bullet\vec{r}) + (\vec{p_j} \bullet \vec{r})\right] \vec{r} + \\ + & \left[1 - + 4\left(\frac{r}{r_c}\right)^{\!3}+3\left(\frac{r}{r_c}\right)^{\!4}\right] + \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + (\vec{p_i} \bullet \vec{r}) + \vec{p_j} -\frac{2}{r^2} (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \bullet \vec{r})\vec{r}\right] \Bigg\} + +.. math:: + + T_{pq} = T_{ij} = & \frac{q_j}{r^3} \left[ 1 - + 3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p_i}\times\vec{r}) \\ + T_{qp} = T_{ji} = & - \frac{q_i}{r^3} \left[ 1 - + 3\left(\frac{r}{r_c}\right)^{\!2} + + 2\left(\frac{r}{r_c}\right)^{\!3} \right] (\vec{p_j}\times\vec{r}) \\ + T_{pp} = T_{ij} = & -\frac{1}{r^3}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + + e3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_i} \times \vec{p_j}) + \\ + & \frac{3}{r^5}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + + 3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_j}\bullet\vec{r}) + (\vec{p_i} \times \vec{r}) \\ + T_{pp} = T_{ji} = & -\frac{1}{r^3}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + + 3\left(\frac{r}{r_c}\right)^{\!4}\right](\vec{p_j} \times \vec{p_i}) + \\ + & \frac{3}{r^5}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + + 3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \times \vec{r}) + +where :math:`\epsilon` and :math:`\sigma` are the standard LJ +parameters, :math:`r_c` is the cutoff, :math:`q_i` and :math:`q_j` are +the charges on the two particles, :math:`\vec{p_i}` and +:math:`\vec{p_j}` are the dipole moment vectors of the two particles, r +is their separation distance, and the vector r = Ri - Rj is the +separation vector between the two particles. Note that Eqq and Fqq are +simply Coulombic energy and force, Fij = -Fji as symmetric forces, and +Tij != -Tji since the torques do not act symmetrically. The +shifted-force formula for the Lennard-Jones potential is reported in +:ref:`(Stoddard) `. The original (non-shifted) formulas for +the electrostatic potentials, forces and torques can be found in +:ref:`(Price) `. The shifted-force electrostatic potentials have +been obtained by applying equation 5.13 of :ref:`(Allen) `. The +formulas for the corresponding forces and torques have been obtained by +applying the 'chain rule' as in appendix C.3 of :ref:`(Allen) `. + +If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic (q,p) terms respectively. This pair style also supports an optional *scale* keyword -as part of a pair\_coeff statement, where the interactions can be +as part of a pair_coeff statement, where the interactions can be scaled according to this factor. This scale factor is also made available for use with fix adapt. @@ -154,8 +233,8 @@ Style *lj/cut/dipole/long* computes long-range point-dipole interactions as discussed in :ref:`(Toukmaji) `. Dipole-dipole, dipole-charge, and charge-charge interactions are all supported, along with the standard 12/6 Lennard-Jones interactions, which are computed -with a cutoff. A :doc:`kspace\_style ` must be defined to -use this pair style. Currently, only :doc:`kspace\_style ewald/disp ` support long-range point-dipole +with a cutoff. A :doc:`kspace_style ` must be defined to +use this pair style. Currently, only :doc:`kspace_style ewald/disp ` support long-range point-dipole interactions. Style *lj/long/dipole/long* also computes point-dipole interactions as @@ -164,53 +243,51 @@ dipole-charge, and charge-charge interactions are all supported, along with the standard 12/6 Lennard-Jones interactions. LJ interactions can be cutoff or long-ranged. -For style *lj/long/dipole/long*\ , if *flag\_lj* is set to *long*\ , no +For style *lj/long/dipole/long*\ , if *flag_lj* is set to *long*\ , no cutoff is used on the LJ 1/r\^6 dispersion term. The long-range -portion is calculated by using the :doc:`kspace\_style ewald\_disp ` command. The specified LJ cutoff then +portion is calculated by using the :doc:`kspace_style ewald_disp ` command. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal -space via the Kspace style. If *flag\_lj* is set to *cut*\ , the LJ -interactions are simply cutoff, as with :doc:`pair\_style lj/cut `. If *flag\_lj* is set to *off*\ , LJ interactions +space via the Kspace style. If *flag_lj* is set to *cut*\ , the LJ +interactions are simply cutoff, as with :doc:`pair_style lj/cut `. If *flag_lj* is set to *off*\ , LJ interactions are not computed at all. -If *flag\_coul* is set to *long*\ , no cutoff is used on the Coulombic or +If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic or dipole interactions. The long-range portion is calculated by using -*ewald\_disp* of the :doc:`kspace\_style ` command. If -*flag\_coul* is set to *off*\ , Coulombic and dipole interactions are not +*ewald_disp* of the :doc:`kspace_style ` command. If +*flag_coul* is set to *off*\ , Coulombic and dipole interactions are not computed at all. Atoms with dipole moments should be integrated using the :doc:`fix nve/sphere update dipole ` or the :doc:`fix nvt/sphere update dipole ` command to rotate the dipole moments. The *omega* option on the :doc:`fix langevin ` command can be used to thermostat the rotational motion. The :doc:`compute temp/sphere ` command can be used to monitor the temperature, since it includes -rotational degrees of freedom. The :doc:`atom\_style hybrid dipole sphere ` command should be used since +rotational degrees of freedom. The :doc:`atom_style hybrid dipole sphere ` command should be used since it defines the point dipoles and their rotational state. The magnitude and orientation of the dipole moment for each particle can be defined by the :doc:`set ` command or in the "Atoms" section -of the data file read in by the :doc:`read\_data ` command. +of the data file read in by the :doc:`read_data ` command. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * cutoff1 (distance units) * cutoff2 (distance units) The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair\_style command are used. +LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair. - ---------- - 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 @@ -229,44 +306,41 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distances for this pair style can be mixed. The default -mix value is *geometric*\ . See the "pair\_modify" command for details. +mix value is *geometric*\ . See the "pair_modify" command for details. For atom type pairs I,J and I != J, the A, sigma, d1, and d2 coefficients and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. D1 and d2 are distance values and are mixed like sigma. The default mix value is -*geometric*\ . See the "pair\_modify" command for details. +*geometric*\ . See the "pair_modify" command for details. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift option for the energy of the Lennard-Jones portion of the pair interaction; such energy goes to zero at the cutoff by construction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - The *lj/cut/dipole/cut*\ , *lj/cut/dipole/long*\ , and *lj/long/dipole/long* styles are part of the DIPOLE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -280,42 +354,27 @@ currently supported. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`set `, :doc:`read\_data `, +:doc:`pair_coeff `, :doc:`set `, :doc:`read_data `, :doc:`fix nve/sphere `, :doc:`fix nvt/sphere ` **Default:** none - ---------- - .. _Allen2: - - **(Allen)** Allen and Tildesley, Computer Simulation of Liquids, Clarendon Press, Oxford, 1987. .. _Toukmaji2: - - **(Toukmaji)** Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, 10913 (2000). .. _Stoddard: - - **(Stoddard)** Stoddard and Ford, Phys Rev A, 8, 1504 (1973). .. _Price2: - - **(Price)** Price, Stone and Alderton, Mol Phys, 52, 987 (1984). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_dpd.rst b/doc/src/pair_dpd.rst index 439e41d93b897cc978de0b8cdcacd416d24b1508..0a078585c682993fe187baca51561b30a9743ca6 100644 --- a/doc/src/pair_dpd.rst +++ b/doc/src/pair_dpd.rst @@ -1,31 +1,30 @@ -.. index:: pair\_style dpd +.. index:: pair_style dpd -pair\_style dpd command -======================= +pair_style dpd command +====================== -pair\_style dpd/gpu command -=========================== +pair_style dpd/gpu command +========================== -pair\_style dpd/intel command -============================= +pair_style dpd/intel command +============================ -pair\_style dpd/omp command -=========================== +pair_style dpd/omp command +========================== -pair\_style dpd/tstat command -============================= +pair_style dpd/tstat command +============================ -pair\_style dpd/tstat/gpu command -================================= +pair_style dpd/tstat/gpu command +================================ -pair\_style dpd/tstat/omp command -================================= +pair_style dpd/tstat/omp command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style dpd T cutoff seed pair_style dpd/tstat Tstart Tstop cutoff seed @@ -38,15 +37,14 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style dpd 1.0 2.5 34387 - pair_coeff \* \* 3.0 1.0 + pair_coeff * * 3.0 1.0 pair_coeff 1 1 3.0 1.0 1.0 pair_style dpd/tstat 1.0 1.0 2.5 34387 - pair_coeff \* \* 1.0 + pair_coeff * * 1.0 pair_coeff 1 1 1.0 1.0 Description @@ -61,23 +59,30 @@ field. This pair-wise thermostat can be used in conjunction with any :doc:`pair style `, and in leiu of per-particle thermostats like :doc:`fix langevin ` or ensemble thermostats like Nose Hoover as implemented by :doc:`fix nvt `. To use -*dpd/tstat* as a thermostat for another pair style, use the :doc:`pair\_style hybrid/overlay ` command to compute both the desired +*dpd/tstat* as a thermostat for another pair style, use the :doc:`pair_style hybrid/overlay ` command to compute both the desired pair interaction and the thermostat for each pair of particles. For style *dpd*\ , the force on atom I due to atom J is given as a sum of 3 terms -.. image:: Eqs/pair_dpd.jpg - :align: center - -where Fc is a conservative force, Fd is a dissipative force, and Fr is -a random force. Rij is a unit vector in the direction Ri - Rj, Vij is -the vector difference in velocities of the two atoms = Vi - Vj, alpha -is a Gaussian random number with zero mean and unit variance, dt is -the timestep size, and w(r) is a weighting factor that varies between -0 and 1. Rc is the cutoff. Sigma is set equal to sqrt(2 Kb T gamma), -where Kb is the Boltzmann constant and T is the temperature parameter -in the pair\_style command. +.. math:: + + \vec{f} = & (F^C + F^D + F^R) \hat{r_{ij}} \qquad \qquad r < r_c \\ + F^C = & A w(r) \\ + F^D = & - \gamma w^2(r) (\hat{r_{ij}} \bullet \vec{v_{ij}}) \\ + F^R = & \sigma w(r) \alpha (\Delta t)^{-1/2} \\ + w(r) = & 1 - r/r_c + +where :math:`F^C` is a conservative force, :math:`F^D` is a dissipative +force, and :math:`F^R` is a random force. :math:`r_{ij}` is a unit +vector in the direction :math:`r_i - r_j`, :math:`V_{ij} is the vector +difference in velocities of the two atoms :math:`= \vec{v}_i - +\vec{v}_j, :math:`\alpha` is a Gaussian random number with zero mean and +unit variance, dt is the timestep size, and w(r) is a weighting factor +that varies between 0 and 1. :math:`r_c` is the cutoff. :math:`\sigma` +is set equal to :math:`\sqrt{2 k_B T \gamma}`, where :math:`k_B` is the +Boltzmann constant and T is the temperature parameter in the pair_style +command. For style *dpd/tstat*\ , the force on atom I due to atom J is the same as the above equation, except that the conservative Fc term is @@ -91,22 +96,22 @@ all 3 terms. For style *dpd/tstat* there is no pairwise energy, but the last two terms of the formula make a contribution to the virial. For style *dpd*\ , the following coefficients must be defined for each -pair of atoms types via the :doc:`pair\_coeff ` command as in +pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: * A (force units) -* gamma (force/velocity units) +* :math:`\gamma` (force/velocity units) * cutoff (distance units) The last coefficient is optional. If not specified, the global DPD cutoff is used. Note that sigma is set equal to sqrt(2 T gamma), -where T is the temperature set by the :doc:`pair\_style ` +where T is the temperature set by the :doc:`pair_style ` command so it does not need to be specified. For style *dpd/tstat*\ , the coefficients defined for each pair of -atoms types via the :doc:`pair\_coeff ` command is the same, +atoms types via the :doc:`pair_coeff ` command is the same, except that A is not included. The GPU-accelerated versions of these styles are implemented based on @@ -115,20 +120,23 @@ the work of :ref:`(Afshar) ` and :ref:`(Phillips) `. .. note:: If you are modeling DPD polymer chains, you may want to use the - :doc:`pair\_style srp ` command in conjunction with these pair + :doc:`pair_style srp ` command in conjunction with these pair styles. It is a soft segmental repulsive potential (SRP) that can prevent DPD polymer chains from crossing each other. .. note:: - The virial calculation for pressure when using this pair style + The virial calculation for pressure when using these pair styles includes all the components of force listed above, including the - random force. - + random force. Since the random force depends on random numbers, + everything that changes the order of atoms in the neighbor list + (e.g. different number of MPI ranks or a different neighbor list + skin distance) will also change the sequence in which the random + numbers are applied and thus the individual forces and therefore + also the virial/pressure. ---------- - 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 @@ -147,28 +155,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -These pair styles do not support the :doc:`pair\_modify ` +These pair styles do not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. Note that as discussed above, the energy due to the conservative Fc term is already shifted to be 0.0 at the cutoff distance Rc. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for these pair styles. -These pair style do not support the :doc:`pair\_modify ` +These pair style do not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -These pair styles writes their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These pair styles writes their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Note that the user-specified random number seed is stored in the restart file, so when a simulation is restarted, each processor will @@ -178,7 +184,7 @@ be the same as they would have been if the original simulation had continued past the restart time. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. The *dpd/tstat* style can ramp its target temperature over multiple @@ -186,63 +192,47 @@ runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. - ---------- - Restrictions """""""""""" - The default frequency for rebuilding neighbor lists is every 10 steps -(see the :doc:`neigh\_modify ` command). This may be too +(see the :doc:`neigh_modify ` command). This may be too infrequent for style *dpd* simulations since particles move rapidly and can overlap by large amounts. If this setting yields a non-zero number of "dangerous" reneighborings (printed at the end of a simulation), you should experiment with forcing reneighboring more often and see if system energies/trajectories change. -These pair styles requires you to use the :doc:`comm\_modify vel yes ` command so that velocities are stored by ghost +These pair styles requires you to use the :doc:`comm_modify vel yes ` command so that velocities are stored by ghost atoms. These pair styles will not restart exactly when using the -:doc:`read\_restart ` command, though they should provide +:doc:`read_restart ` command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the -:doc:`read\_restart ` command for more details. +:doc:`read_restart ` command for more details. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`fix nvt `, :doc:`fix langevin `, :doc:`pair\_style srp ` +:doc:`pair_coeff `, :doc:`fix nvt `, :doc:`fix langevin `, :doc:`pair_style srp ` **Default:** none - ---------- - .. _Groot1: - - **(Groot)** Groot and Warren, J Chem Phys, 107, 4423-35 (1997). .. _Afshar: - - **(Afshar)** Afshar, F. Schmid, A. Pishevar, S. Worley, Comput Phys Comm, 184, 1119-1128 (2013). .. _Phillips: - - **(Phillips)** C. L. Phillips, J. A. Anderson, S. C. Glotzer, Comput Phys Comm, 230, 7191-7201 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_dpd_fdt.rst b/doc/src/pair_dpd_fdt.rst index c0d4f8c0c4efabc0a901f538619021887f5dd363..223caf768160c7f7408942517365c144633d1a21 100644 --- a/doc/src/pair_dpd_fdt.rst +++ b/doc/src/pair_dpd_fdt.rst @@ -1,26 +1,24 @@ -.. index:: pair\_style dpd/fdt +.. index:: pair_style dpd/fdt -pair\_style dpd/fdt command -=========================== +pair_style dpd/fdt command +========================== -pair\_style dpd/fdt/energy command -================================== +pair_style dpd/fdt/energy command +================================= -pair\_style dpd/fdt/energy/kk command -===================================== +pair_style dpd/fdt/energy/kk command +==================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *dpd/fdt* or *dpd/fdt/energy* * args = list of arguments for a particular style - .. parsed-literal:: *dpd/fdt* args = T cutoff seed @@ -34,14 +32,13 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style dpd/fdt 300.0 2.5 34387 - pair_coeff \* \* 3.0 1.0 2.5 + pair_coeff * * 3.0 1.0 2.5 pair_style dpd/fdt/energy 2.5 34387 - pair_coeff \* \* 3.0 1.0 0.1 2.5 + pair_coeff * * 3.0 1.0 0.1 2.5 Description """"""""""" @@ -54,68 +51,83 @@ under isoenergetic and isoenthalpic conditions (see :ref:`(Lisal) `). For DPD simulations in general, the force on atom I due to atom J is given as a sum of 3 terms -.. image:: Eqs/pair_dpd.jpg - :align: center +.. math:: -where Fc is a conservative force, Fd is a dissipative force, and Fr is -a random force. Rij is a unit vector in the direction Ri - Rj, Vij is -the vector difference in velocities of the two atoms = Vi - Vj, alpha -is a Gaussian random number with zero mean and unit variance, dt is -the timestep size, and w(r) is a weighting factor that varies between -0 and 1. Rc is the cutoff. The weighting factor, omega\_ij, varies -between 0 and 1, and is chosen to have the following functional form: + \vec{f} = & (F^C + F^D + F^R) \hat{r_{ij}} \qquad \qquad r < r_c \\ + F^C = & A w(r) \\ + F^D = & - \gamma w^2(r) (\hat{r_{ij}} \bullet \vec{v_{ij}}) \\ + F^R = & \sigma w(r) \alpha (\Delta t)^{-1/2} \\ + w(r) = & 1 - r/r_c -.. image:: Eqs/pair_dpd_omega.jpg - :align: center +where :math:`F^C` is a conservative force, :math:`F^D` is a dissipative +force, and :math:`F^R` is a random force. :math:`r_{ij}` is a unit +vector in the direction :math:`r_i - r_j`, :math:`V_{ij} is the vector +difference in velocities of the two atoms :math:`= \vec{v}_i - +\vec{v}_j, :math:`\alpha` is a Gaussian random number with zero mean and +unit variance, dt is the timestep size, and w(r) is a weighting factor +that varies between 0 and 1. Rc is the cutoff. The weighting factor, +:math:`\omega_{ij}`, varies between 0 and 1, and is chosen to have the +following functional form: + +.. math:: + + \omega_{ij} = 1 - \frac{r_{ij}}{r_{c}} Note that alternative definitions of the weighting function exist, but would have to be implemented as a separate pair style command. -For style *dpd/fdt*\ , the fluctuation-dissipation theorem defines gamma -to be set equal to sigma\*sigma/(2 T), where T is the set point +For style *dpd/fdt*\ , the fluctuation-dissipation theorem defines :math:`\gamma` +to be set equal to :math:`\sigma^2/(2 T)`, where T is the set point temperature specified as a pair style parameter in the above examples. The following coefficients must be defined for each pair of atoms types -via the :doc:`pair\_coeff ` command as in the examples above, +via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` commands: +:doc:`read_data ` or :doc:`read_restart ` commands: * A (force units) -* sigma (force\*time\^(1/2) units) +* :math:`\sigma` (force\*time\^(1/2) units) * cutoff (distance units) The last coefficient is optional. If not specified, the global DPD cutoff is used. -Style *dpd/fdt/energy* is used to perform DPD simulations -under isoenergetic and isoenthalpic conditions. The fluctuation-dissipation -theorem defines gamma to be set equal to sigma\*sigma/(2 dpdTheta), where -dpdTheta is the average internal temperature for the pair. The particle -internal temperature is related to the particle internal energy through -a mesoparticle equation of state (see :doc:`fix eos `). The -differential internal conductive and mechanical energies are computed -within style *dpd/fdt/energy* as: +Style *dpd/fdt/energy* is used to perform DPD simulations under +isoenergetic and isoenthalpic conditions. The fluctuation-dissipation +theorem defines :math:`\gamma` to be set equal to :math:`sigma^2/(2 +\theta)`, where :math:theta` is the average internal temperature for the +pair. The particle internal temperature is related to the particle +internal energy through a mesoparticle equation of state (see :doc:`fix +eos `). The differential internal conductive and mechanical +energies are computed within style *dpd/fdt/energy* as: + +.. math:: -.. image:: Eqs/pair_dpd_energy.jpg - :align: center + du_{i}^{cond} = & \kappa_{ij}(\frac{1}{\theta_{i}}-\frac{1}{\theta_{j}})\omega_{ij}^{2} + \alpha_{ij}\omega_{ij}\zeta_{ij}^{q}(\Delta{t})^{-1/2} \\ + du_{i}^{mech} = & -\frac{1}{2}\gamma_{ij}\omega_{ij}^{2}(\frac{\vec{r_{ij}}}{r_{ij}}\bullet\vec{v_{ij}})^{2} - + \frac{\sigma^{2}_{ij}}{4}(\frac{1}{m_{i}}+\frac{1}{m_{j}})\omega_{ij}^{2} - + \frac{1}{2}\sigma_{ij}\omega_{ij}(\frac{\vec{r_{ij}}}{r_{ij}}\bullet\vec{v_{ij}})\zeta_{ij}(\Delta{t})^{-1/2} where -.. image:: Eqs/pair_dpd_energy_terms.jpg - :align: center +.. math:: -Zeta\_ij\^q is a second Gaussian random number with zero mean and unit + \alpha_{ij}^{2} = & 2k_{B}\kappa_{ij} \\ + \sigma^{2}_{ij} = & 2\gamma_{ij}k_{B}\Theta_{ij} \\ + \Theta_{ij}^{-1} = & \frac{1}{2}(\frac{1}{\theta_{i}}+\frac{1}{\theta_{j}}) + +:math:`\zeta_ij^q` is a second Gaussian random number with zero mean and unit variance that is used to compute the internal conductive energy. The -fluctuation-dissipation theorem defines alpha\*alpha to be set -equal to 2\*kB\*kappa, where kappa is the mesoparticle thermal +fluctuation-dissipation theorem defines :math:`alpha^2` to be set +equal to :math:2k_B\kappa`, where :math:`\kappa` is the mesoparticle thermal conductivity parameter. The following coefficients must be defined for -each pair of atoms types via the :doc:`pair\_coeff ` +each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files -read by the :doc:`read\_data ` or :doc:`read\_restart ` +read by the :doc:`read_data ` or :doc:`read_restart ` commands: * A (force units) -* sigma (force\*time\^(1/2) units) -* kappa (energy\*temperature/time units) +* :math:`\sigma` (force\*time\^(1/2) units) +* :math:`\kappa` (energy\*temperature/time units) * cutoff (distance units) The last coefficient is optional. If not specified, the global DPD @@ -140,10 +152,8 @@ Shardlow splitting algorithm is advantageous, especially when performing DPD under isoenergetic conditions, as it allows significantly larger timesteps to be taken. - ---------- - 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 @@ -162,46 +172,34 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - These commands are part of the USER-DPD package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Pair styles *dpd/fdt* and *dpd/fdt/energy* require use of the -:doc:`comm\_modify vel yes ` option so that velocities are +:doc:`comm_modify vel yes ` option so that velocities are stored by ghost atoms. -Pair style *dpd/fdt/energy* requires :doc:`atom\_style dpd ` +Pair style *dpd/fdt/energy* requires :doc:`atom_style dpd ` to be used in order to properly account for the particle internal energies and temperatures. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`fix shardlow ` +:doc:`pair_coeff `, :doc:`fix shardlow ` **Default:** none - ---------- - .. _Lisal3: - - **(Lisal)** M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative particle dynamics at isothermal, isobaric, isoenergetic, and isoenthalpic conditions using Shardlow-like splitting algorithms.", J. Chem. Phys., 135, 204105 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_drip.rst b/doc/src/pair_drip.rst index 270afb8dbdba737211188fe400f7305f26f15c80..25a51c4de863c87d2fcaf4f9779476853011e8ce 100644 --- a/doc/src/pair_drip.rst +++ b/doc/src/pair_drip.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style drip +.. index:: pair_style drip -pair\_style drip command -======================== +pair_style drip command +======================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay drip [styles ...] @@ -16,20 +15,19 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay drip - pair_coeff \* \* none - pair_coeff \* \* drip C.drip C + pair_coeff * * none + pair_coeff * * drip C.drip C pair_style hybrid/overlay drip rebo - pair_coeff \* \* drip C.drip C - pair_coeff \* \* rebo CH.airebo C + pair_coeff * * drip C.drip C + pair_coeff * * rebo CH.airebo C pair_style hybrid/overlay drip rebo - pair_coeff \* \* drip C.drip C NULL - pair_coeff \* \* rebo CH.airebo C H + pair_coeff * * drip C.drip C NULL + pair_coeff * * rebo CH.airebo C H Description """"""""""" @@ -40,10 +38,12 @@ in :ref:`(Wen) `, which is based on the :ref:`(Kolmogorov) `) is much smaller than the equilibrium layer distance of graphene layers (about 3.4 Angstrom). If you want, you can enforce this by assigning different atom types to atoms in different layers, and apply an intralayer potential to one atom type. -See :doc:`pair\_hybrid ` for details. - +See :doc:`pair_hybrid ` for details. ---------- - -The :doc:`pair\_coeff ` command for DRIP takes *4+N* arguments, where +The :doc:`pair_coeff ` command for DRIP takes *4+N* arguments, where *N* is the number of LAMMPS atom types. The fist three arguments must be fixed to be *\* \* drip*, the fourth argument is the path to the DRIP parameter file, and the remaining N arguments specifying the mapping between element in the parameter file and atom types. For example, if your LAMMPS simulation has 3 atom -types and you want all of them to be C, you would use the following pair\_coeff +types and you want all of them to be C, you would use the following pair_coeff command: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* drip C.drip C C C + pair_coeff * * drip C.drip C C C If a mapping value is specified as NULL, the mapping is not performed. This could be useful when DRIP is used to model part of the system where other @@ -92,37 +89,33 @@ element exists. Suppose you have a hydrocarbon system, with C of atom type 1 and H of atom type 2, you can use the following command to inform DRIP not to model H atoms: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay drip rebo - pair_coeff \* \* drip C.drip C NULL - pair_coeff \* \* rebo CH.airebo C H + pair_coeff * * drip C.drip C NULL + pair_coeff * * rebo CH.airebo C H .. note:: The potential parameters developed in :ref:`(Wen) ` are provided with LAMMPS (see the "potentials" directory). Besides those in :ref:`Wen `, an - additional parameter "normal\_cutoff", specific to the LAMMPS implementation, is + additional parameter "normal_cutoff", specific to the LAMMPS implementation, is used to find the three nearest neighbors of an atom to construct the normal. - ---------- - **Mixing, shift, table, tail correction, and restart info**\ : -This pair style does not support the pair\_modify mix, shift, table, +This pair style does not support the pair_modify mix, shift, table, and tail options. This pair style does not write their information to binary restart files, since -it is stored in potential files. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +it is stored in potential files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. Restrictions """""""""""" - This pair style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -134,34 +127,23 @@ The *C.drip* parameter file provided with LAMMPS (see the "potentials" directory) is parameterized for metal :doc:`units `. You can use the DRIP potential with any LAMMPS units, but you would need to create your own custom parameter file with coefficients listed in the appropriate units, if your -simulation doesn't use "metal" units. +simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_style lebedeva\_z `, -:doc:`pair\_style kolmogorov/crespi/z `, -:doc:`pair\_style kolmogorov/crespi/full `, -:doc:`pair\_style ilp/graphene/hbn `. - +:doc:`pair_style lebedeva_z `, +:doc:`pair_style kolmogorov/crespi/z `, +:doc:`pair_style kolmogorov/crespi/full `, +:doc:`pair_style ilp/graphene/hbn `. ---------- - .. _Wen2018: - - **(Wen)** M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018) .. _Kolmogorov2005: - - **(Kolmogorov)** A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_dsmc.rst b/doc/src/pair_dsmc.rst index 38093d00e85fd97604c1b205e177af338a39cb76..03f6505d47eb32cf46a3bead4f1c63ce8291ebd3 100644 --- a/doc/src/pair_dsmc.rst +++ b/doc/src/pair_dsmc.rst @@ -1,31 +1,29 @@ -.. index:: pair\_style dsmc +.. index:: pair_style dsmc -pair\_style dsmc command -======================== +pair_style dsmc command +======================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style dsmc max_cell_size seed weighting Tref Nrecompute Nsample -* max\_cell\_size = global maximum cell size for DSMC interactions (distance units) +* max_cell_size = global maximum cell size for DSMC interactions (distance units) * seed = random # seed (positive integer) * weighting = macroparticle weighting * Tref = reference temperature (temperature units) -* Nrecompute = re-compute v\*sigma\_max every this many timesteps (timesteps) -* Nsample = sample this many times in recomputing v\*sigma\_max +* Nrecompute = re-compute v\*sigma_max every this many timesteps (timesteps) +* Nsample = sample this many times in recomputing v\*sigma_max Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style dsmc 2.5 34387 10 1.0 100 20 - pair_coeff \* \* 1.0 + pair_coeff * * 1.0 pair_coeff 1 1 1.0 Description @@ -36,35 +34,33 @@ direct simulation Monte Carlo (DSMC) model following the exposition in :ref:`(Bird) `. Each collision resets the velocities of the two particles involved. The number of pairwise collisions for each pair or particle types and the length scale within which they occur are -determined by the parameters of the pair\_style and pair\_coeff +determined by the parameters of the pair_style and pair_coeff commands. Stochastic collisions are performed using the variable hard sphere -(VHS) approach, with the user-defined *max\_cell\_size* value used as +(VHS) approach, with the user-defined *max_cell_size* value used as the maximum DSMC cell size, and reference cross-sections for -collisions given using the pair\_coeff command. +collisions given using the pair_coeff command. There is no pairwise energy or virial contributions associated with this pair style. The following coefficient must be defined for each pair of atoms types -via the :doc:`pair\_coeff ` command as in the examples above, +via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: * sigma (area units, i.e. distance-squared) -The global DSMC *max\_cell\_size* determines the maximum cell length +The global DSMC *max_cell_size* determines the maximum cell length used in the DSMC calculation. A structured mesh is overlayed on the simulation box such that an integer number of cells are created in each direction for each processor's sub-domain. Cell lengths are adjusted up to the user-specified maximum cell size. - ---------- - To perform a DSMC simulation with LAMMPS, several additional options should be set in your input script, though LAMMPS does not check for these settings. @@ -73,8 +69,7 @@ Since this pair style does not compute particle forces, you should use the "fix nve/noforce" time integration fix for the DSMC particles, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/noforce @@ -84,8 +79,7 @@ possible to perform all collisions between pairs of particles that are on the same processor. To ensure this occurs, you should use these commands: - -.. parsed-literal:: +.. code-block:: LAMMPS neighbor 0.0 bin neigh_modify every 1 delay 0 check no @@ -104,31 +98,28 @@ uniform, which will not give good DSMC collision rates. Specify "dist gaussian" when using the :doc:`velocity ` command as in the following: - -.. parsed-literal:: +.. code-block:: LAMMPS velocity all create 594.6 87287 loop geom dist gaussian - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Note that the user-specified random number seed is stored in the restart file, so when a simulation is restarted, each processor will @@ -138,41 +129,29 @@ be the same as they would have been if the original simulation had continued past the restart time. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`fix nve/noforce `, -:doc:`neigh\_modify `, :doc:`neighbor `, -:doc:`comm\_modify ` +:doc:`pair_coeff `, :doc:`fix nve/noforce `, +:doc:`neigh_modify `, :doc:`neighbor `, +:doc:`comm_modify ` **Default:** none - ---------- - .. _Bird: - - **(Bird)** G. A. Bird, "Molecular Gas Dynamics and the Direct Simulation of Gas Flows" (1994). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_e3b.rst b/doc/src/pair_e3b.rst index 73afdd7f537c48d993634799baad63d8f9886d1c..68f8708b27bcca9f44eb255f2254837393a18899 100644 --- a/doc/src/pair_e3b.rst +++ b/doc/src/pair_e3b.rst @@ -1,21 +1,20 @@ -.. index:: pair\_style e3b +.. index:: pair_style e3b -pair\_style e3b command -======================= +pair_style e3b command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style e3b Otype * Otype = atom type for oxygen -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* keyword + pair_coeff * * keyword * one or more keyword/value pairs must be appended. * keyword = *preset* or *Ea* or *Eb* or *Ec* or *E2* or *K3* or *K2* or *Rs* or *Rc3* or *Rc2* or *bondL* or *neigh* @@ -43,25 +42,34 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style e3b 1 - pair_coeff \* \* Ea 35.85 Eb -240.2 Ec 449.3 E2 108269.9 K3 1.907 K2 4.872 Rc3 5.2 Rc2 5.2 Rs 5.0 bondL 0.9572 + pair_coeff * * Ea 35.85 Eb -240.2 Ec 449.3 E2 108269.9 K3 1.907 K2 4.872 Rc3 5.2 Rc2 5.2 Rs 5.0 bondL 0.9572 pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.15 8.5 - pair_coeff \* \* e3b preset 2011 + pair_coeff * * e3b preset 2011 Description """"""""""" The *e3b* style computes an \"explicit three-body\" (E3B) potential for water :ref:`(Kumar 2008) `. -.. image:: Eqs/e3b.jpg - :align: center +.. math:: + + E =& E_2 \sum_{i,j}e^{-k_2 r_{ij}} + E_A \sum_{\substack{i,j,k,\ell \\ + \in \textrm{type A}}} f(r_{ij})f(r_{k\ell}) + E_B \sum_{\substack{i,j,k,\ell \\ + \in \textrm{type B}}} f(r_{ij})f(r_{k\ell}) + E_C \sum_{\substack{i,j,k,\ell \\ + \in \textrm{type C}}} f(r_{ij})f(r_{k\ell}) \\ + f(r) =& e^{-k_3 r}s(r) \\ + s(r) =& \begin{cases} + 1 & rR_f\\ + \end{cases} This potential was developed as a water model that includes the three-body cooperativity of hydrogen bonding explicitly. -To use it in this way, it must be applied in conjunction with a conventional two-body water model, through *pair\_style hybrid/overlay*. +To use it in this way, it must be applied in conjunction with a conventional two-body water model, through *pair_style hybrid/overlay*. The three body interactions are split into three types: A, B, and C. Type A corresponds to anti-cooperative double hydrogen bond donor interactions. Type B corresponds to the cooperative interaction of molecules that both donate and accept a hydrogen bond. @@ -71,9 +79,9 @@ The two-body interactions are designed to correct for the effective many-body in The two-body interactions are cut off sharply at Rc2, because K3 is typically significantly smaller than K2. See :ref:`(Kumar 2008) ` for more details. -Only a single *pair\_coeff* command is used with the *e3b* style. +Only a single *pair_coeff* command is used with the *e3b* style. The 1st two arguments must be \* \*. -The oxygen atom type for the pair style is passed as the only argument to the *pair\_style* command, not in the *pair\_coeff* command. +The oxygen atom type for the pair style is passed as the only argument to the *pair_style* command, not in the *pair_coeff* command. The hydrogen atom type is inferred by the ordering of the atoms. .. note:: @@ -82,14 +90,14 @@ The hydrogen atom type is inferred by the ordering of the atoms. Each water molecule must have consecutive IDs with the oxygen first. This pair style does not test that this criteria is met. -The *pair\_coeff* command must have at least one keyword/value pair, as described above. +The *pair_coeff* command must have at least one keyword/value pair, as described above. The *preset* keyword sets the potential parameters to the values used in :ref:`(Tainter 2011) ` or :ref:`(Tainter 2015) `. -To use the water models defined in those references, the *e3b* style should always be used in conjunction with an *lj/cut/tip4p/long* style through *pair\_style hybrid/overlay*, as demonstrated in the second example above. +To use the water models defined in those references, the *e3b* style should always be used in conjunction with an *lj/cut/tip4p/long* style through *pair_style hybrid/overlay*, as demonstrated in the second example above. The *preset 2011* option should be used with the :doc:`TIP4P water model `. The *preset 2015* option should be used with the :doc:`TIP4P/2005 water model `. If the *preset* keyword is used, no other keyword is needed. Changes to the preset parameters can be made by specifying the *preset* keyword followed by the specific parameter to change, like *Ea*\ . -Note that the other keywords must come after *preset* in the pair\_style command. +Note that the other keywords must come after *preset* in the pair_style command. The *e3b* style can also be used to implement any three-body potential of the same form by specifying all the keywords except *neigh*\ : *Ea*\ , *Eb*\ , *Ec*\ , *E2*\ , *K3*\ , *K2*\ , *Rc3*\ , *Rc2*\ , *Rs*\ , and *bondL*\ . The keyword *bondL* specifies the intramolecular OH bond length of the water model being used. This is needed to include H atoms that are within the cutoff even when the attached oxygen atom is not. @@ -103,31 +111,26 @@ If the neigh setting is too large, the pair style will use more memory than nece This pair style tallies a breakdown of the total E3B potential energy into sub-categories, which can be accessed via the :doc:`compute pair ` command as a vector of values of length 4. The 4 values correspond to the terms in the first equation above: the E2 term, the Ea term, the Eb term, and the Ec term. -See the examples/USER/e3b directory for a complete example script. - +See the examples/USER/misc/e3b directory for a complete example script. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style is incompatible with :doc:`respa `. - ---------- - Restrictions """""""""""" - This pair style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -135,7 +138,7 @@ This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. This pair style requires a fixed number of atoms in the simulation, so it is incompatible with fixes like :doc:`fix deposit `. -If the number of atoms changes between runs, this pair style must be re-initialized by calling the *pair\_style* and *pair\_coeffs* commands. +If the number of atoms changes between runs, this pair style must be re-initialized by calling the *pair_style* and *pair_coeffs* commands. This is not a fundamental limitation of the pair style, but the code currently does not support a variable number of atoms. The *preset* keyword currently only works with real, metal, si, and cgs :doc:`units `. @@ -143,34 +146,23 @@ The *preset* keyword currently only works with real, metal, si, and cgs :doc:`un Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`compute pair ` +:doc:`pair_coeff `, :doc:`compute pair ` Default """"""" The option default for the *neigh* keyword is 10. - ---------- - .. _Kumar: - - .. _Tainter2011: **(Kumar)** Kumar and Skinner, J. Phys. Chem. B, 112, 8311 (2008) - .. _Tainter2015: **(Tainter 2011)** Tainter, Pieniazek, Lin, and Skinner, J. Chem. Phys., 134, 184501 (2011) - **(Tainter 2015)** Tainter, Shi, and Skinner, 11, 2268 (2015) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_eam.rst b/doc/src/pair_eam.rst index b367f00eb53baf7fdfbc669850ec0f3b0c7684c1..7384a4d54cf3f8f72b78eb844fc255719aea6e9c 100644 --- a/doc/src/pair_eam.rst +++ b/doc/src/pair_eam.rst @@ -1,76 +1,75 @@ -.. index:: pair\_style eam +.. index:: pair_style eam -pair\_style eam command -======================= +pair_style eam command +====================== -pair\_style eam/gpu command -=========================== +pair_style eam/gpu command +========================== -pair\_style eam/intel command -============================= +pair_style eam/intel command +============================ + +pair_style eam/kk command +========================= -pair\_style eam/kk command +pair_style eam/omp command ========================== -pair\_style eam/omp command -=========================== +pair_style eam/opt command +========================== -pair\_style eam/opt command -=========================== +pair_style eam/alloy command +============================ -pair\_style eam/alloy command -============================= +pair_style eam/alloy/gpu command +================================ -pair\_style eam/alloy/gpu command -================================= +pair_style eam/alloy/intel command +================================== -pair\_style eam/alloy/intel command -=================================== +pair_style eam/alloy/kk command +=============================== -pair\_style eam/alloy/kk command +pair_style eam/alloy/omp command ================================ -pair\_style eam/alloy/omp command -================================= +pair_style eam/alloy/opt command +================================ -pair\_style eam/alloy/opt command -================================= +pair_style eam/cd command +========================= -pair\_style eam/cd command -========================== +pair_style eam/cd/omp command +============================= -pair\_style eam/cd/omp command -============================== +pair_style eam/cd/old command +============================= -pair\_style eam/cd/old command -============================== +pair_style eam/cd/old/omp command +================================= -pair\_style eam/cd/old/omp command -================================== +pair_style eam/fs command +========================= -pair\_style eam/fs command -========================== +pair_style eam/fs/gpu command +============================= -pair\_style eam/fs/gpu command -============================== +pair_style eam/fs/intel command +=============================== -pair\_style eam/fs/intel command -================================ +pair_style eam/fs/kk command +============================ -pair\_style eam/fs/kk command +pair_style eam/fs/omp command ============================= -pair\_style eam/fs/omp command -============================== - -pair\_style eam/fs/opt command -============================== +pair_style eam/fs/opt command +============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style @@ -79,21 +78,20 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style eam - pair_coeff \* \* cuu3 - pair_coeff 1\*3 1\*3 niu3.eam + pair_coeff * * cuu3 + pair_coeff 1*3 1\*3 niu3.eam pair_style eam/alloy - pair_coeff \* \* ../potentials/NiAlH_jea.eam.alloy Ni Al Ni Ni + pair_coeff * * ../potentials/NiAlH_jea.eam.alloy Ni Al Ni Ni pair_style eam/cd - pair_coeff \* \* ../potentials/FeCr.cdeam Fe Cr + pair_coeff * * ../potentials/FeCr.cdeam Fe Cr pair_style eam/fs - pair_coeff \* \* NiAlH_jea.eam.fs Ni Al Ni Ni + pair_coeff * * NiAlH_jea.eam.fs Ni Al Ni Ni Description """"""""""" @@ -102,8 +100,10 @@ Style *eam* computes pairwise interactions for metals and metal alloys using embedded-atom method (EAM) potentials :ref:`(Daw) `. The total energy Ei of an atom I is given by -.. image:: Eqs/pair_eam.jpg - :align: center +.. math:: + + E_i = F_\alpha \left(\sum_{j \neq i}\ \rho_\beta (r_{ij})\right) + + \frac{1}{2} \sum_{j \neq i} \phi_{\alpha\beta} (r_{ij}) where F is the embedding energy which is a function of the atomic electron density rho, phi is a pair potential interaction, and alpha @@ -114,7 +114,7 @@ within the cutoff distance. The cutoff distance and the tabulated values of the functionals F, rho, and phi are listed in one or more files which are specified by -the :doc:`pair\_coeff ` command. These are ASCII text files +the :doc:`pair_coeff ` command. These are ASCII text files in a DYNAMO-style format which is described below. DYNAMO was the original serial EAM MD code, written by the EAM originators. Several DYNAMO potential files for different metals are included in the @@ -136,7 +136,7 @@ are parameterized in terms of LAMMPS :doc:`metal units `. .. note:: Note that unlike for other potentials, cutoffs for EAM - potentials are not set in the pair\_style or pair\_coeff command; they + potentials are not set in the pair_style or pair_coeff command; they are specified in the EAM potential files themselves. Likewise, the EAM potential files list atomic masses; thus you do not need to use the :doc:`mass ` command to specify them. @@ -144,12 +144,12 @@ are parameterized in terms of LAMMPS :doc:`metal units `. There are several WWW sites that distribute and document EAM potentials stored in DYNAMO or other formats: - .. parsed-literal:: http://www.ctcms.nist.gov/potentials http://cst-www.nrl.navy.mil/ccm6/ap http://enpub.fulton.asu.edu/cms/potentials/main/main.htm + https://openkim.org These potentials should be usable with LAMMPS, though the alternate formats would need to be converted to the DYNAMO format used by LAMMPS @@ -157,35 +157,37 @@ and described on this page. The NIST site is maintained by Chandler Becker (cbecker at nist.gov) who is good resource for info on interatomic potentials and file formats. +The OpenKIM Project at +`https://openkim.org/browse/models/by-type `_ +provides EAM potentials that can be used directly in LAMMPS with the +:doc:`kim_commands ` interface. ---------- - For style *eam*\ , potential values are read from a file that is in the DYNAMO single-element *funcfl* format. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. Note that unlike for other potentials, cutoffs for EAM potentials are -not set in the pair\_style or pair\_coeff command; they are specified in +not set in the pair_style or pair_coeff command; they are specified in the EAM potential files themselves. For style *eam* a potential file must be assigned to each I,I pair of -atom types by using one or more pair\_coeff commands, each with a +atom types by using one or more pair_coeff commands, each with a single argument: * filename Thus the following command +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \*2 1\*2 cuu3.eam + pair_coeff *2 1*2 cuu3.eam will read the cuu3 potential file and use the tabulated Cu values for F, phi, rho that it contains for type pairs 1,1 and 2,2 (type pairs -1,2 and 2,1 are ignored). See the :doc:`pair\_coeff ` doc +1,2 and 2,1 are ignored). See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. In effect, this makes atom types 1 and 2 in LAMMPS be Cu atoms. Different single-element files can be assigned to different atom types @@ -229,20 +231,17 @@ sqrt(Hartree \* Bohr-radii). For two interacting atoms i,j this is used by LAMMPS to compute the pair potential term in the EAM energy expression as r\*phi, in units of eV-Angstroms, via the formula +.. math:: -.. parsed-literal:: - - r\*phi = 27.2 \* 0.529 \* Zi \* Zj + r \cdot \phi = 27.2 \cdot 0.529 \cdot Z_i \cdot Z_j where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms. - ---------- - Style *eam/alloy* computes pairwise interactions using the same formula as style *eam*\ . However the associated -:doc:`pair\_coeff ` command reads a DYNAMO *setfl* file +:doc:`pair_coeff ` command reads a DYNAMO *setfl* file instead of a *funcfl* file. *Setfl* files can be used to model a single-element or alloy system. In the alloy case, as explained above, *setfl* files contain explicit tabulated values for alloy @@ -256,27 +255,26 @@ DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. -Only a single pair\_coeff command is used with the *eam/alloy* style +Only a single pair_coeff command is used with the *eam/alloy* style which specifies a DYNAMO *setfl* file, which contains information for M elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of *setfl* elements to atom types -As an example, the potentials/NiAlH\_jea.eam.alloy file is a *setfl* +As an example, the potentials/NiAlH_jea.eam.alloy file is a *setfl* file which has tabulated EAM values for 3 elements and their alloy -interactions: Ni, Al, and H. See the :doc:`pair\_coeff ` doc +interactions: Ni, Al, and H. See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to -be Ni, and the 4th to be Al, you would use the following pair\_coeff +be Ni, and the 4th to be Al, you would use the following pair_coeff command: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* NiAlH_jea.eam.alloy Ni Ni Ni Al + pair_coeff * * NiAlH_jea.eam.alloy Ni Ni Ni Al The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three Ni arguments map LAMMPS atom types 1,2,3 to the Ni @@ -331,10 +329,8 @@ the tabulated values for each phi function are listed in *setfl* files directly as r\*phi (in units of eV-Angstroms), since they are for atom pairs. - ---------- - Style *eam/cd* is similar to the *eam/alloy* style, except that it computes alloy pairwise interactions using the concentration-dependent embedded-atom method (CD-EAM). This model can reproduce the enthalpy @@ -342,7 +338,7 @@ of mixing of alloys over the full composition range, as described in :ref:`(Stukowski) `. Style *eam/cd/old* is an older, slightly different and slower two-site formulation of the model :ref:`(Caro) `. -The pair\_coeff command is specified the same as for the *eam/alloy* +The pair_coeff command is specified the same as for the *eam/alloy* style. However the DYNAMO *setfl* file must has two lines added to it, at the end of the file: @@ -362,17 +358,18 @@ the input EAM file are always taken as the *A* and *B* species. *CD-EAM* files in the *potentials* directory of the LAMMPS distribution have a ".cdeam" suffix. - ---------- - Style *eam/fs* computes pairwise interactions for metals and metal alloys using a generalized form of EAM potentials due to Finnis and Sinclair :ref:`(Finnis) `. The total energy Ei of an atom I is given by -.. image:: Eqs/pair_eam_fs.jpg - :align: center +.. math:: + + E_i = F_\alpha \left(\sum_{j \neq i}\ + \rho_{\alpha\beta} (r_{ij})\right) + + \frac{1}{2} \sum_{j \neq i} \phi_{\alpha\beta} (r_{ij}) This has the same form as the EAM formula above, except that rho is now a functional specific to the atomic types of both atoms I and J, @@ -380,9 +377,9 @@ so that different elements can contribute differently to the total electron density at an atomic site depending on the identity of the element at that atomic site. -The associated :doc:`pair\_coeff ` command for style *eam/fs* +The associated :doc:`pair_coeff ` command for style *eam/fs* reads a DYNAMO *setfl* file that has been extended to include -additional rho\_alpha\_beta arrays of tabulated values. A discussion of +additional rho_alpha_beta arrays of tabulated values. A discussion of how FS EAM differs from conventional EAM alloy potentials is given in :ref:`(Ackland1) `. An example of such a potential is the same author's Fe-P FS potential :ref:`(Ackland2) `. Note that while FS @@ -391,16 +388,15 @@ dependence on the total density, the implementation in LAMMPS does not require that; the user can tabulate any functional form desired in the FS potential files. -For style *eam/fs*\ , the form of the pair\_coeff command is exactly the +For style *eam/fs*\ , the form of the pair_coeff command is exactly the same as for style *eam/alloy*\ , e.g. +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* NiAlH_jea.eam.fs Ni Ni Ni Al + pair_coeff * * NiAlH_jea.eam.fs Ni Ni Ni Al where there are N additional arguments after the filename, where N is -the number of LAMMPS atom types. See the :doc:`pair\_coeff ` +the number of LAMMPS atom types. See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. The N values determine the mapping of LAMMPS atom types to EAM elements in the file, as described above for style *eam/alloy*\ . As @@ -444,10 +440,8 @@ eV-Angstroms) as in EAM *setfl* files. Note that in Finnis/Sinclair, the phi(r) arrays are still symmetric, so only phi arrays for i >= j are listed. - ---------- - 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 @@ -466,90 +460,66 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above with the individual styles. You never need to specify -a pair\_coeff command with I != J arguments for the eam styles. +a pair_coeff command with I != J arguments for the eam styles. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. The eam pair styles do not write their information to :doc:`binary restart files `, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair\_style and pair\_coeff commands in +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. The eam pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - All of these styles are part of the MANYBODY package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Ackland1: - - **(Ackland1)** Ackland, Condensed Matter (2005). .. _Ackland2: - - **(Ackland2)** Ackland, Mendelev, Srolovitz, Han and Barashev, Journal of Physics: Condensed Matter, 16, S2629 (2004). .. _Daw: - - **(Daw)** Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). Daw, Baskes, Phys Rev B, 29, 6443 (1984). .. _Finnis1: - - **(Finnis)** Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984). .. _Stukowski: - - **(Stukowski)** Stukowski, Sadigh, Erhart, Caro; Modeling Simulation Materials Science & Engineering, 7, 075005 (2009). .. _Caro: - - **(Caro)** A Caro, DA Crowson, M Caro; Phys Rev Lett, 95, 075702 (2005) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_edip.rst b/doc/src/pair_edip.rst index a976baaf6107825f6712a12cd3537d23a693bbab..5561e30919f3a25225a50ea5e52f03fe0c425660 100644 --- a/doc/src/pair_edip.rst +++ b/doc/src/pair_edip.rst @@ -1,19 +1,18 @@ -.. index:: pair\_style edip +.. index:: pair_style edip -pair\_style edip command -======================== +pair_style edip command +======================= -pair\_style edip/omp command -============================ +pair_style edip/omp command +=========================== -pair\_style edip/multi command -============================== +pair_style edip/multi command +============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style @@ -22,8 +21,10 @@ Syntax Examples """""""" -pair\_style edip -pair\_coeff \* \* Si.edip Si +.. code-block:: LAMMPS + + pair_style edip + pair_coeff * * Si.edip Si Description """"""""""" @@ -37,26 +38,37 @@ potentials, while *edip/multi* supports multi-element EDIP runs. In EDIP, the energy E of a system of atoms is -.. image:: Eqs/pair_edip.jpg - :align: center - -where phi2 is a two-body term and phi3 is a three-body term. The -summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = a. -Both terms depend on the local environment of atom I through its -effective coordination number defined by Z, which is unity for a -cutoff distance < c and gently goes to 0 at distance = a. - -Only a single pair\_coeff command is used with the *edip* style which +.. math:: + + E = & \sum_{j \ne i} \phi_{2}(R_{ij}, Z_{i}) + \sum_{j \ne i} \sum_{k \ne i,k > j} \phi_{3}(R_{ij}, R_{ik}, Z_{i}) \\ + \phi_{2}(r, Z) = & A\left[\left(\frac{B}{r}\right)^{\rho} - e^{-\beta Z^2}\right]exp{\left(\frac{\sigma}{r-a}\right)} \\ + \phi_{3}(R_{ij}, R_{ik}, Z_i) = & exp{\left(\frac{\gamma}{R_{ij}-a}\right)}exp{\left(\frac{\gamma}{R_{ik}-a}\right)}h(cos\theta_{ijk},Z_i) \\ + Z_i = & \sum_{m \ne i} f(R_{im}) \qquad + f(r) = \begin{cases} + 1 & \quad ra + \end{cases} \\ + h(l,Z) = & \lambda [(1-e^{-Q(Z)(l+\tau(Z))^2}) + \eta Q(Z)(l+\tau(Z))^2 ] \\ + Q(Z) = & Q_0 e^{-\mu Z} \qquad \tau(Z) = u_1 + u_2 (u_3 e^{-u_4 Z} - e^{-2u_4 Z}) + +where :math:`\phi_2` is a two-body term and :math:`\phi_3` is a +three-body term. The summations in the formula are over all neighbors J +and K of atom I within a cutoff distance = a. Both terms depend on the +local environment of atom I through its effective coordination number +defined by Z, which is unity for a cutoff distance < c and gently goes +to 0 at distance = a. + +Only a single pair_coeff command is used with the *edip* style which specifies a EDIP potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of EDIP elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, imagine a file Si.edip has EDIP values for Si. @@ -74,14 +86,14 @@ and three-body coefficients in the formula above: * B (distance units) * cutoffA (distance units) * cutoffC (distance units) -* alpha -* beta -* eta -* gamma (distance units) -* lambda (energy units) -* mu -* tho -* sigma (distance units) +* :math:`\alpha` +* :math:`\beta` +* :math:`\eta` +* :math:`\gamma` (distance units) +* :math:`lambda` (energy units) +* :math:`\mu` +* :math:`\tau` +* :math:`\sigma` (distance units) * Q0 * u1 * u2 @@ -94,7 +106,7 @@ for three-body interactions. The alpha and cutoffC parameters are used for the coordination environment function only. The EDIP potential file must contain entries for all the -elements listed in the pair\_coeff command. It can also contain +elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. @@ -111,10 +123,8 @@ multi-element EDIP parameterization. If you know any and you are interest in that, please contact the author of the EDIP package. - ---------- - 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 @@ -133,31 +143,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -169,26 +174,17 @@ The EDIP potential files provided with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. You can use the EDIP potential with any LAMMPS units, but you would need to create your own EDIP potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. +appropriate units if your simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _EDIP: - - **(EDIP)** J F Justo et al, Phys Rev B 58, 2539 (1998). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_eff.rst b/doc/src/pair_eff.rst index 438ced67857778b4dc04d47cad1d2bd125fed024..f163e5afaa0f7d609e95e2cf2508ba0c68a185d0 100644 --- a/doc/src/pair_eff.rst +++ b/doc/src/pair_eff.rst @@ -1,21 +1,20 @@ -.. index:: pair\_style eff/cut +.. index:: pair_style eff/cut -pair\_style eff/cut command -=========================== +pair_style eff/cut command +========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style eff/cut cutoff keyword args ... * cutoff = global cutoff for Coulombic interactions * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *limit/eradius* or *pressure/evirials* or *ecp* *limit/eradius* args = none *pressure/evirials* args = none @@ -23,19 +22,16 @@ Syntax type = LAMMPS atom type (1 to Ntypes) element = element symbol (e.g. H, Si) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style eff/cut 39.7 pair_style eff/cut 40.0 limit/eradius pair_style eff/cut 40.0 limit/eradius pressure/evirials pair_style eff/cut 40.0 ecp 1 Si 3 C - pair_coeff \* \* + pair_coeff * * pair_coeff 2 2 20.0 pair_coeff 1 s 0.320852 2.283269 0.814857 pair_coeff 3 p 22.721015 0.728733 1.103199 17.695345 6.693621 @@ -93,40 +89,34 @@ electronically excited and ionized states of matter can occur and coexist. Furthermore, the interactions between particles -nuclei and electrons- reduce to the sum of a set of effective pairwise potentials in the eFF formulation. The *eff/cut* style computes the pairwise -Coulomb interactions between nuclei and electrons (E\_NN,E\_Ne,E\_ee), -and the quantum-derived Pauli (E\_PR) and Kinetic energy interactions -potentials between electrons (E\_KE) for a total energy expression +Coulomb interactions between nuclei and electrons (E_NN,E_Ne,E_ee), +and the quantum-derived Pauli (E_PR) and Kinetic energy interactions +potentials between electrons (E_KE) for a total energy expression given as, -.. image:: Eqs/eff_energy_expression.jpg - :align: center - -The individual terms are defined as follows: - -.. image:: Eqs/eff_KE.jpg - :align: center +.. math:: -.. image:: Eqs/eff_NN.jpg - :align: center + U\left(R,r,s\right) = E_{NN} \left( R \right) + E_{Ne} \left( {R,r,s} \right) + E_{ee} \left( {r,s} \right) + E_{KE} \left( {r,s} \right) + E_{PR} \left( { \uparrow \downarrow ,S} \right) -.. image:: Eqs/eff_Ne.jpg - :align: center +The individual terms are defined as follows: -.. image:: Eqs/eff_ee.jpg - :align: center +.. math:: -.. image:: Eqs/eff_Pauli.jpg - :align: center + E_{KE} = & \frac{\hbar^2 }{{m_{e} }}\sum\limits_i {\frac{3}{{2s_i^2 }}} \\ + E_{NN} = & \frac{1}{{4\pi \varepsilon _0 }}\sum\limits_{i < j} {\frac{{Z_i Z_j }}{{R_{ij} }}} \\ + E_{Ne} = & - \frac{1}{{4\pi \varepsilon _0 }}\sum\limits_{i,j} {\frac{{Z_i }}{{R_{ij} }}Erf\left( {\frac{{\sqrt 2 R_{ij} }}{{s_j }}} \right)} \\ + E_{ee} = & \frac{1}{{4\pi \varepsilon _0 }}\sum\limits_{i < j} {\frac{1}{{r_{ij} }}Erf\left( {\frac{{\sqrt 2 r_{ij} }}{{\sqrt {s_i^2 + s_j^2 } }}} \right)} \\ + E_{Pauli} = & \sum\limits_{\sigma _i = \sigma _j } {E\left( { \uparrow \uparrow } \right)_{ij}} + \sum\limits_{\sigma _i \ne \sigma _j } {E\left( { \uparrow \downarrow } \right)_{ij}} \\ -where, s\_i correspond to the electron sizes, the sigmas i's to the -fixed spins of the electrons, Z\_i to the charges on the nuclei, R\_ij +where, s_i correspond to the electron sizes, the sigmas i's to the +fixed spins of the electrons, Z_i to the charges on the nuclei, R_ij to the distances between the nuclei or the nuclei and electrons, and -r\_ij to the distances between electrons. For additional details see +r_ij to the distances between electrons. For additional details see :ref:`(Jaramillo-Botero) `. The overall electrostatics energy is given in Hartree units of energy by default and can be modified by an energy-conversion constant, -according to the units chosen (see :doc:`electron\_units `). The +according to the units chosen (see :doc:`electron_units `). The cutoff Rc, given in Bohrs (by default), truncates the interaction distance. The recommended cutoff for this pair style should follow the minimum image criterion, i.e. half of the minimum unit cell @@ -135,35 +125,33 @@ length. Style *eff/long* (not yet available) computes the same interactions as style *eff/cut* except that an additional damping factor is applied so it can be used in conjunction with the -:doc:`kspace\_style ` command and its *ewald* or *pppm* +:doc:`kspace_style ` command and its *ewald* or *pppm* option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space. -This potential is designed to be used with :doc:`atom\_style electron ` definitions, in order to handle the +This potential is designed to be used with :doc:`atom_style electron ` definitions, in order to handle the description of systems with interacting nuclei and explicit electrons. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * cutoff (distance units) For *eff/cut*\ , the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value specified -in the pair\_style command is used. +in the pair_style command is used. For *eff/long* (not yet available) no cutoff will be specified for an -individual I,J type pair via the :doc:`pair\_coeff ` command. -All type pairs use the same global cutoff specified in the pair\_style +individual I,J type pair via the :doc:`pair_coeff ` command. +All type pairs use the same global cutoff specified in the pair_style command. - ---------- - The *limit/eradius* and *pressure/evirials* keywords are optional. Neither or both must be specified. If not specified they are unset. @@ -172,7 +160,7 @@ becoming excessively diffuse at very high temperatures were the Gaussian wave packet representation breaks down, and from expanding as free particles to infinite size. If unset, electron radius is free to increase without bounds. If set, a restraining harmonic potential of -the form E = 1/2k\_ss\^2 for s > L\_box/2, where k\_s = 1 Hartrees/Bohr\^2, +the form E = 1/2k_ss\^2 for s > L_box/2, where k_s = 1 Hartrees/Bohr\^2, is applied on the electron radius. The *pressure/evirials* keyword is used to control between two types @@ -191,7 +179,7 @@ representations, after the "ecp" keyword. .. note:: Default ECP parameters are provided for C, N, O, Al, and Si. - Users can modify these using the pair\_coeff command as exemplified + Users can modify these using the pair_coeff command as exemplified above. For this, the User must distinguish between two different functional forms supported, one that captures the orbital overlap assuming the s-type core interacts with an s-like valence electron @@ -203,7 +191,7 @@ representations, after the "ecp" keyword. .. note:: there are two different pressures that can be reported for eFF - when defining this pair\_style, one (default) that considers electrons + when defining this pair_style, one (default) that considers electrons do not contribute radial virial components (i.e. electrons treated as incompressible 'rigid' spheres) and one that does. The radial electronic contributions to the virials are only tallied if the @@ -214,10 +202,8 @@ representations, after the "ecp" keyword. significant over long-term averaged runs (i.e. even though the energy partitioning changes, the total energy remains similar). - ---------- - .. note:: This implementation of eFF gives a reasonably accurate description @@ -229,11 +215,10 @@ representations, after the "ecp" keyword. Si. The ECP captures the orbital overlap between the core and valence electrons (i.e. Pauli repulsion) with one of the functional forms: -.. image:: Eqs/eff_ECP1.jpg - :align: center +.. math:: -.. image:: Eqs/eff_ECP2.jpg - :align: center + E_{Pauli(ECP_s)} = & p_1\exp\left(-\frac{p_2r^2}{p_3+s^2} \right) \\ + E_{Pauli(ECP_p)} = & p_1\left( \frac{2}{p_2/s+s/p_2} \right)\left( r-p_3s\right)^2\exp \left[ -\frac{p_4\left( r-p_3s \right)^2}{p_5+s^2} \right] Where the 1st form correspond to core interactions with s-type valence electrons and the 2nd to core interactions with p-type valence @@ -273,42 +258,37 @@ metals (e.g. beryllium) and semimetals such as boron; and various compounds containing ionic and/or multicenter bonds, such as boron dihydride. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the cutoff distance for the *eff/cut* style can be mixed. The default mix value is *geometric*\ . -See the "pair\_modify" command for details. +See the "pair_modify" command for details. -The :doc:`pair\_modify ` shift option is not relevant for +The :doc:`pair_modify ` shift option is not relevant for these pair styles. The *eff/long* (not yet available) style supports the -:doc:`pair\_modify ` table option for tabulation of the +:doc:`pair_modify ` table option for tabulation of the short-range portion of the long-range Coulombic interaction. -These pair styles do not support the :doc:`pair\_modify ` +These pair styles do not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -These pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These pair styles will only be enabled if LAMMPS is built with the USER-EFF package. It will only be enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for @@ -316,43 +296,32 @@ more info. These pair styles require that particles store electron attributes such as radius, radial velocity, and radial force, as defined by the -:doc:`atom\_style `. The *electron* atom style does all of +:doc:`atom_style `. The *electron* atom style does all of this. -Thes pair styles require you to use the :doc:`comm\_modify vel yes ` command so that velocities are stored by ghost +Thes pair styles require you to use the :doc:`comm_modify vel yes ` command so that velocities are stored by ghost atoms. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` Default """"""" -If not specified, limit\_eradius = 0 and pressure\_with\_evirials = 0. - +If not specified, limit_eradius = 0 and pressure_with_evirials = 0. ---------- - .. _Su: - - **(Su)** Su and Goddard, Excited Electron Dynamics Modeling of Warm Dense Matter, Phys Rev Lett, 99:185003 (2007). .. _Jaramillo-Botero: - - **(Jaramillo-Botero)** Jaramillo-Botero, Su, Qi, Goddard, Large-scale, Long-term Non-adiabatic Electron Molecular Dynamics for Describing Material Properties and Phenomena in Extreme Environments, J Comp Chem, 32, 497-512 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_eim.rst b/doc/src/pair_eim.rst index 001f31444386aa4c34055f209eadb0410aa07459..bb09e10ed27bf6a1cdd3b52a7c0d5a6e63b2e374 100644 --- a/doc/src/pair_eim.rst +++ b/doc/src/pair_eim.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style eim +.. index:: pair_style eim -pair\_style eim command -======================= +pair_style eim command +====================== -pair\_style eim/omp command -=========================== +pair_style eim/omp command +========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style @@ -19,13 +18,12 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style eim - pair_coeff \* \* Na Cl ../potentials/ffield.eim Na Cl - pair_coeff \* \* Na Cl ffield.eim Na Na Na Cl - pair_coeff \* \* Na Cl ../potentials/ffield.eim Cl NULL Na + pair_coeff * * Na Cl ../potentials/ffield.eim Na Cl + pair_coeff * * Na Cl ffield.eim Na Na Na Cl + pair_coeff * * Na Cl ../potentials/ffield.eim Cl NULL Na Description """"""""""" @@ -34,47 +32,57 @@ Style *eim* computes pairwise interactions for ionic compounds using embedded-ion method (EIM) potentials :ref:`(Zhou) `. The energy of the system E is given by -.. image:: Eqs/pair_eim1.jpg - :align: center +.. math:: + + E = \frac{1}{2} \sum_{i=1}^{N} \sum_{j=i_1}^{i_N} \phi_{ij} \left(r_{ij}\right) + \sum_{i=1}^{N}E_i\left(q_i,\sigma_i\right) The first term is a double pairwise sum over the J neighbors of all I -atoms, where phi\_ij is a pair potential. The second term sums over -the embedding energy E\_i of atom I, which is a function of its charge -q\_i and the electrical potential sigma\_i at its location. E\_i, q\_i, -and sigma\_i are calculated as +atoms, where :math:`\phi_{ij}` is a pair potential. The second term sums over +the embedding energy E_i of atom I, which is a function of its charge +q_i and the electrical potential :math:`\sigma_i` at its location. E_i, q_i, +and :math:`sigma_i` are calculated as -.. image:: Eqs/pair_eim2.jpg - :align: center +.. math:: -where eta\_ji is a pairwise function describing electron flow from atom -I to atom J, and psi\_ij is another pairwise function. The multi-body + q_i = & \sum_{j=i_1}^{i_N} \eta_{ji}\left(r_{ij}\right) \\ + \sigma_i = & \sum_{j=i_1}^{i_N} q_j \cdot \psi_{ij} \left(r_{ij}\right) \\ + E_i\left(q_i,\sigma_i\right) = & \frac{1}{2} \cdot q_i \cdot \sigma_i + +where :math:`\eta_{ji} is a pairwise function describing electron flow from atom +I to atom J, and :math:`\psi_{ij}` is another pairwise function. The multi-body nature of the EIM potential is a result of the embedding energy term. A complete list of all the pair functions used in EIM is summarized below -.. image:: Eqs/pair_eim3.jpg - :align: center +.. math:: + + \phi_{ij}\left(r\right) = & \left\{ \begin{array}{lr} + \left[\frac{E_{b,ij}\beta_{ij}}{\beta_{ij}-\alpha_{ij}}\exp\left(-\alpha_{ij} \frac{r-r_{e,ij}}{r_{e,ij}}\right)-\frac{E_{b,ij}\alpha_{ij}}{\beta_{ij}-\alpha_{ij}}\exp\left(-\beta_{ij} \frac{r-r_{e,ij}}{r_{e,ij}}\right)\right]f_c\left(r,r_{e,ij},r_{c,\phi,ij}\right),& p_{ij}=1 \\ + \left[\frac{E_{b,ij}\beta_{ij}}{\beta_{ij}-\alpha_{ij}} \left(\frac{r_{e,ij}}{r}\right)^{\alpha_{ij}} -\frac{E_{b,ij}\alpha_{ij}}{\beta_{ij}-\alpha_{ij}} \left(\frac{r_{e,ij}}{r}\right)^{\beta_{ij}}\right]f_c\left(r,r_{e,ij},r_{c,\phi,ij}\right),& p_{ij}=2 + \end{array} + \right.\\ + \eta_{ji} = & A_{\eta,ij}\left(\chi_j-\chi_i\right)f_c\left(r,r_{s,\eta,ij},r_{c,\eta,ij}\right) \\ + \psi_{ij}\left(r\right) = & A_{\psi,ij}\exp\left(-\zeta_{ij}r\right)f_c\left(r,r_{s,\psi,ij},r_{c,\psi,ij}\right) \\ + f_{c}\left(r,r_p,r_c\right) = & 0.510204 \mathrm{erfc}\left[\frac{1.64498\left(2r-r_p-r_c\right)}{r_c-r_p}\right] - 0.010204 -Here E\_b, r\_e, r\_(c,phi), alpha, beta, A\_(psi), zeta, r\_(s,psi), -r\_(c,psi), A\_(eta), r\_(s,eta), r\_(c,eta), chi, and pair function type -p are parameters, with subscripts ij indicating the two species of +Here :math:`E_b, r_e, r_(c,\phi), \alpha, \beta, A_(\psi), \zeta, r_(s,\psi), +r_(c,\psi), A_(\eta), r_(s,\eta), r_(c,\eta), \chi,` and pair function type +*p* are parameters, with subscripts *ij* indicating the two species of atoms in the atomic pair. .. note:: Even though the EIM potential is treating atoms as charged ions, - you should not use a LAMMPS :doc:`atom\_style ` that stores a + you should not use a LAMMPS :doc:`atom_style ` that stores a charge on each atom and thus requires you to assign a charge to each atom, e.g. the *charge* or *full* atom styles. This is because the EIM potential infers the charge on an atom from the equation above for - q\_i; you do not assign charges explicitly. - + q_i; you do not assign charges explicitly. ---------- - All the EIM parameters are listed in a potential file which is -specified by the :doc:`pair\_coeff ` command. This is an +specified by the :doc:`pair_coeff ` command. This is an ASCII text file in a format described below. The "ffield.eim" file included in the "potentials" directory of the LAMMPS distribution currently includes nine elements Li, Na, K, Rb, Cs, F, Cl, Br, and I. @@ -82,33 +90,32 @@ A system with any combination of these elements can be modeled. This file is parameterized in terms of LAMMPS :doc:`metal units `. Note that unlike other potentials, cutoffs for EIM potentials are not -set in the pair\_style or pair\_coeff command; they are specified in the +set in the pair_style or pair_coeff command; they are specified in the EIM potential file itself. Likewise, the EIM potential file lists atomic masses; thus you do not need to use the :doc:`mass ` command to specify them. -Only a single pair\_coeff command is used with the *eim* style which +Only a single pair_coeff command is used with the *eim* style which specifies an EIM potential file and the element(s) to extract information for. The EIM elements are mapped to LAMMPS atom types by -specifying N additional arguments after the filename in the pair\_coeff +specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * Elem1, Elem2, ... * EIM potential file * N element names = mapping of EIM elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example like one of those above, suppose you want to model a system with Na and Cl atoms. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Na, and the 4th to be Cl, you would -use the following pair\_coeff command: - +use the following pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* Na Cl ffield.eim Na Na Na Cl + pair_coeff * * Na Cl ffield.eim Na Na Na Cl The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The filename is the EIM potential file. The Na and Cl arguments @@ -140,17 +147,15 @@ radius (LAMMPS ignores it), ionic radius (LAMMPS ignores it), cohesive energy (LAMMPS ignores it), and q0 (must be 0). Lines starting with "pair:" are entered as: element 1, element 2, -r\_(c,phi), r\_(c,phi) (redundant for historical reasons), E\_b, r\_e, -alpha, beta, r\_(c,eta), A\_(eta), r\_(s,eta), r\_(c,psi), A\_(psi), zeta, -r\_(s,psi), and p. +r_(c,phi), r_(c,phi) (redundant for historical reasons), E_b, r_e, +alpha, beta, r_(c,eta), A_(eta), r_(s,eta), r_(c,psi), A_(psi), zeta, +r_(s,psi), and p. The lines in the file can be in any order; LAMMPS extracts the info it needs. - ---------- - 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 @@ -169,36 +174,24 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Zhou2: - - **(Zhou)** Zhou, submitted for publication (2010). Please contact Xiaowang Zhou (Sandia) for details via email at xzhou at sandia.gov. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_exp6_rx.rst b/doc/src/pair_exp6_rx.rst index d8262e0712bf5a3d729fe0a076d2d5d0893f2a5d..7f2be1817aded943051b04371f0e313b3247fd65 100644 --- a/doc/src/pair_exp6_rx.rst +++ b/doc/src/pair_exp6_rx.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style exp6/rx +.. index:: pair_style exp6/rx -pair\_style exp6/rx command -=========================== +pair_style exp6/rx command +========================== -pair\_style exp6/rx/kk command -============================== +pair_style exp6/rx/kk command +============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style exp6/rx cutoff ... @@ -20,17 +19,16 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style exp6/rx 10.0 pair_style exp6/rx 10.0 fractional pair_style exp6/rx 10.0 molecular - pair_coeff \* \* exp6.params h2o h2o exponent 1.0 1.0 10.0 - pair_coeff \* \* exp6.params h2o 1fluid exponent 1.0 1.0 10.0 - pair_coeff \* \* exp6.params 1fluid 1fluid exponent 1.0 1.0 10.0 - pair_coeff \* \* exp6.params 1fluid 1fluid none 10.0 - pair_coeff \* \* exp6.params 1fluid 1fluid polynomial filename 10.0 + pair_coeff * * exp6.params h2o h2o exponent 1.0 1.0 10.0 + pair_coeff * * exp6.params h2o 1fluid exponent 1.0 1.0 10.0 + pair_coeff * * exp6.params 1fluid 1fluid exponent 1.0 1.0 10.0 + pair_coeff * * exp6.params 1fluid 1fluid none 10.0 + pair_coeff * * exp6.params 1fluid 1fluid polynomial filename 10.0 Description """"""""""" @@ -43,17 +41,19 @@ one CG particle can interact with a species in a neighboring CG particle through a site-site interaction potential model. The *exp6/rx* style computes an exponential-6 potential given by -.. image:: Eqs/pair_exp6_rx.jpg - :align: center +.. math:: + + U_{ij}(r) = \frac{\epsilon}{\alpha-6}\{6\exp[\alpha(1-\frac{r_{ij}}{R_{m}})]-\alpha(\frac{R_{m}}{r_{ij}})^6\} -where the *epsilon* parameter determines the depth of the potential -minimum located at *Rm*\ , and *alpha* determines the softness of the repulsion. +where the :math:`\epsilon` parameter determines the depth of the +potential minimum located at :math:`R_m`, and :math:`\alpha` determines +the softness of the repulsion. The coefficients must be defined for each species in a given particle -type via the :doc:`pair\_coeff ` command as in the examples +type via the :doc:`pair_coeff ` command as in the examples above, where the first argument is the filename that includes the exponential-6 parameters for each species. The file includes the -species tag followed by the *alpha*\ , *epsilon* and *Rm* +species tag followed by the :math:`\alpha, \epsilon` and :math:`R_m` parameters. The format of the file is described below. The second and third arguments specify the site-site interaction @@ -74,33 +74,30 @@ to scale the EXP-6 parameters as reactions occur. Currently, there are three scaling options: *exponent*\ , *polynomial* and *none*\ . Exponent scaling requires two additional arguments for scaling -the *Rm* and *epsilon* parameters, respectively. The scaling factor +the :math:`R_m` and :math:`\epsilon` parameters, respectively. The scaling factor is computed by phi\^exponent, where phi is the number of molecules represented by the coarse-grain particle and exponent is specified -as a pair coefficient argument for *Rm* and *epsilon*\ , respectively. -The *Rm* and *epsilon* parameters are multiplied by the scaling +as a pair coefficient argument for :math:`R_m` and :math:`\epsilon`, respectively. +The :math:`R_m` and :math:`\epsilon` parameters are multiplied by the scaling factor to give the scaled interaction parameters for the CG particle. Polynomial scaling requires a filename to be specified as a pair coeff argument. The file contains the coefficients to a fifth order -polynomial for the *alpha*\ , *epsilon* and *Rm* parameters that depend +polynomial for the :math:`\alpha`, :math:`\epsilon` and :math:`R_m` parameters that depend upon phi (the number of molecules represented by the CG particle). The format of a polynomial file is provided below. The *none* option to the scaling does not have any additional pair coeff arguments. This is equivalent to specifying the *exponent* option with -*Rm* and *epsilon* exponents of 0.0 and 0.0, respectively. +:math:`R_m` and :math:`\epsilon` exponents of 0.0 and 0.0, respectively. The final argument specifies the interaction cutoff (optional). - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # exponential-6 parameters for various species (one or more comment or blank lines) @@ -113,7 +110,6 @@ parenthesized comments): The format of the polynomial scaling file as follows (without the parenthesized comments): - .. parsed-literal:: # POLYNOMIAL FILE (one or more comment or blank lines) @@ -133,45 +129,47 @@ between sections. Following a blank line, the next N lines list the species and their corresponding parameters. The first argument is the species tag, the -second argument is the exp6 tag, the 3rd argument is the *alpha* -parameter (energy units), the 4th argument is the *epsilon* parameter -(energy-distance\^6 units), and the 5th argument is the *Rm* parameter +second argument is the exp6 tag, the 3rd argument is the :math:`\alpha` +parameter (energy units), the 4th argument is the :math:`\epsilon` parameter +(energy-distance\^6 units), and the 5th argument is the :math:`R_m` parameter (distance units). If a species tag of "1fluid" is listed as a pair coefficient, a one-fluid approximation is specified where a concentration-dependent combination of the parameters is computed through the following equations: -.. image:: Eqs/pair_exp6_rx_oneFluid.jpg - :align: center +.. math:: + + R_{m}^{3} = & \sum_{a}\sum_{b} x_{a}x_{b}R_{m,ab}^{3} \\ + \epsilon = & \frac{1}{R_{m}^{3}}\sum_{a}\sum_{b} x_{a}x_{b}\epsilon_{ab}R_{m,ab}^{3} \\ + \alpha = & \frac{1}{\epsilon R_{m}^{3}}\sum_{a}\sum_{b} x_{a}x_{b}\alpha_{ab}\epsilon_{ab}R_{m,ab}^{3} where -.. image:: Eqs/pair_exp6_rx_oneFluid2.jpg - :align: center +.. math:: -and xa and xb are the mole fractions of a and b, respectively, which -comprise the gas mixture. + \epsilon_{ab} = & \sqrt{\epsilon_{a}\epsilon_{b}} \\ + R_{m,ab} = & \frac{R_{m,a}+R_{m,b}}{2} \\ + \alpha_{ab} = & \sqrt{\alpha_{a}\alpha_{b}} +and :math:`x_a` and :math:`x_b` are the mole fractions of a and b, respectively, which +comprise the gas mixture. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -This style does not support the :doc:`pair\_modify ` shift option +This style does not support the :doc:`pair_modify ` shift option for the energy of the exp() and 1/r\^6 portion of the pair interaction. -This style does not support the pair\_modify tail option for adding long-range +This style does not support the pair_modify tail option for adding long-range tail corrections to energy and pressure for the A,C terms in the pair interaction. - ---------- - 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 @@ -190,25 +188,17 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** fractional weighting - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_extep.rst b/doc/src/pair_extep.rst index 8d5da3d9741cf6fee91cb3320e7f97589064b523..8e5bc3ac9fca9b0e8c9a6fa154b8f30398a05d67 100644 --- a/doc/src/pair_extep.rst +++ b/doc/src/pair_extep.rst @@ -1,24 +1,22 @@ -.. index:: pair\_style extep +.. index:: pair_style extep -pair\_style extep command -========================= +pair_style extep command +======================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style extep Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style extep - pair_coeff \* \* BN.extep B N + pair_coeff * * BN.extep B N Description """"""""""" @@ -26,34 +24,23 @@ Description Style *extep* computes the Extended Tersoff Potential (ExTeP) interactions as described in :ref:`(Los2017) `. - ---------- - Restrictions """""""""""" - none +none Related commands """""""""""""""" -"pair\_tersoff" pair\_tersoff.html +"pair_tersoff" pair_tersoff.html **Default:** none - ---------- - .. _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. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_fep_soft.rst b/doc/src/pair_fep_soft.rst index 90dbfeb6121b2b85aab2fb30709836ffe693e7ed..c8f7d0d7ab328e52f9ad82c62e41c68e1df552ee 100644 --- a/doc/src/pair_fep_soft.rst +++ b/doc/src/pair_fep_soft.rst @@ -1,77 +1,75 @@ -.. index:: pair\_style lj/cut/soft +.. index:: pair_style lj/cut/soft -pair\_style lj/cut/soft command -=============================== +pair_style lj/cut/soft command +============================== -pair\_style lj/cut/soft/omp command -=================================== +pair_style lj/cut/soft/omp command +================================== -pair\_style lj/cut/coul/cut/soft command -======================================== +pair_style lj/cut/coul/cut/soft command +======================================= -pair\_style lj/cut/coul/cut/soft/omp command -============================================ +pair_style lj/cut/coul/cut/soft/omp command +=========================================== -pair\_style lj/cut/coul/long/soft command -========================================= +pair_style lj/cut/coul/long/soft command +======================================== -pair\_style lj/cut/coul/long/soft/omp command -============================================= +pair_style lj/cut/coul/long/soft/omp command +============================================ -pair\_style lj/cut/tip4p/long/soft command +pair_style lj/cut/tip4p/long/soft command ========================================== -pair\_style lj/cut/tip4p/long/soft/omp command +pair_style lj/cut/tip4p/long/soft/omp command ============================================== -pair\_style lj/charmm/coul/long/soft command +pair_style lj/charmm/coul/long/soft command ============================================ -pair\_style lj/charmm/coul/long/soft/omp command +pair_style lj/charmm/coul/long/soft/omp command ================================================ -pair\_style lj/class2/soft command +pair_style lj/class2/soft command ================================== -pair\_style lj/class2/coul/cut/soft command +pair_style lj/class2/coul/cut/soft command =========================================== -pair\_style lj/class2/coul/long/soft command +pair_style lj/class2/coul/long/soft command ============================================ -pair\_style coul/cut/soft command +pair_style coul/cut/soft command ================================= -pair\_style coul/cut/soft/omp command +pair_style coul/cut/soft/omp command ===================================== -pair\_style coul/long/soft command +pair_style coul/long/soft command ================================== -pair\_style coul/long/soft/omp command +pair_style coul/long/soft/omp command ====================================== -pair\_style tip4p/long/soft command +pair_style tip4p/long/soft command =================================== -pair\_style tip4p/long/soft/omp command +pair_style tip4p/long/soft/omp command ======================================= -pair\_style morse/soft command +pair_style morse/soft command ============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *lj/cut/soft* or *lj/cut/coul/cut/soft* or *lj/cut/coul/long/soft* or *lj/cut/tip4p/long/soft* or *lj/charmm/coul/long/soft* or *lj/class2/soft* or *lj/class2/coul/cut/soft* or *lj/class2/coul/long/soft* or *coul/cut/soft* or *coul/long/soft* or *tip4p/long/soft* or *morse/soft* * args = list of arguments for a particular style - .. parsed-literal:: *lj/cut/soft* args = n alpha_lj cutoff @@ -127,51 +125,50 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut/soft 2.0 0.5 9.5 - pair_coeff \* \* 0.28 3.1 1.0 + pair_coeff * * 0.28 3.1 1.0 pair_coeff 1 1 0.28 3.1 1.0 9.5 pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5 pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5 9.5 - pair_coeff \* \* 0.28 3.1 1.0 + pair_coeff * * 0.28 3.1 1.0 pair_coeff 1 1 0.28 3.1 0.5 10.0 pair_coeff 1 1 0.28 3.1 0.5 10.0 9.5 pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5 pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5 9.5 - pair_coeff \* \* 0.28 3.1 1.0 + pair_coeff * * 0.28 3.1 1.0 pair_coeff 1 1 0.28 3.1 0.0 10.0 pair_coeff 1 1 0.28 3.1 0.0 10.0 9.5 pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8 pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8 9.5 - pair_coeff \* \* 0.155 3.1536 1.0 + pair_coeff * * 0.155 3.1536 1.0 pair_coeff 1 1 0.155 3.1536 1.0 9.5 pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0 pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0 9.0 - pair_coeff \* \* 0.28 3.1 1.0 + pair_coeff * * 0.28 3.1 1.0 pair_coeff 1 1 0.28 3.1 1.0 0.14 3.1 pair_style lj/class2/coul/long/soft 2.0 0.5 10.0 9.5 pair_style lj/class2/coul/long/soft 2.0 0.5 10.0 9.5 9.5 - pair_coeff \* \* 0.28 3.1 1.0 + pair_coeff * * 0.28 3.1 1.0 pair_coeff 1 1 0.28 3.1 0.0 10.0 pair_coeff 1 1 0.28 3.1 0.0 10.0 9.5 pair_style coul/long/soft 1.0 10.0 9.5 - pair_coeff \* \* 1.0 + pair_coeff * * 1.0 pair_coeff 1 1 1.0 9.5 pair_style tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8 - pair_coeff \* \* 1.0 + pair_coeff * * 1.0 pair_coeff 1 1 1.0 9.5 pair_style morse/soft 4 0.9 10.0 - pair_coeff \* \* 100.0 2.0 1.5 1.0 + pair_coeff * * 100.0 2.0 1.5 1.0 pair_coeff 1 1 100.0 2.0 1.5 1.0 3.0 Description @@ -187,55 +184,65 @@ are suited for "alchemical" free energy calculations using the :doc:`fix adapt/f The *lj/cut/soft* style and related sub-styles compute the 12-6 Lennard-Jones and Coulomb potentials modified by a soft core, with the functional form -.. image:: Eqs/pair_lj_soft.jpg - :align: center +.. math:: + + E = \lambda^n 4 \epsilon \left\{ + \frac{1}{ \left[ \alpha_{\mathrm{LJ}} (1-\lambda)^2 + + \left( \displaystyle\frac{r}{\sigma} \right)^6 \right]^2 } - + \frac{1}{ \alpha_{\mathrm{LJ}} (1-\lambda)^2 + + \left( \displaystyle\frac{r}{\sigma} \right)^6 } + \right\} \qquad r < r_c The *lj/class2/soft* style is a 9-6 potential with the exponent of the denominator of the first term in brackets taking the value 1.5 instead of 2 (other details differ, see the form of the potential in -:doc:`pair\_class2 `). +:doc:`pair_style lj/class2 `). Coulomb interactions can also be damped with a soft core at short distance, -.. image:: Eqs/pair_coul_soft.jpg - :align: center +.. math:: -In the Coulomb part C is an energy-conversion constant, q\_i and q\_j -are the charges on the 2 atoms, and epsilon is the dielectric constant -which can be set by the :doc:`dielectric ` command. + E = \lambda^n \frac{ C q_i q_j}{\epsilon \left[ \alpha_{\mathrm{C}} + (1-\lambda)^2 + r^2 \right]^{1/2}} \qquad r < r_c -The coefficient lambda is an activation parameter. When lambda = 1 the pair -potential is identical to a Lennard-Jones term or a Coulomb term or a -combination of both. When lambda = 0 the interactions are deactivated. The -transition between these two extrema is smoothed by a soft repulsive core in -order to avoid singularities in potential energy and forces when sites are -created or annihilated and can overlap :ref:`(Beutler) `. +In the Coulomb part :math:`C` is an energy-conversion constant, :math:`q_i` and +:math:`q_j` are the charges on the 2 atoms, and epsilon is the dielectric +constant which can be set by the :doc:`dielectric ` command. -The parameters n, alpha\_LJ and alpha\_C are set in the -:doc:`pair\_style ` command, before the cutoffs. Usual choices for the -exponent are n = 2 or n = 1. For the remaining coefficients alpha\_LJ = 0.5 and -alpha\_C = 10 Angstrom\^2 are appropriate choices. Plots of the 12/6 LJ and -Coulomb terms are shown below, for lambda ranging from 1 to 0 every 0.1. +The coefficient lambda is an activation parameter. When :math:`\lambda = 1` the +pair potential is identical to a Lennard-Jones term or a Coulomb term or a +combination of both. When :math:`\lambda = 0` the interactions are +deactivated. The transition between these two extrema is smoothed by a soft +repulsive core in order to avoid singularities in potential energy and forces +when sites are created or annihilated and can overlap :ref:`(Beutler) +`. + +The parameters :math:`n`, :math:`\alpha_\mathrm{LJ}` and +:math:`\alpha_\mathrm{C}` are set in the :doc:`pair_style ` command, +before the cutoffs. Usual choices for the exponent are :math:`n = 2` or +:math:`n = 1`. For the remaining coefficients :math:`\alpha_\mathrm{LJ} = 0.5` +and :math:`\alpha_\mathrm{C} = 10~\text{A}^2` are appropriate choices. Plots of +the 12-6 LJ and Coulomb terms are shown below, for lambda ranging from 1 to 0 +every 0.1. .. image:: JPG/lj_soft.jpg .. image:: JPG/coul_soft.jpg - For the *lj/cut/coul/cut/soft* or *lj/cut/coul/long/soft* pair styles, as well as for the equivalent *class2* versions, the following coefficients must be -defined for each pair of atoms types via the :doc:`pair\_coeff ` +defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by -the :doc:`read\_data ` or :doc:`read\_restart ` commands, or -by mixing as described below: +the :doc:`read_data ` or :doc:`read_restart ` commands, +or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) -* lambda (activation parameter, between 0 and 1) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) +* :math:`\lambda` (activation parameter, between 0 and 1) * cutoff1 (distance units) * cutoff2 (distance units) The latter two coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair\_style command are used. +LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this @@ -245,88 +252,95 @@ since it has no Coulombic terms. For the *coul/cut/soft* and specified. Style *lj/cut/tip4p/long/soft* implements a soft-core version of the TIP4P water -model. The usage of the TIP4P pair style is documented in the -:doc:`pair\_lj ` styles. In the soft version the parameters n, alpha\_LJ -and alpha\_C are set in the :doc:`pair\_style ` command, after the -specific parameters of the TIP4P water model and before the cutoffs. The -activation parameter lambda is supplied as an argument of the -:doc:`pair\_coeff ` command, after epsilon and sigma and before the -optional cutoffs. +model. The usage of the TIP4P pair style is documented in the :doc:`pair_lj +` styles. In the soft version the parameters :math:`n`, +:math:`\alpha_\mathrm{LJ}` and :math:`\alpha_\mathrm {C}` are set in the +:doc:`pair_style ` command, after the specific parameters of the +TIP4P water model and before the cutoffs. The activation parameter lambda is +supplied as an argument of the :doc:`pair_coeff ` command, after +epsilon and sigma and before the optional cutoffs. Style *lj/charmm/coul/long/soft* implements a soft-core version of the modified -12-6 LJ potential used in CHARMM and documented in the -:doc:`pair\_lj\_charmm ` style. In the soft version the parameters n, -alpha\_LJ and alpha\_C are set in the :doc:`pair\_style ` command, before -the global cutoffs. The activation parameter lambda is introduced as an argument -of the :doc:`pair\_coeff ` command, after epsilon and sigma and -before the optional eps14 and sigma14. +12-6 LJ potential used in CHARMM and documented in the :doc:`pair_style +lj/charmm/coul/long ` style. In the soft version the parameters +:math:`n`, :math:`\alpha_\mathrm{LJ}` and :math:`\alpha_\mathrm{C}` are set in +the :doc:`pair_style ` command, before the global cutoffs. The +activation parameter lambda is introduced as an argument of the :doc:`pair_coeff +` command, after :math:`\epsilon` and :math:`\sigma` and before the +optional eps14 and sigma14. Style *lj/class2/soft* implements a soft-core version of the 9-6 potential in -:doc:`pair\_class2 `. In the soft version the parameters n, alpha\_LJ -and alpha\_C are set in the :doc:`pair\_style ` command, before the -global cutoffs. The activation parameter lambda is introduced as an argument of -the the :doc:`pair\_coeff ` command, after epsilon and sigma and before -the optional cutoffs. - -The *coul/cut/soft*\ , *coul/long/soft* and *tip4p/long/soft* sub-styles -are designed to be combined with other pair potentials via the -:doc:`pair\_style hybrid/overlay ` command. This is because -they have no repulsive core. Hence, if used by themselves, there will -be no repulsion to keep two oppositely charged particles from -overlapping each other. In this case, if lambda = 1, a singularity may -occur. These sub-styles are suitable to represent charges embedded in -the Lennard-Jones radius of another site (for example hydrogen atoms -in several water models). +:doc:`pair_style lj/class2 `. In the soft version the parameters +:math:`n`, :math:`\alpha_\mathrm{LJ}` and :math:`\alpha_\mathrm{C}` are set in the +:doc:`pair_style ` command, before the global cutoffs. The +activation parameter lambda is introduced as an argument of the the +:doc:`pair_coeff ` command, after :math:`\epsilon` and +:math:`\sigma` and before the optional cutoffs. + +The *coul/cut/soft*\ , *coul/long/soft* and *tip4p/long/soft* sub-styles are +designed to be combined with other pair potentials via the :doc:`pair_style +hybrid/overlay ` command. This is because they have no repulsive +core. Hence, if used by themselves, there will be no repulsion to keep two +oppositely charged particles from overlapping each other. In this case, if +:math:`\lambda = 1`, a singularity may occur. These sub-styles are suitable to +represent charges embedded in the Lennard-Jones radius of another site (for +example hydrogen atoms in several water models). .. note:: - When using the soft-core Coulomb potentials with long-range - solvers (\ *coul/long/soft*\ , *lj/cut/coul/long/soft*\ , etc.) in a free - energy calculation in which sites holding electrostatic charges are - being created or annihilated (using :doc:`fix adapt/fep ` - and :doc:`compute fep `) it is important to adapt both the - lambda activation parameter (from 0 to 1, or the reverse) and the - value of the charge (from 0 to its final value, or the reverse). This - ensures that long-range electrostatic terms (kspace) are correct. It - is not necessary to use soft-core Coulomb potentials if the van der - Waals site is present during the free-energy route, thus avoiding - overlap of the charges. Examples are provided in the LAMMPS source - directory tree, under examples/USER/fep. + When using the soft-core Coulomb potentials with long-range solvers (\ + *coul/long/soft*\ , *lj/cut/coul/long/soft*\ , etc.) in a free energy + calculation in which sites holding electrostatic charges are being created or + annihilated (using :doc:`fix adapt/fep ` and :doc:`compute fep + `) it is important to adapt both the :math:`\lambda` activation + parameter (from 0 to 1, or the reverse) and the value of the charge (from 0 + to its final value, or the reverse). This ensures that long-range + electrostatic terms (kspace) are correct. It is not necessary to use + soft-core Coulomb potentials if the van der Waals site is present during the + free-energy route, thus avoiding overlap of the charges. Examples are + provided in the LAMMPS source directory tree, under examples/USER/fep. .. note:: - To avoid division by zero do not set sigma = 0 in the *lj/cut/soft* and - related styles; use the lambda parameter instead to activate/deactivate - interactions, or use epsilon = 0 and sigma = 1. Alternatively, when sites do not - interact though the Lennard-Jones term the *coul/long/soft* or similar sub-style - can be used via the :doc:`pair\_style hybrid/overlay ` command. - + To avoid division by zero do not set :math:`\sigma = 0` in the *lj/cut/soft* + and related styles; use the lambda parameter instead to activate/deactivate + interactions, or use :math:`\epsilon = 0` and :math:`\sigma = 1`. + Alternatively, when sites do not interact though the Lennard-Jones term + the *coul/long/soft* or similar sub-style can be used via the + :doc:`pair_style hybrid/overlay ` command. ---------- - -The *morse/soft* variant modifies the :doc:`pair\_morse ` style at +The *morse/soft* variant modifies the :doc:`pair_morse ` style at short range to have a soft core. The functional form differs from that of the *lj/soft* styles, and is instead given by: -.. image:: Eqs/pair_morse_soft.jpg - :align: center +.. math:: + + \begin{split} + s(\lambda) =& (1 - \lambda) / (1 - \lambda_f), \qquad B = -2D e^{-2 \alpha + r_0} (e^{\alpha r_0} - 1) / 3 \\ + E =& D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + + s(\lambda) B e^{-3\alpha(r-r_0)}, \qquad \hspace{2.85em}\lambda \geq + \lambda_f,\quad r < r_c \\ + E =& \left( D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} + \right] + B e^{-3\alpha(r-r_0)} \right)(\lambda/\lambda_f)^n, \qquad \lambda + < \lambda_f,\quad r < r_c + \end{split} The *morse/soft* style requires the following pair coefficients: -* D0 (energy units) -* alpha (1/distance units) -* r0 (distance units) -* lambda (unitless, between 0.0 and 1.0) +* :math:`D_0` (energy units) +* :math:`\alpha` (1/distance units) +* :math:`r_0` (distance units) +* :math:`\lambda` (unitless, between 0.0 and 1.0) * cutoff (distance units) The last coefficient is optional. If not specified, the global morse cutoff is used. - ---------- - 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 @@ -338,69 +352,68 @@ 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 :doc:`Build package ` doc page for more info. -You can specify the accelerated styles explicitly in your input script -by including their suffix, or you can use the :doc:`-suffix command-line switch ` when you invoke LAMMPS, or you can use the -:doc:`suffix ` command in your input script. +You can specify the accelerated styles explicitly in your input script by +including their suffix, or you can use the :doc:`-suffix command-line switch +` when you invoke LAMMPS, or you can use the :doc:`suffix ` +command in your input script. See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, tail correction, restart info**\ : -The different versions of the *lj/cut/soft* pair styles support mixing. For atom -type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff -distance for these pair style can be mixed. The default mix value is -*geometric* for 12-6 styles. +The different versions of the *lj/cut/soft* pair styles support mixing. For +atom type pairs I,J and I != J, the :math:`\epsilon` and :math:`\sigma` +coefficients and cutoff distance for these pair style can be mixed. The default +mix value is *geometric* for 12-6 styles. -The mixing rule for epsilon and sigma for *lj/class2/soft* 9-6 potentials is to use the -*sixthpower* formulas. The :doc:`pair\_modify mix ` setting is thus -ignored for class2 potentials for epsilon and sigma. However it is still -followed for mixing the cutoff distance. See the :doc:`pair\_modify ` -command for details. +The mixing rule for epsilon and sigma for *lj/class2/soft* 9-6 potentials is to +use the *sixthpower* formulas. The :doc:`pair_modify mix ` setting +is thus ignored for class2 potentials for :math:`\epsilon` and +:math:`\sigma`. However it is still followed for mixing the cutoff distance. See +the :doc:`pair_modify ` command for details. The *morse/soft* pair style does not support mixing. Thus, coefficients for all LJ pairs must be specified explicitly. -All of the pair styles with soft core support the :doc:`pair\_modify ` +All of the pair styles with soft core support the :doc:`pair_modify ` shift option for the energy of the Lennard-Jones portion of the pair interaction. The different versions of the *lj/cut/soft* pair styles support the -:doc:`pair\_modify ` tail option for adding a long-range tail +:doc:`pair_modify ` tail option for adding a long-range tail correction to the energy and pressure for the Lennard-Jones portion of the pair interaction. .. note:: - The analytical form of the tail corrections for energy and pressure used - in the *lj/cut/soft* potentials are approximate, being identical to that of the - corresponding non-soft potentials scaled by a factor lambda\^n. The errors due to - this approximation should be negligible. For example, for a cutoff of 2.5 sigma - this approximation leads to maximum relative errors in tail corrections of the - order of 1e-4 for energy and virial (alpha\_LJ = 0.5, n = 2). The error vanishes - when lambda approaches 0 or 1. Note that these are the errors affecting the - long-range tail (itself a correction to the interaction energy) which includes - other approximations, namely that the system is homogeneous (local density equal + The analytical form of the tail corrections for energy and pressure used in + the *lj/cut/soft* potentials are approximate, being identical to that of the + corresponding non-soft potentials scaled by a factor :math:`\lambda^n`. The + errors due to this approximation should be negligible. For example, for a + cutoff of :math:`2.5\sigma` this approximation leads to maximum relative + errors in tail corrections of the order of 1e-4 for energy and virial + (:math:`\alpha_\mathrm{LJ} = 0.5, n = 2`). The error vanishes when lambda + approaches 0 or 1. Note that these are the errors affecting the long-range + tail (itself a correction to the interaction energy) which includes other + approximations, namely that the system is homogeneous (local density equal the average density) beyond the cutoff. -The *morse/soft* pair style does not support the :doc:`pair\_modify ` -tail option for adding long-range tail corrections to energy and pressure. - -All of these pair styles write information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need to be -specified in an input script that reads a restart file. +The *morse/soft* pair style does not support the :doc:`pair_modify +` tail option for adding long-range tail corrections to energy and +pressure. +All of these pair styles write information to :doc:`binary restart files +`, so pair_style and pair_coeff commands do not need to be specified +in an input script that reads a restart file. ---------- - Restrictions """""""""""" - The pair styles with soft core are only enabled if LAMMPS was built with the USER-FEP package. The *long* versions also require the KSPACE package to be installed. The soft *tip4p* versions also require the MOLECULE package to be @@ -411,23 +424,14 @@ info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`fix adapt `, +:doc:`pair_coeff `, :doc:`fix adapt `, :doc:`fix adapt/fep `, :doc:`compute fep ` **Default:** none - ---------- - .. _Beutler: - - **(Beutler)** Beutler, Mark, van Schaik, Gerber, van Gunsteren, Chem Phys Lett, 222, 529 (1994). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_gauss.rst b/doc/src/pair_gauss.rst index e5252afe2b0f1c0fe872ed6b6f7ccb9c28893863..1f183c00b917dcdb89549199537cf0132e839aae 100644 --- a/doc/src/pair_gauss.rst +++ b/doc/src/pair_gauss.rst @@ -1,25 +1,24 @@ -.. index:: pair\_style gauss +.. index:: pair_style gauss -pair\_style gauss command -========================= +pair_style gauss command +======================== -pair\_style gauss/gpu command -============================= +pair_style gauss/gpu command +============================ -pair\_style gauss/omp command -============================= +pair_style gauss/omp command +============================ -pair\_style gauss/cut command -============================= +pair_style gauss/cut command +============================ -pair\_style gauss/cut/omp command -================================= +pair_style gauss/cut/omp command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style gauss cutoff pair_style gauss/cut cutoff @@ -29,11 +28,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style gauss 12.0 - pair_coeff \* \* 1.0 0.9 + pair_coeff * * 1.0 0.9 pair_coeff 1 4 1.0 0.9 10.0 pair_style gauss/cut 3.5 @@ -44,16 +42,17 @@ Description Style *gauss* computes a tethering potential of the form -.. image:: Eqs/pair_gauss.jpg - :align: center +.. math:: + + E = - A \exp(-B r^2) \qquad r < r_c between an atom and its corresponding tether site which will typically -be a frozen atom in the simulation. Rc is the cutoff. +be a frozen atom in the simulation. :math:`r_c` is the cutoff. The following coefficients must be defined for each pair of atom types -via the :doc:`pair\_coeff ` command as in the examples above, +via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: * A (energy units) @@ -66,36 +65,36 @@ is used. Style *gauss/cut* computes a generalized Gaussian interaction potential between pairs of particles: -.. image:: Eqs/pair_gauss_cut.jpg - :align: center +.. math:: -where H determines together with the standard deviation sigma\_h the -peak height of the Gaussian function, and r\_mh the peak position. -Examples of the use of the Gaussian potentials include implicit -solvent simulations of salt ions :ref:`(Lenart) ` and of surfactants -:ref:`(Jusufi) `. In these instances the Gaussian potential mimics -the hydration barrier between a pair of particles. The hydration -barrier is located at r\_mh and has a width of sigma\_h. The prefactor -determines the height of the potential barrier. + E = \frac{H}{\sigma_h\sqrt{2\pi}} \exp\left[-\frac{(r-r_{mh})^2}{2\sigma_h^2}\right] + +where H determines together with the standard deviation :math:`\sigma_h` +the peak height of the Gaussian function, and :math:`r_{mh}` the peak +position. Examples of the use of the Gaussian potentials include +implicit solvent simulations of salt ions :ref:`(Lenart) ` and +of surfactants :ref:`(Jusufi) `. In these instances the +Gaussian potential mimics the hydration barrier between a pair of +particles. The hydration barrier is located at :math:`r_{mh}` and has a +width of :math:`\sigma_h`. The prefactor determines the height of the +potential barrier. The following coefficients must be defined for each pair of atom types -via the :doc:`pair\_coeff ` command as in the example above, +via the :doc:`pair_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: * H (energy \* distance units) -* r\_mh (distance units) -* sigma\_h (distance units) +* :math:`r_{mh}` (distance units) +* :math:`\sigma_h` (distance units) * cutoff (distance units) The last coefficient is optional. If not specified, the global cutoff is used. - ---------- - 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 @@ -114,28 +113,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -For atom type pairs I,J and I != J, the A, B, H, sigma\_h, r\_mh +For atom type pairs I,J and I != J, the A, B, H, sigma_h, r_mh parameters, and the cutoff distance for these pair styles can be mixed: A (energy units) sqrt(1/B) (distance units, see below) H (energy units) -sigma\_h (distance units) -r\_mh (distance units) +sigma_h (distance units) +r_mh (distance units) cutoff (distance units):ul The default mix value is *geometric*\ . Only *arithmetic* and *geometric* mix values are supported. -See the "pair\_modify" command for details. +See the "pair_modify" command for details. The A and H parameters are mixed using the same rules normally used to mix the "epsilon" parameter in a Lennard Jones interaction. -The sigma\_h, r\_mh, and the cutoff distance are mixed using the same +The sigma_h, r_mh, and the cutoff distance are mixed using the same rules used to mix the "sigma" parameter in a Lennard Jones interaction. The B parameter is converted to a distance (sigma), before mixing (using sigma=B\^-0.5), and converted back to a coefficient @@ -146,22 +143,22 @@ before mixing, and converted back after mixing This way, if either particle is repulsive (if Ai<0 or Aj<0), then the default interaction between both particles will be repulsive. -The *gauss* style does not support the :doc:`pair\_modify ` +The *gauss* style does not support the :doc:`pair_modify ` shift option. There is no effect due to the Gaussian well beyond the cutoff; hence reasonable cutoffs need to be specified. -The *gauss/cut* style supports the :doc:`pair\_modify ` shift +The *gauss/cut* style supports the :doc:`pair_modify ` shift option for the energy of the Gauss-potential portion of the pair interaction. -The :doc:`pair\_modify ` table and tail options are not +The :doc:`pair_modify ` table and tail options are not relevant for these pair styles. -These pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. The *gauss* pair style tallies an "occupancy" count of how many Gaussian-well @@ -171,47 +168,34 @@ sites have an atom within the distance at which the force is a maximum To print this quantity to the log file (with a descriptive column heading) the following commands could be included in an input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute gauss all pair gauss variable occ equal c_gauss[1] thermo_style custom step temp epair v_occ - ---------- - Restrictions """""""""""" - The *gauss/cut* style is part of the "user-misc" package. It is only enabled if LAMMPS is build with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, -:doc:`pair\_style coul/diel ` +:doc:`pair_coeff `, +:doc:`pair_style coul/diel ` **Default:** none .. _Lenart2: - - **(Lenart)** Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, 044509 (2007). .. _Jusufi2: - - **(Jusufi)** Jusufi, Hynninen, and Panagiotopoulos, J Phys Chem B, 112, 13783 (2008). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_gayberne.rst b/doc/src/pair_gayberne.rst index 47b7b5564ed7db4158e22b45a880d11be3871b95..e6cf4808520b551f070f3120c27ff0848f7ea20a 100644 --- a/doc/src/pair_gayberne.rst +++ b/doc/src/pair_gayberne.rst @@ -1,22 +1,21 @@ -.. index:: pair\_style gayberne +.. index:: pair_style gayberne -pair\_style gayberne command -============================ +pair_style gayberne command +=========================== -pair\_style gayberne/gpu command -================================ +pair_style gayberne/gpu command +=============================== -pair\_style gayberne/intel command -================================== +pair_style gayberne/intel command +================================= -pair\_style gayberne/omp command -================================ +pair_style gayberne/omp command +=============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style gayberne gamma upsilon mu cutoff @@ -28,11 +27,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style gayberne 1.0 1.0 1.0 10.0 - pair_coeff \* \* 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 + pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 Description """"""""""" @@ -41,24 +39,33 @@ The *gayberne* styles compute a Gay-Berne anisotropic LJ interaction :ref:`(Berardi) ` between pairs of ellipsoidal particles or an ellipsoidal and spherical particle via the formulas -.. image:: Eqs/pair_gayberne.jpg - :align: center +.. math:: + + U ( \mathbf{A}_1, \mathbf{A}_2, \mathbf{r}_{12} ) = & U_r ( + \mathbf{A}_1, \mathbf{A}_2, \mathbf{r}_{12}, \gamma ) \cdot \eta_{12} ( + \mathbf{A}_1, \mathbf{A}_2, \upsilon ) \cdot \chi_{12} ( \mathbf{A}_1, + \mathbf{A}_2, \mathbf{r}_{12}, \mu ) \\ + U_r = & 4 \epsilon ( \varrho^{12} - \varrho^6) \\ + \varrho = & \frac{\sigma}{ h_{12} + \gamma \sigma} -where A1 and A2 are the transformation matrices from the simulation -box frame to the body frame and r12 is the center to center vector -between the particles. Ur controls the shifted distance dependent -interaction based on the distance of closest approach of the two -particles (h12) and the user-specified shift parameter gamma. When -both particles are spherical, the formula reduces to the usual -Lennard-Jones interaction (see details below for when Gay-Berne treats -a particle as "spherical"). +where A1 and A2 are the transformation matrices from the simulation box +frame to the body frame and :math:`r_{12}` is the center to center +vector between the particles. :math:`U_r` controls the shifted distance +dependent interaction based on the distance of closest approach of the +two particles (:math:`h_{12}`) and the user-specified shift parameter +gamma. When both particles are spherical, the formula reduces to the +usual Lennard-Jones interaction (see details below for when Gay-Berne +treats a particle as "spherical"). For large uniform molecules it has been shown that the energy parameters are approximately representable in terms of local contact curvatures :ref:`(Everaers) `: -.. image:: Eqs/pair_gayberne2.jpg - :align: center +.. math:: + + \epsilon_a = \sigma \cdot { \frac{a}{ b \cdot c } }; \epsilon_b = + \sigma \cdot { \frac{b}{ a \cdot c } }; \epsilon_c = \sigma \cdot { + \frac{c}{ a \cdot b } } The variable names utilized as potential parameters are for the most part taken from :ref:`(Everaers) ` in order to be consistent with @@ -71,78 +78,81 @@ listed below and in `this supplementary document `_ Use of this pair style requires the NVE, NVT, or NPT fixes with the *asphere* extension (e.g. :doc:`fix nve/asphere `) in -order to integrate particle rotation. Additionally, :doc:`atom\_style ellipsoid ` should be used since it defines the +order to integrate particle rotation. Additionally, :doc:`atom_style ellipsoid ` should be used since it defines the rotational state and the size and shape of each ellipsoidal particle. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon = well depth (energy units) -* sigma = minimum effective particle radii (distance units) -* epsilon\_i_a = relative well depth of type I for side-to-side interactions -* epsilon\_i_b = relative well depth of type I for face-to-face interactions -* epsilon\_i_c = relative well depth of type I for end-to-end interactions -* epsilon\_j_a = relative well depth of type J for side-to-side interactions -* epsilon\_j_b = relative well depth of type J for face-to-face interactions -* epsilon\_j_c = relative well depth of type J for end-to-end interactions +* :math:`\epsilon` = well depth (energy units) +* :math:`\sigma` = minimum effective particle radii (distance units) +* :math:`\epsilon_{i,a}` = relative well depth of type I for side-to-side interactions +* :math:`\epsilon_{i,b}` = relative well depth of type I for face-to-face interactions +* :math:`\epsilon_{i,c}` = relative well depth of type I for end-to-end interactions +* :math:`\epsilon_{j,a}` = relative well depth of type J for side-to-side interactions +* :math:`\epsilon_{j,b}` = relative well depth of type J for face-to-face interactions +* :math:`\epsilon_{j,c}` = relative well depth of type J for end-to-end interactions * cutoff (distance units) The last coefficient is optional. If not specified, the global -cutoff specified in the pair\_style command is used. - -It is typical with the Gay-Berne potential to define *sigma* as the -minimum of the 3 shape diameters of the particles involved in an I,I -interaction, though this is not required. Note that this is a -different meaning for *sigma* than the :doc:`pair\_style resquared ` potential uses. - -The epsilon\_i and epsilon\_j coefficients are actually defined for atom -types, not for pairs of atom types. Thus, in a series of pair\_coeff -commands, they only need to be specified once for each atom type. - -Specifically, if any of epsilon\_i_a, epsilon\_i_b, epsilon\_i_c are -non-zero, the three values are assigned to atom type I. If all the -epsilon\_i values are zero, they are ignored. If any of epsilon\_j_a, -epsilon\_j_b, epsilon\_j_c are non-zero, the three values are assigned -to atom type J. If all three epsilon\_j values are zero, they are -ignored. Thus the typical way to define the epsilon\_i and epsilon\_j -coefficients is to list their values in "pair\_coeff I J" commands when -I = J, but set them to 0.0 when I != J. If you do list them when I != -J, you should insure they are consistent with their values in other -pair\_coeff commands, since only the last setting will be in effect. +cutoff specified in the pair_style command is used. + +It is typical with the Gay-Berne potential to define :math:`\sigma` as +the minimum of the 3 shape diameters of the particles involved in an I,I +interaction, though this is not required. Note that this is a different +meaning for :math:`\sigma` than the :doc:`pair_style resquared +` potential uses. + +The :math:`\epsilon_i` and :math:`\epsilon_j` coefficients are actually +defined for atom types, not for pairs of atom types. Thus, in a series +of pair_coeff commands, they only need to be specified once for each +atom type. + +Specifically, if any of :math:`\epsilon_{i,a}`, :math:`\epsilon_{i,b}`, +:math:`\epsilon_{i,c}` are non-zero, the three values are assigned to +atom type I. If all the :math:`\epsilon_i` values are zero, they are +ignored. If any of :math:`\epsilon_{j,a}`, :math:`\epsilon_{j,b}`, +:math:`\epsilon_{j,c}` are non-zero, the three values are assigned to +atom type J. If all three epsilon_j values are zero, they are ignored. +Thus the typical way to define the :math:`\epsilon_i` and +:math:`\epsilon_j` coefficients is to list their values in "pair_coeff +I J" commands when I = J, but set them to 0.0 when I != J. If you do +list them when I != J, you should insure they are consistent with their +values in other pair_coeff commands, since only the last setting will +be in effect. Note that if this potential is being used as a sub-style of -:doc:`pair\_style hybrid `, and there is no "pair\_coeff I I" +:doc:`pair_style hybrid `, and there is no "pair_coeff I I" setting made for Gay-Berne for a particular type I (because I-I interactions are computed by another hybrid pair potential), then you -still need to insure the epsilon a,b,c coefficients are assigned to -that type. e.g. in a "pair\_coeff I J" command. +still need to insure the :math:`\epsilon` a,b,c coefficients are assigned to +that type. e.g. in a "pair_coeff I J" command. .. note:: - If the epsilon a = b = c for an atom type, and if the shape of - the particle itself is spherical, meaning its 3 shape parameters are - all the same, then the particle is treated as an LJ sphere by the + If the :math:`\epsilon` a = b = c for an atom type, and if the shape + of the particle itself is spherical, meaning its 3 shape parameters + are all the same, then the particle is treated as an LJ sphere by the Gay-Berne potential. This is significant because if two LJ spheres interact, then the simple Lennard-Jones formula is used to compute their interaction energy/force using the specified epsilon and sigma as the standard LJ parameters. This is much cheaper to compute than - the full Gay-Berne formula. To treat the particle as a LJ sphere with - sigma = D, you should normally set epsilon a = b = c = 1.0, set the - pair\_coeff sigma = D, and also set the 3 shape parameters for the - particle to D. The one exception is that if the 3 shape parameters - are set to 0.0, which is a valid way in LAMMPS to specify a point - particle, then the Gay-Berne potential will treat that as shape - parameters of 1.0 (i.e. a LJ particle with sigma = 1), since it - requires finite-size particles. In this case you should still set the - pair\_coeff sigma to 1.0 as well. - + the full Gay-Berne formula. To treat the particle as a LJ sphere + with sigma = D, you should normally set :math:`\epsilon` a = b = c = + 1.0, set the pair_coeff :math:`\sigma = D`, and also set the 3 shape + parameters for the particle to D. The one exception is that if the 3 + shape parameters are set to 0.0, which is a valid way in LAMMPS to + specify a point particle, then the Gay-Berne potential will treat + that as shape parameters of 1.0 (i.e. a LJ particle with + :math:`\sigma = 1`), since it requires finite-size particles. In + this case you should still set the pair_coeff :math:`\sigma` to 1.0 + as well. ---------- - 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 @@ -161,55 +171,50 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for this pair style can be mixed. The default mix -value is *geometric*\ . See the "pair\_modify" command for details. +value is *geometric*\ . See the "pair_modify" command for details. -This pair styles supports the :doc:`pair\_modify ` shift +This pair styles supports the :doc:`pair_modify ` shift option for the energy of the Lennard-Jones portion of the pair interaction, but only for sphere-sphere interactions. There is no shifting performed for ellipsoidal interactions due to the anisotropic dependence of the interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *gayberne* style is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. These pair style require that atoms store torque and a quaternion to represent their orientation, as defined by the -:doc:`atom\_style `. It also require they store a per-type +:doc:`atom_style `. It also require they store a per-type :doc:`shape `. The particles cannot store a per-particle diameter. This pair style requires that atoms be ellipsoids as defined by the -:doc:`atom\_style ellipsoid ` command. +:doc:`atom_style ellipsoid ` command. Particles acted on by the potential can be finite-size aspherical or spherical particles, or point particles. Spherical particles have all @@ -224,41 +229,26 @@ ratio ellipsoids are used. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`fix nve/asphere `, -:doc:`compute temp/asphere `, :doc:`pair\_style resquared ` +:doc:`pair_coeff `, :doc:`fix nve/asphere `, +:doc:`compute temp/asphere `, :doc:`pair_style resquared ` **Default:** none - ---------- - .. _Everaers2: - - **(Everaers)** Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). .. _Berardi: - - **(Berardi)** Berardi, Fava, Zannoni, Chem Phys Lett, 297, 8-14 (1998). Berardi, Muccioli, Zannoni, J Chem Phys, 128, 024905 (2008). .. _Perram: - - **(Perram)** Perram and Rasmussen, Phys Rev E, 54, 6565-6572 (1996). .. _Allen3: - - **(Allen)** Allen and Germano, Mol Phys 104, 3225-3235 (2006). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_gran.rst b/doc/src/pair_gran.rst index 7f03519f3553a3f32e896b9b6dbc649b7f36c132..3cfe946e41c2b648a309921ce7a46552cfeee058 100644 --- a/doc/src/pair_gran.rst +++ b/doc/src/pair_gran.rst @@ -1,50 +1,48 @@ -.. index:: pair\_style gran/hooke +.. index:: pair_style gran/hooke -pair\_style gran/hooke command -============================== +pair_style gran/hooke command +============================= -pair\_style gran/hooke/omp command -================================== +pair_style gran/hooke/omp command +================================= -pair\_style gran/hooke/history command -====================================== +pair_style gran/hooke/history command +===================================== -pair\_style gran/hooke/history/omp command -========================================== - -pair\_style gran/hooke/history/kk command +pair_style gran/hooke/history/omp command ========================================= -pair\_style gran/hertz/history command -====================================== +pair_style gran/hooke/history/kk command +======================================== + +pair_style gran/hertz/history command +===================================== -pair\_style gran/hertz/history/omp command -========================================== +pair_style gran/hertz/history/omp command +========================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style Kn Kt gamma_n gamma_t xmu dampflag * style = *gran/hooke* or *gran/hooke/history* or *gran/hertz/history* * Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) * Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) -* gamma\_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) -* gamma\_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) +* gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) +* gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) * xmu = static yield criterion (unitless value between 0.0 and 1.0e4) * dampflag = 0 or 1 if tangential damping force is excluded or included - .. note:: Versions of LAMMPS before 9Jan09 had different style names for granular force fields. This is to emphasize the fact that the Hertzian equation has changed to model polydispersity more accurately. - A side effect of the change is that the Kn, Kt, gamma\_n, and gamma\_t - coefficients in the pair\_style command must be specified with + A side effect of the change is that the Kn, Kt, gamma_n, and gamma_t + coefficients in the pair_style command must be specified with different values in order to reproduce calculations made with earlier versions of LAMMPS, even for monodisperse systems. See the NOTE below for details. @@ -52,8 +50,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style gran/hooke/history 200000.0 NULL 50.0 NULL 0.5 1 pair_style gran/hooke 200000.0 70000.0 50.0 30.0 0.5 0 @@ -70,13 +67,23 @@ no force between the particles when r > d. The two Hookean styles use this formula: -.. image:: Eqs/pair_gran_hooke.jpg - :align: center +.. math:: + + F_{hk} = (k_n \delta \mathbf{n}_{ij} - + m_{eff} \gamma_n\mathbf{ v}_n) - + (k_t \mathbf{ \Delta s}_t + + m_{eff} \gamma_t \mathbf{v}_t) The Hertzian style uses this formula: -.. image:: Eqs/pair_gran_hertz.jpg - :align: center +.. math:: + + F_{hz} = \sqrt{\delta} \sqrt{\frac{R_i R_j}{R_i + R_j}} F_{hk} = + \sqrt{\delta} \sqrt{\frac{R_i R_j}{R_i + R_j}} + \Big[ (k_n \delta \mathbf{n}_{ij} - + m_{eff} \: \gamma_n \mathbf{ v}_n) - + (k_t \mathbf{ \Delta s}_t + + m_{eff} \: \gamma_t \mathbf{v}_t) \Big] In both equations the first parenthesized term is the normal force between the two particles and the second parenthesized term is the @@ -92,34 +99,35 @@ if *dampflag* is set to 0. The other quantities in the equations are as follows: -* delta = d - r = overlap distance of 2 particles -* Kn = elastic constant for normal contact -* Kt = elastic constant for tangential contact -* gamma\_n = viscoelastic damping constant for normal contact -* gamma\_t = viscoelastic damping constant for tangential contact -* m\_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj -* Delta St = tangential displacement vector between 2 particles which is truncated to satisfy a frictional yield criterion -* n\_ij = unit vector along the line connecting the centers of the 2 particles -* Vn = normal component of the relative velocity of the 2 particles -* Vt = tangential component of the relative velocity of the 2 particles - -The Kn, Kt, gamma\_n, and gamma\_t coefficients are specified as -parameters to the pair\_style command. If a NULL is used for Kt, then -a default value is used where Kt = 2/7 Kn. If a NULL is used for -gamma\_t, then a default value is used where gamma\_t = 1/2 gamma\_n. +* :math:`\delta` = d - r = overlap distance of 2 particles +* :math:`K_n` = elastic constant for normal contact +* :math:`K_t` = elastic constant for tangential contact +* :math:`\gamma_n` = viscoelastic damping constant for normal contact +* :math:`\gamma_t` = viscoelastic damping constant for tangential contact +* :math:`m_{eff} = M_i M_j / (M_i + M_j) =` effective mass of 2 particles of mass M_i and M_j +* :math:`\mathbf{\Delta s}_t =` tangential displacement vector between 2 particles which is truncated to satisfy a frictional yield criterion +* :math:`n_{ij} =` unit vector along the line connecting the centers of the 2 particles +* :math:`V_n =` normal component of the relative velocity of the 2 particles +* :math:`V_t =` tangential component of the relative velocity of the 2 particles + +The :math:`K_n`, :math:`K_t`, :math:`\gamma_n`, and :math:`\gamma_t` +coefficients are specified as parameters to the pair_style command. If +a NULL is used for :math:`K_t`, then a default value is used where +:math:`K_t = 2/7 K_n`. If a NULL is used for :math:`\gamma_t`, then a +default value is used where :math:`\gamma_t = 1/2 \gamma_n`. The interpretation and units for these 4 coefficients are different in the Hookean versus Hertzian equations. The Hookean model is one where the normal push-back force for two overlapping particles is a linear function of the overlap distance. -Thus the specified Kn is in units of (force/distance). Note that this -push-back force is independent of absolute particle size (in the -monodisperse case) and of the relative sizes of the two particles (in -the polydisperse case). This model also applies to the other terms in -the force equation so that the specified gamma\_n is in units of -(1/time), Kt is in units of (force/distance), and gamma\_t is in units -of (1/time). +Thus the specified :math:`K_n` is in units of (force/distance). Note +that this push-back force is independent of absolute particle size (in +the monodisperse case) and of the relative sizes of the two particles +(in the polydisperse case). This model also applies to the other terms +in the force equation so that the specified :math:`\gamma_n` is in units +of (1/time), :math:`K_t` is in units of (force/distance), and +:math:`\gamma_t` is in units of (1/time). The Hertzian model is one where the normal push-back force for two overlapping particles is proportional to the area of overlap of the @@ -128,40 +136,41 @@ Thus Kn has units of force per area and is thus specified in units of (pressure). The effects of absolute particle size (monodispersity) and relative size (polydispersity) are captured in the radii-dependent pre-factors. When these pre-factors are carried through to the other -terms in the force equation it means that the specified gamma\_n is in -units of (1/(time\*distance)), Kt is in units of (pressure), and -gamma\_t is in units of (1/(time\*distance)). - -Note that in the Hookean case, Kn can be thought of as a linear spring -constant with units of force/distance. In the Hertzian case, Kn is -like a non-linear spring constant with units of force/area or -pressure, and as shown in the :ref:`(Zhang) ` paper, Kn = 4G / -(3(1-nu)) where nu = the Poisson ratio, G = shear modulus = E / -(2(1+nu)), and E = Young's modulus. Similarly, Kt = 4G / (2-nu). -(NOTE: in an earlier version of the manual, we incorrectly stated that -Kt = 8G / (2-nu).) - -Thus in the Hertzian case Kn and Kt can be set to values that -corresponds to properties of the material being modeled. This is also -true in the Hookean case, except that a spring constant must be chosen -that is appropriate for the absolute size of particles in the model. -Since relative particle sizes are not accounted for, the Hookean -styles may not be a suitable model for polydisperse systems. +terms in the force equation it means that the specified :math:`\gamma_n` is in +units of (1/(time\*distance)), :math:`K_t` is in units of (pressure), and +:math:`\gamma_t` is in units of (1/(time\*distance)). + +Note that in the Hookean case, :math:`K_n` can be thought of as a linear +spring constant with units of force/distance. In the Hertzian case, +:math:`K_n` is like a non-linear spring constant with units of +force/area or pressure, and as shown in the :ref:`(Zhang) ` +paper, :math:`K_n = 4G / (3(1-\nu))` where :math:`\nu =` the Poisson ratio, +G = shear modulus = :math:`E / (2(1+\nu))`, and E = Young's modulus. Similarly, +:math:`K_t = 4G / (2-\nu)`. (NOTE: in an earlier version of the manual, we incorrectly +stated that :math:`K_t = 8G / (2-\nu)`.) + +Thus in the Hertzian case :math:`K_n` and :math:`K_t` can be set to +values that corresponds to properties of the material being modeled. +This is also true in the Hookean case, except that a spring constant +must be chosen that is appropriate for the absolute size of particles in +the model. Since relative particle sizes are not accounted for, the +Hookean styles may not be a suitable model for polydisperse systems. .. note:: In versions of LAMMPS before 9Jan09, the equation for Hertzian - interactions did not include the sqrt(RiRj/Ri+Rj) term and thus was - not as accurate for polydisperse systems. For monodisperse systems, - sqrt(RiRj/Ri+Rj) is a constant factor that effectively scales all 4 - coefficients: Kn, Kt, gamma\_n, gamma\_t. Thus you can set the values - of these 4 coefficients appropriately in the current code to reproduce + interactions did not include the :math:`\sqrt{r_i r_j / (r_i + r_j)}` + term and thus was not as accurate for polydisperse systems. For + monodisperse systems, :math:`\sqrt{ r_i r_j /(r_i+r_j)}` is a + constant factor that effectively scales all 4 coefficients: + :math:`K_n, K_t, \gamma_n, \gamma_t`. Thus you can set the values of + these 4 coefficients appropriately in the current code to reproduce the results of a previous Hertzian monodisperse calculation. For example, for the common case of a monodisperse system with particles - of diameter 1, all 4 of these coefficients should now be set 2x larger - than they were previously. + of diameter 1, all 4 of these coefficients should now be set 2x + larger than they were previously. -Xmu is also specified in the pair\_style command and is the upper limit +Xmu is also specified in the pair_style command and is the upper limit of the tangential force through the Coulomb criterion Ft = xmu\*Fn, where Ft and Fn are the total tangential and normal force components in the formulas above. Thus in the Hookean case, the tangential force @@ -177,33 +186,30 @@ holds, though the spring is no longer linear. for modeling of systems which can sustain very large tangential forces. -The effective mass *m\_eff* is given by the formula above for two +The effective mass *m_eff* is given by the formula above for two isolated particles. If either particle is part of a rigid body, its mass is replaced by the mass of the rigid body in the formula above. This is determined by searching for a :doc:`fix rigid ` command (or its variants). For granular styles there are no additional coefficients to set for -each pair of atom types via the :doc:`pair\_coeff ` command. -All settings are global and are made via the pair\_style command. -However you must still use the :doc:`pair\_coeff ` for all +each pair of atom types via the :doc:`pair_coeff ` command. +All settings are global and are made via the pair_style command. +However you must still use the :doc:`pair_coeff ` for all pairs of granular atom types. For example the command +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* + pair_coeff * * should be used if all atoms in the simulation interact via a granular potential (i.e. one of the pair styles above is used). If a granular -potential is used as a sub-style of :doc:`pair\_style hybrid `, then specific atom types can be used in the -pair\_coeff command to determine which atoms interact via a granular +potential is used as a sub-style of :doc:`pair_style hybrid `, then specific atom types can be used in the +pair_coeff command to determine which atoms interact via a granular potential. - ---------- - 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 @@ -222,20 +228,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -The :doc:`pair\_modify ` mix, shift, table, and tail options +The :doc:`pair_modify ` mix, shift, table, and tail options are not relevant for granular pair styles. -These pair styles write their information to :doc:`binary restart files `, so a pair\_style command does not need to be +These pair styles write their information to :doc:`binary restart files `, so a pair_style command does not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. The single() function of these pair styles returns 0.0 for the energy @@ -253,63 +257,47 @@ tangential direction. These extra quantities can be accessed by the :doc:`compute pair/local ` command, as *p1*\ , *p2*\ , ..., *p10*\ . - ---------- - Restrictions """""""""""" - All the granular pair styles are part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. These pair styles require that atoms store torque and angular velocity -(omega) as defined by the :doc:`atom\_style `. They also +(omega) as defined by the :doc:`atom_style `. They also require a per-particle radius is stored. The *sphere* atom style does all of this. -This pair style requires you to use the :doc:`comm\_modify vel yes ` command so that velocities are stored by ghost +This pair style requires you to use the :doc:`comm_modify vel yes ` command so that velocities are stored by ghost atoms. These pair styles will not restart exactly when using the -:doc:`read\_restart ` command, though they should provide +:doc:`read_restart ` command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the -:doc:`read\_restart ` command for more details. +:doc:`read_restart ` command for more details. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Brilliantov: - - **(Brilliantov)** Brilliantov, Spahn, Hertzsch, Poschel, Phys Rev E, 53, p 5382-5392 (1996). .. _Silbert: - - **(Silbert)** Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev E, 64, p 051302 (2001). .. _Zhang3: - - **(Zhang)** Zhang and Makse, Phys Rev E, 72, p 011301 (2005). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index 294bec9b8c99a731daee3227e3095605c6fb9241..f581c502f3e6082073c21d38fff4821389eaec1d 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style granular +.. index:: pair_style granular -pair\_style granular command -============================ +pair_style granular command +=========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style granular cutoff @@ -16,23 +15,22 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style granular - pair_coeff \* \* hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping mass_velocity + pair_coeff * * hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping mass_velocity pair_style granular - pair_coeff \* \* hooke 1000.0 50.0 tangential linear_history 500.0 1.0 0.4 damping mass_velocity + pair_coeff * * hooke 1000.0 50.0 tangential linear_history 500.0 1.0 0.4 damping mass_velocity pair_style granular - pair_coeff \* \* hertz 1000.0 50.0 tangential mindlin 1000.0 1.0 0.4 + pair_coeff * * hertz 1000.0 50.0 tangential mindlin 1000.0 1.0 0.4 pair_style granular - pair_coeff \* \* hertz/material 1e8 0.3 0.3 tangential mindlin_rescale NULL 1.0 0.4 damping tsuji + pair_coeff * * hertz/material 1e8 0.3 0.3 tangential mindlin_rescale NULL 1.0 0.4 damping tsuji pair_style granular - pair_coeff 1 \* jkr 1000.0 500.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall + pair_coeff 1 * jkr 1000.0 500.0 0.3 10 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall pair_coeff 2 2 hertz 200.0 100.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall pair_style granular @@ -50,10 +48,10 @@ and torques are the sum of various models selected for the normal, tangential, rolling and twisting modes of motion. All model choices and parameters are entered in the -:doc:`pair\_coeff ` command, as described below. Unlike +:doc:`pair_coeff ` command, as described below. Unlike e.g. :doc:`pair gran/hooke `, coefficient values are not global, but can be set to different values for different combinations -of particle types, as determined by the :doc:`pair\_coeff ` +of particle types, as determined by the :doc:`pair_coeff ` command. If the contact model choice is the same for two particle types, the mixing for the cross-coefficients can be carried out automatically. This is shown in the last example, where model @@ -67,14 +65,12 @@ on a Johnson-Kendall-Roberts normal contact model and 2-2 interactions are based on a DMT cohesive model (see below). In that example, 1-1 and 2-2 interactions have different model forms, in which case mixing of coefficients cannot be determined, so 1-2 interactions must be -explicitly defined via the *pair\_coeff 1 \** command, otherwise an +explicitly defined via the *pair_coeff 1 \** command, otherwise an error would result. - ---------- - -The first required keyword for the *pair\_coeff* command is the normal +The first required keyword for the *pair_coeff* command is the normal contact model. Currently supported options for normal contact models and their required arguments are: @@ -95,10 +91,9 @@ damping mode, see below); E is Young's modulus in units of For the *hooke* model, the normal, elastic component of force acting on particle *i* due to contact with particle *j* is given by: - .. math:: - \begin{equation}\mathbf{F}_{ne, Hooke} = k_N \delta_{ij} \mathbf{n}\end{equation} + \mathbf{F}_{ne, Hooke} = k_N \delta_{ij} \mathbf{n} Where :math:`\delta_{ij} = R_i + R_j - \|\mathbf{r}_{ij}\|` is the particle overlap, :math:`R_i, R_j` are the particle radii, :math:`\mathbf{r}_{ij} = \mathbf{r}_i - \mathbf{r}_j` is the vector separating the two @@ -109,10 +104,9 @@ for *hooke*\ , the units of the spring constant :math:`k_n` are For the *hertz* model, the normal component of force is given by: - .. math:: - \begin{equation}\mathbf{F}_{ne, Hertz} = k_N R_{eff}^{1/2}\delta_{ij}^{3/2} \mathbf{n}\end{equation} + \mathbf{F}_{ne, Hertz} = k_N R_{eff}^{1/2}\delta_{ij}^{3/2} \mathbf{n} Here, :math:`R_{eff} = \frac{R_i R_j}{R_i + R_j}` is the effective radius, denoted for simplicity as *R* from here on. For *hertz*\ , the @@ -121,10 +115,9 @@ equivalently *pressure*\ . For the *hertz/material* model, the force is given by: - .. math:: - \begin{equation}\mathbf{F}_{ne, Hertz/material} = \frac{4}{3} E_{eff} R_{eff}^{1/2}\delta_{ij}^{3/2} \mathbf{n}\end{equation} + \mathbf{F}_{ne, Hertz/material} = \frac{4}{3} E_{eff} R_{eff}^{1/2}\delta_{ij}^{3/2} \mathbf{n} Here, :math:`E_{eff} = E = \left(\frac{1-\nu_i^2}{E_i} + \frac{1-\nu_j^2}{E_j}\right)^{-1}` is the effective Young's modulus, with :math:`\nu_i, \nu_j` the Poisson ratios of the particles of @@ -136,27 +129,23 @@ The *dmt* model corresponds to the :ref:`(Derjaguin-Muller-Toporov) ` cohesive model, where the force is simply Hertz with an additional attractive cohesion term: - .. math:: - \begin{equation}\mathbf{F}_{ne, dmt} = \left(\frac{4}{3} E R^{1/2}\delta_{ij}^{3/2} - 4\pi\gamma R\right)\mathbf{n}\end{equation} + \mathbf{F}_{ne, dmt} = \left(\frac{4}{3} E R^{1/2}\delta_{ij}^{3/2} - 4\pi\gamma R\right)\mathbf{n} The *jkr* model is the :ref:`(Johnson-Kendall-Roberts) ` model, where the force is computed as: - .. math:: - \begin{equation}\label{eq:force_jkr} - \mathbf{F}_{ne, jkr} = \left(\frac{4Ea^3}{3R} - 2\pi a^2\sqrt{\frac{4\gamma E}{\pi a}}\right)\mathbf{n}\end{equation} + \mathbf{F}_{ne, jkr} = \left(\frac{4Ea^3}{3R} - 2\pi a^2\sqrt{\frac{4\gamma E}{\pi a}}\right)\mathbf{n} Here, *a* is the radius of the contact zone, related to the overlap :math:`\delta` according to: - .. math:: - \begin{equation}\delta = a^2/R - 2\sqrt{\pi \gamma a/E}\end{equation} + \delta = a^2/R - 2\sqrt{\pi \gamma a/E} LAMMPS internally inverts the equation above to solve for *a* in terms of :math:`\delta`, then solves for the force in the previous @@ -169,22 +158,19 @@ initially will not experience force until they come into contact experience a tensile force up to :math:`3\pi\gamma R`, at which point they lose contact. - ---------- - In addition, the normal force is augmented by a damping term of the following general form: - .. math:: - \begin{equation}\mathbf{F}_{n,damp} = -\eta_n \mathbf{v}_{n,rel}\end{equation} + \mathbf{F}_{n,damp} = -\eta_n \mathbf{v}_{n,rel} Here, :math:`\mathbf{v}_{n,rel} = (\mathbf{v}_j - \mathbf{v}_i) \cdot \mathbf{n} \mathbf{n}` is the component of relative velocity along :math:`\mathbf{n}`. -The optional *damping* keyword to the *pair\_coeff* command followed by +The optional *damping* keyword to the *pair_coeff* command followed by a keyword determines the model form of the damping factor :math:`\eta_n`, and the interpretation of the :math:`\eta_{n0}` or :math:`e` coefficients specified as part of the normal contact model settings. The *damping* @@ -195,7 +181,7 @@ other settings, potentially also the twisting damping). The options for the damping model currently supported are: 1. *velocity* -2. *mass\_velocity* +2. *mass_velocity* 3. *viscoelastic* 4. *tsuji* @@ -205,35 +191,32 @@ used by default. For *damping velocity*\ , the normal damping is simply equal to the user-specified damping coefficient in the *normal* model: - .. math:: - \begin{equation}\eta_n = \eta_{n0}\end{equation} + \eta_n = \eta_{n0} Here, :math:`\eta_{n0}` is the damping coefficient specified for the normal contact model, in units of *mass*\ /\ *time*\ . -For *damping mass\_velocity*, the normal damping is given by: - +For *damping mass_velocity*, the normal damping is given by: .. math:: - \begin{equation}\eta_n = \eta_{n0} m_{eff}\end{equation} + \eta_n = \eta_{n0} m_{eff} Here, :math:`\eta_{n0}` is the damping coefficient specified for the normal contact model, in units of *mass*\ /\ *time* and :math:`m_{eff} = m_i m_j/(m_i + m_j)` is the effective mass. -Use *damping mass\_velocity* to reproduce the damping behavior of +Use *damping mass_velocity* to reproduce the damping behavior of *pair gran/hooke/\**. The *damping viscoelastic* model is based on the viscoelastic treatment of :ref:`(Brilliantov et al) `, where the normal damping is given by: - .. math:: - \begin{equation}\eta_n = \eta_{n0}\ a m_{eff}\end{equation} + \eta_n = \eta_{n0}\ a m_{eff} Here, *a* is the contact radius, given by :math:`a =\sqrt{R\delta}` for all models except *jkr*\ , for which it is given implicitly according @@ -244,18 +227,16 @@ The *tsuji* model is based on the work of :ref:`(Tsuji et al) `. Here the normal model is interpreted as a restitution coefficient :math:`e`. The damping constant :math:`\eta_n` is given by: - .. math:: - \begin{equation}\eta_n = \alpha (m_{eff}k_n)^{1/2}\end{equation} + \eta_n = \alpha (m_{eff}k_n)^{1/2} For normal contact models based on material parameters, :math:`k_n = 4/3Ea`. The parameter :math:`\alpha` is related to the restitution coefficient *e* according to: - .. math:: - \begin{equation}\alpha = 1.2728-4.2783e+11.087e^2-22.348e^3+27.467e^4-18.022e^5+4.8218e^6\end{equation} + \alpha = 1.2728-4.2783e+11.087e^2-22.348e^3+27.467e^4-18.022e^5+4.8218e^6 The dimensionless coefficient of restitution :math:`e` specified as part of the normal contact model parameters should be between 0 and 1, but @@ -264,53 +245,47 @@ no error check is performed on this. The total normal force is computed as the sum of the elastic and damping components: - .. math:: - \begin{equation}\mathbf{F}_n = \mathbf{F}_{ne} + \mathbf{F}_{n,damp}\end{equation} - + \mathbf{F}_n = \mathbf{F}_{ne} + \mathbf{F}_{n,damp} ---------- - -The *pair\_coeff* command also requires specification of the tangential +The *pair_coeff* command also requires specification of the tangential contact model. The required keyword *tangential* is expected, followed by the model choice and associated parameters. Currently supported tangential model choices and their expected parameters are as follows: -1. *linear\_nohistory* : :math:`x_{\gamma,t}`, :math:`\mu_s` -2. *linear\_history* : :math:`k_t`, :math:`x_{\gamma,t}`, :math:`\mu_s` +1. *linear_nohistory* : :math:`x_{\gamma,t}`, :math:`\mu_s` +2. *linear_history* : :math:`k_t`, :math:`x_{\gamma,t}`, :math:`\mu_s` 3. *mindlin* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` -4. *mindlin\_rescale* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` +4. *mindlin_rescale* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` Here, :math:`x_{\gamma,t}` is a dimensionless multiplier for the normal damping :math:`\eta_n` that determines the magnitude of the tangential damping, :math:`\mu_t` is the tangential (or sliding) friction coefficient, and :math:`k_t` is the tangential stiffness coefficient. -For *tangential linear\_nohistory*, a simple velocity-dependent Coulomb +For *tangential linear_nohistory*, a simple velocity-dependent Coulomb friction criterion is used, which mimics the behavior of the *pair -gran/hooke* style. The tangential force (\mathbf{F}\_t\) is given by: - +gran/hooke* style. The tangential force (\mathbf{F}_t\) is given by: .. math:: - \begin{equation}\mathbf{F}_t = -min(\mu_t F_{n0}, \|\mathbf{F}_\mathrm{t,damp}\|) \mathbf{t}\end{equation} + \mathbf{F}_t = -min(\mu_t F_{n0}, \|\mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} The tangential damping force :math:`\mathbf{F}_\mathrm{t,damp}` is given by: - .. math:: - \begin{equation}\mathbf{F}_\mathrm{t,damp} = -\eta_t \mathbf{v}_{t,rel}\end{equation} + \mathbf{F}_\mathrm{t,damp} = -\eta_t \mathbf{v}_{t,rel} The tangential damping prefactor :math:`\eta_t` is calculated by scaling the normal damping :math:`\eta_n` (see above): - .. math:: - \begin{equation}\eta_t = -x_{\gamma,t} \eta_n\end{equation} + \eta_t = -x_{\gamma,t} \eta_n The normal damping prefactor :math:`\eta_n` is determined by the choice of the *damping* keyword, as discussed above. Thus, the *damping* @@ -328,43 +303,39 @@ depends on the form of the contact model. For non-cohesive models (\ *hertz*\ , *hertz/material*\ , *hooke*\ ), it is given by the magnitude of the normal force: - .. math:: - \begin{equation}F_{n0} = \|\mathbf{F}_n\|\end{equation} + F_{n0} = \|\mathbf{F}_n\| For cohesive models such as *jkr* and *dmt*\ , the critical force is adjusted so that the critical tangential force approaches :math:`\mu_t F_{pulloff}`, see :ref:`Marshall `, equation 43, and :ref:`Thornton `. For both models, :math:`F_{n0}` takes the form: - .. math:: - \begin{equation}F_{n0} = \|\mathbf{F}_ne + 2 F_{pulloff}\|\end{equation} + F_{n0} = \|\mathbf{F}_ne + 2 F_{pulloff}\| Where :math:`F_{pulloff} = 3\pi \gamma R` for *jkr*\ , and :math:`F_{pulloff} = 4\pi \gamma R` for *dmt*\ . The remaining tangential options all use accumulated tangential displacement (i.e. contact history). This is discussed below in the -context of the *linear\_history* option, but the same treatment of the +context of the *linear_history* option, but the same treatment of the accumulated displacement applies to the other options as well. -For *tangential linear\_history*, the tangential force is given by: - +For *tangential linear_history*, the tangential force is given by: .. math:: - \begin{equation}\mathbf{F}_t = -min(\mu_t F_{n0}, \|-k_t\mathbf{\xi} + \mathbf{F}_\mathrm{t,damp}\|) \mathbf{t}\end{equation} + \mathbf{F}_t = -min(\mu_t F_{n0}, \|-k_t\mathbf{\xi} + \mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} Here, :math:`\mathbf{\xi}` is the tangential displacement accumulated during the entire duration of the contact: - .. math:: - \begin{equation}\mathbf{\xi} = \int_{t0}^t \mathbf{v}_{t,rel}(\tau) \mathrm{d}\tau\end{equation} + \mathbf{\xi} = \int_{t0}^t \mathbf{v}_{t,rel}(\tau) \mathrm{d}\tau This accumulated tangential displacement must be adjusted to account for changes in the frame of reference of the contacting pair of @@ -383,11 +354,9 @@ preserve the magnitude. This follows the discussion in :ref:`Luding `, see equation 17 and relevant discussion in that work: - .. math:: - \begin{equation}\mathbf{\xi} = \left(\mathbf{\xi'} - (\mathbf{n} \cdot \mathbf{\xi'})\mathbf{n}\right) \frac{\|\mathbf{\xi'}\|}{\|\mathbf{\xi'}\| - \mathbf{n}\cdot\mathbf{\xi'}} - \label{eq:rotate_displacements}\end{equation} + \mathbf{\xi} = \left(\mathbf{\xi'} - (\mathbf{n} \cdot \mathbf{\xi'})\mathbf{n}\right) \frac{\|\mathbf{\xi'}\|}{\|\mathbf{\xi'}\| - \mathbf{n}\cdot\mathbf{\xi'}} Here, :math:`\mathbf{\xi'}` is the accumulated displacement prior to the current time step and :math:`\mathbf{\xi}` is the corrected @@ -401,33 +370,29 @@ tangential displacement is re-scaled to match the value for the critical force (see :ref:`Luding `, equation 20 and related discussion): - .. math:: - \begin{equation}\mathbf{\xi} = -\frac{1}{k_t}\left(\mu_t F_{n0}\mathbf{t} + \mathbf{F}_{t,damp}\right)\end{equation} + \mathbf{\xi} = -\frac{1}{k_t}\left(\mu_t F_{n0}\mathbf{t} + \mathbf{F}_{t,damp}\right) The tangential force is added to the total normal force (elastic plus damping) to produce the total force on the particle. The tangential force also acts at the contact point (defined as the center of the overlap region) to induce a torque on each particle according to: - .. math:: - \begin{equation}\mathbf{\tau}_i = -(R_i - 0.5 \delta) \mathbf{n} \times \mathbf{F}_t\end{equation} - + \mathbf{\tau}_i = -(R_i - 0.5 \delta) \mathbf{n} \times \mathbf{F}_t .. math:: - \begin{equation}\mathbf{\tau}_j = -(R_j - 0.5 \delta) \mathbf{n} \times \mathbf{F}_t\end{equation} + \mathbf{\tau}_j = -(R_j - 0.5 \delta) \mathbf{n} \times \mathbf{F}_t -For *tangential mindlin*\ , the :ref:`Mindlin ` no-slip solution is used, which differs from the *linear\_history* +For *tangential mindlin*\ , the :ref:`Mindlin ` no-slip solution is used, which differs from the *linear_history* option by an additional factor of *a*\ , the radius of the contact region. The tangential force is given by: - .. math:: - \begin{equation}\mathbf{F}_t = -min(\mu_t F_{n0}, \|-k_t a \mathbf{\xi} + \mathbf{F}_\mathrm{t,damp}\|) \mathbf{t}\end{equation} + \mathbf{F}_t = -min(\mu_t F_{n0}, \|-k_t a \mathbf{\xi} + \mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} Here, *a* is the radius of the contact region, given by :math:`a =\sqrt{R\delta}` for all normal contact models, except for *jkr*\ , where it is given @@ -440,19 +405,17 @@ normal contact model that specifies material parameters :math:`E` and case, mixing of the shear modulus for different particle types *i* and *j* is done according to: - .. math:: - \begin{equation}1/G = 2(2-\nu_i)(1+\nu_i)/E_i + 2(2-\nu_j)(1+\nu_j)/E_j\end{equation} + 1/G = 2(2-\nu_i)(1+\nu_i)/E_i + 2(2-\nu_j)(1+\nu_j)/E_j -The *mindlin\_rescale* option uses the same form as *mindlin*\ , but the +The *mindlin_rescale* option uses the same form as *mindlin*\ , but the magnitude of the tangential displacement is re-scaled as the contact unloads, i.e. if :math:`a < a_{t_{n-1}}`: - .. math:: - \begin{equation}\mathbf{\xi} = \mathbf{\xi_{t_{n-1}}} \frac{a}{a_{t_{n-1}}}\end{equation} + \mathbf{\xi} = \mathbf{\xi_{t_{n-1}}} \frac{a}{a_{t_{n-1}}} Here, :math:`t_{n-1}` indicates the value at the previous time step. This rescaling accounts for the fact that a decrease in the @@ -462,10 +425,8 @@ created without the rescaling above (:ref:`Walton ` ). See also discussion in :ref:`Thornton et al, 2013 ` , particularly equation 18(b) of that work and associated discussion. - ---------- - The optional *rolling* keyword enables rolling friction, which resists pure rolling motion of particles. The options currently supported are: @@ -482,27 +443,24 @@ rolling displacement due to changes in the frame of reference of the contacting pair. The rolling pseudo-force is computed analogously to the tangential force: - .. math:: - \begin{equation}\mathbf{F}_{roll,0} = k_{roll} \mathbf{\xi}_{roll} - \gamma_{roll} \mathbf{v}_{roll}\end{equation} + \mathbf{F}_{roll,0} = k_{roll} \mathbf{\xi}_{roll} - \gamma_{roll} \mathbf{v}_{roll} Here, :math:`\mathbf{v}_{roll} = -R(\mathbf{\Omega}_i - \mathbf{\Omega}_j) \times \mathbf{n}` is the relative rolling velocity, as given in :ref:`Wang et al ` and :ref:`Luding `. This differs from the expressions given by :ref:`Kuhn and Bagi ` and used in :ref:`Marshall `; see :ref:`Wang et al ` for details. The rolling displacement is given by: - .. math:: - \begin{equation}\mathbf{\xi}_{roll} = \int_{t_0}^t \mathbf{v}_{roll} (\tau) \mathrm{d} \tau\end{equation} + \mathbf{\xi}_{roll} = \int_{t_0}^t \mathbf{v}_{roll} (\tau) \mathrm{d} \tau A Coulomb friction criterion truncates the rolling pseudo-force if it exceeds a critical value: - .. math:: - \begin{equation}\mathbf{F}_{roll} = min(\mu_{roll} F_{n,0}, \|\mathbf{F}_{roll,0}\|)\mathbf{k}\end{equation} + \mathbf{F}_{roll} = min(\mu_{roll} F_{n,0}, \|\mathbf{F}_{roll,0}\|)\mathbf{k} Here, :math:`\mathbf{k} = \mathbf{v}_{roll}/\|\mathbf{v}_{roll}\|` is the direction of the pseudo-force. As with tangential displacement, the rolling @@ -516,20 +474,16 @@ The rolling pseudo-force does not contribute to the total force on either particle (hence 'pseudo'), but acts only to induce an equal and opposite torque on each particle, according to: - .. math:: - \begin{equation}\tau_{roll,i} = R_{eff} \mathbf{n} \times \mathbf{F}_{roll}\end{equation} - + \tau_{roll,i} = R_{eff} \mathbf{n} \times \mathbf{F}_{roll} .. math:: - \begin{equation}\tau_{roll,j} = -\tau_{roll,i}\end{equation} - + \tau_{roll,j} = -\tau_{roll,i} ---------- - The optional *twisting* keyword enables twisting friction, which resists rotation of two contacting particles about the vector :math:`\mathbf{n}` that connects their centers. The options currently @@ -548,68 +502,58 @@ changes in the frame of reference due to rotations of the particle pair. The formulation in :ref:`Marshall ` therefore provides the most straightforward treatment: - .. math:: - \begin{equation}\tau_{twist,0} = -k_{twist}\xi_{twist} - \gamma_{twist}\Omega_{twist}\end{equation} + \tau_{twist,0} = -k_{twist}\xi_{twist} - \gamma_{twist}\Omega_{twist} Here :math:`\xi_{twist} = \int_{t_0}^t \Omega_{twist} (\tau) \mathrm{d}\tau` is the twisting angular displacement, and :math:`\Omega_{twist} = (\mathbf{\Omega}_i - \mathbf{\Omega}_j) \cdot \mathbf{n}` is the relative twisting angular velocity. The torque is then truncated according to: - .. math:: - \begin{equation}\tau_{twist} = min(\mu_{twist} F_{n,0}, \tau_{twist,0})\end{equation} + \tau_{twist} = min(\mu_{twist} F_{n,0}, \tau_{twist,0}) Similar to the sliding and rolling displacement, the angular displacement is rescaled so that it corresponds to the critical value if the twisting torque exceeds this critical value: - .. math:: - \begin{equation}\xi_{twist} = \frac{1}{k_{twist}} (\mu_{twist} F_{n,0}sgn(\Omega_{twist}) - \gamma_{twist}\Omega_{twist})\end{equation} + \xi_{twist} = \frac{1}{k_{twist}} (\mu_{twist} F_{n,0}sgn(\Omega_{twist}) - \gamma_{twist}\Omega_{twist}) For *twisting sds*\ , the coefficients :math:`k_{twist}, \gamma_{twist}` and :math:`\mu_{twist}` are simply the user input parameters that follow -the *twisting sds* keywords in the *pair\_coeff* command. +the *twisting sds* keywords in the *pair_coeff* command. -For *twisting\_marshall*, the coefficients are expressed in terms of +For *twisting_marshall*, the coefficients are expressed in terms of sliding friction coefficients, as discussed in :ref:`Marshall ` (see equations 32 and 33 of that work): - .. math:: - \begin{equation}k_{twist} = 0.5k_ta^2\end{equation} - + k_{twist} = 0.5k_ta^2 .. math:: - \begin{equation}\eta_{twist} = 0.5\eta_ta^2\end{equation} - + \eta_{twist} = 0.5\eta_ta^2 .. math:: - \begin{equation}\mu_{twist} = \frac{2}{3}a\mu_t\end{equation} + \mu_{twist} = \frac{2}{3}a\mu_t Finally, the twisting torque on each particle is given by: - .. math:: - \begin{equation}\mathbf{\tau}_{twist,i} = \tau_{twist}\mathbf{n}\end{equation} - + \mathbf{\tau}_{twist,i} = \tau_{twist}\mathbf{n} .. math:: - \begin{equation}\mathbf{\tau}_{twist,j} = -\mathbf{\tau}_{twist,i}\end{equation} - + \mathbf{\tau}_{twist,j} = -\mathbf{\tau}_{twist,i} ---------- - The *granular* pair style can reproduce the behavior of the *pair gran/\** styles with the appropriate settings (some very minor differences can be expected due to corrections in @@ -622,34 +566,30 @@ The second example is equivalent to The third example is equivalent to *pair gran/hertz/history 1000.0 500.0 50.0 50.0 0.4 1*\ . - ---------- - -LAMMPS automatically sets pairwise cutoff values for *pair\_style +LAMMPS automatically sets pairwise cutoff values for *pair_style granular* based on particle radii (and in the case of *jkr* pull-off distances). In the vast majority of situations, this is adequate. -However, a cutoff value can optionally be appended to the *pair\_style +However, a cutoff value can optionally be appended to the *pair_style granular* command to specify a global cutoff (i.e. a cutoff for all atom types). Additionally, the optional *cutoff* keyword can be passed -to the *pair\_coeff* command, followed by a cutoff value. This will -set a pairwise cutoff for the atom types in the *pair\_coeff* command. +to the *pair_coeff* command, followed by a cutoff value. This will +set a pairwise cutoff for the atom types in the *pair_coeff* command. These options may be useful in some rare cases where the automatic cutoff determination is not sufficient, e.g. if particle diameters are being modified via the *fix adapt* command. In that case, the -global cutoff specified as part of the *pair\_style granular* command +global cutoff specified as part of the *pair_style granular* command is applied to all atom types, unless it is overridden for a given atom type combination by the *cutoff* value specified in the *pair coeff* command. If *cutoff* is only specified in the *pair coeff* command -and no global cutoff is appended to the *pair\_style granular* command, +and no global cutoff is appended to the *pair_style granular* command, then LAMMPS will use that cutoff for the specified atom type combination, and automatically set pairwise cutoffs for the remaining atom types. - ---------- - 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 @@ -668,13 +608,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -The :doc:`pair\_modify ` mix, shift, table, and tail options +The :doc:`pair_modify ` mix, shift, table, and tail options are not relevant for granular pair styles. Mixing of coefficients is carried out using geometric averaging for @@ -682,36 +620,33 @@ most quantities, e.g. if friction coefficient for type 1-type 1 interactions is set to :math:`\mu_1`, and friction coefficient for type 2-type 2 interactions is set to :math:`\mu_2`, the friction coefficient for type1-type2 interactions is computed as :math:`\sqrt{\mu_1\mu_2}` -(unless explicitly specified to a different value by a *pair\_coeff 1 2 +(unless explicitly specified to a different value by a *pair_coeff 1 2 ...* command). The exception to this is elastic modulus, only applicable to *hertz/material*\ , *dmt* and *jkr* normal contact models. In that case, the effective elastic modulus is computed as: - .. math:: - \begin{equation}E_{eff,ij} = \left(\frac{1-\nu_i^2}{E_i} + \frac{1-\nu_j^2}{E_j}\right)^{-1}\end{equation} + E_{eff,ij} = \left(\frac{1-\nu_i^2}{E_i} + \frac{1-\nu_j^2}{E_j}\right)^{-1} If the *i-j* coefficients :math:`E_{ij}` and :math:`\nu_{ij}` are explicitly specified, the effective modulus is computed as: - .. math:: - \begin{equation}E_{eff,ij} = \left(\frac{1-\nu_{ij}^2}{E_{ij}} + \frac{1-\nu_{ij}^2}{E_{ij}}\right)^{-1}\end{equation} + E_{eff,ij} = \left(\frac{1-\nu_{ij}^2}{E_{ij}} + \frac{1-\nu_{ij}^2}{E_{ij}}\right)^{-1} or - .. math:: - \begin{equation}E_{eff,ij} = \frac{E_{ij}}{2(1-\nu_{ij})}\end{equation} + E_{eff,ij} = \frac{E_{ij}}{2(1-\nu_{ij})} -These pair styles write their information to :doc:`binary restart files `, so a pair\_style command does not need to be +These pair styles write their information to :doc:`binary restart files `, so a pair_style command does not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. The single() function of these pair styles returns 0.0 for the energy @@ -726,62 +661,55 @@ particle I. The next entry (8) is the magnitude of the rolling torque. The next entry (9) is the magnitude of the twisting torque acting about the vector connecting the two particle centers. The last 3 (10-12) are the components of the vector connecting -the centers of the two particles (x\_I - x\_J). +the centers of the two particles (x_I - x_J). These extra quantities can be accessed by the :doc:`compute pair/local ` command, as *p1*\ , *p2*\ , ..., *p12*\ . - ---------- - Restrictions """""""""""" - All the granular pair styles are part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. These pair styles require that atoms store torque and angular velocity -(omega) as defined by the :doc:`atom\_style `. They also +(omega) as defined by the :doc:`atom_style `. They also require a per-particle radius is stored. The *sphere* atom style does all of this. -This pair style requires you to use the :doc:`comm\_modify vel yes ` command so that velocities are stored by ghost +This pair style requires you to use the :doc:`comm_modify vel yes ` command so that velocities are stored by ghost atoms. These pair styles will not restart exactly when using the -:doc:`read\_restart ` command, though they should provide +:doc:`read_restart ` command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the -:doc:`read\_restart ` command for more details. +:doc:`read_restart ` command for more details. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` :doc:`pair gran/\* ` Default """"""" -For the *pair\_coeff* settings: *damping viscoelastic*\ , *rolling none*\ , +For the *pair_coeff* settings: *damping viscoelastic*\ , *rolling none*\ , *twisting none*\ . **References:** .. _Brill1996: - - **(Brilliantov et al, 1996)** Brilliantov, N. V., Spahn, F., Hertzsch, J. M., & Poschel, T. (1996). Model for collisions in granular gases. Physical review E, 53(5), 5382. .. _Tsuji1992: - - **(Tsuji et al, 1992)** Tsuji, Y., Tanaka, T., & Ishida, T. (1992). Lagrangian numerical simulation of plug flow of cohesionless particles in a horizontal pipe. Powder technology, 71(3), @@ -789,39 +717,29 @@ cohesionless particles in a horizontal pipe. Powder technology, 71(3), .. _JKR1971: - - **(Johnson et al, 1971)** Johnson, K. L., Kendall, K., & Roberts, A. D. (1971). Surface energy and the contact of elastic solids. Proc. R. Soc. Lond. A, 324(1558), 301-313. .. _DMT1975: - - **Derjaguin et al, 1975)** Derjaguin, B. V., Muller, V. M., & Toporov, Y. P. (1975). Effect of contact deformations on the adhesion of particles. Journal of Colloid and interface science, 53(2), 314-326. .. _Luding2008: - - **(Luding, 2008)** Luding, S. (2008). Cohesive, frictional powders: contact models for tension. Granular matter, 10(4), 235. .. _Marshall2009: - - **(Marshall, 2009)** Marshall, J. S. (2009). Discrete-element modeling of particulate aerosol flows. Journal of Computational Physics, 228(5), 1541-1561. .. _Silbert2001: - - **(Silbert, 2001)** Silbert, L. E., Ertas, D., Grest, G. S., Halsey, T. C., Levine, D., & Plimpton, S. J. (2001). Granular flow down an inclined plane: Bagnold scaling and rheology. Physical Review E, @@ -829,50 +747,33 @@ inclined plane: Bagnold scaling and rheology. Physical Review E, .. _Kuhn2004: - - **(Kuhn and Bagi, 2005)** Kuhn, M. R., & Bagi, K. (2004). Contact rolling and deformation in granular media. International journal of solids and structures, 41(21), 5793-5820. .. _Wang2015: - - **(Wang et al, 2015)** Wang, Y., Alonso-Marroquin, F., & Guo, W. W. (2015). Rolling and sliding in 3-D discrete element models. Particuology, 23, 49-55. .. _Thornton1991: - - **(Thornton, 1991)** Thornton, C. (1991). Interparticle sliding in the presence of adhesion. J. Phys. D: Appl. Phys. 24 1942 .. _Mindlin1949: - - **(Mindlin, 1949)** Mindlin, R. D. (1949). Compliance of elastic bodies in contact. J. Appl. Mech., ASME 16, 259-268. .. _Thornton2013: - - **(Thornton et al, 2013)** Thornton, C., Cummins, S. J., & Cleary, -P. W. (2013). An investigation of the comparative behaviour of +P. W. (2013). An investigation of the comparative behavior of alternative contact force models during inelastic collisions. Powder Technology, 233, 30-46. .. _WaltonPC: - - **(Otis R. Walton)** Walton, O.R., Personal Communication - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_gromacs.rst b/doc/src/pair_gromacs.rst index 9bc803bc55639ca467177c89a769cdac689e84aa..121181a90db3a64e3d5e031982e98be3a27dd6ad 100644 --- a/doc/src/pair_gromacs.rst +++ b/doc/src/pair_gromacs.rst @@ -1,38 +1,36 @@ -.. index:: pair\_style lj/gromacs +.. index:: pair_style lj/gromacs -pair\_style lj/gromacs command -============================== +pair_style lj/gromacs command +============================= -pair\_style lj/gromacs/gpu command -================================== +pair_style lj/gromacs/gpu command +================================= + +pair_style lj/gromacs/kk command +================================ -pair\_style lj/gromacs/kk command +pair_style lj/gromacs/omp command ================================= -pair\_style lj/gromacs/omp command -================================== +pair_style lj/gromacs/coul/gromacs command +========================================== -pair\_style lj/gromacs/coul/gromacs command -=========================================== +pair_style lj/gromacs/coul/gromacs/kk command +============================================= -pair\_style lj/gromacs/coul/gromacs/kk command +pair_style lj/gromacs/coul/gromacs/omp command ============================================== -pair\_style lj/gromacs/coul/gromacs/omp command -=============================================== - Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *lj/gromacs* or *lj/gromacs/coul/gromacs* * args = list of arguments for a particular style - .. parsed-literal:: *lj/gromacs* args = inner outer @@ -44,16 +42,15 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/gromacs 9.0 12.0 - pair_coeff \* \* 100.0 2.0 + pair_coeff * * 100.0 2.0 pair_coeff 2 2 100.0 2.0 8.0 10.0 pair_style lj/gromacs/coul/gromacs 9.0 12.0 pair_style lj/gromacs/coul/gromacs 8.0 10.0 7.0 9.0 - pair_coeff \* \* 100.0 2.0 + pair_coeff * * 100.0 2.0 Description """"""""""" @@ -64,41 +61,48 @@ smoothly to zero between an inner and outer cutoff. It is a commonly used potential in the `GROMACS `_ MD code and for the coarse-grained models of :ref:`(Marrink) `. -.. image:: Eqs/pair_gromacs.jpg - :align: center - -r1 is the inner cutoff; rc is the outer cutoff. The coefficients A, B, -and C are computed by LAMMPS to perform the shifting and smoothing. -The function -S(r) is actually applied once to each term of the LJ formula and once -to the Coulombic formula, so there are 2 or 3 sets of A,B,C coefficients -depending on which pair\_style is used. The boundary conditions -applied to the smoothing function are as follows: S'(r1) = S''(r1) = 0, -S(rc) = -E(rc), S'(rc) = -E'(rc), and S''(rc) = -E''(rc), -where E(r) is the corresponding term -in the LJ or Coulombic potential energy function. -Single and double primes denote first and second -derivatives with respect to r, respectively. +.. math:: + + E_{LJ} = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + S_{LJ}(r) + \qquad r < r_c \\ + E_C = & \frac{C q_i q_j}{\epsilon r} + S_C(r) \qquad r < r_c \\ + S(r) = & C \qquad r < r_1 \\ + S(r) = & \frac{A}{3} (r - r_1)^3 + \frac{B}{4} (r - r_1)^4 + C \qquad r_1 < r < r_c \\ + A = & (-3 E'(r_c) + (r_c - r_1) E''(r_c))/(r_c - r_1)^2 \\ + B = & (2 E'(r_c) - (r_c - r_1) E''(r_c))/(r_c - r_1)^3 \\ + C = & -E(r_c) + \frac{1}{2} (r_c - r_1) E'(r_c) - \frac{1}{12} (r_c - r_1)^2 E''(r_c) + +:math:`r_1` is the inner cutoff; :math:`r_c` is the outer cutoff. The +coefficients A, B, and C are computed by LAMMPS to perform the shifting +and smoothing. The function S(r) is actually applied once to each term +of the LJ formula and once to the Coulombic formula, so there are 2 or 3 +sets of A,B,C coefficients depending on which pair_style is used. The +boundary conditions applied to the smoothing function are as follows: +:math:`S'(r_1) = S''(r_1) = 0, S(r_c) = -E(r_c), S'(r_c) = -E'(r_c)`, +and :math:`S''(r_c) = -E''(r_c)`, where E(r) is the corresponding term +in the LJ or Coulombic potential energy function. Single and double +primes denote first and second derivatives with respect to r, +respectively. The inner and outer cutoff for the LJ and Coulombic terms can be the same or different depending on whether 2 or 4 arguments are used in -the pair\_style command. The inner LJ cutoff must be > 0, but the +the pair_style command. The inner LJ cutoff must be > 0, but the inner Coulombic cutoff can be >= 0. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * inner (distance units) * outer (distance units) Note that sigma is defined in the LJ formula as the zero-crossing -distance for the potential, not as the energy minimum at 2\^(1/6) -sigma. +distance for the potential, not as the energy minimum at :math:`2^{1/6} \sigma`. The last 2 coefficients are optional inner and outer cutoffs for style *lj/gromacs*\ . If not specified, the global *inner* and *outer* values @@ -107,12 +111,10 @@ are used. The last 2 coefficients cannot be used with style *lj/gromacs/coul/gromacs* because this force field does not allow varying cutoffs for individual atom pairs; all pairs use the global -cutoff(s) specified in the pair\_style command. - +cutoff(s) specified in the pair_style command. ---------- - 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 @@ -131,41 +133,37 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command +The default mix value is *geometric*\ . See the "pair_modify" command for details. None of the GROMACS pair styles support the -:doc:`pair\_modify ` shift option, since the Lennard-Jones +:doc:`pair_modify ` shift option, since the Lennard-Jones portion of the pair interaction is already smoothed to 0.0 at the cutoff. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. None of the GROMACS pair styles support the -:doc:`pair\_modify ` tail option for adding long-range tail +:doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for a potential that goes to 0.0 at the cutoff. -All of the GROMACS pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do +All of the GROMACS pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. All of the GROMACS pair styles can only be used via the *pair* -keyword of the :doc:`run\_style respa ` command. They do not +keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -173,21 +171,12 @@ Restrictions Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Marrink: - - **(Marrink)** Marrink, de Vries, Mark, J Phys Chem B, 108, 750-760 (2004). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_gw.rst b/doc/src/pair_gw.rst index d1c89eaee8ecf830a9eae83444c5bfc024cf9cfa..75642524592f599898b3e39c3d999d4f0c9fe3b7 100644 --- a/doc/src/pair_gw.rst +++ b/doc/src/pair_gw.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style gw +.. index:: pair_style gw -pair\_style gw command -====================== +pair_style gw command +===================== -pair\_style gw/zbl command -========================== +pair_style gw/zbl command +========================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style @@ -19,14 +18,13 @@ Syntax Examples """""""" -pair\_style gw -pair\_coeff \* \* SiC.gw Si C C - +.. code-block:: LAMMPS -.. parsed-literal:: + pair_style gw + pair_coeff * * SiC.gw Si C C pair_style gw/zbl - pair_coeff \* \* SiC.gw.zbl C Si + pair_coeff * * SiC.gw.zbl C Si Description """"""""""" @@ -43,26 +41,25 @@ to release the code anyway with only the technical explanations. For details of the model and the parameters, please refer to the linked publication. -Only a single pair\_coeff command is used with the *gw* and *gw/zbl* +Only a single pair_coeff command is used with the *gw* and *gw/zbl* styles which specifies a Gao-Weber potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by -specifying N additional arguments after the filename in the pair\_coeff +specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of GW elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, imagine a file SiC.gw has Gao-Weber values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the first 3 to -be Si, and the 4th to be C, you would use the following pair\_coeff command: +be Si, and the 4th to be C, you would use the following pair_coeff command: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* SiC.gw Si Si Si C + pair_coeff * * SiC.gw Si Si Si C The first 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si @@ -80,35 +77,30 @@ is similar to other many-body potentials supported by LAMMPS. You have to refer to the comments in the files and the literature to learn more details. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above from values in the potential file. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -119,27 +111,18 @@ The Gao-Weber potential files provided with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. You can use the GW potential with any LAMMPS units, but you would need to create your own GW potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. +appropriate units if your simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Gao: - - **(Gao)** Gao and Weber, Nuclear Instruments and Methods in Physics Research B 191 (2012) 504. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_hbond_dreiding.rst b/doc/src/pair_hbond_dreiding.rst index f87f0c45e2bf6eb1aa0ec05a441570496a7bdce7..0f5470d5f9ac16352d42bc44d47d87dc5ec5101e 100644 --- a/doc/src/pair_hbond_dreiding.rst +++ b/doc/src/pair_hbond_dreiding.rst @@ -1,37 +1,35 @@ -.. index:: pair\_style hbond/dreiding/lj +.. index:: pair_style hbond/dreiding/lj -pair\_style hbond/dreiding/lj command -===================================== +pair_style hbond/dreiding/lj command +==================================== -pair\_style hbond/dreiding/lj/omp command -========================================= - -pair\_style hbond/dreiding/morse command +pair_style hbond/dreiding/lj/omp command ======================================== -pair\_style hbond/dreiding/morse/omp command -============================================ +pair_style hbond/dreiding/morse command +======================================= + +pair_style hbond/dreiding/morse/omp command +=========================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style N inner_distance_cutoff outer_distance_cutoff angle_cutof * style = *hbond/dreiding/lj* or *hbond/dreiding/morse* * n = cosine angle periodicity -* inner\_distance\_cutoff = global inner cutoff for Donor-Acceptor interactions (distance units) -* outer\_distance\_cutoff = global cutoff for Donor-Acceptor interactions (distance units) -* angle\_cutoff = global angle cutoff for Acceptor-Hydrogen-Donor +* inner_distance_cutoff = global inner cutoff for Donor-Acceptor interactions (distance units) +* outer_distance_cutoff = global cutoff for Donor-Acceptor interactions (distance units) +* angle_cutoff = global angle cutoff for Acceptor-Hydrogen-Donor * interactions (degrees) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/lj 4 9.0 11.0 90 pair_coeff 1 2 hbond/dreiding/lj 3 i 9.5 2.75 4 9.0 11.0 90.0 @@ -46,15 +44,27 @@ The *hbond/dreiding* styles compute the Acceptor-Hydrogen-Donor (AHD) 3-body hydrogen bond interaction for the :doc:`DREIDING ` force field, given by: -.. image:: Eqs/pair_hbond_dreiding.jpg - :align: center - -where Rin is the inner spline distance cutoff, Rout is the outer -distance cutoff, theta\_c is the angle cutoff, and n is the cosine -periodicity. +.. math:: + + E = & \left[LJ(r) | Morse(r) \right] \qquad \qquad \qquad r < r_{\rm in} \\ + = & S(r) * \left[LJ(r) | Morse(r) \right] \qquad \qquad r_{\rm in} < r < r_{\rm out} \\ + = & 0 \qquad \qquad \qquad \qquad \qquad \qquad \qquad r > r_{\rm out} \\ + LJ(r) = & AR^{-12}-BR^{-10}cos^n\theta= + \epsilon\left\lbrace 5\left[ \frac{\sigma}{r}\right]^{12}- + 6\left[ \frac{\sigma}{r}\right]^{10} \right\rbrace cos^n\theta\\ + Morse(r) = & D_0\left\lbrace \chi^2 - 2\chi\right\rbrace cos^n\theta= + D_{0}\left\lbrace e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} + \right\rbrace cos^n\theta \\ + S(r) = & \frac{ \left[r_{\rm out}^2 - r^2\right]^2 + \left[r_{\rm out}^2 + 2r^2 - 3{r_{\rm in}^2}\right]} + { \left[r_{\rm out}^2 - {r_{\rm in}}^2\right]^3 } + +where :math:`r_{\rm in}` is the inner spline distance cutoff, +:math:`r_{\rm out}` is the outer distance cutoff, :math:`\theta_c` is +the angle cutoff, and *n* is the cosine periodicity. Here, *r* is the radial distance between the donor (D) and acceptor -(A) atoms and *theta* is the bond angle between the acceptor, the +(A) atoms and :math:`\theta` is the bond angle between the acceptor, the hydrogen (H) and the donor atoms: .. image:: JPG/dreiding_hbond.jpg @@ -64,9 +74,9 @@ These 3-body interactions can be defined for pairs of acceptor and donor atoms, based on atom types. For each donor/acceptor atom pair, the 3rd atom in the interaction is a hydrogen permanently bonded to the donor atom, e.g. in a bond list read in from a data file via the -:doc:`read\_data ` command. The atom types of possible +:doc:`read_data ` command. The atom types of possible hydrogen atoms for each donor/acceptor type pair are specified by the -:doc:`pair\_coeff ` command (see below). +:doc:`pair_coeff ` command (see below). Style *hbond/dreiding/lj* is the original DREIDING potential of :ref:`(Mayo) `. It uses a LJ 12/10 functional for the Donor-Acceptor @@ -84,16 +94,16 @@ on the DREIDING force field. Because the Dreiding hydrogen bond potential is only one portion of an overall force field which typically includes other pairwise - interactions, it is common to use it as a sub-style in a :doc:`pair\_style hybrid/overlay ` command, where another pair style + interactions, it is common to use it as a sub-style in a :doc:`pair_style hybrid/overlay ` command, where another pair style provides the repulsive core interaction between pairs of atoms, e.g. a 1/r\^12 Lennard-Jones repulsion. .. note:: - When using the hbond/dreiding pair styles with :doc:`pair\_style hybrid/overlay `, you should explicitly define pair + When using the hbond/dreiding pair styles with :doc:`pair_style hybrid/overlay `, you should explicitly define pair interactions between the donor atom and acceptor atoms, (as well as between these atoms and ALL other atoms in your system). Whenever - :doc:`pair\_style hybrid/overlay ` is used, ordinary mixing + :doc:`pair_style hybrid/overlay ` is used, ordinary mixing rules are not applied to atoms like the donor and acceptor atoms because they are typically referenced in multiple pair styles. Neglecting to do this can cause difficult-to-detect physics problems. @@ -102,46 +112,44 @@ on the DREIDING force field. In the original Dreiding force field paper 1-4 non-bonded interactions ARE allowed. If this is desired for your model, use the - special\_bonds command (e.g. "special\_bonds lj 0.0 0.0 1.0") to turn + special_bonds command (e.g. "special_bonds lj 0.0 0.0 1.0") to turn these interactions on. - ---------- - The following coefficients must be defined for pairs of eligible -donor/acceptor types via the :doc:`pair\_coeff ` command as +donor/acceptor types via the :doc:`pair_coeff ` command as in the examples above. .. note:: Unlike other pair styles and their associated - :doc:`pair\_coeff ` commands, you do not need to specify - pair\_coeff settings for all possible I,J type pairs. Only I,J type + :doc:`pair_coeff ` commands, you do not need to specify + pair_coeff settings for all possible I,J type pairs. Only I,J type pairs for atoms which act as joint donors/acceptors need to be specified; all other type pairs are assumed to be inactive. .. note:: - A :doc:`pair\_coeff ` command can be specified multiple + A :doc:`pair_coeff ` command can be specified multiple times for the same donor/acceptor type pair. This enables multiple hydrogen types to be assigned to the same donor/acceptor type pair. - For other pair\_styles, if the pair\_coeff command is re-used for the + For other pair_styles, if the pair_coeff command is re-used for the same I.J type pair, the settings for that type pair are overwritten. For the hydrogen bond potentials this is not the case; the settings are cumulative. This means the only way to turn off a previous - setting, is to re-use the pair\_style command and start over. + setting, is to re-use the pair_style command and start over. For the *hbond/dreiding/lj* style the list of coefficients is as follows: * K = hydrogen atom type = 1 to Ntypes * donor flag = *i* or *j* -* epsilon (energy units) -* sigma (distance units) -* n = exponent in formula above -* distance cutoff Rin (distance units) -* distance cutoff Rout (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) +* *n* = exponent in formula above +* distance cutoff :math:`r_{\rm in}` (distance units) +* distance cutoff :math:`r_{\rm out}` (distance units) * angle cutoff (degrees) For the *hbond/dreiding/morse* style the list of coefficients is as @@ -149,44 +157,42 @@ follows: * K = hydrogen atom type = 1 to Ntypes * donor flag = *i* or *j* -* D0 (energy units) -* alpha (1/distance units) -* r0 (distance units) -* n = exponent in formula above -* distance cutoff Rin (distance units) -* distance cutoff Rout (distance units) +* :math:`D_0` (energy units) +* :math:`\alpha` (1/distance units) +* :math:`r_0` (distance units) +* *n* = exponent in formula above +* distance cutoff :math:`r_{\rm in}` (distance units) +* distance cutoff :math:`r_{out}` (distance units) * angle cutoff (degrees) A single hydrogen atom type K can be specified, or a wild-card asterisk can be used in place of or in conjunction with the K arguments to select multiple types as hydrogen atoms. This takes the form -"\*" or "\*n" or "n\*" or "m\*n". See the :doc:`pair\_coeff ` +"\*" or "\*n" or "n\*" or "m\*n". See the :doc:`pair_coeff ` command doc page for details. -If the donor flag is *i*\ , then the atom of type I in the pair\_coeff +If the donor flag is *i*\ , then the atom of type I in the pair_coeff command is treated as the donor, and J is the acceptor. If the donor -flag is *j*\ , then the atom of type J in the pair\_coeff command is +flag is *j*\ , then the atom of type J in the pair_coeff command is treated as the donor and I is the donor. This option is required -because the :doc:`pair\_coeff ` command requires that I <= J. +because the :doc:`pair_coeff ` command requires that I <= J. -Epsilon and sigma are settings for the hydrogen bond potential based -on a Lennard-Jones functional form. Note that sigma is defined as the -zero-crossing distance for the potential, not as the energy minimum at -2\^(1/6) sigma. +:math:`\epsilon` and :math:`\sigma` are settings for the hydrogen bond +potential based on a Lennard-Jones functional form. Note that sigma is +defined as the zero-crossing distance for the potential, not as the +energy minimum at :math:`2^{1/6} \sigma`. -D0 and alpha and r0 are settings for the hydrogen bond potential based -on a Morse functional form. +:math:`D_0` and :math:`\alpha` and :math:`r_0` are settings for the +hydrogen bond potential based on a Morse functional form. The last 3 coefficients for both styles are optional. If not specified, the global n, distance cutoff, and angle cutoff specified -in the pair\_style command are used. If you wish to only override the +in the pair_style command are used. If you wish to only override the 2nd or 3rd optional parameter, you must also specify the preceding optional parameters. - ---------- - 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 @@ -205,30 +211,28 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. You must explicitly identify each donor/acceptor type pair. -These styles do not support the :doc:`pair\_modify ` shift +These styles do not support the :doc:`pair_modify ` shift option for the energy of the interactions. -The :doc:`pair\_modify ` table option is not relevant for +The :doc:`pair_modify ` table option is not relevant for these pair styles. -These pair styles do not support the :doc:`pair\_modify ` +These pair styles do not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -These pair styles do not write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands need to be +These pair styles do not write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands need to be re-specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. These pair styles tally a count of how many hydrogen bonding @@ -239,18 +243,15 @@ command as a vector of values of length 2. To print these quantities to the log file (with a descriptive column heading) the following commands could be included in an input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute hb all pair hbond/dreiding/lj variable n_hbond equal c_hb[1] #number hbonds variable E_hbond equal c_hb[2] #hbond energy thermo_style custom step temp epair v_E_hbond - ---------- - Restrictions """""""""""" none @@ -258,29 +259,18 @@ Restrictions Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _pair-Mayo: - - **(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990). .. _Liu: - - **(Liu)** Liu, Bryantsev, Diallo, Goddard III, J. Am. Chem. Soc 131 (8) 2798 (2009) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_hybrid.rst b/doc/src/pair_hybrid.rst index 3ee9c194289b6f9c5e42b2d4b12a994c97434beb..8e40466faf8ec0c425ac0d0fbe75d20b850634c3 100644 --- a/doc/src/pair_hybrid.rst +++ b/doc/src/pair_hybrid.rst @@ -1,22 +1,21 @@ -.. index:: pair\_style hybrid +.. index:: pair_style hybrid -pair\_style hybrid command -========================== +pair_style hybrid command +========================= -pair\_style hybrid/kk command -============================= +pair_style hybrid/kk command +============================ -pair\_style hybrid/overlay command -================================== +pair_style hybrid/overlay command +================================= -pair\_style hybrid/overlay/kk command -===================================== +pair_style hybrid/overlay/kk command +==================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid style1 args style2 args ... pair_style hybrid/overlay style1 args style2 args ... @@ -26,17 +25,16 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0 - pair_coeff 1\*2 1\*2 eam niu3 + pair_coeff 1*2 1*2 eam niu3 pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0 - pair_coeff 1\*2 3 lj/cut 0.5 1.2 + pair_coeff 1*2 3 lj/cut 0.5 1.2 pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0 - pair_coeff \* \* lj/cut 1.0 1.0 - pair_coeff \* \* coul/long + pair_coeff * * lj/cut 1.0 1.0 + pair_coeff * * coul/long Description """"""""""" @@ -46,7 +44,7 @@ pair styles in one simulation. With the *hybrid* style, exactly one pair style is assigned to each pair of atom types. With the *hybrid/overlay* style, one or more pair styles can be assigned to each pair of atom types. The assignment of pair styles to type pairs -is made via the :doc:`pair\_coeff ` command. +is made via the :doc:`pair_coeff ` command. Here are two examples of hybrid simulations. The *hybrid* style could be used for a simulation of a metal droplet on a LJ surface. The @@ -60,7 +58,7 @@ using *lj/cut* and *coul/long* together gives the same result as if the *lj/cut/coul/long* potential were used by itself. In this case, it would be more efficient to use the single combined potential, but in general any combination of pair potentials can be used together in -to produce an interaction that is not encoded in any single pair\_style +to produce an interaction that is not encoded in any single pair_style file, e.g. adding Coulombic forces between granular particles. All pair styles that will be used are listed as "sub-styles" following @@ -78,7 +76,7 @@ a Tersoff potential for pure C for the other set (presumably with some could be listed twice. But if you just want to use a Lennard-Jones or other pairwise potential for several different atom type pairs in your model, then you should just list the sub-style once and use the -pair\_coeff command to assign parameters for the different type pairs. +pair_coeff command to assign parameters for the different type pairs. .. note:: @@ -87,10 +85,10 @@ pair\_coeff command to assign parameters for the different type pairs. This is because the GPU package currently assumes that only one instance of a pair style is being used. -In the pair\_coeff commands, the name of a pair style must be added +In the pair_coeff commands, the name of a pair style must be added after the I,J type specification, with the remaining coefficients being those appropriate to that style. If the pair style is used -multiple times in the pair\_style command, then an additional numeric +multiple times in the pair_style command, then an additional numeric argument must also be specified which is a number from 1 to M where M is the number of times the sub-style was listed in the pair style command. The extra number indicates which instance of the sub-style @@ -100,33 +98,30 @@ For example, consider a simulation with 3 atom types: types 1 and 2 are Ni atoms, type 3 are LJ atoms with charges. The following commands would set up a hybrid simulation: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0 - pair_coeff \* \* eam/alloy nialhjea Ni Ni NULL + pair_coeff * * eam/alloy nialhjea Ni Ni NULL pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0 - pair_coeff 1\*2 3 lj/cut 0.8 1.3 + pair_coeff 1*2 3 lj/cut 0.8 1.3 As an example of using the same pair style multiple times, consider a simulation with 2 atom types. Type 1 is Si, type 2 is C. The following commands would model the Si atoms with Tersoff, the C atoms with Tersoff, and the cross-interactions with Lennard-Jones: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid lj/cut 2.5 tersoff tersoff - pair_coeff \* \* tersoff 1 Si.tersoff Si NULL - pair_coeff \* \* tersoff 2 C.tersoff NULL C + pair_coeff * * tersoff 1 Si.tersoff Si NULL + pair_coeff * * tersoff 2 C.tersoff NULL C pair_coeff 1 2 lj/cut 1.0 1.5 If pair coefficients are specified in the data file read via the -:doc:`read\_data ` command, then the same rule applies. +:doc:`read_data ` command, then the same rule applies. E.g. "eam/alloy" or "lj/cut" must be added after the atom type, for each line in the "Pair Coeffs" section, e.g. - .. parsed-literal:: Pair Coeffs @@ -134,8 +129,8 @@ each line in the "Pair Coeffs" section, e.g. 1 lj/cut/coul/cut 1.0 1.0 ... -Note that the pair\_coeff command for some potentials such as -:doc:`pair\_style eam/alloy ` includes a mapping specification +Note that the pair_coeff command for some potentials such as +:doc:`pair_style eam/alloy ` includes a mapping specification of elements to all atom types, which in the hybrid case, can include atom types not assigned to the *eam/alloy* potential. The NULL keyword is used by many such potentials (eam/alloy, Tersoff, AIREBO, @@ -144,59 +139,56 @@ sub-style. For the *hybrid* style, each atom type pair I,J is assigned to exactly one sub-style. Just as with a simulation using a single pair style, -if you specify the same atom type pair in a second pair\_coeff command, +if you specify the same atom type pair in a second pair_coeff command, the previous assignment will be overwritten. For the *hybrid/overlay* style, each atom type pair I,J can be assigned to one or more sub-styles. If you specify the same atom type -pair in a second pair\_coeff command with a new sub-style, then the +pair in a second pair_coeff command with a new sub-style, then the second sub-style is added to the list of potentials that will be calculated for two interacting atoms of those types. If you specify -the same atom type pair in a second pair\_coeff command with a +the same atom type pair in a second pair_coeff command with a sub-style that has already been defined for that pair of atoms, then the new pair coefficients simply override the previous ones, as in the -normal usage of the pair\_coeff command. E.g. these two sets of +normal usage of the pair_coeff command. E.g. these two sets of commands are the same: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut 2.5 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 2 2 1.5 0.8 pair_style hybrid/overlay lj/cut 2.5 - pair_coeff \* \* lj/cut 1.0 1.0 + pair_coeff * * lj/cut 1.0 1.0 pair_coeff 2 2 lj/cut 1.5 0.8 Coefficients must be defined for each pair of atoms types via the -:doc:`pair\_coeff ` command as described above, or in the -data file or restart files read by the :doc:`read\_data ` or -:doc:`read\_restart ` commands, or by mixing as described +:doc:`pair_coeff ` command as described above, or in the +data file or restart files read by the :doc:`read_data ` or +:doc:`read_restart ` commands, or by mixing as described below. For both the *hybrid* and *hybrid/overlay* styles, every atom type pair I,J (where I <= J) must be assigned to at least one sub-style via -the :doc:`pair\_coeff ` command as in the examples above, or -in the data file read by the :doc:`read\_data `, or by mixing +the :doc:`pair_coeff ` command as in the examples above, or +in the data file read by the :doc:`read_data `, or by mixing as described below. If you want there to be no interactions between a particular pair of atom types, you have 3 choices. You can assign the type pair to some -sub-style and use the :doc:`neigh\_modify exclude type ` +sub-style and use the :doc:`neigh_modify exclude type ` command. You can assign it to some sub-style and set the coefficients so that there is effectively no interaction (e.g. epsilon = 0.0 in a LJ potential). Or, for *hybrid* and *hybrid/overlay* simulations, you -can use this form of the pair\_coeff command in your input script: - +can use this form of the pair_coeff command in your input script: -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 2 3 none or this form in the "Pair Coeffs" section of the data file: - .. parsed-literal:: 3 none @@ -205,21 +197,19 @@ If an assignment to *none* is made in a simulation with the *hybrid/overlay* pair style, it wipes out all previous assignments of that atom type pair to sub-styles. -Note that you may need to use an :doc:`atom\_style ` hybrid +Note that you may need to use an :doc:`atom_style ` hybrid command in your input script, if atoms in the simulation will need attributes from several atom styles, due to using multiple pair potentials. - ---------- - Different force fields (e.g. CHARMM vs AMBER) may have different rules for applying weightings that change the strength of pairwise interactions between pairs of atoms that are also 1-2, 1-3, and 1-4 neighbors in the molecular bond topology, as normally set by the -:doc:`special\_bonds ` command. Different weights can be -assigned to different pair hybrid sub-styles via the :doc:`pair\_modify special ` command. This allows multiple force fields +:doc:`special_bonds ` command. Different weights can be +assigned to different pair hybrid sub-styles via the :doc:`pair_modify special ` command. This allows multiple force fields to be used in a model of a hybrid system, however, there is no consistent approach to determine parameters automatically for the interactions between the two force fields, this is only recommended when particles @@ -229,8 +219,7 @@ Here is an example for mixing CHARMM and AMBER: The global *amber* setting sets the 1-4 interactions to non-zero scaling factors and then overrides them with 0.0 only for CHARMM: - -.. parsed-literal:: +.. code-block:: LAMMPS special_bonds amber pair_hybrid lj/charmm/coul/long 8.0 10.0 lj/cut/coul/long 10.0 @@ -238,8 +227,7 @@ then overrides them with 0.0 only for CHARMM: The this input achieves the same effect: - -.. parsed-literal:: +.. code-block:: LAMMPS special_bonds 0.0 0.0 0.1 pair_hybrid lj/charmm/coul/long 8.0 10.0 lj/cut/coul/long 10.0 @@ -253,50 +241,45 @@ Tersoff part of the system the force constants for the bonded interactions have been set to 0. Note the global settings are effectively *lj/coul 0.0 0.0 0.5* as required for OPLS/AA: - -.. parsed-literal:: +.. code-block:: LAMMPS special_bonds lj/coul 1e-20 1e-20 0.5 pair_hybrid tersoff lj/cut/coul/long 12.0 pair_modify pair tersoff special lj/coul 1.0 1.0 1.0 For use with the various :doc:`compute \*/tally ` -computes, the :doc:`pair\_modify compute/tally ` +computes, the :doc:`pair_modify compute/tally ` command can be used to selectively turn off processing of the compute tally styles, for example, if those pair styles (e.g. many-body styles) do not support this feature. -See the :doc:`pair\_modify ` doc page for details on +See the :doc:`pair_modify ` doc page for details on the specific syntax, requirements and restrictions. - ---------- - The potential energy contribution to the overall system due to an individual sub-style can be accessed and output via the :doc:`compute pair ` command. - ---------- - .. note:: - Several of the potentials defined via the pair\_style command in + Several of the potentials defined via the pair_style command in LAMMPS are really many-body potentials, such as Tersoff, AIREBO, MEAM, ReaxFF, etc. The way to think about using these potentials in a hybrid setting is as follows. A subset of atom types is assigned to the many-body potential with a -single :doc:`pair\_coeff ` command, using "\* \*" to include +single :doc:`pair_coeff ` command, using "\* \*" to include all types and the NULL keywords described above to exclude specific types not assigned to that potential. If types 1,3,4 were assigned in that way (but not type 2), this means that all many-body interactions between all atoms of types 1,3,4 will be computed by that potential. -Pair\_style hybrid allows interactions between type pairs 2-2, 1-2, +Pair_style hybrid allows interactions between type pairs 2-2, 1-2, 2-3, 2-4 to be specified for computation by other pair styles. You could even add a second interaction for 1-1 to be computed by another -pair style, assuming pair\_style hybrid/overlay is used. +pair style, assuming pair_style hybrid/overlay is used. But you should not, as a general rule, attempt to exclude the many-body interactions for some subset of the type pairs within the @@ -308,8 +291,8 @@ find the additional atoms in the group. It is typically non-physical to think of excluding an interaction between a particular pair of atoms when the potential computes 3-body or 4-body interactions. -However, you can still use the pair\_coeff none setting or the -:doc:`neigh\_modify exclude ` command to exclude certain +However, you can still use the pair_coeff none setting or the +:doc:`neigh_modify exclude ` command to exclude certain type pairs from the neighbor list that will be passed to a many-body sub-style. This will alter the calculations made by a many-body potential, since it builds its list of 3-body, 4-body, etc @@ -322,15 +305,14 @@ to use a Tersoff potential to compute interactions within each surface, but not between surfaces. Then either of these two command sequences would implement that model: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid tersoff - pair_coeff \* \* tersoff SiC.tersoff C C + pair_coeff * * tersoff SiC.tersoff C C pair_coeff 1 2 none pair_style tersoff - pair_coeff \* \* SiC.tersoff C C + pair_coeff * * SiC.tersoff C C neigh_modify exclude type 1 2 Either way, only neighbor lists with 1-1 or 2-2 interactions would be @@ -343,22 +325,19 @@ potentials together, in an overlapping manner. Imagine you have CNT interactions, and AIREBO for C/C interactions. Si atoms are type 1; C atoms are type 2. Something like this will work: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay tersoff airebo 3.0 - pair_coeff \* \* tersoff SiC.tersoff.custom Si C - pair_coeff \* \* airebo CH.airebo NULL C + pair_coeff * * tersoff SiC.tersoff.custom Si C + pair_coeff * * airebo CH.airebo NULL C Note that to prevent the Tersoff potential from computing C/C interactions, you would need to modify the SiC.tersoff file to turn off C/C interaction, i.e. by setting the appropriate coefficients to 0.0. - ---------- - 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 @@ -383,49 +362,46 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : Any pair potential settings made via the -:doc:`pair\_modify ` command are passed along to all +:doc:`pair_modify ` command are passed along to all sub-styles of the hybrid potential. For atom type pairs I,J and I != J, if the sub-style assigned to I,I and J,J is the same, and if the sub-style allows for mixing, then the coefficients for I,J can be mixed. This means you do not have to -specify a pair\_coeff command for I,J since the I,J type pair will be +specify a pair_coeff command for I,J since the I,J type pair will be assigned automatically to the sub-style defined for both I,I and J,J and its coefficients generated by the mixing rule used by that sub-style. For the *hybrid/overlay* style, there is an additional requirement that both the I,I and J,J pairs are assigned to a single -sub-style. See the "pair\_modify" command for details of mixing rules. +sub-style. See the "pair_modify" command for details of mixing rules. See the See the doc page for the sub-style to see if allows for mixing. -The hybrid pair styles supports the :doc:`pair\_modify ` +The hybrid pair styles supports the :doc:`pair_modify ` shift, table, and tail options for an I,J pair interaction, if the associated sub-style supports it. For the hybrid pair styles, the list of sub-styles and their -respective settings are written to :doc:`binary restart files `, so a :doc:`pair\_style ` command does +respective settings are written to :doc:`binary restart files `, so a :doc:`pair_style ` command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart -file. Thus, pair\_coeff commands need to be re-specified in the +file. Thus, pair_coeff commands need to be re-specified in the restart input script. These pair styles support the use of the *inner*\ , *middle*\ , and -*outer* keywords of the :doc:`run\_style respa ` command, if +*outer* keywords of the :doc:`run_style respa ` command, if their sub-styles do. Restrictions """""""""""" - When using a long-range Coulombic solver (via the -:doc:`kspace\_style ` command) with a hybrid pair\_style, +:doc:`kspace_style ` command) with a hybrid pair_style, one or more sub-styles will be of the "long" variety, e.g. *lj/cut/coul/long* or *buck/coul/long*\ . You must insure that the short-range Coulombic cutoff used by each of these long pair styles is @@ -434,11 +410,7 @@ the same or else LAMMPS will generate an error. Related commands """""""""""""""" -:doc:`pair\_coeff ` - -**Default:** none - +:doc:`pair_coeff ` -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +**Default:** +none diff --git a/doc/src/pair_ilp_graphene_hbn.rst b/doc/src/pair_ilp_graphene_hbn.rst index b18ebb341b18e60a4e33ec9f26b31d39fd28360b..22f4a37380710a163377e8e6ad17724ac8097e6a 100644 --- a/doc/src/pair_ilp_graphene_hbn.rst +++ b/doc/src/pair_ilp_graphene_hbn.rst @@ -1,32 +1,30 @@ -.. index:: pair\_style ilp/graphene/hbn +.. index:: pair_style ilp/graphene/hbn -pair\_style ilp/graphene/hbn command -==================================== +pair_style ilp/graphene/hbn command +=================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style [hybrid/overlay ...] ilp/graphene/hbn cutoff tap_flag * cutoff = global cutoff (distance units) -* tap\_flag = 0/1 to turn off/on the taper function +* tap_flag = 0/1 to turn off/on the taper function Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay ilp/graphene/hbn 16.0 1 - pair_coeff \* \* ilp/graphene/hbn BNCH.ILP B N C + pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 - pair_coeff \* \* rebo CH.rebo NULL NULL C - pair_coeff \* \* tersoff BNC.tersoff B N NULL - pair_coeff \* \* ilp/graphene/hbn BNCH.ILP B N C + pair_coeff * * rebo CH.rebo NULL NULL C + pair_coeff * * tersoff BNC.tersoff B N NULL + pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C pair_coeff 1 1 coul/shield 0.70 pair_coeff 1 2 coul/shield 0.695 pair_coeff 2 2 coul/shield 0.69 @@ -40,13 +38,26 @@ potential (ILP) potential as described in :ref:`(Leven1) `, The normals are calculated in the way as described in :ref:`(Kolmogorov) `. -.. image:: Eqs/pair_ilp_graphene_hbn.jpg - :align: center - -Where Tap(r\_ij) is the taper function which provides a continuous -cutoff (up to third derivative) for interatomic separations larger than -r\_c :ref:`(Maaravi) `. The definitions of each parameter in the above -equation can be found in :ref:`(Leven1) ` and :ref:`(Maaravi) `. +.. math:: + + E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ + V_{ij} = & {\rm Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)} + \left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] - + \frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}} + \cdot \frac{C_6}{r^6_{ij}} \right \}\\ + \rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\ + \rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_j)^2 \\ + f(\rho) = & C e^{ -( \rho / \delta )^2 } \\ + {\rm Tap}(r_{ij}) = & 20\left ( \frac{r_{ij}}{R_{cut}} \right )^7 - + 70\left ( \frac{r_{ij}}{R_{cut}} \right )^6 + + 84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 - + 35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1 + +Where :math:`\mathrm{Tap}(r_{ij})` is the taper function which provides +a continuous cutoff (up to third derivative) for interatomic separations +larger than :math:`r_c` :ref:`(Maaravi) `. The definitions of +each parameter in the above equation can be found in :ref:`(Leven1) +` and :ref:`(Maaravi) `. It is important to include all the pairs to build the neighbor list for calculating the normals. @@ -82,7 +93,7 @@ list for calculating the normals for each atom pair. .. note:: - Four new sets of parameters of ILP for 2D layered Materials with bilayer and + Four new sets of parameters of ILP for 2D layered Materials with bilayer and bulk configurations are presented in :ref:`(Ouyang1) ` and :ref:`(Ouyang2) `, respectively. These parameters provide a good description in both short- and long-range interaction regimes. While the old ILP parameters published in :ref:`(Leven2) ` and @@ -93,44 +104,40 @@ list for calculating the normals for each atom pair. be found in :ref:`(Ouyang1) ` and :ref:`(Ouyang2) `. This potential must be used in combination with hybrid/overlay. -Other interactions can be set to zero using pair\_style *none*\ . +Other interactions can be set to zero using pair_style *none*\ . This pair style tallies a breakdown of the total interlayer potential energy into sub-categories, which can be accessed via the :doc:`compute pair ` command as a vector of values of length 2. The 2 values correspond to the following sub-categories: -1. *E\_vdW* = vdW (attractive) energy -2. *E\_Rep* = Repulsive energy +1. *E_vdW* = vdW (attractive) energy +2. *E_Rep* = Repulsive energy To print these quantities to the log file (with descriptive column headings) the following commands could be included in an input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 0 all pair ilp/graphene/hbn variable Evdw equal c_0[1] variable Erep equal c_0[2] thermo_style custom step temp epair v_Erep v_Evdw - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the pair\_modify mix, shift, table, and +This pair style does not support the pair_modify mix, shift, table, and tail options. This pair style does not write their information to binary restart files, since it is stored in potential files. Thus, you need to -re-specify the pair\_style and pair\_coeff commands in an input script +re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -146,58 +153,39 @@ units, if your simulation does not use *metal* units. Related commands """""""""""""""" -:doc:`pair\_coeff `, -:doc:`pair\_none `, -:doc:`pair\_style hybrid/overlay `, -:doc:`pair\_style drip `, -:doc:`pair\_style pair\_kolmogorov\_crespi\_z `, -:doc:`pair\_style pair\_kolmogorov\_crespi\_full `, -:doc:`pair\_style pair\_lebedeva\_z `, -:doc:`pair\_style pair\_coul\_shield `. - -**Default:** tap\_flag = 1 +:doc:`pair_coeff `, +:doc:`pair_none `, +:doc:`pair_style hybrid/overlay `, +:doc:`pair_style drip `, +:doc:`pair_style pair_kolmogorov_crespi_z `, +:doc:`pair_style pair_kolmogorov_crespi_full `, +:doc:`pair_style pair_lebedeva_z `, +:doc:`pair_style pair_coul_shield `. +**Default:** tap_flag = 1 ---------- - .. _Leven1: - - **(Leven1)** I. Leven, I. Azuri, L. Kronik and O. Hod, J. Chem. Phys. 140, 104106 (2014). .. _Leven2: - - **(Leven2)** I. Leven et al, J. Chem.Theory Comput. 12, 2896-905 (2016). .. _Maaravi2: - - **(Maaravi)** T. Maaravi et al, J. Phys. Chem. C 121, 22826-22835 (2017). .. _Kolmogorov2: - - **(Kolmogorov)** A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005). .. _Ouyang1: - - **(Ouyang1)** W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Lett. 18, 6009-6016 (2018). .. _Ouyang2: - - **(Ouyang2)** W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_kim.rst b/doc/src/pair_kim.rst index 768ac3fa9bbcba40e633d708271240339fcc8970..7717545f2126ce85fffb69640de0a31fdc7c2fe5 100644 --- a/doc/src/pair_kim.rst +++ b/doc/src/pair_kim.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style kim +.. index:: pair_style kim -pair\_style kim command -======================= +pair_style kim command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style kim model @@ -16,11 +15,10 @@ model = name of a KIM model (the KIM ID for models archived in OpenKIM) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style kim SW_StillingerWeber_1985_Si__MO_405512056662_005 - pair_coeff \* \* Si + pair_coeff * * Si Description """"""""""" @@ -29,57 +27,52 @@ This pair style is a wrapper on the `Open Knowledgebase of Interatomic Models (O potentials to enable their use in LAMMPS scripts. The preferred interface for using interatomic models archived in -OpenKIM is the :doc:`kim\_commands interface `. That +OpenKIM is the :doc:`kim_commands interface `. That interface supports both "KIM Portable Models" (PMs) that conform to the KIM API Portable Model Interface (PMI) and can be used by any simulation code that conforms to the KIM API/PMI, and "KIM Simulator Models" that are natively implemented within a single simulation code (like LAMMPS) and can only be used with it. -The *pair\_style kim* command is limited to KIM PMs. It is -used by the :doc:`kim\_commands interface ` as needed. +The *pair_style kim* command is limited to KIM PMs. It is +used by the :doc:`kim_commands interface ` as needed. .. note:: - Since *pair\_style kim* is called by *kim\_interactions* as needed, + Since *pair_style kim* is called by *kim_interactions* as needed, is not recommended to be directly used in input scripts. - ---------- - The argument *model* is the name of the KIM PM. For potentials archived in OpenKIM -this is the extended KIM ID (see :doc:`kim\_commands ` +this is the extended KIM ID (see :doc:`kim_commands ` for details). LAMMPS can invoke any KIM PM, however there can be incompatibilities (for example due to unit matching issues). In the event of an incompatibility, the code will terminate with an error message. Check both the LAMMPS and KIM log files for details. -Only a single *pair\_coeff* command is used with the *kim* style, which +Only a single *pair_coeff* command is used with the *kim* style, which specifies the mapping of LAMMPS atom types to the species supported by the KIM PM. This is done by specifying *N* additional arguments -after the \* \* in the *pair\_coeff* command, where *N* is the number of +after the \* \* in the *pair_coeff* command, where *N* is the number of LAMMPS atom types: * N element names = mapping of KIM elements to atom types For example, consider a KIM PM that supports Si and C species. If the LAMMPS simulation has four atom types, where the first three are Si, -and the fourth is C, the following *pair\_coeff* command would be used: +and the fourth is C, the following *pair_coeff* command would be used: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* Si Si Si C + pair_coeff * * Si Si Si C The first two arguments must be \* \* so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1, 2, and 3 to Si as defined within KIM PM. The final C argument maps LAMMPS atom type 4 to C. - ---------- - In addition to the usual LAMMPS error messages, the KIM library itself may generate errors, which should be printed to the screen. In this case it is also useful to check the *kim.log* file for additional error @@ -91,45 +84,35 @@ the *lib/kim/README* file. Once you have done this and built LAMMPS with the KIM package installed you can run the example input scripts in *examples/kim*\ . - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since KIM stores the potential parameters. -Thus, you need to re-specify the pair\_style and pair\_coeff commands in +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the KIM package. See details on -restrictions in :doc:`kim\_commands `. +restrictions in :doc:`kim_commands `. -This current version of pair\_style kim is compatible with the +This current version of pair_style kim is compatible with the kim-api package version 2.0.0 and higher. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`kim\_commands ` +:doc:`pair_coeff `, :doc:`kim_commands ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_kolmogorov_crespi_full.rst b/doc/src/pair_kolmogorov_crespi_full.rst index 1faf271497b52eff109f4f8230ad16a7a733059f..8d9adf0341eb78729e95b5f1f1730c338cdcd868 100644 --- a/doc/src/pair_kolmogorov_crespi_full.rst +++ b/doc/src/pair_kolmogorov_crespi_full.rst @@ -1,32 +1,30 @@ -.. index:: pair\_style kolmogorov/crespi/full +.. index:: pair_style kolmogorov/crespi/full -pair\_style kolmogorov/crespi/full command -========================================== +pair_style kolmogorov/crespi/full command +========================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay kolmogorov/crespi/full cutoff tap_flag * cutoff = global cutoff (distance units) -* tap\_flag = 0/1 to turn off/on the taper function +* tap_flag = 0/1 to turn off/on the taper function Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay kolmogorov/crespi/full 20.0 0 - pair_coeff \* \* none - pair_coeff \* \* kolmogorov/crespi/full CH.KC C C + pair_coeff * * none + pair_coeff * * kolmogorov/crespi/full CH.KC C C pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0 1 - pair_coeff \* \* rebo CH.rebo C H - pair_coeff \* \* kolmogorov/crespi/full CH_taper.KC C H + pair_coeff * * rebo CH.rebo C H + pair_coeff * * kolmogorov/crespi/full CH_taper.KC C H Description """"""""""" @@ -35,15 +33,20 @@ The *kolmogorov/crespi/full* style computes the Kolmogorov-Crespi (KC) interaction potential as described in :ref:`(Kolmogorov) `. No simplification is made, -.. image:: Eqs/pair_kolmogorov_crespi_full.jpg - :align: center +.. math:: + + E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ + V_{ij} = & e^{-\lambda (r_{ij} -z_0)} \left [ C + f(\rho_{ij}) + f(\rho_{ji}) - A \left ( \frac{r_{ij}}{z_0}\right )^{-6} \right ] \\ + \rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{i})^2 \\ + \rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{j})^2 \\ + f(\rho) & = e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} { (\rho/\delta) }^{2n} It is important to have a sufficiently large cutoff to ensure smooth forces and to include all the pairs to build the neighbor list for calculating the normals. Energies are shifted so that they go continuously to zero at the cutoff assuming that the exponential part of -*Vij* (first term) decays sufficiently fast. This shift is achieved by -the last term in the equation for *Vij* above. This is essential only +:math:`V_{ij}` (first term) decays sufficiently fast. This shift is achieved by +the last term in the equation for :math:`V_{ij}` above. This is essential only when the tapper function is turned off. The formula of taper function can be found in pair style :doc:`ilp/graphene/hbn `. @@ -69,10 +72,10 @@ list for calculating the normals for each atom pair. .. note:: Two new sets of parameters of KC potential for hydrocarbons, CH.KC - (without the taper function) and CH\_taper.KC (with the taper function) + (without the taper function) and CH_taper.KC (with the taper function) are presented in :ref:`(Ouyang1) `. The energy for the KC potential with the taper function goes continuously to zero at the cutoff. The - parameters in both CH.KC and CH\_taper.KC provide a good description in + parameters in both CH.KC and CH_taper.KC provide a good description in both short- and long-range interaction regimes. While the original parameters (CC.KC) published in :ref:`(Kolmogorov) ` are only suitable for long-range interaction regime. This feature is essential @@ -81,44 +84,40 @@ list for calculating the normals for each atom pair. comparison of these parameters can be found in :ref:`(Ouyang1) ` and :ref:`(Ouyang2) `. This potential must be used in combination with hybrid/overlay. -Other interactions can be set to zero using pair\_style *none*\ . +Other interactions can be set to zero using pair_style *none*\ . This pair style tallies a breakdown of the total interlayer potential energy into sub-categories, which can be accessed via the :doc:`compute pair ` command as a vector of values of length 2. The 2 values correspond to the following sub-categories: -1. *E\_vdW* = vdW (attractive) energy -2. *E\_Rep* = Repulsive energy +1. *E_vdW* = vdW (attractive) energy +2. *E_Rep* = Repulsive energy To print these quantities to the log file (with descriptive column headings) the following commands could be included in an input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 0 all pair kolmogorov/crespi/full variable Evdw equal c_0[1] variable Erep equal c_0[2] thermo_style custom step temp epair v_Erep v_Evdw - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the pair\_modify mix, shift, table, +This pair style does not support the pair_modify mix, shift, table, and tail options. This pair style does not write their information to binary restart files, since it is stored in potential files. Thus, you need to -re-specify the pair\_style and pair\_coeff commands in an input script +re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -134,39 +133,26 @@ units. Related commands """""""""""""""" -:doc:`pair\_coeff `, -:doc:`pair\_none `, -:doc:`pair\_style hybrid/overlay `, -:doc:`pair\_style drip `, -:doc:`pair\_style pair\_lebedeva\_z `, -:doc:`pair\_style kolmogorov/crespi/z `, -:doc:`pair\_style ilp/graphene/hbn `. - -**Default:** tap\_flag = 0 +:doc:`pair_coeff `, +:doc:`pair_none `, +:doc:`pair_style hybrid/overlay `, +:doc:`pair_style drip `, +:doc:`pair_style pair_lebedeva_z `, +:doc:`pair_style kolmogorov/crespi/z `, +:doc:`pair_style ilp/graphene/hbn `. +**Default:** tap_flag = 0 ---------- - .. _Kolmogorov1: - - **(Kolmogorov)** A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) .. _Ouyang3: - - **(Ouyang1)** W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Lett. 18, 6009-6016 (2018). .. _Ouyang4: - - **(Ouyang2)** W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_kolmogorov_crespi_z.rst b/doc/src/pair_kolmogorov_crespi_z.rst index a1e6c1afad705d78941cfff2b0d5df0acb8c1bdb..8b961773a31e372917d1c7ef862760240c903969 100644 --- a/doc/src/pair_kolmogorov_crespi_z.rst +++ b/doc/src/pair_kolmogorov_crespi_z.rst @@ -1,28 +1,26 @@ -.. index:: pair\_style kolmogorov/crespi/z +.. index:: pair_style kolmogorov/crespi/z -pair\_style kolmogorov/crespi/z command -======================================= +pair_style kolmogorov/crespi/z command +====================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style [hybrid/overlay ...] kolmogorov/crespi/z cutoff Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay kolmogorov/crespi/z 20.0 - pair_coeff \* \* none + pair_coeff * * none pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0 - pair_coeff \* \* rebo CH.rebo C C + pair_coeff * * rebo CH.rebo C C pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C Description @@ -32,13 +30,17 @@ The *kolmogorov/crespi/z* style computes the Kolmogorov-Crespi interaction potential as described in :ref:`(Kolmogorov) `. An important simplification is made, which is to take all normals along the z-axis. -.. image:: Eqs/pair_kolmogorov_crespi_z.jpg - :align: center +.. math:: + + E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ + V_{ij} = & e^{-\lambda(r_{ij} -z_0}) \left[ C + f(\rho_{ij}) + f(\rho_{ji}) \right] - A \left( \frac{r_{ij}}{z_0}\right)^{-6} + A \left( \frac{\textrm{cutoff}}{z_0}\right)^{-6} \\ + \rho_{ij}^2 = & \rho_{ji}^2 = x_{ij}^2 + y_{ij}^2 \qquad \qquad (\mathbf{n}_i \equiv \mathbf{\hat{z}}) \\ + f(\rho) = & e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} \left( \rho/\delta \right)^{2n} It is important to have a sufficiently large cutoff to ensure smooth forces. Energies are shifted so that they go continuously to zero at the cutoff assuming -that the exponential part of *Vij* (first term) decays sufficiently fast. -This shift is achieved by the last term in the equation for *Vij* above. +that the exponential part of :math:`V_{ij}` (first term) decays sufficiently fast. +This shift is achieved by the last term in the equation for :math:`V_{ij}` above. This potential is intended for interactions between two layers of graphene. Therefore, to avoid interaction between layers in multi-layered materials, @@ -51,46 +53,34 @@ is available to facilitate scaling of energies in accordance with :ref:`(vanWijk) `. This potential must be used in combination with hybrid/overlay. -Other interactions can be set to zero using pair\_style *none*\ . +Other interactions can be set to zero using pair_style *none*\ . Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, -:doc:`pair\_none `, -:doc:`pair\_style hybrid/overlay `, -:doc:`pair\_style drip `, -:doc:`pair\_style ilp/graphene/hbn `. -:doc:`pair\_style kolmogorov/crespi/full `, -:doc:`pair\_style lebedeva/z ` +:doc:`pair_coeff `, +:doc:`pair_none `, +:doc:`pair_style hybrid/overlay `, +:doc:`pair_style drip `, +:doc:`pair_style ilp/graphene/hbn `. +:doc:`pair_style kolmogorov/crespi/full `, +:doc:`pair_style lebedeva/z ` **Default:** none - ---------- - .. _KC05: - - **(Kolmogorov)** A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) .. _vanWijk: - - **(vanWijk)** M. M. van Wijk, A. Schuring, M. I. Katsnelson, and A. Fasolino, Physical Review Letters, 113, 135504 (2014) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lcbop.rst b/doc/src/pair_lcbop.rst index 8f667bf9185637760d72de70a236c8f821141ad3..ef26556c699013a1e26705c7283ec3a907387a09 100644 --- a/doc/src/pair_lcbop.rst +++ b/doc/src/pair_lcbop.rst @@ -1,24 +1,22 @@ -.. index:: pair\_style lcbop +.. index:: pair_style lcbop -pair\_style lcbop command -========================= +pair_style lcbop command +======================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lcbop Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lcbop - pair_coeff \* \* ../potentials/C.lcbop C + pair_coeff * * ../potentials/C.lcbop C Description """"""""""" @@ -27,25 +25,24 @@ The *lcbop* pair style computes the long-range bond-order potential for carbon (LCBOP) of :ref:`(Los and Fasolino) `. See section II in that paper for the analytic equations associated with the potential. -Only a single pair\_coeff command is used with the *lcbop* style which +Only a single pair_coeff command is used with the *lcbop* style which specifies an LCBOP potential file with parameters for specific elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of LCBOP elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, if your LAMMPS simulation has 4 atom types and you want -the 1st 3 to be C you would use the following pair\_coeff command: - +the 1st 3 to be C you would use the following pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* C.lcbop C C C NULL + pair_coeff * * C.lcbop C C C NULL The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first C argument maps LAMMPS atom type 1 to the C element in the @@ -59,27 +56,24 @@ are listed in the C.lcbop file to agree with the original :ref:`(Los and Fasolin potential and the way it was fit, so modifying the file should be done carefully. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - This pair styles is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -90,27 +84,18 @@ The C.lcbop potential file provided with LAMMPS (see the potentials directory) is parameterized for metal :doc:`units `. You can use the LCBOP potential with any LAMMPS units, but you would need to create your own LCBOP potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. +appropriate units if your simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_airebo `, :doc:`pair\_coeff ` +:doc:`pair_airebo `, :doc:`pair_coeff ` **Default:** none - ---------- - .. _Los: - - **(Los and Fasolino)** J. H. Los and A. Fasolino, Phys. Rev. B 68, 024107 (2003). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lebedeva_z.rst b/doc/src/pair_lebedeva_z.rst index 78e21ca61661bbe86250e4897dd8192f930c2144..df81d8399924eeb10410fe45d5ee602b4c09dd01 100644 --- a/doc/src/pair_lebedeva_z.rst +++ b/doc/src/pair_lebedeva_z.rst @@ -1,28 +1,26 @@ -.. index:: pair\_style lebedeva/z +.. index:: pair_style lebedeva/z -pair\_style lebedeva/z command -============================== +pair_style lebedeva/z command +============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style [hybrid/overlay ...] lebedeva/z cutoff Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay lebedeva/z 20.0 - pair_coeff \* \* none + pair_coeff * * none pair_coeff 1 2 lebedeva/z CC.Lebedeva C C pair_style hybrid/overlay rebo lebedeva/z 14.0 - pair_coeff \* \* rebo CH.rebo C C + pair_coeff * * rebo CH.rebo C C pair_coeff 1 2 lebedeva/z CC.Lebedeva C C Description @@ -32,52 +30,47 @@ The *lebedeva/z* style computes the Lebedeva interaction potential as described in :ref:`(Lebedeva et al.) `. An important simplification is made, which is to take all normals along the z-axis. -.. image:: Eqs/pair_lebedeva.png - :align: center +.. math:: + + E = & \frac{1}{2} \sum_i \sum_{i \neq j} V_{ij}\\ + V_{ij} = & B e^{-\alpha(r_{ij} - z_0)} \\ + & + C(1 + D_1\rho^2_{ij} + D_2\rho^4_{ij} e^{-\lambda_1\rho^2_{ij}} e^{-\lambda_2 (z^2_{ij} - z^2_0)} \\ + & - A \left(\frac{z_0}{r_ij}\right)^6 + A \left( \frac{z_0}{r_c} \right)^6 \\ + \rho^2_{ij} = & x^2_{ij} + y^2_{ij} \qquad (\mathbf{n_i} \equiv \mathbf{\hat{z}}) It is important to have a sufficiently large cutoff to ensure smooth forces. Energies are shifted so that they go continuously to zero at the cutoff assuming -that the exponential part of *Vij* (first term) decays sufficiently fast. -This shift is achieved by the last term in the equation for *Vij* above. +that the exponential part of :math:`V_{ij}` (first term) decays sufficiently fast. +This shift is achieved by the last term in the equation for :math:`V_{ij}` above. The parameter file (e.g. CC.Lebedeva), is intended for use with metal :doc:`units `, with energies in meV. An additional parameter, *S*\ , is available to facilitate scaling of energies. This potential must be used in combination with hybrid/overlay. -Other interactions can be set to zero using pair\_style *none*\ . +Other interactions can be set to zero using pair_style *none*\ . Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, -:doc:`pair\_style none `, -:doc:`pair\_style hybrid/overlay `, -:doc:`pair\_style drip `, -:doc:`pair\_style ilp/graphene/hbd `, -:doc:`pair\_style kolmogorov/crespi/z `, -:doc:`pair\_style kolmogorov/crespi/full `. +:doc:`pair_coeff `, +:doc:`pair_style none `, +:doc:`pair_style hybrid/overlay `, +:doc:`pair_style drip `, +:doc:`pair_style ilp/graphene/hbd `, +:doc:`pair_style kolmogorov/crespi/z `, +:doc:`pair_style kolmogorov/crespi/full `. **Default:** none - ---------- - .. _Leb01: - - **(Lebedeva et al.)** I. V. Lebedeva, A. A. Knizhnik, A. M. Popov, Y. E. Lozovik, B. V. Potapkin, Phys. Rev. B, 84, 245437 (2011) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_line_lj.rst b/doc/src/pair_line_lj.rst index e8b1a9850fb9dde5b3b12f3734c5e1e6bb75046b..70077c61f8a7f4a0ea2b9a2d6fdda32b7a094f26 100644 --- a/doc/src/pair_line_lj.rst +++ b/doc/src/pair_line_lj.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style line/lj +.. index:: pair_style line/lj -pair\_style line/lj command -=========================== +pair_style line/lj command +========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style line/lj cutoff @@ -16,11 +15,10 @@ cutoff = global cutoff for interactions (distance units) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style line/lj 3.0 - pair_coeff \* \* 1.0 1.0 1.0 0.8 1.12 + pair_coeff * * 1.0 1.0 1.0 0.8 1.12 pair_coeff 1 2 1.0 2.0 1.0 1.5 1.12 5.0 pair_coeff 1 2 1.0 0.0 1.0 1.0 2.5 @@ -28,13 +26,13 @@ Description """"""""""" Style *line/lj* treats particles which are line segments as a set of -small spherical particles that tile the line segment length as -explained below. Interactions between two line segments, each with N1 -and N2 spherical particles, are calculated as the pairwise sum of -N1\*N2 Lennard-Jones interactions. Interactions between a line segment -with N spherical particles and a point particle are treated as the -pairwise sum of N Lennard-Jones interactions. See the :doc:`pair\_style lj/cut ` doc page for the definition of Lennard-Jones -interactions. +small spherical particles that tile the line segment length as explained +below. Interactions between two line segments, each with N1 and N2 +spherical particles, are calculated as the pairwise sum of N1\*N2 +Lennard-Jones interactions. Interactions between a line segment with N +spherical particles and a point particle are treated as the pairwise sum +of N Lennard-Jones interactions. See the :doc:`pair_style lj/cut +` doc page for the definition of Lennard-Jones interactions. The set of non-overlapping spherical sub-particles that represent a line segment are generated in the following manner. Their size is a @@ -50,17 +48,17 @@ each pair of points. The LJ interaction between 2 spheres on different line segments (or a sphere on a line segment and a point particles) is computed with -sub-particle epsilon, sigma, and cutoff values that are set by the -pair\_coeff command, as described below. If the distance between the 2 -spheres is greater than the sub-particle cutoff, there is no -interaction. This means that some pairs of sub-particles on 2 line +sub-particle :math:`\epsilon`, :math:`\sigma`, and *cutoff* values that +are set by the pair_coeff command, as described below. If the distance +between the 2 spheres is greater than the sub-particle cutoff, there is +no interaction. This means that some pairs of sub-particles on 2 line segments may interact, but others may not. For purposes of creating the neighbor list for pairs of interacting line segments or lines/point particles, a regular particle-particle cutoff is used, as defined by the *cutoff* setting above in the -pair\_style command or overridden with an optional argument in the -pair\_coeff command for a type pair as discussed below. The distance +pair_style command or overridden with an optional argument in the +pair_coeff command for a type pair as discussed below. The distance between the centers of 2 line segments, or the center of a line segment and a point particle, must be less than this distance (plus the neighbor skin; see the :doc:`neighbor ` command), for @@ -71,7 +69,7 @@ the pair of particles to be included in the neighbor list. This means that a too-short value for the *cutoff* setting can exclude a pair of particles from the neighbor list even if pairs of their sub-particle spheres would interact, based on the sub-particle - cutoff specified in the pair\_coeff command. E.g. sub-particles at the + cutoff specified in the pair_coeff command. E.g. sub-particles at the ends of the line segments that are close to each other. Which may not be what you want, since it means the ends of 2 line segments could pass through each other. It is up to you to specify a *cutoff* @@ -79,15 +77,15 @@ the pair of particles to be included in the neighbor list. are using and the sub-particle cutoff settings. For style *line/lj*\ , the following coefficients must be defined for -each pair of atom types via the :doc:`pair\_coeff ` command +each pair of atom types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by -the :doc:`read\_data ` or :doc:`read\_restart ` +the :doc:`read_data ` or :doc:`read_restart ` commands: * sizeI (distance units) * sizeJ (distance units) -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * subcutoff (distance units) * cutoff (distance units) @@ -95,65 +93,55 @@ The *sizeI* and *sizeJ* coefficients are the sub-particle sizes for line particles of type I and type J. They are used to define the N sub-particles per segment as described above. These coefficients are actually stored on a per-type basis. Thus if there are multiple -pair\_coeff commands that involve type I, as either the first or +pair_coeff commands that involve type I, as either the first or second atom type, you should use consistent values for sizeI or sizeJ in all of them. If you do not do this, the last value specified for sizeI will apply to all segments of type I. If typeI or typeJ refers to point particles, the corresponding sizeI or sizeJ is ignored; it can be set to 0.0. -The *epsilon*\ , *sigma*\ , and *subcutoff* coefficients are used to -compute an LJ interactions between a pair of sub-particles on 2 line -segments (of type I and J), or between a sub particle/point particle -pair. As discussed above, the *subcutoff* and *cutoff* params are -different. The latter is only used for building the neighbor list +The :math:`\epsilon`, :math:`\sigma`, and *subcutoff* coefficients are +used to compute an LJ interactions between a pair of sub-particles on 2 +line segments (of type I and J), or between a sub particle/point +particle pair. As discussed above, the *subcutoff* and *cutoff* params +are different. The latter is only used for building the neighbor list when the distance between centers of two line segments or one segment and a point particle is calculated. The *cutoff* coefficient is optional. If not specified, the global cutoff is used. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, coefficients must be specified. No default mixing rules are used. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Defining particles to be line segments so they participate in line/line or line/particle interactions requires the use the -:doc:`atom\_style line ` command. +:doc:`atom_style line ` command. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style tri/lj ` +:doc:`pair_coeff `, :doc:`pair_style tri/lj ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_list.rst b/doc/src/pair_list.rst index b74070c4d31281916d2d09a32f192ee7546484c0..93485b34717f21fd5e0de512f053c46309315e21 100644 --- a/doc/src/pair_list.rst +++ b/doc/src/pair_list.rst @@ -6,7 +6,6 @@ pair_style list command Syntax """""" - .. code-block:: LAMMPS pair_style list listfile cutoff keyword @@ -18,7 +17,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style list restraints.txt 200.0 @@ -34,7 +32,7 @@ Description Style *list* computes interactions between explicitly listed pairs of atoms with the option to select functional form and parameters for each individual pair. Because the parameters are set in the list -file, the pair\_coeff command has no parameters (but still needs to be +file, the pair_coeff command has no parameters (but still needs to be provided). The *check* and *nocheck* keywords enable/disable a test that checks whether all listed bonds were present and computed. @@ -50,23 +48,20 @@ The format of the list file is as follows: * empty lines will be ignored * comment text starts with a '#' character * line syntax: *ID1 ID2 style coeffs cutoff* - + .. parsed-literal:: - + ID1 = atom ID of first atom ID2 = atom ID of second atom style = style of interaction coeffs = list of coeffs cutoff = cutoff for interaction (optional) - - The cutoff parameter is optional. If not specified, the global cutoff is used. Here is an example file: - .. parsed-literal:: # this is a comment @@ -81,7 +76,6 @@ The style *lj126* computes pairwise interactions with the formula E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c - and the coefficients: * :math:`\epsilon` (energy units) @@ -93,7 +87,6 @@ The style *morse* computes pairwise interactions with the formula E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c - and the coefficients: * :math:`D_0` (energy units) @@ -113,36 +106,31 @@ and the coefficients: Note that the usual 1/2 factor is included in :math:`K`. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing since all parameters are explicit for each pair. -The :doc:`pair\_modify ` shift option is supported by this +The :doc:`pair_modify ` shift option is supported by this pair style. -The :doc:`pair\_modify ` table and tail options are not +The :doc:`pair_modify ` table and tail options are not relevant for this pair style. -This pair style does not write its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands need +This pair style does not write its information to :doc:`binary restart files `, so pair_style and pair_coeff commands need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style does not use a neighbor list and instead identifies atoms by their IDs. This has two consequences: 1) The cutoff has to be chosen sufficiently large, so that the second atom of a pair has to be @@ -159,10 +147,10 @@ LAMMPS is build with that package. See the :doc:`Build package ` Related commands """""""""""""""" -:doc:`pair\_coeff `, -:doc:`pair\_style hybrid/overlay `, -:doc:`pair\_style lj/cut `, -:doc:`pair\_style morse `, -:doc:`bond\_style harmonic ` +:doc:`pair_coeff `, +:doc:`pair_style hybrid/overlay `, +:doc:`pair_style lj/cut `, +:doc:`pair_style morse `, +:doc:`bond_style harmonic ` **Default:** none diff --git a/doc/src/pair_lj.rst b/doc/src/pair_lj.rst index cfc56ecb5edd0c26c1b879a68e0732db54ad13b1..21357ab45ff68f9307aad3b380b24cd7a4c28403 100644 --- a/doc/src/pair_lj.rst +++ b/doc/src/pair_lj.rst @@ -1,122 +1,120 @@ -.. index:: pair\_style lj/cut +.. index:: pair_style lj/cut -pair\_style lj/cut command -========================== +pair_style lj/cut command +========================= -pair\_style lj/cut/gpu command -============================== +pair_style lj/cut/gpu command +============================= + +pair_style lj/cut/intel command +=============================== -pair\_style lj/cut/intel command -================================ +pair_style lj/cut/kk command +============================ -pair\_style lj/cut/kk command +pair_style lj/cut/opt command ============================= -pair\_style lj/cut/opt command -============================== +pair_style lj/cut/omp command +============================= -pair\_style lj/cut/omp command -============================== +pair_style lj/cut/coul/cut command +================================== -pair\_style lj/cut/coul/cut command -=================================== +pair_style lj/cut/coul/cut/gpu command +====================================== -pair\_style lj/cut/coul/cut/gpu command -======================================= +pair_style lj/cut/coul/cut/kk command +===================================== -pair\_style lj/cut/coul/cut/kk command +pair_style lj/cut/coul/cut/omp command ====================================== -pair\_style lj/cut/coul/cut/omp command -======================================= +pair_style lj/cut/coul/debye command +==================================== -pair\_style lj/cut/coul/debye command -===================================== +pair_style lj/cut/coul/debye/gpu command +======================================== -pair\_style lj/cut/coul/debye/gpu command -========================================= +pair_style lj/cut/coul/debye/kk command +======================================= -pair\_style lj/cut/coul/debye/kk command +pair_style lj/cut/coul/debye/omp command ======================================== -pair\_style lj/cut/coul/debye/omp command -========================================= +pair_style lj/cut/coul/dsf command +================================== -pair\_style lj/cut/coul/dsf command -=================================== +pair_style lj/cut/coul/dsf/gpu command +====================================== -pair\_style lj/cut/coul/dsf/gpu command -======================================= +pair_style lj/cut/coul/dsf/kk command +===================================== -pair\_style lj/cut/coul/dsf/kk command +pair_style lj/cut/coul/dsf/omp command ====================================== -pair\_style lj/cut/coul/dsf/omp command +pair_style lj/cut/coul/long command +=================================== + +pair_style lj/cut/coul/long/gpu command ======================================= -pair\_style lj/cut/coul/long command -==================================== +pair_style lj/cut/coul/long/kk command +====================================== -pair\_style lj/cut/coul/long/gpu command -======================================== +pair_style lj/cut/coul/long/intel command +========================================= -pair\_style lj/cut/coul/long/kk command +pair_style lj/cut/coul/long/opt command ======================================= -pair\_style lj/cut/coul/long/intel command -========================================== +pair_style lj/cut/coul/long/omp command +======================================= -pair\_style lj/cut/coul/long/opt command -======================================== +pair_style lj/cut/coul/msm command +================================== -pair\_style lj/cut/coul/long/omp command -======================================== +pair_style lj/cut/coul/msm/gpu command +====================================== + +pair_style lj/cut/coul/msm/omp command +====================================== -pair\_style lj/cut/coul/msm command +pair_style lj/cut/coul/wolf command =================================== -pair\_style lj/cut/coul/msm/gpu command +pair_style lj/cut/coul/wolf/omp command ======================================= -pair\_style lj/cut/coul/msm/omp command +pair_style lj/cut/tip4p/cut command +=================================== + +pair_style lj/cut/tip4p/cut/omp command ======================================= -pair\_style lj/cut/coul/wolf command +pair_style lj/cut/tip4p/long command ==================================== -pair\_style lj/cut/coul/wolf/omp command +pair_style lj/cut/tip4p/long/gpu command ======================================== -pair\_style lj/cut/tip4p/cut command -==================================== - -pair\_style lj/cut/tip4p/cut/omp command +pair_style lj/cut/tip4p/long/omp command ======================================== -pair\_style lj/cut/tip4p/long command -===================================== - -pair\_style lj/cut/tip4p/long/gpu command -========================================= - -pair\_style lj/cut/tip4p/long/omp command -========================================= - -pair\_style lj/cut/tip4p/long/opt command -========================================= +pair_style lj/cut/tip4p/long/opt command +======================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *lj/cut* or *lj/cut/coul/cut* or *lj/cut/coul/debye* or *lj/cut/coul/dsf* or *lj/cut/coul/long* *lj/cut/coul/msm* or *lj/cut/tip4p/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/cut* args = cutoff @@ -158,51 +156,50 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut 2.5 - pair_coeff \* \* 1 1 + pair_coeff * * 1 1 pair_coeff 1 1 1 1.1 2.8 pair_style lj/cut/coul/cut 10.0 pair_style lj/cut/coul/cut 10.0 8.0 - pair_coeff \* \* 100.0 3.0 + pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 pair_coeff 1 1 100.0 3.5 9.0 9.0 pair_style lj/cut/coul/debye 1.5 3.0 pair_style lj/cut/coul/debye 1.5 2.5 5.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.5 2.5 pair_coeff 1 1 1.0 1.5 2.5 5.0 pair_style lj/cut/coul/dsf 0.05 2.5 10.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.0 2.5 pair_style lj/cut/coul/long 10.0 pair_style lj/cut/coul/long 10.0 8.0 - pair_coeff \* \* 100.0 3.0 + pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 pair_style lj/cut/coul/msm 10.0 pair_style lj/cut/coul/msm 10.0 8.0 - pair_coeff \* \* 100.0 3.0 + pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0 pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0 10.0 - pair_coeff \* \* 100.0 3.0 + pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 pair_style lj/cut/coul/wolf 0.2 5. 10.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.0 2.5 pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0 pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0 10.0 - pair_coeff \* \* 100.0 3.0 + pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 Description @@ -211,39 +208,47 @@ Description The *lj/cut* styles compute the standard 12/6 Lennard-Jones potential, given by -.. image:: Eqs/pair_lj.jpg - :align: center +.. math:: + + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c Rc is the cutoff. Style *lj/cut/coul/cut* adds a Coulombic pairwise interaction given by -.. image:: Eqs/pair_coulomb.jpg - :align: center +.. math:: + + E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c -where C is an energy-conversion constant, Qi and Qj are the charges on -the 2 atoms, and epsilon is the dielectric constant which can be set -by the :doc:`dielectric ` command. If one cutoff is -specified in the pair\_style command, it is used for both the LJ and -Coulombic terms. If two cutoffs are specified, they are used as -cutoffs for the LJ and Coulombic terms respectively. +where C is an energy-conversion constant, :math:`q_i` and :math:`q_j` +are the charges on the 2 atoms, and :math:`\epsilon` is the dielectric +constant which can be set by the :doc:`dielectric ` command. +If one cutoff is specified in the pair_style command, it is used for +both the LJ and Coulombic terms. If two cutoffs are specified, they are +used as cutoffs for the LJ and Coulombic terms respectively. Style *lj/cut/coul/debye* adds an additional exp() damping factor to the Coulombic term, given by -.. image:: Eqs/pair_debye.jpg - :align: center +.. math:: -where kappa is the inverse of the Debye length. This potential is -another way to mimic the screening effect of a polar solvent. + E = \frac{C q_i q_j}{\epsilon r} \exp(- \kappa r) \qquad r < r_c + +where :math:`\kappa` is the inverse of the Debye length. This potential +is another way to mimic the screening effect of a polar solvent. Style *lj/cut/coul/dsf* computes the Coulombic term via the damped shifted force model described in :ref:`Fennell `, given by: -.. image:: Eqs/pair_coul_dsf.jpg - :align: center +.. math:: + + E = + q_iq_j \left[ \frac{\mbox{erfc} (\alpha r)}{r} - \frac{\mbox{erfc} (\alpha r_c)}{r_c} + + \left( \frac{\mbox{erfc} (\alpha r_c)}{r_c^2} + \frac{2\alpha}{\sqrt{\pi}}\frac{\exp (-\alpha^2 r^2_c)}{r_c} \right)(r-r_c) \right] \qquad r < r_c -where *alpha* is the damping parameter and erfc() is the complementary +where :math:`\alpha` is the damping parameter and erfc() is the complementary error-function. This potential is essentially a short-range, spherically-truncated, charge-neutralized, shifted, pairwise *1/r* summation. The potential is based on Wolf summation, proposed as an @@ -253,12 +258,12 @@ effectively short-ranged. In order for the electrostatic sum to be absolutely convergent, charge neutralization within the cutoff radius is enforced by shifting the potential through placement of image charges on the cutoff sphere. Convergence can often be improved by -setting *alpha* to a small non-zero value. +setting :math:`\alpha` to a small non-zero value. Styles *lj/cut/coul/long* and *lj/cut/coul/msm* compute the same Coulombic interactions as style *lj/cut/coul/cut* except that an additional damping factor is applied to the Coulombic term so it can -be used in conjunction with the :doc:`kspace\_style ` +be used in conjunction with the :doc:`kspace_style ` command and its *ewald* or *pppm* option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are @@ -267,21 +272,25 @@ computed in reciprocal space. Style *coul/wolf* adds a Coulombic pairwise interaction via the Wolf summation method, described in :ref:`Wolf `, given by: -.. image:: Eqs/pair_coul_wolf.jpg - :align: center - -where *alpha* is the damping parameter, and erfc() is the -complementary error-function terms. This potential -is essentially a short-range, spherically-truncated, -charge-neutralized, shifted, pairwise *1/r* summation. With a -manipulation of adding and subtracting a self term (for i = j) to the -first and second term on the right-hand-side, respectively, and a -small enough *alpha* damping parameter, the second term shrinks and -the potential becomes a rapidly-converging real-space summation. With -a long enough cutoff and small enough alpha parameter, the energy and -forces calculated by the Wolf summation method approach those of the -Ewald sum. So it is a means of getting effective long-range -interactions with a short-range potential. +.. math:: + + E_i = \frac{1}{2} \sum_{j \neq i} + \frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} + + \frac{1}{2} \sum_{j \neq i} + \frac{q_i q_j {\rm erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c + +where :math:`\alpha` is the damping parameter, and erfc() is the +complementary error-function terms. This potential is essentially a +short-range, spherically-truncated, charge-neutralized, shifted, +pairwise *1/r* summation. With a manipulation of adding and subtracting +a self term (for i = j) to the first and second term on the +right-hand-side, respectively, and a small enough :math:`\alpha` damping +parameter, the second term shrinks and the potential becomes a +rapidly-converging real-space summation. With a long enough cutoff and +small enough :math:`\alpha` parameter, the energy and forces calculated by the +Wolf summation method approach those of the Ewald sum. So it is a means +of getting effective long-range interactions with a short-range +potential. Styles *lj/cut/tip4p/cut* and *lj/cut/tip4p/long* implement the TIP4P water model of :ref:`(Jorgensen) `, which introduces a massless @@ -289,7 +298,7 @@ site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as -pair\_style arguments. Style *lj/cut/tip4p/cut* uses a cutoff for +pair_style arguments. Style *lj/cut/tip4p/cut* uses a cutoff for Coulomb interactions; style *lj/cut/tip4p/long* is for use with a long-range Coulombic solver (Ewald or PPPM). @@ -314,22 +323,21 @@ your model. For all of the *lj/cut* pair styles, the following coefficients must be defined for each pair of atoms types via the -:doc:`pair\_coeff ` command as in the examples above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands, or by mixing as +:doc:`pair_coeff ` command as in the examples above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * cutoff1 (distance units) * cutoff2 (distance units) -Note that sigma is defined in the LJ formula as the zero-crossing -distance for the potential, not as the energy minimum at 2\^(1/6) -sigma. +Note that :math:`\sigma` is defined in the LJ formula as the zero-crossing +distance for the potential, not as the energy minimum at :math:`2^{\frac{1}{6}} \sigma`. The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair\_style command are used. +LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this @@ -340,21 +348,19 @@ For *lj/cut/coul/long* and *lj/cut/coul/msm* and *lj/cut/tip4p/cut* and *lj/cut/tip4p/long* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair\_style command. - +pair_style command. ---------- - -A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in -free energy calculations, is part of the USER-FEP package and is documented with -the :doc:`pair\_fep\_soft ` styles. The version with soft core is -only available if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - +A version of these styles with a soft core, *lj/cut/soft*\ , suitable +for use in free energy calculations, is part of the USER-FEP package and +is documented with the :doc:`pair_style */soft ` +styles. The version with soft core is only available if LAMMPS was built +with that package. See the :doc:`Build package ` doc page +for more info. ---------- - 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 @@ -373,47 +379,42 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command +The default mix value is *geometric*\ . See the "pair_modify" command for details. All of the *lj/cut* pair styles support the -:doc:`pair\_modify ` shift option for the energy of the +:doc:`pair_modify ` shift option for the energy of the Lennard-Jones portion of the pair interaction. The *lj/cut/coul/long* and *lj/cut/tip4p/long* pair styles support the -:doc:`pair\_modify ` table option since they can tabulate +:doc:`pair_modify ` table option since they can tabulate the short-range portion of the long-range Coulombic interaction. All of the *lj/cut* pair styles support the -:doc:`pair\_modify ` tail option for adding a long-range +:doc:`pair_modify ` tail option for adding a long-range tail correction to the energy and pressure for the Lennard-Jones portion of the pair interaction. -All of the *lj/cut* pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do +All of the *lj/cut* pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. The *lj/cut* and *lj/cut/coul/long* pair styles support the use of the -*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run\_style respa ` command, meaning the pairwise forces can be +*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. -The other styles only support the *pair* keyword of run\_style respa. -See the :doc:`run\_style ` command for details. - +The other styles only support the *pair* keyword of run_style respa. +See the :doc:`run_style ` command for details. ---------- - Restrictions """""""""""" - The *lj/cut/coul/long* and *lj/cut/tip4p/long* styles are part of the KSPACE package. The *lj/cut/tip4p/cut* style is part of the MOLECULE package. These styles are only enabled if LAMMPS was built with those @@ -423,29 +424,18 @@ more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Jorgensen2: - - **(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). .. _Fennell2: - - **(Fennell)** C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, 234104 (2006). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lj96.rst b/doc/src/pair_lj96.rst index 814eac69f93d82f97f88cdfc6e21f9a09db4f285..3799020a05fcd75dda9944a338aad2d79da07fb6 100644 --- a/doc/src/pair_lj96.rst +++ b/doc/src/pair_lj96.rst @@ -1,19 +1,18 @@ -.. index:: pair\_style lj96/cut +.. index:: pair_style lj96/cut -pair\_style lj96/cut command -============================ +pair_style lj96/cut command +=========================== -pair\_style lj96/cut/gpu command -================================ +pair_style lj96/cut/gpu command +=============================== -pair\_style lj96/cut/omp command -================================ +pair_style lj96/cut/omp command +=============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj96/cut cutoff @@ -22,11 +21,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj96/cut 2.5 - pair_coeff \* \* 1.0 1.0 4.0 + pair_coeff * * 1.0 1.0 4.0 pair_coeff 1 1 1.0 1.0 Description @@ -35,28 +33,29 @@ Description The *lj96/cut* style compute a 9/6 Lennard-Jones potential, instead of the standard 12/6 potential, given by -.. image:: Eqs/pair_lj96.jpg - :align: center +.. math:: + + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{9} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c -Rc is the cutoff. +:math:`r_c` is the cutoff. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * cutoff (distance units) The last coefficient is optional. If not specified, the global LJ -cutoff specified in the pair\_style command is used. - +cutoff specified in the pair_style command is used. ---------- - 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 @@ -75,52 +74,43 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command +The default mix value is *geometric*\ . See the "pair_modify" command for details. -This pair style supports the :doc:`pair\_modify ` shift +This pair style supports the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style supports the :doc:`pair\_modify ` tail +This pair style supports the :doc:`pair_modify ` tail option for adding a long-range tail correction to the energy and pressure of the pair interaction. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style supports the use of the *inner*\ , *middle*\ , and *outer* -keywords of the :doc:`run\_style respa ` command, meaning the +keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the :doc:`run\_style ` command for +the rRESPA hierarchy. See the :doc:`run_style ` command for details. - ---------- - Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lj_cubic.rst b/doc/src/pair_lj_cubic.rst index e03e70cb6bd3f5ad08bc4287971dd10b8a41c567..5bf5d873e443139e83b891f77652600a71b4a298 100644 --- a/doc/src/pair_lj_cubic.rst +++ b/doc/src/pair_lj_cubic.rst @@ -1,30 +1,28 @@ -.. index:: pair\_style lj/cubic +.. index:: pair_style lj/cubic -pair\_style lj/cubic command -============================ +pair_style lj/cubic command +=========================== -pair\_style lj/cubic/gpu command -================================ +pair_style lj/cubic/gpu command +=============================== -pair\_style lj/cubic/omp command -================================ +pair_style lj/cubic/omp command +=============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cubic Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cubic - pair_coeff \* \* 1.0 0.8908987 + pair_coeff * * 1.0 0.8908987 Description """"""""""" @@ -39,38 +37,39 @@ point. The cubic coefficient A3 is chosen so that both energy and force go to zero at the cutoff distance. Outside the cutoff distance the energy and force are zero. -.. image:: Eqs/pair_lj_cubic.jpg - :align: center +.. math:: -The location of the inflection point rs is defined -by the LJ diameter, rs/sigma = (26/7)\^1/6. The cutoff distance -is defined by rc/rs = 67/48 or rc/sigma = 1.737.... + E & = u_{LJ}(r) \qquad r \leq r_s \\ + & = u_{LJ}(r_s) + (r-r_s) u'_{LJ}(r_s) - \frac{1}{6} A_3 (r-r_s)^3 \qquad r_s < r \leq r_c \\ + & = 0 \qquad r > r_c + +The location of the inflection point :math:`r_s` is defined +by the LJ diameter, :math:`r_s/\sigma = (26/7)^{1/6}`. The cutoff distance +is defined by :math:`r_c/r_s = 67/48` or :math:`r_c/\sigma = 1.737...` The analytic expression for the the cubic coefficient -A3\*rmin\^3/epsilon = 27.93... is given in the paper by +:math:`A_3 r_{min}^3/\epsilon = 27.93...` is given in the paper by Holian and Ravelo :ref:`(Holian) `. This potential is commonly used to study the shock mechanics of FCC solids, as in Ravelo et al. :ref:`(Ravelo) `. The following coefficients must be defined for each pair of atom types -via the :doc:`pair\_coeff ` command as in the example above, +via the :doc:`pair_coeff ` command as in the example above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) - -Note that sigma is defined in the LJ formula as the zero-crossing -distance for the potential, not as the energy minimum, which is -located at rmin = 2\^(1/6)\*sigma. In the above example, sigma = -0.8908987, so rmin = 1. +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) +Note that :math:`\sigma` is defined in the LJ formula as the +zero-crossing distance for the potential, not as the energy minimum, +which is located at :math:`r_{min} = 2^{\frac{1}{6}} \sigma`. In the +above example, :math:`\sigma = 0.8908987`, so :math:`r_{min} = 1.0`. ---------- - 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 @@ -89,41 +88,37 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command +The default mix value is *geometric*\ . See the "pair_modify" command for details. The lj/cubic pair style does not support the -:doc:`pair\_modify ` shift option, +:doc:`pair_modify ` shift option, since pair interaction is already smoothed to 0.0 at the cutoff. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. The lj/cubic pair style does not support the -:doc:`pair\_modify ` tail option for adding long-range tail +:doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for a potential that goes to 0.0 at the cutoff. -The lj/cubic pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do +The lj/cubic pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. The lj/cubic pair style can only be used via the *pair* -keyword of the :doc:`run\_style respa ` command. It does not +keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -131,26 +126,16 @@ Restrictions Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Holian: - - .. _Ravelo2: **(Holian)** Holian and Ravelo, Phys Rev B, 51, 11275 (1995). - **(Ravelo)** Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lj_expand.rst b/doc/src/pair_lj_expand.rst index 45a56219c4b541c6459a04426a84787c5df195ba..1478188bbb911e68562a9bc15699de68807214f8 100644 --- a/doc/src/pair_lj_expand.rst +++ b/doc/src/pair_lj_expand.rst @@ -1,28 +1,27 @@ -.. index:: pair\_style lj/expand +.. index:: pair_style lj/expand -pair\_style lj/expand command -============================= +pair_style lj/expand command +============================ -pair\_style lj/expand/gpu command -================================= - -pair\_style lj/expand/kk command +pair_style lj/expand/gpu command ================================ -pair\_style lj/expand/omp command -================================= +pair_style lj/expand/kk command +=============================== + +pair_style lj/expand/omp command +================================ -pair\_style lj/expand/coul/long command -======================================= +pair_style lj/expand/coul/long command +====================================== -pair\_style lj/expand/coul/long/gpu command -=========================================== +pair_style lj/expand/coul/long/gpu command +========================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/expand cutoff @@ -31,16 +30,15 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/expand 2.5 - pair_coeff \* \* 1.0 1.0 0.5 + pair_coeff * * 1.0 1.0 0.5 pair_coeff 1 1 1.0 1.0 -0.2 2.0 pair_style lj/expand/coul/long 2.5 pair_style lj/expand/coul/long 2.5 4.0 - pair_coeff \* \* 1.0 1.0 0.5 + pair_coeff * * 1.0 1.0 0.5 pair_coeff 1 1 1.0 1.0 -0.2 3.0 Description @@ -51,36 +49,39 @@ delta which can be useful when particles are of different sizes, since it is different that using different sigma values in a standard LJ formula: -.. image:: Eqs/pair_lj_expand.jpg - :align: center +.. math:: + + E = 4 \epsilon \left[ \left(\frac{\sigma}{r - \Delta}\right)^{12} - + \left(\frac{\sigma}{r - \Delta}\right)^6 \right] + \qquad r < r_c + \Delta -Rc is the cutoff which does not include the delta distance. I.e. the -actual force cutoff is the sum of cutoff + delta. +:math:`r_c` is the cutoff which does not include the :math:`\Delta` +distance. I.e. the actual force cutoff is the sum of :math:`r_c + +\Delta`. For all of the *lj/expand* pair styles, the following coefficients must -be defined for each pair of atoms types via the -:doc:`pair\_coeff ` command as in the examples above, or in -the data file or restart files read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands, or by mixing as -described below: - -* epsilon (energy units) -* sigma (distance units) -* delta (distance units) +be defined for each pair of atoms types via the :doc:`pair_coeff +` command as in the examples above, or in the data file or +restart files read by the :doc:`read_data ` or +:doc:`read_restart ` commands, or by mixing as described +below: + +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) +* :math:`\Delta` (distance units) * cutoff (distance units) -The delta values can be positive or negative. The last coefficient is -optional. If not specified, the global LJ cutoff is used. +The :math:`\Delta` values can be positive or negative. The last +coefficient is optional. If not specified, the global LJ cutoff is +used. For *lj/expand/coul/long* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair\_style command. - +pair_style command. ---------- - 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 @@ -99,52 +100,43 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon, sigma, and shift coefficients and cutoff distance for this pair style can be mixed. Shift is always mixed via an *arithmetic* rule. The other -coefficients are mixed according to the pair\_modify mix value. The -default mix value is *geometric*\ . See the "pair\_modify" command for +coefficients are mixed according to the pair_modify mix value. The +default mix value is *geometric*\ . See the "pair_modify" command for details. -This pair style supports the :doc:`pair\_modify ` shift +This pair style supports the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style supports the :doc:`pair\_modify ` tail +This pair style supports the :doc:`pair_modify ` tail option for adding a long-range tail correction to the energy and pressure of the pair interaction. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lj_long.rst b/doc/src/pair_lj_long.rst index c6f17e2eb8b10ebf887405597a18d816ec747cf6..682f11b95bdffc3e0dab043aa568b8c169372f2e 100644 --- a/doc/src/pair_lj_long.rst +++ b/doc/src/pair_lj_long.rst @@ -1,35 +1,33 @@ -.. index:: pair\_style lj/long/coul/long +.. index:: pair_style lj/long/coul/long -pair\_style lj/long/coul/long command -===================================== +pair_style lj/long/coul/long command +==================================== -pair\_style lj/long/coul/long/intel command -=========================================== +pair_style lj/long/coul/long/intel command +========================================== -pair\_style lj/long/coul/long/omp command -========================================= +pair_style lj/long/coul/long/omp command +======================================== -pair\_style lj/long/coul/long/opt command -========================================= +pair_style lj/long/coul/long/opt command +======================================== -pair\_style lj/long/tip4p/long command -====================================== +pair_style lj/long/tip4p/long command +===================================== -pair\_style lj/long/tip4p/long/omp command -========================================== +pair_style lj/long/tip4p/long/omp command +========================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *lj/long/coul/long* or *lj/long/tip4p/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/long/coul/long* args = flag_lj flag_coul cutoff (cutoff2) @@ -58,42 +56,47 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/long/coul/long cut off 2.5 pair_style lj/long/coul/long cut long 2.5 4.0 pair_style lj/long/coul/long long long 2.5 4.0 - pair_coeff \* \* 1 1 + pair_coeff * * 1 1 pair_coeff 1 1 1 3 4 pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0 pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0 10.0 - pair_coeff \* \* 100.0 3.0 + pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 Description """"""""""" -Style *lj/long/coul/long* computes the standard 12/6 Lennard-Jones and -Coulombic potentials, given by +Style *lj/long/coul/long* computes the standard 12/6 Lennard-Jones potential: -.. image:: Eqs/pair_lj.jpg - :align: center +.. math:: -.. image:: Eqs/pair_coulomb.jpg - :align: center + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c \\ -where C is an energy-conversion constant, Qi and Qj are the charges on -the 2 atoms, epsilon is the dielectric constant which can be set by -the :doc:`dielectric ` command, and Rc is the cutoff. If -one cutoff is specified in the pair\_style command, it is used for both +with :math:`\epsilon` and :math:`\sigma` being the usual Lennard-Jones +potential parameters, plus the Coulomb potential, given by: + +.. math:: + + E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c + +where C is an energy-conversion constant, :math:`q_i` and :math:`q_j` are the charges on +the 2 atoms, :math:`\epsilon` is the dielectric constant which can be set by +the :doc:`dielectric ` command, and :math:`r_c` is the cutoff. If +one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic terms respectively. The purpose of this pair style is to capture long-range interactions resulting from both attractive 1/r\^6 Lennard-Jones and Coulombic 1/r -interactions. This is done by use of the *flag\_lj* and *flag\_coul* +interactions. This is done by use of the *flag_lj* and *flag_coul* settings. The :ref:`In 't Veld ` paper has more details on when it is appropriate to include long-range 1/r\^6 interactions, using this potential. @@ -103,7 +106,7 @@ Style *lj/long/tip4p/long* implements the TIP4P water model of short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the -massless charge site are specified as pair\_style arguments. +massless charge site are specified as pair_style arguments. .. note:: @@ -123,32 +126,32 @@ LJ cutoff >= Coulombic cutoff + 2\*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can test the trade-off for your model. -If *flag\_lj* is set to *long*\ , no cutoff is used on the LJ 1/r\^6 +If *flag_lj* is set to *long*\ , no cutoff is used on the LJ 1/r\^6 dispersion term. The long-range portion can be calculated by using -the :doc:`kspace\_style ewald/disp or pppm/disp ` commands. +the :doc:`kspace_style ewald/disp or pppm/disp ` commands. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal space via the Kspace style. If -*flag\_lj* is set to *cut*\ , the LJ interactions are simply cutoff, as -with :doc:`pair\_style lj/cut `. +*flag_lj* is set to *cut*\ , the LJ interactions are simply cutoff, as +with :doc:`pair_style lj/cut `. -If *flag\_coul* is set to *long*\ , no cutoff is used on the Coulombic +If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of -several :doc:`kspace\_style ` command options such as -*pppm* or *ewald*\ . Note that if *flag\_lj* is also set to long, then +several :doc:`kspace_style ` command options such as +*pppm* or *ewald*\ . Note that if *flag_lj* is also set to long, then the *ewald/disp* or *pppm/disp* Kspace style needs to be used to perform the long-range calculations for both the LJ and Coulombic -interactions. If *flag\_coul* is set to *off*\ , Coulombic interactions +interactions. If *flag_coul* is set to *off*\ , Coulombic interactions are not computed. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * cutoff1 (distance units) * cutoff2 (distance units) @@ -157,36 +160,32 @@ distance for the potential, not as the energy minimum at 2\^(1/6) sigma. The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair\_style command are used. +LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair. -Note that if you are using *flag\_lj* set to *long*\ , you +Note that if you are using *flag_lj* set to *long*\ , you cannot specify a LJ cutoff for an atom type pair, since only one -global LJ cutoff is allowed. Similarly, if you are using *flag\_coul* +global LJ cutoff is allowed. Similarly, if you are using *flag_coul* set to *long*\ , you cannot specify a Coulombic cutoff for an atom type pair, since only one global Coulombic cutoff is allowed. For *lj/long/tip4p/long* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff -specified in the pair\_style command. - +specified in the pair_style command. ---------- - A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in free energy calculations, is part of the USER-FEP package and is documented with -the :doc:`pair\_fep\_soft ` styles. The version with soft core is +the :doc:`pair_style */soft ` styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - ---------- - 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 @@ -205,74 +204,58 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/long pair styles can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command +The default mix value is *geometric*\ . See the "pair_modify" command for details. -These pair styles support the :doc:`pair\_modify ` shift +These pair styles support the :doc:`pair_modify ` shift option for the energy of the Lennard-Jones portion of the pair -interaction, assuming *flag\_lj* is *cut*\ . +interaction, assuming *flag_lj* is *cut*\ . -These pair styles support the :doc:`pair\_modify ` table and +These pair styles support the :doc:`pair_modify ` table and table/disp options since they can tabulate the short-range portion of the long-range Coulombic and dispersion interactions. -Thes pair styles do not support the :doc:`pair\_modify ` +Thes pair styles do not support the :doc:`pair_modify ` tail option for adding a long-range tail correction to the Lennard-Jones portion of the energy and pressure. -These pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. The pair lj/long/coul/long styles support the use of the *inner*\ , -*middle*\ , and *outer* keywords of the :doc:`run\_style respa ` +*middle*\ , and *outer* keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the -:doc:`run\_style ` command for details. - +:doc:`run_style ` command for details. ---------- - Restrictions """""""""""" - These styles are part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Veld2: - - **(In 't Veld)** In 't Veld, Ismail, Grest, J Chem Phys (accepted) (2007). .. _Jorgensen4: - - **(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lj_smooth.rst b/doc/src/pair_lj_smooth.rst index 6120faa24a8345df0a0b35f192aac12bbd7bc6cd..b2cf6f749336e3c0daddc8ebc9dff3351cdb2fad 100644 --- a/doc/src/pair_lj_smooth.rst +++ b/doc/src/pair_lj_smooth.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style lj/smooth +.. index:: pair_style lj/smooth -pair\_style lj/smooth command -============================= +pair_style lj/smooth command +============================ -pair\_style lj/smooth/omp command -================================= +pair_style lj/smooth/omp command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/smooth Rin Rc @@ -20,11 +19,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/smooth 8.0 10.0 - pair_coeff \* \* 10.0 1.5 + pair_coeff * * 10.0 1.5 pair_coeff 1 1 20.0 1.3 7.0 9.0 Description @@ -33,12 +31,17 @@ Description Style *lj/smooth* computes a LJ interaction with a force smoothing applied between the inner and outer cutoff. -.. image:: Eqs/pair_lj_smooth.jpg - :align: center +.. math:: + + E & = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_{in} \\ + F & = C_1 + C_2 (r - r_{in}) + C_3 (r - r_{in})^2 + C_4 (r - r_{in})^3 + \qquad r_{in} < r < r_c The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to -cause the force to vary smoothly from the inner cutoff Rin to the -outer cutoff Rc. +cause the force to vary smoothly from the inner cutoff :math:`r_{in}` to the +outer cutoff :math:`r_c`. At the inner cutoff the force and its 1st derivative will match the non-smoothed LJ formula. At the outer cutoff the force @@ -50,26 +53,24 @@ and its 1st derivative will be 0.0. The inner cutoff cannot be 0.0. in its values and 1st derivative. This can lead to poor energy conservation and may require the use of a thermostat. Plot the energy and force resulting from this formula via the - :doc:`pair\_write ` command to see the effect. + :doc:`pair_write ` command to see the effect. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) -* inner (distance units) -* outer (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) +* :math:`r_{in}` (distance units) +* :math:`r_c` (distance units) The last 2 coefficients are optional inner and outer cutoffs. If not -specified, the global values for Rin and Rc are used. - +specified, the global values for :math:`r_{in}` and :math:`r_c` are used. ---------- - 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 @@ -88,53 +89,44 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon, sigma, Rin coefficients and the cutoff distance for this pair style can be mixed. Rin is a cutoff value and is mixed like the cutoff. The other -coefficients are mixed according to the pair\_modify mix option. The -default mix value is *geometric*\ . See the "pair\_modify" command for +coefficients are mixed according to the pair_modify mix option. The +default mix value is *geometric*\ . See the "pair_modify" command for details. -This pair style supports the :doc:`pair\_modify ` shift +This pair style supports the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure, since the energy of the pair interaction is smoothed to 0.0 at the cutoff. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair lj/smooth/linear ` +:doc:`pair_coeff `, :doc:`pair lj/smooth/linear ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lj_smooth_linear.rst b/doc/src/pair_lj_smooth_linear.rst index 13dc33471923f0db6359faa4fa73abfdd9308602..bb93eddd3343707f2fc48dac0c77a9b80dfffa9a 100644 --- a/doc/src/pair_lj_smooth_linear.rst +++ b/doc/src/pair_lj_smooth_linear.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style lj/smooth/linear +.. index:: pair_style lj/smooth/linear -pair\_style lj/smooth/linear command -==================================== +pair_style lj/smooth/linear command +=================================== -pair\_style lj/smooth/linear/omp command -======================================== +pair_style lj/smooth/linear/omp command +======================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/smooth/linear cutoff @@ -19,11 +18,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/smooth/linear 2.5 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 1 1 0.3 3.0 9.0 Description @@ -35,26 +33,27 @@ standard 12/6 Lennard-Jones function and subtracts a linear term based on the cutoff distance, so that both, the potential and the force, go continuously to zero at the cutoff Rc :ref:`(Toxvaerd) `: -.. image:: Eqs/pair_lj_smooth_linear.jpg - :align: center +.. math:: + + \phi\left(r\right) & = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] \\ + E\left(r\right) & = \phi\left(r\right) - \phi\left(R_c\right) - \left(r - R_c\right) \left.\frac{d\phi}{d r} \right|_{r=R_c} \qquad r < R_c The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * cutoff (distance units) The last coefficient is optional. If not specified, the global -LJ cutoff specified in the pair\_style command is used. - +LJ cutoff specified in the pair_style command is used. ---------- - 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 @@ -73,39 +72,35 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance can be mixed. The default mix value is geometric. -See the "pair\_modify" command for details. +See the "pair_modify" command for details. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift option for the energy of the pair interaction, since it goes to 0.0 at the cutoff by construction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure, since the energy of the pair interaction is smoothed to 0.0 at the cutoff. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -113,21 +108,12 @@ Restrictions Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair lj/smooth ` +:doc:`pair_coeff `, :doc:`pair lj/smooth ` **Default:** none - ---------- - .. _Toxvaerd: - - **(Toxvaerd)** Toxvaerd, Dyre, J Chem Phys, 134, 081102 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lj_switch3_coulgauss_long.rst b/doc/src/pair_lj_switch3_coulgauss_long.rst index dd4040c5950fa9151d3055b56d245331091fd910..24374658e35783e8b3cbc500d390e3ffd10f3d76 100644 --- a/doc/src/pair_lj_switch3_coulgauss_long.rst +++ b/doc/src/pair_lj_switch3_coulgauss_long.rst @@ -1,20 +1,18 @@ -.. index:: pair\_style lj/switch3/coulgauss/long +.. index:: pair_style lj/switch3/coulgauss/long -pair\_style lj/switch3/coulgauss/long command -============================================= +pair_style lj/switch3/coulgauss/long command +============================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *lj/switch3/coulgauss/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/switch3/coulgauss/long* args = cutoff (cutoff2) width @@ -25,8 +23,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/switch3/coulgauss/long 12.0 3.0 pair_coeff 1 0.2 2.5 1.2 @@ -40,45 +37,51 @@ Description The *lj/switch3/coulgauss* style evaluates the LJ vdW potential -.. image:: Eqs/pair_lj_switch3.jpg - :align: center +.. math:: + + E = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12}-\left(\frac{\sigma}{r}\right)^{6} \right] -, which goes smoothly to zero at the cutoff r\_c as defined +, which goes smoothly to zero at the cutoff r_c as defined by the switching function -.. image:: Eqs/pair_switch3.jpg - :align: center +.. math:: + + S_3(r) = \left\lbrace \begin{array}{ll} + 1 & \quad\mathrm{if}\quad r < r_\mathrm{c} - w \\ + 3x^2 - 2x^3 & \quad\mathrm{if}\quad r < r_\mathrm{c} \quad\mathrm{with\quad} x=\frac{r_\mathrm{c} - r}{w} \\ + 0 & \quad\mathrm{if}\quad r >= r_\mathrm{c} + \end{array} \right. where w is the width defined in the arguments. This potential is combined with Coulomb interaction between Gaussian charge densities: -.. image:: Eqs/pair_coulgauss.jpg - :align: center +.. math:: -where qi and qj are the -charges on the 2 atoms, epsilon is the dielectric constant which -can be set by the :doc:`dielectric ` command, gamma\_i and gamma\_j -are the widths of the Gaussian charge distribution and erf() is the error-function. -This style has to be used in conjunction with the :doc:`kspace\_style ` command + E = \frac{q_i q_j \mathrm{erf}\left( r/\sqrt{\gamma_1^2+\gamma_2^2} \right) }{\epsilon r_{ij}} + +where :math:`q_i` and :math:`q_j` are the charges on the 2 atoms, +:math:`\epsilon` is the dielectric constant which can be set by the +:doc:`dielectric ` command, :math:`\gamma_i` and +:math:`\gamma_j` are the widths of the Gaussian charge distribution and +erf() is the error-function. This style has to be used in conjunction +with the :doc:`kspace_style ` command If one cutoff is specified it is used for both the vdW and Coulomb terms. If two cutoffs are specified, the first is used as the cutoff for the vdW terms, and the second is the cutoff for the Coulombic term. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* epsilon (energy) -* sigma (distance) -* gamma (distance) - +* :math:`\epsilon` (energy) +* :math:`\sigma` (distance) +* :math:`\gamma` (distance) ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : Shifting the potential energy is not necessary because the switching @@ -87,18 +90,12 @@ function ensures that the potential is zero at the cut-off. Restrictions """""""""""" - These styles are part of the USER-YAFF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_local_density.rst b/doc/src/pair_local_density.rst index 2a9d4068b7506bbfc656e354a1cac02e883f5d20..f2510686a9d66aa1b1aa3506612d1e0fcce4e626 100644 --- a/doc/src/pair_local_density.rst +++ b/doc/src/pair_local_density.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style local/density +.. index:: pair_style local/density -pair\_style local/density command -================================= +pair_style local/density command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style arg @@ -17,150 +16,156 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style local/density benzene_water.localdensity.table - pair_style hybrid/overlay table spline 500 local/density - pair_coeff \* \* local/density benzene_water.localdensity.table + pair_style hybrid/overlay table spline 500 local/density + pair_coeff * * local/density benzene_water.localdensity.table Description """"""""""" -The local density (LD) potential is a mean-field manybody potential, and, in some -sense,a generalization of embedded atom models (EAM). The name "local density -potential" arises from the fact that it assigns an energy to an atom depending -on the number of neighboring atoms of given type around it within a predefined +The local density (LD) potential is a mean-field manybody potential, and, in some +sense,a generalization of embedded atom models (EAM). The name "local density +potential" arises from the fact that it assigns an energy to an atom depending +on the number of neighboring atoms of given type around it within a predefined spherical volume (i.e., within a cutoff). The bottom-up coarse-graining (CG) -literature suggests that such potentials can be widely useful in capturing -effective multibody forces in a computationally efficient manner so as to -improve the quality of CG models of implicit solvation:ref:`(Sanyal1) ` and -phase-segregation in liquid mixtures:ref:`(Sanyal2) `, and provide guidelines -to determine the extent of manybody correlations present in a CG -model.:ref:`(Rosenberger) ` The LD potential in LAMMPS is primarily -intended to be used as a corrective potential over traditional pair potentials -in bottom-up CG models, i.e., as a hybrid pair style with -other explicit pair interaction terms (e.g., table spline, Lennard Jones, etc.). -Because the LD potential is not a pair potential per se, it is implemented -simply as a single auxiliary file with all specifications that will be read +literature suggests that such potentials can be widely useful in capturing +effective multibody forces in a computationally efficient manner so as to +improve the quality of CG models of implicit solvation:ref:`(Sanyal1) ` and +phase-segregation in liquid mixtures:ref:`(Sanyal2) `, and provide guidelines +to determine the extent of manybody correlations present in a CG +model.:ref:`(Rosenberger) ` The LD potential in LAMMPS is primarily +intended to be used as a corrective potential over traditional pair potentials +in bottom-up CG models, i.e., as a hybrid pair style with +other explicit pair interaction terms (e.g., table spline, Lennard Jones, etc.). +Because the LD potential is not a pair potential per se, it is implemented +simply as a single auxiliary file with all specifications that will be read upon initialization. .. note:: - Thus when used as the only interaction in the system, there is no - corresponding pair\_coeff command and when used with other pair styles using the - hybrid/overlay option, the corresponding pair\_coeff command must be supplied + Thus when used as the only interaction in the system, there is no + corresponding pair_coeff command and when used with other pair styles using the + hybrid/overlay option, the corresponding pair_coeff command must be supplied \* \* as placeholders for the atom types. - ---------- - **System with a single CG atom type:** A system of a single atom type (e.g., LJ argon) with a single local density (LD) potential would have an energy given by: -.. image:: Eqs/pair_local_density_energy.jpg - :align: center +.. math:: + + U_{LD} = \sum_i F(\rho_i) + +where :math:`\rho_i` is the LD at atom *i* and :math:`F(\rho)` is +similar in spirit to the embedding function used in EAM potentials. The +LD at atom *i* is given by the sum + +.. math:: -where rho\_i is the LD at atom i and F(rho) is similar in spirit to the -embedding function used in EAM potentials. The LD at atom i is given by the sum + \rho_i = \sum_{j \neq i} \varphi(r_{ij}) -.. image:: Eqs/pair_local_density_ld.jpg - :align: center +where :math:`\varphi` is an indicator function that is one at r=0 and +zero beyond a cutoff distance R2. The choice of the functional form of +:math:`\varphi` is somewhat arbitrary, but the following piecewise cubic +function has proven sufficiently general: :ref:`(Sanyal1) `, +:ref:`(Sanyal2) ` :ref:`(Rosenberger) ` -where phi is an indicator function that is one at r=0 and zero beyond a cutoff -distance R2. The choice of the functional form of phi is somewhat arbitrary, -but the following piecewise cubic function has proven sufficiently general: -:ref:`(Sanyal1) `, :ref:`(Sanyal2) ` :ref:`(Rosenberger) ` +.. math:: -.. image:: Eqs/pair_local_density_indicator_func.jpg - :align: center + \varphi(r) = + \begin{cases} + 1 & r \le R_1 \\ + c_0 + c_2r^2 + c_4r^4 + c_6r^6 & r \in (R_1, R_2) \\ + 0 & r \ge R_2 + \end{cases} -The constants *c* are chosen so that the indicator function smoothly -interpolates between 1 and 0 between the distances R1 and R2, which are -called the inner and outer cutoffs, respectively. Thus phi satisfies -phi(R1) = 1, phi(R2) = dphi/dr @ (r=R1) = dphi/dr @ (r=R2) = 0. The embedding -function F(rho) may or may not have a closed-form expression. To maintain -generality, it is practically represented with a spline-interpolated table -over a predetermined range of rho. Outside of that range it simply adopts zero +The constants *c* are chosen so that the indicator function smoothly +interpolates between 1 and 0 between the distances R1 and R2, which are +called the inner and outer cutoffs, respectively. Thus phi satisfies +phi(R1) = 1, phi(R2) = dphi/dr @ (r=R1) = dphi/dr @ (r=R2) = 0. The embedding +function F(rho) may or may not have a closed-form expression. To maintain +generality, it is practically represented with a spline-interpolated table +over a predetermined range of rho. Outside of that range it simply adopts zero values at the endpoints. -It can be shown that the total force between two atoms due to the LD potential -takes the form of a pair force, which motivates its designation as a LAMMPS +It can be shown that the total force between two atoms due to the LD potential +takes the form of a pair force, which motivates its designation as a LAMMPS pair style. Please see :ref:`(Sanyal1) ` for details of the derivation. - ---------- - **Systems with arbitrary numbers of atom types:** The potential is easily generalized to systems involving multiple atom types: -.. image:: Eqs/pair_local_density_energy_multi.jpg - :align: center +.. math:: + + U_{LD} = \sum_i a_\alpha F(\rho_i) with the LD expressed as -.. image:: Eqs/pair_local_density_ld_multi.jpg - :align: center +.. math:: -where alpha gives the type of atom i, beta the type of atom j, and the -coefficients a and b filter for atom types as specified by the user. a is -called the central atom filter as it determines to which atoms the -potential applies; a\_alpha = 1 if the LD potential applies to atom type alpha -else zero. On the other hand, b is called the neighbor atom filter because it -specifies which atom types to use in the calculation of the LD; b\_beta = 1 if -atom type beta contributes to the LD and zero otherwise. + \rho_i = \sum_{j \neq i} b_\beta \varphi(r_{ij}) -.. note:: +where :math:`\alpha` gives the type of atom *i*\ , :math:`\beta` the +type of atom *j*\ , and the coefficients *a* and *b* filter for atom +types as specified by the user. *a* is called the central atom filter as +it determines to which atoms the potential applies; :math:`a_{\alpha} = +1` if the LD potential applies to atom type :math:`\alpha` else zero. On the +other hand, *b* is called the neighbor atom filter because it specifies +which atom types to use in the calculation of the LD; :math:`b_{\beta} = +1` if atom type :math:`\beta` contributes to the LD and zero otherwise. - Note that the potentials need not be symmetric with respect to atom types, - which is the reason for two distinct sets of coefficients a and b. An atom type - may contribute to the LD but not the potential, or to the potential but not the - LD. Such decisions are made by the user and should (ideally) be motivated on - physical grounds for the problem at hand. +.. note:: + Note that the potentials need not be symmetric with respect to atom + types, which is the reason for two distinct sets of coefficients *a* + and *b*\ . An atom type may contribute to the LD but not the + potential, or to the potential but not the LD. Such decisions are + made by the user and should (ideally) be motivated on physical + grounds for the problem at hand. ---------- - **General form for implementation in LAMMPS:** -Of course, a system with many atom types may have many different possible LD -potentials, each with their own atom type filters, cutoffs, and embedding -functions. The most general form of this potential as implemented in the -pair\_style local/density is: +Of course, a system with many atom types may have many different possible LD +potentials, each with their own atom type filters, cutoffs, and embedding +functions. The most general form of this potential as implemented in the +pair_style local/density is: + +.. math:: + + U_{LD} = \sum_k U_{LD}^{(k)} = \sum_i \left[ \sum_k a_\alpha^{(k)} F^{(k)} \left(\rho_i^{(k)}\right) \right] -.. image:: Eqs/pair_local_density_energy_implement.jpg - :align: center +where, *k* is an index that spans the (arbitrary) number of applied LD +potentials N_LD. Each LD is calculated as before with: -where, k is an index that spans the (arbitrary) number of applied LD potentials -N\_LD. Each LD is calculated as before with: +.. math:: -.. image:: Eqs/pair_local_density_ld_implement.jpg - :align: center + \rho_i^{(k)} = \sum_j b_\beta^{(k)} \varphi^{(k)} (r_{ij}) -The superscript on the indicator function phi simply indicates that it is -associated with specific values of the cutoff distances R1(k) and R2(k). In -summary, there may be N\_LD distinct LD potentials. With each potential type (k), +The superscript on the indicator function phi simply indicates that it is +associated with specific values of the cutoff distances R1(k) and R2(k). In +summary, there may be N_LD distinct LD potentials. With each potential type (k), one must specify: * the inner and outer cutoffs as R1 and R2 -* the central type filter a(k), where k = 1,2,...N\_LD -* the neighbor type filter b(k), where k = 1,2,...N\_LD +* the central type filter a(k), where k = 1,2,...N_LD +* the neighbor type filter b(k), where k = 1,2,...N_LD * the LD potential function F(k)(rho), typically as a table that is later spline-interpolated - ---------- - **Tabulated input file format:** - .. parsed-literal:: Line 1: comment or blank (ignored) @@ -184,70 +189,56 @@ one must specify: Block N_LD -Lines 5 to 9+N\_rho constitute the first block. Thus the input file is separated -(by blank lines) into N\_LD blocks each representing a separate LD potential and -each specifying its own upper and lower cutoffs, central and neighbor atoms, +Lines 5 to 9+N_rho constitute the first block. Thus the input file is separated +(by blank lines) into N_LD blocks each representing a separate LD potential and +each specifying its own upper and lower cutoffs, central and neighbor atoms, and potential. In general, blank lines anywhere are ignored. - ---------- - **Mixing, shift, table, tail correction, restart, info**\ : -This pair style does not support automatic mixing. For atom type pairs alpha, -beta and alpha != beta, even if LD potentials of type (alpha, alpha) and -(beta, beta) are provided, you will need to explicitly provide LD potential -types (alpha, beta) and (beta, alpha) if need be (Here, the notation (alpha, -beta) means that alpha is the central atom to which the LD potential is applied -and beta is the neighbor atom which contributes to the LD potential on alpha). - -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support automatic mixing. For atom type pairs +:math:`\alpha`, :math:`\beta` and :math:`\alpha` != :math:`\beta`, even +if LD potentials of type (:math:`\alpha`, :math:`\alpha`) and +(:math:`\beta`, :math:`\beta`) are provided, you will need to explicitly +provide LD potential types (:math:`\alpha`, :math:`\beta`) and +(:math:`\beta`, :math:`\alpha`) if need be (Here, the notation +(:math:`\alpha`, :math:`\beta`) means that :math:`\alpha` is the central +atom to which the LD potential is applied and :math:`\beta` is the +neighbor atom which contributes to the LD potential on :math:`\alpha`). + +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. The local/density pair style does not write its information to :doc:`binary restart files `, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair\_style and pair\_coeff commands in +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. - ---------- - Restrictions """""""""""" - The local/density pair style is a part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Sanyal1: - - .. _Sanyal2: **(Sanyal1)** Sanyal and Shell, Journal of Chemical Physics, 2016, 145 (3), 034109. - **(Sanyal2)** Sanyal and Shell, Journal of Physical Chemistry B, 122 (21), 5678-5693. .. _Rosenberger: - - **(Rosenberger)** Rosenberger, Sanyal, Shell and van der Vegt, Journal of Chemical Physics, 2019, 151 (4), 044111. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lubricate.rst b/doc/src/pair_lubricate.rst index b9033be48d49fcb73dd346d1210829e8cfc5cebf..563b88920e7a8a6d51b0cf57b05dc839afb4bf19 100644 --- a/doc/src/pair_lubricate.rst +++ b/doc/src/pair_lubricate.rst @@ -1,22 +1,21 @@ -.. index:: pair\_style lubricate +.. index:: pair_style lubricate -pair\_style lubricate command -============================= +pair_style lubricate command +============================ -pair\_style lubricate/omp command -================================= +pair_style lubricate/omp command +================================ -pair\_style lubricate/poly command -================================== +pair_style lubricate/poly command +================================= -pair\_style lubricate/poly/omp command -====================================== +pair_style lubricate/poly/omp command +===================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style mu flaglog flagfld cutinner cutoff flagHI flagVF @@ -31,17 +30,16 @@ Syntax **Examples:** (all assume radius = 1) - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lubricate 1.5 1 1 2.01 2.5 pair_coeff 1 1 2.05 2.8 - pair_coeff \* \* + pair_coeff * * pair_style lubricate 1.5 1 1 2.01 2.5 - pair_coeff \* \* + pair_coeff * * variable mu equal ramp(1,2) - fix 1 all adapt 1 pair lubricate mu \* \* v_mu + fix 1 all adapt 1 pair lubricate mu * * v_mu Description """"""""""" @@ -51,8 +49,15 @@ interactions between mono-disperse finite-size spherical particles in a pairwise fashion. The interactions have 2 components. The first is Ball-Melrose lubrication terms via the formulas in :ref:`(Ball and Melrose) ` -.. image:: Eqs/pair_lubricate.jpg - :align: center +.. math:: + + W & = - a_{sq} | (v_1 - v_2) \bullet \mathbf{nn} |^2 - + a_{sh} | (\omega_1 + \omega_2) \bullet + (\mathbf{I} - \mathbf{nn}) - 2 \Omega_N |^2 - \\ + & a_{pu} | (\omega_1 - \omega_2) \bullet (\mathbf{I} - \mathbf{nn}) |^2 - + a_{tw} | (\omega_1 - \omega_2) \bullet \mathbf{nn} |^2 \qquad r < r_c \\ + & \\ + \Omega_N & = \mathbf{n} \times (v_1 - v_2) / r which represents the dissipation W between two nearby particles due to their relative velocities in the presence of a background solvent with @@ -82,15 +87,16 @@ The other component is due to the Fast Lubrication Dynamics (FLD) approximation, described in :ref:`(Kumar) `, which can be represented by the following equation -.. image:: Eqs/fld.jpg - :align: center +.. math:: + + F^{H} = -R_{FU}(U-U^{\infty}) + R_{FE}E^{\infty} where U represents the velocities and angular velocities of the -particles, U\^\ *infty* represents the velocity and the angular velocity -of the undisturbed fluid, and E\^\ *infty* represents the rate of strain +particles, :math:`U^{\infty}` represents the velocity and the angular velocity +of the undisturbed fluid, and :math:`E^{\infty}` represents the rate of strain tensor of the undisturbed fluid with viscosity *mu*\ . Again, note that this is dynamic viscosity which has units of mass/distance/time, not -kinematic viscosity. Volume fraction corrections to R\_FU are included +kinematic viscosity. Volume fraction corrections to R_FU are included as long as *flagVF* is set to 1 (default). .. note:: @@ -98,13 +104,13 @@ as long as *flagVF* is set to 1 (default). When using the FLD terms, these pair styles are designed to be used with explicit time integration and a correspondingly small timestep. Thus either :doc:`fix nve/sphere ` or :doc:`fix nve/asphere ` should be used for time integration. - To perform implicit FLD, see the :doc:`pair\_style lubricateU ` command. + To perform implicit FLD, see the :doc:`pair_style lubricateU ` command. Style *lubricate* requires monodisperse spherical particles; style *lubricate/poly* allows for polydisperse spherical particles. The viscosity *mu* can be varied in a time-dependent manner over the -course of a simulation, in which case in which case the pair\_style +course of a simulation, in which case in which case the pair_style setting for *mu* will be overridden. See the :doc:`fix adapt ` command for details. @@ -112,9 +118,9 @@ If the suspension is sheared via the :doc:`fix deform ` command then the pair style uses the shear rate to adjust the hydrodynamic interactions accordingly. Volume changes due to fix deform are accounted for when computing the volume fraction -corrections to R\_FU. +corrections to R_FU. -When computing the volume fraction corrections to R\_FU, the presence +When computing the volume fraction corrections to R_FU, the presence of walls (whether moving or stationary) will affect the volume fraction available to colloidal particles. This is currently accounted for with the following types of walls: :doc:`wall/lj93 `, @@ -129,31 +135,27 @@ boundaries. Since lubrication forces are dissipative, it is usually desirable to thermostat the system at a constant temperature. If Brownian motion (at a constant temperature) is desired, it can be set using the -:doc:`pair\_style brownian ` command. These pair styles +:doc:`pair_style brownian ` command. These pair styles and the brownian style should use consistent parameters for *mu*\ , *flaglog*\ , *flagfld*\ , *cutinner*\ , *cutoff*\ , *flagHI* and *flagVF*\ . - ---------- - The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * cutinner (distance units) * cutoff (distance units) The two coefficients are optional. If neither is specified, the two -cutoffs specified in the pair\_style command are used. Otherwise both +cutoffs specified in the pair_style command are used. Otherwise both must be specified. - ---------- - 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 @@ -172,59 +174,54 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See :doc:`this section ` of the manual for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the two cutoff distances for this pair style can be mixed. The default mix value is *geometric*\ . See -the "pair\_modify" command for details. +the "pair_modify" command for details. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These styles are part of the COLLOID package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -Only spherical monodisperse particles are allowed for pair\_style +Only spherical monodisperse particles are allowed for pair_style lubricate. -Only spherical particles are allowed for pair\_style lubricate/poly. +Only spherical particles are allowed for pair_style lubricate/poly. These pair styles will not restart exactly when using the -:doc:`read\_restart ` command, though they should provide +:doc:`read_restart ` command, though they should provide statistically similar results. This is because the forces they compute depend on atom velocities. See the -:doc:`read\_restart ` command for more details. +:doc:`read_restart ` command for more details. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style lubricateU ` +:doc:`pair_coeff `, :doc:`pair_style lubricateU ` Default """"""" @@ -232,27 +229,16 @@ Default The default settings for the optional args are flagHI = 1 and flagVF = 1. - ---------- - .. _Ball1: - - **(Ball)** Ball and Melrose, Physica A, 247, 444-472 (1997). .. _Kumar1: - - **(Kumar)** Kumar and Higdon, Phys Rev E, 82, 051401 (2010). See also his thesis for more details: A. Kumar, "Microscale Dynamics in Suspensions of Non-spherical Particles", Thesis, University of Illinois Urbana-Champaign, (2010). (`https://www.ideals.illinois.edu/handle/2142/16032 `_) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_lubricateU.rst b/doc/src/pair_lubricateU.rst index bf0a39c56e25c493a371be02d1fe952d4bed6a99..5b485746c83171ddf97ceb6d17b914d536c99461 100644 --- a/doc/src/pair_lubricateU.rst +++ b/doc/src/pair_lubricateU.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style lubricateU +.. index:: pair_style lubricateU -pair\_style lubricateU command -============================== +pair_style lubricateU command +============================= -pair\_style lubricateU/poly command -=================================== +pair_style lubricateU/poly command +================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style mu flaglog cutinner cutoff gdot flagHI flagVF @@ -25,12 +24,11 @@ Syntax **Examples:** (all assume radius = 1) - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lubricateU 1.5 1 2.01 2.5 0.01 1 1 pair_coeff 1 1 2.05 2.8 - pair_coeff \* \* + pair_coeff * * Description """"""""""" @@ -43,8 +41,15 @@ other types of interactions. The interactions have 2 components. The first is Ball-Melrose lubrication terms via the formulas in :ref:`(Ball and Melrose) ` -.. image:: Eqs/pair_lubricate.jpg - :align: center +.. math:: + + W & = - a_{sq} | (v_1 - v_2) \bullet \mathbf{nn} |^2 - + a_{sh} | (\omega_1 + \omega_2) \bullet + (\mathbf{I} - \mathbf{nn}) - 2 \Omega_N |^2 - \\ + & a_{pu} | (\omega_1 - \omega_2) \bullet (\mathbf{I} - \mathbf{nn}) |^2 - + a_{tw} | (\omega_1 - \omega_2) \bullet \mathbf{nn} |^2 \qquad r < r_c \\ + & \\ + \Omega_N & = \mathbf{n} \times (v_1 - v_2) / r which represents the dissipation W between two nearby particles due to their relative velocities in the presence of a background solvent with @@ -75,16 +80,17 @@ The other component is due to the Fast Lubrication Dynamics (FLD) approximation, described in :ref:`(Kumar) `. The equation being solved to balance the forces and torques is -.. image:: Eqs/fld2.jpg - :align: center +.. math:: + + -R_{FU}(U-U^{\infty}) = -R_{FE}E^{\infty} - F^{rest} where U represents the velocities and angular velocities of the -particles, U\^\ *infty* represents the velocities and the angular -velocities of the undisturbed fluid, and E\^\ *infty* represents the rate -of strain tensor of the undisturbed fluid flow with viscosity +particles, :math:`U^{\infty}` represents the velocities and the angular +velocities of the undisturbed fluid, and :math:`E^{\infty}` represents +the rate of strain tensor of the undisturbed fluid flow with viscosity *mu*\ . Again, note that this is dynamic viscosity which has units of mass/distance/time, not kinematic viscosity. Volume fraction -corrections to R\_FU are included if *flagVF* is set to 1 (default). +corrections to R_FU are included if *flagVF* is set to 1 (default). F\ *rest* represents the forces and torques due to all other types of interactions, e.g. Brownian, electrostatic etc. Note that this @@ -105,8 +111,8 @@ computed. When using these styles, the these pair styles are designed to be used with implicit time integration and a correspondingly larger timestep. Thus either :doc:`fix nve/noforce ` should - be used for spherical particles defined via :doc:`atom\_style sphere ` or :doc:`fix nve/asphere/noforce ` should be used for - spherical particles defined via :doc:`atom\_style ellipsoid `. This is because the velocity and angular + be used for spherical particles defined via :doc:`atom_style sphere ` or :doc:`fix nve/asphere/noforce ` should be used for + spherical particles defined via :doc:`atom_style ellipsoid `. This is because the velocity and angular momentum of each particle is set by the pair style, and should not be reset by the time integration fix. @@ -117,9 +123,9 @@ If the suspension is sheared via the :doc:`fix deform ` command then the pair style uses the shear rate to adjust the hydrodynamic interactions accordingly. Volume changes due to fix deform are accounted for when computing the volume fraction -corrections to R\_FU. +corrections to R_FU. -When computing the volume fraction corrections to R\_FU, the presence +When computing the volume fraction corrections to R_FU, the presence of walls (whether moving or stationary) will affect the volume fraction available to colloidal particles. This is currently accounted for with the following types of walls: :doc:`wall/lj93 `, @@ -127,69 +133,62 @@ for with the following types of walls: :doc:`wall/lj93 `, :doc:`wall/harmonic `. For these wall styles, the correct volume fraction will be used when walls do not coincide with the box boundary, as well as when walls move and thereby cause a change in the -volume fraction. To use these wall styles with pair\_style *lubricateU* +volume fraction. To use these wall styles with pair_style *lubricateU* or *lubricateU/poly*\ , the *fld yes* option must be specified in the fix wall command. Since lubrication forces are dissipative, it is usually desirable to thermostat the system at a constant temperature. If Brownian motion (at a constant temperature) is desired, it can be set using the -:doc:`pair\_style brownian ` command. These pair styles +:doc:`pair_style brownian ` command. These pair styles and the brownian style should use consistent parameters for *mu*\ , *flaglog*\ , *flagfld*\ , *cutinner*\ , *cutoff*\ , *flagHI* and *flagVF*\ . - ---------- - The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * cutinner (distance units) * cutoff (distance units) The two coefficients are optional. If neither is specified, the two -cutoffs specified in the pair\_style command are used. Otherwise both +cutoffs specified in the pair_style command are used. Otherwise both must be specified. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the two cutoff distances for this pair style can be mixed. The default mix value is *geometric*\ . See -the "pair\_modify" command for details. +the "pair_modify" command for details. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These styles are part of the COLLOID package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -200,10 +199,10 @@ the pair styles, and that no fixes apply additional constraint forces. One exception is the :doc:`fix wall/colloid ` commands, which has an "fld" option to apply their wall forces correctly. -Only spherical monodisperse particles are allowed for pair\_style +Only spherical monodisperse particles are allowed for pair_style lubricateU. -Only spherical particles are allowed for pair\_style lubricateU/poly. +Only spherical particles are allowed for pair_style lubricateU/poly. For sheared suspensions, it is assumed that the shearing is done in the xy plane, with x being the velocity direction and y being the @@ -212,7 +211,7 @@ velocity-gradient direction. In this case, one must use :doc:`fix deform `, :doc:`pair\_style lubricate ` +:doc:`pair_coeff `, :doc:`pair_style lubricate ` Default """"""" @@ -220,23 +219,12 @@ Default The default settings for the optional args are flagHI = 1 and flagVF = 1. - ---------- - .. _Ball2: - - **(Ball)** Ball and Melrose, Physica A, 247, 444-472 (1997). .. _Kumar2: - - **(Kumar)** Kumar and Higdon, Phys Rev E, 82, 051401 (2010). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_mdf.rst b/doc/src/pair_mdf.rst index 181b7929a75d8c5f81bf0962e44f83e5a522febe..983e817f1d53a191d841bf828b1fac7ec538e6aa 100644 --- a/doc/src/pair_mdf.rst +++ b/doc/src/pair_mdf.rst @@ -1,27 +1,26 @@ -.. index:: pair\_style lj/mdf +.. index:: pair_style lj/mdf -pair\_style lj/mdf command -========================== +pair_style lj/mdf command +========================= -pair\_style buck/mdf command -============================ +pair_style buck/mdf command +=========================== -pair\_style lennard/mdf command -=============================== +pair_style lennard/mdf command +============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *lj/mdf* or *buck/mdf* or *lennard/mdf* * args = list of arguments for a particular style - + .. parsed-literal:: - + *lj/mdf* args = cutoff1 cutoff2 cutoff1 = inner cutoff for the start of the tapering function cutoff1 = out cutoff for the end of the tapering function @@ -32,24 +31,21 @@ Syntax cutoff1 = inner cutoff for the start of the tapering function cutoff1 = out cutoff for the end of the tapering function - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/mdf 2.5 3.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.1 2.8 3.0 3.2 pair_style buck 2.5 3.0 - pair_coeff \* \* 100.0 1.5 200.0 - pair_coeff \* \* 100.0 1.5 200.0 3.0 3.5 + pair_coeff * * 100.0 1.5 200.0 + pair_coeff * * 100.0 1.5 200.0 3.0 3.5 pair_style lennard/mdf 2.5 3.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 1 1 1021760.3664 2120.317338 3.0 3.2 Description @@ -60,115 +56,112 @@ Lennard-Jones and Buckingham potential with the addition of a taper function that ramps the energy and force smoothly to zero between an inner and outer cutoff. -.. image:: Eqs/pair_mdf-1.jpg - :align: center +.. math:: + + E_{smooth}(r) = E(r)*f(r) The tapering, *f(r)*\ , is done by using the Mei, Davenport, Fernando function :ref:`(Mei) `. -.. image:: Eqs/pair_mdf-2.jpg - :align: center +.. math:: + + f(r) & = 1.0 \qquad \qquad \mathrm{for} \qquad r < r_m \\ + f(r) & = (1 - x)^3*(1+3x+6x^2) \quad \mathrm{for} \qquad r_m < r < r_{cut} \\ + f(r) & = 0.0 \qquad \qquad \mathrm{for} \qquad r >= r_{cut} \\ where -.. image:: Eqs/pair_mdf-3.jpg - :align: center +.. math:: -Here *r\_m* is the inner cutoff radius and *r\_cut* is the outer cutoff -radius. + x = \frac{(r-r_m)}{(r_{cut}-r_m)} +Here :math:`r_m` is the inner cutoff radius and :math:`r_{cut}` is the +outer cutoff radius. ---------- - -For the *lj/mdf* pair\_style, the potential energy, *E(r)*\ , is the +For the *lj/mdf* pair_style, the potential energy, *E(r)*\ , is the standard 12-6 Lennard-Jones written in the epsilon/sigma form: -.. image:: Eqs/pair_mdf-4.jpg - :align: center +.. math:: + + E(r) = 4\epsilon\biggl[\bigl(\frac{\sigma}{r}\bigr)^{12} - \bigl(\frac{\sigma}{r}\bigr)^6\biggr] Either the first two or all of the following coefficients must be -defined for each pair of atoms types via the pair\_coeff command as -in the examples above, or in the data file read by the -:doc:`read\_data `. The two cutoffs default to the global -values and epsilon and sigma can also be determined by mixing as +defined for each pair of atoms types via the pair_coeff command as in +the examples above, or in the data file read by the :doc:`read_data +`. The two cutoffs default to the global values and +:math:`\epsilon` and :math:`\sigma` can also be determined by mixing as described below: -* epsilon (energy units) -* sigma (distance units) -* r\_m (distance units) -* r\_\ *cut* (distance units) - +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) +* :math:`r_m` (distance units) +* :math:`r_{cut}` (distance units) ---------- - -For the *buck/mdf* pair\_style, the potential energy, *E(r)*\ , is the +For the *buck/mdf* pair_style, the potential energy, *E(r)*\ , is the standard Buckingham potential with three required coefficients. The two cutoffs can be omitted and default to the corresponding global values: -.. image:: Eqs/pair_mdf-5.jpg - :align: center +.. math:: -* A (energy units) -* \rho (distance units) -* C (energy-distance\^6 units) -* r\_m (distance units) -* r\_\ *cut* (distance units) + E(r) = A e^{(-r/\rho)} -\frac{C}{r^6} +* *A* (energy units) +* :math:`\rho` (distance units) +* *C* (energy-distance\^6 units) +* :math:`r_m` (distance units) +* :math:`r_{cut}` (distance units) ---------- - -For the *lennard/mdf* pair\_style, the potential energy, *E(r)*\ , is the +For the *lennard/mdf* pair_style, the potential energy, *E(r)*\ , is the standard 12-6 Lennard-Jones written in the A/B form: -.. image:: Eqs/pair_mdf-6.jpg - :align: center +.. math:: + + E(r) = \frac{A}{r^{12}} - \frac{B}{r^{6}} The following coefficients must be defined for each pair of atoms -types via the pair\_coeff command as in the examples above, or in the -data file read by the read\_data commands, or by mixing as described below. +types via the pair_coeff command as in the examples above, or in the +data file read by the read_data commands, or by mixing as described below. The two cutoffs default to their global values and must be either both given or both left out: -* A (energy-distance\^12 units) -* B (energy-distance\^6 units) -* r\_m (distance units) -* r\_\ *cut* (distance units) - +* *A* (energy-distance\^12 units) +* *B* (energy-distance\^6 units) +* :math:`r_m` (distance units) +* :math:`r_{cut}` (distance units) ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distances for the lj/mdf pair style can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command -for details. The other two pair styles buck/mdf and lennard/mdf do not -support mixing, so all I,J pairs of coefficients must be specified -explicitly. +For atom type pairs I,J and I != J, the :math:`\epsilon` and +:math:`sigma` coefficients and cutoff distances for the lj/mdf pair +style can be mixed. The default mix value is *geometric*\ . See the +"pair_modify" command for details. The other two pair styles buck/mdf +and lennard/mdf do not support mixing, so all I,J pairs of coefficients +must be specified explicitly. None of the lj/mdf, buck/mdf, or lennard/mdf pair styles supports -the :doc:`pair\_modify ` shift option or long-range +the :doc:`pair_modify ` shift option or long-range tail corrections to pressure and energy. -These styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. -These styles can only be used via the *pair* keyword of the :doc:`run\_style respa ` command. They do not support the *inner*\ , +These styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -176,21 +169,12 @@ page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Mei: - - **(Mei)** Mei, Davenport, Fernando, Phys Rev B, 43 4653 (1991) - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_meam_spline.rst b/doc/src/pair_meam_spline.rst index 68ccc829c90a188346bbaddd8c8c279745b49efc..6c4da246253cefcc7d9c93cf56a0d26245444e43 100644 --- a/doc/src/pair_meam_spline.rst +++ b/doc/src/pair_meam_spline.rst @@ -1,28 +1,26 @@ -.. index:: pair\_style meam/spline +.. index:: pair_style meam/spline -pair\_style meam/spline command -=============================== +pair_style meam/spline command +============================== -pair\_style meam/spline/omp command -=================================== +pair_style meam/spline/omp command +================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style meam/spline Examples """""""" - -.. parsed-literal:: +.. code:: LAMMPS pair_style meam/spline - pair_coeff \* \* Ti.meam.spline Ti - pair_coeff \* \* Ti.meam.spline Ti Ti Ti + pair_coeff * * Ti.meam.spline Ti + pair_coeff * * Ti.meam.spline Ti Ti Ti Description """"""""""" @@ -32,37 +30,41 @@ using a variant of modified embedded-atom method (MEAM) potentials :ref:`(Lenosky) `. For a single species ("old-style") MEAM, the total energy E is given by -.. image:: Eqs/pair_meam_spline.jpg - :align: center +.. math:: + + E & =\sum_{i`, where the total energy E is given by -.. image:: Eqs/pair_meam_spline_multicomponent.jpg - :align: center +.. math:: -where the five functions Phi, U, rho, f, and g depend on the chemistry -of the atoms in the interaction. In particular, if there are N different -chemistries, there are N different U, rho, and f functions, while there -are N(N+1)/2 different Phi and g functions. The new style multicomponent -MEAM potential files are indicated by the second line in the file starts -with "meam/spline" followed by the number of elements and the name of each -element. + E &= \sum_{i` command. Parameter files for different +:doc:`pair_coeff ` command. Parameter files for different elements are included in the "potentials" directory of the LAMMPS distribution and have a ".meam.spline" file suffix. All of these files are parameterized in terms of LAMMPS :doc:`metal units `. Note that unlike for other potentials, cutoffs for spline-based MEAM -potentials are not set in the pair\_style or pair\_coeff command; they +potentials are not set in the pair_style or pair_coeff command; they are specified in the potential files themselves. Unlike the EAM pair style, which retrieves the atomic mass from the @@ -70,27 +72,26 @@ potential file, the spline-based MEAM potentials do not include mass information; thus you need to use the :doc:`mass ` command to specify it. -Only a single pair\_coeff command is used with the *meam/spline* style +Only a single pair_coeff command is used with the *meam/spline* style which specifies a potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of spline-based MEAM elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, imagine the Ti.meam.spline file has values for Ti (old style). If your LAMMPS simulation has 3 atoms types and they are all to be -treated with this potentials, you would use the following pair\_coeff +treated with this potentials, you would use the following pair_coeff command: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* Ti.meam.spline Ti Ti Ti + pair_coeff * * Ti.meam.spline Ti Ti Ti The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The three Ti arguments map LAMMPS atom types 1,2,3 to the Ti element @@ -104,10 +105,9 @@ on the command line to that single type. An example with a two component spline (new style) is TiO.meam.spline, where the command +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* TiO.meam.spline Ti O + pair_coeff * * TiO.meam.spline Ti O will map the 1st atom type to Ti and the second atom type to O. Note in this case that the species names need to match exactly with the @@ -115,10 +115,8 @@ names of the elements in the TiO.meam.spline file; otherwise an error will be raised. This behavior is different than the old style MEAM files. - ---------- - 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 @@ -137,31 +135,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. The *meam/spline* pair style does not write its information to :doc:`binary restart files `, since it is stored in an external -potential parameter file. Thus, you need to re-specify the pair\_style -and pair\_coeff commands in an input script that reads a restart file. +potential parameter file. Thus, you need to re-specify the pair_style +and pair_coeff commands in an input script that reads a restart file. The *meam/spline* pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. @@ -172,29 +165,18 @@ info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style meam/c ` +:doc:`pair_coeff `, :doc:`pair_style meam/c ` **Default:** none - ---------- - .. _Lenosky1: - - **(Lenosky)** Lenosky, Sadigh, Alonso, Bulatov, de la Rubia, Kim, Voter, Kress, Modelling Simulation Materials Science Engineering, 8, 825 (2000). .. _Zhang4: - - **(Zhang)** Zhang and Trinkle, Computational Materials Science, 124, 204-210 (2016). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_meam_sw_spline.rst b/doc/src/pair_meam_sw_spline.rst index 9331b5f36abb9bca172d73624ba6c83003a658cb..0cf4c5797558dcd0f4459e32395eac5fc615e0aa 100644 --- a/doc/src/pair_meam_sw_spline.rst +++ b/doc/src/pair_meam_sw_spline.rst @@ -1,25 +1,23 @@ -.. index:: pair\_style meam/sw/spline +.. index:: pair_style meam/sw/spline -pair\_style meam/sw/spline command -================================== +pair_style meam/sw/spline command +================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style meam/sw/spline Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style meam/sw/spline - pair_coeff \* \* Ti.meam.sw.spline Ti - pair_coeff \* \* Ti.meam.sw.spline Ti Ti Ti + pair_coeff * * Ti.meam.sw.spline Ti + pair_coeff * * Ti.meam.sw.spline Ti Ti Ti Description """"""""""" @@ -32,22 +30,27 @@ was first proposed by Nicklas, Fellinger, and Park :ref:`(Nicklas) `. We refer to it as MEAM+SW. The total energy E is given by -.. image:: Eqs/pair_meam_sw_spline.jpg - :align: center +.. math:: + + E & = E_{MEAM} + E_{SW} \\ + E_{MEAM} & = \sum _{IJ} \phi (r_{IJ}) + \sum _{I} U(\rho _I) \\ + E_{SW} & = \sum _{I} \sum _{JK} F(r_{IJ}) \, F(r_{IK}) \, G(\cos(\theta _{JIK})) \\ + \rho _I & = \sum _J \rho(r_{IJ}) + \sum _{JK} f(r_{IJ}) \, f(r_{IK}) \, g(\cos(\theta _{JIK})) -where rho\_I is the density at atom I, theta\_JIK is the angle between -atoms J, I, and K centered on atom I. The seven functions -Phi, F, G, U, rho, f, and g are represented by cubic splines. +where :math:`\rho_I` is the density at atom I, :math:`\theta_{JIK}` is +the angle between atoms J, I, and K centered on atom I. The seven +functions :math:`\phi, F, G, U, \rho, f,` and *g* are represented by +cubic splines. The cutoffs and the coefficients for these spline functions are listed in a parameter file which is specified by the -:doc:`pair\_coeff ` command. Parameter files for different +:doc:`pair_coeff ` command. Parameter files for different elements are included in the "potentials" directory of the LAMMPS distribution and have a ".meam.sw.spline" file suffix. All of these files are parameterized in terms of LAMMPS :doc:`metal units `. Note that unlike for other potentials, cutoffs for spline-based -MEAM+SW potentials are not set in the pair\_style or pair\_coeff +MEAM+SW potentials are not set in the pair_style or pair_coeff command; they are specified in the potential files themselves. Unlike the EAM pair style, which retrieves the atomic mass from the @@ -55,24 +58,26 @@ potential file, the spline-based MEAM+SW potentials do not include mass information; thus you need to use the :doc:`mass ` command to specify it. -Only a single pair\_coeff command is used with the meam/sw/spline style +Only a single pair_coeff command is used with the meam/sw/spline style which specifies a potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of spline-based MEAM+SW elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, imagine the Ti.meam.sw.spline file has values for Ti. If your LAMMPS simulation has 3 atoms types and they are all to be -treated with this potential, you would use the following pair\_coeff +treated with this potential, you would use the following pair_coeff command: -pair\_coeff \* \* Ti.meam.sw.spline Ti Ti Ti +.. code-block:: LAMMPS + + pair_coeff * * Ti.meam.sw.spline Ti Ti Ti The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The three Ti arguments map LAMMPS atom types 1,2,3 to the Ti element @@ -89,37 +94,32 @@ potentials. systems in the future. Example input scripts that use this pair style are provided -in the examples/USER/misc/meam\_sw\_spline directory. - +in the examples/USER/misc/meam_sw_spline directory. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : The pair style does not support multiple element types or mixing. It has been designed for pure elements only. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. The *meam/sw/spline* pair style does not write its information to :doc:`binary restart files `, since it is stored in an external -potential parameter file. Thus, you need to re-specify the pair\_style -and pair\_coeff commands in an input script that reads a restart file. +potential parameter file. Thus, you need to re-specify the pair_style +and pair_coeff commands in an input script that reads a restart file. The *meam/sw/spline* pair style can only be used via the *pair* -keyword of the :doc:`run\_style respa ` command. They do not +keyword of the :doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style requires the :doc:`newton ` setting to be "on" for pair interactions. @@ -130,38 +130,25 @@ info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style meam/c `, -:doc:`pair\_style meam/spline ` +:doc:`pair_coeff `, :doc:`pair_style meam/c `, +:doc:`pair_style meam/spline ` **Default:** none - ---------- - .. _Lenosky2: - - **(Lenosky)** Lenosky, Sadigh, Alonso, Bulatov, de la Rubia, Kim, Voter, Kress, Modell. Simul. Mater. Sci. Eng. 8, 825 (2000). .. _Stillinger1: - - **(Stillinger)** Stillinger, Weber, Phys. Rev. B 31, 5262 (1985). .. _Nicklas: - - **(Nicklas)** The spline-based MEAM+SW format was first devised and used to develop potentials for bcc transition metals by Jeremy Nicklas, Michael Fellinger, and Hyoungki Park at The Ohio State University. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_meamc.rst b/doc/src/pair_meamc.rst index ac858ce24beb38b3a8ac3874888d159c0d13f081..f227af8b452856dbc96796c0ab3fca5aa889b2e4 100644 --- a/doc/src/pair_meamc.rst +++ b/doc/src/pair_meamc.rst @@ -1,27 +1,23 @@ -.. index:: pair\_style meam/c +.. index:: pair_style meam/c -pair\_style meam/c command -========================== +pair_style meam/c command +========================= Syntax """""" +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_style style - -style = *meam/c* + pair_style meam/c Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style meam/c - pair_coeff \* \* ../potentials/library.meam Si ../potentials/si.meam Si - pair_coeff \* \* ../potentials/library.meam Ni Al NULL Ni Al Ni Ni + pair_coeff * * ../potentials/library.meam Si ../potentials/si.meam Si + pair_coeff * * ../potentials/library.meam Ni Al NULL Ni Al Ni Ni Description """"""""""" @@ -29,7 +25,7 @@ Description .. note:: The behavior of the MEAM potential for alloy systems has changed - as of November 2010; see description below of the mixture\_ref\_t + as of November 2010; see description below of the mixture_ref_t parameter Style *meam/c* computes pairwise interactions for a variety of materials @@ -46,19 +42,21 @@ the 12 December 2018 release. In the MEAM formulation, the total energy E of a system of atoms is given by: -.. image:: Eqs/pair_meam.jpg - :align: center +.. math:: -where F is the embedding energy which is a function of the atomic -electron density rho, and phi is a pair potential interaction. The -pair interaction is summed over all neighbors J of atom I within the -cutoff distance. As with EAM, the multi-body nature of the MEAM -potential is a result of the embedding energy term. Details of the -computation of the embedding and pair energies, as implemented in + E = \sum_i \left\{ F_i(\bar{\rho}_i) + + \frac{1}{2} \sum_{i \neq j} \phi_{ij} (r_{ij}) \right\} + +where *F* is the embedding energy which is a function of the atomic +electron density :math:`\rho`, and :math:`\phi` is a pair potential +interaction. The pair interaction is summed over all neighbors J of +atom I within the cutoff distance. As with EAM, the multi-body nature +of the MEAM potential is a result of the embedding energy term. Details +of the computation of the embedding and pair energies, as implemented in LAMMPS, are given in :ref:`(Gullet) ` and references therein. The various parameters in the MEAM formulas are listed in two files -which are specified by the :doc:`pair\_coeff ` command. +which are specified by the :doc:`pair_coeff ` command. These are ASCII text files in a format consistent with other MD codes that implement MEAM potentials, such as the serial DYNAMO code and Warp. Several MEAM potential files with parameters for different @@ -67,13 +65,13 @@ distribution with a ".meam" suffix. All of these are parameterized in terms of LAMMPS :doc:`metal units `. Note that unlike for other potentials, cutoffs for MEAM potentials are -not set in the pair\_style or pair\_coeff command; they are specified in +not set in the pair_style or pair_coeff command; they are specified in the MEAM potential files themselves. -Only a single pair\_coeff command is used with the *meam* style which +Only a single pair_coeff command is used with the *meam* style which specifies two MEAM files and the element(s) to extract information for. The MEAM elements are mapped to LAMMPS atom types by specifying -N additional arguments after the 2nd filename in the pair\_coeff +N additional arguments after the 2nd filename in the pair_coeff command, where N is the number of LAMMPS atom types: * MEAM library file @@ -81,27 +79,27 @@ command, where N is the number of LAMMPS atom types: * MEAM parameter file * N element names = mapping of MEAM elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential files. As an example, the potentials/library.meam file has generic MEAM settings for a variety of elements. The potentials/SiC.meam file has specific parameter settings for a Si and C alloy system. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, -and the 4th to be C, you would use the following pair\_coeff command: - +and the 4th to be C, you would use the following pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* library.meam Si C sic.meam Si Si Si C + pair_coeff * * library.meam Si C sic.meam Si Si Si C The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. -The two filenames are for the library and parameter file respectively. -The Si and C arguments (between the file names) are the two elements -for which info will be extracted from the library file. The first -three trailing Si arguments map LAMMPS atom types 1,2,3 to the MEAM Si -element. The final C argument maps LAMMPS atom type 4 to the MEAM C -element. +The first filename is the element library file. The list of elements following +it extracts lines from the library file and assigns numeric indices to these +elements. The second filename is the alloy parameter file, which refers to +elements using the numeric indices assigned before. +The arguments after the parameter file map LAMMPS atom types to elements, i.e. +LAMMPS atom types 1,2,3 to the MEAM Si element. The final C argument maps +LAMMPS atom type 4 to the MEAM C element. If the 2nd filename is specified as NULL, no parameter file is read, which simply means the generic parameters in the library file are @@ -122,7 +120,7 @@ that will be used with other potentials. filenames can appear in any order, e.g. "Si C" or "C Si" in the example above. However, if the 2nd filename is not NULL (as in the example above), it contains settings that are Fortran-indexed for the - elements that preceed it. Thus you need to insure you list the + elements that precede it. Thus you need to insure you list the elements between the filenames in an order consistent with how the values in the 2nd filename are indexed. See details below on the syntax for settings in the 2nd file. @@ -141,15 +139,14 @@ Cu and lat = dia or fcc. Because the library file is used by Fortran MD codes, these strings may be enclosed in single quotes, but this is not required. The other numeric parameters match values in the formulas above. The value of the "elt" string is what is used in the -pair\_coeff command to identify which settings from the library file +pair_coeff command to identify which settings from the library file you wish to read in. There can be multiple entries in the library -file with the same "elt" value; LAMMPS reads the 1st matching entry it +file with the same "elt" value; LAMMPS reads the first matching entry it finds and ignores the rest. Other parameters in the MEAM library file correspond to single-element potential parameters: - .. parsed-literal:: lat = lattice structure of reference configuration @@ -170,7 +167,6 @@ is typically 1.0 for single-element systems. The ibar parameter selects the form of the function G(Gamma) used to compute the electron density; options are - .. parsed-literal:: 0 => G = sqrt(1+Gamma) @@ -188,7 +184,6 @@ blank and comment lines (start with #) which can appear anywhere, each line has one of the following forms. Each line can also have a trailing comment (starting with #) which is ignored. - .. parsed-literal:: keyword = value @@ -198,23 +193,16 @@ trailing comment (starting with #) which is ignored. The indices I, J, K correspond to the elements selected from the MEAM library file numbered in the order of how those elements were -selected starting from 1. Thus for the example given below - +selected starting from 1. Thus for the example given before -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* library.meam Si C sic.meam Si Si Si C + pair_coeff * * library.meam Si C sic.meam Si Si Si C an index of 1 would refer to Si and an index of 2 to C. The recognized keywords for the parameter file are as follows: -Ec, alpha, rho0, delta, lattce, attrac, repuls, nn2, Cmin, Cmax, rc, delr, -augt1, gsmooth\_factor, re - -where - - .. parsed-literal:: rc = cutoff radius for cutoff function; default = 4.0 @@ -238,7 +226,7 @@ where hcp = hexagonal close-packed dim = dimer dia = diamond (interlaced fcc for alloy) - dia3= diamond structure with primary 1NN and secondary 3NN interation + dia3= diamond structure with primary 1NN and secondary 3NN interaction b1 = rock salt (NaCl structure) c11 = MoSi2 structure l12 = Cu3Au structure (lower case L, followed by 12) @@ -306,7 +294,6 @@ where N is the number of MEAM elements being used. Thus these lines - .. parsed-literal:: rho0(2) = 2.25 @@ -329,25 +316,24 @@ automatically. When parameter values are fit using the modified density function, as in more recent literature, augt1 should be set to 0. -The mixture\_ref\_t parameter is available to match results with those +The mixture_ref_t parameter is available to match results with those of previous versions of lammps (before January 2011). Newer versions of lammps, by default, use the single-element values of the t parameters to compute the background reference density. This is the proper way to compute these parameters. Earlier versions of lammps used an alloy mixture averaged value of t to compute the background -reference density. Setting mixture\_ref\_t=1 gives the old behavior. -WARNING: using mixture\_ref\_t=1 will give results that are demonstrably +reference density. Setting mixture_ref_t=1 gives the old behavior. +WARNING: using mixture_ref_t=1 will give results that are demonstrably incorrect for second-neighbor MEAM, and non-standard for first-neighbor MEAM; this option is included only for matching with previous versions of lammps and should be avoided if possible. The parameters attrac and repuls, along with the integer selection -parameter erose\_form, can be used to modify the Rose energy function +parameter erose_form, can be used to modify the Rose energy function used to compute the pair potential. This function gives the energy of the reference state as a function of interatomic spacing. The form of this function is: - .. parsed-literal:: astar = alpha \* (r/re - 1.d0) @@ -367,40 +353,35 @@ recent published MEAM parameter sets, such as :ref:`(Valone) ` in March 2009. The current version is correct, but may show different behavior compared with earlier versions of lammps with the attrac and/or repuls parameters are non-zero. To obtain the previous default - form, use erose\_form = 1 (this form does not seem to appear in the + form, use erose_form = 1 (this form does not seem to appear in the literature). An alternative form (see e.g. :ref:`(Lee2) `) is - available using erose\_form = 2. - + available using erose_form = 2. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS with user-specifiable parameters as described above. You never need to -specify a pair\_coeff command with I != J arguments for this style. +specify a pair_coeff command with I != J arguments for this style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *meam/c* style is provided in the USER-MEAMC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -415,64 +396,41 @@ limit on the number of atoms types. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style eam `, -:doc:`pair\_style meam/spline ` +:doc:`pair_coeff `, :doc:`pair_style eam `, +:doc:`pair_style meam/spline ` **Default:** none - ---------- - .. _Baskes: - - **(Baskes)** Baskes, Phys Rev B, 46, 2727-2742 (1992). .. _Gullet: - - **(Gullet)** Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003). This report may be accessed on-line via `this link `_. -.. _sandreport: http://infoserve.sandia.gov/sand\_doc/2003/038782.pdf - - +.. _sandreport: http://infoserve.sandia.gov/sand_doc/2003/038782.pdf .. _Lee: - - **(Lee)** Lee, Baskes, Phys. Rev. B, 62, 8564-8567 (2000). .. _Lee2: - - **(Lee2)** Lee, Baskes, Kim, Cho. Phys. Rev. B, 64, 184102 (2001). .. _Valone: - - **(Valone)** Valone, Baskes, Martin, Phys. Rev. B, 73, 214209 (2006). .. _Wang2: - - **(Wang)** Wang, Van Hove, Ross, Baskes, J. Chem. Phys., 121, 5410 (2004). .. _ZBL: - - **(ZBL)** J.F. Ziegler, J.P. Biersack, U. Littmark, "Stopping and Ranges of Ions in Matter", Vol 1, 1985, Pergamon Press. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_meso.rst b/doc/src/pair_meso.rst deleted file mode 100644 index b4a945409d50c3a26aa8ae90355bca2c2ea8e043..0000000000000000000000000000000000000000 --- a/doc/src/pair_meso.rst +++ /dev/null @@ -1,337 +0,0 @@ -.. index:: pair\_style edpd - -pair\_style edpd command -======================== - -pair\_style mdpd command -======================== - -pair\_style mdpd/rhosum command -=============================== - -pair\_style tdpd command -======================== - -Syntax -"""""" - - -.. parsed-literal:: - - pair_style style args - -* style = *edpd* or *mdpd* or *mdpd/rhosum* or *tdpd* -* args = list of arguments for a particular style - - .. parsed-literal:: - - *edpd* args = cutoff seed - cutoff = global cutoff for eDPD interactions (distance units) - seed = random # seed (integer) (if <= 0, eDPD will use current time as the seed) - *mdpd* args = T cutoff seed - T = temperature (temperature units) - cutoff = global cutoff for mDPD interactions (distance units) - seed = random # seed (integer) (if <= 0, mDPD will use current time as the seed) - *mdpd/rhosum* args = - *tdpd* args = T cutoff seed - T = temperature (temperature units) - cutoff = global cutoff for tDPD interactions (distance units) - seed = random # seed (integer) (if <= 0, tDPD will use current time as the seed) - - - -Examples -"""""""" - - -.. parsed-literal:: - - pair_style edpd 1.58 9872598 - pair_coeff \* \* 18.75 4.5 0.41 1.58 1.42E-5 2.0 1.58 - pair_coeff 1 1 18.75 4.5 0.41 1.58 1.42E-5 2.0 1.58 power 10.54 -3.66 3.44 -4.10 - pair_coeff 1 1 18.75 4.5 0.41 1.58 1.42E-5 2.0 1.58 power 10.54 -3.66 3.44 -4.10 kappa -0.44 -3.21 5.04 0.00 - - pair_style hybrid/overlay mdpd/rhosum mdpd 1.0 1.0 65689 - pair_coeff 1 1 mdpd/rhosum 0.75 - pair_coeff 1 1 mdpd -40.0 25.0 18.0 1.0 0.75 - - pair_style tdpd 1.0 1.58 935662 - pair_coeff \* \* 18.75 4.5 0.41 1.58 1.58 1.0 1.0E-5 2.0 - pair_coeff 1 1 18.75 4.5 0.41 1.58 1.58 1.0 1.0E-5 2.0 3.0 1.0E-5 2.0 - -Description -""""""""""" - -The *edpd* style computes the pairwise interactions and heat fluxes -for eDPD particles following the formulations in -:ref:`(Li2014\_JCP) ` and :ref:`Li2015\_CC `. The time -evolution of an eDPD particle is governed by the conservation of -momentum and energy given by - -.. image:: Eqs/pair_edpd_gov.jpg - :align: center - -where the three components of Fi -including the conservative force FijC, dissipative force FijD and random force FijR are expressed as - -.. image:: Eqs/pair_edpd_force.jpg - :align: center - -in which the exponent of the weighting function s can be defined as a temperature-dependent -variable. The heat flux between particles accounting for the -collisional heat flux qC, viscous -heat flux qV, and random heat flux -qR are given by - -.. image:: Eqs/pair_edpd_heat.jpg - :align: center - -where the mesoscopic heat friction κ is given by - -.. image:: Eqs/pair_edpd_kappa.jpg - :align: center - -with υ being the kinematic -viscosity. For more details, see Eq.(15) in :ref:`(Li2014\_JCP) `. - -The following coefficients must be defined in eDPD system for each -pair of atom types via the :doc:`pair\_coeff ` command as in -the examples above. - -* A (force units) -* gamma (force/velocity units) -* power\_f (positive real) -* cutoff (distance units) -* kappa (thermal conductivity units) -* power\_T (positive real) -* cutoff\_T (distance units) -* optional keyword = power or kappa - -The keyword *power* or *kappa* is optional. Both "power" and "kappa" -require 4 parameters c1, c2, -c4, c4 showing the temperature dependence -of the exponent
s(T) = -power\_f\*(1+c1\*(T-1)+c2\*(T-1)2 -+c3\*(T-1)3+c4\*(T-1)4)
-and of the mesoscopic heat friction
-sT(T) = -kappa\*(1+c1\*(T-1)+c2\*(T-1)2 -+c3\*(T-1)3+c4\*(T-1)4)
-If the keyword *power* or *kappa* is not specified, the eDPD system -will use constant power\_f and kappa, which is independent to -temperature changes. - - ----------- - - -The *mdpd/rhosum* style computes the local particle mass density rho -for mDPD particles by kernel function interpolation. - -The following coefficients must be defined for each pair of atom types -via the :doc:`pair\_coeff ` command as in the examples above. - -* cutoff (distance units) - - ----------- - - -The *mdpd* style computes the many-body interactions between mDPD -particles following the formulations in -:ref:`(Li2013\_POF) `. The dissipative and random forces are in -the form same as the classical DPD, but the conservative force is -local density dependent, which are given by - -.. image:: Eqs/pair_mdpd_force.jpg - :align: center - -where the first term in FC with a -negative coefficient A < 0 stands for an attractive force within an -interaction range rc, and the second -term with B > 0 is the density-dependent repulsive force within an -interaction range rd. - -The following coefficients must be defined for each pair of atom types via the -:doc:`pair\_coeff ` command as in the examples above. - -* A (force units) -* B (force units) -* gamma (force/velocity units) -* cutoff\_c (distance units) -* cutoff\_d (distance units) - - ----------- - - -The *tdpd* style computes the pairwise interactions and chemical -concentration fluxes for tDPD particles following the formulations in -:ref:`(Li2015\_JCP) `. The time evolution of a tDPD particle is -governed by the conservation of momentum and concentration given by - -.. image:: Eqs/pair_tdpd_gov.jpg - :align: center - -where the three components of Fi -including the conservative force FijC, dissipative force FijD and random force FijR are expressed as - -.. image:: Eqs/pair_tdpd_force.jpg - :align: center - -The concentration flux between two tDPD particles includes the Fickian -flux QijD and random flux -QijR, which are given by - -.. image:: Eqs/pair_tdpd_flux.jpg - :align: center - -where the parameters kappa and epsilon determine the strength of the -Fickian and random fluxes. ms -is the mass of a single solute molecule. In general, ms is much smaller than the mass of -a tDPD particle m. For more details, see -:ref:`(Li2015\_JCP) `. - -The following coefficients must be defined for each pair of atom types via the -:doc:`pair\_coeff ` command as in the examples above. - -* A (force units) -* gamma (force/velocity units) -* power\_f (positive real) -* cutoff (distance units) -* cutoff\_CC (distance units) -* kappa\_i (diffusivity units) -* epsilon\_i (diffusivity units) -* power\_cc\_i (positive real) - -The last 3 values must be repeated Nspecies times, so that values for -each of the Nspecies chemical species are specified, as indicated by -the "I" suffix. In the first pair\_coeff example above for pair\_style -tdpd, Nspecies = 1. In the second example, Nspecies = 2, so 3 -additional coeffs are specified (for species 2). - - ----------- - - -**Example scripts** - -There are example scripts for using all these pair styles in -examples/USER/meso. The example for an eDPD simulation models heat -conduction with source terms analog of periodic Poiseuille flow -problem. The setup follows Fig.12 in :ref:`(Li2014\_JCP) `. The -output of the short eDPD simulation (about 2 minutes on a single core) -gives a temperature and density profiles as - -.. image:: JPG/examples_edpd.jpg - :align: center - -The example for a mDPD simulation models the oscillations of a liquid -droplet started from a liquid film. The mDPD parameters are adopted -from :ref:`(Li2013\_POF) `. The short mDPD run (about 2 minutes -on a single core) generates a particle trajectory which can -be visualized as follows. - -.. image:: JPG/examples_mdpd_first.jpg - :target: JPG/examples_mdpd.gif - :align: center - -.. image:: JPG/examples_mdpd_last.jpg - :align: center - -The first image is the initial state of the simulation. If you -click it a GIF movie should play in your browser. The second image -is the final state of the simulation. - -The example for a tDPD simulation computes the effective diffusion -coefficient of a tDPD system using a method analogous to the periodic -Poiseuille flow. The tDPD system is specified with two chemical -species, and the setup follows Fig.1 in -:ref:`(Li2015\_JCP) `. The output of the short tDPD simulation -(about one and a half minutes on a single core) gives the -concentration profiles of the two chemical species as - -.. image:: JPG/examples_tdpd.jpg - :align: center - - ----------- - - -**Mixing, shift, table, tail correction, restart, rRESPA info**\ : - -The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not support -mixing. Thus, coefficients for all I,J pairs must be specified explicitly. - -The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not support -the :doc:`pair\_modify ` shift, table, and tail options. - -The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not write -information to :doc:`binary restart files `. Thus, you need -to re-specify the pair\_style and pair\_coeff commands in an input script -that reads a restart file. - -Restrictions -"""""""""""" - - -The pair styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* are part of -the USER-MESO package. It is only enabled if LAMMPS was built with -that package. See the :doc:`Build package ` doc page for -more info. - -Related commands -"""""""""""""""" - -:doc:`pair\_coeff `, :doc:`fix mvv/dpd `, -:doc:`fix mvv/edpd `, :doc:`fix mvv/tdpd `, -:doc:`fix edpd/source `, :doc:`fix tdpd/source `, -:doc:`compute edpd/temp/atom `, -:doc:`compute tdpd/cc/atom ` - -**Default:** none - - ----------- - - -.. _Li2014\_JCP: - - - -**(Li2014\_JCP)** Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, -265: 113-127 (2014). DOI: 10.1016/j.jcp.2014.02.003. - -.. _Li2015\_CC: - - - -**(Li2015\_CC)** Li, Tang, Li, Karniadakis, Chem Commun, 51: 11038-11040 -(2015). DOI: 10.1039/C5CC01684C. - -.. _Li2013\_POF: - - - -**(Li2013\_POF)** Li, Hu, Wang, Ma, Zhou, Phys Fluids, 25: 072103 (2013). -DOI: 10.1063/1.4812366. - -.. _Li2015\_JCP: - - - -**(Li2015\_JCP)** Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, -143: 014101 (2015). DOI: 10.1063/1.4923254. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_mesocnt.rst b/doc/src/pair_mesocnt.rst index 30de8a07aa17e0f0ddddedcb0bf3538ee00ae271..6d9ba79a31750623e3885eb08d5c254a1f8ee4fb 100644 --- a/doc/src/pair_mesocnt.rst +++ b/doc/src/pair_mesocnt.rst @@ -1,24 +1,22 @@ -.. index:: pair\_style mesocnt +.. index:: pair_style mesocnt -pair\_style mesocnt command -=========================== +pair_style mesocnt command +========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style mesocnt Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style mesocnt - pair_coeff \* \* 10_10.cnt + pair_coeff * * 10_10.cnt Description """"""""""" @@ -46,17 +44,17 @@ potential. In LAMMPS, cylindrical segments are represented by bonds. Each segment is defined by its two end points ("nodes") which correspond to atoms in LAMMPS. For the exact functional form of the potential -and implementation details, the reader is referred to the -original papers :ref:`(Volkov1) ` and +and implementation details, the reader is referred to the +original papers :ref:`(Volkov1) ` and :ref:`(Volkov2) `. -The potential requires tabulated data provided in a single ASCII -text file specified in the :doc:`pair\_coeff ` command. +The potential requires tabulated data provided in a single ASCII +text file specified in the :doc:`pair_coeff ` command. The first line of the file provides a time stamp and general information. The second line lists four integers giving the number of data points provided in the subsequent four -data tables. The third line lists four floating point numbers: -the CNT radius R, the LJ parameter sigma and two numerical +data tables. The third line lists four floating point numbers: +the CNT radius R, the LJ parameter sigma and two numerical parameters delta1 and delta2. These four parameters are given in Angstroms. This is followed by four data tables each separated by a single empty line. The first two tables have two columns @@ -66,11 +64,11 @@ array and list the parameters Phi and uSemiParallel respectively. uInfParallel and uSemiParallel are given in eV/Angstrom, Phi is given in eV and Gamma is unitless. -Potential files for CNTs can be readily generated using the freely +Potential files for CNTs can be readily generated using the freely available code provided on .. parsed-literal:: - + https://github.com/phankl/cntpot Using the same approach, it should also be possible to @@ -89,7 +87,7 @@ boron nitride nanotubes. The *mesocnt* style requires CNTs to be represented as a chain of atoms connected by bonds. Atoms need - to be numbered consecutively within one chain. + to be numbered consecutively within one chain. Atoms belonging to different CNTs need to be assigned different molecule IDs. @@ -97,34 +95,29 @@ A full summary of the method and LAMMPS implementation details is expected to soon become available in Computer Physics Communications. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. -The *mesocnt* pair style do not write their information to :doc:`binary restart files `, +The *mesocnt* pair style do not write their information to :doc:`binary restart files `, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair\_style and pair\_coeff commands in +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -134,28 +127,17 @@ This pair potential requires the :doc:`newton ` setting to be Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Volkov1: - - **(Volkov1)** Volkov and Zhigilei, J Phys Chem C, 114, 5513 (2010). .. _Volkov2: - - -**(Volkov2)** Volkov, Simov and Zhigilei, APS Meeting Abstracts, +**(Volkov2)** Volkov, Simov and Zhigilei, APS Meeting Abstracts, Q31.013 (2008). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_mesodpd.rst b/doc/src/pair_mesodpd.rst new file mode 100644 index 0000000000000000000000000000000000000000..b2e8507d61b0679b5fa1776b3dcac6202eb15a62 --- /dev/null +++ b/doc/src/pair_mesodpd.rst @@ -0,0 +1,328 @@ +.. index:: pair_style edpd + +pair_style edpd command +======================= + +pair_style mdpd command +======================= + +pair_style mdpd/rhosum command +============================== + +pair_style tdpd command +======================= + +Syntax +"""""" + +.. code-block:: LAMMPS + + pair_style style args + +* style = *edpd* or *mdpd* or *mdpd/rhosum* or *tdpd* +* args = list of arguments for a particular style + + .. parsed-literal:: + + *edpd* args = cutoff seed + cutoff = global cutoff for eDPD interactions (distance units) + seed = random # seed (integer) (if <= 0, eDPD will use current time as the seed) + *mdpd* args = T cutoff seed + T = temperature (temperature units) + cutoff = global cutoff for mDPD interactions (distance units) + seed = random # seed (integer) (if <= 0, mDPD will use current time as the seed) + *mdpd/rhosum* args = + *tdpd* args = T cutoff seed + T = temperature (temperature units) + cutoff = global cutoff for tDPD interactions (distance units) + seed = random # seed (integer) (if <= 0, tDPD will use current time as the seed) + +Examples +"""""""" + +.. code-block:: LAMMPS + + pair_style edpd 1.58 9872598 + pair_coeff * * 18.75 4.5 0.41 1.58 1.42E-5 2.0 1.58 + pair_coeff 1 1 18.75 4.5 0.41 1.58 1.42E-5 2.0 1.58 power 10.54 -3.66 3.44 -4.10 + pair_coeff 1 1 18.75 4.5 0.41 1.58 1.42E-5 2.0 1.58 power 10.54 -3.66 3.44 -4.10 kappa -0.44 -3.21 5.04 0.00 + + pair_style hybrid/overlay mdpd/rhosum mdpd 1.0 1.0 65689 + pair_coeff 1 1 mdpd/rhosum 0.75 + pair_coeff 1 1 mdpd -40.0 25.0 18.0 1.0 0.75 + + pair_style tdpd 1.0 1.58 935662 + pair_coeff * * 18.75 4.5 0.41 1.58 1.58 1.0 1.0E-5 2.0 + pair_coeff 1 1 18.75 4.5 0.41 1.58 1.58 1.0 1.0E-5 2.0 3.0 1.0E-5 2.0 + +Description +""""""""""" + +The *edpd* style computes the pairwise interactions and heat fluxes +for eDPD particles following the formulations in +:ref:`(Li2014_JCP) ` and :ref:`Li2015_CC `. The time +evolution of an eDPD particle is governed by the conservation of +momentum and energy given by + +.. math:: + + \frac{\mathrm{d}^2 \mathbf{r}_i}{\mathrm{d} t^2}= + \frac{\mathrm{d} \mathbf{v}_i}{\mathrm{d} t} + =\mathbf{F}_{i}=\sum_{i\neq j}(\mathbf{F}_{ij}^{C}+\mathbf{F}_{ij}^{D}+\mathbf{F}_{ij}^{R}) \\ + C_v\frac{\mathrm{d} T_i}{\mathrm{d} t}= q_{i} = \sum_{i\neq j}(q_{ij}^{C}+q_{ij}^{V}+q_{ij}^{R}), + +where the three components of :math:`F_{i}` including the conservative +force :math:`F_{ij}^C`, dissipative force :math:`F_{ij}^D` and random +force :math:`F_{ij}^R` are expressed as + +.. math:: + + \mathbf{F}_{ij}^{C} & = \alpha_{ij}{\omega_{C}}(r_{ij})\mathbf{e}_{ij} \\ + \mathbf{F}_{ij}^{D} & = -\gamma {\omega_{D}}(r_{ij})(\mathbf{e}_{ij} \cdot \mathbf{v}_{ij})\mathbf{e}_{ij} \\ + \mathbf{F}_{ij}^{R} & = \sigma {\omega_{R}}(r_{ij}){\xi_{ij}}\Delta t^{-1/2} \mathbf{e}_{ij} \\ + \omega_{C}(r) & = 1 - r/r_c \\ + \alpha_{ij} & = A\cdot k_B(T_i + T_j)/2 \\ + \omega_{D}(r) & = \omega^2_{R}(r) = (1-r/r_c)^s \\ + \sigma_{ij}^2 & = 4\gamma k_B T_i T_j/(T_i + T_j) + +in which the exponent of the weighting function *s* can be defined as a +temperature-dependent variable. The heat flux between particles +accounting for the collisional heat flux :math:`q^C`, viscous heat flux +:math:`q^V`, and random heat flux :math:`q^R` are given by + +.. math:: + + q_i^C & = \sum_{j \ne i} k_{ij} \omega_{CT}(r_{ij}) \left( \frac{1}{T_i} - \frac{1}{T_j} \right) \\ + q_i^V & = \frac{1}{2 C_v}\sum_{j \ne i}{ \left\{ \omega_D(r_{ij})\left[\gamma_{ij} \left( \mathbf{e}_{ij} \cdot \mathbf{v}_{ij} \right)^2 - \frac{\left( \sigma _{ij} \right)^2}{m}\right] - \sigma _{ij} \omega_R(r_{ij})\left( \mathbf{e}_{ij} \cdot \mathbf{v}_{ij} \right){\xi_{ij}} \right\} } \\ + q_i^R & = \sum_{j \ne i} \beta _{ij} \omega_{RT}(r_{ij}) d {t^{ - 1/2}} \xi_{ij}^e \\ + \omega_{CT}(r) & =\omega_{RT}^2(r)=\left(1-r/r_{ct}\right)^{s_T} \\ + k_{ij} & =C_v^2\kappa(T_i + T_j)^2/4k_B \\ + \beta_{ij}^2 & = 2k_Bk_{ij} + +where the mesoscopic heat friction :math:`\kappa` is given by + +.. math:: + + \kappa = \frac{315k_B\upsilon }{2\pi \rho C_v r_{ct}^5}\frac{1}{Pr}, + +with :math:`\upsilon` being the kinematic viscosity. For more details, +see Eq.(15) in :ref:`(Li2014_JCP) `. + +The following coefficients must be defined in eDPD system for each +pair of atom types via the :doc:`pair_coeff ` command as in +the examples above. + +* A (force units) +* :math:`\gamma` (force/velocity units) +* power_f (positive real) +* cutoff (distance units) +* kappa (thermal conductivity units) +* power_T (positive real) +* cutoff_T (distance units) +* optional keyword = power or kappa + +The keyword *power* or *kappa* is optional. Both "power" and "kappa" +require 4 parameters :math:`c_1, c_2, c_3, c_4` showing the temperature +dependence of the exponent :math:`s(T) = \mathrm{power}_f ( 1+c_1 +(T-1) + c_2 (T-1)^2 + c_3 (T-1)^3 + c_4 (T-1)^4 )` and of the mesoscopic +heat friction :math:`s_T(T) = \kappa (1 + c_1 (T-1) + c_2 (T-1)^2 + c_3 +(T-1)^3 + c_4 (T-1)^4)`. If the keyword *power* or *kappa* is not +specified, the eDPD system will use constant power_f and +:math:`\kappa`, which is independent to temperature changes. + +---------- + +The *mdpd/rhosum* style computes the local particle mass density +:math:`\rho` for mDPD particles by kernel function interpolation. + +The following coefficients must be defined for each pair of atom types +via the :doc:`pair_coeff ` command as in the examples above. + +* cutoff (distance units) + +---------- + +The *mdpd* style computes the many-body interactions between mDPD +particles following the formulations in +:ref:`(Li2013_POF) `. The dissipative and random forces are in +the form same as the classical DPD, but the conservative force is +local density dependent, which are given by + +.. math:: + + \mathbf{F}_{ij}^C & = Aw_c(r_{ij})\mathbf{e}_{ij} + B(\rho_i+\rho_j)w_d(r_{ij})\mathbf{e}_{ij} \\ + \mathbf{F}_{ij}^{D} & = -\gamma {\omega_{D}}(r_{ij})(\mathbf{e}_{ij} \cdot \mathbf{v}_{ij})\mathbf{e}_{ij} \\ + \mathbf{F}_{ij}^{R} & = \sigma {\omega_{R}}(r_{ij}){\xi_{ij}}\Delta t^{-1/2} \mathbf{e}_{ij} + +where the first term in :math:`F_C` with a negative coefficient :math:`A +< 0` stands for an attractive force within an interaction range +:math:`r_c`, and the second term with :math:`B > 0` is the +density-dependent repulsive force within an interaction range +:math:`r_d`. + +The following coefficients must be defined for each pair of atom types via the +:doc:`pair_coeff ` command as in the examples above. + +* A (force units) +* B (force units) +* :math:`\gamma` (force/velocity units) +* cutoff_c (distance units) +* cutoff_d (distance units) + +---------- + +The *tdpd* style computes the pairwise interactions and chemical +concentration fluxes for tDPD particles following the formulations in +:ref:`(Li2015_JCP) `. The time evolution of a tDPD particle is +governed by the conservation of momentum and concentration given by + +.. math:: + + \frac{\mathrm{d}^2 \mathbf{r}_i}{\mathrm{d} t^2} & = \frac{\mathrm{d} \mathbf{v}_i}{\mathrm{d} t}=\mathbf{F}_{i}=\sum_{i\neq j}(\mathbf{F}_{ij}^{C}+\mathbf{F}_{ij}^{D}+\mathbf{F}_{ij}^{R}) \\ + \frac{\mathrm{d} C_{i}}{\mathrm{d} t} & = Q_{i} = \sum_{i\neq j}(Q_{ij}^{D}+Q_{ij}^{R}) + Q_{i}^{S} + +where the three components of :math:`F_{i}` including the conservative +force :math:`F_{ij}^C`, dissipative force :math:`F_{ij}^C` and random +force :math:`F_{ij}^C` are expressed as + +.. math:: + + \mathbf{F}_{ij}^{C} & = A{\omega_{C}}(r_{ij})\mathbf{e}_{ij} \\ + \mathbf{F}_{ij}^{D} & = -\gamma {\omega_{D}}(r_{ij})(\mathbf{e}_{ij} \cdot \mathbf{v}_{ij})\mathbf{e}_{ij} \\ + \mathbf{F}_{ij}^{R} & = \sigma {\omega_{R}}(r_{ij}){\xi_{ij}}\Delta t^{-1/2} \mathbf{e}_{ij} \\ + \omega_{C}(r) & = 1 - r/r_c \\ + \omega_{D}(r) & = \omega^2_{R}(r) = (1-r/r_c)^{\rm power_f} \\ + \sigma^2 = 2\gamma k_B T + +The concentration flux between two tDPD particles includes the Fickian +flux :math:`Q_{ij}^D` and random flux :math:`Q_{ij}^R`, which are given +by + +.. math:: + + Q_{ij}^D & = -\kappa_{ij} w_{DC}(r_{ij}) \left( C_i - C_j \right) \\ + Q_{ij}^R & = \epsilon_{ij}\left( C_i + C_j \right) w_{RC}(r_{ij}) \xi_{ij} \\ + w_{DC}(r_{ij}) & =w^2_{RC}(r_{ij}) = (1 - r/r_{cc})^{\rm power_{cc}} \\ + \epsilon_{ij}^2 & = m_s^2\kappa_{ij}\rho + +where the parameters kappa and epsilon determine the strength of the +Fickian and random fluxes. :math:`m_s` is the mass of a single solute +molecule. In general, :math:`m_s` is much smaller than the mass of a +tDPD particle *m*\ . For more details, see :ref:`(Li2015_JCP) +`. + +The following coefficients must be defined for each pair of atom types via the +:doc:`pair_coeff ` command as in the examples above. + +* A (force units) +* :math:`\gamma` (force/velocity units) +* power_f (positive real) +* cutoff (distance units) +* cutoff_CC (distance units) +* :math:`\kappa_i` (diffusivity units) +* :math:`\epsilon_i` (diffusivity units) +* power_cc_i (positive real) + +The last 3 values must be repeated Nspecies times, so that values for +each of the Nspecies chemical species are specified, as indicated by +the "I" suffix. In the first pair_coeff example above for pair_style +tdpd, Nspecies = 1. In the second example, Nspecies = 2, so 3 +additional coeffs are specified (for species 2). + +---------- + +**Example scripts** + +There are example scripts for using all these pair styles in +examples/USER/meso. The example for an eDPD simulation models heat +conduction with source terms analog of periodic Poiseuille flow +problem. The setup follows Fig.12 in :ref:`(Li2014_JCP) `. The +output of the short eDPD simulation (about 2 minutes on a single core) +gives a temperature and density profiles as + +.. image:: JPG/examples_edpd.jpg + :align: center + +The example for a mDPD simulation models the oscillations of a liquid +droplet started from a liquid film. The mDPD parameters are adopted +from :ref:`(Li2013_POF) `. The short mDPD run (about 2 minutes +on a single core) generates a particle trajectory which can +be visualized as follows. + +.. image:: JPG/examples_mdpd_first.jpg + :target: JPG/examples_mdpd.gif + :align: center + +.. image:: JPG/examples_mdpd_last.jpg + :align: center + +The first image is the initial state of the simulation. If you +click it a GIF movie should play in your browser. The second image +is the final state of the simulation. + +The example for a tDPD simulation computes the effective diffusion +coefficient of a tDPD system using a method analogous to the periodic +Poiseuille flow. The tDPD system is specified with two chemical +species, and the setup follows Fig.1 in +:ref:`(Li2015_JCP) `. The output of the short tDPD simulation +(about one and a half minutes on a single core) gives the +concentration profiles of the two chemical species as + +.. image:: JPG/examples_tdpd.jpg + :align: center + +---------- + +**Mixing, shift, table, tail correction, restart, rRESPA info**\ : + +The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not support +mixing. Thus, coefficients for all I,J pairs must be specified explicitly. + +The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not support +the :doc:`pair_modify ` shift, table, and tail options. + +The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not write +information to :doc:`binary restart files `. Thus, you need +to re-specify the pair_style and pair_coeff commands in an input script +that reads a restart file. + +Restrictions +"""""""""""" + +The pair styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* are part of +the USER-MESODPD package. It is only enabled if LAMMPS was built with +that package. See the :doc:`Build package ` doc page for +more info. + +Related commands +"""""""""""""""" + +:doc:`pair_coeff `, :doc:`fix mvv/dpd `, +:doc:`fix mvv/edpd `, :doc:`fix mvv/tdpd `, +:doc:`fix edpd/source `, :doc:`fix tdpd/source `, +:doc:`compute edpd/temp/atom `, +:doc:`compute tdpd/cc/atom ` + +**Default:** none + +---------- + +.. _Li2014_JCP: + +**(Li2014_JCP)** Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, +265: 113-127 (2014). DOI: 10.1016/j.jcp.2014.02.003. + +.. _Li2015_CC: + +**(Li2015_CC)** Li, Tang, Li, Karniadakis, Chem Commun, 51: 11038-11040 +(2015). DOI: 10.1039/C5CC01684C. + +.. _Li2013_POF: + +**(Li2013_POF)** Li, Hu, Wang, Ma, Zhou, Phys Fluids, 25: 072103 (2013). +DOI: 10.1063/1.4812366. + +.. _Li2015_JCP: + +**(Li2015_JCP)** Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, +143: 014101 (2015). DOI: 10.1063/1.4923254. diff --git a/doc/src/pair_mgpt.rst b/doc/src/pair_mgpt.rst index 1c43d47b0074c276ab96b41fb242ae0efc9e1d9a..57fec82a7b8cc2c1bef1be3633a9e06ab96ffaa8 100644 --- a/doc/src/pair_mgpt.rst +++ b/doc/src/pair_mgpt.rst @@ -1,28 +1,26 @@ -.. index:: pair\_style mgpt +.. index:: pair_style mgpt -pair\_style mgpt command -======================== +pair_style mgpt command +======================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style mgpt Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style mgpt - pair_coeff \* \* Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin Omega + pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin Omega cp ~/lammps/potentials/Ta6.8x.mgpt.parmin parmin cp ~/lammps/potentials/Ta6.8x.mgpt.potin potin - pair_coeff \* \* parmin potin Omega volpress yes nbody 1234 precision double - pair_coeff \* \* parmin potin Omega volpress yes nbody 12 + pair_coeff * * parmin potin Omega volpress yes nbody 1234 precision double + pair_coeff * * parmin potin Omega volpress yes nbody 12 Description """"""""""" @@ -33,21 +31,25 @@ multi-ion interatomic potentials in d-band transition metals, with a volume-dependent, real-space total-energy functional for the N-ion elemental bulk material in the form -.. image:: Eqs/pair_mgpt.jpg - :align: center +.. math:: + + E_{\rm tot}({\bf R}_1 \ldots {\bf R}_N) = NE_{\rm vol}(\Omega ) + + \frac{1}{2} \sum _{i,j} \mbox{}^\prime \ v_2(ij;\Omega ) + + \frac{1}{6} \sum _{i,j,k} \mbox{}^\prime \ v_3(ijk;\Omega ) + + \frac{1}{24} \sum _{i,j,k,l} \mbox{}^\prime \ v_4(ijkl;\Omega ) where the prime on each summation sign indicates the exclusion of all self-interaction terms from the summation. The leading volume term -E\_vol as well as the two-ion central-force pair potential v\_2 and the -three- and four-ion angular-force potentials, v\_3 and v\_4, depend +E_vol as well as the two-ion central-force pair potential v_2 and the +three- and four-ion angular-force potentials, v_3 and v_4, depend explicitly on the atomic volume Omega, but are structure independent and transferable to all bulk ion configurations, either ordered or disordered, and with of without the presence of point and line defects. The simplified model GPT or MGPT (:ref:`Moriarty2 `, -:ref:`Moriarty3 `), which retains the form of E\_tot and permits +:ref:`Moriarty3 `), which retains the form of E_tot and permits more efficient large-scale atomistic simulations, derives from the GPT -through a series of systematic approximations applied to E\_vol and the -potentials v\_n that are valid for mid-period transition metals with +through a series of systematic approximations applied to E_vol and the +potentials v_n that are valid for mid-period transition metals with nearly half-filled d bands. Both analytic (:ref:`Moriarty2 `) and matrix @@ -62,12 +64,12 @@ algorithms have been developed independently by Glosli (:ref:`Oppelstrup `) The *mgpt* pair style calculates forces, energies, and the total -energy per atom, E\_tot/N, using the Oppelstrup matrix-MGPT algorithm. +energy per atom, E_tot/N, using the Oppelstrup matrix-MGPT algorithm. Input potential and control data are entered through the -:doc:`pair\_coeff ` command. Each material treated requires +:doc:`pair_coeff ` command. Each material treated requires input parmin and potin potential files, as shown in the above examples, as well as specification by the user of the initial atomic -volume Omega through pair\_coeff. At the beginning of a time step in +volume Omega through pair_coeff. At the beginning of a time step in any simulation, the total volume of the simulation cell V should always be equal to Omega\*N, where N is the number of metal ions present, taking into account the presence of any vacancies and/or @@ -77,25 +79,25 @@ style, Omega, V and N all remain constant throughout the simulation and thus are equal to their initial values. In a constant-stress simulation, the cell volume V will change (slowly) as the simulation proceeds. After each time step, the atomic volume should be updated -by the code as Omega = V/N. In addition, the volume term E\_vol and -the potentials v\_2, v\_3 and v\_4 have to be removed at the end of the +by the code as Omega = V/N. In addition, the volume term E_vol and +the potentials v_2, v_3 and v_4 have to be removed at the end of the time step, and then respecified at the new value of Omega. In all simulations, Omega must remain within the defined volume range for -E\_vol and the potentials for the given material. +E_vol and the potentials for the given material. -The default option volpress yes in the :doc:`pair\_coeff ` -command includes all volume derivatives of E\_tot required to calculate +The default option volpress yes in the :doc:`pair_coeff ` +command includes all volume derivatives of E_tot required to calculate the stress tensor and pressure correctly. The option volpress no disregards the pressure contribution resulting from the volume term -E\_vol, and can be used for testing and analysis purposes. The +E_vol, and can be used for testing and analysis purposes. The additional optional variable nbody controls the specific terms in -E\_tot that are calculated. The default option and the normal option +E_tot that are calculated. The default option and the normal option for mid-period transition and actinide metals is nbody 1234 for which -all four terms in E\_tot are retained. The option nbody 12, for +all four terms in E_tot are retained. The option nbody 12, for example, retains only the volume term and the two-ion pair potential term and can be used for GPT series-end transition metals that can be -well described without v\_3 and v\_4. The nbody option can also be used -to test or analyze the contribution of any of the four terms in E\_tot +well described without v_3 and v_4. The nbody option can also be used +to test or analyze the contribution of any of the four terms in E_tot to a given calculated property. The *mgpt* pair style makes extensive use of matrix algebra and @@ -109,7 +111,7 @@ routines. For x-86 machines, there is a provided Makefile.mgptfast which enables the fast algebra routines, i.e. build LAMMPS with "make mgptfast". The user will be informed in the output files of the matrix kernels in use. To further improve speed, on x86 the option -precision single can be added to the :doc:`pair\_coeff ` +precision single can be added to the :doc:`pair_coeff ` command line, which improves speed (up to a factor of two) at the cost of doing matrix calculations with 7 digit precision instead of the default 16. For consistency the default option can be specified @@ -145,31 +147,26 @@ before proceeding to more complex simulations. as provided, it will build with whatever low-level compiler (g++, icc, etc) is the default for your MPI installation. - ---------- - **Mixing, shift, table tail correction, restart**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -needs to re-specify the pair\_style and pair\_coeff commands in an input +needs to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the USER-MGPT package and is only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page for more info. @@ -182,7 +179,7 @@ energies in Rydbergs and distances in Bohr radii. The *mgpt* pair style converts Rydbergs to Hartrees to make the potential files compatible with LAMMPS electron :doc:`units `. -The form of E\_tot used in the *mgpt* pair style is only appropriate +The form of E_tot used in the *mgpt* pair style is only appropriate for elemental bulk solids and liquids. This includes solids with point and extended defects such as vacancies, interstitials, grain boundaries and dislocations. Alloys and free surfaces, however, @@ -201,54 +198,37 @@ such cases will be added over time. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` Default """"""" -The options defaults for the :doc:`pair\_coeff ` command are +The options defaults for the :doc:`pair_coeff ` command are volpress yes, nbody 1234, and precision double. - ---------- - .. _Moriarty1: - - **(Moriarty1)** Moriarty, Physical Review B, 38, 3199 (1988). .. _Moriarty2: - - **(Moriarty2)** Moriarty, Physical Review B, 42, 1609 (1990). Moriarty, Physical Review B 49, 12431 (1994). .. _Moriarty3: - - **(Moriarty3)** Moriarty, Benedict, Glosli, Hood, Orlikowski, Patel, Soderlind, Streitz, Tang, and Yang, Journal of Materials Research, 21, 563 (2006). .. _Glosli: - - **(Glosli)** Glosli, unpublished, 2005. Streitz, Glosli, Patel, Chan, Yates, de Supinski, Sexton and Gunnels, Journal of Physics: Conference Series, 46, 254 (2006). .. _Oppelstrup: - - **(Oppelstrup)** Oppelstrup, unpublished, 2015. Oppelstrup and Moriarty, to be published. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_mie.rst b/doc/src/pair_mie.rst index ba948304751d7938fd5168ba9e216694e2787378..527a568728797f5cf131f56e908bec7c8f258d4b 100644 --- a/doc/src/pair_mie.rst +++ b/doc/src/pair_mie.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style mie/cut +.. index:: pair_style mie/cut -pair\_style mie/cut command -=========================== +pair_style mie/cut command +========================== -pair\_style mie/cut/gpu command -=============================== +pair_style mie/cut/gpu command +============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style mie/cut cutoff @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style mie/cut 10.0 pair_coeff 1 1 0.72 3.40 23.00 6.66 @@ -32,22 +30,25 @@ Description The *mie/cut* style computes the Mie potential, given by -.. image:: Eqs/pair_mie.jpg - :align: center +.. math:: + + E = C \epsilon \left[ \left(\frac{\sigma}{r}\right)^{\gamma_{rep}} - \left(\frac{\sigma}{r}\right)^{\gamma_{att}} \right] + \qquad r < r_c Rc is the cutoff and C is a function that depends on the repulsive and attractive exponents, given by: -.. image:: Eqs/pair_mie2.jpg - :align: center +.. math:: + + C = \left(\frac{\gamma_{rep}}{\gamma_{rep}-\gamma_{att}}\right) \left(\frac{\gamma_{rep}}{\gamma_{att}}\right)^{\left(\frac{\gamma_{att}}{\gamma_{rep}-\gamma_{att}}\right)} Note that for 12/6 exponents, C is equal to 4 and the formula is the same as the standard Lennard-Jones potential. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * epsilon (energy units) @@ -57,12 +58,10 @@ commands, or by mixing as described below: * cutoff (distance units) The last coefficient is optional. If not specified, the global -cutoff specified in the pair\_style command is used. - +cutoff specified in the pair_style command is used. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients @@ -70,57 +69,44 @@ and cutoff distance for all of the mie/cut pair styles can be mixed. If not explicitly defined, both the repulsive and attractive gamma exponents for different atoms will be calculated following the same mixing rule defined for distances. The default mix value is -*geometric*\ . See the "pair\_modify" command for details. +*geometric*\ . See the "pair_modify" command for details. -This pair style supports the :doc:`pair\_modify ` shift +This pair style supports the :doc:`pair_modify ` shift option for the energy of the pair interaction. -This pair style supports the :doc:`pair\_modify ` tail +This pair style supports the :doc:`pair_modify ` tail option for adding a long-range tail correction to the energy and pressure of the pair interaction. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style supports the use of the *inner*\ , *middle*\ , and *outer* -keywords of the :doc:`run\_style respa ` command, meaning the +keywords of the :doc:`run_style respa ` command, meaning the pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the :doc:`run\_style ` command for +the rRESPA hierarchy. See the :doc:`run_style ` command for details. - ---------- - Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Mie: - - **(Mie)** G. Mie, Ann Phys, 316, 657 (1903). .. _Avendano: - - **(Avendano)** C. Avendano, T. Lafitte, A. Galindo, C. S. Adjiman, G. Jackson, E. Muller, J Phys Chem B, 115, 11154 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_mm3_switch3_coulgauss_long.rst b/doc/src/pair_mm3_switch3_coulgauss_long.rst index 3f3a7cbc72a285448f9e8b4d30e301542563c29e..1338682b95ed78dbd4963786185ef8dc5f5b8e47 100644 --- a/doc/src/pair_mm3_switch3_coulgauss_long.rst +++ b/doc/src/pair_mm3_switch3_coulgauss_long.rst @@ -1,20 +1,18 @@ -.. index:: pair\_style mm3/switch3/coulgauss/long +.. index:: pair_style mm3/switch3/coulgauss/long -pair\_style mm3/switch3/coulgauss/long command +pair_style mm3/switch3/coulgauss/long command ============================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *mm3/switch3/coulgauss/long* * args = list of arguments for a particular style - .. parsed-literal:: *mm3/switch3/coulgauss/long* args = cutoff (cutoff2) width @@ -25,8 +23,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style mm3/switch3/coulgauss/long 12.0 3.0 pair_coeff 1 0.2 2.5 1.2 @@ -40,45 +37,53 @@ Description The *mm3/switch3/coulgauss/long* style evaluates the MM3 vdW potential :ref:`(Allinger) ` -.. image:: Eqs/pair_mm3_switch3.jpg - :align: center +.. math:: + + E & = \epsilon_{ij} \left[ -2.25 \left(\frac{r_{v,ij}}{r_{ij}}\right)^6 + 1.84(10)^5 \exp\left[-12.0 r_{ij}/r_{v,ij}\right] \right] S_3(r_{ij}) \\ + r_{v,ij} & = r_{v,i} + r_{v,j} \\ + \epsilon_{ij} & = \sqrt{\epsilon_i \epsilon_j} -, which goes smoothly to zero at the cutoff r\_c as defined +, which goes smoothly to zero at the cutoff r_c as defined by the switching function -.. image:: Eqs/pair_switch3.jpg - :align: center +.. math:: + + S_3(r) = \left\lbrace \begin{array}{ll} + 1 & \quad\mathrm{if}\quad r < r_\mathrm{c} - w \\ + 3x^2 - 2x^3 & \quad\mathrm{if}\quad r < r_\mathrm{c} \quad\mathrm{with\quad} x=\frac{r_\mathrm{c} - r}{w} \\ + 0 & \quad\mathrm{if}\quad r >= r_\mathrm{c} + \end{array} \right. where w is the width defined in the arguments. This potential is combined with Coulomb interaction between Gaussian charge densities: -.. image:: Eqs/pair_coulgauss.jpg - :align: center +.. math:: -where qi and qj are the -charges on the 2 atoms, epsilon is the dielectric constant which -can be set by the :doc:`dielectric ` command, gamma\_i and gamma\_j -are the widths of the Gaussian charge distribution and erf() is the error-function. -This style has to be used in conjunction with the :doc:`kspace\_style ` command + E = \frac{q_i q_j \mathrm{erf}\left( r/\sqrt{\gamma_1^2+\gamma_2^2} \right) }{\epsilon r_{ij}} + +where :math:`q_i` and :math:`q_j` are the charges on the 2 atoms, +epsilon is the dielectric constant which can be set by the +:doc:`dielectric ` command, ::math:`\gamma_i` and +:math:`\gamma_j` are the widths of the Gaussian charge distribution and +erf() is the error-function. This style has to be used in conjunction +with the :doc:`kspace_style ` command If one cutoff is specified it is used for both the vdW and Coulomb terms. If two cutoffs are specified, the first is used as the cutoff for the vdW terms, and the second is the cutoff for the Coulombic term. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* epsilon (energy) -* r\_v (distance) -* gamma (distance) - +* :math:`\epsilon` (energy) +* :math:`r_v` (distance) +* :math:`\gamma` (distance) ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : Mixing rules are fixed for this style as defined above. @@ -89,18 +94,12 @@ function ensures that the potential is zero at the cut-off. Restrictions """""""""""" - These styles are part of the USER-YAFF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_modify.rst b/doc/src/pair_modify.rst index b45a50573a3690a1fe7dad3ccf2ebb19a5213e1c..b8969c0131bcdff518f468dc581fde3a7366f9a9 100644 --- a/doc/src/pair_modify.rst +++ b/doc/src/pair_modify.rst @@ -1,30 +1,25 @@ -.. index:: pair\_modify +.. index:: pair_modify -pair\_modify command -==================== +pair_modify command +=================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_modify keyword values ... * one or more keyword/value pairs may be listed * keyword = *pair* or *shift* or *mix* or *table* or *table/disp* or *tabinner* - or *tabinner/disp* or *tail* or *compute* or *nofdotr* - + or *tabinner/disp* or *tail* or *compute* or *nofdotr* or *special* or + *compute/tally* + .. parsed-literal:: - - *pair* values = sub-style N *special* which wt1 wt2 wt3 - or sub-style N *compute/tally* flag + + *pair* value = sub-style N sub-style = sub-style of :doc:`pair hybrid ` - N = which instance of sub-style (only if sub-style is used multiple times) - *special* which wt1 wt2 wt3 = override *special_bonds* settings (optional) - which = *lj/coul* or *lj* or *coul* - w1,w2,w3 = 1-2, 1-3, and 1-4 weights from 0.0 to 1.0 inclusive - *compute/tally* flag = *yes* or *no* + N = which instance of sub-style (1 to M), only specify if sub-style is used multiple times *mix* value = *geometric* or *arithmetic* or *sixthpower* *shift* value = *yes* or *no* *table* value = N @@ -37,15 +32,16 @@ Syntax cutoff = inner cutoff at which to begin table (distance units) *tail* value = *yes* or *no* *compute* value = *yes* or *no* - *nofdotr* - - + *nofdotr* value = none + *special* values = which wt1 wt2 wt3 + which = *lj/coul* or *lj* or *coul* + w1,w2,w3 = 1-2, 1-3, 1-4 weights from 0.0 to 1.0 inclusive + *compute/tally* value = *yes* or *no* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_modify shift yes mix geometric pair_modify tail yes @@ -53,74 +49,64 @@ Examples pair_modify pair lj/cut compute no pair_modify pair tersoff compute/tally no pair_modify pair lj/cut/coul/long 1 special lj/coul 0.0 0.0 0.0 + pair_modify pair lj/cut/coul/long special lj 0.0 0.0 0.5 special coul 0.0 0.0 0.8333333 Description """"""""""" -Modify the parameters of the currently defined pair style. Not all -parameters are relevant to all pair styles. - -If used, the *pair* keyword must appear first in the list of keywords. -It can only be used with the :doc:`hybrid and hybrid/overlay ` pair styles. It means that all the -following parameters will only be modified for the specified -sub-style. If the sub-style is defined multiple times, then an -additional numeric argument *N* must also be specified, which is a -number from 1 to M where M is the number of times the sub-style was -listed in the :doc:`pair\_style hybrid ` command. The extra -number indicates which instance of the sub-style the remaining -keywords will be applied to. Note that if the *pair* keyword is not -used, and the pair style is *hybrid* or *hybrid/overlay*\ , then all the -specified keywords will be applied to all sub-styles. +Modify the parameters of the currently defined pair style. If the +pair style is :doc:`hybrid or hybrid/overlay `, then the +specified parameters are by default modified for all the hybrid sub-styles. -The *special* and *compute/tally* keywords can **only** be used in -conjunction with the *pair* keyword and must directly follow it. -*special* allows to override the -:doc:`special\_bonds ` settings for the specified sub-style. -*compute/tally* allows to disable or enable registering -:doc:`compute \*/tally ` computes for a given sub-style. -More details are given below. +.. note:: + + The behavior for hybrid pair styles can be changed by using the *pair* + keyword, which allows selection of a specific sub-style to apply all + remaining keywords to. + The *special* and *compute/tally* keywords can **only** be + used in conjunction with the *pair* keyword. See further details about + these 3 keywords below. The *mix* keyword affects pair coefficients for interactions between atoms of type I and J, when I != J and the coefficients are not explicitly set in the input script. Note that coefficients for I = J must be set explicitly, either in the input script via the -"pair\_coeff" command or in the "Pair Coeffs" section of the :doc:`data file `. For some pair styles it is not necessary to -specify coefficients when I != J, since a "mixing" rule will create -them from the I,I and J,J settings. The pair\_modify *mix* value -determines what formulas are used to compute the mixed coefficients. -In each case, the cutoff distance is mixed the same way as sigma. - -Note that not all pair styles support mixing. Also, some mix options -are not available for certain pair styles. See the doc page for -individual pair styles for those restrictions. Note also that the -:doc:`pair\_coeff ` command also can be to directly set +:doc:`pair_coeff ` command or in the "Pair Coeffs" section of the +:doc:`data file `. For some pair styles it is not +necessary to specify coefficients when I != J, since a "mixing" rule +will create them from the I,I and J,J settings. The pair_modify +*mix* value determines what formulas are used to compute the mixed +coefficients. In each case, the cutoff distance is mixed the same way +as sigma. + +Note that not all pair styles support mixing and some mix options +are not available for certain pair styles. Also, there are additional +restrictions when using :doc:`pair style hybrid or hybrid/overlay `. +See the doc page for individual pair styles for those restrictions. Note also that the +:doc:`pair_coeff ` command also can be used to directly set coefficients for a specific I != J pairing, in which case no mixing is performed. -mix *geometric* - - -.. parsed-literal:: - - epsilon_ij = sqrt(epsilon_i \* epsilon_j) - sigma_ij = sqrt(sigma_i \* sigma_j) +- mix *geometric* -mix *arithmetic* + .. math:: + \epsilon_{ij} = & \sqrt{\epsilon_i \epsilon_j} \\ + \sigma_{ij} = & \sqrt{\sigma_i \sigma_j} -.. parsed-literal:: +- mix *arithmetic* - epsilon_ij = sqrt(epsilon_i \* epsilon_j) - sigma_ij = (sigma_i + sigma_j) / 2 + .. math:: -mix *sixthpower* + \epsilon_{ij} = & \sqrt{\epsilon_i \epsilon_j} \\ + \sigma_{ij} = & \frac{1}{2} (\sigma_i + \sigma_j) +- mix *sixthpower* -.. parsed-literal:: + .. math:: - epsilon_ij = (2 \* sqrt(epsilon_i\*epsilon_j) \* sigma_i\^3 \* sigma_j\^3) / - (sigma_i\^6 + sigma_j\^6) - sigma_ij = ((sigma_i\*\*6 + sigma_j\*\*6) / 2) \^ (1/6) + \epsilon_{ij} = & \frac{2 \sqrt{\epsilon_i \epsilon_j} \sigma_i^3 \sigma_j^3}{\sigma_i^6 + \sigma_j^6} \\ + \sigma_{ij} = & \left(\frac{1}{2} (\sigma_i^6 + \sigma_j^6) \right)^{\frac{1}{6}} The *shift* keyword determines whether a Lennard-Jones potential is shifted at its cutoff to 0.0. If so, this adds an energy term to each @@ -135,10 +121,11 @@ see the doc page for individual styles to see which potentials support these options. If N is non-zero, a table of length 2\^N is pre-computed for forces and energies, which can shrink their computational cost by up to a factor of 2. The table is indexed via a -bit-mapping technique :ref:`(Wolff) ` and a linear interpolation is -performed between adjacent table values. In our experiments with -different table styles (lookup, linear, spline), this method typically -gave the best performance in terms of speed and accuracy. +bit-mapping technique :ref:`(Wolff) ` and a linear +interpolation is performed between adjacent table values. In our +experiments with different table styles (lookup, linear, spline), this +method typically gave the best performance in terms of speed and +accuracy. The choice of table length is a tradeoff in accuracy versus speed. A larger N yields more accurate force computations, but requires more @@ -162,27 +149,28 @@ pairwise interactions are computed via table lookup for simulations with "real" units, but some close pairs may be computed directly (non-table) for simulations with "lj" units. -When the *tail* keyword is set to *yes*\ , certain pair styles will add -a long-range VanderWaals tail "correction" to the energy and pressure. -These corrections are bookkeeping terms which do not affect dynamics, -unless a constant-pressure simulation is being performed. See the doc -page for individual styles to see which support this option. These -corrections are included in the calculation and printing of -thermodynamic quantities (see the :doc:`thermo\_style ` -command). Their effect will also be included in constant NPT or NPH -simulations where the pressure influences the simulation box -dimensions (e.g. the :doc:`fix npt ` and :doc:`fix nph ` -commands). The formulas used for the long-range corrections come from -equation 5 of :ref:`(Sun) `. +When the *tail* keyword is set to *yes*\ , certain pair styles will +add a long-range VanderWaals tail "correction" to the energy and +pressure. These corrections are bookkeeping terms which do not affect +dynamics, unless a constant-pressure simulation is being performed. +See the doc page for individual styles to see which support this +option. These corrections are included in the calculation and +printing of thermodynamic quantities (see the :doc:`thermo_style +` command). Their effect will also be included in +constant NPT or NPH simulations where the pressure influences the +simulation box dimensions (e.g. the :doc:`fix npt ` and +:doc:`fix nph ` commands). The formulas used for the +long-range corrections come from equation 5 of :ref:`(Sun) `. .. note:: The tail correction terms are computed at the beginning of each run, using the current atom counts of each atom type. If atoms are - deleted (or lost) or created during a simulation, e.g. via the :doc:`fix gcmc ` command, the correction factors are not - re-computed. If you expect the counts to change dramatically, you can - break a run into a series of shorter runs so that the correction - factors are re-computed more frequently. + deleted (or lost) or created during a simulation, e.g. via the + :doc:`fix gcmc ` command, the correction factors are not + re-computed. If you expect the counts to change dramatically, you + can break a run into a series of shorter runs so that the + correction factors are re-computed more frequently. Several additional assumptions are inherent in using tail corrections, including the following: @@ -191,92 +179,109 @@ including the following: should not be used for systems that are non-liquid, 2d, have a slab geometry (only 2d periodic), or inhomogeneous. * G(r), the radial distribution function (rdf), is unity beyond the - cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for an - LJ fluid), and it is probably a good idea to verify this assumption by - checking the rdf. The rdf is not exactly unity beyond the cutoff for - each pair of interaction types, so the tail correction is necessarily - an approximation. - - The tail corrections are computed at the beginning of each simulation - run. If the number of atoms changes during the run, e.g. due to atoms - leaving the simulation domain, or use of the :doc:`fix gcmc ` - command, then the corrections are not updated to reflect the changed - atom count. If this is a large effect in your simulation, you should - break the long run into several short runs, so that the correction - factors are re-computed multiple times. - -* Thermophysical properties obtained from calculations with this option - enabled will not be thermodynamically consistent with the truncated - force-field that was used. In other words, atoms do not feel any LJ - pair interactions beyond the cutoff, but the energy and pressure - reported by the simulation include an estimated contribution from - those interactions. - + cutoff, so a fairly large cutoff should be used (i.e. 2.5 sigma for + an LJ fluid), and it is probably a good idea to verify this + assumption by checking the rdf. The rdf is not exactly unity beyond + the cutoff for each pair of interaction types, so the tail + correction is necessarily an approximation. + + The tail corrections are computed at the beginning of each + simulation run. If the number of atoms changes during the run, + e.g. due to atoms leaving the simulation domain, or use of the + :doc:`fix gcmc ` command, then the corrections are not + updated to reflect the changed atom count. If this is a large + effect in your simulation, you should break the long run into + several short runs, so that the correction factors are re-computed + multiple times. + +* Thermophysical properties obtained from calculations with this + option enabled will not be thermodynamically consistent with the + truncated force-field that was used. In other words, atoms do not + feel any LJ pair interactions beyond the cutoff, but the energy and + pressure reported by the simulation include an estimated + contribution from those interactions. The *compute* keyword allows pairwise computations to be turned off, -even though a :doc:`pair\_style ` is defined. This is not +even though a :doc:`pair_style ` is defined. This is not useful for running a real simulation, but can be useful for debugging purposes or for performing a :doc:`rerun ` simulation, when you only wish to compute partial forces that do not include the pairwise contribution. Two examples are as follows. First, this option allows you to perform -a simulation with :doc:`pair\_style hybrid ` with only a +a simulation with :doc:`pair_style hybrid ` with only a subset of the hybrid sub-styles enabled. Second, this option allows you to perform a simulation with only long-range interactions but no short-range pairwise interactions. Doing this by simply not defining -a pair style will not work, because the -:doc:`kspace\_style ` command requires a Kspace-compatible -pair style be defined. +a pair style will not work, because the :doc:`kspace_style +` command requires a Kspace-compatible pair style be +defined. The *nofdotr* keyword allows to disable an optimization that computes -the global stress tensor from the total forces and atom positions rather -than from summing forces between individual pairs of atoms. - +the global stress tensor from the total forces and atom positions +rather than from summing forces between individual pairs of atoms. ---------- +The *pair* keyword can only be used with the :doc:`hybrid and +hybrid/overlay ` pair styles. If used, it must appear +first in the list of keywords. -The *special* keyword allows to override the 1-2, 1-3, and 1-4 -exclusion settings for individual sub-styles of a -:doc:`hybrid pair style `. It requires 4 arguments similar -to the :doc:`special\_bonds ` command, *which* and -wt1,wt2,wt3. The *which* argument can be *lj* to change the -Lennard-Jones settings, *coul* to change the Coulombic settings, -or *lj/coul* to change both to the same set of 3 values. The wt1,wt2,wt3 -values are numeric weights from 0.0 to 1.0 inclusive, for the 1-2, -1-3, and 1-4 bond topology neighbors, respectively. The *special* -keyword can only be used in conjunction with the *pair* keyword -and has to directly follow it. This option is not compatible with -pair styles from the GPU or the USER-INTEL package and attempting -it will cause an error. +Its meaning is that all the following parameters will only be modified +for the specified sub-style. If the sub-style is defined multiple +times, then an additional numeric argument *N* must also be specified, +which is a number from 1 to M where M is the number of times the +sub-style was listed in the :doc:`pair_style hybrid ` +command. The extra number indicates which instance of the sub-style +the remaining keywords will be applied to. + +The *special* and *compute/tally* keywords can **only** be used in +conjunction with the *pair* keyword and they must directly follow it. +I.e. any other keyword, must appear after *pair*, *special*, and +*compute/tally*. + +The *special* keyword overrides the global :doc:`special_bonds ` +1-2, 1-3, 1-4 exclusion settings (weights) for the sub-style selected +by the *pair* keyword. + +Similar to the :doc:`special_bonds ` command, it takes +4 arguments. The *which* argument can be *lj* to change only the +non-Coulomb weights (e.g. Lennard-Jones or Buckingham), *coul* to change +only the Coulombic settings, or *lj/coul* to change both to the same +values. The *wt1,wt2,wt3* values are numeric weights from 0.0 to 1.0 +inclusive, for the 1-2, 1-3, and 1-4 bond topology neighbors, respectively. +The *special* keyword can be used multiple times, e.g. to set the *lj* +and *coul* settings to different values. .. note:: - The global settings specified by the - :doc:`special\_bonds ` command affect the construction of - neighbor lists. Weights of 0.0 (for 1-2, 1-3, or 1-4 neighbors) - exclude those pairs from the neighbor list entirely. Weights of 1.0 - store the neighbor with no weighting applied. Thus only global values - different from exactly 0.0 or 1.0 can be overridden and an error is - generated if the requested setting is not compatible with the global - setting. Substituting 1.0e-10 for 0.0 and 0.9999999999 for 1.0 is - usually a sufficient workaround in this case without causing a - significant error. - -The *compute/tally* keyword takes exactly 1 argument (\ *no* or *yes*\ ), -and allows to selectively disable or enable processing of the various -:doc:`compute \*/tally ` styles for a given -:doc:`pair hybrid or hybrid/overlay ` sub-style. + The *special* keyword is not compatible with pair styles from the + GPU or the USER-INTEL package and attempting to use it will cause + an error. .. note:: - Any "pair\_modify pair compute/tally" command must be issued - **before** the corresponding compute style is defined. + Weights of exactly 0.0 or 1.0 in the :doc:`special_bonds ` + command have implications on the neighbor list construction, which + means that they cannot be overridden by using the *special* keyword. + One workaround for this restriction is to use the :doc:`special_bonds ` + command with weights like 1.0e-10 or 0.999999999 instead of 0.0 or 1.0, + respectively, which enables to reset each them to any value between 0.0 + and 1.0 inclusively. Otherwise you can set **all** global weights to + an arbitrary number between 0.0 or 1.0, like 0.5, and then you have + to override **all** *special* settings for **all** sub-styles which use + the 1-2, 1-3, and 1-4 exclusion weights in their force/energy computation. + +The *compute/tally* keyword disables or enables registering :doc:`compute +\*/tally ` computes for the sub-style specified by +the *pair* keyword. Use *no* to disable, or *yes* to enable. +.. note:: ----------- + The "pair_modify pair compute/tally" command must be issued + **before** the corresponding compute style is defined. +---------- Restrictions """""""""""" @@ -289,8 +294,8 @@ USER-INTEL package. Related commands """""""""""""""" -:doc:`pair\_style `, :doc:`pair\_style hybrid `, -pair\_coeff"_pair\_coeff.html, :doc:`thermo\_style `, +:doc:`pair_style `, :doc:`pair_style hybrid `, +:doc:`pair_coeff `, :doc:`thermo_style `, :doc:`compute \*/tally ` Default @@ -302,23 +307,12 @@ tabinner = sqrt(2.0), tail = no, and compute = yes. Note that some pair styles perform mixing, but only a certain style of mixing. See the doc pages for individual pair styles for details. - ---------- - .. _Wolff1: - - **(Wolff)** Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). .. _Sun: - - **(Sun)** Sun, J Phys Chem B, 102, 7338-7364 (1998). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_momb.rst b/doc/src/pair_momb.rst index e318d285a30d52217837d478b2d220ddbb1dac8f..99dce23bf81a1b1415cb93acbedb059a06545590 100644 --- a/doc/src/pair_momb.rst +++ b/doc/src/pair_momb.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style momb +.. index:: pair_style momb -pair\_style momb command -======================== +pair_style momb command +======================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style momb cutoff s6 d @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style momb 12.0 0.75 20.0 pair_style hybrid/overlay eam/fs lj/charmm/coul/long 10.0 12.0 momb 12.0 0.75 20.0 morse 5.5 @@ -33,64 +31,51 @@ Style *momb* computes pairwise van der Waals (vdW) and short-range interactions using the Morse potential and :ref:`(Grimme) ` method implemented in the Many-Body Metal-Organic (MOMB) force field described comprehensively in :ref:`(Fichthorn) ` and -:ref:`(Zhou) `. Grimme's method is widely used to correct for +:ref:`(Zhou) `. Grimme's method is widely used to correct for dispersion in density functional theory calculations. -.. image:: Eqs/pair_momb.jpg - :align: center +.. math:: + + E & = D_0 [\exp^{-2 \alpha (r-r_0)} - 2\exp^{-\alpha (r-r_0)}] - s_6 \frac{C_6}{r^6} f_{damp}(r,R_r) \\ + f_{damp}(r,R_r) & = \frac{1}{1 + \exp^{-d(r/R_r - 1)}} For the *momb* pair style, the following coefficients must be defined -for each pair of atoms types via the :doc:`pair\_coeff ` +for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files -read by the :doc:`read\_data ` as described below: - -* D0 (energy units) -* alpha (1/distance units) -* r0 (distance units) -* C6 (energy\*distance\^6 units) -* Rr (distance units, typically sum of atomic vdW radii) +read by the :doc:`read_data ` as described below: +* :math:`D_0` (energy units) +* :math:`\alpha` (1/distance units) +* :math:`r_0` (distance units) +* :math:`C_6` (energy\*distance\^6 units) +* :math:`R_r` (distance units, typically sum of atomic vdW radii) ---------- - Restrictions """""""""""" - This style is part of the USER-MISC package. It is only enabled if -LAMMPS is built with that package. See the :doc:`Build package ` doc page on for more info. +LAMMPS is built with that package. See the :doc:`Build package +` doc page on for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style morse ` +:doc:`pair_coeff `, :doc:`pair_style morse ` **Default:** none - ---------- - .. _Grimme: - - **(Grimme)** Grimme, J Comput Chem, 27(15), 1787-1799 (2006). .. _Fichthorn: - - **(Fichthorn)** Fichthorn, Balankura, Qi, CrystEngComm, 18(29), 5410-5417 (2016). -.. _Zhou4: - - +.. _Zhou5: **(Zhou)** Zhou, Saidi, Fichthorn, J Phys Chem C, 118(6), 3366-3374 (2014). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_morse.rst b/doc/src/pair_morse.rst index 61f2e08904ea02da5433c2f9f0cf1e392275f360..d031c70cd2dd85cc4d1b7f1967b4c7161b292a0c 100644 --- a/doc/src/pair_morse.rst +++ b/doc/src/pair_morse.rst @@ -1,38 +1,36 @@ -.. index:: pair\_style morse +.. index:: pair_style morse -pair\_style morse command -========================= +pair_style morse command +======================== -pair\_style morse/gpu command -============================= +pair_style morse/gpu command +============================ -pair\_style morse/omp command -============================= +pair_style morse/omp command +============================ -pair\_style morse/opt command -============================= +pair_style morse/opt command +============================ -pair\_style morse/smooth/linear command -======================================= +pair_style morse/smooth/linear command +====================================== -pair\_style morse/smooth/linear/omp command -=========================================== +pair_style morse/smooth/linear/omp command +========================================== -pair\_style morse/kk command -============================ +pair_style morse/kk command +=========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *morse* or *morse/smooth/linear* or *morse/soft* * args = list of arguments for a particular style - .. parsed-literal:: *morse* args = cutoff @@ -43,12 +41,11 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style morse 2.5 pair_style morse/smooth/linear 2.5 - pair_coeff \* \* 100.0 2.0 1.5 + pair_coeff * * 100.0 2.0 1.5 pair_coeff 1 1 100.0 2.0 1.5 3.0 Description @@ -56,52 +53,52 @@ Description Style *morse* computes pairwise interactions with the formula -.. image:: Eqs/pair_morse.jpg - :align: center +.. math:: + + E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + \qquad r < r_c Rc is the cutoff. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: -* D0 (energy units) -* alpha (1/distance units) -* r0 (distance units) +* :math:`D_0` (energy units) +* :math:`\alpha` (1/distance units) +* :math:`r_0` (distance units) * cutoff (distance units) The last coefficient is optional. If not specified, the global morse cutoff is used. - ---------- - The *morse/smooth/linear* variant is similar to the lj/smooth/linear variant in that it adds to the potential a shift and a linear term so that both, potential energy and force, go to zero at the cut-off: -.. image:: Eqs/pair_morse_smooth_linear.jpg - :align: center +.. math:: -The syntax of the pair\_style and pair\_coeff commands are the same for -the *morse* and *morse/smooth/linear* styles. + \phi\left(r\right) & = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c \\ + E\left(r\right) & = \phi\left(r\right) - \phi\left(R_c\right) - \left(r - R_c\right) \left.\frac{d\phi}{d r} \right|_{r=R_c} \qquad r < R_c +The syntax of the pair_style and pair_coeff commands are the same for +the *morse* and *morse/smooth/linear* styles. ---------- - -A version of the *morse* style with a soft core, *morse/soft*\ , suitable for use in -free energy calculations, is part of the USER-FEP package and is documented with -the :doc:`pair\_fep\_soft ` styles. The version with soft core is only -available if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. - +A version of the *morse* style with a soft core, *morse/soft*\ , +suitable for use in free energy calculations, is part of the USER-FEP +package and is documented with the :doc:`pair_style */soft +` styles. The version with soft core is only available if +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. ---------- - 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 @@ -120,51 +117,41 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : None of these pair styles support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -All of these pair styles support the :doc:`pair\_modify ` +All of these pair styles support the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table options is not relevant for +The :doc:`pair_modify ` table options is not relevant for the Morse pair styles. -None of these pair styles support the :doc:`pair\_modify ` +None of these pair styles support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -All of these pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +All of these pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *morse/smooth/linear* pair style is only enabled if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_fep\_soft ` +:doc:`pair_coeff `, :doc:`pair_style */soft ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_multi_lucy.rst b/doc/src/pair_multi_lucy.rst index cd2032c79938e4e252d7e8a609d59441f4d3f78e..37da1ab9651203e2d205e0323112460167d51576 100644 --- a/doc/src/pair_multi_lucy.rst +++ b/doc/src/pair_multi_lucy.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style multi/lucy +.. index:: pair_style multi/lucy -pair\_style multi/lucy command -============================== +pair_style multi/lucy command +============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style multi/lucy style N keyword ... @@ -17,11 +16,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style multi/lucy linear 1000 - pair_coeff \* \* multibody.table ENTRY1 7.0 + pair_coeff * * multibody.table ENTRY1 7.0 Description """"""""""" @@ -30,29 +28,34 @@ Style *multi/lucy* computes a density-dependent force following from the many-body form described in :ref:`(Moore) ` and :ref:`(Warren) ` as -.. image:: Eqs/pair_multi_lucy.jpg - :align: center +.. math:: -which consists of a density-dependent function, A(rho), and a -radial-dependent weight function, omegaDD(rij). The radial-dependent -weight function, omegaDD(rij), is taken as the Lucy function: + F_{i}^{DD}(\rho_i,\rho_j,r_{ij}) = \frac{1}{2} \omega_{DD}\left(r_{ij}\right) + \left[A\left(\rho_i\right) + A\left(\rho_j\right)\right]e_{ij} -.. image:: Eqs/pair_multi_lucy2.jpg - :align: center +which consists of a density-dependent function, :math:`A(\rho)`, and a +radial-dependent weight function, :math:`\omega_{DD}(r_{ij})`. The +radial-dependent weight function, :math:`\omega_{DD}(r_{ij})`, is taken +as the Lucy function: + +.. math:: + + \omega_{DD}\left(r_{ij}\right) = \left(1+\frac{3r_{ij}}{r_{cut}}\right)\left(1+\frac{r_{ij}}{r_{cut}}\right)^3 The density-dependent energy for a given particle is given by: -.. image:: Eqs/pair_multi_lucy_energy.jpg - :align: center +.. math:: + + u_{i}^{DD}\left(\rho_{i}\right) = \frac{\pi r_{cut}^4}{84} \int_{\rho_0}^{\rho_i} A\left(\rho'\right) d\rho' See the supporting information of :ref:`(Brennan) ` or the publication by :ref:`(Moore) ` for more details on the functional form. -An interpolation table is used to evaluate the density-dependent -energy (Integral(A(rho)drho) and force (A(rho)). Note that the -pre-factor to the energy is computed after the interpolation, thus the -Integral(A(rho)drho will have units of energy / length\^4. +An interpolation table is used to evaluate the density-dependent energy +(:math:`\int A(\rho') d\rho'`) and force (:math:`A(\rho')`). Note that +the pre-factor to the energy is computed after the interpolation, thus +the :math:`\int A(\rho') d \rho'` will have units of energy / length\^4. The interpolation table is created as a pre-computation by fitting cubic splines to the file values and interpolating the @@ -70,7 +73,7 @@ table values from which the density-dependent energy and force are computed by linear interpolation. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. * filename @@ -86,14 +89,11 @@ tabulated distance. If specified, only file values up to the cutoff are used to create the interpolation table. The format of this file is described below. - ---------- - The format of a tabulated file is a series of one or more sections, defined as follows (without the parenthesized comments): - .. parsed-literal:: # Density-dependent function (one or more comment or blank lines) @@ -110,15 +110,15 @@ A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair\_coeff +initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* -specified in the :doc:`pair\_style multi/lucy ` command. -Let Ntable = *N* in the pair\_style command, and Nfile = "N" in the +specified in the :doc:`pair_style multi/lucy ` command. +Let Ntable = *N* in the pair_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate the density-dependent energy and force at @@ -137,23 +137,24 @@ as-is to perform spline interpolation. In this case, the table values can be spaced in *density* uniformly or however you wish to position table values in regions of large gradients. -If used, the parameters "R" or "RSQ" are followed by 2 values *rlo* -and *rhi*\ . If specified, the density associated with each density-dependent -energy and force value is computed from these 2 values (at high accuracy), rather -than using the (low-accuracy) value listed in each line of the table. -The density values in the table file are ignored in this case. -For "R", distances uniformly spaced between *rlo* and *rhi* are -computed; for "RSQ", squared distances uniformly spaced between -*rlo\*rlo* and *rhi\*rhi* are computed. +If used, the parameters "R" or "RSQ" are followed by 2 values *rlo* and +*rhi*\ . If specified, the density associated with each +density-dependent energy and force value is computed from these 2 values +(at high accuracy), rather than using the (low-accuracy) value listed in +each line of the table. The density values in the table file are +ignored in this case. For "R", distances uniformly spaced between *rlo* +and *rhi* are computed; for "RSQ", squared distances uniformly spaced +between *rlo\*rlo* and *rhi\*rhi* are computed. .. note:: - If you use "R" or "RSQ", the tabulated distance values in the - file are effectively ignored, and replaced by new values as described - in the previous paragraph. If the density value in the table is not - very close to the new value (i.e. round-off difference), then you will - be assigning density-dependent energy and force values to a different density, - which is probably not what you want. LAMMPS will warn if this is occurring. + If you use "R" or "RSQ", the tabulated distance values in the file + are effectively ignored, and replaced by new values as described in + the previous paragraph. If the density value in the table is not + very close to the new value (i.e. round-off difference), then you + will be assigning density-dependent energy and force values to a + different density, which is probably not what you want. LAMMPS will + warn if this is occurring. Following a blank line, the next N lines list the tabulated values. On each line, the 1st value is the index from 1 to N, the 2nd value is @@ -165,70 +166,52 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -The :doc:`pair\_modify ` shift, table, and tail options are +The :doc:`pair_modify ` shift, table, and tail options are not relevant for this pair style. -This pair style writes the settings for the "pair\_style multi/lucy" command -to :doc:`binary restart files `, so a pair\_style command does +This pair style writes the settings for the "pair_style multi/lucy" command +to :doc:`binary restart files `, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair\_coeff +file, since it is tabulated in the potential files. Thus, pair_coeff commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Warren1: - - **(Warren)** Warren, Phys Rev E, 68, 066702 (2003). .. _Brennan1: - - **(Brennan)** Brennan, J Chem Phys Lett, 5, 2144-2149 (2014). .. _Moore1: - - **(Moore)** Moore, J Chem Phys, 144, 104501 (2016). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_multi_lucy_rx.rst b/doc/src/pair_multi_lucy_rx.rst index 977309e311dabe71bc4e3e58004cf764d78fa174..3824ca96cf1ac2409dda93cede3db15f48b50163 100644 --- a/doc/src/pair_multi_lucy_rx.rst +++ b/doc/src/pair_multi_lucy_rx.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style multi/lucy/rx +.. index:: pair_style multi/lucy/rx -pair\_style multi/lucy/rx command -================================= +pair_style multi/lucy/rx command +================================ -pair\_style multi/lucy/rx/kk command -==================================== +pair_style multi/lucy/rx/kk command +=================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style multi/lucy/rx style N keyword ... @@ -21,14 +20,13 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style multi/lucy/rx linear 1000 pair_style multi/lucy/rx linear 1000 fractional pair_style multi/lucy/rx linear 1000 molecular - pair_coeff \* \* multibody.table ENTRY1 h2o h2o 7.0 - pair_coeff \* \* multibody.table ENTRY1 h2o 1fluid 7.0 + pair_coeff * * multibody.table ENTRY1 h2o h2o 7.0 + pair_coeff * * multibody.table ENTRY1 h2o 1fluid 7.0 Description """"""""""" @@ -43,29 +41,34 @@ particle through a site-site interaction potential model. Style following from the many-body form described in :ref:`(Moore) ` and :ref:`(Warren) ` as -.. image:: Eqs/pair_multi_lucy.jpg - :align: center +.. math:: -which consists of a density-dependent function, A(rho), and a -radial-dependent weight function, omegaDD(rij). The radial-dependent -weight function, omegaDD(rij), is taken as the Lucy function: + F_{i}^{DD}(\rho_i,\rho_j,r_{ij}) = \frac{1}{2} \omega_{DD}\left(r_{ij}\right) + \left[A\left(\rho_i\right) + A\left(\rho_j\right)\right]e_{ij} -.. image:: Eqs/pair_multi_lucy2.jpg - :align: center +which consists of a density-dependent function, :math:`A(\rho)`, and a +radial-dependent weight function, :math:`\omega_{DD}(r_{ij})`. The +radial-dependent weight function, :math:`\omega_{DD}(r_{ij})`, is taken +as the Lucy function: + +.. math:: + + \omega_{DD}\left(r_{ij}\right) = \left(1+\frac{3r_{ij}}{r_{cut}}\right)\left(1+\frac{r_{ij}}{r_{cut}}\right)^3 The density-dependent energy for a given particle is given by: -.. image:: Eqs/pair_multi_lucy_energy.jpg - :align: center +.. math:: + + u_{i}^{DD}\left(\rho_{i}\right) = \frac{\pi r_{cut}^4}{84} \int_{\rho_0}^{\rho_i} A\left(\rho'\right) d\rho' See the supporting information of :ref:`(Brennan) ` or the publication by :ref:`(Moore) ` for more details on the functional form. -An interpolation table is used to evaluate the density-dependent -energy (Integral(A(rho)drho) and force (A(rho)). Note that the -pre-factor to the energy is computed after the interpolation, thus the -Integral(A(rho)drho will have units of energy / length\^4. +An interpolation table is used to evaluate the density-dependent energy +(:math:`\int A(\rho') d \rho'`) and force (:math:`A(\rho')`). Note that +the pre-factor to the energy is computed after the interpolation, thus +the :math:`\int A(\rho') d\rho'` will have units of energy / length\^4. The interpolation table is created as a pre-computation by fitting cubic splines to the file values and interpolating the @@ -83,7 +86,7 @@ table values from which the density-dependent energy and force are computed by linear interpolation. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. * filename @@ -114,14 +117,11 @@ associated with the interacting coarse-grained particles (see the stored before and after the reaction kinetics solver is applied, where the difference is defined to be the internal chemical energy (uChem). - ---------- - The format of a tabulated file is a series of one or more sections, defined as follows (without the parenthesized comments): - .. parsed-literal:: # Density-dependent function (one or more comment or blank lines) @@ -138,15 +138,15 @@ A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair\_coeff +initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* -specified in the :doc:`pair\_style multi/lucy/rx ` -command. Let Ntable = *N* in the pair\_style command, and Nfile = "N" +specified in the :doc:`pair_style multi/lucy/rx ` +command. Let Ntable = *N* in the pair_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate the density-dependent @@ -194,33 +194,29 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -The :doc:`pair\_modify ` shift, table, and tail options are +The :doc:`pair_modify ` shift, table, and tail options are not relevant for this pair style. -This pair style writes the settings for the "pair\_style multi/lucy/rx" command -to :doc:`binary restart files `, so a pair\_style command does +This pair style writes the settings for the "pair_style multi/lucy/rx" command +to :doc:`binary restart files `, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair\_coeff +file, since it is tabulated in the potential files. Thus, pair_coeff commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - 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 @@ -239,47 +235,31 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** fractional weighting - ---------- - .. _Warren2: - - **(Warren)** Warren, Phys Rev E, 68, 066702 (2003). .. _Brennan2: - - **(Brennan)** Brennan, J Chem Phys Lett, 5, 2144-2149 (2014). .. _Moore2: - - **(Moore)** Moore, J Chem Phys, 144, 104501 (2016). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_nb3b_harmonic.rst b/doc/src/pair_nb3b_harmonic.rst index ef00dec25a47bcc25544709c3f05a57ade093bb5..9d63df65d50769ff79f23a91dbec759a148296b3 100644 --- a/doc/src/pair_nb3b_harmonic.rst +++ b/doc/src/pair_nb3b_harmonic.rst @@ -1,24 +1,22 @@ -.. index:: pair\_style nb3b/harmonic +.. index:: pair_style nb3b/harmonic -pair\_style nb3b/harmonic command -================================= +pair_style nb3b/harmonic command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style nb3b/harmonic Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style nb3b/harmonic - pair_coeff \* \* MgOH.nb3bharmonic Mg O H + pair_coeff * * MgOH.nb3bharmonic Mg O H Description """"""""""" @@ -26,35 +24,35 @@ Description This pair style computes a non-bonded 3-body harmonic potential for the energy E of a system of atoms as -.. image:: Eqs/pair_nb3b_harmonic.jpg - :align: center +.. math:: + + E = K (\theta - \theta_0)^2 -where *theta\_0* is the equilibrium value of the angle and *K* is a +where :math:`\theta_0` is the equilibrium value of the angle and *K* is a prefactor. Note that the usual 1/2 factor is included in *K*\ . The form -of the potential is identical to that used in angle\_style *harmonic*\ , +of the potential is identical to that used in angle_style *harmonic*\ , but in this case, the atoms do not need to be explicitly bonded. -Only a single pair\_coeff command is used with this style which +Only a single pair_coeff command is used with this style which specifies a potential file with parameters for specified elements. These are mapped to LAMMPS atom types by specifying N additional -arguments after the filename in the pair\_coeff command, where N is the +arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, imagine a file SiC.nb3b.harmonic has potential values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the -following pair\_coeff command: +following pair_coeff command: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* SiC.nb3b.harmonic Si Si Si C + pair_coeff * * SiC.nb3b.harmonic Si Si Si C The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si @@ -63,10 +61,12 @@ type 4 to the C element in the potential file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when the potential is used as part of the *hybrid* pair style. The NULL values are placeholders for atom types that will be used with -other potentials. An example of a pair\_coeff command for use with the +other potentials. An example of a pair_coeff command for use with the *hybrid* pair style is: -pair\_coeff \* \* nb3b/harmonic MgOH.nb3b.harmonic Mg O H +.. code-block:: LAMMPS + + pair_coeff * * nb3b/harmonic MgOH.nb3b.harmonic Mg O H Three-body non-bonded harmonic files in the *potentials* directory of the LAMMPS distribution have a ".nb3b.harmonic" suffix. Lines that @@ -76,32 +76,29 @@ triplet of elements. Each entry has six arguments. The first three are atom types as referenced in the LAMMPS input file. The first argument specifies the central atom. The fourth argument indicates the *K* parameter. The -fifth argument indicates *theta\_0*. The sixth argument indicates a +fifth argument indicates :math:`\theta_0`. The sixth argument indicates a separation cutoff in Angstroms. For a given entry, if the second and third arguments are identical, then the entry is for a cutoff for the distance between types 1 and 2 -(values for *K* and *theta\_0* are irrelevant in this case). +(values for *K* and :math:`\theta_0` are irrelevant in this case). -For a given entry, if the first three arguments are all different, -then the entry is for the *K* and *theta\_0* parameters (the cutoff in +For a given entry, if the first three arguments are all different, then +the entry is for the *K* and :math:`\theta_0` parameters (the cutoff in this case is irrelevant). It is required that the potential file contains entries for *all* -permutations of the elements listed in the pair\_coeff command. +permutations of the elements listed in the pair_coeff command. If certain combinations are not parameterized the corresponding parameters should be set to zero. The potential file can also contain entries for additional elements which are not used in a particular simulation; LAMMPS ignores those entries. - ---------- - Restrictions """""""""""" - This pair style can only be used if LAMMPS was built with the MANYBODY package. See the :doc:`Build package ` doc page for more info. @@ -109,11 +106,6 @@ info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_nm.rst b/doc/src/pair_nm.rst index e188ce1d1fc5c2a5576a0062cfd83eaaa92b1c4e..196747b291d83fbbf11cfeec403015018fd322c3 100644 --- a/doc/src/pair_nm.rst +++ b/doc/src/pair_nm.rst @@ -1,36 +1,35 @@ -.. index:: pair\_style nm/cut +.. index:: pair_style nm/cut -pair\_style nm/cut command -========================== +pair_style nm/cut command +========================= -pair\_style nm/cut/coul/cut command +pair_style nm/cut/coul/cut command +================================== + +pair_style nm/cut/coul/long command =================================== -pair\_style nm/cut/coul/long command -==================================== +pair_style nm/cut/omp command +============================= -pair\_style nm/cut/omp command -============================== +pair_style nm/cut/coul/cut/omp command +====================================== -pair\_style nm/cut/coul/cut/omp command +pair_style nm/cut/coul/long/omp command ======================================= -pair\_style nm/cut/coul/long/omp command -======================================== - Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *nm/cut* or *nm/cut/coul/cut* or *nm/cut/coul/long* * args = list of arguments for a particular style - + .. parsed-literal:: - + *nm/cut* args = cutoff cutoff = global cutoff for Pair interactions (distance units) *nm/cut/coul/cut* args = cutoff (cutoff2) @@ -40,24 +39,21 @@ Syntax cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style nm/cut 12.0 - pair_coeff \* \* 0.01 5.4 8.0 7.0 + pair_coeff * * 0.01 5.4 8.0 7.0 pair_coeff 1 1 0.01 4.4 7.0 6.0 pair_style nm/cut/coul/cut 12.0 15.0 - pair_coeff \* \* 0.01 5.4 8.0 7.0 + pair_coeff * * 0.01 5.4 8.0 7.0 pair_coeff 1 1 0.01 4.4 7.0 6.0 pair_style nm/cut/coul/long 12.0 15.0 - pair_coeff \* \* 0.01 5.4 8.0 7.0 + pair_coeff * * 0.01 5.4 8.0 7.0 pair_coeff 1 1 0.01 4.4 7.0 6.0 Description @@ -68,27 +64,30 @@ by :ref:`Clarke `, mainly used for ionic liquids. A site can represent a single atom or a united-atom site. The energy of an interaction has the following form: -.. image:: Eqs/pair_nm.jpg - :align: center +.. math:: + + E = \frac{E_0}{(n-m)} \left[ m \left(\frac{r_0}{r}\right)^n - n + \left(\frac{r_0}{r}\right)^m \right] \qquad r < r_c -Rc is the cutoff. +where :math:`r_c` is the cutoff. Style *nm/cut/coul/cut* adds a Coulombic pairwise interaction given by -.. image:: Eqs/pair_coulomb.jpg - :align: center +.. math:: -where C is an energy-conversion constant, Qi and Qj are the charges on -the 2 atoms, and epsilon is the dielectric constant which can be set -by the :doc:`dielectric ` command. If one cutoff is -specified in the pair\_style command, it is used for both the NM and -Coulombic terms. If two cutoffs are specified, they are used as -cutoffs for the NM and Coulombic terms respectively. + E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c + +where :math:`C` is an energy-conversion constant, :math:`q_i` and :math:`q_j` +are the charges on the 2 atoms, and epsilon is the dielectric constant which can +be set by the :doc:`dielectric ` command. If one cutoff is +specified in the pair_style command, it is used for both the N-M and Coulombic +terms. If two cutoffs are specified, they are used as cutoffs for the N-M and +Coulombic terms respectively. Styles *nm/cut/coul/long* compute the same Coulombic interactions as style *nm/cut/coul/cut* except that an additional damping factor is applied to the Coulombic term so it can -be used in conjunction with the :doc:`kspace\_style ` +be used in conjunction with the :doc:`kspace_style ` command and its *ewald* or *pppm* option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are @@ -96,63 +95,59 @@ computed in reciprocal space. For all of the *nm* pair styles, the following coefficients must be defined for each pair of atoms types -via the :doc:`pair\_coeff ` command as in the +via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands. -* E0 (energy units) -* r0 (distance units) -* n (unitless) -* m (unitless) +* :math:`E_0` (energy units) +* :math:`r_0` (distance units) +* :math:`n` (unitless) +* :math:`m` (unitless) * cutoff1 (distance units) * cutoff2 (distance units) The latter 2 coefficients are optional. If not specified, the global -NM and Coulombic cutoffs specified in the pair\_style command are used. -If only one cutoff is specified, it is used as the cutoff for both NM +N-M and Coulombic cutoffs specified in the pair_style command are used. +If only one cutoff is specified, it is used as the cutoff for both N-M and Coulombic interactions for this type pair. If both coefficients -are specified, they are used as the NM and Coulombic cutoffs for this +are specified, they are used as the N-M and Coulombic cutoffs for this type pair. You cannot specify 2 cutoffs for style *nm*\ , since it has no Coulombic terms. -For *nm/cut/coul/long* only the NM cutoff can be specified since a +For *nm/cut/coul/long* only the N-M cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair\_style command. - +pair_style command. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. All of the *nm* pair styles supports the -:doc:`pair\_modify ` shift option for the energy of the pair +:doc:`pair_modify ` shift option for the energy of the pair interaction. The *nm/cut/coul/long* pair styles support the -:doc:`pair\_modify ` table option since they can tabulate +:doc:`pair_modify ` table option since they can tabulate the short-range portion of the long-range Coulombic interaction. -All of the *nm* pair styles support the :doc:`pair\_modify ` +All of the *nm* pair styles support the :doc:`pair_modify ` tail option for adding a long-range tail correction to the energy and -pressure for the NM portion of the pair interaction. +pressure for the N-M portion of the pair interaction. -All of the *nm* pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +All of the *nm* pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. All of the *nm* pair styles can only be used via the *pair* keyword of -the :doc:`run\_style respa ` command. They do not support the +the :doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - 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 @@ -174,28 +169,18 @@ instructions on how to use the accelerated styles effectively. Restrictions """""""""""" - These pair styles are part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Clarke: - - **(Clarke)** Clarke and Smith, J Chem Phys, 84, 2290 (1986). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_none.rst b/doc/src/pair_none.rst index 080bb1168ab5b35b749d2db783f541bc56f5a84e..2cb9cb608ac1aaf92186d3950027331306fa8850 100644 --- a/doc/src/pair_none.rst +++ b/doc/src/pair_none.rst @@ -1,21 +1,19 @@ -.. index:: pair\_style none +.. index:: pair_style none -pair\_style none command -======================== +pair_style none command +======================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style none Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style none @@ -38,21 +36,16 @@ distance is small, then these data structures can consume a large amount of memory. So you should either set the neighbor style to *nsq* or set the skin distance to a larger value. -See the :doc:`pair\_style zero ` for a way to trigger the +See the :doc:`pair_style zero ` for a way to trigger the building of a neighbor lists, but compute no pairwise interactions. Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`pair\_style zero ` +:doc:`pair_style zero ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_oxdna.rst b/doc/src/pair_oxdna.rst index 727f19c327d0b5d04d0dea11245f63ebda77ec99..748a3affe7e681ca508a2ba4d2a028d1b6c58512 100644 --- a/doc/src/pair_oxdna.rst +++ b/doc/src/pair_oxdna.rst @@ -1,36 +1,34 @@ -.. index:: pair\_style oxdna/excv +.. index:: pair_style oxdna/excv -pair\_style oxdna/excv command -============================== - -pair\_style oxdna/stk command +pair_style oxdna/excv command ============================= -pair\_style oxdna/hbond command -=============================== +pair_style oxdna/stk command +============================ -pair\_style oxdna/xstk command +pair_style oxdna/hbond command ============================== -pair\_style oxdna/coaxstk command -================================= +pair_style oxdna/xstk command +============================= + +pair_style oxdna/coaxstk command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style1 - pair_coeff \* \* style2 args + pair_coeff * * style2 args * style1 = *hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk* * style2 = *oxdna/excv* or *oxdna/stk* or *oxdna/hbond* or *oxdna/xstk* or *oxdna/coaxstk* * args = list of arguments for these particular styles - .. parsed-literal:: *oxdna/stk* args = seq T xi kappa 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 @@ -45,17 +43,16 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk - pair_coeff \* \* oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 - pair_coeff \* \* oxdna/stk seqdep 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 - pair_coeff \* \* oxdna/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + pair_coeff * * oxdna/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 + pair_coeff * * oxdna/stk seqdep 0.1 1.3448 2.6568 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 + pair_coeff * * oxdna/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 pair_coeff 1 4 oxdna/hbond seqdep 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 pair_coeff 2 3 oxdna/hbond seqdep 1.077 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - pair_coeff \* \* oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 - pair_coeff \* \* oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 + pair_coeff * * oxdna/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 + pair_coeff * * oxdna/coaxstk 46.0 0.4 0.6 0.22 0.58 2.0 2.541592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 -0.65 2.0 -0.65 Description """"""""""" @@ -66,9 +63,9 @@ excluded volume interaction *oxdna/excv*\ , the stacking *oxdna/stk*\ , cross-st and coaxial stacking interaction *oxdna/coaxstk* as well as the hydrogen-bonding interaction *oxdna/hbond* between complementary pairs of nucleotides on opposite strands. Average sequence or sequence-dependent stacking and base-pairing strengths -are supported :ref:`(Sulc) `. Quasi-unique base-pairing between nucleotides can be achieved by using -more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. -This prevents the hybridization of in principle complementary bases within Ntypes/4 bases +are supported :ref:`(Sulc) `. Quasi-unique base-pairing between nucleotides can be achieved by using +more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. +This prevents the hybridization of in principle complementary bases within Ntypes/4 bases up and down along the backbone. The exact functional form of the pair styles is rather complex. @@ -82,7 +79,7 @@ for a detailed description of the oxDNA force field. These pair styles have to be used together with the related oxDNA bond style *oxdna/fene* for the connectivity of the phosphate backbone (see also documentation of - :doc:`bond\_style oxdna/fene `). Most of the coefficients + :doc:`bond_style oxdna/fene `). Most of the coefficients in the above example have to be kept fixed and cannot be changed without reparameterizing the entire model. Exceptions are the first four coefficients after *oxdna/stk* (seq=seqdep, T=0.1, xi=1.3448 and kappa=2.6568 in the above example) and the first coefficient after *oxdna/hbond* (seq=seqdep in the above example). @@ -100,17 +97,15 @@ on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found `here `_. Please cite also the relevant oxDNA publications -:ref:`(Ouldridge) `, +:ref:`(Ouldridge) `, :ref:`(Ouldridge-DPhil) ` and :ref:`(Sulc) `. ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. @@ -118,13 +113,12 @@ USER-CGDNA package and the MOLECULE and ASPHERE package. See the Related commands """""""""""""""" -:doc:`bond\_style oxdna/fene `, :doc:`pair\_coeff `, -:doc:`bond\_style oxdna2/fene `, :doc:`pair\_style oxdna2/excv `, -:doc:`bond\_style oxrna2/fene `, :doc:`pair\_style oxrna2/excv `, +:doc:`bond_style oxdna/fene `, :doc:`pair_coeff `, +:doc:`bond_style oxdna2/fene `, :doc:`pair_style oxdna2/excv `, +:doc:`bond_style oxrna2/fene `, :doc:`pair_style oxrna2/excv `, :doc:`fix nve/dotc/langevin ` - -**Default:** none +**Default:** none ---------- @@ -143,8 +137,3 @@ Related commands .. _Sulc1: **(Sulc)** P. Sulc, F. Romano, T.E. Ouldridge, L. Rovigatti, J.P.K. Doye, A.A. Louis, J. Chem. Phys. 137, 135101 (2012). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_oxdna2.rst b/doc/src/pair_oxdna2.rst index 77052da66686c699a57fbdc1cac11ae02cb65d34..465f46a9138eb0008f486e9343c448fc60a9de47 100644 --- a/doc/src/pair_oxdna2.rst +++ b/doc/src/pair_oxdna2.rst @@ -1,39 +1,37 @@ -.. index:: pair\_style oxdna2/excv +.. index:: pair_style oxdna2/excv -pair\_style oxdna2/excv command -=============================== - -pair\_style oxdna2/stk command +pair_style oxdna2/excv command ============================== -pair\_style oxdna2/hbond command -================================ +pair_style oxdna2/stk command +============================= -pair\_style oxdna2/xstk command +pair_style oxdna2/hbond command =============================== -pair\_style oxdna2/coaxstk command -================================== +pair_style oxdna2/xstk command +============================== + +pair_style oxdna2/coaxstk command +================================= -pair\_style oxdna2/dh command -============================= +pair_style oxdna2/dh command +============================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style1 - pair_coeff \* \* style2 args + pair_coeff * * style2 args * style1 = *hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh* * style2 = *oxdna2/excv* or *oxdna2/stk* or *oxdna2/hbond* or *oxdna2/xstk* or *oxdna2/coaxstk* or *oxdna2/dh* * args = list of arguments for these particular styles - .. parsed-literal:: *oxdna2/stk* args = seq T xi kappa 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 @@ -52,18 +50,17 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh - pair_coeff \* \* oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 - pair_coeff \* \* oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 - pair_coeff \* \* oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + pair_coeff * * oxdna2/excv 2.0 0.7 0.675 2.0 0.515 0.5 2.0 0.33 0.32 + pair_coeff * * oxdna2/stk seqdep 0.1 1.3523 2.6717 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 + pair_coeff * * oxdna2/hbond seqdep 0.0 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 pair_coeff 1 4 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 pair_coeff 2 3 oxdna2/hbond seqdep 1.0678 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 - pair_coeff \* \* oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 - pair_coeff \* \* oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 - pair_coeff \* \* oxdna2/dh 0.1 0.5 0.815 + pair_coeff * * oxdna2/xstk 47.5 0.575 0.675 0.495 0.655 2.25 0.791592653589793 0.58 1.7 1.0 0.68 1.7 1.0 0.68 1.5 0 0.65 1.7 0.875 0.68 1.7 0.875 0.68 + pair_coeff * * oxdna2/coaxstk 58.5 0.4 0.6 0.22 0.58 2.0 2.891592653589793 0.65 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 40.0 3.116592653589793 + pair_coeff * * oxdna2/dh 0.1 0.5 0.815 Description """"""""""" @@ -74,9 +71,9 @@ excluded volume interaction *oxdna2/excv*\ , the stacking *oxdna2/stk*\ , cross- and coaxial stacking interaction *oxdna2/coaxstk*\ , electrostatic Debye-Hueckel interaction *oxdna2/dh* as well as the hydrogen-bonding interaction *oxdna2/hbond* between complementary pairs of nucleotides on opposite strands. Average sequence or sequence-dependent stacking and base-pairing strengths -are supported :ref:`(Sulc) `. Quasi-unique base-pairing between nucleotides can be achieved by using -more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. -This prevents the hybridization of in principle complementary bases within Ntypes/4 bases +are supported :ref:`(Sulc) `. Quasi-unique base-pairing between nucleotides can be achieved by using +more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. +This prevents the hybridization of in principle complementary bases within Ntypes/4 bases up and down along the backbone. The exact functional form of the pair styles is rather complex. @@ -90,7 +87,7 @@ and :ref:`(Ouldridge) ` for a detailed description of the oxDNA2 fo These pair styles have to be used together with the related oxDNA2 bond style *oxdna2/fene* for the connectivity of the phosphate backbone (see also documentation of - :doc:`bond\_style oxdna2/fene `). Most of the coefficients + :doc:`bond_style oxdna2/fene `). Most of the coefficients in the above example have to be kept fixed and cannot be changed without reparameterizing the entire model. Exceptions are the first four coefficients after *oxdna2/stk* (seq=seqdep, T=0.1, xi=1.3523 and kappa=2.6717 in the above example), the first coefficient after *oxdna2/hbond* (seq=seqdep in the above example) and the three coefficients @@ -112,11 +109,9 @@ Please cite also the relevant oxDNA2 publications ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. @@ -124,14 +119,13 @@ USER-CGDNA package and the MOLECULE and ASPHERE package. See the Related commands """""""""""""""" -:doc:`bond\_style oxdna2/fene `, :doc:`pair\_coeff `, -:doc:`bond\_style oxdna/fene `, :doc:`pair\_style oxdna/excv `, -:doc:`bond\_style oxrna2/fene `, :doc:`pair\_style oxrna2/excv `, +:doc:`bond_style oxdna2/fene `, :doc:`pair_coeff `, +:doc:`bond_style oxdna/fene `, :doc:`pair_style oxdna/excv `, +:doc:`bond_style oxrna2/fene `, :doc:`pair_style oxrna2/excv `, :doc:`fix nve/dotc/langevin ` **Default:** none - ---------- .. _Henrich2: @@ -153,8 +147,3 @@ Related commands .. _Ouldridge2: **(Ouldridge)** T.E. Ouldridge, A.A. Louis, J.P.K. Doye, J. Chem. Phys. 134, 085101 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_oxrna2.rst b/doc/src/pair_oxrna2.rst index 3cc6e7f4a606291b9c1ce1658fb09f30a9be9cb1..0cca929c49c1ad15980df7a2ec759bb03e69d8b2 100644 --- a/doc/src/pair_oxrna2.rst +++ b/doc/src/pair_oxrna2.rst @@ -21,7 +21,6 @@ pair_style oxrna2/dh command Syntax """""" - .. code-block:: LAMMPS pair_style style1 @@ -33,7 +32,6 @@ Syntax * style2 = *oxrna2/excv* or *oxrna2/stk* or *oxrna2/hbond* or *oxrna2/xstk* or *oxrna2/coaxstk* or *oxrna2/dh* * args = list of arguments for these particular styles - .. parsed-literal:: *oxrna2/stk* args = seq T xi kappa 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 @@ -41,7 +39,7 @@ Syntax T = temperature (oxDNA units, 0.1 = 300 K) xi = 1.40206 (temperature-independent coefficient in stacking strength) kappa = 2.77 (coefficient of linear temperature dependence in stacking strength) - *oxrna2/hbond* args = seq eps 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + *oxrna2/hbond* args = seq eps 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 seq = seqav (for average sequence base-pairing strength) or seqdep (for sequence-dependent base-pairing strength) eps = 0.870439 (between base pairs A-T, C-G and G-T) or 0 (all other pairs) *oxrna2/dh* args = T rhos qeff @@ -52,7 +50,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh @@ -75,9 +72,9 @@ excluded volume interaction *oxrna2/excv*\ , the stacking *oxrna2/stk*\ , cross- and coaxial stacking interaction *oxrna2/coaxstk*\ , electrostatic Debye-Hueckel interaction *oxrna2/dh* as well as the hydrogen-bonding interaction *oxrna2/hbond* between complementary pairs of nucleotides on opposite strands. Average sequence or sequence-dependent stacking and base-pairing strengths -are supported :ref:`(Sulc2) `. Quasi-unique base-pairing between nucleotides can be achieved by using -more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. -This prevents the hybridization of in principle complementary bases within Ntypes/4 bases +are supported :ref:`(Sulc2) `. Quasi-unique base-pairing between nucleotides can be achieved by using +more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. +This prevents the hybridization of in principle complementary bases within Ntypes/4 bases up and down along the backbone. The exact functional form of the pair styles is rather complex. @@ -91,7 +88,7 @@ and :ref:`(Ouldridge) ` for a detailed description of the oxRNA2 fo These pair styles have to be used together with the related oxDNA2 bond style *oxrna2/fene* for the connectivity of the phosphate backbone (see also documentation of - :doc:`bond\_style oxrna2/fene `). Most of the coefficients + :doc:`bond_style oxrna2/fene `). Most of the coefficients in the above example have to be kept fixed and cannot be changed without reparameterizing the entire model. Exceptions are the first four coefficients after *oxrna2/stk* (seq=seqdep, T=0.1, xi=1.40206 and kappa=2.77 in the above example), the first coefficient after *oxrna2/hbond* (seq=seqdep in the above example) and the three coefficients @@ -113,11 +110,9 @@ Please cite also the relevant oxRNA2 publications ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package ` doc page for more info. @@ -125,16 +120,15 @@ USER-CGDNA package and the MOLECULE and ASPHERE package. See the Related commands """""""""""""""" -:doc:`bond\_style oxrna2/fene `, :doc:`pair\_coeff `, -:doc:`bond\_style oxdna/fene `, :doc:`pair\_style oxdna/excv `, -:doc:`bond\_style oxdna2/fene `, :doc:`pair\_style oxdna2/excv `, +:doc:`bond_style oxrna2/fene `, :doc:`pair_coeff `, +:doc:`bond_style oxdna/fene `, :doc:`pair_style oxdna/excv `, +:doc:`bond_style oxdna2/fene `, :doc:`pair_style oxdna2/excv `, :doc:`fix nve/dotc/langevin ` **Default:** none - ---------- .. _Henrich3: diff --git a/doc/src/pair_peri.rst b/doc/src/pair_peri.rst index 284f3de32a2ce0d4c2448d57d738ca6be594d32e..2b3d3e9b9916d7fc385bd9dc4a4e2032e83d3384 100644 --- a/doc/src/pair_peri.rst +++ b/doc/src/pair_peri.rst @@ -1,28 +1,27 @@ -.. index:: pair\_style peri/pmb +.. index:: pair_style peri/pmb -pair\_style peri/pmb command -============================ +pair_style peri/pmb command +=========================== -pair\_style peri/pmb/omp command -================================ +pair_style peri/pmb/omp command +=============================== -pair\_style peri/lps command -============================ +pair_style peri/lps command +=========================== -pair\_style peri/lps/omp command -================================ +pair_style peri/lps/omp command +=============================== -pair\_style peri/ves command -============================ +pair_style peri/ves command +=========================== -pair\_style peri/eps command -============================ +pair_style peri/eps command +=========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style @@ -31,20 +30,19 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style peri/pmb - pair_coeff \* \* 1.6863e22 0.0015001 0.0005 0.25 + pair_coeff * * 1.6863e22 0.0015001 0.0005 0.25 pair_style peri/lps - pair_coeff \* \* 14.9e9 14.9e9 0.0015001 0.0005 0.25 + pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 pair_style peri/ves - pair_coeff \* \* 14.9e9 14.9e9 0.0015001 0.0005 0.25 0.5 0.001 + pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 0.5 0.001 pair_style peri/eps - pair_coeff \* \* 14.9e9 14.9e9 0.0015001 0.0005 0.25 118.43 + pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 118.43 Description """"""""""" @@ -75,15 +73,15 @@ R. Rahman and J. T. Foster at University of Texas at San Antonio. The original VES formulation is described in "(Mitchell2011)" and the original EPS formulation is in "(Mitchell2011a)". Additional PDF docs that describe the VES and EPS implementations are include in the -LAMMPS distribution in `doc/PDF/PDLammps\_VES.pdf `_ and -`doc/PDF/PDLammps\_EPS.pdf `_. For questions +LAMMPS distribution in `doc/PDF/PDLammps_VES.pdf `_ and +`doc/PDF/PDLammps_EPS.pdf `_. For questions regarding the VES and EPS models in LAMMPS you can contact R. Rahman (rezwanur.rahman at utsa.edu). The following coefficients must be defined for each pair of atom types -via the :doc:`pair\_coeff ` command as in the examples above, +via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below. For the *peri/pmb* style: @@ -91,11 +89,11 @@ For the *peri/pmb* style: * c (energy/distance/volume\^2 units) * horizon (distance units) * s00 (unitless) -* alpha (unitless) +* :math:`\alpha` (unitless) C is the effectively a spring constant for Peridynamic bonds, the horizon is a cutoff distance for truncating interactions, and s00 and -alpha are used as a bond breaking criteria. The units of c are such +:math:`\alpha` are used as a bond breaking criteria. The units of c are such that c/distance = stiffness/volume\^2, where stiffness is energy/distance\^2 and volume is distance\^3. See the users guide for more details. @@ -106,10 +104,10 @@ For the *peri/lps* style: * G (force/area units) * horizon (distance units) * s00 (unitless) -* alpha (unitless) +* :math:`\alpha` (unitless) K is the bulk modulus and G is the shear modulus. The horizon is a -cutoff distance for truncating interactions, and s00 and alpha are +cutoff distance for truncating interactions, and s00 and :math:`\alpha` are used as a bond breaking criteria. See the users guide for more details. @@ -119,16 +117,16 @@ For the *peri/ves* style: * G (force/area units) * horizon (distance units) * s00 (unitless) -* alpha (unitless) -* m\_lambdai (unitless) -* m\_taubi (unitless) +* :math:`\alpha` (unitless) +* m_lambdai (unitless) +* m_taubi (unitless) K is the bulk modulus and G is the shear modulus. The horizon is a -cutoff distance for truncating interactions, and s00 and alpha are -used as a bond breaking criteria. m\_lambdai and m\_taubi are the +cutoff distance for truncating interactions, and s00 and :math:`\alpha` are +used as a bond breaking criteria. m_lambdai and m_taubi are the viscoelastic relaxation parameter and time constant, -respectively. m\_lambdai varies within zero to one. For very small -values of m\_lambdai the viscoelastic model responds very similar to a +respectively. m_lambdai varies within zero to one. For very small +values of m_lambdai the viscoelastic model responds very similar to a linear elastic model. For details please see the description in "(Mtchell2011)". @@ -138,18 +136,16 @@ For the *peri/eps* style: * G (force/area units) * horizon (distance units) * s00 (unitless) -* alpha (unitless) -* m\_yield\_stress (force/area units) +* :math:`\alpha` (unitless) +* m_yield_stress (force/area units) K is the bulk modulus and G is the shear modulus. The horizon is a -cutoff distance and s00 and alpha are used as a bond breaking -criteria. m\_yield\_stress is the yield stress of the material. For +cutoff distance and s00 and :math:`\alpha` are used as a bond breaking +criteria. m_yield_stress is the yield stress of the material. For details please see the description in "(Mtchell2011a)". - ---------- - 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 @@ -168,87 +164,65 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -These pair styles do not support the :doc:`pair\_modify ` +These pair styles do not support the :doc:`pair_modify ` shift option. -The :doc:`pair\_modify ` table and tail options are not +The :doc:`pair_modify ` table and tail options are not relevant for these pair styles. -These pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. They do not support the +:doc:`run_style respa ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - All of these styles are part of the PERI package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Parks: - - **(Parks)** Parks, Lehoucq, Plimpton, Silling, Comp Phys Comm, 179(11), 777-783 (2008). .. _Silling2000: - - **(Silling 2000)** Silling, J Mech Phys Solids, 48, 175-209 (2000). .. _Silling2007: - - **(Silling 2007)** Silling, Epton, Weckner, Xu, Askari, J Elasticity, 88, 151-184 (2007). .. _Mitchell2011: - - **(Mitchell2011)** Mitchell. A non-local, ordinary-state-based viscoelasticity model for peridynamics. Sandia National Lab Report, 8064:1-28 (2011). .. _Mitchell2011a: - - **(Mitchell2011a)** Mitchell. A Nonlocal, Ordinary, State-Based Plasticity Model for Peridynamics. Sandia National Lab Report, 3166:1-34 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_polymorphic.rst b/doc/src/pair_polymorphic.rst index e9ab595011c4189c017e32b2c91190d9741ee74a..a23a9f12f933722b4005e5e2376b2962621d47f0 100644 --- a/doc/src/pair_polymorphic.rst +++ b/doc/src/pair_polymorphic.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style polymorphic +.. index:: pair_style polymorphic -pair\_style polymorphic command -=============================== +pair_style polymorphic command +============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style polymorphic @@ -16,273 +15,347 @@ style = *polymorphic* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style polymorphic - pair_coeff \* \* TlBr_msw.polymorphic Tl Br - pair_coeff \* \* AlCu_eam.polymorphic Al Cu - pair_coeff \* \* GaN_tersoff.polymorphic Ga N - pair_coeff \* \* GaN_sw.polymorphic GaN + pair_coeff * * FeCH_BOP_I.poly Fe C H + pair_coeff * * TlBr_msw.poly Tl Br + pair_coeff * * CuTa_eam.poly Cu Ta + pair_coeff * * GaN_tersoff.poly Ga N + pair_coeff * * GaN_sw.poly Ga N Description """"""""""" The *polymorphic* pair style computes a 3-body free-form potential -(:ref:`Zhou `) for the energy E of a system of atoms as - -.. image:: Eqs/polymorphic1.jpg - :align: center - -.. image:: Eqs/polymorphic2.jpg - :align: center - -.. image:: Eqs/polymorphic3.jpg - :align: center - -where I, J, K represent species of atoms i, j, and k, i\_1, ..., i\_N -represents a list of i's neighbors, delta\_ij is a Direc constant -(i.e., delta\_ij = 1 when i = j, and delta\_ij = 0 otherwise), eta\_ij is -similar constant that can be set either to eta\_ij = delta\_ij or eta\_ij -= 1 - delta\_ij depending on the potential type, U\_IJ(r\_ij), -V\_IJ(r\_ij), W\_IK(r\_ik) are pair functions, G\_JIK(cos(theta)) is an -angular function, P\_IK(delta r\_jik) is a function of atomic spacing -differential delta r\_jik = r\_ij - xi\_IJ\*r\_ik with xi\_IJ being a -pair-dependent parameter, and F\_IJ(X\_ij) is a function of the local -environment variable X\_ij. This generic potential is fully defined -once the constants eta\_ij and xi\_IJ, and the six functions U\_IJ(r\_ij), -V\_IJ(r\_ij), W\_IK(r\_ik), G\_JIK(cos(theta)), P\_IK(delta r\_jik), and -F\_IJ(X\_ij) are given. Note that these six functions are all one -dimensional, and hence can be provided in an analytic or tabular -form. This allows users to design different potentials solely based on -a manipulation of these functions. For instance, the potential reduces -to Stillinger-Weber potential (:ref:`SW `) if we set - -.. image:: Eqs/polymorphic4.jpg - :align: center - -The potential reduces to Tersoff types of potential -(:ref:`Tersoff ` or :ref:`Albe `) if we set - -.. image:: Eqs/polymorphic5.jpg - :align: center - -.. image:: Eqs/polymorphic6.jpg - :align: center - -The potential reduces to Rockett-Tersoff (:ref:`Wang `) type if we set - -.. image:: Eqs/polymorphic7.jpg - :align: center - -.. image:: Eqs/polymorphic6.jpg - :align: center - -.. image:: Eqs/polymorphic8.jpg - :align: center - -The potential becomes embedded atom method (:ref:`Daw `) if we set - -.. image:: Eqs/polymorphic9.jpg - :align: center - -In the embedded atom method case, phi\_IJ(r\_ij) is the pair energy, -F\_I(X) is the embedding energy, X is the local electron density, and -f\_K(r) is the atomic electron density function. - -If the tabulated functions are created using the parameters of sw, -tersoff, and eam potentials, the polymorphic pair style will produce -the same global properties (energies and stresses) and the same forces -as the sw, tersoff, and eam pair styles. The polymorphic pair style -also produces the same atom properties (energies and stresses) as the -corresponding tersoff and eam pair styles. However, due to a different -partition of global properties to atom properties, the polymorphic -pair style will produce different atom properties (energies and -stresses) as the sw pair style. This does not mean that polymorphic -pair style is different from the sw pair style in this case. It just -means that the definitions of the atom energies and atom stresses are -different. - -Only a single pair\_coeff command is used with the polymorphic style -which specifies an potential file for all needed elements. These are +(:ref:`Zhou3 `) for the energy E of a system of atoms as + +.. math:: + + E & = \frac{1}{2}\sum_{i=1}^{i=N}\sum_{j=1}^{j=N}\left[\left(1-\delta_{ij}\right)\cdot U_{IJ}\left(r_{ij}\right)-\left(1-\eta_{ij}\right)\cdot F_{IJ}\left(X_{ij}\right)\cdot V_{IJ}\left(r_{ij}\right)\right] \\ + X_{ij} & = \sum_{k=i_1,k\neq j}^{i_N}W_{IK}\left(r_{ik}\right)\cdot G_{JIK}\left(\cos\theta_{jik}\right)\cdot P_{JIK}\left(\Delta r_{jik}\right) \\ + \Delta r_{jik} & = r_{ij}-\xi_{IJ}\cdot r_{ik} + +where I, J, K represent species of atoms i, j, and k, :math:`i_1, ..., +i_N` represents a list of *i*\ 's neighbors, :math:`\delta_{ij}` is a +Dirac constant (i.e., :math:`\delta_{ij} = 1` when :math:`i = j`, and +:math:`\delta_{ij} = 0` otherwise), :math:`\eta_{ij}` is similar +constant that can be set either to :math:`\eta_{ij} = \delta_{ij}` or +:math:`\eta_{ij} = 1 - \delta_{ij}` depending on the potential type, +:math:`U_{IJ}(r_{ij})`, :math:`V_{IJ}(r_{ij})`, :math:`W_{IK}(r_{ik})` +are pair functions, :math:`G_{JIK}(\cos\theta_{jik})` is an angular +function, :math:`P_{JIK}(\Delta r_{jik})` is a function of atomic +spacing differential :math:`\Delta r_{jik} = r_{ij} - \xi_{IJ} \cdot +r_{ik}` with :math:`\xi_{IJ}` being a pair-dependent parameter, and +:math:`F_{IJ}(X_{ij})` is a function of the local environment variable +:math:`X_{ij}`. This generic potential is fully defined once the +constants :math:`\eta_{ij}` and :math:`\xi_{IJ}`, and the six functions +:math:`U_{IJ}(r_{ij})`, :math:`V_{IJ}(r_{ij})`, :math:`W_{IK}(r_{ik})`, +:math:`G_{JIK}(\cos\theta_{jik})`, :math:`P_{JIK}(\Delta r_{jik})`, and +:math:`F_{IJ}(X_{ij})` are given. Here LAMMPS uses a global parameter +:math:`\eta` to represent :math:`\eta_{ij}`. When :math:`\eta = 1`, +:math:`\eta_{ij} = 1 - \delta_{ij}`, otherwise :math:`\eta_{ij} = +\delta_{ij}`. Additionally, :math:`\eta = 3` indicates that the function +:math:`P_{JIK}(\Delta r)` depends on species I, J and K, otherwise +:math:`P_{JIK}(\Delta r) = P_{IK}(\Delta r)` only depends on species I +and K. Note that these six functions are all one dimensional, and hence +can be provided in a tabular form. This allows users to design different +potentials solely based on a manipulation of these functions. For +instance, the potential reduces to a Stillinger-Weber potential +(:ref:`SW `) if we set + +.. math:: + + \eta_{ij} & = \delta_{ij} (\eta = 2~or~\eta = 0),\xi_{IJ}=0 \\ + U_{IJ}\left(r\right) & = A_{IJ}\cdot\epsilon_{IJ}\cdot \left(\frac{\sigma_{IJ}}{r}\right)^q\cdot \left[B_{IJ}\cdot \left(\frac{\sigma_{IJ}}{r}\right)^{p-q}-1\right]\cdot exp\left(\frac{\sigma_{IJ}}{r-a_{IJ}\cdot \sigma_{IJ}}\right) \\ + V_{IJ}\left(r\right) & = \sqrt{\lambda_{IJ}\cdot \epsilon_{IJ}}\cdot exp\left(\frac{\gamma_{IJ}\cdot \sigma_{IJ}}{r-a_{IJ}\cdot \sigma_{IJ}}\right) \\ + F_{IJ}\left(X\right) & = -X \\ + P_{JIK}\left(\Delta r\right) & = P_{IK}\left(\Delta r\right) = 1 \\ + W_{IJ}\left(r\right) & = \sqrt{\lambda_{IJ}\cdot \epsilon_{IJ}}\cdot exp\left(\frac{\gamma_{IJ}\cdot \sigma_{IJ}}{r-a_{IJ}\cdot \sigma_{IJ}}\right) \\ + G_{JIK}\left(\cos\theta\right) & = \left(\cos\theta+\frac{1}{3}\right)^2 + +The potential reduces to a Tersoff potential (:ref:`Tersoff ` +or :ref:`Albe `) if we set + +.. math:: + + \eta_{ij} & = \delta_{ij} (\eta = 2~or~\eta = 0),\xi_{IJ}=1 \\ + U_{IJ}\left(r\right) & = \frac{D_{e,IJ}}{S_{IJ}-1}\cdot exp\left[-\beta_{IJ}\sqrt{2S_{IJ}}\left(r-r_{e,IJ}\right)\right]\cdot f_{c,IJ}\left(r\right) \\ + V_{IJ}\left(r\right) & = \frac{S_{IJ}\cdot D_{e,IJ}}{S_{IJ}-1}\cdot exp\left[-\beta_{IJ}\sqrt{\frac{2}{S_{IJ}}}\left(r-r_{e,IJ}\right)\right]\cdot f_{c,IJ}\left(r\right) \\ + F_{IJ}\left(X\right) & = \left(1+X\right)^{-\frac{1}{2}} \\ + P_{JIK}\left(\Delta r\right) & = P_{IK}\left(\Delta r\right) = exp\left(2\mu_{IK}\cdot \Delta r\right) \\ + W_{IJ}\left(r\right) & = f_{c,IJ}\left(r\right) \\ + G_{JIK}\left(\cos\theta\right) & = \gamma_{IK}\left[1+\frac{c_{IK}^2}{d_{IK}^2}-\frac{c_{IK}^2}{d_{IK}^2+\left(h_{IK}+\cos\theta\right)^2}\right] + +where + +.. math:: + + f_{c,IJ}\left(r\right)=\left\{\begin{array}{l} + 1, r\leq R_{IJ}-D_{IJ} \\ + \frac{1}{2}+\frac{1}{2}cos\left[\frac{\pi\left(r+D_{IJ}-R_{IJ}\right)}{2D_{IJ}}\right], R_{IJ}-D_{IJ} < r < R_{IJ}+D_{IJ} \\ + 0, r \geq R_{IJ}+D_{IJ} + \end{array}\right. + +The potential reduces to a modified Stillinger-Weber potential +(:ref:`Zhou3 `) if we set + +.. math:: + + \eta_{ij} & = \delta_{ij} (\eta = 2~or~\eta = 0),\xi_{IJ}=0 \\ + U_{IJ}\left(r\right) & = \varphi_{R,IJ}\left(r\right)-\varphi_{A,IJ}\left(r\right) \\ + V_{IJ}\left(r\right) & = u_{IJ}\left(r\right) \\ + F_{IJ}\left(X\right) & = -X \\ + P_{JIK}\left(\Delta r\right) & = P_{IK}\left(\Delta r\right) = 1 \\ + W_{IJ}\left(r\right) & = u_{IJ}\left(r\right) \\ + G_{JIK}\left(\cos\theta\right) & = g_{JIK}\left(\cos\theta\right) + +The potential reduces to a Rockett-Tersoff potential (:ref:`Wang3 +`) if we set + +.. math:: + + \eta_{ij} & = \delta_{ij} (\eta = 2~or~\eta = 0),\xi_{IJ}=1 \\ + U_{IJ}\left(r\right) & = A_{IJ}exp\left(-\lambda_{1,IJ}\cdot r\right)f_{c,IJ}\left(r\right)f_{ca,IJ}\left(r\right) \\ + V_{IJ}\left(r\right) & = \left\{\begin{array}{l}B_{IJ}exp\left(-\lambda_{2,IJ}\cdot r\right)f_{c,IJ}\left(r\right)+ \\ A_{IJ}exp\left(-\lambda_{1,IJ}\cdot r\right)f_{c,IJ}\left(r\right) \left[1-f_{ca,IJ}\left(r\right)\right]\end{array} \right\} \\ + F_{IJ}\left(X\right) & = \left[1+\left(\beta_{IJ}X\right)^{n_{IJ}}\right]^{-\frac{1}{2n_{IJ}}} \\ + P_{JIK}\left(\Delta r\right) & = P_{IK}\left(\Delta r\right) = exp\left(\lambda_{3,IK}\cdot \Delta r^3\right) \\ + W_{IJ}\left(r\right) & = f_{c,IJ}\left(r\right) \\ + G_{JIK}\left(\cos\theta\right) & = 1+\frac{c_{IK}^2}{d_{IK}^2}-\frac{c_{IK}^2}{d_{IK}^2+\left(h_{IK}+\cos\theta\right)^2} + +where :math:`f_{ca,IJ}(r)` is similar to the :math:`f_{c,IJ}(r)` defined +above: + +.. math:: + + f_{ca,IJ}\left(r\right)=\left\{\begin{array}{l} + 1, r\leq R_{a,IJ}-D_{a,IJ} \\ + \frac{1}{2}+\frac{1}{2}cos\left[\frac{\pi\left(r+D_{a,IJ}-R_{a,IJ}\right)}{2D_{a,IJ}}\right], R_{a,IJ}-D_{a,IJ} < r < R_{a,IJ}+D_{a,IJ} \\ + 0, r \geq R_{a,IJ}+D_{a,IJ} + \end{array}\right. + +The potential becomes the embedded atom method (:ref:`Daw `) +if we set + +.. math:: + + \eta_{ij} & = 1-\delta_{ij} (\eta = 1),\xi_{IJ}=0 \\ + U_{IJ}\left(r\right) & = \phi_{IJ}\left(r\right) \\ + V_{IJ}\left(r\right) & = 1 \\ + F_{II}\left(X\right) & = -2F_I\left(X\right) \\ + P_{JIK}\left(\Delta r\right) & = P_{IK}\left(\Delta r\right) = 1 \\ + W_{IJ}\left(r\right) & = f_{J}\left(r\right) \\ + G_{JIK}\left(\cos\theta\right) & = 1 + +In the embedded atom method case, :math:`\phi_{IJ}(r)` is the pair +energy, :math:`F_I(X)` is the embedding energy, *X* is the local +electron density, and :math:`f_J(r)` is the atomic electron density +function. + +The potential reduces to another type of Tersoff potential (:ref:`Zhou4 +`) if we set + +.. math:: + + \eta_{ij} & = \delta_{ij} (\eta = 3),\xi_{IJ}=1 \\ + U_{IJ}\left(r\right) & = \frac{D_{e,IJ}}{S_{IJ}-1}\cdot exp\left[-\beta_{IJ}\sqrt{2S_{IJ}}\left(r-r_{e,IJ}\right)\right]\cdot f_{c,IJ}\left(r\right) \cdot T_{IJ}\left(r\right)+V_{ZBL,IJ}\left(r\right)\left[1-T_{IJ}\left(r\right)\right] \\ + V_{IJ}\left(r\right) & = \frac{S_{IJ}\cdot D_{e,IJ}}{S_{IJ}-1}\cdot exp\left[-\beta_{IJ}\sqrt{\frac{2}{S_{IJ}}}\left(r-r_{e,IJ}\right)\right]\cdot f_{c,IJ}\left(r\right) \cdot T_{IJ}\left(r\right) \\ + F_{IJ}\left(X\right) & = \left(1+X\right)^{-\frac{1}{2}} \\ + P_{JIK}\left(\Delta r\right) & = \omega_{JIK} \cdot exp\left(\alpha_{JIK}\cdot \Delta r\right) \\ + W_{IJ}\left(r\right) & = f_{c,IJ}\left(r\right) \\ + G_{JIK}\left(\cos\theta\right) & = \gamma_{JIK}\left[1+\frac{c_{JIK}^2}{d_{JIK}^2}-\frac{c_{JIK}^2}{d_{JIK}^2+\left(h_{JIK}+\cos\theta\right)^2}\right] \\ + T_{IJ}\left(r\right) & = \frac{1}{1+exp\left[-b_{f,IJ}\left(r-r_{f,IJ}\right)\right]} \\ + V_{ZBL,IJ}\left(r\right) & = 14.4 \cdot \frac{Z_I \cdot Z_J}{r}\sum_{k=1}^{4}\mu_k \cdot exp\left[-\nu_k \left(Z_I^{0.23}+Z_J^{0.23}\right) r\right] + +where :math:`f_{c,IJ}(r)` is the same as defined above. This Tersoff +potential differs from the one above because the :math:`P_{JIK}(\Delta +r)` function is now dependent on all three species I, J, and K. + +If the tabulated functions are created using the parameters of +Stillinger-Weber, Tersoff, and EAM potentials, the polymorphic pair +style will produce the same global properties (energies and stresses) +and the same forces as the :doc:`sw `, :doc:`tersoff +`, and :doc:`eam ` pair styles. The polymorphic +pair style also produces the same per-atom properties (energies and +stresses) as the corresponding :doc:`tersoff ` and +:doc:`eam ` pair styles. However, due to a different +partitioning of global properties to per-atom properties, the +polymorphic pair style will produce different per-atom properties +(energies and stresses) as the :doc:`sw ` pair style. This does +not mean that polymorphic pair style is different from the sw pair +style. It just means that the definitions of the atom energies and atom +stresses are different. + +Only a single pair_coeff command is used with the polymorphic pair style +which specifies a potential file for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after -the filename in the pair\_coeff command, where N is the number of -LAMMPS atom types: +the filename in the pair_coeff command, where N is the number of LAMMPS +atom types: * filename -* N element names = mapping of Tersoff elements to atom types +* N element names = mapping of polymorphic potential elements to atom types -See the pair\_coeff doc page for alternate ways to specify the path for -the potential file. Several files for polymorphic potentials are -included in the potentials dir of the LAMMPS distribution. They have a -"poly" suffix. +See the pair_coeff doc page for alternate ways to specify the path for +the potential file. Several files for polymorphic potentials are +included in the potentials directory of the LAMMPS distribution. They +have a "poly" suffix. -As an example, imagine the SiC\_tersoff.polymorphic file has tabulated -functions for Si-C tersoff potential. If your LAMMPS simulation has 4 -atoms types and you want the 1st 3 to be Si, and the 4th to be C, you -would use the following pair\_coeff command: +As an example, imagine the GaN_tersoff.poly file has tabulated functions +for Ga-N tersoff potential. If your LAMMPS simulation has 4 atoms types +and you want the 1st 3 to be Ga, and the 4th to be N, you would use the +following pair_coeff command: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* SiC_tersoff.polymorphic Si Si Si C + pair_coeff * * GaN_tersoff.poly Ga Ga Ga N -The 1st 2 arguments must be \* \* so as to span all LAMMPS atom -types. The first three Si arguments map LAMMPS atom types 1,2,3 to the -Si element in the polymorphic file. The final C argument maps LAMMPS -atom type 4 to the C element in the polymorphic file. If a mapping -value is specified as NULL, the mapping is not performed. This can be -used when an polymorphic potential is used as part of the hybrid pair -style. The NULL values are placeholders for atom types that will be -used with other potentials. +The first two arguments must be \* \* to span all pairs of LAMMPS atom +types. The first three Ga arguments map LAMMPS atom types 1,2,3 to the +Ga element in the polymorphic file. The final N argument maps LAMMPS +atom type 4 to the N element in the polymorphic file. If a mapping value +is specified as NULL, the mapping is not performed. This can be used +when an polymorphic potential is used as part of the hybrid pair +style. The NULL values are placeholders for atom types that will be used +with other potentials. Potential files in the potentials directory of the LAMMPS distribution have a ".poly" suffix. At the beginning of the files, an unlimited -number of lines starting with '#' are used to describe the potential -and are ignored by LAMMPS. The next line lists two numbers: - +number of lines starting with '#' are used to describe the potential and +are ignored by LAMMPS. The next line lists two numbers: .. parsed-literal:: ntypes eta -Here ntypes represent total number of species defined in the potential -file, and eta = 0 or 1. The number ntypes must equal the total number -of different species defined in the pair\_coeff command. When eta = 1, -eta\_ij defined in the potential functions above is set to 1 - -delta\_ij, otherwise eta\_ij is set to delta\_ij. The next ntypes lines -each lists two numbers and a character string representing atomic -number, atomic mass, and name of the species of the ntypes elements: - +Here *ntypes* represent total number of species defined in the potential +file, :math:`\eta = 1` reduces to embedded atom method, :math:`\eta = 3` +assumes a three species dependent :math:`P_{JIK}(\Delta r)` function, +and all other values of :math:`\eta` assume a two species dependent +:math:`P_{JK}(\Delta r)` function. The value of *ntypes* must equal the +total number of different species defined in the pair_coeff command. The +next *ntypes* lines each lists two numbers and a character string +representing atomic number, atomic mass, and name of the species of the +ntypes elements: .. parsed-literal:: - atomic_number atomic-mass element (1) - atomic_number atomic-mass element (2) + atomic-number atomic-mass element-name(1) + atomic-number atomic-mass element-name(2) ... - atomic_number atomic-mass element (ntypes) + atomic-number atomic-mass element-name(ntypes) -The next ntypes\*(ntypes+1)/2 lines contain two numbers: +The next line contains four numbers: + +.. parsed-literal:: + + nr ntheta nx xmax +Here nr is total number of tabular points for radial functions U, V, W, +P, ntheta is total number of tabular points for the angular function G, +nx is total number of tabular points for the function F, xmax is a +maximum value of the argument of function F. Note that the pair +functions :math:`U_{IJ}(r)`, :math:`V_{IJ}(r)`, :math:`W_{IJ}(r)` are +uniformly tabulated between 0 and cutoff distance of the IJ pair, +:math:`G_{JIK}(\cos\theta)` is uniformly tabulated between -1 and 1, +:math:`P_{JIK}(\Delta r)` is uniformly tabulated between -rcmax and +rcmax where rcmax is the maximum cutoff distance of all pairs, and +:math:`F_{IJ}(X)` is uniformly tabulated between 0 and xmax. Linear +extrapolation is assumed if actual simulations exceed these ranges. + +The next ntypes\*(ntypes+1)/2 lines contain two numbers: .. parsed-literal:: - cut xi (1) - cut xi (2) + cut xi(1) + cut xi(2) ... - cut xi (ntypes\*(ntypes+1)/2) + cut xi(ntypes\*(ntypes+1)/2) -Here cut means the cutoff distance of the pair functions, xi is the -same as defined in the potential functions above. The +Here cut means the cutoff distance of the pair functions, "xi" is +:math:`\xi` as defined in the potential functions above. The ntypes\*(ntypes+1)/2 lines are related to the pairs according to the -sequence of first ii (self) pairs, i = 1, 2, ..., ntypes, and then -then ij (cross) pairs, i = 1, 2, ..., ntypes-1, and j = i+1, i+2, ..., -ntypes (i.e., the sequence of the ij pairs follows 11, 22, ..., 12, -13, 14, ..., 23, 24, ...). - -The final blocks of the potential file are the U, V, W, P, G, and F -functions are listed sequentially. First, U functions are given for -each of the ntypes\*(ntypes+1)/2 pairs according to the sequence -described above. For each of the pairs, nr values are listed. Next, -similar arrays are given for V, W, and P functions. Then G functions -are given for all the ntypes\*ntypes\*ntypes ijk triplets in a natural -sequence i from 1 to ntypes, j from 1 to ntypes, and k from 1 to -ntypes (i.e., ijk = 111, 112, 113, ..., 121, 122, 123 ..., 211, 212, -...). Each of the ijk functions contains ng values. Finally, the F -functions are listed for all ntypes\*(ntypes+1)/2 pairs, each -containing nx values. Either analytic or tabulated functions can be -specified. Currently, constant, exponential, sine and cosine analytic -functions are available which are specified with: constant c1 , where -f(x) = c1 exponential c1 c2 , where f(x) = c1 exp(c2\*x) sine c1 c2 , -where f(x) = c1 sin(c2\*x) cos c1 c2 , where f(x) = c1 cos(c2\*x) -Tabulated functions are specified by spline n x1 x2, where n=number of -point, (x1,x2)=range and then followed by n values evaluated uniformly -over these argument ranges. The valid argument ranges of the -functions are between 0 <= r <= cut for the U(r), V(r), W(r) -functions, -cutmax <= delta\_r <= cutmax for the P(delta\_r) functions, --1 <= costheta <= 1 for the G(costheta) functions, and 0 <= X <= maxX -for the F(X) functions. +sequence of first ii (self) pairs, i = 1, 2, ..., ntypes, and then ij +(cross) pairs, i = 1, 2, ..., ntypes-1, and j = i+1, i+2, ..., ntypes +(i.e., the sequence of the ij pairs follows 11, 22, ..., 12, 13, 14, +..., 23, 24, ...). + +In the final blocks of the potential file, U, V, W, P, G, and F +functions are listed sequentially. First, U functions are given for each +of the ntypes\*(ntypes+1)/2 pairs according to the sequence described +above. For each of the pairs, nr values are listed. Next, similar arrays +are given for V and W functions. If P functions depend only on pair +species, i.e., :math:`\eta \neq 3`, then P functions are also listed the +same way the next. If P functions depend on three species, i.e., +:math:`\eta = 3`, then P functions are listed for all the +ntypes*ntypes*ntypes IJK triplets in a natural sequence I from 1 to +ntypes, J from 1 to ntypes, and K from 1 to ntypes (i.e., IJK = 111, +112, 113, ..., 121, 122, 123 ..., 211, 212, ...). Next, G functions are +listed for all the ntypes*ntypes*ntypes IJK triplets similarly. For each +of the G functions, ntheta values are listed. Finally, F functions are +listed for all the ntypes*(ntypes+1)/2 pairs in the same sequence as +described above. For each of the F functions, nx values are listed. **Mixing, shift, table tail correction, restart**\ : -This pair styles does not support the :doc:`pair\_modify ` +This pair styles does not support the :doc:`pair_modify ` shift, table, and tail options. -This pair style does not write their information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input -script that reads a restart file. - +This pair style does not write their information to :doc:`binary restart +files `, since it is stored in potential files. Thus, you need +to re-specify the pair_style and pair_coeff commands in an input script +that reads a restart file. ---------- - Restrictions """""""""""" - -If using create\_atoms command, atomic masses must be defined in the -input script. If using read\_data, atomic masses must be defined in the +If using create_atoms command, atomic masses must be defined in the +input script. If using read_data, atomic masses must be defined in the atomic structure data file. This pair style is part of the MANYBODY package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +LAMMPS was built with that package. See the :doc:`Build package +` doc page for more info. This pair potential requires the :doc:`newtion ` setting to be "on" for pair interactions. -The potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal :doc:`units `. You can use -any LAMMPS units, but you would need to create your own potential -files. +The potential files provided with LAMMPS (see the potentials directory) +are parameterized for metal :doc:`units `. You can use any LAMMPS +units, but you would need to create your own potential files. Related commands """""""""""""""" -:doc:`pair\_coeff ` - +:doc:`pair_coeff ` ---------- - .. _Zhou3: +**(Zhou3)** X. W. Zhou, M. E. Foster, R. E. Jones, P. Yang, H. Fan, and F. P. Doty, J. Mater. Sci. Res., 4, 15 (2015). +.. _Zhou4: -**(Zhou)** X. W. Zhou, M. E. Foster, R. E. Jones, P. Yang, H. Fan, and -F. P. Doty, J. Mater. Sci. Res., 4, 15 (2015). +**(Zhou4)** X. W. Zhou, M. E. Foster, J. A. Ronevich, and C. W. San Marchi, J. Comp. Chem., 41, 1299 (2020). .. _SW: - - -**(SW)** F. H. Stillinger-Weber, and T. A. Weber, Phys. Rev. B, 31, 5262 (1985). +**(SW)** F. H. Stillinger, and T. A. Weber, Phys. Rev. B, 31, 5262 (1985). .. _Tersoff: - - **(Tersoff)** J. Tersoff, Phys. Rev. B, 39, 5566 (1989). .. _poly-Albe: - - -**(Albe)** K. Albe, K. Nordlund, J. Nord, and A. Kuronen, Phys. Rev. B, -66, 035205 (2002). +**(Albe)** K. Albe, K. Nordlund, J. Nord, and A. Kuronen, Phys. Rev. B, 66, 035205 (2002). .. _Wang3: - - **(Wang)** J. Wang, and A. Rockett, Phys. Rev. B, 43, 12571 (1991). .. _poly-Daw: - - **(Daw)** M. S. Daw, and M. I. Baskes, Phys. Rev. B, 29, 6443 (1984). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_python.rst b/doc/src/pair_python.rst index 53480ff286a041e37a9d6505596ec79a95f5282a..e654a6025f9bd6119e5126d93b75e7d86b1cf380 100644 --- a/doc/src/pair_python.rst +++ b/doc/src/pair_python.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style python +.. index:: pair_style python -pair\_style python command -========================== +pair_style python command +========================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style python cutoff @@ -16,15 +15,14 @@ cutoff = global cutoff for interactions in python potential classes Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style python 2.5 - pair_coeff \* \* py_pot.LJCutMelt lj + pair_coeff * * py_pot.LJCutMelt lj pair_style hybrid/overlay coul/long 12.0 python 12.0 - pair_coeff \* \* coul/long - pair_coeff \* \* python py_pot.LJCutSPCE OW NULL + pair_coeff * * coul/long + pair_coeff * * python py_pot.LJCutSPCE OW NULL Description """"""""""" @@ -38,12 +36,12 @@ interpreted language, however, the performance of this pair style is going to be significantly slower (often between 20x and 100x) than corresponding compiled code. This penalty can be significantly reduced through generating tabulations from the python code through the -:doc:`pair\_write ` command, which is supported by this style. +:doc:`pair_write ` command, which is supported by this style. -Only a single pair\_coeff command is used with the *python* pair style +Only a single pair_coeff command is used with the *python* pair style which specifies a python class inside a python module or file that LAMMPS will look up in the current directory, the folder pointed to by -the LAMMPS\_POTENTIALS environment variable or somewhere in your python +the LAMMPS_POTENTIALS environment variable or somewhere in your python path. A single python module can hold multiple python pair class definitions. The class definitions itself have to follow specific rules that are explained below. @@ -51,24 +49,23 @@ rules that are explained below. Atom types in the python class are specified through symbolic constants, typically strings. These are mapped to LAMMPS atom types by specifying N additional arguments after the class name in the -pair\_coeff command, where N must be the number of currently defined +pair_coeff command, where N must be the number of currently defined atom types: -As an example, imagine a file *py\_pot.py* has a python potential class +As an example, imagine a file *py_pot.py* has a python potential class names *LJCutMelt* with parameters and potential functions for a two Lennard-Jones atom types labeled as 'LJ1' and 'LJ2'. In your LAMMPS input and you would have defined 3 atom types, out of which the first two are supposed to be using the 'LJ1' parameters and the third the -'LJ2' parameters, then you would use the following pair\_coeff command: - +'LJ2' parameters, then you would use the following pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* py_pot.LJCutMelt LJ1 LJ1 LJ2 + pair_coeff * * py_pot.LJCutMelt LJ1 LJ1 LJ2 The first two arguments **must** be \* \* so as to span all LAMMPS atom types. The first two LJ1 arguments map LAMMPS atom types 1 and 2 to -the LJ1 atom type in the LJCutMelt class of the py\_pot.py file. The +the LJ1 atom type in the LJCutMelt class of the py_pot.py file. The final LJ2 argument maps LAMMPS atom type 3 to the LJ2 atom type the python file. If a mapping value is specified as NULL, the mapping is not performed, any pair interaction with this atom type will be @@ -76,17 +73,14 @@ skipped. This can be used when a *python* potential is used as part of the *hybrid* or *hybrid/overlay* pair style. The NULL values are then placeholders for atom types that will be used with other potentials. - ---------- - The python potential file has to start with the following code: +.. code-block:: python -.. parsed-literal:: + from __future__ import print_function - from __future_\_ import print_function - # class LAMMPSPairPotential(object): def __init__(self): self.pmap=dict() @@ -114,20 +108,19 @@ Here is an example for a single type Lennard-Jones potential class *LJCutMelt* in reduced units, which defines an atom type *lj* for which the parameters epsilon and sigma are both 1.0: - -.. parsed-literal:: +.. code-block:: python class LJCutMelt(LAMMPSPairPotential): def __init__(self): super(LJCutMelt,self).__init__() - # set coeffs: 48\*eps\*sig\*\*12, 24\*eps\*sig\*\*6, - # 4\*eps\*sig\*\*12, 4\*eps\*sig\*\*6 + # set coeffs: 48*eps*sig**12, 24*eps*sig**6, + # 4*eps*sig**12, 4*eps*sig**6 self.units = 'lj' self.coeff = {'lj' : {'lj' : (48.0,24.0,4.0,4.0)}} The class also has to provide two methods for the computation of the -potential energy and forces, which have be named *compute\_force*, -and *compute\_energy*, which both take 3 numerical arguments: +potential energy and forces, which have be named *compute_force*, +and *compute_energy*, which both take 3 numerical arguments: * rsq = the square of the distance between a pair of atoms (float) * itype = the (numerical) type of the first atom @@ -139,57 +132,53 @@ and use the result as return value. The functions need to use the value of the internal potential parameter data structure. Following the *LJCutMelt* example, here are the two functions: - -.. parsed-literal:: +.. code-block:: python def compute_force(self,rsq,itype,jtype): coeff = self.coeff[self.pmap[itype]][self.pmap[jtype]] r2inv = 1.0/rsq - r6inv = r2inv\*r2inv\*r2inv + r6inv = r2inv*r2inv*r2inv lj1 = coeff[0] lj2 = coeff[1] - return (r6inv \* (lj1\*r6inv - lj2))\*r2inv + return (r6inv * (lj1*r6inv - lj2))*r2inv def compute_energy(self,rsq,itype,jtype): coeff = self.coeff[self.pmap[itype]][self.pmap[jtype]] r2inv = 1.0/rsq - r6inv = r2inv\*r2inv\*r2inv + r6inv = r2inv*r2inv*r2inv lj3 = coeff[2] lj4 = coeff[3] - return (r6inv \* (lj3\*r6inv - lj4)) + return (r6inv * (lj3*r6inv - lj4)) .. note:: for consistency with the C++ pair styles in LAMMPS, the - *compute\_force* function follows the conventions of the Pair::single() + *compute_force* function follows the conventions of the Pair::single() methods and does not return the full force, but the force scaled by the distance between the two atoms, so this value only needs to be multiplied by delta x, delta y, and delta z to conveniently obtain the three components of the force vector between these two atoms. - ---------- - .. note:: The evaluation of scripted python code will slow down the computation pair-wise interactions quite significantly. However, this can be largely worked around through using the python pair style not for the actual simulation, but to generate tabulated potentials on the - fly using the :doc:`pair\_write ` command. Please see below + fly using the :doc:`pair_write ` command. Please see below for an example LAMMPS input of how to build a table file: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style python 2.5 - pair_coeff \* \* py_pot.LJCutMelt lj + pair_coeff * * py_pot.LJCutMelt lj shell rm -f melt.table pair_write 1 1 2000 rsq 0.01 2.5 lj1_lj2.table lj Note that it is strongly recommended to try to **delete** the potential -table file before generating it. Since the *pair\_write* command will +table file before generating it. Since the *pair_write* command will always **append** to a table file, while pair style table will use the **first match**\ . Thus when changing the potential function in the python class, the table pair style will still read the old variant unless the @@ -198,8 +187,7 @@ table file is first deleted. After switching the pair style to *table*\ , the potential tables need to be assigned to the LAMMPS atom types like this: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style table linear 2000 pair_coeff 1 1 melt.table lj @@ -207,10 +195,8 @@ to be assigned to the LAMMPS atom types like this: This can also be done for more complex systems. Please see the *examples/python* folders for a few more examples. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : Mixing of potential parameters has to be handled inside the provided @@ -219,37 +205,29 @@ energy computation can be correctly performed for all pairs of atom types as they are mapped to the atom type labels inside the python potential class. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the PYTHON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_write `, +:doc:`pair_coeff `, :doc:`pair_write `, :doc:`pair style table ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_quip.rst b/doc/src/pair_quip.rst index 3e953afebcd43241119fb7e43e873b62eb0f1b46..7781f3a9fbc6c34f5eb3f6075ac064aa1715a583 100644 --- a/doc/src/pair_quip.rst +++ b/doc/src/pair_quip.rst @@ -1,25 +1,23 @@ -.. index:: pair\_style quip +.. index:: pair_style quip -pair\_style quip command -======================== +pair_style quip command +======================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style quip Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style quip - pair_coeff \* \* gap_example.xml "Potential xml_label=GAP_2014_5_8_60_17_10_38_466" 14 - pair_coeff \* \* sw_example.xml "IP SW" 14 + pair_coeff * * gap_example.xml "Potential xml_label=GAP_2014_5_8_60_17_10_38_466" 14 + pair_coeff * * sw_example.xml "IP SW" 14 Description """"""""""" @@ -33,7 +31,7 @@ interface is chiefly intended to be used to run Gaussian Approximation Potentials (GAP), which are described in the following publications: :ref:`(Bartok et al) ` and :ref:`(PhD thesis of Bartok) `. -Only a single pair\_coeff command is used with the *quip* style that +Only a single pair_coeff command is used with the *quip* style that specifies a QUIP potential file containing the parameters of the potential for all needed elements in XML format. This is followed by a QUIP initialization string. Finally, the QUIP elements are mapped to @@ -44,7 +42,7 @@ number of LAMMPS atom types: * QUIP initialization string * N atomic numbers = mapping of QUIP elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. A QUIP potential is fully specified by the filename which contains the @@ -62,21 +60,20 @@ directory. **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - This pair style is part of the USER-QUIP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -84,9 +81,9 @@ QUIP potentials are parameterized in electron-volts and Angstroms and therefore should be used with LAMMPS metal :doc:`units `. QUIP potentials are generally not designed to work with the scaling -factors set by the :doc:`special\_bonds ` command. The +factors set by the :doc:`special_bonds ` command. The recommended setting in molecular systems is to include all -interactions, i.e. to use *special\_bonds lj/coul 1.0 1.0 1.0*. Scaling +interactions, i.e. to use *special_bonds lj/coul 1.0 1.0 1.0*. Scaling factors > 0.0 will be ignored and treated as 1.0. The only exception to this rule is if you know that your QUIP potential needs to exclude bonded, 1-3, or 1-4 interactions and does not already do this exclusion @@ -98,27 +95,16 @@ required. Related commands """""""""""""""" -:doc:`pair\_coeff ` - +:doc:`pair_coeff ` ---------- +.. _Bartok_2010: -.. _Bartok\_2010: - - - -**(Bartok\_2010)** AP Bartok, MC Payne, R Kondor, and G Csanyi, Physical +**(Bartok_2010)** AP Bartok, MC Payne, R Kondor, and G Csanyi, Physical Review Letters 104, 136403 (2010). -.. _Bartok\_PhD: - - +.. _Bartok_PhD: -**(Bartok\_PhD)** A Bartok-Partay, PhD Thesis, University of Cambridge, +**(Bartok_PhD)** A Bartok-Partay, PhD Thesis, University of Cambridge, (2010). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_reaxc.rst b/doc/src/pair_reaxc.rst index b670711e8c5121b12911c0d19a21e8ab87f7e03b..1481b0bf4fabf48bc14d9d943d8f80ba1be5e843 100644 --- a/doc/src/pair_reaxc.rst +++ b/doc/src/pair_reaxc.rst @@ -1,27 +1,26 @@ -.. index:: pair\_style reax/c +.. index:: pair_style reax/c -pair\_style reax/c command -========================== +pair_style reax/c command +========================= -pair\_style reax/c/kk command -============================= +pair_style reax/c/kk command +============================ -pair\_style reax/c/omp command -============================== +pair_style reax/c/omp command +============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style reax/c cfile keyword value * cfile = NULL or name of a control file * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *checkqeq* or *lgvdw* or *safezone* or *mincap* *checkqeq* value = *yes* or *no* = whether or not to require qeq/reax fix *enobonds* value = *yes* or *no* = whether or not to tally energy of atoms with no bonds @@ -29,19 +28,16 @@ Syntax *safezone* = factor used for array allocation *mincap* = minimum size for array allocation - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style reax/c NULL pair_style reax/c controlfile checkqeq no pair_style reax/c NULL lgvdw yes pair_style reax/c NULL safezone 1.6 mincap 100 - pair_coeff \* \* ffield.reax C H O N + pair_coeff * * ffield.reax C H O N Description """"""""""" @@ -67,7 +63,7 @@ consideration when using the *reax/c/kk* style is the choice of either half or full neighbor lists. This setting can be changed using the Kokkos :doc:`package ` command. -The *reax/c* style differs from the (obsolete) "pair\_style reax" +The *reax/c* style differs from the (obsolete) "pair_style reax" command in the implementation details. The *reax* style was a Fortran library, linked to LAMMPS. The *reax* style has been removed from LAMMPS after the 12 December 2018 version. @@ -78,7 +74,7 @@ documented in potentials/README.reax. The default ffield.reax contains parameterizations for the following elements: C, H, O, N. The format of these files is identical to that used originally by van -Duin. We have tested the accuracy of *pair\_style reax/c* potential +Duin. We have tested the accuracy of *pair_style reax/c* potential against the original ReaxFF code for the systems mentioned above. You can use other ffield files for specific chemical systems that may be available elsewhere (but note that their accuracy may not have been @@ -112,17 +108,17 @@ below. code. If these are changed by setting control variables in the control file, the results from LAMMPS and the serial code will not agree. -Examples using *pair\_style reax/c* are provided in the examples/reax +Examples using *pair_style reax/c* are provided in the examples/reax sub-directory. Use of this pair style requires that a charge be defined for every -atom. See the :doc:`atom\_style ` and -:doc:`read\_data ` commands for details on how to specify +atom. See the :doc:`atom_style ` and +:doc:`read_data ` commands for details on how to specify charges. The ReaxFF parameter files provided were created using a charge equilibration (QEq) model for handling the electrostatic interactions. -Therefore, by default, LAMMPS requires that the :doc:`fix qeq/reax ` command be used with *pair\_style reax/c* +Therefore, by default, LAMMPS requires that the :doc:`fix qeq/reax ` command be used with *pair_style reax/c* when simulating a ReaxFF model, to equilibrate charge each timestep. Using the keyword *checkqeq* with the value *no* turns off the check for *fix qeq/reax*\ , @@ -153,7 +149,7 @@ drops to zero. Optional keywords *safezone* and *mincap* are used for allocating reax/c arrays. Increasing these values can avoid memory problems, such as segmentation faults and bondchk failed errors, that could -occur under certain conditions. These keywords aren't used by the +occur under certain conditions. These keywords are not used by the Kokkos version, which instead uses a more robust memory allocation scheme that checks if the sizes of the arrays have been exceeded and automatically allocates more memory. @@ -188,8 +184,7 @@ code): To print these quantities to the log file (with descriptive column headings) the following commands could be included in an input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute reax all pair reax/c variable eb equal c_reax[1] @@ -198,10 +193,10 @@ headings) the following commands could be included in an input script: variable eqeq equal c_reax[14] thermo_style custom step temp epair v_eb v_ea [...] v_eqeq -Only a single pair\_coeff command is used with the *reax/c* style which +Only a single pair_coeff command is used with the *reax/c* style which specifies a ReaxFF potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -224,20 +219,16 @@ types that will be used with other potentials. As an example, say your LAMMPS simulation has 4 atom types and the elements are ordered as C, H, O, N in the *ffield* file. If you want the LAMMPS atom type 1 and 2 to be C, type 3 to be N, and type 4 to be -H, you would use the following pair\_coeff command: - +H, you would use the following pair_coeff command: -.. parsed-literal:: - - pair_coeff \* \* ffield.reax C C N H +.. code-block:: LAMMPS + pair_coeff * * ffield.reax C C N H ---------- - The format of a line in the control file is as follows: - .. parsed-literal:: variable_name value @@ -248,16 +239,16 @@ If the value of a control variable is not specified, then default values are used. What follows is the list of variables along with a brief description of their use and default values. -simulation\_name: Output files produced by *pair\_style reax/c* carry +simulation_name: Output files produced by *pair_style reax/c* carry this name + extensions specific to their contents. Partial energies are reported with a ".pot" extension, while the trajectory file has ".trj" extension. -tabulate\_long\_range: To improve performance, long range interactions +tabulate_long_range: To improve performance, long range interactions can optionally be tabulated (0 means no tabulation). Value of this variable denotes the size of the long range interaction table. The range from 0 to long range cutoff (defined in the *ffield* file) is -divided into *tabulate\_long\_range* points. Then at the start of +divided into *tabulate_long_range* points. Then at the start of simulation, we fill in the entries of the long range interaction table by computing the energies and forces resulting from van der Waals and Coulomb interactions between every possible atom type pairs present in @@ -266,64 +257,60 @@ interaction table to estimate the energy and forces between a pair of atoms. Linear interpolation is used for estimation. (default value = 0) -energy\_update\_freq: Denotes the frequency (in number of steps) of +energy_update_freq: Denotes the frequency (in number of steps) of writes into the partial energies file. (default value = 0) -nbrhood\_cutoff: Denotes the near neighbors cutoff (in Angstroms) +nbrhood_cutoff: Denotes the near neighbors cutoff (in Angstroms) regarding the bonded interactions. (default value = 5.0) -hbond\_cutoff: Denotes the cutoff distance (in Angstroms) for hydrogen +hbond_cutoff: Denotes the cutoff distance (in Angstroms) for hydrogen bond interactions.(default value = 7.5. A value of 0.0 turns off hydrogen bonds) -bond\_graph\_cutoff: is the threshold used in determining what is a +bond_graph_cutoff: is the threshold used in determining what is a physical bond, what is not. Bonds and angles reported in the trajectory file rely on this cutoff. (default value = 0.3) -thb\_cutoff: cutoff value for the strength of bonds to be considered in +thb_cutoff: cutoff value for the strength of bonds to be considered in three body interactions. (default value = 0.001) -thb\_cutoff\_sq: cutoff value for the strength of bond order products +thb_cutoff_sq: cutoff value for the strength of bond order products to be considered in three body interactions. (default value = 0.00001) -write\_freq: Frequency of writes into the trajectory file. (default +write_freq: Frequency of writes into the trajectory file. (default value = 0) -traj\_title: Title of the trajectory - not the name of the trajectory +traj_title: Title of the trajectory - not the name of the trajectory file. -atom\_info: 1 means print only atomic positions + charge (default = 0) +atom_info: 1 means print only atomic positions + charge (default = 0) -atom\_forces: 1 adds net forces to atom lines in the trajectory file +atom_forces: 1 adds net forces to atom lines in the trajectory file (default = 0) -atom\_velocities: 1 adds atomic velocities to atoms line (default = 0) +atom_velocities: 1 adds atomic velocities to atoms line (default = 0) -bond\_info: 1 prints bonds in the trajectory file (default = 0) - -angle\_info: 1 prints angles in the trajectory file (default = 0) +bond_info: 1 prints bonds in the trajectory file (default = 0) +angle_info: 1 prints angles in the trajectory file (default = 0) ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - 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 @@ -342,14 +329,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This pair style is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -357,12 +341,12 @@ The ReaxFF potential files provided with LAMMPS in the potentials directory are parameterized for real :doc:`units `. You can use the ReaxFF potential with any LAMMPS units, but you would need to create your own potential file with coefficients listed in the -appropriate units if your simulation doesn't use "real" units. +appropriate units if your simulation does not use "real" units. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`fix qeq/reax `, :doc:`fix reax/c/bonds `, :doc:`fix reax/c/species ` +:doc:`pair_coeff `, :doc:`fix qeq/reax `, :doc:`fix reax/c/bonds `, :doc:`fix reax/c/species ` Default """"""" @@ -370,32 +354,19 @@ Default The keyword defaults are checkqeq = yes, enobonds = yes, lgvdw = no, safezone = 1.2, mincap = 50. - ---------- +.. _Chenoweth_20082: -.. _Chenoweth\_20082: - - - -**(Chenoweth\_2008)** Chenoweth, van Duin and Goddard, +**(Chenoweth_2008)** Chenoweth, van Duin and Goddard, Journal of Physical Chemistry A, 112, 1040-1053 (2008). .. _Aktulga: - - (Aktulga) Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, 245-259 (2012). -.. _Liu\_2011: - - +.. _Liu_2011: **(Liu)** L. Liu, Y. Liu, S. V. Zybin, H. Sun and W. A. Goddard, Journal of Physical Chemistry A, 115, 11016-11022 (2011). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_resquared.rst b/doc/src/pair_resquared.rst index 2ddf7fb24ddbc2ce58defc9e3a35a2358278aa44..5bb4de7cb25009a1ab4648d4a69f455a4f9ddeb8 100644 --- a/doc/src/pair_resquared.rst +++ b/doc/src/pair_resquared.rst @@ -1,19 +1,18 @@ -.. index:: pair\_style resquared +.. index:: pair_style resquared -pair\_style resquared command -============================= +pair_style resquared command +============================ -pair\_style resquared/gpu command -================================= +pair_style resquared/gpu command +================================ -pair\_style resquared/omp command -================================= +pair_style resquared/omp command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style resquared cutoff @@ -22,11 +21,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style resquared 10.0 - pair_coeff \* \* 1.0 1.0 1.7 3.4 3.4 1.0 1.0 1.0 + pair_coeff * * 1.0 1.0 1.7 3.4 3.4 1.0 1.0 1.0 Description """"""""""" @@ -35,8 +33,8 @@ Style *resquared* computes the RE-squared anisotropic interaction :ref:`(Everaers) `, :ref:`(Babadi) ` between pairs of ellipsoidal and/or spherical Lennard-Jones particles. For ellipsoidal interactions, the potential considers the ellipsoid as being comprised -of small spheres of size sigma. LJ particles are a single sphere of -size sigma. The distinction is made to allow the pair style to make +of small spheres of size :math:`\sigma`. LJ particles are a single sphere of +size :math:`\sigma`. The distinction is made to allow the pair style to make efficient calculations of ellipsoid/solvent interactions. Details for the equations used are given in the references below and @@ -44,30 +42,31 @@ in `this supplementary document `_. Use of this pair style requires the NVE, NVT, or NPT fixes with the *asphere* extension (e.g. :doc:`fix nve/asphere `) in -order to integrate particle rotation. Additionally, :doc:`atom\_style ellipsoid ` should be used since it defines the +order to integrate particle rotation. Additionally, :doc:`atom_style ellipsoid ` should be used since it defines the rotational state and the size and shape of each ellipsoidal particle. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands: * A12 = Energy Prefactor/Hamaker constant (energy units) -* sigma = atomic interaction diameter (distance units) -* epsilon\_i_a = relative well depth of type I for side-to-side interactions -* epsilon\_i_b = relative well depth of type I for face-to-face interactions -* epsilon\_i_c = relative well depth of type I for end-to-end interactions -* epsilon\_j_a = relative well depth of type J for side-to-side interactions -* epsilon\_j_b = relative well depth of type J for face-to-face interactions -* epsilon\_j_c = relative well depth of type J for end-to-end interactions +* :math:`\sigma` = atomic interaction diameter (distance units) +* :math:`\epsilon_{i,a}` = relative well depth of type I for side-to-side interactions +* :math:`\epsilon_{i,b}` = relative well depth of type I for face-to-face interactions +* :math:`\epsilon_{i,c}` = relative well depth of type I for end-to-end interactions +* :math:`\epsilon_{j,a}` = relative well depth of type J for side-to-side interactions +* :math:`\epsilon_{j,b}` = relative well depth of type J for face-to-face interactions +* :math:`\epsilon_{j,c}` = relative well depth of type J for end-to-end interactions * cutoff (distance units) The parameters used depend on the type of the interacting particles, i.e. ellipsoids or LJ spheres. The type of a particle is determined by the diameters specified for its 3 shape parameters. If all 3 shape parameters = 0.0, then the particle is treated as an LJ sphere. The -epsilon\_i_\* or epsilon\_j_\* parameters are ignored for LJ spheres. If +:math:`\epsilon_{i,*}` or :math:`\epsilon_{j,*}` parameters are ignored +for LJ spheres. If the 3 shape parameters are > 0.0, then the particle is treated as an ellipsoid (even if the 3 parameters are equal to each other). @@ -79,20 +78,22 @@ the formulas in the supplementary document referenced above. A12 is the Hamaker constant as described in :ref:`(Everaers) `. In LJ units: -.. image:: Eqs/pair_resquared.jpg - :align: center +.. math:: + + A_{12} = 4\pi^2\epsilon_{\mathrm{LJ}}(\rho\sigma^3)^2 -where rho gives the number density of the spherical particles -composing the ellipsoids and epsilon\_LJ determines the interaction -strength of the spherical particles. +where :math:`\rho` gives the number density of the spherical particles +composing the ellipsoids and :math:`\epsilon_{\mathrm{LJ}}` determines +the interaction strength of the spherical particles. For ellipsoid/LJ sphere interactions, the interaction is also computed by the formulas in the supplementary document referenced above. A12 has a modified form (see `here `_ for details): -.. image:: Eqs/pair_resquared2.jpg - :align: center +.. math:: + + A_{12} = 4\pi^2\epsilon_{\mathrm{LJ}}(\rho\sigma^3) For ellipsoid/LJ sphere interactions, a correction to the distance- of-closest approach equation has been implemented to reduce the error @@ -103,57 +104,60 @@ using the standard Lennard-Jones formula, which is much cheaper to compute than the ellipsoidal formulas. A12 is used as epsilon in the standard LJ formula: -.. image:: Eqs/pair_resquared3.jpg - :align: center +.. math:: + + A_{12} = \epsilon_{\mathrm{LJ}} -and the specified *sigma* is used as the sigma in the standard LJ -formula. +and the specified :math:`\sigma` is used as the :math:`\sigma` in the +standard LJ formula. When one of both of the interacting particles are ellipsoids, then -*sigma* specifies the diameter of the continuous distribution of -constituent particles within each ellipsoid used to model the -RE-squared potential. Note that this is a different meaning for -*sigma* than the :doc:`pair\_style gayberne ` potential -uses. - -The epsilon\_i and epsilon\_j coefficients are defined for atom types, -not for pairs of atom types. Thus, in a series of pair\_coeff -commands, they only need to be specified once for each atom type. - -Specifically, if any of epsilon\_i_a, epsilon\_i_b, epsilon\_i_c are -non-zero, the three values are assigned to atom type I. If all the -epsilon\_i values are zero, they are ignored. If any of epsilon\_j_a, -epsilon\_j_b, epsilon\_j_c are non-zero, the three values are assigned -to atom type J. If all three epsilon\_i values are zero, they are -ignored. Thus the typical way to define the epsilon\_i and epsilon\_j -coefficients is to list their values in "pair\_coeff I J" commands when -I = J, but set them to 0.0 when I != J. If you do list them when I != -J, you should insure they are consistent with their values in other -pair\_coeff commands. +:math:`\sigma` specifies the diameter of the continuous distribution of +constituent particles within each ellipsoid used to model the RE-squared +potential. Note that this is a different meaning for :math:`\sigma` +than the :doc:`pair_style gayberne ` potential uses. + +The :math:`\epsilon_i` and :math:`\epsilon_j` coefficients are defined +for atom types, not for pairs of atom types. Thus, in a series of +pair_coeff commands, they only need to be specified once for each atom +type. + +Specifically, if any of :math:`\epsilon_{i,a}`, :math:`\epsilon_{i,b}`, +:math:`\epsilon_{i,c}` are non-zero, the three values are assigned to +atom type I. If all the :math:`\epsilon_i` values are zero, they are +ignored. If any of :math:`\epsilon_{j,a}`, :math:`\epsilon_{j,b}`, +:math:`\epsilon_{j,c}` are non-zero, the three values are assigned to +atom type J. If all three :math:`\epsilon_i` values are zero, they are +ignored. Thus the typical way to define the :math:`\epsilon_i` and +:math:`\epsilon_j` coefficients is to list their values in "pair_coeff +I J" commands when I = J, but set them to 0.0 when I != J. If you do +list them when I != J, you should insure they are consistent with their +values in other pair_coeff commands. Note that if this potential is being used as a sub-style of -:doc:`pair\_style hybrid `, and there is no "pair\_coeff I I" +:doc:`pair_style hybrid `, and there is no "pair_coeff I I" setting made for RE-squared for a particular type I (because I-I interactions are computed by another hybrid pair potential), then you still need to insure the epsilon a,b,c coefficients are assigned to -that type in a "pair\_coeff I J" command. +that type in a "pair_coeff I J" command. -For large uniform molecules it has been shown that the epsilon\_\*\_\* +For large uniform molecules it has been shown that the :math:`\epsilon_{*,*}` energy parameters are approximately representable in terms of local contact curvatures :ref:`(Everaers) `: -.. image:: Eqs/pair_resquared4.jpg - :align: center +.. math:: + + \epsilon_a = \sigma \cdot { \frac{a}{ b \cdot c } }; \epsilon_b = + \sigma \cdot { \frac{b}{ a \cdot c } }; \epsilon_c = \sigma \cdot { + \frac{c}{ a \cdot b } } where a, b, and c give the particle diameters. The last coefficient is optional. If not specified, the global cutoff -specified in the pair\_style command is used. - +specified in the pair_style command is used. ---------- - 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 @@ -172,15 +176,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance can be mixed, but only for sphere pairs. The -default mix value is *geometric*\ . See the "pair\_modify" command for +default mix value is *geometric*\ . See the "pair_modify" command for details. Other type pairs cannot be mixed, due to the different meanings of the energy prefactors used to calculate the interactions and the implicit dependence of the ellipsoid-sphere interaction on the @@ -188,39 +190,36 @@ equation for the Hamaker constant presented here. Mixing of sigma and epsilon followed by calculation of the energy prefactors using the equations above is recommended. -This pair styles supports the :doc:`pair\_modify ` shift +This pair styles supports the :doc:`pair_modify ` shift option for the energy of the Lennard-Jones portion of the pair interaction, but only for sphere-sphere interactions. There is no shifting performed for ellipsoidal interactions due to the anisotropic dependence of the interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords of the :doc:`run\_style command `. - +:doc:`run_style respa ` command. It does not support the +*inner*\ , *middle*\ , *outer* keywords of the :doc:`run_style command `. ---------- - Restrictions """""""""""" - This style is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This pair style requires that atoms be ellipsoids as defined by the -:doc:`atom\_style ellipsoid ` command. +:doc:`atom_style ellipsoid ` command. Particles acted on by the potential can be finite-size aspherical or spherical particles, or point particles. Spherical particles have all @@ -233,28 +232,17 @@ less accurate when high-aspect ratio ellipsoids are used. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`fix nve/asphere `, -:doc:`compute temp/asphere `, :doc:`pair\_style gayberne ` +:doc:`pair_coeff `, :doc:`fix nve/asphere `, +:doc:`compute temp/asphere `, :doc:`pair_style gayberne ` **Default:** none - ---------- - .. _Everaers3: - - **(Everaers)** Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). .. _Babadi: - - **(Berardi)** Babadi, Ejtehadi, Everaers, J Comp Phys, 219, 770-779 (2006). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_sdk.rst b/doc/src/pair_sdk.rst index 17694067c877e4e4ccbe68363666b7000bdc2176..2a5167030b5925be4e619b9007ef6598faea5df1 100644 --- a/doc/src/pair_sdk.rst +++ b/doc/src/pair_sdk.rst @@ -1,44 +1,42 @@ -.. index:: pair\_style lj/sdk +.. index:: pair_style lj/sdk -pair\_style lj/sdk command -========================== +pair_style lj/sdk command +========================= -pair\_style lj/sdk/gpu command -============================== - -pair\_style lj/sdk/kk command +pair_style lj/sdk/gpu command ============================= -pair\_style lj/sdk/omp command -============================== - -pair\_style lj/sdk/coul/long command -==================================== +pair_style lj/sdk/kk command +============================ -pair\_style lj/sdk/coul/long/gpu command -======================================== - -pair\_style lj/sdk/coul/long/omp command -======================================== +pair_style lj/sdk/omp command +============================= -pair\_style lj/sdk/coul/msm command +pair_style lj/sdk/coul/long command =================================== -pair\_style lj/sdk/coul/msm/omp command +pair_style lj/sdk/coul/long/gpu command ======================================= +pair_style lj/sdk/coul/long/omp command +======================================= + +pair_style lj/sdk/coul/msm command +================================== + +pair_style lj/sdk/coul/msm/omp command +====================================== + Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *lj/sdk* or *lj/sdk/coul/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/sdk* args = cutoff @@ -50,8 +48,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/sdk 2.5 pair_coeff 1 1 lj12_6 1 1.1 2.8 @@ -70,27 +67,36 @@ Description The *lj/sdk* styles compute a 9/6, 12/4, or 12/6 Lennard-Jones potential, given by -.. image:: Eqs/pair_cmm.jpg - :align: center +.. math:: + + E = & \frac{27}{4} \epsilon \left[ \left(\frac{\sigma}{r}\right)^{9} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c \\ + E = & \frac{3\sqrt{3}}{2} \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^4 \right] + \qquad r < r_c \\ + E = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c as required for the SDK Coarse-grained MD parameterization discussed in :ref:`(Shinoda) ` and :ref:`(DeVane) `. Rc is the cutoff. Style *lj/sdk/coul/long* computes the adds Coulombic interactions with an additional damping factor applied so it can be used in -conjunction with the :doc:`kspace\_style ` command and +conjunction with the :doc:`kspace_style ` command and its *ewald* or *pppm* or *pppm/cg* option. The Coulombic cutoff specified for this style means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in reciprocal space. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* cg\_type (lj9\_6, lj12\_4, or lj12\_6) +* cg_type (lj9_6, lj12_4, or lj12_6) * epsilon (energy units) * sigma (distance units) * cutoff1 (distance units) @@ -100,7 +106,7 @@ distance for the potential, not as the energy minimum. The prefactors are chosen so that the potential minimum is at -epsilon. The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair\_style command are used. +LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this @@ -109,12 +115,10 @@ type pair. For *lj/sdk/coul/long* and *lj/sdk/coul/msm* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global -Coulombic cutoff specified in the pair\_style command. - +Coulombic cutoff specified in the pair_style command. ---------- - 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 @@ -133,41 +137,36 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, and rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/sdk pair styles *cannot* be mixed, since different pairs may have different exponents. So all parameters -for all pairs have to be specified explicitly through the "pair\_coeff" +for all pairs have to be specified explicitly through the "pair_coeff" command. Defining then in a data file is also not supported, due to limitations of that file format. All of the lj/sdk pair styles support the -:doc:`pair\_modify ` shift option for the energy of the +:doc:`pair_modify ` shift option for the energy of the Lennard-Jones portion of the pair interaction. The *lj/sdk/coul/long* pair styles support the -:doc:`pair\_modify ` table option since they can tabulate +:doc:`pair_modify ` table option since they can tabulate the short-range portion of the long-range Coulombic interaction. -All of the lj/sdk pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do +All of the lj/sdk pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. The lj/sdk and lj/cut/coul/long pair styles do not support -the use of the *inner*\ , *middle*\ , and *outer* keywords of the :doc:`run\_style respa ` command. - +the use of the *inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa ` command. ---------- - Restrictions """""""""""" - All of the lj/sdk pair styles are part of the USER-CGSDK package. The *lj/sdk/coul/long* style also requires the KSPACE package to be built (which is enabled by default). They are only enabled if LAMMPS was @@ -177,27 +176,16 @@ doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`angle\_style sdk ` +:doc:`pair_coeff `, :doc:`angle_style sdk ` **Default:** none - ---------- - .. _Shinoda3: - - **(Shinoda)** Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007). .. _DeVane: - - **(DeVane)** Shinoda, DeVane, Klein, Soft Matter, 4, 2453-2462 (2008). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_sdpd_taitwater_isothermal.rst b/doc/src/pair_sdpd_taitwater_isothermal.rst index ec4ada108bccbdc89faba69f8b6e577fced051a3..05e7bbfac094125bc981baf78e16816053b0f885 100644 --- a/doc/src/pair_sdpd_taitwater_isothermal.rst +++ b/doc/src/pair_sdpd_taitwater_isothermal.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style sdpd/taitwater/isothermal +.. index:: pair_style sdpd/taitwater/isothermal -pair\_style sdpd/taitwater/isothermal command -============================================= +pair_style sdpd/taitwater/isothermal command +============================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sdpd/taitwater/isothermal temperature viscosity seed @@ -18,11 +17,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sdpd/taitwater/isothermal 300. 1. 28681 - pair_coeff \* \* 1000.0 1430.0 2.4 + pair_coeff * * 1000.0 1430.0 2.4 Description """"""""""" @@ -32,8 +30,6 @@ particles according to the Smoothed Dissipative Particle Dynamics model described in this paper by :ref:`(Espanol and Revenga) ` under the following assumptions: - - #. The temperature is constant and uniform. #. The shear viscosity is constant and uniform. #. The volume viscosity is negligible before the shear viscosity. @@ -47,11 +43,13 @@ imagine for a mesoscopic particle. The pressure forces between particles will be computed according to Tait's equation of state: -.. image:: Eqs/pair_sph_tait.jpg - :align: center +.. math:: -where gamma = 7 and B = c\_0\^2 rho\_0 / gamma, with rho\_0 being the -reference density and c\_0 the reference speed of sound. + p = B \left[(\frac{\rho}{\rho_0})^{\gamma} - 1\right] + +where :math:`\gamma = 7` and :math:`B = c_0^2 \rho_0 / \gamma`, with +:math:`\rho_0` being the reference density and :math:`c_0` the reference +speed of sound. The laminar viscosity and the random forces will be computed according to formulas described in :ref:`(Espanol and Revenga) `. @@ -72,59 +70,48 @@ to formulas described in :ref:`(Espanol and Revenga) `. different MPI tasks have distinct seeds. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. -* rho0 reference density (mass/volume units) -* c0 reference soundspeed (distance/time units) +* :math:`\rho_0` reference density (mass/volume units) +* :math:`c_0` reference soundspeed (distance/time units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -This style does not support the :doc:`pair\_modify ` +This style does not support the :doc:`pair_modify ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run\_style respa ` command. It does not support the *inner*\ , +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - This pair style is part of the USER-SDPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair coeff `, :doc:`pair sph/rhosum ` +:doc:`pair coeff `, :doc:`pair sph/rhosum `, +:doc:`pair sph/taitwater ` Default """"""" The default seed is 0 (before mixing). - ---------- - -.. _Espanol\_Revenga: - - +.. _Espanol_Revenga: **(Espanol and Revenga)** Espanol, Revenga, Physical Review E, 67, 026705 (2003). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_smd_hertz.rst b/doc/src/pair_smd_hertz.rst index 5af530aabbd8f1367d35526c7d62bb14b6e8375d..fd7f9c3e010213bbb703cccf51a381186eafce77 100644 --- a/doc/src/pair_smd_hertz.rst +++ b/doc/src/pair_smd_hertz.rst @@ -1,21 +1,22 @@ -.. index:: pair\_style smd/hertz +.. index:: pair_style smd/hertz -pair\_style smd/hertz command -============================= +pair_style smd/hertz command +============================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style smd/hertz scale_factor Examples """""""" -pair\_style smd/hertz 1.0 -pair\_coeff 1 1 +.. code-block:: LAMMPS + + pair_style smd/hertz 1.0 + pair_coeff 1 1 Description """"""""""" @@ -26,48 +27,34 @@ belonging to different physical bodies. The contact forces are calculated using a Hertz potential, which evaluates the overlap between two particles (whose spatial extents are defined via its contact radius). The effect is that a particles -cannot penetrate into each other. The parameter +cannot penetrate into each other. The parameter has units of pressure and should equal roughly one half 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' +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. - +approach each other. Usually, *scale_factor* =1.0. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : No mixing is performed automatically. Currently, no part of USER-SMD supports restarting nor minimization. rRESPA does not apply to this pair style. - ---------- - Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - - ----------- - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_smd_tlsph.rst b/doc/src/pair_smd_tlsph.rst index 02343b678f70d9429aa1f8326f169eee87e6ef25..ea819325b4ab76a377aa0488cd4e886267f6e30b 100644 --- a/doc/src/pair_smd_tlsph.rst +++ b/doc/src/pair_smd_tlsph.rst @@ -1,20 +1,21 @@ -.. index:: pair\_style smd/tlsph +.. index:: pair_style smd/tlsph -pair\_style smd/tlsph command -============================= +pair_style smd/tlsph command +============================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style smd/tlsph args Examples """""""" -pair\_style smd/tlsph +.. code-block:: LAMMPS + + pair_style smd/tlsph Description """"""""""" @@ -25,12 +26,11 @@ Smooth-Particle Hydrodynamics algorithm. This pair style is invoked with the following command: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style smd/tlsph - pair_coeff i j \*COMMON rho0 E nu Q1 Q2 hg Cp & - \*END + pair_coeff i j *COMMON rho0 E nu Q1 Q2 hg Cp & + *END Here, *i* and *j* denote the *LAMMPS* particle types for which this pair style is defined. Note that *i* and *j* must be equal, i.e., no @@ -51,39 +51,25 @@ be added. Please see the `SMD user guide `_ for a complete listing of the possible keywords and material models. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : No mixing is performed automatically. Currently, no part of USER-SMD supports restarting nor minimization. rRESPA does not apply to this pair style. - ---------- - Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - - ----------- - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_smd_triangulated_surface.rst b/doc/src/pair_smd_triangulated_surface.rst index 07b08a95f2ba7590d7f86a3acec10ca4f82d4c40..d1177b257723b336921efbc9df3b2c71c19797a6 100644 --- a/doc/src/pair_smd_triangulated_surface.rst +++ b/doc/src/pair_smd_triangulated_surface.rst @@ -1,74 +1,61 @@ -.. index:: pair\_style smd/tri\_surface +.. index:: pair_style smd/tri_surface -pair\_style smd/tri\_surface command -==================================== +pair_style smd/tri_surface command +=================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style smd/tri_surface scale_factor Examples """""""" -pair\_style smd/tri\_surface 1.0 -pair\_coeff 1 1 +.. code-block:: LAMMPS + + pair_style smd/tri_surface 1.0 + pair_coeff 1 1 Description """"""""""" -The *smd/tri\_surface* style calculates contact forces between SPH +The *smd/tri_surface* style calculates contact forces between SPH particles and a rigid wall boundary defined via the -:doc:`smd/wall\_surface ` fix. +:doc:`smd/wall_surface ` fix. The contact forces are calculated using a Hertz potential, which evaluates the overlap between a particle (whose spatial extents are defined via its contact radius) and the triangle. The effect is that a particle cannot penetrate into the triangular surface. The -parameter has units of pressure and should equal +parameter has units of pressure and should equal roughly one half 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' +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. - +approach the triangulated surface. Usually, *scale_factor* =1.0. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : No mixing is performed automatically. Currently, no part of USER-SMD supports restarting nor minimization. rRESPA does not apply to this pair style. - ---------- - Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - - ----------- - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_smd_ulsph.rst b/doc/src/pair_smd_ulsph.rst index cd97a799a37e784828104ba34483c4341200b54a..6210de2423a6762a25bd049a52f7301baf3c00fb 100644 --- a/doc/src/pair_smd_ulsph.rst +++ b/doc/src/pair_smd_ulsph.rst @@ -1,19 +1,17 @@ -.. index:: pair\_style smd/ulsph +.. index:: pair_style smd/ulsph -pair\_style smd/ulsph command +pair_style smd/ulsph command ============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style smd/ulsph args * these keywords must be given - .. parsed-literal:: keyword = *\*DENSITY_SUMMATION* or *\*DENSITY_CONTINUITY* and *\*VELOCITY_GRADIENT* or *\*NO_VELOCITY_GRADIENT* and *\*GRADIENT_CORRECTION* or *\*NO_GRADIENT_CORRECTION* @@ -21,10 +19,9 @@ Syntax Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_style smd/ulsph \*DENSITY_CONTINUITY \*VELOCITY_GRADIENT \*NO_GRADIENT_CORRECTION + pair_style smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION Description """"""""""" @@ -35,17 +32,16 @@ Smooth-Particle Hydrodynamics algorithm. This pair style is invoked similar to the following command: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_style smd/ulsph \*DENSITY_CONTINUITY \*VELOCITY_GRADIENT \*NO_GRADIENT_CORRECTION - pair_coeff i j \*COMMON rho0 c0 Q1 Cp hg & - \*END + pair_style smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION + pair_coeff i j *COMMON rho0 c0 Q1 Cp hg & + *END Here, *i* and *j* denote the *LAMMPS* particle types for which this pair style is defined. Note that *i* and *j* can be different, i.e., *ulsph* cross interactions between different particle types are -allowed. However, *i*\ --\ *i* respectively *j*\ --\ *j* pair\_coeff lines have +allowed. However, *i*\ --\ *i* respectively *j*\ --\ *j* pair_coeff lines have to precede a cross interaction. In contrast to the usual *LAMMPS* *pair coeff* definitions, which are given solely a number of floats and integers, the *ulsph* *pair coeff* definition is organized using @@ -59,46 +55,32 @@ diagonal components of the stress tensor), and a material model to compute shear stresses (the off-diagonal components of the stress tensor). -Note that the use of \*GRADIENT\_CORRECTION can lead to severe numerical -instabilities. For a general fluid simulation, \*NO\_GRADIENT\_CORRECTION +Note that the use of \*GRADIENT_CORRECTION can lead to severe numerical +instabilities. For a general fluid simulation, \*NO_GRADIENT_CORRECTION is recommended. Please see the `SMD user guide `_ for a complete listing of the possible keywords and material models. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : No mixing is performed automatically. Currently, no part of USER-SMD supports restarting nor minimization. rRESPA does not apply to this pair style. - ---------- - Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - - ----------- - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_smtbq.rst b/doc/src/pair_smtbq.rst index cb57f6ba985653c754aae49821b4f19cdf2d2480..492820124ec270c2b7145b156a041420caef5656 100644 --- a/doc/src/pair_smtbq.rst +++ b/doc/src/pair_smtbq.rst @@ -1,76 +1,78 @@ -.. index:: pair\_style smtbq +.. index:: pair_style smtbq -pair\_style smtbq command -========================= +pair_style smtbq command +======================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style smtbq Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style smtbq - pair_coeff \* \* ffield.smtbq.Al2O3 O Al + pair_coeff * * ffield.smtbq.Al2O3 O Al Description """"""""""" This pair style computes a variable charge SMTB-Q (Second-Moment -tight-Binding QEq) potential as described in :ref:`SMTB-Q\_1 ` and -:ref:`SMTB-Q\_2 `. Briefly, the energy of metallic-oxygen systems +tight-Binding QEq) potential as described in :ref:`SMTB-Q_1 ` and +:ref:`SMTB-Q_2 `. Briefly, the energy of metallic-oxygen systems is given by three contributions: -.. image:: Eqs/pair_smtbq1.jpg - :align: center +.. math:: -where *Etot* is the total potential energy of the system, -*EES* is the electrostatic part of the total energy, -*EOO* is the interaction between oxygen atoms and -*EMO* is a short-range interaction between metal and oxygen -atoms. This interactions depend on interatomic distance -*rij* and/or the charge *Qi* of atoms -*i*\ . Cut-off function enables smooth convergence to zero interaction. + E_{tot} & = E_{ES} + E_{OO} + E_{MO} \\ + E_{ES} & = \sum_i{\biggl[ \chi_{i}^{0}Q_i + \frac{1}{2}J_{i}^{0}Q_{i}^{2} + + \frac{1}{2} \sum_{j\neq i}{ J_{ij}(r_{ij})f_{cut}^{R_{coul}}(r_{ij})Q_i Q_j } \biggr] } \\ + E_{OO} & = \sum_{i,j}^{i,j = O}{\biggl[Cexp( -\frac{r_{ij}}{\rho} ) - Df_{cut}^{r_1^{OO}r_2^{OO}}(r_{ij}) exp(Br_{ij})\biggr]} \\ + E_{MO} & = \sum_i{E_{cov}^{i} + \sum_{j\neq i}{ Af_{cut}^{r_{c1}r_{c2}}(r_{ij})exp\bigl[-p(\frac{r_{ij}}{r_0} -1) \bigr] } } + +where :math:`E_{tot}` is the total potential energy of the system, +:math:`E_{ES}` is the electrostatic part of the total energy, +:math:`E_{OO}` is the interaction between oxygen atoms and +:math:`E_{MO}` is a short-range interaction between metal and oxygen +atoms. This interactions depend on interatomic distance :math:`r_{ij}` +and/or the charge :math:`Q_{i}` of atoms *i*\ . Cut-off function enables +smooth convergence to zero interaction. The parameters appearing in the upper expressions are set in the ffield.SMTBQ.Syst file where Syst corresponds to the selected system -(e.g. field.SMTBQ.Al2O3). Examples for TiO2, -Al2O3 are provided. A single pair\_coeff command +(e.g. field.SMTBQ.Al2O3). Examples for :math:`\mathrm{TiO_2}`, +:math:`\mathrm{Al_2O_3}` are provided. A single pair_coeff command is used with the SMTBQ styles which provides the path to the potential file with parameters for needed elements. These are mapped to LAMMPS atom types by specifying additional arguments after the potential -filename in the pair\_coeff command. Note that atom type 1 must always -correspond to oxygen atoms. As an example, to simulate a TiO2 system, +filename in the pair_coeff command. Note that atom type 1 must always +correspond to oxygen atoms. As an example, to simulate a :math:`\mathrm{TiO_2}` system, atom type 1 has to be oxygen and atom type 2 Ti. The following -pair\_coeff command should then be used: - +pair_coeff command should then be used: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* PathToLammps/potentials/ffield.smtbq.TiO2 O Ti + pair_coeff * * PathToLammps/potentials/ffield.smtbq.TiO2 O Ti -The electrostatic part of the energy consists of two components +The electrostatic part of the energy consists of two components self-energy of atom *i* in the form of a second order charge dependent polynomial and a long-range Coulombic electrostatic interaction. The latter uses the wolf summation method described in :ref:`Wolf `, -spherically truncated at a longer cutoff, *Rcoul*\ . The +spherically truncated at a longer cutoff, :math:`R_{coul}`. The charge of each ion is modeled by an orbital Slater which depends on the principal quantum number (\ *n*\ ) of the outer orbital shared by the ion. -Interaction between oxygen, *EOO*\ , consists of two parts, +Interaction between oxygen, :math:`E_{OO}`, consists of two parts, an attractive and a repulsive part. The attractive part is effective -only at short range (< r2OO). The attractive +only at short range (< :math:`r_2^{OO}`). The attractive contribution was optimized to study surfaces reconstruction -(e.g. :ref:`SMTB-Q\_2 ` in TiO2) and is not necessary +(e.g. :ref:`SMTB-Q_2 ` in :math:`\mathrm{TiO_2}`) and is not necessary for oxide bulk modeling. The repulsive part is the Pauli interaction between the electron clouds of oxygen. The Pauli repulsion and the coulombic electrostatic interaction have same cut off value. In the @@ -78,52 +80,57 @@ ffield.SMTBQ.Syst, the keyword *'buck'* allows to consider only the repulsive O-O interactions. The keyword *'buckPlusAttr'* allows to consider the repulsive and the attractive O-O interactions. -The short-range interaction between metal-oxygen, *EMO* is +The short-range interaction between metal-oxygen, :math:`E_{MO}` is based on the second moment approximation of the density of states with a N-body potential for the band energy term, -*Eicov*\ , and a Born-Mayer type repulsive terms -as indicated by the keyword *'second\_moment'* in the +:math:`E^i_{cov}`, and a Born-Mayer type repulsive terms +as indicated by the keyword *'second_moment'* in the ffield.SMTBQ.Syst. The energy band term is given by: -.. image:: Eqs/pair_smtbq2.jpg - :align: center +.. math:: -where *ηi* is the stoichiometry of atom *i*\ , -*δQi* is the charge delocalization of atom *i*\ , + E_{cov}^{i(i=M,O)} & = - \biggl\{\eta_i(\mu \xi^{0})^2 f_{cut}^{r_{c1}r_{c2}}(r_{ij}) + \biggl( \sum_{j(j=O,M)}{ exp[ -2q(\frac{r_{ij}}{r_0} - 1)] } \biggr) + \delta Q_i \bigl( 2\frac{n_0}{\eta_i} - \delta Q_i \bigr) \biggr\}^{1/2} \\ + \delta Q_i & = | Q_i^{F} | - | Q_i | + +where :math:`\eta_i` is the stoichiometry of atom *i*\ , +:math:`\delta Q_i` is the charge delocalization of atom *i*\ , compared to its formal charge -*QFi*\ . n0, the number of hybridized +:math:`Q^F_i`. :math:`n_0`, the number of hybridized orbitals, is calculated with to the atomic orbitals shared -*di* and the stoichiometry -*ηi*\ . *rc1* and *rc2* are the two +:math:`d_i` and the stoichiometry +:math:`\eta_i`. :math:`r_{c1}` and :math:`r_{c2}` are the two cutoff radius around the fourth neighbors in the cutoff function. -In the formalism used here, *ξ0* is the energy -parameter. *ξ0* is in tight-binding approximation the +In the formalism used here, :math:`\xi^0` is the energy +parameter. :math:`\xi^0` is in tight-binding approximation the hopping integral between the hybridized orbitals of the cation and the anion. In the literature we find many ways to write the hopping integral depending on whether one takes the point of view of the anion or cation. These are equivalent vision. The correspondence between the two visions is explained in appendix A of the article in the -SrTiO3 :ref:`SMTB-Q\_3 ` (parameter *β* shown in -this article is in fact the *βO*\ ). To summarize the -relationship between the hopping integral *ξ0* and the -others, we have in an oxide CnOm the following +SrTiO3 :ref:`SMTB-Q_3 ` (parameter :math:`\beta` shown in +this article is in fact the :math:`\beta_O`). To summarize the +relationship between the hopping integral :math:`\xi^O` and the +others, we have in an oxide :math:`\mathrm{C_n O_m}` the following relationship: -.. image:: Eqs/pair_smtbq3.jpg - :align: center +.. math:: + + \xi^0 & = \frac{\xi_O}{m} = \frac{\xi_C}{n} \\ + \frac{\beta_O}{\sqrt{m}} & = \frac{\beta_C}{\sqrt{n}} = \xi^0 \frac{\sqrt{m}+\sqrt{n}}{2} -Thus parameter μ, indicated above, is given by : μ = (√n -+ √m) ⁄ 2 +Thus parameter :math:`\mu`, indicated above, is given by :math:`\mu = \frac{1}{2}(\sqrt{n}+\sqrt{m})` The potential offers the possibility to consider the polarizability of the electron clouds of oxygen by changing the slater radius of the charge density around the oxygen atoms through the parameters *rBB, rB and rS* in the ffield.SMTBQ.Syst. This change in radius is performed according to the method developed by E. Maras -:ref:`SMTB-Q\_2 `. This method needs to determine the number of +:ref:`SMTB-Q_2 `. This method needs to determine the number of nearest neighbors around the oxygen. This calculation is based on -first (\ *r1n*\ ) and second (\ *r2n*\ ) distances +first (:math:`r_{1n}`) and second (:math:`r_{2n}`) distances neighbors. The SMTB-Q potential is a variable charge potential. The equilibrium @@ -132,8 +139,8 @@ equalization (QEq) method. See :ref:`Rick ` for further detail. One can adjust the frequency, the maximum number of iterative loop and the convergence of the equilibrium charge calculation. To obtain the energy conservation in NVE thermodynamic ensemble, we recommend to use -a convergence parameter in the interval 10-5 - -10-6 eV. +a convergence parameter in the interval 10e-5 - +10e-6 eV. The ffield.SMTBQ.Syst files are provided for few systems. They consist of nine parts and the lines beginning with '#' are comments (note that @@ -144,94 +151,135 @@ quotation marks (''). 1) Number of different element in the oxide: -* Nelem= 2 or 3 -* Divided line +* N_elem= 2 or 3 +* Divider line 2) Atomic parameters -For the anion (oxygen) +For the anion (oxygen) * Name of element (char) and stoichiometry in oxide * Formal charge and mass of element -* Principal quantum number of outer orbital (\ *n*\ ), electronegativity (\ *χ0i*\ ) and hardness (\ *J0i*\ ) -* Ionic radius parameters : max coordination number (\ *coordBB* = 6 by default), bulk coordination number *(coordB)*\ , surface coordination number *(coordS)* and *rBB, rB and rS* the slater radius for each coordination number. (note : If you don't want to change the slater radius, use three identical radius values) -* Number of orbital shared by the element in the oxide (\ *di*\ ) -* Divided line +* Principal quantum number of outer orbital n), electronegativity (:math:`\chi^0_i`) and hardness (:math:`J^0_i`) +* Ionic radius parameters : max coordination number (\ *coordBB* = 6 by default), bulk coordination number *(coordB)*\ , surface coordination number *(coordS)* and *rBB, rB and rS* the slater radius for each coordination number. (**note : If you don't want to change the slater radius, use three identical radius values**) +* Number of orbital shared by the element in the oxide (:math:`d_i`) +* Divider line For each cations (metal): * Name of element (char) and stoichiometry in oxide * Formal charge and mass of element -* Number of electron in outer orbital *(ne)*\ , electronegativity (\ *χ0i*\ ), hardness (\ *J0i*\ ) and *rSalter* the slater radius for the cation. -* Number of orbitals shared by the elements in the oxide (\ *di*\ ) -* Divided line +* Number of electron in outer orbital *(ne)*\ , electronegativity (:math:`\chi^0_i`), hardness (:math:`J^0_i`) and :math:`r_{Slater}` the slater radius for the cation. +* Number of orbitals shared by the elements in the oxide (:math:`d_i`) +* Divider line 3) Potential parameters: -* Keyword for element1, element2 and interaction potential ('second\_moment' or 'buck' or 'buckPlusAttr') between element 1 and 2. If the potential is 'second\_moment', specify 'oxide' or 'metal' for metal-oxygen or metal-metal interactions respectively. -* Potential parameter:

If type of potential is 'second\_moment' : *A (eV)*\ , *p*\ , *ξ0* (eV) and *q*
*rc1* (Å), *rc2* (Å) and *r0* (Å)
If type of potential is 'buck' : *C* (eV) and *ρ* (Å)
If type of potential is 'buckPlusAttr' : *C* (eV) and *ρ* (Å)
*D* (eV), *B* (Å-1), *r1OO* (Å) and *r2OO* (Å)
-* Divided line +* Keyword for element1, element2 and interaction potential + ('second_moment' or 'buck' or 'buckPlusAttr') between element 1 + and 2. If the potential is 'second_moment', specify 'oxide' or + 'metal' for metal-oxygen or metal-metal interactions respectively. +* Potential parameter: + + - If type of potential is 'second_moment' : A (eV), *p*, + :math:`\zeta^0` (eV) and *q*, :math:`r_{c1} (\mathrm{\mathring{A}})`, :math:`r_{c2} + (\mathrm{\mathring{A}})` and :math:`r_0 (\mathrm{\mathring{A}})` + - If type of potential is 'buck' : *C* (eV) and :math:`\rho (\mathrm{\mathring{A}})` + - If type of potential is 'buckPlusAttr' : *C* (eV) and :math:`\rho + (\mathrm{\mathring{A}})` *D* (eV), *B* :math:`(\mathrm{\mathring{A}}^{-1})`, :math:`r^{OO}_1 (\mathrm{\mathring{A}})` and + :math:`r^{OO}_2 (\mathrm{\mathring{A}})` +* Divider line 4) Tables parameters: -* Cutoff radius for the Coulomb interaction (\ *Rcoul*\ ) -* Starting radius (\ *rmin* = 1,18845 Å) and increments (\ *dr* = 0,001 Å) for creating the potential table. -* Divided line +* Cutoff radius for the Coulomb interaction (:math:`R_{coul}`) +* Starting radius (:math:`r_{min} = 1,18845 \mathrm{\mathring{A}}`) and increments + (:math:`dr = 0.001 \mathrm{\mathring{A}}`) for creating the potential table. +* Divider line 5) Rick model parameter: -* *Nevery* : parameter to set the frequency (\ *1/Nevery*\ ) of the charge resolution. The charges are evaluated each *Nevery* time steps. -* Max number of iterative loop (\ *loopmax*\ ) and precision criterion (\ *prec*\ ) in eV of the charge resolution -* Divided line +* *Nevery* : parameter to set the frequency of the charge + resolution. The charges are evaluated each *Nevery* time steps. +* Max number of iterative loop (\ *loopmax*\ ) and convergence criterion + (\ *prec*\ ) in eV of the charge resolution +* Divider line 6) Coordination parameter: -* First (\ *r1n*\ ) and second (\ *r2n*\ ) neighbor distances in Å -* Divided line +* First (:math:`r_{1n}`) and second (:math:`r_{2n}`) neighbor distances + in angstrom +* Divider line 7) Charge initialization mode: -* Keyword (\ *QInitMode*\ ) and initial oxygen charge (\ *Qinit*\ ). If keyword = 'true', all oxygen charges are initially set equal to *Qinit*\ . The charges on the cations are initially set in order to respect the neutrality of the box. If keyword = 'false', all atom charges are initially set equal to 0 if you use "create\_atom"#create\_atom command or the charge specified in the file structure using :doc:`read\_data ` command. -* Divided line +* Keyword (\ *QInitMode*\ ) and initial oxygen charge + (:math:`Q_{init}`). If keyword = 'true', all oxygen charges are + initially set equal to :math:`Q_{init}`. The charges on the cations + are initially set in order to respect the neutrality of the box. If + keyword = 'false', all atom charges are initially set equal to 0 if + you use the :doc:`create_atoms ` command or the charge + specified in the file structure using :doc:`read_data ` + command. +* Divider line + +8) Mode for the electronegativity equalization (Qeq) -8) Mode for the electronegativity equalization (Qeq) +* Keyword (\ *mode*\ ) followed by: + + - QEqAll (one QEq group) \| no parameters + - QEqAllParallel (several QEq groups) \| no parameters + - Surface \| zlim (QEq only for z>zlim) -* Keyword mode:
 
QEqAll (one QEq group) \| no parameters
QEqAllParallel (several QEq groups) \| no parameters
Surface \| zlim (QEq only for z>zlim)
* Parameter if necessary -* Divided line +* Divider line -9) Verbose +9) Verbose * If you want the code to work in verbose mode or not : 'true' or 'false' -* If you want to print or not in file 'Energy\_component.txt' the three main contributions to the energy of the system according to the description presented above : 'true' or 'false' and *NEnergy*\ . This option writes in file every *NEnergy* time step. If the value is 'false' then *NEnergy* = 0. The file take into account the possibility to have several QEq group *g* then it writes: time step, number of atoms in group *g*\ , electrostatic part of energy, *EES*\ , the interaction between oxygen, *EOO*\ , and short range metal-oxygen interaction, *EMO*\ . -* If you want to print in file 'Electroneg\_component.txt' the electronegativity component (\ *∂Etot ⁄∂Qi*\ ) or not: 'true' or 'false' and *NElectroneg*\ .This option writes in file every *NElectroneg* time step. If the value is 'false' then *NElectroneg* = 0. The file consist in atom number *i*\ , atom type (1 for oxygen and # higher than 1 for metal), atom position: *x*\ , *y* and *z*\ , atomic charge of atom *i*\ , electrostatic part of atom *i* electronegativity, covalent part of atom *i* electronegativity, the hopping integral of atom *i* *(Zβ2)i* and box electronegativity. +* If you want to print or not in the file 'Energy_component.txt' the + three main contributions to the energy of the system according to the + description presented above : 'true' or 'false' and + :math:`N_{Energy}`. This option writes to the file every + :math:`N_{Energy}` time steps. If the value is 'false' then + :math:`N_{Energy} = 0`. The file takes into account the possibility to + have several QEq groups *g* then it writes: time step, number of atoms + in group *g*\ , electrostatic part of energy, :math:`E_{ES}`, the + interaction between oxygen, :math:`E_{OO}`, and short range + metal-oxygen interaction, :math:`E_{MO}`. +* If you want to print to the file 'Electroneg_component.txt' the + electronegativity component (:math:`\frac{\partial E_{tot}}{\partial + Q_i}`) or not: 'true' or 'false' and :math:`N_{Electroneg}`. This + option writes to the file every :math:`N_{Electroneg}` time steps. If + the value is 'false' then :math:`N_{Electroneg} = 0`. The file + consist of atom number *i*\ , atom type (1 for oxygen and # higher + than 1 for metal), atom position: *x*\ , *y* and *z*\ , atomic charge + of atom *i*\ , electrostatic part of atom *i* electronegativity, + covalent part of atom *i* electronegativity, the hopping integral of + atom *i* :math:`(Z\beta^2)_i` and box electronegativity. .. note:: This last option slows down the calculation dramatically. Use only with a single processor simulation. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info:** -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -needs to re-specify the pair\_style and pair\_coeff commands in an input +needs to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - **Restriction:** This pair style is part of the USER-SMTBQ package and is only enabled @@ -246,55 +294,36 @@ for pair interactions. The SMTB-Q potential files provided with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. - ---------- - **Citing this work:** Please cite related publication: N. Salles, O. Politano, E. Amzallag and R. Tetot, Comput. Mater. Sci. 111 (2016) 181-189 - ---------- +.. _SMTB-Q_1: -.. _SMTB-Q\_1: - - - -**(SMTB-Q\_1)** N. Salles, O. Politano, E. Amzallag, R. Tetot, +**(SMTB-Q_1)** N. Salles, O. Politano, E. Amzallag, R. Tetot, Comput. Mater. Sci. 111 (2016) 181-189 -.. _SMTB-Q\_2: +.. _SMTB-Q_2: - - -**(SMTB-Q\_2)** E. Maras, N. Salles, R. Tetot, T. Ala-Nissila, +**(SMTB-Q_2)** E. Maras, N. Salles, R. Tetot, T. Ala-Nissila, H. Jonsson, J. Phys. Chem. C 2015, 119, 10391-10399 -.. _SMTB-Q\_3: - +.. _SMTB-Q_3: - -**(SMTB-Q\_3)** R. Tetot, N. Salles, S. Landron, E. Amzallag, Surface +**(SMTB-Q_3)** R. Tetot, N. Salles, S. Landron, E. Amzallag, Surface Science 616, 19-8722 28 (2013) .. _Wolf2: - - **(Wolf)** D. Wolf, P. Keblinski, S. R. Phillpot, J. Eggebrecht, J Chem Phys, 110, 8254 (1999). .. _Rick3: - - **(Rick)** S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 6141 (1994). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_snap.rst b/doc/src/pair_snap.rst index 1b0fb0f38589cdb1e841d9bb6cad1343c577a590..06ed748a07d34900b844d7ead0efc0e242672ff1 100644 --- a/doc/src/pair_snap.rst +++ b/doc/src/pair_snap.rst @@ -1,27 +1,25 @@ -.. index:: pair\_style snap +.. index:: pair_style snap -pair\_style snap command -======================== +pair_style snap command +======================= -pair\_style snap/kk command -=========================== +pair_style snap/kk command +========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style snap Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style snap - pair_coeff \* \* InP.snapcoeff InP.snapparam In In P P + pair_coeff * * InP.snapcoeff InP.snapparam In In P P Description """"""""""" @@ -38,12 +36,13 @@ In SNAP, the total energy is decomposed into a sum over atom energies. The energy of atom *i* is expressed as a weighted sum over bispectrum components. -.. image:: Eqs/pair_snap.jpg - :align: center +.. math:: + + E^i_{SNAP}(B_1^i,...,B_K^i) = \beta^{\alpha_i}_0 + \sum_{k=1}^K \beta_k^{\alpha_i} B_k^i -where *B\_k\^i* is the *k*\ -th bispectrum component of atom *i*\ , -and *beta\_k\^alpha\_i* is the corresponding linear coefficient -that depends on *alpha\_i*, the SNAP element of atom *i*\ . The +where :math:`B_k^i` is the *k*\ -th bispectrum component of atom *i*\ , +and :math:`\beta_k^{\alpha_i}` is the corresponding linear coefficient +that depends on :math:\alpha_i`, the SNAP element of atom *i*\ . The number of bispectrum components used and their definitions depend on the value of *twojmax* defined in the SNAP parameter file described below. @@ -51,10 +50,10 @@ The bispectrum calculation is described in more detail in :doc:`compute sna/atom `. Note that unlike for other potentials, cutoffs for SNAP potentials are -not set in the pair\_style or pair\_coeff command; they are specified in +not set in the pair_style or pair_coeff command; they are specified in the SNAP potential files themselves. -Only a single pair\_coeff command is used with the *snap* style which +Only a single pair_coeff command is used with the *snap* style which specifies a SNAP coefficient file followed by a SNAP parameter file and then N additional arguments specifying the mapping of SNAP elements to LAMMPS atom types, where N is the number of @@ -66,12 +65,11 @@ LAMMPS atom types: As an example, if a LAMMPS indium phosphide simulation has 4 atoms types, with the first two being indium and the 3rd and 4th being -phophorous, the pair\_coeff command would look like this: +phophorous, the pair_coeff command would look like this: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* snap InP.snapcoeff InP.snapparam In In P P + pair_coeff * * snap InP.snapcoeff InP.snapparam In In P P The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The two filenames are for the coefficient and parameter files, respectively. @@ -93,7 +91,7 @@ LAMMPS mapping list. The name of the SNAP parameter file usually ends in the ".snapparam" extension. It contains a small number of parameters that define the overall form of the SNAP potential. -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for these files. Quite commonly, @@ -103,17 +101,16 @@ tantalum potential provided in the LAMMPS potentials directory combines the *snap* and *zbl* pair styles. It is invoked by the following commands: +.. code-block:: LAMMPS -.. parsed-literal:: - - variable zblcutinner equal 4 - variable zblcutouter equal 4.8 - variable zblz equal 73 - pair_style hybrid/overlay & - zbl ${zblcutinner} ${zblcutouter} snap - pair_coeff \* \* zbl 0.0 - pair_coeff 1 1 zbl ${zblz} - pair_coeff \* \* snap Ta06A.snapcoeff Ta06A.snapparam Ta + variable zblcutinner equal 4 + variable zblcutouter equal 4.8 + variable zblz equal 73 + pair_style hybrid/overlay & + zbl ${zblcutinner} ${zblcutouter} snap + pair_coeff * * zbl 0.0 + pair_coeff 1 1 zbl ${zblz} + pair_coeff * * snap Ta06A.snapcoeff Ta06A.snapparam Ta It is convenient to keep these commands in a separate file that can be inserted in any LAMMPS input script using the :doc:`include ` @@ -139,7 +136,7 @@ The SNAP parameter file can contain blank and comment lines (start with #) anywhere. Each non-blank non-comment line must contain one keyword/value pair. The required keywords are *rcutfac* and *twojmax*\ . Optional keywords are *rfac0*\ , *rmin0*\ , -*switchflag*\ , and *bzeroflag*\ . +*switchflag*\ , *bzeroflag*\, and *chunksize*\. The default values for these keywords are @@ -148,10 +145,21 @@ The default values for these keywords are * *switchflag* = 0 * *bzeroflag* = 1 * *quadraticflag* = 1 +* *chunksize* = 2000 + +The keyword *chunksize* is only applicable when using the +pair style *snap* with the KOKKOS package and is ignored otherwise. +This keyword controls +the number of atoms in each pass used to compute the bispectrum +components and is used to avoid running out of memory. For example +if there are 4000 atoms in the simulation and the *chunksize* +is set to 2000, the bispectrum calculation will be broken up +into two passes. -Detailed definitions for all the keywords are given on the :doc:`compute sna/atom ` doc page. -If *quadraticflag* is set to 1, then the SNAP energy expression includes the quadratic term, -0.5\*B\^t.alpha.B, where alpha is a symmetric *K* by *K* matrix. +Detailed definitions for all the other keywords +are given on the :doc:`compute sna/atom ` doc page. + +If *quadraticflag* is set to 1, then the SNAP energy expression includes the quadratic term, 0.5\*B\^t.alpha.B, where alpha is a symmetric *K* by *K* matrix. The SNAP element file should contain *K*\ (\ *K*\ +1)/2 additional coefficients for each element, the upper-triangular elements of alpha. @@ -160,32 +168,28 @@ for each element, the upper-triangular elements of alpha. The previously used *diagonalstyle* keyword was removed in 2019, since all known SNAP potentials use the default value of 3. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS with user-specifiable parameters as described above. You never need to -specify a pair\_coeff command with I != J arguments for this style. +specify a pair_coeff command with I != J arguments for this style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - 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 @@ -204,14 +208,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This style is part of the SNAP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -224,29 +225,16 @@ Related commands **Default:** none - ---------- - .. _Thompson20142: - - **(Thompson)** Thompson, Swiler, Trott, Foiles, Tucker, J Comp Phys, 285, 316 (2015). .. _Bartok20102: - - **(Bartok2010)** Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). .. _Bartok2013: - - **(Bartok2013)** Bartok, Gillan, Manby, Csanyi, Phys Rev B 87, 184115 (2013). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_soft.rst b/doc/src/pair_soft.rst index 9e81b26c10c9c51b83500c2d2e823cb0b7fd09ff..3339009052e7861ccd0804af4cdc74542c33a387 100644 --- a/doc/src/pair_soft.rst +++ b/doc/src/pair_soft.rst @@ -1,19 +1,18 @@ -.. index:: pair\_style soft +.. index:: pair_style soft -pair\_style soft command -======================== +pair_style soft command +======================= -pair\_style soft/gpu command -============================ +pair_style soft/gpu command +=========================== -pair\_style soft/omp command -============================ +pair_style soft/omp command +=========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style soft cutoff @@ -22,25 +21,26 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style soft 1.0 - pair_coeff \* \* 10.0 + pair_coeff * * 10.0 pair_coeff 1 1 10.0 3.0 pair_style soft 1.0 - pair_coeff \* \* 0.0 + pair_coeff * * 0.0 variable prefactor equal ramp(0,30) - fix 1 all adapt 1 pair soft a \* \* v_prefactor + fix 1 all adapt 1 pair soft a * * v_prefactor Description """"""""""" Style *soft* computes pairwise interactions with the formula -.. image:: Eqs/pair_soft.jpg - :align: center +.. math:: + + E = A \left[ 1 + \cos\left(\frac{\pi r}{r_c}\right) \right] + \qquad r < r_c It is useful for pushing apart overlapping atoms, since it does not blow up as r goes to 0. A is a pre-factor that can be made to vary in @@ -50,9 +50,9 @@ interactions over time. Rc is the cutoff. See the :doc:`fix nve/limit ` command as in the examples above, +via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * A (energy units) @@ -63,7 +63,7 @@ cutoff is used. .. note:: - The syntax for :doc:`pair\_coeff ` with a single A + The syntax for :doc:`pair_coeff ` with a single A coeff is different in the current version of LAMMPS than in older versions which took two values, Astart and Astop, to ramp between them. This functionality is now available in a more general form @@ -74,26 +74,23 @@ cutoff is used. The :doc:`fix adapt ` command can be used to vary A for one or more pair types over the course of a simulation, in which case -pair\_coeff settings for A must still be specified, but will be +pair_coeff settings for A must still be specified, but will be overridden. For example these commands will vary the prefactor A for all pairwise interactions from 0.0 at the beginning to 30.0 at the end of a run: - -.. parsed-literal:: +.. code-block:: LAMMPS variable prefactor equal ramp(0,30) - fix 1 all adapt 1 pair soft a \* \* v_prefactor + fix 1 all adapt 1 pair soft a * * v_prefactor Note that a formula defined by an :doc:`equal-style variable ` can use the current timestep, elapsed time in the current run, elapsed time since the beginning of a series of runs, as well as access other variables. - ---------- - 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 @@ -112,35 +109,31 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is always mixed via a -*geometric* rule. The cutoff is mixed according to the pair\_modify +*geometric* rule. The cutoff is mixed according to the pair_modify mix value. The default mix value is *geometric*\ . See the -"pair\_modify" command for details. +"pair_modify" command for details. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift option, since the pair interaction goes to 0.0 at the cutoff. -The :doc:`pair\_modify ` table and tail options are not +The :doc:`pair_modify ` table and tail options are not relevant for this pair style. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -148,11 +141,6 @@ Restrictions Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`fix nve/limit `, :doc:`fix adapt ` +:doc:`pair_coeff `, :doc:`fix nve/limit `, :doc:`fix adapt ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_sph_heatconduction.rst b/doc/src/pair_sph_heatconduction.rst index 741cfe4368d7f5cb3331a0fad7ed39ae34a67dd2..45d064fdf5d2aad373ea55252466dce6329f3272 100644 --- a/doc/src/pair_sph_heatconduction.rst +++ b/doc/src/pair_sph_heatconduction.rst @@ -1,24 +1,22 @@ -.. index:: pair\_style sph/heatconduction +.. index:: pair_style sph/heatconduction -pair\_style sph/heatconduction command -====================================== +pair_style sph/heatconduction command +===================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/heatconduction Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/heatconduction - pair_coeff \* \* 1.0 2.4 + pair_coeff * * 1.0 2.4 Description """"""""""" @@ -30,45 +28,37 @@ See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. * D diffusion coefficient (length\^2/time units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -This style does not support the :doc:`pair\_modify ` +This style does not support the :doc:`pair_modify ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run\_style respa ` command. It does not support the *inner*\ , +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - This pair style is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, pair\_sph/rhosum +:doc:`pair_coeff `, pair_sph/rhosum **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_sph_idealgas.rst b/doc/src/pair_sph_idealgas.rst index 9267186e7d3f36fc68b63b8864ac89f3e88451ba..fe874797eb5dd5974f62ce6201e0c3040a3e21ad 100644 --- a/doc/src/pair_sph_idealgas.rst +++ b/doc/src/pair_sph_idealgas.rst @@ -1,24 +1,22 @@ -.. index:: pair\_style sph/idealgas +.. index:: pair_style sph/idealgas -pair\_style sph/idealgas command -================================ +pair_style sph/idealgas command +=============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/idealgas Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/idealgas - pair_coeff \* \* 1.0 2.4 + pair_coeff * * 1.0 2.4 Description """"""""""" @@ -26,68 +24,57 @@ Description The sph/idealgas style computes pressure forces between particles according to the ideal gas equation of state: -.. image:: Eqs/pair_sph_ideal.jpg - :align: center +.. math:: + + p = (\gamma - 1) \rho e -where gamma = 1.4 is the heat capacity ratio, rho is the local -density, and e is the internal energy per unit mass. This pair style -also computes Monaghan's artificial viscosity to prevent particles -from interpenetrating :ref:`(Monaghan) `. +where :math:`\gamma = 1.4` is the heat capacity ratio, :math:`\rho` is +the local density, and e is the internal energy per unit mass. This +pair style also computes Monaghan's artificial viscosity to prevent +particles from interpenetrating :ref:`(Monaghan) `. See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. -* nu artificial viscosity (no units) +* :math:`\nu` artificial viscosity (no units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -This style does not support the :doc:`pair\_modify ` +This style does not support the :doc:`pair_modify ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run\_style respa ` command. It does not support the *inner*\ , +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - This pair style is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, pair\_sph/rhosum +:doc:`pair_coeff `, pair_sph/rhosum **Default:** none - ---------- - .. _ideal-Monoghan: - - **(Monaghan)** Monaghan and Gingold, Journal of Computational Physics, 52, 374-389 (1983). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_sph_lj.rst b/doc/src/pair_sph_lj.rst index cf9d145121bfa6f7327ada7264c55c1f78e8803d..bdfe530cfb8c255003b359a1e810544c2b2a4c6f 100644 --- a/doc/src/pair_sph_lj.rst +++ b/doc/src/pair_sph_lj.rst @@ -1,24 +1,22 @@ -.. index:: pair\_style sph/lj +.. index:: pair_style sph/lj -pair\_style sph/lj command -========================== +pair_style sph/lj command +========================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/lj Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/lj - pair_coeff \* \* 1.0 2.4 + pair_coeff * * 1.0 2.4 Description """"""""""" @@ -34,34 +32,31 @@ See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. -* nu artificial viscosity (no units) +* :math:`\nu` artificial viscosity (no units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -This style does not support the :doc:`pair\_modify ` +This style does not support the :doc:`pair_modify ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run\_style respa ` command. It does not support the *inner*\ , +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - As noted above, the Lennard-Jones parameters epsilon and sigma are set to unity. @@ -71,28 +66,17 @@ if LAMMPS was built with that package. See the :doc:`Build package `, pair\_sph/rhosum +:doc:`pair_coeff `, pair_sph/rhosum **Default:** none - ---------- - .. _Ree: - - **(Ree)** Ree, Journal of Chemical Physics, 73, 5401 (1980). .. _Monoghan: - - **(Monaghan)** Monaghan and Gingold, Journal of Computational Physics, 52, 374-389 (1983). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_sph_rhosum.rst b/doc/src/pair_sph_rhosum.rst index 2ba1ad010a1e7076f4a9874556f7d0cdc87c2d47..b3148bcd6a453a287106ac322cd012d5c5464d6c 100644 --- a/doc/src/pair_sph_rhosum.rst +++ b/doc/src/pair_sph_rhosum.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style sph/rhosum +.. index:: pair_style sph/rhosum -pair\_style sph/rhosum command -============================== +pair_style sph/rhosum command +============================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/rhosum Nstep @@ -16,11 +15,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/rhosum 10 - pair_coeff \* \* 2.4 + pair_coeff * * 2.4 Description """"""""""" @@ -32,44 +30,36 @@ See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. * h (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -This style does not support the :doc:`pair\_modify ` +This style does not support the :doc:`pair_modify ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run\_style respa ` command. It does not support the *inner*\ , +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - This pair style is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, pair\_sph/taitwater +:doc:`pair_coeff `, pair_sph/taitwater **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_sph_taitwater.rst b/doc/src/pair_sph_taitwater.rst index ede4d4b1157e1f414740e737a019243ae3ea889d..3431a203199c95e959e054a9322499cae3c09abb 100644 --- a/doc/src/pair_sph_taitwater.rst +++ b/doc/src/pair_sph_taitwater.rst @@ -1,24 +1,22 @@ -.. index:: pair\_style sph/taitwater +.. index:: pair_style sph/taitwater -pair\_style sph/taitwater command -================================= +pair_style sph/taitwater command +================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/taitwater Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/taitwater - pair_coeff \* \* 1000.0 1430.0 1.0 2.4 + pair_coeff * * 1000.0 1430.0 1.0 2.4 Description """"""""""" @@ -26,11 +24,13 @@ Description The sph/taitwater style computes pressure forces between SPH particles according to Tait's equation of state: -.. image:: Eqs/pair_sph_tait.jpg - :align: center +.. math:: + + p = B \biggl[\left(\frac{\rho}{\rho_0}\right)^{\gamma} - 1\biggr] -where gamma = 7 and B = c\_0\^2 rho\_0 / gamma, with rho\_0 being the -reference density and c\_0 the reference speed of sound. +where :math:`\gamma = 7` and :math:`B = c_0^2 \rho_0 / \gamma`, with +:math:`\rho_0` being the reference density and :math:`c_0` the reference +speed of sound. This pair style also computes Monaghan's artificial viscosity to prevent particles from interpenetrating :ref:`(Monaghan) `. @@ -39,58 +39,46 @@ See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. -* rho0 reference density (mass/volume units) -* c0 reference soundspeed (distance/time units) -* nu artificial viscosity (no units) +* :math:`\rho_0` reference density (mass/volume units) +* :math:`c_0` reference soundspeed (distance/time units) +* :math:`\nu` artificial viscosity (no units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -This style does not support the :doc:`pair\_modify ` +This style does not support the :doc:`pair_modify ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run\_style respa ` command. It does not support the *inner*\ , +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - This pair style is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, pair\_sph/rhosum +:doc:`pair_coeff `, pair_sph/rhosum **Default:** none - ---------- - .. _Monaghan: - - **(Monaghan)** Monaghan and Gingold, Journal of Computational Physics, 52, 374-389 (1983). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_sph_taitwater_morris.rst b/doc/src/pair_sph_taitwater_morris.rst index 8637faf1884ab9c4806116773a900750a78ef4de..9c65fd91ecee4033102bafd6f19316c423dedde5 100644 --- a/doc/src/pair_sph_taitwater_morris.rst +++ b/doc/src/pair_sph_taitwater_morris.rst @@ -1,24 +1,22 @@ -.. index:: pair\_style sph/taitwater/morris +.. index:: pair_style sph/taitwater/morris -pair\_style sph/taitwater/morris command -======================================== +pair_style sph/taitwater/morris command +======================================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/taitwater/morris Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sph/taitwater/morris - pair_coeff \* \* 1000.0 1430.0 1.0 2.4 + pair_coeff * * 1000.0 1430.0 1.0 2.4 Description """"""""""" @@ -26,11 +24,13 @@ Description The sph/taitwater/morris style computes pressure forces between SPH particles according to Tait's equation of state: -.. image:: Eqs/pair_sph_tait.jpg - :align: center +.. math:: + + p = B \biggl[\left(\frac{\rho}{\rho_0}\right)^{\gamma} - 1\biggr] -where gamma = 7 and B = c\_0\^2 rho\_0 / gamma, with rho\_0 being the -reference density and c\_0 the reference speed of sound. +where :math:`\gamma = 7` and :math:`B = c_0^2 \rho_0 / \gamma`, with +:math:`\rho_0` being the reference density and :math:`c_0` the reference +speed of sound. This pair style also computes laminar viscosity :ref:`(Morris) `. @@ -38,57 +38,45 @@ See `this PDF guide `_ to using SPH in LAMMPS. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. -* rho0 reference density (mass/volume units) -* c0 reference soundspeed (distance/time units) -* nu dynamic viscosity (mass\*distance/time units) +* :math:`\rho_0` reference density (mass/volume units) +* :math:`c_0` reference soundspeed (distance/time units) +* :math:`\nu` dynamic viscosity (mass\*distance/time units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -This style does not support the :doc:`pair\_modify ` +This style does not support the :doc:`pair_modify ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files `. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. -This style can only be used via the *pair* keyword of the :doc:`run\_style respa ` command. It does not support the *inner*\ , +This style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. Restrictions """""""""""" - This pair style is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff `, pair\_sph/rhosum +:doc:`pair_coeff `, pair_sph/rhosum **Default:** none - ---------- - .. _Morris: - - **(Morris)** Morris, Fox, Zhu, J Comp Physics, 136, 214-226 (1997). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_spin_dipole.rst b/doc/src/pair_spin_dipole.rst index 87a3f7e424426496e7773459223cc8b62cdbcf94..fae22d5e8a1966fc3a07e1d985df89f3693f0908 100644 --- a/doc/src/pair_spin_dipole.rst +++ b/doc/src/pair_spin_dipole.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style spin/dipole/cut +.. index:: pair_style spin/dipole/cut -pair\_style spin/dipole/cut command -=================================== +pair_style spin/dipole/cut command +================================== -pair\_style spin/dipole/long command -==================================== +pair_style spin/dipole/long command +=================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style spin/dipole/cut cutoff pair_style spin/dipole/long cutoff @@ -18,19 +17,17 @@ Syntax * cutoff = global cutoff for magnetic dipole energy and forces (optional) (distance units) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style spin/dipole/cut 10.0 - pair_coeff \* \* 10.0 + pair_coeff * * 10.0 pair_coeff 2 3 8.0 pair_style spin/dipole/long 9.0 - pair_coeff \* \* 10.0 + pair_coeff * * 10.0 pair_coeff 2 3 6.0 Description @@ -43,37 +40,60 @@ The magnetic dipole-dipole interactions are computed by the following formulas for the magnetic energy, magnetic precession vector omega and mechanical force between particles I and J. -.. image:: Eqs/pair_spin_dipole.jpg - :align: center - -where si and sj are the spin on two magnetic particles, -r is their separation distance, and the vector e = (Ri - Rj)/\|Ri - Rj\| -is the direction vector between the two particles. +.. math:: + + \mathcal{H}_{\rm long} & = + -\frac{\mu_{0} \left( \mu_B\right)^2}{4\pi} + \sum_{i,j,i\neq j}^{N} + \frac{g_i g_j}{r_{ij}^3} + \biggl(3 + \left(\vec{e}_{ij}\cdot \vec{s}_{i}\right) + \left(\vec{e}_{ij}\cdot \vec{s}_{j}\right) + -\vec{s}_i\cdot\vec{s}_j \biggr) \\ + \mathbf{\omega}_i & = + \frac{\mu_0 (\mu_B)^2}{4\pi\hbar}\sum_{j} + \frac{g_i g_j}{r_{ij}^3} + \, \biggl( + 3\,(\vec{e}_{ij}\cdot\vec{s}_{j})\vec{e}_{ij} + -\vec{s}_{j} \biggr) \\ + \mathbf{F}_i & = + \frac{3\, \mu_0 (\mu_B)^2}{4\pi} \sum_j + \frac{g_i g_j}{r_{ij}^4} + \biggl[\bigl( (\vec{s}_i\cdot\vec{s}_j) + -5(\vec{e}_{ij}\cdot\vec{s}_i) + (\vec{e}_{ij}\cdot\vec{s}_j)\bigr) \vec{e}_{ij}+ + \bigl( + (\vec{e}_{ij}\cdot\vec{s}_i)\vec{s}_j+ + (\vec{e}_{ij}\cdot\vec{s}_j)\vec{s}_i + \bigr) + \biggr] + +where :math:`\vec{s}_i` and :math:`\vec{s}_j` are the spin on two magnetic +particles, r is their separation distance, and the vector :math:`\vec{e}_{ij} += \frac{r_i - r_j}{\left| r_i - r_j \right|}` is the direction vector +between the two particles. Style *spin/dipole/long* computes long-range magnetic dipole-dipole interaction. -A :doc:`kspace\_style ` must be defined to -use this pair style. Currently, :doc:`kspace\_style ewald/dipole/spin ` and :doc:`kspace\_style pppm/dipole/spin ` support long-range magnetic +A :doc:`kspace_style ` must be defined to +use this pair style. Currently, :doc:`kspace_style ewald/dipole/spin ` and :doc:`kspace_style pppm/dipole/spin ` support long-range magnetic dipole-dipole interactions. - ---------- - -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Restrictions """""""""""" - The *spin/dipole/cut* and *spin/dipole/long* styles are part of the SPIN package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more @@ -85,12 +105,7 @@ currently supported. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`kspace\_style ` +:doc:`pair_coeff `, :doc:`kspace_style ` :doc:`fix nve/spin ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_spin_dmi.rst b/doc/src/pair_spin_dmi.rst index 166885d29ddc0344e14d2010d61cb04f95ddacde..dc2d22b30aa9f3a90b14faf469904f87a4a2fc77 100644 --- a/doc/src/pair_spin_dmi.rst +++ b/doc/src/pair_spin_dmi.rst @@ -1,27 +1,24 @@ -.. index:: pair\_style spin/dmi +.. index:: pair_style spin/dmi -pair\_style spin/dmi command -============================ +pair_style spin/dmi command +=========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style spin/dmi cutoff * cutoff = global cutoff pair (distance in metal units) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style spin/dmi 4.0 - pair_coeff \* \* dmi 2.6 0.001 1.0 0.0 0.0 + pair_coeff * * dmi 2.6 0.001 1.0 0.0 0.0 pair_coeff 1 2 dmi 4.0 0.00109 0.0 0.0 1.0 Description @@ -32,15 +29,19 @@ between pairs of magnetic spins. According to the expression reported in :ref:`(Rohart) `, one has the following DM energy: -.. image:: Eqs/pair_spin_dmi_interaction.jpg - :align: center +.. math:: + + \mathbf{H}_{dm} = \sum_{{ i,j}=1,i\neq j}^{N} + \left( \vec{e}_{ij} \times \vec{D} \right) + \cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right), -where si and sj are two neighboring magnetic spins of two particles, -eij = (ri - rj)/\|ri-rj\| is the unit vector between sites i and j, -and D is the DM vector defining the intensity (in eV) and the direction -of the interaction. +where :math:`\vec{s}_i` and :math:`\vec{s}_j` are two neighboring magnetic spins of +two particles, :math:`\vec{e}_ij = \frac{r_i - r_j}{\left| r_i - r_j \right|}` +is the unit vector between sites *i* and *j*, and :math:`\vec{D}` is the +DM vector defining the intensity (in eV) and the direction of the +interaction. -In :ref:`(Rohart) `, D is defined as the direction normal to the film oriented +In :ref:`(Rohart) `, :math:`\vec{D}` is defined as the direction normal to the film oriented from the high spin-orbit layer to the magnetic ultra-thin film. The application of a spin-lattice Poisson bracket to this energy (as described @@ -48,16 +49,19 @@ in :ref:`(Tranchida) `) allows to derive a magnetic torque omega, an mechanical force F (for spin-lattice calculations only) for each magnetic particle i: -.. image:: Eqs/pair_spin_dmi_forces.jpg - :align: center +.. math:: + + \vec{\omega}_i = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times \left(\vec{e}_{ij}\times \vec{D} \right) + ~~{\rm and}~~ + \vec{F}_i = -\sum_{j}^{Neighb} \frac{1}{r_{ij}} \vec{D} \times \left( \vec{s}_{i}\times \vec{s}_{j} \right) More details about the derivation of these torques/forces are reported in :ref:`(Tranchida) `. For the *spin/dmi* pair style, the following coefficients must be defined for -each pair of atoms types via the :doc:`pair\_coeff ` command as in +each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` commands, and +:doc:`read_data ` or :doc:`read_restart ` commands, and set in the following order: * rc (distance units) @@ -70,44 +74,31 @@ the norm of the DM vector (in eV), and Dx, Dy and Dz define its direction. None of those coefficients is optional. If not specified, the *spin/dmi* pair style cannot be used. - ---------- - Restrictions """""""""""" - All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom\_style "spin" was declared. See the :doc:`Build package ` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`atom\_style spin `, :doc:`pair\_coeff `, -:doc:`pair\_eam `, +:doc:`atom_style spin `, :doc:`pair_coeff `, +:doc:`pair_eam `, **Default:** none - ---------- - .. _Rohart: - - .. _Tranchida5: **(Rohart)** Rohart and Thiaville, Physical Review B, 88(18), 184422. (2013). - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_spin_exchange.rst b/doc/src/pair_spin_exchange.rst index 3bbbed421bb8bc0057d17e95b2381b36050adbd1..14eefacceca47fb738937edb6fb39baf3a95abf6 100644 --- a/doc/src/pair_spin_exchange.rst +++ b/doc/src/pair_spin_exchange.rst @@ -1,23 +1,20 @@ -.. index:: pair\_style spin/exchange +.. index:: pair_style spin/exchange -pair\_style spin/exchange command -================================= +pair_style spin/exchange command +================================ Syntax """""" - .. code-block:: LAMMPS pair_style spin/exchange cutoff * cutoff = global cutoff pair (distance in metal units) - Examples """""""" - .. code-block:: LAMMPS pair_style spin/exchange 4.0 @@ -32,11 +29,11 @@ pairs of magnetic spins: .. math:: - H_{ex} = -\sum_{i,j}^N J_{ij} (r_{ij}) \,\vec{s}_i \cdot \vec{s}_j + H_{ex} = -\sum_{i,j}^N J_{ij} (r_{ij}) \,\vec{s}_i \cdot \vec{s}_j where :math:`\vec{s}_i` and :math:`\vec{s}_j` are two neighboring magnetic spins of two particles, :math:`r_{ij} = \vert \vec{r}_i - \vec{r}_j \vert` is the inter-atomic distance between the two -particles. The summation is over pairs of nearest neighbors. +particles. The summation is over pairs of nearest neighbors. :math:`J(r_{ij})` is a function defining the intensity and the sign of the exchange interaction for different neighboring shells. This function is defined as: @@ -45,7 +42,7 @@ interaction for different neighboring shells. This function is defined as: {J}\left( r_{ij} \right) = 4 a \left( \frac{r_{ij}}{d} \right)^2 \left( 1 - b \left( \frac{r_{ij}}{d} \right)^2 \right) e^{-\left( \frac{r_{ij}}{d} \right)^2 }\Theta (R_c - r_{ij}) where :math:`a`, :math:`b` and :math:`d` are the three constant coefficients defined in the associated -"pair\_coeff" command, and :math:`R_c` is the radius cutoff associated to +"pair_coeff" command, and :math:`R_c` is the radius cutoff associated to the pair interaction (see below for more explanations). The coefficients :math:`a`, :math:`b`, and :math:`d` need to be fitted so that the function above matches with @@ -55,15 +52,15 @@ in :ref:`(Tranchida) `. From this exchange interaction, each spin :math:`i` will be submitted to a magnetic torque :math:`\vec{\omega}`, and its associated atom can be submitted to a -force :math:`\vec{F}` for spin-lattice calculations (see :doc:`fix\_nve\_spin `), +force :math:`\vec{F}` for spin-lattice calculations (see :doc:`fix nve/spin `), such as: .. math:: - \vec{\omega}_{i} = \frac{1}{\hbar} \sum_{j}^{Neighb} {J} - \left(r_{ij} \right)\,\vec{s}_{j} - ~~{\rm and}~~ - \vec{F}_{i} = \sum_{j}^{Neighb} \frac{\partial {J} \left(r_{ij} \right)}{ \partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{e}_{ij} + \vec{\omega}_{i} = \frac{1}{\hbar} \sum_{j}^{Neighb} {J} + \left(r_{ij} \right)\,\vec{s}_{j} + ~~{\rm and}~~ + \vec{F}_{i} = \sum_{j}^{Neighb} \frac{\partial {J} \left(r_{ij} \right)}{ \partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{e}_{ij} with :math:`\hbar` the Planck constant (in metal units), and :math:`\vec{e}_{ij} = \frac{\vec{r}_i - \vec{r}_j}{\vert \vec{r}_i-\vec{r}_j \vert}` the unit vector between sites :math:`i` and :math:`j`. @@ -72,9 +69,9 @@ More details about the derivation of these torques/forces are reported in :ref:`(Tranchida) `. For the *spin/exchange* pair style, the following coefficients must be defined -for each pair of atoms types via the :doc:`pair\_coeff ` command as in +for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` commands, and +:doc:`read_data ` or :doc:`read_restart ` commands, and set in the following order: * :math:`R_c` (distance units) @@ -89,35 +86,28 @@ of the function :math:`J(r_{ij})` defined above. None of those coefficients is optional. If not specified, the *spin/exchange* pair style cannot be used. - ---------- - Restrictions """""""""""" - All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom\_style "spin" was declared. See the :doc:`Build package ` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`atom\_style spin `, :doc:`pair\_coeff `, -:doc:`pair\_eam `, +:doc:`atom_style spin `, :doc:`pair_coeff `, +:doc:`pair_eam `, **Default:** none - ---------- - .. _Tranchida3: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/pair_spin_magelec.rst b/doc/src/pair_spin_magelec.rst index 679e13e628e6eccb002f03ea8e1f0b19741278a9..e4d6b81b8a28f26f390c6f210a799cfb417b218b 100644 --- a/doc/src/pair_spin_magelec.rst +++ b/doc/src/pair_spin_magelec.rst @@ -1,27 +1,24 @@ -.. index:: pair\_style spin/magelec +.. index:: pair_style spin/magelec -pair\_style spin/magelec command +pair_style spin/magelec command ================================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style spin/magelec cutoff * cutoff = global cutoff pair (distance in metal units) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style spin/magelec 4.5 - pair_coeff \* \* magelec 4.5 0.00109 1.0 1.0 1.0 + pair_coeff * * magelec 4.5 0.00109 1.0 1.0 1.0 Description """"""""""" @@ -30,66 +27,56 @@ Style *spin/me* computes a magneto-electric interaction between pairs of magnetic spins. According to the derivation reported in :ref:`(Katsura) `, this interaction is defined as: -.. image:: Eqs/pair_spin_me_interaction.jpg - :align: center +.. math:: + + \vec{\omega}_i & = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times\vec{D}(r_{ij}) \\ + \vec{F}_i & = -\sum_{j}^{Neighb} \frac{\partial D(r_{ij})}{\partial r_{ij}} \left(\vec{s}_{i}\times \vec{s}_{j} \right) \cdot \vec{r}_{ij} -where si and sj are neighboring magnetic spins of two particles, -eij = (ri - rj)/\|ri-rj\| is the normalized separation vector between the -two particles, and E is an electric polarization vector. -The norm and direction of E are giving the intensity and the -direction of a screened dielectric atomic polarization (in eV). +where :math:`\vec{s}_i` and :math:`\vec{s}_j` are neighboring magnetic +spins of two particles. From this magneto-electric interaction, each spin i will be submitted to a magnetic torque omega, and its associated atom can be submitted to a -force F for spin-lattice calculations (see :doc:`fix\_nve\_spin `), +force F for spin-lattice calculations (see :doc:`fix nve/spin `), such as: -.. image:: Eqs/pair_spin_me_forces.jpg - :align: center +.. math:: -with h the Planck constant (in metal units). + \vec{F}^{i} & = -\sum_{j}^{Neighbor} \left( \vec{s}_{i}\times \vec{s}_{j} \right) \times \vec{E} \\ + \vec{\omega}^{i} = -\frac{1}{\hbar} \sum_{j}^{Neighbor} \vec{s}_j \times \left(\vec{E}\times r_{ij} \right) + +with h the Planck constant (in metal units) and :math:`\vec{E}` an +electric polarization vector. The norm and direction of E are giving +the intensity and the direction of a screened dielectric atomic +polarization (in eV). More details about the derivation of these torques/forces are reported in :ref:`(Tranchida) `. - ---------- - Restrictions """""""""""" - All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom\_style "spin" was declared. See the :doc:`Build package ` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`atom\_style spin `, :doc:`pair\_coeff `, -:doc:`pair\_spin\_exchange `, :doc:`pair\_eam `, +:doc:`atom_style spin `, :doc:`pair_coeff `, +:doc:`pair_style spin/exchange `, :doc:`pair_eam `, **Default:** none - ---------- - .. _Katsura1: - - **(Katsura)** H. Katsura, N. Nagaosa, A.V. Balatsky. Phys. Rev. Lett., 95(5), 057205. (2005) .. _Tranchida4: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau, and Thompson, Journal of Computational Physics, 372, 406-425, (2018). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_spin_neel.rst b/doc/src/pair_spin_neel.rst index ecdb8f30f67cebb2e2d48bc8622f9c09fac75125..4e6eba1f34cb91e3b4cd84486ae8e75db07fc09a 100644 --- a/doc/src/pair_spin_neel.rst +++ b/doc/src/pair_spin_neel.rst @@ -6,18 +6,15 @@ pair_style spin/neel command Syntax """""" - .. code-block:: LAMMPS pair_style spin/neel cutoff * cutoff = global cutoff pair (distance in metal units) - Examples """""""" - .. code-block:: LAMMPS pair_style spin/neel 4.0 @@ -59,7 +56,7 @@ the same Bethe-Slater function used to fit the exchange interaction: {J}\left( r_{ij} \right) = 4 a \left( \frac{r_{ij}}{d} \right)^2 \left( 1 - b \left( \frac{r_{ij}}{d} \right)^2 \right) e^{-\left( \frac{r_{ij}}{d} \right)^2 }\Theta (R_c - r_{ij}) where :math:`a`, :math:`b` and :math:`d` are the three constant coefficients defined in the -associated "pair\_coeff" command. +associated "pair_coeff" command. The coefficients :math:`a`, :math:`b`, and :math:`d` need to be fitted so that the function above matches with the values of the magneto-elastic constant of the @@ -76,35 +73,28 @@ calculations only). More details about the derivation of these torques/forces are reported in :ref:`(Tranchida) `. - ---------- - Restrictions """""""""""" - All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom\_style "spin" was declared. See the :doc:`Build package ` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`atom\_style spin `, :doc:`pair\_coeff `, -:doc:`pair\_eam `, +:doc:`atom_style spin `, :doc:`pair_coeff `, +:doc:`pair_eam `, **Default:** none - ---------- - .. _Tranchida6: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/pair_srp.rst b/doc/src/pair_srp.rst index 1b4e6d30319d0ad7877c8b3d236acf8feaeb8c62..01517df434a7a55b7730dbdfeaf88b46b0be45b7 100644 --- a/doc/src/pair_srp.rst +++ b/doc/src/pair_srp.rst @@ -1,38 +1,37 @@ -.. index:: pair\_style srp +.. index:: pair_style srp -pair\_style srp command -======================= +pair_style srp command +====================== Syntax """""" -pair\_style srp cutoff btype dist keyword value ... +.. code-block:: LAMMPS + + pair_style srp cutoff btype dist keyword value ... * cutoff = global cutoff for SRP interactions (distance units) * btype = bond type to apply SRP interactions to (can be wildcard, see below) * distance = *min* or *mid* * zero or more keyword/value pairs may be appended * keyword = *exclude* - + .. parsed-literal:: - + *bptype* value = atom type for bond particles *exclude* value = *yes* or *no* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 1 mid exclude yes pair_coeff 1 1 dpd 60.0 4.5 1.0 pair_coeff 1 2 none pair_coeff 2 2 srp 100.0 0.8 - pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 \* min exclude yes + pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 * min exclude yes pair_coeff 1 1 dpd 60.0 50 1.0 pair_coeff 1 2 none pair_coeff 2 2 srp 40.0 @@ -56,31 +55,35 @@ Bonds of specified type *btype* interact with one another through a bond-pairwise potential, such that the force on bond *i* due to bond *j* is as follows -.. image:: Eqs/pair_srp1.jpg - :align: center +.. math:: + + F^{\mathrm{SRP}}_{ij} = C(1-r/r_c)\hat{r}_{ij} \qquad r < r_c + +where *r* and :math:`\hat{r}_{ij}` are the distance and unit vector +between the two bonds. Note that *btype* can be specified as an +asterisk "\*", which case the interaction is applied to all bond types. +The *mid* option computes *r* and :math:`\hat{r}_{ij}` from the midpoint +distance between bonds. The *min* option computes *r* and +:math:`\hat{r}_{ij}` from the minimum distance between bonds. The force +acting on a bond is mapped onto the two bond atoms according to the +lever rule, -where *r* and *rij* are the distance and unit vector between the two -bonds. Note that *btype* can be specified as an asterisk "\*", which -case the interaction is applied to all bond types. The *mid* option -computes *r* and *rij* from the midpoint distance between bonds. The -*min* option computes *r* and *rij* from the minimum distance between -bonds. The force acting on a bond is mapped onto the two bond atoms -according to the lever rule, +.. math:: -.. image:: Eqs/pair_srp2.jpg - :align: center + F_{i1}^{\mathrm{SRP}} & = F^{\mathrm{SRP}}_{ij}(L) \\ + F_{i2}^{\mathrm{SRP}} & = F^{\mathrm{SRP}}_{ij}(1-L) where *L* is the normalized distance from the atom to the point of closest approach of bond *i* and *j*\ . The *mid* option takes *L* as 0.5 for each interaction as described in :ref:`(Sirk) `. The following coefficients must be defined via the -:doc:`pair\_coeff ` command as in the examples above, or in -the data file or restart file read by the :doc:`read\_data ` -or :doc:`read\_restart ` commands: +:doc:`pair_coeff ` command as in the examples above, or in +the data file or restart file read by the :doc:`read_data ` +or :doc:`read_restart ` commands: * *C* (force units) -* *rc* (distance units) +* :math:`r_c` (distance units) The last coefficient is optional. If not specified, the global cutoff is used. @@ -93,15 +96,15 @@ is used. Any actual existing particles with this atom type will be deleted at the beginning of a run. This means you must specify the number of types in your system accordingly; usually to be one larger than what - would normally be the case, e.g. via the :doc:`create\_box ` + would normally be the case, e.g. via the :doc:`create_box ` or by changing the header in your :doc:`data file `. The fictitious "bond particles" are inserted at the beginning of the run, and serve as placeholders that define the position of the bonds. This allows neighbor lists to be constructed and pairwise interactions to be computed in almost the same way as is done for actual particles. - Because bonds interact only with other bonds, :doc:`pair\_style hybrid ` should be used to turn off interactions + Because bonds interact only with other bonds, :doc:`pair_style hybrid ` should be used to turn off interactions between atom type *bptype* and all other types of atoms. An error - will be flagged if :doc:`pair\_style hybrid ` is not used. + will be flagged if :doc:`pair_style hybrid ` is not used. The optional *exclude* keyword determines if forces are computed between first neighbor (directly connected) bonds. For a setting of @@ -111,51 +114,46 @@ distance calculation because the minimum distance between directly connected bonds is zero. Pair style *srp* turns off normalization of thermodynamic properties -by particle number, as if the command :doc:`thermo\_modify norm no ` had been issued. +by particle number, as if the command :doc:`thermo_modify norm no ` had been issued. The pairwise energy associated with style *srp* is shifted to be zero -at the cutoff distance *rc*\ . - +at the cutoff distance :math:`r_c`. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair styles does not support mixing. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. Note that as discussed above, the energy term is already shifted to be 0.0 at the -cutoff distance *rc*\ . +cutoff distance :math:`r_c`. -The :doc:`pair\_modify ` table option is not relevant for +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes global and per-atom information to :doc:`binary restart files `. Pair srp should be used with :doc:`pair\_style hybrid `, thus the pair\_coeff commands need to be +This pair style writes global and per-atom information to :doc:`binary restart files `. Pair srp should be used with :doc:`pair_style hybrid `, thus the pair_coeff commands need to be specified in the input script when reading a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info. -This pair style must be used with :doc:`pair\_style hybrid `. +This pair style must be used with :doc:`pair_style hybrid `. This pair style requires the :doc:`newton ` command to be *on* for non-bonded interactions. @@ -165,7 +163,7 @@ This pair style is not compatible with :doc:`rigid body integrators ` Related commands """""""""""""""" -:doc:`pair\_style hybrid `, :doc:`pair\_coeff `, +:doc:`pair_style hybrid `, :doc:`pair_coeff `, :doc:`pair dpd ` Default @@ -173,18 +171,9 @@ Default The default keyword value is exclude = yes. - ---------- - .. _Sirk2: - - **(Sirk)** Sirk TW, Sliozberg YR, Brennan JK, Lisal M, Andzelm JW, J Chem Phys, 136 (13) 134903, 2012. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index c04abca0476b00230fa5eed56d0793650d885013..48dd2dde0fcc5ff5fd3b371d039dbbf23f901513 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style +.. index:: pair_style -pair\_style command -=================== +pair_style command +================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut 2.5 pair_style eam/alloy @@ -65,29 +63,27 @@ pairwise interaction between two atoms separated by a distance *r*\ . The force between the atoms is the negative derivative of this expression. -If the pair\_style command has a cutoff argument, it sets global +If the pair_style command has a cutoff argument, it sets global cutoffs for all pairs of atom types. The distance(s) can be smaller or larger than the dimensions of the simulation box. Typically, the global cutoff value can be overridden for a specific pair of atom types by the :doc:`pair_coeff ` command. The pair style settings (including global cutoffs) can be changed by a -subsequent pair\_style command using the same style. This will reset +subsequent pair_style command using the same style. This will reset the cutoffs for all atom type pairs, including those previously set explicitly by a :doc:`pair_coeff ` command. The exceptions -to this are that pair\_style *table* and *hybrid* settings cannot be -reset. A new pair\_style command for these styles will wipe out all -previously specified pair\_coeff values. - +to this are that pair_style *table* and *hybrid* settings cannot be +reset. A new pair_style command for these styles will wipe out all +previously specified pair_coeff values. ---------- - Here is an alphabetic list of pair styles defined in LAMMPS. They are also listed in more compact form on the :doc:`Commands pair ` doc page. Click on the style to display the formula it computes, any additional -arguments specified in the pair\_style command, and coefficients +arguments specified in the pair_style command, and coefficients specified by the associated :doc:`pair_coeff ` command. There are also additional accelerated pair styles included in the @@ -115,39 +111,41 @@ accelerated styles exist. * :doc:`born ` - Born-Mayer-Huggins potential * :doc:`born/coul/dsf ` - Born with damped-shifted-force model * :doc:`born/coul/dsf/cs ` - Born with damped-shifted-force and core/shell model -* :doc:`born/coul/long ` - Born with long-range Coulombics -* :doc:`born/coul/long/cs ` - Born with long-range Coulombics and core/shell -* :doc:`born/coul/msm ` - Born with long-range MSM Coulombics -* :doc:`born/coul/wolf ` - Born with Wolf potential for Coulombics -* :doc:`born/coul/wolf/cs ` - Born with Wolf potential for Coulombics and core/shell model +* :doc:`born/coul/long ` - Born with long-range Coulomb +* :doc:`born/coul/long/cs ` - Born with long-range Coulomb and core/shell +* :doc:`born/coul/msm ` - Born with long-range MSM Coulomb +* :doc:`born/coul/wolf ` - Born with Wolf potential for Coulomb +* :doc:`born/coul/wolf/cs ` - Born with Wolf potential for Coulomb and core/shell model * :doc:`brownian ` - Brownian potential for Fast Lubrication Dynamics * :doc:`brownian/poly ` - Brownian potential for Fast Lubrication Dynamics with polydispersity * :doc:`buck ` - Buckingham potential * :doc:`buck/coul/cut ` - Buckingham with cutoff Coulomb -* :doc:`buck/coul/long ` - Buckingham with long-range Coulombics -* :doc:`buck/coul/long/cs ` - Buckingham with long-range Coulombics and core/shell -* :doc:`buck/coul/msm ` - Buckingham with long-range MSM Coulombics -* :doc:`buck/long/coul/long ` - long-range Buckingham with long-range Coulombics +* :doc:`buck/coul/long ` - Buckingham with long-range Coulomb +* :doc:`buck/coul/long/cs ` - Buckingham with long-range Coulomb and core/shell +* :doc:`buck/coul/msm ` - Buckingham with long-range MSM Coulomb +* :doc:`buck/long/coul/long ` - long-range Buckingham with long-range Coulomb * :doc:`buck/mdf ` - Buckingham with a taper function * :doc:`buck6d/coul/gauss/dsf ` - dispersion-damped Buckingham with damped-shift-force model -* :doc:`buck6d/coul/gauss/long ` - dispersion-damped Buckingham with long-range Coulombics +* :doc:`buck6d/coul/gauss/long ` - dispersion-damped Buckingham with long-range Coulomb * :doc:`colloid ` - integrated colloidal potential * :doc:`comb ` - charge-optimized many-body (COMB) potential * :doc:`comb3 ` - charge-optimized many-body (COMB3) potential * :doc:`cosine/squared ` - Cooke-Kremer-Deserno membrane model potential -* :doc:`coul/cut ` - cutoff Coulombic potential -* :doc:`coul/cut/soft ` - Coulombic potential with a soft core -* :doc:`coul/debye ` - cutoff Coulombic potential with Debye screening +* :doc:`coul/cut ` - cutoff Coulomb potential +* :doc:`coul/cut/soft ` - Coulomb potential with a soft core +* :doc:`coul/debye ` - cutoff Coulomb potential with Debye screening * :doc:`coul/diel ` - Coulomb potential with dielectric permittivity -* :doc:`coul/dsf ` - Coulombics with damped-shifted-force model -* :doc:`coul/long ` - long-range Coulombic potential -* :doc:`coul/long/cs ` - long-range Coulombic potential and core/shell -* :doc:`coul/long/soft ` - long-range Coulombic potential with a soft core -* :doc:`coul/msm ` - long-range MSM Coulombics -* :doc:`coul/shield ` - Coulombics for boron nitride for use with :doc:`ilp/graphene/hbn ` potential -* :doc:`coul/streitz ` - Coulombics via Streitz/Mintmire Slater orbitals -* :doc:`coul/wolf ` - Coulombics via Wolf potential -* :doc:`coul/wolf/cs ` - ditto with core/shell adjustments +* :doc:`coul/dsf ` - Coulomb with damped-shifted-force model +* :doc:`coul/long ` - long-range Coulomb potential +* :doc:`coul/long/cs ` - long-range Coulomb potential and core/shell +* :doc:`coul/long/soft ` - long-range Coulomb potential with a soft core +* :doc:`coul/msm ` - long-range MSM Coulomb +* :doc:`coul/slater/cut ` - smeared out Coulomb +* :doc:`coul/slater/long ` - long-range smeared out Coulomb +* :doc:`coul/shield ` - Coulomb for boron nitride for use with :doc:`ilp/graphene/hbn ` potential +* :doc:`coul/streitz ` - Coulomb via Streitz/Mintmire Slater orbitals +* :doc:`coul/wolf ` - Coulomb via Wolf potential +* :doc:`coul/wolf/cs ` - Coulomb via Wolf potential with core/shell adjustments * :doc:`dpd ` - dissipative particle dynamics (DPD) * :doc:`dpd/fdt ` - DPD for constant temperature and pressure * :doc:`dpd/fdt/energy ` - DPD for constant energy and enthalpy @@ -162,7 +160,7 @@ accelerated styles exist. * :doc:`eam/fs ` - Finnis-Sinclair EAM * :doc:`edip ` - three-body EDIP potential * :doc:`edip/multi ` - multi-element EDIP potential -* :doc:`edpd ` - eDPD particle interactions +* :doc:`edpd ` - eDPD particle interactions * :doc:`eff/cut ` - electron force field with a cutoff * :doc:`eim ` - embedded ion method (EIM) * :doc:`exp6/rx ` - reactive DPD potential @@ -191,44 +189,45 @@ accelerated styles exist. * :doc:`lj/charmm/coul/charmm/implicit ` - CHARMM for implicit solvent * :doc:`lj/charmm/coul/long ` - CHARMM with long-range Coulomb * :doc:`lj/charmm/coul/long/soft ` - CHARMM with long-range Coulomb and a soft core -* :doc:`lj/charmm/coul/msm ` - CHARMM with long-range MSM Coulombics +* :doc:`lj/charmm/coul/msm ` - CHARMM with long-range MSM Coulomb * :doc:`lj/charmmfsw/coul/charmmfsh ` - CHARMM with force switching and shifting -* :doc:`lj/charmmfsw/coul/long ` - CHARMM with force switching and long-rnage Coulombics -* :doc:`lj/class2 ` - COMPASS (class 2) force field with no Coulomb +* :doc:`lj/charmmfsw/coul/long ` - CHARMM with force switching and long-rnage Coulomb +* :doc:`lj/class2 ` - COMPASS (class 2) force field without Coulomb * :doc:`lj/class2/coul/cut ` - COMPASS with cutoff Coulomb * :doc:`lj/class2/coul/cut/soft ` - COMPASS with cutoff Coulomb with a soft core * :doc:`lj/class2/coul/long ` - COMPASS with long-range Coulomb +* :doc:`lj/class2/coul/long/cs ` - COMPASS with long-range Coulomb with core/shell adjustments * :doc:`lj/class2/coul/long/soft ` - COMPASS with long-range Coulomb with a soft core * :doc:`lj/class2/soft ` - COMPASS (class 2) force field with no Coulomb with a soft core * :doc:`lj/cubic ` - LJ with cubic after inflection point -* :doc:`lj/cut ` - cutoff Lennard-Jones potential with no Coulomb +* :doc:`lj/cut ` - cutoff Lennard-Jones potential without Coulomb * :doc:`lj/cut/coul/cut ` - LJ with cutoff Coulomb * :doc:`lj/cut/coul/cut/soft ` - LJ with cutoff Coulomb with a soft core * :doc:`lj/cut/coul/debye ` - LJ with Debye screening added to Coulomb -* :doc:`lj/cut/coul/dsf ` - LJ with Coulombics via damped shifted forces -* :doc:`lj/cut/coul/long ` - LJ with long-range Coulombics -* :doc:`lj/cut/coul/long/cs ` - ditto with core/shell adjustments -* :doc:`lj/cut/coul/long/soft ` - LJ with long-range Coulombics with a soft core -* :doc:`lj/cut/coul/msm ` - LJ with long-range MSM Coulombics -* :doc:`lj/cut/coul/wolf ` - LJ with Coulombics via Wolf potential +* :doc:`lj/cut/coul/dsf ` - LJ with Coulomb via damped shifted forces +* :doc:`lj/cut/coul/long ` - LJ with long-range Coulomb +* :doc:`lj/cut/coul/long/cs ` - LJ with long-range Coulomb with core/shell adjustments +* :doc:`lj/cut/coul/long/soft ` - LJ with long-range Coulomb with a soft core +* :doc:`lj/cut/coul/msm ` - LJ with long-range MSM Coulomb +* :doc:`lj/cut/coul/wolf ` - LJ with Coulomb via Wolf potential * :doc:`lj/cut/dipole/cut ` - point dipoles with cutoff * :doc:`lj/cut/dipole/long ` - point dipoles with long-range Ewald * :doc:`lj/cut/soft ` - LJ with a soft core -* :doc:`lj/cut/thole/long ` - LJ with Coulombics with thole damping +* :doc:`lj/cut/thole/long ` - LJ with Coulomb with thole damping * :doc:`lj/cut/tip4p/cut ` - LJ with cutoff Coulomb for TIP4P water * :doc:`lj/cut/tip4p/long ` - LJ with long-range Coulomb for TIP4P water * :doc:`lj/cut/tip4p/long/soft ` - LJ with cutoff Coulomb for TIP4P water with a soft core * :doc:`lj/expand ` - Lennard-Jones for variable size particles -* :doc:`lj/expand/coul/long ` - Lennard-Jones for variable size particles with long-range Coulombics +* :doc:`lj/expand/coul/long ` - Lennard-Jones for variable size particles with long-range Coulomb * :doc:`lj/gromacs ` - GROMACS-style Lennard-Jones potential -* :doc:`lj/gromacs/coul/gromacs ` - GROMACS-style LJ and Coulombic potential -* :doc:`lj/long/coul/long ` - long-range LJ and long-range Coulombics +* :doc:`lj/gromacs/coul/gromacs ` - GROMACS-style LJ and Coulomb potential +* :doc:`lj/long/coul/long ` - long-range LJ and long-range Coulomb * :doc:`lj/long/dipole/long ` - long-range LJ and long-range point dipoles -* :doc:`lj/long/tip4p/long ` - long-range LJ and long-range Coulombics for TIP4P water +* :doc:`lj/long/tip4p/long ` - long-range LJ and long-range Coulomb for TIP4P water * :doc:`lj/mdf ` - LJ potential with a taper function * :doc:`lj/sdk ` - LJ for SDK coarse-graining -* :doc:`lj/sdk/coul/long ` - LJ for SDK coarse-graining with long-range Coulombics -* :doc:`lj/sdk/coul/msm ` - LJ for SDK coarse-graining with long-range Coulombics via MSM +* :doc:`lj/sdk/coul/long ` - LJ for SDK coarse-graining with long-range Coulomb +* :doc:`lj/sdk/coul/msm ` - LJ for SDK coarse-graining with long-range Coulomb via MSM * :doc:`lj/sf/dipole/sf ` - LJ with dipole interaction with shifted forces * :doc:`lj/smooth ` - smoothed Lennard-Jones potential * :doc:`lj/smooth/linear ` - linear smoothed LJ potential @@ -239,8 +238,8 @@ accelerated styles exist. * :doc:`lubricate/poly ` - hydrodynamic lubrication forces with polydispersity * :doc:`lubricateU ` - hydrodynamic lubrication forces for Fast Lubrication Dynamics * :doc:`lubricateU/poly ` - hydrodynamic lubrication forces for Fast Lubrication with polydispersity -* :doc:`mdpd ` - mDPD particle interactions -* :doc:`mdpd/rhosum ` - mDPD particle interactions for mass density +* :doc:`mdpd ` - mDPD particle interactions +* :doc:`mdpd/rhosum ` - mDPD particle interactions for mass density * :doc:`meam/c ` - modified embedded atom method (MEAM) in C * :doc:`meam/spline ` - splined version of MEAM * :doc:`meam/sw/spline ` - splined version of MEAM with a Stillinger-Weber term @@ -257,7 +256,7 @@ accelerated styles exist. * :doc:`nb3b/harmonic ` - non-bonded 3-body harmonic potential * :doc:`nm/cut ` - N-M potential * :doc:`nm/cut/coul/cut ` - N-M potential with cutoff Coulomb -* :doc:`nm/cut/coul/long ` - N-M potential with long-range Coulombics +* :doc:`nm/cut/coul/long ` - N-M potential with long-range Coulomb * :doc:`oxdna/coaxstk ` - * :doc:`oxdna/excv ` - * :doc:`oxdna/hbond ` - @@ -309,7 +308,7 @@ accelerated styles exist. * :doc:`sw ` - Stillinger-Weber 3-body potential * :doc:`table ` - tabulated pair potential * :doc:`table/rx ` - -* :doc:`tdpd ` - tDPD particle interactions +* :doc:`tdpd ` - tDPD particle interactions * :doc:`tersoff ` - Tersoff 3-body potential * :doc:`tersoff/mod ` - modified Tersoff 3-body potential * :doc:`tersoff/mod/c ` - @@ -317,7 +316,7 @@ accelerated styles exist. * :doc:`tersoff/zbl ` - Tersoff/ZBL 3-body potential * :doc:`thole ` - Coulomb interactions with thole damping * :doc:`tip4p/cut ` - Coulomb for TIP4P water w/out LJ -* :doc:`tip4p/long ` - long-range Coulombics for TIP4P water w/out LJ +* :doc:`tip4p/long ` - long-range Coulomb for TIP4P water w/out LJ * :doc:`tip4p/long/soft ` - * :doc:`tri/lj ` - LJ potential between triangles * :doc:`ufm ` - @@ -327,14 +326,11 @@ accelerated styles exist. * :doc:`yukawa/colloid ` - screened Yukawa potential for finite-size particles * :doc:`zbl ` - Ziegler-Biersack-Littmark potential - ---------- - Restrictions """""""""""" - This command must be used before any coefficients are set by the :doc:`pair_coeff `, :doc:`read_data `, or :doc:`read_restart ` commands. @@ -353,12 +349,6 @@ Related commands Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_sw.rst b/doc/src/pair_sw.rst index ae09daf9192e69a58cc662fb1a9a747633aa9782..b4fddc6867cbb3bb53b08274bfe6717430239c67 100644 --- a/doc/src/pair_sw.rst +++ b/doc/src/pair_sw.rst @@ -1,37 +1,35 @@ -.. index:: pair\_style sw +.. index:: pair_style sw -pair\_style sw command -====================== +pair_style sw command +===================== -pair\_style sw/gpu command -========================== +pair_style sw/gpu command +========================= -pair\_style sw/intel command -============================ +pair_style sw/intel command +=========================== -pair\_style sw/kk command -========================= +pair_style sw/kk command +======================== -pair\_style sw/omp command -========================== +pair_style sw/omp command +========================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sw Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style sw - pair_coeff \* \* si.sw Si - pair_coeff \* \* GaN.sw Ga N Ga + pair_coeff * * si.sw Si + pair_coeff * * GaN.sw Ga N Ga Description """"""""""" @@ -39,34 +37,43 @@ Description The *sw* style computes a 3-body :ref:`Stillinger-Weber ` potential for the energy E of a system of atoms as -.. image:: Eqs/pair_sw.jpg - :align: center +.. math:: -where phi2 is a two-body term and phi3 is a three-body term. The -summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = a\*sigma. + E & = \sum_i \sum_{j > i} \phi_2 (r_{ij}) + + \sum_i \sum_{j \neq i} \sum_{k > j} + \phi_3 (r_{ij}, r_{ik}, \theta_{ijk}) \\ + \phi_2(r_{ij}) & = A_{ij} \epsilon_{ij} \left[ B_{ij} (\frac{\sigma_{ij}}{r_{ij}})^{p_{ij}} - + (\frac{\sigma_{ij}}{r_{ij}})^{q_{ij}} \right] + \exp \left( \frac{\sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right) \\ + \phi_3(r_{ij},r_{ik},\theta_{ijk}) & = \lambda_{ijk} \epsilon_{ijk} \left[ \cos \theta_{ijk} - + \cos \theta_{0ijk} \right]^2 + \exp \left( \frac{\gamma_{ij} \sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right) + \exp \left( \frac{\gamma_{ik} \sigma_{ik}}{r_{ik} - a_{ik} \sigma_{ik}} \right) -Only a single pair\_coeff command is used with the *sw* style which +where :math:`\phi_2` is a two-body term and :math:`\phi_3` is a +three-body term. The summations in the formula are over all neighbors J +and K of atom I within a cutoff distance :math:`a `\sigma`. + +Only a single pair_coeff command is used with the *sw* style which specifies a Stillinger-Weber potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of SW elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, imagine a file SiC.sw has Stillinger-Weber values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following -pair\_coeff command: - +pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* SiC.sw Si Si Si C + pair_coeff * * SiC.sw Si Si Si C The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si @@ -86,24 +93,25 @@ and three-body coefficients in the formula above: * element 1 (the center atom in a 3-body interaction) * element 2 * element 3 -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * a -* lambda -* gamma -* costheta0 +* :math:`\lambda` +* :math:`\gamma` +* :math:`\cos\theta_0` * A * B * p * q * tol -The A, B, p, and q parameters are used only for two-body -interactions. The lambda and costheta0 parameters are used only for -three-body interactions. The epsilon, sigma and a parameters are used -for both two-body and three-body interactions. gamma is used only in the -three-body interactions, but is defined for pairs of atoms. -The non-annotated parameters are unitless. +The A, B, p, and q parameters are used only for two-body interactions. +The :math:`\lambda` and :math:`\cos\theta_0` parameters are used only +for three-body interactions. The :math:`\epsilon`, :math:`\sigma` and +*a* parameters are used for both two-body and three-body +interactions. :math:`\gamma` is used only in the three-body +interactions, but is defined for pairs of atoms. The non-annotated +parameters are unitless. LAMMPS introduces an additional performance-optimization parameter tol that is used for both two-body and three-body interactions. In the @@ -118,7 +126,7 @@ can be separately controlled. If tol = 0.0, then the standard Stillinger-Weber cutoff is used. The Stillinger-Weber potential file must contain entries for all the -elements listed in the pair\_coeff command. It can also contain +elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. @@ -141,9 +149,9 @@ are usually defined by simple formulas involving two sets of pair-wise parameters, corresponding to the ij and ik pairs, where i is the center atom. The user must ensure that the correct combining rule is used to calculate the values of the three-body parameters for -alloys. Note also that the function phi3 contains two exponential +alloys. Note also that the function :math:`\phi_3` contains two exponential screening factors with parameter values from the ij pair and ik -pairs. So phi3 for a C atom bonded to a Si atom and a second C atom +pairs. So :math:`\phi_3` for a C atom bonded to a Si atom and a second C atom will depend on the three-body parameters for the CSiC entry, and also on the two-body parameters for the CCC and CSiSi entries. Since the order of the two neighbors is arbitrary, the three-body parameters for @@ -152,13 +160,11 @@ parameters for entries SiCC and CSiSi should also be the same. The parameters used only for two-body interactions (A, B, p, and q) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. -This is also true for the parameters in phi3 that are -taken from the ij and ik pairs (sigma, a, gamma) - +This is also true for the parameters in :math:`\phi_3` that are +taken from the ij and ik pairs (:math:`\sigma`, *a*\ , :math:`\gamma`) ---------- - 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 @@ -182,35 +188,30 @@ These parameters are common for modeling silicon and water. See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above from values in the potential file. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -221,26 +222,17 @@ The Stillinger-Weber potential files provided with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. You can use the SW potential with any LAMMPS units, but you would need to create your own SW potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. +appropriate units if your simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Stillinger2: - - **(Stillinger)** Stillinger and Weber, Phys Rev B, 31, 5262 (1985). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_table.rst b/doc/src/pair_table.rst index 202832dfe7584f92734efb608352762fd156baaa..9d1a21f1dce7f6157303c58db8446604d57cf473 100644 --- a/doc/src/pair_table.rst +++ b/doc/src/pair_table.rst @@ -1,22 +1,21 @@ -.. index:: pair\_style table +.. index:: pair_style table -pair\_style table command -========================= +pair_style table command +======================== -pair\_style table/gpu command -============================= - -pair\_style table/kk command +pair_style table/gpu command ============================ -pair\_style table/omp command -============================= +pair_style table/kk command +=========================== + +pair_style table/omp command +============================ Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style table style N keyword ... @@ -29,14 +28,13 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style table linear 1000 pair_style table linear 1000 pppm pair_style table bitmap 12 - pair_coeff \* 3 morse.table ENTRY1 - pair_coeff \* 3 morse.table ENTRY1 7.0 + pair_coeff * 3 morse.table ENTRY1 + pair_coeff * 3 morse.table ENTRY1 7.0 Description """"""""""" @@ -78,7 +76,7 @@ to index into the table via a fast bit-mapping technique due to adjacent table values. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. * filename @@ -95,29 +93,27 @@ table. The format of this file is described below. If your tabulated potential(s) are designed to be used as the short-range part of one of the long-range solvers specified by the -:doc:`kspace\_style ` command, then you must use one or -more of the optional keywords listed above for the pair\_style command. +:doc:`kspace_style ` command, then you must use one or +more of the optional keywords listed above for the pair_style command. These are *ewald* or *pppm* or *msm* or *dispersion* or *tip4p*\ . This is so LAMMPS can insure the short-range potential and long-range solver are compatible with each other, as it does for other -short-range pair styles, such as :doc:`pair\_style lj/cut/coul/long `. Note that it is up to you to insure +short-range pair styles, such as :doc:`pair_style lj/cut/coul/long `. Note that it is up to you to insure the tabulated values for each pair of atom types has the correct functional form to be compatible with the matching long-range solver. - ---------- - -Here are some guidelines for using the pair\_style table command to +Here are some guidelines for using the pair_style table command to best effect: * Vary the number of table points; you may need to use more than you think to get good resolution. -* Always use the :doc:`pair\_write ` command to produce a plot +* Always use the :doc:`pair_write ` command to produce a plot of what the final interpolated potential looks like. This can show up interpolation "features" you may not like. * Start with the linear style; it's the style least likely to have problems. -* Use *N* in the pair\_style command equal to the "N" in the tabulation +* Use *N* in the pair_style command equal to the "N" in the tabulation file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation is not needed. See discussion below. * Make sure that your tabulated forces and tabulated energies are @@ -126,15 +122,11 @@ best effect: * Use as large an inner cutoff as possible. This avoids fitting splines to very steep parts of the potential. - - ---------- - The format of a tabulated file is a series of one or more sections, defined as follows (without the parenthesized comments): - .. parsed-literal:: # Morse potential for Fe (one or more comment or blank lines) @@ -151,15 +143,15 @@ A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair\_coeff +initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* -specified in the :doc:`pair\_style table ` command. Let -Ntable = *N* in the pair\_style command, and Nfile = "N" in the +specified in the :doc:`pair_style table ` command. Let +Ntable = *N* in the pair_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate energy and force values at Ntable different @@ -200,11 +192,11 @@ If used, the parameter "BITMAP" is also followed by 2 values *rlo* and *rhi*\ . These values, along with the "N" value determine the ordering of the N lines that follow and what distance is associated with each. This ordering is complex, so it is not documented here, since this -file is typically produced by the :doc:`pair\_write ` command +file is typically produced by the :doc:`pair_write ` command with its *bitmap* option. When the table is in BITMAP format, the "N" parameter in the file must be equal to 2\^M where M is the value -specified in the pair\_style command. Also, a cutoff parameter cannot -be used as an optional 3rd argument in the pair\_coeff command; the +specified in the pair_style command. Also, a cutoff parameter cannot +be used as an optional 3rd argument in the pair_coeff command; the entire table extent as specified in the file must be used. If used, the parameter "FPRIME" is followed by 2 values *fplo* and @@ -225,10 +217,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - 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 @@ -247,55 +237,42 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -The :doc:`pair\_modify ` shift, table, and tail options are +The :doc:`pair_modify ` shift, table, and tail options are not relevant for this pair style. -This pair style writes the settings for the "pair\_style table" command -to :doc:`binary restart files `, so a pair\_style command does +This pair style writes the settings for the "pair_style table" command +to :doc:`binary restart files `, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair\_coeff +file, since it is tabulated in the potential files. Thus, pair_coeff commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_write ` +:doc:`pair_coeff `, :doc:`pair_write ` **Default:** none - ---------- - .. _Wolff2: - - **(Wolff)** Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_table_rx.rst b/doc/src/pair_table_rx.rst index e04f12e715b991d0eac63ed15d39a3b191b428a1..32863cbd295748a17accd88466ebc27bd3d02889 100644 --- a/doc/src/pair_table_rx.rst +++ b/doc/src/pair_table_rx.rst @@ -1,16 +1,15 @@ -.. index:: pair\_style table/rx +.. index:: pair_style table/rx -pair\_style table/rx command -============================ +pair_style table/rx command +=========================== -pair\_style table/rx/kk command -=============================== +pair_style table/rx/kk command +============================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style table style N ... @@ -21,15 +20,14 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style table/rx linear 1000 pair_style table/rx linear 1000 fractional pair_style table/rx linear 1000 molecular - pair_coeff \* \* rxn.table ENTRY1 h2o h2o 10.0 - pair_coeff \* \* rxn.table ENTRY1 1fluid 1fluid 10.0 - pair_coeff \* 3 rxn.table ENTRY1 h2o no2 10.0 + pair_coeff * * rxn.table ENTRY1 h2o h2o 10.0 + pair_coeff * * rxn.table ENTRY1 1fluid 1fluid 10.0 + pair_coeff * 3 rxn.table ENTRY1 h2o no2 10.0 Description """"""""""" @@ -42,7 +40,7 @@ one CG particle can interact with a species in a neighboring CG particle through a site-site interaction potential model. Style *table/rx* creates interpolation tables of length *N* from pair potential and force values listed in a file(s) as a function of -distance. The files are read by the :doc:`pair\_coeff ` +distance. The files are read by the :doc:`pair_coeff ` command. The interpolation tables are created by fitting cubic splines to the @@ -69,7 +67,7 @@ table via a fast bit-mapping technique :ref:`(Wolff) ` and a linear interpolation is performed between adjacent table values. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above. * filename @@ -99,20 +97,18 @@ associated with the interacting coarse-grained particles (see the stored before and after the reaction kinetics solver is applied, where the difference is defined to be the internal chemical energy (uChem). - ---------- - -Here are some guidelines for using the pair\_style table/rx command to +Here are some guidelines for using the pair_style table/rx command to best effect: * Vary the number of table points; you may need to use more than you think to get good resolution. -* Always use the :doc:`pair\_write ` command to produce a plot +* Always use the :doc:`pair_write ` command to produce a plot of what the final interpolated potential looks like. This can show up interpolation "features" you may not like. * Start with the linear style; it's the style least likely to have problems. -* Use *N* in the pair\_style command equal to the "N" in the tabulation +* Use *N* in the pair_style command equal to the "N" in the tabulation file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation is not needed. See discussion below. * Make sure that your tabulated forces and tabulated energies are consistent @@ -120,15 +116,11 @@ best effect: * Use as large an inner cutoff as possible. This avoids fitting splines to very steep parts of the potential. - - ---------- - The format of a tabulated file is a series of one or more sections, defined as follows (without the parenthesized comments): - .. parsed-literal:: # Morse potential for Fe (one or more comment or blank lines) @@ -145,15 +137,15 @@ A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair\_coeff +initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* -specified in the :doc:`pair\_style table/rx ` command. Let -Ntable = *N* in the pair\_style command, and Nfile = "N" in the +specified in the :doc:`pair_style table/rx ` command. Let +Ntable = *N* in the pair_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and force @@ -184,11 +176,11 @@ If used, the parameter "BITMAP" is also followed by 2 values *rlo* and *rhi*\ . These values, along with the "N" value determine the ordering of the N lines that follow and what distance is associated with each. This ordering is complex, so it is not documented here, since this -file is typically produced by the :doc:`pair\_write ` command +file is typically produced by the :doc:`pair_write ` command with its *bitmap* option. When the table is in BITMAP format, the "N" parameter in the file must be equal to 2\^M where M is the value -specified in the pair\_style command. Also, a cutoff parameter cannot -be used as an optional 3rd argument in the pair\_coeff command; the +specified in the pair_style command. Also, a cutoff parameter cannot +be used as an optional 3rd argument in the pair_coeff command; the entire table extent as specified in the file must be used. If used, the parameter "FPRIME" is followed by 2 values *fplo* and @@ -209,33 +201,29 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all I,J pairs must be specified explicitly. -The :doc:`pair\_modify ` shift, table, and tail options are +The :doc:`pair_modify ` shift, table, and tail options are not relevant for this pair style. -This pair style writes the settings for the "pair\_style table/rx" command -to :doc:`binary restart files `, so a pair\_style command does +This pair style writes the settings for the "pair_style table/rx" command +to :doc:`binary restart files `, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair\_coeff +file, since it is tabulated in the potential files. Thus, pair_coeff commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - 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 @@ -254,35 +242,23 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** fractional weighting - ---------- - .. _Wolff: - - **(Wolff)** Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_tersoff.rst b/doc/src/pair_tersoff.rst index 773ee649df2bb4120af0e999d9161e113bb60133..050b1367f318b845108af9c06a9344d8a5a6e375 100644 --- a/doc/src/pair_tersoff.rst +++ b/doc/src/pair_tersoff.rst @@ -1,31 +1,30 @@ -.. index:: pair\_style tersoff +.. index:: pair_style tersoff -pair\_style tersoff command -=========================== +pair_style tersoff command +========================== -pair\_style tersoff/table command -================================= +pair_style tersoff/table command +================================ -pair\_style tersoff/gpu command -=============================== +pair_style tersoff/gpu command +============================== -pair\_style tersoff/intel command -================================= +pair_style tersoff/intel command +================================ -pair\_style tersoff/kk command -============================== +pair_style tersoff/kk command +============================= -pair\_style tersoff/omp command -=============================== +pair_style tersoff/omp command +============================== -pair\_style tersoff/table/omp command -===================================== +pair_style tersoff/table/omp command +==================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style @@ -34,28 +33,42 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style tersoff - pair_coeff \* \* Si.tersoff Si - pair_coeff \* \* SiC.tersoff Si C Si + pair_coeff * * Si.tersoff Si + pair_coeff * * SiC.tersoff Si C Si pair_style tersoff/table - pair_coeff \* \* SiCGe.tersoff Si(D) + pair_coeff * * SiCGe.tersoff Si(D) Description """"""""""" The *tersoff* style computes a 3-body Tersoff potential -:ref:`(Tersoff\_1) ` for the energy E of a system of atoms as - -.. image:: Eqs/pair_tersoff_1.jpg - :align: center - -where f\_R is a two-body term and f\_A includes three-body interactions. -The summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = R + D. +:ref:`(Tersoff_1) ` for the energy E of a system of atoms as + +.. math:: + + E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ + V_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\ + f_C(r) & = \left\{ \begin{array} {r@{\quad:\quad}l} + 1 & r < R - D \\ + \frac{1}{2} - \frac{1}{2} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) & + R-D < r < R + D \\ + 0 & r > R + D + \end{array} \right. \\ + f_R(r) & = A \exp (-\lambda_1 r) \\ + f_A(r) & = -B \exp (-\lambda_2 r) \\ + b_{ij} & = \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\ + \zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) + \exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\ + g(\theta) & = \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - + \frac{c^2}{\left[ d^2 + (\cos \theta - \cos \theta_0)^2\right]} \right) + +where :math:`f_R` is a two-body term and :math:`f_A` includes three-body +interactions. The summations in the formula are over all neighbors +J and K of atom I within a cutoff distance = R + D. The *tersoff/table* style uses tabulated forms for the two-body, environment and angular functions. Linear interpolation is performed @@ -63,27 +76,26 @@ between adjacent table entries. The table length is chosen to be accurate within 10\^-6 with respect to the *tersoff* style energy. The *tersoff/table* should give better performance in terms of speed. -Only a single pair\_coeff command is used with the *tersoff* style +Only a single pair_coeff command is used with the *tersoff* style which specifies a Tersoff potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of Tersoff elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, imagine the SiC.tersoff file has Tersoff values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following -pair\_coeff command: +pair_coeff command: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* SiC.tersoff Si Si Si C + pair_coeff * * SiC.tersoff Si Si Si C The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si @@ -104,28 +116,30 @@ above: * element 2 (the atom bonded to the center atom) * element 3 (the atom influencing the 1-2 bond in a bond-order sense) * m -* gamma -* lambda3 (1/distance units) +* :math:`\gamma` +* :math:`\lambda_3` (1/distance units) * c * d -* costheta0 (can be a value < -1 or > 1) +* :math:`\cos\theta_0` (can be a value < -1 or > 1) * n -* beta -* lambda2 (1/distance units) +* :math:`\beta` +* :math:`\lambda_2` (1/distance units) * B (energy units) * R (distance units) * D (distance units) -* lambda1 (1/distance units) +* :math:`\lambda_1` (1/distance units) * A (energy units) -The n, beta, lambda2, B, lambda1, and A parameters are only used for -two-body interactions. The m, gamma, lambda3, c, d, and costheta0 +The n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A +parameters are only used for +two-body interactions. The m, :math:`\gamma`, :math:`\lambda_3`, c, d, +and :math:`\cos\theta_0` parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The non-annotated parameters are unitless. The value of m must be 3 or 1. The Tersoff potential file must contain entries for all the elements -listed in the pair\_coeff command. It can also contain entries for +listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. @@ -149,14 +163,15 @@ SiCC entry. The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions -(n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd +(n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A) +in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. Note that the twobody parameters in entries such as SiCC and CSiSi are often the same, due to the common use of symmetric mixing rules, but this is not always the case. For example, the beta and n parameters in -Tersoff\_2 :ref:`(Tersoff\_2) ` are not symmetric. +Tersoff_2 :ref:`(Tersoff_2) ` are not symmetric. We chose the above form so as to enable users to define all commonly used variants of the Tersoff potential. In particular, our form @@ -164,22 +179,29 @@ reduces to the original Tersoff form when m = 3 and gamma = 1, while it reduces to the form of :ref:`Albe et al. ` when beta = 1 and m = 1. Note that in the current Tersoff implementation in LAMMPS, m must be specified as either 3 or 1. Tersoff used a slightly different but -equivalent form for alloys, which we will refer to as Tersoff\_2 -potential :ref:`(Tersoff\_2) `. The *tersoff/table* style implements -Tersoff\_2 parameterization only. +equivalent form for alloys, which we will refer to as Tersoff_2 +potential :ref:`(Tersoff_2) `. +The *tersoff/table* style implements +Tersoff_2 parameterization only. -LAMMPS parameter values for Tersoff\_2 can be obtained as follows: -gamma\_ijk = omega\_ik, lambda3 = 0 and the value of +LAMMPS parameter values for Tersoff_2 can be obtained as follows: +:math:`\gamma_{ijk} = \omega_{ik}`, :math:`\lambda_3 = 0` and the value of m has no effect. The parameters for species i and j can be calculated -using the Tersoff\_2 mixing rules: +using the Tersoff_2 mixing rules: + +.. math:: -.. image:: Eqs/pair_tersoff_2.jpg - :align: center + \lambda_1^{i,j} & = \frac{1}{2}(\lambda_1^i + \lambda_1^j)\\ + \lambda_2^{i,j} & = \frac{1}{2}(\lambda_2^i + \lambda_2^j)\\ + A_{i,j} & = (A_{i}A_{j})^{1/2}\\ + B_{i,j} & = \chi_{ij}(B_{i}B_{j})^{1/2}\\ + R_{i,j} & = (R_{i}R_{j})^{1/2}\\ + S_{i,j} & = (S_{i}S_{j})^{1/2} -Tersoff\_2 parameters R and S must be converted to the LAMMPS +Tersoff_2 parameters R and S must be converted to the LAMMPS parameters R and D (R is different in both forms), using the following relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the -Tersoff\_2 parameters. +Tersoff_2 parameters. In the potentials directory, the file SiCGe.tersoff provides the LAMMPS parameters for Tersoff's various versions of Si, as well as his @@ -195,10 +217,8 @@ Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou for helping clarify how Tersoff parameters for alloys have been defined in various papers. - ---------- - 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 @@ -217,35 +237,30 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above from values in the potential file. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -256,39 +271,26 @@ The Tersoff potential files provided with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. You can use the Tersoff potential with any LAMMPS units, but you would need to create your own Tersoff potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. +appropriate units if your simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- +.. _Tersoff_11: -.. _Tersoff\_11: - - - -**(Tersoff\_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). +**(Tersoff_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). .. _Albe: - - **(Albe)** J. Nord, K. Albe, P. Erhart, and K. Nordlund, J. Phys.: Condens. Matter, 15, 5649(2003). -.. _Tersoff\_21: - - - -**(Tersoff\_2)** J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) - +.. _Tersoff_21: -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +**(Tersoff_2)** J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) diff --git a/doc/src/pair_tersoff_mod.rst b/doc/src/pair_tersoff_mod.rst index 15cce523f73b0b76e0b09a4edc28db0a5b00e403..1761a0b9fb9e3eb6ce263811f6648cdeb350f1d3 100644 --- a/doc/src/pair_tersoff_mod.rst +++ b/doc/src/pair_tersoff_mod.rst @@ -1,28 +1,27 @@ -.. index:: pair\_style tersoff/mod +.. index:: pair_style tersoff/mod -pair\_style tersoff/mod command -=============================== +pair_style tersoff/mod command +============================== -pair\_style tersoff/mod/c command -================================= - -pair\_style tersoff/mod/gpu command -=================================== +pair_style tersoff/mod/c command +================================ -pair\_style tersoff/mod/kk command +pair_style tersoff/mod/gpu command ================================== -pair\_style tersoff/mod/omp command -=================================== +pair_style tersoff/mod/kk command +================================= + +pair_style tersoff/mod/omp command +================================== -pair\_style tersoff/mod/c/omp command -===================================== +pair_style tersoff/mod/c/omp command +==================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style tersoff/mod @@ -31,39 +30,55 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style tersoff/mod - pair_coeff \* \* Si.tersoff.mod Si Si + pair_coeff * * Si.tersoff.mod Si Si pair_style tersoff/mod/c - pair_coeff \* \* Si.tersoff.modc Si Si + pair_coeff * * Si.tersoff.modc Si Si Description """"""""""" The *tersoff/mod* and *tersoff/mod/c* styles computes a bond-order type interatomic potential :ref:`(Kumagai) ` based on a 3-body Tersoff -potential :ref:`(Tersoff\_1) `, :ref:`(Tersoff\_2) ` with +potential :ref:`(Tersoff_1) `, :ref:`(Tersoff_2) ` with modified cutoff function and angular-dependent term, giving the energy E of a system of atoms as -.. image:: Eqs/pair_tersoff_mod.jpg - :align: center - -where f\_R is a two-body term and f\_A includes three-body interactions. +.. math:: + + E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ + V_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\ + f_C(r) & = \left\{ \begin{array} {r@{\quad:\quad}l} + 1 & r < R - D \\ + \frac{1}{2} - \frac{9}{16} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) - \frac{1}{16} \sin \left( \frac{3\pi}{2} \frac{r-R}{D} \right) & + R-D < r < R + D \\ + 0 & r > R + D + \end{array} \right. \\ + f_R(r) & = A \exp (-\lambda_1 r) \\ + f_A(r) & = -B \exp (-\lambda_2 r) \\ + b_{ij} & = \left( 1 + {\zeta_{ij}}^\eta \right)^{-\frac{1}{2n}} \\ + \zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) + \exp \left[ \alpha (r_{ij} - r_{ik})^\beta \right] \\ + g(\theta) & = c_1 + g_o(\theta) g_a(\theta) \\ + g_o(\theta) & = \frac{c_2 (h - \cos \theta)^2}{c_3 + (h - \cos \theta)^2} \\ + g_a(\theta) & = 1 + c_4 \exp \left[ -c_5 (h - \cos \theta)^2 \right] \\ + +where :math:`f_R` is a two-body term and :math:`f_A` includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = R + D. The *tersoff/mod/c* style differs from *tersoff/mod* only in the -formulation of the V\_ij term, where it contains an additional c0 term. +formulation of the V_ij term, where it contains an additional c0 term. -.. image:: Eqs/pair_tersoff_mod_c.jpg - :align: center +.. math:: -The modified cutoff function f\_C proposed by :ref:`(Murty) ` and + V_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) + c_0 \right] + +The modified cutoff function :math:`f_C` proposed by :ref:`(Murty) ` and having a continuous second-order differential is employed. The -angular-dependent term g(theta) was modified to increase the +angular-dependent term :math:`g(\theta)` was modified to increase the flexibility of the potential. The *tersoff/mod* potential is fitted to both the elastic constants @@ -72,23 +87,22 @@ form in which the angular-dependent term is improved. The model performs extremely well in describing the crystalline, liquid, and amorphous phases :ref:`(Schelling) `. -Only a single pair\_coeff command is used with the *tersoff/mod* style +Only a single pair_coeff command is used with the *tersoff/mod* style which specifies a Tersoff/MOD potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of Tersoff/MOD elements to atom types -As an example, imagine the Si.tersoff\_mod file has Tersoff values for Si. +As an example, imagine the Si.tersoff_mod file has Tersoff values for Si. If your LAMMPS simulation has 3 Si atoms types, you would use the following -pair\_coeff command: - +pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* Si.tersoff_mod Si Si Si + pair_coeff * * Si.tersoff_mod Si Si Si The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The three Si arguments map LAMMPS atom types 1,2,3 to the Si element @@ -105,37 +119,37 @@ not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to coefficients in the formulae above: -element 1 (the center atom in a 3-body interaction) -element 2 (the atom bonded to the center atom) -element 3 (the atom influencing the 1-2 bond in a bond-order sense) -beta -alpha -h -eta -beta\_ters = 1 (dummy parameter) -lambda2 (1/distance units) -B (energy units) -R (distance units) -D (distance units) -lambda1 (1/distance units) -A (energy units) -n -c1 -c2 -c3 -c4 -c5 -c0 (energy units, tersoff/mod/c only):ul - -The n, eta, lambda2, B, lambda1, and A parameters are only used for -two-body interactions. The beta, alpha, c1, c2, c3, c4, c5, h +* element 1 (the center atom in a 3-body interaction) +* element 2 (the atom bonded to the center atom) +* element 3 (the atom influencing the 1-2 bond in a bond-order sense) +* :math:`\beta` +* :math:`\alpha` +* h +* :math:`\eta` +* :math:`\beta_{ters}` = 1 (dummy parameter) +* :math:`\lambda_2` (1/distance units) +* B (energy units) +* R (distance units) +* D (distance units) +* :math:`\lambda_1` (1/distance units) +* A (energy units) +* n +* c1 +* c2 +* c3 +* c4 +* c5 +* c0 (energy units, tersoff/mod/c only):ul + +The n, :math:`\eta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A parameters are only used for +two-body interactions. The :math:`\beta`, :math:`\alpha`, c1, c2, c3, c4, c5, h parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The c0 term applies to *tersoff/mod/c* only. The non-annotated parameters are unitless. The Tersoff/MOD potential file must contain entries for all the elements -listed in the pair\_coeff command. It can also contain entries for +listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. @@ -145,10 +159,8 @@ the center atom in a three-body interaction and it is bonded to the 2nd atom and the bond is influenced by the 3rd atom. Thus an entry for SiSiSi means Si bonded to a Si with another Si atom influencing the bond. - ---------- - 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 @@ -167,31 +179,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -202,51 +209,34 @@ The Tersoff/MOD potential files provided with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. You can use the Tersoff/MOD potential with any LAMMPS units, but you would need to create your own Tersoff/MOD potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. +appropriate units if your simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Kumagai: - - **(Kumagai)** T. Kumagai, S. Izumi, S. Hara, S. Sakai, Comp. Mat. Science, 39, 457 (2007). -.. _Tersoff\_12: - - - -**(Tersoff\_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). +.. _Tersoff_12: -.. _Tersoff\_22: +**(Tersoff_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). +.. _Tersoff_22: - -**(Tersoff\_2)** J. Tersoff, Phys Rev B, 38, 9902 (1988). +**(Tersoff_2)** J. Tersoff, Phys Rev B, 38, 9902 (1988). .. _Murty: - - **(Murty)** M.V.R. Murty, H.A. Atwater, Phys Rev B, 51, 4889 (1995). .. _Schelling: - - **(Schelling)** Patrick K. Schelling, Comp. Mat. Science, 44, 274 (2008). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_tersoff_zbl.rst b/doc/src/pair_tersoff_zbl.rst index fecc22c31a7f2ad117cf1197345a94c1fb446ff5..57dc3db51e06b08d84bd268ffe0bdc44bb5f6b09 100644 --- a/doc/src/pair_tersoff_zbl.rst +++ b/doc/src/pair_tersoff_zbl.rst @@ -1,87 +1,110 @@ -.. index:: pair\_style tersoff/zbl +.. index:: pair_style tersoff/zbl -pair\_style tersoff/zbl command -=============================== +pair_style tersoff/zbl command +============================== -pair\_style tersoff/zbl/gpu command -=================================== - -pair\_style tersoff/zbl/kk command +pair_style tersoff/zbl/gpu command ================================== -pair\_style tersoff/zbl/omp command -=================================== +pair_style tersoff/zbl/kk command +================================= + +pair_style tersoff/zbl/omp command +================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style tersoff/zbl Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style tersoff/zbl - pair_coeff \* \* SiC.tersoff.zbl Si C Si + pair_coeff * * SiC.tersoff.zbl Si C Si Description """"""""""" The *tersoff/zbl* style computes a 3-body Tersoff potential -:ref:`(Tersoff\_1) ` with a close-separation pairwise modification +:ref:`(Tersoff_1) ` with a close-separation pairwise modification based on a Coulomb potential and the Ziegler-Biersack-Littmark universal screening function :ref:`(ZBL) `, giving the energy E of a system of atoms as -.. image:: Eqs/pair_tersoff_zbl.jpg - :align: center - -The f\_F term is a fermi-like function used to smoothly connect the ZBL +.. math:: + + E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ + V_{ij} & = (1 - f_F(r_{ij})) V^{ZBL}_{ij} + f_F(r_{ij}) V^{Tersoff}_{ij} \\ + f_F(r_{ij}) & = \frac{1}{1 + e^{-A_F(r_{ij} - r_C)}}\\ + \\ + \\ + V^{ZBL}_{ij} & = \frac{1}{4\pi\epsilon_0} \frac{Z_1 Z_2 \,e^2}{r_{ij}} \phi(r_{ij}/a) \\ + a & = \frac{0.8854\,a_0}{Z_{1}^{0.23} + Z_{2}^{0.23}}\\ + \phi(x) & = 0.1818e^{-3.2x} + 0.5099e^{-0.9423x} + 0.2802e^{-0.4029x} + 0.02817e^{-0.2016x}\\ + \\ + \\ + V^{Tersoff}_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\ + f_C(r) & = \left\{ \begin{array} {r@{\quad:\quad}l} + 1 & r < R - D \\ + \frac{1}{2} - \frac{1}{2} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) & + R-D < r < R + D \\ + 0 & r > R + D + \end{array} \right. \\ + f_R(r) & = A \exp (-\lambda_1 r) \\ + f_A(r) & = -B \exp (-\lambda_2 r) \\ + b_{ij} & = \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\ + \zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) + \exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\ + g(\theta) & = \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - + \frac{c^2}{\left[ d^2 + (\cos \theta - \cos \theta_0)^2\right]} \right) + +The :math:`f_F` term is a fermi-like function used to smoothly connect the ZBL repulsive potential with the Tersoff potential. There are 2 -parameters used to adjust it: A\_F and r\_C. A\_F controls how "sharp" -the transition is between the two, and r\_C is essentially the cutoff +parameters used to adjust it: :math:`A_F` and :math:`r_C`. :math:`A_F` +controls how "sharp" +the transition is between the two, and :math:`r_C` is essentially the cutoff for the ZBL potential. For the ZBL portion, there are two terms. The first is the Coulomb repulsive term, with Z1, Z2 as the number of protons in each nucleus, -e as the electron charge (1 for metal and real units) and epsilon0 as -the permittivity of vacuum. The second part is the ZBL universal +e as the electron charge (1 for metal and real units) and :math:`\epsilon_0` +as the permittivity of vacuum. The second part is the ZBL universal screening function, with a0 being the Bohr radius (typically 0.529 Angstroms), and the remainder of the coefficients provided by the original paper. This screening function should be applicable to most systems. However, it is only accurate for small separations (i.e. less than 1 Angstrom). -For the Tersoff portion, f\_R is a two-body term and f\_A includes +For the Tersoff portion, :math:`f_R` is a two-body term and :math:`f_A` +includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = R + D. -Only a single pair\_coeff command is used with the *tersoff/zbl* style +Only a single pair_coeff command is used with the *tersoff/zbl* style which specifies a Tersoff/ZBL potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of Tersoff/ZBL elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, imagine the SiC.tersoff.zbl file has Tersoff/ZBL values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the -following pair\_coeff command: - +following pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* SiC.tersoff Si Si Si C + pair_coeff * * SiC.tersoff Si Si Si C The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si @@ -102,34 +125,37 @@ in the formula above: * element 2 (the atom bonded to the center atom) * element 3 (the atom influencing the 1-2 bond in a bond-order sense) * m -* gamma -* lambda3 (1/distance units) +* :math:`\gamma` +* :math:`\lambda_3` (1/distance units) * c * d -* costheta0 (can be a value < -1 or > 1) +* :math:`\cos\theta_0` (can be a value < -1 or > 1) * n -* beta -* lambda2 (1/distance units) +* :math:`\beta` +* :math:`\lambda_2` (1/distance units) * B (energy units) * R (distance units) * D (distance units) -* lambda1 (1/distance units) +* :math:`\lambda_1` (1/distance units) * A (energy units) -* Z\_i -* Z\_j +* :math:`Z_i` +* :math:`Z_j` * ZBLcut (distance units) * ZBLexpscale (1/distance units) -The n, beta, lambda2, B, lambda1, and A parameters are only used for -two-body interactions. The m, gamma, lambda3, c, d, and costheta0 +The n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A +parameters are only used for +two-body interactions. The m, :math:`\gamma`, :math:`\lambda_3`, c, d, +and :math:`\cos\theta_0` parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The -Z\_i,Z\_j, ZBLcut, ZBLexpscale parameters are used in the ZBL repulsive +:math:`Z_i`, :math:`Z_j`, ZBLcut, ZBLexpscale parameters are used in the +ZBL repulsive portion of the potential and in the Fermi-like function. The non-annotated parameters are unitless. The value of m must be 3 or 1. The Tersoff/ZBL potential file must contain entries for all the -elements listed in the pair\_coeff command. It can also contain +elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. @@ -153,14 +179,15 @@ SiCC entry. The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions -(n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd +(n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A) +in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. Note that the twobody parameters in entries such as SiCC and CSiSi are often the same, due to the common use of symmetric mixing rules, but this is not always the case. For example, the beta and n parameters in -Tersoff\_2 :ref:`(Tersoff\_2) ` are not symmetric. +Tersoff_2 :ref:`(Tersoff_2) ` are not symmetric. We chose the above form so as to enable users to define all commonly used variants of the Tersoff portion of the potential. In particular, @@ -169,20 +196,26 @@ our form reduces to the original Tersoff form when m = 3 and gamma = and m = 1. Note that in the current Tersoff implementation in LAMMPS, m must be specified as either 3 or 1. Tersoff used a slightly different but equivalent form for alloys, which we will refer to as -Tersoff\_2 potential :ref:`(Tersoff\_2) `. +Tersoff_2 potential :ref:`(Tersoff_2) `. -LAMMPS parameter values for Tersoff\_2 can be obtained as follows: -gamma = omega\_ijk, lambda3 = 0 and the value of +LAMMPS parameter values for Tersoff_2 can be obtained as follows: +:math:`\gamma = \omega_{ijk}`, :math:`\lambda_3 = 0` and the value of m has no effect. The parameters for species i and j can be calculated -using the Tersoff\_2 mixing rules: +using the Tersoff_2 mixing rules: -.. image:: Eqs/pair_tersoff_2.jpg - :align: center +.. math:: -Tersoff\_2 parameters R and S must be converted to the LAMMPS + \lambda_1^{i,j} & = \frac{1}{2}(\lambda_1^i + \lambda_1^j)\\ + \lambda_2^{i,j} & = \frac{1}{2}(\lambda_2^i + \lambda_2^j)\\ + A_{i,j} & = (A_{i}A_{j})^{1/2}\\ + B_{i,j} & = \chi_{ij}(B_{i}B_{j})^{1/2}\\ + R_{i,j} & = (R_{i}R_{j})^{1/2}\\ + S_{i,j} & = (S_{i}S_{j})^{1/2}\\ + +Tersoff_2 parameters R and S must be converted to the LAMMPS parameters R and D (R is different in both forms), using the following relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the -Tersoff\_2 parameters. +Tersoff_2 parameters. In the potentials directory, the file SiCGe.tersoff provides the LAMMPS parameters for Tersoff's various versions of Si, as well as his @@ -199,10 +232,8 @@ for helping clarify how Tersoff parameters for alloys have been defined in various papers. Also thanks to Ram Devanathan for providing the base ZBL implementation. - ---------- - 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 @@ -221,35 +252,30 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above from values in the potential file. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -260,47 +286,32 @@ The Tersoff/ZBL potential files provided with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. You can use the Tersoff potential with any LAMMPS units, but you would need to create your own Tersoff potential file with coefficients -listed in the appropriate units if your simulation doesn't use "metal" +listed in the appropriate units if your simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- +.. _zbl-Tersoff_1: -.. _zbl-Tersoff\_1: - - - -**(Tersoff\_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). +**(Tersoff_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). .. _zbl-ZBL: - - **(ZBL)** J.F. Ziegler, J.P. Biersack, U. Littmark, 'Stopping and Ranges of Ions in Matter' Vol 1, 1985, Pergamon Press. .. _zbl-Albe: - - **(Albe)** J. Nord, K. Albe, P. Erhart and K. Nordlund, J. Phys.: Condens. Matter, 15, 5649(2003). -.. _zbl-Tersoff\_2: - - - -**(Tersoff\_2)** J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) - +.. _zbl-Tersoff_2: -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +**(Tersoff_2)** J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) diff --git a/doc/src/pair_thole.rst b/doc/src/pair_thole.rst index 8f4bac018293d8ea45c2ba3cf74f0724809f512e..7adf26746974e0eb4c19b81e07963135a3ade192 100644 --- a/doc/src/pair_thole.rst +++ b/doc/src/pair_thole.rst @@ -1,26 +1,24 @@ -.. index:: pair\_style thole +.. index:: pair_style thole -pair\_style thole command -========================= +pair_style thole command +======================== -pair\_style lj/cut/thole/long command -===================================== +pair_style lj/cut/thole/long command +==================================== -pair\_style lj/cut/thole/long/omp command -========================================= +pair_style lj/cut/thole/long/omp command +======================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *thole* or *lj/cut/thole/long* or *lj/cut/thole/long/omp* * args = list of arguments for a particular style - .. parsed-literal:: *thole* args = damp cutoff @@ -34,13 +32,12 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style hybrid/overlay ... thole 2.6 12.0 pair_coeff 1 1 thole 1.0 pair_coeff 1 2 thole 1.0 2.6 10.0 - pair_coeff \* 2 thole 1.0 2.6 + pair_coeff * 2 thole 1.0 2.6 pair_style lj/cut/thole/long 2.6 12.0 @@ -53,13 +50,13 @@ describes how to use the :doc:`thermalized Drude oscillator model ` discussed on the :doc:`Howto polarizable ` doc page. The *thole* pair style should be used as a sub-style within in the -:doc:`pair\_hybrid/overlay ` command, in conjunction with a +:doc:`pair_style hybrid/overlay ` command, in conjunction with a main pair style including Coulomb interactions, i.e. any pair style containing *coul/cut* or *coul/long* in its style name. The *lj/cut/thole/long* pair style is equivalent to, but more convenient that the frequent combination *hybrid/overlay lj/cut/coul/long cutoff thole damp -cutoff2*\ . It is not only a shorthand for this pair\_style combination, but +cutoff2*\ . It is not only a shorthand for this pair_style combination, but it also allows for mixing pair coefficients instead of listing them all. The *lj/cut/thole/long* pair style is also a bit faster because it avoids an overlay and can benefit from OMP acceleration. Moreover, it uses a more @@ -70,12 +67,11 @@ Drude particles. The *thole* pair styles compute the Coulomb interaction damped at short distances by a function - .. math:: - \begin{equation} T_{ij}(r_{ij}) = 1 - \left( 1 + + T_{ij}(r_{ij}) = 1 - \left( 1 + \frac{s_{ij} r_{ij} }{2} \right) - \exp \left( - s_{ij} r_{ij} \right) \end{equation} + \exp \left( - s_{ij} r_{ij} \right) This function results from an adaptation to point charges :ref:`(Noskov) ` of the dipole screening scheme originally proposed @@ -87,12 +83,11 @@ the atom types. The mixing rule for Thole damping parameters is the arithmetic average, and for polarizabilities the geometric average between the atom-specific values. - .. math:: - \begin{equation} s_{ij} = \frac{ a_{ij} }{ + s_{ij} = \frac{ a_{ij} }{ (\alpha_{ij})^{1/3} } = \frac{ (a_i + a_j)/2 }{ - [(\alpha_i\alpha_j)^{1/2}]^{1/3} } \end{equation} + [(\alpha_i\alpha_j)^{1/2}]^{1/3} } The damping function is only applied to the interactions between the point charges representing the induced dipoles on polarizable sites, @@ -103,42 +98,40 @@ is not applied to the full charge of the core particle :math:`q_i`, but only to the :math:`-q_{D,i}` part of it. The interactions between core charges are subject to the weighting -factors set by the :doc:`special\_bonds ` command. The +factors set by the :doc:`special_bonds ` command. The interactions between Drude particles and core charges or non-polarizable atoms are also subject to these weighting factors. The Drude particles inherit the 1-2, 1-3 and 1-4 neighbor relations from their respective cores. -For pair\_style *thole*\ , the following coefficients must be defined for -each pair of atoms types via the :doc:`pair\_coeff ` command +For pair_style *thole*\ , the following coefficients must be defined for +each pair of atoms types via the :doc:`pair_coeff ` command as in the example above. -* alpha (distance units\^3) +* :math:`\alpha` (distance units\^3) * damp * cutoff (distance units) The last two coefficients are optional. If not specified the global -Thole damping parameter or global cutoff specified in the pair\_style +Thole damping parameter or global cutoff specified in the pair_style command are used. In order to specify a cutoff (third argument) a damp parameter (second argument) must also be specified. For pair style *lj/cut/thole/long*\ , the following coefficients must be -defined for each pair of atoms types via the :doc:`pair\_coeff ` +defined for each pair of atoms types via the :doc:`pair_coeff ` command. -* epsilon (energy units) -* sigma (length units) -* alpha (distance units\^3) -* damps +* :math:`\epsilon` (energy units) +* :math:`\sigma` (length units) +* :math:`\alpha` (distance units\^3) +* damp * LJ cutoff (distance units) The last two coefficients are optional and default to the global values from -the *pair\_style* command line. - +the *pair_style* command 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 @@ -165,24 +158,19 @@ for all I,J pairs must be specified explicitly. The *lj/cut/thole/long* pair style does support mixing. Mixed coefficients are defined using - -.. math:: - - \begin{equation} \alpha_{ij} = \sqrt{\alpha_i\alpha_j}\end{equation} - - .. math:: - \begin{equation} a_{ij} = \frac 1 2 (a_i + a_j)\end{equation} + \alpha_{ij} = & \sqrt{\alpha_i\alpha_j} \\ + & \\ + a_{ij} = & \frac 1 2 (a_i + a_j) Restrictions """""""""""" - These pair styles are part of the USER-DRUDE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. -This pair\_style should currently not be used with the :doc:`charmm dihedral style ` if the latter has non-zero 1-4 weighting +This pair_style should currently not be used with the :doc:`charmm dihedral style ` if the latter has non-zero 1-4 weighting factors. This is because the *thole* pair style does not know which pairs are 1-4 partners of which dihedrals. @@ -194,27 +182,16 @@ Related commands """""""""""""""" :doc:`fix drude `, :doc:`fix langevin/drude `, :doc:`fix drude/transform `, :doc:`compute temp/drude ` -:doc:`pair\_style lj/cut/coul/long ` +:doc:`pair_style lj/cut/coul/long ` **Default:** none - ---------- - .. _Noskov1: - - **(Noskov)** Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005). .. _Thole1: - - **(Thole)** Chem Phys, 59, 341 (1981). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_tri_lj.rst b/doc/src/pair_tri_lj.rst index 350f9c0617ffff4ae329554593dd7b8feabf927a..1dd69778ed7070b32b1d821a4e34e9d3c20778ec 100644 --- a/doc/src/pair_tri_lj.rst +++ b/doc/src/pair_tri_lj.rst @@ -1,13 +1,12 @@ -.. index:: pair\_style tri/lj +.. index:: pair_style tri/lj -pair\_style tri/lj command -========================== +pair_style tri/lj command +========================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style tri/lj cutoff @@ -16,11 +15,10 @@ cutoff = global cutoff for interactions (distance units) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style tri/lj 3.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.5 2.5 Description @@ -32,7 +30,7 @@ Interactions between two triangles, each with N1 and N2 spherical particles, are calculated as the pairwise sum of N1\*N2 Lennard-Jones interactions. Interactions between a triangle with N spherical particles and a point particle are treated as the pairwise sum of N -Lennard-Jones interactions. See the :doc:`pair\_style lj/cut ` +Lennard-Jones interactions. See the :doc:`pair_style lj/cut ` doc page for the definition of Lennard-Jones interactions. The cutoff distance for an interaction between 2 triangles, or between @@ -43,16 +41,16 @@ its entirety or not at all. The set of non-overlapping spherical particles that represent a triangle, for purposes of this pair style, are generated in the -following manner. Assume the triangle is of type I, and sigma\_II has +following manner. Assume the triangle is of type I, and sigma_II has been specified. We want a set of spheres with centers in the plane of -the triangle, none of them larger in diameter than sigma\_II, which +the triangle, none of them larger in diameter than sigma_II, which completely cover the triangle's area, but with minimal overlap and a minimal total number of spheres. This is done in a recursive manner. Place a sphere at the centroid of the original triangle. Calculate what diameter it must have to just cover all 3 corner points of the -triangle. If that diameter is equal to or smaller than sigma\_II, then +triangle. If that diameter is equal to or smaller than sigma_II, then include a sphere of the calculated diameter in the set of covering -spheres. It the diameter is larger than sigma\_II, then split the +spheres. It the diameter is larger than sigma_II, then split the triangle into 2 triangles by bisecting its longest side. Repeat the process on each sub-triangle, recursing as far as needed to generate a set of covering spheres. When finished, the original criteria are @@ -64,14 +62,14 @@ The LJ interaction between 2 spheres on different triangles of types I,J is computed with an arithmetic mixing of the sigma values of the 2 spheres and using the specified epsilon value for I,J atom types. Note that because the sigma values for triangles spheres is computed -using only sigma\_II values, specific to the triangles's type, this -means that any specified sigma\_IJ values (for I != J) are effectively +using only sigma_II values, specific to the triangles's type, this +means that any specified sigma_IJ values (for I != J) are effectively ignored. For style *tri/lj*\ , the following coefficients must be defined for -each pair of atoms types via the :doc:`pair\_coeff ` command +each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by -the :doc:`read\_data ` or :doc:`read\_restart ` +the :doc:`read_data ` or :doc:`read_restart ` commands: * epsilon (energy units) @@ -81,48 +79,38 @@ commands: The last coefficient is optional. If not specified, the global cutoff is used. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of this pair style can be mixed. The -default mix value is *geometric*\ . See the "pair\_modify" command for +default mix value is *geometric*\ . See the "pair_modify" command for details. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. Defining particles to be triangles so they participate in tri/tri or -tri/particle interactions requires the use the :doc:`atom\_style tri ` command. +tri/particle interactions requires the use the :doc:`atom_style tri ` command. Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`pair\_style line/lj ` +:doc:`pair_coeff `, :doc:`pair_style line/lj ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_ufm.rst b/doc/src/pair_ufm.rst index 318762bb4bf6acfef665d486cabed63970f49942..2562b2fc2f874cd6318ff2f71fdacc69edb03eb6 100644 --- a/doc/src/pair_ufm.rst +++ b/doc/src/pair_ufm.rst @@ -1,22 +1,21 @@ -.. index:: pair\_style ufm +.. index:: pair_style ufm -pair\_style ufm command -======================= +pair_style ufm command +====================== -pair\_style ufm/gpu command -=========================== +pair_style ufm/gpu command +========================== -pair\_style ufm/omp command -=========================== +pair_style ufm/omp command +========================== -pair\_style ufm/opt command -=========================== +pair_style ufm/opt command +========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style ufm cutoff @@ -25,63 +24,70 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style ufm 4.0 pair_coeff 1 1 100.0 1.0 2.5 - pair_coeff \* \* 100.0 1.0 + pair_coeff * * 100.0 1.0 pair_style ufm 4.0 - pair_coeff \* \* 10.0 1.0 + pair_coeff * * 10.0 1.0 variable prefactor equal ramp(10,100) - fix 1 all adapt 1 pair ufm epsilon \* \* v_prefactor + fix 1 all adapt 1 pair ufm epsilon * * v_prefactor Description """"""""""" Style *ufm* computes pairwise interactions using the Uhlenbeck-Ford model (UFM) potential :ref:`(Paula Leite2016) ` which is given by -.. image:: Eqs/pair_ufm.jpg - :align: center +.. math:: + + E & = -\varepsilon\, \ln{\left[1-\exp{\left(-r^{2}/\sigma^{2}\right)}\right]} \qquad r < r_c \\ + \varepsilon & = p\,k_B\,T -where rc is the cutoff, sigma is a distance-scale and epsilon is an energy-scale, i.e., a product of Boltzmann constant kB, temperature T and the Uhlenbeck-Ford p-parameter which is responsible +where :math:`r_c` is the cutoff, :math:`\sigma` is a distance-scale and +:math:`\epsilon` is an energy-scale, i.e., a product of Boltzmann constant +:math:`k_B`, temperature *T* and the Uhlenbeck-Ford p-parameter which +is responsible to control the softness of the interactions :ref:`(Paula Leite2017) `. This model is useful as a reference system for fluid-phase free-energy calculations :ref:`(Paula Leite2016) `. The following coefficients must be defined for each pair of atom types -via the :doc:`pair\_coeff ` command as in the examples above, +via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * cutoff (distance units) The last coefficient is optional. If not specified, the global *ufm* cutoff is used. The :doc:`fix adapt ` command can be used to vary epsilon and sigma for this pair style over the course of a simulation, in which case -pair\_coeff settings for epsilon and sigma must still be specified, but will be +pair_coeff settings for epsilon and sigma must still be specified, but will be overridden. For example these commands will vary the prefactor epsilon for all pairwise interactions from 10.0 at the beginning to 100.0 at the end of a run: - -.. parsed-literal:: +.. code-block:: LAMMPS variable prefactor equal ramp(10,100) - fix 1 all adapt 1 pair ufm epsilon \* \* v_prefactor + fix 1 all adapt 1 pair ufm epsilon * * v_prefactor .. note:: - The thermodynamic integration procedure can be performed with this potential using :doc:`fix adapt `. This command will rescale the force on each atom by varying a scale variable, which always starts with value 1.0. The syntax is the same described above, however, changing epsilon to scale. A detailed explanation of how to use this command and perform nonequilibrium thermodynamic integration in LAMMPS is given in the paper by :ref:`(Freitas) `. - + The thermodynamic integration procedure can be performed with this + potential using :doc:`fix adapt `. This command will + rescale the force on each atom by varying a scale variable, which + always starts with value 1.0. The syntax is the same described above, + however, changing epsilon to scale. A detailed explanation of how to + use this command and perform nonequilibrium thermodynamic integration + in LAMMPS is given in the paper by :ref:`(Freitas) `. ---------- - 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 @@ -100,68 +106,53 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is always mixed via a -*geometric* rule. The cutoff is mixed according to the pair\_modify +*geometric* rule. The cutoff is mixed according to the pair_modify mix value. The default mix value is *geometric*\ . See the -"pair\_modify" command for details. +"pair_modify" command for details. -This pair style support the :doc:`pair\_modify ` shift option for the energy of the pair interaction. +This pair style support the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table and tail are not relevant for this +The :doc:`pair_modify ` table and tail are not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` tail option for adding long-range tail corrections to energy and pressure. +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`pair\_coeff `, :doc:`fix adapt ` +:doc:`pair_coeff `, :doc:`fix adapt ` **Default:** none .. _PL1: - - **(Paula Leite2017)** Paula Leite, Santos-Florez, and de Koning, Phys Rev E, 96, 32115 (2017). .. _PL2: - - **(Paula Leite2016)** Paula Leite , Freitas, Azevedo, and de Koning, J Chem Phys, 126, 044509 (2016). .. _Freitas2: - - **(Freitas)** Freitas, Asta, and de Koning, Computational Materials Science, 112, 333 (2016). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_vashishta.rst b/doc/src/pair_vashishta.rst index c4c8a6c9f57e6e89a063793e35d2319e7e49b787..6fc5cfe0156625b3c28536855a44925138eb49b5 100644 --- a/doc/src/pair_vashishta.rst +++ b/doc/src/pair_vashishta.rst @@ -1,35 +1,33 @@ -.. index:: pair\_style vashishta +.. index:: pair_style vashishta -pair\_style vashishta command -============================= +pair_style vashishta command +============================ -pair\_style vashishta/gpu command -================================= - -pair\_style vashishta/omp command -================================= +pair_style vashishta/gpu command +================================ -pair\_style vashishta/kk command +pair_style vashishta/omp command ================================ -pair\_style vashishta/table command -=================================== +pair_style vashishta/kk command +=============================== -pair\_style vashishta/table/omp command -======================================= +pair_style vashishta/table command +================================== + +pair_style vashishta/table/omp command +====================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style args * style = *vashishta* or *vashishta/table* or *vashishta/omp* or *vashishta/table/omp* * args = list of arguments for a particular style - .. parsed-literal:: *vashishta* or *vashishta/omp* args = none @@ -40,14 +38,13 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style vashishta - pair_coeff \* \* SiC.vashishta Si C + pair_coeff * * SiC.vashishta Si C pair_style vashishta/table 100000 0.2 - pair_coeff \* \* SiC.vashishta Si C + pair_coeff * * SiC.vashishta Si C Description """"""""""" @@ -63,16 +60,20 @@ including SiO2 :ref:`Vashishta1990 `, SiC The potential for the energy U of a system of atoms is -.. image:: Eqs/pair_vashishta.jpg - :align: center +.. math:: + + U & = \sum_i^N \sum_{j > i}^N U_{ij}^{(2)} (r_{ij}) + \sum_i^N \sum_{j \neq i}^N \sum_{k > j, k \neq i}^N U_{ijk}^{(3)} (r_{ij}, r_{ik}, \theta_{ijk}) \\ + U_{ij}^{(2)} (r) & = \frac{H_{ij}}{r^{\eta_{ij}}} + \frac{Z_i Z_j}{r}\exp(-r/\lambda_{1,ij}) - \frac{D_{ij}}{r^4}\exp(-r/\lambda_{4,ij}) - \frac{W_{ij}}{r^6}, r < r_{c,{ij}} \\ + U_{ijk}^{(3)}(r_{ij},r_{ik},\theta_{ijk}) & = B_{ijk} \frac{\left[ \cos \theta_{ijk} - \cos \theta_{0ijk} \right]^2} {1+C_{ijk}\left[ \cos \theta_{ijk} - \cos \theta_{0ijk} \right]^2} \times \\ + & \exp \left( \frac{\gamma_{ij}}{r_{ij} - r_{0,ij}} \right) \exp \left( \frac{\gamma_{ik}}{r_{ik} - r_{0,ik}} \right), r_{ij} < r_{0,ij}, r_{ik} < r_{0,ik} where we follow the notation used in :ref:`Branicio2009 `. -U2 is a two-body term and U3 is a three-body term. The +:math:`U^2` is a two-body term and U3 is a three-body term. The summation over two-body terms is over all neighbors J within -a cutoff distance = *rc*\ . The twobody terms are shifted and +a cutoff distance = :math:`r_c`. The twobody terms are shifted and tilted by a linear function so that the energy and force are -both zero at *rc*\ . The summation over three-body terms -is over all neighbors J and K within a cut-off distance = *r0*\ , +both zero at :math:`r_c`. The summation over three-body terms +is over all neighbors *i* and *k* within a cut-off distance :math:`= r_0`, where the exponential screening function becomes zero. The *vashishta* style computes these formulas analytically. The @@ -86,27 +87,26 @@ with moderate to little loss of accuracy for Ntable values between 10000 and 1000000. It is not recommended to use less than 5000 tabulation points. -Only a single pair\_coeff command is used with either style which +Only a single pair_coeff command is used with either style which specifies a Vashishta potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of Vashishta elements to atom types -See the :doc:`pair\_coeff ` doc page for alternate ways +See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, imagine a file SiC.vashishta has parameters for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following -pair\_coeff command: +pair_coeff command: +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_coeff \* \* SiC.vashishta Si Si Si C + pair_coeff * * SiC.vashishta Si Si Si C The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1,2,3 to the Si @@ -126,24 +126,24 @@ and three-body coefficients in the formulae above: * element 1 (the center atom in a 3-body interaction) * element 2 * element 3 -* H (energy units) -* eta -* Zi (electron charge units) -* Zj (electron charge units) -* lambda1 (distance units) -* D (energy units) -* lambda4 (distance units) -* W (energy units) -* rc (distance units) -* B (energy units) -* gamma -* r0 (distance units) -* C -* costheta0 +* *H* (energy units) +* :math:`\eta` +* :math:`Z_i` (electron charge units) +* :math:`Z_j` (electron charge units) +* :math:`\lambda_1` (distance units) +* *D* (energy units) +* :math:`\lambda_4` (distance units) +* *W* (energy units) +* :math:`r_c` (distance units) +* *B* (energy units) +* :math:`\gamma` +* :math:`r_0` (distance units) +* *C* +* :math:`\cos\theta_0` The non-annotated parameters are unitless. The Vashishta potential file must contain entries for all the elements listed in the -pair\_coeff command. It can also contain entries for additional +pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file @@ -159,12 +159,14 @@ unambiguous, general, and simple to code, LAMMPS uses a slightly confusing method for specifying parameters. All parameters are divided into two classes: two-body and three-body. Two-body and three-body parameters are handled differently, as described below. -The two-body parameters are H, eta, lambda1, D, lambda4, W, rc, gamma, -and r0. They appear in the above formulae with two subscripts. The -parameters Zi and Zj are also classified as two-body parameters, even -though they only have 1 subscript. The three-body parameters are B, -C, costheta0. They appear in the above formulae with three -subscripts. Two-body and three-body parameters are handled +The two-body parameters are *H*\ , :math:`\eta`, :math:`\lambda_1`, +*D*\ , :math:`\lambda_4`, *W*, :math:`r_c`, :math:`\gamma`, +and :math:`r_0`. They appear in the above formulae with two subscripts. +The parameters :math:`Z_i` and :math:`Z_j` are also classified +as two-body parameters, even +though they only have 1 subscript. The three-body parameters are *B*\ , +*C*\ , :math:`\cos\theta_0`. They appear in the above formulae with +three subscripts. Two-body and three-body parameters are handled differently, as described below. The first element in each entry is the center atom in a three-body @@ -184,14 +186,13 @@ ensure that these values are equal. Two-body parameters appearing in entries where the 2nd and 3rd elements are different are stored but never used. It is good practice to enter zero for these values. Note that the three-body function U3 above contains the two-body parameters -gamma and r0. So U3 for a central C atom bonded to an Si atom and a +:math:`\gamma` and :math:`r_0`. So U3 for a central C atom bonded to +an Si atom and a second C atom will take three-body parameters from the CSiC entry, but two-body parameters from the CCC and CSiSi entries. - ---------- - 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 @@ -210,35 +211,30 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above from values in the potential file. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These pair style are part of the MANYBODY package. They is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -249,41 +245,28 @@ The Vashishta potential files provided with LAMMPS (see the potentials directory) are parameterized for metal :doc:`units `. You can use the Vashishta potential with any LAMMPS units, but you would need to create your own potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. +appropriate units if your simulation does not use "metal" units. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Vashishta1990: - - **(Vashishta1990)** P. Vashishta, R. K. Kalia, J. P. Rino, Phys. Rev. B 41, 12197 (1990). .. _Vashishta2007: - - **(Vashishta2007)** P. Vashishta, R. K. Kalia, A. Nakano, J. P. Rino. J. Appl. Phys. 101, 103515 (2007). .. _Branicio2009: - - **(Branicio2009)** Branicio, Rino, Gan and Tsuzuki, J. Phys Condensed Matter 21 (2009) 095002 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_write.rst b/doc/src/pair_write.rst index 17be08f29a3890b42af20a587f5acc3ab42084ef..acb6de4f13afed07037e987301aac8bb544e3f86 100644 --- a/doc/src/pair_write.rst +++ b/doc/src/pair_write.rst @@ -1,13 +1,12 @@ -.. index:: pair\_write +.. index:: pair_write -pair\_write command -=================== +pair_write command +================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_write itype jtype N style inner outer file keyword Qi Qj @@ -22,8 +21,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_write 1 3 500 r 1.0 10.0 table.txt LJ pair_write 1 1 1000 rsq 2.0 8.0 table.txt Yukawa_1_1 -0.5 0.5 @@ -40,7 +38,7 @@ file. The energy and force values are computed at distances from inner to outer for 2 interacting atoms of type itype and jtype, using the -appropriate :doc:`pair\_coeff ` coefficients. If the style +appropriate :doc:`pair_coeff ` coefficients. If the style is *r*\ , then N distances are used, evenly spaced in r; if the style is *rsq*\ , N distances are used, evenly spaced in r\^2. @@ -49,7 +47,7 @@ values are computed at r = 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0. If the style is *bitmap*\ , then 2\^N values are written to the file in a format and order consistent with how they are read in by the -:doc:`pair\_coeff ` command for pair style *table*\ . For +:doc:`pair_coeff ` command for pair style *table*\ . For reasonable accuracy in a bitmapped table, choose N >= 12, an *inner* value that is smaller than the distance of closest approach of 2 atoms, and an *outer* value <= cutoff of the potential. @@ -59,7 +57,7 @@ of the pair of interacting atoms can optionally be specified. If not specified, values of Qi = Qj = 1.0 are used. The file is written in the format used as input for the -:doc:`pair\_style ` *table* option with *keyword* as the +:doc:`pair_style ` *table* option with *keyword* as the section name. Each line written to the file lists an index number (1-N), a distance (in distance units), an energy (in energy units), and a force (in force units). @@ -67,25 +65,19 @@ and a force (in force units). Restrictions """""""""""" - All force field coefficients for pair and other kinds of interactions must be set before this command can be invoked. Due to how the pairwise force is computed, an inner value > 0.0 must be specified even if the potential has a finite value at r = 0.0. -For EAM potentials, the pair\_write command only tabulates the +For EAM potentials, the pair_write command only tabulates the pairwise portion of the potential, not the embedding portion. Related commands """""""""""""""" -:doc:`pair\_style table `, -:doc:`pair\_style `, :doc:`pair\_coeff ` +:doc:`pair_style table `, +:doc:`pair_style `, :doc:`pair_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_yukawa.rst b/doc/src/pair_yukawa.rst index 14cec88d2e7ba6cc19326f8be9ed78d8c25c10f6..fad035ed4b63f44ec83723f097d5deb93c842e53 100644 --- a/doc/src/pair_yukawa.rst +++ b/doc/src/pair_yukawa.rst @@ -1,22 +1,21 @@ -.. index:: pair\_style yukawa +.. index:: pair_style yukawa -pair\_style yukawa command -========================== +pair_style yukawa command +========================= -pair\_style yukawa/gpu command -============================== - -pair\_style yukawa/omp command -============================== +pair_style yukawa/gpu command +============================= -pair\_style yukawa/kk command +pair_style yukawa/omp command ============================= +pair_style yukawa/kk command +============================ + Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style yukawa kappa cutoff @@ -26,27 +25,27 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style yukawa 2.0 2.5 pair_coeff 1 1 100.0 2.3 - pair_coeff \* \* 100.0 + pair_coeff * * 100.0 Description """"""""""" Style *yukawa* computes pairwise interactions with the formula -.. image:: Eqs/pair_yukawa.jpg - :align: center +.. math:: + + E = A \frac{e^{- \kappa r}}{r} \qquad r < r_c -Rc is the cutoff. +:math:`r_c` is the cutoff. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * A (energy\*distance units) @@ -55,10 +54,8 @@ commands, or by mixing as described below: The last coefficient is optional. If not specified, the global yukawa cutoff is used. - ---------- - 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 @@ -77,38 +74,34 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. The default mix value is *geometric*\ . See the -"pair\_modify" command for details. +"pair_modify" command for details. -This pair style supports the :doc:`pair\_modify ` shift +This pair style supports the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -116,11 +109,6 @@ Restrictions Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_yukawa_colloid.rst b/doc/src/pair_yukawa_colloid.rst index b46f8fc70497a4921d05466d1ff3909a296b399b..f775f3770309fc6e0ba8a177dba134ff787e75f6 100644 --- a/doc/src/pair_yukawa_colloid.rst +++ b/doc/src/pair_yukawa_colloid.rst @@ -1,19 +1,18 @@ -.. index:: pair\_style yukawa/colloid +.. index:: pair_style yukawa/colloid -pair\_style yukawa/colloid command -================================== +pair_style yukawa/colloid command +================================= -pair\_style yukawa/colloid/gpu command -====================================== +pair_style yukawa/colloid/gpu command +===================================== -pair\_style yukawa/colloid/omp command -====================================== +pair_style yukawa/colloid/omp command +===================================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style yukawa/colloid kappa cutoff @@ -23,43 +22,43 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style yukawa/colloid 2.0 2.5 pair_coeff 1 1 100.0 2.3 - pair_coeff \* \* 100.0 + pair_coeff * * 100.0 Description """"""""""" Style *yukawa/colloid* computes pairwise interactions with the formula -.. image:: Eqs/pair_yukawa_colloid.jpg - :align: center +.. math:: + + E = \frac{A}{\kappa} e^{- \kappa (r - (r_i + r_j))} \qquad r < r_c -where Ri and Rj are the radii of the two particles and Rc is the -cutoff. +where :math:`r_i` and :math:`r_j` are the radii of the two particles +and :math:`r_c` is the cutoff. -In contrast to :doc:`pair\_style yukawa `, this functional +In contrast to :doc:`pair_style yukawa `, this functional form arises from the Coulombic interaction between two colloid particles, screened due to the presence of an electrolyte, see the book by :ref:`Safran ` for a derivation in the context of DLVO -theory. :doc:`Pair\_style yukawa ` is a screened Coulombic +theory. :doc:`Pair_style yukawa ` is a screened Coulombic potential between two point-charges and uses no such approximation. This potential applies to nearby particle pairs for which the Derjagin -approximation holds, meaning h << Ri + Rj, where h is the +approximation holds, meaning :math:`h << r_i + r_j`, where *h* is the surface-to-surface separation of the two particles. -When used in combination with :doc:`pair\_style colloid `, +When used in combination with :doc:`pair_style colloid `, the two terms become the so-called DLVO potential, which combines electrostatic repulsion and van der Waals attraction. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * A (energy/distance units) @@ -68,29 +67,26 @@ commands, or by mixing as described below: The prefactor A is determined from the relationship between surface charge and surface potential due to the presence of electrolyte. Note that the A for this potential style has different units than the A -used in :doc:`pair\_style yukawa `. For low surface +used in :doc:`pair_style yukawa `. For low surface potentials, i.e. less than about 25 mV, A can be written as: +.. math:: -.. parsed-literal:: - - A = 2 \* PI \* R\*eps\*eps0 \* kappa \* psi\^2 + A = 2 \pi R\varepsilon\varepsilon_0 \kappa \psi^2 where -* R = colloid radius (distance units) -* eps0 = permittivity of free space (charge\^2/energy/distance units) -* eps = relative permittivity of fluid medium (dimensionless) -* kappa = inverse screening length (1/distance units) -* psi = surface potential (energy/charge units) +* *R* = colloid radius (distance units) +* :math:`\varepsilon_0` = permittivity of free space (charge\^2/energy/distance units) +* :math:`\varepsilon` = relative permittivity of fluid medium (dimensionless) +* :math:`\kappa` = inverse screening length (1/distance units) +* :math:`\psi` = surface potential (energy/charge units) The last coefficient is optional. If not specified, the global yukawa/colloid cutoff is used. - ---------- - 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 @@ -109,47 +105,42 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. The default mix value is *geometric*\ . See the -"pair\_modify" command for details. +"pair_modify" command for details. -This pair style supports the :doc:`pair\_modify ` shift +This pair style supports the :doc:`pair_modify ` shift option for the energy of the pair interaction. -The :doc:`pair\_modify ` table option is not relevant +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the COLLOID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. This pair style requires that atoms be finite-size spheres with a -diameter, as defined by the :doc:`atom\_style sphere ` +diameter, as defined by the :doc:`atom_style sphere ` command. Per-particle polydispersity is not yet supported by this pair style; @@ -160,22 +151,13 @@ diameter. Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Safran: - - **(Safran)** Safran, Statistical Thermodynamics of Surfaces, Interfaces, And Membranes, Westview Press, ISBN: 978-0813340791 (2003). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_zbl.rst b/doc/src/pair_zbl.rst index 6bb485ee8a5e7ee4ec60c6d92dbacecfb73a2c73..26960f71b3765e8fe910e9943f1e4cf054519c73 100644 --- a/doc/src/pair_zbl.rst +++ b/doc/src/pair_zbl.rst @@ -1,22 +1,21 @@ -.. index:: pair\_style zbl +.. index:: pair_style zbl -pair\_style zbl command -======================= +pair_style zbl command +====================== -pair\_style zbl/gpu command -=========================== - -pair\_style zbl/kk command +pair_style zbl/gpu command ========================== -pair\_style zbl/omp command -=========================== +pair_style zbl/kk command +========================= + +pair_style zbl/omp command +========================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style zbl inner outer @@ -26,11 +25,10 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style zbl 3.0 4.0 - pair_coeff \* \* 73.0 73.0 + pair_coeff * * 73.0 73.0 pair_coeff 1 1 14.0 14.0 Description @@ -41,34 +39,39 @@ repulsion for describing high-energy collisions between atoms. :ref:`(Ziegler) `. It includes an additional switching function that ramps the energy, force, and curvature smoothly to zero between an inner and outer cutoff. The potential -energy due to a pair of atoms at a distance r\_ij is given by: +energy due to a pair of atoms at a distance r_ij is given by: -.. image:: Eqs/pair_zbl.jpg - :align: center +.. math:: -where e is the electron charge, epsilon\_0 is the electrical -permittivity of vacuum, and Z\_i and Z\_j are the nuclear charges of the -two atoms. The switching function S(r) is identical to that used by -:doc:`pair\_style lj/gromacs `. Here, the inner and outer + E^{ZBL}_{ij} & = \frac{1}{4\pi\epsilon_0} \frac{Z_i Z_j \,e^2}{r_{ij}} \phi(r_{ij}/a)+ S(r_{ij})\\ + a & = \frac{0.46850}{Z_{i}^{0.23} + Z_{j}^{0.23}}\\ + \phi(x) & = 0.18175e^{-3.19980x} + 0.50986e^{-0.94229x} + 0.28022e^{-0.40290x} + 0.02817e^{-0.20162x}\\ + +where *e* is the electron charge, :math:`\epsilon_0` is the electrical +permittivity of vacuum, and :math:`Z_i` and :math:`Z_j` are the nuclear +charges of the +two atoms. The switching function :math:`S(r)` is identical to that used by +:doc:`pair_style lj/gromacs `. Here, the inner and outer cutoff are the same for all pairs of atom types. The following coefficients must be defined for each pair of atom types -via the :doc:`pair\_coeff ` command as in the examples above, +via the :doc:`pair_coeff ` command as in the examples above, or in the LAMMPS data file. -* Z\_i (atomic number for first atom type, e.g. 13.0 for aluminum) +* :math:`Z_i` (atomic number for first atom type, e.g. 13.0 for aluminum) -* Z\_j (ditto for second atom type) +* :math:`Z_j` (ditto for second atom type) -The values of Z\_i and Z\_j are normally equal to the atomic +The values of :math:`Z_i` and :math:`Z_j` are normally equal to the atomic numbers of the two atom types. Thus, the user may optionally -specify only the coefficients for each I==I pair, and rely +specify only the coefficients for each :math:`i==i` pair, and rely on the obvious mixing rule for cross interactions (see below). -Note that when I==I it is required that Z\_i == Z\_j. When used -with :doc:`hybrid/overlay ` and pairs are assigned +Note that when :math:`i==i` it is required that :math:`Z_i == Z_j`. +When used with :doc:`hybrid/overlay ` and pairs are +assigned to more than one sub-style, the mixing rule is not used and each pair of types interacting with the ZBL sub-style must -be included in a pair\_coeff command. +be included in a pair_coeff command. .. note:: @@ -80,10 +83,8 @@ be included in a pair\_coeff command. always be given as multiples of a proton's charge, e.g. 29.0 for copper. - ---------- - 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 @@ -102,45 +103,43 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -For atom type pairs I,J and I != J, the Z\_i and Z\_j coefficients -can be mixed by taking Z\_i and Z\_j from the values specified for -I == I and J == J cases. When used +For atom type pairs *i,j* and :math:`i \neq i`, the :math:`Z_i` and +:math:`Z_j` coefficients +can be mixed by taking :math:`Z_i` and :math:`Z_j` from the values +specified for +:math:`i == i` and :math:`j == j` cases. When used with :doc:`hybrid/overlay ` and pairs are assigned to more than one sub-style, the mixing rule is not used and each pair of types interacting with the ZBL sub-style -must be included in a pair\_coeff command. -The :doc:`pair\_modify ` mix option has no effect on +must be included in a pair_coeff command. +The :doc:`pair_modify ` mix option has no effect on the mixing behavior -The ZBL pair style does not support the :doc:`pair\_modify ` +The ZBL pair style does not support the :doc:`pair_modify ` shift option, since the ZBL interaction is already smoothed to 0.0 at the cutoff. -The :doc:`pair\_modify ` table option is not relevant for +The :doc:`pair_modify ` table option is not relevant for this pair style. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for a potential that goes to 0.0 at the cutoff. -This pair style does not write information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands must be +This pair style does not write information to :doc:`binary restart files `, so pair_style and pair_coeff commands must be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the -:doc:`run\_style respa ` command. It does not support the +:doc:`run_style respa ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -148,22 +147,13 @@ Restrictions Related commands """""""""""""""" -:doc:`pair\_coeff ` +:doc:`pair_coeff ` **Default:** none - ---------- - .. _Ziegler: - - **(Ziegler)** J.F. Ziegler, J. P. Biersack and U. Littmark, "The Stopping and Range of Ions in Matter," Volume 1, Pergamon, 1985. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pair_zero.rst b/doc/src/pair_zero.rst index 6afafc2017ca2dafbaaa58717ae297a69bf4c8c1..a704cf92f269820c820f5e6a84147c41d7a1cde1 100644 --- a/doc/src/pair_zero.rst +++ b/doc/src/pair_zero.rst @@ -1,30 +1,28 @@ -.. index:: pair\_style zero +.. index:: pair_style zero -pair\_style zero command -======================== +pair_style zero command +======================= Syntax """""" +.. code-block:: LAMMPS -.. parsed-literal:: - - pair_style zero cutoff *nocoeff* + pair_style zero cutoff [nocoeff] * zero = style name of this pair style * cutoff = global cutoff (distance units) -* nocoeff = ignore all pair\_coeff parameters (optional) +* nocoeff = ignore all pair_coeff parameters (optional) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style zero 10.0 pair_style zero 5.0 nocoeff - pair_coeff \* \* - pair_coeff 1 2\*4 3.0 + pair_coeff * * + pair_coeff 1 2*4 3.0 Description """"""""""" @@ -38,62 +36,53 @@ to enumerate pairs of atoms within some cutoff distance, but when pairwise forces are not otherwise needed. Examples are the :doc:`fix bond/create `, :doc:`compute rdf `, :doc:`compute voronoi/atom ` commands. -Note that the :doc:`comm\_modify cutoff ` command can be +Note that the :doc:`comm_modify cutoff ` command can be used to insure communication of ghost atoms even when a pair style is not defined, but it will not trigger neighbor list generation. The optional *nocoeff* flag allows to read data files with a PairCoeff -section for any pair style. Similarly, any pair\_coeff commands +section for any pair style. Similarly, any pair_coeff commands will only be checked for the atom type numbers and the rest ignored. In this case, only the global cutoff will be used. The following coefficients must be defined for each pair of atoms -types via the :doc:`pair\_coeff ` command as in the examples +types via the :doc:`pair_coeff ` command as in the examples above, or in the data file or restart files read by the -:doc:`read\_data ` or :doc:`read\_restart ` +:doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: * cutoff (distance units) This coefficient is optional. If not specified, the global cutoff -specified in the pair\_style command is used. If the pair\_style has +specified in the pair_style command is used. If the pair_style has been specified with the optional *nocoeff* flag, then a cutoff pair coefficient is ignored. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : The cutoff distance for this pair style can be mixed. The default mix -value is *geometric*\ . See the "pair\_modify" command for details. +value is *geometric*\ . See the "pair_modify" command for details. -This pair style does not support the :doc:`pair\_modify ` +This pair style does not support the :doc:`pair_modify ` shift, table, and tail options. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style supports the use of the *inner*\ , *middle*\ , -and *outer* keywords of the :doc:`run\_style respa ` command. - +and *outer* keywords of the :doc:`run_style respa ` command. ---------- - Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`pair\_style none ` +:doc:`pair_style none ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/pairs.rst b/doc/src/pairs.rst index 4fdf2b2c692a7b7fc568edc76c8d0a1161205684..b764c74cc7a36f14a989cfcfeac4b066efe24fe5 100644 --- a/doc/src/pairs.rst +++ b/doc/src/pairs.rst @@ -1,7 +1,6 @@ Pair Styles ########### - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/partition.rst b/doc/src/partition.rst index e238e7c60da489e52847dadcbe4a9250889892f7..be0e1152f5f2e4c978df3cc71939e667ad6b770c 100644 --- a/doc/src/partition.rst +++ b/doc/src/partition.rst @@ -6,7 +6,6 @@ partition command Syntax """""" - .. parsed-literal:: partition style N command ... @@ -18,13 +17,12 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS partition yes 1 processors 4 10 6 partition no 5 print "Active partition" - partition yes \*5 fix all nve - partition yes 6\* fix all nvt temp 1.0 1.0 0.1 + partition yes *5 fix all nve + partition yes 6* fix all nvt temp 1.0 1.0 0.1 Description """"""""""" @@ -61,7 +59,7 @@ from 1 to n (inclusive). A trailing asterisk means all partitions from n to Np (inclusive). A middle asterisk means all partitions from m to n (inclusive). -This command can be useful for the "run\_style verlet/split" command +This command can be useful for the "run_style verlet/split" command which imposed requirements on how the :doc:`processors ` command lays out a 3d grid of processors in each of 2 partitions. @@ -72,11 +70,6 @@ Restrictions Related commands """""""""""""""" -:doc:`run\_style verlet/split ` +:doc:`run_style verlet/split ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/prd.rst b/doc/src/prd.rst index 5ea3db6121fd32c320efc18c5b03c306364f04ae..c3bd1ad1d3297231aba83bff7248e87620c4cca7 100644 --- a/doc/src/prd.rst +++ b/doc/src/prd.rst @@ -6,23 +6,22 @@ prd command Syntax """""" - .. parsed-literal:: prd N t_event n_dephase t_dephase t_correlate compute-ID seed keyword value ... * N = # of timesteps to run (not including dephasing/quenching) -* t\_event = timestep interval between event checks -* n\_dephase = number of velocity randomizations to perform in each dephase run -* t\_dephase = number of timesteps to run dynamics after each velocity randomization during dephase -* t\_correlate = number of timesteps within which 2 consecutive events are considered to be correlated +* t_event = timestep interval between event checks +* n_dephase = number of velocity randomizations to perform in each dephase run +* t_dephase = number of timesteps to run dynamics after each velocity randomization during dephase +* t_correlate = number of timesteps within which 2 consecutive events are considered to be correlated * compute-ID = ID of the compute used for event detection -* random\_seed = random # seed (positive integer) +* random_seed = random # seed (positive integer) * zero or more keyword/value pairs may be appended * keyword = *min* or *temp* or *vel* - + .. parsed-literal:: - + *min* values = etol ftol maxiter maxeval etol = stopping tolerance for energy, used in quenching ftol = stopping tolerance for force, used in quenching @@ -37,13 +36,10 @@ Syntax *steps* = simulation runs for N timesteps on each replica (default) *clock* = simulation runs for N timesteps across all replicas - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS prd 5000 100 10 10 100 1 54982 prd 5000 100 10 10 100 1 54982 min 0.1 0.1 100 200 @@ -100,7 +96,6 @@ A PRD run has several stages, which are repeated each time an "event" occurs in one of the replicas, as explained below. The logic for a PRD run is as follows: - .. parsed-literal:: while (time remains): @@ -124,9 +119,9 @@ storing the resulting coordinates for reference. In the first stage, dephasing is performed by each replica independently to eliminate correlations between replicas. This is done by choosing a random set of velocities, based on the -*random\_seed* that is specified, and running *t\_dephase* timesteps of -dynamics. This is repeated *n\_dephase* times. At each of the -*n\_dephase* stages, if an event occurs during the *t\_dephase* steps of +*random_seed* that is specified, and running *t_dephase* timesteps of +dynamics. This is repeated *n_dephase* times. At each of the +*n_dephase* stages, if an event occurs during the *t_dephase* steps of dynamics for a particular replica, the replica repeats the stage until no event occurs. @@ -138,16 +133,16 @@ The style of velocity randomization is controlled using the keyword in the :doc:`velocity ` command. In the second stage, each replica runs dynamics continuously, stopping -every *t\_event* steps to check if a transition event has occurred. +every *t_event* steps to check if a transition event has occurred. This check is performed by quenching the system and comparing the resulting atom coordinates to the coordinates from the previous basin. The first time through the PRD loop, the "previous basin" is the set of quenched coordinates from the initial state of the system. A quench is an energy minimization and is performed by whichever -algorithm has been defined by the :doc:`min\_style ` command. +algorithm has been defined by the :doc:`min_style ` command. Minimization parameters may be set via the -:doc:`min\_modify ` command and by the *min* keyword of the +:doc:`min_modify ` command and by the *min* keyword of the PRD command. The latter are the settings that would be used with the :doc:`minimize ` command. Note that typically, you do not need to perform a highly-converged minimization to detect a transition @@ -163,8 +158,8 @@ distance. If so, an "event" has occurred. In the third stage, the replica on which the event occurred (event replica) continues to run dynamics to search for correlated events. -This is done by running dynamics for *t\_correlate* steps, quenching -every *t\_event* steps, and checking if another event has occurred. +This is done by running dynamics for *t_correlate* steps, quenching +every *t_event* steps, and checking if another event has occurred. The first time no correlated event occurs, the final state of the event replica is shared with all replicas, the new basin reference @@ -186,10 +181,8 @@ elapsed. This aggregate time is the "clock" time defined below, which typically advances nearly M times faster than the timestepping on a single replica, where M is the number of replicas. - ---------- - Four kinds of output can be generated during a PRD run: event statistics, thermodynamic output by each replica, dump files, and restart files. @@ -237,19 +230,17 @@ when a correlated event occurs during the third stage of the loop listed above, i.e. when only one replica is running dynamics. When more than one replica detects an event at the end of the same -event check (every *t\_event* steps) during the second stage, then +event check (every *t_event* steps) during the second stage, then one of them is chosen at random. The number of coincident events is the number of replicas that detected an event. Normally, this value should be 1. If it is often greater than 1, then either the number of -replicas is too large, or *t\_event* is too large. +replicas is too large, or *t_event* is too large. The replica number is the ID of the replica (from 0 to M-1) in which the event occurred. - ---------- - When running on multiple partitions, LAMMPS produces additional log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For the PRD command, these contain the thermodynamic output for each @@ -262,10 +253,8 @@ After the PRD command completes, timing statistics for the PRD run are printed in each replica's log file, giving a breakdown of how much CPU time was spent in each stage (dephasing, dynamics, quenching, etc). - ---------- - Any :doc:`dump files ` defined in the input script, will be written to during a PRD run at timesteps corresponding to both uncorrelated and correlated events. This means the requested dump @@ -280,19 +269,17 @@ snapshot corresponding to the initial minimum state used for event detection is written to the dump file at the beginning of each PRD run. - ---------- - If the :doc:`restart ` command is used, a single restart file for all the partitions is generated, which allows a PRD run to be continued by a new input script in the usual manner. The restart file is generated at the end of the loop listed above. If no correlated events are found, this means it contains a snapshot of -the system at time T + *t\_correlate*, where T is the time at which the +the system at time T + *t_correlate*, where T is the time at which the uncorrelated event occurred. If correlated events were found, then it -contains a snapshot of the system at time T + *t\_correlate*, where T +contains a snapshot of the system at time T + *t_correlate*, where T is the time of the last correlated event. The restart frequency specified in the :doc:`restart ` command @@ -305,24 +292,21 @@ event. When an input script reads a restart file from a previous PRD run, the new script can be run on a different number of replicas or processors. -However, it is assumed that *t\_correlate* in the new PRD command is +However, it is assumed that *t_correlate* in the new PRD command is the same as it was previously. If not, the calculation of the "clock" value for the first event in the new run will be slightly off. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. -The *N* and *t\_correlate* settings must be integer multiples of -*t\_event*. +The *N* and *t_correlate* settings must be integer multiples of +*t_event*. Runs restarted from restart file written during a PRD run will not produce identical results due to changes in the random numbers used @@ -337,8 +321,8 @@ Related commands """""""""""""""" :doc:`compute event/displace `, -:doc:`min\_modify `, :doc:`min\_style `, -:doc:`run\_style `, :doc:`minimize `, +:doc:`min_modify `, :doc:`min_style `, +:doc:`run_style `, :doc:`minimize `, :doc:`velocity `, :doc:`temper `, :doc:`neb `, :doc:`tad `, :doc:`hyper ` @@ -348,24 +332,13 @@ Default The option defaults are min = 0.1 0.1 40 50, no temp setting, vel = geom gaussian, and time = steps. - ---------- - .. _Voter1998: - - **(Voter1998)** Voter, Phys Rev B, 57, 13985 (1998). .. _Voter2002prd: - - **(Voter2002)** Voter, Montalenti, Germann, Annual Review of Materials Research 32, 321 (2002). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/print.rst b/doc/src/print.rst index 93b1224993ca45199063e21d4af325be4f7a000a..b9ed8555fa2fd29877194e1bac8be8242b186a1a 100644 --- a/doc/src/print.rst +++ b/doc/src/print.rst @@ -6,7 +6,6 @@ print command Syntax """""" - .. parsed-literal:: print string keyword value @@ -14,21 +13,18 @@ Syntax * string = text string to print, which may contain variables * zero or more keyword/value pairs may be appended * keyword = *file* or *append* or *screen* or *universe* - + .. parsed-literal:: - + *file* value = filename *append* value = filename *screen* value = *yes* or *no* *universe* value = *yes* or *no* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS print "Done with equilibration" file info.dat print Vol=$v append info.dat screen no @@ -94,8 +90,3 @@ Default """"""" The option defaults are no file output, screen = yes, and universe = no. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/processors.rst b/doc/src/processors.rst index a13b44330c2801a8a9a144aae5839bdfc5ec90f6..899c87f4b03fea6d6c53898100f3b18823c2ba4f 100644 --- a/doc/src/processors.rst +++ b/doc/src/processors.rst @@ -6,7 +6,6 @@ processors command Syntax """""" - .. parsed-literal:: processors Px Py Pz keyword args ... @@ -14,9 +13,9 @@ Syntax * Px,Py,Pz = # of processors in each dimension of 3d grid overlaying the simulation domain * zero or more keyword/arg pairs may be appended * keyword = *grid* or *map* or *part* or *file* - + .. parsed-literal:: - + *grid* arg = gstyle params ... gstyle = *onelevel* or *twolevel* or *numa* or *custom* onelevel params = none @@ -39,21 +38,18 @@ Syntax *file* arg = outfile outfile = name of file to write 3d grid of processors to - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - processors \* \* 5 + processors * * 5 processors 2 4 4 - processors \* \* 8 map xyz - processors \* \* \* grid numa - processors \* \* \* grid twolevel 4 \* \* 1 + processors * * 8 map xyz + processors * * * grid numa + processors * * * grid twolevel 4 * * 1 processors 4 8 16 grid custom myfile - processors \* \* \* part 1 2 multiple + processors * * * part 1 2 multiple Description """"""""""" @@ -97,8 +93,7 @@ Px,Py,Pz values for different partitions. You can use the :doc:`partition ` command to specify different processor grids for different partitions, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS partition yes 1 processors 4 4 4 partition yes 2 processors 2 3 2 @@ -107,11 +102,11 @@ different processor grids for different partitions, e.g. This command only affects the initial regular 3d grid created when the simulation box is first specified via a - :doc:`create\_box ` or :doc:`read\_data ` or - :doc:`read\_restart ` command. Or if the simulation box is + :doc:`create_box ` or :doc:`read_data ` or + :doc:`read_restart ` command. Or if the simulation box is re-created via the :doc:`replicate ` command. The same regular grid is initially created, regardless of which - :doc:`comm\_style ` command is in effect. + :doc:`comm_style ` command is in effect. If load-balancing is never invoked via the :doc:`balance ` or :doc:`fix balance ` commands, then the initial regular grid @@ -120,17 +115,15 @@ the methods invoked by those commands retain the logical topology of the initial 3d grid, and the mapping of processors to the grid specified by the processors command. However the grid spacings in different dimensions may change, so that processors own sub-domains of -different sizes. If the :doc:`comm\_style tiled ` command is +different sizes. If the :doc:`comm_style tiled ` command is used, methods invoked by the balancing commands may discard the 3d grid of processors and tile the simulation domain with sub-domains of different sizes and shapes which no longer have a logical 3d connectivity. If that occurs, all the information specified by the processors command is ignored. - ---------- - The *grid* keyword affects the factorization of P into Px,Py,Pz and it can also affect how the P processor IDs are mapped to the 3d grid of processors. @@ -194,7 +187,6 @@ blank or comment lines (starting with a "#" character) can be present. The first non-blank, non-comment line should have 3 values: - .. parsed-literal:: Px Py Py @@ -205,7 +197,6 @@ and the Px, Py, Pz settings of the processors command. This line should be immediately followed by P = Px\*Py\*Pz lines of the form: - .. parsed-literal:: ID I J K @@ -215,18 +206,16 @@ processors location in the 3d grid. I must be a number from 1 to Px (inclusive) and similarly for J and K. The P lines can be listed in any order, but no processor ID should appear more than once. - ---------- - The *map* keyword affects how the P processor IDs (from 0 to P-1) are mapped to the 3d grid of processors. It is only used by the *onelevel* and *twolevel* grid settings. The *cart* style uses the family of MPI Cartesian functions to perform -the mapping, namely MPI\_Cart\_create(), MPI\_Cart\_get(), -MPI\_Cart\_shift(), and MPI\_Cart\_rank(). It invokes the -MPI\_Cart\_create() function with its reorder flag = 0, so that MPI is +the mapping, namely MPI_Cart_create(), MPI_Cart_get(), +MPI_Cart_shift(), and MPI_Cart_rank(). It invokes the +MPI_Cart_create() function with its reorder flag = 0, so that MPI is not free to reorder the processors. The *cart/reorder* style does the same thing as the *cart* style @@ -241,7 +230,6 @@ ID in the K direction varies slowest. For example, if you select style *xyz* and you have a 2x2x2 grid of 8 processors, the assignments of the 8 octants of the simulation domain will be: - .. parsed-literal:: proc 0 = lo x, lo y, lo z octant @@ -256,7 +244,7 @@ of the 8 octants of the simulation domain will be: Note that, in principle, an MPI implementation on a particular machine should be aware of both the machine's network topology and the specific subset of processors and nodes that were assigned to your -simulation. Thus its MPI\_Cart calls can optimize the assignment of +simulation. Thus its MPI_Cart calls can optimize the assignment of MPI processes to the 3d grid to minimize communication costs. In practice, however, few if any MPI implementations actually do this. So it is likely that the *cart* and *cart/reorder* styles simply give @@ -267,14 +255,12 @@ used to first map the nodes to the 3d grid, then again to the cores within each node. For the latter step, the *cart* and *cart/reorder* styles are not supported, so an *xyz* style is used in their place. - ---------- - The *part* keyword affects the factorization of P into Px,Py,Pz. It can be useful when running in multi-partition mode, e.g. with the -:doc:`run\_style verlet/split ` command. It specifies a +:doc:`run_style verlet/split ` command. It specifies a dependency between a sending partition *Psend* and a receiving partition *Precv* which is enforced when each is setting up their own mapping of their processors to the simulation box. Each of *Psend* @@ -292,7 +278,7 @@ constraint. The nature of the constraint is determined by the For a *cstyle* of *multiple*\ , each dimension of the sender's processor grid is required to be an integer multiple of the corresponding dimension in the receiver's processor grid. This is a requirement of -the :doc:`run\_style verlet/split ` command. +the :doc:`run_style verlet/split ` command. For example, assume the sending partition creates a 4x6x10 grid = 240 processor grid. If the receiving partition is running on 80 @@ -310,10 +296,8 @@ processors, it could create a 4x2x10 grid, but it will not create a this, but your simulation will likely hang in its setup phase if this error has been made. - ---------- - The *file* keyword writes the mapping of the factorization of P processors and their mapping to the 3d grid to the specified file *outfile*\ . This is useful to check that you assigned physical @@ -344,21 +328,18 @@ I,J,K are the indices of the processor in the regular 3d grid, each from 1 to Nd, where Nd is the number of processors in that dimension of the grid. -The *name* is what is returned by a call to MPI\_Get\_processor\_name() +The *name* is what is returned by a call to MPI_Get_processor_name() and should represent an identifier relevant to the physical processors in your machine. Note that depending on the MPI implementation, multiple cores can have the same *name*\ . - ---------- - Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a -:doc:`read\_data ` or :doc:`create\_box ` command. +:doc:`read_data ` or :doc:`create_box ` command. It can be used before a restart file is read to change the 3d processor grid from what is specified in the restart file. @@ -378,8 +359,3 @@ Default The option defaults are Px Py Pz = \* \* \*, grid = onelevel, and map = cart. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/python.rst b/doc/src/python.rst index ea874fbf87f2f5a736606a3e3c7c4283c5b6acaa..70dfbb70ba5a092a04d27b64bbbc566d9fd4d080 100644 --- a/doc/src/python.rst +++ b/doc/src/python.rst @@ -6,16 +6,15 @@ python command Syntax """""" - .. parsed-literal:: python func keyword args ... * func = name of Python function * one or more keyword/args pairs must be appended - + .. parsed-literal:: - + keyword = *invoke* or *input* or *return* or *format* or *length* or *file* or *here* or *exists* or *source* *invoke* arg = none = invoke the previously defined Python function *input* args = N i1 i2 ... iN @@ -44,13 +43,10 @@ Syntax inline = one or more lines of Python code which will be executed immediately must be a single argument, typically enclosed between triple quotes - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS python pForce input 2 v_x 20.0 return v_f format fff file force.py python pForce invoke @@ -58,7 +54,7 @@ Examples python factorial input 1 myN return v_fac format ii here """ def factorial(n): if n == 1: return n - return n \* factorial(n-1) + return n * factorial(n-1) """ python loop input 1 SELF return v_value format pf here """ @@ -69,10 +65,10 @@ Examples # loop N times, increasing cutoff each time for i in range(N): - cut = cut0 + i\*0.1 - lmp.set_variable("cut",cut) # set a variable in LAMMPS + cut = cut0 + i*0.1 + lmp.set_variable("cut",cut) # set a variable in LAMMPS lmp.command("pair_style lj/cut ${cut}") # LAMMPS commands - lmp.command("pair_coeff \* \* 1.0 1.0") + lmp.command("pair_coeff * * 1.0 1.0") lmp.command("run 100") """ @@ -110,10 +106,8 @@ A broader overview of how Python can be used with LAMMPS is given on the :doc:`Python ` doc page. There is an examples/python directory which illustrates use of the python command. - ---------- - The *func* setting specifies the name of the Python function. The code for the function is defined using the *file* or *here* keywords as explained below. In case of the *source* keyword, the name of @@ -145,14 +139,14 @@ itself. This enables the function to call back to LAMMPS through its library interface as explained below. This allows the Python function to query or set values internal to LAMMPS which can affect the subsequent execution of the input script. A LAMMPS variable can also -be used as an argument, specified as v\_name, where "name" is the name +be used as an argument, specified as v_name, where "name" is the name of the variable. Any style of LAMMPS variable can be used, as defined by the :doc:`variable ` command. Each time the Python function is invoked, the LAMMPS variable is evaluated and its value is passed to the Python function. The *return* keyword is only needed if the Python function returns a -value. The specified *varReturn* must be of the form v\_name, where +value. The specified *varReturn* must be of the form v_name, where "name" is the name of a python-style LAMMPS variable, defined by the :doc:`variable ` command. The Python function can return a numeric or string value, as specified by the *format* keyword. @@ -162,8 +156,7 @@ of a python-style variable associates a Python function name with the variable. This must match the *func* setting for this command. For example these two commands would be self-consistent: - -.. parsed-literal:: +.. code-block:: LAMMPS variable foo python myMultiply python myMultiply return v_foo format f file funcs.py @@ -195,10 +188,8 @@ include the string terminator). If the Python function generates a string longer than the default 63 or the specified *Nlen*\ , it will be truncated. - ---------- - Either the *file*\ , *here*\ , or *exists* keyword must be used, but only one of them. These keywords specify what Python code to load into the Python interpreter. The *file* keyword gives the name of a file, @@ -226,10 +217,8 @@ later invoked, the function code must match the *input* and *return* and *format* keywords specified by the python command. Otherwise Python will generate an error. - ---------- - This section describes how Python code can be written to work with LAMMPS. @@ -242,7 +231,7 @@ conflict with the triple-quote parsing that the LAMMPS input script performs. All the Python code you specify via one or more python commands is -loaded into the Python "main" module, i.e. \__main\__. The code can +loaded into the Python "main" module, i.e. __main__. The code can define global variables or statements that are outside of function definitions. It can contain multiple functions, only one of which matches the *func* setting in the python command. This means you can @@ -261,8 +250,7 @@ python-style variable associated with the function. For example, consider this function loaded with two global variables defined outside the function: - -.. parsed-literal:: +.. code-block:: python nsteplast = -1 nvaluelast = 0 @@ -313,22 +301,19 @@ LAMMPS with that library. Third, if your Python code calls back to LAMMPS (discussed in the next section) and causes LAMMPS to perform an MPI operation requires -global communication (e.g. via MPI\_Allreduce), such as computing the +global communication (e.g. via MPI_Allreduce), such as computing the global temperature of the system, then you must insure all your Python functions (running independently on different processors) call back to LAMMPS. Otherwise the code may hang. - ---------- - Your Python function can "call back" to LAMMPS through its library interface, if you use the SELF input to pass Python a pointer to LAMMPS. The mechanism for doing this in your Python function is as follows: - -.. parsed-literal:: +.. code-block:: python def foo(lmpptr,...): from lammps import lammps @@ -337,16 +322,15 @@ Python function is as follows: ... The function definition must include a variable (lmpptr in this case) -which corresponds to SELF in the python command. The first line of -the function imports the Python module lammps.py in the python dir of +which corresponds to SELF in the python command. The first line of the +function imports the Python module lammps.py in the python directory of the distribution. The second line creates a Python object "lmp" which -wraps the instance of LAMMPS that called the function. The -"ptr=lmpptr" argument is what makes that happen. The third line -invokes the command() function in the LAMMPS library interface. It -takes a single string argument which is a LAMMPS input script command -for LAMMPS to execute, the same as if it appeared in your input -script. In this case, LAMMPS should output - +wraps the instance of LAMMPS that called the function. The "ptr=lmpptr" +argument is what makes that happen. The third line invokes the +command() function in the LAMMPS library interface. It takes a single +string argument which is a LAMMPS input script command for LAMMPS to +execute, the same as if it appeared in your input script. In this case, +LAMMPS should output .. parsed-literal:: @@ -363,8 +347,7 @@ library interface. A more interesting example is in the examples/python/in.python script which loads and runs the following function from examples/python/funcs.py: - -.. parsed-literal:: +.. code-block:: python def loop(N,cut0,thresh,lmpptr): print "LOOP ARGS",N,cut0,thresh,lmpptr @@ -373,13 +356,13 @@ which loads and runs the following function from examples/python/funcs.py: natoms = lmp.get_natoms() for i in range(N): - cut = cut0 + i\*0.1 + cut = cut0 + i*0.1 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("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 @@ -387,7 +370,6 @@ which loads and runs the following function from examples/python/funcs.py: with these input script commands: - .. parsed-literal:: python loop input 4 10 1.0 -4.0 SELF format iffp file funcs.py @@ -402,15 +384,15 @@ with complex logic, much more so than can be created using the LAMMPS :doc:`jump ` and :doc:`if ` commands. Several LAMMPS library functions are called from the loop function. -Get\_natoms() returns the number of atoms in the simulation, so that it +Get_natoms() returns the number of atoms in the simulation, so that it can be used to normalize the potential energy that is returned by -extract\_compute() for the "thermo\_pe" compute that is defined by -default for LAMMPS thermodynamic output. Set\_variable() sets the +extract_compute() for the "thermo_pe" compute that is defined by +default for LAMMPS thermodynamic output. Set_variable() sets the value of a string variable defined in LAMMPS. This library function is a useful way for a Python function to return multiple values to LAMMPS, more than the single value that can be passed back via a return statement. This cutoff value in the "cut" variable is then -substituted (by LAMMPS) in the pair\_style command that is executed +substituted (by LAMMPS) in the pair_style command that is executed next. Alternatively, the "LAMMPS command option" line could be used in place of the 2 preceding lines, to have Python insert the value into the LAMMPS command string. @@ -440,10 +422,8 @@ being attempted. The same applies to Python functions called during a simulation run at each time step using :doc:`fix python/invoke `. - ---------- - If you run Python code directly on your workstation, either interactively or by using Python to launch a Python script stored in a file, and your code has an error, you will typically see informative @@ -456,7 +436,6 @@ logic errors, you may get an error from Python pointing to the offending line, or you may get one of these generic errors from LAMMPS: - .. parsed-literal:: Could not process Python file @@ -465,7 +444,6 @@ LAMMPS: When the Python function is invoked, if it does not return properly, you will typically get this generic error from LAMMPS: - .. parsed-literal:: Python function evaluation failed @@ -485,16 +463,14 @@ Third, use Python exception handling. For example, say this statement in your Python function is failing, because you have not initialized the variable foo: - -.. parsed-literal:: +.. code-block:: python foo += 1 If you put one (or more) statements inside a "try" statement, like this: - -.. parsed-literal:: +.. code-block:: python import exceptions print "Inside simple function" @@ -505,7 +481,6 @@ like this: then you will get this message printed to the screen: - .. parsed-literal:: FOO error: local variable 'foo' referenced before assignment @@ -514,14 +489,11 @@ If there is no error in the try statements, then nothing is printed. Either way the function continues on (unless you put a return or sys.exit() in the except clause). - ---------- - Restrictions """""""""""" - This command is part of the PYTHON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -549,8 +521,3 @@ Related commands :doc:`shell `, :doc:`variable `, :doc:`fix python/invoke ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/quit.rst b/doc/src/quit.rst index 2129920022c56be50b1240fff7664e68204ced3d..8059232c6a84b720261fe36e9a4aab810c6f2477 100644 --- a/doc/src/quit.rst +++ b/doc/src/quit.rst @@ -6,7 +6,6 @@ quit command Syntax """""" - .. parsed-literal:: quit status @@ -16,8 +15,7 @@ status = numerical exit status (optional) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS quit if "$n > 10000" then "quit 1" @@ -51,8 +49,3 @@ Related commands :doc:`if ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 798f95e5ecc6fef4d2e387e9d5e7e91c2a555f83..642f930b9d8ca29b69802810b666ac0a68cf16cd 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -1,22 +1,21 @@ -.. index:: read\_data +.. index:: read_data -read\_data command -================== +read_data command +================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS read_data file keyword args ... * file = name of data file to read in * zero or more keyword/arg pairs may be appended * keyword = *add* or *offset* or *shift* or *extra/atom/types* or *extra/bond/types* or *extra/angle/types* or *extra/dihedral/types* or *extra/improper/types* or *extra/bond/per/atom* or *extra/angle/per/atom* or *extra/dihedral/per/atom* or *extra/improper/per/atom* or *group* or *nocoeff* or *fix* - + .. parsed-literal:: - + *add* arg = *append* or *IDoffset* or *IDoffset MOLoffset* or *merge* append = add new atoms with atom IDs appended to current IDs IDoffset = add new atoms with atom IDs having IDoffset added @@ -48,13 +47,10 @@ Syntax header-string = header lines containing this string will be passed to fix section-string = section names with this string will be passed to fix - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS read_data data.lj read_data ../run7/data.polymer.gz @@ -68,8 +64,8 @@ Description Read in a data file containing information LAMMPS needs to run a simulation. The file can be ASCII text or a gzipped text file (detected by a .gz suffix). This is one of 3 ways to specify initial -atom coordinates; see the :doc:`read\_restart ` and -:doc:`create\_atoms ` commands for alternative methods. +atom coordinates; see the :doc:`read_restart ` and +:doc:`create_atoms ` commands for alternative methods. Also see the explanation of the :doc:`-restart command-line switch ` which can convert a restart file to a data file. @@ -83,11 +79,11 @@ specified group-ID. The group will be created if it does not already exist. This is useful if you are reading multiple data files and wish to put sets of atoms into different groups so they can be operated on later. E.g. a group of added atoms can be moved to new positions via -the :doc:`displace\_atoms ` command. Note that atoms +the :doc:`displace_atoms ` command. Note that atoms read from the data file are also always added to the "all" group. The :doc:`group ` command discusses atom groups, as used in LAMMPS. -The *nocoeff* keyword tells read\_data to ignore force field parameters. +The *nocoeff* keyword tells read_data to ignore force field parameters. The various Coeff sections are still read and have to have the correct number of lines, but they are not applied. This also allows to read a data file without having any pair, bond, angle, dihedral or improper @@ -95,28 +91,26 @@ styles defined, or to read a data file for a different force field. The use of the *fix* keyword is discussed below. - ---------- - **Reading multiple data files** -The read\_data command can be used multiple times with the same or +The read_data command can be used multiple times with the same or different data files to build up a complex system from components contained in individual data files. For example one data file could contain fluid in a confined domain; a second could contain wall atoms, and the second file could be read a third time to create a wall on the other side of the fluid. The third set of atoms could be rotated to -an opposing direction using the :doc:`displace\_atoms ` -command, after the third read\_data command is used. +an opposing direction using the :doc:`displace_atoms ` +command, after the third read_data command is used. The *add*\ , *offset*\ , *shift*\ , *extra*\ , and *group* keywords are useful in this context. If a simulation box does not yet exist, the *add* keyword -cannot be used; the read\_data command is being used for the first +cannot be used; the read_data command is being used for the first time. If a simulation box does exist, due to using the -:doc:`create\_box ` command, or a previous read\_data command, +:doc:`create_box ` command, or a previous read_data command, then the *add* keyword must be used. .. note:: @@ -175,17 +169,17 @@ for a 2d simulation. This is a mechanism for adding structured collections of atoms at different locations within the simulation box, to build up a complex geometry. It is up to you to insure atoms do not end up overlapping unphysically which would lead to bad dynamics. -Note that the :doc:`displace\_atoms ` command can be used +Note that the :doc:`displace_atoms ` command can be used to move a subset of atoms after they have been read from a data file. -Likewise, the :doc:`delete\_atoms ` command can be used to +Likewise, the :doc:`delete_atoms ` command can be used to remove overlapping atoms. Note that the shift values (Sx, Sy, Sz) are also added to the simulation box information (xlo, xhi, ylo, yhi, zlo, -zhi) in the data file to shift its boundaries. E.g. xlo\_new = xlo + -Sx, xhi\_new = xhi + Sx. +zhi) in the data file to shift its boundaries. E.g. xlo_new = xlo + +Sx, xhi_new = xhi + Sx. -The *extra* keywords can only be used the first time the read\_data +The *extra* keywords can only be used the first time the read_data command is used. They are useful if you intend to add new atom, bond, -angle, etc types later with additional read\_data commands. This is +angle, etc types later with additional read_data commands. This is because the maximum number of allowed atom, bond, angle, etc types is set by LAMMPS when the system is first initialized. If you do not use the *extra* keywords, then the number of these types will be limited @@ -211,18 +205,16 @@ you would still need to specify coefficients for H/Si and O/Si interactions in your input script to have a complete pairwise interaction model. -An alternative to using the *extra* keywords with the read\_data -command, is to use the :doc:`create\_box ` command to +An alternative to using the *extra* keywords with the read_data +command, is to use the :doc:`create_box ` command to initialize the simulation box and all the various type limits you need -via its *extra* keywords. Then use the read\_data command one or more +via its *extra* keywords. Then use the read_data command one or more times to populate the system with atoms, bonds, angles, etc, using the *offset* keyword if desired to alter types used in the various data files you read. - ---------- - **Format of a data file** The structure of the data file is important, though many settings and @@ -235,7 +227,7 @@ description of the file. Then lines are read one at a time. Lines can have a trailing comment starting with '#' that is ignored. If the line is blank (only white-space after comment is deleted), it is skipped. If the line contains a header keyword, the corresponding -value(s) is read from the line. If it doesn't contain a header +value(s) is read from the line. If it does not contain a header keyword, the line begins the body of the file. The body of the file contains zero or more sections. The first line @@ -266,10 +258,8 @@ be capitalized as shown and can't have extra white-space between their words - e.g. two spaces or a tab between the 2 words in "xlo xhi" or the 2 words in "Bond Coeffs", is not valid. - ---------- - **Format of the header of a data file** These are the recognized header keywords. Header lines can come in @@ -389,13 +379,13 @@ data file. "shrink-wrap" boundary conditions (see the :doc:`boundary ` command), a huge (mostly empty) box may cause a parallel simulation to lose atoms when LAMMPS shrink-wraps the box around the atoms. The - read\_data command will generate an error in this case. + read_data command will generate an error in this case. The "extra bond per atom" setting (angle, dihedral, improper) is only needed if new bonds (angles, dihedrals, impropers) will be added to the system when a simulation runs, e.g. by using the :doc:`fix bond/create ` command. Using this header flag is deprecated; please use the *extra/bond/per/atom* keyword (and -correspondingly for angles, dihedrals and impropers) in the read\_data +correspondingly for angles, dihedrals and impropers) in the read_data command instead. Either will pre-allocate space in LAMMPS data structures for storing the new bonds (angles, dihedrals, impropers). @@ -408,20 +398,20 @@ molecules defined in the data file. Using this header flag is deprecated; please use the *extra/special/per/atom* keyword instead. Using this setting will pre-allocate space in the LAMMPS data structures for storing these neighbors. See the -:doc:`special\_bonds ` and :doc:`molecule ` doc +:doc:`special_bonds ` and :doc:`molecule ` doc pages for more discussion of 1-2,1-3,1-4 neighbors. .. note:: All of the "extra" settings are only applied in the first data file read and when no simulation box has yet been created; as soon as - the simulation box is created (and read\_data implies that), these + the simulation box is created (and read_data implies that), these settings are *locked* and cannot be changed anymore. Please see the description of the *add* keyword above for reading multiple data files. If they appear in later data files, they are ignored. The "ellipsoids" and "lines" and "triangles" and "bodies" settings are -only used with :doc:`atom\_style ellipsoid or line or tri or body ` and specify how many of the atoms are +only used with :doc:`atom_style ellipsoid or line or tri or body ` and specify how many of the atoms are finite-size ellipsoids or lines or triangles or bodies; the remainder are point particles. See the discussion of ellipsoidflag and the *Ellipsoids* section below. See the discussion of lineflag and the @@ -431,7 +421,7 @@ are point particles. See the discussion of ellipsoidflag and the .. note:: - For :doc:`atom\_style template `, the molecular + For :doc:`atom_style template `, the molecular topology (bonds,angles,etc) is contained in the molecule templates read-in by the :doc:`molecule ` command. This means you cannot set the *bonds*\ , *angles*\ , etc header keywords in the data @@ -440,10 +430,8 @@ are point particles. See the discussion of ellipsoidflag and the keywords, though it is not necessary. If specified, they must match the maximum values defined in any of the template molecules. - ---------- - **Format of the body of a data file** These are the section keywords for the body of the file. @@ -460,14 +448,13 @@ currently defined style: For example, these lines: - .. parsed-literal:: Atoms # sphere Pair Coeffs # lj/cut -will check if the currently-defined :doc:`atom\_style ` is -*sphere*\ , and the current :doc:`pair\_style ` is *lj/cut*\ . +will check if the currently-defined :doc:`atom_style ` is +*sphere*\ , and the current :doc:`pair_style ` is *lj/cut*\ . If not, LAMMPS will issue a warning to indicate that the data file section likely does not contain the correct number or type of parameters expected for the currently-defined style. @@ -480,93 +467,76 @@ Any individual line in the various sections can have a trailing comment starting with "#" for annotation purposes. E.g. in the Atoms section: - .. parsed-literal:: 10 1 17 -1.0 10.0 5.0 6.0 # salt ion - ---------- - *Angle Coeffs* section: * one line per angle type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = angle type (1-N) coeffs = list of coeffs * example: - - .. parsed-literal:: - - 6 70 108.5 0 0 + .. parsed-literal:: + 6 70 108.5 0 0 The number and meaning of the coefficients are specific to the defined -angle style. See the :doc:`angle\_style ` and -:doc:`angle\_coeff ` commands for details. Coefficients can -also be set via the :doc:`angle\_coeff ` command in the +angle style. See the :doc:`angle_style ` and +:doc:`angle_coeff ` commands for details. Coefficients can +also be set via the :doc:`angle_coeff ` command in the input script. - ---------- - *AngleAngle Coeffs* section: * one line per improper type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = improper type (1-N) coeffs = list of coeffs (see :doc:`improper_coeff `) - - - ---------- - *AngleAngleTorsion Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs (see :doc:`dihedral_coeff `) - - - ---------- - *Angles* section: * one line per angle * line syntax: ID type atom1 atom2 atom3 - + .. parsed-literal:: - + ID = number of angle (1-Nangles) type = angle type (1-Nangletype) atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle example: - - .. parsed-literal:: - - 2 2 17 29 430 + .. parsed-literal:: + 2 2 17 29 430 The 3 atoms are ordered linearly within the angle. Thus the central atom (around which the angle is computed) is the atom2 in the list. @@ -574,26 +544,20 @@ E.g. H,O,H for a water molecule. The *Angles* section must appear after the *Atoms* section. All values in this section must be integers (1, not 1.0). - ---------- - *AngleTorsion Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs (see :doc:`dihedral_coeff `) - - - ---------- - *Atoms* section: * one line per atom @@ -622,7 +586,7 @@ of analysis. +------------+---------------------------------------------------------------------------+ | dpd | atom-ID atom-type theta x y z | +------------+---------------------------------------------------------------------------+ -| edpd | atom-ID atom-type edpd\_temp edpd\_cv x y z | +| edpd | atom-ID atom-type edpd_temp edpd_cv x y z | +------------+---------------------------------------------------------------------------+ | mdpd | atom-ID atom-type rho x y z | +------------+---------------------------------------------------------------------------+ @@ -652,7 +616,7 @@ of analysis. +------------+---------------------------------------------------------------------------+ | tri | atom-ID molecule-ID atom-type triangleflag density x y z | +------------+---------------------------------------------------------------------------+ -| wavepacket | atom-ID atom-type charge spin eradius etag cs\_re cs\_im x y z | +| wavepacket | atom-ID atom-type charge spin eradius etag cs_re cs_im x y z | +------------+---------------------------------------------------------------------------+ | hybrid | atom-ID atom-type x y z sub-style1 sub-style2 ... | +------------+---------------------------------------------------------------------------+ @@ -664,13 +628,13 @@ The per-atom values have these meanings and units, listed alphabetically: * bodyflag = 1 for body particles, 0 for point particles * cc = chemical concentration for tDPD particles for each species (mole/volume units) * contact-radius = ??? (distance units) -* cs\_re,cs\_im = real/imaginary parts of wave packet coefficients +* cs_re,cs_im = real/imaginary parts of wave packet coefficients * cv = heat capacity (need units) for SPH particles * density = density of particle (mass/distance\^3 or mass/distance\^2 or mass/distance units, depending on dimensionality of particle) * diameter = diameter of spherical atom (distance units) * e = energy (need units) for SPH particles -* edpd\_temp = temperature for eDPD particles (temperature units) -* edpd\_cv = volumetric heat capacity for eDPD particles (energy/temperature/volume units) +* edpd_temp = temperature for eDPD particles (temperature units) +* edpd_cv = volumetric heat capacity for eDPD particles (energy/temperature/volume units) * ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles * eradius = electron radius (or fixed-core radius) * etag = integer ID of electron that each wave packet belongs to @@ -702,7 +666,7 @@ in dump files. Normally, it is a unique value from 1 to Natoms for each atom. Unique values larger than Natoms can be used, but they will cause extra memory to be allocated on each processor, if an atom map array is used, but not if an atom map hash is used; see the -:doc:`atom\_modify ` command for details. If an atom map is +:doc:`atom_modify ` command for details. If an atom map is not used (e.g. an atomic system with no bonds), and you don't care if unique atom IDs appear in dump files, then the atom-IDs can all be set to 0. @@ -723,7 +687,7 @@ triangle, or body in the corresponding *Ellipsoids*\ , *Lines*\ , *Triangles*\ , or *Bodies* section. The *template-index* and *template-atom* are only defined used by -:doc:`atom\_style template `. In this case the +:doc:`atom_style template `. In this case the :doc:`molecule ` command is used to define a molecule template which contains one or more molecules. If an atom belongs to one of those molecules, its *template-index* and *template-atom* are both set @@ -749,36 +713,33 @@ body is unknown. Note that for 2d simulations of spheres, this command will treat them as spheres when converting density to mass. However, they can also be modeled as 2d discs (circles) if the :doc:`set density/disc ` -command is used to reset their mass after the read\_data command is +command is used to reset their mass after the read_data command is used. A *disc* keyword can also be used with time integration fixes, such as :doc:`fix nve/sphere ` and :doc:`fix nvt/sphere ` to time integrate their motion as 2d discs (not 3d spheres), by changing their moment of inertia. -For atom\_style hybrid, following the 5 initial values (ID,type,x,y,z), +For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the -:doc:`atom\_style ` command. The sub-style specific values +:doc:`atom_style ` command. The sub-style specific values are those that are not the 5 standard ones (ID,type,x,y,z). For example, for the "charge" sub-style, a "q" value would appear. For the "full" sub-style, a "molecule-ID" and "q" would appear. These are listed in the same order they appear as listed above. Thus if - .. parsed-literal:: atom_style hybrid charge sphere were used in the input script, each atom line would have these fields: - .. parsed-literal:: atom-ID atom-type x y z q diameter density Note that if a non-standard value is defined by multiple sub-styles, it must appear multiple times in the atom line. E.g. the atom line -for atom\_style hybrid dipole full would list "q" twice: - +for atom_style hybrid dipole full would list "q" twice: .. parsed-literal:: @@ -827,7 +788,6 @@ that use unwrapped coordinates internally are as follows: continued run (restarted from a data file) begins with image flags that are consistent with the previous run. - .. note:: If your system is an infinite periodic crystal with bonds then @@ -841,41 +801,37 @@ a *Velocities* section in the data file or by a :doc:`velocity ` or :doc:`set ` command in the input script. - ---------- - *Bodies* section: * one or more lines per body * first line syntax: atom-ID Ninteger Ndouble - + .. parsed-literal:: - + Ninteger = # of integer quantities for this particle Ndouble = # of floating-point quantities for this particle * 0 or more integer lines with total of Ninteger values * 0 or more double lines with total of Ndouble values * example: - + .. parsed-literal:: - + 12 3 6 2 3 2 1.0 2.0 3.0 1.0 2.0 4.0 * example: - + .. parsed-literal:: - + 12 0 14 1.0 2.0 3.0 1.0 2.0 4.0 1.0 2.0 3.0 1.0 2.0 4.0 4.0 2.0 - - -The *Bodies* section must appear if :doc:`atom\_style body ` +The *Bodies* section must appear if :doc:`atom_style body ` is used and any atoms listed in the *Atoms* section have a bodyflag = 1. The number of bodies should be specified in the header section via the "bodies" keyword. @@ -883,7 +839,7 @@ the "bodies" keyword. Each body can have a variable number of integer and/or floating-point values. The number and meaning of the values is defined by the body style, as described in the :doc:`Howto body ` doc page. The -body style is given as an argument to the :doc:`atom\_style body ` command. +body style is given as an argument to the :doc:`atom_style body ` command. The Ninteger and Ndouble values determine how many integer and floating-point values are specified for this particle. Ninteger and @@ -896,187 +852,155 @@ particular type, no lines appear for that type. The *Bodies* section must appear after the *Atoms* section. - ---------- - *Bond Coeffs* section: * one line per bond type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = bond type (1-N) coeffs = list of coeffs * example: - - .. parsed-literal:: - - 4 250 1.49 + .. parsed-literal:: + 4 250 1.49 The number and meaning of the coefficients are specific to the defined -bond style. See the :doc:`bond\_style ` and -:doc:`bond\_coeff ` commands for details. Coefficients can -also be set via the :doc:`bond\_coeff ` command in the input +bond style. See the :doc:`bond_style ` and +:doc:`bond_coeff ` commands for details. Coefficients can +also be set via the :doc:`bond_coeff ` command in the input script. - ---------- - *BondAngle Coeffs* section: * one line per angle type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = angle type (1-N) coeffs = list of coeffs (see class 2 section of :doc:`angle_coeff `) - - - ---------- - *BondBond Coeffs* section: * one line per angle type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = angle type (1-N) coeffs = list of coeffs (see class 2 section of :doc:`angle_coeff `) - - - ---------- - *BondBond13 Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs (see class 2 section of :doc:`dihedral_coeff `) - - - ---------- - *Bonds* section: * one line per bond * line syntax: ID type atom1 atom2 - + .. parsed-literal:: - + ID = bond number (1-Nbonds) type = bond type (1-Nbondtype) atom1,atom2 = IDs of 1st,2nd atoms in bond * example: - - .. parsed-literal:: - - 12 3 17 29 + .. parsed-literal:: + 12 3 17 29 The *Bonds* section must appear after the *Atoms* section. All values in this section must be integers (1, not 1.0). - ---------- - *Dihedral Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs * example: - - .. parsed-literal:: - - 3 0.6 1 0 1 + .. parsed-literal:: + 3 0.6 1 0 1 The number and meaning of the coefficients are specific to the defined -dihedral style. See the :doc:`dihedral\_style ` and -:doc:`dihedral\_coeff ` commands for details. +dihedral style. See the :doc:`dihedral_style ` and +:doc:`dihedral_coeff ` commands for details. Coefficients can also be set via the -:doc:`dihedral\_coeff ` command in the input script. - +:doc:`dihedral_coeff ` command in the input script. ---------- - *Dihedrals* section: * one line per dihedral * line syntax: ID type atom1 atom2 atom3 atom4 - + .. parsed-literal:: - + ID = number of dihedral (1-Ndihedrals) type = dihedral type (1-Ndihedraltype) atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral * example: - - .. parsed-literal:: - - 12 4 17 29 30 21 + .. parsed-literal:: + 12 4 17 29 30 21 The 4 atoms are ordered linearly within the dihedral. The *Dihedrals* section must appear after the *Atoms* section. All values in this section must be integers (1, not 1.0). - ---------- - *Ellipsoids* section: * one line per ellipsoid * line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk - + .. parsed-literal:: - + atom-ID = ID of atom which is an ellipsoid shapex,shapey,shapez = 3 diameters of ellipsoid (distance units) quatw,quati,quatj,quatk = quaternion components for orientation of atom * example: - - .. parsed-literal:: - - 12 1 2 1 1 0 0 0 + .. parsed-literal:: + 12 1 2 1 1 0 0 0 -The *Ellipsoids* section must appear if :doc:`atom\_style ellipsoid ` is used and any atoms are listed in the +The *Ellipsoids* section must appear if :doc:`atom_style ellipsoid ` is used and any atoms are listed in the *Atoms* section with an ellipsoidflag = 1. The number of ellipsoids should be specified in the header section via the "ellipsoids" keyword. @@ -1099,72 +1023,60 @@ specified as a unit vector. The *Ellipsoids* section must appear after the *Atoms* section. - ---------- - *EndBondTorsion Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs (see class 2 section of :doc:`dihedral_coeff `) - - - ---------- - *Improper Coeffs* section: * one line per improper type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = improper type (1-N) coeffs = list of coeffs * example: - - .. parsed-literal:: - - 2 20 0.0548311 + .. parsed-literal:: + 2 20 0.0548311 The number and meaning of the coefficients are specific to the defined -improper style. See the :doc:`improper\_style ` and -:doc:`improper\_coeff ` commands for details. +improper style. See the :doc:`improper_style ` and +:doc:`improper_coeff ` commands for details. Coefficients can also be set via the -:doc:`improper\_coeff ` command in the input script. - +:doc:`improper_coeff ` command in the input script. ---------- - *Impropers* section: * one line per improper * line syntax: ID type atom1 atom2 atom3 atom4 - + .. parsed-literal:: - + ID = number of improper (1-Nimpropers) type = improper type (1-Nimpropertype) atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper * example: - - .. parsed-literal:: - - 12 3 17 29 13 100 + .. parsed-literal:: + 12 3 17 29 13 100 The ordering of the 4 atoms determines the definition of the improper angle used in the formula for each :doc:`improper style `. See the doc pages for individual styles @@ -1173,30 +1085,26 @@ for details. The *Impropers* section must appear after the *Atoms* section. All values in this section must be integers (1, not 1.0). - ---------- - *Lines* section: * one line per line segment * line syntax: atom-ID x1 y1 x2 y2 - + .. parsed-literal:: - + atom-ID = ID of atom which is a line segment x1,y1 = 1st end point x2,y2 = 2nd end point * example: - - .. parsed-literal:: - - 12 1.0 0.0 2.0 0.0 + .. parsed-literal:: + 12 1.0 0.0 2.0 0.0 -The *Lines* section must appear if :doc:`atom\_style line ` +The *Lines* section must appear if :doc:`atom_style line ` is used and any atoms are listed in the *Atoms* section with a lineflag = 1. The number of lines should be specified in the header section via the "lines" keyword. @@ -1210,139 +1118,119 @@ for defining some interactions. The *Lines* section must appear after the *Atoms* section. - ---------- - *Masses* section: * one line per atom type * line syntax: ID mass - + .. parsed-literal:: - + ID = atom type (1-N) mass = mass value * example: - - .. parsed-literal:: - - 3 1.01 + .. parsed-literal:: + 3 1.01 This defines the mass of each atom type. This can also be set via the :doc:`mass ` command in the input script. This section cannot be used for atom styles that define a mass for individual atoms - -e.g. :doc:`atom\_style sphere `. - +e.g. :doc:`atom_style sphere `. ---------- - *MiddleBondTorsion Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs (see class 2 section of :doc:`dihedral_coeff `) - - - ---------- - *Pair Coeffs* section: * one line per atom type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = atom type (1-N) coeffs = list of coeffs * example: - - .. parsed-literal:: - - 3 0.022 2.35197 0.022 2.35197 + .. parsed-literal:: + 3 0.022 2.35197 0.022 2.35197 The number and meaning of the coefficients are specific to the defined -pair style. See the :doc:`pair\_style ` and -:doc:`pair\_coeff ` commands for details. Since pair +pair style. See the :doc:`pair_style ` and +:doc:`pair_coeff ` commands for details. Since pair coefficients for types I != J are not specified, these will be generated automatically by the pair style's mixing rule. See the -individual pair\_style doc pages and the :doc:`pair\_modify mix ` command for details. Pair coefficients can also -be set via the :doc:`pair\_coeff ` command in the input +individual pair_style doc pages and the :doc:`pair_modify mix ` command for details. Pair coefficients can also +be set via the :doc:`pair_coeff ` command in the input script. - ---------- - *PairIJ Coeffs* section: * one line per pair of atom types for all I,J with I <= J * line syntax: ID1 ID2 coeffs - + .. parsed-literal:: - + ID1 = atom type I = 1-N ID2 = atom type J = I-N, with I <= J coeffs = list of coeffs * examples: - + .. parsed-literal:: - + 3 3 0.022 2.35197 0.022 2.35197 3 5 0.022 2.35197 0.022 2.35197 - - This section must have N\*(N+1)/2 lines where N = # of atom types. The number and meaning of the coefficients are specific to the defined -pair style. See the :doc:`pair\_style ` and -:doc:`pair\_coeff ` commands for details. Since pair +pair style. See the :doc:`pair_style ` and +:doc:`pair_coeff ` commands for details. Since pair coefficients for types I != J are all specified, these values will turn off the default mixing rule defined by the pair style. See the -individual pair\_style doc pages and the :doc:`pair\_modify mix ` command for details. Pair coefficients can also -be set via the :doc:`pair\_coeff ` command in the input +individual pair_style doc pages and the :doc:`pair_modify mix ` command for details. Pair coefficients can also +be set via the :doc:`pair_coeff ` command in the input script. - ---------- - *Triangles* section: * one line per triangle * line syntax: atom-ID x1 y1 z1 x2 y2 z2 x3 y3 z3 - + .. parsed-literal:: - + atom-ID = ID of atom which is a line segment x1,y1,z1 = 1st corner point x2,y2,z2 = 2nd corner point x3,y3,z3 = 3rd corner point * example: - - .. parsed-literal:: - - 12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 + .. parsed-literal:: + 12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 -The *Triangles* section must appear if :doc:`atom\_style tri ` is used and any atoms are listed in the *Atoms* +The *Triangles* section must appear if :doc:`atom_style tri ` is used and any atoms are listed in the *Atoms* section with a triangleflag = 1. The number of lines should be specified in the header section via the "triangles" keyword. @@ -1354,10 +1242,8 @@ orientation may be important for defining some interactions. The *Triangles* section must appear after the *Atoms* section. - ---------- - *Velocities* section: * one line per atom @@ -1391,24 +1277,22 @@ Vx, vy, vz, and ervel are in :doc:`units ` of velocity. Lx, ly, lz are in units of angular momentum (distance-velocity-mass). Wx, Wy, Wz are in units of angular velocity (radians/time). -For atom\_style hybrid, following the 4 initial values (ID,vx,vy,vz), +For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the -:doc:`atom\_style ` command. The sub-style specific values +:doc:`atom_style ` command. The sub-style specific values are those that are not the 5 standard ones (ID,vx,vy,vz). For example, for the "sphere" sub-style, "wx", "wy", "wz" values would appear. These are listed in the same order they appear as listed above. Thus if - -.. parsed-literal:: +.. code-block:: LAMMPS atom_style hybrid electron sphere were used in the input script, each velocity line would have these fields: - .. parsed-literal:: atom-ID vx vy vz ervel wx wy wz @@ -1416,30 +1300,22 @@ fields: Translational velocities can also be set by the :doc:`velocity ` command in the input script. - ---------- - Restrictions """""""""""" - To read gzipped data files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. See the :doc:`Build settings ` +-DLAMMPS_GZIP option. See the :doc:`Build settings ` doc page for details. Related commands """""""""""""""" -:doc:`read\_dump `, :doc:`read\_restart `, -:doc:`create\_atoms `, :doc:`write\_data ` +:doc:`read_dump `, :doc:`read_restart `, +:doc:`create_atoms `, :doc:`write_data ` Default """"""" The default for all the *extra* keywords is 0. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/read_dump.rst b/doc/src/read_dump.rst index de81a98276556f985a4ecd0e4aae51a266ee0656..c46c12c951c8d8778adec475648a14c1fdbf7d78 100644 --- a/doc/src/read_dump.rst +++ b/doc/src/read_dump.rst @@ -1,22 +1,21 @@ -.. index:: read\_dump +.. index:: read_dump -read\_dump command -================== +read_dump command +================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS read_dump file Nstep field1 field2 ... keyword values ... * file = name of dump file to read * Nstep = snapshot timestep to read from file * one or more fields may be appended - + .. parsed-literal:: - + field = *x* or *y* or *z* or *vx* or *vy* or *vz* or *q* or *ix* or *iy* or *iz* or *fx* or *fy* or *fz* *x*\ ,\ *y*\ ,\ *z* = atom coordinates *vx*\ ,\ *vy*\ ,\ *vz* = velocity components @@ -26,9 +25,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *nfile* or *box* or *replace* or *purge* or *trim* or *add* or *label* or *scaled* or *wrapped* or *format* - + .. parsed-literal:: - + *nfile* value = Nfiles = how many parallel dump files exist *box* value = *yes* or *no* = replace simulation box with dump box *replace* value = *yes* or *no* = overwrite atoms with dump atoms @@ -50,13 +49,10 @@ Syntax style = *dcd* or *xyz* or others supported by molfile plugins path = optional path for location of molfile plugins - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS read_dump dump.file 5000 x y z read_dump dump.xyz 5 x y z box no format xyz @@ -78,15 +74,15 @@ Read atom information from a dump file to overwrite the current atom coordinates, and optionally the atom velocities and image flags and the simulation box dimensions. This is useful for restarting a run from a particular snapshot in a dump file. See the -:doc:`read\_restart ` and :doc:`read\_data ` +:doc:`read_restart ` and :doc:`read_data ` commands for alternative methods to do this. Also see the :doc:`rerun ` command for a means of reading multiple snapshots from a dump file. Note that a simulation box must already be defined before using the -read\_dump command. This can be done by the -:doc:`create\_box `, :doc:`read\_data `, or -:doc:`read\_restart ` commands. The read\_dump command can +read_dump command. This can be done by the +:doc:`create_box `, :doc:`read_data `, or +:doc:`read_restart ` commands. The read_dump command can reset the simulation box dimensions, as explained below. Also note that reading per-atom information from a dump snapshot is @@ -95,14 +91,12 @@ explained below. Other atom properties, which may be necessary to run a valid simulation, such as atom charge, or bond topology information for a molecular system, are not read from (or even contained in) dump files. Thus this auxiliary information should be defined in the usual -way, e.g. in a data file read in by a :doc:`read\_data ` -command, before using the read\_dump command, or by the :doc:`set ` +way, e.g. in a data file read in by a :doc:`read_data ` +command, before using the read_dump command, or by the :doc:`set ` command, after the dump snapshot is read. - ---------- - If the dump filename specified as *file* ends with ".gz", the dump file is read in gzipped format. You cannot (yet) read a dump file that was written in binary format with a ".bin" suffix. @@ -141,39 +135,36 @@ contain multiple directories separated by a colon (or semi-colon on windows). The *path* keyword is optional and defaults to ".", i.e. the current directory. -The *adios* format supports reading data that was written by the -:doc:`dump adios ` command. The +The *adios* format supports reading data that was written by the +:doc:`dump adios ` command. The entire dump is read in parallel across all the processes, dividing the atoms evenly among the processes. The number of writers that has written the dump file does not matter. Using the adios style for -dump and read_dump is a convenient way to dump all atoms from *N* -writers and read it back by *M* readers. If one is running two -LAMMPS instances concurrently where one dumps data and the other is -reading it with the rerun command, the timeout option can be specified -to wait on the reader side for the arrival of the requested step. +dump and read_dump is a convenient way to dump all atoms from *N* +writers and read it back by *M* readers. If one is running two +LAMMPS instances concurrently where one dumps data and the other is +reading it with the rerun command, the timeout option can be specified +to wait on the reader side for the arrival of the requested step. Support for other dump format readers may be added in the future. - ---------- - Global information is first read from the dump file, namely timestep and box information. The dump file is scanned for a snapshot with a timestamp that matches the specified *Nstep*\ . This means the LAMMPS timestep the dump file -snapshot was written on for the *native* or *adios* formats. +snapshot was written on for the *native* or *adios* formats. -The list of timestamps available in an adios .bp file is stored in the +The list of timestamps available in an adios .bp file is stored in the variable *ntimestep*: .. parsed-literal:: $ bpls dump.bp -d ntimestep - uint64_t ntimestep 5*scalar - (0) 0 50 100 150 200 - + uint64_t ntimestep 5*scalar + (0) 0 50 100 150 200 Note that the *xyz* and *molfile* formats do not store the timestep. For these formats, @@ -201,13 +192,11 @@ orthogonal/triclinic box shape is available. The USER-MOLFILE package makes a best effort to guess based on heuristics, but this may not always work perfectly. - ---------- - Per-atom information from the dump file snapshot is then read from the dump file snapshot. This corresponds to the specified *fields* listed -in the read\_dump command. It is an error to specify a z-dimension +in the read_dump command. It is an error to specify a z-dimension field, namely *z*\ , *vz*\ , or *iz*\ , for a 2d simulation. For dump files in *native* format, each column of per-atom data has a @@ -215,7 +204,6 @@ text label listed in the file. A matching label for each field must appear, e.g. the label "vy" for the field *vy*\ . For the *x*\ , *y*\ , *z* fields any of the following labels are considered a match: - .. parsed-literal:: x, xs, xu, xsu for field *x* @@ -247,7 +235,7 @@ supported. The dump file does not store atom IDs, so these are assigned consecutively to the atoms as they appear in the dump file, starting from 1. Thus you should insure that order of atoms is consistent from snapshot to snapshot in the XYZ dump file. See -the :doc:`dump\_modify sort ` command if the XYZ dump file +the :doc:`dump_modify sort ` command if the XYZ dump file was written by LAMMPS. For dump files in *molfile* format, the *x*\ , *y*\ , *z*\ , *vx*\ , *vy*\ , and @@ -257,11 +245,11 @@ velocities. The molfile dump files do not store atom IDs, so these are assigned consecutively to the atoms as they appear in the dump file, starting from 1. Thus you should insure that order of atoms are consistent from snapshot to snapshot in the molfile dump file. -See the :doc:`dump\_modify sort ` command if the dump file +See the :doc:`dump_modify sort ` command if the dump file was written by LAMMPS. The *adios* format supports all fields that the *native* format supports -except for the *q* charge field. +except for the *q* charge field. The list of fields stored in an adios .bp file is recorded in the attributes *columns* (array of short strings) and *columnstr* (space-separated single string). @@ -271,18 +259,15 @@ The list of fields stored in an adios .bp file is recorded in the attributes string columns attr = {"id", "type", "x", "y", "z", "vx", "vy", "vz"} string columnstr attr = "id type x y z vx vy vz " - - ---------- - Information from the dump file snapshot is used to overwrite or replace properties of the current system. There are various options for how this is done, determined by the specified fields and optional keywords. The timestep of the snapshot becomes the current timestep for the -simulation. See the :doc:`reset\_timestep ` command if +simulation. See the :doc:`reset_timestep ` command if you wish to change this after the dump snapshot is read. If the *box* keyword is specified with a *yes* value, then the current @@ -312,7 +297,7 @@ added to the system. They are simply ignored. If a *yes* value is specified, the atoms with new IDs are added to the system but their atom IDs are not preserved. Instead, after all the atoms are added, new IDs are assigned to them in the same manner as is -described for the :doc:`create\_atoms ` command. Basically +described for the :doc:`create_atoms ` command. Basically the largest existing atom ID in the system is identified, and all the added atoms are assigned IDs that consecutively follow the largest ID. @@ -328,12 +313,10 @@ type, so this value must appear in the dump file. Any other attributes (e.g. charge or particle diameter for spherical particles) will be set to default values, the same as if the -:doc:`create\_atoms ` command were used. - +:doc:`create_atoms ` command were used. ---------- - Atom coordinates read from the dump file are first converted into unscaled coordinates, relative to the box dimensions of the snapshot. These coordinates are then be assigned to an existing or new atom in @@ -382,16 +365,13 @@ coordinates are scaled and the simulation box is triclinic, then all 3 of the *x*\ , *y*\ , *z* fields must be specified, since they are all needed to generate absolute, unscaled coordinates. - ---------- - Restrictions """""""""""" - To read gzipped dump files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. See the :doc:`Build settings ` +-DLAMMPS_GZIP option. See the :doc:`Build settings ` doc page for details. The *molfile* dump file formats are part of the USER-MOLFILE package. @@ -406,7 +386,7 @@ Related commands :doc:`dump `, :doc:`dump molfile `, :doc:`dump adios `, -:doc:`read\_data `, :doc:`read\_restart `, +:doc:`read_data `, :doc:`read_restart `, :doc:`rerun ` Default @@ -416,10 +396,3 @@ The option defaults are box = yes, replace = yes, purge = no, trim = no, add = no, scaled = no, wrapped = yes, and format = native. .. _vmd: http://www.ks.uiuc.edu/Research/vmd - - - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/read_restart.rst b/doc/src/read_restart.rst index 44210a3a7059f098ee9a5a3634697aeb24a64555..90cc426b0d18415571ce9b5ba8561310b4c68170 100644 --- a/doc/src/read_restart.rst +++ b/doc/src/read_restart.rst @@ -1,13 +1,12 @@ -.. index:: read\_restart +.. index:: read_restart -read\_restart command -===================== +read_restart command +==================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS read_restart file flag @@ -17,14 +16,13 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS read_restart save.10000 read_restart save.10000 remap - read_restart restart.\* - read_restart restart.\*.mpiio - read_restart poly.\*.% remap + read_restart restart.* + read_restart restart.*.mpiio + read_restart poly.*.% remap Description """"""""""" @@ -44,13 +42,13 @@ changed by the :doc:`balance ` or :doc:`fix balance ` comm .. note:: Normally, restart files are written by the - :doc:`restart ` or :doc:`write\_restart ` commands + :doc:`restart ` or :doc:`write_restart ` commands so that all atoms in the restart file are inside the simulation box. - If this is not the case, the read\_restart command will print an error + If this is not the case, the read_restart command will print an error that atoms were "lost" when the file is read. This error should be reported to the LAMMPS developers so the invalid writing of the restart file can be fixed. If you still wish to use the restart file, - the optional *remap* flag can be appended to the read\_restart command. + the optional *remap* flag can be appended to the read_restart command. This should avoid the error, by explicitly remapping each atom back into the simulation box, updating image flags for the atom appropriately. @@ -86,7 +84,7 @@ Because restart files are binary, they may not be portable to other machines. In this case, you can use the :doc:`-restart command-line switch ` to convert a restart file to a data file. Similar to how restart files are written (see the -:doc:`write\_restart ` and :doc:`restart ` +:doc:`write_restart ` and :doc:`restart ` commands), the restart filename can contain two wild-card characters. If a "\*" appears in the filename, the directory is searched for all filenames that match the pattern where "\*" is replaced with a timestep @@ -94,23 +92,23 @@ value. The file with the largest timestep value is read in. Thus, this effectively means, read the latest restart file. It's useful if you want your script to continue a run from where it left off. See the :doc:`run ` command and its "upto" option for how to specify -the run command so it doesn't need to be changed either. +the run command so it does not need to be changed either. If a "%" character appears in the restart filename, LAMMPS expects a set of multiple files to exist. The :doc:`restart ` and -:doc:`write\_restart ` commands explain how such sets are -created. Read\_restart will first read a filename where "%" is +:doc:`write_restart ` commands explain how such sets are +created. Read_restart will first read a filename where "%" is replaced by "base". This file tells LAMMPS how many processors -created the set and how many files are in it. Read\_restart then reads +created the set and how many files are in it. Read_restart then reads the additional files. For example, if the restart file was specified -as save.% when it was written, then read\_restart reads the files +as save.% when it was written, then read_restart reads the files save.base, save.0, save.1, ... save.P-1, where P is the number of processors that created the restart file. Note that P could be the total number of processors in the previous simulation, or some subset of those processors, if the *fileper* or *nfile* options were used when the restart file was written; see the -:doc:`restart ` and :doc:`write\_restart ` commands +:doc:`restart ` and :doc:`write_restart ` commands for details. The processors in the current LAMMPS simulation share the work of reading these files; each reads a roughly equal subset of the files. The number of processors which created the set can be @@ -124,8 +122,7 @@ MPI-IO is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g. - -.. parsed-literal:: +.. code-block:: bash make yes-mpiio # installs the MPIIO package make mpi # build LAMMPS for your platform @@ -135,10 +132,8 @@ does not have to end in ".mpiio", just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both written and read using MPI-IO. - ---------- - Here is the list of information included in a restart file, which means these quantities do not need to be re-specified in the input script that reads the restart file, though you can redefine many of @@ -146,8 +141,8 @@ these settings after the restart file is read. * :doc:`units ` * :doc:`newton bond ` (see discussion of newton command below) -* :doc:`atom style ` and :doc:`atom\_modify ` settings id, map, sort -* :doc:`comm style ` and :doc:`comm\_modify ` settings mode, cutoff, vel +* :doc:`atom style ` and :doc:`atom_modify ` settings id, map, sort +* :doc:`comm style ` and :doc:`comm_modify ` settings mode, cutoff, vel * :doc:`timestep ` * simulation box size and shape and :doc:`boundary ` settings * atom :doc:`group ` definitions @@ -155,8 +150,8 @@ these settings after the restart file is read. * per-atom attributes including their group assignments and molecular topology attributes (bonds, angles, etc) * force field styles (:doc:`pair `, :doc:`bond `, :doc:`angle `, etc) * force field coefficients (:doc:`pair `, :doc:`bond `, :doc:`angle `, etc) in some cases (see below) -* :doc:`pair\_modify ` settings, except the compute option -* :doc:`special\_bonds ` settings +* :doc:`pair_modify ` settings, except the compute option +* :doc:`special_bonds ` settings Here is a list of information not stored in a restart file, which means you must re-issue these commands in your input script, after @@ -167,14 +162,14 @@ reading the restart file. * :doc:`compute ` commands (see below) * :doc:`variable ` commands * :doc:`region ` commands -* :doc:`neighbor list ` criteria including :doc:`neigh\_modify ` settings -* :doc:`kspace\_style ` and :doc:`kspace\_modify ` settings +* :doc:`neighbor list ` criteria including :doc:`neigh_modify ` settings +* :doc:`kspace_style ` and :doc:`kspace_modify ` settings * info for :doc:`thermodynamic `, :doc:`dump `, or :doc:`restart ` output The :doc:`newton ` command has two settings, one for pairwise interactions, the other for bonded. Both settings are stored in the restart file. For the bond setting, the value in the file will -overwrite the current value (at the time the read\_restart command is +overwrite the current value (at the time the read_restart command is issued) and warn if the two values are not the same and the current value is not the default. For the pair setting, the value in the file will not overwrite the current value (so that you can override the @@ -185,10 +180,10 @@ Note that some force field styles (pair, bond, angle, etc) do not store their coefficient info in restart files. Typically these are many-body or tabulated potentials which read their parameters from separate files. In these cases you will need to re-specify the -:doc:`pair\_coeff `, :doc:`bond\_coeff `, etc +:doc:`pair_coeff `, :doc:`bond_coeff `, etc commands in your restart input script. The doc pages for individual force field styles mention if this is the case. This is also true of -:doc:`pair\_style hybrid ` (bond hybrid, angle hybrid, etc) +:doc:`pair_style hybrid ` (bond hybrid, angle hybrid, etc) commands; they do not store coefficient info. As indicated in the above list, the :doc:`fixes ` used for a @@ -229,7 +224,7 @@ its calculations in a consistent manner. There are a handful of commands which can be used before or between runs which may require a system initialization. Examples - include the "balance", "displace\_atoms", "delete\_atoms", "set" (some + include the "balance", "displace_atoms", "delete_atoms", "set" (some options), and "velocity" (some options) commands. This is because they can migrate atoms to new processors. Thus they will also discard unused "state" information from fixes. You will know the discard has @@ -250,7 +245,7 @@ LAMMPS allows bond interactions (angle, etc) to be turned off or deleted in various ways, which can affect how their info is stored in a restart file. -If bonds (angles, etc) have been turned off by the :doc:`fix shake ` or :doc:`delete\_bonds ` command, +If bonds (angles, etc) have been turned off by the :doc:`fix shake ` or :doc:`delete_bonds ` command, their info will be written to a restart file as if they are turned on. This means they will need to be turned off again in a new run after the restart file is read. @@ -263,26 +258,18 @@ Bonds that have been broken by the :doc:`fix bond/break ` comman system. No information about these bonds is written to the restart file. - ---------- - Restrictions """""""""""" - To write and read restart files in parallel with MPI-IO, the MPIIO package must be installed. Related commands """""""""""""""" -:doc:`read\_data `, :doc:`read\_dump `, -:doc:`write\_restart `, :doc:`restart ` +:doc:`read_data `, :doc:`read_dump `, +:doc:`write_restart `, :doc:`restart ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/region.rst b/doc/src/region.rst index 3eaaae30acd899179e3d343efef7489c2c5a7bd3..9f2d996b208e4e59041f3d1de93fee3395970cdd 100644 --- a/doc/src/region.rst +++ b/doc/src/region.rst @@ -6,16 +6,15 @@ region command Syntax """""" - .. parsed-literal:: region ID style args keyword arg ... * ID = user-assigned name for the region * style = *delete* or *block* or *cone* or *cylinder* or *plane* or *prism* or *sphere* or *union* or *intersect* - + .. parsed-literal:: - + *delete* = no args *block* args = xlo xhi ylo yhi zlo zhi xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all dimensions (distance units) @@ -51,9 +50,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *side* or *units* or *move* or *rotate* or *open* - + .. parsed-literal:: - + *side* value = *in* or *out* *in* = the region is inside the specified geometry *out* = the region is outside the specified geometry @@ -70,12 +69,10 @@ Syntax * accelerated styles (with same args) = *block/kk* - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS region 1 block -3.0 5.0 INF 10.0 INF INF region 2 sphere 0.0 0.0 0.0 5 side out @@ -91,11 +88,11 @@ Description This command defines a geometric region of space. Various other commands use regions. For example, the region can be filled with -atoms via the :doc:`create\_atoms ` command. Or a bounding +atoms via the :doc:`create_atoms ` command. Or a bounding box around the region, can be used to define the simulation box via -the :doc:`create\_box ` command. Or the atoms in the region +the :doc:`create_box ` command. Or the atoms in the region can be identified as a group via the :doc:`group ` command, or -deleted via the :doc:`delete\_atoms ` command. Or the +deleted via the :doc:`delete_atoms ` command. Or the surface of the region can be used as a boundary wall via the :doc:`fix wall/region ` command. Commands which use regions typically test whether an atom's position @@ -127,8 +124,8 @@ box boundary; if the box changes size during a simulation, the region does not. INF means a large negative or positive number (1.0e20), so it should encompass the simulation box even if it changes size. If a region is defined before the simulation box has been created (via -:doc:`create\_box ` or :doc:`read\_data ` or -:doc:`read\_restart ` commands), then an EDGE or INF +:doc:`create_box ` or :doc:`read_data ` or +:doc:`read_restart ` commands), then an EDGE or INF parameter cannot be used. For a *prism* region, a non-zero tilt factor in any pair of dimensions cannot be used if both the lo/hi values in either of those dimensions are INF. E.g. if the xy tilt is @@ -176,7 +173,7 @@ and are called "tilt factors" because they are the amount of displacement applied to faces of an originally orthogonal box to transform it into the parallelepiped. -A prism region that will be used with the :doc:`create\_box ` +A prism region that will be used with the :doc:`create_box ` command to define a triclinic simulation box must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of corresponding the parallel box length. For example, if xlo = 2 and @@ -189,7 +186,7 @@ geometrically equivalent. The *radius* value for style *sphere* and *cylinder* can be specified as an equal-style :doc:`variable `. If the value is a -variable, it should be specified as v\_name, where name is the variable +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the radius of the region. For style *sphere* also the x-, y-, and z- coordinate of the center of the sphere and for @@ -198,7 +195,7 @@ the cylinder axes can be a variable with the same kind of effect and requirements than for the radius. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent radius or have a time dependent position of the sphere or cylinder region. @@ -218,10 +215,8 @@ consisting of the volume that is common to all the listed regions. from their list of sub-regions. Thus you cannot delete the sub-regions after defining a *union* or *intersection* region. - ---------- - The *side* keyword determines whether the region is considered to be inside or outside of the specified geometry. Using this keyword in conjunction with *union* and *intersect* regions, complex geometries @@ -266,10 +261,8 @@ define the lattice spacings which are used as follows: applied to the sphere center x,y,z. The spacing in dimension x is applied to the sphere radius. - ---------- - If the *move* or *rotate* keywords are used, the region is "dynamic", meaning its location or orientation changes with time. These keywords cannot be used with a *union* or *intersect* style region. Instead, @@ -280,24 +273,23 @@ point), though this is not a requirement. The *move* keyword allows one or more :doc:`equal-style variables ` to be used to specify the x,y,z displacement of the region, typically as a function of time. A variable is -specified as v\_name, where name is the variable name. Any of the +specified as v_name, where name is the variable name. Any of the three variables can be specified as NULL, in which case no displacement is calculated in that dimension. Note that equal-style variables can specify formulas with various -mathematical functions, and include :doc:`thermo\_style ` +mathematical functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a region displacement that change as a function of time or spans consecutive runs in a continuous fashion. For the latter, see the *start* and *stop* keywords of the -:doc:`run ` command and the *elaplong* keyword of :doc:`thermo\_style custom ` for details. +:doc:`run ` command and the *elaplong* keyword of :doc:`thermo_style custom ` for details. For example, these commands would displace a region from its initial position, in the positive x direction, effectively at a constant velocity: - -.. parsed-literal:: +.. code-block:: LAMMPS variable dx equal ramp(0,10) region 2 sphere 10.0 10.0 0.0 5 move v_dx NULL NULL @@ -307,17 +299,16 @@ Note that the initial displacement is 0.0, though that is not required. Either of these variables would "wiggle" the region back and forth in the y direction: - -.. parsed-literal:: +.. code-block:: LAMMPS variable dy equal swiggle(0,5,100) - variable dysame equal 5\*sin(2\*PI\*elaplong\*dt/100) + variable dysame equal 5*sin(2*PI*elaplong*dt/100) region 2 sphere 10.0 10.0 0.0 5 move NULL v_dy NULL The *rotate* keyword rotates the region around a rotation axis *R* = (Rx,Ry,Rz) that goes through a point *P* = (Px,Py,Pz). The rotation angle is calculated, presumably as a function of time, by a variable -specified as v\_theta, where theta is the variable name. The variable +specified as v_theta, where theta is the variable name. The variable should generate its result in radians. The direction of rotation for the region around the rotation axis is consistent with the right-hand rule: if your right-hand thumb points along *R*\ , then your fingers @@ -327,10 +318,8 @@ The *move* and *rotate* keywords can be used together. In this case, the displacement specified by the *move* keyword is applied to the *P* point of the *rotate* keyword. - ---------- - The *open* keyword can be used (multiple times) to indicate that one or more faces of the region are ignored for purposes of particle/wall interactions. This keyword is only relevant for regions used by the @@ -380,10 +369,8 @@ For all other styles, the *open* keyword is ignored. As indicated above, this includes the *intersect* and *union* regions, though their sub-regions can be defined with the *open* keyword. - ---------- - 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 @@ -405,14 +392,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - A prism cannot be of 0.0 thickness in any dimension; use a small z thickness for 2d simulations. For 2d simulations, the xz and yz parameters must be 0.0. @@ -420,16 +404,11 @@ parameters must be 0.0. Related commands """""""""""""""" -:doc:`lattice `, :doc:`create\_atoms `, -:doc:`delete\_atoms `, :doc:`group ` +:doc:`lattice `, :doc:`create_atoms `, +:doc:`delete_atoms `, :doc:`group ` Default """"""" The option defaults are side = in, units = lattice, and no move or rotation. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/replicate.rst b/doc/src/replicate.rst index f7682c3d543c965806d2bec8a4995bf85c3ff882..18038ae2dd853d8a2934749c405fc8810641ae06 100644 --- a/doc/src/replicate.rst +++ b/doc/src/replicate.rst @@ -6,26 +6,22 @@ replicate command Syntax """""" - .. parsed-literal:: replicate nx ny nz *keyword* -nx,ny,nz = replication factors in each dimension +nx,ny,nz = replication factors in each dimension * optional *keyword* = *bbox* - - .. parsed-literal:: - - *bbox* = only check atoms in replicas that overlap with a processor's sub-domain + .. parsed-literal:: + *bbox* = only check atoms in replicas that overlap with a processor's sub-domain Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS replicate 2 3 2 @@ -66,7 +62,6 @@ replicated. Restrictions """""""""""" - A 2d simulation cannot be replicated in the z dimension. If a simulation is non-periodic in a dimension, care should be used @@ -109,8 +104,3 @@ command before and redefined after the replicate command. **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/rerun.rst b/doc/src/rerun.rst index 65d05265c0e49fe028554d045da744436d3611c1..16b036b44973ea0fe1b21466745afeb0562f412c 100644 --- a/doc/src/rerun.rst +++ b/doc/src/rerun.rst @@ -6,16 +6,15 @@ rerun command Syntax """""" - .. parsed-literal:: rerun file1 file2 ... keyword args ... * file1,file2,... = dump file(s) to read * one or more keywords may be appended, keyword *dump* must appear and be last - + .. parsed-literal:: - + keyword = *first* or *last* or *every* or *skip* or *start* or *stop* or *dump* *first* args = Nfirst Nfirst = dump timestep to start on @@ -31,20 +30,17 @@ Syntax Nstop = timestep to which pseudo run will end *dump* args = same as :doc:`read_dump ` command starting with its field arguments - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS rerun dump.file dump x y z vx vy vz rerun dump1.txt dump2.txt first 10000 every 1000 dump x y z rerun dump.vels dump x y z vx vy vz box yes format molfile lammpstrj rerun dump.dcd dump x y z box no format molfile dcd rerun ../run7/dump.file.gz skip 2 dump x y z box yes - rerun dump.bp dump x y z box no format adios + rerun dump.bp dump x y z box no format adios rerun dump.bp dump x y z vx vy vz format adios timeout 10.0 Description @@ -57,9 +53,9 @@ computed on the shapshot to produce thermodynamic or other output. This can be useful in the following kinds of scenarios, after an initial simulation produced the dump file: -* Compute the energy and forces of snaphots using a different potential. +* Compute the energy and forces of snapshots using a different potential. * Calculate one or more diagnostic quantities on the snapshots that - weren't computed in the initial run. These can also be computed with + were not computed in the initial run. These can also be computed with settings not used in the initial run, e.g. computing an RDF via the :doc:`compute rdf ` command with a longer cutoff than was used initially. @@ -69,11 +65,10 @@ initial simulation produced the dump file: Doing this in the original script would result in different (bad) dynamics. - Conceptually, using the rerun command is like running an input script that has a loop in it (see the :doc:`next ` and :doc:`jump ` commands). Each iteration of the loop reads one snapshot from the -dump file via the :doc:`read\_dump ` command, sets the +dump file via the :doc:`read_dump ` command, sets the timestep to the appropriate value, and then invokes a :doc:`run ` command for zero timesteps to simply compute energy and forces, and any other :doc:`thermodynamic output ` or diagnostic info @@ -81,18 +76,18 @@ you have defined. This computation also invokes any fixes you have defined that apply constraints to the system, such as :doc:`fix shake ` or :doc:`fix indent `. Note that a simulation box must already be defined before using the -rerun command. This can be done by the :doc:`create\_box `, -:doc:`read\_data `, or :doc:`read\_restart ` +rerun command. This can be done by the :doc:`create_box `, +:doc:`read_data `, or :doc:`read_restart ` commands. Also note that reading per-atom information from dump snapshots is limited to the atom coordinates, velocities and image flags as -explained in the :doc:`read\_dump ` command. Other atom +explained in the :doc:`read_dump ` command. Other atom properties, which may be necessary to compute energies and forces, such as atom charge, or bond topology information for a molecular system, are not read from (or even contained in) dump files. Thus this auxiliary information should be defined in the usual way, e.g. in -a data file read in by a :doc:`read\_data ` command, before +a data file read in by a :doc:`read_data ` command, before using the rerun command. Also note that the frequency of thermodynamic or dump output from the @@ -101,10 +96,8 @@ same as for output from any LAMMPS simulation. See further info below as to what that means if the timesteps for snapshots read from dump files do not match the specified output frequency. - ---------- - If more than one dump file is specified, the dump files are read one after the other. It is assumed that snapshot timesteps will be in ascending order. If a snapshot is encountered that is not in @@ -115,13 +108,13 @@ However if you specify a series of dump files in an incorrect order (with respect to the timesteps they contain), you may skip large numbers of snapshots -Note that the dump files specified as part of the *dump* keyword can -be parallel files, i.e. written as multiple files either per processor +Note that the dump files specified as part of the *dump* keyword can be +parallel files, i.e. written as multiple files either per processor and/or per snapshot. If that is the case they will also be read in parallel which can make the rerun command operate dramatically faster -for large systems. See the doc page for the `read\_dump `_ and -:doc:`dump ` commands which describe how to read and write -parallel dump files. +for large systems. See the doc page for the :doc:`read_dump +` and :doc:`dump ` commands which describe how to read +and write parallel dump files. The *first*\ , *last*\ , *every*\ , *skip* keywords determine which snapshots are read from the dump file(s). Snapshots are skipped until @@ -154,18 +147,16 @@ dump file with a timestep value larger than the *stop* setting you have specified. The *dump* keyword is required and must be the last keyword specified. -Its arguments are passed internally to the :doc:`read\_dump ` +Its arguments are passed internally to the :doc:`read_dump ` command. The first argument following the *dump* keyword should be -the *field1* argument of the :doc:`read\_dump ` command. See -the :doc:`read\_dump ` doc page for details on the various +the *field1* argument of the :doc:`read_dump ` command. See +the :doc:`read_dump ` doc page for details on the various options it allows for extracting information from the dump file snapshots, and for using that information to alter the LAMMPS simulation. - ---------- - In general, a LAMMPS input script that uses a rerun command can include and perform all the usual operations of an input script that uses the :doc:`run ` command. There are a few exceptions and @@ -181,12 +172,12 @@ in which you are reprocessing the dump snapshots. If you only want the rerun script to perform an analysis that does not involve pair interactions, such as use compute msd to calculated displacements over time, you do not need to define a :doc:`pair style `, which may also mean neighbor lists will not -need to be calculated which saves time. The :doc:`comm\_modify cutoff ` command can also be used to insure ghost +need to be calculated which saves time. The :doc:`comm_modify cutoff ` command can also be used to insure ghost atoms are acquired from far enough away for operations like bond and angle evaluations, if no pair style is being used. Every time a snapshot is read, the timestep for the simulation is -reset, as if the :doc:`reset\_timestep ` command were +reset, as if the :doc:`reset_timestep ` command were used. This command has some restrictions as to what fixes can be defined. See its doc page for details. For example, the :doc:`fix deposit ` and :doc:`fix dt/reset ` fixes are in this category. They also make no sense to use with a rerun @@ -201,7 +192,7 @@ are read from the dump file(s). If an averaging fix is not invoked on a timestep it expects to be, LAMMPS will flag an error. The various forms of LAMMPS output, as defined by the -:doc:`thermo\_style `, :doc:`thermo `, +:doc:`thermo_style `, :doc:`thermo `, :doc:`dump `, and :doc:`restart ` commands occur with specified frequency, e.g. every N steps. If the timestep for a dump snapshot is not a multiple of N, then it will be read and processed, @@ -209,22 +200,19 @@ but no output will be produced. If you want output for every dump snapshot, you can simply use N=1 for an output frequency, e.g. for thermodynamic output or new dump file output. - ---------- - Restrictions """""""""""" - To read gzipped dump files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. See the :doc:`Build settings ` +-DLAMMPS_GZIP option. See the :doc:`Build settings ` doc page for details. Related commands """""""""""""""" -:doc:`read\_dump ` +:doc:`read_dump ` Default """"""" @@ -232,8 +220,3 @@ Default The option defaults are first = 0, last = a huge value (effectively infinity), start = same as first, stop = same as last, every = 0, skip = 1; - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/reset_ids.rst b/doc/src/reset_ids.rst index 774b9d462885685a7e19cb820ec92f98153f779f..13a374fc293faf261b1318af1a5e3db13a4017c7 100644 --- a/doc/src/reset_ids.rst +++ b/doc/src/reset_ids.rst @@ -1,21 +1,19 @@ -.. index:: reset\_ids +.. index:: reset_ids -reset\_ids command -================== +reset_ids command +================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS reset_ids Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS reset_ids @@ -27,8 +25,8 @@ for bond, angle, dihedral, improper topology data. This will create a set of IDs that are numbered contiguously from 1 to N for a N atoms system. -This can be useful to do after performing a "delete\_atoms" command for -a molecular system. The delete\_atoms compress yes option will not +This can be useful to do after performing a "delete_atoms" command for +a molecular system. The delete_atoms compress yes option will not perform this operation due to the existence of bond topology. It can also be useful to do after any simulation which has lost atoms, e.g. due to atoms moving outside a simulation box with fixed @@ -39,7 +37,7 @@ Note that the resetting of IDs is not really a compression, where gaps in atom IDs are removed by decrementing atom IDs that are larger. Instead the IDs for all atoms are erased, and new IDs are assigned so that the atoms owned by an individual processor have consecutive IDs, -as the :doc:`create\_atoms ` command explains. +as the :doc:`create_atoms ` command explains. .. note:: @@ -47,23 +45,18 @@ as the :doc:`create\_atoms ` command explains. defined, an error about bond topology atom IDs not being found may result. This is because the cutoff distance for ghost atom communication was not sufficient to find atoms in bonds, angles, etc - that are owned by other processors. The :doc:`comm\_modify cutoff ` command can be used to correct this issue. + that are owned by other processors. The :doc:`comm_modify cutoff ` command can be used to correct this issue. Or you can define a pair style before using this command. If you do - the former, you should unset the comm\_modify cutoff after using - reset\_ids so that subsequent communication is not inefficient. + the former, you should unset the comm_modify cutoff after using + reset_ids so that subsequent communication is not inefficient. Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`delete\_atoms ` +:doc:`delete_atoms ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/reset_timestep.rst b/doc/src/reset_timestep.rst index f898bf245365ef15f025467e9938577f7b0d827e..b985bd41546915f4cdb6e6e616d084803fcc0817 100644 --- a/doc/src/reset_timestep.rst +++ b/doc/src/reset_timestep.rst @@ -1,13 +1,12 @@ -.. index:: reset\_timestep +.. index:: reset_timestep -reset\_timestep command -======================= +reset_timestep command +====================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS reset_timestep N @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS reset_timestep 0 reset_timestep 4000000 @@ -27,17 +25,17 @@ Description Set the timestep counter to the specified value. This command normally comes after the timestep has been set by reading a restart -file via the :doc:`read\_restart ` command, or a previous +file via the :doc:`read_restart ` command, or a previous simulation advanced the timestep. -The :doc:`read\_data ` and :doc:`create\_box ` -commands set the timestep to 0; the :doc:`read\_restart ` +The :doc:`read_data ` and :doc:`create_box ` +commands set the timestep to 0; the :doc:`read_restart ` command sets the timestep to the value it had when the restart file was written. Restrictions """""""""""" - none +none This command cannot be used when any fixes are defined that keep track of elapsed time to perform certain kinds of time-dependent operations. @@ -65,8 +63,3 @@ Related commands :doc:`rerun ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/restart.rst b/doc/src/restart.rst index e061adece3a2949df8fac9d3f70cb83d8917c196..fd4c1e9e24f428d8461717d407202c49324bcb5b 100644 --- a/doc/src/restart.rst +++ b/doc/src/restart.rst @@ -6,7 +6,6 @@ restart command Syntax """""" - .. parsed-literal:: restart 0 @@ -19,21 +18,18 @@ Syntax * file1,file2 = two full filenames, toggle between them when writing file * zero or more keyword/value pairs may be appended * keyword = *fileper* or *nfile* - + .. parsed-literal:: - + *fileper* arg = Np Np = write one file for every this many processors *nfile* arg = Nf Nf = write this many files, one from each of Nf processors - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS restart 0 restart 1000 poly.restart @@ -89,8 +85,7 @@ file via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g. - -.. parsed-literal:: +.. code-block:: bash make yes-mpiio # installs the MPIIO package make mpi # build LAMMPS for your platform @@ -102,13 +97,13 @@ written and read using MPI-IO. Restart files are written on timesteps that are a multiple of N but not on the first timestep of a run or minimization. You can use the -:doc:`write\_restart ` command to write a restart file +:doc:`write_restart ` command to write a restart file before a run begins. A restart file is not written on the last timestep of a run unless it is a multiple of N. A restart file is written on the last timestep of a minimization if N > 0 and the minimization converges. -Instead of a numeric value, N can be specified as an :doc:`equal-style variable `, which should be specified as v\_name, where +Instead of a numeric value, N can be specified as an :doc:`equal-style variable `, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which a restart file will be written out. On that timestep, the variable will @@ -122,20 +117,17 @@ For example, the following commands will write restart files every step from 1100 to 1200, and could be useful for debugging a simulation where something goes wrong at step 1163: - -.. parsed-literal:: +.. code-block:: LAMMPS variable s equal stride(1100,1200,1) restart v_s tmp.restart - ---------- - -See the :doc:`read\_restart ` command for information about +See the :doc:`read_restart ` command for information about what is stored in a restart file. -Restart files can be read by a :doc:`read\_restart ` +Restart files can be read by a :doc:`read_restart ` command to restart a simulation from a particular state. Because the file is binary (to enable exact restarts), it may not be readable on another machine. In this case, you can use the :doc:`-r command-line switch ` to convert a restart file to a data file. @@ -149,13 +141,11 @@ another machine. In this case, you can use the :doc:`-r command-line switch ` + to re-use that information. See the :doc:`read_restart ` command for information about what is stored in a restart file. - ---------- - The optional *nfile* or *fileper* keywords can be used in conjunction with the "%" wildcard character in the specified restart file name(s). As explained above, the "%" character causes the restart file to be @@ -174,31 +164,22 @@ file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the next 3 processors and write it to a restart file. - ---------- - Restrictions """""""""""" - To write and read restart files in parallel with MPI-IO, the MPIIO package must be installed. Related commands """""""""""""""" -:doc:`write\_restart `, :doc:`read\_restart ` +:doc:`write_restart `, :doc:`read_restart ` Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS restart 0 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/run.rst b/doc/src/run.rst index 1399c6a96357c05537dc14b4930e9343ed779ea3..f36fb731878c2a25ff5e7687e59ddb4a842b6081 100644 --- a/doc/src/run.rst +++ b/doc/src/run.rst @@ -6,7 +6,6 @@ run command Syntax """""" - .. parsed-literal:: run N keyword values ... @@ -14,9 +13,9 @@ Syntax * N = # of timesteps * zero or more keyword/value pairs may be appended * keyword = *upto* or *start* or *stop* or *pre* or *post* or *every* - + .. parsed-literal:: - + *upto* value = none *start* value = N1 N1 = timestep at which 1st run started @@ -29,13 +28,10 @@ Syntax c1,c2,...,cN = one or more LAMMPS commands, each enclosed in quotes c1 = NULL means no command will be invoked - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS run 10000 run 1000000 upto @@ -74,8 +70,7 @@ keywords. For example, consider this fix followed by 10 run commands: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt 200.0 300.0 1.0 run 1000 start 0 stop 10000 @@ -149,16 +144,14 @@ of M steps each. After each M-length run, the specified commands are invoked. If only a single command is specified as NULL, then no command is invoked. Thus these lines: - -.. parsed-literal:: +.. code-block:: LAMMPS variable q equal x[100] run 6000 every 2000 "print 'Coord = $q'" are the equivalent of: - -.. parsed-literal:: +.. code-block:: LAMMPS variable q equal x[100] run 2000 @@ -176,8 +169,7 @@ Note that by using the line continuation character "&", the run every command can be spread across many lines, though it is still a single command: - -.. parsed-literal:: +.. code-block:: LAMMPS run 100000 every 1000 & "print 'Minimum value = $a'" & @@ -195,8 +187,7 @@ skipped for intermediate runs. You might wish to specify a command that exits the run by jumping out of the loop, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable t equal temp run 10000 every 100 "if '$t < 300.0' then 'jump SELF afterrun'" @@ -210,7 +201,6 @@ has additional options for how to exit the run. Restrictions """""""""""" - When not using the *upto* keyword, the number of specified timesteps N must fit in a signed 32-bit integer, so you are limited to slightly more than 2 billion steps (2\^31) in a single run. When using *upto*\ , @@ -226,7 +216,7 @@ successive runs to run a simulation for any number of steps (ok, up to Related commands """""""""""""""" -:doc:`minimize `, :doc:`run\_style `, +:doc:`minimize `, :doc:`run_style `, :doc:`temper `, :doc:`fix halt ` Default @@ -234,8 +224,3 @@ Default The option defaults are start = the current timestep, stop = current timestep + N, pre = yes, and post = yes. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/run_style.rst b/doc/src/run_style.rst index 5dd51f7f1a56ad9eca8574b53b18505a06060707..474eab2b856389f8e26c36cb708ee06d9c7cd039 100644 --- a/doc/src/run_style.rst +++ b/doc/src/run_style.rst @@ -1,20 +1,19 @@ -.. index:: run\_style +.. index:: run_style -run\_style command -================== +run_style command +================= Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS run_style style args * style = *verlet* or *verlet/split* or *respa* or *respa/omp* - + .. parsed-literal:: - + *verlet* args = none *verlet/split* args = none *respa* args = N n1 n2 ... keyword values ... @@ -52,13 +51,10 @@ Syntax *kspace* value = M M = which level (1-N) to compute kspace forces in - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS run_style verlet run_style respa 4 2 2 2 bond 1 dihedral 2 pair 3 kspace 4 @@ -73,23 +69,21 @@ simulations performed by LAMMPS. The *verlet* style is a standard velocity-Verlet integrator. - ---------- - The *verlet/split* style is also a velocity-Verlet integrator, but it splits the force calculation within each timestep over 2 partitions of processors. See the :doc:`-partition command-line switch ` for info on how to run LAMMPS with multiple partitions. Specifically, this style performs all computation except the -:doc:`kspace\_style ` portion of the force field on the 1st +:doc:`kspace_style ` portion of the force field on the 1st partition. This include the :doc:`pair style `, :doc:`bond style `, :doc:`neighbor list building `, :doc:`fixes ` including time integration, and output. The -:doc:`kspace\_style ` portion of the calculation is +:doc:`kspace_style ` portion of the calculation is performed on the 2nd partition. -This is most useful for the PPPM kspace\_style when its performance on +This is most useful for the PPPM kspace_style when its performance on a large number of processors degrades due to the cost of communication in its 3d FFTs. In this scenario, splitting your P total processors into 2 subsets of processors, P1 in the 1st partition and P2 in the @@ -111,17 +105,15 @@ match the integer multiple constraint. See the :doc:`processors ` command with its *part* keyword for a way to control this, e.g. +.. code-block:: LAMMPS -.. parsed-literal:: - - procssors \* \* \* part 1 2 multiple + processors * * * part 1 2 multiple You can also use the :doc:`partition ` command to explicitly specify the processor layout on each partition. E.g. for 2 partitions of 60 and 15 processors each: - -.. parsed-literal:: +.. code-block:: LAMMPS partition yes 1 processors 3 4 5 partition yes 2 processors 3 1 5 @@ -140,10 +132,8 @@ processors in the 2 partitions to the physical cores of a parallel machine. The :doc:`processors ` command has options to support this, and strategies are discussed in :doc:`Section 5 ` of the manual. - ---------- - The *respa* style implements the rRESPA multi-timescale integrator :ref:`(Tuckerman) ` with N hierarchical levels, where level 1 is the innermost loop (shortest timestep) and level N is the outermost @@ -163,7 +153,7 @@ outermost rRESPA level. Thus if the 3 loop factors are "2 2 2" for 4-level rRESPA, and the outer timestep is set to 4.0 fmsec, then the inner timestep would be 8x smaller or 0.5 fmsec. All other LAMMPS commands that specify number of timesteps (e.g. :doc:`thermo ` -for thermo output every N steps, :doc:`neigh\_modify delay/every ` parameters, :doc:`dump ` every N +for thermo output every N steps, :doc:`neigh_modify delay/every ` parameters, :doc:`dump ` every N steps, etc) refer to the outermost timesteps. The rRESPA keywords enable you to specify at what level of the @@ -176,7 +166,7 @@ outermost level, and kspace forces are computed where pair forces are. The inner, middle, outer forces have no defaults. For fixes that support it, the rRESPA level at which a given fix is -active, can be selected through the :doc:`fix\_modify ` command. +active, can be selected through the :doc:`fix_modify ` command. The *inner* and *middle* keywords take additional arguments for cutoffs that are used by the pairwise force computations. If the 2 @@ -200,13 +190,13 @@ are computed at the same rRESPA level. See the doc pages for individual pair styles for details. Another option for using pair potentials with rRESPA is with the -*hybrid* keyword, which requires the use of the :doc:`pair\_style hybrid or hybrid/overlay ` command. In this scenario, different +*hybrid* keyword, which requires the use of the :doc:`pair_style hybrid or hybrid/overlay ` command. In this scenario, different sub-styles of the hybrid pair style are evaluated at different rRESPA levels. This can be useful, for example, to set different timesteps for hybrid coarse-grained/all-atom models. The *hybrid* keyword requires as many level assignments as there are hybrid sub-styles, which assigns each sub-style to a rRESPA level, following their order -of definition in the pair\_style command. Since the *hybrid* keyword +of definition in the pair_style command. Since the *hybrid* keyword operates on pair style computations, it is mutually exclusive with either the *pair* or the *inner*\ /\ *middle*\ /\ *outer* keywords. @@ -234,8 +224,7 @@ cutoffs) works reasonably well. We thus recommend the following settings for use of the *respa* style without SHAKE in biomolecular simulations: - -.. parsed-literal:: +.. code-block:: LAMMPS timestep 4.0 run_style respa 4 2 2 2 inner 2 4.5 6.0 middle 3 8.0 10.0 outer 4 @@ -256,8 +245,7 @@ the size of the time steps in the respa hierarchy. The following settings can be used for biomolecular simulations with SHAKE and rRESPA: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all shake 0.000001 500 0 m 1.0 a 1 timestep 4.0 @@ -272,8 +260,7 @@ advantageous if there is a clear separation of time scales - fast and slow modes in the simulation. For example, a system of slowly-moving charged polymer chains could be setup as follows: - -.. parsed-literal:: +.. code-block:: LAMMPS timestep 4.0 run_style respa 2 8 @@ -291,16 +278,13 @@ In real units, for a pure LJ fluid at liquid density, with a sigma of 3.0 angstroms, and epsilon of 0.1 Kcal/mol, the following settings seem to work well: - -.. parsed-literal:: +.. code-block:: LAMMPS timestep 36.0 run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 - ---------- - The *respa/omp* style is a variant of *respa* adapted for use with pair, bond, angle, dihedral, improper, or kspace styles with an *omp* suffix. It is functionally equivalent to *respa* but performs @@ -317,14 +301,11 @@ input script. See the :doc:`Speed packages ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - The *verlet/split* style can only be used if LAMMPS was built with the REPLICA package. Correspondingly the *respa/omp* style is available only if the USER-OMP package was included. See the :doc:`Build package ` doc page for more info. @@ -341,12 +322,11 @@ Related commands Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS run_style verlet -For run\_style respa, the default assignment of interactions +For run_style respa, the default assignment of interactions to rRESPA levels is as follows: * bond forces = level 1 (innermost loop) @@ -357,18 +337,9 @@ to rRESPA levels is as follows: * kspace forces = same level as pair forces * inner, middle, outer forces = no default - ---------- - .. _Tuckerman3: - - **(Tuckerman)** Tuckerman, Berne and Martyna, J Chem Phys, 97, p 1990 (1992). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/server.rst b/doc/src/server.rst index f3666398125804873b130da2a7af143a58c6ebee..a25d97ba40cf739eece7a18df4616fedb4ea1361 100644 --- a/doc/src/server.rst +++ b/doc/src/server.rst @@ -6,7 +6,6 @@ server command Syntax """""" - .. parsed-literal:: server protocol @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS server md @@ -53,14 +51,11 @@ For protocol *md*\ , LAMMPS can be either a client (via the :doc:`fix client/md For protocol *mc*\ , LAMMPS can be the server. See the :doc:`server mc ` doc page for details on the protocol. - ---------- - Restrictions """""""""""" - This command is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -74,8 +69,3 @@ Related commands :doc:`message `, :doc:`fix client/md ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/server_mc.rst b/doc/src/server_mc.rst index 850eceb008fc65ae054c5af30b6b2c9e74553766..e4846a7a337322265a2869502dd066d6ceb5b041 100644 --- a/doc/src/server_mc.rst +++ b/doc/src/server_mc.rst @@ -6,7 +6,6 @@ server mc command Syntax """""" - .. parsed-literal:: server mc @@ -16,8 +15,7 @@ mc = the protocol argument to the :doc:`server ` command Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS server mc @@ -43,12 +41,10 @@ processed. The :doc:`server ` doc page gives other options for using LAMMPS See an example of how this command is used in -examples/COUPLE/lammps\_mc/in.server. - +examples/COUPLE/lammps_mc/in.server. ---------- - When using this command, LAMMPS (as the server code) receives instructions from a Monte Carlo (MC) driver to displace random atoms, compute the energy before and after displacement, and run dynamics to @@ -61,19 +57,18 @@ runs. The format and content of the exchanged messages are explained here in a conceptual sense. Python-style pseudo code for the library calls to the CSlib is shown, which performs the actual message exchange between -the two codes. See the `CSlib website `_ doc +the two codes. See the `CSlib website `_ doc pages for more details on the actual library syntax. The "cs" object in this pseudo code is a pointer to an instance of the CSlib. -See the src/MESSAGE/server\_mc.cpp file for details on how LAMMPS uses -these messages. See the examples/COUPLE/lammps\_mc/mc.cpp file for an +See the src/MESSAGE/server_mc.cpp file for details on how LAMMPS uses +these messages. See the examples/COUPLE/lammps_mc/mc.cpp file for an example of how an MC driver code can use these messages. Define NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. **Client sends one of these kinds of message**\ : - .. parsed-literal:: cs->send(NATOMS,0) # msgID = 1 with no fields @@ -92,7 +87,6 @@ Define NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. **Server replies**\ : - .. parsed-literal:: cs->send(NATOMS,1) # msgID = 1 with 1 field @@ -109,14 +103,11 @@ Define NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. cs->send(RUN,0) # msgID = 5 with no fields - ---------- - Restrictions """""""""""" - This command is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -130,8 +121,3 @@ Related commands :doc:`message ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/server_md.rst b/doc/src/server_md.rst index 26fd65a7978e39c36a1a3c6019b69364b739d458..8304c808b284a7f4ba215724d68003288c01945c 100644 --- a/doc/src/server_md.rst +++ b/doc/src/server_md.rst @@ -6,7 +6,6 @@ server md command Syntax """""" - .. parsed-literal:: server md @@ -16,8 +15,7 @@ md = the protocol argument to the :doc:`server ` command Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS server md @@ -45,10 +43,8 @@ The :doc:`server ` doc page gives other options for using LAMMPS in server mode. See an example of how this command is used in examples/message/in.message.server. - ---------- - When using this command, LAMMPS (as the server code) receives the current coordinates of all particles from the client code each timestep, computes their interaction, and returns the energy, forces, @@ -64,20 +60,20 @@ forces, and pressure values from the server code. The format and content of the exchanged messages are explained here in a conceptual sense. Python-style pseudo code for the library calls to the CSlib is shown, which performs the actual message exchange between -the two codes. See the `CSlib website `_ doc +the two codes. See the `CSlib website `_ doc pages for more details on the actual library syntax. The "cs" object in this pseudo code is a pointer to an instance of the CSlib. -See the src/MESSAGE/server\_md.cpp and src/MESSAGE/fix\_client\_md.cpp +See the src/MESSAGE/server_md.cpp and src/MESSAGE/fix_client_md.cpp files for details on how LAMMPS uses these messages. See the -examples/COUPLE/lammps\_vasp/vasp\_wrapper.py file for an example of how -a quantum code (VASP) can use these messages. +examples/COUPLE/lammps_vasp/vasp_wrap.py or +examples/COUPLE/lammps_nwchem/nwchem_wrap.py files for examples of how +a quantum code (VASP or NWChem) can use these messages. The following pseudo-code uses these values, defined as enums. Define: - .. parsed-literal:: SETUP=1, STEP=2 @@ -86,7 +82,6 @@ Define: **Client sends 2 kinds of messages**\ : - .. parsed-literal:: # required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS @@ -116,7 +111,6 @@ Define: **Server replies to either kind of message**\ : - .. parsed-literal:: # required fields: FORCES, ENERGY, PRESSURE @@ -128,10 +122,8 @@ Define: cs->pack(PRESSURE,6,press) # global pressure tensor (6-vector) cs->pack_int(ERROR,flag) # server had an error (e.g. DFT non-convergence) - ---------- - The units for various quantities that are sent and received iva messages are defined for atomic-scale simulations in the table below. The client and server codes (including LAMMPS) can use internal units @@ -150,14 +142,11 @@ If you wish to run LAMMPS in another its non-atomic units, e.g. :doc:`lj units < message as indicated above, and both the client and server should agree on the units for the data they exchange. - ---------- - Restrictions """""""""""" - This command is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -167,8 +156,3 @@ Related commands :doc:`message `, :doc:`fix client/md ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/set.rst b/doc/src/set.rst index 087c3487e5362781a8728f9a517141fa0beb8f0d..84792d1a585151d3b684c11400cca24d8f6ad76d 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -6,7 +6,6 @@ set command Syntax """""" - .. parsed-literal:: set style ID keyword values ... @@ -14,10 +13,10 @@ Syntax * style = *atom* or *type* or *mol* or *group* or *region* * ID = atom ID range or type range or mol ID range or group ID or region ID * one or more keyword/value pairs may be appended -* keyword = *type* or *type/fraction* or *type/ratio* or *type/subset* or *mol* or *x* or *y* or *z* or *charge* or *dipole* or *dipole/random* or *quat* or *spin* or *spin/random* or *quat* or *quat/random* or *diameter* or *shape* or *length* or *tri* or *theta* or *theta/random* or *angmom* or *omega* or *mass* or *density* or *density/disc* or *volume* or *image* or *bond* or *angle* or *dihedral* or *improper* or *meso/e* or *meso/cv* or *meso/rho* or *smd/contact/radius* or *smd/mass/density* or *dpd/theta* or *edpd/temp* or *edpd/cv* or *cc* or *i\_name* or *d\_name* - +* keyword = *type* or *type/fraction* or *type/ratio* or *type/subset* or *mol* or *x* or *y* or *z* or *charge* or *dipole* or *dipole/random* or *quat* or *spin* or *spin/random* or *quat* or *quat/random* or *diameter* or *shape* or *length* or *tri* or *theta* or *theta/random* or *angmom* or *omega* or *mass* or *density* or *density/disc* or *volume* or *image* or *bond* or *angle* or *dihedral* or *improper* or *meso/e* or *meso/cv* or *meso/rho* or *smd/contact/radius* or *smd/mass/density* or *dpd/theta* or *edpd/temp* or *edpd/cv* or *cc* or *i_name* or *d_name* + .. parsed-literal:: - + *type* value = atom type value can be an atom-style variable (see below) *type/fraction* values = type fraction seed @@ -118,22 +117,19 @@ Syntax *i_name* value = value for custom integer vector with name *d_name* value = value for custom floating-point vector with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS set group solvent type 2 set group solvent type/fraction 2 0.5 12393 set group edge bond 4 set region half charge 0.5 set type 3 charge 0.5 - set type 1\*3 charge 0.5 - set atom \* charge v_atomfile - set atom 100\*200 x 0.5 y 1.0 + set type 1*3 charge 0.5 + set atom * charge v_atomfile + set atom 100*200 x 0.5 y 1.0 set atom 100 vx 0.0 vy 0.0 vz -1.0 set atom 1492 type 3 @@ -141,11 +137,11 @@ Description """"""""""" Set one or more properties of one or more atoms. Since atom -properties are initially assigned by the :doc:`read\_data `, -:doc:`read\_restart ` or :doc:`create\_atoms ` +properties are initially assigned by the :doc:`read_data `, +:doc:`read_restart ` or :doc:`create_atoms ` commands, this command changes those assignments. This can be useful for overriding the default values assigned by the -:doc:`create\_atoms ` command (e.g. charge = 0.0). It can +:doc:`create_atoms ` command (e.g. charge = 0.0). It can be useful for altering pairwise and molecular force interactions, since force-field coefficients are defined in terms of types. It can be used to change the labeling of atoms by atom type or molecule ID @@ -158,10 +154,8 @@ their properties reset. The remaining keywords specify which properties to reset and what the new values are. Some strings like *type* or *mol* can be used as a style and/or a keyword. - ---------- - This section describes how to select which atoms to change the properties of, via the *style* and *ID* arguments. @@ -184,17 +178,15 @@ style *region* selects all the atoms in the specified geometric region. See the :doc:`group ` and :doc:`region ` commands for details of how to specify a group or region. - ---------- - This section describes the keyword options for which properties to change, for the selected atoms. Note that except where explicitly prohibited below, all of the keywords allow an :doc:`atom-style or atomfile-style variable ` to be used as the specified value(s). If the value is a -variable, it should be specified as v\_name, where name is the +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its resulting per-atom value used to determine the value assigned to each selected atom. Note that the per-atom value from the variable will be @@ -204,7 +196,7 @@ the variable to reset a property for all atoms is to use style *atom* with *ID* = "\*"; this selects all atom IDs. Atom-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters and timestep and elapsed time. They can also include per-atom values, such as atom coordinates. Thus it is easy to specify a time-dependent or @@ -223,8 +215,8 @@ from a file. Keyword *type* sets the atom type for all selected atoms. The specified value must be from 1 to ntypes, where ntypes was set by the -:doc:`create\_box ` command or the *atom types* field in the -header of the data file read by the :doc:`read\_data ` +:doc:`create_box ` command or the *atom types* field in the +header of the data file read by the :doc:`read_data ` command. Keyword *type/fraction* sets the atom type for a fraction of the @@ -235,7 +227,7 @@ that a particular atom is changed or not changed, regardless of how many processors are being used. This keyword does not allow use of an atom-style variable. -Keywords *type/ratio* and *type/subset" also set the atom type for a +Keywords *type/ratio* and *type/subset* also set the atom type for a fraction of the selected atoms. The actual number of atoms changed will be exactly the requested number. For *type/ratio* the specified fraction (0 <= *fraction* <= 1) determines the number. For @@ -281,8 +273,8 @@ Keyword *quat* uses the specified values to create a quaternion (4-vector) that represents the orientation of the selected atoms. The particles must define a quaternion for their orientation (e.g. ellipsoids, triangles, body particles) as defined by the -:doc:`atom\_style ` command. Note that particles defined by -:doc:`atom\_style ellipsoid ` have 3 shape parameters. The 3 +:doc:`atom_style ` command. Note that particles defined by +:doc:`atom_style ellipsoid ` have 3 shape parameters. The 3 values must be non-zero for each particle set by this command. They are used to specify the aspect ratios of an ellipsoidal particle, which is oriented by default with its x-axis along the simulation @@ -298,7 +290,7 @@ ignored, since a rotation vector of (0,0,1) is the only valid choice. Keyword *quat/random* randomizes the orientation of the quaternion for the selected atoms. The particles must define a quaternion for their orientation (e.g. ellipsoids, triangles, body particles) as defined by -the :doc:`atom\_style ` command. Random numbers are used in +the :doc:`atom_style ` command. Random numbers are used in such a way that the orientation of a particular atom is the same, regardless of how many processors are being used. For 2d systems, only orientations in the xy plane are generated. As with keyword @@ -307,32 +299,32 @@ for each particle set by this command. This keyword does not allow use of an atom-style variable. Keyword *diameter* sets the size of the selected atoms. The particles -must be finite-size spheres as defined by the :doc:`atom\_style sphere ` command. The diameter of a particle can be +must be finite-size spheres as defined by the :doc:`atom_style sphere ` command. The diameter of a particle can be set to 0.0, which means they will be treated as point particles. Note that this command does not adjust the particle mass, even if it was -defined with a density, e.g. via the :doc:`read\_data ` +defined with a density, e.g. via the :doc:`read_data ` command. Keyword *shape* sets the size and shape of the selected atoms. The -particles must be ellipsoids as defined by the :doc:`atom\_style ellipsoid ` command. The *Sx*\ , *Sy*\ , *Sz* settings are +particles must be ellipsoids as defined by the :doc:`atom_style ellipsoid ` command. The *Sx*\ , *Sy*\ , *Sz* settings are the 3 diameters of the ellipsoid in each direction. All 3 can be set to the same value, which means the ellipsoid is effectively a sphere. They can also all be set to 0.0 which means the particle will be treated as a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the -:doc:`read\_data ` command. +:doc:`read_data ` command. Keyword *length* sets the length of selected atoms. The particles -must be line segments as defined by the :doc:`atom\_style line ` command. If the specified value is non-zero the +must be line segments as defined by the :doc:`atom_style line ` command. If the specified value is non-zero the line segment is (re)set to a length = the specified value, centered around the particle position, with an orientation along the x-axis. If the specified value is 0.0, the particle will become a point particle. Note that this command does not adjust the particle mass, even if it was defined with a density, e.g. via the -:doc:`read\_data ` command. +:doc:`read_data ` command. Keyword *tri* sets the size of selected atoms. The particles must be -triangles as defined by the :doc:`atom\_style tri ` command. +triangles as defined by the :doc:`atom_style tri ` command. If the specified value is non-zero the triangle is (re)set to be an equilateral triangle in the xy plane with side length = the specified value, with a centroid at the particle position, with its base @@ -340,38 +332,38 @@ parallel to the x axis, and the y-axis running from the center of the base to the top point of the triangle. If the specified value is 0.0, the particle will become a point particle. Note that this command does not adjust the particle mass, even if it was defined with a -density, e.g. via the :doc:`read\_data ` command. +density, e.g. via the :doc:`read_data ` command. Keyword *theta* sets the orientation of selected atoms. The particles -must be line segments as defined by the :doc:`atom\_style line ` command. The specified value is used to set the +must be line segments as defined by the :doc:`atom_style line ` command. The specified value is used to set the orientation angle of the line segments with respect to the x axis. Keyword *theta/random* randomizes the orientation of theta for the selected atoms. The particles must be line segments as defined by the -:doc:`atom\_style line ` command. Random numbers are used in +:doc:`atom_style line ` command. Random numbers are used in such a way that the orientation of a particular atom is the same, regardless of how many processors are being used. This keyword does not allow use of an atom-style variable. Keyword *angmom* sets the angular momentum of selected atoms. The -particles must be ellipsoids as defined by the :doc:`atom\_style ellipsoid ` command or triangles as defined by the -:doc:`atom\_style tri ` command. The angular momentum vector +particles must be ellipsoids as defined by the :doc:`atom_style ellipsoid ` command or triangles as defined by the +:doc:`atom_style tri ` command. The angular momentum vector of the particles is set to the 3 specified components. Keyword *omega* sets the angular velocity of selected atoms. The -particles must be spheres as defined by the "atom\_style sphere"_ -atom\_style.html command. The angular velocity vector of the particles -is set to the 3 specified components. +particles must be spheres as defined by the +:doc:`atom_style sphere ` command. The angular velocity +vector of the particles is set to the 3 specified components. Keyword *mass* sets the mass of all selected particles. The particles must have a per-atom mass attribute, as defined by the -:doc:`atom\_style ` command. See the "mass" command for how +:doc:`atom_style ` command. See the "mass" command for how to set mass values on a per-type basis. Keyword *density* or *density/disc* also sets the mass of all selected particles, but in a different way. The particles must have a per-atom -mass attribute, as defined by the :doc:`atom\_style ` -command. If the atom has a radius attribute (see :doc:`atom\_style sphere `) and its radius is non-zero, its mass is set +mass attribute, as defined by the :doc:`atom_style ` +command. If the atom has a radius attribute (see :doc:`atom_style sphere `) and its radius is non-zero, its mass is set from the density and particle volume for 3d systems (the input density is assumed to be in mass/distance\^3 units). For 2d, the default is for LAMMPS to model particles with a radius attribute as spheres. @@ -380,16 +372,16 @@ modeled as 2d discs (circles). Their mass is set from the density and particle area (the input density is assumed to be in mass/distance\^2 units). -If the atom has a shape attribute (see :doc:`atom\_style ellipsoid `) and its 3 shape parameters are non-zero, +If the atom has a shape attribute (see :doc:`atom_style ellipsoid `) and its 3 shape parameters are non-zero, then its mass is set from the density and particle volume (the input density is assumed to be in mass/distance\^3 units). The *density/disc* keyword has no effect; it does not (yet) treat 3d ellipsoids as 2d ellipses. -If the atom has a length attribute (see :doc:`atom\_style line `) and its length is non-zero, then its mass is +If the atom has a length attribute (see :doc:`atom_style line `) and its length is non-zero, then its mass is set from the density and line segment length (the input density is assumed to be in mass/distance units). If the atom has an area -attribute (see :doc:`atom\_style tri `) and its area is +attribute (see :doc:`atom_style tri `) and its area is non-zero, then its mass is set from the density and triangle area (the input density is assumed to be in mass/distance\^2 units). @@ -397,7 +389,7 @@ If none of these cases are valid, then the mass is set to the density value directly (the input density is assumed to be in mass units). Keyword *volume* sets the volume of all selected particles. -Currently, only the :doc:`atom\_style peri ` command defines +Currently, only the :doc:`atom_style peri ` command defines particles with a volume attribute. Note that this command does not adjust the particle mass. @@ -428,7 +420,7 @@ the specified value from 1 to nbondtypes (nangletypes, etc). All atoms in a particular bond (angle, etc) must be selected atoms in order for the change to be made. The value of nbondtype (nangletypes, etc) was set by the *bond types* (\ *angle types*\ , etc) field in the -header of the data file read by the :doc:`read\_data ` +header of the data file read by the :doc:`read_data ` command. These keywords do not allow use of an atom-style variable. Keywords *meso/e*\ , *meso/cv*\ , and *meso/rho* set the energy, heat @@ -462,30 +454,29 @@ value >= 0.0, the internal temperature is set to that value. If it is temperature is set to that value. Keywords *edpd/temp* and *edpd/cv* set the temperature and volumetric -heat capacity of an eDPD particle as defined by the USER-MESO package. -Currently, only :doc:`atom\_style edpd ` defines particles +heat capacity of an eDPD particle as defined by the USER-MESODPD package. +Currently, only :doc:`atom_style edpd ` defines particles with these attributes. The values for the temperature and heat capacity must be positive. Keyword *cc* sets the chemical concentration of a tDPD particle for a -specified species as defined by the USER-MESO package. Currently, only -:doc:`atom\_style tdpd ` defines particles with this +specified species as defined by the USER-MESODPD package. Currently, only +:doc:`atom_style tdpd ` defines particles with this attribute. An integer for "index" selects a chemical species (1 to -Nspecies) where Nspecies is set by the atom\_style command. The value +Nspecies) where Nspecies is set by the atom_style command. The value for the chemical concentration must be >= 0.0. -Keywords *i\_name* and *d\_name* refer to custom integer and +Keywords *i_name* and *d_name* refer to custom integer and floating-point properties that have been added to each atom via the :doc:`fix property/atom ` command. When that command is used specific names are given to each attribute which are what is -specified as the "name" portion of *i\_name* or *d\_name*. +specified as the "name" portion of *i_name* or *d_name*. Restrictions """""""""""" - You cannot set an atom attribute (e.g. *mol* or *q* or *volume*\ ) if -the :doc:`atom\_style ` does not have that attribute. +the :doc:`atom_style ` does not have that attribute. This command requires inter-processor communication to coordinate the setting of bond types (angle types, etc). This means that your system @@ -502,12 +493,7 @@ coordinates outside the simulation box if they are ghost atoms. Related commands """""""""""""""" -:doc:`create\_box `, :doc:`create\_atoms `, -:doc:`read\_data ` +:doc:`create_box `, :doc:`create_atoms `, +:doc:`read_data ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/shell.rst b/doc/src/shell.rst index 59ff9e42fb33ad38edaf4fdeda706dada16c64d7..4eb2652c1ac114a6b4b81da2afa8f8f5076a842a 100644 --- a/doc/src/shell.rst +++ b/doc/src/shell.rst @@ -6,15 +6,14 @@ shell command Syntax """""" - .. parsed-literal:: - shell cmd args + shell command args + +* command = *cd* or *mkdir* or *mv* or *rm* or *rmdir* or *putenv* or arbitrary command -* cmd = *cd* or *mkdir* or *mv* or *rm* or *rmdir* or *putenv* or arbitrary command - .. parsed-literal:: - + *cd* arg = dir dir = directory to change to *mkdir* args = dir1 dir2 ... @@ -30,13 +29,10 @@ Syntax var=value = one of more definitions of environment variables anything else is passed as a command to the shell for direct execution - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS shell cd sub1 shell cd .. @@ -66,35 +62,34 @@ With the exception of *cd*\ , all commands, including ones invoked via a system() call, are executed by only a single processor, so that files/directories are not being manipulated by multiple processors. -The *cd* cmd executes the Unix "cd" command to change the working +The *cd* command executes the Unix "cd" command to change the working directory. All subsequent LAMMPS commands that read/write files will use the new directory. All processors execute this command. -The *mkdir* cmd executes the Unix "mkdir" command to create one or +The *mkdir* command executes the Unix "mkdir" command to create one or more directories. -The *mv* cmd executes the Unix "mv" command to rename a file and/or +The *mv* command executes the Unix "mv" command to rename a file and/or move it to a new directory. -The *rm* cmd executes the Unix "rm" command to remove one or more +The *rm* command executes the Unix "rm" command to remove one or more files. -The *rmdir* cmd executes the Unix "rmdir" command to remove one or +The *rmdir* command executes the Unix "rmdir" command to remove one or more directories. A directory must be empty to be successfully removed. -The *putenv* cmd defines or updates an environment variable directly. +The *putenv* command defines or updates an environment variable directly. Since this command does not pass through the shell, no shell variable expansion or globbing is performed, only the usual substitution for LAMMPS variables defined with the :doc:`variable ` command is performed. The resulting string is then used literally. -Any other cmd is passed as-is to the shell along with its arguments as +Any other command is passed as-is to the shell along with its arguments as one string, invoked by the C-library system() call. For example, these lines in your input script: - -.. parsed-literal:: +.. code-block:: LAMMPS variable n equal 10 variable foo string file2 @@ -102,18 +97,16 @@ these lines in your input script: would be the same as invoking - -.. parsed-literal:: +.. code-block:: bash % my_setup file1 10 file2 -from a command-line prompt. The executable program "my\_setup" is run +from a command-line prompt. The executable program "my_setup" is run with 3 arguments: file1 10 file2. Restrictions """""""""""" - LAMMPS does not detect errors or print warnings when any of these commands execute. E.g. if the specified directory does not exist, executing the *cd* command will silently do nothing. @@ -121,8 +114,3 @@ executing the *cd* command will silently do nothing. **Related commands:** none **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/special_bonds.rst b/doc/src/special_bonds.rst index 1e30dc27617cf9e96e8da763e955972d3ce97538..d00467b3e88c7325b1313983d5bbfec45814b55a 100644 --- a/doc/src/special_bonds.rst +++ b/doc/src/special_bonds.rst @@ -1,21 +1,20 @@ -.. index:: special\_bonds +.. index:: special_bonds -special\_bonds command -====================== +special_bonds command +===================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS special_bonds keyword values ... * one or more keyword/value pairs may be appended * keyword = *amber* or *charmm* or *dreiding* or *fene* or *lj/coul* or *lj* or *coul* or *angle* or *dihedral* - + .. parsed-literal:: - + *amber* values = none *charmm* values = none *dreiding* values = none @@ -29,12 +28,9 @@ Syntax *angle* value = *yes* or *no* *dihedral* value = *yes* or *no* - - Examples: - -.. parsed-literal:: +.. code-block:: LAMMPS special_bonds amber special_bonds charmm @@ -51,8 +47,8 @@ either directly or via one or two intermediate bonds. These weighting factors are used by nearly all :doc:`pair styles ` in LAMMPS that compute simple pairwise interactions. Permanent bonds between atoms are specified by defining the bond topology in the data file -read by the :doc:`read\_data ` command. Typically a -:doc:`bond\_style ` command is also used to define a bond +read by the :doc:`read_data ` command. Typically a +:doc:`bond_style ` command is also used to define a bond potential. The rationale for using these weighting factors is that the interaction between a pair of bonded atoms is all (or mostly) specified by the bond, angle, dihedral potentials, and thus the @@ -68,8 +64,8 @@ atoms should be excluded (or reduced by a weighting factor). Tersoff, COMB, AIREBO, and ReaxFF. In fact, it generally makes no sense to define permanent bonds between atoms that interact via these potentials, though such bonds may exist elsewhere in your system, - e.g. when using the :doc:`pair\_style hybrid ` command. - Thus LAMMPS ignores special\_bonds settings when many-body potentials + e.g. when using the :doc:`pair_style hybrid ` command. + Thus LAMMPS ignores special_bonds settings when many-body potentials are calculated. Please note, that the existence of explicit bonds for atoms that are described by a many-body potential will alter the neighbor list and thus can render the computation of those interactions @@ -112,8 +108,8 @@ that interaction will be at full strength. and 1-4 interactions are not defined from the list of angles or dihedrals used by the simulation. Rather, they are inferred topologically from the set of bonds specified when the simulation is - defined from a data or restart file (see :doc:`read\_data ` or - :doc:`read\_restart ` commands). Thus the set of + defined from a data or restart file (see :doc:`read_data ` or + :doc:`read_restart ` commands). Thus the set of 1-2,1-3,1-4 interactions that the weights apply to is the same whether angle and dihedral potentials are computed or not, and remains the same even if bonds are constrained, or turned off, or removed during a @@ -121,9 +117,9 @@ that interaction will be at full strength. The two exceptions to this rule are (a) if the *angle* or *dihedral* keywords are set to *yes* (see below), or (b) if the -:doc:`delete\_bonds ` command is used with the *special* +:doc:`delete_bonds ` command is used with the *special* option that re-computes the 1-2,1-3,1-4 topologies after bonds are -deleted; see the :doc:`delete\_bonds ` command for more +deleted; see the :doc:`delete_bonds ` command for more details. The *amber* keyword sets the 3 coefficients to 0.0, 0.0, 0.5 for LJ @@ -138,7 +134,7 @@ used version of the CHARMM force field. Note that in pair styles *lj/charmm/coul/charmm* and *lj/charmm/coul/long* the 1-4 coefficients are defined explicitly, and these pairwise contributions are computed as part of the charmm dihedral style - see the -:doc:`pair\_coeff ` and :doc:`dihedral\_style ` +:doc:`pair_coeff ` and :doc:`dihedral_style ` commands for more information. See :ref:`(MacKerell) ` for a description of the CHARMM force field. @@ -187,10 +183,8 @@ interaction between atoms 2 and 5 will be unaffected (full weighting of 1.0). If the *dihedral* keyword is specified as *no* which is the default, then the 2,5 interaction will also be weighted by 0.5. - ---------- - .. note:: LAMMPS stores and maintains a data structure with a list of the @@ -200,37 +194,32 @@ default, then the 2,5 interaction will also be weighted by 0.5. grow. Note that adding a single bond always adds a new 1st neighbor but may also induce \*many\* new 2nd and 3rd neighbors, depending on the molecular topology of your system. Using the *extra/special/per/atom* - keyword to either :doc:`read\_data ` or :doc:`create\_box ` + keyword to either :doc:`read_data ` or :doc:`create_box ` reserves empty space in the list for this N additional 1st, 2nd, or 3rd neighbors to be added. If you do not do this, you may get an error when bonds (or molecules) are added. - ---------- - .. note:: If you reuse this command in an input script, you should set all the options you need each time. This command cannot be used a 2nd time incrementally. E.g. these two commands: - -.. parsed-literal:: +.. code-block:: LAMMPS special_bonds lj 0.0 1.0 1.0 special_bonds coul 0.0 0.0 1.0 are not the same as - -.. parsed-literal:: +.. code-block:: LAMMPS special_bonds lj 0.0 1.0 1.0 coul 0.0 0.0 1.0 In the first case you end up with (after the 2nd command): - .. parsed-literal:: LJ: 0.0 0.0 0.0 @@ -238,7 +227,6 @@ In the first case you end up with (after the 2nd command): while only in the second case, you get the desired settings of: - .. parsed-literal:: LJ: 0.0 1.0 1.0 @@ -246,16 +234,16 @@ while only in the second case, you get the desired settings of: This happens because the LJ (and Coul) settings are reset to their default values before modifying them, each time the -*special\_bonds* command is issued. +*special_bonds* command is issued. Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`delete\_bonds `, :doc:`fix bond/create ` +:doc:`delete_bonds `, :doc:`fix bond/create ` Default """"""" @@ -263,38 +251,23 @@ Default All 3 Lennard-Jones and 3 Coulombic weighting coefficients = 0.0, angle = no, dihedral = no. - ---------- - .. _Cornell: - - **(Cornell)** Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). .. _Kremer: - - **(Kremer)** Kremer, Grest, J Chem Phys, 92, 5057 (1990). .. _MacKerell: - - **(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). .. _Mayo: - - **(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/suffix.rst b/doc/src/suffix.rst index 263b83187c03bbb462ee87c8152f83034b75b698..ba94214a9b61bbf58207f60f2c95611419d5b552 100644 --- a/doc/src/suffix.rst +++ b/doc/src/suffix.rst @@ -6,7 +6,6 @@ suffix command Syntax """""" - .. parsed-literal:: suffix style args @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS suffix off suffix on @@ -44,7 +42,7 @@ package. These are the variants these packages provide: -* GPU = a handful of pair styles and the PPPM kspace\_style, optimized to +* GPU = a handful of pair styles and the PPPM kspace_style, optimized to run on one or more GPUs or multicore CPU/GPU nodes * USER-INTEL = a collection of pair styles and neighbor routines optimized to run in single, mixed, or double precision on CPUs and @@ -59,10 +57,9 @@ These are the variants these packages provide: performance * HYBRID = a combination of two packages can be specified (see below) - -As an example, all of the packages provide a :doc:`pair\_style lj/cut ` variant, with style names lj/cut/opt, lj/cut/omp, +As an example, all of the packages provide a :doc:`pair_style lj/cut ` variant, with style names lj/cut/opt, lj/cut/omp, lj/cut/gpu, lj/cut/intel, or lj/cut/kk. A variant styles -can be specified explicitly in your input script, e.g. pair\_style +can be specified explicitly in your input script, e.g. pair_style lj/cut/gpu. If the suffix command is used with the appropriate style, you do not need to modify your input script. The specified suffix (opt,omp,gpu,intel,kk) is automatically appended whenever your @@ -93,11 +90,11 @@ commands in your input script. .. note:: - The default :doc:`run\_style ` verlet is invoked prior to + The default :doc:`run_style ` verlet is invoked prior to reading the input script and is therefore not affected by a suffix command - in the input script. The KOKKOS package requires "run\_style verlet/kk", + in the input script. The KOKKOS package requires "run_style verlet/kk", so when using the KOKKOS package it is necessary to either use the command - line "-sf kk" command or add an explicit "run\_style verlet" command to the + line "-sf kk" command or add an explicit "run_style verlet" command to the input script. Restrictions @@ -110,8 +107,3 @@ Related commands :doc:`-suffix command-line switch ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/tad.rst b/doc/src/tad.rst index 5322251ed53d89eabaf2b3f2b17e7a2bde175eb6..7f4845dc3c5988161824b3546608060128927bc3 100644 --- a/doc/src/tad.rst +++ b/doc/src/tad.rst @@ -6,23 +6,22 @@ tad command Syntax """""" - .. parsed-literal:: tad N t_event T_lo T_hi delta tmax compute-ID keyword value ... * N = # of timesteps to run (not including dephasing/quenching) -* t\_event = timestep interval between event checks -* T\_lo = temperature at which event times are desired -* T\_hi = temperature at which MD simulation is performed +* t_event = timestep interval between event checks +* T_lo = temperature at which event times are desired +* T_hi = temperature at which MD simulation is performed * delta = desired confidence level for stopping criterion * tmax = reciprocal of lowest expected pre-exponential factor (time units) * compute-ID = ID of the compute used for event detection * zero or more keyword/value pairs may be appended -* keyword = *min* or *neb* or *min\_style* or *neb\_style* or *neb\_log* - +* keyword = *min* or *neb* or *min_style* or *neb_style* or *neb_log* + .. parsed-literal:: - + *min* values = etol ftol maxiter maxeval etol = stopping tolerance for energy (energy units) ftol = stopping tolerance for force (force units) @@ -39,13 +38,10 @@ Syntax dtneb = timestep for NEB damped dynamics minimization *neb_log* value = file where NEB statistics are printed - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS tad 2000 50 1800 2300 0.01 0.01 event tad 2000 50 1800 2300 0.01 0.01 event & @@ -103,7 +99,6 @@ page for further discussion of multi-replica simulations. A TAD run has several stages, which are repeated each time an event is performed. The logic for a TAD run is as follows: - .. parsed-literal:: while (time remains): @@ -124,12 +119,12 @@ initial state and storing the resulting coordinates for reference. Inside the inner loop, dynamics is run continuously according to whatever integrator has been specified by the user, stopping every -*t\_event* steps to check if a transition event has occurred. This +*t_event* steps to check if a transition event has occurred. This check is performed by quenching the system and comparing the resulting atom coordinates to the coordinates from the previous basin. A quench is an energy minimization and is performed by whichever -algorithm has been defined by the :doc:`min\_style ` command; +algorithm has been defined by the :doc:`min_style ` command; its default is the CG minimizer. The tolerances and limits for each quench can be set by the *min* keyword. Note that typically, you do not need to perform a highly-converged minimization to detect a @@ -145,19 +140,17 @@ distance. If so, an "event" has occurred. The NEB calculation is similar to that invoked by the :doc:`neb ` command, except that the final state is generated internally, instead of being read in from a file. The style of minimization performed by -NEB is determined by the *neb\_style* keyword and must be a damped +NEB is determined by the *neb_style* keyword and must be a damped dynamics minimizer. The tolerances and limits for each NEB calculation can be set by the *neb* keyword. As discussed on the :doc:`neb `, it is often advantageous to use a larger timestep for NEB than for normal dynamics. Since the size of the timestep set by the :doc:`timestep ` command is used by TAD for performing -dynamics, there is a *neb\_step* keyword which can be used to set a +dynamics, there is a *neb_step* keyword which can be used to set a larger timestep for each NEB calculation if desired. - ---------- - A key aspect of the TAD method is setting the stopping criterion appropriately. If this criterion is too conservative, then many events must be generated before one is finally executed. Conversely, @@ -171,16 +164,14 @@ are not well characterized (the most common case), it will be necessary to experiment with the values of *delta* and *tmax* to get a good trade-off between accuracy and performance. -A second key aspect is the choice of *t\_hi*. A larger value greatly +A second key aspect is the choice of *t_hi*. A larger value greatly increases the rate at which new events are generated. However, too large a value introduces errors due to anharmonicity (not accounted for within hTST). Once again, for any given system, experimentation is -necessary to determine the best value of *t\_hi*. - +necessary to determine the best value of *t_hi*. ---------- - Five kinds of output can be generated during a TAD run: event statistics, NEB statistics, thermodynamic output by each replica, dump files, and restart files. @@ -188,7 +179,7 @@ files, and restart files. Event statistics are printed to the screen and master log.lammps file each time an event is executed. The quantities are the timestep, CPU time, global event number *N*\ , local event number *M*\ , event status, -energy barrier, time margin, *t\_lo* and *delt\_lo*. The timestep is +energy barrier, time margin, *t_lo* and *delt_lo*. The timestep is the usual LAMMPS timestep, which corresponds to the high-temperature time at which the event was detected, in units of timestep. The CPU time is the total processor time since the start of the TAD run. The @@ -203,9 +194,9 @@ The time margin is the ratio of the high temperature time in the current basin to the stopping time. This last number can be used to judge whether the stopping time is too short or too long (see above). -*t\_lo* is the low-temperature event time when the current basin was -entered, in units of timestep. del*t\_lo* is the time of each detected -event, measured relative to *t\_lo*. *delt\_lo* is equal to the +*t_lo* is the low-temperature event time when the current basin was +entered, in units of timestep. del*t_lo* is the time of each detected +event, measured relative to *t_lo*. *delt_lo* is equal to the high-temperature time since entering the current basin, scaled by an exponential factor that depends on the hi/lo temperature ratio and the energy barrier for that event. @@ -214,11 +205,11 @@ On lines for executed events, with status *E*\ , the global event number is incremented by one, the local event number and time margin are reset to zero, while the global event number, energy barrier, and -*delt\_lo* match the last event with status *DF* +*delt_lo* match the last event with status *DF* in the immediately preceding block of detected events. -The low-temperature event time *t\_lo* is incremented by *delt\_lo*. +The low-temperature event time *t_lo* is incremented by *delt_lo*. -NEB statistics are written to the file specified by the *neb\_log* +NEB statistics are written to the file specified by the *neb_log* keyword. If the keyword value is "none", then no NEB statistics are printed out. The statistics are written every *Nevery* timesteps. See the :doc:`neb ` command for a full description of the NEB @@ -276,19 +267,16 @@ files do not always increase monotonically. However, the timestep values printed to the master log file, dump files, and restart files are always monotonically increasing. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. -*N* setting must be integer multiple of *t\_event*. +*N* setting must be integer multiple of *t_event*. Runs restarted from restart files written during a TAD run will only produce identical results if the user-specified integrator supports @@ -304,8 +292,8 @@ Related commands """""""""""""""" :doc:`compute event/displace `, -:doc:`min\_modify `, :doc:`min\_style `, -:doc:`run\_style `, :doc:`minimize `, +:doc:`min_modify `, :doc:`min_style `, +:doc:`run_style `, :doc:`minimize `, :doc:`temper `, :doc:`neb `, :doc:`prd ` @@ -313,27 +301,16 @@ Default """"""" The option defaults are *min* = 0.1 0.1 40 50, *neb* = 0.01 100 100 -10, *neb\_style* = *quickmin*\ , *neb\_step* = the same timestep set by -the :doc:`timestep ` command, and *neb\_log* = "none". - +10, *neb_style* = *quickmin*\ , *neb_step* = the same timestep set by +the :doc:`timestep ` command, and *neb_log* = "none". ---------- - .. _Voter2000: - - **(Voter2000)** Sorensen and Voter, J Chem Phys, 112, 9599 (2000) .. _Voter2002: - - **(Voter2002)** Voter, Montalenti, Germann, Annual Review of Materials Research 32, 321 (2002). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/temper.rst b/doc/src/temper.rst index ef73ef4094a09fba0c8e0bf19fd1d6e704954a95..bb470f0cc00a80f4b326688cb2b83d9ead8568bb 100644 --- a/doc/src/temper.rst +++ b/doc/src/temper.rst @@ -6,7 +6,6 @@ temper command Syntax """""" - .. parsed-literal:: temper N M temp fix-ID seed1 seed2 index @@ -22,8 +21,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS temper 100000 100 $t tempfix 0 58728 temper 40000 100 $t tempfix 0 32285 $w @@ -52,8 +50,7 @@ variable previously set in the input script, so that each partition is assigned a different temperature. See the :doc:`variable ` command for more details. For example: - -.. parsed-literal:: +.. code-block:: LAMMPS variable t world 300.0 310.0 320.0 330.0 fix myfix all nvt temp $t $t 100.0 @@ -80,7 +77,6 @@ The main screen and log file (log.lammps) will list information about which temperature is assigned to each replica at each thermodynamic output timestep. E.g. for a simulation with 16 replicas: - .. parsed-literal:: Running on 16 partitions of processors @@ -106,11 +102,10 @@ screen.N files as time proceeds. You can have each replica create its own dump file in the following manner: - -.. parsed-literal:: +.. code-block:: LAMMPS variable rep world 0 1 2 3 4 5 6 7 - dump 1 all atom 1000 dump.temper.$\ *rep* + dump 1 all atom 1000 dump.temper.${rep} .. note:: @@ -123,9 +118,9 @@ manner: dump file with snapshots at 300K (from all replicas), another with snapshots at 310K, etc. Note that these new dump files will not contain "continuous trajectories" for individual atoms, because two - successive snapshots (in time) may be from different replicas. The - reorder\_remd\_traj python script can do the reordering for you - (and additionally also calculated configurational log-weights of + successive snapshots (in time) may be from different replicas. The + reorder_remd_traj python script can do the reordering for you + (and additionally also calculated configurational log-weights of trajectory snapshots in the canonical ensemble). The script can be found in the tools/replica directory while instructions on how to use it is available in doc/Tools (in brief) and as a README file in tools/replica @@ -142,29 +137,24 @@ the variable to the *N* values listed in the log file for the previous run for the replica temperatures at that timestep. For example if the log file listed the following for a simulation with 5 replicas: - .. parsed-literal:: 500000 2 4 0 1 3 then a setting of - -.. parsed-literal:: +.. code-block:: LAMMPS variable w world 2 4 0 1 3 would be used to restart the run with a tempering command like the example above with $w as the last argument. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package ` doc page for more info. @@ -175,8 +165,3 @@ Related commands :doc:`variable `, :doc:`prd `, :doc:`neb ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/temper_grem.rst b/doc/src/temper_grem.rst index e686ef23a45e387a50e79fcc73f811f3fd7c1bd8..c492adfa69cac2383c2e023cd6494c4d765bd6e7 100644 --- a/doc/src/temper_grem.rst +++ b/doc/src/temper_grem.rst @@ -6,7 +6,6 @@ temper/grem command Syntax """""" - .. parsed-literal:: temper/grem N M lambda fix-ID thermostat-ID seed1 seed2 index @@ -14,7 +13,7 @@ Syntax * N = total # of timesteps to run * M = attempt a tempering swap every this many steps * lambda = initial lambda for this ensemble -* fix-ID = ID of fix\_grem +* fix-ID = ID of *fix grem* * thermostat-ID = ID of the thermostat that controls kinetic temperature * seed1 = random # seed used to decide on adjacent temperature to partner with * seed2 = random # seed for Boltzmann factor in Metropolis swap @@ -23,11 +22,10 @@ Syntax Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - temper/grem 100000 1000 $\ *lambda* fxgREM fxnvt 0 58728 - temper/grem 40000 100 $\ *lambda* fxgREM fxnpt 0 32285 $\ *walkers* + temper/grem 100000 1000 ${lambda} fxgREM fxnvt 0 58728 + temper/grem 40000 100 ${lambda} fxgREM fxnpt 0 32285 ${walkers} Description """"""""""" @@ -49,18 +47,18 @@ has the same dependencies, restraints, and input variables which are discussed there in greater detail. Instead of temperature, this command performs replica exchanges in -lambda as per the generalized ensemble enforced by :doc:`fix grem `. The desired lambda is specified by *lambda*\ , -which is typically a variable previously set in the input script, so -that each partition is assigned a different temperature. See the -:doc:`variable ` command for more details. For example: - +lambda as per the generalized ensemble enforced by :doc:`fix grem +`. The desired lambda is specified by *lambda*\ , which is +typically a variable previously set in the input script, so that each +partition is assigned a different temperature. See the :doc:`variable +` command for more details. For example: -.. parsed-literal:: +.. code-block:: LAMMPS variable lambda world 400 420 440 460 fix fxnvt all nvt temp 300.0 300.0 100.0 - fix fxgREM all grem $\ *lambda* -0.05 -50000 fxnvt - temper 100000 100 $\ *lambda* fxgREM fxnvt 3847 58382 + fix fxgREM all grem ${lambda} -0.05 -50000 fxnvt + temper/grem 100000 100 ${lambda} fxgREM fxnvt 3847 58382 would define 4 lambdas with constant kinetic temperature but unique generalized temperature, and assign one of them to :doc:`fix grem ` used by each replica, and to the grem command. @@ -84,30 +82,25 @@ replica) which had previously swapped to new lambda. This is done using a variable. For example if the log file listed the following for a simulation with 5 replicas: - .. parsed-literal:: 500000 2 4 0 1 3 then a setting of - -.. parsed-literal:: +.. code-block:: LAMMPS variable walkers world 2 4 0 1 3 would be used to restart the run with a grem command like the example -above with $\ *walkers* as the last argument. This functionality is +above with ${walkers} as the last argument. This functionality is identical to :doc:`temper `. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -123,11 +116,4 @@ Related commands .. _KimStraub: - - **(Kim)** Kim, Keyes, Straub, J Chem Phys, 132, 224107 (2010). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/temper_npt.rst b/doc/src/temper_npt.rst index 81409891895a7862946b1e13f73a5cdf7df1d179..e0897886f40d9e7577e7ba9390057b5872d97948 100644 --- a/doc/src/temper_npt.rst +++ b/doc/src/temper_npt.rst @@ -6,7 +6,6 @@ temper/npt command Syntax """""" - .. parsed-literal:: temper/npt N M temp fix-ID seed1 seed2 pressure index @@ -23,8 +22,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS temper/npt 100000 100 $t nptfix 0 58728 1 temper/npt 2500000 1000 300 nptfix 0 32285 $p @@ -48,14 +46,11 @@ of pressure, this command works much like the :doc:`temper ` command. See the documentation on :doc:`temper ` for information on how the parallel tempering is handled in general. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package ` doc page for more info. @@ -66,23 +61,14 @@ isothermal-isobaric (NPT) ensemble. Related commands """""""""""""""" -:doc:`temper `, :doc:`variable `, :doc:`fix\_npt ` +:doc:`temper `, :doc:`variable `, :doc:`fix_npt ` **Default:** none .. _Okabe2: - - **(Okabe)** T. Okabe, M. Kawata, Y. Okamoto, M. Masuhiro, Chem. Phys. Lett., 335, 435-439 (2001). .. _Mori2: - - **(Mori)** Y. Mori, Y. Okamoto, J. Phys. Soc. Jpn., 7, 074003 (2010). - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/thermo.rst b/doc/src/thermo.rst index 8b11ff90786eb1e67bfa6ebb2682a5102c555453..154fd5943133bfcac9d2ab356bf284074084e95a 100644 --- a/doc/src/thermo.rst +++ b/doc/src/thermo.rst @@ -6,7 +6,6 @@ thermo command Syntax """""" - .. parsed-literal:: thermo N @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS thermo 100 @@ -31,10 +29,10 @@ and end of a simulation. A value of 0 will only print thermodynamics at the beginning and end. The content and format of what is printed is controlled by the -:doc:`thermo\_style ` and -:doc:`thermo\_modify ` commands. +:doc:`thermo_style ` and +:doc:`thermo_modify ` commands. -Instead of a numeric value, N can be specified as an :doc:`equal-style variable `, which should be specified as v\_name, where +Instead of a numeric value, N can be specified as an :doc:`equal-style variable `, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which thermodynamic info will be written out. On that timestep, the @@ -47,8 +45,7 @@ options for :doc:`equal-style variables `. For example, the following commands will output thermodynamic info at timesteps 0,10,20,30,100,200,300,1000,2000,etc: - -.. parsed-literal:: +.. code-block:: LAMMPS variable s equal logfreq(10,3,10) thermo v_s @@ -60,17 +57,11 @@ Restrictions Related commands """""""""""""""" -:doc:`thermo\_style `, :doc:`thermo\_modify ` +:doc:`thermo_style `, :doc:`thermo_modify ` Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS thermo 0 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/thermo_modify.rst b/doc/src/thermo_modify.rst index f0b27d2bc69adf1829f49a893231550ac28efb9c..3cec2301894b1f5aaf7bf6c0ad44972c6385fc66 100644 --- a/doc/src/thermo_modify.rst +++ b/doc/src/thermo_modify.rst @@ -1,20 +1,19 @@ -.. index:: thermo\_modify +.. index:: thermo_modify -thermo\_modify command -====================== +thermo_modify command +===================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS thermo_modify keyword value ... * one or more keyword/value pairs may be listed - + .. parsed-literal:: - + keyword = *lost* or *lost/bond* or *norm* or *flush* or *line* or *format* or *temp* or *press*\ :l *lost* value = *error* or *warn* or *ignore* *lost/bond* value = *error* or *warn* or *ignore* @@ -27,13 +26,10 @@ Syntax *temp* value = compute ID that calculates a temperature *press* value = compute ID that calculates a pressure - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS thermo_modify lost ignore flush yes thermo_modify temp myTemp format 3 %15.8g @@ -49,11 +45,11 @@ by LAMMPS. .. note:: These options apply to the currently defined thermo style. When - you specify a :doc:`thermo\_style ` command, all + you specify a :doc:`thermo_style ` command, all thermodynamic settings are restored to their default values, including - those previously reset by a thermo\_modify command. Thus if your input - script specifies a thermo\_style command, you should use the - thermo\_modify command after it. + those previously reset by a thermo_modify command. Thus if your input + script specifies a thermo_style command, you should use the + thermo_modify command after it. The *lost* keyword determines whether LAMMPS checks for lost atoms each time it computes thermodynamics and what it does if atoms are @@ -86,12 +82,12 @@ different defaults for this setting (see below). Even if *norm* is set to *yes*\ , a value is only normalized if it is an "extensive" quantity, meaning that it scales with the number of atoms in the system. For the thermo keywords described by the doc page for the -:doc:`thermo\_style ` command, all energy-related keywords +:doc:`thermo_style ` command, all energy-related keywords are extensive, such as *pe* or *ebond* or *enthalpy*\ . Other keywords such as *temp* or *press* are "intensive" meaning their value is independent (in a statistical sense) of the number of atoms in the system and thus are never normalized. For thermodynamic output values -extracted from fixes and computes in a :doc:`thermo\_style custom ` command, the doc page for the individual +extracted from fixes and computes in a :doc:`thermo_style custom ` command, the doc page for the individual :doc:`fix ` or :doc:`compute ` lists whether the value is "extensive" or "intensive" and thus whether it is normalized. Thermodynamic output values calculated by a variable formula are @@ -108,10 +104,10 @@ The *line* keyword determines whether thermodynamics will be output as a series of numeric values on one line or in a multi-line format with 3 quantities with text strings per line and a dashed-line header containing the timestep and CPU time. This modify option overrides -the *one* and *multi* thermo\_style settings. +the *one* and *multi* thermo_style settings. The *format* keyword can be used to change the default numeric format -of any of quantities the :doc:`thermo\_style ` command +of any of quantities the :doc:`thermo_style ` command outputs. All the specified format strings are C-style formats, e.g. as used by the C/C++ printf() command. The *line* keyword takes a single argument which is the format string for the entire line of @@ -147,8 +143,8 @@ temperature ("temp", "press", "ke", "etotal", "enthalpy", "pxx", etc). The specified compute ID must have been previously defined by the user via the :doc:`compute ` command and it must be a style of compute that calculates a temperature. As described in the -:doc:`thermo\_style ` command, thermo output uses a default -compute for temperature with ID = *thermo\_temp*. This option allows +:doc:`thermo_style ` command, thermo output uses a default +compute for temperature with ID = *thermo_temp*. This option allows the user to override the default. The *press* keyword is used to determine how thermodynamic pressure is @@ -157,14 +153,14 @@ pressure ("press", "enthalpy", "pxx", etc). The specified compute ID must have been previously defined by the user via the :doc:`compute ` command and it must be a style of compute that calculates a pressure. As described in the -:doc:`thermo\_style ` command, thermo output uses a default -compute for pressure with ID = *thermo\_press*. This option allows the +:doc:`thermo_style ` command, thermo output uses a default +compute for pressure with ID = *thermo_press*. This option allows the user to override the default. .. note:: If both the *temp* and *press* keywords are used in a single - thermo\_modify command (or in two separate commands), then the order in + thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a :doc:`pressure compute ` defines its own temperature compute as an argument when it is specified. The *temp* keyword will override this (for the pressure compute being used by thermodynamics), but only @@ -175,26 +171,21 @@ user to override the default. Restrictions """""""""""" - none +none Related commands """""""""""""""" -:doc:`thermo `, :doc:`thermo\_style ` +:doc:`thermo `, :doc:`thermo_style ` Default """"""" The option defaults are lost = error, norm = yes for unit style of *lj*\ , norm = no for unit style of *real* and *metal*\ , flush = no, -and temp/press = compute IDs defined by thermo\_style. +and temp/press = compute IDs defined by thermo_style. The defaults for the line and format options depend on the thermo style. For styles "one" and "custom", the line and format defaults are "one", "%8d", and "%12.8g". For style "multi", the line and format defaults are "multi", "%8d", and "%14.4f". - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index 480b14ae63d3668de794bfbd3f89dd8ed2d05f37..dbb634a2b0639b6a5b63403890104fffdf3adae0 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -1,21 +1,20 @@ -.. index:: thermo\_style +.. index:: thermo_style -thermo\_style command -===================== +thermo_style command +==================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS thermo_style style args * style = *one* or *multi* or *custom* * args = list of arguments for a particular style - + .. parsed-literal:: - + *one* args = none *multi* args = none *custom* args = list of keywords @@ -51,7 +50,7 @@ Syntax ke = kinetic energy etotal = total energy (pe + ke) enthalpy = enthalpy (etotal + press\*vol) - evdwl = VanderWaal pairwise energy (includes etail) + evdwl = van der Waals pairwise energy (includes etail) ecoul = Coulombic pairwise energy epair = pairwise energy (evdwl + ecoul + elong) ebond = bond energy @@ -60,7 +59,7 @@ Syntax eimp = improper energy emol = molecular energy (ebond + eangle + edihed + eimp) elong = long-range kspace energy - etail = VanderWaal energy long-range tail correction + etail = van der Waals energy long-range tail correction vol = volume density = mass density of system lx,ly,lz = box lengths in x,y,z @@ -84,18 +83,15 @@ Syntax v_name = value calculated by an equal-style variable with name v_name[I] = value calculated by a vector-style variable with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS thermo_style multi thermo_style custom step temp pe etotal press vol thermo_style custom step temp etotal c_myTemp v_abc - thermo_style custom step temp etotal c_myTemp[\*] v_abc + thermo_style custom step temp etotal c_myTemp[*] v_abc Description """"""""""" @@ -104,17 +100,17 @@ Set the style and content for printing thermodynamic data to the screen and log file. Style *one* prints a one-line summary of thermodynamic info that is -the equivalent of "thermo\_style custom step temp epair emol etotal +the equivalent of "thermo_style custom step temp epair emol etotal press". The line contains only numeric values. Style *multi* prints a multiple-line listing of thermodynamic info -that is the equivalent of "thermo\_style custom etotal ke temp pe ebond +that is the equivalent of "thermo_style custom etotal ke temp pe ebond eangle edihed eimp evdwl ecoul elong press". The listing contains numeric values and a string ID for each quantity. Style *custom* is the most general setting and allows you to specify which of the keywords listed above you want printed on each -thermodynamic timestep. Note that the keywords c\_ID, f\_ID, v\_name are +thermodynamic timestep. Note that the keywords c_ID, f_ID, v_name are references to :doc:`computes `, :doc:`fixes `, and equal-style :doc:`variables ` that have been defined elsewhere in the input script or can even be new styles which users have added @@ -128,10 +124,10 @@ outputs if the simulation box volume changes during the simulation. The values printed by the various keywords are instantaneous values, calculated on the current timestep. Time-averaged quantities, which include values from previous timesteps, can be output by using the -f\_ID keyword and accessing a fix that does time-averaging such as the +f_ID keyword and accessing a fix that does time-averaging such as the :doc:`fix ave/time ` command. -Options invoked by the :doc:`thermo\_modify ` command can +Options invoked by the :doc:`thermo_modify ` command can be used to set the one- or multi-line format of the print-out, the normalization of thermodynamic output (total values versus per-atom values for extensive quantities (ones which scale with the number of @@ -139,98 +135,89 @@ atoms in the system), and the numeric precision of each printed value. .. note:: - When you use a "thermo\_style" command, all thermodynamic + When you use a "thermo_style" command, all thermodynamic settings are restored to their default values, including those - previously set by a :doc:`thermo\_modify ` command. Thus - if your input script specifies a thermo\_style command, you should use - the thermo\_modify command after it. - + previously set by a :doc:`thermo_modify ` command. Thus + if your input script specifies a thermo_style command, you should use + the thermo_modify command after it. ---------- - Several of the thermodynamic quantities require a temperature to be computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx", etc. By default this is done by using a *temperature* compute which is created when LAMMPS starts up, as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute thermo_temp all temp See the :doc:`compute temp ` command for details. Note -that the ID of this compute is *thermo\_temp* and the group is *all*\ . +that the ID of this compute is *thermo_temp* and the group is *all*\ . You can change the attributes of this temperature (e.g. its -degrees-of-freedom) via the :doc:`compute\_modify ` +degrees-of-freedom) via the :doc:`compute_modify ` command. Alternatively, you can directly assign a new compute (that calculates temperature) which you have defined, to be used for calculating any thermodynamic quantity that requires a temperature. -This is done via the :doc:`thermo\_modify ` command. +This is done via the :doc:`thermo_modify ` command. Several of the thermodynamic quantities require a pressure to be computed: "press", "enthalpy", "pxx", etc. By default this is done by using a *pressure* compute which is created when LAMMPS starts up, as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute thermo_press all pressure thermo_temp See the :doc:`compute pressure ` command for details. -Note that the ID of this compute is *thermo\_press* and the group is +Note that the ID of this compute is *thermo_press* and the group is *all*\ . You can change the attributes of this pressure via the -:doc:`compute\_modify ` command. Alternatively, you can +:doc:`compute_modify ` command. Alternatively, you can directly assign a new compute (that calculates pressure) which you have defined, to be used for calculating any thermodynamic quantity that requires a pressure. This is done via the -:doc:`thermo\_modify ` command. +:doc:`thermo_modify ` command. Several of the thermodynamic quantities require a potential energy to be computed: "pe", "etotal", "ebond", etc. This is done by using a *pe* compute which is created when LAMMPS starts up, as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute thermo_pe all pe See the :doc:`compute pe ` command for details. Note that -the ID of this compute is *thermo\_pe* and the group is *all*\ . You can +the ID of this compute is *thermo_pe* and the group is *all*\ . You can change the attributes of this potential energy via the -:doc:`compute\_modify ` command. - +:doc:`compute_modify ` command. ---------- - The kinetic energy of the system *ke* is inferred from the temperature -of the system with 1/2 Kb T of energy for each degree of freedom. -Thus, using different :doc:`compute commands ` for calculating -temperature, via the :doc:`thermo\_modify temp ` command, -may yield different kinetic energies, since different computes that -calculate temperature can subtract out different non-thermal -components of velocity and/or include different degrees of freedom -(translational, rotational, etc). +of the system with :math:`\frac{1}{2} k_B T` of energy for each degree +of freedom. Thus, using different :doc:`compute commands ` for +calculating temperature, via the :doc:`thermo_modify temp +` command, may yield different kinetic energies, since +different computes that calculate temperature can subtract out different +non-thermal components of velocity and/or include different degrees of +freedom (translational, rotational, etc). The potential energy of the system *pe* will include contributions -from fixes if the :doc:`fix\_modify thermo ` option is set +from fixes if the :doc:`fix_modify thermo ` option is set for a fix that calculates such a contribution. For example, the :doc:`fix wall/lj93 ` fix calculates the energy of atoms interacting with the wall. See the doc pages for "individual fixes" to see which ones contribute. -A long-range tail correction *etail* for the VanderWaal pairwise -energy will be non-zero only if the :doc:`pair\_modify tail ` option is turned on. The *etail* contribution +A long-range tail correction *etail* for the van der Waals pairwise +energy will be non-zero only if the :doc:`pair_modify tail ` option is turned on. The *etail* contribution is included in *evdwl*\ , *epair*\ , *pe*\ , and *etotal*\ , and the corresponding tail correction to the pressure is included in *press* and *pxx*\ , *pyy*\ , etc. - ---------- - The *step*\ , *elapsed*\ , and *elaplong* keywords refer to timestep count. *Step* is the current timestep, or iteration count when a :doc:`minimization ` is being performed. *Elapsed* is the @@ -246,7 +233,7 @@ The *dt* keyword is the current timestep size in time simulation time, also in time :doc:`units `, which is simply (step\*dt) if the timestep size has not changed and the timestep has not been reset. If the timestep has changed (e.g. via :doc:`fix dt/reset `) or the timestep has been reset (e.g. via -the "reset\_timestep" command), then the simulation time is effectively +the "reset_timestep" command), then the simulation time is effectively a cumulative value up to the current point. The *cpu* keyword is elapsed CPU seconds since the beginning of this @@ -285,8 +272,7 @@ If the timeout timer is inactive, the value of this keyword is 0.0 and if the timer is expired, it is negative. This allows for example to exit loops cleanly, if the timeout is expired with: - -.. parsed-literal:: +.. code-block:: LAMMPS if "$(timeremain) < 0.0" then "quit 0" @@ -302,7 +288,7 @@ printed with the end-of-run statistics. The *nbuild* keyword is the number of re-builds during the current run. The *ndanger* keyword is the number of re-builds that LAMMPS considered potentially "dangerous". If atom movement triggered neighbor list rebuilding (see -the :doc:`neigh\_modify ` command), then dangerous +the :doc:`neigh_modify ` command), then dangerous reneighborings are those that were triggered on the first timestep atom movement was checked for. If this count is non-zero you may wish to reduce the delay factor to insure no force interactions are missed @@ -316,12 +302,10 @@ of triclinic periodic cells, including a precise definition of these quantities in terms of the internal LAMMPS cell dimensions *lx*\ , *ly*\ , *lz*\ , *yz*\ , *xz*\ , *xy*\ . - ---------- - For output values from a compute or fix, the bracketed index I used to -index a vector, as in *c\_ID[I]* or *f\_ID[I]*, can be specified +index a vector, as in *c_ID[I]* or *f_ID[I]*, can be specified using a wildcard asterisk with the index to effectively specify multiple values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". If N = the size of the vector (for *mode* = scalar) or the number of @@ -332,31 +316,28 @@ all indices from n to N (inclusive). A middle asterisk means all indices from m to n (inclusive). Using a wildcard is the same as if the individual elements of the -vector had been listed one by one. E.g. these 2 thermo\_style commands +vector had been listed one by one. E.g. these 2 thermo_style commands are equivalent, since the :doc:`compute temp ` command creates a global vector with 6 values. - -.. parsed-literal:: +.. code-block:: LAMMPS compute myTemp all temp - thermo_style custom step temp etotal c_myTemp[\*] + thermo_style custom step temp etotal c_myTemp[*] thermo_style custom step temp etotal & c_myTemp[1] c_myTemp[2] c_myTemp[3] & c_myTemp[4] c_myTemp[5] c_myTemp[6] - ---------- - -The *c\_ID* and *c\_ID[I]* and *c\_ID[I][J]* keywords allow global +The *c_ID* and *c_ID[I]* and *c_ID[I][J]* keywords allow global values calculated by a compute to be output. As discussed on the :doc:`compute ` doc page, computes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom compute values for an individual atom can be referenced in a :doc:`variable ` and the variable -referenced by thermo\_style custom, as discussed below. See the -discussion above for how the I in *c\_ID[I]* can be specified with a +referenced by thermo_style custom, as discussed below. See the +discussion above for how the I in *c_ID[I]* can be specified with a wildcard asterisk to effectively specify multiple values from a global compute vector. @@ -370,18 +351,18 @@ Note that some computes calculate "intensive" global quantities like temperature; others calculate "extensive" global quantities like kinetic energy that are summed over all atoms in the compute group. Intensive quantities are printed directly without normalization by -thermo\_style custom. Extensive quantities may be normalized by the +thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in -the compute group) when output, depending on the :doc:`thermo\_modify norm ` option being used. +the compute group) when output, depending on the :doc:`thermo_modify norm ` option being used. -The *f\_ID* and *f\_ID[I]* and *f\_ID[I][J]* keywords allow global +The *f_ID* and *f_ID[I]* and *f_ID[I][J]* keywords allow global values calculated by a fix to be output. As discussed on the :doc:`fix ` doc page, fixes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom fix values can be referenced for an individual atom in a :doc:`variable ` and the variable referenced by -thermo\_style custom, as discussed below. See the discussion above for -how the I in *f\_ID[I]* can be specified with a wildcard asterisk to +thermo_style custom, as discussed below. See the discussion above for +how the I in *f_ID[I]* can be specified with a wildcard asterisk to effectively specify multiple values from a global fix vector. The ID in the keyword should be replaced by the actual ID of a fix @@ -393,13 +374,13 @@ brackets will reference a scalar value from the fix. Note that some fixes calculate "intensive" global quantities like timestep size; others calculate "extensive" global quantities like energy that are summed over all atoms in the fix group. Intensive -quantities are printed directly without normalization by thermo\_style +quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in the fix group) -when output, depending on the :doc:`thermo\_modify norm ` +when output, depending on the :doc:`thermo_modify norm ` option being used. -The *v\_name* keyword allow the current value of a variable to be +The *v_name* keyword allow the current value of a variable to be output. The name in the keyword should be replaced by the variable name that has been defined elsewhere in the input script. Only equal-style and vector-style variables can be referenced; the latter @@ -415,37 +396,28 @@ output. Note that equal-style and vector-style variables are assumed to produce "intensive" global quantities, which are thus printed as-is, -without normalization by thermo\_style custom. You can include a +without normalization by thermo_style custom. You can include a division by "natoms" in the variable formula if this is not the case. - ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a -:doc:`read\_data `, :doc:`read\_restart `, or -:doc:`create\_box ` command. +:doc:`read_data `, :doc:`read_restart `, or +:doc:`create_box ` command. Related commands """""""""""""""" -:doc:`thermo `, :doc:`thermo\_modify `, -:doc:`fix\_modify `, :doc:`compute temp `, +:doc:`thermo `, :doc:`thermo_modify `, +:doc:`fix_modify `, :doc:`compute temp `, :doc:`compute pressure ` Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS thermo_style one - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/third_order.rst b/doc/src/third_order.rst index 13a230d51103a9b43f7e6435ea14725e3f620824..2a6de933e0b05de6e8ec0de0df95eab6fdd760f1 100644 --- a/doc/src/third_order.rst +++ b/doc/src/third_order.rst @@ -1,13 +1,12 @@ -.. index:: third\_order +.. index:: third_order -third\_order command -==================== +third_order command +=================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS third_order group-ID style delta args keyword value ... @@ -15,20 +14,17 @@ Syntax * style = *regular* or *eskm* * delta = finite different displacement length (distance units) * one or more keyword/arg pairs may be appended - + .. parsed-literal:: - + keyword = *file* or *binary* *file* name = name of output file for the third order tensor *binary* arg = *yes* or *no* or *gzip* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS third_order 1 regular 0.000001 third_order 1 eskm 0.000001 @@ -50,13 +46,12 @@ three elements correspond to the three gamma elements for a specific i/alpha/j/b The initial five numbers are i, alpha, j, beta, and k respectively. If the style eskm is selected, the tensor will be using energy units of 10 J/mol. -These units conform to eskm style from the dynamical\_matrix command, which +These units conform to eskm style from the dynamical_matrix command, which will simplify operations using dynamical matrices with third order tensors. Restrictions """""""""""" - The command collects a 9 times the number of atoms in the group on every single MPI rank, so the memory requirements can be very significant for large systems. @@ -66,14 +61,9 @@ LAMMPS was built with that package. See the :doc:`Build package Related commands """""""""""""""" -:doc:`fix phonon ` :doc:`dynamical\_matrix ` +:doc:`fix phonon ` :doc:`dynamical_matrix ` Default """"""" -The default settings are file = "third\_order.dat", binary = no - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +The default settings are file = "third_order.dat", binary = no diff --git a/doc/src/timer.rst b/doc/src/timer.rst index c36b436b06df1b4432efa7d44cf24e6d5b18aa08..eac86656afa7535e855c461b1eb4d68840a9dbce 100644 --- a/doc/src/timer.rst +++ b/doc/src/timer.rst @@ -6,7 +6,6 @@ timer command Syntax """""" - .. parsed-literal:: timer args @@ -27,8 +26,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS timer full sync timer timeout 2:00:00 every 100 @@ -122,19 +120,13 @@ Restrictions Related commands """""""""""""""" -:doc:`run post no `, :doc:`kspace\_modify fftbench ` +:doc:`run post no `, :doc:`kspace_modify fftbench ` Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS timer normal nosync timer timeout off timer every 10 - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/timestep.rst b/doc/src/timestep.rst index da1a132a32e5ab4618b85bc6b4cb529f961ad759..7ee090740abf5648b8edc0ed69021b96138eb5e1 100644 --- a/doc/src/timestep.rst +++ b/doc/src/timestep.rst @@ -6,7 +6,6 @@ timestep command Syntax """""" - .. parsed-literal:: timestep dt @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS timestep 2.0 timestep 0.003 @@ -43,7 +41,7 @@ Related commands """""""""""""""" :doc:`fix dt/reset `, :doc:`run `, -:doc:`run\_style ` respa, :doc:`units ` +:doc:`run_style ` respa, :doc:`units ` Default """"""" @@ -67,8 +65,3 @@ Default +--------------------------------+------------+-----------------------+ | nano | nsec | 0.00045 nsec | +--------------------------------+------------+-----------------------+ - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/uncompute.rst b/doc/src/uncompute.rst index e27a5fcc3429ac59127a5db79497af86840597fc..16efdb86bf15c4c55e5f7b869f037d1c99c74910 100644 --- a/doc/src/uncompute.rst +++ b/doc/src/uncompute.rst @@ -6,7 +6,6 @@ uncompute command Syntax """""" - .. parsed-literal:: uncompute compute-ID @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS uncompute 2 uncompute lower-boundary @@ -27,7 +25,7 @@ Description Delete a compute that was previously defined with a :doc:`compute ` command. This also wipes out any additional changes made to the compute -via the :doc:`compute\_modify ` command. +via the :doc:`compute_modify ` command. Restrictions """""""""""" @@ -39,8 +37,3 @@ Related commands :doc:`compute ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/undump.rst b/doc/src/undump.rst index e79269e8ddd48c27e85890ce07ce71413bcdfbf1..b45e10082b1b91cdd0823a00454a72f1e29a7e20 100644 --- a/doc/src/undump.rst +++ b/doc/src/undump.rst @@ -6,7 +6,6 @@ undump command Syntax """""" - .. parsed-literal:: undump dump-ID @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS undump mine undump 2 @@ -38,8 +36,3 @@ Related commands :doc:`dump ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/unfix.rst b/doc/src/unfix.rst index dcd4e58c3d3110ae41368687aa0f8bf0fc20bc27..e5696a1d7ddfb512033520dc3b4f3fa23006ca3e 100644 --- a/doc/src/unfix.rst +++ b/doc/src/unfix.rst @@ -6,7 +6,6 @@ unfix command Syntax """""" - .. parsed-literal:: unfix fix-ID @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS unfix 2 unfix lower-boundary @@ -27,7 +25,7 @@ Description Delete a fix that was previously defined with a :doc:`fix ` command. This also wipes out any additional changes made to the fix -via the :doc:`fix\_modify ` command. +via the :doc:`fix_modify ` command. Restrictions """""""""""" @@ -39,8 +37,3 @@ Related commands :doc:`fix ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/units.rst b/doc/src/units.rst index 6c0815f302fc6ab55618b9adf76227b8c1665a56..95792f7edff0ddc7288b759998c01591c52ce462 100644 --- a/doc/src/units.rst +++ b/doc/src/units.rst @@ -6,7 +6,6 @@ units command Syntax """""" - .. parsed-literal:: units style @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS units metal units lj @@ -51,41 +49,40 @@ new units. And you must correctly convert all output from the new units to the old units when comparing to the original results. That is often not simple to do. - ---------- - For style *lj*\ , all quantities are unitless. Without loss of -generality, LAMMPS sets the fundamental quantities mass, sigma, -epsilon, and the Boltzmann constant = 1. The masses, distances, -energies you specify are multiples of these fundamental values. The -formulas relating the reduced or unitless quantity (with an asterisk) -to the same quantity with units is also given. Thus you can use the -mass & sigma & epsilon values for a specific material and convert the -results from a unitless LJ simulation into physical quantities. - -* mass = mass or m -* distance = sigma, where x\* = x / sigma -* time = tau, where t\* = t (epsilon / m / sigma\^2)\^1/2 -* energy = epsilon, where E\* = E / epsilon -* velocity = sigma/tau, where v\* = v tau / sigma -* force = epsilon/sigma, where f\* = f sigma / epsilon -* torque = epsilon, where t\* = t / epsilon -* temperature = reduced LJ temperature, where T\* = T Kb / epsilon -* pressure = reduced LJ pressure, where P\* = P sigma\^3 / epsilon -* dynamic viscosity = reduced LJ viscosity, where eta\* = eta sigma\^3 / epsilon / tau -* charge = reduced LJ charge, where q\* = q / (4 pi perm0 sigma epsilon)\^1/2 -* dipole = reduced LJ dipole, moment where \*mu = mu / (4 pi perm0 sigma\^3 epsilon)\^1/2 -* electric field = force/charge, where E\* = E (4 pi perm0 sigma epsilon)\^1/2 sigma / epsilon -* density = mass/volume, where rho\* = rho sigma\^dim +generality, LAMMPS sets the fundamental quantities mass, :math:`\sigma`, +:math:`\epsilon`, and the Boltzmann constant :math:`k_B = 1`. The +masses, distances, energies you specify are multiples of these +fundamental values. The formulas relating the reduced or unitless +quantity (with an asterisk) to the same quantity with units is also +given. Thus you can use the mass & :math:`\sigma` & :math:`\epsilon` +values for a specific material and convert the results from a unitless +LJ simulation into physical quantities. + +* mass = mass or *m* +* distance = :math:`\sigma`, where :math:`x^* = \frac{x}{\sigma}` +* time = :math:`\tau`, where :math:`\tau^* = \tau \sqrt{\frac{\epsilon}{m \sigma^2}}` +* energy = :math:`\epsilon`, where :math:`E^* = \frac{E}{\epsilon}` +* velocity = :math:`\frac{\sigma}{\tau}`, where :math:`v^* = v \frac{\tau}{\sigma}` +* force = :math:`\frac{\epsilon}{\sigma}`, where :math:`f^* = f \frac{\sigma}{\epsilon}` +* torque = :math:`\epsilon`, where :math:`t^* = \frac{t}{\epsilon}` +* temperature = reduced LJ temperature, where :math:`T^* = \frac{T k_B}{\epsilon}` +* pressure = reduced LJ pressure, where :math:`p^* = p \frac{\sigma^3}{\epsilon}` +* dynamic viscosity = reduced LJ viscosity, where :math:`\eta^* = \eta \frac{\sigma^3}{\epsilon\tau}` +* charge = reduced LJ charge, where :math:`q^* = q \frac{1}{\sqrt{4 \pi \varepsilon_0 \sigma \epsilon}}` +* dipole = reduced LJ dipole, moment where :math:`\mu^* = \mu \frac{1}{\sqrt{4 \pi \varepsilon_0 \sigma^3 \epsilon}}` +* electric field = force/charge, where :math:`E^* = E \frac{\sqrt{4 \pi \varepsilon_0 \sigma \epsilon} \sigma}{\epsilon}` +* density = mass/volume, where :math:`\rho^* = \rho \sigma^{dim}` Note that for LJ units, the default mode of thermodynamic output via -the :doc:`thermo\_style ` command is to normalize all +the :doc:`thermo_style ` command is to normalize all extensive quantities by the number of atoms. E.g. potential energy is extensive because it is summed over atoms, so it is output as energy/atom. Temperature is intensive since it is already normalized by the number of atoms, so it is output as-is. This behavior can be -changed via the :doc:`thermo\_modify norm ` command. +changed via the :doc:`thermo_modify norm ` command. For style *real*\ , these are the units: @@ -218,21 +215,14 @@ distance to default values for each style: Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a -:doc:`read\_data ` or :doc:`create\_box ` command. +:doc:`read_data ` or :doc:`create_box ` command. **Related commands:** none Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS units lj - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/variable.rst b/doc/src/variable.rst index 99413ce96ce3b48d8aaba517ace542463a99b7fc..0e30efc0ab7b91d03769b07be11d564c95b00ab2 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -6,16 +6,15 @@ variable command Syntax """""" - .. parsed-literal:: variable name style args ... * name = name of variable to define * style = *delete* or *index* or *loop* or *world* or *universe* or *uloop* or *string* or *format* or *getenv* or *file* or *atomfile* or *python* or *internal* or *equal* or *vector* or *atom* - + .. parsed-literal:: - + *delete* = no args *index* args = one or more strings *loop* args = N @@ -74,22 +73,19 @@ Syntax fix references = f_ID, f_ID[i], f_ID[i][j], F_ID, F_ID[i] variable references = v_name, v_name[i] - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS variable x index run1 run2 run3 run4 run5 run6 run7 run8 variable LoopVar loop $n variable beta equal temp/3.0 - variable b1 equal x[234]+0.5\*vol - variable b1 equal "x[234] + 0.5\*vol" + variable b1 equal x[234]+0.5*vol + variable b1 equal "x[234] + 0.5*vol" variable b equal xcm(mol1,x)/2.0 variable b equal c_myTemp - variable b atom x\*y/vol + variable b atom x*y/vol variable foo string myfile variable foo internal 3.5 variable myPy python increase @@ -113,7 +109,7 @@ strings, the :doc:`next ` command can be used to increment which string is assigned to the variable. Variables of style *equal* store a formula which when evaluated produces a single numeric value which can be output either directly (see the :doc:`print `, :doc:`fix print `, and :doc:`run every ` commands) or as part -of thermodynamic output (see the :doc:`thermo\_style ` +of thermodynamic output (see the :doc:`thermo_style ` command), or used as input to an averaging fix (see the :doc:`fix ave/time ` command). Variables of style *vector* store a formula which produces a vector of such values which can be used as input to various averaging fixes, or elements of which can be @@ -198,7 +194,7 @@ There are two exceptions to this rule. First, variables of style allows these style of variables to be redefined multiple times in an input script. In a loop, this means the formula associated with an *equal* or *atom* style variable can change if it contains a -substitution for another variable, e.g. $x or v\_x. +substitution for another variable, e.g. $x or v_x. Second, as described below, if a variable is iterated on to the end of its list of strings via the :doc:`next ` command, it is removed @@ -206,10 +202,8 @@ from the list of active variables, and is thus available to be re-defined in a subsequent variable command. The *delete* style does the same thing. - ---------- - The :doc:`Commands parse ` doc page explains how occurrences of a variable name in an input script line are replaced by the variable's string. The variable name can be referenced as $x if @@ -231,8 +225,7 @@ script or when the input script is looped over. This can be useful when breaking out of a loop via the :doc:`if ` and :doc:`jump ` commands before the variable would become exhausted. For example, - -.. parsed-literal:: +.. code-block:: LAMMPS label loop variable a loop 5 @@ -243,10 +236,8 @@ commands before the variable would become exhausted. For example, label break variable a delete - ---------- - This section describes how all the various variable styles are defined and what they store. Except for the *equal* and *vector* and *atom* styles, which are explained in the next section. @@ -379,7 +370,6 @@ the count N of per-atom lines to immediately follow. N can be the total number of atoms in the system, or only a subset. The next N lines have the following format - .. parsed-literal:: ID value @@ -398,8 +388,7 @@ to match a function name specified in a :doc:`python ` command which returns a value to this variable as defined by its *return* keyword. For example these two commands would be self-consistent: - -.. parsed-literal:: +.. code-block:: LAMMPS variable foo python myMultiply python myMultiply return v_foo format f file funcs.py @@ -425,15 +414,13 @@ For the *internal* style a numeric value is provided. This value will be assigned to the variable until a LAMMPS command sets it to a new value. There are currently only two LAMMPS commands that require *internal* variables as inputs, because they reset them: -:doc:`create\_atoms ` and :doc:`fix controller `. As mentioned above, an +:doc:`create_atoms ` and :doc:`fix controller `. As mentioned above, an internal-style variable can be used in place of an equal-style variable anywhere else in an input script, e.g. as an argument to another command that allows for equal-style variables. - ---------- - For the *equal* and *vector* and *atom* styles, a single string is specified which represents a formula that will be evaluated afresh each time the variable is used. If you want spaces in the string, @@ -468,10 +455,9 @@ simple, but multiple quantities can be nested and combined in various ways to build up formulas of arbitrary complexity. For example, this is a valid (though strange) variable formula: +.. code-block:: LAMMPS -.. parsed-literal:: - - variable x equal "pe + c_MyTemp / vol\^(1/3)" + variable x equal "pe + c_MyTemp / vol^(1/3)" Specifically, a formula can contain numbers, constants, thermo keywords, math operators, math functions, group functions, region @@ -499,11 +485,11 @@ references, and references to other variables. +--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Atom vectors | id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q | +--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Compute references | c\_ID, c\_ID[i], c\_ID[i][j], C\_ID, C\_ID[i] | +| Compute references | c_ID, c_ID[i], c_ID[i][j], C_ID, C_ID[i] | +--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Fix references | f\_ID, f\_ID[i], f\_ID[i][j], F\_ID, F\_ID[i] | +| Fix references | f_ID, f_ID[i], f_ID[i][j], F_ID, F_ID[i] | +--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Other variables | v\_name, v\_name[i] | +| Other variables | v_name, v_name[i] | +--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Most of the formula elements produce a scalar value. Some produce a @@ -530,10 +516,8 @@ the atom-style variable, only atoms in the group are included in the formula evaluation. The variable evaluates to 0.0 for atoms not in the group. - ---------- - Numbers, constants, and thermo keywords --------------------------------------- @@ -551,18 +535,17 @@ adapt automatically to LAMMPS versions, when non-backwards compatible syntax changes are introduced. Here is an illustrative example (which will not work, since the *version* has been introduced more recently): - -.. parsed-literal:: +.. code-block:: LAMMPS if $(version<20140513) then "communicate vel yes" else "comm_modify vel yes" The thermo keywords allowed in a formula are those defined by the -:doc:`thermo\_style custom ` command. Thermo keywords that +:doc:`thermo_style custom ` command. Thermo keywords that require a :doc:`compute ` to calculate their values such as "temp" or "press", use computes stored and invoked by the -:doc:`thermo\_style ` command. This means that you can +:doc:`thermo_style ` command. This means that you can only use those keywords in a variable if the style you are using with -the thermo\_style command (and the thermo keywords associated with that +the thermo_style command (and the thermo keywords associated with that style) also define and use the needed compute. Note that some thermo keywords use a compute indirectly to calculate their value (e.g. the enthalpy keyword uses temp, pe, and pressure). If a variable is @@ -570,10 +553,8 @@ evaluated directly in an input script (not during a run), then the values accessed by the thermo keyword must be current. See the discussion below about "Variable Accuracy". - ---------- - Math Operators -------------- @@ -622,10 +603,8 @@ whose properties satisfy one or more criteria could be calculated by taking the returned per-atom vector of ones and zeroes and passing it to the :doc:`compute reduce ` command. - ---------- - Math Functions -------------- @@ -673,7 +652,6 @@ The ramp(x,y) function uses the current timestep to generate a value linearly interpolated between the specified x,y values over the course of a run, according to this formula: - .. parsed-literal:: value = x + (y-x) \* (timestep-startstep) / (stopstep-startstep) @@ -688,10 +666,9 @@ timestep. X,y > 0 and x > y are required. The generated timesteps increase in a staggered fashion, as the sequence x,x+y,2x,2x+y,3x,3x+y,etc. For any current timestep, the next timestep in the sequence is returned. Thus if stagger(1000,100) is -used in a variable by the :doc:`dump\_modify every ` +used in a variable by the :doc:`dump_modify every ` command, it will generate the sequence of output timesteps: - .. parsed-literal:: 100,1000,1100,2000,2100,3000,etc @@ -703,10 +680,9 @@ y value is how many of the z-1 possible timesteps within one logarithmic interval are generated. I.e. the timesteps follow the sequence x,2x,3x,...y\*x,x\*z,2x\*z,3x\*z,...y\*x\*z,x\*z\^2,2x\*z\^2,etc. For any current timestep, the next timestep in the sequence is returned. -Thus if logfreq(100,4,10) is used in a variable by the :doc:`dump\_modify every ` command, it will generate this sequence of +Thus if logfreq(100,4,10) is used in a variable by the :doc:`dump_modify every ` command, it will generate this sequence of output timesteps: - .. parsed-literal:: 100,200,300,400,1000,2000,3000,4000,10000,20000,etc @@ -714,11 +690,10 @@ output timesteps: The logfreq2(x,y,z) function is similar to logfreq, except a single logarithmic interval is divided into y equally-spaced timesteps and all of them are output. Y < z is not required. Thus, if -logfreq2(100,18,10) is used in a variable by the :doc:`dump\_modify every ` command, then the interval between 100 and +logfreq2(100,18,10) is used in a variable by the :doc:`dump_modify every ` command, then the interval between 100 and 1000 is divided as 900/18 = 50 steps, and it will generate the sequence of output timesteps: - .. parsed-literal:: 100,150,200,...950,1000,1500,2000,...9500,10000,15000,etc @@ -731,7 +706,6 @@ between 10 and 1000 is divided into 24 parts with a multiplicative separation of ~1.21, and it will generate the following sequence of output timesteps: - .. parsed-literal:: 10, 13, 15, 18, 22, 27, 32,...384, 465, 563, 682, 826, 1000 @@ -743,10 +717,9 @@ the sequence x,x+z,x+2z,...,y. If y-x is not a multiple of z, then similar to the way a for loop operates, the last value will be one that does not exceed y. For any current timestep, the next timestep in the sequence is returned. Thus if stride(1000,2000,100) is used -in a variable by the :doc:`dump\_modify every ` command, it +in a variable by the :doc:`dump_modify every ` command, it will generate the sequence of output timesteps: - .. parsed-literal:: 1000,1100,1200, ... ,1900,2000 @@ -763,10 +736,9 @@ that point the timestep increases in increments of c, from a to b, then after b, increments by z are resumed until y is reached. For any current timestep, the next timestep in the sequence is returned. Thus if stride2(1000,2000,100,1350,1360,1) is used in a variable by the -:doc:`dump\_modify every ` command, it will generate the +:doc:`dump_modify every ` command, it will generate the sequence of output timesteps: - .. parsed-literal:: 1000,1100,1200,1300,1350,1351,1352, ... 1359,1360,1400,1500, ... ,2000 @@ -776,7 +748,6 @@ velocity, and uses the elapsed time to change the value by a linear displacement due to the applied velocity over the course of a run, according to this formula: - .. parsed-literal:: value = value0 + velocity\*(timestep-startstep)\*dt @@ -786,7 +757,7 @@ where dt = the timestep size. The run begins on startstep. Startstep can span multiple runs, using the *start* keyword of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. Note that the -:doc:`thermo\_style ` keyword elaplong = +:doc:`thermo_style ` keyword elaplong = timestep-startstep. The swiggle(x,y,z) and cwiggle(x,y,z) functions each take 3 arguments: @@ -794,7 +765,6 @@ x = value0, y = amplitude, z = period. They use the elapsed time to oscillate the value by a sin() or cos() function over the course of a run, according to one of these formulas, where omega = 2 PI / period: - .. parsed-literal:: value = value0 + Amplitude \* sin(omega\*(timestep-startstep)\*dt) @@ -805,13 +775,11 @@ where dt = the timestep size. The run begins on startstep. Startstep can span multiple runs, using the *start* keyword of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. Note that the -:doc:`thermo\_style ` keyword elaplong = +:doc:`thermo_style ` keyword elaplong = timestep-startstep. - ---------- - Group and Region Functions -------------------------- @@ -845,10 +813,8 @@ The function is computed for all atoms that are in both the group and the region. If the group is "all", then the only criteria for atom inclusion is that it be in the region. - ---------- - Special Functions ----------------- @@ -856,15 +822,15 @@ Special functions take specific kinds of arguments, meaning their arguments cannot be formulas themselves. The sum(x), min(x), max(x), ave(x), trap(x), and slope(x) functions -each take 1 argument which is of the form "c\_ID" or "c\_ID[N]" or -"f\_ID" or "f\_ID[N]" or "v\_name". The first two are computes and the +each take 1 argument which is of the form "c_ID" or "c_ID[N]" or +"f_ID" or "f_ID[N]" or "v_name". The first two are computes and the second two are fixes; the ID in the reference should be replaced by the ID of a compute or fix defined elsewhere in the input script. The compute or fix must produce either a global vector or array. If it produces a global vector, then the notation without "[N]" should be used. If it produces a global array, then the notation with "[N]" should be used, when N is an integer, to specify which column of the -global array is being referenced. The last form of argument "v\_name" +global array is being referenced. The last form of argument "v_name" is for a vector-style variable where "name" is replaced by the name of the variable. @@ -909,7 +875,7 @@ variables. It returns a 1 for atoms that are in both the group and region, and a 0 for atoms that are not in both. The next(x) function takes 1 argument which is a variable ID (not -"v\_foo", just "foo"). It must be for a file-style or atomfile-style +"v_foo", just "foo"). It must be for a file-style or atomfile-style variable. Each time the next() function is invoked (i.e. each time the equal-style or atom-style variable is evaluated), the following steps occur. @@ -933,10 +899,8 @@ invoked more times than there are lines or sets of lines in the file, the variable is deleted, similar to how the :doc:`next ` command operates. - ---------- - Feature Functions ----------------- @@ -948,23 +912,23 @@ themselves (only $-style immediate variable expansion is possible). Return value is either 1.0 or 0.0 depending on whether the function evaluates to true or false, respectively. -The *is\_active()* function allows to query for active settings which +The *is_active()* function allows to query for active settings which are grouped by categories. Currently supported categories and arguments are: * *package* (argument = *gpu* or *intel* or *kokkos* or *omp*\ ) * *newton* (argument = *pair* or *bond* or *any*\ ) * *pair* (argument = *single* or *respa* or *manybody* or *tail* or *shift*\ ) -* *comm\_style* (argument = *brick* or *tiled*\ ) -* *min\_style* (argument = any of the compiled in minimizer styles) -* *run\_style* (argument = any of the compiled in run styles) -* *atom\_style* (argument = any of the compiled in atom styles) -* *pair\_style* (argument = any of the compiled in pair styles) -* *bond\_style* (argument = any of the compiled in bond styles) -* *angle\_style* (argument = any of the compiled in angle styles) -* *dihedral\_style* (argument = any of the compiled in dihedral styles) -* *improper\_style* (argument = any of the compiled in improper styles) -* *kspace\_style* (argument = any of the compiled in kspace styles) +* *comm_style* (argument = *brick* or *tiled*\ ) +* *min_style* (argument = any of the compiled in minimizer styles) +* *run_style* (argument = any of the compiled in run styles) +* *atom_style* (argument = any of the compiled in atom styles) +* *pair_style* (argument = any of the compiled in pair styles) +* *bond_style* (argument = any of the compiled in bond styles) +* *angle_style* (argument = any of the compiled in angle styles) +* *dihedral_style* (argument = any of the compiled in dihedral styles) +* *improper_style* (argument = any of the compiled in improper styles) +* *kspace_style* (argument = any of the compiled in kspace styles) Most of the settings are self-explanatory, the *single* argument in the *pair* category allows to check whether a pair style supports a @@ -975,8 +939,7 @@ the checking is also done using suffix flags, if available and enabled. Example 1: disable use of suffix for pppm when using GPU package (i.e. run it on the CPU concurrently to running the pair style on the GPU), but do use the suffix otherwise (e.g. with USER-OMP). - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut/coul/long 14.0 if $(is_active(package,gpu)) then "suffix off" @@ -984,20 +947,19 @@ Example 1: disable use of suffix for pppm when using GPU package (i.e. run it on Example 2: use r-RESPA with inner/outer cutoff, if supported by pair style, otherwise fall back to using pair and reducing the outer time step +.. code-block:: LAMMPS -.. parsed-literal:: - - timestep $(2.0\*(1.0+2.0\*is_active(pair,respa)) + timestep $(2.0*(1.0+2.0*is_active(pair,respa)) if $(is_active(pair,respa)) then "run_style respa 4 3 2 2 improper 1 inner 2 5.5 7.0 outer 3 kspace 4" else "run_style respa 3 3 2 improper 1 pair 2 kspace 3" -The *is\_defined()* function allows to query categories like *compute*\ , +The *is_defined()* function allows to query categories like *compute*\ , *dump*\ , *fix*\ , *group*\ , *region*\ , and *variable* whether an entry with the provided name or id is defined. -The *is\_available(category,name)* function allows to query whether +The *is_available(category,name)* function allows to query whether a specific optional feature is available, i.e. compiled in. This currently works for the following categories: *command*\ , -*compute*\ , *fix*\ , *pair\_style* and *feature*\ . For all categories +*compute*\ , *fix*\ , *pair_style* and *feature*\ . For all categories except *command* and *feature* also appending active suffixes is tried before reporting failure. @@ -1009,30 +971,27 @@ and C++ exceptions for error handling. Corresponding values for name are This enables writing input scripts which only dump using a given format if the compiled binary supports it. - -.. parsed-literal:: +.. code-block:: LAMMPS if "$(is_available(feature,png))" then "print 'PNG supported'" else "print 'PNG not supported'" if "$(is_available(feature,ffmpeg)" then "dump 3 all movie 25 movie.mp4 type type zoom 1.6 adiam 1.0" - ---------- - Atom Values and Vectors ----------------------- Atom values take an integer argument I from 1 to N, where I is the atom-ID, e.g. x[243], which means use the x coordinate of the atom -with ID = 243. Or they can take a variable name, specified as v\_name, -where name is the name of the variable, like x[v\_myIndex]. The +with ID = 243. Or they can take a variable name, specified as v_name, +where name is the name of the variable, like x[v_myIndex]. The variable can be of any style except *vector* or *atom* or *atomfile* variables. The variable is evaluated and the result is expected to be numeric and is cast to an integer (i.e. 3.4 becomes 3), to use an index, which must be a value from 1 to N. Note that a "formula" cannot be used as the argument between the brackets, e.g. x[243+10] -or x[v\_myIndex+1] are not allowed. To do this a single variable can +or x[v_myIndex+1] are not allowed. To do this a single variable can be defined that contains the needed formula. Note that the 0 < atom-ID <= N, where N is the largest atom ID @@ -1045,17 +1004,15 @@ evaluating the variable. The meaning of the different atom values and vectors is mostly self-explanatory. *Mol* refers to the molecule ID of an atom, and is -only defined if an :doc:`atom\_style ` is being used that +only defined if an :doc:`atom_style ` is being used that defines molecule IDs. Note that many other atom attributes can be used as inputs to a variable by using the :doc:`compute property/atom ` command and then specifying a quantity from that compute. - ---------- - Compute References ------------------ @@ -1081,15 +1038,15 @@ reference means, since computes only produce either global or per-atom quantities, never both. +-------------+-------------------------------------------------------------------------------------------------------+ -| c\_ID | global scalar, or per-atom vector | +| c_ID | global scalar, or per-atom vector | +-------------+-------------------------------------------------------------------------------------------------------+ -| c\_ID[I] | Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array | +| c_ID[I] | Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array | +-------------+-------------------------------------------------------------------------------------------------------+ -| c\_ID[I][J] | I,J element of global array, or atom I's Jth value in per-atom array | +| c_ID[I][J] | I,J element of global array, or atom I's Jth value in per-atom array | +-------------+-------------------------------------------------------------------------------------------------------+ For I and J indices, integers can be specified or a variable name, -specified as v\_name, where name is the name of the variable. The +specified as v_name, where name is the name of the variable. The rules for this syntax are the same as for the "Atom Values and Vectors" discussion above. @@ -1099,17 +1056,16 @@ global vector. Consider a compute with ID "foo" that does this, referenced as follows by variable "a", where "myVec" is another vector-style variable: +.. code-block:: LAMMPS -.. parsed-literal:: - - variable a vector c_foo\*v_myVec + variable a vector c_foo*v_myVec -The reference "c\_foo" could refer to either the global scalar or -global vector produced by compute "foo". In this case, "c\_foo" will -always refer to the global scalar, and "C\_foo" can be used to +The reference "c_foo" could refer to either the global scalar or +global vector produced by compute "foo". In this case, "c_foo" will +always refer to the global scalar, and "C_foo" can be used to reference the global vector. Similarly if the compute produces both a -global vector and global array, then "c\_foo[I]" will always refer to -an element of the global vector, and "C\_foo[I]" can be used to +global vector and global array, then "c_foo[I]" will always refer to +an element of the global vector, and "C_foo[I]" can be used to reference the Ith column of the global array. Note that if a variable containing a compute is evaluated directly in @@ -1117,10 +1073,8 @@ an input script (not during a run), then the values accessed by the compute must be current. See the discussion below about "Variable Accuracy". - ---------- - Fix References -------------- @@ -1144,15 +1098,15 @@ as to what a reference means, since fixes only produce either global or per-atom quantities, never both. +-------------+-------------------------------------------------------------------------------------------------------+ -| f\_ID | global scalar, or per-atom vector | +| f_ID | global scalar, or per-atom vector | +-------------+-------------------------------------------------------------------------------------------------------+ -| f\_ID[I] | Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array | +| f_ID[I] | Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array | +-------------+-------------------------------------------------------------------------------------------------------+ -| f\_ID[I][J] | I,J element of global array, or atom I's Jth value in per-atom array | +| f_ID[I][J] | I,J element of global array, or atom I's Jth value in per-atom array | +-------------+-------------------------------------------------------------------------------------------------------+ For I and J indices, integers can be specified or a variable name, -specified as v\_name, where name is the name of the variable. The +specified as v_name, where name is the name of the variable. The rules for this syntax are the same as for the "Atom Values and Vectors" discussion above. @@ -1160,10 +1114,10 @@ One source of ambiguity for fix references is the same ambiguity discussed for compute references above. Namely when a vector-style variable refers to a fix that produces both a global scalar and a global vector. The solution is the same as for compute references. -For a fix with ID "foo", "f\_foo" will always refer to the global -scalar, and "F\_foo" can be used to reference the global vector. And +For a fix with ID "foo", "f_foo" will always refer to the global +scalar, and "F_foo" can be used to reference the global vector. And similarly for distinguishing between a fix's global vector versus -global array with "f\_foo[I]" versus "F\_foo[I]". +global array with "f_foo[I]" versus "F_foo[I]". Note that if a variable containing a fix is evaluated directly in an input script (not during a run), then the values accessed by the fix @@ -1176,10 +1130,8 @@ error is generated. For example, the :doc:`fix ave/time ` command may only generate averaged quantities every 100 steps. See the doc pages for individual fix commands for details. - ---------- - Variable References ------------------- @@ -1195,7 +1147,7 @@ generate a per-atom vector of numeric values. All other variables store one or more strings. The formula for an equal-style variable can use any style of variable -including a vector\_style or atom-style or atomfile-style. For these +including a vector_style or atom-style or atomfile-style. For these 3 styles, a subscript must be used to access a single value from the vector-, atom-, or atomfile-style variable. If a string-storing variable is used, the string is converted to a numeric value. Note @@ -1217,26 +1169,24 @@ There is no ambiguity as to what a reference means, since variables produce only a global scalar or global vector or per-atom vector. +------------+----------------------------------------------------------------------+ -| v\_name | global scalar from equal-style variable | +| v_name | global scalar from equal-style variable | +------------+----------------------------------------------------------------------+ -| v\_name | global vector from vector-style variable | +| v_name | global vector from vector-style variable | +------------+----------------------------------------------------------------------+ -| v\_name | per-atom vector from atom-style or atomfile-style variable | +| v_name | per-atom vector from atom-style or atomfile-style variable | +------------+----------------------------------------------------------------------+ -| v\_name[I] | Ith element of a global vector from vector-style variable | +| v_name[I] | Ith element of a global vector from vector-style variable | +------------+----------------------------------------------------------------------+ -| v\_name[I] | value of atom with ID = I from atom-style or atomfile-style variable | +| v_name[I] | value of atom with ID = I from atom-style or atomfile-style variable | +------------+----------------------------------------------------------------------+ For the I index, an integer can be specified or a variable name, -specified as v\_name, where name is the name of the variable. The +specified as v_name, where name is the name of the variable. The rules for this syntax are the same as for the "Atom Values and Vectors" discussion above. - ---------- - **Immediate Evaluation of Variables:** If you want an equal-style variable to be evaluated immediately, it @@ -1250,17 +1200,17 @@ named variable. More generally, there is a difference between referencing a variable with a leading $ sign (e.g. $x or ${abc}) versus with a leading "v\_" -(e.g. v\_x or v\_abc). The former can be used in any input script +(e.g. v_x or v_abc). The former can be used in any input script command, including a variable command. The input script parser evaluates the reference variable immediately and substitutes its value into the command. As explained on the :doc:`Commands parse ` doc page, you can also use un-named "immediate" variables for this purpose. For example, a string like -this $((xlo+xhi)/2+sqrt(v\_area)) in an input script command evaluates +this $((xlo+xhi)/2+sqrt(v_area)) in an input script command evaluates the string between the parenthesis as an equal-style variable formula. Referencing a variable with a leading "v\_" is an optional or required kind of argument for some commands (e.g. the :doc:`fix ave/chunk ` or :doc:`dump custom ` or -:doc:`thermo\_style ` commands) if you wish it to evaluate +:doc:`thermo_style ` commands) if you wish it to evaluate a variable periodically during a run. It can also be used in a variable formula if you wish to reference a second variable. The second variable will be evaluated whenever the first variable is @@ -1269,23 +1219,21 @@ evaluated. As an example, suppose you use this command in your input script to define the variable "v" as - -.. parsed-literal:: +.. code-block:: LAMMPS variable v equal vol before a run where the simulation box size changes. You might think this will assign the initial volume to the variable "v". That is not the case. Rather it assigns a formula which evaluates the volume -(using the thermo\_style keyword "vol") to the variable "v". If you +(using the thermo_style keyword "vol") to the variable "v". If you use the variable "v" in some other command like :doc:`fix ave/time ` then the current volume of the box will be evaluated continuously during the run. If you want to store the initial volume of the system, you can do it this way: - -.. parsed-literal:: +.. code-block:: LAMMPS variable v equal vol variable v0 equal $v @@ -1294,8 +1242,7 @@ The second command will force "v" to be evaluated (yielding the initial volume) and assign that value to the variable "v0". Thus the command - -.. parsed-literal:: +.. code-block:: LAMMPS thermo_style custom step v_v v_v0 @@ -1305,8 +1252,7 @@ during the run. Note that it is a mistake to enclose a variable formula in double quotes if it contains variables preceded by $ signs. For example, - -.. parsed-literal:: +.. code-block:: LAMMPS variable vratio equal "${vfinal}/${v0}" @@ -1314,10 +1260,8 @@ This is because the quotes prevent variable substitution (explained on the :doc:`Commands parse ` doc page), and thus an error will occur when the formula for "vratio" is evaluated later. - ---------- - **Variable Accuracy:** Obviously, LAMMPS attempts to evaluate variables containing formulas @@ -1333,7 +1277,7 @@ bond, etc) on timesteps that the variable will need the values. LAMMPS keeps track of all of this during a :doc:`run ` or :doc:`energy minimization `. An error will be generated if you attempt to evaluate a variable on timesteps when it cannot produce -accurate values. For example, if a :doc:`thermo\_style custom ` command prints a variable which accesses +accurate values. For example, if a :doc:`thermo_style custom ` command prints a variable which accesses values stored by a :doc:`fix ave/time ` command and the timesteps on which thermo output is generated are not multiples of the averaging frequency used in the fix command, then an error will occur. @@ -1365,8 +1309,7 @@ timestep of the preceding run, e.g. by thermodynamic output. One way to get around this problem is to perform a 0-timestep run before using the variable. For example, these commands - -.. parsed-literal:: +.. code-block:: LAMMPS variable t equal temp print "Initial temperature = $t" @@ -1378,8 +1321,7 @@ a compute for calculating the temperature to be invoked. However, this sequence of commands would be fine: - -.. parsed-literal:: +.. code-block:: LAMMPS run 0 variable t equal temp @@ -1413,8 +1355,7 @@ a 0-timestep run before printing the variable has the desired effect. way to detect this has occurred. Consider the following sequence of commands: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 1 1.0 1.0 run 1000 @@ -1423,10 +1364,10 @@ commands: print "Final potential energy = $e" The first run is performed using one setting for the pairwise -potential defined by the :doc:`pair\_style ` and -:doc:`pair\_coeff ` commands. The potential energy is +potential defined by the :doc:`pair_style ` and +:doc:`pair_coeff ` commands. The potential energy is evaluated on the final timestep and stored by the :doc:`compute pe ` compute (this is done by the -:doc:`thermo\_style ` command). Then a pair coefficient is +:doc:`thermo_style ` command). Then a pair coefficient is changed, altering the potential energy of the system. When the potential energy is printed via the "e" variable, LAMMPS will use the potential energy value stored by the :doc:`compute pe ` @@ -1440,8 +1381,7 @@ the system is up-to-date. For example, this sequence of commands would print a potential energy that reflected the changed pairwise coefficient: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 1 1.0 1.0 run 1000 @@ -1450,18 +1390,15 @@ coefficient: variable e equal pe print "Final potential energy = $e" - ---------- - Restrictions """""""""""" - Indexing any formula element by global atom ID, such as an atom value, requires the :doc:`atom style ` to use a global mapping in order to look up the vector indices. By default, only atom styles -with molecular information create global maps. The :doc:`atom\_modify map ` command can override the default, e.g. for +with molecular information create global maps. The :doc:`atom_modify map ` command can override the default, e.g. for atomic-style atom styles. All *universe*\ - and *uloop*\ -style variables defined in an input script @@ -1474,8 +1411,3 @@ Related commands :doc:`temper `, :doc:`fix print `, :doc:`print ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/velocity.rst b/doc/src/velocity.rst index 5a4bb33d0c9a3adaa1edec27c2624e177ce30a3a..59ce0a19f681400aa0fdc22fe14ff4d4b7b8f63a 100644 --- a/doc/src/velocity.rst +++ b/doc/src/velocity.rst @@ -6,16 +6,15 @@ velocity command Syntax """""" - .. parsed-literal:: velocity group-ID style args keyword value ... * group-ID = ID of group of atoms whose velocity will be changed * style = *create* or *set* or *scale* or *ramp* or *zero* - + .. parsed-literal:: - + *create* args = temp seed temp = temperature value (temperature units) seed = random # seed (positive integer) @@ -35,9 +34,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *dist* or *sum* or *mom* or *rot* or *temp* or *bias* or *loop* or *units* - + .. parsed-literal:: - + *dist* value = *uniform* or *gaussian* *sum* value = *no* or *yes* *mom* value = *no* or *yes* @@ -49,13 +48,10 @@ Syntax fix-ID = ID of rigid body fix *units* value = *box* or *lattice* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS velocity all create 300.0 4928459 rot yes dist gaussian velocity border set NULL 4.0 v_vz sum yes units box @@ -78,14 +74,14 @@ The *set* style sets the velocities of all atoms in the group to the specified values. If any component is specified as NULL, then it is not set. Any of the vx,vy,vz velocity components can be specified as an equal-style or atom-style :doc:`variable `. If the value -is a variable, it should be specified as v\_name, where name is the +is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its value used to determine the velocity component. Note that if a variable is used, the velocity it calculates must be in box units, not lattice units; see the discussion of the *units* keyword below. Equal-style variables can specify formulas with various mathematical -functions, and include :doc:`thermo\_style ` command +functions, and include :doc:`thermo_style ` command keywords for the simulation box parameters or other parameters. Atom-style variables can specify the same formulas as equal-style @@ -124,10 +120,8 @@ coordinates depend on whether the *units* keyword is set to *box* or For all styles, no atoms are assigned z-component velocities if the simulation is 2d; see the :doc:`dimension ` command. - ---------- - The keyword/value options are used in the following ways by the various styles. @@ -145,10 +139,8 @@ The *mom* and *rot* keywords are used by *create*\ . If mom = yes, the linear momentum of the newly created ensemble of velocities is zeroed; if rot = yes, the angular momentum is zeroed. - ---------- - If specified, the *temp* keyword is used by *create* and *scale* to specify a :doc:`compute ` that calculates temperature in a desired way, e.g. by first subtracting out a velocity bias, as @@ -156,8 +148,7 @@ discussed on the :doc:`Howto thermostat ` doc page. If this keyword is not specified, *create* and *scale* calculate temperature using a compute that is defined internally as follows: - -.. parsed-literal:: +.. code-block:: LAMMPS compute velocity_temp group-ID temp @@ -190,10 +181,8 @@ specifying the ID of a :doc:`compute temp/ramp ` or :doc:`compute temp/profile ` command, and the *bias* keyword set to a *yes* value. - ---------- - The *loop* keyword is used by *create* in the following ways. If loop = all, then each processor loops over all atoms in the @@ -202,7 +191,7 @@ it owns. This can be a slow loop for a large simulation. If atoms were read from a data file, the velocity assigned to a particular atom will be the same, independent of how many processors are being used. This will not be the case if atoms were created using the -:doc:`create\_atoms ` command, since atom IDs will likely +:doc:`create_atoms ` command, since atom IDs will likely be assigned to atoms differently. If loop = local, then each processor loops over only its atoms to @@ -226,10 +215,8 @@ This is because the computations based on xyz coordinates are sensitive to tiny differences in the double-precision value for a coordinate as stored on a particular machine. - ---------- - The *rigid* keyword only has meaning when used with the *zero* style. It allows specification of a fix-ID for one of the :doc:`rigid-body fix ` variants which defines a set of rigid bodies. The zeroing of linear or angular momentum is then performed for each rigid @@ -243,14 +230,11 @@ are in units of lattice spacings per time (e.g. spacings/fmsec) and coordinates are in lattice spacings. The :doc:`lattice ` command must have been previously used to define the lattice spacing. - ---------- - Restrictions """""""""""" - Assigning a temperature via the *create* style to a system with :doc:`rigid bodies ` or :doc:`SHAKE constraints ` may not have the desired outcome for two reasons. First, the velocity command can be invoked before all of the relevant fixes are created and @@ -262,8 +246,7 @@ temperature than desired. A workaround for this is to perform a :doc:`run 0 ` command. In combination with the nocoeff -option of :doc:`write\_data ` this can be used to move +option of :doc:`write_data ` this can be used to move the Coeffs sections from a data file into a separate file. .. note:: - The write\_coeff command is not yet fully implemented as + The write_coeff command is not yet fully implemented as some pair styles do not output their coefficient information. This means you will need to add/copy this information manually. - ---------- - Restrictions """""""""""" - none Related commands """""""""""""""" -:doc:`read\_data `, :doc:`write\_restart `, -:doc:`write\_data ` - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html +:doc:`read_data `, :doc:`write_restart `, +:doc:`write_data ` diff --git a/doc/src/write_data.rst b/doc/src/write_data.rst index 63e15c45f35230b10f8188556d3b4c633fd1d352..13a6476ac40bc27ccefaf30526646b39c71e843e 100644 --- a/doc/src/write_data.rst +++ b/doc/src/write_data.rst @@ -1,45 +1,41 @@ -.. index:: write\_data +.. index:: write_data -write\_data command +write_data command =================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS write_data file keyword value ... * file = name of data file to write out * zero or more keyword/value pairs may be appended * keyword = *pair* or *nocoeff* - + .. parsed-literal:: - + *nocoeff* = do not write out force field info *nofix* = do not write out extra sections read by fixes *pair* value = *ii* or *ij* *ii* = write one line of pair coefficient info per atom type *ij* = write one line of pair coefficient info per IJ atom type pair - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS write_data data.polymer - write_data data.\* + write_data data.* Description """"""""""" Write a data file in text format of the current state of the simulation. Data files can be read by the :doc:`read data ` -command to begin a simulation. The :doc:`read\_data ` command +command to begin a simulation. The :doc:`read_data ` command also describes their format. Similar to :doc:`dump ` files, the data filename can contain a "\*" @@ -52,10 +48,10 @@ value. respects. First, most pair styles do not yet write their coefficient information into the data file. This means you will need to specify that information in your input script that reads the data file, via - the :doc:`pair\_coeff ` command. Second, a few of the :doc:`atom styles ` (body, ellipsoid, line, tri) that store + the :doc:`pair_coeff ` command. Second, a few of the :doc:`atom styles ` (body, ellipsoid, line, tri) that store auxiliary "bonus" information about aspherical particles, do not yet write the bonus info into the data file. Both these functionalities - will be added to the write\_data command later. + will be added to the write_data command later. Because a data file is in text format, if you use a data file written out by this command to restart a simulation, the initial state of the @@ -66,8 +62,8 @@ thus typically diverge from a simulation that continued in the original input script. If you want to do more exact restarts, using binary files, see the -:doc:`restart `, :doc:`write\_restart `, and -:doc:`read\_restart ` commands. You can also convert +:doc:`restart `, :doc:`write_restart `, and +:doc:`read_restart ` commands. You can also convert binary restart files to text data files, after a simulation has run, using the :doc:`-r command-line switch `. @@ -78,7 +74,7 @@ using the :doc:`-r command-line switch `. :doc:`fixes ` are stored. :doc:`Binary restart files ` store more information. -Bond interactions (angle, etc) that have been turned off by the :doc:`fix shake ` or :doc:`delete\_bonds ` command will +Bond interactions (angle, etc) that have been turned off by the :doc:`fix shake ` or :doc:`delete_bonds ` command will be written to a data file as if they are turned on. This means they will need to be turned off again in a new run after the data file is read. @@ -87,10 +83,8 @@ Bonds that are broken (e.g. by a bond-breaking potential) are not written to the data file. Thus these bonds will not exist when the data file is read. - ---------- - The *nocoeff* keyword requests that no force field parameters should be written to the data file. This can be very helpful, if one wants to make significant changes to the force field or if the parameters @@ -98,7 +92,7 @@ are read in separately anyway, e.g. from an include file. The *nofix* keyword requests that no extra sections read by fixes should be written to the data file (see the *fix* option of the -:doc:`read\_data ` command for details). For example, this +:doc:`read_data ` command for details). For example, this option excludes sections for user-created per-atom properties from :doc:`fix property/atom `. @@ -108,9 +102,9 @@ is specified as *ii*\ , then one line per atom type is written, to specify the coefficients for each of the I=J interactions. This means that no cross-interactions for I != J will be specified in the data file and the pair style will apply its mixing rule, as documented on -individual :doc:`pair\_style ` doc pages. Of course this +individual :doc:`pair_style ` doc pages. Of course this behavior can be overridden in the input script after reading the data -file, by specifying additional :doc:`pair\_coeff ` commands +file, by specifying additional :doc:`pair_coeff ` commands for any desired I,J pairs. If the value is specified as *ij*\ , then one line of coefficients is @@ -120,17 +114,14 @@ point. The presence of these I != J coefficients in the data file will effectively turn off the default mixing rule for the pair style. Again, the coefficient values in the data file can be overridden in the input script after reading the data file, by specifying -additional :doc:`pair\_coeff ` commands for any desired I,J +additional :doc:`pair_coeff ` commands for any desired I,J pairs. - ---------- - Restrictions """""""""""" - This command requires inter-processor communication to migrate atoms before the data file is written. This means that your system must be ready to perform a simulation before using this command (force fields @@ -139,14 +130,9 @@ setup, atom masses initialized, etc). Related commands """""""""""""""" -:doc:`read\_data `, :doc:`write\_restart ` +:doc:`read_data `, :doc:`write_restart ` Default """"""" The option defaults are pair = ii. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/write_dump.rst b/doc/src/write_dump.rst index e894406a226c84aafa33bb7cf86db8f43e7855b5..f0f57bd6745a507afddf0d4e68e1fae0390968a3 100644 --- a/doc/src/write_dump.rst +++ b/doc/src/write_dump.rst @@ -1,13 +1,12 @@ -.. index:: write\_dump +.. index:: write_dump -write\_dump command -=================== +write_dump command +================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS write_dump group-ID style file dump-args modify dump_modify-args @@ -15,23 +14,21 @@ Syntax * style = any of the supported :doc:`dump styles ` * file = name of file to write dump info to * dump-args = any additional args needed for a particular :doc:`dump style ` -* modify = all args after this keyword are passed to :doc:`dump\_modify ` (optional) -* dump-modify-args = args for :doc:`dump\_modify ` (optional) - +* modify = all args after this keyword are passed to :doc:`dump_modify ` (optional) +* dump-modify-args = args for :doc:`dump_modify ` (optional) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS write_dump all atom dump.atom write_dump subgroup atom dump.run.bin - write_dump all custom dump.myforce.\* id type x y vx fx + write_dump all custom dump.myforce.* id type x y vx fx write_dump flow custom dump.%.myforce id type c_myF[3] v_ke modify sort id write_dump all xyz system.xyz modify sort id element O H - write_dump all image snap\*.jpg type type size 960 960 modify backcolor white - write_dump all image snap\*.jpg element element & + write_dump all image snap*.jpg type type size 960 960 modify backcolor white + write_dump all image snap*.jpg element element & bond atom 0.3 shiny 0.1 ssao yes 6345 0.2 size 1600 1600 & modify backcolor white element C C O H N C C C O H H S O H @@ -45,33 +42,30 @@ dump style to write out snapshots periodically during a running simulation. The syntax for this command is mostly identical to that of the -:doc:`dump ` and :doc:`dump\_modify ` commands as if +:doc:`dump ` and :doc:`dump_modify ` commands as if they were concatenated together, with the following exceptions: There is no need for a dump ID or dump frequency and the keyword *modify* is added. The latter is so that the full range of -:doc:`dump\_modify ` options can be specified for the single +:doc:`dump_modify ` options can be specified for the single snapshot, just as they can be for multiple snapshots. The *modify* keyword separates the arguments that would normally be passed to the -*dump* command from those that would be given the *dump\_modify*. Both +*dump* command from those that would be given the *dump_modify*. Both support optional arguments and thus LAMMPS needs to be able to cleanly separate the two sets of args. Note that if the specified filename uses wildcard characters "\*" or "%", as supported by the :doc:`dump ` command, they will operate in the same fashion to create the new filename(s). Normally, :doc:`dump image ` files require a filename with a "\*" character -for the timestep. That is not the case for the write\_dump command; no +for the timestep. That is not the case for the write_dump command; no wildcard "\*" character is necessary. - ---------- - Restrictions """""""""""" - All restrictions for the :doc:`dump ` and -:doc:`dump\_modify ` commands apply to this command as well, +:doc:`dump_modify ` commands apply to this command as well, with the exception of the :doc:`dump image ` filename not requiring a wildcard "\*" character, as noted above. @@ -90,16 +84,11 @@ Related commands """""""""""""""" :doc:`dump `, :doc:`dump image `, -:doc:`dump\_modify ` +:doc:`dump_modify ` Default """"""" The defaults are listed on the doc pages for the :doc:`dump ` and -:doc:`dump image ` and :doc:`dump\_modify ` +:doc:`dump image ` and :doc:`dump_modify ` commands. - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/src/write_restart.rst b/doc/src/write_restart.rst index 853a046ed9978f142c7dec2afd204d24a0ad4293..bdb77dd4b4f38cfebc98149e8ab117a7bd6ce0c3 100644 --- a/doc/src/write_restart.rst +++ b/doc/src/write_restart.rst @@ -1,38 +1,34 @@ -.. index:: write\_restart +.. index:: write_restart -write\_restart command -====================== +write_restart command +===================== Syntax """""" - -.. parsed-literal:: +.. code-block:: LAMMPS write_restart file keyword value ... * file = name of file to write restart information to * zero or more keyword/value pairs may be appended * keyword = *fileper* or *nfile* - + .. parsed-literal:: - + *fileper* arg = Np Np = write one file for every this many processors *nfile* arg = Nf Nf = write this many files, one from each of Nf processors - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS write_restart restart.equil write_restart restart.equil.mpiio - write_restart poly.%.\* nfile 10 + write_restart poly.%.* nfile 10 Description """"""""""" @@ -41,7 +37,7 @@ Write a binary restart file of the current state of the simulation. During a long simulation, the :doc:`restart ` command is typically used to output restart files periodically. The -write\_restart command is useful after a minimization or whenever you +write_restart command is useful after a minimization or whenever you wish to write out a single current restart file. Similar to :doc:`dump ` files, the restart filename can contain @@ -62,8 +58,7 @@ file via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g. - -.. parsed-literal:: +.. code-block:: bash make yes-mpiio # installs the MPIIO package make mpi # build LAMMPS for your platform @@ -73,7 +68,7 @@ does not have to end in ".mpiio", just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both written and read using MPI-IO. -Restart files can be read by a :doc:`read\_restart ` +Restart files can be read by a :doc:`read_restart ` command to restart a simulation from a particular state. Because the file is binary (to enable exact restarts), it may not be readable on another machine. In this case, you can use the :doc:`-r command-line switch ` to convert a restart file to a data file. @@ -89,13 +84,11 @@ another machine. In this case, you can use the :doc:`-r command-line switch ` command for general information about + :doc:`read_restart ` command for general information about what is stored in a restart file. - ---------- - The optional *nfile* or *fileper* keywords can be used in conjunction with the "%" wildcard character in the specified restart file name. As explained above, the "%" character causes the restart file to be @@ -114,14 +107,11 @@ file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the next 3 processors and write it to a restart file. - ---------- - Restrictions """""""""""" - This command requires inter-processor communication to migrate atoms before the restart file is written. This means that your system must be ready to perform a simulation before using this command (force @@ -133,12 +123,7 @@ package must be installed. Related commands """""""""""""""" -:doc:`restart `, :doc:`read\_restart `, -:doc:`write\_data ` +:doc:`restart `, :doc:`read_restart `, +:doc:`write_data ` **Default:** none - - -.. _lws: http://lammps.sandia.gov -.. _ld: Manual.html -.. _lc: Commands_all.html diff --git a/doc/txt/Build.txt b/doc/txt/Build.txt deleted file mode 100644 index 890654935073558f95255a42f75dd07ea02a3e07..0000000000000000000000000000000000000000 --- a/doc/txt/Build.txt +++ /dev/null @@ -1,51 +0,0 @@ -"Previous Section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Run_head.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Build LAMMPS :h2 - -LAMMPS can be built as an executable or library from source code via -either traditional makefiles (which may require manual editing) -for use with GNU make or gmake, or a build environment generated by CMake -(Unix Makefiles, Xcode, Visual Studio, KDevelop or more). As an -alternative you can download a package with pre-built executables -as described on the "Install"_Install.html doc page. - - - - - -"Build LAMMPS with CMake"_Build_cmake.html -"Build LAMMPS with make"_Build_make.html -"Link LAMMPS as a library to another code"_Build_link.html -"Basic build options"_Build_basics.html -"Optional build settings"_Build_settings.html -"Include packages in build"_Build_package.html -"Packages with extra build options"_Build_extras.html -"Notes for building LAMMPS on Windows"_Build_windows.html -"Development build options (CMake only)"_Build_development.html :all(b) - -If you have problems building LAMMPS, it is often due to software -issues on your local machine. If you can, find a local expert to -help. If you're still stuck, send an email to the "LAMMPS mail -list"_http://lammps.sandia.gov/mail.html. diff --git a/doc/txt/Build_basics.txt b/doc/txt/Build_basics.txt deleted file mode 100644 index cde1055419a799e47060f25092d77acd7d7c5169..0000000000000000000000000000000000000000 --- a/doc/txt/Build_basics.txt +++ /dev/null @@ -1,359 +0,0 @@ -"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Basic build options :h3 - -The following topics are covered on this page, for building both with -CMake and make: - -"Serial vs parallel build"_#serial -"Choice of compiler and compile/link options"_#compile -"Build LAMMPS as an executable or a library"_#exe -"Build the LAMMPS documentation"_#doc -"Install LAMMPS after a build"_#install :ul - -:line - -Serial vs parallel build :h4,link(serial) - -LAMMPS can be built to run in parallel using the ubiquitous "MPI -(message-passing -interface)"_https://en.wikipedia.org/wiki/Message_Passing_Interface -library. Or it can built to run on a single processor (serial) -without MPI. It can also be built with support for OpenMP threading -(see more discussion below). - -[CMake variables]: - --D BUILD_MPI=value # yes or no, default is yes if CMake finds MPI, else no --D BUILD_OMP=value # yes or no (default) --D LAMMPS_MACHINE=name # name = mpi, serial, mybox, titan, laptop, etc - # no default value :pre - -The executable created by CMake (after running make) is lmp_name. If -the LAMMPS_MACHINE variable is not specified, the executable is just -lmp. Using BUILD_MPI=no will produce a serial executable. - -[Traditional make]: - -cd lammps/src -make mpi # parallel build, produces lmp_mpi using Makefile.mpi -make serial # serial build, produces lmp_serial using Makefile/serial -make mybox :pre # uses Makefile.mybox to produce lmp_mybox :pre - -Serial build (see src/MAKE/Makefile.serial): - -MPI_INC = -I../STUBS -MPI_PATH = -L../STUBS -MPI_LIB = -lmpi_stubs :pre - -For a parallel build, if MPI is installed on your system in the usual -place (e.g. under /usr/local), you do not need to specify the 3 -variables MPI_INC, MPI_PATH, MPI_LIB. The MPI wrapper on the compiler -(e.g. mpicxx, mpiCC) knows where to find the needed include and -library files. Failing this, these 3 variables can be used to specify -where the mpi.h file (MPI_INC), and the MPI library files (MPI_PATH) -are found, and the name of the library files (MPI_LIB). - -For a serial build, you need to specify the 3 variables, as shown -above. - -For a serial LAMMPS build, use the dummy MPI library provided in -src/STUBS. You also need to build the STUBS library for your platform -before making LAMMPS itself. A "make serial" build does this for. -Otherwise, type "make mpi-stubs" from the src directory, or "make" -from the src/STUBS dir. If the build fails, you will need to edit the -STUBS/Makefile for your platform. - -The file STUBS/mpi.c provides a CPU timer function called MPI_Wtime() -that calls gettimeofday() . If your system doesn't support -gettimeofday() , you'll need to insert code to call another timer. -Note that the ANSI-standard function clock() rolls over after an hour -or so, and is therefore insufficient for timing long LAMMPS -simulations. - -[CMake and make info]: - -If you are installing MPI yourself, we recommend MPICH2 from Argonne -National Laboratory or OpenMPI. MPICH can be downloaded from the -"Argonne MPI site"_http://www.mcs.anl.gov/research/projects/mpich2/. -OpenMPI can be downloaded from the "OpenMPI -site"_http://www.open-mpi.org. Other MPI packages should also work. -If you are running on a large parallel machine, your system admins or -the vendor should have already installed a version of MPI, which is -likely to be faster than a self-installed MPICH or OpenMPI, so find -out how to build and link with it. - -The majority of OpenMP (threading) support in LAMMPS is provided by -the USER-OMP package; see the "Speed omp"_Speed_omp.html doc page for -details. The USER-INTEL package also provides OpenMP support (it is -compatible with USER-OMP) and adds vectorization support when compiled -with the Intel compilers on top of that. Also, the KOKKOS package can -be compiled for using OpenMP threading. - -However, there are a few commands in LAMMPS that have native OpenMP -support. These are commands in the MPIIO, SNAP, USER-DIFFRACTION, and -USER-DPD packages. In addition some packages support OpenMP threading -indirectly through the libraries they interface to: e.g. LATTE and -USER-COLVARS. See the "Packages details"_Packages_details.html doc -page for more info on these packages and the doc pages for their -respective commands for OpenMP threading info. - -For CMake, if you use BUILD_OMP=yes, you can use these packages and -turn on their native OpenMP support and turn on their native OpenMP -support at run time, by setting the OMP_NUM_THREADS environment -variable before you launch LAMMPS. - -For building via conventional make, the CCFLAGS and LINKFLAGS -variables in Makefile.machine need to include the compiler flag that -enables OpenMP. For GNU compilers it is -fopenmp. For (recent) Intel -compilers it is -qopenmp. If you are using a different compiler, -please refer to its documentation. - -[OpenMP Compiler compatibility info]: :link(default-none-issues) - -Some compilers do not fully support the 'default(none)' directive -and others (e.g. GCC version 9 and beyond) may implement OpenMP 4.0 -semantics, which are incompatible with the OpenMP 3.1 directives used -in LAMMPS (for maximal compatibility with compiler versions in use). -In those case, all 'default(none)' directives (which aid in detecting -incorrect and unwanted sharing) can be replaced with 'default(shared)' -while dropping all 'shared()' directives. The script -'src/USER-OMP/hack_openmp_for_pgi_gcc9.sh' can be used to automate -this conversion. - -:line - -Choice of compiler and compile/link options :h4,link(compile) - -The choice of compiler and compiler flags can be important for -performance. Vendor compilers can produce faster code than -open-source compilers like GNU. On boxes with Intel CPUs, we suggest -trying the "Intel C++ compiler"_intel. - -:link(intel,https://software.intel.com/en-us/intel-compilers) - -On parallel clusters or supercomputers which use "modules" for their -compile/link environments, you can often access different compilers by -simply loading the appropriate module before building LAMMPS. - -[CMake variables]: - --D CMAKE_CXX_COMPILER=name # name of C++ compiler --D CMAKE_C_COMPILER=name # name of C compiler --D CMAKE_Fortran_COMPILER=name # name of Fortran compiler :pre - --D CMAKE_CXX_FLAGS=string # flags to use with C++ compiler --D CMAKE_C_FLAGS=string # flags to use with C compiler --D CMAKE_Fortran_FLAGS=string # flags to use with Fortran compiler :pre - -By default CMake will use a compiler it finds and it will add -optimization flags appropriate to that compiler and any "accelerator -packages"_Speed_packages.html you have included in the build. - -You can tell CMake to look for a specific compiler with these variable -settings. Likewise you can specify the FLAGS variables if you want to -experiment with alternate optimization flags. You should specify all -3 compilers, so that the small number of LAMMPS source files written -in C or Fortran are built with a compiler consistent with the one used -for all the C++ files: - -Building with GNU Compilers: -cmake ../cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_Fortran_COMPILER=gfortran -Building with Intel Compilers: -cmake ../cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_Fortran_COMPILER=ifort -Building with LLVM/Clang Compilers: -cmake ../cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_Fortran_COMPILER=flang :pre - -NOTE: When the cmake command completes, it prints info to the screen -as to which compilers it is using, and what flags will be used in the -compilation. Note that if the top-level compiler is mpicxx, it is -simply a wrapper on a real compiler. The underlying compiler info is -what will be listed in the CMake output. You should check to insure -you are using the compiler and optimization flags are the ones you -want. - -[Makefile.machine settings]: - -Parallel build (see src/MAKE/Makefile.mpi): - -CC = mpicxx -CCFLAGS = -g -O3 -LINK = mpicxx -LINKFLAGS = -g -O :pre - -Serial build (see src/MAKE/Makefile.serial): - -CC = g++ -CCFLAGS = -g -O3 -LINK = g++ -LINKFLAGS = -g -O :pre - -The "compiler/linker settings" section of a Makefile.machine lists -compiler and linker settings for your C++ compiler, including -optimization flags. You should always use mpicxx or mpiCC for -a parallel build, since these compiler wrappers will include -a variety of settings appropriate for your MPI installation. - -NOTE: If you build LAMMPS with any "accelerator -packages"_Speed_packages.html included, they have specific -optimization flags that are either required or recommended for optimal -performance. You need to include these in the CCFLAGS and LINKFLAGS -settings above. For details, see the individual package doc pages -listed on the "Speed packages"_Speed_packages.html doc page. Or -examine these files in the src/MAKE/OPTIONS directory. They -correspond to each of the 5 accelerator packages and their hardware -variants: - -Makefile.opt # OPT package -Makefile.omp # USER-OMP package -Makefile.intel_cpu # USER-INTEL package for CPUs -Makefile.intel_coprocessor # USER-INTEL package for KNLs -Makefile.gpu # GPU package -Makefile.kokkos_cuda_mpi # KOKKOS package for GPUs -Makefile.kokkos_omp # KOKKOS package for CPUs (OpenMP) -Makefile.kokkos_phi # KOKKOS package for KNLs (OpenMP) :pre - -:line - -Build LAMMPS as an executable or a library :h4,link(exe) - -LAMMPS can be built as either an executable or as a static or shared -library. The LAMMPS library can be called from another application or -a scripting language. See the "Howto couple"_Howto_couple.html doc -page for more info on coupling LAMMPS to other codes. See the -"Python"_Python_head.html doc page for more info on wrapping and -running LAMMPS from Python via its library interface. - -[CMake variables]: - --D BUILD_EXE=value # yes (default) or no --D BUILD_LIB=value # yes or no (default) --D BUILD_SHARED_LIBS=value # yes or no (default) --D LAMMPS_LIB_SUFFIX=name # name = mpi, serial, mybox, titan, laptop, etc - # no default value :pre - - -Setting BUILD_EXE=no will not produce an executable. Setting -BUILD_LIB=yes will produce a static library named liblammps.a. -Setting both BUILD_LIB=yes and BUILD_SHARED_LIBS=yes will produce a -shared library named liblammps.so. If LAMMPS_LIB_SUFFIX is set the generated -libraries will be named liblammps_name.a or liblammps_name.so instead. - -[Traditional make]: - -cd lammps/src -make machine # build LAMMPS executable lmp_machine -make mode=lib machine # build LAMMPS static lib liblammps_machine.a -make mode=shlib machine # build LAMMPS shared lib liblammps_machine.so :pre - -The two library builds also create generic soft links, named -liblammps.a and liblammps.so, which point to the liblammps_machine -files. - -[CMake and make info]: - -Note that for a shared library to be usable by a calling program, all -the auxiliary libraries it depends on must also exist as shared -libraries. This will be the case for libraries included with LAMMPS, -such as the dummy MPI library in src/STUBS or any package libraries in -the lib/packages directory, since they are always built as shared -libraries using the -fPIC switch. However, if a library like MPI or -FFTW does not exist as a shared library, the shared library build will -generate an error. This means you will need to install a shared -library version of the auxiliary library. The build instructions for -the library should tell you how to do this. - -As an example, here is how to build and install the "MPICH -library"_mpich, a popular open-source version of MPI, distributed by -Argonne National Lab, as a shared library in the default -/usr/local/lib location: - -:link(mpich,http://www-unix.mcs.anl.gov/mpi) - -./configure --enable-shared -make -make install :pre - -You may need to use "sudo make install" in place of the last line if -you do not have write privileges for /usr/local/lib. The end result -should be the file /usr/local/lib/libmpich.so. - -:line - -Build the LAMMPS documentation :h4,link(doc) - -[CMake variable]: - --D BUILD_DOC=value # yes or no (default) :pre - -This will create the HTML doc pages within the CMake build directory. -The reason to do this is if you want to "install" LAMMPS on a system -after the CMake build via "make install", and include the doc pages in -the install. - -[Traditional make]: - -cd lammps/doc -make html # html doc pages -make pdf # single Manual.pdf file :pre - -This will create a lammps/doc/html dir with the HTML doc pages so that -you can browse them locally on your system. Type "make" from the -lammps/doc dir to see other options. - -NOTE: You can also download a tarball of the documentation for the -current LAMMPS version (HTML and PDF files), from the website -"download page"_http://lammps.sandia.gov/download.html. - -:line - -Build LAMMPS tools :h4,link(tools) - -Some tools described in "Auxiliary tools"_Tools.html can be built directly -using CMake or Make. - -[CMake variable]: - --D BUILD_TOOLS=value # yes or no (default) :pre - -The generated binaries will also become part of the LAMMPS installation (see below) - -[Traditional make]: - -cd lammps/tools -make all # build all binaries of tools -make binary2txt # build only binary2txt tool -make chain # build only chain tool -make micelle2d # build only micelle2d tool -make thermo_extract # build only thermo_extract tool -:pre - -:line - - -Install LAMMPS after a build :h4,link(install) - -After building LAMMPS, you may wish to copy the LAMMPS executable of -library, along with other LAMMPS files (library header, doc files) to -a globally visible place on your system, for others to access. Note -that you may need super-user privileges (e.g. sudo) if the directory -you want to copy files to is protected. - -[CMake variable]: - -cmake -D CMAKE_INSTALL_PREFIX=path \[options ...\] ../cmake -make # perform make after CMake command -make install # perform the installation into prefix :pre - -[Traditional make]: - -There is no "install" option in the src/Makefile for LAMMPS. If you -wish to do this you will need to first build LAMMPS, then manually -copy the desired LAMMPS files to the appropriate system directories. diff --git a/doc/txt/Build_cmake.txt b/doc/txt/Build_cmake.txt deleted file mode 100644 index b2411272eb4b04beb3df2b83d8606cb1c5cda2d2..0000000000000000000000000000000000000000 --- a/doc/txt/Build_cmake.txt +++ /dev/null @@ -1,212 +0,0 @@ -"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Build LAMMPS with CMake :h3 - -This page is a short summary of how to use CMake to build LAMMPS. -Details on CMake variables that enable specific LAMMPS build options -are given on the pages linked to from the "Build"_Build.html doc page. - -Richard Berger (Temple U) has also written a "more comprehensive -guide"_https://github.com/lammps/lammps/blob/master/cmake/README.md -for how to use CMake to build LAMMPS. If you are new to CMake it is a -good place to start. - -:line - -Building LAMMPS with CMake is a two-step process. First you use CMake -to create a build environment in a new directory. On Linux systems, -this will be based on makefiles for use with make. Then you use the -make command to build LAMMPS, which uses the created -Makefile(s). Example: - -cd lammps # change to the LAMMPS distribution directory -mkdir build; cd build # create a new directory (folder) for build -cmake \[options ...\] ../cmake # configuration with (command-line) cmake -make # compilation :pre - -The cmake command will detect available features, enable selected -packages and options, and will generate the build environment. By default -this build environment will be created for "Unix Makefiles" on most -platforms and particularly on Linux. However, alternate build tools -(e.g. Ninja) and support files for Integrated Development Environments -(IDE) like Eclipse, CodeBlocks, or Kate can be generated, too. This is -selected via the "-G" command line flag. For the rest of the documentation -we will assume that the build environment is generated for makefiles -and thus the make command will be used to compile and link LAMMPS as -indicated above, producing (by default) an executable called "lmp" and -a library called "liblammps.a" in the "build" folder. When generating -a build environment for the "Ninja" build tool, the build command would -be "ninja" instead of "make". - -If your machine has multiple CPU cores (most do these days), using a -command like "make -jN" (with N being the number of available local -CPU cores) can be much faster. If you plan to do development on -LAMMPS or need to re-compile LAMMPS repeatedly, installation of the -ccache (= Compiler Cache) software may speed up repeated compilation -even more. - -After compilation, you may optionally install the LAMMPS executable into -your system with: - -make install # optional, copy LAMMPS executable & library elsewhere :pre - -This will install the lammps executable and library (if requested), some -tools (if configured) and additional files like library API headers, -manpages, potential and force field files. The location of the installation -tree is set by the CMake variable "CMAKE_INSTALL_PREFIX" which defaults -to $\{HOME\}/.local - -:line - -There are 3 variants of CMake: a command-line version (cmake), a text mode -UI version (ccmake), and a graphical GUI version (cmake-GUI). You can use -any of them interchangeably to configure and create the LAMMPS build -environment. On Linux all the versions produce a Makefile as their -output. See more details on each below. - -You can specify a variety of options with any of the 3 versions, which -affect how the build is performed and what is included in the LAMMPS -executable. Links to pages explaining all the options are listed on -the "Build"_Build.html doc page. - -You must perform the CMake build system generation and compilation in -a new directory you create. It can be anywhere on your local machine. -In these Build pages we assume that you are building in a directory -called "lammps/build". You can perform separate builds independently -with different options, so long as you perform each of them in a -separate directory you create. All the auxiliary files created by one -build process (executable, object files, log files, etc) are stored in -this directory or sub-directories within it that CMake creates. - -NOTE: To perform a CMake build, no packages can be installed or a -build been previously attempted in the LAMMPS src directory by using -"make" commands to "perform a conventional LAMMPS -build"_Build_make.html. CMake detects if this is the case and -generates an error, telling you to type "make no-all purge" in the src -directory to un-install all packages. The purge removes all the *.h -files auto-generated by make. - -You must have CMake version 2.8 or later on your system to build -LAMMPS. A handful of LAMMPS packages (KOKKOS, LATTE, MSCG) require a -later version. CMake will print a message telling you if a later -version is required. Installation instructions for CMake are below. - -After the initial build, if you edit LAMMPS source files, or add your -own new files to the source directory, you can just re-type make from -your build directory and it will re-compile only the files that have -changed. If you want to change CMake options you can run cmake (or -ccmake or cmake-gui) again from the same build directory and alter -various options; see details below. Or you can remove the entire build -folder, recreate the directory and start over. - -:line - -[Command-line version of CMake]: - -cmake \[options ...\] /path/to/lammps/cmake # build from any dir -cmake \[options ...\] ../cmake # build from lammps/build :pre - -The cmake command takes one required argument, which is the LAMMPS -cmake directory which contains the CMakeLists.txt file. - -The argument can be preceeded or followed by various CMake -command-line options. Several useful ones are: - --D CMAKE_INSTALL_PREFIX=path # where to install LAMMPS executable/lib if desired --D CMAKE_BUILD_TYPE=type # type = RelWithDebInfo (default), Release, MinSizeRel, or Debug --G output # style of output CMake generates --DVARIABLE=value # setting for a LAMMPS feature to enable --D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir --C path/to/preset/file # load some CMake settings before configuring :pre - -All the LAMMPS-specific -D variables that a LAMMPS build supports are -described on the pages linked to from the "Build"_Build.html doc page. -All of these variable names are upper-case and their values are -lower-case, e.g. -D LAMMPS_SIZES=smallbig. For boolean values, any of -these forms can be used: yes/no, on/off, 1/0. - -On Unix/Linux machines, CMake generates a Makefile by default to -perform the LAMMPS build. Alternate forms of build info can be -generated via the -G switch, e.g. Visual Studio on a Windows machine, -Xcode on MacOS, or KDevelop on Linux. Type "cmake --help" to see the -"Generator" styles of output your system supports. - -NOTE: When CMake runs, it prints configuration info to the screen. -You should review this to verify all the features you requested were -enabled, including packages. You can also see what compilers and -compile options will be used for the build. Any errors in CMake -variable syntax will also be flagged, e.g. mis-typed variable names or -variable values. - -CMake creates a CMakeCache.txt file when it runs. This stores all the -settings, so that when running CMake again you can use the current -folder '.' instead of the path to the LAMMPS cmake folder as the -required argument to the CMake command. Either way the existing -settings will be inherited unless the CMakeCache.txt file is removed. - -If you later want to change a setting you can rerun cmake in the build -directory with different setting. Please note that some automatically -detected variables will not change their value when you rerun cmake. -In these cases it is usually better to first remove all the -files/directories in the build directory, or start with a fresh build -directory. - -:line - -[Curses version (terminal-style menu) of CMake]: - -ccmake ../cmake :pre - -You initiate the configuration and build environment generation steps -separately. For the first you have to type [c], for the second you -have to type [g]. You may need to type [c] multiple times, and may be -required to edit some of the entries of CMake configuration variables -in between. Please see the "ccmake -manual"_https://cmake.org/cmake/help/latest/manual/ccmake.1.html for -more information. - -:line - -[GUI version of CMake]: - -cmake-gui ../cmake :pre - -You initiate the configuration and build environment generation steps -separately. For the first you have to click on the [Configure] button, -for the second you have to click on the [Generate] button. You may -need to click on [Configure] multiple times, and may be required to -edit some of the entries of CMake configuration variables in between. -Please see the "cmake-gui -manual"_https://cmake.org/cmake/help/latest/manual/cmake-gui.1.html -for more information. - -:line - -[Installing CMake] - -Check if your machine already has CMake installed: - -which cmake # do you have it? -which cmake3 # version 3 may have this name -cmake --version # what specific version you have :pre - -On clusters or supercomputers which use environment modules to manage -software packages, do this: - -module list # is a cmake module already loaded? -module avail # is a cmake module available? -module load cmake3 # load cmake module with appropriate name :pre - -Most Linux distributions offer pre-compiled cmake packages through -their package management system. If you do not have CMake or a new -enough version, you can download the latest version at -"https://cmake.org/download/"_https://cmake.org/download/. -Instructions on how to install it on various platforms can be found -"on this page"_https://cmake.org/install/. diff --git a/doc/txt/Build_development.txt b/doc/txt/Build_development.txt deleted file mode 100644 index bd3897fba61133959164428ebf6adc6088f2cd1c..0000000000000000000000000000000000000000 --- a/doc/txt/Build_development.txt +++ /dev/null @@ -1,86 +0,0 @@ -"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Development build options (CMake only) :h3 - -The CMake build of LAMMPS has a few extra options which are useful during -development, testing or debugging. - -:line - -Verify compilation flags :h4,link(compilation) - -Sometimes it is necessary to verify the complete sequence of compilation flags -generated by the CMake build. To enable a more verbose output during -compilation you can use the following option. - --D CMAKE_VERBOSE_MAKEFILE=value # value = no (default) or yes :pre - -Another way of doing this without reconfiguration is calling make with variable VERBOSE set to 1: - -make VERBOSE=1 :pre - -:line - -Address, Undefined Behavior, and Thread Sanitizer Support :h4,link(sanitizer) - -Compilers such as GCC and Clang support generating binaries which use different -sanitizers to detect problems in code during run-time. They can detect "memory leaks"_https://clang.llvm.org/docs/AddressSanitizer.html, -code that runs into "undefined behavior"_https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html of the -language and "data races"_https://clang.llvm.org/docs/ThreadSanitizer.html in threaded code. - -The following settings allow you enable these features if your compiler supports -it. Please note that they come with a performance hit. However, they are -usually faster than using tools like Valgrind. - --D ENABLE_SANITIZE_ADDRESS=value # enable Address Sanitizer, value = no (default) or yes --D ENABLE_SANITIZE_UNDEFINED=value # enable Undefined Behaviour Sanitizer, value = no (default) or yes --D ENABLE_SANITIZE_THREAD=value # enable Thread Sanitizer, value = no (default) or yes -:pre - -:line - -Code Coverage and Testing :h4,link(testing) - -We do extensive regression testing of the LAMMPS code base on a continuous -basis. Some of the logic to do this has been added to the CMake build so -developers can run the tests directly on their workstation. - -NOTE: this is incomplete and only represents a small subset of tests that we run - --D ENABLE_TESTING=value # enable simple run tests of LAMMPS, value = no (default) or yes --D LAMMPS_TESTING_SOURCE_DIR=path # path to lammps-testing repository (option if in custom location) --D LAMMPS_TESTING_GIT_TAG=value # version of lammps-testing repository that should be used, value = master (default) or custom git commit or tag -:pre - -If you enable testing in the CMake build it will create an additional target called "test". You can run them with: - -make test -:pre - -The test cases used come from the lammps-testing repository. They are -derivatives of the examples folder with some modifications to make the run -faster. - -You can also collect code coverage metrics while running the tests by enabling -coverage support during building. - --D ENABLE_COVERAGE=value # enable coverage measurements, value = no (default) or yes :pre - -This will also add the following targets to generate coverage reports after running the LAMMPS executable: - -make test # run tests first! -make gen_coverage_html # generate coverage report in HTML format -make gen_coverage_xml # generate coverage report in XML format -:pre - -These reports require GCOVR to be installed. The easiest way to do this to install it via pip: - -pip install git+https://github.com/gcovr/gcovr.git :pre -:pre diff --git a/doc/txt/Build_extras.txt b/doc/txt/Build_extras.txt deleted file mode 100644 index 4cf40bbee4d76ba919b91ff83ffef01b8848114a..0000000000000000000000000000000000000000 --- a/doc/txt/Build_extras.txt +++ /dev/null @@ -1,1170 +0,0 @@ -"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Packages with extra build options :h3 - -When building with some packages, additional steps may be required, -in addition to: - --D PKG_NAME=yes # CMake -make yes-name # make :pre - -as described on the "Build_package"_Build_package.html doc page. - -For a CMake build there may be additional optional or required -variables to set. For a build with make, a provided library under the -lammps/lib directory may need to be built first. Or an external -library may need to exist on your system or be downloaded and built. -You may need to tell LAMMPS where it is found on your system. - -This is the list of packages that may require additional steps. - -"COMPRESS"_#compress, -"GPU"_#gpu, -"KIM"_#kim, -"KOKKOS"_#kokkos, -"LATTE"_#latte, -"MESSAGE"_#message, -"MSCG"_#mscg, -"OPT"_#opt, -"POEMS"_#poems, -"PYTHON"_#python, -"VORONOI"_#voronoi, -"USER-ADIOS"_#user-adios, -"USER-ATC"_#user-atc, -"USER-AWPMD"_#user-awpmd, -"USER-COLVARS"_#user-colvars, -"USER-H5MD"_#user-h5md, -"USER-INTEL"_#user-intel, -"USER-MOLFILE"_#user-molfile, -"USER-NETCDF"_#user-netcdf, -"USER-PLUMED"_#user-plumed, -"USER-OMP"_#user-omp, -"USER-QMMM"_#user-qmmm, -"USER-QUIP"_#user-quip, -"USER-SCAFACOS"_#user-scafacos, -"USER-SMD"_#user-smd, -"USER-VTK"_#user-vtk :tb(c=6,ea=c,a=l) - -:line - -COMPRESS package :h4,link(compress) - -To build with this package you must have the zlib compression library -available on your system. - -[CMake build]: - -If CMake cannot find the library, you can set these variables: - --D ZLIB_INCLUDE_DIR=path # path to zlib.h header file --D ZLIB_LIBRARIES=path # path to libz.a (.so) file :pre - -[Traditional make]: - -If make cannot find the library, you can edit the -lib/compress/Makefile.lammps file to specify the paths and library -name. - -:line - -GPU package :h4,link(gpu) - -To build with this package, you must choose options for precision and -which GPU hardware to build for. - -[CMake build]: - --D GPU_API=value # value = opencl (default) or cuda --D GPU_PREC=value # precision setting - # value = double or mixed (default) or single --D OCL_TUNE=value # hardware choice for GPU_API=opencl - # generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA) --D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda - # value = sm_XX, see below - # default is sm_30 --D CUDPP_OPT=value # optimization setting for GPU_API=cuda - # enables CUDA Performance Primitives Optimizations - # value = yes (default) or no --D CUDA_MPS_SUPPORT=value # enables some tweaks required to run with active nvidia-cuda-mps daemon - # value = yes or no (default) :pre - -GPU_ARCH settings for different GPU hardware is as follows: - -sm_12 or sm_13 for GT200 (supported by CUDA 3.2 until CUDA 6.5) -sm_20 or sm_21 for Fermi (supported by CUDA 3.2 until CUDA 7.5) -sm_30 or sm_35 or sm_37 for Kepler (supported since CUDA 5) -sm_50 or sm_52 for Maxwell (supported since CUDA 6) -sm_60 or sm_61 for Pascal (supported since CUDA 8) -sm_70 for Volta (supported since CUDA 9) -sm_75 for Turing (supported since CUDA 10) :ul - -A more detailed list can be found, for example, -at "Wikipedia's CUDA article"_https://en.wikipedia.org/wiki/CUDA#GPUs_supported - -CMake can detect which version of the CUDA toolkit is used and thus can -include support for [all] major GPU architectures supported by this toolkit. -Thus the GPU_ARCH setting is merely an optimization, to have code for -the preferred GPU architecture directly included rather than having to wait -for the JIT compiler of the CUDA driver to translate it. - -[Traditional make]: - -Before building LAMMPS, you must build the GPU library in lib/gpu. -You can do this manually if you prefer; follow the instructions in -lib/gpu/README. Note that the GPU library uses MPI calls, so you must -use the same MPI library (or the STUBS library) settings as the main -LAMMPS code. This also applies to the -DLAMMPS_BIGBIG, --DLAMMPS_SMALLBIG, or -DLAMMPS_SMALLSMALL settings in whichever -Makefile you use. - -You can also build the library in one step from the lammps/src dir, -using a command like these, which simply invoke the lib/gpu/Install.py -script with the specified args: - -make lib-gpu # print help message -make lib-gpu args="-b" # build GPU library with default Makefile.linux -make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision -make lib-gpu args="-m mpi -a sm_60 -p mixed -b" # build GPU library with mixed precision and P100 using other settings in Makefile.mpi :pre - -Note that this procedure starts with a Makefile.machine in lib/gpu, as -specified by the "-m" switch. For your convenience, machine makefiles -for "mpi" and "serial" are provided, which have the same settings as -the corresponding machine makefiles in the main LAMMPS source -folder. In addition you can alter 4 important settings in the -Makefile.machine you start from via the corresponding -c, -a, -p, -e -switches (as in the examples above), and also save a copy of the new -Makefile if desired: - -CUDA_HOME = where NVIDIA CUDA software is installed on your system -CUDA_ARCH = sm_XX, what GPU hardware you have, same as CMake GPU_ARCH above -CUDA_PRECISION = precision (double, mixed, single) -EXTRAMAKE = which Makefile.lammps.* file to copy to Makefile.lammps :ul - -The file Makefile.linux_multi is set up to include support for multiple -GPU architectures as supported by the CUDA toolkit in use. This is done -through using the "--gencode " flag, which can be used multiple times and -thus support all GPU architectures supported by your CUDA compiler. - -If the library build is successful, 3 files should be created: -lib/gpu/libgpu.a, lib/gpu/nvc_get_devices, and -lib/gpu/Makefile.lammps. The latter has settings that enable LAMMPS -to link with CUDA libraries. If the settings in Makefile.lammps for -your machine are not correct, the LAMMPS build will fail, and -lib/gpu/Makefile.lammps may need to be edited. - -NOTE: If you re-build the GPU library in lib/gpu, you should always -un-install the GPU package in lammps/src, then re-install it and -re-build LAMMPS. This is because the compilation of files in the GPU -package uses the library settings from the lib/gpu/Makefile.machine -used to build the GPU library. - - -:line - -KIM package :h4,link(kim) - -To build with this package, the KIM library with API v2 must be downloaded -and built on your system. It must include the KIM models that you want to -use with LAMMPS. If you want to use the "kim_query"_kim_commands.html -command, you also need to have libcurl installed with the matching -development headers and the curl-config tool. - -See "Obtaining KIM Models"_http://openkim.org/doc/usage/obtaining-models to -learn how to install a pre-build binary of the OpenKIM Repository of Models. -See the list of all KIM models here: https://openkim.org/browse/models - -(Also note that when downloading and installing from source -the KIM API library with all its models, may take a long time (tens of -minutes to hours) to build. Of course you only need to do that once.) - -[CMake build]: - --D DOWNLOAD_KIM=value # download OpenKIM API v2 for build, value = no (default) or yes --D LMP_DEBUG_CURL=value # set libcurl verbose mode on/off, value = off (default) or on --D LMP_NO_SSL_CHECK=value # tell libcurl to not verify the peer, value = no (default) or yes -:pre - -If DOWNLOAD_KIM is set, the KIM library will be downloaded and built -inside the CMake build directory. If the KIM library is already on -your system (in a location CMake cannot find it), set the PKG_CONFIG_PATH -environment variable so that libkim-api can be found. - -For using OpenKIM web queries in LAMMPS. - -If LMP_DEBUG_CURL is set, the libcurl verbose mode will be on, and any -libcurl calls within the KIM web query display a lot of information about -libcurl operations. You hardly ever want this set in production use, you will -almost always want this when you debug/report problems. - -The libcurl performs peer SSL certificate verification by default. This -verification is done using a CA certificate store that the SSL library can -use to make sure the peer's server certificate is valid. If SSL reports an -error ("certificate verify failed") during the handshake and thus refuses -further communication with that server, you can set LMP_NO_SSL_CHECK. -If LMP_NO_SSL_CHECK is set, libcurl does not verify the peer and connection -succeeds regardless of the names in the certificate. This option is insecure. -As an alternative, you can specify your own CA cert path by setting the -environment variable CURL_CA_BUNDLE to the path of your choice. A call to the -KIM web query would get this value from the environmental variable. - -[Traditional make]: - -You can download and build the KIM library manually if you prefer; -follow the instructions in lib/kim/README. You can also do it in one -step from the lammps/src dir, using a command like these, which simply -invoke the lib/kim/Install.py script with the specified args. - -make lib-kim # print help message -make lib-kim args="-b " # (re-)install KIM API lib with only example models -make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model -make lib-kim args="-b -a everything" # install KIM API lib with all models -make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver -make lib-kim args="-p /usr/local" # use an existing KIM API installation at the provided location -make lib-kim args="-p /usr/local -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver :pre - -:line - -KOKKOS package :h4,link(kokkos) - -To build with this package, you must choose which hardware you want to -build for, either CPUs (multi-threading via OpenMP) or KNLs (OpenMP) -or GPUs (NVIDIA Cuda). - -For a CMake or make build, these are the possible choices for the -KOKKOS_ARCH settings described below. Note that for CMake, these are -really Kokkos variables, not LAMMPS variables. Hence you must use -case-sensitive values, e.g. BDW, not bdw. - -ARMv80 = ARMv8.0 Compatible CPU -ARMv81 = ARMv8.1 Compatible CPU -ARMv8-ThunderX = ARMv8 Cavium ThunderX CPU -BGQ = IBM Blue Gene/Q CPUs -Power8 = IBM POWER8 CPUs -Power9 = IBM POWER9 CPUs -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 -Volta70 = NVIDIA Volta generation CC 7.0 -Volta72 = NVIDIA Volta generation CC 7.2 -Turing75 = NVIDIA Turing generation CC 7.5 :ul - -[CMake build]: - -For multicore CPUs using OpenMP, set these 2 variables. - --D KOKKOS_ARCH=archCPU # archCPU = CPU from list above --D KOKKOS_ENABLE_OPENMP=yes :pre - -For Intel KNLs using OpenMP, set these 2 variables: - --D KOKKOS_ARCH=KNL --D KOKKOS_ENABLE_OPENMP=yes :pre - -For NVIDIA GPUs using CUDA, set these 4 variables: - --D KOKKOS_ARCH="archCPU;archGPU" # archCPU = CPU from list above that is hosting the GPU - # archGPU = GPU from list above --D KOKKOS_ENABLE_CUDA=yes --D KOKKOS_ENABLE_OPENMP=yes --D CMAKE_CXX_COMPILER=wrapper # wrapper = full path to Cuda nvcc wrapper :pre - -The wrapper value is the Cuda nvcc compiler wrapper provided in the -Kokkos library: lib/kokkos/bin/nvcc_wrapper. The setting should -include the full path name to the wrapper, e.g. - --D CMAKE_CXX_COMPILER=/home/username/lammps/lib/kokkos/bin/nvcc_wrapper :pre - -[Traditional make]: - -Choose which hardware to support in Makefile.machine via -KOKKOS_DEVICES and KOKKOS_ARCH settings. See the -src/MAKE/OPTIONS/Makefile.kokkos* files for examples. - -For multicore CPUs using OpenMP: - -KOKKOS_DEVICES = OpenMP -KOKKOS_ARCH = archCPU # archCPU = CPU from list above :pre - -For Intel KNLs using OpenMP: - -KOKKOS_DEVICES = OpenMP -KOKKOS_ARCH = KNL :pre - -For NVIDIA GPUs using CUDA: - -KOKKOS_DEVICES = Cuda -KOKKOS_ARCH = archCPU,archGPU # archCPU = CPU from list above that is hosting the GPU - # archGPU = GPU from list above :pre - -For GPUs, you also need these 2 lines in your Makefile.machine before -the CC line is defined, in this case for use with OpenMPI mpicxx. The -2 lines define a nvcc wrapper compiler, which will use nvcc for -compiling CUDA files and use a C++ compiler for non-Kokkos, non-CUDA -files. - -KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd) -export OMPI_CXX = $(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper -CC = mpicxx :pre - -:line - -LATTE package :h4,link(latte) - -To build with this package, you must download and build the LATTE -library. - -[CMake build]: - --D DOWNLOAD_LATTE=value # download LATTE for build, value = no (default) or yes --D LATTE_LIBRARY=path # LATTE library file (only needed if a custom location) :pre - -If DOWNLOAD_LATTE is set, the LATTE library will be downloaded and -built inside the CMake build directory. If the LATTE library is -already on your system (in a location CMake cannot find it), -LATTE_LIBRARY is the filename (plus path) of the LATTE library file, -not the directory the library file is in. - -[Traditional make]: - -You can download and build the LATTE library manually if you prefer; -follow the instructions in lib/latte/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invokes the lib/latte/Install.py script with the specified -args: - -make lib-latte # print help message -make lib-latte args="-b" # download and build in lib/latte/LATTE-master -make lib-latte args="-p $HOME/latte" # use existing LATTE installation in $HOME/latte -make lib-latte args="-b -m gfortran" # download and build in lib/latte and - # copy Makefile.lammps.gfortran to Makefile.lammps -:pre - -Note that 3 symbolic (soft) links, "includelink" and "liblink" and -"filelink.o", are created in lib/latte to point into the LATTE home -dir. When LAMMPS itself is built it will use these links. You should -also check that the Makefile.lammps file you create is appropriate for -the compiler you use on your system to build LATTE. - -:line - -MESSAGE package :h4,link(message) - -This package can optionally include support for messaging via sockets, -using the open-source "ZeroMQ library"_http://zeromq.org, which must -be installed on your system. - -[CMake build]: - --D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes --D ZMQ_LIBRARY=path # ZMQ library file (only needed if a custom location) --D ZMQ_INCLUDE_DIR=path # ZMQ include directory (only needed if a custom location) -:pre - -[Traditional make]: - -Before building LAMMPS, you must build the CSlib library in -lib/message. You can build the CSlib library manually if you prefer; -follow the instructions in lib/message/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invoke the lib/message/Install.py script with the specified args: - -make lib-message # print help message -make lib-message args="-m -z" # build with MPI and socket (ZMQ) support -make lib-message args="-s" # build as serial lib with no ZMQ support -:pre - -The build should produce two files: lib/message/cslib/src/libmessage.a -and lib/message/Makefile.lammps. The latter is copied from an -existing Makefile.lammps.* and has settings to link with the ZeroMQ -library if requested in the build. - -:line - -MSCG package :h4,link(mscg) - -To build with this package, you must download and build the MS-CG -library. Building the MS-CG library and using it from LAMMPS requires -a C++11 compatible compiler and that the GSL (GNU Scientific Library) -headers and libraries are installed on your machine. See the -lib/mscg/README and MSCG/Install files for more details. - -[CMake build]: - --D DOWNLOAD_MSCG=value # download MSCG for build, value = no (default) or yes --D MSCG_LIBRARY=path # MSCG library file (only needed if a custom location) --D MSCG_INCLUDE_DIR=path # MSCG include directory (only needed if a custom location) :pre - -If DOWNLOAD_MSCG is set, the MSCG library will be downloaded and built -inside the CMake build directory. If the MSCG library is already on -your system (in a location CMake cannot find it), MSCG_LIBRARY is the -filename (plus path) of the MSCG library file, not the directory the -library file is in. MSCG_INCLUDE_DIR is the directory the MSCG -include file is in. - -[Traditional make]: - -You can download and build the MS-CG library manually if you prefer; -follow the instructions in lib/mscg/README. You can also do it in one -step from the lammps/src dir, using a command like these, which simply -invoke the lib/mscg/Install.py script with the specified args: - -make lib-mscg # print help message -make lib-mscg args="-b -m serial" # download and build in lib/mscg/MSCG-release-master - # with the settings compatible with "make serial" -make lib-mscg args="-b -m mpi" # download and build in lib/mscg/MSCG-release-master - # with the settings compatible with "make mpi" -make lib-mscg args="-p /usr/local/mscg-release" # use the existing MS-CG installation in /usr/local/mscg-release :pre - -Note that 2 symbolic (soft) links, "includelink" and "liblink", will -be created in lib/mscg to point to the MS-CG src/installation dir. -When LAMMPS is built in src it will use these links. You should not -need to edit the lib/mscg/Makefile.lammps file. - -:line - -OPT package :h4,link(opt) - -[CMake build]: - -No additional settings are needed besides "-D PKG_OPT=yes". - -[Traditional make]: - -The compile flag "-restrict" must be used to build LAMMPS with the OPT -package when using Intel compilers. It should be added to the CCFLAGS -line of your Makefile.machine. See src/MAKE/OPTIONS/Makefile.opt for -an example. - -:line - -POEMS package :h4,link(poems) - -[CMake build]: - -No additional settings are needed besides "-D PKG_OPT=yes". - -[Traditional make]: - -Before building LAMMPS, you must build the POEMS library in lib/poems. -You can do this manually if you prefer; follow the instructions in -lib/poems/README. You can also do it in one step from the lammps/src -dir, using a command like these, which simply invoke the -lib/poems/Install.py script with the specified args: - -make lib-poems # print help message -make lib-poems args="-m serial" # build with GNU g++ compiler (settings as with "make serial") -make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi") -make lib-poems args="-m icc" # build with Intel icc compiler :pre - -The build should produce two files: lib/poems/libpoems.a and -lib/poems/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the -POEMS library (though typically the settings are just blank). If -necessary, you can edit/create a new lib/poems/Makefile.machine file -for your system, which should define an EXTRAMAKE variable to specify -a corresponding Makefile.lammps.machine file. - -:line - -PYTHON package :h4,link(python) - -Building with the PYTHON package requires you have a Python shared -library available on your system, which needs to be a Python 2 -version, 2.6 or later. Python 3 is not yet supported. See -lib/python/README for more details. - -[CMake build]: - --D PYTHON_EXECUTABLE=path # path to Python executable to use :pre - -Without this setting, CMake will guess the default Python on your -system. To use a different Python version, you can either create a -virtualenv, activate it and then run cmake. Or you can set the -PYTHON_EXECUTABLE variable to specify which Python interpreter should -be used. Note note that you will also need to have the development -headers installed for this version, e.g. python2-devel. - -[Traditional make]: - -The build uses the lib/python/Makefile.lammps file in the compile/link -process to find Python. You should only need to create a new -Makefile.lammps.* file (and copy it to Makefile.lammps) if the LAMMPS -build fails. - -:line - -VORONOI package :h4,link(voronoi) - -To build with this package, you must download and build the "Voro++ -library"_voro-home. - -:link(voro-home,http://math.lbl.gov/voro++) - -[CMake build]: - --D DOWNLOAD_VORO=value # download Voro++ for build, value = no (default) or yes --D VORO_LIBRARY=path # Voro++ library file (only needed if at custom location) --D VORO_INCLUDE_DIR=path # Voro++ include directory (only needed if at custom location) :pre - -If DOWNLOAD_VORO is set, the Voro++ library will be downloaded and -built inside the CMake build directory. If the Voro++ library is -already on your system (in a location CMake cannot find it), -VORO_LIBRARY is the filename (plus path) of the Voro++ library file, -not the directory the library file is in. VORO_INCLUDE_DIR is the -directory the Voro++ include file is in. - -[Traditional make]: - -You can download and build the Voro++ library manually if you prefer; -follow the instructions in lib/voronoi/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invoke the lib/voronoi/Install.py script with the specified -args: - -make lib-voronoi # print help message -make lib-voronoi args="-b" # download and build the default version in lib/voronoi/voro++- -make lib-voronoi args="-p $HOME/voro++" # use existing Voro++ installation in $HOME/voro++ -make lib-voronoi args="-b -v voro++0.4.6" # download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6 :pre - -Note that 2 symbolic (soft) links, "includelink" and "liblink", are -created in lib/voronoi to point to the Voro++ src dir. When LAMMPS -builds in src it will use these links. You should not need to edit -the lib/voronoi/Makefile.lammps file. - -:line - -USER-ADIOS package :h4,link(user-adios) - -The USER-ADIOS package requires the "ADIOS I/O library"_https://github.com/ornladios/ADIOS2, -version 2.3.1 or newer. Make sure that you have ADIOS built either with or -without MPI to match if you build LAMMPS with or without MPI. -ADIOS compilation settings for LAMMPS are automatically detected, if the PATH -and LD_LIBRARY_PATH environment variables have been updated for the local ADIOS -installation and the instructions below are followed for the respective build systems. - -[CMake build]: - --D ADIOS2_DIR=path # path is where ADIOS 2.x is installed --D PKG_USER-ADIOS=yes :pre - -[Traditional make]: - -Turn on the USER-ADIOS package before building LAMMPS. If the ADIOS 2.x software is installed in PATH, there is nothing else to do: - -make yes-user-adios :pre - -otherwise, set ADIOS2_DIR environment variable when turning on the package: - -ADIOS2_DIR=path make yes-user-adios # path is where ADIOS 2.x is installed :pre - -:line - -USER-ATC package :h4,link(user-atc) - -The USER-ATC package requires the MANYBODY package also be installed. - -[CMake build]: - -No additional settings are needed besides "-D PKG_USER-ATC=yes" -and "-D PKG_MANYBODY=yes". - -[Traditional make]: - -Before building LAMMPS, you must build the ATC library in lib/atc. -You can do this manually if you prefer; follow the instructions in -lib/atc/README. You can also do it in one step from the lammps/src -dir, using a command like these, which simply invoke the -lib/atc/Install.py script with the specified args: - -make lib-atc # print help message -make lib-atc args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial") -make lib-atc args="-m mpi" # build with default MPI compiler (settings as with "make mpi") -make lib-atc args="-m icc" # build with Intel icc compiler :pre - -The build should produce two files: lib/atc/libatc.a and -lib/atc/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the ATC -library. If necessary, you can edit/create a new -lib/atc/Makefile.machine file for your system, which should define an -EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine -file. - -Note that the Makefile.lammps file has settings for the BLAS and -LAPACK linear algebra libraries. As explained in lib/atc/README these -can either exist on your system, or you can use the files provided in -lib/linalg. In the latter case you also need to build the library in -lib/linalg with a command like these: - -make lib-linalg # print help message -make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial") -make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi") -make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre - -:line - -USER-AWPMD package :h4,link(user-awpmd) - -[CMake build]: - -No additional settings are needed besides "-D PKG_USER-AQPMD=yes". - -[Traditional make]: - -Before building LAMMPS, you must build the AWPMD library in lib/awpmd. -You can do this manually if you prefer; follow the instructions in -lib/awpmd/README. You can also do it in one step from the lammps/src -dir, using a command like these, which simply invoke the -lib/awpmd/Install.py script with the specified args: - -make lib-awpmd # print help message -make lib-awpmd args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial") -make lib-awpmd args="-m mpi" # build with default MPI compiler (settings as with "make mpi") -make lib-awpmd args="-m icc" # build with Intel icc compiler :pre - -The build should produce two files: lib/awpmd/libawpmd.a and -lib/awpmd/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the -AWPMD library. If necessary, you can edit/create a new -lib/awpmd/Makefile.machine file for your system, which should define -an EXTRAMAKE variable to specify a corresponding -Makefile.lammps.machine file. - -Note that the Makefile.lammps file has settings for the BLAS and -LAPACK linear algebra libraries. As explained in lib/awpmd/README -these can either exist on your system, or you can use the files -provided in lib/linalg. In the latter case you also need to build the -library in lib/linalg with a command like these: - -make lib-linalg # print help message -make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial") -make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi") -make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre - -:line - -USER-COLVARS package :h4,link(user-colvars) - -This package includes into the LAMMPS distribution the Colvars library, which -can be built for the most part with all major versions of the C++ language. - -A few of the most recent features require C++11 support. In particular, the -library is optionally built together with the -"Lepton"_https://simtk.org/projects/lepton library, a copy of which is also -included in the LAMMPS distribution. Lepton implements the -"customFunction"_http://colvars.github.io/colvars-refman-lammps/colvars-refman-lammps.html#colvar|customFunction -feature, and requires C++11 support. - -See "here"_https://colvars.github.io/README-c++11.html for a detailed list of -C++11-only features. - -[CMake build]: - -This is the recommended build recipe: no additional settings are normally -needed besides "-D PKG_USER-COLVARS=yes". - -Building and linking of Lepton (or other C++11-only features) is enabled -automatically when compilation is carried out with C++11 support, and disabled -otherwise. Optionally, Lepton build may be manually controlled with the flag -"-D COLVARS_LEPTON=yes|no". - -[Traditional make]: - -Before building LAMMPS, one must build the Colvars library in lib/colvars. - -This can be done manually in the same folder by using or adapting one of the -provided Makefiles: for example, Makefile.g++ for the GNU compiler. - -In general, it is safer to use build setting consistent with the rest of -LAMMPS. This is best carried out from the LAMMPS src directory using a -command like these, which simply invoke the lib/colvars/Install.py script with -the specified args: - -make lib-colvars # print help message -make lib-colvars args="-m serial" # build with GNU g++ compiler (settings as with "make serial") -make lib-colvars args="-m mpi" # build with default MPI compiler (settings as with "make mpi") -make lib-colvars args="-m g++-debug" # build with GNU g++ compiler and colvars debugging enabled :pre - -The "machine" argument of the "-m" flag is used to find a Makefile.machine to -use as build recipe. If it does not already exist in lib/colvars, it will be -auto-generated by using compiler flags consistent with those parsed from the -core LAMMPS makefiles. - -Optional flags may be specified as environment variables: - -COLVARS_DEBUG=yes make lib-colvars args="-m machine" # Build with debug code (much slower) -COLVARS_LEPTON=no make lib-colvars args="-m machine" # Build without Lepton (included otherwise) - -The build should produce two files: the library lib/colvars/libcolvars.a -(which also includes Lepton objects if enabled) and the specification file -lib/colvars/Makefile.lammps. The latter is auto-generated, and normally does -not need to be edited. - - -:line - -USER-PLUMED package :h4,link(user-plumed) - -Before building LAMMPS with this package, you must first build PLUMED. -PLUMED can be built as part of the LAMMPS build or installed separately -from LAMMPS using the generic "plumed installation instructions"_plumedinstall. -:link(plumedinstall,http://plumed.github.io/doc-master/user-doc/html/_installation.html) - -PLUMED can be linked into MD codes in three different modes: static, -shared, and runtime. With the "static" mode, all the code that PLUMED -requires is linked statically into LAMMPS. LAMMPS is then fully -independent from the PLUMED installation, but you have to rebuild/relink -it in order to update the PLUMED code inside it. With the "shared" -linkage mode, LAMMPS is linked to a shared library that contains the -PLUMED code. This library should preferably be installed in a globally -accessible location. When PLUMED is linked in this way the same library -can be used by multiple MD packages. Furthermore, the PLUMED library -LAMMPS uses can be updated without the need for a recompile of LAMMPS -for as long as the shared PLUMED library is ABI-compatible. - -The third linkage mode is "runtime" which allows the user to specify -which PLUMED kernel should be used at runtime by using the PLUMED_KERNEL -environment variable. This variable should point to the location of the -libplumedKernel.so dynamical shared object, which is then loaded at -runtime. This mode of linking is particularly convenient for doing -PLUMED development and comparing multiple PLUMED versions as these sorts -of comparisons can be done without recompiling the hosting MD code. All -three linkage modes are supported by LAMMPS on selected operating -systems (e.g. Linux) and using either CMake or traditional make -build. The "static" mode should be the most portable, while the -"runtime" mode support in LAMMPS makes the most assumptions about -operating system and compiler environment. If one mode does not work, -try a different one, switch to a different build system, consider a -global PLUMED installation or consider downloading PLUMED during the -LAMMPS build. - -[CMake build]: - -When the "-D PKG_USER-PLUMED" flag is included in the cmake command you -must ensure that GSL is installed in locations that are specified in -your environment. There are then two additional commands that control -the manner in which PLUMED is obtained and linked into LAMMPS. - --D DOWNLOAD_PLUMED=value # download PLUMED for build, value = no (default) or yes --D PLUMED_MODE=value # Linkage mode for PLUMED, value = static (default), shared, or runtime :pre - -If DOWNLOAD_PLUMED is set to "yes", the PLUMED library will be -downloaded (the version of PLUMED that will be downloaded is hard-coded -to a vetted version of PLUMED, usually a recent stable release version) -and built inside the CMake build directory. If DOWNLOAD_PLUMED is set -to "no" (the default), CMake will try to detect and link to an installed -version of PLUMED. For this to work, the PLUMED library has to be -installed into a location where the pkg-config tool can find it or the -PKG_CONFIG_PATH environment variable has to be set up accordingly. -PLUMED should be installed in such a location if you compile it using -the default make; make install commands. - -The PLUMED_MODE setting determines the linkage mode for the PLUMED -library. The allowed values for this flag are "static" (default), -"shared", or "runtime". For a discussion of PLUMED linkage modes, -please see above. When DOWNLOAD_PLUMED is enabled the static linkage -mode is recommended. - -[Traditional make]: - -PLUMED needs to be installed before the USER-PLUMED package is installed -so that LAMMPS can find the right settings when compiling and linking -the LAMMPS executable. You can either download and build PLUMED inside -the LAMMPS plumed library folder or use a previously installed PLUMED -library and point LAMMPS to its location. You also have to choose the -linkage mode: "static" (default), "shared" or "runtime". For a -discussion of PLUMED linkage modes, please see above. - -Download/compilation/configuration of the plumed library can be done -from the src folder through the following make args: - -make lib-plumed # print help message -make lib-plumed args="-b" # download and build PLUMED in lib/plumed/plumed2 -make lib-plumed args="-p $HOME/.local" # use existing PLUMED installation in $HOME/.local -make lib-plumed args="-p /usr/local -m shared" # use existing PLUMED installation in - # /usr/local and use shared linkage mode -:pre - -Note that 2 symbolic (soft) links, "includelink" and "liblink" are -created in lib/plumed that point to the location of the PLUMED build to -use. A new file lib/plumed/Makefile.lammps is also created with settings -suitable for LAMMPS to compile and link PLUMED using the desired linkage -mode. After this step is completed, you can install the USER-PLUMED -package and compile LAMMPS in the usual manner: - -make yes-user-plumed -make machine :pre - -Once this compilation completes you should be able to run LAMMPS in the -usual way. For shared linkage mode, libplumed.so must be found by the -LAMMPS executable, which on many operating systems means, you have to -set the LD_LIBRARY_PATH environment variable accordingly. - -Support for the different linkage modes in LAMMPS varies for different -operating systems, using the static linkage is expected to be the most -portable, and thus set to be the default. - -If you want to change the linkage mode, you have to re-run "make -lib-plumed" with the desired settings [and] do a re-install if the -USER-PLUMED package with "make yes-user-plumed" to update the required -makefile settings with the changes in the lib/plumed folder. - -:line - -USER-H5MD package :h4,link(user-h5md) - -To build with this package you must have the HDF5 software package -installed on your system, which should include the h5cc compiler and -the HDF5 library. - -[CMake build]: - -No additional settings are needed besides "-D PKG_USER-H5MD=yes". - -This should auto-detect the H5MD library on your system. Several -advanced CMake H5MD options exist if you need to specify where it is -installed. Use the ccmake (terminal window) or cmake-gui (graphical) -tools to see these options and set them interactively from their user -interfaces. - -[Traditional make]: - -Before building LAMMPS, you must build the CH5MD library in lib/h5md. -You can do this manually if you prefer; follow the instructions in -lib/h5md/README. You can also do it in one step from the lammps/src -dir, using a command like these, which simply invoke the -lib/h5md/Install.py script with the specified args: - -make lib-h5md # print help message -make lib-h5md args="-m h5cc" # build with h5cc compiler :pre - -The build should produce two files: lib/h5md/libch5md.a and -lib/h5md/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the -system HDF5 library. If necessary, you can edit/create a new -lib/h5md/Makefile.machine file for your system, which should define an -EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine -file. - -:line - -USER-INTEL package :h4,link(user-intel) - -To build with this package, you must choose which hardware you want to -build for, either x86 CPUs or Intel KNLs in offload mode. You should -also typically "install the USER-OMP package"_#user-omp, as it can be -used in tandem with the USER-INTEL package to good effect, as explained -on the "Speed intel"_Speed_intel.html doc page. - -[CMake build]: - --D INTEL_ARCH=value # value = cpu (default) or knl --D INTEL_LRT_MODE=value # value = threads, none, or c++11 :pre - -In Long-range thread mode (LRT) a modified verlet style is used, that -operates the Kspace calculation in a separate thread concurrently to -other calculations. This has to be enabled in the "package intel"_package.html -command at runtime. With the setting "threads" it used the pthreads -library, while c++11 will use the built-in thread support of C++11 -compilers. The option "none" skips compilation of this feature. The -default is to use "threads" if pthreads is available and otherwise "none". - -Best performance is achieved with Intel hardware, Intel compilers, as well as -the Intel TBB and MKL libraries. However, the code also compiles, links, and -runs with other compilers and without TBB and MKL. - -[Traditional make]: - -Choose which hardware to compile for in Makefile.machine via the -following settings. See src/MAKE/OPTIONS/Makefile.intel_cpu* and -Makefile.knl files for examples. and src/USER-INTEL/README for -additional information. - -For CPUs: - -OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high -CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS) -LINKFLAGS = -g -qopenmp $(OPTFLAGS) -LIB = -ltbbmalloc :pre - -For KNLs: - -OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload -fno-alias -ansi-alias -restrict $(OPTFLAGS) -LINKFLAGS = -g -qopenmp $(OPTFLAGS) -LIB = -ltbbmalloc :pre - -:line - -USER-MOLFILE package :h4,link(user-molfile) - -[CMake build]: - --D MOLFILE_INCLUDE_DIRS=path # (optional) path where VMD molfile plugin headers are installed --D PKG_USER-MOLFILE=yes :pre - - -Using "-D PKG_USER-MOLFILE=yes" enables the package, and setting -"-D MOLFILE_INCLUDE DIRS" allows to provide a custom location for -the molfile plugin header files. These should match the ABI of the -plugin files used, and thus one typically sets them to include -folder of the local VMD installation in use. LAMMPS ships with a -couple of default header files that correspond to a popular VMD -version, usually the latest release. - -[Traditional make]: - -The lib/molfile/Makefile.lammps file has a setting for a dynamic -loading library libdl.a that is typically present on all systems. It -is required for LAMMPS to link with this package. If the setting is -not valid for your system, you will need to edit the Makefile.lammps -file. See lib/molfile/README and lib/molfile/Makefile.lammps for -details. It is also possible to configure a different folder with -the VMD molfile plugin header files. LAMMPS ships with a couple of -default headers, but these are not compatible with all VMD versions, -so it is often best to change this setting to the location of the -same include files of the local VMD installation in use. - -:line - -USER-NETCDF package :h4,link(user-netcdf) - -To build with this package you must have the NetCDF library installed -on your system. - -[CMake build]: - -No additional settings are needed besides "-D PKG_USER-NETCDF=yes". - -This should auto-detect the NETCDF library if it is installed on your -system at standard locations. Several advanced CMake NETCDF options -exist if you need to specify where it was installed. Use the ccmake -(terminal window) or cmake-gui (graphical) tools to see these options -and set them interactively from their user interfaces. - -[Traditional make]: - -The lib/netcdf/Makefile.lammps file has settings for NetCDF include -and library files which LAMMPS needs to build with this package. If -the settings are not valid for your system, you will need to edit the -Makefile.lammps file. See lib/netcdf/README for details. - -:line - -USER-OMP package :h4,link(user-omp) - -[CMake build]: - -No additional settings are required besides "-D PKG_USER-OMP=yes". If -CMake detects OpenMP support, the USER-OMP code will be compiled with -multi-threading support enabled, otherwise as optimized serial code. - -[Traditional make]: - -To enable multi-threading support in the USER-OMP package (and other -styles supporting OpenMP) the following compile and link flags must -be added to your Makefile.machine file. -See src/MAKE/OPTIONS/Makefile.omp for an example. - -CCFLAGS: -fopenmp # for GNU Compilers -CCFLAGS: -qopenmp -restrict # for Intel compilers on Linux -LINKFLAGS: -fopenmp # for GNU Compilers -LINKFLAGS: -qopenmp # for Intel compilers on Linux :pre - -For other platforms and compilers, please consult the documentation -about OpenMP support for your compiler. Please see the note about -how to address compatibility "issues with the 'default(none)' -directive"_Build_basics.html#default-none-issues of some compilers. - -:line - -USER-QMMM package :h4,link(user-qmmm) - -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 (pwqmmm.x) which links LAMMPS and Quantum -ESPRESSO together. These are steps 3 and 4 described in the -lib/qmmm/README file. Unfortunately, the Quantum ESPRESSO developers -have been breaking the interface that the QM/MM code in LAMMPS is using, -so that currently (Summer 2018) using this feature requires either -correcting the library interface feature in recent Quantum ESPRESSO -releases, or using an outdated version of QE. The last version of -Quantum ESPRESSO known to work with this QM/MM interface was version -5.4.1 from 2016. - -[CMake build]: - -The CMake build system currently does not support building the full -QM/MM-capable hybrid executable of LAMMPS and QE called pwqmmm.x. -You must use the traditional make build for this package. - -[Traditional make]: - -Before building LAMMPS, you must build the QMMM library in lib/qmmm. -You can do this manually if you prefer; follow the first two steps -explained in lib/qmmm/README. You can also do it in one step from the -lammps/src dir, using a command like these, which simply invoke the -lib/qmmm/Install.py script with the specified args: - -make lib-qmmm # print help message -make lib-qmmm args="-m serial" # build with GNU Fortran compiler (settings as in "make serial") -make lib-qmmm args="-m mpi" # build with default MPI compiler (settings as in "make mpi") -make lib-qmmm args="-m gfortran" # build with GNU Fortran compiler :pre - -The build should produce two files: lib/qmmm/libqmmm.a and -lib/qmmm/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.* and has settings needed to build LAMMPS with the -QMMM library (though typically the settings are just blank). If -necessary, you can edit/create a new lib/qmmm/Makefile.machine file -for your system, which should define an EXTRAMAKE variable to specify -a corresponding Makefile.lammps.machine file. - -You can then install QMMM package and build LAMMPS in the usual -manner. After completing the LAMMPS build and compiling Quantum -ESPRESSO with external library support, go back to the lib/qmmm folder -and follow the instructions on the README file to build the combined -LAMMPS/QE QM/MM executable (pwqmmm.x) in the lib/qmmm folder. - -:line - -USER-QUIP package :h4,link(user-quip) - -To build with this package, you must download and build the QUIP -library. It can be obtained from GitHub. For support of GAP -potentials, additional files with specific licensing conditions need -to be downloaded and configured. See step 1 and step 1.1 in the -lib/quip/README file for details on how to do this. - -[CMake build]: - --D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location) :pre - -CMake will not download and build the QUIP library. But once you have -done that, a CMake build of LAMMPS with "-D PKG_USER-QUIP=yes" should -work. Set QUIP_LIBRARY if CMake cannot find the QUIP library. - -[Traditional make]: - -The download/build procedure for the QUIP library, described in -lib/quip/README file requires setting two environment variables, -QUIP_ROOT and QUIP_ARCH. These are accessed by the -lib/quip/Makefile.lammps file which is used when you compile and link -LAMMPS with this package. You should only need to edit -Makefile.lammps if the LAMMPS build can not use its settings to -successfully build on your system. - -:line - -USER-SCAFACOS package :h4,link(user-scafacos) - -To build with this package, you must download and build the "ScaFaCoS -Coulomb solver library"_scafacos-home - -:link(scafacos-home,http://www.scafacos.de) - -[CMake build]: - --D DOWNLOAD_SCAFACOS=value # download ScaFaCoS for build, value = no (default) or yes --D SCAFACOS_LIBRARY=path # ScaFaCos library file (only needed if at custom location) --D SCAFACOS_INCLUDE_DIR=path # ScaFaCoS include directory (only needed if at custom location) :pre - -If DOWNLOAD_SCAFACOS is set, the ScaFaCoS library will be downloaded -and built inside the CMake build directory. If the ScaFaCoS library -is already on your system (in a location CMake cannot find it), -SCAFACOS_LIBRARY is the filename (plus path) of the ScaFaCoS library -file, not the directory the library file is in. SCAFACOS_INCLUDE_DIR -is the directory the ScaFaCoS include file is in. - -[Traditional make]: - -You can download and build the ScaFaCoS library manually if you -prefer; follow the instructions in lib/scafacos/README. You can also -do it in one step from the lammps/src dir, using a command like these, -which simply invoke the lib/scafacos/Install.py script with the -specified args: - -make lib-scafacos # print help message -make lib-scafacos args="-b" # download and build in lib/scafacos/scafacos- -make lib-scafacos args="-p $HOME/scafacos # use existing ScaFaCoS installation in $HOME/scafacos - -Note that 2 symbolic (soft) links, "includelink" and "liblink", are -created in lib/scafacos to point to the ScaFaCoS src dir. When LAMMPS -builds in src it will use these links. You should not need to edit -the lib/scafacos/Makefile.lammps file. - -:line - -USER-SMD package :h4,link(user-smd) - -To build with this package, you must download the Eigen3 library. -Eigen3 is a template library, so you do not need to build it. - -[CMake build]: - --D DOWNLOAD_EIGEN3 # download Eigen3, value = no (default) or yes --D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location) :pre - -If DOWNLOAD_EIGEN3 is set, the Eigen3 library will be downloaded and -inside the CMake build directory. If the Eigen3 library is already on -your system (in a location CMake cannot find it), EIGEN3_INCLUDE_DIR -is the directory the Eigen3++ include file is in. - -[Traditional make]: - -You can download the Eigen3 library manually if you prefer; follow the -instructions in lib/smd/README. You can also do it in one step from -the lammps/src dir, using a command like these, which simply invoke -the lib/smd/Install.py script with the specified args: - -make lib-smd # print help message -make lib-smd args="-b" # download to lib/smd/eigen3 -make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3 :pre - -Note that a symbolic (soft) link named "includelink" is created in -lib/smd to point to the Eigen dir. When LAMMPS builds it will use -this link. You should not need to edit the lib/smd/Makefile.lammps -file. - -:line - -USER-VTK package :h4,link(user-vtk) - -To build with this package you must have the VTK library installed on -your system. - -[CMake build]: - -No additional settings are needed besides "-D PKG_USER-VTK=yes". - -This should auto-detect the VTK library if it is installed on your -system at standard locations. Several advanced VTK options exist if -you need to specify where it was installed. Use the ccmake (terminal -window) or cmake-gui (graphical) tools to see these options and set -them interactively from their user interfaces. - -[Traditional make]: - -The lib/vtk/Makefile.lammps file has settings for accessing VTK files -and its library, which LAMMPS needs to build with this package. If -the settings are not valid for your system, check if one of the other -lib/vtk/Makefile.lammps.* files is compatible and copy it to -Makefile.lammps. If none of the provided files work, you will need to -edit the Makefile.lammps file. See lib/vtk/README for details. diff --git a/doc/txt/Build_link.txt b/doc/txt/Build_link.txt deleted file mode 100644 index 706c51d6bccd3fea7e5158d6ae6f0a03f06b97a0..0000000000000000000000000000000000000000 --- a/doc/txt/Build_link.txt +++ /dev/null @@ -1,85 +0,0 @@ -"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Link LAMMPS as a library to another code :h3 - -LAMMPS can be used as a library by another application, including -Python scripts. The files src/library.cpp and library.h define the -C-style API for using LAMMPS as a library. See the "Howto -library"_Howto_library.html doc page for a description of the -interface and how to extend it for your needs. - -The "Build basics"_Build_basics.html doc page explains how to build -LAMMPS as either a shared or static library. This results in one of -these 2 files: - -liblammps.so # shared library -liblammps.a # static library - -:line - -[Link with LAMMPS as a static library]: - -The calling application can link to LAMMPS as a static library with a -link command like this: - -g++ caller.o -L/home/sjplimp/lammps/src -llammps -o caller - -The -L argument is the path to where the liblammps.a file is. The --llammps argument is shorthand for the file liblammps.a. - -:line - -[Link with LAMMPS as a shared library]: - -If you wish to link to liblammps.so, the operating system finds shared -libraries to load at run-time using the environment variable -LD_LIBRARY_PATH. To enable this you can do one of two things: - -(1) Copy the liblammps.so file to a location the system can find it, -such as /usr/local/lib. I.e. a directory already listed in your -LD_LIBRARY_PATH variable. You can type - -printenv LD_LIBRARY_PATH :pre - -to see what directories are in that list. - -(2) Add the LAMMPS src directory (or the directory you perform CMake -build in) to your LD_LIBRARY_PATH, so that the current version of the -shared library is always available to programs that use it. - -For the csh or tcsh shells, you would add something like this to your -~/.cshrc file: - -setenv LD_LIBRARY_PATH $\{LD_LIBRARY_PATH\}:/home/sjplimp/lammps/src :pre - -:line - -[Calling the LAMMPS library]: - -Either flavor of library (static or shared) allows one or more LAMMPS -objects to be instantiated from the calling program. - -When used from a C++ program, all of LAMMPS is wrapped in a LAMMPS_NS -namespace; you can safely use any of its classes and methods from -within the calling code, as needed. - -When used from a C or Fortran program, the library has a simple -C-style interface, provided in src/library.cpp and src/library.h. - -See the "Python library"_Python_library.html doc page for a -description of the Python interface to LAMMPS, which wraps the C-style -interface. - -See the sample codes in examples/COUPLE/simple for examples of C++ and -C and Fortran codes that invoke LAMMPS through its library interface. -Other examples in the COUPLE directory use coupling ideas discussed on -the "Howto couple"_Howto_couple.html doc page. - - diff --git a/doc/txt/Build_make.txt b/doc/txt/Build_make.txt deleted file mode 100644 index ad18695e46245686444a8ae5d3e8ec7728a1d64b..0000000000000000000000000000000000000000 --- a/doc/txt/Build_make.txt +++ /dev/null @@ -1,85 +0,0 @@ -"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Build LAMMPS with make :h3 - -Building LAMMPS with traditional makefiles requires that you have a -Makefile."machine" file appropriate for your system in the src/MAKE, -src/MAKE/MACHINES, src/MAKE/OPTIONS, or src/MAKE/MINE directory (see -below). It can include various options for customizing your LAMMPS -build with a number of global compilation options and features. - -To include LAMMPS packages (i.e. optional commands and styles) you -must install them first, as discussed on the "Build -package"_Build_package.html doc page. If the packages require -provided or external libraries, you must build those libraries before -building LAMMPS. Building "LAMMPS with CMake"_Build_cmake.html can -automate all of this for many types of machines, especially -workstations, desktops and laptops, so we suggest you try it first. - -These commands perform a default LAMMPS build, producing the LAMMPS -executable lmp_serial or lmp_mpi in lammps/src: - -cd lammps/src -make serial # build a serial LAMMPS executable -make mpi # build a parallel LAMMPS executable with MPI -make # see a variety of make options :pre - -This initial compilation can take a long time, since LAMMPS is a large -project with many features. If your machine has multiple CPU cores -(most do these days), using a command like "make -jN mpi" (with N = -the number of available CPU cores) can be much faster. If you plan to -do development on LAMMPS or need to re-compile LAMMPS repeatedly, the -installation of the ccache (= Compiler Cache) software may speed up -compilation even more. - -After the initial build, whenever you edit LAMMPS source files, or add -or remove new files to the source directory (e.g. by installing or -uninstalling packages), you must re-compile and relink the LAMMPS -executable with the same "make" command. This makefiles dependencies -should insure that only the subset of files that need to be are -re-compiled. - -NOTE: When you build LAMMPS for the first time, a long list of *.d -files will be printed out rapidly. This is not an error; it is the -Makefile doing its normal creation of dependencies. - -:line - -The lammps/src/MAKE tree contains all the Makefile.machine files -included in the LAMMPS distribution. Typing "make machine" uses -Makefile.machine. Thus the "make serial" or "make mpi" lines above -use Makefile.serial and Makefile.mpi. Others are in these dirs: - -OPTIONS # Makefiles which enable specific options -MACHINES # Makefiles for specific machines -MINE # customized Makefiles you create (you may need to create this folder) :pre - -Typing "make" lists all the available Makefile.machine files. A file -with the same name can appear in multiple folders (not a good idea). -The order the dirs are searched is as follows: src/MAKE/MINE, -src/MAKE, src/MAKE/OPTIONS, src/MAKE/MACHINES. This gives preference -to a customized file you put in src/MAKE/MINE. - -Makefiles you may wish to try include these (some require a package -first be installed). Many of these include specific compiler flags -for optimized performance. Please note, however, that some of these -customized machine Makefile are contributed by users. Since both -compilers, OS configurations, and LAMMPS itself keep changing, their -settings may become outdated: - -make mac # build serial LAMMPS on a Mac -make mac_mpi # build parallel LAMMPS on a Mac -make intel_cpu # build with the USER-INTEL package optimized for CPUs -make knl # build with the USER-INTEL package optimized for KNLs -make opt # build with the OPT package optimized for CPUs -make omp # build with the USER-OMP package optimized for OpenMP -make kokkos_omp # build with the KOKKOS package for OpenMP -make kokkos_cuda_mpi # build with the KOKKOS package for GPUs -make kokkos_phi # build with the KOKKOS package for KNLs :pre diff --git a/doc/txt/Build_package.txt b/doc/txt/Build_package.txt deleted file mode 100644 index 869175e1601a1bd11f4e8c904fc4762188953a59..0000000000000000000000000000000000000000 --- a/doc/txt/Build_package.txt +++ /dev/null @@ -1,240 +0,0 @@ -"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Include packages in build :h3 - -In LAMMPS, a package is a group of files that enable a specific set of -features. For example, force fields for molecular systems or -rigid-body constraints are in packages. In the src directory, each -package is a sub-directory with the package name in capital letters. - -An overview of packages is given on the "Packages"_Packages.html doc -page. Brief overviews of each package are on the "Packages -details"_Packages_details.html doc page. - -When building LAMMPS, you can choose to include or exclude each -package. In general there is no need to include a package if you -never plan to use its features. - -If you get a run-time error that a LAMMPS command or style is -"Unknown", it is often because the command is contained in a package, -and your build did not include that package. Running LAMMPS with the -"-h command-line switch"_Run_options.html will print all the included -packages and commands for that executable. - -For the majority of packages, if you follow the single step below to -include it, you can then build LAMMPS exactly the same as you would -without any packages installed. A few packages may require additional -steps, as explained on the "Build extras"_Build_extras.html doc page. - -These links take you to the extra instructions for those select -packages: - -"COMPRESS"_Build_extras.html#compress, -"GPU"_Build_extras.html#gpu, -"KIM"_Build_extras.html#kim, -"KOKKOS"_Build_extras.html#kokkos, -"LATTE"_Build_extras.html#latte, -"MESSAGE"_Build_extras.html#message, -"MSCG"_Build_extras.html#mscg, -"OPT"_Build_extras.html#opt, -"POEMS"_Build_extras.html#poems, -"PYTHON"_Build_extras.html#python, -"VORONOI"_Build_extras.html#voronoi, -"USER-ADIOS"_Build_extras.html#user-adios, -"USER-ATC"_Build_extras.html#user-atc, -"USER-AWPMD"_Build_extras.html#user-awpmd, -"USER-COLVARS"_Build_extras.html#user-colvars, -"USER-H5MD"_Build_extras.html#user-h5md, -"USER-INTEL"_Build_extras.html#user-intel, -"USER-MOLFILE"_Build_extras.html#user-molfile, -"USER-NETCDF"_Build_extras.html#user-netcdf, -"USER-PLUMED"_Build_extras.html#user-plumed, -"USER-OMP"_Build_extras.html#user-omp, -"USER-QMMM"_Build_extras.html#user-qmmm, -"USER-QUIP"_Build_extras.html#user-quip, -"USER-SCAFACOS"_Build_extras.html#user-scafacos, -"USER-SMD"_Build_extras.html#user-smd, -"USER-VTK"_Build_extras.html#user-vtk :tb(c=6,ea=c,a=l) - -The mechanism for including packages is simple but different for CMake -versus make. - -[CMake variables]: - --D PKG_NAME=value # yes or no (default) :pre - -Examples: - --D PKG_MANYBODY=yes --D PKG_USER-INTEL=yes :pre - -All standard and user packages are included the same way. Note that -USER packages have a hyphen between USER and the rest of the package -name, not an underscore. - -See the shortcut section below for how to install many packages at -once with CMake. - -NOTE: If you toggle back and forth between building with CMake vs -make, no packages in the src directory can be installed when you -invoke cmake. CMake will give an error if that is not the case, -indicating how you can un-install all packages in the src dir. - -[Traditional make]: - -cd lammps/src -make ps # check which packages are currently installed -make yes-name # install a package with name -make no-name # un-install a package with name -make mpi # build LAMMPS with whatever packages are now installed :pre - -Examples: - -make no-rigid -make yes-user-intel :pre - -All standard and user packages are included the same way. - -See the shortcut section below for how to install many packages at -once with make. - -NOTE: You must always re-build LAMMPS (via make) after installing or -un-installing a package, for the action to take effect. - -NOTE: You cannot install or un-install packages and build LAMMPS in a -single make command with multiple targets, e.g. make yes-colloid mpi. -This is because the make procedure creates a list of source files that -will be out-of-date for the build if the package configuration changes -within the same command. You can include or exclude multiple packages -in a single make command, e.g. make yes-colloid no-manybody. - -[CMake and make info]: - -Any package can be included or excluded in a LAMMPS build, independent -of all other packages. However, some packages include files derived -from files in other packages. LAMMPS checks for this and does the -right thing. Individual files are only included if their dependencies -are already included. Likewise, if a package is excluded, other files -dependent on that package are also excluded. - -When you download a LAMMPS tarball or download LAMMPS source files -from the Git or SVN repositories, no packages are pre-installed in the -src directory. - -NOTE: Prior to Aug 2018, if you downloaded a tarball, 3 packages -(KSPACE, MANYBODY, MOLECULE) were pre-installed in the src directory. -That is no longer the case, so that CMake will build as-is without the -need to un-install those packages. - -:line - -[CMake shortcuts for installing many packages]: - -Instead of specifying all the CMake options via the command-line, -CMake allows initializing the variable cache using script files. These -are regular CMake files which can manipulate and set variables, and -can also contain control flow constructs. - -LAMMPS includes several of these files to define configuration -"presets", similar to the options that exist for the Make based -system. Using these files you can enable/disable portions of the -available packages in LAMMPS. If you need a custom preset you can take -one of them as a starting point and customize it to your needs. - -cmake -C ../cmake/presets/all_on.cmake \[OPTIONS\] ../cmake | - enable all packages | -cmake -C ../cmake/presets/all_off.cmake \[OPTIONS\] ../cmake | - disable all packages | -cmake -C ../cmake/presets/minimal.cmake \[OPTIONS\] ../cmake | - enable just a few core packages | -cmake -C ../cmake/presets/most.cmake \[OPTIONS\] ../cmake | - enable most common packages | -cmake -C ../cmake/presets/nolib.cmake \[OPTIONS\] ../cmake | - disable packages that do require extra libraries or tools | -cmake -C ../cmake/presets/clang.cmake \[OPTIONS\] ../cmake | - change settings to use the Clang compilers by default | -cmake -C ../cmake/presets/mingw.cmake \[OPTIONS\] ../cmake | - enable all packages compatible with MinGW compilers :tb(c=2,s=|,a=l) - -NOTE: Running cmake this way manipulates the variable cache in your -current build directory. You can combine multiple presets and options -in a single cmake run, or change settings incrementally by running -cmake with new flags. - -[Example:] - -# build LAMMPS with most commonly used packages, but then remove -# those requiring additional library or tools, but still enable -# GPU package and configure it for using CUDA. You can run. -mkdir build -cd build -cmake -C ../cmake/presets/most.cmake -C ../cmake/presets/nolib.cmake -D PKG_GPU=on -D GPU_API=cuda ../cmake :pre - -# to add another package, say BODY to the previous configuration you can run: -cmake -D PKG_BODY=on . :pre - -# to reset the package selection from above to the default of no packages -# but leaving all other settings untouched. You can run: -cmake -C ../cmake/presets/no_all.cmake . :pre -:line - -[Make shortcuts for installing many packages]: - -The following commands are useful for managing package source files -and their installation when building LAMMPS via traditional make. -Just type "make" in lammps/src to see a one-line summary. - -These commands install/un-install sets of packages: - -make yes-all | install all packages -make no-all | un-install all packages -make yes-standard or make yes-std | install standard packages -make no-standard or make no-std| un-install standard packages -make yes-user | install user packages -make no-user | un-install user packages -make yes-lib | install packages that require extra libraries -make no-lib | un-install packages that require extra libraries -make yes-ext | install packages that require external libraries -make no-ext | un-install packages that require external libraries :tb(s=|,a=l) - -which install/un-install various sets of packages. Typing "make -package" will list all the these commands. - -NOTE: Installing or un-installing a package works by simply copying -files back and forth between the main src directory and -sub-directories with the package name (e.g. src/KSPACE, src/USER-ATC), -so that the files are included or excluded when LAMMPS is built. - -The following make commands help manage files that exist in both the -src directory and in package sub-directories. You do not normally -need to use these commands unless you are editing LAMMPS files or are -"installing a patch"_Install_patch.html downloaded from the LAMMPS web -site. - -Type "make package-status" or "make ps" to show which packages are -currently installed. For those that are installed, it will list any -files that are different in the src directory and package -sub-directory. - -Type "make package-installed" or "make pi" to show which packages are -currently installed, without listing the status of packages that are -not installed. - -Type "make package-update" or "make pu" to overwrite src files with -files from the package sub-directories if the package is installed. -It should be used after a "patch has been applied"_Install_patch.html, -since patches only update the files in the package sub-directory, but -not the src files. - -Type "make package-overwrite" to overwrite files in the package -sub-directories with src files. - -Type "make package-diff" to list all differences between pairs of -files in both the src dir and a package dir. diff --git a/doc/txt/Build_settings.txt b/doc/txt/Build_settings.txt deleted file mode 100644 index 730d779d63a0afb9bafcd89a26ef65fddd666e2c..0000000000000000000000000000000000000000 --- a/doc/txt/Build_settings.txt +++ /dev/null @@ -1,372 +0,0 @@ -"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Optional build settings :h3 - -LAMMPS can be built with several optional settings. Each sub-section -explain how to do this for building both with CMake and make. - -"C++11 standard compliance test"_#cxx11 when building all of LAMMPS -"FFT library"_#fft for use with the "kspace_style pppm"_kspace_style.html command -"Size of LAMMPS data types"_#size -"Read or write compressed files"_#gzip -"Output of JPG and PNG files"_#graphics via the "dump image"_dump_image.html command -"Output of movie files"_#graphics via the "dump_movie"_dump_image.html command -"Memory allocation alignment"_#align -"Workaround for long long integers"_#longlong -"Error handling exceptions"_#exceptions when using LAMMPS as a library :all(b) - -:line - -C++11 standard compliance test :h4,link(cxx11) - -The LAMMPS developers plan to transition to make the C++11 standard the -minimum requirement for compiling LAMMPS. Currently this only applies to -some packages like KOKKOS while the rest aims to be compatible with the C++98 -standard. Most currently used compilers are compatible with C++11; some need -to set extra flags to switch. To determine the impact of requiring C++11, -we have added a simple compliance test to the source code, that will cause -the compilation to abort, if C++11 compliance is not available or enabled. -To bypass this check, you need to change a setting in the makefile or -when calling CMake. - -[CMake variable]: - --D DISABLE_CXX11_REQUIREMENT=yes :pre - -You can set additional C++ compiler flags (beyond those selected by CMake) -through the CMAKE_CXX_FLAGS variable. Example for CentOS 7: - --D CMAKE_CXX_FLAGS="-O3 -g -fopenmp -DNDEBUG -std=c++11" :pre - -[Makefile.machine setting]: - -LMP_INC = -DLAMMPS_CXX98 :pre - -:line - -FFT library :h4,link(fft) - -When the KSPACE package is included in a LAMMPS build, the -"kspace_style pppm"_kspace_style.html command performs 3d FFTs which -require use of an FFT library to compute 1d FFTs. The KISS FFT -library is included with LAMMPS but other libraries can be faster. -LAMMPS can use them if they are available on your system. - -[CMake variables]: - --D FFT=value # FFTW3 or MKL or KISS, default is FFTW3 if found, else KISS --D FFT_SINGLE=value # yes or no (default), no = double precision --D FFT_PACK=value # array (default) or pointer or memcpy :pre - -NOTE: The values for the FFT variable must be in upper-case. This is -an exception to the rule that all CMake variables can be specified -with lower-case values. - -Usually these settings are all that is needed. If CMake cannot find -the FFT library, you can set these variables: - --D FFTW3_INCLUDE_DIRS=path # path to FFTW3 include files --D FFTW3_LIBRARIES=path # path to FFTW3 libraries --D MKL_INCLUDE_DIRS=path # ditto for Intel MKL library --D MKL_LIBRARIES=path :pre - -[Makefile.machine settings]: - -FFT_INC = -DFFT_FFTW3 # -DFFT_FFTW3, -DFFT_FFTW (same as -DFFT_FFTW3), -DFFT_MKL, or -DFFT_KISS - # default is KISS if not specified -FFT_INC = -DFFT_SINGLE # do not specify for double precision -FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY :pre - # default is FFT_PACK_ARRAY if not specified - -FFT_INC = -I/usr/local/include -FFT_PATH = -L/usr/local/lib -FFT_LIB = -lfftw3 # FFTW3 double precision -FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision -FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler -FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compier :pre - -As with CMake, you do not need to set paths in FFT_INC or FFT_PATH, if -make can find the FFT header and library files. You must specify -FFT_LIB with the appropriate FFT libraries to include in the link. - -[CMake and make info]: - -The "KISS FFT library"_http://kissfft.sf.net is included in the LAMMPS -distribution. It is portable across all platforms. Depending on the -size of the FFTs and the number of processors used, the other -libraries listed here can be faster. - -However, note that long-range Coulombics are only a portion of the -per-timestep CPU cost, FFTs are only a portion of long-range -Coulombics, and 1d FFTs are only a portion of the FFT cost (parallel -communication can be costly). A breakdown of these timings is printed -to the screen at the end of a run using the "kspace_style -pppm"_kspace_style.html command. The "Run output"_Run_output.html -doc page gives more details. - -FFTW is a fast, portable FFT library that should also work on any -platform and can be faster than the KISS FFT library. You can -download it from "www.fftw.org"_http://www.fftw.org. LAMMPS requires -version 3.X; the legacy version 2.1.X is no longer supported. - -Building FFTW for your box should be as simple as ./configure; make; -make install. The install command typically requires root privileges -(e.g. invoke it via sudo), unless you specify a local directory with -the "--prefix" option of configure. Type "./configure --help" to see -various options. - -The Intel MKL math library is part of the Intel compiler suite. It -can be used with the Intel or GNU compiler (see FFT_LIB setting above). - -Performing 3d FFTs in parallel can be time consuming due to data -access and required communication. This cost can be reduced by -performing single-precision FFTs instead of double precision. Single -precision means the real and imaginary parts of a complex datum are -4-byte floats. Double precision means they are 8-byte doubles. Note -that Fourier transform and related PPPM operations are somewhat less -sensitive to floating point truncation errors and thus the resulting -error is less than the difference in precision. Using the -DFFT_SINGLE -setting trades off a little accuracy for reduced memory use and -parallel communication costs for transposing 3d FFT data. - -When using -DFFT_SINGLE with FFTW3 you may need to build the FFTW -library a second time with support for single-precision. - -For FFTW3, do the following, which should produce the additional -library libfftw3f.a - -make clean -./configure --enable-single; make; make install :pre - -Performing 3d FFTs requires communication to transpose the 3d FFT -grid. The data packing/unpacking for this can be done in one of 3 -modes (ARRAY, POINTER, MEMCPY) as set by the FFT_PACK syntax above. -Depending on the machine, the size of the FFT grid, the number of -processors used, one option may be slightly faster. The default is -ARRAY mode. - -:line - -Size of LAMMPS data types :h4,link(size) - -LAMMPS has a few integer data types which can be defined as 4-byte or -8-byte integers. The default setting of "smallbig" is almost always -adequate. - -[CMake variable]: - --D LAMMPS_SIZES=value # smallbig (default) or bigbig or smallsmall :pre - -[Makefile.machine setting]: - -LMP_INC = -DLAMMPS_SMALLBIG # or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :pre - # default is LAMMPS_SMALLBIG if not specified -[CMake and make info]: - -The default "smallbig" setting allows for simulations with: - -total atom count = 2^63 atoms (about 9e18) -total timesteps = 2^63 (about 9e18) -atom IDs = 2^31 (about 2 billion) -image flags = roll over at 512 :ul - -The "bigbig" setting increases the latter two limits. It allows for: - -total atom count = 2^63 atoms (about 9e18) -total timesteps = 2^63 (about 9e18) -atom IDs = 2^63 (about 9e18) -image flags = roll over at about 1 million (2^20) :ul - -The "smallsmall" setting is only needed if your machine does not -support 8-byte integers. It allows for: - -total atom count = 2^31 atoms (about 2 billion) -total timesteps = 2^31 (about 2 billion) -atom IDs = 2^31 (about 2 billion) -image flags = roll over at 512 (2^9) :ul - -Atom IDs are not required for atomic systems which do not store bond -topology information, though IDs are enabled by default. The -"atom_modify id no"_atom_modify.html command will turn them off. Atom -IDs are required for molecular systems with bond topology (bonds, -angles, dihedrals, etc). Thus if you model a molecular system with -more than 2 billion atoms, you need the "bigbig" setting. - -Image flags store 3 values per atom which count the number of times an -atom has moved through the periodic box in each dimension. See the -"dump"_dump.html doc page for a discussion. If an atom moves through -the periodic box more than this limit, the value will "roll over", -e.g. from 511 to -512, which can cause diagnostics like the -mean-squared displacement, as calculated by the "compute -msd"_compute_msd.html command, to be faulty. - -Note that the USER-ATC package and the USER-INTEL package are currently -not compatible with the "bigbig" setting. Also, there are limitations -when using the library interface. Some functions with known issues -have been replaced by dummy calls printing a corresponding error rather -than crashing randomly or corrupting data. - -Also note that the GPU package requires its lib/gpu library to be -compiled with the same size setting, or the link will fail. A CMake -build does this automatically. When building with make, the setting -in whichever lib/gpu/Makefile is used must be the same as above. - -:line - -Output of JPG, PNG, and movie files :h4,link(graphics) - -The "dump image"_dump_image.html command has options to output JPEG or -PNG image files. Likewise the "dump movie"_dump_image.html command -outputs movie files in MPEG format. Using these options requires the -following settings: - -[CMake variables]: - --D WITH_JPEG=value # yes or no - # default = yes if CMake finds JPEG files, else no --D WITH_PNG=value # yes or no - # default = yes if CMake finds PNG and ZLIB files, else no --D WITH_FFMPEG=value # yes or no - # default = yes if CMake can find ffmpeg, else no :pre - -Usually these settings are all that is needed. If CMake cannot find -the graphics header, library, executable files, you can set these -variables: - --D JPEG_INCLUDE_DIR=path # path to jpeglib.h header file --D JPEG_LIBRARIES=path # path to libjpeg.a (.so) file --D PNG_INCLUDE_DIR=path # path to png.h header file --D PNG_LIBRARIES=path # path to libpng.a (.so) file --D ZLIB_INCLUDE_DIR=path # path to zlib.h header file --D ZLIB_LIBRARIES=path # path to libz.a (.so) file --D FFMPEG_EXECUTABLE=path # path to ffmpeg executable :pre - -[Makefile.machine settings]: - -LMP_INC = -DLAMMPS_JPEG -LMP_INC = -DLAMMPS_PNG -LMP_INC = -DLAMMPS_FFMPEG :pre - -JPG_INC = -I/usr/local/include # path to jpeglib.h, png.h, zlib.h header files if make cannot find them -JPG_PATH = -L/usr/lib # paths to libjpeg.a, libpng.a, libz.a (.so) files if make cannot find them -JPG_LIB = -ljpeg -lpng -lz # library names :pre - -As with CMake, you do not need to set JPG_INC or JPG_PATH, if make can -find the graphics header and library files. You must specify JPG_LIB -with a list of graphics libraries to include in the link. You must -insure ffmpeg is in a directory where LAMMPS can find it at runtime, -i.e. a dir in your PATH environment variable. - -[CMake and make info]: - -Using ffmpeg to output movie files requires that your machine -supports the "popen" function in the standard runtime library. - -NOTE: On some clusters with high-speed networks, using the fork() -library calls (required by popen()) can interfere with the fast -communication library and lead to simulations using ffmpeg to hang or -crash. - -:line - -Read or write compressed files :h4,link(gzip) - -If this option is enabled, large files can be read or written with -gzip compression by several LAMMPS commands, including -"read_data"_read_data.html, "rerun"_rerun.html, and "dump"_dump.html. - -[CMake variables]: - --D WITH_GZIP=value # yes or no - # default is yes if CMake can find gzip, else no --D GZIP_EXECUTABLE=path # path to gzip executable if CMake cannot find it :pre - -[Makefile.machine setting]: - -LMP_INC = -DLAMMPS_GZIP :pre - -[CMake and make info]: - -This option requires that your machine supports the "popen()" function -in the standard runtime library and that a gzip executable can be -found by LAMMPS during a run. - -NOTE: On some clusters with high-speed networks, using the fork() -library calls (required by popen()) can interfere with the fast -communication library and lead to simulations using compressed output -or input to hang or crash. For selected operations, compressed file -I/O is also available using a compression library instead, which is -what the "COMPRESS package"_Packages_details.html#PKG-COMPRESS enables. - -:line - -Memory allocation alignment :h4,link(align) - -This setting enables the use of the posix_memalign() call instead of -malloc() when LAMMPS allocates large chunks or memory. This can make -vector instructions on CPUs more efficient, if dynamically allocated -memory is aligned on larger-than-default byte boundaries. -On most current systems, the malloc() implementation returns -pointers that are aligned to 16-byte boundaries. Using SSE vector -instructions efficiently, however, requires memory blocks being -aligned on 64-byte boundaries. - -[CMake variable]: - --D LAMMPS_MEMALIGN=value # 0, 8, 16, 32, 64 (default) :pre - -Use a LAMMPS_MEMALIGN value of 0 to disable using posix_memalign() -and revert to using the malloc() C-library function instead. When -compiling LAMMPS for Windows systems, malloc() will always be used -and this setting ignored. - -[Makefile.machine setting]: - -LMP_INC = -DLAMMPS_MEMALIGN=value # 8, 16, 32, 64 :pre - -Do not set -DLAMMPS_MEMALIGN, if you want to have memory allocated -with the malloc() function call instead. -DLAMMPS_MEMALIGN [cannot] -be used on Windows, as it does use different function calls for -allocating aligned memory, that are not compatible with how LAMMPS -manages its dynamical memory. - -:line - -Workaround for long long integers :h4,link(longlong) - -If your system or MPI version does not recognize "long long" data -types, the following setting will be needed. It converts "long long" -to a "long" data type, which should be the desired 8-byte integer on -those systems: - -[CMake variable]: - --D LAMMPS_LONGLONG_TO_LONG=value # yes or no (default) :pre - -[Makefile.machine setting]: - -LMP_INC = -DLAMMPS_LONGLONG_TO_LONG :pre - -:line - -Exception handling when using LAMMPS as a library :h4,link(exceptions) - -This setting is useful when external codes drive LAMMPS as a library. -With this option enabled LAMMPS errors do not kill the caller. -Instead, the call stack is unwound and control returns to the caller, -e.g. to Python. - -[CMake variable]: - --D LAMMPS_EXCEPTIONS=value # yes or no (default) :pre - -[Makefile.machine setting]: - -LMP_INC = -DLAMMPS_EXCEPTIONS :pre diff --git a/doc/txt/Build_windows.txt b/doc/txt/Build_windows.txt deleted file mode 100644 index b3dbf775c9340c9902279176b5b6dc56a2ce2e11..0000000000000000000000000000000000000000 --- a/doc/txt/Build_windows.txt +++ /dev/null @@ -1,102 +0,0 @@ -"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Notes for building LAMMPS on Windows :h3 - -"General remarks"_#generic -"Running Linux on Windows"_#linux -"Using GNU GCC ported to Windows"_#gnu -"Using a cross-compiler"_#cross :ul - -:line - -General remarks :h4,link(generic) - -LAMMPS is developed and tested primarily on Linux machines. The vast -majority of HPC clusters and supercomputers today runs on Linux as well. -Thus portability to other platforms is desired, but not always achieved. -The LAMMPS developers strongly rely on LAMMPS users giving feedback and -providing assistance in resolving portability issues. This particularly -true for compiling LAMMPS on Windows, since this platform has significant -differences with some low-level functionality. - - -Running Linux on Windows :h4,link(linux) - -So before trying to build LAMMPS on Windows, please consider if using -the pre-compiled Windows binary packages are sufficient for your needs -(as an aside, those packages themselves are build on a Linux machine -using cross-compilers). If it is necessary for your to compile LAMMPS -on a Windows machine (e.g. because it is your main desktop), please also -consider using a virtual machine software and run a Linux virtual machine, -or - if have a recently updated Windows 10 installation - consider using -the Windows subsystem for Linux, which allows to run a bash shell from -Ubuntu and from there on, you can pretty much use that shell like you -are running on an Ubuntu Linux machine (e.g. installing software via -apt-get). For more details on that, please see "this tutorial"_Howto_bash.html - - -Using GNU GCC ported to Windows :h4,link(gnu) - -One option for compiling LAMMPS on Windows natively, that has been known -to work in the past is to install a bash shell, unix shell utilities, -perl, GNU make, and a GNU compiler ported to Windows. The Cygwin package -provides a unix/linux interface to low-level Windows functions, so LAMMPS -can be compiled on Windows. The necessary (minor) modifications to LAMMPS -are included, but may not always up-to-date for recently added functionality -and the corresponding new code. A machine makefile for using cygwin for -the old build system is provided. Using CMake for this mode of compilation -is untested and not likely to work. - -When compiling for Windows do [not] set the -DLAMMPS_MEMALIGN define -in the LMP_INC makefile variable and add -lwsock32 -lpsapi to the linker -flags in LIB makefile variable. Try adding -static-libgcc or -static or -both to the linker flags when your resulting LAMMPS Windows executable -complains about missing .dll files. The CMake configuration should set -this up automatically, but is untested. - -In case of problems, you are recommended to contact somebody with -experience in using cygwin. If you do come across portability problems -requiring changes to the LAMMPS source code, or figure out corrections -yourself, please report them on the lammps-users mailing list, or file -them as an issue or pull request on the LAMMPS GitHub project. - - -Using a cross-compiler :h4,link(cross) - -If you need to provide custom LAMMPS binaries for Windows, but do not -need to do the compilation on Windows, please consider using a Linux -to Windows cross-compiler. This is how currently the Windows binary -packages are created by the LAMMPS developers. Because of that, this is -probably the currently best tested and supported way to build LAMMPS -executables for Windows. There are makefiles provided for the -traditional build system, but CMake has also been successfully tested -using the mingw32-cmake and mingw64-cmake wrappers that are bundled -with the cross-compiler environment on Fedora machines. A CMake preset -selecting all packages compatible with this cross-compilation build -is provided. You likely need to disable the GPU package unless you -download and install the contents of the pre-compiled "OpenCL ICD loader -library"_https://download.lammps.org/thirdparty/opencl-win-devel.tar.gz -into your MinGW64 cross-compiler environment. The cross-compilation -currently will only produce non-MPI serial binaries. - -Please keep in mind, though, that this only applies to compiling LAMMPS. -Whether the resulting binaries do work correctly is no tested by the -LAMMPS developers. We instead rely on the feedback of the users -of these pre-compiled LAMMPS packages for Windows. We will try to resolve -issues to the best of our abilities if we become aware of them. However -this is subject to time constraints and focus on HPC platforms. - - -Native Visual C++ support :h4,link(native) - -Support for the Visual C++ compilers is currently not available. The -CMake build system is capable of creating suitable a Visual Studio -style build environment, but the LAMMPS code itself is not fully ported -to support Visual C++. Volunteers to take on this task are welcome. diff --git a/doc/txt/Errors.txt b/doc/txt/Errors.txt deleted file mode 100644 index 0489d228bd2c841e4b4d95d761ca3e09c3506ef3..0000000000000000000000000000000000000000 --- a/doc/txt/Errors.txt +++ /dev/null @@ -1,38 +0,0 @@ -"Previous Section"_Python_head.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Manual.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Errors :h2 - -These doc pages describe the errors you can encounter when using -LAMMPS. The common problems include conceptual issues. The messages -and warnings doc pages give complete lists of all the messages the -code may generate (except those generated by USER packages), with -additional details for many of them. - - - - - -"Common problems"_Errors_common.html -"Reporting bugs"_Errors_bugs.html -"Error messages"_Errors_messages.html -"Warning messages"_Errors_warnings.html :all(b) - - diff --git a/doc/txt/Errors_bugs.txt b/doc/txt/Errors_bugs.txt deleted file mode 100644 index 4a8e62e77546206de35b1132a3484d731db61af3..0000000000000000000000000000000000000000 --- a/doc/txt/Errors_bugs.txt +++ /dev/null @@ -1,35 +0,0 @@ -"Higher level section"_Errors.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Reporting bugs :h3 - -If you are confident that you have found a bug in LAMMPS, follow these -steps. - -Check the "New features and bug -fixes"_http://lammps.sandia.gov/bug.html section of the "LAMMPS WWW -site"_lws to see if the bug has already been reported or fixed or the -"Unfixed bug"_http://lammps.sandia.gov/unbug.html to see if a fix is -pending. - -Check the "mailing list"_http://lammps.sandia.gov/mail.html to see if -it has been discussed before. - -If not, send an email to the mailing list describing the problem with -any ideas you have as to what is causing it or where in the code the -problem might be. The developers will ask for more info if needed, -such as an input script or data files. - -The most useful thing you can do to help us fix the bug is to isolate -the problem. Run it on the smallest number of atoms and fewest number -of processors and with the simplest input script that reproduces the -bug and try to identify what command or combination of commands is -causing the problem. - -NOTE: this page needs to have GitHub issues info added diff --git a/doc/txt/Errors_common.txt b/doc/txt/Errors_common.txt deleted file mode 100644 index da90aad64bf409cf25b7c3e7efc26de5f51bf57c..0000000000000000000000000000000000000000 --- a/doc/txt/Errors_common.txt +++ /dev/null @@ -1,126 +0,0 @@ -"Higher level section"_Errors.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Common problems :h3 - -If two LAMMPS runs do not produce the exact same answer on different -machines or different numbers of processors, this is typically not a -bug. In theory you should get identical answers on any number of -processors and on any machine. In practice, numerical round-off can -cause slight differences and eventual divergence of molecular dynamics -phase space trajectories within a few 100s or few 1000s of timesteps. -However, the statistical properties of the two runs (e.g. average -energy or temperature) should still be the same. - -If the "velocity"_velocity.html command is used to set initial atom -velocities, a particular atom can be assigned a different velocity -when the problem is run on a different number of processors or on -different machines. If this happens, the phase space trajectories of -the two simulations will rapidly diverge. See the discussion of the -{loop} option in the "velocity"_velocity.html command for details and -options that avoid this issue. - -Similarly, the "create_atoms"_create_atoms.html command generates a -lattice of atoms. For the same physical system, the ordering and -numbering of atoms by atom ID may be different depending on the number -of processors. - -Some commands use random number generators which may be setup to -produce different random number streams on each processor and hence -will produce different effects when run on different numbers of -processors. A commonly-used example is the "fix -langevin"_fix_langevin.html command for thermostatting. - -A LAMMPS simulation typically has two stages, setup and run. Most -LAMMPS errors are detected at setup time; others like a bond -stretching too far may not occur until the middle of a run. - -LAMMPS tries to flag errors and print informative error messages so -you can fix the problem. For most errors it will also print the last -input script command that it was processing. Of course, LAMMPS cannot -figure out your physics or numerical mistakes, like choosing too big a -timestep, specifying erroneous force field coefficients, or putting 2 -atoms on top of each other! If you run into errors that LAMMPS -doesn't catch that you think it should flag, please send an email to -the "developers"_http://lammps.sandia.gov/authors.html. - -If you get an error message about an invalid command in your input -script, you can determine what command is causing the problem by -looking in the log.lammps file or using the "echo command"_echo.html -to see it on the screen. If you get an error like "Invalid ... -style", with ... being fix, compute, pair, etc, it means that you -mistyped the style name or that the command is part of an optional -package which was not compiled into your executable. The list of -available styles in your executable can be listed by using "the -h -command-line swith"_Run_options.html. The installation and -compilation of optional packages is explained on the "Build -packages"_Build_package.html doc page. - -For a given command, LAMMPS expects certain arguments in a specified -order. If you mess this up, LAMMPS will often flag the error, but it -may also simply read a bogus argument and assign a value that is -valid, but not what you wanted. E.g. trying to read the string "abc" -as an integer value of 0. Careful reading of the associated doc page -for the command should allow you to fix these problems. In most cases, -where LAMMPS expects to read a number, either integer or floating point, -it performs a stringent test on whether the provided input actually -is an integer or floating-point number, respectively, and reject the -input with an error message (for instance, when an integer is required, -but a floating-point number 1.0 is provided): - -ERROR: Expected integer parameter instead of '1.0' in input script or data file :pre - -Some commands allow for using variable references in place of numeric -constants so that the value can be evaluated and may change over the -course of a run. This is typically done with the syntax {v_name} for a -parameter, where name is the name of the variable. On the other hand, -immediate variable expansion with the syntax ${name} is performed while -reading the input and before parsing commands, - -NOTE: Using a variable reference (i.e. {v_name}) is only allowed if -the documentation of the corresponding command explicitly says it is. -Otherwise, you will receive an error message of this kind: - -ERROR: Expected floating point parameter instead of 'v_name' in input script or data file :pre - -Generally, LAMMPS will print a message to the screen and logfile and -exit gracefully when it encounters a fatal error. Sometimes it will -print a WARNING to the screen and logfile and continue on; you can -decide if the WARNING is important or not. A WARNING message that is -generated in the middle of a run is only printed to the screen, not to -the logfile, to avoid cluttering up thermodynamic output. If LAMMPS -crashes or hangs without spitting out an error message first then it -could be a bug (see "this section"_Errors_bugs.html) or one of the following -cases: - -LAMMPS runs in the available memory a processor allows to be -allocated. Most reasonable MD runs are compute limited, not memory -limited, so this shouldn't be a bottleneck on most platforms. Almost -all large memory allocations in the code are done via C-style malloc's -which will generate an error message if you run out of memory. -Smaller chunks of memory are allocated via C++ "new" statements. If -you are unlucky you could run out of memory just when one of these -small requests is made, in which case the code will crash or hang (in -parallel), since LAMMPS doesn't trap on those errors. - -Illegal arithmetic can cause LAMMPS to run slow or crash. This is -typically due to invalid physics and numerics that your simulation is -computing. If you see wild thermodynamic values or NaN values in your -LAMMPS output, something is wrong with your simulation. If you -suspect this is happening, it is a good idea to print out -thermodynamic info frequently (e.g. every timestep) via the -"thermo"_thermo.html so you can monitor what is happening. -Visualizing the atom movement is also a good idea to insure your model -is behaving as you expect. - -In parallel, one way LAMMPS can hang is due to how different MPI -implementations handle buffering of messages. If the code hangs -without an error message, it may be that you need to specify an MPI -setting or two (usually via an environment variable) to enable -buffering or boost the sizes of messages that can be buffered. diff --git a/doc/txt/Examples.txt b/doc/txt/Examples.txt deleted file mode 100644 index 04c211cb1d962486f0d5141783f464e169339249..0000000000000000000000000000000000000000 --- a/doc/txt/Examples.txt +++ /dev/null @@ -1,159 +0,0 @@ -"Previous Section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Tools.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Example scripts :h3 - -The LAMMPS distribution includes an examples sub-directory with many -sample problems. Many are 2d models that run quickly and are -straightforward to visualize, requiring at most a couple of minutes to -run on a desktop machine. Each problem has an input script (in.*) and -produces a log file (log.*) when it runs. Some use a data file -(data.*) of initial coordinates as additional input. A few sample log -file run on different machines and different numbers of processors are -included in the directories to compare your answers to. E.g. a log -file like log.date.crack.foo.P means the "crack" example was run on P -processors of machine "foo" on that date (i.e. with that version of -LAMMPS). - -Many of the input files have commented-out lines for creating dump -files and image files. - -If you uncomment the "dump"_dump.html command in the input script, a -text dump file will be produced, which can be animated by various -"visualization programs"_http://lammps.sandia.gov/viz.html. - -If you uncomment the "dump image"_dump.html command in the input -script, and assuming you have built LAMMPS with a JPG library, JPG -snapshot images will be produced when the simulation runs. They can -be quickly post-processed into a movie using commands described on the -"dump image"_dump_image.html doc page. - -Animations of many of the examples can be viewed on the Movies section -of the "LAMMPS web site"_lws. - -There are two kinds of sub-directories in the examples dir. Lowercase -dirs contain one or a few simple, quick-to-run problems. Uppercase -dirs contain up to several complex scripts that illustrate a -particular kind of simulation method or model. Some of these run for -longer times, e.g. to measure a particular quantity. - -Lists of both kinds of directories are given below. - -:line - -Lowercase directories :h4 - -accelerate: run with various acceleration options (OpenMP, GPU, Phi) -airebo: polyethylene with AIREBO potential -atm: Axilrod-Teller-Muto potential example -balance: dynamic load balancing, 2d system -body: body particles, 2d system -cmap: CMAP 5-body contributions to CHARMM force field -colloid: big colloid particles in a small particle solvent, 2d system -comb: models using the COMB potential -controller: use of fix controller as a thermostat -coreshell: core/shell model using CORESHELL package -crack: crack propagation in a 2d solid -deposit: deposit atoms and molecules on a surface -dipole: point dipolar particles, 2d system -dreiding: methanol via Dreiding FF -eim: NaCl using the EIM potential -ellipse: ellipsoidal particles in spherical solvent, 2d system -flow: Couette and Poiseuille flow in a 2d channel -friction: frictional contact of spherical asperities between 2d surfaces -gcmc: Grand Canonical Monte Carlo (GCMC) via the fix gcmc command -granregion: use of fix wall/region/gran as boundary on granular particles -hugoniostat: Hugoniostat shock dynamics -hyper: global and local hyperdynamics of diffusion on Pt surface -indent: spherical indenter into a 2d solid -kim: use of potentials from the "OpenKIM Repository"_openkim -latte: examples for using fix latte for DFTB via the LATTE library -meam: MEAM test for SiC and shear (same as shear examples) -melt: rapid melt of 3d LJ system -message: demos for LAMMPS client/server coupling with the MESSAGE package -micelle: self-assembly of small lipid-like molecules into 2d bilayers -min: energy minimization of 2d LJ melt -mscg: parameterize a multi-scale coarse-graining (MSCG) model -msst: MSST shock dynamics -nb3b: use of non-bonded 3-body harmonic pair style -neb: nudged elastic band (NEB) calculation for barrier finding -nemd: non-equilibrium MD of 2d sheared system -obstacle: flow around two voids in a 2d channel -peptide: dynamics of a small solvated peptide chain (5-mer) -peri: Peridynamic model of cylinder impacted by indenter -pour: pouring of granular particles into a 3d box, then chute flow -prd: parallel replica dynamics of vacancy diffusion in bulk Si -python: using embedded Python in a LAMMPS input script -qeq: use of the QEQ package for charge equilibration -rdf-adf: computing radial and angle distribution functions for water -reax: RDX and TATB models using the ReaxFF -rerun: use of rerun and read_dump commands -rigid: rigid bodies modeled as independent or coupled -shear: sideways shear applied to 2d solid, with and without a void -snap: NVE dynamics for BCC tantalum crystal using SNAP potential -srd: stochastic rotation dynamics (SRD) particles as solvent -streitz: use of Streitz/Mintmire potential with charge equilibration -tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si -threebody: regression test input for a variety of manybody potentials -vashishta: use of the Vashishta potential -voronoi: Voronoi tesselation via compute voronoi/atom command :tb(s=:) - -Here is how you can run and visualize one of the sample problems: - -cd indent -cp ../../src/lmp_linux . # copy LAMMPS executable to this dir -lmp_linux -in in.indent # run the problem :pre - -Running the simulation produces the files {dump.indent} and -{log.lammps}. You can visualize the dump file of snapshots with a -variety of 3rd-party tools highlighted on the -"Visualization"_http://lammps.sandia.gov/viz.html page of the LAMMPS -web site. - -If you uncomment the "dump image"_dump_image.html line(s) in the input -script a series of JPG images will be produced by the run (assuming -you built LAMMPS with JPG support; see the -"Build_settings"_Build_settings.html doc page for details). These can -be viewed individually or turned into a movie or animated by tools -like ImageMagick or QuickTime or various Windows-based tools. See the -"dump image"_dump_image.html doc page for more details. E.g. this -Imagemagick command would create a GIF file suitable for viewing in a -browser. - -% convert -loop 1 *.jpg foo.gif :pre - -:line - -Uppercase directories :h4 - -ASPHERE: various aspherical particle models, using ellipsoids, rigid bodies, line/triangle particles, etc -COUPLE: examples of how to use LAMMPS as a library -DIFFUSE: compute diffusion coefficients via several methods -ELASTIC: compute elastic constants at zero temperature -ELASTIC_T: compute elastic constants at finite temperature -HEAT: compute thermal conductivity for LJ and water via fix ehex -KAPPA: compute thermal conductivity via several methods -MC: using LAMMPS in a Monte Carlo mode to relax the energy of a system -SPIN: examples for features of the SPIN package -UNITS: examples that run the same simulation in lj, real, metal units -USER: examples for USER packages and USER-contributed commands -VISCOSITY: compute viscosity via several methods :tb(s=:) - -Nearly all of these directories have README files which give more -details on how to understand and use their contents. - -The USER directory has a large number of sub-directories which -correspond by name to a USER package. They contain scripts that -illustrate how to use the command(s) provided in that package. Many -of the sub-directories have their own README files which give further -instructions. See the "Packages_details"_Packages_details.html doc -page for more info on specific USER packages. - -:link(openkim,https://openkim.org) diff --git a/doc/txt/Howto.txt b/doc/txt/Howto.txt deleted file mode 100644 index 0df417af758c84a34f95d9689bb7e26fcc78576e..0000000000000000000000000000000000000000 --- a/doc/txt/Howto.txt +++ /dev/null @@ -1,191 +0,0 @@ -"Previous Section"_Performance.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Examples.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands.html#comm) - -:line - -Howto discussions :h2 - -These doc pages describe how to perform various tasks with LAMMPS, -both for users and developers. The -"glossary"_http://lammps.sandia.gov website page also lists MD -terminology with links to corresponding LAMMPS manual pages. The -example input scripts included in the examples dir of the LAMMPS -distribution and highlighted on the "Examples"_Examples.html doc page -also show how to setup and run various kinds of simulations. - -Tutorials howto :h3 - - - - - -"Using GitHub with LAMMPS"_Howto_github.html -"PyLAMMPS interface to LAMMPS"_Howto_pylammps.html -"Using LAMMPS with bash on Windows"_Howto_bash.html :all(b) - - - -General howto :h3 - - - - - -"Restart a simulation"_Howto_restart.html -"Visualize LAMMPS snapshots"_Howto_viz.html -"Run multiple simulations from one input script"_Howto_multiple.html -"Multi-replica simulations"_Howto_replica.html -"Library interface to LAMMPS"_Howto_library.html -"Couple LAMMPS to other codes"_Howto_couple.html -"Using LAMMPS in client/server mode"_Howto_client_server.html :all(b) - - - -Settings howto :h3 - - - - - -"2d simulations"_Howto_2d.html -"Triclinic (non-orthogonal) simulation boxes"_Howto_triclinic.html -"Thermostats"_Howto_thermostat.html -"Barostats"_Howto_barostat.html -"Walls"_Howto_walls.html -"NEMD simulations"_Howto_nemd.html -"Long-range dispersion settings"_Howto_dispersion.html :all(b) - - - - -Analysis howto :h3 - - - - - -"Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html -"Use chunks to calculate system properties"_Howto_chunk.html :all(b) -"Calculate temperature"_Howto_temperature.html -"Calculate elastic constants"_Howto_elastic.html -"Calculate thermal conductivity"_Howto_kappa.html -"Calculate viscosity"_Howto_viscosity.html -"Calculate a diffusion coefficient"_Howto_diffusion.html :all(b) - - - -Force fields howto :h3 - - - - - -"CHARMM, AMBER, COMPASS, and DREIDING force fields"_Howto_bioFF.html -"TIP3P water model"_Howto_tip3p.html -"TIP4P water model"_Howto_tip4p.html -"SPC water model"_Howto_spc.html :all(b) - - - -Packages howto :h3 - - - - - - -"Finite-size spherical and aspherical particles"_Howto_spherical.html -"Granular models"_Howto_granular.html -"Body style particles"_Howto_body.html -"Polarizable models"_Howto_polarizable.html -"Adiabatic core/shell model"_Howto_coreshell.html -"Drude induced dipoles"_Howto_drude.html -"Drude induced dipoles (extended)"_Howto_drude2.html -"Manifolds (surfaces)"_Howto_manifold.html -"Magnetic spins"_Howto_spins.html :all(b) - - diff --git a/doc/txt/Howto_2d.txt b/doc/txt/Howto_2d.txt deleted file mode 100644 index e1758c05d5ff9fc771e239ba6007f98d3abbbf63..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_2d.txt +++ /dev/null @@ -1,48 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -2d simulations :h3 - -Use the "dimension"_dimension.html command to specify a 2d simulation. - -Make the simulation box periodic in z via the "boundary"_boundary.html -command. This is the default. - -If using the "create box"_create_box.html command to define a -simulation box, set the z dimensions narrow, but finite, so that the -create_atoms command will tile the 3d simulation box with a single z -plane of atoms - e.g. - -"create box"_create_box.html 1 -10 10 -10 10 -0.25 0.25 :pre - -If using the "read data"_read_data.html command to read in a file of -atom coordinates, set the "zlo zhi" values to be finite but narrow, -similar to the create_box command settings just described. For each -atom in the file, assign a z coordinate so it falls inside the -z-boundaries of the box - e.g. 0.0. - -Use the "fix enforce2d"_fix_enforce2d.html command as the last -defined fix to insure that the z-components of velocities and forces -are zeroed out every timestep. The reason to make it the last fix is -so that any forces induced by other fixes will be zeroed out. - -Many of the example input scripts included in the LAMMPS distribution -are for 2d models. - -NOTE: Some models in LAMMPS treat particles as finite-size spheres, as -opposed to point particles. See the "atom_style -sphere"_atom_style.html and "fix nve/sphere"_fix_nve_sphere.html -commands for details. By default, for 2d simulations, such particles -will still be modeled as 3d spheres, not 2d discs (circles), meaning -their moment of inertia will be that of a sphere. If you wish to -model them as 2d discs, see the "set density/disc"_set.html command -and the {disc} option for the "fix nve/sphere"_fix_nve_sphere.html, -"fix nvt/sphere"_fix_nvt_sphere.html, "fix -nph/sphere"_fix_nph_sphere.html, "fix npt/sphere"_fix_npt_sphere.html -commands. diff --git a/doc/txt/Howto_barostat.txt b/doc/txt/Howto_barostat.txt deleted file mode 100644 index 1fbfb142223cc376dc3c1a803c0bc75808499a43..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_barostat.txt +++ /dev/null @@ -1,75 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Barostats :h3 - -Barostatting means controlling the pressure in an MD simulation. -"Thermostatting"_Howto_thermostat.html means controlling the -temperature of the particles. Since the pressure includes a kinetic -component due to particle velocities, both these operations require -calculation of the temperature. Typically a target temperature (T) -and/or pressure (P) is specified by the user, and the thermostat or -barostat attempts to equilibrate the system to the requested T and/or -P. - -Barostatting in LAMMPS is performed by "fixes"_fix.html. Two -barostatting methods are currently available: Nose-Hoover (npt and -nph) and Berendsen: - -"fix npt"_fix_nh.html -"fix npt/sphere"_fix_npt_sphere.html -"fix npt/asphere"_fix_npt_asphere.html -"fix nph"_fix_nh.html -"fix press/berendsen"_fix_press_berendsen.html :ul - -The "fix npt"_fix_nh.html commands include a Nose-Hoover thermostat -and barostat. "Fix nph"_fix_nh.html is just a Nose/Hoover barostat; -it does no thermostatting. Both "fix nph"_fix_nh.html and "fix -press/berendsen"_fix_press_berendsen.html can be used in conjunction -with any of the thermostatting fixes. - -As with the "thermostats"_Howto_thermostat.html, "fix npt"_fix_nh.html -and "fix nph"_fix_nh.html only use translational motion of the -particles in computing T and P and performing thermo/barostatting. -"Fix npt/sphere"_fix_npt_sphere.html and "fix -npt/asphere"_fix_npt_asphere.html thermo/barostat using not only -translation velocities but also rotational velocities for spherical -and aspherical particles. - -All of the barostatting fixes use the "compute -pressure"_compute_pressure.html compute to calculate a current -pressure. By default, this compute is created with a simple "compute -temp"_compute_temp.html (see the last argument of the "compute -pressure"_compute_pressure.html command), which is used to calculated -the kinetic component of the pressure. The barostatting fixes can -also use temperature computes that remove bias for the purpose of -computing the kinetic component which contributes to the current -pressure. See the doc pages for the individual fixes and for the -"fix_modify"_fix_modify.html command for instructions on how to assign -a temperature or pressure compute to a barostatting fix. - -NOTE: As with the thermostats, the Nose/Hoover methods ("fix -npt"_fix_nh.html and "fix nph"_fix_nh.html) perform time integration. -"Fix press/berendsen"_fix_press_berendsen.html does NOT, so it should -be used with one of the constant NVE fixes or with one of the NVT -fixes. - -Thermodynamic output, which can be setup via the -"thermo_style"_thermo_style.html command, often includes pressure -values. As explained on the doc page for the -"thermo_style"_thermo_style.html command, the default pressure is -setup by the thermo command itself. It is NOT the pressure associated -with any barostatting fix you have defined or with any compute you -have defined that calculates a pressure. The doc pages for the -barostatting fixes explain the ID of the pressure compute they create. -Thus if you want to view these pressures, you need to specify them -explicitly via the "thermo_style custom"_thermo_style.html command. -Or you can use the "thermo_modify"_thermo_modify.html command to -re-define what pressure compute is used for default thermodynamic -output. diff --git a/doc/txt/Howto_bioFF.txt b/doc/txt/Howto_bioFF.txt deleted file mode 100644 index d238e4024f269733550d0b81d98bd2e21d3f28c2..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_bioFF.txt +++ /dev/null @@ -1,136 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -CHARMM, AMBER, COMPASS, and DREIDING force fields :h3 - -A force field has 2 parts: the formulas that define it and the -coefficients used for a particular system. Here we only discuss -formulas implemented in LAMMPS that correspond to formulas commonly -used in the CHARMM, AMBER, COMPASS, and DREIDING force fields. Setting -coefficients is done either from special sections in an input data file -via the "read_data"_read_data.html command or in the input script with -commands like "pair_coeff"_pair_coeff.html or -"bond_coeff"_bond_coeff.html and so on. See the "Tools"_Tools.html doc -page for additional tools that can use CHARMM, AMBER, or Materials -Studio generated files to assign force field coefficients and convert -their output into LAMMPS input. - -See "(MacKerell)"_#howto-MacKerell for a description of the CHARMM force -field. See "(Cornell)"_#howto-Cornell for a description of the AMBER -force field. See "(Sun)"_#howto-Sun for a description of the COMPASS -force field. - -:link(charmm,http://www.scripps.edu/brooks) -:link(amber,http://amber.scripps.edu) - -The interaction styles listed below compute force field formulas that -are consistent with common options in CHARMM or AMBER. See each -command's documentation for the formula it computes. - -"bond_style"_bond_harmonic.html harmonic -"angle_style"_angle_charmm.html charmm -"dihedral_style"_dihedral_charmm.html charmmfsh -"dihedral_style"_dihedral_charmm.html charmm -"pair_style"_pair_charmm.html lj/charmmfsw/coul/charmmfsh -"pair_style"_pair_charmm.html lj/charmmfsw/coul/long -"pair_style"_pair_charmm.html lj/charmm/coul/charmm -"pair_style"_pair_charmm.html lj/charmm/coul/charmm/implicit -"pair_style"_pair_charmm.html lj/charmm/coul/long :ul - -"special_bonds"_special_bonds.html charmm -"special_bonds"_special_bonds.html amber :ul - -NOTE: For CHARMM, newer {charmmfsw} or {charmmfsh} styles were released -in March 2017. We recommend they be used instead of the older {charmm} -styles. See discussion of the differences on the "pair -charmm"_pair_charmm.html and "dihedral charmm"_dihedral_charmm.html doc -pages. - -COMPASS is a general force field for atomistic simulation of common -organic molecules, inorganic small molecules, and polymers which was -developed using ab initio and empirical parameterization techniques. -See the "Tools"_Tools.html doc page for the msi2lmp tool for creating -LAMMPS template input and data files from BIOVIA's Materials Studio -files. Please note that the msi2lmp tool is very old and largely -unmaintained, so it does not support all features of Materials Studio -provided force field files, especially additions during the last decade. -You should watch the output carefully and compare results, where -possible. See "(Sun)"_#howto-Sun for a description of the COMPASS force -field. - -These interaction styles listed below compute force field formulas that -are consistent with the COMPASS force field. See each command's -documentation for the formula it computes. - -"bond_style"_bond_class2.html class2 -"angle_style"_angle_class2.html class2 -"dihedral_style"_dihedral_class2.html class2 -"improper_style"_improper_class2.html class2 :ul - -"pair_style"_pair_class2.html lj/class2 -"pair_style"_pair_class2.html lj/class2/coul/cut -"pair_style"_pair_class2.html lj/class2/coul/long :ul - -"special_bonds"_special_bonds.html lj/coul 0 0 1 :ul - -DREIDING is a generic force field developed by the "Goddard -group"_http://www.wag.caltech.edu at Caltech and is useful for -predicting structures and dynamics of organic, biological and main-group -inorganic molecules. The philosophy in DREIDING is to use general force -constants and geometry parameters based on simple hybridization -considerations, rather than individual force constants and geometric -parameters that depend on the particular combinations of atoms involved -in the bond, angle, or torsion terms. DREIDING has an "explicit hydrogen -bond term"_pair_hbond_dreiding.html to describe interactions involving a -hydrogen atom on very electronegative atoms (N, O, F). - -See "(Mayo)"_#howto-Mayo for a description of the DREIDING force field - -The interaction styles listed below compute force field formulas that -are consistent with the DREIDING force field. See each command's -documentation for the formula it computes. - -"bond_style"_bond_harmonic.html harmonic -"bond_style"_bond_morse.html morse :ul - -"angle_style"_angle_harmonic.html harmonic -"angle_style"_angle_cosine.html cosine -"angle_style"_angle_cosine_periodic.html cosine/periodic :ul - -"dihedral_style"_dihedral_charmm.html charmm -"improper_style"_improper_umbrella.html umbrella :ul - -"pair_style"_pair_buck.html buck -"pair_style"_pair_buck.html buck/coul/cut -"pair_style"_pair_buck.html buck/coul/long -"pair_style"_pair_lj.html lj/cut -"pair_style"_pair_lj.html lj/cut/coul/cut -"pair_style"_pair_lj.html lj/cut/coul/long :ul - -"pair_style"_pair_hbond_dreiding.html hbond/dreiding/lj -"pair_style"_pair_hbond_dreiding.html hbond/dreiding/morse :ul - -"special_bonds"_special_bonds.html dreiding :ul - -:line - -:link(howto-MacKerell) -[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). - -:link(howto-Cornell) -[(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). - -:link(howto-Sun) -[(Sun)] Sun, J. Phys. Chem. B, 102, 7338-7364 (1998). - -:link(howto-Mayo) -[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990). diff --git a/doc/txt/Howto_body.txt b/doc/txt/Howto_body.txt deleted file mode 100644 index 7cbdf9531589ef0b4ceeb47d664c7f89a2c867a3..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_body.txt +++ /dev/null @@ -1,456 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Body particles :h3 - -[Overview:] - -In LAMMPS, body particles are generalized finite-size particles. -Individual body particles can represent complex entities, such as -surface meshes of discrete points, collections of sub-particles, -deformable objects, etc. Note that other kinds of finite-size -spherical and aspherical particles are also supported by LAMMPS, such -as spheres, ellipsoids, line segments, and triangles, but they are -simpler entities that body particles. See the "Howto -spherical"_Howto_spherical.html doc page for a general overview of all -these particle types. - -Body particles are used via the "atom_style body"_atom_style.html -command. It takes a body style as an argument. The current body -styles supported by LAMMPS are as follows. The name in the first -column is used as the {bstyle} argument for the "atom_style -body"_atom_style.html command. - -{nparticle} : rigid body with N sub-particles -{rounded/polygon} : 2d polygons with N vertices -{rounded/polyhedron} : 3d polyhedra with N vertices, E edges and F faces :tb(s=:) - -The body style determines what attributes are stored for each body and -thus how they can be used to compute pairwise body/body or -bond/non-body (point particle) interactions. More details of each -style are described below. - -More styles may be added in the future. See the "Modify -body"_Modify_body.html doc page for details on how to add a new body -style to the code. - -:line - -[When to use body particles:] - -You should not use body particles to model a rigid body made of -simpler particles (e.g. point, sphere, ellipsoid, line segment, -triangular particles), if the interaction between pairs of rigid -bodies is just the summation of pairwise interactions between the -simpler particles. LAMMPS already supports this kind of model via the -"fix rigid"_fix_rigid.html command. Any of the numerous pair styles -that compute interactions between simpler particles can be used. The -"fix rigid"_fix_rigid.html command time integrates the motion of the -rigid bodies. All of the standard LAMMPS commands for thermostatting, -adding constraints, performing output, etc will operate as expected on -the simple particles. - -By contrast, when body particles are used, LAMMPS treats an entire -body as a single particle for purposes of computing pairwise -interactions, building neighbor lists, migrating particles between -processors, output of particles to a dump file, etc. This means that -interactions between pairs of bodies or between a body and non-body -(point) particle need to be encoded in an appropriate pair style. If -such a pair style were to mimic the "fix rigid"_fix_rigid.html model, -it would need to loop over the entire collection of interactions -between pairs of simple particles within the two bodies, each time a -single body/body interaction was computed. - -Thus it only makes sense to use body particles and develop such a pair -style, when particle/particle interactions are more complex than what -the "fix rigid"_fix_rigid.html command can already calculate. For -example, consider particles with one or more of the following -attributes: - -represented by a surface mesh -represented by a collection of geometric entities (e.g. planes + spheres) -deformable -internal stress that induces fragmentation :ul - -For these models, the interaction between pairs of particles is likely -to be more complex than the summation of simple pairwise interactions. -An example is contact or frictional forces between particles with -planar surfaces that inter-penetrate. Likewise, the body particle may -store internal state, such as a stress tensor used to compute a -fracture criterion. - -These are additional LAMMPS commands that can be used with body -particles of different styles - -"fix nve/body"_fix_nve_body.html : integrate motion of a body particle in NVE ensemble -"fix nvt/body"_fix_nvt_body.html : ditto for NVT ensemble -"fix npt/body"_fix_npt_body.html : ditto for NPT ensemble -"fix nph/body"_fix_nph_body.html : ditto for NPH ensemble -"compute body/local"_compute_body_local.html : store sub-particle attributes of a body particle -"compute temp/body"_compute_temp_body.html : compute temperature of body particles -"dump local"_dump.html : output sub-particle attributes of a body particle -"dump image"_dump_image.html : output body particle attributes as an image :tb(s=:) - -The pair styles defined for use with specific body styles are listed -in the sections below. - -:line - -[Specifics of body style nparticle:] - -The {nparticle} body style represents body particles as a rigid body -with a variable number N of sub-particles. It is provided as a -vanilla, prototypical example of a body particle, although as -mentioned above, the "fix rigid"_fix_rigid.html command already -duplicates its functionality. - -The atom_style body command for this body style takes two additional -arguments: - -atom_style body nparticle Nmin Nmax -Nmin = minimum # of sub-particles in any body in the system -Nmax = maximum # of sub-particles in any body in the system :pre - -The Nmin and Nmax arguments are used to bound the size of data -structures used internally by each particle. - -When the "read_data"_read_data.html command reads a data file for this -body style, the following information must be provided for each entry -in the {Bodies} section of the data file: - -atom-ID 1 M -N -ixx iyy izz ixy ixz iyz -x1 y1 z1 -... -xN yN zN :pre - -where M = 6 + 3*N, and N is the number of sub-particles in the body -particle. - -The integer line has a single value N. The floating point line(s) -list 6 moments of inertia followed by the coordinates of the N -sub-particles (x1 to zN) as 3N values. These values can be listed on -as many lines as you wish; see the "read_data"_read_data.html command -for more details. - -The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the -values consistent with the current orientation of the rigid body -around its center of mass. The values are with respect to the -simulation box XYZ axes, not with respect to the principal axes of the -rigid body itself. LAMMPS performs the latter calculation internally. -The coordinates of each sub-particle are specified as its x,y,z -displacement from the center-of-mass of the body particle. The -center-of-mass position of the particle is specified by the x,y,z -values in the {Atoms} section of the data file, as is the total mass -of the body particle. - -The "pair_style body/nparticle"_pair_body_nparticle.html command can be used -with this body style to compute body/body and body/non-body interactions. - -For output purposes via the "compute -body/local"_compute_body_local.html and "dump local"_dump.html -commands, this body style produces one datum for each of the N -sub-particles in a body particle. The datum has 3 values: - -1 = x position of sub-particle -2 = y position of sub-particle -3 = z position of sub-particle :pre - -These values are the current position of the sub-particle within the -simulation domain, not a displacement from the center-of-mass (COM) of -the body particle itself. These values are calculated using the -current COM and orientation of the body particle. - -For images created by the "dump image"_dump_image.html command, if the -{body} keyword is set, then each body particle is drawn as a -collection of spheres, one for each sub-particle. The size of each -sphere is determined by the {bflag1} parameter for the {body} keyword. -The {bflag2} argument is ignored. - -:line - -[Specifics of body style rounded/polygon:] - -The {rounded/polygon} body style represents body particles as a 2d -polygon with a variable number of N vertices. This style can only be -used for 2d models; see the "boundary"_boundary.html command. See the -"pair_style body/rounded/polygon" doc page for a diagram of two -squares with rounded circles at the vertices. Special cases for N = 1 -(circle) and N = 2 (rod with rounded ends) can also be specified. - -One use of this body style is for 2d discrete element models, as -described in "Fraige"_#body-Fraige. - -Similar to body style {nparticle}, the atom_style body command for -this body style takes two additional arguments: - -atom_style body rounded/polygon Nmin Nmax -Nmin = minimum # of vertices in any body in the system -Nmax = maximum # of vertices in any body in the system :pre - -The Nmin and Nmax arguments are used to bound the size of data -structures used internally by each particle. - -When the "read_data"_read_data.html command reads a data file for this -body style, the following information must be provided for each entry -in the {Bodies} section of the data file: - -atom-ID 1 M -N -ixx iyy izz ixy ixz iyz -x1 y1 z1 -... -xN yN zN -i j j k k ... -diameter :pre - -where M = 6 + 3*N + 2*N + 1, and N is the number of vertices in the -body particle. - -The integer line has a single value N. The floating point line(s) -list 6 moments of inertia followed by the coordinates of the N -vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by -2N vertex indices corresponding to the end points of the N edges, -followed by a single diameter value = the rounded diameter of the -circle that surrounds each vertex. The diameter value can be different -for each body particle. These floating-point values can be listed on -as many lines as you wish; see the "read_data"_read_data.html command -for more details. - -The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the -values consistent with the current orientation of the rigid body -around its center of mass. The values are with respect to the -simulation box XYZ axes, not with respect to the principal axes of the -rigid body itself. LAMMPS performs the latter calculation internally. -The coordinates of each vertex are specified as its x,y,z displacement -from the center-of-mass of the body particle. The center-of-mass -position of the particle is specified by the x,y,z values in the -{Atoms} section of the data file. - -For example, the following information would specify a square particle -whose edge length is sqrt(2) and rounded diameter is 1.0. The -orientation of the square is aligned with the xy coordinate axes which -is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = -1 1 4 0 0 0. Note that only Izz matters in 2D simulations. - -3 1 27 -4 -1 1 4 0 0 0 --0.7071 -0.7071 0 --0.7071 0.7071 0 -0.7071 0.7071 0 -0.7071 -0.7071 0 -0 1 -1 2 -2 3 -3 0 -1.0 :pre - -A rod in 2D, whose length is 4.0, mass 1.0, rounded at two ends -by circles of diameter 0.5, is specified as follows: - -1 1 13 -2 -1 1 1.33333 0 0 0 --2 0 0 -2 0 0 -0.5 :pre - -A disk, whose diameter is 3.0, mass 1.0, is specified as follows: - -1 1 10 -1 -1 1 4.5 0 0 0 -0 0 0 -3.0 :pre - -The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html -command can be used with this body style to compute body/body -interactions. The "fix wall/body/polygon"_fix_wall_body_polygon.html -command can be used with this body style to compute the interaction of -body particles with a wall. - -:line - -[Specifics of body style rounded/polyhedron:] - -The {rounded/polyhedron} body style represents body particles as a 3d -polyhedron with a variable number of N vertices, E edges and F faces. -This style can only be used for 3d models; see the -"boundary"_boundary.html command. See the "pair_style -body/rounded/polygon" doc page for a diagram of a two 2d squares with -rounded circles at the vertices. A 3d cube with rounded spheres at -the 8 vertices and 12 rounded edges would be similar. Special cases -for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be -specified. - -This body style is for 3d discrete element models, as described in -"Wang"_#body-Wang. - -Similar to body style {rounded/polygon}, the atom_style body command -for this body style takes two additional arguments: - -atom_style body rounded/polyhedron Nmin Nmax -Nmin = minimum # of vertices in any body in the system -Nmax = maximum # of vertices in any body in the system :pre - -The Nmin and Nmax arguments are used to bound the size of data -structures used internally by each particle. - -When the "read_data"_read_data.html command reads a data file for this -body style, the following information must be provided for each entry -in the {Bodies} section of the data file: - -atom-ID 3 M -N E F -ixx iyy izz ixy ixz iyz -x1 y1 z1 -... -xN yN zN -0 1 -1 2 -2 3 -... -0 1 2 -1 -0 2 3 -1 -... -1 2 3 4 -diameter :pre - -where M = 6 + 3*N + 2*E + 4*F + 1, and N is the number of vertices in -the body particle, E = number of edges, F = number of faces. - -The integer line has three values: number of vertices (N), number of -edges (E) and number of faces (F). The floating point line(s) list 6 -moments of inertia followed by the coordinates of the N vertices (x1 -to zN) as 3N values, followed by 2N vertex indices corresponding to -the end points of the E edges, then 4*F vertex indices defining F -faces. The last value is the diameter value = the rounded diameter of -the sphere that surrounds each vertex. The diameter value can be -different for each body particle. These floating-point values can be -listed on as many lines as you wish; see the -"read_data"_read_data.html command for more details. Because the -maximum number of vertices per face is hard-coded to be 4 -(i.e. quadrilaterals), faces with more than 4 vertices need to be -split into triangles or quadrilaterals. For triangular faces, the -last vertex index should be set to -1. - -The ordering of the 4 vertices within a face should follow -the right-hand rule so that the normal vector of the face points -outwards from the center of mass. - -The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the -values consistent with the current orientation of the rigid body -around its center of mass. The values are with respect to the -simulation box XYZ axes, not with respect to the principal axes of the -rigid body itself. LAMMPS performs the latter calculation internally. -The coordinates of each vertex are specified as its x,y,z displacement -from the center-of-mass of the body particle. The center-of-mass -position of the particle is specified by the x,y,z values in the -{Atoms} section of the data file. - -For example, the following information would specify a cubic particle -whose edge length is 2.0 and rounded diameter is 0.5. -The orientation of the cube is aligned with the xyz coordinate axes -which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz -iyz = 0.667 0.667 0.667 0 0 0. - -1 3 79 -8 12 6 -0.667 0.667 0.667 0 0 0 -1 1 1 -1 -1 1 --1 -1 1 --1 1 1 -1 1 -1 -1 -1 -1 --1 -1 -1 --1 1 -1 -0 1 -1 2 -2 3 -3 0 -4 5 -5 6 -6 7 -7 4 -0 4 -1 5 -2 6 -3 7 -0 1 2 3 -4 5 6 7 -0 1 5 4 -1 2 6 5 -2 3 7 6 -3 0 4 7 -0.5 :pre - -A rod in 3D, whose length is 4.0, mass 1.0 and rounded at two ends -by circles of diameter 0.5, is specified as follows: - -1 1 13 -2 -0 1.33333 1.33333 0 0 0 --2 0 0 -2 0 0 -0.5 :pre - -A sphere whose diameter is 3.0 and mass 1.0, is specified as follows: - -1 1 10 -1 -0.9 0.9 0.9 0 0 0 -0 0 0 -3.0 :pre - -The "pair_style -body/rounded/polhedron"_pair_body_rounded_polyhedron.html command can -be used with this body style to compute body/body interactions. The -"fix wall/body/polyhedron"_fix_wall_body_polygon.html command can be -used with this body style to compute the interaction of body particles -with a wall. - -:line - -For output purposes via the "compute -body/local"_compute_body_local.html and "dump local"_dump.html -commands, this body style produces one datum for each of the N -sub-particles in a body particle. The datum has 3 values: - -1 = x position of vertex -2 = y position of vertex -3 = z position of vertex :pre - -These values are the current position of the vertex within the -simulation domain, not a displacement from the center-of-mass (COM) of -the body particle itself. These values are calculated using the -current COM and orientation of the body particle. - -For images created by the "dump image"_dump_image.html command, if the -{body} keyword is set, then each body particle is drawn as a 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.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 -{bflag2} argument is ignored. - -:line - -:link(body-Fraige) -[(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, -Particuology, 6, 455 (2008). - -:link(body-Wang) -[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular -Matter, 13, 1 (2011). diff --git a/doc/txt/Howto_chunk.txt b/doc/txt/Howto_chunk.txt deleted file mode 100644 index ef9b49f87c4092f2783ba694b94d6c6ffeffc5a2..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_chunk.txt +++ /dev/null @@ -1,205 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Use chunks to calculate system properties :h3 - -In LAMMS, "chunks" are collections of atoms, as defined by the -"compute chunk/atom"_compute_chunk_atom.html command, which assigns -each atom to a chunk ID (or to no chunk at all). The number of chunks -and the assignment of chunk IDs to atoms can be static or change over -time. Examples of "chunks" are molecules or spatial bins or atoms -with similar values (e.g. coordination number or potential energy). - -The per-atom chunk IDs can be used as input to two other kinds of -commands, to calculate various properties of a system: - -"fix ave/chunk"_fix_ave_chunk.html -any of the "compute */chunk"_compute.html commands :ul - -Here a brief overview for each of the 4 kinds of chunk-related commands -is provided. Then some examples are given of how to compute different -properties with chunk commands. - -Compute chunk/atom command: :h4 - -This compute can assign atoms to chunks of various styles. Only atoms -in the specified group and optional specified region are assigned to a -chunk. Here are some possible chunk definitions: - -atoms in same molecule | chunk ID = molecule ID | -atoms of same atom type | chunk ID = atom type | -all atoms with same atom property (charge, radius, etc) | chunk ID = output of compute property/atom | -atoms in same cluster | chunk ID = output of "compute cluster/atom"_compute_cluster_atom.html command | -atoms in same spatial bin | chunk ID = bin ID | -atoms in same rigid body | chunk ID = molecule ID used to define rigid bodies | -atoms with similar potential energy | chunk ID = output of "compute pe/atom"_compute_pe_atom.html | -atoms with same local defect structure | chunk ID = output of "compute centro/atom"_compute_centro_atom.html or "compute coord/atom"_compute_coord_atom.html command :tb(s=|,c=2) - -Note that chunk IDs are integer values, so for atom properties or -computes that produce a floating point value, they will be truncated -to an integer. You could also use the compute in a variable that -scales the floating point value to spread it across multiple integers. - -Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = -pencils, 3d bins = boxes, spherical bins, cylindrical bins. - -This compute also calculates the number of chunks {Nchunk}, which is -used by other commands to tally per-chunk data. {Nchunk} can be a -static value or change over time (e.g. the number of clusters). The -chunk ID for an individual atom can also be static (e.g. a molecule -ID), or dynamic (e.g. what spatial bin an atom is in as it moves). - -Note that this compute allows the per-atom output of other -"computes"_compute.html, "fixes"_fix.html, and -"variables"_variable.html to be used to define chunk IDs for each -atom. This means you can write your own compute or fix to output a -per-atom quantity to use as chunk ID. See the "Modify"_Modify.html -doc pages for info on how to do this. You can also define a "per-atom -variable"_variable.html in the input script that uses a formula to -generate a chunk ID for each atom. - -Fix ave/chunk command: :h4 - -This fix takes the ID of a "compute -chunk/atom"_compute_chunk_atom.html command as input. For each chunk, -it then sums one or more specified per-atom values over the atoms in -each chunk. The per-atom values can be any atom property, such as -velocity, force, charge, potential energy, kinetic energy, stress, -etc. Additional keywords are defined for per-chunk properties like -density and temperature. More generally any per-atom value generated -by other "computes"_compute.html, "fixes"_fix.html, and "per-atom -variables"_variable.html, can be summed over atoms in each chunk. - -Similar to other averaging fixes, this fix allows the summed per-chunk -values to be time-averaged in various ways, and output to a file. The -fix produces a global array as output with one row of values per -chunk. - -Compute */chunk commands: :h4 - -The following computes operate on chunks of atoms to produce per-chunk -values. Any compute whose style name ends in "/chunk" is in this -category: - -"compute com/chunk"_compute_com_chunk.html -"compute gyration/chunk"_compute_gyration_chunk.html -"compute inertia/chunk"_compute_inertia_chunk.html -"compute msd/chunk"_compute_msd_chunk.html -"compute property/chunk"_compute_property_chunk.html -"compute temp/chunk"_compute_temp_chunk.html -"compute torque/chunk"_compute_vcm_chunk.html -"compute vcm/chunk"_compute_vcm_chunk.html :ul - -They each take the ID of a "compute -chunk/atom"_compute_chunk_atom.html command as input. As their names -indicate, they calculate the center-of-mass, radius of gyration, -moments of inertia, mean-squared displacement, temperature, torque, -and velocity of center-of-mass for each chunk of atoms. The "compute -property/chunk"_compute_property_chunk.html command can tally the -count of atoms in each chunk and extract other per-chunk properties. - -The reason these various calculations are not part of the "fix -ave/chunk command"_fix_ave_chunk.html, is that each requires a more -complicated operation than simply summing and averaging over per-atom -values in each chunk. For example, many of them require calculation -of a center of mass, which requires summing mass*position over the -atoms and then dividing by summed mass. - -All of these computes produce a global vector or global array as -output, wih one or more values per chunk. The output can be used in -various ways: - -As input to the "fix ave/time"_fix_ave_time.html command, which can -write the values to a file and optionally time average them. :ulb,l - -As input to the "fix ave/histo"_fix_ave_histo.html command to -histogram values across chunks. E.g. a histogram of cluster sizes or -molecule diffusion rates. :l - -As input to special functions of "equal-style -variables"_variable.html, like sum() and max() and ave(). E.g. to -find the largest cluster or fastest diffusing molecule or average -radius-of-gyration of a set of molecules (chunks). :l,ule - -Other chunk commands: :h4 - -"compute chunk/spread/atom"_compute_chunk_spread_atom.html -"compute reduce/chunk"_compute_reduce_chunk.html :ul - -The "compute chunk/spread/atom"_compute_chunk_spread_atom.html command -spreads per-chunk values to each atom in the chunk, producing per-atom -values as its output. This can be useful for outputting per-chunk -values to a per-atom "dump file"_dump.html. Or for using an atom's -associated chunk value in an "atom-style variable"_variable.html. Or -as input to the "fix ave/chunk"_fix_ave_chunk.html command to -spatially average per-chunk values calculated by a per-chunk compute. - -The "compute reduce/chunk"_compute_reduce_chunk.html command reduces a -peratom value across the atoms in each chunk to produce a value per -chunk. When used with the "compute -chunk/spread/atom"_compute_chunk_spread_atom.html command it can -create peratom values that induce a new set of chunks with a second -"compute chunk/atom"_compute_chunk_atom.html command. - -Example calculations with chunks :h4 - -Here are examples using chunk commands to calculate various -properties: - -(1) Average velocity in each of 1000 2d spatial bins: - -compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced -fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out :pre - -(2) Temperature in each spatial bin, after subtracting a flow -velocity: - -compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced -compute vbias all temp/profile 1 0 0 y 10 -fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out :pre - -(3) Center of mass of each molecule: - -compute cc1 all chunk/atom molecule -compute myChunk all com/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -(4) Total force on each molecule and ave/max across all molecules: - -compute cc1 all chunk/atom molecule -fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out -variable xave equal ave(f_1\[2\]) -variable xmax equal max(f_1\[2\]) -thermo 1000 -thermo_style custom step temp v_xave v_xmax :pre - -(5) Histogram of cluster sizes: - -compute cluster all cluster/atom 1.0 -compute cc1 all chunk/atom c_cluster compress yes -compute size all property/chunk cc1 count -fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo :pre - -(6) An example for using a per-chunk value to apply per-atom forces to -compress individual polymer chains (molecules) in a mixture, is -explained on the "compute -chunk/spread/atom"_compute_chunk_spread_atom.html command doc page. - -(7) An example for using one set of per-chunk values for molecule -chunks, to create a 2nd set of micelle-scale chunks (clustered -molecules, due to hydrophobicity), is explained on the "compute -chunk/reduce"_compute_reduce_chunk.html command doc page. - -(8) An example for using one set of per-chunk values (dipole moment -vectors) for molecule chunks, spreading the values to each atom in -each chunk, then defining a second set of chunks as spatial bins, and -using the "fix ave/chunk"_fix_ave_chunk.html command to calculate an -average dipole moment vector for each bin. This example is explained -on the "compute chunk/spread/atom"_compute_chunk_spread_atom.html -command doc page. diff --git a/doc/txt/Howto_coreshell.txt b/doc/txt/Howto_coreshell.txt deleted file mode 100644 index d3c320cb37a7e16cf37a0661f175900dfbf82122..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_coreshell.txt +++ /dev/null @@ -1,253 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Adiabatic core/shell model :h3 - -The adiabatic core-shell model by "Mitchell and -Fincham"_#MitchellFincham is a simple method for adding polarizability -to a system. In order to mimic the electron shell of an ion, a -satellite particle is attached to it. This way the ions are split into -a core and a shell where the latter is meant to react to the -electrostatic environment inducing polarizability. See the "Howto -polarizable"_Howto_polarizable.html doc page for a discussion of all -the polarizable models available in LAMMPS. - -Technically, shells are attached to the cores by a spring force f = -k*r where k is a parameterized spring constant and r is the distance -between the core and the shell. The charges of the core and the shell -add up to the ion charge, thus q(ion) = q(core) + q(shell). This -setup introduces the ion polarizability (alpha) given by -alpha = q(shell)^2 / k. In a -similar fashion the mass of the ion is distributed on the core and the -shell with the core having the larger mass. - -To run this model in LAMMPS, "atom_style"_atom_style.html {full} can -be used since atom charge and bonds are needed. Each kind of -core/shell pair requires two atom types and a bond type. The core and -shell of a core/shell pair should be bonded to each other with a -harmonic bond that provides the spring force. For example, a data file -for NaCl, as found in examples/coreshell, has this format: - -432 atoms # core and shell atoms -216 bonds # number of core/shell springs :pre - -4 atom types # 2 cores and 2 shells for Na and Cl -2 bond types :pre - -0.0 24.09597 xlo xhi -0.0 24.09597 ylo yhi -0.0 24.09597 zlo zhi :pre - -Masses # core/shell mass ratio = 0.1 :pre - -1 20.690784 # Na core -2 31.90500 # Cl core -3 2.298976 # Na shell -4 3.54500 # Cl shell :pre - -Atoms :pre - -1 1 2 1.5005 0.00000000 0.00000000 0.00000000 # core of core/shell pair 1 -2 1 4 -2.5005 0.00000000 0.00000000 0.00000000 # shell of core/shell pair 1 -3 2 1 1.5056 4.01599500 4.01599500 4.01599500 # core of core/shell pair 2 -4 2 3 -0.5056 4.01599500 4.01599500 4.01599500 # shell of core/shell pair 2 -(...) :pre - -Bonds # Bond topology for spring forces :pre - -1 2 1 2 # spring for core/shell pair 1 -2 2 3 4 # spring for core/shell pair 2 -(...) :pre - -Non-Coulombic (e.g. Lennard-Jones) pairwise interactions are only -defined between the shells. Coulombic interactions are defined -between all cores and shells. If desired, additional bonds can be -specified between cores. - -The "special_bonds"_special_bonds.html command should be used to -turn-off the Coulombic interaction within core/shell pairs, since that -interaction is set by the bond spring. This is done using the -"special_bonds"_special_bonds.html command with a 1-2 weight = 0.0, -which is the default value. It needs to be considered whether one has -to adjust the "special_bonds"_special_bonds.html weighting according -to the molecular topology since the interactions of the shells are -bypassed over an extra bond. - -Note that this core/shell implementation does not require all ions to -be polarized. One can mix core/shell pairs and ions without a -satellite particle if desired. - -Since the core/shell model permits distances of r = 0.0 between the -core and shell, a pair style with a "cs" suffix needs to be used to -implement a valid long-range Coulombic correction. Several such pair -styles are provided in the CORESHELL package. See "this doc -page"_pair_cs.html for details. All of the core/shell enabled pair -styles require the use of a long-range Coulombic solver, as specified -by the "kspace_style"_kspace_style.html command. Either the PPPM or -Ewald solvers can be used. - -For the NaCL example problem, these pair style and bond style settings -are used: - -pair_style born/coul/long/cs 20.0 20.0 -pair_coeff * * 0.0 1.000 0.00 0.00 0.00 -pair_coeff 3 3 487.0 0.23768 0.00 1.05 0.50 #Na-Na -pair_coeff 3 4 145134.0 0.23768 0.00 6.99 8.70 #Na-Cl -pair_coeff 4 4 405774.0 0.23768 0.00 72.40 145.40 #Cl-Cl :pre - -bond_style harmonic -bond_coeff 1 63.014 0.0 -bond_coeff 2 25.724 0.0 :pre - -When running dynamics with the adiabatic core/shell model, the -following issues should be considered. The relative motion of -the core and shell particles corresponds to the polarization, -hereby an instantaneous relaxation of the shells is approximated -and a fast core/shell spring frequency ensures a nearly constant -internal kinetic energy during the simulation. -Thermostats can alter this polarization behavior, by scaling the -internal kinetic energy, meaning the shell will not react freely to -its electrostatic environment. -Therefore it is typically desirable to decouple the relative motion of -the core/shell pair, which is an imaginary degree of freedom, from the -real physical system. To do that, the "compute -temp/cs"_compute_temp_cs.html command can be used, in conjunction with -any of the thermostat fixes, such as "fix nvt"_fix_nh.html or "fix -langevin"_fix_langevin.html. This compute uses the center-of-mass velocity -of the core/shell pairs to calculate a temperature, and insures that -velocity is what is rescaled for thermostatting purposes. This -compute also works for a system with both core/shell pairs and -non-polarized ions (ions without an attached satellite particle). The -"compute temp/cs"_compute_temp_cs.html command requires input of two -groups, one for the core atoms, another for the shell atoms. -Non-polarized ions which might also be included in the treated system -should not be included into either of these groups, they are taken -into account by the {group-ID} (2nd argument) of the compute. The -groups can be defined using the "group {type}"_group.html command. -Note that to perform thermostatting using this definition of -temperature, the "fix modify temp"_fix_modify.html command should be -used to assign the compute to the thermostat fix. Likewise the -"thermo_modify temp"_thermo_modify.html command can be used to make -this temperature be output for the overall system. - -For the NaCl example, this can be done as follows: - -group cores type 1 2 -group shells type 3 4 -compute CSequ all temp/cs cores shells -fix thermoberendsen all temp/berendsen 1427 1427 0.4 # thermostat for the true physical system -fix thermostatequ all nve # integrator as needed for the berendsen thermostat -fix_modify thermoberendsen temp CSequ -thermo_modify temp CSequ # output of center-of-mass derived temperature :pre - -The pressure for the core/shell system is computed via the regular -LAMMPS convention by "treating the cores and shells as individual -particles"_#MitchellFincham2. For the thermo output of the pressure -as well as for the application of a barostat, it is necessary to -use an additional "pressure"_compute_pressure.html compute based on -the default "temperature"_compute_temp.html and specifying it as a -second argument in "fix modify"_fix_modify.html and -"thermo_modify"_thermo_modify.html resulting in: - -(...) -compute CSequ all temp/cs cores shells -compute thermo_press_lmp all pressure thermo_temp # pressure for individual particles -thermo_modify temp CSequ press thermo_press_lmp # modify thermo to regular pressure -fix press_bar all npt temp 300 300 0.04 iso 0 0 0.4 -fix_modify press_bar temp CSequ press thermo_press_lmp # pressure modification for correct kinetic scalar :pre - -If "compute temp/cs"_compute_temp_cs.html is used, the decoupled -relative motion of the core and the shell should in theory be -stable. However numerical fluctuation can introduce a small -momentum to the system, which is noticeable over long trajectories. -Therefore it is recommendable to use the "fix -momentum"_fix_momentum.html command in combination with "compute -temp/cs"_compute_temp_cs.html when equilibrating the system to -prevent any drift. - -When initializing the velocities of a system with core/shell pairs, it -is also desirable to not introduce energy into the relative motion of -the core/shell particles, but only assign a center-of-mass velocity to -the pairs. This can be done by using the {bias} keyword of the -"velocity create"_velocity.html command and assigning the "compute -temp/cs"_compute_temp_cs.html command to the {temp} keyword of the -"velocity"_velocity.html command, e.g. - -velocity all create 1427 134 bias yes temp CSequ -velocity all scale 1427 temp CSequ :pre - -To maintain the correct polarizability of the core/shell pairs, the -kinetic energy of the internal motion shall remain nearly constant. -Therefore the choice of spring force and mass ratio need to ensure -much faster relative motion of the 2 atoms within the core/shell pair -than their center-of-mass velocity. This allows the shells to -effectively react instantaneously to the electrostatic environment and -limits energy transfer to or from the core/shell oscillators. -This fast movement also dictates the timestep that can be used. - -The primary literature of the adiabatic core/shell model suggests that -the fast relative motion of the core/shell pairs only allows negligible -energy transfer to the environment. -The mentioned energy transfer will typically lead to a small drift -in total energy over time. This internal energy can be monitored -using the "compute chunk/atom"_compute_chunk_atom.html and "compute -temp/chunk"_compute_temp_chunk.html commands. The internal kinetic -energies of each core/shell pair can then be summed using the sum() -special function of the "variable"_variable.html command. Or they can -be time/averaged and output using the "fix ave/time"_fix_ave_time.html -command. To use these commands, each core/shell pair must be defined -as a "chunk". If each core/shell pair is defined as its own molecule, -the molecule ID can be used to define the chunks. If cores are bonded -to each other to form larger molecules, the chunks can be identified -by the "fix property/atom"_fix_property_atom.html via assigning a -core/shell ID to each atom using a special field in the data file read -by the "read_data"_read_data.html command. This field can then be -accessed by the "compute property/atom"_compute_property_atom.html -command, to use as input to the "compute -chunk/atom"_compute_chunk_atom.html command to define the core/shell -pairs as chunks. - -For example if core/shell pairs are the only molecules: - -read_data NaCl_CS_x0.1_prop.data -compute prop all property/atom molecule -compute cs_chunk all chunk/atom c_prop -compute cstherm all temp/chunk cs_chunk temp internal com yes cdof 3.0 # note the chosen degrees of freedom for the core/shell pairs -fix ave_chunk all ave/time 10 1 10 c_cstherm file chunk.dump mode vector :pre - -For example if core/shell pairs and other molecules are present: - -fix csinfo all property/atom i_CSID # property/atom command -read_data NaCl_CS_x0.1_prop.data fix csinfo NULL CS-Info # atom property added in the data-file -compute prop all property/atom i_CSID -(...) :pre - -The additional section in the date file would be formatted like this: - -CS-Info # header of additional section :pre - -1 1 # column 1 = atom ID, column 2 = core/shell ID -2 1 -3 2 -4 2 -5 3 -6 3 -7 4 -8 4 -(...) :pre - -:line - -:link(MitchellFincham) -[(Mitchell and Fincham)] Mitchell, Fincham, J Phys Condensed Matter, -5, 1031-1038 (1993). - -:link(MitchellFincham2) -[(Fincham)] Fincham, Mackrodt and Mitchell, J Phys Condensed Matter, -6, 393-404 (1994). diff --git a/doc/txt/Howto_couple.txt b/doc/txt/Howto_couple.txt deleted file mode 100644 index 6fa740d529f7304e24d8deca7433d9690f41a2d7..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_couple.txt +++ /dev/null @@ -1,116 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Coupling LAMMPS to other codes :h3 - -LAMMPS is designed to allow it to be coupled to other codes. For -example, a quantum mechanics code might compute forces on a subset of -atoms and pass those forces to LAMMPS. Or a continuum finite element -(FE) simulation might use atom positions as boundary conditions on FE -nodal points, compute a FE solution, and return interpolated forces on -MD atoms. - -LAMMPS can be coupled to other codes in at least 4 ways. Each has -advantages and disadvantages, which you'll have to think about in the -context of your application. - -:line - -(1) Define a new "fix"_fix.html command that calls the other code. In -this scenario, LAMMPS is the driver code. During its timestepping, -the fix is invoked, and can make library calls to the other code, -which has been linked to LAMMPS as a library. This is the way the -"POEMS"_poems package that performs constrained rigid-body motion on -groups of atoms is hooked to LAMMPS. See the "fix -poems"_fix_poems.html command for more details. See the -"Modify"_Modify.html doc pages for info on how to add a new fix to -LAMMPS. - -:link(poems,http://www.rpi.edu/~anderk5/lab) - -:line - -(2) Define a new LAMMPS command that calls the other code. This is -conceptually similar to method (1), but in this case LAMMPS and the -other code are on a more equal footing. Note that now the other code -is not called during the timestepping of a LAMMPS run, but between -runs. The LAMMPS input script can be used to alternate LAMMPS runs -with calls to the other code, invoked via the new command. The -"run"_run.html command facilitates this with its {every} option, which -makes it easy to run a few steps, invoke the command, run a few steps, -invoke the command, etc. - -In this scenario, the other code can be called as a library, as in -(1), or it could be a stand-alone code, invoked by a system() call -made by the command (assuming your parallel machine allows one or more -processors to start up another program). In the latter case the -stand-alone code could communicate with LAMMPS through files that the -command writes and reads. - -See the "Modify command"_Modify_command.html doc page for info on how -to add a new command to LAMMPS. - -:line - -(3) Use LAMMPS as a library called by another code. In this case the -other code is the driver and calls LAMMPS as needed. Or a wrapper -code could link and call both LAMMPS and another code as libraries. -Again, the "run"_run.html command has options that allow it to be -invoked with minimal overhead (no setup or clean-up) if you wish to do -multiple short runs, driven by another program. - -Examples of driver codes that call LAMMPS as a library are included in -the examples/COUPLE directory of the LAMMPS distribution; see -examples/COUPLE/README for more details: - -simple: simple driver programs in C++ and C which invoke LAMMPS as a -library :ulb,l - -lammps_quest: coupling of LAMMPS and "Quest"_quest, to run classical -MD with quantum forces calculated by a density functional code :l - -lammps_spparks: coupling of LAMMPS and "SPPARKS"_spparks, to couple -a kinetic Monte Carlo model for grain growth using MD to calculate -strain induced across grain boundaries :l -:ule - -:link(quest,http://dft.sandia.gov/Quest) -:link(spparks,http://www.sandia.gov/~sjplimp/spparks.html) - -The "Build basics"_Build_basics.html doc page describes how to build -LAMMPS as a library. Once this is done, you can interface with LAMMPS -either via C++, C, Fortran, or Python (or any other language that -supports a vanilla C-like interface). For example, from C++ you could -create one (or more) "instances" of LAMMPS, pass it an input script to -process, or execute individual commands, all by invoking the correct -class methods in LAMMPS. From C or Fortran you can make function -calls to do the same things. See the "Python"_Python_head.html doc -pages for a description of the Python wrapper provided with LAMMPS -that operates through the LAMMPS library interface. - -The files src/library.cpp and library.h contain the C-style interface -to LAMMPS. See the "Howto library"_Howto_library.html doc page for a -description of the interface and how to extend it for your needs. - -Note that the lammps_open() function that creates an instance of -LAMMPS takes an MPI communicator as an argument. This means that -instance of LAMMPS will run on the set of processors in the -communicator. Thus the calling code can run LAMMPS on all or a subset -of processors. For example, a wrapper script might decide to -alternate between LAMMPS and another code, allowing them both to run -on all the processors. Or it might allocate half the processors to -LAMMPS and half to the other code and run both codes simultaneously -before syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations. - -:line - -(4) Couple LAMMPS with another code in a client/server mode. This is -described on the "Howto client/server"_Howto_client_server.html doc -page. diff --git a/doc/txt/Howto_diffusion.txt b/doc/txt/Howto_diffusion.txt deleted file mode 100644 index 6b6eaf72ec71c112b0dba83d586b2c3a6fe9edee..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_diffusion.txt +++ /dev/null @@ -1,33 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Calculate diffusion coefficients :h3 - -The diffusion coefficient D of a material can be measured in at least -2 ways using various options in LAMMPS. See the examples/DIFFUSE -directory for scripts that implement the 2 methods discussed here for -a simple Lennard-Jones fluid model. - -The first method is to measure the mean-squared displacement (MSD) of -the system, via the "compute msd"_compute_msd.html command. The slope -of the MSD versus time is proportional to the diffusion coefficient. -The instantaneous MSD values can be accumulated in a vector via the -"fix vector"_fix_vector.html command, and a line fit to the vector to -compute its slope via the "variable slope"_variable.html function, and -thus extract D. - -The second method is to measure the velocity auto-correlation function -(VACF) of the system, via the "compute vacf"_compute_vacf.html -command. The time-integral of the VACF is proportional to the -diffusion coefficient. The instantaneous VACF values can be -accumulated in a vector via the "fix vector"_fix_vector.html command, -and time integrated via the "variable trap"_variable.html function, -and thus extract D. - -:line diff --git a/doc/txt/Howto_dispersion.txt b/doc/txt/Howto_dispersion.txt deleted file mode 100644 index 510e531d1f016aeb301637efe79d4c3198cf60f7..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_dispersion.txt +++ /dev/null @@ -1,108 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Long-range dispersion settings :h3 - -The PPPM method computes interactions by splitting the pair potential -into two parts, one of which is computed in a normal pairwise fashion, -the so-called real-space part, and one of which is computed using the -Fourier transform, the so called reciprocal-space or kspace part. For -both parts, the potential is not computed exactly but is approximated. -Thus, there is an error in both parts of the computation, the -real-space and the kspace error. The just mentioned facts are true -both for the PPPM for Coulomb as well as dispersion interactions. The -deciding difference - and also the reason why the parameters for -pppm/disp have to be selected with more care - is the impact of the -errors on the results: The kspace error of the PPPM for Coulomb and -dispersion interaction and the real-space error of the PPPM for -Coulomb interaction have the character of noise. In contrast, the -real-space error of the PPPM for dispersion has a clear physical -interpretation: the underprediction of cohesion. As a consequence, the -real-space error has a much stronger effect than the kspace error on -simulation results for pppm/disp. Parameters must thus be chosen in a -way that this error is much smaller than the kspace error. - -When using pppm/disp and not making any specifications on the PPPM -parameters via the kspace modify command, parameters will be tuned -such that the real-space error and the kspace error are equal. This -will result in simulations that are either inaccurate or slow, both of -which is not desirable. For selecting parameters for the pppm/disp -that provide fast and accurate simulations, there are two approaches, -which both have their up- and downsides. - -The first approach is to set desired real-space an kspace accuracies -via the {kspace_modify force/disp/real} and {kspace_modify -force/disp/kspace} commands. Note that the accuracies have to be -specified in force units and are thus dependent on the chosen unit -settings. For real units, 0.0001 and 0.002 seem to provide reasonable -accurate and efficient computations for the real-space and kspace -accuracies. 0.002 and 0.05 work well for most systems using lj -units. PPPM parameters will be generated based on the desired -accuracies. The upside of this approach is that it usually provides a -good set of parameters and will work for both the {kspace_modify diff -ad} and {kspace_modify diff ik} options. The downside of the method -is that setting the PPPM parameters will take some time during the -initialization of the simulation. - -The second approach is to set the parameters for the pppm/disp -explicitly using the {kspace_modify mesh/disp}, {kspace_modify -order/disp}, and {kspace_modify gewald/disp} commands. This approach -requires a more experienced user who understands well the impact of -the choice of parameters on the simulation accuracy and -performance. This approach provides a fast initialization of the -simulation. However, it is sensitive to errors: A combination of -parameters that will perform well for one system might result in -far-from-optimal conditions for other simulations. For example, -parameters that provide accurate and fast computations for -all-atomistic force fields can provide insufficient accuracy or -united-atomistic force fields (which is related to that the latter -typically have larger dispersion coefficients). - -To avoid inaccurate or inefficient simulations, the pppm/disp stops -simulations with an error message if no action is taken to control the -PPPM parameters. If the automatic parameter generation is desired and -real-space and kspace accuracies are desired to be equal, this error -message can be suppressed using the {kspace_modify disp/auto yes} -command. - -A reasonable approach that combines the upsides of both methods is to -make the first run using the {kspace_modify force/disp/real} and -{kspace_modify force/disp/kspace} commands, write down the PPPM -parameters from the output, and specify these parameters using the -second approach in subsequent runs (which have the same composition, -force field, and approximately the same volume). - -Concerning the performance of the pppm/disp there are two more things -to consider. The first is that when using the pppm/disp, the cutoff -parameter does no longer affect the accuracy of the simulation -(subject to that gewald/disp is adjusted when changing the cutoff). -The performance can thus be increased by examining different values -for the cutoff parameter. A lower bound for the cutoff is only set by -the truncation error of the repulsive term of pair potentials. - -The second is that the mixing rule of the pair style has an impact on -the computation time when using the pppm/disp. Fastest computations -are achieved when using the geometric mixing rule. Using the -arithmetic mixing rule substantially increases the computational cost. -The computational overhead can be reduced using the {kspace_modify -mix/disp geom} and {kspace_modify splittol} commands. The first -command simply enforces geometric mixing of the dispersion -coefficients in kspace computations. This introduces some error in -the computations but will also significantly speed-up the -simulations. The second keyword sets the accuracy with which the -dispersion coefficients are approximated using a matrix factorization -approach. This may result in better accuracy then using the first -command, but will usually also not provide an equally good increase of -efficiency. - -Finally, pppm/disp can also be used when no mixing rules apply. -This can be achieved using the {kspace_modify mix/disp none} command. -Note that the code does not check automatically whether any mixing -rule is fulfilled. If mixing rules do not apply, the user will have -to specify this command explicitly. diff --git a/doc/txt/Howto_drude.txt b/doc/txt/Howto_drude.txt deleted file mode 100644 index fdbbd19771c23f0216096b421283678d50bbb25e..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_drude.txt +++ /dev/null @@ -1,77 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Drude induced dipoles :h3 - -The thermalized Drude model represents induced dipoles by a pair of -charges (the core atom and the Drude particle) connected by a harmonic -spring. See the "Howto polarizable"_Howto_polarizable.html doc page -for a discussion of all the polarizable models available in LAMMPS. - -The Drude model has a number of features aimed at its use in -molecular systems ("Lamoureux and Roux"_#howto-Lamoureux): - -Thermostatting of the additional degrees of freedom associated with the -induced dipoles at very low temperature, in terms of the reduced -coordinates of the Drude particles with respect to their cores. This -makes the trajectory close to that of relaxed induced dipoles. :ulb,l - -Consistent definition of 1-2 to 1-4 neighbors. A core-Drude particle -pair represents a single (polarizable) atom, so the special screening -factors in a covalent structure should be the same for the core and -the Drude particle. Drude particles have to inherit the 1-2, 1-3, 1-4 -special neighbor relations from their respective cores. :l - -Stabilization of the interactions between induced dipoles. Drude -dipoles on covalently bonded atoms interact too strongly due to the -short distances, so an atom may capture the Drude particle of a -neighbor, or the induced dipoles within the same molecule may align -too much. To avoid this, damping at short range can be done by Thole -functions (for which there are physical grounds). This Thole damping -is applied to the point charges composing the induced dipole (the -charge of the Drude particle and the opposite charge on the core, not -to the total charge of the core atom). :l,ule - -A detailed tutorial covering the usage of Drude induced dipoles in -LAMMPS is on the "Howto drude2e"_Howto_drude2.html doc page. - -As with the core-shell model, the cores and Drude particles should -appear in the data file as standard atoms. The same holds for the -springs between them, which are described by standard harmonic bonds. -The nature of the atoms (core, Drude particle or non-polarizable) is -specified via the "fix drude"_fix_drude.html command. The special -list of neighbors is automatically refactored to account for the -equivalence of core and Drude particles as regards special 1-2 to 1-4 -screening. It may be necessary to use the {extra/special/per/atom} -keyword of the "read_data"_read_data.html command. If using "fix -shake"_fix_shake.html, make sure no Drude particle is in this fix -group. - -There are two ways to thermostat the Drude particles at a low -temperature: use either "fix langevin/drude"_fix_langevin_drude.html -for a Langevin thermostat, or "fix -drude/transform/*"_fix_drude_transform.html for a Nose-Hoover -thermostat. The former requires use of the command "comm_modify vel -yes"_comm_modify.html. The latter requires two separate integration -fixes like {nvt} or {npt}. The correct temperatures of the reduced -degrees of freedom can be calculated using the "compute -temp/drude"_compute_temp_drude.html. This requires also to use the -command {comm_modify vel yes}. - -Short-range damping of the induced dipole interactions can be achieved -using Thole functions through the "pair style -thole"_pair_thole.html in "pair_style hybrid/overlay"_pair_hybrid.html -with a Coulomb pair style. It may be useful to use {coul/long/cs} or -similar from the CORESHELL package if the core and Drude particle come -too close, which can cause numerical issues. - -:line - -:link(howto-Lamoureux) -[(Lamoureux and Roux)] G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003) diff --git a/doc/txt/Howto_drude2.txt b/doc/txt/Howto_drude2.txt deleted file mode 100644 index 376ecb0292fa7d6232b277686702a9c12d698237..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_drude2.txt +++ /dev/null @@ -1,472 +0,0 @@ - - - -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Tutorial for Thermalized Drude oscillators in LAMMPS :h3 - -This tutorial explains how to use Drude oscillators in LAMMPS to -simulate polarizable systems using the USER-DRUDE package. As an -illustration, the input files for a simulation of 250 phenol molecules -are documented. First of all, LAMMPS has to be compiled with the -USER-DRUDE package activated. Then, the data file and input scripts -have to be modified to include the Drude dipoles and how to handle -them. - -:line - -[Overview of Drude induced dipoles] - -Polarizable atoms acquire an induced electric dipole moment under the -action of an external electric field, for example the electric field -created by the surrounding particles. Drude oscillators represent -these dipoles by two fixed charges: the core (DC) and the Drude -particle (DP) bound by a harmonic potential. The Drude particle can be -thought of as the electron cloud whose center can be displaced from -the position of the corresponding nucleus. - -The sum of the masses of a core-Drude pair should be the mass of the -initial (unsplit) atom, \(m_C + m_D = m\). The sum of their charges -should be the charge of the initial (unsplit) atom, \(q_C + q_D = q\). -A harmonic potential between the core and Drude partners should be -present, with force constant \(k_D\) and an equilibrium distance of -zero. The (half-)stiffness of the "harmonic bond"_bond_harmonic.html -\(K_D = k_D/2\) and the Drude charge \(q_D\) are related to the atom -polarizability \(\alpha\) by - -\begin\{equation\} K_D = \frac 1 2\, \frac \{q_D^2\} \alpha -\end\{equation\} - -Ideally, the mass of the Drude particle should be small, and the -stiffness of the harmonic bond should be large, so that the Drude -particle remains close ot the core. The values of Drude mass, Drude -charge, and force constant can be chosen following different -strategies, as in the following examples of polarizable force -fields: - -"Lamoureux and Roux"_#Lamoureux2 suggest adopting a global half-stiffness, \ -\(K_D\) = 500 kcal/(mol Ang \(\{\}^2\)) - which corresponds to a force \ -constant \(k_D\) = 4184 kJ/(mol Ang \(\{\}^2\)) - for all types of \ -core-Drude bond, a global mass \(m_D\) = 0.4 g/mol (or u) for all types \ -of Drude particles, and to calculate the Drude charges for individual \ -atom types from the atom polarizabilities using equation (1). This \ -choice is followed in the polarizable CHARMM force field. :ulb,l -Alternately "Schroeder and Steinhauser"_#Schroeder suggest adopting a global \ -charge \(q_D\) = -1.0e and a global mass \(m_D\) = 0.1 g/mol (or u) \ -for all Drude particles, and to calculate the force constant for each \ -type of core-Drude bond from equation (1). The timesteps used by these \ -authors are between 0.5 and 2 fs, with the degrees of freedom of the \ -Drude oscillators kept cold at 1 K. :l -In both these force fields hydrogen atoms are treated as non-polarizable. :l -:ule - - -The motion of of the Drude particles can be calculated by minimizing -the energy of the induced dipoles at each timestep, by an iterative, -self-consistent procedure. The Drude particles can be massless and -therefore do not contribute to the kinetic energy. However, the -relaxed method is computational slow. An extended-lagrangian method -can be used to calculate the positions of the Drude particles, but -this requires them to have mass. It is important in this case to -decouple the degrees of freedom associated with the Drude oscillators -from those of the normal atoms. Thermalizing the Drude dipoles at -temperatures comparable to the rest of the simulation leads to several -problems (kinetic energy transfer, very short timestep, etc.), which -can be remedied by the "cold Drude" technique ("Lamoureux and -Roux"_#Lamoureux2). - -Two closely related models are used to represent polarization through -"charges on a spring": the core-shell model and the Drude -model. Although the basic idea is the same, the core-shell model is -normally used for ionic/crystalline materials, whereas the Drude model -is normally used for molecular systems and fluid states. In ionic -crystals the symmetry around each ion and the distance between them -are such that the core-shell model is sufficiently stable. But to be -applicable to molecular/covalent systems the Drude model includes two -important features: - -The possibility to thermostat the additional degrees of freedom \ -associated with the induced dipoles at very low temperature, in terms \ -of the reduced coordinates of the Drude particles with respect to \ -their cores. This makes the trajectory close to that of relaxed \ -induced dipoles. :olb,l -The Drude dipoles on covalently bonded atoms interact too strongly \ -due to the short distances, so an atom may capture the Drude particle \ -(shell) of a neighbor, or the induced dipoles within the same molecule \ -may align too much. To avoid this, damping at short of the \ -interactions between the point charges composing the induced dipole \ -can be done by "Thole"_#Thole2 functions. :l -:ole - - -:line - -[Preparation of the data file] - -The data file is similar to a standard LAMMPS data file for -{atom_style full}. The DPs and the {harmonic bonds} connecting them -to their DC should appear in the data file as normal atoms and bonds. - -You can use the {polarizer} tool (Python script distributed with the -USER-DRUDE package) to convert a non-polarizable data file (here -{data.102494.lmp}) to a polarizable data file ({data-p.lmp}) - -polarizer -q -f phenol.dff data.102494.lmp data-p.lmp :pre - -This will automatically insert the new atoms and bonds. -The masses and charges of DCs and DPs are computed -from {phenol.dff}, as well as the DC-DP bond constants. The file -{phenol.dff} contains the polarizabilities of the atom types -and the mass of the Drude particles, for instance: - -# units: kJ/mol, A, deg -# kforce is in the form k/2 r_D^2 -# type m_D/u q_D/e k_D alpha/A3 thole -OH 0.4 -1.0 4184.0 0.63 0.67 -CA 0.4 -1.0 4184.0 1.36 2.51 -CAI 0.4 -1.0 4184.0 1.09 2.51 :pre - -The hydrogen atoms are absent from this file, so they will be treated -as non-polarizable atoms. In the non-polarizable data file -{data.102494.lmp}, atom names corresponding to the atom type numbers -have to be specified as comments at the end of lines of the {Masses} -section. You probably need to edit it to add these names. It should -look like - -Masses :pre - -1 12.011 # CAI -2 12.011 # CA -3 15.999 # OH -4 1.008 # HA -5 1.008 # HO :pre - - -:line - -[Basic input file] - -The atom style should be set to (or derive from) {full}, so that you -can define atomic charges and molecular bonds, angles, dihedrals... - -The {polarizer} tool also outputs certain lines related to the input -script (the use of these lines will be explained below). In order for -LAMMPS to recognize that you are using Drude oscillators, you should -use the fix {drude}. The command is - -fix DRUDE all drude C C C N N D D D :pre - -The N, C, D following the {drude} keyword have the following meaning: -There is one tag for each atom type. This tag is C for DCs, D for DPs -and N for non-polarizable atoms. Here the atom types 1 to 3 (C and O -atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and -the atom types 6 to 8 are the newly created DPs. - -By recognizing the fix {drude}, LAMMPS will find and store matching -DC-DP pairs and will treat DP as equivalent to their DC in the -{special bonds} relations. It may be necessary to extend the space -for storing such special relations. In this case extra space should -be reserved by using the {extra/special/per/atom} keyword of either -the "read_data"_read_data.html or "create_box"_create_box.html -command. With our phenol, there is 1 more special neighbor for which -space is required. Otherwise LAMMPS crashes and gives the required -value. - -read_data data-p.lmp extra/special/per/atom 1 :pre - -Let us assume we want to run a simple NVT simulation at 300 K. Note -that Drude oscillators need to be thermalized at a low temperature in -order to approximate a self-consistent field (SCF), therefore it is not -possible to simulate an NVE ensemble with this package. Since dipoles -are approximated by a charged DC-DP pair, the {pair_style} must -include Coulomb interactions, for instance {lj/cut/coul/long} with -{kspace_style pppm}. For example, with a cutoff of 10. and a precision -1.e-4: - -pair_style lj/cut/coul/long 10.0 -kspace_style pppm 1.0e-4 :pre - -As compared to the non-polarizable input file, {pair_coeff} lines need -to be added for the DPs. Since the DPs have no Lennard-Jones -interactions, their {epsilon} is 0. so the only {pair_coeff} line -that needs to be added is - -pair_coeff * 6* 0.0 0.0 # All-DPs :pre - -Now for the thermalization, the simplest choice is to use the "fix -langevin/drude"_fix_langevin_drude.html. - -fix LANG all langevin/drude 300. 100 12435 1. 20 13977 :pre - -This applies a Langevin thermostat at temperature 300. to the centers -of mass of the DC-DP pairs, with relaxation time 100 and with random -seed 12345. This fix applies also a Langevin thermostat at temperature -1. to the relative motion of the DPs around their DCs, with relaxation -time 20 and random seed 13977. Only the DCs and non-polarizable -atoms need to be in this fix's group. LAMMPS will thermostat the DPs -together with their DC. For this, ghost atoms need to know their -velocities. Thus you need to add the following command: - -comm_modify vel yes :pre - -In order to avoid that the center of mass of the whole system -drifts due to the random forces of the Langevin thermostat on DCs, you -can add the {zero yes} option at the end of the fix line. - -If the fix {shake} is used to constrain the C-H bonds, it should be -invoked after the fix {langevin/drude} for more accuracy. - -fix SHAKE ATOMS shake 0.0001 20 0 t 4 5 :pre - -NOTE: The group of the fix {shake} must not include the DPs. If the -group {ATOMS} is defined by non-DPs atom types, you could use - -Since the fix {langevin/drude} does not perform time integration (just -modification of forces but no position/velocity updates), the fix -{nve} should be used in conjunction. - -fix NVE all nve :pre - -Finally, do not forget to update the atom type elements if you use -them in a {dump_modify ... element ...} command, by adding the element -type of the DPs. Here for instance - -dump DUMP all custom 10 dump.lammpstrj id mol type element x y z ix iy iz -dump_modify DUMP element C C O H H D D D :pre - -The input file should now be ready for use! - -You will notice that the global temperature {thermo_temp} computed by -LAMMPS is not 300. K as wanted. This is because LAMMPS treats DPs as -standard atoms in his default compute. If you want to output the -temperatures of the DC-DP pair centers of mass and of the DPs relative -to their DCs, you should use the "compute -temp_drude"_compute_temp_drude.html - -compute TDRUDE all temp/drude :pre - -And then output the correct temperatures of the Drude oscillators -using {thermo_style custom} with respectively {c_TDRUDE\[1\]} and -{c_TDRUDE\[2\]}. These should be close to 300.0 and 1.0 on average. - -thermo_style custom step temp c_TDRUDE\[1\] c_TDRUDE\[2\] :pre - - -:line - -[Thole screening] - -Dipolar interactions represented by point charges on springs may not -be stable, for example if the atomic polarizability is too high for -instance, a DP can escape from its DC and be captured by another DC, -which makes the force and energy diverge and the simulation -crash. Even without reaching this extreme case, the correlation -between nearby dipoles on the same molecule may be exaggerated. Often, -special bond relations prevent bonded neighboring atoms to see the -charge of each other's DP, so that the problem does not always appear. -It is possible to use screened dipole-dipole interactions by using the -"{pair_style thole}"_pair_thole.html. This is implemented as a -correction to the Coulomb pair_styles, which dampens at short distance -the interactions between the charges representing the induced dipoles. -It is to be used as {hybrid/overlay} with any standard {coul} pair -style. In our example, we would use - -pair_style hybrid/overlay lj/cut/coul/long 10.0 thole 2.6 10.0 :pre - -This tells LAMMPS that we are using two pair_styles. The first one is -as above ({lj/cut/coul/long 10.0}). The second one is a {thole} -pair_style with default screening factor 2.6 ("Noskov"_#Noskov2) and -cutoff 10.0. - -Since {hybrid/overlay} does not support mixing rules, the interaction -coefficients of all the pairs of atom types with i < j should be -explicitly defined. The output of the {polarizer} script can be used -to complete the {pair_coeff} section of the input file. In our -example, this will look like: - -pair_coeff 1 1 lj/cut/coul/long 0.0700 3.550 -pair_coeff 1 2 lj/cut/coul/long 0.0700 3.550 -pair_coeff 1 3 lj/cut/coul/long 0.1091 3.310 -pair_coeff 1 4 lj/cut/coul/long 0.0458 2.985 -pair_coeff 2 2 lj/cut/coul/long 0.0700 3.550 -pair_coeff 2 3 lj/cut/coul/long 0.1091 3.310 -pair_coeff 2 4 lj/cut/coul/long 0.0458 2.985 -pair_coeff 3 3 lj/cut/coul/long 0.1700 3.070 -pair_coeff 3 4 lj/cut/coul/long 0.0714 2.745 -pair_coeff 4 4 lj/cut/coul/long 0.0300 2.420 -pair_coeff * 5 lj/cut/coul/long 0.0000 0.000 -pair_coeff * 6* lj/cut/coul/long 0.0000 0.000 -pair_coeff 1 1 thole 1.090 2.510 -pair_coeff 1 2 thole 1.218 2.510 -pair_coeff 1 3 thole 0.829 1.590 -pair_coeff 1 6 thole 1.090 2.510 -pair_coeff 1 7 thole 1.218 2.510 -pair_coeff 1 8 thole 0.829 1.590 -pair_coeff 2 2 thole 1.360 2.510 -pair_coeff 2 3 thole 0.926 1.590 -pair_coeff 2 6 thole 1.218 2.510 -pair_coeff 2 7 thole 1.360 2.510 -pair_coeff 2 8 thole 0.926 1.590 -pair_coeff 3 3 thole 0.630 0.670 -pair_coeff 3 6 thole 0.829 1.590 -pair_coeff 3 7 thole 0.926 1.590 -pair_coeff 3 8 thole 0.630 0.670 -pair_coeff 6 6 thole 1.090 2.510 -pair_coeff 6 7 thole 1.218 2.510 -pair_coeff 6 8 thole 0.829 1.590 -pair_coeff 7 7 thole 1.360 2.510 -pair_coeff 7 8 thole 0.926 1.590 -pair_coeff 8 8 thole 0.630 0.670 :pre - -For the {thole} pair style the coefficients are - -the atom polarizability in units of cubic length :olb,l -the screening factor of the Thole function (optional, default value -specified by the pair_style command) :l -the cutoff (optional, default value defined by the pair_style command) :l -:ole - -The special neighbors have charge-charge and charge-dipole -interactions screened by the {coul} factors of the {special_bonds} -command (0.0, 0.0, and 0.5 in the example above). Without using the -pair_style {thole}, dipole-dipole interactions are screened by the -same factor. By using the pair_style {thole}, dipole-dipole -interactions are screened by Thole's function, whatever their special -relationship (except within each DC-DP pair of course). Consider for -example 1-2 neighbors: using the pair_style {thole}, their dipoles -will see each other (despite the {coul} factor being 0.) and the -interactions between these dipoles will be damped by Thole's function. - - -:line - -[Thermostats and barostats] - -Using a Nose-Hoover barostat with the {langevin/drude} thermostat is -straightforward using fix {nph} instead of {nve}. For example: - -fix NPH all nph iso 1. 1. 500 :pre - -It is also possible to use a Nose-Hoover instead of a Langevin -thermostat. This requires to use "{fix -drude/transform}"_fix_drude_transform.html just before and after the -time integration fixes. The {fix drude/transform/direct} converts the -atomic masses, positions, velocities and forces into a reduced -representation, where the DCs transform into the centers of mass of -the DC-DP pairs and the DPs transform into their relative position -with respect to their DC. The {fix drude/transform/inverse} performs -the reverse transformation. For a NVT simulation, with the DCs and -atoms at 300 K and the DPs at 1 K relative to their DC one would use - -fix DIRECT all drude/transform/direct -fix NVT1 ATOMS nvt temp 300. 300. 100 -fix NVT2 DRUDES nvt temp 1. 1. 20 -fix INVERSE all drude/transform/inverse :pre - -For our phenol example, the groups would be defined as - -group ATOMS type 1 2 3 4 5 # DCs and non-polarizable atoms -group CORES type 1 2 3 # DCs -group DRUDES type 6 7 8 # DPs :pre - -Note that with the fixes {drude/transform}, it is not required to -specify {comm_modify vel yes} because the fixes do it anyway (several -times and for the forces also). To avoid the flying ice cube artifact -"(Lamoureux)"_#Lamoureux2, where the atoms progressively freeze and the -center of mass of the whole system drifts faster and faster, the {fix -momentum} can be used. For instance: - -fix MOMENTUM all momentum 100 linear 1 1 1 :pre - -It is a bit more tricky to run a NPT simulation with Nose-Hoover -barostat and thermostat. First, the volume should be integrated only -once. So the fix for DCs and atoms should be {npt} while the fix for -DPs should be {nvt} (or vice versa). Second, the {fix npt} computes a -global pressure and thus a global temperature whatever the fix group. -We do want the pressure to correspond to the whole system, but we want -the temperature to correspond to the fix group only. We must then use -the {fix_modify} command for this. In the end, the block of -instructions for thermostatting and barostatting will look like - -compute TATOMS ATOMS temp -fix DIRECT all drude/transform/direct -fix NPT ATOMS npt temp 300. 300. 100 iso 1. 1. 500 -fix_modify NPT temp TATOMS press thermo_press -fix NVT DRUDES nvt temp 1. 1. 20 -fix INVERSE all drude/transform/inverse :pre - - -:line - -[Rigid bodies] - -You may want to simulate molecules as rigid bodies (but polarizable). -Common cases are water models such as "SWM4-NDP"_#SWM4-NDP, which is a -kind of polarizable TIP4P water. The rigid bodies and the DPs should -be integrated separately, even with the Langevin thermostat. Let us -review the different thermostats and ensemble combinations. - -NVT ensemble using Langevin thermostat: - -comm_modify vel yes -fix LANG all langevin/drude 300. 100 12435 1. 20 13977 -fix RIGID ATOMS rigid/nve/small molecule -fix NVE DRUDES nve :pre - -NVT ensemble using Nose-Hoover thermostat: - -fix DIRECT all drude/transform/direct -fix RIGID ATOMS rigid/nvt/small molecule temp 300. 300. 100 -fix NVT DRUDES nvt temp 1. 1. 20 -fix INVERSE all drude/transform/inverse :pre - -NPT ensemble with Langevin thermostat: - -comm_modify vel yes -fix LANG all langevin/drude 300. 100 12435 1. 20 13977 -fix RIGID ATOMS rigid/nph/small molecule iso 1. 1. 500 -fix NVE DRUDES nve :pre - -NPT ensemble using Nose-Hoover thermostat: - -compute TATOM ATOMS temp -fix DIRECT all drude/transform/direct -fix RIGID ATOMS rigid/npt/small molecule temp 300. 300. 100 iso 1. 1. 500 -fix_modify RIGID temp TATOM press thermo_press -fix NVT DRUDES nvt temp 1. 1. 20 -fix INVERSE all drude/transform/inverse :pre - - -:line - -:link(Lamoureux2) -[(Lamoureux)] Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003) - -:link(Schroeder) -[(Schroeder)] Schroeder and Steinhauser, J Chem Phys, 133, -154511 (2010). - -:link(Jiang2) -[(Jiang)] Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, - J Phys Chem Lett, 2, 87-92 (2011). - -:link(Thole2) -[(Thole)] Chem Phys, 59, 341 (1981). - -:link(Noskov2) -[(Noskov)] Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005). - -:link(SWM4-NDP) -[(SWM4-NDP)] Lamoureux, Harder, Vorobyov, Roux, MacKerell, Chem Phys -Let, 418, 245-249 (2006) - diff --git a/doc/txt/Howto_elastic.txt b/doc/txt/Howto_elastic.txt deleted file mode 100644 index ee8e7c26a4688a9d11446b1a2f844a13ccc51f31..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_elastic.txt +++ /dev/null @@ -1,47 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Calculate elastic constants :h3 - -Elastic constants characterize the stiffness of a material. The formal -definition is provided by the linear relation that holds between the -stress and strain tensors in the limit of infinitesimal deformation. -In tensor notation, this is expressed as s_ij = C_ijkl * e_kl, where -the repeated indices imply summation. s_ij are the elements of the -symmetric stress tensor. e_kl are the elements of the symmetric strain -tensor. C_ijkl are the elements of the fourth rank tensor of elastic -constants. In three dimensions, this tensor has 3^4=81 elements. Using -Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij -is now the derivative of s_i w.r.t. e_j. Because s_i is itself a -derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at -most 7*6/2 = 21 distinct elements. - -At zero temperature, it is easy to estimate these derivatives by -deforming the simulation box in one of the six directions using the -"change_box"_change_box.html command and measuring the change in the -stress tensor. A general-purpose script that does this is given in the -examples/elastic directory described on the "Examples"_Examples.html -doc page. - -Calculating elastic constants at finite temperature is more -challenging, because it is necessary to run a simulation that performs -time averages of differential properties. One way to do this is to -measure the change in average stress tensor in an NVT simulations when -the cell volume undergoes a finite deformation. In order to balance -the systematic and statistical errors in this method, the magnitude of -the deformation must be chosen judiciously, and care must be taken to -fully equilibrate the deformed cell before sampling the stress -tensor. Another approach is to sample the triclinic cell fluctuations -that occur in an NPT simulation. This method can also be slow to -converge and requires careful post-processing "(Shinoda)"_#Shinoda1 - -:line - -:link(Shinoda1) -[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). diff --git a/doc/txt/Howto_github.txt b/doc/txt/Howto_github.txt deleted file mode 100644 index ef55653f37f3666d2dad503bbf6cc363bf9661b8..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_github.txt +++ /dev/null @@ -1,419 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -LAMMPS GitHub tutorial :h3 -[written by Stefan Paquay] - -:line - -This document describes the process of how to use GitHub to integrate -changes or additions you have made to LAMMPS into the official LAMMPS -distribution. It uses the process of updating this very tutorial as -an example to describe the individual steps and options. You need to -be familiar with git and you may want to have a look at the -"Git book"_http://git-scm.com/book/ to reacquaint yourself with some -of the more advanced git features used below. - -As of fall 2016, submitting contributions to LAMMPS via pull requests -on GitHub is the preferred option for integrating contributed features -or improvements to LAMMPS, as it significantly reduces the amount of -work required by the LAMMPS developers. Consequently, creating a pull -request will increase your chances to have your contribution included -and will reduce the time until the integration is complete. For more -information on the requirements to have your code included into LAMMPS -please see the "Modify contribute"_Modify_contribute.html doc page. - -:line - -[Making an account] - -First of all, you need a GitHub account. This is fairly simple, just -go to "GitHub"_https://github.com and create an account by clicking -the "Sign up for GitHub" button. Once your account is created, you -can sign in by clicking the button in the top left and filling in your -username or e-mail address and password. - -:line - -[Forking the repository] - -To get changes into LAMMPS, you need to first fork the `lammps/lammps` -repository on GitHub. At the time of writing, {master} is the preferred -target branch. Thus go to "LAMMPS on GitHub"_https://github.com/lammps/lammps -and make sure branch is set to "master", as shown in the figure below. - -:c,image(JPG/tutorial_branch.png) - -If it is not, use the button to change it to {master}. Once it is, use the -fork button to create a fork. - -:c,image(JPG/tutorial_fork.png) - - -This will create a fork (which is essentially a copy, but uses less -resources) of the LAMMPS repository under your own GitHub account. You -can make changes in this fork and later file {pull requests} to allow -the upstream repository to merge changes from your own fork into the one -we just forked from (or others that were forked from the same repository). -At the same time, you can set things up, so you can include changes from -upstream into your repository and thus keep it in sync with the ongoing -LAMMPS development. - -:line - -[Adding changes to your own fork] - -Additions to the upstream version of LAMMPS are handled using {feature -branches}. For every new feature, a so-called feature branch is -created, which contains only those modification relevant to one specific -feature. For example, adding a single fix would consist of creating a -branch with only the fix header and source file and nothing else. It is -explained in more detail here: "feature branch -workflow"_https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow. - -[Feature branches] - -First of all, create a clone of your version on github on your local -machine via HTTPS: - - $ git clone https://github.com//lammps.git :pre - -or, if you have set up your GitHub account for using SSH keys, via SSH: - - $ git clone git@github.com:/lammps.git :pre - -You can find the proper URL by clicking the "Clone or download"-button: - -:c,image(JPG/tutorial_https_block.png) - -The above command copies ("clones") the git repository to your local -machine to a directory with the name you chose. If none is given, it will -default to "lammps". Typical names are "mylammps" or something similar. - -You can use this local clone to make changes and -test them without interfering with the repository on GitHub. - -To pull changes from upstream into this copy, you can go to the directory -and use git pull: - - $ cd mylammps - $ git checkout master - $ git pull https://github.com/lammps/lammps :pre - -You can also add this URL as a remote: - - $ git remote add lammps_upstream https://www.github.com/lammps/lammps :pre - -At this point, you typically make a feature branch from the updated master -branch for the feature you want to work on. This tutorial contains the -workflow that updated this tutorial, and hence we will call the branch -"github-tutorial-update": - - $ git checkout -b github-tutorial-update master :pre - -Now that we have changed branches, we can make our changes to our local -repository. Just remember that if you want to start working on another, -unrelated feature, you should switch branches! - -[After changes are made] - -After everything is done, add the files to the branch and commit them: - - $ git add doc/src/Howto_github.txt - $ git add doc/src/JPG/tutorial*.png :pre - -IMPORTANT NOTE: Do not use {git commit -a} (or {git add -A}). The -a -flag (or -A flag) will automatically include _all_ modified or new files -and that is rarely the behavior you want. It can easily lead to -accidentally adding unrelated and unwanted changes into the repository. -Instead it is preferable to explicitly use {git add}, {git rm}, {git mv} -for adding, removing, renaming individual files, respectively, and then -{git commit} to finalize the commit. Carefully check all pending -changes with {git status} before committing them. If you find doing -this on the command line too tedious, consider using a GUI, for example -the one included in git distributions written in Tk, i.e. use {git gui} -(on some Linux distributions it may be required to install an additional -package to use it). - -After adding all files, the change set can be committed with some -useful message that explains the change. - - $ git commit -m 'Finally updated the github tutorial' :pre - -After the commit, the changes can be pushed to the same branch on GitHub: - -$ git push :pre - -Git will ask you for your user name and password on GitHub if you have -not configured anything. If your local branch is not present on GitHub yet, -it will ask you to add it by running - - $ git push --set-upstream origin github-tutorial-update :pre - -If you correctly type your user name and -password, the feature branch should be added to your fork on GitHub. - -If you want to make really sure you push to the right repository -(which is good practice), you can provide it explicitly: - -$ git push origin :pre - -or using an explicit URL: - -$ git push git@github.com:Pakketeretet2/lammps.git :pre - -:line - -[Filing a pull request] - -Up to this point in the tutorial, all changes were to {your} clones of -LAMMPS. Eventually, however, you want this feature to be included into -the official LAMMPS version. To do this, you will want to file a pull -request by clicking on the "New pull request" button: - -:c,image(JPG/tutorial_new_pull_request.png) - -Make sure that the current branch is set to the correct one, which, in -this case, is "github-tutorial-update". If done correctly, the only -changes you will see are those that were made on this branch. - -This will open up a new window that lists changes made to the -repository. If you are just adding new files, there is not much to do, -but I suppose merge conflicts are to be resolved here if there are -changes in existing files. If all changes can automatically be merged, -green text at the top will say so and you can click the "Create pull -request" button, see image. - -:c,image(JPG/tutorial_create_new_pull_request1.png) - -Before creating the pull request, make sure the short title is accurate -and add a comment with details about your pull request. Here you write -what your modifications do and why they should be incorporated upstream. - -Note the checkbox that says "Allow edits from maintainers". -This is checked by default checkbox (although in my version of Firefox, only the checkmark is visible): - -:c,image(JPG/tutorial_edits_maintainers.png) - -If it is checked, maintainers can immediately add their own edits to the -pull request. This helps the inclusion of your branch significantly, as -simple/trivial changes can be added directly to your pull request branch -by the LAMMPS maintainers. The alternative would be that they make -changes on their own version of the branch and file a reverse pull -request to you. Just leave this box checked unless you have a very good -reason not to. - -Now just write some nice comments and click on "Create pull request". - -:c,image(JPG/tutorial_create_new_pull_request2.png) - -:line - -[After filing a pull request] - -NOTE: When you submit a pull request (or ask for a pull request) for the -first time, you will receive an invitation to become a LAMMPS project -collaborator. Please accept this invite as being a collaborator will -simplify certain administrative tasks and will probably speed up the -merging of your feature, too. - -You will notice that after filing the pull request, some checks are -performed automatically: - -:c,image(JPG/tutorial_automated_checks.png) - -If all is fine, you will see this: - -:c,image(JPG/tutorial_automated_checks_passed.png) - -If any of the checks are failing, your pull request will not be -processed, as your changes may break compilation for certain -configurations or may not merge cleanly. It is your responsibility -to remove the reason(s) for the failed test(s). If you need help -with this, please contact the LAMMPS developers by adding a comment -explaining your problems with resolving the failed tests. - -A few further interesting things (can) happen to pull requests before -they are included. - -[Additional changes] - -First of all, any additional changes you push into your branch in your -repository will automatically become part of the pull request: - -:c,image(JPG/tutorial_additional_changes.png) - -This means you can add changes that should be part of the feature after -filing the pull request, which is useful in case you have forgotten -them, or if a developer has requested that something needs to be changed -before the feature can be accepted into the official LAMMPS version. -After each push, the automated checks are run again. - -[Labels] - -LAMMPS developers may add labels to your pull request to assign it to -categories (mostly for bookkeeping purposes), but a few of them are -important: needs_work, work_in_progress, test-for-regression, and -full-regression-test. The first two indicate, that your pull request -is not considered to be complete. With "needs_work" the burden is on -exclusively on you; while "work_in_progress" can also mean, that a -LAMMPS developer may want to add changes. Please watch the comments -to the pull requests. The two "test" labels are used to trigger -extended tests before the code is merged. This is sometimes done by -LAMMPS developers, if they suspect that there may be some subtle -side effects from your changes. It is not done by default, because -those tests are very time consuming. - -[Reviews] - -As of Summer 2018, a pull request needs at least 1 approving review -from a LAMMPS developer with write access to the repository. -In case your changes touch code that certain developers are associated -with, they are auto-requested by the GitHub software. Those associations -are set in the file -".github/CODEOWNERS"_https://github.com/lammps/lammps/blob/master/.github/CODEOWNERS -Thus if you want to be automatically notified to review when anybody -changes files or packages, that you have contributed to LAMMPS, you can -add suitable patterns to that file, or a LAMMPS developer may add you. - -Otherwise, you can also manually request reviews from specific developers, -or LAMMPS developers - in their assessment of your pull request - may -determine who else should be reviewing your contribution and add that person. -Through reviews, LAMMPS developers also may request specific changes from you. -If those are not addressed, your pull requests cannot be merged. - -[Assignees] - -There is an assignee property for pull requests. If the request has not -been reviewed by any developer yet, it is not assigned to anyone. After -revision, a developer can choose to assign it to either a) you, b) a -LAMMPS developer (including him/herself) or c) Axel Kohlmeyer (akohlmey). - -Case a) happens if changes are required on your part :ulb,l -Case b) means that at the moment, it is being tested and reviewed by a -LAMMPS developer with the expectation that some changes would be required. -After the review, the developer can choose to implement changes directly -or suggest them to you. :l -Case c) means that the pull request has been assigned to the developer -overseeing the merging of pull requests into the master branch. :ule,l - -In this case, Axel assigned the tutorial to Steve: - -:c,image(JPG/tutorial_steve_assignee.png) - -[Edits from LAMMPS maintainers] - -If you allowed edits from maintainers (the default), any LAMMPS -maintainer can add changes to your pull request. In this case, both -Axel and Richard made changes to the tutorial: - -:c,image(JPG/tutorial_changes_others.png) - -[Reverse pull requests] - -Sometimes, however, you might not feel comfortable having other people -push changes into your own branch, or maybe the maintainers are not sure -their idea was the right one. In such a case, they can make changes, -reassign you as the assignee, and file a "reverse pull request", i.e. -file a pull request in your GitHub repository to include changes in the -branch, that you have submitted as a pull request yourself. In that -case, you can choose to merge their changes back into your branch, -possibly make additional changes or corrections and proceed from there. -It looks something like this: - -:c,image(JPG/tutorial_reverse_pull_request.png) - -For some reason, the highlighted button didn't work in my case, but I -can go to my own repository and merge the pull request from there: - -:c,image(JPG/tutorial_reverse_pull_request2.png) - -Be sure to check the changes to see if you agree with them by clicking -on the tab button: - -:c,image(JPG/tutorial_reverse_pull_request3.png) - -In this case, most of it is changes in the markup and a short rewrite of -Axel's explanation of the "git gui" and "git add" commands. - -:c,image(JPG/tutorial_reverse_pull_request4.png) - -Because the changes are OK with us, we are going to merge by clicking on -"Merge pull request". After a merge it looks like this: - -:c,image(JPG/tutorial_reverse_pull_request5.png) - -Now, since in the meantime our local text for the tutorial also changed, -we need to pull Axel's change back into our branch, and merge them: - - $ git add Howto_github.txt - $ git add JPG/tutorial_reverse_pull_request*.png - $ git commit -m "Updated text and images on reverse pull requests" - $ git pull :pre - -In this case, the merge was painless because git could auto-merge: - -:c,image(JPG/tutorial_reverse_pull_request6.png) - -With Axel's changes merged in and some final text updates, our feature -branch is now perfect as far as we are concerned, so we are going to -commit and push again: - - $ git add Howto_github.txt - $ git add JPG/tutorial_reverse_pull_request6.png - $ git commit -m "Merged Axel's suggestions and updated text" - $ git push git@github.com:Pakketeretet2/lammps :pre - -This merge also shows up on the lammps GitHub page: - -:c,image(JPG/tutorial_reverse_pull_request7.png) - -:line - -[After a merge] - -When everything is fine, the feature branch is merged into the master branch: - -:c,image(JPG/tutorial_merged.png) - -Now one question remains: What to do with the feature branch that got -merged into upstream? - -It is in principle safe to delete them from your own fork. This helps -keep it a bit more tidy. Note that you first have to switch to another -branch! - -$ git checkout master -$ git pull master -$ git branch -d github-tutorial-update :pre - -If you do not pull first, it is not really a problem but git will warn -you at the next statement that you are deleting a local branch that -was not yet fully merged into HEAD. This is because git does not yet -know your branch just got merged into LAMMPS upstream. If you -first delete and then pull, everything should still be fine. - -Finally, if you delete the branch locally, you might want to push this -to your remote(s) as well: - -$ git push origin :github-tutorial-update :pre - -[Recent changes in the workflow] - -Some changes to the workflow are not captured in this tutorial. For -example, in addition to the master branch, to which all new features -should be submitted, there is now also an "unstable" and a "stable" -branch; these have the same content as "master", but are only updated -after a patch release or stable release was made. -Furthermore, the naming of the patches now follow the pattern -"patch_" to simplify comparisons between releases. -Finally, all patches and submissions are subject to automatic testing -and code checks to make sure they at the very least compile. - -A discussion of the LAMMPS developer GitHub workflow can be found in the file -"doc/github-development-workflow.md"_https://github.com/lammps/lammps/blob/master/doc/github-development-workflow.md diff --git a/doc/txt/Howto_granular.txt b/doc/txt/Howto_granular.txt deleted file mode 100644 index 758b1cebee76645f7e5c6d023cbab045269875de..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_granular.txt +++ /dev/null @@ -1,57 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Granular models :h3 - -Granular system are composed of spherical particles with a diameter, -as opposed to point particles. This means they have an angular -velocity and torque can be imparted to them to cause them to rotate. - -To run a simulation of a granular model, you will want to use -the following commands: - -"atom_style sphere"_atom_style.html -"fix nve/sphere"_fix_nve_sphere.html -"fix gravity"_fix_gravity.html :ul - -This compute - -"compute erotate/sphere"_compute_erotate_sphere.html :ul - -calculates rotational kinetic energy which can be "output with -thermodynamic info"_Howto_output.html. - -Use one of these 3 pair potentials, which compute forces and torques -between interacting pairs of particles: - -"pair_style"_pair_style.html gran/history -"pair_style"_pair_style.html gran/no_history -"pair_style"_pair_style.html gran/hertzian :ul - -These commands implement fix options specific to granular systems: - -"fix freeze"_fix_freeze.html -"fix pour"_fix_pour.html -"fix viscous"_fix_viscous.html -"fix wall/gran"_fix_wall_gran.html :ul - -The fix style {freeze} zeroes both the force and torque of frozen -atoms, and should be used for granular system instead of the fix style -{setforce}. - -For computational efficiency, you can eliminate needless pairwise -computations between frozen atoms by using this command: - -"neigh_modify"_neigh_modify.html exclude :ul - -NOTE: By default, for 2d systems, granular particles are still modeled -as 3d spheres, not 2d discs (circles), meaning their moment of inertia -will be the same as in 3d. If you wish to model granular particles in -2d as 2d discs, see the note on this topic on the "Howto 2d"_Howto_2d.html -doc page, where 2d simulations are discussed. diff --git a/doc/txt/Howto_kappa.txt b/doc/txt/Howto_kappa.txt deleted file mode 100644 index b2a57ef49b82461b89a72cda29c9785297a877f0..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_kappa.txt +++ /dev/null @@ -1,90 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Calculate thermal conductivity :h3 - -The thermal conductivity kappa of a material can be measured in at -least 4 ways using various options in LAMMPS. See the examples/KAPPA -directory for scripts that implement the 4 methods discussed here for -a simple Lennard-Jones fluid model. Also, see the "Howto -viscosity"_Howto_viscosity.html doc page for an analogous discussion -for viscosity. - -The thermal conductivity tensor kappa is a measure of the propensity -of a material to transmit heat energy in a diffusive manner as given -by Fourier's law - -J = -kappa grad(T) - -where J is the heat flux in units of energy per area per time and -grad(T) is the spatial gradient of temperature. The thermal -conductivity thus has units of energy per distance per time per degree -K and is often approximated as an isotropic quantity, i.e. as a -scalar. - -The first method is to setup two thermostatted regions at opposite -ends of a simulation box, or one in the middle and one at the end of a -periodic box. By holding the two regions at different temperatures -with a "thermostatting fix"_Howto_thermostat.html, the energy added to -the hot region should equal the energy subtracted from the cold region -and be proportional to the heat flux moving between the regions. See -the papers by "Ikeshoji and Hafskjold"_#howto-Ikeshoji and -"Wirnsberger et al"_#howto-Wirnsberger for details of this idea. Note -that thermostatting fixes such as "fix nvt"_fix_nh.html, "fix -langevin"_fix_langevin.html, and "fix -temp/rescale"_fix_temp_rescale.html store the cumulative energy they -add/subtract. - -Alternatively, as a second method, the "fix heat"_fix_heat.html or -"fix ehex"_fix_ehex.html commands can be used in place of thermostats -on each of two regions to add/subtract specified amounts of energy to -both regions. In both cases, the resulting temperatures of the two -regions can be monitored with the "compute temp/region" command and -the temperature profile of the intermediate region can be monitored -with the "fix ave/chunk"_fix_ave_chunk.html and "compute -ke/atom"_compute_ke_atom.html commands. - -The third method is to perform a reverse non-equilibrium MD simulation -using the "fix thermal/conductivity"_fix_thermal_conductivity.html -command which implements the rNEMD algorithm of Muller-Plathe. -Kinetic energy is swapped between atoms in two different layers of the -simulation box. This induces a temperature gradient between the two -layers which can be monitored with the "fix -ave/chunk"_fix_ave_chunk.html and "compute -ke/atom"_compute_ke_atom.html commands. The fix tallies the -cumulative energy transfer that it performs. See the "fix -thermal/conductivity"_fix_thermal_conductivity.html command for -details. - -The fourth method is based on the Green-Kubo (GK) formula which -relates the ensemble average of the auto-correlation of the heat flux -to kappa. The heat flux can be calculated from the fluctuations of -per-atom potential and kinetic energies and per-atom stress tensor in -a steady-state equilibrated simulation. This is in contrast to the -two preceding non-equilibrium methods, where energy flows continuously -between hot and cold regions of the simulation box. - -The "compute heat/flux"_compute_heat_flux.html command can calculate -the needed heat flux and describes how to implement the Green_Kubo -formalism using additional LAMMPS commands, such as the "fix -ave/correlate"_fix_ave_correlate.html command to calculate the needed -auto-correlation. See the doc page for the "compute -heat/flux"_compute_heat_flux.html command for an example input script -that calculates the thermal conductivity of solid Ar via the GK -formalism. - -:line - -:link(howto-Ikeshoji) -[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 -(1994). - -:link(howto-Wirnsberger) -[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 -(2015). diff --git a/doc/txt/Howto_library.txt b/doc/txt/Howto_library.txt deleted file mode 100644 index 0f805d69a67102b64deb2b0bc329d80970e7bd2a..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_library.txt +++ /dev/null @@ -1,235 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Library interface to LAMMPS :h3 - -As described on the "Build basics"_Build_basics.html doc page, LAMMPS -can be built as a library, so that it can be called by another code, -used in a "coupled manner"_Howto_couple.html with other codes, or -driven through a "Python interface"_Python_head.html. - -All of these methodologies use a C-style interface to LAMMPS that is -provided in the files src/library.cpp and src/library.h. The -functions therein have a C-style argument list, but contain C++ code -you could write yourself in a C++ application that was invoking LAMMPS -directly. The C++ code in the functions illustrates how to invoke -internal LAMMPS operations. Note that LAMMPS classes are defined -within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ -application. - -The examples/COUPLE and python/examples directories have example C++ -and C and Python codes which show how a driver code can link to LAMMPS -as a library, run LAMMPS on a subset of processors, grab data from -LAMMPS, change it, and put it back into LAMMPS. - -Thread-safety :h4 - -LAMMPS has not initially been conceived as a thread-safe program, but -over the years changes have been applied to replace operations that -collide with creating multiple LAMMPS instances from multiple-threads -of the same process with thread-safe alternatives. This primarily -applies to the core LAMMPS code and less so on add-on packages, especially -when those packages require additional code in the {lib} folder, -interface LAMMPS to Fortran libraries, or the code uses static variables -(like the USER-COLVARS package. - -Another major issue to deal with is to correctly handle MPI. Creating -a LAMMPS instance requires passing an MPI communicator, or it assumes -the MPI_COMM_WORLD communicator, which spans all MPI processor ranks. -When creating multiple LAMMPS object instances from different threads, -this communicator has to be different for each thread or else collisions -can happen, or it has to be guaranteed, that only one thread at a time -is active. MPI communicators, however, are not a problem, if LAMMPS is -compiled with the MPI STUBS library, which implies that there is no MPI -communication and only 1 MPI rank. - -Provided APIs :h4 - -The file src/library.cpp contains the following functions for creating -and destroying an instance of LAMMPS and sending it commands to -execute. See the documentation in the src/library.cpp file for -details. - -NOTE: You can write code for additional functions as needed to define -how your code talks to LAMMPS and add them to src/library.cpp and -src/library.h, as well as to the "Python interface"_Python_head.html. -The added functions can access or change any internal LAMMPS data you -wish. - -void lammps_open(int, char **, MPI_Comm, void **) -void lammps_open_no_mpi(int, char **, void **) -void lammps_close(void *) -int lammps_version(void *) -void lammps_file(void *, char *) -char *lammps_command(void *, char *) -void lammps_commands_list(void *, int, char **) -void lammps_commands_string(void *, char *) -void lammps_free(void *) :pre - -The lammps_open() function is used to initialize LAMMPS, passing in a -list of strings as if they were "command-line -arguments"_Run_options.html when LAMMPS is run in stand-alone mode -from the command line, and a MPI communicator for LAMMPS to run under. -It returns a ptr to the LAMMPS object that is created, and which is -used in subsequent library calls. The lammps_open() function can be -called multiple times, to create multiple instances of LAMMPS. - -LAMMPS will run on the set of processors in the communicator. This -means the calling code can run LAMMPS on all or a subset of -processors. For example, a wrapper script might decide to alternate -between LAMMPS and another code, allowing them both to run on all the -processors. Or it might allocate half the processors to LAMMPS and -half to the other code and run both codes simultaneously before -syncing them up periodically. Or it might instantiate multiple -instances of LAMMPS to perform different calculations. - -The lammps_open_no_mpi() function is similar except that no MPI -communicator is passed from the caller. Instead, MPI_COMM_WORLD is -used to instantiate LAMMPS, and MPI is initialized if necessary. - -The lammps_close() function is used to shut down an instance of LAMMPS -and free all its memory. - -The lammps_version() function can be used to determined the specific -version of the underlying LAMMPS code. This is particularly useful -when loading LAMMPS as a shared library via dlopen(). The code using -the library interface can than use this information to adapt to -changes to the LAMMPS command syntax between versions. The returned -LAMMPS version code is an integer (e.g. 2 Sep 2015 results in -20150902) that grows with every new LAMMPS version. - -The lammps_file(), lammps_command(), lammps_commands_list(), and -lammps_commands_string() functions are used to pass one or more -commands to LAMMPS to execute, the same as if they were coming from an -input script. - -Via these functions, the calling code can read or generate a series of -LAMMPS commands one or multiple at a time and pass it through the library -interface to setup a problem and then run it in stages. The caller -can interleave the command function calls with operations it performs, -calls to extract information from or set information within LAMMPS, or -calls to another code's library. - -The lammps_file() function passes the filename of an input script. -The lammps_command() function passes a single command as a string. -The lammps_commands_list() function passes multiple commands in a -char** list. In both lammps_command() and lammps_commands_list(), -individual commands may or may not have a trailing newline. The -lammps_commands_string() function passes multiple commands -concatenated into one long string, separated by newline characters. -In both lammps_commands_list() and lammps_commands_string(), a single -command can be spread across multiple lines, if the last printable -character of all but the last line is "&", the same as if the lines -appeared in an input script. - -The lammps_free() function is a clean-up function to free memory that -the library allocated previously via other function calls. See -comments in src/library.cpp file for which other functions need this -clean-up. - -The file src/library.cpp also contains these functions for extracting -information from LAMMPS and setting value within LAMMPS. Again, see -the documentation in the src/library.cpp file for details, including -which quantities can be queried by name: - -int lammps_extract_setting(void *, char *) -void *lammps_extract_global(void *, char *) -void lammps_extract_box(void *, double *, double *, - double *, double *, double *, int *, int *) -void *lammps_extract_atom(void *, char *) -void *lammps_extract_compute(void *, char *, int, int) -void *lammps_extract_fix(void *, char *, int, int, int, int) -void *lammps_extract_variable(void *, char *, char *) :pre - -The extract_setting() function returns info on the size -of data types (e.g. 32-bit or 64-bit atom IDs) used -by the LAMMPS executable (a compile-time choice). - -The other extract functions return a pointer to various global or -per-atom quantities stored in LAMMPS or to values calculated by a -compute, fix, or variable. The pointer returned by the -extract_global() function can be used as a permanent reference to a -value which may change. For the extract_atom() method, see the -extract() method in the src/atom.cpp file for a list of valid per-atom -properties. New names could easily be added if the property you want -is not listed. For the other extract functions, the underlying -storage may be reallocated as LAMMPS runs, so you need to re-call the -function to assure a current pointer or returned value(s). - -double lammps_get_thermo(void *, char *) -int lammps_get_natoms(void *) :pre - -int lammps_set_variable(void *, char *, char *) -void lammps_reset_box(void *, double *, double *, double, double, double) :pre - -The lammps_get_thermo() function returns the current value of a thermo -keyword as a double precision value. - -The lammps_get_natoms() function returns the total number of atoms in -the system and can be used by the caller to allocate memory for the -lammps_gather_atoms() and lammps_scatter_atoms() functions. - -The lammps_set_variable() function can set an existing string-style -variable to a new string value, so that subsequent LAMMPS commands can -access the variable. - -The lammps_reset_box() function resets the size and shape of the -simulation box, e.g. as part of restoring a previously extracted and -saved state of a simulation. - -void lammps_gather_atoms(void *, char *, int, int, void *) -void lammps_gather_atoms_concat(void *, char *, int, int, void *) -void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *) -void lammps_scatter_atoms(void *, char *, int, int, void *) -void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) :pre - -The gather functions collect peratom info of the requested type (atom -coords, atom types, forces, etc) from all processors, and returns the -same vector of values to each calling processor. The scatter -functions do the inverse. They distribute a vector of peratom values, -passed by all calling processors, to individual atoms, which may be -owned by different processors. - -IMPORTANT NOTE: These functions are not compatible with the --DLAMMPS_BIGBIG setting when compiling LAMMPS. Dummy functions -that result in an error message and abort will be substituted -instead of resulting in random crashes and memory corruption. - -The lammps_gather_atoms() function does this for all N atoms in the -system, ordered by atom ID, from 1 to N. The -lammps_gather_atoms_concat() function does it for all N atoms, but -simply concatenates the subset of atoms owned by each processor. The -resulting vector is not ordered by atom ID. Atom IDs can be requested -by the same function if the caller needs to know the ordering. The -lammps_gather_subset() function allows the caller to request values -for only a subset of atoms (identified by ID). -For all 3 gather function, per-atom image flags can be retrieved in 2 ways. -If the count is specified as 1, they are returned -in a packed format with all three image flags stored in a single integer. -If the count is specified as 3, the values are unpacked into xyz flags -by the library before returning them. - -The lammps_scatter_atoms() function takes a list of values for all N -atoms in the system, ordered by atom ID, from 1 to N, and assigns -those values to each atom in the system. The -lammps_scatter_atoms_subset() function takes a subset of IDs as an -argument and only scatters those values to the owning atoms. - -void lammps_create_atoms(void *, int, tagint *, int *, double *, double *, - imageint *, int) :pre - -The lammps_create_atoms() function takes a list of N atoms as input -with atom types and coords (required), an optionally atom IDs and -velocities and image flags. It uses the coords of each atom to assign -it as a new atom to the processor that owns it. This function is -useful to add atoms to a simulation or (in tandem with -lammps_reset_box()) to restore a previously extracted and saved state -of a simulation. Additional properties for the new atoms can then be -assigned via the lammps_scatter_atoms() or lammps_extract_atom() -functions. diff --git a/doc/txt/Howto_manifold.txt b/doc/txt/Howto_manifold.txt deleted file mode 100644 index 904432a9460a42800c745f66d3ec1534cf827e47..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_manifold.txt +++ /dev/null @@ -1,41 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Manifolds (surfaces) :h3 - -[Overview:] - -This doc page is not about a LAMMPS input script command, but about -manifolds, which are generalized surfaces, as defined and used by the -USER-MANIFOLD package, to track particle motion on the manifolds. See -the src/USER-MANIFOLD/README file for more details about the package -and its commands. - -Below is a list of currently supported manifolds by the USER-MANIFOLD -package, their parameters and a short description of them. The -parameters listed here are in the same order as they should be passed -to the relevant fixes. - -{manifold} @ {parameters} @ {equation} @ {description} -cylinder @ R @ x^2 + y^2 - R^2 = 0 @ Cylinder along z-axis, axis going through (0,0,0) -cylinder_dent @ R l a @ x^2 + y^2 - r(z)^2 = 0, r(x) = R if | z | > l, r(z) = R - a*(1 + cos(z/l))/2 otherwise @ A cylinder with a dent around z = 0 -dumbbell @ a A B c @ -( x^2 + y^2 ) + (a^2 - z^2/c^2) * ( 1 + (A*sin(B*z^2))^4) = 0 @ A dumbbell -ellipsoid @ a b c @ (x/a)^2 + (y/b)^2 + (z/c)^2 = 0 @ An ellipsoid -gaussian_bump @ A l rc1 rc2 @ if( x < rc1) -z + A * exp( -x^2 / (2 l^2) ); else if( x < rc2 ) -z + a + b*x + c*x^2 + d*x^3; else z @ A Gaussian bump at x = y = 0, smoothly tapered to a flat plane z = 0. -plane @ a b c x0 y0 z0 @ a*(x-x0) + b*(y-y0) + c*(z-z0) = 0 @ A plane with normal (a,b,c) going through point (x0,y0,z0) -plane_wiggle @ a w @ z - a*sin(w*x) = 0 @ A plane with a sinusoidal modulation on z along x. -sphere @ R @ x^2 + y^2 + z^2 - R^2 = 0 @ A sphere of radius R -supersphere @ R q @ | x |^q + | y |^q + | z |^q - R^q = 0 @ A supersphere of hyperradius R -spine @ a, A, B, B2, c @ -(x^2 + y^2) + (a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^4), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise @ An approximation to a dendritic spine -spine_two @ a, A, B, B2, c @ -(x^2 + y^2) + (a^2 - z^2/f(z)^2)*(1 + (A*sin(g(z)*z^2))^2), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise @ Another approximation to a dendritic spine -thylakoid @ wB LB lB @ Various, see "(Paquay)"_#Paquay1 @ A model grana thylakoid consisting of two block-like compartments connected by a bridge of width wB, length LB and taper length lB -torus @ R r @ (R - sqrt( x^2 + y^2 ) )^2 + z^2 - r^2 @ A torus with large radius R and small radius r, centered on (0,0,0) :tb(s=@) - -:link(Paquay1) -[(Paquay)] Paquay and Kusters, Biophys. J., 110, 6, (2016). -preprint available at "arXiv:1411.3019"_http://arxiv.org/abs/1411.3019/. diff --git a/doc/txt/Howto_multiple.txt b/doc/txt/Howto_multiple.txt deleted file mode 100644 index 9ad872fedc1890c9fc166b884a3585f56dd3a329..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_multiple.txt +++ /dev/null @@ -1,94 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Run multiple simulations from one input script :h3 - -This can be done in several ways. See the documentation for -individual commands for more details on how these examples work. - -If "multiple simulations" means continue a previous simulation for -more timesteps, then you simply use the "run"_run.html command -multiple times. For example, this script - -units lj -atom_style atomic -read_data data.lj -run 10000 -run 10000 -run 10000 -run 10000 -run 10000 :pre - -would run 5 successive simulations of the same system for a total of -50,000 timesteps. - -If you wish to run totally different simulations, one after the other, -the "clear"_clear.html command can be used in between them to -re-initialize LAMMPS. For example, this script - -units lj -atom_style atomic -read_data data.lj -run 10000 -clear -units lj -atom_style atomic -read_data data.lj.new -run 10000 :pre - -would run 2 independent simulations, one after the other. - -For large numbers of independent simulations, you can use -"variables"_variable.html and the "next"_next.html and -"jump"_jump.html commands to loop over the same input script -multiple times with different settings. For example, this -script, named in.polymer - -variable d index run1 run2 run3 run4 run5 run6 run7 run8 -shell cd $d -read_data data.polymer -run 10000 -shell cd .. -clear -next d -jump in.polymer :pre - -would run 8 simulations in different directories, using a data.polymer -file in each directory. The same concept could be used to run the -same system at 8 different temperatures, using a temperature variable -and storing the output in different log and dump files, for example - -variable a loop 8 -variable t index 0.8 0.85 0.9 0.95 1.0 1.05 1.1 1.15 -log log.$a -read data.polymer -velocity all create $t 352839 -fix 1 all nvt $t $t 100.0 -dump 1 all atom 1000 dump.$a -run 100000 -clear -next t -next a -jump in.polymer :pre - -All of the above examples work whether you are running on 1 or -multiple processors, but assumed you are running LAMMPS on a single -partition of processors. LAMMPS can be run on multiple partitions via -the "-partition command-line switch"_Run_options.html. - -In the last 2 examples, if LAMMPS were run on 3 partitions, the same -scripts could be used if the "index" and "loop" variables were -replaced with {universe}-style variables, as described in the -"variable"_variable.html command. Also, the "next t" and "next a" -commands would need to be replaced with a single "next a t" command. -With these modifications, the 8 simulations of each script would run -on the 3 partitions one after the other until all were finished. -Initially, 3 simulations would be started simultaneously, one on each -partition. When one finished, that partition would then start -the 4th simulation, and so forth, until all 8 were completed. diff --git a/doc/txt/Howto_nemd.txt b/doc/txt/Howto_nemd.txt deleted file mode 100644 index 1ec9c51f4e40f0403751a28ad94a2d8d882b9a6e..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_nemd.txt +++ /dev/null @@ -1,59 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -NEMD simulations :h3 - -Non-equilibrium molecular dynamics or NEMD simulations are typically -used to measure a fluid's rheological properties such as viscosity. -In LAMMPS, such simulations can be performed by first setting up a -non-orthogonal simulation box (see the preceding Howto section). - -A shear strain can be applied to the simulation box at a desired -strain rate by using the "fix deform"_fix_deform.html command. The -"fix nvt/sllod"_fix_nvt_sllod.html command can be used to thermostat -the sheared fluid and integrate the SLLOD equations of motion for the -system. Fix nvt/sllod uses "compute -temp/deform"_compute_temp_deform.html to compute a thermal temperature -by subtracting out the streaming velocity of the shearing atoms. The -velocity profile or other properties of the fluid can be monitored via -the "fix ave/chunk"_fix_ave_chunk.html command. - -NOTE: A recent (2017) book by "(Daivis and Todd)"_#Daivis-nemd -discusses use of the SLLOD method and non-equilibrium MD (NEMD) -thermostatting generally, for both simple and complex fluids, -e.g. molecular systems. The latter can be tricky to do correctly. - -As discussed in the previous section on non-orthogonal simulation -boxes, the amount of tilt or skew that can be applied is limited by -LAMMPS for computational efficiency to be 1/2 of the parallel box -length. However, "fix deform"_fix_deform.html can continuously strain -a box by an arbitrary amount. As discussed in the "fix -deform"_fix_deform.html command, when the tilt value reaches a limit, -the box is flipped to the opposite limit which is an equivalent tiling -of periodic space. The strain rate can then continue to change as -before. In a long NEMD simulation these box re-shaping events may -occur many times. - -In a NEMD simulation, the "remap" option of "fix -deform"_fix_deform.html should be set to "remap v", since that is what -"fix nvt/sllod"_fix_nvt_sllod.html assumes to generate a velocity -profile consistent with the applied shear strain rate. - -An alternative method for calculating viscosities is provided via the -"fix viscosity"_fix_viscosity.html command. - -NEMD simulations can also be used to measure transport properties of a fluid -through a pore or channel. Simulations of steady-state flow can be performed -using the "fix flow/gauss"_fix_flow_gauss.html command. - -:line - -:link(Daivis-nemd) -[(Daivis and Todd)] Daivis and Todd, Nonequilibrium Molecular Dynamics (book), -Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017). diff --git a/doc/txt/Howto_output.txt b/doc/txt/Howto_output.txt deleted file mode 100644 index a204a3cc96c3a0f2cebdc97fbc4ac7d2b78e8420..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_output.txt +++ /dev/null @@ -1,307 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Output from LAMMPS (thermo, dumps, computes, fixes, variables) :h3 - -There are four basic kinds of LAMMPS output: - -"Thermodynamic output"_thermo_style.html, which is a list -of quantities printed every few timesteps to the screen and logfile. :ulb,l - -"Dump files"_dump.html, which contain snapshots of atoms and various -per-atom values and are written at a specified frequency. :l - -Certain fixes can output user-specified quantities to files: "fix -ave/time"_fix_ave_time.html for time averaging, "fix -ave/chunk"_fix_ave_chunk.html for spatial or other averaging, and "fix -print"_fix_print.html for single-line output of -"variables"_variable.html. Fix print can also output to the -screen. :l - -"Restart files"_restart.html. :l -:ule - -A simulation prints one set of thermodynamic output and (optionally) -restart files. It can generate any number of dump files and fix -output files, depending on what "dump"_dump.html and "fix"_fix.html -commands you specify. - -As discussed below, LAMMPS gives you a variety of ways to determine -what quantities are computed and printed when the thermodynamics, -dump, or fix commands listed above perform output. Throughout this -discussion, note that users can also "add their own computes and fixes -to LAMMPS"_Modify.html which can then generate values that can then be -output with these commands. - -The following sub-sections discuss different LAMMPS command related -to output and the kind of data they operate on and produce: - -"Global/per-atom/local data"_#global -"Scalar/vector/array data"_#scalar -"Thermodynamic output"_#thermo -"Dump file output"_#dump -"Fixes that write output files"_#fixoutput -"Computes that process output quantities"_#computeoutput -"Fixes that process output quantities"_#fixprocoutput -"Computes that generate values to output"_#compute -"Fixes that generate values to output"_#fix -"Variables that generate values to output"_#variable -"Summary table of output options and data flow between commands"_#table :ul - -Global/per-atom/local data :h4,link(global) - -Various output-related commands work with three different styles of -data: global, per-atom, or local. A global datum is one or more -system-wide values, e.g. the temperature of the system. A per-atom -datum is one or more values per atom, e.g. the kinetic energy of each -atom. Local datums are calculated by each processor based on the -atoms it owns, but there may be zero or more per atom, e.g. a list of -bond distances. - -Scalar/vector/array data :h4,link(scalar) - -Global, per-atom, and local datums can each come in three kinds: a -single scalar value, a vector of values, or a 2d array of values. The -doc page for a "compute" or "fix" or "variable" that generates data -will specify both the style and kind of data it produces, e.g. a -per-atom vector. - -When a quantity is accessed, as in many of the output commands -discussed below, it can be referenced via the following bracket -notation, where ID in this case is the ID of a compute. The leading -"c_" would be replaced by "f_" for a fix, or "v_" for a variable: - -c_ID | entire scalar, vector, or array -c_ID\[I\] | one element of vector, one column of array -c_ID\[I\]\[J\] | one element of array :tb(s=|) - -In other words, using one bracket reduces the dimension of the data -once (vector -> scalar, array -> vector). Using two brackets reduces -the dimension twice (array -> scalar). Thus a command that uses -scalar values as input can typically also process elements of a vector -or array. - -Thermodynamic output :h4,link(thermo) - -The frequency and format of thermodynamic output is set by the -"thermo"_thermo.html, "thermo_style"_thermo_style.html, and -"thermo_modify"_thermo_modify.html commands. The -"thermo_style"_thermo_style.html command also specifies what values -are calculated and written out. Pre-defined keywords can be specified -(e.g. press, etotal, etc). Three additional kinds of keywords can -also be specified (c_ID, f_ID, v_name), where a "compute"_compute.html -or "fix"_fix.html or "variable"_variable.html provides the value to be -output. In each case, the compute, fix, or variable must generate -global values for input to the "thermo_style custom"_dump.html -command. - -Note that thermodynamic output values can be "extensive" or -"intensive". The former scale with the number of atoms in the system -(e.g. total energy), the latter do not (e.g. temperature). The -setting for "thermo_modify norm"_thermo_modify.html determines whether -extensive quantities are normalized or not. Computes and fixes -produce either extensive or intensive values; see their individual doc -pages for details. "Equal-style variables"_variable.html produce only -intensive values; you can include a division by "natoms" in the -formula if desired, to make an extensive calculation produce an -intensive result. - -Dump file output :h4,link(dump) - -Dump file output is specified by the "dump"_dump.html and -"dump_modify"_dump_modify.html commands. There are several -pre-defined formats (dump atom, dump xtc, etc). - -There is also a "dump custom"_dump.html format where the user -specifies what values are output with each atom. Pre-defined atom -attributes can be specified (id, x, fx, etc). Three additional kinds -of keywords can also be specified (c_ID, f_ID, v_name), where a -"compute"_compute.html or "fix"_fix.html or "variable"_variable.html -provides the values to be output. In each case, the compute, fix, or -variable must generate per-atom values for input to the "dump -custom"_dump.html command. - -There is also a "dump local"_dump.html format where the user specifies -what local values to output. A pre-defined index keyword can be -specified to enumerate the local values. Two additional kinds of -keywords can also be specified (c_ID, f_ID), where a -"compute"_compute.html or "fix"_fix.html or "variable"_variable.html -provides the values to be output. In each case, the compute or fix -must generate local values for input to the "dump local"_dump.html -command. - -Fixes that write output files :h4,link(fixoutput) - -Several fixes take various quantities as input and can write output -files: "fix ave/time"_fix_ave_time.html, "fix -ave/chunk"_fix_ave_chunk.html, "fix ave/histo"_fix_ave_histo.html, -"fix ave/correlate"_fix_ave_correlate.html, and "fix -print"_fix_print.html. - -The "fix ave/time"_fix_ave_time.html command enables direct output to -a file and/or time-averaging of global scalars or vectors. The user -specifies one or more quantities as input. These can be global -"compute"_compute.html values, global "fix"_fix.html values, or -"variables"_variable.html of any style except the atom style which -produces per-atom values. Since a variable can refer to keywords used -by the "thermo_style custom"_thermo_style.html command (like temp or -press) and individual per-atom values, a wide variety of quantities -can be time averaged and/or output in this way. If the inputs are one -or more scalar values, then the fix generate a global scalar or vector -of output. If the inputs are one or more vector values, then the fix -generates a global vector or array of output. The time-averaged -output of this fix can also be used as input to other output commands. - -The "fix ave/chunk"_fix_ave_chunk.html command enables direct output -to a file of chunk-averaged per-atom quantities like those output in -dump files. Chunks can represent spatial bins or other collections of -atoms, e.g. individual molecules. The per-atom quantities can be atom -density (mass or number) or atom attributes such as position, -velocity, force. They can also be per-atom quantities calculated by a -"compute"_compute.html, by a "fix"_fix.html, or by an atom-style -"variable"_variable.html. The chunk-averaged output of this fix can -also be used as input to other output commands. - -The "fix ave/histo"_fix_ave_histo.html command enables direct output -to a file of histogrammed quantities, which can be global or per-atom -or local quantities. The histogram output of this fix can also be -used as input to other output commands. - -The "fix ave/correlate"_fix_ave_correlate.html command enables direct -output to a file of time-correlated quantities, which can be global -values. The correlation matrix output of this fix can also be used as -input to other output commands. - -The "fix print"_fix_print.html command can generate a line of output -written to the screen and log file or to a separate file, periodically -during a running simulation. The line can contain one or more -"variable"_variable.html values for any style variable except the -vector or atom styles). As explained above, variables themselves can -contain references to global values generated by "thermodynamic -keywords"_thermo_style.html, "computes"_compute.html, -"fixes"_fix.html, or other "variables"_variable.html, or to per-atom -values for a specific atom. Thus the "fix print"_fix_print.html -command is a means to output a wide variety of quantities separate -from normal thermodynamic or dump file output. - -Computes that process output quantities :h4,link(computeoutput) - -The "compute reduce"_compute_reduce.html and "compute -reduce/region"_compute_reduce.html commands take one or more per-atom -or local vector quantities as inputs and "reduce" them (sum, min, max, -ave) to scalar quantities. These are produced as output values which -can be used as input to other output commands. - -The "compute slice"_compute_slice.html command take one or more global -vector or array quantities as inputs and extracts a subset of their -values to create a new vector or array. These are produced as output -values which can be used as input to other output commands. - -The "compute property/atom"_compute_property_atom.html command takes a -list of one or more pre-defined atom attributes (id, x, fx, etc) and -stores the values in a per-atom vector or array. These are produced -as output values which can be used as input to other output commands. -The list of atom attributes is the same as for the "dump -custom"_dump.html command. - -The "compute property/local"_compute_property_local.html command takes -a list of one or more pre-defined local attributes (bond info, angle -info, etc) and stores the values in a local vector or array. These -are produced as output values which can be used as input to other -output commands. - -Fixes that process output quantities :h4,link(fixprocoutput) - -The "fix vector"_fix_vector.html command can create global vectors as -output from global scalars as input, accumulating them one element at -a time. - -The "fix ave/atom"_fix_ave_atom.html command performs time-averaging -of per-atom vectors. The per-atom quantities can be atom attributes -such as position, velocity, force. They can also be per-atom -quantities calculated by a "compute"_compute.html, by a -"fix"_fix.html, or by an atom-style "variable"_variable.html. The -time-averaged per-atom output of this fix can be used as input to -other output commands. - -The "fix store/state"_fix_store_state.html command can archive one or -more per-atom attributes at a particular time, so that the old values -can be used in a future calculation or output. The list of atom -attributes is the same as for the "dump custom"_dump.html command, -including per-atom quantities calculated by a "compute"_compute.html, -by a "fix"_fix.html, or by an atom-style "variable"_variable.html. -The output of this fix can be used as input to other output commands. - -Computes that generate values to output :h4,link(compute) - -Every "compute"_compute.html in LAMMPS produces either global or -per-atom or local values. The values can be scalars or vectors or -arrays of data. These values can be output using the other commands -described in this section. The doc page for each compute command -describes what it produces. Computes that produce per-atom or local -values have the word "atom" or "local" in their style name. Computes -without the word "atom" or "local" produce global values. - -Fixes that generate values to output :h4,link(fix) - -Some "fixes"_fix.html in LAMMPS produces either global or per-atom or -local values which can be accessed by other commands. The values can -be scalars or vectors or arrays of data. These values can be output -using the other commands described in this section. The doc page for -each fix command tells whether it produces any output quantities and -describes them. - -Variables that generate values to output :h4,link(variable) - -"Variables"_variable.html defined in an input script can store one or -more strings. But equal-style, vector-style, and atom-style or -atomfile-style variables generate a global scalar value, global vector -or values, or a per-atom vector, respectively, when accessed. The -formulas used to define these variables can contain references to the -thermodynamic keywords and to global and per-atom data generated by -computes, fixes, and other variables. The values generated by -variables can be used as input to and thus output by the other -commands described in this section. - -Summary table of output options and data flow between commands :h4,link(table) - -This table summarizes the various commands that can be used for -generating output from LAMMPS. Each command produces output data of -some kind and/or writes data to a file. Most of the commands can take -data from other commands as input. Thus you can link many of these -commands together in pipeline form, where data produced by one command -is used as input to another command and eventually written to the -screen or to a file. Note that to hook two commands together the -output and input data types must match, e.g. global/per-atom/local -data and scalar/vector/array data. - -Also note that, as described above, when a command takes a scalar as -input, that could be an element of a vector or array. Likewise a -vector input could be a column of an array. - -Command: Input: Output: -"thermo_style custom"_thermo_style.html: global scalars: screen, log file: -"dump custom"_dump.html: per-atom vectors: dump file: -"dump local"_dump.html: local vectors: dump file: -"fix print"_fix_print.html: global scalar from variable: screen, file: -"print"_print.html: global scalar from variable: screen: -"computes"_compute.html: N/A: global/per-atom/local scalar/vector/array: -"fixes"_fix.html: N/A: global/per-atom/local scalar/vector/array: -"variables"_variable.html: global scalars and vectors, per-atom vectors: global scalar and vector, per-atom vector: -"compute reduce"_compute_reduce.html: per-atom/local vectors: global scalar/vector: -"compute slice"_compute_slice.html: global vectors/arrays: global vector/array: -"compute property/atom"_compute_property_atom.html: per-atom vectors: per-atom vector/array: -"compute property/local"_compute_property_local.html: local vectors: local vector/array: -"fix vector"_fix_vector.html: global scalars: global vector: -"fix ave/atom"_fix_ave_atom.html: per-atom vectors: per-atom vector/array: -"fix ave/time"_fix_ave_time.html: global scalars/vectors: global scalar/vector/array, file: -"fix ave/chunk"_fix_ave_chunk.html: per-atom vectors: global array, file: -"fix ave/histo"_fix_ave_histo.html: global/per-atom/local scalars and vectors: global array, file: -"fix ave/correlate"_fix_ave_correlate.html: global scalars: global array, file: -"fix store/state"_fix_store_state.html: per-atom vectors: per-atom vector/array :tb(c=3,s=:) diff --git a/doc/txt/Howto_polarizable.txt b/doc/txt/Howto_polarizable.txt deleted file mode 100644 index 00a73dddd348a4991a195608586d88f464a1756b..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_polarizable.txt +++ /dev/null @@ -1,81 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Polarizable models :h3 - -In polarizable force fields the charge distributions in molecules and -materials respond to their electrostatic environments. Polarizable -systems can be simulated in LAMMPS using three methods: - -the fluctuating charge method, implemented in the "QEQ"_fix_qeq.html -package, :ulb,l -the adiabatic core-shell method, implemented in the -"CORESHELL"_Howto_coreshell.html package, :l -the thermalized Drude dipole method, implemented in the -"USER-DRUDE"_Howto_drude.html package. :l,ule - -The fluctuating charge method calculates instantaneous charges on -interacting atoms based on the electronegativity equalization -principle. It is implemented in the "fix qeq"_fix_qeq.html which is -available in several variants. It is a relatively efficient technique -since no additional particles are introduced. This method allows for -charge transfer between molecules or atom groups. However, because the -charges are located at the interaction sites, off-plane components of -polarization cannot be represented in planar molecules or atom groups. - -The two other methods share the same basic idea: polarizable atoms are -split into one core atom and one satellite particle (called shell or -Drude particle) attached to it by a harmonic spring. Both atoms bear -a charge and they represent collectively an induced electric dipole. -These techniques are computationally more expensive than the QEq -method because of additional particles and bonds. These two -charge-on-spring methods differ in certain features, with the -core-shell model being normally used for ionic/crystalline materials, -whereas the so-called Drude model is normally used for molecular -systems and fluid states. - -The core-shell model is applicable to crystalline materials where the -high symmetry around each site leads to stable trajectories of the -core-shell pairs. However, bonded atoms in molecules can be so close -that a core would interact too strongly or even capture the Drude -particle of a neighbor. The Drude dipole model is relatively more -complex in order to remedy this and other issues. Specifically, the -Drude model includes specific thermostatting of the core-Drude pairs -and short-range damping of the induced dipoles. - -The three polarization methods can be implemented through a -self-consistent calculation of charges or induced dipoles at each -timestep. In the fluctuating charge scheme this is done by the matrix -inversion method in "fix qeq/point"_fix_qeq.html, but for core-shell -or Drude-dipoles the relaxed-dipoles technique would require an slow -iterative procedure. These self-consistent solutions yield accurate -trajectories since the additional degrees of freedom representing -polarization are massless. An alternative is to attribute a mass to -the additional degrees of freedom and perform time integration using -an extended Lagrangian technique. For the fluctuating charge scheme -this is done by "fix qeq/dynamic"_fix_qeq.html, and for the -charge-on-spring models by the methods outlined in the next two -sections. The assignment of masses to the additional degrees of -freedom can lead to unphysical trajectories if care is not exerted in -choosing the parameters of the polarizable models and the simulation -conditions. - -In the core-shell model the vibration of the shells is kept faster -than the ionic vibrations to mimic the fast response of the -polarizable electrons. But in molecular systems thermalizing the -core-Drude pairs at temperatures comparable to the rest of the -simulation leads to several problems (kinetic energy transfer, too -short a timestep, etc.) In order to avoid these problems the relative -motion of the Drude particles with respect to their cores is kept -"cold" so the vibration of the core-Drude pairs is very slow, -approaching the self-consistent regime. In both models the -temperature is regulated using the velocities of the center of mass of -core+shell (or Drude) pairs, but in the Drude model the actual -relative core-Drude particle motion is thermostatted separately as -well. diff --git a/doc/txt/Howto_replica.txt b/doc/txt/Howto_replica.txt deleted file mode 100644 index 505967c1b8f6420948f62212a16e881ad7480a1b..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_replica.txt +++ /dev/null @@ -1,61 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Multi-replica simulations :h3 - -Several commands in LAMMPS run multi-replica simulations, meaning -that multiple instances (replicas) of your simulation are run -simultaneously, with small amounts of data exchanged between replicas -periodically. - -These are the relevant commands: - -"neb"_neb.html for nudged elastic band calculations -"neb_spin"_neb_spin.html for magnetic nudged elastic band calculations -"prd"_prd.html for parallel replica dynamics -"tad"_tad.html for temperature accelerated dynamics -"temper"_temper.html for parallel tempering -"fix pimd"_fix_pimd.html for path-integral molecular dynamics (PIMD) :ul - -NEB is a method for finding transition states and barrier energies. -PRD and TAD are methods for performing accelerated dynamics to find -and perform infrequent events. Parallel tempering or replica exchange -runs different replicas at a series of temperature to facilitate -rare-event sampling. - -These commands can only be used if LAMMPS was built with the REPLICA -package. See the "Build package"_Build_package.html doc page for more -info. - -PIMD runs different replicas whose individual particles are coupled -together by springs to model a system or ring-polymers. - -This commands can only be used if LAMMPS was built with the USER-MISC -package. See the "Build package"_Build_package.html doc page for more -info. - -In all these cases, you must run with one or more processors per -replica. The processors assigned to each replica are determined at -run-time by using the "-partition command-line -switch"_Run_options.html to launch LAMMPS on multiple partitions, -which in this context are the same as replicas. E.g. these commands: - -mpirun -np 16 lmp_linux -partition 8x2 -in in.temper -mpirun -np 8 lmp_linux -partition 8x1 -in in.neb :pre - -would each run 8 replicas, on either 16 or 8 processors. Note the use -of the "-in command-line switch"_Run_options.html to specify the input -script which is required when running in multi-replica mode. - -Also note that with MPI installed on a machine (e.g. your desktop), -you can run on more (virtual) processors than you have physical -processors. Thus the above commands could be run on a -single-processor (or few-processor) desktop so that you can run -a multi-replica simulation on more replicas than you have -physical processors. diff --git a/doc/txt/Howto_restart.txt b/doc/txt/Howto_restart.txt deleted file mode 100644 index bc67daa78e3b9a3c2e866b8d9a748753300e6ffe..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_restart.txt +++ /dev/null @@ -1,97 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Restart a simulation :h3 - -There are 3 ways to continue a long LAMMPS simulation. Multiple -"run"_run.html commands can be used in the same input script. Each -run will continue from where the previous run left off. Or binary -restart files can be saved to disk using the "restart"_restart.html -command. At a later time, these binary files can be read via a -"read_restart"_read_restart.html command in a new script. Or they can -be converted to text data files using the "-r command-line -switch"_Run_options.html and read by a "read_data"_read_data.html -command in a new script. - -Here we give examples of 2 scripts that read either a binary restart -file or a converted data file and then issue a new run command to -continue where the previous run left off. They illustrate what -settings must be made in the new script. Details are discussed in the -documentation for the "read_restart"_read_restart.html and -"read_data"_read_data.html commands. - -Look at the {in.chain} input script provided in the {bench} directory -of the LAMMPS distribution to see the original script that these 2 -scripts are based on. If that script had the line - -restart 50 tmp.restart :pre - -added to it, it would produce 2 binary restart files (tmp.restart.50 -and tmp.restart.100) as it ran. - -This script could be used to read the 1st restart file and re-run the -last 50 timesteps: - -read_restart tmp.restart.50 :pre - -neighbor 0.4 bin -neigh_modify every 1 delay 1 :pre - -fix 1 all nve -fix 2 all langevin 1.0 1.0 10.0 904297 :pre - -timestep 0.012 :pre - -run 50 :pre - -Note that the following commands do not need to be repeated because -their settings are included in the restart file: {units, atom_style, -special_bonds, pair_style, bond_style}. However these commands do -need to be used, since their settings are not in the restart file: -{neighbor, fix, timestep}. - -If you actually use this script to perform a restarted run, you will -notice that the thermodynamic data match at step 50 (if you also put a -"thermo 50" command in the original script), but do not match at step -100. This is because the "fix langevin"_fix_langevin.html command -uses random numbers in a way that does not allow for perfect restarts. - -As an alternate approach, the restart file could be converted to a data -file as follows: - -lmp_g++ -r tmp.restart.50 tmp.restart.data :pre - -Then, this script could be used to re-run the last 50 steps: - -units lj -atom_style bond -pair_style lj/cut 1.12 -pair_modify shift yes -bond_style fene -special_bonds 0.0 1.0 1.0 :pre - -read_data tmp.restart.data :pre - -neighbor 0.4 bin -neigh_modify every 1 delay 1 :pre - -fix 1 all nve -fix 2 all langevin 1.0 1.0 10.0 904297 :pre - -timestep 0.012 :pre - -reset_timestep 50 -run 50 :pre - -Note that nearly all the settings specified in the original {in.chain} -script must be repeated, except the {pair_coeff} and {bond_coeff} -commands since the new data file lists the force field coefficients. -Also, the "reset_timestep"_reset_timestep.html command is used to tell -LAMMPS the current timestep. This value is stored in restart files, -but not in data files. diff --git a/doc/txt/Howto_spc.txt b/doc/txt/Howto_spc.txt deleted file mode 100644 index c0d4d77c5f3ac33a3254303ac3ebb30e89ade0e7..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_spc.txt +++ /dev/null @@ -1,54 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -SPC water model :h3 - -The SPC water model specifies a 3-site rigid water molecule with -charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the "fix shake"_fix_shake.html command can be used to hold -the two O-H bonds and the H-O-H angle rigid. A bond style of -{harmonic} and an angle style of {harmonic} or {charmm} should also be -used. - -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid SPC model. - -O mass = 15.9994 -H mass = 1.008 -O charge = -0.820 -H charge = 0.410 -LJ epsilon of OO = 0.1553 -LJ sigma of OO = 3.166 -LJ epsilon, sigma of OH, HH = 0.0 -r0 of OH bond = 1.0 -theta of HOH angle = 109.47 :all(b),p - -Note that as originally proposed, the SPC model was run with a 9 -Angstrom cutoff for both LJ and Coulombic terms. It can also be used -with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing -any of the parameters above, though it becomes a different model in -that mode of usage. - -The SPC/E (extended) water model is the same, except -the partial charge assignments change: - -O charge = -0.8476 -H charge = 0.4238 :all(b),p - -See the "(Berendsen)"_#howto-Berendsen reference for more details on both -the SPC and SPC/E models. - -Wikipedia also has a nice article on "water -models"_http://en.wikipedia.org/wiki/Water_model. - -:line - -:link(howto-Berendsen) -[(Berendsen)] Berendsen, Grigera, Straatsma, J Phys Chem, 91, -6269-6271 (1987). diff --git a/doc/txt/Howto_spherical.txt b/doc/txt/Howto_spherical.txt deleted file mode 100644 index a0ff90c42d0e73c9f3ee4be7755477aed59c16c6..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_spherical.txt +++ /dev/null @@ -1,243 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Finite-size spherical and aspherical particles :h3 - -Typical MD models treat atoms or particles as point masses. Sometimes -it is desirable to have a model with finite-size particles such as -spheroids or ellipsoids or generalized aspherical bodies. The -difference is that such particles have a moment of inertia, rotational -energy, and angular momentum. Rotation is induced by torque coming -from interactions with other particles. - -LAMMPS has several options for running simulations with these kinds of -particles. The following aspects are discussed in turn: - -atom styles -pair potentials -time integration -computes, thermodynamics, and dump output -rigid bodies composed of finite-size particles :ul - -Example input scripts for these kinds of models are in the body, -colloid, dipole, ellipse, line, peri, pour, and tri directories of the -"examples directory"_Examples.html in the LAMMPS distribution. - -Atom styles :h4 - -There are several "atom styles"_atom_style.html that allow for -definition of finite-size particles: sphere, dipole, ellipsoid, line, -tri, peri, and body. - -The sphere style defines particles that are spheroids and each -particle can have a unique diameter and mass (or density). These -particles store an angular velocity (omega) and can be acted upon by -torque. The "set" command can be used to modify the diameter and mass -of individual particles, after then are created. - -The dipole style does not actually define finite-size particles, but -is often used in conjunction with spherical particles, via a command -like - -atom_style hybrid sphere dipole :pre - -This is because when dipoles interact with each other, they induce -torques, and a particle must be finite-size (i.e. have a moment of -inertia) in order to respond and rotate. See the "atom_style -dipole"_atom_style.html command for details. The "set" command can be -used to modify the orientation and length of the dipole moment of -individual particles, after then are created. - -The ellipsoid style defines particles that are ellipsoids and thus can -be aspherical. Each particle has a shape, specified by 3 diameters, -and mass (or density). These particles store an angular momentum and -their orientation (quaternion), and can be acted upon by torque. They -do not store an angular velocity (omega), which can be in a different -direction than angular momentum, rather they compute it as needed. -The "set" command can be used to modify the diameter, orientation, and -mass of individual particles, after then are created. It also has a -brief explanation of what quaternions are. - -The line style defines line segment particles with two end points and -a mass (or density). They can be used in 2d simulations, and they can -be joined together to form rigid bodies which represent arbitrary -polygons. - -The tri style defines triangular particles with three corner points -and a mass (or density). They can be used in 3d simulations, and they -can be joined together to form rigid bodies which represent arbitrary -particles with a triangulated surface. - -The peri style is used with "Peridynamic models"_pair_peri.html and -defines particles as having a volume, that is used internally in the -"pair_style peri"_pair_peri.html potentials. - -The body style allows for definition of particles which can represent -complex entities, such as surface meshes of discrete points, -collections of sub-particles, deformable objects, etc. The body style -is discussed in more detail on the "Howto body"_Howto_body.html doc -page. - -Note that if one of these atom styles is used (or multiple styles via -the "atom_style hybrid"_atom_style.html command), not all particles in -the system are required to be finite-size or aspherical. - -For example, in the ellipsoid style, if the 3 shape parameters are set -to the same value, the particle will be a sphere rather than an -ellipsoid. If the 3 shape parameters are all set to 0.0 or if the -diameter is set to 0.0, it will be a point particle. In the line or -tri style, if the lineflag or triflag is specified as 0, then it -will be a point particle. - -Some of the pair styles used to compute pairwise interactions between -finite-size particles also compute the correct interaction with point -particles as well, e.g. the interaction between a point particle and a -finite-size particle or between two point particles. If necessary, -"pair_style hybrid"_pair_hybrid.html can be used to insure the correct -interactions are computed for the appropriate style of interactions. -Likewise, using groups to partition particles (ellipsoids versus -spheres versus point particles) will allow you to use the appropriate -time integrators and temperature computations for each class of -particles. See the doc pages for various commands for details. - -Also note that for "2d simulations"_dimension.html, atom styles sphere -and ellipsoid still use 3d particles, rather than as circular disks or -ellipses. This means they have the same moment of inertia as the 3d -object. When temperature is computed, the correct degrees of freedom -are used for rotation in a 2d versus 3d system. - -Pair potentials :h4 - -When a system with finite-size particles is defined, the particles -will only rotate and experience torque if the force field computes -such interactions. These are the various "pair -styles"_pair_style.html that generate torque: - -"pair_style gran/history"_pair_gran.html -"pair_style gran/hertzian"_pair_gran.html -"pair_style gran/no_history"_pair_gran.html -"pair_style dipole/cut"_pair_dipole.html -"pair_style gayberne"_pair_gayberne.html -"pair_style resquared"_pair_resquared.html -"pair_style brownian"_pair_brownian.html -"pair_style lubricate"_pair_lubricate.html -"pair_style line/lj"_pair_line_lj.html -"pair_style tri/lj"_pair_tri_lj.html -"pair_style body/nparticle"_pair_body_nparticle.html :ul - -The granular pair styles are used with spherical particles. The -dipole pair style is used with the dipole atom style, which could be -applied to spherical or ellipsoidal particles. The GayBerne and -REsquared potentials require ellipsoidal particles, though they will -also work if the 3 shape parameters are the same (a sphere). The -Brownian and lubrication potentials are used with spherical particles. -The line, tri, and body potentials are used with line segment, -triangular, and body particles respectively. - -Time integration :h4 - -There are several fixes that perform time integration on finite-size -spherical particles, meaning the integrators update the rotational -orientation and angular velocity or angular momentum of the particles: - -"fix nve/sphere"_fix_nve_sphere.html -"fix nvt/sphere"_fix_nvt_sphere.html -"fix npt/sphere"_fix_npt_sphere.html :ul - -Likewise, there are 3 fixes that perform time integration on -ellipsoidal particles: - -"fix nve/asphere"_fix_nve_asphere.html -"fix nvt/asphere"_fix_nvt_asphere.html -"fix npt/asphere"_fix_npt_asphere.html :ul - -The advantage of these fixes is that those which thermostat the -particles include the rotational degrees of freedom in the temperature -calculation and thermostatting. The "fix langevin"_fix_langevin.html -command can also be used with its {omgea} or {angmom} options to -thermostat the rotational degrees of freedom for spherical or -ellipsoidal particles. Other thermostatting fixes only operate on the -translational kinetic energy of finite-size particles. - -These fixes perform constant NVE time integration on line segment, -triangular, and body particles: - -"fix nve/line"_fix_nve_line.html -"fix nve/tri"_fix_nve_tri.html -"fix nve/body"_fix_nve_body.html :ul - -Note that for mixtures of point and finite-size particles, these -integration fixes can only be used with "groups"_group.html which -contain finite-size particles. - -Computes, thermodynamics, and dump output :h4 - -There are several computes that calculate the temperature or -rotational energy of spherical or ellipsoidal particles: - -"compute temp/sphere"_compute_temp_sphere.html -"compute temp/asphere"_compute_temp_asphere.html -"compute erotate/sphere"_compute_erotate_sphere.html -"compute erotate/asphere"_compute_erotate_asphere.html :ul - -These include rotational degrees of freedom in their computation. If -you wish the thermodynamic output of temperature or pressure to use -one of these computes (e.g. for a system entirely composed of -finite-size particles), then the compute can be defined and the -"thermo_modify"_thermo_modify.html command used. Note that by default -thermodynamic quantities will be calculated with a temperature that -only includes translational degrees of freedom. See the -"thermo_style"_thermo_style.html command for details. - -These commands can be used to output various attributes of finite-size -particles: - -"dump custom"_dump.html -"compute property/atom"_compute_property_atom.html -"dump local"_dump.html -"compute body/local"_compute_body_local.html :ul - -Attributes include the dipole moment, the angular velocity, the -angular momentum, the quaternion, the torque, the end-point and -corner-point coordinates (for line and tri particles), and -sub-particle attributes of body particles. - -Rigid bodies composed of finite-size particles :h4 - -The "fix rigid"_fix_rigid.html command treats a collection of -particles as a rigid body, computes its inertia tensor, sums the total -force and torque on the rigid body each timestep due to forces on its -constituent particles, and integrates the motion of the rigid body. - -If any of the constituent particles of a rigid body are finite-size -particles (spheres or ellipsoids or line segments or triangles), then -their contribution to the inertia tensor of the body is different than -if they were point particles. This means the rotational dynamics of -the rigid body will be different. Thus a model of a dimer is -different if the dimer consists of two point masses versus two -spheroids, even if the two particles have the same mass. Finite-size -particles that experience torque due to their interaction with other -particles will also impart that torque to a rigid body they are part -of. - -See the "fix rigid" command for example of complex rigid-body models -it is possible to define in LAMMPS. - -Note that the "fix shake"_fix_shake.html command can also be used to -treat 2, 3, or 4 particles as a rigid body, but it always assumes the -particles are point masses. - -Also note that body particles cannot be modeled with the "fix -rigid"_fix_rigid.html command. Body particles are treated by LAMMPS -as single particles, though they can store internal state, such as a -list of sub-particles. Individual body particles are typically treated -as rigid bodies, and their motion integrated with a command like "fix -nve/body"_fix_nve_body.html. Interactions between pairs of body -particles are computed via a command like "pair_style -body/nparticle"_pair_body_nparticle.html. diff --git a/doc/txt/Howto_spins.txt b/doc/txt/Howto_spins.txt deleted file mode 100644 index c4bdc502ce1c8fc2b004750ad68b4157a22110e2..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_spins.txt +++ /dev/null @@ -1,74 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Magnetic spins :h3 - -The magnetic spin simulations are enabled by the SPIN package, whose -implementation is detailed in "Tranchida"_#Tranchida. - -The model represents the simulation of atomic magnetic spins coupled -to lattice vibrations. The dynamics of those magnetic spins can be used -to simulate a broad range a phenomena related to magneto-elasticity, or -or to study the influence of defects on the magnetic properties of -materials. - -The magnetic spins are interacting with each others and with the -lattice via pair interactions. Typically, the magnetic exchange -interaction can be defined using the -"pair/spin/exchange"_pair_spin_exchange.html command. This exchange -applies a magnetic torque to a given spin, considering the orientation -of its neighboring spins and their relative distances. -It also applies a force on the atoms as a function of the spin -orientations and their associated inter-atomic distances. - -The command "fix precession/spin"_fix_precession_spin.html allows to -apply a constant magnetic torque on all the spins in the system. This -torque can be an external magnetic field (Zeeman interaction), or an -uniaxial magnetic anisotropy. - -A Langevin thermostat can be applied to those magnetic spins using -"fix langevin/spin"_fix_langevin_spin.html. Typically, this thermostat -can be coupled to another Langevin thermostat applied to the atoms -using "fix langevin"_fix_langevin.html in order to simulate -thermostatted spin-lattice systems. - -The magnetic Gilbert damping can also be applied using "fix -langevin/spin"_fix_langevin_spin.html. It allows to either dissipate -the thermal energy of the Langevin thermostat, or to perform a -relaxation of the magnetic configuration toward an equilibrium state. - -The command "fix setforce/spin"_fix_setforce.html allows to set the -components of the magnetic precession vectors (while erasing and -replacing the previously computed magnetic precession vectors on -the atom). -This command can be used to freeze the magnetic moment of certain -atoms in the simulation by zeroing their precession vector. - -The command "fix nve/spin"_fix_nve_spin.html can be used to -perform a symplectic integration of the combined dynamics of spins -and atomic motions. - -The minimization style "min/spin"_min_spin.html can be applied -to the spins to perform a minimization of the spin configuration. - - -All the computed magnetic properties can be output by two main -commands. The first one is "compute spin"_compute_spin.html, that -enables to evaluate magnetic averaged quantities, such as the total -magnetization of the system along x, y, or z, the spin temperature, or -the magnetic energy. The second command is "compute -property/atom"_compute_property_atom.html. It enables to output all the -per atom magnetic quantities. Typically, the orientation of a given -magnetic spin, or the magnetic force acting on this spin. - -:line - -:link(Tranchida) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/txt/Howto_temperature.txt b/doc/txt/Howto_temperature.txt deleted file mode 100644 index 896cc96a403a2555b9aceb1cb7da90793d9a909a..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_temperature.txt +++ /dev/null @@ -1,43 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Calculate temperature :h3 - -Temperature is computed as kinetic energy divided by some number of -degrees of freedom (and the Boltzmann constant). Since kinetic energy -is a function of particle velocity, there is often a need to -distinguish between a particle's advection velocity (due to some -aggregate motion of particles) and its thermal velocity. The sum of -the two is the particle's total velocity, but the latter is often what -is wanted to compute a temperature. - -LAMMPS has several options for computing temperatures, any of which -can be used in "thermostatting"_Howto_thermostat.html and -"barostatting"_Howto_barostat.html. These "compute -commands"_compute.html calculate temperature: - -"compute temp"_compute_temp.html -"compute temp/sphere"_compute_temp_sphere.html -"compute temp/asphere"_compute_temp_asphere.html -"compute temp/com"_compute_temp_com.html -"compute temp/deform"_compute_temp_deform.html -"compute temp/partial"_compute_temp_partial.html -"compute temp/profile"_compute_temp_profile.html -"compute temp/ramp"_compute_temp_ramp.html -"compute temp/region"_compute_temp_region.html :ul - -All but the first 3 calculate velocity biases directly (e.g. advection -velocities) that are removed when computing the thermal temperature. -"Compute temp/sphere"_compute_temp_sphere.html and "compute -temp/asphere"_compute_temp_asphere.html compute kinetic energy for -finite-size particles that includes rotational degrees of freedom. -They both allow for velocity biases indirectly, via an optional extra -argument which is another temperature compute that subtracts a -velocity bias. This allows the translational velocity of spherical or -aspherical particles to be adjusted in prescribed ways. diff --git a/doc/txt/Howto_thermostat.txt b/doc/txt/Howto_thermostat.txt deleted file mode 100644 index aebf4555a710269577bfd248b3a4a61194009f6c..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_thermostat.txt +++ /dev/null @@ -1,100 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Thermostats :h3 - -Thermostatting means controlling the temperature of particles in an MD -simulation. "Barostatting"_Howto_barostat.html means controlling the -pressure. Since the pressure includes a kinetic component due to -particle velocities, both these operations require calculation of the -temperature. Typically a target temperature (T) and/or pressure (P) -is specified by the user, and the thermostat or barostat attempts to -equilibrate the system to the requested T and/or P. - -Thermostatting in LAMMPS is performed by "fixes"_fix.html, or in one -case by a pair style. Several thermostatting fixes are available: -Nose-Hoover (nvt), Berendsen, CSVR, Langevin, and direct rescaling -(temp/rescale). Dissipative particle dynamics (DPD) thermostatting -can be invoked via the {dpd/tstat} pair style: - -"fix nvt"_fix_nh.html -"fix nvt/sphere"_fix_nvt_sphere.html -"fix nvt/asphere"_fix_nvt_asphere.html -"fix nvt/sllod"_fix_nvt_sllod.html -"fix temp/berendsen"_fix_temp_berendsen.html -"fix temp/csvr"_fix_temp_csvr.html -"fix langevin"_fix_langevin.html -"fix temp/rescale"_fix_temp_rescale.html -"pair_style dpd/tstat"_pair_dpd.html :ul - -"Fix nvt"_fix_nh.html only thermostats the translational velocity of -particles. "Fix nvt/sllod"_fix_nvt_sllod.html also does this, except -that it subtracts out a velocity bias due to a deforming box and -integrates the SLLOD equations of motion. See the "Howto -nemd"_Howto_nemd.html doc page for further details. "Fix -nvt/sphere"_fix_nvt_sphere.html and "fix -nvt/asphere"_fix_nvt_asphere.html thermostat not only translation -velocities but also rotational velocities for spherical and aspherical -particles. - -NOTE: A recent (2017) book by "(Daivis and Todd)"_#Daivis-thermostat -discusses use of the SLLOD method and non-equilibrium MD (NEMD) -thermostatting generally, for both simple and complex fluids, -e.g. molecular systems. The latter can be tricky to do correctly. - -DPD thermostatting alters pairwise interactions in a manner analogous -to the per-particle thermostatting of "fix -langevin"_fix_langevin.html. - -Any of the thermostatting fixes can use "temperature -computes"_Howto_thermostat.html that remove bias which has two -effects. First, the current calculated temperature, which is compared -to the requested target temperature, is calculated with the velocity -bias removed. Second, the thermostat adjusts only the thermal -temperature component of the particle's velocities, which are the -velocities with the bias removed. The removed bias is then added back -to the adjusted velocities. See the doc pages for the individual -fixes and for the "fix_modify"_fix_modify.html command for -instructions on how to assign a temperature compute to a -thermostatting fix. For example, you can apply a thermostat to only -the x and z components of velocity by using it in conjunction with -"compute temp/partial"_compute_temp_partial.html. Of you could -thermostat only the thermal temperature of a streaming flow of -particles without affecting the streaming velocity, by using "compute -temp/profile"_compute_temp_profile.html. - -NOTE: Only the nvt fixes perform time integration, meaning they update -the velocities and positions of particles due to forces and velocities -respectively. The other thermostat fixes only adjust velocities; they -do NOT perform time integration updates. Thus they should be used in -conjunction with a constant NVE integration fix such as these: - -"fix nve"_fix_nve.html -"fix nve/sphere"_fix_nve_sphere.html -"fix nve/asphere"_fix_nve_asphere.html :ul - -Thermodynamic output, which can be setup via the -"thermo_style"_thermo_style.html command, often includes temperature -values. As explained on the doc page for the -"thermo_style"_thermo_style.html command, the default temperature is -setup by the thermo command itself. It is NOT the temperature -associated with any thermostatting fix you have defined or with any -compute you have defined that calculates a temperature. The doc pages -for the thermostatting fixes explain the ID of the temperature compute -they create. Thus if you want to view these temperatures, you need to -specify them explicitly via the "thermo_style -custom"_thermo_style.html command. Or you can use the -"thermo_modify"_thermo_modify.html command to re-define what -temperature compute is used for default thermodynamic output. - -:line - -:link(Daivis-thermostat) -[(Daivis and Todd)] Daivis and Todd, Nonequilibrium Molecular Dynamics (book), -Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017). diff --git a/doc/txt/Howto_tip3p.txt b/doc/txt/Howto_tip3p.txt deleted file mode 100644 index a34577c5e1125fb532e170ac4763f48e7c9f7bb4..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_tip3p.txt +++ /dev/null @@ -1,73 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -TIP3P water model :h3 - -The TIP3P water model as implemented in CHARMM -"(MacKerell)"_#howto-tip3p specifies a 3-site rigid water molecule with -charges and Lennard-Jones parameters assigned to each of the 3 atoms. -In LAMMPS the "fix shake"_fix_shake.html command can be used to hold -the two O-H bonds and the H-O-H angle rigid. A bond style of -{harmonic} and an angle style of {harmonic} or {charmm} should also be -used. - -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid TIP3P-CHARMM model with a -cutoff. The K values can be used if a flexible TIP3P model (without -fix shake) is desired. If the LJ epsilon and sigma for HH and OH are -set to 0.0, it corresponds to the original 1983 TIP3P model -"(Jorgensen)"_#Jorgensen1. - -O mass = 15.9994 -H mass = 1.008 -O charge = -0.834 -H charge = 0.417 -LJ epsilon of OO = 0.1521 -LJ sigma of OO = 3.1507 -LJ epsilon of HH = 0.0460 -LJ sigma of HH = 0.4000 -LJ epsilon of OH = 0.0836 -LJ sigma of OH = 1.7753 -K of OH bond = 450 -r0 of OH bond = 0.9572 -K of HOH angle = 55 -theta of HOH angle = 104.52 :all(b),p - -These are the parameters to use for TIP3P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS), see "(Price)"_#Price1 for -details: - -O mass = 15.9994 -H mass = 1.008 -O charge = -0.830 -H charge = 0.415 -LJ epsilon of OO = 0.102 -LJ sigma of OO = 3.188 -LJ epsilon, sigma of OH, HH = 0.0 -K of OH bond = 450 -r0 of OH bond = 0.9572 -K of HOH angle = 55 -theta of HOH angle = 104.52 :all(b),p - -Wikipedia also has a nice article on "water -models"_http://en.wikipedia.org/wiki/Water_model. - -:line - -:link(howto-tip3p) -[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). - -:link(Jorgensen1) -[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem -Phys, 79, 926 (1983). - -:link(Price1) -[(Price)] Price and Brooks, J Chem Phys, 121, 10096 (2004). - diff --git a/doc/txt/Howto_tip4p.txt b/doc/txt/Howto_tip4p.txt deleted file mode 100644 index 9f7f1413147e9f13e9ce21b44457502d1d95fa87..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_tip4p.txt +++ /dev/null @@ -1,112 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -TIP4P water model :h3 - -The four-point TIP4P rigid water model extends the traditional -three-point TIP3P model by adding an additional site, usually -massless, where the charge associated with the oxygen atom is placed. -This site M is located at a fixed distance away from the oxygen along -the bisector of the HOH bond angle. A bond style of {harmonic} and an -angle style of {harmonic} or {charmm} should also be used. - -A TIP4P model is run with LAMMPS using either this command -for a cutoff model: - -"pair_style lj/cut/tip4p/cut"_pair_lj.html - -or these two commands for a long-range model: - -"pair_style lj/cut/tip4p/long"_pair_lj.html -"kspace_style pppm/tip4p"_kspace_style.html :ul - -For both models, the bond lengths and bond angles should be held fixed -using the "fix shake"_fix_shake.html command. - -These are the additional parameters (in real units) to set for O and H -atoms and the water molecule to run a rigid TIP4P model with a cutoff -"(Jorgensen)"_#Jorgensen5. Note that the OM distance is specified in -the "pair_style"_pair_style.html command, not as part of the pair -coefficients. - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.040 -H charge = 0.520 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.15 -LJ epsilon of O-O = 0.1550 -LJ sigma of O-O = 3.1536 -LJ epsilon, sigma of OH, HH = 0.0 -Coulombic cutoff = 8.5 :all(b),p - -For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); -http://dx.doi.org/10.1063/1.1931662) these values can be used: - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.1794 -H charge = 0.5897 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.1577 -LJ epsilon of O-O = 0.21084 -LJ sigma of O-O = 3.1668 -LJ epsilon, sigma of OH, HH = 0.0 -Coulombic cutoff = 8.5 :all(b),p - -For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); -http://dx.doi.org/10.1063/1.2121687), these values can be used: - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.1128 -H charge = 0.5564 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.1546 -LJ epsilon of O-O = 0.1852 -LJ sigma of O-O = 3.1589 -LJ epsilon, sigma of OH, HH = 0.0 -Coulombic cutoff = 8.5 :all(b),p - -These are the parameters to use for TIP4P with a long-range Coulombic -solver (e.g. Ewald or PPPM in LAMMPS): - -O mass = 15.9994 -H mass = 1.008 -O charge = -1.0484 -H charge = 0.5242 -r0 of OH bond = 0.9572 -theta of HOH angle = 104.52 -OM distance = 0.1250 -LJ epsilon of O-O = 0.16275 -LJ sigma of O-O = 3.16435 -LJ epsilon, sigma of OH, HH = 0.0 :all(b),p - -Note that the when using the TIP4P pair style, the neighbor list -cutoff for Coulomb interactions is effectively extended by a distance -2 * (OM distance), to account for the offset distance of the -fictitious charges on O atoms in water molecules. Thus it is -typically best in an efficiency sense to use a LJ cutoff >= Coulomb -cutoff + 2*(OM distance), to shrink the size of the neighbor list. -This leads to slightly larger cost for the long-range calculation, so -you can test the trade-off for your model. The OM distance and the LJ -and Coulombic cutoffs are set in the "pair_style -lj/cut/tip4p/long"_pair_lj.html command. - -Wikipedia also has a nice article on "water -models"_http://en.wikipedia.org/wiki/Water_model. - -:line - -:link(Jorgensen5) -[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem -Phys, 79, 926 (1983). diff --git a/doc/txt/Howto_triclinic.txt b/doc/txt/Howto_triclinic.txt deleted file mode 100644 index 2c5834a396683ba13ecbd1b2cec4484be37bf271..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_triclinic.txt +++ /dev/null @@ -1,213 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -Triclinic (non-orthogonal) simulation boxes :h3 - -By default, LAMMPS uses an orthogonal simulation box to encompass the -particles. The "boundary"_boundary.html command sets the boundary -conditions of the box (periodic, non-periodic, etc). The orthogonal -box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors -starting from the origin given by [a] = (xhi-xlo,0,0); [b] = -(0,yhi-ylo,0); [c] = (0,0,zhi-zlo). The 6 parameters -(xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box -is created, e.g. by the "create_box"_create_box.html or -"read_data"_read_data.html or "read_restart"_read_restart.html -commands. Additionally, LAMMPS defines box size parameters lx,ly,lz -where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 -parameters, as well as lx,ly,lz, can be output via the "thermo_style -custom"_thermo_style.html command. - -LAMMPS also allows simulations to be performed in triclinic -(non-orthogonal) simulation boxes shaped as a parallelepiped with -triclinic symmetry. The parallelepiped has its "origin" at -(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the -origin given by [a] = (xhi-xlo,0,0); [b] = (xy,yhi-ylo,0); [c] = -(xz,yz,zhi-zlo). {xy,xz,yz} can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of -displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. In LAMMPS the triclinic -simulation box edge vectors [a], [b], and [c] cannot be arbitrary -vectors. As indicated, [a] must lie on the positive x axis. [b] must -lie in the xy plane, with strictly positive y component. [c] may have -any orientation with strictly positive z component. The requirement -that [a], [b], and [c] have strictly positive x, y, and z components, -respectively, ensures that [a], [b], and [c] form a complete -right-handed basis. These restrictions impose no loss of generality, -since it is possible to rotate/invert any set of 3 crystal basis -vectors so that they conform to the restrictions. - -For example, assume that the 3 vectors [A],[B],[C] are the edge -vectors of a general parallelepiped, where there is no restriction on -[A],[B],[C] other than they form a complete right-handed basis i.e. -[A] x [B] . [C] > 0. The equivalent LAMMPS [a],[b],[c] are a linear -rotation of [A], [B], and [C] and can be computed as follows: - -:c,image(Eqs/transform.jpg) - -where A = | [A] | indicates the scalar length of [A]. The hat symbol (^) -indicates the corresponding unit vector. {beta} and {gamma} are angles -between the vectors described below. Note that by construction, -[a], [b], and [c] have strictly positive x, y, and z components, respectively. -If it should happen that -[A], [B], and [C] form a left-handed basis, then the above equations -are not valid for [c]. In this case, it is necessary -to first apply an inversion. This can be achieved -by interchanging two basis vectors or by changing the sign of one of them. - -For consistency, the same rotation/inversion applied to the basis vectors -must also be applied to atom positions, velocities, -and any other vector quantities. -This can be conveniently achieved by first converting to -fractional coordinates in the -old basis and then converting to distance coordinates in the new basis. -The transformation is given by the following equation: - -:c,image(Eqs/rotate.jpg) - -where {V} is the volume of the box, [X] is the original vector quantity and -[x] is the vector in the LAMMPS basis. - -There is no requirement that a triclinic box be periodic in any -dimension, though it typically should be in at least the 2nd dimension -of the tilt (y in xy) if you want to enforce a shift in periodic -boundary conditions across that boundary. Some commands that work -with triclinic boxes, e.g. the "fix deform"_fix_deform.html and "fix -npt"_fix_nh.html commands, require periodicity or non-shrink-wrap -boundary conditions in specific dimensions. See the command doc pages -for details. - -The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the -time the simulation box is created. This happens in one of 3 ways. -If the "create_box"_create_box.html command is used with a region of -style {prism}, then a triclinic box is setup. See the -"region"_region.html command for details. If the -"read_data"_read_data.html command is used to define the simulation -box, and the header of the data file contains a line with the "xy xz -yz" keyword, then a triclinic box is setup. See the -"read_data"_read_data.html command for details. Finally, if the -"read_restart"_read_restart.html command reads a restart file which -was written from a simulation using a triclinic box, then a triclinic -box will be setup for the restarted simulation. - -Note that you can define a triclinic box with all 3 tilt factors = -0.0, so that it is initially orthogonal. This is necessary if the box -will become non-orthogonal, e.g. due to the "fix npt"_fix_nh.html or -"fix deform"_fix_deform.html commands. Alternatively, you can use the -"change_box"_change_box.html command to convert a simulation box from -orthogonal to triclinic and vice versa. - -As with orthogonal boxes, LAMMPS defines triclinic box size parameters -lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. -The 9 parameters, as well as lx,ly,lz, can be output via the -"thermo_style custom"_thermo_style.html command. - -To avoid extremely tilted boxes (which would be computationally -inefficient), LAMMPS normally requires that no tilt factor can skew -the box more than half the distance of the parallel box length, which -is the 1st dimension in the tilt factor (x for xz). This is required -both when the simulation box is created, e.g. via the -"create_box"_create_box.html or "read_data"_read_data.html commands, -as well as when the box shape changes dynamically during a simulation, -e.g. via the "fix deform"_fix_deform.html or "fix npt"_fix_nh.html -commands. - -For example, if xlo = 2 and xhi = 12, then the x box length is 10 and -the xy tilt factor must be between -5 and 5. Similarly, both xz and -yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is -not a limitation, since if the maximum tilt factor is 5 (as in this -example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are geometrically all equivalent. If the box tilt exceeds this -limit during a dynamics run (e.g. via the "fix deform"_fix_deform.html -command), then the box is "flipped" to an equivalent shape with a tilt -factor within the bounds, so the run can continue. See the "fix -deform"_fix_deform.html doc page for further details. - -One exception to this rule is if the 1st dimension in the tilt -factor (x for xy) is non-periodic. In that case, the limits on the -tilt factor are not enforced, since flipping the box in that dimension -does not change the atom positions due to non-periodicity. In this -mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient, due to the highly skewed simulation box. - -The limitation on not creating a simulation box with a tilt factor -skewing the box more than half the distance of the parallel box length -can be overridden via the "box"_box.html command. Setting the {tilt} -keyword to {large} allows any tilt factors to be specified. - -Box flips that may occur using the "fix deform"_fix_deform.html or -"fix npt"_fix_nh.html commands can be turned off using the {flip no} -option with either of the commands. - -Note that if a simulation box has a large tilt factor, LAMMPS will run -less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor's irregular-shaped sub-domain. -For extreme values of tilt, LAMMPS may also lose atoms and generate an -error. - -Triclinic crystal structures are often defined using three lattice -constants {a}, {b}, and {c}, and three angles {alpha}, {beta} and -{gamma}. Note that in this nomenclature, the a, b, and c lattice -constants are the scalar lengths of the edge vectors [a], [b], and [c] -defined above. The relationship between these 6 quantities -(a,b,c,alpha,beta,gamma) and the LAMMPS box sizes (lx,ly,lz) = -(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: - -:c,image(Eqs/box.jpg) - -The inverse relationship can be written as follows: - -:c,image(Eqs/box_inverse.jpg) - -The values of {a}, {b}, {c} , {alpha}, {beta} , and {gamma} can be printed -out or accessed by computes using the -"thermo_style custom"_thermo_style.html keywords -{cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, {cellgamma}, -respectively. - -As discussed on the "dump"_dump.html command doc page, when the BOX -BOUNDS for a snapshot is written to a dump file for a triclinic box, -an orthogonal bounding box which encloses the triclinic simulation box -is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic -box, formatted as follows: - -ITEM: BOX BOUNDS xy xz yz -xlo_bound xhi_bound xy -ylo_bound yhi_bound xz -zlo_bound zhi_bound yz :pre - -This bounding box is convenient for many visualization programs and is -calculated from the 9 triclinic box parameters -(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows: - -xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz) -xhi_bound = xhi + MAX(0.0,xy,xz,xy+xz) -ylo_bound = ylo + MIN(0.0,yz) -yhi_bound = yhi + MAX(0.0,yz) -zlo_bound = zlo -zhi_bound = zhi :pre - -These formulas can be inverted if you need to convert the bounding box -back into the triclinic box parameters, e.g. xlo = xlo_bound - -MIN(0.0,xy,xz,xy+xz). - -One use of triclinic simulation boxes is to model solid-state crystals -with triclinic symmetry. The "lattice"_lattice.html command can be -used with non-orthogonal basis vectors to define a lattice that will -tile a triclinic simulation box via the -"create_atoms"_create_atoms.html command. - -A second use is to run Parrinello-Rahman dynamics via the "fix -npt"_fix_nh.html command, which will adjust the xy, xz, yz tilt -factors to compensate for off-diagonal components of the pressure -tensor. The analog for an "energy minimization"_minimize.html is -the "fix box/relax"_fix_box_relax.html command. - -A third use is to shear a bulk solid to study the response of the -material. The "fix deform"_fix_deform.html command can be used for -this purpose. It allows dynamic control of the xy, xz, yz tilt -factors as a simulation runs. This is discussed in the next section -on non-equilibrium MD (NEMD) simulations. diff --git a/doc/txt/Howto_viscosity.txt b/doc/txt/Howto_viscosity.txt deleted file mode 100644 index c87c8a3b8409b457c9b04f9349f9a371e31d2cff..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_viscosity.txt +++ /dev/null @@ -1,144 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Calculate viscosity :h3 - -The shear viscosity eta of a fluid can be measured in at least 5 ways -using various options in LAMMPS. See the examples/VISCOSITY directory -for scripts that implement the 5 methods discussed here for a simple -Lennard-Jones fluid model. Also, see the "Howto -kappa"_Howto_kappa.html doc page for an analogous discussion for -thermal conductivity. - -Eta is a measure of the propensity of a fluid to transmit momentum in -a direction perpendicular to the direction of velocity or momentum -flow. Alternatively it is the resistance the fluid has to being -sheared. It is given by - -J = -eta grad(Vstream) - -where J is the momentum flux in units of momentum per area per time. -and grad(Vstream) is the spatial gradient of the velocity of the fluid -moving in another direction, normal to the area through which the -momentum flows. Viscosity thus has units of pressure-time. - -The first method is to perform a non-equilibrium MD (NEMD) simulation -by shearing the simulation box via the "fix deform"_fix_deform.html -command, and using the "fix nvt/sllod"_fix_nvt_sllod.html command to -thermostat the fluid via the SLLOD equations of motion. -Alternatively, as a second method, one or more moving walls can be -used to shear the fluid in between them, again with some kind of -thermostat that modifies only the thermal (non-shearing) components of -velocity to prevent the fluid from heating up. - -NOTE: A recent (2017) book by "(Daivis and Todd)"_#Daivis-viscosity -discusses use of the SLLOD method and non-equilibrium MD (NEMD) -thermostatting generally, for both simple and complex fluids, -e.g. molecular systems. The latter can be tricky to do correctly. - -In both cases, the velocity profile setup in the fluid by this -procedure can be monitored by the "fix ave/chunk"_fix_ave_chunk.html -command, which determines grad(Vstream) in the equation above. -E.g. the derivative in the y-direction of the Vx component of fluid -motion or grad(Vstream) = dVx/dy. The Pxy off-diagonal component of -the pressure or stress tensor, as calculated by the "compute -pressure"_compute_pressure.html command, can also be monitored, which -is the J term in the equation above. See the "Howto -nemd"_Howto_nemd.html doc page for details on NEMD simulations. - -The third method is to perform a reverse non-equilibrium MD simulation -using the "fix viscosity"_fix_viscosity.html command which implements -the rNEMD algorithm of Muller-Plathe. Momentum in one dimension is -swapped between atoms in two different layers of the simulation box in -a different dimension. This induces a velocity gradient which can be -monitored with the "fix ave/chunk"_fix_ave_chunk.html command. -The fix tallies the cumulative momentum transfer that it performs. -See the "fix viscosity"_fix_viscosity.html command for details. - -The fourth method is based on the Green-Kubo (GK) formula which -relates the ensemble average of the auto-correlation of the -stress/pressure tensor to eta. This can be done in a fully -equilibrated simulation which is in contrast to the two preceding -non-equilibrium methods, where momentum flows continuously through the -simulation box. - -Here is an example input script that calculates the viscosity of -liquid Ar via the GK formalism: - -# Sample LAMMPS input script for viscosity of liquid Ar :pre - -units real -variable T equal 86.4956 -variable V equal vol -variable dt equal 4.0 -variable p equal 400 # correlation length -variable s equal 5 # sample interval -variable d equal $p*$s # dump interval :pre - -# convert from LAMMPS real units to SI :pre - -variable kB equal 1.3806504e-23 # \[J/K\] Boltzmann -variable atm2Pa equal 101325.0 -variable A2m equal 1.0e-10 -variable fs2s equal 1.0e-15 -variable convert equal $\{atm2Pa\}*$\{atm2Pa\}*$\{fs2s\}*$\{A2m\}*$\{A2m\}*$\{A2m\} :pre - -# setup problem :pre - -dimension 3 -boundary p p p -lattice fcc 5.376 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1 -region box block 0 4 0 4 0 4 -create_box 1 box -create_atoms 1 box -mass 1 39.948 -pair_style lj/cut 13.0 -pair_coeff * * 0.2381 3.405 -timestep $\{dt\} -thermo $d :pre - -# equilibration and thermalization :pre - -velocity all create $T 102486 mom yes rot yes dist gaussian -fix NVT all nvt temp $T $T 10 drag 0.2 -run 8000 :pre - -# viscosity calculation, switch to NVE if desired :pre - -#unfix NVT -#fix NVE all nve :pre - -reset_timestep 0 -variable pxy equal pxy -variable pxz equal pxz -variable pyz equal pyz -fix SS all ave/correlate $s $p $d & - v_pxy v_pxz v_pyz type auto file S0St.dat ave running -variable scale equal $\{convert\}/($\{kB\}*$T)*$V*$s*$\{dt\} -variable v11 equal trap(f_SS\[3\])*$\{scale\} -variable v22 equal trap(f_SS\[4\])*$\{scale\} -variable v33 equal trap(f_SS\[5\])*$\{scale\} -thermo_style custom step temp press v_pxy v_pxz v_pyz v_v11 v_v22 v_v33 -run 100000 -variable v equal (v_v11+v_v22+v_v33)/3.0 -variable ndens equal count(all)/vol -print "average viscosity: $v \[Pa.s\] @ $T K, $\{ndens\} /A^3" :pre - -The fifth method is related to the above Green-Kubo method, -but uses the Einstein formulation, analogous to the Einstein -mean-square-displacement formulation for self-diffusivity. The -time-integrated momentum fluxes play the role of Cartesian -coordinates, whose mean-square displacement increases linearly -with time at sufficiently long times. - -:line - -:link(Daivis-viscosity) -[(Daivis and Todd)] Daivis and Todd, Nonequilibrium Molecular Dynamics (book), -Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017). diff --git a/doc/txt/Howto_viz.txt b/doc/txt/Howto_viz.txt deleted file mode 100644 index 00c329c50b1a7f5685d31b4f9a59b3affa2dcb4f..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_viz.txt +++ /dev/null @@ -1,40 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Visualize LAMMPS snapshots :h3 - -LAMMPS itself does not do visualization, but snapshots from LAMMPS -simulations can be visualized (and analyzed) in a variety of ways. - -Mention dump image and dump movie. - -LAMMPS snapshots are created by the "dump"_dump.html command which can -create files in several formats. The native LAMMPS dump format is a -text file (see "dump atom" or "dump custom") which can be visualized -by several popular visualization tools. The "dump -image"_dump_image.html and "dump movie"_dump_image.html styles can -output internally rendered images and convert a sequence of them to a -movie during the MD run. Several programs included with LAMMPS as -auxiliary tools can convert between LAMMPS format files and other -formats. See the "Tools"_Tools.html doc page for details. - -A Python-based toolkit distributed by our group can read native LAMMPS -dump files, including custom dump files with additional columns of -user-specified atom information, and convert them to various formats -or pipe them into visualization software directly. See the "Pizza.py -WWW site"_pizza for details. Specifically, Pizza.py can convert -LAMMPS dump files into PDB, XYZ, "Ensight"_ensight, and VTK formats. -Pizza.py can pipe LAMMPS dump files directly into the Raster3d and -RasMol visualization programs. Pizza.py has tools that do interactive -3d OpenGL visualization and one that creates SVG images of dump file -snapshots. - -:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) -:link(ensight,http://www.ensight.com) -:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A) diff --git a/doc/txt/Howto_walls.txt b/doc/txt/Howto_walls.txt deleted file mode 100644 index 4e4f0c5d6ff17aababc819c712723b350f633d28..0000000000000000000000000000000000000000 --- a/doc/txt/Howto_walls.txt +++ /dev/null @@ -1,81 +0,0 @@ -"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Walls :h3 - -Walls in an MD simulation are typically used to bound particle motion, -i.e. to serve as a boundary condition. - -Walls in LAMMPS can be of rough (made of particles) or idealized -surfaces. Ideal walls can be smooth, generating forces only in the -normal direction, or frictional, generating forces also in the -tangential direction. - -Rough walls, built of particles, can be created in various ways. The -particles themselves can be generated like any other particle, via the -"lattice"_lattice.html and "create_atoms"_create_atoms.html commands, -or read in via the "read_data"_read_data.html command. - -Their motion can be constrained by many different commands, so that -they do not move at all, move together as a group at constant velocity -or in response to a net force acting on them, move in a prescribed -fashion (e.g. rotate around a point), etc. Note that if a time -integration fix like "fix nve"_fix_nve.html or "fix nvt"_fix_nh.html -is not used with the group that contains wall particles, their -positions and velocities will not be updated. - -"fix aveforce"_fix_aveforce.html - set force on particles to average value, so they move together -"fix setforce"_fix_setforce.html - set force on particles to a value, e.g. 0.0 -"fix freeze"_fix_freeze.html - freeze particles for use as granular walls -"fix nve/noforce"_fix_nve_noforce.html - advect particles by their velocity, but without force -"fix move"_fix_move.html - prescribe motion of particles by a linear velocity, oscillation, rotation, variable :ul - -The "fix move"_fix_move.html command offers the most generality, since -the motion of individual particles can be specified with -"variable"_variable.html formula which depends on time and/or the -particle position. - -For rough walls, it may be useful to turn off pairwise interactions -between wall particles via the "neigh_modify -exclude"_neigh_modify.html command. - -Rough walls can also be created by specifying frozen particles that do -not move and do not interact with mobile particles, and then tethering -other particles to the fixed particles, via a "bond"_bond_style.html. -The bonded particles do interact with other mobile particles. - -Idealized walls can be specified via several fix commands. "Fix -wall/gran"_fix_wall_gran.html creates frictional walls for use with -granular particles; all the other commands create smooth walls. - -"fix wall/reflect"_fix_wall_reflect.html - reflective flat walls -"fix wall/lj93"_fix_wall.html - flat walls, with Lennard-Jones 9/3 potential -"fix wall/lj126"_fix_wall.html - flat walls, with Lennard-Jones 12/6 potential -"fix wall/colloid"_fix_wall.html - flat walls, with "pair_style colloid"_pair_colloid.html potential -"fix wall/harmonic"_fix_wall.html - flat walls, with repulsive harmonic spring potential -"fix wall/morse"_fix_wall.html - flat walls, with Morse potential -"fix wall/region"_fix_wall_region.html - use region surface as wall -"fix wall/gran"_fix_wall_gran.html - flat or curved walls with "pair_style granular"_pair_gran.html potential :ul - -The {lj93}, {lj126}, {colloid}, {harmonic}, and {morse} styles all -allow the flat walls to move with a constant velocity, or oscillate in -time. The "fix wall/region"_fix_wall_region.html command offers the -most generality, since the region surface is treated as a wall, and -the geometry of the region can be a simple primitive volume (e.g. a -sphere, or cube, or plane), or a complex volume made from the union -and intersection of primitive volumes. "Regions"_region.html can also -specify a volume "interior" or "exterior" to the specified primitive -shape or {union} or {intersection}. "Regions"_region.html can also be -"dynamic" meaning they move with constant velocity, oscillate, or -rotate. - -The only frictional idealized walls currently in LAMMPS are flat or -curved surfaces specified by the "fix wall/gran"_fix_wall_gran.html -command. At some point we plan to allow regoin surfaces to be used as -frictional walls, as well as triangulated surfaces. diff --git a/doc/txt/Install_git.txt b/doc/txt/Install_git.txt deleted file mode 100644 index 19decde5163d604f3b3c08cb8749c7a121be9ee1..0000000000000000000000000000000000000000 --- a/doc/txt/Install_git.txt +++ /dev/null @@ -1,113 +0,0 @@ -"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Download source via Git :h3 - -All LAMMPS development is coordinated through the "LAMMPS GitHub -site". If you clone the LAMMPS repository onto your local machine, it -has several advantages: - -You can stay current with changes to LAMMPS with a single git -command. :ulb,l - -You can create your own development branches to add code to LAMMPS. :l - -You can submit your new features back to GitHub for inclusion in -LAMMPS. :l,ule - -You must have "Git"_git installed on your system to communicate with -the public Git server for LAMMPS. - -IMPORTANT NOTE: As of Oct 2016, the official home of public LAMMPS -development is on GitHub. The previously advertised LAMMPS git -repositories on git.lammps.org and bitbucket.org are now deprecated, -may not be up-to-date, and may go away at any time. - -:link(git,http://git-scm.com) - -You can follow LAMMPS development on 3 different Git branches: - -[stable] : this branch is updated with every stable release -[unstable] : this branch is updated with every patch release -[master] : this branch continuously follows ongoing development :ul - -To access the Git repositories on your box, use the clone command to -create a local copy of the LAMMPS repository with a command like: - -git clone -b unstable https://github.com/lammps/lammps.git mylammps :pre - -where "mylammps" is the name of the directory you wish to create on -your machine and "unstable" is one of the 3 branches listed above. -(Note that you actually download all 3 branches; you can switch -between them at any time using "git checkout ".) - -Once the command completes, your directory will contain the same files -as if you unpacked a current LAMMPS tarball, with the exception, that -the HTML documentation files are not included. They can be fetched -from the LAMMPS website by typing "make fetch" in the doc directory. -Or they can be generated from the content provided in doc/src by -typing "make html" from the doc directory. - -After initial cloning, as bug fixes and new features are added to -LAMMPS, as listed on "this page"_Errors_bugs.html, you can stay -up-to-date by typing the following Git commands from within the -"mylammps" directory: - -git checkout unstable # not needed if you always stay in this branch -git checkout stable # use one of the 3 checkout commands -git checkout master -git pull :pre - -Doing a "pull" will not change any files you have added to the LAMMPS -directory structure. It will also not change any existing LAMMPS -files you have edited, unless those files have changed in the -repository. In that case, Git will attempt to merge the new -repository file with your version of the file and tell you if there -are any conflicts. See the Git documentation for details. - -If you want to access a particular previous release version of LAMMPS, -you can instead "checkout" any version with a published tag. See the -output of "git tag -l" for the list of tags. The Git command to do -this is as follows. - -git checkout tagID :pre - -Stable versions and what tagID to use for a particular stable version -are discussed on "this page"_Errors_bugs.html. Note that this command -will print some warnings, because in order to get back to the latest -revision and to be able to update with "git pull" again, you first -will need to first type "git checkout unstable" (or check out any -other desired branch). - -Once you have updated your local files with a "git pull" (or "git -checkout"), you still need to re-build LAMMPS if any source files have -changed. To do this, you should cd to the src directory and type: - -make purge # remove any deprecated src files -make package-update # sync package files with src files -make foo # re-build for your machine (mpi, serial, etc) :pre - -just as described on the "Install patch"_Install_patch.html doc page, -after a patch has been installed. - -IMPORTANT NOTE: If you wish to edit/change a src file that is from a -package, you should edit the version of the file inside the package -sub-directory with src, then re-install the package. The version in -the src dir is merely a copy and will be wiped out if you type "make -package-update". - -IMPORTANT NOTE: The GitHub servers support both the "git://" and -"https://" access protocols for anonymous read-only access. If you -have a correspondingly configured GitHub account, you may also use SSH -with "git@github.com:/lammps/lammps.git". - -The LAMMPS GitHub project is managed by Christoph Junghans (LANL, -junghans at lanl.gov), Axel Kohlmeyer (Temple U, akohlmey at -gmail.com) and Richard Berger (Temple U, richard.berger at -temple.edu). diff --git a/doc/txt/Install_linux.txt b/doc/txt/Install_linux.txt deleted file mode 100644 index 9aebd30c05603f3c79376c6b92a03f0b707df046..0000000000000000000000000000000000000000 --- a/doc/txt/Install_linux.txt +++ /dev/null @@ -1,199 +0,0 @@ -"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Download an executable for Linux :h3 - -Binaries are available for different versions of Linux: - -"Pre-built Ubuntu Linux executables"_#ubuntu -"Pre-built Fedora Linux executables"_#fedora -"Pre-built EPEL Linux executables (RHEL, CentOS)"_#epel -"Pre-built OpenSuse Linux executables"_#opensuse -"Gentoo Linux executable"_#gentoo -"Arch Linux build-script"_#arch :all(b) - -:line - -Pre-built Ubuntu Linux executables :h4,link(ubuntu) - -A pre-built LAMMPS executable suitable for running on the latest -Ubuntu Linux versions, can be downloaded as a Debian package. This -allows you to install LAMMPS with a single command, and stay -up-to-date with the current version of LAMMPS by simply updating your -operating system. - -To install the appropriate personal-package archive (PPA), do the -following once: - -sudo add-apt-repository ppa:gladky-anton/lammps -sudo apt-get update :pre - -To install LAMMPS do the following once: - -sudo apt-get install lammps-daily :pre - -This downloads an executable named "lmp_daily" to your box, which -can then be used in the usual way to run input scripts: - -lmp_daily -in in.lj :pre - -To update LAMMPS to the most current version, do the following: - -sudo apt-get update :pre - -which will also update other packages on your system. - -To get a copy of the current documentation and examples: - -sudo apt-get install lammps-daily-doc :pre - -which will download the doc files in -/usr/share/doc/lammps-daily-doc/doc and example problems in -/usr/share/doc/lammps-doc/examples. - -Note that you may still wish to download the tarball to get potential -files and auxiliary tools. - -To un-install LAMMPS, do the following: - -sudo apt-get remove lammps-daily :pre - -Note that the lammps-daily executable is built with the following -sequence of make commands, as if you had done the same with the -unpacked tarball files in the src directory: - -make yes-all; make no-lib; make openmpi - -Thus it builds with FFTW3 and OpenMPI. - -Thanks to Anton Gladky (gladky.anton at gmail.com) for setting up this -Ubuntu package capability. - -:line - -Pre-built Fedora Linux executables :h4,link(fedora) - -Pre-built LAMMPS packages for stable releases are available -in the Fedora Linux distribution as of version 28. The packages -can be installed via the dnf package manager. There are 3 basic -varieties (lammps = no MPI, lammps-mpich = MPICH MPI library, -lammps-openmpi = OpenMPI MPI library) and for each support for -linking to the C library interface (lammps-devel, lammps-mpich-devel, -lammps-openmpi-devel), the header for compiling programs using -the C library interface (lammps-headers), and the LAMMPS python -module for Python 3. All packages can be installed at the same -time and the name of the LAMMPS executable is {lmp} and {lmp_openmpi} -or {lmp_mpich} respectively. By default, {lmp} will refer to the -serial executable, unless one of the MPI environment modules is loaded -("module load mpi/mpich-x86_64" or "module load mpi/openmpi-x86_64"). -Then the corresponding parallel LAMMPS executable can be used. -The same mechanism applies when loading the LAMMPS python module. - -To install LAMMPS with OpenMPI and run an input in.lj with 2 CPUs do: - -dnf install lammps-openmpi -module load mpi/openmpi-x86_64 -mpirun -np 2 lmp -in in.lj :pre - -The "dnf install" command is needed only once. In case of a new LAMMPS -stable release, "dnf update" will automatically update to the newer -version as soon at the RPM files are built and uploaded to the download -mirrors. The "module load" command is needed once per (shell) session -or shell terminal instance, unless it is automatically loaded from the -shell profile. - -Please use "lmp -help" to see which compilation options, packages, -and styles are included in the binary. - -Thanks to Christoph Junghans (LANL) for making LAMMPS available in Fedora. - -:line - -Pre-built EPEL Linux executable :h4,link(epel) - -Pre-built LAMMPS packages for stable releases are available -in the "Extra Packages for Enterprise Linux (EPEL) repository"_https://fedoraproject.org/wiki/EPEL -for use with Red Hat Enterprise Linux (RHEL) or CentOS version 7.x -and compatible Linux distributions. Names of packages, executable, -and content are the same as described above for Fedora Linux. -But RHEL/CentOS 7.x uses the "yum" package manager instead of "dnf" -in Fedora 28. - -Please use "lmp -help" to see which compilation options, packages, -and styles are included in the binary. - -Thanks to Christoph Junghans (LANL) for making LAMMPS available in EPEL. - -:line - -Pre-built OpenSuse Linux executable :h4,link(opensuse) - -A pre-built LAMMPS package for stable releases is available -in OpenSuse as of Leap 15.0. You can install the package with: - -zypper install lammps :pre - -This includes support for OpenMPI. The name of the LAMMPS executable -is {lmp}. Thus to run an input in parallel on 2 CPUs you would do: - -mpirun -np 2 lmp -in in.lj :pre - -Please use "lmp -help" to see which compilation options, packages, -and styles are included in the binary. - -Thanks to Christoph Junghans (LANL) for making LAMMPS available in OpenSuse. - -:line - -Gentoo Linux executable :h4,link(gentoo) - -LAMMPS is part of Gentoo's main package tree and can be installed by -typing: - -% emerge --ask lammps :pre - -Note that in Gentoo the LAMMPS source is downloaded and the package is -built on the your machine. - -Certain LAMMPS packages can be enable via USE flags, type - -% equery uses lammps :pre - -for details. - -Thanks to Nicolas Bock and Christoph Junghans (LANL) for setting up -this Gentoo capability. - -:line - -Archlinux build-script :h4,link(arch) - -LAMMPS is available via Arch's unofficial Arch User repository (AUR). - -There are three scripts available, named lammps, lammps-beta and lammps-git. -They respectively package the stable, patch and git releases. - -To install, you will need to have the git package installed. You may use -any of the above names in-place of lammps. - -$ git clone https://aur.archlinux.org/lammps.git :pre -$ cd lammps :pre -$ makepkg -s :pre -# makepkg -i :pre - -To update, you may repeat the above, or change into the cloned directory, -and execute the following, after which, if there are any changes, you may -use makepkg as above. - -$ git pull :pre - -Alternatively, you may use an AUR helper to install these packages. - -Note that the AUR provides build-scripts that download the source and -the build the package on your machine. diff --git a/doc/txt/Install_patch.txt b/doc/txt/Install_patch.txt deleted file mode 100644 index 40c272d1c883c0e8106cd806034f7e28e8e302d1..0000000000000000000000000000000000000000 --- a/doc/txt/Install_patch.txt +++ /dev/null @@ -1,68 +0,0 @@ -"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Applying patches :h3 - -It is easy to stay current with the most recent LAMMPS patch releases -if you use Git or SVN to track LAMMPS development. Instructions for -how to stay current are on the "Install git"_Install_git.html and -"Install svn"_Install_svn.html doc pages. - -If you prefer to download a tarball, as described on the "Install -git"_Install_tarball.html doc page, you can stay current by -downloading "patch files" when new patch releases are made. A link to -a patch file is posted on the "bug and feature -page"_http://lammps.sandia.gov/bug.html of the LAMMPS website, along -with a list of changed files and details about what is in the new patch -release. This page explains how to apply the patch file to your local -LAMMPS directory. - -NOTE: You should not apply patch files to a local Git or SVN repo of -LAMMPS, only to an unpacked tarball. Use Git and SVN commands to -update repo versions of LAMMPS. - -Here are the steps to apply a patch file. Note that if your version -of LAMMPS is several patch releases behind, you need to apply all the -intervening patch files in succession to bring your version of LAMMPS -up to date. - -Download the patch file. You may have to shift-click in your browser -to download the file instead of display it. Patch files have names -like patch.12Dec16. :ulb,l - -Put the patch file in your top-level LAMMPS directory, where the -LICENSE and README files are. :l - -Apply the patch by typing the following command from your top-level -LAMMPS directory, where the redirected file is the name of the patch -file. :l - -patch -bp1 < patch.12Dec16 :pre - -A list of updated files print out to the screen. The -b switch -creates backup files of your originals (e.g. src/force.cpp.orig), so -you can manually undo the patch if something goes wrong. :l - -Type the following from the src directory, to enforce consistency -between the src and package directories. This is OK to do even if you -don't use one or more packages. If you are applying several patches -successively, you only need to type this once at the end. The purge -command removes deprecated src files if any were removed by the patch -from package sub-directories. :l - -make purge -make package-update :pre - -Re-build LAMMPS via the "make" command. :l,ule - -IMPORTANT NOTE: If you wish to edit/change a src file that is from a -package, you should edit the version of the file inside the package -sub-dir of src, then re-install the package. The version in the src -dir is merely a copy and will be wiped out if you type "make -package-update". diff --git a/doc/txt/Install_svn.txt b/doc/txt/Install_svn.txt deleted file mode 100644 index b701c0b04d55f816dbb9a6db318f65f077407d36..0000000000000000000000000000000000000000 --- a/doc/txt/Install_svn.txt +++ /dev/null @@ -1,88 +0,0 @@ -"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Download source via SVN :h3 - -IMPORTANT NOTE: As of Oct 2016, SVN support is now implemented via a -git-to-subversion interface service on GitHub and no longer through a -mirror of the internal SVN repository at Sandia. - -You must have the "Subversion (SVN) client software"_svn installed on -your system to communicate with the Git server in this mode. - -:link(svn,http://subversion.apache.org) - -You can follow LAMMPS development on 3 different SVN branches: - -[stable] : this branch is updated with every stable release -[unstable] : this branch is updated with every patch release -[master] : this branch continuously follows ongoing development :ul - -The corresponding command lines to do an initial checkout are as -follows. (Note that unlike Git, you must perform a separate checkout -into a unique directory for each of the 3 branches.) - -svn checkout https://github.com/lammps/lammps.git/branches/unstable mylammps -svn checkout https://github.com/lammps/lammps.git/branches/stable mylammps -svn checkout https://github.com/lammps/lammps.git/trunk mylammps :pre - -where "mylammps" is the name of the directory you wish to create on -your machine. - -Once the command completes, your directory will contain the same files -as if you unpacked a current LAMMPS tarball, with the exception, that -the HTML documentation files are not included. They can be fetched -from the LAMMPS website by typing "make fetch" in the doc directory. -Or they can be generated from the content provided in doc/src by -typing "make html" from the doc directory. - -After initial checkout, as bug fixes and new features are added to -LAMMPS, as listed on "this page"_Errors_bugs.html, you can stay -up-to-date by typing the following SVN commands from within the -"mylammps" directory: - -svn update :pre - -You can also check if there are any updates by typing: - -svn -qu status :pre - -Doing an "update" will not change any files you have added to the -LAMMPS directory structure. It will also not change any existing -LAMMPS files you have edited, unless those files have changed in the -repository. In that case, SVN will attempt to merge the new -repository file with your version of the file and tell you if there -are any conflicts. See the SVN documentation for details. - -Please refer to the "subversion client support help pages on -GitHub"_https://help.github.com/articles/support-for-subversion-clients -if you want to use advanced features like accessing particular -previous release versions via tags. - -Once you have updated your local files with an "svn update" (or "svn -co"), you still need to re-build LAMMPS if any source files have -changed. To do this, you should cd to the src directory and type: - -make purge # remove any deprecated src files -make package-update # sync package files with src files -make foo # re-build for your machine (mpi, serial, etc) :pre - -just as described on the "Install patch"_Install_patch.html doc page, -after a patch has been installed. - -IMPORTANT NOTE: If you wish to edit/change a src file that is from a -package, you should edit the version of the file inside the package -sub-directory with src, then re-install the package. The version in -the src dir is merely a copy and will be wiped out if you type "make -package-update". - -The LAMMPS GitHub project is managed by Christoph Junghans (LANL, -junghans at lanl.gov), Axel Kohlmeyer (Temple U, akohlmey at -gmail.com) and Richard Berger (Temple U, richard.berger at -temple.edu). diff --git a/doc/txt/Install_tarball.txt b/doc/txt/Install_tarball.txt deleted file mode 100644 index 7ba5d15ac4af341d44fcd3e84c897365237e1543..0000000000000000000000000000000000000000 --- a/doc/txt/Install_tarball.txt +++ /dev/null @@ -1,68 +0,0 @@ -"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Download source and documentation as a tarball :h3 - -You can download a current LAMMPS tarball from the "download page"_download -of the "LAMMPS website"_lws. - -:link(download,http://lammps.sandia.gov/download.html) -:link(bug,http://lammps.sandia.gov/bug.html) -:link(older,http://lammps.sandia.gov/tars) - -You have two choices of tarballs, either the most recent stable -release or the most current patch release. Stable releases occur a -few times per year, and undergo more testing before release. Patch -releases occur a couple times per month. The new contents in all -releases are listed on the "bug and feature page"_bug of the website. - -Both tarballs include LAMMPS documentation (HTML and PDF files) -corresponding to that version. The download page also has an option -to download the current-version LAMMPS documentation by itself. - -Older versions of LAMMPS can also be downloaded from "this -page"_older. - -Once you have a tarball, unzip and untar it with the following -command: - -tar -xzvf lammps*.tar.gz :pre - -This will create a LAMMPS directory with the version date -in its name, e.g. lammps-23Jun18. - -:line - -You can also download a zip file via the "Clone or download" button on -the "LAMMPS GitHub site"_git. The file name will be lammps-master.zip -which can be unzipped with the following command, to create -a lammps-master dir: - -unzip lammps*.zip :pre - -This version is the most up-to-date LAMMPS development version. It -will have the date of the most recent patch release (see the file -src/version.h). But it will also include any new bug-fixes or -features added since the last patch release. They will be included in -the next patch release tarball. - -:link(git,https://github.com/lammps/lammps) - -:line - -If you download a current LAMMPS tarball, one way to stay current as -new patch tarballs are released, is to download a patch file which you -can apply to your local directory to update it for each new patch -release. (Or of course you could just download the newest tarball -periodically.) - -The patch files are posted on the "bug and feature page"_bug of the -website, along with a list of changed files and details about what is -in the new patch release. Instructions for applying a patch file are -on the "Install patch"_Install_patch.html doc page. diff --git a/doc/txt/Install_windows.txt b/doc/txt/Install_windows.txt deleted file mode 100644 index 7d5aab34f5f868f30ef897e0205d4a3de610cb5f..0000000000000000000000000000000000000000 --- a/doc/txt/Install_windows.txt +++ /dev/null @@ -1,52 +0,0 @@ -"Higher level section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Download an executable for Windows :h3 - -Pre-compiled Windows installers which install LAMMPS executables on a -Windows system can be downloaded from this site: - -"http://packages.lammps.org/windows.html"_http://packages.lammps.org/windows.html - -Note that each installer package has a date in its name, which -corresponds to the LAMMPS version of the same date. Installers for -current and older versions of LAMMPS are available. 32-bit and 64-bit -installers are available, and each installer contains both a serial -and parallel executable. The installer site also explains how to -install the Windows MPI package (MPICH2 from Argonne National Labs), -needed to run in parallel. - -The LAMMPS binaries contain all optional packages included in the -source distribution except: KIM, KOKKOS, USER-INTEL, and USER-QMMM. -The serial version also does not include the MPIIO and -USER-LB packages. GPU support is provided for OpenCL. - -The installer site also has instructions on how to run LAMMPS under -Windows, once it is installed, in both serial and parallel. - -When you download the installer package, you run it on your Windows -machine. It will then prompt you with a dialog, where you can choose -the installation directory, unpack and copy several executables, -potential files, documentation pdfs, selected example files, etc. It -will then update a few system settings (e.g. PATH, LAMMPS_POTENTIALS) -and add an entry into the Start Menu (with references to the -documentation, LAMMPS homepage and more). From that menu, there is -also a link to an uninstaller that removes the files and undoes the -environment manipulations. - -Note that to update to a newer version of LAMMPS, you should typically -uninstall the version you currently have, download a new installer, -and go through the install procedure described above. I.e. the same -procedure for installing/updating most Windows programs. You can -install multiple versions of LAMMPS (in different directories), but -only the executable for the last-installed package will be found -automatically, so this should only be done for debugging purposes. - -Thanks to Axel Kohlmeyer (Temple U, akohlmey at gmail.com) for setting -up this Windows capability. diff --git a/doc/txt/Intro.txt b/doc/txt/Intro.txt deleted file mode 100644 index c8725e0085edde75afcc8afd1ab2bd50da8b17a1..0000000000000000000000000000000000000000 --- a/doc/txt/Intro.txt +++ /dev/null @@ -1,39 +0,0 @@ -"Previous Section"_Manual.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Install.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands.html#comm) - -:line - -Introduction :h2 - -These pages provide a brief introduction to LAMMPS. - - - - - -"Overview of LAMMPS"_Intro_overview.html -"LAMMPS features"_Intro_features.html -"LAMMPS non-features"_Intro_nonfeatures.html -"LAMMPS open-source license"_Intro_license.html -"LAMMPS authors"_Intro_authors.html -"Additional website links"_Intro_website.html :all(b) - - diff --git a/doc/txt/Intro_authors.txt b/doc/txt/Intro_authors.txt deleted file mode 100644 index 8f025df96d590b881630d496fd9b5bd2ced28026..0000000000000000000000000000000000000000 --- a/doc/txt/Intro_authors.txt +++ /dev/null @@ -1,66 +0,0 @@ -"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Authors of LAMMPS :h3 - -The primary LAMMPS developers are at Sandia National Labs and Temple -University: - -"Steve Plimpton"_sjp, sjplimp at sandia.gov -Aidan Thompson, athomps at sandia.gov -Stan Moore, stamoor at sandia.gov -Axel Kohlmeyer, akohlmey at gmail.com -Richard Berger, richard.berger at temple.edu :ul - -:link(sjp,http://www.cs.sandia.gov/~sjplimp) - -Past developers include Paul Crozier and Mark Stevens, both at Sandia, -and Ray Shan, now at Materials Design. - -:line - -The "Authors page"_http://lammps.sandia.gov/authors.html of the -"LAMMPS website"_lws has a comprehensive list of all the individuals -who have contributed code for a new feature or command or tool to -LAMMPS. - -:line - -The following folks deserve special recognition. Many of the packages -they have written are unique for an MD code and LAMMPS would not be as -general-purpose as it is without their expertise and efforts. - -Metin Aktulga (MSU), USER-REAXC package for C version of ReaxFF -Mike Brown (Intel), GPU and USER-INTEL packages -Colin Denniston (U Western Ontario), USER-LB package -Georg Ganzenmuller (EMI), USER-SMD and USER-SPH packages -Andres Jaramillo-Botero (Caltech), USER-EFF package for electron force field -Reese Jones (Sandia) and colleagues, USER-ATC package for atom/continuum coupling -Christoph Kloss (DCS Computing), LIGGGHTS code for granular materials, built on top of LAMMPS -Rudra Mukherjee (JPL), POEMS package for articulated rigid body motion -Trung Ngyuen (Northwestern U), GPU and RIGID and BODY packages -Mike Parks (Sandia), PERI package for Peridynamics -Roy Pollock (LLNL), Ewald and PPPM solvers -Christian Trott (Sandia), USER-CUDA and KOKKOS packages -Ilya Valuev (JIHT), USER-AWPMD package for wave packet MD -Greg Wagner (Northwestern U), MEAM package for MEAM potential :ul - -:line - -As discussed on the "History -page"_http://lammps.sandia.gov/history.html of the website, LAMMPS -originated as a cooperative project between DOE labs and industrial -partners. Folks involved in the design and testing of the original -version of LAMMPS were the following: - -John Carpenter (Mayo Clinic, formerly at Cray Research) -Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb) -Steve Lustig (Dupont) -Jim Belak and Roy Pollock (LLNL) :ul - diff --git a/doc/txt/Intro_features.txt b/doc/txt/Intro_features.txt deleted file mode 100644 index d133fd80644b7626d0f56eb9c980c9f39fb2f8df..0000000000000000000000000000000000000000 --- a/doc/txt/Intro_features.txt +++ /dev/null @@ -1,202 +0,0 @@ -"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -LAMMPS features :h3 - -LAMMPS is a classical molecular dynamics (MD) code with these general -classes of functionality: - -"General features"_#general -"Particle and model types"_#particle -"Interatomic potentials (force fields)"_#ff -"Atom creation"_#create -"Ensembles, constraints, and boundary conditions"_#ensemble -"Integrators"_#integrate -"Diagnostics"_#diag -"Output"_#output -"Multi-replica models"_#replica1 -"Pre- and post-processing"_#prepost -"Specialized features (beyond MD itself)"_#special :ul - -:line - -General features :h4,link(general) - - runs on a single processor or in parallel - distributed-memory message-passing parallelism (MPI) - spatial-decomposition of simulation domain for parallelism - open-source distribution - highly portable C++ - optional libraries used: MPI and single-processor FFT - GPU (CUDA and OpenCL), Intel Xeon Phi, and OpenMP support for many code features - easy to extend with new features and functionality - runs from an input script - syntax for defining and using variables and formulas - syntax for looping over runs and breaking out of loops - run one or multiple simulations simultaneously (in parallel) from one script - build as library, invoke LAMMPS through library interface or provided Python wrapper - couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul - -Particle and model types :h4,link(particle) -("atom style"_atom_style.html command) - - atoms - coarse-grained particles (e.g. bead-spring polymers) - united-atom polymers or organic molecules - all-atom polymers, organic molecules, proteins, DNA - metals - granular materials - coarse-grained mesoscale models - finite-size spherical and ellipsoidal particles - finite-size line segment (2d) and triangle (3d) particles - point dipole particles - rigid collections of particles - hybrid combinations of these :ul - -Interatomic potentials (force fields) :h4,link(ff) -("pair style"_pair_style.html, "bond style"_bond_style.html, -"angle style"_angle_style.html, "dihedral style"_dihedral_style.html, -"improper style"_improper_style.html, "kspace style"_kspace_style.html -commands) - - pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, \ - Yukawa, soft, class 2 (COMPASS), hydrogen bond, tabulated - charged pairwise potentials: Coulombic, point-dipole - many-body potentials: EAM, Finnis/Sinclair EAM, modified EAM (MEAM), \ - embedded ion method (EIM), EDIP, ADP, Stillinger-Weber, Tersoff, \ - REBO, AIREBO, ReaxFF, COMB, SNAP, Streitz-Mintmire, 3-body polymorphic - long-range interactions for charge, point-dipoles, and LJ dispersion: \ - Ewald, Wolf, PPPM (similar to particle-mesh Ewald) - polarization models: "QEq"_fix_qeq.html, \ - "core/shell model"_Howto_coreshell.html, \ - "Drude dipole model"_Howto_drude.html - charge equilibration (QEq via dynamic, point, shielded, Slater methods) - coarse-grained potentials: DPD, GayBerne, REsquared, colloidal, DLVO - mesoscopic potentials: granular, Peridynamics, SPH - electron force field (eFF, AWPMD) - bond potentials: harmonic, FENE, Morse, nonlinear, class 2, \ - quartic (breakable) - angle potentials: harmonic, CHARMM, cosine, cosine/squared, cosine/periodic, \ - class 2 (COMPASS) - dihedral potentials: harmonic, CHARMM, multi-harmonic, helix, \ - class 2 (COMPASS), OPLS - improper potentials: harmonic, cvff, umbrella, class 2 (COMPASS) - polymer potentials: all-atom, united-atom, bead-spring, breakable - water potentials: TIP3P, TIP4P, SPC - implicit solvent potentials: hydrodynamic lubrication, Debye - force-field compatibility with common CHARMM, AMBER, DREIDING, \ - OPLS, GROMACS, COMPASS options - access to the "OpenKIM Repository"_http://openkim.org of potentials via \ - "kim_init, kim_interactions, and kim_query"_kim_commands.html commands - hybrid potentials: multiple pair, bond, angle, dihedral, improper \ - potentials can be used in one simulation - overlaid potentials: superposition of multiple pair potentials :ul - -Atom creation :h4,link(create) -("read_data"_read_data.html, "lattice"_lattice.html, -"create_atoms"_create_atoms.html, "delete_atoms"_delete_atoms.html, -"displace_atoms"_displace_atoms.html, "replicate"_replicate.html commands) - - read in atom coords from files - create atoms on one or more lattices (e.g. grain boundaries) - delete geometric or logical groups of atoms (e.g. voids) - replicate existing atoms multiple times - displace atoms :ul - -Ensembles, constraints, and boundary conditions :h4,link(ensemble) -("fix"_fix.html command) - - 2d or 3d systems - orthogonal or non-orthogonal (triclinic symmetry) simulation domains - constant NVE, NVT, NPT, NPH, Parrinello/Rahman integrators - thermostatting options for groups and geometric regions of atoms - pressure control via Nose/Hoover or Berendsen barostatting in 1 to 3 dimensions - simulation box deformation (tensile and shear) - harmonic (umbrella) constraint forces - rigid body constraints - SHAKE bond and angle constraints - Monte Carlo bond breaking, formation, swapping - atom/molecule insertion and deletion - walls of various kinds - non-equilibrium molecular dynamics (NEMD) - variety of additional boundary conditions and constraints :ul - -Integrators :h4,link(integrate) -("run"_run.html, "run_style"_run_style.html, "minimize"_minimize.html commands) - - velocity-Verlet integrator - Brownian dynamics - rigid body integration - energy minimization via conjugate gradient or steepest descent relaxation - rRESPA hierarchical timestepping - rerun command for post-processing of dump files :ul - -Diagnostics :h4,link(diag) - - see various flavors of the "fix"_fix.html and "compute"_compute.html commands :ul - -Output :h4,link(output) -("dump"_dump.html, "restart"_restart.html commands) - - log file of thermodynamic info - text dump files of atom coords, velocities, other per-atom quantities - binary restart files - parallel I/O of dump and restart files - per-atom quantities (energy, stress, centro-symmetry parameter, CNA, etc) - user-defined system-wide (log file) or per-atom (dump file) calculations - spatial and time averaging of per-atom quantities - time averaging of system-wide quantities - atom snapshots in native, XYZ, XTC, DCD, CFG formats :ul - -Multi-replica models :h4,link(replica1) - -"nudged elastic band"_neb.html -"parallel replica dynamics"_prd.html -"temperature accelerated dynamics"_tad.html -"parallel tempering"_temper.html :ul - -Pre- and post-processing :h4,link(prepost) - -A handful of pre- and post-processing tools are packaged with LAMMPS, -some of which can convert input and output files to/from formats used -by other codes; see the "Toos"_Tools.html doc page. :ulb,l - -Our group has also written and released a separate toolkit called -"Pizza.py"_pizza which provides tools for doing setup, analysis, -plotting, and visualization for LAMMPS simulations. Pizza.py is -written in "Python"_python and is available for download from "the -Pizza.py WWW site"_pizza. :l,ule - -:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) -:link(python,http://www.python.org) - -Specialized features :h4,link(special) - -LAMMPS can be built with optional packages which implement a variety -of additional capabilities. See the "Packages"_Packages.html doc -page for details. - -These are LAMMPS capabilities which you may not think of as typical -classical MD options: - -"static"_balance.html and "dynamic load-balancing"_fix_balance.html -"generalized aspherical particles"_Howto_body.html -"stochastic rotation dynamics (SRD)"_fix_srd.html -"real-time visualization and interactive MD"_fix_imd.html -calculate "virtual diffraction patterns"_compute_xrd.html -"atom-to-continuum coupling"_fix_atc.html with finite elements -coupled rigid body integration via the "POEMS"_fix_poems.html library -"QM/MM coupling"_fix_qmmm.html -Monte Carlo via "GCMC"_fix_gcmc.html and "tfMC"_fix_tfmc.html and "atom swapping"_fix_atom_swap.html -"path-integral molecular dynamics (PIMD)"_fix_ipi.html and "this as well"_fix_pimd.html -"Direct Simulation Monte Carlo"_pair_dsmc.html for low-density fluids -"Peridynamics mesoscale modeling"_pair_peri.html -"Lattice Boltzmann fluid"_fix_lb_fluid.html -"targeted"_fix_tmd.html and "steered"_fix_smd.html molecular dynamics -"two-temperature electron model"_fix_ttm.html :ul diff --git a/doc/txt/Intro_nonfeatures.txt b/doc/txt/Intro_nonfeatures.txt deleted file mode 100644 index 22e827bb2d75d2d6804fdeaf4f71ac8bb2d8f5a7..0000000000000000000000000000000000000000 --- a/doc/txt/Intro_nonfeatures.txt +++ /dev/null @@ -1,100 +0,0 @@ -"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -LAMMPS non-features :h3 - -LAMMPS is designed to be a fast, parallel engine for molecular -dynamics (MD) simulations. It provides only a modest amount of -functionality for setting up simulations and analyzing their output. - -Specifically, LAMMPS was not conceived and designed for: - -being run through a GUI -building molecular systems, or building molecular topologies -assign force-field coefficients automagically -perform sophisticated analysis of your MD simulation -visualize your MD simulation interactively -plot your output data :ul - -Although over the years these limitations have been somewhat -reduced through features added to LAMMPS or external tools -that either closely interface with LAMMPS or extend LAMMPS. - -Here are suggestions on how to perform these tasks: - -[GUI:] LAMMPS can be built as a library and a Python wrapper that wraps -the library interface is provided. Thus, GUI interfaces can be -written in Python (or C or C++ if desired) that run LAMMPS and -visualize or plot its output. Examples of this are provided in the -python directory and described on the "Python"_Python_head.html doc -page. Also, there are several external wrappers or GUI front ends. :ulb,l - -[Builder:] Several pre-processing tools are packaged with LAMMPS. Some -of them convert input files in formats produced by other MD codes such -as CHARMM, AMBER, or Insight into LAMMPS input formats. Some of them -are simple programs that will build simple molecular systems, such as -linear bead-spring polymer chains. The moltemplate program is a true -molecular builder that will generate complex molecular models. See -the "Tools"_Tools.html doc page for details on tools packaged with -LAMMPS. The "Pre/post processing -page"_http:/lammps.sandia.gov/prepost.html of the LAMMPS website -describes a variety of 3rd party tools for this task. Furthermore, -some LAMMPS internal commands allow to reconstruct, or selectively add -topology information, as well as provide the option to insert molecule -templates instead of atoms for building bulk molecular systems. :l - -[Force-field assignment:] The conversion tools described in the previous -bullet for CHARMM, AMBER, and Insight will also assign force field -coefficients in the LAMMPS format, assuming you provide CHARMM, AMBER, -or BIOVIA (formerly Accelrys) force field files. The tools -"ParmEd"_https://parmed.github.io/ParmEd/html/index.html and -"InterMol"_https://github.com/shirtsgroup/InterMol are particularly -powerful and flexible in converting force field and topology data -between various MD simulation programs. :l - -[Simulation analysis:] If you want to perform analysis on-the-fly as -your simulation runs, see the "compute"_compute.html and -"fix"_fix.html doc pages, which list commands that can be used in a -LAMMPS input script. Also see the "Modify"_Modify.html doc page for -info on how to add your own analysis code or algorithms to LAMMPS. -For post-processing, LAMMPS output such as "dump file -snapshots"_dump.html can be converted into formats used by other MD or -post-processing codes. To some degree, that conversion can be done -directly inside of LAMMPS by interfacing to the VMD molfile plugins. -The "rerun"_rerun.html command also allows to do some post-processing -of existing trajectories, and through being able to read a variety -of file formats, this can also be used for analyzing trajectories -from other MD codes. Some post-processing tools packaged with -LAMMPS will do these conversions. Scripts provided in the -tools/python directory can extract and massage data in dump files to -make it easier to import into other programs. See the -"Tools"_Tools.html doc page for details on these various options. :l - -[Visualization:] LAMMPS can produce NETPBM, JPG or PNG snapshot images -on-the-fly via its "dump image"_dump_image.html command and pass -them to an external program, "FFmpeg"_https://www.ffmpeg.org to generate -movies from them. For high-quality, interactive visualization there are -many excellent and free tools available. See the "Other Codes -page"_http://lammps.sandia.gov/viz.html page of the LAMMPS website for -visualization packages that can use LAMMPS output data. :l - -[Plotting:] See the next bullet about Pizza.py as well as the -"Python"_Python_head.html doc page for examples of plotting LAMMPS -output. Scripts provided with the {python} tool in the tools -directory will extract and massage data in log and dump files to make -it easier to analyze and plot. See the "Tools"_Tools.html doc page -for more discussion of the various tools. :l - -[Pizza.py:] Our group has also written a separate toolkit called -"Pizza.py"_http://pizza.sandia.gov which can do certain kinds of -setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS -simulations. It thus provides some functionality for several of the -above bullets. Pizza.py is written in "Python"_http://www.python.org -and is available for download from "this -page"_http://www.cs.sandia.gov/~sjplimp/download.html. :l,ule diff --git a/doc/txt/Intro_opensource.txt b/doc/txt/Intro_opensource.txt deleted file mode 100644 index e0d57f7ce199b35ffa8abab06e9e0217b3a54304..0000000000000000000000000000000000000000 --- a/doc/txt/Intro_opensource.txt +++ /dev/null @@ -1,44 +0,0 @@ -"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -LAMMPS open-source license :h3 - -LAMMPS is a freely-available open-source code, distributed under the -terms of the "GNU Public License"_gnu, which means you can use or -modify the code however you wish. - -LAMMPS comes with no warranty of any kind. As each source file states -in its header, it is a copyrighted code that is distributed free-of- -charge, under the terms of the "GNU Public License"_gnu (GPL). This -is often referred to as open-source distribution - see -"www.gnu.org"_gnuorg or "www.opensource.org"_opensource. The legal -text of the GPL is in the LICENSE file included in the LAMMPS -distribution. - -:link(gnu,http://www.gnu.org/copyleft/gpl.html) -:link(gnuorg,http://www.gnu.org) -:link(opensource,http://www.opensource.org) - -Here is a summary of what the GPL means for LAMMPS users: - -(1) Anyone is free to use, modify, or extend LAMMPS in any way they -choose, including for commercial purposes. - -(2) If you distribute a modified version of LAMMPS, it must remain -open-source, meaning you distribute it under the terms of the GPL. -You should clearly annotate such a code as a derivative version of -LAMMPS. - -(3) If you release any code that includes LAMMPS source code, then it -must also be open-sourced, meaning you distribute it under the terms -of the GPL. - -(4) If you give LAMMPS files to someone else, the GPL LICENSE file and -source file headers (including the copyright and GPL notices) should -remain part of the code. diff --git a/doc/txt/Intro_overview.txt b/doc/txt/Intro_overview.txt deleted file mode 100644 index cd822c778f29db10193966d27b7f7f0cada6392d..0000000000000000000000000000000000000000 --- a/doc/txt/Intro_overview.txt +++ /dev/null @@ -1,58 +0,0 @@ -"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Overview of LAMMPS :h3 - -LAMMPS is a classical molecular dynamics (MD) code that models -ensembles of particles in a liquid, solid, or gaseous state. It can -model atomic, polymeric, biological, solid-state (metals, ceramics, -oxides), granular, coarse-grained, or macroscopic systems using a -variety of interatomic potentials (force fields) and boundary -conditions. It can model 2d or 3d systems with only a few particles -up to millions or billions. - -LAMMPS can be built and run on a laptop or desktop machine, but is -designed for parallel computers. It will run on any parallel machine -that supports the "MPI"_mpi message-passing library. This includes -shared-memory boxes and distributed-memory clusters and -supercomputers. - -:link(mpi,http://www-unix.mcs.anl.gov/mpi) - -LAMMPS is written in C++. Earlier versions were written in F77 and -F90. See the "History page"_http://lammps.sandia.gov/history.html of -the website for details. All versions can be downloaded from the -"LAMMPS website"_lws. - -LAMMPS is designed to be easy to modify or extend with new -capabilities, such as new force fields, atom types, boundary -conditions, or diagnostics. See the "Modify"_Modify.html doc page for -more details. - -In the most general sense, LAMMPS integrates Newton's equations of -motion for a collection of interacting particles. A single particle -can be an atom or molecule or electron, a coarse-grained cluster of -atoms, or a mesoscopic or macroscopic clump of material. The -interaction models that LAMMPS includes are mostly short-range in -nature; some long-range models are included as well. - -LAMMPS uses neighbor lists to keep track of nearby particles. The -lists are optimized for systems with particles that are repulsive at -short distances, so that the local density of particles never becomes -too large. This is in contrast to methods used for modeling plasma -or gravitational bodies (e.g. galaxy formation). - -On parallel machines, LAMMPS uses spatial-decomposition techniques to -partition the simulation domain into small sub-domains of equal -computational cost, one of which is assigned to each processor. -Processors communicate and store "ghost" atom information for atoms -that border their sub-domain. - - - diff --git a/doc/txt/Intro_website.txt b/doc/txt/Intro_website.txt deleted file mode 100644 index a8af94157ceb9545be2c6ddd22bcb928115b63d8..0000000000000000000000000000000000000000 --- a/doc/txt/Intro_website.txt +++ /dev/null @@ -1,42 +0,0 @@ -"Higher level section"_Intro.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Additional website links :h3 - -The "LAMMPS website"_lws has a variety of additional info about -LAMMPS, beyond what is in this manual. Some of the other pages in -this Intr are included in this list. - -"Brief intro and recently added significant features"_lws -"List of features"_http://lammps.sandia.gov/features.html -"List of non-features"_http://lammps.sandia.gov/non_features.html -"Recent bug fixes and new features"_http://lammps.sandia.gov/bug.html :ul - -"Download info"_http://lammps.sandia.gov/download.html -"GitHub site"_https://github.com/lammps/lammps -"SourceForge site"_https://sourceforge.net/projects/lammps -"LAMMPS open-source license"_http://lammps.sandia.gov/open_source.html :ul - -"Glossary of MD terms relevant to LAMMPS"_http://lammps.sandia.gov/glossary.html -"LAMMPS highlights with images"_http://lammps.sandia.gov/pictures.html -"LAMMPS highlights with movies"_http://lammps.sandia.gov/movies.html -"Mail list"_http://lammps.sandia.gov/mail.html -"Workshops"_http://lammps.sandia.gov/workshops.html -"Tutorials"_http://lammps.sandia.gov/tutorials.html -"Developer guide"_http://lammps.sandia.gov/Developer.pdf :ul - -"Pre- and post-processing tools for LAMMPS"_http://lammps.sandia.gov/prepost.html -"Other software usable with LAMMPS"_http://lammps.sandia.gov/offsite.html -"Viz tools usable with LAMMPS"_http://lammps.sandia.gov/viz.html :ul - -"Benchmark performance"_http://lammps.sandia.gov/bench.html -"Publications that have cited LAMMPS"_http://lammps.sandia.gov/papers.html -"Authors of LAMMPS"_http://lammps.sandia.gov/authors.html -"History of LAMMPS development"_http://lammps.sandia.gov/history.html -"Funding for LAMMPS"_http://lammps.sandia.gov/funding.html :ul diff --git a/doc/txt/Manual_version.txt b/doc/txt/Manual_version.txt deleted file mode 100644 index 436e531246053144e26cff63e37920c7069fd7d6..0000000000000000000000000000000000000000 --- a/doc/txt/Manual_version.txt +++ /dev/null @@ -1,33 +0,0 @@ -"Higher level section"_Manual.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -What does a LAMMPS version mean :h3 - -The LAMMPS "version" is the date when it was released, such as 1 May -2014. LAMMPS is updated continuously. Whenever we fix a bug or add a -feature, we release it in the next {patch} release, which are -typically made every couple of weeks. Info on patch releases are on -"this website page"_http://lammps.sandia.gov/bug.html. Every few -months, the latest patch release is subjected to more thorough testing -and labeled as a {stable} version. - -Each version of LAMMPS contains all the features and bug-fixes up to -and including its version date. - -The version date is printed to the screen and logfile every time you -run LAMMPS. It is also in the file src/version.h and in the LAMMPS -directory name created when you unpack a tarball. And it is on the -first page of the "manual"_Manual.html. - -If you browse the HTML doc pages on the LAMMPS WWW site, they always -describe the most current patch release of LAMMPS. :ulb,l - -If you browse the HTML doc pages included in your tarball, they -describe the version you have, which may be older. :l,ule - diff --git a/doc/txt/Modify.txt b/doc/txt/Modify.txt deleted file mode 100644 index 38fbf17dd918304e3e8eb9a59df790eaba3c12ae..0000000000000000000000000000000000000000 --- a/doc/txt/Modify.txt +++ /dev/null @@ -1,70 +0,0 @@ -"Previous Section"_Tools.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Python_head.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Modify & extend LAMMPS :h2 - -LAMMPS is designed in a modular fashion so as to be easy to modify and -extend with new functionality. In fact, about 95% of its source code -is add-on files. These doc pages give basic instructions on how to do -this. - -If you add a new feature to LAMMPS and think it will be of interest to -general users, we encourage you to submit it for inclusion in LAMMPS -as a pull request on our "GitHub -site"_https://github.com/lammps/lammps, after reading the "Modify -contribute"_Modify_contribute.html doc page. - - - - - -"Overview"_Modify_overview.html -"Submitting new features for inclusion in LAMMPS"_Modify_contribute.html :all(b) - -"Atom styles"_Modify_atom.html -"Pair styles"_Modify_pair.html -"Bond, angle, dihedral, improper styles"_Modify_bond.html -"Compute styles"_Modify_compute.html -"Fix styles"_Modify_fix.html -"Input script command styles"_Modify_command.html -"Dump styles"_Modify_dump.html -"Kspace styles"_Modify_kspace.html -"Minimization styles"_Modify_min.html -"Region styles"_Modify_region.html -"Body styles"_Modify_body.html -"Thermodynamic output options"_Modify_thermo.html -"Variable options"_Modify_variable.html :all(b) - - diff --git a/doc/txt/Modify_atom.txt b/doc/txt/Modify_atom.txt deleted file mode 100644 index 60c7dccb29a38e4c628752f87c58a84532eb7c24..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_atom.txt +++ /dev/null @@ -1,90 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Atom styles :h3 - -Classes that define an "atom style"_atom_style.html are derived from -the AtomVec class and managed by the Atom class. The atom style -determines what attributes are associated with an atom. A new atom -style can be created if one of the existing atom styles does not -define all the attributes you need to store and communicate with -atoms. - -Atom_vec_atomic.cpp is a simple example of an atom style. - -Here is a brief description of methods you define in your new derived -class. See atom_vec.h for details. - -init: one time setup (optional) -grow: re-allocate atom arrays to longer lengths (required) -grow_reset: make array pointers in Atom and AtomVec classes consistent (required) -copy: copy info for one atom to another atom's array locations (required) -pack_comm: store an atom's info in a buffer communicated every timestep (required) -pack_comm_vel: add velocity info to communication buffer (required) -pack_comm_hybrid: store extra info unique to this atom style (optional) -unpack_comm: retrieve an atom's info from the buffer (required) -unpack_comm_vel: also retrieve velocity info (required) -unpack_comm_hybrid: retrieve extra info unique to this atom style (optional) -pack_reverse: store an atom's info in a buffer communicating partial forces (required) -pack_reverse_hybrid: store extra info unique to this atom style (optional) -unpack_reverse: retrieve an atom's info from the buffer (required) -unpack_reverse_hybrid: retrieve extra info unique to this atom style (optional) -pack_border: store an atom's info in a buffer communicated on neighbor re-builds (required) -pack_border_vel: add velocity info to buffer (required) -pack_border_hybrid: store extra info unique to this atom style (optional) -unpack_border: retrieve an atom's info from the buffer (required) -unpack_border_vel: also retrieve velocity info (required) -unpack_border_hybrid: retrieve extra info unique to this atom style (optional) -pack_exchange: store all an atom's info to migrate to another processor (required) -unpack_exchange: retrieve an atom's info from the buffer (required) -size_restart: number of restart quantities associated with proc's atoms (required) -pack_restart: pack atom quantities into a buffer (required) -unpack_restart: unpack atom quantities from a buffer (required) -create_atom: create an individual atom of this style (required) -data_atom: parse an atom line from the data file (required) -data_atom_hybrid: parse additional atom info unique to this atom style (optional) -data_vel: parse one line of velocity information from data file (optional) -data_vel_hybrid: parse additional velocity data unique to this atom style (optional) -memory_usage: tally memory allocated by atom arrays (required) :tb(s=:) - -The constructor of the derived class sets values for several variables -that you must set when defining a new atom style, which are documented -in atom_vec.h. New atom arrays are defined in atom.cpp. Search for -the word "customize" and you will find locations you will need to -modify. - -NOTE: It is possible to add some attributes, such as a molecule ID, to -atom styles that do not have them via the "fix -property/atom"_fix_property_atom.html command. This command also -allows new custom attributes consisting of extra integer or -floating-point values to be added to atoms. See the "fix -property/atom"_fix_property_atom.html doc page for examples of cases -where this is useful and details on how to initialize, access, and -output the custom values. - -New "pair styles"_pair_style.html, "fixes"_fix.html, or -"computes"_compute.html can be added to LAMMPS, as discussed below. -The code for these classes can use the per-atom properties defined by -fix property/atom. The Atom class has a find_custom() method that is -useful in this context: - -int index = atom->find_custom(char *name, int &flag); :pre - -The "name" of a custom attribute, as specified in the "fix -property/atom"_fix_property_atom.html command, is checked to verify -that it exists and its index is returned. The method also sets flag = -0/1 depending on whether it is an integer or floating-point attribute. -The vector of values associated with the attribute can then be -accessed using the returned index as - -int *ivector = atom->ivector\[index\]; -double *dvector = atom->dvector\[index\]; :pre - -Ivector or dvector are vectors of length Nlocal = # of owned atoms, -which store the attributes of individual atoms. diff --git a/doc/txt/Modify_body.txt b/doc/txt/Modify_body.txt deleted file mode 100644 index 0114ae10c885c2cbd78cd1d2067ad2751ac997fd..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_body.txt +++ /dev/null @@ -1,34 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Body styles :h3 - -Classes that define body particles are derived from the Body class. -Body particles can represent complex entities, such as surface meshes -of discrete points, collections of sub-particles, deformable objects, -etc. - -See the "Howto body"_Howto_body.html doc page for an overview of using -body particles and the various body styles LAMMPS supports. New -styles can be created to add new kinds of body particles to LAMMPS. - -Body_nparticle.cpp is an example of a body particle that is treated as -a rigid body containing N sub-particles. - -Here is a brief description of methods you define in your new derived -class. See body.h for details. - -data_body: process a line from the Bodies section of a data file -noutrow: number of sub-particles output is generated for -noutcol: number of values per-sub-particle output is generated for -output: output values for the Mth sub-particle -pack_comm_body: body attributes to communicate every timestep -unpack_comm_body: unpacking of those attributes -pack_border_body: body attributes to communicate when reneighboring is done -unpack_border_body: unpacking of those attributes :tb(s=:) diff --git a/doc/txt/Modify_bond.txt b/doc/txt/Modify_bond.txt deleted file mode 100644 index 7ceea3f910121c4191b27cd0aaa8256e421281e3..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_bond.txt +++ /dev/null @@ -1,33 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Bond, angle, dihedral, improper styles :h3 - -Classes that compute molecular interactions are derived from the Bond, -Angle, Dihedral, and Improper classes. New styles can be created to -add new potentials to LAMMPS. - -Bond_harmonic.cpp is the simplest example of a bond style. Ditto for -the harmonic forms of the angle, dihedral, and improper style -commands. - -Here is a brief description of common methods you define in your -new derived class. See bond.h, angle.h, dihedral.h, and improper.h -for details and specific additional methods. - -init: check if all coefficients are set, calls {init_style} (optional) -init_style: check if style specific conditions are met (optional) -compute: compute the molecular interactions (required) -settings: apply global settings for all types (optional) -coeff: set coefficients for one type (required) -equilibrium_distance: length of bond, used by SHAKE (required, bond only) -equilibrium_angle: opening of angle, used by SHAKE (required, angle only) -write & read_restart: writes/reads coeffs to restart files (required) -single: force and energy of a single bond or angle (required, bond or angle only) -memory_usage: tally memory allocated by the style (optional) :tb(s=:) diff --git a/doc/txt/Modify_command.txt b/doc/txt/Modify_command.txt deleted file mode 100644 index 4576f6c8067684ca95b94b7ae022ec0df6166f76..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_command.txt +++ /dev/null @@ -1,27 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Input script command style :h3 - -New commands can be added to LAMMPS input scripts by adding new -classes that have a "command" method. For example, the create_atoms, -read_data, velocity, and run commands are all implemented in this -fashion. When such a command is encountered in the LAMMPS input -script, LAMMPS simply creates a class with the corresponding name, -invokes the "command" method of the class, and passes it the arguments -from the input script. The command method can perform whatever -operations it wishes on LAMMPS data structures. - -The single method your new class must define is as follows: - -command: operations performed by the new command :tb(s=:) - -Of course, the new class can define other methods and variables as -needed. - diff --git a/doc/txt/Modify_compute.txt b/doc/txt/Modify_compute.txt deleted file mode 100644 index 2f6481dbd5be934fd8dcfa7f1abed50bd57cc3c3..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_compute.txt +++ /dev/null @@ -1,49 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Compute styles :h3 - -Classes that compute scalar and vector quantities like temperature -and the pressure tensor, as well as classes that compute per-atom -quantities like kinetic energy and the centro-symmetry parameter -are derived from the Compute class. New styles can be created -to add new calculations to LAMMPS. - -Compute_temp.cpp is a simple example of computing a scalar -temperature. Compute_ke_atom.cpp is a simple example of computing -per-atom kinetic energy. - -Here is a brief description of methods you define in your new derived -class. See compute.h for details. - -init: perform one time setup (required) -init_list: neighbor list setup, if needed (optional) -compute_scalar: compute a scalar quantity (optional) -compute_vector: compute a vector of quantities (optional) -compute_peratom: compute one or more quantities per atom (optional) -compute_local: compute one or more quantities per processor (optional) -pack_comm: pack a buffer with items to communicate (optional) -unpack_comm: unpack the buffer (optional) -pack_reverse: pack a buffer with items to reverse communicate (optional) -unpack_reverse: unpack the buffer (optional) -remove_bias: remove velocity bias from one atom (optional) -remove_bias_all: remove velocity bias from all atoms in group (optional) -restore_bias: restore velocity bias for one atom after remove_bias (optional) -restore_bias_all: same as before, but for all atoms in group (optional) -pair_tally_callback: callback function for {tally}-style computes (optional). -memory_usage: tally memory usage (optional) :tb(s=:) - -Tally-style computes are a special case, as their computation is done -in two stages: the callback function is registered with the pair style -and then called from the Pair::ev_tally() function, which is called for -each pair after force and energy has been computed for this pair. Then -the tallied values are retrieved with the standard compute_scalar or -compute_vector or compute_peratom methods. The USER-TALLY package -provides {examples}_compute_tally.html for utilizing this mechanism. - diff --git a/doc/txt/Modify_contribute.txt b/doc/txt/Modify_contribute.txt deleted file mode 100644 index 31d459de1a2fd3a7a335635f3a4b34ee78388694..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_contribute.txt +++ /dev/null @@ -1,216 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Submitting new features for inclusion in LAMMPS :h3 - -We encourage users to submit new features or modifications for LAMMPS -to "the core developers"_http://lammps.sandia.gov/authors.html so they -can be added to the LAMMPS distribution. The preferred way to manage -and coordinate this is as of Fall 2016 via the LAMMPS project on -"GitHub"_https://github.com/lammps/lammps. An alternative is to -contact the LAMMPS developers or the indicated developer of a package -or feature directly and send in your contribution via e-mail. - -For any larger modifications or programming project, you are -encouraged to contact the LAMMPS developers ahead of time, in order to -discuss implementation strategies and coding guidelines, that will -make it easier to integrate your contribution and result in less work -for everybody involved. You are also encouraged to search through the -list of "open issues on -GitHub"_https://github.com/lammps/lammps/issues and submit a new issue -for a planned feature, so you would not duplicate the work of others -(and possibly get scooped by them) or have your work duplicated by -others. - -How quickly your contribution will be integrated depends largely on -how much effort it will cause to integrate and test it, how much it -requires changes to the core codebase, and of how much interest it is -to the larger LAMMPS community. Please see below for a checklist of -typical requirements. Once you have prepared everything, see the -"Using GitHub with LAMMPS Howto"_Howto_github.html doc page for instructions on how to -submit your changes or new files through a GitHub pull request. If you -prefer to submit patches or full files, you should first make certain, -that your code works correctly with the latest patch-level version of -LAMMPS and contains all bug fixes from it. Then create a gzipped tar -file of all changed or added files or a corresponding patch file using -'diff -u' or 'diff -c' and compress it with gzip. Please only use gzip -compression, as this works well on all platforms. - -If the new features/files are broadly useful we may add them as core -files to LAMMPS or as part of a "standard -package"_Packages_standard.html. Else we will add them as a -user-contributed file or "user package"_Packages_user.html. Examples -of user packages are in src sub-directories that start with USER. The -USER-MISC package is simply a collection of (mostly) unrelated single -files, which is the simplest way to have your contribution quickly -added to the LAMMPS distribution. All the standard and user packages -are listed and described on the "Packages -details"_Packages_details.html doc page. - -Note that by providing us files to release, you are agreeing to make -them open-source, i.e. we can release them under the terms of the GPL, -used as a license for the rest of LAMMPS. See the "Open -source"_http://lammps.sandia.gov/open_source.html page on the LAMMPS -website for details. - -With user packages and files, all we are really providing (aside from -the fame and fortune that accompanies having your name in the source -code and on the "Authors page"_http://lammps.sandia.gov/authors.html -of the "LAMMPS WWW site"_lws), is a means for you to distribute your -work to the LAMMPS user community, and a mechanism for others to -easily try out your new feature. This may help you find bugs or make -contact with new collaborators. Note that you're also implicitly -agreeing to support your code which means answer questions, fix bugs, -and maintain it if LAMMPS changes in some way that breaks it (an -unusual event). - -NOTE: If you prefer to actively develop and support your add-on -feature yourself, then you may wish to make it available for download -from your own website, as a user package that LAMMPS users can add to -their copy of LAMMPS. See the "Offsite LAMMPS packages and -tools"_http://lammps.sandia.gov/offsite.html page of the LAMMPS web -site for examples of groups that do this. We are happy to advertise -your package and web site from that page. Simply email the -"developers"_http://lammps.sandia.gov/authors.html with info about -your package and we will post it there. - -The previous sections of this doc page describe how to add new "style" -files of various kinds to LAMMPS. Packages are simply collections of -one or more new class files which are invoked as a new style within a -LAMMPS input script. If designed correctly, these additions typically -do not require changes to the main core of LAMMPS; they are simply -add-on files. If you think your new feature requires non-trivial -changes in core LAMMPS files, you'll need to "communicate with the -developers"_http://lammps.sandia.gov/authors.html, since we may or may -not want to make those changes. An example of a trivial change is -making a parent-class method "virtual" when you derive a new child -class from it. - -Here is a checklist of steps you need to follow to submit a single file -or user package for our consideration. Following these steps will save -both you and us time. See existing files in packages in the src dir for -examples. If you are uncertain, please ask. - -All source files you provide must compile with the most current -version of LAMMPS with multiple configurations. In particular you -need to test compiling LAMMPS from scratch with -DLAMMPS_BIGBIG -set in addition to the default -DLAMMPS_SMALLBIG setting. Your code -will need to work correctly in serial and in parallel using MPI. :ulb,l - -For consistency with the rest of LAMMPS and especially, if you want -your contribution(s) to be added to main LAMMPS code or one of its -standard packages, it needs to be written in a style compatible with -other LAMMPS source files. This means: 2-character indentation per -level, [no tabs], no lines over 80 characters. I/O is done via -the C-style stdio library (mixing of stdio and iostreams is generally -discouraged), class header files should not import any system headers -outside of , STL containers should be avoided in headers, -system header from the C library should use the C++-style names -(, , or ) instead of the C-style names -, , or ), and forward declarations -used where possible or needed to avoid including headers. -All added code should be placed into the LAMMPS_NS namespace or a -sub-namespace; global or static variables should be avoided, as they -conflict with the modular nature of LAMMPS and the C++ class structure. -Header files must [not] import namespaces with {using}. -This all is so the developers can more easily understand, integrate, -and maintain your contribution and reduce conflicts with other parts -of LAMMPS. This basically means that the code accesses data -structures, performs its operations, and is formatted similar to other -LAMMPS source files, including the use of the error class for error -and warning messages. :l - -If you want your contribution to be added as a user-contributed -feature, and it's a single file (actually a *.cpp and *.h file) it can -rapidly be added to the USER-MISC directory. Send us the one-line -entry to add to the USER-MISC/README file in that dir, along with the -2 source files. You can do this multiple times if you wish to -contribute several individual features. :l - -If you want your contribution to be added as a user-contribution and -it is several related features, it is probably best to make it a user -package directory with a name like USER-FOO. In addition to your new -files, the directory should contain a README text file. The README -should contain your name and contact information and a brief -description of what your new package does. If your files depend on -other LAMMPS style files also being installed (e.g. because your file -is a derived class from the other LAMMPS class), then an Install.sh -file is also needed to check for those dependencies. See other README -and Install.sh files in other USER directories as examples. Send us a -tarball of this USER-FOO directory. :l - -Your new source files need to have the LAMMPS copyright, GPL notice, -and your name and email address at the top, like other -user-contributed LAMMPS source files. They need to create a class -that is inside the LAMMPS namespace. If the file is for one of the - -USER packages, including USER-MISC, then we are not as picky about the -coding style (see above). I.e. the files do not need to be in the -same stylistic format and syntax as other LAMMPS files, though that -would be nice for developers as well as users who try to read your -code. :l - -You [must] also create a [documentation] file for each new command or -style you are adding to LAMMPS. For simplicity and convenience, the -documentation of groups of closely related commands or styles may be -combined into a single file. This will be one file for a single-file -feature. For a package, it might be several files. These are simple -text files with a specific markup language, that are then auto-converted -to HTML and PDF. The tools for this conversion are included in the -source distribution, and the translation can be as simple as doing -"make html pdf" in the doc folder. -Thus the documentation source files must be in the same format and -style as other *.txt files in the lammps/doc/src directory for similar -commands and styles; use one or more of them as a starting point. -A description of the markup can also be found in -lammps/doc/utils/txt2html/README.html -As appropriate, the text files can include links to equations -(see doc/Eqs/*.tex for examples, we auto-create the associated JPG -files), or figures (see doc/JPG for examples), or even additional PDF -files with further details (see doc/PDF for examples). The doc page -should also include literature citations as appropriate; see the -bottom of doc/fix_nh.txt for examples and the earlier part of the same -file for how to format the cite itself. The "Restrictions" section of -the doc page should indicate that your command is only available if -LAMMPS is built with the appropriate USER-MISC or USER-FOO package. -See other user package doc files for examples of how to do this. The -prerequisite for building the HTML format files are Python 3.x and -virtualenv, the requirement for generating the PDF format manual -is the "htmldoc"_http://www.htmldoc.org/ software. Please run at least -"make html" and carefully inspect and proofread the resulting HTML format -doc page before submitting your code. :l - -For a new package (or even a single command) you should include one or -more example scripts demonstrating its use. These should run in no -more than a couple minutes, even on a single processor, and not require -large data files as input. See directories under examples/USER for -examples of input scripts other users provided for their packages. -These example inputs are also required for validating memory accesses -and testing for memory leaks with valgrind :l - -If there is a paper of yours describing your feature (either the -algorithm/science behind the feature itself, or its initial usage, or -its implementation in LAMMPS), you can add the citation to the *.cpp -source file. See src/USER-EFF/atom_vec_electron.cpp for an example. -A LaTeX citation is stored in a variable at the top of the file and a -single line of code that references the variable is added to the -constructor of the class. Whenever a user invokes your feature from -their input script, this will cause LAMMPS to output the citation to a -log.cite file and prompt the user to examine the file. Note that you -should only use this for a paper you or your group authored. -E.g. adding a cite in the code for a paper by Nose and Hoover if you -write a fix that implements their integrator is not the intended -usage. That kind of citation should just be in the doc page you -provide. :l -:ule - -Finally, as a general rule-of-thumb, the more clear and -self-explanatory you make your documentation and README files, and the -easier you make it for people to get started, e.g. by providing example -scripts, the more likely it is that users will try out your new feature. diff --git a/doc/txt/Modify_dump.txt b/doc/txt/Modify_dump.txt deleted file mode 100644 index cfe96f5d3d0bc25402b73beef55261f8e7679eb1..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_dump.txt +++ /dev/null @@ -1,35 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Dump styles :h3 - -Classes that dump per-atom info to files are derived from the Dump -class. To dump new quantities or in a new format, a new derived dump -class can be added, but it is typically simpler to modify the -DumpCustom class contained in the dump_custom.cpp file. - -Dump_atom.cpp is a simple example of a derived dump class. - -Here is a brief description of methods you define in your new derived -class. See dump.h for details. - -write_header: write the header section of a snapshot of atoms -count: count the number of lines a processor will output -pack: pack a proc's output data into a buffer -write_data: write a proc's data to a file :tb(s=:) - -See the "dump"_dump.html command and its {custom} style for a list of -keywords for atom information that can already be dumped by -DumpCustom. It includes options to dump per-atom info from Compute -classes, so adding a new derived Compute class is one way to calculate -new quantities to dump. - -Note that new keywords for atom properties are not typically -added to the "dump custom"_dump.html command. Instead they are added -to the "compute property/atom"_compute_property_atom.html command. diff --git a/doc/txt/Modify_fix.txt b/doc/txt/Modify_fix.txt deleted file mode 100644 index b095ebc4b5fa8b549fbfb411c2558e5c6bb14c4d..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_fix.txt +++ /dev/null @@ -1,107 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Fix styles :h3 - -In LAMMPS, a "fix" is any operation that is computed during -timestepping that alters some property of the system. Essentially -everything that happens during a simulation besides force computation, -neighbor list construction, and output, is a "fix". This includes -time integration (update of coordinates and velocities), force -constraints or boundary conditions (SHAKE or walls), and diagnostics -(compute a diffusion coefficient). New styles can be created to add -new options to LAMMPS. - -Fix_setforce.cpp is a simple example of setting forces on atoms to -prescribed values. There are dozens of fix options already in LAMMPS; -choose one as a template that is similar to what you want to -implement. - -Here is a brief description of methods you can define in your new -derived class. See fix.h for details. - -setmask: determines when the fix is called during the timestep (required) -init: initialization before a run (optional) -setup_pre_exchange: called before atom exchange in setup (optional) -setup_pre_force: called before force computation in setup (optional) -setup: called immediately before the 1st timestep and after forces are computed (optional) -min_setup_pre_force: like setup_pre_force, but for minimizations instead of MD runs (optional) -min_setup: like setup, but for minimizations instead of MD runs (optional) -initial_integrate: called at very beginning of each timestep (optional) -pre_exchange: called before atom exchange on re-neighboring steps (optional) -pre_neighbor: called before neighbor list build (optional) -pre_force: called before pair & molecular forces are computed (optional) -post_force: called after pair & molecular forces are computed and communicated (optional) -final_integrate: called at end of each timestep (optional) -end_of_step: called at very end of timestep (optional) -write_restart: dumps fix info to restart file (optional) -restart: uses info from restart file to re-initialize the fix (optional) -grow_arrays: allocate memory for atom-based arrays used by fix (optional) -copy_arrays: copy atom info when an atom migrates to a new processor (optional) -pack_exchange: store atom's data in a buffer (optional) -unpack_exchange: retrieve atom's data from a buffer (optional) -pack_restart: store atom's data for writing to restart file (optional) -unpack_restart: retrieve atom's data from a restart file buffer (optional) -size_restart: size of atom's data (optional) -maxsize_restart: max size of atom's data (optional) -setup_pre_force_respa: same as setup_pre_force, but for rRESPA (optional) -initial_integrate_respa: same as initial_integrate, but for rRESPA (optional) -post_integrate_respa: called after the first half integration step is done in rRESPA (optional) -pre_force_respa: same as pre_force, but for rRESPA (optional) -post_force_respa: same as post_force, but for rRESPA (optional) -final_integrate_respa: same as final_integrate, but for rRESPA (optional) -min_pre_force: called after pair & molecular forces are computed in minimizer (optional) -min_post_force: called after pair & molecular forces are computed and communicated in minimizer (optional) -min_store: store extra data for linesearch based minimization on a LIFO stack (optional) -min_pushstore: push the minimization LIFO stack one element down (optional) -min_popstore: pop the minimization LIFO stack one element up (optional) -min_clearstore: clear minimization LIFO stack (optional) -min_step: reset or move forward on line search minimization (optional) -min_dof: report number of degrees of freedom {added} by this fix in minimization (optional) -max_alpha: report maximum allowed step size during linesearch minimization (optional) -pack_comm: pack a buffer to communicate a per-atom quantity (optional) -unpack_comm: unpack a buffer to communicate a per-atom quantity (optional) -pack_reverse_comm: pack a buffer to reverse communicate a per-atom quantity (optional) -unpack_reverse_comm: unpack a buffer to reverse communicate a per-atom quantity (optional) -dof: report number of degrees of freedom {removed} by this fix during MD (optional) -compute_scalar: return a global scalar property that the fix computes (optional) -compute_vector: return a component of a vector property that the fix computes (optional) -compute_array: return a component of an array property that the fix computes (optional) -deform: called when the box size is changed (optional) -reset_target: called when a change of the target temperature is requested during a run (optional) -reset_dt: is called when a change of the time step is requested during a run (optional) -modify_param: called when a fix_modify request is executed (optional) -memory_usage: report memory used by fix (optional) -thermo: compute quantities for thermodynamic output (optional) :tb(s=:) - -Typically, only a small fraction of these methods are defined for a -particular fix. Setmask is mandatory, as it determines when the fix -will be invoked during the timestep. Fixes that perform time -integration ({nve}, {nvt}, {npt}) implement initial_integrate() and -final_integrate() to perform velocity Verlet updates. Fixes that -constrain forces implement post_force(). - -Fixes that perform diagnostics typically implement end_of_step(). For -an end_of_step fix, one of your fix arguments must be the variable -"nevery" which is used to determine when to call the fix and you must -set this variable in the constructor of your fix. By convention, this -is the first argument the fix defines (after the ID, group-ID, style). - -If the fix needs to store information for each atom that persists from -timestep to timestep, it can manage that memory and migrate the info -with the atoms as they move from processors to processor by -implementing the grow_arrays, copy_arrays, pack_exchange, and -unpack_exchange methods. Similarly, the pack_restart and -unpack_restart methods can be implemented to store information about -the fix in restart files. If you wish an integrator or force -constraint fix to work with rRESPA (see the "run_style"_run_style.html -command), the initial_integrate, post_force_integrate, and -final_integrate_respa methods can be implemented. The thermo method -enables a fix to contribute values to thermodynamic output, as printed -quantities and/or to be summed to the potential energy of the system. diff --git a/doc/txt/Modify_kspace.txt b/doc/txt/Modify_kspace.txt deleted file mode 100644 index d5f018411d8d280d679b7a7940403b1658a20726..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_kspace.txt +++ /dev/null @@ -1,25 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Kspace styles :h3 - -Classes that compute long-range Coulombic interactions via K-space -representations (Ewald, PPPM) are derived from the KSpace class. New -styles can be created to add new K-space options to LAMMPS. - -Ewald.cpp is an example of computing K-space interactions. - -Here is a brief description of methods you define in your new derived -class. See kspace.h for details. - -init: initialize the calculation before a run -setup: computation before the 1st timestep of a run -compute: every-timestep computation -memory_usage: tally of memory usage :tb(s=:) - diff --git a/doc/txt/Modify_min.txt b/doc/txt/Modify_min.txt deleted file mode 100644 index 8252a576f3b01b7d58461a5bf200c0ddc1405c19..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_min.txt +++ /dev/null @@ -1,23 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Minimization styles :h3 - -Classes that perform energy minimization derived from the Min class. -New styles can be created to add new minimization algorithms to -LAMMPS. - -Min_cg.cpp is an example of conjugate gradient minimization. - -Here is a brief description of methods you define in your new derived -class. See min.h for details. - -init: initialize the minimization before a run -run: perform the minimization -memory_usage: tally of memory usage :tb(s=:) diff --git a/doc/txt/Modify_overview.txt b/doc/txt/Modify_overview.txt deleted file mode 100644 index 4ab1eddf218786a6dca4c2b4f77bcda26fa3d57f..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_overview.txt +++ /dev/null @@ -1,101 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Overview :h3 - -The best way to add a new feature to LAMMPS is to find a similar -feature and look at the corresponding source and header files to figure -out what it does. You will need some knowledge of C++ to be able to -understand the hi-level structure of LAMMPS and its class -organization, but functions (class methods) that do actual -computations are written in vanilla C-style code and operate on simple -C-style data structures (vectors and arrays). - -Most of the new features described on the "Modify"_Modify.html doc -page require you to write a new C++ derived class (except for -exceptions described below, where you can make small edits to existing -files). Creating a new class requires 2 files, a source code file -(*.cpp) and a header file (*.h). The derived class must provide -certain methods to work as a new option. Depending on how different -your new feature is compared to existing features, you can either -derive from the base class itself, or from a derived class that -already exists. Enabling LAMMPS to invoke the new class is as simple -as putting the two source files in the src dir and re-building LAMMPS. - -The advantage of C++ and its object-orientation is that all the code -and variables needed to define the new feature are in the 2 files you -write, and thus shouldn't make the rest of LAMMPS more complex or -cause side-effect bugs. - -Here is a concrete example. Suppose you write 2 files pair_foo.cpp -and pair_foo.h that define a new class PairFoo that computes pairwise -potentials described in the classic 1997 "paper"_#Foo by Foo, et al. -If you wish to invoke those potentials in a LAMMPS input script with a -command like - -pair_style foo 0.1 3.5 :pre - -then your pair_foo.h file should be structured as follows: - -#ifdef PAIR_CLASS -PairStyle(foo,PairFoo) -#else -... -(class definition for PairFoo) -... -#endif :pre - -where "foo" is the style keyword in the pair_style command, and -PairFoo is the class name defined in your pair_foo.cpp and pair_foo.h -files. - -When you re-build LAMMPS, your new pairwise potential becomes part of -the executable and can be invoked with a pair_style command like the -example above. Arguments like 0.1 and 3.5 can be defined and -processed by your new class. - -As illustrated by this pairwise example, many kinds of options are -referred to in the LAMMPS documentation as the "style" of a particular -command. - -The "Modify page"_Modify.html lists all the common styles in LAMMPS, -and discusses the header file for the base class that these styles are -derived from. Public variables in that file are ones used and set by -the derived classes which are also used by the base class. Sometimes -they are also used by the rest of LAMMPS. Virtual functions in the -base class header file which are set = 0 are ones you must define in -your new derived class to give it the functionality LAMMPS expects. -Virtual functions that are not set to 0 are functions you can -optionally define. - -Additionally, new output options can be added directly to the -thermo.cpp, dump_custom.cpp, and variable.cpp files. These are also -listed on the "Modify page"_Modify.html. - -Here are additional guidelines for modifying LAMMPS and adding new -functionality: - -Think about whether what you want to do would be better as a pre- or -post-processing step. Many computations are more easily and more -quickly done that way. :ulb,l - -Don't do anything within the timestepping of a run that isn't -parallel. E.g. don't accumulate a bunch of data on a single processor -and analyze it. You run the risk of seriously degrading the parallel -efficiency. :l - -If your new feature reads arguments or writes output, make sure you -follow the unit conventions discussed by the "units"_units.html -command. :l -:ule - -:line - -:link(Foo) -[(Foo)] Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997). diff --git a/doc/txt/Modify_pair.txt b/doc/txt/Modify_pair.txt deleted file mode 100644 index 40806937d665ee999ff650490eef187dfc522d04..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_pair.txt +++ /dev/null @@ -1,33 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Pair styles :h3 - -Classes that compute pairwise interactions are derived from the Pair -class. In LAMMPS, pairwise calculation include many-body potentials -such as EAM or Tersoff where particles interact without a static bond -topology. New styles can be created to add new pair potentials to -LAMMPS. - -Pair_lj_cut.cpp is a simple example of a Pair class, though it -includes some optional methods to enable its use with rRESPA. - -Here is a brief description of the class methods in pair.h: - -compute: workhorse routine that computes pairwise interactions -settings: reads the input script line with arguments you define -coeff: set coefficients for one i,j type pair -init_one: perform initialization for one i,j type pair -init_style: initialization specific to this pair style -write & read_restart: write/read i,j pair coeffs to restart files -write & read_restart_settings: write/read global settings to restart files -single: force and energy of a single pairwise interaction between 2 atoms -compute_inner/middle/outer: versions of compute used by rRESPA :tb(s=:) - -The inner/middle/outer routines are optional. diff --git a/doc/txt/Modify_region.txt b/doc/txt/Modify_region.txt deleted file mode 100644 index c7a56bd32af70345c6d8e3256c6cd3932ebf4b05..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_region.txt +++ /dev/null @@ -1,25 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Region styles :h3 - -Classes that define geometric regions are derived from the Region -class. Regions are used elsewhere in LAMMPS to group atoms, delete -atoms to create a void, insert atoms in a specified region, etc. New -styles can be created to add new region shapes to LAMMPS. - -Region_sphere.cpp is an example of a spherical region. - -Here is a brief description of methods you define in your new derived -class. See region.h for details. - -inside: determine whether a point is in the region -surface_interior: determine if a point is within a cutoff distance inside of surface -surface_exterior: determine if a point is within a cutoff distance outside of surface -shape_update : change region shape if set by time-dependent variable :tb(s=:) diff --git a/doc/txt/Modify_thermo.txt b/doc/txt/Modify_thermo.txt deleted file mode 100644 index 1772bae87a185846f941e0b540d8df2a904a1208..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_thermo.txt +++ /dev/null @@ -1,35 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Thermodynamic output options :h3 - -There is one class that computes and prints thermodynamic information -to the screen and log file; see the file thermo.cpp. - -There are two styles defined in thermo.cpp: "one" and "multi". There -is also a flexible "custom" style which allows the user to explicitly -list keywords for quantities to print when thermodynamic info is -output. See the "thermo_style"_thermo_style.html command for a list -of defined quantities. - -The thermo styles (one, multi, etc) are simply lists of keywords. -Adding a new style thus only requires defining a new list of keywords. -Search for the word "customize" with references to "thermo style" in -thermo.cpp to see the two locations where code will need to be added. - -New keywords can also be added to thermo.cpp to compute new quantities -for output. Search for the word "customize" with references to -"keyword" in thermo.cpp to see the several locations where code will -need to be added. - -Note that the "thermo_style custom"_thermo.html command already allows -for thermo output of quantities calculated by "fixes"_fix.html, -"computes"_compute.html, and "variables"_variable.html. Thus, it may -be simpler to compute what you wish via one of those constructs, than -by adding a new keyword to the thermo command. diff --git a/doc/txt/Modify_variable.txt b/doc/txt/Modify_variable.txt deleted file mode 100644 index b163272f3ebc225522467d08fe144b725dc22a27..0000000000000000000000000000000000000000 --- a/doc/txt/Modify_variable.txt +++ /dev/null @@ -1,46 +0,0 @@ -"Higher level section"_Modify.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Variable options :h3 - -There is one class that computes and stores "variable"_variable.html -information in LAMMPS; see the file variable.cpp. The value -associated with a variable can be periodically printed to the screen -via the "print"_print.html, "fix print"_fix_print.html, or -"thermo_style custom"_thermo_style.html commands. Variables of style -"equal" can compute complex equations that involve the following types -of arguments: - -thermo keywords = ke, vol, atoms, ... -other variables = v_a, v_myvar, ... -math functions = div(x,y), mult(x,y), add(x,y), ... -group functions = mass(group), xcm(group,x), ... -atom values = x\[123\], y\[3\], vx\[34\], ... -compute values = c_mytemp\[0\], c_thermo_press\[3\], ... :pre - -Adding keywords for the "thermo_style custom"_thermo_style.html -command (which can then be accessed by variables) is discussed on the -"Modify thermo"_Modify_thermo.html doc page. - -Adding a new math function of one or two arguments can be done by -editing one section of the Variable::evaluate() method. Search for -the word "customize" to find the appropriate location. - -Adding a new group function can be done by editing one section of the -Variable::evaluate() method. Search for the word "customize" to find -the appropriate location. You may need to add a new method to the -Group class as well (see the group.cpp file). - -Accessing a new atom-based vector can be done by editing one section -of the Variable::evaluate() method. Search for the word "customize" -to find the appropriate location. - -Adding new "compute styles"_compute.html (whose calculated values can -then be accessed by variables) is discussed on the "Modify -compute"_Modify_compute.html doc page. diff --git a/doc/txt/Packages.txt b/doc/txt/Packages.txt deleted file mode 100644 index 231c8528e90d57b7291297b40a7f8f0a19d0da75..0000000000000000000000000000000000000000 --- a/doc/txt/Packages.txt +++ /dev/null @@ -1,40 +0,0 @@ -"Previous Section"_Commands.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Speed.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Optional packages :h2 - -This section gives an overview of the optional packages that extend -LAMMPS functionality. Packages are groups of files that enable a -specific set of features. For example, force fields for molecular -systems or rigid-body constraints are in packages. You can see the -list of all packages and "make" commands to manage them by typing -"make package" from within the src directory of the LAMMPS -distribution. The "Build package"_Build_package.html doc page gives -general info on how to install and un-install packages as part of the -LAMMPS build process. - - - - - -"Standard packages"_Packages_standard.html -"User packages"_Packages_user.html -"Details on each package"_Packages_details.html :ul - - diff --git a/doc/txt/Packages_standard.txt b/doc/txt/Packages_standard.txt deleted file mode 100644 index 7fb1d99174abdba6121cb7097528385082e69425..0000000000000000000000000000000000000000 --- a/doc/txt/Packages_standard.txt +++ /dev/null @@ -1,65 +0,0 @@ -"Higher level section"_Packages.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Standard packages :h3 - -This is the list of standard packages in LAMMPS. The link for each -package name gives more details. - -Standard packages are supported by the LAMMPS developers and are -written in a syntax and style consistent with the rest of LAMMPS. -This means the developers will answer questions about them, debug and -fix them if necessary, and keep them compatible with future changes to -LAMMPS. - -The "Example" column is a sub-directory in the examples directory of -the distribution which has an input script that uses the package. -E.g. "peptide" refers to the examples/peptide directory; USER/atc -refers to the examples/USER/atc directory. The "Library" column -indicates whether an extra library is needed to build and use the -package: - -no = no library -sys = system library: you likely have it on your machine -int = internal library: provided with LAMMPS, but you may need to build it -ext = external library: you will need to download and install it on your machine :ul - -Package, Description, Doc page, Example, Library -"ASPHERE"_Packages_details.html#PKG-ASPHERE, aspherical particle models, "Howto spherical"_Howto_spherical.html, ellipse, no -"BODY"_Packages_details.html#PKG-BODY, body-style particles, "Howto body"_Howto_body.html, body, no -"CLASS2"_Packages_details.html#PKG-CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, n/a, no -"COLLOID"_Packages_details.html#PKG-COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, no -"COMPRESS"_Packages_details.html#PKG-COMPRESS, I/O compression, "dump */gz"_dump.html, n/a, sys -"CORESHELL"_Packages_details.html#PKG-CORESHELL, adiabatic core/shell model, "Howto coreshell"_Howto_coreshell.html, coreshell, no -"DIPOLE"_Packages_details.html#PKG-DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, no -"GPU"_Packages_details.html#PKG-GPU, GPU-enabled styles, "Section gpu"_Speed_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int -"GRANULAR"_Packages_details.html#PKG-GRANULAR, granular systems, "Howto granular"_Howto_granular.html, pour, no -"KIM"_Packages_details.html#PKG-KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext -"KOKKOS"_Packages_details.html#PKG-KOKKOS, Kokkos-enabled styles, "Speed kokkos"_Speed_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no -"KSPACE"_Packages_details.html#PKG-KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, no -"LATTE"_Packages_details.html#PKG-LATTE, quantum DFTB forces via LATTE, "fix latte"_fix_latte.html, latte, ext -"MANYBODY"_Packages_details.html#PKG-MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, no -"MC"_Packages_details.html#PKG-MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, n/a, no -"MESSAGE"_Packages_details.html#PKG-MESSAGE, client/server messaging, "message"_message.html, message, int -"MISC"_Packages_details.html#PKG-MISC, miscellaneous single-file commands, n/a, no, no -"MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, no -"MPIIO"_Packages_details.html#PKG-MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, n/a, no -"MSCG"_Packages_details.html#PKG-MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext -"OPT"_Packages_details.html#PKG-OPT, optimized pair styles, "Speed opt"_Speed_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no -"PERI"_Packages_details.html#PKG-PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, no -"POEMS"_Packages_details.html#PKG-POEMS, coupled rigid body motion, "fix poems"_fix_poems.html, rigid, int -"PYTHON"_Packages_details.html#PKG-PYTHON, embed Python code in an input script, "python"_python.html, python, sys -"QEQ"_Packages_details.html#PKG-QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, no -"REPLICA"_Packages_details.html#PKG-REPLICA2, multi-replica methods, "Howto replica"_Howto_replica.html, tad, no -"RIGID"_Packages_details.html#PKG-RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, no -"SHOCK"_Packages_details.html#PKG-SHOCK, shock loading methods, "fix msst"_fix_msst.html, n/a, no -"SNAP"_Packages_details.html#PKG-SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, no -"SPIN"_Packages_details.html#PKG-SPIN, magnetic atomic spin dynamics, "Howto spins"_Howto_spins.html, SPIN, no -"SRD"_Packages_details.html#PKG-SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, no -"VORONOI"_Packages_details.html#PKG-VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, n/a, ext :tb(ea=c,ca1=l) diff --git a/doc/txt/Packages_user.txt b/doc/txt/Packages_user.txt deleted file mode 100644 index 4210f617ef2ac55eff2c9661443215e7b25be4e6..0000000000000000000000000000000000000000 --- a/doc/txt/Packages_user.txt +++ /dev/null @@ -1,83 +0,0 @@ -"Higher level section"_Packages.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -User packages :h3 - -This is a list of user packages in LAMMPS. The link for each package -name gives more details. - -User packages have been contributed by users, and begin with the -"user" prefix. If a contribution is a single command (single file), -it is typically in the user-misc package. User packages don't -necessarily meet the requirements of the "standard -packages"_Packages_standard.html. This means the developers will try -to keep things working and usually can answer technical questions -about compiling the package. If you have problems using a specific -feature provided in a user package, you may need to contact the -contributor directly to get help. Information on how to submit -additions you make to LAMMPS as single files or as a standard or user -package is explained on the "Modify contribute"_Modify_contribute.html -doc page. - -The "Example" column is a sub-directory in the examples directory of -the distribution which has an input script that uses the package. -E.g. "peptide" refers to the examples/peptide directory; USER/atc -refers to the examples/USER/atc directory. The "Library" column -indicates whether an extra library is needed to build and use the -package: - -no = no library -sys = system library: you likely have it on your machine -int = internal library: provided with LAMMPS, but you may need to build it -ext = external library: you will need to download and install it on your machine :ul - -Package, Description, Doc page, Example, Library -"USER-ADIOS"_Packages_details.html#PKG-USER-ADIOS, dump output via ADIOS, "dump adios"_dump_adios.html, USER/adios, ext -"USER-ATC"_Packages_details.html#PKG-USER-ATC, Atom-to-Continuum coupling, "fix atc"_fix_atc.html, USER/atc, int -"USER-AWPMD"_Packages_details.html#PKG-USER-AWPMD, wave packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int -"USER-BOCS"_Packages_details.html#PKG-USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, no -"USER-CGDNA"_Packages_details.html#PKG-USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, no -"USER-CGSDK"_Packages_details.html#PKG-USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, no -"USER-COLVARS"_Packages_details.html#PKG-USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int -"USER-DIFFRACTION"_Packages_details.html#PKG-USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, no -"USER-DPD"_Packages_details.html#PKG-USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, no -"USER-DRUDE"_Packages_details.html#PKG-USER-DRUDE, Drude oscillators, "Howto drude"_Howto_drude.html, USER/drude, no -"USER-EFF"_Packages_details.html#PKG-USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, no -"USER-FEP"_Packages_details.html#PKG-USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, no -"USER-H5MD"_Packages_details.html#PKG-USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, n/a, ext -"USER-INTEL"_Packages_details.html#PKG-USER-INTEL, optimized Intel CPU and KNL styles,"Speed intel"_Speed_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no -"USER-LB"_Packages_details.html#PKG-USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, no -"USER-MANIFOLD"_Packages_details.html#PKG-USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, no -"USER-MEAMC"_Packages_details.html#PKG-USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meamc.html, meamc, no -"USER-MESO"_Packages_details.html#PKG-USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, no -"USER-MGPT"_Packages_details.html#PKG-USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, no -"USER-MISC"_Packages_details.html#PKG-USER-MISC, single-file contributions, USER-MISC/README, USER/misc, no -"USER-MOFFF"_Packages_details.html#PKG-USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, no -"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_https://www.ks.uiuc.edu/Research/vmd/ molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext -"USER-NETCDF"_Packages_details.html#PKG-USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, n/a, ext -"USER-OMP"_Packages_details.html#PKG-USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no -"USER-PHONON"_Packages_details.html#PKG-USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, no -"USER-PLUMED"_Packages_details.html#PKG-USER-PLUMED, "PLUMED"_#PLUMED free energy library,"fix plumed"_fix_plumed.html, USER/plumed, ext -"USER-PTM"_Packages_details.html#PKG-USER-PTM, Polyhedral Template Matching,"compute ptm/atom"_compute_ptm_atom.html, n/a, no -"USER-QMMM"_Packages_details.html#PKG-USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext -"USER-QTB"_Packages_details.html#PKG-USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, no -"USER-QUIP"_Packages_details.html#PKG-USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext -"USER-REAXC"_Packages_details.html#PKG-USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, no -"USER-SCAFACOS"_Packages_details.html#PKG-USER-SCAFACOS, wrapper on ScaFaCoS solver,"kspace_style scafacos"_kspace_style.html, USER/scafacos, ext -"USER-SDPD"_Packages_details.html#PKG-USER-SDPD, smoothed dissipative particle dynamics,"pair_style sdpd/taitwater/isothermal"_pair_sdpd_taitwater_isothermal.html, USER/sdpd, no -"USER-SMD"_Packages_details.html#PKG-USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext -"USER-SMTBQ"_Packages_details.html#PKG-USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, no -"USER-SPH"_Packages_details.html#PKG-USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, no -"USER-TALLY"_Packages_details.html#PKG-USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, no -"USER-UEF"_Packages_details.html#PKG-USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, no -"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, n/a, ext -"USER-YAFF"_Packages_details.html#PKG-USER-YAFF, additional styles implemented in YAFF, "angle_style cross"_angle_cross.html, USER/yaff, no :tb(ea=c,ca1=l) - -:link(MOFplus,https://www.mofplus.org/content/show/MOF-FF) -:link(PLUMED,http://www.plumed.org) diff --git a/doc/txt/Python_call.txt b/doc/txt/Python_call.txt deleted file mode 100644 index 34b04679d5e4030b7befdfed67b0cdea82d8fff5..0000000000000000000000000000000000000000 --- a/doc/txt/Python_call.txt +++ /dev/null @@ -1,85 +0,0 @@ -"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Call Python from a LAMMPS input script :h3 - -LAMMPS has several commands which can be used to invoke Python -code directly from an input script: - -"python"_python.html -"variable python"_variable.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 -execute a Python function that you write the code for. The Python -function can also be assigned to a LAMMPS python-style variable via -the "variable"_variable.html command. Each time the variable is -evaluated, either in the LAMMPS input script itself, or by another -LAMMPS command that uses the variable, this will trigger the Python -function to be invoked. - -The Python code for the function can be included directly in the input -script or in an auxiliary file. The function can have arguments which -are mapped to LAMMPS variables (also defined in the input script) and -it can return a value to a LAMMPS variable. This is thus a mechanism -for your input script to pass information to a piece of Python code, -ask Python to execute the code, and return information to your input -script. - -Note that a Python function can be arbitrarily complex. It can import -other Python modules, instantiate Python classes, call other Python -functions, etc. The Python code that you provide can contain more -code than the single function. It can contain other functions or -Python classes, as well as global variables or other mechanisms for -storing state between calls from LAMMPS to the function. - -The Python function you provide can consist of "pure" Python code that -only performs operations provided by standard Python. However, the -Python function can also "call back" to LAMMPS through its -Python-wrapped library interface, in the manner described in the -"Python run"_Python_run.html doc page. This means it can issue LAMMPS -input script commands or query and set internal LAMMPS state. As an -example, this can be useful in an input script to create a more -complex loop with branching logic, than can be created using the -simple looping and branching logic enabled by the "next"_next.html and -"if"_if.html commands. - -See the "python"_python.html doc page and the "variable"_variable.html -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/invoke"_fix_python_invoke.html command can execute -Python code at selected timesteps during a simulation run. - -The "pair_style python"_pair_python.html command allows you to define -pairwise potentials as python code which encodes a single pairwise -interaction. This is useful for rapid development and debugging of a -new potential. - -To use any of these commands, you only need to build LAMMPS with the -PYTHON package installed: - -make yes-python -make machine :pre - -Note that this will link LAMMPS with the Python library on your -system, which typically requires several auxiliary system libraries to -also be linked. The list of these libraries and the paths to find -them are specified in the lib/python/Makefile.lammps file. You need -to insure that file contains the correct information for your version -of Python and your machine to successfully build LAMMPS. See the -lib/python/README file for more info. - -If you want to write Python code with callbacks to LAMMPS, then you -must also follow the steps summarized in the "Python -run"_Python_run.html doc page. I.e. you must build LAMMPS as a shared -library and insure that Python can find the python/lammps.py file and -the shared library. diff --git a/doc/txt/Python_examples.txt b/doc/txt/Python_examples.txt deleted file mode 100644 index 181181dfb2a20b33f1a5cbff9df2ab3f7757db90..0000000000000000000000000000000000000000 --- a/doc/txt/Python_examples.txt +++ /dev/null @@ -1,81 +0,0 @@ -"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Example Python scripts that use LAMMPS :h3 - -These are the Python scripts included as demos in the python/examples -directory of the LAMMPS distribution, to illustrate the kinds of -things that are possible when Python wraps LAMMPS. If you create your -own scripts, send them to us and we can include them in the LAMMPS -distribution. - -trivial.py, read/run a LAMMPS input script through Python, -demo.py, invoke various LAMMPS library interface routines, -simple.py, run in parallel, similar to examples/COUPLE/simple/simple.cpp, -split.py, same as simple.py but running in parallel on a subset of procs, -gui.py, GUI go/stop/temperature-slider to control LAMMPS, -plot.py, real-time temperature plot with GnuPlot via Pizza.py, -viz_tool.py, real-time viz via some viz package, -vizplotgui_tool.py, combination of viz_tool.py and plot.py and gui.py :tb(c=2) - -:line - -For the viz_tool.py and vizplotgui_tool.py commands, replace "tool" -with "gl" or "atomeye" or "pymol" or "vmd", depending on what -visualization package you have installed. - -Note that for GL, you need to be able to run the Pizza.py GL tool, -which is included in the pizza sub-directory. See the "Pizza.py doc -pages"_pizza for more info: - -:link(pizza,http://www.sandia.gov/~sjplimp/pizza.html) - -Note that for AtomEye, you need version 3, and there is a line in the -scripts that specifies the path and name of the executable. See the -AtomEye WWW pages "here"_atomeye or "here"_atomeye3 for more details: - -http://mt.seas.upenn.edu/Archive/Graphics/A -http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html :pre - -:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A) -:link(atomeye3,http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html) - -The latter link is to AtomEye 3 which has the scripting -capability needed by these Python scripts. - -Note that for PyMol, you need to have built and installed the -open-source version of PyMol in your Python, so that you can import it -from a Python script. See the PyMol WWW pages "here"_pymolhome or -"here"_pymolopen for more details: - -http://www.pymol.org -http://sourceforge.net/scm/?type=svn&group_id=4546 :pre - -:link(pymolhome,http://www.pymol.org) -:link(pymolopen,http://sourceforge.net/scm/?type=svn&group_id=4546) - -The latter link is to the open-source version. - -Note that for VMD, you need a fairly current version (1.8.7 works for -me) and there are some lines in the pizza/vmd.py script for 4 PIZZA -variables that have to match the VMD installation on your system. - -:line - -See the python/README file for instructions on how to run them and the -source code for individual scripts for comments about what they do. - -Here are screenshots of the vizplotgui_tool.py script in action for -different visualization package options. Click to see larger images: - -:image(JPG/screenshot_gl_small.jpg,JPG/screenshot_gl.jpg) -:image(JPG/screenshot_atomeye_small.jpg,JPG/screenshot_atomeye.jpg) -:image(JPG/screenshot_pymol_small.jpg,JPG/screenshot_pymol.jpg) -:image(JPG/screenshot_vmd_small.jpg,JPG/screenshot_vmd.jpg) - diff --git a/doc/txt/Python_head.txt b/doc/txt/Python_head.txt deleted file mode 100644 index 54f995c565b741456fcfc02cee75b4072c52b361..0000000000000000000000000000000000000000 --- a/doc/txt/Python_head.txt +++ /dev/null @@ -1,72 +0,0 @@ -"Previous Section"_Modify.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Errors.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Use Python with LAMMPS :h2 - -These doc pages describe various ways that LAMMPS and Python can be -used together. - - - - - -"Overview of Python and LAMMPS"_Python_overview.html -"Run LAMMPS from Python"_Python_run.html -"Build LAMMPS as a shared library"_Python_shlib.html -"Install LAMMPS in Python"_Python_install.html -"Extend Python to run in parallel"_Python_mpi.html -"Test the Python/LAMMPS interface"_Python_test.html -"Python library interface"_Python_library.html -"PyLammps interface"_Python_pylammps.html -"Example Python scripts that use LAMMPS"_Python_examples.html -"Call Python from a LAMMPS input script"_Python_call.html :all(b) - - - -If you're not familiar with "Python"_http://www.python.org, it's a -powerful scripting and programming language which can do most -everything that lower-level languages like C or C++ can do in fewer -lines of code. The only drawback is slower execution speed. Python -is also easy to use as a "glue" language to drive a program through -its library interface, or to hook multiple pieces of software -together, such as a simulation code plus a visualization tool, or to -run a coupled multiscale or multiphysics model. - -See the "Howto_couple"_Howto_couple.html doc page for more ideas about -coupling LAMMPS to other codes. See the "Howto -library"_Howto_library.html doc page for a description of the LAMMPS -library interface provided in src/library.h and src/library.h. That -interface is exposed to Python either when calling LAMMPS from Python -or when calling Python from a LAMMPS input script and then calling -back to LAMMPS from Python code. The library interface is designed to -be easy to add functionality to. Thus the Python interface to LAMMPS -is also easy to extend as well. - -If you create interesting Python scripts that run LAMMPS or -interesting Python functions that can be called from a LAMMPS input -script, that you think would be generally useful, please post them as -a pull request to our "GitHub site"_https://github.com/lammps/lammps, -and they can be added to the LAMMPS distribution or webpage. diff --git a/doc/txt/Python_install.txt b/doc/txt/Python_install.txt deleted file mode 100644 index 2c134974f59aac7e0550b63c682e577d1a5563bd..0000000000000000000000000000000000000000 --- a/doc/txt/Python_install.txt +++ /dev/null @@ -1,67 +0,0 @@ -"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Installing LAMMPS in Python :h3 - -For Python to invoke LAMMPS, there are 2 files it needs to know about: - -python/lammps.py -liblammps.so or liblammps.dylib :ul - -The python source code in lammps.py is the Python wrapper on the -LAMMPS library interface. The liblammps.so or liblammps.dylib file -is the shared LAMMPS library that Python loads dynamically. - -You can achieve that Python can find these files in one of two ways: - -set two environment variables pointing to the location in the source tree -run "make install-python" or run the python/install.py script explicitly :ul - -When calling "make install-python" LAMMPS will try to install the -python module and the shared library into the python site-packages folders; -either the system-wide ones, or the local users ones (in case of insufficient -permissions for the global install). Python will then find the module -and shared library file automatically. The exact location of these folders -depends on your python version and your operating system. - -If you set the paths to these files as environment variables, you only -have to do it once. For the csh or tcsh shells, add something like -this to your ~/.cshrc file, one line for each of the two files: - -setenv PYTHONPATH $\{PYTHONPATH\}:/home/sjplimp/lammps/python -setenv LD_LIBRARY_PATH $\{LD_LIBRARY_PATH\}:/home/sjplimp/lammps/src :pre - -On MacOSX you may also need to set DYLD_LIBRARY_PATH accordingly. -For Bourne/Korn shells accordingly into the corresponding files using -the "export" shell builtin. - -If you use "make install-python" or the python/install.py script, you need -to invoke it every time you rebuild LAMMPS (as a shared library) or -make changes to the python/lammps.py file, so that the site-packages -files are updated with the new version. - -If the default settings of "make install-python" are not what you want, -you can invoke install.py from the python directory manually as - -% python install.py -m \ -l -v \[-d \\] :pre - -The -m flag points to the lammps.py python module file to be installed, -the -l flag points to the LAMMPS shared library file to be installed, -the -v flag points to the version.h file in the LAMMPS source -and the optional -d flag to a custom (legacy) installation folder :ul - -If you use a legacy installation folder, you will need to set your -PYTHONPATH and LD_LIBRARY_PATH (and/or DYLD_LIBRARY_PATH) environment -variables accordingly, as described above. - -Note that if you want Python to be able to load different versions of -the LAMMPS shared library (see "this section"_Python_shlib.html), you will -need to manually copy files like liblammps_g++.so into the appropriate -system directory. This is not needed if you set the LD_LIBRARY_PATH -environment variable as described above. diff --git a/doc/txt/Python_mpi.txt b/doc/txt/Python_mpi.txt deleted file mode 100644 index 96c42e0d0ff2a06ff889f3c5072047df6677632f..0000000000000000000000000000000000000000 --- a/doc/txt/Python_mpi.txt +++ /dev/null @@ -1,67 +0,0 @@ -"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Extending Python to run in parallel :h3 - -If you wish to run LAMMPS in parallel from Python, you need to extend -your Python with an interface to MPI. This also allows you to -make MPI calls directly from Python in your script, if you desire. - -We recommend use of mpi4py: - -"PyPar"_https://github.com/daleroberts/pypar :ul - -As of version 2.0.0 it allows passing a custom MPI communicator to -the LAMMPS constructor, which means one can easily run one or more -LAMMPS instances on subsets of the total MPI ranks. - -To install mpi4py (version mpi4py-2.0.0 as of Oct 2015), unpack it -and from its main directory, type - -python setup.py build -sudo python setup.py install :pre - -Again, the "sudo" is only needed if required to copy mpi4py files into -your Python distribution's site-packages directory. To install with -user privilege into the user local directory type - -python setup.py install --user :pre - -If you have successfully installed mpi4py, you should be able to run -Python and type - -from mpi4py import MPI :pre - -without error. You should also be able to run python in parallel -on a simple test script - -% mpirun -np 4 python test.py :pre - -where test.py contains the lines - -from mpi4py import MPI -comm = MPI.COMM_WORLD -print "Proc %d out of %d procs" % (comm.Get_rank(),comm.Get_size()) :pre - -and see one line of output for each processor you run on. - -NOTE: To use mpi4py and LAMMPS in parallel from Python, you must -insure both are using the same version of MPI. If you only have one -MPI installed on your system, this is not an issue, but it can be if -you have multiple MPIs. Your LAMMPS build is explicit about which MPI -it is using, since you specify the details in your lo-level -src/MAKE/Makefile.foo file. Mpi4py uses the "mpicc" command to find -information about the MPI it uses to build against. And it tries to -load "libmpi.so" from the LD_LIBRARY_PATH. This may or may not find -the MPI library that LAMMPS is using. If you have problems running -both mpi4py and LAMMPS together, this is an issue you may need to -address, e.g. by moving other MPI installations so that mpi4py finds -the right one. - - diff --git a/doc/txt/Python_overview.txt b/doc/txt/Python_overview.txt deleted file mode 100644 index 0195ec2b2005094b60802b38204a7a46d2d8e953..0000000000000000000000000000000000000000 --- a/doc/txt/Python_overview.txt +++ /dev/null @@ -1,36 +0,0 @@ -"Previous Section"_Examples.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Tools.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands.html#comm) - -:line - -Overview of Python and LAMMPS :h3 - -LAMMPS can work together with Python in three ways. First, Python can -wrap LAMMPS through the its "library interface"_Howto_library.html, so -that a Python script can create one or more instances of LAMMPS and -launch one or more simulations. In Python lingo, this is called -"extending" Python with a LAMMPS module. - -Second, a lower-level Python interface can be used indirectly through -the provided PyLammps and IPyLammps wrapper classes, written in Python. -These wrappers try to simplify the usage of LAMMPS in Python by -providing an object-based interface to common LAMMPS functionality. -They also reduces the amount of code necessary to parameterize LAMMPS -scripts through Python and make variables and computes directly -accessible. - -Third, LAMMPS can use the Python interpreter, so that a LAMMPS -input script or styles can invoke Python code directly, and pass -information back-and-forth between the input script and Python -functions you write. This Python code can also callback to LAMMPS -to query or change its attributes through the LAMMPS Python module -mentioned above. In Python lingo, this is "embedding" Python in -LAMMPS. When used in this mode, Python can perform script operations -that the simple LAMMPS input script syntax can not. - - diff --git a/doc/txt/Python_pylammps.txt b/doc/txt/Python_pylammps.txt deleted file mode 100644 index 303ac21a276fcab9444a33686b2373ee79cfae53..0000000000000000000000000000000000000000 --- a/doc/txt/Python_pylammps.txt +++ /dev/null @@ -1,14 +0,0 @@ -"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -PyLammps interface :h3 - -PyLammps is a Python wrapper class which can be created on its own or -use an existing lammps Python object. It has its own "Howto -pylammps"_Howto_pylammps.html doc page. diff --git a/doc/txt/Python_run.txt b/doc/txt/Python_run.txt deleted file mode 100644 index 8974d1469ab3bd609a781f1166e8ee0867ed01de..0000000000000000000000000000000000000000 --- a/doc/txt/Python_run.txt +++ /dev/null @@ -1,40 +0,0 @@ -"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Run LAMMPS from Python :h3 - -The LAMMPS distribution includes a python directory with all you need -to run LAMMPS from Python. The python/lammps.py file wraps the LAMMPS -library interface, with one wrapper function per LAMMPS library -function. This file makes it is possible to do the following either -from a Python script, or interactively from a Python prompt: create -one or more instances of LAMMPS, invoke LAMMPS commands or give it an -input script, run LAMMPS incrementally, extract LAMMPS results, an -modify internal LAMMPS variables. From a Python script you can do -this in serial or parallel. Running Python interactively in parallel -does not generally work, unless you have a version of Python that -extends Python to enable multiple instances of Python to read what you -type. - -To do all of this, you must first build LAMMPS as a shared library, -then insure that your Python can find the python/lammps.py file and -the shared library. - -Two advantages of using Python to run LAMMPS are how concise the -language is, and that it can be run interactively, enabling rapid -development and debugging. If you use it to mostly invoke costly -operations within LAMMPS, such as running a simulation for a -reasonable number of timesteps, then the overhead cost of invoking -LAMMPS through Python will be negligible. - -The Python wrapper for LAMMPS uses the "ctypes" package in Python, -which auto-generates the interface code needed between Python and a -set of C-style library functions. Ctypes is part of standard Python -for versions 2.5 and later. You can check which version of Python you -have by simply typing "python" at a shell prompt. diff --git a/doc/txt/Python_shlib.txt b/doc/txt/Python_shlib.txt deleted file mode 100644 index 91c90d9a8f46628102a7ce200fb535e873a9061c..0000000000000000000000000000000000000000 --- a/doc/txt/Python_shlib.txt +++ /dev/null @@ -1,73 +0,0 @@ -"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Build LAMMPS as a shared library :h3 - -Build LAMMPS as a shared library using make :h4 - -Instructions on how to build LAMMPS as a shared library are given on -the "Build_basics"_Build_basics.html doc page. A shared library is -one that is dynamically loadable, which is what Python requires to -wrap LAMMPS. On Linux this is a library file that ends in ".so", not -".a". - -From the src directory, type - -make foo mode=shlib :pre - -where foo is the machine target name, such as mpi or serial. -This should create the file liblammps_foo.so in the src directory, as -well as a soft link liblammps.so, which is what the Python wrapper will -load by default. Note that if you are building multiple machine -versions of the shared library, the soft link is always set to the -most recently built version. - -NOTE: If you are building LAMMPS with an MPI or FFT library or other -auxiliary libraries (used by various packages), then all of these -extra libraries must also be shared libraries. If the LAMMPS -shared-library build fails with an error complaining about this, see -the "Build_basics"_Build_basics.html doc page. - -Build LAMMPS as a shared library using CMake :h4 - -When using CMake the following two options are necessary to generate the LAMMPS -shared library: - --D BUILD_LIB=on # enable building LAMMPS as a library --D BUILD_SHARED_LIBS=on # enable building of LAMMPS shared library (both options are needed!) :pre - -What this does is create a liblammps.so which contains the majority of LAMMPS -code. The generated lmp binary also dynamically links to this library. This -means that either this liblammps.so file has to be in the same directory, a system -library path (e.g. /usr/lib64/) or in the LD_LIBRARY_PATH. - -If you want to use the shared library with Python the recommended way is to create a virtualenv and use it as -CMAKE_INSTALL_PREFIX. - -# create virtualenv -virtualenv --python=$(which python3) myenv3 -source myenv3/bin/activate :pre - -# build library -mkdir build -cd build -cmake -D PKG_PYTHON=on -D BUILD_LIB=on -D BUILD_SHARED_LIBS=on -D CMAKE_INSTALL_PREFIX=$VIRTUAL_ENV ../cmake -make -j 4 :pre - -# install into prefix -make install :pre - -This will also install the Python module into your virtualenv. Since virtualenv -doesn't change your LD_LIBRARY_PATH, you still need to add its lib64 folder to -it, which contains the installed liblammps.so. - -export LD_LIBRARY_PATH=$VIRTUAL_ENV/lib64:$LD_LIBRARY_PATH :pre - -Starting Python outside (!) of your build directory, but with the virtualenv -enabled and with the LD_LIBRARY_PATH set gives you access to LAMMPS via Python. diff --git a/doc/txt/Python_test.txt b/doc/txt/Python_test.txt deleted file mode 100644 index 3909ea997954ab6d21366e1ca10d1abc5fb2e5f1..0000000000000000000000000000000000000000 --- a/doc/txt/Python_test.txt +++ /dev/null @@ -1,131 +0,0 @@ -"Higher level section"_Python_head.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Test the Python/LAMMPS interface :h3 - -To test if LAMMPS is callable from Python, launch Python interactively -and type: - ->>> from lammps import lammps ->>> lmp = lammps() :pre - -If you get no errors, you're ready to use LAMMPS from Python. If the -2nd command fails, the most common error to see is - -OSError: Could not load LAMMPS dynamic library :pre - -which means Python was unable to load the LAMMPS shared library. This -typically occurs if the system can't find the LAMMPS shared library or -one of the auxiliary shared libraries it depends on, or if something -about the library is incompatible with your Python. The error message -should give you an indication of what went wrong. - -You can also test the load directly in Python as follows, without -first importing from the lammps.py file: - ->>> from ctypes import CDLL ->>> CDLL("liblammps.so") :pre - -If an error occurs, carefully go through the steps on the -"Build_basics"_Build_basics.html doc page about building a shared -library and the "Python_install"_Python_install.html doc page about -insuring Python can find the necessary two files it needs. - -[Test LAMMPS and Python in serial:] :h4 - -To run a LAMMPS test in serial, type these lines into Python -interactively from the bench directory: - ->>> from lammps import lammps ->>> lmp = lammps() ->>> lmp.file("in.lj") :pre - -Or put the same lines in the file test.py and run it as - -% python test.py :pre - -Either way, you should see the results of running the in.lj benchmark -on a single processor appear on the screen, the same as if you had -typed something like: - -lmp_g++ -in in.lj :pre - -[Test LAMMPS and Python in parallel:] :h4 - -To run LAMMPS in parallel, assuming you have installed the -"PyPar"_https://github.com/daleroberts/pypar package as discussed -above, create a test.py file containing these lines: - -import pypar -from lammps import lammps -lmp = lammps() -lmp.file("in.lj") -print "Proc %d out of %d procs has" % (pypar.rank(),pypar.size()),lmp -pypar.finalize() :pre - -To run LAMMPS in parallel, assuming you have installed the -"mpi4py"_https://bitbucket.org/mpi4py/mpi4py package as discussed -above, create a test.py file containing these lines: - -from mpi4py import MPI -from lammps import lammps -lmp = lammps() -lmp.file("in.lj") -me = MPI.COMM_WORLD.Get_rank() -nprocs = MPI.COMM_WORLD.Get_size() -print "Proc %d out of %d procs has" % (me,nprocs),lmp -MPI.Finalize() :pre - -You can either script in parallel as: - -% mpirun -np 4 python test.py :pre - -and you should see the same output as if you had typed - -% mpirun -np 4 lmp_g++ -in in.lj :pre - -Note that if you leave out the 3 lines from test.py that specify PyPar -commands you will instantiate and run LAMMPS independently on each of -the P processors specified in the mpirun command. In this case you -should get 4 sets of output, each showing that a LAMMPS run was made -on a single processor, instead of one set of output showing that -LAMMPS ran on 4 processors. If the 1-processor outputs occur, it -means that PyPar is not working correctly. - -Also note that once you import the PyPar module, PyPar initializes MPI -for you, and you can use MPI calls directly in your Python script, as -described in the PyPar documentation. The last line of your Python -script should be pypar.finalize(), to insure MPI is shut down -correctly. - -[Running Python scripts:] :h4 - -Note that any Python script (not just for LAMMPS) can be invoked in -one of several ways: - -% python foo.script -% python -i foo.script -% foo.script :pre - -The last command requires that the first line of the script be -something like this: - -#!/usr/local/bin/python -#!/usr/local/bin/python -i :pre - -where the path points to where you have Python installed, and that you -have made the script file executable: - -% chmod +x foo.script :pre - -Without the "-i" flag, Python will exit when the script finishes. -With the "-i" flag, you will be left in the Python interpreter when -the script finishes, so you can type subsequent commands. As -mentioned above, you can only run Python interactively when running -Python on a single processor, not in parallel. diff --git a/doc/txt/Run_basics.txt b/doc/txt/Run_basics.txt deleted file mode 100644 index 1b7387b46ba672c1cb92cfe1f49f7d98d2593166..0000000000000000000000000000000000000000 --- a/doc/txt/Run_basics.txt +++ /dev/null @@ -1,89 +0,0 @@ -"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Basics of running LAMMPS :h3 - -LAMMPS is run from the command line, reading commands from a -file via the -in command line flag, or from standard input. -Using the "-in in.file" variant is recommended: - -lmp_serial < in.file -lmp_serial -in in.file -/path/to/lammps/src/lmp_serial < in.file -mpirun -np 4 lmp_mpi -in in.file -mpirun -np 8 /path/to//lammps/src/lmp_mpi -in in.file -mpirun -np 6 /usr/local/bin/lmp -in in.file :pre - -You normally run the LAMMPS command in the directory where your -input script is located. That is also where output files are -produced by default, unless you provide specific other paths in -your input script or on the command line. As in some of the -examples above, the LAMMPS executable itself can be placed elsewhere. - -NOTE: The redirection operator "<" will not always work when running -in parallel with mpirun; for those systems the -in form is required. - -As LAMMPS runs it prints info to the screen and a logfile named -log.lammps. More info about output is given on the "Run -output"_Run_output.html doc page. - -If LAMMPS encounters errors in the input script or while running a -simulation it will print an ERROR message and stop or a WARNING -message and continue. See the "Errors"_Errors.html doc page for a -discussion of the various kinds of errors LAMMPS can or can't detect, -a list of all ERROR and WARNING messages, and what to do about them. - -:line - -LAMMPS can run the same problem on any number of processors, including -a single processor. In theory you should get identical answers on any -number of processors and on any machine. In practice, numerical -round-off can cause slight differences and eventual divergence of -molecular dynamics phase space trajectories. See the "Errors -common"_Errors_common.html doc page for discussion of this. - -LAMMPS can run as large a problem as will fit in the physical memory -of one or more processors. If you run out of memory, you must run on -more processors or define a smaller problem. - -If you run LAMMPS in parallel via mpirun, you should be aware of the -"processors"_processors.html command which controls how MPI tasks are -mapped to the simulation box, as well as mpirun options that control -how MPI tasks are assigned to physical cores of the node(s) of the -machine you are running on. These settings can improve performance, -though the defaults are often adequate. - -For example, it is often important to bind MPI tasks (processes) to -physical cores (processor affinity), so that the operating system does -not migrate them during a simulation. If this is not the default -behavior on your machine, the mpirun option "--bind-to core" (OpenMPI) -or "-bind-to core" (MPICH) can be used. - -If the LAMMPS command(s) you are using support multi-threading, you -can set the number of threads per MPI task via the environment -variable OMP_NUM_THREADS, before you launch LAMMPS: - -export OMP_NUM_THREADS=2 # bash -setenv OMP_NUM_THREADS 2 # csh or tcsh :pre - -This can also be done via the "package"_package.html command or via -the "-pk command-line switch"_Run_options.html which invokes the -package command. See the "package"_package.html command or -"Speed"_Speed.html doc pages for more details about which accelerator -packages and which commands support multi-threading. - -:line - -You can experiment with running LAMMPS using any of the input scripts -provided in the examples or bench directory. Input scripts are named -in.* and sample outputs are named log.*.P where P is the number of -processors it was run on. - -Some of the examples or benchmarks require LAMMPS to be built with -optional packages. diff --git a/doc/txt/Run_head.txt b/doc/txt/Run_head.txt deleted file mode 100644 index 5e2c0fe23539eb3d513dd9b12699a7c78b09efc2..0000000000000000000000000000000000000000 --- a/doc/txt/Run_head.txt +++ /dev/null @@ -1,38 +0,0 @@ -"Previous Section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Commands.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Run LAMMPS :h2 - -These pages explain how to run LAMMPS once you have "installed an -executable"_Install.html or "downloaded the source code"_Install.html -and "built an executable"_Build.html. The "Commands"_Commands.html -doc page describes how input scripts are structured and the commands -they can contain. - - - - - -"Basics of running LAMMPS"_Run_basics.html -"Command-line options"_Run_options.html -"Screen and logfile output"_Run_output.html -"Running LAMMPS on Windows"_Run_windows.html :all(b) - - diff --git a/doc/txt/Run_options.txt b/doc/txt/Run_options.txt deleted file mode 100644 index df1a57421a6ac12e8f0857f8ab1890391f4638b4..0000000000000000000000000000000000000000 --- a/doc/txt/Run_options.txt +++ /dev/null @@ -1,542 +0,0 @@ -"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Command-line options :h3 - -At run time, LAMMPS recognizes several optional command-line switches -which may be used in any order. Either the full word or a one-or-two -letter abbreviation can be used: - -"-e or -echo"_#echo -"-h or -help"_#help -"-i or -in"_#file -"-k or -kokkos"_#run-kokkos -"-l or -log"_#log -"-m or -mpicolor"_#mpicolor -"-nc or -nocite"_#nocite -"-pk or -package"_#package -"-p or -partition"_#partition -"-pl or -plog"_#plog -"-ps or -pscreen"_#pscreen -"-ro or -reorder"_#reorder -"-r2data or -restart2data"_#restart2data -"-r2dump or -restart2dump"_#restart2dump -"-sc or -screen"_#screen -"-sf or -suffix"_#suffix -"-v or -var"_#var :ul - -For example, the lmp_mpi executable might be launched as follows: - -mpirun -np 16 lmp_mpi -v f tmp.out -l my.log -sc none -i in.alloy -mpirun -np 16 lmp_mpi -var f tmp.out -log my.log -screen none -in in.alloy :pre - -:line - -[-echo style] :link(echo) - -Set the style of command echoing. The style can be {none} or {screen} -or {log} or {both}. Depending on the style, each command read from -the input script will be echoed to the screen and/or logfile. This -can be useful to figure out which line of your script is causing an -input error. The default value is {log}. The echo style can also be -set by using the "echo"_echo.html command in the input script itself. - -:line - -[-help] :link(help) - -Print a brief help summary and a list of options compiled into this -executable for each LAMMPS style (atom_style, fix, compute, -pair_style, bond_style, etc). This can tell you if the command you -want to use was included via the appropriate package at compile time. -LAMMPS will print the info and immediately exit if this switch is -used. - -:line - -[-in file] :link(file) - -Specify a file to use as an input script. This is an optional switch -when running LAMMPS in one-partition mode. If it is not specified, -LAMMPS reads its script from standard input, typically from a script -via I/O redirection; e.g. lmp_linux < in.run. I/O redirection should -also work in parallel, but if it does not (in the unlikely case that -an MPI implementation does not support it), then use the -in flag. -Note that this is a required switch when running LAMMPS in -multi-partition mode, since multiple processors cannot all read from -stdin. - -:line - -[-kokkos on/off keyword/value ...] :link(run-kokkos) - -Explicitly enable or disable KOKKOS support, as provided by the KOKKOS -package. Even if LAMMPS is built with this package, as described -in "Speed kokkos"_Speed_kokkos.html, this switch must be set to enable -running with KOKKOS-enabled styles the package provides. If the -switch is not set (the default), LAMMPS will operate as if the KOKKOS -package were not installed; i.e. you can run standard LAMMPS or with -the GPU or USER-OMP packages, for testing or benchmarking purposes. - -Additional optional keyword/value pairs can be specified which -determine how Kokkos will use the underlying hardware on your -platform. These settings apply to each MPI task you launch via the -"mpirun" or "mpiexec" command. You may choose to run one or more MPI -tasks per physical node. Note that if you are running on a desktop -machine, you typically have one physical node. On a cluster or -supercomputer there may be dozens or 1000s of physical nodes. - -Either the full word or an abbreviation can be used for the keywords. -Note that the keywords do not use a leading minus sign. I.e. the -keyword is "t", not "-t". Also note that each of the keywords has a -default setting. Examples of when to use these options and what -settings to use on different platforms is given on the "Speed -kokkos"_Speed_kokkos.html doc page. - -d or device -g or gpus -t or threads -n or numa :ul - -device Nd :pre - -This option is only relevant if you built LAMMPS with CUDA=yes, you -have more than one GPU per node, and if you are running with only one -MPI task per node. The Nd setting is the ID of the GPU on the node to -run on. By default Nd = 0. If you have multiple GPUs per node, they -have consecutive IDs numbered as 0,1,2,etc. This setting allows you -to launch multiple independent jobs on the node, each with a single -MPI task per node, and assign each job to run on a different GPU. - -gpus Ng Ns :pre - -This option is only relevant if you built LAMMPS with CUDA=yes, you -have more than one GPU per node, and you are running with multiple MPI -tasks per node (up to one per GPU). The Ng setting is how many GPUs -you will use. The Ns setting is optional. If set, it is the ID of a -GPU to skip when assigning MPI tasks to GPUs. This may be useful if -your desktop system reserves one GPU to drive the screen and the rest -are intended for computational work like running LAMMPS. By default -Ng = 1 and Ns is not set. - -Depending on which flavor of MPI you are running, LAMMPS will look for -one of these 4 environment variables - -SLURM_LOCALID (various MPI variants compiled with SLURM support) -MPT_LRANK (HPE MPI) -MV2_COMM_WORLD_LOCAL_RANK (Mvapich) -OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI) :pre - -which are initialized by the "srun", "mpirun" or "mpiexec" commands. -The environment variable setting for each MPI rank is used to assign a -unique GPU ID to the MPI task. - -threads Nt :pre - -This option assigns Nt number of threads to each MPI task for -performing work when Kokkos is executing in OpenMP or pthreads mode. -The default is Nt = 1, which essentially runs in MPI-only mode. If -there are Np MPI tasks per physical node, you generally want Np*Nt = -the number of physical cores per node, to use your available hardware -optimally. This also sets the number of threads used by the host when -LAMMPS is compiled with CUDA=yes. - -numa Nm :pre - -This option is only relevant when using pthreads with hwloc support. -In this case Nm defines the number of NUMA regions (typically sockets) -on a node which will be utilized by a single MPI rank. By default Nm -= 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 -its default value of 1. This is because letting a single process span -multiple NUMA regions induces a significant amount of cross NUMA data -traffic which is slow. - -:line - -[-log file] :link(log) - -Specify a log file for LAMMPS to write status information to. In -one-partition mode, if the switch is not used, LAMMPS writes to the -file log.lammps. If this switch is used, LAMMPS writes to the -specified file. In multi-partition mode, if the switch is not used, a -log.lammps file is created with hi-level status information. Each -partition also writes to a log.lammps.N file where N is the partition -ID. If the switch is specified in multi-partition mode, the hi-level -logfile is named "file" and each partition also logs information to a -file.N. For both one-partition and multi-partition mode, if the -specified file is "none", then no log files are created. Using a -"log"_log.html command in the input script will override this setting. -Option -plog will override the name of the partition log files file.N. - -:line - -[-mpicolor] color :link(mpicolor) - -If used, this must be the first command-line argument after the LAMMPS -executable name. It is only used when LAMMPS is launched by an mpirun -command which also launches another executable(s) at the same time. -(The other executable could be LAMMPS as well.) The color is an -integer value which should be different for each executable (another -application may set this value in a different way). LAMMPS and the -other executable(s) perform an MPI_Comm_split() with their own colors -to shrink the MPI_COMM_WORLD communication to be the subset of -processors they are actually running on. - -Currently, this is only used in LAMMPS to perform client/server -messaging with another application. LAMMPS can act as either a client -or server (or both). More details are given on the "Howto -client/server"_Howto_client_server.html doc page. - -Specifically, this refers to the "mpi/one" mode of messaging provided -by the "message"_message.html command and the CSlib library LAMMPS -links with from the lib/message directory. See the -"message"_message.html command for more details. - -:line - -[-nocite] :link(nocite) - -Disable writing the log.cite file which is normally written to list -references for specific cite-able features used during a LAMMPS run. -See the "citation page"_http://lammps.sandia.gov/cite.html for more -details. - -:line - -[-package style args ....] :link(package) - -Invoke the "package"_package.html command with style and args. The -syntax is the same as if the command appeared at the top of the input -script. For example "-package gpu 2" or "-pk gpu 2" is the same as -"package gpu 2"_package.html in the input script. The possible styles -and args are documented on the "package"_package.html doc page. This -switch can be used multiple times, e.g. to set options for the -USER-INTEL and USER-OMP packages which can be used together. - -Along with the "-suffix" command-line switch, this is a convenient -mechanism for invoking accelerator packages and their options without -having to edit an input script. - -:line - -[-partition 8x2 4 5 ...] :link(partition) - -Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P -processors and this switch is not used, LAMMPS runs in one partition, -i.e. all P processors run a single simulation. If this switch is -used, the P processors are split into separate partitions and each -partition runs its own simulation. The arguments to the switch -specify the number of processors in each partition. Arguments of the -form MxN mean M partitions, each with N processors. Arguments of the -form N mean a single partition with N processors. The sum of -processors in all partitions must equal P. Thus the command -"-partition 8x2 4 5" has 10 partitions and runs on a total of 25 -processors. - -Running with multiple partitions can be useful for running -"multi-replica simulations"_Howto_replica.html, where each replica -runs on one or a few processors. Note that with MPI installed on a -machine (e.g. your desktop), you can run on more (virtual) processors -than you have physical processors. - -To run multiple independent simulations from one input script, using -multiple partitions, see the "Howto multiple"_Howto_multiple.html doc -page. World- and universe-style "variables"_variable.html are useful -in this context. - -:line - -[-plog file] :link(plog) - -Specify the base name for the partition log files, so partition N -writes log information to file.N. If file is none, then no partition -log files are created. This overrides the filename specified in the --log command-line option. This option is useful when working with -large numbers of partitions, allowing the partition log files to be -suppressed (-plog none) or placed in a sub-directory (-plog -replica_files/log.lammps) If this option is not used the log file for -partition N is log.lammps.N or whatever is specified by the -log -command-line option. - -:line - -[-pscreen file] :link(pscreen) - -Specify the base name for the partition screen file, so partition N -writes screen information to file.N. If file is none, then no -partition screen files are created. This overrides the filename -specified in the -screen command-line option. This option is useful -when working with large numbers of partitions, allowing the partition -screen files to be suppressed (-pscreen none) or placed in a -sub-directory (-pscreen replica_files/screen). If this option is not -used the screen file for partition N is screen.N or whatever is -specified by the -screen command-line option. - -:line - -[-reorder] :link(reorder) - -This option has 2 forms: - --reorder nth N --reorder custom filename :pre - -Reorder the processors in the MPI communicator used to instantiate -LAMMPS, in one of several ways. The original MPI communicator ranks -all P processors from 0 to P-1. The mapping of these ranks to -physical processors is done by MPI before LAMMPS begins. It may be -useful in some cases to alter the rank order. E.g. to insure that -cores within each node are ranked in a desired order. Or when using -the "run_style verlet/split"_run_style.html command with 2 partitions -to insure that a specific Kspace processor (in the 2nd partition) is -matched up with a specific set of processors in the 1st partition. -See the "Speed tips"_Speed_tips.html doc page for more details. - -If the keyword {nth} is used with a setting {N}, then it means every -Nth processor will be moved to the end of the ranking. This is useful -when using the "run_style verlet/split"_run_style.html command with 2 -partitions via the -partition command-line switch. The first set of -processors will be in the first partition, the 2nd set in the 2nd -partition. The -reorder command-line switch can alter this so that -the 1st N procs in the 1st partition and one proc in the 2nd partition -will be ordered consecutively, e.g. as the cores on one physical node. -This can boost performance. For example, if you use "-reorder nth 4" -and "-partition 9 3" and you are running on 12 processors, the -processors will be reordered from - -0 1 2 3 4 5 6 7 8 9 10 11 :pre - -to - -0 1 2 4 5 6 8 9 10 3 7 11 :pre - -so that the processors in each partition will be - -0 1 2 4 5 6 8 9 10 -3 7 11 :pre - -See the "processors" command for how to insure processors from each -partition could then be grouped optimally for quad-core nodes. - -If the keyword is {custom}, then a file that specifies a permutation -of the processor ranks is also specified. The format of the reorder -file is as follows. Any number of initial blank or comment lines -(starting with a "#" character) can be present. These should be -followed by P lines of the form: - -I J :pre - -where P is the number of processors LAMMPS was launched with. Note -that if running in multi-partition mode (see the -partition switch -above) P is the total number of processors in all partitions. The I -and J values describe a permutation of the P processors. Every I and -J should be values from 0 to P-1 inclusive. In the set of P I values, -every proc ID should appear exactly once. Ditto for the set of P J -values. A single I,J pairing means that the physical processor with -rank I in the original MPI communicator will have rank J in the -reordered communicator. - -Note that rank ordering can also be specified by many MPI -implementations, either by environment variables that specify how to -order physical processors, or by config files that specify what -physical processors to assign to each MPI rank. The -reorder switch -simply gives you a portable way to do this without relying on MPI -itself. See the "processors out"_processors.html command for how -to output info on the final assignment of physical processors to -the LAMMPS simulation domain. - -:line - -[-restart2data restartfile \[remap\] datafile keyword value ...] -:link(restart2data) - -Convert the restart file into a data file and immediately exit. This -is the same operation as if the following 2-line input script were -run: - -read_restart restartfile \[remap\] -write_data datafile keyword value ... :pre - -The specified restartfile and/or datafile name may contain the wild-card -character "*". The restartfile name may also contain the wild-card -character "%". The meaning of these characters is explained on the -"read_restart"_read_restart.html and "write_data"_write_data.html doc -pages. The use of "%" means that a parallel restart file can be read. -Note that a filename such as file.* may need to be enclosed in quotes or -the "*" character prefixed with a backslash ("\") to avoid shell -expansion of the "*" character. - -Following restartfile argument, the optional word "remap" may be used. -This has the same effect like adding it to a -"read_restart"_read_restart.html command, and operates as explained on -its doc page. This is useful if reading the restart file triggers an -error that atoms have been lost. In that case, use of the remap flag -should allow the data file to still be produced. - -The syntax following restartfile (or remap), namely - -datafile keyword value ... :pre - -is identical to the arguments of the "write_data"_write_data.html -command. See its doc page for details. This includes its -optional keyword/value settings. - -:line - -[-restart2dump restartfile \[remap\] group-ID dumpstyle dumpfile arg1 arg2 ...] :link(restart2dump) - -Convert the restart file into a dump file and immediately exit. This -is the same operation as if the following 2-line input script were -run: - -read_restart restartfile \[remap\] -write_dump group-ID dumpstyle dumpfile arg1 arg2 ... :pre - -Note that the specified restartfile and dumpfile names may contain -wild-card characters ("*","%") as explained on the -"read_restart"_read_restart.html and "write_dump"_write_dump.html doc -pages. The use of "%" means that a parallel restart file and/or -parallel dump file can be read and/or written. Note that a filename -such as file.* may need to be enclosed in quotes or the "*" character -prefixed with a backslash ("\") to avoid shell expansion of the "*" -character. - -Note that following the restartfile argument, the optional word "remap" -can be used. This has the effect as adding it to the -"read_restart"_read_restart.html command, as explained on its doc page. -This is useful if reading the restart file triggers an error that atoms -have been lost. In that case, use of the remap flag should allow the -dump file to still be produced. - -The syntax following restartfile (or remap), namely - -group-ID dumpstyle dumpfile arg1 arg2 ... :pre - -is identical to the arguments of the "write_dump"_write_dump.html -command. See its doc page for details. This includes what per-atom -fields are written to the dump file and optional dump_modify settings, -including ones that affect how parallel dump files are written, e.g. -the {nfile} and {fileper} keywords. See the -"dump_modify"_dump_modify.html doc page for details. - -:line - -[-screen file] :link(screen) - -Specify a file for LAMMPS to write its screen information to. In -one-partition mode, if the switch is not used, LAMMPS writes to the -screen. If this switch is used, LAMMPS writes to the specified file -instead and you will see no screen output. In multi-partition mode, -if the switch is not used, hi-level status information is written to -the screen. Each partition also writes to a screen.N file where N is -the partition ID. If the switch is specified in multi-partition mode, -the hi-level screen dump is named "file" and each partition also -writes screen information to a file.N. For both one-partition and -multi-partition mode, if the specified file is "none", then no screen -output is performed. Option -pscreen will override the name of the -partition screen files file.N. - -:line - -[-suffix style args] :link(suffix) - -Use variants of various styles if they exist. The specified style can -be {gpu}, {intel}, {kk}, {omp}, {opt}, or {hybrid}. These -refer to optional packages that LAMMPS can be built with, as described -in "Accelerate performance"_Speed.html. The "gpu" style corresponds to the -GPU package, the "intel" style to the USER-INTEL package, the "kk" -style to the KOKKOS package, the "opt" style to the OPT package, and -the "omp" style to the USER-OMP package. The hybrid style is the only -style that accepts arguments. It allows for two packages to be -specified. The first package specified is the default and will be used -if it is available. If no style is available for the first package, -the style for the second package will be used if available. For -example, "-suffix hybrid intel omp" will use styles from the -USER-INTEL package if they are installed and available, but styles for -the USER-OMP package otherwise. - -Along with the "-package" command-line switch, this is a convenient -mechanism for invoking accelerator packages and their options without -having to edit an input script. - -As an example, all of the packages provide a "pair_style -lj/cut"_pair_lj.html variant, with style names lj/cut/gpu, -lj/cut/intel, lj/cut/kk, lj/cut/omp, and lj/cut/opt. A variant style -can be specified explicitly in your input script, e.g. pair_style -lj/cut/gpu. If the -suffix switch is used the specified suffix -(gpu,intel,kk,omp,opt) is automatically appended whenever your input -script command creates a new "atom"_atom_style.html, -"pair"_pair_style.html, "fix"_fix.html, "compute"_compute.html, or -"run"_run_style.html style. If the variant version does not exist, -the standard version is created. - -For the GPU package, using this command-line switch also invokes the -default GPU settings, as if the command "package gpu 1" were used at -the top of your input script. These settings can be changed by using -the "-package gpu" command-line switch or the "package -gpu"_package.html command in your script. - -For the USER-INTEL package, using this command-line switch also -invokes the default USER-INTEL settings, as if the command "package -intel 1" were used at the top of your input script. These settings -can be changed by using the "-package intel" command-line switch or -the "package intel"_package.html command in your script. If the -USER-OMP package is also installed, the hybrid style with "intel omp" -arguments can be used to make the omp suffix a second choice, if a -requested style is not available in the USER-INTEL package. It will -also invoke the default USER-OMP settings, as if the command "package -omp 0" were used at the top of your input script. These settings can -be changed by using the "-package omp" command-line switch or the -"package omp"_package.html command in your script. - -For the KOKKOS package, using this command-line switch also invokes -the default KOKKOS settings, as if the command "package kokkos" were -used at the top of your input script. These settings can be changed -by using the "-package kokkos" command-line switch or the "package -kokkos"_package.html command in your script. - -For the OMP package, using this command-line switch also invokes the -default OMP settings, as if the command "package omp 0" were used at -the top of your input script. These settings can be changed by using -the "-package omp" command-line switch or the "package -omp"_package.html command in your script. - -The "suffix"_suffix.html command can also be used within an input -script to set a suffix, or to turn off or back on any suffix setting -made via the command line. - -:line - -[-var name value1 value2 ...] :link(var) - -Specify a variable that will be defined for substitution purposes when -the input script is read. This switch can be used multiple times to -define multiple variables. "Name" is the variable name which can be a -single character (referenced as $x in the input script) or a full -string (referenced as $\{abc\}). An "index-style -variable"_variable.html will be created and populated with the -subsequent values, e.g. a set of filenames. Using this command-line -option is equivalent to putting the line "variable name index value1 -value2 ..." at the beginning of the input script. Defining an index -variable as a command-line argument overrides any setting for the same -index variable in the input script, since index variables cannot be -re-defined. - -See the "variable"_variable.html command for more info on defining -index and other kinds of variables and the "Commands -parse"_Commands_parse.html page for more info on using variables in -input scripts. - -NOTE: Currently, the command-line parser looks for arguments that -start with "-" to indicate new switches. Thus you cannot specify -multiple variable values if any of them start with a "-", e.g. a -negative numeric value. It is OK if the first value1 starts with a -"-", since it is automatically skipped. diff --git a/doc/txt/Run_output.txt b/doc/txt/Run_output.txt deleted file mode 100644 index 70eecff20dbbe14a232dbe29eef50be55078b773..0000000000000000000000000000000000000000 --- a/doc/txt/Run_output.txt +++ /dev/null @@ -1,176 +0,0 @@ -"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Screen and logfile output :h3 - -As LAMMPS reads an input script, it prints information to both the -screen and a log file about significant actions it takes to setup a -simulation. When the simulation is ready to begin, LAMMPS performs -various initializations, and prints info about the run it is about to -perform, including the amount of memory (in MBytes per processor) that -the simulation requires. It also prints details of the initial -thermodynamic state of the system. During the run itself, -thermodynamic information is printed periodically, every few -timesteps. When the run concludes, LAMMPS prints the final -thermodynamic state and a total run time for the simulation. It also -appends statistics about the CPU time and storage requirements for the -simulation. An example set of statistics is shown here: - -Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms :pre - -Performance: 18.436 ns/day 1.302 hours/ns 106.689 timesteps/s -97.0% CPU use with 4 MPI tasks x no OpenMP threads :pre - -MPI task timings breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.9808 | 2.0134 | 2.0318 | 1.4 | 71.60 -Bond | 0.0021894 | 0.0060319 | 0.010058 | 4.7 | 0.21 -Kspace | 0.3207 | 0.3366 | 0.36616 | 3.1 | 11.97 -Neigh | 0.28411 | 0.28464 | 0.28516 | 0.1 | 10.12 -Comm | 0.075732 | 0.077018 | 0.07883 | 0.4 | 2.74 -Output | 0.00030518 | 0.00042665 | 0.00078821 | 1.0 | 0.02 -Modify | 0.086606 | 0.086631 | 0.086668 | 0.0 | 3.08 -Other | | 0.007178 | | | 0.26 :pre - -Nlocal: 501 ave 508 max 490 min -Histogram: 1 0 0 0 0 0 1 1 0 1 -Nghost: 6586.25 ave 6628 max 6548 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Neighs: 177007 ave 180562 max 170212 min -Histogram: 1 0 0 0 0 0 0 1 1 1 :pre - -Total # of neighbors = 708028 -Ave neighs/atom = 353.307 -Ave special neighs/atom = 2.34032 -Neighbor list builds = 26 -Dangerous builds = 0 :pre - -:line - -The first section provides a global loop timing summary. The {loop -time} is the total wall-clock time for the simulation to run. The -{Performance} line is provided for convenience to help predict how -long it will take to run a desired physical simulation. 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 not using OpenMP). -Lower numbers correspond to delays due to file I/O or insufficient -thread utilization. - -:line - -The {MPI task} section gives the breakdown of the CPU run time (in -seconds) into major categories: - -{Pair} = non-bonded force computations -{Bond} = bonded interactions: bonds, angles, dihedrals, impropers -{Kspace} = long-range interactions: Ewald, PPPM, MSM -{Neigh} = neighbor list construction -{Comm} = inter-processor communication of atoms and their properties -{Output} = output of thermodynamic info and dump files -{Modify} = fixes and computes invoked by fixes -{Other} = all the remaining time :ul - -For each category, there is a breakdown of the least, average and most -amount of wall time any processor spent on this category of -computation. The "%varavg" is the percentage by which the max or min -varies from the average. This is an indication of load imbalance. A -percentage close to 0 is perfect load balance. A large percentage is -imbalance. The final "%total" column is the percentage of the total -loop time is spent in this category. - -When using the "timer full"_timer.html setting, an additional column -is added that also prints the CPU utilization in percent. In addition, -when using {timer full} and the "package omp"_package.html command are -active, a similar timing summary of time spent in threaded regions to -monitor thread utilization and load balance is provided. A new {Thread -timings} section is also added, which lists the time spent in reducing -the per-thread data elements to the storage for non-threaded -computation. These thread timings are measured for the first MPI rank -only and thus, because the breakdown for MPI tasks can change from -MPI rank to MPI rank, this breakdown can be very different for -individual ranks. Here is an example output for this section: - -Thread timings breakdown (MPI rank 0): -Total threaded time 0.6846 / 90.6% -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.5127 | 0.5147 | 0.5167 | 0.3 | 75.18 -Bond | 0.0043139 | 0.0046779 | 0.0050418 | 0.5 | 0.68 -Kspace | 0.070572 | 0.074541 | 0.07851 | 1.5 | 10.89 -Neigh | 0.084778 | 0.086969 | 0.089161 | 0.7 | 12.70 -Reduce | 0.0036485 | 0.003737 | 0.0038254 | 0.1 | 0.55 :pre - -:line - -The third section above lists the number of owned atoms (Nlocal), -ghost atoms (Nghost), and pair-wise neighbors stored per processor. -The max and min values give the spread of these values across -processors with a 10-bin histogram showing the distribution. The total -number of histogram counts is equal to the number of processors. - -:line - -The last section gives aggregate statistics (across all processors) -for pair-wise neighbors and special neighbors that LAMMPS keeps track -of (see the "special_bonds"_special_bonds.html command). The number -of times neighbor lists were rebuilt is tallied, as is the number of -potentially {dangerous} rebuilds. If atom movement triggered neighbor -list rebuilding (see the "neigh_modify"_neigh_modify.html command), -then dangerous reneighborings are those that were triggered on the -first timestep atom movement was checked for. If this count is -non-zero you may wish to reduce the delay factor to insure no force -interactions are missed by atoms moving beyond the neighbor skin -distance before a rebuild takes place. - -:line - -If an energy minimization was performed via the -"minimize"_minimize.html command, additional information is printed, -e.g. - -Minimization stats: - Stopping criterion = linesearch alpha is zero - Energy initial, next-to-last, final = - -6372.3765206 -8328.46998942 -8328.46998942 - Force two-norm initial, final = 1059.36 5.36874 - Force max component initial, final = 58.6026 1.46872 - Final line search alpha, max atom move = 2.7842e-10 4.0892e-10 - Iterations, force evaluations = 701 1516 :pre - -The first line prints the criterion that determined minimization was -converged. The next line lists the initial and final energy, as well -as the energy on the next-to-last iteration. The next 2 lines give a -measure of the gradient of the energy (force on all atoms). The -2-norm is the "length" of this 3N-component force vector; the largest -component (x, y, or z) of force (infinity-norm) is also given. Then -information is provided about the line search and statistics on how -many iterations and force-evaluations the minimizer required. -Multiple force evaluations are typically done at each iteration to -perform a 1d line minimization in the search direction. See the -"minimize"_minimize.html doc page for more details. - -:line - -If a "kspace_style"_kspace_style.html long-range Coulombics solver -that performs FFTs was used during the run (PPPM, Ewald), then -additional information is printed, e.g. - -FFT time (% of Kspce) = 0.200313 (8.34477) -FFT Gflps 3d 1d-only = 2.31074 9.19989 :pre - -The first line is the time spent doing 3d FFTs (several per timestep) -and the fraction it represents of the total KSpace time (listed -above). Each 3d FFT requires computation (3 sets of 1d FFTs) and -communication (transposes). The total flops performed is 5Nlog_2(N), -where N is the number of points in the 3d grid. The FFTs are timed -with and without the communication and a Gflop rate is computed. The -3d rate is with communication; the 1d rate is without (just the 1d -FFTs). Thus you can estimate what fraction of your FFT time was spent -in communication, roughly 75% in the example above. diff --git a/doc/txt/Run_windows.txt b/doc/txt/Run_windows.txt deleted file mode 100644 index e9c3b60dbebb011c765b2342ff2d6cf41825ef6a..0000000000000000000000000000000000000000 --- a/doc/txt/Run_windows.txt +++ /dev/null @@ -1,73 +0,0 @@ -"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Running LAMMPS on Windows :h3 - -To run a serial (non-MPI) executable, follow these steps: - -Get a command prompt by going to Start->Run... , -then typing "cmd". :ulb,l - -Move to the directory where you have your input script, -(e.g. by typing: cd "Documents"). :l - -At the command prompt, type "lmp_serial -in in.file", where -in.file is the name of your LAMMPS input script. :l,ule - -Note that the serial executable includes support for multi-threading -parallelization from the styles in the USER-OMP packages. To run with -4 threads, you can type this: - -lmp_serial -in in.lj -pk omp 4 -sf omp :pre - -:line - -For the MPI executable, which allows you to run LAMMPS under Windows -in parallel, follow these steps. - -Download and install a compatible MPI library binary package: - -for 32-bit Windows: "mpich2-1.4.1p1-win-ia32.msi"_http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi -for 64-bit Windows: "mpich2-1.4.1p1-win-x86-64.msi"_http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi :ul - -The LAMMPS Windows installer packages will automatically adjust your -path for the default location of this MPI package. After the -installation of the MPICH2 software, it needs to be integrated into -the system. For this you need to start a Command Prompt in -{Administrator Mode} (right click on the icon and select it). Change -into the MPICH2 installation directory, then into the sub-directory -[bin] and execute [smpd.exe -install]. Exit the command window. - -Get a new, regular command prompt by going to Start->Run... , -then typing "cmd". :ulb,l - -Move to the directory where you have your input file -(e.g. by typing: cd "Documents"). :l,ule - -Then type something like this: - -mpiexec -localonly 4 lmp_mpi -in in.file -mpiexec -np 4 lmp_mpi -in in.file :pre - -where in.file is the name of your LAMMPS input script. For the latter -case, you may be prompted to enter your password. - -In this mode, output may not immediately show up on the screen, so if -your input script takes a long time to execute, you may need to be -patient before the output shows up. - -The parallel executable can also run on a single processor by typing -something like this: - -lmp_mpi -in in.lj :pre - -Note that the parallel executable also includes OpenMP -multi-threading, which can be combined with MPI using something like: - -mpiexec -localonly 2 lmp_mpi -in in.lj -pk omp 2 -sf omp :pre diff --git a/doc/txt/Speed.txt b/doc/txt/Speed.txt deleted file mode 100644 index 28aef26a5d98b19a44d6c633f9c191d6dbd2b39e..0000000000000000000000000000000000000000 --- a/doc/txt/Speed.txt +++ /dev/null @@ -1,57 +0,0 @@ -"Previous Section"_Package.html - "LAMMPS WWW Site"_lws - -"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Howto.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Accelerate performance :h2 - -This section describes various methods for improving LAMMPS -performance for different classes of problems running on different -kinds of machines. - -There are two thrusts to the discussion that follows. The first is -using code options that implement alternate algorithms that can -speed-up a simulation. The second is to use one of the several -accelerator packages provided with LAMMPS that contain code optimized -for certain kinds of hardware, including multi-core CPUs, GPUs, and -Intel Xeon Phi co-processors. - -The "Benchmark page"_http://lammps.sandia.gov/bench.html of the LAMMPS -web site gives performance results for the various accelerator -packages discussed on the "Speed packages"_Speed_packages.html doc -page, for several of the standard LAMMPS benchmark problems, as a -function of problem size and number of compute nodes, on different -hardware platforms. - - - - - -"Benchmarks"_Speed_bench.html -"Measuring performance"_Speed_measure.html -"General tips"_Speed_tips.html -"Accelerator packages"_Speed_packages.html -"GPU package"_Speed_gpu.html -"USER-INTEL package"_Speed_intel.html -"KOKKOS package"_Speed_kokkos.html -"USER-OMP package"_Speed_omp.html -"OPT package"_Speed_opt.html -"Comparison of accelerator packages"_Speed_compare.html :all(b) - - diff --git a/doc/txt/Speed_bench.txt b/doc/txt/Speed_bench.txt deleted file mode 100644 index a3d0bf4f46f95c07f04c304449d4399a6c79c95f..0000000000000000000000000000000000000000 --- a/doc/txt/Speed_bench.txt +++ /dev/null @@ -1,88 +0,0 @@ -"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Benchmarks :h3 - -Current LAMMPS performance is discussed on the "Benchmarks -page"_http://lammps.sandia.gov/bench.html of the "LAMMPS website"_lws -where timings and parallel efficiency are listed. The page has -several sections, which are briefly described below: - -CPU performance on 5 standard problems, strong and weak scaling -GPU and Xeon Phi performance on same and related problems -Comparison of cost of interatomic potentials -Performance of huge, billion-atom problems :ul - -The 5 standard problems are as follow: - -LJ = atomic fluid, Lennard-Jones potential with 2.5 sigma cutoff (55 -neighbors per atom), NVE integration :olb,l - -Chain = bead-spring polymer melt of 100-mer chains, FENE bonds and LJ -pairwise interactions with a 2^(1/6) sigma cutoff (5 neighbors per -atom), NVE integration :l - -EAM = metallic solid, Cu EAM potential with 4.95 Angstrom cutoff (45 -neighbors per atom), NVE integration :l - -Chute = granular chute flow, frictional history potential with 1.1 -sigma cutoff (7 neighbors per atom), NVE integration :l - -Rhodo = rhodopsin protein in solvated lipid bilayer, CHARMM force -field with a 10 Angstrom LJ cutoff (440 neighbors per atom), -particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT -integration :l -:ole - -Input files for these 5 problems are provided in the bench directory -of the LAMMPS distribution. Each has 32,000 atoms and runs for 100 -timesteps. The size of the problem (number of atoms) can be varied -using command-line switches as described in the bench/README file. -This is an easy way to test performance and either strong or weak -scalability on your machine. - -The bench directory includes a few log.* files that show performance -of these 5 problems on 1 or 4 cores of Linux desktop. The bench/FERMI -and bench/KEPLER dirs have input files and scripts and instructions -for running the same (or similar) problems using OpenMP or GPU or Xeon -Phi acceleration options. See the README files in those dirs and the -"Speed packages"_Speed_packages.html doc pages for instructions on how -to build LAMMPS and run on that kind of hardware. - -The bench/POTENTIALS directory has input files which correspond to the -table of results on the -"Potentials"_http://lammps.sandia.gov/bench.html#potentials section of -the Benchmarks web page. So you can also run those test problems on -your machine. - -The "billion-atom"_http://lammps.sandia.gov/bench.html#billion section -of the Benchmarks web page has performance data for very large -benchmark runs of simple Lennard-Jones (LJ) models, which use the -bench/in.lj input script. - -:line - -For all the benchmarks, a useful metric is the CPU cost per atom per -timestep. Since performance scales roughly linearly with problem size -and timesteps for all LAMMPS models (i.e. interatomic or coarse-grained -potentials), the run time of any problem using the same model (atom -style, force field, cutoff, etc) can then be estimated. - -Performance on a parallel machine can also be predicted from one-core -or one-node timings if the parallel efficiency can be estimated. The -communication bandwidth and latency of a particular parallel machine -affects the efficiency. On most machines LAMMPS will give a parallel -efficiency on these benchmarks above 50% so long as the number of -atoms/core is a few 100 or greater, and closer to 100% for large -numbers of atoms/core. This is for all-MPI mode with one MPI task per -core. For nodes with accelerator options or hardware (OpenMP, GPU, -Phi), you should first measure single node performance. Then you can -estimate parallel performance for multi-node runs using the same logic -as for all-MPI mode, except that now you will typically need many more -atoms/node to achieve good scalability. diff --git a/doc/txt/Speed_compare.txt b/doc/txt/Speed_compare.txt deleted file mode 100644 index c95af3cb22e607966e21d7fe4576efaffbc493b8..0000000000000000000000000000000000000000 --- a/doc/txt/Speed_compare.txt +++ /dev/null @@ -1,116 +0,0 @@ -"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Comparison of various accelerator packages :h3 - -The next section compares and contrasts the various accelerator -options, since there are multiple ways to perform OpenMP threading, -run on GPUs, optimize for vector units on CPUs and run on Intel -Xeon Phi (co-)processors. - -All of these packages can accelerate a LAMMPS calculation taking -advantage of hardware features, but they do it in different ways -and acceleration is not always guaranteed. - -As a consequence, for a particular simulation on specific hardware, -one package may be faster than the other. We give some guidelines -below, but the best way to determine which package is faster for your -input script is to try multiple of them on your machine and experiment -with available performance tuning settings. See the benchmarking -section below for examples where this has been done. - -[Guidelines for using each package optimally:] - -Both, the GPU and the KOKKOS package allows you to assign multiple -MPI ranks (= CPU cores) to the same GPU. For the GPU package, this -can lead to a speedup through better utilization of the GPU (by -overlapping computation and data transfer) and more efficient -computation of the non-GPU accelerated parts of LAMMPS through MPI -parallelization, as all system data is maintained and updated on -the host. For KOKKOS, there is less to no benefit from this, due -to its different memory management model, which tries to retain -data on the GPU. - :ulb,l - -The GPU package moves per-atom data (coordinates, forces, and -(optionally) neighbor list data, if not computed on the GPU) between -the CPU and GPU at every timestep. The KOKKOS/CUDA package only does -this on timesteps when a CPU calculation is required (e.g. to invoke -a fix or compute that is non-GPU-ized). Hence, if you can formulate -your input script to only use GPU-ized fixes and computes, and avoid -doing I/O too often (thermo output, dump file snapshots, restart files), -then the data transfer cost of the KOKKOS/CUDA package can be very low, -causing it to run faster than the GPU package. :l - -The GPU package is often faster than the KOKKOS/CUDA package, when the -number of atoms per GPU is on the smaller side. The crossover point, -in terms of atoms/GPU at which the KOKKOS/CUDA package becomes faster -depends strongly on the pair style. For example, for a simple Lennard Jones -system the crossover (in single precision) is often about 50K-100K -atoms per GPU. When performing double precision calculations the -crossover point can be significantly smaller. :l - -Both KOKKOS and GPU package compute bonded interactions (bonds, angles, -etc) on the CPU. If the GPU package is running with several MPI processes -assigned to one GPU, the cost of computing the bonded interactions is -spread across more CPUs and hence the GPU package can run faster in these -cases. :l - -When using LAMMPS with multiple MPI ranks assigned to the same GPU, its -performance depends to some extent on the available bandwidth between -the CPUs and the GPU. This can differ significantly based on the -available bus technology, capability of the host CPU and mainboard, -the wiring of the buses and whether switches are used to increase the -number of available bus slots, or if GPUs are housed in an external -enclosure. This can become quite complex. :l - -To achieve significant acceleration through GPUs, both KOKKOS and GPU -package require capable GPUs with fast on-device memory and efficient -data transfer rates. This requests capable upper mid-level to high-end -(desktop) GPUs. Using lower performance GPUs (e.g. on laptops) may -result in a slowdown instead. :l - -For the GPU package, specifically when running in parallel with MPI, -if it often more efficient to exclude the PPPM kspace style from GPU -acceleration and instead run it - concurrently with a GPU accelerated -pair style - on the CPU. This can often be easily achieved with placing -a {suffix off} command before and a {suffix on} command after the -{kspace_style pppm} command. :l - -The KOKKOS/OpenMP and USER-OMP package have different thread management -strategies, which should result in USER-OMP being more efficient for a -small number of threads with increasing overhead as the number of threads -per MPI rank grows. The KOKKOS/OpenMP kernels have less overhead in that -case, but have lower performance with few threads. :l - -The USER-INTEL package contains many options and settings for achieving -additional performance on Intel hardware (CPU and accelerator cards), but -to unlock this potential, an Intel compiler is required. The package code -will compile with GNU gcc, but it will not be as efficient. :l -:ule - -[Differences between the GPU and KOKKOS packages:] - -The GPU package accelerates only pair force, neighbor list, and (parts -of) PPPM calculations. The KOKKOS package attempts to run most of the -calculation on the GPU, but can transparently support non-accelerated -code (with a performance penalty due to having data transfers between -host and GPU). :ulb,l - -The GPU package requires neighbor lists to be built on the CPU when using -exclusion lists, or a triclinic simulation box. :l - -The GPU package can be compiled for CUDA or OpenCL and thus supports -both, Nvidia and AMD GPUs well. On Nvidia hardware, using CUDA is typically -resulting in equal or better performance over OpenCL. :l - -OpenCL in the GPU package does theoretically also support Intel CPUs or -Intel Xeon Phi, but the native support for those in KOKKOS (or USER-INTEL) -is superior. :l -:ule diff --git a/doc/txt/Speed_gpu.txt b/doc/txt/Speed_gpu.txt deleted file mode 100644 index bddefc50314d6d73879337bf84bb1a79238888bf..0000000000000000000000000000000000000000 --- a/doc/txt/Speed_gpu.txt +++ /dev/null @@ -1,193 +0,0 @@ -"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -GPU package :h3 - -The GPU package was developed by Mike Brown while at SNL and ORNL -and his collaborators, particularly Trung Nguyen (now at Northwestern). -It provides GPU versions of many pair styles and for parts of the -"kspace_style pppm"_kspace_style.html for long-range Coulombics. -It has the following general features: - -It is designed to exploit common GPU hardware configurations where one -or more GPUs are coupled to many cores of one or more multi-core CPUs, -e.g. within a node of a parallel machine. :ulb,l - -Atom-based data (e.g. coordinates, forces) are moved back-and-forth -between the CPU(s) and GPU every timestep. :l - -Neighbor lists can be built on the CPU or on the GPU :l - -The charge assignment and force interpolation portions of PPPM can be -run on the GPU. The FFT portion, which requires MPI communication -between processors, runs on the CPU. :l - -Force computations of different style (pair vs. bond/angle/dihedral/improper) -can be performed concurrently on the GPU and CPU(s), respectively. :l - -It allows for GPU computations to be performed in single or double -precision, or in mixed-mode precision, where pairwise forces are -computed in single precision, but accumulated into double-precision -force vectors. :l - -LAMMPS-specific code is in the GPU package. It makes calls to a -generic GPU library in the lib/gpu directory. This library provides -NVIDIA support as well as more general OpenCL support, so that the -same functionality is supported on a variety of hardware. :l -:ule - -[Required hardware/software:] - -To compile and use this package in CUDA mode, you currently need -to have an NVIDIA GPU and install the corresponding NVIDIA CUDA -toolkit software on your system (this is primarily tested on Linux -and completely unsupported on Windows): - -Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/*/information :ulb,l -Go to http://www.nvidia.com/object/cuda_get.html :l -Install a driver and toolkit appropriate for your system (SDK is not necessary) :l -Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to -list supported devices and properties :ule,l - -To compile and use this package in OpenCL mode, you currently need -to have the OpenCL headers and the (vendor neutral) OpenCL library installed. -In OpenCL mode, the acceleration depends on having an "OpenCL Installable Client -Driver (ICD)"_https://www.khronos.org/news/permalink/opencl-installable-client-driver-icd-loader -installed. There can be multiple of them for the same or different hardware -(GPUs, CPUs, Accelerators) installed at the same time. OpenCL refers to those -as 'platforms'. The GPU library will select the [first] suitable platform, -but this can be overridden using the device option of the "package"_package.html -command. run lammps/lib/gpu/ocl_get_devices to get a list of available -platforms and devices with a suitable ICD available. - -[Building LAMMPS with the GPU package:] - -See the "Build extras"_Build_extras.html#gpu doc page for -instructions. - -[Run with the GPU 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 the GPU package, you cannot assign more than one GPU to a -single MPI task. However multiple MPI tasks can share the same GPU, -and in many cases it will be more efficient to run this way. Likewise -it may be more efficient to use less MPI tasks/node than the available -# of CPU cores. Assignment of multiple MPI tasks to a GPU will happen -automatically if you create more MPI tasks/node than there are -GPUs/mode. E.g. with 8 MPI tasks/node and 2 GPUs, each GPU will be -shared by 4 MPI tasks. - -Use the "-sf gpu" "command-line switch"_Run_options.html, which will -automatically append "gpu" to styles that support it. Use the "-pk -gpu Ng" "command-line switch"_Run_options.html to set Ng = # of -GPUs/node to use. - -lmp_machine -sf gpu -pk gpu 1 -in in.script # 1 MPI task uses 1 GPU -mpirun -np 12 lmp_machine -sf gpu -pk gpu 2 -in in.script # 12 MPI tasks share 2 GPUs on a single 16-core (or whatever) node -mpirun -np 48 -ppn 12 lmp_machine -sf gpu -pk gpu 2 -in in.script # ditto on 4 16-core nodes :pre - -Note that if the "-sf gpu" switch is used, it also issues a default -"package gpu 1"_package.html command, which sets the number of -GPUs/node to 1. - -Using the "-pk" switch explicitly allows for setting of the number of -GPUs/node to use and additional options. Its syntax is the same as -same as the "package gpu" command. See the "package"_package.html -command doc page for details, including the default values used for -all its options if it is not specified. - -Note that the default for the "package gpu"_package.html command is to -set the Newton flag to "off" pairwise interactions. It does not -affect the setting for bonded interactions (LAMMPS default is "on"). -The "off" setting for pairwise interaction is currently required for -GPU package pair styles. - -[Or run with the GPU package by editing an input script:] - -The discussion above for the mpirun/mpiexec command, MPI tasks/node, -and use of multiple MPI tasks/GPU is the same. - -Use the "suffix gpu"_suffix.html command, or you can explicitly add an -"gpu" suffix to individual styles in your input script, e.g. - -pair_style lj/cut/gpu 2.5 :pre - -You must also use the "package gpu"_package.html command to enable the -GPU package, unless the "-sf gpu" or "-pk gpu" "command-line -switches"_Run_options.html were used. It specifies the number of -GPUs/node to use, as well as other options. - -[Speed-ups to expect:] - -The performance of a GPU versus a multi-core CPU is a function of your -hardware, which pair style is used, the number of atoms/GPU, and the -precision used on the GPU (double, single, mixed). Using the GPU package -in OpenCL mode on CPUs (which uses vectorization and multithreading) is -usually resulting in inferior performance compared to using LAMMPS' native -threading and vectorization support in the USER-OMP and USER-INTEL packages. - -See the "Benchmark page"_http://lammps.sandia.gov/bench.html of the -LAMMPS web site for performance of the GPU package on various -hardware, including the Titan HPC platform at ORNL. - -You should also experiment with how many MPI tasks per GPU to use to -give the best performance for your problem and machine. This is also -a function of the problem size and the pair style being using. -Likewise, you should experiment with the precision setting for the GPU -library to see if single or mixed precision will give accurate -results, since they will typically be faster. - -[Guidelines for best performance:] - -Using multiple MPI tasks per GPU will often give the best performance, -as allowed my most multi-core CPU/GPU configurations. :ulb,l - -If the number of particles per MPI task is small (e.g. 100s of -particles), it can be more efficient to run with fewer MPI tasks per -GPU, even if you do not use all the cores on the compute node. :l - -The "package gpu"_package.html command has several options for tuning -performance. Neighbor lists can be built on the GPU or CPU. Force -calculations can be dynamically balanced across the CPU cores and -GPUs. GPU-specific settings can be made which can be optimized -for different hardware. See the "package"_package.html command -doc page for details. :l - -As described by the "package gpu"_package.html command, GPU -accelerated pair styles can perform computations asynchronously with -CPU computations. The "Pair" time reported by LAMMPS will be the -maximum of the time required to complete the CPU pair style -computations and the time required to complete the GPU pair style -computations. Any time spent for GPU-enabled pair styles for -computations that run simultaneously with "bond"_bond_style.html, -"angle"_angle_style.html, "dihedral"_dihedral_style.html, -"improper"_improper_style.html, and "long-range"_kspace_style.html -calculations will not be included in the "Pair" time. :l - -When the {mode} setting for the package gpu command is force/neigh, -the time for neighbor list calculations on the GPU will be added into -the "Pair" time, not the "Neigh" time. An additional breakdown of the -times required for various tasks on the GPU (data copy, neighbor -calculations, force computations, etc) are output only with the LAMMPS -screen output (not in the log file) at the end of each run. These -timings represent total time spent on the GPU for each routine, -regardless of asynchronous CPU calculations. :l - -The output section "GPU Time Info (average)" reports "Max Mem / Proc". -This is the maximum memory used at one time on the GPU for data -storage by a single MPI process. :l -:ule - -[Restrictions:] - -None. diff --git a/doc/txt/Speed_intel.txt b/doc/txt/Speed_intel.txt deleted file mode 100644 index 2688b43e6f9cc081d7ace5332b31cd46aa609833..0000000000000000000000000000000000000000 --- a/doc/txt/Speed_intel.txt +++ /dev/null @@ -1,526 +0,0 @@ -"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -USER-INTEL package :h3 - -The USER-INTEL package is maintained by Mike Brown at Intel -Corporation. It provides two methods for accelerating simulations, -depending on the hardware you have. The first is acceleration on -Intel CPUs by running in single, mixed, or double precision with -vectorization. The second is acceleration on Intel Xeon Phi -co-processors via offloading neighbor list and non-bonded force -calculations to the Phi. The same C++ code is used in both cases. -When offloading to a co-processor from a CPU, the same routine is run -twice, once on the CPU and once with an offload flag. This allows -LAMMPS to run on the CPU cores and co-processor cores simultaneously. - -[Currently Available USER-INTEL Styles:] - -Angle Styles: charmm, harmonic :ulb,l -Bond Styles: fene, fourier, harmonic :l -Dihedral Styles: charmm, fourier, harmonic, opls :l -Fixes: nve, npt, nvt, nvt/sllod, nve/asphere :l -Improper Styles: cvff, harmonic :l -Pair Styles: airebo, airebo/morse, buck/coul/cut, buck/coul/long, -buck, dpd, eam, eam/alloy, eam/fs, gayberne, lj/charmm/coul/charmm, -lj/charmm/coul/long, lj/cut, lj/cut/coul/long, lj/long/coul/long, -rebo, sw, tersoff :l -K-Space Styles: pppm, pppm/disp :l -:ule - -IMPORTANT NOTE: None of the styles in the USER-INTEL package currently -support computing per-atom stress. If any compute or fix in your -input requires it, LAMMPS will abort with an error message. - -[Speed-ups to expect:] - -The speedups will depend on your simulation, the hardware, which -styles are used, the number of atoms, and the floating-point -precision mode. Performance improvements are shown compared to -LAMMPS {without using other acceleration packages} as these are -under active development (and subject to performance changes). The -measurements were performed using the input files available in -the src/USER-INTEL/TEST directory with the provided run script. -These are scalable in size; the results given are with 512K -particles (524K for Liquid Crystal). Most of the simulations are -standard LAMMPS benchmarks (indicated by the filename extension in -parenthesis) with modifications to the run length and to add a -warm-up run (for use with offload benchmarks). - -:c,image(JPG/user_intel.png) - -Results are speedups obtained on Intel Xeon E5-2697v4 processors -(code-named Broadwell), Intel Xeon Phi 7250 processors (code-named -Knights Landing), and Intel Xeon Gold 6148 processors (code-named -Skylake) with "June 2017" LAMMPS built with Intel Parallel Studio -2017 update 2. Results are with 1 MPI task per physical core. See -{src/USER-INTEL/TEST/README} for the raw simulation rates and -instructions to reproduce. - -:line - -[Accuracy and order of operations:] - -In most molecular dynamics software, parallelization parameters -(# of MPI, OpenMP, and vectorization) can change the results due -to changing the order of operations with finite-precision -calculations. The USER-INTEL package is deterministic. This means -that the results should be reproducible from run to run with the -{same} parallel configurations and when using deterministic -libraries or library settings (MPI, OpenMP, FFT). However, there -are differences in the USER-INTEL package that can change the -order of operations compared to LAMMPS without acceleration: - -Neighbor lists can be created in a different order :ulb,l -Bins used for sorting atoms can be oriented differently :l -The default stencil order for PPPM is 7. By default, LAMMPS will -calculate other PPPM parameters to fit the desired accuracy with -this order :l -The {newton} setting applies to all atoms, not just atoms shared -between MPI tasks :l -Vectorization can change the order for adding pairwise forces :l -When using the -DLMP_USE_MKL_RNG define (all included intel optimized -makefiles do) at build time, the random number generator for -dissipative particle dynamics (pair style dpd/intel) uses the Mersenne -Twister generator included in the Intel MKL library (that should be -more robust than the default Masaglia random number generator) :l -:ule - -The precision mode (described below) used with the USER-INTEL -package can change the {accuracy} of the calculations. For the -default {mixed} precision option, calculations between pairs or -triplets of atoms are performed in single precision, intended to -be within the inherent error of MD simulations. All accumulation -is performed in double precision to prevent the error from growing -with the number of atoms in the simulation. {Single} precision -mode should not be used without appropriate validation. - -:line - -[Quick Start for Experienced Users:] - -LAMMPS should be built with the USER-INTEL package installed. -Simulations should be run with 1 MPI task per physical {core}, -not {hardware thread}. - -Edit src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi as necessary. :ulb,l -Set the environment variable KMP_BLOCKTIME=0 :l -"-pk intel 0 omp $t -sf intel" added to LAMMPS command-line :l -$t should be 2 for Intel Xeon CPUs and 2 or 4 for Intel Xeon Phi :l -For some of the simple 2-body potentials without long-range -electrostatics, performance and scalability can be better with -the "newton off" setting added to the input script :l -For simulations on higher node counts, add "processors * * * grid -numa" to the beginning of the input script for better scalability :l -If using {kspace_style pppm} in the input script, add -"kspace_modify diff ad" for better performance :l -:ule - -For Intel Xeon Phi CPUs: - -Runs should be performed using MCDRAM. :ulb,l -:ule - -For simulations using {kspace_style pppm} on Intel CPUs supporting -AVX-512: - -Add "kspace_modify diff ad" to the input script :ulb,l -The command-line option should be changed to -"-pk intel 0 omp $r lrt yes -sf intel" where $r is the number of -threads minus 1. :l -Do not use thread affinity (set KMP_AFFINITY=none) :l -The "newton off" setting may provide better scalability :l -:ule - -For Intel Xeon Phi co-processors (Offload): - -Edit src/MAKE/OPTIONS/Makefile.intel_co-processor as necessary :ulb,l -"-pk intel N omp 1" added to command-line where N is the number of -co-processors per node. :l -:ule - -:line - -[Required hardware/software:] - -In order to use offload to co-processors, an Intel Xeon Phi -co-processor and an Intel compiler are required. For this, the -recommended version of the Intel compiler is 14.0.1.106 or -versions 15.0.2.044 and higher. - -Although any compiler can be used with the USER-INTEL package, -currently, vectorization directives are disabled by default when -not using Intel compilers due to lack of standard support and -observations of decreased performance. The OpenMP standard now -supports directives for vectorization and we plan to transition the -code to this standard once it is available in most compilers. We -expect this to allow improved performance and support with other -compilers. - -For Intel Xeon Phi x200 series processors (code-named Knights -Landing), there are multiple configuration options for the hardware. -For best performance, we recommend that the MCDRAM is configured in -"Flat" mode and with the cluster mode set to "Quadrant" or "SNC4". -"Cache" mode can also be used, although the performance might be -slightly lower. - -[Notes about Simultaneous Multithreading:] - -Modern CPUs often support Simultaneous Multithreading (SMT). On -Intel processors, this is called Hyper-Threading (HT) technology. -SMT is hardware support for running multiple threads efficiently on -a single core. {Hardware threads} or {logical cores} are often used -to refer to the number of threads that are supported in hardware. -For example, the Intel Xeon E5-2697v4 processor is described -as having 36 cores and 72 threads. This means that 36 MPI processes -or OpenMP threads can run simultaneously on separate cores, but that -up to 72 MPI processes or OpenMP threads can be running on the CPU -without costly operating system context switches. - -Molecular dynamics simulations will often run faster when making use -of SMT. If a thread becomes stalled, for example because it is -waiting on data that has not yet arrived from memory, another thread -can start running so that the CPU pipeline is still being used -efficiently. Although benefits can be seen by launching a MPI task -for every hardware thread, for multinode simulations, we recommend -that OpenMP threads are used for SMT instead, either with the -USER-INTEL package, "USER-OMP package"_Speed_omp.html, or -"KOKKOS package"_Speed_kokkos.html. In the example above, up -to 36X speedups can be observed by using all 36 physical cores with -LAMMPS. By using all 72 hardware threads, an additional 10-30% -performance gain can be achieved. - -The BIOS on many platforms allows SMT to be disabled, however, we do -not recommend this on modern processors as there is little to no -benefit for any software package in most cases. The operating system -will report every hardware thread as a separate core allowing one to -determine the number of hardware threads available. On Linux systems, -this information can normally be obtained with: - -cat /proc/cpuinfo :pre - -[Building LAMMPS with the USER-INTEL package:] - -See the "Build extras"_Build_extras.html#user-intel doc page for -instructions. Some additional details are covered here. - -For building with make, several example Makefiles for building with -the Intel compiler are included with LAMMPS in the src/MAKE/OPTIONS/ -directory: - -Makefile.intel_cpu_intelmpi # Intel Compiler, Intel MPI, No Offload -Makefile.knl # Intel Compiler, Intel MPI, No Offload -Makefile.intel_cpu_mpich # Intel Compiler, MPICH, No Offload -Makefile.intel_cpu_openpmi # Intel Compiler, OpenMPI, No Offload -Makefile.intel_co-processor # Intel Compiler, Intel MPI, Offload :pre - -Makefile.knl is identical to Makefile.intel_cpu_intelmpi except that -it explicitly specifies that vectorization should be for Intel Xeon -Phi x200 processors making it easier to cross-compile. For users with -recent installations of Intel Parallel Studio, the process can be as -simple as: - -make yes-user-intel -source /opt/intel/parallel_studio_xe_2016.3.067/psxevars.sh -# or psxevars.csh for C-shell -make intel_cpu_intelmpi :pre - -Note that if you build with support for a Phi co-processor, the same -binary can be used on nodes with or without co-processors installed. -However, if you do not have co-processors on your system, building -without offload support will produce a smaller binary. - -The general requirements for Makefiles with the USER-INTEL package -are as follows. When using Intel compilers, "-restrict" is required -and "-qopenmp" is highly recommended for CCFLAGS and LINKFLAGS. -CCFLAGS should include "-DLMP_INTEL_USELRT" (unless POSIX Threads -are not supported in the build environment) and "-DLMP_USE_MKL_RNG" -(unless Intel Math Kernel Library (MKL) is not available in the build -environment). For Intel compilers, LIB should include "-ltbbmalloc" -or if the library is not available, "-DLMP_INTEL_NO_TBB" can be added -to CCFLAGS. For builds supporting offload, "-DLMP_INTEL_OFFLOAD" is -required for CCFLAGS and "-qoffload" is required for LINKFLAGS. Other -recommended CCFLAG options for best performance are "-O2 -fno-alias --ansi-alias -qoverride-limits fp-model fast=2 -no-prec-div". - -NOTE: See the src/USER-INTEL/README file for additional flags that -might be needed for best performance on Intel server processors -code-named "Skylake". - -NOTE: The vectorization and math capabilities can differ depending on -the CPU. For Intel compilers, the "-x" flag specifies the type of -processor for which to optimize. "-xHost" specifies that the compiler -should build for the processor used for compiling. For Intel Xeon Phi -x200 series processors, this option is "-xMIC-AVX512". For fourth -generation Intel Xeon (v4/Broadwell) processors, "-xCORE-AVX2" should -be used. For older Intel Xeon processors, "-xAVX" will perform best -in general for the different simulations in LAMMPS. The default -in most of the example Makefiles is to use "-xHost", however this -should not be used when cross-compiling. - -[Running LAMMPS with the USER-INTEL package:] - -Running LAMMPS with the USER-INTEL package is similar to normal use -with the exceptions that one should 1) specify that LAMMPS should use -the USER-INTEL package, 2) specify the number of OpenMP threads, and -3) optionally specify the specific LAMMPS styles that should use the -USER-INTEL package. 1) and 2) can be performed from the command-line -or by editing the input script. 3) requires editing the input script. -Advanced performance tuning options are also described below to get -the best performance. - -When running on a single node (including runs using offload to a -co-processor), best performance is normally obtained by using 1 MPI -task per physical core and additional OpenMP threads with SMT. For -Intel Xeon processors, 2 OpenMP threads should be used for SMT. -For Intel Xeon Phi CPUs, 2 or 4 OpenMP threads should be used -(best choice depends on the simulation). In cases where the user -specifies that LRT mode is used (described below), 1 or 3 OpenMP -threads should be used. For multi-node runs, using 1 MPI task per -physical core will often perform best, however, depending on the -machine and scale, users might get better performance by decreasing -the number of MPI tasks and using more OpenMP threads. For -performance, the product of the number of MPI tasks and OpenMP -threads should not exceed the number of available hardware threads in -almost all cases. - -NOTE: Setting core affinity is often used to pin MPI tasks and OpenMP -threads to a core or group of cores so that memory access can be -uniform. Unless disabled at build time, affinity for MPI tasks and -OpenMP threads on the host (CPU) will be set by default on the host -{when using offload to a co-processor}. In this case, it is unnecessary -to use other methods to control affinity (e.g. taskset, numactl, -I_MPI_PIN_DOMAIN, etc.). This can be disabled with the {no_affinity} -option to the "package intel"_package.html command or by disabling the -option at build time (by adding -DINTEL_OFFLOAD_NOAFFINITY to the -CCFLAGS line of your Makefile). Disabling this option is not -recommended, especially when running on a machine with Intel -Hyper-Threading technology disabled. - -[Run with the USER-INTEL package from the command line:] - -To enable USER-INTEL optimizations for all available styles used in -the input script, the "-sf intel" "command-line -switch"_Run_options.html can be used without any requirement for -editing the input script. This switch will automatically append -"intel" to styles that support it. It also invokes a default command: -"package intel 1"_package.html. This package command is used to set -options for the USER-INTEL package. The default package command will -specify that USER-INTEL calculations are performed in mixed precision, -that the number of OpenMP threads is specified by the OMP_NUM_THREADS -environment variable, and that if co-processors are present and the -binary was built with offload support, that 1 co-processor per node -will be used with automatic balancing of work between the CPU and the -co-processor. - -You can specify different options for the USER-INTEL package by using -the "-pk intel Nphi" "command-line switch"_Run_options.html with -keyword/value pairs as specified in the documentation. Here, Nphi = # -of Xeon Phi co-processors/node (ignored without offload -support). Common options to the USER-INTEL package include {omp} to -override any OMP_NUM_THREADS setting and specify the number of OpenMP -threads, {mode} to set the floating-point precision mode, and {lrt} to -enable Long-Range Thread mode as described below. See the "package -intel"_package.html command for details, including the default values -used for all its options if not specified, and how to set the number -of OpenMP threads via the OMP_NUM_THREADS environment variable if -desired. - -Examples (see documentation for your MPI/Machine for differences in -launching MPI applications): - -mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script # 2 nodes, 36 MPI tasks/node, $OMP_NUM_THREADS OpenMP Threads -mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script -pk intel 0 omp 2 mode double # Don't use any co-processors that might be available, use 2 OpenMP threads for each task, use double precision :pre - -[Or run with the USER-INTEL package by editing an input script:] - -As an alternative to adding command-line arguments, the input script -can be edited to enable the USER-INTEL package. This requires adding -the "package intel"_package.html command to the top of the input -script. For the second example above, this would be: - -package intel 0 omp 2 mode double :pre - -To enable the USER-INTEL package only for individual styles, you can -add an "intel" suffix to the individual style, e.g.: - -pair_style lj/cut/intel 2.5 :pre - -Alternatively, the "suffix intel"_suffix.html command can be added to -the input script to enable USER-INTEL styles for the commands that -follow in the input script. - -[Tuning for Performance:] - -NOTE: The USER-INTEL package will perform better with modifications -to the input script when "PPPM"_kspace_style.html is used: -"kspace_modify diff ad"_kspace_modify.html should be added to the -input script. - -Long-Range Thread (LRT) mode is an option to the "package -intel"_package.html command that can improve performance when using -"PPPM"_kspace_style.html for long-range electrostatics on processors -with SMT. It generates an extra pthread for each MPI task. The thread -is dedicated to performing some of the PPPM calculations and MPI -communications. This feature requires setting the pre-processor flag --DLMP_INTEL_USELRT in the makefile when compiling LAMMPS. It is unset -in the default makefiles ({Makefile.mpi} and {Makefile.serial}) but -it is set in all makefiles tuned for the USER-INTEL package. On Intel -Xeon Phi x200 series CPUs, the LRT feature will likely improve -performance, even on a single node. On Intel Xeon processors, using -this mode might result in better performance when using multiple nodes, -depending on the specific machine configuration. To enable LRT mode, -specify that the number of OpenMP threads is one less than would -normally be used for the run and add the "lrt yes" option to the "-pk" -command-line suffix or "package intel" command. For example, if a run -would normally perform best with "-pk intel 0 omp 4", instead use -"-pk intel 0 omp 3 lrt yes". When using LRT, you should set the -environment variable "KMP_AFFINITY=none". LRT mode is not supported -when using offload. - -NOTE: Changing the "newton"_newton.html setting to off can improve -performance and/or scalability for simple 2-body potentials such as -lj/cut or when using LRT mode on processors supporting AVX-512. - -Not all styles are supported in the USER-INTEL package. You can mix -the USER-INTEL package with styles from the "OPT"_Speed_opt.html -package or the "USER-OMP package"_Speed_omp.html. Of course, this -requires that these packages were installed at build time. This can -performed automatically by using "-sf hybrid intel opt" or "-sf hybrid -intel omp" command-line options. Alternatively, the "opt" and "omp" -suffixes can be appended manually in the input script. For the latter, -the "package omp"_package.html command must be in the input script or -the "-pk omp Nt" "command-line switch"_Run_options.html must be used -where Nt is the number of OpenMP threads. The number of OpenMP threads -should not be set differently for the different packages. Note that -the "suffix hybrid intel omp"_suffix.html command can also be used -within the input script to automatically append the "omp" suffix to -styles when USER-INTEL styles are not available. - -NOTE: For simulations on higher node counts, add "processors * * * -grid numa"_processors.html to the beginning of the input script for -better scalability. - -When running on many nodes, performance might be better when using -fewer OpenMP threads and more MPI tasks. This will depend on the -simulation and the machine. Using the "verlet/split"_run_style.html -run style might also give better performance for simulations with -"PPPM"_kspace_style.html electrostatics. Note that this is an -alternative to LRT mode and the two cannot be used together. - -Currently, when using Intel MPI with Intel Xeon Phi x200 series -CPUs, better performance might be obtained by setting the -environment variable "I_MPI_SHM_LMT=shm" for Linux kernels that do -not yet have full support for AVX-512. Runs on Intel Xeon Phi x200 -series processors will always perform better using MCDRAM. Please -consult your system documentation for the best approach to specify -that MPI runs are performed in MCDRAM. - -[Tuning for Offload Performance:] - -The default settings for offload should give good performance. - -When using LAMMPS with offload to Intel co-processors, best performance -will typically be achieved with concurrent calculations performed on -both the CPU and the co-processor. This is achieved by offloading only -a fraction of the neighbor and pair computations to the co-processor or -using "hybrid"_pair_hybrid.html pair styles where only one style uses -the "intel" suffix. For simulations with long-range electrostatics or -bond, angle, dihedral, improper calculations, computation and data -transfer to the co-processor will run concurrently with computations -and MPI communications for these calculations on the host CPU. This -is illustrated in the figure below for the rhodopsin protein benchmark -running on E5-2697v2 processors with a Intel Xeon Phi 7120p -co-processor. In this plot, the vertical access is time and routines -running at the same time are running concurrently on both the host and -the co-processor. - -:c,image(JPG/offload_knc.png) - -The fraction of the offloaded work is controlled by the {balance} -keyword in the "package intel"_package.html command. A balance of 0 -runs all calculations on the CPU. A balance of 1 runs all -supported calculations on the co-processor. A balance of 0.5 runs half -of the calculations on the co-processor. Setting the balance to -1 -(the default) will enable dynamic load balancing that continuously -adjusts the fraction of offloaded work throughout the simulation. -Because data transfer cannot be timed, this option typically produces -results within 5 to 10 percent of the optimal fixed balance. - -If running short benchmark runs with dynamic load balancing, adding a -short warm-up run (10-20 steps) will allow the load-balancer to find a -near-optimal setting that will carry over to additional runs. - -The default for the "package intel"_package.html command is to have -all the MPI tasks on a given compute node use a single Xeon Phi -co-processor. In general, running with a large number of MPI tasks on -each node will perform best with offload. Each MPI task will -automatically get affinity to a subset of the hardware threads -available on the co-processor. For example, if your card has 61 cores, -with 60 cores available for offload and 4 hardware threads per core -(240 total threads), running with 24 MPI tasks per node will cause -each MPI task to use a subset of 10 threads on the co-processor. Fine -tuning of the number of threads to use per MPI task or the number of -threads to use per core can be accomplished with keyword settings of -the "package intel"_package.html command. - -The USER-INTEL package has two modes for deciding which atoms will be -handled by the co-processor. This choice is controlled with the {ghost} -keyword of the "package intel"_package.html command. When set to 0, -ghost atoms (atoms at the borders between MPI tasks) are not offloaded -to the card. This allows for overlap of MPI communication of forces -with computation on the co-processor when the "newton"_newton.html -setting is "on". The default is dependent on the style being used, -however, better performance may be achieved by setting this option -explicitly. - -When using offload with CPU Hyper-Threading disabled, it may help -performance to use fewer MPI tasks and OpenMP threads than available -cores. This is due to the fact that additional threads are generated -internally to handle the asynchronous offload tasks. - -If pair computations are being offloaded to an Intel Xeon Phi -co-processor, a diagnostic line is printed to the screen (not to the -log file), during the setup phase of a run, indicating that offload -mode is being used and indicating the number of co-processor threads -per MPI task. Additionally, an offload timing summary is printed at -the end of each run. When offloading, the frequency for "atom -sorting"_atom_modify.html is changed to 1 so that the per-atom data is -effectively sorted at every rebuild of the neighbor lists. All the -available co-processor threads on each Phi will be divided among MPI -tasks, unless the {tptask} option of the "-pk intel" "command-line -switch"_Run_options.html is used to limit the co-processor threads per -MPI task. - -[Restrictions:] - -When offloading to a co-processor, "hybrid"_pair_hybrid.html styles -that require skip lists for neighbor builds cannot be offloaded. -Using "hybrid/overlay"_pair_hybrid.html is allowed. Only one intel -accelerated style may be used with hybrid styles when offloading. -"Special_bonds"_special_bonds.html exclusion lists are not currently -supported with offload, however, the same effect can often be -accomplished by setting cutoffs for excluded atom types to 0. None of -the pair styles in the USER-INTEL package currently support the -"inner", "middle", "outer" options for rRESPA integration via the -"run_style respa"_run_style.html command; only the "pair" option is -supported. - -[References:] - -Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakkar, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., "Optimizing Classical Molecular Dynamics in LAMMPS," in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann. :ulb,l - -Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. "Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency."_http://dl.acm.org/citation.cfm?id=3014915 2016 High Performance Computing, Networking, Storage and Analysis, SC16: International Conference (pp. 82-95). :l - -Brown, W.M., Carrillo, J.-M.Y., Gavhane, N., Thakkar, F.M., Plimpton, S.J. Optimizing Legacy Molecular Dynamics Software with Directive-Based Offload. Computer Physics Communications. 2015. 195: p. 95-101. :l -:ule - - - - diff --git a/doc/txt/Speed_kokkos.txt b/doc/txt/Speed_kokkos.txt deleted file mode 100644 index 66f8fab8d9fdfb60b43175d52f4dd486ce77717f..0000000000000000000000000000000000000000 --- a/doc/txt/Speed_kokkos.txt +++ /dev/null @@ -1,395 +0,0 @@ -"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -KOKKOS package :h3 - -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 back end 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 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 -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 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. - -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. - -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 package"_Speed_gpu.html for details of how -to check and do this. - -NOTE: Kokkos with CUDA currently implicitly assumes that the MPI library -is CUDA-aware. This is not always the case, especially when using -pre-compiled MPI libraries provided by a Linux distribution. This is not -a problem when using only a single GPU with a single MPI rank. When -running with multiple MPI ranks, you may see segmentation faults without -CUDA-aware MPI support. These can be avoided by adding the flags "-pk -kokkos cuda/aware off"_Run_options.html to the LAMMPS command line or by -using the command "package kokkos cuda/aware off"_package.html in the -input file. - -[Building LAMMPS with the KOKKOS package:] - -See the "Build extras"_Build_extras.html#kokkos doc page for instructions. - -[Running LAMMPS with the KOKKOS package:] - -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. - -[Running on a multi-core CPU:] - -Here is a quick overview of how to use the KOKKOS package -for CPU acceleration, assuming one or more 16-core nodes. - -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"_Run_options.html in your mpirun -command. You must use the "-k on" "command-line -switch"_Run_options.html to enable the KOKKOS package. It takes -additional arguments for hardware settings appropriate to your system. -For OpenMP use: - --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 Hyper-Threading (HT) 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. - -The "-sf kk" "command-line switch"_Run_options.html 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: When using a single OpenMP thread, the Kokkos Serial back end (i.e. -Makefile.kokkos_mpi_only) will give better performance than the OpenMP -back end (i.e. Makefile.kokkos_omp) because some of the overhead to make -the code thread-safe is removed. - -NOTE: Use the "-pk kokkos" "command-line switch"_Run_options.html 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 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 - -If the "newton"_newton.html command is used in the input -script, it can also override the Newton flag defaults. - -For half neighbor lists and OpenMP, the KOKKOS package uses data -duplication (i.e. thread-private arrays) by default to avoid -thread-level write conflicts in the force arrays (and other data -structures as necessary). Data duplication is typically fastest for -small numbers of threads (i.e. 8 or less) but does increase memory -footprint and is not scalable to large numbers of threads. An -alternative to data duplication is to use thread-level atomic operations -which do not require data duplication. The use of atomic operations can -be enforced by compiling LAMMPS with the "-DLMP_KOKKOS_USE_ATOMICS" -pre-processor flag. Most but not all Kokkos-enabled pair_styles support -data duplication. Alternatively, full neighbor lists avoid the need for -duplication or atomic operations but require more compute operations per -atom. When using the Kokkos Serial back end or the OpenMP back end with -a single thread, no duplication or atomic operations are used. For CUDA -and half neighbor lists, the KOKKOS package always uses atomic operations. - -[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 -Hyper-Threads,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 when -running on KNL is to use "half" neighbor lists and set the Newton flag -to "on" for both pairwise and bonded interactions. This will typically -be best for many-body potentials. For simpler pair-wise potentials, it -may be faster to use a "full" neighbor list with Newton flag to "off". -Use the "-pk kokkos" "command-line switch"_Run_options.html 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 host -in in.reax # Newton on, half neighbor list, threaded comm -mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton off neigh full comm no -in in.lj # Newton off, full 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 co-processors -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"_Run_options.html 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 number 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 some -portions of the input script have not been ported to use Kokkos. In this -case, also packing/unpacking communication buffers on the host may give -speedup (see the KOKKOS "package"_package.html command). Using CUDA MPS -is recommended in this scenario. - -Using a CUDA-aware MPI library is highly recommended. CUDA-aware MPI use can be -avoided by using "-pk kokkos cuda/aware no"_package.html. 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 when -running on GPUs 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 twice the CPU default value will -give speedup, which is the default when running on GPUs. Use the "-pk -kokkos" "command-line switch"_Run_options.html 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 newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, 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"_Run_options.html -to enable the KOKKOS package, and specify its additional arguments for -hardware options appropriate to your system, as documented above. - -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"_Run_options.html. - -[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:] - -The performance of KOKKOS running in different modes is a function of -your hardware, which KOKKOS-enable styles are used, and the problem -size. - -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 -than 20%). :ulb,l - -When running on CPUs only, with multiple threads per MPI task, -performance of a KOKKOS style is a bit slower than the USER-OMP -package. :l - -When running large number of atoms per GPU, KOKKOS is typically faster -than the GPU package. :l - -When running on Intel hardware, KOKKOS is not as fast as -the USER-INTEL package, which is optimized for that hardware. :l -:ule - -See the "Benchmark page"_http://lammps.sandia.gov/bench.html of the -LAMMPS web site for performance of the KOKKOS package on different -hardware. - -[Advanced Kokkos options:] - -There are other allowed options when building with the KOKKOS package. -As explained on the "Build extras"_Build_extras.html#kokkos doc page, -they can be set either as variables on the make command line or in -Makefile.machine, or they can be specified as CMake variables. Each -takes a value shown below. The default value is listed, which is set -in the lib/kokkos/Makefile.kokkos file. - -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 - -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 on the "Speed omp"_Speed_omp.html doc page. - -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_CXX_STANDARD and KOKKOS_OPTIONS are typically not changed when -building LAMMPS. - -KOKKOS_CUDA_OPTIONS are additional options for CUDA. The LAMMPS KOKKOS -package must be compiled with the {enable_lambda} option when using -GPUs. - -[Restrictions:] - -Currently, there are no precision options with the KOKKOS package. All -compilation and computation is performed in double precision. diff --git a/doc/txt/Speed_measure.txt b/doc/txt/Speed_measure.txt deleted file mode 100644 index dd12685dc547a4115229d68409ba0d6c544fd323..0000000000000000000000000000000000000000 --- a/doc/txt/Speed_measure.txt +++ /dev/null @@ -1,55 +0,0 @@ -"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Measuring performance :h3 - -Before trying to make your simulation run faster, you should -understand how it currently performs and where the bottlenecks are. - -The best way to do this is run the your system (actual number of -atoms) for a modest number of timesteps (say 100 steps) on several -different processor counts, including a single processor if possible. -Do this for an equilibrium version of your system, so that the -100-step timings are representative of a much longer run. There is -typically no need to run for 1000s of timesteps to get accurate -timings; you can simply extrapolate from short runs. - -For the set of runs, look at the timing data printed to the screen and -log file at the end of each LAMMPS run. The -"Run_output"_Run_output.html doc page gives an overview. - -Running on one (or a few processors) should give a good estimate of -the serial performance and what portions of the timestep are taking -the most time. Running the same problem on a few different processor -counts should give an estimate of parallel scalability. I.e. if the -simulation runs 16x faster on 16 processors, its 100% parallel -efficient; if it runs 8x faster on 16 processors, it's 50% efficient. - -The most important data to look at in the timing info is the timing -breakdown and relative percentages. For example, trying different -options for speeding up the long-range solvers will have little impact -if they only consume 10% of the run time. If the pairwise time is -dominating, you may want to look at GPU or OMP versions of the pair -style, as discussed below. Comparing how the percentages change as -you increase the processor count gives you a sense of how different -operations within the timestep are scaling. Note that if you are -running with a Kspace solver, there is additional output on the -breakdown of the Kspace time. For PPPM, this includes the fraction -spent on FFTs, which can be communication intensive. - -Another important detail in the timing info are the histograms of -atoms counts and neighbor counts. If these vary widely across -processors, you have a load-imbalance issue. This often results in -inaccurate relative timing data, because processors have to wait when -communication occurs for other processors to catch up. Thus the -reported times for "Communication" or "Other" may be higher than they -really are, due to load-imbalance. If this is an issue, you can -uncomment the MPI_Barrier() lines in src/timer.cpp, and re-compile -LAMMPS, to obtain synchronized timings. - diff --git a/doc/txt/Speed_omp.txt b/doc/txt/Speed_omp.txt deleted file mode 100644 index 97aa251e9e4b1f0a77197e86be7ddc57584dae80..0000000000000000000000000000000000000000 --- a/doc/txt/Speed_omp.txt +++ /dev/null @@ -1,171 +0,0 @@ -"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -USER-OMP package :h3 - -The USER-OMP package was developed by Axel Kohlmeyer at Temple -University. It provides optimized and multi-threaded versions -of many pair styles, nearly all bonded styles (bond, angle, dihedral, -improper), several Kspace styles, and a few fix styles. It uses -the OpenMP interface for multi-threading, but can also be compiled -without OpenMP support, providing optimized serial styles in that case. - -[Required hardware/software:] - -To enable multi-threading, your compiler must support the OpenMP interface. -You should have one or more multi-core CPUs, as multiple threads can only be -launched by each MPI task on the local node (using shared memory). - -[Building LAMMPS with the USER-OMP package:] - -See the "Build extras"_Build_extras.html#user-omp doc page for -instructions. - -[Run with the USER-OMP package from the command line:] - -These examples assume one or more 16-core nodes. - -env OMP_NUM_THREADS=16 lmp_omp -sf omp -in in.script # 1 MPI task, 16 threads according to OMP_NUM_THREADS -lmp_mpi -sf omp -in in.script # 1 MPI task, no threads, optimized kernels -mpirun -np 4 lmp_omp -sf omp -pk omp 4 -in in.script # 4 MPI tasks, 4 threads/task -mpirun -np 32 -ppn 4 lmp_omp -sf omp -pk omp 4 -in in.script # 8 nodes, 4 MPI tasks/node, 4 threads/task :pre - -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. - -You need to choose how many OpenMP threads per MPI task will be used -by the USER-OMP package. Note that the product of MPI tasks * -threads/task should not exceed the physical number of cores (on a -node), otherwise performance will suffer. - -As in the lines above, use the "-sf omp" "command-line -switch"_Run_options.html, which will automatically append "omp" to -styles that support it. The "-sf omp" switch also issues a default -"package omp 0"_package.html command, which will set the number of -threads per MPI task via the OMP_NUM_THREADS environment variable. - -You can also use the "-pk omp Nt" "command-line -switch"_Run_options.html, to explicitly set Nt = # of OpenMP threads -per MPI task to use, as well as additional options. Its syntax is the -same as the "package omp"_package.html command whose doc page gives -details, including the default values used if it is not specified. It -also gives more details on how to set the number of threads via the -OMP_NUM_THREADS environment variable. - -[Or run with the USER-OMP package by editing an input script:] - -The discussion above for the mpirun/mpiexec command, MPI tasks/node, -and threads/MPI task is the same. - -Use the "suffix omp"_suffix.html command, or you can explicitly add an -"omp" suffix to individual styles in your input script, e.g. - -pair_style lj/cut/omp 2.5 :pre - -You must also use the "package omp"_package.html command to enable the -USER-OMP package. When you do this you also specify how many threads -per MPI task to use. The command doc page explains other options and -how to set the number of threads via the OMP_NUM_THREADS environment -variable. - -[Speed-ups to expect:] - -Depending on which styles are accelerated, you should look for a -reduction in the "Pair time", "Bond time", "KSpace time", and "Loop -time" values printed at the end of a run. - -You may see a small performance advantage (5 to 20%) when running a -USER-OMP style (in serial or parallel) with a single thread per MPI -task, versus running standard LAMMPS with its standard un-accelerated -styles (in serial or all-MPI parallelization with 1 task/core). This -is because many of the USER-OMP styles contain similar optimizations -to those used in the OPT package, described in "Section -5.3.5"_Speed_opt.html. - -With multiple threads/task, the optimal choice of number of MPI -tasks/node and OpenMP threads/task can vary a lot and should always be -tested via benchmark runs for a specific simulation running on a -specific machine, paying attention to guidelines discussed in the next -sub-section. - -A description of the multi-threading strategy used in the USER-OMP -package and some performance examples are "presented -here"_http://sites.google.com/site/akohlmey/software/lammps-icms/lammps-icms-tms2011-talk.pdf?attredirects=0&d=1 - -[Guidelines for best performance:] - -For many problems on current generation CPUs, running the USER-OMP -package with a single thread/task is faster than running with multiple -threads/task. This is because the MPI parallelization in LAMMPS is -often more efficient than multi-threading as implemented in the -USER-OMP package. The parallel efficiency (in a threaded sense) also -varies for different USER-OMP styles. - -Using multiple threads/task can be more effective under the following -circumstances: - -Individual compute nodes have a significant number of CPU cores but -the CPU itself has limited memory bandwidth, e.g. for Intel Xeon 53xx -(Clovertown) and 54xx (Harpertown) quad-core processors. Running one -MPI task per CPU core will result in significant performance -degradation, so that running with 4 or even only 2 MPI tasks per node -is faster. Running in hybrid MPI+OpenMP mode will reduce the -inter-node communication bandwidth contention in the same way, but -offers an additional speedup by utilizing the otherwise idle CPU -cores. :ulb,l - -The interconnect used for MPI communication does not provide -sufficient bandwidth for a large number of MPI tasks per node. For -example, this applies to running over gigabit ethernet or on Cray XT4 -or XT5 series supercomputers. As in the aforementioned case, this -effect worsens when using an increasing number of nodes. :l - -The system has a spatially inhomogeneous particle density which does -not map well to the "domain decomposition scheme"_processors.html or -"load-balancing"_balance.html options that LAMMPS provides. This is -because multi-threading achieves parallelism over the number of -particles, not via their distribution in space. :l - -A machine is being used in "capability mode", i.e. near the point -where MPI parallelism is maxed out. For example, this can happen when -using the "PPPM solver"_kspace_style.html for long-range -electrostatics on large numbers of nodes. The scaling of the KSpace -calculation (see the "kspace_style"_kspace_style.html command) becomes -the performance-limiting factor. Using multi-threading allows less -MPI tasks to be invoked and can speed-up the long-range solver, while -increasing overall performance by parallelizing the pairwise and -bonded calculations via OpenMP. Likewise additional speedup can be -sometimes be achieved by increasing the length of the Coulombic cutoff -and thus reducing the work done by the long-range solver. Using the -"run_style verlet/split"_run_style.html command, which is compatible -with the USER-OMP package, is an alternative way to reduce the number -of MPI tasks assigned to the KSpace calculation. :l -:ule - -Additional performance tips are as follows: - -The best parallel efficiency from {omp} styles is typically achieved -when there is at least one MPI task per physical CPU chip, i.e. socket -or die. :ulb,l - -It is usually most efficient to restrict threading to a single -socket, i.e. use one or more MPI task per socket. :l - -NOTE: By default, several current MPI implementations use a processor -affinity setting that restricts each MPI task to a single CPU core. -Using multi-threading in this mode will force all threads to share the -one core and thus is likely to be counterproductive. Instead, binding -MPI tasks to a (multi-core) socket, should solve this issue. :l -:ule - -[Restrictions:] - -None. diff --git a/doc/txt/Speed_opt.txt b/doc/txt/Speed_opt.txt deleted file mode 100644 index 7dd83a84bfb027d1a34cd4cda8285895fda53f76..0000000000000000000000000000000000000000 --- a/doc/txt/Speed_opt.txt +++ /dev/null @@ -1,53 +0,0 @@ -"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -OPT package :h3 - -The OPT package was developed by James Fischer (High Performance -Technologies), David Richie, and Vincent Natoli (Stone Ridge -Technologies). It contains a handful of pair styles whose compute() -methods were rewritten in C++ templated form to reduce the overhead -due to if tests and other conditional code. - -[Required hardware/software:] - -None. - -[Building LAMMPS with the OPT package:] - -See the "Build extras"_Build_extras.html#opt doc page for instructions. - -[Run with the OPT package from the command line:] - -lmp_mpi -sf opt -in in.script # run in serial -mpirun -np 4 lmp_mpi -sf opt -in in.script # run in parallel :pre - -Use the "-sf opt" "command-line switch"_Run_options.html, which will -automatically append "opt" to styles that support it. - -[Or run with the OPT package by editing an input script:] - -Use the "suffix opt"_suffix.html command, or you can explicitly add an -"opt" suffix to individual styles in your input script, e.g. - -pair_style lj/cut/opt 2.5 :pre - -[Speed-ups to expect:] - -You should see a reduction in the "Pair time" value printed at the end -of a run. On most machines for reasonable problem sizes, it will be a -5 to 20% savings. - -[Guidelines for best performance:] - -Just try out an OPT pair style to see how it performs. - -[Restrictions:] - -None. diff --git a/doc/txt/Speed_packages.txt b/doc/txt/Speed_packages.txt deleted file mode 100644 index 2f72a46b3a0a82c973f391997afda9b6579a3310..0000000000000000000000000000000000000000 --- a/doc/txt/Speed_packages.txt +++ /dev/null @@ -1,192 +0,0 @@ -"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Accelerator packages :h3 - -Accelerated versions of various "pair_style"_pair_style.html, -"fixes"_fix.html, "computes"_compute.html, and other commands have -been added to LAMMPS, which will typically run faster than the -standard non-accelerated versions. Some require appropriate hardware -to be present on your system, e.g. GPUs or Intel Xeon Phi -co-processors. - -All of these commands are in packages provided with LAMMPS. An -overview of packages is give on the "Packages"_Packages.html doc -pages. - -These are the accelerator packages currently in LAMMPS, either as -standard or user packages: - -"GPU Package"_Speed_gpu.html : for NVIDIA GPUs as well as OpenCL support -"USER-INTEL Package"_Speed_intel.html : for Intel CPUs and Intel Xeon Phi -"KOKKOS Package"_Speed_kokkos.html : for Nvidia GPUs, Intel Xeon Phi, and OpenMP threading -"USER-OMP Package"_Speed_omp.html : for OpenMP threading and generic CPU optimizations -"OPT Package"_Speed_opt.html : generic CPU optimizations :tb(s=:) - - - -Inverting this list, LAMMPS currently has acceleration support for -three kinds of hardware, via the listed packages: - -Many-core CPUs : "USER-INTEL"_Speed_intel.html, "KOKKOS"_Speed_kokkos.html, "USER-OMP"_Speed_omp.html, "OPT"_Speed_opt.html packages -NVIDIA GPUs : "GPU"_Speed_gpu.html, "KOKKOS"_Speed_kokkos.html packages -Intel Phi : "USER-INTEL"_Speed_intel.html, "KOKKOS"_Speed_kokkos.html packages :tb(s=:) - -Which package is fastest for your hardware may depend on the size -problem you are running and what commands (accelerated and -non-accelerated) are invoked by your input script. While these doc -pages include performance guidelines, there is no substitute for -trying out the different packages appropriate to your hardware. - -Any accelerated style has the same name as the corresponding standard -style, except that a suffix is appended. Otherwise, the syntax for -the command that uses the style is identical, their functionality is -the same, and the numerical results it produces should also be the -same, except for precision and round-off effects. - -For example, all of these styles are accelerated variants of the -Lennard-Jones "pair_style lj/cut"_pair_lj.html: - -"pair_style lj/cut/gpu"_pair_lj.html -"pair_style lj/cut/intel"_pair_lj.html -"pair_style lj/cut/kk"_pair_lj.html -"pair_style lj/cut/omp"_pair_lj.html -"pair_style lj/cut/opt"_pair_lj.html :ul - -To see what accelerate styles are currently available for a particular -style, find the style name in the "Commands_all"_lc -style pages (fix,compute,pair,etc) and see what suffixes are listed -(g,i,k,o,t) with it. The doc pages for individual commands -(e.g. "pair lj/cut"_pair_lj.html or "fix nve"_fix_nve.html) also list -any accelerated variants available for that style. - -To use an accelerator package in LAMMPS, and one or more of the styles -it provides, follow these general steps. Details vary from package to -package and are explained in the individual accelerator doc pages, -listed above: - -build the accelerator library | - only for GPU package | -install the accelerator package | - make yes-opt, make yes-user-intel, etc | -add compile/link flags to Makefile.machine in src/MAKE | - only for USER-INTEL, KOKKOS, USER-OMP, OPT packages | -re-build LAMMPS | - make machine | -prepare and test a regular LAMMPS simulation | - lmp_machine -in in.script; mpirun -np 32 lmp_machine -in in.script | -enable specific accelerator support via '-k on' "command-line switch"_Run_options.html, | - only needed for KOKKOS package | -set any needed options for the package via "-pk" "command-line switch"_Run_options.html or "package"_package.html command, | - only if defaults need to be changed | -use accelerated styles in your input via "-sf" "command-line switch"_Run_options.html or "suffix"_suffix.html command | lmp_machine -in in.script -sf gpu -:tb(c=2,s=|) - -Note that the first 4 steps can be done as a single command with -suitable make command invocations. This is discussed on the -"Packages"_Packages.html doc pages, and its use is illustrated in the -individual accelerator sections. Typically these steps only need to -be done once, to create an executable that uses one or more -accelerator packages. - -The last 4 steps can all be done from the command-line when LAMMPS is -launched, without changing your input script, as illustrated in the -individual accelerator sections. Or you can add -"package"_package.html and "suffix"_suffix.html commands to your input -script. - -NOTE: With a few exceptions, you can build a single LAMMPS executable -with all its accelerator packages installed. Note however that the -USER-INTEL and KOKKOS packages require you to choose one of their -hardware options when building for a specific platform. I.e. CPU or -Phi option for the USER-INTEL package. Or the OpenMP, Cuda, or Phi -option for the KOKKOS package. - -These are the exceptions. You cannot build a single executable with: - -both the USER-INTEL Phi and KOKKOS Phi options -the USER-INTEL Phi or Kokkos Phi option, and the GPU package :ul - -See the examples/accelerate/README and make.list files for sample -Make.py commands that build LAMMPS with any or all of the accelerator -packages. As an example, here is a command that builds with all the -GPU related packages installed (GPU, KOKKOS with Cuda), including -settings to build the needed auxiliary GPU libraries for Kepler GPUs: - -Make.py -j 16 -p omp gpu kokkos -cc nvcc wrap=mpi \ - -gpu mode=double arch=35 -kokkos cuda arch=35 lib-all file mpi :pre - -The examples/accelerate directory also has input scripts that can be -used with all of the accelerator packages. See its README file for -details. - -Likewise, the bench directory has FERMI and KEPLER and PHI -sub-directories with Make.py commands and input scripts for using all -the accelerator packages on various machines. See the README files in -those dirs. - -As mentioned above, the "Benchmark -page"_http://lammps.sandia.gov/bench.html of the LAMMPS web site gives -performance results for the various accelerator packages for several -of the standard LAMMPS benchmark problems, as a function of problem -size and number of compute nodes, on different hardware platforms. - -Here is a brief summary of what the various packages provide. Details -are in the individual accelerator sections. - -Styles with a "gpu" suffix are part of the GPU package, and can be run -on NVIDIA GPUs. The speed-up on a GPU depends on a variety of -factors, discussed in the accelerator sections. :ulb,l - -Styles with an "intel" suffix are part of the USER-INTEL -package. These styles support vectorized single and mixed precision -calculations, in addition to full double precision. In extreme cases, -this can provide speedups over 3.5x on CPUs. The package also -supports acceleration in "offload" mode to Intel(R) Xeon Phi(TM) -co-processors. This can result in additional speedup over 2x depending -on the hardware configuration. :l - -Styles with a "kk" suffix are part of the KOKKOS package, and can be -run using OpenMP on multicore CPUs, on an NVIDIA GPU, or on an Intel -Xeon Phi in "native" mode. The speed-up depends on a variety of -factors, as discussed on the KOKKOS accelerator page. :l - -Styles with an "omp" suffix are part of the USER-OMP package and allow -a pair-style to be run in multi-threaded mode using OpenMP. This can -be useful on nodes with high-core counts when using less MPI processes -than cores is advantageous, e.g. when running with PPPM so that FFTs -are run on fewer MPI processors or when the many MPI tasks would -overload the available bandwidth for communication. :l - -Styles with an "opt" suffix are part of the OPT package and typically -speed-up the pairwise calculations of your simulation by 5-25% on a -CPU. :l -:ule - -The individual accelerator package doc pages explain: - -what hardware and software the accelerated package requires -how to build LAMMPS with the accelerated package -how to run with the accelerated package either via command-line switches or modifying the input script -speed-ups to expect -guidelines for best performance -restrictions :ul - diff --git a/doc/txt/Speed_tips.txt b/doc/txt/Speed_tips.txt deleted file mode 100644 index 858b1d493fcbc9c54cc29ab6b23859a77df4677b..0000000000000000000000000000000000000000 --- a/doc/txt/Speed_tips.txt +++ /dev/null @@ -1,59 +0,0 @@ -"Higher level section"_Speed.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -General tips :h3 - -NOTE: this page is still a work in progress - -Here is a list of general ideas for improving simulation performance. -Most of them are only applicable to certain models and certain -bottlenecks in the current performance, so let the timing data you -generate be your guide. It is hard, if not impossible, to predict how -much difference these options will make, since it is a function of -problem size, number of processors used, and your machine. There is -no substitute for identifying performance bottlenecks, and trying out -various options. - -rRESPA -Two-FFT PPPM -Staggered PPPM -single vs double PPPM -partial charge PPPM -verlet/split run style -processor command for proc layout and numa layout -load-balancing: balance and fix balance :ul - -Two-FFT PPPM, also called {analytic differentiation} or {ad} PPPM, -uses 2 FFTs instead of the 4 FFTs used by the default {ik -differentiation} PPPM. However, 2-FFT PPPM also requires a slightly -larger mesh size to achieve the same accuracy as 4-FFT PPPM. For -problems where the FFT cost is the performance bottleneck (typically -large problems running on many processors), 2-FFT PPPM may be faster -than 4-FFT PPPM. - -Staggered PPPM performs calculations using two different meshes, one -shifted slightly with respect to the other. This can reduce force -aliasing errors and increase the accuracy of the method, but also -doubles the amount of work required. For high relative accuracy, using -staggered PPPM allows one to half the mesh size in each dimension as -compared to regular PPPM, which can give around a 4x speedup in the -kspace time. However, for low relative accuracy, using staggered PPPM -gives little benefit and can be up to 2x slower in the kspace -time. For example, the rhodopsin benchmark was run on a single -processor, and results for kspace time vs. relative accuracy for the -different methods are shown in the figure below. For this system, -staggered PPPM (using ik differentiation) becomes useful when using a -relative accuracy of slightly greater than 1e-5 and above. - -:c,image(JPG/rhodo_staggered.jpg) - -NOTE: Using staggered PPPM may not give the same increase in accuracy -of energy and pressure as it does in forces, so some caution must be -used if energy and/or pressure are quantities of interest, such as -when using a barostat. diff --git a/doc/txt/Tools.txt b/doc/txt/Tools.txt deleted file mode 100644 index dccdf77dee2f18714367ae4f5518fb1eb1296577..0000000000000000000000000000000000000000 --- a/doc/txt/Tools.txt +++ /dev/null @@ -1,578 +0,0 @@ -"Previous Section"_Examples.html - "LAMMPS WWW Site"_lws - "LAMMPS -Documentation"_ld - "LAMMPS Commands"_lc - "Next -Section"_Modify.html :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -Auxiliary tools :h2 - -LAMMPS is designed to be a computational kernel for performing -molecular dynamics computations. Additional pre- and post-processing -steps are often necessary to setup and analyze a simulation. A list -of such tools can be found on the "LAMMPS webpage"_lws at these links: - -"Pre/Post processing"_http://lammps.sandia.gov/prepost.html -"Offsite LAMMPS packages & tools"_http://lammps.sandia.gov/offsite.html -"Pizza.py toolkit"_pizza :ul - -The last link for "Pizza.py"_pizza is a Python-based tool developed at -Sandia which provides tools for doing setup, analysis, plotting, and -visualization for LAMMPS simulations. - -:link(pizza,http://pizza.sandia.gov) -:link(python,http://www.python.org) - -Additional tools included in the LAMMPS distribution are described on -this page. - -Note that many users write their own setup or analysis tools or use -other existing codes and convert their output to a LAMMPS input format -or vice versa. The tools listed here are included in the LAMMPS -distribution as examples of auxiliary tools. Some of them are not -actively supported by the LAMMPS developers, as they were contributed -by LAMMPS users. If you have problems using them, we can direct you -to the authors. - -The source code for each of these codes is in the tools sub-directory -of the LAMMPS distribution. There is a Makefile (which you may need -to edit for your platform) which will build several of the tools which -reside in that directory. Most of them are larger packages in their -own sub-directories with their own Makefiles and/or README files. - -:line - -Pre-processing tools :h3 - -"amber2lmp"_#amber, -"ch2lmp"_#charmm, -"chain"_#chain, -"createatoms"_#createatoms, -"drude"_#drude, -"eam database"_#eamdb, -"eam generate"_#eamgn, -"eff"_#eff, -"ipp"_#ipp, -"micelle2d"_#micelle, -"moltemplate"_#moltemplate, -"msi2lmp"_#msi, -"polybond"_#polybond :tb(c=6,ea=c,a=l) - -Post-processing tools :h3 - -"amber2lmp"_#amber, -"binary2txt"_#binary, -"ch2lmp"_#charmm, -"colvars"_#colvars, -"eff"_#eff, -"fep"_#fep, -"lmp2arc"_#arc, -"lmp2cfg"_#cfg, -"matlab"_#matlab, -"phonon"_#phonon, -"pymol_asphere"_#pymol, -"python"_#pythontools, -"reax"_#reax_tool, -"replica"_#replica, -"smd"_#smd, -"spin"_#spin, -"xmgrace"_#xmgrace :tb(c=6,ea=c,a=l) - -Miscellaneous tools :h3 - -"doxygen"_#doxygen, -"emacs"_#emacs, -"i-pi"_#ipi, -"kate"_#kate, -"singularity"_#singularity_tool, -"vim"_#vim :tb(c=5,ea=c,a=l) - -:line - -Tool descriptions :h3 - -amber2lmp tool :h4,link(amber) - -The amber2lmp sub-directory contains two Python scripts for converting -files back-and-forth between the AMBER MD code and LAMMPS. See the -README file in amber2lmp for more information. - -These tools were written by Keir Novik while he was at Queen Mary -University of London. Keir is no longer there and cannot support -these tools which are out-of-date with respect to the current LAMMPS -version (and maybe with respect to AMBER as well). Since we don't use -these tools at Sandia, you'll need to experiment with them and make -necessary modifications yourself. - -:line - -binary2txt tool :h4,link(binary) - -The file binary2txt.cpp converts one or more binary LAMMPS dump file -into ASCII text files. The syntax for running the tool is - -binary2txt file1 file2 ... :pre - -which creates file1.txt, file2.txt, etc. This tool must be compiled -on a platform that can read the binary file created by a LAMMPS run, -since binary files are not compatible across all platforms. - -:line - -ch2lmp tool :h4,link(charmm) - -The ch2lmp sub-directory contains tools for converting files -back-and-forth between the CHARMM MD code and LAMMPS. - -They are intended to make it easy to use CHARMM as a builder and as a -post-processor for LAMMPS. Using charmm2lammps.pl, you can convert a -PDB file with associated CHARMM info, including CHARMM force field -data, into its LAMMPS equivalent. Support for the CMAP correction of -CHARMM22 and later is available as an option. This tool can also add -solvent water molecules and Na+ or Cl- ions to the system. -Using lammps2pdb.pl you can convert LAMMPS atom dumps into PDB files. - -See the README file in the ch2lmp sub-directory for more information. - -These tools were created by Pieter in't Veld (pjintve at sandia.gov) -and Paul Crozier (pscrozi at sandia.gov) at Sandia. - -CMAP support added and tested by Xiaohu Hu (hux2 at ornl.gov) and -Robert A. Latour (latourr at clemson.edu), David Hyde-Volpe, and -Tigran Abramyan, (Clemson University) and -Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London. - -:line - -chain tool :h4,link(chain) - -The file chain.f creates a LAMMPS data file containing bead-spring -polymer chains and/or monomer solvent atoms. It uses a text file -containing chain definition parameters as an input. The created -chains and solvent atoms can strongly overlap, so LAMMPS needs to run -the system initially with a "soft" pair potential to un-overlap it. -The syntax for running the tool is - -chain < def.chain > data.file :pre - -See the def.chain or def.chain.ab files in the tools directory for -examples of definition files. This tool was used to create the system -for the "chain benchmark"_Speed_bench.html. - -:line - -colvars tools :h4,link(colvars) - -The colvars directory contains a collection of tools for post-processing -data produced by the colvars collective variable library. -To compile the tools, edit the makefile for your system and run "make". - -Please report problems and issues the colvars library and its tools -at: https://github.com/colvars/colvars/issues - -abf_integrate: - -MC-based integration of multidimensional free energy gradient -Version 20110511 - -Syntax: ./abf_integrate < filename > \[-n < nsteps >\] \[-t < temp >\] \[-m \[0|1\] (metadynamics)\] \[-h < hill_height >\] \[-f < variable_hill_factor >\] :pre - -The LAMMPS interface to the colvars collective variable library, as -well as these tools, were created by Axel Kohlmeyer (akohlmey at -gmail.com) at ICTP, Italy. - -:line - -createatoms tool :h4,link(createatoms) - -The tools/createatoms directory contains a Fortran program called -createAtoms.f which can generate a variety of interesting crystal -structures and geometries and output the resulting list of atom -coordinates in LAMMPS or other formats. - -See the included Manual.pdf for details. - -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 software"_http://doxygen.org. - -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 -polarizer.py which can add Drude oscillators to a LAMMPS -data file in the required format. - -See the header of the polarizer.py file for details. - -The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua -at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr - -:line - -eam database tool :h4,link(eamdb) - -The tools/eam_database directory contains a Fortran program that will -generate EAM alloy setfl potential files for any combination of 16 -elements: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, -Zr. The files can then be used with the "pair_style -eam/alloy"_pair_eam.html command. - -The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov, -and is based on his paper: - -X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, -144113 (2004). - -:line - -eam generate tool :h4,link(eamgn) - -The tools/eam_generate directory contains several one-file C programs -that convert an analytic formula into a tabulated "embedded atom -method (EAM)"_pair_eam.html setfl potential file. The potentials they -produce are in the potentials directory, and can be used with the -"pair_style eam/alloy"_pair_eam.html command. - -The source files and potentials were provided by Gerolf Ziegenhain -(gerolf at ziegenhain.com). - -:line - -eff tool :h4,link(eff) - -The tools/eff directory contains various scripts for generating -structures and post-processing output for simulations using the -electron force field (eFF). - -These tools were provided by Andres Jaramillo-Botero at CalTech -(ajaramil at wag.caltech.edu). - -:line - -emacs tool :h4,link(emacs) - -The tools/emacs directory contains an Emacs Lisp add-on file for GNU Emacs -that enables a lammps-mode for editing input scripts when using GNU Emacs, -with various highlighting options set up. - -These tools were provided by Aidan Thompson at Sandia -(athomps at sandia.gov). - -:line - -fep tool :h4,link(fep) - -The tools/fep directory contains Python scripts useful for -post-processing results from performing free-energy perturbation -simulations using the USER-FEP package. - -The scripts were contributed by Agilio Padua (Universite Blaise -Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr. - -See README file in the tools/fep directory. - -:line - -i-pi tool :h4,link(ipi) - -The tools/i-pi directory contains a version of the i-PI package, with -all the LAMMPS-unrelated files removed. It is provided so that it can -be used with the "fix ipi"_fix_ipi.html command to perform -path-integral molecular dynamics (PIMD). - -The i-PI package was created and is maintained by Michele Ceriotti, -michele.ceriotti at gmail.com, to interface to a variety of molecular -dynamics codes. - -See the tools/i-pi/manual.pdf file for an overview of i-PI, and the -"fix ipi"_fix_ipi.html doc page for further details on running PIMD -calculations with LAMMPS. - -:line - -ipp tool :h4,link(ipp) - -The tools/ipp directory contains a Perl script ipp which can be used -to facilitate the creation of a complicated file (say, a lammps input -script or tools/createatoms input file) using a template file. - -ipp was created and is maintained by Reese Jones (Sandia), rjones at -sandia.gov. - -See two examples in the tools/ipp directory. One of them is for the -tools/createatoms tool's input file. - -:line - -kate tool :h4,link(kate) - -The file in the tools/kate directory is an add-on to the Kate editor -in the KDE suite that allow syntax highlighting of LAMMPS input -scripts. See the README.txt file for details. - -The file was provided by Alessandro Luigi Sellerio -(alessandro.sellerio at ieni.cnr.it). - -:line - -lmp2arc tool :h4,link(arc) - -The lmp2arc sub-directory contains a tool for converting LAMMPS output -files to the format for Accelrys' Insight MD code (formerly -MSI/Biosym and its Discover MD code). See the README file for more -information. - -This tool was written by John Carpenter (Cray), Michael Peachey -(Cray), and Steve Lustig (Dupont). John is now at the Mayo Clinic -(jec at mayo.edu), but still fields questions about the tool. - -This tool was updated for the current LAMMPS C++ version by Jeff -Greathouse at Sandia (jagreat at sandia.gov). - -:line - -lmp2cfg tool :h4,link(cfg) - -The lmp2cfg sub-directory contains a tool for converting LAMMPS output -files into a series of *.cfg files which can be read into the -"AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A visualizer. See -the README file for more information. - -This tool was written by Ara Kooser at Sandia (askoose at sandia.gov). - -:line - -matlab tool :h4,link(matlab) - -The matlab sub-directory contains several "MATLAB"_matlabhome scripts for -post-processing LAMMPS output. The scripts include readers for log -and dump files, a reader for EAM potential files, and a converter that -reads LAMMPS dump files and produces CFG files that can be visualized -with the "AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A -visualizer. - -See the README.pdf file for more information. - -These scripts were written by Arun Subramaniyan at Purdue Univ -(asubrama at purdue.edu). - -:link(matlabhome,http://www.mathworks.com) - -:line - -micelle2d tool :h4,link(micelle) - -The file micelle2d.f creates a LAMMPS data file containing short lipid -chains in a monomer solution. It uses a text file containing lipid -definition parameters as an input. The created molecules and solvent -atoms can strongly overlap, so LAMMPS needs to run the system -initially with a "soft" pair potential to un-overlap it. The syntax -for running the tool is - -micelle2d < def.micelle2d > data.file :pre - -See the def.micelle2d file in the tools directory for an example of a -definition file. This tool was used to create the system for the -"micelle example"_Examples.html. - -:line - -moltemplate tool :h4,link(moltemplate) - -The moltemplate sub-directory contains instructions for installing -moltemplate, a Python-based tool for building molecular systems based -on a text-file description, and creating LAMMPS data files that encode -their molecular topology as lists of bonds, angles, dihedrals, etc. -See the README.txt file for more information. - -This tool was written by Andrew Jewett (jewett.aij at gmail.com), who -supports it. It has its own WWW page at -"http://moltemplate.org"_http://moltemplate.org. -The latest sources can be found "on its GitHub page"_https://github.com/jewettaij/moltemplate/releases - -:line - -msi2lmp tool :h4,link(msi) - -The msi2lmp sub-directory contains a tool for creating LAMMPS template -input and data files from BIOVIA's Materias Studio files (formerly -Accelrys' Insight MD code, formerly MSI/Biosym and its Discover MD code). - -This tool was written by John Carpenter (Cray), Michael Peachey -(Cray), and Steve Lustig (Dupont). Several people contributed changes -to remove bugs and adapt its output to changes in LAMMPS. - -This tool has several known limitations and is no longer under active -development, so there are no changes except for the occasional bug fix. - -See the README file in the tools/msi2lmp folder for more information. - -:line - -phonon tool :h4,link(phonon) - -The phonon sub-directory contains a post-processing tool useful for -analyzing the output of the "fix phonon"_fix_phonon.html command in -the USER-PHONON package. - -See the README file for instruction on building the tool and what -library it needs. And see the examples/USER/phonon directory -for example problems that can be post-processed with this tool. - -This tool was written by Ling-Ti Kong at Shanghai Jiao Tong -University. - -:line - -polybond tool :h4,link(polybond) - -The polybond sub-directory contains a Python-based tool useful for -performing "programmable polymer bonding". The Python file -lmpsdata.py provides a "Lmpsdata" class with various methods which can -be invoked by a user-written Python script to create data files with -complex bonding topologies. - -See the Manual.pdf for details and example scripts. - -This tool was written by Zachary Kraus at Georgia Tech. - -:line - -pymol_asphere tool :h4,link(pymol) - -The pymol_asphere sub-directory contains a tool for converting a -LAMMPS dump file that contains orientation info for ellipsoidal -particles into an input file for the "PyMol visualization -package"_pymolhome or its "open source variant"_pymolopen. - -:link(pymolhome,http://www.pymol.org) -:link(pymolopen,http://sourceforge.net/scm/?type=svn&group_id=4546) - -Specifically, the tool triangulates the ellipsoids so they can be -viewed as true ellipsoidal particles within PyMol. See the README and -examples directory within pymol_asphere for more information. - -This tool was written by Mike Brown at Sandia. - -:line - -python tool :h4,link(pythontools) - -The python sub-directory contains several Python scripts -that perform common LAMMPS post-processing tasks, such as: - -extract thermodynamic info from a log file as columns of numbers -plot two columns of thermodynamic info from a log file using GnuPlot -sort the snapshots in a dump file by atom ID -convert multiple "NEB"_neb.html dump files into one dump file for viz -convert dump files into XYZ, CFG, or PDB format for viz by other packages :ul - -These are simple scripts built on "Pizza.py"_pizza modules. See the -README for more info on Pizza.py and how to use these scripts. - -:line - -replica tool :h4,link(replica) - -The tools/replica directory contains the reorder_remd_traj python script which -can be used to reorder the replica trajectories (resulting from the use of the -temper command) according to temperature. This will produce discontinuous -trajectories with all frames at the same temperature in each trajectory. -Additional options can be used to calculate the canonical configurational -log-weight for each frame at each temperature using the pymbar package. See -the README.md file for further details. Try out the peptide example provided. - -This tool was written by (and is maintained by) Tanmoy Sanyal, -while at the Shell lab at UC Santa Barbara. (tanmoy dot 7989 at gmail.com) - -:line - -reax tool :h4,link(reax_tool) - -The reax sub-directory contains stand-alone codes that can -post-process the output of the "fix reax/c/bonds"_fix_reaxc_bonds.html -command from a LAMMPS simulation using "ReaxFF"_pair_reaxc.html. See -the README.txt file for more info. - -These tools were written by Aidan Thompson at Sandia. - -:line - -smd tool :h4,link(smd) - -The smd sub-directory contains a C++ file dump2vtk_tris.cpp and -Makefile which can be compiled and used to convert triangle output -files created by the Smooth-Mach Dynamics (USER-SMD) package into a -VTK-compatible unstructured grid file. It could then be read in and -visualized by VTK. - -See the header of dump2vtk.cpp for more details. - -This tool was written by the USER-SMD package author, Georg -Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, -Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). - -:line - -spin tool :h4,link(spin) - -The spin sub-directory contains a C file interpolate.c which can -be compiled and used to perform a cubic polynomial interpolation of -the MEP following a GNEB calculation. - -See the README file in tools/spin/interpolate_gneb for more details. - -This tool was written by the SPIN package author, Julien -Tranchida at Sandia National Labs (jtranch at sandia.gov, and by Aleksei -Ivanov, at University of Iceland (ali5 at hi.is). - -:line - -singularity tool :h4,link(singularity_tool) - -The singularity sub-directory contains container definitions files -that can be used to build container images for building and testing -LAMMPS on specific OS variants using the "Singularity"_https://sylabs.io -container software. Contributions for additional variants are welcome. - -:line - -vim tool :h4,link(vim) - -The files in the tools/vim directory are add-ons to the VIM editor -that allow easier editing of LAMMPS input scripts. See the README.txt -file for details. - -These files were provided by Gerolf Ziegenhain (gerolf at -ziegenhain.com) - -:line - -xmgrace tool :h4,link(xmgrace) - -The files in the tools/xmgrace directory can be used to plot the -thermodynamic data in LAMMPS log files via the xmgrace plotting -package. There are several tools in the directory that can be used in -post-processing mode. The lammpsplot.cpp file can be compiled and -used to create plots from the current state of a running LAMMPS -simulation. - -See the README file for details. - -These files were provided by Vikas Varshney (vv0210 at gmail.com) - diff --git a/doc/txt/balance.txt b/doc/txt/balance.txt deleted file mode 100644 index 2ca44203f6bcf1ccc9588daa059170836c358ce4..0000000000000000000000000000000000000000 --- a/doc/txt/balance.txt +++ /dev/null @@ -1,522 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -balance command :h3 - -[Syntax:] - -balance thresh style args ... keyword args ... :pre - -thresh = imbalance threshold that must be exceeded to perform a re-balance :ulb,l -one style/arg pair can be used (or multiple for {x},{y},{z}) :l -style = {x} or {y} or {z} or {shift} or {rcb} :l - {x} args = {uniform} or Px-1 numbers between 0 and 1 - {uniform} = evenly spaced cuts between processors in x dimension - numbers = Px-1 ascending values between 0 and 1, Px - # of processors in x dimension - {x} can be specified together with {y} or {z} - {y} args = {uniform} or Py-1 numbers between 0 and 1 - {uniform} = evenly spaced cuts between processors in y dimension - numbers = Py-1 ascending values between 0 and 1, Py - # of processors in y dimension - {y} can be specified together with {x} or {z} - {z} args = {uniform} or Pz-1 numbers between 0 and 1 - {uniform} = evenly spaced cuts between processors in z dimension - numbers = Pz-1 ascending values between 0 and 1, Pz - # of processors in z dimension - {z} can be specified together with {x} or {y} - {shift} args = dimstr Niter stopthresh - dimstr = sequence of letters containing "x" or "y" or "z", each not more than once - Niter = # of times to iterate within each dimension of dimstr sequence - stopthresh = stop balancing when this imbalance threshold is reached - {rcb} args = none :pre -zero or more keyword/arg pairs may be appended :l -keyword = {weight} or {out} :l - {weight} style args = use weighted particle counts for the balancing - {style} = {group} or {neigh} or {time} or {var} or {store} - {group} args = Ngroup group1 weight1 group2 weight2 ... - Ngroup = number of groups with assigned weights - group1, group2, ... = group IDs - weight1, weight2, ... = corresponding weight factors - {neigh} factor = compute weight based on number of neighbors - factor = scaling factor (> 0) - {time} factor = compute weight based on time spend computing - factor = scaling factor (> 0) - {var} name = take weight from atom-style variable - name = name of the atom-style variable - {store} name = store weight in custom atom property defined by "fix property/atom"_fix_property_atom.html command - name = atom property name (without d_ prefix) - {out} arg = filename - filename = write each processor's sub-domain to a file :pre -:ule - -[Examples:] - -balance 0.9 x uniform y 0.4 0.5 0.6 -balance 1.2 shift xz 5 1.1 -balance 1.0 shift xz 5 1.1 -balance 1.1 rcb -balance 1.0 shift x 10 1.1 weight group 2 fast 0.5 slow 2.0 -balance 1.0 shift x 10 1.1 weight time 0.8 weight neigh 0.5 weight store balance -balance 1.0 shift x 20 1.0 out tmp.balance :pre - -[Description:] - -This command adjusts the size and shape of processor sub-domains -within the simulation box, to attempt to balance the number of atoms -or particles and thus indirectly the computational cost (load) more -evenly across processors. The load balancing is "static" in the sense -that this command performs the balancing once, before or between -simulations. The processor sub-domains will then remain static during -the subsequent run. To perform "dynamic" balancing, see the "fix -balance"_fix_balance.html command, which can adjust processor -sub-domain sizes and shapes on-the-fly during a "run"_run.html. - -Load-balancing is typically most useful if the particles in the -simulation box have a spatially-varying density distribution or when -the computational cost varies significantly between different -particles. E.g. a model of a vapor/liquid interface, or a solid with -an irregular-shaped geometry containing void regions, or "hybrid pair -style simulations"_pair_hybrid.html which combine pair styles with -different computational cost. In these cases, the LAMMPS default of -dividing the simulation box volume into a regular-spaced grid of 3d -bricks, with one equal-volume sub-domain per processor, may assign -numbers of particles per processor in a way that the computational -effort varies significantly. This can lead to poor performance when -the simulation is run in parallel. - -The balancing can be performed with or without per-particle weighting. -With no weighting, the balancing attempts to assign an equal number of -particles to each processor. With weighting, the balancing attempts -to assign an equal aggregate computational weight to each processor, -which typically induces a different number of atoms assigned to each -processor. Details on the various weighting options and examples for -how they can be used are "given below"_#weighted_balance. - -Note that the "processors"_processors.html command allows some control -over how the box volume is split across processors. Specifically, for -a Px by Py by Pz grid of processors, it allows choice of Px, Py, and -Pz, subject to the constraint that Px * Py * Pz = P, the total number -of processors. This is sufficient to achieve good load-balance for -some problems on some processor counts. However, all the processor -sub-domains will still have the same shape and same volume. - -The requested load-balancing operation is only performed if the -current "imbalance factor" in particles owned by each processor -exceeds the specified {thresh} parameter. The imbalance factor is -defined as the maximum number of particles (or weight) owned by any -processor, divided by the average number of particles (or weight) per -processor. Thus an imbalance factor of 1.0 is perfect balance. - -As an example, for 10000 particles running on 10 processors, if the -most heavily loaded processor has 1200 particles, then the factor is -1.2, meaning there is a 20% imbalance. Note that a re-balance can be -forced even if the current balance is perfect (1.0) be specifying a -{thresh} < 1.0. - -NOTE: Balancing is performed even if the imbalance factor does not -exceed the {thresh} parameter if a "grid" style is specified when the -current partitioning is "tiled". The meaning of "grid" vs "tiled" is -explained below. This is to allow forcing of the partitioning to -"grid" so that the "comm_style brick"_comm_style.html command can then -be used to replace a current "comm_style tiled"_comm_style.html -setting. - -When the balance command completes, it prints statistics about the -result, including the change in the imbalance factor and the change in -the maximum number of particles on any processor. For "grid" methods -(defined below) that create a logical 3d grid of processors, the -positions of all cutting planes in each of the 3 dimensions (as -fractions of the box length) are also printed. - -NOTE: This command attempts to minimize the imbalance factor, as -defined above. But depending on the method a perfect balance (1.0) -may not be achieved. For example, "grid" methods (defined below) that -create a logical 3d grid cannot achieve perfect balance for many -irregular distributions of particles. Likewise, if a portion of the -system is a perfect lattice, e.g. the initial system is generated by -the "create_atoms"_create_atoms.html command, then "grid" methods may -be unable to achieve exact balance. This is because entire lattice -planes will be owned or not owned by a single processor. - -NOTE: The imbalance factor is also an estimate of the maximum speed-up -you can hope to achieve by running a perfectly balanced simulation -versus an imbalanced one. In the example above, the 10000 particle -simulation could run up to 20% faster if it were perfectly balanced, -versus when imbalanced. However, computational cost is not strictly -proportional to particle count, and changing the relative size and -shape of processor sub-domains may lead to additional computational -and communication overheads, e.g. in the PPPM solver used via the -"kspace_style"_kspace_style.html command. Thus you should benchmark -the run times of a simulation before and after balancing. - -:line - -The method used to perform a load balance is specified by one of the -listed styles (or more in the case of {x},{y},{z}), which are -described in detail below. There are 2 kinds of styles. - -The {x}, {y}, {z}, and {shift} styles are "grid" methods which produce -a logical 3d grid of processors. They operate by changing the cutting -planes (or lines) between processors in 3d (or 2d), to adjust the -volume (area in 2d) assigned to each processor, as in the following 2d -diagram where processor sub-domains are shown and particles are -colored by the processor that owns them. The leftmost diagram is the -default partitioning of the simulation box across processors (one -sub-box for each of 16 processors); the middle diagram is after a -"grid" method has been applied. - -:image(JPG/balance_uniform_small.jpg,JPG/balance_uniform.jpg),image(JPG/balance_nonuniform_small.jpg,JPG/balance_nonuniform.jpg),image(JPG/balance_rcb_small.jpg,JPG/balance_rcb.jpg) -:c - -The {rcb} style is a "tiling" method which does not produce a logical -3d grid of processors. Rather it tiles the simulation domain with -rectangular sub-boxes of varying size and shape in an irregular -fashion so as to have equal numbers of particles (or weight) in each -sub-box, as in the rightmost diagram above. - -The "grid" methods can be used with either of the -"comm_style"_comm_style.html command options, {brick} or {tiled}. The -"tiling" methods can only be used with "comm_style -tiled"_comm_style.html. Note that it can be useful to use a "grid" -method with "comm_style tiled"_comm_style.html to return the domain -partitioning to a logical 3d grid of processors so that "comm_style -brick" can afterwords be specified for subsequent "run"_run.html -commands. - -When a "grid" method is specified, the current domain partitioning can -be either a logical 3d grid or a tiled partitioning. In the former -case, the current logical 3d grid is used as a starting point and -changes are made to improve the imbalance factor. In the latter case, -the tiled partitioning is discarded and a logical 3d grid is created -with uniform spacing in all dimensions. This becomes the starting -point for the balancing operation. - -When a "tiling" method is specified, the current domain partitioning -("grid" or "tiled") is ignored, and a new partitioning is computed -from scratch. - -:line - -The {x}, {y}, and {z} styles invoke a "grid" method for balancing, as -described above. Note that any or all of these 3 styles can be -specified together, one after the other, but they cannot be used with -any other style. This style adjusts the position of cutting planes -between processor sub-domains in specific dimensions. Only the -specified dimensions are altered. - -The {uniform} argument spaces the planes evenly, as in the left -diagrams above. The {numeric} argument requires listing Ps-1 numbers -that specify the position of the cutting planes. This requires -knowing Ps = Px or Py or Pz = the number of processors assigned by -LAMMPS to the relevant dimension. This assignment is made (and the -Px, Py, Pz values printed out) when the simulation box is created by -the "create_box" or "read_data" or "read_restart" command and is -influenced by the settings of the "processors"_processors.html -command. - -Each of the numeric values must be between 0 and 1, and they must be -listed in ascending order. They represent the fractional position of -the cutting place. The left (or lower) edge of the box is 0.0, and -the right (or upper) edge is 1.0. Neither of these values is -specified. Only the interior Ps-1 positions are specified. Thus is -there are 2 processors in the x dimension, you specify a single value -such as 0.75, which would make the left processor's sub-domain 3x -larger than the right processor's sub-domain. - -:line - -The {shift} style invokes a "grid" method for balancing, as -described above. It changes the positions of cutting planes between -processors in an iterative fashion, seeking to reduce the imbalance -factor, similar to how the "fix balance shift"_fix_balance.html -command operates. - -The {dimstr} argument is a string of characters, each of which must be -an "x" or "y" or "z". Eacn character can appear zero or one time, -since there is no advantage to balancing on a dimension more than -once. You should normally only list dimensions where you expect there -to be a density variation in the particles. - -Balancing proceeds by adjusting the cutting planes in each of the -dimensions listed in {dimstr}, one dimension at a time. For a single -dimension, the balancing operation (described below) is iterated on up -to {Niter} times. After each dimension finishes, the imbalance factor -is re-computed, and the balancing operation halts if the {stopthresh} -criterion is met. - -A re-balance operation in a single dimension is performed using a -recursive multisectioning algorithm, where the position of each -cutting plane (line in 2d) in the dimension is adjusted independently. -This is similar to a recursive bisectioning for a single value, except -that the bounds used for each bisectioning take advantage of -information from neighboring cuts if possible. At each iteration, the -count of particles on either side of each plane is tallied. If the -counts do not match the target value for the plane, the position of -the cut is adjusted to be halfway between a low and high bound. The -low and high bounds are adjusted on each iteration, using new count -information, so that they become closer together over time. Thus as -the recursion progresses, the count of particles on either side of the -plane gets closer to the target value. - -Once the re-balancing is complete and final processor sub-domains -assigned, particles are migrated to their new owning processor, and -the balance procedure ends. - -NOTE: At each re-balance operation, the bisectioning for each cutting -plane (line in 2d) typically starts with low and high bounds separated -by the extent of a processor's sub-domain in one dimension. The size -of this bracketing region shrinks by 1/2 every iteration. Thus if -{Niter} is specified as 10, the cutting plane will typically be -positioned to 1 part in 1000 accuracy (relative to the perfect target -position). For {Niter} = 20, it will be accurate to 1 part in a -million. Thus there is no need ot set {Niter} to a large value. -LAMMPS will check if the threshold accuracy is reached (in a -dimension) is less iterations than {Niter} and exit early. However, -{Niter} should also not be set too small, since it will take roughly -the same number of iterations to converge even if the cutting plane is -initially close to the target value. - -:line - -The {rcb} style invokes a "tiled" method for balancing, as described -above. It performs a recursive coordinate bisectioning (RCB) of the -simulation domain. The basic idea is as follows. - -The simulation domain is cut into 2 boxes by an axis-aligned cut in -one of the dimensions, leaving one new sub-box on either side of the -cut. Which dimension is chosen for the cut depends on the particle -(weight) distribution within the parent box. Normally the longest -dimension of the box is cut, but if all (or most) of the particles are -at one end of the box, a cut may be performed in another dimension to -induce sub-boxes that are more cube-ish (3d) or square-ish (2d) in -shape. - -After the cut is made, all the processors are also partitioned into 2 -groups, half assigned to the box on the lower side of the cut, and -half to the box on the upper side. (If the processor count is odd, -one side gets an extra processor.) The cut is positioned so that the -number of (weighted) particles in the lower box is exactly the number -that the processors assigned to that box should own for load balance -to be perfect. This also makes load balance for the upper box -perfect. The positioning of the cut is done iteratively, by a -bisectioning method (median search). Note that counting particles on -either side of the cut requires communication between all processors -at each iteration. - -That is the procedure for the first cut. Subsequent cuts are made -recursively, in exactly the same manner. The subset of processors -assigned to each box make a new cut in one dimension of that box, -splitting the box, the subset of processors, and the particles in the -box in two. The recursion continues until every processor is assigned -a sub-box of the entire simulation domain, and owns the (weighted) -particles in that sub-box. - -:line - -This sub-section describes how to perform weighted load balancing -using the {weight} keyword. :link(weighted_balance) - -By default, all particles have a weight of 1.0, which means each -particle is assumed to require the same amount of computation during a -timestep. There are, however, scenarios where this is not a good -assumption. Measuring the computational cost for each particle -accurately would be impractical and slow down the computation. -Instead the {weight} keyword implements several ways to influence the -per-particle weights empirically by properties readily available or -using the user's knowledge of the system. Note that the absolute -value of the weights are not important; only their relative ratios -affect which particle is assigned to which processor. A particle with -a weight of 2.5 is assumed to require 5x more computational than a -particle with a weight of 0.5. For all the options below the weight -assigned to a particle must be a positive value; an error will be be -generated if a weight is <= 0.0. - -Below is a list of possible weight options with a short description of -their usage and some example scenarios where they might be applicable. -It is possible to apply multiple weight flags and the weightings they -induce will be combined through multiplication. Most of the time, -however, it is sufficient to use just one method. - -The {group} weight style assigns weight factors to specified -"groups"_group.html of particles. The {group} style keyword is -followed by the number of groups, then pairs of group IDs and the -corresponding weight factor. If a particle belongs to none of the -specified groups, its weight is not changed. If it belongs to -multiple groups, its weight is the product of the weight factors. - -This weight style is useful in combination with pair style -"hybrid"_pair_hybrid.html, e.g. when combining a more costly many-body -potential with a fast pair-wise potential. It is also useful when -using "run_style respa"_run_style.html where some portions of the -system have many bonded interactions and others none. It assumes that -the computational cost for each group remains constant over time. -This is a purely empirical weighting, so a series test runs to tune -the assigned weight factors for optimal performance is recommended. - -The {neigh} weight style assigns the same weight to each particle -owned by a processor based on the total count of neighbors in the -neighbor list owned by that processor. The motivation is that more -neighbors means a higher computational cost. The style does not use -neighbors per atom to assign a unique weight to each atom, because -that value can vary depending on how the neighbor list is built. - -The {factor} setting is applied as an overall scale factor to the -{neigh} weights which allows adjustment of their impact on the -balancing operation. The specified {factor} value must be positive. -A value > 1.0 will increase the weights so that the ratio of max -weight to min weight increases by {factor}. A value < 1.0 will -decrease the weights so that the ratio of max weight to min weight -decreases by {factor}. In both cases the intermediate weight values -increase/decrease proportionally as well. A value = 1.0 has no effect -on the {neigh} weights. As a rule of thumb, we have found a {factor} -of about 0.8 often results in the best performance, since the number -of neighbors is likely to overestimate the ideal weight. - -This weight style is useful for systems where there are different -cutoffs used for different pairs of interactions, or the density -fluctuates, or a large number of particles are in the vicinity of a -wall, or a combination of these effects. If a simulation uses -multiple neighbor lists, this weight style will use the first suitable -neighbor list it finds. It will not request or compute a new list. A -warning will be issued if there is no suitable neighbor list available -or if it is not current, e.g. if the balance command is used before a -"run"_run.html or "minimize"_minimize.html command is used, in which -case the neighbor list may not yet have been built. In this case no -weights are computed. Inserting a "run 0 post no"_run.html command -before issuing the {balance} command, may be a workaround for this -case, as it will induce the neighbor list to be built. - -The {time} weight style uses "timer data"_timer.html to estimate -weights. It assigns the same weight to each particle owned by a -processor based on the total computational time spent by that -processor. See details below on what time window is used. It uses -the same timing information as is used for the "MPI task timing -breakdown"_Run_output.html, namely, for sections {Pair}, {Bond}, -{Kspace}, and {Neigh}. The time spent in those portions of the -timestep are measured for each MPI rank, summed, then divided by the -number of particles owned by that processor. I.e. the weight is an -effective CPU time/particle averaged over the particles on that -processor. - -The {factor} setting is applied as an overall scale factor to the -{time} weights which allows adjustment of their impact on the -balancing operation. The specified {factor} value must be positive. -A value > 1.0 will increase the weights so that the ratio of max -weight to min weight increases by {factor}. A value < 1.0 will -decrease the weights so that the ratio of max weight to min weight -decreases by {factor}. In both cases the intermediate weight values -increase/decrease proportionally as well. A value = 1.0 has no effect -on the {time} weights. As a rule of thumb, effective values to use -are typically between 0.5 and 1.2. Note that the timer quantities -mentioned above can be affected by communication which occurs in the -middle of the operations, e.g. pair styles with intermediate exchange -of data witin the force computation, and likewise for KSpace solves. - -When using the {time} weight style with the {balance} command, the -timing data is taken from the preceding run command, i.e. the timings -are for the entire previous run. For the {fix balance} command the -timing data is for only the timesteps since the last balancing -operation was performed. If timing information for the required -sections is not available, e.g. at the beginning of a run, or when the -"timer"_timer.html command is set to either {loop} or {off}, a warning -is issued. In this case no weights are computed. - -NOTE: The {time} weight style is the most generic option, and should -be tried first, unless the {group} style is easily applicable. -However, since the computed cost function is averaged over all -particles on a processor, the weights may not be highly accurate. -This style can also be effective as a secondary weight in combination -with either {group} or {neigh} to offset some of inaccuracies in -either of those heuristics. - -The {var} weight style assigns per-particle weights by evaluating an -"atom-style variable"_variable.html specified by {name}. This is -provided as a more flexible alternative to the {group} weight style, -allowing definition of a more complex heuristics based on information -(global and per atom) available inside of LAMMPS. For example, -atom-style variables can reference the position of a particle, its -velocity, the volume of its Voronoi cell, etc. - -The {store} weight style does not compute a weight factor. Instead it -stores the current accumulated weights in a custom per-atom property -specified by {name}. This must be a property defined as {d_name} via -the "fix property/atom"_fix_property_atom.html command. Note that -these custom per-atom properties can be output in a "dump"_dump.html -file, so this is a way to examine, debug, or visualize the -per-particle weights computed during the load-balancing operation. - -:line - -The {out} keyword writes a text file to the specified {filename} with -the results of the balancing operation. The file contains the bounds -of the sub-domain for each processor after the balancing operation -completes. The format of the file is compatible with the -"Pizza.py"_pizza {mdump} tool which has support for manipulating and -visualizing mesh files. An example is shown here for a balancing by 4 -processors for a 2d problem: - -ITEM: TIMESTEP -0 -ITEM: NUMBER OF NODES -16 -ITEM: BOX BOUNDS -0 10 -0 10 -0 10 -ITEM: NODES -1 1 0 0 0 -2 1 5 0 0 -3 1 5 5 0 -4 1 0 5 0 -5 1 5 0 0 -6 1 10 0 0 -7 1 10 5 0 -8 1 5 5 0 -9 1 0 5 0 -10 1 5 5 0 -11 1 5 10 0 -12 1 10 5 0 -13 1 5 5 0 -14 1 10 5 0 -15 1 10 10 0 -16 1 5 10 0 -ITEM: TIMESTEP -0 -ITEM: NUMBER OF SQUARES -4 -ITEM: SQUARES -1 1 1 2 3 4 -2 1 5 6 7 8 -3 1 9 10 11 12 -4 1 13 14 15 16 :pre - -The coordinates of all the vertices are listed in the NODES section, 5 -per processor. Note that the 4 sub-domains share vertices, so there -will be duplicate nodes in the list. - -The "SQUARES" section lists the node IDs of the 4 vertices in a -rectangle for each processor (1 to 4). - -For a 3d problem, the syntax is similar with 8 vertices listed for -each processor, instead of 4, and "SQUARES" replaced by "CUBES". - -:line - -[Restrictions:] - -For 2d simulations, the {z} style cannot be used. Nor can a "z" -appear in {dimstr} for the {shift} style. - -Balancing through recursive bisectioning ({rcb} style) requires -"comm_style tiled"_comm_style.html - -[Related commands:] - -"group"_group.html, "processors"_processors.html, -"fix balance"_fix_balance.html, "comm_style"_comm_style.html - -[Default:] none -:link(pizza,http://pizza.sandia.gov) diff --git a/doc/txt/boundary.txt b/doc/txt/boundary.txt deleted file mode 100644 index f9685433b2c4ca35d6f5ebbdaf29b4071514a67f..0000000000000000000000000000000000000000 --- a/doc/txt/boundary.txt +++ /dev/null @@ -1,107 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -boundary command :h3 - -[Syntax:] - -boundary x y z :pre - -x,y,z = {p} or {s} or {f} or {m}, one or two letters :ulb,l - {p} is periodic - {f} is non-periodic and fixed - {s} is non-periodic and shrink-wrapped - {m} is non-periodic and shrink-wrapped with a minimum value :pre -:ule - -[Examples:] - -boundary p p f -boundary p fs p -boundary s f fm :pre - -[Description:] - -Set the style of boundaries for the global simulation box in each -dimension. A single letter assigns the same style to both the lower -and upper face of the box. Two letters assigns the first style to the -lower face and the second style to the upper face. The initial size -of the simulation box is set by the "read_data"_read_data.html, -"read_restart"_read_restart.html, or "create_box"_create_box.html -commands. - -The style {p} means the box is periodic, so that particles interact -across the boundary, and they can exit one end of the box and re-enter -the other end. A periodic dimension can change in size due to -constant pressure boundary conditions or box deformation (see the "fix -npt"_fix_nh.html and "fix deform"_fix_deform.html commands). The {p} -style must be applied to both faces of a dimension. - -The styles {f}, {s}, and {m} mean the box is non-periodic, so that -particles do not interact across the boundary and do not move from one -side of the box to the other. - -For style {f}, the position of the face is fixed. If an atom moves -outside the face it will be deleted on the next timestep that -reneighboring occurs. This will typically generate an error unless -you have set the "thermo_modify lost"_thermo_modify.html option to -allow for lost atoms. - -For style {s}, the position of the face is set so as to encompass the -atoms in that dimension (shrink-wrapping), no matter how far they -move. Note that when the difference between the current box dimensions -and the shrink-wrap box dimensions is large, this can lead to lost -atoms at the beginning of a run when running in parallel. This is due -to the large change in the (global) box dimensions also causing -significant changes in the individual sub-domain sizes. If these -changes are farther than the communication cutoff, atoms will be lost. -This is best addressed by setting initial box dimensions to match the -shrink-wrapped dimensions more closely, by using {m} style boundaries -(see below). - -For style {m}, shrink-wrapping occurs, but is bounded by the value -specified in the data or restart file or set by the -"create_box"_create_box.html command. For example, if the upper z -face has a value of 50.0 in the data file, the face will always be -positioned at 50.0 or above, even if the maximum z-extent of all the -atoms becomes less than 50.0. This can be useful if you start a -simulation with an empty box or if you wish to leave room on one side -of the box, e.g. for atoms to evaporate from a surface. - -For triclinic (non-orthogonal) simulation boxes, if the 2nd dimension -of a tilt factor (e.g. y for xy) is periodic, then the periodicity is -enforced with the tilt factor offset. If the 1st dimension is -shrink-wrapped, then the shrink wrapping is applied to the tilted box -face, to encompass the atoms. E.g. for a positive xy tilt, the xlo -and xhi faces of the box are planes tilting in the +y direction as y -increases. These tilted planes are shrink-wrapped around the atoms to -determine the x extent of the box. - -See the "Howto triclinic"_Howto_triclinic.html doc page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. - -[Restrictions:] - -This command cannot be used after the simulation box is defined by a -"read_data"_read_data.html or "create_box"_create_box.html command or -"read_restart"_read_restart.html command. See the -"change_box"_change_box.html command for how to change the simulation -box boundaries after it has been defined. - -For 2d simulations, the z dimension must be periodic. - -[Related commands:] - -See the "thermo_modify"_thermo_modify.html command for a discussion -of lost atoms. - -[Default:] - -boundary p p p :pre diff --git a/doc/txt/box.txt b/doc/txt/box.txt deleted file mode 100644 index 38c874fb78bc68b93ddaf666c6f97c0c147794e4..0000000000000000000000000000000000000000 --- a/doc/txt/box.txt +++ /dev/null @@ -1,61 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -box command :h3 - -[Syntax:] - -box keyword value ... :pre - -one or more keyword/value pairs may be appended :ulb,l -keyword = {tilt} :l - {tilt} value = {small} or {large} :pre -:ule - -[Examples:] - -box tilt large -box tilt small :pre - -[Description:] - -Set attributes of the simulation box. - -For triclinic (non-orthogonal) simulation boxes, the {tilt} keyword -allows simulation domains to be created with arbitrary tilt factors, -e.g. via the "create_box"_create_box.html or -"read_data"_read_data.html commands. Tilt factors determine how -skewed the triclinic box is; see the "Howto -triclinic"_Howto_triclinic.html doc page for a discussion of triclinic -boxes in LAMMPS. - -LAMMPS normally requires that no tilt factor can skew the box more -than half the distance of the parallel box length, which is the 1st -dimension in the tilt factor (x for xz). If {tilt} is set to -{small}, which is the default, then an error will be -generated if a box is created which exceeds this limit. If {tilt} -is set to {large}, then no limit is enforced. You can create -a box with any tilt factors you wish. - -Note that if a simulation box has a large tilt factor, LAMMPS will run -less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor's irregular-shaped sub-domain. -For extreme values of tilt, LAMMPS may also lose atoms and generate an -error. - -[Restrictions:] - -This command cannot be used after the simulation box is defined by a -"read_data"_read_data.html or "create_box"_create_box.html command or -"read_restart"_read_restart.html command. - -[Related commands:] none - -[Default:] - -The default value is tilt = small. diff --git a/doc/txt/change_box.txt b/doc/txt/change_box.txt deleted file mode 100644 index adc5d6bdcb42ee3c8b814ad21480e2ef9496e8d5..0000000000000000000000000000000000000000 --- a/doc/txt/change_box.txt +++ /dev/null @@ -1,329 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -change_box command :h3 - -[Syntax:] - -change_box group-ID parameter args ... keyword args ... :pre - -group-ID = ID of group of atoms to (optionally) displace :ulb,l -one or more parameter/arg pairs may be appended :l -parameter = {x} or {y} or {z} or {xy} or {xz} or {yz} or {boundary} or {ortho} or {triclinic} or {set} or {remap} - {x}, {y}, {z} args = style value(s) - style = {final} or {delta} or {scale} or {volume} - {final} values = lo hi - lo hi = box boundaries after displacement (distance units) - {delta} values = dlo dhi - dlo dhi = change in box boundaries after displacement (distance units) - {scale} values = factor - factor = multiplicative factor for change in box length after displacement - {volume} value = none = adjust this dim to preserve volume of system - {xy}, {xz}, {yz} args = style value - style = {final} or {delta} - {final} value = tilt - tilt = tilt factor after displacement (distance units) - {delta} value = dtilt - dtilt = change in tilt factor after displacement (distance units) - {boundary} args = x y z - x,y,z = {p} or {s} or {f} or {m}, one or two letters - {p} is periodic - {f} is non-periodic and fixed - {s} is non-periodic and shrink-wrapped - {m} is non-periodic and shrink-wrapped with a minimum value - {ortho} args = none = change box to orthogonal - {triclinic} args = none = change box to triclinic - {set} args = none = store state of current box - {remap} args = none = remap atom coords from last saved state to current box :pre - -zero or more keyword/value pairs may be appended :l -keyword = {units} :l - {units} value = {lattice} or {box} - lattice = distances are defined in lattice units - box = distances are defined in simulation box units :pre -:ule - -[Examples:] - -change_box all xy final -2.0 z final 0.0 5.0 boundary p p f remap units box -change_box all x scale 1.1 y volume z volume remap :pre - -[Description:] - -Change the volume and/or shape and/or boundary conditions for the -simulation box. Orthogonal simulation boxes have 3 adjustable size -parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have -6 adjustable size/shape parameters (x,y,z,xy,xz,yz). Any or all of -them can be adjusted independently by this command. Thus it can be -used to expand or contract a box, or to apply a shear strain to a -non-orthogonal box. It can also be used to change the boundary -conditions for the simulation box, similar to the -"boundary"_boundary.html command. - -The size and shape of the initial simulation box are specified by the -"create_box"_create_box.html or "read_data"_read_data.html or -"read_restart"_read_restart.html command used to setup the simulation. -The size and shape may be altered by subsequent runs, e.g. by use of -the "fix npt"_fix_nh.html or "fix deform"_fix_deform.html commands. -The "create_box"_create_box.html, "read data"_read_data.html, and -"read_restart"_read_restart.html commands also determine whether the -simulation box is orthogonal or triclinic and their doc pages explain -the meaning of the xy,xz,yz tilt factors. - -See the "Howto triclinic"_Howto_triclinic.html doc page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. - -The keywords used in this command are applied sequentially to the -simulation box and the atoms in it, in the order specified. - -Before the sequence of keywords are invoked, the current box -size/shape is stored, in case a {remap} keyword is used to map the -atom coordinates from a previously stored box size/shape to the -current one. - -After all the keywords have been processed, any shrink-wrap boundary -conditions are invoked (see the "boundary"_boundary.html command) -which may change simulation box boundaries, and atoms are migrated to -new owning processors. - -NOTE: This means that you cannot use the change_box command to enlarge -a shrink-wrapped box, e.g. to make room to insert more atoms via the -"create_atoms"_create_atoms.html command, because the simulation box -will be re-shrink-wrapped before the change_box command completes. -Instead you could do something like this, assuming the simulation box -is non-periodic and atoms extend from 0 to 20 in all dimensions: - -change_box all x final -10 20 -create_atoms 1 single -5 5 5 # this will fail to insert an atom :pre - -change_box all x final -10 20 boundary f s s -create_atoms 1 single -5 5 5 -change_box all boundary s s s # this will work :pre - -NOTE: Unlike the earlier "displace_box" version of this command, atom -remapping is NOT performed by default. This command allows remapping -to be done in a more general way, exactly when you specify it (zero or -more times) in the sequence of transformations. Thus if you do not -use the {remap} keyword, atom coordinates will not be changed even if -the box size/shape changes. If a uniformly strained state is desired, -the {remap} keyword should be specified. - -NOTE: It is possible to lose atoms with this command. E.g. by -changing the box without remapping the atoms, and having atoms end up -outside of non-periodic boundaries. It is also possible to alter -bonds between atoms straddling a boundary in bad ways. E.g. by -converting a boundary from periodic to non-periodic. It is also -possible when remapping atoms to put them (nearly) on top of each -other. E.g. by converting a boundary from non-periodic to periodic. -All of these will typically lead to bad dynamics and/or generate error -messages. - -NOTE: The simulation box size/shape can be changed by arbitrarily -large amounts by this command. This is not a problem, except that the -mapping of processors to the simulation box is not changed from its -initial 3d configuration; see the "processors"_processors.html -command. Thus, if the box size/shape changes dramatically, the -mapping of processors to the simulation box may not end up as optimal -as the initial mapping attempted to be. - -NOTE: Because the keywords used in this command are applied one at a -time to the simulation box and the atoms in it, care must be taken -with triclinic cells to avoid exceeding the limits on skew after each -transformation in the sequence. If skew is exceeded before the final -transformation this can be avoided by changing the order of the -sequence, or breaking the transformation into two or more smaller -transformations. For more information on the allowed limits for box -skew see the discussion on triclinic boxes on "Howto -triclinic"_Howto_triclinic.html doc page. - -:line - -For the {x}, {y}, and {z} parameters, this is the meaning of their -styles and values. - -For style {final}, the final lo and hi box boundaries of a dimension -are specified. The values can be in lattice or box distance units. -See the discussion of the units keyword below. - -For style {delta}, plus or minus changes in the lo/hi box boundaries -of a dimension are specified. The values can be in lattice or box -distance units. See the discussion of the units keyword below. - -For style {scale}, a multiplicative factor to apply to the box length -of a dimension is specified. For example, if the initial box length -is 10, and the factor is 1.1, then the final box length will be 11. A -factor less than 1.0 means compression. - -The {volume} style changes the specified dimension in such a way that -the overall box volume remains constant with respect to the operation -performed by the preceding keyword. The {volume} style can only be -used following a keyword that changed the volume, which is any of the -{x}, {y}, {z} keywords. If the preceding keyword "key" had a {volume} -style, then both it and the current keyword apply to the keyword -preceding "key". I.e. this sequence of keywords is allowed: - -change_box all x scale 1.1 y volume z volume :pre - -The {volume} style changes the associated dimension so that the -overall box volume is unchanged relative to its value before the -preceding keyword was invoked. - -If the following command is used, then the z box length will shrink by -the same 1.1 factor the x box length was increased by: - -change_box all x scale 1.1 z volume :pre - -If the following command is used, then the y,z box lengths will each -shrink by sqrt(1.1) to keep the volume constant. In this case, the -y,z box lengths shrink so as to keep their relative aspect ratio -constant: - -change_box all"x scale 1.1 y volume z volume :pre - -If the following command is used, then the final box will be a factor -of 10% larger in x and y, and a factor of 21% smaller in z, so as to -keep the volume constant: - -change_box all x scale 1.1 z volume y scale 1.1 z volume :pre - -NOTE: For solids or liquids, when one dimension of the box is -expanded, it may be physically undesirable to hold the other 2 box -lengths constant since that implies a density change. For solids, -adjusting the other dimensions via the {volume} style may make -physical sense (just as for a liquid), but may not be correct for -materials and potentials whose Poisson ratio is not 0.5. - -For the {scale} and {volume} styles, the box length is expanded or -compressed around its mid point. - -:line - -For the {xy}, {xz}, and {yz} parameters, this is the meaning of their -styles and values. Note that changing the tilt factors of a triclinic -box does not change its volume. - -For style {final}, the final tilt factor is specified. The value -can be in lattice or box distance units. See the discussion of the -units keyword below. - -For style {delta}, a plus or minus change in the tilt factor is -specified. The value can be in lattice or box distance units. See -the discussion of the units keyword below. - -All of these styles change the xy, xz, yz tilt factors. In LAMMPS, -tilt factors (xy,xz,yz) for triclinic boxes are required to be no more -than half the distance of the parallel box length. For example, if -xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt -factor must be between -5 and 5. Similarly, both xz and yz must be -between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a -limitation, since if the maximum tilt factor is 5 (as in this -example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are all equivalent. Any tilt factor specified by this command -must be within these limits. - -:line - -The {boundary} keyword takes arguments that have exactly the same -meaning as they do for the "boundary"_boundary.html command. In each -dimension, a single letter assigns the same style to both the lower -and upper face of the box. Two letters assigns the first style to the -lower face and the second style to the upper face. - -The style {p} means the box is periodic; the other styles mean -non-periodic. For style {f}, the position of the face is fixed. For -style {s}, the position of the face is set so as to encompass the -atoms in that dimension (shrink-wrapping), no matter how far they -move. For style {m}, shrink-wrapping occurs, but is bounded by the -current box edge in that dimension, so that the box will become no -smaller. See the "boundary"_boundary.html command for more -explanation of these style options. - -Note that the "boundary" command itself can only be used before the -simulation box is defined via a "read_data"_read_data.html or -"create_box"_create_box.html or "read_restart"_read_restart.html -command. This command allows the boundary conditions to be changed -later in your input script. Also note that the -"read_restart"_read_restart.html will change boundary conditions to -match what is stored in the restart file. So if you wish to change -them, you should use the change_box command after the read_restart -command. - -:line - -The {ortho} and {triclinic} keywords convert the simulation box to be -orthogonal or triclinic (non-orthogonal). - -The simulation box is defined as either orthogonal or triclinic when -it is created via the "create_box"_create_box.html, -"read_data"_read_data.html, or "read_restart"_read_restart.html -commands. - -These keywords allow you to toggle the existing simulation box from -orthogonal to triclinic and vice versa. For example, an initial -equilibration simulation can be run in an orthogonal box, the box can -be toggled to triclinic, and then a "non-equilibrium MD (NEMD) -simulation"_Howto_nemd.html can be run with deformation via the "fix -deform"_fix_deform.html command. - -If the simulation box is currently triclinic and has non-zero tilt in -xy, yz, or xz, then it cannot be converted to an orthogonal box. - -:line - -The {set} keyword saves the current box size/shape. This can be -useful if you wish to use the {remap} keyword more than once or if you -wish it to be applied to an intermediate box size/shape in a sequence -of keyword operations. Note that the box size/shape is saved before -any of the keywords are processed, i.e. the box size/shape at the time -the create_box command is encountered in the input script. - -The {remap} keyword remaps atom coordinates from the last saved box -size/shape to the current box state. For example, if you stretch the -box in the x dimension or tilt it in the xy plane via the {x} and {xy} -keywords, then the {remap} command will dilate or tilt the atoms to -conform to the new box size/shape, as if the atoms moved with the box -as it deformed. - -Note that this operation is performed without regard to periodic -boundaries. Also, any shrink-wrapping of non-periodic boundaries (see -the "boundary"_boundary.html command) occurs after all keywords, -including this one, have been processed. - -Only atoms in the specified group are remapped. - -:line - -The {units} keyword determines the meaning of the distance units used -to define various arguments. A {box} value selects standard distance -units as defined by the "units"_units.html command, e.g. Angstroms for -units = real or metal. A {lattice} value means the distance units are -in lattice spacings. The "lattice"_lattice.html command must have -been previously used to define the lattice spacing. - -:line - -[Restrictions:] - -If you use the {ortho} or {triclinic} keywords, then at the point in -the input script when this command is issued, no "dumps"_dump.html can -be active, nor can a "fix deform"_fix_deform.html be active. This is -because these commands test whether the simulation box is orthogonal -when they are first issued. Note that these commands can be used in -your script before a change_box command is issued, so long as an -"undump"_undump.html or "unfix"_unfix.html command is also used to -turn them off. - -[Related commands:] - -"fix deform"_fix_deform.html, "boundary"_boundary.html - -[Default:] - -The option default is units = lattice. diff --git a/doc/txt/clear.txt b/doc/txt/clear.txt deleted file mode 100644 index c4ad4c4030ca601cc2c1fa9fde44ce71c21946d2..0000000000000000000000000000000000000000 --- a/doc/txt/clear.txt +++ /dev/null @@ -1,39 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -clear command :h3 - -[Syntax:] - -clear :pre - -[Examples:] - -(commands for 1st simulation) -clear -(commands for 2nd simulation) :pre - -[Description:] - -This command deletes all atoms, restores all settings to their default -values, and frees all memory allocated by LAMMPS. Once a clear -command has been executed, it is almost as if LAMMPS were starting -over, with only the exceptions noted below. This command enables -multiple jobs to be run sequentially from one input script. - -These settings are not affected by a clear command: the working -directory ("shell"_shell.html command), log file status -("log"_log.html command), echo status ("echo"_echo.html command), and -input script variables ("variable"_variable.html command). - -[Restrictions:] none - -[Related commands:] none - -[Default:] none - diff --git a/doc/txt/comm_modify.txt b/doc/txt/comm_modify.txt deleted file mode 100644 index 9a792f6cc6047334eb7a165b584f911cc598a993..0000000000000000000000000000000000000000 --- a/doc/txt/comm_modify.txt +++ /dev/null @@ -1,166 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -comm_modify command :h3 - -[Syntax:] - -comm_modify keyword value ... :pre - -zero or more keyword/value pairs may be appended :ulb,l -keyword = {mode} or {cutoff} or {cutoff/multi} or {group} or {vel} :l - {mode} value = {single} or {multi} = communicate atoms within a single or multiple distances - {cutoff} value = Rcut (distance units) = communicate atoms from this far away - {cutoff/multi} type value - type = atom type or type range (supports asterisk notation) - value = Rcut (distance units) = communicate atoms for selected types from this far away - {group} value = group-ID = only communicate atoms in the group - {vel} value = {yes} or {no} = do or do not communicate velocity info with ghost atoms :pre -:ule - -[Examples:] - -comm_modify mode multi -comm_modify mode multi group solvent -comm_modift mode multi cutoff/multi 1 10.0 cutoff/multi 2*4 15.0 -comm_modify vel yes -comm_modify mode single cutoff 5.0 vel yes -comm_modify cutoff/multi * 0.0 :pre - -[Description:] - -This command sets parameters that affect the inter-processor -communication of atom information that occurs each timestep as -coordinates and other properties are exchanged between neighboring -processors and stored as properties of ghost atoms. - -NOTE: These options apply to the currently defined comm style. When -you specify a "comm_style"_comm_style.html or -"read_restart"_read_restart.html command, all communication settings -are restored to their default or stored values, including those -previously reset by a comm_modify command. Thus if your input script -specifies a comm_style or read_restart command, you should use the -comm_modify command after it. - -The {mode} keyword determines whether a single or multiple cutoff -distances are used to determine which atoms to communicate. - -The default mode is {single} which means each processor acquires -information for ghost atoms that are within a single distance from its -sub-domain. The distance is by default the maximum of the neighbor -cutoff across all atom type pairs. - -For many systems this is an efficient algorithm, but for systems with -widely varying cutoffs for different type pairs, the {multi} mode can -be faster. In this case, each atom type is assigned its own distance -cutoff for communication purposes, and fewer atoms will be -communicated. See the "neighbor multi"_neighbor.html command for a -neighbor list construction option that may also be beneficial for -simulations of this kind. - -The {cutoff} keyword allows you to extend the ghost cutoff distance -for communication mode {single}, which is the distance from the borders -of a processor's sub-domain at which ghost atoms are acquired from other -processors. By default the ghost cutoff = neighbor cutoff = pairwise -force cutoff + neighbor skin. See the "neighbor"_neighbor.html command -for more information about the skin distance. If the specified Rcut is -greater than the neighbor cutoff, then extra ghost atoms will be acquired. -If the provided cutoff is smaller, the provided value will be ignored, -the ghost cutoff is set to the neighbor cutoff and a warning will be -printed. Specifying a cutoff value of 0.0 will reset any previous value -to the default. If bonded interactions exist and equilibrium bond length -information is available, then also a heuristic based on that bond length -is computed. It is used as communication cutoff, if there is no pair -style present and no {comm_modify cutoff} command used. Otherwise a -warning is printed, if this bond based estimate is larger than the -communication cutoff used. A - -The {cutoff/multi} option is equivalent to {cutoff}, but applies to -communication mode {multi} instead. Since in this case the communication -cutoffs are determined per atom type, a type specifier is needed and -cutoff for one or multiple types can be extended. Also ranges of types -using the usual asterisk notation can be given. - -These are simulation scenarios in which it may be useful or even -necessary to set a ghost cutoff > neighbor cutoff: - -a single polymer chain with bond interactions, but no pairwise interactions -bonded interactions (e.g. dihedrals) extend further than the pairwise cutoff -ghost atoms beyond the pairwise cutoff are needed for some computation :ul - -In the first scenario, a pairwise potential is not defined. Thus the -pairwise neighbor cutoff will be 0.0. But ghost atoms are still -needed for computing bond, angle, etc interactions between atoms on -different processors, or when the interaction straddles a periodic -boundary. - -The appropriate ghost cutoff depends on the "newton bond"_newton.html -setting. For newton bond {off}, the distance needs to be the furthest -distance between any two atoms in the bond, angle, etc. E.g. the -distance between 1-4 atoms in a dihedral. For newton bond {on}, the -distance between the central atom in the bond, angle, etc and any -other atom is sufficient. E.g. the distance between 2-4 atoms in a -dihedral. - -In the second scenario, a pairwise potential is defined, but its -neighbor cutoff is not sufficiently long enough to enable bond, angle, -etc terms to be computed. As in the previous scenario, an appropriate -ghost cutoff should be set. - -In the last scenario, a "fix"_fix.html or "compute"_compute.html or -"pairwise potential"_pair_style.html needs to calculate with ghost -atoms beyond the normal pairwise cutoff for some computation it -performs (e.g. locate neighbors of ghost atoms in a multibody pair -potential). Setting the ghost cutoff appropriately can insure it will -find the needed atoms. - -NOTE: In these scenarios, if you do not set the ghost cutoff long -enough, and if there is only one processor in a periodic dimension -(e.g. you are running in serial), then LAMMPS may "find" the atom it -is looking for (e.g. the partner atom in a bond), that is on the far -side of the simulation box, across a periodic boundary. This will -typically lead to bad dynamics (i.e. the bond length is now the -simulation box length). To detect if this is happening, see the -"neigh_modify cluster"_neigh_modify.html command. - -The {group} keyword will limit communication to atoms in the specified -group. This can be useful for models where no ghost atoms are needed -for some kinds of particles. All atoms (not just those in the -specified group) will still migrate to new processors as they move. -The group specified with this option must also be specified via the -"atom_modify first"_atom_modify.html command. - -The {vel} keyword enables velocity information to be communicated with -ghost particles. Depending on the "atom_style"_atom_style.html, -velocity info includes the translational velocity, angular velocity, -and angular momentum of a particle. If the {vel} option is set to -{yes}, then ghost atoms store these quantities; if {no} then they do -not. The {yes} setting is needed by some pair styles which require -the velocity state of both the I and J particles to compute a pairwise -I,J interaction, as well as by some compute and fix commands. - -Note that if the "fix deform"_fix_deform.html command is being used -with its "remap v" option enabled, then the velocities for ghost atoms -(in the fix deform group) mirrored across a periodic boundary will -also include components due to any velocity shift that occurs across -that boundary (e.g. due to dilation or shear). - -[Restrictions:] - -Communication mode {multi} is currently only available for -"comm_style"_comm_style.html {brick}. - -[Related commands:] - -"comm_style"_comm_style.html, "neighbor"_neighbor.html - -[Default:] - -The option defaults are mode = single, group = all, cutoff = 0.0, vel = -no. The cutoff default of 0.0 means that ghost cutoff = neighbor -cutoff = pairwise force cutoff + neighbor skin. diff --git a/doc/txt/comm_style.txt b/doc/txt/comm_style.txt deleted file mode 100644 index cd9631dd88ac1d317d265d97e2fe9a3ccb99541a..0000000000000000000000000000000000000000 --- a/doc/txt/comm_style.txt +++ /dev/null @@ -1,66 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -comm_style command :h3 - -[Syntax:] - -comm_style style :pre - -style = {brick} or {tiled} :ul - -[Examples:] - -comm_style brick -comm_style tiled :pre - -[Description:] - -This command sets the style of inter-processor communication of atom -information that occurs each timestep as coordinates and other -properties are exchanged between neighboring processors and stored as -properties of ghost atoms. - -For the default {brick} style, the domain decomposition used by LAMMPS -to partition the simulation box must be a regular 3d grid of bricks, -one per processor. Each processor communicates with its 6 Cartesian -neighbors in the grid to acquire information for nearby atoms. - -For the {tiled} style, a more general domain decomposition can be -used, as triggered by the "balance"_balance.html or "fix -balance"_fix_balance.html commands. The simulation box can be -partitioned into non-overlapping rectangular-shaped "tiles" or varying -sizes and shapes. Again there is one tile per processor. To acquire -information for nearby atoms, communication must now be done with a -more complex pattern of neighboring processors. - -Note that this command does not actually define a partitioning of the -simulation box (a domain decomposition), rather it determines what -kinds of decompositions are allowed and the pattern of communication -used to enable the decomposition. A decomposition is created when the -simulation box is first created, via the "create_box"_create_box.html -or "read_data"_read_data.html or "read_restart"_read_restart.html -commands. For both the {brick} and {tiled} styles, the initial -decomposition will be the same, as described by -"create_box"_create_box.html and "processors"_processors.html -commands. The decomposition can be changed via the -"balance"_balance.html or "fix balance"_fix_balance.html commands. - -[Restrictions:] - -Communication style {tiled} cannot be used with {triclinic} simulation -cells. - -[Related commands:] - -"comm_modify"_comm_modify.html, "processors"_processors.html, -"balance"_balance.html, "fix balance"_fix_balance.html - -[Default:] - -The default style is brick. diff --git a/doc/txt/commands_list.txt b/doc/txt/commands_list.txt deleted file mode 100644 index 714aedefedf1010e3ec96b053243d244c954e4d0..0000000000000000000000000000000000000000 --- a/doc/txt/commands_list.txt +++ /dev/null @@ -1,125 +0,0 @@ -Commands :h1 - - diff --git a/doc/txt/compute.txt b/doc/txt/compute.txt deleted file mode 100644 index 7b6274d21a105136a6d55a3abf38148d375f4bdd..0000000000000000000000000000000000000000 --- a/doc/txt/compute.txt +++ /dev/null @@ -1,324 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute command :h3 - -[Syntax:] - -compute ID group-ID style args :pre - -ID = user-assigned name for the computation -group-ID = ID of the group of atoms to perform the computation on -style = one of a list of possible style names (see below) -args = arguments used by a particular style :ul - -[Examples:] - -compute 1 all temp -compute newtemp flow temp/partial 1 1 0 -compute 3 all ke/atom :pre - -[Description:] - -Define a computation that will be performed on a group of atoms. -Quantities calculated by a compute are instantaneous values, meaning -they are calculated from information about atoms on the current -timestep or iteration, though a compute may internally store some -information about a previous state of the system. Defining a compute -does not perform a computation. Instead computes are invoked by other -LAMMPS commands as needed, e.g. to calculate a temperature needed for -a thermostat fix or to generate thermodynamic or dump file output. -See the "Howto output"_Howto_output.html doc page for a summary of -various LAMMPS output options, many of which involve computes. - -The ID of a compute can only contain alphanumeric characters and -underscores. - -:line - -Computes calculate one of three styles of quantities: global, -per-atom, or local. A global quantity is one or more system-wide -values, e.g. the temperature of the system. A per-atom quantity is -one or more values per atom, e.g. the kinetic energy of each atom. -Per-atom values are set to 0.0 for atoms not in the specified compute -group. Local quantities are calculated by each processor based on the -atoms it owns, but there may be zero or more per atom, e.g. a list of -bond distances. Computes that produce per-atom quantities have the -word "atom" in their style, e.g. {ke/atom}. Computes that produce -local quantities have the word "local" in their style, -e.g. {bond/local}. Styles with neither "atom" or "local" in their -style produce global quantities. - -Note that a single compute can produce either global or per-atom or -local quantities, but not both global and per-atom. It can produce -local quantities in tandem with global or per-atom quantities. The -compute doc page will explain. - -Global, per-atom, and local quantities each come in three kinds: a -single scalar value, a vector of values, or a 2d array of values. The -doc page for each compute describes the style and kind of values it -produces, e.g. a per-atom vector. Some computes produce more than one -kind of a single style, e.g. a global scalar and a global vector. - -When a compute quantity is accessed, as in many of the output commands -discussed below, it can be referenced via the following bracket -notation, where ID is the ID of the compute: - -c_ID | entire scalar, vector, or array -c_ID\[I\] | one element of vector, one column of array -c_ID\[I\]\[J\] | one element of array :tb(s=|) - -In other words, using one bracket reduces the dimension of the -quantity once (vector -> scalar, array -> vector). Using two brackets -reduces the dimension twice (array -> scalar). Thus a command that -uses scalar compute values as input can also process elements of a -vector or array. - -Note that commands and "variables"_variable.html which use compute -quantities typically do not allow for all kinds, e.g. a command may -require a vector of values, not a scalar. This means there is no -ambiguity about referring to a compute quantity as c_ID even if it -produces, for example, both a scalar and vector. The doc pages for -various commands explain the details. - -:line - -In LAMMPS, the values generated by a compute can be used in several -ways: - -The results of computes that calculate a global temperature or -pressure can be used by fixes that do thermostatting or barostatting -or when atom velocities are created. :ulb,l - -Global values can be output via the "thermo_style -custom"_thermo_style.html or "fix ave/time"_fix_ave_time.html command. -Or the values can be referenced in a "variable equal"_variable.html or -"variable atom"_variable.html command. :l - -Per-atom values can be output via the "dump custom"_dump.html command. -Or they can be time-averaged via the "fix ave/atom"_fix_ave_atom.html -command or reduced by the "compute reduce"_compute_reduce.html -command. Or the per-atom values can be referenced in an "atom-style -variable"_variable.html. :l - -Local values can be reduced by the "compute -reduce"_compute_reduce.html command, or histogrammed by the "fix -ave/histo"_fix_ave_histo.html command, or output by the "dump -local"_dump.html command. :l -:ule - -The results of computes that calculate global quantities can be either -"intensive" or "extensive" values. Intensive means the value is -independent of the number of atoms in the simulation, -e.g. temperature. Extensive means the value scales with the number of -atoms in the simulation, e.g. total rotational kinetic energy. -"Thermodynamic output"_thermo_style.html will normalize extensive -values by the number of atoms in the system, depending on the -"thermo_modify norm" setting. It will not normalize intensive values. -If a compute value is accessed in another way, e.g. by a -"variable"_variable.html, you may want to know whether it is an -intensive or extensive value. See the doc page for individual -computes for further info. - -:line - -LAMMPS creates its own computes internally for thermodynamic output. -Three computes are always created, named "thermo_temp", -"thermo_press", and "thermo_pe", as if these commands had been invoked -in the input script: - -compute thermo_temp all temp -compute thermo_press all pressure thermo_temp -compute thermo_pe all pe :pre - -Additional computes for other quantities are created if the thermo -style requires it. See the documentation for the -"thermo_style"_thermo_style.html command. - -Fixes that calculate temperature or pressure, i.e. for thermostatting -or barostatting, may also create computes. These are discussed in the -documentation for specific "fix"_fix.html commands. - -In all these cases, the default computes LAMMPS creates can be -replaced by computes defined by the user in the input script, as -described by the "thermo_modify"_thermo_modify.html and "fix -modify"_fix_modify.html commands. - -Properties of either a default or user-defined compute can be modified -via the "compute_modify"_compute_modify.html command. - -Computes can be deleted with the "uncompute"_uncompute.html command. - -Code for new computes can be added to LAMMPS; see the -"Modify"_Modify.html doc page for details. The results of their -calculations accessed in the various ways described above. - -:line - -Each compute style has its own doc page which describes its arguments -and what it does. Here is an alphabetic list of compute styles -available in LAMMPS. They are also listed in more compact form on the -"Commands compute"_Commands_compute.html doc page. - -There are also additional accelerated compute styles included in the -LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. -The individual style names on the "Commands -compute"_Commands_compute.html doc page are followed by one or more of -(g,i,k,o,t) to indicate which accelerated styles exist. - -"ackland/atom"_compute_ackland_atom.html - determines the local lattice structure based on the Ackland formulation -"adf"_compute_adf.html - angular distribution function of triples of atoms -"aggregate/atom"_compute_cluster_atom.html - aggregate ID for each atom -"angle"_compute_angle.html - energy of each angle sub-style -"angle/local"_compute_angle_local.html - theta and energy of each angle -"angmom/chunk"_compute_angmom_chunk.html - angular momentum for each chunk -"basal/atom"_compute_basal_atom.html - calculates the hexagonal close-packed "c" lattice vector of each atom -"body/local"_compute_body_local.html - attributes of body sub-particles -"bond"_compute_bond.html - energy of each bond sub-style -"bond/local"_compute_bond_local.html - distance and energy of each bond -"centro/atom"_compute_centro_atom.html - centro-symmetry parameter for each atom -"centroid/stress/atom"_compute_stress_atom.html - centroid based stress tensor for each atom -"chunk/atom"_compute_chunk_atom.html - assign chunk IDs to each atom -"chunk/spread/atom"_compute_chunk_spread_atom.html - spreads chunk values to each atom in chunk -"cluster/atom"_compute_cluster_atom.html - cluster ID for each atom -"cna/atom"_compute_cna_atom.html - common neighbor analysis (CNA) for each atom -"cnp/atom"_compute_cnp_atom.html - common neighborhood parameter (CNP) for each atom -"com"_compute_com.html - center-of-mass of group of atoms -"com/chunk"_compute_com_chunk.html - center-of-mass for each chunk -"contact/atom"_compute_contact_atom.html - contact count for each spherical particle -"coord/atom"_compute_coord_atom.html - coordination number for each atom -"damage/atom"_compute_damage_atom.html - Peridynamic damage for each atom -"dihedral"_compute_dihedral.html - energy of each dihedral sub-style -"dihedral/local"_compute_dihedral_local.html - angle of each dihedral -"dilatation/atom"_compute_dilatation_atom.html - Peridynamic dilatation for each atom -"dipole/chunk"_compute_dipole_chunk.html - dipole vector and total dipole for each chunk -"displace/atom"_compute_displace_atom.html - displacement of each atom -"dpd"_compute_dpd.html - -"dpd/atom"_compute_dpd_atom.html - -"edpd/temp/atom"_compute_edpd_temp_atom.html - per-atom temperature for each eDPD particle in a group -"entropy/atom"_compute_entropy_atom.html - pair entropy fingerprint of each atom -"erotate/asphere"_compute_erotate_asphere.html - rotational energy of aspherical particles -"erotate/rigid"_compute_erotate_rigid.html - rotational energy of rigid bodies -"erotate/sphere"_compute_erotate_sphere.html - rotational energy of spherical particles -"erotate/sphere/atom"_compute_erotate_sphere_atom.html - rotational energy for each spherical particle -"event/displace"_compute_event_displace.html - detect event on atom displacement -"fep"_compute_fep.html - -"force/tally"_compute_tally.html - -"fragment/atom"_compute_cluster_atom.html - fragment ID for each atom -"global/atom"_compute_global_atom.html - -"group/group"_compute_group_group.html - energy/force between two groups of atoms -"gyration"_compute_gyration.html - radius of gyration of group of atoms -"gyration/chunk"_compute_gyration_chunk.html - radius of gyration for each chunk -"gyration/shape"_compute_gyration_shape.html - shape parameters from gyration tensor -"gyration/shape/chunk"_compute_gyration_shape_chunk.html - shape parameters from gyration tensor for each chunk -"heat/flux"_compute_heat_flux.html - heat flux through a group of atoms -"heat/flux/tally"_compute_tally.html - -"hexorder/atom"_compute_hexorder_atom.html - bond orientational order parameter q6 -"hma"_compute_hma.html - harmonically mapped averaging for atomic crystals -"improper"_compute_improper.html - energy of each improper sub-style -"improper/local"_compute_improper_local.html - angle of each improper -"inertia/chunk"_compute_inertia_chunk.html - inertia tensor for each chunk -"ke"_compute_ke.html - translational kinetic energy -"ke/atom"_compute_ke_atom.html - kinetic energy for each atom -"ke/atom/eff"_compute_ke_atom_eff.html - per-atom translational and radial kinetic energy in the electron force field model -"ke/eff"_compute_ke_eff.html - kinetic energy of a group of nuclei and electrons in the electron force field model -"ke/rigid"_compute_ke_rigid.html - translational kinetic energy of rigid bodies -"meso/e/atom"_compute_meso_e_atom.html - per-atom internal energy of Smooth-Particle Hydrodynamics atoms -"meso/rho/atom"_compute_meso_rho_atom.html - per-atom mesoscopic density of Smooth-Particle Hydrodynamics atoms -"meso/t/atom"_compute_meso_t_atom.html - per-atom internal temperature of Smooth-Particle Hydrodynamics atoms -"momentum"_compute_momentum.html - translational momentum -"msd"_compute_msd.html - mean-squared displacement of group of atoms -"msd/chunk"_compute_msd_chunk.html - mean-squared displacement for each chunk -"msd/nongauss"_compute_msd_nongauss.html - MSD and non-Gaussian parameter of group of atoms -"omega/chunk"_compute_omega_chunk.html - angular velocity for each chunk -"orientorder/atom"_compute_orientorder_atom.html - Steinhardt bond orientational order parameters Ql -"pair"_compute_pair.html - values computed by a pair style -"pair/local"_compute_pair_local.html - distance/energy/force of each pairwise interaction -"pe"_compute_pe.html - potential energy -"pe/atom"_compute_pe_atom.html - potential energy for each atom -"pe/mol/tally"_compute_tally.html - -"pe/tally"_compute_tally.html - -"plasticity/atom"_compute_plasticity_atom.html - Peridynamic plasticity for each atom -"pressure"_compute_pressure.html - total pressure and pressure tensor -"pressure/cylinder"_compute_pressure_cylinder.html - pressure tensor in cylindrical coordinates -"pressure/uef"_compute_pressure_uef.html - pressure tensor in the reference frame of an applied flow field -"property/atom"_compute_property_atom.html - convert atom attributes to per-atom vectors/arrays -"property/chunk"_compute_property_chunk.html - extract various per-chunk attributes -"property/local"_compute_property_local.html - convert local attributes to localvectors/arrays -"ptm/atom"_compute_ptm_atom.html - determines the local lattice structure based on the Polyhedral Template Matching method -"rdf"_compute_rdf.html - radial distribution function g(r) histogram of group of atoms -"reduce"_compute_reduce.html - combine per-atom quantities into a single global value -"reduce/chunk"_compute_reduce_chunk.html - reduce per-atom quantities within each chunk -"reduce/region"_compute_reduce.html - same as compute reduce, within a region -"rigid/local"_compute_rigid_local.html - extract rigid body attributes -"saed"_compute_saed.html - electron diffraction intensity on a mesh of reciprocal lattice nodes -"slice"_compute_slice.html - extract values from global vector or array -"smd/contact/radius"_compute_smd_contact_radius.html - -"smd/damage"_compute_smd_damage.html - damage status of SPH particles in Smooth Mach Dynamics -"smd/hourglass/error"_compute_smd_hourglass_error.html - -"smd/internal/energy"_compute_smd_internal_energy.html - per-particle enthalpy in Smooth Mach Dynamics -"smd/plastic/strain"_compute_smd_plastic_strain.html - equivalent plastic strain per particle in Smooth Mach Dynamics -"smd/plastic/strain/rate"_compute_smd_plastic_strain_rate.html - time rate of the equivalent plastic strain in Smooth Mach Dynamics -"smd/rho"_compute_smd_rho.html - per-particle mass density in Smooth Mach Dynamics -"smd/tlsph/defgrad"_compute_smd_tlsph_defgrad.html - deformation gradient in Smooth Mach Dynamics -"smd/tlsph/dt"_compute_smd_tlsph_dt.html - CFL-stable time increment per particle in Smooth Mach Dynamics -"smd/tlsph/num/neighs"_compute_smd_tlsph_num_neighs.html - -"smd/tlsph/shape"_compute_smd_tlsph_shape.html - -"smd/tlsph/strain"_compute_smd_tlsph_strain.html - -"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html - -"smd/tlsph/stress"_compute_smd_tlsph_stress.html - per-particle Cauchy stress tensor for SPH particles -"smd/triangle/vertices"_compute_smd_triangle_vertices.html - -"smd/ulsph/num/neighs"_compute_smd_ulsph_num_neighs.html - -"smd/ulsph/strain"_compute_smd_ulsph_strain.html - -"smd/ulsph/strain/rate"_compute_smd_ulsph_strain_rate.html - -"smd/ulsph/stress"_compute_smd_ulsph_stress.html - per-particle Cauchy stress tensor and von Mises equivalent stress in Smooth Mach Dynamics -"smd/vol"_compute_smd_vol.html - per-particle volumes and their sum in Smooth Mach Dynamics -"snap"_compute_sna_atom.html - bispectrum components and related quantities for a group of atoms -"sna/atom"_compute_sna_atom.html - bispectrum components for each atom -"snad/atom"_compute_sna_atom.html - derivative of bispectrum components for each atom -"snav/atom"_compute_sna_atom.html - virial contribution from bispectrum components for each atom -"spin"_compute_spin.html - magnetic quantities for a system of atoms having spins -"stress/atom"_compute_stress_atom.html - stress tensor for each atom -"stress/mop"_compute_stress_mop.html - normal components of the local stress tensor using the method of planes -"stress/mop/profile"_compute_stress_mop.html - profile of the normal components of the local stress tensor using the method of planes -"stress/tally"_compute_tally.html - -"tdpd/cc/atom"_compute_tdpd_cc_atom.html - per-atom chemical concentration of a specified species for each tDPD particle -"temp"_compute_temp.html - temperature of group of atoms -"temp/asphere"_compute_temp_asphere.html - temperature of aspherical particles -"temp/body"_compute_temp_body.html - temperature of body particles -"temp/chunk"_compute_temp_chunk.html - temperature of each chunk -"temp/com"_compute_temp_com.html - temperature after subtracting center-of-mass velocity -"temp/cs"_compute_temp_cs.html - temperature based on the center-of-mass velocity of atom pairs that are bonded to each other -"temp/deform"_compute_temp_deform.html - temperature excluding box deformation velocity -"temp/deform/eff"_compute_temp_deform_eff.html - temperature excluding box deformation velocity in the electron force field model -"temp/drude"_compute_temp_drude.html - temperature of Core-Drude pairs -"temp/eff"_compute_temp_eff.html - temperature of a group of nuclei and electrons in the electron force field model -"temp/partial"_compute_temp_partial.html - temperature excluding one or more dimensions of velocity -"temp/profile"_compute_temp_profile.html - temperature excluding a binned velocity profile -"temp/ramp"_compute_temp_ramp.html - temperature excluding ramped velocity component -"temp/region"_compute_temp_region.html - temperature of a region of atoms -"temp/region/eff"_compute_temp_region_eff.html - temperature of a region of nuclei and electrons in the electron force field model -"temp/rotate"_compute_temp_rotate.html - temperature of a group of atoms after subtracting out their center-of-mass and angular velocities -"temp/sphere"_compute_temp_sphere.html - temperature of spherical particles -"temp/uef"_compute_temp_uef.html - kinetic energy tensor in the reference frame of an applied flow field -"ti"_compute_ti.html - thermodynamic integration free energy values -"torque/chunk"_compute_torque_chunk.html - torque applied on each chunk -"vacf"_compute_vacf.html - velocity auto-correlation function of group of atoms -"vcm/chunk"_compute_vcm_chunk.html - velocity of center-of-mass for each chunk -"voronoi/atom"_compute_voronoi_atom.html - Voronoi volume and neighbors for each atom -"xrd"_compute_xrd.html - x-ray diffraction intensity on a mesh of reciprocal lattice nodes :ul - -[Restrictions:] none - -[Related commands:] - -"uncompute"_uncompute.html, "compute_modify"_compute_modify.html, "fix -ave/atom"_fix_ave_atom.html, "fix ave/time"_fix_ave_time.html, "fix -ave/histo"_fix_ave_histo.html - -[Default:] none diff --git a/doc/txt/compute_ackland_atom.txt b/doc/txt/compute_ackland_atom.txt deleted file mode 100644 index 46db81eb9e3d366592e3a1a9e254fb3d3f04170a..0000000000000000000000000000000000000000 --- a/doc/txt/compute_ackland_atom.txt +++ /dev/null @@ -1,85 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute ackland/atom command :h3 - -[Syntax:] - -compute ID group-ID ackland/atom keyword/value :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -ackland/atom = style name of this compute command :l - -zero or more keyword/value pairs may be appended :l -keyword = {legacy} :l - {legacy} yes/no = use ({yes}) or do not use ({no}) legacy ackland algorithm implementation :pre -:ule - -[Examples:] - -compute 1 all ackland/atom -compute 1 all ackland/atom legacy yes :pre - -[Description:] - -Defines a computation that calculates the local lattice structure -according to the formulation given in "(Ackland)"_#Ackland. -Historically, LAMMPS had two, slightly different implementations of -the algorithm from the paper. With the {legacy} keyword, it is -possible to switch between the pre-2015 ({legacy yes}) and post-2015 -implementation ({legacy no}). The post-2015 variant is the default. - -In contrast to the "centro-symmetry -parameter"_compute_centro_atom.html this method is stable against -temperature boost, because it is based not on the distance between -particles but the angles. Therefore statistical fluctuations are -averaged out a little more. A comparison with the Common Neighbor -Analysis metric is made in the paper. - -The result is a number which is mapped to the following different -lattice structures: - -0 = UNKNOWN -1 = BCC -2 = FCC -3 = HCP -4 = ICO :ul - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (i.e. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently or to have multiple compute/dump commands, each of -which computes this quantity.- - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -[Restrictions:] - -This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -The per-atom vector values will be unitless since they are the -integers defined above. - -[Related commands:] - -"compute centro/atom"_compute_centro_atom.html - -[Default:] -The keyword {legacy} defaults to {no}. - -:line - -:link(Ackland) -[(Ackland)] Ackland, Jones, Phys Rev B, 73, 054104 (2006). diff --git a/doc/txt/compute_adf.txt b/doc/txt/compute_adf.txt deleted file mode 100644 index 20b9fad3f64ff868949e006392e3cfd545db2885..0000000000000000000000000000000000000000 --- a/doc/txt/compute_adf.txt +++ /dev/null @@ -1,213 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -compute adf command :h3 - -[Syntax:] - -compute ID group-ID adf Nbin itype1 jtype1 ktype1 Rjinner1 Rjouter1 Rkinner1 Rkouter1 ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -adf = style name of this compute command :l -Nbin = number of ADF bins :l -itypeN = central atom type for Nth ADF histogram (see asterisk form below) :l -jtypeN = J atom type for Nth ADF histogram (see asterisk form below) :l -ktypeN = K atom type for Nth ADF histogram (see asterisk form below) :l -RjinnerN = inner radius of J atom shell for Nth ADF histogram (distance units) :l -RjouterN = outer radius of J atom shell for Nth ADF histogram (distance units) :l -RkinnerN = inner radius of K atom shell for Nth ADF histogram (distance units) :l -RkouterN = outer radius of K atom shell for Nth ADF histogram (distance units) :l - -zero or one keyword/value pairs may be appended :l -keyword = {ordinate} :l - {ordinate} value = {degree} or {radian} or {cosine} - Choose the ordinate parameter for the histogram :pre -:ule - -[Examples:] - -compute 1 fluid adf 32 1 1 1 0.0 1.2 0.0 1.2 & - 1 1 2 0.0 1.2 0.0 1.5 & - 1 2 2 0.0 1.5 0.0 1.5 & - 2 1 1 0.0 1.2 0.0 1.2 & - 2 1 2 0.0 1.5 2.0 3.5 & - 2 2 2 2.0 3.5 2.0 3.5 -compute 1 fluid adf 32 1*2 1*2 1*2 0.5 3.5 -compute 1 fluid adf 32 :pre - -[Description:] - -Define a computation that calculates one or more angular distribution functions -(ADF) for a group of particles. Each ADF is calculated in histogram form -by measuring the angle formed by a central atom and two neighbor atoms and -binning these angles into {Nbin} bins. -Only neighbors for which {Rinner} < {R} < {Router} are counted, where -{Rinner} and {Router} are specified separately for the first and second -neighbor atom in each requested ADF. - -NOTE: If you have a bonded system, then the settings of -"special_bonds"_special_bonds.html command can remove pairwise -interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the "special_bonds"_special_bonds.html -command, and means those pairwise interactions do not appear in the -neighbor list. Because this fix uses a neighbor list, it also means -those pairs will not be included in the ADF. This does not apply when -using long-range coulomb interactions ({coul/long}, {coul/msm}, -{coul/wolf} or similar. One way to get around this would be to set -special_bond scaling factors to very tiny numbers that are not exactly -zero (e.g. 1.0e-50). Another workaround is to write a dump file, and -use the "rerun"_rerun.html command to compute the ADF for snapshots in -the dump file. The rerun script can use a -"special_bonds"_special_bonds.html command that includes all pairs in -the neighbor list. - -NOTE: If you request any outer cutoff {Router} > force cutoff, or if no -pair style is defined, e.g. the "rerun"_rerun.html command is being used to -post-process a dump file of snapshots you must insure ghost atom information -out to the largest value of {Router} + {skin} is communicated, via the -"comm_modify cutoff"_comm_modify.html command, else the ADF computation -cannot be performed, and LAMMPS will give an error message. The {skin} value -is what is specified with the "neighbor"_neighbor.html command. - -The {itypeN},{jtypeN},{ktypeN} settings can be specified in one of two -ways. An explicit numeric value can be used, as in the 1st example -above. Or a wild-card asterisk can be used to specify a range of atom -types as in the 2nd example above. -This takes the form "*" or "*n" or "n*" or "m*n". If N = the -number of atom types, then an asterisk with no numeric values means -all types from 1 to N. A leading asterisk means all types from 1 to n -(inclusive). A trailing asterisk means all types from n to N -(inclusive). A middle asterisk means all types from m to n -(inclusive). - -If {itypeN}, {jtypeN}, and {ktypeN} are single values, as in the 1st example -above, this means that the ADF is computed where atoms of type {itypeN} -are the central atom, and neighbor atoms of type {jtypeN} and {ktypeN} -are forming the angle. If any of {itypeN}, {jtypeN}, or {ktypeN} -represent a range of values via -the wild-card asterisk, as in the 2nd example above, this means that the -ADF is computed where atoms of any of the range of types represented -by {itypeN} are the central atom, and the angle is formed by two neighbors, -one neighbor in the range of types represented by {jtypeN} and another neighbor -in the range of types represented by {ktypeN}. - -If no {itypeN}, {jtypeN}, {ktypeN} settings are specified, then -LAMMPS will generate a single ADF for all atoms in the group. -The inner cutoff is set to zero and the outer cutoff is set -to the force cutoff. If no pair_style is specified, there is no -force cutoff and LAMMPS will give an error message. Note that -in most cases, generating an ADF for all atoms is not a good thing. -Such an ADF is both uninformative and -extremely expensive to compute. For example, with liquid water -with a 10 A force cutoff, there are 80,000 angles per atom. -In addition, most of the interesting angular structure occurs for -neighbors that are the closest to the central atom, involving -just a few dozen angles. - -Angles for each ADF are generated by double-looping over the list of -neighbors of each central atom I, -just as they would be in the force calculation for -a three-body potential such as "Stillinger-Weber"_pair_sw.html. -The angle formed by central atom I and neighbor atoms J and K is included in an -ADF if the following criteria are met: - -atoms I,J,K are all in the specified compute group -the distance between atoms I,J is between Rjinner and Rjouter -the distance between atoms I,K is between Rkinner and Rkouter -the type of the I atom matches itypeN (one or a range of types) -atoms I,J,K are distinct -the type of the J atom matches jtypeN (one or a range of types) -the type of the K atom matches ktypeN (one or a range of types) :ul - -Each unique angle satisfying the above criteria is counted only once, regardless -of whether either or both of the neighbor atoms making up the -angle appear in both the J and K lists. -It is OK if a particular angle is included in more than -one individual histogram, due to the way the {itypeN}, {jtypeN}, {ktypeN} -arguments are specified. - -The first ADF value for a bin is calculated from the histogram count by -dividing by the total number of triples satisfying the criteria, -so that the integral of the ADF w.r.t. angle is 1, i.e. the ADF -is a probability density function. - -The second ADF value is reported as a cumulative sum of -all bins up to the current bins, averaged -over atoms of type {itypeN}. It represents the -number of angles per central atom with angle less -than or equal to the angle of the current bin, -analogous to the coordination -number radial distribution function. - -The {ordinate} optional keyword determines -whether the bins are of uniform angular size from zero -to 180 ({degree}), zero to Pi ({radian}), or the -cosine of the angle uniform in the range \[-1,1\] ({cosine}). -{cosine} has the advantage of eliminating the {acos()} function -call, which speeds up the compute by 2-3x, and it is also preferred -on physical grounds, because the for uniformly distributed particles -in 3D, the angular probability density w.r.t dtheta is -sin(theta)/2, while for d(cos(theta)), it is 1/2, -Regardless of which ordinate is chosen, the first column of ADF -values is normalized w.r.t. the range of that ordinate, so that -the integral is 1. - -The simplest way to output the results of the compute adf calculation -to a file is to use the "fix ave/time"_fix_ave_time.html command, for -example: - -compute myADF all adf 32 2 2 2 0.5 3.5 0.5 3.5 -fix 1 all ave/time 100 1 100 c_myADF\[*\] file tmp.adf mode vector :pre - -[Output info:] - -This compute calculates a global array with the number of rows = -{Nbins}, and the number of columns = 1 + 2*Ntriples, where Ntriples is the -number of I,J,K triples specified. The first column has the bin -coordinate (angle-related ordinate at midpoint of bin). Each subsequent column has -the two ADF values for a specific set of ({itypeN},{jtypeN},{ktypeN}) -interactions, as described above. These values can be used -by any command that uses a global values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The array values calculated by this compute are all "intensive". - -The first column of array values is the angle-related ordinate, either -the angle in degrees or radians, or the cosine of the angle. Each -subsequent pair of columns gives the first and second kinds of ADF -for a specific set of ({itypeN},{jtypeN},{ktypeN}). The values -in the first ADF column are normalized numbers >= 0.0, -whose integral w.r.t. the ordinate is 1, -i.e. the first ADF is a normalized probability distribution. -The values in the second ADF column are also numbers >= 0.0. -They are the cumulative density distribution of angles per atom. -By definition, this ADF is monotonically increasing from zero to -a maximum value equal to the average total number of -angles per atom satisfying the ADF criteria. - -[Restrictions:] - -The ADF is not computed for neighbors outside the force cutoff, -since processors (in parallel) don't know about atom coordinates for -atoms further away than that distance. If you want an ADF for larger -distances, you can use the "rerun"_rerun.html command to post-process -a dump file and set the cutoff for the potential to be longer in the -rerun script. Note that in the rerun context, the force cutoff is -arbitrary, since you aren't running dynamics and thus are not changing -your model. - -[Related commands:] - -"compute rdf"_compute_rdf.html, "fix ave/time"_fix_ave_time.html, "compute_modify"_compute_modify.html - -[Default:] - -The keyword default is ordinate = degree. - - diff --git a/doc/txt/compute_angle.txt b/doc/txt/compute_angle.txt deleted file mode 100644 index 64eb2f4bb1262828736bb342d3f9fe145f6c4f7b..0000000000000000000000000000000000000000 --- a/doc/txt/compute_angle.txt +++ /dev/null @@ -1,53 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute angle command :h3 - -[Syntax:] - -compute ID group-ID angle :pre - -ID, group-ID are documented in "compute"_compute.html command -angle = style name of this compute command :ul - -[Examples:] - -compute 1 all angle :pre - -[Description:] - -Define a computation that extracts the angle energy calculated by each -of the angle sub-styles used in the "angle_style -hybrid" angle_hybrid.html command. These values are made accessible -for output or further processing by other commands. The group -specified for this command is ignored. - -This compute is useful when using "angle_style -hybrid"_angle_hybrid.html if you want to know the portion of the total -energy contributed by one or more of the hybrid sub-styles. - -[Output info:] - -This compute calculates a global vector of length N where N is the -number of sub_styles defined by the "angle_style -hybrid"_angle_style.html command, which can be accessed by indices -1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The vector values are "extensive" and will be in energy -"units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute pe"_compute_pe.html, "compute pair"_compute_pair.html - -[Default:] none diff --git a/doc/txt/compute_angmom_chunk.txt b/doc/txt/compute_angmom_chunk.txt deleted file mode 100644 index f542ab51abb88b3597397ccfb440c6c003493cbe..0000000000000000000000000000000000000000 --- a/doc/txt/compute_angmom_chunk.txt +++ /dev/null @@ -1,88 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute angmom/chunk command :h3 - -[Syntax:] - -compute ID group-ID angmom/chunk chunkID :pre - -ID, group-ID are documented in "compute"_compute.html command -angmom/chunk = style name of this compute command -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :ul - -[Examples:] - -compute 1 fluid angmom/chunk molchunk :pre - -[Description:] - -Define a computation that calculates the angular momentum of multiple -chunks of atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -This compute calculates the 3 components of the angular momentum -vector for each chunk, due to the velocity/momentum of the individual -atoms in the chunk around the center-of-mass of the chunk. The -calculation includes all effects due to atoms passing through periodic -boundaries. - -Note that only atoms in the specified group contribute to the -calculation. The "compute chunk/atom"_compute_chunk_atom.html command -defines its own group; atoms will have a chunk ID = 0 if they are not -in that group, signifying they are not assigned to a chunk, and will -thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. - -NOTE: The coordinates of an atom contribute to the chunk's angular -momentum in "unwrapped" form, by using the image flags associated with -each atom. See the "dump custom"_dump.html command for a discussion -of "unwrapped" coordinates. See the Atoms section of the -"read_data"_read_data.html command for a discussion of image flags and -how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the "set -image"_set.html command. - -The simplest way to output the results of the compute angmom/chunk -calculation to a file is to use the "fix ave/time"_fix_ave_time.html -command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk all angmom/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -[Output info:] - -This compute calculates a global array where the number of rows = the -number of chunks {Nchunk} as calculated by the specified "compute -chunk/atom"_compute_chunk_atom.html command. The number of columns = -3 for the 3 xyz components of the angular momentum for each chunk. -These values can be accessed by any command that uses global array -values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The array values are "intensive". The array values will be in -mass-velocity-distance "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"variable angmom() function"_variable.html - -[Default:] none diff --git a/doc/txt/compute_basal_atom.txt b/doc/txt/compute_basal_atom.txt deleted file mode 100644 index c74bd4342e101a616d67be8234df35a556bd2225..0000000000000000000000000000000000000000 --- a/doc/txt/compute_basal_atom.txt +++ /dev/null @@ -1,75 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute basal/atom command :h3 - -[Syntax:] - -compute ID group-ID basal/atom :pre - -ID, group-ID are documented in "compute"_compute.html command -basal/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all basal/atom :pre - -[Description:] - -Defines a computation that calculates the hexagonal close-packed "c" -lattice vector for each atom in the group. It does this by -calculating the normal unit vector to the basal plane for each atom. -The results enable efficient identification and characterization of -twins and grains in hexagonal close-packed structures. - -The output of the compute is thus the 3 components of a unit vector -associated with each atom. The components are set to 0.0 for -atoms not in the group. - -Details of the calculation are given in "(Barrett)"_#Barrett. - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (i.e. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently or to have multiple compute/dump commands, each of -which computes this quantity. - -An example input script that uses this compute is provided -in examples/USER/misc/basal. - -[Output info:] - -This compute calculates a per-atom array with 3 columns, which can be -accessed by indices 1-3 by any command that uses per-atom values from -a compute as input. See the "Howto output"_Howto_output.html doc page -for an overview of LAMMPS output options. - -The per-atom vector values are unitless since the 3 columns represent -components of a unit vector. - -[Restrictions:] - -This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -The output of this compute will be meaningless unless the atoms are on -(or near) hcp lattice sites, since the calculation assumes a -well-defined basal plane. - -[Related commands:] - -"compute centro/atom"_compute_centro_atom.html, "compute -ackland/atom"_compute_ackland_atom.html - -[Default:] none - -:line - -:link(Barrett) -[(Barrett)] Barrett, Tschopp, El Kadiri, Scripta Mat. 66, p.666 (2012). diff --git a/doc/txt/compute_body_local.txt b/doc/txt/compute_body_local.txt deleted file mode 100644 index 8ac3f00c559345d1de1547542296a9f7b0469c00..0000000000000000000000000000000000000000 --- a/doc/txt/compute_body_local.txt +++ /dev/null @@ -1,92 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute body/local command :h3 - -[Syntax:] - -compute ID group-ID body/local input1 input2 ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -body/local = style name of this compute command :l -one or more keywords may be appended :l -keyword = {id} or {type} or {integer} :l - {id} = atom ID of the body particle - {type} = atom type of the body particle - {integer} = 1,2,3,etc = index of fields defined by body style :pre -:ule - -[Examples:] - -compute 1 all body/local type 1 2 3 -compute 1 all body/local 3 6 :pre - -[Description:] - -Define a computation that calculates properties of individual body -sub-particles. The number of datums generated, aggregated across all -processors, equals the number of body sub-particles plus the number of -non-body particles in the system, modified by the group parameter as -explained below. See the "Howto body"_Howto_body.html doc page for -more details on using body particles. - -The local data stored by this command is generated by looping over all -the atoms. An atom will only be included if it is in the group. If -the atom is a body particle, then its N sub-particles will be looped -over, and it will contribute N datums to the count of datums. If it -is not a body particle, it will contribute 1 datum. - -For both body particles and non-body particles, the {id} keyword -will store the ID of the particle. - -For both body particles and non-body particles, the {type} keyword -will store the type of the particle. - -The {integer} keywords mean different things for body and non-body -particles. If the atom is not a body particle, only its {x}, {y}, {z} -coordinates can be referenced, using the {integer} keywords 1,2,3. -Note that this means that if you want to access more fields than this -for body particles, then you cannot include non-body particles in the -group. - -For a body particle, the {integer} keywords refer to fields calculated -by the body style for each sub-particle. The body style, as specified -by the "atom_style body"_atom_style.html, determines how many fields -exist and what they are. See the "Howto_body"_Howto_body.html doc -page for details of the different styles. - -Here is an example of how to output body information using the "dump -local"_dump.html command with this compute. If fields 1,2,3 for the -body sub-particles are x,y,z coordinates, then the dump file will be -formatted similar to the output of a "dump atom or custom"_dump.html -command. - -compute 1 all body/local type 1 2 3 -dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_1\[3\] c_1\[4\] :pre - -[Output info:] - -This compute calculates a local vector or local array depending on the -number of keywords. The length of the vector or number of rows in the -array is the number of datums as described above. If a single keyword -is specified, a local vector is produced. If two or more keywords are -specified, a local array is produced where the number of columns = the -number of keywords. The vector or array can be accessed by any -command that uses local values from a compute as input. See the -"Howto output"_Howto_output.html doc page for an overview of LAMMPS -output options. - -The "units"_units.html for output values depend on the body style. - -[Restrictions:] none - -[Related commands:] - -"dump local"_dump.html - -[Default:] none diff --git a/doc/txt/compute_bond.txt b/doc/txt/compute_bond.txt deleted file mode 100644 index a87c510538f6035bf90b75d61cbd886a78c19208..0000000000000000000000000000000000000000 --- a/doc/txt/compute_bond.txt +++ /dev/null @@ -1,53 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute bond command :h3 - -[Syntax:] - -compute ID group-ID bond :pre - -ID, group-ID are documented in "compute"_compute.html command -bond = style name of this compute command :ul - -[Examples:] - -compute 1 all bond :pre - -[Description:] - -Define a computation that extracts the bond energy calculated by each -of the bond sub-styles used in the "bond_style -hybrid"_bond_hybrid.html command. These values are made accessible -for output or further processing by other commands. The group -specified for this command is ignored. - -This compute is useful when using "bond_style hybrid"_bond_hybrid.html -if you want to know the portion of the total energy contributed by one -or more of the hybrid sub-styles. - -[Output info:] - -This compute calculates a global vector of length N where N is the -number of sub_styles defined by the "bond_style -hybrid"_bond_style.html command, which can be accessed by indices 1-N. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The vector values are "extensive" and will be in energy -"units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute pe"_compute_pe.html, "compute pair"_compute_pair.html - -[Default:] none diff --git a/doc/txt/compute_centro_atom.txt b/doc/txt/compute_centro_atom.txt deleted file mode 100644 index 183537690f43f61a5c5099ac3c76c3dd37b8223c..0000000000000000000000000000000000000000 --- a/doc/txt/compute_centro_atom.txt +++ /dev/null @@ -1,151 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute centro/atom command :h3 - -[Syntax:] - -compute ID group-ID centro/atom lattice keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command -centro/atom = style name of this compute command -lattice = {fcc} or {bcc} or N = # of neighbors per atom to include :l -zero or more keyword/value pairs may be appended :l -keyword = {axes} :l - {axes} value = {no} or {yes} - {no} = do not calculate 3 symmetry axes - {yes} = calculate 3 symmetry axes :pre -:ule - -[Examples:] - -compute 1 all centro/atom fcc :pre -compute 1 all centro/atom 8 :pre - -[Description:] - -Define a computation that calculates the centro-symmetry parameter for -each atom in the group, for either FCC or BCC lattices, depending on -the choice of the {lattice} argument. In solid-state systems the -centro-symmetry parameter is a useful measure of the local lattice -disorder around an atom and can be used to characterize whether the -atom is part of a perfect lattice, a local defect (e.g. a dislocation -or stacking fault), or at a surface. - -The value of the centro-symmetry parameter will be 0.0 for atoms not -in the specified compute group. - -This parameter is computed using the following formula from -"(Kelchner)"_#Kelchner - -:c,image(Eqs/centro_symmetry.jpg) - -where the {N} nearest neighbors of each atom are identified and Ri and -Ri+N/2 are vectors from the central atom to a particular pair of -nearest neighbors. There are N*(N-1)/2 possible neighbor pairs that -can contribute to this formula. The quantity in the sum is computed -for each, and the N/2 smallest are used. This will typically be for -pairs of atoms in symmetrically opposite positions with respect to the -central atom; hence the i+N/2 notation. - -{N} is an input parameter, which should be set to correspond to the -number of nearest neighbors in the underlying lattice of atoms. If -the keyword {fcc} or {bcc} is used, {N} is set to 12 and 8 -respectively. More generally, {N} can be set to a positive, even -integer. - -For an atom on a lattice site, surrounded by atoms on a perfect -lattice, the centro-symmetry parameter will be 0. It will be near 0 -for small thermal perturbations of a perfect lattice. If a point -defect exists, the symmetry is broken, and the parameter will be a -larger positive value. An atom at a surface will have a large -positive parameter. If the atom does not have {N} neighbors (within -the potential cutoff), then its centro-symmetry parameter is set to -0.0. - -If the keyword {axes} has the setting {yes}, then this compute also -estimates three symmetry axes for each atom's local neighborhood. The -first two of these are the vectors joining the two pairs of neighbor -atoms with smallest contributions to the centrosymmetry parameter, -i.e. the two most symmetric pairs of atoms. The third vector is -normal to the first two by the right-hand rule. All three vectors are -normalized to unit length. For FCC crystals, the first two vectors -will lie along a <110> direction, while the third vector will lie -along either a <100> or <111> direction. For HCP crystals, the first -two vectors will lie along <1000> directions, while the third vector -will lie along <0001>. This provides a simple way to measure local -orientation in HCP structures. In general, the {axes} keyword can be -used to estimate the orientation of symmetry axes in the neighborhood -of any atom. - -Only atoms within the cutoff of the pairwise neighbor list are -considered as possible neighbors. Atoms not in the compute group are -included in the {N} neighbors used in this calculation. - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (e.g. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently or to have multiple compute/dump commands, each with a -{centro/atom} style. - -[Output info:] - -By default, this compute calculates the centrosymmetry value for each -atom as a per-atom vector, which can be accessed by any command that -uses per-atom values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -If the {axes} keyword setting is {yes}, then a per-atom array is -calculated. The first column is the centrosymmetry parameter. The -next three columns are the x, y, and z components of the first -symmetry axis, followed by the second, and third symmetry axes in -columns 5-7 and 8-10. - -The centrosymmetry values are unitless values >= 0.0. Their magnitude -depends on the lattice style due to the number of contributing neighbor -pairs in the summation in the formula above. And it depends on the -local defects surrounding the central atom, as described above. For -the {axes yes} case, the vector components are also unitless, since -they represent spatial directions. - -Here are typical centro-symmetry values, from a nanoindentation -simulation into gold (FCC). These were provided by Jon Zimmerman -(Sandia): - -Bulk lattice = 0 -Dislocation core ~ 1.0 (0.5 to 1.25) -Stacking faults ~ 5.0 (4.0 to 6.0) -Free surface ~ 23.0 :pre - -These values are *not* normalized by the square of the lattice -parameter. If they were, normalized values would be: - -Bulk lattice = 0 -Dislocation core ~ 0.06 (0.03 to 0.075) -Stacking faults ~ 0.3 (0.24 to 0.36) -Free surface ~ 1.38 :pre - -For BCC materials, the values for dislocation cores and free surfaces -would be somewhat different, due to their being only 8 neighbors instead -of 12. - -[Restrictions:] none - -[Related commands:] - -"compute cna/atom"_compute_cna_atom.html - -[Default:] - -The default value for the optional keyword is axes = no. - -:line - -:link(Kelchner) -[(Kelchner)] Kelchner, Plimpton, Hamilton, Phys Rev B, 58, 11085 (1998). diff --git a/doc/txt/compute_chunk_atom.txt b/doc/txt/compute_chunk_atom.txt deleted file mode 100644 index c6dfddbd55aa94929911d8f6e9199e32050de893..0000000000000000000000000000000000000000 --- a/doc/txt/compute_chunk_atom.txt +++ /dev/null @@ -1,665 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute chunk/atom command :h3 - -[Syntax:] - -compute ID group-ID chunk/atom style args keyword values ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -chunk/atom = style name of this compute command :l -style = {bin/1d} or {bin/2d} or {bin/3d} or {bin/sphere} or {type} or {molecule} or c_ID, c_ID\[I\], f_ID, f_ID\[I\], v_name - {bin/1d} args = dim origin delta - dim = {x} or {y} or {z} - origin = {lower} or {center} or {upper} or coordinate value (distance units) - delta = thickness of spatial bins in dim (distance units) - {bin/2d} args = dim origin delta dim origin delta - dim = {x} or {y} or {z} - origin = {lower} or {center} or {upper} or coordinate value (distance units) - delta = thickness of spatial bins in dim (distance units) - {bin/3d} args = dim origin delta dim origin delta dim origin delta - dim = {x} or {y} or {z} - origin = {lower} or {center} or {upper} or coordinate value (distance units) - delta = thickness of spatial bins in dim (distance units) - {bin/sphere} args = xorig yorig zorig rmin rmax nsbin - xorig,yorig,zorig = center point of sphere - srmin,srmax = bin from sphere radius rmin to rmax - nsbin = # of spherical shell bins between rmin and rmax - {bin/cylinder} args = dim origin delta c1 c2 rmin rmax ncbin - dim = {x} or {y} or {z} = axis of cylinder axis - origin = {lower} or {center} or {upper} or coordinate value (distance units) - delta = thickness of spatial bins in dim (distance units) - c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) - crmin,crmax = bin from cylinder radius rmin to rmax (distance units) - ncbin = # of concentric circle bins between rmin and rmax - {type} args = none - {molecule} args = none - c_ID, c_ID\[I\], f_ID, f_ID\[I\], v_name args = none - c_ID = per-atom vector calculated by a compute with ID - c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID - f_ID = per-atom vector calculated by a fix with ID - f_ID\[I\] = Ith column of per-atom array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name :pre - -zero or more keyword/values pairs may be appended :l -keyword = {region} or {nchunk} or {static} or {compress} or {bound} or {discard} or {pbc} or {units} :l - {region} value = region-ID - region-ID = ID of region atoms must be in to be part of a chunk - {nchunk} value = {once} or {every} - once = only compute the number of chunks once - every = re-compute the number of chunks whenever invoked - {limit} values = 0 or Nc max or Nc exact - 0 = no limit on the number of chunks - Nc max = limit number of chunks to be <= Nc - Nc exact = set number of chunks to exactly Nc - {ids} value = {once} or {nfreq} or {every} - once = assign chunk IDs to atoms only once, they persist thereafter - nfreq = assign chunk IDs to atoms only once every Nfreq steps (if invoked by "fix ave/chunk"_fix_ave_chunk.html which sets Nfreq) - every = assign chunk IDs to atoms whenever invoked - {compress} value = {yes} or {no} - yes = compress chunk IDs to eliminate IDs with no atoms - no = do not compress chunk IDs even if some IDs have no atoms - {discard} value = {yes} or {no} or {mixed} - yes = discard atoms with out-of-range chunk IDs by assigning a chunk ID = 0 - no = keep atoms with out-of-range chunk IDs by assigning a valid chunk ID - mixed = keep or discard such atoms according to spatial binning rule - {bound} values = x/y/z lo hi - x/y/z = {x} or {y} or {z} to bound sptial bins in this dimension - lo = {lower} or coordinate value (distance units) - hi = {upper} or coordinate value (distance units) - {pbc} value = {no} or {yes} - yes = use periodic distance for bin/sphere and bin/cylinder styles - {units} value = {box} or {lattice} or {reduced} :pre -:ule - -[Examples:] - -compute 1 all chunk/atom type -compute 1 all chunk/atom bin/1d z lower 0.02 units reduced -compute 1 all chunk/atom bin/2d z lower 1.0 y 0.0 2.5 -compute 1 all chunk/atom molecule region sphere nchunk once ids once compress yes -compute 1 all chunk/atom bin/sphere 5 5 5 2.0 5.0 5 discard yes -compute 1 all chunk/atom bin/cylinder z lower 2 10 10 2.0 5.0 3 discard yes -compute 1 all chunk/atom c_cluster :pre - -[Description:] - -Define a computation that calculates an integer chunk ID from 1 to -Nchunk for each atom in the group. Values of chunk IDs are determined -by the {style} of chunk, which can be based on atom type or molecule -ID or spatial binning or a per-atom property or value calculated by -another "compute"_compute.html, "fix"_fix.html, or "atom-style -variable"_variable.html. Per-atom chunk IDs can be used by other -computes with "chunk" in their style name, such as "compute -com/chunk"_compute_com_chunk.html or "compute -msd/chunk"_compute_msd_chunk.html. Or they can be used by the "fix -ave/chunk"_fix_ave_chunk.html command to sum and time average a -variety of per-atom properties over the atoms in each chunk. Or they -can simply be accessed by any command that uses per-atom values from a -compute as input, as discussed on the "Howto output"_Howto_output.html -doc page. - -See the "Howto chunk"_Howto_chunk.html doc page for an overview of how -this compute can be used with a variety of other commands to tabulate -properties of a simulation. The page gives several examples of input -script commands that can be used to calculate interesting properties. - -Conceptually it is important to realize that this compute does two -simple things. First, it sets the value of {Nchunk} = the number of -chunks, which can be a constant value or change over time. Second, it -assigns each atom to a chunk via a chunk ID. Chunk IDs range from 1 -to {Nchunk} inclusive; some chunks may have no atoms assigned to them. -Atoms that do not belong to any chunk are assigned a value of 0. Note -that the two operations are not always performed together. For -example, spatial bins can be setup once (which sets {Nchunk}), and -atoms assigned to those bins many times thereafter (setting their -chunk IDs). - -All other commands in LAMMPS that use chunk IDs assume there are -{Nchunk} number of chunks, and that every atom is assigned to one of -those chunks, or not assigned to any chunk. - -There are many options for specifying for how and when {Nchunk} is -calculated, and how and when chunk IDs are assigned to atoms. The -details depend on the chunk {style} and its {args}, as well as -optional keyword settings. They can also depend on whether a "fix -ave/chunk"_fix_ave_chunk.html command is using this compute, since -that command requires {Nchunk} to remain static across windows of -timesteps it specifies, while it accumulates per-chunk averages. - -The details are described below. - -:line - -The different chunk styles operate as follows. For each style, how it -calculates {Nchunk} and assigns chunk IDs to atoms is explained. Note -that using the optional keywords can change both of those actions, as -described further below where the keywords are discussed. - -:line - -The {binning} styles perform a spatial binning of atoms, and assign an -atom the chunk ID corresponding to the bin number it is in. {Nchunk} -is set to the number of bins, which can change if the simulation box -size changes. This also depends on the setting of the {units} -keyword; e.g. for {reduced} units the number of chunks may not change -even if the box size does. - -The {bin/1d}, {bin/2d}, and {bin/3d} styles define bins as 1d layers -(slabs), 2d pencils, or 3d boxes. The {dim}, {origin}, and {delta} -settings are specified 1, 2, or 3 times. For 2d or 3d bins, there is -no restriction on specifying dim = x before dim = y or z, or dim = y -before dim = z. Bins in a particular {dim} have a bin size in that -dimension given by {delta}. In each dimension, bins are defined -relative to a specified {origin}, which may be the lower/upper edge of -the simulation box (in that dimension), or its center point, or a -specified coordinate value. Starting at the origin, sufficient bins -are created in both directions to completely span the simulation box -or the bounds specified by the optional {bounds} keyword. - -For orthogonal simulation boxes, the bins are layers, pencils, or -boxes aligned with the xyz coordinate axes. For triclinic -(non-orthogonal) simulation boxes, the bin faces are parallel to the -tilted faces of the simulation box. See the "Howto -triclinic"_Howto_triclinic.html doc page for a discussion of the -geometry of triclinic boxes in LAMMPS. As described there, a tilted -simulation box has edge vectors a,b,c. In that nomenclature, bins in -the x dimension have faces with normals in the "b" cross "c" -direction. Bins in y have faces normal to the "a" cross "c" -direction. And bins in z have faces normal to the "a" cross "b" -direction. Note that in order to define the size and position of -these bins in an unambiguous fashion, the {units} option must be set -to {reduced} when using a triclinic simulation box, as noted below. - -The meaning of {origin} and {delta} for triclinic boxes is as follows. -Consider a triclinic box with bins that are 1d layers or slabs in the -x dimension. No matter how the box is tilted, an {origin} of 0.0 -means start layers at the lower "b" cross "c" plane of the simulation -box and an {origin} of 1.0 means to start layers at the upper "b" -cross "c" face of the box. A {delta} value of 0.1 in {reduced} units -means there will be 10 layers from 0.0 to 1.0, regardless of the -current size or shape of the simulation box. - -The {bin/sphere} style defines a set of spherical shell bins around -the origin ({xorig},{yorig},{zorig}), using {nsbin} bins with radii -equally spaced between {srmin} and {srmax}. This is effectively a 1d -vector of bins. For example, if {srmin} = 1.0 and {srmax} = 10.0 and -{nsbin} = 9, then the first bin spans 1.0 < r < 2.0, and the last bin -spans 9.0 < r 10.0. The geometry of the bins is the same whether the -simulation box is orthogonal or triclinic; i.e. the spherical shells -are not tilted or scaled differently in different dimensions to -transform them into ellipsoidal shells. - -The {bin/cylinder} style defines bins for a cylinder oriented along -the axis {dim} with the axis coordinates in the other two radial -dimensions at ({c1},{c2}). For dim = x, c1/c2 = y/z; for dim = y, -c1/c2 = x/z; for dim = z, c1/c2 = x/y. This is effectively a 2d array -of bins. The first dimension is along the cylinder axis, the second -dimension is radially outward from the cylinder axis. The bin size -and positions along the cylinder axis are specified by the {origin} -and {delta} values, the same as for the {bin/1d}, {bin/2d}, and -{bin/3d} styles. There are {ncbin} concentric circle bins in the -radial direction from the cylinder axis with radii equally spaced -between {crmin} and {crmax}. For example, if {crmin} = 1.0 and -{crmax} = 10.0 and {ncbin} = 9, then the first bin spans 1.0 < r < -2.0, and the last bin spans 9.0 < r 10.0. The geometry of the bins in -the radial dimensions is the same whether the simulation box is -orthogonal or triclinic; i.e. the concentric circles are not tilted or -scaled differently in the two different dimensions to transform them -into ellipses. - -The created bins (and hence the chunk IDs) are numbered consecutively -from 1 to the number of bins = {Nchunk}. For {bin2d} and {bin3d}, the -numbering varies most rapidly in the first dimension (which could be -x, y, or z), next rapidly in the 2nd dimension, and most slowly in the -3rd dimension. For {bin/sphere}, the bin with smallest radii is chunk -1 and the bni with largest radii is chunk Nchunk = {ncbin}. For -{bin/cylinder}, the numbering varies most rapidly in the dimension -along the cylinder axis and most slowly in the radial direction. - -Each time this compute is invoked, each atom is mapped to a bin based -on its current position. Note that between reneighboring timesteps, -atoms can move outside the current simulation box. If the box is -periodic (in that dimension) the atom is remapping into the periodic -box for purposes of binning. If the box in not periodic, the atom may -have moved outside the bounds of all bins. If an atom is not inside -any bin, the {discard} keyword is used to determine how a chunk ID is -assigned to the atom. - -:line - -The {type} style uses the atom type as the chunk ID. {Nchunk} is set -to the number of atom types defined for the simulation, e.g. via the -"create_box"_create_box.html or "read_data"_read_data.html commands. - -:line - -The {molecule} style uses the molecule ID of each atom as its chunk -ID. {Nchunk} is set to the largest chunk ID. Note that this excludes -molecule IDs for atoms which are not in the specified group or -optional region. - -There is no requirement that all atoms in a particular molecule are -assigned the same chunk ID (zero or non-zero), though you probably -want that to be the case, if you wish to compute a per-molecule -property. LAMMPS will issue a warning if that is not the case, but -only the first time that {Nchunk} is calculated. - -Note that atoms with a molecule ID = 0, which may be non-molecular -solvent atoms, have an out-of-range chunk ID. These atoms are -discarded (not assigned to any chunk) or assigned to {Nchunk}, -depending on the value of the {discard} keyword. - -:line - -The {compute/fix/variable} styles set the chunk ID of each atom based -on a quantity calculated and stored by a compute, fix, or variable. -In each case, it must be a per-atom quantity. In each case the -referenced floating point values are converted to an integer chunk ID -as follows. The floating point value is truncated (rounded down) to -an integer value. If the integer value is <= 0, then a chunk ID of 0 -is assigned to the atom. If the integer value is > 0, it becomes the -chunk ID to the atom. {Nchunk} is set to the largest chunk ID. Note -that this excludes atoms which are not in the specified group or -optional region. - -If the style begins with "c_", a compute ID must follow which has been -previously defined in the input script. If no bracketed integer is -appended, the per-atom vector calculated by the compute is used. If a -bracketed integer is appended, the Ith column of the per-atom array -calculated by the compute is used. Users can also write code for -their own compute styles and "add them to LAMMPS"_Modify.html. - -If the style begins with "f_", a fix ID must follow which has been -previously defined in the input script. If no bracketed integer is -appended, the per-atom vector calculated by the fix is used. If a -bracketed integer is appended, the Ith column of the per-atom array -calculated by the fix is used. Note that some fixes only produce -their values on certain timesteps, which must be compatible with the -timestep on which this compute accesses the fix, else an error -results. Users can also write code for their own fix styles and "add -them to LAMMPS"_Modify.html. - -If a value begins with "v_", a variable name for an {atom} or -{atomfile} style "variable"_variable.html must follow which has been -previously defined in the input script. Variables of style {atom} can -reference thermodynamic keywords and various per-atom attributes, or -invoke other computes, fixes, or variables when they are evaluated, so -this is a very general means of generating per-atom quantities to -treat as a chunk ID. - -:line - -Normally, {Nchunk} = the number of chunks, is re-calculated every time -this fix is invoked, though the value may or may not change. As -explained below, the {nchunk} keyword can be set to {once} which means -{Nchunk} will never change. - -If a "fix ave/chunk"_fix_ave_chunk.html command uses this compute, it -can also turn off the re-calculation of {Nchunk} for one or more -windows of timesteps. The extent of the windows, during which Nchunk -is held constant, are determined by the {Nevery}, {Nrepeat}, {Nfreq} -values and the {ave} keyword setting that are used by the "fix -ave/chunk"_fix_ave_chunk.html command. - -Specifically, if {ave} = {one}, then for each span of {Nfreq} -timesteps, {Nchunk} is held constant between the first timestep when -averaging is done (within the Nfreq-length window), and the last -timestep when averaging is done (multiple of Nfreq). If {ave} = -{running} or {window}, then {Nchunk} is held constant forever, -starting on the first timestep when the "fix -ave/chunk"_fix_ave_chunk.html command invokes this compute. - -Note that multiple "fix ave/chunk"_fix_ave_chunk.html commands can use -the same compute chunk/atom compute. However, the time windows they -induce for holding {Nchunk} constant must be identical, else an error -will be generated. - -:line - -The various optional keywords operate as follows. Note that some of -them function differently or are ignored by different chunk styles. -Some of them also have different default values, depending on -the chunk style, as listed below. - -The {region} keyword applies to all chunk styles. If used, an atom -must be in both the specified group and the specified geometric -"region"_region.html to be assigned to a chunk. - -:line - -The {nchunk} keyword applies to all chunk styles. It specifies how -often {Nchunk} is recalculated, which in turn can affect the chunk IDs -assigned to individual atoms. - -If {nchunk} is set to {once}, then {Nchunk} is only calculated once, -the first time this compute is invoked. If {nchunk} is set to -{every}, then {Nchunk} is re-calculated every time the compute is -invoked. Note that, as described above, the use of this compute -by the "fix ave/chunk"_fix_ave_chunk.html command can override -the {every} setting. - -The default values for {nchunk} are listed below and depend on the -chunk style and other system and keyword settings. They attempt to -represent typical use cases for the various chunk styles. The -{nchunk} value can always be set explicitly if desired. - -:line - -The {limit} keyword can be used to limit the calculated value of -{Nchunk} = the number of chunks. The limit is applied each time -{Nchunk} is calculated, which also limits the chunk IDs assigned to -any atom. The {limit} keyword is used by all chunk styles except the -{binning} styles, which ignore it. This is because the number of bins -can be tailored using the {bound} keyword (described below) which -effectively limits the size of {Nchunk}. - -If {limit} is set to {Nc} = 0, then no limit is imposed on {Nchunk}, -though the {compress} keyword can still be used to reduce {Nchunk}, as -described below. - -If {Nc} > 0, then the effect of the {limit} keyword depends on whether -the {compress} keyword is also used with a setting of {yes}, and -whether the {compress} keyword is specified before the {limit} keyword -or after. - -In all cases, {Nchunk} is first calculated in the usual way for each -chunk style, as described above. - -First, here is what occurs if {compress yes} is not set. If {limit} -is set to {Nc max}, then {Nchunk} is reset to the smaller of {Nchunk} -and {Nc}. If {limit} is set to {Nc exact}, then {Nchunk} is reset to -{Nc}, whether the original {Nchunk} was larger or smaller than {Nc}. -If {Nchunk} shrank due to the {limit} setting, then atom chunk IDs > -{Nchunk} will be reset to 0 or {Nchunk}, depending on the setting of -the {discard} keyword. If {Nchunk} grew, there will simply be some -chunks with no atoms assigned to them. - -If {compress yes} is set, and the {compress} keyword comes before the -{limit} keyword, the compression operation is performed first, as -described below, which resets {Nchunk}. The {limit} keyword is then -applied to the new {Nchunk} value, exactly as described in the -preceding paragraph. Note that in this case, all atoms will end up -with chunk IDs <= {Nc}, but their original values (e.g. molecule ID or -compute/fix/variable) may have been > {Nc}, because of the compression -operation. - -If {compress yes} is set, and the {compress} keyword comes after the -{limit} keyword, then the {limit} value of {Nc} is applied first to -the uncompressed value of {Nchunk}, but only if {Nc} < {Nchunk} -(whether {Nc max} or {Nc exact} is used). This effectively means all -atoms with chunk IDs > {Nc} have their chunk IDs reset to 0 or {Nc}, -depending on the setting of the {discard} keyword. The compression -operation is then performed, which may shrink {Nchunk} further. If -the new {Nchunk} < {Nc} and {limit} = {Nc exact} is specified, then -{Nchunk} is reset to {Nc}, which results in extra chunks with no atoms -assigned to them. Note that in this case, all atoms will end up with -chunk IDs <= {Nc}, and their original values (e.g. molecule ID or -compute/fix/variable value) will also have been <= {Nc}. - -:line - -The {ids} keyword applies to all chunk styles. If the setting is -{once} then the chunk IDs assigned to atoms the first time this -compute is invoked will be permanent, and never be re-computed. - -If the setting is {nfreq} and if a "fix ave/chunk"_fix_ave_chunk.html -command is using this compute, then in each of the {Nchunk} = constant -time windows (discussed above), the chunk ID's assigned to atoms on -the first step of the time window will persist until the end of the -time window. - -If the setting is {every}, which is the default, then chunk IDs are -re-calculated on any timestep this compute is invoked. - -NOTE: If you want the persistent chunk-IDs calculated by this compute -to be continuous when running from a "restart file"_read_restart.html, -then you should use the same ID for this compute, as in the original -run. This is so that the fix this compute creates to store per-atom -quantities will also have the same ID, and thus be initialized -correctly with chunk IDs from the restart file. - -:line - -The {compress} keyword applies to all chunk styles and affects how -{Nchunk} is calculated, which in turn affects the chunk IDs assigned -to each atom. It is useful for converting a "sparse" set of chunk IDs -(with many IDs that have no atoms assigned to them), into a "dense" -set of IDs, where every chunk has one or more atoms assigned to it. - -Two possible use cases are as follows. If a large simulation box is -mostly empty space, then the {binning} style may produce many bins -with no atoms. If {compress} is set to {yes}, only bins with atoms -will be contribute to {Nchunk}. Likewise, the {molecule} or -{compute/fix/variable} styles may produce large {Nchunk} values. For -example, the "compute cluster/atom"_compute_cluster_atom.html command -assigns every atom an atom ID for one of the atoms it is clustered -with. For a million-atom system with 5 clusters, there would only be -5 unique chunk IDs, but the largest chunk ID might be 1 million, -resulting in {Nchunk} = 1 million. If {compress} is set to {yes}, -{Nchunk} will be reset to 5. - -If {compress} is set to {no}, which is the default, no compression is -done. If it is set to {yes}, all chunk IDs with no atoms are removed -from the list of chunk IDs, and the list is sorted. The remaining -chunk IDs are renumbered from 1 to {Nchunk} where {Nchunk} is the new -length of the list. The chunk IDs assigned to each atom reflect -the new renumbering from 1 to {Nchunk}. - -The original chunk IDs (before renumbering) can be accessed by the -"compute property/chunk"_compute_property_chunk.html command and its -{id} keyword, or by the "fix ave/chunk"_fix_ave_chunk.html command -which outputs the original IDs as one of the columns in its global -output array. For example, using the "compute cluster/atom" command -discussed above, the original 5 unique chunk IDs might be atom IDs -(27,4982,58374,857838,1000000). After compression, these will be -renumbered to (1,2,3,4,5). The original values (27,...,1000000) can -be output to a file by the "fix ave/chunk"_fix_ave_chunk.html command, -or by using the "fix ave/time"_fix_ave_time.html command in -conjunction with the "compute -property/chunk"_compute_property_chunk.html command. - -NOTE: The compression operation requires global communication across -all processors to share their chunk ID values. It can require large -memory on every processor to store them, even after they are -compressed, if there are a large number of unique chunk IDs with -atoms assigned to them. It uses a STL map to find unique chunk IDs -and store them in sorted order. Each time an atom is assigned a -compressed chunk ID, it must access the STL map. All of this means -that compression can be expensive, both in memory and CPU time. The -use of the {limit} keyword in conjunction with the {compress} keyword -can affect these costs, depending on which keyword is used first. So -use this option with care. - -:line - -The {discard} keyword applies to all chunk styles. It affects what -chunk IDs are assigned to atoms that do not match one of the valid -chunk IDs from 1 to {Nchunk}. Note that it does not apply to atoms -that are not in the specified group or optionally specified region. -Those atoms are always assigned a chunk ID = 0. - -If the calculated chunk ID for an atom is not within the range 1 to -{Nchunk} then it is a "discard" atom. Note that {Nchunk} may have -been shrunk by the {limit} keyword. Or the {compress} keyword may -have eliminated chunk IDs that were valid before the compression took -place, and are now not in the compressed list. Also note that for the -{molecule} chunk style, if new molecules are added to the system, -their chunk IDs may exceed a previously calculated {Nchunk}. -Likewise, evaluation of a compute/fix/variable on a later timestep may -return chunk IDs that are invalid for the previously calculated -{Nchunk}. - -All the chunk styles except the {binning} styles, must use {discard} -set to either {yes} or {no}. If {discard} is set to {yes}, which is -the default, then every "discard" atom has its chunk ID set to 0. If -{discard} is set to {no}, every "discard" atom has its chunk ID set to -{Nchunk}. I.e. it becomes part of the last chunk. - -The {binning} styles use the {discard} keyword to decide whether to -discard atoms outside the spatial domain covered by bins, or to assign -them to the bin they are nearest to. - -For the {bin/1d}, {bin/2d}, {bin/3d} styles the details are as -follows. If {discard} is set to {yes}, an out-of-domain atom will -have its chunk ID set to 0. If {discard} is set to {no}, the atom -will have its chunk ID set to the first or last bin in that dimension. -If {discard} is set to {mixed}, which is the default, it will only -have its chunk ID set to the first or last bin if bins extend to the -simulation box boundary in that dimension. This is the case if the -{bound} keyword settings are {lower} and {upper}, which is the -default. If the {bound} keyword settings are numeric values, then the -atom will have its chunk ID set to 0 if it is outside the bounds of -any bin. Note that in this case, it is possible that the first or -last bin extends beyond the numeric {bounds} settings, depending on -the specified {origin}. If this is the case, the chunk ID of the atom -is only set to 0 if it is outside the first or last bin, not if it is -simply outside the numeric {bounds} setting. - -For the {bin/sphere} style the details are as follows. If {discard} -is set to {yes}, an out-of-domain atom will have its chunk ID set to -0. If {discard} is set to {no} or {mixed}, the atom will have its -chunk ID set to the first or last bin, i.e. the innermost or outermost -spherical shell. If the distance of the atom from the origin is less -than {rmin}, it will be assigned to the first bin. If the distance of -the atom from the origin is greater than {rmax}, it will be assigned -to the last bin. - -For the {bin/cylinder} style the details are as follows. If {discard} -is set to {yes}, an out-of-domain atom will have its chunk ID set to -0. If {discard} is set to {no}, the atom will have its chunk ID set -to the first or last bin in both the radial and axis dimensions. If -{discard} is set to {mixed}, which is the default, the radial -dimension is treated the same as for {discard} = no. But for the axis -dimension, it will only have its chunk ID set to the first or last -bin if bins extend to the simulation box boundary in the axis -dimension. This is the case if the {bound} keyword settings are -{lower} and {upper}, which is the default. If the {bound} keyword -settings are numeric values, then the atom will have its chunk ID set -to 0 if it is outside the bounds of any bin. Note that in this case, -it is possible that the first or last bin extends beyond the numeric -{bounds} settings, depending on the specified {origin}. If this is -the case, the chunk ID of the atom is only set to 0 if it is outside -the first or last bin, not if it is simply outside the numeric -{bounds} setting. - -If {discard} is set to {no} or {mixed}, the atom will have its -chunk ID set to the first or last bin, i.e. the innermost or outermost -spherical shell. If the distance of the atom from the origin is less -than {rmin}, it will be assigned to the first bin. If the distance of -the atom from the origin is greater than {rmax}, it will be assigned -to the last bin. - -:line - -The {bound} keyword only applies to the {bin/1d}, {bin/2d}, {bin/3d} -styles and to the axis dimension of the {bin/cylinder} style; -otherwise it is ignored. It can be used one or more times to limit -the extent of bin coverage in a specified dimension, i.e. to only bin -a portion of the box. If the {lo} setting is {lower} or the {hi} -setting is {upper}, the bin extent in that direction extends to the -box boundary. If a numeric value is used for {lo} and/or {hi}, then -the bin extent in the {lo} or {hi} direction extends only to that -value, which is assumed to be inside (or at least near) the simulation -box boundaries, though LAMMPS does not check for this. Note that -using the {bound} keyword typically reduces the total number of bins -and thus the number of chunks {Nchunk}. - -The {pbc} keyword only applies to the {bin/sphere} and {bin/cylinder} -styles. If set to {yes}, the distance an atom is from the sphere -origin or cylinder axis is calculated in a minimum image sense with -respect to periodic dimensions, when determining which bin the atom is -in. I.e. if x is a periodic dimension and the distance between the -atom and the sphere center in the x dimension is greater than 0.5 * -simulation box length in x, then a box length is subtracted to give a -distance < 0.5 * simulation box length. This allosws the sphere or -cylinder center to be near a box edge, and atoms on the other side of -the periodic box will still be close to the center point/axis. Note -that with a setting of {yes}, the outer sphere or cylinder radius must -also be <= 0.5 * simulation box length in any periodic dimension -except for the cylinder axis dimension, or an error is generated. - -The {units} keyword only applies to the {binning} styles; otherwise it -is ignored. For the {bin/1d}, {bin/2d}, {bin/3d} styles, it -determines the meaning of the distance units used for the bin sizes -{delta} and for {origin} and {bounds} values if they are coordinate -values. For the {bin/sphere} style it determines the meaning of the -distance units used for {xorig},{yorig},{zorig} and the radii {srmin} -and {srmax}. For the {bin/cylinder} style it determines the meaning -of the distance units used for {delta},{c1},{c2} and the radii {crmin} -and {crmax}. - -For orthogonal simulation boxes, any of the 3 options may -be used. For non-orthogonal (triclinic) simulation boxes, only the -{reduced} option may be used. - -A {box} value selects standard distance units as defined by the -"units"_units.html command, e.g. Angstroms for units = real or metal. -A {lattice} value means the distance units are in lattice spacings. -The "lattice"_lattice.html command must have been previously used to -define the lattice spacing. A {reduced} value means normalized -unitless values between 0 and 1, which represent the lower and upper -faces of the simulation box respectively. Thus an {origin} value of -0.5 means the center of the box in any dimension. A {delta} value of -0.1 means 10 bins span the box in that dimension. - -Note that for the {bin/sphere} style, the radii {srmin} and {srmax} are -scaled by the lattice spacing or reduced value of the {x} dimension. - -Note that for the {bin/cylinder} style, the radii {crmin} and {crmax} -are scaled by the lattice spacing or reduced value of the 1st -dimension perpendicular to the cylinder axis. E.g. y for an x-axis -cylinder, x for a y-axis cylinder, and x for a z-axis cylinder. - -:line - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values are unitless chunk IDs, ranging from 1 to -{Nchunk} (inclusive) for atoms assigned to chunks, and 0 for atoms not -belonging to a chunk. - -[Restrictions:] - -Even if the {nchunk} keyword is set to {once}, the chunk IDs assigned -to each atom are not stored in a restart files. This means you cannot -expect those assignments to persist in a restarted simulation. -Instead you must re-specify this command and assign atoms to chunks when -the restarted simulation begins. - -[Related commands:] - -"fix ave/chunk"_fix_ave_chunk.html, -"compute global/atom"_compute_global_atom.html - -[Default:] - -The option defaults are as follows: - -region = none -nchunk = every, if compress is yes, overriding other defaults listed here -nchunk = once, for type style -nchunk = once, for mol style if region is none -nchunk = every, for mol style if region is set -nchunk = once, for binning style if the simulation box size is static or units = reduced -nchunk = every, for binning style if the simulation box size is dynamic and units is lattice or box -nchunk = every, for compute/fix/variable style -limit = 0 -ids = every -compress = no -discard = yes, for all styles except binning -discard = mixed, for binning styles -bound = lower and upper in all dimensions -pbc = no -units = lattice :ul diff --git a/doc/txt/compute_cluster_atom.txt b/doc/txt/compute_cluster_atom.txt deleted file mode 100644 index e6138fe1e8eb80256cdc317120bcedb8fb7326cb..0000000000000000000000000000000000000000 --- a/doc/txt/compute_cluster_atom.txt +++ /dev/null @@ -1,98 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute cluster/atom command :h3 -compute fragment/atom command :h3 -compute aggregate/atom command :h3 - -[Syntax:] - -compute ID group-ID cluster/atom cutoff -compute ID group-ID fragment/atom -compute ID group-ID aggregate/atom cutoff :pre - -ID, group-ID are documented in "compute"_compute.html command -{cluster/atom} or {fragment/atom} or {aggregate/atom} = style name of this compute command -cutoff = distance within which to label atoms as part of same cluster (distance units) :ul - -[Examples:] - -compute 1 all cluster/atom 3.5 -compute 1 all fragment/atom :pre -compute 1 all aggregate/atom 3.5 :pre - -[Description:] - -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 -cutoff distance from one or more other atoms in the cluster. If an -atom has no neighbors within the cutoff distance, then it is a 1-atom -cluster. - -A fragment is similarly defined as a set of atoms, each of -which has an explicit bond (i.e. defined via a "data file"_read_data.html, -the "create_bonds"_create_bonds.html command, or through fixes like -"fix bond/create"_fix_bond_create.html, "fix bond/swap"_fix_bond_swap.html, -or "fix bond/break"_fix_bond_break.html). The cluster ID or fragment ID -of every atom in the cluster will be set to the smallest atom ID of any atom -in the cluster or fragment, respectively. - -An aggregate is defined by combining the rules for clusters and -fragments, i.e. a set of atoms, where each of it is within the cutoff -distance from one or more atoms within a fragment that is part of -the same cluster. This measure can be used to track molecular assemblies -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 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. - -For computes {cluster/atom} and {aggregate/atom} the neighbor list needed -to compute this quantity is constructed each time the calculation is -performed (i.e. each time a snapshot of atoms is dumped). Thus it can be -inefficient to compute/dump this quantity too frequently or to have -multiple compute/dump commands, each of a {cluster/atom} or -{aggregate/atom} style. - -NOTE: If you have a bonded system, then the settings of -"special_bonds"_special_bonds.html command can remove pairwise -interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the "special_bonds"_special_bonds.html -command, and means those pairwise interactions do not appear in the -neighbor list. Because this fix uses the neighbor list, it also means -those pairs will not be included when computing the clusters. This -does not apply when using long-range coulomb ({coul/long}, {coul/msm}, -{coul/wolf} or similar. One way to get around this would be to set -special_bond scaling factors to very tiny numbers that are not exactly -zero (e.g. 1.0e-50). Another workaround is to write a dump file, and -use the "rerun"_rerun.html command to compute the clusters for -snapshots in the dump file. The rerun script can use a -"special_bonds"_special_bonds.html command that includes all pairs in -the neighbor list. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values will be an ID > 0, as explained above. - -[Restrictions:] none - -[Related commands:] - -"compute coord/atom"_compute_coord_atom.html - -[Default:] none diff --git a/doc/txt/compute_cna_atom.txt b/doc/txt/compute_cna_atom.txt deleted file mode 100644 index 56ad7dd715cfd9d427ae3742bc35b8c2227d9e69..0000000000000000000000000000000000000000 --- a/doc/txt/compute_cna_atom.txt +++ /dev/null @@ -1,97 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute cna/atom command :h3 - -[Syntax:] - -compute ID group-ID cna/atom cutoff :pre - -ID, group-ID are documented in "compute"_compute.html command -cna/atom = style name of this compute command -cutoff = cutoff distance for nearest neighbors (distance units) :ul - -[Examples:] - -compute 1 all cna/atom 3.08 :pre - -[Description:] - -Define a computation that calculates the CNA (Common Neighbor -Analysis) pattern for each atom in the group. In solid-state systems -the CNA pattern is a useful measure of the local crystal structure -around an atom. The CNA methodology is described in "(Faken)"_#Faken -and "(Tsuzuki)"_#Tsuzuki1. - -Currently, there are five kinds of CNA patterns LAMMPS recognizes: - -fcc = 1 -hcp = 2 -bcc = 3 -icosahedral = 4 -unknown = 5 :ul - -The value of the CNA pattern will be 0 for atoms not in the specified -compute group. Note that normally a CNA calculation should only be -performed on mono-component systems. - -The CNA calculation can be sensitive to the specified cutoff value. -You should insure the appropriate nearest neighbors of an atom are -found within the cutoff distance for the presumed crystal structure. -E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest -neighbors for perfect BCC crystals. These formulas can be used to -obtain a good cutoff distance: - -:c,image(Eqs/cna_cutoff1.jpg) - -where a is the lattice constant for the crystal structure concerned -and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a -for HCP crystals. - -Also note that since the CNA calculation in LAMMPS uses the neighbors -of an owned atom to find the nearest neighbors of a ghost atom, the -following relation should also be satisfied: - -:c,image(Eqs/cna_cutoff2.jpg) - -where Rc is the cutoff distance of the potential, Rs is the skin -distance as specified by the "neighbor"_neighbor.html command, and -cutoff is the argument used with the compute cna/atom command. LAMMPS -will issue a warning if this is not the case. - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (e.g. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently or to have multiple compute/dump commands, each with a -{cna/atom} style. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values will be a number from 0 to 5, as explained -above. - -[Restrictions:] none - -[Related commands:] - -"compute centro/atom"_compute_centro_atom.html - -[Default:] none - -:line - -:link(Faken) -[(Faken)] Faken, Jonsson, Comput Mater Sci, 2, 279 (1994). - -:link(Tsuzuki1) -[(Tsuzuki)] Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007). diff --git a/doc/txt/compute_cnp_atom.txt b/doc/txt/compute_cnp_atom.txt deleted file mode 100644 index 95dd59089f60fb4fcccc1d4e79f1f0cb1e840639..0000000000000000000000000000000000000000 --- a/doc/txt/compute_cnp_atom.txt +++ /dev/null @@ -1,111 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute cnp/atom command :h3 - -[Syntax:] - -compute ID group-ID cnp/atom cutoff :pre - -ID, group-ID are documented in "compute"_compute.html command -cnp/atom = style name of this compute command -cutoff = cutoff distance for nearest neighbors (distance units) :ul - -[Examples:] - -compute 1 all cnp/atom 3.08 :pre - -[Description:] - -Define a computation that calculates the Common Neighborhood -Parameter (CNP) for each atom in the group. In solid-state systems -the CNP is a useful measure of the local crystal structure -around an atom and can be used to characterize whether the -atom is part of a perfect lattice, a local defect (e.g. a dislocation -or stacking fault), or at a surface. - -The value of the CNP parameter will be 0.0 for atoms not in the -specified compute group. Note that normally a CNP calculation should -only be performed on single component systems. - -This parameter is computed using the following formula from -"(Tsuzuki)"_#Tsuzuki2 - -:c,image(Eqs/cnp_eq.jpg) - -where the index {j} goes over the {n}i nearest neighbors of atom -{i}, and the index {k} goes over the {n}ij common nearest neighbors -between atom {i} and atom {j}. Rik and Rjk are the vectors connecting atom -{k} to atoms {i} and {j}. The quantity in the double sum is computed -for each atom. - -The CNP calculation is sensitive to the specified cutoff value. -You should ensure that the appropriate nearest neighbors of an atom are -found within the cutoff distance for the presumed crystal structure. -E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest -neighbors for perfect BCC crystals. These formulas can be used to -obtain a good cutoff distance: - -:c,image(Eqs/cnp_cutoff.jpg) - -where a is the lattice constant for the crystal structure concerned -and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a -for HCP crystals. - -Also note that since the CNP calculation in LAMMPS uses the neighbors -of an owned atom to find the nearest neighbors of a ghost atom, the -following relation should also be satisfied: - -:c,image(Eqs/cnp_cutoff2.jpg) - -where Rc is the cutoff distance of the potential, Rs is the skin -distance as specified by the "neighbor"_neighbor.html command, and -cutoff is the argument used with the compute cnp/atom command. LAMMPS -will issue a warning if this is not the case. - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (e.g. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently or to have multiple compute/dump commands, each with a -{cnp/atom} style. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values will be real positive numbers. Some typical CNP -values: - -FCC lattice = 0.0 -BCC lattice = 0.0 -HCP lattice = 4.4 :pre - -FCC (111) surface ~ 13.0 -FCC (100) surface ~ 26.5 -FCC dislocation core ~ 11 :pre - -[Restrictions:] - -This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute cna/atom"_compute_cna_atom.html -"compute centro/atom"_compute_centro_atom.html - -[Default:] none - -:line - -:link(Tsuzuki2) -[(Tsuzuki)] Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007). diff --git a/doc/txt/compute_com.txt b/doc/txt/compute_com.txt deleted file mode 100644 index 35cdd37c4dc1294b8c982a3ac3f10c4d933e3e5a..0000000000000000000000000000000000000000 --- a/doc/txt/compute_com.txt +++ /dev/null @@ -1,56 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute com command :h3 - -[Syntax:] - -compute ID group-ID com :pre - -ID, group-ID are documented in "compute"_compute.html command -com = style name of this compute command :ul - -[Examples:] - -compute 1 all com :pre - -[Description:] - -Define a computation that calculates the center-of-mass of the group -of atoms, including all effects due to atoms passing through periodic -boundaries. - -A vector of three quantities is calculated by this compute, which -are the x,y,z coordinates of the center of mass. - -NOTE: The coordinates of an atom contribute to the center-of-mass in -"unwrapped" form, by using the image flags associated with each atom. -See the "dump custom"_dump.html command for a discussion of -"unwrapped" coordinates. See the Atoms section of the -"read_data"_read_data.html command for a discussion of image flags and -how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the "set -image"_set.html command. - -[Output info:] - -This compute calculates a global vector of length 3, which can be -accessed by indices 1-3 by any command that uses global vector values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The vector values are "intensive". The vector values will be in -distance "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute com/chunk"_compute_com_chunk.html - -[Default:] none diff --git a/doc/txt/compute_com_chunk.txt b/doc/txt/compute_com_chunk.txt deleted file mode 100644 index 9c14a554d7c4008bfb9d400325992b0cf3d6d054..0000000000000000000000000000000000000000 --- a/doc/txt/compute_com_chunk.txt +++ /dev/null @@ -1,85 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute com/chunk command :h3 - -[Syntax:] - -compute ID group-ID com/chunk chunkID :pre - -ID, group-ID are documented in "compute"_compute.html command -com/chunk = style name of this compute command -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :ul - -[Examples:] - -compute 1 fluid com/chunk molchunk :pre - -[Description:] - -Define a computation that calculates the center-of-mass for multiple -chunks of atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -This compute calculates the x,y,z coordinates of the center-of-mass -for each chunk, which includes all effects due to atoms passing through -periodic boundaries. - -Note that only atoms in the specified group contribute to the -calculation. The "compute chunk/atom"_compute_chunk_atom.html command -defines its own group; atoms will have a chunk ID = 0 if they are not -in that group, signifying they are not assigned to a chunk, and will -thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. - -NOTE: The coordinates of an atom contribute to the chunk's -center-of-mass in "unwrapped" form, by using the image flags -associated with each atom. See the "dump custom"_dump.html command -for a discussion of "unwrapped" coordinates. See the Atoms section of -the "read_data"_read_data.html command for a discussion of image flags -and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the "set -image"_set.html command. - -The simplest way to output the results of the compute com/chunk -calculation to a file is to use the "fix ave/time"_fix_ave_time.html -command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk all com/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -[Output info:] - -This compute calculates a global array where the number of rows = the -number of chunks {Nchunk} as calculated by the specified "compute -chunk/atom"_compute_chunk_atom.html command. The number of columns = -3 for the x,y,z center-of-mass coordinates of each chunk. These -values can be accessed by any command that uses global array values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The array values are "intensive". The array values will be in -distance "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute com"_compute_com.html - -[Default:] none diff --git a/doc/txt/compute_contact_atom.txt b/doc/txt/compute_contact_atom.txt deleted file mode 100644 index efe524263aa8c399e8771dd7348b52c9ae5cd42c..0000000000000000000000000000000000000000 --- a/doc/txt/compute_contact_atom.txt +++ /dev/null @@ -1,54 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute contact/atom command :h3 - -[Syntax:] - -compute ID group-ID contact/atom :pre - -ID, group-ID are documented in "compute"_compute.html command -contact/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all contact/atom :pre - -[Description:] - -Define a computation that calculates the number of contacts -for each atom in a group. - -The contact number is defined for finite-size spherical particles as -the number of neighbor atoms which overlap the central particle, -meaning that their distance of separation is less than or equal to the -sum of the radii of the two particles. - -The value of the contact number will be 0.0 for atoms not in the -specified compute group. - -[Output info:] - -This compute calculates a per-atom vector, whose values can be -accessed by any command that uses per-atom values from a compute as -input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -The per-atom vector values will be a number >= 0.0, as explained -above. - -[Restrictions:] - -This compute requires that atoms store a radius as defined by the -"atom_style sphere"_atom_style.html command. - -[Related commands:] - -"compute coord/atom"_compute_coord_atom.html - -[Default:] none diff --git a/doc/txt/compute_coord_atom.txt b/doc/txt/compute_coord_atom.txt deleted file mode 100644 index e4d57a5dc5e79a70f803b3127d9237f76f09bf6a..0000000000000000000000000000000000000000 --- a/doc/txt/compute_coord_atom.txt +++ /dev/null @@ -1,140 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute coord/atom command :h3 - -[Syntax:] - -compute ID group-ID coord/atom cstyle args ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -coord/atom = style name of this compute command :l -cstyle = {cutoff} or {orientorder} :l - {cutoff} args = cutoff \[group group2-ID\] typeN - cutoff = distance within which to count coordination neighbors (distance units) - group {group2-ID} = select group-ID to restrict which atoms to consider for coordination number (optional) - typeN = atom type for Nth coordination count (see asterisk form below) - {orientorder} args = orientorderID threshold - orientorderID = ID of an orientorder/atom compute - threshold = minimum value of the product of two "connected" atoms :pre -:ule - -[Examples:] - -compute 1 all coord/atom cutoff 2.0 -compute 1 all coord/atom cutoff 6.0 1 2 -compute 1 all coord/atom cutoff 6.0 2*4 5*8 * -compute 1 solute coord/atom cutoff 2.0 group solvent -compute 1 all coord/atom orientorder 2 0.5 :pre - -[Description:] - -This compute performs calculations between neighboring atoms to -determine a coordination value. The specific calculation and the -meaning of the resulting value depend on the {cstyle} keyword used. - -The {cutoff} cstyle calculates one or more traditional coordination -numbers for each atom. A coordination number is defined as the number -of neighbor atoms with specified atom type(s), and optionally within -the specified group, that are within the specified cutoff distance from -the central atom. The compute group selects only the central atoms; all -neighboring atoms, unless selected by type, type range, or group option, -are included in the coordination number tally. - -The optional {group} keyword allows to specify from which group atoms -contribute to the coordination number. Default setting is group 'all'. - -The {typeN} keywords allow specification of which atom types -contribute to each coordination number. One coordination number is -computed for each of the {typeN} keywords listed. If no {typeN} -keywords are listed, a single coordination number is calculated, which -includes atoms of all types (same as the "*" format, see below). - -The {typeN} keywords can be specified in one of two ways. An explicit -numeric value can be used, as in the 2nd example above. Or a -wild-card asterisk can be used to specify a range of atom types. This -takes the form "*" or "*n" or "n*" or "m*n". If N = the number of -atom types, then an asterisk with no numeric values means all types -from 1 to N. A leading asterisk means all types from 1 to n -(inclusive). A trailing asterisk means all types from n to N -(inclusive). A middle asterisk means all types from m to n -(inclusive). - -The {orientorder} cstyle calculates the number of "connected" neighbor -atoms J around each central atom I. For this {cstyle}, connected is -defined by the orientational order parameter calculated by the -"compute orientorder/atom"_compute_orientorder_atom.html command. -This {cstyle} thus allows one to apply the ten Wolde's criterion to -identify crystal-like atoms in a system, as discussed in "ten -Wolde"_#tenWolde1. - -The ID of the previously specified "compute -orientorder/atom"_compute_orientorder_atom.html command is specified as -{orientorderID}. The compute must invoke its {components} option to -calculate components of the {Ybar_lm} vector for each atoms, as -described in its documentation. Note that orientorder/atom compute -defines its own criteria for identifying neighboring atoms. If the -scalar product ({Ybar_lm(i)},{Ybar_lm(j)}), calculated by the -orientorder/atom compute is larger than the specified {threshold}, -then I and J are connected, and the coordination value of I is -incremented by one. - -For all {cstyle} settings, all coordination values will be 0.0 for -atoms not in the specified compute group. - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (i.e. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently. - -NOTE: If you have a bonded system, then the settings of -"special_bonds"_special_bonds.html command can remove pairwise -interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the "special_bonds"_special_bonds.html -command, and means those pairwise interactions do not appear in the -neighbor list. Because this fix uses the neighbor list, it also means -those pairs will not be included in the coordination count. One way -to get around this, is to write a dump file, and use the -"rerun"_rerun.html command to compute the coordination for snapshots -in the dump file. The rerun script can use a -"special_bonds"_special_bonds.html command that includes all pairs in -the neighbor list. - -[Output info:] - -For {cstyle} cutoff, this compute can calculate a per-atom vector or -array. If single {type1} keyword is specified (or if none are -specified), this compute calculates a per-atom vector. If multiple -{typeN} keywords are specified, this compute calculates a per-atom -array, with N columns. - -For {cstyle} orientorder, this compute calculates a per-atom vector. - -These values can be accessed by any command that uses per-atom values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The per-atom vector or array values will be a number >= 0.0, as -explained above. - -[Restrictions:] none - -[Related commands:] - -"compute cluster/atom"_compute_cluster_atom.html -"compute orientorder/atom"_compute_orientorder_atom.html - -[Default:] - -group = all - -:line - -:link(tenWolde1) -[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, -J. Chem. Phys. 104, 9932 (1996). diff --git a/doc/txt/compute_damage_atom.txt b/doc/txt/compute_damage_atom.txt deleted file mode 100644 index c3e822d79f0ae9fd1ecbd92c93d33b7c63d5b6a8..0000000000000000000000000000000000000000 --- a/doc/txt/compute_damage_atom.txt +++ /dev/null @@ -1,63 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute damage/atom command :h3 - -[Syntax:] - -compute ID group-ID damage/atom :pre - -ID, group-ID are documented in "compute"_compute.html command -damage/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all damage/atom :pre - -[Description:] - -Define a computation that calculates the per-atom damage for each atom -in a group. This is a quantity relevant for "Peridynamics -models"_pair_peri.html. See "this document"_PDF/PDLammps_overview.pdf -for an overview of LAMMPS commands for Peridynamics modeling. - -The "damage" of a Peridynamics particles is based on the bond breakage -between the particle and its neighbors. If all the bonds are broken -the particle is considered to be fully damaged. - -See the "PDLAMMPS user -guide"_http://www.sandia.gov/~mlparks/papers/PDLAMMPS.pdf for a formal -definition of "damage" and more details about Peridynamics as it is -implemented in LAMMPS. - -This command can be used with all the Peridynamic pair styles. - -The damage value will be 0.0 for atoms not in the specified compute -group. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values are unitless numbers (damage) >= 0.0. - -[Restrictions:] - -This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute dilatation/atom"_compute_dilatation_atom.html, -"compute plasticity/atom"_compute_plasticity_atom.html - -[Default:] none diff --git a/doc/txt/compute_dihedral.txt b/doc/txt/compute_dihedral.txt deleted file mode 100644 index aa25f9dd1029af8d7f23ffb938bd7fd6a70e08c8..0000000000000000000000000000000000000000 --- a/doc/txt/compute_dihedral.txt +++ /dev/null @@ -1,53 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute dihedral command :h3 - -[Syntax:] - -compute ID group-ID dihedral :pre - -ID, group-ID are documented in "compute"_compute.html command -dihedral = style name of this compute command :ul - -[Examples:] - -compute 1 all dihedral :pre - -[Description:] - -Define a computation that extracts the dihedral energy calculated by -each of the dihedral sub-styles used in the "dihedral_style -hybrid"_dihedral_hybrid.html command. These values are made -accessible for output or further processing by other commands. The -group specified for this command is ignored. - -This compute is useful when using "dihedral_style -hybrid"_dihedral_hybrid.html if you want to know the portion of the -total energy contributed by one or more of the hybrid sub-styles. - -[Output info:] - -This compute calculates a global vector of length N where N is the -number of sub_styles defined by the "dihedral_style -hybrid"_dihedral_style.html command. which can be accessed by indices -1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The vector values are "extensive" and will be in energy -"units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute pe"_compute_pe.html, "compute pair"_compute_pair.html - -[Default:] none diff --git a/doc/txt/compute_dilatation_atom.txt b/doc/txt/compute_dilatation_atom.txt deleted file mode 100644 index 292638bdf5e57f4fbe9cfc1079bb3ae64dec20fa..0000000000000000000000000000000000000000 --- a/doc/txt/compute_dilatation_atom.txt +++ /dev/null @@ -1,67 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute dilatation/atom command :h3 - -[Syntax:] - -compute ID group-ID dilatation/atom :pre - -ID, group-ID are documented in compute command -dilation/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all dilatation/atom :pre - -[Description:] - -Define a computation that calculates the per-atom dilatation for each -atom in a group. This is a quantity relevant for "Peridynamics -models"_pair_peri.html. See "this document"_PDF/PDLammps_overview.pdf -for an overview of LAMMPS commands for Peridynamics modeling. - -For small deformation, dilatation of is the measure of the volumetric -strain. - -The dilatation "theta" for each peridynamic particle I is calculated -as a sum over its neighbors with unbroken bonds, where the -contribution of the IJ pair is a function of the change in bond length -(versus the initial length in the reference state), the volume -fraction of the particles and an influence function. See the -"PDLAMMPS user -guide"_http://www.sandia.gov/~mlparks/papers/PDLAMMPS.pdf for a formal -definition of dilatation. - -This command can only be used with a subset of the Peridynamic "pair -styles"_pair_peri.html: peri/lps, peri/ves and peri/eps. - -The dilatation value will be 0.0 for atoms not in the specified -compute group. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values are unitless numbers (theta) >= 0.0. - -[Restrictions:] - -This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute damage/atom"_compute_damage_atom.html, -"compute plasticity/atom"_compute_plasticity_atom.html - -[Default:] none diff --git a/doc/txt/compute_dipole_chunk.txt b/doc/txt/compute_dipole_chunk.txt deleted file mode 100644 index 2a3d1d9b5682c76b7335dab46bca7e241e71689d..0000000000000000000000000000000000000000 --- a/doc/txt/compute_dipole_chunk.txt +++ /dev/null @@ -1,91 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute dipole/chunk command :h3 - -[Syntax:] - -compute ID group-ID dipole/chunk chunkID charge-correction :pre - -ID, group-ID are documented in "compute"_compute.html command -dipole/chunk = style name of this compute command -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command -charge-correction = {mass} or {geometry}, use COM or geometric center for charged chunk correction (optional) :ul - -[Examples:] - -compute 1 fluid dipole/chunk molchunk -compute dw water dipole/chunk 1 geometry :pre - -[Description:] - -Define a computation that calculates the dipole vector and total dipole -for multiple chunks of atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -This compute calculates the x,y,z coordinates of the dipole vector -and the total dipole moment for each chunk, which includes all effects -due to atoms passing through periodic boundaries. For chunks with a net -charge the resulting dipole is made position independent by subtracting -the position vector of the center of mass or geometric center times the -net charge from the computed dipole vector. - -Note that only atoms in the specified group contribute to the -calculation. The "compute chunk/atom"_compute_chunk_atom.html command -defines its own group; atoms will have a chunk ID = 0 if they are not -in that group, signifying they are not assigned to a chunk, and will -thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. - -NOTE: The coordinates of an atom contribute to the chunk's -dipole in "unwrapped" form, by using the image flags -associated with each atom. See the "dump custom"_dump.html command -for a discussion of "unwrapped" coordinates. See the Atoms section of -the "read_data"_read_data.html command for a discussion of image flags -and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the "set -image"_set.html command. - -The simplest way to output the results of the compute com/chunk -calculation to a file is to use the "fix ave/time"_fix_ave_time.html -command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk all dipole/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -[Output info:] - -This compute calculates a global array where the number of rows = the -number of chunks {Nchunk} as calculated by the specified "compute -chunk/atom"_compute_chunk_atom.html command. The number of columns = -4 for the x,y,z dipole vector components and the total dipole of each -chunk. These values can be accessed by any command that uses global -array values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The array values are "intensive". The array values will be in -dipole units, i.e. charge units times distance "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute com/chunk"_compute_com_chunk.html - -[Default:] none diff --git a/doc/txt/compute_dpd.txt b/doc/txt/compute_dpd.txt deleted file mode 100644 index eccffee9b8fe85d02321ba85167a9b090c2b7972..0000000000000000000000000000000000000000 --- a/doc/txt/compute_dpd.txt +++ /dev/null @@ -1,71 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute dpd command :h3 - -[Syntax:] - -compute ID group-ID dpd :pre - -ID, group-ID are documented in "compute"_compute.html command -dpd = style name of this compute command :ul - -[Examples:] - -compute 1 all dpd :pre - -[Description:] - -Define a computation that accumulates the total internal conductive -energy (U_cond), the total internal mechanical energy (U_mech), the -total chemical energy (U_chem) and the {harmonic} average of the internal -temperature (dpdTheta) for the entire system of particles. See the -"compute dpd/atom"_compute_dpd_atom.html command if you want -per-particle internal energies and internal temperatures. - -The system internal properties are computed according to the following -relations: - -:c,image(Eqs/compute_dpd.jpg) - -where N is the number of particles in the system - -:line - -[Output info:] - -This compute calculates a global vector of length 5 (U_cond, U_mech, -U_chem, dpdTheta, N_particles), which can be accessed by indices 1-5. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The vector values will be in energy and temperature "units"_units.html. - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This command also requires use of the "atom_style dpd"_atom_style.html -command. - -[Related commands:] - -"compute dpd/atom"_compute_dpd_atom.html, -"thermo_style"_thermo_style.html - -[Default:] none - -:line - -:link(Larentzos1) -[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and -W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative -Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research -Laboratory, Aberdeen Proving Ground, MD (2014). diff --git a/doc/txt/compute_dpd_atom.txt b/doc/txt/compute_dpd_atom.txt deleted file mode 100644 index 2f9b4098cff988047b9a39f2926b3320b85e3aa3..0000000000000000000000000000000000000000 --- a/doc/txt/compute_dpd_atom.txt +++ /dev/null @@ -1,66 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute dpd/atom command :h3 - -[Syntax:] - -compute ID group-ID dpd/atom :pre - -ID, group-ID are documented in "compute"_compute.html command -dpd/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all dpd/atom - -[Description:] - -Define a computation that accesses the per-particle internal -conductive energy (u_cond), internal mechanical energy (u_mech), -internal chemical energy (u_chem) and -internal temperatures (dpdTheta) for each particle in a group. See -the "compute dpd"_compute_dpd.html command if you want the total -internal conductive energy, the total internal mechanical energy, the -total chemical energy and -average internal temperature of the entire system or group of dpd -particles. - -[Output info:] - -This compute calculates a per-particle array with 4 columns (u_cond, -u_mech, u_chem, dpdTheta), which can be accessed by indices 1-4 by any -command that uses per-particle values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle array values will be in energy (u_cond, u_mech, u_chem) -and temperature (dpdTheta) "units"_units.html. - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This command also requires use of the "atom_style dpd"_atom_style.html -command. - -[Related commands:] - -"dump custom"_dump.html, "compute dpd"_compute_dpd.html - -[Default:] none - -:line - -:link(Larentzos2) -[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and -W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative -Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research -Laboratory, Aberdeen Proving Ground, MD (2014). diff --git a/doc/txt/compute_edpd_temp_atom.txt b/doc/txt/compute_edpd_temp_atom.txt deleted file mode 100644 index ac3fb5e2773e790f5a28fdbefede897a15b2d417..0000000000000000000000000000000000000000 --- a/doc/txt/compute_edpd_temp_atom.txt +++ /dev/null @@ -1,62 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute edpd/temp/atom command :h3 - -[Syntax:] - -compute ID group-ID edpd/temp/atom :pre - -ID, group-ID are documented in "compute"_compute.html command -edpd/temp/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all edpd/temp/atom :pre - -[Description:] - -Define a computation that calculates the per-atom temperature -for each eDPD particle in a group. - -The temperature is a local temperature derived from the internal energy -of each eDPD particle based on the local equilibrium hypothesis. -For more details please see "(Espanol1997)"_#Espanol1997 and -"(Li2014)"_#Li2014a. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See the -"Howto output"_Howto_output.html doc page for an overview of LAMMPS -output options. - -The per-atom vector values will be in temperature "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-MESO package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_style edpd"_pair_meso.html - -[Default:] none - -:line - -:link(Espanol1997) -[(Espanol1997)] Espanol, Europhys Lett, 40(6): 631-636 (1997). DOI: -10.1209/epl/i1997-00515-8 - -:link(Li2014a) -[(Li2014)] Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, 265: -113-127 (2014). DOI: 10.1016/j.jcp.2014.02.003. - diff --git a/doc/txt/compute_entropy_atom.txt b/doc/txt/compute_entropy_atom.txt deleted file mode 100644 index cd90a9b59053f715dbde3b7e4c06af3e1295eafc..0000000000000000000000000000000000000000 --- a/doc/txt/compute_entropy_atom.txt +++ /dev/null @@ -1,130 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute entropy/atom command :h3 - -[Syntax:] - -compute ID group-ID entropy/atom sigma cutoff keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command :l -entropy/atom = style name of this compute command :l -sigma = width of gaussians used in the g(r) smoothing :l -cutoff = cutoff for the g(r) calculation :l -one or more keyword/value pairs may be appended :l -keyword = {avg} or {local} - {avg} values = {yes} or {no} cutoff2 - {yes} = average the pair entropy over neighbors - {no} = do not average the pair entropy over neighbors - cutoff2 = cutoff for the averaging over neighbors - {local} values = {yes} or {no} = use the local density around each atom to normalize the g(r) :pre -:ule - -[Examples:] - -compute 1 all entropy/atom 0.25 5. -compute 1 all entropy/atom 0.25 5. avg yes 5. -compute 1 all entropy/atom 0.125 7.3 avg yes 5.1 local yes :pre - -[Description:] - -Define a computation that calculates the pair entropy fingerprint for -each atom in the group. The fingerprint is useful to distinguish between -ordered and disordered environments, for instance liquid and solid-like -environments, or glassy and crystalline-like environments. Some -applications could be the identification of grain boundaries, a -melt-solid interface, or a solid cluster emerging from the melt. -The advantage of this parameter over others is that no a priori -information about the solid structure is required. - -This parameter for atom i is computed using the following formula from -"(Piaggi)"_#Piaggi and "(Nettleton)"_#Nettleton , - -:c,image(Eqs/pair_entropy.jpg) - -where r is a distance, g(r) is the radial distribution function of atom -i and rho is the density of the system. The g(r) computed for each -atom i can be noisy and therefore it is smoothed using: - -:c,image(Eqs/pair_entropy2.jpg) - -where the sum in j goes through the neighbors of atom i, and sigma is a -parameter to control the smoothing. - -The input parameters are {sigma} the smoothing parameter, and the -{cutoff} for the calculation of g(r). - -If the keyword {avg} has the setting {yes}, then this compute also -averages the parameter over the neighbors of atom i according to: - -:c,image(Eqs/pair_entropy3.jpg) - -where the sum j goes over the neighbors of atom i and N is the number -of neighbors. This procedure provides a sharper distinction between -order and disorder environments. In this case the input parameter -{cutoff2} is the cutoff for the averaging over the neighbors and -must also be specified. - -If the {avg yes} option is used, the effective cutoff of the neighbor -list should be {cutoff}+{cutoff2} and therefore it might be necessary -to increase the skin of the neighbor list with: - -neighbor skin bin :pre - -See "neighbor"_neighbor.html for details. - -If the {local yes} option is used, the g(r) is normalized by the -local density around each atom, that is to say the density around each -atom is the number of neighbors within the neighbor list cutoff divided -by the corresponding volume. This option can be useful when dealing with -inhomogeneous systems such as those that have surfaces. - -Here are typical input parameters for fcc aluminum (lattice -constant 4.05 Angstroms), - -compute 1 all entropy/atom 0.25 5.7 avg yes 3.7 :pre - -and for bcc sodium (lattice constant 4.23 Angstroms), - -compute 1 all entropy/atom 0.25 7.3 avg yes 5.1 :pre - - -[Output info:] - -By default, this compute calculates the pair entropy value for each -atom as a per-atom vector, which can be accessed by any command that -uses per-atom values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The pair entropy values have units of the Boltzmann constant. They are -always negative, and lower values (lower entropy) correspond to more -ordered environments. - -[Restrictions:] - -This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute cna/atom"_compute_cna_atom.html -"compute centro/atom"_compute_centro_atom.html - -[Default:] - -The default values for the optional keywords are avg = no and local = no. - -:line - -:link(Piaggi) -[(Piaggi)] Piaggi and Parrinello, J Chem Phys, 147, 114112 (2017). - -:link(Nettleton) -[(Nettleton)] Nettleton and Green, J Chem Phys, 29, 6 (1958). diff --git a/doc/txt/compute_erotate_asphere.txt b/doc/txt/compute_erotate_asphere.txt deleted file mode 100644 index 5cdc0997826f3dfbfff0281e85efe3ebb4864bb0..0000000000000000000000000000000000000000 --- a/doc/txt/compute_erotate_asphere.txt +++ /dev/null @@ -1,70 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute erotate/asphere command :h3 - -[Syntax:] - -compute ID group-ID erotate/asphere :pre - -ID, group-ID are documented in "compute"_compute.html command -erotate/asphere = style name of this compute command :ul - -[Examples:] - -compute 1 all erotate/asphere :pre - -[Description:] - -Define a computation that calculates the rotational kinetic energy of -a group of aspherical particles. The aspherical particles can be -ellipsoids, or line segments, or triangles. See the -"atom_style"_atom_style.html and "read_data"_read_data.html commands -for descriptions of these options. - -For all 3 types of particles, the rotational kinetic energy is -computed as 1/2 I w^2, where I is the inertia tensor for the -aspherical particle and w is its angular velocity, which is computed -from its angular momentum if needed. - -NOTE: For "2d models"_dimension.html, ellipsoidal particles are -treated as ellipsoids, not ellipses, meaning their moments of inertia -will be the same as in 3d. - -[Output info:] - -This compute calculates a global scalar (the KE). This value can be -used by any command that uses a global scalar value from a compute as -input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -The scalar value calculated by this compute is "extensive". The -scalar value will be in energy "units"_units.html. - -[Restrictions:] - -This compute requires that ellipsoidal particles atoms store a shape -and quaternion orientation and angular momentum as defined by the -"atom_style ellipsoid"_atom_style.html command. - -This compute requires that line segment particles atoms store a length -and orientation and angular velocity as defined by the "atom_style -line"_atom_style.html command. - -This compute requires that triangular particles atoms store a size and -shape and quaternion orientation and angular momentum as defined by -the "atom_style tri"_atom_style.html command. - -All particles in the group must be finite-size. They cannot be point -particles. - -[Related commands:] none - -"compute erotate/sphere"_compute_erotate_sphere.html - -[Default:] none diff --git a/doc/txt/compute_erotate_rigid.txt b/doc/txt/compute_erotate_rigid.txt deleted file mode 100644 index fa433c1c97699957320110651323240b2cced994..0000000000000000000000000000000000000000 --- a/doc/txt/compute_erotate_rigid.txt +++ /dev/null @@ -1,61 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute erotate/rigid command :h3 - -[Syntax:] - -compute ID group-ID erotate/rigid fix-ID :pre - -ID, group-ID are documented in "compute"_compute.html command -erotate/rigid = style name of this compute command -fix-ID = ID of rigid body fix :ul - -[Examples:] - -compute 1 all erotate/rigid myRigid :pre - -[Description:] - -Define a computation that calculates the rotational kinetic energy of -a collection of rigid bodies, as defined by one of the "fix -rigid"_fix_rigid.html command variants. - -The rotational energy of each rigid body is computed as 1/2 I Wbody^2, -where I is the inertia tensor for the rigid body, and Wbody is its -angular velocity vector. Both I and Wbody are in the frame of -reference of the rigid body, i.e. I is diagonalized. - -The {fix-ID} should be the ID of one of the "fix rigid"_fix_rigid.html -commands which defines the rigid bodies. The group specified in the -compute command is ignored. The rotational energy of all the rigid -bodies defined by the fix rigid command in included in the -calculation. - -[Output info:] - -This compute calculates a global scalar (the summed rotational energy -of all the rigid bodies). This value can be used by any command that -uses a global scalar value from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "extensive". The -scalar value will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute ke/rigid"_compute_ke_rigid.html - -[Default:] none diff --git a/doc/txt/compute_erotate_sphere.txt b/doc/txt/compute_erotate_sphere.txt deleted file mode 100644 index d0c176b50eb264ff3431b6bbcdd71ad578092b1a..0000000000000000000000000000000000000000 --- a/doc/txt/compute_erotate_sphere.txt +++ /dev/null @@ -1,57 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute erotate/sphere command :h3 - -[Syntax:] - -compute ID group-ID erotate/sphere :pre - -ID, group-ID are documented in "compute"_compute.html command -erotate/sphere = style name of this compute command :ul - -[Examples:] - -compute 1 all erotate/sphere :pre - -[Description:] - -Define a computation that calculates the rotational kinetic energy of -a group of spherical particles. - -The rotational energy is computed as 1/2 I w^2, where I is the moment -of inertia for a sphere and w is the particle's angular velocity. - -NOTE: For "2d models"_dimension.html, particles are treated as -spheres, not disks, meaning their moment of inertia will be the same -as in 3d. - -[Output info:] - -This compute calculates a global scalar (the KE). This value can be -used by any command that uses a global scalar value from a compute as -input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -The scalar value calculated by this compute is "extensive". The -scalar value will be in energy "units"_units.html. - -[Restrictions:] - -This compute requires that atoms store a radius and angular velocity -(omega) as defined by the "atom_style sphere"_atom_style.html command. - -All particles in the group must be finite-size spheres or point -particles. They cannot be aspherical. Point particles will not -contribute to the rotational energy. - -[Related commands:] - -"compute erotate/asphere"_compute_erotate_asphere.html - -[Default:] none diff --git a/doc/txt/compute_erotate_sphere_atom.txt b/doc/txt/compute_erotate_sphere_atom.txt deleted file mode 100644 index fdd609a0e65ffd71a599a16310b9c1bacdd809b1..0000000000000000000000000000000000000000 --- a/doc/txt/compute_erotate_sphere_atom.txt +++ /dev/null @@ -1,53 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute erotate/sphere/atom command :h3 - -[Syntax:] - -compute ID group-ID erotate/sphere/atom :pre - -ID, group-ID are documented in "compute"_compute.html command -erotate/sphere/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all erotate/sphere/atom :pre - -[Description:] - -Define a computation that calculates the rotational kinetic energy for -each particle in a group. - -The rotational energy is computed as 1/2 I w^2, where I is the moment -of inertia for a sphere and w is the particle's angular velocity. - -NOTE: For "2d models"_dimension.html, particles are treated as -spheres, not disks, meaning their moment of inertia will be the same -as in 3d. - -The value of the rotational kinetic energy will be 0.0 for atoms not -in the specified compute group or for point particles with a radius = -0.0. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values will be in energy "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"dump custom"_dump.html - -[Default:] none diff --git a/doc/txt/compute_event_displace.txt b/doc/txt/compute_event_displace.txt deleted file mode 100644 index a36cf2c9c49440c6428908915caa2f16ca58dab5..0000000000000000000000000000000000000000 --- a/doc/txt/compute_event_displace.txt +++ /dev/null @@ -1,62 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute event/displace command :h3 - -[Syntax:] - -compute ID group-ID event/displace threshold :pre - -ID, group-ID are documented in "compute"_compute.html command -event/displace = style name of this compute command -threshold = minimum distance any particle must move to trigger an event (distance units) :ul - -[Examples:] - -compute 1 all event/displace 0.5 :pre - -[Description:] - -Define a computation that flags an "event" if any particle in the -group has moved a distance greater than the specified threshold -distance when compared to a previously stored reference state -(i.e. the previous event). This compute is typically used in -conjunction with the "prd"_prd.html and "tad"_tad.html commands, -to detect if a transition -to a new minimum energy basin has occurred. - -This value calculated by the compute is equal to 0 if no particle has -moved far enough, and equal to 1 if one or more particles have moved -further than the threshold distance. - -NOTE: If the system is undergoing significant center-of-mass motion, -due to thermal motion, an external force, or an initial net momentum, -then this compute will not be able to distinguish that motion from -local atom displacements and may generate "false positives." - -[Output info:] - -This compute calculates a global scalar (the flag). This value can be -used by any command that uses a global scalar value from a compute as -input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -The scalar value calculated by this compute is "intensive". The -scalar value will be a 0 or 1 as explained above. - -[Restrictions:] - -This command can only be used if LAMMPS was built with the REPLICA -package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"prd"_prd.html, "tad"_tad.html - -[Default:] none diff --git a/doc/txt/compute_fep.txt b/doc/txt/compute_fep.txt deleted file mode 100644 index a46ab5b8d333233db5278394059964071998dc85..0000000000000000000000000000000000000000 --- a/doc/txt/compute_fep.txt +++ /dev/null @@ -1,278 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute fep command :h3 - -[Syntax:] - -compute ID group-ID fep temp attribute args ... keyword value ... :pre - -ID, group-ID are documented in the "compute"_compute.html command :ulb,l -fep = name of this compute command :l -temp = external temperature (as specified for constant-temperature run) :l -one or more attributes with args may be appended :l -attribute = {pair} or {atom} :l - {pair} args = pstyle pparam I J v_delta - pstyle = pair style name, e.g. lj/cut - pparam = parameter to perturb - I,J = type pair(s) to set parameter for - v_delta = variable with perturbation to apply (in the units of the parameter) - {atom} args = aparam I v_delta - aparam = parameter to perturb - I = type to set parameter for - v_delta = variable with perturbation to apply (in the units of the parameter) :pre -zero or more keyword/value pairs may be appended :l -keyword = {tail} or {volume} :l - {tail} value = {no} or {yes} - {no} = ignore tail correction to pair energies (usually small in fep) - {yes} = include tail correction to pair energies - {volume} value = {no} or {yes} - {no} = ignore volume changes (e.g. in {NVE} or {NVT} trajectories) - {yes} = include volume changes (e.g. in {NpT} trajectories) :pre -:ule - -[Examples:] - -compute 1 all fep 298 pair lj/cut epsilon 1 * v_delta pair lj/cut sigma 1 * v_delta volume yes -compute 1 all fep 300 atom charge 2 v_delta :pre - - -[Description:] - -Apply a perturbation to parameters of the interaction potential and -recalculate the pair potential energy without changing the atomic -coordinates from those of the reference, unperturbed system. This -compute can be used to calculate free energy differences using several -methods, such as free-energy perturbation (FEP), finite-difference -thermodynamic integration (FDTI) or Bennet's acceptance ratio method -(BAR). - -The potential energy of the system is decomposed in three terms: a -background term corresponding to interaction sites whose parameters -remain constant, a reference term \(U_0\) corresponding to the -initial interactions of the atoms that will undergo perturbation, and -a term \(U_1\) corresponding to the final interactions of -these atoms: - -:c,image(Eqs/compute_fep_u.jpg) - -A coupling parameter \(\lambda\) varying from 0 to 1 connects the -reference and perturbed systems: - -:c,image(Eqs/compute_fep_lambda.jpg) - -It is possible but not necessary that the coupling parameter (or a -function thereof) appears as a multiplication factor of the potential -energy. Therefore, this compute can apply perturbations to interaction -parameters that are not directly proportional to the potential energy -(e.g. \(\sigma\) in Lennard-Jones potentials). - -This command can be combined with "fix adapt"_fix_adapt.html to -perform multistage free-energy perturbation calculations along -stepwise alchemical transformations during a simulation run: - -:c,image(Eqs/compute_fep_fep.jpg) - -This compute is suitable for the finite-difference thermodynamic -integration (FDTI) method "(Mezei)"_#Mezei, which is based on an -evaluation of the numerical derivative of the free energy by a -perturbation method using a very small \(\delta\): - -:c,image(Eqs/compute_fep_fdti.jpg) - -where \(w_i\) are weights of a numerical quadrature. The "fix -adapt"_fix_adapt.html command can be used to define the stages of -\(\lambda\) at which the derivative is calculated and averaged. - -The compute fep calculates the exponential Boltzmann term and also the -potential energy difference \(U_1 -U_0\). By -choosing a very small perturbation \(\delta\) the thermodynamic -integration method can be implemented using a numerical evaluation of -the derivative of the potential energy with respect to \(\lambda\): - -:c,image(Eqs/compute_fep_ti.jpg) - -Another technique to calculate free energy differences is the -acceptance ratio method "(Bennet)"_#Bennet, which can be implemented -by calculating the potential energy differences with \(\delta\) = 1.0 on -both the forward and reverse routes: - -:c,image(Eqs/compute_fep_bar.jpg) - -The value of the free energy difference is determined by numerical -root finding to establish the equality. - -Concerning the choice of how the atomic parameters are perturbed in -order to setup an alchemical transformation route, several strategies -are available, such as single-topology or double-topology strategies -"(Pearlman)"_#Pearlman. The latter does not require modification of -bond lengths, angles or other internal coordinates. - -NOTES: This compute command does not take kinetic energy into account, -therefore the masses of the particles should not be modified between -the reference and perturbed states, or along the alchemical -transformation route. This compute command does not change bond -lengths or other internal coordinates "(Boresch, -Karplus)"_#BoreschKarplus. - -:line - -The {pair} attribute enables various parameters of potentials defined -by the "pair_style"_pair_style.html and "pair_coeff"_pair_coeff.html -commands to be changed, if the pair style supports it. - -The {pstyle} argument is the name of the pair style. For example, -{pstyle} could be specified as "lj/cut". The {pparam} argument is the -name of the parameter to change. This is a list of -pair styles and parameters that can be used with this compute. See -the doc pages for individual pair styles and their energy formulas for -the meaning of these parameters: - -"born"_pair_born.html: a,b,c: type pairs: -"buck"_pair_buck.html: a,c: type pairs: -"buck/mdf"_pair_mdf.html: a,c: type pairs: -"coul/cut"_pair_coul.html: scale: type pairs: -"coul/cut/soft"_pair_fep_soft.html: lambda: type pairs: -"coul/long, coul/msm"_pair_coul.html: scale: type pairs: -"coul/long/soft"_pair_fep_soft.html: scale, lambda: type pairs: -"eam"_pair_eam.html: scale: type pairs: -"gauss"_pair_gauss.html: a: type pairs: -"lennard/mdf"_pair_mdf.html: a,b: type pairs: -"lj/class2"_pair_class2.html: epsilon,sigma: type pairs: -"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma: type pairs: -"lj/cut"_pair_lj.html: epsilon,sigma: type pairs: -"lj/cut/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs: -"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma: type pairs: -"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs: -"lj/cut/tip4p/cut, lj/cut/tip4p/long"_pair_lj.html: epsilon,sigma: type pairs: -"lj/cut/tip4p/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs: -"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs: -"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs: -"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs: -"mie/cut"_pair_mie.html: epsilon,sigma,gamR,gamA: type pairs: -"morse, morse/smooth/linear"_pair_morse.html: d0,r0,alpha: type pairs: -"morse/soft"_pair_morse.html: d0,r0,alpha,lambda: type pairs: -"nm/cut"_pair_nm.html: e0,r0,nn,mm: type pairs: -"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: e0,r0,nn,mm: type pairs: -"ufm"_pair_ufm.html: epsilon,sigma,scale: type pairs: -"soft"_pair_soft.html: a: type pairs :tb(c=3,s=:) - -Note that it is easy to add new potentials and their parameters to -this list. All it typically takes is adding an extract() method to -the pair_*.cpp file associated with the potential. - -Similar to the "pair_coeff"_pair_coeff.html command, I and J can be -specified in one of two ways. Explicit numeric values can be used for -each, as in the 1st example above. I <= J is required. LAMMPS sets -the coefficients for the symmetric J,I interaction to the same -values. A wild-card asterisk can be used in place of or in conjunction -with the I,J arguments to set the coefficients for multiple pairs of -atom types. This takes the form "*" or "*n" or "n*" or "m*n". If N = -the number of atom types, then an asterisk with no numeric values -means all types from 1 to N. A leading asterisk means all types from -1 to n (inclusive). A trailing asterisk means all types from n to N -(inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored. - -If "pair_style hybrid or hybrid/overlay"_pair_hybrid.html is being -used, then the {pstyle} will be a sub-style name. You must specify -I,J arguments that correspond to type pair values defined (via the -"pair_coeff"_pair_coeff.html command) for that sub-style. - -The {v_name} argument for keyword {pair} is the name of an -"equal-style variable"_variable.html which will be evaluated each time -this compute is invoked. It should be specified as v_name, where name -is the variable name. - -:line - -The {atom} attribute enables atom properties to be changed. The -{aparam} argument is the name of the parameter to change. This is the -current list of atom parameters that can be used with this compute: - -charge = charge on particle :ul - -The {v_name} argument for keyword {pair} is the name of an -"equal-style variable"_variable.html which will be evaluated each time -this compute is invoked. It should be specified as v_name, where name -is the variable name. - -:line - -The {tail} keyword controls the calculation of the tail correction to -"van der Waals" pair energies beyond the cutoff, if this has been -activated via the "pair_modify"_pair_modify.html command. If the -perturbation is small, the tail contribution to the energy difference -between the reference and perturbed systems should be negligible. - -If the keyword {volume} = {yes}, then the Boltzmann term is multiplied -by the volume so that correct ensemble averaging can be performed over -trajectories during which the volume fluctuates or changes "(Allen and -Tildesley)"_#AllenTildesley: - -:c,image(Eqs/compute_fep_vol.jpg) - - -:line - -[Output info:] - -This compute calculates a global vector of length 3 which contains the -energy difference ( \(U_1-U_0\) ) as c_ID\[1\], the -Boltzmann factor \(\exp(-(U_1-U_0)/kT)\), or -\(V \exp(-(U_1-U_0)/kT)\), as c_ID\[2\] and the -volume of the simulation box \(V\) as c_ID\[3\]. \(U_1\) is the -pair potential energy obtained with the perturbed parameters and -\(U_0\) is the pair potential energy obtained with the -unperturbed parameters. The energies include kspace terms if these -are used in the simulation. - -These output results can be used by any command that uses a global -scalar or vector from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. For example, the computed values can be averaged using "fix -ave/time"_fix_ave_time.html. - -The values calculated by this compute are "extensive". - - -[Restrictions:] - -This compute is distributed as the USER-FEP package. It is only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix adapt/fep"_fix_adapt_fep.html, "fix ave/time"_fix_ave_time.html, -"pair_fep_soft"_pair_fep_soft.html - -[Default:] - -The option defaults are {tail} = {no}, {volume} = {no}. - -:line - -:link(Pearlman) -[(Pearlman)] Pearlman, J Chem Phys, 98, 1487 (1994) - -:link(Mezei) -[(Mezei)] Mezei, J Chem Phys, 86, 7084 (1987) - -:link(Bennet) -[(Bennet)] Bennet, J Comput Phys, 22, 245 (1976) - -:link(BoreschKarplus) -[(BoreschKarplus)] Boresch and Karplus, J Phys Chem A, 103, 103 (1999) - -:link(AllenTildesley) -[(AllenTildesley)] Allen and Tildesley, Computer Simulation of -Liquids, Oxford University Press (1987) - - diff --git a/doc/txt/compute_global_atom.txt b/doc/txt/compute_global_atom.txt deleted file mode 100644 index a26dba72b008de7202aa880c2b6999be67dc56a8..0000000000000000000000000000000000000000 --- a/doc/txt/compute_global_atom.txt +++ /dev/null @@ -1,220 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute global/atom command :h3 - -[Syntax:] - -compute ID group-ID style index input1 input2 ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -global/atom = style name of this compute command :l -index = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l - c_ID = per-atom vector calculated by a compute with ID - c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID - f_ID = per-atom vector calculated by a fix with ID - f_ID\[I\] = Ith column of per-atom array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name :pre -one or more inputs can be listed :l -input = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l - c_ID = global vector calculated by a compute with ID - c_ID\[I\] = Ith column of global array calculated by a compute with ID, I can include wildcard (see below) - f_ID = global vector calculated by a fix with ID - f_ID\[I\] = Ith column of global array calculated by a fix with ID, I can include wildcard (see below) - v_name = global vector calculated by a vector-style variable with name :pre -:ule - -[Examples:] - -compute 1 all global/atom c_chunk c_com\[1\\] c_com\[2\\] c_com\[3\\] -compute 1 all global/atom c_chunk c_com\[*\\] :pre - -[Description:] - -Define a calculation that assigns global values to each atom from -vectors or arrays of global values. The specified {index} parameter -is used to determine which global value is assigned to each atom. - -The {index} parameter must reference a per-atom vector or array from a -"compute"_compute.html or "fix"_fix.html or the evaluation of an -atom-style "variable"_variable.html. Each {input} value must -reference a global vector or array from a "compute"_compute.html or -"fix"_fix.html or the evaluation of an vector-style -"variable"_variable.html. Details are given below. - -The {index} value for an atom is used as a index I (from 1 to N) into -the vector associated with each of the input values. The Ith value -from the input vector becomes one output value for that atom. If the -atom is not in the specified group, or the index I < 1 or I > M, where -M is the actual length of the input vector, then an output value of -0.0 is assigned to the atom. - -An example of how this command is useful, is in the context of -"chunks" which are static or dynamic subsets of atoms. The "compute -chunk/atom"_compute_chunk_atom.html command assigns unique chunk IDs -to each atom. It's output can be used as the {index} parameter for -this command. Various other computes with "chunk" in their style -name, such as "compute com/chunk"_compute_com_chunk.html or "compute -msd/chunk"_compute_msd_chunk.html, calculate properties for each -chunk. The output of these commands are global vectors or arrays, -with one or more values per chunk, and can be used as input values for -this command. This command will then assign the global chunk value to -each atom in the chunk, producing a per-atom vector or per-atom array -as output. The per-atom values can then be output to a dump file or -used by any command that uses per-atom values from a compute as input, -as discussed on the "Howto output"_Howto_output.html doc page. - -As a concrete example, these commands will calculate the displacement -of each atom from the center-of-mass of the molecule it is in, and -dump those values to a dump file. In this case, each molecule is a -chunk. - -compute cc1 all chunk/atom molecule -compute myChunk all com/chunk cc1 -compute prop all property/atom xu yu zu -compute glob all global/atom c_cc1 c_myChunk\[*\] -variable dx atom c_prop\[1\]-c_glob\[1\] -variable dy atom c_prop\[2\]-c_glob\[2\] -variable dz atom c_prop\[3\]-c_glob\[3\] -variable dist atom sqrt(v_dx*v_dx+v_dy*v_dy+v_dz*v_dz) -dump 1 all custom 100 tmp.dump id xu yu zu c_glob\[1\] c_glob\[2\] c_glob\[3\] & - v_dx v_dy v_dz v_dist -dump_modify 1 sort id :pre - -You can add these commands to the bench/in.chain script to see how -they work. - -:line - -Note that for input values from a compute or fix, the bracketed index -I can be specified using a wildcard asterisk with the index to -effectively specify multiple values. This takes the form "*" or "*n" -or "n*" or "m*n". If N = the size of the vector (for {mode} = scalar) -or the number of columns in the array (for {mode} = vector), then an -asterisk with no numeric values means all indices from 1 to N. A -leading asterisk means all indices from 1 to n (inclusive). A -trailing asterisk means all indices from n to N (inclusive). A middle -asterisk means all indices from m to n (inclusive). - -Using a wildcard is the same as if the individual columns of the array -had been listed one by one. E.g. these 2 compute global/atom commands -are equivalent, since the "compute com/chunk"_compute_com_chunk.html -command creates a global array with 3 columns: - -compute cc1 all chunk/atom molecule -compute com all com/chunk cc1 -compute 1 all global/atom c_cc1 c_com\[1\] c_com\[2\] c_com\[3\] -compute 1 all global/atom c_cc1 c_com\[*\] :pre - -:line - -This section explains the {index} parameter. Note that it must -reference per-atom values, as contrasted with the {input} values which -must reference global values. - -Note that all of these options generate floating point values. When -they are used as an index into the specified input vectors, they -simple rounded down to convert the value to integer indices. The -final values should range from 1 to N (inclusive), since they are used -to access values from N-length vectors. - -If {index} begins with "c_", a compute ID must follow which has been -previously defined in the input script. The compute must generate -per-atom quantities. See the individual "compute"_compute.html doc -page for details. If no bracketed integer is appended, the per-atom -vector calculated by the compute is used. If a bracketed integer is -appended, the Ith column of the per-atom array calculated by the -compute is used. Users can also write code for their own compute -styles and "add them to LAMMPS"_Modify.html. See the -discussion above for how I can be specified with a wildcard asterisk -to effectively specify multiple values. - -If {index} begins with "f_", a fix ID must follow which has been -previously defined in the input script. The Fix must generate -per-atom quantities. See the individual "fix"_fix.html doc page for -details. Note that some fixes only produce their values on certain -timesteps, which must be compatible with when compute global/atom -references the values, else an error results. If no bracketed integer -is appended, the per-atom vector calculated by the fix is used. If a -bracketed integer is appended, the Ith column of the per-atom array -calculated by the fix is used. Users can also write code for their -own fix style and "add them to LAMMPS"_Modify.html. See the -discussion above for how I can be specified with a wildcard asterisk -to effectively specify multiple values. - -If {index} begins with "v_", a variable name must follow which has -been previously defined in the input script. It must be an -"atom-style variable"_variable.html. Atom-style variables can -reference thermodynamic keywords and various per-atom attributes, or -invoke other computes, fixes, or variables when they are evaluated, so -this is a very general means of generating per-atom quantities to use -as {index}. - -:line - -This section explains the kinds of {input} values that can be used. -Note that inputs reference global values, as contrasted with the -{index} parameter which must reference per-atom values. - -If a value begins with "c_", a compute ID must follow which has been -previously defined in the input script. The compute must generate a -global vector or array. See the individual "compute"_compute.html doc -page for details. If no bracketed integer is appended, the vector -calculated by the compute is used. If a bracketed integer is -appended, the Ith column of the array calculated by the compute is -used. Users can also write code for their own compute styles and "add -them to LAMMPS"_Modify.html. See the discussion above for how -I can be specified with a wildcard asterisk to effectively specify -multiple values. - -If a value begins with "f_", a fix ID must follow which has been -previously defined in the input script. The fix must generate a -global vector or array. See the individual "fix"_fix.html doc page -for details. Note that some fixes only produce their values on -certain timesteps, which must be compatible with when compute -global/atom references the values, else an error results. If no -bracketed integer is appended, the vector calculated by the fix is -used. If a bracketed integer is appended, the Ith column of the array -calculated by the fix is used. Users can also write code for their -own fix style and "add them to LAMMPS"_Modify.html. See the -discussion above for how I can be specified with a wildcard asterisk -to effectively specify multiple values. - -If a value begins with "v_", a variable name must follow which has -been previously defined in the input script. It must be a -"vector-style variable"_variable.html. Vector-style variables can -reference thermodynamic keywords and various other attributes of -atoms, or invoke other computes, fixes, or variables when they are -evaluated, so this is a very general means of generating a vector of -global quantities which the {index} parameter will reference for -assignment of global values to atoms. - -:line - -[Output info:] - -If a single input is specified this compute produces a per-atom -vector. If multiple inputs are specified, this compute produces a -per-atom array values, where the number of columns is equal to the -number of inputs specified. These values can be used by any command -that uses per-atom vector or array values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector or array values will be in whatever units the -corresponding input values are in. - -[Restrictions:] none - -[Related commands:] - -"compute"_compute.html, "fix"_fix.html, "variable"_variable.html, -"compute chunk/atom"_compute_chunk_atom.html, "compute -reduce"_compute_reduce.html - -[Default:] none diff --git a/doc/txt/compute_group_group.txt b/doc/txt/compute_group_group.txt deleted file mode 100644 index 5dfd8cf60b2ed0318419dee4171cdca3a05f2bf1..0000000000000000000000000000000000000000 --- a/doc/txt/compute_group_group.txt +++ /dev/null @@ -1,157 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute group/group command :h3 - -[Syntax:] - -compute ID group-ID group/group group2-ID keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -group/group = style name of this compute command :l -group2-ID = group ID of second (or same) group :l -zero or more keyword/value pairs may be appended :l -keyword = {pair} or {kspace} or {boundary} or {molecule} :l - {pair} value = {yes} or {no} - {kspace} value = {yes} or {no} - {boundary} value = {yes} or {no} - {molecule} value = {off} or {inter} or {intra} :pre -:ule - -[Examples:] - -compute 1 lower group/group upper -compute 1 lower group/group upper kspace yes -compute mine fluid group/group wall :pre - -[Description:] - -Define a computation that calculates the total energy and force -interaction between two groups of atoms: the compute group and the -specified group2. The two groups can be the same. - -If the {pair} keyword is set to {yes}, which is the default, then the -the interaction energy will include a pair component which is defined -as the pairwise energy between all pairs of atoms where one atom in -the pair is in the first group and the other is in the second group. -Likewise, the interaction force calculated by this compute will -include the force on the compute group atoms due to pairwise -interactions with atoms in the specified group2. - -NOTE: The energies computed by the {pair} keyword do not include tail -corrections, even if they are enabled via the -"pair_modify"_pair_modify.html command. - -If the {molecule} keyword is set to {inter} or {intra} than an -additional check is made based on the molecule IDs of the two atoms in -each pair before including their pairwise interaction energy and -force. For the {inter} setting, the two atoms must be in different -molecules. For the {intra} setting, the two atoms must be in the same -molecule. - -If the {kspace} keyword is set to {yes}, which is not the default, and -if a "kspace_style"_kspace_style.html is defined, then the interaction -energy will include a Kspace component which is the long-range -Coulombic energy between all the atoms in the first group and all the -atoms in the 2nd group. Likewise, the interaction force calculated by -this compute will include the force on the compute group atoms due to -long-range Coulombic interactions with atoms in the specified group2. - -Normally the long-range Coulombic energy converges only when the net -charge of the unit cell is zero. However, one can assume the net -charge of the system is neutralized by a uniform background plasma, -and a correction to the system energy can be applied to reduce -artifacts. For more information see "(Bogusz)"_#Bogusz. If the -{boundary} keyword is set to {yes}, which is the default, and {kspace} -contributions are included, then this energy correction term will be -added to the total group-group energy. This correction term does not -affect the force calculation and will be zero if one or both of the -groups are charge neutral. This energy correction term is the same as -that included in the regular Ewald and PPPM routines. - -NOTE: The {molecule} setting only affects the group/group -contributions calculated by the {pair} keyword. It does not affect -the group/group contributions calculated by the {kspace} keyword. - -This compute does not calculate any bond or angle or dihedral or -improper interactions between atoms in the two groups. - -:line - -The pairwise contributions to the group-group interactions are -calculated by looping over a neighbor list. The Kspace contribution -to the group-group interactions require essentially the same amount of -work (FFTs, Ewald summation) as computing long-range forces for the -entire system. Thus it can be costly to invoke this compute too -frequently. - -NOTE: If you have a bonded system, then the settings of -"special_bonds"_special_bonds.html command can remove pairwise -interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the "special_bonds"_special_bonds.html -command, and means those pairwise interactions do not appear in the -neighbor list. Because this compute uses a neighbor list, it also -means those pairs will not be included in the group/group interaction. -This does not apply when using long-range coulomb interactions -({coul/long}, {coul/msm}, {coul/wolf} or similar. One way to get -around this would be to set special_bond scaling factors to very tiny -numbers that are not exactly zero (e.g. 1.0e-50). Another workaround -is to write a dump file, and use the "rerun"_rerun.html command to -compute the group/group interactions for snapshots in the dump file. -The rerun script can use a "special_bonds"_special_bonds.html command -that includes all pairs in the neighbor list. - -If you desire a breakdown of the interactions into a pairwise and -Kspace component, simply invoke the compute twice with the appropriate -yes/no settings for the {pair} and {kspace} keywords. This is no more -costly than using a single compute with both keywords set to {yes}. -The individual contributions can be summed in a -"variable"_variable.html if desired. - -This "document"_PDF/kspace.pdf describes how the long-range -group-group calculations are performed. - -:line - -[Output info:] - -This compute calculates a global scalar (the energy) and a global -vector of length 3 (force), which can be accessed by indices 1-3. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -Both the scalar and vector values calculated by this compute are -"extensive". The scalar value will be in energy "units"_units.html. -The vector values will be in force "units"_units.html. - -[Restrictions:] - -Not all pair styles can be evaluated in a pairwise mode as required by -this compute. For example, 3-body and other many-body potentials, -such as "Tersoff"_pair_tersoff.html and -"Stillinger-Weber"_pair_sw.html cannot be used. "EAM"_pair_eam.html -potentials will re-use previously computed embedding term contributions, -so the computed pairwise forces and energies are based on the whole -system and not valid if particles have been moved since. - -Not all "Kspace styles"_kspace_style.html support the calculation of -group/group interactions. The regular {ewald} and {pppm} styles do. - -[Related commands:] none - -[Default:] - -The option defaults are pair = yes, kspace = no, boundary = yes, -molecule = off. - -:line - -:link(Bogusz) -Bogusz et al, J Chem Phys, 108, 7070 (1998) diff --git a/doc/txt/compute_gyration.txt b/doc/txt/compute_gyration.txt deleted file mode 100644 index 054ac02007391ab323530c3abe63e1a422152ba7..0000000000000000000000000000000000000000 --- a/doc/txt/compute_gyration.txt +++ /dev/null @@ -1,73 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute gyration command :h3 - -[Syntax:] - -compute ID group-ID gyration :pre - -ID, group-ID are documented in "compute"_compute.html command -gyration = style name of this compute command :ul - -[Examples:] - -compute 1 molecule gyration :pre - -[Description:] - -Define a computation that calculates the radius of gyration Rg of the -group of atoms, including all effects due to atoms passing through -periodic boundaries. - -Rg is a measure of the size of the group of atoms, and is computed as -the square root of the Rg^2 value in this formula - -:c,image(Eqs/compute_gyration.jpg) - -where M is the total mass of the group, Rcm is the center-of-mass -position of the group, and the sum is over all atoms in the group. - -A Rg^2 tensor, stored as a 6-element vector, is also calculated by -this compute. The formula for the components of the tensor is the -same as the above formula, except that (Ri - Rcm)^2 is replaced by -(Rix - Rcmx) * (Riy - Rcmy) for the xy component, etc. The 6 -components of the vector are ordered xx, yy, zz, xy, xz, yz. Note -that unlike the scalar Rg, each of the 6 values of the tensor is -effectively a "squared" value, since the cross-terms may be negative -and taking a sqrt() would be invalid. - -NOTE: The coordinates of an atom contribute to Rg in "unwrapped" form, -by using the image flags associated with each atom. See the "dump -custom"_dump.html command for a discussion of "unwrapped" coordinates. -See the Atoms section of the "read_data"_read_data.html command for a -discussion of image flags and how they are set for each atom. You can -reset the image flags (e.g. to 0) before invoking this compute by -using the "set image"_set.html command. - -[Output info:] - -This compute calculates a global scalar (Rg) and a global vector of -length 6 (Rg^2 tensor), which can be accessed by indices 1-6. These -values can be used by any command that uses a global scalar value or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar and vector values calculated by this compute are -"intensive". The scalar and vector values will be in distance and -distance^2 "units"_units.html respectively. - -[Restrictions:] none - -[Related commands:] - -"compute gyration/chunk"_compute_gyration_chunk.html, -"compute gyration/shape"_compute_gyration_shape.html - -[Default:] none diff --git a/doc/txt/compute_gyration_chunk.txt b/doc/txt/compute_gyration_chunk.txt deleted file mode 100644 index 4d2c30d9c706a2058599303821c96fb9eb3137f3..0000000000000000000000000000000000000000 --- a/doc/txt/compute_gyration_chunk.txt +++ /dev/null @@ -1,109 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute gyration/chunk command :h3 - -[Syntax:] - -compute ID group-ID gyration/chunk chunkID keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -gyration/chunk = style name of this compute command :l -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :l -zero or more keyword/value pairs may be appended :l -keyword = {tensor} :l - {tensor} value = none :pre -:ule - -[Examples:] - -compute 1 molecule gyration/chunk molchunk -compute 2 molecule gyration/chunk molchunk tensor :pre - -[Description:] - -Define a computation that calculates the radius of gyration Rg for -multiple chunks of atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -This compute calculates the radius of gyration Rg for each chunk, -which includes all effects due to atoms passing through periodic -boundaries. - -Rg is a measure of the size of a chunk, and is computed by this -formula - -:c,image(Eqs/compute_gyration.jpg) - -where M is the total mass of the chunk, Rcm is the center-of-mass -position of the chunk, and the sum is over all atoms in the -chunk. - -Note that only atoms in the specified group contribute to the -calculation. The "compute chunk/atom"_compute_chunk_atom.html command -defines its own group; atoms will have a chunk ID = 0 if they are not -in that group, signifying they are not assigned to a chunk, and will -thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. - -If the {tensor} keyword is specified, then the scalar Rg value is not -calculated, but an Rg tensor is instead calculated for each chunk. -The formula for the components of the tensor is the same as the above -formula, except that (Ri - Rcm)^2 is replaced by (Rix - Rcmx) * (Riy - -Rcmy) for the xy component, etc. The 6 components of the tensor are -ordered xx, yy, zz, xy, xz, yz. - -NOTE: The coordinates of an atom contribute to Rg in "unwrapped" form, -by using the image flags associated with each atom. See the "dump -custom"_dump.html command for a discussion of "unwrapped" coordinates. -See the Atoms section of the "read_data"_read_data.html command for a -discussion of image flags and how they are set for each atom. You can -reset the image flags (e.g. to 0) before invoking this compute by -using the "set image"_set.html command. - -The simplest way to output the results of the compute gyration/chunk -calculation to a file is to use the "fix ave/time"_fix_ave_time.html -command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk all gyration/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector :pre - -[Output info:] - -This compute calculates a global vector if the {tensor} keyword is not -specified and a global array if it is. The length of the vector or -number of rows in the array = the number of chunks {Nchunk} as -calculated by the specified "compute -chunk/atom"_compute_chunk_atom.html command. If the {tensor} keyword -is specified, the global array has 6 columns. The vector or array can -be accessed by any command that uses global values from a compute as -input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -All the vector or array values calculated by this compute are -"intensive". The vector or array values will be in distance -"units"_units.html, since they are the square root of values -represented by the formula above. - -[Restrictions:] none - -[Related commands:] none - -"compute gyration"_compute_gyration.html - -[Default:] none diff --git a/doc/txt/compute_gyration_shape.txt b/doc/txt/compute_gyration_shape.txt deleted file mode 100644 index 5d97772544fd75d203b34bdee16d8ee706ae853e..0000000000000000000000000000000000000000 --- a/doc/txt/compute_gyration_shape.txt +++ /dev/null @@ -1,91 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute gyration/shape command :h3 - -[Syntax:] - -compute ID group-ID gyration/shape compute-ID :pre - -ID, group-ID are documented in "compute"_compute.html command -gyration/shape = style name of this compute command -compute-ID = ID of "compute gyration"_compute_gyration.html command :ul - -[Examples:] - -compute 1 molecule gyration/shape pe :pre - -[Description:] - -Define a computation that calculates the eigenvalues of the gyration tensor of a -group of atoms and three shape parameters. The computation includes all effects -due to atoms passing through periodic boundaries. - -The three computed shape parameters are the asphericity, b, the acylindricity, c, -and the relative shape anisotropy, k: - -:c,image(Eqs/compute_shape_parameters.jpg) - -where lx <= ly <= lz are the three eigenvalues of the gyration tensor. A general description -of these parameters is provided in "(Mattice)"_#Mattice1 while an application to polymer systems -can be found in "(Theodorou)"_#Theodorou1. -The asphericity is always non-negative and zero only when the three principal -moments are equal. This zero condition is met when the distribution of particles -is spherically symmetric (hence the name asphericity) but also whenever the particle -distribution is symmetric with respect to the three coordinate axes, e.g., -when the particles are distributed uniformly on a cube, tetrahedron or other Platonic -solid. The acylindricity is always non-negative and zero only when the two principal -moments are equal. This zero condition is met when the distribution of particles is -cylindrically symmetric (hence the name, acylindricity), but also whenever the particle -distribution is symmetric with respect to the two coordinate axes, e.g., when the -particles are distributed uniformly on a regular prism. the relative shape anisotropy -is bounded between zero (if all points are spherically symmetric) and one -(if all points lie on a line). - -NOTE: The coordinates of an atom contribute to the gyration tensor in -"unwrapped" form, by using the image flags associated with each atom. -See the "dump custom"_dump.html command for a discussion of "unwrapped" -coordinates. See the Atoms section of the "read_data"_read_data.html -command for a discussion of image flags and how they are set for each -atom. You can reset the image flags (e.g. to 0) before invoking this -compute by using the "set image"_set.html command. - -[Output info:] - -This compute calculates a global vector of -length 6, which can be accessed by indices 1-6. The first three values are the -eigenvalues of the gyration tensor followed by the asphericity, the acylindricity -and the relative shape anisotropy. The computed values can be used by any command -that uses global vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The vector values calculated by this compute are -"intensive". The first five vector values will be in -distance^2 "units"_units.html while the sixth one is dimensionless. - -[Restrictions:] - -This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute gyration"_compute_gyration.html - -[Default:] none - -:line - -:link(Mattice1) -[(Mattice)] Mattice, Suter, Conformational Theory of Large Molecules, Wiley, New York, 1994. - -:link(Theodorou1) -[(Theodorou)] Theodorou, Suter, Macromolecules, 18, 1206 (1985). - diff --git a/doc/txt/compute_hexorder_atom.txt b/doc/txt/compute_hexorder_atom.txt deleted file mode 100644 index 3c58c3f4dda2eb9fe7d873a150772579eb933315..0000000000000000000000000000000000000000 --- a/doc/txt/compute_hexorder_atom.txt +++ /dev/null @@ -1,115 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute hexorder/atom command :h3 - -[Syntax:] - -compute ID group-ID hexorder/atom keyword values ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -hexorder/atom = style name of this compute command :l -one or more keyword/value pairs may be appended :l -keyword = {degree} or {nnn} or {cutoff} - {cutoff} value = distance cutoff - {nnn} value = number of nearest neighbors - {degree} value = degree {n} of order parameter :pre - -:ule - -[Examples:] - -compute 1 all hexorder/atom -compute 1 all hexorder/atom degree 4 nnn 4 cutoff 1.2 :pre - -[Description:] - -Define a computation that calculates {qn} the bond-orientational -order parameter for each atom in a group. The hexatic ({n} = 6) order -parameter was introduced by "Nelson and Halperin"_#Nelson as a way to detect -hexagonal symmetry in two-dimensional systems. For each atom, {qn} -is a complex number (stored as two real numbers) defined as follows: - -:c,image(Eqs/hexorder.jpg) - -where the sum is over the {nnn} nearest neighbors -of the central atom. The angle theta -is formed by the bond vector rij and the {x} axis. theta is calculated -only using the {x} and {y} components, whereas the distance from the -central atom is calculated using all three -{x}, {y}, and {z} components of the bond vector. -Neighbor atoms not in the group -are included in the order parameter of atoms in the group. - -The optional keyword {cutoff} defines the distance cutoff -used when searching for neighbors. The default value, also -the maximum allowable value, is the cutoff specified -by the pair style. - -The optional keyword {nnn} defines the number of nearest -neighbors used to calculate {qn}. The default value is 6. -If the value is NULL, then all neighbors up to the -distance cutoff are used. - -The optional keyword {degree} sets the degree {n} of the order parameter. -The default value is 6. For a perfect hexagonal lattice with -{nnn} = 6, -{q}6 = exp(6 i phi) for all atoms, where the constant 0 < phi < pi/3 -depends only on the orientation of the lattice relative to the {x} axis. -In an isotropic liquid, local neighborhoods may still exhibit -weak hexagonal symmetry, but because the orientational correlation -decays quickly with distance, the value of phi will be different for -different atoms, and so when {q}6 is averaged over all the atoms -in the system, |<{q}6>| << 1. - -The value of {qn} is set to zero for atoms not in the -specified compute group, as well as for atoms that have less than -{nnn} neighbors within the distance cutoff. - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (i.e. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently. - -NOTE: If you have a bonded system, then the settings of -"special_bonds"_special_bonds.html command can remove pairwise -interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the "special_bonds"_special_bonds.html -command, and means those pairwise interactions do not appear in the -neighbor list. Because this fix uses the neighbor list, it also means -those pairs will not be included in the order parameter. This -difficulty can be circumvented by writing a dump file, and using the -"rerun"_rerun.html command to compute the order parameter for -snapshots in the dump file. The rerun script can use a -"special_bonds"_special_bonds.html command that includes all pairs in -the neighbor list. - -[Output info:] - -This compute calculates a per-atom array with 2 columns, giving the -real and imaginary parts {qn}, a complex number restricted to the -unit disk of the complex plane i.e. Re({qn})^2 + Im({qn})^2 <= 1 . - -These values can be accessed by any command that uses per-atom values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -[Restrictions:] none - -[Related commands:] - -"compute orientorder/atom"_compute_orientorder_atom.html, "compute coord/atom"_compute_coord_atom.html, "compute centro/atom"_compute_centro_atom.html - -[Default:] - -The option defaults are {cutoff} = pair style cutoff, {nnn} = 6, {degree} = 6 - -:line - -:link(Nelson) -[(Nelson)] Nelson, Halperin, Phys Rev B, 19, 2457 (1979). diff --git a/doc/txt/compute_hma.txt b/doc/txt/compute_hma.txt deleted file mode 100644 index 289138eaa8a901f3757b2ad8981dc46117cbeb9a..0000000000000000000000000000000000000000 --- a/doc/txt/compute_hma.txt +++ /dev/null @@ -1,184 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -compute hma command :h3 - -[Syntax:] - -compute ID group-ID hma temp-ID keyword ... :pre - -ID, group-ID are documented in "compute"_compute.html command :l -hma = style name of this compute command :l -temp-ID = ID of fix that specifies the set temperature during canonical simulation :l -keyword = {anharmonic} {u} {p Pharm} {cv} :l - {anharmonic} = compute will return anharmonic property values - {u} = compute will return potential energy - {p} = compute will return pressure. the following keyword must be the difference between the harmonic pressure and lattice pressure as described below - {cv} = compute will return the heat capacity :pre -:ule - -[Examples:] - -compute 2 all hma 1 u -compute 2 all hma 1 anharmonic u p 0.9 -compute 2 all hma 1 u cv :pre - - - -[Description:] - -Define a computation that calculates the properties of a solid (potential -energy, pressure or heat capacity), using the harmonically-mapped averaging -(HMA) method. -This command yields much higher precision than the equivalent compute commands -("compute pe"_compute_pe.html, "compute pressure"_compute_pressure.html, etc.) -commands during a canonical simulation of an atomic crystal. Specifically, -near melting HMA can yield averages of a given precision an order of magnitude -faster than conventional methods, and this only improves as the temperatures is -lowered. This is particularly important for evaluating the free energy by -thermodynamic integration, where the low-temperature contributions are the -greatest source of statistical uncertainty. Moreover, HMA has other -advantages, including smaller potential-truncation effects, finite-size -effects, smaller timestep inaccuracy, faster equilibration and shorter -decorrelation time. - -HMA should not be used if atoms are expected to diffuse. It is also -restricted to simulations in the NVT ensemble. While this compute may be -used with any potential in LAMMPS, it will provide inaccurate results -for potentials that do not go to 0 at the truncation distance; -"pair_lj_smooth_linear"_pair_lj_smooth_linear.html and Ewald summation should -work fine, while "pair_lj"_pair_lj.html will perform poorly unless -the potential is shifted (via "pair_modify"_pair_modify.html shift) or the cutoff is large. Furthermore, computation of the heat capacity with -this compute is restricted to those that implement the single_hessian method -in Pair. Implementing single_hessian in additional pair styles is simple. -Please contact Andrew Schultz (ajs42 at buffalo.edu) and David Kofke (kofke at -buffalo.edu) if your desired pair style does not have this method. This is -the list of pair styles that currently implement pair_hessian: - -"lj_smooth_linear"_pair_lj_smooth_linear.html :l -:ule - -In this method, the analytically known harmonic behavior of a crystal is removed from the traditional ensemble -averages, which leads to an accurate and precise measurement of the anharmonic contributions without contamination -by noise produced by the already-known harmonic behavior. -A detailed description of this method can be found in ("Moustafa"_#hma-Moustafa). The potential energy is computed by the formula: - -\begin\{equation\} -\left< U\right>_\{HMA\} = \frac\{d\}\{2\} (N-1) k_B T + \left< U + \frac\{1\}\{2\} F\bullet\Delta r \right> -\end\{equation\} - -where \(N\) is the number of atoms in the system, \(k_B\) is Boltzmann's -constant, \(T\) is the temperature, \(d\) is the -dimensionality of the system (2 or 3 for 2d/3d), \(F\bullet\Delta r\) is the sum of dot products of the -atomic force vectors and displacement (from lattice sites) vectors, and \(U\) is the sum of -pair, bond, angle, dihedral, improper, kspace (long-range), and fix energies. - -The pressure is computed by the formula: - -\begin\{equation\} -\left< P\right>_\{HMA\} = \Delta \hat P + \left< P_\{vir\} + \frac\{\beta \Delta \hat P - \rho\}\{d(N-1)\} F\bullet\Delta r \right> -\end\{equation\} - -where \(\rho\) is the number density of the system, \(\Delta \hat P\) is the -difference between the harmonic and lattice pressure, \(P_\{vir\}\) is -the virial pressure computed as the sum of pair, bond, angle, dihedral, -improper, kspace (long-range), and fix contributions to the force on each -atom, and \(k_B=1/k_B T\). Although the method will work for any value of \(\Delta \hat P\) -specified (use pressure "units"_units.html), the precision of the resultant -pressure is sensitive to \(\Delta \hat P\); the precision tends to be -best when \(\Delta \hat P\) is the actual the difference between the lattice -pressure and harmonic pressure. - -\begin\{equation\} -\left_\{HMA\} = \frac\{d\}\{2\} (N-1) k_B + \frac\{1\}\{k_B T^2\} \left( \left< -U_\{HMA\}^2 \right> - \left^2 \right) + \frac\{1\}\{4 T\} -\left< F\bullet\Delta r + \Delta r \bullet \Phi \bullet \Delta r \right> -\end\{equation\} - -where \(\Phi\) is the Hessian matrix. The compute hma command -computes the full expression for \(C_V\) except for the -\(\left^2\) in the variance term, which can be obtained by -passing the {u} keyword; you must add this extra contribution to the \(C_V\) -value reported by this compute. The variance term can cause significant -round-off error when computing \(C_V\). To address this, the {anharmonic} -keyword can be passed and/or the output format can be specified with more -digits. - -thermo_modify format float '%22.15e' :pre - -The {anharmonic} keyword will instruct the compute to return anharmonic -properties rather than the full properties, which include lattice, harmonic -and anharmonic contributions. -When using this keyword, the compute must be first active (it must be included -via a "thermo_style custom"_thermo_style.html command) while the atoms are -still at their lattice sites (before equilibration). - -The temp-ID specified with compute hma command should be same as the fix-ID of Nose-Hoover ("fix nvt"_fix_nh.html) or -Berendsen ("fix temp/berendsen"_fix_temp_berendsen.html) thermostat used for the simulation. While using this command, Langevin thermostat -("fix langevin"_fix_langevin.html) -should be avoided as its extra forces interfere with the HMA implementation. - - - -NOTE: Compute hma command should be used right after the energy minimization, when the atoms are at their lattice sites. -The simulation should not be started before this command has been used in the input script. - - -The following example illustrates the placement of this command in the input script: - - -min_style cg -minimize 1e-35 1e-15 50000 500000 -compute 1 all hma thermostatid u -fix thermostatid all nvt temp 600.0 600.0 100.0 :pre - - - -NOTE: Compute hma should be used when the atoms of the solid do not diffuse. Diffusion will reduce the precision in the potential energy computation. - - -NOTE: The "fix_modify energy yes"_fix_modify.html command must also be specified if a fix is to contribute potential energy to this command. - -An example input script that uses this compute is included in -examples/USER/hma/ along with corresponding LAMMPS output showing that the HMA -properties fluctuate less than the corresponding conventional properties. - -[Output info:] - -This compute calculates a global vector that includes the n properties -requested as arguments to the command (the potential energy, pressure and/or heat -capacity). The elements of the vector can be accessed by indices 1-n by any -command that uses global vector values as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output options. - -The vector values calculated by this compute are "extensive". The -scalar value will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-MISC package. It is enabled only -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Usage restricted to canonical (NVT) ensemble simulation only. - -[Related commands:] - -"compute pe"_compute_pe.html, "compute pressure"_compute_pressure.html - -"dynamical matrix"_dynamical_matrix.html provides a finite difference -formulation of the hessian provided by Pair's single_hessian, which is used by -this compute. - -[Default:] none - -:line - -:link(hma-Moustafa) -[(Moustafa)] Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, {Very fast averaging of thermal properties of crystals by molecular simulation}, -"Phys. Rev. E \[92\], 043303 (2015)"_https://link.aps.org/doi/10.1103/PhysRevE.92.043303 diff --git a/doc/txt/compute_improper.txt b/doc/txt/compute_improper.txt deleted file mode 100644 index 867dd48cc16edc61f5b1cc8d64d4b80234120209..0000000000000000000000000000000000000000 --- a/doc/txt/compute_improper.txt +++ /dev/null @@ -1,53 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute improper command :h3 - -[Syntax:] - -compute ID group-ID improper :pre - -ID, group-ID are documented in "compute"_compute.html command -improper = style name of this compute command :ul - -[Examples:] - -compute 1 all improper :pre - -[Description:] - -Define a computation that extracts the improper energy calculated by -each of the improper sub-styles used in the "improper_style -hybrid"_improper_hybrid.html command. These values are made -accessible for output or further processing by other commands. The -group specified for this command is ignored. - -This compute is useful when using "improper_style -hybrid"_improper_hybrid.html if you want to know the portion of the -total energy contributed by one or more of the hybrid sub-styles. - -[Output info:] - -This compute calculates a global vector of length N where N is the -number of sub_styles defined by the "improper_style -hybrid"_improper_style.html command. which can be accessed by indices -1-N. These values can be used by any command that uses global scalar -or vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The vector values are "extensive" and will be in energy -"units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute pe"_compute_pe.html, "compute pair"_compute_pair.html - -[Default:] none diff --git a/doc/txt/compute_improper_local.txt b/doc/txt/compute_improper_local.txt deleted file mode 100644 index f340d5a03fc472889b22f854480c0563eee0e6dc..0000000000000000000000000000000000000000 --- a/doc/txt/compute_improper_local.txt +++ /dev/null @@ -1,79 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute improper/local command :h3 - -[Syntax:] - -compute ID group-ID improper/local value1 value2 ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -improper/local = style name of this compute command :l -one or more values may be appended :l -value = {chi} :l - {chi} = tabulate improper angles :pre -:ule - -[Examples:] - -compute 1 all improper/local chi :pre - -[Description:] - -Define a computation that calculates properties of individual improper -interactions. The number of datums generated, aggregated across all -processors, equals the number of impropers in the system, modified by -the group parameter as explained below. - -The value {chi} is the improper angle, as defined in the doc pages for -the individual improper styles listed on -"improper_style"_improper_style.html doc page. - -The local data stored by this command is generated by looping over all -the atoms owned on a processor and their impropers. An improper will -only be included if all 4 atoms in the improper are in the specified -compute group. - -Note that as atoms migrate from processor to processor, there will be -no consistent ordering of the entries within the local vector or array -from one timestep to the next. The only consistency that is -guaranteed is that the ordering on a particular timestep will be the -same for local vectors or arrays generated by other compute commands. -For example, improper output from the "compute -property/local"_compute_property_local.html command can be combined -with data from this command and output by the "dump local"_dump.html -command in a consistent way. - -Here is an example of how to do this: - -compute 1 all property/local itype iatom1 iatom2 iatom3 iatom4 -compute 2 all improper/local chi -dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_1\[3\] c_1\[4\] c_1\[5\] c_2\[1\] :pre - -[Output info:] - -This compute calculates a local vector or local array depending on the -number of keywords. The length of the vector or number of rows in the -array is the number of impropers. If a single keyword is specified, a -local vector is produced. If two or more keywords are specified, a -local array is produced where the number of columns = the number of -keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The output for {chi} will be in degrees. - -[Restrictions:] none - -[Related commands:] - -"dump local"_dump.html, "compute -property/local"_compute_property_local.html - -[Default:] none diff --git a/doc/txt/compute_inertia_chunk.txt b/doc/txt/compute_inertia_chunk.txt deleted file mode 100644 index 6ded3312c526da272acace06c64c62eb879ff7b1..0000000000000000000000000000000000000000 --- a/doc/txt/compute_inertia_chunk.txt +++ /dev/null @@ -1,87 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute inertia/chunk command :h3 - -[Syntax:] - -compute ID group-ID inertia/chunk chunkID :pre - -ID, group-ID are documented in "compute"_compute.html command -inertia/chunk = style name of this compute command -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :ul - -[Examples:] - -compute 1 fluid inertia/chunk molchunk :pre - -[Description:] - -Define a computation that calculates the inertia tensor for multiple -chunks of atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -This compute calculates the 6 components of the symmetric inertia -tensor for each chunk, ordered Ixx,Iyy,Izz,Ixy,Iyz,Ixz. The -calculation includes all effects due to atoms passing through periodic -boundaries. - -Note that only atoms in the specified group contribute to the -calculation. The "compute chunk/atom"_compute_chunk_atom.html command -defines its own group; atoms will have a chunk ID = 0 if they are not -in that group, signifying they are not assigned to a chunk, and will -thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. - -NOTE: The coordinates of an atom contribute to the chunk's inertia -tensor in "unwrapped" form, by using the image flags associated with -each atom. See the "dump custom"_dump.html command for a discussion -of "unwrapped" coordinates. See the Atoms section of the -"read_data"_read_data.html command for a discussion of image flags and -how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the "set -image"_set.html command. - -The simplest way to output the results of the compute inertia/chunk -calculation to a file is to use the "fix ave/time"_fix_ave_time.html -command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk all inertia/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -[Output info:] - -This compute calculates a global array where the number of rows = the -number of chunks {Nchunk} as calculated by the specified "compute -chunk/atom"_compute_chunk_atom.html command. The number of columns = -6 for the 6 components of the inertia tensor for each chunk, ordered -as listed above. These values can be accessed by any command that -uses global array values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The array values are "intensive". The array values will be in -mass*distance^2 "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"variable inertia() function"_variable.html - -[Default:] none diff --git a/doc/txt/compute_ke.txt b/doc/txt/compute_ke.txt deleted file mode 100644 index 64ab83db48b792aa0bc26dbd60ca0de7800166ae..0000000000000000000000000000000000000000 --- a/doc/txt/compute_ke.txt +++ /dev/null @@ -1,59 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute ke command :h3 - -[Syntax:] - -compute ID group-ID ke :pre - -ID, group-ID are documented in "compute"_compute.html command -ke = style name of this compute command :ul - -[Examples:] - -compute 1 all ke :pre - -[Description:] - -Define a computation that calculates the translational kinetic energy -of a group of particles. - -The kinetic energy of each particle is computed as 1/2 m v^2, where m -and v are the mass and velocity of the particle. - -There is a subtle difference between the quantity calculated by this -compute and the kinetic energy calculated by the {ke} or {etotal} -keyword used in thermodynamic output, as specified by the -"thermo_style"_thermo_style.html command. For this compute, kinetic -energy is "translational" kinetic energy, calculated by the simple -formula above. For thermodynamic output, the {ke} keyword infers -kinetic energy from the temperature of the system with 1/2 Kb T of -energy for each degree of freedom. For the default temperature -computation via the "compute temp"_compute_temp.html command, these -are the same. But different computes that calculate temperature can -subtract out different non-thermal components of velocity and/or -include different degrees of freedom (translational, rotational, etc). - -[Output info:] - -This compute calculates a global scalar (the summed KE). This value -can be used by any command that uses a global scalar value from a -compute as input. See the "Howto output"_Howto_output.html doc page -for an overview of LAMMPS output options. - -The scalar value calculated by this compute is "extensive". The -scalar value will be in energy "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute erotate/sphere"_compute_erotate_sphere.html - -[Default:] none diff --git a/doc/txt/compute_ke_atom.txt b/doc/txt/compute_ke_atom.txt deleted file mode 100644 index d288ab0236d44a40c32805a94e8d1b04a181edd1..0000000000000000000000000000000000000000 --- a/doc/txt/compute_ke_atom.txt +++ /dev/null @@ -1,48 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute ke/atom command :h3 - -[Syntax:] - -compute ID group-ID ke/atom :pre - -ID, group-ID are documented in "compute"_compute.html command -ke/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all ke/atom :pre - -[Description:] - -Define a computation that calculates the per-atom translational -kinetic energy for each atom in a group. - -The kinetic energy is simply 1/2 m v^2, where m is the mass and v is -the velocity of each atom. - -The value of the kinetic energy will be 0.0 for atoms not in the -specified compute group. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values will be in energy "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"dump custom"_dump.html - -[Default:] none diff --git a/doc/txt/compute_ke_atom_eff.txt b/doc/txt/compute_ke_atom_eff.txt deleted file mode 100644 index 29905f81d6b624f119cfb05a8daebfb959971492..0000000000000000000000000000000000000000 --- a/doc/txt/compute_ke_atom_eff.txt +++ /dev/null @@ -1,76 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute ke/atom/eff command :h3 - -[Syntax:] - -compute ID group-ID ke/atom/eff :pre - -ID, group-ID are documented in "compute"_compute.html command -ke/atom/eff = style name of this compute command :ul - -[Examples:] - -compute 1 all ke/atom/eff :pre - -[Description:] - -Define a computation that calculates the per-atom translational -(nuclei and electrons) and radial kinetic energy (electron only) in a -group. The particles are assumed to be nuclei and electrons modeled -with the "electronic force field"_pair_eff.html. - -The kinetic energy for each nucleus is computed as 1/2 m v^2, where m -corresponds to the corresponding nuclear mass, and the kinetic energy -for each electron is computed as 1/2 (me v^2 + 3/4 me s^2), where me -and v correspond to the mass and translational velocity of each -electron, and s to its radial velocity, respectively. - -There is a subtle difference between the quantity calculated by this -compute and the kinetic energy calculated by the {ke} or {etotal} -keyword used in thermodynamic output, as specified by the -"thermo_style"_thermo_style.html command. For this compute, kinetic -energy is "translational" plus electronic "radial" kinetic energy, -calculated by the simple formula above. For thermodynamic output, the -{ke} keyword infers kinetic energy from the temperature of the system -with 1/2 Kb T of energy for each (nuclear-only) degree of freedom in -eFF. - -NOTE: The temperature in eFF should be monitored via the "compute -temp/eff"_compute_temp_eff.html command, which can be printed with -thermodynamic output by using the "thermo_modify"_thermo_modify.html -command, as shown in the following example: - -compute effTemp all temp/eff -thermo_style custom step etotal pe ke temp press -thermo_modify temp effTemp :pre - -The value of the kinetic energy will be 0.0 for atoms (nuclei or -electrons) not in the specified compute group. - -[Output info:] - -This compute calculates a scalar quantity for each atom, which can be -accessed by any command that uses per-atom computes as input. See the -"Howto output"_Howto_output.html doc page for an overview of LAMMPS -output options. - -The per-atom vector values will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"dump custom"_dump.html - -[Default:] none diff --git a/doc/txt/compute_ke_eff.txt b/doc/txt/compute_ke_eff.txt deleted file mode 100644 index fa2c51a032607c696bbb61c23abe489b189a3975..0000000000000000000000000000000000000000 --- a/doc/txt/compute_ke_eff.txt +++ /dev/null @@ -1,78 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute ke/eff command :h3 - -[Syntax:] - -compute ID group-ID ke/eff :pre - -ID, group-ID are documented in "compute"_compute.html command -ke/eff = style name of this compute command :ul - -[Examples:] - -compute 1 all ke/eff :pre - -[Description:] - -Define a computation that calculates the kinetic energy of motion of a -group of eFF particles (nuclei and electrons), as modeled with the -"electronic force field"_pair_eff.html. - -The kinetic energy for each nucleus is computed as 1/2 m v^2 and the -kinetic energy for each electron is computed as 1/2(me v^2 + 3/4 me -s^2), where m corresponds to the nuclear mass, me to the electron -mass, v to the translational velocity of each particle, and s to the -radial velocity of the electron, respectively. - -There is a subtle difference between the quantity calculated by this -compute and the kinetic energy calculated by the {ke} or {etotal} -keyword used in thermodynamic output, as specified by the -"thermo_style"_thermo_style.html command. For this compute, kinetic -energy is "translational" and "radial" (only for electrons) kinetic -energy, calculated by the simple formula above. For thermodynamic -output, the {ke} keyword infers kinetic energy from the temperature of -the system with 1/2 Kb T of energy for each degree of freedom. For -the eFF temperature computation via the "compute -temp_eff"_compute_temp_eff.html command, these are the same. But -different computes that calculate temperature can subtract out -different non-thermal components of velocity and/or include other -degrees of freedom. - -IMPRORTANT NOTE: The temperature in eFF models should be monitored via -the "compute temp/eff"_compute_temp_eff.html command, which can be -printed with thermodynamic output by using the -"thermo_modify"_thermo_modify.html command, as shown in the following -example: - -compute effTemp all temp/eff -thermo_style custom step etotal pe ke temp press -thermo_modify temp effTemp :pre - -See "compute temp/eff"_compute_temp_eff.html. - -[Output info:] - -This compute calculates a global scalar (the KE). This value can be -used by any command that uses a global scalar value from a compute as -input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -The scalar value calculated by this compute is "extensive". The -scalar value will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/compute_ke_rigid.txt b/doc/txt/compute_ke_rigid.txt deleted file mode 100644 index ad6baf567fa87e8e4be7e67d65f9fe5a7333ba40..0000000000000000000000000000000000000000 --- a/doc/txt/compute_ke_rigid.txt +++ /dev/null @@ -1,60 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute ke/rigid command :h3 - -[Syntax:] - -compute ID group-ID ke/rigid fix-ID :pre - -ID, group-ID are documented in "compute"_compute.html command -ke = style name of this compute command -fix-ID = ID of rigid body fix :ul - -[Examples:] - -compute 1 all ke/rigid myRigid :pre - -[Description:] - -Define a computation that calculates the translational kinetic energy -of a collection of rigid bodies, as defined by one of the "fix -rigid"_fix_rigid.html command variants. - -The kinetic energy of each rigid body is computed as 1/2 M Vcm^2, -where M is the total mass of the rigid body, and Vcm is its -center-of-mass velocity. - -The {fix-ID} should be the ID of one of the "fix rigid"_fix_rigid.html -commands which defines the rigid bodies. The group specified in the -compute command is ignored. The kinetic energy of all the rigid -bodies defined by the fix rigid command in included in the -calculation. - -[Output info:] - -This compute calculates a global scalar (the summed KE of all the -rigid bodies). This value can be used by any command that uses a -global scalar value from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "extensive". The -scalar value will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute erotate/rigid"_compute_erotate_rigid.html - -[Default:] none diff --git a/doc/txt/compute_meso_e_atom.txt b/doc/txt/compute_meso_e_atom.txt deleted file mode 100644 index 0f0cfda2d1c8a9c01d367608e5e36d27f01de416..0000000000000000000000000000000000000000 --- a/doc/txt/compute_meso_e_atom.txt +++ /dev/null @@ -1,56 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute meso/e/atom command :h3 - -[Syntax:] - -compute ID group-ID meso/e/atom :pre - -ID, group-ID are documented in "compute"_compute.html command -meso/e/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all meso/e/atom :pre - -[Description:] - -Define a computation that calculates the per-atom internal energy -for each atom in a group. - -The internal energy is the energy associated with the internal degrees -of freedom of a mesoscopic particles, e.g. a Smooth-Particle -Hydrodynamics particle. - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -The value of the internal energy will be 0.0 for atoms not in the -specified compute group. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"dump custom"_dump.html - -[Default:] none diff --git a/doc/txt/compute_meso_rho_atom.txt b/doc/txt/compute_meso_rho_atom.txt deleted file mode 100644 index 5127ad2c48f7a3f033957e800a7ba8303dfa0fe7..0000000000000000000000000000000000000000 --- a/doc/txt/compute_meso_rho_atom.txt +++ /dev/null @@ -1,56 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute meso/rho/atom command :h3 - -[Syntax:] - -compute ID group-ID meso/rho/atom :pre - -ID, group-ID are documented in "compute"_compute.html command -meso/rho/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all meso/rho/atom :pre - -[Description:] - -Define a computation that calculates the per-atom mesoscopic density -for each atom in a group. - -The mesoscopic density is the mass density of a mesoscopic particle, -calculated by kernel function interpolation using "pair style -sph/rhosum". - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -The value of the mesoscopic density will be 0.0 for atoms not in the -specified compute group. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values will be in mass/volume "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"dump custom"_dump.html - -[Default:] none diff --git a/doc/txt/compute_meso_t_atom.txt b/doc/txt/compute_meso_t_atom.txt deleted file mode 100644 index f4ab869ec27bd943dffcfe5b4df1dce358efa5cf..0000000000000000000000000000000000000000 --- a/doc/txt/compute_meso_t_atom.txt +++ /dev/null @@ -1,58 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute meso/t/atom command :h3 - -[Syntax:] - -compute ID group-ID meso/t/atom :pre - -ID, group-ID are documented in "compute"_compute.html command -meso/t/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all meso/t/atom :pre - -[Description:] - -Define a computation that calculates the per-atom internal temperature -for each atom in a group. - -The internal temperature is the ratio of internal energy over the heat -capacity associated with the internal degrees of freedom of a mesoscopic -particles, e.g. a Smooth-Particle Hydrodynamics particle. - -T_{int} = E_{int} / C_{V, int} - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -The value of the internal energy will be 0.0 for atoms not in the -specified compute group. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values will be in temperature "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"dump custom"_dump.html - -[Default:] none diff --git a/doc/txt/compute_modify.txt b/doc/txt/compute_modify.txt deleted file mode 100644 index 5ba2100fbaa0bb51ab8f2bc112cb22248d745639..0000000000000000000000000000000000000000 --- a/doc/txt/compute_modify.txt +++ /dev/null @@ -1,73 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute_modify command :h3 - -[Syntax:] - -compute_modify compute-ID keyword value ... :pre - -compute-ID = ID of the compute to modify :ulb,l -one or more keyword/value pairs may be listed :l -keyword = {extra/dof} or {extra} or {dynamic/dof} or {dynamic} :l - {extra/dof} value = N - N = # of extra degrees of freedom to subtract - {extra} syntax is identical to {extra/dof}, will be disabled at some point - {dynamic/dof} value = {yes} or {no} - yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature - {dynamic} syntax is identical to {dynamic/dof}, will be disabled at some point :pre -:ule - -[Examples:] - -compute_modify myTemp extra/dof 0 -compute_modify newtemp dynamic/dof yes extra/dof 600 :pre - -[Description:] - -Modify one or more parameters of a previously defined compute. Not -all compute styles support all parameters. - -The {extra/dof} or {extra} keyword refers to how many -degrees-of-freedom are subtracted (typically from 3N) as a normalizing -factor in a temperature computation. Only computes that compute a -temperature use this option. The default is 2 or 3 for "2d or 3d -systems"_dimension.html which is a correction factor for an ensemble -of velocities with zero total linear momentum. For compute -temp/partial, if one or more velocity components are excluded, the -value used for {extra} is scaled accordingly. You can use a negative -number for the {extra} parameter if you need to add -degrees-of-freedom. See the "compute -temp/asphere"_compute_temp_asphere.html command for an example. - -The {dynamic/dof} or {dynamic} keyword determines whether the number -of atoms N in the compute group and their associated degrees of -freedom are re-computed each time a temperature is computed. Only -compute styles that calculate a temperature use this option. By -default, N and their DOF are assumed to be constant. If you are -adding atoms or molecules to the system (see the "fix -pour"_fix_pour.html, "fix deposit"_fix_deposit.html, and "fix -gcmc"_fix_gcmc.html commands) or expect atoms or molecules to be lost -(e.g. due to exiting the simulation box or via "fix -evaporate"_fix_evaporate.html), then this option should be used to -insure the temperature is correctly normalized. - -NOTE: The {extra} and {dynamic} keywords should not be used as they -are deprecated (March 2017) and will eventually be disabled. Instead, -use the equivalent {extra/dof} and {dynamic/dof} keywords. - -[Restrictions:] none - -[Related commands:] - -"compute"_compute.html - -[Default:] - -The option defaults are extra/dof = 2 or 3 for 2d or 3d systems and -dynamic/dof = no. diff --git a/doc/txt/compute_momentum.txt b/doc/txt/compute_momentum.txt deleted file mode 100644 index 2c6ec78cf3056151f8f8cd23b343abe8bdd76c5c..0000000000000000000000000000000000000000 --- a/doc/txt/compute_momentum.txt +++ /dev/null @@ -1,49 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute momentum command :h3 - -[Syntax:] - -compute ID group-ID momentum :pre - -ID, group-ID are documented in "compute"_compute.html command -momentum = style name of this compute command :ul - -[Examples:] - -compute 1 all momentum :pre - -[Description:] - -Define a computation that calculates the translational momentum -of a group of particles. - -The momentum of each particles is computed as m v, where m and v are -the mass and velocity of the particle. - -[Output info:] - -This compute calculates a global vector (the summed momentum) of -length 3. This value can be used by any command that uses a global -vector value from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The vector value calculated by this compute is "extensive". The vector -value will be in mass*velocity "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -[Default:] none diff --git a/doc/txt/compute_msd.txt b/doc/txt/compute_msd.txt deleted file mode 100644 index dbbe0d637d91b0678e90845ff03e5ef1d8c10fd2..0000000000000000000000000000000000000000 --- a/doc/txt/compute_msd.txt +++ /dev/null @@ -1,113 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute msd command :h3 - -[Syntax:] - -compute ID group-ID msd keyword values ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -msd = style name of this compute command :l -zero or more keyword/value pairs may be appended :l -keyword = {com} or {average} :l - {com} value = {yes} or {no} - {average} value = {yes} or {no} :pre -:ule - -[Examples:] - -compute 1 all msd -compute 1 upper msd com yes average yes :pre - -[Description:] - -Define a computation that calculates the mean-squared displacement -(MSD) of the group of atoms, including all effects due to atoms -passing through periodic boundaries. For computation of the non-Gaussian -parameter of mean-squared displacement, see the "compute -msd/nongauss"_compute_msd_nongauss.html command. - -A vector of four quantities is calculated by this compute. The first 3 -elements of the vector are the squared dx,dy,dz displacements, summed -and averaged over atoms in the group. The 4th element is the total -squared displacement, i.e. (dx*dx + dy*dy + dz*dz), summed and -averaged over atoms in the group. - -The slope of the mean-squared displacement (MSD) versus time is -proportional to the diffusion coefficient of the diffusing atoms. - -The displacement of an atom is from its reference position. This is -normally the original position at the time -the compute command was issued, unless the {average} keyword is set to {yes}. -The value of the displacement will be -0.0 for atoms not in the specified compute group. - -If the {com} option is set to {yes} then the effect of any drift in -the center-of-mass of the group of atoms is subtracted out before the -displacement of each atom is calculated. - -If the {average} option is set to {yes} then the reference position of -an atom is based on the average position of that atom, corrected for -center-of-mass motion if requested. The average position is a running -average over all previous calls to the compute, including the current -call. So on the first call it is current position, on the second call -it is the arithmetic average of the current position and the position -on the first call, and so on. Note that when using this option, the -precise value of the mean square displacement will depend on the -number of times the compute is called. So, for example, changing the -frequency of thermo output may change the computed displacement. Also, -the precise values will be changed if a single simulation is broken up -into two parts, using either multiple run commands or a restart -file. It only makes sense to use this option if the atoms are not -diffusing, so that their average positions relative to the center of -mass of the system are stationary. The most common case is crystalline -solids undergoing thermal motion. - -NOTE: Initial coordinates are stored in "unwrapped" form, by using the -image flags associated with each atom. See the "dump -custom"_dump.html command for a discussion of "unwrapped" coordinates. -See the Atoms section of the "read_data"_read_data.html command for a -discussion of image flags and how they are set for each atom. You can -reset the image flags (e.g. to 0) before invoking this compute by -using the "set image"_set.html command. - -NOTE: If you want the quantities calculated by this compute to be -continuous when running from a "restart file"_read_restart.html, then -you should use the same ID for this compute, as in the original run. -This is so that the fix this compute creates to store per-atom -quantities will also have the same ID, and thus be initialized -correctly with atom reference positions from the restart file. When -{average} is set to yes, then the atom reference positions are -restored correctly, but not the number of samples used obtain them. As -a result, the reference positions from the restart file are combined -with subsequent positions as if they were from a single sample, -instead of many, which will change the values of msd somewhat. - -[Output info:] - -This compute calculates a global vector of length 4, which can be -accessed by indices 1-4 by any command that uses global vector values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The vector values are "intensive". The vector values will be in -distance^2 "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute msd/nongauss"_compute_msd_nongauss.html, "compute -displace_atom"_compute_displace_atom.html, "fix -store/state"_fix_store_state.html, "compute -msd/chunk"_compute_msd_chunk.html - -[Default:] - -The option default are com = no, average = no. diff --git a/doc/txt/compute_msd_chunk.txt b/doc/txt/compute_msd_chunk.txt deleted file mode 100644 index 12f54408d1dd1dad8d1a54de1ebedc13430a3da4..0000000000000000000000000000000000000000 --- a/doc/txt/compute_msd_chunk.txt +++ /dev/null @@ -1,120 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute msd/chunk command :h3 - -[Syntax:] - -compute ID group-ID msd/chunk chunkID :pre - -ID, group-ID are documented in "compute"_compute.html command -msd/chunk = style name of this compute command -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :ul - -[Examples:] - -compute 1 all msd/chunk molchunk :pre - -[Description:] - -Define a computation that calculates the mean-squared displacement -(MSD) for multiple chunks of atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -Four quantities are calculated by this compute for each chunk. The -first 3 quantities are the squared dx,dy,dz displacements of the -center-of-mass. The 4th component is the total squared displacement, -i.e. (dx*dx + dy*dy + dz*dz) of the center-of-mass. These -calculations include all effects due to atoms passing through periodic -boundaries. - -Note that only atoms in the specified group contribute to the -calculation. The "compute chunk/atom"_compute_chunk_atom.html command -defines its own group; atoms will have a chunk ID = 0 if they are not -in that group, signifying they are not assigned to a chunk, and will -thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. - -The slope of the mean-squared displacement (MSD) versus time is -proportional to the diffusion coefficient of the diffusing chunks. - -The displacement of the center-of-mass of the chunk is from its -original center-of-mass position, calculated on the timestep this -compute command was first invoked. - -NOTE: The number of chunks {Nchunk} calculated by the "compute -chunk/atom"_compute_chunk_atom.html command must remain constant each -time this compute is invoked, so that the displacement for each chunk -from its original position can be computed consistently. If {Nchunk} -does not remain constant, an error will be generated. If needed, you -can enforce a constant {Nchunk} by using the {nchunk once} or {ids -once} options when specifying the "compute -chunk/atom"_compute_chunk_atom.html command. - -NOTE: This compute stores the original position (of the -center-of-mass) of each chunk. When a displacement is calculated on a -later timestep, it is assumed that the same atoms are assigned to the -same chunk ID. However LAMMPS has no simple way to insure this is the -case, though you can use the {ids once} option when specifying the -"compute chunk/atom"_compute_chunk_atom.html command. Note that if -this is not the case, the MSD calculation does not have a sensible -meaning. - -NOTE: The initial coordinates of the atoms in each chunk are stored in -"unwrapped" form, by using the image flags associated with each atom. -See the "dump custom"_dump.html command for a discussion of -"unwrapped" coordinates. See the Atoms section of the -"read_data"_read_data.html command for a discussion of image flags and -how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the "set -image"_set.html command. - -NOTE: If you want the quantities calculated by this compute to be -continuous when running from a "restart file"_read_restart.html, then -you should use the same ID for this compute, as in the original run. -This is so that the fix this compute creates to store per-chunk -quantities will also have the same ID, and thus be initialized -correctly with chunk reference positions from the restart file. - -The simplest way to output the results of the compute msd/chunk -calculation to a file is to use the "fix ave/time"_fix_ave_time.html -command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk all msd/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -[Output info:] - -This compute calculates a global array where the number of rows = the -number of chunks {Nchunk} as calculated by the specified "compute -chunk/atom"_compute_chunk_atom.html command. The number of columns = -4 for dx,dy,dz and the total displacement. These values can be -accessed by any command that uses global array values from a compute -as input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -The array values are "intensive". The array values will be in -distance^2 "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute msd"_compute_msd.html - -[Default:] none diff --git a/doc/txt/compute_msd_nongauss.txt b/doc/txt/compute_msd_nongauss.txt deleted file mode 100644 index b745cf5a5bfc81404f91dd3789c5900a88944fb9..0000000000000000000000000000000000000000 --- a/doc/txt/compute_msd_nongauss.txt +++ /dev/null @@ -1,79 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute msd/nongauss command :h3 - -[Syntax:] - -compute ID group-ID msd/nongauss keyword values ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -msd/nongauss = style name of this compute command :l -zero or more keyword/value pairs may be appended :l -keyword = {com} :l - {com} value = {yes} or {no} :pre -:ule - -[Examples:] - -compute 1 all msd/nongauss -compute 1 upper msd/nongauss com yes :pre - -[Description:] - -Define a computation that calculates the mean-squared displacement -(MSD) and non-Gaussian parameter (NGP) of the group of atoms, -including all effects due to atoms passing through periodic boundaries. - -A vector of three quantities is calculated by this compute. The first -element of the vector is the total squared dx,dy,dz displacements -drsquared = (dx*dx + dy*dy + dz*dz) of atoms, and the second is the -fourth power of these displacements drfourth = (dx*dx + dy*dy + -dz*dz)*(dx*dx + dy*dy + dz*dz), summed and averaged over atoms in the -group. The 3rd component is the nonGaussian diffusion parameter NGP = -3*drfourth/(5*drsquared*drsquared), i.e. - -:c,image(Eqs/compute_msd_nongauss.jpg) - -The NGP is a commonly used quantity in studies of dynamical -heterogeneity. Its minimum theoretical value (-0.4) occurs when all -atoms have the same displacement magnitude. NGP=0 for Brownian -diffusion, while NGP > 0 when some mobile atoms move faster than -others. - -If the {com} option is set to {yes} then the effect of any drift in -the center-of-mass of the group of atoms is subtracted out before the -displacement of each atom is calculated. - -See the "compute msd"_compute_msd.html doc page for further important -NOTEs, which also apply to this compute. - -[Output info:] - -This compute calculates a global vector of length 3, which can be -accessed by indices 1-3 by any command that uses global vector values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The vector values are "intensive". The first vector value will be in -distance^2 "units"_units.html, the second is in distance^4 units, and -the 3rd is dimensionless. - -[Restrictions:] - -This compute is part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute msd"_compute_msd.html - -[Default:] - -The option default is com = no. diff --git a/doc/txt/compute_omega_chunk.txt b/doc/txt/compute_omega_chunk.txt deleted file mode 100644 index 393440759cfa78e6cc2ae6d549da72e0f2f5e0fb..0000000000000000000000000000000000000000 --- a/doc/txt/compute_omega_chunk.txt +++ /dev/null @@ -1,88 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute omega/chunk command :h3 - -[Syntax:] - -compute ID group-ID omega/chunk chunkID :pre - -ID, group-ID are documented in "compute"_compute.html command -omega/chunk = style name of this compute command -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :ul - -[Examples:] - -compute 1 fluid omega/chunk molchunk :pre - -[Description:] - -Define a computation that calculates the angular velocity (omega) of -multiple chunks of atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -This compute calculates the 3 components of the angular velocity -vector for each chunk, via the formula L = Iw where L is the angular -momentum vector of the chunk, I is its moment of inertia tensor, and w -is omega = angular velocity of the chunk. The calculation includes -all effects due to atoms passing through periodic boundaries. - -Note that only atoms in the specified group contribute to the -calculation. The "compute chunk/atom"_compute_chunk_atom.html command -defines its own group; atoms will have a chunk ID = 0 if they are not -in that group, signifying they are not assigned to a chunk, and will -thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. - -NOTE: The coordinates of an atom contribute to the chunk's angular -velocity in "unwrapped" form, by using the image flags associated with -each atom. See the "dump custom"_dump.html command for a discussion -of "unwrapped" coordinates. See the Atoms section of the -"read_data"_read_data.html command for a discussion of image flags and -how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the "set -image"_set.html command. - -The simplest way to output the results of the compute omega/chunk -calculation to a file is to use the "fix ave/time"_fix_ave_time.html -command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk all omega/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -[Output info:] - -This compute calculates a global array where the number of rows = the -number of chunks {Nchunk} as calculated by the specified "compute -chunk/atom"_compute_chunk_atom.html command. The number of columns = -3 for the 3 xyz components of the angular velocity for each chunk. -These values can be accessed by any command that uses global array -values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The array values are "intensive". The array values will be in -velocity/distance "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"variable omega() function"_variable.html - -[Default:] none diff --git a/doc/txt/compute_orientorder_atom.txt b/doc/txt/compute_orientorder_atom.txt deleted file mode 100644 index d59033f17988894b7345c47b5f097787fc5772f2..0000000000000000000000000000000000000000 --- a/doc/txt/compute_orientorder_atom.txt +++ /dev/null @@ -1,170 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute orientorder/atom command :h3 - -[Syntax:] - -compute ID group-ID orientorder/atom keyword values ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -orientorder/atom = style name of this compute command :l -one or more keyword/value pairs may be appended :l -keyword = {cutoff} or {nnn} or {degrees} or {components} - {cutoff} value = distance cutoff - {nnn} value = number of nearest neighbors - {degrees} values = nlvalues, l1, l2,... - {wl} value = yes or no - {wl/hat} value = yes or no - {components} value = ldegree :pre - -:ule - -[Examples:] - -compute 1 all orientorder/atom -compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5 -compute 1 all orientorder/atom wl/hat yes -compute 1 all orientorder/atom components 6 :pre - -[Description:] - -Define a computation that calculates a set of bond-orientational -order parameters {Ql} for each atom in a group. These order parameters -were introduced by "Steinhardt et al."_#Steinhardt as a way to -characterize the local orientational order in atomic structures. -For each atom, {Ql} is a real number defined as follows: - -:c,image(Eqs/orientorder.jpg) - -The first equation defines the spherical harmonic order parameters. -These are complex number components of the 3D analog of the 2D order -parameter {qn}, which is implemented as LAMMPS compute -"hexorder/atom"_compute_hexorder_atom.html. -The summation is over the {nnn} nearest -neighbors of the central atom. -The angles theta and phi are the standard spherical polar angles -defining the direction of the bond vector {rij}. -The second equation defines {Ql}, which is a -rotationally invariant non-negative amplitude obtained by summing -over all the components of degree {l}. - -The optional keyword {cutoff} defines the distance cutoff -used when searching for neighbors. The default value, also -the maximum allowable value, is the cutoff specified -by the pair style. - -The optional keyword {nnn} defines the number of nearest -neighbors used to calculate {Ql}. The default value is 12. -If the value is NULL, then all neighbors up to the -specified distance cutoff are used. - -The optional keyword {degrees} defines the list of order parameters to -be computed. The first argument {nlvalues} is the number of order -parameters. This is followed by that number of non-negative integers giving the -degree of each order parameter. Because {Q}2 and all odd-degree order -parameters are zero for atoms in cubic crystals (see -"Steinhardt"_#Steinhardt), the default order parameters are {Q}4, -{Q}6, {Q}8, {Q}10, and {Q}12. For the FCC crystal with {nnn} =12, {Q}4 -= sqrt(7/3)/8 = 0.19094.... The numerical values of all order -parameters up to {Q}12 for a range of commonly encountered -high-symmetry structures are given in Table I of "Mickel et -al."_#Mickel, and these can be reproduced with this compute - -The optional keyword {wl} will output the third-order invariants {Wl} -(see Eq. 1.4 in "Steinhardt"_#Steinhardt) for the same degrees as -for the {Ql} parameters. For the FCC crystal with {nnn} =12, -{W}4 = -sqrt(14/143).(49/4096)/Pi^1.5 = -0.0006722136... - -The optional keyword {wl/hat} will output the normalized third-order -invariants {Wlhat} (see Eq. 2.2 in "Steinhardt"_#Steinhardt) -for the same degrees as for the {Ql} parameters. For the FCC crystal -with {nnn} =12, {W}4hat = -7/3*sqrt(2/429) = -0.159317...The numerical -values of {Wlhat} for a range of commonly encountered high-symmetry -structures are given in Table I of "Steinhardt"_#Steinhardt, and these -can be reproduced with this keyword. - -The optional keyword {components} will output the components of the -normalized complex vector {Ybar_lm} of degree {ldegree}, which must be -explicitly included in the keyword {degrees}. This option can be used -in conjunction with "compute coord_atom"_compute_coord_atom.html to -calculate the ten Wolde's criterion to identify crystal-like -particles, as discussed in "ten Wolde"_#tenWolde2. - -The value of {Ql} is set to zero for atoms not in the -specified compute group, as well as for atoms that have less than -{nnn} neighbors within the distance cutoff, unless {nnn} is NULL. - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (i.e. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently. - -NOTE: If you have a bonded system, then the settings of -"special_bonds"_special_bonds.html command can remove pairwise -interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the "special_bonds"_special_bonds.html -command, and means those pairwise interactions do not appear in the -neighbor list. Because this fix uses the neighbor list, it also means -those pairs will not be included in the order parameter. This -difficulty can be circumvented by writing a dump file, and using the -"rerun"_rerun.html command to compute the order parameter for -snapshots in the dump file. The rerun script can use a -"special_bonds"_special_bonds.html command that includes all pairs in -the neighbor list. - -[Output info:] - -This compute calculates a per-atom array with {nlvalues} columns, -giving the {Ql} values for each atom, which are real numbers on the -range 0 <= {Ql} <= 1. - -If the keyword {wl} is set to yes, then the {Wl} values for each -atom will be added to the output array, which are real numbers. - -If the keyword {wl/hat} is set to yes, then the {Wl_hat} -values for each atom will be added to the output array, which are real numbers. - -If the keyword {components} is set, then the real and imaginary parts -of each component of (normalized) {Ybar_lm} will be added to the -output array in the following order: Re({Ybar_-m}) Im({Ybar_-m}) -Re({Ybar_-m+1}) Im({Ybar_-m+1}) ... Re({Ybar_m}) Im({Ybar_m}). This -way, the per-atom array will have a total of {nlvalues}+2*(2{l}+1) -columns. - -These values can be accessed by any command that uses per-atom values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -[Restrictions:] none - -[Related commands:] - -"compute coord/atom"_compute_coord_atom.html, "compute -centro/atom"_compute_centro_atom.html, "compute -hexorder/atom"_compute_hexorder_atom.html - -[Default:] - -The option defaults are {cutoff} = pair style cutoff, {nnn} = 12, -{degrees} = 5 4 6 8 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12, -{wl} = no, {wl/hat} = no, and {components} off - -:line - -:link(Steinhardt) -[(Steinhardt)] P. Steinhardt, D. Nelson, and M. Ronchetti, -Phys. Rev. B 28, 784 (1983). - -:link(Mickel) -[(Mickel)] W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke, -J. Chem. Phys. 138, 044501 (2013). - -:link(tenWolde2) -[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, -J. Chem. Phys. 104, 9932 (1996). diff --git a/doc/txt/compute_pair.txt b/doc/txt/compute_pair.txt deleted file mode 100644 index c1bd4f74d982f5299f4999a1b0ffcaf5eeccf504..0000000000000000000000000000000000000000 --- a/doc/txt/compute_pair.txt +++ /dev/null @@ -1,92 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute pair command :h3 - -[Syntax:] - -compute ID group-ID pair pstyle \[nstyle\] \[evalue\] :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -pair = style name of this compute command :l -pstyle = style name of a pair style that calculates additional values :l -nsub = {n}-instance of a sub-style, if a pair style is used multiple times in a hybrid style :l -{evalue} = {epair} or {evdwl} or {ecoul} or blank (optional) :l -:ule - -[Examples:] - -compute 1 all pair gauss -compute 1 all pair lj/cut/coul/cut ecoul -compute 1 all pair tersoff 2 epair -compute 1 all pair reax/c :pre - -[Description:] - -Define a computation that extracts additional values calculated by a -pair style, and makes them accessible for output or further processing -by other commands. - -NOTE: The group specified for this command is [ignored]. - -The specified {pstyle} must be a pair style used in your simulation -either by itself or as a sub-style in a "pair_style hybrid or -hybrid/overlay"_pair_hybrid.html command. If the sub-style is -used more than once, an additional number {nsub} has to be specified -in order to choose which instance of the sub-style will be used by -the compute. Not specifying the number in this case will cause the -compute to fail. - -The {evalue} setting is optional. All -pair styles tally a potential energy {epair} which may be broken into -two parts: {evdwl} and {ecoul} such that {epair} = {evdwl} + {ecoul}. -If the pair style calculates Coulombic interactions, their energy will -be tallied in {ecoul}. Everything else (whether it is a Lennard-Jones -style van der Waals interaction or not) is tallied in {evdwl}. If -{evalue} is blank or specified as {epair}, then {epair} is stored -as a global scalar by this compute. This is useful when using -"pair_style hybrid"_pair_hybrid.html if you want to know the portion -of the total energy contributed by one sub-style. If {evalue} is -specified as {evdwl} or {ecoul}, then just that portion of the energy -is stored as a global scalar. - -NOTE: The energy returned by the {evdwl} keyword does not include tail -corrections, even if they are enabled via the -"pair_modify"_pair_modify.html command. - -Some pair styles tally additional quantities, e.g. a breakdown of -potential energy into 14 components is tallied by the "pair_style -reax/c"_pair_reaxc.html command. These values (1 or more) -are stored as a global vector by this compute. See the doc page for -"individual pair styles"_pair_style.html for info on these values. - -[Output info:] - -This compute calculates a global scalar which is {epair} or {evdwl} or -{ecoul}. If the pair style supports it, it also calculates a global -vector of length >= 1, as determined by the pair style. These values -can be used by any command that uses global scalar or vector values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The scalar and vector values calculated by this compute are -"extensive". - -The scalar value will be in energy "units"_units.html. The vector -values will typically also be in energy "units"_units.html, but see -the doc page for the pair style for details. - -[Restrictions:] none - -[Related commands:] - -"compute pe"_compute_pe.html, "compute bond"_compute_bond.html - -[Default:] - -The keyword defaults are {evalue} = {epair}, nsub = 0. diff --git a/doc/txt/compute_pair_local.txt b/doc/txt/compute_pair_local.txt deleted file mode 100644 index 10ff68958210b2a1274f80f51e0b7271fcc991da..0000000000000000000000000000000000000000 --- a/doc/txt/compute_pair_local.txt +++ /dev/null @@ -1,157 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute pair/local command :h3 - -[Syntax:] - -compute ID group-ID pair/local value1 value2 ... keyword args ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -pair/local = style name of this compute command :l -one or more values may be appended :l -value = {dist} or {eng} or {force} or {fx} or {fy} or {fz} or {pN} :l - {dist} = pairwise distance - {eng} = pairwise energy - {force} = pairwise force - {fx},{fy},{fz} = components of pairwise force - {pN} = pair style specific quantities for allowed N values :pre -zero or more keyword/arg pairs may be appended :l -keyword = {cutoff} :l - {cutoff} arg = {type} or {radius} :pre -:ule - -[Examples:] - -compute 1 all pair/local eng -compute 1 all pair/local dist eng force -compute 1 all pair/local dist eng fx fy fz -compute 1 all pair/local dist fx fy fz p1 p2 p3 :pre - -[Description:] - -Define a computation that calculates properties of individual pairwise -interactions. The number of datums generated, aggregated across all -processors, equals the number of pairwise interactions in the system. - -The local data stored by this command is generated by looping over the -pairwise neighbor list. Info about an individual pairwise interaction -will only be included if both atoms in the pair are in the specified -compute group, and if the current pairwise distance is less than the -force cutoff distance for that interaction, as defined by the -"pair_style"_pair_style.html and "pair_coeff"_pair_coeff.html -commands. - -The value {dist} is the distance between the pair of atoms. - -The value {eng} is the interaction energy for the pair of atoms. - -The value {force} is the force acting between the pair of atoms, which -is positive for a repulsive force and negative for an attractive -force. The values {fx}, {fy}, and {fz} are the xyz components of -{force} on atom I. - -A pair style may define additional pairwise quantities which can be -accessed as {p1} to {pN}, where N is defined by the pair style. Most -pair styles do not define any additional quantities, so N = 0. An -example of ones that do are the "granular pair styles"_pair_gran.html -which calculate the tangential force between two particles and return -its components and magnitude acting on atom I for N = 1,2,3,4. See -individual pair styles for details. - -When using {pN} with pair style {hybrid}, the output will be the Nth -quantity from the sub-style that computes the pairwise interaction -(based on atom types). If that sub-style does not define a {pN}, -the output will be 0.0. The maximum allowed N is the maximum number -of quantities provided by any sub-style. - -When using {pN} with pair style {hybrid/overlay} the quantities -from all sub-styles that provide them are concatenated together -into one long list. For example, if there are 3 sub-styles and -2 of them have additional output (with 3 and 4 quantities, -respectively), then 7 values ({p1} up to {p7}) are defined. -The values {p1} to {p3} refer to quantities defined by the first -of the two sub-styles. Values {p4} to {p7} refer to quantities -from the second of the two sub-styles. If the referenced {pN} -is not computed for the specific pairwise interaction (based on -atom types), then the output will be 0.0. - -The value {dist} will be in distance "units"_units.html. The value -{eng} will be in energy "units"_units.html. The values {force}, {fx}, -{fy}, and {fz} will be in force "units"_units.html. The values {pN} -will be in whatever units the pair style defines. - -The optional {cutoff} keyword determines how the force cutoff distance -for an interaction is determined. For the default setting of {type}, -the pairwise cutoff defined by the "pair_style"_pair_style.html -command for the types of the two atoms is used. For the {radius} -setting, the sum of the radii of the two particles is used as a -cutoff. For example, this is appropriate for granular particles which -only interact when they are overlapping, as computed by "granular pair -styles"_pair_gran.html. Note that if a granular model defines atom -types such that all particles of a specific type are monodisperse -(same diameter), then the two settings are effectively identical. - -Note that as atoms migrate from processor to processor, there will be -no consistent ordering of the entries within the local vector or array -from one timestep to the next. The only consistency that is -guaranteed is that the ordering on a particular timestep will be the -same for local vectors or arrays generated by other compute commands. -For example, pair output from the "compute -property/local"_compute_property_local.html command can be combined -with data from this command and output by the "dump local"_dump.html -command in a consistent way. - -Here is an example of how to do this: - -compute 1 all property/local patom1 patom2 -compute 2 all pair/local dist eng force -dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_2\[1\] c_2\[2\] c_2\[3\] :pre - -NOTE: For pairs, if two atoms I,J are involved in 1-2, 1-3, 1-4 -interactions within the molecular topology, their pairwise interaction -may be turned off, and thus they may not appear in the neighbor list, -and will not be part of the local data created by this command. More -specifically, this will be true of I,J pairs with a weighting factor -of 0.0; pairs with a non-zero weighting factor are included. The -weighting factors for 1-2, 1-3, and 1-4 pairwise interactions are set -by the "special_bonds"_special_bonds.html command. An exception is if -long-range Coulombics are being computed via the -"kspace_style"_kspace_style.html command, then atom pairs with -weighting factors of zero are still included in the neighbor list, so -that a portion of the long-range interaction contribution can be -computed in the pair style. Hence in that case, those atom pairs will -be part of the local data created by this command. - -[Output info:] - -This compute calculates a local vector or local array depending on the -number of keywords. The length of the vector or number of rows in the -array is the number of pairs. If a single keyword is specified, a -local vector is produced. If two or more keywords are specified, a -local array is produced where the number of columns = the number of -keywords. The vector or array can be accessed by any command that -uses local values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The output for {dist} will be in distance "units"_units.html. The -output for {eng} will be in energy "units"_units.html. The output for -{force}, {fx}, {fy}, and {fz} will be in force "units"_units.html. -The output for {pN} will be in whatever units the pair style defines. - -[Restrictions:] none - -[Related commands:] - -"dump local"_dump.html, "compute -property/local"_compute_property_local.html - -[Default:] - -The keyword default is cutoff = type. diff --git a/doc/txt/compute_pe.txt b/doc/txt/compute_pe.txt deleted file mode 100644 index 37655dfd480c8bb48b2b722436f5b6b0d15f5e6d..0000000000000000000000000000000000000000 --- a/doc/txt/compute_pe.txt +++ /dev/null @@ -1,79 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute pe command :h3 - -[Syntax:] - -compute ID group-ID pe keyword ... :pre - -ID, group-ID are documented in "compute"_compute.html command -pe = style name of this compute command -zero or more keywords may be appended -keyword = {pair} or {bond} or {angle} or {dihedral} or {improper} or {kspace} or {fix} :ul - -[Examples:] - -compute 1 all pe -compute molPE all pe bond angle dihedral improper :pre - -[Description:] - -Define a computation that calculates the potential energy of the -entire system of atoms. The specified group must be "all". See the -"compute pe/atom"_compute_pe_atom.html command if you want per-atom -energies. These per-atom values could be summed for a group of atoms -via the "compute reduce"_compute_reduce.html command. - -The energy is calculated by the various pair, bond, etc potentials -defined for the simulation. If no extra keywords are listed, then the -potential energy is the sum of pair, bond, angle, dihedral, improper, -kspace (long-range), and fix energy. I.e. it is as if all the -keywords were listed. If any extra keywords are listed, then only -those components are summed to compute the potential energy. - -The Kspace contribution requires 1 extra FFT each timestep the energy -is calculated, if using the PPPM solver via the "kspace_style -pppm"_kspace_style.html command. Thus it can increase the cost of the -PPPM calculation if it is needed on a large fraction of the simulation -timesteps. - -Various fixes can contribute to the total potential energy of the -system if the {fix} contribution is included. See the doc pages for -"individual fixes"_fix.html for details of which ones compute a -potential energy. - -NOTE: The "fix_modify energy yes"_fix_modify.html command must also be -specified if a fix is to contribute potential energy to this command. - -A compute of this style with the ID of "thermo_pe" is created when -LAMMPS starts up, as if this command were in the input script: - -compute thermo_pe all pe :pre - -See the "thermo_style" command for more details. - -:line - -[Output info:] - -This compute calculates a global scalar (the potential energy). This -value can be used by any command that uses a global scalar value from -a compute as input. See the "Howto output"_Howto_output.html doc page -for an overview of LAMMPS output options. - -The scalar value calculated by this compute is "extensive". The -scalar value will be in energy "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute pe/atom"_compute_pe_atom.html - -[Default:] none diff --git a/doc/txt/compute_pe_atom.txt b/doc/txt/compute_pe_atom.txt deleted file mode 100644 index 400621f8df1d50b921c2ad870df98b8cdf578784..0000000000000000000000000000000000000000 --- a/doc/txt/compute_pe_atom.txt +++ /dev/null @@ -1,101 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute pe/atom command :h3 - -[Syntax:] - -compute ID group-ID pe/atom keyword ... :pre - -ID, group-ID are documented in "compute"_compute.html command -pe/atom = style name of this compute command -zero or more keywords may be appended -keyword = {pair} or {bond} or {angle} or {dihedral} or {improper} or {kspace} or {fix} :ul - -[Examples:] - -compute 1 all pe/atom -compute 1 all pe/atom pair -compute 1 all pe/atom pair bond :pre - -[Description:] - -Define a computation that computes the per-atom potential energy for -each atom in a group. See the "compute pe"_compute_pe.html command if -you want the potential energy of the entire system. - -The per-atom energy is calculated by the various pair, bond, etc -potentials defined for the simulation. If no extra keywords are -listed, then the potential energy is the sum of pair, bond, angle, -dihedral,improper, kspace (long-range), and fix energy. I.e. it is as -if all the keywords were listed. If any extra keywords are listed, -then only those components are summed to compute the potential energy. - -Note that the energy of each atom is due to its interaction with all -other atoms in the simulation, not just with other atoms in the group. - -For an energy contribution produced by a small set of atoms (e.g. 4 -atoms in a dihedral or 3 atoms in a Tersoff 3-body interaction), that -energy is assigned in equal portions to each atom in the set. -E.g. 1/4 of the dihedral energy to each of the 4 atoms. - -The "dihedral_style charmm"_dihedral_charmm.html style calculates -pairwise interactions between 1-4 atoms. The energy contribution of -these terms is included in the pair energy, not the dihedral energy. - -The KSpace contribution is calculated using the method in -"(Heyes)"_#Heyes1 for the Ewald method and a related method for PPPM, -as specified by the "kspace_style pppm"_kspace_style.html command. -For PPPM, the calculation requires 1 extra FFT each timestep that -per-atom energy is calculated. This "document"_PDF/kspace.pdf -describes how the long-range per-atom energy calculation is performed. - -Various fixes can contribute to the per-atom potential energy of the -system if the {fix} contribution is included. See the doc pages for -"individual fixes"_fix.html for details of which ones compute a -per-atom potential energy. - -NOTE: The "fix_modify energy yes"_fix_modify.html command must also be -specified if a fix is to contribute per-atom potential energy to this -command. - -As an example of per-atom potential energy compared to total potential -energy, these lines in an input script should yield the same result -in the last 2 columns of thermo output: - -compute peratom all pe/atom -compute pe all reduce sum c_peratom -thermo_style custom step temp etotal press pe c_pe :pre - -NOTE: The per-atom energy does not include any Lennard-Jones tail -corrections to the energy added by the "pair_modify tail -yes"_pair_modify.html command, since those are contributions to the -global system energy. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values will be in energy "units"_units.html. - -[Restrictions:] - -[Related commands:] - -"compute pe"_compute_pe.html, "compute -stress/atom"_compute_stress_atom.html - -[Default:] none - -:line - -:link(Heyes1) -[(Heyes)] Heyes, Phys Rev B 49, 755 (1994), diff --git a/doc/txt/compute_plasticity_atom.txt b/doc/txt/compute_plasticity_atom.txt deleted file mode 100644 index 6c21cecd6c31de689a48df7f8f42a3570a6268a8..0000000000000000000000000000000000000000 --- a/doc/txt/compute_plasticity_atom.txt +++ /dev/null @@ -1,68 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute plasticity/atom command :h3 - -[Syntax:] - -compute ID group-ID plasticity/atom :pre - -ID, group-ID are documented in compute command -plasticity/atom = style name of this compute command :ul - -[Examples:] - -compute 1 all plasticity/atom :pre - -[Description:] - -Define a computation that calculates the per-atom plasticity for each -atom in a group. This is a quantity relevant for "Peridynamics -models"_pair_peri.html. See "this document"_PDF/PDLammps_overview.pdf -for an overview of LAMMPS commands for Peridynamics modeling. - -The plasticity for a Peridynamic particle is the so-called consistency -parameter (lambda). For elastic deformation lambda = 0, otherwise -lambda > 0 for plastic deformation. For details, see -"(Mitchell)"_#Mitchell and the PDF doc included in the LAMMPS -distribution in "doc/PDF/PDLammps_EPS.pdf"_PDF/PDLammps_EPS.pdf. - -This command can be invoked for one of the Peridynamic "pair -styles"_pair_peri.html: peri/eps. - -The plasticity value will be 0.0 for atoms not in the specified -compute group. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-atom vector values are unitless numbers (lambda) >= 0.0. - -[Restrictions:] - -This compute is part of the PERI package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute damage/atom"_compute_damage_atom.html, -"compute dilatation/atom"_compute_dilatation_atom.html - -[Default:] none - -:line - -:link(Mitchell) -[(Mitchell)] Mitchell, "A non-local, ordinary-state-based -viscoelasticity model for peridynamics", Sandia National Lab Report, -8064:1-28 (2011). diff --git a/doc/txt/compute_pressure.txt b/doc/txt/compute_pressure.txt deleted file mode 100644 index 9b27413cfcb171edc249d28657c38bbf8e65a34e..0000000000000000000000000000000000000000 --- a/doc/txt/compute_pressure.txt +++ /dev/null @@ -1,157 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute pressure command :h3 - -[Syntax:] - -compute ID group-ID pressure temp-ID keyword ... :pre - -ID, group-ID are documented in "compute"_compute.html command -pressure = style name of this compute command -temp-ID = ID of compute that calculates temperature, can be NULL if not needed -zero or more keywords may be appended -keyword = {ke} or {pair} or {bond} or {angle} or {dihedral} or {improper} or {kspace} or {fix} or {virial} or {pair/hybrid} :ul - -[Examples:] - -compute 1 all pressure thermo_temp -compute 1 all pressure NULL pair bond -compute 1 all pressure NULL pair/hybrid lj/cut :pre - -[Description:] - -Define a computation that calculates the pressure of the entire system -of atoms. The specified group must be "all". See the "compute -stress/atom"_compute_stress_atom.html command if you want per-atom -pressure (stress). These per-atom values could be summed for a group -of atoms via the "compute reduce"_compute_reduce.html command. - -The pressure is computed by the formula - -:c,image(Eqs/pressure.jpg) - -where N is the number of atoms in the system (see discussion of DOF -below), Kb is the Boltzmann constant, T is the temperature, d is the -dimensionality of the system (2 or 3 for 2d/3d), and V is the system -volume (or area in 2d). The second term is the virial, equal to --dU/dV, computed for all pairwise as well as 2-body, 3-body, 4-body, -many-body, and long-range interactions, where r_i and f_i are the -position and force vector of atom i, and the black dot indicates a dot -product. When periodic boundary conditions are used, N' necessarily -includes periodic image (ghost) atoms outside the central box, and the -position and force vectors of ghost atoms are thus included in the -summation. When periodic boundary conditions are not used, N' = N = -the number of atoms in the system. "Fixes"_fix.html that impose -constraints (e.g. the "fix shake"_fix_shake.html command) also -contribute to the virial term. - -A symmetric pressure tensor, stored as a 6-element vector, is also -calculated by this compute. The 6 components of the vector are -ordered xx, yy, zz, xy, xz, yz. The equation for the I,J components -(where I and J = x,y,z) is similar to the above formula, except that -the first term uses components of the kinetic energy tensor and the -second term uses components of the virial tensor: - -:c,image(Eqs/pressure_tensor.jpg) - -If no extra keywords are listed, the entire equations above are -calculated. This includes a kinetic energy (temperature) term and the -virial as the sum of pair, bond, angle, dihedral, improper, kspace -(long-range), and fix contributions to the force on each atom. If any -extra keywords are listed, then only those components are summed to -compute temperature or ke and/or the virial. The {virial} keyword -means include all terms except the kinetic energy {ke}. - -The {pair/hybrid} keyword means to only include contribution -from a sub-style in a {hybrid} or {hybrid/overlay} pair style. - -Details of how LAMMPS computes the virial efficiently for the entire -system, including for many-body potentials and accounting for the -effects of periodic boundary conditions are discussed in -"(Thompson)"_#Thompson1. - -The temperature and kinetic energy tensor is not calculated by this -compute, but rather by the temperature compute specified with the -command. If the kinetic energy is not included in the pressure, than -the temperature compute is not used and can be specified as NULL. -Normally the temperature compute used by compute pressure should -calculate the temperature of all atoms for consistency with the virial -term, but any compute style that calculates temperature can be used, -e.g. one that excludes frozen atoms or other degrees of freedom. - -Note that if desired the specified temperature compute can be one that -subtracts off a bias to calculate a temperature using only the thermal -velocity of the atoms, e.g. by subtracting a background streaming -velocity. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. - -Also note that the N in the first formula above is really -degrees-of-freedom divided by d = dimensionality, where the DOF value -is calculated by the temperature compute. See the various "compute -temperature"_compute.html styles for details. - -A compute of this style with the ID of "thermo_press" is created when -LAMMPS starts up, as if this command were in the input script: - -compute thermo_press all pressure thermo_temp :pre - -where "thermo_temp" is the ID of a similarly defined compute of style -"temp". See the "thermo_style" command for more details. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Output info:] - -This compute calculates a global scalar (the pressure) and a global -vector of length 6 (pressure tensor), which can be accessed by indices -1-6. These values can be used by any command that uses global scalar -or vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar and vector values calculated by this compute are -"intensive". The scalar and vector values will be in pressure -"units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute temp"_compute_temp.html, "compute -stress/atom"_compute_stress_atom.html, -"thermo_style"_thermo_style.html, - -[Default:] none - -:line - -:link(Thompson1) -[(Thompson)] Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009). diff --git a/doc/txt/compute_pressure_cylinder.txt b/doc/txt/compute_pressure_cylinder.txt deleted file mode 100644 index 5cca9ea3a5387dc67e7949dae3dcd5f8526204ad..0000000000000000000000000000000000000000 --- a/doc/txt/compute_pressure_cylinder.txt +++ /dev/null @@ -1,81 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -compute pressure/cylinder command :h3 - -[Syntax:] - -compute ID group-ID pressure/cylinder zlo zhi Rmax bin_width :pre - -ID, group-ID are documented in "compute"_compute.html command -pressure/cylinder = style name of this compute command -zlo = minimum z-boundary for cylinder -zhi = maximum z-boundary for cylinder -Rmax = maximum radius to perform calculation to -bin_width = width of radial bins to use for calculation :ul - -[Examples:] - -compute 1 all pressure/cylinder -10.0 10.0 15.0 0.25 :pre - -[Description:] - -Define a computation that calculates the pressure tensor of a system in -cylindrical coordinates, as discussed in "(Addington)"_#Addington1. -This is useful for systems with a single axis of rotational symmetry, -such as cylindrical micelles or carbon nanotubes. The compute splits the -system into radial, cylindrical-shell-type bins of width bin_width, -centered at x=0,y=0, and calculates the radial (P_rhorho), azimuthal -(P_phiphi), and axial (P_zz) components of the configurational pressure -tensor. The local density is also calculated for each bin, so that the -true pressure can be recovered as P_kin+P_conf=density*k*T+P_conf. The -output is a global array with 5 columns; one each for bin radius, local -number density, P_rhorho, P_phiphi, and P_zz. The number of rows is -governed by the values of Rmax and bin_width. Pressure tensor values are -output in pressure units. - -[Output info:] - -This compute calculates a global array with 5 columns and Rmax/bin_width -rows. The output columns are: R (distance units), number density (inverse -volume units), configurational radial pressure (pressure units), -configurational azimuthal pressure (pressure units), and configurational -axial pressure (pressure units). - -The values calculated by this compute are -"intensive". The pressure values will be in pressure -"units"_units.html. The number density values will be in -inverse volume "units"_units.html. - -[Restrictions:] - -This compute currently calculates the pressure tensor contributions -for pair styles only (i.e. no bond, angle, dihedral, etc. contributions -and in the presence of bonded interactions, the result will be incorrect -due to exclusions for special bonds) and requires pair-wise force -calculations not available for most many-body pair styles. K-space -calculations are also excluded. Note that this pressure compute outputs -the configurational terms only; the kinetic contribution is not included -and may be calculated from the number density output by P_kin=density*k*T. - -This compute is part of the USER-MISC package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute temp"_compute_temp.html, "compute -stress/atom"_compute_stress_atom.html, -"thermo_style"_thermo_style.html, - -[Default:] none - -:line - -:link(Addington1) -[(Addington)] Addington, Long, Gubbins, J Chem Phys, 149, 084109 (2018). diff --git a/doc/txt/compute_pressure_uef.txt b/doc/txt/compute_pressure_uef.txt deleted file mode 100644 index 72ed0ba5c4003af0a1ca3881baf190a93f6db58d..0000000000000000000000000000000000000000 --- a/doc/txt/compute_pressure_uef.txt +++ /dev/null @@ -1,61 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute pressure/uef command :h3 - -[Syntax:] - -compute ID group-ID pressure/uef temp-ID keyword ... :pre - -ID, group-ID are documented in "compute"_compute.html command -pressure/uef = style name of this compute command -temp-ID = ID of compute that calculates temperature, can be NULL if not needed -zero or more keywords may be appended -keyword = {ke} or {pair} or {bond} or {angle} or {dihedral} or {improper} or {kspace} or {fix} or {virial} :ul - -[Examples:] - -compute 1 all pressure/uef my_temp_uef -compute 2 all pressure/uef my_temp_uef virial :pre - -[Description:] - -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. -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 -"compute_pressure"_compute_pressure.html. - -[Restrictions:] - -This fix is part of the USER-UEF package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -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 specified by {temp-ID} is a -"compute temp/uef"_compute_temp_uef.html. - -[Related commands:] - -"compute pressure"_compute_pressure.html, -"fix nvt/uef"_fix_nh_uef.html, -"compute temp/uef"_compute_temp_uef.html - -[Default:] none - - diff --git a/doc/txt/compute_property_atom.txt b/doc/txt/compute_property_atom.txt deleted file mode 100644 index a0c8579283c8ae187f128d4f2c502765c4800b5b..0000000000000000000000000000000000000000 --- a/doc/txt/compute_property_atom.txt +++ /dev/null @@ -1,172 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute property/atom command :h3 - -[Syntax:] - -compute ID group-ID property/atom input1 input2 ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -property/atom = style name of this compute command :l -input = one or more atom attributes :l - possible attributes = id, mol, proc, type, mass, - x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, - vx, vy, vz, fx, fy, fz, - q, mux, muy, muz, mu, - sp, spx, spy, spz, fmx, fmy, fmz, - radius, diameter, omegax, omegay, omegaz, - angmomx, angmomy, angmomz, - shapex,shapey, shapez, - quatw, quati, quatj, quatk, tqx, tqy, tqz, - end1x, end1y, end1z, end2x, end2y, end2z, - corner1x, corner1y, corner1z, - corner2x, corner2y, corner2z, - corner3x, corner3y, corner3z, - nbonds, - vfrac, s0, - spin, eradius, ervel, erforce, - rho, drho, e, de, cv, - i_name, d_name :pre - id = atom ID - mol = molecule ID - proc = ID of processor that owns atom - type = atom type - mass = atom mass - x,y,z = unscaled atom coordinates - xs,ys,zs = scaled atom coordinates - xu,yu,zu = unwrapped atom coordinates - ix,iy,iz = box image that the atom is in - vx,vy,vz = atom velocities - fx,fy,fz = forces on atoms - q = atom charge - mux,muy,muz = orientation of dipole moment of atom - mu = magnitude of dipole moment of atom - sp = atomic magnetic spin moment - spx, spy, spz = direction of the atomic magnetic spin - fmx, fmy, fmz = magnetic force - radius,diameter = radius,diameter of spherical particle - omegax,omegay,omegaz = angular velocity of spherical particle - angmomx,angmomy,angmomz = angular momentum of aspherical particle - shapex,shapey,shapez = 3 diameters of aspherical particle - quatw,quati,quatj,quatk = quaternion components for aspherical or body particles - tqx,tqy,tqz = torque on finite-size particles - end12x, end12y, end12z = end points of line segment - corner123x, corner123y, corner123z = corner points of triangle - nbonds = number of bonds assigned to an atom :pre - - PERI package per-atom properties: - vfrac = ??? - s0 = ??? :pre - - USER-EFF and USER-AWPMD package per-atom properties: - spin = electron spin - eradius = electron radius - ervel = electron radial velocity - erforce = electron radial force :pre - - USER-SPH package per-atom properties: - rho = ??? - drho = ??? - e = ??? - de = ??? - cv = ??? :pre - - "fix property/atom"_fix_property_atom.html per-atom properties: - i_name = custom integer vector with name - d_name = custom integer vector with name :pre -:ule - -[Examples:] - -compute 1 all property/atom xs vx fx mux -compute 2 all property/atom type -compute 1 all property/atom ix iy iz -compute 3 all property/atom sp spx spy spz :pre - -[Description:] - -Define a computation that simply stores atom attributes for each atom -in the group. This is useful so that the values can be used by other -"output commands"_Howto_output.html that take computes as inputs. See -for example, the "compute reduce"_compute_reduce.html, "fix -ave/atom"_fix_ave_atom.html, "fix ave/histo"_fix_ave_histo.html, "fix -ave/chunk"_fix_ave_chunk.html, and "atom-style variable"_variable.html -commands. - -The list of possible attributes is the same as that used by the "dump -custom"_dump.html command, which describes their meaning, with some -additional quantities that are only defined for certain "atom -styles"_atom_style.html. Basically, this augmented list gives an -input script access to any per-atom quantity stored by LAMMPS. - -The values are stored in a per-atom vector or array as discussed -below. Zeroes are stored for atoms not in the specified group or for -quantities that are not defined for a particular particle in the group -(e.g. {shapex} if the particle is not an ellipsoid). - -The additional quantities only accessible via this command, and not -directly via the "dump custom"_dump.html command, are as follows. - -{Shapex}, {shapey}, and {shapez} are defined for ellipsoidal particles -and define the 3d shape of each particle. - -{Quatw}, {quati}, {quatj}, and {quatk} are defined for ellipsoidal -particles and body particles and store the 4-vector quaternion -representing the orientation of each particle. See the "set"_set.html -command for an explanation of the quaternion vector. - -{End1x}, {end1y}, {end1z}, {end2x}, {end2y}, {end2z}, are defined for -line segment particles and define the end points of each line segment. - -{Corner1x}, {corner1y}, {corner1z}, {corner2x}, {corner2y}, -{corner2z}, {corner3x}, {corner3y}, {corner3z}, are defined for -triangular particles and define the corner points of each triangle. - -{Nbonds} is available for all molecular atom styles and refers to the -number of explicit bonds assigned to an atom. Note that if the -"newton bond"_newton.html command is set to {on}, which is the -default, then every bond in the system is assigned to only one of the -two atoms in the bond. Thus a bond between atoms I,J may be tallied -for either atom I or atom J. If "newton bond off"_newton.html is set, -it will be tallied with both atom I and atom J. - -The {i_name} and {d_name} attributes refer to custom integer and -floating-point properties that have been added to each atom via the -"fix property/atom"_fix_property_atom.html command. When that command -is used specific names are given to each attribute which are what is -specified as the "name" portion of {i_name} or {d_name}. - -[Output info:] - -This compute calculates a per-atom vector or per-atom array depending -on the number of input values. If a single input is specified, a -per-atom vector is produced. If two or more inputs are specified, a -per-atom array is produced where the number of columns = the number of -inputs. The vector or array can be accessed by any command that uses -per-atom values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The vector or array values will be in whatever "units"_units.html the -corresponding attribute is in, e.g. velocity units for vx, charge -units for q, etc. - -For the spin quantities, sp is in the units of the Bohr magneton, spx, -spy, and spz are unitless quantities, and fmx, fmy and fmz are given -in rad/THz. - -[Restrictions:] none - -[Related commands:] - -"dump custom"_dump.html, "compute reduce"_compute_reduce.html, "fix -ave/atom"_fix_ave_atom.html, "fix ave/chunk"_fix_ave_chunk.html, -"fix property/atom"_fix_property_atom.html - -[Default:] none diff --git a/doc/txt/compute_property_chunk.txt b/doc/txt/compute_property_chunk.txt deleted file mode 100644 index a30b5a1f0a5526421610cc06946328874c762115..0000000000000000000000000000000000000000 --- a/doc/txt/compute_property_chunk.txt +++ /dev/null @@ -1,117 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute property/chunk command :h3 - -[Syntax:] - -compute ID group-ID property/chunk chunkID input1 input2 ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -property/chunk = style name of this compute command :l -input = one or more attributes :l - attributes = count, id, coord1, coord2, coord3 - count = # of atoms in chunk - id = original chunk IDs before compression by "compute chunk/atom"_compute_chunk_atom.html - coord123 = coordinates for spatial bins calculated by "compute chunk/atom"_compute_chunk_atom.html :pre -:ule - -[Examples:] - -compute 1 all property/chunk count -compute 1 all property/chunk ID coord1 :pre - -[Description:] - -Define a computation that stores the specified attributes of chunks of -atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -This compute calculates and stores the specified attributes of chunks -as global data so they can be accessed by other "output -commands"_Howto_output.html and used in conjunction with other -commands that generate per-chunk data, such as "compute -com/chunk"_compute_com_chunk.html or "compute -msd/chunk"_compute_msd_chunk.html. - -Note that only atoms in the specified group contribute to the -calculation of the {count} attribute. The "compute -chunk/atom"_compute_chunk_atom.html command defines its own group; -atoms will have a chunk ID = 0 if they are not in that group, -signifying they are not assigned to a chunk, and will thus also not -contribute to this calculation. You can specify the "all" group for -this command if you simply want to include atoms with non-zero chunk -IDs. - -The {count} attribute is the number of atoms in the chunk. - -The {id} attribute stores the original chunk ID for each chunk. It -can only be used if the {compress} keyword was set to {yes} for the -"compute chunk/atom"_compute_chunk_atom.html command referenced by -chunkID. This means that the original chunk IDs (e.g. molecule IDs) -will have been compressed to remove chunk IDs with no atoms assigned -to them. Thus a compressed chunk ID of 3 may correspond to an original -chunk ID (molecule ID in this case) of 415. The {id} attribute will -then be 415 for the 3rd chunk. - -The {coordN} attributes can only be used if a {binning} style was used -in the "compute chunk/atom"_compute_chunk_atom.html command referenced -by chunkID. For {bin/1d}, {bin/2d}, and {bin/3d} styles the attribute -is the center point of the bin in the corresponding dimension. Style -{bin/1d} only defines a {coord1} attribute. Style {bin/2d} adds a -{coord2} attribute. Style {bin/3d} adds a {coord3} attribute. - -Note that if the value of the {units} keyword used in the "compute -chunk/atom command"_compute_chunk_atom.html is {box} or {lattice}, the -{coordN} attributes will be in distance "units"_units.html. If the -value of the {units} keyword is {reduced}, the {coordN} attributes -will be in unitless reduced units (0-1). - -The simplest way to output the results of the compute property/chunk -calculation to a file is to use the "fix ave/time"_fix_ave_time.html -command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk1 all property/chunk cc1 count -compute myChunk2 all com/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk1 c_myChunk2\[*\] file tmp.out mode vector :pre - -[Output info:] - -This compute calculates a global vector or global array depending on -the number of input values. The length of the vector or number of -rows in the array is the number of chunks. - -This compute calculates a global vector or global array where the -number of rows = the number of chunks {Nchunk} as calculated by the -specified "compute chunk/atom"_compute_chunk_atom.html command. If a -single input is specified, a global vector is produced. If two or -more inputs are specified, a global array is produced where the number -of columns = the number of inputs. The vector or array can be -accessed by any command that uses global values from a compute as -input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -The vector or array values are "intensive". The values will be -unitless or in the units discussed above. - -[Restrictions:] none - -[Related commands:] - -"fix ave/chunk"_fix_ave_chunk.html - -[Default:] none diff --git a/doc/txt/compute_property_local.txt b/doc/txt/compute_property_local.txt deleted file mode 100644 index c4ad0afc95cd3fcf7655d5861c66a3f488683519..0000000000000000000000000000000000000000 --- a/doc/txt/compute_property_local.txt +++ /dev/null @@ -1,158 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute property/local command :h3 - -[Syntax:] - -compute ID group-ID property/local attribute1 attribute2 ... keyword args ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -property/local = style name of this compute command :l -one or more attributes may be appended :l - possible attributes = natom1 natom2 ntype1 ntype2 - patom1 patom2 ptype1 ptype2 - batom1 batom2 btype - aatom1 aatom2 aatom3 atype - datom1 datom2 datom3 datom4 dtype - iatom1 iatom2 iatom3 iatom4 itype :pre - - natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff) - ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff) - patom1, patom2 = IDs of 2 atoms in each pair (within force cutoff) - ptype1, ptype2 = type of 2 atoms in each pair (within force cutoff) - batom1, batom2 = IDs of 2 atoms in each bond - btype = bond type of each bond - aatom1, aatom2, aatom3 = IDs of 3 atoms in each angle - atype = angle type of each angle - datom1, datom2, datom3, datom4 = IDs of 4 atoms in each dihedral - dtype = dihedral type of each dihedral - iatom1, iatom2, iatom3, iatom4 = IDs of 4 atoms in each improper - itype = improper type of each improper :pre -zero or more keyword/arg pairs may be appended :l -keyword = {cutoff} :l - {cutoff} arg = {type} or {radius} :pre -:ule - -[Examples:] - -compute 1 all property/local btype batom1 batom2 -compute 1 all property/local atype aatom2 :pre - -[Description:] - -Define a computation that stores the specified attributes as local -data so it can be accessed by other "output -commands"_Howto_output.html. If the input attributes refer to bond -information, then the number of datums generated, aggregated across -all processors, equals the number of bonds in the system. Ditto for -pairs, angles, etc. - -If multiple attributes are specified then they must all generate the -same amount of information, so that the resulting local array has the -same number of rows for each column. This means that only bond -attributes can be specified together, or angle attributes, etc. Bond -and angle attributes can not be mixed in the same compute -property/local command. - -If the inputs are pair attributes, the local data is generated by -looping over the pairwise neighbor list. Info about an individual -pairwise interaction will only be included if both atoms in the pair -are in the specified compute group. For {natom1} and {natom2}, all -atom pairs in the neighbor list are considered (out to the neighbor -cutoff = force cutoff + "neighbor skin"_neighbor.html). For {patom1} -and {patom2}, the distance between the atoms must be less than the -force cutoff distance for that pair to be included, as defined by the -"pair_style"_pair_style.html and "pair_coeff"_pair_coeff.html -commands. - -The optional {cutoff} keyword determines how the force cutoff distance -for an interaction is determined for the {patom1} and {patom2} -attributes. For the default setting of {type}, the pairwise cutoff -defined by the "pair_style"_pair_style.html command for the types of -the two atoms is used. For the {radius} setting, the sum of the radii -of the two particles is used as a cutoff. For example, this is -appropriate for granular particles which only interact when they are -overlapping, as computed by "granular pair styles"_pair_gran.html. -Note that if a granular model defines atom types such that all -particles of a specific type are monodisperse (same diameter), then -the two settings are effectively identical. - -If the inputs are bond, angle, etc attributes, the local data is -generated by looping over all the atoms owned on a processor and -extracting bond, angle, etc info. For bonds, info about an individual -bond will only be included if both atoms in the bond are in the -specified compute group. Likewise for angles, dihedrals, etc. - -For bonds and angles, a bonds/angles that have been broken by setting -their bond/angle type to 0 will not be included. Bonds/angles that -have been turned off (see the "fix shake"_fix_shake.html or -"delete_bonds"_delete_bonds.html commands) by setting their bond/angle -type negative are written into the file. This is consistent with the -"compute bond/local"_compute_bond_local.html and "compute -angle/local"_compute_angle_local.html commands - -Note that as atoms migrate from processor to processor, there will be -no consistent ordering of the entries within the local vector or array -from one timestep to the next. The only consistency that is -guaranteed is that the ordering on a particular timestep will be the -same for local vectors or arrays generated by other compute commands. -For example, output from the "compute -bond/local"_compute_bond_local.html command can be combined with bond -atom indices from this command and output by the "dump -local"_dump.html command in a consistent way. - -The {natom1} and {natom2}, or {patom1} and {patom2} attributes refer -to the atom IDs of the 2 atoms in each pairwise interaction computed -by the "pair_style"_pair_style.html command. The {ntype1} and -{ntype2}, or {ptype1} and {ptype2} attributes refer to the atom types -of the 2 atoms in each pairwise interaction. - -NOTE: For pairs, if two atoms I,J are involved in 1-2, 1-3, 1-4 -interactions within the molecular topology, their pairwise interaction -may be turned off, and thus they may not appear in the neighbor list, -and will not be part of the local data created by this command. More -specifically, this may be true of I,J pairs with a weighting factor of -0.0; pairs with a non-zero weighting factor are included. The -weighting factors for 1-2, 1-3, and 1-4 pairwise interactions are set -by the "special_bonds"_special_bonds.html command. - -The {batom1} and {batom2} attributes refer to the atom IDs of the 2 -atoms in each "bond"_bond_style.html. The {btype} attribute refers to -the type of the bond, from 1 to Nbtypes = # of bond types. The number -of bond types is defined in the data file read by the -"read_data"_read_data.html command. - -The attributes that start with "a", "d", "i", refer to similar values -for "angles"_angle_style.html, "dihedrals"_dihedral_style.html, and -"impropers"_improper_style.html. - -[Output info:] - -This compute calculates a local vector or local array depending on the -number of input values. The length of the vector or number of rows in -the array is the number of bonds, angles, etc. If a single input is -specified, a local vector is produced. If two or more inputs are -specified, a local array is produced where the number of columns = the -number of inputs. The vector or array can be accessed by any command -that uses local values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The vector or array values will be integers that correspond to the -specified attribute. - -[Restrictions:] none - -[Related commands:] - -"dump local"_dump.html, "compute reduce"_compute_reduce.html - -[Default:] - -The keyword default is cutoff = type. diff --git a/doc/txt/compute_ptm_atom.txt b/doc/txt/compute_ptm_atom.txt deleted file mode 100644 index dfe3afe97002d171064f9d524c937f4ed6fa23fd..0000000000000000000000000000000000000000 --- a/doc/txt/compute_ptm_atom.txt +++ /dev/null @@ -1,121 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -compute ptm/atom command :h3 - -[Syntax:] - -compute ID group-ID ptm/atom structures threshold :pre - -ID, group-ID are documented in "compute"_compute.html command -ptm/atom = style name of this compute command -structures = structure types to search for -threshold = lattice distortion threshold (RMSD) :ul - -[Examples:] - -compute 1 all ptm/atom default 0.1 -compute 1 all ptm/atom fcc-hcp-dcub-dhex 0.15 -compute 1 all ptm/atom all 0 :pre - -[Description:] - -Define a computation that determines the local lattice structure -around an atom using the PTM (Polyhedral Template Matching) method. -The PTM method is described in "(Larsen)"_#Larsen. - -Currently, there are seven lattice structures PTM recognizes: - -fcc = 1 -hcp = 2 -bcc = 3 -ico (icosahedral) = 4 -sc (simple cubic) = 5 -dcub (diamond cubic) = 6 -dhex (diamond hexagonal) = 7 -graphene = 8 :ul - -The value of the PTM structure will be 0 for unknown types and -1 for atoms not in the specified -compute group. The choice of structures to search for can be specified using the "structures" -argument, which is a hyphen-separated list of structure keywords. -Two convenient pre-set options are provided: - -default: fcc-hcp-bcc-ico -all: fcc-hcp-bcc-ico-sc-dcub-dhex-graphene :ul - -The 'default' setting detects the same structures as the Common Neighbor Analysis method. -The 'all' setting searches for all structure types. A performance penalty is -incurred for the diamond and graphene structures, so it is not recommended to use this option if -it is known that the simulation does not contain these structures. - - -PTM identifies structures using two steps. First, a graph isomorphism test is used -to identify potential structure matches. Next, the deviation is computed between the -local structure (in the simulation) and a template of the ideal lattice structure. -The deviation is calculated as: - -:c,image(Eqs/ptm_rmsd.jpg) - -Here, u and v contain the coordinates of the local and ideal structures respectively, -s is a scale factor, and Q is a rotation. The best match is identified by the -lowest RMSD value, using the optimal scaling, rotation, and correspondence between the -points. - -The 'threshold' keyword sets an upper limit on the maximum permitted deviation before -a local structure is identified as disordered. Typical values are in the range 0.1-0.15, -but larger values may be desirable at higher temperatures. -A value of 0 is equivalent to infinity and can be used if no threshold is desired. - - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (e.g. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently or to have multiple compute/dump commands, each with a -{ptm/atom} style. - -[Output info:] - -This compute calculates a per-atom array, which can be accessed by -any command that uses per-atom values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -Results are stored in the per-atom array in the following order: - -type -rmsd -interatomic distance -qw -qx -qy -qz :ul - -The type is a number from -1 to 8. The rmsd is a positive real number. -The interatomic distance is computed from the scale factor in the RMSD equation. -The (qw,qx,qy,qz) parameters represent the orientation of the local structure -in quaternion form. The reference coordinates for each template (from which the -orientation is determined) can be found in the {ptm_constants.h} file in the PTM source directory. - -[Restrictions:] - -This fix is part of the USER-PTM package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute centro/atom"_compute_centro_atom.html -"compute cna/atom"_compute_cna_atom.html - -[Default:] none - -:line - -:link(Larsen) -[(Larsen)] Larsen, Schmidt, Schiotz, Modelling Simul Mater Sci Eng, 24, 055007 (2016). - diff --git a/doc/txt/compute_rdf.txt b/doc/txt/compute_rdf.txt deleted file mode 100644 index 17fa68e52660f682386cd6b2ffdec85115fb3b20..0000000000000000000000000000000000000000 --- a/doc/txt/compute_rdf.txt +++ /dev/null @@ -1,199 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute rdf command :h3 - -[Syntax:] - -compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ... keyword/value ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -rdf = style name of this compute command :l -Nbin = number of RDF bins :l -itypeN = central atom type for Nth RDF histogram (see asterisk form below) :l -jtypeN = distribution atom type for Nth RDF histogram (see asterisk form below) :l - -zero or more keyword/value pairs may be appended :l -keyword = {cutoff} :l - {cutoff} value = Rcut - Rcut = cutoff distance for RDF computation (distance units) :pre -:ule - -[Examples:] - -compute 1 all rdf 100 -compute 1 all rdf 100 1 1 -compute 1 all rdf 100 * 3 cutoff 5.0 -compute 1 fluid rdf 500 1 1 1 2 2 1 2 2 -compute 1 fluid rdf 500 1*3 2 5 *10 cutoff 3.5 :pre - -[Description:] - -Define a computation that calculates the radial distribution function -(RDF), also called g(r), and the coordination number for a group of -particles. Both are calculated in histogram form by binning pairwise -distances into {Nbin} bins from 0.0 to the maximum force cutoff -defined by the "pair_style"_pair_style.html command or the cutoff -distance {Rcut} specified via the {cutoff} keyword. The bins are of -uniform size in radial distance. Thus a single bin encompasses a thin -shell of distances in 3d and a thin ring of distances in 2d. - -NOTE: If you have a bonded system, then the settings of -"special_bonds"_special_bonds.html command can remove pairwise -interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the "special_bonds"_special_bonds.html -command, and means those pairwise interactions do not appear in the -neighbor list. Because this fix uses a neighbor list, it also means -those pairs will not be included in the RDF. This does not apply when -using long-range coulomb interactions ({coul/long}, {coul/msm}, -{coul/wolf} or similar. One way to get around this would be to set -special_bond scaling factors to very tiny numbers that are not exactly -zero (e.g. 1.0e-50). Another workaround is to write a dump file, and -use the "rerun"_rerun.html command to compute the RDF for snapshots in -the dump file. The rerun script can use a -"special_bonds"_special_bonds.html command that includes all pairs in -the neighbor list. - -By default the RDF is computed out to the maximum force cutoff defined -by the "pair_style"_pair_style.html command. If the {cutoff} keyword -is used, then the RDF is computed accurately out to the {Rcut} > 0.0 -distance specified. - -NOTE: Normally, you should only use the {cutoff} keyword if no pair -style is defined, e.g. the "rerun"_rerun.html command is being used to -post-process a dump file of snapshots. Or if you really want the RDF -for distances beyond the pair_style force cutoff and cannot easily -post-process a dump file to calculate it. This is because using the -{cutoff} keyword incurs extra computation and possibly communication, -which may slow down your simulation. If you specify a {Rcut} <= force -cutoff, you will force an additional neighbor list to be built at -every timestep this command is invoked (or every reneighboring -timestep, whichever is less frequent), which is inefficient. LAMMPS -will warn you if this is the case. If you specify a {Rcut} > force -cutoff, you must insure ghost atom information out to {Rcut} + {skin} -is communicated, via the "comm_modify cutoff"_comm_modify.html -command, else the RDF computation cannot be performed, and LAMMPS will -give an error message. The {skin} value is what is specified with the -"neighbor"_neighbor.html command. In this case, you are forcing a -large neighbor list to be built just for the RDF computation, and -extra communication to be performed every timestep. - -The {itypeN} and {jtypeN} arguments are optional. These arguments -must come in pairs. If no pairs are listed, then a single histogram -is computed for g(r) between all atom types. If one or more pairs are -listed, then a separate histogram is generated for each -{itype},{jtype} pair. - -The {itypeN} and {jtypeN} settings can be specified in one of two -ways. An explicit numeric value can be used, as in the 4th example -above. Or a wild-card asterisk can be used to specify a range of atom -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the -number of atom types, then an asterisk with no numeric values means -all types from 1 to N. A leading asterisk means all types from 1 to n -(inclusive). A trailing asterisk means all types from n to N -(inclusive). A middle asterisk means all types from m to n -(inclusive). - -If both {itypeN} and {jtypeN} are single values, as in the 4th example -above, this means that a g(r) is computed where atoms of type {itypeN} -are the central atom, and atoms of type {jtypeN} are the distribution -atom. If either {itypeN} and {jtypeN} represent a range of values via -the wild-card asterisk, as in the 5th example above, this means that a -g(r) is computed where atoms of any of the range of types represented -by {itypeN} are the central atom, and atoms of any of the range of -types represented by {jtypeN} are the distribution atom. - -Pairwise distances are generated by looping over a pairwise neighbor -list, just as they would be in a "pair_style"_pair_style.html -computation. The distance between two atoms I and J is included in a -specific histogram if the following criteria are met: - -atoms I,J are both in the specified compute group -the distance between atoms I,J is less than the maximum force cutoff -the type of the I atom matches itypeN (one or a range of types) -the type of the J atom matches jtypeN (one or a range of types) :ul - -It is OK if a particular pairwise distance is included in more than -one individual histogram, due to the way the {itypeN} and {jtypeN} -arguments are specified. - -The g(r) value for a bin is calculated from the histogram count by -scaling it by the idealized number of how many counts there would be -if atoms of type {jtypeN} were uniformly distributed. Thus it -involves the count of {itypeN} atoms, the count of {jtypeN} atoms, the -volume of the entire simulation box, and the volume of the bin's thin -shell in 3d (or the area of the bin's thin ring in 2d). - -A coordination number coord(r) is also calculated, which is the number -of atoms of type {jtypeN} within the current bin or closer, averaged -over atoms of type {itypeN}. This is calculated as the area- or -volume-weighted sum of g(r) values over all bins up to and including -the current bin, multiplied by the global average volume density of -atoms of type jtypeN. - -The simplest way to output the results of the compute rdf calculation -to a file is to use the "fix ave/time"_fix_ave_time.html command, for -example: - -compute myRDF all rdf 50 -fix 1 all ave/time 100 1 100 c_myRDF\[*\] file tmp.rdf mode vector :pre - -[Output info:] - -This compute calculates a global array with the number of rows = -{Nbins}, and the number of columns = 1 + 2*Npairs, where Npairs is the -number of I,J pairings specified. The first column has the bin -coordinate (center of the bin), Each successive set of 2 columns has -the g(r) and coord(r) values for a specific set of {itypeN} versus -{jtypeN} interactions, as described above. These values can be used -by any command that uses a global values from a compute as input. See -the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The array values calculated by this compute are all "intensive". - -The first column of array values will be in distance -"units"_units.html. The g(r) columns of array values are normalized -numbers >= 0.0. The coordination number columns of array values are -also numbers >= 0.0. - -[Restrictions:] - -The RDF is not computed for distances longer than the force cutoff, -since processors (in parallel) don't know about atom coordinates for -atoms further away than that distance. If you want an RDF for larger -distances, you can use the "rerun"_rerun.html command to post-process -a dump file and set the cutoff for the potential to be longer in the -rerun script. Note that in the rerun context, the force cutoff is -arbitrary, since you aren't running dynamics and thus are not changing -your model. The definition of g(r) used by LAMMPS is only appropriate -for characterizing atoms that are uniformly distributed throughout the -simulation cell. In such cases, the coordination number is still -correct and meaningful. As an example, if a large simulation cell -contains only one atom of type {itypeN} and one of {jtypeN}, then g(r) -will register an arbitrarily large spike at whatever distance they -happen to be at, and zero everywhere else. Coord(r) will show a step -change from zero to one at the location of the spike in g(r). - -NOTE: compute rdf can handle dynamic groups and systems where atoms -are added or removed, but this causes that certain normalization -parameters need to be re-computed in every step and include collective -communication operations. This will reduce performance and limit -parallel efficiency and scaling. For systems, where only the type -of atoms changes (e.g. when using "fix atom/swap"_fix_atom_swap.html), -you need to explicitly request the dynamic normalization updates -via "compute_modify dynamic yes"_compute_modify.html - -[Related commands:] - -"fix ave/time"_fix_ave_time.html, "compute_modify"_compute_modify.html, -"compute adf"_compute_adf.html - -[Default:] - -The keyword defaults are cutoff = 0.0 (use the pairwise force cutoff). diff --git a/doc/txt/compute_reduce.txt b/doc/txt/compute_reduce.txt deleted file mode 100644 index 1e9cc651e17e6faebc63a869da4a4776cbd73ceb..0000000000000000000000000000000000000000 --- a/doc/txt/compute_reduce.txt +++ /dev/null @@ -1,212 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute reduce command :h3 -compute reduce/region command :h3 - -[Syntax:] - -compute ID group-ID style arg mode input1 input2 ... keyword args ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -style = {reduce} or {reduce/region} :l - {reduce} arg = none - {reduce/region} arg = region-ID - region-ID = ID of region to use for choosing atoms :pre -mode = {sum} or {min} or {max} or {ave} or {sumsq} or {avesq} :l -one or more inputs can be listed :l -input = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l - x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) - c_ID = per-atom or local vector calculated by a compute with ID - c_ID\[I\] = Ith column of per-atom or local array calculated by a compute with ID, I can include wildcard (see below) - f_ID = per-atom or local vector calculated by a fix with ID - f_ID\[I\] = Ith column of per-atom or local array calculated by a fix with ID, I can include wildcard (see below) - v_name = per-atom vector calculated by an atom-style variable with name :pre - -zero or more keyword/args pairs may be appended :l -keyword = {replace} :l - {replace} args = vec1 vec2 - vec1 = reduced value from this input vector will be replaced - vec2 = replace it with vec1\[N\] where N is index of max/min value from vec2 :pre -:ule - -[Examples:] - -compute 1 all reduce sum c_force -compute 1 all reduce/region subbox sum c_force -compute 2 all reduce min c_press\[2\] f_ave v_myKE -compute 2 all reduce min c_press\[*\] f_ave v_myKE -compute 3 fluid reduce max c_index\[1\] c_index\[2\] c_dist replace 1 3 replace 2 3 :pre - -[Description:] - -Define a calculation that "reduces" one or more vector inputs into -scalar values, one per listed input. The inputs can be per-atom or -local quantities; they cannot be global quantities. Atom attributes -are per-atom quantities, "computes"_compute.html and "fixes"_fix.html -may generate any of the three kinds of quantities, and "atom-style -variables"_variable.html generate per-atom quantities. See the -"variable"_variable.html command and its special functions which can -perform the same operations as the compute reduce command on global -vectors. - -The reduction operation is specified by the {mode} setting. The {sum} -option adds the values in the vector into a global total. The {min} -or {max} options find the minimum or maximum value across all vector -values. The {ave} setting adds the vector values into a global total, -then divides by the number of values in the vector. The {sumsq} -option sums the square of the values in the vector into a global -total. The {avesq} setting does the same as {sumsq}, then divides the -sum of squares by the number of values. The last two options can be -useful for calculating the variance of some quantity, e.g. variance = -sumsq - ave^2. - -Each listed input is operated on independently. For per-atom inputs, -the group specified with this command means only atoms within the -group contribute to the result. For per-atom inputs, if the compute -reduce/region command is used, the atoms must also currently be within -the region. Note that an input that produces per-atom quantities may -define its own group which affects the quantities it returns. For -example, if a compute is used as an input which generates a per-atom -vector, it will generate values of 0.0 for atoms that are not in the -group specified for that compute. - -Each listed input can be an atom attribute (position, velocity, force -component) or can be the result of a "compute"_compute.html or -"fix"_fix.html or the evaluation of an atom-style -"variable"_variable.html. - -Note that for values from a compute or fix, the bracketed index I can -be specified using a wildcard asterisk with the index to effectively -specify multiple values. This takes the form "*" or "*n" or "n*" or -"m*n". If N = the size of the vector (for {mode} = scalar) or the -number of columns in the array (for {mode} = vector), then an asterisk -with no numeric values means all indices from 1 to N. A leading -asterisk means all indices from 1 to n (inclusive). A trailing -asterisk means all indices from n to N (inclusive). A middle asterisk -means all indices from m to n (inclusive). - -Using a wildcard is the same as if the individual columns of the array -had been listed one by one. E.g. these 2 compute reduce commands are -equivalent, since the "compute stress/atom"_compute_stress_atom.html -command creates a per-atom array with 6 columns: - -compute myPress all stress/atom NULL -compute 2 all reduce min c_myPress\[*\] -compute 2 all reduce min c_myPress\[1\] c_myPress\[2\] c_myPress\[3\] & - c_myPress\[4\] c_myPress\[5\] c_myPress\[6\] :pre - -:line - -The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are -self-explanatory. Note that other atom attributes can be used as -inputs to this fix by using the "compute -property/atom"_compute_property_atom.html command and then specifying -an input value from that compute. - -If a value begins with "c_", a compute ID must follow which has been -previously defined in the input script. Computes can generate -per-atom or local quantities. See the individual -"compute"_compute.html doc page for details. If no bracketed integer -is appended, the vector calculated by the compute is used. If a -bracketed integer is appended, the Ith column of the array calculated -by the compute is used. Users can also write code for their own -compute styles and "add them to LAMMPS"_Modify.html. See the -discussion above for how I can be specified with a wildcard asterisk -to effectively specify multiple values. - -If a value begins with "f_", a fix ID must follow which has been -previously defined in the input script. Fixes can generate per-atom -or local quantities. See the individual "fix"_fix.html doc page for -details. Note that some fixes only produce their values on certain -timesteps, which must be compatible with when compute reduce -references the values, else an error results. If no bracketed integer -is appended, the vector calculated by the fix is used. If a bracketed -integer is appended, the Ith column of the array calculated by the fix -is used. Users can also write code for their own fix style and "add -them to LAMMPS"_Modify.html. See the discussion above for how I can -be specified with a wildcard asterisk to effectively specify multiple -values. - -If a value begins with "v_", a variable name must follow which has -been previously defined in the input script. It must be an -"atom-style variable"_variable.html. Atom-style variables can -reference thermodynamic keywords and various per-atom attributes, or -invoke other computes, fixes, or variables when they are evaluated, so -this is a very general means of generating per-atom quantities to -reduce. - -:line - -If the {replace} keyword is used, two indices {vec1} and {vec2} are -specified, where each index ranges from 1 to the # of input values. -The replace keyword can only be used if the {mode} is {min} or {max}. -It works as follows. A min/max is computed as usual on the {vec2} -input vector. The index N of that value within {vec2} is also stored. -Then, instead of performing a min/max on the {vec1} input vector, the -stored index is used to select the Nth element of the {vec1} vector. - -Thus, for example, if you wish to use this compute to find the bond -with maximum stretch, you can do it as follows: - -compute 1 all property/local batom1 batom2 -compute 2 all bond/local dist -compute 3 all reduce max c_1\[1\] c_1\[2\] c_2 replace 1 3 replace 2 3 -thermo_style custom step temp c_3\[1\] c_3\[2\] c_3\[3\] :pre - -The first two input values in the compute reduce command are vectors -with the IDs of the 2 atoms in each bond, using the "compute -property/local"_compute_property_local.html command. The last input -value is bond distance, using the "compute -bond/local"_compute_bond_local.html command. Instead of taking the -max of the two atom ID vectors, which does not yield useful -information in this context, the {replace} keywords will extract the -atom IDs for the two atoms in the bond of maximum stretch. These atom -IDs and the bond stretch will be printed with thermodynamic output. - -:line - -If a single input is specified this compute produces a global scalar -value. If multiple inputs are specified, this compute produces a -global vector of values, the length of which is equal to the number of -inputs specified. - -As discussed below, for the {sum} and {sumsq} modes, the value(s) -produced by this compute are all "extensive", meaning their value -scales linearly with the number of atoms involved. If normalized -values are desired, this compute can be accessed by the "thermo_style -custom"_thermo_style.html command with "thermo_modify norm -yes"_thermo_modify.html set as an option. Or it can be accessed by a -"variable"_variable.html that divides by the appropriate atom count. - -:line - -[Output info:] - -This compute calculates a global scalar if a single input value is -specified or a global vector of length N where N is the number of -inputs, and which can be accessed by indices 1 to N. These values can -be used by any command that uses global scalar or vector values from a -compute as input. See the "Howto output"_Howto_output.html doc page -for an overview of LAMMPS output options. - -All the scalar or vector values calculated by this compute are -"intensive", except when the {sum} or {sumsq} modes are used on -per-atom or local vectors, in which case the calculated values are -"extensive". - -The scalar or vector values will be in whatever "units"_units.html the -quantities being reduced are in. - -[Restrictions:] none - -[Related commands:] - -"compute"_compute.html, "fix"_fix.html, "variable"_variable.html - -[Default:] none diff --git a/doc/txt/compute_reduce_chunk.txt b/doc/txt/compute_reduce_chunk.txt deleted file mode 100644 index f19ed00c6a6e12eb55391a0bf724e4fc3d0a37d2..0000000000000000000000000000000000000000 --- a/doc/txt/compute_reduce_chunk.txt +++ /dev/null @@ -1,177 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute reduce/chunk command :h3 - -[Syntax:] - -compute ID group-ID reduce/chunk chunkID mode input1 input2 ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -reduce/chunk = style name of this compute command :l -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :l -mode = {sum} or {min} or {max} :l -one or more inputs can be listed :l -input = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_ID :l - c_ID = per-atom vector calculated by a compute with ID - c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) - f_ID = per-atom vector calculated by a fix with ID - f_ID\[I\] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below) - v_name = per-atom vector calculated by an atom-style variable with name :pre -:ule - -[Examples:] - -compute 1 all reduce/chunk/atom mychunk min c_cluster :pre - -[Description:] - -Define a calculation that reduces one or more per-atom vectors into -per-chunk values. This can be useful for diagnostic output. Or when -used in conjunction with the "compute -chunk/spread/atom"_compute_chunk_spread_atom.html command it can be -used ot create per-atom values that induce a new set of chunks with a -second "compute chunk/atom"_compute_chunk_atom.html command. An -example is given below. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -For each atom, this compute accesses its chunk ID from the specified -{chunkID} compute. The per-atom value from an input contributes -to a per-chunk value corresponding the the chunk ID. - -The reduction operation is specified by the {mode} setting and is -performed over all the per-atom values from the atoms in each chunk. -The {sum} option adds the pre-atom values to a per-chunk total. The -{min} or {max} options find the minimum or maximum value of the -per-atom values for each chunk. - -Note that only atoms in the specified group contribute to the -reduction operation. If the {chunkID} compute returns a 0 for the -chunk ID of an atom (i.e. the atom is not in a chunk defined by the -"compute chunk/atom"_compute_chunk_atom.html command), that atom will -also not contribute to the reduction operation. An input that is a -compute or fix may define its own group which affects the quantities -it returns. For example, a compute with return a zero value for atoms -that are not in the group specified for that compute. - -Each listed input is operated on independently. Each input can be the -result of a "compute"_compute.html or "fix"_fix.html or the evaluation -of an atom-style "variable"_variable.html. - -Note that for values from a compute or fix, the bracketed index I can -be specified using a wildcard asterisk with the index to effectively -specify multiple values. This takes the form "*" or "*n" or "n*" or -"m*n". If N = the size of the vector (for {mode} = scalar) or the -number of columns in the array (for {mode} = vector), then an asterisk -with no numeric values means all indices from 1 to N. A leading -asterisk means all indices from 1 to n (inclusive). A trailing -asterisk means all indices from n to N (inclusive). A middle asterisk -means all indices from m to n (inclusive). - -Using a wildcard is the same as if the individual columns of the array -had been listed one by one. E.g. these 2 compute reduce/chunk -commands are equivalent, since the "compute -property/chunk"_compute_property_chunk.html command creates a per-atom -array with 3 columns: - -compute prop all property/atom vx vy vz -compute 10 all reduce/chunk mychunk max c_prop\[*\] -compute 10 all reduce/chunk mychunk max c_prop\[1\] c_prop\[2\] c_prop\[3\] :pre - -:line - -Here is an example of using this compute, in conjunction with the -compute chunk/spread/atom command to identify self-assembled micelles. -The commands below can be added to the examples/in.micelle script. - -Imagine a collection of polymer chains or small molecules with -hydrophobic end groups. All the hydrophobic (HP) atoms are assigned -to a group called "phobic". - -These commands will assign a unique cluster ID to all HP atoms within -a specified distance of each other. A cluster will contain all HP -atoms in a single molecule, but also the HP atoms in nearby molecules, -e.g. molecules that have clumped to form a micelle due to the -attraction induced by the hydrophobicity. The output of the -chunk/reduce command will be a cluster ID per chunk (molecule). -Molecules with the same cluster ID are in the same micelle. - -group phobic type 4 # specific to in.micelle model -compute cluster phobic cluster/atom 2.0 -compute cmol all chunk/atom molecule -compute reduce phobic reduce/chunk cmol min c_cluster :pre - -This per-chunk info could be output in at least two ways: - -fix 10 all ave/time 1000 1 1000 c_reduce file tmp.phobic mode vector :pre - -compute spread all chunk/spread/atom cmol c_reduce -dump 1 all custom 1000 tmp.dump id type mol x y z c_cluster c_spread -dump_modify 1 sort id :pre - -In the first case, each snapshot in the tmp.phobic file will contain -one line per molecule. Molecules with the same value are in the same -micelle. In the second case each dump snapshot contains all atoms, -each with a final field with the cluster ID of the micelle that the HP -atoms of that atom's molecule belong to. - -The result from compute chunk/spread/atom can be used to define a new -set of chunks, where all the atoms in all the molecules in the same -micelle are assigned to the same chunk, i.e. one chunk per micelle. - -compute micelle all chunk/atom c_spread compress yes :pre - -Further analysis on a per-micelle basis can now be performed using any -of the per-chunk computes listed on the "Howto chunk"_Howto_chunk.html -doc page. E.g. count the number of atoms in each micelle, calculate -its center or mass, shape (moments of inertia), radius of gyration, -etc. - -compute prop all property/chunk micelle count -fix 20 all ave/time 1000 1 1000 c_prop file tmp.micelle mode vector :pre - -Each snapshot in the tmp.micelle file will have one line per micelle -with its count of atoms, plus a first line for a chunk with all the -solvent atoms. By the time 50000 steps have elapsed there are a -handful of large micelles. - -:line - -[Output info:] - -This compute calculates a global vector if a single input value is -specified, otherwise a global array is output. The number of columns -in the array is the number of inputs provided. The length of the -vector or the number of vector elements or array rows = the number of -chunks {Nchunk} as calculated by the specified "compute -chunk/atom"_compute_chunk_atom.html command. The vector or array can -be accessed by any command that uses global values from a compute as -input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -The per-atom values for the vector or each column of the array will be -in whatever "units"_units.html the corresponding input value is in. -The vector or array values are "intensive". - -[Restrictions:] none - -[Related commands:] - -"compute chunk/atom"_compute_chunk_atom.html, "compute -reduce"_compute_reduce.html, "compute -chunk/spread/atom"_compute_chunk_spread_atom.html - -[Default:] none diff --git a/doc/txt/compute_rigid_local.txt b/doc/txt/compute_rigid_local.txt deleted file mode 100644 index 73e9e4a609d425c7c250c5471482bbfff6a0ffd1..0000000000000000000000000000000000000000 --- a/doc/txt/compute_rigid_local.txt +++ /dev/null @@ -1,185 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute rigid/local command :h3 - -[Syntax:] - -compute ID group-ID rigid/local rigidID input1 input2 ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -rigid/local = style name of this compute command :l -rigidID = ID of fix rigid/small command or one of its variants :l -input = one or more rigid body attributes :l - possible attributes = id, mol, mass, - x, y, z, xu, yu, zu, ix, iy, iz - vx, vy, vz, fx, fy, fz, - omegax, omegay, omegaz, - angmomx, angmomy, angmomz, - quatw, quati, quatj, quatk, - tqx, tqy, tqz, - inertiax, inertiay, inertiaz - id = atom ID of atom within body which owns body properties - mol = molecule ID used to define body in "fix rigid/small"_fix_rigid.html command - mass = total mass of body - x,y,z = center of mass coords of body - xu,yu,zu = unwrapped center of mass coords of body - ix,iy,iz = box image that the center of mass is in - vx,vy,vz = center of mass velocities - fx,fy,fz = force of center of mass - omegax,omegay,omegaz = angular velocity of body - angmomx,angmomy,angmomz = angular momentum of body - quatw,quati,quatj,quatk = quaternion components for body - tqx,tqy,tqz = torque on body - inertiax,inertiay,inertiaz = diagonalized moments of inertia of body :pre -:ule - -[Examples:] - -compute 1 all rigid/local myRigid mol x y z :pre - -[Description:] - -Define a computation that simply stores rigid body attributes for -rigid bodies defined by the "fix rigid/small"_fix_rigid.html command -or one of its NVE, NVT, NPT, NPH variants. The data is stored as -local data so it can be accessed by other "output -commands"_Howto_output.html that process local data, such as the -"compute reduce"_compute_reduce.html or "dump local"_dump.html -commands. - -Note that this command only works with the "fix -rigid/small"_fix_rigid.html command or its variants, not the fix rigid -command and its variants. The ID of the "fix -rigid/small"_fix_rigid.html command used to define rigid bodies must -be specified as {rigidID}. The "fix rigid"_fix_rigid.html command is -typically used to define a handful of (potentially very large) rigid -bodies. It outputs similar per-body information as this command -directly from the fix as global data; see the "fix -rigid"_fix_rigid.html doc page for details - -The local data stored by this command is generated by looping over all -the atoms owned on a processor. If the atom is not in the specified -{group-ID} or is not part of a rigid body it is skipped. If it is not -the atom within a body that is assigned to store the body information -it is skipped (only one atom per body is so assigned). If it is the -assigned atom, then the info for that body is output. This means that -information for N bodies is generated. N may be less than the # of -bodies defined by the fix rigid command, if the atoms in some bodies -are not in the {group-ID}. - -NOTE: Which atom in a body owns the body info is determined internal -to LAMMPS; it's the one nearest the geometric center of the body. -Typically you should avoid this complication, by defining the group -associated with this fix to include/exclude entire bodies. - -Note that as atoms and bodies migrate from processor to processor, -there will be no consistent ordering of the entries within the local -vector or array from one timestep to the next. - -Here is an example of how to use this compute to dump rigid body info -to a file: - -compute 1 all rigid/local myRigid mol x y z fx fy fz -dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_1\[3\] c_1\[4\] c_1\[5\] c_1\[6\] c_1\[7\] :pre - -:line - -This section explains the rigid body attributes that can be specified. - -The {id} attribute is the atom-ID of the atom which owns the rigid body, which is -assigned by the "fix rigid/small"_fix_rigid.html command. - -The {mol} attribute is the molecule ID of the rigid body. It should -be the molecule ID which all of the atoms in the body belong to, since -that is how the "fix rigid/small"_fix_rigid.html command defines its -rigid bodies. - -The {mass} attribute is the total mass of the rigid body. - -There are two options for outputting the coordinates of the center of -mass (COM) of the body. The {x}, {y}, {z} attributes write the COM -"unscaled", in the appropriate distance "units"_units.html (Angstroms, -sigma, etc). Use {xu}, {yu}, {zu} if you want the COM "unwrapped" by -the image flags for each body. Unwrapped means that if the body -COM has passed through a periodic boundary one or more times, the value -is generated what the COM coordinate would be if it had not been -wrapped back into the periodic box. - -The image flags for the body can be generated directly using the {ix}, -{iy}, {iz} attributes. For periodic dimensions, they specify which -image of the simulation box the COM is considered to be in. An image -of 0 means it is inside the box as defined. A value of 2 means add 2 -box lengths to get the true value. A value of -1 means subtract 1 box -length to get the true value. LAMMPS updates these flags as the rigid -body COMs cross periodic boundaries during the simulation. - -The {vx}, {vy}, {vz}, {fx}, {fy}, {fz} attributes are components of -the COM velocity and force on the COM of the body. - -The {omegax}, {omegay}, and {omegaz} attributes are the angular -velocity components of the body around its COM. - -The {angmomx}, {angmomy}, and {angmomz} attributes are the angular -momentum components of the body around its COM. - -The {quatw}, {quati}, {quatj}, and {quatk} attributes are the -components of the 4-vector quaternion representing the orientation of -the rigid body. See the "set"_set.html command for an explanation of -the quaternion vector. - -The {angmomx}, {angmomy}, and {angmomz} attributes are the angular -momentum components of the body around its COM. - -The {tqx}, {tqy}, {tqz} attributes are components of the torque acting -on the body around its COM. - -The {inertiax}, {inertiay}, {inertiaz} attributes are components of -diagonalized inertia tensor for the body, i.e the 3 moments of inertia -for the body around its principal axes, as computed internally by -LAMMPS. - -:line - -[Output info:] - -This compute calculates a local vector or local array depending on the -number of keywords. The length of the vector or number of rows in the -array is the number of rigid bodies. If a single keyword is -specified, a local vector is produced. If two or more keywords are -specified, a local array is produced where the number of columns = the -number of keywords. The vector or array can be accessed by any -command that uses local values from a compute as input. See the -"Howto output"_Howto_output.html doc page for an overview of LAMMPS -output options. - -The vector or array values will be in whatever "units"_units.html the -corresponding attribute is in: - -id,mol = unitless -mass = mass units -x,y,z and xy,yu,zu = distance units -vx,vy,vz = velocity units -fx,fy,fz = force units -omegax,omegay,omegaz = radians/time units -angmomx,angmomy,angmomz = mass*distance^2/time units -quatw,quati,quatj,quatk = unitless -tqx,tqy,tqz = torque units -inertiax,inertiay,inertiaz = mass*distance^2 units :ul - -[Restrictions:] - -This compute is part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"dump local"_dump.html, "compute reduce"_compute_reduce.html - -[Default:] none diff --git a/doc/txt/compute_saed.txt b/doc/txt/compute_saed.txt deleted file mode 100644 index b27c36e318757159978998b723d2e3bc5b5c3924..0000000000000000000000000000000000000000 --- a/doc/txt/compute_saed.txt +++ /dev/null @@ -1,181 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute saed command :h3 - -[Syntax:] - -compute ID group-ID saed lambda type1 type2 ... typeN keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -saed = style name of this compute command :l -lambda = wavelength of incident radiation (length units) :l -type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) :l - -zero or more keyword/value pairs may be appended :l -keyword = {Kmax} or {Zone} or {dR_Ewald} or {c} or {manual} or {echo} :l - {Kmax} value = Maximum distance explored from reciprocal space origin - (inverse length units) - {Zone} values = z1 z2 z3 - z1,z2,z3 = Zone axis of incident radiation. If z1=z2=z3=0 all - reciprocal space will be meshed up to {Kmax} - {dR_Ewald} value = Thickness of Ewald sphere slice intercepting - reciprocal space (inverse length units) - {c} values = c1 c2 c3 - c1,c2,c3 = parameters to adjust the spacing of the reciprocal - lattice nodes in the h, k, and l directions respectively - {manual} = flag to use manual spacing of reciprocal lattice points - based on the values of the {c} parameters - {echo} = flag to provide extra output for debugging purposes :pre -:ule - -[Examples:] - -compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5 -compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo :pre - -fix saed/vtk 1 1 1 c_1 file Al2O3_001.saed -fix saed/vtk 1 1 1 c_2 file Ni_000.saed :pre - -[Description:] - -Define a computation that calculates electron diffraction intensity as -described in "(Coleman)"_#saed-Coleman on a mesh of reciprocal lattice nodes -defined by the entire simulation domain (or manually) using simulated -radiation of wavelength lambda. - -The electron diffraction intensity I at each reciprocal lattice point -is computed from the structure factor F using the equations: - -:c,image(Eqs/compute_saed1.jpg) -:c,image(Eqs/compute_saed2.jpg) - -Here, K is the location of the reciprocal lattice node, rj is the -position of each atom, fj are atomic scattering factors. - -Diffraction intensities are calculated on a three-dimensional mesh of -reciprocal lattice nodes. The mesh spacing is defined either (a) by -the entire simulation domain or (b) manually using selected values as -shown in the 2D diagram below. - -:c,image(JPG/saed_mesh_small.jpg,JPG/saed_mesh.jpg) - -For a mesh defined by the simulation domain, a rectilinear grid is -constructed with spacing {c}*inv(A) along each reciprocal lattice -axis. Where A are the vectors corresponding to the edges of the -simulation cell. If one or two directions has non-periodic boundary -conditions, then the spacing in these directions is defined from the -average of the (inversed) box lengths with periodic boundary conditions. -Meshes defined by the simulation domain must contain at least one periodic -boundary. - -If the {manual} flag is included, the mesh of reciprocal lattice nodes -will defined using the {c} values for the spacing along each reciprocal -lattice axis. Note that manual mapping of the reciprocal space mesh is -good for comparing diffraction results from multiple simulations; however -it can reduce the likelihood that Bragg reflections will be satisfied -unless small spacing parameters <0.05 Angstrom^(-1) are implemented. -Meshes with manual spacing do not require a periodic boundary. - -The limits of the reciprocal lattice mesh are determined by the use of -the {Kmax}, {Zone}, and {dR_Ewald} parameters. The rectilinear mesh -created about the origin of reciprocal space is terminated at the -boundary of a sphere of radius {Kmax} centered at the origin. If -{Zone} parameters z1=z2=z3=0 are used, diffraction intensities are -computed throughout the entire spherical volume - note this can -greatly increase the cost of computation. Otherwise, {Zone} -parameters will denote the z1=h, z2=k, and z3=l (in a global since) -zone axis of an intersecting Ewald sphere. Diffraction intensities -will only be computed at the intersection of the reciprocal lattice -mesh and a {dR_Ewald} thick surface of the Ewald sphere. See the -example 3D intensity data and the intersection of a \[010\] zone axis -in the below image. - -:c,image(JPG/saed_ewald_intersect_small.jpg,JPG/saed_ewald_intersect.jpg) - -The atomic scattering factors, fj, accounts for the reduction in -diffraction intensity due to Compton scattering. Compute saed uses -analytical approximations of the atomic scattering factors that vary -for each atom type (type1 type2 ... typeN) and angle of diffraction. -The analytic approximation is computed using the formula -"(Brown)"_#Brown: - -:c,image(Eqs/compute_saed3.jpg) - -Coefficients parameterized by "(Fox)"_#Fox are assigned for each -atom type designating the chemical symbol and charge of each atom -type. Valid chemical symbols for compute saed are: - -H: He: Li: Be: B: -C: N: O: F: Ne: -Na: Mg: Al: Si: P: -S: Cl: Ar: K: Ca: -Sc: Ti: V: Cr: Mn: -Fe: Co: Ni: Cu: Zn: -Ga: Ge: As: Se: Br: -Kr: Rb: Sr: Y: Zr: -Nb: Mo: Tc: Ru: Rh: -Pd: Ag: Cd: In: Sn: -Sb: Te: I: Xe: Cs: -Ba: La: Ce: Pr: Nd: -Pm: Sm: Eu: Gd: Tb: -Dy: Ho: Er: Tm: Yb: -Lu: Hf: Ta: W: Re: -Os: Ir: Pt: Au: Hg: -Tl: Pb: Bi: Po: At: -Rn: Fr: Ra: Ac: Th: -Pa: U: Np: Pu: Am: -Cm: Bk: Cf:tb(c=5,s=:) - - -If the {echo} keyword is specified, compute saed will provide extra -reporting information to the screen. - -[Output info:] - -This compute calculates a global vector. The length of the vector is -the number of reciprocal lattice nodes that are explored by the mesh. -The entries of the global vector are the computed diffraction -intensities as described above. - -The vector can be accessed by any command that uses global values from -a compute as input. See the "Howto output"_Howto_output.html doc page -for an overview of LAMMPS output options. - -All array values calculated by this compute are "intensive". - -[Restrictions:] - -This compute is part of the USER-DIFFRACTION package. It is only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -The compute_saed command does not work for triclinic cells. - -[Related commands:] - -"fix saed_vtk"_fix_saed_vtk.html, "compute xrd"_compute_xrd.html - -[Default:] - -The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald = -0.01. - -:line - -:link(saed-Coleman) -[(Coleman)] Coleman, Spearot, Capolungo, MSMSE, 21, 055020 -(2013). - -:link(Brown) -[(Brown)] Brown et al. International Tables for Crystallography -Volume C: Mathematical and Chemical Tables, 554-95 (2004). - -:link(Fox) -[(Fox)] Fox, O'Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93 -(1989). diff --git a/doc/txt/compute_slice.txt b/doc/txt/compute_slice.txt deleted file mode 100644 index 51031aeab3017a4bbfee683c0055165d74fd8c03..0000000000000000000000000000000000000000 --- a/doc/txt/compute_slice.txt +++ /dev/null @@ -1,123 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute slice command :h3 - -[Syntax:] - -compute ID group-ID slice Nstart Nstop Nskip input1 input2 ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -slice = style name of this compute command :l -Nstart = starting index within input vector(s) :l -Nstop = stopping index within input vector(s) :l -Nskip = extract every Nskip elements from input vector(s) :l -input = c_ID, c_ID\[N\], f_ID, f_ID\[N\] :l - c_ID = global vector calculated by a compute with ID - c_ID\[I\] = Ith column of global array calculated by a compute with ID - f_ID = global vector calculated by a fix with ID - f_ID\[I\] = Ith column of global array calculated by a fix with ID - v_name = vector calculated by an vector-style variable with name :pre -:ule - -[Examples:] - -compute 1 all slice 1 100 10 c_msdmol\[4\] -compute 1 all slice 301 400 1 c_msdmol\[4\] v_myVec :pre - -[Description:] - -Define a calculation that "slices" one or more vector inputs into -smaller vectors, one per listed input. The inputs can be global -quantities; they cannot be per-atom or local quantities. -"Computes"_compute.html and "fixes"_fix.html and vector-style -"variables"_variable.html can generate such global quantities. The -group specified with this command is ignored. - -The values extracted from the input vector(s) are determined by the -{Nstart}, {Nstop}, and {Nskip} parameters. The elements of an input -vector of length N are indexed from 1 to N. Starting at element -{Nstart}, every Mth element is extracted, where M = {Nskip}, until -element {Nstop} is reached. The extracted quantities are stored as a -vector, which is typically shorter than the input vector. - -Each listed input is operated on independently to produce one output -vector. Each listed input must be a global vector or column of a -global array calculated by another "compute"_compute.html or -"fix"_fix.html. - -If an input value begins with "c_", a compute ID must follow which has -been previously defined in the input script and which generates a -global vector or array. See the individual "compute"_compute.html doc -page for details. If no bracketed integer is appended, the vector -calculated by the compute is used. If a bracketed integer is -appended, the Ith column of the array calculated by the compute is -used. Users can also write code for their own compute styles and "add -them to LAMMPS"_Modify.html. - -If a value begins with "f_", a fix ID must follow which has been -previously defined in the input script and which generates a global -vector or array. See the individual "fix"_fix.html doc page for -details. Note that some fixes only produce their values on certain -timesteps, which must be compatible with when compute slice references -the values, else an error results. If no bracketed integer is -appended, the vector calculated by the fix is used. If a bracketed -integer is appended, the Ith column of the array calculated by the fix -is used. Users can also write code for their own fix style and "add -them to LAMMPS"_Modify.html. - -If an input value begins with "v_", a variable name must follow which -has been previously defined in the input script. Only vector-style -variables can be referenced. See the "variable"_variable.html command -for details. Note that variables of style {vector} define a formula -which can reference individual atom properties or thermodynamic -keywords, or they can invoke other computes, fixes, or variables when -they are evaluated, so this is a very general means of specifying -quantities to slice. - -If a single input is specified this compute produces a global vector, -even if the length of the vector is 1. If multiple inputs are -specified, then a global array of values is produced, with the number -of columns equal to the number of inputs specified. - -:line - -[Output info:] - -This compute calculates a global vector if a single input value is -specified or a global array with N columns where N is the number of -inputs. The length of the vector or the number of rows in the array -is equal to the number of values extracted from each input vector. -These values can be used by any command that uses global vector or -array values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The vector or array values calculated by this compute are simply -copies of values generated by computes or fixes or variables that are -input vectors to this compute. If there is a single input vector of -intensive and/or extensive values, then each value in the vector of -values calculated by this compute will be "intensive" or "extensive", -depending on the corresponding input value. If there are multiple -input vectors, and all the values in them are intensive, then the -array values calculated by this compute are "intensive". If there are -multiple input vectors, and any value in them is extensive, then the -array values calculated by this compute are "extensive". Values -produced by a variable are treated as intensive. - -The vector or array values will be in whatever "units"_units.html the -input quantities are in. - -[Restrictions:] none - -[Related commands:] - -"compute"_compute.html, "fix"_fix.html, "compute -reduce"_compute_reduce.html - -[Default:] none diff --git a/doc/txt/compute_smd_contact_radius.txt b/doc/txt/compute_smd_contact_radius.txt deleted file mode 100644 index 4ab03e3738c4fcc60378ab988a60c33b1260ad41..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_contact_radius.txt +++ /dev/null @@ -1,55 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/contact/radius command :h3 - -[Syntax:] - -compute ID group-ID smd/contact/radius :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/contact/radius = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/contact/radius :pre - -[Description:] - -Define a computation which outputs the contact radius, i.e., the -radius used to prevent particles from penetrating each other. The -contact radius is used only to prevent particles belonging to -different physical bodies from penetrating each other. It is used by -the contact pair styles, e.g., smd/hertz and smd/tri_surface. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -The value of the contact radius will be 0.0 for particles not in the -specified compute group. - -[Output info:] - -This compute calculates a per-particle vector, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle vector values will be in distance "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"dump custom"_dump.html smd/hertz smd/tri_surface - -[Default:] none diff --git a/doc/txt/compute_smd_damage.txt b/doc/txt/compute_smd_damage.txt deleted file mode 100644 index 139fb3ec7bfb48e56b56e23af5cce1176f45cdbe..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_damage.txt +++ /dev/null @@ -1,48 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/damage command :h3 - -[Syntax:] - -compute ID group-ID smd/damage :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/damage = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/damage :pre - -[Description:] - -Define a computation that calculates the damage status of SPH particles -according to the damage model which is defined via the SMD SPH pair styles, e.g., the maximum plastic strain failure criterion. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth Mach Dynamics in LAMMPS. - -[Output Info:] - -This compute calculates a per-particle vector, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle values are dimensionless an in the range of zero to one. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build - - -[Related commands:] - -"smd/plastic_strain"_compute_smd_plastic_strain.html, "smd/tlsph_stress"_compute_smd_tlsph_stress.html - -[Default:] none diff --git a/doc/txt/compute_smd_hourglass_error.txt b/doc/txt/compute_smd_hourglass_error.txt deleted file mode 100644 index 28f1f351a82d8949ce723de8773cb564bea053f8..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_hourglass_error.txt +++ /dev/null @@ -1,62 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/hourglass/error command :h3 - -[Syntax:] - -compute ID group-ID smd/hourglass/error :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/hourglass/error = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/hourglass/error :pre - -[Description:] - -Define a computation which outputs the error of the approximated -relative separation with respect to the actual relative separation of -the particles i and j. Ideally, if the deformation gradient is exact, -and there exists a unique mapping between all particles' positions -within the neighborhood of the central node and the deformation -gradient, the approximated relative separation will coincide with the -actual relative separation of the particles i and j in the deformed -configuration. This compute is only really useful for debugging the -hourglass control mechanism which is part of the Total-Lagrangian SPH -pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth -Mach Dynamics in LAMMPS. - -[Output Info:] - -This compute calculates a per-particle vector, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle vector values will are dimensionless. See -"units"_units.html. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This quantity will be computed only for particles which interact with -tlsph pair style. - -[Related Commands:] - -"smd/tlsph_defgrad"_compute_smd_tlsph_defgrad.html - -[Default:] - diff --git a/doc/txt/compute_smd_internal_energy.txt b/doc/txt/compute_smd_internal_energy.txt deleted file mode 100644 index b9d18ce933966e161c26a1ecc783e8a2bbc76abe..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_internal_energy.txt +++ /dev/null @@ -1,49 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/internal/energy command :h3 - -[Syntax:] - -compute ID group-ID smd/internal/energy :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/smd/internal/energy = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/internal/energy :pre - -[Description:] - -Define a computation which outputs the per-particle enthalpy, i.e., -the sum of potential energy and heat. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth -Mach Dynamics in LAMMPS. - -[Output Info:] - -This compute calculates a per-particle vector, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle vector values will be given in "units"_units.html of energy. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. This compute can -only be used for particles which interact via the updated Lagrangian -or total Lagrangian SPH pair styles. - -[Related Commands:] - -[Default:] diff --git a/doc/txt/compute_smd_plastic_strain.txt b/doc/txt/compute_smd_plastic_strain.txt deleted file mode 100644 index d12be7222a23744d489b6a1153bae16fb91f6753..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_plastic_strain.txt +++ /dev/null @@ -1,54 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/plastic/strain command :h3 - -[Syntax:] - -compute ID group-ID smd/plastic/strain :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/plastic/strain = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/plastic/strain :pre - -[Description:] - -Define a computation that outputs the equivalent plastic strain per -particle. This command is only meaningful if a material model with -plasticity is defined. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth -Mach Dynamics in LAMMPS. - -[Output Info:] - -This compute calculates a per-particle vector, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle values will be given dimensionless. See "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. This compute can -only be used for particles which interact via the updated Lagrangian -or total Lagrangian SPH pair styles. - -[Related commands:] - -"smd/plastic/strain/rate"_compute_smd_tlsph_strain.html, -"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html, -"smd/tlsph/strain"_compute_smd_tlsph_strain.html - -[Default:] none diff --git a/doc/txt/compute_smd_plastic_strain_rate.txt b/doc/txt/compute_smd_plastic_strain_rate.txt deleted file mode 100644 index ffc009b2a70978a272f9184b71ca6b1828dc768a..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_plastic_strain_rate.txt +++ /dev/null @@ -1,54 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/plastic/strain/rate command :h3 - -[Syntax:] - -compute ID group-ID smd/plastic/strain/rate :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/plastic/strain/rate = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/plastic/strain/rate :pre - -[Description:] - -Define a computation that outputs the time rate of the equivalent -plastic strain. This command is only meaningful if a material model -with plasticity is defined. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth -Mach Dynamics in LAMMPS. - -[Output Info:] - -This compute calculates a per-particle vector, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle values will be given in "units"_units.html of one over time. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. This compute can -only be used for particles which interact via the updated Lagrangian -or total Lagrangian SPH pair styles. - -[Related commands:] - -"smd/plastic/strain"_compute_smd_plastic_strain.html, -"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html, -"smd/tlsph/strain"_compute_smd_tlsph_strain.html - -[Default:] none diff --git a/doc/txt/compute_smd_rho.txt b/doc/txt/compute_smd_rho.txt deleted file mode 100644 index 31d7351c92e2aaeb55f53c71bd7fe75be82df9bc..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_rho.txt +++ /dev/null @@ -1,51 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/rho command :h3 - -[Syntax:] - -compute ID group-ID smd/rho :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/rho = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/rho :pre - -[Description:] - -Define a computation that calculates the per-particle mass density. -The mass density is the mass of a particle which is constant during -the course of a simulation, divided by its volume, which can change -due to mechanical deformation. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle vector, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle values will be in "units"_units.html of mass over volume. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute smd/vol"_compute_smd_vol.html - -[Default:] none diff --git a/doc/txt/compute_smd_tlsph_defgrad.txt b/doc/txt/compute_smd_tlsph_defgrad.txt deleted file mode 100644 index bdd3a26a8f0242d41773c77414822164a15128db..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_tlsph_defgrad.txt +++ /dev/null @@ -1,56 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/tlsph/defgrad command :h3 - -[Syntax:] - -compute ID group-ID smd/tlsph/defgrad :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/tlsph/defgrad = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/tlsph/defgrad :pre - -[Description:] - -Define a computation that calculates the deformation gradient. It is -only meaningful for particles which interact according to the -Total-Lagrangian SPH pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute outputs a per-particle vector of vectors (tensors), -which can be accessed by any command that uses per-particle values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The per-particle vector values will be given dimensionless. See -"units"_units.html. The per-particle vector has 10 entries. The first -nine entries correspond to the xx, xy, xz, yx, yy, yz, zx, zy, zz -components of the asymmetric deformation gradient tensor. The tenth -entry is the determinant of the deformation gradient. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. TThis compute can -only be used for particles which interact via the total Lagrangian SPH -pair style. - -[Related commands:] - -"smd/hourglass/error"_compute_smd_hourglass_error.html - -[Default:] none diff --git a/doc/txt/compute_smd_tlsph_dt.txt b/doc/txt/compute_smd_tlsph_dt.txt deleted file mode 100644 index e9ff2e739b111a8b733fd7aa01f31262834ed45f..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_tlsph_dt.txt +++ /dev/null @@ -1,58 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/tlsph/dt command :h3 - -[Syntax:] - -compute ID group-ID smd/tlsph/dt :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/tlsph/dt = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/tlsph/dt :pre - -[Description:] - -Define a computation that outputs the CFL-stable time increment per -particle. This time increment is essentially given by the speed of -sound, divided by the SPH smoothing length. Because both the speed of -sound and the smoothing length typically change during the course of a -simulation, the stable time increment needs to be re-computed every -time step. This calculation is performed automatically in the -relevant SPH pair styles and this compute only serves to make the -stable time increment accessible for output purposes. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle vector, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle values will be given in "units"_units.html of time. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This compute can only be used for particles interacting with the -Total-Lagrangian SPH pair style. - -[Related commands:] - -"smd/adjust/dt"_fix_smd_adjust_dt.html - -[Default:] none diff --git a/doc/txt/compute_smd_tlsph_num_neighs.txt b/doc/txt/compute_smd_tlsph_num_neighs.txt deleted file mode 100644 index db977fe676b5185f39088c96e2a5157dda30a30f..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_tlsph_num_neighs.txt +++ /dev/null @@ -1,53 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/tlsph/num/neighs command :h3 - -[Syntax:] - -compute ID group-ID smd/tlsph/num/neighs :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/tlsph/num/neighs = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/tlsph/num/neighs :pre - -[Description:] - -Define a computation that calculates the number of particles inside of -the smoothing kernel radius for particles interacting via the -Total-Lagrangian SPH pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle vector, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle values are dimensionless. See "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This quantity will be computed only for particles which interact with -the Total-Lagrangian pair style. - -[Related commands:] - -"smd/ulsph/num/neighs"_compute_smd_ulsph_num_neighs.html - -[Default:] none diff --git a/doc/txt/compute_smd_tlsph_shape.txt b/doc/txt/compute_smd_tlsph_shape.txt deleted file mode 100644 index 0ecfec0187dbc7c2a0ad9c6507f196d52f043b6e..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_tlsph_shape.txt +++ /dev/null @@ -1,60 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/tlsph/shape command :h3 - -[Syntax:] - -compute ID group-ID smd/tlsph/shape :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/tlsph/shape = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/tlsph/shape :pre - -[Description:] - -Define a computation that outputs the current shape of the volume -associated with a particle as a rotated ellipsoid. It is only -meaningful for particles which interact according to the -Total-Lagrangian SPH pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle vector of vectors, which can be -accessed by any command that uses per-particle values from a compute -as input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -The per-particle vector has 7 entries. The first three entries -correspond to the lengths of the ellipsoid's axes and have units of -length. These axis values are computed as the contact radius times the -xx, yy, or zz components of the Green-Lagrange strain tensor -associated with the particle. The next 4 values are quaternions -(order: q, x, y, z) which describe the spatial rotation of the -particle relative to its initial state. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This quantity will be computed only for particles which interact with -the Total-Lagrangian SPH pair style. - -[Related commands:] - -"smd/contact/radius"_compute_smd_contact_radius.html - -[Default:] none diff --git a/doc/txt/compute_smd_tlsph_strain.txt b/doc/txt/compute_smd_tlsph_strain.txt deleted file mode 100644 index 70f996e2064f0dc530844b825e8116f10b04b94b..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_tlsph_strain.txt +++ /dev/null @@ -1,57 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/tlsph/strain command :h3 - -[Syntax:] - -compute ID group-ID smd/tlsph/strain :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/tlsph/strain = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/tlsph/strain :pre - -[Description:] - -Define a computation that calculates the Green-Lagrange strain tensor -for particles interacting via the Total-Lagrangian SPH pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle vector of vectors (tensors), -which can be accessed by any command that uses per-particle values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The per-particle tensor values will be given dimensionless. See -"units"_units.html. - -The per-particle vector has 6 entries, corresponding to the xx, yy, -zz, xy, xz, yz components of the symmetric strain tensor. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This quantity will be computed only for particles which interact with -the Total-Lagrangian SPH pair style. - -[Related commands:] - -"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html, -"smd/tlsph/stress"_compute_smd_tlsph_stress.html - -[Default:] none diff --git a/doc/txt/compute_smd_tlsph_strain_rate.txt b/doc/txt/compute_smd_tlsph_strain_rate.txt deleted file mode 100644 index e6d968c523d62ce483b05a5a4522959bf4f6e2cb..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_tlsph_strain_rate.txt +++ /dev/null @@ -1,56 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/tlsph/strain/rate command :h3 - -[Syntax:] - -compute ID group-ID smd/tlsph/strain/rate :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/tlsph/strain/rate = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/tlsph/strain/rate :pre - -[Description:] - -Define a computation that calculates the rate of the strain tensor for -particles interacting via the Total-Lagrangian SPH pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle vector of vectors (tensors), -which can be accessed by any command that uses per-particle values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The values will be given in "units"_units.html of one over time. - -The per-particle vector has 6 entries, corresponding to the xx, yy, -zz, xy, xz, yz components of the symmetric strain rate tensor. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This quantity will be computed only for particles which interact with -Total-Lagrangian SPH pair style. - -[Related commands:] - -"compute smd/tlsph/strain"_compute_smd_tlsph_strain.html, "compute -smd/tlsph/stress"_compute_smd_tlsph_stress.html - -[Default:] none diff --git a/doc/txt/compute_smd_tlsph_stress.txt b/doc/txt/compute_smd_tlsph_stress.txt deleted file mode 100644 index 8340e885363c43c931f6734ffdbd2a415d74f74b..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_tlsph_stress.txt +++ /dev/null @@ -1,58 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/tlsph/stress command :h3 - -[Syntax:] - -compute ID group-ID smd/tlsph/stress :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/tlsph/stress = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/tlsph/stress :pre - -[Description:] - -Define a computation that outputs the Cauchy stress tensor for -particles interacting via the Total-Lagrangian SPH pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle vector of vectors (tensors), -which can be accessed by any command that uses per-particle values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The values will be given in "units"_units.html of pressure. - -The per-particle vector has 7 entries. The first six entries -correspond to the xx, yy, zz, xy, xz and yz components of the -symmetric Cauchy stress tensor. The seventh entry is the second -invariant of the stress tensor, i.e., the von Mises equivalent stress. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This quantity will be computed only for particles which interact with -the Total-Lagrangian SPH pair style. - -[Related commands:] - -"compute smd/tlsph/strain"_compute_smd_tlsph_strain.html, "cmopute -smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html - -[Default:] none diff --git a/doc/txt/compute_smd_triangle_vertices.txt b/doc/txt/compute_smd_triangle_vertices.txt deleted file mode 100644 index 487b1b590b4d6e9a70643305f900a68a57e0b03c..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_triangle_vertices.txt +++ /dev/null @@ -1,62 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/triangle/vertices command :h3 - -[Syntax:] - -compute ID group-ID smd/triangle/vertices :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/triangle/vertices = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/triangle/mesh/vertices :pre - -[Description:] - -Define a computation that returns the coordinates of the vertices -corresponding to the triangle-elements of a mesh created by the "fix -smd/wall_surface"_fix_smd_wall_surface.html. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute returns a per-particle vector of vectors, which can be -accessed by any command that uses per-particle values from a compute -as input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. - -The per-particle vector has nine entries, (x1/y1/z1), (x2/y2/z2), and -(x3/y3/z3) corresponding to the first, second, and third vertex of -each triangle. - -It is only meaningful to use this compute for a group of particles -which is created via the "fix smd/wall_surface"_fix_smd_wall_surface.html command. - -The output of this compute can be used with the dump2vtk_tris tool to -generate a VTK representation of the smd/wall_surface mesh for -visualization purposes. - -The values will be given in "units"_units.html of distance. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix smd/move/tri/surf"_fix_smd_move_triangulated_surface.html, -"fix smd/wall_surface"_fix_smd_wall_surface.html - -[Default:] none diff --git a/doc/txt/compute_smd_ulsph_num_neighs.txt b/doc/txt/compute_smd_ulsph_num_neighs.txt deleted file mode 100644 index 5157f17e578e80ec2a8799b63ea894c5ffc60ac5..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_ulsph_num_neighs.txt +++ /dev/null @@ -1,52 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/ulsph/num/neighs command :h3 - -[Syntax:] - -compute ID group-ID smd/ulsph/num/neighs :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/ulsph/num/neighs = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/ulsph/num/neighs :pre - -[Description:] - -Define a computation that returns the number of neighbor particles -inside of the smoothing kernel radius for particles interacting via -the updated Lagrangian SPH pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute returns a per-particle vector, which can be accessed by -any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle values will be given dimensionless, see "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. This compute can -only be used for particles which interact with the updated Lagrangian -SPH pair style. - -[Related commands:] - -"compute smd/tlsph/num/neighs"_compute_smd_tlsph_num_neighs.html - -[Default:] none diff --git a/doc/txt/compute_smd_ulsph_strain.txt b/doc/txt/compute_smd_ulsph_strain.txt deleted file mode 100644 index 3dc6bd5249439a82cc76d12bd519f3f1803bbd27..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_ulsph_strain.txt +++ /dev/null @@ -1,55 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/ulsph/strain command :h3 - -[Syntax:] - -compute ID group-ID smd/ulsph/strain :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/ulsph/strain = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/ulsph/strain :pre - -[Description:] - -Define a computation that outputs the logarithmic strain tensor. for -particles interacting via the updated Lagrangian SPH pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle tensor, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle vector has 6 entries, corresponding to the xx, yy, -zz, xy, xz, yz components of the symmetric strain rate tensor. - -The per-particle tensor values will be given dimensionless, see -"units"_units.html. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. This compute can -only be used for particles which interact with the updated Lagrangian -SPH pair style. - -[Related commands:] - -"compute smd/tlsph/strain"_compute_smd_tlsph_strain.html - -[Default:] none diff --git a/doc/txt/compute_smd_ulsph_strain_rate.txt b/doc/txt/compute_smd_ulsph_strain_rate.txt deleted file mode 100644 index 1ade5ac2d5a8b77c950d4dfab582ad95aafa52e4..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_ulsph_strain_rate.txt +++ /dev/null @@ -1,56 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/ulsph/strain/rate command :h3 - -[Syntax:] - -compute ID group-ID smd/ulsph/strain/rate :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/ulsph/strain/rate = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/ulsph/strain/rate :pre - -[Description:] - -Define a computation that outputs the rate of the logarithmic strain -tensor for particles interacting via the updated Lagrangian SPH pair -style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle vector of vectors (tensors), -which can be accessed by any command that uses per-particle values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The values will be given in "units"_units.html of one over time. - -The per-particle vector has 6 entries, corresponding to the xx, yy, -zz, xy, xz, yz components of the symmetric strain rate tensor. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This compute can only be used for particles which interact with the -updated Lagrangian SPH pair style. - -[Related commands:] - -"compute smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html - -[Default:] none diff --git a/doc/txt/compute_smd_ulsph_stress.txt b/doc/txt/compute_smd_ulsph_stress.txt deleted file mode 100644 index ff53e777c50615386d28db11a07a46ec682c0563..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_ulsph_stress.txt +++ /dev/null @@ -1,57 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/ulsph/stress command :h3 - -[Syntax:] - -compute ID group-ID smd/ulsph/stress :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/ulsph/stress = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/ulsph/stress :pre - -[Description:] - -Define a computation that outputs the Cauchy stress tensor. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle vector of vectors (tensors), -which can be accessed by any command that uses per-particle values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The values will be given in "units"_units.html of pressure. - -The per-particle vector has 7 entries. The first six entries -correspond to the xx, yy, zz, xy, xz, yz components of the symmetric -Cauchy stress tensor. The seventh entry is the second invariant of the -stress tensor, i.e., the von Mises equivalent stress. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. This compute can -only be used for particles which interact with the updated Lagrangian -SPH pair style. - -[Related commands:] - -"compute smd/ulsph/strain"_compute_smd_ulsph_strain.html, "compute -smd/ulsph/strain/rate"_compute_smd_ulsph_strain_rate.html "compute -smd/tlsph/stress"_compute_smd_tlsph_stress.html - -[Default:] none diff --git a/doc/txt/compute_smd_vol.txt b/doc/txt/compute_smd_vol.txt deleted file mode 100644 index 0edd61f624228972e7090aa15549b2361b24d0c8..0000000000000000000000000000000000000000 --- a/doc/txt/compute_smd_vol.txt +++ /dev/null @@ -1,53 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute smd/vol command :h3 - -[Syntax:] - -compute ID group-ID smd/vol :pre - -ID, group-ID are documented in "compute"_compute.html command -smd/vol = style name of this compute command :ul - -[Examples:] - -compute 1 all smd/vol :pre - -[Description:] - -Define a computation that provides the per-particle volume and the sum -of the per-particle volumes of the group for which the fix is defined. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth -Mach Dynamics in LAMMPS. - -[Output info:] - -This compute calculates a per-particle vector, which can be accessed -by any command that uses per-particle values from a compute as input. -See the "Howto output"_Howto_output.html doc page for an overview of -LAMMPS output options. - -The per-particle vector values will be given in "units"_units.html of -volume. - -Additionally, the compute returns a scalar, which is the sum of the -per-particle volumes of the group for which the fix is defined. - -[Restrictions:] - -This compute is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute smd/rho"_compute_smd_rho.html - -[Default:] none diff --git a/doc/txt/compute_sna_atom.txt b/doc/txt/compute_sna_atom.txt deleted file mode 100644 index 0bf63019f9830b32796f6c0d3bc9cbfed4e6abef..0000000000000000000000000000000000000000 --- a/doc/txt/compute_sna_atom.txt +++ /dev/null @@ -1,312 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute sna/atom command :h3 -compute snad/atom command :h3 -compute snav/atom command :h3 -compute snap command :h3 - -[Syntax:] - -compute ID group-ID sna/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... -compute ID group-ID snad/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... -compute ID group-ID snav/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... -compute ID group-ID snap rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -sna/atom = style name of this compute command :l -rcutfac = scale factor applied to all cutoff radii (positive real) :l -rfac0 = parameter in distance to angle conversion (0 < rcutfac < 1) :l -twojmax = band limit for bispectrum components (non-negative integer) :l -R_1, R_2,... = list of cutoff radii, one for each type (distance units) :l -w_1, w_2,... = list of neighbor weights, one for each type :l -zero or more keyword/value pairs may be appended :l -keyword = {rmin0} or {switchflag} or {bzeroflag} or {quadraticflag} :l - {rmin0} value = parameter in distance to angle conversion (distance units) - {switchflag} value = {0} or {1} - {0} = do not use switching function - {1} = use switching function - {bzeroflag} value = {0} or {1} - {0} = do not subtract B0 - {1} = subtract B0 - {quadraticflag} value = {0} or {1} - {0} = do not generate quadratic terms - {1} = generate quadratic terms :pre -:ule - -[Examples:] - -compute b all sna/atom 1.4 0.99363 6 2.0 2.4 0.75 1.0 rmin0 0.0 -compute db all sna/atom 1.4 0.95 6 2.0 1.0 -compute vb all sna/atom 1.4 0.95 6 2.0 1.0 -compute snap all snap 1.4 0.95 6 2.0 1.0 :pre - -[Description:] - -Define a computation that calculates a set of quantities related to the -bispectrum components of the atoms in a group. These computes are -used primarily for calculating the dependence of energy, force, and -stress components on the linear coefficients in the -"snap pair_style"_pair_snap.html, which is useful when training a -SNAP potential to match target data. - -Bispectrum components of an atom are order parameters characterizing -the radial and angular distribution of neighbor atoms. The detailed -mathematical definition is given in the paper by Thompson et -al. "(Thompson)"_#Thompson20141 - -The position of a neighbor atom {i'} relative to a central atom {i} is -a point within the 3D ball of radius {R_ii' = rcutfac*(R_i + R_i')} - -Bartok et al. "(Bartok)"_#Bartok20101, proposed mapping this 3D ball -onto the 3-sphere, the surface of the unit ball in a four-dimensional -space. The radial distance {r} within {R_ii'} is mapped on to a third -polar angle {theta0} defined by, - -:c,image(Eqs/compute_sna_atom1.jpg) - -In this way, all possible neighbor positions are mapped on to a subset -of the 3-sphere. Points south of the latitude {theta0max=rfac0*Pi} -are excluded. - -The natural basis for functions on the 3-sphere is formed by the 4D -hyperspherical harmonics {U^j_m,m'(theta, phi, theta0).} These -functions are better known as {D^j_m,m',} the elements of the Wigner -{D}-matrices "(Meremianin"_#Meremianin2006, -"Varshalovich)"_#Varshalovich1987. - -The density of neighbors on the 3-sphere can be written as a sum of -Dirac-delta functions, one for each neighbor, weighted by species and -radial distance. Expanding this density function as a generalized -Fourier series in the basis functions, we can write each Fourier -coefficient as - -:c,image(Eqs/compute_sna_atom2.jpg) - -The {w_i'} neighbor weights are dimensionless numbers that are chosen -to distinguish atoms of different types, while the central atom is -arbitrarily assigned a unit weight. The function {fc(r)} ensures that -the contribution of each neighbor atom goes smoothly to zero at -{R_ii'}: - -:c,image(Eqs/compute_sna_atom4.jpg) - -The expansion coefficients {u^j_m,m'} are complex-valued and they are -not directly useful as descriptors, because they are not invariant -under rotation of the polar coordinate frame. However, the following -scalar triple products of expansion coefficients can be shown to be -real-valued and invariant under rotation "(Bartok)"_#Bartok20101. - -:c,image(Eqs/compute_sna_atom3.jpg) - -The constants {H^jmm'_j1m1m1'_j2m2m2'} are coupling coefficients, -analogous to Clebsch-Gordan coefficients for rotations on the -2-sphere. These invariants are the components of the bispectrum and -these are the quantities calculated by the compute {sna/atom}. They -characterize the strength of density correlations at three points on -the 3-sphere. The j2=0 subset form the power spectrum, which -characterizes the correlations of two points. The lowest-order -components describe the coarsest features of the density function, -while higher-order components reflect finer detail. Note that the -central atom is included in the expansion, so three point-correlations -can be either due to three neighbors, or two neighbors and the central -atom. - -Compute {snad/atom} calculates the derivative of the bispectrum components -summed separately for each atom type: - -:c,image(Eqs/compute_sna_atom5.jpg) - -The sum is over all atoms {i'} of atom type {I}. For each atom {i}, -this compute evaluates the above expression for each direction, each -atom type, and each bispectrum component. See section below on output -for a detailed explanation. - -Compute {snav/atom} calculates the virial contribution due to the -derivatives: - -:c,image(Eqs/compute_sna_atom6.jpg) - -Again, the sum is over all atoms {i'} of atom type {I}. For each atom -{i}, this compute evaluates the above expression for each of the six -virial components, each atom type, and each bispectrum component. See -section below on output for a detailed explanation. - -Compute {snap} calculates a global array contains information related -to all three of the above per-atom computes {sna/atom}, {snad/atom}, -and {snav/atom}. The first row of the array contains the summation of -{sna/atom} over all atoms, but broken out by type. The last six rows -of the array contain the summation of {snav/atom} over all atoms, broken -out by type. In between these are 3*{N} rows containing the same values -computed by {snad/atom} (these are already summed over all atoms and -broken out by type). The element in the last column of each row contains -the potential energy, force, or stress, according to the row. -These quantities correspond to the user-specified reference potential -that must be subtracted from the target data when fitting SNAP. -The potential energy calculation uses the built in compute {thermo_pe}. -The stress calculation uses a compute called {snap_press} that is -automatically created behind the scenes, according to the following -command: - -compute snap_press all pressure NULL virial :pre - -See section below on output for a detailed explanation of the data -layout in the global array. - -The value of all bispectrum components will be zero for atoms not in -the group. Neighbor atoms not in the group do not contribute to the -bispectrum of atoms in the group. - -The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (i.e. each time a snapshot of atoms -is dumped). Thus it can be inefficient to compute/dump this quantity -too frequently. - -The argument {rcutfac} is a scale factor that controls the ratio of -atomic radius to radial cutoff distance. - -The argument {rfac0} and the optional keyword {rmin0} define the -linear mapping from radial distance to polar angle {theta0} on the -3-sphere. - -The argument {twojmax} defines which -bispectrum components are generated. See section below on output for a -detailed explanation of the number of bispectrum components and the -ordered in which they are listed. - -The keyword {switchflag} can be used to turn off the switching -function. - -The keyword {bzeroflag} determines whether or not {B0}, the bispectrum -components of an atom with no neighbors, are subtracted from -the calculated bispectrum components. This optional keyword -normally only affects compute {sna/atom}. However, when -{quadraticflag} is on, it also affects {snad/atom} and {snav/atom}. - -The keyword {quadraticflag} determines whether or not the -quadratic analogs to the bispectrum quantities are generated. -These are formed by taking the outer product of the vector -of bispectrum components with itself. -See section below on output for a -detailed explanation of the number of quadratic terms and the -ordered in which they are listed. - -NOTE: If you have a bonded system, then the settings of -"special_bonds"_special_bonds.html command can remove pairwise -interactions between atoms in the same bond, angle, or dihedral. This -is the default setting for the "special_bonds"_special_bonds.html -command, and means those pairwise interactions do not appear in the -neighbor list. Because this fix uses the neighbor list, it also means -those pairs will not be included in the calculation. One way to get -around this, is to write a dump file, and use the "rerun"_rerun.html -command to compute the bispectrum components for snapshots in the dump -file. The rerun script can use a "special_bonds"_special_bonds.html -command that includes all pairs in the neighbor list. - -;line - -[Output info:] - -Compute {sna/atom} calculates a per-atom array, each column -corresponding to a particular bispectrum component. The total number -of columns and the identity of the bispectrum component contained in -each column depend of the value of {twojmax}, as -described by the following piece of python code: - -for j1 in range(0,twojmax+1): - for j2 in range(0,j1+1): - for j in range(j1-j2,min(twojmax,j1+j2)+1,2): - if (j>=j1): print j1/2.,j2/2.,j/2. :pre - -NOTE: the {diagonal} keyword allowing other possible choices -for the number of bispectrum components was removed in 2019, -since all potentials use the value of 3, corresponding to the -above set of bispectrum components. - -Compute {snad/atom} evaluates a per-atom array. The columns are -arranged into {ntypes} blocks, listed in order of atom type {I}. Each -block contains three sub-blocks corresponding to the {x}, {y}, and {z} -components of the atom position. Each of these sub-blocks contains -one column for each bispectrum component, the same as for compute -{sna/atom} - -Compute {snav/atom} evaluates a per-atom array. The columns are -arranged into {ntypes} blocks, listed in order of atom type {I}. Each -block contains six sub-blocks corresponding to the {xx}, {yy}, {zz}, -{yz}, {xz}, and {xy} components of the virial tensor in Voigt -notation. Each of these sub-blocks contains one column for each -bispectrum component, the same as for compute {sna/atom} - -Compute {snap} evaluates a global array. -The columns are arranged into -{ntypes} blocks, listed in order of atom type {I}. Each block -contains one column for each bispectrum component, the same as for compute -{sna/atom}. A final column contains the corresponding energy, force component -on an atom, or virial stress component. The rows of the array appear -in the following order: - - 1 row: {sna/atom} quantities summed for all atoms of type {I} - 3*{N} rows: {snad/atom} quantities, with derivatives w.r.t. x, y, and z coordinate of atom {i} appearing in consecutive rows. The atoms are sorted based on atom ID. - 6 rows: {snav/atom} quantities summed for all atoms of type {I} :ul - -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. -The number of columns in the global array generated by {snap} -are 31, and 931, respectively, while the number of rows is -1+3*{N}+6, where {N} is the total number of atoms. - -If the {quadratic} keyword value is set to 1, then additional -columns are generated, corresponding to -the products of all distinct pairs of bispectrum components. If the -number of bispectrum components is {K}, then the number of distinct pairs -is {K}({K}+1)/2. -For compute {sna/atom} these columns are appended to existing {K} columns. -The ordering of quadratic terms is upper-triangular, -(1,1),(1,2)...(1,{K}),(2,1)...({K}-1,{K}-1),({K}-1,{K}),({K},{K}). -For computes {snad/atom} and {snav/atom} each set of {K}({K}+1)/2 -additional columns is inserted directly after each of sub-block -of linear terms i.e. linear and quadratic terms are contiguous. -So the nesting order from inside to outside is bispectrum component, -linear then quadratic, vector/tensor component, type. - -These values can be accessed by any command that uses per-atom values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -[Restrictions:] - -These computes are part of the SNAP package. They are only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_style snap"_pair_snap.html - -[Default:] - -The optional keyword defaults are {rmin0} = 0, -{switchflag} = 1, {bzeroflag} = 1, {quadraticflag} = 0, - -:line - -:link(Thompson20141) -[(Thompson)] Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint -available at "arXiv:1409.3880"_http://arxiv.org/abs/1409.3880 - -:link(Bartok20101) -[(Bartok)] Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). - -:link(Meremianin2006) -[(Meremianin)] Meremianin, J. Phys. A, 39, 3099 (2006). - -:link(Varshalovich1987) -[(Varshalovich)] Varshalovich, Moskalev, Khersonskii, Quantum Theory -of Angular Momentum, World Scientific, Singapore (1987). diff --git a/doc/txt/compute_stress_mop.txt b/doc/txt/compute_stress_mop.txt deleted file mode 100644 index d97581afd537cd75e8d596fc079bff3ba4a4e782..0000000000000000000000000000000000000000 --- a/doc/txt/compute_stress_mop.txt +++ /dev/null @@ -1,111 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -compute stress/mop command :h3 -compute stress/mop/profile command :h3 - - -[Syntax:] - -compute ID group-ID style dir args keywords ... :pre - -ID, group-ID are documented in "compute"_compute.html command -style = {stress/mop} or {stress/mop/profile} -dir = {x} or {y} or {z} is the direction normal to the plane -args = argument specific to the compute style -keywords = {kin} or {conf} or {total} (one of more can be specified) :ul - {stress/mop} args = pos - pos = {lower} or {center} or {upper} or coordinate value (distance units) is the position of the plane - {stress/mop/profile} args = origin delta - origin = {lower} or {center} or {upper} or coordinate value (distance units) is the position of the first plane - delta = value (distance units) is the distance between planes :pre - -compute 1 all stress/mop x lower total -compute 1 liquid stress/mop z 0.0 kin conf -fix 1 all ave/time 10 1000 10000 c_1\[*\] file mop.time -fix 1 all ave/time 10 1000 10000 c_1\[2\] file mop.time :pre - -compute 1 all stress/mop/profile x lower 0.1 total -compute 1 liquid stress/mop/profile z 0.0 0.25 kin conf -fix 1 all ave/time 500 20 10000 c_1\[*\] ave running overwrite file mopp.time mode vector :pre - - -[Description:] - -Compute {stress/mop} and compute {stress/mop/profile} define computations that -calculate components of the local stress tensor using the method of -planes "(Todd)"_#mop-todd. Specifically in compute {stress/mop} calculates 3 -components are computed in directions {dir},{x}; {dir},{y}; and -{dir},{z}; where {dir} is the direction normal to the plane, while -in compute {stress/mop/profile} the profile of the stress is computed. - -Contrary to methods based on histograms of atomic stress (i.e. using -"compute stress/atom"_compute_stress_atom.html), the method of planes is -compatible with mechanical balance in heterogeneous systems and at -interfaces "(Todd)"_#mop-todd. - -The stress tensor is the sum of a kinetic term and a configurational -term, which are given respectively by Eq. (21) and Eq. (16) in -"(Todd)"_#mop-todd. For the kinetic part, the algorithm considers that -atoms have crossed the plane if their positions at times t-dt and t are -one on either side of the plane, and uses the velocity at time t-dt/2 -given by the velocity-Verlet algorithm. - -Between one and three keywords can be used to indicate which -contributions to the stress must be computed: kinetic stress (kin), -configurational stress (conf), and/or total stress (total). - -NOTE 1: The configurational stress is computed considering all pairs of atoms where at least one atom belongs to group group-ID. - -NOTE 2: The local stress does not include any Lennard-Jones tail -corrections to the pressure added by the "pair_modify tail -yes"_pair_modify.html command, since those are contributions to the global system pressure. - -[Output info:] - -Compute {stress/mop} calculates a global vector (indices starting at 1), with 3 -values for each declared keyword (in the order the keywords have been -declared). For each keyword, the stress tensor components are ordered as -follows: stress_dir,x, stress_dir,y, and stress_dir,z. - -Compute {stress/mop/profile} instead calculates a global array, with 1 column -giving the position of the planes where the stress tensor was computed, -and with 3 columns of values for each declared keyword (in the order the -keywords have been declared). For each keyword, the profiles of stress -tensor components are ordered as follows: stress_dir,x; stress_dir,y; -and stress_dir,z. - -The values are in pressure "units"_units.html. - -The values produced by this compute can be accessed by various "output commands"_Howto_output.html. For instance, the results can be written to a file using the "fix ave/time"_fix_ave_time.html command. Please see the example in the examples/USER/mop folder. - -[Restrictions:] - -These styles are part of the USER-MISC package. They are only enabled if -LAMMPS is built with that package. See the "Build package"_Build_package.html -doc page on for more info. - -The method is only implemented for 3d orthogonal simulation boxes whose -size does not change in time, and axis-aligned planes. - -The method only works with two-body pair interactions, because it -requires the class method pair->single() to be implemented. In -particular, it does not work with more than two-body pair interactions, -intra-molecular interactions, and long range (kspace) interactions. - -[Related commands:] - -"compute stress/atom"_compute_stress_atom.html - -[Default:] none - -:line - -:link(mop-todd) -[(Todd)] B. D. Todd, Denis J. Evans, and Peter J. Daivis: "Pressure tensor for inhomogeneous fluids", -Phys. Rev. E 52, 1627 (1995). diff --git a/doc/txt/compute_tally.txt b/doc/txt/compute_tally.txt deleted file mode 100644 index 125eba1302a9ecedbaea9721b10edd4ca90767e5..0000000000000000000000000000000000000000 --- a/doc/txt/compute_tally.txt +++ /dev/null @@ -1,99 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute force/tally command :h3 -compute heat/flux/tally command :h3 -compute pe/tally command :h3 -compute pe/mol/tally command :h3 -compute stress/tally command :h3 - -[Syntax:] - -compute ID group-ID style group2-ID :pre - -ID, group-ID are documented in "compute"_compute.html command -style = {force/tally} or {pe/tally} or {pe/mol/tally} or {stress/tally} -group2-ID = group ID of second (or same) group :ul - -[Examples:] - -compute 1 lower force/tally upper -compute 1 left pe/tally right -compute 1 lower stress/tally lower :pre - -[Description:] - -Define a computation that calculates properties between two groups of -atoms by accumulating them from pairwise non-bonded computations. The -two groups can be the same. This is similar to "compute -group/group"_compute_group_group.html only that the data is -accumulated directly during the non-bonded force computation. The -computes {force/tally}, {pe/tally}, {stress/tally}, and -{heat/flux/tally} are primarily provided as example how to program -additional, more sophisticated computes using the tally callback -mechanism. Compute {pe/mol/tally} is one such style, that can -- through using this mechanism - separately tally intermolecular -and intramolecular energies. Something that would otherwise be -impossible without integrating this as a core functionality into -the based classes of LAMMPS. - -:line - -The pairwise contributions are computing via a callback that the -compute registers with the non-bonded pairwise force computation. -This limits the use to systems that have no bonds, no Kspace, and no -many-body interactions. On the other hand, the computation does not -have to compute forces or energies a second time and thus can be much -more efficient. The callback mechanism allows to write more complex -pairwise property computations. - -:line - -[Output info:] - -Compute {pe/tally} calculates a global scalar (the energy) and a per -atom scalar (the contributions of the single atom to the global -scalar). Compute {pe/mol/tally} calculates a global 4-element vector -containing (in this order): {evdwl} and {ecoul} for intramolecular pairs -and {evdwl} and {ecoul} for intermolecular pairs. Since molecules are -identified by their molecule IDs, the partitioning does not have to be -related to molecules, but the energies are tallied into the respective -slots depending on whether the molecule IDs of a pair are the same or -different. Compute {force/tally} calculates a global scalar (the force -magnitude) and a per atom 3-element vector (force contribution from -each atom). Compute {stress/tally} calculates a global scalar -(average of the diagonal elements of the stress tensor) and a per atom -vector (the 6 elements of stress tensor contributions from the -individual atom). - -Both the scalar and vector values calculated by this compute are -"extensive". - -[Restrictions:] - -This compute is part of the USER-TALLY package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Not all pair styles can be evaluated in a pairwise mode as required by -this compute. For example, 3-body and other many-body potentials, -such as "Tersoff"_pair_tersoff.html and -"Stillinger-Weber"_pair_sw.html cannot be used. "EAM"_pair_eam.html -potentials only include the pair potential portion of the EAM -interaction when used by this compute, not the embedding term. Also -bonded or Kspace interactions do not contribute to this compute. - -The computes in this package are not compatible with dynamic groups. - -[Related commands:] - -{compute group/group}_compute_group_group.html, {compute -heat/flux}_compute_heat_flux.html - -[Default:] none - diff --git a/doc/txt/compute_tdpd_cc_atom.txt b/doc/txt/compute_tdpd_cc_atom.txt deleted file mode 100644 index d1f9c3831977acff8fe81b474b5f89d74f5fb0fc..0000000000000000000000000000000000000000 --- a/doc/txt/compute_tdpd_cc_atom.txt +++ /dev/null @@ -1,60 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute tdpd/cc/atom command :h3 - -[Syntax:] - -compute ID group-ID tdpd/cc/atom index :pre - -ID, group-ID are documented in "compute"_compute.html command -tdpd/cc/atom = style name of this compute command -index = index of chemical species (1 to Nspecies) :ul - -[Examples:] - -compute 1 all tdpd/cc/atom 2 :pre - -[Description:] - -Define a computation that calculates the per-atom chemical -concentration of a specified species for each tDPD particle in a -group. - -The chemical concentration of each species is defined as the number of -molecules carried by a tDPD particle for dilute solution. For more -details see "(Li2015)"_#Li2015a. - -[Output info:] - -This compute calculates a per-atom vector, which can be accessed by -any command that uses per-atom values from a compute as input. See the -"Howto output"_Howto_output.html doc page for an overview of LAMMPS -output options. - -The per-atom vector values will be in the units of chemical species -per unit mass. - -[Restrictions:] - -This compute is part of the USER-MESO package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_style tdpd"_pair_meso.html - -[Default:] none - -:line - -:link(Li2015a) -[(Li2015)] Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, 143: -014101 (2015). DOI: 10.1063/1.4923254 - diff --git a/doc/txt/compute_temp.txt b/doc/txt/compute_temp.txt deleted file mode 100644 index 757e00c4d2f3e57ba70ccd180acc69099ee0e325..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp.txt +++ /dev/null @@ -1,112 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp command :h3 -compute temp/kk command :h3 - -[Syntax:] - -compute ID group-ID temp :pre - -ID, group-ID are documented in "compute"_compute.html command -temp = style name of this compute command :ul - -[Examples:] - -compute 1 all temp -compute myTemp mobile temp :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -atoms. A compute of this style can be used by any command that -computes a temperature, e.g. "thermo_modify"_thermo_modify.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc. - -The temperature is calculated by the formula KE = dim/2 N k T, where -KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), -dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in the group, k = Boltzmann constant, and T = temperature. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute for use in the computation of a pressure -tensor. The formula for the components of the tensor is the same as -the above formula, except that v^2 is replaced by vx*vy for the xy -component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as "fix shake"_fix_shake.html and -"fix rigid"_fix_rigid.html. This means the temperature of groups of -atoms that include these constraints will be computed correctly. If -needed, the subtracted degrees-of-freedom can be altered using the -{extra} option of the "compute_modify"_compute_modify.html command. - -A compute of this style with the ID of "thermo_temp" is created when -LAMMPS starts up, as if this command were in the input script: - -compute thermo_temp all temp :pre - -See the "thermo_style" command for more details. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute temp/partial"_compute_temp_partial.html, "compute -temp/region"_compute_temp_region.html, "compute -pressure"_compute_pressure.html - -[Default:] none diff --git a/doc/txt/compute_temp_asphere.txt b/doc/txt/compute_temp_asphere.txt deleted file mode 100644 index 0b06ae0b487c1e2c436d6816b5a160a14336fa90..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_asphere.txt +++ /dev/null @@ -1,153 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/asphere command :h3 - -[Syntax:] - -compute ID group-ID temp/asphere keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -temp/asphere = style name of this compute command :l -zero or more keyword/value pairs may be appended :l -keyword = {bias} or {dof} :l - {bias} value = bias-ID - bias-ID = ID of a temperature compute that removes a velocity bias - {dof} value = {all} or {rotate} - all = compute temperature of translational and rotational degrees of freedom - rotate = compute temperature of just rotational degrees of freedom :pre -:ule - -[Examples:] - -compute 1 all temp/asphere -compute myTemp mobile temp/asphere bias tempCOM -compute myTemp mobile temp/asphere dof rotate :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -aspherical particles, including a contribution from both their -translational and rotational kinetic energy. This differs from the -usual "compute temp"_compute_temp.html command, which assumes point -particles with only translational kinetic energy. - -Only finite-size particles (aspherical or spherical) can be included -in the group. For 3d finite-size particles, each has 6 degrees of -freedom (3 translational, 3 rotational). For 2d finite-size -particles, each has 3 degrees of freedom (2 translational, 1 -rotational). - -NOTE: This choice for degrees of freedom (dof) assumes that all -finite-size aspherical or spherical particles in your model will -freely rotate, sampling all their rotational dof. It is possible to -use a combination of interaction potentials and fixes that induce no -torque or otherwise constrain some of all of your particles so that -this is not the case. Then there are less dof and you should use the -"compute_modify extra"_compute_modify.html command to adjust the dof -accordingly. - -For example, an aspherical particle with all three of its shape -parameters the same is a sphere. If it does not rotate, then it -should have 3 dof instead of 6 in 3d (or 2 instead of 3 in 2d). A -uniaxial aspherical particle has two of its three shape parameters the -same. If it does not rotate around the axis perpendicular to its -circular cross section, then it should have 5 dof instead of 6 in 3d. -The latter is the case for uniaxial ellipsoids in a "GayBerne -model"_pair_gayberne.html since there is no induced torque around the -optical axis. It will also be the case for bi-axial ellipsoids when -exactly two of the semiaxes have the same length and the corresponding -relative well depths are equal. - -The translational kinetic energy is computed the same as is described -by the "compute temp"_compute_temp.html command. The rotational -kinetic energy is computed as 1/2 I w^2, where I is the inertia tensor -for the aspherical particle and w is its angular velocity, which is -computed from its angular momentum. - -NOTE: For "2d models"_dimension.html, particles are treated as -ellipsoids, not ellipses, meaning their moments of inertia will be the -same as in 3d. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute. The formula for the components of the -tensor is the same as the above formula, except that v^2 and w^2 are -replaced by vx*vy and wx*wy for the xy component, and the appropriate -elements of the inertia tensor are used. The 6 components of the -vector are ordered xx, yy, zz, xy, xz, yz. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -This compute subtracts out translational degrees-of-freedom due to -fixes that constrain molecular motion, such as "fix -shake"_fix_shake.html and "fix rigid"_fix_rigid.html. This means the -temperature of groups of atoms that include these constraints will be -computed correctly. If needed, the subtracted degrees-of-freedom can -be altered using the {extra} option of the -"compute_modify"_compute_modify.html command. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -:line - -The keyword/value option pairs are used in the following ways. - -For the {bias} keyword, {bias-ID} refers to the ID of a temperature -compute that removes a "bias" velocity from each atom. This allows -compute temp/sphere to compute its thermal temperature after the -translational kinetic energy components have been altered in a -prescribed way, e.g. to remove a flow velocity profile. Thermostats -that use this compute will work with this bias term. See the doc -pages for individual computes that calculate a temperature and the doc -pages for fixes that perform thermostatting for more details. - -For the {dof} keyword, a setting of {all} calculates a temperature -that includes both translational and rotational degrees of freedom. A -setting of {rotate} calculates a temperature that includes only -rotational degrees of freedom. - -:line - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This compute requires that atoms store angular momentum and a -quaternion as defined by the "atom_style ellipsoid"_atom_style.html -command. - -All particles in the group must be finite-size. They cannot be point -particles, but they can be aspherical or spherical as defined by their -shape attribute. - -[Related commands:] - -"compute temp"_compute_temp.html - -[Default:] none diff --git a/doc/txt/compute_temp_body.txt b/doc/txt/compute_temp_body.txt deleted file mode 100644 index 341d6d7f792c7815c540b03c25c480b212df9deb..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_body.txt +++ /dev/null @@ -1,131 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/body command :h3 - -[Syntax:] - -compute ID group-ID temp/body keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -temp/body = style name of this compute command :l -zero or more keyword/value pairs may be appended :l -keyword = {bias} or {dof} :l - {bias} value = bias-ID - bias-ID = ID of a temperature compute that removes a velocity bias - {dof} value = {all} or {rotate} - all = compute temperature of translational and rotational degrees of freedom - rotate = compute temperature of just rotational degrees of freedom :pre -:ule - -[Examples:] - -compute 1 all temp/body -compute myTemp mobile temp/body bias tempCOM -compute myTemp mobile temp/body dof rotate :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -body particles, including a contribution from both their -translational and rotational kinetic energy. This differs from the -usual "compute temp"_compute_temp.html command, which assumes point -particles with only translational kinetic energy. - -Only body particles can be included in the group. For 3d particles, -each has 6 degrees of freedom (3 translational, 3 rotational). For 2d -body particles, each has 3 degrees of freedom (2 translational, 1 -rotational). - -NOTE: This choice for degrees of freedom (dof) assumes that all body -particles in your model will freely rotate, sampling all their -rotational dof. It is possible to use a combination of interaction -potentials and fixes that induce no torque or otherwise constrain some -of all of your particles so that this is not the case. Then there are -less dof and you should use the "compute_modify -extra"_compute_modify.html command to adjust the dof accordingly. - -The translational kinetic energy is computed the same as is described -by the "compute temp"_compute_temp.html command. The rotational -kinetic energy is computed as 1/2 I w^2, where I is the inertia tensor -for the aspherical particle and w is its angular velocity, which is -computed from its angular momentum. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute. The formula for the components of the -tensor is the same as the above formula, except that v^2 and w^2 are -replaced by vx*vy and wx*wy for the xy component, and the appropriate -elements of the inertia tensor are used. The 6 components of the -vector are ordered xx, yy, zz, xy, xz, yz. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -This compute subtracts out translational degrees-of-freedom due to -fixes that constrain molecular motion, such as "fix -shake"_fix_shake.html and "fix rigid"_fix_rigid.html. This means the -temperature of groups of atoms that include these constraints will be -computed correctly. If needed, the subtracted degrees-of-freedom can -be altered using the {extra} option of the -"compute_modify"_compute_modify.html command. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -:line - -The keyword/value option pairs are used in the following ways. - -For the {bias} keyword, {bias-ID} refers to the ID of a temperature -compute that removes a "bias" velocity from each atom. This allows -compute temp/sphere to compute its thermal temperature after the -translational kinetic energy components have been altered in a -prescribed way, e.g. to remove a flow velocity profile. Thermostats -that use this compute will work with this bias term. See the doc -pages for individual computes that calculate a temperature and the doc -pages for fixes that perform thermostatting for more details. - -For the {dof} keyword, a setting of {all} calculates a temperature -that includes both translational and rotational degrees of freedom. A -setting of {rotate} calculates a temperature that includes only -rotational degrees of freedom. - -:line - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the BODY package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This compute requires that atoms store angular momentum and a -quaternion as defined by the "atom_style body"_atom_style.html -command. - -[Related commands:] - -"compute temp"_compute_temp.html - -[Default:] none diff --git a/doc/txt/compute_temp_chunk.txt b/doc/txt/compute_temp_chunk.txt deleted file mode 100644 index 30dda79cafca56eedf02bb8c174acc35ceb8cff7..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_chunk.txt +++ /dev/null @@ -1,235 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/chunk command :h3 - -[Syntax:] - -compute ID group-ID temp/chunk chunkID value1 value2 ... keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -temp/chunk = style name of this compute command :l -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :l -zero or more values can be listed as value1,value2,etc :l -value = {temp} or {kecom} or {internal} :l - temp = temperature of each chunk - kecom = kinetic energy of each chunk based on velocity of center of mass - internal = internal kinetic energy of each chunk :pre -zero or more keyword/value pairs may be appended :l -keyword = {com} or {bias} or {adof} or {cdof} :l - {com} value = {yes} or {no} - yes = subtract center-of-mass velocity from each chunk before calculating temperature - no = do not subtract center-of-mass velocity - {bias} value = bias-ID - bias-ID = ID of a temperature compute that removes a velocity bias - {adof} value = dof_per_atom - dof_per_atom = define this many degrees-of-freedom per atom - {cdof} value = dof_per_chunk - dof_per_chunk = define this many degrees-of-freedom per chunk :pre -:ule - -[Examples:] - -compute 1 fluid temp/chunk molchunk -compute 1 fluid temp/chunk molchunk temp internal -compute 1 fluid temp/chunk molchunk bias tpartial adof 2.0 :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -atoms that are also in chunks, after optionally subtracting out the -center-of-mass velocity of each chunk. By specifying optional values, -it can also calculate the per-chunk temperature or energies of the -multiple chunks of atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -The temperature is calculated by the formula KE = DOF/2 k T, where KE = -total kinetic energy of all atoms assigned to chunks (sum of 1/2 m -v^2), DOF = the total number of degrees of freedom for those atoms, k -= Boltzmann constant, and T = temperature. - -The DOF is calculated as N*adof + Nchunk*cdof, where N = number of -atoms contributing to the KE, adof = degrees of freedom per atom, and -cdof = degrees of freedom per chunk. By default adof = 2 or 3 = -dimensionality of system, as set via the "dimension"_dimension.html -command, and cdof = 0.0. This gives the usual formula for -temperature. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute for use in the computation of a pressure -tensor. The formula for the components of the tensor is the same as -the above formula, except that v^2 is replaced by vx*vy for the xy -component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. - -Note that the number of atoms contributing to the temperature is -calculated each time the temperature is evaluated since it is assumed -the atoms may be dynamically assigned to chunks. Thus there is no -need to use the {dynamic} option of the -"compute_modify"_compute_modify.html command for this compute style. - -If any optional values are specified, then per-chunk quantities are -also calculated and stored in a global array, as described below. - -The {temp} value calculates the temperature for each chunk by the -formula KE = DOF/2 k T, where KE = total kinetic energy of the chunk -of atoms (sum of 1/2 m v^2), DOF = the total number of degrees of -freedom for all atoms in the chunk, k = Boltzmann constant, and T = -temperature. - -The DOF in this case is calculated as N*adof + cdof, where N = number -of atoms in the chunk, adof = degrees of freedom per atom, and cdof = -degrees of freedom per chunk. By default adof = 2 or 3 = -dimensionality of system, as set via the "dimension"_dimension.html -command, and cdof = 0.0. This gives the usual formula for -temperature. - -The {kecom} value calculates the kinetic energy of each chunk as if -all its atoms were moving with the velocity of the center-of-mass of -the chunk. - -The {internal} value calculates the internal kinetic energy of each -chunk. The interal KE is summed over the atoms in the chunk using an -internal "thermal" velocity for each atom, which is its velocity minus -the center-of-mass velocity of the chunk. - -:line - -Note that currently the global and per-chunk temperatures calculated -by this compute only include translational degrees of freedom for each -atom. No rotational degrees of freedom are included for finite-size -particles. Also no degrees of freedom are subtracted for any velocity -bias or constraints that are applied, such as "compute -temp/partial"_compute_temp_partial.html, or "fix shake"_fix_shake.html -or "fix rigid"_fix_rigid.html. This is because those degrees of -freedom (e.g. a constrained bond) could apply to sets of atoms that -are both included and excluded from a specific chunk, and hence the -concept is somewhat ill-defined. In some cases, you can use the -{adof} and {cdof} keywords to adjust the calculated degrees of freedom -appropriately, as explained below. - -Note that the per-chunk temperature calculated by this compute and the -"fix ave/chunk temp"_fix_ave_chunk.html command can be different. -This compute calculates the temperature for each chunk for a single -snapshot. Fix ave/chunk can do that but can also time average those -values over many snapshots, or it can compute a temperature as if the -atoms in the chunk on different timesteps were collected together as -one set of atoms to calculate their temperature. This compute allows -the center-of-mass velocity of each chunk to be subtracted before -calculating the temperature; fix ave/chunk does not. - -NOTE: Only atoms in the specified group contribute to the calculations -performed by this compute. The "compute -chunk/atom"_compute_chunk_atom.html command defines its own group; -atoms will have a chunk ID = 0 if they are not in that group, -signifying they are not assigned to a chunk, and will thus also not -contribute to this calculation. You can specify the "all" group for -this command if you simply want to include atoms with non-zero chunk -IDs. - -The simplest way to output the per-chunk results of the compute -temp/chunk calculation to a file is to use the "fix -ave/time"_fix_ave_time.html command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk all temp/chunk cc1 temp -fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector :pre - -:line - -The keyword/value option pairs are used in the following ways. - -The {com} keyword can be used with a value of {yes} to subtract the -velocity of the center-of-mass for each chunk from the velocity of the -atoms in that chunk, before calculating either the global or per-chunk -temperature. This can be useful if the atoms are streaming or -otherwise moving collectively, and you wish to calculate only the -thermal temperature. - -For the {bias} keyword, {bias-ID} refers to the ID of a temperature -compute that removes a "bias" velocity from each atom. This also -allows calculation of the global or per-chunk temperature using only -the thermal temperature of atoms in each chunk after the translational -kinetic energy components have been altered in a prescribed way, -e.g. to remove a velocity profile. It also applies to the calculation -of the other per-chunk values, such as {kecom} or {internal}, which -involve the center-of-mass velocity of each chunk, which is calculated -after the velocity bias is removed from each atom. Note that the -temperature compute will apply its bias globally to the entire system, -not on a per-chunk basis. - -The {adof} and {cdof} keywords define the values used in the degree of -freedom (DOF) formulas used for the global or per-chunk temperature, -as described above. They can be used to calculate a more appropriate -temperature for some kinds of chunks. Here are 3 examples: - -If spatially binned chunks contain some number of water molecules and -"fix shake"_fix_shake.html is used to make each molecule rigid, then -you could calculate a temperature with 6 degrees of freedom (DOF) (3 -translational, 3 rotational) per molecule by setting {adof} to 2.0. - -If "compute temp/partial"_compute_temp_partial.html is used with the -{bias} keyword to only allow the x component of velocity to contribute -to the temperature, then {adof} = 1.0 would be appropriate. - -If each chunk consists of a large molecule, with some number of its -bonds constrained by "fix shake"_fix_shake.html or the entire molecule -by "fix rigid/small"_fix_rigid.html, {adof} = 0.0 and {cdof} could be -set to the remaining degrees of freedom for the entire molecule -(entire chunk in this case), e.g. 6 for 3d, or 3 for 2d, for a rigid -molecule. - -:line - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -This compute also optionally calculates a global array, if one or more -of the optional values are specified. The number of rows in the array -= the number of chunks {Nchunk} as calculated by the specified -"compute chunk/atom"_compute_chunk_atom.html command. The number of -columns is the number of specified values (1 or more). These values -can be accessed by any command that uses global array values from a -compute as input. Again, see the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". The array values are "intensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. The array values -will be in temperature "units"_units.html for the {temp} value, and in -energy "units"_units.html for the {kecom} and {internal} values. - -[Restrictions:] - -The {com} and {bias} keywords cannot be used together. - -[Related commands:] - -"compute temp"_compute_temp.html, "fix ave/chunk -temp"_fix_ave_chunk.html - -[Default:] - -The option defaults are com no, no bias, adof = dimensionality of the -system (2 or 3), and cdof = 0.0. diff --git a/doc/txt/compute_temp_com.txt b/doc/txt/compute_temp_com.txt deleted file mode 100644 index 12df694e382657c9424e8b0649a4dd677a2630d6..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_com.txt +++ /dev/null @@ -1,93 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/com command :h3 - -[Syntax:] - -compute ID group-ID temp/com :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/com = style name of this compute command :ul - -[Examples:] - -compute 1 all temp/com -compute myTemp mobile temp/com :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -atoms, after subtracting out the center-of-mass velocity of the group. -This is useful if the group is expected to have a non-zero net -velocity for some reason. A compute of this style can be used by any -command that computes a temperature, -e.g. "thermo_modify"_thermo_modify.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc. - -After the center-of-mass velocity has been subtracted from each atom, -the temperature is calculated by the formula KE = dim/2 N k T, where -KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), -dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in the group, k = Boltzmann constant, and T = temperature. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute for use in the computation of a pressure -tensor. The formula for the components of the tensor is the same as -the above formula, except that v^2 is replaced by vx*vy for the xy -component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -The removal of the center-of-mass velocity by this fix is essentially -computing the temperature after a "bias" has been removed from the -velocity of the atoms. If this compute is used with a fix command -that performs thermostatting then this bias will be subtracted from -each atom, thermostatting of the remaining thermal velocity will be -performed, and the bias will be added back in. Thermostatting fixes -that work in this way include "fix nvt"_fix_nh.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix -temp/berendsen"_fix_temp_berendsen.html, and "fix -langevin"_fix_langevin.html. - -This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as "fix shake"_fix_shake.html and -"fix rigid"_fix_rigid.html. This means the temperature of groups of -atoms that include these constraints will be computed correctly. If -needed, the subtracted degrees-of-freedom can be altered using the -{extra} option of the "compute_modify"_compute_modify.html command. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute temp"_compute_temp.html - -[Default:] none diff --git a/doc/txt/compute_temp_cs.txt b/doc/txt/compute_temp_cs.txt deleted file mode 100644 index 5fc939e375f5a1dd797b786942a5c91730222358..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_cs.txt +++ /dev/null @@ -1,120 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/cs command :h3 - -[Syntax:] - -compute ID group-ID temp/cs group1 group2 :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/cs = style name of this compute command -group1 = group-ID of either cores or shells -group2 = group-ID of either shells or cores :ul - -[Examples:] - -compute oxygen_c-s all temp/cs O_core O_shell -compute core_shells all temp/cs cores shells :pre - -[Description:] - -Define a computation that calculates the temperature of a system based -on the center-of-mass velocity of atom pairs that are bonded to each -other. This compute is designed to be used with the adiabatic -core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham1. See -the "Howto coreshell"_Howto_coreshell.html doc page for an overview of -the model as implemented in LAMMPS. Specifically, this compute -enables correct temperature calculation and thermostatting of -core/shell pairs where it is desirable for the internal degrees of -freedom of the core/shell pairs to not be influenced by a thermostat. -A compute of this style can be used by any command that computes a -temperature via "fix_modify"_fix_modify.html e.g. "fix -temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc. - -Note that this compute does not require all ions to be polarized, -hence defined as core/shell pairs. One can mix core/shell pairs and -ions without a satellite particle if desired. The compute will -consider the non-polarized ions according to the physical system. - -For this compute, core and shell particles are specified by two -respective group IDs, which can be defined using the -"group"_group.html command. The number of atoms in the two groups -must be the same and there should be one bond defined between a pair -of atoms in the two groups. Non-polarized ions which might also be -included in the treated system should not be included into either of -these groups, they are taken into account by the {group-ID} (2nd -argument) of the compute. - -The temperature is calculated by the formula KE = dim/2 N k T, where -KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), -dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in the group, k = Boltzmann constant, and T = temperature. Note that -the velocity of each core or shell atom used in the KE calculation is -the velocity of the center-of-mass (COM) of the core/shell pair the -atom is part of. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute for use in the computation of a pressure -tensor. The formula for the components of the tensor is the same as -the above formula, except that v^2 is replaced by vx*vy for the xy -component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. In contrast to the temperature, the velocity of -each core or shell atom is taken individually. - -The change this fix makes to core/shell atom velocities is essentially -computing the temperature after a "bias" has been removed from the -velocity of the atoms. This "bias" is the velocity of the atom -relative to the COM velocity of the core/shell pair. If this compute -is used with a fix command that performs thermostatting then this bias -will be subtracted from each atom, thermostatting of the remaining COM -velocity will be performed, and the bias will be added back in. This -means the thermostatting will effectively be performed on the -core/shell pairs, instead of on the individual core and shell atoms. -Thermostatting fixes that work in this way include "fix -nvt"_fix_nh.html, "fix temp/rescale"_fix_temp_rescale.html, "fix -temp/berendsen"_fix_temp_berendsen.html, and "fix -langevin"_fix_langevin.html. - -The internal energy of core/shell pairs can be calculated by the -"compute temp/chunk"_compute_temp_chunk.html command, if chunks are -defined as core/shell pairs. See the "Howto -coreshell"_Howto_coreshell.html doc page doc page for more discussion -on how to do this. - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] - -The number of core/shell pairs contributing to the temperature is -assumed to be constant for the duration of the run. No fixes should -be used which generate new molecules or atoms during a simulation. - -[Related commands:] - -"compute temp"_compute_temp.html, "compute -temp/chunk"_compute_temp_chunk.html - -[Default:] none - -:line - -:link(MitchellFinchham1) -[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter, -5, 1031-1038 (1993). diff --git a/doc/txt/compute_temp_deform.txt b/doc/txt/compute_temp_deform.txt deleted file mode 100644 index 26d322589ed70d49d23a0ac8948fc4524e04daef..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_deform.txt +++ /dev/null @@ -1,134 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/deform command :h3 - -[Syntax:] - -compute ID group-ID temp/deform :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/deform = style name of this compute command :ul - -[Examples:] - -compute myTemp all temp/deform :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -atoms, after subtracting out a streaming velocity induced by the -simulation box changing size and/or shape, for example in a -non-equilibrium MD (NEMD) simulation. The size/shape change is -induced by use of the "fix deform"_fix_deform.html command. A compute -of this style is created by the "fix nvt/sllod"_fix_nvt_sllod.html -command to compute the thermal temperature of atoms for thermostatting -purposes. A compute of this style can also be used by any command -that computes a temperature, e.g. "thermo_modify"_thermo_modify.html, -"fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc. - -The deformation fix changes the box size and/or shape over time, so -each atom in the simulation box can be thought of as having a -"streaming" velocity. For example, if the box is being sheared in x, -relative to y, then atoms at the bottom of the box (low y) have a -small x velocity, while atoms at the top of the box (hi y) have a -large x velocity. This position-dependent streaming velocity is -subtracted from each atom's actual velocity to yield a thermal -velocity which is used to compute the temperature. - -NOTE: "Fix deform"_fix_deform.html has an option for remapping either -atom coordinates or velocities to the changing simulation box. When -using this compute in conjunction with a deforming box, fix deform -should NOT remap atom positions, but rather should let atoms respond -to the changing box by adjusting their own velocities (or let "fix -deform"_fix_deform.html remap the atom velocities, see it's remap -option). If fix deform does remap atom positions, then they appear to -move with the box but their velocity is not changed, and thus they do -NOT have the streaming velocity assumed by this compute. LAMMPS will -warn you if fix deform is defined and its remap setting is not -consistent with this compute. - -After the streaming velocity has been subtracted from each atom, the -temperature is calculated by the formula KE = dim/2 N k T, where KE = -total kinetic energy of the group of atoms (sum of 1/2 m v^2), dim = 2 -or 3 = dimensionality of the simulation, N = number of atoms in the -group, k = Boltzmann constant, and T = temperature. Note that v in -the kinetic energy formula is the atom's thermal velocity. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute for use in the computation of a pressure -tensor. The formula for the components of the tensor is the same as -the above formula, except that v^2 is replaced by vx*vy for the xy -component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -The removal of the box deformation velocity component by this fix is -essentially computing the temperature after a "bias" has been removed -from the velocity of the atoms. If this compute is used with a fix -command that performs thermostatting then this bias will be subtracted -from each atom, thermostatting of the remaining thermal velocity will -be performed, and the bias will be added back in. Thermostatting -fixes that work in this way include "fix nvt"_fix_nh.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix -temp/berendsen"_fix_temp_berendsen.html, and "fix -langevin"_fix_langevin.html. - -NOTE: The temperature calculated by this compute is only accurate if -the atoms are indeed moving with a stream velocity profile that -matches the box deformation. If not, then the compute will subtract -off an incorrect stream velocity, yielding a bogus thermal -temperature. You should NOT assume that your atoms are streaming at -the same rate the box is deforming. Rather, you should monitor their -velocity profile, e.g. via the "fix ave/chunk"_fix_ave_chunk.html -command. And you can compare the results of this compute to "compute -temp/profile"_compute_temp_profile.html, which actually calculates the -stream profile before subtracting it. If the two computes do not give -roughly the same temperature, then your atoms are not streaming -consistent with the box deformation. See the "fix -deform"_fix_deform.html command for more details on ways to get atoms -to stream consistently with the box deformation. - -This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as "fix shake"_fix_shake.html and -"fix rigid"_fix_rigid.html. This means the temperature of groups of -atoms that include these constraints will be computed correctly. If -needed, the subtracted degrees-of-freedom can be altered using the -{extra} option of the "compute_modify"_compute_modify.html command. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute temp/ramp"_compute_temp_ramp.html, "compute -temp/profile"_compute_temp_profile.html, "fix deform"_fix_deform.html, -"fix nvt/sllod"_fix_nvt_sllod.html - -[Default:] none diff --git a/doc/txt/compute_temp_deform_eff.txt b/doc/txt/compute_temp_deform_eff.txt deleted file mode 100644 index 4af61dc91867890533ea9a4f20606275bf4e3d07..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_deform_eff.txt +++ /dev/null @@ -1,72 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/deform/eff command :h3 - -[Syntax:] - -compute ID group-ID temp/deform/eff :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/deform/eff = style name of this compute command :ul - -[Examples:] - -compute myTemp all temp/deform/eff :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -nuclei and electrons in the "electron force field"_pair_eff.html -model, after subtracting out a streaming velocity induced by the -simulation box changing size and/or shape, for example in a -non-equilibrium MD (NEMD) simulation. The size/shape change is -induced by use of the "fix deform"_fix_deform.html command. A -compute of this style is created by the "fix -nvt/sllod/eff"_fix_nvt_sllod_eff.html command to compute the thermal -temperature of atoms for thermostatting purposes. A compute of this -style can also be used by any command that computes a temperature, -e.g. "thermo_modify"_thermo_modify.html, "fix npt/eff"_fix_nh_eff.html, -etc. - -The calculation performed by this compute is exactly like that -described by the "compute temp/deform"_compute_temp_deform.html -command, except that the formula for the temperature includes the -radial electron velocity contributions, as discussed by the "compute -temp/eff"_compute_temp_eff.html command. Note that only the -translational degrees of freedom for each nuclei or electron are -affected by the streaming velocity adjustment. The radial velocity -component of the electrons is not affected. - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute temp/ramp"_compute_temp_ramp.html, "fix deform"_fix_deform.html, -"fix nvt/sllod/eff"_fix_nvt_sllod_eff.html - -[Default:] none diff --git a/doc/txt/compute_temp_drude.txt b/doc/txt/compute_temp_drude.txt deleted file mode 100644 index 20d9a5c05670a66938a70bb85660cd6b79bc100a..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_drude.txt +++ /dev/null @@ -1,81 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/drude command :h3 - -[Syntax:] - -compute ID group-ID temp/drude :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/drude = style name of this compute command :ul - -[Examples:] - -compute TDRUDE all temp/drude :pre - -[Description:] - -Define a computation that calculates the temperatures of core-Drude -pairs. This compute is designed to be used with the "thermalized Drude -oscillator model"_Howto_drude.html. Polarizable models in LAMMPS -are described on the "Howto polarizable"_Howto_polarizable.html doc -page. - -Drude oscillators consist of a core particle and a Drude particle -connected by a harmonic bond, and the relative motion of these Drude -oscillators is usually maintained cold by a specific thermostat that -acts on the relative motion of the core-Drude particle -pairs. Therefore, because LAMMPS considers Drude particles as normal -atoms in its default temperature compute ("compute -temp"_compute_temp.html command), the reduced temperature of the -core-Drude particle pairs is not calculated correctly. - -By contrast, this compute calculates the temperature of the cores -using center-of-mass velocities of the core-Drude pairs, and the -reduced temperature of the Drude particles using the relative -velocities of the Drude particles with respect to their cores. -Non-polarizable atoms are considered as cores. Their velocities -contribute to the temperature of the cores. - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6, which can be accessed by indices 1-6, whose components -are - -temperature of the centers of mass (temperature units) -temperature of the dipoles (temperature units) -number of degrees of freedom of the centers of mass -number of degrees of freedom of the dipoles -kinetic energy of the centers of mass (energy units) -kinetic energy of the dipoles (energy units) :ol - -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -Both the scalar value and the first two values of the vector -calculated by this compute are "intensive". The other 4 vector values -are "extensive". - -[Restrictions:] - -The number of degrees of freedom contributing to the temperature is -assumed to be constant for the duration of the run unless the -{fix_modify} command sets the option {dynamic yes}. - -[Related commands:] - -"fix drude"_fix_drude.html, "fix -langevin/drude"_fix_langevin_drude.html, "fix -drude/transform"_fix_drude_transform.html, "pair_style -thole"_pair_thole.html, "compute temp"_compute_temp.html - -[Default:] none diff --git a/doc/txt/compute_temp_eff.txt b/doc/txt/compute_temp_eff.txt deleted file mode 100644 index 415cb775956ec3e759e0dfa6c2209c9e4b68520d..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_eff.txt +++ /dev/null @@ -1,95 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/eff command :h3 - -[Syntax:] - -compute ID group-ID temp/eff :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/eff = style name of this compute command :ul - -[Examples:] - -compute 1 all temp/eff -compute myTemp mobile temp/eff :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -nuclei and electrons in the "electron force field"_pair_eff.html -model. A compute of this style can be used by commands that compute a -temperature, e.g. "thermo_modify"_thermo_modify.html, "fix -npt/eff"_fix_nh_eff.html, etc. - -The temperature is calculated by the formula KE = dim/2 N k T, where -KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2 for -nuclei and sum of 1/2 (m v^2 + 3/4 m s^2) for electrons, where s -includes the radial electron velocity contributions), dim = 2 or 3 = -dimensionality of the simulation, N = number of atoms (only total -number of nuclei in the eFF (see the "pair_eff"_pair_style.html -command) in the group, k = Boltzmann constant, and T = temperature. -This expression is summed over all nuclear and electronic degrees of -freedom, essentially by setting the kinetic contribution to the heat -capacity to 3/2k (where only nuclei contribute). This subtlety is -valid for temperatures well below the Fermi temperature, which for -densities two to five times the density of liquid H2 ranges from -86,000 to 170,000 K. - -NOTE: For eFF models, in order to override the default temperature -reported by LAMMPS in the thermodynamic quantities reported via the -"thermo"_thermo.html command, the user should apply a -"thermo_modify"_thermo_modify.html command, as shown in the following -example: - -compute effTemp all temp/eff -thermo_style custom step etotal pe ke temp press -thermo_modify temp effTemp :pre - -A 6-component kinetic energy tensor is also calculated by this compute -for use in the computation of a pressure tensor. The formula for the -components of the tensor is the same as the above formula, except that -v^2 is replaced by vx * vy for the xy component, etc. For the eFF, -again, the radial electronic velocities are also considered. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as "fix shake"_fix_shake.html and -"fix rigid"_fix_rigid.html. This means the temperature of groups of -atoms that include these constraints will be computed correctly. If -needed, the subtracted degrees-of-freedom can be altered using the -{extra} option of the "compute_modify"_compute_modify.html command. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -[Output info:] - -The scalar value calculated by this compute is "intensive", meaning it -is independent of the number of atoms in the simulation. The vector -values are "extensive", meaning they scale with the number of atoms in -the simulation. - -[Restrictions:] - -This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute temp/partial"_compute_temp_partial.html, "compute -temp/region"_compute_temp_region.html, "compute -pressure"_compute_pressure.html - -[Default:] none diff --git a/doc/txt/compute_temp_partial.txt b/doc/txt/compute_temp_partial.txt deleted file mode 100644 index 14294842a15b11c11461618224b663840b1dce0c..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_partial.txt +++ /dev/null @@ -1,119 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/partial command :h3 - -[Syntax:] - -compute ID group-ID temp/partial xflag yflag zflag :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/partial = style name of this compute command -xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension :ul - -[Examples:] - -compute newT flow temp/partial 1 1 0 :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -atoms, after excluding one or more velocity components. A compute of -this style can be used by any command that computes a temperature, -e.g. "thermo_modify"_thermo_modify.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc. - -The temperature is calculated by the formula KE = dim/2 N k T, where -KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), -dim = dimensionality of the simulation, N = number of atoms in the -group, k = Boltzmann constant, and T = temperature. The calculation -of KE excludes the x, y, or z dimensions if xflag, yflag, or zflag = -0. The dim parameter is adjusted to give the correct number of -degrees of freedom. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute for use in the calculation of a pressure -tensor. The formula for the components of the tensor is the same as -the above formula, except that v^2 is replaced by vx*vy for the xy -component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -The removal of velocity components by this fix is essentially -computing the temperature after a "bias" has been removed from the -velocity of the atoms. If this compute is used with a fix command -that performs thermostatting then this bias will be subtracted from -each atom, thermostatting of the remaining thermal velocity will be -performed, and the bias will be added back in. Thermostatting fixes -that work in this way include "fix nvt"_fix_nh.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix -temp/berendsen"_fix_temp_berendsen.html, and "fix -langevin"_fix_langevin.html. - -This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as "fix shake"_fix_shake.html and -"fix rigid"_fix_rigid.html. This means the temperature of groups of -atoms that include these constraints will be computed correctly. If -needed, the subtracted degrees-of-freedom can be altered using the -{extra} option of the "compute_modify"_compute_modify.html command. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute temp"_compute_temp.html, "compute -temp/region"_compute_temp_region.html, "compute -pressure"_compute_pressure.html - -[Default:] none diff --git a/doc/txt/compute_temp_profile.txt b/doc/txt/compute_temp_profile.txt deleted file mode 100644 index 4ed04ca67e0e0c07ebc3250829ad4f9486c791d2..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_profile.txt +++ /dev/null @@ -1,182 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/profile command :h3 - -[Syntax:] - -compute ID group-ID temp/profile xflag yflag zflag binstyle args :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -temp/profile = style name of this compute command :l -xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension :l -binstyle = {x} or {y} or {z} or {xy} or {yz} or {xz} or {xyz} :l - {x} arg = Nx - {y} arg = Ny - {z} arg = Nz - {xy} args = Nx Ny - {yz} args = Ny Nz - {xz} args = Nx Nz - {xyz} args = Nx Ny Nz - Nx,Ny,Nz = number of velocity bins in x,y,z dimensions :pre - -zero or more keyword/value pairs may be appended :l -keyword = {out} :l - {out} value = {tensor} or {bin} :pre -:ule - -[Examples:] - -compute myTemp flow temp/profile 1 1 1 x 10 -compute myTemp flow temp/profile 1 1 1 x 10 out bin -compute myTemp flow temp/profile 0 1 1 xyz 20 20 20 :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -atoms, after subtracting out a spatially-averaged center-of-mass -velocity field, before computing the kinetic energy. This can be -useful for thermostatting a collection of atoms undergoing a complex -flow, e.g. via a profile-unbiased thermostat (PUT) as described in -"(Evans)"_#Evans1. A compute of this style can be used by any command -that computes a temperature, e.g. "thermo_modify"_thermo_modify.html, -"fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc. - -The {xflag}, {yflag}, {zflag} settings determine which components of -average velocity are subtracted out. - -The {binstyle} setting and its {Nx}, {Ny}, {Nz} arguments determine -how bins are setup to perform spatial averaging. "Bins" can be 1d -slabs, 2d pencils, or 3d bricks depending on which {binstyle} is used. -The simulation box is partitioned conceptually into {Nx} by {Ny} by -{Nz} bins. Depending on the {binstyle}, you may only specify one or -two of these values; the others are effectively set to 1 (no binning -in that dimension). For non-orthogonal (triclinic) simulation boxes, -the bins are "tilted" slabs or pencils or bricks that are parallel to -the tilted faces of the box. See the "region prism"_region.html -command for a discussion of the geometry of tilted boxes in LAMMPS. - -When a temperature is computed, the center-of-mass velocity for the -set of atoms that are both in the compute group and in the same -spatial bin is calculated. This bias velocity is then subtracted from -the velocities of individual atoms in the bin to yield a thermal -velocity for each atom. Note that if there is only one atom in the -bin, its thermal velocity will thus be 0.0. - -After the spatially-averaged velocity field has been subtracted from -each atom, the temperature is calculated by the formula KE = (dim*N -- dim*Nx*Ny*Nz) k T/2, where KE = total kinetic energy of the group of -atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the -simulation, N = number of atoms in the group, k = Boltzmann constant, -and T = temperature. The dim*Nx*Ny*Nz term are degrees of freedom -subtracted to adjust for the removal of the center-of-mass velocity in -each of Nx*Ny*Nz bins, as discussed in the "(Evans)"_#Evans1 paper. - -If the {out} keyword is used with a {tensor} value, which is the -default, a kinetic energy tensor, stored as a 6-element vector, is -also calculated by this compute for use in the computation of a -pressure tensor. The formula for the components of the tensor is the -same as the above formula, except that v^2 is replaced by vx*vy for -the xy component, etc. The 6 components of the vector are ordered xx, -yy, zz, xy, xz, yz. - -If the {out} keyword is used with a {bin} value, the count of atoms -and computed temperature for each bin are stored for output, as an -array of values, as described below. The temperature of each bin is -calculated as described above, where the bias velocity is subtracted -and only the remaining thermal velocity of atoms in the bin -contributes to the temperature. See the note below for how the -temperature is normalized by the degrees-of-freedom of atoms in the -bin. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -The removal of the spatially-averaged velocity field by this fix is -essentially computing the temperature after a "bias" has been removed -from the velocity of the atoms. If this compute is used with a fix -command that performs thermostatting then this bias will be subtracted -from each atom, thermostatting of the remaining thermal velocity will -be performed, and the bias will be added back in. Thermostatting -fixes that work in this way include "fix nvt"_fix_nh.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix -temp/berendsen"_fix_temp_berendsen.html, and "fix -langevin"_fix_langevin.html. - -This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as "fix shake"_fix_shake.html and -"fix rigid"_fix_rigid.html. This means the temperature of groups of -atoms that include these constraints will be computed correctly. If -needed, the subtracted degrees-of-freedom can be altered using the -{extra} option of the "compute_modify"_compute_modify.html command. - -NOTE: When using the {out} keyword with a value of {bin}, the -calculated temperature for each bin does not include the -degrees-of-freedom adjustment described in the preceding paragraph, -for fixes that constrain molecular motion. It does include the -adjustment due to the {extra} option, which is applied to each bin. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. Using this compute in conjunction with a -thermostatting fix, as explained there, will effectively implement a -profile-unbiased thermostat (PUT), as described in "(Evans)"_#Evans1. - -[Output info:] - -This compute calculates a global scalar (the temperature). Depending -on the setting of the {out} keyword, it also calculates a global -vector or array. For {out} = {tensor}, it calculates a vector of -length 6 (KE tensor), which can be accessed by indices 1-6. For {out} -= {bin} it calculates a global array which has 2 columns and N rows, -where N is the number of bins. The first column contains the number -of atoms in that bin. The second contains the temperature of that -bin, calculated as described above. The ordering of rows in the array -is as follows. Bins in x vary fastest, then y, then z. Thus for a -10x10x10 3d array of bins, there will be 1000 rows. The bin with -indices ix,iy,iz = 2,3,4 would map to row M = (iz-1)*10*10 + (iy-1)*10 -+ ix = 322, where the rows are numbered from 1 to 1000 and the bin -indices are numbered from 1 to 10 in each dimension. - -These values can be used by any command that uses global scalar or -vector or array values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". The array values are "intensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. The first column -of array values are counts; the values in the second column will be in -temperature "units"_units.html. - -[Restrictions:] - -You should not use too large a velocity-binning grid, especially in -3d. In the current implementation, the binned velocity averages are -summed across all processors, so this will be inefficient if the grid -is too large, and the operation is performed every timestep, as it -will be for most thermostats. - -[Related commands:] - -"compute temp"_compute_temp.html, "compute -temp/ramp"_compute_temp_ramp.html, "compute -temp/deform"_compute_temp_deform.html, "compute -pressure"_compute_pressure.html - -[Default:] - -The option default is out = tensor. - -:line - -:link(Evans1) -[(Evans)] Evans and Morriss, Phys Rev Lett, 56, 2172-2175 (1986). diff --git a/doc/txt/compute_temp_ramp.txt b/doc/txt/compute_temp_ramp.txt deleted file mode 100644 index 15cad9c0cb814ed464f5c9210499a333f6cf576d..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_ramp.txt +++ /dev/null @@ -1,116 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/ramp command :h3 - -[Syntax:] - -compute ID group-ID temp/ramp vdim vlo vhi dim clo chi keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/ramp = style name of this compute command -vdim = {vx} or {vy} or {vz} -vlo,vhi = subtract velocities between vlo and vhi (velocity units) -dim = {x} or {y} or {z} -clo,chi = lower and upper bound of domain to subtract from (distance units) -zero or more keyword/value pairs may be appended -keyword = {units} :ul - {units} value = {lattice} or {box} :pre - -[Examples:] - -compute 2nd middle temp/ramp vx 0 8 y 2 12 units lattice :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -atoms, after subtracting out an ramped velocity profile before -computing the kinetic energy. A compute of this style can be used by -any command that computes a temperature, -e.g. "thermo_modify"_thermo_modify.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc. - -The meaning of the arguments for this command which define the -velocity ramp are the same as for the "velocity ramp"_velocity.html -command which was presumably used to impose the velocity. - -After the ramp velocity has been subtracted from the specified -dimension for each atom, the temperature is calculated by the formula -KE = dim/2 N k T, where KE = total kinetic energy of the group of -atoms (sum of 1/2 m v^2), dim = 2 or 3 = dimensionality of the -simulation, N = number of atoms in the group, k = Boltzmann constant, -and T = temperature. - -The {units} keyword determines the meaning of the distance units used -for coordinates (c1,c2) and velocities (vlo,vhi). A {box} value -selects standard distance units as defined by the "units"_units.html -command, e.g. Angstroms for units = real or metal. A {lattice} value -means the distance units are in lattice spacings; e.g. velocity = -lattice spacings / tau. The "lattice"_lattice.html command must have -been previously used to define the lattice spacing. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute for use in the computation of a pressure -tensor. The formula for the components of the tensor is the same as -the above formula, except that v^2 is replaced by vx*vy for the xy -component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -The removal of the ramped velocity component by this fix is -essentially computing the temperature after a "bias" has been removed -from the velocity of the atoms. If this compute is used with a fix -command that performs thermostatting then this bias will be subtracted -from each atom, thermostatting of the remaining thermal velocity will -be performed, and the bias will be added back in. Thermostatting -fixes that work in this way include "fix nvt"_fix_nh.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix -temp/berendsen"_fix_temp_berendsen.html, and "fix -langevin"_fix_langevin.html. - -This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as "fix shake"_fix_shake.html and -"fix rigid"_fix_rigid.html. This means the temperature of groups of -atoms that include these constraints will be computed correctly. If -needed, the subtracted degrees-of-freedom can be altered using the -{extra} option of the "compute_modify"_compute_modify.html command. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute temp"_compute_temp.html, "compute -temp/profie"_compute_temp_profile.html, "compute -temp/deform"_compute_temp_deform.html, "compute -pressure"_compute_pressure.html - -[Default:] - -The option default is units = lattice. diff --git a/doc/txt/compute_temp_region.txt b/doc/txt/compute_temp_region.txt deleted file mode 100644 index f23901af9861633b83b33d5c172b62f8fe3f681c..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_region.txt +++ /dev/null @@ -1,110 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/region command :h3 - -[Syntax:] - -compute ID group-ID temp/region region-ID :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/region = style name of this compute command -region-ID = ID of region to use for choosing atoms :ul - -[Examples:] - -compute mine flow temp/region boundary :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -atoms in a geometric region. This can be useful for thermostatting -one portion of the simulation box. E.g. a McDLT simulation where one -side is cooled, and the other side is heated. A compute of this style -can be used by any command that computes a temperature, -e.g. "thermo_modify"_thermo_modify.html, "fix -temp/rescale"_fix_temp_rescale.html, etc. - -Note that a {region}-style temperature can be used to thermostat with -"fix temp/rescale"_fix_temp_rescale.html or "fix -langevin"_fix_langevin.html, but should probably not be used with -Nose/Hoover style fixes ("fix nvt"_fix_nh.html, "fix -npt"_fix_nh.html, or "fix nph"_fix_nh.html), if the -degrees-of-freedom included in the computed T varies with time. - -The temperature is calculated by the formula KE = dim/2 N k T, where -KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), -dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in both the group and region, k = Boltzmann constant, and T = -temperature. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute for use in the computation of a pressure -tensor. The formula for the components of the tensor is the same as -the above formula, except that v^2 is replaced by vx*vy for the xy -component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. - -The number of atoms contributing to the temperature is calculated each -time the temperature is evaluated since it is assumed atoms can -enter/leave the region. Thus there is no need to use the {dynamic} -option of the "compute_modify"_compute_modify.html command for this -compute style. - -The removal of atoms outside the region by this fix is essentially -computing the temperature after a "bias" has been removed, which in -this case is the velocity of any atoms outside the region. If this -compute is used with a fix command that performs thermostatting then -this bias will be subtracted from each atom, thermostatting of the -remaining thermal velocity will be performed, and the bias will be -added back in. Thermostatting fixes that work in this way include -"fix nvt"_fix_nh.html, "fix temp/rescale"_fix_temp_rescale.html, "fix -temp/berendsen"_fix_temp_berendsen.html, and "fix -langevin"_fix_langevin.html. This means that when this compute -is used to calculate the temperature for any of the thermostatting -fixes via the "fix modify temp"_fix_modify.html command, the thermostat -will operate only on atoms that are currently in the geometric -region. - -Unlike other compute styles that calculate temperature, this compute -does not subtract out degrees-of-freedom due to fixes that constrain -motion, such as "fix shake"_fix_shake.html and "fix -rigid"_fix_rigid.html. This is because those degrees of freedom -(e.g. a constrained bond) could apply to sets of atoms that straddle -the region boundary, and hence the concept is somewhat ill-defined. -If needed the number of subtracted degrees-of-freedom can be set -explicitly using the {extra} option of the -"compute_modify"_compute_modify.html command. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute temp"_compute_temp.html, "compute -pressure"_compute_pressure.html - -[Default:] none diff --git a/doc/txt/compute_temp_region_eff.txt b/doc/txt/compute_temp_region_eff.txt deleted file mode 100644 index f15f3155b08c51880ae3ae8fc9f6b255ff9b78fe..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_region_eff.txt +++ /dev/null @@ -1,64 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/region/eff command :h3 - -[Syntax:] - -compute ID group-ID temp/region/eff region-ID :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/region/eff = style name of this compute command -region-ID = ID of region to use for choosing atoms :ul - -[Examples:] - -compute mine flow temp/region/eff boundary :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -nuclei and electrons in the "electron force field"_pair_eff.html -model, within a geometric region using the electron force field. A -compute of this style can be used by commands that compute a -temperature, e.g. "thermo_modify"_thermo_modify.html. - -The operation of this compute is exactly like that described by the -"compute temp/region"_compute_temp_region.html command, except that -the formula for the temperature itself includes the radial electron -velocity contributions, as discussed by the "compute -temp/eff"_compute_temp_eff.html command. - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute temp/region"_compute_temp_region.html, "compute -temp/eff"_compute_temp_eff.html, "compute -pressure"_compute_pressure.html - -[Default:] none diff --git a/doc/txt/compute_temp_rotate.txt b/doc/txt/compute_temp_rotate.txt deleted file mode 100644 index 8dac0405b402efa55594068b1e7c57775ee47359..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_rotate.txt +++ /dev/null @@ -1,96 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/rotate command :h3 - -[Syntax:] - -compute ID group-ID temp/rotate :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/rotate = style name of this compute command :ul - -[Examples:] - -compute Tbead bead temp/rotate :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -atoms, after subtracting out the center-of-mass velocity and angular velocity of the group. -This is useful if the group is expected to have a non-zero net -velocity and/or global rotation motion for some reason. A compute of this style can be used by any -command that computes a temperature, -e.g. "thermo_modify"_thermo_modify.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc. - -After the center-of-mass velocity and angular velocity has been subtracted from each atom, -the temperature is calculated by the formula KE = dim/2 N k T, where -KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2), -dim = 2 or 3 = dimensionality of the simulation, N = number of atoms -in the group, k = Boltzmann constant, and T = temperature. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute for use in the computation of a pressure -tensor. The formula for the components of the tensor is the same as -the above formula, except that v^2 is replaced by vx*vy for the xy -component, etc. The 6 components of the vector are ordered xx, yy, -zz, xy, xz, yz. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -The removal of the center-of-mass velocity and angular velocity by this fix is essentially -computing the temperature after a "bias" has been removed from the -velocity of the atoms. If this compute is used with a fix command -that performs thermostatting then this bias will be subtracted from -each atom, thermostatting of the remaining thermal velocity will be -performed, and the bias will be added back in. Thermostatting fixes -that work in this way include "fix nvt"_fix_nh.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix -temp/berendsen"_fix_temp_berendsen.html, and "fix -langevin"_fix_langevin.html. - -This compute subtracts out degrees-of-freedom due to fixes that -constrain molecular motion, such as "fix shake"_fix_shake.html and -"fix rigid"_fix_rigid.html. This means the temperature of groups of -atoms that include these constraints will be computed correctly. If -needed, the subtracted degrees-of-freedom can be altered using the -{extra} option of the "compute_modify"_compute_modify.html command. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute temp"_compute_temp.html - -[Default:] none diff --git a/doc/txt/compute_temp_sphere.txt b/doc/txt/compute_temp_sphere.txt deleted file mode 100644 index 5a55126d121755a60f9705e52189f28dbcca70cf..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_sphere.txt +++ /dev/null @@ -1,137 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/sphere command :h3 - -[Syntax:] - -compute ID group-ID temp/sphere keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -temp/sphere = style name of this compute command :l -zero or more keyword/value pairs may be appended :l -keyword = {bias} or {dof} :l - {bias} value = bias-ID - bias-ID = ID of a temperature compute that removes a velocity bias - {dof} value = {all} or {rotate} - all = compute temperature of translational and rotational degrees of freedom - rotate = compute temperature of just rotational degrees of freedom :pre -:ule - -[Examples:] - -compute 1 all temp/sphere -compute myTemp mobile temp/sphere bias tempCOM -compute myTemp mobile temp/sphere dof rotate :pre - -[Description:] - -Define a computation that calculates the temperature of a group of -spherical particles, including a contribution from both their -translational and rotational kinetic energy. This differs from the -usual "compute temp"_compute_temp.html command, which assumes point -particles with only translational kinetic energy. - -Both point and finite-size particles can be included in the group. -Point particles do not rotate, so they have only 3 translational -degrees of freedom. For 3d spherical particles, each has 6 degrees of -freedom (3 translational, 3 rotational). For 2d spherical particles, -each has 3 degrees of freedom (2 translational, 1 rotational). - -NOTE: This choice for degrees of freedom (dof) assumes that all -finite-size spherical particles in your model will freely rotate, -sampling all their rotational dof. It is possible to use a -combination of interaction potentials and fixes that induce no torque -or otherwise constrain some of all of your particles so that this is -not the case. Then there are less dof and you should use the -"compute_modify extra"_compute_modify.html command to adjust the dof -accordingly. - -The translational kinetic energy is computed the same as is described -by the "compute temp"_compute_temp.html command. The rotational -kinetic energy is computed as 1/2 I w^2, where I is the moment of -inertia for a sphere and w is the particle's angular velocity. - -NOTE: For "2d models"_dimension.html, particles are treated as -spheres, not disks, meaning their moment of inertia will be the same -as in 3d. - -A kinetic energy tensor, stored as a 6-element vector, is also -calculated by this compute. The formula for the components of the -tensor is the same as the above formulas, except that v^2 and w^2 are -replaced by vx*vy and wx*wy for the xy component. The 6 components of -the vector are ordered xx, yy, zz, xy, xz, yz. - -The number of atoms contributing to the temperature is assumed to be -constant for the duration of the run; use the {dynamic} option of the -"compute_modify"_compute_modify.html command if this is not the case. - -This compute subtracts out translational degrees-of-freedom due to -fixes that constrain molecular motion, such as "fix -shake"_fix_shake.html and "fix rigid"_fix_rigid.html. This means the -temperature of groups of atoms that include these constraints will be -computed correctly. If needed, the subtracted degrees-of-freedom can -be altered using the {extra} option of the -"compute_modify"_compute_modify.html command. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -:line - -The keyword/value option pairs are used in the following ways. - -For the {bias} keyword, {bias-ID} refers to the ID of a temperature -compute that removes a "bias" velocity from each atom. This allows -compute temp/sphere to compute its thermal temperature after the -translational kinetic energy components have been altered in a -prescribed way, e.g. to remove a flow velocity profile. Thermostats -that use this compute will work with this bias term. See the doc -pages for individual computes that calculate a temperature and the doc -pages for fixes that perform thermostatting for more details. - -For the {dof} keyword, a setting of {all} calculates a temperature -that includes both translational and rotational degrees of freedom. A -setting of {rotate} calculates a temperature that includes only -rotational degrees of freedom. - -:line - -[Output info:] - -This compute calculates a global scalar (the temperature) and a global -vector of length 6 (KE tensor), which can be accessed by indices 1-6. -These values can be used by any command that uses global scalar or -vector values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The scalar value calculated by this compute is "intensive". The -vector values are "extensive". - -The scalar value will be in temperature "units"_units.html. The -vector values will be in energy "units"_units.html. - -[Restrictions:] - -This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the "atom_style sphere"_atom_style.html -command. - -All particles in the group must be finite-size spheres, or point -particles with radius = 0.0. - -[Related commands:] - -"compute temp"_compute_temp.html, "compute -temp/asphere"_compute_temp.html - -[Default:] - -The option defaults are no bias and dof = all. diff --git a/doc/txt/compute_temp_uef.txt b/doc/txt/compute_temp_uef.txt deleted file mode 100644 index b9e618753321f53ad7432fa49be9ca542a9a55ac..0000000000000000000000000000000000000000 --- a/doc/txt/compute_temp_uef.txt +++ /dev/null @@ -1,52 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute temp/uef command :h3 - -[Syntax:] - -compute ID group-ID temp/uef :pre - -ID, group-ID are documented in "compute"_compute.html command -temp/uef = style name of this compute command :ul - -[Examples:] - -compute 1 all temp/uef -compute 2 sel temp/uef :pre - -[Description:] - -This command is used to compute the kinetic energy 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. -It is not necessary to use this command to compute the scalar -value of the temperature. A "compute temp"_compute_temp.html -may be used for that purpose. - -Output information for this command can be found in the -documentation for "compute temp"_compute_temp.html. - -[Restrictions:] - -This fix is part of the USER-UEF package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This command can only be used when "fix nvt/uef"_fix_nh_uef.html -or "fix npt/uef"_fix_nh_uef.html is active. - -[Related commands:] - -"compute temp"_compute_temp.html, -"fix nvt/uef"_fix_nh_uef.html, -"compute pressure/uef"_compute_pressure_uef.html - - -[Default:] none diff --git a/doc/txt/compute_ti.txt b/doc/txt/compute_ti.txt deleted file mode 100644 index 0dec297183edc4234b28b29a8199456c3439b811..0000000000000000000000000000000000000000 --- a/doc/txt/compute_ti.txt +++ /dev/null @@ -1,136 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute ti command :h3 - -[Syntax:] - -compute ID group ti keyword args ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -ti = style name of this compute command :l -one or more attribute/arg pairs may be appended :l -keyword = pair style (lj/cut, gauss, born, etc) or {tail} or {kspace} :l - pair style args = atype v_name1 v_name2 - atype = atom type (see asterisk form below) - v_name1 = variable with name1 that is energy scale factor and function of lambda - v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda - {tail} args = atype v_name1 v_name2 - atype = atom type (see asterisk form below) - v_name1 = variable with name1 that is energy tail correction scale factor and function of lambda - v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda - {kspace} args = atype v_name1 v_name2 - atype = atom type (see asterisk form below) - v_name1 = variable with name1 that is K-Space scale factor and function of lambda - v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda :pre -:ule - -[Examples:] - -compute 1 all ti lj/cut 1 v_lj v_dlj coul/long 2 v_c v_dc kspace 1 v_ks v_dks -compute 1 all ti lj/cut 1*3 v_lj v_dlj coul/long * v_c v_dc kspace * v_ks v_dks :pre - -[Description:] - -Define a computation that calculates the derivative of the interaction -potential with respect to {lambda}, the coupling parameter used in a -thermodynamic integration. This derivative can be used to infer a -free energy difference resulting from an alchemical simulation, as -described in "Eike"_#Eike. - -Typically this compute will be used in conjunction with the "fix -adapt"_fix_adapt.html command which can perform alchemical -transformations by adjusting the strength of an interaction potential -as a simulation runs, as defined by one or more -"pair_style"_pair_style.html or "kspace_style"_kspace_style.html -commands. This scaling is done via a prefactor on the energy, forces, -virial calculated by the pair or K-Space style. The prefactor is -often a function of a {lambda} parameter which may be adjusted from 0 -to 1 (or vice versa) over the course of a "run"_run.html. The -time-dependent adjustment is what the "fix adapt"_fix_adapt.html -command does. - -Assume that the unscaled energy of a pair_style or kspace_style is -given by U. Then the scaled energy is - -Us = f(lambda) U :pre - -where f() is some function of lambda. What this compute calculates is - -dUs / d(lambda) = U df(lambda)/dlambda = Us / f(lambda) df(lambda)/dlambda :pre - -which is the derivative of the system's scaled potential energy Us -with respect to {lambda}. - -To perform this calculation, you provide one or more atom types as -{atype}. {Atype} can be specified in one of two ways. An explicit -numeric values can be used, as in the 1st example above. Or a -wildcard asterisk can be used in place of or in conjunction with the -{atype} argument to select multiple atom types. This takes the form -"*" or "*n" or "n*" or "m*n". If N = the number of atom types, then -an asterisk with no numeric values means all types from 1 to N. A -leading asterisk means all types from 1 to n (inclusive). A trailing -asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive). - -You also specify two functions, as "equal-style -variables"_variable.html. The first is specified as {v_name1}, where -{name1} is the name of the variable, and is f(lambda) in the notation -above. The second is specified as {v_name2}, where {name2} is the -name of the variable, and is df(lambda) / dlambda in the notation -above. I.e. it is the analytic derivative of f() with respect to -lambda. Note that the {name1} variable is also typically given as an -argument to the "fix adapt"_fix_adapt.html command. - -An alchemical simulation may use several pair potentials together, -invoked via the "pair_style hybrid or hybrid/overlay"_pair_hybrid.html -command. The total dUs/dlambda for the overall system is calculated -as the sum of each contributing term as listed by the keywords in the -compute ti command. Individual pair potentials can be listed, which -will be sub-styles in the hybrid case. You can also include a K-space -term via the {kspace} keyword. You can also include a pairwise -long-range tail correction to the energy via the {tail} keyword. - -For each term you can specify a different (or the same) scale factor -by the two variables that you list. Again, these will typically -correspond toe the scale factors applied to these various potentials -and the K-Space contribution via the "fix adapt"_fix_adapt.html -command. - -More details about the exact functional forms for the computation of -du/dl can be found in the paper by "Eike"_#Eike. - -:line - -[Output info:] - -This compute calculates a global scalar, namely dUs/dlambda. This -value can be used by any command that uses a global scalar value from -a compute as input. See the "Howto output"_Howto_output.html doc page -for an overview of LAMMPS output options. - -The scalar value calculated by this compute is "extensive". - -The scalar value will be in energy "units"_units.html. - -[Restrictions:] - -This compute is part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix adapt"_fix_adapt.html - -[Default:] none - -:line - -:link(Eike) -[(Eike)] Eike and Maginn, Journal of Chemical Physics, 124, 164503 (2006). diff --git a/doc/txt/compute_torque_chunk.txt b/doc/txt/compute_torque_chunk.txt deleted file mode 100644 index 8121c427811db813ff28830525a04aada6a3cb73..0000000000000000000000000000000000000000 --- a/doc/txt/compute_torque_chunk.txt +++ /dev/null @@ -1,86 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute torque/chunk command :h3 - -[Syntax:] - -compute ID group-ID torque/chunk chunkID :pre - -ID, group-ID are documented in "compute"_compute.html command -torque/chunk = style name of this compute command -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :ul - -[Examples:] - -compute 1 fluid torque/chunk molchunk :pre - -[Description:] - -Define a computation that calculates the torque on multiple chunks of -atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -This compute calculates the 3 components of the torque vector for eqch -chunk, due to the forces on the individual atoms in the chunk around -the center-of-mass of the chunk. The calculation includes all effects -due to atoms passing through periodic boundaries. - -Note that only atoms in the specified group contribute to the -calculation. The "compute chunk/atom"_compute_chunk_atom.html command -defines its own group; atoms will have a chunk ID = 0 if they are not -in that group, signifying they are not assigned to a chunk, and will -thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. - -NOTE: The coordinates of an atom contribute to the chunk's torque in -"unwrapped" form, by using the image flags associated with each atom. -See the "dump custom"_dump.html command for a discussion of -"unwrapped" coordinates. See the Atoms section of the -"read_data"_read_data.html command for a discussion of image flags and -how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this compute by using the "set -image"_set.html command. - -The simplest way to output the results of the compute torque/chunk -calculation to a file is to use the "fix ave/time"_fix_ave_time.html -command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk all torque/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -[Output info:] - -This compute calculates a global array where the number of rows = the -number of chunks {Nchunk} as calculated by the specified "compute -chunk/atom"_compute_chunk_atom.html command. The number of columns = -3 for the 3 xyz components of the torque for each chunk. These values -can be accessed by any command that uses global array values from a -compute as input. See the "Howto output"_Howto_output.html doc page -for an overview of LAMMPS output options. - -The array values are "intensive". The array values will be in -force-distance "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"variable torque() function"_variable.html - -[Default:] none diff --git a/doc/txt/compute_vacf.txt b/doc/txt/compute_vacf.txt deleted file mode 100644 index 70f1e99490586badb949d7fe6bec0b791a0ebc1c..0000000000000000000000000000000000000000 --- a/doc/txt/compute_vacf.txt +++ /dev/null @@ -1,70 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute vacf command :h3 - -[Syntax:] - -compute ID group-ID vacf :pre - -ID, group-ID are documented in "compute"_compute.html command -vacf = style name of this compute command :ul - -[Examples:] - -compute 1 all vacf -compute 1 upper vacf :pre - -[Description:] - -Define a computation that calculates the velocity auto-correlation -function (VACF), averaged over a group of atoms. Each atom's -contribution to the VACF is its current velocity vector dotted into -its initial velocity vector at the time the compute was specified. - -A vector of four quantities is calculated by this compute. The first 3 -elements of the vector are vx * vx0 (and similarly for the y and z -components), summed and averaged over atoms in the group. Vx is the -current x-component of velocity for the atom, vx0 is the initial -x-component of velocity for the atom. The 4th element of the vector -is the total VACF, i.e. (vx*vx0 + vy*vy0 + vz*vz0), summed and -averaged over atoms in the group. - -The integral of the VACF versus time is proportional to the diffusion -coefficient of the diffusing atoms. This can be computed in the -following manner, using the "variable trap()"_variable.html function: - -compute 2 all vacf -fix 5 all vector 1 c_2\[4\] -variable diff equal dt*trap(f_5) -thermo_style custom step v_diff :pre - -NOTE: If you want the quantities calculated by this compute to be -continuous when running from a "restart file"_read_restart.html, then -you should use the same ID for this compute, as in the original run. -This is so that the fix this compute creates to store per-atom -quantities will also have the same ID, and thus be initialized -correctly with time=0 atom velocities from the restart file. - -[Output info:] - -This compute calculates a global vector of length 4, which can be -accessed by indices 1-4 by any command that uses global vector values -from a compute as input. See the "Howto output"_Howto_output.html doc -page for an overview of LAMMPS output options. - -The vector values are "intensive". The vector values will be in -velocity^2 "units"_units.html. - -[Restrictions:] none - -[Related commands:] - -"compute msd"_compute_msd.html - -[Default:] none diff --git a/doc/txt/compute_vcm_chunk.txt b/doc/txt/compute_vcm_chunk.txt deleted file mode 100644 index 7e8ad712086fe17931a8676179865117aaf41c1f..0000000000000000000000000000000000000000 --- a/doc/txt/compute_vcm_chunk.txt +++ /dev/null @@ -1,76 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute vcm/chunk command :h3 - -[Syntax:] - -compute ID group-ID vcm/chunk chunkID :pre - -ID, group-ID are documented in "compute"_compute.html command -vcm/chunk = style name of this compute command -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command :ul - -[Examples:] - -compute 1 fluid vcm/chunk molchunk :pre - -[Description:] - -Define a computation that calculates the center-of-mass velocity for -multiple chunks of atoms. - -In LAMMPS, chunks are collections of atoms defined by a "compute -chunk/atom"_compute_chunk_atom.html command, which assigns each atom -to a single chunk (or no chunk). The ID for this command is specified -as chunkID. For example, a single chunk could be the atoms in a -molecule or atoms in a spatial bin. See the "compute -chunk/atom"_compute_chunk_atom.html and "Howto chunk"_Howto_chunk.html -doc pages for details of how chunks can be defined and examples of how -they can be used to measure properties of a system. - -This compute calculates the x,y,z components of the center-of-mass -velocity for each chunk. This is done by summing mass*velocity for -each atom in the chunk and dividing the sum by the total mass of the -chunk. - -Note that only atoms in the specified group contribute to the -calculation. The "compute chunk/atom"_compute_chunk_atom.html command -defines its own group; atoms will have a chunk ID = 0 if they are not -in that group, signifying they are not assigned to a chunk, and will -thus also not contribute to this calculation. You can specify the -"all" group for this command if you simply want to include atoms with -non-zero chunk IDs. - -The simplest way to output the results of the compute vcm/chunk -calculation to a file is to use the "fix ave/time"_fix_ave_time.html -command, for example: - -compute cc1 all chunk/atom molecule -compute myChunk all vcm/chunk cc1 -fix 1 all ave/time 100 1 100 c_myChunk\[*\] file tmp.out mode vector :pre - -[Output info:] - -This compute calculates a global array where the number of rows = the -number of chunks {Nchunk} as calculated by the specified "compute -chunk/atom"_compute_chunk_atom.html command. The number of columns = -3 for the x,y,z center-of-mass velocity coordinates of each chunk. -These values can be accessed by any command that uses global array -values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. - -The array values are "intensive". The array values will be in -velocity "units"_units.html. - -[Restrictions:] none - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/compute_voronoi_atom.txt b/doc/txt/compute_voronoi_atom.txt deleted file mode 100644 index 4d7bd568381430e29133a3c2412748c41f27b62e..0000000000000000000000000000000000000000 --- a/doc/txt/compute_voronoi_atom.txt +++ /dev/null @@ -1,226 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute voronoi/atom command :h3 - -[Syntax:] - -compute ID group-ID voronoi/atom keyword arg ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -voronoi/atom = style name of this compute command :l -zero or more keyword/value pairs may be appended :l -keyword = {only_group} or {surface} or {radius} or {edge_histo} or {edge_threshold} -or {face_threshold} or {neighbors} or {peratom} :l - {only_group} = no arg - {occupation} = no arg - {surface} arg = sgroup-ID - sgroup-ID = compute the dividing surface between group-ID and sgroup-ID - this keyword adds a third column to the compute output - {radius} arg = v_r - v_r = radius atom style variable for a poly-disperse Voronoi tessellation - {edge_histo} arg = maxedge - maxedge = maximum number of Voronoi cell edges to be accounted in the histogram - {edge_threshold} arg = minlength - minlength = minimum length for an edge to be counted - {face_threshold} arg = minarea - minarea = minimum area for a face to be counted - {neighbors} value = {yes} or {no} = store list of all neighbors or no - {peratom} value = {yes} or {no} = per-atom quantities accessible or no :pre -:ule - -[Examples:] - -compute 1 all voronoi/atom -compute 2 precipitate voronoi/atom surface matrix -compute 3b precipitate voronoi/atom radius v_r -compute 4 solute voronoi/atom only_group -compute 5 defects voronoi/atom occupation -compute 6 all voronoi/atom neighbors yes :pre - -[Description:] - -Define a computation that calculates the Voronoi tessellation of the -atoms in the simulation box. The tessellation is calculated using all -atoms in the simulation, but non-zero values are only stored for atoms -in the group. - -By default two per-atom quantities are calculated by this compute. -The first is the volume of the Voronoi cell around each atom. Any -point in an atom's Voronoi cell is closer to that atom than any other. -The second is the number of faces of the Voronoi cell. This is -equal to the number of nearest neighbors of the central atom, -plus any exterior faces (see note below). If the {peratom} keyword -is set to "no", the per-atom quantities are still calculated, -but they are not accessible. - -:line - -If the {only_group} keyword is specified the tessellation is performed -only with respect to the atoms contained in the compute group. This is -equivalent to deleting all atoms not contained in the group prior to -evaluating the tessellation. - -If the {surface} keyword is specified a third quantity per atom is -computed: the Voronoi cell surface of the given atom. {surface} takes -a group ID as an argument. If a group other than {all} is specified, -only the Voronoi cell facets facing a neighbor atom from the specified -group are counted towards the surface area. - -In the example above, a precipitate embedded in a matrix, only atoms -at the surface of the precipitate will have non-zero surface area, and -only the outward facing facets of the Voronoi cells are counted (the -hull of the precipitate). The total surface area of the precipitate -can be obtained by running a "reduce sum" compute on c_2\[3\] - -If the {radius} keyword is specified with an atom style variable as -the argument, a poly-disperse Voronoi tessellation is -performed. Examples for radius variables are - -variable r1 atom (type==1)*0.1+(type==2)*0.4 -compute radius all property/atom radius -variable r2 atom c_radius :pre - -Here v_r1 specifies a per-type radius of 0.1 units for type 1 atoms -and 0.4 units for type 2 atoms, and v_r2 accesses the radius property -present in atom_style sphere for granular models. - -The {edge_histo} keyword activates the compilation of a histogram of -number of edges on the faces of the Voronoi cells in the compute -group. The argument {maxedge} of the this keyword is the largest number -of edges on a single Voronoi cell face expected to occur in the -sample. This keyword adds the generation of a global vector with -{maxedge}+1 entries. The last entry in the vector contains the number of -faces with more than {maxedge} edges. Since the polygon with the -smallest amount of edges is a triangle, entries 1 and 2 of the vector -will always be zero. - -The {edge_threshold} and {face_threshold} keywords allow the -suppression of edges below a given minimum length and faces below a -given minimum area. Ultra short edges and ultra small faces can occur -as artifacts of the Voronoi tessellation. These keywords will affect -the neighbor count and edge histogram outputs. - -If the {occupation} keyword is specified the tessellation is only -performed for the first invocation of the compute and then stored. -For all following invocations of the compute the number of atoms in -each Voronoi cell in the stored tessellation is counted. In this mode -the compute returns a per-atom array with 2 columns. The first column -is the number of atoms currently in the Voronoi volume defined by this -atom at the time of the first invocation of the compute (note that the -atom may have moved significantly). The second column contains the -total number of atoms sharing the Voronoi cell of the stored -tessellation at the location of the current atom. Numbers in column -one can be any positive integer including zero, while column two -values will always be greater than zero. Column one data can be used -to locate vacancies (the coordinates are given by the atom coordinates -at the time step when the compute was first invoked), while column two -data can be used to identify interstitial atoms. - -If the {neighbors} value is set to yes, then this compute creates a -local array with 3 columns. There is one row for each face of each -Voronoi cell. The 3 columns are the atom ID of the atom that owns the -cell, the atom ID of the atom in the neighboring cell (or zero if the -face is external), and the area of the face. The array can be -accessed by any command that uses local values from a compute as -input. See the "Howto output"_Howto_output.html doc page for an -overview of LAMMPS output options. More specifically, the array can be -accessed by a "dump local"_dump.html command to write a file -containing all the Voronoi neighbors in a system: - -compute 6 all voronoi/atom neighbors yes -dump d2 all local 1 dump.neighbors index c_6\[1\] c_6\[2\] c_6\[3\] :pre - -If the {face_threshold} keyword is used, then only faces -with areas greater than the threshold are stored. - -:line - -The Voronoi calculation is performed by the freely available "Voro++ -package"_voronoi, written by Chris Rycroft at UC Berkeley and LBL, -which must be installed on your system when building LAMMPS for use -with this compute. See instructions on obtaining and installing the -Voro++ software in the src/VORONOI/README file. - -:link(voronoi,http://math.lbl.gov/voro++/) - -NOTE: The calculation of Voronoi volumes is performed by each -processor for the atoms it owns, and includes the effect of ghost -atoms stored by the processor. This assumes that the Voronoi cells of -owned atoms are not affected by atoms beyond the ghost atom cut-off -distance. This is usually a good assumption for liquid and solid -systems, but may lead to underestimation of Voronoi volumes in low -density systems. By default, the set of ghost atoms stored by each -processor is determined by the cutoff used for -"pair_style"_pair_style.html interactions. The cutoff can be set -explicitly via the "comm_modify cutoff"_comm_modify.html command. The -Voronoi cells for atoms adjacent to empty regions will extend into -those regions up to the communication cutoff in x, y, or z. In that -situation, an exterior face is created at the cutoff distance normal -to the x, y, or z direction. For triclinic systems, the exterior face -is parallel to the corresponding reciprocal lattice vector. - -NOTE: The Voro++ package performs its calculation in 3d. This will -still work for a 2d LAMMPS simulation, provided all the atoms have the -same z coordinate. The Voronoi cell of each atom will be a columnar -polyhedron with constant cross-sectional area along the z direction -and two exterior faces at the top and bottom of the simulation box. If -the atoms do not all have the same z coordinate, then the columnar -cells will be accordingly distorted. The cross-sectional area of each -Voronoi cell can be obtained by dividing its volume by the z extent of -the simulation box. Note that you define the z extent of the -simulation box for 2d simulations when using the -"create_box"_create_box.html or "read_data"_read_data.html commands. - -[Output info:] - -By default, this compute calculates a per-atom array with 2 -columns. In regular dynamic tessellation mode the first column is the -Voronoi volume, the second is the neighbor count, as described above -(read above for the output data in case the {occupation} keyword is -specified). These values can be accessed by any command that uses -per-atom values from a compute as input. See the "Howto -output"_Howto_output.html doc page for an overview of LAMMPS output -options. If the {peratom} keyword is set to "no", the per-atom array -is still created, but it is not accessible. - -If the {edge_histo} keyword is used, then this compute generates a -global vector of length {maxedge}+1, containing a histogram of the -number of edges per face. - -If the {neighbors} value is set to yes, then this compute calculates a -local array with 3 columns. There is one row for each face of each -Voronoi cell. - -NOTE: Some LAMMPS commands such as the "compute -reduce"_compute_reduce.html command can accept either a per-atom or -local quantity. If this compute produces both quantities, the command -may access the per-atom quantity, even if you want to access the local -quantity. This effect can be eliminated by using the {peratom} -keyword to turn off the production of the per-atom quantities. For -the default value {yes} both quantities are produced. For the value -{no}, only the local array is produced. - -The Voronoi cell volume will be in distance "units"_units.html cubed. -The Voronoi face area will be in distance "units"_units.html squared. - -[Restrictions:] - -This compute is part of the VORONOI package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -It also requires you have a copy of the Voro++ library built and -installed on your system. See instructions on obtaining and -installing the Voro++ software in the src/VORONOI/README file. - -[Related commands:] - -"dump custom"_dump.html, "dump local"_dump.html - -[Default:] {neighbors} no, {peratom} yes diff --git a/doc/txt/compute_xrd.txt b/doc/txt/compute_xrd.txt deleted file mode 100644 index 41523f25afa828f214491d7d3bdae2cf87172905..0000000000000000000000000000000000000000 --- a/doc/txt/compute_xrd.txt +++ /dev/null @@ -1,200 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -compute xrd command :h3 - -[Syntax:] - -compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ... :pre - -ID, group-ID are documented in "compute"_compute.html command :ulb,l -xrd = style name of this compute command :l -lambda = wavelength of incident radiation (length units) :l -type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) :l - -zero or more keyword/value pairs may be appended :l -keyword = {2Theta} or {c} or {LP} or {manual} or {echo} :l - {2Theta} values = Min2Theta Max2Theta - Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore - (radians or degrees) - {c} values = c1 c2 c3 - c1,c2,c3 = parameters to adjust the spacing of the reciprocal - lattice nodes in the h, k, and l directions respectively - {LP} value = switch to apply Lorentz-polarization factor - 0/1 = off/on - {manual} = flag to use manual spacing of reciprocal lattice points - based on the values of the {c} parameters - {echo} = flag to provide extra output for debugging purposes :pre -:ule - -[Examples:] - -compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo -compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual :pre - -fix 1 all ave/histo/weight 1 1 1 0.087 0.87 250 c_1\[1\] c_1\[2\] mode vector file Rad2Theta.xrd -fix 2 all ave/histo/weight 1 1 1 10 100 250 c_2\[1\] c_2\[2\] mode vector file Deg2Theta.xrd :pre - -[Description:] - -Define a computation that calculates x-ray diffraction intensity as described -in "(Coleman)"_#xrd-Coleman on a mesh of reciprocal lattice nodes defined -by the entire simulation domain (or manually) using a simulated radiation -of wavelength lambda. - -The x-ray diffraction intensity, I, at each reciprocal lattice point, k, -is computed from the structure factor, F, using the equations: - -:c,image(Eqs/compute_xrd1.jpg) -:c,image(Eqs/compute_xrd2.jpg) -:c,image(Eqs/compute_xrd3.jpg) -:c,image(Eqs/compute_xrd4.jpg) - -Here, K is the location of the reciprocal lattice node, rj is the -position of each atom, fj are atomic scattering factors, LP is the -Lorentz-polarization factor, and theta is the scattering angle of -diffraction. The Lorentz-polarization factor can be turned off using -the optional {LP} keyword. - -Diffraction intensities are calculated on a three-dimensional mesh of -reciprocal lattice nodes. The mesh spacing is defined either (a) -by the entire simulation domain or (b) manually using selected values as -shown in the 2D diagram below. - -:c,image(JPG/xrd_mesh_small.jpg,JPG/xrd_mesh.jpg) - - -For a mesh defined by the simulation domain, a rectilinear grid is -constructed with spacing {c}*inv(A) along each reciprocal lattice -axis. Where A are the vectors corresponding to the edges of the -simulation cell. If one or two directions has non-periodic boundary -conditions, then the spacing in these directions is defined from the -average of the (inversed) box lengths with periodic boundary conditions. -Meshes defined by the simulation domain must contain at least one periodic -boundary. - -If the {manual} flag is included, the mesh of reciprocal lattice nodes -will defined using the {c} values for the spacing along each -reciprocal lattice axis. Note that manual mapping of the reciprocal -space mesh is good for comparing diffraction results from multiple -simulations; however it can reduce the likelihood that Bragg -reflections will be satisfied unless small spacing parameters (< 0.05 -Angstrom^(-1)) are implemented. Meshes with manual spacing do not -require a periodic boundary. - -The limits of the reciprocal lattice mesh are determined by range of -scattering angles explored. The {2Theta} parameters allows the user -to reduce the scattering angle range to only the region of interest -which reduces the cost of the computation. - -The atomic scattering factors, fj, accounts for the reduction in -diffraction intensity due to Compton scattering. Compute xrd uses -analytical approximations of the atomic scattering factors that vary -for each atom type (type1 type2 ... typeN) and angle of diffraction. -The analytic approximation is computed using the formula -"(Colliex)"_#Colliex: - -:c,image(Eqs/compute_xrd5.jpg) - -Coefficients parameterized by "(Peng)"_#Peng are assigned for each -atom type designating the chemical symbol and charge of each atom -type. Valid chemical symbols for compute xrd are: - - H| He1-| He| Li| Li1+| - Be| Be2+| B| C| Cval| - N| O| O1-| F| F1-| - Ne| Na| Na1+| Mg| Mg2+| - Al| Al3+| Si| Sival| Si4+| - P| S| Cl| Cl1-| Ar| - K| Ca| Ca2+| Sc| Sc3+| - Ti| Ti2+| Ti3+| Ti4+| V| - V2+| V3+| V5+| Cr| Cr2+| - Cr3+| Mn| Mn2+| Mn3+| Mn4+| - Fe| Fe2+| Fe3+| Co| Co2+| - Co| Ni| Ni2+| Ni3+| Cu| - Cu1+| Cu2+| Zn| Zn2+| Ga| - Ga3+| Ge| Ge4+| As| Se| - Br| Br1-| Kr| Rb| Rb1+| - Sr| Sr2+| Y| Y3+| Zr| - Zr4+| Nb| Nb3+| Nb5+| Mo| - Mo3+| Mo5+| Mo6+| Tc| Ru| - Ru3+| Ru4+| Rh| Rh3+| Rh4+| - Pd| Pd2+| Pd4+| Ag| Ag1+| - Ag2+| Cd| Cd2+| In| In3+| - Sn| Sn2+| Sn4+| Sb| Sb3+| - Sb5+| Te| I| I1-| Xe| - Cs| Cs1+| Ba| Ba2+| La| - La3+| Ce| Ce3+| Ce4+| Pr| - Pr3+| Pr4+| Nd| Nd3+| Pm| - Pm3+| Sm| Sm3+| Eu| Eu2+| - Eu3+| Gd| Gd3+| Tb| Tb3+| - Dy| Dy3+| Ho| Ho3+| Er| - Er3+| Tm| Tm3+| Yb| Yb2+| - Yb3+| Lu| Lu3+| Hf| Hf4+| - Ta| Ta5+| W| W6+| Re| - Os| Os4+| Ir| Ir3+| Ir4+| - Pt| Pt2+| Pt4+| Au| Au1+| - Au3+| Hg| Hg1+| Hg2+| Tl| - Tl1+| Tl3+| Pb| Pb2+| Pb4+| - Bi| Bi3+| Bi5+| Po| At| - Rn| Fr| Ra| Ra2+| Ac| - Ac3+| Th| Th4+| Pa| U| - U3+| U4+| U6+| Np| Np3+| - Np4+| Np6+| Pu| Pu3+| Pu4+| - Pu6+| Am| Cm| Bk| Cf :tb(c=5,s=|) - -If the {echo} keyword is specified, compute xrd will provide extra -reporting information to the screen. - -[Output info:] - -This compute calculates a global array. The number of rows in the -array is the number of reciprocal lattice nodes that are explored -which by the mesh. The global array has 2 columns. - -The first column contains the diffraction angle in the units (radians -or degrees) provided with the {2Theta} values. The second column contains -the computed diffraction intensities as described above. - -The array can be accessed by any command that uses global values from -a compute as input. See the "Howto output"_Howto_output.html doc page -for an overview of LAMMPS output options. - -All array values calculated by this compute are "intensive". - -[Restrictions:] - -This compute is part of the USER-DIFFRACTION package. It is only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -The compute_xrd command does not work for triclinic cells. - -[Related commands:] - -"fix ave/histo"_fix_ave_histo.html, -"compute saed"_compute_saed.html - -[Default:] - -The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1, -no manual flag, no echo flag. - -:line - -:link(xrd-Coleman) -[(Coleman)] Coleman, Spearot, Capolungo, MSMSE, 21, 055020 -(2013). - -:link(Colliex) -[(Colliex)] Colliex et al. International Tables for Crystallography -Volume C: Mathematical and Chemical Tables, 249-429 (2004). - -:link(Peng) -[(Peng)] Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76 -(1996). diff --git a/doc/txt/create_bonds.txt b/doc/txt/create_bonds.txt deleted file mode 100644 index 9c073b6c552432fd4493bcf31cd8c2f5d52be3f1..0000000000000000000000000000000000000000 --- a/doc/txt/create_bonds.txt +++ /dev/null @@ -1,204 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -create_bonds command :h3 - -[Syntax:] - -create_bonds style args ... keyword value ... :pre - -style = {many} or {single/bond} or {single/angle} or {single/dihedral} :ule,l - {many} args = group-ID group2-ID btype rmin rmax - group-ID = ID of first group - group2-ID = ID of second group, bonds will be between atoms in the 2 groups - btype = bond type of created bonds - rmin = minimum distance between pair of atoms to bond together - rmax = 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 - {single/angle} args = atype aatom1 aatom2 aatom3 - atype = angle type of new angle - aatom1,aatom2,aatom3 = atom IDs for three atoms in angle - {single/dihedral} args = dtype datom1 datom2 datom3 datom4 - dtype = dihedral type of new dihedral - datom1,datom2,datom3,datom4 = atom IDs for four atoms in dihedral - {single/improper} args = itype iatom1 iatom2 iatom3 iatom4 - itype = improper type of new improper - iatom1,iatom2,iatom3,iatom4 = atom IDs for four atoms in improper :pre -zero or more keyword/value pairs may be appended :l -keyword = {special} :l - {special} value = {yes} or {no} :pre -:ule - -[Examples:] - -create_bonds many all all 1 1.0 1.2 -create_bonds many surf solvent 3 2.0 2.4 -create_bonds single/bond 1 1 2 -create_bonds single/angle 5 52 98 107 special no -create_bonds single/dihedral 2 4 19 27 101 -create_bonds single/improper 3 23 26 31 57 :pre - -[Description:] - -Create bonds between pairs of atoms that meet a specified distance -criteria. Or create a single bond, angle, dihedral or improper between 2, 3, -or 4 specified atoms. - -The new bond (angle, dihedral, improper) interactions will then be computed -during a simulation by the bond (angle, dihedral, improper) potential defined by -the "bond_style"_bond_style.html, "bond_coeff"_bond_coeff.html, -"angle_style"_angle_style.html, "angle_coeff"_angle_coeff.html, -"dihedral_style"_dihedral_style.html, -"dihedral_coeff"_dihedral_coeff.html, "improper_style"_improper_style.html, -"improper_coeff"_improper_coeff.html commands. - -The {many} style is useful for adding bonds to a system, e.g. between -nearest neighbors in a lattice of atoms, without having to enumerate -all the bonds in the data file read by the "read_data"_read_data.html -command. - -The {single} styles are useful for adding bonds, angles, dihedrals, impropers -to a system incrementally, then continuing a simulation. - -Note that this command does not auto-create any angle, dihedral or improper -interactions when a bond is added. Nor does it auto-create any bonds -when an angle, dihedral or improper is added. Or auto-create any angles when a -dihedral or improper is added. Thus the flexibility of this command is limited. -It can be used several times to create different types of bond at -different distances. But it cannot typically auto-create all the -bonds or angles or dihedrals or impropers that would normally be defined in a -data file for a complex system of molecules. - -NOTE: If the system has no bonds (angles, dihedrals, impropers) to begin with, -or if more bonds per atom are being added than currently exist, then you -must insure that the number of bond types and the maximum number of -bonds per atom are set to large enough values. And similarly for -angles, dihedrals and impropers. Otherwise an error may occur when too many -bonds (angles, dihedrals, impropers) are added to an atom. If the -"read_data"_read_data.html command is used to define the system, these -parameters can be set via the "bond types" and "extra bond per atom" -fields in the header section of the data file. If the -"create_box"_create_box.html command is used to define the system, -these 2 parameters can be set via its optional "bond/types" and -"extra/bond/per/atom" arguments. And similarly for angles, dihedrals and -impropers. See the doc pages for these 2 commands for details. - -:line - -The {many} style will create bonds between pairs of atoms I,J where I -is in one of the two specified groups, and J is in the other. The two -groups can be the same, e.g. group "all". The created bonds will be -of bond type {btype}, where {btype} must be a value between 1 and the -number of bond types defined. - -For a bond to be created, an I,J pair of atoms must be a distance D -apart such that {rmin} <= D <= {rmax}. - -The following settings must have been made in an input script before -this style is used: - -special_bonds weight for 1-2 interactions must be 0.0 -a "pair_style"_pair_style.html must be defined -no "kspace_style"_kspace_style.html defined -minimum "pair_style"_pair_style.html cutoff + "neighbor"_neighbor.html skin >= {rmax} :ul - -These settings are required so that a neighbor list can be created to -search for nearby atoms. Pairs of atoms that are already bonded -cannot appear in the neighbor list, to avoid creation of duplicate -bonds. The neighbor list for all atom type pairs must also extend to -a distance that encompasses the {rmax} for new bonds to create. - -An additional requirement for this style is that your system must be -ready to perform a simulation. This means, for example, that all -"pair_style"_pair_style.html coefficients be set via the -"pair_coeff"_pair_coeff.html command. A "bond_style"_bond_style.html -command and all bond coefficients must also be set, even if no bonds -exist before this command is invoked. This is because the building of -neighbor list requires initialization and setup of a simulation, -similar to what a "run"_run.html command would require. - -Note that you can change any of these settings after this command -executes, e.g. if you wish to use long-range Coulombic interactions -via the "kspace_style"_kspace_style.html command for your subsequent -simulation. - -:line - -The {single/bond} style creates a single bond of type {btype} between -two atoms with IDs {batom1} and {batom2}. {Btype} must be a value -between 1 and the number of bond types defined. - -The {single/angle} style creates a single angle of type {atype} -between three atoms with IDs {aatom1}, {aatom2}, and {aatom3}. The -ordering of the atoms is the same as in the {Angles} section of a data -file read by the "read_data"_read_data.html command. I.e. the 3 atoms are -ordered linearly within the angle; the central atom is {aatom2}. -{Atype} must be a value between 1 and the number of angle types -defined. - -The {single/dihedral} style creates a single dihedral of type {dtype} -between four atoms with IDs {datom1}, {datom2}, {datom3}, and {datom4}. The -ordering of the atoms is the same as in the {Dihedrals} section of a data file -read by the "read_data"_read_data.html command. I.e. the 4 atoms are ordered -linearly within the dihedral. {dtype} must be a value between 1 and -the number of dihedral types defined. - -The {single/improper} style creates a single improper of type {itype} -between four atoms with IDs {iatom1}, {iatom2}, {iatom3}, and {iatom4}. The -ordering of the atoms is the same as in the {Impropers} section of a data file -read by the "read_data"_read_data.html command. I.e. the 4 atoms are ordered -linearly within the improper. {itype} must be a value between 1 and -the number of improper types defined. - -:line - -The keyword {special} controls whether an internal list of special -bonds is created after one or more bonds, or a single angle, dihedral or -improper is added to the system. - -The default value is {yes}. A value of {no} cannot be used -with the {many} style. - -This is an expensive operation since the bond topology for the system -must be walked to find all 1-2, 1-3, 1-4 interactions to store in an -internal list, which is used when pairwise interactions are weighted; -see the "special_bonds"_special_bonds.html command for details. - -Thus if you are adding a few bonds or a large list of angles all at -the same time, by using this command repeatedly, it is more efficient -to only trigger the internal list to be created once, after the last -bond (or angle, or dihedral, or improper) is added: - -create_bonds single/bond 5 52 98 special no -create_bonds single/bond 5 73 74 special no -... -create_bonds single/bond 5 17 386 special no -create_bonds single/bond 4 112 183 special yes :pre - -Note that you MUST insure the internal list is re-built after the last -bond (angle, dihedral, improper) is added, before performing a simulation. -Otherwise pairwise interactions will not be properly excluded or -weighted. LAMMPS does NOT check that you have done this correctly. - -:line - -[Restrictions:] - -This command cannot be used with molecular systems defined using -molecule template files via the "molecule"_molecule.html and -"atom_style template"_atom_style.html commands. - -[Related commands:] - -"create_atoms"_create_atoms.html, "delete_bonds"_delete_bonds.html - -[Default:] - -The keyword default is special = yes. diff --git a/doc/txt/create_box.txt b/doc/txt/create_box.txt deleted file mode 100644 index cc57c96f93a6ee44f12185cddf31ae40417d7c88..0000000000000000000000000000000000000000 --- a/doc/txt/create_box.txt +++ /dev/null @@ -1,152 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -create_box command :h3 - -[Syntax:] - -create_box N region-ID keyword value ... :pre - -N = # of atom types to use in this simulation :ulb,l -region-ID = ID of region to use as simulation domain :l -zero or more keyword/value pairs may be appended :l -keyword = {bond/types} or {angle/types} or {dihedral/types} or {improper/types} or {extra/bond/per/atom} or {extra/angle/per/atom} or {extra/dihedral/per/atom} or {extra/improper/per/atom} :l - {bond/types} value = # of bond types - {angle/types} value = # of angle types - {dihedral/types} value = # of dihedral types - {improper/types} value = # of improper types - {extra/bond/per/atom} value = # of bonds per atom - {extra/angle/per/atom} value = # of angles per atom - {extra/dihedral/per/atom} value = # of dihedrals per atom - {extra/improper/per/atom} value = # of impropers per atom - {extra/special/per/atom} value = # of special neighbors per atom :pre -:ule - -[Examples:] - -create_box 2 mybox -create_box 2 mybox bond/types 2 extra/bond/per/atom 1 :pre - -[Description:] - -This command creates a simulation box based on the specified region. -Thus a "region"_region.html command must first be used to define a -geometric domain. It also partitions the simulation box into a -regular 3d grid of rectangular bricks, one per processor, based on the -number of processors being used and the settings of the -"processors"_processors.html command. The partitioning can later be -changed by the "balance"_balance.html or "fix -balance"_fix_balance.html commands. - -The argument N is the number of atom types that will be used in the -simulation. - -If the region is not of style {prism}, then LAMMPS encloses the region -(block, sphere, etc) with an axis-aligned orthogonal bounding box -which becomes the simulation domain. - -If the region is of style {prism}, LAMMPS creates a non-orthogonal -simulation domain shaped as a parallelepiped with triclinic symmetry. -As defined by the "region prism"_region.html command, the -parallelepiped has its "origin" at (xlo,ylo,zlo) and is defined by 3 -edge vectors starting from the origin given by A = (xhi-xlo,0,0); B = -(xy,yhi-ylo,0); C = (xz,yz,zhi-zlo). {Xy,xz,yz} can be 0.0 or -positive or negative values and are called "tilt factors" because they -are the amount of displacement applied to faces of an originally -orthogonal box to transform it into the parallelepiped. - -By default, a {prism} region used with the create_box command must -have tilt factors (xy,xz,yz) that do not skew the box more than half -the distance of the parallel box length. For example, if xlo = 2 and -xhi = 12, then the x box length is 10 and the xy tilt factor must be -between -5 and 5. Similarly, both xz and yz must be between --(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, -since if the maximum tilt factor is 5 (as in this example), then -configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all -geometrically equivalent. If you wish to define a box with tilt -factors that exceed these limits, you can use the "box tilt"_box.html -command, with a setting of {large}; a setting of {small} is the -default. - -See the "Howto triclinic"_Howto_triclinic.html doc page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. - -When a prism region is used, the simulation domain should normally be -periodic in the dimension that the tilt is applied to, which is given -by the second dimension of the tilt factor (e.g. y for xy tilt). This -is so that pairs of atoms interacting across that boundary will have -one of them shifted by the tilt factor. Periodicity is set by the -"boundary"_boundary.html command. For example, if the xy tilt factor -is non-zero, then the y dimension should be periodic. Similarly, the -z dimension should be periodic if xz or yz is non-zero. LAMMPS does -not require this periodicity, but you may lose atoms if this is not -the case. - -Also note that if your simulation will tilt the box, e.g. via the "fix -deform"_fix_deform.html command, the simulation box must be setup to -be triclinic, even if the tilt factors are initially 0.0. You can -also change an orthogonal box to a triclinic box or vice versa by -using the "change box"_change_box.html command with its {ortho} and -{triclinic} options. - -NOTE: If the system is non-periodic (in a dimension), then you should -not make the lo/hi box dimensions (as defined in your -"region"_region.html command) radically smaller/larger than the extent -of the atoms you eventually plan to create, e.g. via the -"create_atoms"_create_atoms.html command. For example, if your atoms -extend from 0 to 50, you should not specify the box bounds as -10000 -and 10000. This is because as described above, LAMMPS uses the -specified box size to layout the 3d grid of processors. A huge -(mostly empty) box will be sub-optimal for performance when using -"fixed" boundary conditions (see the "boundary"_boundary.html -command). When using "shrink-wrap" boundary conditions (see the -"boundary"_boundary.html command), a huge (mostly empty) box may cause -a parallel simulation to lose atoms the first time that LAMMPS -shrink-wraps the box around the atoms. - -:line - -The optional keywords can be used to create a system that allows for -bond (angle, dihedral, improper) interactions, or for molecules with -special 1-2,1-3,1-4 neighbors to be added later. These optional -keywords serve the same purpose as the analogous keywords that can be -used in a data file which are recognized by the -"read_data"_read_data.html command when it sets up a system. - -Note that if these keywords are not used, then the create_box command -creates an atomic (non-molecular) simulation that does not allow bonds -between pairs of atoms to be defined, or a "bond -potential"_bond_style.html to be specified, or for molecules with -special neighbors to be added to the system by commands such as -"create_atoms mol"_create_atoms.html, "fix deposit"_fix_deposit.html -or "fix pour"_fix_pour.html. - -As an example, see the examples/deposit/in.deposit.molecule script, -which deposits molecules onto a substrate. Initially there are no -molecules in the system, but they are added later by the "fix -deposit"_fix_deposit.html command. The create_box command in the -script uses the bond/types and extra/bond/per/atom keywords to allow -this. If the added molecule contained more than 1 special bond -(allowed by default), an extra/special/per/atom keyword would also -need to be specified. - -:line - -[Restrictions:] - -An "atom_style"_atom_style.html and "region"_region.html must have -been previously defined to use this command. - -[Related commands:] - -"read_data"_read_data.html, "create_atoms"_create_atoms.html, -"region"_region.html - -[Default:] none diff --git a/doc/txt/delete_atoms.txt b/doc/txt/delete_atoms.txt deleted file mode 100644 index a55288e1dbad05e79f32d047355bafd3d65d3caa..0000000000000000000000000000000000000000 --- a/doc/txt/delete_atoms.txt +++ /dev/null @@ -1,152 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -delete_atoms command :h3 - -[Syntax:] - -delete_atoms style args keyword value ... :pre - -style = {group} or {region} or {overlap} or {porosity} :ulb,l - {group} args = group-ID - {region} args = region-ID - {overlap} args = cutoff group1-ID group2-ID - cutoff = delete one atom from pairs of atoms within the cutoff (distance units) - group1-ID = one atom in pair must be in this group - group2-ID = other atom in pair must be in this group - {porosity} args = region-ID fraction seed - region-ID = region within which to perform deletions - fraction = delete this fraction of atoms - seed = random number seed (positive integer) :pre -zero or more keyword/value pairs may be appended :l -keyword = {compress} or {bond} or {mol} :l - {compress} value = {no} or {yes} - {bond} value = {no} or {yes} - {mol} value = {no} or {yes} :pre -:ule - -[Examples:] - -delete_atoms group edge -delete_atoms region sphere compress no -delete_atoms overlap 0.3 all all -delete_atoms overlap 0.5 solvent colloid -delete_atoms porosity cube 0.1 482793 bond yes :pre - -[Description:] - -Delete the specified atoms. This command can be used to carve out -voids from a block of material or to delete created atoms that are too -close to each other (e.g. at a grain boundary). - -For style {group}, all atoms belonging to the group are deleted. - -For style {region}, all atoms in the region volume are deleted. -Additional atoms can be deleted if they are in a molecule for which -one or more atoms were deleted within the region; see the {mol} -keyword discussion below. - -For style {overlap} pairs of atoms whose distance of separation is -within the specified cutoff distance are searched for, and one of the -2 atoms is deleted. Only pairs where one of the two atoms is in the -first group specified and the other atom is in the second group are -considered. The atom that is in the first group is the one that is -deleted. - -Note that it is OK for the two group IDs to be the same (e.g. group -{all}), or for some atoms to be members of both groups. In these -cases, either atom in the pair may be deleted. Also note that if -there are atoms which are members of both groups, the only guarantee -is that at the end of the deletion operation, enough deletions will -have occurred that no atom pairs within the cutoff will remain -(subject to the group restriction). There is no guarantee that the -minimum number of atoms will be deleted, or that the same atoms will -be deleted when running on different numbers of processors. - -For style {porosity} a specified {fraction} of atoms are deleted -within the specified region. For example, if fraction is 0.1, then -10% of the atoms will be deleted. The atoms to delete are chosen -randomly. There is no guarantee that the exact fraction of atoms will -be deleted, or that the same atoms will be deleted when running on -different numbers of processors. - -If the {compress} keyword is set to {yes}, then after atoms are -deleted, then atom IDs are re-assigned so that they run from 1 to the -number of atoms in the system. Note that this is not done for -molecular systems (see the "atom_style"_atom_style.html command), -regardless of the {compress} setting, since it would foul up the bond -connectivity that has already been assigned. However, the -"reset_ids"_reset_ids.html command can be used after this command to -accomplish the same thing. - -Note that the re-assignment of IDs is not really a compression, where -gaps in atom IDs are removed by decrementing atom IDs that are larger. -Instead the IDs for all atoms are erased, and new IDs are assigned so -that the atoms owned by individual processors have consecutive IDs, as -the "create_atoms"_create_atoms.html command explains. - -A molecular system with fixed bonds, angles, dihedrals, or improper -interactions, is one where the topology of the interactions is -typically defined in the data file read by the -"read_data"_read_data.html command, and where the interactions -themselves are defined with the "bond_style"_bond_style.html, -"angle_style"_angle_style.html, etc commands. If you delete atoms -from such a system, you must be careful not to end up with bonded -interactions that are stored by remaining atoms but which include -deleted atoms. This will cause LAMMPS to generate a "missing atoms" -error when the bonded interaction is computed. The {bond} and {mol} -keywords offer two ways to do that. - -It the {bond} keyword is set to {yes} then any bond or angle or -dihedral or improper interaction that includes a deleted atom is also -removed from the lists of such interactions stored by non-deleted -atoms. Note that simply deleting interactions due to dangling bonds -(e.g. at a surface) may result in a inaccurate or invalid model for -the remaining atoms. - -It the {mol} keyword is set to {yes}, then for every atom that is -deleted, all other atoms in the same molecule (with the same molecule -ID) will also be deleted. This is not done for atoms with molecule ID -= 0, since such an ID is assumed to flag isolated atoms that are not -part of molecules. - -NOTE: The molecule deletion operation in invoked after all individual -atoms have been deleted using the rules described above for each -style. This means additional atoms may be deleted that are not in the -group or region, that are not required by the overlap cutoff -criterion, or that will create a higher fraction of porosity than was -requested. - -[Restrictions:] - -The {overlap} styles requires inter-processor communication to acquire -ghost atoms and build a neighbor list. This means that your system -must be ready to perform a simulation before using this command (force -fields setup, atom masses set, etc). Since a neighbor list is used to -find overlapping atom pairs, it also means that you must define a -"pair style"_pair_style.html with the minimum force cutoff distance -between any pair of atoms types (plus the "neighbor"_neighbor.html -skin) >= the specified overlap cutoff. - -If the "special_bonds"_special_bonds.html command is used with a -setting of 0, then a pair of bonded atoms (1-2, 1-3, or 1-4) will not -appear in the neighbor list, and thus will not be considered for -deletion by the {overlap} styles. You probably don't want to be -deleting one atom in a bonded pair anyway. - -The {bond yes} option cannot be used with molecular systems defined -using molecule template files via the "molecule"_molecule.html and -"atom_style template"_atom_style.html commands. - -[Related commands:] - -"create_atoms"_create_atoms.html, "reset_ids"_reset_ids.html - -[Default:] - -The option defaults are compress = yes, bond = no, mol = no. diff --git a/doc/txt/delete_bonds.txt b/doc/txt/delete_bonds.txt deleted file mode 100644 index 4e336046968ca3b0dc3c7f32db3a341ece4d9c9b..0000000000000000000000000000000000000000 --- a/doc/txt/delete_bonds.txt +++ /dev/null @@ -1,154 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -delete_bonds command :h3 - -[Syntax:] - -delete_bonds group-ID style arg keyword ... :pre - -group-ID = group ID :ulb,l -style = {multi} or {atom} or {bond} or {angle} or {dihedral} or - {improper} or {stats} :l - {multi} arg = none - {atom} arg = an atom type or range of types (see below) - {bond} arg = a bond type or range of types (see below) - {angle} arg = an angle type or range of types (see below) - {dihedral} arg = a dihedral type or range of types (see below) - {improper} arg = an improper type or range of types (see below) - {stats} arg = none :pre -zero or more keywords may be appended :l -keyword = {any} or {undo} or {remove} or {special} :l -:ule - -[Examples:] - -delete_bonds frozen multi remove -delete_bonds all atom 4 special -delete_bonds all bond 0*3 special -delete_bonds all stats :pre - -[Description:] - -Turn off (or on) molecular topology interactions, i.e. bonds, angles, -dihedrals, impropers. This command is useful for deleting -interactions that have been previously turned off by bond-breaking -potentials. It is also useful for turning off topology interactions -between frozen or rigid atoms. Pairwise interactions can be turned -off via the "neigh_modify exclude"_neigh_modify.html command. The -"fix shake"_fix_shake.html command also effectively turns off certain -bond and angle interactions. - -For all styles, by default, an interaction is only turned off (or on) -if all the atoms involved are in the specified group. See the {any} -keyword to change the behavior. - -Several of the styles ({atom}, {bond}, {angle}, {dihedral}, -{improper}) take a {type} as an argument. The specified {type} should -be an integer from 0 to N, where N is the number of relevant types -(atom types, bond types, etc). A value of 0 is only relevant for -style {bond}; see details below. In all cases, a wildcard asterisk -can be used in place of or in conjunction with the {type} argument to -specify a range of types. This takes the form "*" or "*n" or "n*" or -"m*n". If N = the number of types, then an asterisk with no numeric -values means all types from 0 to N. A leading asterisk means all -types from 0 to n (inclusive). A trailing asterisk means all types -from n to N (inclusive). A middle asterisk means all types from m to -n (inclusive). Note that it is fine to include a type of 0 for -non-bond styles; it will simply be ignored. - -For style {multi} all bond, angle, dihedral, and improper interactions -of any type, involving atoms in the group, are turned off. - -Style {atom} is the same as style {multi} except that in addition, one -or more of the atoms involved in the bond, angle, dihedral, or -improper interaction must also be of the specified atom type. - -For style {bond}, only bonds are candidates for turn-off, and the bond -must also be of the specified type. Styles {angle}, {dihedral}, and -{improper} are treated similarly. - -For style {bond}, you can set the type to 0 to delete bonds that have -been previously broken by a bond-breaking potential (which sets the -bond type to 0 when a bond is broken); e.g. see the "bond_style -quartic"_bond_style.html command. - -For style {stats} no interactions are turned off (or on); the status -of all interactions in the specified group is simply reported. This -is useful for diagnostic purposes if bonds have been turned off by a -bond-breaking potential during a previous run. - -The default behavior of the delete_bonds command is to turn off -interactions by toggling their type to a negative value, but not to -permanently remove the interaction. E.g. a bond_type of 2 is set to --2. The neighbor list creation routines will not include such an -interaction in their interaction lists. The default is also to not -alter the list of 1-2, 1-3, 1-4 neighbors computed by the -"special_bonds"_special_bonds.html command and used to weight pairwise -force and energy calculations. This means that pairwise computations -will proceed as if the bond (or angle, etc) were still turned on. - -Several keywords can be appended to the argument list to alter the -default behaviors. - -The {any} keyword changes the requirement that all atoms in the bond -(angle, etc) must be in the specified group in order to turn-off the -interaction. Instead, if any of the atoms in the interaction are in -the specified group, it will be turned off (or on if the {undo} -keyword is used). - -The {undo} keyword inverts the delete_bonds command so that the -specified bonds, angles, etc are turned on if they are currently -turned off. This means a negative value is toggled to positive. For -example, for style {angle}, if {type} is specified as 2, then all -angles with current type = -2, are reset to type = 2. Note that the -"fix shake"_fix_shake.html command also sets bond and angle types -negative, so this option should not be used on those interactions. - -The {remove} keyword is invoked at the end of the delete_bonds -operation. It causes turned-off bonds (angles, etc) to be removed -from each atom's data structure and then adjusts the global bond -(angle, etc) counts accordingly. Removal is a permanent change; -removed bonds cannot be turned back on via the {undo} keyword. -Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list. - -The {special} keyword is invoked at the end of the delete_bonds -operation, after (optional) removal. It re-computes the pairwise 1-2, -1-3, 1-4 weighting list. The weighting list computation treats -turned-off bonds the same as turned-on. Thus, turned-off bonds must -be removed if you wish to change the weighting list. - -Note that the choice of {remove} and {special} options affects how -1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that -have been modified by the delete_bonds command. - -[Restrictions:] - -This command requires inter-processor communication to acquire ghost -atoms, to coordinate the deleting of bonds, angles, etc between atoms -shared by multiple processors. This means that your system must be -ready to perform a simulation before using this command (force fields -setup, atom masses set, etc). Just as would be needed to run -dynamics, the force field you define should define a cutoff -(e.g. through a "pair_style"_pair_style.html command) which is long -enough for a processor to acquire the ghost atoms its needs to compute -bond, angle, etc interactions. - -If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4 -weighting list is not re-computed, this can cause a later "fix -shake"_fix_shake.html command to fail due to an atom's bonds being -inconsistent with the weighting list. This should only happen if the -group used in the fix command includes both atoms in the bond, in -which case you probably should be recomputing the weighting list. - -[Related commands:] - -"neigh_modify"_neigh_modify.html exclude, -"special_bonds"_special_bonds.html, "fix shake"_fix_shake.html - -[Default:] none diff --git a/doc/txt/dielectric.txt b/doc/txt/dielectric.txt deleted file mode 100644 index f93be8cc25823c691b108dce6d8e41b5d6367775..0000000000000000000000000000000000000000 --- a/doc/txt/dielectric.txt +++ /dev/null @@ -1,39 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dielectric command :h3 - -[Syntax:] - -dielectric value :pre - -value = dielectric constant :ul - -[Examples:] - -dielectric 2.0 :pre - -[Description:] - -Set the dielectric constant for Coulombic interactions (pairwise and -long-range) to this value. The constant is unitless, since it is used -to reduce the strength of the interactions. The value is used in the -denominator of the formulas for Coulombic interactions - e.g. a value -of 4.0 reduces the Coulombic interactions to 25% of their default -strength. See the "pair_style"_pair_style.html command for more -details. - -[Restrictions:] none - -[Related commands:] - -"pair_style"_pair_style.html - -[Default:] - -dielectric 1.0 :pre diff --git a/doc/txt/dihedral_charmm.txt b/doc/txt/dihedral_charmm.txt deleted file mode 100644 index 043188466a1764e016822b248150ccfee680f26f..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_charmm.txt +++ /dev/null @@ -1,166 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style charmm command :h3 -dihedral_style charmm/intel command :h3 -dihedral_style charmm/kk command :h3 -dihedral_style charmm/omp command :h3 -dihedral_style charmmfsw command :h3 - -[Syntax:] - -dihedral_style style :pre - -style = {charmm} or {charmmfsw} :ul - -[Examples:] - -dihedral_style charmm -dihedral_style charmmfsw -dihedral_coeff 1 0.2 1 180 1.0 -dihedral_coeff 2 1.8 1 0 1.0 -dihedral_coeff 1 3.1 2 180 0.5 :pre - -[Description:] - -The {charmm} and {charmmfsw} dihedral styles use the potential - -:c,image(Eqs/dihedral_charmm.jpg) - -See "(MacKerell)"_#dihedral-MacKerell for a description of the CHARMM -force field. This dihedral style can also be used for the AMBER force -field (see comment on weighting factors below). See -"(Cornell)"_#dihedral-Cornell for a description of the AMBER force -field. - -NOTE: The newer {charmmfsw} style was released in March 2017. We -recommend it be used instead of the older {charmm} style when running -a simulation with the CHARMM force field, either with long-range -Coulombics or a Coulombic cutoff, via the "pair_style -lj/charmmfsw/coul/long"_pair_charmm.html and "pair_style -lj/charmmfsw/coul/charmmfsh"_pair_charmm.html commands respectively. -Otherwise the older {charmm} style is fine to use. See the discussion -below and more details on the "pair_style charmm"_pair_charmm.html doc -page. - -The following coefficients must be defined for each dihedral type via the -"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in -the data file or restart files read by the "read_data"_read_data.html -or "read_restart"_read_restart.html commands: - -K (energy) -n (integer >= 0) -d (integer value of degrees) -weighting factor (1.0, 0.5, or 0.0) :ul - -The weighting factor is required to correct for double counting -pairwise non-bonded Lennard-Jones interactions in cyclic systems or -when using the CHARMM dihedral style with non-CHARMM force fields. -With the CHARMM dihedral style, interactions between the 1st and 4th -atoms in a dihedral are skipped during the normal non-bonded force -computation and instead evaluated as part of the dihedral using -special epsilon and sigma values specified with the -"pair_coeff"_pair_charmm.html command of pair styles that contain -"lj/charmm" (e.g. "pair_style lj/charmm/coul/long"_pair_charmm.html) -In 6-membered rings, the same 1-4 interaction would be computed twice -(once for the clockwise 1-4 pair in dihedral 1-2-3-4 and once in the -counterclockwise dihedral 1-6-5-4) and thus the weighting factor has -to be 0.5 in this case. In 4-membered or 5-membered rings, the 1-4 -dihedral also is counted as a 1-2 or 1-3 interaction when going around -the ring in the opposite direction and thus the weighting factor is -0.0, as the 1-2 and 1-3 exclusions take precedence. - -Note that this dihedral weighting factor is unrelated to the scaling -factor specified by the "special bonds"_special_bonds.html command -which applies to all 1-4 interactions in the system. For CHARMM force -fields, the special_bonds 1-4 interaction scaling factor should be set -to 0.0. Since the corresponding 1-4 non-bonded interactions are -computed with the dihedral. This means that if any of the weighting -factors defined as dihedral coefficients (4th coeff above) are -non-zero, then you must use a pair style with "lj/charmm" and set the -special_bonds 1-4 scaling factor to 0.0 (which is the -default). Otherwise 1-4 non-bonded interactions in dihedrals will be -computed twice. - -For simulations using the CHARMM force field with a Coulombic cutoff, -the difference between the {charmm} and {charmmfsw} styles is in the -computation of the 1-4 non-bond interactions, though only if the -distance between the two atoms is within the switching region of the -pairwise potential defined by the corresponding CHARMM pair style, -i.e. within the outer cutoff specified for the pair style. The -{charmmfsw} style should only be used when using the corresponding -"pair_style lj/charmmfsw/coul/charmmfsw"_pair_charmm.html or -"pair_style lj/charmmfsw/coul/long"_pair_charmm.html commands. Use -the {charmm} style with the older "pair_style"_pair_charmm.html -commands that have just "charmm" in their style name. See the -discussion on the "CHARMM pair_style"_pair_charmm.html doc page for -details. - -Note that for AMBER force fields, which use pair styles with "lj/cut", -the special_bonds 1-4 scaling factor should be set to the AMBER -defaults (1/2 and 5/6) and all the dihedral weighting factors (4th -coeff above) must be set to 0.0. In this case, you can use any pair -style you wish, since the dihedral does not need any Lennard-Jones -parameter information and will not compute any 1-4 non-bonded -interactions. Likewise the {charmm} or {charmmfsw} styles are -identical in this case since no 1-4 non-bonded interactions are -computed. - -:line - -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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -When using run_style "respa"_run_style.html, these dihedral styles -must be assigned to the same r-RESPA level as {pair} or {outer}. - -When used in combination with CHARMM pair styles, the 1-4 -"special_bonds"_special_bonds.html scaling factors must be set to 0.0. -Otherwise non-bonded contributions for these 1-4 pairs will be -computed multiple times. - -These dihedral styles can only be used if LAMMPS was built with the -MOLECULE package. See the "Build package"_Build_package.html doc page -for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none - -:line - -:link(dihedral-Cornell) -[(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). - -:link(dihedral-MacKerell) -[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem B, 102, 3586 (1998). diff --git a/doc/txt/dihedral_class2.txt b/doc/txt/dihedral_class2.txt deleted file mode 100644 index 9936f3768df703d8b2e63072499c3d0c96d2c3f8..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_class2.txt +++ /dev/null @@ -1,178 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style class2 command :h3 -dihedral_style class2/omp command :h3 -dihedral_style class2/kk command :h3 - -[Syntax:] - -dihedral_style class2 :pre - -[Examples:] - -dihedral_style class2 -dihedral_coeff 1 100 75 100 70 80 60 -dihedral_coeff * mbt 3.5945 0.1704 -0.5490 1.5228 -dihedral_coeff * ebt 0.3417 0.3264 -0.9036 0.1368 0.0 -0.8080 1.0119 1.1010 -dihedral_coeff 2 at 0.0 -0.1850 -0.7963 -2.0220 0.0 -0.3991 110.2453 105.1270 -dihedral_coeff * aat -13.5271 110.2453 105.1270 -dihedral_coeff * bb13 0.0 1.0119 1.1010 :pre - -[Description:] - -The {class2} dihedral style uses the potential - -:c,image(Eqs/dihedral_class2.jpg) - -where Ed is the dihedral term, Embt is a middle-bond-torsion term, -Eebt is an end-bond-torsion term, Eat is an angle-torsion term, Eaat -is an angle-angle-torsion term, and Ebb13 is a bond-bond-13 term. - -Theta1 and theta2 are equilibrium angles and r1 r2 r3 are equilibrium -bond lengths. - -See "(Sun)"_#dihedral-Sun for a description of the COMPASS class2 force field. - -Coefficients for the Ed, Embt, Eebt, Eat, Eaat, and Ebb13 formulas -must be defined for each dihedral type via the -"dihedral_coeff"_dihedral_coeff.html command as in the example above, -or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands. - -These are the 6 coefficients for the Ed formula: - -K1 (energy) -phi1 (degrees) -K2 (energy) -phi2 (degrees) -K3 (energy) -phi3 (degrees) :ul - -For the Embt formula, each line in a -"dihedral_coeff"_dihedral_coeff.html command in the input script lists -5 coefficients, the first of which is "mbt" to indicate they are -MiddleBondTorsion coefficients. In a data file, these coefficients -should be listed under a "MiddleBondTorsion Coeffs" heading and you -must leave out the "mbt", i.e. only list 4 coefficients after the -dihedral type. - -mbt -A1 (energy/distance) -A2 (energy/distance) -A3 (energy/distance) -r2 (distance) :ul - -For the Eebt formula, each line in a -"dihedral_coeff"_dihedral_coeff.html command in the input script lists -9 coefficients, the first of which is "ebt" to indicate they are -EndBondTorsion coefficients. In a data file, these coefficients -should be listed under a "EndBondTorsion Coeffs" heading and you must -leave out the "ebt", i.e. only list 8 coefficients after the dihedral -type. - -ebt -B1 (energy/distance) -B2 (energy/distance) -B3 (energy/distance) -C1 (energy/distance) -C2 (energy/distance) -C3 (energy/distance) -r1 (distance) -r3 (distance) :ul - -For the Eat formula, each line in a -"dihedral_coeff"_dihedral_coeff.html command in the input script lists -9 coefficients, the first of which is "at" to indicate they are -AngleTorsion coefficients. In a data file, these coefficients should -be listed under a "AngleTorsion Coeffs" heading and you must leave out -the "at", i.e. only list 8 coefficients after the dihedral type. - -at -D1 (energy/radian) -D2 (energy/radian) -D3 (energy/radian) -E1 (energy/radian) -E2 (energy/radian) -E3 (energy/radian) -theta1 (degrees) -theta2 (degrees) :ul - -Theta1 and theta2 are specified in degrees, but LAMMPS converts them -to radians internally; hence the units of D and E are in -energy/radian. - -For the Eaat formula, each line in a -"dihedral_coeff"_dihedral_coeff.html command in the input script lists -4 coefficients, the first of which is "aat" to indicate they are -AngleAngleTorsion coefficients. In a data file, these coefficients -should be listed under a "AngleAngleTorsion Coeffs" heading and you -must leave out the "aat", i.e. only list 3 coefficients after the -dihedral type. - -aat -M (energy/radian^2) -theta1 (degrees) -theta2 (degrees) :ul - -Theta1 and theta2 are specified in degrees, but LAMMPS converts them -to radians internally; hence the units of M are in energy/radian^2. - -For the Ebb13 formula, each line in a -"dihedral_coeff"_dihedral_coeff.html command in the input script lists -4 coefficients, the first of which is "bb13" to indicate they are -BondBond13 coefficients. In a data file, these coefficients should be -listed under a "BondBond13 Coeffs" heading and you must leave out the -"bb13", i.e. only list 3 coefficients after the dihedral type. - -bb13 -N (energy/distance^2) -r1 (distance) -r3 (distance) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This dihedral style can only be used if LAMMPS was built with the -CLASS2 package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none - -:line - -:link(dihedral-Sun) -[(Sun)] Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/txt/dihedral_coeff.txt b/doc/txt/dihedral_coeff.txt deleted file mode 100644 index 718a73144e5d4af226561893208fb41fcd6d61ad..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_coeff.txt +++ /dev/null @@ -1,96 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_coeff command :h3 - -[Syntax:] - -dihedral_coeff N args :pre - -N = dihedral type (see asterisk form below) -args = coefficients for one or more dihedral types :ul - -[Examples:] - -dihedral_coeff 1 80.0 1 3 -dihedral_coeff * 80.0 1 3 0.5 -dihedral_coeff 2* 80.0 1 3 0.5 :pre - -[Description:] - -Specify the dihedral force field coefficients for one or more dihedral types. -The number and meaning of the coefficients depends on the dihedral style. -Dihedral coefficients can also be set in the data file read by the -"read_data"_read_data.html command or in a restart file. - -N can be specified in one of two ways. An explicit numeric value can -be used, as in the 1st example above. Or a wild-card asterisk can be -used to set the coefficients for multiple dihedral types. This takes the -form "*" or "*n" or "n*" or "m*n". If N = the number of dihedral types, -then an asterisk with no numeric values means all types from 1 to N. A -leading asterisk means all types from 1 to n (inclusive). A trailing -asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive). - -Note that using a dihedral_coeff command can override a previous setting -for the same dihedral type. For example, these commands set the coeffs -for all dihedral types, then overwrite the coeffs for just dihedral type 2: - -dihedral_coeff * 80.0 1 3 -dihedral_coeff 2 200.0 1 3 :pre - -A line in a data file that specifies dihedral coefficients uses the exact -same format as the arguments of the dihedral_coeff command in an input -script, except that wild-card asterisks should not be used since -coefficients for all N types must be listed in the file. For example, -under the "Dihedral Coeffs" section of a data file, the line that -corresponds to the 1st example above would be listed as - -1 80.0 1 3 :pre - -The "dihedral_style class2"_dihedral_class2.html is an exception to -this rule, in that an additional argument is used in the input script -to allow specification of the cross-term coefficients. See its doc -page for details. - -NOTE: When comparing the formulas and coefficients for various LAMMPS -dihedral styles with dihedral equations defined by other force fields, -note that some force field implementations divide/multiply the energy -prefactor {K} by the multiple number of torsions that contain the J-K -bond in an I-J-K-L torsion. LAMMPS does not do this, i.e. the listed -dihedral equation applies to each individual dihedral. Thus you need -to define {K} appropriately to account for this difference if -necessary. - -:line - -The list of all dihedral styles defined in LAMMPS is given on the -"dihedral_style"_dihedral_style.html doc page. They are also listed -in more compact form on the "Commands -dihedral"_Commands_bond.html#dihedral doc page. - -On either of those pages, click on the style to display the formula it -computes and its coefficients as specified by the associated -dihedral_coeff command. - -:line - -[Restrictions:] - -This command must come after the simulation box is defined by a -"read_data"_read_data.html, "read_restart"_read_restart.html, or -"create_box"_create_box.html command. - -A dihedral style must be defined before any dihedral coefficients are -set, either in the input script or in a data file. - -[Related commands:] - -"dihedral_style"_dihedral_style.html - -[Default:] none diff --git a/doc/txt/dihedral_cosine_shift_exp.txt b/doc/txt/dihedral_cosine_shift_exp.txt deleted file mode 100644 index e2a46d28d8ad9f686f6221e2594a7f3b7a4392d3..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_cosine_shift_exp.txt +++ /dev/null @@ -1,85 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style cosine/shift/exp command :h3 -dihedral_style cosine/shift/exp/omp command :h3 - -[Syntax:] - -dihedral_style cosine/shift/exp :pre - -[Examples:] - -dihedral_style cosine/shift/exp -dihedral_coeff 1 10.0 45.0 2.0 :pre - -[Description:] - -The {cosine/shift/exp} dihedral style uses the potential - -:c,image(Eqs/dihedral_cosine_shift_exp.jpg) - -where Umin, theta, and a are defined for each dihedral type. - -The potential is bounded between \[-Umin:0\] and the minimum is located -at the angle theta0. The a parameter can be both positive or negative -and is used to control the spring constant at the equilibrium. - -The spring constant is given by k=a exp(a) Umin/ \[2 (Exp(a)-1)\]. -For a>3 k/Umin = a/2 to better than 5% relative error. For negative -values of the a parameter, the spring constant is essentially zero, -and anharmonic terms takes over. The potential is furthermore well -behaved in the limit a->0, where it has been implemented to linear -order in a for a < 0.001. - -The following coefficients must be defined for each dihedral type via -the "dihedral_coeff"_dihedral_coeff.html command as in the example -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -umin (energy) -theta (angle) -A (real number) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This dihedral style can only be used if LAMMPS was built with the -USER-MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html, -"angle_cosine_shift_exp"_angle_cosine_shift_exp.html - -[Default:] none diff --git a/doc/txt/dihedral_fourier.txt b/doc/txt/dihedral_fourier.txt deleted file mode 100644 index 3045f6824b1b27d393a720578193cca47627b160..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_fourier.txt +++ /dev/null @@ -1,77 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style fourier command :h3 -dihedral_style fourier/intel command :h3 -dihedral_style fourier/omp command :h3 - -[Syntax:] - -dihedral_style fourier :pre - -[Examples:] - -dihedral_style fourier -dihedral_coeff 1 3 -0.846200 3 0.0 7.578800 1 0 0.138000 2 -180.0 :pre - -[Description:] - -The {fourier} dihedral style uses the potential: - -:c,image(Eqs/dihedral_fourier.jpg) - -The following coefficients must be defined for each dihedral type via the -"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in -the data file or restart files read by the "read_data"_read_data.html -or "read_restart"_read_restart.html commands: - -m (integer >=1) -K1 (energy) -n1 (integer >= 0) -d1 (degrees) -\[...\] -Km (energy) -nm (integer >= 0) -dm (degrees) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none - diff --git a/doc/txt/dihedral_harmonic.txt b/doc/txt/dihedral_harmonic.txt deleted file mode 100644 index b4071c863c01075a6823d0c8f381581360ee3c89..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_harmonic.txt +++ /dev/null @@ -1,86 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style harmonic command :h3 -dihedral_style harmonic/intel command :h3 -dihedral_style harmonic/kk command :h3 -dihedral_style harmonic/omp command :h3 - -[Syntax:] - -dihedral_style harmonic :pre - -[Examples:] - -dihedral_style harmonic -dihedral_coeff 1 80.0 1 2 :pre - -[Description:] - -The {harmonic} dihedral style uses the potential - -:c,image(Eqs/dihedral_harmonic.jpg) - -The following coefficients must be defined for each dihedral type via the -"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in -the data file or restart files read by the "read_data"_read_data.html -or "read_restart"_read_restart.html commands: - -K (energy) -d (+1 or -1) -n (integer >= 0) :ul - -NOTE: Here are important points to take note of when defining LAMMPS -dihedral coefficients for the harmonic style, so that they are -compatible with how harmonic dihedrals are defined by other force -fields: - -The LAMMPS convention is that the trans position = 180 degrees, while -in some force fields trans = 0 degrees. :ulb,l - -Some force fields reverse the sign convention on {d}. :l - -Some force fields let {n} be positive or negative which corresponds to -{d} = 1 or -1 for the harmonic style. :l -:ule - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This dihedral style can only be used if LAMMPS was built with the -MOLECULE package. See the "Build package"_Build_package.html doc page -for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none diff --git a/doc/txt/dihedral_helix.txt b/doc/txt/dihedral_helix.txt deleted file mode 100644 index 3b3607337b91bb056d3ea7f4227cc3cabb07c3d7..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_helix.txt +++ /dev/null @@ -1,83 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style helix command :h3 -dihedral_style helix/omp command :h3 - -[Syntax:] - -dihedral_style helix :pre - -[Examples:] - -dihedral_style helix -dihedral_coeff 1 80.0 100.0 40.0 :pre - -[Description:] - -The {helix} dihedral style uses the potential - -:c,image(Eqs/dihedral_helix.jpg) - -This coarse-grain dihedral potential is described in "(Guo)"_#Guo. -For dihedral angles in the helical region, the energy function is -represented by a standard potential consisting of three minima, one -corresponding to the trans (t) state and the other to gauche states -(g+ and g-). The paper describes how the A,B,C parameters are chosen -so as to balance secondary (largely driven by local interactions) and -tertiary structure (driven by long-range interactions). - -The following coefficients must be defined for each dihedral type via the -"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in -the data file or restart files read by the "read_data"_read_data.html -or "read_restart"_read_restart.html commands: - -A (energy) -B (energy) -C (energy) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This dihedral style can only be used if LAMMPS was built with the -MOLECULE package. See the "Build package"_Build_package.html doc page -for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none - -:line - -:link(Guo) -[(Guo)] Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996). diff --git a/doc/txt/dihedral_hybrid.txt b/doc/txt/dihedral_hybrid.txt deleted file mode 100644 index a4a2a2808eb1ca170a315708fa92c23326840aae..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_hybrid.txt +++ /dev/null @@ -1,92 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style hybrid command :h3 - -[Syntax:] - -dihedral_style hybrid style1 style2 ... :pre - -style1,style2 = list of one or more dihedral styles :ul - -[Examples:] - -dihedral_style hybrid harmonic helix -dihedral_coeff 1 harmonic 6.0 1 3 -dihedral_coeff 2* helix 10 10 10 :pre - -[Description:] - -The {hybrid} style enables the use of multiple dihedral styles in one -simulation. An dihedral style is assigned to each dihedral type. For -example, dihedrals in a polymer flow (of dihedral type 1) could be -computed with a {harmonic} potential and dihedrals in the wall -boundary (of dihedral type 2) could be computed with a {helix} -potential. The assignment of dihedral type to style is made via the -"dihedral_coeff"_dihedral_coeff.html command or in the data file. - -In the dihedral_coeff commands, the name of a dihedral style must be -added after the dihedral type, with the remaining coefficients being -those appropriate to that style. In the example above, the 2 -dihedral_coeff commands set dihedrals of dihedral type 1 to be -computed with a {harmonic} potential with coefficients 6.0, 1, 3 for -K, d, n. All other dihedral types (2-N) are computed with a {helix} -potential with coefficients 10, 10, 10 for A, B, C. - -If dihedral coefficients are specified in the data file read via the -"read_data"_read_data.html command, then the same rule applies. -E.g. "harmonic" or "helix", must be added after the dihedral type, for -each line in the "Dihedral Coeffs" section, e.g. - -Dihedral Coeffs :pre - -1 harmonic 6.0 1 3 -2 helix 10 10 10 -... :pre - -If {class2} is one of the dihedral hybrid styles, the same rule holds -for specifying additional AngleTorsion (and EndBondTorsion, etc) -coefficients either via the input script or in the data file. -I.e. {class2} must be added to each line after the dihedral type. For -lines in the AngleTorsion (or EndBondTorsion, etc) section of the data -file for dihedral types that are not {class2}, you must use an -dihedral style of {skip} as a placeholder, e.g. - -AngleTorsion Coeffs :pre - -1 skip -2 class2 1.0 1.0 1.0 3.0 3.0 3.0 30.0 50.0 -... :pre - -Note that it is not necessary to use the dihedral style {skip} in the -input script, since AngleTorsion (or EndBondTorsion, etc) coefficients -need not be specified at all for dihedral types that are not {class2}. - -A dihedral style of {none} with no additional coefficients can be used -in place of a dihedral style, either in a input script dihedral_coeff -command or in the data file, if you desire to turn off interactions -for specific dihedral types. - -:line - -[Restrictions:] - -This dihedral style can only be used if LAMMPS was built with the -MOLECULE package. See the "Build package"_Build_package.html doc page -for more info. - -Unlike other dihedral styles, the hybrid dihedral style does not store -dihedral coefficient info for individual sub-styles in a "binary -restart files"_restart.html. Thus when restarting a simulation from a -restart file, you need to re-specify dihedral_coeff commands. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none diff --git a/doc/txt/dihedral_multi_harmonic.txt b/doc/txt/dihedral_multi_harmonic.txt deleted file mode 100644 index 74f1f6abc69cc1e1dfbe009a5ef096de88a0110a..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_multi_harmonic.txt +++ /dev/null @@ -1,72 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style multi/harmonic command :h3 -dihedral_style multi/harmonic/omp command :h3 - -[Syntax:] - -dihedral_style multi/harmonic :pre - -[Examples:] - -dihedral_style multi/harmonic -dihedral_coeff 1 20 20 20 20 20 :pre - -[Description:] - -The {multi/harmonic} dihedral style uses the potential - -:c,image(Eqs/dihedral_multi_harmonic.jpg) - -The following coefficients must be defined for each dihedral type via the -"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in -the data file or restart files read by the "read_data"_read_data.html -or "read_restart"_read_restart.html commands: - -A1 (energy) -A2 (energy) -A3 (energy) -A4 (energy) -A5 (energy) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This dihedral style can only be used if LAMMPS was built with the -MOLECULE package. See the "Build package"_Build_package.html doc page -for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none diff --git a/doc/txt/dihedral_nharmonic.txt b/doc/txt/dihedral_nharmonic.txt deleted file mode 100644 index 660bbb3f1f521a76faa1ec334ead659bdef3ffc0..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_nharmonic.txt +++ /dev/null @@ -1,72 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style nharmonic command :h3 -dihedral_style nharmonic/omp command :h3 - -[Syntax:] - -dihedral_style nharmonic :pre - -[Examples:] - -dihedral_style nharmonic -dihedral_coeff * 3 10.0 20.0 30.0 :pre - -[Description:] - -The {nharmonic} dihedral style uses the potential: - -:c,image(Eqs/dihedral_nharmonic.jpg) - -The following coefficients must be defined for each dihedral type via the -"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in -the data file or restart files read by the "read_data"_read_data.html -or "read_restart"_read_restart.html commands: - -n (integer >=1) -A1 (energy) -A2 (energy) -... -An (energy) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none diff --git a/doc/txt/dihedral_none.txt b/doc/txt/dihedral_none.txt deleted file mode 100644 index 4c1ff2ea5d30fadd25949e613b6ec29e4cfa3fdb..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_none.txt +++ /dev/null @@ -1,34 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style none command :h3 - -[Syntax:] - -dihedral_style none :pre - -[Examples:] - -dihedral_style none :pre - -[Description:] - -Using a dihedral style of none means dihedral forces and energies are -not computed, even if quadruplets of dihedral atoms were listed in the -data file read by the "read_data"_read_data.html command. - -See the "dihedral_style zero"_dihedral_zero.html command for a way to -calculate dihedral statistics, but compute no dihedral interactions. - -[Restrictions:] none - -[Related commands:] - -"dihedral_style zero"_dihedral_zero.html - -[Default:] none diff --git a/doc/txt/dihedral_opls.txt b/doc/txt/dihedral_opls.txt deleted file mode 100644 index 7fa5d81a14a778baf76815ad2cc8cede3a5ae4ce..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_opls.txt +++ /dev/null @@ -1,85 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style opls command :h3 -dihedral_style opls/intel command :h3 -dihedral_style opls/kk command :h3 -dihedral_style opls/omp command :h3 - -[Syntax:] - -dihedral_style opls :pre - -[Examples:] - -dihedral_style opls -dihedral_coeff 1 1.740 -0.157 0.279 0.00 # CT-CT-CT-CT -dihedral_coeff 2 0.000 0.000 0.366 0.000 # CT-CT-CT-HC -dihedral_coeff 3 0.000 0.000 0.318 0.000 # HC-CT-CT-HC :pre - -[Description:] - -The {opls} dihedral style uses the potential - -:c,image(Eqs/dihedral_opls.jpg) - -Note that the usual 1/2 factor is not included in the K values. - -This dihedral potential is used in the OPLS force field and is -described in "(Watkins)"_#Watkins. - -The following coefficients must be defined for each dihedral type via the -"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in -the data file or restart files read by the "read_data"_read_data.html -or "read_restart"_read_restart.html commands: - -K1 (energy) -K2 (energy) -K3 (energy) -K4 (energy) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This dihedral style can only be used if LAMMPS was built with the -MOLECULE package. See the "Build package"_Build_package.html doc page -for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none - -:line - -:link(Watkins) -[(Watkins)] Watkins and Jorgensen, J Phys Chem A, 105, 4118-4125 (2001). diff --git a/doc/txt/dihedral_quadratic.txt b/doc/txt/dihedral_quadratic.txt deleted file mode 100644 index dc951e4269fdbf3752dd7f36aa366b81a06389fd..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_quadratic.txt +++ /dev/null @@ -1,74 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style quadratic command :h3 -dihedral_style quadratic/omp command :h3 - -[Syntax:] - -dihedral_style quadratic :pre - -[Examples:] - -dihedral_style quadratic -dihedral_coeff 100.0 80.0 :pre - -[Description:] - -The {quadratic} dihedral style uses the potential: - -:c,image(Eqs/dihedral_quadratic.jpg) - -This dihedral potential can be used to keep a dihedral in a predefined -value (cis=zero, right-hand convention is used). - -The following coefficients must be defined for each dihedral type via -the "dihedral_coeff"_dihedral_coeff.html command as in the example -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -K (energy/radian^2) -phi0 (degrees) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none - diff --git a/doc/txt/dihedral_spherical.txt b/doc/txt/dihedral_spherical.txt deleted file mode 100644 index 62ba6cf9e56ab6b923f8907c80182de93391e109..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_spherical.txt +++ /dev/null @@ -1,89 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style spherical command :h3 - -[Syntax:] - -dihedral_style spherical :pre - -[Examples:] - -dihedral_coeff 1 1 286.1 1 124 1 1 90.0 0 1 90.0 0 -dihedral_coeff 1 3 69.3 1 93.9 1 1 90 0 1 90 0 & - 49.1 0 0.00 0 1 74.4 1 0 0.00 0 & - 25.2 0 0.00 0 0 0.00 0 1 48.1 1 -:pre - -[Description:] - -The {spherical} dihedral style uses the potential: - -:c,image(JPG/dihedral_spherical_angles.jpg) -:c,image(Eqs/dihedral_spherical.jpg) - -For this dihedral style, the energy can be any function that combines the -4-body dihedral-angle (phi) and the two 3-body bond-angles (theta1, theta2). -For this reason, there is usually no need to define 3-body "angle" forces -separately for the atoms participating in these interactions. -It is probably more efficient to incorporate 3-body angle forces into -the dihedral interaction even if it requires adding additional terms to -the expansion (as was done in the second example). A careful choice of -parameters can prevent singularities that occur with traditional -force-fields whenever theta1 or theta2 approach 0 or 180 degrees. - -The last example above corresponds to an interaction with a single energy -minima located near phi=93.9, theta1=74.4, theta2=48.1 degrees, and it remains -numerically stable at all angles (phi, theta1, theta2). In this example, -the coefficients 49.1, and 25.2 can be physically interpreted as the -harmonic spring constants for theta1 and theta2 around their minima. -The coefficient 69.3 is the harmonic spring constant for phi after -division by sin(74.4)*sin(48.1) (the minima positions for theta1 and theta2). - -The following coefficients must be defined for each dihedral type via the -"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in -the Dihedral Coeffs section of a data file read by the -"read_data"_read_data.html command: - -n (integer >= 1) -C1 (energy) -K1 (typically an integer) -a1 (degrees) -u1 (typically 0.0 or 1.0) -L1 (typically an integer) -b1 (degrees, typically 0.0 or 90.0) -v1 (typically 0.0 or 1.0) -M1 (typically an integer) -c1 (degrees, typically 0.0 or 90.0) -w1 (typically 0.0 or 1.0) -\[...\] -Cn (energy) -Kn (typically an integer) -an (degrees) -un (typically 0.0 or 1.0) -Ln (typically an integer) -bn (degrees, typically 0.0 or 90.0) -vn (typically 0.0 or 1.0) -Mn (typically an integer) -cn (degrees, typically 0.0 or 90.0) -wn (typically 0.0 or 1.0) :ul - -:line - -[Restrictions:] - -This dihedral style can only be used if LAMMPS was built with the -USER_MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none - diff --git a/doc/txt/dihedral_style.txt b/doc/txt/dihedral_style.txt deleted file mode 100644 index 2a5b9baf52cdebac5127a6ece2f0a06226084407..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_style.txt +++ /dev/null @@ -1,131 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style command :h3 - -[Syntax:] - -dihedral_style style :pre - -style = {none} or {hybrid} or {charmm} or {class2} or {harmonic} or {helix} or \ - {multi/harmonic} or {opls} :ul - -[Examples:] - -dihedral_style harmonic -dihedral_style multi/harmonic -dihedral_style hybrid harmonic charmm :pre - -[Description:] - -Set the formula(s) LAMMPS uses to compute dihedral interactions -between quadruplets of atoms, which remain in force for the duration -of the simulation. The list of dihedral quadruplets is read in by a -"read_data"_read_data.html or "read_restart"_read_restart.html command -from a data or restart file. - -Hybrid models where dihedrals are computed using different dihedral -potentials can be setup using the {hybrid} dihedral style. - -The coefficients associated with a dihedral style can be specified in -a data or restart file or via the "dihedral_coeff"_dihedral_coeff.html -command. - -All dihedral potentials store their coefficient data in binary restart -files which means dihedral_style and -"dihedral_coeff"_dihedral_coeff.html commands do not need to be -re-specified in an input script that restarts a simulation. See the -"read_restart"_read_restart.html command for details on how to do -this. The one exception is that dihedral_style {hybrid} only stores -the list of sub-styles in the restart file; dihedral coefficients need -to be re-specified. - -NOTE: When both a dihedral and pair style is defined, the -"special_bonds"_special_bonds.html command often needs to be used to -turn off (or weight) the pairwise interaction that would otherwise -exist between 4 bonded atoms. - -In the formulas listed for each dihedral style, {phi} is the torsional -angle defined by the quadruplet of atoms. This angle has a sign -convention as shown in this diagram: - -:c,image(JPG/dihedral_sign.jpg) - -where the I,J,K,L ordering of the 4 atoms that define the dihedral -is from left to right. - -This sign convention effects several of the dihedral styles listed -below (e.g. charmm, helix) in the sense that the energy formula -depends on the sign of phi, which may be reflected in the value of the -coefficients you specify. - -NOTE: When comparing the formulas and coefficients for various LAMMPS -dihedral styles with dihedral equations defined by other force fields, -note that some force field implementations divide/multiply the energy -prefactor {K} by the multiple number of torsions that contain the J-K -bond in an I-J-K-L torsion. LAMMPS does not do this, i.e. the listed -dihedral equation applies to each individual dihedral. Thus you need -to define {K} appropriately via the -"dihedral_coeff"_dihedral_coeff.html command to account for this -difference if necessary. - -:line - -Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on -the style to display the formula it computes and coefficients -specified by the associated "dihedral_coeff"_dihedral_coeff.html command. - -Click on the style to display the formula it computes, any additional -arguments specified in the dihedral_style command, and coefficients -specified by the associated "dihedral_coeff"_dihedral_coeff.html -command. - -There are also additional accelerated pair styles included in the -LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. -The individual style names on the "Commands -dihedral"_Commands_bond.html#dihedral doc page are followed by one or -more of (g,i,k,o,t) to indicate which accelerated styles exist. - -"none"_dihedral_none.html - turn off dihedral interactions -"zero"_dihedral_zero.html - topology but no interactions -"hybrid"_dihedral_hybrid.html - define multiple styles of dihedral interactions :ul - -"charmm"_dihedral_charmm.html - CHARMM dihedral -"charmmfsw"_dihedral_charmm.html - CHARMM dihedral with force switching -"class2"_dihedral_class2.html - COMPASS (class 2) dihedral -"cosine/shift/exp"_dihedral_cosine_shift_exp.html - dihedral with exponential in spring constant -"fourier"_dihedral_fourier.html - dihedral with multiple cosine terms -"harmonic"_dihedral_harmonic.html - harmonic dihedral -"helix"_dihedral_helix.html - helix dihedral -"multi/harmonic"_dihedral_multi_harmonic.html - dihedral with 5 harmonic terms -"nharmonic"_dihedral_nharmonic.html - same as multi-harmonic with N terms -"opls"_dihedral_opls.html - OPLS dihedral -"quadratic"_dihedral_quadratic.html - dihedral with quadratic term in angle -"spherical"_dihedral_spherical.html - dihedral which includes angle terms to avoid singularities -"table"_dihedral_table.html - tabulated dihedral -"table/cut"_dihedral_table_cut.html - tabulated dihedral with analytic cutoff :ul - -:line - -[Restrictions:] - -Dihedral styles can only be set for atom styles that allow dihedrals -to be defined. - -Most dihedral styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. The doc pages for -individual dihedral potentials tell if it is part of a package. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] - -dihedral_style none diff --git a/doc/txt/dihedral_table.txt b/doc/txt/dihedral_table.txt deleted file mode 100644 index b3cfd37570b1231dc0cb9642e03db8ddaced0d65..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_table.txt +++ /dev/null @@ -1,214 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style table command :h3 -dihedral_style table/omp command :h3 - -[Syntax:] - -dihedral_style table style Ntable :pre - -style = {linear} or {spline} = method of interpolation -Ntable = size of the internal lookup table :ul - -[Examples:] - -dihedral_style table spline 400 -dihedral_style table linear 1000 -dihedral_coeff 1 file.table DIH_TABLE1 -dihedral_coeff 2 file.table DIH_TABLE2 :pre - -[Description:] - -The {table} dihedral style creates interpolation tables of length -{Ntable} from dihedral potential and derivative values listed in a -file(s) as a function of the dihedral angle "phi". The files are read -by the "dihedral_coeff"_dihedral_coeff.html command. - -The interpolation tables are created by fitting cubic splines to the -file values and interpolating energy and derivative values at each of -{Ntable} dihedral angles. During a simulation, these tables are used -to interpolate energy and force values on individual atoms as -needed. The interpolation is done in one of 2 styles: {linear} or -{spline}. - -For the {linear} style, the dihedral angle (phi) is used to find 2 -surrounding table values from which an energy or its derivative is -computed by linear interpolation. - -For the {spline} style, cubic spline coefficients are computed and -stored at each of the {Ntable} evenly-spaced values in the -interpolated table. For a given dihedral angle (phi), the appropriate -coefficients are chosen from this list, and a cubic polynomial is used -to compute the energy and the derivative at this angle. - -The following coefficients must be defined for each dihedral type via -the "dihedral_coeff"_dihedral_coeff.html command as in the example -above. - -filename -keyword :ul - -The filename specifies a file containing tabulated energy and -derivative values. The keyword specifies a section of the file. The -format of this file is described below. - -:line - -The format of a tabulated file is as follows (without the -parenthesized comments). It can begin with one or more comment -or blank lines. - -# Table of the potential and its negative derivative :pre - -DIH_TABLE1 (keyword is the first text on line) -N 30 DEGREES (N, NOF, DEGREES, RADIANS, CHECKU/F) - (blank line) -1 -168.0 -1.40351172223 0.0423346818422 -2 -156.0 -1.70447981034 0.00811786522531 -3 -144.0 -1.62956100432 -0.0184129719987 -... -30 180.0 -0.707106781187 0.0719306095245 :pre - -# Example 2: table of the potential. Forces omitted :pre - -DIH_TABLE2 -N 30 NOF CHECKU testU.dat CHECKF testF.dat :pre - -1 -168.0 -1.40351172223 -2 -156.0 -1.70447981034 -3 -144.0 -1.62956100432 -... -30 180.0 -0.707106781187 :pre - -A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments -between sections. The first line begins with a keyword which -identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the -"dihedral_coeff"_dihedral_coeff.html command. The next line lists (in -any order) one or more parameters for the table. Each parameter is a -keyword followed by one or more numeric values. - -Following a blank line, the next N lines list the tabulated values. On -each line, the 1st value is the index from 1 to N, the 2nd value is -the angle value, the 3rd value is the energy (in energy units), and -the 4th is -dE/d(phi) also in energy units). The 3rd term is the -energy of the 4-atom configuration for the specified angle. The 4th -term (when present) is the negative derivative of the energy with -respect to the angle (in degrees, or radians depending on whether the -user selected DEGREES or RADIANS). Thus the units of the last term -are still energy, not force. The dihedral angle values must increase -from one line to the next. - -Dihedral table splines are cyclic. There is no discontinuity at 180 -degrees (or at any other angle). Although in the examples above, the -angles range from -180 to 180 degrees, in general, the first angle in -the list can have any value (positive, zero, or negative). However -the {range} of angles represented in the table must be {strictly} less -than 360 degrees (2pi radians) to avoid angle overlap. (You may not -supply entries in the table for both 180 and -180, for example.) If -the user's table covers only a narrow range of dihedral angles, -strange numerical behavior can occur in the large remaining gap. - -[Parameters:] - -The parameter "N" is required and its value is the number of table -entries that follow. Note that this may be different than the N -specified in the "dihedral_style table"_dihedral_style.html command. -Let {Ntable} is the number of table entries requested dihedral_style -command, and let {Nfile} be the parameter following "N" in the -tabulated file ("30" in the sparse example above). What LAMMPS does -is a preliminary interpolation by creating splines using the {Nfile} -tabulated values as nodal points. It uses these to interpolate as -needed to generate energy and derivative values at {Ntable} different -points (which are evenly spaced over a 360 degree range, even if the -angles in the file are not). The resulting tables of length {Ntable} -are then used as described above, when computing energy and force for -individual dihedral angles and their atoms. This means that if you -want the interpolation tables of length {Ntable} to match exactly what -is in the tabulated file (with effectively nopreliminary -interpolation), you should set {Ntable} = {Nfile}. To insure the -nodal points in the user's file are aligned with the interpolated -table entries, the angles in the table should be integer multiples of -360/{Ntable} degrees, or 2*PI/{Ntable} radians (depending on your -choice of angle units). - -The optional "NOF" keyword allows the user to omit the forces -(negative energy derivatives) from the table file (normally located in -the 4th column). In their place, forces will be calculated -automatically by differentiating the potential energy function -indicated by the 3rd column of the table (using either linear or -spline interpolation). - -The optional "DEGREES" keyword allows the user to specify angles in -degrees instead of radians (default). - -The optional "RADIANS" keyword allows the user to specify angles in -radians instead of degrees. (Note: This changes the way the forces -are scaled in the 4th column of the data file.) - -The optional "CHECKU" keyword is followed by a filename. This allows -the user to save all of the {Ntable} different entries in the -interpolated energy table to a file to make sure that the interpolated -function agrees with the user's expectations. (Note: You can -temporarily increase the {Ntable} parameter to a high value for this -purpose. "{Ntable}" is explained above.) - -The optional "CHECKF" keyword is analogous to the "CHECKU" keyword. -It is followed by a filename, and it allows the user to check the -interpolated force table. This option is available even if the user -selected the "NOF" option. - -Note that one file can contain many sections, each with a tabulated -potential. LAMMPS reads the file section by section until it finds one -that matches the specified keyword. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart info:] - -This dihedral style writes the settings for the "dihedral_style table" -command to "binary restart files"_restart.html, so a dihedral_style -command does not need to specified in an input script that reads a -restart file. However, the coefficient information is not stored in -the restart file, since it is tabulated in the potential files. Thus, -dihedral_coeff commands do need to be specified in the restart input -script. - -[Restrictions:] - -This dihedral style can only be used if LAMMPS was built with the -USER-MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html - -[Default:] none diff --git a/doc/txt/dihedral_table_cut.txt b/doc/txt/dihedral_table_cut.txt deleted file mode 100644 index 560f5375a7e06be7f11087ae72534645ecde0c8f..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_table_cut.txt +++ /dev/null @@ -1,215 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style table/cut command :h3 - -[Syntax:] - -dihedral_style table/cut style Ntable :pre - -style = {linear} or {spline} = method of interpolation -Ntable = size of the internal lookup table :ul - -[Examples:] - -dihedral_style table/cut spline 400 -dihedral_style table/cut linear 1000 -dihedral_coeff 1 aat 1.0 177 180 file.table DIH_TABLE1 -dihedral_coeff 2 aat 0.5 170 180 file.table DIH_TABLE2 :pre - -[Description:] - -The {table/cut} dihedral style creates interpolation tables of length -{Ntable} from dihedral potential and derivative values listed in a -file(s) as a function of the dihedral angle "phi". In addition, an -analytic cutoff that is quadratic in the bond-angle (theta) is applied -in order to regularize the dihedral interaction. The dihedral table -files are read by the "dihedral_coeff"_dihedral_coeff.html command. - -The interpolation tables are created by fitting cubic splines to the -file values and interpolating energy and derivative values at each of -{Ntable} dihedral angles. During a simulation, these tables are used -to interpolate energy and force values on individual atoms as -needed. The interpolation is done in one of 2 styles: {linear} or -{spline}. - -For the {linear} style, the dihedral angle (phi) is used to find 2 -surrounding table values from which an energy or its derivative is -computed by linear interpolation. - -For the {spline} style, cubic spline coefficients are computed and -stored at each of the {Ntable} evenly-spaced values in the -interpolated table. For a given dihedral angle (phi), the appropriate -coefficients are chosen from this list, and a cubic polynomial is used -to compute the energy and the derivative at this angle. - -The following coefficients must be defined for each dihedral type via -the "dihedral_coeff"_dihedral_coeff.html command as in the example -above. - -style (aat) -cutoff prefactor -cutoff angle1 -cutoff angle2 -filename -keyword :ul - -The cutoff dihedral style uses a tabulated dihedral interaction with a -cutoff function: - -:c,image(Eqs/dihedral_table_cut.jpg) - -The cutoff specifies an prefactor to the cutoff function. While this value -would ordinarily equal 1 there may be situations where the value should change. - -The cutoff angle1 specifies the angle (in degrees) below which the dihedral -interaction is unmodified, i.e. the cutoff function is 1. - -The cutoff function is applied between angle1 and angle2, which is the angle at -which the cutoff function drops to zero. The value of zero effectively "turns -off" the dihedral interaction. - -The filename specifies a file containing tabulated energy and -derivative values. The keyword specifies a section of the file. The -format of this file is described below. - -:line - -The format of a tabulated file is as follows (without the -parenthesized comments). It can begin with one or more comment -or blank lines. - -# Table of the potential and its negative derivative :pre - -DIH_TABLE1 (keyword is the first text on line) -N 30 DEGREES (N, NOF, DEGREES, RADIANS, CHECKU/F) - (blank line) -1 -168.0 -1.40351172223 0.0423346818422 -2 -156.0 -1.70447981034 0.00811786522531 -3 -144.0 -1.62956100432 -0.0184129719987 -... -30 180.0 -0.707106781187 0.0719306095245 :pre - -# Example 2: table of the potential. Forces omitted :pre - -DIH_TABLE2 -N 30 NOF CHECKU testU.dat CHECKF testF.dat :pre - -1 -168.0 -1.40351172223 -2 -156.0 -1.70447981034 -3 -144.0 -1.62956100432 -... -30 180.0 -0.707106781187 :pre - -A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments -between sections. The first line begins with a keyword which -identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the -"dihedral_coeff"_dihedral_coeff.html command. The next line lists (in -any order) one or more parameters for the table. Each parameter is a -keyword followed by one or more numeric values. - -Following a blank line, the next N lines list the tabulated values. On -each line, the 1st value is the index from 1 to N, the 2nd value is -the angle value, the 3rd value is the energy (in energy units), and -the 4th is -dE/d(phi) also in energy units). The 3rd term is the -energy of the 4-atom configuration for the specified angle. The 4th -term (when present) is the negative derivative of the energy with -respect to the angle (in degrees, or radians depending on whether the -user selected DEGREES or RADIANS). Thus the units of the last term -are still energy, not force. The dihedral angle values must increase -from one line to the next. - -Dihedral table splines are cyclic. There is no discontinuity at 180 -degrees (or at any other angle). Although in the examples above, the -angles range from -180 to 180 degrees, in general, the first angle in -the list can have any value (positive, zero, or negative). However -the {range} of angles represented in the table must be {strictly} less -than 360 degrees (2pi radians) to avoid angle overlap. (You may not -supply entries in the table for both 180 and -180, for example.) If -the user's table covers only a narrow range of dihedral angles, -strange numerical behavior can occur in the large remaining gap. - -[Parameters:] - -The parameter "N" is required and its value is the number of table -entries that follow. Note that this may be different than the N -specified in the "dihedral_style table"_dihedral_style.html command. -Let {Ntable} is the number of table entries requested dihedral_style -command, and let {Nfile} be the parameter following "N" in the -tabulated file ("30" in the sparse example above). What LAMMPS does -is a preliminary interpolation by creating splines using the {Nfile} -tabulated values as nodal points. It uses these to interpolate as -needed to generate energy and derivative values at {Ntable} different -points (which are evenly spaced over a 360 degree range, even if the -angles in the file are not). The resulting tables of length {Ntable} -are then used as described above, when computing energy and force for -individual dihedral angles and their atoms. This means that if you -want the interpolation tables of length {Ntable} to match exactly what -is in the tabulated file (with effectively nopreliminary -interpolation), you should set {Ntable} = {Nfile}. To insure the -nodal points in the user's file are aligned with the interpolated -table entries, the angles in the table should be integer multiples of -360/{Ntable} degrees, or 2*PI/{Ntable} radians (depending on your -choice of angle units). - -The optional "NOF" keyword allows the user to omit the forces -(negative energy derivatives) from the table file (normally located in -the 4th column). In their place, forces will be calculated -automatically by differentiating the potential energy function -indicated by the 3rd column of the table (using either linear or -spline interpolation). - -The optional "DEGREES" keyword allows the user to specify angles in -degrees instead of radians (default). - -The optional "RADIANS" keyword allows the user to specify angles in -radians instead of degrees. (Note: This changes the way the forces -are scaled in the 4th column of the data file.) - -The optional "CHECKU" keyword is followed by a filename. This allows -the user to save all of the {Ntable} different entries in the -interpolated energy table to a file to make sure that the interpolated -function agrees with the user's expectations. (Note: You can -temporarily increase the {Ntable} parameter to a high value for this -purpose. "{Ntable}" is explained above.) - -The optional "CHECKF" keyword is analogous to the "CHECKU" keyword. -It is followed by a filename, and it allows the user to check the -interpolated force table. This option is available even if the user -selected the "NOF" option. - -Note that one file can contain many sections, each with a tabulated -potential. LAMMPS reads the file section by section until it finds one -that matches the specified keyword. - -[Restart info:] - -This dihedral style writes the settings for the "dihedral_style table/cut" -command to "binary restart files"_restart.html, so a dihedral_style -command does not need to specified in an input script that reads a -restart file. However, the coefficient information is not stored in -the restart file, since it is tabulated in the potential files. Thus, -dihedral_coeff commands do need to be specified in the restart input -script. - -[Restrictions:] - -This dihedral style can only be used if LAMMPS was built with the -USER-MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"dihedral_coeff"_dihedral_coeff.html, "dihedral_style table"_dihedral_table.html - -[Default:] none - -:link(dihedralcut-Salerno) -[(Salerno)] Salerno, Bernstein, J Chem Theory Comput, --, ---- (2018). diff --git a/doc/txt/dihedral_zero.txt b/doc/txt/dihedral_zero.txt deleted file mode 100644 index 0c9995a5637c84571297f7b6a28a7162dc75b2fd..0000000000000000000000000000000000000000 --- a/doc/txt/dihedral_zero.txt +++ /dev/null @@ -1,48 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dihedral_style zero command :h3 - -[Syntax:] - -dihedral_style zero {nocoeff} :pre - -[Examples:] - -dihedral_style zero -dihedral_style zero nocoeff -dihedral_coeff * :pre - -[Description:] - -Using a dihedral style of zero means dihedral forces and energies are -not computed, but the geometry of dihedral quadruplets is still -accessible to other commands. - -As an example, the "compute -dihedral/local"_compute_dihedral_local.html command can be used to -compute the theta values for the list of quadruplets of dihedral atoms -listed in the data file read by the "read_data"_read_data.html -command. If no dihedral style is defined, this command cannot be -used. - -The optional {nocoeff} flag allows to read data files with a DihedralCoeff -section for any dihedral style. Similarly, any dihedral_coeff commands -will only be checked for the dihedral type number and the rest ignored. - -Note that the "dihedral_coeff"_dihedral_coeff.html command must be -used for all dihedral types, though no additional values are -specified. - -[Restrictions:] none - -[Related commands:] none - -"dihedral_style none"_dihedral_none.html - -[Default:] none diff --git a/doc/txt/dimension.txt b/doc/txt/dimension.txt deleted file mode 100644 index b7dde7652443a10a7199ddc46f9e7e70a21b3a09..0000000000000000000000000000000000000000 --- a/doc/txt/dimension.txt +++ /dev/null @@ -1,48 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dimension command :h3 - -[Syntax:] - -dimension N :pre - -N = 2 or 3 :ul - -[Examples:] - -dimension 2 :pre - -[Description:] - -Set the dimensionality of the simulation. By default LAMMPS runs 3d -simulations. To run a 2d simulation, this command should be used -prior to setting up a simulation box via the -"create_box"_create_box.html or "read_data"_read_data.html commands. -Restart files also store this setting. - -See the discussion on the "Howto 2d"_Howto_2d.html doc page for -additional instructions on how to run 2d simulations. - -NOTE: Some models in LAMMPS treat particles as finite-size spheres or -ellipsoids, as opposed to point particles. In 2d, the particles will -still be spheres or ellipsoids, not circular disks or ellipses, -meaning their moment of inertia will be the same as in 3d. - -[Restrictions:] - -This command must be used before the simulation box is defined by a -"read_data"_read_data.html or "create_box"_create_box.html command. - -[Related commands:] - -"fix enforce2d"_fix_enforce2d.html - -[Default:] - -dimension 3 :pre diff --git a/doc/txt/displace_atoms.txt b/doc/txt/displace_atoms.txt deleted file mode 100644 index b0fa2d3bc4cc9bba3b3f8c2f088049f4d1230323..0000000000000000000000000000000000000000 --- a/doc/txt/displace_atoms.txt +++ /dev/null @@ -1,139 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -displace_atoms command :h3 - -[Syntax:] - -displace_atoms group-ID style args keyword value ... :pre - -group-ID = ID of group of atoms to displace :ulb,l -style = {move} or {ramp} or {random} or {rotate} :l - {move} args = delx dely delz - delx,dely,delz = distance to displace in each dimension (distance units) - any of delx,dely,delz can be a variable (see below) - {ramp} args = ddim dlo dhi dim clo chi - ddim = {x} or {y} or {z} - dlo,dhi = displacement distance between dlo and dhi (distance units) - dim = {x} or {y} or {z} - clo,chi = lower and upper bound of domain to displace (distance units) - {random} args = dx dy dz seed - dx,dy,dz = random displacement magnitude in each dimension (distance units) - seed = random # seed (positive integer) - {rotate} args = Px Py Pz Rx Ry Rz theta - Px,Py,Pz = origin point of axis of rotation (distance units) - Rx,Ry,Rz = axis of rotation vector - theta = angle of rotation (degrees) :pre - -zero or more keyword/value pairs may be appended :l - keyword = {units} - value = {box} or {lattice} :pre -:ule - -[Examples:] - -displace_atoms top move 0 -5 0 units box -displace_atoms flow ramp x 0.0 5.0 y 2.0 20.5 :pre - -[Description:] - -Displace a group of atoms. This can be used to move atoms a large -distance before beginning a simulation or to randomize atoms initially -on a lattice. For example, in a shear simulation, an initial strain -can be imposed on the system. Or two groups of atoms can be brought -into closer proximity. - -The {move} style displaces the group of atoms by the specified 3d -displacement vector. Any of the 3 quantities defining the vector -components can be specified as an equal-style or atom-style -"variable"_variable.html. If the value is a variable, it should be -specified as v_name, where name is the variable name. In this case, -the variable will be evaluated, and its value(s) used for the -displacement(s). The scale factor implied by the {units} keyword will -also be applied to the variable result. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Atom-style variables can specify the same formulas as -equal-style variables but can also include per-atom values, such as -atom coordinates or per-atom values read from a file. Note that if -the variable references other "compute"_compute.html or "fix"_fix.html -commands, those values must be up-to-date for the current timestep. -See the "Variable Accuracy" section of the "variable"_variable.html -doc page for more details. - -The {ramp} style displaces atoms a variable amount in one dimension -depending on the atom's coordinate in a (possibly) different -dimension. For example, the second example command displaces atoms in -the x-direction an amount between 0.0 and 5.0 distance units. Each -atom's displacement depends on the fractional distance its y -coordinate is between 2.0 and 20.5. Atoms with y-coordinates outside -those bounds will be moved the minimum (0.0) or maximum (5.0) amount. - -The {random} style independently moves each atom in the group by a -random displacement, uniformly sampled from a value between -dx and -+dx in the x dimension, and similarly for y and z. Random numbers are -used in such a way that the displacement of a particular atom is the -same, regardless of how many processors are being used. - -The {rotate} style rotates each atom in the group by the angle {theta} -around a rotation axis {R} = (Rx,Ry,Rz) that goes through a point {P} = -(Px,Py,Pz). The direction of rotation for the atoms around the -rotation axis is consistent with the right-hand rule: if your -right-hand thumb points along {R}, then your fingers wrap around the -axis in the direction of positive theta. - -If the defined "atom_style"_atom_style.html assigns an orientation to -each atom ("atom styles"_atom_style.html ellipsoid, line, tri, body), -then that property is also updated appropriately to correspond to the -atom's rotation. - -Distance units for displacements and the origin point of the {rotate} -style are determined by the setting of {box} or {lattice} for the -{units} keyword. {Box} means distance units as defined by the -"units"_units.html command - e.g. Angstroms for {real} units. -{Lattice} means distance units are in lattice spacings. The -"lattice"_lattice.html command must have been previously used to -define the lattice spacing. - -:line - -NOTE: Care should be taken not to move atoms on top of other atoms. -After the move, atoms are remapped into the periodic simulation box if -needed, and any shrink-wrap boundary conditions (see the -"boundary"_boundary.html command) are enforced which may change the -box size. Other than this effect, this command does not change the -size or shape of the simulation box. See the -"change_box"_change_box.html command if that effect is desired. - -NOTE: Atoms can be moved arbitrarily long distances by this command. -If the simulation box is non-periodic and shrink-wrapped (see the -"boundary"_boundary.html command), this can change its size or shape. -This is not a problem, except that the mapping of processors to the -simulation box is not changed by this command from its initial 3d -configuration; see the "processors"_processors.html command. Thus, if -the box size/shape changes dramatically, the mapping of processors to -the simulation box may not end up as optimal as the initial mapping -attempted to be. - -:line - -[Restrictions:] - -For a 2d simulation, only rotations around the a vector parallel to -the z-axis are allowed. - -[Related commands:] - -"lattice"_lattice.html, "change_box"_change_box.html, -"fix move"_fix_move.html - -[Default:] - -The option defaults are units = lattice. diff --git a/doc/txt/dump.txt b/doc/txt/dump.txt deleted file mode 100644 index 0d08fdf471a851e74a1c936dd0a684c34ed91ffb..0000000000000000000000000000000000000000 --- a/doc/txt/dump.txt +++ /dev/null @@ -1,667 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dump command :h3 -"dump vtk"_dump_vtk.html command :h3 -"dump h5md"_dump_h5md.html command :h3 -"dump molfile"_dump_molfile.html command :h3 -"dump netcdf"_dump_netcdf.html command :h3 -"dump image"_dump_image.html command :h3 -"dump movie"_dump_image.html command :h3 -"dump adios"_dump_adios.html command :h3 - -[Syntax:] - -dump ID group-ID style N file args :pre - -ID = user-assigned name for the dump :ulb,l -group-ID = ID of the group of atoms to be dumped :l -style = {atom} or {atom/gz} or {atom/mpiio} or {cfg} or {cfg/gz} or -{cfg/mpiio} or {custom} or {custom/gz} or {custom/mpiio} or {dcd} or {h5md} or {image} or {local} or {local/gz} or {molfile} or {movie} or {netcdf} or {netcdf/mpiio} or {vtk} or {xtc} or {xyz} or {xyz/gz} or {xyz/mpiio} :l -N = dump every this many timesteps :l -file = name of file to write dump info to :l -args = list of arguments for a particular style :l - {atom} args = none - {atom/gz} args = none - {atom/mpiio} args = none - {atom/adios} args = none, discussed on "dump adios"_dump_adios.html doc page - {cfg} args = same as {custom} args, see below - {cfg/gz} args = same as {custom} args, see below - {cfg/mpiio} args = same as {custom} args, see below - {custom}, {custom/gz}, {custom/mpiio} args = see below - {custom/adios} args = same as {custom} args, discussed on "dump adios"_dump_adios.html doc page - {dcd} args = none - {h5md} args = discussed on "dump h5md"_dump_h5md.html doc page - {image} args = discussed on "dump image"_dump_image.html doc page - {local} args = see below - {molfile} args = discussed on "dump molfile"_dump_molfile.html doc page - {movie} args = discussed on "dump image"_dump_image.html doc page - {netcdf} args = discussed on "dump netcdf"_dump_netcdf.html doc page - {netcdf/mpiio} args = discussed on "dump netcdf"_dump_netcdf.html doc page - {vtk} args = same as {custom} args, see below, also "dump vtk"_dump_vtk.html doc page - {xtc} args = none - {xyz} args = none - {xyz/gz} args = none - {xyz/mpiio} args = none :pre - -{custom} or {custom/gz} or {custom/mpiio} or {netcdf} or {netcdf/mpiio} args = list of atom attributes :l - possible attributes = id, mol, proc, procp1, type, element, mass, - x, y, z, xs, ys, zs, xu, yu, zu, - xsu, ysu, zsu, ix, iy, iz, - vx, vy, vz, fx, fy, fz, - q, mux, muy, muz, mu, - radius, diameter, omegax, omegay, omegaz, - angmomx, angmomy, angmomz, tqx, tqy, tqz, - c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :pre - - id = atom ID - mol = molecule ID - proc = ID of processor that owns atom - procp1 = ID+1 of processor that owns atom - type = atom type - element = name of atom element, as defined by "dump_modify"_dump_modify.html command - mass = atom mass - x,y,z = unscaled atom coordinates - xs,ys,zs = scaled atom coordinates - xu,yu,zu = unwrapped atom coordinates - xsu,ysu,zsu = scaled unwrapped atom coordinates - ix,iy,iz = box image that the atom is in - vx,vy,vz = atom velocities - fx,fy,fz = forces on atoms - q = atom charge - mux,muy,muz = orientation of dipole moment of atom - mu = magnitude of dipole moment of atom - radius,diameter = radius,diameter of spherical particle - omegax,omegay,omegaz = angular velocity of spherical particle - angmomx,angmomy,angmomz = angular momentum of aspherical particle - tqx,tqy,tqz = torque on finite-size particles - c_ID = per-atom vector calculated by a compute with ID - c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) - f_ID = per-atom vector calculated by a fix with ID - f_ID\[I\] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below) - v_name = per-atom vector calculated by an atom-style variable with name - d_name = per-atom floating point vector with name, managed by fix property/atom - i_name = per-atom integer vector with name, managed by fix property/atom :pre - -{local} args = list of local attributes :l - possible attributes = index, c_ID, c_ID\[I\], f_ID, f_ID\[I\] - index = enumeration of local values - c_ID = local vector calculated by a compute with ID - c_ID\[I\] = Ith column of local array calculated by a compute with ID, I can include wildcard (see below) - f_ID = local vector calculated by a fix with ID - f_ID\[I\] = Ith column of local array calculated by a fix with ID, I can include wildcard (see below) :pre - -:ule - -[Examples:] - -dump myDump all atom 100 dump.atom -dump myDump all atom/mpiio 100 dump.atom.mpiio -dump myDump all atom/gz 100 dump.atom.gz -dump 2 subgroup atom 50 dump.run.bin -dump 2 subgroup atom 50 dump.run.mpiio.bin -dump 4a all custom 100 dump.myforce.* id type x y vx fx -dump 4b flow custom 100 dump.%.myforce id type c_myF\[3\] v_ke -dump 4b flow custom 100 dump.%.myforce id type c_myF\[*\] v_ke -dump 2 inner cfg 10 dump.snap.*.cfg mass type xs ys zs vx vy vz -dump snap all cfg 100 dump.config.*.cfg mass type xs ys zs id type c_Stress\[2\] -dump 1 all xtc 1000 file.xtc :pre - -[Description:] - -Dump a snapshot of atom quantities to one or more files every N -timesteps in one of several styles. The {image} and {movie} styles are -the exception: the {image} style renders a JPG, PNG, or PPM image file -of the atom configuration every N timesteps while the {movie} style -combines and compresses them into a movie file; both are discussed in -detail on the "dump image"_dump_image.html doc page. The timesteps on -which dump output is written can also be controlled by a variable. -See the "dump_modify every"_dump_modify.html command. - -Only information for atoms in the specified group is dumped. The -"dump_modify thresh and region and refresh"_dump_modify.html commands -can also alter what atoms are included. Not all styles support -these options; see details on the "dump_modify"_dump_modify.html doc -page. - -As described below, the filename determines the kind of output (text -or binary or gzipped, one big file or one per timestep, one big file -or multiple smaller files). - -NOTE: Because periodic boundary conditions are enforced only on -timesteps when neighbor lists are rebuilt, the coordinates of an atom -written to a dump file may be slightly outside the simulation box. -Re-neighbor timesteps will not typically coincide with the timesteps -dump snapshots are written. See the "dump_modify -pbc"_dump_modify.html command if you with to force coordinates to be -strictly inside the simulation box. - -NOTE: Unless the "dump_modify sort"_dump_modify.html option is -invoked, the lines of atom information written to dump files -(typically one line per atom) will be in an indeterminate order for -each snapshot. This is even true when running on a single processor, -if the "atom_modify sort"_atom_modify.html option is on, which it is -by default. In this case atoms are re-ordered periodically during a -simulation, due to spatial sorting. It is also true when running in -parallel, because data for a single snapshot is collected from -multiple processors, each of which owns a subset of the atoms. - -For the {atom}, {custom}, {cfg}, and {local} styles, sorting is off by -default. For the {dcd}, {xtc}, {xyz}, and {molfile} styles, sorting by -atom ID is on by default. See the "dump_modify"_dump_modify.html doc -page for details. - -The {atom/gz}, {cfg/gz}, {custom/gz}, and {xyz/gz} styles are identical -in command syntax to the corresponding styles without "gz", however, -they generate compressed files using the zlib library. Thus the filename -suffix ".gz" is mandatory. This is an alternative approach to writing -compressed files via a pipe, as done by the regular dump styles, which -may be required on clusters where the interface to the high-speed network -disallows using the fork() library call (which is needed for a pipe). -For the remainder of this doc page, you should thus consider the {atom} -and {atom/gz} styles (etc) to be inter-changeable, with the exception -of the required filename suffix. - -As explained below, the {atom/mpiio}, {cfg/mpiio}, {custom/mpiio}, and -{xyz/mpiio} styles are identical in command syntax and in the format -of the dump files they create, to the corresponding styles without -"mpiio", except the single dump file they produce is written in -parallel via the MPI-IO library. For the remainder of this doc page, -you should thus consider the {atom} and {atom/mpiio} styles (etc) to -be inter-changeable. The one exception is how the filename is -specified for the MPI-IO styles, as explained below. - -The precision of values output to text-based dump files can be -controlled by the "dump_modify format"_dump_modify.html command and -its options. - -:line - -The {style} keyword determines what atom quantities are written to the -file and in what format. Settings made via the -"dump_modify"_dump_modify.html command can also alter the format of -individual values and the file itself. - -The {atom}, {local}, and {custom} styles create files in a simple text -format that is self-explanatory when viewing a dump file. Some of the -LAMMPS post-processing tools described on the "Tools"_Tools.html doc -page, including "Pizza.py"_http://www.sandia.gov/~sjplimp/pizza.html, -work with this format, as does the "rerun"_rerun.html command. - -For post-processing purposes the {atom}, {local}, and {custom} text -files are self-describing in the following sense. - -The dimensions of the simulation box are included in each snapshot. -For an orthogonal simulation box this information is formatted as: - -ITEM: BOX BOUNDS xx yy zz -xlo xhi -ylo yhi -zlo zhi :pre - -where xlo,xhi are the maximum extents of the simulation box in the -x-dimension, and similarly for y and z. The "xx yy zz" represent 6 -characters that encode the style of boundary for each of the 6 -simulation box boundaries (xlo,xhi and ylo,yhi and zlo,zhi). Each of -the 6 characters is either p = periodic, f = fixed, s = shrink wrap, -or m = shrink wrapped with a minimum value. See the -"boundary"_boundary.html command for details. - -For triclinic simulation boxes (non-orthogonal), an orthogonal -bounding box which encloses the triclinic simulation box is output, -along with the 3 tilt factors (xy, xz, yz) of the triclinic box, -formatted as follows: - -ITEM: BOX BOUNDS xy xz yz xx yy zz -xlo_bound xhi_bound xy -ylo_bound yhi_bound xz -zlo_bound zhi_bound yz :pre - -The presence of the text "xy xz yz" in the ITEM line indicates that -the 3 tilt factors will be included on each of the 3 following lines. -This bounding box is convenient for many visualization programs. The -meaning of the 6 character flags for "xx yy zz" is the same as above. - -Note that the first two numbers on each line are now xlo_bound instead -of xlo, etc, since they represent a bounding box. See the "Howto -triclinic"_Howto_triclinic.html doc page for a geometric description -of triclinic boxes, as defined by LAMMPS, simple formulas for how the -6 bounding box extents (xlo_bound,xhi_bound,etc) are calculated from -the triclinic parameters, and how to transform those parameters to and -from other commonly used triclinic representations. - -The "ITEM: ATOMS" line in each snapshot lists column descriptors for -the per-atom lines that follow. For example, the descriptors would be -"id type xs ys zs" for the default {atom} style, and would be the atom -attributes you specify in the dump command for the {custom} style. - -For style {atom}, atom coordinates are written to the file, along with -the atom ID and atom type. By default, atom coords are written in a -scaled format (from 0 to 1). I.e. an x value of 0.25 means the atom -is at a location 1/4 of the distance from xlo to xhi of the box -boundaries. The format can be changed to unscaled coords via the -"dump_modify"_dump_modify.html settings. Image flags can also be -added for each atom via dump_modify. - -Style {custom} allows you to specify a list of atom attributes to be -written to the dump file for each atom. Possible attributes are -listed above and will appear in the order specified. You cannot -specify a quantity that is not defined for a particular simulation - -such as {q} for atom style {bond}, since that atom style doesn't -assign charges. Dumps occur at the very end of a timestep, so atom -attributes will include effects due to fixes that are applied during -the timestep. An explanation of the possible dump custom attributes -is given below. - -For style {local}, local output generated by "computes"_compute.html -and "fixes"_fix.html is used to generate lines of output that is -written to the dump file. This local data is typically calculated by -each processor based on the atoms it owns, but there may be zero or -more entities per atom, e.g. a list of bond distances. An explanation -of the possible dump local attributes is given below. Note that by -using input from the "compute -property/local"_compute_property_local.html command with dump local, -it is possible to generate information on bonds, angles, etc that can -be cut and pasted directly into a data file read by the -"read_data"_read_data.html command. - -Style {cfg} has the same command syntax as style {custom} and writes -extended CFG format files, as used by the -"AtomEye"_http://mt.seas.upenn.edu/Archive/Graphics/A visualization -package. Since the extended CFG format uses a single snapshot of the -system per file, a wildcard "*" must be included in the filename, as -discussed below. The list of atom attributes for style {cfg} must -begin with either "mass type xs ys zs" or "mass type xsu ysu zsu" -since these quantities are needed to write the CFG files in the -appropriate format (though the "mass" and "type" fields do not appear -explicitly in the file). Any remaining attributes will be stored as -"auxiliary properties" in the CFG files. Note that you will typically -want to use the "dump_modify element"_dump_modify.html command with -CFG-formatted files, to associate element names with atom types, so -that AtomEye can render atoms appropriately. When unwrapped -coordinates {xsu}, {ysu}, and {zsu} are requested, the nominal AtomEye -periodic cell dimensions are expanded by a large factor UNWRAPEXPAND = -10.0, which ensures atoms that are displayed correctly for up to -UNWRAPEXPAND/2 periodic boundary crossings in any direction. Beyond -this, AtomEye will rewrap the unwrapped coordinates. The expansion -causes the atoms to be drawn farther away from the viewer, but it is -easy to zoom the atoms closer, and the interatomic distances are -unaffected. - -The {dcd} style writes DCD files, a standard atomic trajectory format -used by the CHARMM, NAMD, and XPlor molecular dynamics packages. DCD -files are binary and thus may not be portable to different machines. -The number of atoms per snapshot cannot change with the {dcd} style. -The {unwrap} option of the "dump_modify"_dump_modify.html command -allows DCD coordinates to be written "unwrapped" by the image flags -for each atom. Unwrapped means that if the atom has passed through -a periodic boundary one or more times, the value is printed for what -the coordinate would be if it had not been wrapped back into the -periodic box. Note that these coordinates may thus be far outside -the box size stored with the snapshot. - -The {xtc} style writes XTC files, a compressed trajectory format used -by the GROMACS molecular dynamics package, and described -"here"_http://manual.gromacs.org/current/online/xtc.html. -The precision used in XTC files can be adjusted via the -"dump_modify"_dump_modify.html command. The default value of 1000 -means that coordinates are stored to 1/1000 nanometer accuracy. XTC -files are portable binary files written in the NFS XDR data format, -so that any machine which supports XDR should be able to read them. -The number of atoms per snapshot cannot change with the {xtc} style. -The {unwrap} option of the "dump_modify"_dump_modify.html command allows -XTC coordinates to be written "unwrapped" by the image flags for each -atom. Unwrapped means that if the atom has passed through a periodic -boundary one or more times, the value is printed for what the -coordinate would be if it had not been wrapped back into the periodic -box. Note that these coordinates may thus be far outside the box size -stored with the snapshot. - -The {xyz} style writes XYZ files, which is a simple text-based -coordinate format that many codes can read. Specifically it has -a line with the number of atoms, then a comment line that is -usually ignored followed by one line per atom with the atom type -and the x-, y-, and z-coordinate of that atom. You can use the -"dump_modify element"_dump_modify.html option to change the output -from using the (numerical) atom type to an element name (or some -other label). This will help many visualization programs to guess -bonds and colors. - -Note that {atom}, {custom}, {dcd}, {xtc}, and {xyz} style dump files -can be read directly by "VMD"_http://www.ks.uiuc.edu/Research/vmd, a -popular molecular viewing program. - -:line - -Dumps are performed on timesteps that are a multiple of N (including -timestep 0) and on the last timestep of a minimization if the -minimization converges. Note that this means a dump will not be -performed on the initial timestep after the dump command is invoked, -if the current timestep is not a multiple of N. This behavior can be -changed via the "dump_modify first"_dump_modify.html command, which -can also be useful if the dump command is invoked after a minimization -ended on an arbitrary timestep. N can be changed between runs by -using the "dump_modify every"_dump_modify.html command (not allowed -for {dcd} style). The "dump_modify every"_dump_modify.html command -also allows a variable to be used to determine the sequence of -timesteps on which dump files are written. In this mode a dump on the -first timestep of a run will also not be written unless the -"dump_modify first"_dump_modify.html command is used. - -The specified filename determines how the dump file(s) is written. -The default is to write one large text file, which is opened when the -dump command is invoked and closed when an "undump"_undump.html -command is used or when LAMMPS exits. For the {dcd} and {xtc} styles, -this is a single large binary file. - -Dump filenames can contain two wildcard characters. If a "*" -character appears in the filename, then one file per snapshot is -written and the "*" character is replaced with the timestep value. -For example, tmp.dump.* becomes tmp.dump.0, tmp.dump.10000, -tmp.dump.20000, etc. This option is not available for the {dcd} and -{xtc} styles. Note that the "dump_modify pad"_dump_modify.html -command can be used to insure all timestep numbers are the same length -(e.g. 00010), which can make it easier to read a series of dump files -in order with some post-processing tools. - -If a "%" character appears in the filename, then each of P processors -writes a portion of the dump file, and the "%" character is replaced -with the processor ID from 0 to P-1. For example, tmp.dump.% becomes -tmp.dump.0, tmp.dump.1, ... tmp.dump.P-1, etc. This creates smaller -files and can be a fast mode of output on parallel machines that -support parallel I/O for output. This option is not available for the -{dcd}, {xtc}, and {xyz} styles. - -By default, P = the number of processors meaning one file per -processor, but P can be set to a smaller value via the {nfile} or -{fileper} keywords of the "dump_modify"_dump_modify.html command. -These options can be the most efficient way of writing out dump files -when running on large numbers of processors. - -Note that using the "*" and "%" characters together can produce a -large number of small dump files! - -For the {atom/mpiio}, {cfg/mpiio}, {custom/mpiio}, and {xyz/mpiio} -styles, a single dump file is written in parallel via the MPI-IO -library, which is part of the MPI standard for versions 2.0 and above. -Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO -package installed, e.g. - -make yes-mpiio # installs the MPIIO package -make mpi # build LAMMPS for your platform :pre - -Second, use a dump filename which contains ".mpiio". Note that it -does not have to end in ".mpiio", just contain those characters. -Unlike MPI-IO restart files, which must be both written and read using -MPI-IO, the dump files produced by these MPI-IO styles are identical -in format to the files produced by their non-MPI-IO style -counterparts. This means you can write a dump file using MPI-IO and -use the "read_dump"_read_dump.html command or perform other -post-processing, just as if the dump file was not written using -MPI-IO. - -Note that MPI-IO dump files are one large file which all processors -write to. You thus cannot use the "%" wildcard character described -above in the filename since that specifies generation of multiple -files. You can use the ".bin" suffix described below in an MPI-IO -dump file; again this file will be written in parallel and have the -same binary format as if it were written without MPI-IO. - -If the filename ends with ".bin", the dump file (or files, if "*" or -"%" is also used) is written in binary format. A binary dump file -will be about the same size as a text version, but will typically -write out much faster. Of course, when post-processing, you will need -to convert it back to text format (see the "binary2txt -tool"_Tools.html#binary) or write your own code to read the binary -file. The format of the binary file can be understood by looking at -the tools/binary2txt.cpp file. This option is only available for the -{atom} and {custom} styles. - -If the filename ends with ".gz", the dump file (or files, if "*" or "%" -is also used) is written in gzipped format. A gzipped dump file will -be about 3x smaller than the text version, but will also take longer -to write. This option is not available for the {dcd} and {xtc} -styles. - -:line - -Note that in the discussion which follows, for styles which can -reference values from a compute or fix, like the {custom}, {cfg}, or -{local} styles, the bracketed index I can be specified using a -wildcard asterisk with the index to effectively specify multiple -values. This takes the form "*" or "*n" or "n*" or "m*n". If N = the -size of the vector (for {mode} = scalar) or the number of columns in -the array (for {mode} = vector), then an asterisk with no numeric -values means all indices from 1 to N. A leading asterisk means all -indices from 1 to n (inclusive). A trailing asterisk means all -indices from n to N (inclusive). A middle asterisk means all indices -from m to n (inclusive). - -Using a wildcard is the same as if the individual columns of the array -had been listed one by one. E.g. these 2 dump commands are -equivalent, since the "compute stress/atom"_compute_stress_atom.html -command creates a per-atom array with 6 columns: - -compute myPress all stress/atom NULL -dump 2 all custom 100 tmp.dump id myPress\[*\] -dump 2 all custom 100 tmp.dump id myPress\[1\] myPress\[2\] myPress\[3\] & - myPress\[4\] myPress\[5\] myPress\[6\] :pre - -:line - -This section explains the local attributes that can be specified as -part of the {local} style. - -The {index} attribute can be used to generate an index number from 1 -to N for each line written into the dump file, where N is the total -number of local datums from all processors, or lines of output that -will appear in the snapshot. Note that because data from different -processors depend on what atoms they currently own, and atoms migrate -between processor, there is no guarantee that the same index will be -used for the same info (e.g. a particular bond) in successive -snapshots. - -The {c_ID} and {c_ID\[I\]} attributes allow local vectors or arrays -calculated by a "compute"_compute.html to be output. The ID in the -attribute should be replaced by the actual ID of the compute that has -been defined previously in the input script. See the -"compute"_compute.html command for details. There are computes for -calculating local information such as indices, types, and energies for -bonds and angles. - -Note that computes which calculate global or per-atom quantities, as -opposed to local quantities, cannot be output in a dump local command. -Instead, global quantities can be output by the "thermo_style -custom"_thermo_style.html command, and per-atom quantities can be -output by the dump custom command. - -If {c_ID} is used as a attribute, then the local vector calculated by -the compute is printed. If {c_ID\[I\]} is used, then I must be in the -range from 1-M, which will print the Ith column of the local array -with M columns calculated by the compute. See the discussion above -for how I can be specified with a wildcard asterisk to effectively -specify multiple values. - -The {f_ID} and {f_ID\[I\]} attributes allow local vectors or arrays -calculated by a "fix"_fix.html to be output. The ID in the attribute -should be replaced by the actual ID of the fix that has been defined -previously in the input script. - -If {f_ID} is used as a attribute, then the local vector calculated by -the fix is printed. If {f_ID\[I\]} is used, then I must be in the -range from 1-M, which will print the Ith column of the local with M -columns calculated by the fix. See the discussion above for how I can -be specified with a wildcard asterisk to effectively specify multiple -values. - -Here is an example of how to dump bond info for a system, including -the distance and energy of each bond: - -compute 1 all property/local batom1 batom2 btype -compute 2 all bond/local dist eng -dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_1\[3\] c_2\[1\] c_2\[2\] :pre - -:line - -This section explains the atom attributes that can be specified as -part of the {custom} and {cfg} styles. - -The {id}, {mol}, {proc}, {procp1}, {type}, {element}, {mass}, {vx}, -{vy}, {vz}, {fx}, {fy}, {fz}, {q} attributes are self-explanatory. - -{Id} is the atom ID. {Mol} is the molecule ID, included in the data -file for molecular systems. {Proc} is the ID of the processor (0 to -Nprocs-1) that currently owns the atom. {Procp1} is the proc ID+1, -which can be convenient in place of a {type} attribute (1 to Ntypes) -for coloring atoms in a visualization program. {Type} is the atom -type (1 to Ntypes). {Element} is typically the chemical name of an -element, which you must assign to each type via the "dump_modify -element"_dump_modify.html command. More generally, it can be any -string you wish to associated with an atom type. {Mass} is the atom -mass. {Vx}, {vy}, {vz}, {fx}, {fy}, {fz}, and {q} are components of -atom velocity and force and atomic charge. - -There are several options for outputting atom coordinates. The {x}, -{y}, {z} attributes write atom coordinates "unscaled", in the -appropriate distance "units"_units.html (Angstroms, sigma, etc). Use -{xs}, {ys}, {zs} if you want the coordinates "scaled" to the box size, -so that each value is 0.0 to 1.0. If the simulation box is triclinic -(tilted), then all atom coords will still be between 0.0 and 1.0. -I.e. actual unscaled (x,y,z) = xs*A + ys*B + zs*C, where (A,B,C) are -the non-orthogonal vectors of the simulation box edges, as discussed -on the "Howto triclinic"_Howto_triclinic.html doc page. - -Use {xu}, {yu}, {zu} if you want the coordinates "unwrapped" by the -image flags for each atom. Unwrapped means that if the atom has -passed through a periodic boundary one or more times, the value is -printed for what the coordinate would be if it had not been wrapped -back into the periodic box. Note that using {xu}, {yu}, {zu} means -that the coordinate values may be far outside the box bounds printed -with the snapshot. Using {xsu}, {ysu}, {zsu} is similar to using -{xu}, {yu}, {zu}, except that the unwrapped coordinates are scaled by -the box size. Atoms that have passed through a periodic boundary will -have the corresponding coordinate increased or decreased by 1.0. - -The image flags can be printed directly using the {ix}, {iy}, {iz} -attributes. For periodic dimensions, they specify which image of the -simulation box the atom is considered to be in. An image of 0 means -it is inside the box as defined. A value of 2 means add 2 box lengths -to get the true value. A value of -1 means subtract 1 box length to -get the true value. LAMMPS updates these flags as atoms cross -periodic boundaries during the simulation. - -The {mux}, {muy}, {muz} attributes are specific to dipolar systems -defined with an atom style of {dipole}. They give the orientation of -the atom's point dipole moment. The {mu} attribute gives the -magnitude of the atom's dipole moment. - -The {radius} and {diameter} attributes are specific to spherical -particles that have a finite size, such as those defined with an atom -style of {sphere}. - -The {omegax}, {omegay}, and {omegaz} attributes are specific to -finite-size spherical particles that have an angular velocity. Only -certain atom styles, such as {sphere} define this quantity. - -The {angmomx}, {angmomy}, and {angmomz} attributes are specific to -finite-size aspherical particles that have an angular momentum. Only -the {ellipsoid} atom style defines this quantity. - -The {tqx}, {tqy}, {tqz} attributes are for finite-size particles that -can sustain a rotational torque due to interactions with other -particles. - -The {c_ID} and {c_ID\[I\]} attributes allow per-atom vectors or arrays -calculated by a "compute"_compute.html to be output. The ID in the -attribute should be replaced by the actual ID of the compute that has -been defined previously in the input script. See the -"compute"_compute.html command for details. There are computes for -calculating the per-atom energy, stress, centro-symmetry parameter, -and coordination number of individual atoms. - -Note that computes which calculate global or local quantities, as -opposed to per-atom quantities, cannot be output in a dump custom -command. Instead, global quantities can be output by the -"thermo_style custom"_thermo_style.html command, and local quantities -can be output by the dump local command. - -If {c_ID} is used as a attribute, then the per-atom vector calculated -by the compute is printed. If {c_ID\[I\]} is used, then I must be in -the range from 1-M, which will print the Ith column of the per-atom -array with M columns calculated by the compute. See the discussion -above for how I can be specified with a wildcard asterisk to -effectively specify multiple values. - -The {f_ID} and {f_ID\[I\]} attributes allow vector or array per-atom -quantities calculated by a "fix"_fix.html to be output. The ID in the -attribute should be replaced by the actual ID of the fix that has been -defined previously in the input script. The "fix -ave/atom"_fix_ave_atom.html command is one that calculates per-atom -quantities. Since it can time-average per-atom quantities produced by -any "compute"_compute.html, "fix"_fix.html, or atom-style -"variable"_variable.html, this allows those time-averaged results to -be written to a dump file. - -If {f_ID} is used as a attribute, then the per-atom vector calculated -by the fix is printed. If {f_ID\[I\]} is used, then I must be in the -range from 1-M, which will print the Ith column of the per-atom array -with M columns calculated by the fix. See the discussion above for -how I can be specified with a wildcard asterisk to effectively specify -multiple values. - -The {v_name} attribute allows per-atom vectors calculated by a -"variable"_variable.html to be output. The name in the attribute -should be replaced by the actual name of the variable that has been -defined previously in the input script. Only an atom-style variable -can be referenced, since it is the only style that generates per-atom -values. Variables of style {atom} can reference individual atom -attributes, per-atom attributes, thermodynamic keywords, or -invoke other computes, fixes, or variables when they are evaluated, so -this is a very general means of creating quantities to output to a -dump file. - -The {d_name} and {i_name} attributes allow to output custom per atom -floating point or integer properties that are managed by -"fix property/atom"_fix_property_atom.html. - -See the "Modify"_Modify.html doc page for information on how to add -new compute and fix styles to LAMMPS to calculate per-atom quantities -which could then be output into dump files. - -:line - -[Restrictions:] - -To write gzipped dump files, you must either compile LAMMPS with the --DLAMMPS_GZIP option or use the styles from the COMPRESS package. -See the "Build settings"_Build_settings.html doc page for details. - -The {atom/gz}, {cfg/gz}, {custom/gz}, and {xyz/gz} styles are part of -the COMPRESS package. They are only enabled if LAMMPS was built with -that package. See the "Build package"_Build_package.html doc page for -more info. - -The {atom/mpiio}, {cfg/mpiio}, {custom/mpiio}, and {xyz/mpiio} styles -are part of the MPIIO package. They are only enabled if LAMMPS was -built with that package. See the "Build package"_Build_package.html -doc page for more info. - -The {xtc} style is part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"dump adios"_dump_adios.html "dump h5md"_dump_h5md.html, "dump image"_dump_image.html, -"dump molfile"_dump_molfile.html, "dump_modify"_dump_modify.html, -"undump"_undump.html - -[Default:] - -The defaults for the {image} and {movie} styles are listed on the -"dump image"_dump_image.html doc page. diff --git a/doc/txt/dump_adios.txt b/doc/txt/dump_adios.txt deleted file mode 100644 index e3c919db5a16abd563ed34a0d9cbd7c98a4aff1c..0000000000000000000000000000000000000000 --- a/doc/txt/dump_adios.txt +++ /dev/null @@ -1,73 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dump atoms/adios command :h3 -dump custom/adios command :h3 - -[Syntax:] - -dump ID group-ID atoms/adios N file.bp :pre -dump ID group-ID custom/adios N file.bp args :pre - -ID = user-assigned name for the dump :ulb,l -group-ID = ID of the group of atoms to be imaged :l -adios = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page) :l -N = dump every this many timesteps :l -file.bp = name of file/stream to write to :l -args = same options as in "{dump custom}"_dump.html command :l -:ule - - -[Examples:] - -dump adios1 all atom/adios 100 atoms.bp -dump 4a all custom/adios 100 dump_adios.bp id v_p x y z -dump 2 subgroup custom/adios 100 dump_adios.bp mass type xs ys zs vx vy vz :pre - -[Description:] - -Dump a snapshot of atom coordinates every N timesteps in the -"ADIOS"_adios based "BP" file format, or using different I/O solutions in ADIOS, -to a stream that can be read on-line by another program. -ADIOS-BP files are binary, portable and self-describing. - -:link(adios,https://github.com/ornladios/ADIOS2) - - -[Use from write_dump:] - -It is possible to use these dump styles with the -"write_dump"_write_dump.html command. In this case, the sub-intervals -must not be set at all. The write_dump command can be used to -create a new file at each individual dump. - -dump 4 all atom/adios 100 dump.bp -write_dump all atom/adios singledump.bp :pre - -:line - -[Restrictions:] - -The number of atoms per snapshot CAN change with the adios style. -When using the ADIOS tool 'bpls' to list the content of a .bp file, -bpls will print {__} for the size of the output table indicating that -its size is changing every step. - -The {atom/adios} and {custom/adios} dump styles are part of the USER-ADIOS -package. They are only enabled if LAMMPS was built with that package. -See the "Build package"_Build_package.html doc page for more info. - - -:line - -[Related commands:] - -"dump"_dump.html, "dump_modify"_dump_modify.html, "undump"_undump.html - -:line - diff --git a/doc/txt/dump_cfg_uef.txt b/doc/txt/dump_cfg_uef.txt deleted file mode 100644 index ca43b0b6eac3f0bd1e9c0b9227e5461ec61a03f3..0000000000000000000000000000000000000000 --- a/doc/txt/dump_cfg_uef.txt +++ /dev/null @@ -1,53 +0,0 @@ - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dump cfg/uef command :h3 - -[Syntax:] - -dump ID group-ID cfg/uef N file mass type xs ys zs args :pre - -ID = user-assigned name for the dump :ulb,l -group-ID = ID of the group of atoms to be dumped :l -N = dump every this many timesteps :l -file = name of file to write dump info to :l -args = same as args for "dump custom"_dump.html :pre - -:ule - -[Examples:] - -dump 1 all cfg/uef 10 dump.*.cfg mass type xs ys zs -dump 2 all cfg/uef 100 dump.*.cfg mass type xs ys zs id c_stress :pre - -[Description:] - -This command is used to dump atomic coordinates 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 or is used. Only the atomic -coordinates and frame-invariant scalar quantities -will be in the flow frame. If velocities are selected -as output, for example, they will not be in the same -reference frame as the atomic positions. - -[Restrictions:] - -This fix is part of the USER-UEF package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This command can only be used when "fix nvt/uef"_fix_nh_uef.html -or "fix npt/uef"_fix_nh_uef.html is active. - -[Related commands:] - -"dump"_dump.html, -"fix nvt/uef"_fix_nh_uef.html - -[Default:] none diff --git a/doc/txt/dump_h5md.txt b/doc/txt/dump_h5md.txt deleted file mode 100644 index 6e9e7284dff8ae7b35807314fb03cab4b6624b7e..0000000000000000000000000000000000000000 --- a/doc/txt/dump_h5md.txt +++ /dev/null @@ -1,123 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dump h5md command :h3 - -[Syntax:] - -dump ID group-ID h5md N file.h5 args :pre - -ID = user-assigned name for the dump :ulb,l -group-ID = ID of the group of atoms to be imaged :l -h5md = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page) :l -N = dump every this many timesteps :l -file.h5 = name of file to write to :l -args = list of data elements to dump, with their dump "sub-intervals" - position options - image - velocity options - force options - species options - file_from ID: do not open a new file, re-use the already opened file from dump ID - box value = {yes} or {no} - create_group value = {yes} or {no} - author value = quoted string :pre -:ule - -Note that at least one element must be specified and image may only be -present if position is specified first. - -For the elements {position}, {velocity}, {force} and {species}, a -sub-interval may be specified to write the data only every N_element -iterations of the dump (i.e. every N*N_element time steps). This is -specified by this option directly following the element declaration: - -every N_element :pre - -:ule - -[Examples:] - -dump h5md1 all h5md 100 dump_h5md.h5 position image -dump h5md1 all h5md 100 dump_h5md.h5 position velocity every 10 -dump h5md1 all h5md 100 dump_h5md.h5 velocity author "John Doe" :pre - -[Description:] - -Dump a snapshot of atom coordinates every N timesteps in the -"HDF5"_HDF5-ws based "H5MD"_h5md file format "(de Buyl)"_#h5md_cpc. -HDF5 files are binary, portable and self-describing. This dump style -will write only one file, on the root node. - -Several dumps may write to the same file, by using file_from and -referring to a previously defined dump. Several groups may also be -stored within the same file by defining several dumps. A dump that -refers (via {file_from}) to an already open dump ID and that concerns -another particle group must specify {create_group yes}. - -:link(h5md,http://nongnu.org/h5md/) - -Each data element is written every N*N_element steps. For {image}, no -sub-interval is needed as it must be present at the same interval as -{position}. {image} must be given after {position} in any case. The -box information (edges in each dimension) is stored at the same -interval than the {position} element, if present. Else it is stored -every N steps. - -NOTE: Because periodic boundary conditions are enforced only on -timesteps when neighbor lists are rebuilt, the coordinates of an atom -written to a dump file may be slightly outside the simulation box. - -[Use from write_dump:] - -It is possible to use this dump style with the -"write_dump"_write_dump.html command. In this case, the sub-intervals -must not be set at all. The write_dump command can be used either to -create a new file or to add current data to an existing dump file by -using the {file_from} keyword. - -Typically, the {species} data is fixed. The following two commands -store the position data every 100 timesteps, with the image data, and -store once the species data in the same file. - -dump h5md1 all h5md 100 dump.h5 position image -write_dump all h5md dump.h5 file_from h5md1 species :pre - -:line - -[Restrictions:] - -The number of atoms per snapshot cannot change with the h5md style. -The position data is stored wrapped (box boundaries not enforced, see -note above). Only orthogonal domains are currently supported. This is -a limitation of the present dump h5md command and not of H5MD itself. - -The {h5md} dump style is part of the USER-H5MD package. It is only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. It also requires -(i) building the ch5md library provided with LAMMPS (See the "Build -package"_Build_package.html doc page for more info.) and (ii) having -the "HDF5"_HDF5-ws library installed (C bindings are sufficient) on -your system. The library ch5md is compiled with the h5cc wrapper -provided by the HDF5 library. - -:link(HDF5-ws,http://www.hdfgroup.org/HDF5/) - -:line - -[Related commands:] - -"dump"_dump.html, "dump_modify"_dump_modify.html, "undump"_undump.html - -:line - -:link(h5md_cpc) -[(de Buyl)] de Buyl, Colberg and Hofling, H5MD: A structured, -efficient, and portable file format for molecular data, -Comp. Phys. Comm. 185(6), 1546-1553 (2014) - -"\[arXiv:1308.6382\]"_http://arxiv.org/abs/1308.6382/. diff --git a/doc/txt/dump_image.txt b/doc/txt/dump_image.txt deleted file mode 100644 index 2b10e9f23065e8aea1cd08883cc119e3d79cb67d..0000000000000000000000000000000000000000 --- a/doc/txt/dump_image.txt +++ /dev/null @@ -1,674 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dump image command :h3 -dump movie command :h3 - -[Syntax:] - -dump ID group-ID style N file color diameter keyword value ... :pre - -ID = user-assigned name for the dump :ulb,l -group-ID = ID of the group of atoms to be imaged :l -style = {image} or {movie} = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page) :l -N = dump every this many timesteps :l -file = name of file to write image to :l -color = atom attribute that determines color of each atom :l -diameter = atom attribute that determines size of each atom :l -zero or more keyword/value pairs may be appended :l -keyword = {atom} or {adiam} or {bond} or {line} or {tri} or {body} or {fix} or {size} or {view} or {center} or {up} or {zoom} or {persp} or {box} or {axes} or {subbox} or {shiny} or {ssao} :l - {atom} = yes/no = do or do not draw atoms - {adiam} size = numeric value for atom diameter (distance units) - {bond} values = color width = color and width of bonds - color = {atom} or {type} or {none} - width = number or {atom} or {type} or {none} - number = numeric value for bond width (distance units) - {line} = color width - color = {type} - width = numeric value for line width (distance units) - {tri} = color tflag width - color = {type} - tflag = 1 for just triangle, 2 for just tri edges, 3 for both - width = numeric value for tringle edge width (distance units) - {body} = color bflag1 bflag2 - color = {type} - bflag1,bflag2 = 2 numeric flags to affect how bodies are drawn - {fix} = fixID color fflag1 fflag2 - fixID = ID of fix that generates objects to dray - color = {type} - fflag1,fflag2 = 2 numeric flags to affect how fix objects are drawn - {size} values = width height = size of images - width = width of image in # of pixels - height = height of image in # of pixels - {view} values = theta phi = view of simulation box - theta = view angle from +z axis (degrees) - phi = azimuthal view angle (degrees) - theta or phi can be a variable (see below) - {center} values = flag Cx Cy Cz = center point of image - flag = "s" for static, "d" for dynamic - Cx,Cy,Cz = center point of image as fraction of box dimension (0.5 = center of box) - Cx,Cy,Cz can be variables (see below) - {up} values = Ux Uy Uz = direction that is "up" in image - Ux,Uy,Uz = components of up vector - Ux,Uy,Uz can be variables (see below) - {zoom} value = zfactor = size that simulation box appears in image - zfactor = scale image size by factor > 1 to enlarge, factor < 1 to shrink - zfactor can be a variable (see below) - {persp} value = pfactor = amount of "perspective" in image - pfactor = amount of perspective (0 = none, < 1 = some, > 1 = highly skewed) - pfactor can be a variable (see below) - {box} values = yes/no diam = draw outline of simulation box - yes/no = do or do not draw simulation box lines - diam = diameter of box lines as fraction of shortest box length - {axes} values = yes/no length diam = draw xyz axes - yes/no = do or do not draw xyz axes lines next to simulation box - length = length of axes lines as fraction of respective box lengths - diam = diameter of axes lines as fraction of shortest box length - {subbox} values = yes/no diam = draw outline of processor sub-domains - yes/no = do or do not draw sub-domain lines - diam = diameter of sub-domain lines as fraction of shortest box length - {shiny} value = sfactor = shinyness of spheres and cylinders - sfactor = shinyness of spheres and cylinders from 0.0 to 1.0 - {ssao} value = yes/no seed dfactor = SSAO depth shading - yes/no = turn depth shading on/off - seed = random # seed (positive integer) - dfactor = strength of shading from 0.0 to 1.0 :pre -:ule - -[Examples:] - -dump d0 all image 100 dump.*.jpg type type -dump d1 mobile image 500 snap.*.png element element ssao yes 4539 0.6 -dump d2 all image 200 img-*.ppm type type zoom 2.5 adiam 1.5 size 1280 720 -dump m0 all movie 1000 movie.mpg type type size 640 480 -dump m1 all movie 1000 movie.avi type type size 640 480 -dump m2 all movie 100 movie.m4v type type zoom 1.8 adiam v_value size 1280 720 :pre - -[Description:] - -Dump a high-quality rendered image of the atom configuration every N -timesteps and save the images either as a sequence of JPEG or PNG or -PPM files, or as a single movie file. The options for this command as -well as the "dump_modify"_dump_modify.html command control what is -included in the image or movie and how it appears. A series of such -images can easily be manually converted into an animated movie of your -simulation or the process can be automated without writing the -intermediate files using the dump movie style; see further details -below. Other dump styles store snapshots of numerical data associated -with atoms in various formats, as discussed on the "dump"_dump.html -doc page. - -Note that a set of images or a movie can be made after a simulation -has been run, using the "rerun"_rerun.html command to read snapshots -from an existing dump file, and using these dump commands in the rerun -script to generate the images/movie. - -Here are two sample images, rendered as 1024x1024 JPEG files. Click -to see the full-size images: - -
- -:image(JPG/dump1_small.jpg,JPG/dump1.jpg) -:image(JPG/dump2_small.jpg,JPG/dump2.jpg) - -
- -Only atoms in the specified group are rendered in the image. The -"dump_modify region and thresh"_dump_modify.html commands can also -alter what atoms are included in the image.\ - -The filename suffix determines whether a JPEG, PNG, or PPM file is -created with the {image} dump style. If the suffix is ".jpg" or -".jpeg", then a JPEG format file is created, if the suffix is ".png", -then a PNG format is created, else a PPM (aka NETPBM) format file is -created. The JPEG and PNG files are binary; PPM has a text mode -header followed by binary data. JPEG images have lossy compression; -PNG has lossless compression; and PPM files are uncompressed but can -be compressed with gzip, if LAMMPS has been compiled with --DLAMMPS_GZIP and a ".gz" suffix is used. - -Similarly, the format of the resulting movie is chosen with the -{movie} dump style. This is handled by the underlying FFmpeg converter -and thus details have to be looked up in the FFmpeg documentation. -Typical examples are: .avi, .mpg, .m4v, .mp4, .mkv, .flv, .mov, .gif -Additional settings of the movie compression like bitrate and -framerate can be set using the "dump_modify"_dump_modify.html command. - -To write out JPEG and PNG format files, you must build LAMMPS with -support for the corresponding JPEG or PNG library. To convert images -into movies, LAMMPS has to be compiled with the -DLAMMPS_FFMPEG -flag. See the "Build settings"_Build_settings.html doc page for -details. - -NOTE: Because periodic boundary conditions are enforced only on -timesteps when neighbor lists are rebuilt, the coordinates of an atom -in the image may be slightly outside the simulation box. - -:line - -Dumps are performed on timesteps that are a multiple of N (including -timestep 0) and on the last timestep of a minimization if the -minimization converges. Note that this means a dump will not be -performed on the initial timestep after the dump command is invoked, -if the current timestep is not a multiple of N. This behavior can be -changed via the "dump_modify first"_dump_modify.html command, which -can be useful if the dump command is invoked after a minimization -ended on an arbitrary timestep. N can be changed between runs by -using the "dump_modify every"_dump_modify.html command. - -Dump {image} filenames must contain a wildcard character "*", so that -one image file per snapshot is written. The "*" character is replaced -with the timestep value. For example, tmp.dump.*.jpg becomes -tmp.dump.0.jpg, tmp.dump.10000.jpg, tmp.dump.20000.jpg, etc. Note -that the "dump_modify pad"_dump_modify.html command can be used to -insure all timestep numbers are the same length (e.g. 00010), which -can make it easier to convert a series of images into a movie in the -correct ordering. - -Dump {movie} filenames on the other hand, must not have any wildcard -character since only one file combining all images into a single -movie will be written by the movie encoder. - -:line - -The {color} and {diameter} settings determine the color and size of -atoms rendered in the image. They can be any atom attribute defined -for the "dump custom"_dump.html command, including {type} and -{element}. This includes per-atom quantities calculated by a -"compute"_compute.html, "fix"_fix.html, or "variable"_variable.html, -which are prefixed by "c_", "f_", or "v_" respectively. Note that the -{diameter} setting can be overridden with a numeric value applied to -all atoms by the optional {adiam} keyword. - -If {type} is specified for the {color} setting, then the color of each -atom is determined by its atom type. By default the mapping of types -to colors is as follows: - -type 1 = red -type 2 = green -type 3 = blue -type 4 = yellow -type 5 = aqua -type 6 = cyan :ul - -and repeats itself for types > 6. This mapping can be changed by the -"dump_modify acolor"_dump_modify.html command. - -If {type} is specified for the {diameter} setting then the diameter of -each atom is determined by its atom type. By default all types have -diameter 1.0. This mapping can be changed by the "dump_modify -adiam"_dump_modify.html command. - -If {element} is specified for the {color} and/or {diameter} setting, -then the color and/or diameter of each atom is determined by which -element it is, which in turn is specified by the element-to-type -mapping specified by the "dump_modify element" command. By default -every atom type is C (carbon). Every element has a color and diameter -associated with it, which is the same as the colors and sizes used by -the "AtomEye"_atomeye visualization package. - -:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A) - -If other atom attributes are used for the {color} or {diameter} -settings, they are interpreted in the following way. - -If "vx", for example, is used as the {color} setting, then the color -of the atom will depend on the x-component of its velocity. The -association of a per-atom value with a specific color is determined by -a "color map", which can be specified via the -"dump_modify"_dump_modify.html command. The basic idea is that the -atom-attribute will be within a range of values, and every value -within the range is mapped to a specific color. Depending on how the -color map is defined, that mapping can take place via interpolation so -that a value of -3.2 is halfway between "red" and "blue", or -discretely so that the value of -3.2 is "orange". - -If "vx", for example, is used as the {diameter} setting, then the atom -will be rendered using the x-component of its velocity as the -diameter. If the per-atom value <= 0.0, them the atom will not be -drawn. Note that finite-size spherical particles, as defined by -"atom_style sphere"_atom_style.html define a per-particle radius or -diameter, which can be used as the {diameter} setting. - -:line - -The various keywords listed above control how the image is rendered. -As listed below, all of the keywords have defaults, most of which you -will likely not need to change. The "dump modify"_dump_modify.html -also has options specific to the dump image style, particularly for -assigning colors to atoms, bonds, and other image features. - -:line - -The {atom} keyword allow you to turn off the drawing of all atoms, if -the specified value is {no}. Note that this will not turn off the -drawing of particles that are represented as lines, triangles, or -bodies, as discussed below. These particles can be drawn separately -if the {line}, {tri}, or {body} keywords are used. - -The {adiam} keyword allows you to override the {diameter} setting to -set a single numeric {size}. All atoms will be drawn with that -diameter, e.g. 1.5, which is in whatever distance "units"_units.html -the input script defines, e.g. Angstroms. - -:line - -The {bond} keyword allows to you to alter how bonds are drawn. A bond -is only drawn if both atoms in the bond are being drawn due to being -in the specified group and due to other selection criteria -(e.g. region, threshold settings of the -"dump_modify"_dump_modify.html command). By default, bonds are drawn -if they are defined in the input data file as read by the -"read_data"_read_data.html command. Using {none} for both the bond -{color} and {width} value will turn off the drawing of all bonds. - -If {atom} is specified for the bond {color} value, then each bond is -drawn in 2 halves, with the color of each half being the color of the -atom at that end of the bond. - -If {type} is specified for the {color} value, then the color of each -bond is determined by its bond type. By default the mapping of bond -types to colors is as follows: - -type 1 = red -type 2 = green -type 3 = blue -type 4 = yellow -type 5 = aqua -type 6 = cyan :ul - -and repeats itself for bond types > 6. This mapping can be changed by -the "dump_modify bcolor"_dump_modify.html command. - -The bond {width} value can be a numeric value or {atom} or {type} (or -{none} as indicated above). - -If a numeric value is specified, then all bonds will be drawn as -cylinders with that diameter, e.g. 1.0, which is in whatever distance -"units"_units.html the input script defines, e.g. Angstroms. - -If {atom} is specified for the {width} value, then each bond -will be drawn with a width corresponding to the minimum diameter -of the 2 atoms in the bond. - -If {type} is specified for the {width} value then the diameter of each -bond is determined by its bond type. By default all types have -diameter 0.5. This mapping can be changed by the "dump_modify -bdiam"_dump_modify.html command. - -:line - -The {line} keyword can be used when "atom_style line"_atom_style.html -is used to define particles as line segments, and will draw them as -lines. If this keyword is not used, such particles will be drawn as -spheres, the same as if they were regular atoms. The only setting -currently allowed for the {color} value is {type}, which will color -the lines according to the atom type of the particle. By default the -mapping of types to colors is as follows: - -type 1 = red -type 2 = green -type 3 = blue -type 4 = yellow -type 5 = aqua -type 6 = cyan :ul - -and repeats itself for types > 6. There is not yet an option to -change this via the "dump_modify"_dump_modify.html command. - -The line {width} can only be a numeric value, which specifies that all -lines will be drawn as cylinders with that diameter, e.g. 1.0, which -is in whatever distance "units"_units.html the input script defines, -e.g. Angstroms. - -:line - -The {tri} keyword can be used when "atom_style tri"_atom_style.html is -used to define particles as triangles, and will draw them as triangles -or edges (3 lines) or both, depending on the setting for {tflag}. If -edges are drawn, the {width} setting determines the diameters of the -line segments. If this keyword is not used, triangle particles will -be drawn as spheres, the same as if they were regular atoms. The only -setting currently allowed for the {color} value is {type}, which will -color the triangles according to the atom type of the particle. By -default the mapping of types to colors is as follows: - -type 1 = red -type 2 = green -type 3 = blue -type 4 = yellow -type 5 = aqua -type 6 = cyan :ul - -and repeats itself for types > 6. There is not yet an option to -change this via the "dump_modify"_dump_modify.html command. - -:line - -The {body} keyword can be used when "atom_style body"_atom_style.html -is used to define body particles with internal state -(e.g. sub-particles), and will drawn them in a manner specific to the -body style. If this keyword is not used, such particles will be drawn -as spheres, the same as if they were regular atoms. - -The "Howto body"_Howto_body.html doc page describes the body styles -LAMMPS currently supports, and provides more details as to the kind of -body particles they represent and how they are drawn by this dump -image command. For all the body styles, individual atoms can be -either a body particle or a usual point (non-body) particle. Non-body -particles will be drawn the same way they would be as a regular atom. -The {bflag1} and {bflag2} settings are numerical values which are -passed to the body style to affect how the drawing of a body particle -is done. See the "Howto body"_Howto_body.html doc page for a -description of what these parameters mean for each body style. - -The only setting currently allowed for the {color} value is {type}, -which will color the body particles according to the atom type of the -particle. By default the mapping of types to colors is as follows: - -type 1 = red -type 2 = green -type 3 = blue -type 4 = yellow -type 5 = aqua -type 6 = cyan :ul - -and repeats itself for types > 6. There is not yet an option to -change this via the "dump_modify"_dump_modify.html command. - -:line - -The {fix} keyword can be used with a "fix"_fix.html that produces -objects to be drawn. - -The {fflag1} and {fflag2} settings are numerical values which are -passed to the fix to affect how the drawing of its objects is done. -See the individual fix doc page for a description of what these -parameters mean for a particular fix. - -The only setting currently allowed for the {color} value is {type}, -which will color the fix objects according to their type. By default -the mapping of types to colors is as follows: - -type 1 = red -type 2 = green -type 3 = blue -type 4 = yellow -type 5 = aqua -type 6 = cyan :ul - -and repeats itself for types > 6. There is not yet an option to -change this via the "dump_modify"_dump_modify.html command. - -:line - -The {size} keyword sets the width and height of the created images, -i.e. the number of pixels in each direction. - -:line - -The {view}, {center}, {up}, {zoom}, and {persp} values determine how -3d simulation space is mapped to the 2d plane of the image. Basically -they control how the simulation box appears in the image. - -All of the {view}, {center}, {up}, {zoom}, and {persp} values can be -specified as numeric quantities, whose meaning is explained below. -Any of them can also be specified as an "equal-style -variable"_variable.html, by using v_name as the value, where "name" is -the variable name. In this case the variable will be evaluated on the -timestep each image is created to create a new value. If the -equal-style variable is time-dependent, this is a means of changing -the way the simulation box appears from image to image, effectively -doing a pan or fly-by view of your simulation. - -The {view} keyword determines the viewpoint from which the simulation -box is viewed, looking towards the {center} point. The {theta} value -is the vertical angle from the +z axis, and must be an angle from 0 to -180 degrees. The {phi} value is an azimuthal angle around the z axis -and can be positive or negative. A value of 0.0 is a view along the -+x axis, towards the {center} point. If {theta} or {phi} are -specified via variables, then the variable values should be in -degrees. - -The {center} keyword determines the point in simulation space that -will be at the center of the image. {Cx}, {Cy}, and {Cz} are -specified as fractions of the box dimensions, so that (0.5,0.5,0.5) is -the center of the simulation box. These values do not have to be -between 0.0 and 1.0, if you want the simulation box to be offset from -the center of the image. Note, however, that if you choose strange -values for {Cx}, {Cy}, or {Cz} you may get a blank image. Internally, -{Cx}, {Cy}, and {Cz} are converted into a point in simulation space. -If {flag} is set to "s" for static, then this conversion is done once, -at the time the dump command is issued. If {flag} is set to "d" for -dynamic then the conversion is performed every time a new image is -created. If the box size or shape is changing, this will adjust the -center point in simulation space. - -The {up} keyword determines what direction in simulation space will be -"up" in the image. Internally it is stored as a vector that is in the -plane perpendicular to the view vector implied by the {theta} and -{pni} values, and which is also in the plane defined by the view -vector and user-specified up vector. Thus this internal vector is -computed from the user-specified {up} vector as - -up_internal = view cross (up cross view) :pre - -This means the only restriction on the specified {up} vector is that -it cannot be parallel to the {view} vector, implied by the {theta} and -{phi} values. - -The {zoom} keyword scales the size of the simulation box as it appears -in the image. The default {zfactor} value of 1 should display an -image mostly filled by the atoms in the simulation box. A {zfactor} > -1 will make the simulation box larger; a {zfactor} < 1 will make it -smaller. {Zfactor} must be a value > 0.0. - -The {persp} keyword determines how much depth perspective is present -in the image. Depth perspective makes lines that are parallel in -simulation space appear non-parallel in the image. A {pfactor} value -of 0.0 means that parallel lines will meet at infinity (1.0/pfactor), -which is an orthographic rendering with no perspective. A {pfactor} -value between 0.0 and 1.0 will introduce more perspective. A {pfactor} -value > 1 will create a highly skewed image with a large amount of -perspective. - -NOTE: The {persp} keyword is not yet supported as an option. - -:line - -The {box} keyword determines if and how the simulation box boundaries -are rendered as thin cylinders in the image. If {no} is set, then the -box boundaries are not drawn and the {diam} setting is ignored. If -{yes} is set, the 12 edges of the box are drawn, with a diameter that -is a fraction of the shortest box length in x,y,z (for 3d) or x,y (for -2d). The color of the box boundaries can be set with the "dump_modify -boxcolor"_dump_modify.html command. - -The {axes} keyword determines if and how the coordinate axes are -rendered as thin cylinders in the image. If {no} is set, then the -axes are not drawn and the {length} and {diam} settings are ignored. -If {yes} is set, 3 thin cylinders are drawn to represent the x,y,z -axes in colors red,green,blue. The origin of these cylinders will be -offset from the lower left corner of the box by 10%. The {length} -setting determines how long the cylinders will be as a fraction of the -respective box lengths. The {diam} setting determines their thickness -as a fraction of the shortest box length in x,y,z (for 3d) or x,y (for -2d). - -The {subbox} keyword determines if and how processor sub-domain -boundaries are rendered as thin cylinders in the image. If {no} is -set (default), then the sub-domain boundaries are not drawn and the -{diam} setting is ignored. If {yes} is set, the 12 edges of each -processor sub-domain are drawn, with a diameter that is a fraction of -the shortest box length in x,y,z (for 3d) or x,y (for 2d). The color -of the sub-domain boundaries can be set with the "dump_modify -boxcolor"_dump_modify.html command. - -:line - -The {shiny} keyword determines how shiny the objects rendered in the -image will appear. The {sfactor} value must be a value 0.0 <= -{sfactor} <= 1.0, where {sfactor} = 1 is a highly reflective surface -and {sfactor} = 0 is a rough non-shiny surface. - -The {ssao} keyword turns on/off a screen space ambient occlusion -(SSAO) model for depth shading. If {yes} is set, then atoms further -away from the viewer are darkened via a randomized process, which is -perceived as depth. The calculation of this effect can increase the -cost of computing the image by roughly 2x. The strength of the effect -can be scaled by the {dfactor} parameter. If {no} is set, no depth -shading is performed. - -:line - -A series of JPEG, PNG, or PPM images can be converted into a movie -file and then played as a movie using commonly available tools. Using -dump style {movie} automates this step and avoids the intermediate -step of writing (many) image snapshot file. But LAMMPS has to be -compiled with -DLAMMPS_FFMPEG and an FFmpeg executable have to be -installed. - -To manually convert JPEG, PNG or PPM files into an animated GIF or -MPEG or other movie file you can use: - -a) Use the ImageMagick convert program. :ulb,l - -% convert *.jpg foo.gif -% convert -loop 1 *.ppm foo.mpg :pre - -Animated GIF files from ImageMagick are not optimized. You can use -a program like gifsicle to optimize and thus massively shrink them. -MPEG files created by ImageMagick are in MPEG-1 format with a rather -inefficient compression and low quality compared to more modern -compression styles like MPEG-4, H.264, VP8, VP9, H.265 and so on. - -b) Use QuickTime. :l - -Select "Open Image Sequence" under the File menu Load the images into -QuickTime to animate them Select "Export" under the File menu Save the -movie as a QuickTime movie (*.mov) or in another format. QuickTime -can generate very high quality and efficiently compressed movie -files. Some of the supported formats require to buy a license and some -are not readable on all platforms until specific runtime libraries are -installed. - -c) Use FFmpeg :l - -FFmpeg is a command line tool that is available on many platforms and -allows extremely flexible encoding and decoding of movies. - -cat snap.*.jpg | ffmpeg -y -f image2pipe -c:v mjpeg -i - -b:v 2000k movie.m4v -cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi :pre - -Front ends for FFmpeg exist for multiple platforms. For more -information see the "FFmpeg homepage"_http://www.ffmpeg.org/ - -:ule - -:line - -Play the movie: - -a) Use your browser to view an animated GIF movie. :ulb,l - -Select "Open File" under the File menu -Load the animated GIF file - -b) Use the freely available mplayer or ffplay tool to view a -movie. Both are available for multiple OSes and support a large -variety of file formats and decoders. :l - -% mplayer foo.mpg -% ffplay bar.avi :pre - -c) Use the "Pizza.py"_http://www.sandia.gov/~sjplimp/pizza.html -"animate tool"_http://www.sandia.gov/~sjplimp/pizza/doc/animate.html, -which works directly on a series of image files. :l - -a = animate("foo*.jpg") :pre - -d) QuickTime and other Windows- or MacOS-based media players can -obviously play movie files directly. Similarly for corresponding tools -bundled with Linux desktop environments. However, due to licensing -issues with some file formats, the formats may require installing -additional libraries, purchasing a license, or may not be -supported. :l -:ule - -:line - -See the "Modify"_Modify.html doc page for information on how to add -new compute and fix styles to LAMMPS to calculate per-atom quantities -which could then be output into dump files. - -:line - -[Restrictions:] - -To write JPEG images, you must use the -DLAMMPS_JPEG switch when -building LAMMPS and link with a JPEG library. To write PNG images, you -must use the -DLAMMPS_PNG switch when building LAMMPS and link with a -PNG library. - -To write {movie} dumps, you must use the -DLAMMPS_FFMPEG switch when -building LAMMPS and have the FFmpeg executable available on the -machine where LAMMPS is being run. Typically it's name is lowercase, -i.e. ffmpeg. - -See the "Build settings"_Build_settings.html doc page for details. - -Note that since FFmpeg is run as an external program via a pipe, -LAMMPS has limited control over its execution and no knowledge about -errors and warnings printed by it. Those warnings and error messages -will be printed to the screen only. Due to the way image data is -communicated to FFmpeg, it will often print the message - -pipe:: Input/output error :pre - -which can be safely ignored. Other warnings -and errors have to be addressed according to the FFmpeg documentation. -One known issue is that certain movie file formats (e.g. MPEG level 1 -and 2 format streams) have video bandwidth limits that can be crossed -when rendering too large of image sizes. Typical warnings look like -this: - -\[mpeg @ 0x98b5e0\] packet too large, ignoring buffer limits to mux it -\[mpeg @ 0x98b5e0\] buffer underflow st=0 bufi=281407 size=285018 -\[mpeg @ 0x98b5e0\] buffer underflow st=0 bufi=283448 size=285018 :pre - -In this case it is recommended to either reduce the size of the image -or encode in a different format that is also supported by your copy of -FFmpeg, and which does not have this limitation (e.g. .avi, .mkv, -mp4). - - -[Related commands:] - -"dump"_dump.html, "dump_modify"_dump_modify.html, "undump"_undump.html - -[Default:] - -The defaults for the keywords are as follows: - -adiam = not specified (use diameter setting) -atom = yes -bond = none none (if no bonds in system) -bond = atom 0.5 (if bonds in system) -size = 512 512 -view = 60 30 (for 3d) -view = 0 0 (for 2d) -center = s 0.5 0.5 0.5 -up = 0 0 1 (for 3d) -up = 0 1 0 (for 2d) -zoom = 1.0 -persp = 0.0 -box = yes 0.02 -axes = no 0.0 0.0 -subbox no 0.0 -shiny = 1.0 -ssao = no :ul diff --git a/doc/txt/dump_modify.txt b/doc/txt/dump_modify.txt deleted file mode 100644 index 63a3476d300999690da4d544cb2ea2d595252fb1..0000000000000000000000000000000000000000 --- a/doc/txt/dump_modify.txt +++ /dev/null @@ -1,1138 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dump_modify command :h3 - -[Syntax:] - -dump_modify dump-ID keyword values ... :pre - -dump-ID = ID of dump to modify :ulb,l -one or more keyword/value pairs may be appended :l -these keywords apply to various dump styles :l -keyword = {append} or {at} or {buffer} or {delay} or {element} or {every} or {fileper} or {first} or {flush} or {format} or {image} or {label} or {maxfiles} or {nfile} or {pad} or {pbc} or {precision} or {region} or {refresh} or {scale} or {sfactor} or {sort} or {tfactor} or {thermo} or {thresh} or {time} or {units} or {unwrap} :l - {append} arg = {yes} or {no} - {at} arg = N - N = index of frame written upon first dump - {buffer} arg = {yes} or {no} - {delay} arg = Dstep - Dstep = delay output until this timestep - {element} args = E1 E2 ... EN, where N = # of atom types - E1,...,EN = element name, e.g. C or Fe or Ga - {every} arg = N - N = dump every this many timesteps - N can be a variable (see below) - {fileper} arg = Np - Np = write one file for every this many processors - {first} arg = {yes} or {no} - {flush} arg = {yes} or {no} - {format} args = {line} string, {int} string, {float} string, M string, or {none} - string = C-style format string - M = integer from 1 to N, where N = # of per-atom quantities being output - {image} arg = {yes} or {no} - {label} arg = string - string = character string (e.g. BONDS) to use in header of dump local file - {maxfiles} arg = Fmax - Fmax = keep only the most recent {Fmax} snapshots (one snapshot per file) - {nfile} arg = Nf - Nf = write this many files, one from each of Nf processors - {pad} arg = Nchar = # of characters to convert timestep to - {pbc} arg = {yes} or {no} = remap atoms via periodic boundary conditions - {precision} arg = power-of-10 value from 10 to 1000000 - {region} arg = region-ID or "none" - {refresh} arg = c_ID = compute ID that supports a refresh operation - {scale} arg = {yes} or {no} - {sfactor} arg = coordinate scaling factor (> 0.0) - {sort} arg = {off} or {id} or N or -N - off = no sorting of per-atom lines within a snapshot - id = sort per-atom lines by atom ID - N = sort per-atom lines in ascending order by the Nth column - -N = sort per-atom lines in descending order by the Nth column - {tfactor} arg = time scaling factor (> 0.0) - {thermo} arg = {yes} or {no} - {time} arg = {yes} or {no} - {thresh} args = attribute operator value - attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style - operator = "<" or "<=" or ">" or ">=" or "==" or "!=" or "|^" - value = numeric value to compare to, or LAST - these 3 args can be replaced by the word "none" to turn off thresholding - {units} arg = {yes} or {no} - {unwrap} arg = {yes} or {no} :pre -these keywords apply only to the {image} and {movie} "styles"_dump_image.html :l -keyword = {acolor} or {adiam} or {amap} or {backcolor} or {bcolor} or {bdiam} or {boxcolor} or {color} or {bitrate} or {framerate} :l - {acolor} args = type color - type = atom type or range of types (see below) - color = name of color or color1/color2/... - {adiam} args = type diam - type = atom type or range of types (see below) - diam = diameter of atoms of that type (distance units) - {amap} args = lo hi style delta N entry1 entry2 ... entryN - lo = number or {min} = lower bound of range of color map - hi = number or {max} = upper bound of range of color map - style = 2 letters = "c" or "d" or "s" plus "a" or "f" - "c" for continuous - "d" for discrete - "s" for sequential - "a" for absolute - "f" for fractional - delta = binsize (only used for style "s", otherwise ignored) - binsize = range is divided into bins of this width - N = # of subsequent entries - entry = value color (for continuous style) - value = number or {min} or {max} = single value within range - color = name of color used for that value - entry = lo hi color (for discrete style) - lo/hi = number or {min} or {max} = lower/upper bound of subset of range - color = name of color used for that subset of values - entry = color (for sequential style) - color = name of color used for a bin of values - {backcolor} arg = color - color = name of color for background - {bcolor} args = type color - type = bond type or range of types (see below) - color = name of color or color1/color2/... - {bdiam} args = type diam - type = bond type or range of types (see below) - diam = diameter of bonds of that type (distance units) - {boxcolor} arg = color - color = name of color for simulation box lines and processor sub-domain lines - {color} args = name R G B - name = name of color - R,G,B = red/green/blue numeric values from 0.0 to 1.0 - {bitrate} arg = rate - rate = target bitrate for movie in kbps - {framerate} arg = fps - fps = frames per second for movie :pre -:ule - -[Examples:] - -dump_modify 1 format line "%d %d %20.15g %g %g" scale yes -dump_modify 1 format float %20.15g scale yes -dump_modify myDump image yes scale no flush yes -dump_modify 1 region mySphere thresh x < 0.0 thresh epair >= 3.2 -dump_modify xtcdump precision 10000 sfactor 0.1 -dump_modify 1 every 1000 nfile 20 -dump_modify 1 every v_myVar -dump_modify 1 amap min max cf 0.0 3 min green 0.5 yellow max blue boxcolor red :pre - -[Description:] - -Modify the parameters of a previously defined dump command. Not all -parameters are relevant to all dump styles. - -As explained on the "dump"_dump.html doc page, the {atom/mpiio}, -{custom/mpiio}, and {xyz/mpiio} dump styles are identical in command -syntax and in the format of the dump files they create, to the -corresponding styles without "mpiio", except the single dump file they -produce is written in parallel via the MPI-IO library. Thus if a -dump_modify option below is valid for the {atom} style, it is also -valid for the {atom/mpiio} style, and similarly for the other styles -which allow for use of MPI-IO. - -:line - -These keywords apply to various dump styles, including the "dump -image"_dump_image.html and "dump movie"_dump_image.html styles. The -description gives details. - -:line - -The {append} keyword applies to all dump styles except {cfg} and {xtc} -and {dcd}. It also applies only to text output files, not to binary -or gzipped or image/movie files. If specified as {yes}, then dump -snapshots are appended to the end of an existing dump file. If -specified as {no}, then a new dump file will be created which will -overwrite an existing file with the same name. - -:line - -The {at} keyword only applies to the {netcdf} dump style. It can only -be used if the {append yes} keyword is also used. The {N} argument is -the index of which frame to append to. A negative value can be -specified for {N}, which means a frame counted from the end of the -file. The {at} keyword can only be used if the dump_modify command is -before the first command that causes dump snapshots to be output, -e.g. a "run"_run.html or "minimize"_minimize.html command. Once the -dump file has been opened, this keyword has no further effect. - -:line - -The {buffer} keyword applies only to dump styles {atom}, {cfg}, -{custom}, {local}, and {xyz}. It also applies only to text output -files, not to binary or gzipped files. If specified as {yes}, which -is the default, then each processor writes its output into an internal -text buffer, which is then sent to the processor(s) which perform file -writes, and written by those processors(s) as one large chunk of text. -If specified as {no}, each processor sends its per-atom data in binary -format to the processor(s) which perform file wirtes, and those -processor(s) format and write it line by line into the output file. - -The buffering mode is typically faster since each processor does the -relatively expensive task of formatting the output for its own atoms. -However it requires about twice the memory (per processor) for the -extra buffering. - -:line - -The {delay} keyword applies to all dump styles. No snapshots will be -output until the specified {Dstep} timestep or later. Specifying -{Dstep} < 0 is the same as turning off the delay setting. This is a -way to turn off unwanted output early in a simulation, for example, -during an equilibration phase. - -:line - -The {element} keyword applies only to the dump {cfg}, {xyz}, and -{image} styles. It associates element names (e.g. H, C, Fe) with -LAMMPS atom types. See the list of element names at the bottom of -this page. - -In the case of dump {cfg}, this allows the "AtomEye"_atomeye -visualization package to read the dump file and render atoms with the -appropriate size and color. - -In the case of dump {image}, the output images will follow the same -"AtomEye"_atomeye convention. An element name is specified for each -atom type (1 to Ntype) in the simulation. The same element name can -be given to multiple atom types. - -In the case of {xyz} format dumps, there are no restrictions to what -label can be used as an element name. Any white-space separated text -will be accepted. - -:link(atomeye,http://mt.seas.upenn.edu/Archive/Graphics/A) - -:line - -The {every} keyword changes the dump frequency originally specified by -the "dump"_dump.html command to a new value. The every keyword can be -specified in one of two ways. It can be a numeric value in which case -it must be > 0. Or it can be an "equal-style variable"_variable.html, -which should be specified as v_name, where name is the variable name. - -In this case, the variable is evaluated at the beginning of a run to -determine the next timestep at which a dump snapshot will be written -out. On that timestep the variable will be evaluated again to -determine the next timestep, etc. Thus the variable should return -timestep values. See the stagger() and logfreq() and stride() math -functions for "equal-style variables"_variable.html, as examples of -useful functions to use in this context. Other similar math functions -could easily be added as options for "equal-style -variables"_variable.html. Also see the next() function, which allows -use of a file-style variable which reads successive values from a -file, each time the variable is evaluated. Used with the {every} -keyword, if the file contains a list of ascending timesteps, you can -output snapshots whenever you wish. - -Note that when using the variable option with the {every} keyword, you -need to use the {first} option if you want an initial snapshot written -to the dump file. The {every} keyword cannot be used with the dump -{dcd} style. - -For example, the following commands will -write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc: - -variable s equal logfreq(10,3,10) -dump 1 all atom 100 tmp.dump -dump_modify 1 every v_s first yes :pre - -The following commands would write snapshots at the timesteps listed -in file tmp.times: - -variable f file tmp.times -variable s equal next(f) -dump 1 all atom 100 tmp.dump -dump_modify 1 every v_s :pre - -NOTE: When using a file-style variable with the {every} keyword, the -file of timesteps must list a first timestep that is beyond the -current timestep (e.g. it cannot be 0). And it must list one or more -timesteps beyond the length of the run you perform. This is because -the dump command will generate an error if the next timestep it reads -from the file is not a value greater than the current timestep. Thus -if you wanted output on steps 0,15,100 of a 100-timestep run, the file -should contain the values 15,100,101 and you should also use the -dump_modify first command. Any final value > 100 could be used in -place of 101. - -:line - -The {first} keyword determines whether a dump snapshot is written on -the very first timestep after the dump command is invoked. This will -always occur if the current timestep is a multiple of N, the frequency -specified in the "dump"_dump.html command, including timestep 0. But -if this is not the case, a dump snapshot will only be written if the -setting of this keyword is {yes}. If it is {no}, which is the -default, then it will not be written. - -:line - -The {flush} keyword determines whether a flush operation is invoked -after a dump snapshot is written to the dump file. A flush insures -the output in that file is current (no buffering by the OS), even if -LAMMPS halts before the simulation completes. Flushes cannot be -performed with dump style {xtc}. - -:line - -The {format} keyword can be used to change the default numeric format -output by the text-based dump styles: {atom}, {custom}, {cfg}, and -{xyz} styles, and their MPIIO variants. Only the {line} or {none} -options can be used with the {atom} and {xyz} styles. - -All the specified format strings are C-style formats, e.g. as used by -the C/C++ printf() command. The {line} keyword takes a single -argument which is the format string for an entire line of output for -each atom (do not include a trailing "\n"), with N fields, which you -must enclose in quotes if it is more than one field. The {int} and -{float} keywords take a single format argument and are applied to all -integer or floating-point quantities output. The setting for {M -string} also takes a single format argument which is used for the Mth -value output in each line, e.g. the 5th column is output in high -precision for "format 5 %20.15g". - -NOTE: When using the {line} keyword for the {cfg} style, the first two -fields (atom ID and type) are not actually written into the CFG file, -however you must include formats for them in the format string. - -The {format} keyword can be used multiple times. The precedence is -that for each value in a line of output, the {M} format (if specified) -is used, else the {int} or {float} setting (if specified) is used, -else the {line} setting (if specified) for that value is used, else -the default setting is used. A setting of {none} clears all previous -settings, reverting all values to their default format. - -NOTE: Atom and molecule IDs are stored internally as 4-byte or 8-byte -signed integers, depending on how LAMMPS was compiled. When -specifying the {format int} option you can use a "%d"-style format -identifier in the format string and LAMMPS will convert this to the -corresponding 8-byte form if it is needed when outputting those -values. However, when specifying the {line} option or {format M -string} option for those values, you should specify a format string -appropriate for an 8-byte signed integer, e.g. one with "%ld", if -LAMMPS was compiled with the -DLAMMPS_BIGBIG option for 8-byte IDs. - -NOTE: Any value written to a text-based dump file that is a per-atom -quantity calculated by a "compute"_compute.html or "fix"_fix.html is -stored internally as a floating-point value. If the value is actually -an integer and you wish it to appear in the text dump file as a -(large) integer, then you need to use an appropriate format. For -example, these commands: - -compute 1 all property/local batom1 batom2 -dump 1 all local 100 tmp.bonds index c_1\[1\] c_1\[2\] -dump_modify 1 format "%d %0.0f %0.0f" :pre - -will output the two atom IDs for atoms in each bond as integers. If -the dump_modify command were omitted, they would appear as -floating-point values, assuming they were large integers (more than 6 -digits). The "index" keyword should use the "%d" format since it is -not generated by a compute or fix, and is stored internally as an -integer. - -:line - -The {fileper} keyword is documented below with the {nfile} keyword. - -:line - -The {image} keyword applies only to the dump {atom} style. If the -image value is {yes}, 3 flags are appended to each atom's coords which -are the absolute box image of the atom in each dimension. For -example, an x image flag of -2 with a normalized coord of 0.5 means -the atom is in the center of the box, but has passed through the box -boundary 2 times and is really 2 box lengths to the left of its -current coordinate. Note that for dump style {custom} these various -values can be printed in the dump file by using the appropriate atom -attributes in the dump command itself. - -:line - -The {label} keyword applies only to the dump {local} style. When -it writes local information, such as bond or angle topology -to a dump file, it will use the specified {label} to format -the header. By default this includes 2 lines: - -ITEM: NUMBER OF ENTRIES -ITEM: ENTRIES ... :pre - -The word "ENTRIES" will be replaced with the string specified, -e.g. BONDS or ANGLES. - -:line - -The {maxfiles} keyword can only be used when a '*' wildcard is -included in the dump file name, i.e. when writing a new file(s) for -each snapshot. The specified {Fmax} is how many snapshots will be -kept. Once this number is reached, the file(s) containing the oldest -snapshot is deleted before a new dump file is written. If the -specified {Fmax} <= 0, then all files are retained. - -This can be useful for debugging, especially if you don't know on what -timestep something bad will happen, e.g. when LAMMPS will exit with an -error. You can dump every timestep, and limit the number of dump -files produced, even if you run for 1000s of steps. - -:line - -The {nfile} or {fileper} keywords can be used in conjunction with the -"%" wildcard character in the specified dump file name, for all dump -styles except the {dcd}, {image}, {movie}, {xtc}, and {xyz} styles -(for which "%" is not allowed). As explained on the "dump"_dump.html -command doc page, the "%" character causes the dump file to be written -in pieces, one piece for each of P processors. By default P = the -number of processors the simulation is running on. The {nfile} or -{fileper} keyword can be used to set P to a smaller value, which can -be more efficient when running on a large number of processors. - -The {nfile} keyword sets P to the specified Nf value. For example, if -Nf = 4, and the simulation is running on 100 processors, 4 files will -be written, by processors 0,25,50,75. Each will collect information -from itself and the next 24 processors and write it to a dump file. - -For the {fileper} keyword, the specified value of Np means write one -file for every Np processors. For example, if Np = 4, every 4th -processor (0,4,8,12,etc) will collect information from itself and the -next 3 processors and write it to a dump file. - -:line - -The {pad} keyword only applies when the dump filename is specified -with a wildcard "*" character which becomes the timestep. If {pad} is -0, which is the default, the timestep is converted into a string of -unpadded length, e.g. 100 or 12000 or 2000000. When {pad} is -specified with {Nchar} > 0, the string is padded with leading zeroes -so they are all the same length = {Nchar}. For example, pad 7 would -yield 0000100, 0012000, 2000000. This can be useful so that -post-processing programs can easily read the files in ascending -timestep order. - -:line - -The {pbc} keyword applies to all the dump styles. As explained on the -"dump"_dump.html doc page, atom coordinates in a dump file may be -slightly outside the simulation box. This is because periodic -boundary conditions are enforced only on timesteps when neighbor lists -are rebuilt, which will not typically coincide with the timesteps dump -snapshots are written. If the setting of this keyword is set to -{yes}, then all atoms will be remapped to the periodic box before the -snapshot is written, then restored to their original position. If it -is set to {no} they will not be. The {no} setting is the default -because it requires no extra computation. - -:line - -The {precision} keyword only applies to the dump {xtc} style. A -specified value of N means that coordinates are stored to 1/N -nanometer accuracy, e.g. for N = 1000, the coordinates are written to -1/1000 nanometer accuracy. - -:line - -The {refresh} keyword only applies to the dump {custom}, {cfg}, -{image}, and {movie} styles. It allows an "incremental" dump file to -be written, by refreshing a compute that is used as a threshold for -determining which atoms are included in a dump snapshot. The -specified {c_ID} gives the ID of the compute. It is prefixed by "c_" -to indicate a compute, which is the only current option. At some -point, other options may be added, e.g. fixes or variables. - -NOTE: This keyword can only be specified once for a dump. Refreshes -of multiple computes cannot yet be performed. - -The definition and motivation of an incremental dump file is as -follows. Instead of outputting all atoms at each snapshot (with some -associated values), you may only wish to output the subset of atoms -with a value that has changed in some way compared to the value the -last time that atom was output. In some scenarios this can result in -a dramatically smaller dump file. If desired, by post-processing the -sequence of snapshots, the values for all atoms at all timesteps can -be inferred. - -A concrete example is a simulation of atom diffusion in a solid, -represented as atoms on a lattice. Diffusive hops are rare. Imagine -that when a hop occurs an atom moves more than a distance {Dhop}. For -any snapshot we only want to output atoms that have hopped since the -last snapshot. This can be accomplished with something the following -commands: - -variable Dhop equal 0.6 -variable check atom "c_dsp\[4\] > v_Dhop" -compute dsp all displace/atom refresh check -dump 1 all custom 20 tmp.dump id type x y z -dump_modify 1 append yes thresh c_dsp\[4\] > $\{Dhop\} refresh c_dsp :pre - -The "compute displace/atom"_compute_displace_atom.html command -calculates the displacement of each atom from its reference position. -The "4" index is the scalar displacement; 1,2,3 are the xyz components -of the displacement. The "dump_modify thresh"_dump_modify.html -command will cause only atoms that have displaced more than 0.6 -Angstroms to be output on a given snapshot (assuming metal units). -However, note that when an atom is output, we also need to update the -reference position for that atom to its new coordinates. So that it -will not be output in every snapshot thereafter. That reference -position is stored by "compute -displace/atom"_compute_displace_atom.html. So the dump_modify -{refresh} option triggers a call to compute displace/atom at the end -of every dump to perform that update. The {refresh check} option -shown as part of the "compute -displace/atom"_compute_displace_atom.html command enables the compute -to respond to the call from the dump command, and update the -appropriate reference positions. This is done be defining an -"atom-style variable"_variable.html, {check} in this example, which -calculates a Boolean value (0 or 1) for each atom, based on the same -criterion used by dump_modify thresh. - -See the "compute displace/atom"_compute_displace_atom.html command for -more details, including an example of how to produce output that -includes an initial snapshot with the reference position of all atoms. - -Note that only computes with a {refresh} option will work with -dump_modify refresh. See individual compute doc pages for details. -Currently, only compute displace/atom supports this option. Others -may be added at some point. If you use a compute that doesn't support -refresh operations, LAMMPS will not complain; dump_modify refresh will -simply do nothing. - -:line - -The {region} keyword only applies to the dump {custom}, {cfg}, -{image}, and {movie} styles. If specified, only atoms in the region -will be written to the dump file or included in the image/movie. Only -one region can be applied as a filter (the last one specified). See -the "region"_region.html command for more details. Note that a region -can be defined as the "inside" or "outside" of a geometric shape, and -it can be the "union" or "intersection" of a series of simpler -regions. - -:line - -The {scale} keyword applies only to the dump {atom} style. A scale -value of {yes} means atom coords are written in normalized units from -0.0 to 1.0 in each box dimension. If the simulation box is triclinic -(tilted), then all atom coords will still be between 0.0 and 1.0. A -value of {no} means they are written in absolute distance units -(e.g. Angstroms or sigma). - -:line - -The {sfactor} and {tfactor} keywords only apply to the dump {xtc} -style. They allow customization of the unit conversion factors used -when writing to XTC files. By default they are initialized for -whatever "units"_units.html style is being used, to write out -coordinates in nanometers and time in picoseconds. I.e. for {real} -units, LAMMPS defines {sfactor} = 0.1 and {tfactor} = 0.001, since the -Angstroms and fmsec used by {real} units are 0.1 nm and 0.001 psec -respectively. If you are using a units system with distance and time -units far from nm and psec, you may wish to write XTC files with -different units, since the compression algorithm used in XTC files is -most effective when the typical magnitude of position data is between -10.0 and 0.1. - -:line - -The {sort} keyword determines whether lines of per-atom output in a -snapshot are sorted or not. A sort value of {off} means they will -typically be written in indeterminate order, either in serial or -parallel. This is the case even in serial if the "atom_modify -sort"_atom_modify.html option is turned on, which it is by default, to -improve performance. A sort value of {id} means sort the output by -atom ID. A sort value of N or -N means sort the output by the value -in the Nth column of per-atom info in either ascending or descending -order. - -The dump {local} style cannot be sorted by atom ID, since there are -typically multiple lines of output per atom. Some dump styles, such -as {dcd} and {xtc}, require sorting by atom ID to format the output -file correctly. If multiple processors are writing the dump file, via -the "%" wildcard in the dump filename, then sorting cannot be -performed. - -NOTE: Unless it is required by the dump style, sorting dump file -output requires extra overhead in terms of CPU and communication cost, -as well as memory, versus unsorted output. - -:line - -The {thermo} keyword only applies the dump {netcdf} style. It -triggers writing of "thermo"_thermo.html information to the dump file -alongside per-atom data. The values included in the dump file are -identical to the values specified by "thermo_style"_thermo_style.html. - -:line - -The {thresh} keyword only applies to the dump {custom}, {cfg}, -{image}, and {movie} styles. Multiple thresholds can be specified. -Specifying {none} turns off all threshold criteria. If thresholds are -specified, only atoms whose attributes meet all the threshold criteria -are written to the dump file or included in the image. The possible -attributes that can be tested for are the same as those that can be -specified in the "dump custom"_dump.html command, with the exception -of the {element} attribute, since it is not a numeric value. Note -that a different attributes can be used than those output by the "dump -custom"_dump.html command. E.g. you can output the coordinates and -stress of atoms whose energy is above some threshold. - -If an atom-style variable is used as the attribute, then it can -produce continuous numeric values or effective Boolean 0/1 values -which may be useful for the comparison operator. Boolean values can -be generated by variable formulas that use comparison or Boolean math -operators or special functions like gmask() and rmask() and grmask(). -See the "variable"_variable.html command doc page for details. - -The specified value must be a simple numeric value or the word LAST. -If LAST is used, it refers to the value of the attribute the last time -the dump command was invoked to produce a snapshot. This is a way to -only dump atoms whose attribute has changed (or not changed). -Three examples follow. - -dump_modify ... thresh ix != LAST :pre - -This will dump atoms which have crossed the periodic x boundary of the -simulation box since the last dump. (Note that atoms that crossed -once and then crossed back between the two dump timesteps would not be -included.) - -region foo sphere 10 20 10 15 -variable inregion atom rmask(foo) -dump_modify ... thresh v_inregion |^ LAST :pre - -This will dump atoms which crossed the boundary of the spherical -region since the last dump. - -variable charge atom "(q > 0.5) || (q < -0.5)" -dump_modify ... thresh v_charge |^ LAST :pre - -This will dump atoms whose charge has changed from an absolute value -less than 1/2 to greater than 1/2 (or vice versa) since the last dump. -E.g. due to reactions and subsequent charge equilibration in a -reactive force field. - -The choice of operators listed above are the usual comparison -operators. The XOR operation (exclusive or) is also included as "|^". -In this context, XOR means that if either the attribute or value is -0.0 and the other is non-zero, then the result is "true" and the -threshold criterion is met. Otherwise it is not met. - -:line - -The {time} keyword only applies to the dump {atom}, {custom}, and -{local} styles (and their COMPRESS package versions {atom/gz}, -{custom/gz} and {local/gz}). If set to {yes}, each frame will will -contain two extra lines before the "ITEM: TIMESTEP" entry: - -ITEM: TIME -\ :pre - -This will output the current elapsed simulation time in current -time units equivalent to the "thermo keyword"_thermo_style.html {time}. -This is to simplify post-processing of trajectories using a variable time -step, e.g. when using "fix dt/reset"_fix_dt_reset.html. -The default setting is {no}. - -:line - -The {units} keyword only applies to the dump {atom}, {custom}, and -{local} styles (and their COMPRESS package versions {atom/gz}, -{custom/gz} and {local/gz}). If set to {yes}, each individual dump -file will contain two extra lines at the very beginning with: - -ITEM: UNITS -\ :pre - -This will output the current selected "units"_units.html style -to the dump file and thus allows visualization and post-processing -tools to determine the choice of units of the data in the dump file. -The default setting is {no}. - -:line - -The {unwrap} keyword only applies to the dump {dcd} and {xtc} styles. -If set to {yes}, coordinates will be written "unwrapped" by the image -flags for each atom. Unwrapped means that if the atom has passed through -a periodic boundary one or more times, the value is printed for what -the coordinate would be if it had not been wrapped back into the -periodic box. Note that these coordinates may thus be far outside the -box size stored with the snapshot. - -:line - -These keywords apply only to the "dump image"_dump_image.html and -"dump movie"_dump_image.html styles. Any keyword that affects an -image, also affects a movie, since the movie is simply a collection of -images. Some of the keywords only affect the "dump -movie"_dump_image.html style. The descriptions give details. - -:line - -The {acolor} keyword can be used with the "dump image"_dump_image.html -command, when its atom color setting is {type}, to set the color that -atoms of each type will be drawn in the image. - -The specified {type} should be an integer from 1 to Ntypes = the -number of atom types. A wildcard asterisk can be used in place of or -in conjunction with the {type} argument to specify a range of atom -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the -number of atom types, then an asterisk with no numeric values means -all types from 1 to N. A leading asterisk means all types from 1 to n -(inclusive). A trailing asterisk means all types from n to N -(inclusive). A middle asterisk means all types from m to n -(inclusive). - -The specified {color} can be a single color which is any of the 140 -pre-defined colors (see below) or a color name defined by the -dump_modify color option. Or it can be two or more colors separated -by a "/" character, e.g. red/green/blue. In the former case, that -color is assigned to all the specified atom types. In the latter -case, the list of colors are assigned in a round-robin fashion to each -of the specified atom types. - -:line - -The {adiam} keyword can be used with the "dump image"_dump_image.html -command, when its atom diameter setting is {type}, to set the size -that atoms of each type will be drawn in the image. The specified -{type} should be an integer from 1 to Ntypes. As with the {acolor} -keyword, a wildcard asterisk can be used as part of the {type} -argument to specify a range of atom types. The specified {diam} is -the size in whatever distance "units"_units.html the input script is -using, e.g. Angstroms. - -:line - -The {amap} keyword can be used with the "dump image"_dump_image.html -command, with its {atom} keyword, when its atom setting is an -atom-attribute, to setup a color map. The color map is used to assign -a specific RGB (red/green/blue) color value to an individual atom when -it is drawn, based on the atom's attribute, which is a numeric value, -e.g. its x-component of velocity if the atom-attribute "vx" was -specified. - -The basic idea of a color map is that the atom-attribute will be -within a range of values, and that range is associated with a series -of colors (e.g. red, blue, green). An atom's specific value (vx = --3.2) can then mapped to the series of colors (e.g. halfway between -red and blue), and a specific color is determined via an interpolation -procedure. - -There are many possible options for the color map, enabled by the -{amap} keyword. Here are the details. - -The {lo} and {hi} settings determine the range of values allowed for -the atom attribute. If numeric values are used for {lo} and/or {hi}, -then values that are lower/higher than that value are set to the -value. I.e. the range is static. If {lo} is specified as {min} or -{hi} as {max} then the range is dynamic, and the lower and/or -upper bound will be calculated each time an image is drawn, based -on the set of atoms being visualized. - -The {style} setting is two letters, such as "ca". The first letter is -either "c" for continuous, "d" for discrete, or "s" for sequential. -The second letter is either "a" for absolute, or "f" for fractional. - -A continuous color map is one in which the color changes continuously -from value to value within the range. A discrete color map is one in -which discrete colors are assigned to sub-ranges of values within the -range. A sequential color map is one in which discrete colors are -assigned to a sequence of sub-ranges of values covering the entire -range. - -An absolute color map is one in which the values to which colors are -assigned are specified explicitly as values within the range. A -fractional color map is one in which the values to which colors are -assigned are specified as a fractional portion of the range. For -example if the range is from -10.0 to 10.0, and the color red is to be -assigned to atoms with a value of 5.0, then for an absolute color map -the number 5.0 would be used. But for a fractional map, the number -0.75 would be used since 5.0 is 3/4 of the way from -10.0 to 10.0. - -The {delta} setting must be specified for all styles, but is only used -for the sequential style; otherwise the value is ignored. It -specifies the bin size to use within the range for assigning -consecutive colors to. For example, if the range is from -10.0 to -10.0 and a {delta} of 1.0 is used, then 20 colors will be assigned to -the range. The first will be from -10.0 <= color1 < -9.0, then 2nd -from -9.0 <= color2 < -8.0, etc. - -The {N} setting is how many entries follow. The format of the entries -depends on whether the color map style is continuous, discrete or -sequential. In all cases the {color} setting can be any of the 140 -pre-defined colors (see below) or a color name defined by the -dump_modify color option. - -For continuous color maps, each entry has a {value} and a {color}. -The {value} is either a number within the range of values or {min} or -{max}. The {value} of the first entry must be {min} and the {value} -of the last entry must be {max}. Any entries in between must have -increasing values. Note that numeric values can be specified either -as absolute numbers or as fractions (0.0 to 1.0) of the range, -depending on the "a" or "f" in the style setting for the color map. - -Here is how the entries are used to determine the color of an -individual atom, given the value X of its atom attribute. X will fall -between 2 of the entry values. The color of the atom is linearly -interpolated (in each of the RGB values) between the 2 colors -associated with those entries. For example, if X = -5.0 and the 2 -surrounding entries are "red" at -10.0 and "blue" at 0.0, then the -atom's color will be halfway between "red" and "blue", which happens -to be "purple". - -For discrete color maps, each entry has a {lo} and {hi} value and a -{color}. The {lo} and {hi} settings are either numbers within the -range of values or {lo} can be {min} or {hi} can be {max}. The {lo} -and {hi} settings of the last entry must be {min} and {max}. Other -entries can have any {lo} and {hi} values and the sub-ranges of -different values can overlap. Note that numeric {lo} and {hi} values -can be specified either as absolute numbers or as fractions (0.0 to -1.0) of the range, depending on the "a" or "f" in the style setting -for the color map. - -Here is how the entries are used to determine the color of an -individual atom, given the value X of its atom attribute. The entries -are scanned from first to last. The first time that {lo} <= X <= -{hi}, X is assigned the color associated with that entry. You can -think of the last entry as assigning a default color (since it will -always be matched by X), and the earlier entries as colors that -override the default. Also note that no interpolation of a color RGB -is done. All atoms will be drawn with one of the colors in the list -of entries. - -For sequential color maps, each entry has only a {color}. Here is how -the entries are used to determine the color of an individual atom, -given the value X of its atom attribute. The range is partitioned -into N bins of width {binsize}. Thus X will fall in a specific bin -from 1 to N, say the Mth bin. If it falls on a boundary between 2 -bins, it is considered to be in the higher of the 2 bins. Each bin is -assigned a color from the E entries. If E < N, then the colors are -repeated. For example if 2 entries with colors red and green are -specified, then the odd numbered bins will be red and the even bins -green. The color of the atom is the color of its bin. Note that the -sequential color map is really a shorthand way of defining a discrete -color map without having to specify where all the bin boundaries are. - -Here is an example of using a sequential color map to color all the -atoms in individual molecules with a different color. See the -examples/pour/in.pour.2d.molecule input script for an example of how -this is used. - -variable colors string & - "red green blue yellow white & - purple pink orange lime gray" -variable mol atom mol%10 -dump 1 all image 250 image.*.jpg v_mol type & - zoom 1.6 adiam 1.5 -dump_modify 1 pad 5 amap 0 10 sa 1 10 $\{colors\} :pre - -In this case, 10 colors are defined, and molecule IDs are -mapped to one of the colors, even if there are 1000s of molecules. - -:line - -The {backcolor} sets the background color of the images. The color -name can be any of the 140 pre-defined colors (see below) or a color -name defined by the dump_modify color option. - -:line - -The {bcolor} keyword can be used with the "dump image"_dump_image.html -command, with its {bond} keyword, when its color setting is {type}, to -set the color that bonds of each type will be drawn in the image. - -The specified {type} should be an integer from 1 to Nbondtypes = the -number of bond types. A wildcard asterisk can be used in place of or -in conjunction with the {type} argument to specify a range of bond -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the -number of bond types, then an asterisk with no numeric values means -all types from 1 to N. A leading asterisk means all types from 1 to n -(inclusive). A trailing asterisk means all types from n to N -(inclusive). A middle asterisk means all types from m to n -(inclusive). - -The specified {color} can be a single color which is any of the 140 -pre-defined colors (see below) or a color name defined by the -dump_modify color option. Or it can be two or more colors separated -by a "/" character, e.g. red/green/blue. In the former case, that -color is assigned to all the specified bond types. In the latter -case, the list of colors are assigned in a round-robin fashion to each -of the specified bond types. - -:line - -The {bdiam} keyword can be used with the "dump image"_dump_image.html -command, with its {bond} keyword, when its diam setting is {type}, to -set the diameter that bonds of each type will be drawn in the image. -The specified {type} should be an integer from 1 to Nbondtypes. As -with the {bcolor} keyword, a wildcard asterisk can be used as part of -the {type} argument to specify a range of bond types. The specified -{diam} is the size in whatever distance "units"_units.html you are -using, e.g. Angstroms. - -:line - -The {bitrate} keyword can be used with the "dump -movie"_dump_image.html command to define the size of the resulting -movie file and its quality via setting how many kbits per second are -to be used for the movie file. Higher bitrates require less -compression and will result in higher quality movies. The quality is -also determined by the compression format and encoder. The default -setting is 2000 kbit/s, which will result in average quality with -older compression formats. - -NOTE: Not all movie file formats supported by dump movie allow the -bitrate to be set. If not, the setting is silently ignored. - -:line - -The {boxcolor} keyword sets the color of the simulation box drawn -around the atoms in each image as well as the color of processor -sub-domain boundaries. See the "dump image box" command for how to -specify that a box be drawn via the {box} keyword, and the sub-domain -boundaries via the {subbox} keyword. The color name can be any of the -140 pre-defined colors (see below) or a color name defined by the -dump_modify color option. - -:line - -The {color} keyword allows definition of a new color name, in addition -to the 140-predefined colors (see below), and associates 3 -red/green/blue RGB values with that color name. The color name can -then be used with any other dump_modify keyword that takes a color -name as a value. The RGB values should each be floating point values -between 0.0 and 1.0 inclusive. - -When a color name is converted to RGB values, the user-defined color -names are searched first, then the 140 pre-defined color names. This -means you can also use the {color} keyword to overwrite one of the -pre-defined color names with new RBG values. - -:line - -The {framerate} keyword can be used with the "dump -movie"_dump_image.html command to define the duration of the resulting -movie file. Movie files written by the dump {movie} command have a -default frame rate of 24 frames per second and the images generated -will be converted at that rate. Thus a sequence of 1000 dump images -will result in a movie of about 42 seconds. To make a movie run -longer you can either generate images more frequently or lower the -frame rate. To speed a movie up, you can do the inverse. Using a -frame rate higher than 24 is not recommended, as it will result in -simply dropping the rendered images. It is more efficient to dump -images less frequently. - -:line - -[Restrictions:] none - -[Related commands:] - -"dump"_dump.html, "dump image"_dump_image.html, "undump"_undump.html - -[Default:] - -The option defaults are - -append = no -buffer = yes for dump styles {atom}, {custom}, {loca}, and {xyz} -element = "C" for every atom type -every = whatever it was set to via the "dump"_dump.html command -fileper = # of processors -first = no -flush = yes -format = %d and %g for each integer or floating point value -image = no -label = ENTRIES -maxfiles = -1 -nfile = 1 -pad = 0 -pbc = no -precision = 1000 -region = none -scale = yes -sort = off for dump styles {atom}, {custom}, {cfg}, and {local} -sort = id for dump styles {dcd}, {xtc}, and {xyz} -thresh = none -units = no -unwrap = no :ul - -acolor = * red/green/blue/yellow/aqua/cyan -adiam = * 1.0 -amap = min max cf 0.0 2 min blue max red -backcolor = black -bcolor = * red/green/blue/yellow/aqua/cyan -bdiam = * 0.5 -bitrate = 2000 -boxcolor = yellow -color = 140 color names are pre-defined as listed below -framerate = 24 :ul - -:line - -These are the standard 109 element names that LAMMPS pre-defines for -use with the "dump image"_dump_image.html and dump_modify commands. - -1-10 = "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne" -11-20 = "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca" -21-30 = "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn" -31-40 = "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr" -41-50 = "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn" -51-60 = "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd" -61-70 = "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb" -71-80 = "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg" -81-90 = "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th" -91-100 = "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm" -101-109 = "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt" :ul - -:line - -These are the 140 colors that LAMMPS pre-defines for use with the -"dump image"_dump_image.html and dump_modify commands. Additional -colors can be defined with the dump_modify color command. The 3 -numbers listed for each name are the RGB (red/green/blue) values. -Divide each value by 255 to get the equivalent 0.0 to 1.0 value. - -aliceblue = 240, 248, 255 | -antiquewhite = 250, 235, 215 | -aqua = 0, 255, 255 | -aquamarine = 127, 255, 212 | -azure = 240, 255, 255 | -beige = 245, 245, 220 | -bisque = 255, 228, 196 | -black = 0, 0, 0 | -blanchedalmond = 255, 255, 205 | -blue = 0, 0, 255 | -blueviolet = 138, 43, 226 | -brown = 165, 42, 42 | -burlywood = 222, 184, 135 | -cadetblue = 95, 158, 160 | -chartreuse = 127, 255, 0 | -chocolate = 210, 105, 30 | -coral = 255, 127, 80 | -cornflowerblue = 100, 149, 237 | -cornsilk = 255, 248, 220 | -crimson = 220, 20, 60 | -cyan = 0, 255, 255 | -darkblue = 0, 0, 139 | -darkcyan = 0, 139, 139 | -darkgoldenrod = 184, 134, 11 | -darkgray = 169, 169, 169 | -darkgreen = 0, 100, 0 | -darkkhaki = 189, 183, 107 | -darkmagenta = 139, 0, 139 | -darkolivegreen = 85, 107, 47 | -darkorange = 255, 140, 0 | -darkorchid = 153, 50, 204 | -darkred = 139, 0, 0 | -darksalmon = 233, 150, 122 | -darkseagreen = 143, 188, 143 | -darkslateblue = 72, 61, 139 | -darkslategray = 47, 79, 79 | -darkturquoise = 0, 206, 209 | -darkviolet = 148, 0, 211 | -deeppink = 255, 20, 147 | -deepskyblue = 0, 191, 255 | -dimgray = 105, 105, 105 | -dodgerblue = 30, 144, 255 | -firebrick = 178, 34, 34 | -floralwhite = 255, 250, 240 | -forestgreen = 34, 139, 34 | -fuchsia = 255, 0, 255 | -gainsboro = 220, 220, 220 | -ghostwhite = 248, 248, 255 | -gold = 255, 215, 0 | -goldenrod = 218, 165, 32 | -gray = 128, 128, 128 | -green = 0, 128, 0 | -greenyellow = 173, 255, 47 | -honeydew = 240, 255, 240 | -hotpink = 255, 105, 180 | -indianred = 205, 92, 92 | -indigo = 75, 0, 130 | -ivory = 255, 240, 240 | -khaki = 240, 230, 140 | -lavender = 230, 230, 250 | -lavenderblush = 255, 240, 245 | -lawngreen = 124, 252, 0 | -lemonchiffon = 255, 250, 205 | -lightblue = 173, 216, 230 | -lightcoral = 240, 128, 128 | -lightcyan = 224, 255, 255 | -lightgoldenrodyellow = 250, 250, 210 | -lightgreen = 144, 238, 144 | -lightgrey = 211, 211, 211 | -lightpink = 255, 182, 193 | -lightsalmon = 255, 160, 122 | -lightseagreen = 32, 178, 170 | -lightskyblue = 135, 206, 250 | -lightslategray = 119, 136, 153 | -lightsteelblue = 176, 196, 222 | -lightyellow = 255, 255, 224 | -lime = 0, 255, 0 | -limegreen = 50, 205, 50 | -linen = 250, 240, 230 | -magenta = 255, 0, 255 | -maroon = 128, 0, 0 | -mediumaquamarine = 102, 205, 170 | -mediumblue = 0, 0, 205 | -mediumorchid = 186, 85, 211 | -mediumpurple = 147, 112, 219 | -mediumseagreen = 60, 179, 113 | -mediumslateblue = 123, 104, 238 | -mediumspringgreen = 0, 250, 154 | -mediumturquoise = 72, 209, 204 | -mediumvioletred = 199, 21, 133 | -midnightblue = 25, 25, 112 | -mintcream = 245, 255, 250 | -mistyrose = 255, 228, 225 | -moccasin = 255, 228, 181 | -navajowhite = 255, 222, 173 | -navy = 0, 0, 128 | -oldlace = 253, 245, 230 | -olive = 128, 128, 0 | -olivedrab = 107, 142, 35 | -orange = 255, 165, 0 | -orangered = 255, 69, 0 | -orchid = 218, 112, 214 | -palegoldenrod = 238, 232, 170 | -palegreen = 152, 251, 152 | -paleturquoise = 175, 238, 238 | -palevioletred = 219, 112, 147 | -papayawhip = 255, 239, 213 | -peachpuff = 255, 239, 213 | -peru = 205, 133, 63 | -pink = 255, 192, 203 | -plum = 221, 160, 221 | -powderblue = 176, 224, 230 | -purple = 128, 0, 128 | -red = 255, 0, 0 | -rosybrown = 188, 143, 143 | -royalblue = 65, 105, 225 | -saddlebrown = 139, 69, 19 | -salmon = 250, 128, 114 | -sandybrown = 244, 164, 96 | -seagreen = 46, 139, 87 | -seashell = 255, 245, 238 | -sienna = 160, 82, 45 | -silver = 192, 192, 192 | -skyblue = 135, 206, 235 | -slateblue = 106, 90, 205 | -slategray = 112, 128, 144 | -snow = 255, 250, 250 | -springgreen = 0, 255, 127 | -steelblue = 70, 130, 180 | -tan = 210, 180, 140 | -teal = 0, 128, 128 | -thistle = 216, 191, 216 | -tomato = 253, 99, 71 | -turquoise = 64, 224, 208 | -violet = 238, 130, 238 | -wheat = 245, 222, 179 | -white = 255, 255, 255 | -whitesmoke = 245, 245, 245 | -yellow = 255, 255, 0 | -yellowgreen = 154, 205, 50 :tb(c=5,s=|) diff --git a/doc/txt/dump_molfile.txt b/doc/txt/dump_molfile.txt deleted file mode 100644 index b5f157cf292cba47d11fc6258b0fdea4ca34cf54..0000000000000000000000000000000000000000 --- a/doc/txt/dump_molfile.txt +++ /dev/null @@ -1,123 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dump molfile command :h3 - -[Syntax:] - -dump ID group-ID molfile N file format path :pre - -ID = user-assigned name for the dump :ulb,l -group-ID = ID of the group of atoms to be imaged :l -molfile = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page) :l -N = dump every this many timesteps :l -file = name of file to write to :l -format = file format to be used :l -path = file path with plugins (optional) :l -:ule - -[Examples:] - -dump mf1 all molfile 10 melt1.xml hoomd -dump mf2 all molfile 10 melt2-*.pdb pdb . -dump mf3 all molfile 50 melt3.xyz xyz .:/home/akohlmey/vmd/plugins/LINUX/molfile :pre - -[Description:] - -Dump a snapshot of atom coordinates and selected additional quantities -to one or more files every N timesteps in one of several formats. -Only information for atoms in the specified group is dumped. This -specific dump style uses molfile plugins that are bundled with the -"VMD"_http://www.ks.uiuc.edu/Research/vmd molecular visualization and -analysis program. - -Unless the filename contains a * character, the output will be written -to one single file with the specified format. Otherwise there will be -one file per snapshot and the * will be replaced by the time step number -when the snapshot is written. - -NOTE: Because periodic boundary conditions are enforced only on -timesteps when neighbor lists are rebuilt, the coordinates of an atom -written to a dump file may be slightly outside the simulation box. - -The molfile plugin API has a few restrictions that have to be honored -by this dump style: the number of atoms must not change, the atoms -must be sorted, outside of the coordinates no change in atom properties -(like type, mass, charge) will be recorded. - -:line - -The {format} keyword determines what format is used to write out the -dump. For this to work, LAMMPS must be able to find and load a -compatible molfile plugin that supports this format. Settings made via -the "dump_modify"_dump_modify.html command can alter per atom properties -like element names. - -The {path} keyword determines which in directories. This is a "path" -like other search paths, i.e. it can contain multiple directories -separated by a colon (or semi-colon on windows). This keyword is -optional and default to ".", the current directory. - -The {unwrap} option of the "dump_modify"_dump_modify.html command allows -coordinates to be written "unwrapped" by the image flags for each atom. -Unwrapped means that if the atom has passed through a periodic boundary -one or more times, the value is printed for what the coordinate would be -if it had not been wrapped back into the periodic box. Note that these -coordinates may thus be far outside the box size stored with the -snapshot. - -:line - -Dumps are performed on timesteps that are a multiple of N (including -timestep 0) and on the last timestep of a minimization if the -minimization converges. Note that this means a dump will not be -performed on the initial timestep after the dump command is invoked, -if the current timestep is not a multiple of N. This behavior can be -changed via the "dump_modify first"_dump_modify.html command, which can -be useful if the dump command is invoked after a minimization ended on -an arbitrary timestep. N can be changed between runs by using the -"dump_modify every"_dump_modify.html command. The "dump_modify -every"_dump_modify.html command also allows a variable to be used to -determine the sequence of timesteps on which dump files are written. - -:line - -[Restrictions:] - -The {molfile} dump style is part of the USER-MOLFILE package. It is -only enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Molfile plugins provide a consistent programming interface to read and -write file formats commonly used in molecular simulations. The -USER-MOLFILE package only provides the interface code, not the plugins. -These can be obtained from a VMD installation which has to match the -platform that you are using to compile LAMMPS for. By adding plugins -to VMD, support for new file formats can be added to LAMMPS (or VMD -or other programs that use them) without having to re-compile the -application itself. The plugins are installed in the directory: -/plugins//molfile - -NOTE: while the programming interface (API) to the plugins is backward -compatible, the binary interface (ABI) has been changing over time, so -it is necessary to compile this package with the plugin header files -from VMD that match the binary plugins. These header files in the -directory: /plugins/include For convenience, the package ships -with a set of header files that are compatible with VMD 1.9 and 1.9.1 -(June 2012) - -:line - -[Related commands:] - -"dump"_dump.html, "dump_modify"_dump_modify.html, "undump"_undump.html - -[Default:] - -The default path is ".". All other properties have to be specified. - diff --git a/doc/txt/dump_netcdf.txt b/doc/txt/dump_netcdf.txt deleted file mode 100644 index 52d757eac562083eff17a2dc5ffebfc741b5b2f5..0000000000000000000000000000000000000000 --- a/doc/txt/dump_netcdf.txt +++ /dev/null @@ -1,76 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dump netcdf command :h3 -dump netcdf/mpiio command :h3 - -[Syntax:] - -dump ID group-ID netcdf N file args -dump ID group-ID netcdf/mpiio N file args :pre - -ID = user-assigned name for the dump :ulb,l -group-ID = ID of the group of atoms to be imaged :l -{netcdf} or {netcdf/mpiio} = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page) :l -N = dump every this many timesteps :l -file = name of file to write dump info to :l -args = list of atom attributes, same as for "dump_style custom"_dump.html :l,ule - -[Examples:] - -dump 1 all netcdf 100 traj.nc type x y z vx vy vz -dump_modify 1 append yes at -1 thermo yes -dump 1 all netcdf/mpiio 1000 traj.nc id type x y z -dump 1 all netcdf 1000 traj.*.nc id type x y z :pre - -[Description:] - -Dump a snapshot of atom coordinates every N timesteps in Amber-style -NetCDF file format. NetCDF files are binary, portable and -self-describing. This dump style will write only one file on the root -node. The dump style {netcdf} uses the "standard NetCDF -library"_netcdf-home. All data is collected on one processor and then -written to the dump file. Dump style {netcdf/mpiio} uses the -"parallel NetCDF library"_pnetcdf-home and MPI-IO to write to the dump -file in parallel; it has better performance on a larger number of -processors. Note that style {netcdf} outputs all atoms sorted by atom -tag while style {netcdf/mpiio} outputs atoms in order of their MPI -rank. - -NetCDF files can be directly visualized via the following tools: - -Ovito (http://www.ovito.org/). Ovito supports the AMBER convention and -all extensions of this dump style. :ule,b - -VMD (http://www.ks.uiuc.edu/Research/vmd/). :l - -AtomEye (http://www.libatoms.org/). The libAtoms version of AtomEye -contains a NetCDF reader that is not present in the standard -distribution of AtomEye. :l,ule - -In addition to per-atom data, "thermo"_thermo.html data can be included in the -dump file. The data included in the dump file is identical to the data specified -by "thermo_style"_thermo_style.html. - -:link(netcdf-home,http://www.unidata.ucar.edu/software/netcdf/) -:link(pnetcdf-home,http://trac.mcs.anl.gov/projects/parallel-netcdf/) - -:line - -[Restrictions:] - -The {netcdf} and {netcdf/mpiio} dump styles are part of the -USER-NETCDF package. They are only enabled if LAMMPS was built with -that package. See the "Build package"_Build_package.html doc page for -more info. - -:line - -[Related commands:] - -"dump"_dump.html, "dump_modify"_dump_modify.html, "undump"_undump.html diff --git a/doc/txt/dump_vtk.txt b/doc/txt/dump_vtk.txt deleted file mode 100644 index 7eaa59a79505a18318633a031cf4a64e8a3d4b43..0000000000000000000000000000000000000000 --- a/doc/txt/dump_vtk.txt +++ /dev/null @@ -1,179 +0,0 @@ - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dump vtk command :h3 - -[Syntax:] - -dump ID group-ID vtk N file args :pre - -ID = user-assigned name for the dump -group-ID = ID of the group of atoms to be dumped -vtk = style of dump command (other styles {atom} or {cfg} or {dcd} or {xtc} or {xyz} or {local} or {custom} are discussed on the "dump"_dump.html doc page) -N = dump every this many timesteps -file = name of file to write dump info to -args = same as arguments for "dump_style custom"_dump.html :ul - -[Examples:] - -dump dmpvtk all vtk 100 dump*.myforce.vtk id type vx fx -dump dmpvtp flow vtk 100 dump*.%.displace.vtp id type c_myD\[1\] c_myD\[2\] c_myD\[3\] v_ke :pre - -[Description:] - -Dump a snapshot of atom quantities to one or more files every N -timesteps in a format readable by the "VTK visualization -toolkit"_http://www.vtk.org or other visualization tools that use it, -e.g. "ParaView"_http://www.paraview.org. The timesteps on which dump -output is written can also be controlled by a variable; see the -"dump_modify every"_dump_modify.html command for details. - -This dump style is similar to "dump_style custom"_dump.html but uses -the VTK library to write data to VTK simple legacy or XML format -depending on the filename extension specified for the dump file. This -can be either {*.vtk} for the legacy format or {*.vtp} and {*.vtu}, -respectively, for XML format; see the "VTK -homepage"_http://www.vtk.org/VTK/img/file-formats.pdf for a detailed -description of these formats. Since this naming convention conflicts -with the way binary output is usually specified (see below), the -"dump_modify binary"_dump_modify.html command allows setting of a -binary option for this dump style explicitly. - -Only information for atoms in the specified group is dumped. The -"dump_modify thresh and region"_dump_modify.html commands can also -alter what atoms are included; see details below. - -As described below, special characters ("*", "%") in the filename -determine the kind of output. - -IMPORTANT NOTE: Because periodic boundary conditions are enforced only -on timesteps when neighbor lists are rebuilt, the coordinates of an -atom written to a dump file may be slightly outside the simulation -box. - -IMPORTANT NOTE: Unless the "dump_modify sort"_dump_modify.html option -is invoked, the lines of atom information written to dump files will -be in an indeterminate order for each snapshot. This is even true -when running on a single processor, if the "atom_modify -sort"_atom_modify.html option is on, which it is by default. In this -case atoms are re-ordered periodically during a simulation, due to -spatial sorting. It is also true when running in parallel, because -data for a single snapshot is collected from multiple processors, each -of which owns a subset of the atoms. - -For the {vtk} style, sorting is off by default. See the -"dump_modify"_dump_modify.html doc page for details. - -:line - -The dimensions of the simulation box are written to a separate file -for each snapshot (either in legacy VTK or XML format depending on the -format of the main dump file) with the suffix {_boundingBox} appended -to the given dump filename. - -For an orthogonal simulation box this information is saved as a -rectilinear grid (legacy .vtk or .vtr XML format). - -Triclinic simulation boxes (non-orthogonal) are saved as -hexahedrons in either legacy .vtk or .vtu XML format. - -Style {vtk} allows you to specify a list of atom attributes to be -written to the dump file for each atom. The list of possible attributes -is the same as for the "dump_style custom"_dump.html command; see -its doc page for a listing and an explanation of each attribute. - -NOTE: Since position data is required to write VTK files the atom -attributes "x y z" do not have to be specified explicitly; they will -be included in the dump file regardless. Also, in contrast to the -{custom} style, the specified {vtk} attributes are rearranged to -ensure correct ordering of vector components (except for computes and -fixes - these have to be given in the right order) and duplicate -entries are removed. - -The VTK format uses a single snapshot of the system per file, thus -a wildcard "*" must be included in the filename, as discussed below. -Otherwise the dump files will get overwritten with the new snapshot -each time. - -:line - -Dumps are performed on timesteps that are a multiple of N (including -timestep 0) and on the last timestep of a minimization if the -minimization converges. Note that this means a dump will not be -performed on the initial timestep after the dump command is invoked, -if the current timestep is not a multiple of N. This behavior can be -changed via the "dump_modify first"_dump_modify.html command, which -can also be useful if the dump command is invoked after a minimization -ended on an arbitrary timestep. N can be changed between runs by -using the "dump_modify every"_dump_modify.html command. -The "dump_modify every"_dump_modify.html command -also allows a variable to be used to determine the sequence of -timesteps on which dump files are written. In this mode a dump on the -first timestep of a run will also not be written unless the -"dump_modify first"_dump_modify.html command is used. - -Dump filenames can contain two wildcard characters. If a "*" -character appears in the filename, then one file per snapshot is -written and the "*" character is replaced with the timestep value. -For example, tmp.dump*.vtk becomes tmp.dump0.vtk, tmp.dump10000.vtk, -tmp.dump20000.vtk, etc. Note that the "dump_modify pad"_dump_modify.html -command can be used to insure all timestep numbers are the same length -(e.g. 00010), which can make it easier to read a series of dump files -in order with some post-processing tools. - -If a "%" character appears in the filename, then each of P processors -writes a portion of the dump file, and the "%" character is replaced -with the processor ID from 0 to P-1 preceded by an underscore character. -For example, tmp.dump%.vtp becomes tmp.dump_0.vtp, tmp.dump_1.vtp, ... -tmp.dump_P-1.vtp, etc. This creates smaller files and can be a fast -mode of output on parallel machines that support parallel I/O for output. - -By default, P = the number of processors meaning one file per -processor, but P can be set to a smaller value via the {nfile} or -{fileper} keywords of the "dump_modify"_dump_modify.html command. -These options can be the most efficient way of writing out dump files -when running on large numbers of processors. - -For the legacy VTK format "%" is ignored and P = 1, i.e., only -processor 0 does write files. - -Note that using the "*" and "%" characters together can produce a -large number of small dump files! - -If {dump_modify binary} is used, the dump file (or files, if "*" or -"%" is also used) is written in binary format. A binary dump file -will be about the same size as a text version, but will typically -write out much faster. - -:line - -[Restrictions:] - -The {vtk} style does not support writing of gzipped dump files. - -The {vtk} dump style is part of the USER-VTK package. It is only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -To use this dump style, you also must link to the VTK library. See -the info in lib/vtk/README and insure the Makefile.lammps file in that -directory is appropriate for your machine. - -The {vtk} dump style supports neither buffering or custom format -strings. - -[Related commands:] - -"dump"_dump.html, "dump image"_dump_image.html, -"dump_modify"_dump_modify.html, "undump"_undump.html - -[Default:] - -By default, files are written in ASCII format. If the file extension -is not one of .vtk, .vtp or .vtu, the legacy VTK file format is used. - diff --git a/doc/txt/dynamical_matrix.txt b/doc/txt/dynamical_matrix.txt deleted file mode 100644 index 2d9b256694074b6eebfa823ce06c95992364cce5..0000000000000000000000000000000000000000 --- a/doc/txt/dynamical_matrix.txt +++ /dev/null @@ -1,70 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -dynamical_matrix command :h3 - -[Syntax:] - -dynamical_matrix group-ID style gamma args keyword value ... :pre - -group-ID = ID of group of atoms to displace :ulb,l -style = {regular} or {eskm} :l -gamma = finite different displacement length (distance units) :l -one or more keyword/arg pairs may be appended :l - keyword = {file} or {binary} - {file} name = name of output file for the dynamical matrix - {binary} arg = {yes} or {no} or {gzip} :pre -:ule - -[Examples:] - -dynamical_matrix 1 regular 0.000001 -dynamical_matrix 1 eskm 0.000001 -dynamical_matrix 3 regular 0.00004 file dynmat.dat -dynamical_matrix 5 eskm 0.00000001 file dynamical.dat binary yes :pre - -[Description:] - -Calculate the dynamical matrix by finite difference of the selected group, - -:c,image(JPG/dynamical_matrix_dynmat.jpg) - -where D is the dynamical matrix and Phi is the force constant matrix defined by - -:c,image(JPG/dynamical_matrix_force_constant.jpg). - -The output for the dynamical matrix is printed three elements at a time. The -three elements are the three beta elements for a respective i/alpha/j combination. -Each line is printed in order of j increasing first, alpha second, and i last. - -If the style eskm is selected, the dynamical matrix will be in units of inverse squared -femtoseconds. These units will then conveniently leave frequencies in THz, where -frequencies, represented as omega, can be calculated from - -:c, image(Eqs/dynamical_matrix_phonons.jpg) - -[Restrictions:] - -The command collects an array of nine times the number of atoms in a group -on every single MPI rank, so the memory requirements can be very significant -for large systems. - -This command is part of the USER-PHONON package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix phonon"_fix_phonon.html - -"compute hma"_compute_hma.html uses an analytic formulation of the hessian -provided by Pair's single_hessian. - -[Default:] - -The default settings are file = "dynmat.dyn", binary = no diff --git a/doc/txt/echo.txt b/doc/txt/echo.txt deleted file mode 100644 index 3436737faaa6f364c520b62c713647a96e63d7d7..0000000000000000000000000000000000000000 --- a/doc/txt/echo.txt +++ /dev/null @@ -1,38 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -echo command :h3 - -[Syntax:] - -echo style :pre - -style = {none} or {screen} or {log} or {both} :ul - -[Examples:] - -echo both -echo log :pre - -[Description:] - -This command determines whether LAMMPS echoes each input script -command to the screen and/or log file as it is read and processed. If -an input script has errors, it can be useful to look at echoed output -to see the last command processed. - -The "command-line switch"_Run_options.html -echo can be used in place -of this command. - -[Restrictions:] none - -[Related commands:] none - -[Default:] - -echo log :pre diff --git a/doc/txt/fix_adapt.txt b/doc/txt/fix_adapt.txt deleted file mode 100644 index 4f047ec42d05503942347789d4fb371f33141fc1..0000000000000000000000000000000000000000 --- a/doc/txt/fix_adapt.txt +++ /dev/null @@ -1,309 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix adapt command :h3 - -[Syntax:] - -fix ID group-ID adapt N attribute args ... keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -adapt = style name of this fix command :l -N = adapt simulation settings every this many timesteps :l -one or more attribute/arg pairs may be appended :l -attribute = {pair} or {kspace} or {atom} :l - {pair} args = pstyle pparam I J v_name - pstyle = pair style name, e.g. lj/cut - pparam = parameter to adapt over time - I,J = type pair(s) to set parameter for - v_name = variable with name that calculates value of pparam - {bond} args = bstyle bparam I v_name - bstyle = bond style name, e.g. harmonic - bparam = parameter to adapt over time - I = type bond to set parameter for - v_name = variable with name that calculates value of bparam - {kspace} arg = v_name - v_name = variable with name that calculates scale factor on K-space terms - {atom} args = aparam v_name - aparam = parameter to adapt over time - v_name = variable with name that calculates value of aparam :pre -zero or more keyword/value pairs may be appended :l -keyword = {scale} or {reset} :l - {scale} value = {no} or {yes} - {no} = the variable value is the new setting - {yes} = the variable value multiplies the original setting - {reset} value = {no} or {yes} - {no} = values will remain altered at the end of a run - {yes} = reset altered values to their original values at the end of a run :pre -:ule - -[Examples:] - -fix 1 all adapt 1 pair soft a 1 1 v_prefactor -fix 1 all adapt 1 pair soft a 2* 3 v_prefactor -fix 1 all adapt 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes -fix 1 all adapt 10 atom diameter v_size :pre - -variable ramp_up equal "ramp(0.01,0.5)" -fix stretch all adapt 1 bond harmonic r0 1 v_ramp_up :pre - -[Description:] - -Change or adapt one or more specific simulation attributes or settings -over time as a simulation runs. Pair potential and K-space and atom -attributes which can be varied by this fix are discussed below. Many -other fixes can also be used to time-vary simulation parameters, -e.g. the "fix deform" command will change the simulation box -size/shape and the "fix move" command will change atom positions and -velocities in a prescribed manner. Also note that many commands allow -variables as arguments for specific parameters, if described in that -manner on their doc pages. An equal-style variable can calculate a -time-dependent quantity, so this is another way to vary a simulation -parameter over time. - -If {N} is specified as 0, the specified attributes are only changed -once, before the simulation begins. This is all that is needed if the -associated variables are not time-dependent. If {N} > 0, then changes -are made every {N} steps during the simulation, presumably with a -variable that is time-dependent. - -Depending on the value of the {reset} keyword, attributes changed by -this fix will or will not be reset back to their original values at -the end of a simulation. Even if {reset} is specified as {yes}, a -restart file written during a simulation will contain the modified -settings. - -If the {scale} keyword is set to {no}, then the value the parameter is -set to will be whatever the variable generates. If the {scale} -keyword is set to {yes}, then the value of the altered parameter will -be the initial value of that parameter multiplied by whatever the -variable generates. I.e. the variable is now a "scale factor" applied -in (presumably) a time-varying fashion to the parameter. - -Note that whether scale is {no} or {yes}, internally, the parameters -themselves are actually altered by this fix. Make sure you use the -{reset yes} option if you want the parameters to be restored to their -initial values after the run. - -:line - -The {pair} keyword enables various parameters of potentials defined by -the "pair_style"_pair_style.html command to be changed, if the pair -style supports it. Note that the "pair_style"_pair_style.html and -"pair_coeff"_pair_coeff.html commands must be used in the usual manner -to specify these parameters initially; the fix adapt command simply -overrides the parameters. - -The {pstyle} argument is the name of the pair style. If "pair_style -hybrid or hybrid/overlay"_pair_hybrid.html is used, {pstyle} should be -a sub-style name. If there are multiple sub-styles using the same -pair style, then {pstyle} should be specified as "style:N" where N is -which instance of the pair style you wish to adapt, e.g. the first, -second, etc. For example, {pstyle} could be specified as "soft" or -"lubricate" or "lj/cut:1" or "lj/cut:2". The {pparam} argument is the -name of the parameter to change. This is the current list of pair -styles and parameters that can be varied by this fix. See the doc -pages for individual pair styles and their energy formulas for the -meaning of these parameters: - -"born"_pair_born.html: a,b,c: type pairs: -"born/coul/long, born/coul/msm"_pair_born.html: coulombic_cutoff: type global: -"buck"_pair_buck.html: a,c: type pairs: -"buck/coul/long, buck/coul/msm"_pair_buck.html: coulombic_cutoff: type global: -"buck/mdf"_pair_mdf.html: a,c: type pairs: -"coul/cut"_pair_coul.html: scale: type pairs: -"coul/cut/soft"_pair_fep_soft.html: lambda: type pairs: -"coul/debye"_pair_coul.html: scale: type pairs: -"coul/dsf"_pair_coul.html: coulombic_cutoff: type global: -"coul/long, coul/msm"_pair_coul.html: coulombic_cutoff, scale: type pairs: -"coul/long/soft"_pair_fep_soft.html: scale, lambda, coulombic_cutoff: type pairs: -"eam, eam/alloy, eam/fs"_pair_eam.html: scale: type pairs: -"gauss"_pair_gauss.html: a: type pairs: -"lennard/mdf"_pair_mdf.html: A,B: type pairs: -"lj/class2"_pair_class2.html: epsilon,sigma: type pairs: -"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma,coulombic_cutoff: type pairs: -"lj/cut"_pair_lj.html: epsilon,sigma: type pairs: -"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma,coulombic_cutoff: type pairs: -"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda,coulombic_cutoff: type pairs: -"lj/cut/coul/dsf"_pair_lj.html: cutoff: type global: -"lj/cut/tip4p/cut"_pair_lj.html: epsilon,sigma,coulombic_cutoff: type pairs: -"lj/cut/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs: -"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs: -"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs: -"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs: -"lubricate"_pair_lubricate.html: mu: global: -"mie/cut"_pair_mie.html: epsilon,sigma,gamma_repulsive,gamma_attractive: type pairs: -"morse, morse/smooth/linear"_pair_morse.html: D0,R0,alpha: type pairs: -"morse/soft"_pair_morse.html: D0,R0,alpha,lambda: type pairs: -"nm/cut"_pair_nm.html: E0,R0,m,n: type pairs: -"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: E0,R0,m,n,coulombic_cutoff: type pairs: -"reax/c"_pair_reaxc.html: chi, eta, gamma: type global: -"spin/dmi"_pair_spin_dmi.html: coulombic_cutoff: type global: -"spin/exchange"_pair_spin_exchange.html: coulombic_cutoff: type global: -"spin/magelec"_pair_spin_magelec.html: coulombic_cutoff: type global: -"spin/neel"_pair_spin_neel.html: coulombic_cutoff: type global: -"table"_pair_table.html: table_cutoff: type pairs: -"ufm"_pair_ufm.html: epsilon,sigma: type pairs: -"soft"_pair_soft.html: a: type pairs: :tb(c=3,s=:) - -NOTE: It is easy to add new pairwise potentials and their parameters -to this list. All it typically takes is adding an extract() method to -the pair_*.cpp file associated with the potential. - -Some parameters are global settings for the pair style, e.g. the -viscosity setting "mu" for "pair_style lubricate"_pair_lubricate.html. -Other parameters apply to atom type pairs within the pair style, -e.g. the prefactor "a" for "pair_style soft"_pair_soft.html. - -Note that for many of the potentials, the parameter that can be varied -is effectively a prefactor on the entire energy expression for the -potential, e.g. the lj/cut epsilon. The parameters listed as "scale" -are exactly that, since the energy expression for the -"coul/cut"_pair_coul.html potential (for example) has no labeled -prefactor in its formula. To apply an effective prefactor to some -potentials, multiple parameters need to be altered. For example, the -"Buckingham potential"_pair_buck.html needs both the A and C terms -altered together. To scale the Buckingham potential, you should thus -list the pair style twice, once for A and once for C. - -If a type pair parameter is specified, the {I} and {J} settings should -be specified to indicate which type pairs to apply it to. If a global -parameter is specified, the {I} and {J} settings still need to be -specified, but are ignored. - -Similar to the "pair_coeff command"_pair_coeff.html, I and J can be -specified in one of two ways. Explicit numeric values can be used for -each, as in the 1st example above. I <= J is required. LAMMPS sets -the coefficients for the symmetric J,I interaction to the same values. - -A wild-card asterisk can be used in place of or in conjunction with -the I,J arguments to set the coefficients for multiple pairs of atom -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the -number of atom types, then an asterisk with no numeric values means -all types from 1 to N. A leading asterisk means all types from 1 to n -(inclusive). A trailing asterisk means all types from n to N -(inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored. - -IMPROTANT NOTE: If "pair_style hybrid or -hybrid/overlay"_pair_hybrid.html is being used, then the {pstyle} will -be a sub-style name. You must specify I,J arguments that correspond -to type pair values defined (via the "pair_coeff"_pair_coeff.html -command) for that sub-style. - -The {v_name} argument for keyword {pair} is the name of an -"equal-style variable"_variable.html which will be evaluated each time -this fix is invoked to set the parameter to a new value. It should be -specified as v_name, where name is the variable name. Equal-style -variables can specify formulas with various mathematical functions, -and include "thermo_style"_thermo_style.html command keywords for the -simulation box parameters and timestep and elapsed time. Thus it is -easy to specify parameters that change as a function of time or span -consecutive runs in a continuous fashion. For the latter, see the -{start} and {stop} keywords of the "run"_run.html command and the -{elaplong} keyword of "thermo_style custom"_thermo_style.html for -details. - -For example, these commands would change the prefactor coefficient of -the "pair_style soft"_pair_soft.html potential from 10.0 to 30.0 in a -linear fashion over the course of a simulation: - -variable prefactor equal ramp(10,30) -fix 1 all adapt 1 pair soft a * * v_prefactor :pre - -:line - -The {bond} keyword uses the specified variable to change the value of -a bond coefficient over time, very similar to how the {pair} keyword -operates. The only difference is that now a bond coefficient for a -given bond type is adapted. - -A wild-card asterisk can be used in place of or in conjunction with -the bond type argument to set the coefficients for multiple bond types. -This takes the form "*" or "*n" or "n*" or "m*n". If N = the number of -atom types, then an asterisk with no numeric values means all types -from 1 to N. A leading asterisk means all types from 1 to n (inclusive). -A trailing asterisk means all types from n to N (inclusive). A middle -asterisk means all types from m to n (inclusive). - -Currently {bond} does not support bond_style hybrid nor bond_style -hybrid/overlay as bond styles. The only bonds that currently are -working with fix_adapt are - -"gromos"_bond_gromos.html: k, r0: type bonds: -"harmonic"_bond_harmonic.html: k,r0: type bonds :tb(c=3,s=:) - -:line - -The {kspace} keyword used the specified variable as a scale factor on -the energy, forces, virial calculated by whatever K-Space solver is -defined by the "kspace_style"_kspace_style.html command. If the -variable has a value of 1.0, then the solver is unaltered. - -The {kspace} keyword works this way whether the {scale} keyword -is set to {no} or {yes}. - -:line - -The {atom} keyword enables various atom properties to be changed. The -{aparam} argument is the name of the parameter to change. This is the -current list of atom parameters that can be varied by this fix: - -charge = charge on particle -diameter = diameter of particle :ul - -The {v_name} argument of the {atom} keyword is the name of an -"equal-style variable"_variable.html which will be evaluated each time -this fix is invoked to set the parameter to a new value. It should be -specified as v_name, where name is the variable name. See the -discussion above describing the formulas associated with equal-style -variables. The new value is assigned to the corresponding attribute -for all atoms in the fix group. - -NOTE: The {atom} keyword works this way whether the {scale} keyword is -set to {no} or {yes}. I.e. the use of scale yes is not yet supported -by the {atom} keyword. - -If the atom parameter is {diameter} and per-atom density and per-atom -mass are defined for particles (e.g. "atom_style -granular"_atom_style.html), then the mass of each particle is also -changed when the diameter changes (density is assumed to stay -constant). - -For example, these commands would shrink the diameter of all granular -particles in the "center" group from 1.0 to 0.1 in a linear fashion -over the course of a 1000-step simulation: - -variable size equal ramp(1.0,0.1) -fix 1 center adapt 10 atom diameter v_size :pre - -: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"_Howto_output.html. -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. - -For "rRESPA time integration"_run_style.html, this fix changes -parameters on the outermost rRESPA level. - -[Restrictions:] none - -[Related commands:] - -"compute ti"_compute_ti.html - -[Default:] - -The option defaults are scale = no, reset = no. diff --git a/doc/txt/fix_adapt_fep.txt b/doc/txt/fix_adapt_fep.txt deleted file mode 100644 index 9a9255db06c9289ab5caa38c5c48c7ed5a5514cb..0000000000000000000000000000000000000000 --- a/doc/txt/fix_adapt_fep.txt +++ /dev/null @@ -1,273 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix adapt/fep command :h3 - -[Syntax:] - -fix ID group-ID adapt/fep N attribute args ... keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -adapt/fep = style name of this fix command :l -N = adapt simulation settings every this many timesteps :l -one or more attribute/arg pairs may be appended :l -attribute = {pair} or {kspace} or {atom} :l - {pair} args = pstyle pparam I J v_name - pstyle = pair style name, e.g. lj/cut - pparam = parameter to adapt over time - I,J = type pair(s) to set parameter for - v_name = variable with name that calculates value of pparam - {kspace} arg = v_name - v_name = variable with name that calculates scale factor on K-space terms - {atom} args = aparam v_name - aparam = parameter to adapt over time - I = type(s) to set parameter for - v_name = variable with name that calculates value of aparam :pre -zero or more keyword/value pairs may be appended :l -keyword = {scale} or {reset} or {after} :l - {scale} value = {no} or {yes} - {no} = the variable value is the new setting - {yes} = the variable value multiplies the original setting - {reset} value = {no} or {yes} - {no} = values will remain altered at the end of a run - {yes} = reset altered values to their original values at the end - of a run - {after} value = {no} or {yes} - {no} = parameters are adapted at timestep N - {yes} = parameters are adapted one timestep after N :pre -:ule - -[Examples:] - -fix 1 all adapt/fep 1 pair soft a 1 1 v_prefactor -fix 1 all adapt/fep 1 pair soft a 2* 3 v_prefactor -fix 1 all adapt/fep 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes -fix 1 all adapt/fep 10 atom diameter 1 v_size :pre - -[Description:] - -Change or adapt one or more specific simulation attributes or settings -over time as a simulation runs. - -This is an enhanced version of the "fix adapt"_fix_adapt.html command -with two differences, - -It is possible to modify the charges of chosen atom types only, -instead of scaling all the charges in the system. :ulb,l - -There is a new option {after} for better compatibility with "fix -ave/time". :l -:ule - -This version is suited for free energy calculations using -"compute ti"_compute_ti.html or "compute fep"_compute_fep.html. - -If {N} is specified as 0, the specified attributes are only changed -once, before the simulation begins. This is all that is needed if the -associated variables are not time-dependent. If {N} > 0, then changes -are made every {N} steps during the simulation, presumably with a -variable that is time-dependent. - -Depending on the value of the {reset} keyword, attributes changed by -this fix will or will not be reset back to their original values at -the end of a simulation. Even if {reset} is specified as {yes}, a -restart file written during a simulation will contain the modified -settings. - -If the {scale} keyword is set to {no}, then the value the parameter is -set to will be whatever the variable generates. If the {scale} -keyword is set to {yes}, then the value of the altered parameter will -be the initial value of that parameter multiplied by whatever the -variable generates. I.e. the variable is now a "scale factor" applied -in (presumably) a time-varying fashion to the parameter. Internally, -the parameters themselves are actually altered; make sure you use the -{reset yes} option if you want the parameters to be restored to their -initial values after the run. - -If the {after} keyword is set to {yes}, then the parameters are -changed one timestep after the multiple of N. In this manner, if a fix -such as "fix ave/time" is used to calculate averages at every N -timesteps, all the contributions to the average will be obtained with -the same values of the parameters. - -:line - -The {pair} keyword enables various parameters of potentials defined by -the "pair_style"_pair_style.html command to be changed, if the pair -style supports it. Note that the "pair_style"_pair_style.html and -"pair_coeff"_pair_coeff.html commands must be used in the usual manner -to specify these parameters initially; the fix adapt command simply -overrides the parameters. - -The {pstyle} argument is the name of the pair style. If "pair_style -hybrid or hybrid/overlay"_pair_hybrid.html is used, {pstyle} should be -a sub-style name. For example, {pstyle} could be specified as "soft" -or "lubricate". The {pparam} argument is the name of the parameter to -change. This is the current list of pair styles and parameters that -can be varied by this fix. See the doc pages for individual pair -styles and their energy formulas for the meaning of these parameters: - -"born"_pair_born.html: a,b,c: type pairs: -"buck"_pair_buck.html: a,c: type pairs: -"buck/mdf"_pair_mdf.html: a,c: type pairs: -"coul/cut"_pair_coul.html: scale: type pairs: -"coul/cut/soft"_pair_fep_soft.html: lambda: type pairs: -"coul/long, coul/msm"_pair_coul.html: scale: type pairs: -"coul/long/soft"_pair_fep_soft.html: scale, lambda: type pairs: -"eam"_pair_eam.html: scale: type pairs: -"gauss"_pair_gauss.html: a: type pairs: -"lennard/mdf"_pair_mdf.html: a,b: type pairs: -"lj/class2"_pair_class2.html: epsilon,sigma: type pairs: -"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma: type pairs: -"lj/cut"_pair_lj.html: epsilon,sigma: type pairs: -"lj/cut/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs: -"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma: type pairs: -"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs: -"lj/cut/tip4p/cut, lj/cut/tip4p/long"_pair_lj.html: epsilon,sigma: type pairs: -"lj/cut/tip4p/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs: -"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs: -"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs: -"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs: -"mie/cut"_pair_mie.html: epsilon,sigma,gamR,gamA: type pairs: -"morse, morse/smooth/linear"_pair_morse.html: d0,r0,alpha: type pairs: -"morse/soft"_pair_morse.html: d0,r0,alpha,lambda: type pairs: -"nm/cut"_pair_nm.html: e0,r0,nn,mm: type pairs: -"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: e0,r0,nn,mm: type pairs: -"ufm"_pair_ufm.html: epsilon,sigma,scale: type pairs: -"soft"_pair_soft.html: a: type pairs :tb(c=3,s=:) - -NOTE: It is easy to add new potentials and their parameters to this -list. All it typically takes is adding an extract() method to the -pair_*.cpp file associated with the potential. - -Note that for many of the potentials, the parameter that can be varied -is effectively a prefactor on the entire energy expression for the -potential, e.g. the lj/cut epsilon. The parameters listed as "scale" -are exactly that, since the energy expression for the -"coul/cut"_pair_coul.html potential (for example) has no labeled -prefactor in its formula. To apply an effective prefactor to some -potentials, multiple parameters need to be altered. For example, the -"Buckingham potential"_pair_buck.html needs both the A and C terms -altered together. To scale the Buckingham potential, you should thus -list the pair style twice, once for A and once for C. - -If a type pair parameter is specified, the {I} and {J} settings should -be specified to indicate which type pairs to apply it to. If a global -parameter is specified, the {I} and {J} settings still need to be -specified, but are ignored. - -Similar to the "pair_coeff command"_pair_coeff.html, I and J can be -specified in one of two ways. Explicit numeric values can be used for -each, as in the 1st example above. I <= J is required. LAMMPS sets -the coefficients for the symmetric J,I interaction to the same values. - -A wild-card asterisk can be used in place of or in conjunction with -the I,J arguments to set the coefficients for multiple pairs of atom -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the -number of atom types, then an asterisk with no numeric values means -all types from 1 to N. A leading asterisk means all types from 1 to n -(inclusive). A trailing asterisk means all types from n to N -(inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored. - -IMPROTANT NOTE: If "pair_style hybrid or -hybrid/overlay"_pair_hybrid.html is being used, then the {pstyle} will -be a sub-style name. You must specify I,J arguments that correspond -to type pair values defined (via the "pair_coeff"_pair_coeff.html -command) for that sub-style. - -The {v_name} argument for keyword {pair} is the name of an -"equal-style variable"_variable.html which will be evaluated each time -this fix is invoked to set the parameter to a new value. It should be -specified as v_name, where name is the variable name. Equal-style -variables can specify formulas with various mathematical functions, -and include "thermo_style"_thermo_style.html command keywords for the -simulation box parameters and timestep and elapsed time. Thus it is -easy to specify parameters that change as a function of time or span -consecutive runs in a continuous fashion. For the latter, see the -{start} and {stop} keywords of the "run"_run.html command and the -{elaplong} keyword of "thermo_style custom"_thermo_style.html for -details. - -For example, these commands would change the prefactor coefficient of -the "pair_style soft"_pair_soft.html potential from 10.0 to 30.0 in a -linear fashion over the course of a simulation: - -variable prefactor equal ramp(10,30) -fix 1 all adapt 1 pair soft a * * v_prefactor :pre - -:line - -The {kspace} keyword used the specified variable as a scale factor on -the energy, forces, virial calculated by whatever K-Space solver is -defined by the "kspace_style"_kspace_style.html command. If the -variable has a value of 1.0, then the solver is unaltered. - -The {kspace} keyword works this way whether the {scale} keyword -is set to {no} or {yes}. - -:line - -The {atom} keyword enables various atom properties to be changed. The -{aparam} argument is the name of the parameter to change. This is the -current list of atom parameters that can be varied by this fix: - -charge = charge on particle -diameter = diameter of particle :ul - -The {I} argument indicates which atom types are affected. A wild-card -asterisk can be used in place of or in conjunction with the I argument -to set the coefficients for multiple atom types. - -The {v_name} argument of the {atom} keyword is the name of an -"equal-style variable"_variable.html which will be evaluated each time -this fix is invoked to set the parameter to a new value. It should be -specified as v_name, where name is the variable name. See the -discussion above describing the formulas associated with equal-style -variables. The new value is assigned to the corresponding attribute -for all atoms in the fix group. - -If the atom parameter is {diameter} and per-atom density and per-atom -mass are defined for particles (e.g. "atom_style -granular"_atom_style.html), then the mass of each particle is also -changed when the diameter changes (density is assumed to stay -constant). - -For example, these commands would shrink the diameter of all granular -particles in the "center" group from 1.0 to 0.1 in a linear fashion -over the course of a 1000-step simulation: - -variable size equal ramp(1.0,0.1) -fix 1 center adapt 10 atom diameter * v_size :pre - -For "rRESPA time integration"_run_style.html, this fix changes -parameters on the outermost rRESPA level. - -: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"_Howto_output.html. -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:] none - -[Related commands:] - -"compute fep"_compute_fep.html, "fix adapt"_fix_adapt.html, "compute -ti"_compute_ti.html, "pair_fep_soft"_pair_fep_soft.html - -[Default:] - -The option defaults are scale = no, reset = no, after = no. diff --git a/doc/txt/fix_addforce.txt b/doc/txt/fix_addforce.txt deleted file mode 100644 index 4fdf9a41ddefb31f80e5d391aee7b2adc60c5a35..0000000000000000000000000000000000000000 --- a/doc/txt/fix_addforce.txt +++ /dev/null @@ -1,181 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix addforce command :h3 - -[Syntax:] - -fix ID group-ID addforce fx fy fz keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -addforce = style name of this fix command :l -fx,fy,fz = force component values (force units) :l - any of fx,fy,fz can be a variable (see below) :pre -zero or more keyword/value pairs may be appended to args :l -keyword = {every} or {region} or {energy} :l - {every} value = Nevery - Nevery = add force every this many timesteps - {region} value = region-ID - region-ID = ID of region atoms must be in to have added force - {energy} value = v_name - v_name = variable with name that calculates the potential energy of each atom in the added force field :pre -:ule - -[Examples:] - -fix kick flow addforce 1.0 0.0 0.0 -fix kick flow addforce 1.0 0.0 v_oscillate -fix ff boundary addforce 0.0 0.0 v_push energy v_espace :pre - -[Description:] - -Add fx,fy,fz to the corresponding component of force for each atom in -the group. This command can be used to give an additional push to -atoms in a simulation, such as for a simulation of Poiseuille flow in -a channel. - -Any of the 3 quantities defining the force components can be specified -as an equal-style or atom-style "variable"_variable.html, namely {fx}, -{fy}, {fz}. If the value is a variable, it should be specified as -v_name, where name is the variable name. In this case, the variable -will be evaluated each timestep, and its value(s) used to determine -the force component. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent force field. - -Atom-style variables can specify the same formulas as equal-style -variables but can also include per-atom values, such as atom -coordinates. Thus it is easy to specify a spatially-dependent force -field with optional time-dependence as well. - -If the {every} keyword is used, the {Nevery} setting determines how -often the forces are applied. The default value is 1, for every -timestep. - -If the {region} keyword is used, the atom must also be in the -specified geometric "region"_region.html in order to have force added -to it. - -:line - -Adding a force to atoms implies a change in their potential energy as -they move due to the applied force field. For dynamics via the "run" -command, this energy can be optionally added to the system's potential -energy for thermodynamic output (see below). For energy minimization -via the "minimize" command, this energy must be added to the system's -potential energy to formulate a self-consistent minimization problem -(see below). - -The {energy} keyword is not allowed if the added force is a constant -vector F = (fx,fy,fz), with all components defined as numeric -constants and not as variables. This is because LAMMPS can compute -the energy for each atom directly as E = -x dot F = -(x*fx + y*fy + -z*fz), so that -Grad(E) = F. - -The {energy} keyword is optional if the added force is defined with -one or more variables, and if you are performing dynamics via the -"run"_run.html command. If the keyword is not used, LAMMPS will set -the energy to 0.0, which is typically fine for dynamics. - -The {energy} keyword is required if the added force is defined with -one or more variables, and you are performing energy minimization via -the "minimize" command. The keyword specifies the name of an -atom-style "variable"_variable.html which is used to compute the -energy of each atom as function of its position. Like variables used -for {fx}, {fy}, {fz}, the energy variable is specified as v_name, -where name is the variable name. - -Note that when the {energy} keyword is used during an energy -minimization, you must insure that the formula defined for the -atom-style "variable"_variable.html is consistent with the force -variable formulas, i.e. that -Grad(E) = F. For example, if the force -were a spring-like F = kx, then the energy formula should be E = --0.5kx^2. If you don't do this correctly, the minimization will not -converge properly. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the potential "energy" inferred by the added force to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. This is a fictitious quantity but is -needed so that the "minimize"_minimize.html command can include the -forces added by this fix in a consistent manner. I.e. there is a -decrease in potential energy when atoms move in the direction of the -added force. - -The "fix_modify"_fix_modify.html {virial} option is supported by this -fix to add the contribution due to the added forces on atoms to the -system's virial as part of "thermodynamic output"_thermo_style.html. -The default is {virial no} - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost -level. - -This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various "output commands"_Howto_output.html. -The scalar is the potential energy discussed above. The vector is the -total force on the group of atoms before the forces on individual -atoms are changed by the fix. The scalar and vector values calculated -by this fix are "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. You should not -specify force components with a variable that has time-dependence for -use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization. - -NOTE: If you want the fictitious potential energy associated with the -added forces to be included in the total potential energy of the -system (the quantity being minimized), you MUST enable the -"fix_modify"_fix_modify.html {energy} option for this fix. - -[Restrictions:] none - -[Related commands:] - -"fix setforce"_fix_setforce.html, "fix aveforce"_fix_aveforce.html - -[Default:] - -The option default for the every keyword is every = 1. diff --git a/doc/txt/fix_addtorque.txt b/doc/txt/fix_addtorque.txt deleted file mode 100644 index 0963915e7a38aabb9db22c12a7fcac6b918c35a9..0000000000000000000000000000000000000000 --- a/doc/txt/fix_addtorque.txt +++ /dev/null @@ -1,98 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix addtorque command :h3 - -[Syntax:] - -fix ID group-ID addtorque Tx Ty Tz :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -addtorque = style name of this fix command :l -Tx,Ty,Tz = torque component values (torque units) :l -any of Tx,Ty,Tz can be a variable (see below) :l -:ule - -[Examples:] - -fix kick bead addtorque 2.0 3.0 5.0 -fix kick bead addtorque 0.0 0.0 v_oscillate :pre - -[Description:] - -Add a set of forces to each atom in -the group such that: - -the components of the total torque applied on the group (around its -center of mass) are Tx,Ty,Tz :ulb,l - -the group would move as a rigid body in the absence of other -forces. :l -:ule - -This command can be used to drive a group of atoms into rotation. - -Any of the 3 quantities defining the torque components can be specified -as an equal-style "variable"_variable.html, namely {Tx}, -{Ty}, {Tz}. If the value is a variable, it should be specified as -v_name, where name is the variable name. In this case, the variable -will be evaluated each timestep, and its value used to determine the -torque component. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent torque. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the potential "energy" inferred by the added forces to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. This is a fictitious quantity but is -needed so that the "minimize"_minimize.html command can include the -forces added by this fix in a consistent manner. I.e. there is a -decrease in potential energy when atoms move in the direction of the -added forces. - -The "fix_modify"_fix_modify.html {respa} option is supported by -this fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its torque. Default is the outermost level. - -This fix computes a global scalar and a global 3-vector, which can be -accessed by various "output commands"_Howto_output.html. The scalar -is the potential energy discussed above. The vector is the total -torque on the group of atoms before the forces on individual atoms are -changed by the fix. The scalar and vector values calculated by this -fix are "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. You should not -specify force components with a variable that has time-dependence for -use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization. - -[Restrictions:] - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix addforce"_fix_addforce.html - -[Default:] none diff --git a/doc/txt/fix_append_atoms.txt b/doc/txt/fix_append_atoms.txt deleted file mode 100644 index 860be9c9fa5b6c2ab6c474a86995115fc4d1472f..0000000000000000000000000000000000000000 --- a/doc/txt/fix_append_atoms.txt +++ /dev/null @@ -1,112 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix append/atoms command :h3 - -[Syntax:] - -fix ID group-ID append/atoms face ... keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -append/atoms = style name of this fix command :l -face = {zhi} :l -zero or more keyword/value pairs may be appended :l -keyword = {basis} or {size} or {freq} or {temp} or {random} or {units} :l - {basis} values = M itype - M = which basis atom - itype = atom type (1-N) to assign to this basis atom - {size} args = Lz - Lz = z size of lattice region appended in a single event(distance units) - {freq} args = freq - freq = the number of timesteps between append events - {temp} args = target damp seed extent - target = target temperature for the region between zhi-extent and zhi (temperature units) - damp = damping parameter (time units) - seed = random number seed for langevin kicks - extent = extent of thermostatted region (distance units) - {random} args = xmax ymax zmax seed - {xmax}, {ymax}, {zmax} = maximum displacement in particular direction (distance units) - {seed} = random number seed for random displacement - {units} value = {lattice} or {box} - {lattice} = the wall position is defined in lattice units - {box} = the wall position is defined in simulation box units :pre -:ule - -[Examples:] - -fix 1 all append/atoms zhi size 5.0 freq 295 units lattice -fix 4 all append/atoms zhi size 15.0 freq 5 units box -fix A all append/atoms zhi size 1.0 freq 1000 units lattice :pre - -[Description:] - -This fix creates atoms on a lattice, appended on the zhi edge of the -system box. This can be useful when a shock or wave is propagating -from zlo. This allows the system to grow with time to accommodate an -expanding wave. A simulation box must already exist, which is -typically created via the "create_box"_create_box.html command. -Before using this command, a lattice must also be defined using the -"lattice"_lattice.html command. - -This fix will automatically freeze atoms on the zhi edge of the -system, so that overlaps are avoided when new atoms are appended. - -The {basis} keyword specifies an atom type that will be assigned to -specific basis atoms as they are created. See the -"lattice"_lattice.html command for specifics on how basis atoms are -defined for the unit cell of the lattice. By default, all created -atoms are assigned type = 1 unless this keyword specifies differently. - -The {size} keyword defines the size in z of the chunk of material to -be added. - -The {random} keyword will give the atoms random displacements around -their lattice points to simulate some initial temperature. - -The {temp} keyword will cause a region to be thermostatted with a -Langevin thermostat on the zhi boundary. The size of the region is -measured from zhi and is set with the {extent} argument. - -The {units} keyword determines the meaning of the distance units used -to define a wall position, but only when a numeric constant is used. -A {box} value selects standard distance units as defined by the -"units"_units.html command, e.g. Angstroms for units = real or metal. -A {lattice} value means the distance units are in lattice spacings. -The "lattice"_lattice.html command must have been previously used to -define the lattice spacings. - -: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"_Howto_output.html. -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 fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -The boundary on which atoms are added with append/atoms must be -shrink/minimum. The opposite boundary may be any boundary type other -than periodic. - -[Related commands:] - -"fix wall/piston"_fix_wall_piston.html command - -[Default:] - -The keyword defaults are size = 0.0, freq = 0, units = lattice. All -added atoms are of type 1 unless the basis keyword is used. diff --git a/doc/txt/fix_atc.txt b/doc/txt/fix_atc.txt deleted file mode 100644 index 6de917e5714e6b68537b1180a7f7c5b9769cec81..0000000000000000000000000000000000000000 --- a/doc/txt/fix_atc.txt +++ /dev/null @@ -1,247 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix atc command :h3 - -[Syntax:] - -fix atc :pre - -fixID = name of fix :l -group = name of group fix is to be applied :l -type = {thermal} or {two_temperature} or {hardy} or {field} :l - {thermal} = thermal coupling with fields: temperature - {two_temperature} = electron-phonon coupling with field: temperature and electron_temperature - {hardy} = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields) - {field} = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields) :pre -parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file :l -:ule - -[Examples:] - -fix AtC internal atc thermal Ar_thermal.dat -fix AtC internal atc two_temperature Ar_ttm.mat -fix AtC internal atc hardy -fix AtC internal atc field :pre - -[Description:] - -This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. - -:c,image(JPG/atc_nanotube.jpg) - -The following coupling example is typical, but non-exhaustive: - # ... commands to create and initialize the MD system :pre - - # initial fix to designate coupling type and group to apply it to - # tag group physics material_file - fix AtC internal atc thermal Ar_thermal.mat :pre - - # create a uniform 12 x 2 x 2 mesh that covers region contain the group - # nx ny nz region periodicity - fix_modify AtC mesh create 12 2 2 mdRegion f p p :pre - - # specify the control method for the type of coupling - # physics control_type - fix_modify AtC thermal control flux :pre - - # specify the initial values for the empirical field "temperature" - # field node_group value - fix_modify AtC initial temperature all 30 :pre - - # create an output stream for nodal fields - # filename output_frequency - fix_modify AtC output atc_fe_output 100 :pre - - run 1000 :pre - -likewise for this post-processing example: - - # ... commands to create and initialize the MD system :pre - - # initial fix to designate post-processing and the group to apply it to - # no material file is allowed nor required - fix AtC internal atc hardy :pre - - # for hardy fix, specific kernel function (function type and range) to # be used as a localization function - fix AtC kernel quartic_sphere 10.0 :pre - - # create a uniform 1 x 1 x 1 mesh that covers region contain the group - # with periodicity this effectively creats a system average - fix_modify AtC mesh create 1 1 1 box p p p :pre - - # change from default lagrangian map to eulerian - # refreshed every 100 steps - fix_modify AtC atom_element_map eulerian 100 :pre - - # start with no field defined - # add mass density, potential energy density, stress and temperature - fix_modify AtC fields add density energy stress temperature :pre - - # create an output stream for nodal fields - # filename output_frequency - fix_modify AtC output nvtFE 100 text :pre - - run 1000 :pre - -the mesh's linear interpolation functions can be used as the localization function -by using the field option: - - fix AtC internal atc field - fix_modify AtC mesh create 1 1 1 box p p p - ... :pre - -Note coupling and post-processing can be combined in the same simulations using separate fixes. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. The "fix_modify"_fix_modify.html options -relevant to this fix are listed below. No global scalar or vector or -per-atom quantities are stored by this fix for access by various -"output commands"_Howto_output.html. 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:] - -Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc. In addition, currently: - -the coupling is restricted to thermal physics :ulb,l -the FE computations are done in serial on each processor. :l,ule - -[Related commands:] - -After specifying this fix in your input script, several other "fix_modify"_fix_modify.html commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. - -fix_modify commands for setup: - -"fix_modify AtC mesh create"_USER/atc/man_mesh_create.html -"fix_modify AtC mesh quadrature"_USER/atc/man_mesh_quadrature.html -"fix_modify AtC mesh read"_USER/atc/man_mesh_read.html -"fix_modify AtC mesh write"_USER/atc/man_mesh_write.html -"fix_modify AtC mesh create_nodeset"_USER/atc/man_mesh_create_nodeset.html -"fix_modify AtC mesh add_to_nodeset"_USER/atc/man_mesh_add_to_nodeset.html -"fix_modify AtC mesh create_faceset box"_USER/atc/man_mesh_create_faceset_box.html -"fix_modify AtC mesh create_faceset plane"_USER/atc/man_mesh_create_faceset_plane.html -"fix_modify AtC mesh create_elementset"_USER/atc/man_mesh_create_elementset.html -"fix_modify AtC mesh delete_elements"_USER/atc/man_mesh_delete_elements.html -"fix_modify AtC mesh nodeset_to_elementset"_USER/atc/man_mesh_nodeset_to_elementset.html -"fix_modify AtC boundary"_USER/atc/man_boundary.html -"fix_modify AtC internal_quadrature"_USER/atc/man_internal_quadrature.html -"fix_modify AtC time_integration (thermal)"_USER/atc/man_thermal_time_integration.html -"fix_modify AtC time_integration (momentum)"_USER/atc/man_momentum_time_integration.html -"fix_modify AtC extrinsic electron_integration"_USER/atc/man_electron_integration.html -"fix_modify AtC internal_element_set"_USER/atc/man_internal_element_set.html -"fix_modify AtC decomposition"_USER/atc/man_decomposition.html :ul - -fix_modify commands for boundary and initial conditions: - -"fix_modify AtC initial"_USER/atc/man_initial.html -"fix_modify AtC fix"_USER/atc/man_fix_nodes.html -"fix_modify AtC unfix"_USER/atc/man_unfix_nodes.html -"fix_modify AtC fix_flux"_USER/atc/man_fix_flux.html -"fix_modify AtC unfix_flux"_USER/atc/man_unfix_flux.html -"fix_modify AtC source"_USER/atc/man_source.html -"fix_modify AtC remove_source"_USER/atc/man_remove_source.html :ul - -fix_modify commands for control and filtering: - -"fix_modify AtC control"_USER/atc/man_control.html -"fix_modify AtC control thermal"_USER/atc/man_control_thermal.html -"fix_modify AtC control thermal correction_max_iterations"_USER/atc/man_control_thermal_correction_max_iterations.html -"fix_modify AtC control momentum"_USER/atc/man_control_momentum.html -"fix_modify AtC control localized_lambda"_USER/atc/man_localized_lambda.html -"fix_modify AtC control lumped_lambda_solve"_USER/atc/man_lumped_lambda_solve.html -"fix_modify AtC control mask_direction"_USER/atc/man_mask_direction.html control -"fix_modify AtC filter"_USER/atc/man_time_filter.html -"fix_modify AtC filter scale"_USER/atc/man_filter_scale.html -"fix_modify AtC filter type"_USER/atc/man_filter_type.html -"fix_modify AtC equilibrium_start"_USER/atc/man_equilibrium_start.html -"fix_modify AtC extrinsic exchange"_USER/atc/man_extrinsic_exchange.html -"fix_modify AtC poisson_solver"_USER/atc/man_poisson_solver.html :ul - -fix_modify commands for output: - -"fix_modify AtC output"_USER/atc/man_output.html -"fix_modify AtC output nodeset"_USER/atc/man_output_nodeset.html -"fix_modify AtC output elementset"_USER/atc/man_output_elementset.html -"fix_modify AtC output boundary_integral"_USER/atc/man_boundary_integral.html -"fix_modify AtC output contour_integral"_USER/atc/man_contour_integral.html -"fix_modify AtC mesh output"_USER/atc/man_mesh_output.html -"fix_modify AtC write_restart"_USER/atc/man_write_restart.html -"fix_modify AtC read_restart"_USER/atc/man_read_restart.html :ul - -fix_modify commands for post-processing: - -"fix_modify AtC kernel"_USER/atc/man_hardy_kernel.html -"fix_modify AtC fields"_USER/atc/man_hardy_fields.html -"fix_modify AtC grdients"_USER/atc/man_hardy_gradients.html -"fix_modify AtC rates"_USER/atc/man_hardy_rates.html -"fix_modify AtC computes"_USER/atc/man_hardy_computes.html -"fix_modify AtC on_the_fly"_USER/atc/man_hardy_on_the_fly.html -"fix_modify AtC pair_interactions/bond_interactions"_USER/atc/man_pair_interactions.html -"fix_modify AtC sample_frequency"_USER/atc/man_sample_frequency.html -"fix_modify AtC set"_USER/atc/man_set.html :ul - -miscellaneous fix_modify commands: - -"fix_modify AtC atom_element_map"_USER/atc/man_atom_element_map.html -"fix_modify AtC atom_weight"_USER/atc/man_atom_weight.html -"fix_modify AtC write_atom_weights"_USER/atc/man_write_atom_weights.html -"fix_modify AtC reset_time"_USER/atc/man_reset_time.html -"fix_modify AtC reset_atomic_reference_positions"_USER/atc/man_reset_atomic_reference_positions.html -"fix_modify AtC fe_md_boundary"_USER/atc/man_fe_md_boundary.html -"fix_modify AtC boundary_faceset"_USER/atc/man_boundary_faceset.html -"fix_modify AtC consistent_fe_initialization"_USER/atc/man_consistent_fe_initialization.html -"fix_modify AtC mass_matrix"_USER/atc/man_mass_matrix.html -"fix_modify AtC material"_USER/atc/man_material.html -"fix_modify AtC atomic_charge"_USER/atc/man_atomic_charge.html -"fix_modify AtC source_integration"_USER/atc/man_source_integration.html -"fix_modify AtC temperature_definition"_USER/atc/man_temperature_definition.html -"fix_modify AtC track_displacement"_USER/atc/man_track_displacement.html -"fix_modify AtC boundary_dynamics"_USER/atc/man_boundary_dynamics.html -"fix_modify AtC add_species"_USER/atc/man_add_species.html -"fix_modify AtC add_molecule"_USER/atc/man_add_molecule.html -"fix_modify AtC remove_species"_USER/atc/man_remove_species.html -"fix_modify AtC remove_molecule"_USER/atc/man_remove_molecule.html :ul - -Note: a set of example input files with the attendant material files are included with this package - -[Default:] -None - -:line - -For detailed exposition of the theory and algorithms please see: - -:link(Wagner) -[(Wagner)] Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An atomistic-to-continuum coupling method for heat transfer in solids." Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351. - -:link(Zimmeman2004) -[(Zimmerman2004)] Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319. - -:link(Zimmerman2010) -[(Zimmerman2010)] Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364. - -:link(Templeton2010) -[(Templeton2010)] Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007. - -:link(Jones) -[(Jones)] Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, "Electron transport enhanced molecular dynamics for metals and semi-metals." International Journal for Numerical Methods in Engineering (2010), 83:940. - -:link(Templeton2011) -[(Templeton2011)] Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736. - -:link(Mandadapu) -[(Mandadapu)] Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115. - -Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation. - diff --git a/doc/txt/fix_atom_swap.txt b/doc/txt/fix_atom_swap.txt deleted file mode 100644 index cb6bc26aa19dbde386e6a5877f116bd7848644fe..0000000000000000000000000000000000000000 --- a/doc/txt/fix_atom_swap.txt +++ /dev/null @@ -1,192 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix atom/swap command :h3 - -[Syntax:] - -fix ID group-ID atom/swap N X seed T keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -atom/swap = style name of this fix command :l -N = invoke this fix every N steps :l -X = number of swaps to attempt every N steps :l -seed = random # seed (positive integer) :l -T = scaling temperature of the MC swaps (temperature units) :l -one or more keyword/value pairs may be appended to args :l -keyword = {types} or {mu} or {ke} or {semi-grand} or {region} :l - {types} values = two or more atom types - {mu} values = chemical potential of swap types (energy units) - {ke} value = {no} or {yes} - {no} = no conservation of kinetic energy after atom swaps - {yes} = kinetic energy is conserved after atom swaps - {semi-grand} value = {no} or {yes} - {no} = particle type counts and fractions conserved - {yes} = semi-grand canonical ensemble, particle fractions not conserved - {region} value = region-ID - region-ID = ID of region to use as an exchange/move volume :pre -:ule - -[Examples:] - -fix 2 all atom/swap 1 1 29494 300.0 ke no types 1 2 -fix myFix all atom/swap 100 1 12345 298.0 region my_swap_region types 5 6 -fix SGMC all atom/swap 1 100 345 1.0 semi-grand yes types 1 2 3 mu 0.0 4.3 -5.0 :pre - -[Description:] - -This fix performs Monte Carlo swaps of atoms of one given atom type -with atoms of the other given atom types. The specified T is used in -the Metropolis criterion dictating swap probabilities. - -Perform X swaps of atoms of one type with atoms of another type -according to a Monte Carlo probability. Swap candidates must be in the -fix group, must be in the region (if specified), and must be of one of -the listed types. Swaps are attempted between candidates that are -chosen randomly with equal probability among the candidate -atoms. Swaps are not attempted between atoms of the same type since -nothing would happen. - -All atoms in the simulation domain can be moved using regular time -integration displacements, e.g. via "fix nvt"_fix_nh.html, resulting -in a hybrid MC+MD simulation. A smaller-than-usual timestep size may -be needed when running such a hybrid simulation, especially if the -swapped atoms are not well equilibrated. - -The {types} keyword is required. At least two atom types must be -specified. - -The {ke} keyword can be set to {no} to turn off kinetic energy -conservation for swaps. The default is {yes}, which means that swapped -atoms have their velocities scaled by the ratio of the masses of the -swapped atom types. This ensures that the kinetic energy of each atom -is the same after the swap as it was before the swap, even though the -atom masses have changed. - -The {semi-grand} keyword can be set to {yes} to switch to the -semi-grand canonical ensemble as discussed in "(Sadigh)"_#Sadigh. This -means that the total number of each particle type does not need to be -conserved. The default is {no}, which means that the only kind of swap -allowed exchanges an atom of one type with an atom of a different -given type. In other words, the relative mole fractions of the swapped -atoms remains constant. Whereas in the semi-grand canonical ensemble, -the composition of the system can change. Note that when using -{semi-grand}, atoms in the fix group whose type is not listed -in the {types} keyword are ineligible for attempted -conversion. An attempt is made to switch -the selected atom (if eligible) to one of the other listed types -with equal probability. Acceptance of each attempt depends upon the Metropolis criterion. - -The {mu} keyword allows users to specify chemical -potentials. This is required and allowed only when using {semi-grand}. -All chemical potentials are absolute, so there is one for -each swap type listed following the {types} keyword. -In semi-grand canonical ensemble simulations the chemical composition -of the system is controlled by the difference in these values. So -shifting all values by a constant amount will have no effect -on the simulation. - -This command may optionally use the {region} keyword to define swap -volume. The specified region must have been previously defined with a -"region"_region.html command. It must be defined with side = {in}. -Swap attempts occur only between atoms that are both within the -specified region. Swaps are not otherwise attempted. - -You should ensure you do not swap atoms belonging to a molecule, or -LAMMPS will soon generate an error when it tries to find those atoms. -LAMMPS will warn you if any of the atoms eligible for swapping have a -non-zero molecule ID, but does not check for this at the time of -swapping. - -If not using {semi-grand} this fix checks to ensure all atoms of the -given types have the same atomic charge. LAMMPS doesn't enforce this -in general, but it is needed for this fix to simplify the -swapping procedure. Successful swaps will swap the atom type and charge -of the swapped atoms. Conversely, when using {semi-grand}, it is assumed that all the atom -types involved in switches have the same charge. Otherwise, charge -would not be conserved. As a consequence, no checks on atomic charges are -performed, and successful switches update the atom type but not the -atom charge. While it is possible to use {semi-grand} with groups of -atoms that have different charges, these charges will not be changed when the -atom types change. - -Since this fix computes total potential energies before and after -proposed swaps, so even complicated potential energy calculations are -OK, including the following: - - long-range electrostatics (kspace) - many body pair styles - hybrid pair styles - eam pair styles - triclinic systems - need to include potential energy contributions from other fixes :ul - -Some fixes have an associated potential energy. Examples of such fixes -include: "efield"_fix_efield.html, "gravity"_fix_gravity.html, -"addforce"_fix_addforce.html, "langevin"_fix_langevin.html, -"restrain"_fix_restrain.html, "temp/berendsen"_fix_temp_berendsen.html, -"temp/rescale"_fix_temp_rescale.html, and "wall fixes"_fix_wall.html. -For that energy to be included in the total potential energy of the -system (the quantity used when performing GCMC moves), -you MUST enable the "fix_modify"_fix_modify.html {energy} option for -that fix. The doc pages for individual "fix"_fix.html commands -specify if this should be done. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the fix to "binary restart -files"_restart.html. This includes information about the random -number generator seed, the next timestep for MC exchanges, the number -of exchange attempts and successes etc. See -the "read_restart"_read_restart.html command for info on how to -re-specify a fix in an input script that reads a restart file, so that -the operation of the fix continues in an uninterrupted fashion. - -NOTE: For this to work correctly, the timestep must [not] be changed -after reading the restart with "reset_timestep"_reset_timestep.html. -The fix will try to detect it and stop with an error. - -None of the "fix_modify"_fix_modify.html options are relevant to this -fix. - -This fix computes a global vector of length 2, which can be accessed -by various "output commands"_Howto_output.html. The vector values are -the following global cumulative quantities: - -1 = swap attempts -2 = swap successes :ul - -The vector values calculated by this fix are "extensive". - -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 fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the "Build package"_Build_package.html -doc page for more info. - -[Related commands:] - -"fix nvt"_fix_nh.html, "neighbor"_neighbor.html, -"fix deposit"_fix_deposit.html, "fix evaporate"_fix_evaporate.html, -"delete_atoms"_delete_atoms.html, "fix gcmc"_fix_gcmc.html - -[Default:] - -The option defaults are ke = yes, semi-grand = no, mu = 0.0 for -all atom types. - -:line - -:link(Sadigh) -[(Sadigh)] B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and -L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012). - diff --git a/doc/txt/fix_ave_atom.txt b/doc/txt/fix_ave_atom.txt deleted file mode 100644 index 596f9ee46c1210ae9485fcd0131b293ce46d4c39..0000000000000000000000000000000000000000 --- a/doc/txt/fix_ave_atom.txt +++ /dev/null @@ -1,179 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix ave/atom command :h3 - -[Syntax:] - -fix ID group-ID ave/atom Nevery Nrepeat Nfreq value1 value2 ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -ave/atom = style name of this fix command :l -Nevery = use input values every this many timesteps :l -Nrepeat = # of times to use input values for calculating averages :l -Nfreq = calculate averages every this many timesteps -one or more input values can be listed :l -value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID\[i\], f_ID, f_ID\[i\], v_name :l - x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) - c_ID = per-atom vector calculated by a compute with ID - c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) - f_ID = per-atom vector calculated by a fix with ID - f_ID\[I\] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below) - v_name = per-atom vector calculated by an atom-style variable with name :pre -:ule - -[Examples:] - -fix 1 all ave/atom 1 100 100 vx vy vz -fix 1 all ave/atom 10 20 1000 c_my_stress\[1\] -fix 1 all ave/atom 10 20 1000 c_my_stress\[*\] :pre - -[Description:] - -Use one or more per-atom vectors as inputs every few timesteps, and -average them atom by atom over longer timescales. The resulting -per-atom averages can be used by other "output -commands"_Howto_output.html such as the "fix -ave/chunk"_fix_ave_chunk.html or "dump custom"_dump.html commands. - -The group specified with the command means only atoms within the group -have their averages computed. Results are set to 0.0 for atoms not in -the group. - -Each input value can be an atom attribute (position, velocity, force -component) or can be the result of a "compute"_compute.html or -"fix"_fix.html or the evaluation of an atom-style -"variable"_variable.html. In the latter cases, the compute, fix, or -variable must produce a per-atom vector, not a global quantity or -local quantity. If you wish to time-average global quantities from a -compute, fix, or variable, then see the "fix -ave/time"_fix_ave_time.html command. - -Each per-atom value of each input vector is averaged independently. - -"Computes"_compute.html that produce per-atom vectors or arrays are -those which have the word {atom} in their style name. See the doc -pages for individual "fixes"_fix.html to determine which ones produce -per-atom vectors or arrays. "Variables"_variable.html of style {atom} -are the only ones that can be used with this fix since they produce -per-atom vectors. - -Note that for values from a compute or fix, the bracketed index I can -be specified using a wildcard asterisk with the index to effectively -specify multiple values. This takes the form "*" or "*n" or "n*" or -"m*n". If N = the size of the vector (for {mode} = scalar) or the -number of columns in the array (for {mode} = vector), then an asterisk -with no numeric values means all indices from 1 to N. A leading -asterisk means all indices from 1 to n (inclusive). A trailing -asterisk means all indices from n to N (inclusive). A middle asterisk -means all indices from m to n (inclusive). - -Using a wildcard is the same as if the individual columns of the array -had been listed one by one. E.g. these 2 fix ave/atom commands are -equivalent, since the "compute stress/atom"_compute_stress_atom.html -command creates a per-atom array with 6 columns: - -compute my_stress all stress/atom NULL -fix 1 all ave/atom 10 20 1000 c_my_stress\[*\] -fix 1 all ave/atom 10 20 1000 c_my_stress\[1\] c_my_stress\[2\] & - c_my_stress\[3\] c_my_stress\[4\] & - c_my_stress\[5\] c_my_stress\[6\] :pre - -:line - -The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify on what -timesteps the input values will be used in order to contribute to the -average. The final averaged quantities are generated on timesteps -that are a multiple of {Nfreq}. The average is over {Nrepeat} -quantities, computed in the preceding portion of the simulation every -{Nevery} timesteps. {Nfreq} must be a multiple of {Nevery} and -{Nevery} must be non-zero even if {Nrepeat} is 1. Also, the timesteps -contributing to the average value cannot overlap, -i.e. Nrepeat*Nevery can not exceed Nfreq. - -For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on -timesteps 90,92,94,96,98,100 will be used to compute the final average -on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on -timestep 200, etc. - -:line - -The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are -self-explanatory. Note that other atom attributes can be used as -inputs to this fix by using the "compute -property/atom"_compute_property_atom.html command and then specifying -an input value from that compute. - -NOTE: The x,y,z attributes are values that are re-wrapped inside the -periodic box whenever an atom crosses a periodic boundary. Thus if -you time average an atom that spends half its time on either side of -the periodic box, you will get a value in the middle of the box. If -this is not what you want, consider averaging unwrapped coordinates, -which can be provided by the "compute -property/atom"_compute_property_atom.html command via its xu,yu,zu -attributes. - -If a value begins with "c_", a compute ID must follow which has been -previously defined in the input script. If no bracketed term is -appended, the per-atom vector calculated by the compute is used. If a -bracketed term containing an index I is appended, the Ith column of -the per-atom array calculated by the compute is used. Users can also -write code for their own compute styles and "add them to -LAMMPS"_Modify.html. See the discussion above for how I can -be specified with a wildcard asterisk to effectively specify multiple -values. - -If a value begins with "f_", a fix ID must follow which has been -previously defined in the input script. If no bracketed term is -appended, the per-atom vector calculated by the fix is used. If a -bracketed term containing an index I is appended, the Ith column of -the per-atom array calculated by the fix is used. Note that some -fixes only produce their values on certain timesteps, which must be -compatible with {Nevery}, else an error will result. Users can also -write code for their own fix styles and "add them to -LAMMPS"_Modify.html. See the discussion above for how I can be -specified with a wildcard asterisk to effectively specify multiple -values. - -If a value begins with "v_", a variable name must follow which has -been previously defined in the input script as an "atom-style -variable"_variable.html Variables of style {atom} can reference -thermodynamic keywords, or invoke other computes, fixes, or variables -when they are evaluated, so this is a very general means of generating -per-atom quantities to time average. - -: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 scalar or vector quantities are -stored by this fix for access by various "output -commands"_Howto_output.html. - -This fix produces a per-atom vector or array which can be accessed by -various "output commands"_Howto_output.html. A vector is produced if -only a single quantity is averaged by this fix. If two or more -quantities are averaged, then an array of values is produced. The -per-atom values can only be accessed on timesteps that are multiples -of {Nfreq} since that is when averaging is performed. - -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:] none - -[Related commands:] - -"compute"_compute.html, "fix ave/histo"_fix_ave_histo.html, "fix -ave/chunk"_fix_ave_chunk.html, "fix ave/time"_fix_ave_time.html, -"variable"_variable.html, - -[Default:] none diff --git a/doc/txt/fix_ave_correlate.txt b/doc/txt/fix_ave_correlate.txt deleted file mode 100644 index 22e8768f1d04444df665513b4d5651c1e31cdbde..0000000000000000000000000000000000000000 --- a/doc/txt/fix_ave_correlate.txt +++ /dev/null @@ -1,369 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix ave/correlate command :h3 - -[Syntax:] - -fix ID group-ID ave/correlate Nevery Nrepeat Nfreq value1 value2 ... keyword args ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -ave/correlate = style name of this fix command :l -Nevery = use input values every this many timesteps :l -Nrepeat = # of correlation time windows to accumulate :l -Nfreq = calculate time window averages every this many timesteps :l -one or more input values can be listed :l -value = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l - c_ID = global scalar calculated by a compute with ID - c_ID\[I\] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below) - f_ID = global scalar calculated by a fix with ID - f_ID\[I\] = Ith component of global vector calculated by a fix with ID, I can include wildcard (see below) - v_name = global value calculated by an equal-style variable with name - v_name\[I\] = Ith component of a vector-style variable with name :pre - -zero or more keyword/arg pairs may be appended :l -keyword = {type} or {ave} or {start} or {prefactor} or {file} or {overwrite} or {title1} or {title2} or {title3} :l - {type} arg = {auto} or {upper} or {lower} or {auto/upper} or {auto/lower} or {full} - auto = correlate each value with itself - upper = correlate each value with each succeeding value - lower = correlate each value with each preceding value - auto/upper = auto + upper - auto/lower = auto + lower - full = correlate each value with every other value, including itself = auto + upper + lower - {ave} args = {one} or {running} - one = zero the correlation accumulation every Nfreq steps - running = accumulate correlations continuously - {start} args = Nstart - Nstart = start accumulating correlations on this timestep - {prefactor} args = value - value = prefactor to scale all the correlation data by - {file} arg = filename - filename = name of file to output correlation data to - {overwrite} arg = none = overwrite output file with only latest output - {title1} arg = string - string = text to print as 1st line of output file - {title2} arg = string - string = text to print as 2nd line of output file - {title3} arg = string - string = text to print as 3rd line of output file :pre -:ule - -[Examples:] - -fix 1 all ave/correlate 5 100 1000 c_myTemp file temp.correlate -fix 1 all ave/correlate 1 50 10000 & - c_thermo_press\[1\] c_thermo_press\[2\] c_thermo_press\[3\] & - type upper ave running title1 "My correlation data" :pre -fix 1 all ave/correlate 1 50 10000 c_thermo_press\[*\] - -[Description:] - -Use one or more global scalar values as inputs every few timesteps, -calculate time correlations between them at varying time intervals, -and average the correlation data over longer timescales. The -resulting correlation values can be time integrated by -"variables"_variable.html or used by other "output -commands"_Howto_output.html such as "thermo_style -custom"_thermo_style.html, and can also be written to a file. See the -"fix ave/correlate/long"_fix_ave_correlate_long.html command for an -alternate method for computing correlation functions efficiently over -very long time windows. - -The group specified with this command is ignored. However, note that -specified values may represent calculations performed by computes and -fixes which store their own "group" definitions. - -Each listed value can be the result of a "compute"_compute.html or -"fix"_fix.html or the evaluation of an equal-style or vector-style -"variable"_variable.html. In each case, the compute, fix, or variable -must produce a global quantity, not a per-atom or local quantity. If -you wish to spatial- or time-average or histogram per-atom quantities -from a compute, fix, or variable, then see the "fix -ave/chunk"_fix_ave_chunk.html, "fix ave/atom"_fix_ave_atom.html, or -"fix ave/histo"_fix_ave_histo.html commands. If you wish to convert a -per-atom quantity into a single global value, see the "compute -reduce"_compute_reduce.html command. - -The input values must either be all scalars. What kinds of -correlations between input values are calculated is determined by the -{type} keyword as discussed below. - -"Computes"_compute.html that produce global quantities are those which -do not have the word {atom} in their style name. Only a few -"fixes"_fix.html produce global quantities. See the doc pages for -individual fixes for info on which ones produce such values. -"Variables"_variable.html of style {equal} and {vector} are the only -ones that can be used with this fix. Variables of style {atom} cannot -be used, since they produce per-atom values. - -Note that for values from a compute or fix, the bracketed index I can -be specified using a wildcard asterisk with the index to effectively -specify multiple values. This takes the form "*" or "*n" or "n*" or -"m*n". If N = the size of the vector (for {mode} = scalar) or the -number of columns in the array (for {mode} = vector), then an asterisk -with no numeric values means all indices from 1 to N. A leading -asterisk means all indices from 1 to n (inclusive). A trailing -asterisk means all indices from n to N (inclusive). A middle asterisk -means all indices from m to n (inclusive). - -Using a wildcard is the same as if the individual elements of the -vector had been listed one by one. E.g. these 2 fix ave/correlate -commands are equivalent, since the "compute -pressure"_compute_pressure.html command creates a global vector with 6 -values. - -compute myPress all pressure NULL -fix 1 all ave/correlate 1 50 10000 c_myPress\[*\] -fix 1 all ave/correlate 1 50 10000 & - c_myPress\[1\] c_myPress\[2\] c_myPress\[3\] & - c_myPress\[4\] c_myPress\[5\] c_myPress\[6\] :pre - -:line - -The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify on what -timesteps the input values will be used to calculate correlation data. -The input values are sampled every {Nevery} timesteps. The -correlation data for the preceding samples is computed on timesteps -that are a multiple of {Nfreq}. Consider a set of samples from some -initial time up to an output timestep. The initial time could be the -beginning of the simulation or the last output time; see the {ave} -keyword for options. For the set of samples, the correlation value -Cij is calculated as: - -Cij(delta) = ave(Vi(t)*Vj(t+delta)) :pre - -which is the correlation value between input values Vi and Vj, -separated by time delta. Note that the second value Vj in the pair is -always the one sampled at the later time. The ave() represents an -average over every pair of samples in the set that are separated by -time delta. The maximum delta used is of size ({Nrepeat}-1)*{Nevery}. -Thus the correlation between a pair of input values yields {Nrepeat} -correlation datums: - -Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij((Nrepeat-1)*Nevery) :pre - -For example, if Nevery=5, Nrepeat=6, and Nfreq=100, then values on -timesteps 0,5,10,15,...,100 will be used to compute the final averages -on timestep 100. Six averages will be computed: Cij(0), Cij(5), -Cij(10), Cij(15), Cij(20), and Cij(25). Cij(10) on timestep 100 will -be the average of 19 samples, namely Vi(0)*Vj(10), Vi(5)*Vj(15), -Vi(10)*V j20), Vi(15)*Vj(25), ..., Vi(85)*Vj(95), Vi(90)*Vj(100). - -{Nfreq} must be a multiple of {Nevery}; {Nevery} and {Nrepeat} must be -non-zero. Also, if the {ave} keyword is set to {one} which is the -default, then {Nfreq} >= ({Nrepeat}-1)*{Nevery} is required. - -:line - -If a value begins with "c_", a compute ID must follow which has been -previously defined in the input script. If no bracketed term is -appended, the global scalar calculated by the compute is used. If a -bracketed term is appended, the Ith element of the global vector -calculated by the compute is used. See the discussion above for how I -can be specified with a wildcard asterisk to effectively specify -multiple values. - -Note that there is a "compute reduce"_compute_reduce.html command -which can sum per-atom quantities into a global scalar or vector which -can thus be accessed by fix ave/correlate. Or it can be a compute -defined not in your input script, but by "thermodynamic -output"_thermo_style.html or other fixes such as "fix nvt"_fix_nh.html -or "fix temp/rescale"_fix_temp_rescale.html. See the doc pages for -these commands which give the IDs of these computes. Users can also -write code for their own compute styles and "add them to -LAMMPS"_Modify.html. - -If a value begins with "f_", a fix ID must follow which has been -previously defined in the input script. If no bracketed term is -appended, the global scalar calculated by the fix is used. If a -bracketed term is appended, the Ith element of the global vector -calculated by the fix is used. See the discussion above for how I can -be specified with a wildcard asterisk to effectively specify multiple -values. - -Note that some fixes only produce their values on certain timesteps, -which must be compatible with {Nevery}, else an error will result. -Users can also write code for their own fix styles and "add them to -LAMMPS"_Modify.html. - -If a value begins with "v_", a variable name must follow which has -been previously defined in the input script. Only equal-style or -vector-style variables can be referenced; the latter requires a -bracketed term to specify the Ith element of the vector calculated by -the variable. See the "variable"_variable.html command for details. -Note that variables of style {equal} or {vector} define a formula -which can reference individual atom properties or thermodynamic -keywords, or they can invoke other computes, fixes, or variables when -they are evaluated, so this is a very general means of specifying -quantities to time correlate. - -:line - -Additional optional keywords also affect the operation of this fix. - -The {type} keyword determines which pairs of input values are -correlated with each other. For N input values Vi, for i = 1 to N, -let the number of pairs = Npair. Note that the second value in the -pair Vi(t)*Vj(t+delta) is always the one sampled at the later time. - -If {type} is set to {auto} then each input value is correlated with -itself. I.e. Cii = Vi*Vi, for i = 1 to N, so Npair = N. :ulb,l - -If {type} is set -to {upper} then each input value is correlated with every succeeding -value. I.e. Cij = Vi*Vj, for i < j, so Npair = N*(N-1)/2. :l - -If {type} is set -to {lower} then each input value is correlated with every preceding -value. I.e. Cij = Vi*Vj, for i > j, so Npair = N*(N-1)/2. :l - -If {type} is set to {auto/upper} then each input value is correlated -with itself and every succeeding value. I.e. Cij = Vi*Vj, for i >= j, -so Npair = N*(N+1)/2. :l - -If {type} is set to {auto/lower} then each input value is correlated -with itself and every preceding value. I.e. Cij = Vi*Vj, for i <= j, -so Npair = N*(N+1)/2. :l - -If {type} is set to {full} then each input value is correlated with -itself and every other value. I.e. Cij = Vi*Vj, for i,j = 1,N so -Npair = N^2. :l -:ule - -The {ave} keyword determines what happens to the accumulation of -correlation samples every {Nfreq} timesteps. If the {ave} setting is -{one}, then the accumulation is restarted or zeroed every {Nfreq} -timesteps. Thus the outputs on successive {Nfreq} timesteps are -essentially independent of each other. The exception is that the -Cij(0) = Vi(T)*Vj(T) value at a timestep T, where T is a multiple of -{Nfreq}, contributes to the correlation output both at time T and at -time T+Nfreq. - -If the {ave} setting is {running}, then the accumulation is never -zeroed. Thus the output of correlation data at any timestep is the -average over samples accumulated every {Nevery} steps since the fix -was defined. it can only be restarted by deleting the fix via the -"unfix"_unfix.html command, or by re-defining the fix by re-specifying -it. - -The {start} keyword specifies what timestep the accumulation of -correlation samples will begin on. The default is step 0. Setting it -to a larger value can avoid adding non-equilibrated data to the -correlation averages. - -The {prefactor} keyword specifies a constant which will be used as a -multiplier on the correlation data after it is averaged. It is -effectively a scale factor on Vi*Vj, which can be used to account for -the size of the time window or other unit conversions. - -The {file} keyword allows a filename to be specified. Every {Nfreq} -steps, an array of correlation data is written to the file. The -number of rows is {Nrepeat}, as described above. The number of -columns is the Npair+2, also as described above. Thus the file ends -up to be a series of these array sections. - -The {overwrite} keyword will continuously overwrite the output file -with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the {ave running} setting. - -The {title1} and {title2} and {title3} keywords allow specification of -the strings that will be printed as the first 3 lines of the output -file, assuming the {file} keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified. - -By default, these header lines are as follows: - -# Time-correlated data for fix ID -# TimeStep Number-of-time-windows -# Index TimeDelta Ncount valueI*valueJ valueI*valueJ ... :pre - -In the first line, ID is replaced with the fix-ID. The second line -describes the two values that are printed at the first of each section -of output. In the third line the value pairs are replaced with the -appropriate fields from the fix ave/correlate command. - -:line - -Let Sij = a set of time correlation data for input values I and J, -namely the {Nrepeat} values: - -Sij = Cij(0), Cij(Nevery), Cij(2*Nevery), ..., Cij(*Nrepeat-1)*Nevery) :pre - -As explained below, these datums are output as one column of a global -array, which is effectively the correlation matrix. - -The {trap} function defined for "equal-style variables"_variable.html -can be used to perform a time integration of this vector of datums, -using a trapezoidal rule. This is useful for calculating various -quantities which can be derived from time correlation data. If a -normalization factor is needed for the time integration, it can be -included in the variable formula or via the {prefactor} keyword. - -: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. - -This fix computes a global array of values which can be accessed by -various "output commands"_Howto_output.html. The values can only be -accessed on timesteps that are multiples of {Nfreq} since that is when -averaging is performed. The global array has # of rows = {Nrepeat} -and # of columns = Npair+2. The first column has the time delta (in -timesteps) between the pairs of input values used to calculate the -correlation, as described above. The 2nd column has the number of -samples contributing to the correlation average, as described above. -The remaining Npair columns are for I,J pairs of the N input values, -as determined by the {type} keyword, as described above. - -For {type} = {auto}, the Npair = N columns are ordered: C11, C22, ..., -CNN. :ulb,l - -For {type} = {upper}, the Npair = N*(N-1)/2 columns are ordered: C12, -C13, ..., C1N, C23, ..., C2N, C34, ..., CN-1N. :l - -For {type} = {lower}, the Npair = N*(N-1)/2 columns are ordered: C21, -C31, C32, C41, C42, C43, ..., CN1, CN2, ..., CNN-1. :l - -For {type} = {auto/upper}, the Npair = N*(N+1)/2 columns are ordered: -C11, C12, C13, ..., C1N, C22, C23, ..., C2N, C33, C34, ..., CN-1N, -CNN. :l - -For {type} = {auto/lower}, the Npair = N*(N+1)/2 columns are ordered: -C11, C21, C22, C31, C32, C33, C41, ..., C44, CN1, CN2, ..., CNN-1, -CNN. :l - -For {type} = {full}, the Npair = N^2 columns are ordered: C11, C12, -..., C1N, C21, C22, ..., C2N, C31, ..., C3N, ..., CN1, ..., CNN-1, -CNN. :l -:ule - -The array values calculated by this fix are treated as intensive. If -you need to divide them by the number of atoms, you must do this in a -later processing step, e.g. when using them in a -"variable"_variable.html. - -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:] none - -[Related commands:] - -"fix ave/correlate/long"_fix_ave_correlate_long.html, -"compute"_compute.html, "fix ave/time"_fix_ave_time.html, "fix -ave/atom"_fix_ave_atom.html, "fix ave/chunk"_fix_ave_chunk.html, -"fix ave/histo"_fix_ave_histo.html, "variable"_variable.html - -[Default:] none - -The option defaults are ave = one, type = auto, start = 0, no file -output, title 1,2,3 = strings as described above, and prefactor = 1.0. diff --git a/doc/txt/fix_ave_correlate_long.txt b/doc/txt/fix_ave_correlate_long.txt deleted file mode 100644 index d94bf8af7b08daf2767255ddeaaed993c2e1691a..0000000000000000000000000000000000000000 --- a/doc/txt/fix_ave_correlate_long.txt +++ /dev/null @@ -1,144 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix ave/correlate/long command :h3 - -[Syntax:] - -fix ID group-ID ave/correlate/long Nevery Nfreq value1 value2 ... keyword args ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -ave/correlate/long = style name of this fix command :l -Nevery = use input values every this many timesteps :l -Nfreq = save state of the time correlation functions every this many timesteps :l -one or more input values can be listed :l -value = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l - c_ID = global scalar calculated by a compute with ID - c_ID\[I\] = Ith component of global vector calculated by a compute with ID - f_ID = global scalar calculated by a fix with ID - f_ID\[I\] = Ith component of global vector calculated by a fix with ID - v_name = global value calculated by an equal-style variable with name :pre - -zero or more keyword/arg pairs may be appended :l -keyword = {type} or {start} or {file} or {overwrite} or {title1} or {title2} or {ncorr} or {p} or {m} :l - {type} arg = {auto} or {upper} or {lower} or {auto/upper} or {auto/lower} or {full} - auto = correlate each value with itself - upper = correlate each value with each succeeding value - lower = correlate each value with each preceding value - auto/upper = auto + upper - auto/lower = auto + lower - full = correlate each value with every other value, including itself = auto + upper + lower - {start} args = Nstart - Nstart = start accumulating correlations on this timestep - {file} arg = filename - filename = name of file to output correlation data to - {overwrite} arg = none = overwrite output file with only latest output - {title1} arg = string - string = text to print as 1st line of output file - {title2} arg = string - string = text to print as 2nd line of output file - {ncorr} arg = Ncorrelators - Ncorrelators = number of correlators to store - {nlen} args = Nlen - Nlen = length of each correlator - {ncount} args = Ncount - Ncount = number of values over which succesive correlators are averaged :pre -:ule - -[Examples:] - -fix 1 all ave/correlate/long 5 1000 c_myTemp file temp.correlate -fix 1 all ave/correlate/long 1 10000 & - c_thermo_press\[1\] c_thermo_press\[2\] c_thermo_press\[3\] & - type upper title1 "My correlation data" nlen 15 ncount 3 :pre - -[Description:] - -This fix is similar in spirit and syntax to the "fix -ave/correlate"_fix_ave_correlate.html. However, this fix allows the -efficient calculation of time correlation functions on the fly over -extremely long time windows without too much CPU overhead, using a -multiple-tau method "(Ramirez)"_#Ramirez that decreases the resolution -of the stored correlation function with time. - -The group specified with this command is ignored. However, note that -specified values may represent calculations performed by computes and -fixes which store their own "group" definitions. - -Each listed value can be the result of a compute or fix or the -evaluation of an equal-style variable. See the "fix -ave/correlate"_fix_ave_correlate.html doc page for details. - -The {Nevery} and {Nfreq} arguments specify on what timesteps the input -values will be used to calculate correlation data, and the frequency -with which the time correlation functions will be output to a file. -Note that there is no {Nrepeat} argument, unlike the "fix -ave/correlate"_fix_ave_correlate.html command. - -The optional keywords {ncorr}, {nlen}, and {ncount} are unique to this -command and determine the number of correlation points calculated and -the memory and CPU overhead used by this calculation. {Nlen} and -{ncount} determine the amount of averaging done at longer correlation -times. The default values {nlen=16}, {ncount=2} ensure that the -systematic error of the multiple-tau correlator is always below the -level of the statistical error of a typical simulation (which depends -on the ensemble size and the simulation length). - -The maximum correlation time (in time steps) that can be reached is -given by the formula (nlen-1) * ncount^(ncorr-1). Longer correlation -times are discarded and not calculated. With the default values of -the parameters (ncorr=20, nlen=16 and ncount=2), this corresponds to -7864320 time steps. If longer correlation times are needed, the value -of ncorr should be increased. Using nlen=16 and ncount=2, with -ncorr=30, the maximum number of steps that can be correlated is -80530636808. If ncorr=40, correlation times in excess of 8e12 time -steps can be calculated. - -The total memory needed for each correlation pair is roughly -4*ncorr*nlen*8 bytes. With the default values of the parameters, this -corresponds to about 10 KB. - -For the meaning of the additional optional keywords, see the "fix -ave/correlate"_fix_ave_correlate.html doc page. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Since this fix in intended for the calculation of time correlation -functions over very long MD simulations, the information about this -fix is written automatically to binary restart files, so that the time -correlation calculation can continue in subsequent simulations. None -of the fix_modify options are relevant to this fix. - -No parameter of this fix can be used with the start/stop keywords of -the run command. This fix is not invoked during energy minimization. - -[Restrictions:] - -This compute is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix ave/correlate"_fix_ave_correlate.html - -[Default:] none - -The option defaults for keywords that are also keywords for the "fix -ave/correlate"_fix_ave_correlate.html command are as follows: type = -auto, start = 0, no file output, title 1,2 = strings as described on -the "fix ave/correlate"_fix_ave_correlate.html doc page. - -The option defaults for keywords unique to this command are as -follows: ncorr=20, nlen=16, ncount=2. - -:line - -:link(Ramirez) -[(Ramirez)] J. Ramirez, S.K. Sukumaran, B. Vorselaars and -A.E. Likhtman, J. Chem. Phys. 133, 154103 (2010). diff --git a/doc/txt/fix_ave_histo.txt b/doc/txt/fix_ave_histo.txt deleted file mode 100644 index 0a17813d215c81e819fd53efb44cfd328a2fd352..0000000000000000000000000000000000000000 --- a/doc/txt/fix_ave_histo.txt +++ /dev/null @@ -1,369 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix ave/histo command :h3 -fix ave/histo/weight command :h3 - -[Syntax:] - -fix ID group-ID style Nevery Nrepeat Nfreq lo hi Nbin value1 value2 ... keyword args ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -style = {ave/histo} or {ave/histo/weight} = style name of this fix command :l -Nevery = use input values every this many timesteps :l -Nrepeat = # of times to use input values for calculating histogram :l -Nfreq = calculate histogram every this many timesteps :l -lo,hi = lo/hi bounds within which to histogram :l -Nbin = # of histogram bins :l -one or more input values can be listed :l -value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l - x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) - c_ID = scalar or vector calculated by a compute with ID - c_ID\[I\] = Ith component of vector or Ith column of array calculated by a compute with ID, I can include wildcard (see below) - f_ID = scalar or vector calculated by a fix with ID - f_ID\[I\] = Ith component of vector or Ith column of array calculated by a fix with ID, I can include wildcard (see below) - v_name = value(s) calculated by an equal-style or vector-style or atom-style variable with name - v_name\[I\] = value calculated by a vector-style variable with name :pre - -zero or more keyword/arg pairs may be appended :l -keyword = {mode} or {file} or {ave} or {start} or {beyond} or {overwrite} or {title1} or {title2} or {title3} :l - {mode} arg = {scalar} or {vector} - scalar = all input values are scalars - vector = all input values are vectors - {kind} arg = {global} or {peratom} or {local} - {file} arg = filename - filename = name of file to output histogram(s) to - {ave} args = {one} or {running} or {window} - one = output a new average value every Nfreq steps - running = output cumulative average of all previous Nfreq steps - window M = output average of M most recent Nfreq steps - {start} args = Nstart - Nstart = start averaging on this timestep - {beyond} arg = {ignore} or {end} or {extra} - ignore = ignore values outside histogram lo/hi bounds - end = count values outside histogram lo/hi bounds in end bins - extra = create 2 extra bins for value outside histogram lo/hi bounds - {overwrite} arg = none = overwrite output file with only latest output - {title1} arg = string - string = text to print as 1st line of output file - {title2} arg = string - string = text to print as 2nd line of output file - {title3} arg = string - string = text to print as 3rd line of output file, only for vector mode :pre -:ule - -[Examples:] - -fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running -fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press\[2\] c_thermo_press\[3\] title1 "My output values" -fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press\[*\] -fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra -fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD\[1\] c_XRD\[2\] :pre - -[Description:] - -Use one or more values as inputs every few timesteps to create a -single histogram. The histogram can then be averaged over longer -timescales. The resulting histogram can be used by other "output -commands"_Howto_output.html, and can also be written to a file. The -fix ave/histo/weight command has identical syntax to fix ave/histo, -except that exactly two values must be specified. See details below. - -The group specified with this command is ignored for global and local -input values. For per-atom input values, only atoms in the group -contribute to the histogram. Note that regardless of the specified -group, specified values may represent calculations performed by -computes and fixes which store their own "group" definition. - -A histogram is simply a count of the number of values that fall within -a histogram bin. {Nbins} are defined, with even spacing between {lo} -and {hi}. Values that fall outside the lo/hi bounds can be treated in -different ways; see the discussion of the {beyond} keyword below. - -Each input value can be an atom attribute (position, velocity, force -component) or can be the result of a "compute"_compute.html or -"fix"_fix.html or the evaluation of an equal-style or vector-style or -atom-style "variable"_variable.html. The set of input values can be -either all global, all per-atom, or all local quantities. Inputs of -different kinds (e.g. global and per-atom) cannot be mixed. Atom -attributes are per-atom vector values. See the doc page for -individual "compute" and "fix" commands to see what kinds of -quantities they generate. See the optional {kind} keyword below for -how to force the fix ave/histo command to disambiguate if necessary. - -Note that the output of this command is a single histogram for all -input values combined together, not one histogram per input value. -See below for details on the format of the output of this fix. - -The input values must either be all scalars or all vectors (or -arrays), depending on the setting of the {mode} keyword. - -If {mode} = scalar, then the input values must be scalars, or vectors -with a bracketed term appended, indicating the Ith value of the vector -is used. - -If {mode} = vector, then the input values must be vectors, or arrays -with a bracketed term appended, indicating the Ith column of the array -is used. - -Note that for values from a compute or fix, the bracketed index I can -be specified using a wildcard asterisk with the index to effectively -specify multiple values. This takes the form "*" or "*n" or "n*" or -"m*n". If N = the size of the vector (for {mode} = scalar) or the -number of columns in the array (for {mode} = vector), then an asterisk -with no numeric values means all indices from 1 to N. A leading -asterisk means all indices from 1 to n (inclusive). A trailing -asterisk means all indices from n to N (inclusive). A middle asterisk -means all indices from m to n (inclusive). - -Using a wildcard is the same as if the individual elements of the -vector or columns of the array had been listed one by one. E.g. these -2 fix ave/histo commands are equivalent, since the "compute -com/chunk"_compute_com_chunk.html command creates a global array with -3 columns: - -compute myCOM all com/chunk -fix 1 all ave/histo 100 1 100 c_myCOM\[*\] file tmp1.com mode vector -fix 2 all ave/histo 100 1 100 c_myCOM\[1\] c_myCOM\[2\] c_myCOM\[3\] file tmp2.com mode vector :pre - -If the fix ave/histo/weight command is used, exactly two values must -be specified. If the values are vectors, they must be the same -length. The first value (a scalar or vector) is what is histogrammed -into bins, in the same manner the fix ave/histo command operates. The -second value (a scalar or vector) is used as a "weight". This means -that instead of each value tallying a "1" to its bin, the -corresponding weight is tallied. E.g. The Nth entry (weight) in the -second vector is tallied to the bin corresponding to the Nth entry in -the first vector. - -:line - -The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify on what -timesteps the input values will be used in order to contribute to the -histogram. The final histogram is generated on timesteps that are -multiple of {Nfreq}. It is averaged over {Nrepeat} histograms, -computed in the preceding portion of the simulation every {Nevery} -timesteps. {Nfreq} must be a multiple of {Nevery} and {Nevery} must -be non-zero even if {Nrepeat} is 1. Also, the timesteps -contributing to the histogram value cannot overlap, -i.e. Nrepeat*Nevery can not exceed Nfreq. - -For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then input values -on timesteps 90,92,94,96,98,100 will be used to compute the final -histogram on timestep 100. Similarly for timesteps -190,192,194,196,198,200 on timestep 200, etc. If Nrepeat=1 and Nfreq -= 100, then no time averaging of the histogram is done; a histogram is -simply generated on timesteps 100,200,etc. - -:line - -The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are -self-explanatory. Note that other atom attributes can be used as -inputs to this fix by using the "compute -property/atom"_compute_property_atom.html command and then specifying -an input value from that compute. - -If a value begins with "c_", a compute ID must follow which has been -previously defined in the input script. If {mode} = scalar, then if -no bracketed term is appended, the global scalar calculated by the -compute is used. If a bracketed term is appended, the Ith element of -the global vector calculated by the compute is used. If {mode} = -vector, then if no bracketed term is appended, the global or per-atom -or local vector calculated by the compute is used. If a bracketed -term is appended, the Ith column of the global or per-atom or local -array calculated by the compute is used. See the discussion above for -how I can be specified with a wildcard asterisk to effectively specify -multiple values. - -Note that there is a "compute reduce"_compute_reduce.html command -which can sum per-atom quantities into a global scalar or vector which -can thus be accessed by fix ave/histo. Or it can be a compute defined -not in your input script, but by "thermodynamic -output"_thermo_style.html or other fixes such as "fix nvt"_fix_nh.html -or "fix temp/rescale"_fix_temp_rescale.html. See the doc pages for -these commands which give the IDs of these computes. Users can also -write code for their own compute styles and "add them to -LAMMPS"_Modify.html. - -If a value begins with "f_", a fix ID must follow which has been -previously defined in the input script. If {mode} = scalar, then if -no bracketed term is appended, the global scalar calculated by the fix -is used. If a bracketed term is appended, the Ith element of the -global vector calculated by the fix is used. If {mode} = vector, then -if no bracketed term is appended, the global or per-atom or local -vector calculated by the fix is used. If a bracketed term is -appended, the Ith column of the global or per-atom or local array -calculated by the fix is used. See the discussion above for how I can -be specified with a wildcard asterisk to effectively specify multiple -values. - -Note that some fixes only produce their values on certain timesteps, -which must be compatible with {Nevery}, else an error will result. -Users can also write code for their own fix styles and "add them to -LAMMPS"_Modify.html. - -If a value begins with "v_", a variable name must follow which has -been previously defined in the input script. If {mode} = scalar, then -only equal-style or vector-style variables can be used, which both -produce global values. In this mode, a vector-style variable requires -a bracketed term to specify the Ith element of the vector calculated -by the variable. If {mode} = vector, then only vector-style or -atom-style variables can be used, which produce a global or per-atom -vector respectively. The vector-style variable must be used without a -bracketed term. See the "variable"_variable.html command for details. - -Note that variables of style {equal}, {vector}, and {atom} define a -formula which can reference individual atom properties or -thermodynamic keywords, or they can invoke other computes, fixes, or -variables when they are evaluated, so this is a very general means of -specifying quantities to histogram. - -:line - -Additional optional keywords also affect the operation of this fix. - -If the {mode} keyword is set to {scalar}, then all input values must -be global scalars, or elements of global vectors. If the {mode} -keyword is set to {vector}, then all input values must be global or -per-atom or local vectors, or columns of global or per-atom or local -arrays. - -The {kind} keyword only needs to be set if a compute or fix produces -more than one kind of output (global, per-atom, local). If this is -not the case, then LAMMPS will determine what kind of input is -provided and whether all the input arguments are consistent. If a -compute or fix produces more than one kind of output, the {kind} -keyword should be used to specify which output will be used. The -remaining input arguments must still be consistent. - -The {beyond} keyword determines how input values that fall outside the -{lo} to {hi} bounds are treated. Values such that {lo} <= value <= -{hi} are assigned to one bin. Values on a bin boundary are assigned -to the lower of the 2 bins. If {beyond} is set to {ignore} then -values < {lo} and values > {hi} are ignored, i.e. they are not binned. -If {beyond} is set to {end} then values < {lo} are counted in the -first bin and values > {hi} are counted in the last bin. If {beyond} -is set to {extend} then two extra bins are created, so that there are -Nbins+2 total bins. Values < {lo} are counted in the first bin and -values > {hi} are counted in the last bin (Nbins+2). Values between -{lo} and {hi} (inclusive) are counted in bins 2 through Nbins+1. The -"coordinate" stored and printed for these two extra bins is {lo} and -{hi}. - -The {ave} keyword determines how the histogram produced every {Nfreq} -steps are averaged with histograms produced on previous steps that -were multiples of {Nfreq}, before they are accessed by another output -command or written to a file. - -If the {ave} setting is {one}, then the histograms produced on -timesteps that are multiples of {Nfreq} are independent of each other; -they are output as-is without further averaging. - -If the {ave} setting is {running}, then the histograms produced on -timesteps that are multiples of {Nfreq} are summed and averaged in a -cumulative sense before being output. Each bin value in the histogram -is thus the average of the bin value produced on that timestep with -all preceding values for the same bin. This running average begins -when the fix is defined; it can only be restarted by deleting the fix -via the "unfix"_unfix.html command, or by re-defining the fix by -re-specifying it. - -If the {ave} setting is {window}, then the histograms produced on -timesteps that are multiples of {Nfreq} are summed within a moving -"window" of time, so that the last M histograms are used to produce -the output. E.g. if M = 3 and Nfreq = 1000, then the output on step -10000 will be the combined histogram of the individual histograms on -steps 8000,9000,10000. Outputs on early steps will be sums over less -than M histograms if they are not available. - -The {start} keyword specifies what timestep histogramming will begin -on. The default is step 0. Often input values can be 0.0 at time 0, -so setting {start} to a larger value can avoid including a 0.0 in -a running or windowed histogram. - -The {file} keyword allows a filename to be specified. Every {Nfreq} -steps, one histogram is written to the file. This includes a leading -line that contains the timestep, number of bins, the total count of -values contributing to the histogram, the count of values that were -not histogrammed (see the {beyond} keyword), the minimum value -encountered, and the maximum value encountered. The min/max values -include values that were not histogrammed. Following the leading -line, one line per bin is written into the file. Each line contains -the bin #, the coordinate for the center of the bin (between {lo} and -{hi}), the count of values in the bin, and the normalized count. The -normalized count is the bin count divided by the total count (not -including values not histogrammed), so that the normalized values sum -to 1.0 across all bins. - -The {overwrite} keyword will continuously overwrite the output file -with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the {ave running} setting. - -The {title1} and {title2} and {title3} keywords allow specification of -the strings that will be printed as the first 3 lines of the output -file, assuming the {file} keyword was used. LAMMPS uses default -values for each of these, so they do not need to be specified. - -By default, these header lines are as follows: - -# Histogram for fix ID -# TimeStep Number-of-bins Total-counts Missing-counts Min-value Max-value -# Bin Coord Count Count/Total :pre - -In the first line, ID is replaced with the fix-ID. The second line -describes the six values that are printed at the first of each section -of output. The third describes the 4 values printed for each bin in -the histogram. - -: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. - -This fix produces a global vector and global array which can be -accessed by various "output commands"_Howto_output.html. The values -can only be accessed on timesteps that are multiples of {Nfreq} since -that is when a histogram is generated. The global vector has 4 -values: - -1 = total counts in the histogram -2 = values that were not histogrammed (see {beyond} keyword) -3 = min value of all input values, including ones not histogrammed -4 = max value of all input values, including ones not histogrammed :ul - -The global array has # of rows = Nbins and # of columns = 3. The -first column has the bin coordinate, the 2nd column has the count of -values in that histogram bin, and the 3rd column has the bin count -divided by the total count (not including missing counts), so that the -values in the 3rd column sum to 1.0. - -The vector and array values calculated by this fix are all treated as -intensive. If this is not the case, e.g. due to histogramming -per-atom input values, then you will need to account for that when -interpreting the values produced by this fix. - -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:] none - -[Related commands:] - -"compute"_compute.html, "fix ave/atom"_fix_ave_atom.html, "fix -ave/chunk"_fix_ave_chunk.html, "fix ave/time"_fix_ave_time.html, -"variable"_variable.html, "fix ave/correlate"_fix_ave_correlate.html, - -[Default:] none - -The option defaults are mode = scalar, kind = figured out from input -arguments, ave = one, start = 0, no file output, beyond = ignore, and -title 1,2,3 = strings as described above. diff --git a/doc/txt/fix_ave_time.txt b/doc/txt/fix_ave_time.txt deleted file mode 100644 index cca881f2f894ea4767df76cd2c5752497bf46e35..0000000000000000000000000000000000000000 --- a/doc/txt/fix_ave_time.txt +++ /dev/null @@ -1,348 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix ave/time command :h3 - -[Syntax:] - -fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -ave/time = style name of this fix command :l -Nevery = use input values every this many timesteps :l -Nrepeat = # of times to use input values for calculating averages :l -Nfreq = calculate averages every this many timesteps :l -one or more input values can be listed :l -value = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l - c_ID = global scalar or vector calculated by a compute with ID - c_ID\[I\] = Ith component of global vector or Ith column of global array calculated by a compute with ID, I can include wildcard (see below) - f_ID = global scalar or vector calculated by a fix with ID - f_ID\[I\] = Ith component of global vector or Ith column of global array calculated by a fix with ID, I can include wildcard (see below) - v_name = value(s) calculated by an equal-style or vector-style variable with name - v_name\[I\] = value calculated by a vector-style variable with name :pre - -zero or more keyword/arg pairs may be appended :l -keyword = {mode} or {file} or {ave} or {start} or {off} or {overwrite} or {title1} or {title2} or {title3} :l - {mode} arg = {scalar} or {vector} - scalar = all input values are global scalars - vector = all input values are global vectors or global arrays - {ave} args = {one} or {running} or {window M} - one = output a new average value every Nfreq steps - running = output cumulative average of all previous Nfreq steps - window M = output average of M most recent Nfreq steps - {start} args = Nstart - Nstart = start averaging on this timestep - {off} arg = M = do not average this value - M = value # from 1 to Nvalues - {file} arg = filename - filename = name of file to output time averages to - {overwrite} arg = none = overwrite output file with only latest output - {format} arg = string - string = C-style format string - {title1} arg = string - string = text to print as 1st line of output file - {title2} arg = string - string = text to print as 2nd line of output file - {title3} arg = string - string = text to print as 3rd line of output file, only for vector mode :pre -:ule - -[Examples:] - -fix 1 all ave/time 100 5 1000 c_myTemp c_thermo_temp file temp.profile -fix 1 all ave/time 100 5 1000 c_thermo_press\[2\] ave window 20 & - title1 "My output values" -fix 1 all ave/time 100 5 1000 c_thermo_press\[*\] -fix 1 all ave/time 1 100 1000 f_indent f_indent\[1\] file temp.indent off 1 :pre - -[Description:] - -Use one or more global values as inputs every few timesteps, and -average them over longer timescales. The resulting averages can be -used by other "output commands"_Howto_output.html such as -"thermo_style custom"_thermo_style.html, and can also be written to a -file. Note that if no time averaging is done, this command can be -used as a convenient way to simply output one or more global values to -a file. - -The group specified with this command is ignored. However, note that -specified values may represent calculations performed by computes and -fixes which store their own "group" definitions. - -Each listed value can be the result of a "compute"_compute.html or -"fix"_fix.html or the evaluation of an equal-style or vector-style -"variable"_variable.html. In each case, the compute, fix, or variable -must produce a global quantity, not a per-atom or local quantity. If -you wish to spatial- or time-average or histogram per-atom quantities -from a compute, fix, or variable, then see the "fix -ave/chunk"_fix_ave_chunk.html, "fix ave/atom"_fix_ave_atom.html, -or "fix ave/histo"_fix_ave_histo.html commands. If you wish to sum a -per-atom quantity into a single global quantity, see the "compute -reduce"_compute_reduce.html command. - -"Computes"_compute.html that produce global quantities are those which -do not have the word {atom} in their style name. Only a few -"fixes"_fix.html produce global quantities. See the doc pages for -individual fixes for info on which ones produce such values. -"Variables"_variable.html of style {equal} and {vector} are the only -ones that can be used with this fix. Variables of style {atom} cannot -be used, since they produce per-atom values. - -The input values must either be all scalars or all vectors depending -on the setting of the {mode} keyword. In both cases, the averaging is -performed independently on each input value. I.e. each input scalar -is averaged independently or each element of each input vector is -averaged independently. - -If {mode} = scalar, then the input values must be scalars, or vectors -with a bracketed term appended, indicating the Ith value of the vector -is used. - -If {mode} = vector, then the input values must be vectors, or arrays -with a bracketed term appended, indicating the Ith column of the array -is used. All vectors must be the same length, which is the length of -the vector or number of rows in the array. - -Note that for values from a compute or fix, the bracketed index I can -be specified using a wildcard asterisk with the index to effectively -specify multiple values. This takes the form "*" or "*n" or "n*" or -"m*n". If N = the size of the vector (for {mode} = scalar) or the -number of columns in the array (for {mode} = vector), then an asterisk -with no numeric values means all indices from 1 to N. A leading -asterisk means all indices from 1 to n (inclusive). A trailing -asterisk means all indices from n to N (inclusive). A middle asterisk -means all indices from m to n (inclusive). - -Using a wildcard is the same as if the individual elements of the -vector or columns of the array had been listed one by one. E.g. these -2 fix ave/time commands are equivalent, since the "compute -rdf"_compute_rdf.html command creates, in this case, a global array -with 3 columns, each of length 50: - -compute myRDF all rdf 50 1 2 -fix 1 all ave/time 100 1 100 c_myRDF\[*\] file tmp1.rdf mode vector -fix 2 all ave/time 100 1 100 c_myRDF\[1\] c_myRDF\[2\] c_myRDF\[3\] file tmp2.rdf mode vector :pre - -:line - -The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify on what -timesteps the input values will be used in order to contribute to the -average. The final averaged quantities are generated on timesteps -that are a multiple of {Nfreq}. The average is over {Nrepeat} -quantities, computed in the preceding portion of the simulation every -{Nevery} timesteps. {Nfreq} must be a multiple of {Nevery} and -{Nevery} must be non-zero even if {Nrepeat} is 1. Also, the timesteps -contributing to the average value cannot overlap, -i.e. Nrepeat*Nevery can not exceed Nfreq. - -For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on -timesteps 90,92,94,96,98,100 will be used to compute the final average -on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on -timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time -averaging is done; values are simply generated on timesteps -100,200,etc. - -:line - -If a value begins with "c_", a compute ID must follow which has been -previously defined in the input script. If {mode} = scalar, then if -no bracketed term is appended, the global scalar calculated by the -compute is used. If a bracketed term is appended, the Ith element of -the global vector calculated by the compute is used. If {mode} = -vector, then if no bracketed term is appended, the global vector -calculated by the compute is used. If a bracketed term is appended, -the Ith column of the global array calculated by the compute is used. -See the discussion above for how I can be specified with a wildcard -asterisk to effectively specify multiple values. - -Note that there is a "compute reduce"_compute_reduce.html command -which can sum per-atom quantities into a global scalar or vector which -can thus be accessed by fix ave/time. Or it can be a compute defined -not in your input script, but by "thermodynamic -output"_thermo_style.html or other fixes such as "fix -nvt"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html. See -the doc pages for these commands which give the IDs of these computes. -Users can also write code for their own compute styles and "add them -to LAMMPS"_Modify.html. - -If a value begins with "f_", a fix ID must follow which has been -previously defined in the input script. If {mode} = scalar, then if -no bracketed term is appended, the global scalar calculated by the fix -is used. If a bracketed term is appended, the Ith element of the -global vector calculated by the fix is used. If {mode} = vector, then -if no bracketed term is appended, the global vector calculated by the -fix is used. If a bracketed term is appended, the Ith column of the -global array calculated by the fix is used. See the discussion above -for how I can be specified with a wildcard asterisk to effectively -specify multiple values. - -Note that some fixes only produce their values on certain timesteps, -which must be compatible with {Nevery}, else an error will result. -Users can also write code for their own fix styles and "add them to -LAMMPS"_Modify.html. - -If a value begins with "v_", a variable name must follow which has -been previously defined in the input script. If {mode} = scalar, then -only equal-style or vector-style variables can be used, which both -produce global values. In this mode, a vector-style variable requires -a bracketed term to specify the Ith element of the vector calculated -by the variable. If {mode} = vector, then only a vector-style -variable can be used, without a bracketed term. See the -"variable"_variable.html command for details. - -Note that variables of style {equal} and {vector} define a formula -which can reference individual atom properties or thermodynamic -keywords, or they can invoke other computes, fixes, or variables when -they are evaluated, so this is a very general means of specifying -quantities to time average. - -:line - -Additional optional keywords also affect the operation of this fix. - -If the {mode} keyword is set to {scalar}, then all input values must -be global scalars, or elements of global vectors. If the {mode} -keyword is set to {vector}, then all input values must be global -vectors, or columns of global arrays. They can also be global arrays, -which are converted into a series of global vectors (one per column), -as explained above. - -The {ave} keyword determines how the values produced every {Nfreq} -steps are averaged with values produced on previous steps that were -multiples of {Nfreq}, before they are accessed by another output -command or written to a file. - -If the {ave} setting is {one}, then the values produced on timesteps -that are multiples of {Nfreq} are independent of each other; they are -output as-is without further averaging. - -If the {ave} setting is {running}, then the values produced on -timesteps that are multiples of {Nfreq} are summed and averaged in a -cumulative sense before being output. Each output value is thus the -average of the value produced on that timestep with all preceding -values. This running average begins when the fix is defined; it can -only be restarted by deleting the fix via the "unfix"_unfix.html -command, or by re-defining the fix by re-specifying it. - -If the {ave} setting is {window}, then the values produced on -timesteps that are multiples of {Nfreq} are summed and averaged within -a moving "window" of time, so that the last M values are used to -produce the output. E.g. if M = 3 and Nfreq = 1000, then the output -on step 10000 will be the average of the individual values on steps -8000,9000,10000. Outputs on early steps will average over less than M -values if they are not available. - -The {start} keyword specifies what timestep averaging will begin on. -The default is step 0. Often input values can be 0.0 at time 0, so -setting {start} to a larger value can avoid including a 0.0 in a -running or windowed average. - -The {off} keyword can be used to flag any of the input values. If a -value is flagged, it will not be time averaged. Instead the most -recent input value will always be stored and output. This is useful -if one of more of the inputs produced by a compute or fix or variable -are effectively constant or are simply current values. E.g. they are -being written to a file with other time-averaged values for purposes -of creating well-formatted output. - -The {file} keyword allows a filename to be specified. Every {Nfreq} -steps, one quantity or vector of quantities is written to the file for -each input value specified in the fix ave/time command. For {mode} = -scalar, this means a single line is written each time output is -performed. Thus the file ends up to be a series of lines, i.e. one -column of numbers for each input value. For {mode} = vector, an array -of numbers is written each time output is performed. The number of -rows is the length of the input vectors, and the number of columns is -the number of values. Thus the file ends up to be a series of these -array sections. - -The {overwrite} keyword will continuously overwrite the output file -with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the {ave running} setting. - -The {format} keyword sets the numeric format of each value when it is -printed to a file via the {file} keyword. Note that all values are -floating point quantities. The default format is %g. You can specify -a higher precision if desired, e.g. %20.16g. - -The {title1} and {title2} and {title3} keywords allow specification of -the strings that will be printed as the first 2 or 3 lines of the -output file, assuming the {file} keyword was used. LAMMPS uses -default values for each of these, so they do not need to be specified. - -By default, these header lines are as follows for {mode} = scalar: - -# Time-averaged data for fix ID -# TimeStep value1 value2 ... :pre - -In the first line, ID is replaced with the fix-ID. In the second line -the values are replaced with the appropriate fields from the fix -ave/time command. There is no third line in the header of the file, -so the {title3} setting is ignored when {mode} = scalar. - -By default, these header lines are as follows for {mode} = vector: - -# Time-averaged data for fix ID -# TimeStep Number-of-rows -# Row value1 value2 ... :pre - -In the first line, ID is replaced with the fix-ID. The second line -describes the two values that are printed at the first of each section -of output. In the third line the values are replaced with the -appropriate fields from the fix ave/time command. - -: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. - -This fix produces a global scalar or global vector or global array -which can be accessed by various "output commands"_Howto_output.html. -The values can only be accessed on timesteps that are multiples of -{Nfreq} since that is when averaging is performed. - -A scalar is produced if only a single input value is averaged and -{mode} = scalar. A vector is produced if multiple input values are -averaged for {mode} = scalar, or a single input value for {mode} = -vector. In the first case, the length of the vector is the number of -inputs. In the second case, the length of the vector is the same as -the length of the input vector. An array is produced if multiple -input values are averaged and {mode} = vector. The global array has # -of rows = length of the input vectors and # of columns = number of -inputs. - -If the fix produces a scalar or vector, then the scalar and each -element of the vector can be either "intensive" or "extensive", -depending on whether the values contributing to the scalar or vector -element are "intensive" or "extensive". If the fix produces an array, -then all elements in the array must be the same, either "intensive" or -"extensive". If a compute or fix provides the value being time -averaged, then the compute or fix determines whether the value is -intensive or extensive; see the doc page for that compute or fix for -further info. Values produced by a variable are treated as intensive. - -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:] none - -[Related commands:] - -"compute"_compute.html, "fix ave/atom"_fix_ave_atom.html, "fix -ave/chunk"_fix_ave_chunk.html, "fix ave/histo"_fix_ave_histo.html, -"variable"_variable.html, "fix ave/correlate"_fix_ave_correlate.html, - -[Default:] - -The option defaults are mode = scalar, ave = one, start = 0, no file -output, format = %g, title 1,2,3 = strings as described above, and no -off settings for any input values. diff --git a/doc/txt/fix_aveforce.txt b/doc/txt/fix_aveforce.txt deleted file mode 100644 index 8c759864c67eb60bf8583d3654c4f4d51a55fca1..0000000000000000000000000000000000000000 --- a/doc/txt/fix_aveforce.txt +++ /dev/null @@ -1,118 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix aveforce command :h3 - -[Syntax:] - -fix ID group-ID aveforce fx fy fz keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -aveforce = style name of this fix command :l -fx,fy,fz = force component values (force units) :l - any of fx,fy,fz can be a variable (see below) :pre -zero or more keyword/value pairs may be appended to args :l -keyword = {region} :l - {region} value = region-ID - region-ID = ID of region atoms must be in to have added force :pre -:ule - -[Examples:] - -fix pressdown topwall aveforce 0.0 -1.0 0.0 -fix 2 bottomwall aveforce NULL -1.0 0.0 region top -fix 2 bottomwall aveforce NULL -1.0 v_oscillate region top :pre - -[Description:] - -Apply an additional external force to a group of atoms in such a way -that every atom experiences the same force. This is useful for -pushing on wall or boundary atoms so that the structure of the wall -does not change over time. - -The existing force is averaged for the group of atoms, component by -component. The actual force on each atom is then set to the average -value plus the component specified in this command. This means each -atom in the group receives the same force. - -Any of the fx,fy,fz values can be specified as NULL which means the -force in that dimension is not changed. Note that this is not the -same as specifying a 0.0 value, since that sets all forces to the same -average value without adding in any additional force. - -Any of the 3 quantities defining the force components can be specified -as an equal-style "variable"_variable.html, namely {fx}, {fy}, {fz}. -If the value is a variable, it should be specified as v_name, where -name is the variable name. In this case, the variable will be -evaluated each timestep, and its value used to determine the average -force. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent average force. - -If the {region} keyword is used, the atom must also be in the -specified geometric "region"_region.html in order to have force added -to it. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Howto_output.html. This is the total -force on the group of atoms before the forces on individual atoms are -changed by the fix. The vector values calculated by this fix are -"extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. You should not -specify force components with a variable that has time-dependence for -use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization. - -[Restrictions:] none - -[Related commands:] - -"fix setforce"_fix_setforce.html, "fix addforce"_fix_addforce.html - -[Default:] none diff --git a/doc/txt/fix_balance.txt b/doc/txt/fix_balance.txt deleted file mode 100644 index 0f77fd4ecd7fe3524e85c38060777a3314876e8d..0000000000000000000000000000000000000000 --- a/doc/txt/fix_balance.txt +++ /dev/null @@ -1,383 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix balance command :h3 - -[Syntax:] - -fix ID group-ID balance Nfreq thresh style args keyword args ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -balance = style name of this fix command :l -Nfreq = perform dynamic load balancing every this many steps :l -thresh = imbalance threshold that must be exceeded to perform a re-balance :l -style = {shift} or {rcb} :l - shift args = dimstr Niter stopthresh - dimstr = sequence of letters containing "x" or "y" or "z", each not more than once - Niter = # of times to iterate within each dimension of dimstr sequence - stopthresh = stop balancing when this imbalance threshold is reached - {rcb} args = none :pre -zero or more keyword/arg pairs may be appended :l -keyword = {weight} or {out} :l - {weight} style args = use weighted particle counts for the balancing - {style} = {group} or {neigh} or {time} or {var} or {store} - {group} args = Ngroup group1 weight1 group2 weight2 ... - Ngroup = number of groups with assigned weights - group1, group2, ... = group IDs - weight1, weight2, ... = corresponding weight factors - {neigh} factor = compute weight based on number of neighbors - factor = scaling factor (> 0) - {time} factor = compute weight based on time spend computing - factor = scaling factor (> 0) - {var} name = take weight from atom-style variable - name = name of the atom-style variable - {store} name = store weight in custom atom property defined by "fix property/atom"_fix_property_atom.html command - name = atom property name (without d_ prefix) - {out} arg = filename - filename = write each processor's sub-domain to a file, at each re-balancing :pre -:ule - -[Examples:] - -fix 2 all balance 1000 1.05 shift x 10 1.05 -fix 2 all balance 100 0.9 shift xy 20 1.1 out tmp.balance -fix 2 all balance 100 0.9 shift xy 20 1.1 weight group 3 substrate 3.0 solvent 1.0 solute 0.8 out tmp.balance -fix 2 all balance 100 1.0 shift x 10 1.1 weight time 0.8 -fix 2 all balance 100 1.0 shift xy 5 1.1 weight var myweight weight neigh 0.6 weight store allweight -fix 2 all balance 1000 1.1 rcb :pre - -[Description:] - -This command adjusts the size and shape of processor sub-domains -within the simulation box, to attempt to balance the number of -particles and thus the computational cost (load) evenly across -processors. The load balancing is "dynamic" in the sense that -re-balancing is performed periodically during the simulation. To -perform "static" balancing, before or between runs, see the -"balance"_balance.html command. - -Load-balancing is typically most useful if the particles in the -simulation box have a spatially-varying density distribution or -where the computational cost varies significantly between different -atoms. E.g. a model of a vapor/liquid interface, or a solid with -an irregular-shaped geometry containing void regions, or -"hybrid pair style simulations"_pair_hybrid.html which combine -pair styles with different computational cost. In these cases, the -LAMMPS default of dividing the simulation box volume into a -regular-spaced grid of 3d bricks, with one equal-volume sub-domain -per processor, may assign numbers of particles per processor in a -way that the computational effort varies significantly. This can -lead to poor performance when the simulation is run in parallel. - -The balancing can be performed with or without per-particle weighting. -With no weighting, the balancing attempts to assign an equal number of -particles to each processor. With weighting, the balancing attempts -to assign an equal aggregate computational weight to each processor, -which typically induces a different number of atoms assigned to each -processor. - -NOTE: The weighting options listed above are documented with the -"balance"_balance.html command in "this section of the balance -command"_balance.html#weighted_balance doc page. That section -describes the various weighting options and gives a few examples of -how they can be used. The weighting options are the same for both the -fix balance and "balance"_balance.html commands. - -Note that the "processors"_processors.html command allows some control -over how the box volume is split across processors. Specifically, for -a Px by Py by Pz grid of processors, it allows choice of Px, Py, and -Pz, subject to the constraint that Px * Py * Pz = P, the total number -of processors. This is sufficient to achieve good load-balance for -some problems on some processor counts. However, all the processor -sub-domains will still have the same shape and same volume. - -On a particular timestep, a load-balancing operation is only performed -if the current "imbalance factor" in particles owned by each processor -exceeds the specified {thresh} parameter. The imbalance factor is -defined as the maximum number of particles (or weight) owned by any -processor, divided by the average number of particles (or weight) per -processor. Thus an imbalance factor of 1.0 is perfect balance. - -As an example, for 10000 particles running on 10 processors, if the -most heavily loaded processor has 1200 particles, then the factor is -1.2, meaning there is a 20% imbalance. Note that re-balances can be -forced even if the current balance is perfect (1.0) be specifying a -{thresh} < 1.0. - -NOTE: This command attempts to minimize the imbalance factor, as -defined above. But depending on the method a perfect balance (1.0) -may not be achieved. For example, "grid" methods (defined below) that -create a logical 3d grid cannot achieve perfect balance for many -irregular distributions of particles. Likewise, if a portion of the -system is a perfect lattice, e.g. the initial system is generated by -the "create_atoms"_create_atoms.html command, then "grid" methods may -be unable to achieve exact balance. This is because entire lattice -planes will be owned or not owned by a single processor. - -NOTE: The imbalance factor is also an estimate of the maximum speed-up -you can hope to achieve by running a perfectly balanced simulation -versus an imbalanced one. In the example above, the 10000 particle -simulation could run up to 20% faster if it were perfectly balanced, -versus when imbalanced. However, computational cost is not strictly -proportional to particle count, and changing the relative size and -shape of processor sub-domains may lead to additional computational -and communication overheads, e.g. in the PPPM solver used via the -"kspace_style"_kspace_style.html command. Thus you should benchmark -the run times of a simulation before and after balancing. - -:line - -The method used to perform a load balance is specified by one of the -listed styles, which are described in detail below. There are 2 kinds -of styles. - -The {shift} style is a "grid" method which produces a logical 3d grid -of processors. It operates by changing the cutting planes (or lines) -between processors in 3d (or 2d), to adjust the volume (area in 2d) -assigned to each processor, as in the following 2d diagram where -processor sub-domains are shown and atoms are colored by the processor -that owns them. The leftmost diagram is the default partitioning of -the simulation box across processors (one sub-box for each of 16 -processors); the middle diagram is after a "grid" method has been -applied. - -:image(JPG/balance_uniform_small.jpg,JPG/balance_uniform.jpg),image(JPG/balance_nonuniform_small.jpg,JPG/balance_nonuniform.jpg),image(JPG/balance_rcb_small.jpg,JPG/balance_rcb.jpg) -:c - -The {rcb} style is a "tiling" method which does not produce a logical -3d grid of processors. Rather it tiles the simulation domain with -rectangular sub-boxes of varying size and shape in an irregular -fashion so as to have equal numbers of particles (or weight) in each -sub-box, as in the rightmost diagram above. - -The "grid" methods can be used with either of the -"comm_style"_comm_style.html command options, {brick} or {tiled}. The -"tiling" methods can only be used with "comm_style -tiled"_comm_style.html. - -When a "grid" method is specified, the current domain partitioning can -be either a logical 3d grid or a tiled partitioning. In the former -case, the current logical 3d grid is used as a starting point and -changes are made to improve the imbalance factor. In the latter case, -the tiled partitioning is discarded and a logical 3d grid is created -with uniform spacing in all dimensions. This is the starting point -for the balancing operation. - -When a "tiling" method is specified, the current domain partitioning -("grid" or "tiled") is ignored, and a new partitioning is computed -from scratch. - -:line - -The {group-ID} is ignored. However the impact of balancing on -different groups of atoms can be affected by using the {group} weight -style as described below. - -The {Nfreq} setting determines how often a re-balance is performed. If -{Nfreq} > 0, then re-balancing will occur every {Nfreq} steps. Each -time a re-balance occurs, a reneighboring is triggered, so {Nfreq} -should not be too small. If {Nfreq} = 0, then re-balancing will be -done every time reneighboring normally occurs, as determined by the -the "neighbor"_neighbor.html and "neigh_modify"_neigh_modify.html -command settings. - -On re-balance steps, re-balancing will only be attempted if the current -imbalance factor, as defined above, exceeds the {thresh} setting. - -:line - -The {shift} style invokes a "grid" method for balancing, as described -above. It changes the positions of cutting planes between processors -in an iterative fashion, seeking to reduce the imbalance factor. - -The {dimstr} argument is a string of characters, each of which must be -an "x" or "y" or "z". Eacn character can appear zero or one time, -since there is no advantage to balancing on a dimension more than -once. You should normally only list dimensions where you expect there -to be a density variation in the particles. - -Balancing proceeds by adjusting the cutting planes in each of the -dimensions listed in {dimstr}, one dimension at a time. For a single -dimension, the balancing operation (described below) is iterated on up -to {Niter} times. After each dimension finishes, the imbalance factor -is re-computed, and the balancing operation halts if the {stopthresh} -criterion is met. - -A re-balance operation in a single dimension is performed using a -density-dependent recursive multisectioning algorithm, where the -position of each cutting plane (line in 2d) in the dimension is -adjusted independently. This is similar to a recursive bisectioning -for a single value, except that the bounds used for each bisectioning -take advantage of information from neighboring cuts if possible, as -well as counts of particles at the bounds on either side of each cuts, -which themselves were cuts in previous iterations. The latter is used -to infer a density of particles near each of the current cuts. At -each iteration, the count of particles on either side of each plane is -tallied. If the counts do not match the target value for the plane, -the position of the cut is adjusted based on the local density. The -low and high bounds are adjusted on each iteration, using new count -information, so that they become closer together over time. Thus as -the recursion progresses, the count of particles on either side of the -plane gets closer to the target value. - -The density-dependent part of this algorithm is often an advantage -when you re-balance a system that is already nearly balanced. It -typically converges more quickly than the geometric bisectioning -algorithm used by the "balance"_balance.html command. However, if can -be a disadvantage if you attempt to re-balance a system that is far -from balanced, and converge more slowly. In this case you probably -want to use the "balance"_balance.html command before starting a run, -so that you begin the run with a balanced system. - -Once the re-balancing is complete and final processor sub-domains -assigned, particles migrate to their new owning processor as part of -the normal reneighboring procedure. - -NOTE: At each re-balance operation, the bisectioning for each cutting -plane (line in 2d) typically starts with low and high bounds separated -by the extent of a processor's sub-domain in one dimension. The size -of this bracketing region shrinks based on the local density, as -described above, which should typically be 1/2 or more every -iteration. Thus if {Niter} is specified as 10, the cutting plane will -typically be positioned to better than 1 part in 1000 accuracy -(relative to the perfect target position). For {Niter} = 20, it will -be accurate to better than 1 part in a million. Thus there is no need -to set {Niter} to a large value. This is especially true if you are -re-balancing often enough that each time you expect only an incremental -adjustment in the cutting planes is necessary. LAMMPS will check if -the threshold accuracy is reached (in a dimension) is less iterations -than {Niter} and exit early. - -:line - -The {rcb} style invokes a "tiled" method for balancing, as described -above. It performs a recursive coordinate bisectioning (RCB) of the -simulation domain. The basic idea is as follows. - -The simulation domain is cut into 2 boxes by an axis-aligned cut in -the longest dimension, leaving one new box on either side of the cut. -All the processors are also partitioned into 2 groups, half assigned -to the box on the lower side of the cut, and half to the box on the -upper side. (If the processor count is odd, one side gets an extra -processor.) The cut is positioned so that the number of atoms in the -lower box is exactly the number that the processors assigned to that -box should own for load balance to be perfect. This also makes load -balance for the upper box perfect. The positioning is done -iteratively, by a bisectioning method. Note that counting atoms on -either side of the cut requires communication between all processors -at each iteration. - -That is the procedure for the first cut. Subsequent cuts are made -recursively, in exactly the same manner. The subset of processors -assigned to each box make a new cut in the longest dimension of that -box, splitting the box, the subset of processors, and the atoms in -the box in two. The recursion continues until every processor is -assigned a sub-box of the entire simulation domain, and owns the atoms -in that sub-box. - -:line - -The {out} keyword writes text to the specified {filename} with the -results of each re-balancing operation. The file contains the bounds -of the sub-domain for each processor after the balancing operation -completes. The format of the file is compatible with the -"Pizza.py"_pizza {mdump} tool which has support for manipulating and -visualizing mesh files. An example is shown here for a balancing by 4 -processors for a 2d problem: - -ITEM: TIMESTEP -0 -ITEM: NUMBER OF NODES -16 -ITEM: BOX BOUNDS -0 10 -0 10 -0 10 -ITEM: NODES -1 1 0 0 0 -2 1 5 0 0 -3 1 5 5 0 -4 1 0 5 0 -5 1 5 0 0 -6 1 10 0 0 -7 1 10 5 0 -8 1 5 5 0 -9 1 0 5 0 -10 1 5 5 0 -11 1 5 10 0 -12 1 10 5 0 -13 1 5 5 0 -14 1 10 5 0 -15 1 10 10 0 -16 1 5 10 0 -ITEM: TIMESTEP -0 -ITEM: NUMBER OF SQUARES -4 -ITEM: SQUARES -1 1 1 2 3 4 -2 1 5 6 7 8 -3 1 9 10 11 12 -4 1 13 14 15 16 :pre - -The coordinates of all the vertices are listed in the NODES section, 5 -per processor. Note that the 4 sub-domains share vertices, so there -will be duplicate nodes in the list. - -The "SQUARES" section lists the node IDs of the 4 vertices in a -rectangle for each processor (1 to 4). - -For a 3d problem, the syntax is similar with 8 vertices listed for -each processor, instead of 4, and "SQUARES" replaced by "CUBES". - -: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. - -This fix computes a global scalar which is the imbalance factor -after the most recent re-balance and a global vector of length 3 with -additional information about the most recent re-balancing. The 3 -values in the vector are as follows: - -1 = max # of particles per processor -2 = total # iterations performed in last re-balance -3 = imbalance factor right before the last re-balance was performed :ul - -As explained above, the imbalance factor is the ratio of the maximum -number of particles (or total weight) on any processor to the average -number of particles (or total weight) per processor. - -These quantities can be accessed by various "output -commands"_Howto_output.html. The scalar and vector values calculated -by this fix are "intensive". - -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. - -:line - -[Restrictions:] - -For 2d simulations, the {z} style cannot be used. Nor can a "z" -appear in {dimstr} for the {shift} style. - -Balancing through recursive bisectioning ({rcb} style) requires -"comm_style tiled"_comm_style.html - -[Related commands:] - -"group"_group.html, "processors"_processors.html, "balance"_balance.html, -"comm_style"_comm_style.html - -[Default:] none -:link(pizza,http://pizza.sandia.gov) diff --git a/doc/txt/fix_bocs.txt b/doc/txt/fix_bocs.txt deleted file mode 100644 index bb7ac3713c86f0d4ceb6bf5e9e1a3fd8f3ac6677..0000000000000000000000000000000000000000 --- a/doc/txt/fix_bocs.txt +++ /dev/null @@ -1,112 +0,0 @@ -<"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix bocs command :h3 - -[Syntax:] - -fix ID group-ID bocs keyword values ... :pre - -keyword = {temp} or {cgiso} or {analytic} or {linear_spline} or {cubic_spline} - {temp} values = Tstart Tstop Tdamp - {cgiso} values = Pstart Pstop Pdamp - {basis set} - {analytic} values = V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N - {linear_spline} values = input_filename - {cubic_spline} values = input_filename :pre -:ule - -[Examples:] - -fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 analytic 66476.015 968 2 245030.10 8962.20 :pre - -fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 cubic_spline input_Fv.dat :pre - -thermo_modify press 1_press :pre - - -[Description:] - -These commands incorporate a pressure correction as described by -Dunn and Noid in "(Dunn1)"_#bocs-Dunn1 to the standard MTTK -barostat by Martyna et. al. in "(Martyna)"_#bocs-Martyna . -The first half of the command mimics a standard fix npt command: - -fix 1 all bocs temp Tstart Tstop Tcoupl cgiso Pstart Pstop Pdamp :pre - -The two differences are replacing {npt} with {bocs}, and replacing -{iso}/{aniso}/{etc} with {cgiso}. -The rest of the command details what form you would like to use for -the pressure correction equation. The choices are: {analytic}, {linear_spline}, -or {cubic_spline}. - -With either spline method, the only argument that needs to follow it -is the name of a file that contains the desired pressure correction -as a function of volume. The file must be formatted so each line has: - -Volume_i, PressureCorrection_i :pre - -Note both the COMMA and the SPACE separating the volume's -value and its corresponding pressure correction. The volumes in the file -must be uniformly spaced. Both the volumes and the pressure corrections -should be provided in the proper units, e.g. if you are using {units real}, -the volumes should all be in cubic angstroms, and the pressure corrections -should all be in atmospheres. Furthermore, the table should start/end at a -volume considerably smaller/larger than you expect your system to sample -during the simulation. If the system ever reaches a volume outside of the -range provided, the simulation will stop. - -With the {analytic} option, the arguments are as follows: - -... analytic V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N :pre - -Note that {V_avg} and {Coeff_i} should all be in the proper units, e.g. if you -are using {units real}, {V_avg} should be in cubic angstroms, and the -coefficients should all be in atmospheres * cubic angstroms. - -[Restrictions:] - -As this is computing a (modified) pressure, group-ID should be {all}. - -The pressure correction has only been tested for use with an isotropic -pressure coupling in 3 dimensions. - -By default, LAMMPS will still report the normal value for the pressure -if the pressure is printed via a {thermo} command, or if the pressures -are written to a file every so often. In order to have LAMMPS report the -modified pressure, you must include the {thermo_modify} command given in -the examples. For the last argument in the command, you should put -XXXX_press, where XXXX is the ID given to the fix bocs command (in the -example, the ID of the fix bocs command is 1 ). - -This fix is part of the USER-BOCS package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related:] - -For more details about the pressure correction and the entire BOCS software -package, visit the "BOCS package on GitHub"_bocsgithub and read the release -paper by Dunn et. al. "(Dunn2)"_#bocs-Dunn2 . - - -:link(bocsgithub,https://github.com/noid-group/BOCS) - -:line - -:link(bocs-Dunn1) -[(Dunn1)] Dunn and Noid, J Chem Phys, 143, 243148 (2015). - -:link(bocs-Martyna) -[(Martyna)] Martyna, Tobias, and Klein, J Chem Phys, 101, 4177 (1994). - -:link(bocs-Dunn2) -[(Dunn2)] Dunn, Lebold, DeLyser, Rudzinski, and Noid, J. Phys. Chem. B, 122, 3363 (2018). - - - diff --git a/doc/txt/fix_bond_break.txt b/doc/txt/fix_bond_break.txt deleted file mode 100644 index bde0beae02110f410bea9e2757a363c406dfb5ad..0000000000000000000000000000000000000000 --- a/doc/txt/fix_bond_break.txt +++ /dev/null @@ -1,145 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix bond/break command :h3 - -[Syntax:] - -fix ID group-ID bond/break Nevery bondtype Rmax keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -bond/break = style name of this fix command :l -Nevery = attempt bond breaking every this many steps :l -bondtype = type of bonds to break :l -Rmax = bond longer than Rmax can break (distance units) :l -zero or more keyword/value pairs may be appended to args :l -keyword = {prob} :l - {prob} values = fraction seed - fraction = break a bond with this probability if otherwise eligible - seed = random number seed (positive integer) :pre -:ule - -[Examples:] - -fix 5 all bond/break 10 2 1.2 -fix 5 polymer bond/break 1 1 2.0 prob 0.5 49829 :pre - -[Description:] - -Break bonds between pairs of atoms as a simulation runs according to -specified criteria. This can be used to model the dissolution of a -polymer network due to stretching of the simulation box or other -deformations. In this context, a bond means an interaction between a -pair of atoms computed by the "bond_style"_bond_style.html command. -Once the bond is broken it will be permanently deleted, as will all -angle, dihedral, and improper interactions that bond is part of. - -This is different than a "pairwise"_pair_style.html bond-order -potential such as Tersoff or AIREBO which infers bonds and many-body -interactions based on the current geometry of a small cluster of atoms -and effectively creates and destroys bonds and higher-order many-body -interactions from timestep to timestep as atoms move. - -A check for possible bond breakage is performed every {Nevery} -timesteps. If two bonded atoms I,J are further than a distance {Rmax} -of each other, if the bond is of type {bondtype}, and if both I and J -are in the specified fix group, then I,J is labeled as a "possible" -bond to break. - -If several bonds involving an atom are stretched, it may have multiple -possible bonds to break. Every atom checks its list of possible bonds -to break and labels the longest such bond as its "sole" bond to break. -After this is done, if atom I is bonded to atom J in its sole bond, -and atom J is bonded to atom I in its sole bond, then the I,J bond is -"eligible" to be broken. - -Note that these rules mean an atom will only be part of at most one -broken bond on a given timestep. It also means that if atom I chooses -atom J as its sole partner, but atom J chooses atom K is its sole -partner (due to Rjk > Rij), then this means atom I will not be part of -a broken bond on this timestep, even if it has other possible bond -partners. - -The {prob} keyword can effect whether an eligible bond is actually -broken. The {fraction} setting must be a value between 0.0 and 1.0. -A uniform random number between 0.0 and 1.0 is generated and the -eligible bond is only broken if the random number < fraction. - -When a bond is broken, data structures within LAMMPS that store bond -topology are updated to reflect the breakage. Likewise, if the bond -is part of a 3-body (angle) or 4-body (dihedral, improper) -interaction, that interaction is removed as well. These changes -typically affect pairwise interactions between atoms that used to be -part of bonds, angles, etc. - -NOTE: One data structure that is not updated when a bond breaks are -the molecule IDs stored by each atom. Even though one molecule -becomes two molecules due to the broken bond, all atoms in both new -molecules retain their original molecule IDs. - -Computationally, each timestep this fix operates, it loops over all -the bonds in the system and computes distances between pairs of bonded -atoms. It also communicates between neighboring processors to -coordinate which bonds are broken. Moreover, if any bonds are broken, -neighbor lists must be immediately updated on the same timestep. This -is to insure that any pairwise interactions that should be turned "on" -due to a bond breaking, because they are no longer excluded by the -presence of the bond and the settings of the -"special_bonds"_special_bonds.html command, will be immediately -recognized. All of these operations increase the cost of a timestep. -Thus you should be cautious about invoking this fix too frequently. - -You can dump out snapshots of the current bond topology via the "dump -local"_dump.html command. - -NOTE: Breaking a bond typically alters the energy of a system. You -should be careful not to choose bond breaking criteria that induce a -dramatic change in energy. For example, if you define a very stiff -harmonic bond and break it when 2 atoms are separated by a distance -far from the equilibrium bond length, then the 2 atoms will be -dramatically released when the bond is broken. More generally, you -may need to thermostat your system to compensate for energy changes -resulting from broken bonds (and angles, dihedrals, impropers). - -: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. - -This fix computes two statistics which it stores in a global vector of -length 2, which can be accessed by various "output -commands"_Howto_output.html. The vector values calculated by this fix -are "intensive". - -These are the 2 quantities: - -(1) # of bonds broken on the most recent breakage timestep -(2) cumulative # of bonds broken :ul - -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 fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the "Build package"_Build_package.html -doc page for more info. - -[Related commands:] - -"fix bond/create"_fix_bond_create.html, "fix -bond/react"_fix_bond_react.html, "fix bond/swap"_fix_bond_swap.html, -"dump local"_dump.html, "special_bonds"_special_bonds.html - -[Default:] - -The option defaults are prob = 1.0. diff --git a/doc/txt/fix_bond_create.txt b/doc/txt/fix_bond_create.txt deleted file mode 100644 index e78a283ece131de62cc7a9a18a1bd29a768a6200..0000000000000000000000000000000000000000 --- a/doc/txt/fix_bond_create.txt +++ /dev/null @@ -1,241 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix bond/create command :h3 - -[Syntax:] - -fix ID group-ID bond/create Nevery itype jtype Rmin bondtype keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -bond/create = style name of this fix command :l -Nevery = attempt bond creation every this many steps :l -itype,jtype = atoms of itype can bond to atoms of jtype :l -Rmin = 2 atoms separated by less than Rmin can bond (distance units) :l -bondtype = type of created bonds :l -zero or more keyword/value pairs may be appended to args :l -keyword = {iparam} or {jparam} or {prob} or {atype} or {dtype} or {itype} :l - {iparam} values = maxbond, newtype - maxbond = max # of bonds of bondtype the itype atom can have - newtype = change the itype atom to this type when maxbonds exist - {jparam} values = maxbond, newtype - maxbond = max # of bonds of bondtype the jtype atom can have - newtype = change the jtype atom to this type when maxbonds exist - {prob} values = fraction seed - fraction = create a bond with this probability if otherwise eligible - seed = random number seed (positive integer) - {atype} value = angletype - angletype = type of created angles - {dtype} value = dihedraltype - dihedraltype = type of created dihedrals - {itype} value = impropertype - impropertype = type of created impropers :pre -:ule - -[Examples:] - -fix 5 all bond/create 10 1 2 0.8 1 -fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 -fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 atype 1 dtype 2 :pre - -[Description:] - -Create bonds between pairs of atoms as a simulation runs according to -specified criteria. This can be used to model cross-linking of -polymers, the formation of a percolation network, etc. In this -context, a bond means an interaction between a pair of atoms computed -by the "bond_style"_bond_style.html command. Once the bond is created -it will be permanently in place. Optionally, the creation of a bond -can also create angle, dihedral, and improper interactions that bond -is part of. See the discussion of the {atype}, {dtype}, and {itype} -keywords below. - -This is different than a "pairwise"_pair_style.html bond-order -potential such as Tersoff or AIREBO which infers bonds and many-body -interactions based on the current geometry of a small cluster of atoms -and effectively creates and destroys bonds and higher-order many-body -interactions from timestep to timestep as atoms move. - -A check for possible new bonds is performed every {Nevery} timesteps. -If two atoms I,J are within a distance {Rmin} of each other, if I is -of atom type {itype}, if J is of atom type {jtype}, if both I and J -are in the specified fix group, if a bond does not already exist -between I and J, and if both I and J meet their respective {maxbond} -requirement (explained below), then I,J is labeled as a "possible" -bond pair. - -If several atoms are close to an atom, it may have multiple possible -bond partners. Every atom checks its list of possible bond partners -and labels the closest such partner as its "sole" bond partner. After -this is done, if atom I has atom J as its sole partner, and atom J has -atom I as its sole partner, then the I,J bond is "eligible" to be -formed. - -Note that these rules mean an atom will only be part of at most one -created bond on a given timestep. It also means that if atom I -chooses atom J as its sole partner, but atom J chooses atom K is its -sole partner (due to Rjk < Rij), then this means atom I will not form -a bond on this timestep, even if it has other possible bond partners. - -It is permissible to have {itype} = {jtype}. {Rmin} must be <= the -pairwise cutoff distance between {itype} and {jtype} atoms, as defined -by the "pair_style"_pair_style.html command. - -The {iparam} and {jparam} keywords can be used to limit the bonding -functionality of the participating atoms. Each atom keeps track of -how many bonds of {bondtype} it already has. If atom I of -itype already has {maxbond} bonds (as set by the {iparam} -keyword), then it will not form any more. Likewise for atom J. If -{maxbond} is set to 0, then there is no limit on the number of bonds -that can be formed with that atom. - -The {newtype} value for {iparam} and {jparam} can be used to change -the atom type of atom I or J when it reaches {maxbond} number of bonds -of type {bondtype}. This means it can now interact in a pairwise -fashion with other atoms in a different way by specifying different -"pair_coeff"_pair_coeff.html coefficients. If you do not wish the -atom type to change, simply specify {newtype} as {itype} or {jtype}. - -The {prob} keyword can also effect whether an eligible bond is -actually created. The {fraction} setting must be a value between 0.0 -and 1.0. A uniform random number between 0.0 and 1.0 is generated and -the eligible bond is only created if the random number < fraction. - -Any bond that is created is assigned a bond type of {bondtype} - -When a bond is created, data structures within LAMMPS that store bond -topology are updated to reflect the creation. If the bond is part of -new 3-body (angle) or 4-body (dihedral, improper) interactions, you -can choose to create new angles, dihedrals, impropers as well, using -the {atype}, {dtype}, and {itype} keywords. All of these changes -typically affect pairwise interactions between atoms that are now part -of new bonds, angles, etc. - -NOTE: One data structure that is not updated when a bond breaks are -the molecule IDs stored by each atom. Even though two molecules -become one molecule due to the created bond, all atoms in the new -molecule retain their original molecule IDs. - -If the {atype} keyword is used and if an angle potential is defined -via the "angle_style"_angle_style.html command, then any new 3-body -interactions inferred by the creation of a bond will create new angles -of type {angletype}, with parameters assigned by the corresponding -"angle_coeff"_angle_coeff.html command. Likewise, the {dtype} and -{itype} keywords will create new dihedrals and impropers of type -{dihedraltype} and {impropertype}. - -NOTE: To create a new bond, the internal LAMMPS data structures that -store this information must have space for it. When LAMMPS is -initialized from a data file, the list of bonds is scanned and the -maximum number of bonds per atom is tallied. If some atom will -acquire more bonds than this limit as this fix operates, then the -"extra bond per atom" parameter must be set to allow for it. Ditto -for "extra angle per atom", "extra dihedral per atom", and "extra -improper per atom" if angles, dihedrals, or impropers are being added -when bonds are created. See the "read_data"_read_data.html or -"create_box"_create_box.html command for more details. Note that a -data file with no atoms can be used if you wish to add non-bonded -atoms via the "create atoms"_create_atoms.html command, e.g. for a -percolation simulation. - -NOTE: LAMMPS stores and maintains a data structure with a list of the -1st, 2nd, and 3rd neighbors of each atom (within the bond topology of -the system) for use in weighting pairwise interactions for bonded -atoms. Note that adding a single bond always adds a new 1st neighbor -but may also induce *many* new 2nd and 3rd neighbors, depending on the -molecular topology of your system. The "extra special per atom" -parameter must typically be set to allow for the new maximum total -size (1st + 2nd + 3rd neighbors) of this per-atom list. There are 2 -ways to do this. See the "read_data"_read_data.html or -"create_box"_create_box.html commands for details. - -NOTE: Even if you do not use the {atype}, {dtype}, or {itype} -keywords, the list of topological neighbors is updated for atoms -affected by the new bond. This in turn affects which neighbors are -considered for pairwise interactions, using the weighting rules set by -the "special_bonds"_special_bonds.html command. Consider a new bond -created between atoms I,J. If J has a bonded neighbor K, then K -becomes a 2nd neighbor of I. Even if the {atype} keyword is not used -to create angle I-J-K, the pairwise interaction between I and K will -be potentially turned off or weighted by the 1-3 weighting specified -by the "special_bonds"_special_bonds.html command. This is the case -even if the "angle yes" option was used with that command. The same -is true for 3rd neighbors (1-4 interactions), the {dtype} keyword, and -the "dihedral yes" option used with the -"special_bonds"_special_bonds.html command. - -Note that even if your simulation starts with no bonds, you must -define a "bond_style"_bond_style.html and use the -"bond_coeff"_bond_coeff.html command to specify coefficients for the -{bondtype}. Similarly, if new atom types are specified by the -{iparam} or {jparam} keywords, they must be within the range of atom -types allowed by the simulation and pairwise coefficients must be -specified for the new types. - -Computationally, each timestep this fix operates, it loops over -neighbor lists and computes distances between pairs of atoms in the -list. It also communicates between neighboring processors to -coordinate which bonds are created. Moreover, if any bonds are -created, neighbor lists must be immediately updated on the same -timestep. This is to insure that any pairwise interactions that -should be turned "off" due to a bond creation, because they are now -excluded by the presence of the bond and the settings of the -"special_bonds"_special_bonds.html command, will be immediately -recognized. All of these operations increase the cost of a timestep. -Thus you should be cautious about invoking this fix too frequently. - -You can dump out snapshots of the current bond topology via the "dump -local"_dump.html command. - -NOTE: Creating a bond typically alters the energy of a system. You -should be careful not to choose bond creation criteria that induce a -dramatic change in energy. For example, if you define a very stiff -harmonic bond and create it when 2 atoms are separated by a distance -far from the equilibrium bond length, then the 2 atoms will oscillate -dramatically when the bond is formed. More generally, you may need to -thermostat your system to compensate for energy changes resulting from -created bonds (and angles, dihedrals, impropers). - -: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. - -This fix computes two statistics which it stores in a global vector of -length 2, which can be accessed by various "output -commands"_Howto_output.html. The vector values calculated by this fix -are "intensive". - -These are the 2 quantities: - -(1) # of bonds created on the most recent creation timestep -(2) cumulative # of bonds created :ul - -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 fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the "Build package"_Build_package.html -doc page for more info. - -[Related commands:] - -"fix bond/break"_fix_bond_break.html, "fix -bond/react"_fix_bond_react.html, "fix bond/swap"_fix_bond_swap.html, -"dump local"_dump.html, "special_bonds"_special_bonds.html - -[Default:] - -The option defaults are iparam = (0,itype), jparam = (0,jtype), and -prob = 1.0. diff --git a/doc/txt/fix_bond_swap.txt b/doc/txt/fix_bond_swap.txt deleted file mode 100644 index 9a4e7c2b5556225545de06bc1226aaf46129ba18..0000000000000000000000000000000000000000 --- a/doc/txt/fix_bond_swap.txt +++ /dev/null @@ -1,191 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix bond/swap command :h3 - -[Syntax:] - -fix ID group-ID bond/swap Nevery fraction cutoff seed :pre - -ID, group-ID are documented in "fix"_fix.html command -bond/swap = style name of this fix command -Nevery = attempt bond swapping every this many steps -fraction = fraction of group atoms to consider for swapping -cutoff = distance at which swapping will be considered (distance units) -seed = random # seed (positive integer) :ul - -[Examples:] - -fix 1 all bond/swap 50 0.5 1.3 598934 :pre - -[Description:] - -In a simulation of polymer chains, this command attempts to swap bonds -between two different chains, effectively grafting the end of one -chain onto another chain and vice versa. This is done via Monte Carlo -rules using the Boltzmann acceptance criterion. The purpose is to -equilibrate the polymer chain conformations more rapidly than dynamics -alone would do it, by enabling instantaneous large conformational -changes in a dense polymer melt. The polymer chains should thus more -rapidly converge to the proper end-to-end distances and radii of -gyration. It is designed for use with systems of -"FENE"_bond_fene.html or "harmonic"_bond_harmonic.html bead-spring -polymer chains where each polymer is a linear chain of monomers, but -LAMMPS does not enforce this requirement, i.e. any -"bond_style"_bond_style.html can be used. - -A schematic of the kinds of bond swaps that can occur is shown here: - -:c,image(JPG/bondswap.jpg) - -On the left, the red and blue chains have two monomers A1 and B1 close -to each other, which are currently bonded to monomers A2 and B2 -respectively within their own chains. The bond swap operation will -attempt to delete the A1-A2 and B1-B2 bonds and replace them with -A1-B2 and B1-A2 bonds. If the swap is energetically favorable, the -two chains on the right are the result and each polymer chain has -undergone a dramatic conformational change. This reference, -"(Sides)"_#Sides provides more details on how the algorithm works and -its application: - -The bond swapping operation is invoked every {Nevery} timesteps. If -any bond is swapped, a re-build of the neighbor lists is triggered, -since a swap alters the list of which neighbors are considered for -pairwise interaction. At each invocation, each processor considers a -random specified {fraction} of its atoms as potential swapping -monomers for this timestep. Choosing a small {fraction} value can -reduce the likelihood of a reverse swap occurring soon after an -initial swap. - -For each monomer A1, its neighbors are examined to find a possible B1 -monomer. Both A1 and B1 must be in the fix group, their separation -must be less than the specified {cutoff}, and the molecule IDs of A1 -and B1 must be the same (see below). If a suitable partner is found, -the energy change due to swapping the 2 bonds is computed. This -includes changes in pairwise, bond, and angle energies due to the -altered connectivity of the 2 chains. Dihedral and improper -interactions are not allowed to be defined when this fix is used. - -If the energy decreases due to the swap operation, the bond swap is -accepted. If the energy increases it is accepted with probability -exp(-delta/kT) where delta is the increase in energy, k is the -Boltzmann constant, and T is the current temperature of the system. -Whether the swap is accepted or rejected, no other swaps are attempted -by this processor on this timestep. - -The criterion for matching molecule IDs is how bond swaps performed by -this fix conserve chain length. To use this features you must setup -the molecule IDs for your polymer chains in a certain way, typically -in the data file, read by the "read_data"_read_data.html command. -Consider a system of 6-mer chains. You have 2 choices. If the -molecule IDs for monomers on each chain are set to 1,2,3,4,5,6 then -swaps will conserve chain length. For a particular monomer there will -be only one other monomer on another chain which is a potential swap -partner. If the molecule IDs for monomers on each chain are set to -1,2,3,3,2,1 then swaps will conserve chain length but swaps will be -able to occur at either end of a chain. Thus for a particular monomer -there will be 2 possible swap partners on another chain. In this -scenario, swaps can also occur within a single chain, i.e. the two -ends of a chain swap with each other. - -NOTE: If your simulation uses molecule IDs in the usual way, where all -monomers on a single chain are assigned the same ID (different for -each chain), then swaps will only occur within the same chain. If you -assign the same molecule ID to all monomers in all chains then -inter-chain swaps will occur, but they will not conserve chain length. -Neither of these scenarios is probably what you want for this fix. - -NOTE: When a bond swap occurs the image flags of monomers in the new -polymer chains can become inconsistent. See the "dump"_dump.html -command for a discussion of image flags. This is not an issue for -running dynamics, but can affect calculation of some diagnostic -quantities or the printing of unwrapped coordinates to a dump file. - -:line - -This fix computes a temperature each time it is invoked for use by the -Boltzmann criterion. To do this, the fix creates its own compute of -style {temp}, as if this command had been issued: - -compute fix-ID_temp all temp :pre - -See the "compute temp"_compute_temp.html command for details. Note -that the ID of the new compute is the fix-ID with underscore + "temp" -appended and the group for the new compute is "all", so that the -temperature of the entire system is used. - -Note that this is NOT the compute used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. -This means you can change the attributes of this fix's temperature -(e.g. its degrees-of-freedom) via the -"compute_modify"_compute_modify.html command or print this temperature -during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} will have no -effect on this fix. - -:line - -[Restart, fix_modify, thermo output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" -restarts with this fix, where the simulation continues on the same as -if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior. Also note that -each processor generates possible swaps independently of other -processors. Thus if you repeat the same simulation on a different number -of processors, the specific swaps performed will be different. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a "compute"_compute.html you have -defined to this fix which will be used to compute the temperature for -the Boltzmann criterion. - -This fix computes two statistical quantities as a global 2-vector of -output, which can be accessed by various "output -commands"_Howto_output.html. The first component of the vector is the -cumulative number of swaps performed by all processors. The second -component of the vector is the cumulative number of swaps attempted -(whether accepted or rejected). Note that a swap "attempt" only -occurs when swap partners meeting the criteria described above are -found on a particular timestep. The vector values calculated by this -fix are "intensive". - -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 fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the "Build package"_Build_package.html -doc page for more info. - -The settings of the "special_bond" command must be 0,1,1 in order to -use this fix, which is typical of bead-spring chains with FENE or -harmonic bonds. This means that pairwise interactions between bonded -atoms are turned off, but are turned on between atoms two or three -hops away along the chain backbone. - -Currently, energy changes in dihedral and improper interactions due to -a bond swap are not considered. Thus a simulation that uses this fix -cannot use a dihedral or improper potential. - -[Related commands:] - -"fix atom/swap"_fix_atom_swap.html - -[Default:] none - -:line - -:link(Sides) -[(Sides)] Sides, Grest, Stevens, Plimpton, J Polymer Science B, 42, -199-208 (2004). diff --git a/doc/txt/fix_box_relax.txt b/doc/txt/fix_box_relax.txt deleted file mode 100644 index d41607e2ed9e285289ea7d632592ec711c855377..0000000000000000000000000000000000000000 --- a/doc/txt/fix_box_relax.txt +++ /dev/null @@ -1,366 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix box/relax command :h3 - -[Syntax:] - -fix ID group-ID box/relax keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -box/relax = style name of this fix command :l -one or more keyword value pairs may be appended -keyword = {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {nreset} or {vmax} or {dilate} or {scaleyz} or {scalexz} or {scalexy} or {fixedpoint} - {iso} or {aniso} or {tri} value = Ptarget = desired pressure (pressure units) - {x} or {y} or {z} or {xy} or {yz} or {xz} value = Ptarget = desired pressure (pressure units) - {couple} = {none} or {xyz} or {xy} or {yz} or {xz} - {nreset} value = reset reference cell every this many minimizer iterations - {vmax} value = fraction = max allowed volume change in one iteration - {dilate} value = {all} or {partial} - {scaleyz} value = {yes} or {no} = scale yz with lz - {scalexz} value = {yes} or {no} = scale xz with lz - {scalexy} value = {yes} or {no} = scale xy with ly - {fixedpoint} values = x y z - x,y,z = perform relaxation dilation/contraction around this point (distance units) :pre - -:ule - -[Examples:] - -fix 1 all box/relax iso 0.0 vmax 0.001 -fix 2 water box/relax aniso 0.0 dilate partial -fix 2 ice box/relax tri 0.0 couple xy nreset 100 :pre - -[Description:] - -Apply an external pressure or stress tensor to the simulation box -during an "energy minimization"_minimize.html. This allows the box -size and shape to vary during the iterations of the minimizer so that -the final configuration will be both an energy minimum for the -potential energy of the atoms, and the system pressure tensor will be -close to the specified external tensor. Conceptually, specifying a -positive pressure is like squeezing on the simulation box; a negative -pressure typically allows the box to expand. - -:line - -The external pressure tensor is specified using one or more of the -{iso}, {aniso}, {tri}, {x}, {y}, {z}, {xy}, {xz}, {yz}, and {couple} -keywords. These keywords give you the ability to specify all 6 -components of an external stress tensor, and to couple various of -these components together so that the dimensions they represent are -varied together during the minimization. - -Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). -Triclinic (non-orthogonal) simulation boxes have 6 adjustable -dimensions (x,y,z,xy,xz,yz). The "create_box"_create_box.html, "read -data"_read_data.html, and "read_restart"_read_restart.html commands -specify whether the simulation box is orthogonal or non-orthogonal -(triclinic) and explain the meaning of the xy,xz,yz tilt factors. - -The target pressures {Ptarget} for each of the 6 components of the -stress tensor can be specified independently via the {x}, {y}, {z}, -{xy}, {xz}, {yz} keywords, which correspond to the 6 simulation box -dimensions. For example, if the {y} keyword is used, the y-box length -will change during the minimization. If the {xy} keyword is used, the -xy tilt factor will change. A box dimension will not change if that -component is not specified. - -Note that in order to use the {xy}, {xz}, or {yz} keywords, the -simulation box must be triclinic, even if its initial tilt factors are -0.0. - -When the size of the simulation box changes, all atoms are re-scaled -to new positions, unless the keyword {dilate} is specified with a -value of {partial}, in which case only the atoms in the fix group are -re-scaled. This can be useful for leaving the coordinates of atoms in -a solid substrate unchanged and controlling the pressure of a -surrounding fluid. - -The {scaleyz}, {scalexz}, and {scalexy} keywords control whether or -not the corresponding tilt factors are scaled with the associated box -dimensions when relaxing triclinic periodic cells. The default -values {yes} will turn on scaling, which corresponds to adjusting the -linear dimensions of the cell while preserving its shape. Choosing -{no} ensures that the tilt factors are not scaled with the box -dimensions. See below for restrictions and default values in different -situations. In older versions of LAMMPS, scaling of tilt factors was -not performed. The old behavior can be recovered by setting all three -scale keywords to {no}. - -The {fixedpoint} keyword specifies the fixed point for cell relaxation. -By default, it is the center of the box. Whatever point is -chosen will not move during the simulation. For example, if the lower -periodic boundaries pass through (0,0,0), and this point is provided -to {fixedpoint}, then the lower periodic boundaries will remain at -(0,0,0), while the upper periodic boundaries will move twice as -far. In all cases, the particle positions at each iteration are -unaffected by the chosen value, except that all particles are -displaced by the same amount, different on each iteration. - -NOTE: Applying an external pressure to tilt dimensions {xy}, {xz}, {yz} -can sometimes result in arbitrarily large values of the tilt factors, -i.e. a dramatically deformed simulation box. This typically indicates -that there is something badly wrong with how the simulation was -constructed. The two most common sources of this error are applying a -shear stress to a liquid system or specifying an external shear stress -tensor that exceeds the yield stress of the solid. In either case the -minimization may converge to a bogus conformation or not converge at -all. Also note that if the box shape tilts to an extreme shape, -LAMMPS will run less efficiently, due to the large volume of -communication needed to acquire ghost atoms around a processor's -irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may -also lose atoms and generate an error. - -NOTE: Performing a minimization with this fix is not a mathematically -well-defined minimization problem. This is because the objective -function being minimized changes if the box size/shape changes. In -practice this means the minimizer can get "stuck" before you have -reached the desired tolerance. The solution to this is to restart the -minimizer from the new adjusted box size/shape, since that creates a -new objective function valid for the new box size/shape. Repeat as -necessary until the box size/shape has reached its new equilibrium. - -:line - -The {couple} keyword allows two or three of the diagonal components of -the pressure tensor to be "coupled" together. The value specified -with the keyword determines which are coupled. For example, {xz} -means the {Pxx} and {Pzz} components of the stress tensor are coupled. -{Xyz} means all 3 diagonal components are coupled. Coupling means two -things: the instantaneous stress will be computed as an average of the -corresponding diagonal components, and the coupled box dimensions will -be changed together in lockstep, meaning coupled dimensions will be -dilated or contracted by the same percentage every timestep. The -{Ptarget} values for any coupled dimensions must be identical. -{Couple xyz} can be used for a 2d simulation; the {z} dimension is -simply ignored. - -:line - -The {iso}, {aniso}, and {tri} keywords are simply shortcuts that are -equivalent to specifying several other keywords together. - -The keyword {iso} means couple all 3 diagonal components together when -pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using "iso Ptarget" is the same as specifying -these 4 keywords: - -x Ptarget -y Ptarget -z Ptarget -couple xyz :pre - -The keyword {aniso} means {x}, {y}, and {z} dimensions are controlled -independently using the {Pxx}, {Pyy}, and {Pzz} components of the -stress tensor as the driving forces, and the specified scalar external -pressure. Using "aniso Ptarget" is the same as specifying these 4 -keywords: - -x Ptarget -y Ptarget -z Ptarget -couple none :pre - -The keyword {tri} means {x}, {y}, {z}, {xy}, {xz}, and {yz} dimensions -are controlled independently using their individual stress components -as the driving forces, and the specified scalar pressure as the -external normal stress. Using "tri Ptarget" is the same as specifying -these 7 keywords: - -x Ptarget -y Ptarget -z Ptarget -xy 0.0 -yz 0.0 -xz 0.0 -couple none :pre - -:line - -The {vmax} keyword can be used to limit the fractional change in the -volume of the simulation box that can occur in one iteration of the -minimizer. If the pressure is not settling down during the -minimization this can be because the volume is fluctuating too much. -The specified fraction must be greater than 0.0 and should be << 1.0. -A value of 0.001 means the volume cannot change by more than 1/10 of a -percent in one iteration when {couple xyz} has been specified. For -any other case it means no linear dimension of the simulation box can -change by more than 1/10 of a percent. - -:line - -With this fix, the potential energy used by the minimizer is augmented -by an additional energy provided by the fix. The overall objective -function then is: - -:c,image(Eqs/fix_box_relax1.jpg) - -where {U} is the system potential energy, {P}_t is the desired -hydrostatic pressure, {V} and {V}_0 are the system and reference -volumes, respectively. {E}_{strain} is the strain energy expression -proposed by Parrinello and Rahman "(Parrinello1981)"_#Parrinello1981. -Taking derivatives of {E} w.r.t. the box dimensions, and setting these -to zero, we find that at the minimum of the objective function, the -global system stress tensor [P] will satisfy the relation: - -:c,image(Eqs/fix_box_relax2.jpg) - -where [I] is the identity matrix, [h]_0 is the box dimension tensor of -the reference cell, and [h]_0{d} is the diagonal part of -[h]_0. [S]_{t} is a symmetric stress tensor that is chosen by LAMMPS -so that the upper-triangular components of [P] equal the stress tensor -specified by the user. - -This equation only applies when the box dimensions are equal to those -of the reference dimensions. If this is not the case, then the -converged stress tensor will not equal that specified by the user. We -can resolve this problem by periodically resetting the reference -dimensions. The keyword {nreset} controls how often this is done. If -this keyword is not used, or is given a value of zero, then the -reference dimensions are set to those of the initial simulation domain -and are never changed. A value of {nstep} means that every {nstep} -minimization steps, the reference dimensions are set to those of the -current simulation domain. Note that resetting the reference -dimensions changes the objective function and gradients, which -sometimes causes the minimization to fail. This can be resolved by -changing the value of {nreset}, or simply continuing the minimization -from a restart file. - -NOTE: As normally computed, pressure includes a kinetic- energy or -temperature-dependent component; see the "compute -pressure"_compute_pressure.html command. However, atom velocities are -ignored during a minimization, and the applied pressure(s) specified -with this command are assumed to only be the virial component of the -pressure (the non-kinetic portion). Thus if atoms have a non-zero -temperature and you print the usual thermodynamic pressure, it may not -appear the system is converging to your specified pressure. The -solution for this is to either (a) zero the velocities of all atoms -before performing the minimization, or (b) make sure you are -monitoring the pressure without its kinetic component. The latter can -be done by outputting the pressure from the pressure compute this -command creates (see below) or a pressure compute you define yourself. - -NOTE: Because pressure is often a very sensitive function of volume, -it can be difficult for the minimizer to equilibrate the system the -desired pressure with high precision, particularly for solids. Some -techniques that seem to help are (a) use the "min_modify line -quadratic" option when minimizing with box relaxations, (b) minimize -several times in succession if need be, to drive the pressure closer -to the target pressure, (c) relax the atom positions before relaxing -the box, and (d) relax the box to the target hydrostatic pressure -before relaxing to a target shear stress state. Also note that some -systems (e.g. liquids) will not sustain a non-hydrostatic applied -pressure, which means the minimizer will not converge. - -:line - -This fix computes a temperature and pressure each timestep. The -temperature is used to compute the kinetic contribution to the -pressure, even though this is subsequently ignored by default. To do -this, the fix creates its own computes of style "temp" and "pressure", -as if these commands had been issued: - -compute fix-ID_temp group-ID temp -compute fix-ID_press group-ID pressure fix-ID_temp virial :pre - -See the "compute temp"_compute_temp.html and "compute -pressure"_compute_pressure.html commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is the same -as the fix group. Also note that the pressure compute does not -include a kinetic component. - -Note that these are NOT the computes used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} -and {thermo_press}. This means you can change the attributes of this -fix's temperature or pressure via the -"compute_modify"_compute_modify.html command or print this temperature -or pressure during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} or -{thermo_press} will have no effect on this fix. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by this fix. You can use them to assign a -"compute"_compute.html you have defined to this fix which will be used -in its temperature and pressure calculation, as described above. Note -that as described above, if you assign a pressure compute to this fix -that includes a kinetic energy component it will affect the -minimization, most likely in an undesirable way. - -NOTE: If both the {temp} and {press} keywords are used in a single -thermo_modify command (or in two separate commands), then the order in -which the keywords are specified is important. Note that a "pressure -compute"_compute_pressure.html defines its own temperature compute as -an argument when it is specified. The {temp} keyword will override -this (for the pressure compute being used by fix box/relax), but only if the -{temp} keyword comes after the {press} keyword. If the {temp} keyword -comes before the {press} keyword, then the new pressure compute -specified by the {press} keyword will be unaffected by the {temp} -setting. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the pressure-volume -energy, plus the strain energy, if it exists, as described above. The -energy values reported at the end of a minimization run under -"Minimization stats" include this energy, and so differ from what -LAMMPS normally reports as potential energy. This fix does not support -the "fix_modify"_fix_modify.html {energy} option, because that would -result in double-counting of the fix energy in the minimization -energy. Instead, the fix energy can be explicitly added to the -potential energy using one of these two variants: - -variable emin equal pe+f_1 :pre - -variable emin equal pe+f_1/atoms :pre - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -This fix is invoked during "energy minimization"_minimize.html, but -not for the purpose of adding a contribution to the energy or forces -being minimized. Instead it alters the simulation box geometry as -described above. - -[Restrictions:] - -Only dimensions that are available can be adjusted by this fix. -Non-periodic dimensions are not available. {z}, {xz}, and {yz}, are -not available for 2D simulations. {xy}, {xz}, and {yz} are only -available if the simulation domain is non-orthogonal. The -"create_box"_create_box.html, "read data"_read_data.html, and -"read_restart"_read_restart.html commands specify whether the -simulation box is orthogonal or non-orthogonal (triclinic) and explain -the meaning of the xy,xz,yz tilt factors. - -The {scaleyz yes} and {scalexz yes} keyword/value pairs can not be used -for 2D simulations. {scaleyz yes}, {scalexz yes}, and {scalexy yes} options -can only be used if the 2nd dimension in the keyword is periodic, -and if the tilt factor is not coupled to the barostat via keywords -{tri}, {yz}, {xz}, and {xy}. - -[Related commands:] - -"fix npt"_fix_nh.html, "minimize"_minimize.html - -[Default:] - -The keyword defaults are dilate = all, vmax = 0.0001, nreset = 0. - -:line - -:link(Parrinello1981) -[(Parrinello1981)] Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). diff --git a/doc/txt/fix_cmap.txt b/doc/txt/fix_cmap.txt deleted file mode 100644 index aef565e89ed6c1bf9100a8e63f532ef1a08b1451..0000000000000000000000000000000000000000 --- a/doc/txt/fix_cmap.txt +++ /dev/null @@ -1,144 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix cmap command :h3 - -[Syntax:] - -fix ID group-ID cmap filename :pre - -ID, group-ID are documented in "fix"_fix.html command -cmap = style name of this fix command -filename = force-field file with CMAP coefficients :ul - -[Examples:] - -fix myCMAP all cmap ../potentials/cmap36.data -read_data proteinX.data fix myCMAP crossterm CMAP -fix_modify myCMAP energy yes :pre - -[Description:] - -This command enables CMAP cross-terms to be added to simulations which -use the CHARMM force field. These are relevant for any CHARMM model -of a peptide or protein sequences that is 3 or more amino-acid -residues long; see "(Buck)"_#Buck and "(Brooks)"_#Brooks2 for details, -including the analytic energy expressions for CMAP interactions. The -CMAP cross-terms add additional potential energy contributions to pairs -of overlapping phi-psi dihedrals of amino-acids, which are important -to properly represent their conformational behavior. - -The examples/cmap directory has a sample input script and data file -for a small peptide, that illustrates use of the fix cmap command. - -As in the example above, this fix should be used before reading a data -file that contains a listing of CMAP interactions. The {filename} -specified should contain the CMAP parameters for a particular version -of the CHARMM force field. Two such files are including in the -lammps/potentials directory: charmm22.cmap and charmm36.cmap. - -The data file read by the "read_data" must contain the topology of all -the CMAP interactions, similar to the topology data for bonds, angles, -dihedrals, etc. Specially it should have a line like this -in its header section: - -N crossterms :pre - -where N is the number of CMAP cross-terms. It should also have a section -in the body of the data file like this with N lines: - -CMAP :pre - - 1 1 8 10 12 18 20 - 2 5 18 20 22 25 27 - \[...\] - N 3 314 315 317 318 330 :pre - -The first column is an index from 1 to N to enumerate the CMAP terms; -it is ignored by LAMMPS. The 2nd column is the "type" of the -interaction; it is an index into the CMAP force field file. The -remaining 5 columns are the atom IDs of the atoms in the two 4-atom -dihedrals that overlap to create the CMAP 5-body interaction. Note -that the "crossterm" and "CMAP" keywords for the header and body -sections match those specified in the read_data command following the -data file name; see the "read_data"_read_data.html doc page for -more details. - -A data file containing CMAP cross-terms can be generated from a PDB -file using the charmm2lammps.pl script in the tools/ch2lmp directory -of the LAMMPS distribution. The script must be invoked with the -optional "-cmap" flag to do this; see the tools/ch2lmp/README file for -more information. - -The potential energy associated with CMAP interactions can be output -as described below. It can also be included in the total potential -energy of the system, as output by the -"thermo_style"_thermo_style.html command, if the "fix_modify -energy"_fix_modify.html command is used, as in the example above. See -the note below about how to include the CMAP energy when performing an -"energy minimization"_minimize.html. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the list of CMAP cross-terms to "binary restart -files"_restart.html. See the "read_restart"_read_restart.html command -for info on how to re-specify a fix in an input script that reads a -restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the potential "energy" of the CMAP interactions system's -potential energy as part of "thermodynamic output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {virial} option is supported by this -fix to add the contribution due to the interaction between atoms to -the system's virial as part of "thermodynamic output"_thermo_style.html. -The default is {virial yes} - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the potential -energy discussed above. The scalar value calculated by this fix is -"extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -NOTE: If you want the potential energy associated with the CMAP terms -forces to be included in the total potential energy of the system (the -quantity being minimized), you MUST enable the -"fix_modify"_fix_modify.html {energy} option for this fix. - -[Restrictions:] - -To function as expected this fix command must be issued {before} a -"read_data"_read_data.html command but {after} a -"read_restart"_read_restart.html command. - -This fix can only be used if LAMMPS was built with the MOLECULE -package. See the "Build package"_Build_package.html doc page for more -info. - -[Related commands:] - -"fix_modify"_fix_modify.html, "read_data"_read_data.html - -[Default:] none - -:line - -:link(Buck) -[(Buck)] Buck, Bouguet-Bonnet, Pastor, MacKerell Jr., Biophys J, 90, L36 -(2006). - -:link(Brooks2) -[(Brooks)] Brooks, Brooks, MacKerell Jr., J Comput Chem, 30, 1545 (2009). diff --git a/doc/txt/fix_colvars.txt b/doc/txt/fix_colvars.txt deleted file mode 100644 index 304273d45174775cc4f126a8bb6cf772c9da2c42..0000000000000000000000000000000000000000 --- a/doc/txt/fix_colvars.txt +++ /dev/null @@ -1,140 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix colvars command :h3 - -[Syntax:] - -fix ID group-ID colvars configfile keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -colvars = style name of this fix command :l -configfile = the configuration file for the colvars module :l -keyword = {input} or {output} or {seed} or {tstat} :l - {input} arg = colvars.state file name or prefix or NULL (default: NULL) - {output} arg = output filename prefix (default: out) - {seed} arg = seed for random number generator (default: 1966) - {unwrap} arg = {yes} or {no} - use unwrapped coordinates in collective variables (default: yes) - {tstat} arg = fix id of a thermostat or NULL (default: NULL) :pre -:ule - -[Examples:] - -fix mtd all colvars peptide.colvars.inp seed 2122 input peptide.colvars.state output peptide -fix abf all colvars colvars.inp tstat 1 :pre - -[Description:] - -This fix interfaces LAMMPS to the collective variables "Colvars" -library, which allows to calculate potentials of mean force -(PMFs) for any set of colvars, using different sampling methods: -currently implemented are the Adaptive Biasing Force (ABF) method, -metadynamics, Steered Molecular Dynamics (SMD) and Umbrella Sampling -(US) via a flexible harmonic restraint bias. - -This documentation describes only the fix colvars command itself and -LAMMPS specific parts of the code. The full documentation of the -colvars library is available as "this supplementary PDF document"_PDF/colvars-refman-lammps.pdf - -The Colvars library is developed at "https://github.com/colvars/colvars"_https://github.com/colvars/colvars -A detailed discussion of its implementation is in "(Fiorin)"_#Fiorin. - -There are some example scripts for using this package with LAMMPS in the -examples/USER/colvars directory. - -:line - -The only mandatory argument to the fix is the filename to the colvars -input file that contains the input that is independent from the MD -program in which the colvars library has been integrated. - -The {group-ID} entry is ignored. The collective variable module will -always apply to the entire system and there can only be one instance -of the colvars fix at a time. The colvars fix will only communicate -the minimum information necessary and the colvars library supports -multiple, completely independent collective variables, so there is -no restriction to functionality by limiting the number of colvars fixes. - -The {input} keyword allows to specify a state file that would contain -the restart information required in order to continue a calculation from -a prerecorded state. Fix colvars records it state in "binary restart"_restart.html -files, so when using the "read_restart"_read_restart.html command, -this is usually not needed. - -The {output} keyword allows to specify the output prefix. All output -files generated will use this prefix followed by the ".colvars." and -a word like "state" or "traj". - -The {seed} keyword contains the seed for the random number generator -that will be used in the colvars module. - -The {unwrap} keyword controls whether wrapped or unwrapped coordinates -are passed to the colvars library for calculation of the collective -variables and the resulting forces. The default is {yes}, i.e. to use -the image flags to reconstruct the absolute atom positions. -Setting this to {no} will use the current local coordinates that are -wrapped back into the simulation cell at each re-neighboring instead. - -The {tstat} keyword can be either NULL or the label of a thermostatting -fix that thermostats all atoms in the fix colvars group. This will be -used to provide the colvars module with the current thermostat target -temperature. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the current status of the colvars module into -"binary restart files"_restart.html. This is in addition to the text -mode status file that is written by the colvars module itself and the -kind of information in both files is identical. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change from the biasing force added by the fix -to the system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -The {fix_modify configfile } option allows to add settings -from an additional config file to the colvars module. This option can -only be used, after the system has been initialized with a "run"_run.html -command. - -The {fix_modify config } option allows to add settings -from inline strings. Those have to fit on a single line when enclosed -in a pair of double quotes ("), or can span multiple lines when bracketed -by a pair of triple double quotes (""", like python embedded documentation). - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". - -[Restrictions:] - -This fix is part of the USER-COLVARS package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -There can only be one colvars fix active at a time. Since the interface -communicates only the minimum amount of information and colvars module -itself can handle an arbitrary number of collective variables, this is -not a limitation of functionality. - -[Related commands:] - -"fix smd"_fix_smd.html, "fix spring"_fix_spring.html, -"fix plumed"_fix_plumed.html - -[Default:] - -The default options are input = NULL, output = out, seed = 1966, unwrap yes, -and tstat = NULL. - -:line - -:link(Fiorin) -[(Fiorin)] Fiorin, Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594 diff --git a/doc/txt/fix_controller.txt b/doc/txt/fix_controller.txt deleted file mode 100644 index 45eb646b8e5f4e639f21f6bd2c40150bb51ac4fc..0000000000000000000000000000000000000000 --- a/doc/txt/fix_controller.txt +++ /dev/null @@ -1,205 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix controller command :h3 - -[Syntax:] - -fix ID group-ID controller Nevery alpha Kp Ki Kd pvar setpoint cvar :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -controller = style name of this fix command :l -Nevery = invoke controller every this many timesteps :l -alpha = coupling constant for PID equation (see units discussion below) :l -Kp = proportional gain in PID equation (unitless) :l -Ki = integral gain in PID equation (unitless) :l -Kd = derivative gain in PID equation (unitless) :l -pvar = process variable of form c_ID, c_ID\[I\], f_ID, f_ID\[I\], or v_name :l - c_ID = global scalar calculated by a compute with ID - c_ID\[I\] = Ith component of global vector calculated by a compute with ID - f_ID = global scalar calculated by a fix with ID - f_ID\[I\] = Ith component of global vector calculated by a fix with ID - v_name = value calculated by an equal-style variable with name :pre -setpoint = desired value of process variable (same units as process variable) :l -cvar = name of control variable :l -:ule - -[Examples:] - -fix 1 all controller 100 1.0 0.5 0.0 0.0 c_thermo_temp 1.5 tcontrol -fix 1 all controller 100 0.2 0.5 0 100.0 v_pxxwall 1.01325 xwall -fix 1 all controller 10000 0.2 0.5 0 2000 v_avpe -3.785 tcontrol :pre - -[Description:] - -This fix enables control of a LAMMPS simulation using a control loop -feedback mechanism known as a proportional-integral-derivative (PID) -controller. The basic idea is to define a "process variable" which is -a quantity that can be monitored during a running simulation. A -desired target value is chosen for the process variable. A "control -variable" is also defined which is an adjustable attribute of the -running simulation, which the process variable will respond to. The -PID controller continuously adjusts the control variable based on the -difference between the process variable and the target. - -Here are examples of ways in which this fix can be used. The -examples/pid directory contains a script that implements the simple -thermostat. - -Goal | process variable | control variable -Simple thermostat | instantaneous T | thermostat target T -Find melting temperature | average PE per atom | thermostat target T -Control pressure in non-periodic system | force on wall | position of wall -:tb(s=|) - -NOTE: For this fix to work, the control variable must actually induce -a change in a running LAMMPS simulation. Typically this will only -occur if there is some other command (e.g. a thermostat fix) which -uses the control variable as an input parameter. This could be done -directly or indirectly, e.g. the other command uses a variable as -input whose formula uses the control variable. The other command -should alter its behavior dynamically as the variable changes. - -NOTE: If there is a command you think could be used in this fashion, -but does not currently allow a variable as an input parameter, please -notify the LAMMPS developers. It is often not difficult to enable a -command to use a variable as an input parameter. - -The group specified with this command is ignored. However, note that -the process variable may be defined by calculations performed by -computes and fixes which store their own "group" definitions. - -The PID controller is invoked once each {Nevery} timesteps. - -The PID controller is implemented as a discretized version of -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 -{alpha}, {Kp}, {Ki}, and {Kd} are constants set by the corresponding -keywords described above. The discretized version of this equation is: - -:c,image(Eqs/fix_controller2.jpg) - -where {tau} = {Nevery} * {timestep} is the time interval between updates, -and the subscripted variables indicate the values of {c} and {e} at -successive updates. - -From the first equation, it is clear that if the three gain values -{Kp}, {Ki}, {Kd} are dimensionless constants, then {alpha} must have -units of \[unit {cvar}\]/\[unit {pvar}\]/\[unit time\] e.g. \[ eV/K/ps -\]. The advantage of this unit scheme is that the value of the -constants should be invariant under a change of either the MD timestep -size or the value of {Nevery}. Similarly, if the LAMMPS "unit -style"_units.html is changed, it should only be necessary to change -the value of {alpha} to reflect this, while leaving {Kp}, {Ki}, and -{Kd} unaltered. - -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. -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 -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 -counteracted by increasing {Ki}. In the language of Charles Dickens, -{Kp} represents the error of the present, {Ki} the error of the past, -and {Kd} the error yet to come. - -Because this fix updates {cvar}, but does not initialize its value, -the initial value is that assigned by the user in the input script via -the "internal-style variable"_variable.html command. This value is -used (by the other LAMMPS command that used the variable) until this -fix performs its first update of {cvar} after {Nevery} timesteps. On -the first update, the value of the derivative term is set to zero, -because the value of {e_n-1} is not yet defined. - -:line - -The process variable {pvar} can be specified as the output of a -"compute"_compute.html or "fix"_fix.html or the evaluation of a -"variable"_variable.html. In each case, the compute, fix, or variable -must produce a global quantity, not a per-atom or local quantity. - -If {pvar} begins with "c_", a compute ID must follow which has been -previously defined in the input script and which generates a global -scalar or vector. See the individual "compute"_compute.html doc page -for details. If no bracketed integer is appended, the scalar -calculated by the compute is used. If a bracketed integer is -appended, the Ith value of the vector calculated by the compute is -used. Users can also write code for their own compute styles and "add -them to LAMMPS"_Modify.html. - -If {pvar} begins with "f_", a fix ID must follow which has been -previously defined in the input script and which generates a global -scalar or vector. See the individual "fix"_fix.html doc page for -details. Note that some fixes only produce their values on certain -timesteps, which must be compatible with when fix controller -references the values, or else an error results. If no bracketed integer -is appended, the scalar calculated by the fix is used. If a bracketed -integer is appended, the Ith value of the vector calculated by the fix -is used. Users can also write code for their own fix style and "add -them to LAMMPS"_Modify.html. - -If {pvar} begins with "v_", a variable name must follow which has been -previously defined in the input script. Only equal-style variables -can be referenced. See the "variable"_variable.html command for -details. Note that variables of style {equal} define a formula which -can reference individual atom properties or thermodynamic keywords, or -they can invoke other computes, fixes, or variables when they are -evaluated, so this is a very general means of specifying the process -variable. - -The target value {setpoint} for the process variable must be a numeric -value, in whatever units {pvar} is defined for. - -The control variable {cvar} must be the name of an "internal-style -variable"_variable.html previously defined in the input script. Note -that it is not specified with a "v_" prefix, just the name of the -variable. It must be an internal-style variable, because this fix -updates its value directly. Note that other commands can use an -equal-style versus internal-style variable interchangeably. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Currently, 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. - -This fix produces a global vector with 3 values which can be accessed -by various "output commands"_Howto_output.html. The values can be -accessed on any timestep, though they are only updated on timesteps -that are a multiple of {Nevery}. - -The three values are the most recent updates made to the control -variable by each of the 3 terms in the PID equation above. The first -value is the proportional term, the second is the integral term, the -third is the derivative term. - -The units of the vector values will be whatever units the control -variable is in. The vector values calculated by this fix are -"extensive". - -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:] none - -[Related commands:] - -"fix adapt"_fix_adapt.html - -[Default:] none diff --git a/doc/txt/fix_deform.txt b/doc/txt/fix_deform.txt deleted file mode 100644 index 3259f79497af3f94b40b7024fd2e5c63838d43bd..0000000000000000000000000000000000000000 --- a/doc/txt/fix_deform.txt +++ /dev/null @@ -1,599 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix deform command :h3 -fix deform/kk command :h3 - -[Syntax:] - -fix ID group-ID deform N parameter args ... keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -deform = style name of this fix command :l -N = perform box deformation every this many timesteps :l -one or more parameter/arg pairs may be appended :l -parameter = {x} or {y} or {z} or {xy} or {xz} or {yz} - {x}, {y}, {z} args = style value(s) - style = {final} or {delta} or {scale} or {vel} or {erate} or {trate} or {volume} or {wiggle} or {variable} - {final} values = lo hi - lo hi = box boundaries at end of run (distance units) - {delta} values = dlo dhi - dlo dhi = change in box boundaries at end of run (distance units) - {scale} values = factor - factor = multiplicative factor for change in box length at end of run - {vel} value = V - V = change box length at this velocity (distance/time units), - effectively an engineering strain rate - {erate} value = R - R = engineering strain rate (1/time units) - {trate} value = R - R = true strain rate (1/time units) - {volume} value = none = adjust this dim to preserve volume of system - {wiggle} values = A Tp - A = amplitude of oscillation (distance units) - Tp = period of oscillation (time units) - {variable} values = v_name1 v_name2 - v_name1 = variable with name1 for box length change as function of time - v_name2 = variable with name2 for change rate as function of time - {xy}, {xz}, {yz} args = style value - style = {final} or {delta} or {vel} or {erate} or {trate} or {wiggle} - {final} value = tilt - tilt = tilt factor at end of run (distance units) - {delta} value = dtilt - dtilt = change in tilt factor at end of run (distance units) - {vel} value = V - V = change tilt factor at this velocity (distance/time units), - effectively an engineering shear strain rate - {erate} value = R - R = engineering shear strain rate (1/time units) - {trate} value = R - R = true shear strain rate (1/time units) - {wiggle} values = A Tp - A = amplitude of oscillation (distance units) - Tp = period of oscillation (time units) - {variable} values = v_name1 v_name2 - v_name1 = variable with name1 for tilt change as function of time - v_name2 = variable with name2 for change rate as function of time :pre - -zero or more keyword/value pairs may be appended :l -keyword = {remap} or {flip} or {units} :l - {remap} value = {x} or {v} or {none} - x = remap coords of atoms in group into deforming box - v = remap velocities of all atoms when they cross periodic boundaries - none = no remapping of x or v - {flip} value = {yes} or {no} - allow or disallow box flips when it becomes highly skewed - {units} value = {lattice} or {box} - lattice = distances are defined in lattice units - box = distances are defined in simulation box units :pre -:ule - -[Examples:] - -fix 1 all deform 1 x final 0.0 9.0 z final 0.0 5.0 units box -fix 1 all deform 1 x trate 0.1 y volume z volume -fix 1 all deform 1 xy erate 0.001 remap v -fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 :pre - -[Description:] - -Change the volume and/or shape of the simulation box during a dynamics -run. Orthogonal simulation boxes have 3 adjustable parameters -(x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 -adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be -adjusted independently and simultaneously by this command. - -This fix can be used to perform non-equilibrium MD (NEMD) simulations -of a continuously strained system. See the "fix -nvt/sllod"_fix_nvt_sllod.html and "compute -temp/deform"_compute_temp_deform.html commands for more details. Note -that simulation of a continuously extended system (extensional flow) -can be modeled using the "USER-UEF -package"_Packages_details.html#PKG-USER-UEF and its "fix -commands"_fix_nh_uef.html. - -For the {x}, {y}, {z} parameters, the associated dimension cannot be -shrink-wrapped. For the {xy}, {yz}, {xz} parameters, the associated -2nd dimension cannot be shrink-wrapped. Dimensions not varied by this -command can be periodic or non-periodic. Dimensions corresponding to -unspecified parameters can also be controlled by a "fix -npt"_fix_nh.html or "fix nph"_fix_nh.html command. - -The size and shape of the simulation box at the beginning of the -simulation run were either specified by the -"create_box"_create_box.html or "read_data"_read_data.html or -"read_restart"_read_restart.html command used to setup the simulation -initially if it is the first run, or they are the values from the end -of the previous run. The "create_box"_create_box.html, "read -data"_read_data.html, and "read_restart"_read_restart.html commands -specify whether the simulation box is orthogonal or non-orthogonal -(triclinic) and explain the meaning of the xy,xz,yz tilt factors. If -fix deform changes the xy,xz,yz tilt factors, then the simulation box -must be triclinic, even if its initial tilt factors are 0.0. - -As described below, the desired simulation box size and shape at the -end of the run are determined by the parameters of the fix deform -command. Every Nth timestep during the run, the simulation box is -expanded, contracted, or tilted to ramped values between the initial -and final values. - -:line - -For the {x}, {y}, and {z} parameters, this is the meaning of their -styles and values. - -The {final}, {delta}, {scale}, {vel}, and {erate} styles all change -the specified dimension of the box via "constant displacement" which -is effectively a "constant engineering strain rate". This means the -box dimension changes linearly with time from its initial to final -value. - -For style {final}, the final lo and hi box boundaries of a dimension -are specified. The values can be in lattice or box distance units. -See the discussion of the units keyword below. - -For style {delta}, plus or minus changes in the lo/hi box boundaries -of a dimension are specified. The values can be in lattice or box -distance units. See the discussion of the units keyword below. - -For style {scale}, a multiplicative factor to apply to the box length -of a dimension is specified. For example, if the initial box length -is 10, and the factor is 1.1, then the final box length will be 11. A -factor less than 1.0 means compression. - -For style {vel}, a velocity at which the box length changes is -specified in units of distance/time. This is effectively a "constant -engineering strain rate", where rate = V/L0 and L0 is the initial box -length. The distance can be in lattice or box distance units. See -the discussion of the units keyword below. For example, if the -initial box length is 100 Angstroms, and V is 10 Angstroms/psec, then -after 10 psec, the box length will have doubled. After 20 psec, it -will have tripled. - -The {erate} style changes a dimension of the box at a "constant -engineering strain rate". The units of the specified strain rate are -1/time. See the "units"_units.html command for the time units -associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Tensile strain is unitless and -is defined as delta/L0, where L0 is the original box length and delta -is the change relative to the original length. The box length L as a -function of time will change as - -L(t) = L0 (1 + erate*dt) :pre - -where dt is the elapsed time (in time units). Thus if {erate} R is -specified as 0.1 and time units are picoseconds, this means the box -length will increase by 10% of its original length every picosecond. -I.e. strain after 1 psec = 0.1, strain after 2 psec = 0.2, etc. R = --0.01 means the box length will shrink by 1% of its original length -every picosecond. Note that for an "engineering" rate the change is -based on the original box length, so running with R = 1 for 10 -picoseconds expands the box length by a factor of 11 (strain of 10), -which is different that what the {trate} style would induce. - -The {trate} style changes a dimension of the box at a "constant true -strain rate". Note that this is not an "engineering strain rate", as -the other styles are. Rather, for a "true" rate, the rate of change -is constant, which means the box dimension changes non-linearly with -time from its initial to final value. The units of the specified -strain rate are 1/time. See the "units"_units.html command for the -time units associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Tensile strain is unitless and -is defined as delta/L0, where L0 is the original box length and delta -is the change relative to the original length. - -The box length L as a function of time will change as - -L(t) = L0 exp(trate*dt) :pre - -where dt is the elapsed time (in time units). Thus if {trate} R is -specified as ln(1.1) and time units are picoseconds, this means the -box length will increase by 10% of its current (not original) length -every picosecond. I.e. strain after 1 psec = 0.1, strain after 2 psec -= 0.21, etc. R = ln(2) or ln(3) means the box length will double or -triple every picosecond. R = ln(0.99) means the box length will -shrink by 1% of its current length every picosecond. Note that for a -"true" rate the change is continuous and based on the current length, -so running with R = ln(2) for 10 picoseconds does not expand the box -length by a factor of 11 as it would with {erate}, but by a factor of -1024 since the box length will double every picosecond. - -Note that to change the volume (or cross-sectional area) of the -simulation box at a constant rate, you can change multiple dimensions -via {erate} or {trate}. E.g. to double the box volume in a picosecond -picosecond, you could set "x erate M", "y erate M", "z erate M", with -M = pow(2,1/3) - 1 = 0.26, since if each box dimension grows by 26%, -the box volume doubles. Or you could set "x trate M", "y trate M", "z -trate M", with M = ln(1.26) = 0.231, and the box volume would double -every picosecond. - -The {volume} style changes the specified dimension in such a way that -the box volume remains constant while other box dimensions are changed -explicitly via the styles discussed above. For example, "x scale 1.1 -y scale 1.1 z volume" will shrink the z box length as the x,y box -lengths increase, to keep the volume constant (product of x,y,z -lengths). If "x scale 1.1 z volume" is specified and parameter {y} is -unspecified, then the z box length will shrink as x increases to keep -the product of x,z lengths constant. If "x scale 1.1 y volume z -volume" is specified, then both the y,z box lengths will shrink as x -increases to keep the volume constant (product of x,y,z lengths). In -this case, the y,z box lengths shrink so as to keep their relative -aspect ratio constant. - -For solids or liquids, note that when one dimension of the box is -expanded via fix deform (i.e. tensile strain), it may be physically -undesirable to hold the other 2 box lengths constant (unspecified by -fix deform) since that implies a density change. Using the {volume} -style for those 2 dimensions to keep the box volume constant may make -more physical sense, but may also not be correct for materials and -potentials whose Poisson ratio is not 0.5. An alternative is to use -"fix npt aniso"_fix_nh.html with zero applied pressure on those 2 -dimensions, so that they respond to the tensile strain dynamically. - -The {wiggle} style oscillates the specified box length dimension -sinusoidally with the specified amplitude and period. I.e. the box -length L as a function of time is given by - -L(t) = L0 + A sin(2*pi t/Tp) :pre - -where L0 is its initial length. If the amplitude A is a positive -number the box initially expands, then contracts, etc. If A is -negative then the box initially contracts, then expands, etc. The -amplitude can be in lattice or box distance units. See the discussion -of the units keyword below. - -The {variable} style changes the specified box length dimension by -evaluating a variable, which presumably is a function of time. The -variable with {name1} must be an "equal-style variable"_variable.html -and should calculate a change in box length in units of distance. -Note that this distance is in box units, not lattice units; see the -discussion of the {units} keyword below. The formula associated with -variable {name1} can reference the current timestep. Note that it -should return the "change" in box length, not the absolute box length. -This means it should evaluate to 0.0 when invoked on the initial -timestep of the run following the definition of fix deform. It should -evaluate to a value > 0.0 to dilate the box at future times, or a -value < 0.0 to compress the box. - -The variable {name2} must also be an "equal-style -variable"_variable.html and should calculate the rate of box length -change, in units of distance/time, i.e. the time-derivative of the -{name1} variable. This quantity is used internally by LAMMPS to reset -atom velocities when they cross periodic boundaries. It is computed -internally for the other styles, but you must provide it when using an -arbitrary variable. - -Here is an example of using the {variable} style to perform the same -box deformation as the {wiggle} style formula listed above, where we -assume that the current timestep = 0. - -variable A equal 5.0 -variable Tp equal 10.0 -variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" -variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" -fix 2 all deform 1 x variable v_displace v_rate remap v :pre - -For the {scale}, {vel}, {erate}, {trate}, {volume}, {wiggle}, and -{variable} styles, the box length is expanded or compressed around its -mid point. - -:line - -For the {xy}, {xz}, and {yz} parameters, this is the meaning of their -styles and values. Note that changing the tilt factors of a triclinic -box does not change its volume. - -The {final}, {delta}, {vel}, and {erate} styles all change the shear -strain at a "constant engineering shear strain rate". This means the -tilt factor changes linearly with time from its initial to final -value. - -For style {final}, the final tilt factor is specified. The value -can be in lattice or box distance units. See the discussion of the -units keyword below. - -For style {delta}, a plus or minus change in the tilt factor is -specified. The value can be in lattice or box distance units. See -the discussion of the units keyword below. - -For style {vel}, a velocity at which the tilt factor changes is -specified in units of distance/time. This is effectively an -"engineering shear strain rate", where rate = V/L0 and L0 is the -initial box length perpendicular to the direction of shear. The -distance can be in lattice or box distance units. See the discussion -of the units keyword below. For example, if the initial tilt factor -is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the -tilt factor will be 15 Angstroms. After 2 psec, it will be 25 -Angstroms. - -The {erate} style changes a tilt factor at a "constant engineering -shear strain rate". The units of the specified shear strain rate are -1/time. See the "units"_units.html command for the time units -associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Shear strain is unitless and is -defined as offset/length, where length is the box length perpendicular -to the shear direction (e.g. y box length for xy deformation) and -offset is the displacement distance in the shear direction (e.g. x -direction for xy deformation) from the unstrained orientation. - -The tilt factor T as a function of time will change as - -T(t) = T0 + L0*erate*dt :pre - -where T0 is the initial tilt factor, L0 is the original length of the -box perpendicular to the shear direction (e.g. y box length for xy -deformation), and dt is the elapsed time (in time units). Thus if -{erate} R is specified as 0.1 and time units are picoseconds, this -means the shear strain will increase by 0.1 every picosecond. I.e. if -the xy shear strain was initially 0.0, then strain after 1 psec = 0.1, -strain after 2 psec = 0.2, etc. Thus the tilt factor would be 0.0 at -time 0, 0.1*ybox at 1 psec, 0.2*ybox at 2 psec, etc, where ybox is the -original y box length. R = 1 or 2 means the tilt factor will increase -by 1 or 2 every picosecond. R = -0.01 means a decrease in shear -strain by 0.01 every picosecond. - -The {trate} style changes a tilt factor at a "constant true shear -strain rate". Note that this is not an "engineering shear strain -rate", as the other styles are. Rather, for a "true" rate, the rate -of change is constant, which means the tilt factor changes -non-linearly with time from its initial to final value. The units of -the specified shear strain rate are 1/time. See the -"units"_units.html command for the time units associated with -different choices of simulation units, e.g. picoseconds for "metal" -units). Shear strain is unitless and is defined as offset/length, -where length is the box length perpendicular to the shear direction -(e.g. y box length for xy deformation) and offset is the displacement -distance in the shear direction (e.g. x direction for xy deformation) -from the unstrained orientation. - -The tilt factor T as a function of time will change as - -T(t) = T0 exp(trate*dt) :pre - -where T0 is the initial tilt factor and dt is the elapsed time (in -time units). Thus if {trate} R is specified as ln(1.1) and time units -are picoseconds, this means the shear strain or tilt factor will -increase by 10% every picosecond. I.e. if the xy shear strain was -initially 0.1, then strain after 1 psec = 0.11, strain after 2 psec = -0.121, etc. R = ln(2) or ln(3) means the tilt factor will double or -triple every picosecond. R = ln(0.99) means the tilt factor will -shrink by 1% every picosecond. Note that the change is continuous, so -running with R = ln(2) for 10 picoseconds does not change the tilt -factor by a factor of 10, but by a factor of 1024 since it doubles -every picosecond. Note that the initial tilt factor must be non-zero -to use the {trate} option. - -Note that shear strain is defined as the tilt factor divided by the -perpendicular box length. The {erate} and {trate} styles control the -tilt factor, but assume the perpendicular box length remains constant. -If this is not the case (e.g. it changes due to another fix deform -parameter), then this effect on the shear strain is ignored. - -The {wiggle} style oscillates the specified tilt factor sinusoidally -with the specified amplitude and period. I.e. the tilt factor T as a -function of time is given by - -T(t) = T0 + A sin(2*pi t/Tp) :pre - -where T0 is its initial value. If the amplitude A is a positive -number the tilt factor initially becomes more positive, then more -negative, etc. If A is negative then the tilt factor initially -becomes more negative, then more positive, etc. The amplitude can be -in lattice or box distance units. See the discussion of the units -keyword below. - -The {variable} style changes the specified tilt factor by evaluating a -variable, which presumably is a function of time. The variable with -{name1} must be an "equal-style variable"_variable.html and should -calculate a change in tilt in units of distance. Note that this -distance is in box units, not lattice units; see the discussion of the -{units} keyword below. The formula associated with variable {name1} -can reference the current timestep. Note that it should return the -"change" in tilt factor, not the absolute tilt factor. This means it -should evaluate to 0.0 when invoked on the initial timestep of the run -following the definition of fix deform. - -The variable {name2} must also be an "equal-style -variable"_variable.html and should calculate the rate of tilt change, -in units of distance/time, i.e. the time-derivative of the {name1} -variable. This quantity is used internally by LAMMPS to reset atom -velocities when they cross periodic boundaries. It is computed -internally for the other styles, but you must provide it when using an -arbitrary variable. - -Here is an example of using the {variable} style to perform the same -box deformation as the {wiggle} style formula listed above, where we -assume that the current timestep = 0. - -variable A equal 5.0 -variable Tp equal 10.0 -variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" -variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" -fix 2 all deform 1 xy variable v_displace v_rate remap v :pre - -:line - -All of the tilt styles change the xy, xz, yz tilt factors during a -simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes -are normally bounded by half the distance of the parallel box length. -See the discussion of the {flip} keyword below, to allow this bound to -be exceeded, if desired. - -For example, if xlo = 2 and xhi = 12, then the x box length is 10 and -the xy tilt factor must be between -5 and 5. Similarly, both xz and -yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is -not a limitation, since if the maximum tilt factor is 5 (as in this -example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are all equivalent. - -To obey this constraint and allow for large shear deformations to be -applied via the {xy}, {xz}, or {yz} parameters, the following -algorithm is used. If {prd} is the associated parallel box length (10 -in the example above), then if the tilt factor exceeds the accepted -range of -5 to 5 during the simulation, then the box is flipped to the -other limit (an equivalent box) and the simulation continues. Thus -for this example, if the initial xy tilt factor was 0.0 and "xy final -100.0" was specified, then during the simulation the xy tilt factor -would increase from 0.0 to 5.0, the box would be flipped so that the -tilt factor becomes -5.0, the tilt factor would increase from -5.0 to -5.0, the box would be flipped again, etc. The flip occurs 10 times -and the final tilt factor at the end of the simulation would be 0.0. -During each flip event, atoms are remapped into the new box in the -appropriate manner. - -The one exception to this rule is if the 1st dimension in the tilt -factor (x for xy) is non-periodic. In that case, the limits on the -tilt factor are not enforced, since flipping the box in that dimension -does not change the atom positions due to non-periodicity. In this -mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient due to the highly skewed simulation box. - -:line - -Each time the box size or shape is changed, the {remap} keyword -determines whether atom positions are remapped to the new box. If -{remap} is set to {x} (the default), atoms in the fix group are -remapped; otherwise they are not. Note that their velocities are not -changed, just their positions are altered. If {remap} is set to {v}, -then any atom in the fix group that crosses a periodic boundary will -have a delta added to its velocity equal to the difference in -velocities between the lo and hi boundaries. Note that this velocity -difference can include tilt components, e.g. a delta in the x velocity -when an atom crosses the y periodic boundary. If {remap} is set to -{none}, then neither of these remappings take place. - -Conceptually, setting {remap} to {x} forces the atoms to deform via an -affine transformation that exactly matches the box deformation. This -setting is typically appropriate for solids. Note that though the -atoms are effectively "moving" with the box over time, it is not due -to their having a velocity that tracks the box change, but only due to -the remapping. By contrast, setting {remap} to {v} is typically -appropriate for fluids, where you want the atoms to respond to the -change in box size/shape on their own and acquire a velocity that -matches the box change, so that their motion will naturally track the -box without explicit remapping of their coordinates. - -NOTE: When non-equilibrium MD (NEMD) simulations are performed using -this fix, the option "remap v" should normally be used. This is -because "fix nvt/sllod"_fix_nvt_sllod.html adjusts the atom positions -and velocities to induce a velocity profile that matches the changing -box size/shape. Thus atom coordinates should NOT be remapped by fix -deform, but velocities SHOULD be when atoms cross periodic boundaries, -since that is consistent with maintaining the velocity profile already -created by fix nvt/sllod. LAMMPS will warn you if the {remap} setting -is not consistent with fix nvt/sllod. - -NOTE: For non-equilibrium MD (NEMD) simulations using "remap v" it is -usually desirable that the fluid (or flowing material, e.g. granular -particles) stream with a velocity profile consistent with the -deforming box. As mentioned above, using a thermostat such as "fix -nvt/sllod"_fix_nvt_sllod.html or "fix lavgevin"_fix_langevin.html -(with a bias provided by "compute -temp/deform"_compute_temp_deform.html), will typically accomplish -that. If you do not use a thermostat, then there is no driving force -pushing the atoms to flow in a manner consistent with the deforming -box. E.g. for a shearing system the box deformation velocity may vary -from 0 at the bottom to 10 at the top of the box. But the stream -velocity profile of the atoms may vary from -5 at the bottom to +5 at -the top. You can monitor these effects using the "fix -ave/chunk"_fix_ave_chunk.html, "compute -temp/deform"_compute_temp_deform.html, and "compute -temp/profile"_compute_temp_profile.html commands. One way to induce -atoms to stream consistent with the box deformation is to give them an -initial velocity profile, via the "velocity ramp"_velocity.html -command, that matches the box deformation rate. This also typically -helps the system come to equilibrium more quickly, even if a -thermostat is used. - -NOTE: If a "fix rigid"_fix_rigid.html is defined for rigid bodies, and -{remap} is set to {x}, then the center-of-mass coordinates of rigid -bodies will be remapped to the changing simulation box. This will be -done regardless of whether atoms in the rigid bodies are in the fix -deform group or not. The velocity of the centers of mass are not -remapped even if {remap} is set to {v}, since "fix -nvt/sllod"_fix_nvt_sllod.html does not currently do anything special -for rigid particles. If you wish to perform a NEMD simulation of -rigid particles, you can either thermostat them independently or -include a background fluid and thermostat the fluid via "fix -nvt/sllod"_fix_nvt_sllod.html. - -The {flip} keyword allows the tilt factors for a triclinic box to -exceed half the distance of the parallel box length, as discussed -above. If the {flip} value is set to {yes}, the bound is enforced by -flipping the box when it is exceeded. If the {flip} value is set to -{no}, the tilt will continue to change without flipping. Note that if -you apply large deformations, this means the box shape can tilt -dramatically LAMMPS will run less efficiently, due to the large volume -of communication needed to acquire ghost atoms around a processor's -irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may -also lose atoms and generate an error. - -The {units} keyword determines the meaning of the distance units used -to define various arguments. A {box} value selects standard distance -units as defined by the "units"_units.html command, e.g. Angstroms for -units = real or metal. A {lattice} value means the distance units are -in lattice spacings. The "lattice"_lattice.html command must have -been previously used to define the lattice spacing. Note that the -units choice also affects the {vel} style parameters since it is -defined in terms of distance/time. Also note that the units keyword -does not affect the {variable} style. You should use the {xlat}, -{ylat}, {zlat} keywords of the "thermo_style"_thermo_style.html -command if you want to include lattice spacings in a variable formula. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix will restore the initial box settings from "binary restart -files"_restart.html, which allows the fix to be properly continue -deformation, when using the start/stop options of the "run"_run.html -command. 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"_Howto_output.html. - -This fix can perform deformation over multiple runs, using the {start} -and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -You cannot apply x, y, or z deformations to a dimension that is -shrink-wrapped via the "boundary"_boundary.html command. - -You cannot apply xy, yz, or xz deformations to a 2nd dimension (y in -xy) that is shrink-wrapped via the "boundary"_boundary.html command. - -[Related commands:] - -"change_box"_change_box.html - -[Default:] - -The option defaults are remap = x, flip = yes, and units = lattice. diff --git a/doc/txt/fix_dpd_energy.txt b/doc/txt/fix_dpd_energy.txt deleted file mode 100644 index 5e8e295de915c91c4df76d59815f2f919f0f0190..0000000000000000000000000000000000000000 --- a/doc/txt/fix_dpd_energy.txt +++ /dev/null @@ -1,106 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix dpd/energy command :h3 -fix dpd/energy/kk command :h3 - -[Syntax:] - -fix ID group-ID dpd/energy :pre - -ID, group-ID are documented in "fix"_fix.html command -dpd/energy = style name of this fix command :ul - -[Examples:] - -fix 1 all dpd/energy :pre - -[Description:] - -Perform constant energy dissipative particle dynamics (DPD-E) -integration. This fix updates the internal energies for particles in -the group at each timestep. It must be used in conjunction with a -deterministic integrator (e.g. "fix nve"_fix_nve.html) that updates -the particle positions and velocities. - -For fix {dpd/energy}, the particle internal temperature is related to -the particle internal energy through a mesoparticle equation of state. -An additional fix must be specified that defines the equation of state -for each particle, e.g. "fix eos/cv"_fix_eos_cv.html. - -This fix must be used with the "pair_style -dpd/fdt/energy"_pair_style.html command. - -Note that numerous variants of DPD can be specified by choosing an -appropriate combination of the integrator and "pair_style -dpd/fdt/energy"_pair_style.html command. DPD under isoenergetic conditions -can be specified by using fix {dpd/energy}, fix {nve} and pair_style -{dpd/fdt/energy}. DPD under isoenthalpic conditions can -be specified by using fix {dpd/energy}, fix {nph} and pair_style -{dpd/fdt/energy}. Examples of each DPD variant are provided in the -examples/USER/dpd directory. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix must be used with an additional fix that specifies time -integration, e.g. "fix nve"_fix_nve.html. - -The fix {dpd/energy} requires the {dpd} "atom_style"_atom_style.html -to be used in order to properly account for the particle internal -energies and temperature. - -The fix {dpd/energy} must be used with an additional fix that specifies the -mesoparticle equation of state for each particle. - -[Related commands:] - -"fix nve"_fix_nve.html "fix eos/cv"_fix_eos_cv.html - -[Default:] none - -:line - -:link(Lisal1) -[(Lisal)] M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative -particle dynamics at isothermal, isobaric, isoenergetic, and -isoenthalpic conditions using Shardlow-like splitting algorithms.", -J. Chem. Phys., 135, 204105 (2011). - -:link(Larentzos3) -[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and -W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative -Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research -Laboratory, Aberdeen Proving Ground, MD (2014). diff --git a/doc/txt/fix_dpd_source.txt b/doc/txt/fix_dpd_source.txt deleted file mode 100644 index 691cfe86f15c1840f9fd0b6c2ef1baefa7bf54bb..0000000000000000000000000000000000000000 --- a/doc/txt/fix_dpd_source.txt +++ /dev/null @@ -1,101 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix edpd/source command :h3 -fix tdpd/source command :h3 - -[Syntax:] - -fix ID group-ID edpd/source keyword values ... -fix ID group-ID tdpd/source cc_index keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -edpd/source or tdpd/source = style name of this fix command :l -index (only specified for tdpd/source) = index of chemical species (1 to Nspecies) :l -keyword = {sphere} or {cuboid} :l - {sphere} values = cx,cy,cz,radius,source - cx,cy,cz = x,y,z center of spherical domain (distance units) - radius = radius of a spherical domain (distance units) - source = heat source or concentration source (flux units, see below) - {cuboid} values = cx,cy,cz,dLx,dLy,dLz,source - cx,cy,cz = x,y,z lower left corner of a cuboid domain (distance units) - dLx,dLy,dLz = x,y,z side length of a cuboid domain (distance units) - source = heat source or concentration source (flux units, see below) :pre -:ule - -[Examples:] - -fix 1 all edpd/source sphere 0.0 0.0 0.0 5.0 0.01 -fix 1 all edpd/source cuboid 0.0 0.0 0.0 20.0 10.0 10.0 -0.01 -fix 1 all tdpd/source 1 sphere 5.0 0.0 0.0 5.0 0.01 -fix 1 all tdpd/source 2 cuboid 0.0 0.0 0.0 20.0 10.0 10.0 0.01 :pre - -[Description:] - -Fix {edpd/source} adds a heat source as an external heat flux to each -atom in a spherical or cuboid domain, where the {source} is in units -of energy/time. Fix {tdpd/source} adds an external concentration -source of the chemical species specified by {index} as an external -concentration flux for each atom in a spherical or cuboid domain, -where the {source} is in units of mole/volume/time. - -This command can be used to give an additional heat/concentration -source term to atoms in a simulation, such as for a simulation of a -heat conduction with a source term (see Fig.12 in "(Li2014)"_#Li2014b) -or diffusion with a source term (see Fig.1 in "(Li2015)"_#Li2015b), as -an analog of a periodic Poiseuille flow problem. - -If the {sphere} keyword is used, the {cx,cy,cz,radius} defines a -spherical domain to apply the source flux to. - -If the {cuboid} keyword is used, the {cx,cy,cz,dLx,dLy,dLz} defines a -cuboid domain to apply the source flux to. - -: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"_Howto_output.html. -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 fix is part of the USER-MESO package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Fix {edpd/source} must be used with the "pair_style -edpd"_pair_meso.html command. Fix {tdpd/source} must be used with the -"pair_style tdpd"_pair_meso.html command. - -[Related commands:] - -"pair_style edpd"_pair_meso.html, "pair_style tdpd"_pair_meso.html, -"compute edpd/temp/atom"_compute_edpd_temp_atom.html, "compute -tdpd/cc/atom"_compute_tdpd_cc_atom.html - -[Default:] none - -:line - -:link(Li2014b) -[(Li2014)] Z. Li, Y.-H. Tang, H. Lei, B. Caswell and G.E. Karniadakis, -"Energy-conserving dissipative particle dynamics with -temperature-dependent properties", J. Comput. Phys., 265: 113-127 -(2014). DOI: 10.1016/j.jcp.2014.02.003 - -:link(Li2015b) -[(Li2015)] Z. Li, A. Yazdani, A. Tartakovsky and G.E. Karniadakis, -"Transport dissipative particle dynamics model for mesoscopic -advection-diffusion-reaction problems", J. Chem. Phys., 143: 014101 -(2015). DOI: 10.1063/1.4923254 diff --git a/doc/txt/fix_drag.txt b/doc/txt/fix_drag.txt deleted file mode 100644 index 92e68d13a447e07f9f83c4f5c2a1d1666cbdef53..0000000000000000000000000000000000000000 --- a/doc/txt/fix_drag.txt +++ /dev/null @@ -1,65 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix drag command :h3 - -[Syntax:] - -fix ID group-ID drag x y z fmag delta :pre - -ID, group-ID are documented in "fix"_fix.html command -drag = style name of this fix command -x,y,z = coord to drag atoms towards -fmag = magnitude of force to apply to each atom (force units) -delta = cutoff distance inside of which force \ - is not applied (distance units) :ul - -[Examples:] - -fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0 :pre - -[Description:] - -Apply a force to each atom in a group to drag it towards the point -(x,y,z). The magnitude of the force is specified by fmag. If an atom -is closer than a distance delta to the point, then the force is not -applied. - -Any of the x,y,z values can be specified as NULL which means do not -include that dimension in the distance calculation or force -application. - -This command can be used to steer one or more atoms to a new location -in the simulation. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Howto_output.html. This is the total -force on the group of atoms by the drag force. The vector values -calculated by this fix are "extensive". - -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:] none - -[Related commands:] - -"fix spring"_fix_spring.html, "fix spring/self"_fix_spring_self.html, -"fix spring/rg"_fix_spring_rg.html, "fix smd"_fix_smd.html - -[Default:] none diff --git a/doc/txt/fix_drude.txt b/doc/txt/fix_drude.txt deleted file mode 100644 index 80eb79201b2a8e5e0222337209bbacb074c6c78e..0000000000000000000000000000000000000000 --- a/doc/txt/fix_drude.txt +++ /dev/null @@ -1,56 +0,0 @@ - -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix drude command :h3 - -[Syntax:] - -fix ID group-ID drude flag1 flag2 ... flagN :pre - -ID, group-ID are documented in "fix"_fix.html command -drude = style name of this fix command -flag1 flag2 ... flagN = Drude flag for each atom type (1 to N) in the system :ul - -[Examples:] - -fix 1 all drude 1 1 0 1 0 2 2 2 -fix 1 all drude C C N C N D D D :pre - -[Description:] - -Assign each atom type in the system to be one of 3 kinds of atoms -within the Drude polarization model. This fix is designed to be used -with the "thermalized Drude oscillator model"_Howto_drude.html. -Polarizable models in LAMMPS are described on the "Howto -polarizable"_Howto_polarizable.html doc page. - -The three possible types can be designated with an integer (0,1,2) -or capital letter (N,C,D): - -0 or N = non-polarizable atom (not part of Drude model) -1 or C = Drude core -2 or D = Drude electron :ul - -[Restrictions:] - -This fix should be invoked before any other commands that implement -the Drude oscillator model, such as "fix -langevin/drude"_fix_langevin_drude.html, "fix -drude/transform"_fix_drude_transform.html, "compute -temp/drude"_compute_temp_drude.html, "pair_style -thole"_pair_thole.html. - -[Related commands:] - -"fix langevin/drude"_fix_langevin_drude.html, "fix -drude/transform"_fix_drude_transform.html, "compute -temp/drude"_compute_temp_drude.html, "pair_style -thole"_pair_thole.html - -[Default:] None diff --git a/doc/txt/fix_drude_transform.txt b/doc/txt/fix_drude_transform.txt deleted file mode 100644 index a102368b5c6516c7131a484c5efd680144d2d530..0000000000000000000000000000000000000000 --- a/doc/txt/fix_drude_transform.txt +++ /dev/null @@ -1,164 +0,0 @@ - - - -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix drude/transform/direct command :h3 -fix drude/transform/inverse command :h3 - -[Syntax:] - -fix ID group-ID style keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -style = {drude/transform/direct} or {drude/transform/inverse} :ul - -[Examples:] - -fix 3 all drude/transform/direct -fix 1 all drude/transform/inverse :pre - -[Description:] - -Transform the coordinates of Drude oscillators from real to reduced -and back for thermalizing the Drude oscillators as described in -"(Lamoureux)"_#Lamoureux1 using a Nose-Hoover thermostat. This fix is -designed to be used with the "thermalized Drude oscillator -model"_Howto_drude.html. Polarizable models in LAMMPS are described -on the "Howto polarizable"_Howto_polarizable.html doc page. - -Drude oscillators are a pair of atoms representing a single -polarizable atom. Ideally, the mass of Drude particles would vanish -and their positions would be determined self-consistently by iterative -minimization of the energy, the cores' positions being fixed. It is -however more efficient and it yields comparable results, if the Drude -oscillators (the motion of the Drude particle relative to the core) -are thermalized at a low temperature. In that case, the Drude -particles need a small mass. - -The thermostats act on the reduced degrees of freedom, which are -defined by the following equations. Note that in these equations -upper case denotes atomic or center of mass values and lower case -denotes Drude particle or dipole values. Primes denote the transformed -(reduced) values, while bare letters denote the original values. - -Masses: \begin\{equation\} M' = M + m \end\{equation\} -\begin\{equation\} m' = \frac \{M\, m \} \{M'\} \end\{equation\} -Positions: \begin\{equation\} X' = \frac \{M\, X + m\, x\} \{M'\} -\end\{equation\} \begin\{equation\} x' = x - X \end\{equation\} -Velocities: \begin\{equation\} V' = \frac \{M\, V + m\, v\} \{M'\} -\end\{equation\} \begin\{equation\} v' = v - V \end\{equation\} -Forces: \begin\{equation\} F' = F + f \end\{equation\} -\begin\{equation\} f' = \frac \{ M\, f - m\, F\} \{M'\} -\end\{equation\} - -This transform conserves the total kinetic energy -\begin\{equation\} \frac 1 2 \, (M\, V^2\ + m\, v^2) -= \frac 1 2 \, (M'\, V'^2\ + m'\, v'^2) \end\{equation\} -and the virial defined with absolute positions -\begin\{equation\} X\, F + x\, f = X'\, F' + x'\, f' \end\{equation\} - -:line - -This fix requires each atom know whether it is a Drude particle or -not. You must therefore use the "fix drude"_fix_drude.html command to -specify the Drude status of each atom type. - -NOTE: only the Drude core atoms need to be in the group specified for -this fix. A Drude electron will be transformed together with its core -even if it is not itself in the group. It is safe to include Drude -electrons or non-polarizable atoms in the group. The non-polarizable -atoms will simply not be transformed. - -:line - -This fix does NOT perform time integration. It only transform masses, -coordinates, velocities and forces. Thus you must use separate time -integration fixes, like "fix nve"_fix_nve.html or "fix -npt"_fix_nh.html to actually update the velocities and positions of -atoms. In order to thermalize the reduced degrees of freedom at -different temperatures, two Nose-Hoover thermostats must be defined, -acting on two distinct groups. - -NOTE: The {fix drude/transform/direct} command must appear before any -Nose-Hoover thermostatting fixes. The {fix drude/transform/inverse} -command must appear after any Nose-Hoover thermostatting fixes. - -Example: - -fix fDIRECT all drude/transform/direct -fix fNVT gCORES nvt temp 300.0 300.0 100 -fix fNVT gDRUDES nvt temp 1.0 1.0 100 -fix fINVERSE all drude/transform/inverse -compute TDRUDE all temp/drude -thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TDRUDE\[1\] c_TDRUDE\[2\] :pre - - -In this example, {gCORES} is the group of the atom cores and {gDRUDES} -is the group of the Drude particles (electrons). The centers of mass -of the Drude oscillators will be thermostatted at 300.0 and the -internal degrees of freedom will be thermostatted at 1.0. The -temperatures of cores and Drude particles, in center-of-mass and -relative coordinates, are calculated using "compute -temp/drude"_compute_temp_drude.html - -In addition, if you want to use a barostat to simulate a system at -constant pressure, only one of the Nose-Hoover fixes must be {npt}, -the other one should be {nvt}. You must add a {compute temp/com} and a -{fix_modify} command so that the temperature of the {npt} fix be just -that of its group (the Drude cores) but the pressure be the overall -pressure {thermo_press}. - -Example: - -compute cTEMP_CORE gCORES temp/com -fix fDIRECT all drude/transform/direct -fix fNPT gCORES npt temp 298.0 298.0 100 iso 1.0 1.0 500 -fix_modify fNPT temp cTEMP_CORE press thermo_press -fix fNVT gDRUDES nvt temp 5.0 5.0 100 -fix fINVERSE all drude/transform/inverse :pre - -In this example, {gCORES} is the group of the atom cores and {gDRUDES} -is the group of the Drude particles. The centers of mass of the Drude -oscillators will be thermostatted at 298.0 and the internal degrees of -freedom will be thermostatted at 5.0. The whole system will be -barostatted at 1.0. - -In order to avoid the flying ice cube problem (irreversible transfer -of linear momentum to the center of mass of the system), you may need -to add a {fix momentum} command: - -fix fMOMENTUM all momentum 100 linear 1 1 1 :pre - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -[Restrictions:] none - -[Related commands:] - -"fix drude"_fix_drude.html, -"fix langevin/drude"_fix_langevin_drude.html, -"compute temp/drude"_compute_temp_drude.html, -"pair_style thole"_pair_thole.html - -[Default:] none - -:line - -:link(Lamoureux1) -[(Lamoureux)] Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003). diff --git a/doc/txt/fix_dt_reset.txt b/doc/txt/fix_dt_reset.txt deleted file mode 100644 index adca2c30722b6d8e9987cd469b630da6ea07bc9d..0000000000000000000000000000000000000000 --- a/doc/txt/fix_dt_reset.txt +++ /dev/null @@ -1,103 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix dt/reset command :h3 - -[Syntax:] - -fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command -dt/reset = style name of this fix command -N = re-compute dt every N timesteps -Tmin = minimum dt allowed which can be NULL (time units) -Tmax = maximum dt allowed which can be NULL (time units) -Xmax = maximum distance for an atom to move in one timestep (distance units) -zero or more keyword/value pairs may be appended -keyword = {emax} or {units} :ul - {emax} value = Emax - Emax = maximum kinetic energy change for an atom in one timestep (energy units) - {units} value = {lattice} or {box} - lattice = Xmax is defined in lattice units - box = Xmax is defined in simulation box units :pre - -[Examples:] - -fix 5 all dt/reset 10 1.0e-5 0.01 0.1 -fix 5 all dt/reset 10 0.01 2.0 0.2 units box -fix 5 all dt/reset 5 NULL 0.001 0.5 emax 30 units box :pre - -[Description:] - -Reset the timestep size every N steps during a run, so that no atom -moves further than the specified {Xmax} distance, based on current -atom velocities and forces. Optionally an additional criterion is -imposed by the {emax} keyword, so that no atom's kinetic energy -changes by more than the specified {Emax}. - -This can be useful when starting from a configuration with overlapping -atoms, where forces will be large. Or it can be useful when running -an impact simulation where one or more high-energy atoms collide with -a solid, causing a damage cascade. - -This fix overrides the timestep size setting made by the -"timestep"_timestep.html command. The new timestep size {dt} is -computed in the following manner. - -For each atom, the timestep is computed that would cause it to -displace {Xmax} on the next integration step, as a function of its -current velocity and force. Since performing this calculation exactly -would require the solution to a quartic equation, a cheaper estimate -is generated. The estimate is conservative in that the atom's -displacement is guaranteed not to exceed {Xmax}, though it may be -smaller. - -In addition if the {emax} keyword is used, the specified {Emax} value -is enforced as a limit on how much an atom's kinetic energy can -change. If the timestep required is even smaller than for the {Xmax} -displacement, then the smaller timestep is used. - -Given this putative timestep for each atom, the minimum timestep value -across all atoms is computed. Then the {Tmin} and {Tmax} bounds are -applied, if specified. If one (or both) is specified as NULL, it is -not applied. - -When the "run style"_run_style.html is {respa}, this fix resets the -outer loop (largest) timestep, which is the same timestep that the -"timestep"_timestep.html command sets. - -Note that the cumulative simulation time (in time units), which -accounts for changes in the timestep size as a simulation proceeds, -can be accessed by the "thermo_style time"_thermo_style.html keyword. - -[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. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar stores the last -timestep on which the timestep was reset to a new value. - -The scalar value calculated by this fix is "intensive". - -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:] none - -[Related commands:] - -"timestep"_timestep.html - -[Default:] - -The option defaults are units = lattice, and no emax kinetic energy -limit. diff --git a/doc/txt/fix_efield.txt b/doc/txt/fix_efield.txt deleted file mode 100644 index cecfb6e6a3ce804b958fd36b89b476e6d466cd2d..0000000000000000000000000000000000000000 --- a/doc/txt/fix_efield.txt +++ /dev/null @@ -1,166 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix efield command :h3 - -[Syntax:] - -fix ID group-ID efield ex ey ez keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -efield = style name of this fix command :l -ex,ey,ez = E-field component values (electric field units) :l -any of ex,ey,ez can be a variable (see below) :l -zero or more keyword/value pairs may be appended to args :l -keyword = {region} or {energy} :l - {region} value = region-ID - region-ID = ID of region atoms must be in to have added force - {energy} value = v_name - v_name = variable with name that calculates the potential energy of each atom in the added E-field :pre -:ule - -[Examples:] - -fix kick external-field efield 1.0 0.0 0.0 -fix kick external-field efield 0.0 0.0 v_oscillate :pre - -[Description:] - -Add a force F = qE to each charged atom in the group due to an -external electric field being applied to the system. If the system -contains point-dipoles, also add a torque on the dipoles due to the -external electric field. - -For charges, any of the 3 quantities defining the E-field components -can be specified as an equal-style or atom-style -"variable"_variable.html, namely {ex}, {ey}, {ez}. If the value is a -variable, it should be specified as v_name, where name is the variable -name. In this case, the variable will be evaluated each timestep, and -its value used to determine the E-field component. - -For point-dipoles, equal-style variables can be used, but atom-style -variables are not currently supported, since they imply a spatial -gradient in the electric field which means additional terms with -gradients of the field are required for the force and torque on -dipoles. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent E-field. - -Atom-style variables can specify the same formulas as equal-style -variables but can also include per-atom values, such as atom -coordinates. Thus it is easy to specify a spatially-dependent E-field -with optional time-dependence as well. - -If the {region} keyword is used, the atom must also be in the -specified geometric "region"_region.html in order to have force added -to it. - -:line - -Adding a force or torque to atoms implies a change in their potential -energy as they move or rotate due to the applied E-field. - -For dynamics via the "run" command, this energy can be optionally -added to the system's potential energy for thermodynamic output (see -below). For energy minimization via the "minimize" command, this -energy must be added to the system's potential energy to formulate a -self-consistent minimization problem (see below). - -The {energy} keyword is not allowed if the added field is a constant -vector (ex,ey,ez), with all components defined as numeric constants -and not as variables. This is because LAMMPS can compute the energy -for each charged particle directly as E = -x dot qE = -q (x*ex + y*ey -+ z*ez), so that -Grad(E) = F. Similarly for point-dipole particles -the energy can be computed as E = -mu dot E = -(mux*ex + muy*ey + -muz*ez). - -The {energy} keyword is optional if the added force is defined with -one or more variables, and if you are performing dynamics via the -"run"_run.html command. If the keyword is not used, LAMMPS will set -the energy to 0.0, which is typically fine for dynamics. - -The {energy} keyword is required if the added force is defined with -one or more variables, and you are performing energy minimization via -the "minimize" command for charged particles. It is not required for -point-dipoles, but a warning is issued since the minimizer in LAMMPS -does not rotate dipoles, so you should not expect to be able to -minimize the orientation of dipoles in an applied electric field. - -The {energy} keyword specifies the name of an atom-style -"variable"_variable.html which is used to compute the energy of each -atom as function of its position. Like variables used for {ex}, {ey}, -{ez}, the energy variable is specified as v_name, where name is the -variable name. - -Note that when the {energy} keyword is used during an energy -minimization, you must insure that the formula defined for the -atom-style "variable"_variable.html is consistent with the force -variable formulas, i.e. that -Grad(E) = F. For example, if the force -due to the electric field were a spring-like F = kx, then the energy -formula should be E = -0.5kx^2. If you don't do this correctly, the -minimization will not converge properly. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the potential "energy" inferred by the added force due to -the electric field to the system's potential energy as part of -"thermodynamic output"_thermo_style.html. This is a fictitious -quantity but is needed so that the "minimize"_minimize.html command -can include the forces added by this fix in a consistent manner. -I.e. there is a decrease in potential energy when atoms move in the -direction of the added force due to the electric field. - -The "fix_modify"_fix_modify.html {virial} option is supported by this -fix to add the contribution due to the added forces on atoms to the -system's virial as part of "thermodynamic output"_thermo_style.html. -The default is {virial no} - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix adding its forces. Default is the outermost level. - -This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various "output commands"_Howto_output.html. -The scalar is the potential energy discussed above. The vector is the -total force added to the group of atoms. The scalar and vector values -calculated by this fix are "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. You should not -specify force components with a variable that has time-dependence for -use with a minimizer, since the minimizer increments the timestep as -the iteration count during the minimization. - -NOTE: If you want the fictitious potential energy associated with the -added forces to be included in the total potential energy of the -system (the quantity being minimized), you MUST enable the -"fix_modify"_fix_modify.html {energy} option for this fix. - -[Restrictions:] - -This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix addforce"_fix_addforce.html - -[Default:] none diff --git a/doc/txt/fix_ehex.txt b/doc/txt/fix_ehex.txt deleted file mode 100644 index 79cfce4b01b4211851e4be869a1e92d4eee4ed14..0000000000000000000000000000000000000000 --- a/doc/txt/fix_ehex.txt +++ /dev/null @@ -1,178 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix ehex command :h3 - -[Syntax:] - -fix ID group-ID ehex nevery F keyword value :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -ehex = style name of this fix command :l -nevery = add/subtract heat every this many timesteps :l -F = energy flux into the reservoir (energy/time units) :l -zero or more keyword/value pairs may be appended to args :l -keyword = {region} or {constrain} or {com} or {hex} :l - {region} value = region-ID - region-ID = ID of region (reservoir) atoms must be in for added thermostatting force - {constrain} value = none - apply the constraint algorithm (SHAKE or RATTLE) again at the end of the timestep - {com} value = none - rescale all sites of a constrained cluster of atom if its COM is in the reservoir - {hex} value = none - omit the coordinate correction to recover the HEX algorithm :pre -:ule - -[Examples:] - -# Lennard-Jones, from examples/in.ehex.lj :pre -fix fnve all nve -# specify regions rhot and rcold -... -fix fhot all ehex 1 0.15 region rhot -fix fcold all ehex 1 -0.15 region rcold :pre - -# SPC/E water, from examples/in.ehex.spce -fix fnve all nve -# specify regions rhot and rcold -... -fix fhot all ehex 1 0.075 region rhot constrain com -fix fcold all ehex 1 -0.075 region rcold constrain com -fix frattle all rattle 1e-10 400 0 b 1 a 1 :pre - -[Description:] - -This fix implements the asymmetric version of the enhanced heat -exchange algorithm "(Wirnsberger)"_#Wirnsberger. The eHEX algorithm is -an extension of the heat exchange algorithm "(Ikeshoji)"_#Ikeshoji and -adds an additional coordinate integration to account for higher-order -truncation terms in the operator splitting. The original HEX -algorithm (implemented as "fix heat"_fix_heat.html) is known to -exhibit a slight energy drift limiting the accessible simulation times -to a few nanoseconds. This issue is greatly improved by the new -algorithm decreasing the energy drift by at least a factor of a -hundred (LJ and SPC/E water) with little computational overhead. - -In both algorithms (non-translational) kinetic energy is constantly -swapped between regions (reservoirs) to impose a heat flux onto the -system. The equations of motion are therefore modified if a particle -\(i\) is located inside a reservoir \(\Gamma_k\) where \(k>0\). We -use \(\Gamma_0\) to label those parts of the simulation box which -are not thermostatted.) The input parameter {region-ID} of this fix -corresponds to \(k\). The energy swap is modelled by introducing an -additional thermostatting force to the equations of motion, such that -the time evolution of coordinates and momenta of particle \(i\) -becomes "(Wirnsberger)"_#Wirnsberger - -:c,image(Eqs/fix_ehex_eom.jpg) - -The thermostatting force is given by - -:c,image(Eqs/fix_ehex_f.jpg) - -where \(m_i\) is the mass and \(k(\mathbf r_i)\) maps the particle -position to the respective reservoir. The quantity -\(F_\{\Gamma_\{k(\mathbf r_i)\}\}\) corresponds to the input parameter -{F}, which is the energy flux into the reservoir. Furthermore, -\(K_\{\Gamma_\{k(\mathbf r_i)\}\}\) and \(v_\{\Gamma_\{k(\mathbf r_i)\}\}\) -denote the non-translational kinetic energy and the center of mass -velocity of that reservoir. The thermostatting force does not affect -the center of mass velocities of the individual reservoirs and the -entire simulation box. A derivation of the equations and details on -the numerical implementation with velocity Verlet in LAMMPS can be -found in reference "(Wirnsberger)"#_Wirnsberger. - -NOTE: This fix only integrates the thermostatting force and must be -combined with another integrator, such as "fix nve"_fix_nve.html, to -solve the full equations of motion. - -This fix is different from a thermostat such as "fix nvt"_fix_nh.html -or "fix temp/rescale"_fix_temp_rescale.html in that energy is -added/subtracted continually. Thus if there isn't another mechanism -in place to counterbalance this effect, the entire system will heat or -cool continuously. - -NOTE: If heat is subtracted from the system too aggressively so that -the group's kinetic energy would go to zero, then LAMMPS will halt -with an error message. Increasing the value of {nevery} means that -heat is added/subtracted less frequently but in larger portions. The -resulting temperature profile will therefore be the same. - -This fix will default to "fix_heat"_fix_heat.html (HEX algorithm) if -the keyword {hex} is specified. - -:line - -[Compatibility with SHAKE and RATTLE (rigid molecules)]: - -This fix is compatible with "fix shake"_fix_shake.html and "fix -rattle"_fix_shake.html. If either of these constraining algorithms is -specified in the input script and the keyword {constrain} is set, the -bond distances will be corrected a second time at the end of the -integration step. It is recommended to specify the keyword {com} in -addition to the keyword {constrain}. With this option all sites of a -constrained cluster are rescaled, if its center of mass is located -inside the region. Rescaling all sites of a cluster by the same factor -does not introduce any velocity components along fixed bonds. No -rescaling takes place if the center of mass lies outside the region. - -NOTE: You can only use the keyword {com} along with {constrain}. - -To achieve the highest accuracy it is recommended to use "fix -rattle"_fix_shake.html with the keywords {constrain} and {com} as -shown in the second example. Only if RATTLE is employed, the velocity -constraints will be satisfied. - -NOTE: Even if RATTLE is used and the keywords {com} and {constrain} -are both set, the coordinate constraints will not necessarily be -satisfied up to the target precision. The velocity constraints are -satisfied as long as all sites of a cluster are rescaled (keyword -{com}) and the cluster does not span adjacent reservoirs. The current -implementation of the eHEX algorithm introduces a small error in the -bond distances, which goes to zero with order three in the -timestep. For example, in a simulation of SPC/E water with a timestep -of 2 fs the maximum relative error in the bond distances was found to -be on the order of \(10^\{-7\}\) for relatively large -temperature gradients. A higher precision can be achieved by -decreasing the timestep. - -: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 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 fix is part of the RIGID package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix heat"_fix_heat.html, "fix -thermal/conductivity"_fix_thermal_conductivity.html, "compute -temp"_compute_temp.html, "compute -temp/region"_compute_temp_region.html - -[Default:] none - -:line - -:link(Ikeshoji) -[(Ikeshoji)] Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 (1994). - -:link(Wirnsberger) -[(Wirnsberger)] Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, -124104 (2015). diff --git a/doc/txt/fix_electron_stopping.txt b/doc/txt/fix_electron_stopping.txt deleted file mode 100644 index 096629c330a3c599ef2e91aaf4c9d2fd0b035264..0000000000000000000000000000000000000000 --- a/doc/txt/fix_electron_stopping.txt +++ /dev/null @@ -1,165 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix electron/stopping command :h3 - -[Syntax:] - -fix ID group-ID electron/stopping Ecut file keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -electron/stopping = style name of this fix command :l -Ecut = minimum kinetic energy for electronic stopping (energy units) :l -file = name of the file containing the electronic stopping power table :l -zero or more keyword/value pairs may be appended to args :l -keyword = {region} or {minneigh} :l - {region} value = region-ID - region-ID = region, whose atoms will be affected by this fix - {minneigh} value = minneigh - minneigh = minimum number of neighbors an atom to have stopping applied :pre -:ule - -[Examples:] - -fix el all electron/stopping 10.0 elstop-table.txt -fix el all electron/stopping 10.0 elstop-table.txt minneigh 3 -fix el mygroup electron/stopping 1.0 elstop-table.txt region bulk :pre - -[Description:] - -This fix implements inelastic energy loss for fast projectiles in solids. It -applies a friction force to fast moving atoms to slow them down due to -"electronic stopping"_#elstopping (energy lost via electronic collisions per -unit of distance). This fix should be used for simulation of irradiation -damage or ion implantation, where the ions can lose noticeable amounts of -energy from electron excitations. If the electronic stopping power is not -considered, the simulated range of the ions can be severely overestimated -("Nordlund98"_#Nordlund98, "Nordlund95"_#Nordlund95). - -The electronic stopping is implemented by applying a friction force -to each atom as: - -\begin\{equation\} -\vec\{F\}_i = \vec\{F\}^0_i - \frac\{\vec\{v\}_i\}\{\|\vec\{v\}_i\|\} \cdot S_e -\end\{equation\} - -where \(\vec\{F\}_i\) is the resulting total force on the atom. -\(\vec\{F\}^0_i\) is the original force applied to the atom, \(\vec\{v\}_i\) is -its velocity and \(S_e\) is the stopping power of the ion. - -NOTE: In addition to electronic stopping, atomic cascades and irradiation -simulations require the use of an adaptive timestep (see -"fix dt/reset"_fix_dt_reset.html) and the repulsive ZBL potential (see -"ZBL"_pair_zbl.html potential) or similar. Without these settings the -interaction between the ion and the target atoms will be faulty. It is also -common to use in such simulations a thermostat ("fix_nvt"_fix_nh.html) in -the borders of the simulation cell. - -NOTE: This fix removes energy from fast projectiles without depositing it as a -heat to the simulation cell. Such implementation might lead to the unphysical -results when the amount of energy deposited to the electronic system is large, -e.g. simulations of Swift Heavy Ions (energy per nucleon of 100 keV/amu or -higher) or multiple projectiles. You could compensate energy loss by coupling -bulk atoms with some thermostat or control heat transfer between electronic and -atomic subsystems with the two-temperature model ("fix_ttm"_fix_ttm.html). - -At low velocities the electronic stopping is negligible. The electronic -friction is not applied to atoms whose kinetic energy is smaller than {Ecut}, -or smaller than the lowest energy value given in the table in {file}. -Electronic stopping should be applied only when a projectile reaches bulk -material. This fix scans neighbor list and excludes atoms with fewer than -{minneigh} neighbors (by default one). If the pair potential cutoff is large, -minneigh should be increased, though not above the number of nearest neighbors -in bulk material. An alternative is to disable the check for neighbors by -setting {minneigh} to zero and using the {region} keyword. This is necessary -when running simulations of cluster bombardment. - -If the {region} keyword is used, the atom must also be in the specified -geometric "region"_region.html in order to have electronic stopping applied to -it. This is useful if the position of the bulk material is fixed. By default -the electronic stopping is applied everywhere in the simulation cell. - -:line - -The energy ranges and stopping powers are read from the file {file}. -Lines starting with {#} and empty lines are ignored. Otherwise each -line must contain exactly [N+1] numbers, where [N] is the number of atom -types in the simulation. - -The first column is the energy for which the stopping powers on that -line apply. The energies must be sorted from the smallest to the largest. -The other columns are the stopping powers \(S_e\) for each atom type, -in ascending order, in force "units"_units.html. The stopping powers for -intermediate energy values are calculated with linear interpolation between -2 nearest points. - -For example: - -# This is a comment -# atom-1 atom-2 -# eV eV/Ang eV/Ang # units metal - 10 0 0 -250 60 80 -750 100 150 :pre - - -If an atom which would have electronic stopping applied to it has a -kinetic energy higher than the largest energy given in {file}, LAMMPS -will exit with an error message. - -The stopping power depends on the energy of the ion and the target -material. The electronic stopping table can be obtained from -scientific publications, experimental databases or by using -"SRIM"_#SRIM software. Other programs such as "CasP"_#CasP or -"PASS"_#PASS can calculate the energy deposited as a function -of the impact parameter of the ion; these results can be used -to derive the stopping power. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html options are not supported. - -This fix computes a global scalar, which can be accessed by various -"output commands"_Howto_output.html. The scalar is the total energy -loss from electronic stopping applied by this fix since the start of -the latest run. It is considered "intensive". - -The {start/stop} keywords of the "run"_run.html command have no effect -on this fix. - -[Restrictions:] - -This pair style is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build package"_Build_package.html -doc page for more info. - -[Default:] - -The default is no limitation by region, and minneigh = 1. - -:line -:link(elstopping) -[(electronic stopping)] Wikipedia - Electronic Stopping Power: https://en.wikipedia.org/wiki/Stopping_power_%28particle_radiation%29 - -:link(Nordlund98) -[(Nordlund98)] Nordlund, Kai, et al. Physical Review B 57.13 (1998): 7556. - -:link(Nordlund95) -[(Nordlund95)] Nordlund, Kai. Computational materials science 3.4 (1995): 448-456. - -:link(SRIM) -[(SRIM)] SRIM webpage: http://www.srim.org/ - -:link(CasP) -[(CasP)] CasP webpage: https://www.helmholtz-berlin.de/people/gregor-schiwietz/casp_en.html - -:link(PASS) -[(PASS)] PASS webpage: https://www.sdu.dk/en/DPASS diff --git a/doc/txt/fix_enforce2d.txt b/doc/txt/fix_enforce2d.txt deleted file mode 100644 index 17ac8146fd3242d531df02ba409dba553d946b9f..0000000000000000000000000000000000000000 --- a/doc/txt/fix_enforce2d.txt +++ /dev/null @@ -1,69 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix enforce2d command :h3 -fix enforce2d/kk command :h3 - -[Syntax:] - -fix ID group-ID enforce2d :pre - -ID, group-ID are documented in "fix"_fix.html command -enforce2d = style name of this fix command :ul - -[Examples:] - -fix 5 all enforce2d :pre - -[Description:] - -Zero out the z-dimension velocity and force on each atom in the group. -This is useful when running a 2d simulation to insure that atoms do -not move from their initial z coordinate. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -: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"_Howto_output.html. -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -[Restrictions:] none - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/fix_eos_cv.txt b/doc/txt/fix_eos_cv.txt deleted file mode 100644 index b2ac0eb6b932396ab229d8a14292d65cb1d99b39..0000000000000000000000000000000000000000 --- a/doc/txt/fix_eos_cv.txt +++ /dev/null @@ -1,60 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix eos/cv command :h3 - -[Syntax:] - -fix ID group-ID eos/cv cv :pre - -ID, group-ID are documented in "fix"_fix.html command -eos/cv = style name of this fix command -cv = constant-volume heat capacity (energy/temperature units) :ul - -[Examples:] - -fix 1 all eos/cv 0.01 :pre - -[Description:] - -Fix {eos/cv} applies a mesoparticle equation of state to relate the -particle internal energy (u_i) to the particle internal temperature -(dpdTheta_i). The {eos/cv} mesoparticle equation of state requires -the constant-volume heat capacity, and is defined as follows: - -:c,image(Eqs/fix_eos-cv.jpg) - -where Cv is the constant-volume heat capacity, u_cond is the internal -conductive energy, and u_mech is the internal mechanical energy. Note -that alternative definitions of the mesoparticle equation of state are -possible. - -:line - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This command also requires use of the "atom_style dpd"_atom_style.html -command. - -[Related commands:] - -"fix shardlow"_fix_shardlow.html, "pair dpd/fdt"_pair_dpd_fdt.html - -[Default:] none - -:line - -:link(Larentzos4) -[(Larentzos)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and -W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative -Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research -Laboratory, Aberdeen Proving Ground, MD (2014). diff --git a/doc/txt/fix_eos_table.txt b/doc/txt/fix_eos_table.txt deleted file mode 100644 index 72c8523662bd5d2cdff5900a65cba13b968e4db6..0000000000000000000000000000000000000000 --- a/doc/txt/fix_eos_table.txt +++ /dev/null @@ -1,117 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix eos/table command :h3 - -[Syntax:] - -fix ID group-ID eos/table style file N keyword :pre - -ID, group-ID are documented in "fix"_fix.html command -eos/table = style name of this fix command -style = {linear} = method of interpolation -file = filename containing the tabulated equation of state -N = use N values in {linear} tables -keyword = name of table keyword corresponding to table file :ul - -[Examples:] - -fix 1 all eos/table linear eos.table 100000 KEYWORD :pre - -[Description:] - -Fix {eos/table} applies a tabulated mesoparticle equation of state to -relate the particle internal energy (u_i) to the particle internal -temperature (dpdTheta_i). - -Fix {eos/table} creates interpolation tables of length {N} from -internal energy values listed in a file as a function of internal -temperature. - -The interpolation tables are created by fitting cubic splines to the -file values and interpolating energy values at each of {N} internal -temperatures, and vice versa. During a simulation, these tables are -used to interpolate internal energy or temperature values as needed. -The interpolation is done with the {linear} style. - -For the {linear} style, the internal temperature is used to find 2 -surrounding table values from which an internal energy is computed by -linear interpolation, and vice versa. - -The filename specifies a file containing tabulated internal -temperature and internal energy values. The keyword specifies a -section of the file. The format of this file is described below. - -:line - -The format of a tabulated file is as follows (without the -parenthesized comments): - -# EOS TABLE (one or more comment or blank lines) :pre - -KEYWORD (keyword is first text on line) -N 500 (N parameter) - (blank) -1 1.00 0.000 (index, internal temperature, internal energy) -2 1.02 0.001 -... -500 10.0 0.500 :pre - -A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments -between sections. The first line begins with a keyword which -identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the fix command. - -The next line lists the number of table entries. The parameter "N" is -required and its value is the number of table entries that follow. -Note that this may be different than the {N} specified in the "fix -eos/table"_fix_eos_table.html command. Let Ntable = {N} in the fix -command, and Nfile = "N" in the tabulated file. What LAMMPS does is a -preliminary interpolation by creating splines using the Nfile -tabulated values as nodal points. It uses these to interpolate as -needed to generate energy and temperature values at Ntable different -points. The resulting tables of length Ntable are then used as -described above, when computing energy and temperature relationships. -This means that if you want the interpolation tables of length Ntable -to match exactly what is in the tabulated file (with effectively no -preliminary interpolation), you should set Ntable = Nfile. - -Following a blank line, the next N lines list the tabulated values. -On each line, the 1st value is the index from 1 to N, the 2nd value is -the internal temperature (in temperature units), the 3rd value is the -internal energy (in energy units). - -Note that the internal temperature and internal energy values must -increase from one line to the next. - -Note that one file can contain many sections, each with a tabulated -potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword. - -:line - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This command also requires use of the "atom_style dpd"_atom_style.html -command. - -The equation of state must be a monotonically increasing function. - -An error will occur if the internal temperature or internal energies -are not within the table cutoffs. - -[Related commands:] - -"fix shardlow"_fix_shardlow.html, "pair dpd/fdt"_pair_dpd_fdt.html - -[Default:] none diff --git a/doc/txt/fix_eos_table_rx.txt b/doc/txt/fix_eos_table_rx.txt deleted file mode 100644 index 1a2daa0bc646f19bec6032c43a2adfb28e4d5c36..0000000000000000000000000000000000000000 --- a/doc/txt/fix_eos_table_rx.txt +++ /dev/null @@ -1,199 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix eos/table/rx command :h3 -fix eos/table/rx/kk command :h3 - -[Syntax:] - -fix ID group-ID eos/table/rx style file1 N keyword ... :pre - -ID, group-ID are documented in "fix"_fix.html command -eos/table/rx = style name of this fix command -style = {linear} = method of interpolation -file1 = filename containing the tabulated equation of state -N = use N values in {linear} tables -keyword = name of table keyword corresponding to table file -file2 = filename containing the heats of formation of each species (optional) -deltaHf = heat of formation for a single species in energy units (optional) -energyCorr = energy correction in energy units (optional) -tempCorrCoeff = temperature correction coefficient (optional) :ul - -[Examples:] - -fix 1 all eos/table/rx linear eos.table 10000 KEYWORD thermo.table -fix 1 all eos/table/rx linear eos.table 10000 KEYWORD 1.5 -fix 1 all eos/table/rx linear eos.table 10000 KEYWORD 1.5 0.025 0.0 :pre - -[Description:] - -Fix {eos/table/rx} applies a tabulated mesoparticle equation -of state to relate the concentration-dependent particle internal -energy (u_i) to the particle internal temperature (dpdTheta_i). - -The concentration-dependent particle internal energy (u_i) is -computed according to the following relation: - -:c,image(Eqs/fix_eos_table_rx.jpg) - -where {m} is the number of species, {c_i,j} is the concentration of -species {j} in particle {i}, {u_j} is the internal energy of species j, -{DeltaH_f,j} is the heat of formation of species {j}, N is the number of -molecules represented by the coarse-grained particle, kb is the -Boltzmann constant, and T is the temperature of the system. Additionally, -it is possible to modify the concentration-dependent particle internal -energy relation by adding an energy correction, temperature-dependent -correction, and/or a molecule-dependent correction. An energy correction can -be specified as a constant (in energy units). A temperature correction can be -specified by multiplying a temperature correction coefficient by the -internal temperature. A molecular correction can be specified by -by multiplying a molecule correction coefficient by the average number of -product gas particles in the coarse-grain particle. - -Fix {eos/table/rx} creates interpolation tables of length {N} from {m} -internal energy values of each species {u_j} listed in a file as a -function of internal temperature. During a simulation, these tables -are used to interpolate internal energy or temperature values as needed. -The interpolation is done with the {linear} style. For the {linear} style, -the internal temperature is used to find 2 surrounding table values from -which an internal energy is computed by linear interpolation. A secant -solver is used to determine the internal temperature from the internal energy. - -The first filename specifies a file containing tabulated internal -temperature and {m} internal energy values for each species {u_j}. -The keyword specifies a section of the file. The format of this -file is described below. - -The second filename specifies a file containing heat of formation -{DeltaH_f,j} for each species. - -In cases where the coarse-grain particle represents a single molecular -species (i.e., no reactions occur and fix {rx} is not present in the input file), -fix {eos/table/rx} can be applied in a similar manner to fix {eos/table} -within a non-reactive DPD simulation. In this case, the heat of formation -filename is replaced with the heat of formation value for the single species. -Additionally, the energy correction and temperature correction coefficients may -also be specified as fix arguments. - -:line - -The format of a tabulated file is as follows (without the -parenthesized comments): - -# EOS TABLE (one or more comment or blank lines) :pre - -KEYWORD (keyword is first text on line) -N 500 h2 no2 n2 ... no (N parameter species1 species2 ... speciesN) - (blank) -1 1.00 0.000 ... 0.0000 (index, internal temperature, internal energy of species 1, ..., internal energy of species m) -2 1.02 0.001 ... 0.0002 -... -500 10.0 0.500 ... 1.0000 :pre - -A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments -between sections. The first line begins with a keyword which -identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the fix command. - -The next line lists the number of table entries and the species names -that correspond with all the species listed in the reaction equations -through the {fix rx} command. -The parameter "N" is required and its value is the number of table -entries that follow. Let Nfile = "N" in the tabulated file. -What LAMMPS does is a preliminary interpolation by creating splines -using the Nfile tabulated values as nodal points. - -Following a blank line, the next N lines list the tabulated values. -On each line, the 1st value is the index from 1 to N, the 2nd value is -the internal temperature (in temperature units), the 3rd value until -the {m+3} value are the internal energies of the m species (in energy units). - -Note that all internal temperature and internal energy values must -increase from one line to the next. - -Note that one file can contain many sections, each with a tabulated -potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword. - -:line - -The format of a heat of formation file is as follows (without the -parenthesized comments): - -# HEAT OF FORMATION TABLE (one or more comment or blank lines) :pre - (blank) -h2 0.00 (species name, heat of formation) -no2 0.34 -n2 0.00 -... -no 0.93 :pre - -Note that the species can be listed in any order. The tag that is -used as the species name must correspond with the tags used to define -the reactions with the "fix rx"_fix_rx.html command. - -Alternatively, corrections to the EOS can be included by specifying -three additional columns that correspond to the energy correction, -the temperature correction coefficient and molecule correction -coefficient. In this case, the format of the file is as follows: - -# HEAT OF FORMATION TABLE (one or more comment or blank lines) :pre - (blank) -h2 0.00 1.23 0.025 0.0 (species name, heat of formation, energy correction, temperature correction coefficient, molecule correction coefficient) -no2 0.34 0.00 0.000 -1.76 -n2 0.00 0.00 0.000 -1.76 -... -no 0.93 0.00 0.000 -1.76 :pre - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This command also requires use of the "atom_style dpd"_atom_style.html -command. - -The equation of state must be a monotonically increasing function. - -An error will occur if the internal temperature or internal energies -are not within the table cutoffs. - -[Related commands:] - -"fix rx"_fix_rx.html, -"pair dpd/fdt"_pair_dpd_fdt.html - -[Default:] none - -:line diff --git a/doc/txt/fix_evaporate.txt b/doc/txt/fix_evaporate.txt deleted file mode 100644 index 69572b96cf41c4a46181628a247082b95112a7c4..0000000000000000000000000000000000000000 --- a/doc/txt/fix_evaporate.txt +++ /dev/null @@ -1,96 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix evaporate command :h3 - -[Syntax:] - -fix ID group-ID evaporate N M region-ID seed :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -evaporate = style name of this fix command :l -N = delete atoms every this many timesteps :l -M = number of atoms to delete each time :l -region-ID = ID of region within which to perform deletions :l -seed = random number seed to use for choosing atoms to delete :l -zero or more keyword/value pairs may be appended :l -keyword = {molecule} - {molecule} value = {no} or {yes} :pre -:ule - -[Examples:] - -fix 1 solvent evaporate 1000 10 surface 49892 -fix 1 solvent evaporate 1000 10 surface 38277 molecule yes :pre - -[Description:] - -Remove M atoms from the simulation every N steps. This can be used, -for example, to model evaporation of solvent particles or molecules -(i.e. drying) of a system. Every N steps, the number of atoms in the -fix group and within the specified region are counted. M of these are -chosen at random and deleted. If there are less than M eligible -particles, then all of them are deleted. - -If the setting for the {molecule} keyword is {no}, then only single -atoms are deleted. In this case, you should insure you do not delete -only a portion of a molecule (only some of its atoms), or LAMMPS will -soon generate an error when it tries to find those atoms. LAMMPS will -warn you if any of the atoms eligible for deletion have a non-zero -molecule ID, but does not check for this at the time of deletion. - -If the setting for the {molecule} keyword is {yes}, then when an atom -is chosen for deletion, the entire molecule it is part of is deleted. -The count of deleted atoms is incremented by the number of atoms in -the molecule, which may make it exceed {M}. If the molecule ID of the -chosen atom is 0, then it is assumed to not be part of a molecule, and -just the single atom is deleted. - -As an example, if you wish to delete 10 water molecules every {N} -steps, you should set {M} to 30. If only the water's oxygen atoms -were in the fix group, then two hydrogen atoms would be deleted when -an oxygen atom is selected for deletion, whether the hydrogen atoms -are inside the evaporation region or not. - -Note that neighbor lists are re-built on timesteps that atoms are -removed. Thus you should not remove atoms too frequently or you will -incur overhead due to the cost of building neighbor lists. - -NOTE: If you are monitoring the temperature of a system where the atom -count is changing due to evaporation, you typically should use the -"compute_modify dynamic yes"_compute_modify.html command for the -temperature compute you are using. - -[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. - -This fix computes a global scalar, which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -number of deleted atoms. The scalar value calculated by this fix is -"intensive". - -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 fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix deposit"_fix_deposit.html - -[Default:] - -The option defaults are molecule = no. diff --git a/doc/txt/fix_external.txt b/doc/txt/fix_external.txt deleted file mode 100644 index dd7f7914e96f365db3d523578e88efa8068aee5d..0000000000000000000000000000000000000000 --- a/doc/txt/fix_external.txt +++ /dev/null @@ -1,157 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix external command :h3 - -[Syntax:] - -fix ID group-ID external mode args :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -external = style name of this fix command :l -mode = {pf/callback} or {pf/array} :l - {pf/callback} args = Ncall Napply - Ncall = make callback every Ncall steps - Napply = apply callback forces every Napply steps - {pf/array} args = Napply - Napply = apply array forces every Napply steps :pre -:ule - -[Examples:] - -fix 1 all external pf/callback 1 1 -fix 1 all external pf/callback 100 1 -fix 1 all external pf/array 10 :pre - -[Description:] - -This fix allows external programs that are running LAMMPS through its -"library interface"_Howto_library.html to modify certain LAMMPS -properties on specific timesteps, similar to the way other fixes do. -The external driver can be a "C/C++ or Fortran -program"_Howto_library.html or a "Python script"_Python_head.html. - -:line - -If mode is {pf/callback} then the fix will make a callback every -{Ncall} timesteps or minimization iterations to the external program. -The external program computes forces on atoms by setting values in an -array owned by the fix. The fix then adds these forces to each atom -in the group, once every {Napply} steps, similar to the way the "fix -addforce"_fix_addforce.html command works. Note that if {Ncall} > -{Napply}, the force values produced by one callback will persist, and -be used multiple times to update atom forces. - -The callback function "foo" is invoked by the fix as: - -foo(void *ptr, bigint timestep, int nlocal, int *ids, double **x, double **fexternal); :pre - -The arguments are as follows: - -ptr = pointer provided by and simply passed back to external driver -timestep = current LAMMPS timestep -nlocal = # of atoms on this processor -ids = list of atom IDs on this processor -x = coordinates of atoms on this processor -fexternal = forces to add to atoms on this processor :ul - -Note that timestep is a "bigint" which is defined in src/lmptype.h, -typically as a 64-bit integer. - -Fexternal are the forces returned by the driver program. - -The fix has a set_callback() method which the external driver can call -to pass a pointer to its foo() function. See the -couple/lammps_quest/lmpqst.cpp file in the LAMMPS distribution for an -example of how this is done. This sample application performs -classical MD using quantum forces computed by a density functional -code "Quest"_quest. - -:link(quest,http://dft.sandia.gov/Quest) - -:line - -If mode is {pf/array} then the fix simply stores force values in an -array. The fix adds these forces to each atom in the group, once -every {Napply} steps, similar to the way the "fix -addforce"_fix_addforce.html command works. - -The name of the public force array provided by the FixExternal -class is - -double **fexternal; :pre - -It is allocated by the FixExternal class as an (N,3) array where N is -the number of atoms owned by a processor. The 3 corresponds to the -fx, fy, fz components of force. - -It is up to the external program to set the values in this array to -the desired quantities, as often as desired. For example, the driver -program might perform an MD run in stages of 1000 timesteps each. In -between calls to the LAMMPS "run"_run.html command, it could retrieve -atom coordinates from LAMMPS, compute forces, set values in fexternal, -etc. - -:line - -To use this fix during energy minimization, the energy corresponding -to the added forces must also be set so as to be consistent with the -added forces. Otherwise the minimization will not converge correctly. - -This can be done from the external driver by calling this public -method of the FixExternal class: - -void set_energy(double eng); :pre - -where eng is the potential energy. Eng is an extensive quantity, -meaning it should be the sum over per-atom energies of all affected -atoms. It should also be provided in "energy units"_units.html -consistent with the simulation. See the details below for how to -insure this energy setting is used appropriately in a minimization. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the potential "energy" set by the external driver to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. This is a fictitious quantity but is -needed so that the "minimize"_minimize.html command can include the -forces added by this fix in a consistent manner. I.e. there is a -decrease in potential energy when atoms move in the direction of the -added force. - -The "fix_modify"_fix_modify.html {virial} option is supported by this -fix to add the contribution due to the interactions computed by the -external program to the system's virial as part of "thermodynamic -output"_thermo_style.html. The default is {virial yes} - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the potential -energy discussed above. The scalar stored by this fix is "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -NOTE: If you want the fictitious potential energy associated with the -added forces to be included in the total potential energy of the -system (the quantity being minimized), you MUST enable the -"fix_modify"_fix_modify.html {energy} option for this fix. - -[Restrictions:] none - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/fix_ffl.txt b/doc/txt/fix_ffl.txt deleted file mode 100644 index a5d3f80a62afef24e4529e5b39acf115c8edf9d5..0000000000000000000000000000000000000000 --- a/doc/txt/fix_ffl.txt +++ /dev/null @@ -1,124 +0,0 @@ - - - -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix ffl command :h3 - -[Syntax:] - -fix ID id-group ffl tau Tstart Tstop seed \[flip-type\] :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -ffl = style name of this fix command :l -tau = thermostat parameter (positive real) :l -Tstart, Tstop = temperature ramp during the run :l -seed = random number seed to use for generating noise (positive integer) :l -one more value may be appended :l - flip-type = determines the flipping type, can be chosen between rescale - no_flip - hard - soft, if no flip type is given, rescale will be chosen by default :pre -:ule - -[Examples:] - -fix 3 boundary ffl 10 300 300 31415 -fix 1 all ffl 100 500 500 9265 soft :pre - -[Description:] - -Apply a Fast-Forward Langevin Equation (FFL) thermostat as described -in "(Hijazi)"_#Hijazi. Contrary to -"fix langevin"_fix_langevin.html, this fix performs both -thermostatting and evolution of the Hamiltonian equations of motion, so it -should not be used together with "fix nve"_fix_nve.html -- at least not -on the same atom groups. - -The time-evolution of a single particle undergoing Langevin dynamics is described -by the equations - -\begin\{equation\} \frac \{dq\}\{dt\} = \frac\{p\}\{m\}, \end\{equation\} - -\begin\{equation\} \frac \{dp\}\{dt\} = -\gamma p + W + F, \end\{equation\} - -where \(F\) is the physical force, \(\gamma\) is the friction coefficient, and \(W\) is a -Gaussian random force. - -The friction coefficient is the inverse of the thermostat parameter : \(\gamma = 1/\tau\), with \(\tau\) the thermostat parameter {tau}. -The thermostat parameter is given in the time units, \(\gamma\) is in inverse time units. - -Equilibrium sampling a temperature T is obtained by specifying the -target value as the {Tstart} and {Tstop} arguments, so that the internal -constants depending on the temperature are computed automatically. - -The random number {seed} must be a positive integer. A Marsaglia random -number generator is used. Each processor uses the input seed to -generate its own unique seed and its own stream of random numbers. -Thus the dynamics of the system will not be identical on two runs on -different numbers of processors. - -The flipping type {flip-type} can be chosen between 4 types described in -"(Hijazi)"_#Hijazi. The flipping operation occurs during the thermostatting -step and it flips the momenta of the atoms. If no_flip is chosen, no flip -will be executed and the integration will be the same as a standard -Langevin thermostat "(Bussi)"_#Bussi3. The other flipping types are : rescale - hard - soft. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -The instantaneous values of the extended variables are written to -"binary restart files"_restart.html. Because the state of the random -number generator is not saved in restart files, this means you cannot -do "exact" restarts with this fix, where the simulation continues on -the same as if no restart had taken place. However, in a statistical -sense, a restarted simulation should produce the same behavior. -Note however that you should use a different seed each time you -restart, otherwise the same sequence of random numbers will be used -each time, which might lead to stochastic synchronization and -subtle artifacts in the sampling. - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". - -[Restrictions:] - -In order to perform constant-pressure simulations please use -"fix press/berendsen"_fix_press_berendsen.html, rather than -"fix npt"_fix_nh.html, to avoid duplicate integration of the -equations of motion. - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix nvt"_fix_nh.html, "fix temp/rescale"_fix_temp_rescale.html, "fix -viscous"_fix_viscous.html, "fix nvt"_fix_nh.html, "pair_style -dpd/tstat"_pair_dpd.html, "fix gld"_fix_gld.html, "fix gle"_fix_gle.html - -:line - -:link(Hijazi) -[(Hijazi)] M. Hijazi, D. M. Wilkins, M. Ceriotti, J. Chem. Phys. 148, 184109 (2018) -:link(Bussi3) -[(Bussi)] G. Bussi, M. Parrinello, Phs. Rev. E 75, 056707 (2007) - diff --git a/doc/txt/fix_filter_corotate.txt b/doc/txt/fix_filter_corotate.txt deleted file mode 100644 index 4868761d4207675072fc00c1f6fd66c1c7a06629..0000000000000000000000000000000000000000 --- a/doc/txt/fix_filter_corotate.txt +++ /dev/null @@ -1,86 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix filter/corotate command :h3 - -[Syntax:] - -fix ID group-ID filter/corotate keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -one or more constraint/value pairs are appended :l -constraint = {b} or {a} or {t} or {m} :l - {b} values = one or more bond types - {a} values = one or more angle types - {t} values = one or more atom types - {m} value = one or more mass values :pre -:ule - -[Examples:] - -timestep 8 -run_style respa 3 2 8 bond 1 pair 2 kspace 3 -fix cor all filter/corotate m 1.0 :pre - -fix cor all filter/corotate b 4 19 a 3 5 2 :pre - -[Description:] - -This fix implements a corotational filter for a mollified impulse -method. In biomolecular simulations, it allows the usage of larger -timesteps for long-range electrostatic interactions. For details, see -"(Fath)"_#Fath2017. - -When using "run_style respa"_run_style.html for a biomolecular -simulation with high-frequency covalent bonds, the outer time-step is -restricted to below ~ 4fs due to resonance problems. This fix filters -the outer stage of the respa and thus a larger (outer) time-step can -be used. Since in large biomolecular simulations the computation of -the long-range electrostatic contributions poses a major bottleneck, -this can significantly accelerate the simulation. - -The filter computes a cluster decomposition of the molecular structure -following the criteria indicated by the options a, b, t and m. This -process is similar to the approach in "fix shake"_fix_shake.html, -however, the clusters are not kept constrained. Instead, the position -is slightly modified only for the computation of long-range forces. A -good cluster decomposition constitutes in building clusters which -contain the fastest covalent bonds inside clusters. - -If the clusters are chosen suitably, the "run_style -respa"_run_style.html is stable for outer time-steps of at least 8fs. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about these fixes is written to "binary restart -files"_restart.html. None of the "fix_modify"_fix_modify.html options -are relevant to these fixes. No global or per-atom quantities are -stored by these fixes for access by various "output -commands"_Howto_output.html. No parameter of these fixes can be used -with the {start/stop} keywords of the "run"_run.html command. These -fixes are not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Currently, it does not support "molecule templates"_molecule.html. - -[Related commands:] - - -[Default:] none - -:line - -:link(Fath2017) -[(Fath)] Fath, Hochbruck, Singh, J Comp Phys, 333, 180-198 (2017). diff --git a/doc/txt/fix_flow_gauss.txt b/doc/txt/fix_flow_gauss.txt deleted file mode 100644 index 46a9477aa2184e4bb7699f8462db78aaf8316bbf..0000000000000000000000000000000000000000 --- a/doc/txt/fix_flow_gauss.txt +++ /dev/null @@ -1,160 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix flow/gauss command :h3 - -[Syntax:] - -fix ID group-ID flow/gauss xflag yflag zflag keyword :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -flow/gauss = style name of this fix command :l -xflag,yflag,zflag = 0 or 1 :l - 0 = do not conserve current in this dimension - 1 = conserve current in this dimension :pre -zero or more keyword/value pairs may be appended :l -keyword = {energy} :l - {energy} value = no or yes - no = do not compute work done by this fix - yes = compute work done by this fix :pre -:ule - -[Examples:] - -fix GD fluid flow/gauss 1 0 0 -fix GD fluid flow/gauss 1 1 1 energy yes :pre - -[Description:] - -This fix implements the Gaussian dynamics (GD) method to simulate a -system at constant mass flux "(Strong)"_#Strong. GD is a -nonequilibrium molecular dynamics simulation method that can be used -to study fluid flows through pores, pipes, and channels. In its -original implementation GD was used to compute the pressure required -to achieve a fixed mass flux through an opening. The flux can be -conserved in any combination of the directions, x, y, or z, using -xflag,yflag,zflag. This fix does not initialize a net flux through a -system, it only conserves the center-of-mass momentum that is present -when the fix is declared in the input script. Use the -"velocity"_velocity.html command to generate an initial center-of-mass -momentum. - -GD applies an external fluctuating gravitational field that acts as a -driving force to keep the system away from equilibrium. To maintain -steady state, a profile-unbiased thermostat must be implemented to -dissipate the heat that is added by the driving force. "Compute -temp/profile"_compute_temp_profile.html can be used to implement a -profile-unbiased thermostat. - -A common use of this fix is to compute a pressure drop across a pipe, -pore, or membrane. The pressure profile can be computed in LAMMPS with -"compute stress/atom"_compute_stress_atom.html and "fix -ave/chunk"_fix_ave_chunk.html, or with the hardy method in "fix -atc"_fix_atc.html. Note that the simple "compute -stress/atom"_compute_stress_atom.html method is only accurate away -from inhomogeneities in the fluid, such as fixed wall atoms. Further, -the computed pressure profile must be corrected for the acceleration -applied by GD before computing a pressure drop or comparing it to -other methods, such as the pump method "(Zhu)"_#Zhu. The pressure -correction is discussed and described in "(Strong)"_#Strong. - -For a complete example including the considerations discussed -above, see the examples/USER/flow_gauss directory. - -NOTE: Only the flux of the atoms in group-ID will be conserved. If the -velocities of the group-ID atoms are coupled to the velocities of -other atoms in the simulation, the flux will not be conserved. For -example, in a simulation with fluid atoms and harmonically constrained -wall atoms, if a single thermostat is applied to group {all}, the -fluid atom velocities will be coupled to the wall atom velocities, and -the flux will not be conserved. This issue can be avoided by -thermostatting the fluid and wall groups separately. - -Adding an acceleration to atoms does work on the system. This added -energy can be optionally subtracted from the potential energy for the -thermodynamic output (see below) to check that the timestep is small -enough to conserve energy. Since the applied acceleration is -fluctuating in time, the work cannot be computed from a potential. As -a result, computing the work is slightly more computationally -expensive than usual, so it is not performed by default. To invoke the -work calculation, use the {energy} keyword. The -"fix_modify"_fix_modify.html {energy} option also invokes the work -calculation, and overrides an {energy no} setting here. If neither -{energy yes} or {fix_modify energy yes} are set, the global scalar -computed by the fix will return zero. - -NOTE: In order to check energy conservation, any other fixes that do -work on the system must have {fix_modify energy yes} set as well. This -includes thermostat fixes and any constraints that hold the positions -of wall atoms fixed, such as "fix spring/self"_fix_spring_self.html. - -If this fix is used in a simulation with the "rRESPA"_run_style.html -integrator, the applied acceleration must be computed and applied at the same -rRESPA level as the interactions between the flowing fluid and the obstacle. -The rRESPA level at which the acceleration is applied can be changed using -the "fix_modify"_fix_modify.html {respa} option discussed below. If the -flowing fluid and the obstacle interact through multiple interactions that are -computed at different rRESPA levels, then there must be a separate flow/gauss -fix for each level. For example, if the flowing fluid and obstacle interact -through pairwise and long-range Coulomb interactions, which are computed at -rRESPA levels 3 and 4, respectively, then there must be two separate -flow/gauss fixes, one that specifies {fix_modify respa 3} and one with -{fix_modify respa 4}. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to subtract the work done from the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows the user to set at which level of the "rRESPA"_run_style.html -integrator the fix computes and adds the external acceleration. Default is the -outermost level. - -This fix computes a global scalar and a global 3-vector of forces, -which can be accessed by various "output commands"_Howto_output.html. -The scalar is the negative of the work done on the system, see above -discussion. The vector is the total force that this fix applied to -the group of atoms on the current timestep. The scalar and vector -values calculated by this fix are "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -[Restrictions:] none - -[Related commands:] - -"fix addforce"_fix_addforce.html, "compute -temp/profile"_compute_temp_profile.html, "velocity"_velocity.html - -[Default:] - -The option default for the {energy} keyword is energy = no. - -:line - -:link(Strong) -[(Strong)] Strong and Eaves, J. Phys. Chem. B 121, 189 (2017). - -:link(Evans2) -[(Evans)] Evans and Morriss, Phys. Rev. Lett. 56, 2172 (1986). - -:link(Zhu) -[(Zhu)] Zhu, Tajkhorshid, and Schulten, Biophys. J. 83, 154 (2002). diff --git a/doc/txt/fix_freeze.txt b/doc/txt/fix_freeze.txt deleted file mode 100644 index 9e085d8b1dc68470b6d991b1ca430f055cb08d83..0000000000000000000000000000000000000000 --- a/doc/txt/fix_freeze.txt +++ /dev/null @@ -1,88 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix freeze command :h3 -fix freeze/kk command :h3 - -[Syntax:] - -fix ID group-ID freeze :pre - -ID, group-ID are documented in "fix"_fix.html command -freeze = style name of this fix command :ul - -[Examples:] - -fix 2 bottom freeze :pre - -[Description:] - -Zero out the force and torque on a granular particle. This is useful -for preventing certain particles from moving in a simulation. The -"granular pair styles"_pair_gran.html also detect if this fix has been -defined and compute interactions between frozen and non-frozen -particles appropriately, as if the frozen particle has infinite mass. -A similar functionality for normal (point) particles can be obtained -using "fix setforce"_fix_setforce.html. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -: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. - -This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Howto_output.html. This is the total -force on the group of atoms before the forces on individual atoms are -changed by the fix. The vector values calculated by this fix are -"extensive". - -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 fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -There can only be a single freeze fix defined. This is because other -the "granular pair styles"_pair_gran.html treat frozen particles -differently and need to be able to reference a single group to which -this fix is applied. - -[Related commands:] - -"atom_style sphere"_atom_style.html, "fix setforce"_fix_setforce.html - -[Default:] none diff --git a/doc/txt/fix_gcmc.txt b/doc/txt/fix_gcmc.txt deleted file mode 100644 index f28cb5771f832095fad7d116d4ad9c50c04270a0..0000000000000000000000000000000000000000 --- a/doc/txt/fix_gcmc.txt +++ /dev/null @@ -1,465 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix gcmc command :h3 - -[Syntax:] - -fix ID group-ID gcmc N X M type seed T mu displace keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -gcmc = style name of this fix command :l -N = invoke this fix every N steps :l -X = average number of GCMC exchanges to attempt every N steps :l -M = average number of MC moves to attempt every N steps :l -type = atom type for inserted atoms (must be 0 if mol keyword used) :l -seed = random # seed (positive integer) :l -T = temperature of the ideal gas reservoir (temperature units) :l -mu = chemical potential of the ideal gas reservoir (energy units) :l -displace = maximum Monte Carlo translation distance (length units) :l -zero or more keyword/value pairs may be appended to args :l -keyword = {mol}, {region}, {maxangle}, {pressure}, {fugacity_coeff}, {full_energy}, {charge}, {group}, {grouptype}, {intra_energy}, {tfac_insert}, or {overlap_cutoff} - {mol} value = template-ID - template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command - {mcmoves} values = Patomtrans Pmoltrans Pmolrotate - Patomtrans = proportion of atom translation MC moves - Pmoltrans = proportion of molecule translation MC moves - Pmolrotate = proportion of molecule rotation MC moves - {rigid} value = fix-ID - fix-ID = ID of "fix rigid/small"_fix_rigid.html command - {shake} value = fix-ID - fix-ID = ID of "fix shake"_fix_shake.html command - {region} value = region-ID - region-ID = ID of region where GCMC exchanges and MC moves are allowed - {maxangle} value = maximum molecular rotation angle (degrees) - {pressure} value = pressure of the gas reservoir (pressure units) - {fugacity_coeff} value = fugacity coefficient of the gas reservoir (unitless) - {full_energy} = compute the entire system energy when performing GCMC exchanges and MC moves - {charge} value = charge of inserted atoms (charge units) - {group} value = group-ID - group-ID = group-ID for inserted atoms (string) - {grouptype} values = type group-ID - type = atom type (int) - group-ID = group-ID for inserted atoms (string) - {intra_energy} value = intramolecular energy (energy units) - {tfac_insert} value = scale up/down temperature of inserted atoms (unitless) - {overlap_cutoff} value = maximum pair distance for overlap rejection (distance units) - {max} value = Maximum number of molecules allowed in the system - {min} value = Minimum number of molecules allowed in the system :pre -:ule - -[Examples:] - -fix 2 gas gcmc 10 1000 1000 2 29494 298.0 -0.5 0.01 -fix 3 water gcmc 10 100 100 0 3456543 3.0 -2.5 0.1 mol my_one_water maxangle 180 full_energy -fix 4 my_gas gcmc 1 10 10 1 123456543 300.0 -12.5 1.0 region disk :pre - -[Description:] - -This fix performs grand canonical Monte Carlo (GCMC) exchanges of -atoms or molecules with an imaginary ideal gas -reservoir at the specified T and chemical potential (mu) as discussed -in "(Frenkel)"_#Frenkel. It also -attempts Monte Carlo (MC) moves (translations and molecule -rotations) within the simulation cell or -region. If used with the "fix nvt"_fix_nh.html -command, simulations in the grand canonical ensemble (muVT, constant -chemical potential, constant volume, and constant temperature) can be -performed. Specific uses include computing isotherms in microporous -materials, or computing vapor-liquid coexistence curves. - -Every N timesteps the fix attempts both GCMC exchanges -(insertions or deletions) and MC moves of gas atoms or molecules. -On those timesteps, the average number of attempted GCMC exchanges is X, -while the average number of attempted MC moves is M. -For GCMC exchanges of either molecular or atomic gasses, -these exchanges can be either deletions or insertions, -with equal probability. - -The possible choices for MC moves are translation of an atom, -translation of a molecule, and rotation of a molecule. -The relative amounts of each are determined by the optional -{mcmoves} keyword (see below). -The default behavior is as follows. -If the {mol} keyword is used, only molecule translations -and molecule rotations are performed with equal probability. -Conversely, if the {mol} keyword is not used, only atom -translations are performed. -M should typically be -chosen to be approximately equal to the expected number of gas atoms -or molecules of the given type within the simulation cell or region, -which will result in roughly one MC move per atom or molecule -per MC cycle. - -All inserted particles are always added to two groups: the default -group "all" and the fix group specified in the fix command. -In addition, particles are also added to any groups -specified by the {group} and {grouptype} keywords. If inserted -particles are individual atoms, they are assigned the atom type given -by the type argument. If they are molecules, the type argument has no -effect and must be set to zero. Instead, the type of each atom in the -inserted molecule is specified in the file read by the -"molecule"_molecule.html command. - -NOTE: Care should be taken to apply fix gcmc only to -a group that contains only those atoms and molecules -that you wish to manipulate using Monte Carlo. -Hence it is generally not a good idea to specify -the default group "all" in the fix command, although it is allowed. - -This fix cannot be used to perform GCMC insertions of gas atoms or -molecules other than the exchanged type, but GCMC deletions, -and MC translations, and rotations can be performed on any atom/molecule in -the fix group. All atoms in the simulation cell can be moved using -regular time integration translations, e.g. via "fix nvt"_fix_nh.html, -resulting in a hybrid GCMC+MD simulation. A smaller-than-usual -timestep size may be needed when running such a hybrid simulation, -especially if the inserted molecules are not well equilibrated. - -This command may optionally use the {region} keyword to define an -exchange and move volume. The specified region must have been -previously defined with a "region"_region.html command. It must be -defined with side = {in}. Insertion attempts occur only within the -specified region. For non-rectangular regions, random trial points are -generated within the rectangular bounding box until a point is found -that lies inside the region. If no valid point is generated after 1000 -trials, no insertion is performed, but it is counted as an attempted -insertion. Move and deletion attempt candidates are selected from gas -atoms or molecules within the region. If there are no candidates, no -move or deletion is performed, but it is counted as an attempt move or -deletion. If an attempted move places the atom or molecule -center-of-mass outside the specified region, a new attempted move is -generated. This process is repeated until the atom or molecule -center-of-mass is inside the specified region. - -If used with "fix nvt"_fix_nh.html, the temperature of the imaginary -reservoir, T, should be set to be equivalent to the target temperature -used in fix nvt. Otherwise, the imaginary reservoir will not be in -thermal equilibrium with the simulation cell. Also, it is important -that the temperature used by fix nvt be dynamic/dof, which can be -achieved as follows: - -compute mdtemp mdatoms temp -compute_modify mdtemp dynamic/dof yes -fix mdnvt mdatoms nvt temp 300.0 300.0 10.0 -fix_modify mdnvt temp mdtemp :pre - -Note that neighbor lists are re-built every timestep that this fix is -invoked, so you should not set N to be too small. However, periodic -rebuilds are necessary in order to avoid dangerous rebuilds and missed -interactions. Specifically, avoid performing so many MC translations -per timestep that atoms can move beyond the neighbor list skin -distance. See the "neighbor"_neighbor.html command for details. - -When an atom or molecule is to be inserted, its coordinates are chosen -at a random position within the current simulation cell or region, and -new atom velocities are randomly chosen from the specified temperature -distribution given by T. The effective temperature for new atom -velocities can be increased or decreased using the optional keyword -{tfac_insert} (see below). Relative coordinates for atoms in a -molecule are taken from the template molecule provided by the -user. The center of mass of the molecule is placed at the insertion -point. The orientation of the molecule is chosen at random by rotating -about this point. - -Individual atoms are inserted, unless the {mol} keyword is used. It -specifies a {template-ID} previously defined using the -"molecule"_molecule.html command, which reads a file that defines the -molecule. The coordinates, atom types, charges, etc., as well as any -bonding and special neighbor information for the molecule can -be specified in the molecule file. See the "molecule"_molecule.html -command for details. The only settings required to be in this file -are the coordinates and types of atoms in the molecule. - -When not using the {mol} keyword, you should ensure you do not delete -atoms that are bonded to other atoms, or LAMMPS will soon generate an -error when it tries to find bonded neighbors. LAMMPS will warn you if -any of the atoms eligible for deletion have a non-zero molecule ID, -but does not check for this at the time of deletion. - -If you wish to insert molecules using the {mol} keyword that will be -treated as rigid bodies, use the {rigid} keyword, specifying as its -value the ID of a separate "fix rigid/small"_fix_rigid.html command -which also appears in your input script. - -NOTE: If you wish the new rigid molecules (and other rigid molecules) -to be thermostatted correctly via "fix rigid/small/nvt"_fix_rigid.html -or "fix rigid/small/npt"_fix_rigid.html, then you need to use the -"fix_modify dynamic/dof yes" command for the rigid fix. This is to -inform that fix that the molecule count will vary dynamically. - -If you wish to insert molecules via the {mol} keyword, that will have -their bonds or angles constrained via SHAKE, use the {shake} keyword, -specifying as its value the ID of a separate "fix -shake"_fix_shake.html command which also appears in your input script. - -Optionally, users may specify the relative amounts of different MC -moves using the {mcmoves} keyword. The values {Patomtrans}, -{Pmoltrans}, {Pmolrotate} specify the average proportion of -atom translations, molecule translations, and molecule rotations, -respectively. The values must be non-negative integers or real -numbers, with at least one non-zero value. For example, (10,30,0) -would result in 25% of the MC moves being atomic translations, 75% -molecular translations, and no molecular rotations. - -Optionally, users may specify the maximum rotation angle for molecular -rotations using the {maxangle} keyword and specifying the angle in -degrees. Rotations are performed by generating a random point on the -unit sphere and a random rotation angle on the range -\[0,maxangle). The molecule is then rotated by that angle about an -axis passing through the molecule center of mass. The axis is parallel -to the unit vector defined by the point on the unit sphere. The same -procedure is used for randomly rotating molecules when they are -inserted, except that the maximum angle is 360 degrees. - -Note that fix gcmc does not use configurational bias MC or any other -kind of sampling of intramolecular degrees of freedom. Inserted -molecules can have different orientations, but they will all have the -same intramolecular configuration, which was specified in the molecule -command input. - -For atomic gasses, inserted atoms have the specified atom type, but -deleted atoms are any atoms that have been inserted or that already -belong to the fix group. For molecular gasses, exchanged -molecules use the same atom types as in the template molecule supplied -by the user. In both cases, exchanged atoms/molecules are assigned to -two groups: the default group "all" and the fix group -(which can also be "all"). - -The chemical potential is a user-specified input parameter defined -as: - -:c,image(Eqs/fix_gcmc1.jpg) - -The second term mu_ex is the excess chemical potential due to -energetic interactions and is formally zero for the fictitious gas -reservoir but is non-zero for interacting systems. So, while the -chemical potential of the reservoir and the simulation cell are equal, -mu_ex is not, and as a result, the densities of the two are generally -quite different. The first term mu_id is the ideal gas contribution -to the chemical potential. mu_id can be related to the density or -pressure of the fictitious gas reservoir by: - -:c,image(Eqs/fix_gcmc2.jpg) - -where k is Boltzman's constant, -T is the user-specified temperature, rho is the number density, -P is the pressure, and phi is the fugacity coefficient. -The constant Lambda is required for dimensional consistency. -For all unit styles except {lj} it is defined as the thermal -de Broglie wavelength - -:c,image(Eqs/fix_gcmc3.jpg) - -where h is Planck's constant, and m is the mass of the exchanged atom -or molecule. For unit style {lj}, Lambda is simply set to the -unity. Note that prior to March 2017, lambda for unit style {lj} was -calculated using the above formula with h set to the rather specific -value of 0.18292026. Chemical potential under the old definition can -be converted to an equivalent value under the new definition by -subtracting 3kTln(Lambda_old). - -As an alternative to specifying mu directly, the ideal gas reservoir -can be defined by its pressure P using the {pressure} keyword, in -which case the user-specified chemical potential is ignored. The user -may also specify the fugacity coefficient phi using the -{fugacity_coeff} keyword, which defaults to unity. - -The {full_energy} option means that the fix calculates the total -potential energy of the entire simulated system, instead of just -the energy of the part that is changed. The total system -energy before and after the proposed GCMC exchange or MC move -is then used in the -Metropolis criterion to determine whether or not to accept the -proposed change. By default, this option is off, -in which case only -partial energies are computed to determine the energy difference -due to the proposed change. - -The {full_energy} option is needed for systems with complicated -potential energy calculations, including the following: - - long-range electrostatics (kspace) - many-body pair styles - hybrid pair styles - eam pair styles - tail corrections - need to include potential energy contributions from other fixes :ul - -In these cases, LAMMPS will automatically apply the {full_energy} -keyword and issue a warning message. - -When the {mol} keyword is used, the {full_energy} option also includes -the intramolecular energy of inserted and deleted molecules, whereas -this energy is not included when {full_energy} is not used. If this -is not desired, the {intra_energy} keyword can be used to define an -amount of energy that is subtracted from the final energy when a -molecule is inserted, and subtracted from the initial energy when a molecule -is deleted. For molecules that have a non-zero intramolecular energy, -this will ensure roughly the same behavior whether or not the -{full_energy} option is used. - -Inserted atoms and molecules are assigned random velocities based on -the specified temperature T. Because the relative velocity of all -atoms in the molecule is zero, this may result in inserted molecules -that are systematically too cold. In addition, the intramolecular -potential energy of the inserted molecule may cause the kinetic energy -of the molecule to quickly increase or decrease after insertion. The -{tfac_insert} keyword allows the user to counteract these effects by -changing the temperature used to assign velocities to inserted atoms -and molecules by a constant factor. For a particular application, some -experimentation may be required to find a value of {tfac_insert} that -results in inserted molecules that equilibrate quickly to the correct -temperature. - -Some fixes have an associated potential energy. Examples of such fixes -include: "efield"_fix_efield.html, "gravity"_fix_gravity.html, -"addforce"_fix_addforce.html, "langevin"_fix_langevin.html, -"restrain"_fix_restrain.html, -"temp/berendsen"_fix_temp_berendsen.html, -"temp/rescale"_fix_temp_rescale.html, and "wall fixes"_fix_wall.html. -For that energy to be included in the total potential energy of the -system (the quantity used when performing GCMC exchange and MC moves), -you MUST enable -the "fix_modify"_fix_modify.html {energy} option for that fix. The -doc pages for individual "fix"_fix.html commands specify if this -should be done. - -Use the {charge} option to insert atoms with a user-specified point -charge. Note that doing so will cause the system to become -non-neutral. LAMMPS issues a warning when using long-range -electrostatics (kspace) with non-neutral systems. See the "compute -group/group"_compute_group_group.html documentation for more details -about simulating non-neutral systems with kspace on. - -Use of this fix typically will cause the number of atoms to fluctuate, -therefore, you will want to use the -"compute_modify dynamic/dof"_compute_modify.html command to insure that the -current number of atoms is used as a normalizing factor each time -temperature is computed. A simple example of this is: - -compute_modify thermo_temp dynamic yes :pre - -A more complicated example is listed earlier on this page -in the context of NVT dynamics. - -NOTE: If the density of the cell is initially very small or zero, and -increases to a much larger density after a period of equilibration, -then certain quantities that are only calculated once at the start -(kspace parameters) may no longer be accurate. The -solution is to start a new simulation after the equilibrium density -has been reached. - -With some pair_styles, such as "Buckingham"_pair_buck.html, -"Born-Mayer-Huggins"_pair_born.html and "ReaxFF"_pair_reaxc.html, two -atoms placed close to each other may have an arbitrary large, negative -potential energy due to the functional form of the potential. While -these unphysical configurations are inaccessible to typical dynamical -trajectories, they can be generated by Monte Carlo moves. The -{overlap_cutoff} keyword suppresses these moves by effectively -assigning an infinite positive energy to all new configurations that -place any pair of atoms closer than the specified overlap cutoff -distance. - -The {max} and {min} keywords allow for the restriction of the number -of atoms in the simulation. They automatically reject all insertion -or deletion moves that would take the system beyond the set boundaries. -Should the system already be beyond the boundary, only moves that bring -the system closer to the bounds may be accepted. - -The {group} keyword adds all inserted atoms to the -"group"_group.html of the group-ID value. The {grouptype} keyword -adds all inserted atoms of the specified type to the -"group"_group.html of the group-ID value. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the fix to "binary restart -files"_restart.html. This includes information about the random -number generator seed, the next timestep for MC exchanges, the number -of MC step attempts and successes etc. See -the "read_restart"_read_restart.html command for info on how to -re-specify a fix in an input script that reads a restart file, so that -the operation of the fix continues in an uninterrupted fashion. - -NOTE: For this to work correctly, the timestep must [not] be changed -after reading the restart with "reset_timestep"_reset_timestep.html. -The fix will try to detect it and stop with an error. - -None of the "fix_modify"_fix_modify.html options are relevant to this -fix. - -This fix computes a global vector of length 8, which can be accessed -by various "output commands"_Howto_output.html. The vector values are -the following global cumulative quantities: - -1 = translation attempts -2 = translation successes -3 = insertion attempts -4 = insertion successes -5 = deletion attempts -6 = deletion successes -7 = rotation attempts -8 = rotation successes :ul - -The vector values calculated by this fix are "extensive". - -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 fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the "Build package"_Build_package.html -doc page for more info. - -Do not set "neigh_modify once yes" or else this fix will never be -called. Reneighboring is required. - -Can be run in parallel, but aspects of the GCMC part will not scale -well in parallel. Only usable for 3D simulations. - -When using fix gcmc in combination with fix shake or fix rigid, -only GCMC exchange moves are supported, so the argument -{M} must be zero. - -Note that very lengthy simulations involving insertions/deletions of -billions of gas molecules may run out of atom or molecule IDs and -trigger an error, so it is better to run multiple shorter-duration -simulations. Likewise, very large molecules have not been tested and -may turn out to be problematic. - -Use of multiple fix gcmc commands in the same input script can be -problematic if using a template molecule. The issue is that the -user-referenced template molecule in the second fix gcmc command may -no longer exist since it might have been deleted by the first fix gcmc -command. An existing template molecule will need to be referenced by -the user for each subsequent fix gcmc command. - -[Related commands:] - -"fix atom/swap"_fix_atom_swap.html, -"fix nvt"_fix_nh.html, "neighbor"_neighbor.html, -"fix deposit"_fix_deposit.html, "fix evaporate"_fix_evaporate.html, -"delete_atoms"_delete_atoms.html - -[Default:] - -The option defaults are mol = no, maxangle = 10, overlap_cutoff = 0.0, -fugacity_coeff = 1.0, intra_energy = 0.0, tfac_insert = 1.0. -(Patomtrans, Pmoltrans, Pmolrotate) = (1, 0, 0) for mol = no and -(0, 1, 1) for mol = yes. full_energy = no, -except for the situations where full_energy is required, as -listed above. - -:line - -:link(Frenkel) -[(Frenkel)] Frenkel and Smit, Understanding Molecular Simulation, -Academic Press, London, 2002. diff --git a/doc/txt/fix_gld.txt b/doc/txt/fix_gld.txt deleted file mode 100644 index 97c3d0e408e9ea2d4eb675a994cb7c96a579b0e6..0000000000000000000000000000000000000000 --- a/doc/txt/fix_gld.txt +++ /dev/null @@ -1,155 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix gld command :h3 - -[Syntax:] - -fix ID group-ID gld Tstart Tstop N_k seed series c_1 tau_1 ... c_N_k tau_N_k keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -gld = style name of this fix command :l -Tstart,Tstop = desired temperature at start/end of run (temperature units) :l -N_k = number of terms in the Prony series representation of the memory kernel :l -seed = random number seed to use for white noise (positive integer) :l -series = {pprony} is presently the only available option :l -c_k = the weight of the kth term in the Prony series (mass per time units) :l -tau_k = the time constant of the kth term in the Prony series (time units) :l -zero or more keyword/value pairs may be appended :l -keyword = {frozen} or {zero} - {frozen} value = {no} or {yes} - {no} = initialize extended variables using values drawn from equilibrium distribution at Tstart - {yes} = initialize extended variables to zero (i.e., from equilibrium distribution at zero temperature) - {zero} value = {no} or {yes} - {no} = do not set total random force to zero - {yes} = set total random force to zero :pre -:ule - -[Examples:] - -fix 1 all gld 1.0 1.0 2 82885 pprony 0.5 1.0 1.0 2.0 frozen yes zero yes -fix 3 rouse gld 7.355 7.355 4 48823 pprony 107.1 0.02415 186.0 0.04294 428.6 0.09661 1714 0.38643 :pre - -[Description:] - -Applies Generalized Langevin Dynamics to a group of atoms, as -described in "(Baczewski)"_#Baczewski. This is intended to model the -effect of an implicit solvent with a temporally non-local dissipative -force and a colored Gaussian random force, consistent with the -Fluctuation-Dissipation Theorem. The functional form of the memory -kernel associated with the temporally non-local force is constrained -to be a Prony series. - -NOTE: While this fix bears many similarities to "fix -langevin"_fix_langevin.html, it has one significant -difference. Namely, "fix gld"_fix_gld.html performs time integration, -whereas "fix langevin"_fix_langevin.html does NOT. To this end, the -specification of another fix to perform time integration, such as "fix -nve"_fix_nve.html, is NOT necessary. - -With this fix active, the force on the {j}th atom is given as - -:c,image(Eqs/fix_gld1.jpg) - -Here, the first term is representative of all conservative (pairwise, -bonded, etc) forces external to this fix, the second is the temporally -non-local dissipative force given as a Prony series, and the third is -the colored Gaussian random force. - -The Prony series form of the memory kernel is chosen to enable an -extended variable formalism, with a number of exemplary mathematical -features discussed in "(Baczewski)"_#Baczewski. In particular, 3N_k -extended variables are added to each atom, which effect the action of -the memory kernel without having to explicitly evaluate the integral -over time in the second term of the force. This also has the benefit -of requiring the generation of uncorrelated random forces, rather than -correlated random forces as specified in the third term of the force. - -Presently, the Prony series coefficients are limited to being greater -than or equal to zero, and the time constants are limited to being -greater than zero. To this end, the value of series MUST be set to -{pprony}, for now. Future updates will allow for negative coefficients -and other representations of the memory kernel. It is with these -updates in mind that the series option was included. - -The units of the Prony series coefficients are chosen to be mass per -time to ensure that the numerical integration scheme stably approaches -the Newtonian and Langevin limits. Details of these limits, and the -associated numerical concerns are discussed in -"(Baczewski)"_#Baczewski. - -The desired temperature at each timestep is ramped from {Tstart} to -{Tstop} over the course of the next run. - -The random # {seed} must be a positive integer. A Marsaglia random -number generator is used. Each processor uses the input seed to -generate its own unique seed and its own stream of random -numbers. Thus the dynamics of the system will not be identical on two -runs on different numbers of processors. - -:line - -The keyword/value option pairs are used in the following ways. - -The keyword {frozen} can be used to specify how the extended variables -associated with the GLD memory kernel are initialized. Specifying no -(the default), the initial values are drawn at random from an -equilibrium distribution at {Tstart}, consistent with the -Fluctuation-Dissipation Theorem. Specifying yes, initializes the -extended variables to zero. - -The keyword {zero} can be used to eliminate drift due to the -thermostat. Because the random forces on different atoms are -independent, they do not sum exactly to zero. As a result, this fix -applies a small random force to the entire system, and the -center-of-mass of the system undergoes a slow random walk. If the -keyword {zero} is set to {yes}, the total random force is set exactly -to zero by subtracting off an equal part of it from each atom in the -group. As a result, the center-of-mass of a system with zero initial -momentum will not drift over time. - -:line - -[Restart, run start/stop, minimize info:] - -The instantaneous values of the extended variables are written to -"binary restart files"_restart.html. Because the state of the random -number generator is not saved in restart files, this means you cannot -do "exact" restarts with this fix, where the simulation continues on -the same as if no restart had taken place. However, in a statistical -sense, a restarted simulation should produce the same behavior. - -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"_Howto_output.html. - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix langevin"_fix_langevin.html, "fix viscous"_fix_viscous.html, -"pair_style dpd/tstat"_pair_dpd.html - -[Default:] - -The option defaults are frozen = no, zero = no. - -:line - -:link(Baczewski) -[(Baczewski)] A.D. Baczewski and S.D. Bond, J. Chem. Phys. 139, 044107 (2013). diff --git a/doc/txt/fix_gle.txt b/doc/txt/fix_gle.txt deleted file mode 100644 index a8026256b0cbe2c8a30f5fb164b31558059d0cb9..0000000000000000000000000000000000000000 --- a/doc/txt/fix_gle.txt +++ /dev/null @@ -1,156 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix gle command :h3 - -[Syntax:] - -fix ID id-group gle Ns Tstart Tstop seed Amatrix \[noneq Cmatrix\] \[every stride\] :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -gle = style name of this fix command :l -Ns = number of additional fictitious momenta :l -Tstart, Tstop = temperature ramp during the run :l -Amatrix = file to read the drift matrix A from :l -seed = random number seed to use for generating noise (positive integer) :l -zero or more keyword/value pairs may be appended :l - keyword = {noneq} or {every} - {noneq} Cmatrix = file to read the non-equilibrium covariance matrix from - {every} stride = apply the GLE once every time steps. Reduces the accuracy - of the integration of the GLE, but has *no effect* on the accuracy of equilibrium - sampling. It might change sampling properties when used together with {noneq}. :pre -:ule - -[Examples:] - -fix 3 boundary gle 6 300 300 31415 smart.A -fix 1 all gle 6 300 300 31415 qt-300k.A noneq qt-300k.C :pre - -[Description:] - -Apply a Generalized Langevin Equation (GLE) thermostat as described -in "(Ceriotti)"_#Ceriotti. The formalism allows one to obtain a number -of different effects ranging from efficient sampling of all -vibrational modes in the system to inexpensive (approximate) -modelling of nuclear quantum effects. Contrary to -"fix langevin"_fix_langevin.html, this fix performs both -thermostatting and evolution of the Hamiltonian equations of motion, so it -should not be used together with "fix nve"_fix_nve.html -- at least not -on the same atom groups. - -Each degree of freedom in the thermostatted group is supplemented -with Ns additional degrees of freedom s, and the equations of motion -become - -dq/dt=p/m -d(p,s)/dt=(F,0) - A(p,s) + B dW/dt :pre - -where F is the physical force, A is the drift matrix (that generalizes -the friction in Langevin dynamics), B is the diffusion term and dW/dt -un-correlated Gaussian random forces. The A matrix couples the physical -(q,p) dynamics with that of the additional degrees of freedom, -and makes it possible to obtain effectively a history-dependent -noise and friction kernel. - -The drift matrix should be given as an external file {Afile}, -as a (Ns+1 x Ns+1) matrix in inverse time units. Matrices that are -optimal for a given application and the system of choice can be -obtained from "(GLE4MD)"_#GLE4MD. - -Equilibrium sampling a temperature T is obtained by specifying the -target value as the {Tstart} and {Tstop} arguments, so that the diffusion -matrix that gives canonical sampling for a given A is computed automatically. -However, the GLE framework also allow for non-equilibrium sampling, that -can be used for instance to model inexpensively zero-point energy -effects "(Ceriotti2)"_#Ceriotti2. This is achieved specifying the {noneq} -keyword followed by the name of the file that contains the static covariance -matrix for the non-equilibrium dynamics. Please note, that the covariance -matrix is expected to be given in [temperature units]. - -Since integrating GLE dynamics can be costly when used together with -simple potentials, one can use the {every} optional keyword to -apply the Langevin terms only once every several MD steps, in a -multiple time-step fashion. This should be used with care when doing -non-equilibrium sampling, but should have no effect on equilibrium -averages when using canonical sampling. - -The random number {seed} must be a positive integer. A Marsaglia random -number generator is used. Each processor uses the input seed to -generate its own unique seed and its own stream of random numbers. -Thus the dynamics of the system will not be identical on two runs on -different numbers of processors. - -Note also that the Generalized Langevin Dynamics scheme that is -implemented by the "fix gld"_fix_gld.html scheme is closely related -to the present one. In fact, it should be always possible to cast the -Prony series form of the memory kernel used by GLD into an appropriate -input matrix for "fix gle"_fix_gle.html. While the GLE scheme is more -general, the form used by "fix gld"_fix_gld.html can be more directly -related to the representation of an implicit solvent environment. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -The instantaneous values of the extended variables are written to -"binary restart files"_restart.html. Because the state of the random -number generator is not saved in restart files, this means you cannot -do "exact" restarts with this fix, where the simulation continues on -the same as if no restart had taken place. However, in a statistical -sense, a restarted simulation should produce the same behavior. -Note however that you should use a different seed each time you -restart, otherwise the same sequence of random numbers will be used -each time, which might lead to stochastic synchronization and -subtle artifacts in the sampling. - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". - -[Restrictions:] - -The GLE thermostat in its current implementation should not be used -with rigid bodies, SHAKE or RATTLE. It is expected that all the -thermostatted degrees of freedom are fully flexible, and the sampled -ensemble will not be correct otherwise. - -In order to perform constant-pressure simulations please use -"fix press/berendsen"_fix_press_berendsen.html, rather than -"fix npt"_fix_nh.html, to avoid duplicate integration of the -equations of motion. - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix nvt"_fix_nh.html, "fix temp/rescale"_fix_temp_rescale.html, "fix -viscous"_fix_viscous.html, "fix nvt"_fix_nh.html, "pair_style -dpd/tstat"_pair_dpd.html, "fix gld"_fix_gld.html - -:line - -:link(Ceriotti) -[(Ceriotti)] Ceriotti, Bussi and Parrinello, J Chem Theory Comput 6, -1170-80 (2010) - -:link(GLE4MD) -[(GLE4MD)] "http://gle4md.org/"_http://gle4md.org/ - -:link(Ceriotti2) -[(Ceriotti2)] Ceriotti, Bussi and Parrinello, Phys Rev Lett 103, -030603 (2009) diff --git a/doc/txt/fix_gravity.txt b/doc/txt/fix_gravity.txt deleted file mode 100644 index c529a04d34068940256e38bda3948cd796fcbe17..0000000000000000000000000000000000000000 --- a/doc/txt/fix_gravity.txt +++ /dev/null @@ -1,144 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix gravity command :h3 -fix gravity/omp command :h3 -fix gravity/kk command :h3 - -[Syntax:] - -fix ID group gravity magnitude style args :pre - -ID, group are documented in "fix"_fix.html command :ulb,l -gravity = style name of this fix command :l -magnitude = size of acceleration (force/mass units) :l -magnitude can be a variable (see below) :l -style = {chute} or {spherical} or {gradient} or {vector} :l - {chute} args = angle - angle = angle in +x away from -z or -y axis in 3d/2d (in degrees) - angle can be a variable (see below) - {spherical} args = phi theta - phi = azimuthal angle from +x axis (in degrees) - theta = angle from +z or +y axis in 3d/2d (in degrees) - phi or theta can be a variable (see below) - {vector} args = x y z - x y z = vector direction to apply the acceleration - x or y or z can be a variable (see below) :pre -:ule - -[Examples:] - -fix 1 all gravity 1.0 chute 24.0 -fix 1 all gravity v_increase chute 24.0 -fix 1 all gravity 1.0 spherical 0.0 -180.0 -fix 1 all gravity 10.0 spherical v_phi v_theta -fix 1 all gravity 100.0 vector 1 1 0 :pre - -[Description:] - -Impose an additional acceleration on each particle in the group. This -fix is typically used with granular systems to include a "gravity" -term acting on the macroscopic particles. More generally, it can -represent any kind of driving field, e.g. a pressure gradient inducing -a Poiseuille flow in a fluid. Note that this fix operates differently -than the "fix addforce"_fix_addforce.html command. The addforce fix -adds the same force to each atom, independent of its mass. This -command imparts the same acceleration to each atom (force/mass). - -The {magnitude} of the acceleration is specified in force/mass units. -For granular systems (LJ units) this is typically 1.0. See the -"units"_units.html command for details. - -Style {chute} is typically used for simulations of chute flow where -the specified {angle} is the chute angle, with flow occurring in the +x -direction. For 3d systems, the tilt is away from the z axis; for 2d -systems, the tilt is away from the y axis. - -Style {spherical} allows an arbitrary 3d direction to be specified for -the acceleration vector. {Phi} and {theta} are defined in the usual -spherical coordinates. Thus for acceleration acting in the -z -direction, {theta} would be 180.0 (or -180.0). {Theta} = 90.0 and -{phi} = -90.0 would mean acceleration acts in the -y direction. For -2d systems, {phi} is ignored and {theta} is an angle in the xy plane -where {theta} = 0.0 is the y-axis. - -Style {vector} imposes an acceleration in the vector direction given -by (x,y,z). Only the direction of the vector is important; it's -length is ignored. For 2d systems, the {z} component is ignored. - -Any of the quantities {magnitude}, {angle}, {phi}, {theta}, {x}, {y}, -{z} which define the gravitational magnitude and direction, can be -specified as an equal-style "variable"_variable.html. If the value is -a variable, it should be specified as v_name, where name is the -variable name. In this case, the variable will be evaluated each -timestep, and its value used to determine the quantity. You should -insure that the variable calculates a result in the appropriate units, -e.g. force/mass or degrees. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent gravitational -field. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the gravitational potential energy of the system to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. This scalar is the gravitational -potential energy of the particles in the defined field, namely mass * -(g dot x) for each particles, where x and mass are the particles -position and mass, and g is the gravitational field. The scalar value -calculated by this fix is "extensive". - -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:] none - -[Related commands:] - -"atom_style sphere"_atom_style.html, "fix addforce"_fix_addforce.html - -[Default:] none diff --git a/doc/txt/fix_grem.txt b/doc/txt/fix_grem.txt deleted file mode 100644 index edf11b337c86f01b540a30b624eee35367072a08..0000000000000000000000000000000000000000 --- a/doc/txt/fix_grem.txt +++ /dev/null @@ -1,111 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix grem command :h3 - -[Syntax:] - -fix ID group-ID grem lambda eta H0 thermostat-ID :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -grem = style name of this fix command :l -lambda = intercept parameter of linear effective temperature function :l -eta = slope parameter of linear effective temperature function :l -H0 = shift parameter of linear effective temperature function :l -thermostat-ID = ID of Nose-Hoover thermostat or barostat used in simulation :l,ule - -[Examples:] - -fix fxgREM all grem 400 -0.01 -30000 fxnpt -thermo_modify press fxgREM_press :pre - -fix fxgREM all grem 502 -0.15 -80000 fxnvt :pre - -[Description:] - -This fix implements the molecular dynamics version of the generalized -replica exchange method (gREM) originally developed by "(Kim)"_#Kim2010, -which uses non-Boltzmann ensembles to sample over first order phase -transitions. The is done by defining replicas with an enthalpy -dependent effective temperature - -:c,image(Eqs/fix_grem.jpg) - -with {eta} negative and steep enough to only intersect the -characteristic microcanonical temperature (Ts) of the system once, -ensuring a unimodal enthalpy distribution in that replica. {Lambda} is -the intercept and effects the generalized ensemble similar to how -temperature effects a Boltzmann ensemble. {H0} is a reference -enthalpy, and is typically set as the lowest desired sampled enthalpy. -Further explanation can be found in our recent papers -"(Malolepsza)"_#Malolepsza. - -This fix requires a Nose-Hoover thermostat fix reference passed to the -grem as {thermostat-ID}. Two distinct temperatures exist in this -generalized ensemble, the effective temperature defined above, and a -kinetic temperature that controls the velocity distribution of -particles as usual. Either constant volume or constant pressure -algorithms can be used. - -The fix enforces a generalized ensemble in a single replica -only. Typically, this ideology is combined with replica exchange with -replicas differing by {lambda} only for simplicity, but this is not -required. A multi-replica simulation can be run within the LAMMPS -environment using the "temper/grem"_temper_grem.html command. This -utilizes LAMMPS partition mode and requires the number of available -processors be on the order of the number of desired replicas. A -100-replica simulation would require at least 100 processors (1 per -world at minimum). If a many replicas are needed on a small number of -processors, multi-replica runs can be run outside of LAMMPS. An -example of this can be found in examples/USER/misc/grem and has no -limit on the number of replicas per processor. However, this is very -inefficient and error prone and should be avoided if possible. - -In general, defining the generalized ensembles is unique for every -system. When starting a many-replica simulation without any knowledge -of the underlying microcanonical temperature, there are several tricks -we have utilized to optimize the process. Choosing a less-steep {eta} -yields broader distributions, requiring fewer replicas to map the -microcanonical temperature. While this likely struggles from the same -sampling problems gREM was built to avoid, it provides quick insight -to Ts. Initially using an evenly-spaced {lambda} distribution -identifies regions where small changes in enthalpy lead to large -temperature changes. Replicas are easily added where needed. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "thermo_modify"_thermo_modify.html {press} option is supported -by this fix to add the rescaled kinetic pressure as part of -"thermodynamic output"_thermo_style.html. - -[Restrictions:] - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"temper/grem"_temper_grem.html, "fix nvt"_fix_nh.html, "fix -npt"_fix_nh.html, "thermo_modify"_thermo_modify.html - -[Default:] none - -:line - -:link(Kim2010) -[(Kim)] Kim, Keyes, Straub, J Chem. Phys, 132, 224107 (2010). - -:link(Malolepsza) -[(Malolepsza)] Malolepsza, Secor, Keyes, J Phys Chem B 119 (42), -13379-13384 (2015). diff --git a/doc/txt/fix_halt.txt b/doc/txt/fix_halt.txt deleted file mode 100644 index 8e85dc7ea5eba98efe044b95f4f474d4de574cb3..0000000000000000000000000000000000000000 --- a/doc/txt/fix_halt.txt +++ /dev/null @@ -1,147 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix halt command :h3 - -[Syntax:] - -fix ID group-ID halt N attribute operator avalue keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -halt = style name of this fix command :l -N = check halt condition every N steps :l -attribute = {bondmax} or {tlimit} or v_name :l - bondmax = length of longest bond in the system - tlimit = elapsed CPU time - v_name = name of "equal-style variable"_variable.html :pre -operator = "<" or "<=" or ">" or ">=" or "==" or "!=" or "|^" :l -avalue = numeric value to compare attribute to :l -zero or more keyword/value pairs may be appended :l -keyword = {error} or {message} :l - {error} value = {hard} or {soft} or {continue} - {message} value = {yes} or {no} :pre -:ule - -[Examples:] - -fix 10 all halt 1 bondmax > 1.5 -fix 10 all print 10 v_myCheck != 0 error soft :pre - -[Description:] - -Check a condition every N steps during a simulation run. N must be >= -1. If the condition is met, exit the run immediately. In this -context a "run" can be dynamics or minimization iterations, as -specified by the "run"_run.html or "minimize"_minimize.html command. - -The specified group-ID is ignored by this fix. - -The specified {attribute} can be one of the options listed above, -namely {bondmax} or {tlimit}, or an "equal-style -variable"_variable.html referenced as {v_name}, where "name" is the -name of a variable that has been defined previously in the input -script. - -The {bondmax} attribute will loop over all bonds in the system, -compute their current lengths, and set {attribute} to the longest bond -distance. - -The {tlimit} attribute queries the elapsed CPU time (in seconds) since -the current run began, and sets {attribute} to that value. This is an -alternative way to limit the length of a simulation run, similar to -the "timer"_timer.html timeout command. There are two differences in -using this method versus the timer command option. The first is that -the clock starts at the beginning of the current run (not when the -timer or fix command is specified), so that any setup time for the run -is not included in the elapsed time. The second is that the timer -invocation and syncing across all processors (via MPI_Allreduce) is -not performed once every {N} steps by this command. Instead it is -performed (typically) only a small number of times and the elapsed -times are used to predict when the end-of-the-run will be. Both of -these attributes can be useful when performing benchmark calculations -for a desired length of time with 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-negligible. - -Equal-style variables evaluate to a numeric value. See the -"variable"_variable.html command for a description. They calculate -formulas which can involve mathematical operations, atom properties, -group properties, thermodynamic properties, global values calculated -by a "compute"_compute.html or "fix"_fix.html, or references to other -"variables"_variable.html. Thus they are a very general means of -computing some attribute of the current system. For example, the -following "bondmax" variable will calculate the same quantity as the -hstyle = bondmax option. - -compute bdist all bond/local dist -compute bmax all reduce max c_bdist -variable bondmax equal c_bmax :pre - -Thus these two versions of a fix halt command will do the same thing: - -fix 10 all halt 1 bondmax > 1.5 -fix 10 all halt 1 v_bondmax > 1.5 :pre - -The version with "bondmax" will just run somewhat faster, due to less -overhead in computing bond lengths and not storing them in a separate -compute. - -The choice of operators listed above are the usual comparison -operators. The XOR operation (exclusive or) is also included as "|^". -In this context, XOR means that if either the attribute or avalue is -0.0 and the other is non-zero, then the result is "true". Otherwise -it is "false". - -The specified {avalue} must be a numeric value. - -:line - -The optional {error} keyword determines how the current run is halted. -If its value is {hard}, then LAMMPS will stop with an error message. - -If its value is {soft}, LAMMPS will exit the current run, but continue -to execute subsequent commands in the input script. However, -additional "run"_run.html or "minimize"_minimize.html commands will be -skipped. For example, this allows a script to output the current -state of the system, e.g. via a "write_dump"_write_dump.html or -"write_restart"_write_restart.html command. - -If its value is {continue}, the behavior is the same as for {soft}, -except subsequent "run"_run.html or "minimize"_minimize.html commands -are executed. This allows your script to remedy the condition that -triggered the halt, if necessary. Note that you may wish use the -"unfix"_unfix.html command on the fix halt ID, so that the same -condition is not immediately triggered in a subsequent run. - -The optional {message} keyword determines whether a message is printed -to the screen and logfile when the halt condition is triggered. If -{message} is set to yes, a one line message with the values that -triggered the halt is printed. If {message} is set to no, no message -is printed; the run simply exits. The latter may be desirable for -post-processing tools that extract thermodynamic information from log -files. - -[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"_Howto_output.html. -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -[Restrictions:] none - -[Related commands:] - -"variable"_variable.html - -[Default:] - -The option defaults are error = hard and message = yes. diff --git a/doc/txt/fix_heat.txt b/doc/txt/fix_heat.txt deleted file mode 100644 index 640b211f996eac5beb3db8effd17acd91de5c640..0000000000000000000000000000000000000000 --- a/doc/txt/fix_heat.txt +++ /dev/null @@ -1,128 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix heat command :h3 - -[Syntax:] - -fix ID group-ID heat N eflux :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -heat = style name of this fix command :l -N = add/subtract heat every this many timesteps :l -eflux = rate of heat addition or subtraction (energy/time units) :l -eflux can be a variable (see below) :l -zero or more keyword/value pairs may be appended to args :l -keyword = {region} :l - {region} value = region-ID - region-ID = ID of region atoms must be in to have added force :pre -:ule - -[Examples:] - -fix 3 qin heat 1 1.0 -fix 3 qin heat 10 v_flux -fix 4 qout heat 1 -1.0 region top :pre - -[Description:] - -Add non-translational kinetic energy (heat) to a group of atoms in a -manner that conserves their aggregate momentum. Two of these fixes -can be used to establish a temperature gradient across a simulation -domain by adding heat (energy) to one group of atoms (hot reservoir) -and subtracting heat from another (cold reservoir). E.g. a simulation -sampling from the McDLT ensemble. - -If the {region} keyword is used, the atom must be in both the group -and the specified geometric "region"_region.html in order to have -energy added or subtracted to it. If not specified, then the atoms in -the group are affected wherever they may move to. - -Heat addition/subtraction is performed every N timesteps. The {eflux} -parameter can be specified as a numeric constant or as a variable (see -below). If it is a numeric constant or equal-style variable which -evaluates to a scalar value, then the {eflux} determines the change in -aggregate energy of the entire group of atoms per unit time, e.g. in -eV/psec for "metal units"_units.html. In this case it is an -"extensive" quantity, meaning its magnitude should be scaled with the -number of atoms in the group. Note that since {eflux} has per-time -units (i.e. it is a flux), this means that a larger value of N will -add/subtract a larger amount of energy each time the fix is invoked. - -NOTE: The heat-exchange (HEX) algorithm implemented by this fix is -known to exhibit a pronounced energy drift. An improved algorithm -(eHEX) is available as a "fix ehex"_fix_ehex.html command and might be -preferable if energy conservation is important. - -If {eflux} is specified as an atom-style variable (see below), then -the variable computes one value per atom. In this case, each value is -the energy flux for a single atom, again in units of energy per unit -time. In this case, each value is an "intensive" quantity, which need -not be scaled with the number of atoms in the group. - -As mentioned above, the {eflux} parameter can be specified as an -equal-style or atom_style "variable"_variable.html. If the value is a -variable, it should be specified as v_name, where name is the variable -name. In this case, the variable will be evaluated each timestep, and -its value(s) used to determine the flux. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent flux. - -Atom-style variables can specify the same formulas as equal-style -variables but can also include per-atom values, such as atom -coordinates. Thus it is easy to specify a spatially-dependent flux -with optional time-dependence as well. - -NOTE: If heat is subtracted from the system too aggressively so that -the group's kinetic energy would go to zero, or any individual atom's -kinetic energy would go to zero for the case where {eflux} is an -atom-style variable, then LAMMPS will halt with an error message. - -Fix heat is different from a thermostat such as "fix nvt"_fix_nh.html -or "fix temp/rescale"_fix_temp_rescale.html in that energy is -added/subtracted continually. Thus if there isn't another mechanism -in place to counterbalance this effect, the entire system will heat or -cool continuously. You can use multiple heat fixes so that the net -energy change is 0.0 or use "fix viscous"_fix_viscous.html to drain -energy from the system. - -This fix does not change the coordinates of its atoms; it only scales -their velocities. Thus you must still use an integration fix -(e.g. "fix nve"_fix_nve.html) on the affected atoms. This fix should -not normally be used on atoms that have their temperature controlled -by another fix - e.g. "fix nvt"_fix_nh.html or "fix -langevin"_fix_langevin.html fix. - -[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. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. This scalar is the most recent -value by which velocities were scaled. The scalar value calculated by -this fix is "intensive". If {eflux} is specified as an atom-style -variable, this fix computes the average value by which the velocities -were scaled for all of the atoms that had their velocities scaled. - -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:] none - -[Related commands:] - -"fix ehex"_fix_ehex.html, "compute temp"_compute_temp.html, "compute -temp/region"_compute_temp_region.html - -[Default:] none diff --git a/doc/txt/fix_hyper_global.txt b/doc/txt/fix_hyper_global.txt deleted file mode 100644 index bfe8203b500e6b1ad36546aa8d96c47d9e004cc9..0000000000000000000000000000000000000000 --- a/doc/txt/fix_hyper_global.txt +++ /dev/null @@ -1,263 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -fix hyper/global command :h3 - -[Syntax:] - -fix ID group-ID hyper/global cutbond qfactor Vmax Tequil :pre - -ID, group-ID are documented in "fix"_fix.html command -hyper/global = style name of this fix command -cutbond = max distance at which a pair of atoms is considered bonded (distance units) -qfactor = max strain at which bias potential goes to 0.0 (unitless) -Vmax = height of bias potential (energy units) -Tequil = equilibration temperature (temperature units) :ul - -[Examples:] - -fix 1 all hyper/global 1.0 0.3 0.8 300.0 :pre - -[Description:] - -This fix is meant to be used with the "hyper"_hyper.html command to -perform a bond-boost global hyperdynamics (GHD) simulation. The role -of this fix is to a select a single pair of atoms in the system at -each timestep to add a global bias potential to, which will alter the -dynamics of the system in a manner that effectively accelerates time. -This is in contrast to the "fix hyper/local"_fix_hyper_local.html -command, which can be user to perform a local hyperdynamics (LHD) -simulation, by adding a local bias potential to multiple pairs of -atoms at each timestep. GHD can time accelerate a small simulation -with up to a few 100 atoms. For larger systems, LHD is needed to -achieve good time acceleration. - -For a system that undergoes rare transition events, where one or more -atoms move over an energy barrier to a new potential energy basin, the -effect of the bias potential is to induce more rapid transitions. -This can lead to a dramatic speed-up in the rate at which events -occurs, without altering their relative frequencies, thus leading to -an overall increase in the elapsed real time of the simulation as -compared to running for the same number of timesteps with normal MD. -See the "hyper"_hyper.html doc page for a more general discussion of -hyperdynamics and citations that explain both GHD and LHD. - -The equations and logic used by this fix and described here to perform -GHD follow the description given in "(Voter2013)"_#Voter2013ghd. The -bond-boost form of a bias potential for HD is due to Miron and -Fichthorn as described in "(Miron)"_#Mironghd. In LAMMPS we use a -simplified version of bond-boost GHD where a single bond in the system -is biased at any one timestep. - -Bonds are defined between each pair of I,J atoms whose R0ij distance -is less than {cutbond}, when the system is in a quenched state -(minimum) energy. Note that these are not "bonds" in a covalent -sense. A bond is simply any pair of atoms that meet the distance -criterion. {Cutbond} is an argument to this fix; it is discussed -below. A bond is only formed if one or both of the I.J atoms are in -the specified group. - -The current strain of bond IJ (when running dynamics) is defined as - -Eij = (Rij - R0ij) / R0ij :pre - -where Rij is the current distance between atoms I,J, and R0ij is the -equilibrium distance in the quenched state. - -The bias energy Vij of any bond IJ is defined as - -Vij = Vmax * (1 - (Eij/q)^2) for abs(Eij) < qfactor - = 0 otherwise :pre - -where the prefactor {Vmax} and the cutoff {qfactor} are arguments to -this fix; they are discussed below. This functional form is an -inverse parabola centered at 0.0 with height Vmax and which goes to -0.0 at +/- qfactor. - -Let Emax = the maximum of abs(Eij) for all IJ bonds in the system on a -given timestep. On that step, Vij is added as a bias potential to -only the single bond with strain Emax, call it Vij(max). Note that -Vij(max) will be 0.0 if Emax >= qfactor on that timestep. Also note -that Vij(max) is added to the normal interatomic potential that is -computed between all atoms in the system at every step. - -The derivative of Vij(max) with respect to the position of each atom -in the Emax bond gives a bias force Fij(max) acting on the bond as - -Fij(max) = - dVij(max)/dEij = 2 Vmax Eij / qfactor^2 for abs(Eij) < qfactor - = 0 otherwise :pre - -which can be decomposed into an equal and opposite force acting on -only the two I,J atoms in the Emax bond. - -The time boost factor for the system is given each timestep I by - -Bi = exp(beta * Vij(max)) :pre - -where beta = 1/kTequil, and {Tequil} is the temperature of the system -and an argument to this fix. Note that Bi >= 1 at every step. - -NOTE: To run a GHD simulation, the input script must also use the "fix -langevin"_fix_langevin.html command to thermostat the atoms at the -same {Tequil} as specified by this fix, so that the system is running -constant-temperature (NVT) dynamics. LAMMPS does not check that this -is done. - -The elapsed time t_hyper for a GHD simulation running for {N} -timesteps is simply - -t_hyper = Sum (i = 1 to N) Bi * dt :pre - -where dt is the timestep size defined by the "timestep"_timestep.html -command. The effective time acceleration due to GHD is thus t_hyper / -N*dt, where N*dt is elapsed time for a normal MD run of N timesteps. - -Note that in GHD, the boost factor varies from timestep to timestep. -Likewise, which bond has Emax strain and thus which pair of atoms the -bias potential is added to, will also vary from timestep to timestep. -This is in contrast to local hyperdynamics (LHD) where the boost -factor is an input parameter; see the "fix -hyper/local"_fix_hyper_local.html doc page for details. - -:line - -Here is additional information on the input parameters for GHD. - -The {cutbond} argument is the cutoff distance for defining bonds -between pairs of nearby atoms. A pair of I,J atoms in their -equilibrium, minimum-energy configuration, which are separated by a -distance Rij < {cutbond}, are flagged as a bonded pair. Setting -{cubond} to be ~25% larger than the nearest-neighbor distance in a -crystalline lattice is a typical choice for solids, so that bonds -exist only between nearest neighbor pairs. - -The {qfactor} argument is the limiting strain at which the bias -potential goes to 0.0. It is dimensionless, so a value of 0.3 means a -bond distance can be up to 30% larger or 30% smaller than the -equilibrium (quenched) R0ij distance and the two atoms in the bond -could still experience a non-zero bias force. - -If {qfactor} is set too large, then transitions from one energy basin -to another are affected because the bias potential is non-zero at the -transition state (e.g. saddle point). If {qfactor} is set too small -than little boost is achieved because the Eij strain of some bond in -the system will (nearly) always exceed {qfactor}. A value of 0.3 for -{qfactor} is typically reasonable. - -The {Vmax} argument is the prefactor on the bias potential. Ideally, -tt should be set to a value slightly less than the smallest barrier -height for an event to occur. Otherwise the applied bias potential -may be large enough (when added to the interatomic potential) to -produce a local energy basin with a maxima in the center. This can -produce artificial energy minima in the same basin that trap an atom. -Or if {Vmax} is even larger, it may induce an atom(s) to rapidly -transition to another energy basin. Both cases are "bad dynamics" -which violate the assumptions of GHD that guarantee an accelerated -time-accurate trajectory of the system. - -Note that if {Vmax} is set too small, the GHD simulation will run -correctly. There will just be fewer events because the hyper time -(t_hyper equation above) will be shorter. - -NOTE: If you have no physical intuition as to the smallest barrier -height in your system, a reasonable strategy to determine the largest -{Vmax} you can use for a GHD model, is to run a sequence of -simulations with smaller and smaller {Vmax} values, until the event -rate does not change (as a function of hyper time). - -The {Tequil} argument is the temperature at which the system is -simulated; see the comment above about the "fix -langevin"_fix_langevin.html thermostatting. It is also part of the -beta term in the exponential factor that determines how much boost is -achieved as a function of the bias potential. - -In general, the lower the value of {Tequil} and the higher the value -of {Vmax}, the more time boost will be achievable by the GHD -algorithm. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy of the bias potential to the system's -potential energy as part of "thermodynamic output"_thermo_style.html. - -This fix computes a global scalar and global vector of length 12, which -can be accessed by various "output commands"_Howto_output.html. The -scalar is the magnitude of the bias potential (energy units) applied on -the current timestep. The vector stores the following quantities: - -1 = boost factor on this step (unitless) -2 = max strain Eij of any bond on this step (absolute value, unitless) -3 = ID of first atom in the max-strain bond -4 = ID of second atom in the max-strain bond -5 = average # of bonds/atom on this step :ul - -6 = fraction of timesteps where the biased bond has bias = 0.0 during this run -7 = fraction of timesteps where the biased bond has negative strain during this run -8 = max drift distance of any atom during this run (distance units) -9 = max bond length during this run (distance units) :ul - -10 = cumulative hyper time since fix was defined (time units) -11 = cumulative count of event timesteps since fix was defined -12 = cumulative count of atoms in events since fix was defined :ul - -The first 5 quantities are for the current timestep. Quantities 6-9 -are for the current hyper run. They are reset each time a new hyper -run is performed. Quantities 19-12 are cumulative across multiple -runs (since the point in the input script the fix was defined). - -For value 8, drift is the distance an atom moves between two quenched -states when the second quench determines an event has occurred. Atoms -involved in an event will typically move the greatest distance since -others typically remain near their original quenched position. - -For value 11, events are checked for by the "hyper"_hyper.html command -once every {Nevent} timesteps. This value is the count of those -timesteps on which one (or more) events was detected. It is NOT the -number of distinct events, since more than one event may occur in the -same {Nevent} time window. - -For value 12, each time the "hyper"_hyper.html command checks for an -event, it invokes a compute to flag zero or more atoms as -participating in one or more events. E.g. atoms that have displaced -more than some distance from the previous quench state. Value 11 is -the cumulative count of the number of atoms participating in any of -the events that were found. - -The scalar and vector values calculated by this fix are all -"intensive". - -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 command can only be used if LAMMPS was built with the REPLICA -package. See the "Build package"_Build_package.html doc page for more -info. - -[Related commands:] - -"hyper"_hyper.html, "fix hyper/local"_fix_hyper_local.html - -[Default:] None - -:line - -:link(Voter2013ghd) -[(Voter2013)] S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139, -144110 (2013). - -:link(Mironghd) -[(Miron)] R. A. Miron and K. A. Fichthorn, J Chem Phys, 119, 6210 (2003). diff --git a/doc/txt/fix_imd.txt b/doc/txt/fix_imd.txt deleted file mode 100644 index 3e7792d51a4202566f493617f02d200736d88eb2..0000000000000000000000000000000000000000 --- a/doc/txt/fix_imd.txt +++ /dev/null @@ -1,160 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix imd command :h3 - -[Syntax:] - -fix ID group-ID imd trate port keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -imd = style name of this fix command :l -port = port number on which the fix listens for an IMD client :l -keyword = {unwrap} or {fscale} or {trate} :l - {unwrap} arg = {on} or {off} - off = coordinates are wrapped back into the principal unit cell (default) - on = "unwrapped" coordinates using the image flags used - {fscale} arg = factor - factor = floating point number to scale IMD forces (default: 1.0) - {trate} arg = transmission rate of coordinate data sets (default: 1) - {nowait} arg = {on} or {off} - off = LAMMPS waits to be connected to an IMD client before continuing (default) - on = LAMMPS listens for an IMD client, but continues with the run :pre -:ule - -[Examples:] - -fix vmd all imd 5678 -fix comm all imd 8888 trate 5 unwrap on fscale 10.0 :pre - -[Description:] - -This fix implements the "Interactive MD" (IMD) protocol which allows -realtime visualization and manipulation of MD simulations through the -IMD protocol, as initially implemented in VMD and NAMD. Specifically -it allows LAMMPS to connect an IMD client, for example the "VMD -visualization program"_VMD, so that it can monitor the progress of the -simulation and interactively apply forces to selected atoms. - -If LAMMPS is compiled with the pre-processor flag -DLAMMPS_ASYNC_IMD -then fix imd will use POSIX threads to spawn a IMD communication -thread on MPI rank 0 in order to offload data reading and writing -from the main execution thread and potentially lower the inferred -latencies for slow communication links. This feature has only been -tested under linux. - -There are example scripts for using this package with LAMMPS in -examples/USER/imd. Additional examples and a driver for use with the -Novint Falcon game controller as haptic device can be found at: -http://sites.google.com/site/akohlmey/software/vrpn-icms. - -The source code for this fix includes code developed by the -Theoretical and Computational Biophysics Group in the Beckman -Institute for Advanced Science and Technology at the University of -Illinois at Urbana-Champaign. We thank them for providing a software -interface that allows codes like LAMMPS to hook to "VMD"_VMD. - -Upon initialization of the fix, it will open a communication port on -the node with MPI task 0 and wait for an incoming connection. As soon -as an IMD client is connected, the simulation will continue and the -fix will send the current coordinates of the fix's group to the IMD -client at every trate MD step. When using r-RESPA, trate applies to -the steps of the outmost RESPA level. During a run with an active IMD -connection also the IMD client can request to apply forces to selected -atoms of the fix group. - -The port number selected must be an available network port number. On -many machines, port numbers < 1024 are reserved for accounts with -system manager privilege and specific applications. If multiple imd -fixes would be active at the same time, each needs to use a different -port number. - -The {nowait} keyword controls the behavior of the fix when no IMD -client is connected. With the default setting of {off}, LAMMPS will -wait until a connection is made before continuing with the -execution. Setting {nowait} to {on} will have the LAMMPS code be ready -to connect to a client, but continue with the simulation. This can for -example be used to monitor the progress of an ongoing calculation -without the need to be permanently connected or having to download a -trajectory file. - -The {trate} keyword allows to select how often the coordinate data is -sent to the IMD client. It can also be changed on request of the IMD -client through an IMD protocol message. The {unwrap} keyword allows -to send "unwrapped" coordinates to the IMD client that undo the -wrapping back of coordinates into the principle unit cell, as done by -default in LAMMPS. The {fscale} keyword allows to apply a scaling -factor to forces transmitted by the IMD client. The IMD protocols -stipulates that forces are transferred in kcal/mol/angstrom under the -assumption that coordinates are given in angstrom. For LAMMPS runs -with different units or as a measure to tweak the forces generated by -the manipulation of the IMD client, this option allows to make -adjustments. - -To connect VMD to a listening LAMMPS simulation on the same machine -with fix imd enabled, one needs to start VMD and load a coordinate or -topology file that matches the fix group. When the VMD command -prompts appears, one types the command line: - -imd connect localhost 5678 :pre - -This assumes that {fix imd} was started with 5678 as a port -number for the IMD protocol. - -The steps to do interactive manipulation of a running simulation in -VMD are the following: - -In the Mouse menu of the VMD Main window, select "Mouse -> Force -> -Atom". You may alternately select "Residue", or "Fragment" to apply -forces to whole residues or fragments. Your mouse can now be used to -apply forces to your simulation. Click on an atom, residue, or -fragment and drag to apply a force. Click quickly without moving the -mouse to turn the force off. You can also use a variety of 3D position -trackers to apply forces to your simulation. Game controllers or haptic -devices with force-feedback such as the Novint Falcon or Sensable -PHANTOM allow you to feel the resistance due to inertia or interactions -with neighbors that the atoms experience you are trying to move, as if -they were real objects. See the "VMD IMD Homepage"_imdvmd and the -"VRPN-ICMS Homepage"_vrpnicms for more details. - -If IMD control messages are received, a line of text describing the -message and its effect will be printed to the LAMMPS output screen, if -screen output is active. - -:link(VMD,http://www.ks.uiuc.edu/Research/vmd) -:link(imdvmd,http://www.ks.uiuc.edu/Research/vmd/imd/) -:link(vrpnicms,http://sites.google.com/site/akohlmey/software/vrpn-icms) - -[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 scalar or vector or per-atom -quantities are stored by this fix for access by various "output -commands"_Howto_output.html. 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 fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -When used in combination with VMD, a topology or coordinate file has -to be loaded, which matches (in number and ordering of atoms) the -group the fix is applied to. The fix internally sorts atom IDs by -ascending integer value; in VMD (and thus the IMD protocol) those will -be assigned 0-based consecutive index numbers. - -When using multiple active IMD connections at the same time, each -needs to use a different port number. - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/fix_indent.txt b/doc/txt/fix_indent.txt deleted file mode 100644 index ca93c78c799cf2375e8c9d48a09483ad6e76b3c3..0000000000000000000000000000000000000000 --- a/doc/txt/fix_indent.txt +++ /dev/null @@ -1,205 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix indent command :h3 - -[Syntax:] - -fix ID group-ID indent K keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -indent = style name of this fix command :l -K = force constant for indenter surface (force/distance^2 units) :l -one or more keyword/value pairs may be appended :l -keyword = {sphere} or {cylinder} or {plane} or {side} or {units} :l - {sphere} args = x y z R - x,y,z = initial position of center of indenter (distance units) - R = sphere radius of indenter (distance units) - any of x,y,z,R can be a variable (see below) - {cylinder} args = dim c1 c2 R - dim = {x} or {y} or {z} = axis of cylinder - c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) - R = cylinder radius of indenter (distance units) - any of c1,c2,R can be a variable (see below) - {plane} args = dim pos side - dim = {x} or {y} or {z} = plane perpendicular to this dimension - pos = position of plane in dimension x, y, or z (distance units) - pos can be a variable (see below) - side = {lo} or {hi} - {side} value = {in} or {out} - {in} = the indenter acts on particles inside the sphere or cylinder - {out} = the indenter acts on particles outside the sphere or cylinder - {units} value = {lattice} or {box} - lattice = the geometry is defined in lattice units - box = the geometry is defined in simulation box units :pre -:ule - -[Examples:] - -fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0 -fix 1 all indent 10.0 sphere v_x v_y 0.0 v_radius side in -fix 2 flow indent 10.0 cylinder z 0.0 0.0 10.0 units box :pre - -[Description:] - -Insert an indenter within a simulation box. The indenter repels all -atoms in the group that touch it, so it can be used to push into a -material or as an obstacle in a flow. Or it can be used as a -constraining wall around a simulation; see the discussion of the -{side} keyword below. - -The indenter can either be spherical or cylindrical or planar. You -must set one of those 3 keywords. - -A spherical indenter exerts a force of magnitude - -F(r) = - K (r - R)^2 :pre - -on each atom where {K} is the specified force constant, {r} is the -distance from the atom to the center of the indenter, and {R} is the -radius of the indenter. The force is repulsive and F(r) = 0 for {r} > -{R}. - -A cylindrical indenter exerts the same force, except that {r} is the -distance from the atom to the center axis of the cylinder. The -cylinder extends infinitely along its axis. - -Spherical and cylindrical indenters account for periodic boundaries in -two ways. First, the center point of a spherical indenter (x,y,z) or -axis of a cylindrical indenter (c1,c2) is remapped back into the -simulation box, if the box is periodic in a particular dimension. -This occurs every timestep if the indenter geometry is specified with -a variable (see below), e.g. it is moving over time. Second, the -calculation of distance to the indenter center or axis accounts for -periodic boundaries. Both of these mean that an indenter can -effectively move through and straddle one or more periodic boundaries. - -A planar indenter is really an axis-aligned infinite-extent wall -exerting the same force on atoms in the system, where {R} is the -position of the plane and {r-R} is the distance from the plane. If -the {side} parameter of the plane is specified as {lo} then it will -indent from the lo end of the simulation box, meaning that atoms with -a coordinate less than the plane's current position will be pushed -towards the hi end of the box and atoms with a coordinate higher than -the plane's current position will feel no force. Vice versa if {side} -is specified as {hi}. - -Any of the 4 quantities defining a spherical indenter's geometry can -be specified as an equal-style "variable"_variable.html, namely {x}, -{y}, {z}, or {R}. Similarly, for a cylindrical indenter, any of {c1}, -{c2}, or {R}, can be a variable. For a planar indenter, {pos} can be -a variable. If the value is a variable, it should be specified as -v_name, where name is the variable name. In this case, the variable -will be evaluated each timestep, and its value used to define the -indenter geometry. - -Note that equal-style variables can specify formulas with various -mathematical functions, and include "thermo_style"_thermo_style.html -command keywords for the simulation box parameters and timestep and -elapsed time. Thus it is easy to specify indenter properties that -change as a function of time or span consecutive runs in a continuous -fashion. For the latter, see the {start} and {stop} keywords of the -"run"_run.html command and the {elaplong} keyword of "thermo_style -custom"_thermo_style.html for details. - -For example, if a spherical indenter's x-position is specified as v_x, -then this variable definition will keep it's center at a relative -position in the simulation box, 1/4 of the way from the left edge to -the right edge, even if the box size changes: - -variable x equal "xlo + 0.25*lx" :pre - -Similarly, either of these variable definitions will move the indenter -from an initial position at 2.5 at a constant velocity of 5: - -variable x equal "2.5 + 5*elaplong*dt" -variable x equal vdisplace(2.5,5) :pre - -If a spherical indenter's radius is specified as v_r, then these -variable definitions will grow the size of the indenter at a specified -rate. - -variable r0 equal 0.0 -variable rate equal 1.0 -variable r equal "v_r0 + step*dt*v_rate" :pre - -If the {side} keyword is specified as {out}, which is the default, -then particles outside the indenter are pushed away from its outer -surface, as described above. This only applies to spherical or -cylindrical indenters. If the {side} keyword is specified as {in}, -the action of the indenter is reversed. Particles inside the indenter -are pushed away from its inner surface. In other words, the indenter -is now a containing wall that traps the particles inside it. If the -radius shrinks over time, it will squeeze the particles. - -The {units} keyword determines the meaning of the distance units used -to define the indenter geometry. A {box} value selects standard -distance units as defined by the "units"_units.html command, -e.g. Angstroms for units = real or metal. A {lattice} value means the -distance units are in lattice spacings. The "lattice"_lattice.html -command must have been previously used to define the lattice spacing. -The (x,y,z) coords of the indenter position are scaled by the x,y,z -lattice spacings respectively. The radius of a spherical or -cylindrical indenter is scaled by the x lattice spacing. - -Note that the units keyword only affects indenter geometry parameters -specified directly with numbers, not those specified as variables. In -the latter case, you should use the {xlat}, {ylat}, {zlat} keywords of -the "thermo_style"_thermo_style.html command if you want to include -lattice spacings in a variable formula. - -The force constant {K} is not affected by the {units} keyword. It is -always in force/distance^2 units where force and distance are defined -by the "units"_units.html command. If you wish K to be scaled by the -lattice spacing, you can define K with a variable whose formula -contains {xlat}, {ylat}, {zlat} keywords of the -"thermo_style"_thermo_style.html command, e.g. - -variable k equal 100.0/xlat/xlat -fix 1 all indent $k sphere ... :pre - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy of interaction between atoms and the indenter to -the system's potential energy as part of "thermodynamic -output"_thermo_style.html. The energy of each particle interacting -with the indenter is K/3 (r - R)^3. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a global scalar energy and a global 3-vector of -forces (on the indenter), which can be accessed by various "output -commands"_Howto_output.html. The scalar and vector values calculated -by this fix are "extensive". - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. Note that if you -define the indenter geometry with a variable using a time-dependent -formula, LAMMPS uses the iteration count in the minimizer as the -timestep. But it is almost certainly a bad idea to have the indenter -change its position or size during a minimization. LAMMPS does not -check if you have done this. - -NOTE: If you want the atom/indenter interaction energy to be included -in the total potential energy of the system (the quantity being -minimized), you must enable the "fix_modify"_fix_modify.html {energy} -option for this fix. - -[Restrictions:] none - -[Related commands:] none - -[Default:] - -The option defaults are side = out and units = lattice. diff --git a/doc/txt/fix_ipi.txt b/doc/txt/fix_ipi.txt deleted file mode 100644 index 64486a9cc7922efb7a689c09aaba3b98d652671a..0000000000000000000000000000000000000000 --- a/doc/txt/fix_ipi.txt +++ /dev/null @@ -1,101 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix ipi command :h3 - -[Syntax:] - -fix ID group-ID ipi address port \[unix\] \[reset\] :pre - -ID, group-ID are documented in "fix"_fix.html command -ipi = style name of this fix command -address = internet address (FQDN or IP), or UNIX socket name -port = port number (ignored for UNIX sockets) -optional keyword = {unix}, if present uses a unix socket -optional keyword = {reset}, if present reset electrostatics at each call :ul - -[Examples:] - -fix 1 all ipi my.server.com 12345 -fix 1 all ipi mysocket 666 unix reset - -[Description:] - -This fix enables LAMMPS to be run as a client for the i-PI Python -wrapper "(IPI)"_#ipihome for performing a path integral molecular dynamics -(PIMD) simulation. The philosophy behind i-PI is described in the -following publication "(IPI-CPC)"_#IPICPC. - -A version of the i-PI package, containing only files needed for use -with LAMMPS, is provided in the tools/i-pi directory. See the -tools/i-pi/manual.pdf for an introduction to i-PI. The -examples/USER/i-pi directory contains example scripts for using i-PI -with LAMMPS. - -In brief, the path integral molecular dynamics is performed by the -Python wrapper, while the client (LAMMPS in this case) simply computes -forces and energy for each configuration. The communication between -the two components takes place using sockets, and is reduced to the -bare minimum. All the parameters of the dynamics are specified in the -input of i-PI, and all the parameters of the force field must be -specified as LAMMPS inputs, preceding the {fix ipi} command. - -The server address must be specified by the {address} argument, and -can be either the IP address, the fully-qualified name of the server, -or the name of a UNIX socket for local, faster communication. In the -case of internet sockets, the {port} argument specifies the port -number on which i-PI is listening, while the {unix} optional switch -specifies that the socket is a UNIX socket. - -Note that there is no check of data integrity, or that the atomic -configurations make sense. It is assumed that the species in the i-PI -input are listed in the same order as in the data file of LAMMPS. The -initial configuration is ignored, as it will be substituted with the -coordinates received from i-PI before forces are ever evaluated. - -A note of caution when using potentials that contain long-range -electrostatics, or that contain parameters that depend on box size: -all of these options will be initialized based on the cell size in the -LAMMPS-side initial configuration and kept constant during the run. -This is required to e.g. obtain reproducible and conserved forces. -If the cell varies too wildly, it may be advisable to re-initialize -these interactions at each call. This behavior can be requested by -setting the {reset} switch. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -There is no restart information associated with this fix, since all -the dynamical parameters are dealt with by i-PI. - -[Restrictions:] - -Using this fix on anything other than all atoms requires particular -care, since i-PI will know nothing on atoms that are not those whose -coordinates are transferred. However, one could use this strategy to -define an external potential acting on the atoms that are moved by -i-PI. - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. Because of the -use of UNIX domain sockets, this fix will only work in a UNIX -environment. - -[Related commands:] - -"fix nve"_fix_nve.html - -:line - -:link(IPICPC) -[(IPI-CPC)] Ceriotti, More and Manolopoulos, Comp Phys Comm, 185, -1019-1026 (2014). - -:link(ipihome) -[(IPI)] -"http://epfl-cosmo.github.io/gle4md/index.html?page=ipi"_http://epfl-cosmo.github.io/gle4md/index.html?page=ipi diff --git a/doc/txt/fix_langevin.txt b/doc/txt/fix_langevin.txt deleted file mode 100644 index 49ecf96ff61f60508a29e269dc8b0b28ce074258..0000000000000000000000000000000000000000 --- a/doc/txt/fix_langevin.txt +++ /dev/null @@ -1,347 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix langevin command :h3 -fix langevin/kk command :h3 - -[Syntax:] - -fix ID group-ID langevin Tstart Tstop damp seed keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -langevin = style name of this fix command :l -Tstart,Tstop = desired temperature at start/end of run (temperature units) :l -Tstart can be a variable (see below) :l -damp = damping parameter (time units) :l -seed = random number seed to use for white noise (positive integer) :l -zero or more keyword/value pairs may be appended :l -keyword = {angmom} or {omega} or {scale} or {tally} or {zero} :l - {angmom} value = {no} or factor - {no} = do not thermostat rotational degrees of freedom via the angular momentum - factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric scale factor as discussed below - {gjf} value = {no} or {vfull} or {vhalf} - {no} = use standard formulation - {vfull} = use Gronbech-Jensen/Farago formulation - {vhalf} = use 2GJ formulation - {omega} value = {no} or {yes} - {no} = do not thermostat rotational degrees of freedom via the angular velocity - {yes} = do thermostat rotational degrees of freedom via the angular velocity - {scale} values = type ratio - type = atom type (1-N) - ratio = factor by which to scale the damping coefficient - {tally} value = {no} or {yes} - {no} = do not tally the energy added/subtracted to atoms - {yes} = do tally the energy added/subtracted to atoms - {zero} value = {no} or {yes} - {no} = do not set total random force to zero - {yes} = set total random force to zero :pre -:ule - -[Examples:] - -fix 3 boundary langevin 1.0 1.0 1000.0 699483 -fix 1 all langevin 1.0 1.1 100.0 48279 scale 3 1.5 -fix 1 all langevin 1.0 1.1 100.0 48279 angmom 3.333 :pre - -[Description:] - -Apply a Langevin thermostat as described in "(Schneider)"_#Schneider1 -to a group of atoms which models an interaction with a background -implicit solvent. Used with "fix nve"_fix_nve.html, this command -performs Brownian dynamics (BD), since the total force on each atom -will have the form: - -F = Fc + Ff + Fr -Ff = - (m / damp) v -Fr is proportional to sqrt(Kb T m / (dt damp)) :pre - -Fc is the conservative force computed via the usual inter-particle -interactions ("pair_style"_pair_style.html, -"bond_style"_bond_style.html, etc). - -The Ff and Fr terms are added by this fix on a per-particle basis. -See the "pair_style dpd/tstat"_pair_dpd.html command for a -thermostatting option that adds similar terms on a pairwise basis to -pairs of interacting particles. - -Ff is a frictional drag or viscous damping term proportional to the -particle's velocity. The proportionality constant for each atom is -computed as m/damp, where m is the mass of the particle and damp is -the damping factor specified by the user. - -Fr is a force due to solvent atoms at a temperature T randomly bumping -into the particle. As derived from the fluctuation/dissipation -theorem, its magnitude as shown above is proportional to sqrt(Kb T m / -dt damp), where Kb is the Boltzmann constant, T is the desired -temperature, m is the mass of the particle, dt is the timestep size, -and damp is the damping factor. Random numbers are used to randomize -the direction and magnitude of this force as described in -"(Dunweg)"_#Dunweg1, where a uniform random number is used (instead of -a Gaussian random number) for speed. - -Note that unless you use the {omega} or {angmom} keywords, the -thermostat effect of this fix is applied to only the translational -degrees of freedom for the particles, which is an important -consideration for finite-size particles, which have rotational degrees -of freedom, are being thermostatted. The translational degrees of -freedom can also have a bias velocity removed from them before -thermostatting takes place; see the description below. - -NOTE: Unlike the "fix nvt"_fix_nh.html command which performs -Nose/Hoover thermostatting AND time integration, this fix does NOT -perform time integration. It only modifies forces to effect -thermostatting. Thus you must use a separate time integration fix, -like "fix nve"_fix_nve.html to actually update the velocities and -positions of atoms using the modified forces. Likewise, this fix -should not normally be used on atoms that also have their temperature -controlled by another fix - e.g. by "fix nvt"_fix_nh.html or "fix -temp/rescale"_fix_temp_rescale.html commands. - -See the "Howto thermostat"_Howto_thermostat.html doc page for -a discussion of different ways to compute temperature and perform -thermostatting. - -The desired temperature at each timestep is a ramped value during the -run from {Tstart} to {Tstop}. - -{Tstart} can be specified as an equal-style or atom-style -"variable"_variable.html. In this case, the {Tstop} setting is -ignored. If the value is a variable, it should be specified as -v_name, where name is the variable name. In this case, the variable -will be evaluated each timestep, and its value used to determine the -target temperature. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature. - -Atom-style variables can specify the same formulas as equal-style -variables but can also include per-atom values, such as atom -coordinates. Thus it is easy to specify a spatially-dependent -temperature with optional time-dependence as well. - -Like other fixes that perform thermostatting, this fix can be used -with "compute commands"_compute.html that remove a "bias" from the -atom velocities. E.g. removing the center-of-mass velocity from a -group of atoms or removing the x-component of velocity from the -calculation. This is not done by default, but only if the -"fix_modify"_fix_modify.html command is used to assign a temperature -compute to this fix that includes such a bias term. See the doc pages -for individual "compute commands"_compute.html to determine which ones -include a bias. In this case, the thermostat works in the following -manner: bias is removed from each atom, thermostatting is performed on -the remaining thermal degrees of freedom, and the bias is added back -in. - -The {damp} parameter is specified in time units and determines how -rapidly the temperature is relaxed. For example, a value of 100.0 -means to relax the temperature in a timespan of (roughly) 100 time -units (tau or fmsec or psec - see the "units"_units.html command). -The damp factor can be thought of as inversely related to the -viscosity of the solvent. I.e. a small relaxation time implies a -hi-viscosity solvent and vice versa. See the discussion about gamma -and viscosity in the documentation for the "fix -viscous"_fix_viscous.html command for more details. - -The random # {seed} must be a positive integer. A Marsaglia random -number generator is used. Each processor uses the input seed to -generate its own unique seed and its own stream of random numbers. -Thus the dynamics of the system will not be identical on two runs on -different numbers of processors. - -:line - -The keyword/value option pairs are used in the following ways. - -The keyword {angmom} and {omega} keywords enable thermostatting of -rotational degrees of freedom in addition to the usual translational -degrees of freedom. This can only be done for finite-size particles. - -A simulation using atom_style sphere defines an omega for finite-size -spheres. A simulation using atom_style ellipsoid defines a finite -size and shape for aspherical particles and an angular momentum. -The Langevin formulas for thermostatting the rotational degrees of -freedom are the same as those above, where force is replaced by -torque, m is replaced by the moment of inertia I, and v is replaced by -omega (which is derived from the angular momentum in the case of -aspherical particles). - -The rotational temperature of the particles can be monitored by the -"compute temp/sphere"_compute_temp_sphere.html and "compute -temp/asphere"_compute_temp_asphere.html commands with their rotate -options. - -For the {omega} keyword there is also a scale factor of 10.0/3.0 that -is applied as a multiplier on the Ff (damping) term in the equation -above and of sqrt(10.0/3.0) as a multiplier on the Fr term. This does -not affect the thermostatting behavior of the Langevin formalism but -insures that the randomized rotational diffusivity of spherical -particles is correct. - -For the {angmom} keyword a similar scale factor is needed which is -10.0/3.0 for spherical particles, but is anisotropic for aspherical -particles (e.g. ellipsoids). Currently LAMMPS only applies an -isotropic scale factor, and you can choose its magnitude as the -specified value of the {angmom} keyword. If your aspherical particles -are (nearly) spherical than a value of 10.0/3.0 = 3.333 is a good -choice. If they are highly aspherical, a value of 1.0 is as good a -choice as any, since the effects on rotational diffusivity of the -particles will be incorrect regardless. Note that for any reasonable -scale factor, the thermostatting effect of the {angmom} keyword on the -rotational temperature of the aspherical particles should still be -valid. - -The keyword {scale} allows the damp factor to be scaled up or down by -the specified factor for atoms of that type. This can be useful when -different atom types have different sizes or masses. It can be used -multiple times to adjust damp for several atom types. Note that -specifying a ratio of 2 increases the relaxation time which is -equivalent to the solvent's viscosity acting on particles with 1/2 the -diameter. This is the opposite effect of scale factors used by the -"fix viscous"_fix_viscous.html command, since the damp factor in fix -{langevin} is inversely related to the gamma factor in fix {viscous}. -Also note that the damping factor in fix {langevin} includes the -particle mass in Ff, unlike fix {viscous}. Thus the mass and size of -different atom types should be accounted for in the choice of ratio -values. - -The keyword {tally} enables the calculation of the cumulative energy -added/subtracted to the atoms as they are thermostatted. Effectively -it is the energy exchanged between the infinite thermal reservoir and -the particles. As described below, this energy can then be printed -out or added to the potential energy of the system to monitor energy -conservation. - -NOTE: this accumulated energy does NOT include kinetic energy removed -by the {zero} flag. LAMMPS will print a warning when both options are -active. - -The keyword {zero} can be used to eliminate drift due to the -thermostat. Because the random forces on different atoms are -independent, they do not sum exactly to zero. As a result, this fix -applies a small random force to the entire system, and the -center-of-mass of the system undergoes a slow random walk. If the -keyword {zero} is set to {yes}, the total random force is set exactly -to zero by subtracting off an equal part of it from each atom in the -group. As a result, the center-of-mass of a system with zero initial -momentum will not drift over time. - -The keyword {gjf} can be used to run the "Gronbech-Jensen/Farago -"_#Gronbech-Jensen time-discretization of the Langevin model. As -described in the papers cited below, the purpose of this method is to -enable longer timesteps to be used (up to the numerical stability -limit of the integrator), while still producing the correct Boltzmann -distribution of atom positions. - -The current implementation provides the user with the option to output -the velocity in one of two forms: {vfull} or {vhalf}, which replaces -the outdated option {yes}. The {gjf} option {vfull} outputs the on-site -velocity given in "Gronbech-Jensen/Farago"_#Gronbech-Jensen; this velocity -is shown to be systematically lower than the target temperature by a small -amount, which grows quadratically with the timestep. -The {gjf} option {vhalf} outputs the 2GJ half-step velocity given in -"Gronbech Jensen/Gronbech-Jensen"_#2Gronbech-Jensen; for linear systems, -this velocity is shown to not have any statistical errors for any stable time step. -An overview of statistically correct Boltzmann and Maxwell-Boltzmann -sampling of true on-site and true half-step velocities is given in -"Gronbech-Jensen"_#1Gronbech-Jensen. -Regardless of the choice of output velocity, the sampling of the configurational -distribution of atom positions is the same, and linearly consistent with the -target temperature. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" -restarts with this fix, where the simulation continues on the same as -if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a temperature "compute"_compute.html -you have defined to this fix which will be used in its thermostatting -procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. Note that use of this option requires -setting the {tally} keyword to {yes}. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". Note that calculation of this quantity requires -setting the {tally} keyword to {yes}. - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -For {gjf} do not choose damp=dt/2. {gjf} is not compatible -with run_style respa. - -[Related commands:] - -"fix nvt"_fix_nh.html, "fix temp/rescale"_fix_temp_rescale.html, "fix -viscous"_fix_viscous.html, "fix nvt"_fix_nh.html, "pair_style -dpd/tstat"_pair_dpd.html - -[Default:] - -The option defaults are angmom = no, omega = no, scale = 1.0 for all -types, tally = no, zero = no, gjf = no. - -:line - -:link(Dunweg1) -[(Dunweg)] Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). - -:link(Schneider1) -[(Schneider)] Schneider and Stoll, Phys Rev B, 17, 1302 (1978). - -:link(Gronbech-Jensen) -[(Gronbech-Jensen)] Gronbech-Jensen and Farago, Mol Phys, 111, 983 -(2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, 185, 524 (2014) - -:link(2Gronbech-Jensen) -[(Gronbech-Jensen)] Gronbech Jensen and Gronbech-Jensen, Mol Phys, 117, 2511 (2019) - -:link(1Gronbech-Jensen) -[(Gronbech-Jensen)] Gronbech-Jensen, Mol Phys (2019); https://doi.org/10.1080/00268976.2019.1662506 diff --git a/doc/txt/fix_langevin_drude.txt b/doc/txt/fix_langevin_drude.txt deleted file mode 100644 index dae12fb1560d2886f738c623d97185238fb14d91..0000000000000000000000000000000000000000 --- a/doc/txt/fix_langevin_drude.txt +++ /dev/null @@ -1,274 +0,0 @@ - - - -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix langevin/drude command :h3 - -[Syntax:] - -fix ID group-ID langevin/drude Tcom damp_com seed_com Tdrude damp_drude seed_drude keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -langevin/drude = style name of this fix command :l -Tcom = desired temperature of the centers of mass (temperature units) :l -damp_com = damping parameter for the thermostat on centers of mass (time units) :l -seed_com = random number seed to use for white noise of the thermostat on centers of mass (positive integer) :l -Tdrude = desired temperature of the Drude oscillators (temperature units) :l -damp_drude = damping parameter for the thermostat on Drude oscillators (time units) :l -seed_drude = random number seed to use for white noise of the thermostat on Drude oscillators (positive integer) :l -zero or more keyword/value pairs may be appended :l -keyword = {zero} :l - {zero} value = {no} or {yes} - {no} = do not set total random force on centers of mass to zero - {yes} = set total random force on centers of mass to zero :pre -:ule - -[Examples:] - -fix 3 all langevin/drude 300.0 100.0 19377 1.0 20.0 83451 -fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes :pre - -[Description:] - -Apply two Langevin thermostats as described in "(Jiang)"_#Jiang1 for -thermalizing the reduced degrees of freedom of Drude oscillators. -This link describes how to use the "thermalized Drude oscillator -model"_Howto_drude.html in LAMMPS and polarizable models in LAMMPS -are discussed on the "Howto polarizable"_Howto_polarizable.html doc -page. - -Drude oscillators are a way to simulate polarizables atoms, by -splitting them into a core and a Drude particle bound by a harmonic -bond. The thermalization works by transforming the particles degrees -of freedom by these equations. In these equations upper case denotes -atomic or center of mass values and lower case denotes Drude particle -or dipole values. Primes denote the transformed (reduced) values, -while bare letters denote the original values. - -Velocities: -\begin\{equation\} V' = \frac \{M\, V + m\, v\} \{M'\} \end\{equation\} -\begin\{equation\} v' = v - V \end\{equation\} -Masses: -\begin\{equation\} M' = M + m \end\{equation\} -\begin\{equation\} m' = \frac \{M\, m \} \{M'\} \end\{equation\} -The Langevin forces are computed as -\begin\{equation\} F' = - \frac \{M'\} \{\mathtt\{damp\_com\}\}\, V' + F_r' \end\{equation\} -\begin\{equation\} f' = - \frac \{m'\} \{\mathtt\{damp\_drude\}\}\, v' + f_r' \end\{equation\} -\(F_r'\) is a random force proportional to -\(\sqrt \{ \frac \{2\, k_B \mathtt\{Tcom\}\, m'\} - \{\mathrm dt\, \mathtt\{damp\_com\} \} - \} \). -\(f_r'\) is a random force proportional to -\(\sqrt \{ \frac \{2\, k_B \mathtt\{Tdrude\}\, m'\} - \{\mathrm dt\, \mathtt\{damp\_drude\} \} - \} \). -Then the real forces acting on the particles are computed from the inverse -transform: -\begin\{equation\} F = \frac M \{M'\}\, F' - f' \end\{equation\} -\begin\{equation\} f = \frac m \{M'\}\, F' + f' \end\{equation\} - -This fix also thermostats non-polarizable atoms in the group at -temperature {Tcom}, as if they had a massless Drude partner. The -Drude particles themselves need not be in the group. The center of -mass and the dipole are thermostatted iff the core atom is in the -group. - -Note that the thermostat effect of this fix is applied to only the -translational degrees of freedom of the particles, which is an -important consideration if finite-size particles, which have -rotational degrees of freedom, are being thermostatted. The -translational degrees of freedom can also have a bias velocity removed -from them before thermostatting takes place; see the description below. - -NOTE: Like the "fix langevin"_fix_langevin.html command, this fix does -NOT perform time integration. It only modifies forces to effect -thermostatting. Thus you must use a separate time integration fix, like -"fix nve"_fix_nve.html or "fix nph"_fix_nh.html to actually update the -velocities and positions of atoms using the modified forces. -Likewise, this fix should not normally be used on atoms that also have -their temperature controlled by another fix - e.g. by "fix -nvt"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html commands. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -:line - -This fix requires each atom know whether it is a Drude particle or -not. You must therefore use the "fix drude"_fix_drude.html command to -specify the Drude status of each atom type. - -NOTE: only the Drude core atoms need to be in the group specified for -this fix. A Drude electron will be transformed together with its cores -even if it is not itself in the group. It is safe to include Drude -electrons or non-polarizable atoms in the group. The non-polarizable -atoms will simply be thermostatted as if they had a massless Drude -partner (electron). - -NOTE: Ghost atoms need to know their velocity for this fix to act -correctly. You must use the "comm_modify"_comm_modify.html command to -enable this, e.g. - -comm_modify vel yes :pre - -:line - -{Tcom} is the target temperature of the centers of mass, which would -be used to thermostat the non-polarizable atoms. {Tdrude} is the -(normally low) target temperature of the core-Drude particle pairs -(dipoles). {Tcom} and {Tdrude} can be specified as an equal-style -"variable"_variable.html. If the value is a variable, it should be -specified as v_name, where name is the variable name. In this case, -the variable will be evaluated each timestep, and its value used to -determine the target temperature. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature. - -Like other fixes that perform thermostatting, this fix can be used with -"compute commands"_compute.html that remove a "bias" from the atom -velocities. E.g. removing the center-of-mass velocity from a group of -atoms. This is not done by default, but only if the -"fix_modify"_fix_modify.html command is used to assign a temperature -compute to this fix that includes such a bias term. See the doc pages -for individual "compute commands"_compute.html to determine which ones -include a bias. In this case, the thermostat works in the following -manner: bias is removed from each atom, thermostatting is performed on -the remaining thermal degrees of freedom, and the bias is added back -in. NOTE: this feature has not been tested. - -Note: The temperature thermostatting the core-Drude particle pairs -should be chosen low enough, so as to mimic as closely as possible the -self-consistent minimization. It must however be high enough, so that -the dipoles can follow the local electric field exerted by the -neighboring atoms. The optimal value probably depends on the -temperature of the centers of mass and on the mass of the Drude -particles. - -{damp_com} is the characteristic time for reaching thermal equilibrium -of the centers of mass. For example, a value of 100.0 means to relax -the temperature of the centers of mass in a timespan of (roughly) 100 -time units (tau or fmsec or psec - see the "units"_units.html -command). {damp_drude} is the characteristic time for reaching -thermal equilibrium of the dipoles. It is typically a few timesteps. - -The number {seed_com} and {seed_drude} are positive integers. They set -the seeds of the Marsaglia random number generators used for -generating the random forces on centers of mass and on the -dipoles. Each processor uses the input seed to generate its own unique -seed and its own stream of random numbers. Thus the dynamics of the -system will not be identical on two runs on different numbers of -processors. - -The keyword {zero} can be used to eliminate drift due to the -thermostat on centers of mass. Because the random forces on different -centers of mass are independent, they do not sum exactly to zero. As -a result, this fix applies a small random force to the entire system, -and the momentum of the total center of mass of the system undergoes a -slow random walk. If the keyword {zero} is set to {yes}, the total -random force on the centers of mass is set exactly to zero by -subtracting off an equal part of it from each center of mass in the -group. As a result, the total center of mass of a system with zero -initial momentum will not drift over time. - -The actual temperatures of cores and Drude particles, in -center-of-mass and relative coordinates, respectively, can be -calculated using the "compute temp/drude"_compute_temp_drude.html -command. - -:line - -Usage example for rigid bodies in the NPT ensemble: - -comm_modify vel yes -fix TEMP all langevin/drude 300. 100. 1256 1. 20. 13977 zero yes -fix NPH ATOMS rigid/nph/small molecule iso 1. 1. 500. -fix NVE DRUDES nve -compute TDRUDE all temp/drude -thermo_style custom step cpu etotal ke pe ebond ecoul elong press vol temp c_TDRUDE\[1\] c_TDRUDE\[2\] :pre - -Comments: - -Drude particles should not be in the rigid group, otherwise the Drude -oscillators will be frozen and the system will lose its -polarizability. :ulb,l - -{zero yes} avoids a drift of the center of mass of -the system, but is a bit slower. :l - -Use two different random seeds to avoid unphysical correlations. :l - -Temperature is controlled by the fix {langevin/drude}, so the -time-integration fixes do not thermostat. Don't forget to -time-integrate both cores and Drude particles. :l - -Pressure is time-integrated only once by using {nve} for Drude -particles and {nph} for atoms/cores (or vice versa). Do not use {nph} -for both. :l - -The temperatures of cores and Drude particles are calculated by -"compute temp/drude"_compute_temp_drude.html :l - -Contrary to the alternative thermostatting using Nose-Hoover thermostat -fix {npt} and "fix drude/transform"_fix_drude_transform.html, the -{fix_modify} command is not required here, because the fix {nph} -computes the global pressure even if its group is {ATOMS}. This is -what we want. If we thermostatted {ATOMS} using {npt}, the pressure -should be the global one, but the temperature should be only that of -the cores. That's why the command {fix_modify} should be called in -that case. :l -:ule - - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" -restarts with this fix, where the simulation continues on the same as -if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a temperature "compute"_compute.html -you have defined to this fix which will be used in its thermostatting -procedure, as described above. For consistency, the group used by the -compute should include the group of this fix and the Drude particles. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] none - -[Related commands:] - -"fix langevin"_fix_langevin.html, -"fix drude"_fix_drude.html, -"fix drude/transform"_fix_drude_transform.html, -"compute temp/drude"_compute_temp_drude.html, -"pair_style thole"_pair_thole.html - -[Default:] - -The option defaults are zero = no. - -:line - -:link(Jiang1) -[(Jiang)] Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J -Phys Chem Lett, 2, 87-92 (2011). diff --git a/doc/txt/fix_langevin_eff.txt b/doc/txt/fix_langevin_eff.txt deleted file mode 100644 index e55e40c6c80ea7e822222ffc84eedbbf9841d9e3..0000000000000000000000000000000000000000 --- a/doc/txt/fix_langevin_eff.txt +++ /dev/null @@ -1,113 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix langevin/eff command :h3 - -[Syntax:] - -fix ID group-ID langevin/eff Tstart Tstop damp seed keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -langevin/eff = style name of this fix command :l -Tstart,Tstop = desired temperature at start/end of run (temperature units) :l -damp = damping parameter (time units) :l -seed = random number seed to use for white noise (positive integer) :l -zero or more keyword/value pairs may be appended :l -keyword = {scale} or {tally} or {zero} - {scale} values = type ratio - type = atom type (1-N) - ratio = factor by which to scale the damping coefficient - {tally} values = {no} or {yes} - {no} = do not tally the energy added/subtracted to atoms - {yes} = do tally the energy added/subtracted to atoms :pre - {zero} value = {no} or {yes} - {no} = do not set total random force to zero - {yes} = set total random force to zero :pre -:ule - -[Examples:] - -fix 3 boundary langevin/eff 1.0 1.0 10.0 699483 -fix 1 all langevin/eff 1.0 1.1 10.0 48279 scale 3 1.5 :pre - -[Description:] - -Apply a Langevin thermostat as described in "(Schneider)"_#Schneider2 -to a group of nuclei and electrons in the "electron force -field"_pair_eff.html model. Used with "fix nve/eff"_fix_nve_eff.html, -this command performs Brownian dynamics (BD), since the total force on -each atom will have the form: - -F = Fc + Ff + Fr -Ff = - (m / damp) v -Fr is proportional to sqrt(Kb T m / (dt damp)) :pre - -Fc is the conservative force computed via the usual inter-particle -interactions ("pair_style"_pair_style.html). - -The Ff and Fr terms are added by this fix on a per-particle basis. - -The operation of this fix is exactly like that described by the "fix -langevin"_fix_langevin.html command, except that the thermostatting -is also applied to the radial electron velocity for electron -particles. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" -restarts with this fix, where the simulation continues on the same as -if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a temperature "compute"_compute.html -you have defined to this fix which will be used in its thermostatting -procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Langevin thermostatting to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. Note that use of this option requires -setting the {tally} keyword to {yes}. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". Note that calculation of this quantity requires -setting the {tally} keyword to {yes}. - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] none - -This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix langevin"_fix_langevin.html - -[Default:] - -The option defaults are scale = 1.0 for all types and tally = no. - -:line - -:link(Dunweg2) -[(Dunweg)] Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). - -:link(Schneider2) -[(Schneider)] Schneider and Stoll, Phys Rev B, 17, 1302 (1978). diff --git a/doc/txt/fix_langevin_spin.txt b/doc/txt/fix_langevin_spin.txt deleted file mode 100644 index e5dccc5e572e7dfb622ba68624bdd148b16c6ad8..0000000000000000000000000000000000000000 --- a/doc/txt/fix_langevin_spin.txt +++ /dev/null @@ -1,102 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix langevin/spin command :h3 - -[Syntax:] - -fix ID group-ID langevin/spin T Tdamp seed :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -langevin/spin = style name of this fix command :l -T = desired temperature of the bath (temperature units, K in metal units) :l -Tdamp = transverse magnetic damping parameter (adim) :l -seed = random number seed to use for white noise (positive integer) :l -:ule - -[Examples:] - -fix 2 all langevin/spin 300.0 0.01 21 :pre - -[Description:] - -Apply a Langevin thermostat as described in "(Mayergoyz)"_#Mayergoyz1 to the -magnetic spins associated to the atoms. -Used with "fix nve/spin"_fix_nve_spin.html, this command performs -Brownian dynamics (BD). -A random torque and a transverse dissipation are applied to each spin i according to -the following stochastic differential equation: - -:c,image(Eqs/fix_langevin_spin_sLLG.jpg) - -with lambda the transverse damping, and eta a random vector. -This equation is referred to as the stochastic Landau-Lifshitz-Gilbert (sLLG) -equation. - -The components of eta are drawn from a Gaussian probability law. Their amplitude -is defined as a proportion of the temperature of the external thermostat T (in K -in metal units). - -More details about this implementation are reported in "(Tranchida)"_#Tranchida2. - -Note: due to the form of the sLLG equation, this fix has to be defined just -before the nve/spin fix (and after all other magnetic fixes). -As an example: - -fix 1 all precession/spin zeeman 0.01 0.0 0.0 1.0 -fix 2 all langevin/spin 300.0 0.01 21 -fix 3 all nve/spin lattice moving :pre - -is correct, but defining a force/spin command after the langevin/spin command -would give an error message. - -Note: The random # {seed} must be a positive integer. A Marsaglia random -number generator is used. Each processor uses the input seed to -generate its own unique seed and its own stream of random numbers. -Thus the dynamics of the system will not be identical on two runs on -different numbers of processors. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" -restarts with this fix, where the simulation continues on the same as -if no restart had taken place. However, in a statistical sense, a -restarted simulation should produce the same behavior. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -The {langevin/spin} fix is part of the SPIN package. This style is -only enabled if LAMMPS was built with this package. See the "Build -package"_Build_package.html doc page for more info. - -The numerical integration has to be performed with {fix nve/spin} -when {fix langevin/spin} is enabled. - -This fix has to be the last defined magnetic fix before the time -integration fix (e.g. {fix nve/spin}). - -[Related commands:] - -"fix nve/spin"_fix_nve_spin.html, "fix precession/spin"_fix_precession_spin.html - -[Default:] none - -:line - -:link(Mayergoyz1) -[(Mayergoyz)] I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009) - -:link(Tranchida2) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/txt/fix_latte.txt b/doc/txt/fix_latte.txt deleted file mode 100644 index e6edf6ac8a62d4d55141d59a7563b7896e25df80..0000000000000000000000000000000000000000 --- a/doc/txt/fix_latte.txt +++ /dev/null @@ -1,210 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix latte command :h3 - -[Syntax:] - -fix ID group-ID latte peID :pre - -ID, group-ID are documented in "fix"_fix.html command -latte = style name of this fix command -peID = NULL or ID of compute used to calculate per-atom energy :ul - -[Examples:] - -fix dftb all latte NULL :pre - -[Description:] - -This fix style is a wrapper on the self-consistent charge transfer -density functional based tight binding (DFTB) code LATTE. If you -download and build LATTE, it can be called as a library by LAMMPS via -this fix to run dynamics or perform energy minimization using DFTB -forces and energies computed by LATTE. - -LATTE is principally developed and supported by Marc Cawkwell and -co-workers at Los Alamos National Laboratory (LANL). See the full -list of contributors in the src/LATTE/README file. - -To use this fix, the LATTE program needs to be compiled as a library -and linked with LAMMPS. LATTE can be downloaded (or cloned) from -"https://github.com/lanl/LATTE"_https://github.com/lanl/LATTE. -Instructions on how to download and build LATTE on your system can be -found in the lib/latte/README. Note that you can also use the "make -lib-latte" command from the LAMMPS src directory to automate this -process. - -Once LAMMPS is built with the LATTE package, you can run the example -input scripts for molecular dynamics or energy minimization that are -found in examples/latte. - -A step-by-step tutorial can be followed at: "LAMMPS-LATTE -tutorial"_https://github.com/lanl/LATTE/wiki/Using-LATTE-through-LAMMPS - -The {peID} argument is not yet supported by fix latte, so it must be -specified as NULL. Eventually it will be used to enable LAMMPS to -calculate a Coulomb potential as an alternative to LATTE performing -the calculation. - -:line - -LATTE is a code for performing self-consistent charge transfer -tight-binding (SC-TB) calculations of total energies and the forces -acting on atoms in molecules and solids. This tight-binding method is -becoming more and more popular and widely used in chemistry, -biochemistry, material science, etc. - -The SC-TB formalism is derived from an expansion of the Kohn-Sham -density functional to second order in charge fluctuations about a -reference charge of overlapping atom-centered densities and bond -integrals are parameterized using a Slater-Koster tight-binding -approach. This procedure, which usually is referred to as the DFTB -method has been described in detail by ("Elstner"_#Elstner) and -("Finnis"_#Finnis2) and coworkers. - -The work of the LATTE developers follows that of Elstner closely with -respect to the physical model. However, the development of LATTE is -geared principally toward large-scale, long duration, microcanonical -quantum-based Born-Oppenheimer molecular dynamics (QMD) simulations. -One of the main bottlenecks of an electronic structure calculation is -the solution of the generalized eigenvalue problem which scales with -the cube of the system size O(N^3). - -The Theoretical and Computer sciences divisions at Los Alamos National -Laboratory have accumulated large experience addressing this issue by -calculating the density matrix directly instead of using -diagonalization. We typically use a recursive sparse Fermi-operator -expansion using second-order spectral projection functions -(SP2-algorithm), which was introduced by Niklasson in 2002 -("Niklasson2002"_#Niklasson2002), ("Rubensson"_#Rubensson), -("Mniszewski"_#Mniszewski). When the matrices involved in the -recursive expansion are sufficiently sparse, the calculation of the -density matrix scales linearly as a function of the system size O(N). - -Another important feature is the extended Lagrangian framework for -Born-Oppenheimer molecular dynamics (XL-BOMD) -("Niklasson2008"_#Niklasson2008) ("Niklasson2014"_#Niklasson2014), -("Niklasson2017"_#Niklasson2017) that allows for a drastic reduction -or even a complete removal of the iterative self-consistent field -optimization. Often only a single density matrix calculation per -molecular dynamics time step is required, yet total energy stability -is well maintained. The SP2 and XL-BOMD techniques enables stable -linear scaling MD simulations with a very small computational -overhead. This opens a number of opportunities in many different -areas of chemistry and materials science, as we now can simulate -larger system sizes and longer time scales -("Cawkwell2012"_#Cawkwell2012), ("Negre2016"_#Negre2016). - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the potential energy computed by LATTE to the system's -potential energy as part of "thermodynamic output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {virial} option is supported by this -fix to add the LATTE DFTB contribution to the system's virial as part -of "thermodynamic output"_thermo_style.html. The default is {virial -yes} - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the potential -energy discussed above. The scalar value calculated by this fix is -"extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The DFTB forces computed by LATTE via this fix are imposed during an -energy minimization, invoked by the "minimize"_minimize.html command. - -NOTE: If you want the potential energy associated with the DFTB -forces to be included in the total potential energy of the system (the -quantity being minimized), you MUST enable the -"fix_modify"_fix_modify.html {energy} option for this fix. - -[Restrictions:] - -This fix is part of the LATTE package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -You must use metal units, as set by the "units"_units.html command to -use this fix. - -LATTE does not currently compute per-atom energy or per-atom virial -contributions. So they will not show up as part of the calculations -performed by the "compute pe/atom"_compute_pe_atom.html or "compute -stress/atom"_compute_stress_atom.html commands. - -Currently, LAMMPS must be run in serial or as a single MPI task, to -use this fix. This is typically not a bottleneck, since LATTE will be -doing 99% or more of the work to compute quantum-accurate forces. - -NOTE: NEB calculations can be done using this fix using multiple -replicas and running LAMMPS in parallel. However, each replica must -be run on a single MPI task. For details, see the "neb"_neb.html -command doc page and the "-partition command-line -switch"_Run_options.html - -[Related commands:] none - -[Default:] none - -:line - -:link(Elstner) -[(Elstner)] M. Elstner, D. Poresag, G. Jungnickel, J. Elsner, -M. Haugk, T. Frauenheim, S. Suhai, and G. Seifert, Phys. Rev. B, 58, -7260 (1998). - -:link(Elstner1) -[(Elstner)] M. Elstner, D. Poresag, G. Jungnickel, J. Elsner, -M. Haugk, T. Frauenheim, S. Suhai, and G. Seifert, Phys. Rev. B, 58, -7260 (1998). - -:link(Finnis2) -[(Finnis)] M. W. Finnis, A. T. Paxton, M. Methfessel, and M. van -Schilfgarde, Phys. Rev. Lett., 81, 5149 (1998). - -:link(Mniszewski) -[(Mniszewski)] S. M. Mniszewski, M. J. Cawkwell, M. E. Wall, -J. Mohd-Yusof, N. Bock, T. C. Germann, and A. M. N. Niklasson, -J. Chem. Theory Comput., 11, 4644 (2015). - -:link(Niklasson2002) -[(Niklasson2002)] A. M. N. Niklasson, Phys. Rev. B, 66, 155115 (2002). - -:link(Rubensson) -[(Rubensson)] E. H. Rubensson, A. M. N. Niklasson, SIAM -J. Sci. Comput. 36 (2), 147-170, (2014). - -:link(Niklasson2008) -[(Niklasson2008)] A. M. N. Niklasson, Phys. Rev. Lett., 100, 123004 -(2008). - -:link(Niklasson2014) -[(Niklasson2014)] A. M. N. Niklasson and M. Cawkwell, J. Chem. Phys., -141, 164123, (2014). - -:link(Niklasson2017) -[(Niklasson2017)] A. M. N. Niklasson, J. Chem. Phys., 147, 054103 (2017). - -:link(Cawkwell2012) -[(Cawkwell2012)] A. M. N. Niklasson, M. J. Cawkwell, Phys. Rev. B, 86 -(17), 174308 (2012). - -:link(Negre2016) -[(Negre2016)] C. F. A. Negre, S. M. Mniszewski, M. J. Cawkwell, -N. Bock, M. E. Wall, and A. M. N. Niklasson, J. Chem. Theory Comp., -12, 3063 (2016). diff --git a/doc/txt/fix_lb_fluid.txt b/doc/txt/fix_lb_fluid.txt deleted file mode 100644 index d9012d8cb396371d3fd4568cbba35b19c5d6e275..0000000000000000000000000000000000000000 --- a/doc/txt/fix_lb_fluid.txt +++ /dev/null @@ -1,370 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix lb/fluid command :h3 - -[Syntax:] - -fix ID group-ID lb/fluid nevery LBtype viscosity density keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -lb/fluid = style name of this fix command :l -nevery = update the lattice-Boltzmann fluid every this many timesteps :l -LBtype = 1 to use the standard finite difference LB integrator, -2 to use the LB integrator of "Ollila et al."_#Ollila :l -viscosity = the fluid viscosity (units of mass/(time*length)). :l -density = the fluid density. :l - -zero or more keyword/value pairs may be appended :l -keyword = {setArea} or {setGamma} or {scaleGamma} or {dx} or {dm} or {a0} or {noise} or {calcforce} or {trilinear} or {D3Q19} or {read_restart} or {write_restart} or {zwall_velocity} or {bodyforce} or {printfluid} :l - {setArea} values = type node_area - type = atom type (1-N) - node_area = portion of the surface area of the composite object associated with the particular atom type (used when the force coupling constant is set by default). - {setGamma} values = gamma - gamma = user set value for the force coupling constant. - {scaleGamma} values = type gammaFactor - type = atom type (1-N) - gammaFactor = factor to scale the {setGamma} gamma value by, for the specified atom type. - {dx} values = dx_LB = the lattice spacing. - {dm} values = dm_LB = the lattice-Boltzmann mass unit. - {a0} values = a_0_real = the square of the speed of sound in the fluid. - {noise} values = Temperature seed - Temperature = fluid temperature. - seed = random number generator seed (positive integer) - {calcforce} values = N forcegroup-ID - N = output the force and torque every N timesteps - forcegroup-ID = ID of the particle group to calculate the force and torque of - {trilinear} values = none (used to switch from the default Peskin interpolation stencil to the trilinear stencil). - {D3Q19} values = none (used to switch from the default D3Q15, 15 velocity lattice, to the D3Q19, 19 velocity lattice). - {read_restart} values = restart file = name of the restart file to use to restart a fluid run. - {write_restart} values = N = write a restart file every N MD timesteps. - {zwall_velocity} values = velocity_bottom velocity_top = velocities along the y-direction of the bottom and top walls (located at z=zmin and z=zmax). - {bodyforce} values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid. - {printfluid} values = N = print the fluid density and velocity at each grid point every N timesteps. :pre -:ule - -[Examples:] - -fix 1 all lb/fluid 1 2 1.0 1.0 setGamma 13.0 dx 4.0 dm 10.0 calcforce sphere1 -fix 1 all lb/fluid 1 1 1.0 0.0009982071 setArea 1 1.144592082 dx 2.0 dm 0.3 trilinear noise 300.0 8979873 :pre - -[Description:] - -Implement a lattice-Boltzmann fluid on a uniform mesh covering the LAMMPS -simulation domain. The MD particles described by {group-ID} apply a velocity -dependent force to the fluid. - -The lattice-Boltzmann algorithm solves for the fluid motion governed by -the Navier Stokes equations, - -:c,image(Eqs/fix_lb_fluid_navierstokes.jpg) - -with, - -:c,image(Eqs/fix_lb_fluid_viscosity.jpg) - -where rho is the fluid density, u is the local fluid velocity, sigma -is the stress tensor, F is a local external force, and eta and Lambda -are the shear and bulk viscosities respectively. Here, we have -implemented - -:c,image(Eqs/fix_lb_fluid_stress.jpg), - -with a_0 set to 1/3 (dx/dt)^2 by default. - -The algorithm involves tracking the time evolution of a set of partial -distribution functions which evolve according to a velocity -discretized version of the Boltzmann equation, - -:c,image(Eqs/fix_lb_fluid_boltzmann.jpg) - -where the first term on the right hand side represents a single time -relaxation towards the equilibrium distribution function, and tau is a -parameter physically related to the viscosity. On a technical note, -we have implemented a 15 velocity model (D3Q15) as default; however, -the user can switch to a 19 velocity model (D3Q19) through the use of -the {D3Q19} keyword. This fix provides the user with the choice of -two algorithms to solve this equation, through the specification of -the keyword {LBtype}. If {LBtype} is set equal to 1, the standard -finite difference LB integrator is used. If {LBtype} is set equal to -2, the algorithm of "Ollila et al."_#Ollila is used. - -Physical variables are then defined in terms of moments of the distribution -functions, - -:c,image(Eqs/fix_lb_fluid_properties.jpg) - -Full details of the lattice-Boltzmann algorithm used can be found in -"Mackay et al."_#fluid-Mackay. - -The fluid is coupled to the MD particles described by {group-ID} -through a velocity dependent force. The contribution to the fluid -force on a given lattice mesh site j due to MD particle alpha is -calculated as: - -:c,image(Eqs/fix_lb_fluid_fluidforce.jpg) - -where v_n is the velocity of the MD particle, u_f is the fluid -velocity interpolated to the particle location, and gamma is the force -coupling constant. Zeta is a weight assigned to the grid point, -obtained by distributing the particle to the nearest lattice sites. -For this, the user has the choice between a trilinear stencil, which -provides a support of 8 lattice sites, or the immersed boundary method -Peskin stencil, which provides a support of 64 lattice sites. While -the Peskin stencil is seen to provide more stable results, the -trilinear stencil may be better suited for simulation of objects close -to walls, due to its smaller support. Therefore, by default, the -Peskin stencil is used; however the user may switch to the trilinear -stencil by specifying the keyword, {trilinear}. - -By default, the force coupling constant, gamma, is calculated according to - -:c,image(Eqs/fix_lb_fluid_gammadefault.jpg). - -Here, m_v is the mass of the MD particle, m_u is a representative -fluid mass at the particle location, and dt_collision is a collision -time, chosen such that tau/dt_collision = 1 (see "Mackay and -Denniston"_#Mackay2 for full details). In order to calculate m_u, the -fluid density is interpolated to the MD particle location, and -multiplied by a volume, node_area*dx_lb, where node_area represents -the portion of the surface area of the composite object associated -with a given MD particle. By default, node_area is set equal to -dx_lb*dx_lb; however specific values for given atom types can be set -using the {setArea} keyword. - -The user also has the option of specifying their own value for the -force coupling constant, for all the MD particles associated with the -fix, through the use of the {setGamma} keyword. This may be useful -when modelling porous particles. See "Mackay et al."_#fluid-Mackay for a -detailed description of the method by which the user can choose an -appropriate gamma value. - -NOTE: while this fix applies the force of the particles on the fluid, -it does not apply the force of the fluid to the particles. When the -force coupling constant is set using the default method, there is only -one option to include this hydrodynamic force on the particles, and -that is through the use of the "lb/viscous"_fix_lb_viscous.html fix. -This fix adds the hydrodynamic force to the total force acting on the -particles, after which any of the built-in LAMMPS integrators can be -used to integrate the particle motion. However, if the user specifies -their own value for the force coupling constant, as mentioned in -"Mackay et al."_#fluid-Mackay, the built-in LAMMPS integrators may prove to -be unstable. Therefore, we have included our own integrators "fix -lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html, and "fix -lb/pc"_fix_lb_pc.html, to solve for the particle motion in these -cases. These integrators should not be used with the -"lb/viscous"_fix_lb_viscous.html fix, as they add hydrodynamic forces -to the particles directly. In addition, they can not be used if the -force coupling constant has been set the default way. - -NOTE: if the force coupling constant is set using the default method, -and the "lb/viscous"_fix_lb_viscous.html fix is NOT used to add the -hydrodynamic force to the total force acting on the particles, this -physically corresponds to a situation in which an infinitely massive -particle is moving through the fluid (since collisions between the -particle and the fluid do not act to change the particle's velocity). -Therefore, the user should set the mass of the particle to be -significantly larger than the mass of the fluid at the particle -location, in order to approximate an infinitely massive particle (see -the dragforce test run for an example). - -:line - -Inside the fix, parameters are scaled by the lattice-Boltzmann -timestep, dt, grid spacing, dx, and mass unit, dm. dt is set equal to -(nevery*dt_MD), where dt_MD is the MD timestep. By default, dm is set -equal to 1.0, and dx is chosen so that tau/(dt) = -(3*eta*dt)/(rho*dx^2) is approximately equal to 1. However, the user -has the option of specifying their own values for dm, and dx, by using -the optional keywords {dm}, and {dx} respectively. - -NOTE: Care must be taken when choosing both a value for dx, and a -simulation domain size. This fix uses the same subdivision of the -simulation domain among processors as the main LAMMPS program. In -order to uniformly cover the simulation domain with lattice sites, the -lengths of the individual LAMMPS sub-domains must all be evenly -divisible by dx. If the simulation domain size is cubic, with equal -lengths in all dimensions, and the default value for dx is used, this -will automatically be satisfied. - -Physical parameters describing the fluid are specified through -{viscosity}, {density}, and {a0}. If the force coupling constant is -set the default way, the surface area associated with the MD particles -is specified using the {setArea} keyword. If the user chooses to -specify a value for the force coupling constant, this is set using the -{setGamma} keyword. These parameters should all be given in terms of -the mass, distance, and time units chosen for the main LAMMPS run, as -they are scaled by the LB timestep, lattice spacing, and mass unit, -inside the fix. - -:line - -The {setArea} keyword allows the user to associate a surface area with -a given atom type. For example if a spherical composite object of -radius R is represented as a spherical shell of N evenly distributed -MD particles, all of the same type, the surface area per particle -associated with that atom type should be set equal to 4*pi*R^2/N. -This keyword should only be used if the force coupling constant, -gamma, is set the default way. - -The {setGamma} keyword allows the user to specify their own value for -the force coupling constant, gamma, instead of using the default -value. - -The {scaleGamma} keyword should be used in conjunction with the -{setGamma} keyword, when the user wishes to specify different gamma -values for different atom types. This keyword allows the user to -scale the {setGamma} gamma value by a factor, gammaFactor, for a given -atom type. - -The {dx} keyword allows the user to specify a value for the LB grid -spacing. - -The {dm} keyword allows the user to specify the LB mass unit. - -If the {a0} keyword is used, the value specified is used for the -square of the speed of sound in the fluid. If this keyword is not -present, the speed of sound squared is set equal to (1/3)*(dx/dt)^2. -Setting a0 > (dx/dt)^2 is not allowed, as this may lead to -instabilities. - -If the {noise} keyword is used, followed by a positive temperature -value, and a positive integer random number seed, a thermal -lattice-Boltzmann algorithm is used. If {LBtype} is set equal to 1 -(i.e. the standard LB integrator is chosen), the thermal LB algorithm -of "Adhikari et al."_#Adhikari is used; however if {LBtype} is set -equal to 2 both the LB integrator, and thermal LB algorithm described -in "Ollila et al."_#Ollila are used. - -If the {calcforce} keyword is used, both the fluid force and torque -acting on the specified particle group are printed to the screen every -N timesteps. - -If the keyword {trilinear} is used, the trilinear stencil is used to -interpolate the particle nodes onto the fluid mesh. By default, the -immersed boundary method, Peskin stencil is used. Both of these -interpolation methods are described in "Mackay et al."_#fluid-Mackay. - -If the keyword {D3Q19} is used, the 19 velocity (D3Q19) lattice is -used by the lattice-Boltzmann algorithm. By default, the 15 velocity -(D3Q15) lattice is used. - -If the keyword {write_restart} is used, followed by a positive -integer, N, a binary restart file is printed every N LB timesteps. -This restart file only contains information about the fluid. -Therefore, a LAMMPS restart file should also be written in order to -print out full details of the simulation. - -NOTE: When a large number of lattice grid points are used, the restart -files may become quite large. - -In order to restart the fluid portion of the simulation, the keyword -{read_restart} is specified, followed by the name of the binary -lb_fluid restart file to be used. - -If the {zwall_velocity} keyword is used y-velocities are assigned to -the lower and upper walls. This keyword requires the presence of -walls in the z-direction. This is set by assigning fixed boundary -conditions in the z-direction. If fixed boundary conditions are -present in the z-direction, and this keyword is not used, the walls -are assumed to be stationary. - -If the {bodyforce} keyword is used, a constant body force is added to -the fluid, defined by it's x, y and z components. - -If the {printfluid} keyword is used, followed by a positive integer, N, -the fluid densities and velocities at each lattice site are printed to the -screen every N timesteps. - -:line - -For further details, as well as descriptions and results of several -test runs, see "Mackay et al."_#fluid-Mackay. Please include a citation to -this paper if the lb_fluid fix is used in work contributing to -published research. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Due to the large size of the fluid data, this fix writes it's own -binary restart files, if requested, independent of the main LAMMPS -"binary restart files"_restart.html; no information about {lb_fluid} -is written to the main LAMMPS "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"_Howto_output.html. 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 fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix can only be used with an orthogonal simulation domain. - -Walls have only been implemented in the z-direction. Therefore, the -boundary conditions, as specified via the main LAMMPS boundary command -must be periodic for x and y, and either fixed or periodic for z. -Shrink-wrapped boundary conditions are not permitted with this fix. - -This fix must be used before any of "fix -lb/viscous"_fix_lb_viscous.html, "fix -lb/momentum"_fix_lb_momentum.html, "fix -lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html, and/ or "fix -lb/pc"_fix_lb_pc.html , as the fluid needs to be initialized before -any of these routines try to access its properties. In addition, in -order for the hydrodynamic forces to be added to the particles, this -fix must be used in conjunction with the -"lb/viscous"_fix_lb_viscous.html fix if the force coupling constant is -set by default, or either the "lb/viscous"_fix_lb_viscous.html fix or -one of the "lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html or -"lb/pc"_fix_lb_pc.html integrators, if the user chooses to specify -their own value for the force coupling constant. - -[Related commands:] - -"fix lb/viscous"_fix_lb_viscous.html, "fix -lb/momentum"_fix_lb_momentum.html, "fix -lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html, "fix -lb/pc"_fix_lb_pc.html - -[Default:] - -By default, the force coupling constant is set according to - -:c,image(Eqs/fix_lb_fluid_gammadefault.jpg) - -and an area of dx_lb^2 per node, used to calculate the fluid mass at -the particle node location, is assumed. - -dx is chosen such that tau/(delta t_LB) = -(3 eta dt_LB)/(rho dx_lb^2) is approximately equal to 1. -dm is set equal to 1.0. -a0 is set equal to (1/3)*(dx_lb/dt_lb)^2. -The Peskin stencil is used as the default interpolation method. -The D3Q15 lattice is used for the lattice-Boltzmann algorithm. -If walls are present, they are assumed to be stationary. - -:line - -:link(Ollila) -[(Ollila et al.)] Ollila, S.T.T., Denniston, C., Karttunen, M., and Ala-Nissila, T., Fluctuating lattice-Boltzmann model for complex fluids, J. Chem. Phys. 134 (2011) 064902. - -:link(fluid-Mackay) -[(Mackay et al.)] Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. - -:link(Mackay2) -[(Mackay and Denniston)] Mackay, F. E., and Denniston, C., Coupling MD particles to a lattice-Boltzmann fluid through the use of conservative forces, J. Comput. Phys. 237 (2013) 289-298. - -:link(Adhikari) -[(Adhikari et al.)] Adhikari, R., Stratford, K., Cates, M. E., and Wagner, A. J., Fluctuating lattice Boltzmann, Europhys. Lett. 71 (2005) 473-479. diff --git a/doc/txt/fix_lb_momentum.txt b/doc/txt/fix_lb_momentum.txt deleted file mode 100644 index 408978f64c40cb1eff59995ed62481c1200b4960..0000000000000000000000000000000000000000 --- a/doc/txt/fix_lb_momentum.txt +++ /dev/null @@ -1,73 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix lb/momentum command :h3 - -[Syntax:] - -fix ID group-ID lb/momentum nevery keyword values ... :pre - -ID, group-ID are documented in the "fix"_fix.html command :ulb,l -lb/momentum = style name of this fix command :l -nevery = adjust the momentum every this many timesteps :l -zero or more keyword/value pairs may be appended :l -keyword = {linear} :l - {linear} values = xflag yflag zflag - xflag,yflag,zflag = 0/1 to exclude/include each dimension. :pre -:ule - -[Examples:] - -fix 1 sphere lb/momentum -fix 1 all lb/momentum linear 1 1 0 :pre - -[Description:] - -This fix is based on the "fix momentum"_fix_momentum.html command, and -was created to be used in place of that command, when a -lattice-Boltzmann fluid is present. - -Zero the total linear momentum of the system, including both the atoms -specified by group-ID and the lattice-Boltzmann fluid every nevery -timesteps. This is accomplished by adjusting the particle velocities -and the fluid velocities at each lattice site. - -NOTE: This fix only considers the linear momentum of the system. - -By default, the subtraction is performed for each dimension. This can -be changed by specifying the keyword {linear}, along with a set of -three flags set to 0/1 in order to exclude/ include the corresponding -dimension. - -[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"_Howto_output.html. -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:] - -Can only be used if a lattice-Boltzmann fluid has been created via the -"fix lb/fluid"_fix_lb_fluid.html command, and must come after this -command. - -This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix momentum"_fix_momentum.html, "fix lb/fluid"_fix_lb_fluid.html - -[Default:] - -Zeros the total system linear momentum in each dimension. diff --git a/doc/txt/fix_lb_pc.txt b/doc/txt/fix_lb_pc.txt deleted file mode 100644 index 05b5eb20a21ce268024eda47782fae035496efb2..0000000000000000000000000000000000000000 --- a/doc/txt/fix_lb_pc.txt +++ /dev/null @@ -1,62 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix lb/pc command :h3 - -[Syntax:] - -fix ID group-ID lb/pc :pre - -ID, group-ID are documented in the "fix"_fix.html command -lb/pc = style name of this fix command :ul - -[Examples:] - -fix 1 all lb/pc :pre - -[Description:] - -Update the positions and velocities of the individual particles -described by {group-ID}, experiencing velocity-dependent hydrodynamic -forces, using the integration algorithm described in "Mackay et -al."_#Mackay1. This integration algorithm should only be used if a -user-specified value for the force-coupling constant used in "fix -lb/fluid"_fix_lb_fluid.html has been set; do not use this integration -algorithm if the force coupling constant has been set by default. - -[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"_Howto_output.html. -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 fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Can only be used if a lattice-Boltzmann fluid has been created via the -"fix lb/fluid"_fix_lb_fluid.html command, and must come after this -command. - -[Related commands:] - -"fix lb/fluid"_fix_lb_fluid.html "fix -lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html - -[Default:] None. - -:line - -:link(Mackay1) -[(Mackay et al.)] Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. diff --git a/doc/txt/fix_lb_rigid_pc_sphere.txt b/doc/txt/fix_lb_rigid_pc_sphere.txt deleted file mode 100644 index ddaa552ecc15165daa71f813b532e3737f5f6e80..0000000000000000000000000000000000000000 --- a/doc/txt/fix_lb_rigid_pc_sphere.txt +++ /dev/null @@ -1,146 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix lb/rigid/pc/sphere command :h3 - -[Syntax:] - -fix ID group-ID lb/rigid/pc/sphere bodystyle args keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -lb/rigid/pc/sphere = style name of this fix command :l -bodystyle = {single} or {molecule} or {group} :l - {single} args = none - {molecule} args = none - {group} args = N groupID1 groupID2 ... - N = # of groups :pre -zero or more keyword/value pairs may be appended :l -keyword = {force} or {torque} or {innerNodes} :l - {force} values = M xflag yflag zflag - M = which rigid body from 1-Nbody (see asterisk form below) - xflag,yflag,zflag = off/on if component of center-of-mass force is active - {torque} values = M xflag yflag zflag - M = which rigid body from 1-Nbody (see asterisk form below) - xflag,yflag,zflag = off/on if component of center-of-mass torque is active - {innerNodes} values = innergroup-ID - innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid :pre -:ule - -[Examples:] - -fix 1 spheres lb/rigid/pc/sphere -fix 1 all lb/rigid/pc/sphere force 1 0 0 innerNodes ForceAtoms :pre - -[Description:] - -This fix is based on the "fix rigid"_fix_rigid.html command, and was -created to be used in place of that fix, to integrate the equations of -motion of spherical rigid bodies when a lattice-Boltzmann fluid is -present with a user-specified value of the force-coupling constant. -The fix uses the integration algorithm described in "Mackay et -al."_#Mackay to update the positions, velocities, and orientations of -a set of spherical rigid bodies experiencing velocity dependent -hydrodynamic forces. The spherical bodies are assumed to rotate as -solid, uniform density spheres, with moments of inertia calculated -using the combined sum of the masses of all the constituent particles -(which are assumed to be point particles). - -:line - -By default, all of the atoms that this fix acts on experience a -hydrodynamic force due to the presence of the lattice-Boltzmann fluid. -However, the {innerNodes} keyword allows the user to specify atoms -belonging to a rigid object which do not interact with the -lattice-Boltzmann fluid (i.e. these atoms do not feel a hydrodynamic -force from the lattice-Boltzmann fluid). This can be used to -distinguish between atoms on the surface of a non-porous object, and -those on the inside. - -This feature can be used, for example, when implementing a hard sphere -interaction between two spherical objects. Instead of interactions -occurring between the particles on the surfaces of the two spheres, it -is desirable simply to place an atom at the center of each sphere, -which does not contribute to the hydrodynamic force, and have these -central atoms interact with one another. - -:line - -Apart from the features described above, this fix is very similar to -the rigid fix (although it includes fewer optional arguments, and -assumes the constituent atoms are point particles); see -"fix rigid"_fix_rigid.html for a complete documentation. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about the {rigid} and {rigid/nve} fixes are written to -"binary restart files"_restart.html. - -Similar to the "fix rigid"_fix_rigid.html command: The rigid fix -computes a global scalar which can be accessed by various "output -commands"_Howto_output.html. The scalar value calculated by these -fixes is "intensive". The scalar is the current temperature of the -collection of rigid bodies. This is averaged over all rigid bodies -and their translational and rotational degrees of freedom. The -translational energy of a rigid body is 1/2 m v^2, where m = total -mass of the body and v = the velocity of its center of mass. The -rotational energy of a rigid body is 1/2 I w^2, where I = the moment -of inertia tensor of the body and w = its angular velocity. Degrees -of freedom constrained by the {force} and {torque} keywords are -removed from this calculation. - -All of these fixes compute a global array of values which can be -accessed by various "output commands"_Howto_output.html. The number -of rows in the array is equal to the number of rigid bodies. The -number of columns is 15. Thus for each rigid body, 15 values are -stored: the xyz coords of the center of mass (COM), the xyz components -of the COM velocity, the xyz components of the force acting on the -COM, the xyz components of the torque acting on the COM, and the xyz -image flags of the COM, which have the same meaning as image flags for -atom positions (see the "dump" command). The force and torque values -in the array are not affected by the {force} and {torque} keywords in -the fix rigid command; they reflect values before any changes are made -by those keywords. - -The ordering of the rigid bodies (by row in the array) is as follows. -For the {single} keyword there is just one rigid body. For the -{molecule} keyword, the bodies are ordered by ascending molecule ID. -For the {group} keyword, the list of group IDs determines the ordering -of bodies. - -The array values calculated by these fixes are "intensive", meaning -they are independent of the number of atoms in the simulation. - -No parameter of these fixes can be used with the {start/stop} keywords -of the "run"_run.html command. These fixes are not invoked during -"energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Can only be used if a lattice-Boltzmann fluid has been created via the -"fix lb/fluid"_fix_lb_fluid.html command, and must come after this -command. Should only be used if the force coupling constant used in -"fix lb/fluid"_fix_lb_fluid.html has been set by the user; this -integration fix cannot be used if the force coupling constant is set -by default. - -[Related commands:] - -"fix lb/fluid"_fix_lb_fluid.html, "fix lb/pc"_fix_lb_pc.html - -[Default:] - -The defaults are force * on on on, and torque * on on on. - -:line - -:link(Mackay) -[(Mackay et al.)] Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. diff --git a/doc/txt/fix_lb_viscous.txt b/doc/txt/fix_lb_viscous.txt deleted file mode 100644 index ba91a2cd541984096f79925097f2c38d9db17eee..0000000000000000000000000000000000000000 --- a/doc/txt/fix_lb_viscous.txt +++ /dev/null @@ -1,94 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix lb/viscous command :h3 - -[Syntax:] - -fix ID group-ID lb/viscous :pre - -ID, group-ID are documented in "fix"_fix.html command -lb/viscous = style name of this fix command :ul - -[Examples:] - -fix 1 flow lb/viscous - -[Description:] - -This fix is similar to the "fix viscous"_fix_viscous.html command, and -is to be used in place of that command when a lattice-Boltzmann fluid -is present, and the user wishes to integrate the particle motion using -one of the built in LAMMPS integrators. - -This fix adds a force, F = - Gamma*(velocity-fluid_velocity), to each -atom, where Gamma is the force coupling constant described in the "fix -lb/fluid"_fix_lb_fluid.html command (which applies an equal and -opposite force to the fluid). - -NOTE: This fix should only be used in conjunction with one of the -built in LAMMPS integrators; it should not be used with the "fix -lb/pc"_fix_lb_pc.html or "fix -lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html integrators, which -already include the hydrodynamic forces. These latter fixes should -only be used if the force coupling constant has been set by the user -(instead of using the default value); if the default force coupling -value is used, then this fix provides the only method for adding the -hydrodynamic forces to the particles. - -:line - -For further details, as well as descriptions and results of several -test runs, see "Mackay et al."_#Mackay3. Please include a citation to -this paper if this fix is used in work contributing to published -research. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -As described in the "fix viscous"_fix_viscous.html documentation: - -"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"_Howto_output.html. -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. This fix should only -be used with damped dynamics minimizers that allow for -non-conservative forces. See the "min_style"_min_style.html command -for details." - -[Restrictions:] - -This fix is part of the USER-LB package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Can only be used if a lattice-Boltzmann fluid has been created via the -"fix lb/fluid"_fix_lb_fluid.html command, and must come after this -command. - -This fix should not be used if either the "fix lb/pc"_fix_lb_pc.html -or "fix lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html integrator is -used. - -[Related commands:] - -"fix lb/fluid"_fix_lb_fluid.html, "fix lb/pc"_fix_lb_pc.html, "fix -lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html - -[Default:] none - -:line - -:link(Mackay3) -[(Mackay et al.)] Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. diff --git a/doc/txt/fix_lineforce.txt b/doc/txt/fix_lineforce.txt deleted file mode 100644 index 3114ed62501e3c3c3581ae06a154c45de0d92996..0000000000000000000000000000000000000000 --- a/doc/txt/fix_lineforce.txt +++ /dev/null @@ -1,51 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix lineforce command :h3 - -[Syntax:] - -fix ID group-ID lineforce x y z :pre - -ID, group-ID are documented in "fix"_fix.html command -lineforce = style name of this fix command -x y z = direction of line as a 3-vector :ul - -[Examples:] - -fix hold boundary lineforce 0.0 1.0 1.0 :pre - -[Description:] - -Adjust the forces on each atom in the group so that only the component -of force along the linear direction specified by the vector (x,y,z) -remains. This is done by subtracting out components of force in the -plane perpendicular to the line. - -If the initial velocity of the atom is 0.0 (or along the line), then -it should continue to move along the line thereafter. - -[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"_Howto_output.html. -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -[Restrictions:] none - -[Related commands:] - -"fix planeforce"_fix_planeforce.html - -[Default:] none diff --git a/doc/txt/fix_manifoldforce.txt b/doc/txt/fix_manifoldforce.txt deleted file mode 100644 index a25b9f0b2e1c47d951d81906580dc6d011e32ea6..0000000000000000000000000000000000000000 --- a/doc/txt/fix_manifoldforce.txt +++ /dev/null @@ -1,66 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix manifoldforce command :h3 - -[Syntax:] - -fix ID group-ID manifoldforce manifold manifold-args ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -manifold = name of the manifold :l -manifold-args = parameters for the manifold :l - -:ule - -[Examples:] - -fix constrain all manifoldforce sphere 5.0 - -[Description:] - -This fix subtracts each time step from the force the component along -the normal of the specified "manifold"_Howto_manifold.html. This can be -used in combination with "minimize"_minimize.html to remove overlap -between particles while keeping them (roughly) constrained to the -given manifold, e.g. to set up a run with "fix -nve/manifold/rattle"_fix_nve_manifold_rattle.html. I have found that -only {hftn} and {quickmin} with a very small time step perform -adequately though. - -: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"_Howto_output.html. -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. This fix is invoked during "energy -minimization"_minimize.html. - -:line - -[Restrictions:] - -This fix is part of the USER-MANIFOLD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Only use this with {min_style hftn} or {min_style quickmin}. If not, -the constraints will not be satisfied very well at all. A warning is -generated if the {min_style} is incompatible but no error. - -:line - -[Related commands:] - -"fix nve/manifold/rattle"_fix_nve_manifold_rattle.html, "fix -nvt/manifold/rattle"_fix_nvt_manifold_rattle.html - diff --git a/doc/txt/fix_meso.txt b/doc/txt/fix_meso.txt deleted file mode 100644 index 8c0ce5a9b7b729b42ce2f13a3c612c1ea46cd096..0000000000000000000000000000000000000000 --- a/doc/txt/fix_meso.txt +++ /dev/null @@ -1,52 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix meso command :h3 - -[Syntax:] - -fix ID group-ID meso :pre - -ID, group-ID are documented in "fix"_fix.html command -meso = style name of this fix command :ul - -[Examples:] - -fix 1 all meso :pre - -[Description:] - -Perform time integration to update position, velocity, internal energy -and local density for atoms in the group each timestep. This fix is -needed to time-integrate mesoscopic systems where particles carry -internal variables such as SPH or DPDE. - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -[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"_Howto_output.html. -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 fix is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix meso/stationary" - -[Default:] none diff --git a/doc/txt/fix_meso_move.txt b/doc/txt/fix_meso_move.txt deleted file mode 100644 index abd6e0cca155309890c2cfde5b2a13a66849b0aa..0000000000000000000000000000000000000000 --- a/doc/txt/fix_meso_move.txt +++ /dev/null @@ -1,233 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix meso/move command :h3 - -[Syntax:] - -fix ID group-ID meso/move style args keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -meso/move = style name of this fix command :l -style = {linear} or {wiggle} or {rotate} or {variable} :l - {linear} args = Vx Vy Vz - Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL - {wiggle} args = Ax Ay Az period - Ax,Ay,Az = components of amplitude vector (distance units), any component can be specified as NULL - period = period of oscillation (time units) - {rotate} args = Px Py Pz Rx Ry Rz period - Px,Py,Pz = origin point of axis of rotation (distance units) - Rx,Ry,Rz = axis of rotation vector - period = period of rotation (time units) - {variable} args = v_dx v_dy v_dz v_vx v_vy v_vz - v_dx,v_dy,v_dz = 3 variable names that calculate x,y,z displacement as function of time, any component can be specified as NULL - v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL :pre - -zero or more keyword/value pairs may be appended :l -keyword = {units} :l - {units} value = {box} or {lattice} :pre -:ule - -[Examples:] - -fix 1 boundary meso/move wiggle 3.0 0.0 0.0 1.0 units box -fix 2 boundary meso/move rotate 0.0 0.0 0.0 0.0 0.0 1.0 5.0 -fix 2 boundary meso/move variable v_myx v_myy NULL v_VX v_VY NULL :pre - -[Description:] - -Perform updates of position, velocity, internal energy and local -density for mesoscopic particles in the group each timestep using the -specified settings or formulas, without regard to forces on the -particles. This can be useful for boundary, solid bodies or other -particles, whose movement can influence nearby particles. - -The operation of this fix is exactly like that described by the -"fix move"_fix_move.html command, except that particles' density, -internal energy and extrapolated velocity are also updated. - -NOTE: The particles affected by this fix should not be time integrated -by other fixes (e.g. "fix meso"_fix_meso.html, "fix -meso/stationary"_fix_meso_stationary.html), since that will change their -positions and velocities twice. - -NOTE: As particles move due to this fix, they will pass through periodic -boundaries and be remapped to the other side of the simulation box, -just as they would during normal time integration (e.g. via the "fix -meso"_fix_meso.html command). It is up to you to decide whether periodic -boundaries are appropriate with the kind of particle motion you are -prescribing with this fix. - -NOTE: As discussed below, particles are moved relative to their initial -position at the time the fix is specified. These initial coordinates -are stored by the fix in "unwrapped" form, by using the image flags -associated with each particle. See the "dump custom"_dump.html command -for a discussion of "unwrapped" coordinates. See the Atoms section of -the "read_data"_read_data.html command for a discussion of image flags -and how they are set for each particle. You can reset the image flags -(e.g. to 0) before invoking this fix by using the "set image"_set.html -command. - -:line - -The {linear} style moves particles at a constant velocity, so that their -position {X} = (x,y,z) as a function of time is given in vector -notation as - -X(t) = X0 + V * delta :pre - -where {X0} = (x0,y0,z0) is their position at the time the fix is -specified, {V} is the specified velocity vector with components -(Vx,Vy,Vz), and {delta} is the time elapsed since the fix was -specified. This style also sets the velocity of each particle to V = -(Vx,Vy,Vz). If any of the velocity components is specified as NULL, -then the position and velocity of that component is time integrated -the same as the "fix meso"_fix_meso.html command would perform, using -the corresponding force component on the particle. - -Note that the {linear} style is identical to using the {variable} -style with an "equal-style variable"_variable.html that uses the -vdisplace() function. E.g. - -variable V equal 10.0 -variable x equal vdisplace(0.0,$V) -fix 1 boundary move variable v_x NULL NULL v_V NULL NULL :pre - -The {wiggle} style moves particles in an oscillatory fashion, so that -their position {X} = (x,y,z) as a function of time is given in vector -notation as - -X(t) = X0 + A sin(omega*delta) :pre - -where {X0} = (x0,y0,z0) is their position at the time the fix is -specified, {A} is the specified amplitude vector with components -(Ax,Ay,Az), {omega} is 2 PI / {period}, and {delta} is the time -elapsed since the fix was specified. This style also sets the -velocity of each particle to the time derivative of this expression. -If any of the amplitude components is specified as NULL, then the -position and velocity of that component is time integrated the same as -the "fix meso"_fix_meso.html command would perform, using the -corresponding force component on the particle. - -Note that the {wiggle} style is identical to using the {variable} -style with "equal-style variables"_variable.html that use the -swiggle() and cwiggle() functions. E.g. - -variable A equal 10.0 -variable T equal 5.0 -variable omega equal 2.0*PI/$T -variable x equal swiggle(0.0,$A,$T) -variable v equal v_omega*($A-cwiggle(0.0,$A,$T)) -fix 1 boundary move variable v_x NULL NULL v_v NULL NULL :pre - -The {rotate} style rotates particles around a rotation axis {R} = -(Rx,Ry,Rz) that goes through a point {P} = (Px,Py,Pz). The {period} of -the rotation is also specified. The direction of rotation for the -particles around the rotation axis is consistent with the right-hand -rule: if your right-hand thumb points along {R}, then your fingers wrap -around the axis in the direction of rotation. - -This style also sets the velocity of each particle to (omega cross -Rperp) where omega is its angular velocity around the rotation axis and -Rperp is a perpendicular vector from the rotation axis to the particle. - -The {variable} style allows the position and velocity components of -each particle to be set by formulas specified via the -"variable"_variable.html command. Each of the 6 variables is -specified as an argument to the fix as v_name, where name is the -variable name that is defined elsewhere in the input script. - -Each variable must be of either the {equal} or {atom} style. -{Equal}-style variables compute a single numeric quantity, that can be -a function of the timestep as well as of other simulation values. -{Atom}-style variables compute a numeric quantity for each particle, that -can be a function per-atom quantities, such as the particle's position, as -well as of the timestep and other simulation values. Note that this -fix stores the original coordinates of each particle (see note below) so -that per-atom quantity can be used in an atom-style variable formula. -See the "variable"_variable.html command for details. - -The first 3 variables (v_dx,v_dy,v_dz) specified for the {variable} -style are used to calculate a displacement from the particle's original -position at the time the fix was specified. The second 3 variables -(v_vx,v_vy,v_vz) specified are used to compute a velocity for each -particle. - -Any of the 6 variables can be specified as NULL. If both the -displacement and velocity variables for a particular x,y,z component -are specified as NULL, then the position and velocity of that -component is time integrated the same as the "fix meso"_fix_meso.html -command would perform, using the corresponding force component on the -particle. If only the velocity variable for a component is specified as -NULL, then the displacement variable will be used to set the position -of the particle, and its velocity component will not be changed. If only -the displacement variable for a component is specified as NULL, then -the velocity variable will be used to set the velocity of the particle, -and the position of the particle will be time integrated using that -velocity. - -The {units} keyword determines the meaning of the distance units used -to define the {linear} velocity and {wiggle} amplitude and {rotate} -origin. This setting is ignored for the {variable} style. A {box} -value selects standard units as defined by the "units"_units.html -command, e.g. velocity in Angstroms/fmsec and amplitude and position -in Angstroms for units = real. A {lattice} value means the velocity -units are in lattice spacings per time and the amplitude and position -are in lattice spacings. The "lattice"_lattice.html command must have -been previously used to define the lattice spacing. Each of these 3 -quantities may be dependent on the x,y,z dimension, since the lattice -spacings can be different in x,y,z. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the original coordinates of moving particles to "binary -restart files"_restart.html, as well as the initial timestep, so that -the motion can be continuous in a restarted simulation. See the -"read_restart"_read_restart.html command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. - -NOTE: Because the move positions are a function of the current -timestep and the initial timestep, you cannot reset the timestep to a -different value after reading a restart file, if you expect a fix move -command to work in an uninterrupted fashion. - -None of the "fix_modify"_fix_modify.html options are relevant to this -fix. - -This fix produces a per-atom array which can be accessed by various -"output commands"_Howto_output.html. The number of columns for each -atom is 3, and the columns store the original unwrapped x,y,z coords -of each particle. The per-atom values can be accessed on any timestep. - -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 fix is part of the USER-SDPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms store density and internal energy as -defined by the "atom_style meso"_atom_style.html command. - -All particles in the group must be mesoscopic SPH/SDPD particles. - -[Related commands:] - -"fix move"_fix_move.html, "fix meso"_fix_meso.html, -"displace_atoms"_displace_atoms.html - -[Default:] - -The option default is units = lattice. diff --git a/doc/txt/fix_meso_stationary.txt b/doc/txt/fix_meso_stationary.txt deleted file mode 100644 index 1a546efec06e64e6f125b53e006f78db7e2f5d69..0000000000000000000000000000000000000000 --- a/doc/txt/fix_meso_stationary.txt +++ /dev/null @@ -1,53 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix meso/stationary command :h3 - -[Syntax:] - -fix ID group-ID meso/stationary :pre - -ID, group-ID are documented in "fix"_fix.html command -meso = style name of this fix command :ul - -[Examples:] - -fix 1 boundary meso/stationary :pre - -[Description:] - -Perform time integration to update internal energy and local density, -but not position or velocity for atoms in the group each timestep. -This fix is needed for SPH simulations to correctly time-integrate -fixed boundary particles which constrain a fluid to a given region in -space. - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -[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"_Howto_output.html. -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 fix is part of the USER-SPH package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix meso" - -[Default:] none diff --git a/doc/txt/fix_modify.txt b/doc/txt/fix_modify.txt deleted file mode 100644 index f7882c58f7301d3d632ba3a64106884391582e1d..0000000000000000000000000000000000000000 --- a/doc/txt/fix_modify.txt +++ /dev/null @@ -1,157 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix_modify command :h3 - -[Syntax:] - -fix_modify fix-ID keyword value ... :pre - -fix-ID = ID of the fix to modify :ulb,l -one or more keyword/value pairs may be appended :l -keyword = {temp} or {press} or {energy} or {virial} or {respa} or {dynamic/dof} or {bodyforces} :l - {temp} value = compute ID that calculates a temperature - {press} value = compute ID that calculates a pressure - {energy} value = {yes} or {no} - {virial} value = {yes} or {no} - {respa} value = {1} to {max respa level} or {0} (for outermost level) - {dynamic/dof} value = {yes} or {no} - yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature - {bodyforces} value = {early} or {late} - early/late = compute rigid-body forces/torques early or late in the timestep :pre -:ule - -[Examples:] - -fix_modify 3 temp myTemp press myPress -fix_modify 1 energy yes -fix_modify tether respa 2 :pre - -[Description:] - -Modify one or more parameters of a previously defined fix. Only -specific fix styles support specific parameters. See the doc pages -for individual fix commands for info on which ones support which -fix_modify parameters. - -The {temp} keyword is used to determine how a fix computes -temperature. The specified compute ID must have been previously -defined by the user via the "compute"_compute.html command and it must -be a style of compute that calculates a temperature. All fixes that -compute temperatures define their own compute by default, as described -in their documentation. Thus this option allows the user to override -the default method for computing T. - -The {press} keyword is used to determine how a fix computes pressure. -The specified compute ID must have been previously defined by the user -via the "compute"_compute.html command and it must be a style of -compute that calculates a pressure. All fixes that compute pressures -define their own compute by default, as described in their -documentation. Thus this option allows the user to override the -default method for computing P. - -The {energy} keyword can be used with fixes that support it. -{energy yes} adds a contribution to the potential energy of the -system. The fix's global and per-atom -energy is included in the calculation performed by the "compute -pe"_compute_pe.html or "compute pe/atom"_compute_pe_atom.html -commands. See the "thermo_style"_thermo_style.html command for info -on how potential energy is output. For fixes that tally a global -energy, it can be printed by using the keyword f_ID in the -thermo_style custom command, where ID is the fix-ID of the appropriate -fix. - -NOTE: You must also specify the {energy yes} setting for a fix if you -are using it when performing an "energy minimization"_minimize.html -and if you want the energy and forces it produces to be part of the -optimization criteria. - -The {virial} keyword can be used with fixes that support it. -{virial yes} adds a contribution to the virial of the -system. The fix's global and per-atom -virial is included in the calculation performed by the "compute -pressure"_compute_pressure.html or -"compute stress/atom"_compute_stress_atom.html -commands. See the "thermo_style"_thermo_style.html command for info -on how pressure is output. - -NOTE: You must specify the {virial yes} setting for a fix if you -are doing "box relaxation"_fix_box_relax.html and -if you want virial contribution of the fix to be part of the -relaxation criteria, although this seems unlikely. - -NOTE: This option is only supported by fixes that explicitly say -so. For some of these (e.g. the "fix shake"_fix_shake.html command) -the default setting is {virial yes}, for others it is {virial no}. - -For fixes that set or modify forces, it may be possible to select at -which "r-RESPA"_run_style.html level the fix operates via the {respa} -keyword. The RESPA level at which the fix is active can be selected. -This is a number ranging from 1 to the number of levels. If the RESPA -level is larger than the current maximum, the outermost level will be -used, which is also the default setting. This default can be restored -using a value of {0} for the RESPA level. The affected fix has to be -enabled to support this feature; if not, {fix_modify} will report an -error. Active fixes with a custom RESPA level setting are reported -with their specified level at the beginning of a r-RESPA run. - -The {dynamic/dof} keyword determines whether the number of atoms N in -the fix group and their associated degrees of freedom are re-computed -each time a temperature is computed. Only fix styles that calculate -their own internal temperature use this option. Currently this is -only the "fix rigid/nvt/small"_fix_rigid.html and "fix -rigid/npt/small"_fix_rigid.html commands for the purpose of -thermostatting rigid body translation and rotation. By default, N and -their DOF are assumed to be constant. If you are adding atoms or -molecules to the system (see the "fix pour"_fix_pour.html, "fix -deposit"_fix_deposit.html, and "fix gcmc"_fix_gcmc.html commands) or -expect atoms or molecules to be lost (e.g. due to exiting the -simulation box or via "fix evaporate"_fix_evaporate.html), then -this option should be used to insure the temperature is correctly -normalized. - -NOTE: Other thermostatting fixes, such as "fix nvt"_fix_nh.html, do -not use the {dynamic/dof} keyword because they use a temperature -compute to calculate temperature. See the "compute_modify -dynamic/dof"_compute_modify.html command for a similar way to insure -correct temperature normalization for those thermostats. - -The {bodyforces} keyword determines whether the forces and torques -acting on rigid bodies are computed {early} at the post-force stage of -each timestep (right after per-atom forces have been computed and -communicated among processors), or {late} at the final-integrate stage -of each timestep (after any other fixes have finished their post-force -tasks). Only the rigid-body integration fixes use this option, which -includes "fix rigid"_fix_rigid.html and "fix -rigid/small"_fix_rigid.html, and their variants, and also "fix -poems"_fix_poems.html. - -The default is {late}. If there are other fixes that add forces to -individual atoms, then the rigid-body constraints will include these -forces when time-integrating the rigid bodies. If {early} is -specified, then new fixes can be written that use or modify the -per-body force and torque, before time-integration of the rigid bodies -occurs. Note however this has the side effect, that fixes such as -"fix addforce"_fix_addforce.html, "fix setforce"_fix_setforce.html, -"fix spring"_fix_spring.html, which add forces to individual atoms -will have no effect on the motion of the rigid bodies if they are -specified in the input script after the fix rigid command. LAMMPS -will give a warning if that is the case. - -[Restrictions:] none - -[Related commands:] - -"fix"_fix.html, "compute temp"_compute_temp.html, "compute -pressure"_compute_pressure.html, "thermo_style"_thermo_style.html - -[Default:] - -The option defaults are temp = ID defined by fix, press = ID defined -by fix, energy = no, virial = different for each fix style, respa = 0, -bodyforce = late. diff --git a/doc/txt/fix_momentum.txt b/doc/txt/fix_momentum.txt deleted file mode 100644 index aeedad07197163423a2a3db32025095294fbf676..0000000000000000000000000000000000000000 --- a/doc/txt/fix_momentum.txt +++ /dev/null @@ -1,97 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix momentum command :h3 -fix momentum/kk command :h3 - -[Syntax:] - -fix ID group-ID momentum N keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -momentum = style name of this fix command :l -N = adjust the momentum every this many timesteps -one or more keyword/value pairs may be appended :l -keyword = {linear} or {angular} or {rescale} :l - {linear} values = xflag yflag zflag - xflag,yflag,zflag = 0/1 to exclude/include each dimension - {angular} values = none :pre - {rescale} values = none :pre -:ule - -[Examples:] - -fix 1 all momentum 1 linear 1 1 0 -fix 1 all momentum 1 linear 1 1 1 rescale -fix 1 all momentum 100 linear 1 1 1 angular :pre - -[Description:] - -Zero the linear and/or angular momentum of the group of atoms every N -timesteps by adjusting the velocities of the atoms. One (or both) of -the {linear} or {angular} keywords must be specified. - -If the {linear} keyword is used, the linear momentum is zeroed by -subtracting the center-of-mass velocity of the group from each atom. -This does not change the relative velocity of any pair of atoms. One -or more dimensions can be excluded from this operation by setting the -corresponding flag to 0. - -If the {angular} keyword is used, the angular momentum is zeroed by -subtracting a rotational component from each atom. - -This command can be used to insure the entire collection of atoms (or -a subset of them) does not drift or rotate during the simulation due -to random perturbations (e.g. "fix langevin"_fix_langevin.html -thermostatting). - -The {rescale} keyword enables conserving the kinetic energy of the group -of atoms by rescaling the velocities after the momentum was removed. - -Note that the "velocity"_velocity.html command can be used to create -initial velocities with zero aggregate linear and/or angular momentum. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[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"_Howto_output.html. -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:] none - -[Related commands:] - -"fix recenter"_fix_recenter.html, "velocity"_velocity.html - -[Default:] none diff --git a/doc/txt/fix_move.txt b/doc/txt/fix_move.txt deleted file mode 100644 index b8ccfbebfe35f55f22c229a007fc22100de3bb87..0000000000000000000000000000000000000000 --- a/doc/txt/fix_move.txt +++ /dev/null @@ -1,225 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix move command :h3 - -[Syntax:] - -fix ID group-ID move style args keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -move = style name of this fix command :l -style = {linear} or {wiggle} or {rotate} or {variable} :l - {linear} args = Vx Vy Vz - Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL - {wiggle} args = Ax Ay Az period - Ax,Ay,Az = components of amplitude vector (distance units), any component can be specified as NULL - period = period of oscillation (time units) - {rotate} args = Px Py Pz Rx Ry Rz period - Px,Py,Pz = origin point of axis of rotation (distance units) - Rx,Ry,Rz = axis of rotation vector - period = period of rotation (time units) - {variable} args = v_dx v_dy v_dz v_vx v_vy v_vz - v_dx,v_dy,v_dz = 3 variable names that calculate x,y,z displacement as function of time, any component can be specified as NULL - v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL :pre - -zero or more keyword/value pairs may be appended :l -keyword = {units} :l - {units} value = {box} or {lattice} :pre -:ule - -[Examples:] - -fix 1 boundary move wiggle 3.0 0.0 0.0 1.0 units box -fix 2 boundary move rotate 0.0 0.0 0.0 0.0 0.0 1.0 5.0 -fix 2 boundary move variable v_myx v_myy NULL v_VX v_VY NULL :pre - -[Description:] - -Perform updates of position and velocity for atoms in the group each -timestep using the specified settings or formulas, without regard to -forces on the atoms. This can be useful for boundary or other atoms, -whose movement can influence nearby atoms. - -NOTE: The atoms affected by this fix should not normally be time -integrated by other fixes (e.g. "fix nve"_fix_nve.html, "fix -nvt"_fix_nh.html), since that will change their positions and -velocities twice. - -NOTE: As atoms move due to this fix, they will pass through periodic -boundaries and be remapped to the other side of the simulation box, -just as they would during normal time integration (e.g. via the "fix -nve"_fix_nve.html command). It is up to you to decide whether -periodic boundaries are appropriate with the kind of atom motion you -are prescribing with this fix. - -NOTE: As discussed below, atoms are moved relative to their initial -position at the time the fix is specified. These initial coordinates -are stored by the fix in "unwrapped" form, by using the image flags -associated with each atom. See the "dump custom"_dump.html command -for a discussion of "unwrapped" coordinates. See the Atoms section of -the "read_data"_read_data.html command for a discussion of image flags -and how they are set for each atom. You can reset the image flags -(e.g. to 0) before invoking this fix by using the "set image"_set.html -command. - -:line - -The {linear} style moves atoms at a constant velocity, so that their -position {X} = (x,y,z) as a function of time is given in vector -notation as - -X(t) = X0 + V * delta :pre - -where {X0} = (x0,y0,z0) is their position at the time the fix is -specified, {V} is the specified velocity vector with components -(Vx,Vy,Vz), and {delta} is the time elapsed since the fix was -specified. This style also sets the velocity of each atom to V = -(Vx,Vy,Vz). If any of the velocity components is specified as NULL, -then the position and velocity of that component is time integrated -the same as the "fix nve"_fix_nve.html command would perform, using -the corresponding force component on the atom. - -Note that the {linear} style is identical to using the {variable} -style with an "equal-style variable"_variable.html that uses the -vdisplace() function. E.g. - -variable V equal 10.0 -variable x equal vdisplace(0.0,$V) -fix 1 boundary move variable v_x NULL NULL v_V NULL NULL :pre - -The {wiggle} style moves atoms in an oscillatory fashion, so that -their position {X} = (x,y,z) as a function of time is given in vector -notation as - -X(t) = X0 + A sin(omega*delta) :pre - -where {X0} = (x0,y0,z0) is their position at the time the fix is -specified, {A} is the specified amplitude vector with components -(Ax,Ay,Az), {omega} is 2 PI / {period}, and {delta} is the time -elapsed since the fix was specified. This style also sets the -velocity of each atom to the time derivative of this expression. If -any of the amplitude components is specified as NULL, then the -position and velocity of that component is time integrated the same as -the "fix nve"_fix_nve.html command would perform, using the -corresponding force component on the atom. - -Note that the {wiggle} style is identical to using the {variable} -style with "equal-style variables"_variable.html that use the -swiggle() and cwiggle() functions. E.g. - -variable A equal 10.0 -variable T equal 5.0 -variable omega equal 2.0*PI/$T -variable x equal swiggle(0.0,$A,$T) -variable v equal v_omega*($A-cwiggle(0.0,$A,$T)) -fix 1 boundary move variable v_x NULL NULL v_v NULL NULL :pre - -The {rotate} style rotates atoms around a rotation axis {R} = -(Rx,Ry,Rz) that goes through a point {P} = (Px,Py,Pz). The {period} of -the rotation is also specified. The direction of rotation for the -atoms around the rotation axis is consistent with the right-hand rule: -if your right-hand thumb points along {R}, then your fingers wrap -around the axis in the direction of rotation. - -This style also sets the velocity of each atom to (omega cross Rperp) -where omega is its angular velocity around the rotation axis and Rperp -is a perpendicular vector from the rotation axis to the atom. If the -defined "atom_style"_atom_style.html assigns an angular velocity or -angular momentum or orientation to each atom ("atom -styles"_atom_style.html sphere, ellipsoid, line, tri, body), then -those properties are also updated appropriately to correspond to the -atom's motion and rotation over time. - -The {variable} style allows the position and velocity components of -each atom to be set by formulas specified via the -"variable"_variable.html command. Each of the 6 variables is -specified as an argument to the fix as v_name, where name is the -variable name that is defined elsewhere in the input script. - -Each variable must be of either the {equal} or {atom} style. -{Equal}-style variables compute a single numeric quantity, that can be -a function of the timestep as well as of other simulation values. -{Atom}-style variables compute a numeric quantity for each atom, that -can be a function per-atom quantities, such as the atom's position, as -well as of the timestep and other simulation values. Note that this -fix stores the original coordinates of each atom (see note below) so -that per-atom quantity can be used in an atom-style variable formula. -See the "variable"_variable.html command for details. - -The first 3 variables (v_dx,v_dy,v_dz) specified for the {variable} -style are used to calculate a displacement from the atom's original -position at the time the fix was specified. The second 3 variables -(v_vx,v_vy,v_vz) specified are used to compute a velocity for each -atom. - -Any of the 6 variables can be specified as NULL. If both the -displacement and velocity variables for a particular x,y,z component -are specified as NULL, then the position and velocity of that -component is time integrated the same as the "fix nve"_fix_nve.html -command would perform, using the corresponding force component on the -atom. If only the velocity variable for a component is specified as -NULL, then the displacement variable will be used to set the position -of the atom, and its velocity component will not be changed. If only -the displacement variable for a component is specified as NULL, then -the velocity variable will be used to set the velocity of the atom, -and the position of the atom will be time integrated using that -velocity. - -The {units} keyword determines the meaning of the distance units used -to define the {linear} velocity and {wiggle} amplitude and {rotate} -origin. This setting is ignored for the {variable} style. A {box} -value selects standard units as defined by the "units"_units.html -command, e.g. velocity in Angstroms/fmsec and amplitude and position -in Angstroms for units = real. A {lattice} value means the velocity -units are in lattice spacings per time and the amplitude and position -are in lattice spacings. The "lattice"_lattice.html command must have -been previously used to define the lattice spacing. Each of these 3 -quantities may be dependent on the x,y,z dimension, since the lattice -spacings can be different in x,y,z. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the original coordinates of moving atoms to "binary -restart files"_restart.html, as well as the initial timestep, so that -the motion can be continuous in a restarted simulation. See the -"read_restart"_read_restart.html command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. - -NOTE: Because the move positions are a function of the current -timestep and the initial timestep, you cannot reset the timestep to a -different value after reading a restart file, if you expect a fix move -command to work in an uninterrupted fashion. - -None of the "fix_modify"_fix_modify.html options are relevant to this -fix. - -This fix produces a per-atom array which can be accessed by various -"output commands"_Howto_output.html. The number of columns for each -atom is 3, and the columns store the original unwrapped x,y,z coords -of each atom. The per-atom values can be accessed on any timestep. - -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. - -For "rRESPA time integration"_run_style.html, this fix adjusts the -position and velocity of atoms on the outermost rRESPA level. - -[Restrictions:] none - -[Related commands:] - -"fix nve"_fix_nve.html, "displace_atoms"_displace_atoms.html - -[Default:] none - -The option default is units = lattice. diff --git a/doc/txt/fix_mscg.txt b/doc/txt/fix_mscg.txt deleted file mode 100644 index 1ad780412756a117c28e8ac193295206e153c811..0000000000000000000000000000000000000000 --- a/doc/txt/fix_mscg.txt +++ /dev/null @@ -1,130 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix mscg command :h3 - -[Syntax:] - -fix ID group-ID mscg N keyword args ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -mscg = style name of this fix command :l -N = envoke this fix every this many timesteps :l -zero or more keyword/value pairs may be appended :l -keyword = {range} or {name} or {max} :l - {range} arg = {on} or {off} - {on} = range finding functionality is performed - {off} = force matching functionality is performed - {name} args = name1 ... nameN - name1,...,nameN = string names for each atom type (1-Ntype) - {max} args = maxb maxa maxd - maxb,maxa,maxd = maximum bonds/angles/dihedrals per atom :pre -:ule - -[Examples:] - -fix 1 all mscg 1 -fix 1 all mscg 1 range name A B -fix 1 all mscg 1 max 4 8 20 :pre - -[Description:] - -This fix applies the Multi-Scale Coarse-Graining (MSCG) method to -snapshots from a dump file to generate potentials for coarse-grained -simulations from all-atom simulations, using a force-matching -technique ("Izvekov"_#Izvekov, "Noid"_#Noid). - -It makes use of the MS-CG library, written and maintained by Greg -Voth's group at the University of Chicago, which is freely available -on their "MS-CG GitHub -site"_https://github.com/uchicago-voth/MSCG-release. See instructions -on obtaining and installing the MS-CG library in the src/MSCG/README -file, which must be done before you build LAMMPS with this fix command -and use the command in a LAMMPS input script. - -An example script using this fix is provided the examples/mscg -directory. - -The general workflow for using LAMMPS in conjunction with the MS-CG -library to create a coarse-grained model and run coarse-grained -simulations is as follows: - -Perform all-atom simulations on the system to be coarse grained. -Generate a trajectory mapped to the coarse-grained model. -Create input files for the MS-CG library. -Run the range finder functionality of the MS-CG library. -Run the force matching functionality of the MS-CG library. -Check the results of the force matching. -Run coarse-grained simulations using the new coarse-grained potentials. :ol - -This fix can perform the range finding and force matching steps 4 and -5 of the above workflow when used in conjunction with the -"rerun"_rerun.html command. It does not perform steps 1-3 and 6-7. - -Step 2 can be performed using a Python script (what is the name?) -provided with the MS-CG library which defines the coarse-grained model -and converts a standard LAMMPS dump file for an all-atom simulation -(step 1) into a LAMMPS dump file which has the positions of and forces -on the coarse-grained beads. - -In step 3, an input file named "control.in" is needed by the MS-CG -library which sets parameters for the range finding and force matching -functionalities. See the examples/mscg/control.in file as an example. -And see the documentation provided with the MS-CG library for more -info on this file. - -When this fix is used to perform steps 4 and 5, the MS-CG library also -produces additional output files. The range finder functionality -(step 4) outputs files defining pair and bonded interaction ranges. -The force matching functionality (step 5) outputs tabulated force -files for every interaction in the system. Other diagnostic files can -also be output depending on the parameters in the MS-CG library input -script. Again, see the documentation provided with the MS-CG library -for more info. - -:line - -The {range} keyword specifies which MS-CG library functionality should -be invoked. If {on}, the step 4 range finder functionality is invoked. -{off}, the step 5 force matching functionality is invoked. - -If the {name} keyword is used, string names are defined to associate -with the integer atom types in LAMMPS. {Ntype} names must be -provided, one for each atom type (1-Ntype). - -The {max} keyword specifies the maximum number of bonds, angles, and -dihedrals a bead can have in the coarse-grained model. - -[Restrictions:] - -This fix is part of the MSCG package. It is only enabled if LAMMPS was -built with that package. See the "Build package"_Build_package.html -doc page for more info. - -The MS-CG library uses C++11, which may not be supported by older -compilers. The MS-CG library also has some additional numeric library -dependencies, which are described in its documentation. - -Currently, the MS-CG library is not setup to run in parallel with MPI, -so this fix can only be used in a serial LAMMPS build and run -on a single processor. - -[Related commands:] none - -[Default:] - -The default keyword settings are range off, max 4 12 36. - -:line - -:link(Izvekov) -[(Izvekov)] Izvekov, Voth, J Chem Phys 123, 134105 (2005). - -:link(Noid) -[(Noid)] Noid, Chu, Ayton, Krishna, Izvekov, Voth, Das, Andersen, J -Chem Phys 128, 134105 (2008). diff --git a/doc/txt/fix_msst.txt b/doc/txt/fix_msst.txt deleted file mode 100644 index a46e79c5b0443a94ce85badb18fa16f977dc4e6f..0000000000000000000000000000000000000000 --- a/doc/txt/fix_msst.txt +++ /dev/null @@ -1,193 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix msst command :h3 - -[Syntax:] - -fix ID group-ID msst dir shockvel keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -msst = style name of this fix :l -dir = {x} or {y} or {z} :l -shockvel = shock velocity (strictly positive, distance/time units) :l -zero or more keyword value pairs may be appended :l -keyword = {q} or {mu} or {p0} or {v0} or {e0} or {tscale} or {beta} or {dftb} :l - {q} value = cell mass-like parameter (mass^2/distance^4 units) - {mu} value = artificial viscosity (mass/length/time units) - {p0} value = initial pressure in the shock equations (pressure units) - {v0} value = initial simulation cell volume in the shock equations (distance^3 units) - {e0} value = initial total energy (energy units) - {tscale} value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) - {dftb} value = {yes} or {no} for whether using MSST in conjunction with DFTB+ - {beta} value = scale factor for improved energy conservation :pre -:ule - -[Examples:] - -fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5 -fix 2 all msst z 50.0 q 1.0e4 mu 1.0e4 v0 4.3419e+03 p0 3.7797e+03 e0 -9.72360e+02 tscale 0.01 -fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5 dftb yes beta 0.5 :pre - -[Description:] - -This command performs the Multi-Scale Shock Technique (MSST) -integration to update positions and velocities each timestep to mimic -a compressive shock wave passing over the system. See "(Reed)"_#Reed -for a detailed description of this method. The MSST varies the cell -volume and temperature in such a way as to restrain the system to the -shock Hugoniot and the Rayleigh line. These restraints correspond to -the macroscopic conservation laws dictated by a shock -front. {shockvel} determines the steady shock velocity that will be -simulated. - -To perform a simulation, choose a value of {q} that provides volume -compression on the timescale of 100 fs to 1 ps. If the volume is not -compressing, either the shock speed is chosen to be below the material -sound speed or {p0} has been chosen inaccurately. Volume compression -at the start can be sped up by using a non-zero value of {tscale}. Use -the smallest value of {tscale} that results in compression. - -Under some special high-symmetry conditions, the pressure (volume) -and/or temperature of the system may oscillate for many cycles even -with an appropriate choice of mass-like parameter {q}. Such -oscillations have physical significance in some cases. The optional -{mu} keyword adds an artificial viscosity that helps break the system -symmetry to equilibrate to the shock Hugoniot and Rayleigh line more -rapidly in such cases. - -The keyword {tscale} is a factor between 0 and 1 that determines what -fraction of thermal kinetic energy is converted to compressive strain -kinetic energy at the start of the simulation. Setting this parameter -to a non-zero value may assist in compression at the start of -simulations where it is slow to occur. - -If keywords {e0}, {p0},or {v0} are not supplied, these quantities will -be calculated on the first step, after the energy specified by -{tscale} is removed. The value of {e0} is not used in the dynamical -equations, but is used in calculating the deviation from the Hugoniot. - -The keyword {beta} is a scaling term that can be added to the MSST -ionic equations of motion to account for drift in the conserved -quantity during long timescale simulations, similar to a Berendsen -thermostat. See "(Reed)"_#Reed and "(Goldman)"_#Goldman2 for more -details. The value of {beta} must be between 0.0 and 1.0 inclusive. -A value of 0.0 means no contribution, a value of 1.0 means a full -contribution. - -Values of shockvel less than a critical value determined by the -material response will not have compressive solutions. This will be -reflected in lack of significant change of the volume in the MSST. - -For all pressure styles, the simulation box stays orthogonal in shape. -Parrinello-Rahman boundary conditions (tilted box) are supported by -LAMMPS, but are not implemented for MSST. - -This fix computes a temperature and pressure and potential energy each -timestep. To do this, the fix creates its own computes of style "temp" -"pressure", and "pe", as if these commands had been issued: - -compute fix-ID_MSST_temp all temp -compute fix-ID_MSST_press all pressure fix-ID_MSST_temp :pre -compute fix-ID_MSST_pe all pe :pre - -See the "compute temp"_compute_temp.html and "compute -pressure"_compute_pressure.html commands for details. Note that the -IDs of the new computes are the fix-ID + "_MSST_temp" or "_MSST_press" -or "_MSST_pe". The group for the new computes is "all". - -:line - -The {dftb} keyword is to allow this fix to be used when LAMMPS is -being driven by DFTB+, a density-functional tight-binding code. If the -keyword {dftb} is used with a value of {yes}, then the MSST equations -are altered to account for the electron entropy contribution to the -Hugonio relations and total energy. See "(Reed2)"_#Reed2 and -"(Goldman)"_#Goldman2 for details on this contribution. In this case, -you must define a "fix external"_fix_external.html command in your -input script, which is used to callback to DFTB+ during the LAMMPS -timestepping. DFTB+ will communicate its info to LAMMPS via that fix. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of all internal variables to "binary restart -files"_restart.html. See the "read_restart"_read_restart.html command -for info on how to re-specify a fix in an input script that reads a -restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -The progress of the MSST can be monitored by printing the global -scalar and global vector quantities computed by the fix. - -The scalar is the cumulative energy change due to the fix. This is -also the energy added to the potential energy by the -"fix_modify"_fix_modify.html {energy} command. With this command, the -thermo keyword {etotal} prints the conserved quantity of the MSST -dynamic equations. This can be used to test if the MD timestep is -sufficiently small for accurate integration of the dynamic -equations. See also "thermo_style"_thermo_style.html command. - -The global vector contains four values in this order: - -\[{dhugoniot}, {drayleigh}, {lagrangian_speed}, {lagrangian_position}\] - -{dhugoniot} is the departure from the Hugoniot (temperature units). -{drayleigh} is the departure from the Rayleigh line (pressure units). -{lagrangian_speed} is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). -{lagrangian_position} is the computational cell position in the reference frame moving at the shock speed. This is usually a good estimate of distance of the computational cell behind the shock front. :ol - -To print these quantities to the log file with descriptive column -headers, the following LAMMPS commands are suggested: - -fix msst all msst z -fix_modify msst energy yes -variable dhug equal f_msst\[1\] -variable dray equal f_msst\[2\] -variable lgr_vel equal f_msst\[3\] -variable lgr_pos equal f_msst\[4\] -thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst :pre - -These fixes compute a global scalar and a global vector of 4 -quantities, which can be accessed by various "output -commands"_Howto_output.html. The scalar values calculated by this fix -are "extensive"; the vector values are "intensive". - -[Restrictions:] - -This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -All cell dimensions must be periodic. This fix can not be used with a -triclinic cell. The MSST fix has been tested only for the group-ID -all. - -[Related commands:] - -"fix nphug"_fix_nphug.html, "fix deform"_fix_deform.html - -[Default:] - -The keyword defaults are q = 10, mu = 0, tscale = 0.01, dftb = no, -beta = 0.0. Note that p0, v0, and e0 are calculated on the first -timestep. - -:line - -:link(Reed) -[(Reed)] Reed, Fried, and Joannopoulos, Phys. Rev. Lett., 90, 235503 -(2003). - -:link(Reed2) -[(Reed2)] Reed, J. Phys. Chem. C, 116, 2205 (2012). - -:link(Goldman2) -[(Goldman)] Goldman, Srinivasan, Hamel, Fried, Gaus, and Elstner, -J. Phys. Chem. C, 117, 7885 (2013). diff --git a/doc/txt/fix_mvv_dpd.txt b/doc/txt/fix_mvv_dpd.txt deleted file mode 100644 index 507f271469df32842ba0dbd29630c513d79c8c3c..0000000000000000000000000000000000000000 --- a/doc/txt/fix_mvv_dpd.txt +++ /dev/null @@ -1,97 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix mvv/dpd command :h3 -fix mvv/edpd command :h3 -fix mvv/tdpd command :h3 - -[Syntax:] - -fix ID group-ID mvv/dpd lambda :pre -fix ID group-ID mvv/edpd lambda :pre -fix ID group-ID mvv/tdpd lambda :pre - -ID, group-ID are documented in "fix"_fix.html command -mvv/dpd, mvv/edpd, mvv/tdpd = style name of this fix command -lambda = (optional) relaxation parameter (unitless) :ul - -[Examples:] - -fix 1 all mvv/dpd -fix 1 all mvv/dpd 0.5 -fix 1 all mvv/edpd -fix 1 all mvv/edpd 0.5 -fix 1 all mvv/tdpd -fix 1 all mvv/tdpd 0.5 :pre - -[Description:] - -Perform time integration using the modified velocity-Verlet (MVV) -algorithm to update position and velocity (fix mvv/dpd), or position, -velocity and temperature (fix mvv/edpd), or position, velocity and -concentration (fix mvv/tdpd) for particles in the group each timestep. - -The modified velocity-Verlet (MVV) algorithm aims to improve the -stability of the time integrator by using an extrapolated version of -the velocity for the force evaluation: - -:c,image(Eqs/fix_mvv_dpd.jpg) - -where the parameter λ 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 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 -"Groot"_#Groot2. - -Fix {mvv/dpd} updates the position and velocity of each atom. It can -be used with the "pair_style mdpd"_pair_meso.html command or other -pair styles such as "pair dpd"_pair_dpd.html. - -Fix {mvv/edpd} updates the per-atom temperature, in addition to -position and velocity, and must be used with the "pair_style -edpd"_pair_meso.html command. - -Fix {mvv/tdpd} updates the per-atom chemical concentration, in -addition to position and velocity, and must be used with the -"pair_style tdpd"_pair_meso.html command. - -: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"_Howto_output.html. -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 fix is part of the USER-MESO package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_style mdpd"_pair_meso.html, "pair_style edpd"_pair_meso.html, -"pair_style tdpd"_pair_meso.html - -[Default:] - -The default value for the optional {lambda} parameter is 0.5. - -:line - -:link(Groot2) -[(Groot)] Groot and Warren, J Chem Phys, 107: 4423-4435 (1997). DOI: -10.1063/1.474784 - diff --git a/doc/txt/fix_neb.txt b/doc/txt/fix_neb.txt deleted file mode 100644 index 87292bb5cdfbeffc81717d166656d8b486304f51..0000000000000000000000000000000000000000 --- a/doc/txt/fix_neb.txt +++ /dev/null @@ -1,237 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix neb command :h3 - -[Syntax:] - -fix ID group-ID neb Kspring keyword value :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -neb = style name of this fix command :l -Kspring = spring constant for parallel nudging force (force/distance units or force units, see parallel keyword) :l -zero or more keyword/value pairs may be appended :l -keyword = {parallel} or {perp} or {end} :l - {parallel} value = {neigh} or {ideal} - {neigh} = parallel nudging force based on distance to neighbor replicas (Kspring = force/distance units) - {ideal} = parallel nudging force based on interpolated ideal position (Kspring = force units) - {perp} value = {Kspring2} - {Kspring2} = spring constant for perpendicular nudging force (force/distance units) - {end} values = estyle Kspring3 - {estyle} = {first} or {last} or {last/efirst} or {last/efirst/middle} - {first} = apply force to first replica - {last} = apply force to last replica - {last/efirst} = apply force to last replica and set its target energy to that of first replica - {last/efirst/middle} = same as {last/efirst} plus prevent middle replicas having lower energy than first replica - {Kspring3} = spring constant for target energy term (1/distance units) :pre,ule - -[Examples:] - -fix 1 active neb 10.0 -fix 2 all neb 1.0 perp 1.0 end last -fix 2 all neb 1.0 perp 1.0 end first 1.0 end last 1.0 -fix 1 all neb 1.0 parallel ideal end last/efirst 1 :pre - -[Description:] - -Add nudging forces to atoms in the group for a multi-replica -simulation run via the "neb"_neb.html command to perform a nudged -elastic band (NEB) calculation for finding the transition state. -Hi-level explanations of NEB are given with the "neb"_neb.html command -and on the "Howto replica"_Howto_replica.html doc page. The fix neb -command must be used with the "neb" command and defines how -inter-replica nudging forces are computed. A NEB calculation is -divided in two stages. In the first stage n replicas are relaxed -toward a MEP until convergence. In the second stage, the climbing -image scheme (see "(Henkelman2)"_#Henkelman2) is enabled, so that the -replica having the highest energy relaxes toward the saddle point -(i.e. the point of highest energy along the MEP), and a second -relaxation is performed. - -A key purpose of the nudging forces is to keep the replicas equally -spaced. During the NEB calculation, the 3N-length vector of -interatomic force Fi = -Grad(V) for each replica I is altered. For -all intermediate replicas (i.e. for 1 < I < N, except the climbing -replica) the force vector becomes: - -Fi = -Grad(V) + (Grad(V) dot T') T' + Fnudge_parallel + Fnudge_perp :pre - -T' is the unit "tangent" vector for replica I and is a function of Ri, -Ri-1, Ri+1, and the potential energy of the 3 replicas; it points -roughly in the direction of (Ri+i - Ri-1); see the -"(Henkelman1)"_#Henkelman1 paper for details. Ri are the atomic -coordinates of replica I; Ri-1 and Ri+1 are the coordinates of its -neighbor replicas. The term (Grad(V) dot T') is used to remove the -component of the gradient parallel to the path which would tend to -distribute the replica unevenly along the path. Fnudge_parallel is an -artificial nudging force which is applied only in the tangent -direction and which maintains the equal spacing between replicas (see -below for more information). Fnudge_perp is an optional artificial -spring which is applied in a direction perpendicular to the tangent -direction and which prevent the paths from forming acute kinks (see -below for more information). - -In the second stage of the NEB calculation, the interatomic force Fi -for the climbing replica (the replica of highest energy after the -first stage) is changed to: - -Fi = -Grad(V) + 2 (Grad(V) dot T') T' :pre - -and the relaxation procedure is continued to a new converged MEP. - -:line - -The keyword {parallel} specifies how the parallel nudging force is -computed. With a value of {neigh}, the parallel nudging force is -computed as in "(Henkelman1)"_#Henkelman1 by connecting each -intermediate replica with the previous and the next image: - -Fnudge_parallel = {Kspring} * (|Ri+1 - Ri| - |Ri - Ri-1|) :pre - -Note that in this case the specified {Kspring} is in force/distance -units. - -With a value of {ideal}, the spring force is computed as suggested in -"(WeinanE)"_#WeinanE : - -Fnudge_parallel = -{Kspring} * (RD-RDideal) / (2 * meanDist) :pre - -where RD is the "reaction coordinate" see "neb"_neb.html section, and -RDideal is the ideal RD for which all the images are equally spaced. -I.e. RDideal = (I-1)*meanDist when the climbing replica is off, where -I is the replica number). The meanDist is the average distance -between replicas. Note that in this case the specified {Kspring} is -in force units. - -Note that the {ideal} form of nudging can often be more effective at -keeping the replicas equally spaced. - -:line - -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 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. - -The perpendicular spring force is given by - -Fnudge_perp = {Kspring2} * F(Ri-1,Ri,Ri+1) (Ri+1 + Ri-1 - 2 Ri) :pre - -where {Kspring2} is the specified value. F(Ri-1 Ri R+1) is a smooth -scalar function of the angle Ri-1 Ri Ri+1. It is equal to 0.0 when -the path is straight and is equal to 1 when the angle Ri-1 Ri Ri+1 is -acute. F(Ri-1 Ri R+1) is defined in "(Jonsson)"_#Jonsson. - -If {Kspring2} is set to 0.0 (the default) then no perpendicular spring -force is added. - -:line - -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 E to the -target energy ETarget. - -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 - -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 -applied to the last replica. Note that the {end} keyword can be used -twice to add forces to both the first and last replicas. - -For both these {estyle} settings, the target energy {ETarget} is set -to the initial energy of the replica (at the start of the NEB -calculation). - -If the {estyle} is specified as {last/efirst} or {last/efirst/middle}, -force is applied to the last replica, but the target energy {ETarget} -is continuously set to the energy of the first replica, as it evolves -during the NEB relaxation. - -The difference between these two {estyle} options is as follows. When -{estyle} is specified as {last/efirst}, no change is made to the -inter-replica force applied to the intermediate replicas (neither -first or last). If the initial path is too far from the MEP, an -intermediate replica may relax "faster" and reach a lower energy than -the last replica. In this case the intermediate replica will be -relaxing toward its own local minima. This behavior can be prevented -by specifying {estyle} as {last/efirst/middle} which will alter the -inter-replica force applied to intermediate replicas by removing the -contribution of the gradient to the inter-replica force. This will -only be done if a particular intermediate replica has a lower energy -than the first replica. This should effectively prevent the -intermediate replicas from over-relaxing. - -After converging a NEB calculation using an {estyle} of -{last/efirst/middle}, you should check that all intermediate replicas -have a larger energy than the first replica. If this is not the case, -the path is probably not a MEP. - -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:] - -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"_Howto_output.html. -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -as invoked by the "minimize"_minimize.html command via the -"neb"_neb.html command. - -[Restrictions:] - -This command can only be used if LAMMPS was built with the REPLICA -package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"neb"_neb.html - -[Default:] - -The option defaults are parallel = neigh, perp = 0.0, ends is not -specified (no inter-replica force on the end replicas). - -:line - -:link(Henkelman1) -[(Henkelman1)] Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000). - -:link(Henkelman2) -[(Henkelman2)] Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, -9901-9904 (2000). - -:link(WeinanE) -[(WeinanE)] E, Ren, Vanden-Eijnden, Phys Rev B, 66, 052301 (2002). - -:link(Jonsson) -[(Jonsson)] Jonsson, Mills and Jacobsen, in Classical and Quantum -Dynamics in Condensed Phase Simulations, edited by Berne, Ciccotti, -and Coker World Scientific, Singapore, 1998, p 385. - -:link(Maras1) -[(Maras)] Maras, Trushin, Stukowski, Ala-Nissila, Jonsson, -Comp Phys Comm, 205, 13-21 (2016). diff --git a/doc/txt/fix_neb_spin.txt b/doc/txt/fix_neb_spin.txt deleted file mode 100644 index e62d2972709aba063210ce4b456d0ab96302f0e7..0000000000000000000000000000000000000000 --- a/doc/txt/fix_neb_spin.txt +++ /dev/null @@ -1,76 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix neb/spin command :h3 - -[Syntax:] - -fix ID group-ID neb/spin Kspring :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -neb/spin = style name of this fix command :l -Kspring = spring constant for parallel nudging force -(force/distance units or force units, see parallel keyword) :pre,ule - -[Examples:] - -fix 1 active neb/spin 1.0 - -[Description:] - -Add nudging forces to spins in the group for a multi-replica -simulation run via the "neb/spin"_neb_spin.html command to perform a -geodesic nudged elastic band (GNEB) calculation for finding the -transition state. -Hi-level explanations of GNEB are given with the -"neb/spin"_neb_spin.html command and on the -"Howto replica"_Howto_replica.html doc page. -The fix neb/spin command must be used with the "neb/spin" command and -defines how inter-replica nudging forces are computed. A GNEB -calculation is divided in two stages. In the first stage n replicas -are relaxed toward a MEP until convergence. In the second stage, the -climbing image scheme is enabled, so that the replica having the highest -energy relaxes toward the saddle point (i.e. the point of highest energy -along the MEP), and a second relaxation is performed. - -The nudging forces are calculated as explained in -"(BessarabB)"_#BessarabB). -See this reference for more explanation about their expression. - -[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"_Howto_output.html. -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -as invoked by the "minimize"_minimize.html command via the -"neb/spin"_neb_spin.html command. - -[Restrictions:] - -This command can only be used if LAMMPS was built with the SPIN -package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"neb_spin"_neb_spin.html - -[Default:] - -none - -:line - -:link(BessarabB) -[(BessarabB)] Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, -335-347 (2015). diff --git a/doc/txt/fix_nh.txt b/doc/txt/fix_nh.txt deleted file mode 100644 index a07d4e79652761a67565461440594ec40fe84cdc..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nh.txt +++ /dev/null @@ -1,651 +0,0 @@ -<"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nvt command :h3 -fix nvt/intel command :h3 -fix nvt/kk command :h3 -fix nvt/omp command :h3 -fix npt command :h3 -fix npt/intel command :h3 -fix npt/kk command :h3 -fix npt/omp command :h3 -fix nph command :h3 -fix nph/kk command :h3 -fix nph/omp command :h3 - -[Syntax:] - -fix ID group-ID style_name keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -style_name = {nvt} or {npt} or {nph} :l -one or more keyword/value pairs may be appended :l -keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate} or {scalexy} or {scaleyz} or {scalexz} or {flip} or {fixedpoint} or {update} - {temp} values = Tstart Tstop Tdamp - Tstart,Tstop = external temperature at start/end of run - Tdamp = temperature damping parameter (time units) - {iso} or {aniso} or {tri} values = Pstart Pstop Pdamp - Pstart,Pstop = scalar external pressure at start/end of run (pressure units) - Pdamp = pressure damping parameter (time units) - {x} or {y} or {z} or {xy} or {yz} or {xz} values = Pstart Pstop Pdamp - Pstart,Pstop = external stress tensor component at start/end of run (pressure units) - Pdamp = stress damping parameter (time units) - {couple} = {none} or {xyz} or {xy} or {yz} or {xz} - {tchain} value = N - N = length of thermostat chain (1 = single thermostat) - {pchain} values = N - N length of thermostat chain on barostat (0 = no thermostat) - {mtk} value = {yes} or {no} = add in MTK adjustment term or not - {tloop} value = M - M = number of sub-cycles to perform on thermostat - {ploop} value = M - M = number of sub-cycles to perform on barostat thermostat - {nreset} value = reset reference cell every this many timesteps - {drag} value = Df - Df = drag factor added to barostat/thermostat (0.0 = no drag) - {dilate} value = dilate-group-ID - dilate-group-ID = only dilate atoms in this group due to barostat volume changes - {scalexy} value = {yes} or {no} = scale xy with ly - {scaleyz} value = {yes} or {no} = scale yz with lz - {scalexz} value = {yes} or {no} = scale xz with lz - {flip} value = {yes} or {no} = allow or disallow box flips when it becomes highly skewed - {fixedpoint} values = x y z - x,y,z = perform barostat dilation/contraction around this point (distance units) - {update} value = {dipole} or {dipole/dlm} - dipole = update dipole orientation (only for sphere variants) - dipole/dlm = use DLM integrator to update dipole orientation (only for sphere variants) :pre -:ule - -[Examples:] - -fix 1 all nvt temp 300.0 300.0 100.0 -fix 1 water npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 -fix 2 jello npt temp 300.0 300.0 100.0 tri 5.0 5.0 1000.0 -fix 2 ice nph x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 :pre - -[Description:] - -These commands perform time integration on Nose-Hoover style -non-Hamiltonian equations of motion which are designed to generate -positions and velocities sampled from the canonical (nvt), -isothermal-isobaric (npt), and isenthalpic (nph) ensembles. This -updates the position and velocity for atoms in the group each -timestep. - -The thermostatting and barostatting is achieved by adding some dynamic -variables which are coupled to the particle velocities -(thermostatting) and simulation domain dimensions (barostatting). In -addition to basic thermostatting and barostatting, these fixes can -also create a chain of thermostats coupled to the particle thermostat, -and another chain of thermostats coupled to the barostat -variables. The barostat can be coupled to the overall box volume, or -to individual dimensions, including the {xy}, {xz} and {yz} tilt -dimensions. The external pressure of the barostat can be specified as -either a scalar pressure (isobaric ensemble) or as components of a -symmetric stress tensor (constant stress ensemble). When used -correctly, the time-averaged temperature and stress tensor of the -particles will match the target values specified by Tstart/Tstop and -Pstart/Pstop. - -The equations of motion used are those of Shinoda et al in -"(Shinoda)"_#nh-Shinoda, which combine the hydrostatic equations of -Martyna, Tobias and Klein in "(Martyna)"_#nh-Martyna with the strain -energy proposed by Parrinello and Rahman in -"(Parrinello)"_#nh-Parrinello. The time integration schemes closely -follow the time-reversible measure-preserving Verlet and rRESPA -integrators derived by Tuckerman et al in "(Tuckerman)"_#nh-Tuckerman. - -:line - -The thermostat parameters for fix styles {nvt} and {npt} is specified -using the {temp} keyword. Other thermostat-related keywords are -{tchain}, {tloop} and {drag}, which are discussed below. - -The thermostat is applied to only the translational degrees of freedom -for the particles. The translational degrees of freedom can also have -a bias velocity removed before thermostatting takes place; see the -description below. The desired temperature at each timestep is a -ramped value during the run from {Tstart} to {Tstop}. The {Tdamp} -parameter is specified in time units and determines how rapidly the -temperature is relaxed. For example, a value of 10.0 means to relax -the temperature in a timespan of (roughly) 10 time units (e.g. tau or -fmsec or psec - see the "units"_units.html command). The atoms in the -fix group are the only ones whose velocities and positions are updated -by the velocity/position update portion of the integration. - -NOTE: A Nose-Hoover thermostat will not work well for arbitrary values -of {Tdamp}. If {Tdamp} is too small, the temperature can fluctuate -wildly; if it is too large, the temperature will take a very long time -to equilibrate. A good choice for many models is a {Tdamp} of around -100 timesteps. Note that this is NOT the same as 100 time units for -most "units"_units.html settings. A simple way to ensure this, is -via using an "immediate variable"_variable.html expression accessing -the thermo property 'dt', which is the length of the time step. Example: - -fix 1 all nvt temp 300.0 300.0 $(100.0*dt) :pre - - -:line - -The barostat parameters for fix styles {npt} and {nph} is specified -using one or more of the {iso}, {aniso}, {tri}, {x}, {y}, {z}, {xy}, -{xz}, {yz}, and {couple} keywords. These keywords give you the -ability to specify all 6 components of an external stress tensor, and -to couple various of these components together so that the dimensions -they represent are varied together during a constant-pressure -simulation. - -Other barostat-related keywords are {pchain}, {mtk}, {ploop}, -{nreset}, {drag}, and {dilate}, which are discussed below. - -Orthogonal simulation boxes have 3 adjustable dimensions (x,y,z). -Triclinic (non-orthogonal) simulation boxes have 6 adjustable -dimensions (x,y,z,xy,xz,yz). The "create_box"_create_box.html, "read -data"_read_data.html, and "read_restart"_read_restart.html commands -specify whether the simulation box is orthogonal or non-orthogonal -(triclinic) and explain the meaning of the xy,xz,yz tilt factors. - -The target pressures for each of the 6 components of the stress tensor -can be specified independently via the {x}, {y}, {z}, {xy}, {xz}, {yz} -keywords, which correspond to the 6 simulation box dimensions. For -each component, the external pressure or tensor component at each -timestep is a ramped value during the run from {Pstart} to {Pstop}. -If a target pressure is specified for a component, then the -corresponding box dimension will change during a simulation. For -example, if the {y} keyword is used, the y-box length will change. If -the {xy} keyword is used, the xy tilt factor will change. A box -dimension will not change if that component is not specified, although -you have the option to change that dimension via the "fix -deform"_fix_deform.html command. - -Note that in order to use the {xy}, {xz}, or {yz} keywords, the -simulation box must be triclinic, even if its initial tilt factors are -0.0. - -For all barostat keywords, the {Pdamp} parameter operates like the -{Tdamp} parameter, determining the time scale on which pressure is -relaxed. For example, a value of 10.0 means to relax the pressure in -a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see -the "units"_units.html command). - -NOTE: A Nose-Hoover barostat will not work well for arbitrary values -of {Pdamp}. If {Pdamp} is too small, the pressure and volume can -fluctuate wildly; if it is too large, the pressure will take a very -long time to equilibrate. A good choice for many models is a {Pdamp} -of around 1000 timesteps. However, note that {Pdamp} is specified in -time units, and that timesteps are NOT the same as time units for most -"units"_units.html settings. - -Regardless of what atoms are in the fix group (the only atoms which -are time integrated), a global pressure or stress tensor is computed -for all atoms. Similarly, when the size of the simulation box is -changed, all atoms are re-scaled to new positions, unless the keyword -{dilate} is specified with a {dilate-group-ID} for a group that -represents a subset of the atoms. This can be useful, for example, to -leave the coordinates of atoms in a solid substrate unchanged and -controlling the pressure of a surrounding fluid. This option should -be used with care, since it can be unphysical to dilate some atoms and -not others, because it can introduce large, instantaneous -displacements between a pair of atoms (one dilated, one not) that are -far from the dilation origin. Also note that for atoms not in the fix -group, a separate time integration fix like "fix nve"_fix_nve.html or -"fix nvt"_fix_nh.html can be used on them, independent of whether they -are dilated or not. - -:line - -The {couple} keyword allows two or three of the diagonal components of -the pressure tensor to be "coupled" together. The value specified -with the keyword determines which are coupled. For example, {xz} -means the {Pxx} and {Pzz} components of the stress tensor are coupled. -{Xyz} means all 3 diagonal components are coupled. Coupling means two -things: the instantaneous stress will be computed as an average of the -corresponding diagonal components, and the coupled box dimensions will -be changed together in lockstep, meaning coupled dimensions will be -dilated or contracted by the same percentage every timestep. The -{Pstart}, {Pstop}, {Pdamp} parameters for any coupled dimensions must -be identical. {Couple xyz} can be used for a 2d simulation; the {z} -dimension is simply ignored. - -:line - -The {iso}, {aniso}, and {tri} keywords are simply shortcuts that are -equivalent to specifying several other keywords together. - -The keyword {iso} means couple all 3 diagonal components together when -pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using "iso Pstart Pstop Pdamp" is the same as -specifying these 4 keywords: - -x Pstart Pstop Pdamp -y Pstart Pstop Pdamp -z Pstart Pstop Pdamp -couple xyz :pre - -The keyword {aniso} means {x}, {y}, and {z} dimensions are controlled -independently using the {Pxx}, {Pyy}, and {Pzz} components of the -stress tensor as the driving forces, and the specified scalar external -pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying -these 4 keywords: - -x Pstart Pstop Pdamp -y Pstart Pstop Pdamp -z Pstart Pstop Pdamp -couple none :pre - -The keyword {tri} means {x}, {y}, {z}, {xy}, {xz}, and {yz} dimensions -are controlled independently using their individual stress components -as the driving forces, and the specified scalar pressure as the -external normal stress. Using "tri Pstart Pstop Pdamp" is the same as -specifying these 7 keywords: - -x Pstart Pstop Pdamp -y Pstart Pstop Pdamp -z Pstart Pstop Pdamp -xy 0.0 0.0 Pdamp -yz 0.0 0.0 Pdamp -xz 0.0 0.0 Pdamp -couple none :pre - -:line - -In some cases (e.g. for solids) the pressure (volume) and/or -temperature of the system can oscillate undesirably when a Nose/Hoover -barostat and thermostat is applied. The optional {drag} keyword will -damp these oscillations, although it alters the Nose/Hoover equations. -A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged. -A non-zero value adds a drag term; the larger the value specified, the -greater the damping effect. Performing a short run and monitoring the -pressure and temperature is the best way to determine if the drag term -is working. Typically a value between 0.2 to 2.0 is sufficient to -damp oscillations after a few periods. Note that use of the drag -keyword will interfere with energy conservation and will also change -the distribution of positions and velocities so that they do not -correspond to the nominal NVT, NPT, or NPH ensembles. - -An alternative way to control initial oscillations is to use chain -thermostats. The keyword {tchain} determines the number of thermostats -in the particle thermostat. A value of 1 corresponds to the original -Nose-Hoover thermostat. The keyword {pchain} specifies the number of -thermostats in the chain thermostatting the barostat degrees of -freedom. A value of 0 corresponds to no thermostatting of the -barostat variables. - -The {mtk} keyword controls whether or not the correction terms due to -Martyna, Tuckerman, and Klein are included in the equations of motion -"(Martyna)"_#nh-Martyna. Specifying {no} reproduces the original -Hoover barostat, whose volume probability distribution function -differs from the true NPT and NPH ensembles by a factor of 1/V. Hence -using {yes} is more correct, but in many cases the difference is -negligible. - -The keyword {tloop} can be used to improve the accuracy of integration -scheme at little extra cost. The initial and final updates of the -thermostat variables are broken up into {tloop} sub-steps, each of -length {dt}/{tloop}. This corresponds to using a first-order -Suzuki-Yoshida scheme "(Tuckerman)"_#nh-Tuckerman. The keyword {ploop} -does the same thing for the barostat thermostat. - -The keyword {nreset} controls how often the reference dimensions used -to define the strain energy are reset. If this keyword is not used, -or is given a value of zero, then the reference dimensions are set to -those of the initial simulation domain and are never changed. If the -simulation domain changes significantly during the simulation, then -the final average pressure tensor will differ significantly from the -specified values of the external stress tensor. A value of {nstep} -means that every {nstep} timesteps, the reference dimensions are set -to those of the current simulation domain. - -The {scaleyz}, {scalexz}, and {scalexy} keywords control whether or -not the corresponding tilt factors are scaled with the associated box -dimensions when barostatting triclinic periodic cells. The default -values {yes} will turn on scaling, which corresponds to adjusting the -linear dimensions of the cell while preserving its shape. Choosing -{no} ensures that the tilt factors are not scaled with the box -dimensions. See below for restrictions and default values in different -situations. In older versions of LAMMPS, scaling of tilt factors was -not performed. The old behavior can be recovered by setting all three -scale keywords to {no}. - -The {flip} keyword allows the tilt factors for a triclinic box to -exceed half the distance of the parallel box length, as discussed -below. If the {flip} value is set to {yes}, the bound is enforced by -flipping the box when it is exceeded. If the {flip} value is set to -{no}, the tilt will continue to change without flipping. Note that if -applied stress induces large deformations (e.g. in a liquid), this -means the box shape can tilt dramatically and LAMMPS will run less -efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor's irregular-shaped sub-domain. -For extreme values of tilt, LAMMPS may also lose atoms and generate an -error. - -The {fixedpoint} keyword specifies the fixed point for barostat volume -changes. By default, it is the center of the box. Whatever point is -chosen will not move during the simulation. For example, if the lower -periodic boundaries pass through (0,0,0), and this point is provided -to {fixedpoint}, then the lower periodic boundaries will remain at -(0,0,0), while the upper periodic boundaries will move twice as -far. In all cases, the particle trajectories are unaffected by the -chosen value, except for a time-dependent constant translation of -positions. - -If the {update} keyword is used with the {dipole} value, then the -orientation of the dipole moment of each particle is also updated -during the time integration. This option should be used for models -where a dipole moment is assigned to finite-size particles, -e.g. spheroids via use of the "atom_style hybrid sphere -dipole"_atom_style.html command. - -The default dipole orientation integrator can be changed to the -Dullweber-Leimkuhler-McLachlan integration scheme -"(Dullweber)"_#nh-Dullweber when using {update} with the value -{dipole/dlm}. This integrator is symplectic and time-reversible, -giving better energy conservation and allows slightly longer timesteps -at only a small additional computational cost. - -:line - -NOTE: Using a barostat coupled to tilt dimensions {xy}, {xz}, {yz} can -sometimes result in arbitrarily large values of the tilt dimensions, -i.e. a dramatically deformed simulation box. LAMMPS allows the tilt -factors to grow a small amount beyond the normal limit of half the box -length (0.6 times the box length), and then performs a box "flip" to -an equivalent periodic cell. See the discussion of the {flip} keyword -above, to allow this bound to be exceeded, if desired. - -The flip operation is described in more detail in the doc page for -"fix deform"_fix_deform.html. Both the barostat dynamics and the atom -trajectories are unaffected by this operation. However, if a tilt -factor is incremented by a large amount (1.5 times the box length) on -a single timestep, LAMMPS can not accommodate this event and will -terminate the simulation with an error. This error typically indicates -that there is something badly wrong with how the simulation was -constructed, such as specifying values of {Pstart} that are too far -from the current stress value, or specifying a timestep that is too -large. Triclinic barostatting should be used with care. This also is -true for other barostat styles, although they tend to be more -forgiving of insults. In particular, it is important to recognize that -equilibrium liquids can not support a shear stress and that -equilibrium solids can not support shear stresses that exceed the -yield stress. - -One exception to this rule is if the 1st dimension in the tilt factor -(x for xy) is non-periodic. In that case, the limits on the tilt -factor are not enforced, since flipping the box in that dimension does -not change the atom positions due to non-periodicity. In this mode, -if you tilt the system to extreme angles, the simulation will simply -become inefficient due to the highly skewed simulation box. - -NOTE: Unlike the "fix temp/berendsen"_fix_temp_berendsen.html command -which performs thermostatting but NO time integration, these fixes -perform thermostatting/barostatting AND time integration. Thus you -should not use any other time integration fix, such as "fix -nve"_fix_nve.html on atoms to which this fix is applied. Likewise, -fix nvt and fix npt should not normally be used on atoms that also -have their temperature controlled by another fix - e.g. by "fix -langevin"_fix_nh.html or "fix temp/rescale"_fix_temp_rescale.html -commands. - -See the "Howto thermostat"_Howto_thermostat.html and "Howto -barostat"_Howto_barostat.html doc pages for a discussion of different -ways to compute temperature and perform thermostatting and -barostatting. - -:line - -These fixes compute a temperature and pressure each timestep. To do -this, the thermostat and barostat fixes create their own computes of -style "temp" and "pressure", as if one of these sets of commands had -been issued: - -For fix nvt: -compute fix-ID_temp group-ID temp - -For fix npt and fix nph: -compute fix-ID_temp all temp -compute fix-ID_press all pressure fix-ID_temp :pre - -For fix nvt, the group for the new temperature compute is the same as -the fix group. For fix npt and fix nph, the group for both the new -temperature and pressure compute is "all" since pressure is computed -for the entire system. In the case of fix nph, the temperature -compute is not used for thermostatting, but just for a kinetic-energy -contribution to the pressure. See the "compute -temp"_compute_temp.html and "compute pressure"_compute_pressure.html -commands for details. Note that the IDs of the new computes are the -fix-ID + underscore + "temp" or fix_ID + underscore + "press". - -Note that these are NOT the computes used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} -and {thermo_press}. This means you can change the attributes of these -fix's temperature or pressure via the -"compute_modify"_compute_modify.html command. Or you can print this -temperature or pressure during thermodynamic output via the -"thermo_style custom"_thermo_style.html command using the appropriate -compute-ID. It also means that changing attributes of {thermo_temp} -or {thermo_press} will have no effect on this fix. - -Like other fixes that perform thermostatting, fix nvt and fix npt can -be used with "compute commands"_compute.html that calculate a -temperature after removing a "bias" from the atom velocities. -E.g. removing the center-of-mass velocity from a group of atoms or -only calculating temperature on the x-component of velocity or only -calculating temperature for atoms in a geometric region. This is not -done by default, but only if the "fix_modify"_fix_modify.html command -is used to assign a temperature compute to this fix that includes such -a bias term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -:line - -These fixes can be used with either the {verlet} or {respa} -"integrators"_run_style.html. When using one of the barostat fixes -with {respa}, LAMMPS uses an integrator constructed -according to the following factorization of the Liouville propagator -(for two rRESPA levels): - -:c,image(Eqs/fix_nh1.jpg) - -This factorization differs somewhat from that of Tuckerman et al, in -that the barostat is only updated at the outermost rRESPA level, -whereas Tuckerman's factorization requires splitting the pressure into -pieces corresponding to the forces computed at each rRESPA level. In -theory, the latter method will exhibit better numerical stability. In -practice, because Pdamp is normally chosen to be a large multiple of -the outermost rRESPA timestep, the barostat dynamics are not the -limiting factor for numerical stability. Both factorizations are -time-reversible and can be shown to preserve the phase space measure -of the underlying non-Hamiltonian equations of motion. - -NOTE: This implementation has been shown to conserve linear momentum -up to machine precision under NVT dynamics. Under NPT dynamics, -for a system with zero initial total linear momentum, the total -momentum fluctuates close to zero. It may occasionally undergo brief -excursions to non-negligible values, before returning close to zero. -Over long simulations, this has the effect of causing the center-of-mass -to undergo a slow random walk. This can be mitigated by resetting -the momentum at infrequent intervals using the -"fix momentum"_fix_momentum.html command. - -:line - -The fix npt and fix nph commands can be used with rigid bodies or -mixtures of rigid bodies and non-rigid particles (e.g. solvent). But -there are also "fix rigid/npt"_fix_rigid.html and "fix -rigid/nph"_fix_rigid.html commands, which are typically a more natural -choice. See the doc page for those commands for more discussion of -the various ways to do this. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -These fixes writes the state of all the thermostat and barostat -variables to "binary restart files"_restart.html. See the -"read_restart"_read_restart.html command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by these fixes. You can use them to assign a -"compute"_compute.html you have defined to this fix which will be used -in its thermostatting or barostatting procedure, as described above. -If you do this, note that the kinetic energy derived from the compute -temperature should be consistent with the virial term computed using -all atoms for the pressure. LAMMPS will warn you if you choose to -compute temperature on a subset of atoms. - -NOTE: If both the {temp} and {press} keywords are used in a single -thermo_modify command (or in two separate commands), then the order in -which the keywords are specified is important. Note that a "pressure -compute"_compute_pressure.html defines its own temperature compute as -an argument when it is specified. The {temp} keyword will override -this (for the pressure compute being used by fix npt), but only if the -{temp} keyword comes after the {press} keyword. If the {temp} keyword -comes before the {press} keyword, then the new pressure compute -specified by the {press} keyword will be unaffected by the {temp} -setting. - -The "fix_modify"_fix_modify.html {energy} option is supported by these -fixes to add the energy change induced by Nose/Hoover thermostatting -and barostatting to the system's potential energy as part of -"thermodynamic output"_thermo_style.html. - -These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various "output commands"_Howto_output.html. -The scalar value calculated by these fixes is "extensive"; the vector -values are "intensive". - -The scalar is the cumulative energy change due to the fix. - -The vector stores internal Nose/Hoover thermostat and barostat -variables. The number and meaning of the vector values depends on -which fix is used and the settings for keywords {tchain} and {pchain}, -which specify the number of Nose/Hoover chains for the thermostat and -barostat. If no thermostatting is done, then {tchain} is 0. If no -barostatting is done, then {pchain} is 0. In the following list, -"ndof" is 0, 1, 3, or 6, and is the number of degrees of freedom in -the barostat. Its value is 0 if no barostat is used, else its value -is 6 if any off-diagonal stress tensor component is barostatted, else -its value is 1 if {couple xyz} is used or {couple xy} for a 2d -simulation, otherwise its value is 3. - -The order of values in the global vector and their meaning is as -follows. The notation means there are tchain values for eta, followed -by tchain for eta_dot, followed by ndof for omega, etc: - -eta\[tchain\] = particle thermostat displacements (unitless) -eta_dot\[tchain\] = particle thermostat velocities (1/time units) -omega\[ndof\] = barostat displacements (unitless) -omega_dot\[ndof\] = barostat velocities (1/time units) -etap\[pchain\] = barostat thermostat displacements (unitless) -etap_dot\[pchain\] = barostat thermostat velocities (1/time units) -PE_eta\[tchain\] = potential energy of each particle thermostat displacement (energy units) -KE_eta_dot\[tchain\] = kinetic energy of each particle thermostat velocity (energy units) -PE_omega\[ndof\] = potential energy of each barostat displacement (energy units) -KE_omega_dot\[ndof\] = kinetic energy of each barostat velocity (energy units) -PE_etap\[pchain\] = potential energy of each barostat thermostat displacement (energy units) -KE_etap_dot\[pchain\] = kinetic energy of each barostat thermostat velocity (energy units) -PE_strain\[1\] = scalar strain energy (energy units) :ul - -These fixes can ramp their external temperature and pressure over -multiple runs, using the {start} and {stop} keywords of the -"run"_run.html command. See the "run"_run.html command for details of -how to do this. - -These fixes are not invoked during "energy -minimization"_minimize.html. - -:line - -[Restrictions:] - -{X}, {y}, {z} cannot be barostatted if the associated dimension is not -periodic. {Xy}, {xz}, and {yz} can only be barostatted if the -simulation domain is triclinic and the 2nd dimension in the keyword -({y} dimension in {xy}) is periodic. {Z}, {xz}, and {yz}, cannot be -barostatted for 2D simulations. The "create_box"_create_box.html, -"read data"_read_data.html, and "read_restart"_read_restart.html -commands specify whether the simulation box is orthogonal or -non-orthogonal (triclinic) and explain the meaning of the xy,xz,yz -tilt factors. - -For the {temp} keyword, the final Tstop cannot be 0.0 since it would -make the external T = 0.0 at some timestep during the simulation which -is not allowed in the Nose/Hoover formulation. - -The {scaleyz yes} and {scalexz yes} keyword/value pairs can not be used -for 2D simulations. {scaleyz yes}, {scalexz yes}, and {scalexy yes} options -can only be used if the 2nd dimension in the keyword is periodic, -and if the tilt factor is not coupled to the barostat via keywords -{tri}, {yz}, {xz}, and {xy}. - -These fixes can be used with dynamic groups as defined by the -"group"_group.html command. Likewise they can be used with groups to -which atoms are added or deleted over time, e.g. a deposition -simulation. However, the conservation properties of the thermostat -and barostat are defined for systems with a static set of atoms. You -may observe odd behavior if the atoms in a group vary dramatically -over time or the atom count becomes very small. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix_modify"_fix_modify.html, -"run_style"_run_style.html - -[Default:] - -The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = 1, -ploop = 1, nreset = 0, drag = 0.0, dilate = all, couple = none, -flip = yes, scaleyz = scalexz = scalexy = yes if periodic in 2nd -dimension and not coupled to barostat, otherwise no. - -:line - -:link(nh-Martyna) -[(Martyna)] Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). - -:link(nh-Parrinello) -[(Parrinello)] Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). - -:link(nh-Tuckerman) -[(Tuckerman)] Tuckerman, Alejandre, Lopez-Rendon, Jochim, and -Martyna, J Phys A: Math Gen, 39, 5629 (2006). - -:link(nh-Shinoda) -[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). - -:link(nh-Dullweber) -[(Dullweber)] Dullweber, Leimkuhler and McLachlan, J Chem Phys, 107, -5840 (1997). diff --git a/doc/txt/fix_nh_eff.txt b/doc/txt/fix_nh_eff.txt deleted file mode 100644 index d7c045770860e1792dacb682170f6e64034282e6..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nh_eff.txt +++ /dev/null @@ -1,142 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nvt/eff command :h3 -fix npt/eff command :h3 -fix nph/eff command :h3 - -[Syntax:] - -fix ID group-ID style_name keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -style_name = {nvt/eff} or {npt/eff} or {nph/eff} :l -one or more keyword value pairs may be appended -keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {xy} or {yz} or {xz} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate} - {temp} values = Tstart Tstop Tdamp - Tstart,Tstop = external temperature at start/end of run - Tdamp = temperature damping parameter (time units) - {iso} or {aniso} or {tri} values = Pstart Pstop Pdamp - Pstart,Pstop = scalar external pressure at start/end of run (pressure units) - Pdamp = pressure damping parameter (time units) - {x} or {y} or {z} or {xy} or {yz} or {xz} values = Pstart Pstop Pdamp - Pstart,Pstop = external stress tensor component at start/end of run (pressure units) - Pdamp = stress damping parameter (time units) - {couple} = {none} or {xyz} or {xy} or {yz} or {xz} - {tchain} value = length of thermostat chain (1 = single thermostat) - {pchain} values = length of thermostat chain on barostat (0 = no thermostat) - {mtk} value = {yes} or {no} = add in MTK adjustment term or not - {tloop} value = number of sub-cycles to perform on thermostat - {ploop} value = number of sub-cycles to perform on barostat thermostat - {nreset} value = reset reference cell every this many timesteps - {drag} value = drag factor added to barostat/thermostat (0.0 = no drag) - {dilate} value = {all} or {partial} :pre -:ule - -[Examples:] - -fix 1 all nvt/eff temp 300.0 300.0 0.1 -fix 1 part npt/eff temp 300.0 300.0 0.1 iso 0.0 0.0 1.0 -fix 2 part npt/eff temp 300.0 300.0 0.1 tri 5.0 5.0 1.0 -fix 2 ice nph/eff x 1.0 1.0 0.5 y 2.0 2.0 0.5 z 3.0 3.0 0.5 yz 0.1 0.1 0.5 xz 0.2 0.2 0.5 xy 0.3 0.3 0.5 nreset 1000 :pre - -[Description:] - -These commands perform time integration on Nose-Hoover style -non-Hamiltonian equations of motion for nuclei and electrons in the -group for the "electron force field"_pair_eff.html model. The fixes -are designed to generate positions and velocities sampled from the -canonical (nvt), isothermal-isobaric (npt), and isenthalpic (nph) -ensembles. This is achieved by adding some dynamic variables which -are coupled to the particle velocities (thermostatting) and simulation -domain dimensions (barostatting). In addition to basic thermostatting -and barostatting, these fixes can also create a chain of thermostats -coupled to the particle thermostat, and another chain of thermostats -coupled to the barostat variables. The barostat can be coupled to the -overall box volume, or to individual dimensions, including the {xy}, -{xz} and {yz} tilt dimensions. The external pressure of the barostat -can be specified as either a scalar pressure (isobaric ensemble) or as -components of a symmetric stress tensor (constant stress ensemble). -When used correctly, the time-averaged temperature and stress tensor -of the particles will match the target values specified by -Tstart/Tstop and Pstart/Pstop. - -The operation of these fixes is exactly like that described by the -"fix nvt, npt, and nph"_fix_nh.html commands, except that the radius -and radial velocity of electrons are also updated. Likewise the -temperature and pressure calculated by the fix, using the computes it -creates (as discussed in the "fix nvt, npt, and nph"_fix_nh.html -doc page), are performed with computes that include the eFF contribution -to the temperature or kinetic energy from the electron radial velocity. - -NOTE: there are two different pressures that can be reported for eFF -when defining the pair_style (see "pair eff/cut"_pair_eff.html to -understand these settings), one (default) that considers electrons do -not contribute radial virial components (i.e. electrons treated as -incompressible 'rigid' spheres) and one that does. The radial -electronic contributions to the virials are only tallied if the -flexible pressure option is set, and this will affect both global and -per-atom quantities. In principle, the true pressure of a system is -somewhere in between the rigid and the flexible eFF pressures, but, -for most cases, the difference between these two pressures will not be -significant over long-term averaged runs (i.e. even though the energy -partitioning changes, the total energy remains similar). - -NOTE: currently, there is no available option for the user to set or -create temperature distributions that include the radial electronic -degrees of freedom with the "velocity"_velocity.html command, so the -the user must allow for these degrees of freedom to equilibrate -(i.e. equi-partitioning of energy) through time integration. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -See the doc page for the "fix nvt, npt, and nph"_fix_nh.html commands -for details. - -[Restrictions:] - -This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Other restriction discussed on the doc page for the "fix nvt, npt, and -nph"_fix_nh.html commands also apply. - -NOTE: The temperature for systems (regions or groups) with only -electrons and no nuclei is 0.0 (i.e. not defined) in the current -temperature calculations, a practical example would be a uniform -electron gas or a very hot plasma, where electrons remain delocalized -from the nuclei. This is because, even though electron virials are -included in the temperature calculation, these are averaged over the -nuclear degrees of freedom only. In such cases a corrective term must -be added to the pressure to get the correct kinetic contribution. - -[Related commands:] - -"fix nvt"_fix_nh.html, "fix nph"_fix_nh.html, "fix npt"_fix_nh.html, -"fix_modify"_fix_modify.html, "run_style"_run_style.html - -[Default:] - -The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = -ploop = 1, nreset = 0, drag = 0.0, dilate = all, and couple = none. - -:line - -:link(Martyna1) -[(Martyna)] Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). - -:link(Parrinello) -[(Parrinello)] Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). - -:link(Tuckerman1) -[(Tuckerman)] Tuckerman, Alejandre, Lopez-Rendon, Jochim, and -Martyna, J Phys A: Math Gen, 39, 5629 (2006). - -:link(Shinoda2) -[(Shinoda)] Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). diff --git a/doc/txt/fix_nh_uef.txt b/doc/txt/fix_nh_uef.txt deleted file mode 100644 index 4d58ee7c4976b36f3fa80c6d2962f88fa8036291..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nh_uef.txt +++ /dev/null @@ -1,228 +0,0 @@ -<"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nvt/uef command :h3 -fix npt/uef command :h3 - -[Syntax:] - -fix ID group-ID style_name erate edot_x edot_y temp Tstart Tstop Tdamp keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -style_name = {nvt/uef} or {npt/uef} :l -{Tstart}, {Tstop}, and {Tdamp} are documented in the "fix npt"_fix_nh.html command :l -{edot_x} and {edot_y} are the strain rates in the x and y directions (1/(time units)) :l -one or more keyword/value pairs may be appended :l -keyword = {ext} or {strain} or {iso} or {x} or {y} or {z} or {tchain} or {pchain} or {tloop} or {ploop} or {mtk} - {ext} value = {x} or {y} or {z} or {xy} or {yz} or {xz} = external dimensions - sets the external dimensions used to calculate the scalar pressure - {strain} values = e_x e_y = initial strain - usually not needed, but may be needed to resume a run with a data file. - {iso}, {x}, {y}, {z}, {tchain}, {pchain}, {tloop}, {ploop}, {mtk} keywords - documented by the "fix npt"_fix_nh.html command :pre -:ule - -[Examples:] - -fix uniax_nvt all nvt/uef temp 400 400 100 erate 0.00001 -0.000005 -fix biax_nvt all nvt/uef temp 400 400 100 erate 0.000005 0.000005 -fix uniax_npt all npt/uef temp 400 400 300 iso 1 1 3000 erate 0.00001 -0.000005 ext yz -fix biax_npt all npt/uef temp 400 400 100 erate -0.00001 0.000005 x 1 1 3000 :pre - -[Description:] - -This fix can be used to simulate non-equilibrium molecular dynamics -(NEMD) under diagonal flow fields, including uniaxial and bi-axial -flow. Simulations under continuous extensional flow may be carried -out for an indefinite amount of time. It is an implementation of the -boundary conditions from "(Dobson)"_#Dobson, and also uses numerical -lattice reduction as was proposed by "(Hunt)"_#Hunt. The lattice -reduction algorithm is from "(Semaev)"_Semaev. The fix is intended for -simulations of homogeneous flows, and integrates the SLLOD equations -of motion, originally proposed by Hoover and Ladd (see "(Evans and -Morriss)"_#Sllod). Additional detail about this implementation can be -found in "(Nicholson and Rutledge)"_#Nicholson. - -Note that NEMD simulations of a continuously strained system can be -performed using the "fix deform"_fix_deform.html, "fix -nvt/sllod"_fix_nvt_sllod.html, and "compute -temp/deform"_compute_temp_deform.html commands. - -The applied flow field is set by the {eps} keyword. The values -{edot_x} and {edot_y} correspond to the strain rates in the xx and yy -directions. It is implicitly assumed that the flow field is -traceless, and therefore the strain rate in the zz direction is eqal -to -({edot_x} + {edot_y}). - -NOTE: Due to an instability in the SLLOD equations under extension, -"fix momentum"_fix_momentum.html should be used to regularly reset the -linear momentum. - -The boundary conditions require a simulation box that does not have a -consistent alignment relative to the applied flow field. Since LAMMPS -utilizes an upper-triangular simulation box, it is not possible to -express the evolving simulation box in the same coordinate system as -the flow field. This fix keeps track of two coordinate systems: the -flow frame, and the upper triangular LAMMPS frame. The coordinate -systems are related to each other through the QR decomposition, as is -illustrated in the image below. - -:c,image(JPG/uef_frames.jpg) - -During most molecular dynamics operations, the system is represented -in the LAMMPS frame. Only when the positions and velocities are -updated is the system rotated to the flow frame, and it is rotated -back to the LAMMPS frame immediately afterwards. For this reason, all -vector-valued quantities (except for the tensors from -"compute_pressure/uef"_compute_pressure_uef.html and -"compute_temp/uef"_compute_temp_uef.html) will be computed in the -LAMMPS frame. Rotationally invariant scalar quantities like the -temperature and hydrostatic pressure are frame-invariant and will be -computed correctly. Additionally, the system is in the LAMMPS frame -during all of the output steps, and therefore trajectory files made -using the dump command will be in the LAMMPS frame unless the -"dump_cfg/uef"_dump_cfg_uef.html command is used. - -:line - -Temperature control is achieved with the default Nose-Hoover style -thermostat documented in "fix npt"_fix_nh.html. When this fix is -active, only the peculiar velocity of each atom is stored, defined as -the velocity relative to the streaming velocity. This is in contrast -to "fix nvt/sllod"_fix_nvt_sllod.html, which uses a lab-frame -velocity, and removes the contribution from the streaming velocity in -order to compute the temperature. - -Pressure control is achieved using the default Nose-Hoover barostat -documented in "fix npt"_fix_nh.html. There are two ways to control the -pressure using this fix. The first method involves using the {ext} -keyword along with the {iso} pressure style. With this method, the -pressure is controlled by scaling the simulation box isotropically to -achieve the average pressure only in the directions specified by -{ext}. For example, if the {ext} value is set to {xy}, the average -pressure (Pxx+Pyy)/2 will be controlled. - -This example command will control the total hydrostatic pressure under -uniaxial tension: - -fix f1 all npt/uef temp 0.7 0.7 0.5 iso 1 1 5 erate -0.5 -0.5 ext xyz :pre - -This example command will control the average stress in compression -directions, which would typically correspond to free surfaces under -drawing with uniaxial tension: - -fix f2 all npt/uef temp 0.7 0.7 0.5 iso 1 1 5 erate -0.5 -0.5 ext xy :pre - -The second method for pressure control involves setting the normal -stresses using the {x}, {y} , and/or {z} keywords. When using this -method, the same pressure must be specified via {Pstart} and {Pstop} -for all dimensions controlled. Any choice of pressure conditions that -would cause LAMMPS to compute a deviatoric stress are not permissible -and will result in an error. Additionally, all dimensions with -controlled stress must have the same applied strain rate. The {ext} -keyword must be set to the default value ({xyz}) when using this -method. - -For example, the following commands will work: - -fix f3 all npt/uef temp 0.7 0.7 0.5 x 1 1 5 y 1 1 5 erate -0.5 -0.5 -fix f4 all npt/uef temp 0.7 0.7 0.5 z 1 1 5 erate 0.5 0.5 :pre - -The following commands will not work: - -fix f5 all npt/uef temp 0.7 0.7 0.5 x 1 1 5 z 1 1 5 erate -0.5 -0.5 -fix f6 all npt/uef temp 0.7 0.7 0.5 x 1 1 5 z 2 2 5 erate 0.5 0.5 :pre - -:line - -These fix computes a temperature and pressure each timestep. To do -this, it creates its own computes of style "temp/uef" and -"pressure/uef", as if one of these two sets of commands had been -issued: - -compute fix-ID_temp group-ID temp/uef -compute fix-ID_press group-ID pressure/uef fix-ID_temp :pre - -compute fix-ID_temp all temp/uef -compute fix-ID_press all pressure/uef fix-ID_temp :pre - -See the "compute temp/uef"_compute_temp_uef.html and "compute -pressure/uef"_compute_pressure_uef.html commands for details. Note -that the IDs of the new computes are the fix-ID + underscore + "temp" -or fix_ID + underscore + "press". - -[Restart, fix_modify, output, run start/stop, minimize info:] - -The fix writes the state of all the thermostat and barostat variables, -as well as the cumulative strain applied, to "binary restart -files"_restart.html. See the "read_restart"_read_restart.html command -for info on how to re-specify a fix in an input script that reads a -restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -NOTE: It is not necessary to set the {strain} keyword when resuming a -run from a restart file. Only for resuming from data files, which do -not contain the cumulative applied strain, will this keyword be -necessary. - -This fix can be used with the "fix_modify"_fix_modify.html {temp} and -{press} options. The temperature and pressure computes used must be of -type {temp/uef} and {pressure/uef}. - -This fix computes the same global scalar and vector quantities as "fix -npt"_fix_nh.html. - -The fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the USER-UEF package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Due to requirements of the boundary conditions, when the {strain} -keyword is set to zero (or unset), the initial simulation box must be -cubic and have style triclinic. If the box is initially of type ortho, -use "change_box"_change_box.html before invoking the fix. - -NOTE: When resuming from restart files, you may need to use "box tilt -large"_box.html since lammps has internal criteria from lattice -reduction that are not the same as the criteria in the numerical -lattice reduction algorithm. - -[Related commands:] - -"fix nvt"_fix_nh.html, "fix nvt/sllod"_fix_nvt_sllod.html, "compute -temp/uef"_compute_temp_uef.html, "compute -pressure/uef"_compute_pressure_uef.html, "dump -cfg/uef"_dump_cfg_uef.html - -[Default:] - -The default keyword values specific to this fix are exy = xyz, strain -= 0 0. The remaining defaults are the same as for {fix -npt}_fix_nh.html except tchain = 1. The reason for this change is -given in "fix nvt/sllod"_fix_nvt_sllod.html. - -:line - -:link(Dobson) -[(Dobson)] Dobson, J Chem Phys, 141, 184103 (2014). - -:link(Hunt) -[(Hunt)] Hunt, Mol Simul, 42, 347 (2016). - -:link(Semaev) -[(Semaev)] Semaev, Cryptography and Lattices, 181 (2001). - -:link(Sllod) -[(Evans and Morriss)] Evans and Morriss, Phys Rev A, 30, 1528 (1984). - -:link(Nicholson) -[(Nicholson and Rutledge)] Nicholson and Rutledge, J Chem Phys, 145, -244903 (2016). diff --git a/doc/txt/fix_nph_asphere.txt b/doc/txt/fix_nph_asphere.txt deleted file mode 100644 index 5cabf930e73b00b9eb2e46701c026b1f37397985..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nph_asphere.txt +++ /dev/null @@ -1,152 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nph/asphere command :h3 -fix nph/asphere/omp command :h3 - -[Syntax:] - -fix ID group-ID nph/asphere args keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -nph/asphere = style name of this fix command -additional barostat related keyword/value pairs from the "fix nph"_fix_nh.html command can be appended :ul - -[Examples:] - -fix 1 all nph/asphere iso 0.0 0.0 1000.0 -fix 2 all nph/asphere x 5.0 5.0 1000.0 -fix 2 all nph/asphere x 5.0 5.0 1000.0 drag 0.2 -fix 2 water nph/asphere aniso 0.0 0.0 1000.0 dilate partial :pre - -[Description:] - -Perform constant NPH integration to update position, velocity, -orientation, and angular velocity each timestep for aspherical or -ellipsoidal particles in the group using a Nose/Hoover pressure -barostat. P is pressure; H is enthalpy. This creates a system -trajectory consistent with the isenthalpic ensemble. - -This fix differs from the "fix nph"_fix_nh.html command, which assumes -point particles and only updates their position and velocity. - -Additional parameters affecting the barostat are specified by keywords -and values documented with the "fix nph"_fix_nh.html command. See, -for example, discussion of the {aniso}, and {dilate} keywords. - -The particles in the fix group are the only ones whose velocities and -positions are updated by the velocity/position update portion of the -NPH integration. - -Regardless of what particles are in the fix group, a global pressure is -computed for all particles. Similarly, when the size of the simulation -box is changed, all particles are re-scaled to new positions, unless the -keyword {dilate} is specified with a value of {partial}, in which case -only the particles in the fix group are re-scaled. The latter can be -useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. - -:line - -This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp/asphere" and -"pressure", as if these commands had been issued: - -compute fix-ID_temp all temp/asphere -compute fix-ID_press all pressure fix-ID_temp :pre - -See the "compute temp/asphere"_compute_temp_asphere.html and "compute -pressure"_compute_pressure.html commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is "all" -since pressure is computed for the entire system. - -Note that these are NOT the computes used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} -and {thermo_press}. This means you can change the attributes of this -fix's temperature or pressure via the -"compute_modify"_compute_modify.html command or print this temperature -or pressure during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} or -{thermo_press} will have no effect on this fix. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover barostat to "binary -restart files"_restart.html. See the "read_restart"_read_restart.html -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by this fix. You can use them to assign a -"compute"_compute.html you have defined to this fix which will be used -in its thermostatting or barostatting procedure. If you do this, note -that the kinetic energy derived from the compute temperature should be -consistent with the virial term computed using all atoms for the -pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover barostatting to -the system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix nph"_fix_nh.html command. - -This fix can ramp its target pressure over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the "atom_style ellipsoid"_atom_style.html -command. - -All particles in the group must be finite-size. They cannot be point -particles, but they can be aspherical or spherical as defined by their -shape attribute. - -[Related commands:] - -"fix nph"_fix_nh.html, "fix nve_asphere"_fix_nve_asphere.html, "fix -nvt_asphere"_fix_nvt_asphere.html, "fix -npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html - -[Default:] none diff --git a/doc/txt/fix_nph_body.txt b/doc/txt/fix_nph_body.txt deleted file mode 100644 index e04c240de951965f94124617a1e88e658f5b8402..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nph_body.txt +++ /dev/null @@ -1,147 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nph/body command :h3 - -[Syntax:] - -fix ID group-ID nph/body args keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -nph/body = style name of this fix command -additional barostat related keyword/value pairs from the "fix nph"_fix_nh.html command can be appended :ul - -[Examples:] - -fix 1 all nph/body iso 0.0 0.0 1000.0 -fix 2 all nph/body x 5.0 5.0 1000.0 -fix 2 all nph/body x 5.0 5.0 1000.0 drag 0.2 -fix 2 water nph/body aniso 0.0 0.0 1000.0 dilate partial :pre - -[Description:] - -Perform constant NPH integration to update position, velocity, -orientation, and angular velocity each timestep for body -particles in the group using a Nose/Hoover pressure -barostat. P is pressure; H is enthalpy. This creates a system -trajectory consistent with the isenthalpic ensemble. - -This fix differs from the "fix nph"_fix_nh.html command, which assumes -point particles and only updates their position and velocity. - -Additional parameters affecting the barostat are specified by keywords -and values documented with the "fix nph"_fix_nh.html command. See, -for example, discussion of the {aniso}, and {dilate} keywords. - -The particles in the fix group are the only ones whose velocities and -positions are updated by the velocity/position update portion of the -NPH integration. - -Regardless of what particles are in the fix group, a global pressure is -computed for all particles. Similarly, when the size of the simulation -box is changed, all particles are re-scaled to new positions, unless the -keyword {dilate} is specified with a value of {partial}, in which case -only the particles in the fix group are re-scaled. The latter can be -useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. - -:line - -This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp/body" and -"pressure", as if these commands had been issued: - -compute fix-ID_temp all temp/body -compute fix-ID_press all pressure fix-ID_temp :pre - -See the "compute temp/body"_compute_temp_body.html and "compute -pressure"_compute_pressure.html commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is "all" -since pressure is computed for the entire system. - -Note that these are NOT the computes used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} -and {thermo_press}. This means you can change the attributes of this -fix's temperature or pressure via the -"compute_modify"_compute_modify.html command or print this temperature -or pressure during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} or -{thermo_press} will have no effect on this fix. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover barostat to "binary -restart files"_restart.html. See the "read_restart"_read_restart.html -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by this fix. You can use them to assign a -"compute"_compute.html you have defined to this fix which will be used -in its thermostatting or barostatting procedure. If you do this, note -that the kinetic energy derived from the compute temperature should be -consistent with the virial term computed using all atoms for the -pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover barostatting to -the system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix nph"_fix_nh.html command. - -This fix can ramp its target pressure over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the "atom_style body"_atom_style.html -command. - -[Related commands:] - -"fix nph"_fix_nh.html, "fix nve_body"_fix_nve_body.html, "fix -nvt_body"_fix_nvt_body.html, "fix -npt_body"_fix_npt_body.html, "fix_modify"_fix_modify.html - -[Default:] none diff --git a/doc/txt/fix_nph_sphere.txt b/doc/txt/fix_nph_sphere.txt deleted file mode 100644 index f94c057c93f300a911b5f524087187038f58fc48..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nph_sphere.txt +++ /dev/null @@ -1,159 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nph/sphere command :h3 -fix nph/sphere/omp command :h3 - -[Syntax:] - -fix ID group-ID nph/sphere args keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -nph/sphere = style name of this fix command :l -keyword = {disc} :l - {disc} value = none = treat particles as 2d discs, not spheres :pre -additional barostat related keyword/value pairs from the "fix nph"_fix_nh.html command can be appended :l,ule - -[Examples:] - -fix 1 all nph/sphere iso 0.0 0.0 1000.0 -fix 2 all nph/sphere x 5.0 5.0 1000.0 -fix 2 all nph/sphere x 5.0 5.0 1000.0 disc -fix 2 all nph/sphere x 5.0 5.0 1000.0 drag 0.2 -fix 2 water nph/sphere aniso 0.0 0.0 1000.0 dilate partial :pre - -[Description:] - -Perform constant NPH integration to update position, velocity, and -angular velocity each timestep for finite-size spherical particles in -the group using a Nose/Hoover pressure barostat. P is pressure; H is -enthalpy. This creates a system trajectory consistent with the -isenthalpic ensemble. - -This fix differs from the "fix nph"_fix_nh.html command, which assumes -point particles and only updates their position and velocity. - -If the {disc} keyword is used, then each particle is treated as a 2d -disc (circle) instead of as a sphere. This is only possible for 2d -simulations, as defined by the "dimension"_dimension.html keyword. -The only difference between discs and spheres in this context is their -moment of inertia, as used in the time integration. - -Additional parameters affecting the barostat are specified by keywords -and values documented with the "fix nph"_fix_nh.html command. See, -for example, discussion of the {aniso}, and {dilate} keywords. - -The particles in the fix group are the only ones whose velocities and -positions are updated by the velocity/position update portion of the -NPH integration. - -Regardless of what particles are in the fix group, a global pressure is -computed for all particles. Similarly, when the size of the simulation -box is changed, all particles are re-scaled to new positions, unless the -keyword {dilate} is specified with a value of {partial}, in which case -only the particles in the fix group are re-scaled. The latter can be -useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. - -:line - -This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp/sphere" and -"pressure", as if these commands had been issued: - -compute fix-ID_temp all temp/sphere -compute fix-ID_press all pressure fix-ID_temp :pre - -See the "compute temp/sphere"_compute_temp_sphere.html and "compute -pressure"_compute_pressure.html commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is "all" -since pressure is computed for the entire system. - -Note that these are NOT the computes used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} -and {thermo_press}. This means you can change the attributes of this -fix's temperature or pressure via the -"compute_modify"_compute_modify.html command or print this temperature -or pressure during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} or -{thermo_press} will have no effect on this fix. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover barostat to "binary -restart files"_restart.html. See the "read_restart"_read_restart.html -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by this fix. You can use them to assign a -"compute"_compute.html you have defined to this fix which will be used -in its thermostatting or barostatting procedure. If you do this, note -that the kinetic energy derived from the compute temperature should be -consistent with the virial term computed using all atoms for the -pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover barostatting to -the system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix nph"_fix_nh.html command. - -This fix can ramp its target pressure over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the "atom_style sphere"_atom_style.html -command. - -All particles in the group must be finite-size spheres. They cannot -be point particles. - -Use of the {disc} keyword is only allowed for 2d simulations, as -defined by the "dimension"_dimension.html keyword. - -[Related commands:] - -"fix nph"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix -nvt_sphere"_fix_nvt_sphere.html, "fix npt_sphere"_fix_npt_sphere.html, -"fix_modify"_fix_modify.html - -[Default:] none diff --git a/doc/txt/fix_nphug.txt b/doc/txt/fix_nphug.txt deleted file mode 100644 index 855a4c9ae49fb49cf7929b59f796a8dc6dc89a30..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nphug.txt +++ /dev/null @@ -1,228 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nphug command :h3 -fix nphug/omp command :h3 - -[Syntax:] - -fix ID group-ID nphug keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -one or more keyword value pairs may be appended -keyword = {temp} or {iso} or {aniso} or {tri} or {x} or {y} or {z} or {couple} or {tchain} or {pchain} or {mtk} or {tloop} or {ploop} or {nreset} or {drag} or {dilate} or {scaleyz} or {scalexz} or {scalexy} - {temp} values = Value1 Value2 Tdamp - Value1, Value2 = Nose-Hoover target temperatures, ignored by Hugoniostat - Tdamp = temperature damping parameter (time units) - {iso} or {aniso} or {tri} values = Pstart Pstop Pdamp - Pstart,Pstop = scalar external pressures, must be equal (pressure units) - Pdamp = pressure damping parameter (time units) - {x} or {y} or {z} or {xy} or {yz} or {xz} values = Pstart Pstop Pdamp - Pstart,Pstop = external stress tensor components, must be equal (pressure units) - Pdamp = stress damping parameter (time units) - {couple} = {none} or {xyz} or {xy} or {yz} or {xz} - {tchain} value = length of thermostat chain (1 = single thermostat) - {pchain} values = length of thermostat chain on barostat (0 = no thermostat) - {mtk} value = {yes} or {no} = add in MTK adjustment term or not - {tloop} value = number of sub-cycles to perform on thermostat - {ploop} value = number of sub-cycles to perform on barostat thermostat - {nreset} value = reset reference cell every this many timesteps - {drag} value = drag factor added to barostat/thermostat (0.0 = no drag) - {dilate} value = {all} or {partial} - {scaleyz} value = {yes} or {no} = scale yz with lz - {scalexz} value = {yes} or {no} = scale xz with lz - {scalexy} value = {yes} or {no} = scale xy with ly :pre -:ule - -[Examples:] - -fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 -fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 :pre - -[Description:] - -This command is a variant of the Nose-Hoover -"fix npt"_fix_nh.html fix style. -It performs time integration of the Hugoniostat equations -of motion developed by Ravelo et al. "(Ravelo)"_#Ravelo1. -These equations compress the system to a state with average -axial stress or pressure equal to the specified target value -and that satisfies the Rankine-Hugoniot (RH) -jump conditions for steady shocks. - -The compression can be performed -either -hydrostatically (using keyword {iso}, {aniso}, or {tri}) or uniaxially -(using keywords {x}, {y}, or {z}). In the hydrostatic case, -the cell dimensions change dynamically so that the average axial stress -in all three directions converges towards the specified target value. -In the uniaxial case, the chosen cell dimension changes dynamically -so that the average -axial stress in that direction converges towards the target value. The -other two cell dimensions are kept fixed (zero lateral strain). - -This leads to the following additional restrictions on the keywords: - -One and only one of the following keywords should be used: {iso}, {aniso}, {tri}, {x}, {y}, {z} -The specified initial and final target pressures must be the same. -The keywords {xy}, {xz}, {yz} may not be used. -The only admissible value for the couple keyword is {xyz}, which has the same effect as keyword {iso} -The {temp} keyword must be used to specify the time constant for kinetic energy relaxation, but initial and final target temperature values are ignored. :ul - -Essentially, a Hugoniostat simulation is an NPT simulation in which the -user-specified target temperature is replaced with a time-dependent -target temperature Tt obtained from the following equation: - -:c,image(Eqs/fix_nphug.jpg) - -where T and Tt are the instantaneous and target temperatures, -P and P0 are the instantaneous and reference pressures or axial stresses, -depending on whether hydrostatic or uniaxial compression is being -performed, V and V0 are the instantaneous and reference volumes, -E and E0 are the instantaneous and reference internal energy (potential -plus kinetic), Ndof is the number of degrees of freedom used in the -definition of temperature, and kB is the Boltzmann constant. Delta is the -negative deviation of the instantaneous temperature from the target temperature. -When the system reaches a stable equilibrium, the value of Delta should -fluctuate about zero. - -The values of E0, V0, and P0 are the instantaneous values at the start of -the simulation. These can be overridden using the fix_modify keywords {e0}, -{v0}, and {p0} described below. - -:line - -NOTE: Unlike the "fix temp/berendsen"_fix_temp_berendsen.html command -which performs thermostatting but NO time integration, this fix -performs thermostatting/barostatting AND time integration. Thus you -should not use any other time integration fix, such as "fix -nve"_fix_nve.html on atoms to which this fix is applied. Likewise, -this fix should not be used on atoms that have their temperature -controlled by another fix - e.g. by "fix langevin"_fix_nh.html or "fix -temp/rescale"_fix_temp_rescale.html commands. - -:line - -This fix computes a temperature and pressure at each timestep. To do -this, the fix creates its own computes of style "temp" and "pressure", -as if one of these two sets of commands had been issued: - -compute fix-ID_temp group-ID temp -compute fix-ID_press group-ID pressure fix-ID_temp :pre - -compute fix-ID_temp all temp -compute fix-ID_press all pressure fix-ID_temp :pre - -See the "compute temp"_compute_temp.html and "compute -pressure"_compute_pressure.html commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press". The group for -the new computes is "all" since pressure is computed for the entire -system. - -Note that these are NOT the computes used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} -and {thermo_press}. This means you can change the attributes of this -fix's temperature or pressure via the -"compute_modify"_compute_modify.html command or print this temperature -or pressure during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} or -{thermo_press} will have no effect on this fix. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the values of E0, V0, and P0, as well as the -state of all the thermostat and barostat -variables to "binary restart files"_restart.html. See the -"read_restart"_read_restart.html command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. - -The "fix_modify"_fix_modify.html {e0}, {v0} and {p0} keywords -can be used to define the values of E0, V0, and P0. Note the -the values for {e0} and {v0} are extensive, and so must correspond -to the total energy and volume of the entire system, not energy and -volume per atom. If any of these quantities are not specified, then the -instantaneous value in the system at the start of the simulation is used. - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by these fixes. You can use them to assign a -"compute"_compute.html you have defined to this fix which will be used -in its thermostatting or barostatting procedure, as described above. -If you do this, note that the kinetic energy derived from the compute -temperature should be consistent with the virial term computed using -all atoms for the pressure. LAMMPS will warn you if you choose to -compute temperature on a subset of atoms. - -The "fix_modify"_fix_modify.html {energy} option is supported by these -fixes to add the energy change induced by Nose/Hoover thermostatting -and barostatting to the system's potential energy as part of -"thermodynamic output"_thermo_style.html. Either way, this energy is *not* -included in the definition of internal energy E when calculating the value -of Delta in the above equation. - -These fixes compute a global scalar and a global vector of quantities, -which can be accessed by various "output commands"_Howto_output.html. -The scalar value calculated by these fixes is "extensive"; the vector -values are "intensive". - -The scalar is the cumulative energy change due to the fix. - -The vector stores three quantities unique to this fix (Delta, Us, and up), -followed by all the internal Nose/Hoover thermostat and barostat -variables defined for "fix npt"_fix_nh.html. Delta is the deviation -of the temperature from the target temperature, given by the above equation. -Us and up are the shock and particle velocity corresponding to a steady -shock calculated from the RH conditions. They have units of distance/time. - -[Restrictions:] - -This fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -All the usual restrictions for "fix npt"_fix_nh.html apply, -plus the additional ones mentioned above. - -[Related commands:] - -"fix msst"_fix_msst.html, "fix npt"_fix_nh.html, "fix_modify"_fix_modify.html - -[Default:] - -The keyword defaults are the same as those for "fix npt"_fix_nh.html - -:line - -:link(Ravelo1) -[(Ravelo)] Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). diff --git a/doc/txt/fix_npt_asphere.txt b/doc/txt/fix_npt_asphere.txt deleted file mode 100644 index 194f4ff499ea8763112456accddb26f308fb738e..0000000000000000000000000000000000000000 --- a/doc/txt/fix_npt_asphere.txt +++ /dev/null @@ -1,176 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix npt/asphere command :h3 -fix npt/asphere/omp command :h3 - -[Syntax:] - -fix ID group-ID npt/asphere keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -npt/asphere = style name of this fix command -additional thermostat and barostat related keyword/value pairs from the "fix npt"_fix_nh.html command can be appended :ul - -[Examples:] - -fix 1 all npt/asphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 -fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 -fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2 -fix 2 water npt/asphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial :pre - -[Description:] - -Perform constant NPT integration to update position, velocity, -orientation, and angular velocity each timestep for aspherical or -ellipsoidal particles in the group using a Nose/Hoover temperature -thermostat and Nose/Hoover pressure barostat. P is pressure; T is -temperature. This creates a system trajectory consistent with the -isothermal-isobaric ensemble. - -This fix differs from the "fix npt"_fix_nh.html command, which -assumes point particles and only updates their position and velocity. - -The thermostat is applied to both the translational and rotational -degrees of freedom for the aspherical particles, assuming a compute is -used which calculates a temperature that includes the rotational -degrees of freedom (see below). The translational degrees of freedom -can also have a bias velocity removed from them before thermostatting -takes place; see the description below. - -Additional parameters affecting the thermostat and barostat are -specified by keywords and values documented with the "fix -npt"_fix_nh.html command. See, for example, discussion of the {temp}, -{iso}, {aniso}, and {dilate} keywords. - -The particles in the fix group are the only ones whose velocities and -positions are updated by the velocity/position update portion of the -NPT integration. - -Regardless of what particles are in the fix group, a global pressure is -computed for all particles. Similarly, when the size of the simulation -box is changed, all particles are re-scaled to new positions, unless the -keyword {dilate} is specified with a value of {partial}, in which case -only the particles in the fix group are re-scaled. The latter can be -useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. - -:line - -This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp/asphere" and -"pressure", as if these commands had been issued: - -compute fix-ID_temp all temp/asphere -compute fix-ID_press all pressure fix-ID_temp :pre - -See the "compute temp/asphere"_compute_temp_asphere.html and "compute -pressure"_compute_pressure.html commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is "all" -since pressure is computed for the entire system. - -Note that these are NOT the computes used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} -and {thermo_press}. This means you can change the attributes of this -fix's temperature or pressure via the -"compute_modify"_compute_modify.html command or print this temperature -or pressure during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} or -{thermo_press} will have no effect on this fix. - -Like other fixes that perform thermostatting, this fix can be used -with "compute commands"_compute.html that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the -center-of-mass velocity from a group of atoms or only calculating -temperature on the x-component of velocity or only calculating -temperature for atoms in a geometric region. This is not done by -default, but only if the "fix_modify"_fix_modify.html command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover thermostat and barostat -to "binary restart files"_restart.html. See the -"read_restart"_read_restart.html command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by this fix. You can use them to assign a -"compute"_compute.html you have defined to this fix which will be used -in its thermostatting or barostatting procedure. If you do this, note -that the kinetic energy derived from the compute temperature should be -consistent with the virial term computed using all atoms for the -pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting and -barostatting to the system's potential energy as part of -"thermodynamic output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix npt"_fix_nh.html command. - -This fix can ramp its target temperature and pressure over multiple -runs, using the {start} and {stop} keywords of the "run"_run.html -command. See the "run"_run.html command for details of how to do -this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the "atom_style ellipsoid"_atom_style.html -command. - -All particles in the group must be finite-size. They cannot be point -particles, but they can be aspherical or spherical as defined by their -shape attribute. - -[Related commands:] - -"fix npt"_fix_nh.html, "fix nve_asphere"_fix_nve_asphere.html, "fix -nvt_asphere"_fix_nvt_asphere.html, "fix_modify"_fix_modify.html - -[Default:] none diff --git a/doc/txt/fix_npt_body.txt b/doc/txt/fix_npt_body.txt deleted file mode 100644 index 1d608137b619e5b989c212a8aad83d92753c0570..0000000000000000000000000000000000000000 --- a/doc/txt/fix_npt_body.txt +++ /dev/null @@ -1,171 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix npt/body command :h3 - -[Syntax:] - -fix ID group-ID npt/body keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -npt/body = style name of this fix command -additional thermostat and barostat related keyword/value pairs from the "fix npt"_fix_nh.html command can be appended :ul - -[Examples:] - -fix 1 all npt/body temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 -fix 2 all npt/body temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 -fix 2 all npt/body temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2 -fix 2 water npt/body temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial :pre - -[Description:] - -Perform constant NPT integration to update position, velocity, -orientation, and angular velocity each timestep for body -particles in the group using a Nose/Hoover temperature -thermostat and Nose/Hoover pressure barostat. P is pressure; T is -temperature. This creates a system trajectory consistent with the -isothermal-isobaric ensemble. - -This fix differs from the "fix npt"_fix_nh.html command, which -assumes point particles and only updates their position and velocity. - -The thermostat is applied to both the translational and rotational -degrees of freedom for the body particles, assuming a compute is -used which calculates a temperature that includes the rotational -degrees of freedom (see below). The translational degrees of freedom -can also have a bias velocity removed from them before thermostatting -takes place; see the description below. - -Additional parameters affecting the thermostat and barostat are -specified by keywords and values documented with the "fix -npt"_fix_nh.html command. See, for example, discussion of the {temp}, -{iso}, {aniso}, and {dilate} keywords. - -The particles in the fix group are the only ones whose velocities and -positions are updated by the velocity/position update portion of the -NPT integration. - -Regardless of what particles are in the fix group, a global pressure is -computed for all particles. Similarly, when the size of the simulation -box is changed, all particles are re-scaled to new positions, unless the -keyword {dilate} is specified with a value of {partial}, in which case -only the particles in the fix group are re-scaled. The latter can be -useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. - -:line - -This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp/body" and -"pressure", as if these commands had been issued: - -compute fix-ID_temp all temp/body -compute fix-ID_press all pressure fix-ID_temp :pre - -See the "compute temp/body"_compute_temp_body.html and "compute -pressure"_compute_pressure.html commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is "all" -since pressure is computed for the entire system. - -Note that these are NOT the computes used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} -and {thermo_press}. This means you can change the attributes of this -fix's temperature or pressure via the -"compute_modify"_compute_modify.html command or print this temperature -or pressure during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} or -{thermo_press} will have no effect on this fix. - -Like other fixes that perform thermostatting, this fix can be used -with "compute commands"_compute.html that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the -center-of-mass velocity from a group of atoms or only calculating -temperature on the x-component of velocity or only calculating -temperature for atoms in a geometric region. This is not done by -default, but only if the "fix_modify"_fix_modify.html command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover thermostat and barostat -to "binary restart files"_restart.html. See the -"read_restart"_read_restart.html command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by this fix. You can use them to assign a -"compute"_compute.html you have defined to this fix which will be used -in its thermostatting or barostatting procedure. If you do this, note -that the kinetic energy derived from the compute temperature should be -consistent with the virial term computed using all atoms for the -pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting and -barostatting to the system's potential energy as part of -"thermodynamic output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix npt"_fix_nh.html command. - -This fix can ramp its target temperature and pressure over multiple -runs, using the {start} and {stop} keywords of the "run"_run.html -command. See the "run"_run.html command for details of how to do -this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the "atom_style body"_atom_style.html -command. - -[Related commands:] - -"fix npt"_fix_nh.html, "fix nve_body"_fix_nve_body.html, "fix -nvt_body"_fix_nvt_body.html, "fix_modify"_fix_modify.html - -[Default:] none diff --git a/doc/txt/fix_npt_sphere.txt b/doc/txt/fix_npt_sphere.txt deleted file mode 100644 index 6ebb68e176311fe1eda0c1d71a2c84a6861a8366..0000000000000000000000000000000000000000 --- a/doc/txt/fix_npt_sphere.txt +++ /dev/null @@ -1,185 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix npt/sphere command :h3 -fix npt/sphere/omp command :h3 - -[Syntax:] - -fix ID group-ID npt/sphere keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -npt/sphere = style name of this fix command -zero or more keyword/value pairs may be appended :l -keyword = {disc} :l - {disc} value = none = treat particles as 2d discs, not spheres :pre -additional thermostat and barostat related keyword/value pairs from the "fix npt"_fix_nh.html command can be appended :l,ule - - -[Examples:] - -fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 -fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 -fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 disc -fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 drag 0.2 -fix 2 water npt/sphere temp 300.0 300.0 100.0 aniso 0.0 0.0 1000.0 dilate partial :pre - -[Description:] - -Perform constant NPT integration to update position, velocity, and -angular velocity each timestep for finite-sizex spherical particles in -the group using a Nose/Hoover temperature thermostat and Nose/Hoover -pressure barostat. P is pressure; T is temperature. This creates a -system trajectory consistent with the isothermal-isobaric ensemble. - -This fix differs from the "fix npt"_fix_nh.html command, which -assumes point particles and only updates their position and velocity. - -The thermostat is applied to both the translational and rotational -degrees of freedom for the spherical particles, assuming a compute is -used which calculates a temperature that includes the rotational -degrees of freedom (see below). The translational degrees of freedom -can also have a bias velocity removed from them before thermostatting -takes place; see the description below. - -If the {disc} keyword is used, then each particle is treated as a 2d -disc (circle) instead of as a sphere. This is only possible for 2d -simulations, as defined by the "dimension"_dimension.html keyword. -The only difference between discs and spheres in this context is their -moment of inertia, as used in the time integration. - -Additional parameters affecting the thermostat and barostat are -specified by keywords and values documented with the "fix -npt"_fix_nh.html command. See, for example, discussion of the {temp}, -{iso}, {aniso}, and {dilate} keywords. - -The particles in the fix group are the only ones whose velocities and -positions are updated by the velocity/position update portion of the -NPT integration. - -Regardless of what particles are in the fix group, a global pressure is -computed for all particles. Similarly, when the size of the simulation -box is changed, all particles are re-scaled to new positions, unless the -keyword {dilate} is specified with a value of {partial}, in which case -only the particles in the fix group are re-scaled. The latter can be -useful for leaving the coordinates of particles in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. - -:line - -This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp/sphere" and -"pressure", as if these commands had been issued: - -compute fix-ID_temp all temp/sphere -compute fix-ID_press all pressure fix-ID_temp :pre - -See the "compute temp/sphere"_compute_temp_sphere.html and "compute -pressure"_compute_pressure.html commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is "all" -since pressure is computed for the entire system. - -Note that these are NOT the computes used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} -and {thermo_press}. This means you can change the attributes of this -fix's temperature or pressure via the -"compute_modify"_compute_modify.html command or print this temperature -or pressure during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} or -{thermo_press} will have no effect on this fix. - -Like other fixes that perform thermostatting, this fix can be used -with "compute commands"_compute.html that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the -center-of-mass velocity from a group of atoms or only calculating -temperature on the x-component of velocity or only calculating -temperature for atoms in a geometric region. This is not done by -default, but only if the "fix_modify"_fix_modify.html command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover thermostat and barostat -to "binary restart files"_restart.html. See the -"read_restart"_read_restart.html command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by this fix. You can use them to assign a -"compute"_compute.html you have defined to this fix which will be used -in its thermostatting or barostatting procedure. If you do this, note -that the kinetic energy derived from the compute temperature should be -consistent with the virial term computed using all atoms for the -pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting and -barostatting to the system's potential energy as part of -"thermodynamic output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix npt"_fix_nh.html command. - -This fix can ramp its target temperature and pressure over multiple -runs, using the {start} and {stop} keywords of the "run"_run.html -command. See the "run"_run.html command for details of how to do -this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the "atom_style sphere"_atom_style.html -command. - -All particles in the group must be finite-size spheres. They cannot -be point particles. - -Use of the {disc} keyword is only allowed for 2d simulations, as -defined by the "dimension"_dimension.html keyword. - -[Related commands:] - -"fix npt"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix -nvt_sphere"_fix_nvt_sphere.html, "fix -npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html - -[Default:] none diff --git a/doc/txt/fix_nve.txt b/doc/txt/fix_nve.txt deleted file mode 100644 index 2347f957aef8636dc1e8ab2261cee737c93de8e5..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve.txt +++ /dev/null @@ -1,72 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve command :h3 -fix nve/intel command :h3 -fix nve/kk command :h3 -fix nve/omp command :h3 - -[Syntax:] - -fix ID group-ID nve :pre - -ID, group-ID are documented in "fix"_fix.html command -nve = style name of this fix command :ul - -[Examples:] - -fix 1 all nve :pre - -[Description:] - -Perform constant NVE integration to update position and velocity for -atoms in the group each timestep. V is volume; E is energy. This -creates a system trajectory consistent with the microcanonical -ensemble. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -: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"_Howto_output.html. -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:] none - -[Related commands:] - -"fix nvt"_fix_nh.html, "fix npt"_fix_nh.html - -[Default:] none diff --git a/doc/txt/fix_nve_asphere.txt b/doc/txt/fix_nve_asphere.txt deleted file mode 100644 index bd9e4ae8731b35fdc140063e6f76c80dea58ef61..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_asphere.txt +++ /dev/null @@ -1,85 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/asphere command :h3 -fix nve/asphere/intel command :h3 - -[Syntax:] - -fix ID group-ID nve/asphere :pre - -ID, group-ID are documented in "fix"_fix.html command -nve/asphere = style name of this fix command :ul - -[Examples:] - -fix 1 all nve/asphere :pre - -[Description:] - -Perform constant NVE integration to update position, velocity, -orientation, and angular velocity for aspherical particles in the -group each timestep. V is volume; E is energy. This creates a system -trajectory consistent with the microcanonical ensemble. - -This fix differs from the "fix nve"_fix_nve.html command, which -assumes point particles and only updates their position and velocity. - -[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"_Howto_output.html. -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. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the "atom_style ellipsoid"_atom_style.html -command. - -All particles in the group must be finite-size. They cannot be point -particles, but they can be aspherical or spherical as defined by their -shape attribute. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nve/sphere"_fix_nve_sphere.html - -[Default:] none diff --git a/doc/txt/fix_nve_asphere_noforce.txt b/doc/txt/fix_nve_asphere_noforce.txt deleted file mode 100644 index c0598e8839090202cfb662cb75959a06debcc4e7..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_asphere_noforce.txt +++ /dev/null @@ -1,65 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/asphere/noforce command :h3 - -[Syntax:] - -fix ID group-ID nve/asphere/noforce :pre - -ID, group-ID are documented in "fix"_fix.html command -nve/asphere/noforce = style name of this fix command :ul - -[Examples:] - -fix 1 all nve/asphere/noforce - -[Description:] - -Perform updates of position and orientation, but not velocity or -angular momentum for atoms in the group each timestep. In other -words, the force and torque on the atoms is ignored and their velocity -and angular momentum are not updated. The atom velocities and -angular momenta are used to update their positions and orientation. - -This is useful as an implicit time integrator for Fast Lubrication -Dynamics, since the velocity and angular momentum are updated by the -"pair_style lubricuteU"_pair_lubricateU.html command. - -: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"_Howto_output.html. -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 fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the "atom_style ellipsoid"_atom_style.html -command. - -All particles in the group must be finite-size. They cannot be point -particles, but they can be aspherical or spherical as defined by their -shape attribute. - -[Related commands:] - -"fix nve/noforce"_fix_nve_noforce.html, "fix -nve/asphere"_fix_nve_asphere.html - -[Default:] none diff --git a/doc/txt/fix_nve_awpmd.txt b/doc/txt/fix_nve_awpmd.txt deleted file mode 100644 index 11951c2fe1cd4f8d02c30619afc25fb33caa1125..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_awpmd.txt +++ /dev/null @@ -1,56 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/awpmd command :h3 - -[Syntax:] - -fix ID group-ID nve/awpmd :pre - -ID, group-ID are documented in "fix"_fix.html command -nve/awpmd = style name of this fix command :ul - -[Examples:] - -fix 1 all nve/awpmd :pre - -[Description:] - -Perform constant NVE integration to update position and velocity for -nuclei and electrons in the group for the "Antisymmetrized Wave Packet -Molecular Dynamics"_pair_awpmd.html model. V is volume; E is energy. -This creates a system trajectory consistent with the microcanonical -ensemble. - -The operation of this fix is exactly like that described by the "fix -nve"_fix_nve.html command, except that the width and width-velocity of -the electron wave functions are also updated. - -: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"_Howto_output.html. -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 fix is part of the USER-AWPMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix nve"_fix_nve.html - -[Default:] none diff --git a/doc/txt/fix_nve_body.txt b/doc/txt/fix_nve_body.txt deleted file mode 100644 index 1a9efb5e139f99efd1ed8008b6e4fdcb10c6b84e..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_body.txt +++ /dev/null @@ -1,62 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/body command :h3 - -[Syntax:] - -fix ID group-ID nve/body :pre - -ID, group-ID are documented in "fix"_fix.html command -nve/body = style name of this fix command :ul - -[Examples:] - -fix 1 all nve/body :pre - -[Description:] - -Perform constant NVE integration to update position, velocity, -orientation, and angular velocity for body particles in the group each -timestep. V is volume; E is energy. This creates a system trajectory -consistent with the microcanonical ensemble. See the "Howto -body"_Howto_body.html doc page for more details on using body -particles. - -This fix differs from the "fix nve"_fix_nve.html command, which -assumes point particles and only updates their position and velocity. - -[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"_Howto_output.html. -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 fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the "atom_style body"_atom_style.html -command. - -All particles in the group must be body particles. They cannot be -point particles. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nve/sphere"_fix_nve_sphere.html, "fix -nve/asphere"_fix_nve_asphere.html - -[Default:] none diff --git a/doc/txt/fix_nve_eff.txt b/doc/txt/fix_nve_eff.txt deleted file mode 100644 index 556b95deba6d5400466d088c8b34c9bdf1d24e56..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_eff.txt +++ /dev/null @@ -1,54 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/eff command :h3 - -[Syntax:] - -fix ID group-ID nve/eff :pre - -ID, group-ID are documented in "fix"_fix.html command -nve/eff = style name of this fix command :ul - -[Examples:] - -fix 1 all nve/eff :pre - -[Description:] - -Perform constant NVE integration to update position and velocity for -nuclei and electrons in the group for the "electron force -field"_pair_eff.html model. V is volume; E is energy. This creates a -system trajectory consistent with the microcanonical ensemble. - -The operation of this fix is exactly like that described by the "fix -nve"_fix_nve.html command, except that the radius and radial velocity -of electrons are also updated. - -[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"_Howto_output.html. -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 fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nvt/eff"_fix_nh_eff.html, "fix -npt/eff"_fix_nh_eff.html - -[Default:] none diff --git a/doc/txt/fix_nve_limit.txt b/doc/txt/fix_nve_limit.txt deleted file mode 100644 index 8c8c66a0dac92424d08b577ee3957277e81e6ce2..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_limit.txt +++ /dev/null @@ -1,86 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/limit command :h3 - -[Syntax:] - -fix ID group-ID nve/limit xmax :pre - -ID, group-ID are documented in "fix"_fix.html command -nve = style name of this fix command -xmax = maximum distance an atom can move in one timestep (distance units) :ul - -[Examples:] - -fix 1 all nve/limit 0.1 :pre - -[Description:] - -Perform constant NVE updates of position and velocity for atoms in the -group each timestep. A limit is imposed on the maximum distance an -atom can move in one timestep. This is useful when starting a -simulation with a configuration containing highly overlapped atoms. -Normally this would generate huge forces which would blow atoms out of -the simulation box, causing LAMMPS to stop with an error. - -Using this fix can overcome that problem. Forces on atoms must still -be computable (which typically means 2 atoms must have a separation -distance > 0.0). But large velocities generated by large forces are -reset to a value that corresponds to a displacement of length {xmax} -in a single timestep. {Xmax} is specified in distance units; see the -"units"_units.html command for details. The value of {xmax} should be -consistent with the neighbor skin distance and the frequency of -neighbor list re-building, so that pairwise interactions are not -missed on successive timesteps as atoms move. See the -"neighbor"_neighbor.html and "neigh_modify"_neigh_modify.html commands -for details. - -Note that if a velocity reset occurs the integrator will not conserve -energy. On steps where no velocity resets occur, this integrator is -exactly like the "fix nve"_fix_nve.html command. Since forces are -unaltered, pressures computed by thermodynamic output will still be -very large for overlapped configurations. - -NOTE: You should not use "fix shake"_fix_shake.html in conjunction -with this fix. That is because fix shake applies constraint forces -based on the predicted positions of atoms after the next timestep. -It has no way of knowing the timestep may change due to this fix, -which will cause the constraint forces to be invalid. A better -strategy is to turn off fix shake when performing initial dynamics -that need this fix, then turn fix shake on when doing normal dynamics -with a fixed-size timestep. - -[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. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the count of how -many updates of atom's velocity/position were limited by the maximum -distance criterion. This should be roughly the number of atoms so -affected, except that updates occur at both the beginning and end of a -timestep in a velocity Verlet timestepping algorithm. This is a -cumulative quantity for the current run, but is re-initialized to zero -each time a run is performed. The scalar value calculated by this fix -is "extensive". - -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:] none - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nve/noforce"_fix_nve_noforce.html, -"pair_style soft"_pair_soft.html - -[Default:] none diff --git a/doc/txt/fix_nve_line.txt b/doc/txt/fix_nve_line.txt deleted file mode 100644 index 896e3b810d83049198c1e0f7f630d545836698c7..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_line.txt +++ /dev/null @@ -1,57 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/line command :h3 - -[Syntax:] - -fix ID group-ID nve/line :pre - -ID, group-ID are documented in "fix"_fix.html command -nve/line = style name of this fix command :ul - -[Examples:] - -fix 1 all nve/line :pre - -[Description:] - -Perform constant NVE integration to update position, velocity, -orientation, and angular velocity for line segment particles in the -group each timestep. V is volume; E is energy. This creates a system -trajectory consistent with the microcanonical ensemble. See "Howto -spherical"_Howto_spherical.html doc page for an overview of using line -segment particles. - -This fix differs from the "fix nve"_fix_nve.html command, which -assumes point particles and only updates their position and velocity. - -[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"_Howto_output.html. -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 fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that particles be line segments as defined by the -"atom_style line"_atom_style.html command. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nve/asphere"_fix_nve_asphere.html - -[Default:] none diff --git a/doc/txt/fix_nve_manifold_rattle.txt b/doc/txt/fix_nve_manifold_rattle.txt deleted file mode 100644 index 5301ea603ce65747344f68fe42bf93233ecccac7..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_manifold_rattle.txt +++ /dev/null @@ -1,102 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/manifold/rattle command :h3 - -[Syntax:] - -fix ID group-ID nve/manifold/rattle tol maxit manifold manifold-args keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -nve/manifold/rattle = style name of this fix command :l -tol = tolerance to which Newton iteration must converge :l -maxit = maximum number of iterations to perform :l -manifold = name of the manifold :l -manifold-args = parameters for the manifold :l -one or more keyword/value pairs may be appended :l -keyword = {every} - {every} values = N - N = print info about iteration every N steps. N = 0 means no output :pre -:ule - -[Examples:] - -fix 1 all nve/manifold/rattle 1e-4 10 sphere 5.0 -fix step all nve/manifold/rattle 1e-8 100 ellipsoid 2.5 2.5 5.0 every 25 :pre - -[Description:] - -Perform constant NVE integration to update position and velocity for -atoms constrained to a curved surface (manifold) in the group each -timestep. The constraint is handled by RATTLE "(Andersen)"_#Andersen1 -written out for the special case of single-particle constraints as -explained in "(Paquay)"_#Paquay2. V is volume; E is energy. This way, -the dynamics of particles constrained to curved surfaces can be -studied. If combined with "fix langevin"_fix_langevin.html, this -generates Brownian motion of particles constrained to a curved -surface. For a list of currently supported manifolds and their -parameters, see the "Howto manifold"_Howto_manifold.html doc page. - -Note that the particles must initially be close to the manifold in -question. If not, RATTLE will not be able to iterate until the -constraint is satisfied, and an error is generated. For simple -manifolds this can be achieved with {region} and {create_atoms} -commands, but for more complex surfaces it might be more useful to -write a script. - -The manifold args may be equal-style variables, like so: - -variable R equal "ramp(5.0,3.0)" -fix shrink_sphere all nve/manifold/rattle 1e-4 10 sphere v_R :pre - -In this case, the manifold parameter will change in time according to -the variable. This is not a problem for the time integrator as long -as the change of the manifold is slow with respect to the dynamics of -the particles. Note that if the manifold has to exert work on the -particles because of these changes, the total energy might not be -conserved. - -: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"_Howto_output.html. -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. - -:line - -[Restrictions:] - -This fix is part of the USER-MANIFOLD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -:line - -[Related commands:] - -"fix nvt/manifold/rattle"_fix_nvt_manifold_rattle.html, "fix -manifoldforce"_fix_manifoldforce.html - -[Default:] every = 0, tchain = 3 - -:line - -:link(Andersen1) -[(Andersen)] Andersen, J. Comp. Phys. 52, 24, (1983). - -:link(Paquay2) -[(Paquay)] Paquay and Kusters, Biophys. J., 110, 6, (2016). -preprint available at "arXiv:1411.3019"_http://arxiv.org/abs/1411.3019/. - - diff --git a/doc/txt/fix_nve_noforce.txt b/doc/txt/fix_nve_noforce.txt deleted file mode 100644 index da8d16bbb7c1c49bdee6af72dc4c1bcc2f355a1e..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_noforce.txt +++ /dev/null @@ -1,54 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/noforce command :h3 - -[Syntax:] - -fix ID group-ID nve :pre - -ID, group-ID are documented in "fix"_fix.html command -nve/noforce = style name of this fix command :ul - -[Examples:] - -fix 3 wall nve/noforce :pre - -[Description:] - -Perform updates of position, but not velocity for atoms in the group -each timestep. In other words, the force on the atoms is ignored and -their velocity is not updated. The atom velocities are used to update -their positions. - -This can be useful for wall atoms, when you set their velocities, and -want the wall to move (or stay stationary) in a prescribed fashion. - -This can also be accomplished via the "fix setforce"_fix_setforce.html -command, but with fix nve/noforce, the forces on the wall atoms are -unchanged, and can thus be printed by the "dump"_dump.html command or -queried with an equal-style "variable"_variable.html that uses the -fcm() group function to compute the total force on the group of atoms. - -[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"_Howto_output.html. -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:] none - -[Related commands:] - -"fix nve"_fix_nve.html - -[Default:] none diff --git a/doc/txt/fix_nve_sphere.txt b/doc/txt/fix_nve_sphere.txt deleted file mode 100644 index 225359dfa7f03b56e6e0636eca55f70384853e19..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_sphere.txt +++ /dev/null @@ -1,122 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/sphere command :h3 -fix nve/sphere/omp command :h3 -fix nve/sphere/kk command :h3 - -[Syntax:] - -fix ID group-ID nve/sphere :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -nve/sphere = style name of this fix command :l -zero or more keyword/value pairs may be appended :l -keyword = {update} or {disc} :l - {update} value = {dipole} or {dipole/dlm} - dipole = update orientation of dipole moment during integration - dipole/dlm = use DLM integrator to update dipole orientation - {disc} value = none = treat particles as 2d discs, not spheres :pre -:ule - -[Examples:] - -fix 1 all nve/sphere -fix 1 all nve/sphere update dipole -fix 1 all nve/sphere disc -fix 1 all nve/sphere update dipole/dlm :pre - -[Description:] - -Perform constant NVE integration to update position, velocity, and -angular velocity for finite-size spherical particles in the group each -timestep. V is volume; E is energy. This creates a system trajectory -consistent with the microcanonical ensemble. - -This fix differs from the "fix nve"_fix_nve.html command, which -assumes point particles and only updates their position and velocity. - -If the {update} keyword is used with the {dipole} value, then the -orientation of the dipole moment of each particle is also updated -during the time integration. This option should be used for models -where a dipole moment is assigned to finite-size particles, -e.g. spheroids via use of the "atom_style hybrid sphere -dipole"_atom_style.html command. - -The default dipole orientation integrator can be changed to the -Dullweber-Leimkuhler-McLachlan integration scheme -"(Dullweber)"_#nh-Dullweber when using {update} with the value -{dipole/dlm}. This integrator is symplectic and time-reversible, -giving better energy conservation and allows slightly longer timesteps -at only a small additional computational cost. - -If the {disc} keyword is used, then each particle is treated as a 2d -disc (circle) instead of as a sphere. This is only possible for 2d -simulations, as defined by the "dimension"_dimension.html keyword. -The only difference between discs and spheres in this context is their -moment of inertia, as used in the time integration. - -:line - -Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are -functionally the same as the corresponding style without the suffix. -They have been optimized to run faster, depending on your available -hardware, as discussed on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -: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"_Howto_output.html. -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 fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the "atom_style sphere"_atom_style.html -command. If the {dipole} keyword is used, then they must also store a -dipole moment as defined by the "atom_style dipole"_atom_style.html -command. - -All particles in the group must be finite-size spheres. They cannot -be point particles. - -Use of the {disc} keyword is only allowed for 2d simulations, as -defined by the "dimension"_dimension.html keyword. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nve/asphere"_fix_nve_asphere.html - -[Default:] none - -:line - -:link(nve-Dullweber) -[(Dullweber)] Dullweber, Leimkuhler and McLachlan, J Chem Phys, 107, -5840 (1997). diff --git a/doc/txt/fix_nve_spin.txt b/doc/txt/fix_nve_spin.txt deleted file mode 100644 index 8e6284639b3203905f1a892636dc3cd50c6294c2..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_spin.txt +++ /dev/null @@ -1,82 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/spin command :h3 - -[Syntax:] - -fix ID group-ID nve/spin keyword values :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -nve/spin = style name of this fix command :l -keyword = {lattice} :l - {lattice} value = {moving} or {frozen} - moving = integrate both spin and atomic degress of freedom - frozen = integrate spins on a fixed lattice :pre -:ule - -[Examples:] - -fix 3 all nve/spin lattice moving -fix 1 all nve/spin lattice frozen :pre - -[Description:] - -Perform a symplectic integration for the spin or spin-lattice system. - -The {lattice} keyword defines if the spins are integrated on a lattice -of fixed atoms (lattice = frozen), or if atoms are moving -(lattice = moving). -The first case corresponds to a spin dynamics calculation, and -the second to a spin-lattice calculation. -By default a spin-lattice integration is performed (lattice = moving). - -The {nve/spin} fix applies a Suzuki-Trotter decomposition to -the equations of motion of the spin lattice system, following the scheme: - -:c,image(Eqs/fix_integration_spin_stdecomposition.jpg) - -according to the implementation reported in "(Omelyan)"_#Omelyan1. - -A sectoring method enables this scheme for parallel calculations. -The implementation of this sectoring algorithm is reported -in "(Tranchida)"_#Tranchida1. - -:line - -[Restrictions:] - -This fix style can only be used if LAMMPS was built with the SPIN -package. See the "Build package"_Build_package.html doc page for more -info. - -To use the spin algorithm, it is necessary to define a map with -the atom_modify command. Typically, by adding the command: - -atom_modify map array :pre - -before you create the simulation box. Note that the keyword "hash" -instead of "array" is also valid. - -[Related commands:] - -"atom_style spin"_atom_style.html, "fix nve"_fix_nve.html - -[Default:] - -The option default is lattice = moving. - -:line - -:link(Omelyan1) -[(Omelyan)] Omelyan, Mryglod, and Folk. Phys. Rev. Lett. -86(5), 898. (2001). - -:link(Tranchida1) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/txt/fix_nve_tri.txt b/doc/txt/fix_nve_tri.txt deleted file mode 100644 index c14907ca02596e448a3ee9004574f93bd3fd2e35..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nve_tri.txt +++ /dev/null @@ -1,57 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nve/tri command :h3 - -[Syntax:] - -fix ID group-ID nve/tri :pre - -ID, group-ID are documented in "fix"_fix.html command -nve/tri = style name of this fix command :ul - -[Examples:] - -fix 1 all nve/tri :pre - -[Description:] - -Perform constant NVE integration to update position, velocity, -orientation, and angular momentum for triangular particles in the -group each timestep. V is volume; E is energy. This creates a system -trajectory consistent with the microcanonical ensemble. See the -"Howto spherical"_Howto_spherical.html doc page for an overview of -using triangular particles. - -This fix differs from the "fix nve"_fix_nve.html command, which -assumes point particles and only updates their position and velocity. - -[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"_Howto_output.html. -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 fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that particles be triangles as defined by the -"atom_style tri"_atom_style.html command. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nve/asphere"_fix_nve_asphere.html - -[Default:] none diff --git a/doc/txt/fix_nvk.txt b/doc/txt/fix_nvk.txt deleted file mode 100644 index 98f63487b73144d9cc155ffd937147d0358d618b..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nvk.txt +++ /dev/null @@ -1,71 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nvk command :h3 - -[Syntax:] - -fix ID group-ID nvk :pre - -ID, group-ID are documented in "fix"_fix.html command -nvk = style name of this fix command :ul - -[Examples:] - -fix 1 all nvk :pre - -[Description:] - -Perform constant kinetic energy integration using the Gaussian -thermostat to update position and velocity for atoms in the group each -timestep. V is volume; K is kinetic energy. This creates a system -trajectory consistent with the isokinetic ensemble. - -The equations of motion used are those of Minary et al in -"(Minary)"_#nvk-Minary, a variant of those initially given by Zhang in -"(Zhang)"_#nvk-Zhang. - -The kinetic energy will be held constant at its value given when fix -nvk is initiated. If a different kinetic energy is desired, the -"velocity"_velocity.html command should be used to change the kinetic -energy prior to this fix. - -: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"_Howto_output.html. -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:] - -The Gaussian thermostat only works when it is applied to all atoms in -the simulation box. Therefore, the group must be set to all. - -This fix has not yet been implemented to work with the RESPA integrator. - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] none - -[Default:] none - -:line - -:link(nvk-Minary) -[(Minary)] Minary, Martyna, and Tuckerman, J Chem Phys, 18, 2510 (2003). - -:link(nvk-Zhang) -[(Zhang)] Zhang, J Chem Phys, 106, 6102 (1997). diff --git a/doc/txt/fix_nvt_asphere.txt b/doc/txt/fix_nvt_asphere.txt deleted file mode 100644 index a2187f8495f63ddec697337b417a16f53348da5f..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nvt_asphere.txt +++ /dev/null @@ -1,152 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nvt/asphere command :h3 -fix nvt/asphere/omp command :h3 - -[Syntax:] - -fix ID group-ID nvt/asphere keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -nvt/asphere = style name of this fix command -additional thermostat related keyword/value pairs from the "fix nvt"_fix_nh.html command can be appended :ul - -[Examples:] - -fix 1 all nvt/asphere temp 300.0 300.0 100.0 -fix 1 all nvt/asphere temp 300.0 300.0 100.0 drag 0.2 :pre - -[Description:] - -Perform constant NVT integration to update position, velocity, -orientation, and angular velocity each timestep for aspherical or -ellipsoidal particles in the group using a Nose/Hoover temperature -thermostat. V is volume; T is temperature. This creates a system -trajectory consistent with the canonical ensemble. - -This fix differs from the "fix nvt"_fix_nh.html command, which -assumes point particles and only updates their position and velocity. - -The thermostat is applied to both the translational and rotational -degrees of freedom for the aspherical particles, assuming a compute is -used which calculates a temperature that includes the rotational -degrees of freedom (see below). The translational degrees of freedom -can also have a bias velocity removed from them before thermostatting -takes place; see the description below. - -Additional parameters affecting the thermostat are specified by -keywords and values documented with the "fix nvt"_fix_nh.html -command. See, for example, discussion of the {temp} and {drag} -keywords. - -This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp/asphere", as if this command -had been issued: - -compute fix-ID_temp group-ID temp/asphere :pre - -See the "compute temp/asphere"_compute_temp_asphere.html command for -details. Note that the ID of the new compute is the fix-ID + -underscore + "temp", and the group for the new compute is the same as -the fix group. - -Note that this is NOT the compute used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. -This means you can change the attributes of this fix's temperature -(e.g. its degrees-of-freedom) via the -"compute_modify"_compute_modify.html command or print this temperature -during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} will have no -effect on this fix. - -Like other fixes that perform thermostatting, this fix can be used -with "compute commands"_compute.html that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the -center-of-mass velocity from a group of atoms or only calculating -temperature on the x-component of velocity or only calculating -temperature for atoms in a geometric region. This is not done by -default, but only if the "fix_modify"_fix_modify.html command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover thermostat to "binary -restart files"_restart.html. See the "read_restart"_read_restart.html -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a "compute"_compute.html you have -defined to this fix which will be used in its thermostatting -procedure. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix nvt"_fix_nh.html command. - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the ASPHERE package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the "atom_style ellipsoid"_atom_style.html -command. - -All particles in the group must be finite-size. They cannot be point -particles, but they can be aspherical or spherical as defined by their -shape attribute. - -[Related commands:] - -"fix nvt"_fix_nh.html, "fix nve_asphere"_fix_nve_asphere.html, "fix -npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html - -[Default:] none diff --git a/doc/txt/fix_nvt_body.txt b/doc/txt/fix_nvt_body.txt deleted file mode 100644 index 62c7cfecf822973c40c343c17eb2c3e54e3a6d74..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nvt_body.txt +++ /dev/null @@ -1,147 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nvt/body command :h3 - -[Syntax:] - -fix ID group-ID nvt/body keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -nvt/body = style name of this fix command -additional thermostat related keyword/value pairs from the "fix nvt"_fix_nh.html command can be appended :ul - -[Examples:] - -fix 1 all nvt/body temp 300.0 300.0 100.0 -fix 1 all nvt/body temp 300.0 300.0 100.0 drag 0.2 :pre - -[Description:] - -Perform constant NVT integration to update position, velocity, -orientation, and angular velocity each timestep for body -particles in the group using a Nose/Hoover temperature -thermostat. V is volume; T is temperature. This creates a system -trajectory consistent with the canonical ensemble. - -This fix differs from the "fix nvt"_fix_nh.html command, which -assumes point particles and only updates their position and velocity. - -The thermostat is applied to both the translational and rotational -degrees of freedom for the body particles, assuming a compute is -used which calculates a temperature that includes the rotational -degrees of freedom (see below). The translational degrees of freedom -can also have a bias velocity removed from them before thermostatting -takes place; see the description below. - -Additional parameters affecting the thermostat are specified by -keywords and values documented with the "fix nvt"_fix_nh.html -command. See, for example, discussion of the {temp} and {drag} -keywords. - -This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp/body", as if this command -had been issued: - -compute fix-ID_temp group-ID temp/body :pre - -See the "compute temp/body"_compute_temp_body.html command for -details. Note that the ID of the new compute is the fix-ID + -underscore + "temp", and the group for the new compute is the same as -the fix group. - -Note that this is NOT the compute used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. -This means you can change the attributes of this fix's temperature -(e.g. its degrees-of-freedom) via the -"compute_modify"_compute_modify.html command or print this temperature -during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} will have no -effect on this fix. - -Like other fixes that perform thermostatting, this fix can be used -with "compute commands"_compute.html that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the -center-of-mass velocity from a group of atoms or only calculating -temperature on the x-component of velocity or only calculating -temperature for atoms in a geometric region. This is not done by -default, but only if the "fix_modify"_fix_modify.html command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover thermostat to "binary -restart files"_restart.html. See the "read_restart"_read_restart.html -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a "compute"_compute.html you have -defined to this fix which will be used in its thermostatting -procedure. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix nvt"_fix_nh.html command. - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms store torque and angular momentum and a -quaternion as defined by the "atom_style body"_atom_style.html -command. - -[Related commands:] - -"fix nvt"_fix_nh.html, "fix nve_body"_fix_nve_body.html, "fix -npt_body"_fix_npt_body.html, "fix_modify"_fix_modify.html - -[Default:] none diff --git a/doc/txt/fix_nvt_manifold_rattle.txt b/doc/txt/fix_nvt_manifold_rattle.txt deleted file mode 100644 index 0c4b81aa32d83fa348ec660116a0ce8b53b56a34..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nvt_manifold_rattle.txt +++ /dev/null @@ -1,81 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nvt/manifold/rattle command :h3 - -[Syntax:] - -fix ID group-ID nvt/manifold/rattle tol maxit manifold manifold-args keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -nvt/manifold/rattle = style name of this fix command :l -tol = tolerance to which Newton iteration must converge :l -maxit = maximum number of iterations to perform :l -manifold = name of the manifold :l -manifold-args = parameters for the manifold :l -one or more keyword/value pairs may be appended :l -keyword = {temp} or {tchain} or {every} - {temp} values = Tstart Tstop Tdamp - Tstart, Tstop = external temperature at start/end of run - Tdamp = temperature damping parameter (time units) - {tchain} value = N - N = length of thermostat chain (1 = single thermostat) - {every} value = N - N = print info about iteration every N steps. N = 0 means no output :pre -:ule - -[Examples:] - -fix 1 all nvt/manifold/rattle 1e-4 10 cylinder 3.0 temp 1.0 1.0 10.0 - -[Description:] - -This fix combines the RATTLE-based "(Andersen)"_#Andersen2 time -integrator of "fix nve/manifold/rattle"_fix_nve_manifold_rattle.html -"(Paquay)"_#Paquay3 with a Nose-Hoover-chain thermostat to sample the -canonical ensemble of particles constrained to a curved surface -(manifold). This sampling does suffer from discretization bias of -O(dt). For a list of currently supported manifolds and their -parameters, see the "Howto manifold"_Howto_manifold.html doc page. - -: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"_Howto_output.html. -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. - -:line - -[Restrictions:] - -This fix is part of the USER-MANIFOLD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -:line - -[Related commands:] - -"fix nve/manifold/rattle"_fix_nvt_manifold_rattle.html, "fix -manifoldforce"_fix_manifoldforce.html [Default:] every = 0 - -:line - -:link(Andersen2) -[(Andersen)] Andersen, J. Comp. Phys. 52, 24, (1983). - -:link(Paquay3) -[(Paquay)] Paquay and Kusters, Biophys. J., 110, 6, (2016). -preprint available at "arXiv:1411.3019"_http://arxiv.org/abs/1411.3019/. - diff --git a/doc/txt/fix_nvt_sllod.txt b/doc/txt/fix_nvt_sllod.txt deleted file mode 100644 index 7050be58b3d958eff8ac1fce3ebb870aba352af1..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nvt_sllod.txt +++ /dev/null @@ -1,188 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nvt/sllod command :h3 -fix nvt/sllod/intel command :h3 -fix nvt/sllod/omp command :h3 - -[Syntax:] - -fix ID group-ID nvt/sllod keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -nvt/sllod = style name of this fix command -additional thermostat related keyword/value pairs from the "fix nvt"_fix_nh.html command can be appended :ul - -[Examples:] - -fix 1 all nvt/sllod temp 300.0 300.0 100.0 -fix 1 all nvt/sllod temp 300.0 300.0 100.0 drag 0.2 :pre - -[Description:] - -Perform constant NVT integration to update positions and velocities -each timestep for atoms in the group using a Nose/Hoover temperature -thermostat. V is volume; T is temperature. This creates a system -trajectory consistent with the canonical ensemble. - -This thermostat is used for a simulation box that is changing size -and/or shape, for example in a non-equilibrium MD (NEMD) simulation. -The size/shape change is induced by use of the "fix -deform"_fix_deform.html command, so each point in the simulation box -can be thought of as having a "streaming" velocity. This -position-dependent streaming velocity is subtracted from each atom's -actual velocity to yield a thermal velocity which is used for -temperature computation and thermostatting. For example, if the box -is being sheared in x, relative to y, then points at the bottom of the -box (low y) have a small x velocity, while points at the top of the -box (hi y) have a large x velocity. These velocities do not -contribute to the thermal "temperature" of the atom. - -NOTE: "Fix deform"_fix_deform.html has an option for remapping either -atom coordinates or velocities to the changing simulation box. To use -fix nvt/sllod, fix deform should NOT remap atom positions, because fix -nvt/sllod adjusts the atom positions and velocities to create a -velocity profile that matches the changing box size/shape. Fix deform -SHOULD remap atom velocities when atoms cross periodic boundaries -since that is consistent with maintaining the velocity profile created -by fix nvt/sllod. LAMMPS will give an error if this setting is not -consistent. - -The SLLOD equations of motion, originally proposed by Hoover and Ladd -(see "(Evans and Morriss)"_#Evans3), were proven to be equivalent to -Newton's equations of motion for shear flow by "(Evans and -Morriss)"_#Evans3. They were later shown to generate the desired -velocity gradient and the correct production of work by stresses for -all forms of homogeneous flow by "(Daivis and Todd)"_#Daivis. As -implemented in LAMMPS, they are coupled to a Nose/Hoover chain -thermostat in a velocity Verlet formulation, closely following the -implementation used for the "fix nvt"_fix_nh.html command. - -NOTE: A recent (2017) book by "(Daivis and Todd)"_#Daivis-sllod -discusses use of the SLLOD method and non-equilibrium MD (NEMD) -thermostatting generally, for both simple and complex fluids, -e.g. molecular systems. The latter can be tricky to do correctly. - -Additional parameters affecting the thermostat are specified by -keywords and values documented with the "fix nvt"_fix_nh.html -command. See, for example, discussion of the {temp} and {drag} -keywords. - -This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp/deform", as if this command had -been issued: - -compute fix-ID_temp group-ID temp/deform :pre - -See the "compute temp/deform"_compute_temp_deform.html command for -details. Note that the ID of the new compute is the fix-ID + -underscore + "temp", and the group for the new compute is the same as -the fix group. - -Note that this is NOT the compute used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. -This means you can change the attributes of this fix's temperature -(e.g. its degrees-of-freedom) via the -"compute_modify"_compute_modify.html command or print this temperature -during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} will have no -effect on this fix. - -Like other fixes that perform thermostatting, this fix can be used -with "compute commands"_compute.html that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the -center-of-mass velocity from a group of atoms or only calculating -temperature on the x-component of velocity or only calculating -temperature for atoms in a geometric region. This is not done by -default, but only if the "fix_modify"_fix_modify.html command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover thermostat to "binary -restart files"_restart.html. See the "read_restart"_read_restart.html -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a "compute"_compute.html you have -defined to this fix which will be used in its thermostatting -procedure. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix nvt"_fix_nh.html command. - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix works best without Nose-Hoover chain thermostats, i.e. using -tchain = 1. Setting tchain to larger values can result in poor -equilibration. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nvt"_fix_nh.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html, -"fix_modify"_fix_modify.html, "compute -temp/deform"_compute_temp_deform.html - -[Default:] - -Same as "fix nvt"_fix_nh.html, except tchain = 1. - -:line - -:link(Evans3) -[(Evans and Morriss)] Evans and Morriss, Phys Rev A, 30, 1528 (1984). - -:link(Daivis) -[(Daivis and Todd)] Daivis and Todd, J Chem Phys, 124, 194103 (2006). - -:link(Daivis-sllod) -[(Daivis and Todd)] Daivis and Todd, Nonequilibrium Molecular Dynamics (book), -Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017). diff --git a/doc/txt/fix_nvt_sllod_eff.txt b/doc/txt/fix_nvt_sllod_eff.txt deleted file mode 100644 index 5cba15c8cf3f3af230263ba9215efca001144726..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nvt_sllod_eff.txt +++ /dev/null @@ -1,94 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nvt/sllod/eff command :h3 - -[Syntax:] - -fix ID group-ID nvt/sllod/eff keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -nvt/sllod/eff = style name of this fix command -additional thermostat related keyword/value pairs from the "fix nvt/eff"_fix_nh_eff.html command can be appended :ul - -[Examples:] - -fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1 -fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1 drag 0.2 :pre - -[Description:] - -Perform constant NVT integration to update positions and velocities -each timestep for nuclei and electrons in the group for the "electron -force field"_pair_eff.html model, using a Nose/Hoover temperature -thermostat. V is volume; T is temperature. This creates a system -trajectory consistent with the canonical ensemble. - -The operation of this fix is exactly like that described by the "fix -nvt/sllod"_fix_nvt_sllod.html command, except that the radius and -radial velocity of electrons are also updated and thermostatted. -Likewise the temperature calculated by the fix, using the compute it -creates (as discussed in the "fix nvt, npt, and nph"_fix_nh.html doc -page), is performed with a "compute -temp/deform/eff"_compute_temp_deform_eff.html command that includes -the eFF contribution to the temperature from the electron radial -velocity. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover thermostat to "binary -restart files"_restart.html. See the "read_restart"_read_restart.html -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a "compute"_compute.html you have -defined to this fix which will be used in its thermostatting -procedure. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix nvt/eff"_fix_nh_eff.html command. - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix works best without Nose-Hoover chain thermostats, i.e. using -tchain = 1. Setting tchain to larger values can result in poor -equilibration. - -[Related commands:] - -"fix nve/eff"_fix_nve_eff.html, "fix nvt/eff"_fix_nh_eff.html, "fix -langevin/eff"_fix_langevin_eff.html, "fix -nvt/sllod"_fix_nvt_sllod.html, "fix_modify"_fix_modify.html, "compute -temp/deform/eff"_compute_temp_deform_eff.html - -[Default:] - -Same as "fix nvt/eff"_fix_nh_eff.html, except tchain = 1. - -:line - -:link(Tuckerman2) -[(Tuckerman)] Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, -106, 5615 (1997). diff --git a/doc/txt/fix_nvt_sphere.txt b/doc/txt/fix_nvt_sphere.txt deleted file mode 100644 index 75222e0de81d09462d5b1465c3f232f2a4903c44..0000000000000000000000000000000000000000 --- a/doc/txt/fix_nvt_sphere.txt +++ /dev/null @@ -1,161 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix nvt/sphere command :h3 -fix nvt/sphere/omp command :h3 - -[Syntax:] - -fix ID group-ID nvt/sphere keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -nvt/sphere = style name of this fix command :l -zero or more keyword/value pairs may be appended :l -keyword = {disc} :l - {disc} value = none = treat particles as 2d discs, not spheres :pre -additional thermostat related keyword/value pairs from the "fix nvt"_fix_nh.html command can be appended :l,ule - -[Examples:] - -fix 1 all nvt/sphere temp 300.0 300.0 100.0 -fix 1 all nvt/sphere temp 300.0 300.0 100.0 disc -fix 1 all nvt/sphere temp 300.0 300.0 100.0 drag 0.2 :pre - -[Description:] - -Perform constant NVT integration to update position, velocity, and -angular velocity each timestep for finite-size spherical particles in -the group using a Nose/Hoover temperature thermostat. V is volume; T -is temperature. This creates a system trajectory consistent with the -canonical ensemble. - -This fix differs from the "fix nvt"_fix_nh.html command, which -assumes point particles and only updates their position and velocity. - -The thermostat is applied to both the translational and rotational -degrees of freedom for the spherical particles, assuming a compute is -used which calculates a temperature that includes the rotational -degrees of freedom (see below). The translational degrees of freedom -can also have a bias velocity removed from them before thermostatting -takes place; see the description below. - -If the {disc} keyword is used, then each particle is treated as a 2d -disc (circle) instead of as a sphere. This is only possible for 2d -simulations, as defined by the "dimension"_dimension.html keyword. -The only difference between discs and spheres in this context is their -moment of inertia, as used in the time integration. - -Additional parameters affecting the thermostat are specified by -keywords and values documented with the "fix nvt"_fix_nh.html -command. See, for example, discussion of the {temp} and {drag} -keywords. - -This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp/sphere", as if this command -had been issued: - -compute fix-ID_temp group-ID temp/sphere :pre - -See the "compute temp/sphere"_compute_temp_sphere.html command for -details. Note that the ID of the new compute is the fix-ID + -underscore + "temp", and the group for the new compute is the same as -the fix group. - -Note that this is NOT the compute used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. -This means you can change the attributes of this fix's temperature -(e.g. its degrees-of-freedom) via the -"compute_modify"_compute_modify.html command or print this temperature -during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} will have no -effect on this fix. - -Like other fixes that perform thermostatting, this fix can be used -with "compute commands"_compute.html that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the -center-of-mass velocity from a group of atoms or only calculating -temperature on the x-component of velocity or only calculating -temperature for atoms in a geometric region. This is not done by -default, but only if the "fix_modify"_fix_modify.html command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the state of the Nose/Hoover thermostat to "binary -restart files"_restart.html. See the "read_restart"_read_restart.html -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a "compute"_compute.html you have -defined to this fix which will be used in its thermostatting -procedure. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change induced by Nose/Hoover thermostatting to -the system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes the same global scalar and global vector of -quantities as does the "fix nvt"_fix_nh.html command. - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix requires that atoms store torque and angular velocity (omega) -and a radius as defined by the "atom_style sphere"_atom_style.html -command. - -All particles in the group must be finite-size spheres. They cannot -be point particles. - -Use of the {disc} keyword is only allowed for 2d simulations, as -defined by the "dimension"_dimension.html keyword. - -[Related commands:] - -"fix nvt"_fix_nh.html, "fix nve_sphere"_fix_nve_sphere.html, "fix -nvt_asphere"_fix_nvt_asphere.html, "fix -npt_sphere"_fix_npt_sphere.html, "fix_modify"_fix_modify.html - -[Default:] none diff --git a/doc/txt/fix_oneway.txt b/doc/txt/fix_oneway.txt deleted file mode 100644 index 433ceb50f244e7570b83979dffed7c5b34d7a8ca..0000000000000000000000000000000000000000 --- a/doc/txt/fix_oneway.txt +++ /dev/null @@ -1,60 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix oneway command :h3 - -[Syntax:] - -fix ID group-ID oneway N region-ID direction :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -oneway = style name of this fix command :l -N = apply this fix every this many timesteps :l -region-ID = ID of region where fix is active :l -direction = {x} or {-x} or {y} or {-y} or {z} or {-z} = coordinate and direction of the oneway constraint :l -:ule - -[Examples:] - -fix ions oneway 10 semi -x -fix all oneway 1 left -z -fix all oneway 1 right z :pre - -[Description:] - -Enforce that particles in the group and in a given region can only -move in one direction. This is done by reversing a particle's -velocity component, if it has the wrong sign in the specified -dimension. The effect is that the particle moves in one direction -only. - -This can be used, for example, as a simple model of a semi-permeable -membrane, or as an implementation of Maxwell's demon. - -: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"_Howto_output.html. -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:] none - -[Related commands:] - -"fix wall/reflect"_fix_wall_reflect.html command - -[Default:] none - -:line - diff --git a/doc/txt/fix_orient.txt b/doc/txt/fix_orient.txt deleted file mode 100644 index 9d8e4e86282727eaa85292803f1095e2224596f8..0000000000000000000000000000000000000000 --- a/doc/txt/fix_orient.txt +++ /dev/null @@ -1,201 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix orient/fcc command :h3 -fix orient/bcc command :h3 - -fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1 -fix ID group-ID orient/bcc nstats dir alat dE cutlo cuthi file0 file1 :pre - -ID, group-ID are documented in "fix"_fix.html command -nstats = print stats every this many steps, 0 = never -dir = 0/1 for which crystal is used as reference -alat = fcc/bcc cubic lattice constant (distance units) -dE = energy added to each atom (energy units) -cutlo,cuthi = values between 0.0 and 1.0, cutlo < cuthi -file0,file1 = files that specify orientation of each grain :ul - -[Examples:] - -fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec -fix gb all orient/bcc 0 1 2.882 0.001 0.25 0.75 ngb.left ngb.right :pre - -[Description:] - -The fix applies an orientation-dependent force to atoms near a planar -grain boundary which can be used to induce grain boundary migration -(in the direction perpendicular to the grain boundary plane). The -motivation and explanation of this force and its application are -described in "(Janssens)"_#Janssens. The adaptation to bcc crystals -is described in "(Wicaksono1)"_#Wicaksono1. The computed force is only -applied to atoms in the fix group. - -The basic idea is that atoms in one grain (on one side of the -boundary) have a potential energy dE added to them. Atoms in the -other grain have 0.0 potential energy added. Atoms near the boundary -(whose neighbor environment is intermediate between the two grain -orientations) have an energy between 0.0 and dE added. This creates -an effective driving force to reduce the potential energy of atoms -near the boundary by pushing them towards one of the grain -orientations. For dir = 1 and dE > 0, the boundary will thus move so -that the grain described by file0 grows and the grain described by -file1 shrinks. Thus this fix is designed for simulations of two-grain -systems, either with one grain boundary and free surfaces parallel to -the boundary, or a system with periodic boundary conditions and two -equal and opposite grain boundaries. In either case, the entire -system can displace during the simulation, and such motion should be -accounted for in measuring the grain boundary velocity. - -The potential energy added to atom I is given by these formulas - -:c,image(Eqs/fix_orient_fcc.jpg) - -which are fully explained in "(Janssens)"_#Janssens. For fcc crystals -this order parameter Xi for atom I in equation (1) is a sum over the -12 nearest neighbors of atom I. For bcc crystals it is the -corresponding sum of the 8 nearest neighbors. Rj is the vector from -atom I to its neighbor J, and RIj is a vector in the reference -(perfect) crystal. That is, if dir = 0/1, then RIj is a vector to an -atom coord from file 0/1. Equation (2) gives the expected value of -the order parameter XiIJ in the other grain. Hi and lo cutoffs are -defined in equations (3) and (4), using the input parameters {cutlo} -and {cuthi} as thresholds to avoid adding grain boundary energy when -the deviation in the order parameter from 0 or 1 is small (e.g. due to -thermal fluctuations in a perfect crystal). The added potential -energy Ui for atom I is given in equation (6) where it is interpolated -between 0 and dE using the two threshold Xi values and the Wi value of -equation (5). - -The derivative of this energy expression gives the force on each atom -which thus depends on the orientation of its neighbors relative to the -2 grain orientations. Only atoms near the grain boundary feel a net -force which tends to drive them to one of the two grain orientations. - -In equation (1), the reference vector used for each neighbor is the -reference vector closest to the actual neighbor position. This means -it is possible two different neighbors will use the same reference -vector. In such cases, the atom in question is far from a perfect -orientation and will likely receive the full dE addition, so the -effect of duplicate reference vector usage is small. - -The {dir} parameter determines which grain wants to grow at the -expense of the other. A value of 0 means the first grain will shrink; -a value of 1 means it will grow. This assumes that {dE} is positive. -The reverse will be true if {dE} is negative. - -The {alat} parameter is the cubic lattice constant for the fcc or bcc -material and is only used to compute a cutoff distance of 1.57 * alat -/ sqrt(2) for finding the 12 or 8 nearest neighbors of each atom -(which should be valid for an fcc or bcc crystal). A longer/shorter -cutoff can be imposed by adjusting {alat}. If a particular atom has -less than 12 or 8 neighbors within the cutoff, the order parameter of -equation (1) is effectively multiplied by 12 or 8 divided by the -actual number of neighbors within the cutoff. - -The {dE} parameter is the maximum amount of additional energy added to -each atom in the grain which wants to shrink. - -The {cutlo} and {cuthi} parameters are used to reduce the force added -to bulk atoms in each grain far away from the boundary. An atom in -the bulk surrounded by neighbors at the ideal grain orientation would -compute an order parameter of 0 or 1 and have no force added. -However, thermal vibrations in the solid will cause the order -parameters to be greater than 0 or less than 1. The cutoff parameters -mask this effect, allowing forces to only be added to atoms with -order-parameters between the cutoff values. - -{File0} and {file1} are filenames for the two grains which each -contain 6 vectors (6 lines with 3 values per line) which specify the -grain orientations. Each vector is a displacement from a central atom -(0,0,0) to a nearest neighbor atom in an fcc lattice at the proper -orientation. The vector lengths should all be identical since an fcc -lattice has a coordination number of 12. Only 6 are listed due to -symmetry, so the list must include one from each pair of -equal-and-opposite neighbors. A pair of orientation files for a -Sigma=5 tilt boundary are shown below. A tutorial that can help for -writing the orientation files is given in "(Wicaksono2)"_#Wicaksono2 - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the potential energy of atom interactions with the grain -boundary driving force to the system's potential energy as part of -"thermodynamic output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by these -fixes. This allows to set at which level of the "r-RESPA"_run_style.html -integrator a fix is adding its forces. Default is the outermost level. - -This fix calculates a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the potential -energy change due to this fix. The scalar value calculated by this -fix is "extensive". - -This fix also calculates a per-atom array which can be accessed by -various "output commands"_Howto_output.html. The array stores the -order parameter Xi and normalized order parameter (0 to 1) for each -atom. The per-atom values can be accessed on any timestep. - -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 fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix should only be used with fcc or bcc lattices. - -[Related commands:] - -"fix_modify"_fix_modify.html - -[Default:] none - -:line - -:link(Janssens) -[(Janssens)] Janssens, Olmsted, Holm, Foiles, Plimpton, Derlet, Nature -Materials, 5, 124-127 (2006). - -:link(Wicaksono1) -[(Wicaksono1)] Wicaksono, Sinclair, Militzer, Computational Materials -Science, 117, 397-405 (2016). - -:link(Wicaksono2) -[(Wicaksono2)] Wicaksono, figshare, -https://dx.doi.org/10.6084/m9.figshare.1488628.v1 (2015). - -:line - -For illustration purposes, here are example files that specify a -Sigma=5 <100> tilt boundary. This is for a lattice constant of 3.5706 -Angs. - -file0: - - 0.798410432046075 1.785300000000000 1.596820864092150 - -0.798410432046075 1.785300000000000 -1.596820864092150 - 2.395231296138225 0.000000000000000 0.798410432046075 - 0.798410432046075 0.000000000000000 -2.395231296138225 - 1.596820864092150 1.785300000000000 -0.798410432046075 - 1.596820864092150 -1.785300000000000 -0.798410432046075 :pre - -file1: - - -0.798410432046075 1.785300000000000 1.596820864092150 - 0.798410432046075 1.785300000000000 -1.596820864092150 - 0.798410432046075 0.000000000000000 2.395231296138225 - 2.395231296138225 0.000000000000000 -0.798410432046075 - 1.596820864092150 1.785300000000000 0.798410432046075 - 1.596820864092150 -1.785300000000000 0.798410432046075 :pre diff --git a/doc/txt/fix_phonon.txt b/doc/txt/fix_phonon.txt deleted file mode 100644 index 73f2f4600b58088c151cc34873e18ed657d306a7..0000000000000000000000000000000000000000 --- a/doc/txt/fix_phonon.txt +++ /dev/null @@ -1,214 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix phonon command :h3 - -[Syntax:] - -fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -phonon = style name of this fix command :l -N = measure the Green's function every this many timesteps :l -Noutput = output the dynamical matrix every this many measurements :l -Nwait = wait this many timesteps before measuring :l -map_file = {file} or {GAMMA} :l - {file} is the file that contains the mapping info between atom ID and the lattice indices. :pre - - {GAMMA} flags to treate the whole simulation box as a unit cell, so that the mapping - info can be generated internally. In this case, dynamical matrix at only the gamma-point - will/can be evaluated. :pre -prefix = prefix for output files :l -one or none keyword/value pairs may be appended :l -keyword = {sysdim} or {nasr} :l - {sysdim} value = d - d = dimension of the system, usually the same as the MD model dimension - {nasr} value = n - n = number of iterations to enforce the acoustic sum rule :pre -:ule - -[Examples:] - -fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1 -fix 1 all phonon 20 5000 200000 map.in EAM3D -fix 1 all phonon 10 5000 500000 GAMMA EAM0D nasr 100 :pre - -[Description:] - -Calculate the dynamical matrix from molecular dynamics simulations -based on fluctuation-dissipation theory for a group of atoms. - -Consider a crystal with \(N\) unit cells in three dimensions labeled -\(l = (l_1, l_2, l_3)\) where \(l_i\) are integers. Each unit cell is -defined by three linearly independent vectors \(\mathbf\{a\}_1\), -\(\mathbf\{a\}_2\), \(\mathbf\{a\}_3\) forming a parallelepiped, -containing \(K\) basis atoms labeled \(k\). - -Based on fluctuation-dissipation theory, the force constant -coefficients of the system in reciprocal space are given by -("Campana"_#Campana , "Kong"_#Kong) - -\begin\{equation\} -\mathbf\{\Phi\}_\{k\alpha,k^\prime \beta\}(\mathbf\{q\}) = k_B T \mathbf\{G\}^\{-1\}_\{k\alpha,k^\prime \beta\}(\mathbf\{q\}) -\end\{equation\} - -where \(\mathbf\{G\}\) is the Green's functions coefficients given by - -\begin\{equation\} -\mathbf\{G\}_\{k\alpha,k^\prime \beta\}(\mathbf\{q\}) = \left< \mathbf\{u\}_\{k\alpha\}(\mathbf\{q\}) \bullet \mathbf\{u\}_\{k^\prime \beta\}^*(\mathbf\{q\}) \right> -\end\{equation\} - -where \(\left< \ldots \right>\) denotes the ensemble average, and - -\begin\{equation\} -\mathbf\{u\}_\{k\alpha\}(\mathbf\{q\}) = \sum_l \mathbf\{u\}_\{l k \alpha\} \exp\{(i\mathbf\{qr\}_l)\} -\end\{equation\} - -is the \(\alpha\) component of the atomic displacement for the \(k\) -th atom in the unit cell in reciprocal space at \(\mathbf\{q\}\). In -practice, the Green's functions coefficients can also be measured -according to the following formula, - -\begin\{equation\} -\mathbf\{G\}_\{k\alpha,k^\prime \beta\}(\mathbf\{q\}) = -\left< \mathbf\{R\}_\{k \alpha\}(\mathbf\{q\}) \bullet \mathbf\{R\}^*_\{k^\prime \beta\}(\mathbf\{q\}) \right> -- \left<\mathbf\{R\}\right>_\{k \alpha\}(\mathbf\{q\}) \bullet \left<\mathbf\{R\}\right>^*_\{k^\prime \beta\}(\mathbf\{q\}) -\end\{equation\} - -where \(\mathbf\{R\}\) is the instantaneous positions of atoms, and -\(\left<\mathbf\{R\}\right>\) is the averaged atomic positions. It -gives essentially the same results as the displacement method and is -easier to implement in an MD code. - -Once the force constant matrix is known, the dynamical matrix -\(\mathbf\{D\}\) can then be obtained by - -\begin\{equation\} -\mathbf\{D\}_\{k\alpha, k^\prime\beta\}(\mathbf\{q\}) = -(m_k m_\{k^\prime\})^\{-\frac\{1\}\{2\}\} \mathbf\{\Phi\}_\{k \alpha, k^\prime \beta\}(\mathbf\{q\}) -\end\{equation\} - -whose eigenvalues are exactly the phonon frequencies at \(\mathbf\{q\}\). - -This fix uses positions of atoms in the specified group and calculates -two-point correlations. To achieve this. the positions of the atoms -are examined every {Nevery} steps and are Fourier-transformed into -reciprocal space, where the averaging process and correlation -computation is then done. After every {Noutput} measurements, the -matrix \(\mathbf\{G\}(\mathbf\{q\})\) is calculated and inverted to -obtain the elastic stiffness coefficients. The dynamical matrices are -then constructed and written to {prefix}.bin.timestep files in binary -format and to the file {prefix}.log for each wave-vector -\(\mathbf\{q\}\). - -A detailed description of this method can be found in -("Kong2011"_#Kong2011). - -The {sysdim} keyword is optional. If specified with a value smaller -than the dimensionality of the LAMMPS simulation, its value is used -for the dynamical matrix calculation. For example, using LAMMPS ot -model a 2D or 3D system, the phonon dispersion of a 1D atomic chain -can be computed using {sysdim} = 1. - -The {nasr} keyword is optional. An iterative procedure is employed to -enforce the acoustic sum rule on \(\Phi\) at \(\Gamma\), and the number -provided by keyword {nasr} gives the total number of iterations. For a -system whose unit cell has only one atom, {nasr} = 1 is sufficient; -for other systems, {nasr} = 10 is typically sufficient. - -The {map_file} contains the mapping information between the lattice -indices and the atom IDs, which tells the code which atom sits at -which lattice point; the lattice indices start from 0. An auxiliary -code, "latgen"_http://code.google.com/p/latgen, can be employed to -generate the compatible map file for various crystals. - -In case one simulates a non-periodic system, where the whole simulation -box is treated as a unit cell, one can set {map_file} as {GAMMA}, so -that the mapping info will be generated internally and a file is not -needed. In this case, the dynamical matrix at only the gamma-point -will/can be evaluated. Please keep in mind that fix-phonon is designed -for cyrstals, it will be inefficient and even degrade the performance -of lammps in case the unit cell is too large. - -The calculated dynamical matrix elements are written out in -"energy/distance^2/mass"_units.html units. The coordinates for {q} -points in the log file is in the units of the basis vectors of the -corresponding reciprocal lattice. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to change the temperature compute from thermo_temp -to the one that reflects the true temperature of atoms in the group. - -No global scalar or vector or per-atom quantities are stored by this -fix for access by various "output commands"_Howto_output.html. - -Instead, this fix outputs its initialization information (including -mapping information) and the calculated dynamical matrices to the file -{prefix}.log, with the specified {prefix}. The dynamical matrices are -also written to files {prefix}.bin.timestep in binary format. These -can be read by the post-processing tool in tools/phonon to compute the -phonon density of states and/or phonon dispersion curves. - -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 fix assumes a crystalline system with periodical lattice. The -temperature of the system should not exceed the melting temperature to -keep the system in its solid state. - -This fix is part of the USER-PHONON package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires LAMMPS be built with an FFT library. See the "Build -settings"_Build_settings.html doc page for details. - -[Related commands:] - -"compute msd"_compute_msd.html, -"dynamical_matrix"_dynamical_matrix.html - -[Default:] - -The option defaults are sysdim = the same dimension as specified by -the "dimension"_dimension.html command, and nasr = 20. - -:line - -:link(Campana) -[(Campana)] C. Campana and -M. H. Muser, {Practical Green's function approach to the -simulation of elastic semi-infinite solids}, "Phys. Rev. B \[74\], -075420 (2006)"_http://dx.doi.org/10.1103/PhysRevB.74.075420 - -:link(Kong) -[(Kong)] L.T. Kong, G. Bartels, C. Campana, -C. Denniston, and Martin H. Muser, {Implementation of Green's -function molecular dynamics: An extension to LAMMPS}, "Computer -Physics Communications \[180\](6):1004-1010 -(2009)."_http://dx.doi.org/10.1016/j.cpc.2008.12.035 - -L.T. Kong, C. Denniston, and Martin H. Muser, -{An improved version of the Green's function molecular dynamics -method}, "Computer Physics Communications \[182\](2):540-541 -(2011)."_http://dx.doi.org/10.1016/j.cpc.2010.10.006 - -:link(Kong2011) -[(Kong2011)] L.T. Kong, {Phonon dispersion measured directly from -molecular dynamics simulations}, "Computer Physics Communications -\[182\](10):2201-2207, -(2011)."_http://dx.doi.org/10.1016/j.cpc.2011.04.019 diff --git a/doc/txt/fix_pimd.txt b/doc/txt/fix_pimd.txt deleted file mode 100644 index a82624497308567c3528413e6c052a63c693605c..0000000000000000000000000000000000000000 --- a/doc/txt/fix_pimd.txt +++ /dev/null @@ -1,178 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix pimd command :h3 - -[Syntax:] - -fix ID group-ID pimd keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -pimd = style name of this fix command :l -zero or more keyword/value pairs may be appended :l -keyword = {method} or {fmass} or {sp} or {temp} or {nhc} :l - {method} value = {pimd} or {nmpimd} or {cmd} - {fmass} value = scaling factor on mass - {sp} value = scaling factor on Planck constant - {temp} value = temperature (temperarate units) - {nhc} value = Nc = number of chains in Nose-Hoover thermostat :pre -:ule - -[Examples:] - -fix 1 all pimd method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4 :pre - -[Description:] - -This command performs quantum molecular dynamics simulations based on -the Feynman path integral to include effects of tunneling and -zero-point motion. In this formalism, the isomorphism of a quantum -partition function for the original system to a classical partition -function for a ring-polymer system is exploited, to efficiently sample -configurations from the canonical ensemble "(Feynman)"_#Feynman. -The classical partition function and its components are given -by the following equations: - -:c,image(Eqs/fix_pimd.jpg) - -The interested user is referred to any of the numerous references on -this methodology, but briefly, each quantum particle in a path -integral simulation is represented by a ring-polymer of P quasi-beads, -labeled from 1 to P. During the simulation, each quasi-bead interacts -with beads on the other ring-polymers with the same imaginary time -index (the second term in the effective potential above). The -quasi-beads also interact with the two neighboring quasi-beads through -the spring potential in imaginary-time space (first term in effective -potential). To sample the canonical ensemble, a Nose-Hoover massive -chain thermostat is applied "(Tuckerman)"_#pimd-Tuckerman. With the -massive chain algorithm, a chain of NH thermostats is coupled to each -degree of freedom for each quasi-bead. The keyword {temp} sets the -target temperature for the system and the keyword {nhc} sets the -number {Nc} of thermostats in each chain. For example, for a -simulation of N particles with P beads in each ring-polymer, the total -number of NH thermostats would be 3 x N x P x Nc. - -NOTE: This fix implements a complete velocity-verlet integrator -combined with NH massive chain thermostat, so no other time -integration fix should be used. - -The {method} keyword determines what style of PIMD is performed. A -value of {pimd} is standard PIMD. A value of {nmpimd} is for -normal-mode PIMD. A value of {cmd} is for centroid molecular dynamics -(CMD). The difference between the styles is as follows. - -In standard PIMD, the value used for a bead's fictitious mass is -arbitrary. A common choice is to use Mi = m/P, which results in the -mass of the entire ring-polymer being equal to the real quantum -particle. But it can be difficult to efficiently integrate the -equations of motion for the stiff harmonic interactions in the ring -polymers. - -A useful way to resolve this issue is to integrate the equations of -motion in a normal mode representation, using Normal Mode -Path-Integral Molecular Dynamics (NMPIMD) "(Cao1)"_#Cao1. In NMPIMD, -the NH chains are attached to each normal mode of the ring-polymer and -the fictitious mass of each mode is chosen as Mk = the eigenvalue of -the Kth normal mode for k > 0. The k = 0 mode, referred to as the -zero-frequency mode or centroid, corresponds to overall translation of -the ring-polymer and is assigned the mass of the real particle. - -Motion of the centroid can be effectively uncoupled from the other -normal modes by scaling the fictitious masses to achieve a partial -adiabatic separation. This is called a Centroid Molecular Dynamics -(CMD) approximation "(Cao2)"_#Cao2. The time-evolution (and resulting -dynamics) of the quantum particles can be used to obtain centroid time -correlation functions, which can be further used to obtain the true -quantum correlation function for the original system. The CMD method -also uses normal modes to evolve the system, except only the k > 0 -modes are thermostatted, not the centroid degrees of freedom. - -The keyword {fmass} sets a further scaling factor for the fictitious -masses of beads, which can be used for the Partial Adiabatic CMD -"(Hone)"_#Hone, or to be set as P, which results in the fictitious -masses to be equal to the real particle masses. - -The keyword {sp} is a scaling factor on Planck's constant, which can -be useful for debugging or other purposes. The default value of 1.0 -is appropriate for most situations. - -The PIMD algorithm in LAMMPS is implemented as a hyper-parallel scheme -as described in "(Calhoun)"_#Calhoun. In LAMMPS this is done by using -"multi-replica feature"_Howto_replica.html in LAMMPS, where each -quasi-particle system is stored and simulated on a separate partition -of processors. The following diagram illustrates this approach. The -original system with 2 ring polymers is shown in red. Since each ring -has 4 quasi-beads (imaginary time slices), there are 4 replicas of the -system, each running on one of the 4 partitions of processors. Each -replica (shown in green) owns one quasi-bead in each ring. - -:c,image(JPG/pimd.jpg) - -To run a PIMD simulation with M quasi-beads in each ring polymer using -N MPI tasks for each partition's domain-decomposition, you would use P -= MxN processors (cores) and run the simulation as follows: - -mpirun -np P lmp_mpi -partition MxN -in script :pre - -Note that in the LAMMPS input script for a multi-partition simulation, -it is often very useful to define a "uloop-style -variable"_variable.html such as - -variable ibead uloop M pad :pre - -where M is the number of quasi-beads (partitions) used in the -calculation. The uloop variable can then be used to manage I/O -related tasks for each of the partitions, e.g. - -dump dcd all dcd 10 system_$\{ibead\}.dcd -restart 1000 system_$\{ibead\}.restart1 system_$\{ibead\}.restart2 -read_restart system_$\{ibead\}.restart2 :pre - -[Restrictions:] - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -A PIMD simulation can be initialized with a single data file read via -the "read_data"_read_data.html command. However, this means all -quasi-beads in a ring polymer will have identical positions and -velocities, resulting in identical trajectories for all quasi-beads. -To avoid this, users can simply initialize velocities with different -random number seeds assigned to each partition, as defined by the -uloop variable, e.g. - -velocity all create 300.0 1234$\{ibead\} rot yes dist gaussian :pre - -[Default:] - -The keyword defaults are method = pimd, fmass = 1.0, sp = 1.0, temp = 300.0, -and nhc = 2. - -:line - -:link(Feynman) -[(Feynman)] R. Feynman and A. Hibbs, Chapter 7, Quantum Mechanics and -Path Integrals, McGraw-Hill, New York (1965). - -:link(pimd-Tuckerman) -[(Tuckerman)] M. Tuckerman and B. Berne, J Chem Phys, 99, 2796 (1993). - -:link(Cao1) -[(Cao1)] J. Cao and B. Berne, J Chem Phys, 99, 2902 (1993). - -:link(Cao2) -[(Cao2)] J. Cao and G. Voth, J Chem Phys, 100, 5093 (1994). - -:link(Hone) -[(Hone)] T. Hone, P. Rossky, G. Voth, J Chem Phys, 124, -154103 (2006). - -:link(Calhoun) -[(Calhoun)] A. Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, -415 (1996). diff --git a/doc/txt/fix_planeforce.txt b/doc/txt/fix_planeforce.txt deleted file mode 100644 index ffe1952e31a2f412ce23edf7b36a891b42f70f38..0000000000000000000000000000000000000000 --- a/doc/txt/fix_planeforce.txt +++ /dev/null @@ -1,53 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix planeforce command :h3 - -[Syntax:] - -fix ID group-ID planeforce x y z :pre - -ID, group-ID are documented in "fix"_fix.html command -planeforce = style name of this fix command -x y z = 3-vector that is normal to the plane :ul - -[Examples:] - -fix hold boundary planeforce 1.0 0.0 0.0 :pre - -[Description:] - -Adjust the forces on each atom in the group so that only the -components of force in the plane specified by the normal vector -(x,y,z) remain. This is done by subtracting out the component of -force perpendicular to the plane. - -If the initial velocity of the atom is 0.0 (or in the plane), then it -should continue to move in the plane thereafter. - -[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"_Howto_output.html. -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -[Restrictions:] none - -[Related commands:] - -"fix lineforce"_fix_lineforce.html - -[Default:] none - - diff --git a/doc/txt/fix_plumed.txt b/doc/txt/fix_plumed.txt deleted file mode 100644 index 86807f531d934bd99cac06e8d579635ad3ceac57..0000000000000000000000000000000000000000 --- a/doc/txt/fix_plumed.txt +++ /dev/null @@ -1,118 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix plumed command :h3 - -[Syntax:] - -fix ID group-ID plumed keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -plumed = style name of this fix command :l -keyword = {plumedfile} or {outfile} :l - {plumedfile} arg = name of PLUMED input file to use (default: NULL) - {outfile} arg = name of file on which to write the PLUMED log (default: NULL) :pre -:ule - -[Examples:] - -fix pl all plumed all plumed plumedfile plumed.dat outfile p.log - -[Description:] - -This fix instructs LAMMPS to call the "PLUMED"_plumedhome library, which -allows one to perform various forms of trajectory analysis on the fly -and to also use methods such as umbrella sampling and metadynamics to -enhance the sampling of phase space. - -The documentation included here only describes the fix plumed command -itself. This command is LAMMPS specific, whereas most of the -functionality implemented in PLUMED will work with a range of MD codes, -and when PLUMED is used as a stand alone code for analysis. The full -"documentation for PLUMED"_plumeddocs is available online and included -in the PLUMED source code. The PLUMED library development is hosted at -"https://github.com/plumed/plumed2"_https://github.com/plumed/plumed2 -A detailed discussion of the code can be found in "(PLUMED)"_#PLUMED. - -There is an example input for using this package with LAMMPS in the -examples/USER/plumed directory. - -:line - -The command to make LAMMPS call PLUMED during a run requires two keyword -value pairs pointing to the PLUMED input file and an output file for the -PLUMED log. The user must specify these arguments every time PLUMED is -to be used. Furthermore, the fix plumed command should appear in the -LAMMPS input file [after] relevant input parameters (e.g. the timestep) -have been set. - -The {group-ID} entry is ignored. LAMMPS will always pass all the atoms -to PLUMED and there can only be one instance of the plumed fix at a -time. The way the plumed fix is implemented ensures that the minimum -amount of information required is communicated. Furthermore, PLUMED -supports multiple, completely independent collective variables, multiple -independent biases and multiple independent forms of analysis. There is -thus really no restriction in functionality by only allowing only one -plumed fix in the LAMMPS input. - -The {plumedfile} keyword allows the user to specify the name of the -PLUMED input file. Instructions as to what should be included in a -plumed input file can be found in the "documentation for -PLUMED"_plumeddocs - -The {outfile} keyword allows the user to specify the name of a file in -which to output the PLUMED log. This log file normally just repeats the -information that is contained in the input file to confirm it was -correctly read and parsed. The names of the files in which the results -are stored from the various analysis options performed by PLUMED will -be specified by the user in the PLUMED input file. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -When performing a restart of a calculation that involves PLUMED you must -include a RESTART command in the PLUMED input file as detailed in the -"PLUMED documentation"_plumeddocs. When the restart command is found in -the PLUMED input PLUMED will append to the files that were generated in -the run that was performed previously. No part of the PLUMED restart -data is included in the LAMMPS restart files. Furthermore, any history -dependent bias potentials that were accumulated in previous calculations -will be read in when the RESTART command is included in the PLUMED -input. - -The "fix_modify"_fix_modify.html {energy} option is not supported by -this fix. - -Nothing is computed by this fix that can be accessed by any of the -"output commands"_Howto_output.html within LAMMPS. All the quantities -of interest can be output by commands that are native to PLUMED, -however. - -[Restrictions:] - -This fix is part of the USER-PLUMED package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -There can only be one plumed fix active at a time. - -[Related commands:] - -"fix smd"_fix_smd.html -"fix colvars"_fix_colvars.html - -[Default:] - -The default options are plumedfile = NULL and outfile = NULL - -:line - -:link(PLUMED) -[(PLUMED)] G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014) - -:link(plumeddocs,http://www.plumed.org/doc.html) -:link(plumedhome,http://www.plumed.org/) diff --git a/doc/txt/fix_poems.txt b/doc/txt/fix_poems.txt deleted file mode 100644 index 027a15a5ff46b8a62a7375dabfc8e382830dd372..0000000000000000000000000000000000000000 --- a/doc/txt/fix_poems.txt +++ /dev/null @@ -1,142 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix poems command :h3 - -Syntax: - -fix ID group-ID poems keyword values :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -poems = style name of this fix command :l -keyword = {group} or {file} or {molecule} :l - {group} values = list of group IDs - {molecule} values = none - {file} values = filename :pre -:ule - -[Examples:] - -fix 3 fluid poems group clump1 clump2 clump3 -fix 3 fluid poems file cluster.list :pre - -[Description:] - -Treats one or more sets of atoms as coupled rigid bodies. This means -that each timestep the total force and torque on each rigid body is -computed and the coordinates and velocities of the atoms are updated -so that the collection of bodies move as a coupled set. This can be -useful for treating a large biomolecule as a collection of connected, -coarse-grained particles. - -The coupling, associated motion constraints, and time integration is -performed by the software package "Parallelizable Open source -Efficient Multibody Software (POEMS)"_poems which computes the -constrained rigid-body motion of articulated (jointed) multibody -systems "(Anderson)"_#Anderson. POEMS was written and is distributed -by Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, -and other members of his group at Rensselaer Polytechnic Institute -(RPI). Rudranarayan developed the LAMMPS/POEMS interface. For -copyright information on POEMS and other details, please refer to the -documents in the poems directory distributed with LAMMPS. - -:link(poems,http://www.rpi.edu/~anderk5/lab) - -This fix updates the positions and velocities of the rigid atoms with -a constant-energy time integration, so you should not update the same -atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). - -Each body must have a non-degenerate inertia tensor, which means if -must contain at least 3 non-collinear atoms. Which atoms are in which -bodies can be defined via several options. - -For option {group}, each of the listed groups is treated as a rigid -body. Note that only atoms that are also in the fix group are -included in each rigid body. - -For option {molecule}, each set of atoms in the group with a different -molecule ID is treated as a rigid body. - -For option {file}, sets of atoms are read from the specified file and -each set is treated as a rigid body. Each line of the file specifies -a rigid body in the following format: - -ID type atom1-ID atom2-ID atom3-ID ... - -ID as an integer from 1 to M (the number of rigid bodies). Type is -any integer; it is not used by the fix poems command. The remaining -arguments are IDs of atoms in the rigid body, each typically from 1 to -N (the number of atoms in the system). Only atoms that are also in -the fix group are included in each rigid body. Blank lines and lines -that begin with '#' are skipped. - -A connection between a pair of rigid bodies is inferred if one atom is -common to both bodies. The POEMS solver treats that atom as a -spherical joint with 3 degrees of freedom. Currently, a collection of -bodies can only be connected by joints as a linear chain. The entire -collection of rigid bodies can represent one or more chains. Other -connection topologies (tree, ring) are not allowed, but will be added -later. Note that if no joints exist, it is more efficient to use the -"fix rigid"_fix_rigid.html command to simulate the system. - -When the poems fix is defined, it will print out statistics on the -total # of clusters, bodies, joints, atoms involved. A cluster in -this context means a set of rigid bodies connected by joints. - -For computational efficiency, you should turn off pairwise and bond -interactions within each rigid body, as they no longer contribute to -the motion. The "neigh_modify exclude" and "delete_bonds" commands -can be used to do this if each rigid body is a group. - -For computational efficiency, you should only define one fix poems -which includes all the desired rigid bodies. LAMMPS will allow -multiple poems fixes to be defined, but it is more expensive. - -The degrees-of-freedom removed by coupled rigid bodies are accounted -for in temperature and pressure computations. Similarly, the rigid -body contribution to the pressure virial is also accounted for. The -latter is only correct if forces within the bodies have been turned -off, and there is only a single fix poems defined. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {bodyforces} option is supported by -this fix style to set whether per-body forces and torques are computed -early or late in a timestep, i.e. at the post-force stage or at the -final-integrate stage, respectively. - -No global or per-atom quantities are stored by this fix for access by -various "output commands"_Howto_output.html. 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 fix is part of the POEMS package. It is only enabled if LAMMPS -was built with that package, which also requires the POEMS library be -built and linked with LAMMPS. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix rigid"_fix_rigid.html, "delete_bonds"_delete_bonds.html, -"neigh_modify"_neigh_modify.html exclude - -[Default:] none - -:line - -:link(Anderson) -[(Anderson)] Anderson, Mukherjee, Critchley, Ziegler, and Lipton -"POEMS: Parallelizable Open-source Efficient Multibody Software ", -Engineering With Computers (2006). ("link to -paper"_http://dx.doi.org/10.1007/s00366-006-0026-x) diff --git a/doc/txt/fix_pour.txt b/doc/txt/fix_pour.txt deleted file mode 100644 index 65f01c00fb85d7335afa734263a4c7da0a71255a..0000000000000000000000000000000000000000 --- a/doc/txt/fix_pour.txt +++ /dev/null @@ -1,270 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix pour command :h3 - -[Syntax:] - -fix ID group-ID pour N type seed keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -pour = style name of this fix command :l -N = # of particles to insert :l -type = atom type to assign to inserted particles (offset for molecule insertion) :l -seed = random # seed (positive integer) :l -one or more keyword/value pairs may be appended to args :l -keyword = {region} or {diam} or {vol} or {rate} or {dens} or {vel} or {mol} or {rigid} or {shake} or {ignore} :l - {region} value = region-ID - region-ID = ID of region to use as insertion volume - {diam} values = dstyle args - dstyle = {one} or {range} or {poly} - {one} args = D - D = single diameter for inserted particles (distance units) - {range} args = Dlo Dhi - Dlo,Dhi = range of diameters for inserted particles (distance units) - {poly} args = Npoly D1 P1 D2 P2 ... - Npoly = # of (D,P) pairs - D1,D2,... = diameter for subset of inserted particles (distance units) - P1,P2,... = percentage of inserted particles with this diameter (0-1) - {id} values = idflag - idflag = {max} or {next} = how to choose IDs for inserted particles and molecules - {vol} values = fraction Nattempt - fraction = desired volume fraction for filling insertion volume - Nattempt = max # of insertion attempts per particle - {rate} value = V - V = z velocity (3d) or y velocity (2d) at which - insertion volume moves (velocity units) - {dens} values = Rholo Rhohi - Rholo,Rhohi = range of densities for inserted particles (mass/volume units) - {vel} values (3d) = vxlo vxhi vylo vyhi vz - {vel} values (2d) = vxlo vxhi vy - vxlo,vxhi = range of x velocities for inserted particles (velocity units) - vylo,vyhi = range of y velocities for inserted particles (velocity units) - vz = z velocity (3d) assigned to inserted particles (velocity units) - vy = y velocity (2d) assigned to inserted particles (velocity units) - {mol} value = template-ID - template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command - {molfrac} values = f1 f2 ... fN - f1 to fN = relative probability of creating each of N molecules in template-ID - {rigid} value = fix-ID - fix-ID = ID of "fix rigid/small"_fix_rigid.html command - {shake} value = fix-ID - fix-ID = ID of "fix shake"_fix_shake.html command - {ignore} value = none - skip any line or triangle particles when detecting possible - overlaps with inserted particles :pre -:ule - -[Examples:] - -fix 3 all pour 1000 2 29494 region myblock -fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam range 0.9 1.1 -fix 2 all pour 10000 1 19985583 region disk diam poly 2 0.7 0.4 1.5 0.6 -fix ins all pour 500 1 4767548 vol 0.8 10 region slab mol object rigid myRigid :pre - -[Description:] - -Insert finite-size particles or molecules into the simulation box -every few timesteps within a specified region until N particles or -molecules have been inserted. This is typically used to model the -pouring of granular particles into a container under the influence of -gravity. For the remainder of this doc page, a single inserted atom -or molecule is referred to as a "particle". - -If inserted particles are individual atoms, they are assigned the -specified atom type. If they are molecules, the type of each atom in -the inserted molecule is specified in the file read by the -"molecule"_molecule.html command, and those values are added to the -specified atom type. E.g. if the file specifies atom types 1,2,3, and -those are the atom types you want for inserted molecules, then specify -{type} = 0. If you specify {type} = 2, the in the inserted molecule -will have atom types 3,4,5. - -All atoms in the inserted particle are assigned to two groups: the -default group "all" and the group specified in the fix pour command -(which can also be "all"). - -This command must use the {region} keyword to define an insertion -volume. The specified region must have been previously defined with a -"region"_region.html command. It must be of type {block} or a z-axis -{cylinder} and must be defined with side = {in}. The cylinder style -of region can only be used with 3d simulations. - -Individual atoms are inserted, unless the {mol} keyword is used. It -specifies a {template-ID} previously defined using the -"molecule"_molecule.html command, which reads a file that defines the -molecule. The coordinates, atom types, center-of-mass, moments of -inertia, etc, as well as any bond/angle/etc and special neighbor -information for the molecule can be specified in the molecule file. -See the "molecule"_molecule.html command for details. The only -settings required to be in this file are the coordinates and types of -atoms in the molecule. - -If the molecule template contains more than one molecule, the relative -probability of depositing each molecule can be specified by the -{molfrac} keyword. N relative probabilities, each from 0.0 to 1.0, are -specified, where N is the number of molecules in the template. Each -time a molecule is inserted, a random number is used to sample from -the list of relative probabilities. The N values must sum to 1.0. - -If you wish to insert molecules via the {mol} keyword, that will be -treated as rigid bodies, use the {rigid} keyword, specifying as its -value the ID of a separate "fix rigid/small"_fix_rigid.html -command which also appears in your input script. - -NOTE: If you wish the new rigid molecules (and other rigid molecules) -to be thermostatted correctly via "fix rigid/small/nvt"_fix_rigid.html -or "fix rigid/small/npt"_fix_rigid.html, then you need to use the -"fix_modify dynamic/dof yes" command for the rigid fix. This is to -inform that fix that the molecule count will vary dynamically. - -If you wish to insert molecules via the {mol} keyword, that will have -their bonds or angles constrained via SHAKE, use the {shake} keyword, -specifying as its value the ID of a separate "fix -shake"_fix_shake.html command which also appears in your input script. - -Each timestep particles are inserted, they are placed randomly inside -the insertion volume so as to mimic a stream of poured particles. If -they are molecules they are also oriented randomly. Each atom in the -particle is tested for overlaps with existing particles, including -effects due to periodic boundary conditions if applicable. If an -overlap is detected, another random insertion attempt is made; see the -{vol} keyword discussion below. The larger the volume of the -insertion region, the more particles that can be inserted at any one -timestep. Particles are inserted again after enough time has elapsed -that the previously inserted particles fall out of the insertion -volume under the influence of gravity. Insertions continue every so -many timesteps until the desired # of particles has been inserted. - -NOTE: If you are monitoring the temperature of a system where the -particle count is changing due to adding particles, you typically -should use the "compute_modify dynamic yes"_compute_modify.html -command for the temperature compute you are using. - -:line - -All other keywords are optional with defaults as shown below. - -The {diam} option is only used when inserting atoms and specifies the -diameters of inserted particles. There are 3 styles: {one}, {range}, -or {poly}. For {one}, all particles will have diameter {D}. For -{range}, the diameter of each particle will be chosen randomly and -uniformly between the specified {Dlo} and {Dhi} bounds. For {poly}, a -series of {Npoly} diameters is specified. For each diameter a -percentage value from 0.0 to 1.0 is also specified. The {Npoly} -percentages must sum to 1.0. For the example shown above with "diam 2 -0.7 0.4 1.5 0.6", all inserted particles will have a diameter of 0.7 -or 1.5. 40% of the particles will be small; 60% will be large. - -Note that for molecule insertion, the diameters of individual atoms in -the molecule can be specified in the file read by the -"molecule"_molecule.html command. If not specified, the diameter of -each atom in the molecule has a default diameter of 1.0. - -The {id} option has two settings which are used to determine the atom -or molecule IDs to assign to inserted particles/molecules. In both -cases a check is done of the current system to find the maximum -current atom and molecule ID of any existing particle. Newly inserted -particles and molecules are assigned IDs that increment those max -values. For the {max} setting, which is the default, this check is -done at every insertion step, which allows for particles to leave the -system, and their IDs to potentially be re-used. For the {next} -setting this check is done only once when the fix is specified, which -can be more efficient if you are sure particles will not be added in -some other way. - -The {vol} option specifies what volume fraction of the insertion -volume will be filled with particles. For particles with a size -specified by the {diam range} keyword, they are assumed to all be of -maximum diameter {Dhi} for purposes of computing their contribution to -the volume fraction. - -The higher the volume fraction value, the more particles are inserted -each timestep. Since inserted particles cannot overlap, the maximum -volume fraction should be no higher than about 0.6. Each timestep -particles are inserted, LAMMPS will make up to a total of M tries to -insert the new particles without overlaps, where M = # of inserted -particles * Nattempt. If LAMMPS is unsuccessful at completing all -insertions, it prints a warning. - -The {dens} and {vel} options enable inserted particles to have a range -of densities or xy velocities. The specific values for a particular -inserted particle will be chosen randomly and uniformly between the -specified bounds. Internally, the density value for a particle is -converted to a mass, based on the radius (volume) of the particle. -The {vz} or {vy} value for option {vel} assigns a z-velocity (3d) or -y-velocity (2d) to each inserted particle. - -The {rate} option moves the insertion volume in the z direction (3d) -or y direction (2d). This enables pouring particles from a -successively higher height over time. - -The {ignore} option is useful when running a simulation that used line -segment (2d) or triangle (3d) particles, typically to define -boundaries for spherical granular particles to interact with. See the -"atom_style line or tri"_atom_style.html command for details. Lines -and triangles store their size, and if the size is large it may -overlap (in a spherical sense) with the insertion region, even if the -line/triangle is oriented such that there is no actual overlap. This -can prevent particles from being inserted. The {ignore} keyword -causes the overlap check to skip any line or triangle particles. -Obviously you should only use it if there is in fact no overlap of the -line or triangle particles with the insertion region. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. This means you must be careful when restarting a -pouring simulation, when the restart file was written in the middle of -the pouring operation. Specifically, you should use a new fix pour -command in the input script for the restarted simulation that -continues the operation. You will need to adjust the arguments of the -original fix pour command to do this. - -Also note that because the state of the random number generator is not -saved in restart files, you cannot do "exact" restarts with this fix, -where the simulation continues on the same as if no restart had taken -place. However, in a statistical sense, a restarted simulation should -produce the same behavior if you adjust the fix pour parameters -appropriately. - -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"_Howto_output.html. 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 fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -For 3d simulations, a gravity fix in the -z direction must be defined -for use in conjunction with this fix. For 2d simulations, gravity -must be defined in the -y direction. - -The specified insertion region cannot be a "dynamic" region, as -defined by the "region"_region.html command. - -[Related commands:] - -"fix deposit"_fix_deposit.html, "fix gravity"_fix_gravity.html, -"region"_region.html - -[Default:] - -Insertions are performed for individual particles, i.e. no {mol} -setting is defined. If the {mol} keyword is used, the default for -{molfrac} is an equal probabilities for all molecules in the template. -Additional option defaults are diam = one 1.0, dens = 1.0 1.0, vol = -0.25 50, rate = 0.0, vel = 0.0 0.0 0.0 0.0 0.0 (for 3d), vel = 0.0 0.0 0.0 -(for 2d), and id = max. diff --git a/doc/txt/fix_press_berendsen.txt b/doc/txt/fix_press_berendsen.txt deleted file mode 100644 index 7f47a29ba35fa0a1ca9cc0c3aebd51917131564d..0000000000000000000000000000000000000000 --- a/doc/txt/fix_press_berendsen.txt +++ /dev/null @@ -1,226 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix press/berendsen command :h3 - -[Syntax:] - -fix ID group-ID press/berendsen keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -press/berendsen = style name of this fix command :l -one or more keyword value pairs may be appended -keyword = {iso} or {aniso} or {x} or {y} or {z} or {couple} or {dilate} or {modulus} - {iso} or {aniso} values = Pstart Pstop Pdamp - Pstart,Pstop = scalar external pressure at start/end of run (pressure units) - Pdamp = pressure damping parameter (time units) - {x} or {y} or {z} values = Pstart Pstop Pdamp - Pstart,Pstop = external stress tensor component at start/end of run (pressure units) - Pdamp = stress damping parameter (time units) - {couple} = {none} or {xyz} or {xy} or {yz} or {xz} - {modulus} value = bulk modulus of system (pressure units) - {dilate} value = {all} or {partial} :pre -:ule - -[Examples:] - -fix 1 all press/berendsen iso 0.0 0.0 1000.0 -fix 2 all press/berendsen aniso 0.0 0.0 1000.0 dilate partial :pre - -[Description:] - -Reset the pressure of the system by using a Berendsen barostat -"(Berendsen)"_#Berendsen1, which rescales the system volume and -(optionally) the atoms coordinates within the simulation box every -timestep. - -Regardless of what atoms are in the fix group, a global pressure is -computed for all atoms. Similarly, when the size of the simulation -box is changed, all atoms are re-scaled to new positions, unless the -keyword {dilate} is specified with a value of {partial}, in which case -only the atoms in the fix group are re-scaled. The latter can be -useful for leaving the coordinates of atoms in a solid substrate -unchanged and controlling the pressure of a surrounding fluid. - -NOTE: Unlike the "fix npt"_fix_nh.html or "fix nph"_fix_nh.html -commands which perform Nose/Hoover barostatting AND time integration, -this fix does NOT perform time integration. It only modifies the box -size and atom coordinates to effect barostatting. Thus you must use a -separate time integration fix, like "fix nve"_fix_nve.html or "fix -nvt"_fix_nh.html to actually update the positions and velocities of -atoms. This fix can be used in conjunction with thermostatting fixes -to control the temperature, such as "fix nvt"_fix_nh.html or "fix -langevin"_fix_langevin.html or "fix -temp/berendsen"_fix_temp_berendsen.html. - -See the "Howto baroostat"_Howto_barostat.html doc page for a -discussion of different ways to perform barostatting. - -:line - -The barostat is specified using one or more of the {iso}, {aniso}, -{x}, {y}, {z}, and {couple} keywords. These keywords give you the -ability to specify the 3 diagonal components of an external stress -tensor, and to couple various of these components together so that the -dimensions they represent are varied together during a -constant-pressure simulation. Unlike the "fix npt"_fix_nh.html and -"fix nph"_fix_nh.html commands, this fix cannot be used with triclinic -(non-orthogonal) simulation boxes to control all 6 components of the -general pressure tensor. - -The target pressures for each of the 3 diagonal components of the -stress tensor can be specified independently via the {x}, {y}, {z}, -keywords, which correspond to the 3 simulation box dimensions. For -each component, the external pressure or tensor component at each -timestep is a ramped value during the run from {Pstart} to {Pstop}. -If a target pressure is specified for a component, then the -corresponding box dimension will change during a simulation. For -example, if the {y} keyword is used, the y-box length will change. A -box dimension will not change if that component is not specified, -although you have the option to change that dimension via the "fix -deform"_fix_deform.html command. - -For all barostat keywords, the {Pdamp} parameter determines the time -scale on which pressure is relaxed. For example, a value of 10.0 -means to relax the pressure in a timespan of (roughly) 10 time units -(tau or fmsec or psec - see the "units"_units.html command). - -NOTE: A Berendsen barostat will not work well for arbitrary values of -{Pdamp}. If {Pdamp} is too small, the pressure and volume can -fluctuate wildly; if it is too large, the pressure will take a very -long time to equilibrate. A good choice for many models is a {Pdamp} -of around 1000 timesteps. However, note that {Pdamp} is specified in -time units, and that timesteps are NOT the same as time units for most -"units"_units.html settings. - -NOTE: The relaxation time is actually also a function of the bulk -modulus of the system (inverse of isothermal compressibility). The -bulk modulus has units of pressure and is the amount of pressure that -would need to be applied (isotropically) to reduce the volume of the -system by a factor of 2 (assuming the bulk modulus was a constant, -independent of density, which it's not). The bulk modulus can be set -via the keyword {modulus}. The {Pdamp} parameter is effectively -multiplied by the bulk modulus, so if the pressure is relaxing faster -than expected or desired, increasing the bulk modulus has the same -effect as increasing {Pdamp}. The converse is also true. LAMMPS does -not attempt to guess a correct value of the bulk modulus; it just uses -10.0 as a default value which gives reasonable relaxation for a -Lennard-Jones liquid, but will be way off for other materials and way -too small for solids. Thus you should experiment to find appropriate -values of {Pdamp} and/or the {modulus} when using this fix. - -:line - -The {couple} keyword allows two or three of the diagonal components of -the pressure tensor to be "coupled" together. The value specified -with the keyword determines which are coupled. For example, {xz} -means the {Pxx} and {Pzz} components of the stress tensor are coupled. -{Xyz} means all 3 diagonal components are coupled. Coupling means two -things: the instantaneous stress will be computed as an average of the -corresponding diagonal components, and the coupled box dimensions will -be changed together in lockstep, meaning coupled dimensions will be -dilated or contracted by the same percentage every timestep. The -{Pstart}, {Pstop}, {Pdamp} parameters for any coupled dimensions must -be identical. {Couple xyz} can be used for a 2d simulation; the {z} -dimension is simply ignored. - -:line - -The {iso} and {aniso} keywords are simply shortcuts that are -equivalent to specifying several other keywords together. - -The keyword {iso} means couple all 3 diagonal components together when -pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using "iso Pstart Pstop Pdamp" is the same as -specifying these 4 keywords: - -x Pstart Pstop Pdamp -y Pstart Pstop Pdamp -z Pstart Pstop Pdamp -couple xyz :pre - -The keyword {aniso} means {x}, {y}, and {z} dimensions are controlled -independently using the {Pxx}, {Pyy}, and {Pzz} components of the -stress tensor as the driving forces, and the specified scalar external -pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying -these 4 keywords: - -x Pstart Pstop Pdamp -y Pstart Pstop Pdamp -z Pstart Pstop Pdamp -couple none :pre - -:line - -This fix computes a temperature and pressure each timestep. To do -this, the fix creates its own computes of style "temp" and "pressure", -as if these commands had been issued: - -compute fix-ID_temp group-ID temp -compute fix-ID_press group-ID pressure fix-ID_temp :pre - -See the "compute temp"_compute_temp.html and "compute -pressure"_compute_pressure.html commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is the same -as the fix group. - -Note that these are NOT the computes used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp} -and {thermo_press}. This means you can change the attributes of this -fix's temperature or pressure via the -"compute_modify"_compute_modify.html command or print this temperature -or pressure during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} or -{thermo_press} will have no effect on this fix. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by this fix. You can use them to assign a -"compute"_compute.html you have defined to this fix which will be used -in its temperature and pressure calculations. If you do this, note -that the kinetic energy derived from the compute temperature should be -consistent with the virial term computed using all atoms for the -pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. - -No global or per-atom quantities are stored by this fix for access by -various "output commands"_Howto_output.html. - -This fix can ramp its target pressure over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -Any dimension being adjusted by this fix must be periodic. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nph"_fix_nh.html, "fix -npt"_fix_nh.html, "fix temp/berendsen"_fix_temp_berendsen.html, -"fix_modify"_fix_modify.html - -[Default:] - -The keyword defaults are dilate = all, modulus = 10.0 in units of -pressure for whatever "units"_units.html are defined. - -:line - -:link(Berendsen1) - -[(Berendsen)] Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem -Phys, 81, 3684 (1984). diff --git a/doc/txt/fix_print.txt b/doc/txt/fix_print.txt deleted file mode 100644 index cafc1807188330bb6371a4a5edefeb6ea5a115bf..0000000000000000000000000000000000000000 --- a/doc/txt/fix_print.txt +++ /dev/null @@ -1,105 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix print command :h3 - -[Syntax:] - -fix ID group-ID print N string keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -print = style name of this fix command :l -N = print every N steps; N can be a variable (see below) :l -string = text string to print with optional variable names :l -zero or more keyword/value pairs may be appended :l -keyword = {file} or {append} or {screen} or {title} :l - {file} value = filename - {append} value = filename - {screen} value = {yes} or {no} - {title} value = string - string = text to print as 1st line of output file :pre -:ule - -[Examples:] - -fix extra all print 100 "Coords of marker atom = $x $y $z" -fix extra all print 100 "Coords of marker atom = $x $y $z" file coord.txt :pre - -[Description:] - -Print a text string every N steps during a simulation run. This can -be used for diagnostic purposes or as a debugging tool to monitor some -quantity during a run. The text string must be a single argument, so -it should be enclosed in double quotes if it is more than one word. -If it contains variables it must be enclosed in double quotes to -insure they are not evaluated when the input script line is read, but -will instead be evaluated each time the string is printed. - -Instead of a numeric value, N can be specified as an "equal-style -variable"_variable.html, which should be specified as v_name, where -name is the variable name. In this case, the variable is evaluated at -the beginning of a run to determine the [next] timestep at which the -string will be written out. On that timestep, the variable will be -evaluated again to determine the next timestep, etc. -Thus the variable should return timestep values. See the stagger() -and logfreq() and stride() math functions for "equal-style -variables"_variable.html, as examples of useful functions to use in -this context. For example, the following commands will print output at -timesteps 10,20,30,100,200,300,1000,2000,etc: - -variable s equal logfreq(10,3,10) -fix extra all print v_s "Coords of marker atom = $x $y $z" :pre - -The specified group-ID is ignored by this fix. - -See the "variable"_variable.html command for a description of {equal} -style variables which are the most useful ones to use with the fix -print command, since they are evaluated afresh each timestep that the -fix print line is output. Equal-style variables calculate formulas -involving mathematical operations, atom properties, group properties, -thermodynamic properties, global values calculated by a -"compute"_compute.html or "fix"_fix.html, or references to other -"variables"_variable.html. - -If the {file} or {append} keyword is used, a filename is specified to -which the output generated by this fix will be written. If {file} is -used, then the filename is overwritten if it already exists. If -{append} is used, then the filename is appended to if it already -exists, or created if it does not exist. - -If the {screen} keyword is used, output by this fix to the screen and -logfile can be turned on or off as desired. - -The {title} keyword allow specification of the string that will be -printed as the first line of the output file, assuming the {file} -keyword was used. By default, the title line is as follows: - -# Fix print output for fix ID :pre - -where ID is replaced with the fix-ID. - -[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"_Howto_output.html. -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:] none - -[Related commands:] - -"variable"_variable.html, "print"_print.html - -[Default:] - -The option defaults are no file output, screen = yes, and title string -as described above. diff --git a/doc/txt/fix_property_atom.txt b/doc/txt/fix_property_atom.txt deleted file mode 100644 index a62f523c5d0be68418aa984103e0276922bce1e1..0000000000000000000000000000000000000000 --- a/doc/txt/fix_property_atom.txt +++ /dev/null @@ -1,290 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix property/atom command :h3 -fix property/atom/kk command :h3 - -[Syntax:] - -fix ID group-ID property/atom vec1 vec2 ... keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -property/atom = style name of this fix command :l -vec1,vec2,... = {mol} or {q} or {rmass} or {i_name} or {d_name} :l - {mol} = molecule IDs - {q} = charge - {rmass} = per-atom mass - {i_name} = new integer vector referenced by name - {d_name} = new floating-point vector referenced by name :pre -zero of more keyword/value pairs may be appended :l -keyword = {ghost} :l - {ghost} value = {no} or {yes} for whether ghost atom info in communicated :pre -:ule - -[Examples:] - -fix 1 all property/atom mol -fix 1 all property/atom i_myflag1 i_myflag2 -fix 1 all property/atom d_sx d_sy d_sz :pre - -[Description:] - -Create one or more additional per-atom vectors to store information -about atoms and to use during a simulation. The specified {group-ID} -is ignored by this fix. - -The atom style used for a simulation defines a set of per-atom -properties, as explained on the "atom_style"_atom_style.html and -"read_data"_read_data.html doc pages. The latter command allows these -properties to be defined for each atom in the system when a data file -is read. This fix will augment the set of properties with new custom -ones. This can be useful in several scenarios. - -If the atom style does not define molecule IDs, per-atom charge, -or per-atom mass, they can be added using the {mol}, {q} or {rmass} -keywords. This can be useful, e.g, to define "molecules" to use as -rigid bodies with the "fix rigid"_fix_rigid.html command, or just to -carry around an extra flag with the atoms (stored as a molecule ID) -that can be used to group atoms without having to use the group -command (which is limited to a total of 32 groups including {all}). - -Another application would be to use the {rmass} flag in order to have -per-atom masses instead of per-type masses, for example this can be -useful to study isotope effects with partial isotope substitution. -Please "see below"_#isotopes for an example of simulating a mixture -of light and heavy water with the TIP4P water potential. - -An alternative to using fix {property/atom} in these ways is to -use an atom style that does define molecule IDs or charge or per-atom -mass (indirectly via diameter and density) or to use a hybrid atom -style that combines two or more atom styles -to provide the union of all atom properties. However, this has two -practical drawbacks: first, it typically necessitates changing the -format of the data file, which can be tedious for large systems; -and second, it may define additional properties that are not needed -such as bond lists, which has some overhead when there are no bonds. - -In the future, we may add additional per-atom properties similar to -{mol}, {q} or {rmass}, which "turn-on" specific properties defined -by some atom styles, so they can be used by atom styles that do not -define them. - -More generally, the {i_name} and {d_name} vectors allow one or more -new custom per-atom properties to be defined. Each name must be -unique and can use alphanumeric or underscore characters. These -vectors can store whatever values you decide are useful in your -simulation. As explained below there are several ways to initialize -and access and output these values, both via input script commands and -in new code that you add to LAMMPS. - -This is effectively a simple way to add per-atom properties to a model -without needing to write code for a new "atom style"_atom_style.html -that defines the properties. Note however that implementing a new -atom style allows new atom properties to be more tightly and -seamlessly integrated with the rest of the code. - -The new atom properties encode values that migrate with atoms to new -processors and are written to restart files. If you want the new -properties to also be defined for ghost atoms, then use the {ghost} -keyword with a value of {yes}. This will invoke extra communication -when ghost atoms are created (at every re-neighboring) to insure the -new properties are also defined for the ghost atoms. - -NOTE: If you use this command with the {mol}, {q} or {rmass} vectors, -then you most likely want to set {ghost} yes, since these properties -are stored with ghost atoms if you use an "atom_style"_atom_style.html -that defines them, and many LAMMPS operations that use molecule IDs or -charge, such as neighbor lists and pair styles, will expect ghost -atoms to have these values. LAMMPS will issue a warning it you define -those vectors but do not set {ghost} yes. - -NOTE: The properties for ghost atoms are not updated every timestep, -but only once every few steps when neighbor lists are re-built. Thus -the {ghost} keyword is suitable for static properties, like molecule -IDs, but not for dynamic properties that change every step. For the -latter, the code you add to LAMMPS to change the properties will also -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 -script before the simulation box is created or atoms are defined. -This is so it can be used with the "read_data"_read_data.html command -as described below. - -Per-atom properties that are defined by the "atom -style"_atom_style.html are initialized when atoms are created, e.g. by -the "read_data"_read_data.html or "create_atoms"_create_atoms.html -commands. The per-atom properties defined by this fix are not. So -you need to initialize them explicitly. This can be done by the -"read_data"_read_data.html command, using its {fix} keyword and -passing it the fix-ID of this fix. - -Thus these commands: - -fix prop all property/atom mol d_flag -read_data data.txt fix prop NULL Molecules :pre - -would allow a data file to have a section like this: - -Molecules :pre - -1 4 1.5 -2 4 3.0 -3 10 1.0 -4 10 1.0 -5 10 1.0 -... -N 763 4.5 :pre - -where N is the number of atoms, and the first field on each line is -the atom-ID, followed by a molecule-ID and a floating point value that -will be stored in a new property called "flag". Note that the list of -per-atom properties can be in any order. - -Another way of initializing the new properties is via the -"set"_set.html command. For example, if you wanted molecules -defined for every set of 10 atoms, based on their atom-IDs, -these commands could be used: - -fix prop all property/atom mol -variable cluster atom ((id-1)/10)+1 -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 -"set"_set.html commands assigns them to the molecule ID for each atom, -they will be truncated to an integer value, so atoms 31-40 will all be -assigned a molecule ID of 4. - -Note that "atomfile-style variables"_variable.html can also be used in -place of atom-style variables, which means in this case that the -molecule IDs could be read-in from a separate file and assigned by the -"set"_set.html command. This allows you to initialize new per-atom -properties in a completely general fashion. - -:line - -For new atom properties specified as {i_name} or {d_name}, the -"compute property/atom"_compute_property_atom.html command can access -their values. This means that the values can be output via the "dump -custom"_dump.html command, accessed by fixes like "fix -ave/atom"_fix_ave_atom.html, accessed by other computes like "compute -reduce"_compute_reduce.html, or used in "atom-style -variables"_variable.html. - -For example, these commands will output two new properties to a custom -dump file: - -fix prop all property/atom i_flag1 d_flag2 -compute 1 all property/atom i_flag1 d_flag2 -dump 1 all custom 100 tmp.dump id x y z c_1\[1\] c_1\[2\] :pre - -:line - -If you wish to add new "pair styles"_pair_style.html, -"fixes"_fix.html, or "computes"_compute.html that use the per-atom -properties defined by this fix, see the "Modify atom"_Modify_atom.html -doc page which has details on how the properties can be accessed from -added classes. - -:line - -:link(isotopes) - -Example for using per-atom masses with TIP4P water to -study isotope effects. When setting up simulations with the "TIP4P -pair styles"_Howto_tip4p.html for water, you have to provide exactly -one atom type each to identify the water oxygen and hydrogen -atoms. Since the atom mass is normally tied to the atom type, this -makes it impossible to study multiple isotopes in the same simulation. -With {fix property/atom rmass} however, the per-type masses are -replaced by per-atom masses. Asumming you have a working input deck -for regular TIP4P water, where water oxygen is atom type 1 and water -hydrogen is atom type 2, the following lines of input script convert -this to using per-atom masses: - -fix Isotopes all property/atom rmass ghost yes -set type 1 mass 15.9994 -set type 2 mass 1.008 :pre - -When writing out the system data with the "write_data"_write_data.html -command, there will be a new section named with the fix-ID -(i.e. {Isotopes} in this case). Alternatively, you can take an -existing data file and just add this {Isotopes} section with -one line per atom containing atom-ID and mass. Either way, the -extended data file can be read back with: - -fix Isotopes all property/atom rmass ghost yes -read_data tip4p-isotopes.data fix Isotopes NULL Isotopes :pre - -Please note that the first {Isotopes} refers to the fix-ID -and the second to the name of the section. The following input -script code will now change the first 100 water molecules in this -example to heavy water: - -group hwat id 2:300:3 -group hwat id 3:300:3 -set group hwat mass 2.0141018 :pre - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the per-atom values it stores to "binary restart -files"_restart.html, so that the values can be restored when a -simulation is restarted. See the "read_restart"_read_restart.html -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -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"_Howto_output.html. 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:] none - -[Related commands:] - -"read_data"_read_data.html, "set"_set.html, "compute -property/atom"_compute_property_atom.html - -[Default:] - -The default keyword values are ghost = no. diff --git a/doc/txt/fix_python_invoke.txt b/doc/txt/fix_python_invoke.txt deleted file mode 100644 index 2a0124e6bfc0dd01d65f3b47d76df3a7de1bebc4..0000000000000000000000000000000000000000 --- a/doc/txt/fix_python_invoke.txt +++ /dev/null @@ -1,76 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix python/invoke command :h3 - -[Syntax:] - -fix ID group-ID python/invoke N callback function_name :pre - -ID, group-ID are ignored by this fix :ulb,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 - {end_of_step} = callback after every N time steps :pre -:ule - -[Examples:] - -python post_force_callback here """ -from lammps import lammps :pre - -def post_force_callback(lammps_ptr, vflag): - lmp = lammps(ptr=lammps_ptr) - # access LAMMPS state using Python interface -""" :pre - -python end_of_step_callback here """ -def end_of_step_callback(lammps_ptr): - lmp = lammps(ptr=lammps_ptr) - # access LAMMPS state using Python interface -""" :pre - -fix pf all python/invoke 50 post_force post_force_callback -fix eos all python/invoke 50 end_of_step end_of_step_callback :pre - -[Description:] - -This fix allows you to call a Python function during a simulation run. -The callback is either executed after forces have been applied to atoms -or at the end of every N time steps. - -Callback functions must be declared in the global scope of the -active Python interpreter. This can either be done by defining it -inline using the python command or by importing functions from other -Python modules. If LAMMPS is driven using the library interface from -Python, functions defined in the driving Python interpreter can also -be executed. - -Each callback is given a pointer object as first argument. This can be -used to initialize an instance of the lammps Python interface, which -gives access to the LAMMPS state from Python. - -IMPORTANT NOTE: While you can access the state of LAMMPS via library functions -from these callbacks, trying to execute input script commands will in the best -case not work or in the worst case result in undefined behavior. - -[Restrictions:] - -This fix is part of the PYTHON package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Building LAMMPS with the PYTHON package will link LAMMPS with the -Python library on your system. Settings to enable this are in the -lib/python/Makefile.lammps file. See the lib/python/README file for -information on those settings. - -[Related commands:] - -"python command"_python.html diff --git a/doc/txt/fix_python_move.txt b/doc/txt/fix_python_move.txt deleted file mode 100644 index c64ee788af9354955eb9fd2b63d07f8dcf773945..0000000000000000000000000000000000000000 --- a/doc/txt/fix_python_move.txt +++ /dev/null @@ -1,102 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -: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"_Howto_output.html. -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 "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix python/invoke"_fix_python_invoke.html - -[Default:] none - diff --git a/doc/txt/fix_qbmsst.txt b/doc/txt/fix_qbmsst.txt deleted file mode 100644 index 546d8c0813235c18868dfc47ad07b60d799e4d1d..0000000000000000000000000000000000000000 --- a/doc/txt/fix_qbmsst.txt +++ /dev/null @@ -1,219 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix qbmsst command :h3 - -[Syntax:] - -fix ID group-ID qbmsst dir shockvel keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -qbmsst = style name of this fix :l -dir = {x} or {y} or {z} :l -shockvel = shock velocity (strictly positive, velocity units) :l -zero or more keyword/value pairs may be appended :l -keyword = {q} or {mu} or {p0} or {v0} or {e0} or {tscale} or {damp} or {seed}or {f_max} or {N_f} or {eta} or {beta} or {T_init} :l - - {q} value = cell mass-like parameter (mass^2/distance^4 units) - {mu} value = artificial viscosity (mass/distance/time units) - {p0} value = initial pressure in the shock equations (pressure units) - {v0} value = initial simulation cell volume in the shock equations (distance^3 units) - {e0} value = initial total energy (energy units) - {tscale} value = reduction in initial temperature (unitless fraction between 0.0 and 1.0) - {damp} value = damping parameter (time units) inverse of friction γ - {seed} value = random number seed (positive integer) - {f_max} value = upper cutoff frequency of the vibration spectrum (1/time units) - {N_f} value = number of frequency bins (positive integer) - {eta} value = coupling constant between the shock system and the quantum thermal bath (positive unitless) - {beta} value = the quantum temperature is updated every beta time steps (positive integer) - {T_init} value = quantum temperature for the initial state (temperature units) :pre -:ule - -[Examples:] - -fix 1 all qbmsst z 0.122 q 25 mu 0.9 tscale 0.01 damp 200 seed 35082 f_max 0.3 N_f 100 eta 1 beta 400 T_init 110 (liquid methane modeled with the REAX force field, real units) -fix 2 all qbmsst z 72 q 40 tscale 0.05 damp 1 seed 47508 f_max 120.0 N_f 100 eta 1.0 beta 500 T_init 300 (quartz modeled with the BKS force field, metal units) :pre - -Two example input scripts are given, including shocked alpha quartz -and shocked liquid methane. The input script first equilibrate an -initial state with the quantum thermal bath at the target temperature -and then apply the qbmsst to simulate shock compression with quantum -nuclear correction. The following two figures plot related quantities -for shocked alpha quartz. - -:c,image(JPG/qbmsst_init.jpg) - -Figure 1. Classical temperature Tcl = ∑ -mivi2/3NkB vs. time -for coupling the alpha quartz initial state with the quantum thermal -bath at target quantum temperature Tqm = 300 K. The -NpH ensemble is used for time integration while QTB provides the -colored random force. Tcl converges at the timescale -of {damp} which is set to be 1 ps. - -:c,image(JPG/qbmsst_shock.jpg) - -Figure 2. Quantum temperature and pressure vs. time for simulating -shocked alpha quartz with the QBMSST. The shock propagates along the z -direction. Restart of the QBMSST command is demonstrated in the -example input script. Thermodynamic quantities stay continuous before -and after the restart. - -[Description:] - -This command performs the Quantum-Bath coupled Multi-Scale Shock -Technique (QBMSST) integration. See "(Qi)"_#Qi for a detailed -description of this method. The QBMSST provides description of the -thermodynamics and kinetics of shock processes while incorporating -quantum nuclear effects. The {shockvel} setting determines the steady -shock velocity that will be simulated along direction {dir}. - -Quantum nuclear effects "(fix qtb)"_fix_qtb.html can be crucial -especially when the temperature of the initial state is below the -classical limit or there is a great change in the zero point energies -between the initial and final states. Theoretical post processing -quantum corrections of shock compressed water and methane have been -reported as much as 30% of the temperatures "(Goldman)"_#Goldman1. A -self-consistent method that couples the shock to a quantum thermal -bath described by a colored noise Langevin thermostat has been -developed by Qi et al "(Qi)"_#Qi and applied to shocked methane. The -onset of chemistry is reported to be at a pressure on the shock -Hugoniot that is 40% lower than observed with classical molecular -dynamics. - -It is highly recommended that the system be already in an equilibrium -state with a quantum thermal bath at temperature of {T_init}. The fix -command "fix qtb"_fix_qtb.html at constant temperature {T_init} could -be used before applying this command to introduce self-consistent -quantum nuclear effects into the initial state. - -The parameters {q}, {mu}, {e0}, {p0}, {v0} and {tscale} are described -in the command "fix msst"_fix_msst.html. The values of {e0}, {p0}, or -{v0} will be calculated on the first step if not specified. The -parameter of {damp}, {f_max}, and {N_f} are described in the command -"fix qtb"_fix_qtb.html. - -The fix qbmsst command couples the shock system to a quantum thermal -bath with a rate that is proportional to the change of the total -energy of the shock system, etot - etot0. -Here etot consists of both the system energy and a thermal -term, see "(Qi)"_#Qi, and etot0 = {e0} is the -initial total energy. - -The {eta} (η) parameter is a unitless coupling constant -between the shock system and the quantum thermal bath. A small {eta} -value cannot adjust the quantum temperature fast enough during the -temperature ramping period of shock compression while large {eta} -leads to big temperature oscillation. A value of {eta} between 0.3 and -1 is usually appropriate for simulating most systems under shock -compression. We observe that different values of {eta} lead to almost -the same final thermodynamic state behind the shock, as expected. - -The quantum temperature is updated every {beta} (β) steps -with an integration time interval {beta} times longer than the -simulation time step. In that case, etot is taken as its -average over the past {beta} steps. The temperature of the quantum -thermal bath Tqm changes dynamically according to -the following equation where Δt is the MD time step and -γ is the friction constant which is equal to the inverse -of the {damp} parameter. - -
dTqm/dt = -γηβl = -1[etot(t-lΔt)-etot0]/3βNkB -
- -The parameter {T_init} is the initial temperature of the quantum -thermal bath and the system before shock loading. - -For all pressure styles, the simulation box stays orthorhombic in -shape. Parrinello-Rahman boundary conditions (tilted box) are -supported by LAMMPS, but are not implemented for QBMSST. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Because the state of the random number generator is not written to -"binary restart files"_restart.html, this fix cannot be restarted -"exactly" in an uninterrupted fashion. However, in a statistical -sense, a restarted simulation should produce similar behaviors of the -system as if it is not interrupted. To achieve such a restart, one -should write explicitly the same value for {q}, {mu}, {damp}, {f_max}, -{N_f}, {eta}, and {beta} and set {tscale} = 0 if the system is -compressed during the first run. - -The progress of the QBMSST can be monitored by printing the global -scalar and global vector quantities computed by the fix. The global -vector contains five values in this order: - -\[{dhugoniot}, {drayleigh}, {lagrangian_speed}, {lagrangian_position}, -{quantum_temperature}\] - -{dhugoniot} is the departure from the Hugoniot (temperature units). -{drayleigh} is the departure from the Rayleigh line (pressure units). -{lagrangian_speed} is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). -{lagrangian_position} is the computational cell position in the reference frame moving at the shock speed. This is the distance of the computational cell behind the shock front. -{quantum_temperature} is the temperature of the quantum thermal bath Tqm. :ol - -To print these quantities to the log file with descriptive column -headers, the following LAMMPS commands are suggested. Here the -"fix_modify"_fix_modify.html energy command is also enabled to allow -the thermo keyword {etotal} to print the quantity etot. See -also the "thermo_style"_thermo_style.html command. - -fix fix_id all msst z -fix_modify fix_id energy yes -variable dhug equal f_fix_id\[1\] -variable dray equal f_fix_id\[2\] -variable lgr_vel equal f_fix_id\[3\] -variable lgr_pos equal f_fix_id\[4\] -variable T_qm equal f_fix_id\[5\] -thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id :pre - -The global scalar under the entry f_fix_id is the quantity of thermo -energy as an extra part of etot. This global scalar and the -vector of 5 quantities can be accessed by various "output -commands"_Howto_output.html. It is worth noting that the temp keyword -under the "thermo_style"_thermo_style.html command print the -instantaneous classical temperature Tcl as described -in the command "fix qtb"_fix_qtb.html. - -:line - -[Restrictions:] - -This fix style is part of the USER-QTB package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -All cell dimensions must be periodic. This fix can not be used with a -triclinic cell. The QBMSST fix has been tested only for the group-ID -all. - -:line - -[Related commands:] - -"fix qtb"_fix_qtb.html, "fix msst"_fix_msst.html - -:line - -[Default:] - -The keyword defaults are q = 10, mu = 0, tscale = 0.01, damp = 1, seed -= 880302, f_max = 200.0, N_f = 100, eta = 1.0, beta = 100, and -T_init=300.0. e0, p0, and v0 are calculated on the first step. - -:line - -:link(Goldman1) -[(Goldman)] Goldman, Reed and Fried, J. Chem. Phys. 131, 204103 (2009) - -:link(Qi) -[(Qi)] Qi and Reed, J. Phys. Chem. A 116, 10451 (2012). diff --git a/doc/txt/fix_qeq.txt b/doc/txt/fix_qeq.txt deleted file mode 100644 index 2e3872de60bcc49172605c3f604723b0780dd654..0000000000000000000000000000000000000000 --- a/doc/txt/fix_qeq.txt +++ /dev/null @@ -1,225 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix qeq/point command :h3 -fix qeq/shielded command :h3 -fix qeq/slater command :h3 -fix qeq/dynamic command :h3 -fix qeq/fire command :h3 - -[Syntax:] - -fix ID group-ID style Nevery cutoff tolerance maxiter qfile keyword ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -style = {qeq/point} or {qeq/shielded} or {qeq/slater} or {qeq/dynamic} or {qeq/fire} :l -Nevery = perform charge equilibration every this many steps :l -cutoff = global cutoff for charge-charge interactions (distance unit) :l -tolerance = precision to which charges will be equilibrated :l -maxiter = maximum iterations to perform charge equilibration :l -qfile = a filename with QEq parameters or {coul/streitz} or {reax/c} :l - -zero or more keyword/value pairs may be appended :l -keyword = {alpha} or {qdamp} or {qstep} :l - {alpha} value = Slater type orbital exponent (qeq/slater only) - {qdamp} value = damping factor for damped dynamics charge solver (qeq/dynamic and qeq/fire only) - {qstep} value = time step size for damped dynamics charge solver (qeq/dynamic and qeq/fire only) :pre - -:ule - -[Examples:] - -fix 1 all qeq/point 1 10 1.0e-6 200 param.qeq1 -fix 1 qeq qeq/shielded 1 8 1.0e-6 100 param.qeq2 -fix 1 all qeq/slater 5 10 1.0e-6 100 params alpha 0.2 -fix 1 qeq qeq/dynamic 1 12 1.0e-3 100 my_qeq -fix 1 all qeq/fire 1 10 1.0e-3 100 my_qeq qdamp 0.2 qstep 0.1 :pre - -[Description:] - -Perform the charge equilibration (QEq) method as described in "(Rappe -and Goddard)"_#Rappe1 and formulated in "(Nakano)"_#Nakano1 (also known -as the matrix inversion method) and in "(Rick and Stuart)"_#Rick1 (also -known as the extended Lagrangian method) based on the -electronegativity equilization principle. - -These fixes can be used with any "pair style"_pair_style.html in -LAMMPS, so long as per-atom charges are defined. The most typical -use-case is in conjunction with a "pair style"_pair_style.html that -performs charge equilibration periodically (e.g. every timestep), such -as the ReaxFF or Streitz-Mintmire potential. -But these fixes can also be used with -potentials that normally assume per-atom charges are fixed, e.g. a -"Buckingham"_pair_buck.html or "LJ/Coulombic"_pair_lj.html potential. - -Because the charge equilibration calculation is effectively -independent of the pair style, these fixes can also be used to perform -a one-time assignment of charges to atoms. For example, you could -define the QEq fix, perform a zero-timestep run via the "run"_run.html -command without any pair style defined which would set per-atom -charges (based on the current atom configuration), then remove the fix -via the "unfix"_unfix.html command before performing further dynamics. - -NOTE: Computing and using charge values different from published -values defined for a fixed-charge potential like Buckingham or CHARMM -or AMBER, can have a strong effect on energies and forces, and -produces a different model than the published versions. - -NOTE: The "fix qeq/comb"_fix_qeq_comb.html command must still be used -to perform charge equilibration with the "COMB -potential"_pair_comb.html. The "fix qeq/reax"_fix_qeq_reax.html -command can be used to perform charge equilibration with the "ReaxFF -force field"_pair_reaxc.html, although fix qeq/shielded yields the -same results as fix qeq/reax if {Nevery}, {cutoff}, and {tolerance} -are the same. Eventually the fix qeq/reax command will be deprecated. - -The QEq method minimizes the electrostatic energy of the system (or -equalizes the derivative of energy with respect to charge of all the -atoms) by adjusting the partial charge on individual atoms based on -interactions with their neighbors within {cutoff}. It requires a few -parameters, in {metal} units, for each atom type which provided in a -file specified by {qfile}. The file has the following format - -1 chi eta gamma zeta qcore -2 chi eta gamma zeta qcore -... -Ntype chi eta gamma zeta qcore :pre - -There have to be parameters given for every atom type. Wildcard entries -are possible using the same syntax as elsewhere in LAMMPS -(i.e., n*m, n*, *m, *). Later entries will overwrite previous ones. -Empty lines or any text following the pound sign (#) are ignored. -Each line starts with the atom type followed by five parameters. -Only a subset of the parameters is used by each QEq style as described -below, thus the others can be set to 0.0 if desired, but all five -entries per line are required. - -{chi} = electronegativity in energy units -{eta} = self-Coulomb potential in energy units -{gamma} = shielded Coulomb constant defined by "ReaxFF force field"_#vanDuin in distance units -{zeta} = Slater type orbital exponent defined by the "Streitz-Mintmire"_#Streitz1 potential in reverse distance units -{qcore} = charge of the nucleus defined by the "Streitz-Mintmire potential"_#Streitz1 potential in charge units :ul - -The {qeq/point} style describes partial charges on atoms as point -charges. Interaction between a pair of charged particles is 1/r, -which is the simplest description of the interaction between charges. -Only the {chi} and {eta} parameters from the {qfile} file are used. -Note that Coulomb catastrophe can occur if repulsion between the pair -of charged particles is too weak. This style solves partial charges -on atoms via the matrix inversion method. A tolerance of 1.0e-6 is -usually a good number. - -The {qeq/shielded} style describes partial charges on atoms also as -point charges, but uses a shielded Coulomb potential to describe the -interaction between a pair of charged particles. Interaction through -the shielded Coulomb is given by equation (13) of the "ReaxFF force -field"_#vanDuin paper. The shielding accounts for charge overlap -between charged particles at small separation. This style is the same -as "fix qeq/reax"_fix_qeq_reax.html, and can be used with "pair_style -reax/c"_pair_reaxc.html. Only the {chi}, {eta}, and {gamma} -parameters from the {qfile} file are used. When using the string -{reax/c} as filename, these parameters are extracted directly from -an active {reax/c} pair style. This style solves partial -charges on atoms via the matrix inversion method. A tolerance of -1.0e-6 is usually a good number. - -The {qeq/slater} style describes partial charges on atoms as spherical -charge densities centered around atoms via the Slater 1{s} orbital, so -that the interaction between a pair of charged particles is the -product of two Slater 1{s} orbitals. The expression for the Slater -1{s} orbital is given under equation (6) of the -"Streitz-Mintmire"_#Streitz1 paper. Only the {chi}, {eta}, {zeta}, and -{qcore} parameters from the {qfile} file are used. When using the string -{coul/streitz} as filename, these parameters are extracted directly from -an active {coul/streitz} pair style. This style solves -partial charges on atoms via the matrix inversion method. A tolerance -of 1.0e-6 is usually a good number. Keyword {alpha} can be used to -change the Slater type orbital exponent. - -The {qeq/dynamic} style describes partial charges on atoms as point -charges that interact through 1/r, but the extended Lagrangian method -is used to solve partial charges on atoms. Only the {chi} and {eta} -parameters from the {qfile} file are used. Note that Coulomb -catastrophe can occur if repulsion between the pair of charged -particles is too weak. A tolerance of 1.0e-3 is usually a good -number. Keyword {qdamp} can be used to change the damping factor, while -keyword {qstep} can be used to change the time step size. - -The "{qeq/fire}"_#Shan style describes the same charge model and charge -solver as the {qeq/dynamic} style, but employs a FIRE minimization -algorithm to solve for equilibrium charges. -Keyword {qdamp} can be used to change the damping factor, while -keyword {qstep} can be used to change the time step size. - -Note that {qeq/point}, {qeq/shielded}, and {qeq/slater} describe -different charge models, whereas the matrix inversion method and the -extended Lagrangian method ({qeq/dynamic} and {qeq/fire}) are -different solvers. - -Note that {qeq/point}, {qeq/dynamic} and {qeq/fire} styles all describe -charges as point charges that interact through 1/r relationship, but -solve partial charges on atoms using different solvers. These three -styles should yield comparable results if -the QEq parameters and {Nevery}, {cutoff}, and {tolerance} are the -same. Style {qeq/point} is typically faster, {qeq/dynamic} scales -better on larger sizes, and {qeq/fire} is faster than {qeq/dynamic}. - -NOTE: To avoid the evaluation of the derivative of charge with respect -to position, which is typically ill-defined, the system should have a -zero net charge. - -NOTE: Developing QEq parameters (chi, eta, gamma, zeta, and qcore) is -non-trivial. Charges on atoms are not guaranteed to equilibrate with -arbitrary choices of these parameters. We do not develop these QEq -parameters. See the examples/qeq directory for some examples. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about these fixes is written to "binary restart -files"_restart.html. No global scalar or vector or per-atom -quantities are stored by these fixes for access by various "output -commands"_Howto_output.html. No parameter of these fixes can be used -with the {start/stop} keywords of the "run"_run.html command. - -Thexe fixes are invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -These fixes are part of the QEQ package. They are only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix qeq/reax"_fix_qeq_reax.html, "fix qeq/comb"_fix_qeq_comb.html - -[Default:] none - -:line - -:link(Rappe1) -[(Rappe and Goddard)] A. K. Rappe and W. A. Goddard III, J Physical -Chemistry, 95, 3358-3363 (1991). - -:link(Nakano1) -[(Nakano)] A. Nakano, Computer Physics Communications, 104, 59-69 (1997). - -:link(Rick1) -[(Rick and Stuart)] S. W. Rick, S. J. Stuart, B. J. Berne, J Chemical Physics -101, 16141 (1994). - -:link(Streitz1) -[(Streitz-Mintmire)] F. H. Streitz, J. W. Mintmire, Physical Review B, 50, -16, 11996 (1994) - -:link(vanDuin) -[(ReaxFF)] A. C. T. van Duin, S. Dasgupta, F. Lorant, W. A. Goddard III, J -Physical Chemistry, 105, 9396-9049 (2001) - -:link(Shan) -[(QEq/Fire)] T.-R. Shan, A. P. Thompson, S. J. Plimpton, in preparation diff --git a/doc/txt/fix_qeq_comb.txt b/doc/txt/fix_qeq_comb.txt deleted file mode 100644 index 714d03f6020f398d04fb3ee67d8f395c3f9a9a21..0000000000000000000000000000000000000000 --- a/doc/txt/fix_qeq_comb.txt +++ /dev/null @@ -1,131 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix qeq/comb command :h3 -fix qeq/comb/omp command :h3 - -[Syntax:] - -fix ID group-ID qeq/comb Nevery precision keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -qeq/comb = style name of this fix command :l -Nevery = perform charge equilibration every this many steps :l -precision = convergence criterion for charge equilibration :l -zero or more keyword/value pairs may be appended :l -keyword = {file} :l - {file} value = filename - filename = name of file to write QEQ equilibration info to :pre -:ule - -[Examples:] - -fix 1 surface qeq/comb 10 0.0001 :pre - -[Description:] - -Perform charge equilibration (QeQ) in conjunction with the COMB -(Charge-Optimized Many-Body) potential as described in -"(COMB_1)"_#COMB_1 and "(COMB_2)"_#COMB_2. It performs the charge -equilibration portion of the calculation using the so-called QEq -method, whereby the charge on each atom is adjusted to minimize the -energy of the system. This fix can only be used with the COMB -potential; see the "fix qeq/reax"_fix_qeq_reax.html command for a QeQ -calculation that can be used with any potential. - -Only charges on the atoms in the specified group are equilibrated. -The fix relies on the pair style (COMB in this case) to calculate the -per-atom electronegativity (effective force on the charges). An -electronegativity equalization calculation (or QEq) is performed in an -iterative fashion, which in parallel requires communication at each -iteration for processors to exchange charge information about nearby -atoms with each other. See "Rappe_and_Goddard"_#Rappe_and_Goddard and -"Rick_and_Stuart"_#Rick_and_Stuart for details. - -During a run, charge equilibration is performed every {Nevery} time -steps. Charge equilibration is also always enforced on the first step -of each run. The {precision} argument controls the tolerance for the -difference in electronegativity for all atoms during charge -equilibration. {Precision} is a trade-off between the cost of -performing charge equilibration (more iterations) and accuracy. - -If the {file} keyword is used, then information about each -equilibration calculation is written to the specified file. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is performing charge equilibration. Default is -the outermost level. - -This fix produces a per-atom vector which can be accessed by various -"output commands"_Howto_output.html. The vector stores the gradient -of the charge on each atom. The per-atom values be accessed on any -timestep. - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -This fix can be invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix command currently only supports "pair style {comb}"_pair_comb.html. - -[Related commands:] - -"pair_style comb"_pair_comb.html - -[Default:] - -No file output is performed. - -:line - -:link(COMB_1) -[(COMB_1)] J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007), - -:link(COMB_2) -[(COMB_2)] T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R. -Phillpot, Phys Rev B, 81, 125328 (2010). - -:link(Rappe_and_Goddard) -[(Rappe_and_Goddard)] A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358 -(1991). - -:link(Rick_and_Stuart) -[(Rick_and_Stuart)] S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys -101, 16141 (1994). diff --git a/doc/txt/fix_qeq_reax.txt b/doc/txt/fix_qeq_reax.txt deleted file mode 100644 index b62d46d9de3a21e76a4f9405cc8acabaaa7009a0..0000000000000000000000000000000000000000 --- a/doc/txt/fix_qeq_reax.txt +++ /dev/null @@ -1,129 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix qeq/reax command :h3 -fix qeq/reax/kk command :h3 -fix qeq/reax/omp command :h3 - -[Syntax:] - -fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params args :pre - -ID, group-ID are documented in "fix"_fix.html command -qeq/reax = style name of this fix command -Nevery = perform QEq every this many steps -cutlo,cuthi = lo and hi cutoff for Taper radius -tolerance = precision to which charges will be equilibrated -params = reax/c or a filename -args = {dual} (optional) :ul - -[Examples:] - -fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c -fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq :pre - -[Description:] - -Perform the charge equilibration (QEq) method as described in "(Rappe -and Goddard)"_#Rappe2 and formulated in "(Nakano)"_#Nakano2. It is -typically used in conjunction with the ReaxFF force field model as -implemented in the "pair_style reax/c"_pair_reaxc.html command, but -it can be used with any potential in LAMMPS, so long as it defines and -uses charges on each atom. The "fix qeq/comb"_fix_qeq_comb.html -command should be used to perform charge equilibration with the "COMB -potential"_pair_comb.html. For more technical details about the -charge equilibration performed by fix qeq/reax, see the -"(Aktulga)"_#qeq-Aktulga paper. - -The QEq method minimizes the electrostatic energy of the system by -adjusting the partial charge on individual atoms based on interactions -with their neighbors. It requires some parameters for each atom type. -If the {params} setting above is the word "reax/c", then these are -extracted from the "pair_style reax/c"_pair_reaxc.html command and -the ReaxFF force field file it reads in. If a file name is specified -for {params}, then the parameters are taken from the specified file -and the file must contain one line for each atom type. The latter -form must be used when performing QeQ with a non-ReaxFF potential. -Each line should be formatted as follows: - -itype chi eta gamma :pre - -where {itype} is the atom type from 1 to Ntypes, {chi} denotes the -electronegativity in eV, {eta} denotes the self-Coulomb -potential in eV, and {gamma} denotes the valence orbital -exponent. Note that these 3 quantities are also in the ReaxFF -potential file, except that eta is defined here as twice the eta value -in the ReaxFF file. Note that unlike the rest of LAMMPS, the units -of this fix are hard-coded to be A, eV, and electronic charge. - -The optional {dual} keyword allows to perform the optimization -of the S and T matrices in parallel. This is only supported for -the {qeq/reax/omp} style. Otherwise they are processed separately. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. No global scalar or vector or per-atom -quantities are stored by this fix for access by various "output -commands"_Howto_output.html. No parameter of this fix can be used -with the {start/stop} keywords of the "run"_run.html command. - -This fix is invoked during "energy minimization"_minimize.html. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This fix is part of the USER-REAXC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix does not correctly handle interactions -involving multiple periodic images of the same atom. Hence, it should not -be used for periodic cell dimensions less than 10 angstroms. - -[Related commands:] - -"pair_style reax/c"_pair_reaxc.html - -[Default:] none - -:line - -:link(Rappe2) - [(Rappe)] Rappe and Goddard III, Journal of Physical Chemistry, 95, -3358-3363 (1991). - -:link(Nakano2) -[(Nakano)] Nakano, Computer Physics Communications, 104, 59-69 (1997). - -:link(qeq-Aktulga) -[(Aktulga)] Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, -245-259 (2012). diff --git a/doc/txt/fix_qmmm.txt b/doc/txt/fix_qmmm.txt deleted file mode 100644 index c39a58ed86015de0b42659c5f4cc57759120c35a..0000000000000000000000000000000000000000 --- a/doc/txt/fix_qmmm.txt +++ /dev/null @@ -1,66 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix qmmm command :h3 - -[Syntax:] - -fix ID group-ID qmmm :pre - -ID, group-ID are documented in "fix"_fix.html command -qmmm = style name of this fix command :ul - -[Examples:] - -fix 1 qmol qmmm - -[Description:] - -This fix provides functionality to enable a quantum -mechanics/molecular mechanics (QM/MM) coupling of LAMMPS to a quantum -mechanical code. The current implementation only supports an ONIOM -style mechanical coupling to the "Quantum ESPRESSO"_espresso plane -wave DFT package. Electrostatic coupling is in preparation and the -interface has been written in a manner that coupling to other QM codes -should be possible without changes to LAMMPS itself. - -:link(espresso,http://www.quantum-espresso.org) - -The interface code for this is in the lib/qmmm directory of the LAMMPS -distribution and is being made available at this early stage of -development in order to encourage contributions for interfaces to -other QM codes. This will allow the LAMMPS side of the implementation -to be adapted if necessary before being finalized. - -Details about how to use this fix are currently documented in the -description of the QM/MM interface code itself in lib/qmmm/README. - -[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 scalar or vector or per-atom -quantities are stored by this fix for access by various "output -commands"_Howto_output.html. 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 fix is part of the USER-QMMM package. It is only enabled if -LAMMPS was built with that package. It also requires building a -library provided with LAMMPS. See the "Build -package"_Build_package.html doc page for more info. - -The fix is only functional when LAMMPS is built as a library and -linked with a compatible QM program and a QM/MM front end into a QM/MM -executable. See the lib/qmmm/README file for details. - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/fix_qtb.txt b/doc/txt/fix_qtb.txt deleted file mode 100644 index c412146604d49dd4bded74ee6e97b4e885256405..0000000000000000000000000000000000000000 --- a/doc/txt/fix_qtb.txt +++ /dev/null @@ -1,182 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix qtb command :h3 - -[Syntax:] - -fix ID group-ID qtb keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -qtb = style name of this fix :l -zero or more keyword/value pairs may be appended :l -keyword = {temp} or {damp} or {seed} or {f_max} or {N_f} :l - {temp} value = target quantum temperature (temperature units) - {damp} value = damping parameter (time units) inverse of friction &gamma; - {seed} value = random number seed (positive integer) - {f_max} value = upper cutoff frequency of the vibration spectrum (1/time units) - {N_f} value = number of frequency bins (positive integer) :pre -:ule - -[Examples:] - -fix 1 all nve -fix 1 all qtb temp 110 damp 200 seed 35082 f_max 0.3 N_f 100 (liquid methane modeled with the REAX force field, real units) -fix 2 all nph iso 1.01325 1.01325 1 -fix 2 all qtb temp 300 damp 1 seed 47508 f_max 120.0 N_f 100 (quartz modeled with the BKS force field, metal units) :pre - -[Description:] - -This command performs the quantum thermal bath scheme proposed by -"(Dammak)"_#Dammak to include self-consistent quantum nuclear effects, -when used in conjunction with the "fix nve"_fix_nve.html or "fix -nph"_fix_nh.html commands. - -Classical molecular dynamics simulation does not include any quantum -nuclear effect. Quantum treatment of the vibrational modes will -introduce zero point energy into the system, alter the energy power -spectrum and bias the heat capacity from the classical limit. Missing -all the quantum nuclear effects, classical MD cannot model systems at -temperatures lower than their classical limits. This effect is -especially important for materials with a large population of hydrogen -atoms and thus higher classical limits. - -The equation of motion implemented by this command follows a Langevin -form: - -
miai = fi -+ Ri - -miγvi.
- -Here mi, ai, fi -, Ri, γ and vi -represent mass, acceleration, force exerted by all other atoms, random -force, frictional coefficient (the inverse of damping parameter damp), -and velocity. The random force Ri is "colored" so -that any vibrational mode with frequency ω will have a -temperature-sensitive energy θ(ω,T) which -resembles the energy expectation for a quantum harmonic oscillator -with the same natural frequency: - -
θ(ω,T) = -ℏω/2 + -ℏω[exp(ℏω/kBT)-1]-1 -
- -To efficiently generate the random forces, we employ the method -of "(Barrat)"_#Barrat, that circumvents the need to generate all -random forces for all times before the simulation. The memory -requirement of this approach is less demanding and independent -of the simulation duration. Since the total random force Rtot -does not necessarily vanish for a finite number of atoms, -Ri is replaced by Ri - Rtot/Ntot -to avoid collective motion of the system. - -The {temp} parameter sets the target quantum temperature. LAMMPS will -still have an output temperature in its thermo style. That is the -instantaneous classical temperature Tcl derived from -the atom velocities at thermal equilibrium. A non-zero -Tcl will be present even when the quantum -temperature approaches zero. This is associated with zero-point energy -at low temperatures. - -
Tcl = ∑ -mivi2/3NkB -
- -The {damp} parameter is specified in time units, and it equals the -inverse of the frictional coefficient γ. γ -should be as small as possible but slightly larger than the timescale -of anharmonic coupling in the system which is about 10 ps to 100 -ps. When γ is too large, it gives an energy spectrum that -differs from the desired Bose-Einstein spectrum. When γ -is too small, the quantum thermal bath coupling to the system will be -less significant than anharmonic effects, reducing to a classical -limit. We find that setting γ between 5 THz and 1 THz -could be appropriate depending on the system. - -The random number {seed} is a positive integer used to initiate a -Marsaglia random number generator. Each processor uses the input seed -to generate its own unique seed and its own stream of random -numbers. Thus the dynamics of the system will not be identical on two -runs on different numbers of processors. - -The {f_max} parameter truncate the noise frequency domain so that -vibrational modes with frequencies higher than {f_max} will not be -modulated. If we denote Δt as the time interval for the -MD integration, {f_max} is always reset by the code to make -α = (int)(2{f_max}Δt)-1 a -positive integer and print out relative information. An appropriate -value for the cutoff frequency {f_max} would be around 2~3 -fD, where fD is the Debye -frequency. - -The {N_f} parameter is the frequency grid size, the number of points -from 0 to {f_max} in the frequency domain that will be -sampled. 3×2 {N_f} per-atom random numbers are required -in the random force generation and there could be as many atoms as in -the whole simulation that can migrate into every individual -processor. A larger {N_f} provides a more accurate sampling of the -spectrum while consumes more memory. With fixed {f_max} and -γ, {N_f} should be big enough to converge the classical -temperature Tcl as a function of target quantum bath -temperature. Memory usage per processor could be from 10 to 100 -Mbytes. - -NOTE: Unlike the "fix nvt"_fix_nh.html command which performs -Nose/Hoover thermostatting AND time integration, this fix does NOT -perform time integration. It only modifies forces to a colored -thermostat. Thus you must use a separate time integration fix, like -"fix nve"_fix_nve.html or "fix nph"_fix_nh.html to actually update the -velocities and positions of atoms (as shown in the -examples). Likewise, this fix should not normally be used with other -fixes or commands that also specify system temperatures , e.g. "fix -nvt"_fix_nh.html and "fix temp/rescale"_fix_temp_rescale.html. - -:line - -[Restart, fix_modify, output, run start/stop, minimizie info:] - -No information about this fix is written to "binary restart -files"_restart.html. Because the state of the random number generator -is not saved in restart files, this means you cannot do "exact" -restarts with this fix. However, in a statistical sense, a restarted -simulation should produce similar behaviors of the system. - -This fix is not invoked during "energy minimization"_minimize.html. - -:line - -[Restrictions:] - -This fix style is part of the USER-QTB package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -:line - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nph"_fix_nh.html, "fix -langevin"_fix_langevin.html, "fix qbmsst"_fix_qbmsst.html - -:line - -[Default:] - -The keyword defaults are temp = 300, damp = 1, seed = 880302, -f_max=200.0 and N_f = 100. - -:line - -:link(Dammak) -[(Dammak)] Dammak, Chalopin, Laroche, Hayoun, and Greffet, Phys Rev -Lett, 103, 190601 (2009). - -:link(Barrat) -[(Barrat)] Barrat and Rodney, J. Stat. Phys, 144, 679 (2011). diff --git a/doc/txt/fix_reaxc_bonds.txt b/doc/txt/fix_reaxc_bonds.txt deleted file mode 100644 index 9cd4ed7610cf926f6fe709f048ec77a4a19b576e..0000000000000000000000000000000000000000 --- a/doc/txt/fix_reaxc_bonds.txt +++ /dev/null @@ -1,107 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix reax/c/bonds command :h3 -fix reax/c/bonds/kk command :h3 - -[Syntax:] - -fix ID group-ID reaxc/bonds Nevery filename :pre - -ID, group-ID are documented in "fix"_fix.html command -reax/bonds = style name of this fix command -Nevery = output interval in timesteps -filename = name of output file :ul - -[Examples:] - -fix 1 all reax/c/bonds 100 bonds.reaxc :pre - -[Description:] - -Write out the bond information computed by the ReaxFF potential specified -by "pair_style reax/c"_pair_reaxc.html in the exact same format as the -original stand-alone ReaxFF code of Adri van Duin. The bond information -is written to {filename} on timesteps that are multiples of {Nevery}, -including timestep 0. For time-averaged chemical species analysis, -please see the "fix reaxc/c/species"_fix_reaxc_species.html command. - -The specified group-ID is ignored by this fix. - -The format of the output file should be reasonably self-explanatory. -The meaning of the column header abbreviations is as follows: - -id = atom id -type = atom type -nb = number of bonds -id_1 = atom id of first bond -id_nb = atom id of Nth bond -mol = molecule id -bo_1 = bond order of first bond -bo_nb = bond order of Nth bond -abo = atom bond order (sum of all bonds) -nlp = number of lone pairs -q = atomic charge :ul - -If the filename ends with ".gz", the output file is written in gzipped -format. A gzipped dump file will be about 3x smaller than the text -version, but will also take longer to write. - -:line - -[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"_Howto_output.html. -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. - -: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 "Speed"_Speed.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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See "Speed"_Speed.html of the manual for -more instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -The fix reax/c/bonds command requires that the "pair_style -reax/c"_pair_reaxc.html is invoked. This fix is part of the -USER-REAXC package. It is only enabled if LAMMPS was built with that -package. See the "Build package"_Build_package.html doc page for more -info. - -To write gzipped bond files, you must compile LAMMPS with the --DLAMMPS_GZIP option. - -[Related commands:] - -"pair_style reax/c"_pair_reaxc.html, "fix reax/c/species"_fix_reaxc_species.html - -[Default:] none diff --git a/doc/txt/fix_reaxc_species.txt b/doc/txt/fix_reaxc_species.txt deleted file mode 100644 index 60fa3a1d700bcec0162fa5b99cad54bfce738ae4..0000000000000000000000000000000000000000 --- a/doc/txt/fix_reaxc_species.txt +++ /dev/null @@ -1,186 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix reax/c/species command :h3 -fix reax/c/species/kk command :h3 - -[Syntax:] - -fix ID group-ID reax/c/species Nevery Nrepeat Nfreq filename keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -reax/c/species = style name of this command :l - -Nevery = sample bond-order every this many timesteps :l -Nrepeat = # of bond-order samples used for calculating averages :l -Nfreq = calculate average bond-order every this many timesteps :l -filename = name of output file :l - -zero or more keyword/value pairs may be appended :l -keyword = {cutoff} or {element} or {position} :l - {cutoff} value = I J Cutoff - I, J = atom types - Cutoff = Bond-order cutoff value for this pair of atom types - {element} value = Element1, Element2, ... - {position} value = posfreq filepos - posfreq = write position files every this many timestep - filepos = name of position output file :pre -:ule - -[Examples:] - -fix 1 all reax/c/species 10 10 100 species.out -fix 1 all reax/c/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55 -fix 1 all reax/c/species 1 100 100 species.out element Au O H position 1000 AuOH.pos :pre - -[Description:] - -Write out the chemical species information computed by the ReaxFF -potential specified by "pair_style reax/c"_pair_reaxc.html. -Bond-order values (either averaged or instantaneous, depending on -value of {Nrepeat}) are used to determine chemical bonds. Every -{Nfreq} timesteps, chemical species information is written to -{filename} as a two line output. The first line is a header -containing labels. The second line consists of the following: -timestep, total number of molecules, total number of distinct species, -number of molecules of each species. In this context, "species" means -a unique molecule. The chemical formula of each species is given in -the first line. - -If the filename ends with ".gz", the output file is written in gzipped -format. A gzipped dump file will be about 3x smaller than the text version, -but will also take longer to write. - -Optional keyword {cutoff} can be assigned to change the minimum -bond-order values used in identifying chemical bonds between pairs of -atoms. Bond-order cutoffs should be carefully chosen, as bond-order -cutoffs that are too small may include too many bonds (which will -result in an error), while cutoffs that are too large will result in -fragmented molecules. The default cutoff of 0.3 usually gives good -results. - -The optional keyword {element} can be used to specify the chemical -symbol printed for each LAMMPS atom type. The number of symbols must -match the number of LAMMPS atom types and each symbol must consist of -1 or 2 alphanumeric characters. Normally, these symbols should be -chosen to match the chemical identity of each LAMMPS atom type, as -specified using the "reax/c pair_coeff"_pair_reaxc.html command and -the ReaxFF force field file. - -The optional keyword {position} writes center-of-mass positions of -each identified molecules to file {filepos} every {posfreq} timesteps. -The first line contains information on timestep, total number of -molecules, total number of distinct species, and box dimensions. The -second line is a header containing labels. From the third line -downward, each molecule writes a line of output containing the -following information: molecule ID, number of atoms in this molecule, -chemical formula, total charge, and center-of-mass xyz positions of -this molecule. The xyz positions are in fractional coordinates -relative to the box dimensions. - -For the keyword {position}, the {filepos} is the name of the output -file. It can contain the wildcard character "*". If the "*" -character appears in {filepos}, then one file per snapshot is written -at {posfreq} and the "*" character is replaced with the timestep -value. For example, AuO.pos.* becomes AuO.pos.0, AuO.pos.1000, etc. - -:line - -The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify on what -timesteps the bond-order values are sampled to get the average bond -order. The species analysis is performed using the average bond-order -on timesteps that are a multiple of {Nfreq}. The average is over -{Nrepeat} bond-order samples, computed in the preceding portion of the -simulation every {Nevery} timesteps. {Nfreq} must be a multiple of -{Nevery} and {Nevery} must be non-zero even if {Nrepeat} is 1. -Also, the timesteps -contributing to the average bond-order cannot overlap, -i.e. Nrepeat*Nevery can not exceed Nfreq. - -For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then bond-order -values on timesteps 90,92,94,96,98,100 will be used to compute the -average bond-order for the species analysis output on timestep 100. - -: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. - -This fix computes both a global vector of length 2 and a per-atom -vector, either of which can be accessed by various "output -commands"_Howto_output.html. The values in the global vector are -"intensive". - -The 2 values in the global vector are as follows: - -1 = total number of molecules -2 = total number of distinct species :ul - -The per-atom vector stores the molecule ID for each atom as identified -by the fix. If an atom is not in a molecule, its ID will be 0. -For atoms in the same molecule, the molecule ID for all of them -will be the same and will be equal to the smallest atom ID of -any atom in the molecule. - -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. - -: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 "Speed"_Speed.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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See "Speed"_Speed.html of the manual for -more instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -The "fix reax/c/species" currently only works with "pair_style -reax/c"_pair_reaxc.html and it requires that the "pair_style -reax/c"_pair_reaxc.html be invoked. This fix is part of the -USER-REAXC package. It is only enabled if LAMMPS was built with that -package. See the "Build package"_Build_package.html doc page for more -info. - -To write gzipped species files, you must compile LAMMPS with the --DLAMMPS_GZIP option. - -It should be possible to extend it to other reactive pair_styles (such as -"rebo"_pair_airebo.html, "airebo"_pair_airebo.html, -"comb"_pair_comb.html, and "bop"_pair_bop.html), but this has not yet been done. - -[Related commands:] - -"pair_style reax/c"_pair_reaxc.html, "fix reax/c/bonds"_fix_reaxc_bonds.html - -[Default:] - -The default values for bond-order cutoffs are 0.3 for all I-J pairs. The -default element symbols are C, H, O, N. Position files are not written -by default. diff --git a/doc/txt/fix_recenter.txt b/doc/txt/fix_recenter.txt deleted file mode 100644 index 05c93c3e2f0a939040c11f144742f8e138f46dce..0000000000000000000000000000000000000000 --- a/doc/txt/fix_recenter.txt +++ /dev/null @@ -1,126 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix recenter command :h3 - -[Syntax:] - -fix ID group-ID recenter x y z keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -recenter = style name of this fix command :l -x,y,z = constrain center-of-mass to these coords (distance units), \ - any coord can also be NULL or INIT (see below) :l -zero or more keyword/value pairs may be appended :l -keyword = {shift} or {units} :l - {shift} value = group-ID - group-ID = group of atoms whose coords are shifted - {units} value = {box} or {lattice} or {fraction} :pre -:ule - -[Examples:] - -fix 1 all recenter 0.0 0.5 0.0 -fix 1 all recenter INIT INIT NULL -fix 1 all recenter INIT 0.0 0.0 units box :pre - -[Description:] - -Constrain the center-of-mass position of a group of atoms by adjusting -the coordinates of the atoms every timestep. This is simply a small -shift that does not alter the dynamics of the system or change the -relative coordinates of any pair of atoms in the group. This can be -used to insure the entire collection of atoms (or a portion of them) -do not drift during the simulation due to random perturbations -(e.g. "fix langevin"_fix_langevin.html thermostatting). - -Distance units for the x,y,z values are determined by the setting of -the {units} keyword, as discussed below. One or more x,y,z values can -also be specified as NULL, which means exclude that dimension from -this operation. Or it can be specified as INIT which means to -constrain the center-of-mass to its initial value at the beginning of -the run. - -The center-of-mass (COM) is computed for the group specified by the -fix. If the current COM is different than the specified x,y,z, then a -group of atoms has their coordinates shifted by the difference. By -default the shifted group is also the group specified by the fix. A -different group can be shifted by using the {shift} keyword. For -example, the COM could be computed on a protein to keep it in the -center of the simulation box. But the entire system (protein + water) -could be shifted. - -If the {units} keyword is set to {box}, then the distance units of -x,y,z are defined by the "units"_units.html command - e.g. Angstroms -for {real} units. A {lattice} value means the distance units are in -lattice spacings. The "lattice"_lattice.html command must have been -previously used to define the lattice spacing. A {fraction} value -means a fractional distance between the lo/hi box boundaries, e.g. 0.5 -= middle of the box. The default is to use lattice units. - -Note that the "velocity"_velocity.html command can be used to create -velocities with zero aggregate linear and/or angular momentum. - -NOTE: This fix performs its operations at the same point in the -timestep as other time integration fixes, such as "fix -nve"_fix_nve.html, "fix nvt"_fix_nh.html, or "fix npt"_fix_nh.html. -Thus fix recenter should normally be the last such fix specified in -the input script, since the adjustments it makes to atom coordinates -should come after the changes made by time integration. LAMMPS will -warn you if your fixes are not ordered this way. - -NOTE: If you use this fix on a small group of atoms (e.g. a molecule -in solvent) without using the {shift} keyword to adjust the positions -of all atoms in the system, then the results can be unpredictable. -For example, if the molecule is pushed consistently in one direction -by a flowing solvent, its velocity will increase. But its coordinates -will be re-centered, meaning it is moved back towards the force. Thus -over time, the velocity and effective temperature of the molecule -could become very large, though it won't actually be moving due to the -re-centering. If you are thermostatting the entire system, then the -solvent would be cooled to compensate. A better solution for this -simulation scenario is to use the "fix spring"_fix_spring.html command -to tether the molecule in place. - -[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. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the distance the -group is moved by fix recenter. - -This fix also computes global 3-vector which can be accessed by -various "output commands"_Howto_output.html. The 3 quantities in the -vector are xyz components of displacement applied to the group of -atoms by the fix. - -The scalar and vector values calculated by this fix are "extensive". - -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 fix should not be used with an x,y,z setting that causes a large -shift in the system on the 1st timestep, due to the requested COM -being very different from the initial COM. This could cause atoms to -be lost, especially in parallel. Instead, use the -"displace_atoms"_displace_atoms.html command, which can be used to -move atoms a large distance. - -[Related commands:] - -"fix momentum"_fix_momentum.html, "velocity"_velocity.html - -[Default:] - -The option defaults are shift = fix group-ID, and units = lattice. diff --git a/doc/txt/fix_rhok.txt b/doc/txt/fix_rhok.txt deleted file mode 100644 index 7f0a72d1b309c19662869054c5990f661b672def..0000000000000000000000000000000000000000 --- a/doc/txt/fix_rhok.txt +++ /dev/null @@ -1,56 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix rhok command :h3 - -fix ID group-ID rhok nx ny nz K a :pre - -ID, group-ID are documented in "fix"_fix.html command -nx, ny, nz = k-vector of collective density field -K = spring constant of bias potential -a = anchor point of bias potential :ul - -[Examples:] - -fix bias all rhok 16 0 0 4.0 16.0 -fix 1 all npt temp 0.8 0.8 4.0 z 2.2 2.2 8.0 -# output of 4 values from fix rhok: U_bias rho_k_RE rho_k_IM |rho_k| -thermo_style custom step temp pzz lz f_bias f_bias\[1\] f_bias\[2\] f_bias\[3\] :pre - -[Description:] - -The fix applies a force to atoms given by the potential - -:c,image(Eqs/fix_rhok.jpg) - -as described in "(Pedersen)"_#Pedersen. - -This field, which biases configurations with long-range order, can be -used to study crystal-liquid interfaces and determine melting -temperatures "(Pedersen)"_#Pedersen. - -An example of using the interface pinning method is located in the -{examples/USER/misc/rhok} directory. - -[Restrictions:] - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"thermo_style"_thermo_style.html - -[Default:] none - -:line - -:link(Pedersen) -[(Pedersen)] Pedersen, J. Chem. Phys., 139, 104102 (2013). - diff --git a/doc/txt/fix_rigid.txt b/doc/txt/fix_rigid.txt deleted file mode 100644 index d45705b2b274214781a0a62f962b577dd9cd90d3..0000000000000000000000000000000000000000 --- a/doc/txt/fix_rigid.txt +++ /dev/null @@ -1,857 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -: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 -fix rigid/nph/small command :h3 - -[Syntax:] - -fix ID group-ID style bodystyle args keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -style = {rigid} or {rigid/nve} or {rigid/nvt} or {rigid/npt} or {rigid/nph} or {rigid/small} or {rigid/nve/small} or {rigid/nvt/small} or {rigid/npt/small} or {rigid/nph/small} :l -bodystyle = {single} or {molecule} or {group} :l - {single} args = none - {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 - {group} args = N groupID1 groupID2 ... - N = # of groups - groupID1, groupID2, ... = list of N group IDs :pre - -zero or more keyword/value pairs may be appended :l -keyword = {langevin} or {reinit} or {temp} or {iso} or {aniso} or {x} or {y} or {z} or {couple} or {tparam} or {pchain} or {dilate} or {force} or {torque} or {infile} :l - {langevin} values = Tstart Tstop Tperiod seed - Tstart,Tstop = desired temperature at start/stop of run (temperature units) - Tdamp = temperature damping parameter (time units) - seed = random number seed to use for white noise (positive integer) - {reinit} = {yes} or {no} - {temp} values = Tstart Tstop Tdamp - Tstart,Tstop = desired temperature at start/stop of run (temperature units) - Tdamp = temperature damping parameter (time units) - {iso} or {aniso} values = Pstart Pstop Pdamp - Pstart,Pstop = scalar external pressure at start/end of run (pressure units) - Pdamp = pressure damping parameter (time units) - {x} or {y} or {z} values = Pstart Pstop Pdamp - Pstart,Pstop = external stress tensor component at start/end of run (pressure units) - Pdamp = stress damping parameter (time units) - {couple} = {none} or {xyz} or {xy} or {yz} or {xz} - {tparam} values = Tchain Titer Torder - Tchain = length of Nose/Hoover thermostat chain - Titer = number of thermostat iterations performed - Torder = 3 or 5 = Yoshida-Suzuki integration parameters - {pchain} values = Pchain - Pchain = length of the Nose/Hoover thermostat chain coupled with the barostat - {dilate} value = dilate-group-ID - dilate-group-ID = only dilate atoms in this group due to barostat volume changes - {force} values = M xflag yflag zflag - M = which rigid body from 1-Nbody (see asterisk form below) - xflag,yflag,zflag = off/on if component of center-of-mass force is active - {torque} values = M xflag yflag zflag - M = which rigid body from 1-Nbody (see asterisk form below) - xflag,yflag,zflag = off/on if component of center-of-mass torque is active - {infile} filename - filename = file with per-body values of mass, center-of-mass, moments of inertia - {mol} value = template-ID - template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command :pre -:ule - -[Examples:] - -fix 1 clump rigid single reinit yes -fix 1 clump rigid/small molecule -fix 1 clump rigid single force 1 off off on langevin 1.0 1.0 1.0 428984 -fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0 reinit no -fix 1 polychains rigid molecule force 1*5 off off off force 6*10 off off on -fix 1 polychains rigid/small molecule langevin 1.0 1.0 1.0 428984 -fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off -fix 1 rods rigid/npt molecule temp 300.0 300.0 100.0 iso 0.5 0.5 10.0 -fix 1 particles rigid/npt molecule temp 1.0 1.0 5.0 x 0.5 0.5 1.0 z 0.5 0.5 1.0 couple xz -fix 1 water rigid/nph molecule iso 0.5 0.5 1.0 -fix 1 particles rigid/npt/small molecule temp 1.0 1.0 1.0 iso 0.5 0.5 1.0 :pre - -variable bodyid atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3) -fix 1 clump rigid custom v_bodyid :pre - -variable bodyid atomfile bodies.txt -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 -means that each timestep the total force and torque on each rigid body -is computed as the sum of the forces and torques on its constituent -particles. The coordinates, velocities, and orientations of the atoms -in each body are then updated so that the body moves and rotates as a -single entity. This is implemented by creating internal data structures -for each rigid body and performing time integration on these data -structures. Positions, velocities, and orientations of the constituent -particles are regenerated from the rigid body data structures in every -time step. This restricts which operations and fixes can be applied to -rigid bodies. See below for a detailed discussion. - -Examples of large rigid bodies are a colloidal particle, or portions -of a biomolecule such as a protein. - -Example of small rigid bodies are patchy nanoparticles, such as those -modeled in "this paper"_#Zhang1 by Sharon Glotzer's group, clumps of -granular particles, lipid molecules consisting of one or more point -dipoles connected to other spheroids or ellipsoids, irregular -particles built from line segments (2d) or triangles (3d), and -coarse-grain models of nano or colloidal particles consisting of a -small number of constituent particles. Note that the "fix -shake"_fix_shake.html command can also be used to rigidify small -molecules of 2, 3, or 4 atoms, e.g. water molecules. That fix treats -the constituent atoms as point masses. - -These fixes also update the positions and velocities of the atoms in -each rigid body via time integration, in the NVE, NVT, NPT, or NPH -ensemble, as described below. - -There are two main variants of this fix, fix rigid and fix -rigid/small. The NVE/NVT/NPT/NHT versions belong to one of the two -variants, as their style names indicate. - -NOTE: Not all of the {bodystyle} options and keyword/value options are -available for both the {rigid} and {rigid/small} variants. See -details below. - -The {rigid} styles are typically the best choice for a system with a -small number of large rigid bodies, each of which can extend across -the domain of many processors. It operates by creating a single -global list of rigid bodies, which all processors contribute to. -MPI_Allreduce operations are performed each timestep to sum the -contributions from each processor to the force and torque on all the -bodies. This operation will not scale well in parallel if large -numbers of rigid bodies are simulated. - -The {rigid/small} styles are typically best for a system with a large -number of small rigid bodies. Each body is assigned to the atom -closest to the geometrical center of the body. The fix operates using -local lists of rigid bodies owned by each processor and information is -exchanged and summed via local communication between neighboring -processors when ghost atom info is accumulated. - -NOTE: To use the {rigid/small} styles the ghost atom cutoff must be -large enough to span the distance between the atom that owns the body -and every other atom in the body. This distance value is printed out -when the rigid bodies are defined. If the -"pair_style"_pair_style.html cutoff plus neighbor skin does not span -this distance, then you should use the "comm_modify -cutoff"_comm_modify.html command with a setting epsilon larger than -the distance. - -Which of the two variants is faster for a particular problem is hard -to predict. The best way to decide is to perform a short test run. -Both variants should give identical numerical answers for short runs. -Long runs should give statistically similar results, but round-off -differences may accumulate to produce divergent trajectories. - -NOTE: You should not update the atoms in rigid bodies via other -time-integration fixes (e.g. "fix nve"_fix_nve.html, "fix -nvt"_fix_nh.html, "fix npt"_fix_nh.html, "fix move"_fix_move.html), -or you will have conflicting updates to positions and velocities -resulting in unphysical behavior in most cases. When performing a hybrid -simulation with some atoms in rigid bodies, and some not, a separate -time integration fix like "fix nve"_fix_nve.html or "fix -nvt"_fix_nh.html should be used for the non-rigid particles. - -NOTE: These fixes are overkill if you simply want to hold a collection -of atoms stationary or have them move with a constant velocity. A -simpler way to hold atoms stationary is to not include those atoms in -your time integration fix. E.g. use "fix 1 mobile nve" instead of -"fix 1 all nve", where "mobile" is the group of atoms that you want to -move. You can move atoms with a constant velocity by assigning them -an initial velocity (via the "velocity"_velocity.html command), -setting the force on them to 0.0 (via the "fix -setforce"_fix_setforce.html command), and integrating them as usual -(e.g. via the "fix nve"_fix_nve.html command). - -IMPORTANT NOTE: The aggregate properties of each rigid body are -calculated at the start of a simulation run and are maintained in -internal data structures. The properties include the position and -velocity of the center-of-mass of the body, its moments of inertia, and -its angular momentum. This is done using the properties of the -constituent atoms of the body at that point in time (or see the {infile} -keyword option). Thereafter, changing these properties of individual -atoms in the body will have no effect on a rigid body's dynamics, unless -they effect any computation of per-atom forces or torques. If the -keyword {reinit} is set to {yes} (the default), the rigid body data -structures will be recreated at the beginning of each {run} command; -if the keyword {reinit} is set to {no}, the rigid body data structures -will be built only at the very first {run} command and maintained for -as long as the rigid fix is defined. For example, you might think you -could displace the atoms in a body or add a large velocity to each atom -in a body to make it move in a desired direction before a 2nd run is -performed, using the "set"_set.html or -"displace_atoms"_displace_atoms.html or "velocity"_velocity.html -commands. But these commands will not affect the internal attributes -of the body unless {reinit} is set to {yes}. With {reinit} set to {no} -(or using the {infile} option, which implies {reinit} {no}) the position -and velocity of individual atoms in the body will be reset when time -integration starts again. - -:line - -Each rigid body must have two or more atoms. An atom can belong to at -most one rigid body. Which atoms are in which bodies can be defined -via several options. - -NOTE: With the {rigid/small} styles, which require that {bodystyle} be -specified as {molecule} or {custom}, you can define a system that has -no rigid bodies initially. This is useful when you are using the -{mol} keyword in conjunction with another fix that is adding rigid -bodies on-the-fly as molecules, such as "fix deposit"_fix_deposit.html -or "fix pour"_fix_pour.html. - -For bodystyle {single} the entire fix group of atoms is treated as one -rigid body. This option is only allowed for the {rigid} styles. - -For bodystyle {molecule}, atoms are grouped into rigid bodies by their -respective molecule IDs: each set of atoms in the fix group with the -same molecule ID is treated as a different rigid body. This option is -allowed for both the {rigid} and {rigid/small} styles. Note that -atoms with a molecule ID = 0 will be treated as a single rigid body. -For a system with atomic solvent (typically this is atoms with -molecule ID = 0) surrounding rigid bodies, this may not be what you -want. Thus you should be careful to use a fix group that only -includes atoms you want to be part of rigid bodies. - -Bodystyle {custom} is similar to bodystyle {molecule} except that it -is more flexible in using other per-atom properties to define the sets -of atoms that form rigid bodies. An integer vector defined by the -"fix property/atom"_fix_property_atom.html command can be used. Or an -"atom-style or atomfile-style variable"_variable.html can be used; the -floating-point value produced by the variable is rounded to an -integer. As with bodystyle {molecule}, each set of atoms in the fix -groups with the same integer value is treated as a different rigid -body. Since fix property/atom vectors and atom-style variables -produce values for all atoms, you should be careful to use a fix group -that only includes atoms you want to be part of rigid bodies. - -NOTE: To compute the initial center-of-mass position and other -properties of each rigid body, the image flags for each atom in the -body are used to "unwrap" the atom coordinates. Thus you must insure -that these image flags are consistent so that the unwrapping creates a -valid rigid body (one where the atoms are close together), -particularly if the atoms in a single rigid body straddle a periodic -boundary. This means the input data file or restart file must define -the image flags for each atom consistently or that you have used the -"set"_set.html command to specify them correctly. If a dimension is -non-periodic then the image flag of each atom must be 0 in that -dimension, else an error is generated. - -The {force} and {torque} keywords discussed next are only allowed for -the {rigid} styles. - -By default, each rigid body is acted on by other atoms which induce an -external force and torque on its center of mass, causing it to -translate and rotate. Components of the external center-of-mass force -and torque can be turned off by the {force} and {torque} keywords. -This may be useful if you wish a body to rotate but not translate, or -vice versa, or if you wish it to rotate or translate continuously -unaffected by interactions with other particles. Note that if you -expect a rigid body not to move or rotate by using these keywords, you -must insure its initial center-of-mass translational or angular -velocity is 0.0. Otherwise the initial translational or angular -momentum the body has will persist. - -An xflag, yflag, or zflag set to {off} means turn off the component of -force of torque in that dimension. A setting of {on} means turn on -the component, which is the default. Which rigid body(s) the settings -apply to is determined by the first argument of the {force} and -{torque} keywords. It can be an integer M from 1 to Nbody, where -Nbody is the number of rigid bodies defined. A wild-card asterisk can -be used in place of, or in conjunction with, the M argument to set the -flags for multiple rigid bodies. This takes the form "*" or "*n" or -"n*" or "m*n". If N = the number of rigid bodies, then an asterisk -with no numeric values means all bodies from 1 to N. A leading -asterisk means all bodies from 1 to n (inclusive). A trailing -asterisk means all bodies from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive). Note that you can use the -{force} or {torque} keywords as many times as you like. If a -particular rigid body has its component flags set multiple times, the -settings from the final keyword are used. - -NOTE: For computational efficiency, you may wish to turn off pairwise -and bond interactions within each rigid body, as they no longer -contribute to the motion. The "neigh_modify -exclude"_neigh_modify.html and "delete_bonds"_delete_bonds.html -commands are used to do this. If the rigid bodies have strongly -overlapping atoms, you may need to turn off these interactions to -avoid numerical problems due to large equal/opposite intra-body forces -swamping the contribution of small inter-body forces. - -For computational efficiency, you should typically define one fix -rigid or fix rigid/small command which includes all the desired rigid -bodies. LAMMPS will allow multiple rigid fixes to be defined, but it -is more expensive. - -:line - -The constituent particles within a rigid body can be point particles -(the default in LAMMPS) or finite-size particles, such as spheres or -ellipsoids or line segments or triangles. See the "atom_style sphere -and ellipsoid and line and tri"_atom_style.html commands for more -details on these kinds of particles. Finite-size particles contribute -differently to the moment of inertia of a rigid body than do point -particles. Finite-size particles can also experience torque (e.g. due -to "frictional granular interactions"_pair_gran.html) and have an -orientation. These contributions are accounted for by these fixes. - -Forces between particles within a body do not contribute to the -external force or torque on the body. Thus for computational -efficiency, you may wish to turn off pairwise and bond interactions -between particles within each rigid body. The "neigh_modify -exclude"_neigh_modify.html and "delete_bonds"_delete_bonds.html -commands are used to do this. For finite-size particles this also -means the particles can be highly overlapped when creating the rigid -body. - -:line - -The {rigid}, {rigid/nve}, {rigid/small}, and {rigid/small/nve} styles -perform constant NVE time integration. They are referred to below as -the 4 NVE rigid styles. The only difference is that the {rigid} and -{rigid/small} styles use an integration technique based on Richardson -iterations. The {rigid/nve} and {rigid/small/nve} styles uses the -methods described in the paper by "Miller"_#Miller3, which are thought -to provide better energy conservation than an iterative approach. - -The {rigid/nvt} and {rigid/nvt/small} styles performs constant NVT -integration using a Nose/Hoover thermostat with chains as described -originally in "(Hoover)"_#Hoover and "(Martyna)"_#Martyna2, which -thermostats both the translational and rotational degrees of freedom -of the rigid bodies. They are referred to below as the 2 NVT rigid -styles. The rigid-body algorithm used by {rigid/nvt} is described in -the paper by "Kamberaj"_#Kamberaj. - -The {rigid/npt}, {rigid/nph}, {rigid/npt/small}, and {rigid/nph/small} -styles perform constant NPT or NPH integration using a Nose/Hoover -barostat with chains. They are referred to below as the 4 NPT and NPH -rigid styles. For the NPT case, the same Nose/Hoover thermostat is -also used as with {rigid/nvt} and {rigid/nvt/small}. - -The barostat parameters are specified using one or more of the {iso}, -{aniso}, {x}, {y}, {z} and {couple} keywords. These keywords give you -the ability to specify 3 diagonal components of the external stress -tensor, and to couple these components together so that the dimensions -they represent are varied together during a constant-pressure -simulation. The effects of these keywords are similar to those -defined in "fix npt/nph"_fix_nh.html - -NOTE: Currently the {rigid/npt}, {rigid/nph}, {rigid/npt/small}, and -{rigid/nph/small} styles do not support triclinic (non-orthogonal) -boxes. - -The target pressures for each of the 6 components of the stress tensor -can be specified independently via the {x}, {y}, {z} keywords, which -correspond to the 3 simulation box dimensions. For each component, -the external pressure or tensor component at each timestep is a ramped -value during the run from {Pstart} to {Pstop}. If a target pressure is -specified for a component, then the corresponding box dimension will -change during a simulation. For example, if the {y} keyword is used, -the y-box length will change. A box dimension will not change if that -component is not specified, although you have the option to change -that dimension via the "fix deform"_fix_deform.html command. - -For all barostat keywords, the {Pdamp} parameter operates like the -{Tdamp} parameter, determining the time scale on which pressure is -relaxed. For example, a value of 10.0 means to relax the pressure in -a timespan of (roughly) 10 time units (e.g. tau or fmsec or psec - see -the "units"_units.html command). - -Regardless of what atoms are in the fix group (the only atoms which -are time integrated), a global pressure or stress tensor is computed -for all atoms. Similarly, when the size of the simulation box is -changed, all atoms are re-scaled to new positions, unless the keyword -{dilate} is specified with a {dilate-group-ID} for a group that -represents a subset of the atoms. This can be useful, for example, to -leave the coordinates of atoms in a solid substrate unchanged and -controlling the pressure of a surrounding fluid. Another example is a -system consisting of rigid bodies and point particles where the -barostat is only coupled with the rigid bodies. This option should be -used with care, since it can be unphysical to dilate some atoms and -not others, because it can introduce large, instantaneous -displacements between a pair of atoms (one dilated, one not) that are -far from the dilation origin. - -The {couple} keyword allows two or three of the diagonal components of -the pressure tensor to be "coupled" together. The value specified -with the keyword determines which are coupled. For example, {xz} -means the {Pxx} and {Pzz} components of the stress tensor are coupled. -{Xyz} means all 3 diagonal components are coupled. Coupling means two -things: the instantaneous stress will be computed as an average of the -corresponding diagonal components, and the coupled box dimensions will -be changed together in lockstep, meaning coupled dimensions will be -dilated or contracted by the same percentage every timestep. The -{Pstart}, {Pstop}, {Pdamp} parameters for any coupled dimensions must -be identical. {Couple xyz} can be used for a 2d simulation; the {z} -dimension is simply ignored. - -The {iso} and {aniso} keywords are simply shortcuts that are -equivalent to specifying several other keywords together. - -The keyword {iso} means couple all 3 diagonal components together when -pressure is computed (hydrostatic pressure), and dilate/contract the -dimensions together. Using "iso Pstart Pstop Pdamp" is the same as -specifying these 4 keywords: - -x Pstart Pstop Pdamp -y Pstart Pstop Pdamp -z Pstart Pstop Pdamp -couple xyz :pre - -The keyword {aniso} means {x}, {y}, and {z} dimensions are controlled -independently using the {Pxx}, {Pyy}, and {Pzz} components of the -stress tensor as the driving forces, and the specified scalar external -pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying -these 4 keywords: - -x Pstart Pstop Pdamp -y Pstart Pstop Pdamp -z Pstart Pstop Pdamp -couple none :pre - -:line - -The keyword/value option pairs are used in the following ways. - -The {reinit} keyword determines, whether the rigid body properties -are re-initialized between run commands. With the option {yes} (the -default) this is done, with the option {no} this is not done. Turning -off the re-initialization can be helpful to protect rigid bodies against -unphysical manipulations between runs or when properties cannot be -easily re-computed (e.g. when read from a file). When using the {infile} -keyword, the {reinit} option is automatically set to {no}. - -The {langevin} and {temp} and {tparam} keywords perform thermostatting -of the rigid bodies, altering both their translational and rotational -degrees of freedom. What is meant by "temperature" of a collection of -rigid bodies and how it can be monitored via the fix output is -discussed below. - -The {langevin} keyword applies a Langevin thermostat to the constant -NVE time integration performed by any of the 4 NVE rigid styles: -{rigid}, {rigid/nve}, {rigid/small}, {rigid/small/nve}. It cannot be -used with the 2 NVT rigid styles: {rigid/nvt}, {rigid/small/nvt}. The -desired temperature at each timestep is a ramped value during the run -from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in time -units and determines how rapidly the temperature is relaxed. For -example, a value of 100.0 means to relax the temperature in a timespan -of (roughly) 100 time units (tau or fmsec or psec - see the -"units"_units.html command). The random # {seed} must be a positive -integer. - -The way that Langevin thermostatting operates is explained on the "fix -langevin"_fix_langevin.html doc page. If you wish to simply viscously -damp the rotational motion without thermostatting, you can set -{Tstart} and {Tstop} to 0.0, which means only the viscous drag term in -the Langevin thermostat will be applied. See the discussion on the -"fix viscous"_fix_viscous.html doc page for details. - -NOTE: When the {langevin} keyword is used with fix rigid versus fix -rigid/small, different dynamics will result for parallel runs. This -is because of the way random numbers are used in the two cases. The -dynamics for the two cases should be statistically similar, but will -not be identical, even for a single timestep. - -The {temp} and {tparam} keywords apply a Nose/Hoover thermostat to the -NVT time integration performed by the 2 NVT rigid styles. They cannot -be used with the 4 NVE rigid styles. The desired temperature at each -timestep is a ramped value during the run from {Tstart} to {Tstop}. -The {Tdamp} parameter is specified in time units and determines how -rapidly the temperature is relaxed. For example, a value of 100.0 -means to relax the temperature in a timespan of (roughly) 100 time -units (tau or fmsec or psec - see the "units"_units.html command). - -Nose/Hoover chains are used in conjunction with this thermostat. The -{tparam} keyword can optionally be used to change the chain settings -used. {Tchain} is the number of thermostats in the Nose Hoover chain. -This value, along with {Tdamp} can be varied to dampen undesirable -oscillations in temperature that can occur in a simulation. As a rule -of thumb, increasing the chain length should lead to smaller -oscillations. The keyword {pchain} specifies the number of -thermostats in the chain thermostatting the barostat degrees of -freedom. - -NOTE: There are alternate ways to thermostat a system of rigid bodies. -You can use "fix langevin"_fix_langevin.html to treat the individual -particles in the rigid bodies as effectively immersed in an implicit -solvent, e.g. a Brownian dynamics model. For hybrid systems with both -rigid bodies and solvent particles, you can thermostat only the -solvent particles that surround one or more rigid bodies by -appropriate choice of groups in the compute and fix commands for -temperature and thermostatting. The solvent interactions with the -rigid bodies should then effectively thermostat the rigid body -temperature as well without use of the Langevin or Nose/Hoover options -associated with the fix rigid commands. - -:line - -The {mol} keyword can only be used with the {rigid/small} styles. It -must be used when other commands, such as "fix -deposit"_fix_deposit.html or "fix pour"_fix_pour.html, add rigid -bodies on-the-fly during a simulation. You specify a {template-ID} -previously defined using the "molecule"_molecule.html command, which -reads a file that defines the molecule. You must use the same -{template-ID} that the other fix which is adding rigid bodies uses. -The coordinates, atom types, atom diameters, center-of-mass, and -moments of inertia can be specified in the molecule file. See the -"molecule"_molecule.html command for details. The only settings -required to be in this file are the coordinates and types of atoms in -the molecule, in which case the molecule command calculates the other -quantities itself. - -Note that these other fixes create new rigid bodies, in addition to -those defined initially by this fix via the {bodystyle} setting. - -Also note that when using the {mol} keyword, extra restart information -about all rigid bodies is written out whenever a restart file is -written out. See the NOTE in the next section for details. - -:line - -The {infile} keyword allows a file of rigid body attributes to be read -in from a file, rather then having LAMMPS compute them. There are 5 -such attributes: the total mass of the rigid body, its center-of-mass -position, its 6 moments of inertia, its center-of-mass velocity, and -the 3 image flags of the center-of-mass position. For rigid bodies -consisting of point particles or non-overlapping finite-size -particles, LAMMPS can compute these values accurately. However, for -rigid bodies consisting of finite-size particles which overlap each -other, LAMMPS will ignore the overlaps when computing these 4 -attributes. The amount of error this induces depends on the amount of -overlap. To avoid this issue, the values can be pre-computed -(e.g. using Monte Carlo integration). - -The format of the file is as follows. Note that the file does not -have to list attributes for every rigid body integrated by fix rigid. -Only bodies which the file specifies will have their computed -attributes overridden. The file can contain initial blank lines or -comment lines starting with "#" which are ignored. The first -non-blank, non-comment line should list N = the number of lines to -follow. The N successive lines contain the following information: - -ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm -ID2 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm -... -IDN masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm :pre - -The rigid body IDs are all positive integers. For the {single} -bodystyle, only an ID of 1 can be used. For the {group} bodystyle, -IDs from 1 to Ng can be used where Ng is the number of specified -groups. For the {molecule} bodystyle, use the molecule ID for the -atoms in a specific rigid body as the rigid body ID. - -The masstotal and center-of-mass coordinates (xcm,ycm,zcm) are -self-explanatory. The center-of-mass should be consistent with what -is calculated for the position of the rigid body with all its atoms -unwrapped by their respective image flags. If this produces a -center-of-mass that is outside the simulation box, LAMMPS wraps it -back into the box. - -The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the -values consistent with the current orientation of the rigid body -around its center of mass. The values are with respect to the -simulation box XYZ axes, not with respect to the principal axes of the -rigid body itself. LAMMPS performs the latter calculation internally. - -The (vxcm,vycm,vzcm) values are the velocity of the center of mass. -The (lx,ly,lz) values are the angular momentum of the body. The -(vxcm,vycm,vzcm) and (lx,ly,lz) values can simply be set to 0 if you -wish the body to have no initial motion. - -The (ixcm,iycm,izcm) values are the image flags of the center of mass -of the body. For periodic dimensions, they specify which image of the -simulation box the body is considered to be in. An image of 0 means -it is inside the box as defined. A value of 2 means add 2 box lengths -to get the true value. A value of -1 means subtract 1 box length to -get the true value. LAMMPS updates these flags as the rigid bodies -cross periodic boundaries during the simulation. - -NOTE: If you use the {infile} or {mol} keywords and write restart -files during a simulation, then each time a restart file is written, -the fix also write an auxiliary restart file with the name -rfile.rigid, where "rfile" is the name of the restart file, -e.g. tmp.restart.10000 and tmp.restart.10000.rigid. This auxiliary -file is in the same format described above. Thus it can be used in a -new input script that restarts the run and re-specifies a rigid fix -using an {infile} keyword and the appropriate filename. Note that the -auxiliary file will contain one line for every rigid body, even if the -original file only listed a subset of the rigid bodies. - -:line - -If you use a "temperature compute"_compute.html with a group that -includes particles in rigid bodies, the degrees-of-freedom removed by -each rigid body are accounted for in the temperature (and pressure) -computation, but only if the temperature group includes all the -particles in a particular rigid body. - -A 3d rigid body has 6 degrees of freedom (3 translational, 3 -rotational), except for a collection of point particles lying on a -straight line, which has only 5, e.g a dimer. A 2d rigid body has 3 -degrees of freedom (2 translational, 1 rotational). - -NOTE: You may wish to explicitly subtract additional -degrees-of-freedom if you use the {force} and {torque} keywords to -eliminate certain motions of one or more rigid bodies. LAMMPS does -not do this automatically. - -The rigid body contribution to the pressure of the system (virial) is -also accounted for by this fix. - -:line - -If your simulation is a hybrid model with a mixture of rigid bodies -and non-rigid particles (e.g. solvent) there are several ways these -rigid fixes can be used in tandem with "fix nve"_fix_nve.html, "fix -nvt"_fix_nh.html, "fix npt"_fix_nh.html, and "fix nph"_fix_nh.html. - -If you wish to perform NVE dynamics (no thermostatting or -barostatting), use one of 4 NVE rigid styles to integrate the rigid -bodies, and "fix nve"_fix_nve.html to integrate the non-rigid -particles. - -If you wish to perform NVT dynamics (thermostatting, but no -barostatting), you can use one of the 2 NVT rigid styles for the rigid -bodies, and any thermostatting fix for the non-rigid particles ("fix -nvt"_fix_nh.html, "fix langevin"_fix_langevin.html, "fix -temp/berendsen"_fix_temp_berendsen.html). You can also use one of the -4 NVE rigid styles for the rigid bodies and thermostat them using "fix -langevin"_fix_langevin.html on the group that contains all the -particles in the rigid bodies. The net force added by "fix -langevin"_fix_langevin.html to each rigid body effectively thermostats -its translational center-of-mass motion. Not sure how well it does at -thermostatting its rotational motion. - -If you with to perform NPT or NPH dynamics (barostatting), you cannot -use both "fix npt"_fix_nh.html and the NPT or NPH rigid styles. This -is because there can only be one fix which monitors the global -pressure and changes the simulation box dimensions. So you have 3 -choices: - -Use one of the 4 NPT or NPH styles for the rigid bodies. Use the -{dilate} all option so that it will dilate the positions of the -non-rigid particles as well. Use "fix nvt"_fix_nh.html (or any other -thermostat) for the non-rigid particles. :ulb,l - -Use "fix npt"_fix_nh.html for the group of non-rigid particles. Use -the {dilate} all option so that it will dilate the center-of-mass -positions of the rigid bodies as well. Use one of the 4 NVE or 2 NVT -rigid styles for the rigid bodies. :l - -Use "fix press/berendsen"_fix_press_berendsen.html to compute the -pressure and change the box dimensions. Use one of the 4 NVE or 2 NVT -rigid styles for the rigid bodies. Use "fix nvt"_fix_nh.html (or any -other thermostat) for the non-rigid particles. :l -:ule - -In all case, the rigid bodies and non-rigid particles both contribute -to the global pressure and the box is scaled the same by any of the -barostatting fixes. - -You could even use the 2nd and 3rd options for a non-hybrid simulation -consisting of only rigid bodies, assuming you give "fix -npt"_fix_nh.html an empty group, though it's an odd thing to do. The -barostatting fixes ("fix npt"_fix_nh.html and "fix -press/berensen"_fix_press_berendsen.html) will monitor the pressure -and change the box dimensions, but not time integrate any particles. -The integration of the rigid bodies will be performed by fix -rigid/nvt. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about the 4 NVE rigid styles is written to "binary -restart files"_restart.html. The exception is if the {infile} or -{mol} keyword is used, in which case an auxiliary file is written out -with rigid body information each time a restart file is written, as -explained above for the {infile} keyword. For the 2 NVT rigid styles, -the state of the Nose/Hoover thermostat is written to "binary restart -files"_restart.html. Ditto for the 4 NPT and NPH rigid styles, and -the state of the Nose/Hoover barostat. See the -"read_restart"_read_restart.html command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. - -The "fix_modify"_fix_modify.html {energy} option is supported by the 6 -NVT, NPT, NPH rigid styles to add the energy change induced by the -thermostatting to the system's potential energy as part of -"thermodynamic output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {virial} option is supported by this -fix to add the contribution due to keeping the objects rigid to the -system's virial as part of "thermodynamic output"_thermo_style.html. -The default is {virial yes} - -The "fix_modify"_fix_modify.html {temp} and {press} options are -supported by the 4 NPT and NPH rigid styles to change the computes -used to calculate the instantaneous pressure tensor. Note that the 2 -NVT rigid fixes do not use any external compute to compute -instantaneous temperature. - -The "fix_modify"_fix_modify.html {bodyforces} option is supported by -all rigid styles to set whether per-body forces and torques are -computed early or late in a timestep, i.e. at the post-force stage or -at the final-integrate stage or the timestep, respectively. - -The 2 NVE rigid fixes compute a global scalar which can be accessed by -various "output commands"_Howto_output.html. The scalar value -calculated by these fixes is "intensive". The scalar is the current -temperature of the collection of rigid bodies. This is averaged over -all rigid bodies and their translational and rotational degrees of -freedom. The translational energy of a rigid body is 1/2 m v^2, where -m = total mass of the body and v = the velocity of its center of mass. -The rotational energy of a rigid body is 1/2 I w^2, where I = the -moment of inertia tensor of the body and w = its angular velocity. -Degrees of freedom constrained by the {force} and {torque} keywords -are removed from this calculation, but only for the {rigid} and -{rigid/nve} fixes. - -The 6 NVT, NPT, NPH rigid fixes compute a global scalar which can be -accessed by various "output commands"_Howto_output.html. The scalar -value calculated by these fixes is "extensive". The scalar is the -cumulative energy change due to the thermostatting and barostatting -the fix performs. - -All of the {rigid} styles (not the {rigid/small} styles) compute a -global array of values which can be accessed by various "output -commands"_Howto_output.html. Similar information about the bodies -defined by the {rigid/small} styles can be accessed via the "compute -rigid/local"_compute_rigid_local.html command. - -The number of rows in the array is equal to the number of rigid -bodies. The number of columns is 15. Thus for each rigid body, 15 -values are stored: the xyz coords of the center of mass (COM), the xyz -components of the COM velocity, the xyz components of the force acting -on the COM, the xyz components of the torque acting on the COM, and -the xyz image flags of the COM. - -The center of mass (COM) for each body is similar to unwrapped -coordinates written to a dump file. It will always be inside (or -slightly outside) the simulation box. The image flags have the same -meaning as image flags for atom positions (see the "dump" command). -This means you can calculate the unwrapped COM by applying the image -flags to the COM, the same as when unwrapped coordinates are written -to a dump file. - -The force and torque values in the array are not affected by the -{force} and {torque} keywords in the fix rigid command; they reflect -values before any changes are made by those keywords. - -The ordering of the rigid bodies (by row in the array) is as follows. -For the {single} keyword there is just one rigid body. For the -{molecule} keyword, the bodies are ordered by ascending molecule ID. -For the {group} keyword, the list of group IDs determines the ordering -of bodies. - -The array values calculated by these fixes are "intensive", meaning -they are independent of the number of atoms in the simulation. - -No parameter of these fixes can be used with the {start/stop} keywords -of the "run"_run.html command. These fixes are not invoked during -"energy minimization"_minimize.html. - -:line - -[Restrictions:] - -These fixes are all part of the RIGID package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Assigning a temperature via the "velocity create"_velocity.html -command to a system with "rigid bodies"_fix_rigid.html may not have -the desired outcome for two reasons. First, the velocity command can -be invoked before the rigid-body fix is invoked or initialized and the -number of adjusted degrees of freedom (DOFs) is known. Thus it is not -possible to compute the target temperature correctly. Second, the -assigned velocities may be partially canceled when constraints are -first enforced, leading to a different temperature than desired. A -workaround for this is to perform a "run 0"_run.html command, which -insures all DOFs are accounted for properly, and then rescale the -temperature to the desired value before performing a simulation. For -example: - -velocity all create 300.0 12345 -run 0 # temperature may not be 300K -velocity all scale 300.0 # now it should be :pre - -[Related commands:] - -"delete_bonds"_delete_bonds.html, "neigh_modify"_neigh_modify.html -exclude, "fix shake"_fix_shake.html - -[Default:] - -The option defaults are force * on on on and torque * on on on, -meaning all rigid bodies are acted on by center-of-mass force and -torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3, reinit = yes. - -:line - -:link(Hoover) -[(Hoover)] Hoover, Phys Rev A, 31, 1695 (1985). - -:link(Kamberaj) -[(Kamberaj)] Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005). - -:link(Martyna2) -[(Martyna)] Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992); -Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117. - -:link(Miller3) -[(Miller)] Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, -J Chem Phys, 116, 8649 (2002). - -:link(Zhang1) -[(Zhang)] Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004). diff --git a/doc/txt/fix_rigid_meso.txt b/doc/txt/fix_rigid_meso.txt deleted file mode 100644 index a9c68b2c049bde31ddfb85f2d45a7728c707ca19..0000000000000000000000000000000000000000 --- a/doc/txt/fix_rigid_meso.txt +++ /dev/null @@ -1,350 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix rigid/meso command :h3 - -[Syntax:] - -fix ID group-ID rigid/meso bodystyle args keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -rigid/meso = style name of this fix command :l -bodystyle = {single} or {molecule} or {group} :l - {single} args = none - {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 - {group} args = N groupID1 groupID2 ... - N = # of groups - groupID1, groupID2, ... = list of N group IDs :pre - -zero or more keyword/value pairs may be appended :l -keyword = {reinit} or {force} or {torque} or {infile} :l - {reinit} = {yes} or {no} - {force} values = M xflag yflag zflag - M = which rigid body from 1-Nbody (see asterisk form below) - xflag,yflag,zflag = off/on if component of center-of-mass force is active - {torque} values = M xflag yflag zflag - M = which rigid body from 1-Nbody (see asterisk form below) - xflag,yflag,zflag = off/on if component of center-of-mass torque is active - {infile} filename - filename = file with per-body values of mass, center-of-mass, moments of inertia :pre -:ule - -[Examples:] - -fix 1 ellipsoid rigid/meso single -fix 1 rods rigid/meso molecule -fix 1 spheres rigid/meso single force 1 off off on -fix 1 particles rigid/meso molecule force 1*5 off off off force 6*10 off off on -fix 2 spheres rigid/meso group 3 sphere1 sphere2 sphere3 torque * off off off :pre - -[Description:] - -Treat one or more sets of mesoscopic SPH/SDPD particles as independent -rigid bodies. This means that each timestep the total force and torque -on each rigid body is computed as the sum of the forces and torques on -its constituent particles. The coordinates and velocities of the -particles in each body are then updated so that the body moves and -rotates as a single entity using the methods described in the paper by -"(Miller)"_#Miller. Density and internal energy of the particles will -also be updated. This is implemented by creating internal data structures -for each rigid body and performing time integration on these data -structures. Positions and velocities of the constituent particles are -regenerated from the rigid body data structures in every time step. This -restricts which operations and fixes can be applied to rigid bodies. See -below for a detailed discussion. - -The operation of this fix is exactly like that described by the -"fix rigid/nve"_fix_rigid.html command, except that particles' density, -internal energy and extrapolated velocity are also updated. - -NOTE: You should not update the particles in rigid bodies via other -time-integration fixes (e.g. "fix meso"_fix_meso.html, -"fix meso/stationary"_fix_meso_stationary.html), or you will have conflicting -updates to positions and velocities resulting in unphysical behavior in most -cases. When performing a hybrid simulation with some atoms in rigid bodies, -and some not, a separate time integration fix like "fix meso"_fix_meso.html -should be used for the non-rigid particles. - -NOTE: These fixes are overkill if you simply want to hold a collection -of particles stationary or have them move with a constant velocity. To -hold particles stationary use "fix -meso/stationary"_fix_meso_stationary.html instead. If you would like to -move particles with a constant velocity use "fix -meso/move"_fix_meso_move.html. - -IMPORTANT NOTE: The aggregate properties of each rigid body are -calculated at the start of a simulation run and are maintained in -internal data structures. The properties include the position and -velocity of the center-of-mass of the body, its moments of inertia, and -its angular momentum. This is done using the properties of the -constituent particles of the body at that point in time (or see the {infile} -keyword option). Thereafter, changing these properties of individual -particles in the body will have no effect on a rigid body's dynamics, unless -they effect any computation of per-particle forces or torques. If the -keyword {reinit} is set to {yes} (the default), the rigid body data -structures will be recreated at the beginning of each {run} command; -if the keyword {reinit} is set to {no}, the rigid body data structures -will be built only at the very first {run} command and maintained for -as long as the rigid fix is defined. For example, you might think you -could displace the particles in a body or add a large velocity to each particle -in a body to make it move in a desired direction before a 2nd run is -performed, using the "set"_set.html or -"displace_atoms"_displace_atoms.html or "velocity"_velocity.html -commands. But these commands will not affect the internal attributes -of the body unless {reinit} is set to {yes}. With {reinit} set to {no} -(or using the {infile} option, which implies {reinit} {no}) the position -and velocity of individual particles in the body will be reset when time -integration starts again. - -:line - -Each rigid body must have two or more particles. A particle can belong -to at most one rigid body. Which particles are in which bodies can be -defined via several options. - -For bodystyle {single} the entire fix group of particles is treated as -one rigid body. - -For bodystyle {molecule}, particles are grouped into rigid bodies by their -respective molecule IDs: each set of particles in the fix group with the -same molecule ID is treated as a different rigid body. Note that particles -with a molecule ID = 0 will be treated as a single rigid body. For a -system with solvent (typically this is particles with molecule ID = 0) -surrounding rigid bodies, this may not be what you want. Thus you -should be careful to use a fix group that only includes particles you -want to be part of rigid bodies. - -Bodystyle {custom} is similar to bodystyle {molecule} except that it -is more flexible in using other per-atom properties to define the sets -of particles that form rigid bodies. An integer vector defined by the -"fix property/atom"_fix_property_atom.html command can be used. Or an -"atom-style or atomfile-style variable"_variable.html can be used; the -floating-point value produced by the variable is rounded to an -integer. As with bodystyle {molecule}, each set of particles in the fix -groups with the same integer value is treated as a different rigid -body. Since fix property/atom vectors and atom-style variables -produce values for all particles, you should be careful to use a fix group -that only includes particles you want to be part of rigid bodies. - -For bodystyle {group}, each of the listed groups is treated as a -separate rigid body. Only particles that are also in the fix group are -included in each rigid body. - -NOTE: To compute the initial center-of-mass position and other -properties of each rigid body, the image flags for each particle in the -body are used to "unwrap" the particle coordinates. Thus you must -insure that these image flags are consistent so that the unwrapping -creates a valid rigid body (one where the particles are close together) -, particularly if the particles in a single rigid body straddle a -periodic boundary. This means the input data file or restart file must -define the image flags for each particle consistently or that you have -used the "set"_set.html command to specify them correctly. If a -dimension is non-periodic then the image flag of each particle must be -0 in that dimension, else an error is generated. - -By default, each rigid body is acted on by other particles which induce -an external force and torque on its center of mass, causing it to -translate and rotate. Components of the external center-of-mass force -and torque can be turned off by the {force} and {torque} keywords. -This may be useful if you wish a body to rotate but not translate, or -vice versa, or if you wish it to rotate or translate continuously -unaffected by interactions with other particles. Note that if you -expect a rigid body not to move or rotate by using these keywords, you -must insure its initial center-of-mass translational or angular -velocity is 0.0. Otherwise the initial translational or angular -momentum, the body has, will persist. - -An xflag, yflag, or zflag set to {off} means turn off the component of -force or torque in that dimension. A setting of {on} means turn on -the component, which is the default. Which rigid body(s) the settings -apply to is determined by the first argument of the {force} and -{torque} keywords. It can be an integer M from 1 to Nbody, where -Nbody is the number of rigid bodies defined. A wild-card asterisk can -be used in place of, or in conjunction with, the M argument to set the -flags for multiple rigid bodies. This takes the form "*" or "*n" or -"n*" or "m*n". If N = the number of rigid bodies, then an asterisk -with no numeric values means all bodies from 1 to N. A leading -asterisk means all bodies from 1 to n (inclusive). A trailing -asterisk means all bodies from n to N (inclusive). A middle asterisk -means all bodies from m to n (inclusive). Note that you can use the -{force} or {torque} keywords as many times as you like. If a -particular rigid body has its component flags set multiple times, the -settings from the final keyword are used. - -For computational efficiency, you should typically define one fix -rigid/meso command which includes all the desired rigid bodies. LAMMPS -will allow multiple rigid/meso fixes to be defined, but it is more -expensive. - -:line - -The keyword/value option pairs are used in the following ways. - -The {reinit} keyword determines, whether the rigid body properties -are re-initialized between run commands. With the option {yes} (the -default) this is done, with the option {no} this is not done. Turning -off the re-initialization can be helpful to protect rigid bodies against -unphysical manipulations between runs or when properties cannot be -easily re-computed (e.g. when read from a file). When using the {infile} -keyword, the {reinit} option is automatically set to {no}. - -:line - -The {infile} keyword allows a file of rigid body attributes to be read -in from a file, rather then having LAMMPS compute them. There are 5 -such attributes: the total mass of the rigid body, its center-of-mass -position, its 6 moments of inertia, its center-of-mass velocity, and -the 3 image flags of the center-of-mass position. For rigid bodies -consisting of point particles or non-overlapping finite-size -particles, LAMMPS can compute these values accurately. However, for -rigid bodies consisting of finite-size particles which overlap each -other, LAMMPS will ignore the overlaps when computing these 4 -attributes. The amount of error this induces depends on the amount of -overlap. To avoid this issue, the values can be pre-computed -(e.g. using Monte Carlo integration). - -The format of the file is as follows. Note that the file does not -have to list attributes for every rigid body integrated by fix rigid. -Only bodies which the file specifies will have their computed -attributes overridden. The file can contain initial blank lines or -comment lines starting with "#" which are ignored. The first -non-blank, non-comment line should list N = the number of lines to -follow. The N successive lines contain the following information: - -ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm -ID2 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm -... -IDN masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm :pre - -The rigid body IDs are all positive integers. For the {single} -bodystyle, only an ID of 1 can be used. For the {group} bodystyle, -IDs from 1 to Ng can be used where Ng is the number of specified -groups. For the {molecule} bodystyle, use the molecule ID for the -atoms in a specific rigid body as the rigid body ID. - -The masstotal and center-of-mass coordinates (xcm,ycm,zcm) are -self-explanatory. The center-of-mass should be consistent with what -is calculated for the position of the rigid body with all its atoms -unwrapped by their respective image flags. If this produces a -center-of-mass that is outside the simulation box, LAMMPS wraps it -back into the box. - -The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the -values consistent with the current orientation of the rigid body -around its center of mass. The values are with respect to the -simulation box XYZ axes, not with respect to the principal axes of the -rigid body itself. LAMMPS performs the latter calculation internally. - -The (vxcm,vycm,vzcm) values are the velocity of the center of mass. -The (lx,ly,lz) values are the angular momentum of the body. The -(vxcm,vycm,vzcm) and (lx,ly,lz) values can simply be set to 0 if you -wish the body to have no initial motion. - -The (ixcm,iycm,izcm) values are the image flags of the center of mass -of the body. For periodic dimensions, they specify which image of the -simulation box the body is considered to be in. An image of 0 means -it is inside the box as defined. A value of 2 means add 2 box lengths -to get the true value. A value of -1 means subtract 1 box length to -get the true value. LAMMPS updates these flags as the rigid bodies -cross periodic boundaries during the simulation. - -NOTE: If you use the {infile} keyword and write restart -files during a simulation, then each time a restart file is written, -the fix also write an auxiliary restart file with the name -rfile.rigid, where "rfile" is the name of the restart file, -e.g. tmp.restart.10000 and tmp.restart.10000.rigid. This auxiliary -file is in the same format described above. Thus it can be used in a -new input script that restarts the run and re-specifies a rigid fix -using an {infile} keyword and the appropriate filename. Note that the -auxiliary file will contain one line for every rigid body, even if the -original file only listed a subset of the rigid bodies. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information is written to "binary restart files"_restart.html. -If the {infile} keyword is used, an auxiliary file is written out -with rigid body information each time a restart file is written, as -explained above for the {infile} keyword. - -None of the "fix_modify"_fix_modify.html options are relevant to this -fix. - -This fix computes a global array of values which can be accessed by -various "output commands"_Howto_output.html. - -The number of rows in the array is equal to the number of rigid -bodies. The number of columns is 28. Thus for each rigid body, 28 -values are stored: the xyz coords of the center of mass (COM), the xyz -components of the COM velocity, the xyz components of the force acting -on the COM, the components of the 4-vector quaternion representing the -orientation of the rigid body, the xyz components of the angular velocity -of the body around its COM, the xyz components of the torque acting on the -COM, the 3 principal components of the moment of inertia, the xyz components -of the angular momentum of the body around its COM, and the xyz image -flags of the COM. - -The center of mass (COM) for each body is similar to unwrapped -coordinates written to a dump file. It will always be inside (or -slightly outside) the simulation box. The image flags have the same -meaning as image flags for particle positions (see the "dump" command). -This means you can calculate the unwrapped COM by applying the image -flags to the COM, the same as when unwrapped coordinates are written -to a dump file. - -The force and torque values in the array are not affected by the -{force} and {torque} keywords in the fix rigid command; they reflect -values before any changes are made by those keywords. - -The ordering of the rigid bodies (by row in the array) is as follows. -For the {single} keyword there is just one rigid body. For the -{molecule} keyword, the bodies are ordered by ascending molecule ID. -For the {group} keyword, the list of group IDs determines the ordering -of bodies. - -The array values calculated by this fix are "intensive", meaning they -are independent of the number of particles in the simulation. - -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. - -:line - -[Restrictions:] - -This fix is part of the USER-SDPD package and also depends on the RIGID -package. It is only enabled if LAMMPS was built with both packages. See -the "Build package"_Build_package.html doc page for more info. - -This fix requires that atoms store density and internal energy as -defined by the "atom_style meso"_atom_style.html command. - -All particles in the group must be mesoscopic SPH/SDPD particles. - -[Related commands:] - -"fix meso/move"_fix_meso_move.html, "fix rigid"_fix_rigid.html, -"neigh_modify exclude"_neigh_modify.html - -[Default:] - -The option defaults are force * on on on and torque * on on on, -meaning all rigid bodies are acted on by center-of-mass force and -torque. Also reinit = yes. - -:line - -:link(Miller) -[(Miller)] Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, -J Chem Phys, 116, 8649 (2002). diff --git a/doc/txt/fix_rx.txt b/doc/txt/fix_rx.txt deleted file mode 100644 index ad42c577aaf279c007a3aa6a55cceea0b382ed05..0000000000000000000000000000000000000000 --- a/doc/txt/fix_rx.txt +++ /dev/null @@ -1,226 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix rx command :h3 -fix rx/kk command :h3 - -[Syntax:] - -fix ID group-ID rx file localTemp matrix solver minSteps ... :pre - -ID, group-ID are documented in "fix"_fix.html command -rx = style name of this fix command -file = filename containing the reaction kinetic equations and Arrhenius parameters -localTemp = {none,lucy} = no local temperature averaging or local temperature defined through Lucy weighting function -matrix = {sparse, dense} format for the stoichiometric matrix -solver = {lammps_rk4,rkf45} = rk4 is an explicit 4th order Runge-Kutta method; rkf45 is an adaptive 4th-order Runge-Kutta-Fehlberg method -minSteps = # of steps for rk4 solver or minimum # of steps for rkf45 (rk4 or rkf45) -maxSteps = maximum number of steps for the rkf45 solver (rkf45 only) -relTol = relative tolerance for the rkf45 solver (rkf45 only) -absTol = absolute tolerance for the rkf45 solver (rkf45 only) -diag = Diagnostics frequency for the rkf45 solver (optional, rkf45 only) :ul - -[Examples:] - -fix 1 all rx kinetics.rx none dense lammps_rk4 -fix 1 all rx kinetics.rx none sparse lammps_rk4 1 -fix 1 all rx kinetics.rx lucy sparse lammps_rk4 10 -fix 1 all rx kinetics.rx none dense rkf45 1 100 1e-6 1e-8 -fix 1 all rx kinetics.rx none dense rkf45 1 100 1e-6 1e-8 -1 :pre - -[Description:] - -Fix {rx} solves the reaction kinetic ODEs for a given reaction set that is -defined within the file associated with this command. - -For a general reaction such that - -:c,image(Eqs/fix_rx_reaction.jpg) - -the reaction rate equation is defined to be of the form - -:c,image(Eqs/fix_rx_reactionRate.jpg) - -In the current implementation, the exponents are defined to be equal -to the stoichiometric coefficients. A given reaction set consisting -of {n} reaction equations will contain a total of {m} species. A set -of {m} ordinary differential equations (ODEs) that describe the change -in concentration of a given species as a function of time are then -constructed based on the {n} reaction rate equations. - -The ODE systems are solved over the full DPD timestep {dt} using either a 4th -order Runge-Kutta {rk4} method with a fixed step-size {h}, specified -by the {lammps_rk4} keyword, or a 4th order Runge-Kutta-Fehlberg (rkf45) method -with an adaptive step-size for {h}. The number of ODE steps per DPD timestep -for the rk4 method is optionally specified immediately after the rk4 -keyword. The ODE step-size is set as {dt/num_steps}. Smaller -step-sizes tend to yield more accurate results but there is not -control on the error. For error control, use the rkf45 ODE solver. - -The rkf45 method adjusts the step-size so that the local truncation error is held -within the specified absolute and relative tolerances. The initial step-size {h0} -can be specified by the user or estimated internally. It is recommended that the user -specify {h0} since this will generally reduced the number of ODE integration steps -required. {h0} is defined as {dt / min_steps} if min_steps >= 1. If min_steps == 0, -{h0} is estimated such that an explicit Euler method would likely produce -an acceptable solution. This is generally overly conservative for the 4th-order -method and users are advised to specify {h0} as some fraction of the DPD timestep. -For small DPD timesteps, only one step may be necessary depending upon the tolerances. -Note that more than min_steps ODE steps may be taken depending upon the ODE stiffness -but no more than max_steps will be taken. If max_steps is reached, an error warning -is printed and the simulation is stopped. - -After each ODE step, the solution error {e} is tested and weighted using the absTol -and relTol values. The error vector is weighted as {e} / (relTol * |{u}| + absTol) -where {u} is the solution vector. If the norm of the error is <= 1, the solution is -accepted, {h} is increased by a proportional amount, and the next ODE step is begun. -Otherwise, {h} is shrunk and the ODE step is repeated. - -Run-time diagnostics are available for the rkf45 ODE solver. The frequency -(in time-steps) that diagnostics are reported is controlled by the last (optional) -12th argument. A negative frequency means that diagnostics are reported once at the -end of each run. A positive value N means that the diagnostics are reported once -per N time-steps. - -The diagnostics report the average # of integrator steps and RHS function evaluations -and run-time per ODE as well as the average/RMS/min/max per process. If the -reporting frequency is 1, the RMS/min/max per ODE are also reported. The per ODE -statistics can be used to adjust the tolerance and min/max step parameters. The -statistics per MPI process can be useful to examine any load imbalance caused by the -adaptive ODE solver. (Some DPD particles can take longer to solve than others. This -can lead to an imbalance across the MPI processes.) - -:line - -The filename specifies a file that contains the entire set of reaction -kinetic equations and corresponding Arrhenius parameters. The format of -this file is described below. - -There is no restriction on the total number or reaction equations that -are specified. The species names are arbitrary string names that are -associated with the species concentrations. Each species in a given -reaction must be preceded by it's stoichiometric coefficient. The -only delimiters that are recognized between the species are either a -{+} or {=} character. The {=} character corresponds to an -irreversible reaction. After specifying the reaction, the reaction -rate constant is determined through the temperature dependent -Arrhenius equation: - -:c,image(Eqs/fix_rx.jpg) - -where {A} is the Arrhenius factor in time units or concentration/time -units, {n} is the unitless exponent of the temperature dependence, and -{E_a} is the activation energy in energy units. The temperature -dependence can be removed by specifying the exponent as zero. - -The internal temperature of the coarse-grained particles can be used -in constructing the reaction rate constants at every DPD timestep by -specifying the keyword {none}. Alternatively, the keyword {lucy} can -be specified to compute a local-average particle internal temperature -for use in the reaction rate constant expressions. The local-average -particle internal temperature is defined as: - -:c,image(Eqs/fix_rx_localTemp.jpg) - -where the Lucy function is expressed as: - -:c,image(Eqs/fix_rx_localTemp2.jpg) - -The self-particle interaction is included in the above equation. - -The stoichiometric coefficients for the reaction mechanism are stored -in either a sparse or dense matrix format. The dense matrix should only be -used for small reaction mechanisms. The sparse matrix should be used when there -are many reactions (e.g., more than 5). This allows the number of reactions and -species to grow while keeping the computational cost tractable. The matrix -format can be specified as using either the {sparse} or {dense} keywords. -If all stoichiometric coefficients for a reaction are small integers (whole -numbers <= 3), a fast exponential function is used. This can save significant -computational time so users are encouraged to use integer coefficients -where possible. - -:line - -The format of a tabulated file is as follows (without the -parenthesized comments): - -# Rxn equations and parameters (one or more comment or blank lines) :pre -1.0 hcn + 1.0 no2 = 1.0 no + 0.5 n2 + 0.5 h2 + 1.0 co 2.49E+01 0.0 1.34 (rxn equation, A, n, Ea) -1.0 hcn + 1.0 no = 1.0 co + 1.0 n2 + 0.5 h2 2.16E+00 0.0 1.52 -... -1.0 no + 1.0 co = 0.5 n2 + 1.0 co2 1.66E+06 0.0 0.69 :pre - -A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments -between sections. - -Following a blank line, the next N lines list the N reaction -equations. Each species within the reaction equation is specified -through its stoichiometric coefficient and a species tag. Reactant -species are specified on the left-hand side of the equation and -product species are specified on the right-hand side of the equation. -After specifying the reactant and product species, the final three -arguments of each line represent the Arrhenius parameter {A}, the -temperature exponent {n}, and the activation energy {Ea}. - -Note that the species tags that are defined in the reaction equations -are used by the "fix eos/table/rx"_fix_eos_table_rx.html command to -define the thermodynamic properties of each species. Furthermore, the -number of species molecules (i.e., concentration) can be specified -either with the "set"_set.html command using the "d_" prefix or by -reading directly the concentrations from a data file. For the latter -case, the "read_data"_read_data.html command with the fix keyword -should be specified, where the fix-ID will be the "fix rx" ID with a -"_SPECIES" suffix, e.g. - -fix foo all rx reaction.file ... -read_data data.dpd fix foo_SPECIES NULL Species - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This command also requires use of the "atom_style dpd"_atom_style.html -command. - -This command can only be used with a constant energy or constant -enthalpy DPD simulation. - -[Related commands:] - -"fix eos/table/rx"_fix_eos_table_rx.html, -"fix shardlow"_fix_shardlow.html, -"pair dpd/fdt/energy"_pair_dpd_fdt.html - -[Default:] none diff --git a/doc/txt/fix_saed_vtk.txt b/doc/txt/fix_saed_vtk.txt deleted file mode 100644 index 60708cd6962cfa57823d1a3c3d33ba1b50a5f661..0000000000000000000000000000000000000000 --- a/doc/txt/fix_saed_vtk.txt +++ /dev/null @@ -1,190 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix saed/vtk command :h3 - -[Syntax:] - -fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -saed/vtk = style name of this fix command :l -Nevery = use input values every this many timesteps :l -Nrepeat = # of times to use input values for calculating averages :l -Nfreq = calculate averages every this many timesteps :l -c_ID = saed compute ID :l - -keyword = {file} or {ave} or {start} or {file} or {overwrite}:l - {ave} args = {one} or {running} or {window M} - one = output a new average value every Nfreq steps - running = output cumulative average of all previous Nfreq steps - window M = output average of M most recent Nfreq steps - {start} args = Nstart - Nstart = start averaging on this timestep - {file} arg = filename - filename = name of file to output time averages to - {overwrite} arg = none = overwrite output file with only latest output :pre - -:ule - -[Examples:] - -compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5 -compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo :pre - -fix 1 all saed/vtk 1 1 1 c_1 file Al2O3_001.saed -fix 2 all saed/vtk 1 1 1 c_2 file Ni_000.saed :pre - -[Description:] - -Time average computed intensities from "compute saed"_compute_saed.html and -write output to a file in the 3rd generation vtk image data format for -visualization directly in parallelized visualization software packages -like ParaView and VisIt. Note that if no time averaging is done, this -command can be used as a convenient way to simply output diffraction -intensities at a single snapshot. - -To produce output in the image data vtk format ghost data is added -outside the {Kmax} range assigned in the compute saed. The ghost data is -assigned a value of -1 and can be removed setting a minimum isovolume -of 0 within the visualization software. SAED images can be created by -visualizing a spherical slice of the data that is centered at -R_Ewald*\[h k l\]/norm(\[h k l\]), where R_Ewald=1/lambda. - -The group specified within this command is ignored. However, note that -specified values may represent calculations performed by saed computes -which store their own "group" definitions. - -Fix saed/vtk is designed to work only with "compute saed"_compute_saed.html -values, e.g. - -compute 3 top saed 0.0251 Al O -fix saed/vtk 1 1 1 c_3 file Al2O3_001.saed :pre - -:line - -The {Nevery}, {Nrepeat}, and {Nfreq} arguments specify on what -timesteps the input values will be used in order to contribute to the -average. The final averaged quantities are generated on timesteps -that are a multiple of {Nfreq}. The average is over {Nrepeat} -quantities, computed in the preceding portion of the simulation every -{Nevery} timesteps. {Nfreq} must be a multiple of {Nevery} and -{Nevery} must be non-zero even if {Nrepeat} is 1. -Also, the timesteps -contributing to the average value cannot overlap, -i.e. Nrepeat*Nevery can not exceed Nfreq. - -For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then values on -timesteps 90,92,94,96,98,100 will be used to compute the final average -on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on -timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time -averaging is done; values are simply generated on timesteps -100,200,etc. - -:line - -The output for fix ave/time/saed is a file written with the 3rd generation -vtk image data formatting. The filename assigned by the {file} keyword is -appended with _N.vtk where N is an index (0,1,2...) to account for multiple -diffraction intensity outputs. - -By default the header contains the following information (with example data): - -# vtk DataFile Version 3.0 c_SAED -Image data set -ASCII -DATASET STRUCTURED_POINTS -DIMENSIONS 337 219 209 -ASPECT_RATIO 0.00507953 0.00785161 0.00821458 -ORIGIN -0.853361 -0.855826 -0.854316 -POINT_DATA 15424827 -SCALARS intensity float -LOOKUP_TABLE default -...data :pre - -In this example, kspace is sampled across a 337 x 219 x 209 point mesh -where the mesh spacing is approximately 0.005, 0.007, and 0.008 -inv(length) units in the k1, k2, and k3 directions, respectively. -The data is shifted by -0.85, -0.85, -0.85 inv(length) units so that -the origin will lie at 0, 0, 0. Here, 15,424,827 kspace points are -sampled in total. - -:line - -Additional optional keywords also affect the operation of this fix. - -The {ave} keyword determines how the values produced every {Nfreq} -steps are averaged with values produced on previous steps that were -multiples of {Nfreq}, before they are accessed by another output -command or written to a file. - -If the {ave} setting is {one}, then the values produced on timesteps -that are multiples of {Nfreq} are independent of each other; they are -output as-is without further averaging. - -If the {ave} setting is {running}, then the values produced on -timesteps that are multiples of {Nfreq} are summed and averaged in a -cumulative sense before being output. Each output value is thus the -average of the value produced on that timestep with all preceding -values. This running average begins when the fix is defined; it can -only be restarted by deleting the fix via the "unfix"_unfix.html -command, or by re-defining the fix by re-specifying it. - -If the {ave} setting is {window}, then the values produced on -timesteps that are multiples of {Nfreq} are summed and averaged within -a moving "window" of time, so that the last M values are used to -produce the output. E.g. if M = 3 and Nfreq = 1000, then the output -on step 10000 will be the average of the individual values on steps -8000,9000,10000. Outputs on early steps will average over less than M -values if they are not available. - -The {start} keyword specifies what timestep averaging will begin on. -The default is step 0. Often input values can be 0.0 at time 0, so -setting {start} to a larger value can avoid including a 0.0 in a -running or windowed average. - -The {file} keyword allows a filename to be specified. Every {Nfreq} -steps, the vector of saed intensity data is written to a new file using -the 3rd generation vtk format. The base of each file is assigned by -the {file} keyword and this string is appended with _N.vtk where N is -an index (0,1,2...) to account for situations with multiple diffraction -intensity outputs. - -The {overwrite} keyword will continuously overwrite the output file -with the latest output, so that it only contains one timestep worth of -output. This option can only be used with the {ave running} setting. - -[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 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:] - -The attributes for fix_saed_vtk must match the values assigned in the -associated "compute_saed"_compute_saed.html command. - -[Related commands:] - -"compute_saed"_compute_saed.html - -[Default:] - -The option defaults are ave = one, start = 0, no file output. - -:line - -:link(Coleman) -[(Coleman)] Coleman, Spearot, Capolungo, MSMSE, 21, 055020 -(2013). - diff --git a/doc/txt/fix_setforce.txt b/doc/txt/fix_setforce.txt deleted file mode 100644 index 5ee289ec5cacb7e0b024b8d5c7fd002d133de4f1..0000000000000000000000000000000000000000 --- a/doc/txt/fix_setforce.txt +++ /dev/null @@ -1,144 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix setforce command :h3 -fix setforce/kk command :h3 -fix setforce/spin command :h3 - -[Syntax:] - -fix ID group-ID setforce fx fy fz keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -setforce = style name of this fix command :l -fx,fy,fz = force component values :l -any of fx,fy,fz can be a variable (see below) :l -zero or more keyword/value pairs may be appended to args :l -keyword = {region} :l - {region} value = region-ID - region-ID = ID of region atoms must be in to have added force :pre -:ule - -[Examples:] - -fix freeze indenter setforce 0.0 0.0 0.0 -fix 2 edge setforce NULL 0.0 0.0 -fix 1 edge setforce/spin 0.0 0.0 0.0 -fix 2 edge setforce NULL 0.0 v_oscillate :pre - -[Description:] - -Set each component of force on each atom in the group to the specified -values fx,fy,fz. This erases all previously computed forces on the -atom, though additional fixes could add new forces. This command can -be used to freeze certain atoms in the simulation by zeroing their -force, either for running dynamics or performing an energy -minimization. For dynamics, this assumes their initial velocity is -also zero. - -Any of the fx,fy,fz values can be specified as NULL which means do not -alter the force component in that dimension. - -Any of the 3 quantities defining the force components can be specified -as an equal-style or atom-style "variable"_variable.html, namely {fx}, -{fy}, {fz}. If the value is a variable, it should be specified as -v_name, where name is the variable name. In this case, the variable -will be evaluated each timestep, and its value used to determine the -force component. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent force field. - -Atom-style variables can specify the same formulas as equal-style -variables but can also include per-atom values, such as atom -coordinates. Thus it is easy to specify a spatially-dependent force -field with optional time-dependence as well. - -If the {region} keyword is used, the atom must also be in the -specified geometric "region"_region.html in order to have force added -to it. - -:line - -Style {spin} suffix sets the components of the magnetic precession -vectors instead of the mechanical forces. This also erases all -previously computed magnetic precession vectors on the atom, though -additional magnetic fixes could add new forces. - -This command can be used to freeze the magnetic moment of certain -atoms in the simulation by zeroing their precession vector. - -All options defined above remain valid, they just apply to the magnetic -precession vectors instead of the forces. - -: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 on the "Speed packages"_Speed_packages.html doc -page. The accelerated styles take the same arguments and should -produce the same results, except for round-off and precision issues. - -The region keyword is also supported by Kokkos, but a Kokkos-enabled -region must be used. See the region "region"_region.html command for -more information. - -These accelerated styles are part of the r Kokkos package. They are -only enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by -this fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is setting the forces to the desired values; on all -other levels, the force is set to 0.0 for the atoms in the fix group, -so that setforce values are not counted multiple times. Default is to -to override forces at the outermost level. - -This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Howto_output.html. This is the total -force on the group of atoms before the forces on individual atoms are -changed by the fix. The vector values calculated by this fix are -"extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command, but you cannot set -forces to any value besides zero when performing a minimization. Use -the "fix addforce"_fix_addforce.html command if you want to apply a -non-zero force to atoms during a minimization. - -[Restrictions:] - -The fix {setforce/spin} only makes sense when LAMMPS was built with the -SPIN package. - -[Related commands:] - -"fix addforce"_fix_addforce.html, "fix aveforce"_fix_aveforce.html - -[Default:] none diff --git a/doc/txt/fix_shake.txt b/doc/txt/fix_shake.txt deleted file mode 100644 index 5c11f96b98d6b3dfe1c76e82e08216b7a8748e00..0000000000000000000000000000000000000000 --- a/doc/txt/fix_shake.txt +++ /dev/null @@ -1,233 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix shake command :h3 -fix rattle command :h3 - -[Syntax:] - -fix ID group-ID style tol iter N constraint values ... keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -style = shake or rattle = style name of this fix command :l -tol = accuracy tolerance of SHAKE solution :l -iter = max # of iterations in each SHAKE solution :l -N = print SHAKE statistics every this many timesteps (0 = never) :l -one or more constraint/value pairs are appended :l -constraint = {b} or {a} or {t} or {m} :l - {b} values = one or more bond types - {a} values = one or more angle types - {t} values = one or more atom types - {m} value = one or more mass values :pre -zero or more keyword/value pairs may be appended :l -keyword = {mol} :l - {mol} value = template-ID - template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command :pre -:ule - -[Examples:] - -fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2 -fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 -fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol -fix 1 sub rattle 0.0001 20 10 t 5 6 m 1.0 a 31 -fix 1 sub rattle 0.0001 20 10 t 5 6 m 1.0 a 31 mol myMol :pre - -[Description:] - -Apply bond and angle constraints to specified bonds and angles in the -simulation by either the SHAKE or RATTLE algorithms. This typically -enables a longer timestep. - -[SHAKE vs RATTLE:] - -The SHAKE algorithm was invented for schemes such as standard Verlet -timestepping, where only the coordinates are integrated and the -velocities are approximated as finite differences to the trajectories -("Ryckaert et al. (1977)"_#Ryckaert). If the velocities are -integrated explicitly, as with velocity Verlet which is what LAMMPS -uses as an integration method, a second set of constraining forces is -required in order to eliminate velocity components along the bonds -("Andersen (1983)"_#Andersen3). - -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 -molecule. The distance vector between sites {i} and {j} is given by - -:c,image(Eqs/fix_rattle_rij.jpg) - -The constraints can then be formulated as - -:c,image(Eqs/fix_rattle_constraints.jpg) - -The SHAKE algorithm satisfies the first condition, i.e. the sites at -time {n+1} will have the desired separations Dij immediately after the -coordinates are integrated. If we also enforce the second condition, -the velocity components along the bonds will vanish. RATTLE satisfies -both conditions. As implemented in LAMMPS, fix rattle uses fix shake -for satisfying the coordinate constraints. Therefore the settings and -optional keywords are the same for both fixes, and all the information -below about SHAKE is also relevant for RATTLE. - -[SHAKE:] - -Each timestep the specified bonds and angles are reset to their -equilibrium lengths and angular values via the SHAKE algorithm -("Ryckaert et al. (1977)"_#Ryckaert). This is done by applying an -additional constraint force so that the new positions preserve the -desired atom separations. The equations for the additional force are -solved via an iterative method that typically converges to an accurate -solution in a few iterations. The desired tolerance (e.g. 1.0e-4 = 1 -part in 10000) and maximum # of iterations are specified as arguments. -Setting the N argument will print statistics to the screen and log -file about regarding the lengths of bonds and angles that are being -constrained. Small delta values mean SHAKE is doing a good job. - -In LAMMPS, only small clusters of atoms can be constrained. This is -so the constraint calculation for a cluster can be performed by a -single processor, to enable good parallel performance. A cluster is -defined as a central atom connected to others in the cluster by -constrained bonds. LAMMPS allows for the following kinds of clusters -to be constrained: one central atom bonded to 1 or 2 or 3 atoms, or -one central atom bonded to 2 others and the angle between the 3 atoms -also constrained. This means water molecules or CH2 or CH3 groups may -be constrained, but not all the C-C backbone bonds of a long polymer -chain. - -The {b} constraint lists bond types that will be constrained. The {t} -constraint lists atom types. All bonds connected to an atom of the -specified type will be constrained. The {m} constraint lists atom -masses. All bonds connected to atoms of the specified masses will be -constrained (within a fudge factor of MASSDELTA specified in -fix_shake.cpp). The {a} constraint lists angle types. If both bonds -in the angle are constrained then the angle will also be constrained -if its type is in the list. - -For all constraints, a particular bond is only constrained if both -atoms in the bond are in the group specified with the SHAKE fix. - -The degrees-of-freedom removed by SHAKE bonds and angles are accounted -for in temperature and pressure computations. Similarly, the SHAKE -contribution to the pressure of the system (virial) is also accounted -for. - -NOTE: This command works by using the current forces on atoms to -calculate an additional constraint force which when added will leave -the atoms in positions that satisfy the SHAKE constraints (e.g. bond -length) after the next time integration step. If you define fixes -(e.g. "fix efield"_fix_efield.html) that add additional force to the -atoms after fix shake operates, then this fix will not take them into -account and the time integration will typically not satisfy the SHAKE -constraints. The solution for this is to make sure that fix shake is -defined in your input script after any other fixes which add or change -forces (to atoms that fix shake operates on). - -:line - -The {mol} keyword should be used when other commands, such as "fix -deposit"_fix_deposit.html or "fix pour"_fix_pour.html, add molecules -on-the-fly during a simulation, and you wish to constrain the new -molecules via SHAKE. You specify a {template-ID} previously defined -using the "molecule"_molecule.html command, which reads a file that -defines the molecule. You must use the same {template-ID} that the -command adding molecules uses. The coordinates, atom types, special -bond restrictions, and SHAKE info can be specified in the molecule -file. See the "molecule"_molecule.html command for details. The only -settings required to be in this file (by this command) are the SHAKE -info of atoms in the molecule. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[RATTLE:] - -The velocity constraints lead to a linear system of equations which -can be solved analytically. The implementation of the algorithm in -LAMMPS closely follows ("Andersen (1983)"_#Andersen3). - -NOTE: The fix rattle command modifies forces and velocities and thus -should be defined after all other integration fixes in your input -script. If you define other fixes that modify velocities or forces -after fix rattle operates, then fix rattle will not take them into -account and the overall time integration will typically not satisfy -the RATTLE constraints. You can check whether the constraints work -correctly by setting the value of RATTLE_DEBUG in src/fix_rattle.cpp -to 1 and recompiling LAMMPS. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -The "fix_modify"_fix_modify.html {virial} option is supported by this -fix to add the contribution due to keeping the constraints to the -system's virial as part of "thermodynamic output"_thermo_style.html. -The default is {virial yes} - -No information about these fixes is written to "binary restart -files"_restart.html. None of the "fix_modify"_fix_modify.html options -are relevant to these fixes. No global or per-atom quantities are -stored by these fixes for access by various "output -commands"_Howto_output.html. No parameter of these fixes can be used -with the {start/stop} keywords of the "run"_run.html command. These -fixes are not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -These fixes are part of the RIGID package. They are only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -For computational efficiency, there can only be one shake or rattle -fix defined in a simulation. - -If you use a tolerance that is too large or a max-iteration count that -is too small, the constraints will not be enforced very strongly, -which can lead to poor energy conservation. You can test for this in -your system by running a constant NVE simulation with a particular set -of SHAKE parameters and monitoring the energy versus time. - -SHAKE or RATTLE should not be used to constrain an angle at 180 -degrees (e.g. linear CO2 molecule). This causes numeric difficulties. -You can use "fix rigid or fix rigid/small"_fix_rigid.html instead to -make a linear molecule rigid. - -[Related commands:] none - -[Default:] none - -:line - -:link(Ryckaert) -[(Ryckaert)] J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen, -J of Comp Phys, 23, 327-341 (1977). - -:link(Andersen3) -[(Andersen)] H. Andersen, J of Comp Phys, 52, 24-34 (1983). diff --git a/doc/txt/fix_shardlow.txt b/doc/txt/fix_shardlow.txt deleted file mode 100644 index c1be146fa6f7ed71dd7114b46f5f77d954f5b5e0..0000000000000000000000000000000000000000 --- a/doc/txt/fix_shardlow.txt +++ /dev/null @@ -1,119 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix shardlow command :h3 -fix shardlow/kk command :h3 - -[Syntax:] - -fix ID group-ID shardlow :pre - -ID, group-ID are documented in "fix"_fix.html command -shardlow = style name of this fix command :ul - -[Examples:] - -fix 1 all shardlow :pre - -[Description:] - -Specifies that the Shardlow splitting algorithm (SSA) is to be used to -integrate the DPD equations of motion. The SSA splits the integration -into a stochastic and deterministic integration step. The fix -{shardlow} performs the stochastic integration step and must be used -in conjunction with a deterministic integrator (e.g. "fix -nve"_fix_nve.html or "fix nph"_fix_nh.html). The stochastic -integration of the dissipative and random forces is performed prior to -the deterministic integration of the conservative force. Further -details regarding the method are provided in "(Lisal)"_#Lisal and -"(Larentzos1)"_#Larentzos1sh. - -The fix {shardlow} must be used with the "pair_style -dpd/fdt"_pair_style.html or "pair_style -dpd/fdt/energy"_pair_style.html command to properly initialize the -fluctuation-dissipation theorem parameter(s) sigma (and kappa, if -necessary). - -Note that numerous variants of DPD can be specified by choosing an -appropriate combination of the integrator and "pair_style -dpd/fdt"_pair_style.html command. DPD under isothermal conditions can -be specified by using fix {shardlow}, fix {nve} and pair_style -{dpd/fdt}. DPD under isoenergetic conditions can be specified by -using fix {shardlow}, fix {nve} and pair_style {dpd/fdt/energy}. DPD -under isobaric conditions can be specified by using fix shardlow, fix -{nph} and pair_style {dpd/fdt}. DPD under isoenthalpic conditions can -be specified by using fix shardlow, fix {nph} and pair_style -{dpd/fdt/energy}. Examples of each DPD variant are provided in the -examples/USER/dpd directory. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix is currently limited to orthogonal simulation cell -geometries. - -This fix must be used with an additional fix that specifies time -integration, e.g. "fix nve"_fix_nve.html or "fix nph"_fix_nh.html. - -The Shardlow splitting algorithm requires the sizes of the sub-domain -lengths to be larger than twice the cutoff+skin. Generally, the -domain decomposition is dependent on the number of processors -requested. - -[Related commands:] - -"pair_style dpd/fdt"_pair_dpd_fdt.html, "fix eos/cv"_fix_eos_cv.html - -[Default:] none - -:line - -:link(Lisal) -[(Lisal)] M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative -particle dynamics as isothermal, isobaric, isoenergetic, and -isoenthalpic conditions using Shardlow-like splitting algorithms.", -J. Chem. Phys., 135, 204105 (2011). - -:link(Larentzos1sh) -[(Larentzos1)] J.P. Larentzos, J.K. Brennan, J.D. Moore, M. Lisal and -W.D. Mattson, "Parallel Implementation of Isothermal and Isoenergetic -Dissipative Particle Dynamics Using Shardlow-Like Splitting -Algorithms", Comput. Phys. Commun., 185, 1987-1998 (2014). - -:link(Larentzos2sh) -[(Larentzos2)] J.P. Larentzos, J.K. Brennan, J.D. Moore, and -W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative -Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research -Laboratory, Aberdeen Proving Ground, MD (2014). diff --git a/doc/txt/fix_smd.txt b/doc/txt/fix_smd.txt deleted file mode 100644 index 907df7ab1f50d4d1ad1aab386a7a093381881a45..0000000000000000000000000000000000000000 --- a/doc/txt/fix_smd.txt +++ /dev/null @@ -1,157 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix smd command :h3 - -[Syntax:] - -fix ID group-ID smd type values keyword values :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -smd = style name of this fix command :l -mode = {cvel} or {cfor} to select constant velocity or constant force SMD :l - {cvel} values = K vel - K = spring constant (force/distance units) - vel = velocity of pulling (distance/time units) - {cfor} values = force - force = pulling force (force units) :pre -keyword = {tether} or {couple} :l - {tether} values = x y z R0 - x,y,z = point to which spring is tethered - R0 = distance of end of spring from tether point (distance units) - {couple} values = group-ID2 x y z R0 - group-ID2 = 2nd group to couple to fix group with a spring - x,y,z = direction of spring, automatically computed with 'auto' - R0 = distance of end of spring (distance units) :pre -:ule - -[Examples:] - -fix pull cterm smd cvel 20.0 -0.00005 tether NULL NULL 100.0 0.0 -fix pull cterm smd cvel 20.0 -0.0001 tether 25.0 25 25.0 0.0 -fix stretch cterm smd cvel 20.0 0.0001 couple nterm auto auto auto 0.0 -fix pull cterm smd cfor 5.0 tether 25.0 25.0 25.0 0.0 :pre - -[Description:] - -This fix implements several options of steered MD (SMD) as reviewed in -"(Izrailev)"_#Izrailev, which allows to induce conformational changes -in systems and to compute the potential of mean force (PMF) along the -assumed reaction coordinate "(Park)"_#Park based on Jarzynski's -equality "(Jarzynski)"_#Jarzynski. This fix borrows a lot from "fix -spring"_fix_spring.html and "fix setforce"_fix_setforce.html. - -You can apply a moving spring force to a group of atoms ({tether} -style) or between two groups of atoms ({couple} style). The spring -can then be used in either constant velocity ({cvel}) mode or in -constant force ({cfor}) mode to induce transitions in your systems. -When running in {tether} style, you may need some way to fix some -other part of the system (e.g. via "fix -spring/self"_fix_spring_self.html) - -The {tether} style attaches a spring between a point at a distance of -R0 away from a fixed point {x,y,z} and the center of mass of the fix -group of atoms. A restoring force of magnitude K (R - R0) Mi / M is -applied to each atom in the group where {K} is the spring constant, Mi -is the mass of the atom, and M is the total mass of all atoms in the -group. Note that {K} thus represents the total force on the group of -atoms, not a per-atom force. - -In {cvel} mode the distance R is incremented or decremented -monotonously according to the pulling (or pushing) velocity. -In {cfor} mode a constant force is added and the actual distance -in direction of the spring is recorded. - -The {couple} style links two groups of atoms together. The first -group is the fix group; the second is specified by group-ID2. The -groups are coupled together by a spring that is at equilibrium when -the two groups are displaced by a vector in direction {x,y,z} with -respect to each other and at a distance R0 from that displacement. -Note that {x,y,z} only provides a direction and will be internally -normalized. But since it represents the {absolute} displacement of -group-ID2 relative to the fix group, (1,1,0) is a different spring -than (-1,-1,0). For each vector component, the displacement can be -described with the {auto} parameter. In this case the direction is -re-computed in every step, which can be useful for steering a local -process where the whole object undergoes some other change. When the -relative positions and distance between the two groups are not in -equilibrium, the same spring force described above is applied to atoms -in each of the two groups. - -For both the {tether} and {couple} styles, any of the x,y,z values can -be specified as NULL which means do not include that dimension in the -distance calculation or force application. - -For constant velocity pulling ({cvel} mode), the running integral -over the pulling force in direction of the spring is recorded and -can then later be used to compute the potential of mean force (PMF) -by averaging over multiple independent trajectories along the same -pulling path. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -The fix stores the direction of the spring, current pulling target -distance and the running PMF to "binary restart files"_restart.html. -See the "read_restart"_read_restart.html command for info on how to -re-specify a fix in an input script that reads a restart file, so that -the operation of the fix continues in an uninterrupted fashion. - -The "fix_modify"_fix_modify.html {virial} option is supported by this -fix to add the contribution due to the added forces on atoms to the -system's virial as part of "thermodynamic output"_thermo_style.html. -The default is {virial no} - -The "fix_modify"_fix_modify.html {respa} option is supported by -this fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a vector list of 7 quantities, which can be accessed -by various "output commands"_Howto_output.html. The quantities in the -vector are in this order: the x-, y-, and z-component of the pulling -force, the total force in direction of the pull, the equilibrium -distance of the spring, the distance between the two reference points, -and finally the accumulated PMF (the sum of pulling forces times -displacement). - -The force is the total force on the group of atoms by the spring. In -the case of the {couple} style, it is the force on the fix group -(group-ID) or the negative of the force on the 2nd group (group-ID2). -The vector values calculated by this fix are "extensive". - -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 fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix drag"_fix_drag.html, "fix spring"_fix_spring.html, -"fix spring/self"_fix_spring_self.html, -"fix spring/rg"_fix_spring_rg.html, -"fix colvars"_fix_colvars.html, "fix plumed"_fix_plumed.html - -[Default:] none - -:line - -:link(Izrailev) -[(Izrailev)] Izrailev, Stepaniants, Isralewitz, Kosztin, Lu, Molnar, -Wriggers, Schulten. Computational Molecular Dynamics: Challenges, -Methods, Ideas, volume 4 of Lecture Notes in Computational Science and -Engineering, pp. 39-65. Springer-Verlag, Berlin, 1998. - -:link(Park) -[(Park)] Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004) - -:link(Jarzynski) -[(Jarzynski)] Jarzynski, Phys. Rev. Lett. 78, 2690 (1997) diff --git a/doc/txt/fix_smd_adjust_dt.txt b/doc/txt/fix_smd_adjust_dt.txt deleted file mode 100644 index 3535ddfcc22edee05efdaf4d2c6ab932d683ef5d..0000000000000000000000000000000000000000 --- a/doc/txt/fix_smd_adjust_dt.txt +++ /dev/null @@ -1,60 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix smd/adjust_dt command :h3 - -[Syntax:] - -fix ID group-ID smd/adjust_dt arg :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -smd/adjust_dt = style name of this fix command :l -arg = {s_fact} :l - {s_fact} = safety factor :pre - -:ule - -[Examples:] - -fix 1 all smd/adjust_dt 0.1 :pre - -[Description:] - -The fix calculates a new stable time increment for use with the SMD -time integrators. - -The stable time increment is based on multiple conditions. For the SPH -pair styles, a CFL criterion (Courant, Friedrichs & Lewy, 1928) is -evaluated, which determines the speed of sound cannot propagate -further than a typical spacing between particles within a single time -step to ensure no information is lost. For the contact pair styles, a -linear analysis of the pair potential determines a stable maximum time -step. - -This fix inquires the minimum stable time increment across all -particles contained in the group for which this fix is defined. An -additional safety factor {s_fact} is applied to the time increment. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth Mach -Dynamics in LAMMPS. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Currently, no part of USER-SMD supports restarting nor minimization. - -[Restrictions:] - -This fix is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"smd/tlsph_dt"_compute_smd_tlsph_dt.html - -[Default:] none diff --git a/doc/txt/fix_smd_integrate_tlsph.txt b/doc/txt/fix_smd_integrate_tlsph.txt deleted file mode 100644 index 029605ff7f7b5143e1ad99d5f6161fd4718a0764..0000000000000000000000000000000000000000 --- a/doc/txt/fix_smd_integrate_tlsph.txt +++ /dev/null @@ -1,55 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix smd/integrate_tlsph command :h3 - -[Syntax:] - -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 -keyword = {limit_velocity} :ul - - {limit_velocity} value = max_vel - max_vel = maximum allowed velocity :pre - -[Examples:] - -fix 1 all smd/integrate_tlsph -fix 1 all smd/integrate_tlsph limit_velocity 1000 :pre - -[Description:] - -The fix performs explicit time integration for particles which -interact according with the Total-Lagrangian SPH pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth Mach -Dynamics in LAMMPS. - -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. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Currently, no part of USER-SMD supports restarting nor -minimization. This fix has no outputs. - -[Restrictions:] - -This fix is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"smd/integrate_ulsph"_fix_smd_integrate_ulsph.html - -[Default:] none diff --git a/doc/txt/fix_smd_integrate_ulsph.txt b/doc/txt/fix_smd_integrate_ulsph.txt deleted file mode 100644 index a99574cc85d75427a5507cc90d3c69e8aece085e..0000000000000000000000000000000000000000 --- a/doc/txt/fix_smd_integrate_ulsph.txt +++ /dev/null @@ -1,63 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix smd/integrate_ulsph command :h3 - -[Syntax:] - -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 -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 - min_nn = minimum number of neighbors - max_nn = maximum number of neighbors -limit_velocity values = max_velocity - max_velocity = maximum allowed velocity. - -[Examples:] - -fix 1 all smd/integrate_ulsph adjust_radius 1.02 25 50 -fix 1 all smd/integrate_ulsph limit_velocity 1000 :pre - -[Description:] - -The fix performs explicit time integration for particles which -interact with the updated Lagrangian SPH pair style. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth Mach -Dynamics in LAMMPS. - -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. - -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. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Currently, no part of USER-SMD supports restarting nor -minimization. This fix has no outputs. - -[Restrictions:] - -This fix is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/fix_smd_move_triangulated_surface.txt b/doc/txt/fix_smd_move_triangulated_surface.txt deleted file mode 100644 index fca21b78f7e6a65fd5455191f3e53fefd9146346..0000000000000000000000000000000000000000 --- a/doc/txt/fix_smd_move_triangulated_surface.txt +++ /dev/null @@ -1,79 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix smd/move_tri_surf command :h3 - -[Syntax:] - -fix ID group-ID smd/move_tri_surf keyword :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -smd/move_tri_surf keyword = style name of this fix command :l -keyword = {*LINEAR} or {*WIGGLE} or {*ROTATE} :l - - {*LINEAR} args = Vx Vy Vz - Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL - {*WIGGLE} args = Vx Vy Vz max_travel - vx,vy,vz = components of velocity vector (velocity units), any component can be specified as NULL - max_travel = wiggle amplitude - {*ROTATE} args = Px Py Pz Rx Ry Rz period - Px,Py,Pz = origin point of axis of rotation (distance units) - Rx,Ry,Rz = axis of rotation vector - period = period of rotation (time units) :pre -:ule - -[Examples:] - -fix 1 tool smd/move_tri_surf *LINEAR 20 20 10 -fix 2 tool smd/move_tri_surf *WIGGLE 20 20 10 -fix 2 tool smd/move_tri_surf *ROTATE 0 0 0 5 2 1 :pre - -[Description:] - -This fix applies only to rigid surfaces read from .STL files via fix -"smd/wall_surface"_fix_smd_wall_surface.html . It updates position -and velocity for the particles in the group each timestep without -regard to forces on the particles. The rigid surfaces can thus be -moved along simple trajectories during the simulation. - -The {*LINEAR} style moves particles with the specified constant velocity -vector V = (Vx,Vy,Vz). This style also sets the velocity of each particle -to V = (Vx,Vy,Vz). - -The {*WIGGLE} style moves particles in an oscillatory fashion. -Particles are moved along (vx, vy, vz) with constant velocity until a -displacement of max_travel is reached. Then, the velocity vector is -reversed. This process is repeated. - -The {*ROTATE} style rotates particles around a rotation axis R = -(Rx,Ry,Rz) that goes through a point P = (Px,Py,Pz). The period of the -rotation is also specified. This style also sets the velocity of each -particle to (omega cross Rperp) where omega is its angular velocity -around the rotation axis and Rperp is a perpendicular vector from the -rotation axis to the particle. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to using Smooth Mach -Dynamics in LAMMPS. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Currently, no part of USER-SMD supports restarting nor -minimization. This fix has no outputs. - -[Restrictions:] - -This fix is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"smd/triangle_mesh_vertices"_compute_smd_triangle_vertices.html, -"smd/wall_surface"_fix_smd_wall_surface.html - -[Default:] none diff --git a/doc/txt/fix_smd_setvel.txt b/doc/txt/fix_smd_setvel.txt deleted file mode 100644 index b170eff8608c4465c77d02a4ff5a0d726c8e110b..0000000000000000000000000000000000000000 --- a/doc/txt/fix_smd_setvel.txt +++ /dev/null @@ -1,84 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix smd/setvel command :h3 - -[Syntax:] - -fix ID group-ID smd/setvel vx vy vz keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -smd/setvel = style name of this fix command :l -vx,vy,vz = velocity component values :l -any of vx,vy,vz can be a variable (see below) :l -zero or more keyword/value pairs may be appended to args :l -keyword = {region} :l - {region} value = region-ID - region-ID = ID of region particles must be in to have their velocities set :pre -:ule - -[Examples:] - -fix top_velocity top_group setvel 1.0 0.0 0.0 :pre - -[Description:] - -Set each component of velocity on each particle in the group to the specified -values vx,vy,vz, regardless of the forces acting on the particle. This command can -be used to impose velocity boundary conditions. - -Any of the vx,vy,vz values can be specified as NULL which means do not -alter the velocity component in that dimension. - -This fix is indented to be used together with a time integration fix. - -Any of the 3 quantities defining the velocity components can be specified -as an equal-style or atom-style "variable"_variable.html, namely {vx}, -{vy}, {vz}. If the value is a variable, it should be specified as -v_name, where name is the variable name. In this case, the variable -will be evaluated each timestep, and its value used to determine the -force component. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent velocity field. - -Atom-style variables can specify the same formulas as equal-style -variables but can also include per-atom values, such as atom -coordinates. Thus it is easy to specify a spatially-dependent velocity -field with optional time-dependence as well. - -If the {region} keyword is used, the particle must also be in the -specified geometric "region"_region.html in order to have its velocity set by this command. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Currently, no part of USER-SMD supports restarting nor minimization -None of the "fix_modify"_fix_modify.html options -are relevant to this fix. - -This fix computes a global 3-vector of forces, which can be accessed -by various "output commands"_Howto_output.html. This is the total -force on the group of atoms. The vector values calculated by this fix -are "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -[Restrictions:] - -This fix is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/fix_smd_wall_surface.txt b/doc/txt/fix_smd_wall_surface.txt deleted file mode 100644 index 47527363a2cb93a0c25d243ebbc8af30ed197608..0000000000000000000000000000000000000000 --- a/doc/txt/fix_smd_wall_surface.txt +++ /dev/null @@ -1,71 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix smd/wall_surface command :h3 - -[Syntax:] - -fix ID group-ID smd/wall_surface arg type mol-ID :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -smd/wall_surface = style name of this fix command :l -arg = {file} :l - {file} = file name of a triangular mesh in stl format :pre -type = particle type to be given to the new particles created by this fix :l -mol-ID = molecule-ID to be given to the new particles created by this fix (must be >= 65535) :l,ule - -[Examples:] - -fix stl_surf all smd/wall_surface tool.stl 2 65535 :pre - -[Description:] - -This fix creates reads a triangulated surface from a file in .STL -format. For each triangle, a new particle is created which stores the -barycenter of the triangle and the vertex positions. The radius of -the new particle is that of the minimum circle which encompasses the -triangle vertices. - -The triangulated surface can be used as a complex rigid wall via the -"smd/tri_surface"_pair_smd_triangulated_surface.html pair style. It -is possible to move the triangulated surface via the -"smd/move_tri_surf"_fix_smd_move_triangulated_surface.html fix style. - -Immediately after a .STL file has been read, the simulation needs to -be run for 0 timesteps in order to properly register the new particles -in the system. See the "funnel_flow" example in the USER-SMD examples -directory. - -See "this PDF guide"_PDF/SMD_LAMMPS_userguide.pdf to use Smooth Mach -Dynamics in LAMMPS. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Currently, no part of USER-SMD supports restarting nor -minimization. This fix has no outputs. - -[Restrictions:] - -This fix is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -The molecule ID given to the particles created by this fix have to be -equal to or larger than 65535. - -Within each .STL file, only a single triangulated object must be -present, even though the STL format allows for the possibility of -multiple objects in one file. - -[Related commands:] - -"smd/triangle_mesh_vertices"_compute_smd_triangle_vertices.html, -"smd/move_tri_surf"_fix_smd_move_triangulated_surface.html, -"smd/tri_surface"_pair_smd_triangulated_surface.html - -[Default:] none diff --git a/doc/txt/fix_spring.txt b/doc/txt/fix_spring.txt deleted file mode 100644 index 690fc3e67c381a9cddd7469e22d9a925f75e4c14..0000000000000000000000000000000000000000 --- a/doc/txt/fix_spring.txt +++ /dev/null @@ -1,142 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix spring command :h3 - -[Syntax:] - -fix ID group-ID spring keyword values :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -spring = style name of this fix command :l -keyword = {tether} or {couple} :l - {tether} values = K x y z R0 - K = spring constant (force/distance units) - x,y,z = point to which spring is tethered - R0 = equilibrium distance from tether point (distance units) - {couple} values = group-ID2 K x y z R0 - group-ID2 = 2nd group to couple to fix group with a spring - K = spring constant (force/distance units) - x,y,z = direction of spring - R0 = equilibrium distance of spring (distance units) :pre -:ule - -[Examples:] - -fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0 -fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0 -fix pull ligand spring tether 50.0 NULL NULL 2.0 3.0 -fix 5 bilayer1 spring couple bilayer2 100.0 NULL NULL 10.0 0.0 -fix longitudinal pore spring couple ion 100.0 NULL NULL -20.0 0.0 -fix radial pore spring couple ion 100.0 0.0 0.0 NULL 5.0 :pre - -[Description:] - -Apply a spring force to a group of atoms or between two groups of -atoms. This is useful for applying an umbrella force to a small -molecule or lightly tethering a large group of atoms (e.g. all the -solvent or a large molecule) to the center of the simulation box so -that it doesn't wander away over the course of a long simulation. It -can also be used to hold the centers of mass of two groups of atoms at -a given distance or orientation with respect to each other. - -The {tether} style attaches a spring between a fixed point {x,y,z} and -the center of mass of the fix group of atoms. The equilibrium -position of the spring is R0. At each timestep the distance R from -the center of mass of the group of atoms to the tethering point is -computed, taking account of wrap-around in a periodic simulation box. -A restoring force of magnitude K (R - R0) Mi / M is applied to each -atom in the group where {K} is the spring constant, Mi is the mass of -the atom, and M is the total mass of all atoms in the group. Note -that {K} thus represents the spring constant for the total force on -the group of atoms, not for a spring applied to each atom. - -The {couple} style links two groups of atoms together. The first -group is the fix group; the second is specified by group-ID2. The -groups are coupled together by a spring that is at equilibrium when -the two groups are displaced by a vector {x,y,z} with respect to each -other and at a distance R0 from that displacement. Note that {x,y,z} -is the equilibrium displacement of group-ID2 relative to the fix -group. Thus (1,1,0) is a different spring than (-1,-1,0). When the -relative positions and distance between the two groups are not in -equilibrium, the same spring force described above is applied to atoms -in each of the two groups. - -For both the {tether} and {couple} styles, any of the x,y,z values can -be specified as NULL which means do not include that dimension in the -distance calculation or force application. - -The first example above pulls the ligand towards the point (0,0,0). -The second example holds the ligand near the surface of a sphere of -radius 5 around the point (0,0,0). The third example holds the ligand -a distance 3 away from the z=2 plane (on either side). - -The fourth example holds 2 bilayers a distance 10 apart in z. For the -last two examples, imagine a pore (a slab of atoms with a cylindrical -hole cut out) oriented with the pore axis along z, and an ion moving -within the pore. The fifth example holds the ion a distance of -20 -below the z = 0 center plane of the pore (umbrella sampling). The -last example holds the ion a distance 5 away from the pore axis -(assuming the center-of-mass of the pore in x,y is the pore axis). - -NOTE: The center of mass of a group of atoms is calculated in -"unwrapped" coordinates using atom image flags, which means that the -group can straddle a periodic boundary. See the "dump"_dump.html doc -page for a discussion of unwrapped coordinates. It also means that a -spring connecting two groups or a group and the tether point can cross -a periodic boundary and its length be calculated correctly. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy stored in the spring to the system's potential -energy as part of "thermodynamic output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the spring energy -= 0.5 * K * r^2. - -This fix also computes global 4-vector which can be accessed by -various "output commands"_Howto_output.html. The first 3 quantities -in the vector are xyz components of the total force added to the group -of atoms by the spring. In the case of the {couple} style, it is the -force on the fix group (group-ID) or the negative of the force on the -2nd group (group-ID2). The 4th quantity in the vector is the -magnitude of the force added by the spring, as a positive value if -(r-R0) > 0 and a negative value if (r-R0) < 0. This sign convention -can be useful when using the spring force to compute a potential of -mean force (PMF). - -The scalar and vector values calculated by this fix are "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -NOTE: If you want the spring energy to be included in the total -potential energy of the system (the quantity being minimized), you -MUST enable the "fix_modify"_fix_modify.html {energy} option for this -fix. - -[Restrictions:] none - -[Related commands:] - -"fix drag"_fix_drag.html, "fix spring/self"_fix_spring_self.html, -"fix spring/rg"_fix_spring_rg.html, "fix smd"_fix_smd.html - -[Default:] none diff --git a/doc/txt/fix_spring_chunk.txt b/doc/txt/fix_spring_chunk.txt deleted file mode 100644 index 9d4e8afd090e3a0ea9bc12af04cf1db4b53b6945..0000000000000000000000000000000000000000 --- a/doc/txt/fix_spring_chunk.txt +++ /dev/null @@ -1,86 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix spring/chunk command :h3 - -[Syntax:] - -fix ID group-ID spring/chunk K chunkID comID :pre - -ID, group-ID are documented in "fix"_fix.html command -spring/chunk = style name of this fix command -K = spring constant for each chunk (force/distance units) -chunkID = ID of "compute chunk/atom"_compute_chunk_atom.html command -comID = ID of "compute com/chunk"_compute_com_chunk.html command :ul - -[Examples:] - -fix restrain all spring/chunk 100 chunkID comID :pre - -[Description:] - -Apply a spring force to the center-of-mass (COM) of chunks of atoms as -defined by the "compute chunk/atom"_compute_chunk_atom.html command. -Chunks can be molecules or spatial bins or other groupings of atoms. -This is a way of tethering each chunk to its initial COM coordinates. - -The {chunkID} is the ID of a compute chunk/atom command defined in the -input script. It is used to define the chunks. The {comID} is the ID -of a compute com/chunk command defined in the input script. It is -used to compute the COMs of each chunk. - -At the beginning of the first "run"_run.html or -"minimize"_minimize.html command after this fix is defined, the -initial COM of each chunk is calculated and stored as R0m, where M is -the chunk number. Thereafter, at every timestep (or minimization -iteration), the current COM of each chunk is calculated as Rm. A -restoring force of magnitude K (Rm - R0m) Mi / Mm is applied to each -atom in each chunk where {K} is the specified spring constant, Mi is -the mass of the atom, and Mm is the total mass of all atoms in the -chunk. Note that {K} thus represents the spring constant for the -total force on each chunk of atoms, not for a spring applied to each -atom. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy stored in all the springs to the system's potential -energy as part of "thermodynamic output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the energy of all -the springs, i.e. 0.5 * K * r^2 per-spring. - -The scalar value calculated by this fix is "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -NOTE: If you want the spring energies to be included in the total -potential energy of the system (the quantity being minimized), you -MUST enable the "fix_modify"_fix_modify.html {energy} option for this -fix. - -[Restrictions:] none - -[Related commands:] - -"fix spring"_fix_spring.html, "fix spring/self"_fix_spring_self.html, -"fix spring/rg"_fix_spring_rg.html - -[Default:] none diff --git a/doc/txt/fix_spring_rg.txt b/doc/txt/fix_spring_rg.txt deleted file mode 100644 index b252163958fe5b983faeb2fc25e976bcf602f211..0000000000000000000000000000000000000000 --- a/doc/txt/fix_spring_rg.txt +++ /dev/null @@ -1,70 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix spring/rg command :h3 - -[Syntax:] - -fix ID group-ID spring/rg K RG0 :pre - -ID, group-ID are documented in "fix"_fix.html command -spring/rg = style name of this fix command -K = harmonic force constant (force/distance units) -RG0 = target radius of gyration to constrain to (distance units) :ul - if RG0 = NULL, use the current RG as the target value :pre - -[Examples:] - -fix 1 protein spring/rg 5.0 10.0 -fix 2 micelle spring/rg 5.0 NULL :pre - -[Description:] - -Apply a harmonic restraining force to atoms in the group to affect -their central moment about the center of mass (radius of gyration). -This fix is useful to encourage a protein or polymer to fold/unfold -and also when sampling along the radius of gyration as a reaction -coordinate (i.e. for protein folding). - -The radius of gyration is defined as RG in the first formula. The -energy of the constraint and associated force on each atom is given by -the second and third formulas, when the group is at a different RG -than the target value RG0. - -:c,image(Eqs/fix_spring_rg.jpg) - -The (xi - center-of-mass) term is computed taking into account -periodic boundary conditions, m_i is the mass of the atom, and M is -the mass of the entire group. Note that K is thus a force constant -for the aggregate force on the group of atoms, not a per-atom force. - -If RG0 is specified as NULL, then the RG of the group is computed at -the time the fix is specified, and that value is used as the target. - -[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"_Howto_output.html. -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. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -[Restrictions:] none - -[Related commands:] - -"fix spring"_fix_spring.html, "fix spring/self"_fix_spring_self.html -"fix drag"_fix_drag.html, "fix smd"_fix_smd.html - -[Default:] none diff --git a/doc/txt/fix_spring_self.txt b/doc/txt/fix_spring_self.txt deleted file mode 100644 index 0ac1d5eecb627a363b900d5af01ebef318e200b0..0000000000000000000000000000000000000000 --- a/doc/txt/fix_spring_self.txt +++ /dev/null @@ -1,83 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix spring/self command :h3 - -[Syntax:] - -fix ID group-ID spring/self K dir :pre - -ID, group-ID are documented in "fix"_fix.html command -spring/self = style name of this fix command -K = spring constant (force/distance units) -dir = xyz, xy, xz, yz, x, y, or z (optional, default: xyz) :ul - -[Examples:] - -fix tether boundary-atoms spring/self 10.0 -fix zrest move spring/self 10.0 z :pre - -[Description:] - -Apply a spring force independently to each atom in the group to tether -it to its initial position. The initial position for each atom is its -location at the time the fix command was issued. At each timestep, -the magnitude of the force on each atom is -Kr, where r is the -displacement of the atom from its current position to its initial -position. The distance r correctly takes into account any crossings -of periodic boundary by the atom since it was in its initial -position. - -With the (optional) dir flag, one can select in which direction the -spring force is applied. By default, the restraint is applied in all -directions, but it can be limited to the xy-, xz-, yz-plane and the -x-, y-, or z-direction, thus restraining the atoms to a line or a -plane, respectively. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the original coordinates of tethered atoms to "binary -restart files"_restart.html, so that the spring effect will be the -same in a restarted simulation. See the -"read_restart"_read_restart.html command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy stored in the per-atom springs to the system's -potential energy as part of "thermodynamic output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {respa} option is supported by -this fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is an energy which is -the sum of the spring energy for each atom, where the per-atom energy -is 0.5 * K * r^2. The scalar value calculated by this fix is -"extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -NOTE: If you want the per-atom spring energy to be included in the -total potential energy of the system (the quantity being minimized), -you MUST enable the "fix_modify"_fix_modify.html {energy} option for -this fix. - -[Restrictions:] none - -[Related commands:] - -"fix drag"_fix_drag.html, "fix spring"_fix_spring.html, -"fix smd"_fix_smd.html, "fix spring/rg"_fix_spring_rg.html - -[Default:] none diff --git a/doc/txt/fix_srd.txt b/doc/txt/fix_srd.txt deleted file mode 100644 index 018813c361a24dc7a2ac97c5d9119e7f3ca47ba0..0000000000000000000000000000000000000000 --- a/doc/txt/fix_srd.txt +++ /dev/null @@ -1,398 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix srd command :h3 - -[Syntax:] - -fix ID group-ID srd N groupbig-ID Tsrd hgrid seed keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command -srd = style name of this fix command -N = reset SRD particle velocities every this many timesteps -groupbig-ID = ID of group of large particles that SRDs interact with -Tsrd = temperature of SRD particles (temperature units) -hgrid = grid spacing for SRD grouping (distance units) -seed = random # seed (positive integer) :ul - -zero or more keyword/value pairs may be appended :ulb,l -keyword = {lamda} or {collision} or {overlap} or {inside} or {exact} or {radius} or {bounce} or {search} or {cubic} or {shift} or {tstat} or {rescale} :l - {lamda} value = mean free path of SRD particles (distance units) - {collision} value = {noslip} or {slip} = collision model - {overlap} value = {yes} or {no} = whether big particles may overlap - {inside} value = {error} or {warn} or {ignore} = how SRD particles which end up inside a big particle are treated - {exact} value = {yes} or {no} - {radius} value = rfactor = scale collision radius by this factor - {bounce} value = Nbounce = max # of collisions an SRD particle can undergo in one timestep - {search} value = sgrid = grid spacing for collision partner searching (distance units) - {cubic} values = style tolerance - style = {error} or {warn} - tolerance = fractional difference allowed (0 <= tol <= 1) - {shift} values = flag shiftseed - flag = {yes} or {no} or {possible} = SRD bin shifting for better statistics - {yes} = perform bin shifting each time SRD velocities are rescaled - {no} = no shifting - {possible} = shift depending on mean free path and bin size - shiftseed = random # seed (positive integer) - {tstat} value = {yes} or {no} = thermostat SRD particles or not - {rescale} value = {yes} or {no} or {rotate} or {collide} = rescaling of SRD velocities - {yes} = rescale during velocity rotation and collisions - {no} = no rescaling - {rotate} = rescale during velocity rotation, but not collisions - {collide} = rescale during collisions, but not velocity rotation :pre -:ule - -[Examples:] - -fix 1 srd srd 10 big 1.0 0.25 482984 -fix 1 srd srd 10 big 0.5 0.25 482984 collision slip search 0.5 :pre - -[Description:] - -Treat a group of particles as stochastic rotation dynamics (SRD) -particles that serve as a background solvent when interacting with big -(colloidal) particles in groupbig-ID. The SRD formalism is described -in "(Hecht)"_#Hecht. The key idea behind using SRD particles as a -cheap coarse-grained solvent is that SRD particles do not interact -with each other, but only with the solute particles, which in LAMMPS -can be spheroids, ellipsoids, or line segments, or triangles, or rigid -bodies containing multiple spheroids or ellipsoids or line segments -or triangles. The collision and rotation properties of the model -imbue the SRD particles with fluid-like properties, including an -effective viscosity. Thus simulations with large solute particles can -be run more quickly, to measure solute properties like diffusivity -and viscosity in a background fluid. The usual LAMMPS fixes for such -simulations, such as "fix deform"_fix_deform.html, "fix -viscosity"_fix_viscosity.html, and "fix nvt/sllod"_fix_nvt_sllod.html, -can be used in conjunction with the SRD model. - -For more details on how the SRD model is implemented in LAMMPS, "this -paper"_#Petersen1 describes the implementation and usage of pure SRD -fluids. "This paper"_#Lechman, which is nearly complete, describes -the implementation and usage of mixture systems (solute particles in -an SRD fluid). See the examples/srd directory for sample input -scripts using SRD particles in both settings. - -This fix does 2 things: - -(1) It advects the SRD particles, performing collisions between SRD -and big particles or walls every timestep, imparting force and torque -to the big particles. Collisions also change the position and -velocity of SRD particles. - -(2) It resets the velocity distribution of SRD particles via random -rotations every N timesteps. - -SRD particles have a mass, temperature, characteristic timestep -dt_SRD, and mean free path between collisions (lamda). The -fundamental equation relating these 4 quantities is - -lamda = dt_SRD * sqrt(Kboltz * Tsrd / mass) :pre - -The mass of SRD particles is set by the "mass"_mass.html command -elsewhere in the input script. The SRD timestep dt_SRD is N times the -step dt defined by the "timestep"_timestep.html command. Big -particles move in the normal way via a time integration "fix"_fix.html -with a short timestep dt. SRD particles advect with a large timestep -dt_SRD >= dt. - -If the {lamda} keyword is not specified, the SRD temperature -{Tsrd} is used in the above formula to compute lamda. If the {lamda} -keyword is specified, then the {Tsrd} setting is ignored and the above -equation is used to compute the SRD temperature. - -The characteristic length scale for the SRD fluid is set by {hgrid} -which is used to bin SRD particles for purposes of resetting their -velocities. Normally hgrid is set to be 1/4 of the big particle -diameter or smaller, to adequately resolve fluid properties around the -big particles. - -Lamda cannot be smaller than 0.6 * hgrid, else an error is generated -(unless the {shift} keyword is used, see below). The velocities of -SRD particles are bounded by Vmax, which is set so that an SRD -particle will not advect further than Dmax = 4*lamda in dt_SRD. This -means that roughly speaking, Dmax should not be larger than a big -particle diameter, else SRDs may pass through big particles without -colliding. A warning is generated if this is the case. - -Collisions between SRD particles and big particles or walls are -modeled as a lightweight SRD point particle hitting a heavy big -particle of given diameter or a wall at a point on its surface and -bouncing off with a new velocity. The collision changes the momentum -of the SRD particle. It imparts a force and torque to the big -particle. It imparts a force to a wall. Static or moving SRD walls -are setup via the "fix wall/srd"_fix_wall_srd.html command. For the -remainder of this doc page, a collision of an SRD particle with a wall -can be viewed as a collision with a big particle of infinite radius -and mass. - -The {collision} keyword sets the style of collisions. The {slip} -style means that the tangential component of the SRD particle momentum -is preserved. Thus a force is imparted to a big particle, but no -torque. The normal component of the new SRD velocity is sampled from -a Gaussian distribution at temperature {Tsrd}. - -For the {noslip} style, both the normal and tangential components of -the new SRD velocity are sampled from a Gaussian distribution at -temperature {Tsrd}. Additionally, a new tangential direction for the -SRD velocity is chosen randomly. This collision style imparts torque -to a big particle. Thus a time integrator "fix"_fix.html that rotates -the big particles appropriately should be used. - -:line - -The {overlap} keyword should be set to {yes} if two (or more) big -particles can ever overlap. This depends on the pair potential -interaction used for big-big interactions, or could be the case if -multiple big particles are held together as rigid bodies via the "fix -rigid"_fix_rigid.html command. If the {overlap} keyword is {no} and -big particles do in fact overlap, then SRD/big collisions can generate -an error if an SRD ends up inside two (or more) big particles at once. -How this error is treated is determined by the {inside} keyword. -Running with {overlap} set to {no} allows for faster collision -checking, so it should only be set to {yes} if needed. - -The {inside} keyword determines how a collision is treated if the -computation determines that the timestep started with the SRD particle -already inside a big particle. If the setting is {error} then this -generates an error message and LAMMPS stops. If the setting is {warn} -then this generates a warning message and the code continues. If the -setting is {ignore} then no message is generated. One of the output -quantities logged by the fix (see below) tallies the number of such -events, so it can be monitored. Note that once an SRD particle is -inside a big particle, it may remain there for several steps until it -drifts outside the big particle. - -The {exact} keyword determines how accurately collisions are computed. -A setting of {yes} computes the time and position of each collision as -SRD and big particles move together. A setting of {no} estimates the -position of each collision based on the end-of-timestep positions of -the SRD and big particle. If {overlap} is set to yes, the setting of -the {exact} keyword is ignored since time-accurate collisions are -needed. - -The {radius} keyword scales the effective size of big particles. If -big particles will overlap as they undergo dynamics, then this keyword -can be used to scale down their effective collision radius by an -amount {rfactor}, so that SRD particle will only collide with one big -particle at a time. For example, in a Lennard-Jones system at a -temperature of 1.0 (in reduced LJ units), the minimum separation -between two big particles is as small as about 0.88 sigma. Thus an -{rfactor} value of 0.85 should prevent dual collisions. - -The {bounce} keyword can be used to limit the maximum number of -collisions an SRD particle undergoes in a single timestep as it -bounces between nearby big particles. Note that if the limit is -reached, the SRD can be left inside a big particle. A setting of 0 is -the same as no limit. - -:line - -There are 2 kinds of bins created and maintained when running an SRD -simulation. The first are "SRD bins" which are used to bin SRD -particles and reset their velocities, as discussed above. The second -are "search bins" which are used to identify SRD/big particle -collisions. - -The {search} keyword can be used to choose a search bin size for -identifying SRD/big particle collisions. The default is to use the -{hgrid} parameter for SRD bins as the search bin size. Choosing a -smaller or large value may be more efficient, depending on the -problem. But, in a statistical sense, it should not change the -simulation results. - -The {cubic} keyword can be used to generate an error or warning when -the bin size chosen by LAMMPS creates SRD bins that are non-cubic or -different than the requested value of {hgrid} by a specified -{tolerance}. Note that using non-cubic SRD bins can lead to -undetermined behavior when rotating the velocities of SRD particles, -hence LAMMPS tries to protect you from this problem. - -LAMMPS attempts to set the SRD bin size to exactly {hgrid}. However, -there must be an integer number of bins in each dimension of the -simulation box. Thus the actual bin size will depend on the size and -shape of the overall simulation box. The actual bin size is printed -as part of the SRD output when a simulation begins. - -If the actual bin size in non-cubic by an amount exceeding the -tolerance, an error or warning is printed, depending on the style of -the {cubic} keyword. Likewise, if the actual bin size differs from -the requested {hgrid} value by an amount exceeding the tolerance, then -an error or warning is printed. The {tolerance} is a fractional -difference. E.g. a tolerance setting of 0.01 on the shape means that -if the ratio of any 2 bin dimensions exceeds (1 +/- tolerance) then an -error or warning is generated. Similarly, if the ratio of any bin -dimension with {hgrid} exceeds (1 +/- tolerance), then an error or -warning is generated. - -NOTE: The fix srd command can be used with simulations the size and/or -shape of the simulation box changes. This can be due to non-periodic -boundary conditions or the use of fixes such as the "fix -deform"_fix_deform.html or "fix wall/srd"_fix_wall_srd.html commands -to impose a shear on an SRD fluid or an interaction with an external -wall. If the box size changes then the size of SRD bins must be -recalculated every reneighboring. This is not necessary if only the -box shape changes. This re-binning is always done so as to fit an -integer number of bins in the current box dimension, whether it be a -fixed, shrink-wrapped, or periodic boundary, as set by the -"boundary"_boundary.html command. If the box size or shape changes, -then the size of the search bins must be recalculated every -reneighboring. Note that changing the SRD bin size may alter the -properties of the SRD fluid, such as its viscosity. - -The {shift} keyword determines whether the coordinates of SRD -particles are randomly shifted when binned for purposes of rotating -their velocities. When no shifting is performed, SRD particles are -binned and the velocity distribution of the set of SRD particles in -each bin is adjusted via a rotation operator. This is a statistically -valid operation if SRD particles move sufficiently far between -successive rotations. This is determined by their mean-free path -lamda. If lamda is less than 0.6 of the SRD bin size, then shifting -is required. A shift means that all of the SRD particles are shifted -by a vector whose coordinates are chosen randomly in the range \[-1/2 -bin size, 1/2 bin size\]. Note that all particles are shifted by the -same vector. The specified random number {shiftseed} is used to -generate these vectors. This operation sufficiently randomizes which -SRD particles are in the same bin, even if lamda is small. - -If the {shift} flag is set to {no}, then no shifting is performed, but -bin data will be communicated if bins overlap processor boundaries. -An error will be generated if lamda < 0.6 of the SRD bin size. If the -{shift} flag is set to {possible}, then shifting is performed only if -lamda < 0.6 of the SRD bin size. A warning is generated to let you -know this is occurring. If the {shift} flag is set to {yes} then -shifting is performed regardless of the magnitude of lamda. Note that -the {shiftseed} is not used if the {shift} flag is set to {no}, but -must still be specified. - -Note that shifting of SRD coordinates requires extra communication, -hence it should not normally be enabled unless required. - -The {tstat} keyword will thermostat the SRD particles to the specified -{Tsrd}. This is done every N timesteps, during the velocity rotation -operation, by rescaling the thermal velocity of particles in each SRD -bin to the desired temperature. If there is a streaming velocity -associated with the system, e.g. due to use of the "fix -deform"_fix_deform.html command to perform a simulation undergoing -shear, then that is also accounted for. The mean velocity of each bin -of SRD particles is set to the position-dependent streaming velocity, -based on the coordinates of the center of the SRD bin. Note that -collisions of SRD particles with big particles or walls has a -thermostatting effect on the colliding particles, so it may not be -necessary to thermostat the SRD particles on a bin by bin basis in -that case. Also note that for streaming simulations, if no -thermostatting is performed (the default), then it may take a long -time for the SRD fluid to come to equilibrium with a velocity profile -that matches the simulation box deformation. - -The {rescale} keyword enables rescaling of an SRD particle's velocity -if it would travel more than 4 mean-free paths in an SRD timestep. If -an SRD particle exceeds this velocity it is possible it will be lost -when migrating to other processors or that collisions with big -particles will be missed, either of which will generate errors. Thus -the safest mode is to run with rescaling enabled. However rescaling -removes kinetic energy from the system (the particle's velocity is -reduced). The latter will not typically be a problem if -thermostatting is enabled via the {tstat} keyword or if SRD collisions -with big particles or walls effectively thermostat the system. If you -wish to turn off rescaling (on is the default), e.g. for a pure SRD -system with no thermostatting so that the temperature does not decline -over time, the {rescale} keyword can be used. The {no} value turns -rescaling off during collisions and the per-bin velocity rotation -operation. The {collide} and {rotate} values turn it on for -one of the operations and off for the other. - -:line - -NOTE: This fix is normally used for simulations with a huge number of -SRD particles relative to the number of big particles, e.g. 100 to 1. -In this scenario, computations that involve only big particles -(neighbor list creation, communication, time integration) can slow -down dramatically due to the large number of background SRD particles. - -Three other input script commands will largely overcome this effect, -speeding up an SRD simulation by a significant amount. These are the -"atom_modify first"_atom_modify.html, "neigh_modify -include"_neigh_modify.html, and "comm_modify group"_comm_modify.html -commands. Each takes a group-ID as an argument, which in this case -should be the group-ID of the big solute particles. - -Additionally, when a "pair_style"_pair_style.html for big/big particle -interactions is specified, the "pair_coeff"_pair_coeff.html command -should be used to turn off big/SRD interactions, e.g. by setting their -epsilon or cutoff length to 0.0. - -The "delete_atoms overlap" command may be useful in setting up an SRD -simulation to insure there are no initial overlaps between big and SRD -particles. - -: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. - -This fix tabulates several SRD statistics which are stored in a vector -of length 12, which can be accessed by various "output -commands"_Howto_output.html. The vector values calculated by this fix -are "intensive", meaning they do not scale with the size of the -simulation. Technically, the first 8 do scale with the size of the -simulation, but treating them as intensive means they are not scaled -when printed as part of thermodynamic output. - -These are the 12 quantities. All are values for the current timestep, -except for quantity 5 and the last three, each of which are -cumulative quantities since the beginning of the run. - -(1) # of SRD/big collision checks performed -(2) # of SRDs which had a collision -(3) # of SRD/big collisions (including multiple bounces) -(4) # of SRD particles inside a big particle -(5) # of SRD particles whose velocity was rescaled to be < Vmax -(6) # of bins for collision searching -(7) # of bins for SRD velocity rotation -(8) # of bins in which SRD temperature was computed -(9) SRD temperature -(10) # of SRD particles which have undergone max # of bounces -(11) max # of bounces any SRD particle has had in a single step -(12) # of reneighborings due to SRD particles moving too far :ul - -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 command can only be used if LAMMPS was built with the SRD -package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"fix wall/srd"_fix_wall_srd.html - -[Default:] - -The option defaults are lamda inferred from Tsrd, collision = noslip, -overlap = no, inside = error, exact = yes, radius = 1.0, bounce = 0, -search = hgrid, cubic = error 0.01, shift = no, tstat = no, and -rescale = yes. - -:line - -:link(Hecht) -[(Hecht)] Hecht, Harting, Ihle, Herrmann, Phys Rev E, 72, 011408 (2005). - -:link(Petersen1) -[(Petersen)] Petersen, Lechman, Plimpton, Grest, in' t Veld, Schunk, J -Chem Phys, 132, 174106 (2010). - -:link(Lechman) -[(Lechman)] Lechman, et al, in preparation (2010). diff --git a/doc/txt/fix_store_force.txt b/doc/txt/fix_store_force.txt deleted file mode 100644 index 33ebc962d5da9def4a817dbf6a1e9cdb78c5e4ad..0000000000000000000000000000000000000000 --- a/doc/txt/fix_store_force.txt +++ /dev/null @@ -1,71 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix store/force command :h3 - -[Syntax:] - -fix ID group-ID store/force :pre - -ID, group-ID are documented in "fix"_fix.html command -store/force = style name of this fix command :ul - -[Examples:] - -fix 1 all store/force :pre - -[Description:] - -Store the forces on atoms in the group at the point during each -timestep when the fix is invoked, as described below. This is useful -for storing forces before constraints or other boundary conditions are -computed which modify the forces, so that unmodified forces can be -"written to a dump file"_dump.html or accessed by other "output -commands"_Howto_output.html that use per-atom quantities. - -This fix is invoked at the point in the velocity-Verlet timestepping -immediately after "pair"_pair_style.html, "bond"_bond_style.html, -"angle"_angle_style.html, "dihedral"_dihedral_style.html, -"improper"_improper_style.html, and "long-range"_kspace_style.html -forces have been calculated. It is the point in the timestep when -various fixes that compute constraint forces are calculated and -potentially modify the force on each atom. Examples of such fixes are -"fix shake"_fix_shake.html, "fix wall"_fix_wall.html, and "fix -indent"_fix_indent.html. - -NOTE: The order in which various fixes are applied which operate at -the same point during the timestep, is the same as the order they are -specified in the input script. Thus normally, if you want to store -per-atom forces due to force field interactions, before constraints -are applied, you should list this fix first within that set of fixes, -i.e. before other fixes that apply constraints. However, if you wish -to include certain constraints (e.g. fix shake) in the stored force, -then it could be specified after some fixes and before others. - -[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. - -This fix produces a per-atom array which can be accessed by various -"output commands"_Howto_output.html. The number of columns for each -atom is 3, and the columns store the x,y,z forces on each atom. The -per-atom values be accessed on any timestep. - -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:] none - -[Related commands:] - -"fix store_state"_fix_store_state.html - -[Default:] none diff --git a/doc/txt/fix_store_state.txt b/doc/txt/fix_store_state.txt deleted file mode 100644 index df05adc5b9ceb274061dab5bc7a0dbfc5cc395dd..0000000000000000000000000000000000000000 --- a/doc/txt/fix_store_state.txt +++ /dev/null @@ -1,127 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix store/state command :h3 - -[Syntax:] - -fix ID group-ID store/state N input1 input2 ... keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -store/state = style name of this fix command :l -N = store atom attributes every N steps, N = 0 for initial store only :l -input = one or more atom attributes :l - possible attributes = id, mol, type, mass, - x, y, z, xs, ys, zs, xu, yu, zu, xsu, ysu, zsu, ix, iy, iz, - vx, vy, vz, fx, fy, fz, - q, mux, muy, muz, mu, - radius, diameter, omegax, omegay, omegaz, - angmomx, angmomy, angmomz, tqx, tqy, tqz, - c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name, - d_name, i_name :pre - - id = atom ID - mol = molecule ID - type = atom type - mass = atom mass - x,y,z = unscaled atom coordinates - xs,ys,zs = scaled atom coordinates - xu,yu,zu = unwrapped atom coordinates - xsu,ysu,zsu = scaled unwrapped atom coordinates - ix,iy,iz = box image that the atom is in - vx,vy,vz = atom velocities - fx,fy,fz = forces on atoms - q = atom charge - mux,muy,muz = orientation of dipolar atom - mu = magnitued of dipole moment of atom - radius,diameter = radius.diameter of spherical particle - omegax,omegay,omegaz = angular velocity of spherical particle - angmomx,angmomy,angmomz = angular momentum of aspherical particle - tqx,tqy,tqz = torque on finite-size particles - c_ID = per-atom vector calculated by a compute with ID - c_ID\[I\] = Ith column of per-atom array calculated by a compute with ID - f_ID = per-atom vector calculated by a fix with ID - f_ID\[I\] = Ith column of per-atom array calculated by a fix with ID - v_name = per-atom vector calculated by an atom-style variable with name - d_name = per-atom floating point vector name, managed by fix property/atom - i_name = per-atom integer vector name, managed by fix property/atom :pre - -zero or more keyword/value pairs may be appended :l -keyword = {com} :l - {com} value = {yes} or {no} :pre -:ule - -[Examples:] - -fix 1 all store/state 0 x y z -fix 1 all store/state 0 xu yu zu com yes -fix 2 all store/state 1000 vx vy vz :pre - -[Description:] - -Define a fix that stores attributes for each atom in the group at the -time the fix is defined. If {N} is 0, then the values are never -updated, so this is a way of archiving an atom attribute at a given -time for future use in a calculation or output. See the discussion of -"output commands"_Howto_output.html that take fixes as inputs. - -If {N} is not zero, then the attributes will be updated every {N} -steps. - -NOTE: Actually, only atom attributes specified by keywords like {xu} -or {vy} or {radius} are initially stored immediately at the point in -your input script when the fix is defined. Attributes specified by a -compute, fix, or variable are not initially stored until the first run -following the fix definition begins. This is because calculating -those attributes may require quantities that are not defined in -between runs. - -The list of possible attributes is the same as that used by the "dump -custom"_dump.html command, which describes their meaning. - -If the {com} keyword is set to {yes} then the {xu}, {yu}, and {zu} -inputs store the position of each atom relative to the center-of-mass -of the group of atoms, instead of storing the absolute position. - -The requested values are stored in a per-atom vector or array as -discussed below. Zeroes are stored for atoms not in the specified -group. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the per-atom values it stores to "binary restart -files"_restart.html, so that the values can be restored when a -simulation is restarted. See the "read_restart"_read_restart.html -command for info on how to re-specify a fix in an input script that -reads a restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -None of the "fix_modify"_fix_modify.html options are relevant to this -fix. - -If a single input is specified, this fix produces a per-atom vector. -If multiple inputs are specified, a per-atom array is produced where -the number of columns for each atom is the number of inputs. These -can be accessed by various "output commands"_Howto_output.html. The -per-atom values be accessed on any timestep. - -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:] none - -[Related commands:] - -"dump custom"_dump.html, "compute -property/atom"_compute_property_atom.html, -"fix property/atom"_fix_property_atom.html, "variable"_variable.html - -[Default:] - -The option default is com = no. diff --git a/doc/txt/fix_temp_berendsen.txt b/doc/txt/fix_temp_berendsen.txt deleted file mode 100644 index c1f1626782abffb6d380b0faae983b6642d67db0..0000000000000000000000000000000000000000 --- a/doc/txt/fix_temp_berendsen.txt +++ /dev/null @@ -1,163 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix temp/berendsen command :h3 - -[Syntax:] - -fix ID group-ID temp/berendsen Tstart Tstop Tdamp :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -temp/berendsen = style name of this fix command :l -Tstart,Tstop = desired temperature at start/end of run :l - Tstart can be a variable (see below) :pre -Tdamp = temperature damping parameter (time units) :l -:ule - -[Examples:] - -fix 1 all temp/berendsen 300.0 300.0 100.0 :pre - -[Description:] - -Reset the temperature of a group of atoms by using a Berendsen -thermostat "(Berendsen)"_#Berendsen2, which rescales their velocities -every timestep. - -The thermostat is applied to only the translational degrees of freedom -for the particles, which is an important consideration for finite-size -particles which have rotational degrees of freedom are being -thermostatted with this fix. The translational degrees of freedom can -also have a bias velocity removed from them before thermostatting -takes place; see the description below. - -The desired temperature at each timestep is a ramped value during the -run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in -time units and determines how rapidly the temperature is relaxed. For -example, a value of 100.0 means to relax the temperature in a timespan -of (roughly) 100 time units (tau or fmsec or psec - see the -"units"_units.html command). - -{Tstart} can be specified as an equal-style "variable"_variable.html. -In this case, the {Tstop} setting is ignored. If the value is a -variable, it should be specified as v_name, where name is the variable -name. In this case, the variable will be evaluated each timestep, and -its value used to determine the target temperature. - -NOTE: This thermostat will generate an error if the current -temperature is zero at the end of a timestep. It cannot rescale a -zero temperature. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature. - -NOTE: Unlike the "fix nvt"_fix_nh.html command which performs -Nose/Hoover thermostatting AND time integration, this fix does NOT -perform time integration. It only modifies velocities to effect -thermostatting. Thus you must use a separate time integration fix, -like "fix nve"_fix_nve.html to actually update the positions of atoms -using the modified velocities. Likewise, this fix should not normally -be used on atoms that also have their temperature controlled by -another fix - e.g. by "fix nvt"_fix_nh.html or "fix -langevin"_fix_langevin.html commands. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp", as if this command had been -issued: - -compute fix-ID_temp group-ID temp :pre - -See the "compute temp"_compute_temp.html command for details. Note -that the ID of the new compute is the fix-ID + underscore + "temp", -and the group for the new compute is the same as the fix group. - -Note that this is NOT the compute used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. -This means you can change the attributes of this fix's temperature -(e.g. its degrees-of-freedom) via the -"compute_modify"_compute_modify.html command or print this temperature -during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} will have no -effect on this fix. - -Like other fixes that perform thermostatting, this fix can be used -with "compute commands"_compute.html that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the -center-of-mass velocity from a group of atoms or only calculating -temperature on the x-component of velocity or only calculating -temperature for atoms in a geometric region. This is not done by -default, but only if the "fix_modify"_fix_modify.html command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a temperature "compute"_compute.html -you have defined to this fix which will be used in its thermostatting -procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change implied by a velocity rescaling to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix can be used with dynamic groups as defined by the -"group"_group.html command. Likewise it can be used with groups to -which atoms are added or deleted over time, e.g. a deposition -simulation. However, the conservation properties of the thermostat -and barostat are defined for systems with a static set of atoms. You -may observe odd behavior if the atoms in a group vary dramatically -over time or the atom count becomes very small. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nvt"_fix_nh.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html, -"fix_modify"_fix_modify.html, "compute temp"_compute_temp.html, -"fix press/berendsen"_fix_press_berendsen.html - -[Default:] none - -:line - -:link(Berendsen2) - -[(Berendsen)] Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem -Phys, 81, 3684 (1984). diff --git a/doc/txt/fix_temp_csvr.txt b/doc/txt/fix_temp_csvr.txt deleted file mode 100644 index e50f821bfe9d55339164064ea18a515d4ac58967..0000000000000000000000000000000000000000 --- a/doc/txt/fix_temp_csvr.txt +++ /dev/null @@ -1,168 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix temp/csvr command :h3 -fix temp/csld command :h3 - -[Syntax:] - -fix ID group-ID temp/csvr Tstart Tstop Tdamp seed :pre -fix ID group-ID temp/csld Tstart Tstop Tdamp seed :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -temp/csvr or temp/csld = style name of this fix command :l -Tstart,Tstop = desired temperature at start/end of run :l - Tstart can be a variable (see below) :pre -Tdamp = temperature damping parameter (time units) :l -seed = random number seed to use for white noise (positive integer) :l -:ule - -[Examples:] - -fix 1 all temp/csvr 300.0 300.0 100.0 54324 :pre -fix 1 all temp/csld 100.0 300.0 10.0 123321 :pre - -[Description:] - -Adjust the temperature with a canonical sampling thermostat that uses -global velocity rescaling with Hamiltonian dynamics ({temp/csvr}) -"(Bussi1)"_#Bussi1, or Langevin dynamics ({temp/csld}) -"(Bussi2)"_#Bussi2. In the case of {temp/csvr} the thermostat is -similar to the empirical Berendsen thermostat in -"temp/berendsen"_fix_temp_berendsen.html, but chooses the actual -scaling factor from a suitably chosen (gaussian) distribution rather -than having it determined from the time constant directly. In the case -of {temp/csld} the velocities are updated to a linear combination of -the current velocities with a gaussian distribution of velocities at -the desired temperature. Both thermostats are applied every timestep. - -The thermostat is applied to only the translational degrees of freedom -for the particles, which is an important consideration for finite-size -particles which have rotational degrees of freedom are being -thermostatted with these fixes. The translational degrees of freedom -can also have a bias velocity removed from them before thermostatting -takes place; see the description below. - -The desired temperature at each timestep is a ramped value during the -run from {Tstart} to {Tstop}. The {Tdamp} parameter is specified in -time units and determines how rapidly the temperature is relaxed. For -example, a value of 100.0 means to relax the temperature in a timespan -of (roughly) 100 time units (tau or fmsec or psec - see the -"units"_units.html command). - -{Tstart} can be specified as an equal-style "variable"_variable.html. -In this case, the {Tstop} setting is ignored. If the value is a -variable, it should be specified as v_name, where name is the variable -name. In this case, the variable will be evaluated each timestep, and -its value used to determine the target temperature. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature. - -NOTE: Unlike the "fix nvt"_fix_nh.html command which performs -Nose/Hoover thermostatting AND time integration, these fixes do NOT -perform time integration. They only modify velocities to effect -thermostatting. Thus you must use a separate time integration fix, -like "fix nve"_fix_nve.html to actually update the positions of atoms -using the modified velocities. Likewise, these fixes should not -normally be used on atoms that also have their temperature controlled -by another fix - e.g. by "fix nvt"_fix_nh.html or "fix -langevin"_fix_langevin.html commands. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -These fixes compute a temperature each timestep. To do this, the fix -creates its own compute of style "temp", as if this command had been -issued: - -compute fix-ID_temp group-ID temp :pre - -See the "compute temp"_compute_temp.html command for details. Note -that the ID of the new compute is the fix-ID + underscore + "temp", -and the group for the new compute is the same as the fix group. - -Note that this is NOT the compute used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. -This means you can change the attributes of this fix's temperature -(e.g. its degrees-of-freedom) via the -"compute_modify"_compute_modify.html command or print this temperature -during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} will have no -effect on this fix. - -Like other fixes that perform thermostatting, these fixes can be used -with "compute commands"_compute.html that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the -center-of-mass velocity from a group of atoms or only calculating -temperature on the x-component of velocity or only calculating -temperature for atoms in a geometric region. This is not done by -default, but only if the "fix_modify"_fix_modify.html command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about these fixes are written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {temp} option is supported by these -fixes. You can use it to assign a temperature "compute"_compute.html -you have defined to these fixes which will be used in its thermostatting -procedure, as described above. For consistency, the group used by -these fixes and by the compute should be the same. - -These fixes can ramp its target temperature over multiple runs, using -the {start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -These fixes are not invoked during "energy minimization"_minimize.html. - -These fixes compute a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -energy change due to the fix. The scalar value calculated by this fix -is "extensive". - -[Restrictions:] - -These fixes are not compatible with "fix shake"_fix_shake.html. - -The fix can be used with dynamic groups as defined by the -"group"_group.html command. Likewise it can be used with groups to -which atoms are added or deleted over time, e.g. a deposition -simulation. However, the conservation properties of the thermostat -and barostat are defined for systems with a static set of atoms. You -may observe odd behavior if the atoms in a group vary dramatically -over time or the atom count becomes very small. - -[Related commands:] - -"fix nve"_fix_nve.html, "fix nvt"_fix_nh.html, "fix -temp/rescale"_fix_temp_rescale.html, "fix langevin"_fix_langevin.html, -"fix_modify"_fix_modify.html, "compute temp"_compute_temp.html, -"fix temp/berendsen"_fix_temp_berendsen.html - -[Default:] none - -:line - -:link(Bussi1) -[(Bussi1)] Bussi, Donadio and Parrinello, J. Chem. Phys. 126, 014101(2007) -:link(Bussi2) -[(Bussi2)] Bussi and Parrinello, Phys. Rev. E 75, 056707 (2007) diff --git a/doc/txt/fix_temp_rescale.txt b/doc/txt/fix_temp_rescale.txt deleted file mode 100644 index 5640317f1cf68ae357480d2b641441af9acf752a..0000000000000000000000000000000000000000 --- a/doc/txt/fix_temp_rescale.txt +++ /dev/null @@ -1,153 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix temp/rescale command :h3 - -[Syntax:] - -fix ID group-ID temp/rescale N Tstart Tstop window fraction :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -temp/rescale = style name of this fix command :l -N = perform rescaling every N steps :l -Tstart,Tstop = desired temperature at start/end of run (temperature units) :l - Tstart can be a variable (see below) :pre -window = only rescale if temperature is outside this window (temperature units) :l -fraction = rescale to target temperature by this fraction :l -:ule - -[Examples:] - -fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5 -fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 -fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 :pre - -[Description:] - -Reset the temperature of a group of atoms by explicitly rescaling -their velocities. - -The rescaling is applied to only the translational degrees of freedom -for the particles, which is an important consideration if finite-size -particles which have rotational degrees of freedom are being -thermostatted with this fix. The translational degrees of freedom can -also have a bias velocity removed from them before thermostatting -takes place; see the description below. - -Rescaling is performed every N timesteps. The target temperature is a -ramped value between the {Tstart} and {Tstop} temperatures at the -beginning and end of the run. - -NOTE: This thermostat will generate an error if the current -temperature is zero at the end of a timestep it is invoked on. It -cannot rescale a zero temperature. - -{Tstart} can be specified as an equal-style "variable"_variable.html. -In this case, the {Tstop} setting is ignored. If the value is a -variable, it should be specified as v_name, where name is the variable -name. In this case, the variable will be evaluated each timestep, and -its value used to determine the target temperature. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent temperature. - -Rescaling is only performed if the difference between the current and -desired temperatures is greater than the {window} value. The amount -of rescaling that is applied is a {fraction} (from 0.0 to 1.0) of the -difference between the actual and desired temperature. E.g. if -{fraction} = 1.0, the temperature is reset to exactly the desired -value. - -NOTE: Unlike the "fix nvt"_fix_nh.html command which performs -Nose/Hoover thermostatting AND time integration, this fix does NOT -perform time integration. It only modifies velocities to effect -thermostatting. Thus you must use a separate time integration fix, -like "fix nve"_fix_nve.html to actually update the positions of atoms -using the modified velocities. Likewise, this fix should not normally -be used on atoms that also have their temperature controlled by -another fix - e.g. by "fix nvt"_fix_nh.html or "fix -langevin"_fix_langevin.html commands. - -See the "Howto thermostat"_Howto_thermostat.html doc page for a -discussion of different ways to compute temperature and perform -thermostatting. - -This fix computes a temperature each timestep. To do this, the fix -creates its own compute of style "temp", as if one of this command had -been issued: - -compute fix-ID_temp group-ID temp :pre - -See the "compute temp"_compute_temp.html for details. Note that the -ID of the new compute is the fix-ID + underscore + "temp", and the -group for the new compute is the same as the fix group. - -Note that this is NOT the compute used by thermodynamic output (see -the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}. -This means you can change the attributes of this fix's temperature -(e.g. its degrees-of-freedom) via the -"compute_modify"_compute_modify.html command or print this temperature -during thermodynamic output via the "thermo_style -custom"_thermo_style.html command using the appropriate compute-ID. -It also means that changing attributes of {thermo_temp} will have no -effect on this fix. - -Like other fixes that perform thermostatting, this fix can be used -with "compute commands"_compute.html that calculate a temperature -after removing a "bias" from the atom velocities. E.g. removing the -center-of-mass velocity from a group of atoms or only calculating -temperature on the x-component of velocity or only calculating -temperature for atoms in a geometric region. This is not done by -default, but only if the "fix_modify"_fix_modify.html command is used -to assign a temperature compute to this fix that includes such a bias -term. See the doc pages for individual "compute -commands"_compute.html to determine which ones include a bias. In -this case, the thermostat works in the following manner: the current -temperature is calculated taking the bias into account, bias is -removed from each atom, thermostatting is performed on the remaining -thermal degrees of freedom, and the bias is added back in. - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a temperature "compute"_compute.html -you have defined to this fix which will be used in its thermostatting -procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change implied by a velocity rescaling to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] none - -[Related commands:] - -"fix langevin"_fix_langevin.html, "fix nvt"_fix_nh.html, -"fix_modify"_fix_modify.html - -[Default:] none diff --git a/doc/txt/fix_temp_rescale_eff.txt b/doc/txt/fix_temp_rescale_eff.txt deleted file mode 100644 index 83b360df858d61f1769e1f8f3e56fde72985b7ec..0000000000000000000000000000000000000000 --- a/doc/txt/fix_temp_rescale_eff.txt +++ /dev/null @@ -1,76 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix temp/rescale/eff command :h3 - -[Syntax:] - -fix ID group-ID temp/rescale/eff N Tstart Tstop window fraction :pre - -ID, group-ID are documented in "fix"_fix.html command -temp/rescale/eff = style name of this fix command -N = perform rescaling every N steps -Tstart,Tstop = desired temperature at start/end of run (temperature units) -window = only rescale if temperature is outside this window (temperature units) -fraction = rescale to target temperature by this fraction :ul - -[Examples:] - -fix 3 flow temp/rescale/eff 10 1.0 100.0 0.02 1.0 :pre - -[Description:] - -Reset the temperature of a group of nuclei and electrons in the -"electron force field"_pair_eff.html model by explicitly rescaling -their velocities. - -The operation of this fix is exactly like that described by the "fix -temp/rescale"_fix_temp_rescale.html command, except that the rescaling -is also applied to the radial electron velocity for electron -particles. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {temp} option is supported by this -fix. You can use it to assign a temperature "compute"_compute.html -you have defined to this fix which will be used in its thermostatting -procedure, as described above. For consistency, the group used by -this fix and by the compute should be the same. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy change implied by a velocity rescaling to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -energy change due to this fix. The scalar value calculated by this -fix is "extensive". - -This fix can ramp its target temperature over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the USER-EFF package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix langevin/eff"_fix_langevin_eff.html, "fix -nvt/eff"_fix_nh_eff.html, "fix_modify"_fix_modify.html, -"fix temp rescale"_fix_temp_rescale.html, - -[Default:] none diff --git a/doc/txt/fix_tfmc.txt b/doc/txt/fix_tfmc.txt deleted file mode 100644 index e14663bebdeb49cf4e8348325bfc42c2c4f12c80..0000000000000000000000000000000000000000 --- a/doc/txt/fix_tfmc.txt +++ /dev/null @@ -1,152 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix tfmc command :h3 - -[Syntax:] - -fix ID group-ID tfmc Delta Temp seed keyword value :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -tfmc = style name of this fix command :l -Delta = maximal displacement length (distance units) :l -Temp = imposed temperature of the system :l -seed = random number seed (positive integer) :l -zero or more keyword/arg pairs may be appended :l -keyword = {com} or {rot} :l - {com} args = xflag yflag zflag - xflag,yflag,zflag = 0/1 to exclude/include each dimension - {rot} args = none :pre -:ule - -[Examples:] - -fix 1 all tfmc 0.1 1000.0 159345 -fix 1 all tfmc 0.05 600.0 658943 com 1 1 0 -fix 1 all tfmc 0.1 750.0 387068 com 1 1 1 rot :pre - -[Description:] - -Perform uniform-acceptance force-bias Monte Carlo (fbMC) simulations, -using the time-stamped force-bias Monte Carlo (tfMC) algorithm -described in "(Mees)"_#Mees and "(Bal)"_#Bal. - -One successful use case of force-bias Monte Carlo methods is that they -can be used to extend the time scale of atomistic simulations, in -particular when long time scale relaxation effects must be considered; -some interesting examples are given in the review by "(Neyts)"_#Neyts. -An example of a typical use case would be the modelling of chemical -vapor deposition (CVD) processes on a surface, in which impacts by -gas-phase species can be performed using MD, but subsequent relaxation -of the surface is too slow to be done using MD only. Using tfMC can -allow for a much faster relaxation of the surface, so that higher -fluxes can be used, effectively extending the time scale of the -simulation. (Such an alternating simulation approach could be set up -using a "loop"_jump.html.) - -The initial version of tfMC algorithm in "(Mees)"_#Mees contained an -estimation of the effective time scale of such a simulation, but it -was later shown that the speed-up one can gain from a tfMC simulation -is system- and process-dependent, ranging from none to several orders -of magnitude. In general, solid-state processes such as -(re)crystallization or growth can be accelerated by up to two or three -orders of magnitude, whereas diffusion in the liquid phase is not -accelerated at all. The observed pseudodynamics when using the tfMC -method is not the actual dynamics one would obtain using MD, but the -relative importance of processes can match the actual relative -dynamics of the system quite well, provided {Delta} is chosen with -care. Thus, the system's equilibrium is reached faster than in MD, -along a path that is generally roughly similar to a typical MD -simulation (but not necessarily so). See "(Bal)"_#Bal for details. - -Each step, all atoms in the selected group are displaced using the -stochastic tfMC algorithm, which is designed to sample the canonical -(NVT) ensemble at the temperature {Temp}. Although tfMC is a Monte -Carlo algorithm and thus strictly speaking does not perform time -integration, it is similar in the sense that it uses the forces on all -atoms in order to update their positions. Therefore, it is implemented -as a time integration fix, and no other fixes of this type (such as -"fix nve"_fix_nve.html) should be used at the same time. Because -velocities do not play a role in this kind of Monte Carlo simulations, -instantaneous temperatures as calculated by "temperature -computes"_compute_temp.html or "thermodynamic -output"_thermo_style.html have no meaning: the only relevant -temperature is the sampling temperature {Temp}. Similarly, performing -tfMC simulations does not require setting a "timestep"_timestep.html -and the "simulated time"_thermo_style.html as calculated by LAMMPS is -meaningless. - -The critical parameter determining the success of a tfMC simulation is -{Delta}, the maximal displacement length of the lightest element in -the system: the larger it is, the longer the effective time scale of -the simulation will be (there is an approximately quadratic -dependence). However, {Delta} must also be chosen sufficiently small -in order to comply with detailed balance; in general values between 5 -and 10 % of the nearest neighbor distance are found to be a good -choice. For a more extensive discussion with specific examples, please -refer to "(Bal)"_#Bal, which also describes how the code calculates -element-specific maximal displacements from {Delta}, based on the -fourth root of their mass. - -Because of the uncorrelated movements of the atoms, the center-of-mass -of the fix group will not necessarily be stationary, just like its -orientation. When the {com} keyword is used, all atom positions will -be shifted (after every tfMC iteration) in order to fix the position -of the center-of-mass along the included directions, by setting the -corresponding flag to 1. The {rot} keyword does the same for the -rotational component of the tfMC displacements after every iteration. - -NOTE: the {com} and {rot} keywords should not be used if an external -force is acting on the specified fix group, along the included -directions. This can be either a true external force (e.g. through -"fix wall"_fix_wall.html) or forces due to the interaction with atoms -not included in the fix group. This is because in such cases, -translations or rotations of the fix group could be induced by these -external forces, and removing them will lead to a violation of -detailed balance. - -: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. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -This fix is part of the MC package. It is only enabled if LAMMPS was -built with that package. See the "Build package"_Build_package.html -doc page for more info. - -This fix is not compatible with "fix shake"_fix_shake.html. - -[Related commands:] - -"fix gcmc"_fix_gcmc.html, "fix nvt"_fix_nh.html - -[Default:] - -The option default is com = 0 0 0 - -:line - -:link(Bal) -[(Bal)] K. M Bal and E. C. Neyts, J. Chem. Phys. 141, 204104 (2014). - -:link(Mees) -[(Mees)] M. J. Mees, G. Pourtois, E. C. Neyts, B. J. Thijsse, and -A. Stesmans, Phys. Rev. B 85, 134301 (2012). - -:link(Neyts) -[(Neyts)] E. C. Neyts and A. Bogaerts, Theor. Chem. Acc. 132, 1320 -(2013). diff --git a/doc/txt/fix_thermal_conductivity.txt b/doc/txt/fix_thermal_conductivity.txt deleted file mode 100644 index 2ab32b25f071545cde44fc1afd97e3f2032a6486..0000000000000000000000000000000000000000 --- a/doc/txt/fix_thermal_conductivity.txt +++ /dev/null @@ -1,163 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix thermal/conductivity command :h3 - -[Syntax:] - -fix ID group-ID thermal/conductivity N edim Nbin keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -thermal/conductivity = style name of this fix command :l -N = perform kinetic energy exchange every N steps :l -edim = {x} or {y} or {z} = direction of kinetic energy transfer :l -Nbin = # of layers in edim direction (must be even number) :l - -zero or more keyword/value pairs may be appended :l -keyword = {swap} :l - {swap} value = Nswap = number of swaps to perform every N steps :pre -:ule - -[Examples:] - -fix 1 all thermal/conductivity 100 z 20 -fix 1 all thermal/conductivity 50 z 20 swap 2 :pre - -[Description:] - -Use the Muller-Plathe algorithm described in "this -paper"_#Muller-Plathe1 to exchange kinetic energy between two particles -in different regions of the simulation box every N steps. This -induces a temperature gradient in the system. As described below this -enables the thermal conductivity of a material to be calculated. This -algorithm is sometimes called a reverse non-equilibrium MD (reverse -NEMD) approach to computing thermal conductivity. This is because the -usual NEMD approach is to impose a temperature gradient on the system -and measure the response as the resulting heat flux. In the -Muller-Plathe method, the heat flux is imposed, and the temperature -gradient is the system's response. - -See the "compute heat/flux"_compute_heat_flux.html command for details -on how to compute thermal conductivity in an alternate way, via the -Green-Kubo formalism. - -The simulation box is divided into {Nbin} layers in the {edim} -direction, where the layer 1 is at the low end of that dimension and -the layer {Nbin} is at the high end. Every N steps, Nswap pairs of -atoms are chosen in the following manner. Only atoms in the fix group -are considered. The hottest Nswap atoms in layer 1 are selected. -Similarly, the coldest Nswap atoms in the "middle" layer (see below) -are selected. The two sets of Nswap atoms are paired up and their -velocities are exchanged. This effectively swaps their kinetic -energies, assuming their masses are the same. If the masses are -different, an exchange of velocities relative to center of mass motion -of the 2 atoms is performed, to conserve kinetic energy. Over time, -this induces a temperature gradient in the system which can be -measured using commands such as the following, which writes the -temperature profile (assuming z = edim) to the file tmp.profile: - -compute ke all ke/atom -variable temp atom c_ke/1.5 -compute layers all chunk/atom bin/1d z lower 0.05 units reduced -fix 3 all ave/chunk 10 100 1000 layers v_temp file tmp.profile :pre - -Note that by default, Nswap = 1, though this can be changed by the -optional {swap} keyword. Setting this parameter appropriately, in -conjunction with the swap rate N, allows the heat flux to be adjusted -across a wide range of values, and the kinetic energy to be exchanged -in large chunks or more smoothly. - -The "middle" layer for velocity swapping is defined as the {Nbin}/2 + -1 layer. Thus if {Nbin} = 20, the two swapping layers are 1 and 11. -This should lead to a symmetric temperature profile since the two -layers are separated by the same distance in both directions in a -periodic sense. This is why {Nbin} is restricted to being an even -number. - -As described below, the total kinetic energy transferred by these -swaps is computed by the fix and can be output. Dividing this -quantity by time and the cross-sectional area of the simulation box -yields a heat flux. The ratio of heat flux to the slope of the -temperature profile is proportional to the thermal conductivity of the -fluid, in appropriate units. See the "Muller-Plathe -paper"_#Muller-Plathe1 for details. - -NOTE: If your system is periodic in the direction of the heat flux, -then the flux is going in 2 directions. This means the effective heat -flux in one direction is reduced by a factor of 2. You will see this -in the equations for thermal conductivity (kappa) in the Muller-Plathe -paper. LAMMPS is simply tallying kinetic energy which does not -account for whether or not your system is periodic; you must use the -value appropriately to yield a kappa for your system. - -NOTE: After equilibration, if the temperature gradient you observe is -not linear, then you are likely swapping energy too frequently and are -not in a regime of linear response. In this case you cannot -accurately infer a thermal conductivity and should try increasing the -Nevery parameter. - -[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. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -kinetic energy transferred between the bottom and middle of the -simulation box (in the {edim} direction) is stored as a scalar -quantity by this fix. This quantity is zeroed when the fix is defined -and accumulates thereafter, once every N steps. The units of the -quantity are energy; see the "units"_units.html command for details. -The scalar value calculated by this fix is "intensive". - -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 fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Swaps conserve both momentum and kinetic energy, even if the masses of -the swapped atoms are not equal. Thus you should not need to -thermostat the system. If you do use a thermostat, you may want to -apply it only to the non-swapped dimensions (other than {vdim}). - -LAMMPS does not check, but you should not use this fix to swap the -kinetic energy of atoms that are in constrained molecules, e.g. via -"fix shake"_fix_shake.html or "fix rigid"_fix_rigid.html. This is -because application of the constraints will alter the amount of -transferred momentum. You should, however, be able to use flexible -molecules. See the "Zhang paper"_#Zhang2 for a discussion and results -of this idea. - -When running a simulation with large, massive particles or molecules -in a background solvent, you may want to only exchange kinetic energy -between solvent particles. - -[Related commands:] - -"fix ehex"_fix_ehex.html, "fix heat"_fix_heat.html, "fix -ave/chunk"_fix_ave_chunk.html, "fix viscosity"_fix_viscosity.html, -"compute heat/flux"_compute_heat_flux.html - -[Default:] - -The option defaults are swap = 1. - -:line - -:link(Muller-Plathe1) -[(Muller-Plathe)] Muller-Plathe, J Chem Phys, 106, 6082 (1997). - -:link(Zhang2) -[(Zhang)] Zhang, Lussetti, de Souza, Muller-Plathe, J Phys Chem B, -109, 15060-15067 (2005). diff --git a/doc/txt/fix_ti_spring.txt b/doc/txt/fix_ti_spring.txt deleted file mode 100644 index d212579510cdad2aa28ac52014be1eeddbeffd58..0000000000000000000000000000000000000000 --- a/doc/txt/fix_ti_spring.txt +++ /dev/null @@ -1,163 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix ti/spring command :h3 - -[Syntax:] - -fix ID group-ID ti/spring k t_s t_eq keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -ti/spring = style name of this fix command :l -k = spring constant (force/distance units) :l -t_eq = number of steps for the equilibration procedure :l -t_s = number of steps for the switching procedure :l -zero or more keyword/value pairs may be appended to args :l -keyword = {function} :l - {function} value = function-ID - function-ID = ID of the switching function (1 or 2) :pre -:ule - -[Example:] - -fix 1 all ti/spring 50.0 2000 1000 function 2 :pre - -[Description:] - -This fix allows you to compute the free energy of crystalline solids -by performing a nonequilibrium thermodynamic integration between the -solid of interest and an Einstein crystal. A detailed explanation of -how to use this command and choose its parameters for optimal -performance and accuracy is given in the paper by -"Freitas"_#Freitas1. The paper also presents a short summary of the -theory of nonequilibrium thermodynamic integration. - -The thermodynamic integration procedure is performed by rescaling the -force on each atom. Given an atomic configuration the force (F) on -each atom is given by - -:c,image(Eqs/fix_ti_spring_force.jpg) - -where F_solid is the force that acts on an atom due to an interatomic -potential ({e.g.} EAM potential), F_harm is the force due to the -Einstein crystal harmonic spring, and lambda is the coupling parameter -of the thermodynamic integration. An Einstein crystal is a solid where -each atom is attached to its equilibrium position by a harmonic spring -with spring constant {k}. With this fix a spring force is applied -independently to each atom in the group defined by the fix to tether -it to its initial position. The initial position of each atom is its -position at the time the fix command was issued. - -The fix acts as follows: during the first {t_eq} steps after the fix -is defined the value of lambda is zero. This is the period to -equilibrate the system in the lambda = 0 state. After this the value -of lambda changes dynamically during the simulation from 0 to 1 -according to the function defined using the keyword {function} -(described below), this switching from lambda from 0 to 1 is done in -{t_s} steps. Then comes the second equilibration period of {t_eq} to -equilibrate the system in the lambda = 1 state. After that, the -switching back to the lambda = 0 state is made using {t_s} timesteps -and following the same switching function. After this period the value -of lambda is kept equal to zero and the fix has no other effect on the -dynamics of the system. - -The processes described above is known as nonequilibrium thermodynamic -integration and is has been shown ("Freitas"_#Freitas1) to present a -much superior efficiency when compared to standard equilibrium -methods. The reason why the switching it is made in both directions -(potential to Einstein crystal and back) is to eliminate the -dissipated heat due to the nonequilibrium process. Further details -about nonequilibrium thermodynamic integration and its implementation -in LAMMPS is available in "Freitas"_#Freitas1. - -The {function} keyword allows the use of two different lambda -paths. Option {1} results in a constant rate of change of lambda with -time: - -:c,image(Eqs/fix_ti_spring_function_1.jpg) - -where tau is the scaled time variable {t/t_s}. The option {2} performs -the lambda switching at a rate defined by the following switching -function - -:c,image(Eqs/fix_ti_spring_function_2.jpg) - -This function has zero slope as lambda approaches its extreme values -(0 and 1), according to "de Koning"_#deKoning96 this results in -smaller fluctuations on the integral to be computed on the -thermodynamic integration. The use of option {2} is recommended since -it results in better accuracy and less dissipation without any -increase in computational resources cost. - -NOTE: As described in "Freitas"_#Freitas1, it is important to keep the -center-of-mass fixed during the thermodynamic integration. A nonzero -total velocity will result in divergences during the integration due -to the fact that the atoms are 'attached' to their equilibrium -positions by the Einstein crystal. Check the option {zero} of "fix -langevin"_fix_langevin.html and "velocity"_velocity.html. The use of -the Nose-Hoover thermostat ("fix nvt"_fix_nh.html) is {NOT} -recommended due to its well documented issues with the canonical -sampling of harmonic degrees of freedom (notice that the {chain} -option will {NOT} solve this problem). The Langevin thermostat ("fix -langevin"_fix_langevin.html) correctly thermostats the system and we -advise its usage with ti/spring command. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the original coordinates of tethered atoms to "binary -restart files"_restart.html, so that the spring effect will be the -same in a restarted simulation. See the "read -restart"_read_restart.html command for info on how to re-specify a fix -in an input script that reads a restart file, so that the operation of -the fix continues in an uninterrupted fashion. - -The "fix modify"_fix_modify.html {energy} option is supported by this -fix to add the energy stored in the per-atom springs to the system's -potential energy as part of "thermodynamic output"_thermo_style.html. - -This fix computes a global scalar and a global vector quantities which -can be accessed by various "output commands"_Howto_output.html. The -scalar is an energy which is the sum of the spring energy for each -atom, where the per-atom energy is 0.5 * k * r^2. The vector has 2 -positions, the first one is the coupling parameter lambda and the -second one is the time derivative of lambda. The scalar and vector -values calculated by this fix are "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -NOTE: If you want the per-atom spring energy to be included in the -total potential energy of the system (the quantity being minimized), -you MUST enable the "fix modify"_fix_modify.html {energy} option for -this fix. - -[Related commands:] - -"fix spring"_fix_spring.html, "fix adapt"_fix_adapt.html - -[Restrictions:] - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Default:] - -The keyword default is function = 1. - -:line - -:link(Freitas1) -[(Freitas)] Freitas, Asta, and de Koning, Computational Materials -Science, 112, 333 (2016). - -:link(deKoning96) -[(de Koning)] de Koning and Antonelli, Phys Rev E, 53, 465 (1996). diff --git a/doc/txt/fix_tmd.txt b/doc/txt/fix_tmd.txt deleted file mode 100644 index 73e95ba9fe58783c8b25df7d8081ca2e8c3980f1..0000000000000000000000000000000000000000 --- a/doc/txt/fix_tmd.txt +++ /dev/null @@ -1,130 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix tmd command :h3 - -[Syntax:] - -fix ID group-ID tmd rho_final file1 N file2 :pre - -ID, group-ID are documented in "fix"_fix.html command -tmd = style name of this fix command -rho_final = desired value of rho at the end of the run (distance units) -file1 = filename to read target structure from -N = dump TMD statistics every this many timesteps, 0 = no dump -file2 = filename to write TMD statistics to (only needed if N > 0) :ul - -[Examples:] - -fix 1 all nve -fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file :pre - -[Description:] - -Perform targeted molecular dynamics (TMD) on a group of atoms. A -holonomic constraint is used to force the atoms to move towards (or -away from) the target configuration. The parameter "rho" is -monotonically decreased (or increased) from its initial value to -rho_final at the end of the run. - -Rho has distance units and is a measure of the root-mean-squared -distance (RMSD) between the current configuration of the atoms in the -group and the target coordinates listed in file1. Thus a value of -rho_final = 0.0 means move the atoms all the way to the final -structure during the course of the run. - -The target file1 can be ASCII text or a gzipped text file (detected by -a .gz suffix). The format of the target file1 is as follows: - -0.0 25.0 xlo xhi -0.0 25.0 ylo yhi -0.0 25.0 zlo zhi -125 24.97311 1.69005 23.46956 0 0 -1 -126 1.94691 2.79640 1.92799 1 0 0 -127 0.15906 3.46099 0.79121 1 0 0 -... :pre - -The first 3 lines may or may not be needed, depending on the format of -the atoms to follow. If image flags are included with the atoms, the -1st 3 lo/hi lines must appear in the file. If image flags are not -included, the 1st 3 lines should not appear. The 3 lines contain the -simulation box dimensions for the atom coordinates, in the same format -as in a LAMMPS data file (see the "read_data"_read_data.html command). - -The remaining lines each contain an atom ID and its target x,y,z -coordinates. The atom lines (all or none of them) can optionally be -followed by 3 integer values: nx,ny,nz. For periodic dimensions, they -specify which image of the box the atom is considered to be in, i.e. a -value of N (positive or negative) means add N times the box length to -the coordinate to get the true value. - -The atom lines can be listed in any order, but every atom in the group -must be listed in the file. Atoms not in the fix group may also be -listed; they will be ignored. - -TMD statistics are written to file2 every N timesteps, unless N is -specified as 0, which means no statistics. - -The atoms in the fix tmd group should be integrated (via a fix nve, -nvt, npt) along with other atoms in the system. - -Restarts can be used with a fix tmd command. For example, imagine a -10000 timestep run with a rho_initial = 11 and a rho_final = 1. If a -restart file was written after 2000 time steps, then the configuration -in the file would have a rho value of 9. A new 8000 time step run -could be performed with the same rho_final = 1 to complete the -conformational change at the same transition rate. Note that for -restarted runs, the name of the TMD statistics file should be changed -to prevent it being overwritten. - -For more information about TMD, see "(Schlitter1)"_#Schlitter1 and -"(Schlitter2)"_#Schlitter2. - -[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"_Howto_output.html. - -This fix can ramp its rho parameter over multiple runs, using the -{start} and {stop} keywords of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] - -All TMD fixes must be listed in the input script after all integrator -fixes (nve, nvt, npt) are applied. This ensures that atoms are moved -before their positions are corrected to comply with the constraint. - -Atoms that have a TMD fix applied should not be part of a group to -which a SHAKE fix is applied. This is because LAMMPS assumes there -are not multiple competing holonomic constraints applied to the same -atoms. - -To read gzipped target files, you must compile LAMMPS with the --DLAMMPS_GZIP option. See the "Build settings"_Build_settings.html -doc page for details. - -[Related commands:] none - -[Default:] none - -:line - -:link(Schlitter1) -[(Schlitter1)] Schlitter, Swegat, Mulders, "Distance-type reaction -coordinates for modelling activated processes", J Molecular Modeling, -7, 171-177 (2001). - -:link(Schlitter2) -[(Schlitter2)] Schlitter and Klahn, "The free energy of a reaction -coordinate at multiple constraints: a concise formulation", Molecular -Physics, 101, 3439-3443 (2003). diff --git a/doc/txt/fix_ttm.txt b/doc/txt/fix_ttm.txt deleted file mode 100644 index 85407f2466cb9aaaae417174361fbd237d7481bf..0000000000000000000000000000000000000000 --- a/doc/txt/fix_ttm.txt +++ /dev/null @@ -1,330 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix ttm command :h3 -fix ttm/mod command :h3 - -[Syntax:] - -fix ID group-ID ttm seed C_e rho_e kappa_e gamma_p gamma_s v_0 Nx Ny Nz T_infile N T_outfile -fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -style = {ttm} or {ttm_mod} :l -seed = random number seed to use for white noise (positive integer) :l -remaining arguments for fix ttm: :l - C_e = electronic specific heat (energy/(electron*temperature) units) - rho_e = electronic density (electrons/volume units) - kappa_e = electronic thermal conductivity (energy/(time*distance*temperature) units) - gamma_p = friction coefficient due to electron-ion interactions (mass/time units) - gamma_s = friction coefficient due to electronic stopping (mass/time units) - v_0 = electronic stopping critical velocity (velocity units) - Nx = number of thermal solve grid points in the x-direction (positive integer) - Ny = number of thermal solve grid points in the y-direction (positive integer) - Nz = number of thermal solve grid points in the z-direction (positive integer) - T_infile = filename to read initial electronic temperature from - N = dump TTM temperatures every this many timesteps, 0 = no dump - T_outfile = filename to write TTM temperatures to (only needed if N > 0) :pre -remaining arguments for fix ttm/mod: :l - init_file = file with the parameters to TTM - Nx = number of thermal solve grid points in the x-direction (positive integer) - Ny = number of thermal solve grid points in the y-direction (positive integer) - Nz = number of thermal solve grid points in the z-direction (positive integer) - T_infile = filename to read initial electronic temperature from - N = dump TTM temperatures every this many timesteps, 0 = no dump - T_outfile = filename to write TTM temperatures to (only needed if N > 0) :pre -:ule - -[Examples:] - -fix 2 all ttm 699489 1.0 1.0 10 0.1 0.0 2.0 1 12 1 initialTs 1000 T.out -fix 2 all ttm 123456 1.0 1.0 1.0 1.0 1.0 5.0 5 5 5 Te.in 1 Te.out -fix 2 all ttm/mod 34277 parameters.txt 5 5 5 T_init 10 T_out :pre - -[Description:] - -Use a two-temperature model (TTM) to represent heat transfer through -and between electronic and atomic subsystems. LAMMPS models the -atomic subsystem as usual with a molecular dynamics model and the -classical force field specified by the user, but the electronic -subsystem is modeled as a continuum, or a background "gas", on a -regular grid. Energy can be transferred spatially within the grid -representing the electrons. Energy can also be transferred between -the electronic and the atomic subsystems. The algorithm underlying -this fix was derived by D. M. Duffy and A. M. Rutherford and is -discussed in two J Physics: Condensed Matter papers: "(Duffy)"_#Duffy -and "(Rutherford)"_#Rutherford. They used this algorithm in cascade -simulations where a primary knock-on atom (PKA) was initialized with a -high velocity to simulate a radiation event. - -The description in this sub-section applies to both fix ttm and fix -ttm/mod. Fix ttm/mod adds options to account for external heat -sources (e.g. at a surface) and for specifying parameters that allow -the electronic heat capacity to depend strongly on electronic -temperature. It is more expensive computationally than fix ttm -because it treats the thermal diffusion equation as non-linear. More -details on fix ttm/mod are given below. - -Heat transfer between the electronic and atomic subsystems is carried -out via an inhomogeneous Langevin thermostat. This thermostat differs -from the regular Langevin thermostat ("fix -langevin"_fix_langevin.html) in three important ways. First, the -Langevin thermostat is applied uniformly to all atoms in the -user-specified group for a single target temperature, whereas the TTM -fix applies Langevin thermostatting locally to atoms within the -volumes represented by the user-specified grid points with a target -temperature specific to that grid point. Second, the Langevin -thermostat couples the temperature of the atoms to an infinite heat -reservoir, whereas the heat reservoir for fix TTM is finite and -represents the local electrons. Third, the TTM fix allows users to -specify not just one friction coefficient, but rather two independent -friction coefficients: one for the electron-ion interactions -({gamma_p}), and one for electron stopping ({gamma_s}). - -When the friction coefficient due to electron stopping, {gamma_s}, is -non-zero, electron stopping effects are included for atoms moving -faster than the electron stopping critical velocity, {v_0}. For -further details about this algorithm, see "(Duffy)"_#Duffy and -"(Rutherford)"_#Rutherford. - -Energy transport within the electronic subsystem is solved according -to the heat diffusion equation with added source terms for heat -transfer between the subsystems: - -:c,image(Eqs/fix_ttm.jpg) - -where C_e is the specific heat, rho_e is the density, kappa_e is the -thermal conductivity, T is temperature, the "e" and "a" subscripts -represent electronic and atomic subsystems respectively, g_p is the -coupling constant for the electron-ion interaction, and g_s is the -electron stopping coupling parameter. C_e, rho_e, and kappa_e are -specified as parameters to the fix. The other quantities are derived. -The form of the heat diffusion equation used here is almost the same -as that in equation 6 of "(Duffy)"_#Duffy, with the exception that the -electronic density is explicitly represented, rather than being part -of the specific heat parameter. - -Currently, fix ttm assumes that none of the user-supplied parameters -will vary with temperature. Note that "(Duffy)"_#Duffy used a tanh() -functional form for the temperature dependence of the electronic -specific heat, but ignored temperature dependencies of any of the -other parameters. See more discussion below for fix ttm/mod. - -These fixes require use of periodic boundary conditions and a 3D -simulation. Periodic boundary conditions are also used in the heat -equation solve for the electronic subsystem. This varies from the -approach of "(Rutherford)"_#Rutherford where the atomic subsystem was -embedded within a larger continuum representation of the electronic -subsystem. - -The initial electronic temperature input file, {T_infile}, is a text -file LAMMPS reads in with no header and with four numeric columns -(ix,iy,iz,Temp) and with a number of rows equal to the number of -user-specified grid points (Nx by Ny by Nz). The ix,iy,iz are node -indices from 0 to nxnodes-1, etc. For example, the initial electronic -temperatures on a 1 by 2 by 3 grid could be specified in a {T_infile} -as follows: - -0 0 0 1.0 -0 0 1 1.0 -0 0 2 1.0 -0 1 0 2.0 -0 1 1 2.0 -0 1 2 2.0 :pre - -where the electronic temperatures along the y=0 plane have been set to -1.0, and the electronic temperatures along the y=1 plane have been set -to 2.0. The order of lines in this file is no important. If all the -nodal values are not specified, LAMMPS will generate an error. - -The temperature output file, {T_oufile}, is created and written by -this fix. Temperatures for both the electronic and atomic subsystems -at every node and every N timesteps are output. If N is specified as -zero, no output is generated, and no output filename is needed. The -format of the output is as follows. One long line is written every -output timestep. The timestep itself is given in the first column. -The next Nx*Ny*Nz columns contain the temperatures for the atomic -subsystem, and the final Nx*Ny*Nz columns contain the temperatures for -the electronic subsystem. The ordering of the Nx*Ny*Nz columns is -with the z index varying fastest, y the next fastest, and x the -slowest. - -These fixes do not change the coordinates of their atoms; they only -scales their velocities. Thus a time integration fix (e.g. "fix -nve"_fix_nve.html) should still be used to time integrate the affected -atoms. The fixes should not normally be used on atoms that have their -temperature controlled by another fix - e.g. "fix nvt"_fix_nh.html or -"fix langevin"_fix_langevin.html. - -NOTE: The current implementations of these fixes create a copy of the -electron grid that overlays the entire simulation domain, for each -processor. Values on the grid are summed across all processors. Thus -you should insure that this grid is not too large, else your -simulation could incur high memory and communication costs. - -:line - -[Additional details for fix ttm/mod] - -Fix ttm/mod uses the heat diffusion equation with possible external -heat sources (e.g. laser heating in ablation simulations): - -:c,image(Eqs/fix_ttm_mod.jpg) - -where theta is the Heaviside step function, I_0 is the (absorbed) -laser pulse intensity for ablation simulations, l_skin is the depth -of skin-layer, and all other designations have the same meaning as in -the former equation. The duration of the pulse is set by the parameter -{tau} in the {init_file}. - -Fix ttm/mod also allows users to specify the dependencies of C_e and -kappa_e on the electronic temperature. The specific heat is expressed -as - -:c,image(Eqs/fix_ttm_ce.jpg) - -where {X} = T_e/1000, and the thermal conductivity is defined as -kappa_e = D_e*rho_e*C_e, where D_e is the thermal diffusion -coefficient. - -Electronic pressure effects are included in the TTM model to account -for the blast force acting on ions because of electronic pressure -gradient (see "(Chen)"_Chen, "(Norman)"_#Norman). The total force -acting on an ion is: - -:c,image(Eqs/fix_ttm_blast.jpg) - -where F_langevin is a force from Langevin thermostat simulating -electron-phonon coupling, and nabla P_e/n_ion is the electron blast -force. - -The electronic pressure is taken to be P_e = B*rho_e*C_e*T_e - -The current fix ttm/mod implementation allows TTM simulations with a -vacuum. The vacuum region is defined as the grid cells with zero -electronic temperature. The numerical scheme does not allow energy -exchange with such cells. Since the material can expand to previously -unoccupied region in some simulations, the vacuum border can be -allowed to move. It is controlled by the {surface_movement} parameter -in the {init_file}. If it is set to 1, then "vacuum" cells can be -changed to "electron-filled" cells with the temperature {T_e_min} if -atoms move into them (currently only implemented for the case of -1-dimensional motion of flat surface normal to the X axis). The -initial borders of vacuum can be set in the {init_file} via {lsurface} -and {rsurface} parameters. In this case, electronic pressure gradient -is calculated as - -:c,image(Eqs/fix_ttm_blast1.jpg) - -where lambda is the electron mean free path (see "(Norman)"_#Norman, -"(Pisarev)"_#Pisarev) - -The fix ttm/mod parameter file {init_file} has the following syntax/ -Every line with the odd number is considered as a comment and -ignored. The lines with the even numbers are treated as follows: - -a_0, energy/(temperature*electron) units -a_1, energy/(temperature^2*electron) units -a_2, energy/(temperature^3*electron) units -a_3, energy/(temperature^4*electron) units -a_4, energy/(temperature^5*electron) units -C_0, energy/(temperature*electron) units -A, 1/temperature units -rho_e, electrons/volume units -D_e, length^2/time units -gamma_p, mass/time units -gamma_s, mass/time units -v_0, length/time units -I_0, energy/(time*length^2) units -lsurface, electron grid units (positive integer) -rsurface, electron grid units (positive integer) -l_skin, length units -tau, time units -B, dimensionless -lambda, length units -n_ion, ions/volume units -surface_movement: 0 to disable tracking of surface motion, 1 to enable -T_e_min, temperature units :pre - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -These fixes write the state of the electronic subsystem and the energy -exchange between the subsystems to "binary restart -files"_restart.html. See the "read_restart"_read_restart.html command -for info on how to re-specify a fix in an input script that reads a -restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -Because the state of the random number generator is not saved in the -restart files, this means you cannot do "exact" restarts with this -fix, where the simulation continues on the same as if no restart had -taken place. However, in a statistical sense, a restarted simulation -should produce the same behavior. - -None of the "fix_modify"_fix_modify.html options are relevant to these -fixes. - -Both fixes compute 2 output quantities stored in a vector of length 2, -which can be accessed by various "output commands"_Howto_output.html. -The first quantity is the total energy of the electronic -subsystem. The second quantity is the energy transferred from the -electronic to the atomic subsystem on that timestep. Note that the -velocity verlet integrator applies the fix ttm forces to the atomic -subsystem as two half-step velocity updates: one on the current -timestep and one on the subsequent timestep. Consequently, the change -in the atomic subsystem energy is lagged by half a timestep relative -to the change in the electronic subsystem energy. As a result of this, -users may notice slight fluctuations in the sum of the atomic and -electronic subsystem energies reported at the end of the timestep. - -The vector values calculated are "extensive". - -No parameter of the fixes can be used with the {start/stop} keywords -of the "run"_run.html command. The fixes are not invoked during -"energy minimization"_minimize.html. - -[Restrictions:] - -Fix {ttm} is part of the MISC package. It is only enabled if LAMMPS -was built with that package. Fix {ttm/mod} is part of the USER-MISC -package. It is only enabled if LAMMPS was built with that package. -See the "Build package"_Build_package.html doc page for more info. - -These fixes can only be used for 3d simulations and orthogonal -simulation boxes. You must also use periodic -"boundary"_boundary.html conditions. - -[Related commands:] - -"fix langevin"_fix_langevin.html, "fix dt/reset"_fix_dt_reset.html - -[Default:] none - -:line - -:link(Duffy) -[(Duffy)] D M Duffy and A M Rutherford, J. Phys.: Condens. Matter, 19, -016207-016218 (2007). - -:link(Rutherford) -[(Rutherford)] A M Rutherford and D M Duffy, J. Phys.: -Condens. Matter, 19, 496201-496210 (2007). - -:link(Chen) -[(Chen)] J Chen, D Tzou and J Beraun, Int. J. Heat -Mass Transfer, 49, 307-316 (2006). - -:link(Norman) -[(Norman)] G E Norman, S V Starikov, V V Stegailov et al., Contrib. -Plasma Phys., 53, 129-139 (2013). - -:link(Pisarev) -[(Pisarev)] V V Pisarev and S V Starikov, J. Phys.: Condens. Matter, 26, -475401 (2014). diff --git a/doc/txt/fix_tune_kspace.txt b/doc/txt/fix_tune_kspace.txt deleted file mode 100644 index f5173b4cae9d7347fea161b356e28d4331c8c818..0000000000000000000000000000000000000000 --- a/doc/txt/fix_tune_kspace.txt +++ /dev/null @@ -1,103 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix tune/kspace command :h3 - -[Syntax:] - -fix ID group-ID tune/kspace N :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -tune/kspace = style name of this fix command :l -N = invoke this fix every N steps :l -:ule - -[Examples:] - -fix 2 all tune/kspace 100 :pre - -[Description:] - -This fix tests each kspace style (Ewald, PPPM, and MSM), and -automatically selects the fastest style to use for the remainder -of the run. If the fastest style is Ewald or PPPM, the fix also -adjusts the Coulombic cutoff towards optimal speed. Future versions -of this fix will automatically select other kspace parameters -to use for maximum simulation speed. The kspace parameters may -include the style, cutoff, grid points in each direction, order, -Ewald parameter, MSM parallelization cut-point, MPI tasks to use, etc. - -The rationale for this fix is to provide the user with -as-fast-as-possible simulations that include long-range electrostatics -(kspace) while meeting the user-prescribed accuracy requirement. A -simple heuristic could never capture the optimal combination of -parameters for every possible run-time scenario. But by performing -short tests of various kspace parameter sets, this fix allows -parameters to be tailored specifically to the user's machine, MPI -ranks, use of threading or accelerators, the simulated system, and the -simulation details. In addition, it is possible that parameters could -be evolved with the simulation on-the-fly, which is useful for systems -that are dynamically evolving (e.g. changes in box size/shape or -number of particles). - -When this fix is invoked, LAMMPS will perform short timed tests of -various parameter sets to determine the optimal parameters. Tests are -performed on-the-fly, with a new test initialized every N steps. N should -be chosen large enough so that adequate CPU time lapses between tests, -thereby providing statistically significant timings. But N should not be -chosen to be so large that an unfortunate parameter set test takes an -inordinate amount of wall time to complete. An N of 100 for most problems -seems reasonable. Once an optimal parameter set is found, that set is -used for the remainder of the run. - -This fix uses heuristics to guide it's selection of parameter sets to test, -but the actual timed results will be used to decide which set to use in the -simulation. - -It is not necessary to discard trajectories produced using sub-optimal -parameter sets, or a mix of various parameter sets, since the user-prescribed -accuracy will have been maintained throughout. However, some users may prefer -to use this fix only to discover the optimal parameter set for a given setup -that can then be used on subsequent production runs. - -This fix starts with kspace parameters that are set by the user with the -"kspace_style"_kspace_style.html and "kspace_modify"_kspace_modify.html -commands. The prescribed accuracy will be maintained by this fix throughout -the simulation. - -None of the "fix_modify"_fix_modify.html options are relevant to this -fix. - -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 fix is part of the KSPACE package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Do not set "neigh_modify once yes" or else this fix will never be -called. Reneighboring is required. - -This fix is not compatible with a hybrid pair style, long-range dispersion, -TIP4P water support, or long-range point dipole support. - -[Related commands:] - -"kspace_style"_kspace_style.html, "boundary"_boundary.html -"kspace_modify"_kspace_modify.html, "pair_style -lj/cut/coul/long"_pair_lj.html, "pair_style -lj/charmm/coul/long"_pair_charmm.html, "pair_style -lj/long"_pair_lj_long.html, "pair_style -lj/long/coul/long"_pair_lj_long.html, -"pair_style buck/coul/long"_pair_buck.html - -[Default:] - diff --git a/doc/txt/fix_vector.txt b/doc/txt/fix_vector.txt deleted file mode 100644 index e1bfbe5738073e466f78f2742ed154e13884dc81..0000000000000000000000000000000000000000 --- a/doc/txt/fix_vector.txt +++ /dev/null @@ -1,162 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix vector command :h3 - -[Syntax:] - -fix ID group-ID vector Nevery value1 value2 ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -vector = style name of this fix command :l -Nevery = use input values every this many timesteps :l -one or more input values can be listed :l -value = c_ID, c_ID\[N\], f_ID, f_ID\[N\], v_name :l - c_ID = global scalar calculated by a compute with ID - c_ID\[I\] = Ith component of global vector calculated by a compute with ID - f_ID = global scalar calculated by a fix with ID - f_ID\[I\] = Ith component of global vector calculated by a fix with ID - v_name = value calculated by an equal-style variable with name - v_name\[I\] = Ith component of vector-style variable with name :pre -:ule - -[Examples:] - -fix 1 all vector 100 c_myTemp -fix 1 all vector 5 c_myTemp v_integral :pre - -[Description:] - -Use one or more global values as inputs every few timesteps, and -simply store them. For a single specified value, the values are -stored as a global vector of growing length. For multiple specified -values, they are stored as rows in a global array, whose number of -rows is growing. The resulting vector or array can be used by other -"output commands"_Howto_output.html. - -One way to to use this command is to accumulate a vector that is -time-integrated using the "variable trap()"_variable.html function. -For example the velocity auto-correlation function (VACF) can be -time-integrated, to yield a diffusion coefficient, as follows: - -compute 2 all vacf -fix 5 all vector 1 c_2\[4\] -variable diff equal dt*trap(f_5) -thermo_style custom step v_diff :pre - -The group specified with this command is ignored. However, note that -specified values may represent calculations performed by computes and -fixes which store their own "group" definitions. - -Each listed value can be the result of a "compute"_compute.html or -"fix"_fix.html or the evaluation of an equal-style or vector-style -"variable"_variable.html. In each case, the compute, fix, or variable -must produce a global quantity, not a per-atom or local quantity. And -the global quantity must be a scalar, not a vector or array. - -"Computes"_compute.html that produce global quantities are those which -do not have the word {atom} in their style name. Only a few -"fixes"_fix.html produce global quantities. See the doc pages for -individual fixes for info on which ones produce such values. -"Variables"_variable.html of style {equal} or {vector} are the only -ones that can be used with this fix. Variables of style {atom} cannot -be used, since they produce per-atom values. - -The {Nevery} argument specifies on what timesteps the input values -will be used in order to be stored. Only timesteps that are a -multiple of {Nevery}, including timestep 0, will contribute values. - -Note that if you perform multiple runs, using the "pre no" option of -the "run"_run.html command to avoid initialization on subsequent runs, -then you need to use the {stop} keyword with the first "run"_run.html -command with a timestep value that encompasses all the runs. This is -so that the vector or array stored by this fix can be allocated to a -sufficient size. - -:line - -If a value begins with "c_", a compute ID must follow which has been -previously defined in the input script. If no bracketed term is -appended, the global scalar calculated by the compute is used. If a -bracketed term is appended, the Ith element of the global vector -calculated by the compute is used. - -Note that there is a "compute reduce"_compute_reduce.html command -which can sum per-atom quantities into a global scalar or vector which -can thus be accessed by fix vector. Or it can be a compute defined -not in your input script, but by "thermodynamic -output"_thermo_style.html or other fixes such as "fix nvt"_fix_nh.html -or "fix temp/rescale"_fix_temp_rescale.html. See the doc pages for -these commands which give the IDs of these computes. Users can also -write code for their own compute styles and "add them to -LAMMPS"_Modify.html. - -If a value begins with "f_", a fix ID must follow which has been -previously defined in the input script. If no bracketed term is -appended, the global scalar calculated by the fix is used. If a -bracketed term is appended, the Ith element of the global vector -calculated by the fix is used. - -Note that some fixes only produce their values on certain timesteps, -which must be compatible with {Nevery}, else an error will result. -Users can also write code for their own fix styles and "add them to -LAMMPS"_Modify.html. - -If a value begins with "v_", a variable name must follow which has -been previously defined in the input script. An equal-style or -vector-style variable can be referenced; the latter requires a -bracketed term to specify the Ith element of the vector calculated by -the variable. See the "variable"_variable.html command for details. -Note that variables of style {equal} and {vector} define a formula -which can reference individual atom properties or thermodynamic -keywords, or they can invoke other computes, fixes, or variables when -they are evaluated, so this is a very general means of specifying -quantities to be stored by fix vector. - -: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. - -This fix produces a global vector or global array which can be -accessed by various "output commands"_Howto_output.html. The values -can only be accessed on timesteps that are multiples of {Nevery}. - -A vector is produced if only a single input value is specified. -An array is produced if multiple input values are specified. -The length of the vector or the number of rows in the array grows -by 1 every {Nevery} timesteps. - -If the fix produces a vector, then the entire vector will be either -"intensive" or "extensive", depending on whether the values stored in -the vector are "intensive" or "extensive". If the fix produces an -array, then all elements in the array must be the same, either -"intensive" or "extensive". If a compute or fix provides the value -stored, then the compute or fix determines whether the value is -intensive or extensive; see the doc page for that compute or fix for -further info. Values produced by a variable are treated as intensive. - -This fix can allocate storage for stored values accumulated over -multiple runs, using the {start} and {stop} keywords of the -"run"_run.html command. See the "run"_run.html command for details of -how to do this. If using the "run pre no"_run.html command option, -this is required to allow the fix to allocate sufficient storage for -stored values. - -This fix is not invoked during "energy minimization"_minimize.html. - -[Restrictions:] none - -[Related commands:] - -"compute"_compute.html, "variable"_variable.html - -[Default:] none diff --git a/doc/txt/fix_viscosity.txt b/doc/txt/fix_viscosity.txt deleted file mode 100644 index d86b13d0557f52e79685a06e3196333ae7147802..0000000000000000000000000000000000000000 --- a/doc/txt/fix_viscosity.txt +++ /dev/null @@ -1,168 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix viscosity command :h3 - -[Syntax:] - -fix ID group-ID viscosity N vdim pdim Nbin keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -viscosity = style name of this fix command :l -N = perform momentum exchange every N steps :l -vdim = {x} or {y} or {z} = which momentum component to exchange :l -pdim = {x} or {y} or {z} = direction of momentum transfer :l -Nbin = # of layers in pdim direction (must be even number) :l - -zero or more keyword/value pairs may be appended :l -keyword = {swap} or {target} :l - {swap} value = Nswap = number of swaps to perform every N steps - {vtarget} value = V or INF = target velocity of swap partners (velocity units) :pre -:ule - -[Examples:] - -fix 1 all viscosity 100 x z 20 -fix 1 all viscosity 50 x z 20 swap 2 vtarget 1.5 :pre - -[Description:] - -Use the Muller-Plathe algorithm described in "this -paper"_#Muller-Plathe2 to exchange momenta between two particles in -different regions of the simulation box every N steps. This induces a -shear velocity profile in the system. As described below this enables -a viscosity of the fluid to be calculated. This algorithm is -sometimes called a reverse non-equilibrium MD (reverse NEMD) approach -to computing viscosity. This is because the usual NEMD approach is to -impose a shear velocity profile on the system and measure the response -via an off-diagonal component of the stress tensor, which is -proportional to the momentum flux. In the Muller-Plathe method, the -momentum flux is imposed, and the shear velocity profile is the -system's response. - -The simulation box is divided into {Nbin} layers in the {pdim} -direction, where the layer 1 is at the low end of that dimension and -the layer {Nbin} is at the high end. Every N steps, Nswap pairs of -atoms are chosen in the following manner. Only atoms in the fix group -are considered. Nswap atoms in layer 1 with positive velocity -components in the {vdim} direction closest to the target value {V} are -selected. Similarly, Nswap atoms in the "middle" layer (see below) with -negative velocity components in the {vdim} direction closest to the -negative of the target value {V} are selected. The two sets of Nswap -atoms are paired up and their {vdim} momenta components are swapped -within each pair. This resets their velocities, typically in opposite -directions. Over time, this induces a shear velocity profile in the -system which can be measured using commands such as the following, -which writes the profile to the file tmp.profile: - -compute layers all chunk/atom bin/1d z lower 0.05 units reduced -fix f1 all ave/chunk 100 10 1000 layers vx file tmp.profile :pre - -Note that by default, Nswap = 1 and vtarget = INF, though this can be -changed by the optional {swap} and {vtarget} keywords. When vtarget = -INF, one or more atoms with the most positive and negative velocity -components are selected. Setting these parameters appropriately, in -conjunction with the swap rate N, allows the momentum flux rate to be -adjusted across a wide range of values, and the momenta to be -exchanged in large chunks or more smoothly. - -The "middle" layer for momenta swapping is defined as the {Nbin}/2 + 1 -layer. Thus if {Nbin} = 20, the two swapping layers are 1 and 11. -This should lead to a symmetric velocity profile since the two layers -are separated by the same distance in both directions in a periodic -sense. This is why {Nbin} is restricted to being an even number. - -As described below, the total momentum transferred by these velocity -swaps is computed by the fix and can be output. Dividing this -quantity by time and the cross-sectional area of the simulation box -yields a momentum flux. The ratio of momentum flux to the slope of -the shear velocity profile is proportional to the viscosity of the -fluid, in appropriate units. See the "Muller-Plathe -paper"_#Muller-Plathe2 for details. - -NOTE: If your system is periodic in the direction of the momentum -flux, then the flux is going in 2 directions. This means the -effective momentum flux in one direction is reduced by a factor of 2. -You will see this in the equations for viscosity in the Muller-Plathe -paper. LAMMPS is simply tallying momentum which does not account for -whether or not your system is periodic; you must use the value -appropriately to yield a viscosity for your system. - -NOTE: After equilibration, if the velocity profile you observe is not -linear, then you are likely swapping momentum too frequently and are -not in a regime of linear response. In this case you cannot -accurately infer a viscosity and should try increasing the Nevery -parameter. - -An alternative method for calculating a viscosity is to run a NEMD -simulation, as described on the "Howto nemd"_Howto_nemd.html doc page. -NEMD simulations deform the simulation box via the "fix -deform"_fix_deform.html command. Thus they cannot be run on a charged -system using a "PPPM solver"_kspace_style.html since PPPM does not -currently support non-orthogonal boxes. Using fix viscosity keeps the -box orthogonal; thus it does not suffer from this limitation. - -[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. - -This fix computes a global scalar which can be accessed by various -"output commands"_Howto_output.html. The scalar is the cumulative -momentum transferred between the bottom and middle of the simulation -box (in the {pdim} direction) is stored as a scalar quantity by this -fix. This quantity is zeroed when the fix is defined and accumulates -thereafter, once every N steps. The units of the quantity are -momentum = mass*velocity. The scalar value calculated by this fix is -"intensive". - -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 fix is part of the MISC package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Swaps conserve both momentum and kinetic energy, even if the masses of -the swapped atoms are not equal. Thus you should not need to -thermostat the system. If you do use a thermostat, you may want to -apply it only to the non-swapped dimensions (other than {vdim}). - -LAMMPS does not check, but you should not use this fix to swap -velocities of atoms that are in constrained molecules, e.g. via "fix -shake"_fix_shake.html or "fix rigid"_fix_rigid.html. This is because -application of the constraints will alter the amount of transferred -momentum. You should, however, be able to use flexible molecules. -See the "Maginn paper"_#Maginn for an example of using this algorithm -in a computation of alcohol molecule properties. - -When running a simulation with large, massive particles or molecules -in a background solvent, you may want to only exchange momenta between -solvent particles. - -[Related commands:] - -"fix ave/chunk"_fix_ave_chunk.html, "fix -thermal/conductivity"_fix_thermal_conductivity.html - -[Default:] - -The option defaults are swap = 1 and vtarget = INF. - -:line - -:link(Muller-Plathe2) -[(Muller-Plathe)] Muller-Plathe, Phys Rev E, 59, 4894-4898 (1999). - -:link(Maginn) -[(Maginn)] Kelkar, Rafferty, Maginn, Siepmann, Fluid Phase Equilibria, -260, 218-231 (2007). diff --git a/doc/txt/fix_viscous.txt b/doc/txt/fix_viscous.txt deleted file mode 100644 index c5a3ede0b24a908ffb9ed5652af2d179400a0dd0..0000000000000000000000000000000000000000 --- a/doc/txt/fix_viscous.txt +++ /dev/null @@ -1,105 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix viscous command :h3 - -[Syntax:] - -fix ID group-ID viscous gamma keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -viscous = style name of this fix command :l -gamma = damping coefficient (force/velocity units) :l -zero or more keyword/value pairs may be appended :l -keyword = {scale} - {scale} values = type ratio - type = atom type (1-N) - ratio = factor to scale the damping coefficient by :pre -:ule - -[Examples:] - -fix 1 flow viscous 0.1 -fix 1 damp viscous 0.5 scale 3 2.5 :pre - -[Description:] - -Add a viscous damping force to atoms in the group that is proportional -to the velocity of the atom. The added force can be thought of as a -frictional interaction with implicit solvent, i.e. the no-slip Stokes -drag on a spherical particle. In granular simulations this can be -useful for draining the kinetic energy from the system in a controlled -fashion. If used without additional thermostatting (to add kinetic -energy to the system), it has the effect of slowly (or rapidly) -freezing the system; hence it can also be used as a simple energy -minimization technique. - -The damping force F is given by F = - gamma * velocity. The larger -the coefficient, the faster the kinetic energy is reduced. If the -optional keyword {scale} is used, gamma can scaled up or down by the -specified factor for atoms of that type. It can be used multiple -times to adjust gamma for several atom types. - -NOTE: You should specify gamma in force/velocity units. This is not -the same as mass/time units, at least for some of the LAMMPS -"units"_units.html options like "real" or "metal" that are not -self-consistent. - -In a Brownian dynamics context, gamma = Kb T / D, where Kb = -Boltzmann's constant, T = temperature, and D = particle diffusion -coefficient. D can be written as Kb T / (3 pi eta d), where eta = -dynamic viscosity of the frictional fluid and d = diameter of -particle. This means gamma = 3 pi eta d, and thus is proportional to -the viscosity of the fluid and the particle diameter. - -In the current implementation, rather than have the user specify a -viscosity, gamma is specified directly in force/velocity units. If -needed, gamma can be adjusted for atoms of different sizes -(i.e. sigma) by using the {scale} keyword. - -Note that Brownian dynamics models also typically include a randomized -force term to thermostat the system at a chosen temperature. The "fix -langevin"_fix_langevin.html command does this. It has the same -viscous damping term as fix viscous and adds a random force to each -atom. The random force term is proportional to the sqrt of the chosen -thermostatting temperature. Thus if you use fix langevin with a -target T = 0, its random force term is zero, and you are essentially -performing the same operation as fix viscous. Also note that the -gamma of fix viscous is related to the damping parameter of "fix -langevin"_fix_langevin.html, however the former is specified in units -of force/velocity and the latter in units of time, so that it can more -easily be used as a thermostat. - -: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"_Howto_output.html. -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is modifying forces. Default is the outermost level. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. This fix should only -be used with damped dynamics minimizers that allow for -non-conservative forces. See the "min_style"_min_style.html command -for details. - -[Restrictions:] none - -[Related commands:] - -"fix langevin"_fix_langevin.html - -[Default:] none diff --git a/doc/txt/fix_wall.txt b/doc/txt/fix_wall.txt deleted file mode 100644 index 7868bacf0424de7ec9ba4e2f9203e4606ed8dbf3..0000000000000000000000000000000000000000 --- a/doc/txt/fix_wall.txt +++ /dev/null @@ -1,352 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix wall/lj93 command :h3 -fix wall/lj93/kk command :h3 -fix wall/lj126 command :h3 -fix wall/lj1043 command :h3 -fix wall/colloid command :h3 -fix wall/harmonic command :h3 -fix wall/morse command :h3 - -[Syntax:] - -fix ID group-ID style face args ... keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -style = {wall/lj93} or {wall/lj126} or {wall/lj1043} or {wall/colloid} or {wall/harmonic} or {wall/morse} :l -one or more face/arg pairs may be appended :l -face = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} :l - args for styles {lj93} or {lj126} or {lj1043} or {colloid} or {harmonic} :l - args = coord epsilon sigma cutoff - coord = position of wall = EDGE or constant or variable - EDGE = current lo or hi edge of simulation box - constant = number like 0.0 or -30.0 (distance units) - variable = "equal-style variable"_variable.html like v_x or v_wiggle - epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units) - epsilon can be a variable (see below) - sigma = size factor for wall-particle interaction (distance units) - sigma can be a variable (see below) - cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :pre - args for style {morse} :l - args = coord D_0 alpha r_0 cutoff - coord = position of wall = EDGE or constant or variable - EDGE = current lo or hi edge of simulation box - constant = number like 0.0 or -30.0 (distance units) - variable = "equal-style variable"_variable.html like v_x or v_wiggle - D_0 = depth of the potential (energy units) - D_0 can be a variable (see below) - alpha = width factor for wall-particle interaction (1/distance units) - alpha can be a variable (see below) - r_0 = distance of the potential minimum from the face of region (distance units) - r_0 can be a variable (see below) - cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :pre -zero or more keyword/value pairs may be appended :l -keyword = {units} or {fld} :l - {units} value = {lattice} or {box} - {lattice} = the wall position is defined in lattice units - {box} = the wall position is defined in simulation box units - {fld} value = {yes} or {no} - {yes} = invoke the wall constraint to be compatible with implicit FLD - {no} = invoke the wall constraint in the normal way - {pbc} value = {yes} or {no} - {yes} = allow periodic boundary in a wall dimension - {no} = require non-perioidic boundaries in any wall dimension :pre -:ule - -[Examples:] - -fix wallhi all wall/lj93 xlo -1.0 1.0 1.0 2.5 units box -fix wallhi all wall/lj93 xhi EDGE 1.0 1.0 2.5 -fix wallhi all wall/morse xhi EDGE 1.0 1.0 1.0 2.5 units box -fix wallhi all wall/lj126 v_wiggle 23.2 1.0 1.0 2.5 -fix zwalls all wall/colloid zlo 0.0 1.0 1.0 0.858 zhi 40.0 1.0 1.0 0.858 :pre - -[Description:] - -Bound the simulation domain on one or more of its faces with a flat -wall that interacts with the atoms in the group by generating a force -on the atom in a direction perpendicular to the wall. The energy of -wall-particle interactions depends on the style. - -For style {wall/lj93}, the energy E is given by the 9/3 potential: - -:c,image(Eqs/fix_wall_lj93.jpg) - -For style {wall/lj126}, the energy E is given by the 12/6 potential: - -:c,image(Eqs/pair_lj.jpg) - -For style {wall/lj1043}, the energy E is given by the 10/4/3 potential: - -:c,image(Eqs/fix_wall_lj1043.jpg) - -For style {wall/colloid}, the energy E is given by an integrated form -of the "pair_style colloid"_pair_colloid.html potential: - -:c,image(Eqs/fix_wall_colloid.jpg) - -For style {wall/harmonic}, the energy E is given by a harmonic spring -potential: - -:c,image(Eqs/fix_wall_harmonic.jpg) - -For style {wall/morse}, the energy E is given by a Morse potential: - -:c,image(Eqs/pair_morse.jpg) - -In all cases, {r} is the distance from the particle to the wall at -position {coord}, and Rc is the {cutoff} distance at which the -particle and wall no longer interact. The energy of the wall -potential is shifted so that the wall-particle interaction energy is -0.0 at the cutoff distance. - -Up to 6 walls or faces can be specified in a single command: {xlo}, -{xhi}, {ylo}, {yhi}, {zlo}, {zhi}. A {lo} face interacts with -particles near the lower side of the simulation box in that dimension. -A {hi} face interacts with particles near the upper side of the -simulation box in that dimension. - -The position of each wall can be specified in one of 3 ways: as the -EDGE of the simulation box, as a constant value, or as a variable. If -EDGE is used, then the corresponding boundary of the current -simulation box is used. If a numeric constant is specified then the -wall is placed at that position in the appropriate dimension (x, y, or -z). In both the EDGE and constant cases, the wall will never move. -If the wall position is a variable, it should be specified as v_name, -where name is an "equal-style variable"_variable.html name. In this -case the variable is evaluated each timestep and the result becomes -the current position of the reflecting wall. Equal-style variables -can specify formulas with various mathematical functions, and include -"thermo_style"_thermo_style.html command keywords for the simulation -box parameters and timestep and elapsed time. Thus it is easy to -specify a time-dependent wall position. See examples below. - -For the {wall/lj93} and {wall/lj126} and {wall/lj1043} styles, -{epsilon} and {sigma} are the usual Lennard-Jones parameters, which -determine the strength and size of the particle as it interacts with -the wall. Epsilon has energy units. Note that this {epsilon} and -{sigma} may be different than any {epsilon} or {sigma} values defined -for a pair style that computes particle-particle interactions. - -The {wall/lj93} interaction is derived by integrating over a 3d -half-lattice of Lennard-Jones 12/6 particles. The {wall/lj126} -interaction is effectively a harder, more repulsive wall interaction. -The {wall/lj1043} interaction is yet a different form of wall -interaction, described in Magda et al in "(Magda)"_#Magda. - -For the {wall/colloid} style, {R} is the radius of the colloid -particle, {D} is the distance from the surface of the colloid particle -to the wall (r-R), and {sigma} is the size of a constituent LJ -particle inside the colloid particle and wall. Note that the cutoff -distance Rc in this case is the distance from the colloid particle -center to the wall. The prefactor {epsilon} can be thought of as an -effective Hamaker constant with energy units for the strength of the -colloid-wall interaction. More specifically, the {epsilon} pre-factor -= 4 * pi^2 * rho_wall * rho_colloid * epsilon * sigma^6, where epsilon -and sigma are the LJ parameters for the constituent LJ -particles. Rho_wall and rho_colloid are the number density of the -constituent particles, in the wall and colloid respectively, in units -of 1/volume. - -The {wall/colloid} interaction is derived by integrating over -constituent LJ particles of size {sigma} within the colloid particle -and a 3d half-lattice of Lennard-Jones 12/6 particles of size {sigma} -in the wall. As mentioned in the preceding paragraph, the density of -particles in the wall and colloid can be different, as specified by -the {epsilon} pre-factor. - -For the {wall/harmonic} style, {epsilon} is effectively the spring -constant K, and has units (energy/distance^2). The input parameter -{sigma} is ignored. The minimum energy position of the harmonic -spring is at the {cutoff}. This is a repulsive-only spring since the -interaction is truncated at the {cutoff} - -For the {wall/morse} style, the three parameters are in this order: -{D_0} the depth of the potential, {alpha} the width parameter, and -{r_0} the location of the minimum. {D_0} has energy units, {alpha} -inverse distance units, and {r_0} distance units. - -For any wall, the {epsilon} and/or {sigma} and/or {alpha} parameter can -be specified -as an "equal-style variable"_variable.html, in which case it should be -specified as v_name, where name is the variable name. As with a -variable wall position, the variable is evaluated each timestep and -the result becomes the current epsilon or sigma of the wall. -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent wall interaction. - -NOTE: For all of the styles, you must insure that r is always > 0 for -all particles in the group, or LAMMPS will generate an error. This -means you cannot start your simulation with particles at the wall -position {coord} (r = 0) or with particles on the wrong side of the -wall (r < 0). For the {wall/lj93} and {wall/lj126} styles, the energy -of the wall/particle interaction (and hence the force on the particle) -blows up as r -> 0. The {wall/colloid} style is even more -restrictive, since the energy blows up as D = r-R -> 0. This means -the finite-size particles of radius R must be a distance larger than R -from the wall position {coord}. The {harmonic} style is a softer -potential and does not blow up as r -> 0, but you must use a large -enough {epsilon} that particles always reamin on the correct side of -the wall (r > 0). - -The {units} keyword determines the meaning of the distance units used -to define a wall position, but only when a numeric constant or -variable is used. It is not relevant when EDGE is used to specify a -face position. In the variable case, the variable is assumed to -produce a value compatible with the {units} setting you specify. - -A {box} value selects standard distance units as defined by the -"units"_units.html command, e.g. Angstroms for units = real or metal. -A {lattice} value means the distance units are in lattice spacings. -The "lattice"_lattice.html command must have been previously used to -define the lattice spacings. - -The {fld} keyword can be used with a {yes} setting to invoke the wall -constraint before pairwise interactions are computed. This allows an -implicit FLD model using "pair_style lubricateU"_pair_lubricateU.html -to include the wall force in its calculations. If the setting is -{no}, wall forces are imposed after pairwise interactions, in the -usual manner. - -The {pbc} keyword can be used with a {yes} setting to allow walls to -be specified in a periodic dimension. See the -"boundary"_boundary.html command for options on simulation box -boundaries. The default for {pbc} is {no}, which means the system -must be non-periodic when using a wall. But you may wish to use a -periodic box. E.g. to allow some particles to interact with the wall -via the fix group-ID, and others to pass through it and wrap around a -periodic box. In this case you should insure that the wall if -sufficiently far enough away from the box boundary. If you do not, -then particles may interact with both the wall and with periodic -images on the other side of the box, which is probably not what you -want. - -:line - -Here are examples of variable definitions that move the wall position -in a time-dependent fashion using equal-style -"variables"_variable.html. The wall interaction parameters (epsilon, -sigma) could be varied with additional variable definitions. - -variable ramp equal ramp(0,10) -fix 1 all wall xlo v_ramp 1.0 1.0 2.5 :pre - -variable linear equal vdisplace(0,20) -fix 1 all wall xlo v_linear 1.0 1.0 2.5 :pre - -variable wiggle equal swiggle(0.0,5.0,3.0) -fix 1 all wall xlo v_wiggle 1.0 1.0 2.5 :pre - -variable wiggle equal cwiggle(0.0,5.0,3.0) -fix 1 all wall xlo v_wiggle 1.0 1.0 2.5 :pre - -The ramp(lo,hi) function adjusts the wall position linearly from lo to -hi over the course of a run. The vdisplace(c0,velocity) function does -something similar using the equation position = c0 + velocity*delta, -where delta is the elapsed time. - -The swiggle(c0,A,period) function causes the wall position to -oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: - -position = c0 + A sin(omega*delta) :pre - -The cwiggle(c0,A,period) function causes the wall position to -oscillate sinusoidally according to this equation, which will have an -initial wall velocity of 0.0, and thus may impose a gentler -perturbation on the particles: - -position = c0 + A (1 - cos(omega*delta)) :pre - -:line - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy of interaction between atoms and each wall to -the system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {virial} option is supported by this -fix to add the contribution due to the interaction between -atoms and each wall to the system's virial as part of "thermodynamic -output"_thermo_style.html. The default is {virial no} - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a global scalar energy and a global vector of -forces, which can be accessed by various "output -commands"_Howto_output.html. Note that the scalar energy is the sum -of interactions with all defined walls. If you want the energy on a -per-wall basis, you need to use multiple fix wall commands. The -length of the vector is equal to the number of walls defined by the -fix. Each vector value is the normal force on a specific wall. Note -that an outward force on a wall will be a negative value for {lo} -walls and a positive value for {hi} walls. The scalar and vector -values calculated by this fix are "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -NOTE: If you want the atom/wall interaction energy to be included in -the total potential energy of the system (the quantity being -minimized), you MUST enable the "fix_modify"_fix_modify.html {energy} -option for this fix. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] none - -[Related commands:] - -"fix wall/reflect"_fix_wall_reflect.html, -"fix wall/gran"_fix_wall_gran.html, -"fix wall/region"_fix_wall_region.html - -[Default:] - -The option defaults units = lattice, fld = no, and pbc = no. - -:line - -:link(Magda) -[(Magda)] Magda, Tirrell, Davis, J Chem Phys, 83, 1888-1901 (1985); -erratum in JCP 84, 2901 (1986). diff --git a/doc/txt/fix_wall_body_polygon.txt b/doc/txt/fix_wall_body_polygon.txt deleted file mode 100644 index 45cbb2841db4e4bb8d74c24e1aa704b1a3f3da2a..0000000000000000000000000000000000000000 --- a/doc/txt/fix_wall_body_polygon.txt +++ /dev/null @@ -1,104 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix wall/body/polygon command :h3 - -[Syntax:] - -fix ID group-ID wall/body/polygon k_n c_n c_t wallstyle args keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -wall/body/polygon = style name of this fix command :l -k_n = normal repulsion strength (force/distance or pressure units) :l -c_n = normal damping coefficient (force/distance or pressure units) :l -c_t = tangential damping coefficient (force/distance or pressure units) :l -wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l -args = list of arguments for a particular style :l - {xplane} or {yplane} args = lo hi - lo,hi = position of lower and upper plane (distance units), either can be NULL) - {zcylinder} args = radius - radius = cylinder radius (distance units) :pre -zero or more keyword/value pairs may be appended to args :l -keyword = {wiggle} :l - {wiggle} values = dim amplitude period - dim = {x} or {y} or {z} - amplitude = size of oscillation (distance units) - period = time of oscillation (time units) :pre -:ule - -[Examples:] - -fix 1 all wall/body/polygon 1000.0 20.0 5.0 xplane -10.0 10.0 - -[Description:] - -This fix is for use with 2d models of body particles of style -{rounded/polygon}. It bounds the simulation domain with wall(s). All -particles in the group interact with the wall when they are close -enough to touch it. The nature of the interaction between the wall -and the polygon particles is the same as that between the polygon -particles themselves, which is similar to a Hookean potential. See -the "Howto body"_Howto_body.html doc page for more details on using -body particles. - -The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as -those specified with the "pair_style -body/rounded/polygon"_pair_body_rounded_polygon.html command. - -The {wallstyle} can be planar or cylindrical. The 2 planar options -specify a pair of walls in a dimension. Wall positions are given by -{lo} and {hi}. Either of the values can be specified as NULL if a -single wall is desired. For a {zcylinder} wallstyle, the cylinder's -axis is at x = y = 0.0, and the radius of the cylinder is specified. - -Optionally, the wall can be moving, if the {wiggle} keyword is -appended. - -For the {wiggle} keyword, the wall oscillates sinusoidally, similar to -the oscillations of particles which can be specified by the "fix -move"_fix_move.html command. This is useful in packing simulations of -particles. The arguments to the {wiggle} keyword specify a dimension -for the motion, as well as it's {amplitude} and {period}. Note that -if the dimension is in the plane of the wall, this is effectively a -shearing motion. If the dimension is perpendicular to the wall, it is -more of a shaking motion. A {zcylinder} wall can only be wiggled in -the z dimension. - -Each timestep, the position of a wiggled wall in the appropriate {dim} -is set according to this equation: - -position = coord + A - A cos (omega * delta) :pre - -where {coord} is the specified initial position of the wall, {A} is -the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the time -elapsed since the fix was specified. The velocity of the wall is set -to the derivative of this expression. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -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"_Howto_output.html. 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 fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Any dimension (xy) that has a wall must be non-periodic. - -[Related commands:] - -"atom_style body"_atom_style.html, "pair_style -body/rounded/polygon"_pair_body_rounded_polygon.html - -[Default:] none diff --git a/doc/txt/fix_wall_body_polyhedron.txt b/doc/txt/fix_wall_body_polyhedron.txt deleted file mode 100644 index 231ab1f0fe7763ddbe0fa3339cc5c0e5de3813ab..0000000000000000000000000000000000000000 --- a/doc/txt/fix_wall_body_polyhedron.txt +++ /dev/null @@ -1,103 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix wall/body/polyhedron command :h3 - -[Syntax:] - -fix ID group-ID wall/body/polyhedron k_n c_n c_t wallstyle args keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -wall/body/polyhedron = style name of this fix command :l -k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) :l -c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) :l -c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) :l -wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l -args = list of arguments for a particular style :l - {xplane} or {yplane} args = lo hi - lo,hi = position of lower and upper plane (distance units), either can be NULL) - {zcylinder} args = radius - radius = cylinder radius (distance units) :pre -zero or more keyword/value pairs may be appended to args :l -keyword = {wiggle} :l - {wiggle} values = dim amplitude period - dim = {x} or {y} or {z} - amplitude = size of oscillation (distance units) - period = time of oscillation (time units) :pre -:ule - -[Examples:] - -fix 1 all wall/body/polyhedron 1000.0 20.0 5.0 xplane -10.0 10.0 - -[Description:] - -This fix is for use with 3d models of body particles of style -{rounded/polyhedron}. It bounds the simulation domain with wall(s). -All particles in the group interact with the wall when they are close -enough to touch it. The nature of the interaction between the wall -and the polygon particles is the same as that between the polygon -particles themselves, which is similar to a Hookean potential. See -the "Howto body"_Howto_body.html doc page for more details on using -body particles. - -The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as -those specified with the "pair_style -body/rounded/polyhedron"_pair_body_rounded_polyhedron.html command. - -The {wallstyle} can be planar or cylindrical. The 3 planar options -specify a pair of walls in a dimension. Wall positions are given by -{lo} and {hi}. Either of the values can be specified as NULL if a -single wall is desired. For a {zcylinder} wallstyle, the cylinder's -axis is at x = y = 0.0, and the radius of the cylinder is specified. - -Optionally, the wall can be moving, if the {wiggle} keyword is appended. - -For the {wiggle} keyword, the wall oscillates sinusoidally, similar to -the oscillations of particles which can be specified by the "fix -move"_fix_move.html command. This is useful in packing simulations of -particles. The arguments to the {wiggle} keyword specify a dimension -for the motion, as well as it's {amplitude} and {period}. Note that -if the dimension is in the plane of the wall, this is effectively a -shearing motion. If the dimension is perpendicular to the wall, it is -more of a shaking motion. A {zcylinder} wall can only be wiggled in -the z dimension. - -Each timestep, the position of a wiggled wall in the appropriate {dim} -is set according to this equation: - -position = coord + A - A cos (omega * delta) :pre - -where {coord} is the specified initial position of the wall, {A} is -the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the time -elapsed since the fix was specified. The velocity of the wall is set -to the derivative of this expression. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -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"_Howto_output.html. 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 fix is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Any dimension (xyz) that has a wall must be non-periodic. - -[Related commands:] - -"atom_style body"_atom_style.html, "pair_style -body/rounded/polyhedron"_pair_body_rounded_polyhedron.html - -[Default:] none diff --git a/doc/txt/fix_wall_ees.txt b/doc/txt/fix_wall_ees.txt deleted file mode 100644 index 4cc91f52227ba759280c9a7db34ef706d0c45fbd..0000000000000000000000000000000000000000 --- a/doc/txt/fix_wall_ees.txt +++ /dev/null @@ -1,118 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix wall/ees command :h3 -fix wall/region/ees command :h3 - -[Syntax:] - -fix ID group-ID style args :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -style = {wall/ees} or {wall/region/ees} :l - args for style {wall/ees}: one or more {face parameters} groups may be appended - face = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} - parameters = coord epsilon sigma cutoff - coord = position of wall = EDGE or constant or variable - EDGE = current lo or hi edge of simulation box - constant = number like 0.0 or -30.0 (distance units) - variable = "equal-style variable"_variable.html like v_x or v_wiggle - epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units) - epsilon can be a variable (see below) - sigma = size factor for wall-particle interaction (distance units) - sigma can be a variable (see below) - cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :pre - - args for style {wall/region/ees}: {region-ID} {epsilon} {sigma} {cutoff} - region-ID = region whose boundary will act as wall - epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units) - sigma = size factor for wall-particle interaction (distance units) - cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :pre - :ule - -[Examples:] - -fix wallhi all wall/ees xlo -1.0 1.0 1.0 2.5 units box -fix wallhi all wall/ees xhi EDGE 1.0 1.0 2.5 -fix wallhi all wall/ees v_wiggle 23.2 1.0 1.0 2.5 -fix zwalls all wall/ees zlo 0.0 1.0 1.0 0.858 zhi 40.0 1.0 1.0 0.858 :pre - -fix ees_cube all wall/region/ees myCube 1.0 1.0 2.5 :pre - - -[Description:] - -Fix {wall/ees} bounds the simulation domain on one or more of its -faces with a flat wall that interacts with the ellipsoidal atoms in the -group by generating a force on the atom in a direction perpendicular to -the wall and a torque parallel with the wall. The energy of -wall-particle interactions E is given by: - -:c,image(Eqs/fix_wall_ees.jpg) - -Introduced by Babadi and Ejtehadi in "(Babadi)"_#BabadiEjtehadi. Here, -{r} is the distance from the particle to the wall at position {coord}, -and Rc is the {cutoff} distance at which the particle and wall no -longer interact. Also, sigma_n is the distance between center of -ellipsoid and the nearest point of its surface to the wall. The energy -of the wall is: - -:c,image(JPG/fix_wall_ees_image.jpg) - -Details of using this command and specifications are the same as -fix/wall command. You can also find an example in USER/ees/ under -examples/ directory. - -The prefactor {epsilon} can be thought of as an -effective Hamaker constant with energy units for the strength of the -ellipsoid-wall interaction. More specifically, the {epsilon} pre-factor -= 8 * pi^2 * rho_wall * rho_ellipsoid * epsilon -* sigma_a * sigma_b * sigma_c, where epsilon is the LJ parameters for -the constituent LJ particles and sigma_a, sigma_b, and sigma_c are radii -of ellipsoidal particles. Rho_wall and rho_ellipsoid are the number -density of the constituent particles, in the wall and ellipsoid -respectively, in units of 1/volume. - -NOTE: You must insure that r is always bigger than sigma_n for -all particles in the group, or LAMMPS will generate an error. This -means you cannot start your simulation with particles touching the wall -position {coord} (r = sigma_n) or with particles penetrating the wall -(0 =< r < sigma_n) or with particles on the wrong side of the -wall (r < 0). - - -Fix {wall/region/ees} treats the surface of the geometric region defined -by the {region-ID} as a bounding wall which interacts with nearby -ellipsoidal particles according to the EES potential introduced above. - -Other details of this command are the same as for the "fix -wall/region"_fix_wall_region.html command. One may also find an example -of using this fix in the examples/USER/misc/ees/ directory. - -[Restrictions:] - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This fix requires that atoms be ellipsoids as defined by the -"atom_style ellipsoid"_atom_style.html command. - -[Related commands:] - -"fix wall"_fix_wall.html, -"pair resquared"_pair_resquared.html - -[Default:] - -none - -:line - -:link(BabadiEjtehadi) -[(Babadi)] Babadi and Ejtehadi, EPL, 77 (2007) 23002. diff --git a/doc/txt/fix_wall_gran.txt b/doc/txt/fix_wall_gran.txt deleted file mode 100644 index 4b3ff15cc961aee50f229e0f8a692ec5f861b223..0000000000000000000000000000000000000000 --- a/doc/txt/fix_wall_gran.txt +++ /dev/null @@ -1,186 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix wall/gran command :h3 - -[Syntax:] - -fix ID group-ID wall/gran fstyle fstyle_params wallstyle args keyword values ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -wall/gran = style name of this fix command :l -fstyle = style of force interactions between particles and wall :l - possible choices: hooke, hooke/history, hertz/history, granular :pre -fstyle_params = parameters associated with force interaction style :l - For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are: - Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) - Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) - gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) - gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) - xmu = static yield criterion (unitless value between 0.0 and 1.0e4) - dampflag = 0 or 1 if tangential damping force is excluded or included :pre - For {granular}, {fstyle_params} are set using the same syntax as for the {pair_coeff} command of "pair_style granular"_pair_granular.html :pre -wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l -args = list of arguments for a particular style :l - {xplane} or {yplane} or {zplane} args = lo hi - lo,hi = position of lower and upper plane (distance units), either can be NULL) - {zcylinder} args = radius - radius = cylinder radius (distance units) :pre -zero or more keyword/value pairs may be appended to args :l -keyword = {wiggle} or {shear} :l - {wiggle} values = dim amplitude period - dim = {x} or {y} or {z} - amplitude = size of oscillation (distance units) - period = time of oscillation (time units) - {shear} values = dim vshear - dim = {x} or {y} or {z} - vshear = magnitude of shear velocity (velocity units) :pre -:ule - -[Examples:] - -fix 1 all wall/gran hooke 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0 -fix 1 all wall/gran hooke/history 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL -fix 2 all wall/gran hooke 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0 -fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox -fix 4 all wall/gran/region granular jkr 1e5 1500.0 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone -fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji region myCone :pre - -[Description:] - -Bound the simulation domain of a granular system with a frictional -wall. All particles in the group interact with the wall when they are -close enough to touch it. - -The nature of the wall/particle interactions are determined by the -{fstyle} setting. It can be any of the styles defined by the -"pair_style gran/*"_pair_gran.html or the more general "pair_style -granular"_pair_granular.html" commands. Currently the options are -{hooke}, {hooke/history}, or {hertz/history} for the former, and -{granular} with all the possible options of the associated -{pair_coeff} command for the latter. The equation for the force -between the wall and particles touching it is the same as the -corresponding equation on the "pair_style gran/*"_pair_gran.html and -"pair_style_granular"_pair_granular.html doc pages, in the limit of -one of the two particles going to infinite radius and mass (flat -wall). Specifically, delta = radius - r = overlap of particle with -wall, m_eff = mass of particle, and the effective radius of contact = -RiRj/Ri+Rj is set to the radius of the particle. - -The parameters {Kn}, {Kt}, {gamma_n}, {gamma_t}, {xmu} and {dampflag} -have the same meaning and units as those specified with the -"pair_style gran/*"_pair_gran.html commands. This means a NULL can be -used for either {Kt} or {gamma_t} as described on that page. If a -NULL is used for {Kt}, then a default value is used where {Kt} = 2/7 -{Kn}. If a NULL is used for {gamma_t}, then a default value is used -where {gamma_t} = 1/2 {gamma_n}. - -All the model choices for cohesion, tangential friction, rolling -friction and twisting friction supported by the "pair_style -granular"_pair_granular.html through its {pair_coeff} command are also -supported for walls. These are discussed in greater detail on the doc -page for "pair_style granular"_pair_granular.html. - -Note that you can choose a different force styles and/or different -values for the wall/particle coefficients than for particle/particle -interactions. E.g. if you wish to model the wall as a different -material. - -NOTE: As discussed on the doc page for "pair_style -gran/*"_pair_gran.html, versions of LAMMPS before 9Jan09 used a -different equation for Hertzian interactions. This means Hertizian -wall/particle interactions have also changed. They now include a -sqrt(radius) term which was not present before. Also the previous -versions used Kn and Kt from the pairwise interaction and hardwired -dampflag to 1, rather than letting them be specified directly. This -means you can set the values of the wall/particle coefficients -appropriately in the current code to reproduce the results of a -previous Hertzian monodisperse calculation. For example, for the -common case of a monodisperse system with particles of diameter 1, Kn, -Kt, gamma_n, and gamma_s should be set sqrt(2.0) larger than they were -previously. - -The effective mass {m_eff} in the formulas listed on the "pair_style -granular"_pair_gran.html doc page is the mass of the particle for -particle/wall interactions (mass of wall is infinite). If the -particle is part of a rigid body, its mass is replaced by the mass of -the rigid body in those formulas. This is determined by searching for -a "fix rigid"_fix_rigid.html command (or its variants). - -The {wallstyle} can be planar or cylindrical. The 3 planar options -specify a pair of walls in a dimension. Wall positions are given by -{lo} and {hi}. Either of the values can be specified as NULL if a -single wall is desired. For a {zcylinder} wallstyle, the cylinder's -axis is at x = y = 0.0, and the radius of the cylinder is specified. - -Optionally, the wall can be moving, if the {wiggle} or {shear} -keywords are appended. Both keywords cannot be used together. - -For the {wiggle} keyword, the wall oscillates sinusoidally, similar to -the oscillations of particles which can be specified by the "fix -move"_fix_move.html command. This is useful in packing simulations of -granular particles. The arguments to the {wiggle} keyword specify a -dimension for the motion, as well as it's {amplitude} and {period}. -Note that if the dimension is in the plane of the wall, this is -effectively a shearing motion. If the dimension is perpendicular to -the wall, it is more of a shaking motion. A {zcylinder} wall can only -be wiggled in the z dimension. - -Each timestep, the position of a wiggled wall in the appropriate {dim} -is set according to this equation: - -position = coord + A - A cos (omega * delta) :pre - -where {coord} is the specified initial position of the wall, {A} is -the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the time -elapsed since the fix was specified. The velocity of the wall is set -to the derivative of this expression. - -For the {shear} keyword, the wall moves continuously in the specified -dimension with velocity {vshear}. The dimension must be tangential to -walls with a planar {wallstyle}, e.g. in the {y} or {z} directions for -an {xplane} wall. For {zcylinder} walls, a dimension of {z} means the -cylinder is moving in the z-direction along it's axis. A dimension of -{x} or {y} means the cylinder is spinning around the z-axis, either in -the clockwise direction for {vshear} > 0 or counter-clockwise for -{vshear} < 0. In this case, {vshear} is the tangential velocity of -the wall at whatever {radius} has been defined. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -This fix writes the shear friction state of atoms interacting with the -wall to "binary restart files"_restart.html, so that a simulation can -continue correctly if granular potentials with shear "history" effects -are being used. See the "read_restart"_read_restart.html command for -info on how to re-specify a fix in an input script that reads a -restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -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"_Howto_output.html. 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 fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Any dimension (xyz) that has a granular wall must be non-periodic. - -[Related commands:] - -"fix move"_fix_move.html, -"fix wall/gran/region"_fix_wall_gran_region.html, -"pair_style gran/*"_pair_gran.html -"pair_style granular"_pair_granular.html - -[Default:] none diff --git a/doc/txt/fix_wall_gran_region.txt b/doc/txt/fix_wall_gran_region.txt deleted file mode 100644 index 50dad364e02d3b758b04ef5d7e283a88d6c40b1a..0000000000000000000000000000000000000000 --- a/doc/txt/fix_wall_gran_region.txt +++ /dev/null @@ -1,220 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix wall/gran/region command :h3 - -[Syntax:] - -fix ID group-ID wall/gran/region fstyle fstyle_params wallstyle regionID :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -wall/region = style name of this fix command :l -fstyle = style of force interactions between particles and wall :l - possible choices: hooke, hooke/history, hertz/history, granular :pre -fstyle_params = parameters associated with force interaction style :l - For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are: - Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) - Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) - gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) - gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) - xmu = static yield criterion (unitless value between 0.0 and 1.0e4) - dampflag = 0 or 1 if tangential damping force is excluded or included :pre - For {granular}, {fstyle_params} are set using the same syntax as for the {pair_coeff} command of "pair_style granular"_pair_granular.html :pre -wallstyle = region (see "fix wall/gran"_fix_wall_gran.html for options for other kinds of walls) :l -region-ID = region whose boundary will act as wall :l,ule - -[Examples:] - -fix wall all wall/gran/region hooke/history 1000.0 200.0 200.0 100.0 0.5 1 region myCone -fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox -fix 4 all wall/gran/region granular jkr 1e5 1500.0 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone -fix 5 all wall/gran/region granular dmt 1e5 0.2 0.3 10.0 tangential mindlin NULL 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall damping tsuji region myCone :pre - -[Description:] - -Treat the surface of the geometric region defined by the {region-ID} -as a bounding frictional wall which interacts with nearby finite-size -granular particles when they are close enough to touch the wall. See -the "fix wall/region"_fix_wall_region.html and "fix -wall/gran"_fix_wall_gran.html commands for related kinds of walls for -non-granular particles and simpler wall geometries, respectively. - -Here are snapshots of example models using this command. -Corresponding input scripts can be found in examples/granregion. -Click on the images to see a bigger picture. Movies of these -simulations are "here on the Movies -page"_http://lammps.sandia.gov/movies.html#granregion of the LAMMPS -web site. - -:image(JPG/gran_funnel_small.jpg,JPG/gran_funnel.png) -:image(JPG/gran_mixer_small.jpg,JPG/gran_mixer.png) - -:line - -The distance between a particle and the region boundary is the -distance to the nearest point on the region surface. The force the -wall exerts on the particle is along the direction between that point -and the particle center, which is the direction normal to the surface -at that point. Note that if the region surface is comprised of -multiple "faces", then each face can exert a force on the particle if -it is close enough. E.g. for "region_style block"_region.html, a -particle in the interior, near a corner of the block, could feel wall -forces from 1, 2, or 3 faces of the block. - -Regions are defined using the "region"_region.html command. Note that -the region volume can be interior or exterior to the bounding surface, -which will determine in which direction the surface interacts with -particles, i.e. the direction of the surface normal. The exception to -this is if one or more {open} options are specified for the region -command, in which case particles interact with both the interior and -exterior surfaces of regions. - -Regions can either be primitive shapes (block, sphere, cylinder, etc) -or combinations of primitive shapes specified via the {union} or -{intersect} region styles. These latter styles can be used to -construct particle containers with complex shapes. - -Regions can also move dynamically via the "region"_region.html command -keywords (move) and {rotate}, or change their shape by use of variables -as inputs to the "region"_region.html command. If such a region is used -with this fix, then the region surface will move in time in the -corresponding manner. - -NOTE: As discussed on the "region"_region.html command doc page, -regions in LAMMPS do not get wrapped across periodic boundaries. It -is up to you to ensure that the region location with respect to -periodic or non-periodic boundaries is specified appropriately via the -"region"_region.html and "boundary"_boundary.html commands when using -a region as a wall that bounds particle motion. - -NOTE: For primitive regions with sharp corners and/or edges (e.g. a -block or cylinder), wall/particle forces are computed accurately for -both interior and exterior regions. For {union} and {intersect} -regions, additional sharp corners and edges may be present due to the -intersection of the surfaces of 2 or more primitive volumes. These -corners and edges can be of two types: concave or convex. Concave -points/edges are like the corners of a cube as seen by particles in -the interior of a cube. Wall/particle forces around these features -are computed correctly. Convex points/edges are like the corners of a -cube as seen by particles exterior to the cube, i.e. the points jut -into the volume where particles are present. LAMMPS does NOT compute -the location of these convex points directly, and hence wall/particle -forces in the cutoff volume around these points suffer from -inaccuracies. The basic problem is that the outward normal of the -surface is not continuous at these points. This can cause particles -to feel no force (they don't "see" the wall) when in one location, -then move a distance epsilon, and suddenly feel a large force because -they now "see" the wall. In a worst-case scenario, this can blow -particles out of the simulation box. Thus, as a general rule you -should not use the fix wall/gran/region command with {union} or -{interesect} regions that have convex points or edges resulting from -the union/intersection (convex points/edges in the union/intersection -due to a single sub-region are still OK). - -NOTE: Similarly, you should not define {union} or {intersert} regions -for use with this command that share an overlapping common face that -is part of the overall outer boundary (interior boundary is OK), even -if the face is smooth. E.g. two regions of style block in a {union} -region, where the two blocks overlap on one or more of their faces. -This is because LAMMPS discards points that are part of multiple -sub-regions when calculating wall/particle interactions, to avoid -double-counting the interaction. Having two coincident faces could -cause the face to become invisible to the particles. The solution is -to make the two faces differ by epsilon in their position. - -The nature of the wall/particle interactions are determined by the -{fstyle} setting. It can be any of the styles defined by the -"pair_style gran/*"_pair_gran.html or the more general "pair_style -granular"_pair_granular.html" commands. Currently the options are -{hooke}, {hooke/history}, or {hertz/history} for the former, and -{granular} with all the possible options of the associated -{pair_coeff} command for the latter. The equation for the force -between the wall and particles touching it is the same as the -corresponding equation on the "pair_style gran/*"_pair_gran.html and -"pair_style_granular"_pair_granular.html doc pages, but the effective -radius is calculated using the radius of the particle and the radius -of curvature of the wall at the contact point. - -Specifically, delta = radius - r = overlap of particle with wall, -m_eff = mass of particle, and RiRj/Ri+Rj is the effective radius, with -Rj replaced by the radius of curvature of the wall at the contact -point. The radius of curvature can be negative for a concave wall -section, e.g. the interior of cylinder. For a flat wall, delta = -radius - r = overlap of particle with wall, m_eff = mass of particle, -and the effective radius of contact is just the radius of the -particle. - -The parameters {Kn}, {Kt}, {gamma_n}, {gamma_t}, {xmu} and {dampflag} -have the same meaning and units as those specified with the -"pair_style gran/*"_pair_gran.html commands. This means a NULL can be -used for either {Kt} or {gamma_t} as described on that page. If a -NULL is used for {Kt}, then a default value is used where {Kt} = 2/7 -{Kn}. If a NULL is used for {gamma_t}, then a default value is used -where {gamma_t} = 1/2 {gamma_n}. - -All the model choices for cohesion, tangential friction, rolling -friction and twisting friction supported by the "pair_style -granular"_pair_granular.html through its {pair_coeff} command are also -supported for walls. These are discussed in greater detail on the doc -page for "pair_style granular"_pair_granular.html. - -Note that you can choose a different force styles and/or different -values for the 6 wall/particle coefficients than for particle/particle -interactions. E.g. if you wish to model the wall as a different -material. - -[Restart, fix_modify, output, run start/stop, minimize info:] - -Similar to "fix wall/gran"_fix_wall_gran.html command, this fix writes -the shear friction state of atoms interacting with the wall to "binary -restart files"_restart.html, so that a simulation can continue -correctly if granular potentials with shear "history" effects are -being used. This fix also includes info about a moving region in the -restart file. See the "read_restart"_read_restart.html command for -info on how to re-specify a fix in an input script that reads a -restart file, so that the operation of the fix continues in an -uninterrupted fashion. - -NOTE: Information about region definitions is NOT included in restart -files, as discussed on the "read_restart"_read_restart.html doc page. -So you must re-define your region and if it is a moving region, define -its motion attributes in a way that is consistent with the simulation -that wrote the restart file. In particular, if you want to change the -region motion attributes (e.g. its velocity), then you should ensure -the position/orientation of the region at the initial restart timestep -is the same as it was on the timestep the restart file was written. -If this is not possible, you may need to ignore info in the restart -file by defining a new fix wall/gran/region command in your restart -script, e.g. with a different fix ID. Or if you want to keep the -shear history info but discard the region motion information, you can -use the same fix ID for fix wall/gran/region, but assign it a region -with a different region ID. - -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"_Howto_output.html. 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 fix is part of the GRANULAR package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix_move"_fix_move.html, -"fix wall/gran"_fix_wall_gran.html, -"fix wall/region"_fix_wall_region.html, -"pair_style granular"_pair_gran.html, -"region"_region.html - -[Default:] none - diff --git a/doc/txt/fix_wall_piston.txt b/doc/txt/fix_wall_piston.txt deleted file mode 100644 index 475517ed66d9c1bfb85a9793a3457572a3cfe330..0000000000000000000000000000000000000000 --- a/doc/txt/fix_wall_piston.txt +++ /dev/null @@ -1,120 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix wall/piston command :h3 - -[Syntax:] - -fix ID group-ID wall/piston face ... keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -wall/piston = style name of this fix command :l -face = {zlo} :l -zero or more keyword/value pairs may be appended :l -keyword = {pos} or {vel} or {ramp} or {units} :l - {pos} args = z - z = z coordinate at which the piston begins (distance units) - {vel} args = vz - vz = final velocity of the piston (velocity units) - {ramp} = use a linear velocity ramp from 0 to vz - {temp} args = target damp seed extent - target = target velocity for region immediately ahead of the piston - damp = damping parameter (time units) - seed = random number seed for langevin kicks - extent = extent of thermostatted region (distance units) - {units} value = {lattice} or {box} - {lattice} = the wall position is defined in lattice units - {box} = the wall position is defined in simulation box units :pre -:ule - -[Examples:] - -fix xwalls all wall/piston zlo -fix walls all wall/piston zlo pos 1.0 vel 10.0 units box -fix top all wall/piston zlo vel 10.0 ramp :pre - -[Description:] - -Bound the simulation with a moving wall which reflect particles in the -specified group and drive the system with an effective infinite-mass -piston capable of driving shock waves. - -A momentum mirror technique is used, which means that if an atom (or -the wall) moves such that an atom is outside the wall on a timestep by -a distance delta (e.g. due to "fix nve"_fix_nve.html), then it is put -back inside the face by the same delta, and the velocity relative to -the moving wall is flipped in z. For instance, a stationary particle -hit with a piston wall with velocity vz, will end the timestep with a -velocity of 2*vz. - -Currently the {face} keyword can only be {zlo}. This creates a piston -moving in the positive z direction. Particles with z coordinate less -than the wall position are reflected to a z coordinate greater than -the wall position. If the piston velocity is vpz and the particle -velocity before reflection is vzi, the particle velocity after -reflection is -vzi + 2*vpz. - -The initial position of the wall can be specified by the {pos} keyword. - -The final velocity of the wall can be specified by the {vel} keyword - -The {ramp} keyword will cause the wall/piston to adjust the velocity -linearly from zero velocity to {vel} over the course of the run. If -the {ramp} keyword is omitted then the wall/piston moves at a constant -velocity defined by {vel}. - -The {temp} keyword will cause the region immediately in front of the -wall/piston to be thermostatted with a Langevin thermostat. This -region moves with the piston. The damping and kicking are measured in -the reference frame of the piston. So, a temperature of zero would -mean all particles were moving at exactly the speed of the -wall/piston. - -The {units} keyword determines the meaning of the distance units used -to define a wall position, but only when a numeric constant is used. - -A {box} value selects standard distance units as defined by the -"units"_units.html command, e.g. Angstroms for units = real or metal. -A {lattice} value means the distance units are in lattice spacings. -The "lattice"_lattice.html command must have been previously used to -define the lattice spacings. - -: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"_Howto_output.html. -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 fix style is part of the SHOCK package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -The face that has the wall/piston must be boundary type 's' -(shrink-wrapped). The opposing face can be -any boundary type other than periodic. - -A wall/piston should not be used with rigid bodies such as those -defined by a "fix rigid" command. This is because the wall/piston -displaces atoms directly rather than exerting a force on them. - -[Related commands:] - -"fix wall/reflect"_fix_wall.html command, "fix -append/atoms"_fix_append_atoms.html command - -[Default:] - -The keyword defaults are pos = 0, vel = 0, units = lattice. diff --git a/doc/txt/fix_wall_region.txt b/doc/txt/fix_wall_region.txt deleted file mode 100644 index 702ca8e694adf3ed71c66da9a80daa0329f5ec1b..0000000000000000000000000000000000000000 --- a/doc/txt/fix_wall_region.txt +++ /dev/null @@ -1,202 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix wall/region command :h3 - -[Syntax:] - -fix ID group-ID wall/region region-ID style args ... cutoff :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -wall/region = style name of this fix command :l -region-ID = region whose boundary will act as wall :l -style = {lj93} or {lj126} or {lj1043} or {colloid} or {harmonic} or {morse} :l -args for styles {lj93} or {lj126} or {lj1043} or {colloid} or {harmonic} = :l - epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units) - sigma = size factor for wall-particle interaction (distance units) :pre -args for style {morse} = :l - D_0 = depth of the potential (energy units) - alpha = width parameter (1/distance units) - r_0 = distance of the potential minimum from wall position (distance units) :pre -cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :l -:ule - -[Examples:] - -fix wall all wall/region mySphere lj93 1.0 1.0 2.5 -fix wall all wall/region mySphere harmonic 1.0 0.0 2.5 -fix wall all wall/region box_top morse 1.0 1.0 1.5 3.0 :pre - -[Description:] - -Treat the surface of the geometric region defined by the {region-ID} -as a bounding wall which interacts with nearby particles according to -the specified style. - -The distance between a particle and the surface is the distance to the -nearest point on the surface and the force the wall exerts on the -particle is along the direction between that point and the particle, -which is the direction normal to the surface at that point. Note that -if the region surface is comprised of multiple "faces", then each face -can exert a force on the particle if it is close enough. E.g. for -"region_style block"_region.html, a particle in the interior, near a -corner of the block, could feel wall forces from 1, 2, or 3 faces of -the block. - -Regions are defined using the "region"_region.html command. Note that -the region volume can be interior or exterior to the bounding surface, -which will determine in which direction the surface interacts with -particles, i.e. the direction of the surface normal. The surface of -the region only exerts forces on particles "inside" the region; if a -particle is "outside" the region it will generate an error, because it -has moved through the wall. - -Regions can either be primitive shapes (block, sphere, cylinder, etc) -or combinations of primitive shapes specified via the {union} or -{intersect} region styles. These latter styles can be used to -construct particle containers with complex shapes. Regions can also -change over time via the "region"_region.html command keywords (move) -and {rotate}. If such a region is used with this fix, then the of -region surface will move over time in the corresponding manner. - -NOTE: As discussed on the "region"_region.html command doc page, -regions in LAMMPS do not get wrapped across periodic boundaries. It -is up to you to insure that periodic or non-periodic boundaries are -specified appropriately via the "boundary"_boundary.html command when -using a region as a wall that bounds particle motion. This also means -that if you embed a region in your simulation box and want it to -repulse particles from its surface (using the "side out" option in the -"region"_region.html command), that its repulsive force will not be -felt across a periodic boundary. - -NOTE: For primitive regions with sharp corners and/or edges (e.g. a -block or cylinder), wall/particle forces are computed accurately for -both interior and exterior regions. For {union} and {intersect} -regions, additional sharp corners and edges may be present due to the -intersection of the surfaces of 2 or more primitive volumes. These -corners and edges can be of two types: concave or convex. Concave -points/edges are like the corners of a cube as seen by particles in -the interior of a cube. Wall/particle forces around these features -are computed correctly. Convex points/edges are like the corners of a -cube as seen by particles exterior to the cube, i.e. the points jut -into the volume where particles are present. LAMMPS does NOT compute -the location of these convex points directly, and hence wall/particle -forces in the cutoff volume around these points suffer from -inaccuracies. The basic problem is that the outward normal of the -surface is not continuous at these points. This can cause particles -to feel no force (they don't "see" the wall) when in one location, -then move a distance epsilon, and suddenly feel a large force because -they now "see" the wall. In a worst-case scenario, this can blow -particles out of the simulation box. Thus, as a general rule you -should not use the fix wall/gran/region command with {union} or -{interesect} regions that have convex points or edges resulting from -the union/intersection (convex points/edges in the union/intersection -due to a single sub-region are still OK). - -NOTE: Similarly, you should not define {union} or {intersert} regions -for use with this command that share an overlapping common face that -is part of the overall outer boundary (interior boundary is OK), even -if the face is smooth. E.g. two regions of style block in a {union} -region, where the two blocks overlap on one or more of their faces. -This is because LAMMPS discards points that are part of multiple -sub-regions when calculating wall/particle interactions, to avoid -double-counting the interaction. Having two coincident faces could -cause the face to become invisible to the particles. The solution is -to make the two faces differ by epsilon in their position. - -The energy of wall-particle interactions depends on the specified -style. - -For style {lj93}, the energy E is given by the 9/3 potential: - -:c,image(Eqs/fix_wall_lj93.jpg) - -For style {lj126}, the energy E is given by the 12/6 potential: - -:c,image(Eqs/pair_lj.jpg) - -For style {wall/lj1043}, the energy E is given by the 10/4/3 potential: - -:c,image(Eqs/fix_wall_lj1043.jpg) - -For style {colloid}, the energy E is given by an integrated form of -the "pair_style colloid"_pair_colloid.html potential: - -:c,image(Eqs/fix_wall_colloid.jpg) - -For style {wall/harmonic}, the energy E is given by a harmonic spring -potential (the distance parameter is ignored): - -:c,image(Eqs/fix_wall_harmonic.jpg) - -For style {wall/morse}, the energy E is given by the Morse potential: - -:c,image(Eqs/pair_morse.jpg) - -Unlike other styles, this requires three parameters ({D_0}, {alpha}, {r_0} -in this order) instead of two like for the other wall styles. - -In all cases, {r} is the distance from the particle to the region -surface, and Rc is the {cutoff} distance at which the particle and -surface no longer interact. The cutoff is always the last argument. -The energy of the wall potential is shifted so that the wall-particle -interaction energy is 0.0 at the cutoff distance. - -For a full description of these wall styles, see fix_style -"wall"_fix_wall.html - -[Restart, fix_modify, output, run start/stop, minimize info:] - -No information about this fix is written to "binary restart -files"_restart.html. - -The "fix_modify"_fix_modify.html {energy} option is supported by this -fix to add the energy of interaction between atoms and the wall to the -system's potential energy as part of "thermodynamic -output"_thermo_style.html. - -The "fix_modify"_fix_modify.html {virial} option is supported by this -fix to add the contribution due to the interaction between -atoms and each wall to the system's virial as part of "thermodynamic -output"_thermo_style.html. The default is {virial no} - -The "fix_modify"_fix_modify.html {respa} option is supported by this -fix. This allows to set at which level of the "r-RESPA"_run_style.html -integrator the fix is adding its forces. Default is the outermost level. - -This fix computes a global scalar energy and a global 3-length vector -of forces, which can be accessed by various "output -commands"_Howto_output.html. The scalar energy is the sum of energy -interactions for all particles interacting with the wall represented -by the region surface. The 3 vector quantities are the x,y,z -components of the total force acting on the wall due to the particles. -The scalar and vector values calculated by this fix are "extensive". - -No parameter of this fix can be used with the {start/stop} keywords of -the "run"_run.html command. - -The forces due to this fix are imposed during an energy minimization, -invoked by the "minimize"_minimize.html command. - -NOTE: If you want the atom/wall interaction energy to be included in -the total potential energy of the system (the quantity being -minimized), you MUST enable the "fix_modify"_fix_modify.html {energy} -option for this fix. - -[Restrictions:] none - -[Related commands:] - -"fix wall/lj93"_fix_wall.html, -"fix wall/lj126"_fix_wall.html, -"fix wall/lj1043"_fix_wall.html, -"fix wall/colloid"_fix_wall.html, -"fix wall/harmonic"_fix_wall.html, -"fix wall/gran"_fix_wall_gran.html - -[Default:] none diff --git a/doc/txt/fix_wall_srd.txt b/doc/txt/fix_wall_srd.txt deleted file mode 100644 index 3a50c45ab7592d0c7d3d16dc969423218eaee8b6..0000000000000000000000000000000000000000 --- a/doc/txt/fix_wall_srd.txt +++ /dev/null @@ -1,190 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -fix wall/srd command :h3 - -[Syntax:] - -fix ID group-ID wall/srd face arg ... keyword value ... :pre - -ID, group-ID are documented in "fix"_fix.html command :ulb,l -wall/srd = style name of this fix command :l -one or more face/arg pairs may be appended :l -face = {xlo} or {xhi} or {ylo} or {yhi} or {zlo} or {zhi} :l - {xlo},{ylo},{zlo} arg = EDGE or constant or variable - EDGE = current lo edge of simulation box - constant = number like 0.0 or -30.0 (distance units) - variable = "equal-style variable"_variable.html like v_x or v_wiggle - {xhi},{yhi},{zhi} arg = EDGE or constant or variable - EDGE = current hi edge of simulation box - constant = number like 50.0 or 100.3 (distance units) - variable = "equal-style variable"_variable.html like v_x or v_wiggle :pre -zero or more keyword/value pairs may be appended :l -keyword = {units} :l - {units} value = {lattice} or {box} - {lattice} = the wall position is defined in lattice units - {box} = the wall position is defined in simulation box units :pre -:ule - -[Examples:] - -fix xwalls all wall/srd xlo EDGE xhi EDGE -fix walls all wall/srd xlo 0.0 ylo 10.0 units box -fix top all wall/srd zhi v_pressdown :pre - -[Description:] - -Bound the simulation with one or more walls which interact with -stochastic reaction dynamics (SRD) particles as slip (smooth) or -no-slip (rough) flat surfaces. The wall interaction is actually -invoked via the "fix srd"_fix_srd.html command, only on the group of -SRD particles it defines, so the group setting for the fix wall/srd -command is ignored. - -A particle/wall collision occurs if an SRD particle moves outside the -wall on a timestep. This alters the position and velocity of the SRD -particle and imparts a force to the wall. - -The {collision} and {Tsrd} settings specified via the "fix -srd"_fix_srd.html command affect the SRD/wall collisions. A {slip} -setting for the {collision} keyword means that the tangential -component of the SRD particle momentum is preserved. Thus only a -normal force is imparted to the wall. The normal component of the new -SRD velocity is sampled from a Gaussian distribution at temperature -{Tsrd}. - -For a {noslip} setting of the {collision} keyword, both the normal and -tangential components of the new SRD velocity are sampled from a -Gaussian distribution at temperature {Tsrd}. Additionally, a new -tangential direction for the SRD velocity is chosen randomly. This -collision style imparts both a normal and tangential force to the -wall. - -Up to 6 walls or faces can be specified in a single command: {xlo}, -{xhi}, {ylo}, {yhi}, {zlo}, {zhi}. A {lo} face reflects particles -that move to a coordinate less than the wall position, back in the -{hi} direction. A {hi} face reflects particles that move to a -coordinate higher than the wall position, back in the {lo} direction. - -The position of each wall can be specified in one of 3 ways: as the -EDGE of the simulation box, as a constant value, or as a variable. If -EDGE is used, then the corresponding boundary of the current -simulation box is used. If a numeric constant is specified then the -wall is placed at that position in the appropriate dimension (x, y, or -z). In both the EDGE and constant cases, the wall will never move. -If the wall position is a variable, it should be specified as v_name, -where name is an "equal-style variable"_variable.html name. In this -case the variable is evaluated each timestep and the result becomes -the current position of the reflecting wall. Equal-style variables -can specify formulas with various mathematical functions, and include -"thermo_style"_thermo_style.html command keywords for the simulation -box parameters and timestep and elapsed time. Thus it is easy to -specify a time-dependent wall position. - -NOTE: Because the trajectory of the SRD particle is tracked as it -collides with the wall, you must insure that r = distance of the -particle from the wall, is always > 0 for SRD particles, or LAMMPS -will generate an error. This means you cannot start your simulation -with SRD particles at the wall position {coord} (r = 0) or with -particles on the wrong side of the wall (r < 0). - -NOTE: If you have 2 or more walls that come together at an edge or -corner (e.g. walls in the x and y dimensions), then be sure to set the -{overlap} keyword to {yes} in the "fix srd"_fix_srd.html command, -since the walls effectively overlap when SRD particles collide with -them. LAMMPS will issue a warning if you do not do this. - -NOTE: The walls of this fix only interact with SRD particles, as -defined by the "fix srd"_fix_srd.html command. If you are simulating -a mixture containing other kinds of particles, then you should -typically use "another wall command"_fix_wall.html to act on the other -particles. Since SRD particles will be colliding both with the walls -and the other particles, it is important to insure that the other -particle's finite extent does not overlap an SRD wall. If you do not -do this, you may generate errors when SRD particles end up "inside" -another particle or a wall at the beginning of a collision step. - -The {units} keyword determines the meaning of the distance units used -to define a wall position, but only when a numeric constant is used. -It is not relevant when EDGE or a variable is used to specify a face -position. - -A {box} value selects standard distance units as defined by the -"units"_units.html command, e.g. Angstroms for units = real or metal. -A {lattice} value means the distance units are in lattice spacings. -The "lattice"_lattice.html command must have been previously used to -define the lattice spacings. - -:line - -Here are examples of variable definitions that move the wall position -in a time-dependent fashion using equal-style -"variables"_variable.html. - - -variable ramp equal ramp(0,10) -fix 1 all wall/srd xlo v_ramp :pre - -variable linear equal vdisplace(0,20) -fix 1 all wall/srd xlo v_linear :pre - -variable wiggle equal swiggle(0.0,5.0,3.0) -fix 1 all wall/srd xlo v_wiggle :pre - -variable wiggle equal cwiggle(0.0,5.0,3.0) -fix 1 all wall/srd xlo v_wiggle :pre - -The ramp(lo,hi) function adjusts the wall position linearly from lo to -hi over the course of a run. The displace(c0,velocity) function does -something similar using the equation position = c0 + velocity*delta, -where delta is the elapsed time. - -The swiggle(c0,A,period) function causes the wall position to -oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: - -position = c0 + A sin(omega*delta) :pre - -The cwiggle(c0,A,period) function causes the wall position to -oscillate sinusoidally according to this equation, which will have an -initial wall velocity of 0.0, and thus may impose a gentler -perturbation on the particles: - -position = c0 + A (1 - cos(omega*delta)) :pre - -: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. - -This fix computes a global array of values which can be accessed by -various "output commands"_Howto_output.html. The number of rows in -the array is equal to the number of walls defined by the fix. The -number of columns is 3, for the x,y,z components of force on each -wall. - -Note that an outward normal force on a wall will be a negative value -for {lo} walls and a positive value for {hi} walls. The array values -calculated by this fix are "extensive". - -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:] - -Any dimension (xyz) that has an SRD wall must be non-periodic. - -[Related commands:] - -"fix srd"_fix_srd.html - -[Default:] none diff --git a/doc/txt/group.txt b/doc/txt/group.txt deleted file mode 100644 index 256c4ed7f59c4e3b354677361248e053ebb7a1b8..0000000000000000000000000000000000000000 --- a/doc/txt/group.txt +++ /dev/null @@ -1,294 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -group command :h3 - -[Syntax:] - -group ID style args :pre - -ID = user-defined name of the group :ulb,l -style = {delete} or {clear} or {empty} or {region} or \ - {type} or {id} or {molecule} or {variable} or \ - {include} or {subtract} or {union} or {intersect} or \ - {dynamic} or {static} :l - {delete} = no args - {clear} = no args - {empty} = no args - {region} args = region-ID - {type} or {id} or {molecule} - args = list of one or more atom types, atom IDs, or molecule IDs - any entry in list can be a sequence formatted as A:B or A:B:C where - A = starting index, B = ending index, - C = increment between indices, 1 if not specified - args = logical value - logical = "<" or "<=" or ">" or ">=" or "==" or "!=" - value = an atom type or atom ID or molecule ID (depending on {style}) - args = logical value1 value2 - logical = "<>" - value1,value2 = atom types or atom IDs or molecule IDs (depending on {style}) - {variable} args = variable-name - {include} args = molecule - molecule = add atoms to group with same molecule ID as atoms already in group - {subtract} args = two or more group IDs - {union} args = one or more group IDs - {intersect} args = two or more group IDs - {dynamic} args = parent-ID keyword value ... - one or more keyword/value pairs may be appended - keyword = {region} or {var} or {every} - {region} value = region-ID - {var} value = name of variable - {property} value = name of per-atom property - {every} value = N = update group every this many timesteps - {static} = no args :pre -:ule - -[Examples:] - -group edge region regstrip -group water type 3 4 -group sub id 10 25 50 -group sub id 10 25 50 500:1000 -group sub id 100:10000:10 -group sub id <= 150 -group polyA molecule <> 50 250 -group hienergy variable eng -group hienergy include molecule -group boundary subtract all a2 a3 -group boundary union lower upper -group boundary intersect upper flow -group boundary delete -group mine dynamic all region myRegion every 100 :pre - - -[Description:] - -Identify a collection of atoms as belonging to a group. The group ID -can then be used in other commands such as "fix"_fix.html, -"compute"_compute.html, "dump"_dump.html, or "velocity"_velocity.html -to act on those atoms together. - -If the group ID already exists, the group command adds the specified -atoms to the group. - -NOTE: By default groups are static, meaning the atoms are permanently -assigned to the group. For example, if the {region} style is used to -assign atoms to a group, the atoms will remain in the group even if -they later move out of the region. As explained below, the {dynamic} -style can be used to make a group dynamic so that a periodic -determination is made as to which atoms are in the group. Since many -LAMMPS commands operate on groups of atoms, you should think carefully -about whether making a group dynamic makes sense for your model. - -A group with the ID {all} is predefined. All atoms belong to this -group. This group cannot be deleted, or made dynamic. - -The {delete} style removes the named group and un-assigns all atoms -that were assigned to that group. Since there is a restriction (see -below) that no more than 32 groups can be defined at any time, the -{delete} style allows you to remove groups that are no longer needed, -so that more can be specified. You cannot delete a group if it has -been used to define a current "fix"_fix.html or "compute"_compute.html -or "dump"_dump.html. - -The {clear} style un-assigns all atoms that were assigned to that -group. This may be dangerous to do during a simulation run, -e.g. using the "run every"_run.html command if a fix or compute or -other operation expects the atoms in the group to remain constant, but -LAMMPS does not check for this. - -The {empty} style creates an empty group, which is useful for commands -like "fix gcmc"_fix_gcmc.html or with complex scripts that add atoms -to a group. - -The {region} style puts all atoms in the region volume into the group. -Note that this is a static one-time assignment. The atoms remain -assigned (or not assigned) to the group even in they later move out of -the region volume. - -The {type}, {id}, and {molecule} styles put all atoms with the -specified atom types, atom IDs, or molecule IDs into the group. These -3 styles can use arguments specified in one of two formats. - -The first format is a list of values (types or IDs). For example, the -2nd command in the examples above puts all atoms of type 3 or 4 into -the group named {water}. Each entry in the list can be a -colon-separated sequence A:B or A:B:C, as in two of the examples -above. A "sequence" generates a sequence of values (types or IDs), -with an optional increment. The first example with 500:1000 has the -default increment of 1 and would add all atom IDs from 500 to 1000 -(inclusive) to the group sub, along with 10,25,50 since they also -appear in the list of values. The second example with 100:10000:10 -uses an increment of 10 and would thus would add atoms IDs -100,110,120, ... 9990,10000 to the group sub. - -The second format is a {logical} followed by one or two values (type -or ID). The 7 valid logicals are listed above. All the logicals -except <> take a single argument. The 3rd example above adds all -atoms with IDs from 1 to 150 to the group named {sub}. The logical <> -means "between" and takes 2 arguments. The 4th example above adds all -atoms belonging to molecules with IDs from 50 to 250 (inclusive) to -the group named polyA. - -The {variable} style evaluates a variable to determine which atoms to -add to the group. It must be an "atom-style variable"_variable.html -previously defined in the input script. If the variable evaluates -to a non-zero value for a particular atom, then that atom is added -to the specified group. - -Atom-style variables can specify formulas that include thermodynamic -quantities, per-atom values such as atom coordinates, or per-atom -quantities calculated by computes, fixes, or other variables. They -can also include Boolean logic where 2 numeric values are compared to -yield a 1 or 0 (effectively a true or false). Thus using the -{variable} style, is a general way to flag specific atoms to include -or exclude from a group. - -For example, these lines define a variable "eatom" that calculates the -potential energy of each atom and includes it in the group if its -potential energy is above the threshold value -3.0. - -compute 1 all pe/atom -compute 2 all reduce sum c_1 -thermo_style custom step temp pe c_2 -run 0 :pre - -variable eatom atom "c_1 > -3.0" -group hienergy variable eatom :pre - -Note that these lines - -compute 2 all reduce sum c_1 -thermo_style custom step temp pe c_2 -run 0 :pre - -are necessary to insure that the "eatom" variable is current when the -group command invokes it. Because the eatom variable computes the -per-atom energy via the pe/atom compute, it will only be current if a -run has been performed which evaluated pairwise energies, and the -pe/atom compute was actually invoked during the run. Printing the -thermodynamic info for compute 2 insures that this is the case, since -it sums the pe/atom compute values (in the reduce compute) to output -them to the screen. See the "Variable Accuracy" section of the -"variable"_variable.html doc page for more details on insuring that -variables are current when they are evaluated between runs. - -The {include} style with its arg {molecule} adds atoms to a group that -have the same molecule ID as atoms already in the group. The molecule -ID = 0 is ignored in this operation, since it is assumed to flag -isolated atoms that are not part of molecules. An example of where -this operation is useful is if the {region} style has been used -previously to add atoms to a group that are within a geometric region. -If molecules straddle the region boundary, then atoms outside the -region that are part of molecules with atoms inside the region will -not be in the group. Using the group command a 2nd time with {include -molecule} will add those atoms that are outside the region to the -group. - -NOTE: The {include molecule} operation is relatively expensive in a -parallel sense. This is because it requires communication of relevant -molecule IDs between all the processors and each processor to loop -over its atoms once per processor, to compare its atoms to the list of -molecule IDs from every other processor. Hence it scales as N, rather -than N/P as most of the group operations do, where N is the number of -atoms, and P is the number of processors. - -The {subtract} style takes a list of two or more existing group names -as arguments. All atoms that belong to the 1st group, but not to any -of the other groups are added to the specified group. - -The {union} style takes a list of one or more existing group names as -arguments. All atoms that belong to any of the listed groups are -added to the specified group. - -The {intersect} style takes a list of two or more existing group names -as arguments. Atoms that belong to every one of the listed groups are -added to the specified group. - -:line - -The {dynamic} style flags an existing or new group as dynamic. This -means atoms will be (re)assigned to the group periodically as a -simulation runs. This is in contrast to static groups where atoms are -permanently assigned to the group. The way the assignment occurs is -as follows. Only atoms in the group specified as the parent group via -the parent-ID are assigned to the dynamic group before the following -conditions are applied. If the {region} keyword is used, atoms not in -the specified region are removed from the dynamic group. If the {var} -keyword is used, the variable name must be an atom-style or -atomfile-style variable. The variable is evaluated and atoms whose -per-atom values are 0.0, are removed from the dynamic group. If the {property} -keyword is used, the per-atom property name must be a previously defined -per-atom property. The per-atom property is evaluated and atoms whose -values are 0.0 are removed from the dynamic group. - -The assignment of atoms to a dynamic group is done at the beginning of -each run and on every timestep that is a multiple of {N}, which is the -argument for the {every} keyword (N = 1 is the default). For an -energy minimization, via the "minimize"_minimize.html command, an -assignment is made at the beginning of the minimization, but not -during the iterations of the minimizer. - -The point in the timestep at which atoms are assigned to a dynamic -group is after the initial stage of velocity Verlet time integration -has been performed, and before neighbor lists or forces are computed. -This is the point in the timestep where atom positions have just -changed due to the time integration, so the region criterion should be -accurate, if applied. - -NOTE: If the {region} keyword is used to determine what atoms are in -the dynamic group, atoms can move outside of the simulation box -between reneighboring events. Thus if you want to include all atoms -on the left side of the simulation box, you probably want to set the -left boundary of the region to be outside the simulation box by some -reasonable amount (e.g. up to the cutoff of the potential), else they -may be excluded from the dynamic region. - -Here is an example of using a dynamic group to shrink the set of atoms -being integrated by using a spherical region with a variable radius -(shrinking from 18 to 5 over the course of the run). This could be -used to model a quench of the system, freezing atoms outside the -shrinking sphere, then converting the remaining atoms to a static -group and running further. - -variable nsteps equal 5000 -variable rad equal 18-(step/v_nsteps)*(18-5) -region ss sphere 20 20 0 v_rad -group mobile dynamic all region ss -fix 1 mobile nve -run $\{nsteps\} -group mobile static -run $\{nsteps\} :pre - -NOTE: All fixes and computes take a group ID as an argument, but they -do not all allow for use of a dynamic group. If you get an error -message that this is not allowed, but feel that it should be for the -fix or compute in question, then please post your reasoning to the -LAMMPS mail list and we can change it. - -The {static} style removes the setting for a dynamic group, converting -it to a static group (the default). The atoms in the static group are -those currently in the dynamic group. - -:line - -[Restrictions:] - -There can be no more than 32 groups defined at one time, including -"all". - -The parent group of a dynamic group cannot itself be a dynamic group. - -[Related commands:] - -"dump"_dump.html, "fix"_fix.html, "region"_region.html, -"velocity"_velocity.html - -[Default:] - -All atoms belong to the "all" group. diff --git a/doc/txt/group2ndx.txt b/doc/txt/group2ndx.txt deleted file mode 100644 index ed9bcb003a6ec590c14b70eed2bc51073b16855d..0000000000000000000000000000000000000000 --- a/doc/txt/group2ndx.txt +++ /dev/null @@ -1,64 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -group2ndx command :h3 -ndx2group command :h3 - -[Syntax:] - -group2ndx file group-ID ... -ndx2group file group-ID ... :pre - -file = name of index file to write out or read in :ulb,l -zero or more group IDs may be appended :l -:ule - -[Examples:] - -group2ndx allindex.ndx -group2ndx someindex.ndx upper lower mobile -ndx2group someindex.ndx -ndx2group someindex.ndx mobile :pre - -[Description:] - -Write or read a Gromacs style index file in text format that associates -atom IDs with the corresponding group definitions. This index file can be -used with in combination with Gromacs analysis tools or to import group -definitions into the "fix colvars"_fix_colvars.html input file. It can -also be used to save and restore group definitions for static groups. - -The {group2ndx} command will write group definitions to an index file. -Without specifying any group IDs, all groups will be written to the index -file. When specifying group IDs, only those groups will be written to the -index file. In order to follow the Gromacs conventions, the group {all} -will be renamed to {System} in the index file. - -The {ndx2group} command will create of update group definitions from those -stored in an index file. Without specifying any group IDs, all groups except -{System} will be read from the index file and the corresponding groups -recreated. If a group of the same name already exists, it will be completely -reset. When specifying group IDs, those groups, if present, will be read -from the index file and restored. - -:line - -[Restrictions:] - -This command requires that atoms have atom IDs, since this is the -information that is written to the index file. - -These commands are part of the USER-COLVARS package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"group"_group.html, "dump"_dump.html, "fix colvars"_fix_colvars.html - -[Default:] none diff --git a/doc/txt/hyper.txt b/doc/txt/hyper.txt deleted file mode 100644 index b0428a7a3eabde2368ee9ce93976c516820ae906..0000000000000000000000000000000000000000 --- a/doc/txt/hyper.txt +++ /dev/null @@ -1,192 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Section_commands.html#comm) - -:line - -hyper command :h3 - -[Syntax:] - -hyper N Nevent fix-ID compute-ID keyword values ... :pre - -N = # of timesteps to run :ulb,l -Nevent = check for events every this many steps :l -fix-ID = ID of a fix that applies a global or local bias potential, can be NULL :l -compute-ID = ID of a compute that identifies when an event has occurred :l -zero or more keyword/value pairs may be appended :l -keyword = {min} or {dump} or {rebond} :l - {min} values = etol ftol maxiter maxeval - etol = stopping tolerance for energy, used in quenching - ftol = stopping tolerance for force, used in quenching - maxiter = max iterations of minimize, used in quenching - maxeval = max number of force/energy evaluations, used in quenching - {dump} value = dump-ID - dump-ID = ID of dump to trigger whenever an event takes place - {rebond} value = Nrebond - Nrebond = frequency at which to reset bonds, even if no event has occurred - :pre -:ule - -[Examples:] - -compute event all event/displace 1.0 -fix HG mobile hyper/global 3.0 0.3 0.4 800.0 -hyper 5000 100 HG event min 1.0e-6 1.0e-6 100 100 dump 1 dump 5 :pre - -[Description:] - -Run a bond-boost hyperdynamics (HD) simulation where time is -accelerated by application of a bias potential to one or more pairs of -nearby atoms in the system. This command can be used to run both -global and local hyperdynamics. In global HD a single bond within the -system is biased on each timestep. In local HD multiple bonds -(separated by a sufficient distance) can be biased simultaneously at -each timestep. In the bond-boost hyperdynamics context, a "bond" is -not a covalent bond between a pair of atoms in a molecule. Rather it -is simply a pair of nearby atoms as discussed below. - -Both global and local HD are described in "(Voter2013)"_#Voter2013 by -Art Voter and collaborators. Similar to parallel replica dynamics -(PRD), global and local HD are methods for performing accelerated -dynamics that are suitable for infrequent-event systems that obey -first-order kinetics. A good overview of accelerated dynamics methods -for such systems in given in "(Voter2002)"_#Voter2002hd from the same -group. To quote from the review paper: "The dynamical evolution is -characterized by vibrational excursions within a potential basin, -punctuated by occasional transitions between basins." The transition -probability is characterized by p(t) = k*exp(-kt) where k is the rate -constant. Running multiple replicas gives an effective enhancement in -the timescale spanned by the multiple simulations, while waiting for -an event to occur. - -Both HD and PRD produce a time-accurate trajectory that effectively -extends the timescale over which a system can be simulated, but they -do it differently. HD uses a single replica of the system and -accelerates time by biasing the interaction potential in a manner such -that each timestep is effectively longer. PRD creates Nr replicas of -the system and runs dynamics on each independently with a normal -unbiased potential until an event occurs in one of the replicas. The -time between events is reduced by a factor of Nr replicas. For both -methods, per CPU second, more physical time elapses and more events -occur. See the "prd"_prd.html doc page for more info about PRD. - -An HD run has several stages, which are repeated each time an event -occurs, as explained below. The logic for an HD run is as follows: - -quench -create initial list of bonds :pre - -while (time remains): - run dynamics for Nevent steps - quench - check for an event - if event occurred: reset list of bonds - restore pre-quench state :pre - -The list of bonds is the list of atom pairs of atoms that are within a -short cutoff distance of each other after the system energy is -minimized (quenched). This list is created and reset by a "fix -hyper/global"_fix_hyper_global.html or "fix -hyper/local"_fix_hyper_local.html command specified as {fix-ID}. At -every dynamics timestep, the same fix selects one of more bonds to -apply a bias potential to. - -NOTE: The style of fix associated with the specified {fix-ID} -determines whether you are running the global versus local -hyperdynamics algorithm. - -Dynamics (with the bias potential) is run continuously, stopping every -{Nevent} steps to check if a transition event has occurred. The -specified {N} for total steps must be a multiple of {Nevent}. check -is performed by quenching the system and comparing the resulting atom -coordinates to the coordinates from the previous basin. - -A quench is an energy minimization and is performed by whichever -algorithm has been defined by the "min_style"_min_style.html command. -Minimization parameters may be set via the -"min_modify"_min_modify.html command and by the {min} keyword of the -hyper command. The latter are the settings that would be used with -the "minimize"_minimize.html command. Note that typically, you do not -need to perform a highly-converged minimization to detect a transition -event, though you may need to in order to prevent a set of atoms in -the system from relaxing to a saddle point. - -The event check is performed by a compute with the specified -{compute-ID}. Currently there is only one compute that works with the -hyper command, which is the "compute -event/displace"_compute_event_displace.html command. Other -event-checking computes may be added. "Compute -event/displace"_compute_event_displace.html checks whether any atom in -the compute group has moved further than a specified threshold -distance. If so, an event has occurred. - -If this happens, the list of bonds is reset, since some bond pairs -are likely now too far apart, and new pairs are likely close enough -to be considered a bond. The pre-quenched state of the -system (coordinates and velocities) is restored, and dynamics continue. - -At the end of the hyper run, a variety of statistics are output to the -screen and logfile. These include info relevant to both global and -local hyperdynamics, such as the number of events and the elapsed -hyper time (accelerated time), And it includes info specific to one or -the other, depending on which style of fix was specified by {fix-ID}. - -:line - -The optional keywords operate as follows. - -As explained above, the {min} keyword can be used to specify -parameters for the quench. Their meaning is the same -as for the "minimize"_minimize.html command - -The {dump} keyword can be used to trigger a specific dump command with -the specified {dump-ID} to output a snapshot each time an event is -detected. It can be specified multiple times with different {dump-ID} -values, as in the example above. These snapshots will be for the -quenched state of the system on a timestep that is a multiple of -{Nevent}, i.e. a timestep after the event has occurred. Note that any -dump command in the input script will also output snapshots at -whatever timestep interval it defines via its {N} argument; see the -"dump"_dump.html command for details. This means if you only want a -particular dump to output snapshots when events are detected, you -should specify its {N} as a value larger than the length of the -hyperdynamics run. - -As in the code logic above, the bond list is normally only reset when -an event occurs. The {rebond} keyword will force a reset of the bond -list every {Nrebond} steps, even if an event has not occurred. -{Nrebond} must be a multiple of {Nevent}. This can be useful to check -if more frequent resets alter event statistics, perhaps because the -parameters chosen for defining what is a bond and what is an event are -producing bad dynamics in the presence of the bias potential. - -:line - -[Restrictions:] - -This command can only be used if LAMMPS was built with the REPLICA -package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"fix hyper/global"_fix_hyper_global.html, "fix -hyper/local"_fix_hyper_local.html, "compute -event/displace"_compute_event_displace.html, "prd"_prd.html - -[Default:] - -The option defaults are min = 0.1 0.1 40 50 and time = steps. - -:line - -:link(Voter2013) -[(Voter2013)] S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139, -144110 (2013). - -:link(Voter2002hd) -[(Voter2002)] Voter, Montalenti, Germann, Annual Review of Materials -Research 32, 321 (2002). diff --git a/doc/txt/if.txt b/doc/txt/if.txt deleted file mode 100644 index ceec8f55db5cc8a85eabaad47bbcc7d5be49f6cc..0000000000000000000000000000000000000000 --- a/doc/txt/if.txt +++ /dev/null @@ -1,191 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -if command :h3 - -[Syntax:] - -if boolean then t1 t2 ... elif boolean f1 f2 ... elif boolean f1 f2 ... else e1 e2 ... :pre - -boolean = a Boolean expression evaluated as TRUE or FALSE (see below) -then = required word -t1,t2,...,tN = one or more LAMMPS commands to execute if condition is met, each enclosed in quotes -elif = optional word, can appear multiple times -f1,f2,...,fN = one or more LAMMPS commands to execute if elif condition is met, each enclosed in quotes (optional arguments) -else = optional argument -e1,e2,...,eN = one or more LAMMPS commands to execute if no condition is met, each enclosed in quotes (optional arguments) :ul - -[Examples:] - -if "$\{steps\} > 1000" then quit -if "$\{myString\} == a10" then quit -if "$x <= $y" then "print X is smaller = $x" else "print Y is smaller = $y" -if "($\{eng\} > 0.0) || ($n < 1000)" then & - "timestep 0.005" & -elif $n<10000 & - "timestep 0.01" & -else & - "timestep 0.02" & - "print 'Max step reached'" -if "$\{eng\} > $\{eng_previous\}" then "jump file1" else "jump file2" :pre - -[Description:] - -This command provides an if-then-else capability within an input -script. A Boolean expression is evaluated and the result is TRUE or -FALSE. Note that as in the examples above, the expression can contain -variables, as defined by the "variable"_variable.html command, which -will be evaluated as part of the expression. Thus a user-defined -formula that reflects the current state of the simulation can be used -to issue one or more new commands. - -If the result of the Boolean expression is TRUE, then one or more -commands (t1, t2, ..., tN) are executed. If it is FALSE, then Boolean -expressions associated with successive elif keywords are evaluated -until one is found to be true, in which case its commands (f1, f2, -..., fN) are executed. If no Boolean expression is TRUE, then the -commands associated with the else keyword, namely (e1, e2, ..., eN), -are executed. The elif and else keywords and their associated -commands are optional. If they aren't specified and the initial -Boolean expression is FALSE, then no commands are executed. - -The syntax for Boolean expressions is described below. - -Each command (t1, f1, e1, etc) can be any valid LAMMPS input script -command. If the command is more than one word, it must enclosed in -quotes, so it will be treated as a single argument, as in the examples -above. - -NOTE: If a command itself requires a quoted argument (e.g. a -"print"_print.html command), then double and single quotes can be used -and nested in the usual manner, as in the examples above and below. -The "Commands parse"_Commands_parse.html doc page has more details on -using quotes in arguments. Only one of level of nesting is allowed, -but that should be sufficient for most use cases. - -Note that by using the line continuation character "&", the if command -can be spread across many lines, though it is still a single command: - -if "$a < $b" then & - "print 'Minimum value = $a'" & - "run 1000" & -else & - 'print "Minimum value = $b"' & - "minimize 0.001 0.001 1000 10000" :pre - -Note that if one of the commands to execute is "quit"_quit.html, as in -the first example above, then executing the command will cause LAMMPS -to halt. - -Note that by jumping to a label in the same input script, the if -command can be used to break out of a loop. See the "variable -delete"_variable.html command for info on how to delete the associated -loop variable, so that it can be re-used later in the input script. - -Here is an example of a loop which checks every 1000 steps if the -system temperature has reached a certain value, and if so, breaks out -of the loop to finish the run. Note that any variable could be -checked, so long as it is current on the timestep when the run -completes. As explained on the "variable"_variable.html doc page, -this can be insured by including the variable in thermodynamic output. - -variable myTemp equal temp -label loop -variable a loop 1000 -run 1000 -if "$\{myTemp\} < 300.0" then "jump SELF break" -next a -jump SELF loop -label break -print "ALL DONE" :pre - -Here is an example of a double loop which uses the if and -"jump"_jump.html commands to break out of the inner loop when a -condition is met, then continues iterating through the outer loop. - -label loopa -variable a loop 5 - label loopb - variable b loop 5 - print "A,B = $a,$b" - run 10000 - if "$b > 2" then "jump SELF break" - next b - jump in.script loopb -label break -variable b delete -next a -jump SELF loopa :pre - -:line - -The Boolean expressions for the if and elif keywords have a C-like -syntax. Note that each expression is a single argument within the if -command. Thus if you want to include spaces in the expression for -clarity, you must enclose the entire expression in quotes. - -An expression is built out of numbers (which start with a digit or -period or minus sign) or strings (which start with a letter and can -contain alphanumeric characters or underscores): - -0.2, 100, 1.0e20, -15.4, etc -InP, myString, a123, ab_23_cd, etc :pre - -and Boolean operators: - -A == B, A != B, A < B, A <= B, A > B, A >= B, A && B, A || B, A |^ B, !A :pre - -Each A and B is a number or string or a variable reference like $a or -$\{abc\}, or A or B can be another Boolean expression. - -If a variable is used it can produce a number when evaluated, like an -"equal-style variable"_variable.html. Or it can produce a string, -like an "index-style variable"_variable.html. For an individual -Boolean operator, A and B must both be numbers or must both be -strings. You cannot compare a number to a string. - -Expressions are evaluated left to right and have the usual C-style -precedence: the unary logical NOT operator "!" has the highest -precedence, the 4 relational operators "<", "<=", ">", and ">=" are -next; the two remaining relational operators "==" and "!=" are next; -then the logical AND operator "&&"; and finally the logical OR -operator "||" and logical XOR (exclusive or) operator "|^" have the -lowest precedence. Parenthesis can be used to group one or more -portions of an expression and/or enforce a different order of -evaluation than what would occur with the default precedence. - -When the 6 relational operators (first 6 in list above) compare 2 -numbers, they return either a 1.0 or 0.0 depending on whether the -relationship between A and B is TRUE or FALSE. When the 6 relational -operators compare 2 strings, they also return a 1.0 or 0.0 for TRUE or -FALSE, but the comparison is done by the C function strcmp(). - -When the 3 logical operators (last 3 in list above) compare 2 numbers, -they also return either a 1.0 or 0.0 depending on whether the -relationship between A and B is TRUE or FALSE (or just A). The -logical AND operator will return 1.0 if both its arguments are -non-zero, else it returns 0.0. The logical OR operator will return -1.0 if either of its arguments is non-zero, else it returns 0.0. The -logical XOR operator will return 1.0 if one of its arguments is zero -and the other non-zero, else it returns 0.0. The logical NOT operator -returns 1.0 if its argument is 0.0, else it returns 0.0. The 3 -logical operators can only be used to operate on numbers, not on -strings. - -The overall Boolean expression produces a TRUE result if the result is -non-zero. If the result is zero, the expression result is FALSE. - -:line - -[Restrictions:] none - -[Related commands:] - -"variable"_variable.html, "print"_print.html - -[Default:] none diff --git a/doc/txt/improper_class2.txt b/doc/txt/improper_class2.txt deleted file mode 100644 index 704944920eceaf00f67138723c017991e2fdd10d..0000000000000000000000000000000000000000 --- a/doc/txt/improper_class2.txt +++ /dev/null @@ -1,124 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style class2 command :h3 -improper_style class2/omp command :h3 -improper_style class2/kk command :h3 - -[Syntax:] - -improper_style class2 :pre - -[Examples:] - -improper_style class2 -improper_coeff 1 100.0 0 -improper_coeff * aa 0.0 0.0 0.0 115.06 130.01 115.06 :pre - -[Description:] - -The {class2} improper style uses the potential - -:c,image(Eqs/improper_class2.jpg) - -where Ei is the improper term and Eaa is an angle-angle term. The 3 X -terms in Ei are an average over 3 out-of-plane angles. - -The 4 atoms in an improper quadruplet (listed in the data file read by -the "read_data"_read_data.html command) are ordered I,J,K,L. X_IJKL -refers to the angle between the plane of I,J,K and the plane of J,K,L, -and the bond JK lies in both planes. Similarly for X_KJLI and X_LJIK. -Note that atom J appears in the common bonds (JI, JK, JL) of all 3 X -terms. Thus J (the 2nd atom in the quadruplet) is the atom of -symmetry in the 3 X angles. - -The subscripts on the various theta's refer to different combinations -of 3 atoms (I,J,K,L) used to form a particular angle. E.g. Theta_IJL -is the angle formed by atoms I,J,L with J in the middle. Theta1, -theta2, theta3 are the equilibrium positions of those angles. Again, -atom J (the 2nd atom in the quadruplet) is the atom of symmetry in the -theta angles, since it is always the center atom. - -Since atom J is the atom of symmetry, normally the bonds J-I, J-K, J-L -would exist for an improper to be defined between the 4 atoms, but -this is not required. - -See "(Sun)"_#improper-Sun for a description of the COMPASS class2 force field. - -Coefficients for the Ei and Eaa formulas must be defined for each -improper type via the "improper_coeff"_improper_coeff.html command as -in the example above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands. - -These are the 2 coefficients for the Ei formula: - -K (energy/radian^2) -X0 (degrees) :ul - -X0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2. - -For the Eaa formula, each line in a -"improper_coeff"_improper_coeff.html command in the input script lists -7 coefficients, the first of which is "aa" to indicate they are -AngleAngle coefficients. In a data file, these coefficients should be -listed under a "AngleAngle Coeffs" heading and you must leave out the -"aa", i.e. only list 6 coefficients after the improper type. - -aa -M1 (energy/distance) -M2 (energy/distance) -M3 (energy/distance) -theta1 (degrees) -theta2 (degrees) -theta3 (degrees) :ul - -The theta values are specified in degrees, but LAMMPS converts them to -radians internally; hence the units of M are in energy/radian^2. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -CLASS2 package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none - -:line - -:link(improper-Sun) -[(Sun)] Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/txt/improper_coeff.txt b/doc/txt/improper_coeff.txt deleted file mode 100644 index 1d2083d7ad3727ad993979b2ae148e87f8a5b438..0000000000000000000000000000000000000000 --- a/doc/txt/improper_coeff.txt +++ /dev/null @@ -1,89 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_coeff command :h3 - -[Syntax:] - -improper_coeff N args :pre - -N = improper type (see asterisk form below) -args = coefficients for one or more improper types :ul - -[Examples:] - -improper_coeff 1 300.0 0.0 -improper_coeff * 80.2 -1 2 -improper_coeff *4 80.2 -1 2 :pre - -[Description:] - -Specify the improper force field coefficients for one or more improper -types. The number and meaning of the coefficients depends on the -improper style. Improper coefficients can also be set in the data -file read by the "read_data"_read_data.html command or in a restart -file. - -N can be specified in one of two ways. An explicit numeric value can -be used, as in the 1st example above. Or a wild-card asterisk can be -used to set the coefficients for multiple improper types. This takes -the form "*" or "*n" or "n*" or "m*n". If N = the number of improper -types, then an asterisk with no numeric values means all types from 1 -to N. A leading asterisk means all types from 1 to n (inclusive). A -trailing asterisk means all types from n to N (inclusive). A middle -asterisk means all types from m to n (inclusive). - -Note that using an improper_coeff command can override a previous -setting for the same improper type. For example, these commands set -the coeffs for all improper types, then overwrite the coeffs for just -improper type 2: - -improper_coeff * 300.0 0.0 -improper_coeff 2 50.0 0.0 :pre - -A line in a data file that specifies improper coefficients uses the -exact same format as the arguments of the improper_coeff command in an -input script, except that wild-card asterisks should not be used since -coefficients for all N types must be listed in the file. For example, -under the "Improper Coeffs" section of a data file, the line that -corresponds to the 1st example above would be listed as - -1 300.0 0.0 :pre - -The "improper_style class2"_improper_class2.html is an exception to -this rule, in that an additional argument is used in the input script -to allow specification of the cross-term coefficients. See its doc -page for details. - -:line - -The list of all improper styles defined in LAMMPS is given on the -"improper_style"_improper_style.html doc page. They are also listed -in more compact form on the "Commands -improper"_Commands_bond.html#improper doc page. - -On either of those pages, click on the style to display the formula it -computes and its coefficients as specified by the associated -improper_coeff command. - -:line - -[Restrictions:] - -This command must come after the simulation box is defined by a -"read_data"_read_data.html, "read_restart"_read_restart.html, or -"create_box"_create_box.html command. - -An improper style must be defined before any improper coefficients are -set, either in the input script or in a data file. - -[Related commands:] - -"improper_style"_improper_style.html - -[Default:] none diff --git a/doc/txt/improper_cossq.txt b/doc/txt/improper_cossq.txt deleted file mode 100644 index 8bd02afb84b4e27dbb31f4e3f9318c83dd6cf9d4..0000000000000000000000000000000000000000 --- a/doc/txt/improper_cossq.txt +++ /dev/null @@ -1,85 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style cossq command :h3 -improper_style cossq/omp command :h3 - -[Syntax:] - -improper_style cossq :pre - -[Examples:] - -improper_style cossq -improper_coeff 1 4.0 0.0 :pre - -[Description:] - -The {cossq} improper style uses the potential - -:c,image(Eqs/improper_cossq.jpg) - -where x is the improper angle, x0 is its equilibrium value, and K is a -prefactor. - -If the 4 atoms in an improper quadruplet (listed in the data file read -by the "read_data"_read_data.html command) are ordered I,J,K,L then X -is the angle between the plane of I,J,K and the plane of J,K,L. -Alternatively, you can think of atoms J,K,L as being in a plane, and -atom I above the plane, and X as a measure of how far out-of-plane I -is with respect to the other 3 atoms. - -Note that defining 4 atoms to interact in this way, does not mean that -bonds necessarily exist between I-J, J-K, or K-L, as they would in a -linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an -improper to be defined between the 4 atoms. - -The following coefficients must be defined for each improper type via -the "improper_coeff"_improper_coeff.html command as in the example -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -K (energy) -X0 (degrees) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none diff --git a/doc/txt/improper_cvff.txt b/doc/txt/improper_cvff.txt deleted file mode 100644 index d57fddc5122c737c2c0835919b3d9dc67b147c3e..0000000000000000000000000000000000000000 --- a/doc/txt/improper_cvff.txt +++ /dev/null @@ -1,86 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style cvff command :h3 -improper_style cvff/intel command :h3 -improper_style cvff/omp command :h3 - -[Syntax:] - -improper_style cvff :pre - -[Examples:] - -improper_style cvff -improper_coeff 1 80.0 -1 4 :pre - -[Description:] - -The {cvff} improper style uses the potential - -:c,image(Eqs/improper_cvff.jpg) - -where phi is the improper dihedral angle. - -If the 4 atoms in an improper quadruplet (listed in the data file read -by the "read_data"_read_data.html command) are ordered I,J,K,L then -the improper dihedral angle is between the plane of I,J,K and the -plane of J,K,L. Note that because this is effectively a dihedral -angle, the formula for this improper style is the same as for -"dihedral_style harmonic"_dihedral_harmonic.html. - -Note that defining 4 atoms to interact in this way, does not mean that -bonds necessarily exist between I-J, J-K, or K-L, as they would in a -linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an -improper to be defined between the 4 atoms. - -The following coefficients must be defined for each improper type via -the "improper_coeff"_improper_coeff.html command as in the example -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -K (energy) -d (+1 or -1) -n (0,1,2,3,4,6) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -MOLECULE package. See the "Build package"_Build_package.html doc page -for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none diff --git a/doc/txt/improper_distance.txt b/doc/txt/improper_distance.txt deleted file mode 100644 index bfd92f57ec9261b94c5b23c045fb726139efdafa..0000000000000000000000000000000000000000 --- a/doc/txt/improper_distance.txt +++ /dev/null @@ -1,58 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style distance command :h3 - -[Syntax:] - -improper_style distance - -[Examples:] - -improper_style distance -improper_coeff 1 80.0 100.0 :pre - -[Description:] - -The {distance} improper style uses the potential - -:c,image(Eqs/improper_dist-1.jpg) - -where d is the distance between the central atom and the plane formed -by the other three atoms. If the 4 atoms in an improper quadruplet -(listed in the data file read by the "read_data"_read_data.html -command) are ordered I,J,K,L then the I-atom is assumed to be the -central atom. - -:c,image(JPG/improper_distance.jpg) - -Note that defining 4 atoms to interact in this way, does not mean that -bonds necessarily exist between I-J, J-K, or K-L, as they would in a -linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an -improper to be defined between the 4 atoms. - -The following coefficients must be defined for each improper type via -the improper_coeff command as in the example above, or in the data -file or restart files read by the read_data or read_restart commands: - -K_2 (energy/distance^2) -K_4 (energy/distance^4) :ul - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none diff --git a/doc/txt/improper_distharm.txt b/doc/txt/improper_distharm.txt deleted file mode 100644 index 52815e76aaaab5226076876c2bc118e3bf9e67f4..0000000000000000000000000000000000000000 --- a/doc/txt/improper_distharm.txt +++ /dev/null @@ -1,53 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style distharm command :h3 - -[Syntax:] - -improper_style distharm - -[Examples:] - -improper_style distharm -improper_coeff 1 25.0 0.5 :pre - -[Description:] - -The {distharm} improper style uses the potential - -:c,image(Eqs/improper_distharm.jpg) - -where d is the oriented distance between the central atom and the plane formed -by the other three atoms. If the 4 atoms in an improper quadruplet -(listed in the data file read by the "read_data"_read_data.html -command) are ordered I,J,K,L then the L-atom is assumed to be the -central atom. Note that this is different from the convention used -in the improper_style distance. The distance d is oriented and can take -on negative values. This may lead to unwanted behavior if d0 is not equal to zero. - -The following coefficients must be defined for each improper type via -the improper_coeff command as in the example above, or in the data -file or restart files read by the read_data or read_restart commands: - -K (energy/distance^2) -d0 (distance) :ul - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -USER-YAFF package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none diff --git a/doc/txt/improper_fourier.txt b/doc/txt/improper_fourier.txt deleted file mode 100644 index f4f59ed6366c88552b45caa793d44aeb24477e5e..0000000000000000000000000000000000000000 --- a/doc/txt/improper_fourier.txt +++ /dev/null @@ -1,81 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style fourier command :h3 -improper_style fourier/omp command :h3 - -[Syntax:] - -improper_style fourier :pre - -[Examples:] - -improper_style fourier -improper_coeff 1 100.0 0.0 1.0 0.5 1 :pre - -[Description:] - -The {fourier} improper style uses the following potential: - -:c,image(Eqs/improper_fourier.jpg) - -where K is the force constant, C0, C1, C2 are dimensionless coefficients, -and omega is the angle between the IL axis and the IJK plane: - -:c,image(JPG/umbrella.jpg) - -If all parameter (see below) is not zero, the all the three possible angles will taken in account. - -The following coefficients must be defined for each improper type via -the "improper_coeff"_improper_coeff.html command as in the example -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -K (energy) -C0 (unitless) -C1 (unitless) -C2 (unitless) -all (0 or 1, optional) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This angle style can only be used if LAMMPS was built with the -USER_MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none - diff --git a/doc/txt/improper_harmonic.txt b/doc/txt/improper_harmonic.txt deleted file mode 100644 index 1e9e7172f9ca5be5bdc0f83758b364997a370835..0000000000000000000000000000000000000000 --- a/doc/txt/improper_harmonic.txt +++ /dev/null @@ -1,90 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style harmonic command :h3 -improper_style harmonic/intel command :h3 -improper_style harmonic/kk command :h3 -improper_style harmonic/omp command :h3 - -[Syntax:] - -improper_style harmonic :pre - -[Examples:] - -improper_style harmonic -improper_coeff 1 100.0 0 :pre - -[Description:] - -The {harmonic} improper style uses the potential - -:c,image(Eqs/improper_harmonic.jpg) - -where X is the improper angle, X0 is its equilibrium value, and K is a -prefactor. Note that the usual 1/2 factor is included in K. - -If the 4 atoms in an improper quadruplet (listed in the data file read -by the "read_data"_read_data.html command) are ordered I,J,K,L then X -is the angle between the plane of I,J,K and the plane of J,K,L. -Alternatively, you can think of atoms J,K,L as being in a plane, and -atom I above the plane, and X as a measure of how far out-of-plane I -is with respect to the other 3 atoms. - -Note that defining 4 atoms to interact in this way, does not mean that -bonds necessarily exist between I-J, J-K, or K-L, as they would in a -linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an -improper to be defined between the 4 atoms. - -The following coefficients must be defined for each improper type via -the "improper_coeff"_improper_coeff.html command as in the example -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -K (energy/radian^2) -X0 (degrees) :ul - -X0 is specified in degrees, but LAMMPS converts it to radians -internally; hence the units of K are in energy/radian^2. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -MOLECULE package. See the "Build package"_Build_package.html doc page -for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none diff --git a/doc/txt/improper_hybrid.txt b/doc/txt/improper_hybrid.txt deleted file mode 100644 index 929eec43e16e0f6fd1d4f3cb4f24097a4d672f6f..0000000000000000000000000000000000000000 --- a/doc/txt/improper_hybrid.txt +++ /dev/null @@ -1,70 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style hybrid command :h3 - -[Syntax:] - -improper_style hybrid style1 style2 ... :pre - -style1,style2 = list of one or more improper styles :ul - -[Examples:] - -improper_style hybrid harmonic helix -improper_coeff 1 harmonic 120.0 30 -improper_coeff 2 cvff 20.0 -1 2 :pre - -[Description:] - -The {hybrid} style enables the use of multiple improper styles in one -simulation. An improper style is assigned to each improper type. For -example, impropers in a polymer flow (of improper type 1) could be -computed with a {harmonic} potential and impropers in the wall -boundary (of improper type 2) could be computed with a {cvff} -potential. The assignment of improper type to style is made via the -"improper_coeff"_improper_coeff.html command or in the data file. - -In the improper_coeff command, the first coefficient sets the improper -style and the remaining coefficients are those appropriate to that -style. In the example above, the 2 improper_coeff commands would set -impropers of improper type 1 to be computed with a {harmonic} -potential with coefficients 120.0, 30 for K, X0. Improper type 2 -would be computed with a {cvff} potential with coefficients 20.0, -1, -2 for K, d, n. - -If the improper {class2} potential is one of the hybrid styles, it -requires additional AngleAngle coefficients be specified in the data -file. These lines must also have an additional "class2" argument -added after the improper type. For improper types which are assigned -to other hybrid styles, use the style name (e.g. "harmonic") -appropriate to that style. The AngleAngle coeffs for that improper -type will then be ignored. - -An improper style of {none} can be specified as the 2nd argument to -the improper_coeff command, if you desire to turn off certain improper -types. - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -MOLECULE package. See the "Build package"_Build_package.html doc page -for more info. - -Unlike other improper styles, the hybrid improper style does not store -improper coefficient info for individual sub-styles in a "binary -restart files"_restart.html. Thus when restarting a simulation from a -restart file, you need to re-specify improper_coeff commands. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none diff --git a/doc/txt/improper_inversion_harmonic.txt b/doc/txt/improper_inversion_harmonic.txt deleted file mode 100644 index bf114daeb0c9e43ac418127de6ecbcde82b6d7fc..0000000000000000000000000000000000000000 --- a/doc/txt/improper_inversion_harmonic.txt +++ /dev/null @@ -1,65 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style inversion/harmonic command :h3 - -[Syntax:] - -improper_style inversion/harmonic :pre - -[Examples:] - -improper_style inversion/harmonic -improper_coeff 1 18.776340 0.000000 :pre - -[Description:] - -The {inversion/harmonic} improper style follows the Wilson-Decius -out-of-plane angle definition and uses an harmonic potential: - -:c,image(Eqs/improper_inversion_harmonic.jpg) - -where K is the force constant and omega is the angle evaluated for -all three axis-plane combinations centered around the atom I. For -the IL axis and the IJK plane omega looks as follows: - -:c,image(JPG/umbrella.jpg) - -Note that the {inversion/harmonic} angle term evaluation differs to -the "improper_umbrella"_improper_umbrella.html due to the cyclic -evaluation of all possible angles omega. - -The following coefficients must be defined for each improper type via -the "improper_coeff"_improper_coeff.html command as in the example -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -K (energy) -omega0 (degrees) :ul - -If omega0 = 0 the potential term has a minimum for the planar -structure. Otherwise it has two minima at +/- omega0, with a barrier -in between. - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -USER-MOFFF package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none - -:line - diff --git a/doc/txt/improper_none.txt b/doc/txt/improper_none.txt deleted file mode 100644 index 78a7489837fca8f87aedbd9b46b1191b28bc58b4..0000000000000000000000000000000000000000 --- a/doc/txt/improper_none.txt +++ /dev/null @@ -1,34 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style none command :h3 - -[Syntax:] - -improper_style none :pre - -[Examples:] - -improper_style none :pre - -[Description:] - -Using an improper style of none means improper forces and energies are -not computed, even if quadruplets of improper atoms were listed in the -data file read by the "read_data"_read_data.html command. - -See the "improper_style zero"_improper_zero.html command for a way to -calculate improper statistics, but compute no improper interactions. - -[Restrictions:] none - -[Related commands:] - -"improper_style zero"_improper_zero.html - -[Default:] none diff --git a/doc/txt/improper_ring.txt b/doc/txt/improper_ring.txt deleted file mode 100644 index 8a2ee29e17a9c6a694d8a8f6497e93f2a5f161c0..0000000000000000000000000000000000000000 --- a/doc/txt/improper_ring.txt +++ /dev/null @@ -1,92 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style ring command :h3 -improper_style ring/omp command :h3 - -[Syntax:] - -improper_style ring :pre - -[Examples:] - -improper_style ring -improper_coeff 1 8000 70.5 :pre - -[Description:] - -The {ring} improper style uses the potential - -:c,image(Eqs/improper_ring.jpg) - -where K is a prefactor, theta is the angle formed by the atoms -specified by (i,j,k,l) indices and theta0 its equilibrium value. - -If the 4 atoms in an improper quadruplet (listed in the data file read -by the "read_data"_read_data.html command) are ordered i,j,k,l then -theta_{ijl} is the angle between atoms i,j and l, theta_{ijk} is the -angle between atoms i,j and k, theta_{kjl} is the angle between atoms -j,k, and l. - -The "ring" improper style implements the improper potential introduced -by Destree et al., in Equation (9) of "(Destree)"_#Destree. This -potential does not affect small amplitude vibrations but is used in an -ad-hoc way to prevent the onset of accidentally large amplitude -fluctuations leading to the occurrence of a planar conformation of the -three bonds i-j, j-k and j-l, an intermediate conformation toward the -chiral inversion of a methine carbon. In the "Impropers" section of -data file four atoms: i, j, k and l are specified with i,j and l lying -on the backbone of the chain and k specifying the chirality of j. - -The following coefficients must be defined for each improper type via -the "improper_coeff"_improper_coeff.html command as in the example -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -K (energy) -theta0 (degrees) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -:link(Destree) -[(Destree)] M. Destree, F. Laupretre, A. Lyulin, and J.-P. Ryckaert, -J Chem Phys, 112, 9632 (2000). - diff --git a/doc/txt/improper_sqdistharm.txt b/doc/txt/improper_sqdistharm.txt deleted file mode 100644 index 7473fd8c5d87ed15c26ecfe9fba0dec3d92c0642..0000000000000000000000000000000000000000 --- a/doc/txt/improper_sqdistharm.txt +++ /dev/null @@ -1,54 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style sqdistharm command :h3 - -[Syntax:] - -improper_style sqdistharm - -[Examples:] - -improper_style sqdistharm -improper_coeff 1 50.0 0.1 :pre - -[Description:] - -The {sqdistharm} improper style uses the potential - -:c,image(Eqs/improper_sqdistharm.jpg) - -where d is the distance between the central atom and the plane formed -by the other three atoms. If the 4 atoms in an improper quadruplet -(listed in the data file read by the "read_data"_read_data.html -command) are ordered I,J,K,L then the L-atom is assumed to be the -central atom. Note that this is different from the convention used -in the improper_style distance. - -The following coefficients must be defined for each improper type via -the improper_coeff command as in the example above, or in the data -file or restart files read by the read_data or read_restart commands: - -K (energy/distance^4) -d0^2 (distance^2) :ul - -Note that d0^2 (in units distance^2) has be provided and not d0. - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -USER-MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none diff --git a/doc/txt/improper_style.txt b/doc/txt/improper_style.txt deleted file mode 100644 index cd72da4d073d700aef9d310a1f2aa362334b651f..0000000000000000000000000000000000000000 --- a/doc/txt/improper_style.txt +++ /dev/null @@ -1,107 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style command :h3 - -[Syntax:] - -improper_style style :pre - -style = {none} or {hybrid} or {class2} or {cvff} or {harmonic} :ul - -[Examples:] - -improper_style harmonic -improper_style cvff -improper_style hybrid cvff harmonic :pre - -[Description:] - -Set the formula(s) LAMMPS uses to compute improper interactions -between quadruplets of atoms, which remain in force for the duration -of the simulation. The list of improper quadruplets is read in by a -"read_data"_read_data.html or "read_restart"_read_restart.html command -from a data or restart file. Note that the ordering of the 4 atoms in -an improper quadruplet determines the definition of the improper -angle used in the formula for each style. See the doc pages of -individual styles for details. - -Hybrid models where impropers are computed using different improper -potentials can be setup using the {hybrid} improper style. - -The coefficients associated with an improper style can be specified in -a data or restart file or via the "improper_coeff"_improper_coeff.html -command. - -All improper potentials store their coefficient data in binary restart -files which means improper_style and -"improper_coeff"_improper_coeff.html commands do not need to be -re-specified in an input script that restarts a simulation. See the -"read_restart"_read_restart.html command for details on how to do -this. The one exception is that improper_style {hybrid} only stores -the list of sub-styles in the restart file; improper coefficients need -to be re-specified. - -NOTE: When both an improper and pair style is defined, the -"special_bonds"_special_bonds.html command often needs to be used to -turn off (or weight) the pairwise interaction that would otherwise -exist between a group of 4 bonded atoms. - -:line - -Here is an alphabetic list of improper styles defined in LAMMPS. -Click on the style to display the formula it computes and coefficients -specified by the associated "improper_coeff"_improper_coeff.html -command. - -Click on the style to display the formula it computes, any additional -arguments specified in the improper_style command, and coefficients -specified by the associated "improper_coeff"_improper_coeff.html -command. - -There are also additional accelerated pair styles included in the -LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. -The individual style names on the "Commands -improper"_Commands_bond.html#improper doc page are followed by one or -more of (g,i,k,o,t) to indicate which accelerated styles exist. - -"none"_improper_none.html - turn off improper interactions -"zero"_improper_zero.html - topology but no interactions -"hybrid"_improper_hybrid.html - define multiple styles of improper interactions :ul - -"class2"_improper_class2.html - COMPASS (class 2) improper -"cossq"_improper_cossq.html - improper with a cosine squared term -"cvff"_improper_cvff.html - CVFF improper -"distance"_improper_distance.html - improper based on distance between atom planes -"distharm"_improper_distharm.html - improper that is harmonic in the out-of-plane distance -"fourier"_improper_fourier.html - improper with multiple cosine terms -"harmonic"_improper_harmonic.html - harmonic improper -"inversion/harmonic"_improper_inversion_harmonic.html - harmonic improper with Wilson-Decius out-of-plane definition -"ring"_improper_ring.html - improper which prevents planar conformations -"umbrella"_improper_umbrella.html - DREIDING improper :ul -"sqdistharm"_improper_sqdistharm.html - improper that is harmonic in the square of the out-of-plane distance - -:line - -[Restrictions:] - -Improper styles can only be set for atom_style choices that allow -impropers to be defined. - -Most improper styles are part of the MOLECULE package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. The doc pages for -individual improper potentials tell if it is part of a package. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] - -improper_style none :pre diff --git a/doc/txt/improper_umbrella.txt b/doc/txt/improper_umbrella.txt deleted file mode 100644 index 9fe6ac07e1eb4b8087a64800d6f214ad624b1ee4..0000000000000000000000000000000000000000 --- a/doc/txt/improper_umbrella.txt +++ /dev/null @@ -1,89 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style umbrella command :h3 -improper_style umbrella/omp command :h3 - -[Syntax:] - -improper_style umbrella :pre - -[Examples:] - -improper_style umbrella -improper_coeff 1 100.0 180.0 :pre - -[Description:] - -The {umbrella} improper style uses the following potential, which is -commonly referred to as a classic inversion and used in the -"DREIDING"_Howto_bioFF.html force field: - -:c,image(Eqs/improper_umbrella.jpg) - -where K is the force constant and omega is the angle between the IL -axis and the IJK plane: - -:c,image(JPG/umbrella.jpg) - -If omega0 = 0 the potential term has a minimum for the planar -structure. Otherwise it has two minima at +/- omega0, with a barrier -in between. - -See "(Mayo)"_#umbrella-Mayo for a description of the DREIDING force field. - -The following coefficients must be defined for each improper type via -the "improper_coeff"_improper_coeff.html command as in the example -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -K (energy) -omega0 (degrees) :ul - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This improper style can only be used if LAMMPS was built with the -MOLECULE package. See the "Build package"_Build_package.html doc page -for more info. - -[Related commands:] - -"improper_coeff"_improper_coeff.html - -[Default:] none - -:line - -:link(umbrella-Mayo) -[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990), diff --git a/doc/txt/improper_zero.txt b/doc/txt/improper_zero.txt deleted file mode 100644 index f3f3485b57cf0c6daf81233f1432e9b43f2aeb42..0000000000000000000000000000000000000000 --- a/doc/txt/improper_zero.txt +++ /dev/null @@ -1,48 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -improper_style zero command :h3 - -[Syntax:] - -improper_style zero {nocoeff} :pre - -[Examples:] - -improper_style zero -improper_style zero nocoeff -improper_coeff * :pre - -[Description:] - -Using an improper style of zero means improper forces and energies are -not computed, but the geometry of improper quadruplets is still -accessible to other commands. - -As an example, the "compute -improper/local"_compute_improper_local.html command can be used to -compute the chi values for the list of quadruplets of improper atoms -listed in the data file read by the "read_data"_read_data.html -command. If no improper style is defined, this command cannot be -used. - -The optional {nocoeff} flag allows to read data files with a ImproperCoeff -section for any improper style. Similarly, any improper_coeff commands -will only be checked for the improper type number and the rest ignored. - -Note that the "improper_coeff"_improper_coeff.html command must be -used for all improper types, though no additional values are -specified. - -[Restrictions:] none - -[Related commands:] none - -"improper_style none"_improper_none.html - -[Default:] none diff --git a/doc/txt/include.txt b/doc/txt/include.txt deleted file mode 100644 index c11405631365e173f57589d3a11825884a4b0157..0000000000000000000000000000000000000000 --- a/doc/txt/include.txt +++ /dev/null @@ -1,40 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -include command :h3 - -[Syntax:] - -include file :pre - -file = filename of new input script to switch to :ul - -[Examples:] - -include newfile -include in.run2 :pre - -[Description:] - -This command opens a new input script file and begins reading LAMMPS -commands from that file. When the new file is finished, the original -file is returned to. Include files can be nested as deeply as -desired. If input script A includes script B, and B includes A, then -LAMMPS could run for a long time. - -If the filename is a variable (see the "variable"_variable.html -command), different processor partitions can run different input -scripts. - -[Restrictions:] none - -[Related commands:] - -"variable"_variable.html, "jump"_jump.html - -[Default:] none diff --git a/doc/txt/info.txt b/doc/txt/info.txt deleted file mode 100644 index 99211de4fb5745edccf401a78f2045c756dee695..0000000000000000000000000000000000000000 --- a/doc/txt/info.txt +++ /dev/null @@ -1,122 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -info command :h3 - -[Syntax:] - -info args :pre - -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 - -[Examples:] - -info system -info groups computes variables -info all out log -info all out append info.txt -info styles all -info styles atom :pre - -[Description:] - -Print out information about the current internal state of the running -LAMMPS process. This can be helpful when debugging or validating -complex input scripts. Several output categories are available and -one or more output category may be requested. - -The {out} flag controls where the output is sent. It can only be sent -to one target. By default this is the screen, if it is active. The -{log} argument selects the log file instead. With the {append} and -{overwrite} option, followed by a filename, the output is written -to that file, which is either appended to or overwritten, respectively. - -The {all} flag activates printing all categories listed below. - -The {configuration} category prints some information about the -LAMMPS version as well as architecture and OS it is run on. - -The {memory} category prints some information about the current -memory allocation of MPI rank 0 (this the amount of dynamically -allocated memory reported by LAMMPS classes). Where supported, -also some OS specific information about the size of the reserved -memory pool size (this is where malloc() and the new operator -request memory from) and the maximum resident set size is reported -(this is the maximum amount of physical memory occupied so far). - -The {system} category prints a general system overview listing. This -includes the unit style, atom style, number of atoms, bonds, angles, -dihedrals, and impropers and the number of the respective types, box -dimensions and properties, force computing styles and more. - -The {communication} category prints a variety of information about -communication and parallelization: the MPI library version level, -the number of MPI ranks and OpenMP threads, the communication style -and layout, the processor grid dimensions, ghost atom communication -mode, cutoff, and related settings. - -The {computes} category prints a list of all currently defined -computes, their IDs and styles and groups they operate on. - -The {dumps} category prints a list of all currently active dumps, -their IDs, styles, filenames, groups, and dump frequencies. - -The {fixes} category prints a list of all currently defined fixes, -their IDs and styles and groups they operate on. - -The {groups} category prints a list of all currently defined groups. - -The {regions} category prints a list of all currently defined regions, -their IDs and styles and whether "inside" or "outside" atoms are -selected. - -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: - -all -angle -atom -bond -compute -command -dump -dihedral -fix -improper -integrate -kspace -minimize -pair -region :ul - -The {time} category prints the accumulated CPU and wall time for the -process that writes output (usually MPI rank 0). - -[Restrictions:] none - -[Related commands:] - -"print"_print.html - -[Default:] - -The {out} option has the default {screen}. - -The {styles} option has the default {all}. diff --git a/doc/txt/jump.txt b/doc/txt/jump.txt deleted file mode 100644 index 5bda1785153225e582374ae71fd66b8de8da9d70..0000000000000000000000000000000000000000 --- a/doc/txt/jump.txt +++ /dev/null @@ -1,129 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -jump command :h3 - -[Syntax:] - -jump file label :pre - -file = filename of new input script to switch to -label = optional label within file to jump to :ul - -[Examples:] - -jump newfile -jump in.run2 runloop -jump SELF runloop :pre - -[Description:] - -This command closes the current input script file, opens the file with -the specified name, and begins reading LAMMPS commands from that file. -Unlike the "include"_include.html command, the original file is not -returned to, although by using multiple jump commands it is possible -to chain from file to file or back to the original file. - -If the word "SELF" is used for the filename, then the current input -script is re-opened and read again. - -NOTE: The SELF option is not guaranteed to work when the current input -script is being read through stdin (standard input), e.g. - -lmp_g++ < in.script :pre - -since the SELF option invokes the C-library rewind() call, which may -not be supported for stdin on some systems or by some MPI -implementations. This can be worked around by using the "-in -command-line switch"_Run_options.html, e.g. - -lmp_g++ -in in.script :pre - -or by using the "-var command-line switch"_Run_options.html to pass -the script name as a variable to the input script. In the latter -case, a "variable"_variable.html called "fname" could be used in place -of SELF, e.g. - -lmp_g++ -var fname in.script < in.script :pre - -The 2nd argument to the jump command is optional. If specified, it is -treated as a label and the new file is scanned (without executing -commands) until the label is found, and commands are executed from -that point forward. This can be used to loop over a portion of the -input script, as in this example. These commands perform 10 runs, -each of 10000 steps, and create 10 dump files named file.1, file.2, -etc. The "next"_next.html command is used to exit the loop after 10 -iterations. When the "a" variable has been incremented for the tenth -time, it will cause the next jump command to be skipped. - -variable a loop 10 -label loop -dump 1 all atom 100 file.$a -run 10000 -undump 1 -next a -jump in.lj loop :pre - -If the jump {file} argument is a variable, the jump command can be -used to cause different processor partitions to run different input -scripts. In this example, LAMMPS is run on 40 processors, with 4 -partitions of 10 procs each. An in.file containing the example -variable and jump command will cause each partition to run a different -simulation. - -mpirun -np 40 lmp_ibm -partition 4x10 -in in.file :pre - -variable f world script.1 script.2 script.3 script.4 -jump $f :pre - -Here is an example of a loop which checks every 1000 steps if the -system temperature has reached a certain value, and if so, breaks out -of the loop to finish the run. Note that any variable could be -checked, so long as it is current on the timestep when the run -completes. As explained on the "variable"_variable.html doc page, -this can be insured by including the variable in thermodynamic output. - -variable myTemp equal temp -label loop -variable a loop 1000 -run 1000 -if "$\{myTemp\} < 300.0" then "jump SELF break" -next a -jump SELF loop -label break -print "ALL DONE" :pre - -Here is an example of a double loop which uses the if and -"jump"_jump.html commands to break out of the inner loop when a -condition is met, then continues iterating through the outer loop. - -label loopa -variable a loop 5 - label loopb - variable b loop 5 - print "A,B = $a,$b" - run 10000 - if "$b > 2" then "jump SELF break" - next b - jump in.script loopb -label break -variable b delete -next a -jump SELF loopa :pre - -[Restrictions:] - -If you jump to a file and it does not contain the specified label, -LAMMPS will come to the end of the file and exit. - -[Related commands:] - -"variable"_variable.html, "include"_include.html, "label"_label.html, -"next"_next.html - -[Default:] none diff --git a/doc/txt/kim_commands.txt b/doc/txt/kim_commands.txt deleted file mode 100644 index e50950eae7c680fe3e114d60641ab801e6bb7c08..0000000000000000000000000000000000000000 --- a/doc/txt/kim_commands.txt +++ /dev/null @@ -1,780 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -kim_init command :h3 -kim_interactions command :h3 -kim_query command :h3 -kim_param command :h3 - -[Syntax:] - -kim_init model user_units unitarg -kim_interactions typeargs -kim_query variable formatarg query_function queryargs -kim_param get param_name index_range variables formatarg -kim_param set param_name index_range values -:pre - -:link(formatarg_options) -model = name of the KIM interatomic model (the KIM ID for models archived in OpenKIM) :ulb,l -user_units = the LAMMPS "units"_units.html style assumed in the LAMMPS input script :l -unitarg = {unit_conversion_mode} (optional) :l -typeargs = atom type to species mapping (one entry per atom type) or {fixed_types} for models with a preset fixed mapping :l -variable(s) = single name or list of names of (string style) LAMMPS variable(s) where a query result or parameter get result is stored. Variables that do not exist will be created by the command. :l -formatarg = {list, split, or explicit} (optional): :l -{list} = returns a single string with a list of space separated values - (e.g. "1.0 2.0 3.0"), which is placed in a LAMMPS variable as - defined by the {variable} argument. \[default for {kim_query}\] -{split} = returns the values separately in new variables with names based - on the prefix specified in {variable} and a number appended to - indicate which element in the list of values is in the variable. -{explicit} = returns the values separately in one more more variable names - provided as arguments that preceed {formatarg}. \[default for {kim_param}\] :pre -query_function = name of the OpenKIM web API query function to be used :l -queryargs = a series of {keyword=value} pairs that represent the web query; supported keywords depend on the query function :l -param_name = name of a KIM portable model parameter :l -index_range = KIM portable model parameter index range (an integer for a single element, or pair of integers separated by a colon for a range of elements) :l -values = new value(s) to replace the current value(s) of a KIM portable model parameter :l,ule - - -[Examples:] - -kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal -kim_interactions Si -kim_init Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000 real -kim_init Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000 metal unit_conversion_mode -kim_interactions C H O -kim_init Sim_LAMMPS_IFF_PCFF_HeinzMishraLinEmami_2015Ver1v5_FccmetalsMineralsSolventsPolymers__SM_039297821658_000 real -kim_interactions fixed_types -kim_query a0 get_lattice_constant_cubic crystal=\["fcc"\] species=\["Al"\] units=\["angstrom"\] -kim_param get gamma 1 varGamma -kim_param set gamma 1 3.0 -:pre - -[Description:] - -The set of {kim_commands} provide a high-level wrapper around the -"Open Knowledgebase of Interatomic Models (OpenKIM)"_https://openkim.org -repository of interatomic models (IMs) (potentials and force fields), -so that they can be used by LAMMPS scripts. These commands do not implement -any computations directly, but rather generate LAMMPS input commands based -on the information retrieved from the OpenKIM repository to initialize and -activate OpenKIM IMs and query their predictions for use in the LAMMPS script. -All LAMMPS input commands generated and executed by {kim_commands} are -echoed to the LAMMPS log file. - -Benefits of Using OpenKIM IMs :h4 - -Employing OpenKIM IMs provides LAMMPS users with multiple benefits: - -Reliability :h5 - -All content archived in OpenKIM is reviewed by the "KIM Editor"_https://openkim.org/governance/ for quality. -IMs in OpenKIM are archived with full provenance control. Each is associated with a maintainer responsible for the integrity of the content. All changes are tracked and recorded. -IMs in OpenKIM are exhaustively tested using "KIM Tests"_https://openkim.org/doc/evaluation/kim-tests/ that compute a host of material properties, and "KIM Verification Checks"_https://openkim.org/doc/evaluation/kim-verification-checks/ that provide the user with information on various aspects of the IM behavior and coding correctness. This information is displayed on the IM's page accessible through the "OpenKIM browse interface"_https://openkim.org/browse. :ul - -Reproducibility :h5 - -Each IM in OpenKIM is issued a unique identifier ("KIM ID"_https://openkim.org/doc/schema/kim-ids/), which includes a version number (last three digits). Any changes that can result in different numerical values lead to a version increment in the KIM ID. This makes it possible to reproduce simulations since the specific version of a specific IM used can be retrieved using its KIM ID. -OpenKIM is a member organization of "DataCite"_https://datacite.org/ and issues digital object identifiers (DOIs) to all IMs archived in OpenKIM. This makes it possible to cite the IM code used in a simulation in a publications to give credit to the developers and further facilitate reproducibility. :ul - -Convenience :h5 - -IMs in OpenKIM are distributed in binary form along with LAMMPS and can be used in a LAMMPS input script simply by providing their KIM ID in the {kim_init} command documented on this page. -The {kim_query} web query tool provides the ability to use the predictions of IMs for supported material properties (computed via "KIM Tests"_https://openkim.org/doc/evaluation/kim-tests/) as part of a LAMMPS input script setup and analysis. -Support is provided for unit conversion between the "unit style"_units.html used in the LAMMPS input script and the units required by the OpenKIM IM. This makes it possible to use a single input script with IMs using different units without change and minimizes the likelihood of errors due to incompatible units. :ul - -:link(IM_types) -Types of IMs in OpenKIM :h4 - -There are two types of IMs archived in OpenKIM: - -:link(PM_type) -The first type is called a {KIM Portable Model} (PM). A KIM PM is an independent computer implementation of an IM written in one of the languages supported by KIM (C, C++, Fortran) that conforms to the KIM Application Programming Interface ("KIM API"_https://openkim.org/kim-api/) Portable Model Interface (PMI) standard. A KIM PM will work seamlessly with any simulation code that supports the KIM API/PMI standard (including LAMMPS; see "complete list of supported codes"_https://openkim.org/projects-using-kim/). -The second type is called a {KIM Simulator Model} (SM). A KIM SM is an IM that is implemented natively within a simulation code ({simulator}) that supports the KIM API Simulator Model Interface (SMI); in this case LAMMPS. A separate SM package is archived in OpenKIM for each parameterization of the IM, which includes all of the necessary parameter files, LAMMPS commands, and metadata (supported species, units, etc.) needed to run the IM in LAMMPS. :ol - -With these two IM types, OpenKIM can archive and test almost all IMs that -can be used by LAMMPS. (It is easy to contribute new IMs to OpenKIM, see -the "upload instructions"_https://openkim.org/doc/repository/adding-content/.) - -OpenKIM IMs are uniquely identified by a -"KIM ID"_https://openkim.org/doc/schema/kim-ids/. -The extended KIM ID consists of -a human-readable prefix identifying the type of IM, authors, publication year, -and supported species, separated by two underscores from the KIM ID itself, -which begins with an IM code -({MO} for a KIM Portable Model, and {SM} for a KIM Simulator Model) -followed by a unique 12-digit code and a 3-digit version identifier. -By convention SM prefixes begin with {Sim_} to readily identify them. - -SW_StillingerWeber_1985_Si__MO_405512056662_005 -Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000 :pre - -Each OpenKIM IM has a dedicated "Model Page" on "OpenKIM"_https://openkim.org -providing all the information on the IM including a title, description, -authorship and citation information, test and verification check results, -visualizations of results, a wiki with documentation and user comments, and -access to raw files, and other information. -The URL for the Model Page is constructed from the -"extended KIM ID"_https://openkim.org/doc/schema/kim-ids/ of the IM: - -https://openkim.org/id/extended_KIM_ID -:pre - -For example, for the Stillinger--Weber potential -listed above the Model Page is located at: - -"https://openkim.org/id/SW_StillingerWeber_1985_Si__MO_405512056662_005"_https://openkim.org/id/SW_StillingerWeber_1985_Si__MO_405512056662_005 -:pre - -See the "current list of KIM PMs and SMs archived in OpenKIM"_https://openkim.org/browse/models/by-species. -This list is sorted by species and can be filtered to display only -IMs for certain species combinations. - -See "Obtaining KIM Models"_http://openkim.org/doc/usage/obtaining-models to -learn how to install a pre-build binary of the OpenKIM Repository of Models. - -NOTE: It is also possible to locally install IMs not archived in OpenKIM, -in which case their names do not have to conform to the KIM ID format. - -Using OpenKIM IMs with LAMMPS :h4 - -Two commands are employed when using OpenKIM IMs, one to select the -IM and perform necessary initialization ({kim_init}), and the second -to set up the IM for use by executing any necessary LAMMPS commands -({kim_interactions}). Both are required. - -See the {examples/kim} directory for example input scripts that use KIM PMs -and KIM SMs. - -OpenKIM IM Initialization ({kim_init}) :h5 - -The {kim_init} mode command must be issued [before] -the simulation box is created (normally at the top of the file). -This command sets the OpenKIM IM that will be used and may issue -additional commands changing LAMMPS default settings that are required -for using the selected IM (such as "units"_units.html or -"atom_style"_atom_style.html). If needed, those settings can be overridden, -however, typically a script containing a {kim_init} command -would not include {units} and {atom_style} commands. - -The required arguments of {kim_init} are the {model} name of the -IM to be used in the simulation (for an IM archived in OpenKIM this is -its "extended KIM ID"_https://openkim.org/doc/schema/kim-ids/, and -the {user_units}, which are the LAMMPS "units style"_units.html used -in the input script. (Any dimensioned numerical values in the input -script and values read in from files are expected to be in the -{user_units} system.) - -The selected IM can be either a "KIM PM or a KIM SM"_#IM_types. -For a KIM SM, the {kim_init} command verifies that the SM is designed -to work with LAMMPS (and not another simulation code). -In addition, the LAMMPS version used for defining -the SM and the LAMMPS version being currently run are -printed to help diagnose any incompatible changes to input script or -command syntax between the two LAMMPS versions. - -Based on the selected model {kim_init} may modify the -"atom_style"_atom_style.html. -Some SMs have requirements for this setting. If this is the case, then -{atom_style} will be set to the required style. Otherwise, the value is left -unchanged (which in the absence of an {atom_style} command in the input script -is the "default atom_style value"_atom_style.html). - -Regarding units, the {kim_init} command behaves in different ways depending -on whether or not {unit conversion mode} is activated as indicated by the -optional {unitarg} argument. -If unit conversion mode is [not] active, then {user_units} must -either match the required units of the IM or the IM must be able -to adjust its units to match. (The latter is only possible with some KIM PMs; -SMs can never adjust their units.) If a match is possible, the LAMMPS -"units"_units.html command is called to set the units to -{user_units}. If the match fails, the simulation is terminated with -an error. - -Here is an example of a LAMMPS script to compute the cohesive energy -of a face-centered cubic (fcc) lattice for the Ercolessi and Adams (1994) -potential for Al: - -kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal -boundary p p p -lattice fcc 4.032 -region simbox block 0 1 0 1 0 1 units lattice -create_box 1 simbox -create_atoms 1 box -mass 1 26.981539 -kim_interactions Al -run 0 -variable Ec equal (pe/count(all))/$\{_u_energy\} -print "Cohesive Energy = $\{EcJ\} eV" -:pre - -The above script will end with an error in the {kim_init} line if the -IM is changed to another potential for Al that does not work with {metal} -units. To address this {kim_init} offers the {unit_conversion_mode} -as shown below. -If unit conversion mode {is} active, then {kim_init} calls the LAMMPS -"units"_units.html command to set the units to the IM's required or -preferred units. Conversion factors between the IM's units and the {user_units} -are defined for all "physical quantities"_units.html (mass, distance, etc.). -(Note that converting to or from the "lj" unit style is not supported.) -These factors are stored as "internal style variables"_variable.html with -the following standard names: - -_u_mass -_u_distance -_u_time -_u_energy -_u_velocity -_u_force -_u_torque -_u_temperature -_u_pressure -_u_viscosity -_u_charge -_u_dipole -_u_efield -_u_density :pre - -If desired, the input script can be designed to work with these conversion -factors so that the script will work without change with any OpenKIM IM. -(This approach is used in the -"OpenKIM Testing Framework"_https://openkim.org/doc/evaluation/kim-tests/.) -For example, the script given above for the cohesive energy of fcc Al -can be rewritten to work with any IM regardless of units. The following -script constructs an fcc lattice with a lattice parameter defined in -meters, computes the total energy, and prints the cohesive energy in -Joules regardless of the units of the IM. - -kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 si unit_conversion_mode -boundary p p p -lattice fcc 4.032e-10*$\{_u_distance\} -region simbox block 0 1 0 1 0 1 units lattice -create_box 1 simbox -create_atoms 1 box -mass 1 4.480134e-26*$\{_u_mass\} -kim_interactions Al -run 0 -variable Ec_in_J equal (pe/count(all))/$\{_u_energy\} -print "Cohesive Energy = $\{Ec_in_J\} J" :pre - -Note the multiplication by $\{_u_distance\} and $\{_u_mass\} to convert -from SI units (specified in the {kim_init} command) to whatever units the -IM uses (metal in this case), and the division by $\{_u_energy\} -to convert from the IM's energy units to SI units (Joule). This script -will work correctly for any IM for Al (KIM PM or SM) selected by the -{kim_init} command. - -Care must be taken to apply unit conversion to dimensional variables read in -from a file. For example, if a configuration of atoms is read in from a -dump file using the "read_dump"_read_dump.html command, the following can -be done to convert the box and all atomic positions to the correct units: - -variable xyfinal equal xy*$\{_u_distance\} -variable xzfinal equal xz*$\{_u_distance\} -variable yzfinal equal yz*$\{_u_distance\} -change_box all x scale $\{_u_distance\} & - y scale $\{_u_distance\} & - z scale $\{_u_distance\} & - xy final $\{xyfinal\} & - xz final $\{xzfinal\} & - yz final $\{yzfinal\} & - remap :pre - -NOTE: Unit conversion will only work if the conversion factors are placed in -all appropriate places in the input script. It is up to the user to do this -correctly. - -OpenKIM IM Execution ({kim_interactions}) :h5 - -The second and final step in using an OpenKIM IM is to execute the -{kim_interactions} command. This command must be preceded by a {kim_init} -command and a command that defines the number of atom types {N} (such as -"create_box"_create_box.html). -The {kim_interactions} command has one argument {typeargs}. This argument -contains either a list of {N} chemical species, which defines a mapping between -atom types in LAMMPS to the available species in the OpenKIM IM, or the -keyword {fixed_types} for models that have a preset fixed mapping (i.e. -the mapping between LAMMPS atom types and chemical species is defined by -the model and cannot be changed). In the latter case, the user must consult -the model documentation to see how many atom types there are and how they -map to the chemical species. - -For example, consider an OpenKIM IM that supports Si and C species. -If the LAMMPS simulation has four atom types, where the first three are Si, -and the fourth is C, the following {kim_interactions} command would be used: - -kim_interactions Si Si Si C -:pre - -Alternatively, for a model with a fixed mapping the command would be: - -kim_interactions fixed_types -:pre - -The {kim_interactions} command performs all the necessary steps to set up -the OpenKIM IM selected in the {kim_init} command. The specific actions depend -on whether the IM is a KIM PM or a KIM SM. For a KIM PM, -a "pair_style kim"_pair_kim.html command is executed followed by -the appropriate {pair_coeff} command. For example, for the -Ercolessi and Adams (1994) KIM PM for Al set by the following commands: - -kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal -... -... box specification lines skipped -... -kim_interactions Al :pre - -the {kim_interactions} command executes the following LAMMPS input commands: - -pair_style kim EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 -pair_coeff * * Al :pre - -For a KIM SM, the generated input commands may be more complex -and require that LAMMPS is built with the required packages included -for the type of potential being used. The set of commands to be executed -is defined in the SM specification file, which is part of the SM package. -For example, for the Strachan et al. (2003) ReaxFF SM -set by the following commands: - -kim_init Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000 real -... -... box specification lines skipped -... -kim_interactions C H N O :pre - -the {kim_interactions} command executes the following LAMMPS input commands: - -pair_style reax/c lmp_control safezone 2.0 mincap 100 -pair_coeff * * ffield.reax.rdx C H N O -fix reaxqeq all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq :pre - -Note that the files {lmp_control}, {ffield.reax.rdx} and {param.qeq} -are specific to the Strachan et al. (2003) ReaxFF parameterization -and are archived as part of the SM package in OpenKIM. -Note also that parameters like cutoff radii and charge tolerances, -which have an effect on IM predictions, are also included in the -SM definition ensuring reproducibility. - -NOTE: When using {kim_init} and {kim_interactions} to select -and set up an OpenKIM IM, other LAMMPS commands -for the same functions (such as pair_style, pair_coeff, bond_style, -bond_coeff, fixes related to charge equilibration, etc.) should normally -not appear in the input script. - -Using OpenKIM Web Queries in LAMMPS ({kim_query}) :h5 - -The {kim_query} command performs a web query to retrieve the predictions -of an IM set by {kim_init} for material properties archived in -"OpenKIM"_https://openkim.org. - -NOTE: The {kim_query} command must be preceded by a {kim_init} command. - -The syntax for the {kim_query} command is as follows: - -kim_query variable formatarg query_function queryargs -:pre - -The result of the query is stored in one or more -"string style variables"_variable.html as determined by the -optional {formatarg} argument "documented above"_#formatarg_options. -For the "list" setting of {formatarg} (or if {formatarg} is not -specified), the result is returned as a space-separated list of -values in {variable}. -The {formatarg} keyword "split" separates the result values into -individual variables of the form {prefix_I}, where {prefix} is set to the -{kim_query} {variable} argument and {I} ranges from 1 to the number of -returned values. The number and order of the returned values is determined -by the type of query performed. (Note that the "explicit" setting of -{formatarg} is not supported by {kim_query}.) - -NOTE: {kim_query} only supports queries that return a single result or -an array of values. More complex queries that return a JSON structure -are not currently supported. An attempt to use {kim_query} in such -cases will generate an error. - -The second required argument {query_function} is the name of the -query function to be called (e.g. {get_lattice_constant_cubic}). -All following "arguments"_Commands_parse.html are parameters handed over to -the web query in the format {keyword=value}, where {value} is always -an array of one or more comma-separated items in brackets. -The list of supported keywords and the type and format of their values -depend on the query function used. The current list of query functions -is available on the OpenKIM webpage at -"https://openkim.org/doc/usage/kim-query"_https://openkim.org/doc/usage/kim-query. - -NOTE: All query functions require the {model} keyword, which identifies -the IM whose predictions are being queried. This keyword is automatically -generated by {kim_query} based on the IM set in {kim_init} and must not -be specified as an argument to {kim_query}. - -NOTE: Each {query_function} is associated with a default method (implemented -as a "KIM Test"_https://openkim.org/doc/evaluation/kim-tests/) -used to compute this property. In cases where there are multiple -methods in OpenKIM for computing a property, a {method} keyword can -be provided to select the method of choice. See the -"query documentation"_https://openkim.org/doc/repository/kim-query -to see which methods are available for a given {query function}. - -{kim_query} Usage Examples and Further Clarifications :h5 - -The data obtained by {kim_query} commands can be used as part of the setup -or analysis phases of LAMMPS simulations. Some examples are given below. - -[Define an equilibrium fcc crystal] - -kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal -boundary p p p -kim_query a0 get_lattice_constant_cubic crystal=\["fcc"\] species=\["Al"\] units=\["angstrom"\] -lattice fcc $\{a0\} -... :pre - -The {kim_query} command retrieves from "OpenKIM"_https://openkim.org -the equilibrium lattice constant predicted by the Ercolessi and Adams (1994) -potential for the fcc structure and places it in -variable {a0}. This variable is then used on the next line to set up the -crystal. By using {kim_query}, the user is saved the trouble and possible -error of tracking this value down, or of having to perform an energy -minimization to find the equilibrium lattice constant. - -Note that in {unit_conversion_mode} the results obtained from a -{kim_query} would need to be converted to the appropriate units system. -For example, in the above script, the lattice command would need to be -changed to: "lattice fcc $\{a0\}*$\{_u_distance\}". - -[Define an equilibrium hcp crystal] - -kim_init EAM_Dynamo_Mendelev_2007_Zr__MO_848899341753_000 metal -boundary p p p -kim_query latconst split get_lattice_constant_hexagonal crystal=\["hcp"\] species=\["Zr"\] units=\["angstrom"\] -variable a0 equal latconst_1 -variable c0 equal latconst_2 -variable c_to_a equal $\{c0\}/$\{a0\} -lattice custom $\{a0\} a1 0.5 -0.866025 0 a2 0.5 0.866025 0 a3 0 0 $\{c_to_a\} & - basis 0.333333 0.666666 0.25 basis 0.666666 0.333333 0.75 -... :pre - -In this case the {kim_query} returns two arguments (since the hexagonal -close packed (hcp) structure has two independent lattice constants). -The {formatarg} keyword "split" places the two values into -the variables {latconst_1} and {latconst_2}. (These variables are -created if they do not already exist.) For convenience the variables -{a0} and {c0} are created in order to make the remainder of the -input script more readable. - -[Define a crystal at finite temperature accounting for thermal expansion] - -kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal -boundary p p p -kim_query a0 get_lattice_constant_cubic crystal=\["fcc"\] species=\["Al"\] units=\["angstrom"\] -kim_query alpha get_linear_thermal_expansion_coefficient_cubic crystal=\["fcc"\] species=\["Al"\] units=\["1/K"\] temperature=\[293.15\] temperature_units=\["K"\] -variable DeltaT equal 300 -lattice fcc $\{a0\}*$\{alpha\}*$\{DeltaT\} -... :pre - -As in the previous example, the equilibrium lattice constant is obtained -for the Ercolessi and Adams (1994) potential. However, in this case the -crystal is scaled to the appropriate lattice constant at room temperature -(293.15 K) by using the linear thermal expansion constant predicted by the -potential. - -NOTE: When passing numerical values as arguments (as in the case -of the temperature in the above example) it is also possible to pass a -tolerance indicating how close to the value is considered a match. -If no tolerance is passed a default value is used. If multiple results -are returned (indicating that the tolerance is too large), {kim_query} -will return an error. See the -"query documentation"_https://openkim.org/doc/repository/kim-query -to see which numerical arguments and tolerances are available for a -given {query function}. - -[Compute defect formation energy] - -kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal -... -... Build fcc crystal containing some defect and compute the total energy -... which is stored in the variable {Etot} -... -kim_query Ec get_cohesive_energy_cubic crystal=\["fcc"\] species=\["Al"\] units=\["eV"\] -variable Eform equal $\{Etot\} - count(all)*$\{Ec\} -... :pre - -The defect formation energy {Eform} is computed by subtracting from {Etot} the -ideal fcc cohesive energy of the atoms in the system obtained from -"OpenKIM"_https://openkim.org for the Ercolessi and Adams (1994) potential. - -NOTE: {kim_query} commands return results archived in -"OpenKIM"_https://openkim.org. These results are obtained -using programs for computing material properties -(KIM Tests and KIM Test Drivers) that were contributed to OpenKIM. -In order to give credit to Test developers, the number of times results -from these programs are queried is tracked. No other information about -the nature of the query or its source is recorded. - -Accessing KIM Model Parameters from LAMMPS ({kim_param}) :h5 - -All IMs are functional forms containing a set of -parameters. The values of these parameters are typically -selected to best reproduce a training set of quantum mechanical -calculations or available experimental data. For example, a -Lennard-Jones potential intended to model argon might have the values of -its two parameters, epsilon and sigma, fit to the -dimer dissociation energy or thermodynamic properties at a critical point -of the phase diagram. - -Normally a user employing an IM should not modify its parameters since, -as noted above, these are selected to reproduce material properties. -However, there are cases where accessing and modifying IM parameters -is desired, such as for assessing uncertainty, fitting an IM, -or working with an ensemble of IMs. As explained "above"_#IM_types, -IMs archived in OpenKIM are either Portable Models (PMs) or -Simulator Models (SMs). KIM PMs are complete independent implementations -of an IM, whereas KIM SMs are wrappers to an IM implemented within LAMMPS. -Two different mechanisms are provided for accessing IM parameters in these -two cases: - -For a KIM PM, the {kim_param} command can be used to {get} and {set} the values of the PM's parameters as explained below. -For a KIM SM, the user should consult the documentation page for the specific IM and follow instructions there for how to modify its parameters (if possible). :ul - -The {kim_param get} and {kim_param set} commands provide an interface -to access and change the parameters of a KIM PM that "publishes" its -parameters and makes them publicly available (see the -"KIM API documentation"_https://kim-api.readthedocs.io/en/devel/features.html -for details). - -NOTE: The {kim_param get/set} commands must be preceded by {kim_init}. -The {kim_param set} command must additionally be preceded by a -{kim_interactions} command (or alternatively by a {pair_style kim} -and {pair_coeff} commands). The {kim_param set} command may be used wherever a {pair_coeff} command may occur. - -The syntax for the {kim_param} command is as follows: - -kim_param get param_name index_range variable formatarg -kim_param set param_name index_range values -:pre - -Here, {param_name} is the name of a KIM PM parameter (which is published -by the PM and available for access). The specific string used to identify -a parameter is defined by the PM. For example, for the -"Stillinger--Weber (SW) potential in OpenKIM"_https://openkim.org/id/SW_StillingerWeber_1985_Si__MO_405512056662_005, -the parameter names are {A, B, p, q, sigma, gamma, cutoff, lambda, costheta0}. - -NOTE: The list of all the parameters that a PM exposes for access/mutation are -automatically written to the lammps log file when {kim_init} is called. - -Each published parameter of a KIM PM takes the form of an array of -numerical values. The array can contain one element for a single-valued -parameter, or a set of values. For example, the -"multispecies SW potential for the Zn-Cd-Hg-S-Se-Te system"_https://openkim.org/id/SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 -has the same parameter names as the -"single-species SW potential"_https://openkim.org/id/SW_StillingerWeber_1985_Si__MO_405512056662_005, -but each parameter array contains 21 entries that correspond to the parameter -values used for each pairwise combination of the model's six supported species -(this model does not have parameters specific to individual ternary -combinations of its supported species). - -The {index_range} argument may either be an integer referring to -a specific element within the array associated with the parameter -specified by {param_name}, or a pair of integers separated by a colon -that refer to a slice of this array. In both cases, one-based indexing is -used to refer to the entries of the array. - -The result of a {get} operation for a specific {index_range} is stored in -one or more "LAMMPS string style variables"_variable.html as determined -by the optional {formatarg} argument "documented above."_#formatarg_options -If not specified, the default for {formatarg} is "explicit" for the -{kim_param} command. - -For the case where the result is an array with multiple values -(i.e. {index_range} contains a range), the optional "split" or "explicit" -{formatarg} keywords can be used to separate the results into multiple -variables; see the examples below. -Multiple parameters can be retrieved with a single call to {kim_param get} -by repeating the argument list following {get}. - -For a {set} operation, the {values} argument contains the new value(s) -for the element(s) of the parameter specified by {index_range}. For the case -where multiple values are being set, {values} contains a set of values -separated by spaces. Multiple parameters can be set with a single call to -{kim_param set} by repeating the argument list following {set}. - -{kim_param} Usage Examples and Further Clarifications :h5 - -Examples of getting and setting KIM PM parameters with further -clarifications are provided below. - -[Getting a scalar parameter] - -kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal -... -kim_param get A 1 VARA -:pre - -In this case, the value of the SW {A} parameter is retrieved and placed -in the LAMMPS variable {VARA}. The variable {VARA} can be used -in the remainder of the input script in the same manner as any other -LAMMPS variable. - -[Getting multiple scalar parameters with a single call] - -kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal -... -kim_param get A 1 VARA B 1 VARB -:pre - -This retrieves the {A} and {B} parameters of the SW potential and stores -them in the LAMMPS variables {VARA} and {VARB}. - -[Getting a range of values from a parameter] - -There are several options when getting a range of values from a parameter -determined by the {formatarg} argument. - -kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal -... -kim_param get lambda 7:9 LAM_TeTe LAM_TeZn LAM_TeSe -:pre - -In this case, {formatarg} is not specified and therefore the default -"explicit" mode is used. (The behavior would be the same if the word -{explicit} were added after {LAM_TeSe}.) Elements 7, 8 and 9 of parameter -lambda retrieved by the {get} operation are placed in the LAMMPS variables -{LAM_TeTe}, {LAM_TeZn} and {LAM_TeSe}, respectively. - -NOTE: In the above example, elements 7--9 of the lambda parameter correspond -to Te-Te, Te-Zm and Te-Se interactions. This can be determined by visiting -the "model page for the specified potential"_https://openkim.org/id/SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 -and looking at its parameter file linked to at the bottom of the page -(file with .param ending) and consulting the README documentation -provided with the driver for the PM being used. A link to the driver -is provided at the top of the model page. - -kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal -... -kim_param get lambda 15:17 LAMS list -variable LAM_VALUE index $\{LAMS\} -label loop_on_lambda -... -... do something with current value of lambda -... -next LAM_VALUE -jump SELF loop_on_lambda -:pre - -In this case, the "list" mode of {formatarg} is used. -The result of the {get} operation is stored in the LAMMPS variable -{LAMS} as a string containing the three retrieved values separated -by spaces, e.g "1.0 2.0 3.0". This can be used in LAMMPS with an -{index} variable to access the values one at a time within a loop -as shown in the example. At each iteration of the loop {LAM_VALUE} -contains the current value of lambda. - -kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal -... -kim_param get lambda 15:17 LAM split -:pre - -In this case, the "split" mode of {formatarg} is used. -The three values retrieved by the {get} operation are stored in -the three LAMMPS variables {LAM_15}, {LAM_16} and {LAM_17}. -The provided name "LAM" is used as prefix and the location in -the lambda array is appended to create the variable names. - -[Setting a scalar parameter] - -kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal -... -kim_interactions Si -kim_param set gamma 1 2.6 -:pre - -Here, the SW potential's gamma parameter is set to 2.6. Note that the {get} -and {set} commands work together, so that a {get} following a {set} -operation will return the new value that was set. For example: - -... -kim_interactions Si -kim_param get gamma 1 ORIG_GAMMA -kim_param set gamma 1 2.6 -kim_param get gamma 1 NEW_GAMMA -... -print "original gamma = $\{ORIG_GAMMA\}, new gamma = $\{NEW_GAMMA\}" -:pre - -Here, {ORIG_GAMMA} will contain the original gamma value for the SW -potential, while {NEW_GAMMA} will contain the value 2.6. - -[Setting multiple scalar parameters with a single call] - -kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal -... -kim_interactions Cd Te -variable VARG equal 2.6 -variable VARS equal 2.0951 -kim_param set gamma 1 $\{VARG\} sigma 3 $\{VARS\} -:pre - -In this case, the first element of the {gamma} parameter and -third element of the {sigma} parameter are set to 2.6 and 2.0951, -respectively. This example also shows how LAMMPS variables can -be used when setting parameters. - -[Setting a range of values of a parameter] - -kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal -... -kim_interactions Cd Te Zn Se Hg S -kim_param set sigma 2:6 2.35214 2.23869 2.04516 2.43269 1.80415 -:pre - -In this case, elements 2 through 6 of the parameter {sigma} -are set to the values 2.35214, 2.23869, 2.04516, 2.43269 and 1.80415 in -order. - -Citation of OpenKIM IMs :h4 - -When publishing results obtained using OpenKIM IMs researchers are requested -to cite the OpenKIM project "(Tadmor)"_#kim-mainpaper, KIM API -"(Elliott)"_#kim-api, and the specific IM codes used in the simulations, -in addition to the relevant scientific references for the IM. -The citation format for an IM is displayed on its page on -"OpenKIM"_https://openkim.org along with the corresponding BibTex file, -and is automatically added to the LAMMPS {log.cite} file. - -Citing the IM software (KIM infrastructure and specific PM or SM codes) -used in the simulation gives credit to the researchers who developed them -and enables open source efforts like OpenKIM to function. - - -[Restrictions:] - -The set of {kim_commands} is part of the KIM package. It is only enabled if -LAMMPS is built with that package. A requirement for the KIM package, -is the KIM API library that must be downloaded from the -"OpenKIM website"_https://openkim.org/kim-api/ and installed before -LAMMPS is compiled. When installing LAMMPS from binary, the kim-api package -is a dependency that is automatically downloaded and installed. See the KIM -section of the "Packages details"_Packages_details.html for details. - -Furthermore, when using {kim_commands} to run KIM SMs, any packages required -by the native potential being used or other commands or fixes that it invokes -must be installed. - -[Related commands:] - -"pair_style kim"_pair_kim.html - -:line - -:link(kim-mainpaper) -[(Tadmor)] Tadmor, Elliott, Sethna, Miller and Becker, JOM, 63, 17 (2011). -doi: "https://doi.org/10.1007/s11837-011-0102-6"_https://doi.org/10.1007/s11837-011-0102-6 - -:link(kim-api) -[(Elliott)] Elliott, Tadmor and Bernstein, "https://openkim.org/kim-api"_https://openkim.org/kim-api (2011) -doi: "https://doi.org/10.25950/FF8F563A"_https://doi.org/10.25950/FF8F563A diff --git a/doc/txt/kspace_modify.txt b/doc/txt/kspace_modify.txt deleted file mode 100644 index c5a2ce1b696a4d1f27e6029e041c98fa09069d41..0000000000000000000000000000000000000000 --- a/doc/txt/kspace_modify.txt +++ /dev/null @@ -1,474 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -kspace_modify command :h3 - -[Syntax:] - -kspace_modify keyword value ... :pre - -one or more keyword/value pairs may be listed :ulb,l -keyword = {collective} or {compute} or {cutoff/adjust} or {diff} or {disp/auto} or {fftbench} or {force/disp/kspace} or {force/disp/real} or {force} or {gewald/disp} or {gewald} or {kmax/ewald} or {mesh} or {minorder} or {mix/disp} or {order/disp} or {order} or {overlap} or {scafacos} or {slab} or {splittol} :l - {collective} value = {yes} or {no} - {compute} value = {yes} or {no} - {cutoff/adjust} value = {yes} or {no} - {diff} value = {ad} or {ik} = 2 or 4 FFTs for PPPM in smoothed or non-smoothed mode - {disp/auto} value = yes or no - {fftbench} value = {yes} or {no} - {force/disp/real} value = accuracy (force units) - {force/disp/kspace} value = accuracy (force units) - {force} value = accuracy (force units) - {gewald} value = rinv (1/distance units) - rinv = G-ewald parameter for Coulombics - {gewald/disp} value = rinv (1/distance units) - rinv = G-ewald parameter for dispersion - {kmax/ewald} value = kx ky kz - kx,ky,kz = number of Ewald sum kspace vectors in each dimension - {mesh} value = x y z - x,y,z = grid size in each dimension for long-range Coulombics - {mesh/disp} value = x y z - x,y,z = grid size in each dimension for 1/r^6 dispersion - {minorder} value = M - M = min allowed extent of Gaussian when auto-adjusting to minimize grid communication - {mix/disp} value = {pair} or {geom} or {none} - {order} value = N - N = extent of Gaussian for PPPM or MSM mapping of charge to grid - {order/disp} value = N - N = extent of Gaussian for PPPM mapping of dispersion term to grid - {overlap} = {yes} or {no} = whether the grid stencil for PPPM is allowed to overlap into more than the nearest-neighbor processor - {pressure/scalar} value = {yes} or {no} - {scafacos} values = option value1 value2 ... - option = {tolerance} - value = {energy} or {energy_rel} or {field} or {field_rel} or {potential} or {potential_rel} - option = {fmm_tuning} - value = {0} or {1} - {slab} value = volfactor or {nozforce} - volfactor = ratio of the total extended volume used in the - 2d approximation compared with the volume of the simulation domain - {nozforce} turns off kspace forces in the z direction - {splittol} value = tol - tol = relative size of two eigenvalues (see discussion below) :pre -:ule - -[Examples:] - -kspace_modify mesh 24 24 30 order 6 -kspace_modify slab 3.0 -kspace_modify scafacos tolerance energy :pre - -[Description:] - -Set parameters used by the kspace solvers defined by the -"kspace_style"_kspace_style.html command. Not all parameters are -relevant to all kspace styles. - -:line - -The {collective} keyword applies only to PPPM. It is set to {no} by -default, except on IBM BlueGene machines. If this option is set to -{yes}, LAMMPS will use MPI collective operations to remap data for -3d-FFT operations instead of the default point-to-point communication. -This is faster on IBM BlueGene machines, and may also be faster on -other machines if they have an efficient implementation of MPI -collective operations and adequate hardware. - -:line - -The {compute} keyword allows Kspace computations to be turned off, -even though a "kspace_style"_kspace_style.html is defined. This is -not useful for running a real simulation, but can be useful for -debugging purposes or for computing only partial forces that do not -include the Kspace contribution. You can also do this by simply not -defining a "kspace_style"_kspace_style.html, but a Kspace-compatible -"pair_style"_pair_style.html requires a kspace style to be defined. -This keyword gives you that option. - -:line - -The {cutoff/adjust} keyword applies only to MSM. If this option is -turned on, the Coulombic cutoff will be automatically adjusted at the -beginning of the run to give the desired estimated error. Other -cutoffs such as LJ will not be affected. If the grid is not set using -the {mesh} command, this command will also attempt to use the optimal -grid that minimizes cost using an estimate given by -"(Hardy)"_#Hardy1. Note that this cost estimate is not exact, somewhat -experimental, and still may not yield the optimal parameters. - -:line - -The {diff} keyword specifies the differentiation scheme used by the -PPPM method to compute forces on particles given electrostatic -potentials on the PPPM mesh. The {ik} approach is the default for -PPPM and is the original formulation used in "(Hockney)"_#Hockney1. It -performs differentiation in Kspace, and uses 3 FFTs to transfer each -component of the computed fields back to real space for total of 4 -FFTs per timestep. - -The analytic differentiation {ad} approach uses only 1 FFT to transfer -information back to real space for a total of 2 FFTs per timestep. It -then performs analytic differentiation on the single quantity to -generate the 3 components of the electric field at each grid point. -This is sometimes referred to as "smoothed" PPPM. This approach -requires a somewhat larger PPPM mesh to achieve the same accuracy as -the {ik} method. Currently, only the {ik} method (default) can be -used for a triclinic simulation cell with PPPM. The {ad} method is -always used for MSM. - -NOTE: Currently, not all PPPM styles support the {ad} option. Support -for those PPPM variants will be added later. - -:line - -The {disp/auto} option controls whether the pppm/disp is allowed to -generate PPPM parameters automatically. If set to {no}, parameters have -to be specified using the {gewald/disp}, {mesh/disp}, -{force/disp/real} or {force/disp/kspace} keywords, or -the code will stop with an error message. When this option is set to -{yes}, the error message will not appear and the simulation will start. -For a typical application, using the automatic parameter generation -will provide simulations that are either inaccurate or slow. Using this -option is thus not recommended. For guidelines on how to obtain good -parameters, see the "How-To"_Howto_dispersion.html discussion. - -:line - -The {fftbench} keyword applies only to PPPM. It is off by default. If -this option is turned on, LAMMPS will perform a short FFT benchmark -computation and report its timings, and will thus finish a some seconds -later than it would if this option were off. - -:line - -The {force/disp/real} and {force/disp/kspace} keywords set the force -accuracy for the real and space computations for the dispersion part -of pppm/disp. As shown in "(Isele-Holder)"_#Isele-Holder1, optimal -performance and accuracy in the results is obtained when these values -are different. - -:line - -The {force} keyword overrides the relative accuracy parameter set by -the "kspace_style"_kspace_style.html command with an absolute -accuracy. The accuracy determines the RMS error in per-atom forces -calculated by the long-range solver and is thus specified in force -units. A negative value for the accuracy setting means to use the -relative accuracy parameter. The accuracy setting is used in -conjunction with the pairwise cutoff to determine the number of -K-space vectors for style {ewald}, the FFT grid size for style -{pppm}, or the real space grid size for style {msm}. - -:line - -The {gewald} keyword sets the value of the Ewald or PPPM G-ewald -parameter for charge as {rinv} in reciprocal distance units. Without -this setting, LAMMPS chooses the parameter automatically as a function -of cutoff, precision, grid spacing, etc. This means it can vary from -one simulation to the next which may not be desirable for matching a -KSpace solver to a pre-tabulated pairwise potential. This setting can -also be useful if Ewald or PPPM fails to choose a good grid spacing -and G-ewald parameter automatically. If the value is set to 0.0, -LAMMPS will choose the G-ewald parameter automatically. MSM does not -use the {gewald} parameter. - -:line - -The {gewald/disp} keyword sets the value of the Ewald or PPPM G-ewald -parameter for dispersion as {rinv} in reciprocal distance units. It -has the same meaning as the {gewald} setting for Coulombics. - -:line - -The {kmax/ewald} keyword sets the number of kspace vectors in each -dimension for kspace style {ewald}. The three values must be positive -integers, or else (0,0,0), which unsets the option. When this option -is not set, the Ewald sum scheme chooses its own kspace vectors, -consistent with the user-specified accuracy and pairwise cutoff. In -any case, if kspace style {ewald} is invoked, the values used are -printed to the screen and the log file at the start of the run. - -:line - -The {mesh} keyword sets the grid size for kspace style {pppm} or -{msm}. In the case of PPPM, this is the FFT mesh, and each dimension -must be factorizable into powers of 2, 3, and 5. In the case of MSM, -this is the finest scale real-space mesh, and each dimension must be -factorizable into powers of 2. When this option is not set, the PPPM -or MSM solver chooses its own grid size, consistent with the -user-specified accuracy and pairwise cutoff. Values for x,y,z of -0,0,0 unset the option. - -:line - -The {mesh/disp} keyword sets the grid size for kspace style -{pppm/disp}. This is the FFT mesh for long-range dispersion and ach -dimension must be factorizable into powers of 2, 3, and 5. When this -option is not set, the PPPM solver chooses its own grid size, -consistent with the user-specified accuracy and pairwise cutoff. -Values for x,y,z of 0,0,0 unset the option. - -:line - -The {minorder} keyword allows LAMMPS to reduce the {order} setting if -necessary to keep the communication of ghost grid point limited to -exchanges between nearest-neighbor processors. See the discussion of -the {overlap} keyword for details. If the {overlap} keyword is set to -{yes}, which is the default, this is never needed. If it set to {no} -and overlap occurs, then LAMMPS will reduce the order setting, one -step at a time, until the ghost grid overlap only extends to nearest -neighbor processors. The {minorder} keyword limits how small the -{order} setting can become. The minimum allowed value for PPPM is 2, -which is the default. If {minorder} is set to the same value as -{order} then no reduction is allowed, and LAMMPS will generate an -error if the grid communication is non-nearest-neighbor and {overlap} -is set to {no}. The {minorder} keyword is not currently supported in -MSM. - -:line - -The {mix/disp} keyword selects the mixing rule for the dispersion -coefficients. With {pair}, the dispersion coefficients of unlike -types are computed as indicated with "pair_modify"_pair_modify.html. -With {geom}, geometric mixing is enforced on the dispersion -coefficients in the kspace coefficients. When using the arithmetic -mixing rule, this will speed-up the simulations but introduces some -error in the force computations, as shown in "(Wennberg)"_#Wennberg. -With {none}, it is assumed that no mixing rule is -applicable. Splitting of the dispersion coefficients will be performed -as described in "(Isele-Holder)"_#Isele-Holder1. - -This splitting can be influenced with the {splittol} keywords. Only -the eigenvalues that are larger than tol compared to the largest -eigenvalues are included. Using this keywords the original matrix of -dispersion coefficients is approximated. This leads to faster -computations, but the accuracy in the reciprocal space computations of -the dispersion part is decreased. - -:line - -The {order} keyword determines how many grid spacings an atom's charge -extends when it is mapped to the grid in kspace style {pppm} or {msm}. -The default for this parameter is 5 for PPPM and 8 for MSM, which -means each charge spans 5 or 8 grid cells in each dimension, -respectively. For the LAMMPS implementation of MSM, the order can -range from 4 to 10 and must be even. For PPPM, the minimum allowed -setting is 2 and the maximum allowed setting is 7. The larger the -value of this parameter, the smaller that LAMMPS will set the grid -size, to achieve the requested accuracy. Conversely, the smaller the -order value, the larger the grid size will be. Note that there is an -inherent trade-off involved: a small grid will lower the cost of FFTs -or MSM direct sum, but a larger order parameter will increase the cost -of interpolating charge/fields to/from the grid. - -The PPPM order parameter may be reset by LAMMPS when it sets up the -FFT grid if the implied grid stencil extends beyond the grid cells -owned by neighboring processors. Typically this will only occur when -small problems are run on large numbers of processors. A warning will -be generated indicating the order parameter is being reduced to allow -LAMMPS to run the problem. Automatic adjustment of the order parameter -is not supported in MSM. - -:line - -The {order/disp} keyword determines how many grid spacings an atom's -dispersion term extends when it is mapped to the grid in kspace style -{pppm/disp}. It has the same meaning as the {order} setting for -Coulombics. - -:line - -The {overlap} keyword can be used in conjunction with the {minorder} -keyword with the PPPM styles to adjust the amount of communication -that occurs when values on the FFT grid are exchanged between -processors. This communication is distinct from the communication -inherent in the parallel FFTs themselves, and is required because -processors interpolate charge and field values using grid point values -owned by neighboring processors (i.e. ghost point communication). If -the {overlap} keyword is set to {yes} then this communication is -allowed to extend beyond nearest-neighbor processors, e.g. when using -lots of processors on a small problem. If it is set to {no} then the -communication will be limited to nearest-neighbor processors and the -{order} setting will be reduced if necessary, as explained by the -{minorder} keyword discussion. The {overlap} keyword is always set to -{yes} in MSM. - -:line - -The {pressure/scalar} keyword applies only to MSM. If this option is -turned on, only the scalar pressure (i.e. (Pxx + Pyy + Pzz)/3.0) will -be computed, which can be used, for example, to run an isotropic barostat. -Computing the full pressure tensor with MSM is expensive, and this option -provides a faster alternative. The scalar pressure is computed using a -relationship between the Coulombic energy and pressure "(Hummer)"_#Hummer -instead of using the virial equation. This option cannot be used to access -individual components of the pressure tensor, to compute per-atom virial, -or with suffix kspace/pair styles of MSM, like OMP or GPU. - -:line - -The {scafacos} keyword is used for settings that are passed to the -ScaFaCoS library when using "kspace_style scafacos"_kspace_style.html. - -The {tolerance} option affects how the {accuracy} specified with the -"kspace_style"_kspace_style.html command is interpreted by ScaFaCoS. -The following values may be used: - -energy = absolute accuracy in total Coulombic energy -energy_rel = relative accuracy in total Coulombic energy -potential = absolute accuracy in total Coulombic potential -potential_rel = relative accuracy in total Coulombic potential -field = absolute accuracy in electric field -field_rel = relative accuracy in electric field :ul - -The values with suffix _rel indicate the tolerance is a relative -tolerance; the other values impose an absolute tolerance on the given -quantity. Absolute tolerance in this case means, that for a given -quantity q and a given absolute tolerance of t_a the result should -be between q-t_a and q+t_a. For a relative tolerance t_r the relative -error should not be greater than t_r, i.e. abs(1 - (result/q)) < t_r. -As a consequence of this, the tolerance type should be checked, when -performing computations with a high absolute field / energy. E.g. -if the total energy in the system is 1000000.0 an absolute tolerance -of 1e-3 would mean that the result has to be between 999999.999 and -1000000.001, which would be equivalent to a relative tolerance of -1e-9. - -The energy and energy_rel values, set a tolerance based on the total -Coulombic energy of the system. The potential and potential_rel set a -tolerance based on the per-atom Coulombic energy. The field and -field_rel tolerance types set a tolerance based on the electric field -values computed by ScaFaCoS. Since per-atom forces are derived from -the per-atom electric field, this effectively sets a tolerance on the -forces, similar to other LAMMPS KSpace styles, as explained on the -"kspace_style"_kspace_style.html doc page. - -Note that not all ScaFaCoS solvers support all tolerance types. -These are the allowed values for each method: - -fmm = energy and energy_rel -p2nfft = field (1d-,2d-,3d-periodic systems) or potential (0d-periodic) -p3m = field -ewald = field -direct = has no tolerance tuning :ul - -If the tolerance type is not changed, the default values for the -tolerance type are the first values in the above list, e.g. energy -is the default tolerance type for the fmm solver. - -The {fmm_tuning} option is only relevant when using the FMM method. -It activates (value=1) or deactivates (value=0) an internal tuning -mechanism for the FMM solver. The tuning operation runs sequentially -and can be very time-consuming. Usually it is not needed for systems -with a homogeneous charge distribution. The default for this option is -therefore {0}. The FMM internal tuning is performed once, when the -solver is set up. - -:line - -The {slab} keyword allows an Ewald or PPPM solver to be used for a -systems that are periodic in x,y but non-periodic in z - a -"boundary"_boundary.html setting of "boundary p p f". This is done by -treating the system as if it were periodic in z, but inserting empty -volume between atom slabs and removing dipole inter-slab interactions -so that slab-slab interactions are effectively turned off. The -volfactor value sets the ratio of the extended dimension in z divided -by the actual dimension in z. The recommended value is 3.0. A larger -value is inefficient; a smaller value introduces unwanted slab-slab -interactions. The use of fixed boundaries in z means that the user -must prevent particle migration beyond the initial z-bounds, typically -by providing a wall-style fix. The methodology behind the {slab} -option is explained in the paper by "(Yeh)"_#Yeh. The {slab} option -is also extended to non-neutral systems "(Ballenegger)"_#Ballenegger. - -An alternative slab option can be invoked with the {nozforce} keyword -in lieu of the volfactor. This turns off all kspace forces in the z -direction. The {nozforce} option is not supported by MSM. For MSM, -any combination of periodic, non-periodic, or shrink-wrapped -boundaries can be set using "boundary"_boundary.html (the slab -approximation in not needed). The {slab} keyword is not currently -supported by Ewald or PPPM when using a triclinic simulation cell. The -slab correction has also been extended to point dipole interactions -"(Klapp)"_#Klapp in "kspace_style"_kspace_style.html {ewald/disp}, -{ewald/dipole}, and {pppm/dipole}. - -NOTE: If you wish to apply an electric field in the Z-direction, in -conjunction with the {slab} keyword, you should do it by adding -explicit charged particles to the +/- Z surfaces. If you do it via -the "fix efield"_fix_efield.html command, it will not give the correct -dielectric constant due to the Yeh/Berkowitz "(Yeh)"_#Yeh correction -not being compatible with how "fix efield"_fix_efield.html works. - -:line - -The {force/disp/real} and {force/disp/kspace} keywords set the force -accuracy for the real and space computations for the dispersion part -of pppm/disp. As shown in "(Isele-Holder)"_#Isele-Holder1, optimal -performance and accuracy in the results is obtained when these values -are different. - -The {disp/auto} option controls whether the pppm/disp is allowed to -generate PPPM parameters automatically. If set to {no}, parameters -have to be specified using the {gewald/disp}, {mesh/disp}, -{force/disp/real} or {force/disp/kspace} keywords, or the code will -stop with an error message. When this option is set to {yes}, the -error message will not appear and the simulation will start. For a -typical application, using the automatic parameter generation will -provide simulations that are either inaccurate or slow. Using this -option is thus not recommended. For guidelines on how to obtain good -parameters, see the "Howto dispersion"_Howto_dispersion.html doc page. - -:line - -[Restrictions:] none - -[Related commands:] - -"kspace_style"_kspace_style.html, "boundary"_boundary.html - -[Default:] - -The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp = -5 (PPPM), order = 10 (MSM), minorder = 2, overlap = yes, force = -1.0, -gewald = gewald/disp = 0.0, slab = 1.0, compute = yes, cutoff/adjust = -yes (MSM), pressure/scalar = yes (MSM), fftbench = no (PPPM), diff = -ik (PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace -= -1.0, split = 0, tol = 1.0e-6, and disp/auto = no. For pppm/intel, -order = order/disp = 7. For scafacos settings, the scafacos tolerance -option depends on the method chosen, as documented above. The -scafacos fmm_tuning default = 0. - -:line - -:link(Hockney1) -[(Hockney)] Hockney and Eastwood, Computer Simulation Using Particles, -Adam Hilger, NY (1989). - -:link(Yeh) -[(Yeh)] Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999). - -:link(Ballenegger) -[(Ballenegger)] Ballenegger, Arnold, Cerda, J Chem Phys, 131, 094107 -(2009). - -:link(Klapp) -[(Klapp)] Klapp, Schoen, J Chem Phys, 117, 8050 (2002). - -:link(Hardy1) -[(Hardy)] David Hardy thesis: Multilevel Summation for the Fast -Evaluation of Forces for the Simulation of Biomolecules, University of -Illinois at Urbana-Champaign, (2006). - -:link(Hummer) -[(Hummer)] Hummer, Gronbech-Jensen, Neumann, J Chem Phys, 109, 2791 (1998) - -:link(Isele-Holder1) -[(Isele-Holder)] Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J -Chem Theory Comput, 9, 5412 (2013). - -:link(Wennberg) -[(Wennberg)] Wennberg, Murtola, Hess, Lindahl, J Chem Theory Comput, -9, 3527 (2013). diff --git a/doc/txt/label.txt b/doc/txt/label.txt deleted file mode 100644 index adab44188c8cc3a45cc49139e935c2e7c37a9606..0000000000000000000000000000000000000000 --- a/doc/txt/label.txt +++ /dev/null @@ -1,36 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -label command :h3 - -[Syntax:] - -label ID :pre - -ID = string used as label name :ul - -[Examples:] - -label xyz -label loop :pre - -[Description:] - -Label this line of the input script with the chosen ID. Unless a jump -command was used previously, this does nothing. But if a -"jump"_jump.html command was used with a label argument to begin -invoking this script file, then all command lines in the script prior -to this line will be ignored. I.e. execution of the script will begin -at this line. This is useful for looping over a section of the input -script as discussed in the "jump"_jump.html command. - -[Restrictions:] none - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/lammps.book b/doc/txt/lammps.book deleted file mode 100644 index 9daa990b89b9924712e43c2786604de36ae5cab4..0000000000000000000000000000000000000000 --- a/doc/txt/lammps.book +++ /dev/null @@ -1,849 +0,0 @@ -#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 -Intro.html -Intro_overview.html -Manual_version.html -Intro_features.html -Intro_nonfeatures.html -Intro_opensource.html -Intro_authors.html -Intro_website.html -Install.html -Install_linux.html -Install_mac.html -Install_windows.html -Install_tarball.html -Install_git.html -Install_svn.html -Install_patch.html -Build.html -Build_cmake.html -Build_make.html -Build_link.html -Build_basics.html -Build_settings.html -Build_package.html -Build_extras.html -Build_windows.html -Build_development.html -Run_head.html -Run_basics.html -Run_options.html -Run_output.html -Run_windows.html -Commands.html -Commands_input.html -Commands_parse.html -Commands_structure.html -Commands_category.html -Commands_all.html -Commands_fix.html -Commands_compute.html -Commands_pair.html -Commands_bond.html -Commands_kspace.html -Commands_removed.html -Packages.html -Packages_standard.html -Packages_user.html -Packages_details.html -Speed.html -Speed_bench.html -Speed_measure.html -Speed_tips.html -Speed_packages.html -Speed_gpu.html -Speed_intel.html -Speed_kokkos.html -Speed_omp.html -Speed_opt.html -Speed_compare.html -Howto.html -Howto_github.html -Howto_pylammps.html -Howto_bash.html -Howto_restart.html -Howto_viz.html -Howto_multiple.html -Howto_replica.html -Howto_library.html -Howto_couple.html -Howto_client_server.html -Howto_output.html -Howto_chunk.html -Howto_2d.html -Howto_triclinic.html -Howto_walls.html -Howto_nemd.html -Howto_granular.html -Howto_spherical.html -Howto_dispersion.html -Howto_temperature.html -Howto_thermostat.html -Howto_barostat.html -Howto_elastic.html -Howto_kappa.html -Howto_viscosity.html -Howto_diffusion.html -Howto_bioFF.html -Howto_tip3p.html -Howto_tip4p.html -Howto_spc.html -Howto_body.html -Howto_polarizable.html -Howto_coreshell.html -Howto_drude.html -Howto_drude2.html -Howto_manifold.html -Howto_spins.html -Examples.html -Tools.html -Modify.html -Modify_overview.html -Modify_contribute.html -Modify_atom.html -Modify_pair.html -Modify_bond.html -Modify_compute.html -Modify_fix.html -Modify_command.html -Modify_dump.html -Modify_kspace.html -Modify_min.html -Modify_region.html -Modify_body.html -Modify_thermo.html -Modify_variable.html -Python_head.html -Python_overview.html -Python_run.html -Python_shlib.html -Python_install.html -Python_mpi.html -Python_test.html -Python_library.html -Python_pylammps.html -Python_examples.html -Python_call.html -Errors.html -Errors_common.html -Errors_bugs.html -Errors_messages.html -Errors_warnings.html -Manual_build.html - -lammps_commands.html -atom_modify.html -atom_style.html -balance.html -boundary.html -box.html -change_box.html -clear.html -comm_modify.html -comm_style.html -create_atoms.html -create_bonds.html -create_box.html -delete_atoms.html -delete_bonds.html -dielectric.html -dimension.html -displace_atoms.html -dump.html -dump_adios.html -dump_h5md.html -dump_image.html -dump_modify.html -dump_molfile.html -dump_netcdf.html -dump_vtk.html -dump_cfg_uef.html -dynamical_matrix.html -echo.html -group.html -group2ndx.html -hyper.html -if.html -include.html -info.html -jump.html -kim_commands.html -label.html -lattice.html -log.html -mass.html -message.html -min_modify.html -min_style.html -min_spin.html -minimize.html -molecule.html -neb.html -neb_spin.html -neigh_modify.html -neighbor.html -newton.html -next.html -package.html -partition.html -prd.html -print.html -processors.html -python.html -quit.html -read_data.html -read_dump.html -read_restart.html -region.html -replicate.html -rerun.html -reset_ids.html -reset_timestep.html -restart.html -run.html -run_style.html -server.html -server_mc.html -server_md.html -set.html -shell.html -special_bonds.html -suffix.html -tad.html -temper.html -temper_grem.html -temper_npt.html -thermo.html -thermo_modify.html -thermo_style.html -third_order.html -timer.html -timestep.html -uncompute.html -undump.html -unfix.html -units.html -variable.html -velocity.html -write_coeff.html -write_data.html -write_dump.html -write_restart.html - -lammps_commands_fix.html -fix.html -fix_modify.html -fix_adapt.html -fix_adapt_fep.html -fix_addforce.html -fix_addtorque.html -fix_append_atoms.html -fix_atom_swap.html -fix_ave_atom.html -fix_ave_chunk.html -fix_ave_correlate.html -fix_ave_correlate_long.html -fix_ave_histo.html -fix_ave_time.html -fix_aveforce.html -fix_balance.html -fix_bocs.html -fix_bond_break.html -fix_bond_create.html -fix_bond_react.html -fix_bond_swap.html -fix_box_relax.html -fix_client_md.html -fix_cmap.html -fix_colvars.html -fix_controller.html -fix_deform.html -fix_deposit.html -fix_dpd_energy.html -fix_dpd_source.html -fix_drag.html -fix_drude.html -fix_drude_transform.html -fix_dt_reset.html -fix_efield.html -fix_ehex.html -fix_electron_stopping.html -fix_enforce2d.html -fix_eos_cv.html -fix_eos_table.html -fix_eos_table_rx.html -fix_evaporate.html -fix_external.html -fix_ffl.html -fix_filter_corotate.html -fix_flow_gauss.html -fix_freeze.html -fix_gcmc.html -fix_gld.html -fix_gle.html -fix_gravity.html -fix_grem.html -fix_halt.html -fix_heat.html -fix_hyper_global.html -fix_hyper_local.html -fix_imd.html -fix_indent.html -fix_ipi.html -fix_langevin.html -fix_langevin_drude.html -fix_langevin_eff.html -fix_langevin_spin.html -fix_latte.html -fix_lb_fluid.html -fix_lb_momentum.html -fix_lb_pc.html -fix_lb_rigid_pc_sphere.html -fix_lb_viscous.html -fix_lineforce.html -fix_manifoldforce.html -fix_meso.html -fix_meso_move.html -fix_meso_stationary.html -fix_momentum.html -fix_move.html -fix_mscg.html -fix_msst.html -fix_mvv_dpd.html -fix_neb.html -fix_neb_spin.html -fix_nh.html -fix_nh_eff.html -fix_nph_asphere.html -fix_nph_body.html -fix_nph_sphere.html -fix_nphug.html -fix_npt_asphere.html -fix_npt_body.html -fix_npt_sphere.html -fix_nve.html -fix_nve_asphere.html -fix_nve_asphere_noforce.html -fix_nve_awpmd.html -fix_nve_body.html -fix_nve_dot.html -fix_nve_dotc_langevin.html -fix_nve_eff.html -fix_nve_limit.html -fix_nve_line.html -fix_nve_manifold_rattle.html -fix_nve_noforce.html -fix_nve_sphere.html -fix_nve_spin.html -fix_nve_tri.html -fix_nvk.html -fix_nvt_asphere.html -fix_nvt_body.html -fix_nvt_manifold_rattle.html -fix_nvt_sllod.html -fix_nvt_sllod_eff.html -fix_nvt_sphere.html -fix_nh_uef.html -fix_oneway.html -fix_orient.html -fix_phonon.html -fix_pimd.html -fix_planeforce.html -fix_plumed.html -fix_poems.html -fix_pour.html -fix_precession_spin.html -fix_press_berendsen.html -fix_print.html -fix_property_atom.html -fix_python_invoke.html -fix_python_move.html -fix_qbmsst.html -fix_qeq.html -fix_qeq_comb.html -fix_qeq_reax.html -fix_qmmm.html -fix_qtb.html -fix_reaxc_bonds.html -fix_reaxc_species.html -fix_recenter.html -fix_restrain.html -fix_rigid.html -fix_rigid_meso.html -fix_rhok.html -fix_rx.html -fix_saed_vtk.html -fix_setforce.html -fix_shake.html -fix_shardlow.html -fix_smd.html -fix_smd_adjust_dt.html -fix_smd_integrate_tlsph.html -fix_smd_integrate_ulsph.html -fix_smd_move_triangulated_surface.html -fix_smd_setvel.html -fix_smd_wall_surface.html -fix_spring.html -fix_spring_chunk.html -fix_spring_rg.html -fix_spring_self.html -fix_srd.html -fix_store_force.html -fix_store_state.html -fix_temp_berendsen.html -fix_temp_csvr.html -fix_temp_rescale.html -fix_temp_rescale_eff.html -fix_tfmc.html -fix_thermal_conductivity.html -fix_ti_spring.html -fix_tmd.html -fix_ttm.html -fix_tune_kspace.html -fix_vector.html -fix_viscosity.html -fix_viscous.html -fix_wall.html -fix_wall_body_polygon.html -fix_wall_body_polyhedron.html -fix_wall_ees.html -fix_wall_gran.html -fix_wall_gran_region.html -fix_wall_piston.html -fix_wall_reflect.html -fix_wall_reflect_stochastic.html -fix_wall_region.html -fix_wall_srd.html - - -lammps_commands_compute.html -compute.html -compute_modify.html -compute_ackland_atom.html -compute_adf.html -compute_angle.html -compute_angle_local.html -compute_angmom_chunk.html -compute_basal_atom.html -compute_body_local.html -compute_bond.html -compute_bond_local.html -compute_centro_atom.html -compute_chunk_atom.html -compute_chunk_spread_atom.html -compute_cluster_atom.html -compute_cna_atom.html -compute_cnp_atom.html -compute_com.html -compute_com_chunk.html -compute_contact_atom.html -compute_coord_atom.html -compute_damage_atom.html -compute_dihedral.html -compute_dihedral_local.html -compute_dilatation_atom.html -compute_dipole_chunk.html -compute_displace_atom.html -compute_dpd.html -compute_dpd_atom.html -compute_edpd_temp_atom.html -compute_entropy_atom.html -compute_erotate_asphere.html -compute_erotate_rigid.html -compute_erotate_sphere.html -compute_erotate_sphere_atom.html -compute_event_displace.html -compute_fep.html -compute_global_atom.html -compute_group_group.html -compute_gyration.html -compute_gyration_chunk.html -compute_gyration_shape.html -compute_gyration_shape_chunk.html -compute_heat_flux.html -compute_hexorder_atom.html -compute_hma.html -compute_improper.html -compute_improper_local.html -compute_inertia_chunk.html -compute_ke.html -compute_ke_atom.html -compute_ke_atom_eff.html -compute_ke_eff.html -compute_ke_rigid.html -compute_meso_e_atom.html -compute_meso_rho_atom.html -compute_meso_t_atom.html -compute_momentum.html -compute_msd.html -compute_msd_chunk.html -compute_msd_nongauss.html -compute_omega_chunk.html -compute_orientorder_atom.html -compute_pair.html -compute_pair_local.html -compute_pe.html -compute_pe_atom.html -compute_plasticity_atom.html -compute_pressure.html -compute_pressure_cylinder.html -compute_pressure_uef.html -compute_property_atom.html -compute_property_chunk.html -compute_property_local.html -compute_ptm_atom.html -compute_rdf.html -compute_reduce.html -compute_reduce_chunk.html -compute_rigid_local.html -compute_saed.html -compute_slice.html -compute_smd_contact_radius.html -compute_smd_damage.html -compute_smd_hourglass_error.html -compute_smd_internal_energy.html -compute_smd_plastic_strain.html -compute_smd_plastic_strain_rate.html -compute_smd_rho.html -compute_smd_tlsph_defgrad.html -compute_smd_tlsph_dt.html -compute_smd_tlsph_num_neighs.html -compute_smd_tlsph_shape.html -compute_smd_tlsph_strain.html -compute_smd_tlsph_strain_rate.html -compute_smd_tlsph_stress.html -compute_smd_triangle_vertices.html -compute_smd_ulsph_num_neighs.html -compute_smd_ulsph_strain.html -compute_smd_ulsph_strain_rate.html -compute_smd_ulsph_stress.html -compute_smd_vol.html -compute_sna_atom.html -compute_spin.html -compute_stress_atom.html -compute_stress_mop.html -compute_tally.html -compute_tdpd_cc_atom.html -compute_temp.html -compute_temp_asphere.html -compute_temp_body.html -compute_temp_chunk.html -compute_temp_com.html -compute_temp_cs.html -compute_temp_deform.html -compute_temp_deform_eff.html -compute_temp_drude.html -compute_temp_eff.html -compute_temp_partial.html -compute_temp_profile.html -compute_temp_ramp.html -compute_temp_region.html -compute_temp_region_eff.html -compute_temp_rotate.html -compute_temp_sphere.html -compute_temp_uef.html -compute_ti.html -compute_torque_chunk.html -compute_vacf.html -compute_vcm_chunk.html -compute_voronoi_atom.html -compute_xrd.html - -lammps_commands_pair.html -pair_style.html -pair_coeff.html -pair_modify.html -pair_write.html -pair_adp.html -pair_agni.html -pair_airebo.html -pair_atm.html -pair_awpmd.html -pair_beck.html -pair_body_nparticle.html -pair_body_rounded_polygon.html -pair_body_rounded_polyhedron.html -pair_bop.html -pair_born.html -pair_brownian.html -pair_buck.html -pair_buck_long.html -pair_buck6d_coul_gauss.html -pair_charmm.html -pair_class2.html -pair_colloid.html -pair_comb.html -pair_cosine_squared.html -pair_coul.html -pair_coul_diel.html -pair_coul_shield.html -pair_cs.html -pair_dipole.html -pair_dpd.html -pair_dpd_fdt.html -pair_dsmc.html -pair_e3b.html -pair_drip.html -pair_eam.html -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 -pair_granular.html -pair_gromacs.html -pair_gw.html -pair_ilp_graphene_hbn.html -pair_hbond_dreiding.html -pair_hybrid.html -pair_kim.html -pair_kolmogorov_crespi_full.html -pair_kolmogorov_crespi_z.html -pair_lcbop.html -pair_lebedeva_z.html -pair_line_lj.html -pair_list.html -pair_lj.html -pair_lj96.html -pair_lj_cubic.html -pair_lj_expand.html -pair_lj_long.html -pair_lj_smooth.html -pair_lj_smooth_linear.html -pair_fep_soft.html -pair_lj_switch3_coulgauss.html -pair_local_density.html -pair_lubricate.html -pair_lubricateU.html -pair_mdf.html -pair_meamc.html -pair_meam_spline.html -pair_meam_sw_spline.html -pair_meso.html -pair_mgpt.html -pair_mie.html -pair_mm3_switch3_coulgauss.html -pair_momb.html -pair_morse.html -pair_multi_lucy.html -pair_multi_lucy_rx.html -pair_nb3b_harmonic.html -pair_nm.html -pair_none.html -pair_oxdna.html -pair_oxdna2.html -pair_peri.html -pair_polymorphic.html -pair_python.html -pair_quip.html -pair_reaxc.html -pair_resquared.html -pair_sdk.html -pair_sdpd_taitwater_isothermal.html -pair_smd_hertz.html -pair_smd_tlsph.html -pair_smd_triangulated_surface.html -pair_smd_ulsph.html -pair_smtbq.html -pair_snap.html -pair_soft.html -pair_sph_heatconduction.html -pair_sph_idealgas.html -pair_sph_lj.html -pair_sph_rhosum.html -pair_sph_taitwater.html -pair_sph_taitwater_morris.html -pair_spin_dipole.html -pair_spin_dmi.html -pair_spin_exchange.html -pair_spin_magelec.html -pair_spin_neel.html -pair_srp.html -pair_sw.html -pair_table.html -pair_table_rx.html -pair_tersoff.html -pair_tersoff_mod.html -pair_tersoff_zbl.html -pair_thole.html -pair_tri_lj.html -pair_ufm.html -pair_vashishta.html -pair_yukawa.html -pair_yukawa_colloid.html -pair_zbl.html -pair_zero.html - -lammps_commands_bond.html -bond_style.html -bond_coeff.html -bond_write.html -bond_class2.html -bond_fene.html -bond_fene_expand.html -bond_gromos.html -bond_harmonic.html -bond_harmonic_shift.html -bond_harmonic_shift_cut.html -bond_hybrid.html -bond_morse.html -bond_mm3.html -bond_none.html -bond_nonlinear.html -bond_oxdna.html -bond_quartic.html -bond_table.html -bond_zero.html - -lammps_commands_angle.html -angle_style.html -angle_coeff.html -angle_charmm.html -angle_class2.html -angle_cosine.html -angle_cosine_buck6d.html -angle_cosine_delta.html -angle_cosine_periodic.html -angle_cosine_shift.html -angle_cosine_shift_exp.html -angle_cosine_squared.html -angle_cross.html -angle_dipole.html -angle_fourier.html -angle_fourier_simple.html -angle_harmonic.html -angle_hybrid.html -angle_mm3.html -angle_none.html -angle_quartic.html -angle_sdk.html -angle_table.html -angle_zero.html - -lammps_commands_dihedral.html -dihedral_style.html -dihedral_coeff.html -dihedral_charmm.html -dihedral_class2.html -dihedral_cosine_shift_exp.html -dihedral_fourier.html -dihedral_harmonic.html -dihedral_helix.html -dihedral_hybrid.html -dihedral_multi_harmonic.html -dihedral_nharmonic.html -dihedral_none.html -dihedral_opls.html -dihedral_quadratic.html -dihedral_spherical.html -dihedral_table.html -dihedral_table_cut.html -dihedral_zero.html - -lammps_commands_improper.html -improper_style.html -improper_coeff.html -improper_class2.html -improper_cossq.html -improper_cvff.html -improper_distance.html -improper_distharm.html -improper_fourier.html -improper_harmonic.html -improper_hybrid.html -improper_inversion_harmonic.html -improper_none.html -improper_ring.html -improper_umbrella.html -improper_sqdistharm.html -improper_zero.html - -lammps_commands_kspace.html -kspace_style.html -kspace_modify.html - -lammps_commands_atc.html -fix_atc.html -USER/atc/man_add_molecule.html -USER/atc/man_add_species.html -USER/atc/man_atom_element_map.html -USER/atc/man_atom_weight.html -USER/atc/man_atomic_charge.html -USER/atc/man_boundary.html -USER/atc/man_boundary_dynamics.html -USER/atc/man_boundary_faceset.html -USER/atc/man_boundary_integral.html -USER/atc/man_consistent_fe_initialization.html -USER/atc/man_contour_integral.html -USER/atc/man_control.html -USER/atc/man_control_momentum.html -USER/atc/man_control_thermal.html -USER/atc/man_control_thermal_correction_max_iterations.html -USER/atc/man_decomposition.html -USER/atc/man_electron_integration.html -USER/atc/man_equilibrium_start.html -USER/atc/man_extrinsic_exchange.html -USER/atc/man_fe_md_boundary.html -USER/atc/man_fem_mesh.html -USER/atc/man_filter_scale.html -USER/atc/man_filter_type.html -USER/atc/man_fix_atc.html -USER/atc/man_fix_flux.html -USER/atc/man_fix_nodes.html -USER/atc/man_hardy_computes.html -USER/atc/man_hardy_fields.html -USER/atc/man_hardy_gradients.html -USER/atc/man_hardy_kernel.html -USER/atc/man_hardy_on_the_fly.html -USER/atc/man_hardy_rates.html -USER/atc/man_initial.html -USER/atc/man_internal_atom_integrate.html -USER/atc/man_internal_element_set.html -USER/atc/man_internal_quadrature.html -USER/atc/man_kernel_function.html -USER/atc/man_localized_lambda.html -USER/atc/man_lumped_lambda_solve.html -USER/atc/man_mask_direction.html -USER/atc/man_mass_matrix.html -USER/atc/man_material.html -USER/atc/man_mesh_add_to_nodeset.html -USER/atc/man_mesh_create.html -USER/atc/man_mesh_create_elementset.html -USER/atc/man_mesh_create_faceset_box.html -USER/atc/man_mesh_create_faceset_plane.html -USER/atc/man_mesh_create_nodeset.html -USER/atc/man_mesh_delete_elements.html -USER/atc/man_mesh_nodeset_to_elementset.html -USER/atc/man_mesh_output.html -USER/atc/man_mesh_quadrature.html -USER/atc/man_mesh_read.html -USER/atc/man_mesh_write.html -USER/atc/man_momentum_time_integration.html -USER/atc/man_output.html -USER/atc/man_output_elementset.html -USER/atc/man_output_nodeset.html -USER/atc/man_pair_interactions.html -USER/atc/man_poisson_solver.html -USER/atc/man_read_restart.html -USER/atc/man_remove_molecule.html -USER/atc/man_remove_source.html -USER/atc/man_remove_species.html -USER/atc/man_reset_atomic_reference_positions.html -USER/atc/man_reset_time.html -USER/atc/man_sample_frequency.html -USER/atc/man_set.html -USER/atc/man_source.html -USER/atc/man_source_integration.html -USER/atc/man_temperature_definition.html -USER/atc/man_thermal_time_integration.html -USER/atc/man_time_filter.html -USER/atc/man_track_displacement.html -USER/atc/man_unfix_flux.html -USER/atc/man_unfix_nodes.html -USER/atc/man_write_atom_weights.html -USER/atc/man_write_restart.html diff --git a/doc/txt/lammps_commands.txt b/doc/txt/lammps_commands.txt deleted file mode 100644 index 97ca099447b7b2227d4d4dce5724797acb0f5c78..0000000000000000000000000000000000000000 --- a/doc/txt/lammps_commands.txt +++ /dev/null @@ -1,12 +0,0 @@ - -LAMMPS Commands :h1 - -The following pages contain the detailed documentation of all -LAMMPS commands included in this version of LAMMPS. Generic -commands are listed first (in alphabetical order) followed by -command categories like compute styles or pair styles and so on. - -The documentation for the USER-ATC package fix_modify commands -follow at the very end of this manual. - -General Commands :h2 diff --git a/doc/txt/lammps_commands_angle.txt b/doc/txt/lammps_commands_angle.txt deleted file mode 100644 index 24a3136a3a62ef8f143a3ade27e48f70a5b860bd..0000000000000000000000000000000000000000 --- a/doc/txt/lammps_commands_angle.txt +++ /dev/null @@ -1,2 +0,0 @@ - -Angle Style Commands :h2 diff --git a/doc/txt/lammps_commands_atc.txt b/doc/txt/lammps_commands_atc.txt deleted file mode 100644 index 6cf2bb82393c3cb58a0f8efad826abcb78194275..0000000000000000000000000000000000000000 --- a/doc/txt/lammps_commands_atc.txt +++ /dev/null @@ -1,2 +0,0 @@ - -AtC Commands :h2 diff --git a/doc/txt/lammps_commands_bond.txt b/doc/txt/lammps_commands_bond.txt deleted file mode 100644 index 5f6af7fee9f6e49f0f0dc34bfe6e370086e27183..0000000000000000000000000000000000000000 --- a/doc/txt/lammps_commands_bond.txt +++ /dev/null @@ -1,2 +0,0 @@ - -Bond Style Commands :h2 diff --git a/doc/txt/lammps_commands_compute.txt b/doc/txt/lammps_commands_compute.txt deleted file mode 100644 index cf233abccf52f75481ee812de5ae682c8b6d3043..0000000000000000000000000000000000000000 --- a/doc/txt/lammps_commands_compute.txt +++ /dev/null @@ -1,2 +0,0 @@ - -Compute Commands :h2 diff --git a/doc/txt/lammps_commands_dihedral.txt b/doc/txt/lammps_commands_dihedral.txt deleted file mode 100644 index c93a1eb0cdd82ae2dc3253ac406b524ae8498b75..0000000000000000000000000000000000000000 --- a/doc/txt/lammps_commands_dihedral.txt +++ /dev/null @@ -1,2 +0,0 @@ - -Dihedral Style Commands :h2 diff --git a/doc/txt/lammps_commands_fix.txt b/doc/txt/lammps_commands_fix.txt deleted file mode 100644 index 32345196e3fbc2b7f6cd93ec71a4ed31489da658..0000000000000000000000000000000000000000 --- a/doc/txt/lammps_commands_fix.txt +++ /dev/null @@ -1,2 +0,0 @@ - -Fix Commands :h2 diff --git a/doc/txt/lammps_commands_improper.txt b/doc/txt/lammps_commands_improper.txt deleted file mode 100644 index fd580cebd569d005ffc1248e9de2528c0da064d0..0000000000000000000000000000000000000000 --- a/doc/txt/lammps_commands_improper.txt +++ /dev/null @@ -1,2 +0,0 @@ - -Improper Style Commands :h2 diff --git a/doc/txt/lammps_commands_kspace.txt b/doc/txt/lammps_commands_kspace.txt deleted file mode 100644 index a187b55d379fa52fc678266c270cc1fbf5dc6d69..0000000000000000000000000000000000000000 --- a/doc/txt/lammps_commands_kspace.txt +++ /dev/null @@ -1,2 +0,0 @@ - -Kspace Style Commands :h2 diff --git a/doc/txt/lammps_commands_pair.txt b/doc/txt/lammps_commands_pair.txt deleted file mode 100644 index ee2789a215f5791e865ee03517a46b4ee645c3f2..0000000000000000000000000000000000000000 --- a/doc/txt/lammps_commands_pair.txt +++ /dev/null @@ -1,2 +0,0 @@ - -Pair Style Commands :h2 diff --git a/doc/txt/lattice.txt b/doc/txt/lattice.txt deleted file mode 100644 index 3b50dc044b03a712b7c18b0576eb8dd2df00e546..0000000000000000000000000000000000000000 --- a/doc/txt/lattice.txt +++ /dev/null @@ -1,293 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -lattice command :h3 - -[Syntax:] - -lattice style scale keyword values ... :pre - -style = {none} or {sc} or {bcc} or {fcc} or {hcp} or {diamond} or \ - {sq} or {sq2} or {hex} or {custom} :ulb,l -scale = scale factor between lattice and simulation box :l - scale = reduced density rho* (for LJ units) - scale = lattice constant in distance units (for all other units) :pre -zero or more keyword/value pairs may be appended :l -keyword = {origin} or {orient} or {spacing} or {a1} or {a2} or {a3} or {basis} :l - {origin} values = x y z - x,y,z = fractions of a unit cell (0 <= x,y,z < 1) - {orient} values = dim i j k - dim = {x} or {y} or {z} - i,j,k = integer lattice directions - {spacing} values = dx dy dz - dx,dy,dz = lattice spacings in the x,y,z box directions - {a1},{a2},{a3} values = x y z - x,y,z = primitive vector components that define unit cell - {basis} values = x y z - x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) :pre -:ule - -[Examples:] - -lattice fcc 3.52 -lattice hex 0.85 -lattice sq 0.8 origin 0.0 0.5 0.0 orient x 1 1 0 orient y -1 1 0 -lattice custom 3.52 a1 1.0 0.0 0.0 a2 0.5 1.0 0.0 a3 0.0 0.0 0.5 & - basis 0.0 0.0 0.0 basis 0.5 0.5 0.5 -lattice none 2.0 :pre - -[Description:] - -Define a lattice for use by other commands. In LAMMPS, a lattice is -simply a set of points in space, determined by a unit cell with basis -atoms, that is replicated infinitely in all dimensions. The arguments -of the lattice command can be used to define a wide variety of -crystallographic lattices. - -A lattice is used by LAMMPS in two ways. First, the -"create_atoms"_create_atoms.html command creates atoms on the lattice -points inside the simulation box. Note that the -"create_atoms"_create_atoms.html command allows different atom types -to be assigned to different basis atoms of the lattice. Second, the -lattice spacing in the x,y,z dimensions implied by the lattice, can be -used by other commands as distance units -(e.g. "create_box"_create_box.html, "region"_region.html and -"velocity"_velocity.html), which are often convenient to use when the -underlying problem geometry is atoms on a lattice. - -The lattice style must be consistent with the dimension of the -simulation - see the "dimension"_dimension.html command. Styles {sc} -or {bcc} or {fcc} or {hcp} or {diamond} are for 3d problems. Styles -{sq} or {sq2} or {hex} are for 2d problems. Style {custom} can be -used for either 2d or 3d problems. - -A lattice consists of a unit cell, a set of basis atoms within that -cell, and a set of transformation parameters (scale, origin, orient) -that map the unit cell into the simulation box. The vectors a1,a2,a3 -are the edge vectors of the unit cell. This is the nomenclature for -"primitive" vectors in solid-state crystallography, but in LAMMPS the -unit cell they determine does not have to be a "primitive cell" of -minimum volume. - -Note that the lattice command can be used multiple times in an input -script. Each time it is invoked, the lattice attributes are -re-defined and are used for all subsequent commands (that use lattice -attributes). For example, a sequence of lattice, -"region"_region.html, and "create_atoms"_create_atoms.html commands -can be repeated multiple times to build a poly-crystalline model with -different geometric regions populated with atoms in different lattice -orientations. - -:line - -A lattice of style {none} does not define a unit cell and basis set, -so it cannot be used with the "create_atoms"_create_atoms.html -command. However it does define a lattice spacing via the specified -scale parameter. As explained above the lattice spacings in x,y,z can -be used by other commands as distance units. No additional -keyword/value pairs can be specified for the {none} style. By -default, a "lattice none 1.0" is defined, which means the lattice -spacing is the same as one distance unit, as defined by the -"units"_units.html command. - -Lattices of style {sc}, {fcc}, {bcc}, and {diamond} are 3d lattices -that define a cubic unit cell with edge length = 1.0. This means a1 = -1 0 0, a2 = 0 1 0, and a3 = 0 0 1. Style {hcp} has a1 = 1 0 0, a2 = 0 -sqrt(3) 0, and a3 = 0 0 sqrt(8/3). The placement of the basis atoms -within the unit cell are described in any solid-state physics text. A -{sc} lattice has 1 basis atom at the lower-left-bottom corner of the -cube. A {bcc} lattice has 2 basis atoms, one at the corner and one at -the center of the cube. A {fcc} lattice has 4 basis atoms, one at the -corner and 3 at the cube face centers. A {hcp} lattice has 4 basis -atoms, two in the z = 0 plane and 2 in the z = 0.5 plane. A {diamond} -lattice has 8 basis atoms. - -Lattices of style {sq} and {sq2} are 2d lattices that define a square -unit cell with edge length = 1.0. This means a1 = 1 0 0 and a2 = 0 1 -0. A {sq} lattice has 1 basis atom at the lower-left corner of the -square. A {sq2} lattice has 2 basis atoms, one at the corner and one -at the center of the square. A {hex} style is also a 2d lattice, but -the unit cell is rectangular, with a1 = 1 0 0 and a2 = 0 sqrt(3) 0. -It has 2 basis atoms, one at the corner and one at the center of the -rectangle. - -A lattice of style {custom} allows you to specify a1, a2, a3, and a -list of basis atoms to put in the unit cell. By default, a1 and a2 -and a3 are 3 orthogonal unit vectors (edges of a unit cube). But you -can specify them to be of any length and non-orthogonal to each other, -so that they describe a tilted parallelepiped. Via the {basis} -keyword you add atoms, one at a time, to the unit cell. Its arguments -are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector -x of a basis atom within the unit cell is thus a linear combination of -the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, -where bx,by,bz are the 3 values specified for the {basis} keyword. - -:line - -This sub-section discusses the arguments that determine how the -idealized unit cell is transformed into a lattice of points within the -simulation box. - -The {scale} argument determines how the size of the unit cell will be -scaled when mapping it into the simulation box. I.e. it determines a -multiplicative factor to apply to the unit cell, to convert it to a -lattice of the desired size and distance units in the simulation box. -The meaning of the {scale} argument depends on the "units"_units.html -being used in your simulation. - -For all unit styles except {lj}, the scale argument is specified in -the distance units defined by the unit style. For example, in {real} -or {metal} units, if the unit cell is a unit cube with edge length -1.0, specifying scale = 3.52 would create a cubic lattice with a -spacing of 3.52 Angstroms. In {cgs} units, the spacing would be 3.52 -cm. - -For unit style {lj}, the scale argument is the Lennard-Jones reduced -density, typically written as rho*. LAMMPS converts this value into -the multiplicative factor via the formula "factor^dim = rho/rho*", -where rho = N/V with V = the volume of the lattice unit cell and N = -the number of basis atoms in the unit cell (described below), and dim -= 2 or 3 for the dimensionality of the simulation. Effectively, this -means that if LJ particles of size sigma = 1.0 are used in the -simulation, the lattice of particles will be at the desired reduced -density. - -The {origin} option specifies how the unit cell will be shifted or -translated when mapping it into the simulation box. The x,y,z values -are fractional values (0.0 <= x,y,z < 1.0) meaning shift the lattice -by a fraction of the lattice spacing in each dimension. The meaning -of "lattice spacing" is discussed below. - -The {orient} option specifies how the unit cell will be rotated when -mapping it into the simulation box. The {dim} argument is one of the -3 coordinate axes in the simulation box. The other 3 arguments are -the crystallographic direction in the lattice that you want to orient -along that axis, specified as integers. E.g. "orient x 2 1 0" means -the x-axis in the simulation box will be the \[210\] lattice -direction, and similarly for y and z. The 3 lattice directions you -specify do not have to be unit vectors, but they must be mutually -orthogonal and obey the right-hand rule, i.e. (X cross Y) points in -the Z direction. - -NOTE: The preceding paragraph describing lattice directions is only -valid for orthogonal cubic unit cells (or square in 2d). If you are -using a {hcp} or {hex} lattice or the more general lattice style -{custom} with non-orthogonal a1,a2,a3 vectors, then you should think -of the 3 {orient} vectors as creating a 3x3 rotation matrix which is -applied to a1,a2,a3 to rotate the original unit cell to a new -orientation in the simulation box. - -:line - -Several LAMMPS commands have the option to use distance units that are -inferred from "lattice spacings" in the x,y,z box directions. -E.g. the "region"_region.html command can create a block of size -10x20x20, where 10 means 10 lattice spacings in the x direction. - -NOTE: Though they are called lattice spacings, all the commands that -have a "units lattice" option, simply use the 3 values as scale -factors on the distance units defined by the "units"_units.html -command. Thus if you do not like the lattice spacings computed by -LAMMPS (e.g. for a non-orthogonal or rotated unit cell), you can -define the 3 values to be whatever you wish, via the {spacing} option. - -If the {spacing} option is not specified, the lattice spacings are -computed by LAMMPS in the following way. A unit cell of the lattice -is mapped into the simulation box (scaled and rotated), so that it now -has (perhaps) a modified size and orientation. The lattice spacing in -X is defined as the difference between the min/max extent of the x -coordinates of the 8 corner points of the modified unit cell (4 in -2d). Similarly, the Y and Z lattice spacings are defined as the -difference in the min/max of the y and z coordinates. - -Note that if the unit cell is orthogonal with axis-aligned edges (no -rotation via the {orient} keyword), then the lattice spacings in each -dimension are simply the scale factor (described above) multiplied by -the length of a1,a2,a3. Thus a {hex} style lattice with a scale -factor of 3.0 Angstroms, would have a lattice spacing of 3.0 in x and -3*sqrt(3.0) in y. - -NOTE: For non-orthogonal unit cells and/or when a rotation is applied -via the {orient} keyword, then the lattice spacings computed by LAMMPS -are typically less intuitive. In particular, in these cases, there is -no guarantee that a particular lattice spacing is an integer multiple -of the periodicity of the lattice in that direction. Thus, if you -create an orthogonal periodic simulation box whose size in a dimension -is a multiple of the lattice spacing, and then fill it with atoms via -the "create_atoms"_create_atoms.html command, you will NOT necessarily -create a periodic system. I.e. atoms may overlap incorrectly at the -faces of the simulation box. - -The {spacing} option sets the 3 lattice spacings directly. All must -be non-zero (use 1.0 for dz in a 2d simulation). The specified values -are multiplied by the multiplicative factor described above that is -associated with the scale factor. Thus a spacing of 1.0 means one -unit cell edge length independent of the scale factor. As mentioned -above, this option can be useful if the spacings LAMMPS computes are -inconvenient to use in subsequent commands, which can be the case for -non-orthogonal or rotated lattices. - -Note that whenever the lattice command is used, the values of the -lattice spacings LAMMPS calculates are printed out. Thus their effect -in commands that use the spacings should be decipherable. - -:line - -Example commands for generating a Wurtzite crystal (courtesy -of Aidan Thompson), with its 8 atom unit cell. - -variable a equal 4.340330 -variable b equal $a*sqrt(3.0) -variable c equal $a*sqrt(8.0/3.0) :pre - -variable 1_3 equal 1.0/3.0 -variable 2_3 equal 2.0/3.0 -variable 1_6 equal 1.0/6.0 -variable 5_6 equal 5.0/6.0 -variable 1_12 equal 1.0/12.0 -variable 5_12 equal 5.0/12.0 :pre - -lattice custom 1.0 & - a1 $a 0.0 0.0 & - a2 0.0 $b 0.0 & - a3 0.0 0.0 $c & - basis 0.0 0.0 0.0 & - basis 0.5 0.5 0.0 & - basis $\{1_3\} 0.0 0.5 & - basis $\{5_6\} 0.5 0.5 & - basis 0.0 0.0 0.625 & - basis 0.5 0.5 0.625 & - basis $\{1_3\} 0.0 0.125 & - basis $\{5_6\} 0.5 0.125 :pre - -region myreg block 0 1 0 1 0 1 -create_box 2 myreg -create_atoms 1 box & - basis 5 2 & - basis 6 2 & - basis 7 2 & - basis 8 2 :pre - -:line - -[Restrictions:] - -The {a1,a2,a3,basis} keywords can only be used with style {custom}. - -[Related commands:] - -"dimension"_dimension.html, "create_atoms"_create_atoms.html, -"region"_region.html - -[Default:] - -lattice none 1.0 :pre - -For other lattice styles, the option defaults are origin = 0.0 0.0 -0.0, orient = x 1 0 0, orient = y 0 1 0, orient = z 0 0 1, a1 = 1 0 0, -a2 = 0 1 0, and a3 = 0 0 1. diff --git a/doc/txt/log.txt b/doc/txt/log.txt deleted file mode 100644 index d526158a3c6a59919fe5a6fdfcba5e5adf3e3889..0000000000000000000000000000000000000000 --- a/doc/txt/log.txt +++ /dev/null @@ -1,45 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -log command :h3 - -[Syntax:] - -log file keyword :pre - -file = name of new logfile -keyword = {append} if output should be appended to logfile (optional) :ul - -[Examples:] - -log log.equil -log log.equil append :pre - -[Description:] - -This command closes the current LAMMPS log file, opens a new file with -the specified name, and begins logging information to it. If the -specified file name is {none}, then no new log file is opened. If the -optional keyword {append} is specified, then output will be appended -to an existing log file, instead of overwriting it. - -If multiple processor partitions are being used, the file name should -be a variable, so that different processors do not attempt to write to -the same log file. - -The file "log.lammps" is the default log file for a LAMMPS run. The -name of the initial log file can also be set by the "-log command-line -switch"_Run_options.html. - -[Restrictions:] none - -[Related commands:] none - -[Default:] - -The default LAMMPS log file is named log.lammps diff --git a/doc/txt/mass.txt b/doc/txt/mass.txt deleted file mode 100644 index c6939630441165e80bd0bacb0007e56fedbec7af..0000000000000000000000000000000000000000 --- a/doc/txt/mass.txt +++ /dev/null @@ -1,84 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -mass command :h3 - -[Syntax:] - -mass I value :pre - -I = atom type (see asterisk form below) -value = mass :ul - -[Examples:] - -mass 1 1.0 -mass * 62.5 -mass 2* 62.5 :pre - -[Description:] - -Set the mass for all atoms of one or more atom types. Per-type mass -values can also be set in the "read_data"_read_data.html data file -using the "Masses" keyword. See the "units"_units.html command for -what mass units to use. - -The I index can be specified in one of two ways. An explicit numeric -value can be used, as in the 1st example above. Or a wild-card -asterisk can be used to set the mass for multiple atom types. This -takes the form "*" or "*n" or "n*" or "m*n". If N = the number of -atom types, then an asterisk with no numeric values means all types -from 1 to N. A leading asterisk means all types from 1 to n -(inclusive). A trailing asterisk means all types from n to N -(inclusive). A middle asterisk means all types from m to n -(inclusive). - -A line in a "data file"_read_data.html that follows the "Masses" -keyword specifies mass using the same format as the arguments of the -mass command in an input script, except that no wild-card asterisk can -be used. For example, under the "Masses" section of a data file, the -line that corresponds to the 1st example above would be listed as - -1 1.0 :pre - -Note that the mass command can only be used if the "atom -style"_atom_style.html requires per-type atom mass to be set. -Currently, all but the {sphere} and {ellipsoid} and {peri} styles do. -They require mass to be set for individual particles, not types. -Per-atom masses are defined in the data file read by the -"read_data"_read_data.html command, or set to default values by the -"create_atoms"_create_atoms.html command. Per-atom masses can also be -set to new values by the "set mass"_set.html or "set density"_set.html -commands. - -Also note that "pair_style eam"_pair_eam.html and "pair_style -bop"_pair_bop.html commands define the masses of atom types in their -respective potential files, in which case the mass command is normally -not used. - -If you define a "hybrid atom style"_atom_style.html which includes one -(or more) sub-styles which require per-type mass and one (or more) -sub-styles which require per-atom mass, then you must define both. -However, in this case the per-type mass will be ignored; only the -per-atom mass will be used by LAMMPS. - -[Restrictions:] - -This command must come after the simulation box is defined by a -"read_data"_read_data.html, "read_restart"_read_restart.html, or -"create_box"_create_box.html command. - -All masses must be defined before a simulation is run. They must also -all be defined before a "velocity"_velocity.html or "fix -shake"_fix_shake.html command is used. - -The mass assigned to any type or atom must be > 0.0. - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/min_modify.txt b/doc/txt/min_modify.txt deleted file mode 100644 index c23ca67852ec0eb10c59bd953e6a7a810e589b54..0000000000000000000000000000000000000000 --- a/doc/txt/min_modify.txt +++ /dev/null @@ -1,135 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -min_modify command :h3 - -[Syntax:] - -min_modify keyword values ... :pre - -one or more keyword/value pairs may be listed :ulb,l -keyword = {dmax} or {line} or {norm} or {alpha_damp} or {discrete_factor} - {dmax} value = max - max = maximum distance for line search to move (distance units) - {line} value = {backtrack} or {quadratic} or {forcezero} or {spin_cubic} or {spin_none} - backtrack,quadratic,forcezero,spin_cubic,spin_none = style of linesearch to use - {norm} value = {two} or {max} - two = Euclidean two-norm (length of 3N vector) - inf = max force component across all 3-vectors - max = max force norm across all 3-vectors - {alpha_damp} value = damping - damping = fictitious Gilbert damping for spin minimization (adim) - {discrete_factor} value = factor - factor = discretization factor for adaptive spin timestep (adim) :pre -:ule - -[Examples:] - -min_modify dmax 0.2 :pre - -[Description:] - -This command sets parameters that affect the energy minimization -algorithms selected by the "min_style"_min_style.html command. The -various settings may affect the convergence rate and overall number of -force evaluations required by a minimization, so users can experiment -with these parameters to tune their minimizations. - -The {cg} and {sd} minimization styles have an outer iteration and an -inner iteration which is steps along a one-dimensional line search in -a particular search direction. The {dmax} parameter is how far any -atom can move in a single line search in any dimension (x, y, or z). -For the {quickmin} and {fire} minimization styles, the {dmax} setting -is how far any atom can move in a single iteration (timestep). Thus a -value of 0.1 in real "units"_units.html means no atom will move -further than 0.1 Angstroms in a single outer iteration. This prevents -highly overlapped atoms from being moved long distances (e.g. through -another atom) due to large forces. - -The choice of line search algorithm for the {cg} and {sd} minimization -styles can be selected via the {line} keyword. -The default {quadratic} line search algorithm starts out using -the robust backtracking method described below. However, once -the system gets close to a local -minimum and the linesearch steps get small, so that the energy -is approximately quadratic in the step length, it uses the -estimated location of zero gradient as the linesearch step, -provided the energy change is downhill. -This becomes more efficient than backtracking -for highly-converged relaxations. The {forcezero} -line search algorithm is similar to {quadratic}. -It may be more efficient than {quadratic} on some systems. - -The backtracking search is robust and should always find a local energy -minimum. However, it will "converge" when it can no longer reduce the -energy of the system. Individual atom forces may still be larger than -desired at this point, because the energy change is measured as the -difference of two large values (energy before and energy after) and -that difference may be smaller than machine epsilon even if atoms -could move in the gradient direction to reduce forces further. - -The choice of a norm can be modified for the min styles {cg}, {sd}, -{quickmin}, {fire}, {spin}, {spin/cg} and {spin/lbfgs} using -the {norm} keyword. -The default {two} norm computes the 2-norm (Euclidean length) of the -global force vector: - -:c,image(Eqs/norm_two.jpg) - -The {max} norm computes the length of the 3-vector force -for each atom (2-norm), and takes the maximum value of those across -all atoms - -:c,image(Eqs/norm_max.jpg) - -The {inf} norm takes the maximum component across the forces of -all atoms in the system: - -:c,image(Eqs/norm_inf.jpg) - -For the min styles {spin}, {spin/cg} and {spin/lbfgs}, the force -norm is replaced by the spin-torque norm. - -Keywords {alpha_damp} and {discrete_factor} only make sense when -a "min_spin"_min_spin.html command is declared. -Keyword {alpha_damp} defines an analog of a magnetic Gilbert -damping. It defines a relaxation rate toward an equilibrium for -a given magnetic system. -Keyword {discrete_factor} defines a discretization factor for the -adaptive timestep used in the {spin} minimization. -See "min_spin"_min_spin.html for more information about those -quantities. - -The choice of a line search algorithm for the {spin/cg} and -{spin/lbfgs} styles can be specified via the {line} keyword. -The {spin_cubic} and {spin_none} only make sense when one of those -two minimization styles is declared. -The {spin_cubic} performs the line search based on a cubic interpolation -of the energy along the search direction. The {spin_none} keyword -deactivates the line search procedure. -The {spin_none} is a default value for {line} keyword for both {spin/lbfgs} -and {spin/cg}. Convergence of {spin/lbfgs} can be more robust if -{spin_cubic} line search is used. - -[Restrictions:] - -For magnetic GNEB calculations, only {spin_none} value for {line} keyword can be used -when styles {spin/cg} and {spin/lbfgs} are employed. -See "neb/spin"_neb_spin.html for more explanation. - -[Related commands:] - -"min_style"_min_style.html, "minimize"_minimize.html - -[Default:] - -The option defaults are dmax = 0.1, line = quadratic and norm = two. - -For the {spin}, {spin/cg} and {spin/lbfgs} styles, the -option defaults are alpha_damp = 1.0, discrete_factor = 10.0, -line = spin_none, and norm = euclidean. diff --git a/doc/txt/min_spin.txt b/doc/txt/min_spin.txt deleted file mode 100644 index 89766891c84534a57ac9c3149ab219058470be4f..0000000000000000000000000000000000000000 --- a/doc/txt/min_spin.txt +++ /dev/null @@ -1,104 +0,0 @@ -"LAMMPS WWW Page"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) -:line - -min_style spin command :h3 -min_style spin/cg command :h3 -min_style spin/lbfgs command :h3 - -[Syntax:] - -min_style spin -min_style spin/cg -min_style spin/lbfgs :pre - -[Examples:] - -min_style spin/lbfgs -min_modify line spin_cubic discrete_factor 10.0 :pre - -[Description:] - -Apply a minimization algorithm to use when a "minimize"_minimize.html -command is performed. - -Style {spin} defines a damped spin dynamics with an adaptive -timestep, according to: - -:c,image(Eqs/min_spin_damping.jpg) - -with lambda a damping coefficient (similar to a Gilbert -damping). -Lambda can be defined by setting the {alpha_damp} keyword with the -"min_modify"_min_modify.html command. - -The minimization procedure solves this equation using an -adaptive timestep. The value of this timestep is defined -by the largest precession frequency that has to be solved in the -system: - -:c,image(Eqs/min_spin_timestep.jpg) - -with {|omega|_{max}} the norm of the largest precession frequency -in the system (across all processes, and across all replicas if a -spin/neb calculation is performed). - -Kappa defines a discretization factor {discrete_factor} for the -definition of this timestep. -{discrete_factor} can be defined with the "min_modify"_min_modify.html -command. - -Style {spin/cg} defines an orthogonal spin optimization -(OSO) combined to a conjugate gradient (CG) algorithm. -The "min_modify"_min_modify.html command can be used to -couple the {spin/cg} to a line search procedure, and to modify the -discretization factor {discrete_factor}. -By default, style {spin/cg} does not employ the line search procedure -and uses the adaptive time-step technique in the same way as style {spin}. - -Style {spin/lbfgs} defines an orthogonal spin optimization -(OSO) combined to a limited-memory Broyden-Fletcher-Goldfarb-Shanno -(L-BFGS) algorithm. -By default, style {spin/lbfgs} does not employ line search procedure. -If the line search procedure is not used then the discrete factor defines -the maximum root mean squared rotation angle of spins by equation {pi/(5*Kappa)}. -The default value for Kappa is 10. -The {spin_cubic} line search can improve the convergence of the -{spin/lbfgs} algorithm. - -The "min_modify"_min_modify.html command can be used to -activate the line search procedure, and to modify the -discretization factor {discrete_factor}. - -For more information about styles {spin/cg} and {spin/lbfgs}, -see their implementation reported in "(Ivanov)"_#Ivanov1. - -NOTE: All the {spin} styles replace the force tolerance by a torque -tolerance. See "minimize"_minimize.html for more explanation. - -NOTE: The {spin/cg} and {spin/lbfgs} styles can be used -for magnetic NEB calculations only if the line search procedure -is deactivated. See "neb/spin"_neb_spin.html for more explanation. - -[Restrictions:] - -This minimization procedure is only applied to spin degrees of -freedom for a frozen lattice configuration. - -[Related commands:] - -"min_style"_min_style.html, "minimize"_minimize.html, -"min_modify"_min_modify.html - -[Default:] - -The option defaults are {alpha_damp} = 1.0, {discrete_factor} = -10.0, {line} = spin_none and {norm} = euclidean. - -:line - -:link(Ivanov1) -[(Ivanov)] Ivanov, Uzdin, Jonsson. arXiv preprint arXiv:1904.02669, (2019). diff --git a/doc/txt/min_style.txt b/doc/txt/min_style.txt deleted file mode 100644 index 8816d62ffa579c9f29ed9d4c79a755d09e8c4c3e..0000000000000000000000000000000000000000 --- a/doc/txt/min_style.txt +++ /dev/null @@ -1,140 +0,0 @@ -"LAMMPS WWW Page"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) -:line - -min_style command :h3 - -[Syntax:] - -min_style style :pre - -style = {cg} or {hftn} or {sd} or {quickmin} or {fire} or {spin} or {spin/cg} or {spin/lbfgs} :ul - -[Examples:] - -min_style cg -min_style spin -min_style fire :pre - -[Description:] - -Choose a minimization algorithm to use when a "minimize"_minimize.html -command is performed. - -Style {cg} is the Polak-Ribiere version of the conjugate gradient (CG) -algorithm. At each iteration the force gradient is combined with the -previous iteration information to compute a new search direction -perpendicular (conjugate) to the previous search direction. The PR -variant affects how the direction is chosen and how the CG method is -restarted when it ceases to make progress. The PR variant is thought -to be the most effective CG choice for most problems. - -Style {hftn} is a Hessian-free truncated Newton algorithm. At each -iteration a quadratic model of the energy potential is solved by a -conjugate gradient inner iteration. The Hessian (second derivatives) -of the energy is not formed directly, but approximated in each -conjugate search direction by a finite difference directional -derivative. When close to an energy minimum, the algorithm behaves -like a Newton method and exhibits a quadratic convergence rate to high -accuracy. In most cases the behavior of {hftn} is similar to {cg}, -but it offers an alternative if {cg} seems to perform poorly. This -style is not affected by the "min_modify"_min_modify.html command. - -Style {sd} is a steepest descent algorithm. At each iteration, the -search direction is set to the downhill direction corresponding to the -force vector (negative gradient of energy). Typically, steepest -descent will not converge as quickly as CG, but may be more robust in -some situations. - -Style {quickmin} is a damped dynamics method described in -"(Sheppard)"_#Sheppard, where the damping parameter is related to the -projection of the velocity vector along the current force vector for -each atom. The velocity of each atom is initialized to 0.0 by this -style, at the beginning of a minimization. - -Style {fire} is a damped dynamics method described in -"(Bitzek)"_#Bitzek, which is similar to {quickmin} but adds a variable -timestep and alters the projection operation to maintain components of -the velocity non-parallel to the current force vector. The velocity -of each atom is initialized to 0.0 by this style, at the beginning of -a minimization. - -Style {spin} is a damped spin dynamics with an adaptive -timestep. - -Style {spin/cg} uses an orthogonal spin optimization (OSO) -combined to a conjugate gradient (CG) approach to minimize spin -configurations. - -Style {spin/lbfgs} uses an orthogonal spin optimization (OSO) -combined to a limited-memory Broyden-Fletcher-Goldfarb-Shanno -(LBFGS) approach to minimize spin configurations. - -See the "min/spin"_min_spin.html doc page for more information -about the {spin}, {spin/cg} and {spin/lbfgs} styles. - -Either the {quickmin} and {fire} styles are useful in the context of -nudged elastic band (NEB) calculations via the "neb"_neb.html command. - -Either the {spin}, {spin/cg} and {spin/lbfgs} styles are useful -in the context of magnetic geodesic nudged elastic band (GNEB) calculations -via the "neb/spin"_neb_spin.html command. - -NOTE: The damped dynamic minimizers use whatever timestep you have -defined via the "timestep"_timestep.html command. Often they will -converge more quickly if you use a timestep about 10x larger than you -would normally use for dynamics simulations. - -NOTE: The {quickmin}, {fire}, {hftn}, and {cg/kk} styles do not yet -support the use of the "fix box/relax"_fix_box_relax.html command or -minimizations involving the electron radius in "eFF"_pair_eff.html -models. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] none - -[Related commands:] - -"min_modify"_min_modify.html, "minimize"_minimize.html, "neb"_neb.html - -[Default:] - -min_style cg :pre - -:line - -:link(Sheppard) -[(Sheppard)] Sheppard, Terrell, Henkelman, J Chem Phys, 128, 134106 -(2008). See ref 1 in this paper for original reference to Qmin in -Jonsson, Mills, Jacobsen. - -:link(Bitzek) -[(Bitzek)] Bitzek, Koskinen, Gahler, Moseler, Gumbsch, Phys Rev Lett, -97, 170201 (2006). - diff --git a/doc/txt/minimize.txt b/doc/txt/minimize.txt deleted file mode 100644 index da203c7d2d6db2e842f92f1f07373ae40c0550b8..0000000000000000000000000000000000000000 --- a/doc/txt/minimize.txt +++ /dev/null @@ -1,315 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -minimize command :h3 -minimize/kk command :h3 - -[Syntax:] - -minimize etol ftol maxiter maxeval :pre - -etol = stopping tolerance for energy (unitless) -ftol = stopping tolerance for force (force units) -maxiter = max iterations of minimizer -maxeval = max number of force/energy evaluations :ul - -[Examples:] - -minimize 1.0e-4 1.0e-6 100 1000 -minimize 0.0 1.0e-8 1000 100000 :pre - -[Description:] - -Perform an energy minimization of the system, by iteratively adjusting -atom coordinates. Iterations are terminated when one of the stopping -criteria is satisfied. At that point the configuration will hopefully -be in local potential energy minimum. More precisely, the -configuration should approximate a critical point for the objective -function (see below), which may or may not be a local minimum. - -The minimization algorithm used is set by the -"min_style"_min_style.html command. Other options are set by the -"min_modify"_min_modify.html command. Minimize commands can be -interspersed with "run"_run.html commands to alternate between -relaxation and dynamics. The minimizers bound the distance atoms move -in one iteration, so that you can relax systems with highly overlapped -atoms (large energies and forces) by pushing the atoms off of each -other. - -Alternate means of relaxing a system are to run dynamics with a small -or "limited timestep"_fix_nve_limit.html. Or dynamics can be run -using "fix viscous"_fix_viscous.html to impose a damping force that -slowly drains all kinetic energy from the system. The "pair_style -soft"_pair_soft.html potential can be used to un-overlap atoms while -running dynamics. - -Note that you can minimize some atoms in the system while holding the -coordinates of other atoms fixed by applying "fix -setforce"_fix_setforce.html to the other atoms. See a fuller -discussion of using fixes while minimizing below. - -The "minimization styles"_min_style.html {cg}, {sd}, and {hftn} -involves an outer iteration loop which sets the search direction along -which atom coordinates are changed. An inner iteration is then -performed using a line search algorithm. The line search typically -evaluates forces and energies several times to set new coordinates. -Currently, a backtracking algorithm is used which may not be optimal -in terms of the number of force evaluations performed, but appears to -be more robust than previous line searches we've tried. The -backtracking method is described in Nocedal and Wright's Numerical -Optimization (Procedure 3.1 on p 41). - -The "minimization styles"_min_style.html {quickmin} and {fire} perform -damped dynamics using an Euler integration step. Thus they require a -"timestep"_timestep.html be defined. - -NOTE: The damped dynamic minimizers use whatever timestep you have -defined via the "timestep"_timestep.html command. Often they will -converge more quickly if you use a timestep about 10x larger than you -would normally use for dynamics simulations. - -:line - -In all cases, the objective function being minimized is the total -potential energy of the system as a function of the N atom -coordinates: - -:c,image(Eqs/min_energy.jpg) - -where the first term is the sum of all non-bonded "pairwise -interactions"_pair_style.html including "long-range Coulombic -interactions"_kspace_style.html, the 2nd through 5th terms are -"bond"_bond_style.html, "angle"_angle_style.html, -"dihedral"_dihedral_style.html, and "improper"_improper_style.html -interactions respectively, and the last term is energy due to -"fixes"_fix.html which can act as constraints or apply force to atoms, -such as through interaction with a wall. See the discussion below about -how fix commands affect minimization. - -The starting point for the minimization is the current configuration -of the atoms. - -:line - -The minimization procedure stops if any of several criteria are met: - -the change in energy between outer iterations is less than {etol} -the 2-norm (length) of the global force vector is less than the {ftol} -the line search fails because the step distance backtracks to 0.0 -the number of outer iterations or timesteps exceeds {maxiter} -the number of total force evaluations exceeds {maxeval} :ul - -NOTE: the "minimization style"_min_style.html {spin}, -{spin/cg}, and {spin/lbfgs} replace -the force tolerance {ftol} by a torque tolerance. -The minimization procedure stops if the 2-norm (length) of the torque vector on atom -(defined as the cross product between the -atomic spin and its precession vectors omega) is less than {ftol}, -or if any of the other criteria are met. Torque have the same units as the energy. - -NOTE: You can also use the "fix halt"_fix_halt.html command to specify -a general criterion for exiting a minimization, that is a calculation -performed on the state of the current system, as defined by an -"equal-style variable"_variable.html. - -For the first criterion, the specified energy tolerance {etol} is -unitless; it is met when the energy change between successive -iterations divided by the energy magnitude is less than or equal to -the tolerance. For example, a setting of 1.0e-4 for {etol} means an -energy tolerance of one part in 10^4. For the damped dynamics -minimizers this check is not performed for a few steps after -velocities are reset to 0, otherwise the minimizer would prematurely -converge. - -For the second criterion, the specified force tolerance {ftol} is in -force units, since it is the length of the global force vector for all -atoms, e.g. a vector of size 3N for N atoms. Since many of the -components will be near zero after minimization, you can think of -{ftol} as an upper bound on the final force on any component of any -atom. For example, a setting of 1.0e-4 for {ftol} means no x, y, or z -component of force on any atom will be larger than 1.0e-4 (in force -units) after minimization. - -Either or both of the {etol} and {ftol} values can be set to 0.0, in -which case some other criterion will terminate the minimization. - -During a minimization, the outer iteration count is treated as a -timestep. Output is triggered by this timestep, e.g. thermodynamic -output or dump and restart files. - -Using the "thermo_style custom"_thermo_style.html command with the -{fmax} or {fnorm} keywords can be useful for monitoring the progress -of the minimization. Note that these outputs will be calculated only -from forces on the atoms, and will not include any extra degrees of -freedom, such as from the "fix box/relax"_fix_box_relax.html command. - -Following minimization, a statistical summary is printed that lists -which convergence criterion caused the minimizer to stop, as well as -information about the energy, force, final line search, and -iteration counts. An example is as follows: - -Minimization stats: - Stopping criterion = max iterations - Energy initial, next-to-last, final = - -0.626828169302 -2.82642039062 -2.82643549739 - Force two-norm initial, final = 2052.1 91.9642 - Force max component initial, final = 346.048 9.78056 - Final line search alpha, max atom move = 2.23899e-06 2.18986e-05 - Iterations, force evaluations = 2000 12724 :pre - -The 3 energy values are for before and after the minimization and on -the next-to-last iteration. This is what the {etol} parameter checks. - -The two-norm force values are the length of the global force vector -before and after minimization. This is what the {ftol} parameter -checks. - -The max-component force values are the absolute value of the largest -component (x,y,z) in the global force vector, i.e. the infinity-norm -of the force vector. - -The alpha parameter for the line-search, when multiplied by the max -force component (on the last iteration), gives the max distance any -atom moved during the last iteration. Alpha will be 0.0 if the line -search could not reduce the energy. Even if alpha is non-zero, if the -"max atom move" distance is tiny compared to typical atom coordinates, -then it is possible the last iteration effectively caused no atom -movement and thus the evaluated energy did not change and the -minimizer terminated. Said another way, even with non-zero forces, -it's possible the effect of those forces is to move atoms a distance -less than machine precision, so that the energy cannot be further -reduced. - -The iterations and force evaluation values are what is checked by the -{maxiter} and {maxeval} parameters. - -:line - -NOTE: There are several force fields in LAMMPS which have -discontinuities or other approximations which may prevent you from -performing an energy minimization to high tolerances. For example, -you should use a "pair style"_pair_style.html that goes to 0.0 at the -cutoff distance when performing minimization (even if you later change -it when running dynamics). If you do not do this, the total energy of -the system will have discontinuities when the relative distance -between any pair of atoms changes from cutoff+epsilon to -cutoff-epsilon and the minimizer may behave poorly. Some of the -many-body potentials use splines and other internal cutoffs that -inherently have this problem. The "long-range Coulombic -styles"_kspace_style.html (PPPM, Ewald) are approximate to within the -user-specified tolerance, which means their energy and forces may not -agree to a higher precision than the Kspace-specified tolerance. In -all these cases, the minimizer may give up and stop before finding a -minimum to the specified energy or force tolerance. - -Note that a cutoff Lennard-Jones potential (and others) can be shifted -so that its energy is 0.0 at the cutoff via the -"pair_modify"_pair_modify.html command. See the doc pages for -individual "pair styles"_pair_style.html for details. Note that -Coulombic potentials always have a cutoff, unless versions with a -long-range component are used (e.g. "pair_style -lj/cut/coul/long"_pair_lj.html). The CHARMM potentials go to 0.0 at -the cutoff (e.g. "pair_style lj/charmm/coul/charmm"_pair_charmm.html), -as do the GROMACS potentials (e.g. "pair_style -lj/gromacs"_pair_gromacs.html). - -If a soft potential ("pair_style soft"_pair_soft.html) is used the -Astop value is used for the prefactor (no time dependence). - -The "fix box/relax"_fix_box_relax.html command can be used to apply an -external pressure to the simulation box and allow it to shrink/expand -during the minimization. - -Only a few other fixes (typically those that add forces) are invoked -during minimization. See the doc pages for individual "fix"_fix.html -commands to see which ones are relevant. Current examples of fixes -that can be used include: - -"fix addforce"_fix_addforce.html -"fix addtorque"_fix_addtorque.html -"fix efield"_fix_efield.html -"fix enforce2d"_fix_enforce2d.html -"fix indent"_fix_indent.html -"fix lineforce"_fix_lineforce.html -"fix planeforce"_fix_planeforce.html -"fix setforce"_fix_setforce.html -"fix spring"_fix_spring.html -"fix spring/self"_fix_spring_self.html -"fix viscous"_fix_viscous.html -"fix wall"_fix_wall.html -"fix wall/region"_fix_wall_region.html :ul - -NOTE: Some fixes which are invoked during minimization have an -associated potential energy. For that energy to be included in the -total potential energy of the system (the quantity being minimized), -you MUST enable the "fix_modify"_fix_modify.html {energy} option for -that fix. The doc pages for individual "fix"_fix.html commands -specify if this should be done. - -NOTE: The minimizers in LAMMPS do not allow for bonds (or angles, etc) -to be held fixed while atom coordinates are being relaxed, e.g. via -"fix shake"_fix_shake.html or "fix rigid"_fix_rigid.html. See more -info in the Restrictions section below. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -Features that are not yet implemented are listed here, in case someone -knows how they could be coded: - -It is an error to use "fix shake"_fix_shake.html with minimization -because it turns off bonds that should be included in the potential -energy of the system. The effect of a fix shake can be approximated -during a minimization by using stiff spring constants for the bonds -and/or angles that would normally be constrained by the SHAKE -algorithm. - -"Fix rigid"_fix_rigid.html is also not supported by minimization. It -is not an error to have it defined, but the energy minimization will -not keep the defined body(s) rigid during the minimization. Note that -if bonds, angles, etc internal to a rigid body have been turned off -(e.g. via "neigh_modify exclude"_neigh_modify.html), they will not -contribute to the potential energy which is probably not what is -desired. - -Pair potentials that produce torque on a particle (e.g. "granular -potentials"_pair_gran.html or the "GayBerne -potential"_pair_gayberne.html for ellipsoidal particles) are not -relaxed by a minimization. More specifically, radial relaxations are -induced, but no rotations are induced by a minimization, so such a -system will not fully relax. - -[Related commands:] - -"min_modify"_min_modify.html, "min_style"_min_style.html, -"run_style"_run_style.html - -[Default:] none diff --git a/doc/txt/molecule.txt b/doc/txt/molecule.txt deleted file mode 100644 index e8b6bd8a7e40cdef46bd6b121363a8e5b0666cc5..0000000000000000000000000000000000000000 --- a/doc/txt/molecule.txt +++ /dev/null @@ -1,471 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -molecule command :h3 - -[Syntax:] - -molecule ID file1 keyword values ... file2 keyword values ... fileN ... :pre - -ID = user-assigned name for the molecule template :ulb,l -file1,file2,... = names of files containing molecule descriptions :l -zero or more keyword/value pairs may be appended after each file :l -keyword = {offset} or {toff} or {boff} or {aoff} or {doff} or {ioff} or {scale} :l - {offset} values = Toff Boff Aoff Doff Ioff - Toff = offset to add to atom types - Boff = offset to add to bond types - Aoff = offset to add to angle types - Doff = offset to add to dihedral types - Ioff = offset to add to improper types - {toff} value = Toff - Toff = offset to add to atom types - {boff} value = Boff - Boff = offset to add to bond types - {aoff} value = Aoff - Aoff = offset to add to angle types - {doff} value = Doff - Doff = offset to add to dihedral types - {ioff} value = Ioff - Ioff = offset to add to improper types - {scale} value = sfactor - sfactor = scale factor to apply to the size and mass of the molecule :pre -:ule - -[Examples:] - -molecule 1 mymol.txt -molecule 1 co2.txt h2o.txt -molecule CO2 co2.txt boff 3 aoff 2 -molecule 1 mymol.txt offset 6 9 18 23 14 -molecule objects file.1 scale 1.5 file.1 scale 2.0 file.2 scale 1.3 :pre - - -[Description:] - -Define a molecule template that can be used as part of other LAMMPS -commands, typically to define a collection of particles as a bonded -molecule or a rigid body. Commands that currently use molecule -templates include: - -"fix deposit"_fix_deposit.html -"fix pour"_fix_pour.html -"fix rigid/small"_fix_rigid.html -"fix shake"_fix_shake.html -"fix gcmc"_fix_gcmc.html -"create_atoms"_create_atoms.html -"atom_style template"_atom_style.html :ul - -The ID of a molecule template can only contain alphanumeric characters -and underscores. - -A single template can contain multiple molecules, listed one per file. -Some of the commands listed above currently use only the first -molecule in the template, and will issue a warning if the template -contains multiple molecules. The "atom_style -template"_atom_style.html command allows multiple-molecule templates -to define a system with more than one templated molecule. - -Each filename can be followed by optional keywords which are applied -only to the molecule in the file as used in this template. This is to -make it easy to use the same molecule file in different molecule -templates or in different simulations. You can specify the same file -multiple times with different optional keywords. - -The {offset}, {toff}, {aoff}, {doff}, {ioff} keywords add the -specified offset values to the atom types, bond types, angle types, -dihedral types, and/or improper types as they are read from the -molecule file. E.g. if {toff} = 2, and the file uses atom types -1,2,3, then each created molecule will have atom types 3,4,5. For the -{offset} keyword, all five offset values must be specified, but -individual values will be ignored if the molecule template does not -use that attribute (e.g. no bonds). - -The {scale} keyword scales the size of the molecule. This can be -useful for modeling polydisperse granular rigid bodies. The scale -factor is applied to each of these properties in the molecule file, if -they are defined: the individual particle coordinates (Coords -section), the individual mass of each particle (Masses section), the -individual diameters of each particle (Diameters section), the total -mass of the molecule (header keyword = mass), the center-of-mass of -the molecule (header keyword = com), and the moments of inertia of the -molecule (header keyword = inertia). - -NOTE: The molecule command can be used to define molecules with bonds, -angles, dihedrals, impropers, or special bond lists of neighbors -within a molecular topology, so that you can later add the molecules -to your simulation, via one or more of the commands listed above. -Since this topology-related information requires that suitable storage -is reserved when LAMMPS creates the simulation box (e.g. when using -the "create_box"_create_box.html command or the -"read_data"_read_data.html command) suitable space has to be reserved -so you do not overflow those pre-allocated data structures when adding -molecules later. Both the "create_box"_create_box.html command and -the "read_data"_read_data.html command have "extra" options which -insure space is allocated for storing topology info for molecules that -are added later. - -The format of an individual molecule file is similar but -(not identical) to the data file read by the "read_data"_read_data.html -commands, and is as follows. - -A molecule file has a header and a body. The header appears first. -The first line of the header is always skipped; it typically contains -a description of the file. Then lines are read one at a time. Lines -can have a trailing comment starting with '#' that is ignored. If the -line is blank (only white-space after comment is deleted), it is -skipped. If the line contains a header keyword, the corresponding -value(s) is read from the line. If it doesn't contain a header -keyword, the line begins the body of the file. - -The body of the file contains zero or more sections. The first line -of a section has only a keyword. The next line is skipped. The -remaining lines of the section contain values. The number of lines -depends on the section keyword as described below. Zero or more blank -lines can be used between sections. Sections can appear in any order, -with a few exceptions as noted below. - -These are the recognized header keywords. Header lines can come in -any order. The numeric value(s) are read from the beginning of the -line. The keyword should appear at the end of the line. All these -settings have default values, as explained below. A line need only -appear if the value(s) are different than the default. - -N {atoms} = # of atoms N in molecule, default = 0 -Nb {bonds} = # of bonds Nb in molecule, default = 0 -Na {angles} = # of angles Na in molecule, default = 0 -Nd {dihedrals} = # of dihedrals Nd in molecule, default = 0 -Ni {impropers} = # of impropers Ni in molecule, default = 0 -Mtotal {mass} = total mass of molecule -Xc Yc Zc {com} = coordinates of center-of-mass of molecule -Ixx Iyy Izz Ixy Ixz Iyz {inertia} = 6 components of inertia tensor of molecule :ul - -For {mass}, {com}, and {inertia}, the default is for LAMMPS to -calculate this quantity itself if needed, assuming the molecules -consists of a set of point particles or finite-size particles (with a -non-zero diameter) that do not overlap. If finite-size particles in -the molecule do overlap, LAMMPS will not account for the overlap -effects when calculating any of these 3 quantities, so you should -pre-compute them yourself and list the values in the file. - -The mass and center-of-mass coordinates (Xc,Yc,Zc) are -self-explanatory. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) -should be the values consistent with the current orientation of the -rigid body around its center of mass. The values are with respect to -the simulation box XYZ axes, not with respect to the principal axes of -the rigid body itself. LAMMPS performs the latter calculation -internally. - -These are the allowed section keywords for the body of the file. - -{Coords, Types, Charges, Diameters, Masses} = atom-property sections -{Bonds, Angles, Dihedrals, Impropers} = molecular topology sections -{Special Bond Counts, Special Bonds} = special neighbor info -{Shake Flags, Shake Atoms, Shake Bond Types} = SHAKE info :ul - -If a Bonds section is specified then the Special Bond Counts and -Special Bonds sections can also be used, if desired, to explicitly -list the 1-2, 1-3, 1-4 neighbors within the molecule topology (see -details below). This is optional since if these sections are not -included, LAMMPS will auto-generate this information. Note that -LAMMPS uses this info to properly exclude or weight bonded pairwise -interactions between bonded atoms. See the -"special_bonds"_special_bonds.html command for more details. One -reason to list the special bond info explicitly is for the -"thermalized Drude oscillator model"_Howto_drude.html which treats the -bonds between nuclear cores and Drude electrons in a different manner. - -NOTE: Whether a section is required depends on how the molecule -template is used by other LAMMPS commands. For example, to add a -molecule via the "fix deposit"_fix_deposit.html command, the Coords -and Types sections are required. To add a rigid body via the "fix -pour"_fix_pour.html command, the Bonds (Angles, etc) sections are not -required, since the molecule will be treated as a rigid body. Some -sections are optional. For example, the "fix pour"_fix_pour.html -command can be used to add "molecules" which are clusters of -finite-size granular particles. If the Diameters section is not -specified, each particle in the molecule will have a default diameter -of 1.0. See the doc pages for LAMMPS commands that use molecule -templates for more details. - -Each section is listed below in alphabetic order. The format of each -section is described including the number of lines it must contain and -rules (if any) for whether it can appear in the data file. In each -case the ID is ignored; it is simply included for readability, and -should be a number from 1 to Nlines for the section, indicating which -atom (or bond, etc) the entry applies to. The lines are assumed to be -listed in order from 1 to Nlines, but LAMMPS does not check for this. - -:line - -{Coords} section: - -one line per atom -line syntax: ID x y z -x,y,z = coordinate of atom :ul - -:line - -{Types} section: - -one line per atom -line syntax: ID type -type = atom type of atom :ul - -:line - -{Charges} section: - -one line per atom -line syntax: ID q -q = charge on atom :ul - -This section is only allowed for "atom styles"_atom_style.html that -support charge. If this section is not included, the default charge -on each atom in the molecule is 0.0. - -:line - -{Diameters} section: - -one line per atom -line syntax: ID diam -diam = diameter of atom :ul - -This section is only allowed for "atom styles"_atom_style.html that -support finite-size spherical particles, e.g. atom_style sphere. If -not listed, the default diameter of each atom in the molecule is 1.0. - -:line - -{Masses} section: - -one line per atom -line syntax: ID mass -mass = mass of atom :ul - -This section is only allowed for "atom styles"_atom_style.html that -support per-atom mass, as opposed to per-type mass. See the -"mass"_mass.html command for details. If this section is not -included, the default mass for each atom is derived from its volume -(see Diameters section) and a default density of 1.0, in -"units"_units.html of mass/volume. - -:line - -{Bonds} section: - -one line per bond -line syntax: ID type atom1 atom2 -type = bond type (1-Nbondtype) -atom1,atom2 = IDs of atoms in bond :ul - -The IDs for the two atoms in each bond should be values -from 1 to Natoms, where Natoms = # of atoms in the molecule. - -:line - -{Angles} section: - -one line per angle -line syntax: ID type atom1 atom2 atom3 -type = angle type (1-Nangletype) -atom1,atom2,atom3 = IDs of atoms in angle :ul - -The IDs for the three atoms in each angle should be values from 1 to -Natoms, where Natoms = # of atoms in the molecule. The 3 atoms are -ordered linearly within the angle. Thus the central atom (around -which the angle is computed) is the atom2 in the list. - -:line - -{Dihedrals} section: - -one line per dihedral -line syntax: ID type atom1 atom2 atom3 atom4 -type = dihedral type (1-Ndihedraltype) -atom1,atom2,atom3,atom4 = IDs of atoms in dihedral :ul - -The IDs for the four atoms in each dihedral should be values from 1 to -Natoms, where Natoms = # of atoms in the molecule. The 4 atoms are -ordered linearly within the dihedral. - -:line - -{Impropers} section: - -one line per improper -line syntax: ID type atom1 atom2 atom3 atom4 -type = improper type (1-Nimpropertype) -atom1,atom2,atom3,atom4 = IDs of atoms in improper :ul - -The IDs for the four atoms in each improper should be values from 1 to -Natoms, where Natoms = # of atoms in the molecule. The ordering of -the 4 atoms determines the definition of the improper angle used in -the formula for the defined "improper style"_improper_style.html. See -the doc pages for individual styles for details. - -:line - -{Special Bond Counts} section: - -one line per atom -line syntax: ID N1 N2 N3 -N1 = # of 1-2 bonds -N2 = # of 1-3 bonds -N3 = # of 1-4 bonds :ul - -N1, N2, N3 are the number of 1-2, 1-3, 1-4 neighbors respectively of -this atom within the topology of the molecule. See the -"special_bonds"_special_bonds.html doc page for more discussion of -1-2, 1-3, 1-4 neighbors. If this section appears, the Special Bonds -section must also appear. - -As explained above, LAMMPS will auto-generate this information if this -section is not specified. If specified, this section will -override what would be auto-generated. - -:line - -{Special Bonds} section: - -one line per atom -line syntax: ID a b c d ... -a,b,c,d,... = IDs of atoms in N1+N2+N3 special bonds :ul - -A, b, c, d, etc are the IDs of the n1+n2+n3 atoms that are 1-2, 1-3, -1-4 neighbors of this atom. The IDs should be values from 1 to -Natoms, where Natoms = # of atoms in the molecule. The first N1 -values should be the 1-2 neighbors, the next N2 should be the 1-3 -neighbors, the last N3 should be the 1-4 neighbors. No atom ID should -appear more than once. See the "special_bonds"_special_bonds.html doc -page for more discussion of 1-2, 1-3, 1-4 neighbors. If this section -appears, the Special Bond Counts section must also appear. - -As explained above, LAMMPS will auto-generate this information if this -section is not specified. If specified, this section will override -what would be auto-generated. - -:line - -{Shake Flags} section: - -one line per atom -line syntax: ID flag -flag = 0,1,2,3,4 :ul - -This section is only needed when molecules created using the template -will be constrained by SHAKE via the "fix shake" command. The other -two Shake sections must also appear in the file, following this one. - -The meaning of the flag for each atom is as follows. See the "fix -shake"_fix_shake.html doc page for a further description of SHAKE -clusters. - -0 = not part of a SHAKE cluster -1 = part of a SHAKE angle cluster (two bonds and the angle they form) -2 = part of a 2-atom SHAKE cluster with a single bond -3 = part of a 3-atom SHAKE cluster with two bonds -4 = part of a 4-atom SHAKE cluster with three bonds :ul - -:line - -{Shake Atoms} section: - -one line per atom -line syntax: ID a b c d -a,b,c,d = IDs of atoms in cluster :ul - -This section is only needed when molecules created using the template -will be constrained by SHAKE via the "fix shake" command. The other -two Shake sections must also appear in the file. - -The a,b,c,d values are atom IDs (from 1 to Natoms) for all the atoms -in the SHAKE cluster that this atom belongs to. The number of values -that must appear is determined by the shake flag for the atom (see the -Shake Flags section above). All atoms in a particular cluster should -list their a,b,c,d values identically. - -If flag = 0, no a,b,c,d values are listed on the line, just the -(ignored) ID. - -If flag = 1, a,b,c are listed, where a = ID of central atom in the -angle, and b,c the other two atoms in the angle. - -If flag = 2, a,b are listed, where a = ID of atom in bond with the -lowest ID, and b = ID of atom in bond with the highest ID. - -If flag = 3, a,b,c are listed, where a = ID of central atom, -and b,c = IDs of other two atoms bonded to the central atom. - -If flag = 4, a,b,c,d are listed, where a = ID of central atom, -and b,c,d = IDs of other three atoms bonded to the central atom. - -See the "fix shake"_fix_shake.html doc page for a further description -of SHAKE clusters. - -:line - -{Shake Bond Types} section: - -one line per atom -line syntax: ID a b c -a,b,c = bond types (or angle type) of bonds (or angle) in cluster :ul - -This section is only needed when molecules created using the template -will be constrained by SHAKE via the "fix shake" command. The other -two Shake sections must also appear in the file. - -The a,b,c values are bond types (from 1 to Nbondtypes) for all bonds -in the SHAKE cluster that this atom belongs to. The number of values -that must appear is determined by the shake flag for the atom (see the -Shake Flags section above). All atoms in a particular cluster should -list their a,b,c values identically. - -If flag = 0, no a,b,c values are listed on the line, just the -(ignored) ID. - -If flag = 1, a,b,c are listed, where a = bondtype of the bond between -the central atom and the first non-central atom (value b in the Shake -Atoms section), b = bondtype of the bond between the central atom and -the 2nd non-central atom (value c in the Shake Atoms section), and c = -the angle type (1 to Nangletypes) of the angle between the 3 atoms. - -If flag = 2, only a is listed, where a = bondtype of the bond between -the 2 atoms in the cluster. - -If flag = 3, a,b are listed, where a = bondtype of the bond between -the central atom and the first non-central atom (value b in the Shake -Atoms section), and b = bondtype of the bond between the central atom -and the 2nd non-central atom (value c in the Shake Atoms section). - -If flag = 4, a,b,c are listed, where a = bondtype of the bond between -the central atom and the first non-central atom (value b in the Shake -Atoms section), b = bondtype of the bond between the central atom and -the 2nd non-central atom (value c in the Shake Atoms section), and c = -bondtype of the bond between the central atom and the 3rd non-central -atom (value d in the Shake Atoms section). - -See the "fix shake"_fix_shake.html doc page for a further description -of SHAKE clusters. - -:line - -[Restrictions:] - -This command must come after the simulation box is define by a -"read_data"_read_data.html, "read_restart"_read_restart.html, or -"create_box"_create_box.html command. - -[Related commands:] - -"fix deposit"_fix_deposit.html, "fix pour"_fix_pour.html, -"fix gcmc"_fix_gcmc.html - -[Default:] - -The default keywords values are offset 0 0 0 0 0 and scale = 1.0. diff --git a/doc/txt/neb.txt b/doc/txt/neb.txt deleted file mode 100644 index fbe06d3d3d058a44f455e34daf07a2cf1626db96..0000000000000000000000000000000000000000 --- a/doc/txt/neb.txt +++ /dev/null @@ -1,426 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -neb command :h3 - -[Syntax:] - -neb etol ftol N1 N2 Nevery file-style arg keyword :pre - -etol = stopping tolerance for energy (energy units) :ulb,l -ftol = stopping tolerance for force (force units) :l -N1 = max # of iterations (timesteps) to run initial NEB :l -N2 = max # of iterations (timesteps) to run barrier-climbing NEB :l -Nevery = print replica energies and reaction coordinates every this many timesteps :l -file-style = {final} or {each} or {none} :l - {final} arg = filename - filename = file with initial coords for final replica - coords for intermediate replicas are linearly interpolated - between first and last replica - {each} arg = filename - filename = unique filename for each replica (except first) - with its initial coords - {none} arg = no argument all replicas assumed to already have - their initial coords :pre -keyword = {verbose} -:ule - -[Examples:] - -neb 0.1 0.0 1000 500 50 final coords.final -neb 0.0 0.001 1000 500 50 each coords.initial.$i -neb 0.0 0.001 1000 500 50 none verbose :pre - -[Description:] - -Perform a nudged elastic band (NEB) calculation using multiple -replicas of a system. Two or more replicas must be used; the first -and last are the end points of the transition path. - -NEB is a method for finding both the atomic configurations and height -of the energy barrier associated with a transition state, e.g. for an -atom to perform a diffusive hop from one energy basin to another in a -coordinated fashion with its neighbors. The implementation in LAMMPS -follows the discussion in these 4 papers: "(HenkelmanA)"_#HenkelmanA, -"(HenkelmanB)"_#HenkelmanB, "(Nakano)"_#Nakano3 and "(Maras)"_#Maras2. - -Each replica runs on a partition of one or more processors. Processor -partitions are defined at run-time using the "-partition command-line -switch"_Run_options.html. Note that if you have MPI installed, you -can run a multi-replica simulation with more replicas (partitions) -than you have physical processors, e.g you can run a 10-replica -simulation on just one or two processors. You will simply not get the -performance speed-up you would see with one or more physical -processors per replica. See the "Howto replica"_Howto_replica.html -doc page for further discussion. - -NOTE: As explained below, a NEB calculation performs a damped dynamics -minimization across all the replicas. The minimizer uses whatever -timestep you have defined in your input script, via the -"timestep"_timestep.html command. Often NEB will converge more -quickly if you use a timestep about 10x larger than you would normally -use for dynamics simulations. - -When a NEB calculation is performed, it is assumed that each replica -is running the same system, though LAMMPS does not check for this. -I.e. the simulation domain, the number of atoms, the interaction -potentials, and the starting configuration when the neb command is -issued should be the same for every replica. - -In a NEB calculation each replica is connected to other replicas by -inter-replica nudging forces. These forces are imposed by the "fix -neb"_fix_neb.html command, which must be used in conjunction with the -neb command. The group used to define the fix neb command defines the -NEB atoms which are the only ones that inter-replica springs are -applied to. If the group does not include all atoms, then non-NEB -atoms have no inter-replica springs and the forces they feel and their -motion is computed in the usual way due only to other atoms within -their replica. Conceptually, the non-NEB atoms provide a background -force field for the NEB atoms. They can be allowed to move during the -NEB minimization procedure (which will typically induce different -coordinates for non-NEB atoms in different replicas), or held fixed -using other LAMMPS commands such as "fix setforce"_fix_setforce.html. -Note that the "partition"_partition.html command can be used to invoke -a command on a subset of the replicas, e.g. if you wish to hold NEB or -non-NEB atoms fixed in only the end-point replicas. - -The initial atomic configuration for each of the replicas can be -specified in different manners via the {file-style} setting, as -discussed below. Only atoms whose initial coordinates should differ -from the current configuration need be specified. - -Conceptually, the initial and final configurations for the first -replica should be states on either side of an energy barrier. - -As explained below, the initial configurations of intermediate -replicas can be atomic coordinates interpolated in a linear fashion -between the first and last replicas. This is often adequate for -simple transitions. For more complex transitions, it may lead to slow -convergence or even bad results if the minimum energy path (MEP, see -below) of states over the barrier cannot be correctly converged to -from such an initial path. In this case, you will want to generate -initial states for the intermediate replicas that are geometrically -closer to the MEP and read them in. - -:line - -For a {file-style} setting of {final}, a filename is specified which -contains atomic coordinates for zero or more atoms, in the format -described below. For each atom that appears in the file, the new -coordinates are assigned to that atom in the final replica. Each -intermediate replica also assigns a new position to that atom in an -interpolated manner. This is done by using the current position of -the atom as the starting point and the read-in position as the final -point. The distance between them is calculated, and the new position -is assigned to be a fraction of the distance. E.g. if there are 10 -replicas, the 2nd replica will assign a position that is 10% of the -distance along a line between the starting and final point, and the -9th replica will assign a position that is 90% of the distance along -the line. Note that for this procedure to produce consistent -coordinates across all the replicas, the current coordinates need to -be the same in all replicas. LAMMPS does not check for this, but -invalid initial configurations will likely result if it is not the -case. - -NOTE: The "distance" between the starting and final point is -calculated in a minimum-image sense for a periodic simulation box. -This means that if the two positions are on opposite sides of a box -(periodic in that dimension), the distance between them will be small, -because the periodic image of one of the atoms is close to the other. -Similarly, even if the assigned position resulting from the -interpolation is outside the periodic box, the atom will be wrapped -back into the box when the NEB calculation begins. - -For a {file-style} setting of {each}, a filename is specified which is -assumed to be unique to each replica. This can be done by using a -variable in the filename, e.g. - -variable i equal part -neb 0.0 0.001 1000 500 50 each coords.initial.$i :pre - -which in this case will substitute the partition ID (0 to N-1) for the -variable I, which is also effectively the replica ID. See the -"variable"_variable.html command for other options, such as using -world-, universe-, or uloop-style variables. - -Each replica (except the first replica) will read its file, formatted -as described below, and for any atom that appears in the file, assign -the specified coordinates to its atom. The various files do not need -to contain the same set of atoms. - -For a {file-style} setting of {none}, no filename is specified. Each -replica is assumed to already be in its initial configuration at the -time the neb command is issued. This allows each replica to define -its own configuration by reading a replica-specific data or restart or -dump file, via the "read_data"_read_data.html, -"read_restart"_read_restart.html, or "read_dump"_read_dump.html -commands. The replica-specific names of these files can be specified -as in the discussion above for the {each} file-style. Also see the -section below for how a NEB calculation can produce restart files, so -that a long calculation can be restarted if needed. - -NOTE: None of the {file-style} settings change the initial -configuration of any atom in the first replica. The first replica -must thus be in the correct initial configuration at the time the neb -command is issued. - -:line - -A NEB calculation proceeds in two stages, each of which is a -minimization procedure, performed via damped dynamics. To enable -this, you must first define a damped dynamics -"min_style"_min_style.html, such as {quickmin} or {fire}. The {cg}, -{sd}, and {hftn} styles cannot be used, since they perform iterative -line searches in their inner loop, which cannot be easily synchronized -across multiple replicas. - -The minimizer tolerances for energy and force are set by {etol} and -{ftol}, the same as for the "minimize"_minimize.html command. - -A non-zero {etol} means that the NEB calculation will terminate if the -energy criterion is met by every replica. The energies being compared -to {etol} do not include any contribution from the inter-replica -nudging forces, since these are non-conservative. A non-zero {ftol} -means that the NEB calculation will terminate if the force criterion -is met by every replica. The forces being compared to {ftol} include -the inter-replica nudging forces. - -The maximum number of iterations in each stage is set by {N1} and -{N2}. These are effectively timestep counts since each iteration of -damped dynamics is like a single timestep in a dynamics -"run"_run.html. During both stages, the potential energy of each -replica and its normalized distance along the reaction path (reaction -coordinate RD) will be printed to the screen and log file every -{Nevery} timesteps. The RD is 0 and 1 for the first and last replica. -For intermediate replicas, it is the cumulative distance (normalized -by the total cumulative distance) between adjacent replicas, where -"distance" is defined as the length of the 3N-vector of differences in -atomic coordinates, where N is the number of NEB atoms involved in the -transition. These outputs allow you to monitor NEB's progress in -finding a good energy barrier. {N1} and {N2} must both be multiples -of {Nevery}. - -In the first stage of NEB, the set of replicas should converge toward -a minimum energy path (MEP) of conformational states that transition -over a barrier. The MEP for a transition is defined as a sequence of -3N-dimensional states, each of which has a potential energy gradient -parallel to the MEP itself. The configuration of highest energy along -a MEP corresponds to a saddle point. The replica states will also be -roughly equally spaced along the MEP due to the inter-replica nudging -force added by the "fix neb"_fix_neb.html command. - -In the second stage of NEB, the replica with the highest energy is -selected and the inter-replica forces on it are converted to a force -that drives its atom coordinates to the top or saddle point of the -barrier, via the barrier-climbing calculation described in -"(HenkelmanB)"_#HenkelmanB. As before, the other replicas rearrange -themselves along the MEP so as to be roughly equally spaced. - -When both stages are complete, if the NEB calculation was successful, -the configurations of the replicas should be along (close to) the MEP -and the replica with the highest energy should be an atomic -configuration at (close to) the saddle point of the transition. The -potential energies for the set of replicas represents the energy -profile of the transition along the MEP. - -:line - -A few other settings in your input script are required or advised to -perform a NEB calculation. See the NOTE about the choice of timestep -at the beginning of this doc page. - -An atom map must be defined which it is not by default for "atom_style -atomic"_atom_style.html problems. The "atom_modify -map"_atom_modify.html command can be used to do this. - -The minimizers in LAMMPS operate on all atoms in your system, even -non-NEB atoms, as defined above. To prevent non-NEB atoms from moving -during the minimization, you should use the "fix -setforce"_fix_setforce.html command to set the force on each of those -atoms to 0.0. This is not required, and may not even be desired in -some cases, but if those atoms move too far (e.g. because the initial -state of your system was not well-minimized), it can cause problems -for the NEB procedure. - -The damped dynamics "minimizers"_min_style.html, such as {quickmin} -and {fire}), adjust the position and velocity of the atoms via an -Euler integration step. Thus you must define an appropriate -"timestep"_timestep.html to use with NEB. As mentioned above, NEB -will often converge more quickly if you use a timestep about 10x -larger than you would normally use for dynamics simulations. - -:line - -Each file read by the neb command containing atomic coordinates used -to initialize one or more replicas must be formatted as follows. - -The file can be ASCII text or a gzipped text file (detected by a .gz -suffix). The file can contain initial blank lines or comment lines -starting with "#" which are ignored. The first non-blank, non-comment -line should list N = the number of lines to follow. The N successive -lines contain the following information: - -ID1 x1 y1 z1 -ID2 x2 y2 z2 -... -IDN xN yN zN :pre - -The fields are the atom ID, followed by the x,y,z coordinates. The -lines can be listed in any order. Additional trailing information on -the line is OK, such as a comment. - -Note that for a typical NEB calculation you do not need to specify -initial coordinates for very many atoms to produce differing starting -and final replicas whose intermediate replicas will converge to the -energy barrier. Typically only new coordinates for atoms -geometrically near the barrier need be specified. - -Also note there is no requirement that the atoms in the file -correspond to the NEB atoms in the group defined by the "fix -neb"_fix_neb.html command. Not every NEB atom need be in the file, -and non-NEB atoms can be listed in the file. - -:line - -Four kinds of output can be generated during a NEB calculation: energy -barrier statistics, thermodynamic output by each replica, dump files, -and restart files. - -When running with multiple partitions (each of which is a replica in -this case), the print-out to the screen and master log.lammps file -contains a line of output, printed once every {Nevery} timesteps. It -contains the timestep, the maximum force per replica, the maximum -force per atom (in any replica), potential gradients in the initial, -final, and climbing replicas, the forward and backward energy -barriers, the total reaction coordinate (RDT), and the normalized -reaction coordinate and potential energy of each replica. - -The "maximum force per replica" is the two-norm of the 3N-length force -vector for the atoms in each replica, maximized across replicas, which -is what the {ftol} setting is checking against. In this case, N is -all the atoms in each replica. The "maximum force per atom" is the -maximum force component of any atom in any replica. The potential -gradients are the two-norm of the 3N-length force vector solely due to -the interaction potential i.e. without adding in inter-replica -forces. - -The "reaction coordinate" (RD) for each replica is the two-norm of the -3N-length vector of distances between its atoms and the preceding -replica's atoms, added to the RD of the preceding replica. The RD of -the first replica RD1 = 0.0; the RD of the final replica RDN = RDT, -the total reaction coordinate. The normalized RDs are divided by RDT, -so that they form a monotonically increasing sequence from zero to -one. When computing RD, N only includes the atoms being operated on by -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 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 -aligned. "angletangrad" is the angle between the 3N-length tangent -vector and the 3N-length force vector at image i. The tangent vector -is calculated as in "(HenkelmanA)"_#HenkelmanA for all intermediate -replicas and at R2 - R1 and RM - RM-1 for the first and last replica, -respectively. "anglegrad" is the angle between the 3N-length energy -gradient vector of replica i and that of replica i+1. It is not -defined for the final replica and reads nan. gradV is the norm of the -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, the supplementary -information can help understanding what is going wrong. For instance -when the path angle becomes acute, the definition of tangent used in -the NEB calculation is questionable and the NEB cannot may diverge -"(Maras)"_#Maras2. - - -When running on multiple partitions, LAMMPS produces additional log -files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For a -NEB calculation, these contain the thermodynamic output for each -replica. - -If "dump"_dump.html commands in the input script define a filename -that includes a {universe} or {uloop} style "variable"_variable.html, -then one dump file (per dump command) will be created for each -replica. At the end of the NEB calculation, the final snapshot in -each file will contain the sequence of snapshots that transition the -system over the energy barrier. Earlier snapshots will show the -convergence of the replicas to the MEP. - -Likewise, "restart"_restart.html filenames can be specified with a -{universe} or {uloop} style "variable"_variable.html, to generate -restart files for each replica. These may be useful if the NEB -calculation fails to converge properly to the MEP, and you wish to -restart the calculation from an intermediate point with altered -parameters. - -There are 2 Python scripts provided in the tools/python directory, -neb_combine.py and neb_final.py, which are useful in analyzing output -from a NEB calculation. Assume a NEB simulation with M replicas, and -the NEB atoms labeled with a specific atom type. - -The neb_combine.py script extracts atom coords for the NEB atoms from -all M dump files and creates a single dump file where each snapshot -contains the NEB atoms from all the replicas and one copy of non-NEB -atoms from the first replica (presumed to be identical in other -replicas). This can be visualized/animated to see how the NEB atoms -relax as the NEB calculation proceeds. - -The neb_final.py script extracts the final snapshot from each of the M -dump files to create a single dump file with M snapshots. This can be -visualized to watch the system make its transition over the energy -barrier. - -To illustrate, here are images from the final snapshot produced by the -neb_combine.py script run on the dump files produced by the two -example input scripts in examples/neb. Click on them to see a larger -image. - -:image(JPG/hop1_small.jpg,JPG/hop1.jpg) -:image(JPG/hop2_small.jpg,JPG/hop2.jpg) - -:line - -[Restrictions:] - -This command can only be used if LAMMPS was built with the REPLICA -package. See the "Build package"_Build_package.html doc -page for more info. - -:line - -[Related commands:] - -"prd"_prd.html, "temper"_temper.html, "fix langevin"_fix_langevin.html, -"fix viscous"_fix_viscous.html - -[Default:] - -none - -:line - -:link(HenkelmanA) -[(HenkelmanA)] Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000). - -:link(HenkelmanB) -[(HenkelmanB)] Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, -9901-9904 (2000). - -:link(Nakano3) -[(Nakano)] Nakano, Comp Phys Comm, 178, 280-289 (2008). - -:link(Maras2) -[(Maras)] Maras, Trushin, Stukowski, Ala-Nissila, Jonsson, -Comp Phys Comm, 205, 13-21 (2016) diff --git a/doc/txt/neb_spin.txt b/doc/txt/neb_spin.txt deleted file mode 100644 index 217606289f3c546871b1415cec2ac6b4e0bd58c9..0000000000000000000000000000000000000000 --- a/doc/txt/neb_spin.txt +++ /dev/null @@ -1,379 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -neb/spin command :h3 - -[Syntax:] - -neb/spin etol ttol N1 N2 Nevery file-style arg keyword :pre - -etol = stopping tolerance for energy (energy units) :ulb,l -ttol = stopping tolerance for torque ( units) :l -N1 = max # of iterations (timesteps) to run initial NEB :l -N2 = max # of iterations (timesteps) to run barrier-climbing NEB :l -Nevery = print replica energies and reaction coordinates every this many timesteps :l -file-style = {final} or {each} or {none} :l - {final} arg = filename - filename = file with initial coords for final replica - coords for intermediate replicas are linearly interpolated - between first and last replica - {each} arg = filename - filename = unique filename for each replica (except first) - with its initial coords - {none} arg = no argument all replicas assumed to already have - their initial coords :pre -keyword = {verbose} -:ule - -[Examples:] - -neb/spin 0.1 0.0 1000 500 50 final coords.final -neb/spin 0.0 0.001 1000 500 50 each coords.initial.$i -neb/spin 0.0 0.001 1000 500 50 none verbose :pre - -[Description:] - -Perform a geodesic nudged elastic band (GNEB) calculation using multiple -replicas of a system. Two or more replicas must be used; the first -and last are the end points of the transition path. - -GNEB is a method for finding both the spin configurations and height -of the energy barrier associated with a transition state, e.g. -spins to perform a collective rotation from one energy basin to -another. -The implementation in LAMMPS follows the discussion in the -following paper: "(BessarabA)"_#BessarabA. - -Each replica runs on a partition of one or more processors. Processor -partitions are defined at run-time using the "-partition command-line -switch"_Run_options.html. Note that if you have MPI installed, you -can run a multi-replica simulation with more replicas (partitions) -than you have physical processors, e.g you can run a 10-replica -simulation on just one or two processors. You will simply not get the -performance speed-up you would see with one or more physical -processors per replica. See the "Howto replica"_Howto_replica.html -doc page for further discussion. - -NOTE: As explained below, a GNEB calculation performs a -minimization across all the replicas. One of the "spin"_min_spin.html -style minimizers has to be defined in your input script. - -When a GNEB calculation is performed, it is assumed that each replica -is running the same system, though LAMMPS does not check for this. -I.e. the simulation domain, the number of magnetic atoms, the -interaction potentials, and the starting configuration when the neb -command is issued should be the same for every replica. - -In a GNEB calculation each replica is connected to other replicas by -inter-replica nudging forces. These forces are imposed by the "fix -neb/spin"_fix_neb_spin.html command, which must be used in conjunction -with the neb command. -The group used to define the fix neb/spin command defines the -GNEB magnetic atoms which are the only ones that inter-replica springs -are applied to. -If the group does not include all magnetic atoms, then non-GNEB -magnetic atoms have no inter-replica springs and the torques they feel -and their precession motion is computed in the usual way due only -to other magnetic atoms within their replica. -Conceptually, the non-GNEB atoms provide a background force field for -the GNEB atoms. -Their magnetic spins can be allowed to evolve during the GNEB -minimization procedure. - -The initial spin configuration for each of the replicas can be -specified in different manners via the {file-style} setting, as -discussed below. Only atomic spins whose initial coordinates should -differ from the current configuration need to be specified. - -Conceptually, the initial and final configurations for the first -replica should be states on either side of an energy barrier. - -As explained below, the initial configurations of intermediate -replicas can be spin coordinates interpolated in a linear fashion -between the first and last replicas. This is often adequate for -simple transitions. For more complex transitions, it may lead to slow -convergence or even bad results if the minimum energy path (MEP, see -below) of states over the barrier cannot be correctly converged to -from such an initial path. In this case, you will want to generate -initial states for the intermediate replicas that are geometrically -closer to the MEP and read them in. - -:line - -For a {file-style} setting of {final}, a filename is specified which -contains atomic and spin coordinates for zero or more atoms, in the -format described below. -For each atom that appears in the file, the new coordinates are -assigned to that atom in the final replica. Each intermediate replica -also assigns a new spin to that atom in an interpolated manner. -This is done by using the current direction of the spin at the starting -point and the read-in direction as the final point. -The "angular distance" between them is calculated, and the new direction -is assigned to be a fraction of the angular distance. - -NOTE: The "angular distance" between the starting and final point is -evaluated in the geodesic sense, as described in -"(BessarabA)"_#BessarabA. - -NOTE: The angular interpolation between the starting and final point -is achieved using Rodrigues formula: - -:c,image(Eqs/neb_spin_rodrigues_formula.jpg) - -where m_i^I is the initial spin configuration for the spin i, -omega_i^nu is a rotation angle defined as: - -:c,image(Eqs/neb_spin_angle.jpg) - -with nu the image number, Q the total number of images, and -omega_i the total rotation between the initial and final spins. -k_i defines a rotation axis such as: - -:c,image(Eqs/neb_spin_k.jpg) - -if the initial and final spins are not aligned. -If the initial and final spins are aligned, then their cross -product is null, and the expression above does not apply. -If they point toward the same direction, the intermediate images -conserve the same orientation. -If the initial and final spins are aligned, but point toward -opposite directions, an arbitrary rotation vector belonging to -the plane perpendicular to initial and final spins is chosen. -In this case, a warning message is displayed. - -For a {file-style} setting of {each}, a filename is specified which is -assumed to be unique to each replica. -See the "neb"_neb.html documentation page for more information about this -option. - -For a {file-style} setting of {none}, no filename is specified. Each -replica is assumed to already be in its initial configuration at the -time the neb command is issued. This allows each replica to define -its own configuration by reading a replica-specific data or restart or -dump file, via the "read_data"_read_data.html, -"read_restart"_read_restart.html, or "read_dump"_read_dump.html -commands. The replica-specific names of these files can be specified -as in the discussion above for the {each} file-style. Also see the -section below for how a NEB calculation can produce restart files, so -that a long calculation can be restarted if needed. - -NOTE: None of the {file-style} settings change the initial -configuration of any atom in the first replica. The first replica -must thus be in the correct initial configuration at the time the neb -command is issued. - -:line - -A NEB calculation proceeds in two stages, each of which is a -minimization procedure. To enable -this, you must first define a -"min_style"_min_style.html, using either the {spin}, -{spin/cg}, or {spin/lbfgs} style (see -"min_spin"_min_spin.html for more information). -The other styles cannot be used, since they relax the lattice -degrees of freedom instead of the spins. - -The minimizer tolerances for energy and force are set by {etol} and -{ttol}, the same as for the "minimize"_minimize.html command. - -A non-zero {etol} means that the GNEB calculation will terminate if the -energy criterion is met by every replica. The energies being compared -to {etol} do not include any contribution from the inter-replica -nudging forces, since these are non-conservative. A non-zero {ttol} -means that the GNEB calculation will terminate if the torque criterion -is met by every replica. The torques being compared to {ttol} include -the inter-replica nudging forces. - -The maximum number of iterations in each stage is set by {N1} and -{N2}. These are effectively timestep counts since each iteration of -damped dynamics is like a single timestep in a dynamics -"run"_run.html. During both stages, the potential energy of each -replica and its normalized distance along the reaction path (reaction -coordinate RD) will be printed to the screen and log file every -{Nevery} timesteps. The RD is 0 and 1 for the first and last replica. -For intermediate replicas, it is the cumulative angular distance -(normalized by the total cumulative angular distance) between adjacent -replicas, where "distance" is defined as the length of the 3N-vector of -the geodesic distances in spin coordinates, with N the number of -GNEB spins involved (see equation (13) in "(BessarabA)"_#BessarabA). -These outputs allow you to monitor NEB's progress in -finding a good energy barrier. {N1} and {N2} must both be multiples -of {Nevery}. - -In the first stage of GNEB, the set of replicas should converge toward -a minimum energy path (MEP) of conformational states that transition -over a barrier. The MEP for a transition is defined as a sequence of -3N-dimensional spin states, each of which has a potential energy -gradient parallel to the MEP itself. -The configuration of highest energy along a MEP corresponds to a saddle -point. The replica states will also be roughly equally spaced along -the MEP due to the inter-replica nudging force added by the -"fix neb"_fix_neb.html command. - -In the second stage of GNEB, the replica with the highest energy is -selected and the inter-replica forces on it are converted to a force -that drives its spin coordinates to the top or saddle point of the -barrier, via the barrier-climbing calculation described in -"(BessarabA)"_#BessarabA. As before, the other replicas rearrange -themselves along the MEP so as to be roughly equally spaced. - -When both stages are complete, if the GNEB calculation was successful, -the configurations of the replicas should be along (close to) the MEP -and the replica with the highest energy should be a spin -configuration at (close to) the saddle point of the transition. The -potential energies for the set of replicas represents the energy -profile of the transition along the MEP. - -:line - -An atom map must be defined which it is not by default for "atom_style -atomic"_atom_style.html problems. The "atom_modify -map"_atom_modify.html command can be used to do this. - -An initial value can be defined for the timestep. Although, the {spin} -minimization algorithm is an adaptive timestep methodology, so that -this timestep is likely to evolve during the calculation. - -The minimizers in LAMMPS operate on all spins in your system, even -non-GNEB atoms, as defined above. - -:line - -Each file read by the neb/spin command containing spin coordinates used -to initialize one or more replicas must be formatted as follows. - -The file can be ASCII text or a gzipped text file (detected by a .gz -suffix). The file can contain initial blank lines or comment lines -starting with "#" which are ignored. The first non-blank, non-comment -line should list N = the number of lines to follow. The N successive -lines contain the following information: - -ID1 g1 x1 y1 z1 sx1 sy1 sz1 -ID2 g2 x2 y2 z2 sx2 sy2 sz2 -... -IDN gN yN zN sxN syN szN :pre - -The fields are the atom ID, the norm of the associated magnetic spin, -followed by the {x,y,z} coordinates and the {sx,sy,sz} spin coordinates. -The lines can be listed in any order. Additional trailing information on -the line is OK, such as a comment. - -Note that for a typical GNEB calculation you do not need to specify -initial spin coordinates for very many atoms to produce differing starting -and final replicas whose intermediate replicas will converge to the -energy barrier. Typically only new spin coordinates for atoms -geometrically near the barrier need be specified. - -Also note there is no requirement that the atoms in the file -correspond to the GNEB atoms in the group defined by the "fix -neb"_fix_neb.html command. Not every GNEB atom need be in the file, -and non-GNEB atoms can be listed in the file. - -:line - -Four kinds of output can be generated during a GNEB calculation: energy -barrier statistics, thermodynamic output by each replica, dump files, -and restart files. - -When running with multiple partitions (each of which is a replica in -this case), the print-out to the screen and master log.lammps file -contains a line of output, printed once every {Nevery} timesteps. It -contains the timestep, the maximum torque per replica, the maximum -torque per atom (in any replica), potential gradients in the initial, -final, and climbing replicas, the forward and backward energy -barriers, the total reaction coordinate (RDT), and the normalized -reaction coordinate and potential energy of each replica. - -The "maximum torque per replica" is the two-norm of the -3N-length vector given by the cross product of a spin by its -precession vector omega, in each replica, maximized across replicas, -which is what the {ttol} setting is checking against. In this case, N is -all the atoms in each replica. The "maximum torque per atom" is the -maximum torque component of any atom in any replica. The potential -gradients are the two-norm of the 3N-length magnetic precession vector -solely due to the interaction potential i.e. without adding in -inter-replica forces, and projected along the path tangent (as detailed -in Appendix D of "(BessarabA)"_#BessarabA). - -The "reaction coordinate" (RD) for each replica is the two-norm of the -3N-length vector of geodesic distances between its spins and the preceding -replica's spins (see equation (13) of "(BessarabA)"_#BessarabA), added to -the RD of the preceding replica. The RD of the first replica RD1 = 0.0; -the RD of the final replica RDN = RDT, the total reaction coordinate. -The normalized RDs are divided by RDT, so that they form a monotonically -increasing sequence from zero to one. When computing RD, N only includes -the spins being operated on by the fix neb/spin command. - -The forward (reverse) energy barrier is the potential energy of the -highest replica minus the energy of the first (last) replica. - -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 "GradVidottan" are the projections of the potential gradient for -the replica i on its tangent vector (as detailed in Appendix D of -"(BessarabA)"_#BessarabA). -The "DNi" are the non normalized geodesic distances (see equation (13) -of "(BessarabA)"_#BessarabA), between a replica i and the next replica -i+1. For the last replica, this distance is not defined and a "NAN" -value is the corresponding output. - -When a NEB calculation does not converge properly, the supplementary -information can help understanding what is going wrong. - -When running on multiple partitions, LAMMPS produces additional log -files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For a -GNEB calculation, these contain the thermodynamic output for each -replica. - -If "dump"_dump.html commands in the input script define a filename -that includes a {universe} or {uloop} style "variable"_variable.html, -then one dump file (per dump command) will be created for each -replica. At the end of the GNEB calculation, the final snapshot in -each file will contain the sequence of snapshots that transition the -system over the energy barrier. Earlier snapshots will show the -convergence of the replicas to the MEP. - -Likewise, "restart"_restart.html filenames can be specified with a -{universe} or {uloop} style "variable"_variable.html, to generate -restart files for each replica. These may be useful if the GNEB -calculation fails to converge properly to the MEP, and you wish to -restart the calculation from an intermediate point with altered -parameters. - -A c file script in provided in the tool/spin/interpolate_gneb -directory, that interpolates the MEP given the information provided -by the verbose output option (as detailed in Appendix D of -"(BessarabA)"_#BessarabA). - -:line - -[Restrictions:] - -This command can only be used if LAMMPS was built with the SPIN -package. See the "Build package"_Build_package.html doc -page for more info. - -For magnetic GNEB calculations, only {spin_none} value for {line} keyword can be used -when styles {spin/cg} and {spin/lbfgs} are employed. - -:line - -[Related commands:] - -"min/spin"_min_spin.html, "fix neb/spin"_fix_neb_spin.html - -[Default:] - -none - -:line - -:link(BessarabA) -[(BessarabA)] Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, -335-347 (2015). diff --git a/doc/txt/neigh_modify.txt b/doc/txt/neigh_modify.txt deleted file mode 100644 index c97cb53e4332b5b1411b933177accfec3291aad1..0000000000000000000000000000000000000000 --- a/doc/txt/neigh_modify.txt +++ /dev/null @@ -1,218 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -neigh_modify command :h3 - -[Syntax:] - -neigh_modify keyword values ... :pre - -one or more keyword/value pairs may be listed :ulb,l -keyword = {delay} or {every} or {check} or {once} or {cluster} or {include} or {exclude} or {page} or {one} or {binsize} - {delay} value = N - N = delay building until this many steps since last build - {every} value = M - M = build neighbor list every this many steps - {check} value = {yes} or {no} - {yes} = only build if some atom has moved half the skin distance or more - {no} = always build on 1st step that {every} and {delay} are satisfied - {once} - {yes} = only build neighbor list once at start of run and never rebuild - {no} = rebuild neighbor list according to other settings - {cluster} - {yes} = check bond,angle,etc neighbor list for nearby clusters - {no} = do not check bond,angle,etc neighbor list for nearby clusters - {include} value = group-ID - group-ID = only build pair neighbor lists for atoms in this group - {exclude} values: - type M N - M,N = exclude if one atom in pair is type M, other is type N - group group1-ID group2-ID - group1-ID,group2-ID = exclude if one atom is in 1st group, other in 2nd - molecule/intra group-ID - group-ID = exclude if both atoms are in the same molecule and in group - molecule/inter group-ID - group-ID = exclude if both atoms are in different molecules and in group - none - delete all exclude settings - {page} value = N - N = number of pairs stored in a single neighbor page - {one} value = N - N = max number of neighbors of one atom - {binsize} value = size - size = bin size for neighbor list construction (distance units) :pre -:ule - -[Examples:] - -neigh_modify every 2 delay 10 check yes page 100000 -neigh_modify exclude type 2 3 -neigh_modify exclude group frozen frozen check no -neigh_modify exclude group residue1 chain3 -neigh_modify exclude molecule/intra rigid :pre - -[Description:] - -This command sets parameters that affect the building and use of -pairwise neighbor lists. Depending on what pair interactions and -other commands are defined, a simulation may require one or more -neighbor lists. - -The {every}, {delay}, {check}, and {once} options affect how often -lists are built as a simulation runs. The {delay} setting means never -build new lists until at least N steps after the previous build. The -{every} setting means build lists every M steps (after the delay has -passed). If the {check} setting is {no}, the lists are built on the -first step that satisfies the {delay} and {every} settings. If the -{check} setting is {yes}, then the {every} and {delay} settings -determine when a build may possibly be performed, but an actual build -only occurs if some atom has moved more than half the skin distance -(specified in the "neighbor"_neighbor.html command) since the last -build. - -If the {once} setting is yes, then the neighbor list is only built -once at the beginning of each run, and never rebuilt, except on steps -when a restart file is written, or steps when a fix forces a rebuild -to occur (e.g. fixes that create or delete atoms, such as "fix -deposit"_fix_deposit.html or "fix evaporate"_fix_evaporate.html). -This setting should only be made if you are certain atoms will not -move far enough that the neighbor list should be rebuilt, e.g. running -a simulation of a cold crystal. Note that it is not that expensive to -check if neighbor lists should be rebuilt. - -When the rRESPA integrator is used (see the "run_style"_run_style.html -command), the {every} and {delay} parameters refer to the longest -(outermost) timestep. - -The {cluster} option does a sanity test every time neighbor lists are -built for bond, angle, dihedral, and improper interactions, to check -that each set of 2, 3, or 4 atoms is a cluster of nearby atoms. It -does this by computing the distance between pairs of atoms in the -interaction and insuring they are not further apart than half the -periodic box length. If they are, an error is generated, since the -interaction would be computed between far-away atoms instead of their -nearby periodic images. The only way this should happen is if the -pairwise cutoff is so short that atoms that are part of the same -interaction are not communicated as ghost atoms. This is an unusual -model (e.g. no pair interactions at all) and the problem can be fixed -by use of the "comm_modify cutoff"_comm_modify.html command. Note -that to save time, the default {cluster} setting is {no}, so that this -check is not performed. - -The {include} option limits the building of pairwise neighbor lists to -atoms in the specified group. This can be useful for models where a -large portion of the simulation is particles that do not interact with -other particles or with each other via pairwise interactions. The -group specified with this option must also be specified via the -"atom_modify first"_atom_modify.html command. Note that specifying -"all" as the group-ID effectively turns off the {include} option. - -The {exclude} option turns off pairwise interactions between certain -pairs of atoms, by not including them in the neighbor list. These are -sample scenarios where this is useful: - -In crack simulations, pairwise interactions can be shut off between 2 -slabs of atoms to effectively create a crack. :ulb,l - -When a large collection of atoms is treated as frozen, interactions -between those atoms can be turned off to save needless -computation. E.g. Using the "fix setforce"_fix_setforce.html command -to freeze a wall or portion of a bio-molecule. :l - -When one or more rigid bodies are specified, interactions within each -body can be turned off to save needless computation. See the "fix -rigid"_fix_rigid.html command for more details. :l -:ule - -The {exclude type} option turns off the pairwise interaction if one -atom is of type M and the other of type N. M can equal N. The -{exclude group} option turns off the interaction if one atom is in the -first group and the other is the second. Group1-ID can equal -group2-ID. The {exclude molecule/intra} option turns off the -interaction if both atoms are in the specified group and in the same -molecule, as determined by their molecule ID. The {exclude -molecule/inter} turns off the interaction between pairs of atoms that -have different molecule IDs and are both in the specified group. - -Each of the exclude options can be specified multiple times. The -{exclude type} option is the most efficient option to use; it requires -only a single check, no matter how many times it has been specified. -The other exclude options are more expensive if specified multiple -times; they require one check for each time they have been specified. - -Note that the exclude options only affect pairwise interactions; see -the "delete_bonds"_delete_bonds.html command for information on -turning off bond interactions. - -NOTE: Excluding pairwise interactions will not work correctly when -also using a long-range solver via the -"kspace_style"_kspace_style.html command. LAMMPS will give a warning -to this effect. This is because the short-range pairwise interaction -needs to subtract off a term from the total energy for pairs whose -short-range interaction is excluded, to compensate for how the -long-range solver treats the interaction. This is done correctly for -pairwise interactions that are excluded (or weighted) via the -"special_bonds"_special_bonds.html command. But it is not done for -interactions that are excluded via these neigh_modify exclude options. - -The {page} and {one} options affect how memory is allocated for the -neighbor lists. For most simulations the default settings for these -options are fine, but if a very large problem is being run or a very -long cutoff is being used, these parameters can be tuned. The indices -of neighboring atoms are stored in "pages", which are allocated one -after another as they fill up. The size of each page is set by the -{page} value. A new page is allocated when the next atom's neighbors -could potentially overflow the list. This threshold is set by the -{one} value which tells LAMMPS the maximum number of neighbor's one -atom can have. - -NOTE: LAMMPS can crash without an error message if the number of -neighbors for a single particle is larger than the {page} setting, -which means it is much, much larger than the {one} setting. This is -because LAMMPS doesn't error check these limits for every pairwise -interaction (too costly), but only after all the particle's neighbors -have been found. This problem usually means something is very wrong -with the way you've setup your problem (particle spacing, cutoff -length, neighbor skin distance, etc). If you really expect that many -neighbors per particle, then boost the {one} and {page} settings -accordingly. - -The {binsize} option allows you to specify what size of bins will be -used in neighbor list construction to sort and find neighboring atoms. -By default, for "neighbor style bin"_neighbor.html, LAMMPS uses bins -that are 1/2 the size of the maximum pair cutoff. For "neighbor style -multi"_neighbor.html, the bins are 1/2 the size of the minimum pair -cutoff. Typically these are good values for minimizing the time for -neighbor list construction. This setting overrides the default. -If you make it too big, there is little overhead due to -looping over bins, but more atoms are checked. If you make it too -small, the optimal number of atoms is checked, but bin overhead goes -up. If you set the binsize to 0.0, LAMMPS will use the default -binsize of 1/2 the cutoff. - -[Restrictions:] - -If the "delay" setting is non-zero, then it must be a multiple of the -"every" setting. - -The molecule/intra and molecule/inter exclude options can only be used -with atom styles that define molecule IDs. - -The value of the {page} setting must be at least 10x larger than the -{one} setting. This insures neighbor pages are not mostly empty -space. - -[Related commands:] - -"neighbor"_neighbor.html, "delete_bonds"_delete_bonds.html - -[Default:] - -The option defaults are delay = 10, every = 1, check = yes, once = no, -cluster = no, include = all (same as no include option defined), -exclude = none, page = 100000, one = 2000, and binsize = 0.0. diff --git a/doc/txt/neighbor.txt b/doc/txt/neighbor.txt deleted file mode 100644 index 4a60f957d477d542ea8f564e38a8e5260864e0cf..0000000000000000000000000000000000000000 --- a/doc/txt/neighbor.txt +++ /dev/null @@ -1,83 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -neighbor command :h3 - -[Syntax:] - -neighbor skin style :pre - -skin = extra distance beyond force cutoff (distance units) -style = {bin} or {nsq} or {multi} :ul - -[Examples:] - -neighbor 0.3 bin -neighbor 2.0 nsq :pre - -[Description:] - -This command sets parameters that affect the building of pairwise -neighbor lists. All atom pairs within a neighbor cutoff distance -equal to the their force cutoff plus the {skin} distance are stored in -the list. Typically, the larger the skin distance, the less often -neighbor lists need to be built, but more pairs must be checked for -possible force interactions every timestep. The default value for -{skin} depends on the choice of units for the simulation; see the -default values below. - -The {skin} distance is also used to determine how often atoms migrate -to new processors if the {check} option of the -"neigh_modify"_neigh_modify.html command is set to {yes}. Atoms are -migrated (communicated) to new processors on the same timestep that -neighbor lists are re-built. - -The {style} value selects what algorithm is used to build the list. -The {bin} style creates the list by binning which is an operation that -scales linearly with N/P, the number of atoms per processor where N = -total number of atoms and P = number of processors. It is almost -always faster than the {nsq} style which scales as (N/P)^2. For -unsolvated small molecules in a non-periodic box, the {nsq} choice can -sometimes be faster. Either style should give the same answers. - -The {multi} style is a modified binning algorithm that is useful for -systems with a wide range of cutoff distances, e.g. due to different -size particles. For the {bin} style, the bin size is set to 1/2 of -the largest cutoff distance between any pair of atom types and a -single set of bins is defined to search over for all atom types. This -can be inefficient if one pair of types has a very long cutoff, but -other type pairs have a much shorter cutoff. For style {multi} the -bin size is set to 1/2 of the shortest cutoff distance and multiple -sets of bins are defined to search over for different atom types. -This imposes some extra setup overhead, but the searches themselves -may be much faster for the short-cutoff cases. See the "comm_modify -mode multi"_comm_modify.html command for a communication option -that may also be beneficial for simulations of this kind. - -The "neigh_modify"_neigh_modify.html command has additional options -that control how often neighbor lists are built and which pairs are -stored in the list. - -When a run is finished, counts of the number of neighbors stored in -the pairwise list and the number of times neighbor lists were built -are printed to the screen and log file. See the "Run -output"_Run_output.html doc page for details. - -[Restrictions:] none - -[Related commands:] - -"neigh_modify"_neigh_modify.html, "units"_units.html, -"comm_modify"_comm_modify.html - -[Default:] - -0.3 bin for units = lj, skin = 0.3 sigma -2.0 bin for units = real or metal, skin = 2.0 Angstroms -0.001 bin for units = si, skin = 0.001 meters = 1.0 mm -0.1 bin for units = cgs, skin = 0.1 cm = 1.0 mm :all(b) diff --git a/doc/txt/newton.txt b/doc/txt/newton.txt deleted file mode 100644 index fd7b5369203f25c957f62e34d9d68960fee87495..0000000000000000000000000000000000000000 --- a/doc/txt/newton.txt +++ /dev/null @@ -1,62 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -newton command :h3 - -[Syntax:] - -newton flag -newton flag1 flag2 :pre - -flag = {on} or {off} for both pairwise and bonded interactions -flag1 = {on} or {off} for pairwise interactions -flag2 = {on} or {off} for bonded interactions :ul - -[Examples:] - -newton off -newton on off :pre - -[Description:] - -This command turns Newton's 3rd law {on} or {off} for pairwise and -bonded interactions. For most problems, setting Newton's 3rd law to -{on} means a modest savings in computation at the cost of two times -more communication. Whether this is faster depends on problem size, -force cutoff lengths, a machine's compute/communication ratio, and how -many processors are being used. - -Setting the pairwise newton flag to {off} means that if two -interacting atoms are on different processors, both processors compute -their interaction and the resulting force information is not -communicated. Similarly, for bonded interactions, newton {off} means -that if a bond, angle, dihedral, or improper interaction contains -atoms on 2 or more processors, the interaction is computed by each -processor. - -LAMMPS should produce the same answers for any newton flag settings, -except for round-off issues. - -With "run_style"_run_style.html {respa} and only bonded interactions -(bond, angle, etc) computed in the innermost timestep, it may be -faster to turn newton {off} for bonded interactions, to avoid extra -communication in the innermost loop. - -[Restrictions:] - -The newton bond setting cannot be changed after the simulation box is -defined by a "read_data"_read_data.html or -"create_box"_create_box.html command. - -[Related commands:] - -"run_style"_run_style.html respa - -[Default:] - -newton on :pre diff --git a/doc/txt/next.txt b/doc/txt/next.txt deleted file mode 100644 index 3f43b1b75249b65378df14ae29f0caa9c1800b71..0000000000000000000000000000000000000000 --- a/doc/txt/next.txt +++ /dev/null @@ -1,142 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -next command :h3 - -[Syntax:] - -next variables :pre - -variables = one or more variable names :ul - -[Examples:] - -next x -next a t x myTemp :pre - -[Description:] - -This command is used with variables defined by the -"variable"_variable.html command. It assigns the next value to the -variable from the list of values defined for that variable by the -"variable"_variable.html command. Thus when that variable is -subsequently substituted for in an input script command, the new value -is used. - -See the "variable"_variable.html command for info on how to define and -use different kinds of variables in LAMMPS input scripts. If a -variable name is a single lower-case character from "a" to "z", it can -be used in an input script command as $a or $z. If it is multiple -letters, it can be used as $\{myTemp\}. - -If multiple variables are used as arguments to the {next} command, -then all must be of the same variable style: {index}, {loop}, {file}, -{universe}, or {uloop}. An exception is that {universe}- and -{uloop}-style variables can be mixed in the same {next} command. - -All the variables specified with the next command are incremented by -one value from their respective list of values. A {file}-style -variable reads the next line from its associated file. An -{atomfile}-style variable reads the next set of lines (one per atom) -from its associated file. {String-} or {atom}- or {equal}- or -{world}-style variables cannot be used with the next command, -since they only store a single value. - -When any of the variables in the next command has no more values, a -flag is set that causes the input script to skip the next -"jump"_jump.html command encountered. This enables a loop containing -a next command to exit. As explained in the "variable"_variable.html -command, the variable that has exhausted its values is also deleted. -This allows it to be used and re-defined later in the input script. -{File}-style and {atomfile}-style variables are exhausted when the -end-of-file is reached. - -When the next command is used with {index}- or {loop}-style variables, -the next value is assigned to the variable for all processors. When -the next command is used with {file}-style variables, the next line is -read from its file and the string assigned to the variable. When the -next command is used with {atomfile}-style variables, the next set of -per-atom values is read from its file and assigned to the variable. - -When the next command is used with {universe}- or {uloop}-style -variables, all {universe}- or {uloop}-style variables must be listed -in the next command. This is because of the manner in which the -incrementing is done, using a single lock file for all variables. The -next value (for each variable) is assigned to whichever processor -partition executes the command first. All processors in the partition -are assigned the same value(s). Running LAMMPS on multiple partitions -of processors via the "-partition command-line -switch"_Run_options.html. {Universe}- and {uloop}-style variables are -incremented using the files "tmp.lammps.variable" and -"tmp.lammps.variable.lock" which you will see in your directory during -and after such a LAMMPS run. - -Here is an example of running a series of simulations using the next -command with an {index}-style variable. If this input script is named -in.polymer, 8 simulations would be run using data files from -directories run1 through run8. - -variable d index run1 run2 run3 run4 run5 run6 run7 run8 -shell cd $d -read_data data.polymer -run 10000 -shell cd .. -clear -next d -jump in.polymer :pre - -If the variable "d" were of style {universe}, and the same in.polymer -input script were run on 3 partitions of processors, then the first 3 -simulations would begin, one on each set of processors. Whichever -partition finished first, it would assign variable "d" the 4th value -and run another simulation, and so forth until all 8 simulations were -finished. - -Jump and next commands can also be nested to enable multi-level loops. -For example, this script will run 15 simulations in a double loop. - -variable i loop 3 - variable j loop 5 - clear - ... - read_data data.polymer.$i$j - print Running simulation $i.$j - run 10000 - next j - jump in.script -next i -jump in.script :pre - -Here is an example of a double loop which uses the "if"_if.html and -"jump"_jump.html commands to break out of the inner loop when a -condition is met, then continues iterating through the outer loop. - -label loopa -variable a loop 5 - label loopb - variable b loop 5 - print "A,B = $a,$b" - run 10000 - if $b > 2 then "jump in.script break" - next b - jump in.script loopb -label break -variable b delete :pre -next a -jump in.script loopa :pre - -[Restrictions:] - -As described above. - -[Related commands:] - -"jump"_jump.html, "include"_include.html, "shell"_shell.html, -"variable"_variable.html, - -[Default:] none diff --git a/doc/txt/pair_adp.txt b/doc/txt/pair_adp.txt deleted file mode 100644 index de6717a6c3571923cabf8cb3fbc3386b2f6ae18b..0000000000000000000000000000000000000000 --- a/doc/txt/pair_adp.txt +++ /dev/null @@ -1,186 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style adp command :h3 -pair_style adp/omp command :h3 - -[Syntax:] - -pair_style adp :pre - -[Examples:] - -pair_style adp -pair_coeff * * Ta.adp Ta -pair_coeff * * ../potentials/AlCu.adp Al Al Cu :pre - -[Description:] - -Style {adp} computes pairwise interactions for metals and metal alloys -using the angular dependent potential (ADP) of "(Mishin)"_#Mishin, -which is a generalization of the "embedded atom method (EAM) -potential"_pair_eam.html. The LAMMPS implementation is discussed in -"(Singh)"_#Singh. The total energy Ei of an atom I is given by - -:c,image(Eqs/pair_adp.jpg) - -where F is the embedding energy which is a function of the atomic -electron density rho, phi is a pair potential interaction, alpha and -beta are the element types of atoms I and J, and s and t = 1,2,3 and -refer to the cartesian coordinates. The mu and lambda terms represent -the dipole and quadruple distortions of the local atomic environment -which extend the original EAM framework by introducing angular forces. - -Note that unlike for other potentials, cutoffs for ADP potentials are -not set in the pair_style or pair_coeff command; they are specified in -the ADP potential files themselves. Likewise, the ADP potential files -list atomic masses; thus you do not need to use the "mass"_mass.html -command to specify them. - -[ADP potentials are available from:] - -The NIST WWW site at http://www.ctcms.nist.gov/potentials. -Note that ADP potentials obtained from NIST must be converted -into the extended DYNAMO {setfl} format discussed below. -:l - -The OpenKIM Project at https://openkim.org/browse/models/by-type provides -ADP potentials that can be used directly in LAMMPS with the "kim_commands -interface"_kim_commands.html. -:l - -:line - -Only a single pair_coeff command is used with the {adp} style which -specifies an extended DYNAMO {setfl} file, which contains information -for M elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of extended {setfl} elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways to -specify the path for the potential file. - -As an example, the potentials/AlCu.adp file, included in the -potentials directory of the LAMMPS distribution, is an extended {setfl} -file which has tabulated ADP values for w elements and their alloy -interactions: Cu and Al. If your LAMMPS simulation has 4 atoms types -and you want the 1st 3 to be Al, and the 4th to be Cu, you would use -the following pair_coeff command: - -pair_coeff * * AlCu.adp Al Al Al Cu :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The first three Al arguments map LAMMPS atom types 1,2,3 to the Al -element in the extended {setfl} file. The final Cu argument maps -LAMMPS atom type 4 to the Al element in the extended {setfl} file. -Note that there is no requirement that your simulation use all the -elements specified by the extended {setfl} file. - -If a mapping value is specified as NULL, the mapping is not performed. -This can be used when an {adp} potential is used as part of the -{hybrid} pair style. The NULL values are placeholders for atom types -that will be used with other potentials. - -{Adp} files in the {potentials} directory of the LAMMPS distribution -have an ".adp" suffix. A DYNAMO {setfl} file extended for ADP is -formatted as follows. Basically it is the standard {setfl} format -with additional tabulated functions u and w added to the file after -the tabulated pair potentials. See the "pair_eam"_pair_eam.html -command for further details on the {setfl} format. - -lines 1,2,3 = comments (ignored) -line 4: Nelements Element1 Element2 ... ElementN -line 5: Nrho, drho, Nr, dr, cutoff :ul - -Following the 5 header lines are Nelements sections, one for each -element, each with the following format: - -line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) -embedding function F(rho) (Nrho values) -density function rho(r) (Nr values) :ul - -Following the Nelements sections, Nr values for each pair potential -phi(r) array are listed for all i,j element pairs in the same format -as other arrays. Since these interactions are symmetric (i,j = j,i) -only phi arrays with i >= j are listed, in the following order: i,j = -(1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, -Nelements). The tabulated values for each phi function are listed as -r*phi (in units of eV-Angstroms), since they are for atom pairs, the -same as for "other EAM files"_pair_eam.html. - -After the phi(r) arrays, each of the u(r) arrays are listed in the -same order with the same assumptions of symmetry. Directly following -the u(r), the w(r) arrays are listed. Note that phi(r) is the only -array tabulated with a scaling by r. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, where types I and J correspond to -two different element types, no special mixing rules are needed, since -the ADP potential files specify alloy interactions explicitly. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair_style and pair_coeff commands in -an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_eam"_pair_eam.html - -[Default:] none - -:line - -:link(Mishin) -[(Mishin)] Mishin, Mehl, and Papaconstantopoulos, Acta Mater, 53, 4029 -(2005). - -:link(Singh) -[(Singh)] Singh and Warner, Acta Mater, 58, 5797-5805 (2010), diff --git a/doc/txt/pair_agni.txt b/doc/txt/pair_agni.txt deleted file mode 100644 index aae9c161ca1dd0190e90173de2f4717a666ef829..0000000000000000000000000000000000000000 --- a/doc/txt/pair_agni.txt +++ /dev/null @@ -1,132 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style agni command :h3 -pair_style agni/omp command :h3 - -[Syntax:] - -pair_style agni :pre - -[Examples:] -pair_style agni -pair_coeff * * Al.agni Al - -[Description:] - -Style {agni} style computes the many-body vectorial force components for -an atom as - -:c,image(Eqs/pair_agni.jpg) - -{u} labels the individual components, i.e. x, y or z, and {V} is the -corresponding atomic fingerprint. {d} is the Euclidean distance between -any two atomic fingerprints. A total of N_t reference atomic -environments are considered to construct the force field file. {alpha_t} -and {l} are the weight coefficients and length scale parameter of the -non-linear regression model. - -The method implements the recently proposed machine learning access to -atomic forces as discussed extensively in the following publications - -"(Botu1)"_#Botu2015adaptive and "(Botu2)"_#Botu2015learning. The premise -of the method is to map the atomic environment numerically into a -fingerprint, and use machine learning methods to create a mapping to the -vectorial atomic forces. - -Only a single pair_coeff command is used with the {agni} style which -specifies an AGNI potential file containing the parameters of the -force field for the needed elements. These are mapped to LAMMPS atom -types by specifying N additional arguments after the filename in the -pair_coeff command, where N is the number of LAMMPS atom types: - -filename -N element names = mapping of AGNI elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the force field file. - -An AGNI force field is fully specified by the filename which contains the -parameters of the force field, i.e., the reference training environments -used to construct the machine learning force field. Example force field -and input files are provided in the examples/USER/misc/agni directory. - -:line - -Styles with {omp} suffix is functionally the same as the corresponding -style without the suffix. They have been optimized to run faster, -depending on your available hardware, as discussed on the "Speed -packages"_Speed_packages.html doc page. The accelerated style takes -the same arguments and should produce the same results, except for -round-off and precision issues. - -The accelerated style is part of the USER-OMP. They are only enabled -if LAMMPS was built with those packages. See the "Build -package"_Build_package.html doc page for more info. - -You can specify the accelerated style explicitly in your input script -by including their suffix, or you can use the "-suffix command-line -switch"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -Currently, only elemental systems are implemented. Also, the method -only provides access to the forces and not energies or stresses. -The lack of potential energy data makes this pair style incompatible with -several of the "minimizer algorthms"_min_style.html like {cg} or {sd}. -It should work with damped dynamics based minimizers like {fire} or -{quickmin}. However, one can access the energy via thermodynamic -integration of the forces as discussed in -"(Botu3)"_#Botu2016construct. This pair style is part of the -USER-MISC package. It is only enabled if LAMMPS was built with that -package. See the "Build package"_Build_package.html doc page for more -info. - -The AGNI force field files provided with LAMMPS (see the -potentials directory) are parameterized for metal "units"_units.html. -You can use the AGNI potential with any LAMMPS units, but you would need -to create your own AGNI potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Botu2015adaptive) -[(Botu1)] V. Botu and R. Ramprasad, Int. J. Quant. Chem., 115(16), 1074 (2015). - -:link(Botu2015learning) -[(Botu2)] V. Botu and R. Ramprasad, Phys. Rev. B, 92(9), 094306 (2015). - -:link(Botu2016construct) -[(Botu3)] V. Botu, R. Batra, J. Chapman and R. Ramprasad, https://arxiv.org/abs/1610.02098 (2016). diff --git a/doc/txt/pair_airebo.txt b/doc/txt/pair_airebo.txt deleted file mode 100644 index 4956ba75756e04ea92f946db3157165c93aac124..0000000000000000000000000000000000000000 --- a/doc/txt/pair_airebo.txt +++ /dev/null @@ -1,246 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style airebo command :h3 -pair_style airebo/intel command :h3 -pair_style airebo/omp command :h3 -pair_style airebo/morse command :h3 -pair_style airebo/morse/intel command :h3 -pair_style airebo/morse/omp command :h3 -pair_style rebo command :h3 -pair_style rebo/intel command :h3 -pair_style rebo/omp command :h3 - -[Syntax:] - -pair_style style cutoff LJ_flag TORSION_flag cutoff_min :pre - -style = {airebo} or {airebo/morse} or {rebo} -cutoff = LJ or Morse cutoff (sigma scale factor) (AIREBO and AIREBO-M only) -LJ_flag = 0/1 to turn off/on the LJ or Morse term (AIREBO and AIREBO-M only, optional) -TORSION_flag = 0/1 to turn off/on the torsion term (AIREBO and AIREBO-M only, optional) -cutoff_min = Start of the transition region of cutoff (sigma scale factor) (AIREBO and AIREBO-M only, optional) :ul - -[Examples:] - -pair_style airebo 3.0 -pair_style airebo 2.5 1 0 -pair_coeff * * ../potentials/CH.airebo H C :pre - -pair_style airebo/morse 3.0 -pair_coeff * * ../potentials/CH.airebo-m H C :pre - -pair_style rebo -pair_coeff * * ../potentials/CH.rebo H C :pre - -[Description:] - -The {airebo} pair style computes the Adaptive Intermolecular Reactive -Empirical Bond Order (AIREBO) Potential of "(Stuart)"_#Stuart for a -system of carbon and/or hydrogen atoms. Note that this is the initial -formulation of AIREBO from 2000, not the later formulation. - -The {airebo/morse} pair style computes the AIREBO-M potential, which -is equivalent to AIREBO, but replaces the LJ term with a Morse potential. -The Morse potentials are parameterized by high-quality quantum chemistry -(MP2) calculations and do not diverge as quickly as particle density -increases. This allows AIREBO-M to retain accuracy to much higher pressures -than AIREBO (up to 40 GPa for Polyethylene). Details for this potential -and its parameterization are given in "(O'Conner)"_#OConnor. - -The {rebo} pair style computes the Reactive Empirical Bond Order (REBO) -Potential of "(Brenner)"_#Brenner. Note that this is the so-called -2nd generation REBO from 2002, not the original REBO from 1990. -As discussed below, 2nd generation REBO is closely related to the -initial AIREBO; it is just a subset of the potential energy terms -with a few slightly different parameters - -The AIREBO potential consists of three terms: - -:c,image(Eqs/pair_airebo.jpg) - -By default, all three terms are included. For the {airebo} style, if -the first two optional flag arguments to the pair_style command are -included, the LJ and torsional terms can be turned off. Note that -both or neither of the flags must be included. If both of the LJ an -torsional terms are turned off, it becomes the 2nd-generation REBO -potential, with a small caveat on the spline fitting procedure -mentioned below. This can be specified directly as pair_style {rebo} -with no additional arguments. - -The detailed formulas for this potential are given in -"(Stuart)"_#Stuart; here we provide only a brief description. - -The E_REBO term has the same functional form as the hydrocarbon REBO -potential developed in "(Brenner)"_#Brenner. The coefficients for -E_REBO in AIREBO are essentially the same as Brenner's potential, but -a few fitted spline values are slightly different. For most cases the -E_REBO term in AIREBO will produce the same energies, forces and -statistical averages as the original REBO potential from which it was -derived. The E_REBO term in the AIREBO potential gives the model its -reactive capabilities and only describes short-ranged C-C, C-H and H-H -interactions (r < 2 Angstroms). These interactions have strong -coordination-dependence through a bond order parameter, which adjusts -the attraction between the I,J atoms based on the position of other -nearby atoms and thus has 3- and 4-body dependence. - -The E_LJ term adds longer-ranged interactions (2 < r < cutoff) using a -form similar to the standard "Lennard Jones potential"_pair_lj.html. -The E_LJ term in AIREBO contains a series of switching functions so -that the short-ranged LJ repulsion (1/r^12) does not interfere with -the energetics captured by the E_REBO term. The extent of the E_LJ -interactions is determined by the {cutoff} argument to the pair_style -command which is a scale factor. For each type pair (C-C, C-H, H-H) -the cutoff is obtained by multiplying the scale factor by the sigma -value defined in the potential file for that type pair. In the -standard AIREBO potential, sigma_CC = 3.4 Angstroms, so with a scale -factor of 3.0 (the argument in pair_style), the resulting E_LJ cutoff -would be 10.2 Angstroms. - -By default, the longer-ranged interaction is smoothly switched off -between 2.16 and 3.0 sigma. By specifying {cutoff_min} in addition -to {cutoff}, the switching can be configured to take place between -{cutoff_min} and {cutoff}. {cutoff_min} can only be specified if all -optional arguments are given. - -The E_TORSION term is an explicit 4-body potential that describes -various dihedral angle preferences in hydrocarbon configurations. - -:line - -Only a single pair_coeff command is used with the {airebo}, {airebo} -or {rebo} style which specifies an AIREBO, REBO, or AIREBO-M potential -file with parameters for C and H. Note that as of LAMMPS version -15 May 2019 the {rebo} style in LAMMPS uses its own potential -file (CH.rebo). These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of AIREBO elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, if your LAMMPS simulation has 4 atom types and you want -the 1st 3 to be C, and the 4th to be H, you would use the following -pair_coeff command: - -pair_coeff * * CH.airebo C C C H :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The first three C arguments map LAMMPS atom types 1,2,3 to the C -element in the AIREBO file. The final H argument maps LAMMPS atom -type 4 to the H element in the SW file. If a mapping value is -specified as NULL, the mapping is not performed. This can be used -when a {airebo} potential is used as part of the {hybrid} pair style. -The NULL values are placeholders for atom types that will be used with -other potentials. - -The parameters/coefficients for the AIREBO potentials are listed in -the CH.airebo file to agree with the original "(Stuart)"_#Stuart -paper. Thus the parameters are specific to this potential and the way -it was fit, so modifying the file should be done cautiously. - -Similarly the parameters/coefficients for the AIREBO-M potentials are -listed in the CH.airebo-m file to agree with the "(O'Connor)"_#OConnor -paper. Thus the parameters are specific to this potential and the way -it was fit, so modifying the file should be done cautiously. The -AIREBO-M Morse potentials were parameterized using a cutoff of -3.0 (sigma). Modifying this cutoff may impact simulation accuracy. - -This pair style tallies a breakdown of the total AIREBO potential -energy into sub-categories, which can be accessed via the "compute -pair"_compute_pair.html command as a vector of values of length 3. -The 3 values correspond to the following sub-categories: - -{E_REBO} = REBO energy -{E_LJ} = Lennard-Jones energy -{E_TORSION} = Torsion energy :ol - -To print these quantities to the log file (with descriptive column -headings) the following commands could be included in an input script: - -compute 0 all pair airebo -variable REBO equal c_0\[1\] -variable LJ equal c_0\[2\] -variable TORSION equal c_0\[3\] -thermo_style custom step temp epair v_REBO v_LJ v_TORSION :pre - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -These pair styles do not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -These pair styles do not write their information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -These pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -[Restrictions:] - -These pair styles are part of the MANYBODY package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -These pair potentials require the "newton"_newton.html setting to be -"on" for pair interactions. - -The CH.airebo and CH.airebo-m potential files provided with LAMMPS -(see the potentials directory) are parameterized for metal "units"_units.html. -You can use the AIREBO, AIREBO-M or REBO potential with any LAMMPS units, -but you would need to create your own AIREBO or AIREBO-M potential file -with coefficients listed in the appropriate units, if your simulation -doesn't use "metal" units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Stuart) -[(Stuart)] Stuart, Tutein, Harrison, J Chem Phys, 112, 6472-6486 -(2000). - -:link(Brenner) -[(Brenner)] Brenner, Shenderova, Harrison, Stuart, Ni, Sinnott, J -Physics: Condensed Matter, 14, 783-802 (2002). - -:link(OConnor) -[(O'Connor)] O'Connor et al., J. Chem. Phys. 142, 024903 (2015). diff --git a/doc/txt/pair_atm.txt b/doc/txt/pair_atm.txt deleted file mode 100644 index adbc6b6f3b7982f04843149e3cc25cddaf1a264c..0000000000000000000000000000000000000000 --- a/doc/txt/pair_atm.txt +++ /dev/null @@ -1,164 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style atm command :h3 - -[Syntax:] - -pair_style atm cutoff cutoff_triple :pre - -cutoff = cutoff for each pair in 3-body interaction (distance units) -cutoff_triple = additional cutoff applied to product of 3 pairwise distances (distance units) :ul - -[Examples:] - -pair_style atm 4.5 2.5 -pair_coeff * * * 0.072 :pre - -pair_style hybrid/overlay lj/cut 6.5 atm 4.5 2.5 -pair_coeff * * lj/cut 1.0 1.0 -pair_coeff 1 1 atm 1 0.064 -pair_coeff 1 1 atm 2 0.080 -pair_coeff 1 2 atm 2 0.100 -pair_coeff 2 2 atm 2 0.125 :pre - -[Description:] - -The {atm} style computes a 3-body "Axilrod-Teller-Muto"_#Axilrod -potential for the energy E of a system of atoms as - -:c,image(Eqs/pair_atm.jpg) - -where nu is the three-body interaction strength. The distances -between pairs of atoms r12, r23, r31 and the angles gamma1, gamma2, -gamma3 are as shown in this diagram: - -:c,image(JPG/pair_atm_dia.jpg) - -Note that for the interaction between a triplet of atoms I,J,K, there -is no "central" atom. The interaction is symmetric with respect to -permutation of the three atoms. Thus the nu value is -the same for all those permutations of the atom types of I,J,K -and needs to be specified only once, as discussed below. - -The {atm} potential is typically used in combination with a two-body -potential using the "pair_style hybrid/overlay"_pair_hybrid.html -command as in the example above. - -The potential for a triplet of atom is calculated only if all 3 -distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff. -In addition, the product of the 3 distances r12*r23*r31 < -cutoff_triple^3 is required, which excludes from calculation the -triplets with small contribution to the interaction. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the restart files read by the -"read_restart"_read_restart.html commands: - -K = atom type of the third atom (1 to Ntypes) -nu = prefactor (energy/distance^9 units) :ul - -K can be specified in one of two ways. An explicit numeric value can -be used, as in the 2nd example above. J <= K is required. LAMMPS -sets the coefficients for the other 5 symmetric interactions to the -same values. E.g. if I = 1, J = 2, K = 3, then these 6 values are set -to the specified nu: nu123, nu132, nu213, nu231, nu312, nu321. This -enforces the symmetry discussed above. - -A wildcard asterisk can be used for K to set the coefficients for -multiple triplets of atom types. This takes the form "*" or "*n" or -"n*" or "m*n". If N = the number of atom types, then an asterisk with -no numeric values means all types from 1 to N. A leading asterisk -means all types from 1 to n (inclusive). A trailing asterisk means -all types from n to N (inclusive). A middle asterisk means all types -from m to n (inclusive). Note that only type triplets with J <= K are -considered; if asterisks imply type triplets where K < J, they are -ignored. - -Note that a pair_coeff command can override a previous setting for the -same I,J,K triplet. For example, these commands set nu for all I,J.K -triplets, then overwrite nu for just the I,J,K = 2,3,4 triplet: - -pair_coeff * * * 0.25 -pair_coeff 2 3 4 0.1 :pre - -Note that for a simulation with a single atom type, only a single -entry is required, e.g. - -pair_coeff 1 1 1 0.25 :pre - -For a simulation with two atom types, four pair_coeff commands will -specify all possible nu values: - -pair_coeff 1 1 1 nu1 -pair_coeff 1 1 2 nu2 -pair_coeff 1 2 2 nu3 -pair_coeff 2 2 2 nu4 :pre - -For a simulation with three atom types, ten pair_coeff commands will -specify all possible nu values: - -pair_coeff 1 1 1 nu1 -pair_coeff 1 1 2 nu2 -pair_coeff 1 1 3 nu3 -pair_coeff 1 2 2 nu4 -pair_coeff 1 2 3 nu5 -pair_coeff 1 3 3 nu6 -pair_coeff 2 2 2 nu7 -pair_coeff 2 2 3 nu8 -pair_coeff 2 3 3 nu9 -pair_coeff 3 3 3 nu10 :pre - -By default the nu value for all triplets is set to 0.0. Thus it is -not required to provide pair_coeff commands that enumerate triplet -interactions for all K types. If some I,J,K combination is not -specified, then there will be no 3-body ATM interactions for that -combination and all its permutations. However, as with all pair -styles, it is required to specify a pair_coeff command for all I,J -combinations, else an error will result. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair styles do not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. -However, if the {atm} potential is used in combination with other -potentials using the "pair_style hybrid/overlay"_pair_hybrid.html -command then pair_coeff commands need to be re-specified -in the restart input script. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Axilrod) -[(Axilrod)] -Axilrod and Teller, J Chem Phys, 11, 299 (1943); -Muto, Nippon Sugaku-Buturigakkwaishi 17, 629 (1943). diff --git a/doc/txt/pair_awpmd.txt b/doc/txt/pair_awpmd.txt deleted file mode 100644 index 4401f5b70618b924bc6d1da95b21f9518400bf4a..0000000000000000000000000000000000000000 --- a/doc/txt/pair_awpmd.txt +++ /dev/null @@ -1,123 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style awpmd/cut command :h3 - -[Syntax:] - -pair_style awpmd/cut Rc keyword value ... :pre - -Rc = global cutoff, -1 means cutoff of half the shortest box length :ulb,l -zero or more keyword/value pairs may be appended :l -keyword = {hartree} or {dproduct} or {uhf} or {free} or {pbc} or {fix} or {harm} or {ermscale} or {flex_press} :l - {hartree} value = none - {dproduct} value = none - {uhf} value = none - {free} value = none - {pbc} value = Plen - Plen = periodic width of electron = -1 or positive value (distance units) - {fix} value = Flen - Flen = fixed width of electron = -1 or positive value (distance units) - {harm} value = width - width = harmonic width constraint - {ermscale} value = factor - factor = scaling between electron mass and width variable mass - {flex_press} value = none :pre -:ule - - -[Examples:] - -pair_style awpmd/cut -1 -pair_style awpmd/cut 40.0 uhf free -pair_coeff * * -pair_coeff 2 2 20.0 :pre - -[Description:] - -This pair style contains an implementation of the Antisymmetrized Wave -Packet Molecular Dynamics (AWPMD) method. Need citation here. Need -basic formulas here. Could be links to other documents. - -Rc is the cutoff. - -The pair_style command allows for several optional keywords -to be specified. - -The {hartree}, {dproduct}, and {uhf} keywords specify the form of the -initial trial wave function for the system. If the {hartree} keyword -is used, then a Hartree multielectron trial wave function is used. If -the {dproduct} keyword is used, then a trial function which is a -product of two determinants for each spin type is used. If the {uhf} -keyword is used, then an unrestricted Hartree-Fock trial wave function -is used. - -The {free}, {pbc}, and {fix} keywords specify a width constraint on -the electron wave packets. If the {free} keyword is specified, then there is no -constraint. If the {pbc} keyword is used and {Plen} is specified as --1, then the maximum width is half the shortest box length. If {Plen} -is a positive value, then the value is the maximum width. If the -{fix} keyword is used and {Flen} is specified as -1, then electrons -have a constant width that is read from the data file. If {Flen} is a -positive value, then the constant width for all electrons is set to -{Flen}. - -The {harm} keyword allow oscillations in the width of the -electron wave packets. More details are needed. - -The {ermscale} keyword specifies a unitless scaling factor -between the electron masses and the width variable mass. More -details needed. - -If the {flex_press} keyword is used, then a contribution from the -electrons is added to the total virial and pressure of the system. - -This potential is designed to be used with "atom_style -wavepacket"_atom_style.html definitions, in order to handle the -description of systems with interacting nuclei and explicit electrons. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -cutoff (distance units) :ul - -For {awpmd/cut}, the cutoff coefficient is optional. If it is not -used (as in some of the examples above), the default global value -specified in the pair_style command is used. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -The "pair_modify"_pair_modify.html mix, shift, table, and tail options -are not relevant for this pair style. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] - -These are the defaults for the pair_style keywords: {hartree} for the -initial wave function, {free} for the wave packet width. - diff --git a/doc/txt/pair_beck.txt b/doc/txt/pair_beck.txt deleted file mode 100644 index af60041ff98b6a14e0bc84117a14082691a071b0..0000000000000000000000000000000000000000 --- a/doc/txt/pair_beck.txt +++ /dev/null @@ -1,108 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style beck command :h3 -pair_style beck/gpu command :h3 -pair_style beck/omp command :h3 - -[Syntax:] - -pair_style beck Rc :pre - -Rc = cutoff for interactions (distance units) :ul - -[Examples:] - -pair_style beck 8.0 -pair_coeff * * 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 -pair_coeff 1 1 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 6.0 :pre - -[Description:] - -Style {beck} computes interactions based on the potential by -"(Beck)"_#Beck, originally designed for simulation of Helium. It -includes truncation at a cutoff distance Rc. - -:c,image(Eqs/pair_beck.jpg) - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands. - -A (energy units) -B (energy-distance^6 units) -a (distance units) -alpha (1/distance units) -beta (1/distance^6 units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global cutoff -Rc is used. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, coefficients must be specified. -No default mixing rules are used. - -This pair style does not support the "pair_modify"_pair_modify.html shift -option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Beck) -[(Beck)] Beck, Molecular Physics, 14, 311 (1968). diff --git a/doc/txt/pair_body_nparticle.txt b/doc/txt/pair_body_nparticle.txt deleted file mode 100644 index 7d841119ca55247afc7d2c2ba198f70d11f3a2fc..0000000000000000000000000000000000000000 --- a/doc/txt/pair_body_nparticle.txt +++ /dev/null @@ -1,117 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style body/nparticle command :h3 - -[Syntax:] - -pair_style body/nparticle cutoff :pre - -cutoff = global cutoff for interactions (distance units) - -[Examples:] - -pair_style body/nparticle 3.0 -pair_coeff * * 1.0 1.0 -pair_coeff 1 1 1.0 1.5 2.5 :pre - -[Description:] - -Style {body/nparticle} is for use with body particles and calculates -pairwise body/body interactions as well as interactions between body -and point-particles. See the "Howto body"_Howto_body.html doc page -for more details on using body particles. - -This pair style is designed for use with the "nparticle" body style, -which is specified as an argument to the "atom-style body" command. -See the "Howto body"_Howto_body.html doc page for more details about -the body styles LAMMPS supports. The "nparticle" style treats a body -particle as a rigid body composed of N sub-particles. - -The coordinates of a body particle are its center-of-mass (COM). If -the COMs of a pair of body particles are within the cutoff (global or -type-specific, as specified above), then all interactions between -pairs of sub-particles in the two body particles are computed. -E.g. if the first body particle has 3 sub-particles, and the second -has 10, then 30 interactions are computed and summed to yield the -total force and torque on each body particle. - -NOTE: In the example just described, all 30 interactions are computed -even if the distance between a particular pair of sub-particles is -greater than the cutoff. Likewise, no interaction between two body -particles is computed if the two COMs are further apart than the -cutoff, even if the distance between some pairs of their sub-particles -is within the cutoff. Thus care should be used in defining the cutoff -distances for body particles, depending on their shape and size. - -Similar rules apply for a body particle interacting with a point -particle. The distance between the two particles is calculated using -the COM of the body particle and the position of the point particle. -If the distance is within the cutoff and the body particle has N -sub-particles, then N interactions with the point particle are -computed and summed. If the distance is not within the cutoff, no -interactions between the body and point particle are computed. - -The interaction between two sub-particles, or a sub-particle and point -particle, or between two point particles is computed as a Lennard-Jones -interaction, using the standard formula - -:c,image(Eqs/pair_lj.jpg) - -where Rc is the cutoff. As explained above, an interaction involving -one or two body sub-particles may be computed even for r > Rc. - -For style {body}, the following coefficients must be defined for each -pair of atoms types via the "pair_coeff"_pair_coeff.html command as in -the examples above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -epsilon (energy units) -sigma (distance units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global cutoff -is used. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of this pair style can be mixed. The -default mix value is {geometric}. See the "pair_modify" command for -details. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This style is part of the BODY package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Defining particles to be bodies so they participate in body/body or -body/particle interactions requires the use of the "atom_style -body"_atom_style.html command. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix rigid"_fix_rigid.html - -[Default:] none diff --git a/doc/txt/pair_body_rounded_polygon.txt b/doc/txt/pair_body_rounded_polygon.txt deleted file mode 100644 index fc07d8faddc61a91dcba3cbcf32eb36211df8cff..0000000000000000000000000000000000000000 --- a/doc/txt/pair_body_rounded_polygon.txt +++ /dev/null @@ -1,133 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style body/rounded/polygon command :h3 - -[Syntax:] - -pair_style body/rounded/polygon c_n c_t mu delta_ua cutoff :pre - -c_n = normal damping coefficient -c_t = tangential damping coefficient -mu = normal friction coefficient during gross sliding -delta_ua = multiple contact scaling factor -cutoff = global separation cutoff for interactions (distance units), see below for definition :pre - -[Examples:] - -pair_style body/rounded/polygon 20.0 5.0 0.0 1.0 0.5 -pair_coeff * * 100.0 1.0 -pair_coeff 1 1 100.0 1.0 :pre - -[Description:] - -Style {body/rounded/polygon} is for use with 2d models of body -particles of style {rounded/polygon}. It calculates pairwise -body/body interactions which can include body particles modeled as -1-vertex circular disks with a specified diameter. See the "Howto -body"_Howto_body.html doc page for more details on using body -rounded/polygon particles. - -This pairwise interaction between rounded polygons is described in -"Fraige"_#pair-Fraige, where a polygon does not have sharp corners, -but is rounded at its vertices by circles centered on each vertex with -a specified diameter. The edges of the polygon are defined between -pairs of adjacent vertices. The circle diameter for each polygon is -specified in the data file read by the "read data"_read_data.html -command. This is a 2d discrete element model (DEM) which allows for -multiple contact points. - -Note that when two particles interact, the effective surface of each -polygon particle is displaced outward from each of its vertices and -edges by half its circle diameter (as in the diagram below of a gray -and yellow square particle). The interaction forces and energies -between two particles are defined with respect to the separation of -their respective rounded surfaces, not by the separation of the -vertices and edges themselves. - -This means that the specified cutoff in the pair_style command is the -cutoff distance, r_c, for the surface separation, \delta_n (see figure -below). This is the distance at which two particles no longer -interact. If r_c is specified as 0.0, then it is a contact-only -interaction. I.e. the two particles must overlap in order to exert a -repulsive force on each other. If r_c > 0.0, then the force between -two particles will be attractive for surface separations from 0 to -r_c, and repulsive once the particles overlap. - -Note that unlike for other pair styles, the specified cutoff is not -the distance between the centers of two particles at which they stop -interacting. This center-to-center distance depends on the shape and -size of the two particles and their relative orientation. LAMMPS -takes that into account when computing the surface separation distance -and applying the r_c cutoff. - -The forces between vertex-vertex, vertex-edge, and edge-edge overlaps -are given by: - -:c,image(Eqs/pair_body_rounded.jpg) - -:c,image(JPG/pair_body_rounded.jpg) - -Note that F_n and F_t are functions of the surface separation \delta_n -= d - (R_i + R_j). In this model, when (R_i + R_j) < d < (R_i + R_j) -+ r_c, that is, 0 < \delta_n < r_c, the cohesive region of the two -surfaces overlap and the two surfaces are attractive to each other. - -In "Fraige"_#pair-Fraige, the tangential friction force between two -particles that are in contact is modeled differently prior to gross -sliding (i.e. static friction) and during gross-sliding (kinetic -friction). The latter takes place when the tangential deformation -exceeds the Coulomb frictional limit. In the current implementation, -however, we do not take into account frictional history, i.e. we do -not keep track of how many time steps the two particles have been in -contact nor calculate the tangential deformation. Instead, we assume -that gross sliding takes place as soon as two particles are in -contact. - -The following coefficients must be defined for each pair of atom types -via the "pair_coeff"_pair_coeff.html command as in the examples above, -or in the data file read by the "read_data"_read_data.html command: - -k_n (energy/distance^2 units) -k_na (energy/distance^2 units) :ul - -Effectively, k_n and k_na are the slopes of the red lines in the plot -above for force versus surface separation, for \delta_n < 0 and 0 < -\delta_n < r_c respectively. - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -[Restrictions:] - -These pair styles are part of the BODY package. They are only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:link(pair-Fraige) -[(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, -Particuology, 6, 455 (2008). diff --git a/doc/txt/pair_body_rounded_polyhedron.txt b/doc/txt/pair_body_rounded_polyhedron.txt deleted file mode 100644 index e650e5138ac456a405448f1476e29ec5cf7e754a..0000000000000000000000000000000000000000 --- a/doc/txt/pair_body_rounded_polyhedron.txt +++ /dev/null @@ -1,129 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style body/rounded/polyhedron command :h3 - -[Syntax:] - -pair_style body/rounded/polyhedron c_n c_t mu delta_ua cutoff :pre - -c_n = normal damping coefficient -c_t = tangential damping coefficient -mu = normal friction coefficient during gross sliding -delta_ua = multiple contact scaling factor -cutoff = global separation cutoff for interactions (distance units), see below for definition :pre - -[Examples:] - -pair_style body/rounded/polyhedron 20.0 5.0 0.0 1.0 0.5 -pair_coeff * * 100.0 1.0 -pair_coeff 1 1 100.0 1.0 :pre - -[Description:] - -Style {body/rounded/polygon} is for use with 3d models of body -particles of style {rounded/polyhedron}. It calculates pairwise -body/body interactions which can include body particles modeled as -1-vertex spheres with a specified diameter. See the "Howto -body"_Howto_body.html doc page for more details on using body -rounded/polyhedron particles. - -This pairwise interaction between the rounded polyhedra is described -in "Wang"_#pair-Wang, where a polyhedron does not have sharp corners -and edges, but is rounded at its vertices and edges by spheres -centered on each vertex with a specified diameter. The edges if the -polyhedron are defined between pairs of adjacent vertices. Its faces -are defined by a loop of edges. The sphere diameter for each polygon -is specified in the data file read by the "read data"_read_data.html -command. This is a discrete element model (DEM) which allows for -multiple contact points. - -Note that when two particles interact, the effective surface of each -polyhedron particle is displaced outward from each of its vertices, -edges, and faces by half its sphere diameter. The interaction forces -and energies between two particles are defined with respect to the -separation of their respective rounded surfaces, not by the separation -of the vertices, edges, and faces themselves. - -This means that the specified cutoff in the pair_style command is the -cutoff distance, r_c, for the surface separation, \delta_n (see figure -below). This is the distance at which two particles no longer -interact. If r_c is specified as 0.0, then it is a contact-only -interaction. I.e. the two particles must overlap in order to exert a -repulsive force on each other. If r_c > 0.0, then the force between -two particles will be attractive for surface separations from 0 to -r_c, and repulsive once the particles overlap. - -Note that unlike for other pair styles, the specified cutoff is not -the distance between the centers of two particles at which they stop -interacting. This center-to-center distance depends on the shape and -size of the two particles and their relative orientation. LAMMPS -takes that into account when computing the surface separation distance -and applying the r_c cutoff. - -The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge, -and edge-face overlaps are given by: - -:c,image(Eqs/pair_body_rounded.jpg) - -:c,image(JPG/pair_body_rounded.jpg) - -In "Wang"_#pair-Wang, the tangential friction force between two -particles that are in contact is modeled differently prior to gross -sliding (i.e. static friction) and during gross-sliding (kinetic -friction). The latter takes place when the tangential deformation -exceeds the Coulomb frictional limit. In the current implementation, -however, we do not take into account frictional history, i.e. we do -not keep track of how many time steps the two particles have been in -contact nor calculate the tangential deformation. Instead, we assume -that gross sliding takes place as soon as two particles are in -contact. - -The following coefficients must be defined for each pair of atom types -via the "pair_coeff"_pair_coeff.html command as in the examples above, -or in the data file read by the "read_data"_read_data.html command: - -k_n (energy/distance^2 units) -k_na (energy/distance^2 units) :ul - -Effectively, k_n and k_na are the slopes of the red lines in the plot -above for force versus surface separation, for \delta_n < 0 and 0 < -\delta_n < r_c respectively. - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -[Restrictions:] - -These pair styles are part of the BODY package. They are only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:link(pair-Wang) -[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular -Matter, 13, 1 (2011). - diff --git a/doc/txt/pair_bop.txt b/doc/txt/pair_bop.txt deleted file mode 100644 index ef6fff29636815cbd63ad43c5a8964a08b39a257..0000000000000000000000000000000000000000 --- a/doc/txt/pair_bop.txt +++ /dev/null @@ -1,428 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style bop command :h3 - -[Syntax:] - -pair_style bop keyword ... :pre - -zero or more keywords may be appended :l -keyword = {save} :l - save = pre-compute and save some values :pre -:ule - -[Examples:] - -pair_style bop -pair_coeff * * ../potentials/CdTe_bop Cd Te -pair_style bop save -pair_coeff * * ../potentials/CdTe.bop.table Cd Te Te -comm_modify cutoff 14.70 :pre - -[Description:] - -The {bop} pair style computes Bond-Order Potentials (BOP) based on -quantum mechanical theory incorporating both sigma and pi bonding. -By analytically deriving the BOP from quantum mechanical theory its -transferability to different phases can approach that of quantum -mechanical methods. This potential is similar to the original BOP -developed by Pettifor ("Pettifor_1"_#Pettifor_1, -"Pettifor_2"_#Pettifor_2, "Pettifor_3"_#Pettifor_3) and later updated -by Murdick, Zhou, and Ward ("Murdick"_#Murdick, "Ward"_#Ward). -Currently, BOP potential files for these systems are provided with -LAMMPS: AlCu, CCu, CdTe, CdTeSe, CdZnTe, CuH, GaAs. A system with -only a subset of these elements, including a single element (e.g. C or -Cu or Al or Ga or Zn or CdZn), can also be modeled by using the -appropriate alloy file and assigning all atom types to the -single element or subset of elements via the pair_coeff command, as -discussed below. - -The BOP potential consists of three terms: - -:c,image(Eqs/pair_bop.jpg) - -where phi_ij(r_ij) is a short-range two-body function representing the -repulsion between a pair of ion cores, beta_(sigma,ij)(r_ij) and -beta_(sigma,ij)(r_ij) are respectively sigma and pi bond integrals, -THETA_(sigma,ij) and THETA_(pi,ij) are sigma and pi bond-orders, and -U_prom is the promotion energy for sp-valent systems. - -The detailed formulas for this potential are given in Ward -("Ward"_#Ward); here we provide only a brief description. - -The repulsive energy phi_ij(r_ij) and the bond integrals -beta_(sigma,ij)(r_ij) and beta_(phi,ij)(r_ij) are functions of the -interatomic distance r_ij between atom i and j. Each of these -potentials has a smooth cutoff at a radius of r_(cut,ij). These -smooth cutoffs ensure stable behavior at situations with high sampling -near the cutoff such as melts and surfaces. - -The bond-orders can be viewed as environment-dependent local variables -that are ij bond specific. The maximum value of the sigma bond-order -(THETA_sigma) is 1, while that of the pi bond-order (THETA_pi) is 2, -attributing to a maximum value of the total bond-order -(THETA_sigma+THETA_pi) of 3. The sigma and pi bond-orders reflect the -ubiquitous single-, double-, and triple- bond behavior of -chemistry. Their analytical expressions can be derived from tight- -binding theory by recursively expanding an inter-site Green's function -as a continued fraction. To accurately represent the bonding with a -computationally efficient potential formulation suitable for MD -simulations, the derived BOP only takes (and retains) the first two -levels of the recursive representations for both the sigma and the pi -bond-orders. Bond-order terms can be understood in terms of molecular -orbital hopping paths based upon the Cyrot-Lackmann theorem -("Pettifor_1"_#Pettifor_1). The sigma bond-order with a half-full -valence shell is used to interpolate the bond-order expression that -incorporated explicit valance band filling. This pi bond-order -expression also contains also contains a three-member ring term that -allows implementation of an asymmetric density of states, which helps -to either stabilize or destabilize close-packed structures. The pi -bond-order includes hopping paths of length 4. This enables the -incorporation of dihedral angles effects. - -NOTE: Note that unlike for other potentials, cutoffs for BOP -potentials are not set in the pair_style or pair_coeff command; they -are specified in the BOP potential files themselves. Likewise, the -BOP potential files list atomic masses; thus you do not need to use -the "mass"_mass.html command to specify them. Note that for BOP -potentials with hydrogen, you will likely want to set the mass of H -atoms to be 10x or 20x larger to avoid having to use a tiny timestep. -You can do this by using the "mass"_mass.html command after using the -"pair_coeff"_pair_coeff.html command to read the BOP potential -file. - -One option can be specified as a keyword with the pair_style command. - -The {save} keyword gives you the option to calculate in advance and -store a set of distances, angles, and derivatives of angles. The -default is to not do this, but to calculate them on-the-fly each time -they are needed. The former may be faster, but takes more memory. -The latter requires less memory, but may be slower. It is best to -test this option to optimize the speed of BOP for your particular -system configuration. - -:line - -Only a single pair_coeff command is used with the {bop} style which -specifies a BOP potential file, with parameters for all needed -elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of BOP elements to atom types :ul - -As an example, imagine the CdTe.bop file has BOP values for Cd -and Te. If your LAMMPS simulation has 4 atoms types and you want the -1st 3 to be Cd, and the 4th to be Te, you would use the following -pair_coeff command: - -pair_coeff * * CdTe Cd Cd Cd Te :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The first three Cd arguments map LAMMPS atom types 1,2,3 to the Cd -element in the BOP file. The final Te argument maps LAMMPS atom type -4 to the Te element in the BOP file. - -BOP files in the {potentials} directory of the LAMMPS distribution -have a ".bop" suffix. The potentials are in tabulated form containing -pre-tabulated pair functions for phi_ij(r_ij), beta_(sigma,ij)(r_ij), -and beta_pi,ij)(r_ij). - -The parameters/coefficients format for the different kinds of BOP -files are given below with variables matching the formulation of Ward -("Ward"_#Ward) and Zhou ("Zhou"_#Zhou1). Each header line containing a -":" is preceded by a blank line. - - -:line - -[No angular table file format]: - -The parameters/coefficients format for the BOP potentials input file -containing pre-tabulated functions of g is given below with variables -matching the formulation of Ward ("Ward"_#Ward). This format also -assumes the angular functions have the formulation of ("Ward"_#Ward). - -Line 1: # elements N :ul - -The first line is followed by N lines containing the atomic -number, mass, and element symbol of each element. - -Following the definition of the elements several global variables for -the tabulated functions are given. - -Line 1: nr, nBOt (nr is the number of divisions the radius is broken -into for function tables and MUST be a factor of 5; nBOt is the number -of divisions for the tabulated values of THETA_(S,ij) :ulb,l -Line 2: delta_1-delta_7 (if all are not used in the particular :l -formulation, set unused values to 0.0) :l -:ule - -Following this N lines for e_1-e_N containing p_pi. - -Line 3: p_pi (for e_1) -Line 4: p_pi (for e_2 and continues to e_N) :ul - -The next section contains several pair constants for the number of -interaction types e_i-e_j, with i=1->N, j=i->N - -Line 1: r_cut (for e_1-e_1 interactions) :ulb,l -Line 2: c_sigma, a_sigma, c_pi, a_pi :l -Line 3: delta_sigma, delta_pi :l -Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of -the previous section but is interaction type dependent) :l -:ule - -The next section contains a line for each three body interaction type -e_j-e_i-e_k with i=0->N, j=0->N, k=j->N - -Line 1: g_(sigma0), g_(sigma1), g_(sigma2) (These are coefficients for -g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. "Ward"_#Ward -contains the full expressions for the constants as functions of -b_(sigma,ijk), p_(sigma,ijk), u_(sigma,ijk)) :ulb,l -Line 2: g_(sigma0), g_(sigma1), g_(sigma2) (for e_1-e_1-e_2) :l -:ule - -The next section contains a block for each interaction type for the -phi_ij(r_ij). Each block has nr entries with 5 entries per line. - -Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e_1-e_1 -interaction type) :ulb,l -Line 2: phi(r6), phi(r7), phi(r8), phi(r9), phi(r10) (this continues -until nr) :l -... :l -Line nr/5_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the -e_1-e_1 interaction type) :l -:ule - -The next section contains a block for each interaction type for the -beta_(sigma,ij)(r_ij). Each block has nr entries with 5 entries per -line. - -Line 1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), beta_sigma(r4), -beta_sigma(r5) (for the e_1-e_1 interaction type) :ulb,l -Line 2: beta_sigma(r6), beta_sigma(r7), beta_sigma(r8), beta_sigma(r9), -beta_sigma(r10) (this continues until nr) :l -... :l -Line nr/5+1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), -beta_sigma(r4), beta_sigma(r5) (for the e_1-e_2 interaction type) :l -:ule - -The next section contains a block for each interaction type for -beta_(pi,ij)(r_ij). Each block has nr entries with 5 entries per line. - -Line 1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), beta_pi(r5) -(for the e_1-e_1 interaction type) :ulb,l -Line 2: beta_pi(r6), beta_pi(r7), beta_pi(r8), beta_pi(r9), -beta_pi(r10) (this continues until nr) :l -... :l -Line nr/5+1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), -beta_pi(r5) (for the e_1-e_2 interaction type) :l -:ule - -The next section contains a block for each interaction type for the -THETA_(S,ij)((THETA_(sigma,ij))^(1/2), f_(sigma,ij)). Each block has -nBOt entries with 5 entries per line. - -Line 1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), -THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) :ulb,l -Line 2: THETA_(S,ij)(r6), THETA_(S,ij)(r7), THETA_(S,ij)(r8), -THETA_(S,ij)(r9), THETA_(S,ij)(r10) (this continues until nBOt) :l -... :l -Line nBOt/5+1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), -THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) :l -:ule - -The next section contains a block of N lines for e_1-e_N - -Line 1: delta^mu (for e_1) -Line 2: delta^mu (for e_2 and repeats to e_N) :ul - -The last section contains more constants for e_i-e_j interactions with -i=0->N, j=i->N - -Line 1: (A_ij)^(mu*nu) (for e1-e1) -Line 2: (A_ij)^(mu*nu) (for e1-e2 and repeats as above) :ul - -:line - -[Angular spline table file format]: - -The parameters/coefficients format for the BOP potentials input file -containing pre-tabulated functions of g is given below with variables -matching the formulation of Ward ("Ward"_#Ward). This format also -assumes the angular functions have the formulation of ("Zhou"_#Zhou1). - -Line 1: # elements N :ul - -The first line is followed by N lines containing the atomic -number, mass, and element symbol of each element. - -Following the definition of the elements several global variables for -the tabulated functions are given. - -Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken -into for function tables and MUST be a factor of 5; ntheta is the power of the -power of the spline used to fit the angular function; nBOt is the number -of divisions for the tabulated values of THETA_(S,ij) :ulb,l -Line 2: delta_1-delta_7 (if all are not used in the particular :l -formulation, set unused values to 0.0) :l -:ule - -Following this N lines for e_1-e_N containing p_pi. - -Line 3: p_pi (for e_1) -Line 4: p_pi (for e_2 and continues to e_N) :ul - -The next section contains several pair constants for the number of -interaction types e_i-e_j, with i=1->N, j=i->N - -Line 1: r_cut (for e_1-e_1 interactions) :ulb,l -Line 2: c_sigma, a_sigma, c_pi, a_pi :l -Line 3: delta_sigma, delta_pi :l -Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of -the previous section but is interaction type dependent) :l -:ule - -The next section contains a line for each three body interaction type -e_j-e_i-e_k with i=0->N, j=0->N, k=j->N - -Line 1: g0, g1, g2... (These are coefficients for the angular spline -of the g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. The -function can contain up to 10 term thus 10 constants. The first line -can contain up to five constants. If the spline has more than five -terms the second line will contain the remaining constants The -following lines will then contain the constants for the remaining g0, -g1, g2... (for e_1-e_1-e_2) and the other three body -interactions :l -:ule - -The rest of the table has the same structure as the previous section -(see above). - -:line - -[Angular no-spline table file format]: - -The parameters/coefficients format for the BOP potentials input file -containing pre-tabulated functions of g is given below with variables -matching the formulation of Ward ("Ward"_#Ward). This format also -assumes the angular functions have the formulation of ("Zhou"_#Zhou1). - -Line 1: # elements N :ul - -The first two lines are followed by N lines containing the atomic -number, mass, and element symbol of each element. - -Following the definition of the elements several global variables for -the tabulated functions are given. - -Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken -into for function tables and MUST be a factor of 5; ntheta is the number of -divisions for the tabulated values of the g angular function; nBOt is the number -of divisions for the tabulated values of THETA_(S,ij) :ulb,l -Line 2: delta_1-delta_7 (if all are not used in the particular :l -formulation, set unused values to 0.0) :l -:ule - -Following this N lines for e_1-e_N containing p_pi. - -Line 3: p_pi (for e_1) -Line 4: p_pi (for e_2 and continues to e_N) :ul - -The next section contains several pair constants for the number of -interaction types e_i-e_j, with i=1->N, j=i->N - -Line 1: r_cut (for e_1-e_1 interactions) :ulb,l -Line 2: c_sigma, a_sigma, c_pi, a_pi :l -Line 3: delta_sigma, delta_pi :l -Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of -the previous section but is interaction type dependent) :l -:ule - -The next section contains a line for each three body interaction type -e_j-e_i-e_k with i=0->N, j=0->N, k=j->N - -Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e_1-e_1-e_1 -interaction type) :ulb,l -Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues -until ntheta) :l -... :l -Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the -e_1-e_1-e_2 interaction type) :l -:ule - -The rest of the table has the same structure as the previous section (see above). - -:line - -[Mixing, shift, table tail correction, restart]: - -This pair style does not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -These pair styles are part of the MANYBODY package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -These pair potentials require the "newtion"_newton.html setting to be -"on" for pair interactions. - -The CdTe.bop and GaAs.bop potential files provided with LAMMPS (see the -potentials directory) are parameterized for metal "units"_units.html. -You can use the BOP potential with any LAMMPS units, but you would need -to create your own BOP potential file with coefficients listed in the -appropriate units if your simulation does not use "metal" units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] - -non-tabulated potential file, a_0 is non-zero. - -:line - -:link(Pettifor_1) -[(Pettifor_1)] D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 59, 8487 -(1999). - -:link(Pettifor_2) -[(Pettifor_2)] D.G. Pettifor and I.I. Oleinik, Phys. Rev. Lett., 84, -4124 (2000). - -:link(Pettifor_3) -[(Pettifor_3)] D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 65, 172103 -(2002). - -:link(Murdick) -[(Murdick)] D.A. Murdick, X.W. Zhou, H.N.G. Wadley, D. Nguyen-Manh, R. -Drautz, and D.G. Pettifor, Phys. Rev. B, 73, 45206 (2006). - -:link(Ward) -[(Ward)] D.K. Ward, X.W. Zhou, B.M. Wong, F.P. Doty, and J.A. -Zimmerman, Phys. Rev. B, 85,115206 (2012). - -:link(Zhou1) -[(Zhou)] X.W. Zhou, D.K. Ward, M. Foster (TBP). diff --git a/doc/txt/pair_born.txt b/doc/txt/pair_born.txt deleted file mode 100644 index d12cea79a64bab2cd1062a4ac9f68b1a72042518..0000000000000000000000000000000000000000 --- a/doc/txt/pair_born.txt +++ /dev/null @@ -1,194 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style born command :h3 -pair_style born/omp command :h3 -pair_style born/gpu command :h3 -pair_style born/coul/long command :h3 -pair_style born/coul/long/gpu command :h3 -pair_style born/coul/long/omp command :h3 -pair_style born/coul/msm command :h3 -pair_style born/coul/msm/omp command :h3 -pair_style born/coul/wolf command :h3 -pair_style born/coul/wolf/gpu command :h3 -pair_style born/coul/wolf/omp command :h3 -pair_style born/coul/dsf command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {born} or {born/coul/long} or {born/coul/msm} or {born/coul/wolf} -args = list of arguments for a particular style :ul - {born} args = cutoff - cutoff = global cutoff for non-Coulombic interactions (distance units) - {born/coul/long} args = cutoff (cutoff2) - cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {born/coul/msm} args = cutoff (cutoff2) - cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {born/coul/wolf} args = alpha cutoff (cutoff2) - alpha = damping parameter (inverse distance units) - cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {born/coul/dsf} args = alpha cutoff (cutoff2) - alpha = damping parameter (inverse distance units) - cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (distance units) :pre - -[Examples:] - -pair_style born 10.0 -pair_coeff * * 6.08 0.317 2.340 24.18 11.51 -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 :pre - -pair_style born/coul/long 10.0 -pair_style born/coul/long 10.0 8. -pair_coeff * * 6.08 0.317 2.340 24.18 11.51 -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 :pre - -pair_style born/coul/msm 10.0 -pair_style born/coul/msm 10.0 8.0 -pair_coeff * * 6.08 0.317 2.340 24.18 11.51 -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 :pre - -pair_style born/coul/wolf 0.25 10.0 -pair_style born/coul/wolf 0.25 10.0 9.0 -pair_coeff * * 6.08 0.317 2.340 24.18 11.51 -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 :pre - -pair_style born/coul/dsf 0.1 10.0 12.0 -pair_coeff * * 0.0 1.00 0.00 0.00 0.00 -pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 :pre - -[Description:] - -The {born} style computes the Born-Mayer-Huggins or Tosi/Fumi -potential described in "(Fumi and Tosi)"_#FumiTosi, given by - -:c,image(Eqs/pair_born.jpg) - -where sigma is an interaction-dependent length parameter, rho is an -ionic-pair dependent length parameter, and Rc is the cutoff. - -The styles with {coul/long} or {coul/msm} add a Coulombic term as -described for the "lj/cut"_pair_lj.html pair styles. An additional -damping factor is applied to the Coulombic term so it can be used in -conjunction with the "kspace_style"_kspace_style.html command and its -{ewald} or {pppm} of {msm} option. The Coulombic cutoff specified for -this style means that pairwise interactions within this distance are -computed directly; interactions outside that distance are computed in -reciprocal space. - -If one cutoff is specified for the {born/coul/long} and -{born/coul/msm} style, it is used for both the A,C,D and Coulombic -terms. If two cutoffs are specified, the first is used as the cutoff -for the A,C,D terms, and the second is the cutoff for the Coulombic -term. - -The {born/coul/wolf} style adds a Coulombic term as described for the -Wolf potential in the "coul/wolf"_pair_coul.html pair style. - -The {born/coul/dsf} style computes the Coulomb contribution with the -damped shifted force model as in the "coul/dsf"_pair_coul.html style. - -Note that these potentials are related to the "Buckingham -potential"_pair_buck.html. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -A (energy units) -rho (distance units) -sigma (distance units) -C (energy units * distance units^6) -D (energy units * distance units^8) -cutoff (distance units) :ul - -The second coefficient, rho, must be greater than zero. - -The last coefficient is optional. If not specified, the global A,C,D -cutoff specified in the pair_style command is used. - -For {born/coul/long}, {born/coul/wolf} and {born/coul/dsf} no -Coulombic cutoff can be specified for an individual I,J type pair. -All type pairs use the same global Coulombic cutoff specified in the -pair_style command. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -These styles support the "pair_modify"_pair_modify.html shift option -for the energy of the exp(), 1/r^6, and 1/r^8 portion of the pair -interaction. - -The {born/coul/long} pair style supports the -"pair_modify"_pair_modify.html table option to tabulate the -short-range portion of the long-range Coulombic interaction. - -These styles support the pair_modify tail option for adding long-range -tail corrections to energy and pressure. - -Thess styles writes thei information to binary "restart"_restart.html -files, so pair_style and pair_coeff commands do not need to be -specified in an input script that reads a restart file. - -These styles can only be used via the {pair} keyword of the "run_style -respa"_run_style.html command. They do not support the {inner}, -{middle}, {outer} keywords. - -:line - -[Restrictions:] - -The {born/coul/long} style is part of the KSPACE package. It is only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style buck"_pair_buck.html - -[Default:] none - -:line - -:link(FumiTosi) -Fumi and Tosi, J Phys Chem Solids, 25, 31 (1964), -Fumi and Tosi, J Phys Chem Solids, 25, 45 (1964). diff --git a/doc/txt/pair_brownian.txt b/doc/txt/pair_brownian.txt deleted file mode 100644 index 52720daa23f4c67a88e7ce88b43fb23524a4eac5..0000000000000000000000000000000000000000 --- a/doc/txt/pair_brownian.txt +++ /dev/null @@ -1,143 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style brownian command :h3 -pair_style brownian/omp command :h3 -pair_style brownian/poly command :h3 -pair_style brownian/poly/omp command :h3 - -[Syntax:] - -pair_style style mu flaglog flagfld cutinner cutoff t_target seed flagHI flagVF :pre - -style = {brownian} or {brownian/poly} -mu = dynamic viscosity (dynamic viscosity units) -flaglog = 0/1 log terms in the lubrication approximation on/off -flagfld = 0/1 to include/exclude Fast Lubrication Dynamics effects -cutinner = inner cutoff distance (distance units) -cutoff = outer cutoff for interactions (distance units) -t_target = target temp of the system (temperature units) -seed = seed for the random number generator (positive integer) -flagHI (optional) = 0/1 to include/exclude 1/r hydrodynamic interactions -flagVF (optional) = 0/1 to include/exclude volume fraction corrections in the long-range isotropic terms :ul - -[Examples:] - -pair_style brownian 1.5 1 1 2.01 2.5 2.0 5878567 (assuming radius = 1) -pair_coeff 1 1 2.05 2.8 -pair_coeff * * :pre - -[Description:] - -Styles {brownian} and {brownian/poly} compute Brownian forces and -torques on finite-size spherical particles. The former requires -monodisperse spherical particles; the latter allows for polydisperse -spherical particles. - -These pair styles are designed to be used with either the "pair_style -lubricate"_pair_lubricate.html or "pair_style -lubricateU"_pair_lubricateU.html commands to provide thermostatting -when dissipative lubrication forces are acting. Thus the parameters -{mu}, {flaglog}, {flagfld}, {cutinner}, and {cutoff} should be -specified consistent with the settings in the lubrication pair styles. -For details, refer to either of the lubrication pair styles. - -The {t_target} setting is used to specify the target temperature of -the system. The random number {seed} is used to generate random -numbers for the thermostatting procedure. - -The {flagHI} and {flagVF} settings are optional. Neither should be -used, or both must be defined. - -:line - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -cutinner (distance units) -cutoff (distance units) :ul - -The two coefficients are optional. If neither is specified, the two -cutoffs specified in the pair_style command are used. Otherwise both -must be specified. - -: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 "this section"_Speed.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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See "this section"_Speed.html of the manual for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the two cutoff distances for this -pair style can be mixed. The default mix value is {geometric}. See -the "pair_modify" command for details. - -This pair style does not support the "pair_modify"_pair_modify.html -shift option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -These styles are part of the COLLOID package. They are only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Only spherical monodisperse particles are allowed for pair_style -brownian. - -Only spherical particles are allowed for pair_style brownian/poly. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style -lubricate"_pair_lubricate.html, "pair_style -lubricateU"_pair_lubricateU.html - -[Default:] - -The default settings for the optional args are flagHI = 1 and flagVF = -1. - diff --git a/doc/txt/pair_buck.txt b/doc/txt/pair_buck.txt deleted file mode 100644 index ec83e6b339af4631f1715da351eb98492d1d4871..0000000000000000000000000000000000000000 --- a/doc/txt/pair_buck.txt +++ /dev/null @@ -1,191 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style buck command :h3 -pair_style buck/gpu command :h3 -pair_style buck/intel command :h3 -pair_style buck/kk command :h3 -pair_style buck/omp command :h3 -pair_style buck/coul/cut command :h3 -pair_style buck/coul/cut/gpu command :h3 -pair_style buck/coul/cut/intel command :h3 -pair_style buck/coul/cut/kk command :h3 -pair_style buck/coul/cut/omp command :h3 -pair_style buck/coul/long command :h3 -pair_style buck/coul/long/gpu command :h3 -pair_style buck/coul/long/intel command :h3 -pair_style buck/coul/long/kk command :h3 -pair_style buck/coul/long/omp command :h3 -pair_style buck/coul/msm command :h3 -pair_style buck/coul/msm/omp command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {buck} or {buck/coul/cut} or {buck/coul/long} or {buck/coul/msm} -args = list of arguments for a particular style :ul - {buck} args = cutoff - cutoff = global cutoff for Buckingham interactions (distance units) - {buck/coul/cut} args = cutoff (cutoff2) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {buck/coul/long} args = cutoff (cutoff2) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {buck/coul/msm} args = cutoff (cutoff2) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre - -[Examples:] - -pair_style buck 2.5 -pair_coeff * * 100.0 1.5 200.0 -pair_coeff * * 100.0 1.5 200.0 3.0 :pre - -pair_style buck/coul/cut 10.0 -pair_style buck/coul/cut 10.0 8.0 -pair_coeff * * 100.0 1.5 200.0 -pair_coeff 1 1 100.0 1.5 200.0 9.0 -pair_coeff 1 1 100.0 1.5 200.0 9.0 8.0 :pre - -pair_style buck/coul/long 10.0 -pair_style buck/coul/long 10.0 8.0 -pair_coeff * * 100.0 1.5 200.0 -pair_coeff 1 1 100.0 1.5 200.0 9.0 :pre - -pair_style buck/coul/msm 10.0 -pair_style buck/coul/msm 10.0 8.0 -pair_coeff * * 100.0 1.5 200.0 -pair_coeff 1 1 100.0 1.5 200.0 9.0 :pre - -[Description:] - -The {buck} style computes a Buckingham potential (exp/6 instead of -Lennard-Jones 12/6) given by - -:c,image(Eqs/pair_buck.jpg) - -where rho is an ionic-pair dependent length parameter, and Rc is the -cutoff on both terms. - -The styles with {coul/cut} or {coul/long} or {coul/msm} add a -Coulombic term as described for the "lj/cut"_pair_lj.html pair styles. -For {buck/coul/long} and {buc/coul/msm}, an additional damping factor -is applied to the Coulombic term so it can be used in conjunction with -the "kspace_style"_kspace_style.html command and its {ewald} or {pppm} -or {msm} option. The Coulombic cutoff specified for this style means -that pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space. - -If one cutoff is specified for the {born/coul/cut} and -{born/coul/long} and {born/coul/msm} styles, it is used for both the -A,C and Coulombic terms. If two cutoffs are specified, the first is -used as the cutoff for the A,C terms, and the second is the cutoff for -the Coulombic term. - -Note that these potentials are related to the "Born-Mayer-Huggins -potential"_pair_born.html. - -NOTE: For all these pair styles, the terms with A and C are always -cutoff. The additional Coulombic term can be cutoff or long-range (no -cutoff) depending on whether the style name includes coul/cut or -coul/long or coul/msm. If you wish the C/r^6 term to be long-range -(no cutoff), then see the "pair_style -buck/long/coul/long"_pair_buck_long.html command. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -A (energy units) -rho (distance units) -C (energy-distance^6 units) -cutoff (distance units) -cutoff2 (distance units) :ul - -The second coefficient, rho, must be greater than zero. -The coefficients A, rho, and C can be written as analytical expressions -of epsilon and sigma, in analogy to the Lennard-Jones potential -"(Khrapak)"_#Khrapak. - -The latter 2 coefficients are optional. If not specified, the global -A,C and Coulombic cutoffs are used. If only one cutoff is specified, -it is used as the cutoff for both A,C and Coulombic interactions for -this type pair. If both coefficients are specified, they are used as -the A,C and Coulombic cutoffs for this type pair. You cannot specify -2 cutoffs for style {buck}, since it has no Coulombic terms. -For {buck/coul/long} only the LJ cutoff can be specified since a -Coulombic cutoff cannot be specified for an individual I,J type pair. -All type pairs use the same global Coulombic cutoff specified in the -pair_style command. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -These styles support the "pair_modify"_pair_modify.html shift option -for the energy of the exp() and 1/r^6 portion of the pair interaction. - -The {buck/coul/long} pair style supports the -"pair_modify"_pair_modify.html table option to tabulate the -short-range portion of the long-range Coulombic interaction. - -These styles support the pair_modify tail option for adding long-range -tail corrections to energy and pressure for the A,C terms in the -pair interaction. - -These styles write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -These styles can only be used via the {pair} keyword of the "run_style -respa"_run_style.html command. They do not support the {inner}, -{middle}, {outer} keywords. - -[Restrictions:] - -The {buck/coul/long} style is part of the KSPACE package. They are -only enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style born"_pair_born.html - -[Default:] none - -:link(Khrapak) -[(Khrapak)] Khrapak, Chaudhuri, and Morfill, J Chem Phys, 134, 054120 (2011). diff --git a/doc/txt/pair_buck6d_coul_gauss.txt b/doc/txt/pair_buck6d_coul_gauss.txt deleted file mode 100644 index 1f013e91ef7d43abf34f65a3ef7bded40159688d..0000000000000000000000000000000000000000 --- a/doc/txt/pair_buck6d_coul_gauss.txt +++ /dev/null @@ -1,138 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style buck6d/coul/gauss/dsf command :h3 -pair_style buck6d/coul/gauss/long command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {buck6d/coul/gauss/dsf} or {buck6d/coul/gauss/long} -args = list of arguments for a particular style :ul - {buck6d/coul/gauss/dsf} args = smooth cutoff (cutoff2) - smooth = smoothing onset within Buckingham cutoff (ratio) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {buck6d/coul/gauss/long} args = smooth smooth2 cutoff (cutoff2) - smooth = smoothing onset within Buckingham cutoff (ratio) - smooth2 = smoothing onset within Coulombic cutoff (ratio) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre - -[Examples:] - -pair_style buck6d/coul/gauss/dsf 0.9000 12.0000 -pair_coeff 1 1 1030. 3.061 457.179 4.521 0.608 :pre - -pair_style buck6d/coul/gauss/long 0.9000 1.0000 12.0000 -pair_coeff 1 1 1030. 3.061 457.179 4.521 0.608 :pre - -[Description:] - -The {buck6d/coul/gauss} styles evaluate vdW and Coulomb -interactions following the MOF-FF force field after -"(Schmid)"_#Schmid. The vdW term of the {buck6d} styles -computes a dispersion damped Buckingham potential: - -:c,image(Eqs/pair_buck6d.jpg) - -where A and C are a force constant, kappa is an ionic-pair dependent -reciprocal length parameter, D is a dispersion correction parameter, -and the cutoff Rc truncates the interaction distance. -The first term in the potential corresponds to the Buckingham -repulsion term and the second term to the dispersion attraction with -a damping correction analog to the Grimme correction used in DFT. -The latter corrects for artifacts occurring at short distances which -become an issue for soft vdW potentials. - -The {buck6d} styles include a smoothing function which is invoked -according to the global smoothing parameter within the specified -cutoff. Hereby a parameter of i.e. 0.9 invokes the smoothing -within 90% of the cutoff. No smoothing is applied at a value -of 1.0. For the {gauss/dsf} style this smoothing is only applicable -for the dispersion damped Buckingham potential. For the {gauss/long} -styles the smoothing function can also be invoked for the real -space coulomb interactions which enforce continuous energies and -forces at the cutoff. - -Both styles {buck6d/coul/gauss/dsf} and {buck6d/coul/gauss/long} -evaluate a Coulomb potential using spherical Gaussian type charge -distributions which effectively dampen electrostatic interactions -for high charges at close distances. The electrostatic potential -is thus evaluated as: - -:c,image(Eqs/pair_coul_gauss.jpg) - -where C is an energy-conversion constant, Qi and Qj are the -charges on the 2 atoms, epsilon is the dielectric constant which -can be set by the "dielectric"_dielectric.html command, alpha is -ion pair dependent damping parameter and erf() is the error-function. -The cutoff Rc truncates the interaction distance. - -The style {buck6d/coul/gauss/dsf} computes the Coulomb interaction -via the damped shifted force model described in "(Fennell)"_#Fennell -approximating an Ewald sum similar to the "pair coul/dsf"_pair_coul.html -styles. In {buck6d/coul/gauss/long} an additional damping factor is -applied to the Coulombic term so it can be used in conjunction with the -"kspace_style"_kspace_style.html command and its {ewald} or {pppm} -options. The Coulombic cutoff in this case separates the real and -reciprocal space evaluation of the Ewald sum. - -If one cutoff is specified it is used for both the vdW and Coulomb -terms. If two cutoffs are specified, the first is used as the cutoff -for the vdW terms, and the second is the cutoff for the Coulombic term. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -A (energy units) -rho (distance^-1 units) -C (energy-distance^6 units) -D (distance^14 units) -alpha (distance^-1 units) -cutoff (distance units) :ul - -The second coefficient, rho, must be greater than zero. The latter -coefficient is optional. If not specified, the global vdW cutoff -is used. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -These styles do not support the "pair_modify"_pair_modify.html shift -option for the energy. Instead the smoothing function should be applied -by setting the global smoothing parameter to a value < 1.0. - -These styles write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -[Restrictions:] - -These styles are part of the USER-MOFFF package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:link(Schmid) -[(Schmid)] S. Bureekaew, S. Amirjalayer, M. Tafipolsky, C. Spickermann, T.K. Roy and R. Schmid, Phys. Status Solidi B, 6, 1128 (2013). -:link(Fennell) -[(Fennell)] C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, 234104 (2006). diff --git a/doc/txt/pair_buck_long.txt b/doc/txt/pair_buck_long.txt deleted file mode 100644 index ff27f6b0056698f2737ec57afc2e90f47e5da623..0000000000000000000000000000000000000000 --- a/doc/txt/pair_buck_long.txt +++ /dev/null @@ -1,169 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style buck/long/coul/long command :h3 -pair_style buck/long/coul/long/omp command :h3 - -[Syntax:] - -pair_style buck/long/coul/long flag_buck flag_coul cutoff (cutoff2) :pre - -flag_buck = {long} or {cut} :ulb,l - {long} = use Kspace long-range summation for the dispersion term 1/r^6 - {cut} = use a cutoff :pre -flag_coul = {long} or {off} :l - {long} = use Kspace long-range summation for the Coulombic term 1/r - {off} = omit the Coulombic term :pre -cutoff = global cutoff for Buckingham (and Coulombic if only 1 cutoff) (distance units) :l -cutoff2 = global cutoff for Coulombic (optional) (distance units) :l -:ule - -[Examples:] - -pair_style buck/long/coul/long cut off 2.5 -pair_style buck/long/coul/long cut long 2.5 4.0 -pair_style buck/long/coul/long long long 4.0 -pair_coeff * * 1 1 -pair_coeff 1 1 1 3 4 :pre - -[Description:] - -The {buck/long/coul/long} style computes a Buckingham potential (exp/6 -instead of Lennard-Jones 12/6) and Coulombic potential, given by - -:c,image(Eqs/pair_buck.jpg) - -:c,image(Eqs/pair_coulomb.jpg) - -Rc is the cutoff. If one cutoff is specified in the pair_style -command, it is used for both the Buckingham and Coulombic terms. If -two cutoffs are specified, they are used as cutoffs for the Buckingham -and Coulombic terms respectively. - -The purpose of this pair style is to capture long-range interactions -resulting from both attractive 1/r^6 Buckingham and Coulombic 1/r -interactions. This is done by use of the {flag_buck} and {flag_coul} -settings. The "Ismail"_#Ismail paper has more details on when it is -appropriate to include long-range 1/r^6 interactions, using this -potential. - -If {flag_buck} is set to {long}, no cutoff is used on the Buckingham -1/r^6 dispersion term. The long-range portion can be calculated by -using the "kspace_style ewald/disp or pppm/disp"_kspace_style.html -commands. The specified Buckingham cutoff then determines which -portion of the Buckingham interactions are computed directly by the -pair potential versus which part is computed in reciprocal space via -the Kspace style. If {flag_buck} is set to {cut}, the Buckingham -interactions are simply cutoff, as with "pair_style -buck"_pair_buck.html. - -If {flag_coul} is set to {long}, no cutoff is used on the Coulombic -interactions. The long-range portion can calculated by using any of -several "kspace_style"_kspace_style.html command options such as -{pppm} or {ewald}. Note that if {flag_buck} is also set to long, then -the {ewald/disp} or {pppm/disp} Kspace style needs to be used to -perform the long-range calculations for both the Buckingham and -Coulombic interactions. If {flag_coul} is set to {off}, Coulombic -interactions are not computed. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -A (energy units) -rho (distance units) -C (energy-distance^6 units) -cutoff (distance units) -cutoff2 (distance units) :ul - -The second coefficient, rho, must be greater than zero. - -The latter 2 coefficients are optional. If not specified, the global -Buckingham and Coulombic cutoffs specified in the pair_style command -are used. If only one cutoff is specified, it is used as the cutoff -for both Buckingham and Coulombic interactions for this type pair. If -both coefficients are specified, they are used as the Buckingham and -Coulombic cutoffs for this type pair. Note that if you are using -{flag_buck} set to {long}, you cannot specify a Buckingham cutoff for -an atom type pair, since only one global Buckingham cutoff is allowed. -Similarly, if you are using {flag_coul} set to {long}, you cannot -specify a Coulombic cutoff for an atom type pair, since only one -global Coulombic cutoff is allowed. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair styles does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -This pair style supports the "pair_modify"_pair_modify.html shift -option for the energy of the exp() and 1/r^6 portion of the pair -interaction, assuming {flag_buck} is {cut}. - -This pair style does not support the "pair_modify"_pair_modify.html -shift option for the energy of the Buckingham portion of the pair -interaction. - -This pair style supports the "pair_modify"_pair_modify.html table and -table/disp options since they can tabulate the short-range portion of -the long-range Coulombic and dispersion interactions. - -This pair style write its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style supports the use of the {inner}, {middle}, and {outer} -keywords of the "run_style respa"_run_style.html command, meaning the -pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the "run_style"_run_style.html command for -details. - -:line - -[Restrictions:] - -This style is part of the KSPACE package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Ismail) -[(Ismail)] Ismail, Tsige, In 't Veld, Grest, Molecular Physics -(accepted) (2007). diff --git a/doc/txt/pair_charmm.txt b/doc/txt/pair_charmm.txt deleted file mode 100644 index f5344b752f7b30de8e11245341673dc51591a94f..0000000000000000000000000000000000000000 --- a/doc/txt/pair_charmm.txt +++ /dev/null @@ -1,271 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/charmm/coul/charmm command :h3 -pair_style lj/charmm/coul/charmm/intel command :h3 -pair_style lj/charmm/coul/charmm/kk command :h3 -pair_style lj/charmm/coul/charmm/omp command :h3 -pair_style lj/charmm/coul/charmm/implicit command :h3 -pair_style lj/charmm/coul/charmm/implicit/kk command :h3 -pair_style lj/charmm/coul/charmm/implicit/omp command :h3 -pair_style lj/charmm/coul/long command :h3 -pair_style lj/charmm/coul/long/gpu command :h3 -pair_style lj/charmm/coul/long/intel command :h3 -pair_style lj/charmm/coul/long/kk command :h3 -pair_style lj/charmm/coul/long/opt command :h3 -pair_style lj/charmm/coul/long/omp command :h3 -pair_style lj/charmm/coul/msm command :h3 -pair_style lj/charmm/coul/msm/omp command :h3 -pair_style lj/charmmfsw/coul/charmmfsh command :h3 -pair_style lj/charmmfsw/coul/long command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {lj/charmm/coul/charmm} or {lj/charmm/coul/charmm/implicit} or {lj/charmm/coul/long} or {lj/charmm/coul/msm} or {lj/charmmfsw/coul/charmmfsh} or {lj/charmmfsw/coul/long} -args = list of arguments for a particular style :ul - {lj/charmm/coul/charmm} args = inner outer (inner2) (outer2) - inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args) - inner2, outer2 = global switching cutoffs for Coulombic (optional) - {lj/charmm/coul/charmm/implicit} args = inner outer (inner2) (outer2) - inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) - inner2, outer2 = global switching cutoffs for Coulombic (optional) - {lj/charmm/coul/long} args = inner outer (cutoff) - inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) - cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) - {lj/charmm/coul/msm} args = inner outer (cutoff) - inner, outer = global switching cutoffs for LJ (and Coulombic if only 2 args) - cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) - {lj/charmmfsw/coul/charmmfsh} args = inner outer (cutoff) - inner, outer = global cutoffs for LJ (and Coulombic if only 2 args) - cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) - {lj/charmmfsw/coul/long} args = inner outer (cutoff) - inner, outer = global cutoffs for LJ (and Coulombic if only 2 args) - cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 2 args) :pre - -[Examples:] - -pair_style lj/charmm/coul/charmm 8.0 10.0 -pair_style lj/charmm/coul/charmm 8.0 10.0 7.0 9.0 -pair_style lj/charmmfsw/coul/charmmfsh 10.0 12.0 -pair_style lj/charmmfsw/coul/charmmfsh 10.0 12.0 9.0 -pair_coeff * * 100.0 2.0 -pair_coeff 1 1 100.0 2.0 150.0 3.5 :pre - -pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 -pair_style lj/charmm/coul/charmm/implicit 8.0 10.0 7.0 9.0 -pair_coeff * * 100.0 2.0 -pair_coeff 1 1 100.0 2.0 150.0 3.5 :pre - -pair_style lj/charmm/coul/long 8.0 10.0 -pair_style lj/charmm/coul/long 8.0 10.0 9.0 -pair_style lj/charmmfsw/coul/long 8.0 10.0 -pair_style lj/charmmfsw/coul/long 8.0 10.0 9.0 -pair_coeff * * 100.0 2.0 -pair_coeff 1 1 100.0 2.0 150.0 3.5 :pre - -pair_style lj/charmm/coul/msm 8.0 10.0 -pair_style lj/charmm/coul/msm 8.0 10.0 9.0 -pair_coeff * * 100.0 2.0 -pair_coeff 1 1 100.0 2.0 150.0 3.5 :pre - -[Description:] - -These pair styles compute Lennard Jones (LJ) and Coulombic -interactions with additional switching or shifting functions that ramp -the energy and/or force smoothly to zero between an inner and outer -cutoff. They are implementations of the widely used CHARMM force -field used in the "CHARMM"_http://www.scripps.edu/brooks MD code (and -others). See "(MacKerell)"_#pair-MacKerell for a description of the -CHARMM force field. - -The styles with {charmm} (not {charmmfsw} or {charmmfsh}) in their -name are the older, original LAMMPS implementations. They compute the -LJ and Coulombic interactions with an energy switching function (esw, -shown in the formula below as S(r)), which ramps the energy smoothly -to zero between the inner and outer cutoff. This can cause -irregularities in pair-wise forces (due to the discontinuous 2nd -derivative of energy at the boundaries of the switching region), which -in some cases can result in detectable artifacts in an MD simulation. - -The newer styles with {charmmfsw} or {charmmfsh} in their name replace -the energy switching with force switching (fsw) and force shifting -(fsh) functions, for LJ and Coulombic interactions respectively. -These follow the formulas and description given in -"(Steinbach)"_#Steinbach and "(Brooks)"_#Brooks1 to minimize these -artifacts. - -NOTE: The newer {charmmfsw} or {charmmfsh} styles were released in -March 2017. We recommend they be used instead of the older {charmm} -styles. This includes the newer "dihedral_style -charmmfsw"_dihedral_charmm.html command. Eventually code from the new -styles will propagate into the related pair styles (e.g. implicit, -accelerator, free energy variants). - -NOTE: The newest CHARMM pair styles reset the Coulombic energy -conversion factor used internally in the code, from the LAMMPS value -to the CHARMM value, as if it were effectively a parameter of the -force field. This is because the CHARMM code uses a slightly -different value for the this conversion factor in "real -units"_units.html (Kcal/mole), namely CHARMM = 332.0716, LAMMPS = -332.06371. This is to enable more precise agreement by LAMMPS with -the CHARMM force field energies and forces, when using one of these -two CHARMM pair styles. - -:c,image(Eqs/pair_charmm.jpg) - -where S(r) is the energy switching function mentioned above for the -{charmm} styles. See the "(Steinbach)"_#Steinbach paper for the -functional forms of the force switching and force shifting functions -used in the {charmmfsw} and {charmmfsh} styles. - -When using the {lj/charmm/coul/charmm styles}, both the LJ and -Coulombic terms require an inner and outer cutoff. They can be the -same for both formulas or different depending on whether 2 or 4 -arguments are used in the pair_style command. For the -{lj/charmmfsw/coul/charmmfsh} style, the LJ term requires both an -inner and outer cutoff, while the Coulombic term requires only one -cutoff. If the Coulombic cutoff is not specified (2 instead of 3 -arguments), the LJ outer cutoff is used for the Coulombic cutoff. In -all cases where an inner and outer cutoff are specified, the inner -cutoff distance must be less than the outer cutoff. It is typical to -make the difference between the inner and outer cutoffs about 2.0 -Angstroms. - -Style {lj/charmm/coul/charmm/implicit} computes the same formulas as -style {lj/charmm/coul/charmm} except that an additional 1/r term is -included in the Coulombic formula. The Coulombic energy thus varies -as 1/r^2. This is effectively a distance-dependent dielectric term -which is a simple model for an implicit solvent with additional -screening. It is designed for use in a simulation of an unsolvated -biomolecule (no explicit water molecules). - -Styles {lj/charmm/coul/long} and {lj/charmm/coul/msm} compute the same -formulas as style {lj/charmm/coul/charmm} and style -{lj/charmmfsw/coul/long} computes the same formulas as style -{lj/charmmfsw/coul/charmmfsh}, except that an additional damping -factor is applied to the Coulombic term, so it can be used in -conjunction with the "kspace_style"_kspace_style.html command and its -{ewald} or {pppm} or {msm} option. Only one Coulombic cutoff is -specified for these styles; if only 2 arguments are used in the -pair_style command, then the outer LJ cutoff is used as the single -Coulombic cutoff. The Coulombic cutoff specified for these styles -means that pairwise interactions within this distance are computed -directly; interactions outside that distance are computed in -reciprocal space. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) -epsilon_14 (energy units) -sigma_14 (distance units) :ul - -Note that sigma is defined in the LJ formula as the zero-crossing -distance for the potential, not as the energy minimum at 2^(1/6) -sigma. - -The latter 2 coefficients are optional. If they are specified, they -are used in the LJ formula between 2 atoms of these types which are -also first and fourth atoms in any dihedral. No cutoffs are specified -because the CHARMM force field does not allow varying cutoffs for -individual atom pairs; all pairs use the global cutoff(s) specified in -the pair_style command. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon, sigma, epsilon_14, -and sigma_14 coefficients for all of the lj/charmm pair styles can be -mixed. The default mix value is {arithmetic} to coincide with the -usual settings for the CHARMM force field. See the "pair_modify" -command for details. - -None of the {lj/charmm} or {lj/charmmfsw} pair styles support the -"pair_modify"_pair_modify.html shift option, since the Lennard-Jones -portion of the pair interaction is smoothed to 0.0 at the cutoff. - -The {lj/charmm/coul/long} and {lj/charmmfsw/coul/long} styles support -the "pair_modify"_pair_modify.html table option since they can -tabulate the short-range portion of the long-range Coulombic -interaction. - -None of the {lj/charmm} or {lj/charmmfsw} pair styles support the -"pair_modify"_pair_modify.html tail option for adding long-range tail -corrections to energy and pressure, since the Lennard-Jones portion of -the pair interaction is smoothed to 0.0 at the cutoff. - -All of the {lj/charmm} and {lj/charmmfsw} pair styles write their -information to "binary restart files"_restart.html, so pair_style and -pair_coeff commands do not need to be specified in an input script -that reads a restart file. - -The {lj/charmm/coul/long} and {lj/charmmfsw/coul/long} pair styles -support the use of the {inner}, {middle}, and {outer} keywords of the -"run_style respa"_run_style.html command, meaning the pairwise forces -can be partitioned by distance at different levels of the rRESPA -hierarchy. The other styles only support the {pair} keyword of -run_style respa. See the "run_style"_run_style.html command for -details. - -:line - -[Restrictions:] - -All the styles with {coul/charmm} or {coul/charmmfsh} styles are part -of the MOLECULE package. All the styles with {coul/long} style are -part of the KSPACE package. They are only enabled if LAMMPS was built -with those packages. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Brooks1) -[(Brooks)] Brooks, et al, J Comput Chem, 30, 1545 (2009). - -:link(pair-MacKerell) -[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). - -:link(Steinbach) -[(Steinbach)] Steinbach, Brooks, J Comput Chem, 15, 667 (1994). - diff --git a/doc/txt/pair_class2.txt b/doc/txt/pair_class2.txt deleted file mode 100644 index 9e25560071bd6a78b654921d574c6dc4489c9ad0..0000000000000000000000000000000000000000 --- a/doc/txt/pair_class2.txt +++ /dev/null @@ -1,180 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/class2 command :h3 -pair_style lj/class2/gpu command :h3 -pair_style lj/class2/kk command :h3 -pair_style lj/class2/omp command :h3 -pair_style lj/class2/coul/cut command :h3 -pair_style lj/class2/coul/cut/kk command :h3 -pair_style lj/class2/coul/cut/omp command :h3 -pair_style lj/class2/coul/long command :h3 -pair_style lj/class2/coul/long/gpu command :h3 -pair_style lj/class2/coul/long/kk command :h3 -pair_style lj/class2/coul/long/omp command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {lj/class2} or {lj/class2/coul/cut} or {lj/class2/coul/long} -args = list of arguments for a particular style :ul - {lj/class2} args = cutoff - cutoff = global cutoff for class 2 interactions (distance units) - {lj/class2/coul/cut} args = cutoff (cutoff2) - cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {lj/class2/coul/long} args = cutoff (cutoff2) - cutoff = global cutoff for class 2 (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre - -[Examples:] - -pair_style lj/class2 10.0 -pair_coeff * * 100.0 2.5 -pair_coeff 1 2* 100.0 2.5 9.0 :pre - -pair_style lj/class2/coul/cut 10.0 -pair_style lj/class2/coul/cut 10.0 8.0 -pair_coeff * * 100.0 3.0 -pair_coeff 1 1 100.0 3.5 9.0 -pair_coeff 1 1 100.0 3.5 9.0 9.0 :pre - -pair_style lj/class2/coul/long 10.0 -pair_style lj/class2/coul/long 10.0 8.0 -pair_coeff * * 100.0 3.0 -pair_coeff 1 1 100.0 3.5 9.0 :pre - -[Description:] - -The {lj/class2} styles compute a 6/9 Lennard-Jones potential given by - -:c,image(Eqs/pair_class2.jpg) - -Rc is the cutoff. - -The {lj/class2/coul/cut} and {lj/class2/coul/long} styles add a -Coulombic term as described for the "lj/cut"_pair_lj.html pair styles. - -See "(Sun)"_#pair-Sun for a description of the COMPASS class2 force field. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) -cutoff1 (distance units) -cutoff2 (distance units) :ul - -The latter 2 coefficients are optional. If not specified, the global -class 2 and Coulombic cutoffs are used. If only one cutoff is -specified, it is used as the cutoff for both class 2 and Coulombic -interactions for this type pair. If both coefficients are specified, -they are used as the class 2 and Coulombic cutoffs for this type pair. -You cannot specify 2 cutoffs for style {lj/class2}, since it has no -Coulombic terms. - -For {lj/class2/coul/long} only the class 2 cutoff can be specified -since a Coulombic cutoff cannot be specified for an individual I,J -type pair. All type pairs use the same global Coulombic cutoff -specified in the pair_style command. - -:line - -If the pair_coeff command is not used to define coefficients for a -particular I != J type pair, the mixing rule for epsilon and sigma for -all class2 potentials is to use the {sixthpower} formulas documented -by the "pair_modify"_pair_modify.html command. The "pair_modify -mix"_pair_modify.html setting is thus ignored for class2 potentials -for epsilon and sigma. However it is still followed for mixing the -cutoff distance. - -:line - -A version of these styles with a soft core, {lj/cut/soft}, suitable for use in -free energy calculations, is part of the USER-FEP package and is documented with -the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is -only available if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of the lj/class2 pair styles can be mixed. -Epsilon and sigma are always mixed with the value {sixthpower}. The -cutoff distance is mixed by whatever option is set by the pair_modify -command (default = geometric). See the "pair_modify" command for -details. - -All of the lj/class2 pair styles support the -"pair_modify"_pair_modify.html shift option for the energy of the -Lennard-Jones portion of the pair interaction. - -The {lj/class2/coul/long} pair style does not support the -"pair_modify"_pair_modify.html table option since a tabulation -capability has not yet been added to this potential. - -All of the lj/class2 pair styles support the -"pair_modify"_pair_modify.html tail option for adding a long-range -tail correction to the energy and pressure of the Lennard-Jones -portion of the pair interaction. - -All of the lj/class2 pair styles write their information to "binary -restart files"_restart.html, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. - -Only the {lj/class2} and {lj/class2/coul/long} pair styles support the use of the -{inner}, {middle}, and {outer} keywords of the "run_style -respa"_run_style.html command, meaning the pairwise forces can be -partitioned by distance at different levels of the rRESPA hierarchy. -The other styles only support the {pair} keyword of run_style respa. -See the "run_style"_run_style.html command for details. - -[Restrictions:] - -These styles are part of the CLASS2 package. They are only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_fep_soft"_pair_fep_soft.html - -[Default:] none - -:line - -:link(pair-Sun) -[(Sun)] Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/txt/pair_coeff.txt b/doc/txt/pair_coeff.txt deleted file mode 100644 index a1bbf94e83cf7201a6006231929a4d5841ad8a94..0000000000000000000000000000000000000000 --- a/doc/txt/pair_coeff.txt +++ /dev/null @@ -1,134 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_coeff command :h3 - -[Syntax:] - -pair_coeff I J args :pre - -I,J = atom types (see asterisk form below) -args = coefficients for one or more pairs of atom types :ul - -[Examples:] - -pair_coeff 1 2 1.0 1.0 2.5 -pair_coeff 2 * 1.0 1.0 -pair_coeff 3* 1*2 1.0 1.0 2.5 -pair_coeff * * 1.0 1.0 -pair_coeff * * nialhjea 1 1 2 -pair_coeff * 3 morse.table ENTRY1 -pair_coeff 1 2 lj/cut 1.0 1.0 2.5 (for pair_style hybrid) :pre - -[Description:] - -Specify the pairwise force field coefficients for one or more pairs of -atom types. The number and meaning of the coefficients depends on the -pair style. Pair coefficients can also be set in the data file read -by the "read_data"_read_data.html command or in a restart file. - -I and J can be specified in one of two ways. Explicit numeric values -can be used for each, as in the 1st example above. I <= J is -required. LAMMPS sets the coefficients for the symmetric J,I -interaction to the same values. - -A wildcard asterisk can be used in place of or in conjunction with the -I,J arguments to set the coefficients for multiple pairs of atom -types. This takes the form "*" or "*n" or "n*" or "m*n". If N = the -number of atom types, then an asterisk with no numeric values means all -types from 1 to N. A leading asterisk means all types from 1 to n -(inclusive). A trailing asterisk means all types from n to N -(inclusive). A middle asterisk means all types from m to n -(inclusive). Note that only type pairs with I <= J are considered; if -asterisks imply type pairs where J < I, they are ignored. - -Note that a pair_coeff command can override a previous setting for the -same I,J pair. For example, these commands set the coeffs for all I,J -pairs, then overwrite the coeffs for just the I,J = 2,3 pair: - -pair_coeff * * 1.0 1.0 2.5 -pair_coeff 2 3 2.0 1.0 1.12 :pre - -A line in a data file that specifies pair coefficients uses the exact -same format as the arguments of the pair_coeff command in an input -script, with the exception of the I,J type arguments. In each line of -the "Pair Coeffs" section of a data file, only a single type I is -specified, which sets the coefficients for type I interacting with -type I. This is because the section has exactly N lines, where N = -the number of atom types. For this reason, the wild-card asterisk -should also not be used as part of the I argument. Thus in a data -file, the line corresponding to the 1st example above would be listed -as - -2 1.0 1.0 2.5 :pre - -For many potentials, if coefficients for type pairs with I != J are -not set explicitly by a pair_coeff command, the values are inferred -from the I,I and J,J settings by mixing rules; see the -"pair_modify"_pair_modify.html command for a discussion. Details on -this option as it pertains to individual potentials are described on -the doc page for the potential. - -Many pair styles, typically for many-body potentials, use tabulated -potential files as input, when specifying the pair_coeff command. -Potential files provided with LAMMPS are in the potentials directory -of the distribution. For some potentials, such as EAM, other archives -of suitable files can be found on the Web. They can be used with -LAMMPS so long as they are in the format LAMMPS expects, as discussed -on the individual doc pages. - -When a pair_coeff command using a potential file is specified, LAMMPS -looks for the potential file in 2 places. First it looks in the -location specified. E.g. if the file is specified as "niu3.eam", it -is looked for in the current working directory. If it is specified as -"../potentials/niu3.eam", then it is looked for in the potentials -directory, assuming it is a sister directory of the current working -directory. If the file is not found, it is then looked for in the -directory specified by the LAMMPS_POTENTIALS environment variable. -Thus if this is set to the potentials directory in the LAMMPS distribution, -then you can use those files from anywhere on your system, without -copying them into your working directory. Environment variables are -set in different ways for different shells. Here are example settings -for - -csh, tcsh: - -% setenv LAMMPS_POTENTIALS /path/to/lammps/potentials :pre - -bash: - -% export LAMMPS_POTENTIALS=/path/to/lammps/potentials :pre - -Windows: - -% set LAMMPS_POTENTIALS="C:\\Path to LAMMPS\\Potentials" :pre - -:line - -The alphabetic list of pair styles defined in LAMMPS is given on the -"pair_style"_pair_style.html doc page. They are also listed in more -compact form on the "Commands pair"_Commands_pair.html doc page. - -Click on the style to display the formula it computes and its -coefficients as specified by the associated pair_coeff command. - -:line - -[Restrictions:] - -This command must come after the simulation box is defined by a -"read_data"_read_data.html, "read_restart"_read_restart.html, or -"create_box"_create_box.html command. - -[Related commands:] - -"pair_style"_pair_style.html, "pair_modify"_pair_modify.html, -"read_data"_read_data.html, "read_restart"_read_restart.html, -"pair_write"_pair_write.html - -[Default:] none diff --git a/doc/txt/pair_colloid.txt b/doc/txt/pair_colloid.txt deleted file mode 100644 index e8a44e1cba7ec053e09831ee1201d074f62db215..0000000000000000000000000000000000000000 --- a/doc/txt/pair_colloid.txt +++ /dev/null @@ -1,204 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style colloid command :h3 -pair_style colloid/gpu command :h3 -pair_style colloid/omp command :h3 - -[Syntax:] - -pair_style colloid cutoff :pre - -cutoff = global cutoff for colloidal interactions (distance units) :ul - -[Examples:] - -pair_style colloid 10.0 -pair_coeff * * 25 1.0 10.0 10.0 -pair_coeff 1 1 144 1.0 0.0 0.0 3.0 -pair_coeff 1 2 75.398 1.0 0.0 10.0 9.0 -pair_coeff 2 2 39.478 1.0 10.0 10.0 25.0 :pre - -[Description:] - -Style {colloid} computes pairwise interactions between large colloidal -particles and small solvent particles using 3 formulas. A colloidal -particle has a size > sigma; a solvent particle is the usual -Lennard-Jones particle of size sigma. - -The colloid-colloid interaction energy is given by - -:c,image(Eqs/pair_colloid_cc.jpg) - -where A_cc is the Hamaker constant, a1 and a2 are the radii of the two -colloidal particles, and Rc is the cutoff. This equation results from -describing each colloidal particle as an integrated collection of -Lennard-Jones particles of size sigma and is derived in -"(Everaers)"_#Everaers1. - -The colloid-solvent interaction energy is given by - -:c,image(Eqs/pair_colloid_cs.jpg) - -where A_cs is the Hamaker constant, a is the radius of the colloidal -particle, and Rc is the cutoff. This formula is derived from the -colloid-colloid interaction, letting one of the particle sizes go to -zero. - -The solvent-solvent interaction energy is given by the usual -Lennard-Jones formula - -:c,image(Eqs/pair_colloid_ss.jpg) - -with A_ss set appropriately, which results from letting both particle -sizes go to zero. - -When used in combination with "pair_style -yukawa/colloid"_pair_colloid.html, the two terms become the so-called -DLVO potential, which combines electrostatic repulsion and van der -Waals attraction. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -A (energy units) -sigma (distance units) -d1 (distance units) -d2 (distance units) -cutoff (distance units) :ul - -A is the Hamaker energy prefactor and should typically be set as -follows: - -A_cc = colloid/colloid = 4 pi^2 = 39.5 -A_cs = colloid/solvent = sqrt(A_cc*A_ss) -A_ss = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4) :ul - -Sigma is the size of the solvent particle or the constituent particles -integrated over in the colloidal particle and should typically be set -as follows: - -Sigma_cc = colloid/colloid = 1.0 -Sigma_cs = colloid/solvent = arithmetic mixing between colloid sigma and solvent sigma -Sigma_ss = solvent/solvent = 1.0 or whatever size the solvent particle is :ul - -Thus typically Sigma_cs = 1.0, unless the solvent particle's size != -1.0. - -D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in -the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0 -and d2 > 0, then the pair interacts via the colloid-colloid formula -above. If d1 = 0 and d2 = 0, then the pair interacts via the -solvent-solvent formula. I.e. a d value of 0 is a Lennard-Jones -particle of size sigma. If either d1 = 0 or d2 = 0 and the other is -larger, then the pair interacts via the colloid-solvent formula. - -Note that the diameter of a particular particle type may appear in -multiple pair_coeff commands, as it interacts with other particle -types. You should insure the particle diameter is specified -consistently each time it appears. - -The last coefficient is optional. If not specified, the global cutoff -specified in the pair_style command is used. However, you typically -want different cutoffs for interactions between different particle -sizes. E.g. if colloidal particles of diameter 10 are used with -solvent particles of diameter 1, then a solvent-solvent cutoff of 2.5 -would correspond to a colloid-colloid cutoff of 25. A good -rule-of-thumb is to use a colloid-solvent cutoff that is half the big -diameter + 4 times the small diameter. I.e. 9 = 5 + 4 for the -colloid-solvent cutoff in this case. - -NOTE: When using pair_style colloid for a mixture with 2 (or more) -widely different particles sizes (e.g. sigma=10 colloids in a -background sigma=1 LJ fluid), you will likely want to use these -commands for efficiency: "neighbor multi"_neighbor.html and -"comm_modify multi"_comm_modify.html. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the A, sigma, d1, and d2 -coefficients and cutoff distance for this pair style can be mixed. A -is an energy value mixed like a LJ epsilon. D1 and d2 are distance -values and are mixed like sigma. The default mix value is -{geometric}. See the "pair_modify" command for details. - -This pair style supports the "pair_modify"_pair_modify.html shift -option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This style is part of the COLLOID package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Normally, this pair style should be used with finite-size particles -which have a diameter, e.g. see the "atom_style -sphere"_atom_style.html command. However, this is not a requirement, -since the only definition of particle size is via the pair_coeff -parameters for each type. In other words, the physical radius of the -particle is ignored. Thus you should insure that the d1,d2 parameters -you specify are consistent with the physical size of the particles of -that type. - -Per-particle polydispersity is not yet supported by this pair style; -only per-type polydispersity is enabled via the pair_coeff parameters. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Everaers1) -[(Everaers)] Everaers, Ejtehadi, Phys Rev E, 67, 041710 (2003). diff --git a/doc/txt/pair_comb.txt b/doc/txt/pair_comb.txt deleted file mode 100644 index 45ce3a3b7611d0847ef3aa05886d0a6dd6fb20b4..0000000000000000000000000000000000000000 --- a/doc/txt/pair_comb.txt +++ /dev/null @@ -1,191 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style comb command :h3 -pair_style comb/omp command :h3 -pair_style comb3 command :h3 - -[Syntax:] - -pair_style comb -pair_style comb3 keyword :pre - -keyword = {polar} - {polar} value = {polar_on} or {polar_off} = whether or not to include atomic polarization :pre -:ule - -[Examples:] - -pair_style comb -pair_coeff * * ../potentials/ffield.comb Si -pair_coeff * * ../potentials/ffield.comb Hf Si O :pre -pair_style comb3 polar_off -pair_coeff * * ../potentials/ffield.comb3 O Cu N C O :pre - -[Description:] - -Style {comb} computes the second-generation variable charge COMB -(Charge-Optimized Many-Body) potential. Style {comb3} computes the -third-generation COMB potential. These COMB potentials are described -in "(COMB)"_#COMB and "(COMB3)"_#COMB3. Briefly, the total energy -{ET} of a system of atoms is given by - -:c,image(Eqs/pair_comb1.jpg) - -where {Eiself} is the self-energy of atom {i} -(including atomic ionization energies and electron affinities), -{Eijshort} is the bond-order potential between -atoms {i} and {j}, -{EijCoul} is the Coulomb interactions, -{Epolar} is the polarization term for organic systems -(style {comb3} only), -{EvdW} is the van der Waals energy (style {comb3} only), -{Ebarr} is a charge barrier function, and -{Ecorr} are angular correction terms. - -The COMB potentials (styles {comb} and {comb3}) are variable charge -potentials. The equilibrium charge on each atom is calculated by the -electronegativity equalization (QEq) method. See "Rick"_#Rick2 for -further details. This is implemented by the "fix -qeq/comb"_fix_qeq_comb.html command, which should normally be -specified in the input script when running a model with the COMB -potential. The "fix qeq/comb"_fix_qeq_comb.html command has options -that determine how often charge equilibration is performed, its -convergence criterion, and which atoms are included in the -calculation. - -Only a single pair_coeff command is used with the {comb} and {comb3} -styles which specifies the COMB potential file with parameters for all -needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the potential file in the pair_coeff -command, where N is the number of LAMMPS atom types. - -For example, if your LAMMPS simulation of a Si/SiO2/ -HfO2 interface has 4 atom types, and you want the 1st and -last to be Si, the 2nd to be Hf, and the 3rd to be O, and you would -use the following pair_coeff command: - -pair_coeff * * ../potentials/ffield.comb Si Hf O Si :pre - -The first two arguments must be * * so as to span all LAMMPS atom -types. The first and last Si arguments map LAMMPS atom types 1 and 4 -to the Si element in the {ffield.comb} file. The second Hf argument -maps LAMMPS atom type 2 to the Hf element, and the third O argument -maps LAMMPS atom type 3 to the O element in the potential file. If a -mapping value is specified as NULL, the mapping is not performed. -This can be used when a {comb} potential is used as part of the -{hybrid} pair style. The NULL values are placeholders for atom types -that will be used with other potentials. - -For style {comb}, the provided potential file {ffield.comb} contains -all currently-available 2nd generation COMB parameterizations: for Si, -Cu, Hf, Ti, O, their oxides and Zr, Zn and U metals. For style -{comb3}, the potential file {ffield.comb3} contains all -currently-available 3rd generation COMB parameterizations: O, Cu, N, C, -H, Ti, Zn and Zr. The status of the optimization of the compounds, for -example Cu2O, TiN and hydrocarbons, are given in the -following table: - -:c,image(Eqs/pair_comb2.jpg) - -For style {comb3}, in addition to ffield.comb3, a special parameter -file, {lib.comb3}, that is exclusively used for C/O/H systems, will be -automatically loaded if carbon atom is detected in LAMMPS input -structure. This file must be in your working directory or in the -directory pointed to by the environment variable LAMMPS_POTENTIALS, as -described on the "pair_coeff"_pair_coeff.html command doc page. - -Keyword {polar} indicates whether the force field includes -the atomic polarization. Since the equilibration of the polarization -has not yet been implemented, it can only set polar_off at present. - -NOTE: You can not use potential file {ffield.comb} with style {comb3}, -nor file {ffield.comb3} with style {comb}. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, where types I and J correspond to -two different element types, mixing is performed by LAMMPS as -described above from values in the potential file. - -These pair styles does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -These pair styles do not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style, pair_coeff, and "fix -qeq/comb"_fix_qeq_comb.html commands in an input script that reads a -restart file. - -These pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -These pair styles are part of the MANYBODY package. It is only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -These pair styles requires the "newton"_newton.html setting to be "on" -for pair interactions. - -The COMB potentials in the {ffield.comb} and {ffield.comb3} files provided -with LAMMPS (see the potentials directory) are parameterized for metal -"units"_units.html. You can use the COMB potential with any LAMMPS -units, but you would need to create your own COMB potential file with -coefficients listed in the appropriate units if your simulation -doesn't use "metal" units. - -[Related commands:] - -"pair_style"_pair_style.html, "pair_coeff"_pair_coeff.html, -"fix qeq/comb"_fix_qeq_comb.html - -[Default:] none - -:line - -:link(COMB) -[(COMB)] T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, and -S. R. Phillpot, Phys. Rev. B 81, 125328 (2010) - -:link(COMB3) -[(COMB3)] T. Liang, T.-R. Shan, Y.-T. Cheng, B. D. Devine, M. Noordhoek, -Y. Li, Z. Lu, S. R. Phillpot, and S. B. Sinnott, Mat. Sci. & Eng: R 74, -255-279 (2013). - -:link(Rick2) -[(Rick)] S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 6141 -(1994). diff --git a/doc/txt/pair_cosine_squared.txt b/doc/txt/pair_cosine_squared.txt deleted file mode 100644 index f60e33f70d37b105bbfa85b4c68af5812dc0be07..0000000000000000000000000000000000000000 --- a/doc/txt/pair_cosine_squared.txt +++ /dev/null @@ -1,108 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style cosine/squared command :h3 - -[Syntax:] - -pair_style cosine/squared cutoff :pre - -cutoff = global cutoff for cosine-squared interactions (distance units) :ul - -pair_coeff i j eps sigma -pair_coeff i j eps sigma cutoff -pair_coeff i j eps sigma wca -pair_coeff i j eps sigma cutoff wca :pre - -i,j = a particle type -eps = interaction strength, i.e. the depth of the potential minimum (energy units) -sigma = distance of the potential minimum from 0 -cutoff = the cutoff distance for this pair type, if different from global (distance units) -wca = if specified a Weeks-Chandler-Andersen potential (with eps strength and minimum at sigma) is added, otherwise not :ul - -[Examples:] - -pair_style cosine/squared 3.0 -pair_coeff * * 1.0 1.3 -pair_coeff 1 3 1.0 1.3 2.0 -pair_coeff 1 3 1.0 1.3 wca -pair_coeff 1 3 1.0 1.3 2.0 wca :pre - -[Description:] - -Style {cosine/squared} computes a potential of the form - -:c,image(Eqs/pair_cosine_squared.jpg) - -between two point particles, where (sigma, -epsilon) is the location of -the (rightmost) minimum of the potential, as explained in the syntax -section above. - -This potential was first used in (Cooke)_#CKD for a coarse-grained lipid -membrane model. It is generally very useful as a non-specific -interaction potential because it is fully adjustable in depth and width -while joining the minimum at (sigma, -epsilon) and zero at (cutoff, 0) -smoothly, requiring no shifting and causing no related artifacts, tail -energy calculations etc. This evidently requires {cutoff} to be larger -than {sigma}. - -If the {wca} option is used then a Weeks-Chandler-Andersen potential -(Weeks)_#WCA is added to the above specified cosine-squared potential, -specifically the following: - -:c,image(Eqs/pair_cosine_squared_wca.jpg) - -In this case, and this case only, the {sigma} parameter can be equal to -{cutoff} (sigma = cutoff) which will result in ONLY the WCA potential -being used (and print a warning), so the minimum will be attained at -(sigma, 0). This is a convenience feature that enables a purely -repulsive potential to be used without a need to define an additional -pair style and use the hybrid styles. - -The energy and force of this pair style for parameters epsilon = 1.0, -sigma = 1.0, cutoff = 2.5, with and without the WCA potential, are shown -in the graphs below: - -:c,image(JPG/pair_cosine_squared_graphs.jpg) - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -Mixing is not supported for this style. - -The {shift}, {table} and {tail} options are not relevant for this style. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -These pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -The {cosine/squared} style is part of the "USER-MISC" package. It is only -enabled if LAMMPS is build with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, -"pair_style lj/cut"_pair_lj.html - -[Default:] none - -:link(CKD) -[(Cooke)] "Cooke, Kremer and Deserno, Phys. Rev. E, 72, 011506 (2005)" - -:link(WCA) -[(Weeks)] "Weeks, Chandler and Andersen, J. Chem. Phys., 54, 5237 (1971)" diff --git a/doc/txt/pair_coul.txt b/doc/txt/pair_coul.txt deleted file mode 100644 index 06838a97e68ecb1db1a20210569b42bbc26de7c1..0000000000000000000000000000000000000000 --- a/doc/txt/pair_coul.txt +++ /dev/null @@ -1,334 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style coul/cut command :h3 -pair_style coul/cut/gpu command :h3 -pair_style coul/cut/kk command :h3 -pair_style coul/cut/omp command :h3 -pair_style coul/debye command :h3 -pair_style coul/debye/gpu command :h3 -pair_style coul/debye/kk command :h3 -pair_style coul/debye/omp command :h3 -pair_style coul/dsf command :h3 -pair_style coul/dsf/gpu command :h3 -pair_style coul/dsf/kk command :h3 -pair_style coul/dsf/omp command :h3 -pair_style coul/long command :h3 -pair_style coul/long/omp command :h3 -pair_style coul/long/gpu command :h3 -pair_style coul/long/kk command :h3 -pair_style coul/msm command :h3 -pair_style coul/msm/omp command :h3 -pair_style coul/streitz command :h3 -pair_style coul/wolf command :h3 -pair_style coul/wolf/kk command :h3 -pair_style coul/wolf/omp command :h3 -pair_style tip4p/cut command :h3 -pair_style tip4p/long command :h3 -pair_style tip4p/cut/omp command :h3 -pair_style tip4p/long/omp command :h3 - -[Syntax:] - -pair_style coul/cut cutoff -pair_style coul/debye kappa cutoff -pair_style coul/dsf alpha cutoff -pair_style coul/long cutoff -pair_style coul/long/gpu cutoff -pair_style coul/wolf alpha cutoff -pair_style coul/streitz cutoff keyword alpha -pair_style tip4p/cut otype htype btype atype qdist cutoff -pair_style tip4p/long otype htype btype atype qdist cutoff :pre - -cutoff = global cutoff for Coulombic interactions -kappa = Debye length (inverse distance units) -alpha = damping parameter (inverse distance units) :ul - -[Examples:] - -pair_style coul/cut 2.5 -pair_coeff * * -pair_coeff 2 2 3.5 :pre - -pair_style coul/debye 1.4 3.0 -pair_coeff * * -pair_coeff 2 2 3.5 :pre - -pair_style coul/dsf 0.05 10.0 -pair_coeff * * :pre - -pair_style coul/long 10.0 -pair_coeff * * :pre - -pair_style coul/msm 10.0 -pair_coeff * * :pre - -pair_style coul/wolf 0.2 9.0 -pair_coeff * * :pre - -pair_style coul/streitz 12.0 ewald -pair_style coul/streitz 12.0 wolf 0.30 -pair_coeff * * AlO.streitz Al O :pre - -pair_style tip4p/cut 1 2 7 8 0.15 12.0 -pair_coeff * * :pre - -pair_style tip4p/long 1 2 7 8 0.15 10.0 -pair_coeff * * :pre - -[Description:] - -The {coul/cut} style computes the standard Coulombic interaction -potential given by - -:c,image(Eqs/pair_coulomb.jpg) - -where C is an energy-conversion constant, Qi and Qj are the charges on -the 2 atoms, and epsilon is the dielectric constant which can be set -by the "dielectric"_dielectric.html command. The cutoff Rc truncates -the interaction distance. - -:line - -Style {coul/debye} adds an additional exp() damping factor to the -Coulombic term, given by - -:c,image(Eqs/pair_debye.jpg) - -where kappa is the Debye length. This potential is another way to -mimic the screening effect of a polar solvent. - -:line - -Style {coul/dsf} computes Coulombic interactions via the damped -shifted force model described in "Fennell"_#Fennell1, given by: - -:c,image(Eqs/pair_coul_dsf.jpg) - -where {alpha} is the damping parameter and erfc() is the -complementary error-function. The potential corrects issues in the -Wolf model (described below) to provide consistent forces and energies -(the Wolf potential is not differentiable at the cutoff) and smooth -decay to zero. - -:line - -Style {coul/wolf} computes Coulombic interactions via the Wolf -summation method, described in "Wolf"_#Wolf1, given by: - -:c,image(Eqs/pair_coul_wolf.jpg) - -where {alpha} is the damping parameter, and erc() and erfc() are -error-function and complementary error-function terms. This potential -is essentially a short-range, spherically-truncated, -charge-neutralized, shifted, pairwise {1/r} summation. With a -manipulation of adding and subtracting a self term (for i = j) to the -first and second term on the right-hand-side, respectively, and a -small enough {alpha} damping parameter, the second term shrinks and -the potential becomes a rapidly-converging real-space summation. With -a long enough cutoff and small enough alpha parameter, the energy and -forces calculated by the Wolf summation method approach those of the -Ewald sum. So it is a means of getting effective long-range -interactions with a short-range potential. - -:line - -Style {coul/streitz} is the Coulomb pair interaction defined as part -of the Streitz-Mintmire potential, as described in "this -paper"_#Streitz2, in which charge distribution about an atom is modeled -as a Slater 1{s} orbital. More details can be found in the referenced -paper. To fully reproduce the published Streitz-Mintmire potential, -which is a variable charge potential, style {coul/streitz} must be -used with "pair_style eam/alloy"_pair_eam.html (or some other -short-range potential that has been parameterized appropriately) via -the "pair_style hybrid/overlay"_pair_hybrid.html command. Likewise, -charge equilibration must be performed via the "fix -qeq/slater"_fix_qeq.html command. For example: - -pair_style hybrid/overlay coul/streitz 12.0 wolf 0.31 eam/alloy -pair_coeff * * coul/streitz AlO.streitz Al O -pair_coeff * * eam/alloy AlO.eam.alloy Al O -fix 1 all qeq/slater 1 12.0 1.0e-6 100 coul/streitz :pre - -The keyword {wolf} in the coul/streitz command denotes computing -Coulombic interactions via Wolf summation. An additional damping -parameter is required for the Wolf summation, as described for the -coul/wolf potential above. Alternatively, Coulombic interactions can -be computed via an Ewald summation. For example: - -pair_style hybrid/overlay coul/streitz 12.0 ewald eam/alloy -kspace_style ewald 1e-6 :pre - -Keyword {ewald} does not need a damping parameter, but a -"kspace_style"_kspace_style.html must be defined, which can be style -{ewald} or {pppm}. The Ewald method was used in Streitz and -Mintmire's original paper, but a Wolf summation offers a speed-up in -some cases. - -For the fix qeq/slater command, the {qfile} can be a filename that -contains QEq parameters as discussed on the "fix qeq"_fix_qeq.html -command doc page. Alternatively {qfile} can be replaced by -"coul/streitz", in which case the fix will extract QEq parameters from -the coul/streitz pair style itself. - -See the examples/strietz directory for an example input script that -uses the Streitz-Mintmire potential. The potentials directory has the -AlO.eam.alloy and AlO.streitz potential files used by the example. - -Note that the Streiz-Mintmire potential is generally used for oxides, -but there is no conceptual problem with extending it to nitrides and -carbides (such as SiC, TiN). Pair coul/strietz used by itself or with -any other pair style such as EAM, MEAM, Tersoff, or LJ in -hybrid/overlay mode. To do this, you would need to provide a -Streitz-Mintmire parameterization for the material being modeled. - -:line - -Styles {coul/long} and {coul/msm} compute the same Coulombic -interactions as style {coul/cut} except that an additional damping -factor is applied so it can be used in conjunction with the -"kspace_style"_kspace_style.html command and its {ewald} or {pppm} -option. The Coulombic cutoff specified for this style means that -pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space. - -Styles {tip4p/cut} and {tip4p/long} implement the Coulomb part of -the TIP4P water model of "(Jorgensen)"_#Jorgensen3, which introduces -a massless site located a short distance away from the oxygen atom -along the bisector of the HOH angle. The atomic types of the oxygen and -hydrogen atoms, the bond and angle types for OH and HOH interactions, -and the distance to the massless charge site are specified as -pair_style arguments. Style {tip4p/cut} uses a global cutoff for -Coulomb interactions; style {tip4p/long} is for use with a long-range -Coulombic solver (Ewald or PPPM). - -NOTE: For each TIP4P water molecule in your system, the atom IDs for -the O and 2 H atoms must be consecutive, with the O atom first. This -is to enable LAMMPS to "find" the 2 H atoms associated with each O -atom. For example, if the atom ID of an O atom in a TIP4P water -molecule is 500, then its 2 H atoms must have IDs 501 and 502. - -See the "Howto tip4p"_Howto_tip4p.html doc page for more information -on how to use the TIP4P pair styles and lists of parameters to set. -Note that the neighbor list cutoff for Coulomb interactions is -effectively extended by a distance 2*qdist when using the TIP4P pair -style, to account for the offset distance of the fictitious charges on -O atoms in water molecules. Thus it is typically best in an -efficiency sense to use a LJ cutoff >= Coulombic cutoff + 2*qdist, to -shrink the size of the neighbor list. This leads to slightly larger -cost for the long-range calculation, so you can test the trade-off for -your model. - -:line - -Note that these potentials are designed to be combined with other pair -potentials via the "pair_style hybrid/overlay"_pair_hybrid.html -command. This is because they have no repulsive core. Hence if they -are used by themselves, there will be no repulsion to keep two -oppositely charged particles from moving arbitrarily close to each -other. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -cutoff (distance units) :ul - -For {coul/cut} and {coul/debye}, the cutoff coefficient is optional. -If it is not used (as in some of the examples above), the default -global value specified in the pair_style command is used. - -For {coul/long} and {coul/msm} no cutoff can be specified for an -individual I,J type pair via the pair_coeff command. All type pairs -use the same global Coulombic cutoff specified in the pair_style -command. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the cutoff distance for the -{coul/cut} style can be mixed. The default mix value is {geometric}. -See the "pair_modify" command for details. - -The "pair_modify"_pair_modify.html shift option is not relevant -for these pair styles. - -The {coul/long} style supports the "pair_modify"_pair_modify.html -table option for tabulation of the short-range portion of the -long-range Coulombic interaction. - -These pair styles do not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -These pair styles write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -The {coul/long}, {coul/msm} and {tip4p/long} styles are part of the -KSPACE package. They are only enabled if LAMMPS was built with that -package. See the "Build package"_Build_package.html doc page for more -info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style, -hybrid/overlay"_pair_hybrid.html, "kspace_style"_kspace_style.html - -[Default:] none - -:line - -:link(Wolf1) -[(Wolf)] D. Wolf, P. Keblinski, S. R. Phillpot, J. Eggebrecht, J Chem -Phys, 110, 8254 (1999). - -:link(Fennell1) -[(Fennell)] C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, -234104 (2006). - -:link(Streitz2) -[(Streitz)] F. H. Streitz, J. W. Mintmire, Phys Rev B, 50, 11996-12003 -(1994). - -:link(Jorgensen3) -[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem -Phys, 79, 926 (1983). diff --git a/doc/txt/pair_coul_diel.txt b/doc/txt/pair_coul_diel.txt deleted file mode 100644 index 7708287db9e476c18c13932906ba885aa2e94fa9..0000000000000000000000000000000000000000 --- a/doc/txt/pair_coul_diel.txt +++ /dev/null @@ -1,113 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style coul/diel command :h3 -pair_style coul/diel/omp command :h3 - -[Syntax:] - -pair_style coul/diel cutoff :pre - -cutoff = global cutoff (distance units) - -[Examples:] - -pair_style coul/diel 3.5 -pair_coeff 1 4 78. 1.375 0.112 :pre - - -[Description:] - -Style {coul/diel} computes a Coulomb correction for implicit solvent -ion interactions in which the dielectric permittivity is distance dependent. -The dielectric permittivity epsilon_D(r) connects to limiting regimes: -One limit is defined by a small dielectric permittivity (close to vacuum) -at or close to contact separation between the ions. At larger separations -the dielectric permittivity reaches a bulk value used in the regular Coulomb -interaction coul/long or coul/cut. -The transition is modeled by a hyperbolic function which is incorporated -in the Coulomb correction term for small ion separations as follows - -:c,image(Eqs/pair_coul_diel.jpg) - -where r_me is the inflection point of epsilon_D(r) and sigma_e is a slope -defining length scale. C is the same Coulomb conversion factor as in the -pair_styles coul/cut, coul/long, and coul/debye. In this way the Coulomb -interaction between ions is corrected at small distances r. The lower -limit of epsilon_D(r->0)=5.2 due to dielectric saturation "(Stiles)"_#Stiles -while the Coulomb interaction reaches its bulk limit by setting -epsilon_D(r->\infty)=epsilon, the bulk value of the solvent which is 78 -for water at 298K. - -Examples of the use of this type of Coulomb interaction include implicit -solvent simulations of salt ions -"(Lenart)"_#Lenart1 and of ionic surfactants "(Jusufi)"_#Jusufi1. -Note that this potential is only reasonable for implicit solvent simulations -and in combination with coul/cut or coul/long. It is also usually combined -with gauss/cut, see "(Lenart)"_#Lenart1 or "(Jusufi)"_#Jusufi1. - -The following coefficients must be defined for each pair of atom -types via the "pair_coeff"_pair_coeff.html command as in the example -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -epsilon (no units) -r_me (distance units) -sigma_e (distance units) :ul - -The global cutoff (r_c) specified in the pair_style command is used. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support parameter mixing. Coefficients must -be given explicitly for each type of particle pairs. - -This pair style supports the "pair_modify"_pair_modify.html shift -option for the energy of the Gauss-potential portion of the pair -interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -[Restrictions:] - -This style is part of the "USER-MISC" package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html -"pair_style gauss/cut"_pair_gauss.html - -[Default:] none - -:line - -:link(Stiles) -[(Stiles)] Stiles , Hubbard, and Kayser, J Chem Phys, 77, -6189 (1982). - -:link(Lenart1) -[(Lenart)] Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, -044509 (2007). - -:link(Jusufi1) -[(Jusufi)] Jusufi, Hynninen, and Panagiotopoulos, J Phys Chem B, 112, -13783 (2008). diff --git a/doc/txt/pair_coul_shield.txt b/doc/txt/pair_coul_shield.txt deleted file mode 100644 index 8152a1a12e1a0c85774bd71c0acb31da0be3bc6a..0000000000000000000000000000000000000000 --- a/doc/txt/pair_coul_shield.txt +++ /dev/null @@ -1,93 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style coul/shield command :h3 - -[Syntax:] - -pair_style coul/shield cutoff tap_flag :pre - -cutoff = global cutoff (distance units) -tap_flag = 0/1 to turn off/on the taper function :ul - -[Examples:] - -pair_style coul/shield 16.0 1 -pair_coeff 1 2 0.70 :pre - - -[Description:] - -Style {coul/shield} computes a Coulomb interaction for boron and -nitrogen atoms located in different layers of hexagonal boron -nitride. This potential is designed be used in combination with -the pair style "ilp/graphene/hbn"_pair_ilp_graphene_hbn.html - -NOTE: This potential is intended for electrostatic interactions between -two different layers of hexagonal boron nitride. Therefore, to avoid -interaction within the same layers, each layer should have a separate -molecule id and is recommended to use the "full" atom style, so that -charge and molecule ID information is included. - -:c,image(Eqs/pair_coul_shield.jpg) - -Where Tap(r_ij) is the taper function which provides a continuous cutoff -(up to third derivative) for inter-atomic separations larger than r_c -"(Leven1)"_#Leven3, "(Leven2)"_#Leven4 and "(Maaravi)"_#Maaravi1. -Here {lambda} is the shielding parameter that -eliminates the short-range singularity of the classical mono-polar -electrostatic interaction expression "(Maaravi)"_#Maaravi1. - -The shielding parameter {lambda} (1/distance units) must be defined for -each pair of atom types via the "pair_coeff"_pair_coeff.html command as -in the example above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html commands: - -The global cutoff (r_c) specified in the pair_style command is used. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support parameter mixing. Coefficients must -be given explicitly for each type of particle pairs. - -The "pair_modify"_pair_modify.html {table} option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -{tail} option for adding long-range tail corrections to energy and -pressure. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -[Restrictions:] - -This style is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html -"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html - -[Default:] tap_flag = 1 - -:line - -:link(Leven3) -[(Leven1)] I. Leven, I. Azuri, L. Kronik and O. Hod, J. Chem. Phys. 140, 104106 (2014). - -:link(Leven4) -[(Leven2)] I. Leven et al, J. Chem.Theory Comput. 12, 2896-905 (2016). - -:link(Maaravi1) -[(Maaravi)] T. Maaravi et al, J. Phys. Chem. C 121, 22826-22835 (2017). diff --git a/doc/txt/pair_cs.txt b/doc/txt/pair_cs.txt deleted file mode 100644 index 5fce65d6f751c2f5f8037ec74184243d55ca2822..0000000000000000000000000000000000000000 --- a/doc/txt/pair_cs.txt +++ /dev/null @@ -1,175 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style born/coul/dsf/cs command :h3 -pair_style born/coul/long/cs command :h3 -pair_style born/coul/long/cs/gpu command :h3 -pair_style born/coul/wolf/cs command :h3 -pair_style born/coul/wolf/cs/gpu command :h3 -pair_style buck/coul/long/cs command :h3 -pair_style coul/long/cs command :h3 -pair_style coul/long/cs/gpu command :h3 -pair_style coul/wolf/cs command :h3 -pair_style lj/cut/coul/long/cs command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {born/coul/dsf/cs} or {born/coul/long/cs} or {born/coul/wolf/cs} or {buck/coul/long/cs} or {coul/long/cs} or {coul/wolf/cs} or {lj/cut/coul/long/cs} -args = list of arguments for a particular style :ul - {born/coul/dsf/cs} args = alpha cutoff (cutoff2) - alpha = damping parameter (inverse distance units) - cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (distance units) - {born/coul/long/cs} args = cutoff (cutoff2) - cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {born/coul/wolf/cs} args = alpha cutoff (cutoff2) - alpha = damping parameter (inverse distance units) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {buck/coul/long/cs} args = cutoff (cutoff2) - cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {coul/long} args = cutoff - cutoff = global cutoff for Coulombic (distance units) - {coul/wolf} args = alpha cutoff - alpha = damping parameter (inverse distance units) - cutoff = global cutoff for Coulombic (distance units) - {lj/cut/coul/long/cs} args = cutoff (cutoff2) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre - -[Examples:] - -pair_style born/coul/dsf/cs 0.1 10.0 12.0 -pair_coeff * * 0.0 1.00 0.00 0.00 0.00 -pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 :pre - -pair_style born/coul/long/cs 10.0 8.0 -pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 :pre - -pair_style born/coul/wolf/cs 0.25 10.0 12.0 -pair_coeff * * 0.0 1.00 0.00 0.00 0.00 -pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 :pre - -pair_style buck/coul/long/cs 10.0 -pair_style buck/coul/long/cs 10.0 8.0 -pair_coeff * * 100.0 1.5 200.0 -pair_coeff 1 1 100.0 1.5 200.0 9.0 :pre - -pair_style coul/long/cs 10.0 -pair_coeff * * :pre - -pair_style coul/wolf/cs 0.2 9.0 -pair_coeff * * :pre - -pair_style lj/cut/coul/long/cs 10.0 -pair_style lj/cut/coul/long/cs 10.0 8.0 -pair_coeff * * 100.0 3.0 -pair_coeff 1 1 100.0 3.5 9.0 :pre - -[Description:] - -These pair styles are designed to be used with the adiabatic -core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham2. See -the "Howto coreshell"_Howto_coreshell.html doc page for an overview of -the model as implemented in LAMMPS. - -All the styles are identical to the corresponding pair style without -the "/cs" in the name: - -"pair_style born/coul/dsf"_pair_born.html -"pair_style born/coul/long"_pair_born.html -"pair_style born/coul/wolf"_pair_born.html -"pair_style buck/coul/long"_pair_buck.html -"pair_style coul/long"_pair_coul.html -"pair_style coul/wolf"_pair_coul.html -"pair_style lj/cut/coul/long"_pair_lj.html :ul - -except that they correctly treat the special case where the distance -between two charged core and shell atoms in the same core/shell pair -approach r = 0.0. - -Styles with a "/long" in the name are used with a long-range solver -for Coulombic interactions via the "kspace_style"_kspace_style.html -command. They require special treatment of the short-range Coulombic -interactions within the cor/shell model. - -Specifically, the short-range Coulomb interaction between a core and -its shell should be turned off using the -"special_bonds"_special_bonds.html command by setting the 1-2 weight -to 0.0, which works because the core and shell atoms are bonded to -each other. This induces a long-range correction approximation which -fails at small distances (~< 10e-8). Therefore, the Coulomb term which -is used to calculate the correction factor is extended by a minimal -distance (r_min = 1.0-6) when the interaction between a core/shell -pair is treated, as follows - -:c,image(Eqs/pair_cs.jpg) - -where C is an energy-conversion constant, Qi and Qj are the charges on -the core and shell, epsilon is the dielectric constant and r_min is the -minimal distance. - -For styles that are not used with a long-range solver, i.e. those with -"/dsf" or "/wolf" in the name, the only correction is the addition of -a minimal distance to avoid the possible r = 0.0 case for a core/shell -pair. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -See the corresponding doc pages for pair styles without the "cs" -suffix to see how mixing, shifting, tabulation, tail correction, -restarting, and rRESPA are handled by theses pair styles. - -:line - -[Restrictions:] - -These pair styles are part of the CORESHELL package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style born"_pair_born.html, -"pair_style buck"_pair_buck.html - -[Default:] none - -:line - -:link(MitchellFinchham2) -[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter, -5, 1031-1038 (1993). diff --git a/doc/txt/pair_dipole.txt b/doc/txt/pair_dipole.txt deleted file mode 100644 index c6956010610f340ab7bbb85ad79be3e71002acd0..0000000000000000000000000000000000000000 --- a/doc/txt/pair_dipole.txt +++ /dev/null @@ -1,275 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/cut/dipole/cut command :h3 -pair_style lj/cut/dipole/cut/gpu command :h3 -pair_style lj/cut/dipole/cut/omp command :h3 -pair_style lj/sf/dipole/sf command :h3 -pair_style lj/sf/dipole/sf/gpu command :h3 -pair_style lj/sf/dipole/sf/omp command :h3 -pair_style lj/cut/dipole/long command :h3 -pair_style lj/cut/dipole/long/gpu command :h3 -pair_style lj/long/dipole/long command :h3 - -[Syntax:] - -pair_style lj/cut/dipole/cut cutoff (cutoff2) -pair_style lj/sf/dipole/sf cutoff (cutoff2) -pair_style lj/cut/dipole/long cutoff (cutoff2) -pair_style lj/long/dipole/long flag_lj flag_coul cutoff (cutoff2) :pre - -cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units) :ulb,l -cutoff2 = global cutoff for Coulombic and dipole (optional) (distance units) :l -flag_lj = {long} or {cut} or {off} :l - {long} = use long-range damping on dispersion 1/r^6 term - {cut} = use a cutoff on dispersion 1/r^6 term - {off} = omit disperion 1/r^6 term entirely :pre -flag_coul = {long} or {off} :l - {long} = use long-range damping on Coulombic 1/r and point-dipole terms - {off} = omit Coulombic and point-dipole terms entirely :pre -:ule - -[Examples:] - -pair_style lj/cut/dipole/cut 10.0 -pair_coeff * * 1.0 1.0 -pair_coeff 2 3 1.0 1.0 2.5 4.0 :pre - -pair_style lj/sf/dipole/sf 9.0 -pair_coeff * * 1.0 1.0 -pair_coeff 2 3 1.0 1.0 2.5 4.0 scale 0.5 -pair_coeff 2 3 1.0 1.0 2.5 4.0 :pre - -pair_style lj/cut/dipole/long 10.0 -pair_coeff * * 1.0 1.0 -pair_coeff 2 3 1.0 1.0 2.5 4.0 :pre - -pair_style lj/long/dipole/long long long 3.5 10.0 -pair_coeff * * 1.0 1.0 -pair_coeff 2 3 1.0 1.0 2.5 4.0 :pre - -[Description:] - -Style {lj/cut/dipole/cut} computes interactions between pairs of particles -that each have a charge and/or a point dipole moment. In addition to -the usual Lennard-Jones interaction between the particles (Elj) the -charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp) -interactions are computed by these formulas for the energy (E), force -(F), and torque (T) between particles I and J. - -:c,image(Eqs/pair_dipole.jpg) - -where qi and qj are the charges on the two particles, pi and pj are -the dipole moment vectors of the two particles, r is their separation -distance, and the vector r = Ri - Rj is the separation vector between -the two particles. Note that Eqq and Fqq are simply Coulombic energy -and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the -torques do not act symmetrically. These formulas are discussed in -"(Allen)"_#Allen2 and in "(Toukmaji)"_#Toukmaji2. - -Also note, that in the code, all of these terms (except Elj) have a -C/epsilon prefactor, the same as the Coulombic term in the LJ + -Coulombic pair styles discussed "here"_pair_lj.html. C is an -energy-conversion constant and epsilon is the dielectric constant -which can be set by the "dielectric"_dielectric.html command. The -same is true of the equations that follow for other dipole pair -styles. - -Style {lj/sf/dipole/sf} computes "shifted-force" interactions between -pairs of particles that each have a charge and/or a point dipole -moment. In general, a shifted-force potential is a (slightly) modified -potential containing extra terms that make both the energy and its -derivative go to zero at the cutoff distance; this removes -(cutoff-related) problems in energy conservation and any numerical -instability in the equations of motion "(Allen)"_#Allen2. Shifted-force -interactions for the Lennard-Jones (E_LJ), charge-charge (Eqq), -charge-dipole (Eqp), dipole-charge (Epq) and dipole-dipole (Epp) -potentials are computed by these formulas for the energy (E), force -(F), and torque (T) between particles I and J: - -:c,image(Eqs/pair_dipole_sf.jpg) -:c,image(Eqs/pair_dipole_sf2.jpg) - -where epsilon and sigma are the standard LJ parameters, r_c is the -cutoff, qi and qj are the charges on the two particles, pi and pj are -the dipole moment vectors of the two particles, r is their separation -distance, and the vector r = Ri - Rj is the separation vector between -the two particles. Note that Eqq and Fqq are simply Coulombic energy -and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the -torques do not act symmetrically. The shifted-force formula for the -Lennard-Jones potential is reported in "(Stoddard)"_#Stoddard. The -original (non-shifted) formulas for the electrostatic potentials, -forces and torques can be found in "(Price)"_#Price2. The shifted-force -electrostatic potentials have been obtained by applying equation 5.13 -of "(Allen)"_#Allen2. The formulas for the corresponding forces and -torques have been obtained by applying the 'chain rule' as in appendix -C.3 of "(Allen)"_#Allen2. - -If one cutoff is specified in the pair_style command, it is used for -both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, -they are used as cutoffs for the LJ and Coulombic (q,p) terms -respectively. This pair style also supports an optional {scale} keyword -as part of a pair_coeff statement, where the interactions can be -scaled according to this factor. This scale factor is also made available -for use with fix adapt. - -Style {lj/cut/dipole/long} computes long-range point-dipole -interactions as discussed in "(Toukmaji)"_#Toukmaji2. Dipole-dipole, -dipole-charge, and charge-charge interactions are all supported, along -with the standard 12/6 Lennard-Jones interactions, which are computed -with a cutoff. A "kspace_style"_kspace_style.html must be defined to -use this pair style. Currently, only "kspace_style -ewald/disp"_kspace_style.html support long-range point-dipole -interactions. - -Style {lj/long/dipole/long} also computes point-dipole interactions as -discussed in "(Toukmaji)"_#Toukmaji2. Long-range dipole-dipole, -dipole-charge, and charge-charge interactions are all supported, along -with the standard 12/6 Lennard-Jones interactions. LJ interactions -can be cutoff or long-ranged. - -For style {lj/long/dipole/long}, if {flag_lj} is set to {long}, no -cutoff is used on the LJ 1/r^6 dispersion term. The long-range -portion is calculated by using the "kspace_style -ewald_disp"_kspace_style.html command. The specified LJ cutoff then -determines which portion of the LJ interactions are computed directly -by the pair potential versus which part is computed in reciprocal -space via the Kspace style. If {flag_lj} is set to {cut}, the LJ -interactions are simply cutoff, as with "pair_style -lj/cut"_pair_lj.html. If {flag_lj} is set to {off}, LJ interactions -are not computed at all. - -If {flag_coul} is set to {long}, no cutoff is used on the Coulombic or -dipole interactions. The long-range portion is calculated by using -{ewald_disp} of the "kspace_style"_kspace_style.html command. If -{flag_coul} is set to {off}, Coulombic and dipole interactions are not -computed at all. - -Atoms with dipole moments should be integrated using the "fix -nve/sphere update dipole"_fix_nve_sphere.html or the "fix -nvt/sphere update dipole"_fix_nvt_sphere.html command to rotate the -dipole moments. The {omega} option on the "fix -langevin"_fix_langevin.html command can be used to thermostat the -rotational motion. The "compute temp/sphere"_compute_temp_sphere.html -command can be used to monitor the temperature, since it includes -rotational degrees of freedom. The "atom_style -hybrid dipole sphere"_atom_style.html command should be used since -it defines the point dipoles and their rotational state. -The magnitude and orientation of the dipole moment for each particle -can be defined by the "set"_set.html command or in the "Atoms" section -of the data file read in by the "read_data"_read_data.html command. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) -cutoff1 (distance units) -cutoff2 (distance units) :ul - -The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair_style command are used. -If only one cutoff is specified, it is used as the cutoff for both LJ -and Coulombic interactions for this type pair. If both coefficients -are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distances for this pair style can be mixed. The default -mix value is {geometric}. See the "pair_modify" command for details. - -For atom type pairs I,J and I != J, the A, sigma, d1, and d2 -coefficients and cutoff distance for this pair style can be mixed. A -is an energy value mixed like a LJ epsilon. D1 and d2 are distance -values and are mixed like sigma. The default mix value is -{geometric}. See the "pair_modify" command for details. - -This pair style does not support the "pair_modify"_pair_modify.html -shift option for the energy of the Lennard-Jones portion of the pair -interaction; such energy goes to zero at the cutoff by construction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -[Restrictions:] - -The {lj/cut/dipole/cut}, {lj/cut/dipole/long}, and -{lj/long/dipole/long} styles are part of the DIPOLE package. They are -only enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -The {lj/sf/dipole/sf} style is part of the USER-MISC package. It is -only enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Using dipole pair styles with {electron} "units"_units.html is not -currently supported. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "set"_set.html, "read_data"_read_data.html, -"fix nve/sphere"_fix_nve_sphere.html, "fix nvt/sphere"_fix_nvt_sphere.html - -[Default:] none - -:line - -:link(Allen2) -[(Allen)] Allen and Tildesley, Computer Simulation of Liquids, -Clarendon Press, Oxford, 1987. - -:link(Toukmaji2) -[(Toukmaji)] Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, -10913 (2000). - -:link(Stoddard) -[(Stoddard)] Stoddard and Ford, Phys Rev A, 8, 1504 (1973). - -:link(Price2) -[(Price)] Price, Stone and Alderton, Mol Phys, 52, 987 (1984). diff --git a/doc/txt/pair_dpd.txt b/doc/txt/pair_dpd.txt deleted file mode 100644 index db6fc174d4f7b51752c4012643d6cd7fc69f5048..0000000000000000000000000000000000000000 --- a/doc/txt/pair_dpd.txt +++ /dev/null @@ -1,209 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style dpd command :h3 -pair_style dpd/gpu command :h3 -pair_style dpd/intel command :h3 -pair_style dpd/omp command :h3 -pair_style dpd/tstat command :h3 -pair_style dpd/tstat/gpu command :h3 -pair_style dpd/tstat/omp command :h3 - -[Syntax:] - -pair_style dpd T cutoff seed -pair_style dpd/tstat Tstart Tstop cutoff seed :pre - -T = temperature (temperature units) -Tstart,Tstop = desired temperature at start/end of run (temperature units) -cutoff = global cutoff for DPD interactions (distance units) -seed = random # seed (positive integer) :ul - -[Examples:] - -pair_style dpd 1.0 2.5 34387 -pair_coeff * * 3.0 1.0 -pair_coeff 1 1 3.0 1.0 1.0 :pre - -pair_style dpd/tstat 1.0 1.0 2.5 34387 -pair_coeff * * 1.0 -pair_coeff 1 1 1.0 1.0 :pre - -[Description:] - -Style {dpd} computes a force field for dissipative particle dynamics -(DPD) following the exposition in "(Groot)"_#Groot1. - -Style {dpd/tstat} invokes a DPD thermostat on pairwise interactions, -which is equivalent to the non-conservative portion of the DPD force -field. This pair-wise thermostat can be used in conjunction with any -"pair style"_pair_style.html, and in leiu of per-particle thermostats -like "fix langevin"_fix_langevin.html or ensemble thermostats like -Nose Hoover as implemented by "fix nvt"_fix_nh.html. To use -{dpd/tstat} as a thermostat for another pair style, use the "pair_style -hybrid/overlay"_pair_hybrid.html command to compute both the desired -pair interaction and the thermostat for each pair of particles. - -For style {dpd}, the force on atom I due to atom J is given as a sum -of 3 terms - -:c,image(Eqs/pair_dpd.jpg) - -where Fc is a conservative force, Fd is a dissipative force, and Fr is -a random force. Rij is a unit vector in the direction Ri - Rj, Vij is -the vector difference in velocities of the two atoms = Vi - Vj, alpha -is a Gaussian random number with zero mean and unit variance, dt is -the timestep size, and w(r) is a weighting factor that varies between -0 and 1. Rc is the cutoff. Sigma is set equal to sqrt(2 Kb T gamma), -where Kb is the Boltzmann constant and T is the temperature parameter -in the pair_style command. - -For style {dpd/tstat}, the force on atom I due to atom J is the same -as the above equation, except that the conservative Fc term is -dropped. Also, during the run, T is set each timestep to a ramped -value from Tstart to Tstop. - -For style {dpd}, the pairwise energy associated with style {dpd} is -only due to the conservative force term Fc, and is shifted to be zero -at the cutoff distance Rc. The pairwise virial is calculated using -all 3 terms. For style {dpd/tstat} there is no pairwise energy, but -the last two terms of the formula make a contribution to the virial. - -For style {dpd}, the following coefficients must be defined for each -pair of atoms types via the "pair_coeff"_pair_coeff.html command as in -the examples above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -A (force units) -gamma (force/velocity units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global DPD -cutoff is used. Note that sigma is set equal to sqrt(2 T gamma), -where T is the temperature set by the "pair_style"_pair_style.html -command so it does not need to be specified. - -For style {dpd/tstat}, the coefficients defined for each pair of -atoms types via the "pair_coeff"_pair_coeff.html command is the same, -except that A is not included. - -The GPU-accelerated versions of these styles are implemented based on -the work of "(Afshar)"_#Afshar and "(Phillips)"_#Phillips. - -NOTE: If you are modeling DPD polymer chains, you may want to use the -"pair_style srp"_pair_srp.html command in conjunction with these pair -styles. It is a soft segmental repulsive potential (SRP) that can -prevent DPD polymer chains from crossing each other. - -NOTE: The virial calculation for pressure when using this pair style -includes all the components of force listed above, including the -random force. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -These pair styles do not support the "pair_modify"_pair_modify.html -shift option for the energy of the pair interaction. Note that as -discussed above, the energy due to the conservative Fc term is already -shifted to be 0.0 at the cutoff distance Rc. - -The "pair_modify"_pair_modify.html table option is not relevant -for these pair styles. - -These pair style do not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -These pair styles writes their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. Note -that the user-specified random number seed is stored in the restart -file, so when a simulation is restarted, each processor will -re-initialize its random number generator the same way it did -initially. This means the random forces will be random, but will not -be the same as they would have been if the original simulation had -continued past the restart time. - -These pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -The {dpd/tstat} style can ramp its target temperature over multiple -runs, using the {start} and {stop} keywords of the "run"_run.html -command. See the "run"_run.html command for details of how to do -this. - -:line - -[Restrictions:] - -The default frequency for rebuilding neighbor lists is every 10 steps -(see the "neigh_modify"_neigh_modify.html command). This may be too -infrequent for style {dpd} simulations since particles move rapidly -and can overlap by large amounts. If this setting yields a non-zero -number of "dangerous" reneighborings (printed at the end of a -simulation), you should experiment with forcing reneighboring more -often and see if system energies/trajectories change. - -These pair styles requires you to use the "comm_modify vel -yes"_comm_modify.html command so that velocities are stored by ghost -atoms. - -These pair styles will not restart exactly when using the -"read_restart"_read_restart.html command, though they should provide -statistically similar results. This is because the forces they -compute depend on atom velocities. See the -"read_restart"_read_restart.html command for more details. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix nvt"_fix_nh.html, "fix -langevin"_fix_langevin.html, "pair_style srp"_pair_srp.html - -[Default:] none - -:line - -:link(Groot1) -[(Groot)] Groot and Warren, J Chem Phys, 107, 4423-35 (1997). - -:link(Afshar) -[(Afshar)] Afshar, F. Schmid, A. Pishevar, S. Worley, Comput Phys -Comm, 184, 1119-1128 (2013). - -:link(Phillips) -[(Phillips)] C. L. Phillips, J. A. Anderson, S. C. Glotzer, Comput -Phys Comm, 230, 7191-7201 (2011). - diff --git a/doc/txt/pair_dpd_fdt.txt b/doc/txt/pair_dpd_fdt.txt deleted file mode 100644 index 52605aef39927a796b0d127ebdf143fb366a5627..0000000000000000000000000000000000000000 --- a/doc/txt/pair_dpd_fdt.txt +++ /dev/null @@ -1,177 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style dpd/fdt command :h3 -pair_style dpd/fdt/energy command :h3 -pair_style dpd/fdt/energy/kk command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {dpd/fdt} or {dpd/fdt/energy} -args = list of arguments for a particular style :ul - {dpd/fdt} args = T cutoff seed - T = temperature (temperature units) - cutoff = global cutoff for DPD interactions (distance units) - seed = random # seed (positive integer) - {dpd/fdt/energy} args = cutoff seed - cutoff = global cutoff for DPD interactions (distance units) - seed = random # seed (positive integer) :pre - -[Examples:] - -pair_style dpd/fdt 300.0 2.5 34387 -pair_coeff * * 3.0 1.0 2.5 :pre - -pair_style dpd/fdt/energy 2.5 34387 -pair_coeff * * 3.0 1.0 0.1 2.5 :pre - -[Description:] - -Styles {dpd/fdt} and {dpd/fdt/energy} compute the force for dissipative -particle dynamics (DPD) simulations. The {dpd/fdt} style is used to -perform DPD simulations under isothermal and isobaric conditions, -while the {dpd/fdt/energy} style is used to perform DPD simulations -under isoenergetic and isoenthalpic conditions (see "(Lisal)"_#Lisal3). -For DPD simulations in general, the force on atom I due to atom J is -given as a sum of 3 terms - -:c,image(Eqs/pair_dpd.jpg) - -where Fc is a conservative force, Fd is a dissipative force, and Fr is -a random force. Rij is a unit vector in the direction Ri - Rj, Vij is -the vector difference in velocities of the two atoms = Vi - Vj, alpha -is a Gaussian random number with zero mean and unit variance, dt is -the timestep size, and w(r) is a weighting factor that varies between -0 and 1. Rc is the cutoff. The weighting factor, omega_ij, varies -between 0 and 1, and is chosen to have the following functional form: - -:c,image(Eqs/pair_dpd_omega.jpg) - -Note that alternative definitions of the weighting function exist, but -would have to be implemented as a separate pair style command. - -For style {dpd/fdt}, the fluctuation-dissipation theorem defines gamma -to be set equal to sigma*sigma/(2 T), where T is the set point -temperature specified as a pair style parameter in the above examples. -The following coefficients must be defined for each pair of atoms types -via the "pair_coeff"_pair_coeff.html command as in the examples above, -or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html commands: - -A (force units) -sigma (force*time^(1/2) units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global DPD -cutoff is used. - -Style {dpd/fdt/energy} is used to perform DPD simulations -under isoenergetic and isoenthalpic conditions. The fluctuation-dissipation -theorem defines gamma to be set equal to sigma*sigma/(2 dpdTheta), where -dpdTheta is the average internal temperature for the pair. The particle -internal temperature is related to the particle internal energy through -a mesoparticle equation of state (see "fix eos"_fix.html). The -differential internal conductive and mechanical energies are computed -within style {dpd/fdt/energy} as: - -:c,image(Eqs/pair_dpd_energy.jpg) - -where - -:c,image(Eqs/pair_dpd_energy_terms.jpg) - -Zeta_ij^q is a second Gaussian random number with zero mean and unit -variance that is used to compute the internal conductive energy. The -fluctuation-dissipation theorem defines alpha*alpha to be set -equal to 2*kB*kappa, where kappa is the mesoparticle thermal -conductivity parameter. The following coefficients must be defined for -each pair of atoms types via the "pair_coeff"_pair_coeff.html -command as in the examples above, or in the data file or restart files -read by the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -A (force units) -sigma (force*time^(1/2) units) -kappa (energy*temperature/time units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global DPD -cutoff is used. - -The pairwise energy associated with styles {dpd/fdt} and -{dpd/fdt/energy} is only due to the conservative force term Fc, and is -shifted to be zero at the cutoff distance Rc. The pairwise virial is -calculated using only the conservative term. - -The forces computed through the {dpd/fdt} and {dpd/fdt/energy} styles -can be integrated with the velocity-Verlet integration scheme or the -Shardlow splitting integration scheme described by "(Lisal)"_#Lisal3. -In the cases when these pair styles are combined with the -"fix shardlow"_fix_shardlow.html, these pair styles differ from the -other dpd styles in that the dissipative and random forces are split -from the force calculation and are not computed within the pair style. -Thus, only the conservative force is computed by the pair style, -while the stochastic integration of the dissipative and random forces -are handled through the Shardlow splitting algorithm approach. The -Shardlow splitting algorithm is advantageous, especially when -performing DPD under isoenergetic conditions, as it allows -significantly larger timesteps to be taken. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -These commands are part of the USER-DPD package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Pair styles {dpd/fdt} and {dpd/fdt/energy} require use of the -"comm_modify vel yes"_comm_modify.html option so that velocities are -stored by ghost atoms. - -Pair style {dpd/fdt/energy} requires "atom_style dpd"_atom_style.html -to be used in order to properly account for the particle internal -energies and temperatures. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix shardlow"_fix_shardlow.html - -[Default:] none - -:line - -:link(Lisal3) -[(Lisal)] M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative -particle dynamics at isothermal, isobaric, isoenergetic, and -isoenthalpic conditions using Shardlow-like splitting algorithms.", -J. Chem. Phys., 135, 204105 (2011). diff --git a/doc/txt/pair_drip.txt b/doc/txt/pair_drip.txt deleted file mode 100644 index 84c92b04e41214a7fecdb0478eaa2726d4d6bc42..0000000000000000000000000000000000000000 --- a/doc/txt/pair_drip.txt +++ /dev/null @@ -1,141 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style drip command :h3 - -[Syntax:] - -pair_style hybrid/overlay drip \[styles ...\] :pre - -styles = other styles to be overlayed with drip (optional) :ul - -[Examples:] - -pair_style hybrid/overlay drip -pair_coeff * * none -pair_coeff * * drip C.drip C :pre - -pair_style hybrid/overlay drip rebo -pair_coeff * * drip C.drip C -pair_coeff * * rebo CH.airebo C :pre - -pair_style hybrid/overlay drip rebo -pair_coeff * * drip C.drip C NULL -pair_coeff * * rebo CH.airebo C H :pre - - -[Description:] - -Style {drip} computes the interlayer interactions of layered materials using -the dihedral-angle-corrected registry-dependent (DRIP) potential as described -in "(Wen)"_#Wen2018, which is based on the "(Kolmogorov)"_#Kolmogorov2005 -potential and provides an improved prediction for forces. -The total potential energy of a system is - -:c,image(Eqs/pair_drip.jpg) - -where the {r^-6} term models the attractive London dispersion, -the exponential term is designed to capture the registry effect due to -overlapping {pi} bonds, and {fc} is a cutoff function. - - -This potential (DRIP) only provides the interlayer interactions between -graphene layers. So, to perform a realistic simulation, it should be used in -combination with an intralayer potential such as "REBO"_pair_airebo.html and -"Tersoff"_pair_tersoff.html. -To keep the intralayer interactions unaffected, we should avoid applying DRIP -to contribute energy to intralayer interactions. This can be achieved by -assigning different molecular IDs to atoms in different layers, and DRIP is -implemented such that only atoms with different molecular ID can interact with -each other. For this purpose, "atom style"_atom_style.html "molecular" or -"full" has to be used. - -On the other way around, "REBO"_pair_airebo.html ("Tersoff"_pair_tersoff.html -or any other potential used to provide the intralayer interactions) should not -interfere with the interlayer interactions described by DRIP. This is typically -automatically achieved using the commands provided in the {Examples} section -above, since the cutoff distance for carbon-carbon interaction in the intralayer -potentials (e.g. 2 Angstrom for "REBO"_pair_airebo.html) is much smaller than -the equilibrium layer distance of graphene layers (about 3.4 Angstrom). -If you want, you can enforce this by assigning different atom types to atoms in -different layers, and apply an intralayer potential to one atom type. -See "pair_hybrid"_pair_hybrid.html for details. - -:line - -The "pair_coeff"_pair_coeff.html command for DRIP takes {4+N} arguments, where -{N} is the number of LAMMPS atom types. The fist three arguments must be fixed -to be {* * drip}, the fourth argument is the path to the DRIP parameter file, -and the remaining N arguments specifying the mapping between element in the -parameter file and atom types. For example, if your LAMMPS simulation has 3 atom -types and you want all of them to be C, you would use the following pair_coeff -command: - -pair_coeff * * drip C.drip C C C :pre - -If a mapping value is specified as NULL, the mapping is not performed. This -could be useful when DRIP is used to model part of the system where other -element exists. Suppose you have a hydrocarbon system, with C of atom type 1 -and H of atom type 2, you can use the following command to inform DRIP not to -model H atoms: - -pair_style hybrid/overlay drip rebo -pair_coeff * * drip C.drip C NULL -pair_coeff * * rebo CH.airebo C H :pre - -NOTE: The potential parameters developed in "(Wen)"_#Wen2018 are provided with -LAMMPS (see the "potentials" directory). Besides those in "Wen"_#Wen2018, an -additional parameter "normal_cutoff", specific to the LAMMPS implementation, is -used to find the three nearest neighbors of an atom to construct the normal. - - -:line - -[Mixing, shift, table, tail correction, and restart info]: - -This pair style does not support the pair_modify mix, shift, table, -and tail options. - -This pair style does not write their information to binary restart files, since -it is stored in potential files. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. - -[Restrictions:] - -This pair style is part of the USER-MISC package. It is only enabled if LAMMPS -was built with that package. See the "Build package"_Build_package.html doc -page for more info. - -This pair potential requires the "newton"_newton.html setting to be "on" for -pair interactions. - - -The {C.drip} parameter file provided with LAMMPS (see the "potentials" -directory) is parameterized for metal "units"_units.html. You can use the DRIP -potential with any LAMMPS units, but you would need to create your own custom -parameter file with coefficients listed in the appropriate units, if your -simulation doesn't use "metal" units. - - -[Related commands:] - -"pair_style lebedeva_z"_pair_lebedeva_z.html, -"pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html, -"pair_style kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html, -"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html. - - -:line - -:link(Wen2018) -[(Wen)] M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, -98, 235404 (2018) - -:link(Kolmogorov2005) -[(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) - diff --git a/doc/txt/pair_dsmc.txt b/doc/txt/pair_dsmc.txt deleted file mode 100644 index 8b1ceab85857a0621b8ac6f9ad8b9cbdf8c33e88..0000000000000000000000000000000000000000 --- a/doc/txt/pair_dsmc.txt +++ /dev/null @@ -1,148 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style dsmc command :h3 - -[Syntax:] - -pair_style dsmc max_cell_size seed weighting Tref Nrecompute Nsample :pre - -max_cell_size = global maximum cell size for DSMC interactions (distance units) -seed = random # seed (positive integer) -weighting = macroparticle weighting -Tref = reference temperature (temperature units) -Nrecompute = re-compute v*sigma_max every this many timesteps (timesteps) -Nsample = sample this many times in recomputing v*sigma_max :ul - -[Examples:] - -pair_style dsmc 2.5 34387 10 1.0 100 20 -pair_coeff * * 1.0 -pair_coeff 1 1 1.0 :pre - -[Description:] - -Style {dsmc} computes collisions between pairs of particles for a -direct simulation Monte Carlo (DSMC) model following the exposition in -"(Bird)"_#Bird. Each collision resets the velocities of the two -particles involved. The number of pairwise collisions for each pair -or particle types and the length scale within which they occur are -determined by the parameters of the pair_style and pair_coeff -commands. - -Stochastic collisions are performed using the variable hard sphere -(VHS) approach, with the user-defined {max_cell_size} value used as -the maximum DSMC cell size, and reference cross-sections for -collisions given using the pair_coeff command. - -There is no pairwise energy or virial contributions associated with -this pair style. - -The following coefficient must be defined for each pair of atoms types -via the "pair_coeff"_pair_coeff.html command as in the examples above, -or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -sigma (area units, i.e. distance-squared) :ul - -The global DSMC {max_cell_size} determines the maximum cell length -used in the DSMC calculation. A structured mesh is overlayed on the -simulation box such that an integer number of cells are created in -each direction for each processor's sub-domain. Cell lengths are -adjusted up to the user-specified maximum cell size. - -:line - -To perform a DSMC simulation with LAMMPS, several additional options -should be set in your input script, though LAMMPS does not check for -these settings. - -Since this pair style does not compute particle forces, you should use -the "fix nve/noforce" time integration fix for the DSMC particles, -e.g. - -fix 1 all nve/noforce :pre - -This pair style assumes that all particles will communicated to -neighboring processors every timestep as they move. This makes it -possible to perform all collisions between pairs of particles that are -on the same processor. To ensure this occurs, you should use -these commands: - -neighbor 0.0 bin -neigh_modify every 1 delay 0 check no -atom_modify sort 0 0.0 -communicate single cutoff 0.0 :pre - -These commands ensure that LAMMPS communicates particles to -neighboring processors every timestep and that no ghost atoms are -created. The output statistics for a simulation run should indicate -there are no ghost particles or neighbors. - -In order to get correct DSMC collision statistics, users should -specify a Gaussian velocity distribution when populating the -simulation domain. Note that the default velocity distribution is -uniform, which will not give good DSMC collision rates. Specify -"dist gaussian" when using the "velocity"_velocity.html command -as in the following: - -velocity all create 594.6 87287 loop geom dist gaussian :pre - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -This pair style does not support the "pair_modify"_pair_modify.html -shift option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. Note -that the user-specified random number seed is stored in the restart -file, so when a simulation is restarted, each processor will -re-initialize its random number generator the same way it did -initially. This means the random forces will be random, but will not -be the same as they would have been if the original simulation had -continued past the restart time. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This style is part of the MC package. It is only enabled if LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix nve/noforce"_fix_nve_noforce.html, -"neigh_modify"_neigh_modify.html, "neighbor"_neighbor.html, -"comm_modify"_comm_modify.html - -[Default:] none - -:line - -:link(Bird) -[(Bird)] G. A. Bird, "Molecular Gas Dynamics and the Direct Simulation -of Gas Flows" (1994). diff --git a/doc/txt/pair_e3b.txt b/doc/txt/pair_e3b.txt deleted file mode 100644 index 832b4719c361934f6f83ad04cfe6ee1b493db1d5..0000000000000000000000000000000000000000 --- a/doc/txt/pair_e3b.txt +++ /dev/null @@ -1,140 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style e3b command :h3 - -[Syntax:] - -pair_style e3b Otype :pre -Otype = atom type for oxygen :l - -pair_coeff * * keyword :pre -one or more keyword/value pairs must be appended. :l -keyword = {preset} or {Ea} or {Eb} or {Ec} or {E2} or {K3} or {K2} or {Rs} or {Rc3} or {Rc2} or {bondL} or {neigh} :l -If the {preset} keyword is given, no others are needed. -Otherwise, all are mandatory except for {neigh}. -The {neigh} keyword is always optional. :l - {preset} arg = {2011} or {2015} = which set of predefined parameters to use - 2011 = use the potential parameters from "(Tainter 2011)"_#Tainter2011 - 2015 = use the potential parameters from "(Tainter 2015)"_#Tainter2015 - {Ea} arg = three-body energy for type A hydrogen bonding interactions (energy units) - {Eb} arg = three-body energy for type B hydrogen bonding interactions (energy units) - {Ec} arg = three-body energy for type C hydrogen bonding interactions (energy units) - {E2} arg = two-body energy correction (energy units) - {K3} arg = three-body exponential constant (inverse distance units) - {K2} arg = two-body exponential constant (inverse distance units) - {Rc3} arg = three-body cutoff (distance units) - {Rc2} arg = two-body cutoff (distance units) - {Rs} arg = three-body switching function cutoff (distance units) - {bondL} arg = intramolecular OH bond length (distance units) - {neigh} arg = approximate integer number of molecules within Rc3 of an oxygen atom :pre - -[Examples:] - -pair_style e3b 1 -pair_coeff * * Ea 35.85 Eb -240.2 Ec 449.3 E2 108269.9 K3 1.907 K2 4.872 Rc3 5.2 Rc2 5.2 Rs 5.0 bondL 0.9572 :pre - -pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.15 8.5 -pair_coeff * * e3b preset 2011 :pre - -[Description:] - -The {e3b} style computes an \"explicit three-body\" (E3B) potential for water "(Kumar 2008)"_#Kumar. - -:c,image(Eqs/e3b.jpg) - -This potential was developed as a water model that includes the three-body cooperativity of hydrogen bonding explicitly. -To use it in this way, it must be applied in conjunction with a conventional two-body water model, through {pair_style hybrid/overlay}. -The three body interactions are split into three types: A, B, and C. -Type A corresponds to anti-cooperative double hydrogen bond donor interactions. -Type B corresponds to the cooperative interaction of molecules that both donate and accept a hydrogen bond. -Type C corresponds to anti-cooperative double hydrogen bond acceptor interactions. -The three-body interactions are smoothly cutoff by the switching function s(r) between Rs and Rc3. -The two-body interactions are designed to correct for the effective many-body interactions implicitly included in the conventional two-body potential. -The two-body interactions are cut off sharply at Rc2, because K3 is typically significantly smaller than K2. -See "(Kumar 2008)"_#Kumar for more details. - -Only a single {pair_coeff} command is used with the {e3b} style. -The 1st two arguments must be * *. -The oxygen atom type for the pair style is passed as the only argument to the {pair_style} command, not in the {pair_coeff} command. -The hydrogen atom type is inferred by the ordering of the atoms. - -NOTE: Every atom of type Otype must be part of a water molecule. -Each water molecule must have consecutive IDs with the oxygen first. -This pair style does not test that this criteria is met. - -The {pair_coeff} command must have at least one keyword/value pair, as described above. -The {preset} keyword sets the potential parameters to the values used in "(Tainter 2011)"_#Tainter2011 or "(Tainter 2015)"_#Tainter2015. -To use the water models defined in those references, the {e3b} style should always be used in conjunction with an {lj/cut/tip4p/long} style through {pair_style hybrid/overlay}, as demonstrated in the second example above. -The {preset 2011} option should be used with the "TIP4P water model"_Howto_tip4p.html. -The {preset 2015} option should be used with the "TIP4P/2005 water model"_Howto_tip4p.html. -If the {preset} keyword is used, no other keyword is needed. -Changes to the preset parameters can be made by specifying the {preset} keyword followed by the specific parameter to change, like {Ea}. -Note that the other keywords must come after {preset} in the pair_style command. -The {e3b} style can also be used to implement any three-body potential of the same form by specifying all the keywords except {neigh}: {Ea}, {Eb}, {Ec}, {E2}, {K3}, {K2}, {Rc3}, {Rc2}, {Rs}, and {bondL}. -The keyword {bondL} specifies the intramolecular OH bond length of the water model being used. -This is needed to include H atoms that are within the cutoff even when the attached oxygen atom is not. - -This pair style allocates arrays sized according to the number of pairwise interactions within Rc3. -To do this it needs an estimate for the number of water molecules within Rc3 of an oxygen atom. -This estimate defaults to 10 and can be changed using the {neigh} keyword, which takes an integer as an argument. -If the neigh setting is too small, the simulation will fail with the error "neigh is too small". -If the neigh setting is too large, the pair style will use more memory than necessary. - -This pair style tallies a breakdown of the total E3B potential energy into sub-categories, which can be accessed via the "compute pair"_compute_pair.html command as a vector of values of length 4. -The 4 values correspond to the terms in the first equation above: the E2 term, the Ea term, the Eb term, and the Ec term. - -See the examples/USER/e3b directory for a complete example script. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style is incompatible with "respa"_run_style.html. - -:line - -[Restrictions:] - -This pair style is part of the USER-MISC package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -This pair style requires a fixed number of atoms in the simulation, so it is incompatible with fixes like "fix deposit"_fix_deposit.html. -If the number of atoms changes between runs, this pair style must be re-initialized by calling the {pair_style} and {pair_coeffs} commands. -This is not a fundamental limitation of the pair style, but the code currently does not support a variable number of atoms. - -The {preset} keyword currently only works with real, metal, si, and cgs "units"_units.html. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "compute pair"_compute_pair.html - -[Default:] - -The option default for the {neigh} keyword is 10. - -:line - -:link(Kumar) -[(Kumar)] Kumar and Skinner, J. Phys. Chem. B, 112, 8311 (2008) -:link(Tainter2011) -[(Tainter 2011)] Tainter, Pieniazek, Lin, and Skinner, J. Chem. Phys., 134, 184501 (2011) -:link(Tainter2015) -[(Tainter 2015)] Tainter, Shi, and Skinner, 11, 2268 (2015) diff --git a/doc/txt/pair_eam.txt b/doc/txt/pair_eam.txt deleted file mode 100644 index ed1378b6fd887e29307a29f4ec5690274825b747..0000000000000000000000000000000000000000 --- a/doc/txt/pair_eam.txt +++ /dev/null @@ -1,450 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style eam command :h3 -pair_style eam/gpu command :h3 -pair_style eam/intel command :h3 -pair_style eam/kk command :h3 -pair_style eam/omp command :h3 -pair_style eam/opt command :h3 -pair_style eam/alloy command :h3 -pair_style eam/alloy/gpu command :h3 -pair_style eam/alloy/intel command :h3 -pair_style eam/alloy/kk command :h3 -pair_style eam/alloy/omp command :h3 -pair_style eam/alloy/opt command :h3 -pair_style eam/cd command :h3 -pair_style eam/cd/omp command :h3 -pair_style eam/cd/old command :h3 -pair_style eam/cd/old/omp command :h3 -pair_style eam/fs command :h3 -pair_style eam/fs/gpu command :h3 -pair_style eam/fs/intel command :h3 -pair_style eam/fs/kk command :h3 -pair_style eam/fs/omp command :h3 -pair_style eam/fs/opt command :h3 - -[Syntax:] - -pair_style style :pre - -style = {eam} or {eam/alloy} or {eam/cd} or {eam/cd/old} or {eam/fs} :ul - -[Examples:] - -pair_style eam -pair_coeff * * cuu3 -pair_coeff 1*3 1*3 niu3.eam :pre - -pair_style eam/alloy -pair_coeff * * ../potentials/NiAlH_jea.eam.alloy Ni Al Ni Ni :pre - -pair_style eam/cd -pair_coeff * * ../potentials/FeCr.cdeam Fe Cr :pre - -pair_style eam/fs -pair_coeff * * NiAlH_jea.eam.fs Ni Al Ni Ni :pre - -[Description:] - -Style {eam} computes pairwise interactions for metals and metal alloys -using embedded-atom method (EAM) potentials "(Daw)"_#Daw. The total -energy Ei of an atom I is given by - -:c,image(Eqs/pair_eam.jpg) - -where F is the embedding energy which is a function of the atomic -electron density rho, phi is a pair potential interaction, and alpha -and beta are the element types of atoms I and J. The multi-body -nature of the EAM potential is a result of the embedding energy term. -Both summations in the formula are over all neighbors J of atom I -within the cutoff distance. - -The cutoff distance and the tabulated values of the functionals F, -rho, and phi are listed in one or more files which are specified by -the "pair_coeff"_pair_coeff.html command. These are ASCII text files -in a DYNAMO-style format which is described below. DYNAMO was the -original serial EAM MD code, written by the EAM originators. Several -DYNAMO potential files for different metals are included in the -"potentials" directory of the LAMMPS distribution. All of these files -are parameterized in terms of LAMMPS "metal units"_units.html. - -NOTE: The {eam} style reads single-element EAM potentials in the -DYNAMO {funcfl} format. Either single element or alloy systems can be -modeled using multiple {funcfl} files and style {eam}. For the alloy -case LAMMPS mixes the single-element potentials to produce alloy -potentials, the same way that DYNAMO does. Alternatively, a single -DYNAMO {setfl} file or Finnis/Sinclair EAM file can be used by LAMMPS -to model alloy systems by invoking the {eam/alloy} or {eam/cd} or -{eam/fs} styles as described below. These files require no mixing -since they specify alloy interactions explicitly. - -NOTE: Note that unlike for other potentials, cutoffs for EAM -potentials are not set in the pair_style or pair_coeff command; they -are specified in the EAM potential files themselves. Likewise, the -EAM potential files list atomic masses; thus you do not need to use -the "mass"_mass.html command to specify them. - -There are several WWW sites that distribute and document EAM -potentials stored in DYNAMO or other formats: - -http://www.ctcms.nist.gov/potentials -http://cst-www.nrl.navy.mil/ccm6/ap -http://enpub.fulton.asu.edu/cms/potentials/main/main.htm :pre - -These potentials should be usable with LAMMPS, though the alternate -formats would need to be converted to the DYNAMO format used by LAMMPS -and described on this page. The NIST site is maintained by Chandler -Becker (cbecker at nist.gov) who is good resource for info on -interatomic potentials and file formats. - -:line - -For style {eam}, potential values are read from a file that is in the -DYNAMO single-element {funcfl} format. If the DYNAMO file was created -by a Fortran program, it cannot have "D" values in it for exponents. -C only recognizes "e" or "E" for scientific notation. - -Note that unlike for other potentials, cutoffs for EAM potentials are -not set in the pair_style or pair_coeff command; they are specified in -the EAM potential files themselves. - -For style {eam} a potential file must be assigned to each I,I pair of -atom types by using one or more pair_coeff commands, each with a -single argument: - -filename :ul - -Thus the following command - -pair_coeff *2 1*2 cuu3.eam :pre - -will read the cuu3 potential file and use the tabulated Cu values for -F, phi, rho that it contains for type pairs 1,1 and 2,2 (type pairs -1,2 and 2,1 are ignored). See the "pair_coeff"_pair_coeff.html doc -page for alternate ways to specify the path for the potential file. -In effect, this makes atom types 1 and 2 in LAMMPS be Cu atoms. -Different single-element files can be assigned to different atom types -to model an alloy system. The mixing to create alloy potentials for -type pairs with I != J is done automatically the same way that the -serial DYNAMO code originally did it; you do not need to specify -coefficients for these type pairs. - -{Funcfl} files in the {potentials} directory of the LAMMPS -distribution have an ".eam" suffix. A DYNAMO single-element {funcfl} -file is formatted as follows: - -line 1: comment (ignored) -line 2: atomic number, mass, lattice constant, lattice type (e.g. FCC) -line 3: Nrho, drho, Nr, dr, cutoff :ul - -On line 2, all values but the mass are ignored by LAMMPS. The mass is -in mass "units"_units.html, e.g. mass number or grams/mole for metal -units. The cubic lattice constant is in Angstroms. On line 3, Nrho -and Nr are the number of tabulated values in the subsequent arrays, -drho and dr are the spacing in density and distance space for the -values in those arrays, and the specified cutoff becomes the pairwise -cutoff used by LAMMPS for the potential. The units of dr are -Angstroms; I'm not sure of the units for drho - some measure of -electron density. - -Following the three header lines are three arrays of tabulated values: - -embedding function F(rho) (Nrho values) -effective charge function Z(r) (Nr values) -density function rho(r) (Nr values) :ul - -The values for each array can be listed as multiple values per line, -so long as each array starts on a new line. For example, the -individual Z(r) values are for r = 0,dr,2*dr, ... (Nr-1)*dr. - -The units for the embedding function F are eV. The units for the -density function rho are the same as for drho (see above, electron -density). The units for the effective charge Z are "atomic charge" or -sqrt(Hartree * Bohr-radii). For two interacting atoms i,j this is used -by LAMMPS to compute the pair potential term in the EAM energy -expression as r*phi, in units of eV-Angstroms, via the formula - -r*phi = 27.2 * 0.529 * Zi * Zj :pre - -where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms. - -:line - -Style {eam/alloy} computes pairwise interactions using the same -formula as style {eam}. However the associated -"pair_coeff"_pair_coeff.html command reads a DYNAMO {setfl} file -instead of a {funcfl} file. {Setfl} files can be used to model a -single-element or alloy system. In the alloy case, as explained -above, {setfl} files contain explicit tabulated values for alloy -interactions. Thus they allow more generality than {funcfl} files for -modeling alloys. - -For style {eam/alloy}, potential values are read from a file that is -in the DYNAMO multi-element {setfl} format, except that element names -(Ni, Cu, etc) are added to one of the lines in the file. If the -DYNAMO file was created by a Fortran program, it cannot have "D" -values in it for exponents. C only recognizes "e" or "E" for -scientific notation. - -Only a single pair_coeff command is used with the {eam/alloy} style -which specifies a DYNAMO {setfl} file, which contains information for -M elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of {setfl} elements to atom types :ul - -As an example, the potentials/NiAlH_jea.eam.alloy file is a {setfl} -file which has tabulated EAM values for 3 elements and their alloy -interactions: Ni, Al, and H. See the "pair_coeff"_pair_coeff.html doc -page for alternate ways to specify the path for the potential file. -If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to -be Ni, and the 4th to be Al, you would use the following pair_coeff -command: - -pair_coeff * * NiAlH_jea.eam.alloy Ni Ni Ni Al :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The first three Ni arguments map LAMMPS atom types 1,2,3 to the Ni -element in the {setfl} file. The final Al argument maps LAMMPS atom -type 4 to the Al element in the {setfl} file. Note that there is no -requirement that your simulation use all the elements specified by the -{setfl} file. - -If a mapping value is specified as NULL, the mapping is not performed. -This can be used when an {eam/alloy} potential is used as part of the -{hybrid} pair style. The NULL values are placeholders for atom types -that will be used with other potentials. - -{Setfl} files in the {potentials} directory of the LAMMPS distribution -have an ".eam.alloy" suffix. A DYNAMO multi-element {setfl} file is -formatted as follows: - -lines 1,2,3 = comments (ignored) -line 4: Nelements Element1 Element2 ... ElementN -line 5: Nrho, drho, Nr, dr, cutoff :ul - -In a DYNAMO {setfl} file, line 4 only lists Nelements = the # of -elements in the {setfl} file. For LAMMPS, the element name (Ni, Cu, -etc) of each element must be added to the line, in the order the -elements appear in the file. - -The meaning and units of the values in line 5 is the same as for the -{funcfl} file described above. Note that the cutoff (in Angstroms) is -a global value, valid for all pairwise interactions for all element -pairings. - -Following the 5 header lines are Nelements sections, one for each -element, each with the following format: - -line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) -embedding function F(rho) (Nrho values) -density function rho(r) (Nr values) :ul - -As with the {funcfl} files, only the mass (in mass "units"_units.html, -e.g. mass number or grams/mole for metal units) is used by LAMMPS from -the 1st line. The cubic lattice constant is in Angstroms. The F and -rho arrays are unique to a single element and have the same format and -units as in a {funcfl} file. - -Following the Nelements sections, Nr values for each pair potential -phi(r) array are listed for all i,j element pairs in the same format -as other arrays. Since these interactions are symmetric (i,j = j,i) -only phi arrays with i >= j are listed, in the following order: i,j = -(1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, -Nelements). Unlike the effective charge array Z(r) in {funcfl} files, -the tabulated values for each phi function are listed in {setfl} files -directly as r*phi (in units of eV-Angstroms), since they are for atom -pairs. - -:line - -Style {eam/cd} is similar to the {eam/alloy} style, except that it -computes alloy pairwise interactions using the concentration-dependent -embedded-atom method (CD-EAM). This model can reproduce the enthalpy -of mixing of alloys over the full composition range, as described in -"(Stukowski)"_#Stukowski. Style {eam/cd/old} is an older, slightly -different and slower two-site formulation of the model "(Caro)"_#Caro. - -The pair_coeff command is specified the same as for the {eam/alloy} -style. However the DYNAMO {setfl} file must has two -lines added to it, at the end of the file: - -line 1: Comment line (ignored) -line 2: N Coefficient0 Coefficient1 ... CoefficientN :ul - -The last line begins with the degree {N} of the polynomial function -{h(x)} that modifies the cross interaction between A and B elements. -Then {N+1} coefficients for the terms of the polynomial are then -listed. - -Modified EAM {setfl} files used with the {eam/cd} style must contain -exactly two elements, i.e. in the current implementation the {eam/cd} -style only supports binary alloys. The first and second elements in -the input EAM file are always taken as the {A} and {B} species. - -{CD-EAM} files in the {potentials} directory of the LAMMPS -distribution have a ".cdeam" suffix. - -:line - -Style {eam/fs} computes pairwise interactions for metals and metal -alloys using a generalized form of EAM potentials due to Finnis and -Sinclair "(Finnis)"_#Finnis1. The total energy Ei of an atom I is -given by - -:c,image(Eqs/pair_eam_fs.jpg) - -This has the same form as the EAM formula above, except that rho is -now a functional specific to the atomic types of both atoms I and J, -so that different elements can contribute differently to the total -electron density at an atomic site depending on the identity of the -element at that atomic site. - -The associated "pair_coeff"_pair_coeff.html command for style {eam/fs} -reads a DYNAMO {setfl} file that has been extended to include -additional rho_alpha_beta arrays of tabulated values. A discussion of -how FS EAM differs from conventional EAM alloy potentials is given in -"(Ackland1)"_#Ackland1. An example of such a potential is the same -author's Fe-P FS potential "(Ackland2)"_#Ackland2. Note that while FS -potentials always specify the embedding energy with a square root -dependence on the total density, the implementation in LAMMPS does not -require that; the user can tabulate any functional form desired in the -FS potential files. - -For style {eam/fs}, the form of the pair_coeff command is exactly the -same as for style {eam/alloy}, e.g. - -pair_coeff * * NiAlH_jea.eam.fs Ni Ni Ni Al :pre - -where there are N additional arguments after the filename, where N is -the number of LAMMPS atom types. See the "pair_coeff"_pair_coeff.html -doc page for alternate ways to specify the path for the potential -file. The N values determine the mapping of LAMMPS atom types to EAM -elements in the file, as described above for style {eam/alloy}. As -with {eam/alloy}, if a mapping value is NULL, the mapping is not -performed. This can be used when an {eam/fs} potential is used as -part of the {hybrid} pair style. The NULL values are used as -placeholders for atom types that will be used with other potentials. - -FS EAM files include more information than the DYNAMO {setfl} format -files read by {eam/alloy}, in that i,j density functionals for all -pairs of elements are included as needed by the Finnis/Sinclair -formulation of the EAM. - -FS EAM files in the {potentials} directory of the LAMMPS distribution -have an ".eam.fs" suffix. They are formatted as follows: - -lines 1,2,3 = comments (ignored) -line 4: Nelements Element1 Element2 ... ElementN -line 5: Nrho, drho, Nr, dr, cutoff :ul - -The 5-line header section is identical to an EAM {setfl} file. - -Following the header are Nelements sections, one for each element I, -each with the following format: - -line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) -embedding function F(rho) (Nrho values) -density function rho(r) for element I at element 1 (Nr values) -density function rho(r) for element I at element 2 -... -density function rho(r) for element I at element Nelement :ul - -The units of these quantities in line 1 are the same as for {setfl} -files. Note that the rho(r) arrays in Finnis/Sinclair can be -asymmetric (i,j != j,i) so there are Nelements^2 of them listed in the -file. - -Following the Nelements sections, Nr values for each pair potential -phi(r) array are listed in the same manner (r*phi, units of -eV-Angstroms) as in EAM {setfl} files. Note that in Finnis/Sinclair, -the phi(r) arrays are still symmetric, so only phi arrays for i >= j -are listed. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, where types I and J correspond to -two different element types, mixing is performed by LAMMPS as -described above with the individual styles. You never need to specify -a pair_coeff command with I != J arguments for the eam styles. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -The eam pair styles do not write their information to "binary restart -files"_restart.html, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair_style and pair_coeff commands in -an input script that reads a restart file. - -The eam pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -All of these styles are part of the MANYBODY package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Ackland1) -[(Ackland1)] Ackland, Condensed Matter (2005). - -:link(Ackland2) -[(Ackland2)] Ackland, Mendelev, Srolovitz, Han and Barashev, Journal -of Physics: Condensed Matter, 16, S2629 (2004). - -:link(Daw) -[(Daw)] Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). -Daw, Baskes, Phys Rev B, 29, 6443 (1984). - -:link(Finnis1) -[(Finnis)] Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984). - -:link(Stukowski) -[(Stukowski)] Stukowski, Sadigh, Erhart, Caro; Modeling Simulation -Materials Science & Engineering, 7, 075005 (2009). - -:link(Caro) -[(Caro)] A Caro, DA Crowson, M Caro; Phys Rev Lett, 95, 075702 (2005) diff --git a/doc/txt/pair_edip.txt b/doc/txt/pair_edip.txt deleted file mode 100644 index 09eb6ee63ade266eab8f873df39ce388994c25b4..0000000000000000000000000000000000000000 --- a/doc/txt/pair_edip.txt +++ /dev/null @@ -1,172 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style edip command :h3 -pair_style edip/omp command :h3 -pair_style edip/multi command :h3 - -[Syntax:] - -pair_style style :pre - -style = {edip} or {edip/multi} :ul - -[Examples:] - -pair_style edip -pair_coeff * * Si.edip Si - -[Description:] - -The {edip} and {edip/multi} styles compute a 3-body "EDIP"_#EDIP -potential which is popular for modeling silicon materials where -it can have advantages over other models such as the -"Stillinger-Weber"_pair_sw.html or "Tersoff"_pair_tersoff.html -potentials. The {edip} style has been programmed for single element -potentials, while {edip/multi} supports multi-element EDIP runs. - -In EDIP, the energy E of a system of atoms is - -:c,image(Eqs/pair_edip.jpg) - -where phi2 is a two-body term and phi3 is a three-body term. The -summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = a. -Both terms depend on the local environment of atom I through its -effective coordination number defined by Z, which is unity for a -cutoff distance < c and gently goes to 0 at distance = a. - -Only a single pair_coeff command is used with the {edip} style which -specifies a EDIP potential file with parameters for all -needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of EDIP elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, imagine a file Si.edip has EDIP values for Si. - -EDIP files in the {potentials} directory of the LAMMPS -distribution have a ".edip" suffix. Lines that are not blank or -comments (starting with #) define parameters for a triplet of -elements. The parameters in a single entry correspond to the two-body -and three-body coefficients in the formula above: - -element 1 (the center atom in a 3-body interaction) -element 2 -element 3 -A (energy units) -B (distance units) -cutoffA (distance units) -cutoffC (distance units) -alpha -beta -eta -gamma (distance units) -lambda (energy units) -mu -tho -sigma (distance units) -Q0 -u1 -u2 -u3 -u4 :ul - -The A, B, beta, sigma parameters are used only for two-body interactions. -The eta, gamma, lambda, mu, Q0 and all u1 to u4 parameters are used only -for three-body interactions. The alpha and cutoffC parameters are used -for the coordination environment function only. - -The EDIP potential file must contain entries for all the -elements listed in the pair_coeff command. It can also contain -entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries. - -For a single-element simulation, only a single entry is required -(e.g. SiSiSi). For a two-element simulation, the file must contain 8 -entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that -specify EDIP parameters for all permutations of the two elements -interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc. - -At the moment, only a single element parameterization is -implemented. However, the author is not aware of other -multi-element EDIP parameterization. If you know any and -you are interest in that, please contact the author of -the EDIP package. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style can only be used if LAMMPS was built with the -USER-MISC package. See the "Build package"_Build_package.html doc -page for more info. - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -The EDIP potential files provided with LAMMPS (see the potentials directory) -are parameterized for metal "units"_units.html. -You can use the EDIP potential with any LAMMPS units, but you would need -to create your own EDIP potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(EDIP) -[(EDIP)] J F Justo et al, Phys Rev B 58, 2539 (1998). diff --git a/doc/txt/pair_eff.txt b/doc/txt/pair_eff.txt deleted file mode 100644 index 1df94ebecc2af838086fcb3a9fd17b43c023ee53..0000000000000000000000000000000000000000 --- a/doc/txt/pair_eff.txt +++ /dev/null @@ -1,313 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style eff/cut command :h3 - -[Syntax:] - -pair_style eff/cut cutoff keyword args ... :pre - -cutoff = global cutoff for Coulombic interactions :ulb,l -zero or more keyword/value pairs may be appended :l -keyword = {limit/eradius} or {pressure/evirials} or {ecp} - {limit/eradius} args = none - {pressure/evirials} args = none - {ecp} args = type element type element ... - type = LAMMPS atom type (1 to Ntypes) - element = element symbol (e.g. H, Si) :pre -:ule - -[Examples:] - -pair_style eff/cut 39.7 -pair_style eff/cut 40.0 limit/eradius -pair_style eff/cut 40.0 limit/eradius pressure/evirials -pair_style eff/cut 40.0 ecp 1 Si 3 C -pair_coeff * * -pair_coeff 2 2 20.0 -pair_coeff 1 s 0.320852 2.283269 0.814857 -pair_coeff 3 p 22.721015 0.728733 1.103199 17.695345 6.693621 :pre - -[Description:] - -This pair style contains a LAMMPS implementation of the electron Force -Field (eFF) potential currently under development at Caltech, as -described in "(Jaramillo-Botero)"_#Jaramillo-Botero. The eFF for Z<6 -was first introduced by "(Su)"_#Su in 2007. It has been extended to -higher Zs by using effective core potentials (ECPs) that now cover up -to 2nd and 3rd row p-block elements of the periodic table. - -eFF can be viewed as an approximation to QM wave packet dynamics and -Fermionic molecular dynamics, combining the ability of electronic -structure methods to describe atomic structure, bonding, and chemistry -in materials, and of plasma methods to describe nonequilibrium -dynamics of large systems with a large number of highly excited -electrons. Yet, eFF relies on a simplification of the electronic -wave function in which electrons are described as floating Gaussian -wave packets whose position and size respond to the various dynamic -forces between interacting classical nuclear particles and spherical -Gaussian electron wave packets. The wave function is taken to be a -Hartree product of the wave packets. To compensate for the lack of -explicit antisymmetry in the resulting wave function, a spin-dependent -Pauli potential is included in the Hamiltonian. Substituting this -wave function into the time-dependent Schrodinger equation produces -equations of motion that correspond - to second order - to classical -Hamiltonian relations between electron position and size, and their -conjugate momenta. The N-electron wave function is described as a -product of one-electron Gaussian functions, whose size is a dynamical -variable and whose position is not constrained to a nuclear -center. This form allows for straightforward propagation of the -wave function, with time, using a simple formulation from which the -equations of motion are then integrated with conventional MD -algorithms. In addition to this spin-dependent Pauli repulsion -potential term between Gaussians, eFF includes the electron kinetic -energy from the Gaussians. These two terms are based on -first-principles quantum mechanics. On the other hand, nuclei are -described as point charges, which interact with other nuclei and -electrons through standard electrostatic potential forms. - -The full Hamiltonian (shown below), contains then a standard -description for electrostatic interactions between a set of -delocalized point and Gaussian charges which include, nuclei-nuclei -(NN), electron-electron (ee), and nuclei-electron (Ne). Thus, eFF is a -mixed QM-classical mechanics method rather than a conventional force -field method (in which electron motions are averaged out into ground -state nuclear motions, i.e a single electronic state, and particle -interactions are described via empirically parameterized interatomic -potential functions). This makes eFF uniquely suited to simulate -materials over a wide range of temperatures and pressures where -electronically excited and ionized states of matter can occur and -coexist. Furthermore, the interactions between particles -nuclei and -electrons- reduce to the sum of a set of effective pairwise potentials -in the eFF formulation. The {eff/cut} style computes the pairwise -Coulomb interactions between nuclei and electrons (E_NN,E_Ne,E_ee), -and the quantum-derived Pauli (E_PR) and Kinetic energy interactions -potentials between electrons (E_KE) for a total energy expression -given as, - -:c,image(Eqs/eff_energy_expression.jpg) - -The individual terms are defined as follows: - -:c,image(Eqs/eff_KE.jpg) - -:c,image(Eqs/eff_NN.jpg) - -:c,image(Eqs/eff_Ne.jpg) - -:c,image(Eqs/eff_ee.jpg) - -:c,image(Eqs/eff_Pauli.jpg) - -where, s_i correspond to the electron sizes, the sigmas i's to the -fixed spins of the electrons, Z_i to the charges on the nuclei, R_ij -to the distances between the nuclei or the nuclei and electrons, and -r_ij to the distances between electrons. For additional details see -"(Jaramillo-Botero)"_#Jaramillo-Botero. - -The overall electrostatics energy is given in Hartree units of energy -by default and can be modified by an energy-conversion constant, -according to the units chosen (see "electron_units"_units.html). The -cutoff Rc, given in Bohrs (by default), truncates the interaction -distance. The recommended cutoff for this pair style should follow -the minimum image criterion, i.e. half of the minimum unit cell -length. - -Style {eff/long} (not yet available) computes the same interactions as -style {eff/cut} except that an additional damping factor is applied so -it can be used in conjunction with the -"kspace_style"_kspace_style.html command and its {ewald} or {pppm} -option. The Coulombic cutoff specified for this style means that -pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space. - -This potential is designed to be used with "atom_style -electron"_atom_style.html definitions, in order to handle the -description of systems with interacting nuclei and explicit electrons. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -cutoff (distance units) :ul - -For {eff/cut}, the cutoff coefficient is optional. If it is not used -(as in some of the examples above), the default global value specified -in the pair_style command is used. - -For {eff/long} (not yet available) no cutoff will be specified for an -individual I,J type pair via the "pair_coeff"_pair_coeff.html command. -All type pairs use the same global cutoff specified in the pair_style -command. - -:line - -The {limit/eradius} and {pressure/evirials} keywords are optional. -Neither or both must be specified. If not specified they are unset. - -The {limit/eradius} keyword is used to restrain electron size from -becoming excessively diffuse at very high temperatures were the -Gaussian wave packet representation breaks down, and from expanding as -free particles to infinite size. If unset, electron radius is free to -increase without bounds. If set, a restraining harmonic potential of -the form E = 1/2k_ss^2 for s > L_box/2, where k_s = 1 Hartrees/Bohr^2, -is applied on the electron radius. - -The {pressure/evirials} keyword is used to control between two types -of pressure computation: if unset, the computed pressure does not -include the electronic radial virials contributions to the total -pressure (scalar or tensor). If set, the computed pressure will -include the electronic radial virial contributions to the total -pressure (scalar and tensor). - -The {ecp} keyword is used to associate an ECP representation for a -particular atom type. The ECP captures the orbital overlap between a -core pseudo particle and valence electrons within the Pauli repulsion. -A list of type:element-symbol pairs may be provided for all ECP -representations, after the "ecp" keyword. - -NOTE: Default ECP parameters are provided for C, N, O, Al, and Si. -Users can modify these using the pair_coeff command as exemplified -above. For this, the User must distinguish between two different -functional forms supported, one that captures the orbital overlap -assuming the s-type core interacts with an s-like valence electron -(s-s) and another that assumes the interaction is s-p. For systems -that exhibit significant p-character (e.g. C, N, O) the s-p form is -recommended. The "s" ECP form requires 3 parameters and the "p" 5 -parameters. - -NOTE: there are two different pressures that can be reported for eFF -when defining this pair_style, one (default) that considers electrons -do not contribute radial virial components (i.e. electrons treated as -incompressible 'rigid' spheres) and one that does. The radial -electronic contributions to the virials are only tallied if the -flexible pressure option is set, and this will affect both global and -per-atom quantities. In principle, the true pressure of a system is -somewhere in between the rigid and the flexible eFF pressures, but, -for most cases, the difference between these two pressures will not be -significant over long-term averaged runs (i.e. even though the energy -partitioning changes, the total energy remains similar). - -:line - -NOTE: This implementation of eFF gives a reasonably accurate description -for systems containing nuclei from Z = 1-6 in "all electron" -representations. For systems with increasingly non-spherical -electrons, Users should use the ECP representations. ECPs are now -supported and validated for most of the 2nd and 3rd row elements of -the p-block. Predefined parameters are provided for C, N, O, Al, and -Si. The ECP captures the orbital overlap between the core and valence -electrons (i.e. Pauli repulsion) with one of the functional forms: - -:c,image(Eqs/eff_ECP1.jpg) -:c,image(Eqs/eff_ECP2.jpg) - -Where the 1st form correspond to core interactions with s-type valence -electrons and the 2nd to core interactions with p-type valence -electrons. - -The current version adds full support for models with fixed-core and -ECP definitions. to enable larger timesteps (i.e. by avoiding the -high frequency vibrational modes -translational and radial- of the 2 s -electrons), and in the ECP case to reduce the increased orbital -complexity in higher Z elements (up to Z<18). A fixed-core should be -defined with a mass that includes the corresponding nuclear mass plus -the 2 s electrons in atomic mass units (2x5.4857990943e-4), and a -radius equivalent to that of minimized 1s electrons (see examples -under /examples/USER/eff/fixed-core). An pseudo-core should be -described with a mass that includes the corresponding nuclear mass, -plus all the core electrons (i.e no outer shell electrons), and a -radius equivalent to that of a corresponding minimized full-electron -system. The charge for a pseudo-core atom should be given by the -number of outer shell electrons. - -In general, eFF excels at computing the properties of materials in -extreme conditions and tracing the system dynamics over multi-picosecond -timescales; this is particularly relevant where electron excitations -can change significantly the nature of bonding in the system. It can -capture with surprising accuracy the behavior of such systems because -it describes consistently and in an unbiased manner many different -kinds of bonds, including covalent, ionic, multicenter, ionic, and -plasma, and how they interconvert and/or change when they become -excited. eFF also excels in computing the relative thermochemistry of -isodemic reactions and conformational changes, where the bonds of the -reactants are of the same type as the bonds of the products. eFF -assumes that kinetic energy differences dominate the overall exchange -energy, which is true when the electrons present are nearly spherical -and nodeless and valid for covalent compounds such as dense hydrogen, -hydrocarbons, and diamond; alkali metals (e.g. lithium), alkali earth -metals (e.g. beryllium) and semimetals such as boron; and various -compounds containing ionic and/or multicenter bonds, such as boron -dihydride. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the cutoff distance for the -{eff/cut} style can be mixed. The default mix value is {geometric}. -See the "pair_modify" command for details. - -The "pair_modify"_pair_modify.html shift option is not relevant for -these pair styles. - -The {eff/long} (not yet available) style supports the -"pair_modify"_pair_modify.html table option for tabulation of the -short-range portion of the long-range Coulombic interaction. - -These pair styles do not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -These pair styles write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -These pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -These pair styles will only be enabled if LAMMPS is built with the -USER-EFF package. It will only be enabled if LAMMPS was built with -that package. See the "Build package"_Build_package.html doc page for -more info. - -These pair styles require that particles store electron attributes -such as radius, radial velocity, and radial force, as defined by the -"atom_style"_atom_style.html. The {electron} atom style does all of -this. - -Thes pair styles require you to use the "comm_modify vel -yes"_comm_modify.html command so that velocities are stored by ghost -atoms. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] - -If not specified, limit_eradius = 0 and pressure_with_evirials = 0. - -:line - -:link(Su) -[(Su)] Su and Goddard, Excited Electron Dynamics Modeling of Warm -Dense Matter, Phys Rev Lett, 99:185003 (2007). - -:link(Jaramillo-Botero) -[(Jaramillo-Botero)] Jaramillo-Botero, Su, Qi, Goddard, Large-scale, -Long-term Non-adiabatic Electron Molecular Dynamics for Describing -Material Properties and Phenomena in Extreme Environments, J Comp -Chem, 32, 497-512 (2011). diff --git a/doc/txt/pair_eim.txt b/doc/txt/pair_eim.txt deleted file mode 100644 index 5f9dcd4c5c349b5123a1539a8ee60db1a09d77b9..0000000000000000000000000000000000000000 --- a/doc/txt/pair_eim.txt +++ /dev/null @@ -1,173 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style eim command :h3 -pair_style eim/omp command :h3 - -[Syntax:] - -pair_style style :pre - -style = {eim} :ul - -[Examples:] - -pair_style eim -pair_coeff * * Na Cl ../potentials/ffield.eim Na Cl -pair_coeff * * Na Cl ffield.eim Na Na Na Cl -pair_coeff * * Na Cl ../potentials/ffield.eim Cl NULL Na :pre - -[Description:] - -Style {eim} computes pairwise interactions for ionic compounds -using embedded-ion method (EIM) potentials "(Zhou)"_#Zhou2. The -energy of the system E is given by - -:c,image(Eqs/pair_eim1.jpg) - -The first term is a double pairwise sum over the J neighbors of all I -atoms, where phi_ij is a pair potential. The second term sums over -the embedding energy E_i of atom I, which is a function of its charge -q_i and the electrical potential sigma_i at its location. E_i, q_i, -and sigma_i are calculated as - -:c,image(Eqs/pair_eim2.jpg) - -where eta_ji is a pairwise function describing electron flow from atom -I to atom J, and psi_ij is another pairwise function. The multi-body -nature of the EIM potential is a result of the embedding energy term. -A complete list of all the pair functions used in EIM is summarized -below - -:c,image(Eqs/pair_eim3.jpg) - -Here E_b, r_e, r_(c,phi), alpha, beta, A_(psi), zeta, r_(s,psi), -r_(c,psi), A_(eta), r_(s,eta), r_(c,eta), chi, and pair function type -p are parameters, with subscripts ij indicating the two species of -atoms in the atomic pair. - -NOTE: Even though the EIM potential is treating atoms as charged ions, -you should not use a LAMMPS "atom_style"_atom_style.html that stores a -charge on each atom and thus requires you to assign a charge to each -atom, e.g. the {charge} or {full} atom styles. This is because the -EIM potential infers the charge on an atom from the equation above for -q_i; you do not assign charges explicitly. - -:line - -All the EIM parameters are listed in a potential file which is -specified by the "pair_coeff"_pair_coeff.html command. This is an -ASCII text file in a format described below. The "ffield.eim" file -included in the "potentials" directory of the LAMMPS distribution -currently includes nine elements Li, Na, K, Rb, Cs, F, Cl, Br, and I. -A system with any combination of these elements can be modeled. This -file is parameterized in terms of LAMMPS "metal units"_units.html. - -Note that unlike other potentials, cutoffs for EIM potentials are not -set in the pair_style or pair_coeff command; they are specified in the -EIM potential file itself. Likewise, the EIM potential file lists -atomic masses; thus you do not need to use the "mass"_mass.html -command to specify them. - -Only a single pair_coeff command is used with the {eim} style which -specifies an EIM potential file and the element(s) to extract -information for. The EIM elements are mapped to LAMMPS atom types by -specifying N additional arguments after the filename in the pair_coeff -command, where N is the number of LAMMPS atom types: - -Elem1, Elem2, ... -EIM potential file -N element names = mapping of EIM elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example like one of those above, suppose you want to model a -system with Na and Cl atoms. If your LAMMPS simulation has 4 atoms -types and you want the 1st 3 to be Na, and the 4th to be Cl, you would -use the following pair_coeff command: - -pair_coeff * * Na Cl ffield.eim Na Na Na Cl :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The filename is the EIM potential file. The Na and Cl arguments -(before the file name) are the two elements for which info will be -extracted from the potential file. The first three trailing Na -arguments map LAMMPS atom types 1,2,3 to the EIM Na element. The -final Cl argument maps LAMMPS atom type 4 to the EIM Cl element. - -If a mapping value is specified as NULL, the mapping is not performed. -This can be used when an {eim} potential is used as part of the -{hybrid} pair style. The NULL values are placeholders for atom types -that will be used with other potentials. - -The ffield.eim file in the {potentials} directory of the LAMMPS -distribution is formatted as follows: - -Lines starting with # are comments and are ignored by LAMMPS. Lines -starting with "global:" include three global values. The first value -divides the cations from anions, i.e., any elements with -electronegativity above this value are viewed as anions, and any -elements with electronegativity below this value are viewed as -cations. The second and third values are related to the cutoff -function - i.e. the 0.510204, 1.64498, and 0.010204 shown in the above -equation can be derived from these values. - -Lines starting with "element:" are formatted as follows: name of -element, atomic number, atomic mass, electronic negativity, atomic -radius (LAMMPS ignores it), ionic radius (LAMMPS ignores it), cohesive -energy (LAMMPS ignores it), and q0 (must be 0). - -Lines starting with "pair:" are entered as: element 1, element 2, -r_(c,phi), r_(c,phi) (redundant for historical reasons), E_b, r_e, -alpha, beta, r_(c,eta), A_(eta), r_(s,eta), r_(c,psi), A_(psi), zeta, -r_(s,psi), and p. - -The lines in the file can be in any order; LAMMPS extracts the info it -needs. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This style is part of the MANYBODY package. It is only enabled if -LAMMPS was built with that package. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Zhou2) -[(Zhou)] Zhou, submitted for publication (2010). Please contact -Xiaowang Zhou (Sandia) for details via email at xzhou at sandia.gov. diff --git a/doc/txt/pair_exp6_rx.txt b/doc/txt/pair_exp6_rx.txt deleted file mode 100644 index 790674644d8223230329ce8c2387c9879e7670eb..0000000000000000000000000000000000000000 --- a/doc/txt/pair_exp6_rx.txt +++ /dev/null @@ -1,185 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style exp6/rx command :h3 -pair_style exp6/rx/kk command :h3 - -[Syntax:] - -pair_style exp6/rx cutoff ... :pre - -cutoff = global cutoff for DPD interactions (distance units) -weighting = fractional or molecular (optional) :ul - -[Examples:] - -pair_style exp6/rx 10.0 -pair_style exp6/rx 10.0 fractional -pair_style exp6/rx 10.0 molecular -pair_coeff * * exp6.params h2o h2o exponent 1.0 1.0 10.0 -pair_coeff * * exp6.params h2o 1fluid exponent 1.0 1.0 10.0 -pair_coeff * * exp6.params 1fluid 1fluid exponent 1.0 1.0 10.0 -pair_coeff * * exp6.params 1fluid 1fluid none 10.0 -pair_coeff * * exp6.params 1fluid 1fluid polynomial filename 10.0 :pre - -[Description:] - -Style {exp6/rx} is used in reaction DPD simulations, where the -coarse-grained (CG) particles are composed of {m} species whose -reaction rate kinetics are determined from a set of {n} reaction rate -equations through the "fix rx"_fix_rx.html command. The species of -one CG particle can interact with a species in a neighboring CG -particle through a site-site interaction potential model. The -{exp6/rx} style computes an exponential-6 potential given by - -:c,image(Eqs/pair_exp6_rx.jpg) - -where the {epsilon} parameter determines the depth of the potential -minimum located at {Rm}, and {alpha} determines the softness of the repulsion. - -The coefficients must be defined for each species in a given particle -type via the "pair_coeff"_pair_coeff.html command as in the examples -above, where the first argument is the filename that includes the -exponential-6 parameters for each species. The file includes the -species tag followed by the {alpha}, {epsilon} and {Rm} -parameters. The format of the file is described below. - -The second and third arguments specify the site-site interaction -potential between two species contained within two different -particles. The species tags must either correspond to the species -defined in the reaction kinetics files specified with the "fix -rx"_fix_rx.html command or they must correspond to the tag "1fluid", -signifying interaction with a product species mixture determined -through a one-fluid approximation. The interaction potential is -weighted by the geometric average of either the mole fraction concentrations -or the number of molecules associated with the interacting coarse-grained -particles (see the {fractional} or {molecular} weighting pair style options). -The coarse-grained potential is stored before and after the -reaction kinetics solver is applied, where the difference is defined -to be the internal chemical energy (uChem). - -The fourth argument specifies the type of scaling that will be used -to scale the EXP-6 parameters as reactions occur. Currently, there -are three scaling options: {exponent}, {polynomial} and {none}. - -Exponent scaling requires two additional arguments for scaling -the {Rm} and {epsilon} parameters, respectively. The scaling factor -is computed by phi^exponent, where phi is the number of molecules -represented by the coarse-grain particle and exponent is specified -as a pair coefficient argument for {Rm} and {epsilon}, respectively. -The {Rm} and {epsilon} parameters are multiplied by the scaling -factor to give the scaled interaction parameters for the CG particle. - -Polynomial scaling requires a filename to be specified as a pair -coeff argument. The file contains the coefficients to a fifth order -polynomial for the {alpha}, {epsilon} and {Rm} parameters that depend -upon phi (the number of molecules represented by the CG particle). -The format of a polynomial file is provided below. - -The {none} option to the scaling does not have any additional pair coeff -arguments. This is equivalent to specifying the {exponent} option with -{Rm} and {epsilon} exponents of 0.0 and 0.0, respectively. - -The final argument specifies the interaction cutoff (optional). - -:line - -The format of a tabulated file is as follows (without the -parenthesized comments): - -# exponential-6 parameters for various species (one or more comment or blank lines) :pre -h2o exp6 11.00 0.02 3.50 (species, exp6, alpha, Rm, epsilon) -no2 exp6 13.60 0.01 3.70 -... -co2 exp6 13.00 0.03 3.20 :pre - -The format of the polynomial scaling file as follows (without the -parenthesized comments): - -# POLYNOMIAL FILE (one or more comment or blank lines) :pre -# General Functional Form: -# A*phi^5 + B*phi^4 + C*phi^3 + D*phi^2 + E*phi + F -# -# Parameter A B C D E F - (blank) -alpha 0.0000 0.00000 0.00008 0.04955 -0.73804 13.63201 -epsilon 0.0000 0.00478 -0.06283 0.24486 -0.33737 2.60097 -rm 0.0001 -0.00118 -0.00253 0.05812 -0.00509 1.50106 :pre - -A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments -between sections. - -Following a blank line, the next N lines list the species and their -corresponding parameters. The first argument is the species tag, the -second argument is the exp6 tag, the 3rd argument is the {alpha} -parameter (energy units), the 4th argument is the {epsilon} parameter -(energy-distance^6 units), and the 5th argument is the {Rm} parameter -(distance units). If a species tag of "1fluid" is listed as a pair -coefficient, a one-fluid approximation is specified where a -concentration-dependent combination of the parameters is computed -through the following equations: - -:c,image(Eqs/pair_exp6_rx_oneFluid.jpg) - -where - -:c,image(Eqs/pair_exp6_rx_oneFluid2.jpg) - -and xa and xb are the mole fractions of a and b, respectively, which -comprise the gas mixture. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -This style does not support the "pair_modify"_pair_modify.html shift option -for the energy of the exp() and 1/r^6 portion of the pair interaction. - -This style does not support the pair_modify tail option for adding long-range -tail corrections to energy and pressure for the A,C terms in the -pair interaction. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] fractional weighting diff --git a/doc/txt/pair_extep.txt b/doc/txt/pair_extep.txt deleted file mode 100644 index 5d69df69e9be511e348a52fd2e187eb996f4b299..0000000000000000000000000000000000000000 --- a/doc/txt/pair_extep.txt +++ /dev/null @@ -1,40 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -: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. diff --git a/doc/txt/pair_fep_soft.txt b/doc/txt/pair_fep_soft.txt deleted file mode 100644 index 0cf2519c73589b9aa9d7a6722477f0f6e3335d6f..0000000000000000000000000000000000000000 --- a/doc/txt/pair_fep_soft.txt +++ /dev/null @@ -1,360 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/cut/soft command :h3 -pair_style lj/cut/soft/omp command :h3 -pair_style lj/cut/coul/cut/soft command :h3 -pair_style lj/cut/coul/cut/soft/omp command :h3 -pair_style lj/cut/coul/long/soft command :h3 -pair_style lj/cut/coul/long/soft/omp command :h3 -pair_style lj/cut/tip4p/long/soft command :h3 -pair_style lj/cut/tip4p/long/soft/omp command :h3 -pair_style lj/charmm/coul/long/soft command :h3 -pair_style lj/charmm/coul/long/soft/omp command :h3 -pair_style lj/class2/soft command :h3 -pair_style lj/class2/coul/cut/soft command :h3 -pair_style lj/class2/coul/long/soft command :h3 - pair_style coul/cut/soft command :h3 -pair_style coul/cut/soft/omp command :h3 -pair_style coul/long/soft command :h3 -pair_style coul/long/soft/omp command :h3 -pair_style tip4p/long/soft command :h3 -pair_style tip4p/long/soft/omp command :h3 -pair_style morse/soft command :h3 -[Syntax:] - -pair_style style args :pre - -style = {lj/cut/soft} or {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} or {lj/cut/tip4p/long/soft} or {lj/charmm/coul/long/soft} or {lj/class2/soft} or {lj/class2/coul/cut/soft} or {lj/class2/coul/long/soft} or {coul/cut/soft} or {coul/long/soft} or {tip4p/long/soft} or {morse/soft} -args = list of arguments for a particular style :ul - {lj/cut/soft} args = n alpha_lj cutoff - n, alpha_LJ = parameters of soft-core potential - cutoff = global cutoff for Lennard-Jones interactions (distance units) - {lj/cut/coul/cut/soft} args = n alpha_LJ alpha_C cutoff (cutoff2) - n, alpha_LJ, alpha_C = parameters of soft-core potential - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {lj/cut/coul/long/soft} args = n alpha_LJ alpha_C cutoff - n, alpha_LJ, alpha_C = parameters of the soft-core potential - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {lj/cut/tip4p/long/soft} args = otype htype btype atype qdist n alpha_LJ alpha_C cutoff (cutoff2) - otype,htype = atom types for TIP4P O and H - btype,atype = bond and angle types for TIP4P waters - qdist = distance from O atom to massless charge (distance units) - n, alpha_LJ, alpha_C = parameters of the soft-core potential - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {lj/charmm/coul/long/soft} args = n alpha_LJ alpha_C inner outer (cutoff) - n, alpha_LJ, alpha_C = parameters of the soft-core potential - inner, outer = global switching cutoffs for LJ (and Coulombic if only 5 args) - cutoff = global cutoff for Coulombic (optional, outer is Coulombic cutoff if only 5 args) - {lj/class2/soft} args = n alpha_lj cutoff - n, alpha_LJ = parameters of soft-core potential - cutoff = global cutoff for Lennard-Jones interactions (distance units) - {lj/class2/coul/cut/soft} args = n alpha_LJ alpha_C cutoff (cutoff2) - n, alpha_LJ, alpha_C = parameters of soft-core potential - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {lj/class2/coul/long/soft} args = n alpha_LJ alpha_C cutoff (cutoff2) - n, alpha_LJ, alpha_C = parameters of soft-core potential - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {coul/cut/soft} args = n alpha_C cutoff - n, alpha_C = parameters of the soft-core potential - cutoff = global cutoff for Coulomb interactions (distance units) - {coul/long/soft} args = n alpha_C cutoff - n, alpha_C = parameters of the soft-core potential - cutoff = global cutoff for Coulomb interactions (distance units) - {tip4p/long/soft} args = otype htype btype atype qdist n alpha_C cutoff - otype,htype = atom types for TIP4P O and H - btype,atype = bond and angle types for TIP4P waters - qdist = distance from O atom to massless charge (distance units) - n, alpha_C = parameters of the soft-core potential - cutoff = global cutoff for Coulomb interactions (distance units) - {morse/soft} args = n lf cutoff - n = soft-core parameter - lf = transformation range is lf < lambda < 1 - cutoff = global cutoff for Morse interactions (distance units) -:pre - -[Examples:] - -pair_style lj/cut/soft 2.0 0.5 9.5 -pair_coeff * * 0.28 3.1 1.0 -pair_coeff 1 1 0.28 3.1 1.0 9.5 :pre - -pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5 -pair_style lj/cut/coul/cut/soft 2.0 0.5 10.0 9.5 9.5 -pair_coeff * * 0.28 3.1 1.0 -pair_coeff 1 1 0.28 3.1 0.5 10.0 -pair_coeff 1 1 0.28 3.1 0.5 10.0 9.5 :pre - -pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5 -pair_style lj/cut/coul/long/soft 2.0 0.5 10.0 9.5 9.5 -pair_coeff * * 0.28 3.1 1.0 -pair_coeff 1 1 0.28 3.1 0.0 10.0 -pair_coeff 1 1 0.28 3.1 0.0 10.0 9.5 :pre - -pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8 -pair_style lj/cut/tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8 9.5 -pair_coeff * * 0.155 3.1536 1.0 -pair_coeff 1 1 0.155 3.1536 1.0 9.5 :pre - -pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0 -pair_style lj/charmm/coul/long 2.0 0.5 10.0 8.0 10.0 9.0 -pair_coeff * * 0.28 3.1 1.0 -pair_coeff 1 1 0.28 3.1 1.0 0.14 3.1 :pre - -pair_style lj/class2/coul/long/soft 2.0 0.5 10.0 9.5 -pair_style lj/class2/coul/long/soft 2.0 0.5 10.0 9.5 9.5 -pair_coeff * * 0.28 3.1 1.0 -pair_coeff 1 1 0.28 3.1 0.0 10.0 -pair_coeff 1 1 0.28 3.1 0.0 10.0 9.5 :pre - -pair_style coul/long/soft 1.0 10.0 9.5 -pair_coeff * * 1.0 -pair_coeff 1 1 1.0 9.5 :pre - -pair_style tip4p/long/soft 1 2 7 8 0.15 2.0 0.5 10.0 9.8 -pair_coeff * * 1.0 -pair_coeff 1 1 1.0 9.5 :pre - -pair_style morse/soft 4 0.9 10.0 -pair_coeff * * 100.0 2.0 1.5 1.0 -pair_coeff 1 1 100.0 2.0 1.5 1.0 3.0 :pre - -[Description:] - -These pair styles have a soft repulsive core, tunable by a parameter lambda, -in order to avoid singularities during free energy calculations when sites are -created or annihilated "(Beutler)"_#Beutler. When lambda tends to 0 the pair -interaction vanishes with a soft repulsive core. When lambda tends to 1, the pair -interaction approaches the normal, non-soft potential. These pair styles -are suited for "alchemical" free energy calculations using the "fix -adapt/fep"_fix_adapt_fep.html and "compute fep"_compute_fep.html commands. - -The {lj/cut/soft} style and related sub-styles compute the 12-6 Lennard-Jones -and Coulomb potentials modified by a soft core, with the functional form - -:c,image(Eqs/pair_lj_soft.jpg) - -The {lj/class2/soft} style is a 9-6 potential with the exponent of the -denominator of the first term in brackets taking the value 1.5 instead of 2 -(other details differ, see the form of the potential in -"pair_class2"_pair_class2.html). - -Coulomb interactions can also be damped with a soft core at short distance, - -:c,image(Eqs/pair_coul_soft.jpg) - -In the Coulomb part C is an energy-conversion constant, q_i and q_j -are the charges on the 2 atoms, and epsilon is the dielectric constant -which can be set by the "dielectric"_dielectric.html command. - -The coefficient lambda is an activation parameter. When lambda = 1 the pair -potential is identical to a Lennard-Jones term or a Coulomb term or a -combination of both. When lambda = 0 the interactions are deactivated. The -transition between these two extrema is smoothed by a soft repulsive core in -order to avoid singularities in potential energy and forces when sites are -created or annihilated and can overlap "(Beutler)"_#Beutler. - -The parameters n, alpha_LJ and alpha_C are set in the -"pair_style"_pair_style.html command, before the cutoffs. Usual choices for the -exponent are n = 2 or n = 1. For the remaining coefficients alpha_LJ = 0.5 and -alpha_C = 10 Angstrom^2 are appropriate choices. Plots of the 12/6 LJ and -Coulomb terms are shown below, for lambda ranging from 1 to 0 every 0.1. - -:image(JPG/lj_soft.jpg),image(JPG/coul_soft.jpg) -:c - -For the {lj/cut/coul/cut/soft} or {lj/cut/coul/long/soft} pair styles, as well -as for the equivalent {class2} versions, the following coefficients must be -defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html -command as in the examples above, or in the data file or restart files read by -the "read_data"_read_data.html or "read_restart"_read_restart.html commands, or -by mixing as described below: - -epsilon (energy units) -sigma (distance units) -lambda (activation parameter, between 0 and 1) -cutoff1 (distance units) -cutoff2 (distance units) :ul - -The latter two coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair_style command are used. -If only one cutoff is specified, it is used as the cutoff for both LJ -and Coulombic interactions for this type pair. If both coefficients -are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. You cannot specify 2 cutoffs for style {lj/cut/soft}, -since it has no Coulombic terms. For the {coul/cut/soft} and -{coul/long/soft} only lambda and the optional cutoff2 are to be -specified. - -Style {lj/cut/tip4p/long/soft} implements a soft-core version of the TIP4P water -model. The usage of the TIP4P pair style is documented in the -"pair_lj"_pair_lj.html styles. In the soft version the parameters n, alpha_LJ -and alpha_C are set in the "pair_style"_pair_style.html command, after the -specific parameters of the TIP4P water model and before the cutoffs. The -activation parameter lambda is supplied as an argument of the -"pair_coeff"_pair_coeff.html command, after epsilon and sigma and before the -optional cutoffs. - -Style {lj/charmm/coul/long/soft} implements a soft-core version of the modified -12-6 LJ potential used in CHARMM and documented in the -"pair_lj_charmm"_pair_charmm.html style. In the soft version the parameters n, -alpha_LJ and alpha_C are set in the "pair_style"_pair_style.html command, before -the global cutoffs. The activation parameter lambda is introduced as an argument -of the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and -before the optional eps14 and sigma14. - -Style {lj/class2/soft} implements a soft-core version of the 9-6 potential in -"pair_class2"_pair_class2.html. In the soft version the parameters n, alpha_LJ -and alpha_C are set in the "pair_style"_pair_style.html command, before the -global cutoffs. The activation parameter lambda is introduced as an argument of -the the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and before -the optional cutoffs. - -The {coul/cut/soft}, {coul/long/soft} and {tip4p/long/soft} sub-styles -are designed to be combined with other pair potentials via the -"pair_style hybrid/overlay"_pair_hybrid.html command. This is because -they have no repulsive core. Hence, if used by themselves, there will -be no repulsion to keep two oppositely charged particles from -overlapping each other. In this case, if lambda = 1, a singularity may -occur. These sub-styles are suitable to represent charges embedded in -the Lennard-Jones radius of another site (for example hydrogen atoms -in several water models). - -NOTE: When using the soft-core Coulomb potentials with long-range -solvers ({coul/long/soft}, {lj/cut/coul/long/soft}, etc.) in a free -energy calculation in which sites holding electrostatic charges are -being created or annihilated (using "fix adapt/fep"_fix_adapt_fep.html -and "compute fep"_compute_fep.html) it is important to adapt both the -lambda activation parameter (from 0 to 1, or the reverse) and the -value of the charge (from 0 to its final value, or the reverse). This -ensures that long-range electrostatic terms (kspace) are correct. It -is not necessary to use soft-core Coulomb potentials if the van der -Waals site is present during the free-energy route, thus avoiding -overlap of the charges. Examples are provided in the LAMMPS source -directory tree, under examples/USER/fep. - -NOTE: To avoid division by zero do not set sigma = 0 in the {lj/cut/soft} and -related styles; use the lambda parameter instead to activate/deactivate -interactions, or use epsilon = 0 and sigma = 1. Alternatively, when sites do not -interact though the Lennard-Jones term the {coul/long/soft} or similar sub-style -can be used via the "pair_style hybrid/overlay"_pair_hybrid.html command. - -:line - -The {morse/soft} variant modifies the "pair_morse"_pair_morse.html style at -short range to have a soft core. The functional form differs from that of the -{lj/soft} styles, and is instead given by: - -:c,image(Eqs/pair_morse_soft.jpg) - -The {morse/soft} style requires the following pair coefficients: - -D0 (energy units) -alpha (1/distance units) -r0 (distance units) -lambda (unitless, between 0.0 and 1.0) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global morse cutoff is -used. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, tail correction, restart info]: - -The different versions of the {lj/cut/soft} pair styles support mixing. For atom -type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff -distance for these pair style can be mixed. The default mix value is -{geometric} for 12-6 styles. - -The mixing rule for epsilon and sigma for {lj/class2/soft} 9-6 potentials is to use the -{sixthpower} formulas. The "pair_modify mix"_pair_modify.html setting is thus -ignored for class2 potentials for epsilon and sigma. However it is still -followed for mixing the cutoff distance. See the "pair_modify"_pair_modify.html -command for details. - -The {morse/soft} pair style does not support mixing. Thus, coefficients for all -LJ pairs must be specified explicitly. - -All of the pair styles with soft core support the "pair_modify"_pair_modify.html -shift option for the energy of the Lennard-Jones portion of the pair -interaction. - -The different versions of the {lj/cut/soft} pair styles support the -"pair_modify"_pair_modify.html tail option for adding a long-range tail -correction to the energy and pressure for the Lennard-Jones portion of the pair -interaction. - -NOTE: The analytical form of the tail corrections for energy and pressure used -in the {lj/cut/soft} potentials are approximate, being identical to that of the -corresponding non-soft potentials scaled by a factor lambda^n. The errors due to -this approximation should be negligible. For example, for a cutoff of 2.5 sigma -this approximation leads to maximum relative errors in tail corrections of the -order of 1e-4 for energy and virial (alpha_LJ = 0.5, n = 2). The error vanishes -when lambda approaches 0 or 1. Note that these are the errors affecting the -long-range tail (itself a correction to the interaction energy) which includes -other approximations, namely that the system is homogeneous (local density equal -the average density) beyond the cutoff. - -The {morse/soft} pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and pressure. - -All of these pair styles write information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need to be -specified in an input script that reads a restart file. - -:line - -[Restrictions:] - -The pair styles with soft core are only enabled if LAMMPS was built with the -USER-FEP package. The {long} versions also require the KSPACE package to be -installed. The soft {tip4p} versions also require the MOLECULE package to be -installed. These styles are only enabled if LAMMPS was built with those -packages. See the "Build package"_Build_package.html doc page for more -info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix adapt"_fix_adapt.html, -"fix adapt/fep"_fix_adapt_fep.html, "compute fep"_compute_fep.html - -[Default:] none - -:line - -:link(Beutler) -[(Beutler)] Beutler, Mark, van Schaik, Gerber, van Gunsteren, Chem -Phys Lett, 222, 529 (1994). diff --git a/doc/txt/pair_gauss.txt b/doc/txt/pair_gauss.txt deleted file mode 100644 index ef924b1ef07bffe80ba266df8b111fe8395ddb97..0000000000000000000000000000000000000000 --- a/doc/txt/pair_gauss.txt +++ /dev/null @@ -1,187 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style gauss command :h3 -pair_style gauss/gpu command :h3 -pair_style gauss/omp command :h3 -pair_style gauss/cut command :h3 -pair_style gauss/cut/omp command :h3 - -[Syntax:] - -pair_style gauss cutoff -pair_style gauss/cut cutoff :pre - -cutoff = global cutoff for Gauss interactions (distance units) :ul - -[Examples:] - -pair_style gauss 12.0 -pair_coeff * * 1.0 0.9 -pair_coeff 1 4 1.0 0.9 10.0 :pre - -pair_style gauss/cut 3.5 -pair_coeff 1 4 0.2805 1.45 0.112 :pre - - -[Description:] - -Style {gauss} computes a tethering potential of the form - -:c,image(Eqs/pair_gauss.jpg) - -between an atom and its corresponding tether site which will typically -be a frozen atom in the simulation. Rc is the cutoff. - -The following coefficients must be defined for each pair of atom types -via the "pair_coeff"_pair_coeff.html command as in the examples above, -or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -A (energy units) -B (1/distance^2 units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global cutoff -is used. - -Style {gauss/cut} computes a generalized Gaussian interaction potential -between pairs of particles: - -:c,image(Eqs/pair_gauss_cut.jpg) - -where H determines together with the standard deviation sigma_h the -peak height of the Gaussian function, and r_mh the peak position. -Examples of the use of the Gaussian potentials include implicit -solvent simulations of salt ions "(Lenart)"_#Lenart2 and of surfactants -"(Jusufi)"_#Jusufi2. In these instances the Gaussian potential mimics -the hydration barrier between a pair of particles. The hydration -barrier is located at r_mh and has a width of sigma_h. The prefactor -determines the height of the potential barrier. - -The following coefficients must be defined for each pair of atom types -via the "pair_coeff"_pair_coeff.html command as in the example above, -or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -H (energy * distance units) -r_mh (distance units) -sigma_h (distance units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global cutoff -is used. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the A, B, H, sigma_h, r_mh -parameters, and the cutoff distance for these pair styles can be mixed: -A (energy units) -sqrt(1/B) (distance units, see below) -H (energy units) -sigma_h (distance units) -r_mh (distance units) -cutoff (distance units):ul - -The default mix value is {geometric}. -Only {arithmetic} and {geometric} mix values are supported. -See the "pair_modify" command for details. - -The A and H parameters are mixed using the same rules normally -used to mix the "epsilon" parameter in a Lennard Jones interaction. -The sigma_h, r_mh, and the cutoff distance are mixed using the same -rules used to mix the "sigma" parameter in a Lennard Jones interaction. -The B parameter is converted to a distance (sigma), before mixing -(using sigma=B^-0.5), and converted back to a coefficient -afterwards (using B=sigma^2). -Negative A values are converted to positive A values (using abs(A)) -before mixing, and converted back after mixing -(by multiplying by min(sign(Ai),sign(Aj))). -This way, if either particle is repulsive (if Ai<0 or Aj<0), -then the default interaction between both particles will be repulsive. - -The {gauss} style does not support the "pair_modify"_pair_modify.html -shift option. There is no effect due to the Gaussian well beyond the -cutoff; hence reasonable cutoffs need to be specified. - -The {gauss/cut} style supports the "pair_modify"_pair_modify.html shift -option for the energy of the Gauss-potential portion of the pair -interaction. - -The "pair_modify"_pair_modify.html table and tail options are not -relevant for these pair styles. - -These pair styles write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -These pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -The {gauss} pair style tallies an "occupancy" count of how many Gaussian-well -sites have an atom within the distance at which the force is a maximum -= sqrt(0.5/b). This quantity can be accessed via the "compute -pair"_compute_pair.html command as a vector of values of length 1. - -To print this quantity to the log file (with a descriptive column -heading) the following commands could be included in an input script: - -compute gauss all pair gauss -variable occ equal c_gauss\[1\] -thermo_style custom step temp epair v_occ :pre - -:line - -[Restrictions:] - -The {gauss/cut} style is part of the "user-misc" package. It is only -enabled if LAMMPS is build with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, -"pair_style coul/diel"_pair_coul_diel.html - -[Default:] none - -:link(Lenart2) -[(Lenart)] Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, -044509 (2007). - -:link(Jusufi2) -[(Jusufi)] Jusufi, Hynninen, and Panagiotopoulos, J Phys Chem B, 112, -13783 (2008). - diff --git a/doc/txt/pair_gayberne.txt b/doc/txt/pair_gayberne.txt deleted file mode 100644 index 426352dc4cebe292b969fbdd5a2b119827fd8f3c..0000000000000000000000000000000000000000 --- a/doc/txt/pair_gayberne.txt +++ /dev/null @@ -1,230 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style gayberne command :h3 -pair_style gayberne/gpu command :h3 -pair_style gayberne/intel command :h3 -pair_style gayberne/omp command :h3 - -[Syntax:] - -pair_style gayberne gamma upsilon mu cutoff :pre - -gamma = shift for potential minimum (typically 1) -upsilon = exponent for eta orientation-dependent energy function -mu = exponent for chi orientation-dependent energy function -cutoff = global cutoff for interactions (distance units) :ul - -[Examples:] - -pair_style gayberne 1.0 1.0 1.0 10.0 -pair_coeff * * 1.0 1.7 1.7 3.4 3.4 1.0 1.0 1.0 :pre - -[Description:] - -The {gayberne} styles compute a Gay-Berne anisotropic LJ interaction -"(Berardi)"_#Berardi between pairs of ellipsoidal particles or an -ellipsoidal and spherical particle via the formulas - -:c,image(Eqs/pair_gayberne.jpg) - -where A1 and A2 are the transformation matrices from the simulation -box frame to the body frame and r12 is the center to center vector -between the particles. Ur controls the shifted distance dependent -interaction based on the distance of closest approach of the two -particles (h12) and the user-specified shift parameter gamma. When -both particles are spherical, the formula reduces to the usual -Lennard-Jones interaction (see details below for when Gay-Berne treats -a particle as "spherical"). - -For large uniform molecules it has been shown that the energy -parameters are approximately representable in terms of local contact -curvatures "(Everaers)"_#Everaers2: - -:c,image(Eqs/pair_gayberne2.jpg) - -The variable names utilized as potential parameters are for the most -part taken from "(Everaers)"_#Everaers2 in order to be consistent with -the "RE-squared pair potential"_pair_resquared.html. Details on the -upsilon and mu parameters are given -"here"_PDF/pair_resquared_extra.pdf. - -More details of the Gay-Berne formulation are given in the references -listed below and in "this supplementary -document"_PDF/pair_gayberne_extra.pdf. - -Use of this pair style requires the NVE, NVT, or NPT fixes with the -{asphere} extension (e.g. "fix nve/asphere"_fix_nve_asphere.html) in -order to integrate particle rotation. Additionally, "atom_style -ellipsoid"_atom_style.html should be used since it defines the -rotational state and the size and shape of each ellipsoidal particle. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon = well depth (energy units) -sigma = minimum effective particle radii (distance units) -epsilon_i_a = relative well depth of type I for side-to-side interactions -epsilon_i_b = relative well depth of type I for face-to-face interactions -epsilon_i_c = relative well depth of type I for end-to-end interactions -epsilon_j_a = relative well depth of type J for side-to-side interactions -epsilon_j_b = relative well depth of type J for face-to-face interactions -epsilon_j_c = relative well depth of type J for end-to-end interactions -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global -cutoff specified in the pair_style command is used. - -It is typical with the Gay-Berne potential to define {sigma} as the -minimum of the 3 shape diameters of the particles involved in an I,I -interaction, though this is not required. Note that this is a -different meaning for {sigma} than the "pair_style -resquared"_pair_resquared.html potential uses. - -The epsilon_i and epsilon_j coefficients are actually defined for atom -types, not for pairs of atom types. Thus, in a series of pair_coeff -commands, they only need to be specified once for each atom type. - -Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are -non-zero, the three values are assigned to atom type I. If all the -epsilon_i values are zero, they are ignored. If any of epsilon_j_a, -epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned -to atom type J. If all three epsilon_j values are zero, they are -ignored. Thus the typical way to define the epsilon_i and epsilon_j -coefficients is to list their values in "pair_coeff I J" commands when -I = J, but set them to 0.0 when I != J. If you do list them when I != -J, you should insure they are consistent with their values in other -pair_coeff commands, since only the last setting will be in effect. - -Note that if this potential is being used as a sub-style of -"pair_style hybrid"_pair_hybrid.html, and there is no "pair_coeff I I" -setting made for Gay-Berne for a particular type I (because I-I -interactions are computed by another hybrid pair potential), then you -still need to insure the epsilon a,b,c coefficients are assigned to -that type. e.g. in a "pair_coeff I J" command. - -NOTE: If the epsilon a = b = c for an atom type, and if the shape of -the particle itself is spherical, meaning its 3 shape parameters are -all the same, then the particle is treated as an LJ sphere by the -Gay-Berne potential. This is significant because if two LJ spheres -interact, then the simple Lennard-Jones formula is used to compute -their interaction energy/force using the specified epsilon and sigma -as the standard LJ parameters. This is much cheaper to compute than -the full Gay-Berne formula. To treat the particle as a LJ sphere with -sigma = D, you should normally set epsilon a = b = c = 1.0, set the -pair_coeff sigma = D, and also set the 3 shape parameters for the -particle to D. The one exception is that if the 3 shape parameters -are set to 0.0, which is a valid way in LAMMPS to specify a point -particle, then the Gay-Berne potential will treat that as shape -parameters of 1.0 (i.e. a LJ particle with sigma = 1), since it -requires finite-size particles. In this case you should still set the -pair_coeff sigma to 1.0 as well. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for this pair style can be mixed. The default mix -value is {geometric}. See the "pair_modify" command for details. - -This pair styles supports the "pair_modify"_pair_modify.html shift -option for the energy of the Lennard-Jones portion of the pair -interaction, but only for sphere-sphere interactions. There is no -shifting performed for ellipsoidal interactions due to the anisotropic -dependence of the interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -The {gayberne} style is part of the ASPHERE package. It is only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -These pair style require that atoms store torque and a quaternion to -represent their orientation, as defined by the -"atom_style"_atom_style.html. It also require they store a per-type -"shape"_set.html. The particles cannot store a per-particle -diameter. - -This pair style requires that atoms be ellipsoids as defined by the -"atom_style ellipsoid"_atom_style.html command. - -Particles acted on by the potential can be finite-size aspherical or -spherical particles, or point particles. Spherical particles have all -3 of their shape parameters equal to each other. Point particles have -all 3 of their shape parameters equal to 0.0. - -The Gay-Berne potential does not become isotropic as r increases -"(Everaers)"_#Everaers2. The distance-of-closest-approach -approximation used by LAMMPS becomes less accurate when high-aspect -ratio ellipsoids are used. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix nve/asphere"_fix_nve_asphere.html, -"compute temp/asphere"_compute_temp_asphere.html, "pair_style -resquared"_pair_resquared.html - -[Default:] none - -:line - -:link(Everaers2) -[(Everaers)] Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). - -:link(Berardi) -[(Berardi)] Berardi, Fava, Zannoni, Chem Phys Lett, 297, 8-14 (1998). -Berardi, Muccioli, Zannoni, J Chem Phys, 128, 024905 (2008). - -:link(Perram) -[(Perram)] Perram and Rasmussen, Phys Rev E, 54, 6565-6572 (1996). - -:link(Allen3) -[(Allen)] Allen and Germano, Mol Phys 104, 3225-3235 (2006). diff --git a/doc/txt/pair_gran.txt b/doc/txt/pair_gran.txt deleted file mode 100644 index f747d15ec4cf918b7ba0101bfe075fe4bcf9cda5..0000000000000000000000000000000000000000 --- a/doc/txt/pair_gran.txt +++ /dev/null @@ -1,271 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style gran/hooke command :h3 -pair_style gran/hooke/omp command :h3 -pair_style gran/hooke/history command :h3 -pair_style gran/hooke/history/omp command :h3 -pair_style gran/hooke/history/kk command :h3 -pair_style gran/hertz/history command :h3 -pair_style gran/hertz/history/omp command :h3 - -[Syntax:] - -pair_style style Kn Kt gamma_n gamma_t xmu dampflag :pre - -style = {gran/hooke} or {gran/hooke/history} or {gran/hertz/history} :ulb,l -Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) :l -Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) :l -gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) :l -gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) :l -xmu = static yield criterion (unitless value between 0.0 and 1.0e4) :l -dampflag = 0 or 1 if tangential damping force is excluded or included :l -:ule - -NOTE: Versions of LAMMPS before 9Jan09 had different style names for -granular force fields. This is to emphasize the fact that the -Hertzian equation has changed to model polydispersity more accurately. -A side effect of the change is that the Kn, Kt, gamma_n, and gamma_t -coefficients in the pair_style command must be specified with -different values in order to reproduce calculations made with earlier -versions of LAMMPS, even for monodisperse systems. See the NOTE below -for details. - -[Examples:] - -pair_style gran/hooke/history 200000.0 NULL 50.0 NULL 0.5 1 -pair_style gran/hooke 200000.0 70000.0 50.0 30.0 0.5 0 :pre - -[Description:] - -The {gran} styles use the following formulas for the frictional force -between two granular particles, as described in -"(Brilliantov)"_#Brilliantov, "(Silbert)"_#Silbert, and -"(Zhang)"_#Zhang3, when the distance r between two particles of radii -Ri and Rj is less than their contact distance d = Ri + Rj. There is -no force between the particles when r > d. - -The two Hookean styles use this formula: - -:c,image(Eqs/pair_gran_hooke.jpg) - -The Hertzian style uses this formula: - -:c,image(Eqs/pair_gran_hertz.jpg) - -In both equations the first parenthesized term is the normal force -between the two particles and the second parenthesized term is the -tangential force. The normal force has 2 terms, a contact force and a -damping force. The tangential force also has 2 terms: a shear force -and a damping force. The shear force is a "history" effect that -accounts for the tangential displacement between the particles for the -duration of the time they are in contact. This term is included in -pair styles {hooke/history} and {hertz/history}, but is not included -in pair style {hooke}. The tangential damping force term is included -in all three pair styles if {dampflag} is set to 1; it is not included -if {dampflag} is set to 0. - -The other quantities in the equations are as follows: - -delta = d - r = overlap distance of 2 particles -Kn = elastic constant for normal contact -Kt = elastic constant for tangential contact -gamma_n = viscoelastic damping constant for normal contact -gamma_t = viscoelastic damping constant for tangential contact -m_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj -Delta St = tangential displacement vector between 2 particles \ - which is truncated to satisfy a frictional yield criterion -n_ij = unit vector along the line connecting the centers of the 2 particles -Vn = normal component of the relative velocity of the 2 particles -Vt = tangential component of the relative velocity of the 2 particles :ul - -The Kn, Kt, gamma_n, and gamma_t coefficients are specified as -parameters to the pair_style command. If a NULL is used for Kt, then -a default value is used where Kt = 2/7 Kn. If a NULL is used for -gamma_t, then a default value is used where gamma_t = 1/2 gamma_n. - -The interpretation and units for these 4 coefficients are different in -the Hookean versus Hertzian equations. - -The Hookean model is one where the normal push-back force for two -overlapping particles is a linear function of the overlap distance. -Thus the specified Kn is in units of (force/distance). Note that this -push-back force is independent of absolute particle size (in the -monodisperse case) and of the relative sizes of the two particles (in -the polydisperse case). This model also applies to the other terms in -the force equation so that the specified gamma_n is in units of -(1/time), Kt is in units of (force/distance), and gamma_t is in units -of (1/time). - -The Hertzian model is one where the normal push-back force for two -overlapping particles is proportional to the area of overlap of the -two particles, and is thus a non-linear function of overlap distance. -Thus Kn has units of force per area and is thus specified in units of -(pressure). The effects of absolute particle size (monodispersity) -and relative size (polydispersity) are captured in the radii-dependent -pre-factors. When these pre-factors are carried through to the other -terms in the force equation it means that the specified gamma_n is in -units of (1/(time*distance)), Kt is in units of (pressure), and -gamma_t is in units of (1/(time*distance)). - -Note that in the Hookean case, Kn can be thought of as a linear spring -constant with units of force/distance. In the Hertzian case, Kn is -like a non-linear spring constant with units of force/area or -pressure, and as shown in the "(Zhang)"_#Zhang3 paper, Kn = 4G / -(3(1-nu)) where nu = the Poisson ratio, G = shear modulus = E / -(2(1+nu)), and E = Young's modulus. Similarly, Kt = 4G / (2-nu). -(NOTE: in an earlier version of the manual, we incorrectly stated that -Kt = 8G / (2-nu).) - -Thus in the Hertzian case Kn and Kt can be set to values that -corresponds to properties of the material being modeled. This is also -true in the Hookean case, except that a spring constant must be chosen -that is appropriate for the absolute size of particles in the model. -Since relative particle sizes are not accounted for, the Hookean -styles may not be a suitable model for polydisperse systems. - -NOTE: In versions of LAMMPS before 9Jan09, the equation for Hertzian -interactions did not include the sqrt(RiRj/Ri+Rj) term and thus was -not as accurate for polydisperse systems. For monodisperse systems, -sqrt(RiRj/Ri+Rj) is a constant factor that effectively scales all 4 -coefficients: Kn, Kt, gamma_n, gamma_t. Thus you can set the values -of these 4 coefficients appropriately in the current code to reproduce -the results of a previous Hertzian monodisperse calculation. For -example, for the common case of a monodisperse system with particles -of diameter 1, all 4 of these coefficients should now be set 2x larger -than they were previously. - -Xmu is also specified in the pair_style command and is the upper limit -of the tangential force through the Coulomb criterion Ft = xmu*Fn, -where Ft and Fn are the total tangential and normal force components -in the formulas above. Thus in the Hookean case, the tangential force -between 2 particles grows according to a tangential spring and -dash-pot model until Ft/Fn = xmu and is then held at Ft = Fn*xmu until -the particles lose contact. In the Hertzian case, a similar analogy -holds, though the spring is no longer linear. - -NOTE: Normally, xmu should be specified as a fractional value between -0.0 and 1.0, however LAMMPS allows large values (up to 1.0e4) to allow -for modeling of systems which can sustain very large tangential -forces. - -The effective mass {m_eff} is given by the formula above for two -isolated particles. If either particle is part of a rigid body, its -mass is replaced by the mass of the rigid body in the formula above. -This is determined by searching for a "fix rigid"_fix_rigid.html -command (or its variants). - -For granular styles there are no additional coefficients to set for -each pair of atom types via the "pair_coeff"_pair_coeff.html command. -All settings are global and are made via the pair_style command. -However you must still use the "pair_coeff"_pair_coeff.html for all -pairs of granular atom types. For example the command - -pair_coeff * * :pre - -should be used if all atoms in the simulation interact via a granular -potential (i.e. one of the pair styles above is used). If a granular -potential is used as a sub-style of "pair_style -hybrid"_pair_hybrid.html, then specific atom types can be used in the -pair_coeff command to determine which atoms interact via a granular -potential. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -The "pair_modify"_pair_modify.html mix, shift, table, and tail options -are not relevant for granular pair styles. - -These pair styles write their information to "binary restart -files"_restart.html, so a pair_style command does not need to be -specified in an input script that reads a restart file. - -These pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -The single() function of these pair styles returns 0.0 for the energy -of a pairwise interaction, since energy is not conserved in these -dissipative potentials. It also returns only the normal component of -the pairwise interaction force. However, the single() function also -calculates 10 extra pairwise quantities. The first 3 are the -components of the tangential force between particles I and J, acting -on particle I. The 4th is the magnitude of this tangential force. -The next 3 (5-7) are the components of the relative velocity in the -normal direction (along the line joining the 2 sphere centers). The -last 3 (8-10) the components of the relative velocity in the -tangential direction. - -These extra quantities can be accessed by the "compute -pair/local"_compute_pair_local.html command, as {p1}, {p2}, ..., -{p10}. - -:line - -[Restrictions:] - -All the granular pair styles are part of the GRANULAR package. It is -only enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -These pair styles require that atoms store torque and angular velocity -(omega) as defined by the "atom_style"_atom_style.html. They also -require a per-particle radius is stored. The {sphere} atom style does -all of this. - -This pair style requires you to use the "comm_modify vel -yes"_comm_modify.html command so that velocities are stored by ghost -atoms. - -These pair styles will not restart exactly when using the -"read_restart"_read_restart.html command, though they should provide -statistically similar results. This is because the forces they -compute depend on atom velocities. See the -"read_restart"_read_restart.html command for more details. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Brilliantov) -[(Brilliantov)] Brilliantov, Spahn, Hertzsch, Poschel, Phys Rev E, 53, -p 5382-5392 (1996). - -:link(Silbert) -[(Silbert)] Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev -E, 64, p 051302 (2001). - -:link(Zhang3) -[(Zhang)] Zhang and Makse, Phys Rev E, 72, p 011301 (2005). diff --git a/doc/txt/pair_gromacs.txt b/doc/txt/pair_gromacs.txt deleted file mode 100644 index e50a21588cd341ee32c9c2e074d26d9d4c9e0e05..0000000000000000000000000000000000000000 --- a/doc/txt/pair_gromacs.txt +++ /dev/null @@ -1,156 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/gromacs command :h3 -pair_style lj/gromacs/gpu command :h3 -pair_style lj/gromacs/kk command :h3 -pair_style lj/gromacs/omp command :h3 -pair_style lj/gromacs/coul/gromacs command :h3 -pair_style lj/gromacs/coul/gromacs/kk command :h3 -pair_style lj/gromacs/coul/gromacs/omp command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {lj/gromacs} or {lj/gromacs/coul/gromacs} -args = list of arguments for a particular style :ul - {lj/gromacs} args = inner outer - inner, outer = global switching cutoffs for Lennard Jones - {lj/gromacs/coul/gromacs} args = inner outer (inner2) (outer2) - inner, outer = global switching cutoffs for Lennard Jones (and Coulombic if only 2 args) - inner2, outer2 = global switching cutoffs for Coulombic (optional) :pre - -[Examples:] - -pair_style lj/gromacs 9.0 12.0 -pair_coeff * * 100.0 2.0 -pair_coeff 2 2 100.0 2.0 8.0 10.0 :pre - -pair_style lj/gromacs/coul/gromacs 9.0 12.0 -pair_style lj/gromacs/coul/gromacs 8.0 10.0 7.0 9.0 -pair_coeff * * 100.0 2.0 :pre - -[Description:] - -The {lj/gromacs} styles compute shifted LJ and Coulombic interactions -with an additional switching function S(r) that ramps the energy and force -smoothly to zero between an inner and outer cutoff. It is a commonly -used potential in the "GROMACS"_http://www.gromacs.org MD code and for -the coarse-grained models of "(Marrink)"_#Marrink. - -:c,image(Eqs/pair_gromacs.jpg) - -r1 is the inner cutoff; rc is the outer cutoff. The coefficients A, B, -and C are computed by LAMMPS to perform the shifting and smoothing. -The function -S(r) is actually applied once to each term of the LJ formula and once -to the Coulombic formula, so there are 2 or 3 sets of A,B,C coefficients -depending on which pair_style is used. The boundary conditions -applied to the smoothing function are as follows: S'(r1) = S''(r1) = 0, -S(rc) = -E(rc), S'(rc) = -E'(rc), and S''(rc) = -E''(rc), -where E(r) is the corresponding term -in the LJ or Coulombic potential energy function. -Single and double primes denote first and second -derivatives with respect to r, respectively. - -The inner and outer cutoff for the LJ and Coulombic terms can be the -same or different depending on whether 2 or 4 arguments are used in -the pair_style command. The inner LJ cutoff must be > 0, but the -inner Coulombic cutoff can be >= 0. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) -inner (distance units) -outer (distance units) :ul - -Note that sigma is defined in the LJ formula as the zero-crossing -distance for the potential, not as the energy minimum at 2^(1/6) -sigma. - -The last 2 coefficients are optional inner and outer cutoffs for style -{lj/gromacs}. If not specified, the global {inner} and {outer} values -are used. - -The last 2 coefficients cannot be used with style -{lj/gromacs/coul/gromacs} because this force field does not allow -varying cutoffs for individual atom pairs; all pairs use the global -cutoff(s) specified in the pair_style command. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is {geometric}. See the "pair_modify" command -for details. - -None of the GROMACS pair styles support the -"pair_modify"_pair_modify.html shift option, since the Lennard-Jones -portion of the pair interaction is already smoothed to 0.0 at the -cutoff. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -None of the GROMACS pair styles support the -"pair_modify"_pair_modify.html tail option for adding long-range tail -corrections to energy and pressure, since there are no corrections for -a potential that goes to 0.0 at the cutoff. - -All of the GROMACS pair styles write their information to "binary -restart files"_restart.html, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. - -All of the GROMACS pair styles can only be used via the {pair} -keyword of the "run_style respa"_run_style.html command. They do not -support the {inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Marrink) -[(Marrink)] Marrink, de Vries, Mark, J Phys Chem B, 108, 750-760 (2004). diff --git a/doc/txt/pair_gw.txt b/doc/txt/pair_gw.txt deleted file mode 100644 index ff85955dc006e05da8cf6fb22a8ebe8859979c09..0000000000000000000000000000000000000000 --- a/doc/txt/pair_gw.txt +++ /dev/null @@ -1,121 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style gw command :h3 -pair_style gw/zbl command :h3 - -[Syntax:] - -pair_style style :pre - -style = {gw} or {gw/zbl} :ul - -[Examples:] - -pair_style gw -pair_coeff * * SiC.gw Si C C - -pair_style gw/zbl -pair_coeff * * SiC.gw.zbl C Si :pre - -[Description:] - -The {gw} style computes a 3-body "Gao-Weber"_#Gao potential; -similarly {gw/zbl} combines this potential with a modified -repulsive ZBL core function in a similar fashion as implemented -in the "tersoff/zbl"_pair_tersoff_zbl.html pair style. - -Unfortunately the author of this contributed code has not been -able to submit a suitable documentation explaining the details -of the potentials. The LAMMPS developers thus have finally decided -to release the code anyway with only the technical explanations. -For details of the model and the parameters, please refer to the -linked publication. - -Only a single pair_coeff command is used with the {gw} and {gw/zbl} -styles which specifies a Gao-Weber potential file with parameters -for all needed elements. These are mapped to LAMMPS atom types by -specifying N additional arguments after the filename in the pair_coeff -command, where N is the number of LAMMPS atom types: - -filename -N element names = mapping of GW elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, imagine a file SiC.gw has Gao-Weber values for Si and C. -If your LAMMPS simulation has 4 atoms types and you want the first 3 to -be Si, and the 4th to be C, you would use the following pair_coeff command: - -pair_coeff * * SiC.gw Si Si Si C :pre - -The first 2 arguments must be * * so as to span all LAMMPS atom types. -The first three Si arguments map LAMMPS atom types 1,2,3 to the Si -element in the GW file. The final C argument maps LAMMPS atom type 4 -to the C element in the GW file. If a mapping value is specified as -NULL, the mapping is not performed. This can be used when a {gw} -potential is used as part of the {hybrid} pair style. The NULL values -are placeholders for atom types that will be used with other -potentials. - -Gao-Weber files in the {potentials} directory of the LAMMPS -distribution have a ".gw" suffix. Gao-Weber with ZBL files -have a ".gz.zbl" suffix. The structure of the potential files -is similar to other many-body potentials supported by LAMMPS. -You have to refer to the comments in the files and the literature -to learn more details. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, where types I and J correspond to -two different element types, mixing is performed by LAMMPS as -described above from values in the potential file. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the MANYBODY package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -The Gao-Weber potential files provided with LAMMPS (see the -potentials directory) are parameterized for metal "units"_units.html. -You can use the GW potential with any LAMMPS units, but you would need -to create your own GW potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Gao) -[(Gao)] Gao and Weber, Nuclear Instruments and Methods in Physics -Research B 191 (2012) 504. diff --git a/doc/txt/pair_hbond_dreiding.txt b/doc/txt/pair_hbond_dreiding.txt deleted file mode 100644 index ec470f601f19440baad50d61eac748f58173c0e3..0000000000000000000000000000000000000000 --- a/doc/txt/pair_hbond_dreiding.txt +++ /dev/null @@ -1,242 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style hbond/dreiding/lj command :h3 -pair_style hbond/dreiding/lj/omp command :h3 -pair_style hbond/dreiding/morse command :h3 -pair_style hbond/dreiding/morse/omp command :h3 - -[Syntax:] - -pair_style style N inner_distance_cutoff outer_distance_cutoff angle_cutof :pre - -style = {hbond/dreiding/lj} or {hbond/dreiding/morse} -n = cosine angle periodicity -inner_distance_cutoff = global inner cutoff for Donor-Acceptor interactions (distance units) -outer_distance_cutoff = global cutoff for Donor-Acceptor interactions (distance units) -angle_cutoff = global angle cutoff for Acceptor-Hydrogen-Donor -interactions (degrees) :ul - -[Examples:] - -pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/lj 4 9.0 11.0 90 -pair_coeff 1 2 hbond/dreiding/lj 3 i 9.5 2.75 4 9.0 11.0 90.0 :pre - -pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/morse 2 9.0 11.0 90 -pair_coeff 1 2 hbond/dreiding/morse 3 i 3.88 1.7241379 2.9 2 9 11 90 :pre - -[Description:] - -The {hbond/dreiding} styles compute the Acceptor-Hydrogen-Donor (AHD) -3-body hydrogen bond interaction for the "DREIDING"_Howto_bioFF.html -force field, given by: - -:c,image(Eqs/pair_hbond_dreiding.jpg) - -where Rin is the inner spline distance cutoff, Rout is the outer -distance cutoff, theta_c is the angle cutoff, and n is the cosine -periodicity. - -Here, {r} is the radial distance between the donor (D) and acceptor -(A) atoms and {theta} is the bond angle between the acceptor, the -hydrogen (H) and the donor atoms: - -:c,image(JPG/dreiding_hbond.jpg) - -These 3-body interactions can be defined for pairs of acceptor and -donor atoms, based on atom types. For each donor/acceptor atom pair, -the 3rd atom in the interaction is a hydrogen permanently bonded to -the donor atom, e.g. in a bond list read in from a data file via the -"read_data"_read_data.html command. The atom types of possible -hydrogen atoms for each donor/acceptor type pair are specified by the -"pair_coeff"_pair_coeff.html command (see below). - -Style {hbond/dreiding/lj} is the original DREIDING potential of -"(Mayo)"_#pair-Mayo. It uses a LJ 12/10 functional for the Donor-Acceptor -interactions. To match the results in the original paper, use n = 4. - -Style {hbond/dreiding/morse} is an improved version using a Morse -potential for the Donor-Acceptor interactions. "(Liu)"_#Liu showed -that the Morse form gives improved results for Dendrimer simulations, -when n = 2. - -See the "Howto bioFF"_Howto_bioFF.html doc page for more information -on the DREIDING force field. - -NOTE: Because the Dreiding hydrogen bond potential is only one portion -of an overall force field which typically includes other pairwise -interactions, it is common to use it as a sub-style in a "pair_style -hybrid/overlay"_pair_hybrid.html command, where another pair style -provides the repulsive core interaction between pairs of atoms, e.g. a -1/r^12 Lennard-Jones repulsion. - -NOTE: When using the hbond/dreiding pair styles with "pair_style -hybrid/overlay"_pair_hybrid.html, you should explicitly define pair -interactions between the donor atom and acceptor atoms, (as well as -between these atoms and ALL other atoms in your system). Whenever -"pair_style hybrid/overlay"_pair_hybrid.html is used, ordinary mixing -rules are not applied to atoms like the donor and acceptor atoms -because they are typically referenced in multiple pair styles. -Neglecting to do this can cause difficult-to-detect physics problems. - -NOTE: In the original Dreiding force field paper 1-4 non-bonded -interactions ARE allowed. If this is desired for your model, use the -special_bonds command (e.g. "special_bonds lj 0.0 0.0 1.0") to turn -these interactions on. - -:line - -The following coefficients must be defined for pairs of eligible -donor/acceptor types via the "pair_coeff"_pair_coeff.html command as -in the examples above. - -NOTE: Unlike other pair styles and their associated -"pair_coeff"_pair_coeff.html commands, you do not need to specify -pair_coeff settings for all possible I,J type pairs. Only I,J type -pairs for atoms which act as joint donors/acceptors need to be -specified; all other type pairs are assumed to be inactive. - -NOTE: A "pair_coeff"_pair_coeff.html command can be specified multiple -times for the same donor/acceptor type pair. This enables multiple -hydrogen types to be assigned to the same donor/acceptor type pair. -For other pair_styles, if the pair_coeff command is re-used for the -same I.J type pair, the settings for that type pair are overwritten. -For the hydrogen bond potentials this is not the case; the settings -are cumulative. This means the only way to turn off a previous -setting, is to re-use the pair_style command and start over. - -For the {hbond/dreiding/lj} style the list of coefficients is as -follows: - -K = hydrogen atom type = 1 to Ntypes -donor flag = {i} or {j} -epsilon (energy units) -sigma (distance units) -n = exponent in formula above -distance cutoff Rin (distance units) -distance cutoff Rout (distance units) -angle cutoff (degrees) :ul - -For the {hbond/dreiding/morse} style the list of coefficients is as -follows: - -K = hydrogen atom type = 1 to Ntypes -donor flag = {i} or {j} -D0 (energy units) -alpha (1/distance units) -r0 (distance units) -n = exponent in formula above -distance cutoff Rin (distance units) -distance cutoff Rout (distance units) -angle cutoff (degrees) :ul - -A single hydrogen atom type K can be specified, or a wild-card asterisk -can be used in place of or in conjunction with the K arguments to -select multiple types as hydrogen atoms. This takes the form -"*" or "*n" or "n*" or "m*n". See the "pair_coeff"_pair_coeff.html -command doc page for details. - -If the donor flag is {i}, then the atom of type I in the pair_coeff -command is treated as the donor, and J is the acceptor. If the donor -flag is {j}, then the atom of type J in the pair_coeff command is -treated as the donor and I is the donor. This option is required -because the "pair_coeff"_pair_coeff.html command requires that I <= J. - -Epsilon and sigma are settings for the hydrogen bond potential based -on a Lennard-Jones functional form. Note that sigma is defined as the -zero-crossing distance for the potential, not as the energy minimum at -2^(1/6) sigma. - -D0 and alpha and r0 are settings for the hydrogen bond potential based -on a Morse functional form. - -The last 3 coefficients for both styles are optional. If not -specified, the global n, distance cutoff, and angle cutoff specified -in the pair_style command are used. If you wish to only override the -2nd or 3rd optional parameter, you must also specify the preceding -optional parameters. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -These pair styles do not support mixing. You must explicitly identify -each donor/acceptor type pair. - -These styles do not support the "pair_modify"_pair_modify.html shift -option for the energy of the interactions. - -The "pair_modify"_pair_modify.html table option is not relevant for -these pair styles. - -These pair styles do not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -These pair styles do not write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands need to be -re-specified in an input script that reads a restart file. - -These pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -These pair styles tally a count of how many hydrogen bonding -interactions they calculate each timestep and the hbond energy. These -quantities can be accessed via the "compute pair"_compute_pair.html -command as a vector of values of length 2. - -To print these quantities to the log file (with a descriptive column -heading) the following commands could be included in an input script: - -compute hb all pair hbond/dreiding/lj -variable n_hbond equal c_hb\[1\] #number hbonds -variable E_hbond equal c_hb\[2\] #hbond energy -thermo_style custom step temp epair v_E_hbond :pre - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(pair-Mayo) -[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990). - -:link(Liu) -[(Liu)] Liu, Bryantsev, Diallo, Goddard III, J. Am. Chem. Soc 131 (8) -2798 (2009) diff --git a/doc/txt/pair_hybrid.txt b/doc/txt/pair_hybrid.txt deleted file mode 100644 index 4467ac1d51f00a6623153c6c3c45b715080bad01..0000000000000000000000000000000000000000 --- a/doc/txt/pair_hybrid.txt +++ /dev/null @@ -1,383 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style hybrid command :h3 -pair_style hybrid/kk command :h3 -pair_style hybrid/overlay command :h3 -pair_style hybrid/overlay/kk command :h3 - -[Syntax:] - -pair_style hybrid style1 args style2 args ... -pair_style hybrid/overlay style1 args style2 args ... :pre - -style1,style2 = list of one or more pair styles and their arguments :ul - -[Examples:] - -pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0 -pair_coeff 1*2 1*2 eam niu3 -pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0 -pair_coeff 1*2 3 lj/cut 0.5 1.2 :pre - -pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0 -pair_coeff * * lj/cut 1.0 1.0 -pair_coeff * * coul/long :pre - -[Description:] - -The {hybrid} and {hybrid/overlay} styles enable the use of multiple -pair styles in one simulation. With the {hybrid} style, exactly one -pair style is assigned to each pair of atom types. With the -{hybrid/overlay} style, one or more pair styles can be assigned to -each pair of atom types. The assignment of pair styles to type pairs -is made via the "pair_coeff"_pair_coeff.html command. - -Here are two examples of hybrid simulations. The {hybrid} style could -be used for a simulation of a metal droplet on a LJ surface. The -metal atoms interact with each other via an {eam} potential, the -surface atoms interact with each other via a {lj/cut} potential, and -the metal/surface interaction is also computed via a {lj/cut} -potential. The {hybrid/overlay} style could be used as in the 2nd -example above, where multiple potentials are superposed in an additive -fashion to compute the interaction between atoms. In this example, -using {lj/cut} and {coul/long} together gives the same result as if -the {lj/cut/coul/long} potential were used by itself. In this case, -it would be more efficient to use the single combined potential, but -in general any combination of pair potentials can be used together in -to produce an interaction that is not encoded in any single pair_style -file, e.g. adding Coulombic forces between granular particles. - -All pair styles that will be used are listed as "sub-styles" following -the {hybrid} or {hybrid/overlay} keyword, in any order. Each -sub-style's name is followed by its usual arguments, as illustrated in -the example above. See the doc pages of individual pair styles for a -listing and explanation of the appropriate arguments. - -Note that an individual pair style can be used multiple times as a -sub-style. For efficiency this should only be done if your model -requires it. E.g. if you have different regions of Si and C atoms and -wish to use a Tersoff potential for pure Si for one set of atoms, and -a Tersoff potential for pure C for the other set (presumably with some -3rd potential for Si-C interactions), then the sub-style {tersoff} -could be listed twice. But if you just want to use a Lennard-Jones or -other pairwise potential for several different atom type pairs in your -model, then you should just list the sub-style once and use the -pair_coeff command to assign parameters for the different type pairs. - -NOTE: There is one exception to this option to list an individual -pair style multiple times: GPU-enabled pair styles in the GPU package. -This is because the GPU package currently assumes that only one -instance of a pair style is being used. - -In the pair_coeff commands, the name of a pair style must be added -after the I,J type specification, with the remaining coefficients -being those appropriate to that style. If the pair style is used -multiple times in the pair_style command, then an additional numeric -argument must also be specified which is a number from 1 to M where M -is the number of times the sub-style was listed in the pair style -command. The extra number indicates which instance of the sub-style -these coefficients apply to. - -For example, consider a simulation with 3 atom types: types 1 and 2 -are Ni atoms, type 3 are LJ atoms with charges. The following -commands would set up a hybrid simulation: - -pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0 -pair_coeff * * eam/alloy nialhjea Ni Ni NULL -pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0 -pair_coeff 1*2 3 lj/cut 0.8 1.3 :pre - -As an example of using the same pair style multiple times, consider a -simulation with 2 atom types. Type 1 is Si, type 2 is C. The -following commands would model the Si atoms with Tersoff, the C atoms -with Tersoff, and the cross-interactions with Lennard-Jones: - -pair_style hybrid lj/cut 2.5 tersoff tersoff -pair_coeff * * tersoff 1 Si.tersoff Si NULL -pair_coeff * * tersoff 2 C.tersoff NULL C -pair_coeff 1 2 lj/cut 1.0 1.5 :pre - -If pair coefficients are specified in the data file read via the -"read_data"_read_data.html command, then the same rule applies. -E.g. "eam/alloy" or "lj/cut" must be added after the atom type, for -each line in the "Pair Coeffs" section, e.g. - -Pair Coeffs :pre - -1 lj/cut/coul/cut 1.0 1.0 -... :pre - -Note that the pair_coeff command for some potentials such as -"pair_style eam/alloy"_pair_eam.html includes a mapping specification -of elements to all atom types, which in the hybrid case, can include -atom types not assigned to the {eam/alloy} potential. The NULL -keyword is used by many such potentials (eam/alloy, Tersoff, AIREBO, -etc), to denote an atom type that will be assigned to a different -sub-style. - -For the {hybrid} style, each atom type pair I,J is assigned to exactly -one sub-style. Just as with a simulation using a single pair style, -if you specify the same atom type pair in a second pair_coeff command, -the previous assignment will be overwritten. - -For the {hybrid/overlay} style, each atom type pair I,J can be -assigned to one or more sub-styles. If you specify the same atom type -pair in a second pair_coeff command with a new sub-style, then the -second sub-style is added to the list of potentials that will be -calculated for two interacting atoms of those types. If you specify -the same atom type pair in a second pair_coeff command with a -sub-style that has already been defined for that pair of atoms, then -the new pair coefficients simply override the previous ones, as in the -normal usage of the pair_coeff command. E.g. these two sets of -commands are the same: - -pair_style lj/cut 2.5 -pair_coeff * * 1.0 1.0 -pair_coeff 2 2 1.5 0.8 :pre - -pair_style hybrid/overlay lj/cut 2.5 -pair_coeff * * lj/cut 1.0 1.0 -pair_coeff 2 2 lj/cut 1.5 0.8 :pre - -Coefficients must be defined for each pair of atoms types via the -"pair_coeff"_pair_coeff.html command as described above, or in the -data file or restart files read by the "read_data"_read_data.html or -"read_restart"_read_restart.html commands, or by mixing as described -below. - -For both the {hybrid} and {hybrid/overlay} styles, every atom type -pair I,J (where I <= J) must be assigned to at least one sub-style via -the "pair_coeff"_pair_coeff.html command as in the examples above, or -in the data file read by the "read_data"_read_data.html, or by mixing -as described below. - -If you want there to be no interactions between a particular pair of -atom types, you have 3 choices. You can assign the type pair to some -sub-style and use the "neigh_modify exclude type"_neigh_modify.html -command. You can assign it to some sub-style and set the coefficients -so that there is effectively no interaction (e.g. epsilon = 0.0 in a -LJ potential). Or, for {hybrid} and {hybrid/overlay} simulations, you -can use this form of the pair_coeff command in your input script: - -pair_coeff 2 3 none :pre - -or this form in the "Pair Coeffs" section of the data file: - -3 none :pre - -If an assignment to {none} is made in a simulation with the -{hybrid/overlay} pair style, it wipes out all previous assignments of -that atom type pair to sub-styles. - -Note that you may need to use an "atom_style"_atom_style.html hybrid -command in your input script, if atoms in the simulation will need -attributes from several atom styles, due to using multiple pair -potentials. - -:line - -Different force fields (e.g. CHARMM vs AMBER) may have different rules -for applying weightings that change the strength of pairwise -interactions between pairs of atoms that are also 1-2, 1-3, and 1-4 -neighbors in the molecular bond topology, as normally set by the -"special_bonds"_special_bonds.html command. Different weights can be -assigned to different pair hybrid sub-styles via the "pair_modify -special"_pair_modify.html command. This allows multiple force fields -to be used in a model of a hybrid system, however, there is no consistent -approach to determine parameters automatically for the interactions -between the two force fields, this is only recommended when particles -described by the different force fields do not mix. - -Here is an example for mixing CHARMM and AMBER: The global {amber} -setting sets the 1-4 interactions to non-zero scaling factors and -then overrides them with 0.0 only for CHARMM: - -special_bonds amber -pair_hybrid lj/charmm/coul/long 8.0 10.0 lj/cut/coul/long 10.0 -pair_modify pair lj/charmm/coul/long special lj/coul 0.0 0.0 0.0 :pre - -The this input achieves the same effect: - -special_bonds 0.0 0.0 0.1 -pair_hybrid lj/charmm/coul/long 8.0 10.0 lj/cut/coul/long 10.0 -pair_modify pair lj/cut/coul/long special lj 0.0 0.0 0.5 -pair_modify pair lj/cut/coul/long special coul 0.0 0.0 0.83333333 -pair_modify pair lj/charmm/coul/long special lj/coul 0.0 0.0 0.0 :pre - -Here is an example for mixing Tersoff with OPLS/AA based on -a data file that defines bonds for all atoms where for the -Tersoff part of the system the force constants for the bonded -interactions have been set to 0. Note the global settings are -effectively {lj/coul 0.0 0.0 0.5} as required for OPLS/AA: - -special_bonds lj/coul 1e-20 1e-20 0.5 -pair_hybrid tersoff lj/cut/coul/long 12.0 -pair_modify pair tersoff special lj/coul 1.0 1.0 1.0 :pre - -For use with the various "compute */tally"_compute_tally.html -computes, the "pair_modify compute/tally"_pair_modify.html -command can be used to selectively turn off processing of -the compute tally styles, for example, if those pair styles -(e.g. many-body styles) do not support this feature. - -See the "pair_modify"_pair_modify.html doc page for details on -the specific syntax, requirements and restrictions. - -:line - -The potential energy contribution to the overall system due to an -individual sub-style can be accessed and output via the "compute -pair"_compute_pair.html command. - -:line - -NOTE: Several of the potentials defined via the pair_style command in -LAMMPS are really many-body potentials, such as Tersoff, AIREBO, MEAM, -ReaxFF, etc. The way to think about using these potentials in a -hybrid setting is as follows. - -A subset of atom types is assigned to the many-body potential with a -single "pair_coeff"_pair_coeff.html command, using "* *" to include -all types and the NULL keywords described above to exclude specific -types not assigned to that potential. If types 1,3,4 were assigned in -that way (but not type 2), this means that all many-body interactions -between all atoms of types 1,3,4 will be computed by that potential. -Pair_style hybrid allows interactions between type pairs 2-2, 1-2, -2-3, 2-4 to be specified for computation by other pair styles. You -could even add a second interaction for 1-1 to be computed by another -pair style, assuming pair_style hybrid/overlay is used. - -But you should not, as a general rule, attempt to exclude the -many-body interactions for some subset of the type pairs within the -set of 1,3,4 interactions, e.g. exclude 1-1 or 1-3 interactions. That -is not conceptually well-defined for many-body interactions, since the -potential will typically calculate energies and foces for small groups -of atoms, e.g. 3 or 4 atoms, using the neighbor lists of the atoms to -find the additional atoms in the group. It is typically non-physical -to think of excluding an interaction between a particular pair of -atoms when the potential computes 3-body or 4-body interactions. - -However, you can still use the pair_coeff none setting or the -"neigh_modify exclude"_neigh_modify.html command to exclude certain -type pairs from the neighbor list that will be passed to a many-body -sub-style. This will alter the calculations made by a many-body -potential, since it builds its list of 3-body, 4-body, etc -interactions from the pair list. You will need to think carefully as -to whether it produces a physically meaningful result for your model. - -For example, imagine you have two atom types in your model, type 1 for -atoms in one surface, and type 2 for atoms in the other, and you wish -to use a Tersoff potential to compute interactions within each -surface, but not between surfaces. Then either of these two command -sequences would implement that model: - -pair_style hybrid tersoff -pair_coeff * * tersoff SiC.tersoff C C -pair_coeff 1 2 none :pre - -pair_style tersoff -pair_coeff * * SiC.tersoff C C -neigh_modify exclude type 1 2 :pre - -Either way, only neighbor lists with 1-1 or 2-2 interactions would be -passed to the Tersoff potential, which means it would compute no -3-body interactions containing both type 1 and 2 atoms. - -Here is another example, using hybrid/overlay, to use 2 many-body -potentials together, in an overlapping manner. Imagine you have CNT -(C atoms) on a Si surface. You want to use Tersoff for Si/Si and Si/C -interactions, and AIREBO for C/C interactions. Si atoms are type 1; C -atoms are type 2. Something like this will work: - -pair_style hybrid/overlay tersoff airebo 3.0 -pair_coeff * * tersoff SiC.tersoff.custom Si C -pair_coeff * * airebo CH.airebo NULL C :pre - -Note that to prevent the Tersoff potential from computing C/C -interactions, you would need to modify the SiC.tersoff file to turn -off C/C interaction, i.e. by setting the appropriate coefficients to -0.0. - -: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 on the "Speed packages"_Speed_packages.html doc -page. - -Since the {hybrid} and {hybrid/overlay} styles delegate computation to -the individual sub-styles, the suffix versions of the {hybrid} and -{hybrid/overlay} styles are used to propagate the corresponding suffix -to all sub-styles, if those versions exist. Otherwise the -non-accelerated version will be used. - -The individual accelerated sub-styles are part of the GPU, USER-OMP -and OPT packages, respectively. They are only enabled if LAMMPS was -built with those packages. See the "Build package"_Build_package.html -doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -Any pair potential settings made via the -"pair_modify"_pair_modify.html command are passed along to all -sub-styles of the hybrid potential. - -For atom type pairs I,J and I != J, if the sub-style assigned to I,I -and J,J is the same, and if the sub-style allows for mixing, then the -coefficients for I,J can be mixed. This means you do not have to -specify a pair_coeff command for I,J since the I,J type pair will be -assigned automatically to the sub-style defined for both I,I and J,J -and its coefficients generated by the mixing rule used by that -sub-style. For the {hybrid/overlay} style, there is an additional -requirement that both the I,I and J,J pairs are assigned to a single -sub-style. See the "pair_modify" command for details of mixing rules. -See the See the doc page for the sub-style to see if allows for -mixing. - -The hybrid pair styles supports the "pair_modify"_pair_modify.html -shift, table, and tail options for an I,J pair interaction, if the -associated sub-style supports it. - -For the hybrid pair styles, the list of sub-styles and their -respective settings are written to "binary restart -files"_restart.html, so a "pair_style"_pair_style.html command does -not need to specified in an input script that reads a restart file. -However, the coefficient information is not stored in the restart -file. Thus, pair_coeff commands need to be re-specified in the -restart input script. - -These pair styles support the use of the {inner}, {middle}, and -{outer} keywords of the "run_style respa"_run_style.html command, if -their sub-styles do. - -[Restrictions:] - -When using a long-range Coulombic solver (via the -"kspace_style"_kspace_style.html command) with a hybrid pair_style, -one or more sub-styles will be of the "long" variety, -e.g. {lj/cut/coul/long} or {buck/coul/long}. You must insure that the -short-range Coulombic cutoff used by each of these long pair styles is -the same or else LAMMPS will generate an error. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none diff --git a/doc/txt/pair_kim.txt b/doc/txt/pair_kim.txt deleted file mode 100644 index 41593675babaf137289d23bf06ea597a7bb2fbdf..0000000000000000000000000000000000000000 --- a/doc/txt/pair_kim.txt +++ /dev/null @@ -1,112 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style kim command :h3 - -[Syntax:] - -pair_style kim model :pre - -model = name of a KIM model (the KIM ID for models archived in OpenKIM) - -[Examples:] - -pair_style kim SW_StillingerWeber_1985_Si__MO_405512056662_005 -pair_coeff * * Si :pre - -[Description:] - -This pair style is a wrapper on the "Open Knowledgebase of Interatomic -Models (OpenKIM)"_https://openkim.org repository of interatomic -potentials to enable their use in LAMMPS scripts. - -The preferred interface for using interatomic models archived in -OpenKIM is the "kim_commands interface"_kim_commands.html. That -interface supports both "KIM Portable Models" (PMs) that conform to the -KIM API Portable Model Interface (PMI) and can be used by any -simulation code that conforms to the KIM API/PMI, and -"KIM Simulator Models" that are natively implemented within a single -simulation code (like LAMMPS) and can only be used with it. -The {pair_style kim} command is limited to KIM PMs. It is -used by the "kim_commands interface"_kim_commands.html as needed. - -NOTE: Since {pair_style kim} is called by {kim_interactions} as needed, -is not recommended to be directly used in input scripts. - -:line - -The argument {model} is the name of the KIM PM. -For potentials archived in OpenKIM -this is the extended KIM ID (see "kim_commands"_kim_commands.html -for details). LAMMPS can invoke any KIM PM, however there can -be incompatibilities (for example due to unit matching issues). -In the event of an incompatibility, the code will terminate with -an error message. Check both the LAMMPS and KIM log files for details. - -Only a single {pair_coeff} command is used with the {kim} style, which -specifies the mapping of LAMMPS atom types to the species supported by -the KIM PM. This is done by specifying {N} additional arguments -after the * * in the {pair_coeff} command, where {N} is the number of -LAMMPS atom types: - -N element names = mapping of KIM elements to atom types :ul - -For example, consider a KIM PM that supports Si and C species. -If the LAMMPS simulation has four atom types, where the first three are Si, -and the fourth is C, the following {pair_coeff} command would be used: - -pair_coeff * * Si Si Si C :pre - -The first two arguments must be * * so as to span all LAMMPS atom types. -The first three Si arguments map LAMMPS atom types 1, 2, and 3 to Si as -defined within KIM PM. The final C argument maps LAMMPS atom type 4 to C. - -:line - -In addition to the usual LAMMPS error messages, the KIM library itself -may generate errors, which should be printed to the screen. In this -case it is also useful to check the {kim.log} file for additional error -information. The file {kim.log} should be generated in the same -directory where LAMMPS is running. - -To download, build, and install the KIM library on your system, see -the {lib/kim/README} file. Once you have done this and built LAMMPS -with the KIM package installed you can run the example input scripts -in {examples/kim}. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since KIM stores the potential parameters. -Thus, you need to re-specify the pair_style and pair_coeff commands in -an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the KIM package. See details on -restrictions in "kim_commands"_kim_commands.html. - -This current version of pair_style kim is compatible with the -kim-api package version 2.0.0 and higher. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "kim_commands"_kim_commands.html - -[Default:] none diff --git a/doc/txt/pair_kolmogorov_crespi_z.txt b/doc/txt/pair_kolmogorov_crespi_z.txt deleted file mode 100644 index d45b5bd2e9e6decfdebe353f90fee9b750c38d34..0000000000000000000000000000000000000000 --- a/doc/txt/pair_kolmogorov_crespi_z.txt +++ /dev/null @@ -1,76 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style kolmogorov/crespi/z command :h3 - -[Syntax:] - -pair_style \[hybrid/overlay ...\] kolmogorov/crespi/z cutoff :pre - -[Examples:] - -pair_style hybrid/overlay kolmogorov/crespi/z 20.0 -pair_coeff * * none -pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C :pre - -pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0 -pair_coeff * * rebo CH.rebo C C -pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C :pre - -[Description:] - -The {kolmogorov/crespi/z} style computes the Kolmogorov-Crespi interaction -potential as described in "(Kolmogorov)"_#KC05. An important simplification is made, -which is to take all normals along the z-axis. - -:c,image(Eqs/pair_kolmogorov_crespi_z.jpg) - -It is important to have a sufficiently large cutoff to ensure smooth forces. -Energies are shifted so that they go continuously to zero at the cutoff assuming -that the exponential part of {Vij} (first term) decays sufficiently fast. -This shift is achieved by the last term in the equation for {Vij} above. - -This potential is intended for interactions between two layers of graphene. -Therefore, to avoid interaction between layers in multi-layered materials, -each layer should have a separate atom type and interactions should only -be computed between atom types of neighboring layers. - -The parameter file (e.g. CC.KC), is intended for use with metal -"units"_units.html, with energies in meV. An additional parameter, {S}, -is available to facilitate scaling of energies in accordance with -"(vanWijk)"_#vanWijk. - -This potential must be used in combination with hybrid/overlay. -Other interactions can be set to zero using pair_style {none}. - -[Restrictions:] - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, -"pair_none"_pair_none.html, -"pair_style hybrid/overlay"_pair_hybrid.html, -"pair_style drip"_pair_drip.html, -"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html. -"pair_style kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html, -"pair_style lebedeva/z"_pair_lebedeva_z.html - -[Default:] none - -:line - -:link(KC05) -[(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) - -:link(vanWijk) -[(vanWijk)] M. M. van Wijk, A. Schuring, M. I. Katsnelson, and A. Fasolino, -Physical Review Letters, 113, 135504 (2014) diff --git a/doc/txt/pair_lcbop.txt b/doc/txt/pair_lcbop.txt deleted file mode 100644 index 21c809bf6a2f3a5b853b2dcbbde5296ca81008e1..0000000000000000000000000000000000000000 --- a/doc/txt/pair_lcbop.txt +++ /dev/null @@ -1,97 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lcbop command :h3 - -[Syntax:] - -pair_style lcbop :pre - -[Examples:] - -pair_style lcbop -pair_coeff * * ../potentials/C.lcbop C :pre - -[Description:] - -The {lcbop} pair style computes the long-range bond-order potential -for carbon (LCBOP) of "(Los and Fasolino)"_#Los. See section II in -that paper for the analytic equations associated with the potential. - -Only a single pair_coeff command is used with the {lcbop} style which -specifies an LCBOP potential file with parameters for specific -elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of LCBOP elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, if your LAMMPS simulation has 4 atom types and you want -the 1st 3 to be C you would use the following pair_coeff command: - -pair_coeff * * C.lcbop C C C NULL :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The first C argument maps LAMMPS atom type 1 to the C element in the -LCBOP file. If a mapping value is specified as NULL, the mapping is -not performed. This can be used when a {lcbop} potential is used as -part of the {hybrid} pair style. The NULL values are placeholders for -atom types that will be used with other potentials. - -The parameters/coefficients for the LCBOP potential as applied to C -are listed in the C.lcbop file to agree with the original "(Los and -Fasolino)"_#Los paper. Thus the parameters are specific to this -potential and the way it was fit, so modifying the file should be done -carefully. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -[Restrictions:] - -This pair styles is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair potential requires the "newton"_newton.html setting to be -"on" for pair interactions. - -The C.lcbop potential file provided with LAMMPS (see the potentials -directory) is parameterized for metal "units"_units.html. You can use -the LCBOP potential with any LAMMPS units, but you would need to -create your own LCBOP potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. - -[Related commands:] - -"pair_airebo"_pair_airebo.html, "pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Los) -[(Los and Fasolino)] J. H. Los and A. Fasolino, Phys. Rev. B 68, 024107 -(2003). diff --git a/doc/txt/pair_lebedeva_z.txt b/doc/txt/pair_lebedeva_z.txt deleted file mode 100644 index ad6c4c12f44536a5da760793a32dbd91e1f157fe..0000000000000000000000000000000000000000 --- a/doc/txt/pair_lebedeva_z.txt +++ /dev/null @@ -1,67 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lebedeva/z command :h3 - -[Syntax:] - -pair_style \[hybrid/overlay ...\] lebedeva/z cutoff :pre - -[Examples:] - -pair_style hybrid/overlay lebedeva/z 20.0 -pair_coeff * * none -pair_coeff 1 2 lebedeva/z CC.Lebedeva C C :pre - -pair_style hybrid/overlay rebo lebedeva/z 14.0 -pair_coeff * * rebo CH.rebo C C -pair_coeff 1 2 lebedeva/z CC.Lebedeva C C :pre - -[Description:] - -The {lebedeva/z} style computes the Lebedeva interaction -potential as described in "(Lebedeva et al.)"_#Leb01. An important simplification is made, -which is to take all normals along the z-axis. - -:c,image(Eqs/pair_lebedeva.png) - -It is important to have a sufficiently large cutoff to ensure smooth forces. -Energies are shifted so that they go continuously to zero at the cutoff assuming -that the exponential part of {Vij} (first term) decays sufficiently fast. -This shift is achieved by the last term in the equation for {Vij} above. - -The parameter file (e.g. CC.Lebedeva), is intended for use with metal -"units"_units.html, with energies in meV. An additional parameter, {S}, -is available to facilitate scaling of energies. - -This potential must be used in combination with hybrid/overlay. -Other interactions can be set to zero using pair_style {none}. - -[Restrictions:] - -This fix is part of the USER-MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, -"pair_style none"_pair_none.html, -"pair_style hybrid/overlay"_pair_hybrid.html, -"pair_style drip"_pair_drip.html, -"pair_style ilp/graphene/hbd"_pair_ilp_graphene_hbn.html, -"pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html, -"pair_style kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html. - -[Default:] none - -:line - -:link(Leb01) -[(Lebedeva et al.)] I. V. Lebedeva, A. A. Knizhnik, A. M. Popov, Y. E. Lozovik, B. V. Potapkin, Phys. Rev. B, 84, 245437 (2011) - diff --git a/doc/txt/pair_line_lj.txt b/doc/txt/pair_line_lj.txt deleted file mode 100644 index ca5ececa5697f6cd6d90bda77e9aa62497f90f0b..0000000000000000000000000000000000000000 --- a/doc/txt/pair_line_lj.txt +++ /dev/null @@ -1,144 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style line/lj command :h3 - -[Syntax:] - -pair_style line/lj cutoff :pre - -cutoff = global cutoff for interactions (distance units) - -[Examples:] - -pair_style line/lj 3.0 -pair_coeff * * 1.0 1.0 1.0 0.8 1.12 -pair_coeff 1 2 1.0 2.0 1.0 1.5 1.12 5.0 -pair_coeff 1 2 1.0 0.0 1.0 1.0 2.5 :pre - -[Description:] - -Style {line/lj} treats particles which are line segments as a set of -small spherical particles that tile the line segment length as -explained below. Interactions between two line segments, each with N1 -and N2 spherical particles, are calculated as the pairwise sum of -N1*N2 Lennard-Jones interactions. Interactions between a line segment -with N spherical particles and a point particle are treated as the -pairwise sum of N Lennard-Jones interactions. See the "pair_style -lj/cut"_pair_lj.html doc page for the definition of Lennard-Jones -interactions. - -The set of non-overlapping spherical sub-particles that represent a -line segment are generated in the following manner. Their size is a -function of the line segment length and the specified sub-particle -size for that particle type. If a line segment has a length L and is -of type I, then the number of spheres N that represent the segment is -calculated as N = L/sizeI, rounded up to an integer value. Thus if L -is not evenly divisible by sizeI, N is incremented to include one -extra sphere. The centers of the spheres are spaced equally along the -line segment. Imagine N+1 equally-space points, which include the 2 -end points of the segment. The sphere centers are halfway between -each pair of points. - -The LJ interaction between 2 spheres on different line segments (or a -sphere on a line segment and a point particles) is computed with -sub-particle epsilon, sigma, and cutoff values that are set by the -pair_coeff command, as described below. If the distance between the 2 -spheres is greater than the sub-particle cutoff, there is no -interaction. This means that some pairs of sub-particles on 2 line -segments may interact, but others may not. - -For purposes of creating the neighbor list for pairs of interacting -line segments or lines/point particles, a regular particle-particle -cutoff is used, as defined by the {cutoff} setting above in the -pair_style command or overridden with an optional argument in the -pair_coeff command for a type pair as discussed below. The distance -between the centers of 2 line segments, or the center of a line -segment and a point particle, must be less than this distance (plus -the neighbor skin; see the "neighbor"_neighbor.html command), for -the pair of particles to be included in the neighbor list. - -NOTE: This means that a too-short value for the {cutoff} setting can -exclude a pair of particles from the neighbor list even if pairs of -their sub-particle spheres would interact, based on the sub-particle -cutoff specified in the pair_coeff command. E.g. sub-particles at the -ends of the line segments that are close to each other. Which may not -be what you want, since it means the ends of 2 line segments could -pass through each other. It is up to you to specify a {cutoff} -setting that is consistent with the length of the line segments you -are using and the sub-particle cutoff settings. - -For style {line/lj}, the following coefficients must be defined for -each pair of atom types via the "pair_coeff"_pair_coeff.html command -as in the examples above, or in the data file or restart files read by -the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -sizeI (distance units) -sizeJ (distance units) -epsilon (energy units) -sigma (distance units) -subcutoff (distance units) -cutoff (distance units) :ul - -The {sizeI} and {sizeJ} coefficients are the sub-particle sizes for -line particles of type I and type J. They are used to define the N -sub-particles per segment as described above. These coefficients are -actually stored on a per-type basis. Thus if there are multiple -pair_coeff commands that involve type I, as either the first or -second atom type, you should use consistent values for sizeI or sizeJ -in all of them. If you do not do this, the last value specified for -sizeI will apply to all segments of type I. If typeI or typeJ refers -to point particles, the corresponding sizeI or sizeJ is ignored; it -can be set to 0.0. - -The {epsilon}, {sigma}, and {subcutoff} coefficients are used to -compute an LJ interactions between a pair of sub-particles on 2 line -segments (of type I and J), or between a sub particle/point particle -pair. As discussed above, the {subcutoff} and {cutoff} params are -different. The latter is only used for building the neighbor list -when the distance between centers of two line segments or one segment -and a point particle is calculated. - -The {cutoff} coefficient is optional. If not specified, the global -cutoff is used. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, coefficients must be specified. -No default mixing rules are used. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Defining particles to be line segments so they participate in -line/line or line/particle interactions requires the use the -"atom_style line"_atom_style.html command. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style tri/lj"_pair_tri_lj.html - -[Default:] none diff --git a/doc/txt/pair_lj96.txt b/doc/txt/pair_lj96.txt deleted file mode 100644 index 19369adc66d1074ce4b5410f8c634cee68860ea6..0000000000000000000000000000000000000000 --- a/doc/txt/pair_lj96.txt +++ /dev/null @@ -1,106 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj96/cut command :h3 -pair_style lj96/cut/gpu command :h3 -pair_style lj96/cut/omp command :h3 - -[Syntax:] - -pair_style lj96/cut cutoff :pre - -cutoff = global cutoff for lj96/cut interactions (distance units) :ul - -[Examples:] - -pair_style lj96/cut 2.5 -pair_coeff * * 1.0 1.0 4.0 -pair_coeff 1 1 1.0 1.0 :pre - -[Description:] - -The {lj96/cut} style compute a 9/6 Lennard-Jones potential, instead -of the standard 12/6 potential, given by - -:c,image(Eqs/pair_lj96.jpg) - -Rc is the cutoff. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global LJ -cutoff specified in the pair_style command is used. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is {geometric}. See the "pair_modify" command -for details. - -This pair style supports the "pair_modify"_pair_modify.html shift -option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style supports the "pair_modify"_pair_modify.html tail -option for adding a long-range tail correction to the energy and -pressure of the pair interaction. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style supports the use of the {inner}, {middle}, and {outer} -keywords of the "run_style respa"_run_style.html command, meaning the -pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the "run_style"_run_style.html command for -details. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none diff --git a/doc/txt/pair_lj_cubic.txt b/doc/txt/pair_lj_cubic.txt deleted file mode 100644 index 0a56672d2861ff2d7b8555a684141d58149524b6..0000000000000000000000000000000000000000 --- a/doc/txt/pair_lj_cubic.txt +++ /dev/null @@ -1,128 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/cubic command :h3 -pair_style lj/cubic/gpu command :h3 -pair_style lj/cubic/omp command :h3 - -[Syntax:] - -pair_style lj/cubic :pre - -[Examples:] - -pair_style lj/cubic -pair_coeff * * 1.0 0.8908987 :pre - -[Description:] - -The {lj/cubic} style computes a truncated LJ interaction potential -whose energy and force are continuous everywhere. Inside the -inflection point the interaction is identical to the standard 12/6 -"Lennard-Jones"_pair_lj.html potential. The LJ function outside the -inflection point is replaced with a cubic function of distance. The -energy, force, and second derivative are continuous at the inflection -point. The cubic coefficient A3 is chosen so that both energy and -force go to zero at the cutoff distance. Outside the cutoff distance -the energy and force are zero. - -:c,image(Eqs/pair_lj_cubic.jpg) - -The location of the inflection point rs is defined -by the LJ diameter, rs/sigma = (26/7)^1/6. The cutoff distance -is defined by rc/rs = 67/48 or rc/sigma = 1.737.... -The analytic expression for the -the cubic coefficient -A3*rmin^3/epsilon = 27.93... is given in the paper by -Holian and Ravelo "(Holian)"_#Holian. - -This potential is commonly used to study the shock mechanics of FCC -solids, as in Ravelo et al. "(Ravelo)"_#Ravelo2. - -The following coefficients must be defined for each pair of atom types -via the "pair_coeff"_pair_coeff.html command as in the example above, -or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) :ul - -Note that sigma is defined in the LJ formula as the zero-crossing -distance for the potential, not as the energy minimum, which is -located at rmin = 2^(1/6)*sigma. In the above example, sigma = -0.8908987, so rmin = 1. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is {geometric}. See the "pair_modify" command -for details. - -The lj/cubic pair style does not support the -"pair_modify"_pair_modify.html shift option, -since pair interaction is already smoothed to 0.0 at the -cutoff. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -The lj/cubic pair style does not support the -"pair_modify"_pair_modify.html tail option for adding long-range tail -corrections to energy and pressure, since there are no corrections for -a potential that goes to 0.0 at the cutoff. - -The lj/cubic pair style writes its information to "binary -restart files"_restart.html, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. - -The lj/cubic pair style can only be used via the {pair} -keyword of the "run_style respa"_run_style.html command. It does not -support the {inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Holian) -[(Holian)] Holian and Ravelo, Phys Rev B, 51, 11275 (1995). -:link(Ravelo2) -[(Ravelo)] Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). diff --git a/doc/txt/pair_lj_expand.txt b/doc/txt/pair_lj_expand.txt deleted file mode 100644 index 178ba8d1a88f9439f20d060ac6265160e5cfa0ca..0000000000000000000000000000000000000000 --- a/doc/txt/pair_lj_expand.txt +++ /dev/null @@ -1,124 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/expand command :h3 -pair_style lj/expand/gpu command :h3 -pair_style lj/expand/kk command :h3 -pair_style lj/expand/omp command :h3 -pair_style lj/expand/coul/long command :h3 -pair_style lj/expand/coul/long/gpu command :h3 - -[Syntax:] - -pair_style lj/expand cutoff :pre - -cutoff = global cutoff for lj/expand interactions (distance units) :ul - -[Examples:] - -pair_style lj/expand 2.5 -pair_coeff * * 1.0 1.0 0.5 -pair_coeff 1 1 1.0 1.0 -0.2 2.0 :pre - -pair_style lj/expand/coul/long 2.5 -pair_style lj/expand/coul/long 2.5 4.0 -pair_coeff * * 1.0 1.0 0.5 -pair_coeff 1 1 1.0 1.0 -0.2 3.0 :pre - -[Description:] - -Style {lj/expand} computes a LJ interaction with a distance shifted by -delta which can be useful when particles are of different sizes, since -it is different that using different sigma values in a standard LJ -formula: - -:c,image(Eqs/pair_lj_expand.jpg) - -Rc is the cutoff which does not include the delta distance. I.e. the -actual force cutoff is the sum of cutoff + delta. - -For all of the {lj/expand} pair styles, the following coefficients must -be defined for each pair of atoms types via the -"pair_coeff"_pair_coeff.html command as in the examples above, or in -the data file or restart files read by the "read_data"_read_data.html -or "read_restart"_read_restart.html commands, or by mixing as -described below: - -epsilon (energy units) -sigma (distance units) -delta (distance units) -cutoff (distance units) :ul - -The delta values can be positive or negative. The last coefficient is -optional. If not specified, the global LJ cutoff is used. - -For {lj/expand/coul/long} only the LJ cutoff can be specified since a -Coulombic cutoff cannot be specified for an individual I,J type pair. -All type pairs use the same global Coulombic cutoff specified in the -pair_style command. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon, sigma, and shift -coefficients and cutoff distance for this pair style can be mixed. -Shift is always mixed via an {arithmetic} rule. The other -coefficients are mixed according to the pair_modify mix value. The -default mix value is {geometric}. See the "pair_modify" command for -details. - -This pair style supports the "pair_modify"_pair_modify.html shift -option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style supports the "pair_modify"_pair_modify.html tail -option for adding a long-range tail correction to the energy and -pressure of the pair interaction. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none diff --git a/doc/txt/pair_lj_long.txt b/doc/txt/pair_lj_long.txt deleted file mode 100644 index e371030a761bab8327ce1294e09f2feb71f86724..0000000000000000000000000000000000000000 --- a/doc/txt/pair_lj_long.txt +++ /dev/null @@ -1,237 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/long/coul/long command :h3 -pair_style lj/long/coul/long/intel command :h3 -pair_style lj/long/coul/long/omp command :h3 -pair_style lj/long/coul/long/opt command :h3 -pair_style lj/long/tip4p/long command :h3 -pair_style lj/long/tip4p/long/omp command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {lj/long/coul/long} or {lj/long/tip4p/long} -args = list of arguments for a particular style :ul - {lj/long/coul/long} args = flag_lj flag_coul cutoff (cutoff2) - flag_lj = {long} or {cut} or {off} - {long} = use Kspace long-range summation for dispersion 1/r^6 term - {cut} = use a cutoff on dispersion 1/r^6 term - {off} = omit disperion 1/r^6 term entirely - flag_coul = {long} or {off} - {long} = use Kspace long-range summation for Coulombic 1/r term - {off} = omit Coulombic term - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {lj/long/tip4p/long} args = flag_lj flag_coul otype htype btype atype qdist cutoff (cutoff2) - flag_lj = {long} or {cut} - {long} = use Kspace long-range summation for dispersion 1/r^6 term - {cut} = use a cutoff - flag_coul = {long} or {off} - {long} = use Kspace long-range summation for Coulombic 1/r term - {off} = omit Coulombic term - otype,htype = atom types for TIP4P O and H - btype,atype = bond and angle types for TIP4P waters - qdist = distance from O atom to massless charge (distance units) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre - -[Examples:] - -pair_style lj/long/coul/long cut off 2.5 -pair_style lj/long/coul/long cut long 2.5 4.0 -pair_style lj/long/coul/long long long 2.5 4.0 -pair_coeff * * 1 1 -pair_coeff 1 1 1 3 4 :pre - -pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0 -pair_style lj/long/tip4p/long long long 1 2 7 8 0.15 12.0 10.0 -pair_coeff * * 100.0 3.0 -pair_coeff 1 1 100.0 3.5 9.0 :pre - -[Description:] - -Style {lj/long/coul/long} computes the standard 12/6 Lennard-Jones and -Coulombic potentials, given by - -:c,image(Eqs/pair_lj.jpg) - -:c,image(Eqs/pair_coulomb.jpg) - -where C is an energy-conversion constant, Qi and Qj are the charges on -the 2 atoms, epsilon is the dielectric constant which can be set by -the "dielectric"_dielectric.html command, and Rc is the cutoff. If -one cutoff is specified in the pair_style command, it is used for both -the LJ and Coulombic terms. If two cutoffs are specified, they are -used as cutoffs for the LJ and Coulombic terms respectively. - -The purpose of this pair style is to capture long-range interactions -resulting from both attractive 1/r^6 Lennard-Jones and Coulombic 1/r -interactions. This is done by use of the {flag_lj} and {flag_coul} -settings. The "In 't Veld"_#Veld2 paper has more details on when it is -appropriate to include long-range 1/r^6 interactions, using this -potential. - -Style {lj/long/tip4p/long} implements the TIP4P water model of -"(Jorgensen)"_#Jorgensen4, which introduces a massless site located a -short distance away from the oxygen atom along the bisector of the HOH -angle. The atomic types of the oxygen and hydrogen atoms, the bond -and angle types for OH and HOH interactions, and the distance to the -massless charge site are specified as pair_style arguments. - -NOTE: For each TIP4P water molecule in your system, the atom IDs for -the O and 2 H atoms must be consecutive, with the O atom first. This -is to enable LAMMPS to "find" the 2 H atoms associated with each O -atom. For example, if the atom ID of an O atom in a TIP4P water -molecule is 500, then its 2 H atoms must have IDs 501 and 502. - -See the "Howto tip4p"_Howto_tip4p.html doc page for more -information on how to use the TIP4P pair style. Note that the -neighbor list cutoff for Coulomb interactions is effectively extended -by a distance 2*qdist when using the TIP4P pair style, to account for -the offset distance of the fictitious charges on O atoms in water -molecules. Thus it is typically best in an efficiency sense to use a -LJ cutoff >= Coulombic cutoff + 2*qdist, to shrink the size of the -neighbor list. This leads to slightly larger cost for the long-range -calculation, so you can test the trade-off for your model. - -If {flag_lj} is set to {long}, no cutoff is used on the LJ 1/r^6 -dispersion term. The long-range portion can be calculated by using -the "kspace_style ewald/disp or pppm/disp"_kspace_style.html commands. -The specified LJ cutoff then determines which portion of the LJ -interactions are computed directly by the pair potential versus which -part is computed in reciprocal space via the Kspace style. If -{flag_lj} is set to {cut}, the LJ interactions are simply cutoff, as -with "pair_style lj/cut"_pair_lj.html. - -If {flag_coul} is set to {long}, no cutoff is used on the Coulombic -interactions. The long-range portion can calculated by using any of -several "kspace_style"_kspace_style.html command options such as -{pppm} or {ewald}. Note that if {flag_lj} is also set to long, then -the {ewald/disp} or {pppm/disp} Kspace style needs to be used to -perform the long-range calculations for both the LJ and Coulombic -interactions. If {flag_coul} is set to {off}, Coulombic interactions -are not computed. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) -cutoff1 (distance units) -cutoff2 (distance units) :ul - -Note that sigma is defined in the LJ formula as the zero-crossing -distance for the potential, not as the energy minimum at 2^(1/6) -sigma. - -The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair_style command are used. -If only one cutoff is specified, it is used as the cutoff for both LJ -and Coulombic interactions for this type pair. If both coefficients -are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. - -Note that if you are using {flag_lj} set to {long}, you -cannot specify a LJ cutoff for an atom type pair, since only one -global LJ cutoff is allowed. Similarly, if you are using {flag_coul} -set to {long}, you cannot specify a Coulombic cutoff for an atom type -pair, since only one global Coulombic cutoff is allowed. - -For {lj/long/tip4p/long} only the LJ cutoff can be specified -since a Coulombic cutoff cannot be specified for an individual I,J -type pair. All type pairs use the same global Coulombic cutoff -specified in the pair_style command. - -:line - -A version of these styles with a soft core, {lj/cut/soft}, suitable for use in -free energy calculations, is part of the USER-FEP package and is documented with -the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is -only available if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of the lj/long pair styles can be mixed. -The default mix value is {geometric}. See the "pair_modify" command -for details. - -These pair styles support the "pair_modify"_pair_modify.html shift -option for the energy of the Lennard-Jones portion of the pair -interaction, assuming {flag_lj} is {cut}. - -These pair styles support the "pair_modify"_pair_modify.html table and -table/disp options since they can tabulate the short-range portion of -the long-range Coulombic and dispersion interactions. - -Thes pair styles do not support the "pair_modify"_pair_modify.html -tail option for adding a long-range tail correction to the -Lennard-Jones portion of the energy and pressure. - -These pair styles write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -The pair lj/long/coul/long styles support the use of the {inner}, -{middle}, and {outer} keywords of the "run_style respa"_run_style.html -command, meaning the pairwise forces can be partitioned by distance at -different levels of the rRESPA hierarchy. See the -"run_style"_run_style.html command for details. - -:line - -[Restrictions:] - -These styles are part of the KSPACE package. They are only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Veld2) -[(In 't Veld)] In 't Veld, Ismail, Grest, J Chem Phys (accepted) (2007). - -:link(Jorgensen4) -[(Jorgensen)] Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem -Phys, 79, 926 (1983). diff --git a/doc/txt/pair_lj_smooth.txt b/doc/txt/pair_lj_smooth.txt deleted file mode 100644 index d320cb83ffbb1c0d1cf53142b737d5f6fec59fc4..0000000000000000000000000000000000000000 --- a/doc/txt/pair_lj_smooth.txt +++ /dev/null @@ -1,121 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/smooth command :h3 -pair_style lj/smooth/omp command :h3 - -[Syntax:] - -pair_style lj/smooth Rin Rc :pre - -Rin = inner cutoff beyond which force smoothing will be applied (distance units) -Rc = outer cutoff for lj/smooth interactions (distance units) :ul - -[Examples:] - -pair_style lj/smooth 8.0 10.0 -pair_coeff * * 10.0 1.5 -pair_coeff 1 1 20.0 1.3 7.0 9.0 :pre - -[Description:] - -Style {lj/smooth} computes a LJ interaction with a force smoothing -applied between the inner and outer cutoff. - -:c,image(Eqs/pair_lj_smooth.jpg) - -The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to -cause the force to vary smoothly from the inner cutoff Rin to the -outer cutoff Rc. - -At the inner cutoff the force and its 1st derivative -will match the non-smoothed LJ formula. At the outer cutoff the force -and its 1st derivative will be 0.0. The inner cutoff cannot be 0.0. - -NOTE: this force smoothing causes the energy to be discontinuous both -in its values and 1st derivative. This can lead to poor energy -conservation and may require the use of a thermostat. Plot the energy -and force resulting from this formula via the -"pair_write"_pair_write.html command to see the effect. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) -inner (distance units) -outer (distance units) :ul - -The last 2 coefficients are optional inner and outer cutoffs. If not -specified, the global values for Rin and Rc are used. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon, sigma, Rin -coefficients and the cutoff distance for this pair style can be mixed. -Rin is a cutoff value and is mixed like the cutoff. The other -coefficients are mixed according to the pair_modify mix option. The -default mix value is {geometric}. See the "pair_modify" command for -details. - -This pair style supports the "pair_modify"_pair_modify.html shift -option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure, since the energy of the pair interaction is smoothed to 0.0 -at the cutoff. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair -lj/smooth/linear"_pair_lj_smooth_linear.html - -[Default:] none diff --git a/doc/txt/pair_lj_smooth_linear.txt b/doc/txt/pair_lj_smooth_linear.txt deleted file mode 100644 index 9c509515c0d71d1f1788e49a24f9176340ff254c..0000000000000000000000000000000000000000 --- a/doc/txt/pair_lj_smooth_linear.txt +++ /dev/null @@ -1,110 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/smooth/linear command :h3 -pair_style lj/smooth/linear/omp command :h3 - -[Syntax:] - -pair_style lj/smooth/linear cutoff :pre - -cutoff = global cutoff for Lennard-Jones interactions (distance units) :ul - -[Examples:] - -pair_style lj/smooth/linear 2.5 -pair_coeff * * 1.0 1.0 -pair_coeff 1 1 0.3 3.0 9.0 :pre - -[Description:] - -Style {lj/smooth/linear} computes a truncated and force-shifted LJ -interaction (aka Shifted Force Lennard-Jones) that combines the -standard 12/6 Lennard-Jones function and subtracts a linear term based -on the cutoff distance, so that both, the potential and the force, go -continuously to zero at the cutoff Rc "(Toxvaerd)"_#Toxvaerd: - -:c,image(Eqs/pair_lj_smooth_linear.jpg) - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global -LJ cutoff specified in the pair_style command is used. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance can be mixed. The default mix value is geometric. -See the "pair_modify" command for details. - -This pair style does not support the "pair_modify"_pair_modify.html -shift option for the energy of the pair interaction, since it goes -to 0.0 at the cutoff by construction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure, since the energy of the pair interaction is smoothed to 0.0 -at the cutoff. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair lj/smooth"_pair_lj_smooth.html - -[Default:] none - -:line - -:link(Toxvaerd) -[(Toxvaerd)] Toxvaerd, Dyre, J Chem Phys, 134, 081102 (2011). diff --git a/doc/txt/pair_local_density.txt b/doc/txt/pair_local_density.txt deleted file mode 100644 index 4def63c5fc05c768234e41bccbe98c3ad0b1b803..0000000000000000000000000000000000000000 --- a/doc/txt/pair_local_density.txt +++ /dev/null @@ -1,207 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style local/density command :h3 - -[Syntax:] - -pair_style style arg :pre - -style = {local/density} -arg = name of file containing tabulated values of local density and the potential :ul - -[Examples:] - -pair_style local/density benzene_water.localdensity.table :pre - -pair_style hybrid/overlay table spline 500 local/density -pair_coeff * * local/density benzene_water.localdensity.table :pre - -[Description:] - -The local density (LD) potential is a mean-field manybody potential, and, in some -sense,a generalization of embedded atom models (EAM). The name "local density -potential" arises from the fact that it assigns an energy to an atom depending -on the number of neighboring atoms of given type around it within a predefined -spherical volume (i.e., within a cutoff). The bottom-up coarse-graining (CG) -literature suggests that such potentials can be widely useful in capturing -effective multibody forces in a computationally efficient manner so as to -improve the quality of CG models of implicit solvation"(Sanyal1)"_#Sanyal1 and -phase-segregation in liquid mixtures"(Sanyal2)"_#Sanyal2, and provide guidelines -to determine the extent of manybody correlations present in a CG -model."(Rosenberger)"_#Rosenberger The LD potential in LAMMPS is primarily -intended to be used as a corrective potential over traditional pair potentials -in bottom-up CG models, i.e., as a hybrid pair style with -other explicit pair interaction terms (e.g., table spline, Lennard Jones, etc.). -Because the LD potential is not a pair potential per se, it is implemented -simply as a single auxiliary file with all specifications that will be read -upon initialization. - -NOTE: Thus when used as the only interaction in the system, there is no -corresponding pair_coeff command and when used with other pair styles using the -hybrid/overlay option, the corresponding pair_coeff command must be supplied -* * as placeholders for the atom types. - -:line - -[System with a single CG atom type:] - -A system of a single atom type (e.g., LJ argon) with a single local density (LD) -potential would have an energy given by: - -:c,image(Eqs/pair_local_density_energy.jpg) - -where rho_i is the LD at atom i and F(rho) is similar in spirit to the -embedding function used in EAM potentials. The LD at atom i is given by the sum - -:c,image(Eqs/pair_local_density_ld.jpg) - -where phi is an indicator function that is one at r=0 and zero beyond a cutoff -distance R2. The choice of the functional form of phi is somewhat arbitrary, -but the following piecewise cubic function has proven sufficiently general: -"(Sanyal1)"_#Sanyal1, "(Sanyal2)"_#Sanyal2 "(Rosenberger)"_#Rosenberger - -:c,image(Eqs/pair_local_density_indicator_func.jpg) - -The constants {c} are chosen so that the indicator function smoothly -interpolates between 1 and 0 between the distances R1 and R2, which are -called the inner and outer cutoffs, respectively. Thus phi satisfies -phi(R1) = 1, phi(R2) = dphi/dr @ (r=R1) = dphi/dr @ (r=R2) = 0. The embedding -function F(rho) may or may not have a closed-form expression. To maintain -generality, it is practically represented with a spline-interpolated table -over a predetermined range of rho. Outside of that range it simply adopts zero -values at the endpoints. - -It can be shown that the total force between two atoms due to the LD potential -takes the form of a pair force, which motivates its designation as a LAMMPS -pair style. Please see "(Sanyal1)"_#Sanyal1 for details of the derivation. - -:line - -[Systems with arbitrary numbers of atom types:] - -The potential is easily generalized to systems involving multiple atom types: - -:c,image(Eqs/pair_local_density_energy_multi.jpg) - -with the LD expressed as - -:c,image(Eqs/pair_local_density_ld_multi.jpg) - -where alpha gives the type of atom i, beta the type of atom j, and the -coefficients a and b filter for atom types as specified by the user. a is -called the central atom filter as it determines to which atoms the -potential applies; a_alpha = 1 if the LD potential applies to atom type alpha -else zero. On the other hand, b is called the neighbor atom filter because it -specifies which atom types to use in the calculation of the LD; b_beta = 1 if -atom type beta contributes to the LD and zero otherwise. - -NOTE: Note that the potentials need not be symmetric with respect to atom types, -which is the reason for two distinct sets of coefficients a and b. An atom type -may contribute to the LD but not the potential, or to the potential but not the -LD. Such decisions are made by the user and should (ideally) be motivated on -physical grounds for the problem at hand. - -:line - -[General form for implementation in LAMMPS:] - -Of course, a system with many atom types may have many different possible LD -potentials, each with their own atom type filters, cutoffs, and embedding -functions. The most general form of this potential as implemented in the -pair_style local/density is: - -:c,image(Eqs/pair_local_density_energy_implement.jpg) - -where, k is an index that spans the (arbitrary) number of applied LD potentials -N_LD. Each LD is calculated as before with: - -:c,image(Eqs/pair_local_density_ld_implement.jpg) - -The superscript on the indicator function phi simply indicates that it is -associated with specific values of the cutoff distances R1(k) and R2(k). In -summary, there may be N_LD distinct LD potentials. With each potential type (k), -one must specify: - -the inner and outer cutoffs as R1 and R2 -the central type filter a(k), where k = 1,2,...N_LD -the neighbor type filter b(k), where k = 1,2,...N_LD -the LD potential function F(k)(rho), typically as a table that is later spline-interpolated :ul - -:line - -[Tabulated input file format:] - -Line 1: comment or blank (ignored) -Line 2: comment or blank (ignored) -Line 3: N_LD N_rho (# of LD potentials and # of tabulated values, single space separated) -Line 4: blank (ignored) -Line 5: R1(k) R2(k) (lower and upper cutoffs, single space separated) -Line 6: central-types (central atom types, single space separated) -Line 7: neighbor-types (neighbor atom types single space separated) -Line 8: rho_min rho_max drho (min, max and diff. in tabulated rho values, single space separated) -Line 9: F(k)(rho_min + 0.drho) -Line 10: F(k)(rho_min + 1.drho) -Line 11: F(k)(rho_min + 2.drho) -... -Line 9+N_rho: F(k)(rho_min + N_rho . drho) -Line 10+N_rho: blank (ignored) :pre - -Block 2 :pre - -Block 3 :pre - -Block N_LD :pre - -Lines 5 to 9+N_rho constitute the first block. Thus the input file is separated -(by blank lines) into N_LD blocks each representing a separate LD potential and -each specifying its own upper and lower cutoffs, central and neighbor atoms, -and potential. In general, blank lines anywhere are ignored. - -:line - -[Mixing, shift, table, tail correction, restart, info]: -This pair style does not support automatic mixing. For atom type pairs alpha, -beta and alpha != beta, even if LD potentials of type (alpha, alpha) and -(beta, beta) are provided, you will need to explicitly provide LD potential -types (alpha, beta) and (beta, alpha) if need be (Here, the notation (alpha, -beta) means that alpha is the central atom to which the LD potential is applied -and beta is the neighbor atom which contributes to the LD potential on alpha). - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -The local/density pair style does not write its information to "binary restart -files"_restart.html, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair_style and pair_coeff commands in -an input script that reads a restart file. - -:line - -[Restrictions:] - -The local/density pair style is a part of the USER-MISC package. It is only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - - -:link(Sanyal1) -[(Sanyal1)] Sanyal and Shell, Journal of Chemical Physics, 2016, 145 (3), 034109. -:link(Sanyal2) -[(Sanyal2)] Sanyal and Shell, Journal of Physical Chemistry B, 122 (21), 5678-5693. - -:link(Rosenberger) -[(Rosenberger)] Rosenberger, Sanyal, Shell and van der Vegt, Journal of Chemical Physics, 2019, 151 (4), 044111. diff --git a/doc/txt/pair_lubricate.txt b/doc/txt/pair_lubricate.txt deleted file mode 100644 index 83a67d03006390b7031a73d03d4c35d03adc8e1d..0000000000000000000000000000000000000000 --- a/doc/txt/pair_lubricate.txt +++ /dev/null @@ -1,228 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lubricate command :h3 -pair_style lubricate/omp command :h3 -pair_style lubricate/poly command :h3 -pair_style lubricate/poly/omp command :h3 - -[Syntax:] - -pair_style style mu flaglog flagfld cutinner cutoff flagHI flagVF :pre - -style = {lubricate} or {lubricate/poly} -mu = dynamic viscosity (dynamic viscosity units) -flaglog = 0/1 to exclude/include log terms in the lubrication approximation -flagfld = 0/1 to exclude/include Fast Lubrication Dynamics (FLD) effects -cutinner = inner cutoff distance (distance units) -cutoff = outer cutoff for interactions (distance units) -flagHI (optional) = 0/1 to exclude/include 1/r hydrodynamic interactions -flagVF (optional) = 0/1 to exclude/include volume fraction corrections in the long-range isotropic terms :ul - -[Examples:] (all assume radius = 1) - -pair_style lubricate 1.5 1 1 2.01 2.5 -pair_coeff 1 1 2.05 2.8 -pair_coeff * * :pre - -pair_style lubricate 1.5 1 1 2.01 2.5 -pair_coeff * * -variable mu equal ramp(1,2) -fix 1 all adapt 1 pair lubricate mu * * v_mu :pre - -[Description:] - -Styles {lubricate} and {lubricate/poly} compute hydrodynamic -interactions between mono-disperse finite-size spherical particles in -a pairwise fashion. The interactions have 2 components. The first is -Ball-Melrose lubrication terms via the formulas in "(Ball and -Melrose)"_#Ball1 - -:c,image(Eqs/pair_lubricate.jpg) - -which represents the dissipation W between two nearby particles due to -their relative velocities in the presence of a background solvent with -viscosity {mu}. Note that this is dynamic viscosity which has units of -mass/distance/time, not kinematic viscosity. - -The Asq (squeeze) term is the strongest and is included if {flagHI} is -set to 1 (default). It scales as 1/gap where gap is the separation -between the surfaces of the 2 particles. The Ash (shear) and Apu -(pump) terms are only included if {flaglog} is set to 1. They are the -next strongest interactions, and the only other singular interaction, -and scale as log(gap). Note that {flaglog} = 1 and {flagHI} = 0 is -invalid, and will result in a warning message, after which {flagHI} will -be set to 1. The Atw (twist) term is currently not included. It is -typically a very small contribution to the lubrication forces. - -The {flagHI} and {flagVF} settings are optional. Neither should be -used, or both must be defined. - -{Cutinner} sets the minimum center-to-center separation that will be -used in calculations irrespective of the actual separation. {Cutoff} -is the maximum center-to-center separation at which an interaction is -computed. Using a {cutoff} less than 3 radii is recommended if -{flaglog} is set to 1. - -The other component is due to the Fast Lubrication Dynamics (FLD) -approximation, described in "(Kumar)"_#Kumar1, which can be -represented by the following equation - -:c,image(Eqs/fld.jpg) - -where U represents the velocities and angular velocities of the -particles, U^{infty} represents the velocity and the angular velocity -of the undisturbed fluid, and E^{infty} represents the rate of strain -tensor of the undisturbed fluid with viscosity {mu}. Again, note that -this is dynamic viscosity which has units of mass/distance/time, not -kinematic viscosity. Volume fraction corrections to R_FU are included -as long as {flagVF} is set to 1 (default). - -NOTE: When using the FLD terms, these pair styles are designed to be -used with explicit time integration and a correspondingly small -timestep. Thus either "fix nve/sphere"_fix_nve_sphere.html or "fix -nve/asphere"_fix_nve_asphere.html should be used for time integration. -To perform implicit FLD, see the "pair_style -lubricateU"_pair_lubricateU.html command. - -Style {lubricate} requires monodisperse spherical particles; style -{lubricate/poly} allows for polydisperse spherical particles. - -The viscosity {mu} can be varied in a time-dependent manner over the -course of a simulation, in which case in which case the pair_style -setting for {mu} will be overridden. See the "fix adapt"_fix_adapt.html -command for details. - -If the suspension is sheared via the "fix deform"_fix_deform.html -command then the pair style uses the shear rate to adjust the -hydrodynamic interactions accordingly. Volume changes due to fix -deform are accounted for when computing the volume fraction -corrections to R_FU. - -When computing the volume fraction corrections to R_FU, the presence -of walls (whether moving or stationary) will affect the volume -fraction available to colloidal particles. This is currently accounted -for with the following types of walls: "wall/lj93"_fix_wall.html, -"wall/lj126"_fix_wall.html, "wall/colloid"_fix_wall.html, and -"wall/harmonic"_fix_wall.html. For these wall styles, the correct -volume fraction will be used when walls do not coincide with the box -boundary, as well as when walls move and thereby cause a change in the -volume fraction. Other wall styles will still work, but they will -result in the volume fraction being computed based on the box -boundaries. - -Since lubrication forces are dissipative, it is usually desirable to -thermostat the system at a constant temperature. If Brownian motion -(at a constant temperature) is desired, it can be set using the -"pair_style brownian"_pair_brownian.html command. These pair styles -and the brownian style should use consistent parameters for {mu}, -{flaglog}, {flagfld}, {cutinner}, {cutoff}, {flagHI} and {flagVF}. - -:line - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -cutinner (distance units) -cutoff (distance units) :ul - -The two coefficients are optional. If neither is specified, the two -cutoffs specified in the pair_style command are used. Otherwise both -must be specified. - -: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 "this section"_Speed.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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See "this section"_Speed.html of the manual for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the two cutoff distances for this -pair style can be mixed. The default mix value is {geometric}. See -the "pair_modify" command for details. - -This pair style does not support the "pair_modify"_pair_modify.html -shift option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -These styles are part of the COLLOID package. They are only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Only spherical monodisperse particles are allowed for pair_style -lubricate. - -Only spherical particles are allowed for pair_style lubricate/poly. - -These pair styles will not restart exactly when using the -"read_restart"_read_restart.html command, though they should provide -statistically similar results. This is because the forces they -compute depend on atom velocities. See the -"read_restart"_read_restart.html command for more details. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style -lubricateU"_pair_lubricateU.html - -[Default:] - -The default settings for the optional args are flagHI = 1 and flagVF = -1. - -:line - -:link(Ball1) -[(Ball)] Ball and Melrose, Physica A, 247, 444-472 (1997). - -:link(Kumar1) -[(Kumar)] Kumar and Higdon, Phys Rev E, 82, 051401 (2010). See also -his thesis for more details: A. Kumar, "Microscale Dynamics in -Suspensions of Non-spherical Particles", Thesis, University of -Illinois Urbana-Champaign, -(2010). ("https://www.ideals.illinois.edu/handle/2142/16032"_https://www.ideals.illinois.edu/handle/2142/16032) diff --git a/doc/txt/pair_lubricateU.txt b/doc/txt/pair_lubricateU.txt deleted file mode 100644 index bfc7c36013d2c7060686a20ee99440712e66fca0..0000000000000000000000000000000000000000 --- a/doc/txt/pair_lubricateU.txt +++ /dev/null @@ -1,218 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lubricateU command :h3 -pair_style lubricateU/poly command :h3 - -[Syntax:] - -pair_style style mu flaglog cutinner cutoff gdot flagHI flagVF :pre - -style = {lubricateU} or {lubricateU/poly} -mu = dynamic viscosity (dynamic viscosity units) -flaglog = 0/1 to exclude/include log terms in the lubrication approximation -cutinner = inner cut off distance (distance units) -cutoff = outer cutoff for interactions (distance units) -gdot = shear rate (1/time units) -flagHI (optional) = 0/1 to exclude/include 1/r hydrodynamic interactions -flagVF (optional) = 0/1 to exclude/include volume fraction corrections in the long-range isotropic terms :ul - -[Examples:] (all assume radius = 1) - -pair_style lubricateU 1.5 1 2.01 2.5 0.01 1 1 -pair_coeff 1 1 2.05 2.8 -pair_coeff * * :pre - -[Description:] - -Styles {lubricateU} and {lubricateU/poly} compute velocities and -angular velocities for finite-size spherical particles such that the -hydrodynamic interaction balances the force and torque due to all -other types of interactions. - -The interactions have 2 components. The first is -Ball-Melrose lubrication terms via the formulas in "(Ball and -Melrose)"_#Ball2 - -:c,image(Eqs/pair_lubricate.jpg) - -which represents the dissipation W between two nearby particles due to -their relative velocities in the presence of a background solvent with -viscosity {mu}. Note that this is dynamic viscosity which has units of -mass/distance/time, not kinematic viscosity. - -The Asq (squeeze) term is the strongest and is included as long as -{flagHI} is set to 1 (default). It scales as 1/gap where gap is the -separation between the surfaces of the 2 particles. The Ash (shear) -and Apu (pump) terms are only included if {flaglog} is set to 1. They -are the next strongest interactions, and the only other singular -interaction, and scale as log(gap). Note that {flaglog} = 1 and -{flagHI} = 0 is invalid, and will result in a warning message, after -which {flagHI} will be set to 1. The Atw (twist) term is currently not -included. It is typically a very small contribution to the lubrication -forces. - -The {flagHI} and {flagVF} settings are optional. Neither should be -used, or both must be defined. - -{Cutinner} sets the minimum center-to-center separation that will be -used in calculations irrespective of the actual separation. {Cutoff} -is the maximum center-to-center separation at which an interaction is -computed. Using a {cutoff} less than 3 radii is recommended if -{flaglog} is set to 1. - -The other component is due to the Fast Lubrication Dynamics (FLD) -approximation, described in "(Kumar)"_#Kumar2. The equation being -solved to balance the forces and torques is - -:c,image(Eqs/fld2.jpg) - -where U represents the velocities and angular velocities of the -particles, U^{infty} represents the velocities and the angular -velocities of the undisturbed fluid, and E^{infty} represents the rate -of strain tensor of the undisturbed fluid flow with viscosity -{mu}. Again, note that this is dynamic viscosity which has units of -mass/distance/time, not kinematic viscosity. Volume fraction -corrections to R_FU are included if {flagVF} is set to 1 (default). - -F{rest} represents the forces and torques due to all other types of -interactions, e.g. Brownian, electrostatic etc. Note that this -algorithm neglects the inertial terms, thereby removing the -restriction of resolving the small interial time scale, which may not -be of interest for colloidal particles. This pair style solves for -the velocity such that the hydrodynamic force balances all other types -of forces, thereby resulting in a net zero force (zero inertia limit). -When defining this pair style, it must be defined last so that when -this style is invoked all other types of forces have already been -computed. For the same reason, it won't work if additional non-pair -styles are defined (such as bond or Kspace forces) as they are -calculated in LAMMPS after the pairwise interactions have been -computed. - -NOTE: When using these styles, the these pair styles are designed to -be used with implicit time integration and a correspondingly larger -timestep. Thus either "fix nve/noforce"_fix_nve_noforce.html should -be used for spherical particles defined via "atom_style -sphere"_atom_style.html or "fix -nve/asphere/noforce"_fix_nve_asphere_noforce.html should be used for -spherical particles defined via "atom_style -ellipsoid"_atom_style.html. This is because the velocity and angular -momentum of each particle is set by the pair style, and should not be -reset by the time integration fix. - -Style {lubricateU} requires monodisperse spherical particles; style -{lubricateU/poly} allows for polydisperse spherical particles. - -If the suspension is sheared via the "fix deform"_fix_deform.html -command then the pair style uses the shear rate to adjust the -hydrodynamic interactions accordingly. Volume changes due to fix -deform are accounted for when computing the volume fraction -corrections to R_FU. - -When computing the volume fraction corrections to R_FU, the presence -of walls (whether moving or stationary) will affect the volume -fraction available to colloidal particles. This is currently accounted -for with the following types of walls: "wall/lj93"_fix_wall.html, -"wall/lj126"_fix_wall.html, "wall/colloid"_fix_wall.html, and -"wall/harmonic"_fix_wall.html. For these wall styles, the correct -volume fraction will be used when walls do not coincide with the box -boundary, as well as when walls move and thereby cause a change in the -volume fraction. To use these wall styles with pair_style {lubricateU} -or {lubricateU/poly}, the {fld yes} option must be specified in the -fix wall command. - -Since lubrication forces are dissipative, it is usually desirable to -thermostat the system at a constant temperature. If Brownian motion -(at a constant temperature) is desired, it can be set using the -"pair_style brownian"_pair_brownian.html command. These pair styles -and the brownian style should use consistent parameters for {mu}, -{flaglog}, {flagfld}, {cutinner}, {cutoff}, {flagHI} and {flagVF}. - -:line - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -cutinner (distance units) -cutoff (distance units) :ul - -The two coefficients are optional. If neither is specified, the two -cutoffs specified in the pair_style command are used. Otherwise both -must be specified. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the two cutoff distances for this -pair style can be mixed. The default mix value is {geometric}. See -the "pair_modify" command for details. - -This pair style does not support the "pair_modify"_pair_modify.html -shift option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -These styles are part of the COLLOID package. They are only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Currently, these pair styles assume that all other types of -forces/torques on the particles have been already been computed when -it is invoked. This requires this style to be defined as the last of -the pair styles, and that no fixes apply additional constraint forces. -One exception is the "fix wall/colloid"_fix_wall.html commands, which -has an "fld" option to apply their wall forces correctly. - -Only spherical monodisperse particles are allowed for pair_style -lubricateU. - -Only spherical particles are allowed for pair_style lubricateU/poly. - -For sheared suspensions, it is assumed that the shearing is done in -the xy plane, with x being the velocity direction and y being the -velocity-gradient direction. In this case, one must use "fix -deform"_fix_deform.html with the same rate of shear (erate). - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style -lubricate"_pair_lubricate.html - -[Default:] - -The default settings for the optional args are flagHI = 1 and flagVF = -1. - -:line - -:link(Ball2) -[(Ball)] Ball and Melrose, Physica A, 247, 444-472 (1997). - -:link(Kumar2) -[(Kumar)] Kumar and Higdon, Phys Rev E, 82, 051401 (2010). diff --git a/doc/txt/pair_mdf.txt b/doc/txt/pair_mdf.txt deleted file mode 100644 index 44c9e7f67d1c6680309f78c317d9782d20571c16..0000000000000000000000000000000000000000 --- a/doc/txt/pair_mdf.txt +++ /dev/null @@ -1,157 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/mdf command :h3 -pair_style buck/mdf command :h3 -pair_style lennard/mdf command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {lj/mdf} or {buck/mdf} or {lennard/mdf} :ulb,l -args = list of arguments for a particular style :l - {lj/mdf} args = cutoff1 cutoff2 - cutoff1 = inner cutoff for the start of the tapering function - cutoff1 = out cutoff for the end of the tapering function - {buck/mdf} args = cutoff1 cutoff2 - cutoff1 = inner cutoff for the start of the tapering function - cutoff1 = out cutoff for the end of the tapering function - {lennard/mdf} args = cutoff1 cutoff2 - cutoff1 = inner cutoff for the start of the tapering function - cutoff1 = out cutoff for the end of the tapering function :pre -:ule - -[Examples:] - -pair_style lj/mdf 2.5 3.0 -pair_coeff * * 1.0 1.0 -pair_coeff 1 1 1.1 2.8 3.0 3.2 :pre - -pair_style buck 2.5 3.0 -pair_coeff * * 100.0 1.5 200.0 -pair_coeff * * 100.0 1.5 200.0 3.0 3.5 :pre - -pair_style lennard/mdf 2.5 3.0 -pair_coeff * * 1.0 1.0 -pair_coeff 1 1 1021760.3664 2120.317338 3.0 3.2 :pre - -[Description:] - -The {lj/mdf}, {buck/mdf} and {lennard/mdf} compute the standard 12-6 -Lennard-Jones and Buckingham potential with the addition of a taper -function that ramps the energy and force smoothly to zero between an -inner and outer cutoff. - -:c,image(Eqs/pair_mdf-1.jpg) - -The tapering, {f(r)}, is done by using the Mei, Davenport, Fernando -function "(Mei)"_#Mei. - -:c,image(Eqs/pair_mdf-2.jpg) - -where - -:c,image(Eqs/pair_mdf-3.jpg) - -Here {r_m} is the inner cutoff radius and {r_cut} is the outer cutoff -radius. - -:line - -For the {lj/mdf} pair_style, the potential energy, {E(r)}, is the -standard 12-6 Lennard-Jones written in the epsilon/sigma form: - -:c,image(Eqs/pair_mdf-4.jpg) - -Either the first two or all of the following coefficients must be -defined for each pair of atoms types via the pair_coeff command as -in the examples above, or in the data file read by the -"read_data"_read_data.html. The two cutoffs default to the global -values and epsilon and sigma can also be determined by mixing as -described below: - -epsilon (energy units) -sigma (distance units) -r_m (distance units) -r_{cut} (distance units) :ul - -:line - -For the {buck/mdf} pair_style, the potential energy, {E(r)}, is the -standard Buckingham potential with three required coefficients. -The two cutoffs can be omitted and default to the corresponding -global values: - -:c,image(Eqs/pair_mdf-5.jpg) - -A (energy units) -\rho (distance units) -C (energy-distance^6 units) -r_m (distance units) -r_{cut} (distance units) :ul - -:line - -For the {lennard/mdf} pair_style, the potential energy, {E(r)}, is the -standard 12-6 Lennard-Jones written in the A/B form: - -:c,image(Eqs/pair_mdf-6.jpg) - -The following coefficients must be defined for each pair of atoms -types via the pair_coeff command as in the examples above, or in the -data file read by the read_data commands, or by mixing as described below. -The two cutoffs default to their global values and must be either both -given or both left out: - -A (energy-distance^12 units) -B (energy-distance^6 units) -r_m (distance units) -r_{cut} (distance units) :ul - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distances for the lj/mdf pair style can be mixed. -The default mix value is {geometric}. See the "pair_modify" command -for details. The other two pair styles buck/mdf and lennard/mdf do not -support mixing, so all I,J pairs of coefficients must be specified -explicitly. - -None of the lj/mdf, buck/mdf, or lennard/mdf pair styles supports -the "pair_modify"_pair_modify.html shift option or long-range -tail corrections to pressure and energy. - -These styles write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -These styles can only be used via the {pair} keyword of the "run_style -respa"_run_style.html command. They do not support the {inner}, -{middle}, {outer} keywords. - -:line - -[Restrictions:] - -These pair styles can only be used if LAMMPS was built with the -USER-MISC package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Mei) -[(Mei)] Mei, Davenport, Fernando, Phys Rev B, 43 4653 (1991) diff --git a/doc/txt/pair_meam_spline.txt b/doc/txt/pair_meam_spline.txt deleted file mode 100644 index 7a185b4d55a5fbce4b467474f818bc3eda5308d8..0000000000000000000000000000000000000000 --- a/doc/txt/pair_meam_spline.txt +++ /dev/null @@ -1,167 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style meam/spline command :h3 -pair_style meam/spline/omp command :h3 - -[Syntax:] - -pair_style meam/spline :pre - -[Examples:] - -pair_style meam/spline -pair_coeff * * Ti.meam.spline Ti -pair_coeff * * Ti.meam.spline Ti Ti Ti :pre - -[Description:] - -The {meam/spline} style computes pairwise interactions for metals -using a variant of modified embedded-atom method (MEAM) potentials -"(Lenosky)"_#Lenosky1. For a single species ("old-style") MEAM, -the total energy E is given by - -:c,image(Eqs/pair_meam_spline.jpg) - -where rho_i is the density at atom I, theta_jik is the angle between -atoms J, I, and K centered on atom I. The five functions Phi, U, rho, -f, and g are represented by cubic splines. - -The {meam/spline} style also supports a new style multicomponent -modified embedded-atom method (MEAM) potential "(Zhang)"_#Zhang4, where -the total energy E is given by - -:c,image(Eqs/pair_meam_spline_multicomponent.jpg) - -where the five functions Phi, U, rho, f, and g depend on the chemistry -of the atoms in the interaction. In particular, if there are N different -chemistries, there are N different U, rho, and f functions, while there -are N(N+1)/2 different Phi and g functions. The new style multicomponent -MEAM potential files are indicated by the second line in the file starts -with "meam/spline" followed by the number of elements and the name of each -element. - -The cutoffs and the coefficients for these spline functions are listed -in a parameter file which is specified by the -"pair_coeff"_pair_coeff.html command. Parameter files for different -elements are included in the "potentials" directory of the LAMMPS -distribution and have a ".meam.spline" file suffix. All of these -files are parameterized in terms of LAMMPS "metal units"_units.html. - -Note that unlike for other potentials, cutoffs for spline-based MEAM -potentials are not set in the pair_style or pair_coeff command; they -are specified in the potential files themselves. - -Unlike the EAM pair style, which retrieves the atomic mass from the -potential file, the spline-based MEAM potentials do not include mass -information; thus you need to use the "mass"_mass.html command to -specify it. - -Only a single pair_coeff command is used with the {meam/spline} style -which specifies a potential file with parameters for all needed -elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of spline-based MEAM elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, imagine the Ti.meam.spline file has values for Ti (old style). If -your LAMMPS simulation has 3 atoms types and they are all to be -treated with this potentials, you would use the following pair_coeff -command: - -pair_coeff * * Ti.meam.spline Ti Ti Ti :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The three Ti arguments map LAMMPS atom types 1,2,3 to the Ti element -in the potential file. If a mapping value is specified as NULL, the -mapping is not performed. This can be used when a {meam/spline} -potential is used as part of the {hybrid} pair style. The NULL values -are placeholders for atom types that will be used with other -potentials. The old-style potential maps any non-NULL species named -on the command line to that single type. - -An example with a two component spline (new style) is TiO.meam.spline, where -the command - -pair_coeff * * TiO.meam.spline Ti O :pre - -will map the 1st atom type to Ti and the second atom type to O. Note -in this case that the species names need to match exactly with the -names of the elements in the TiO.meam.spline file; otherwise an -error will be raised. This behavior is different than the old style -MEAM files. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -The {meam/spline} pair style does not write its information to "binary -restart files"_restart.html, since it is stored in an external -potential parameter file. Thus, you need to re-specify the pair_style -and pair_coeff commands in an input script that reads a restart file. - -The {meam/spline} pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -This pair style is only enabled if LAMMPS was built with the USER-MISC -package. See the "Build package"_Build_package.html doc page for more -info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style meam/c"_pair_meamc.html - -[Default:] none - -:line - -:link(Lenosky1) -[(Lenosky)] Lenosky, Sadigh, Alonso, Bulatov, de la Rubia, Kim, Voter, -Kress, Modelling Simulation Materials Science Engineering, 8, 825 -(2000). - -:link(Zhang4) -[(Zhang)] Zhang and Trinkle, Computational Materials Science, 124, 204-210 (2016). diff --git a/doc/txt/pair_meam_sw_spline.txt b/doc/txt/pair_meam_sw_spline.txt deleted file mode 100644 index a9ad3484d3f72dd15b0fdb28d24d51214d85affa..0000000000000000000000000000000000000000 --- a/doc/txt/pair_meam_sw_spline.txt +++ /dev/null @@ -1,139 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style meam/sw/spline command :h3 - -[Syntax:] - -pair_style meam/sw/spline :pre - -[Examples:] - -pair_style meam/sw/spline -pair_coeff * * Ti.meam.sw.spline Ti -pair_coeff * * Ti.meam.sw.spline Ti Ti Ti :pre - -[Description:] - -The {meam/sw/spline} style computes pairwise interactions for metals -using a variant of modified embedded-atom method (MEAM) potentials -"(Lenosky)"_#Lenosky2 with an additional Stillinger-Weber (SW) term -"(Stillinger)"_#Stillinger1 in the energy. This form of the potential -was first proposed by Nicklas, Fellinger, and Park -"(Nicklas)"_#Nicklas. We refer to it as MEAM+SW. The total energy E -is given by - -:c,image(Eqs/pair_meam_sw_spline.jpg) - -where rho_I is the density at atom I, theta_JIK is the angle between -atoms J, I, and K centered on atom I. The seven functions -Phi, F, G, U, rho, f, and g are represented by cubic splines. - -The cutoffs and the coefficients for these spline functions are listed -in a parameter file which is specified by the -"pair_coeff"_pair_coeff.html command. Parameter files for different -elements are included in the "potentials" directory of the LAMMPS -distribution and have a ".meam.sw.spline" file suffix. All of these -files are parameterized in terms of LAMMPS "metal units"_units.html. - -Note that unlike for other potentials, cutoffs for spline-based -MEAM+SW potentials are not set in the pair_style or pair_coeff -command; they are specified in the potential files themselves. - -Unlike the EAM pair style, which retrieves the atomic mass from the -potential file, the spline-based MEAM+SW potentials do not include -mass information; thus you need to use the "mass"_mass.html command to -specify it. - -Only a single pair_coeff command is used with the meam/sw/spline style -which specifies a potential file with parameters for all needed -elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of spline-based MEAM+SW elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, imagine the Ti.meam.sw.spline file has values for Ti. -If your LAMMPS simulation has 3 atoms types and they are all to be -treated with this potential, you would use the following pair_coeff -command: - -pair_coeff * * Ti.meam.sw.spline Ti Ti Ti - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The three Ti arguments map LAMMPS atom types 1,2,3 to the Ti element -in the potential file. If a mapping value is specified as NULL, the -mapping is not performed. This can be used when a {meam/sw/spline} -potential is used as part of the hybrid pair style. The NULL values -are placeholders for atom types that will be used with other -potentials. - -NOTE: The {meam/sw/spline} style currently supports only -single-element MEAM+SW potentials. It may be extended for alloy -systems in the future. - -Example input scripts that use this pair style are provided -in the examples/USER/misc/meam_sw_spline directory. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -The pair style does not support multiple element types or mixing. -It has been designed for pure elements only. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -The {meam/sw/spline} pair style does not write its information to -"binary restart files"_restart.html, since it is stored in an external -potential parameter file. Thus, you need to re-specify the pair_style -and pair_coeff commands in an input script that reads a restart file. - -The {meam/sw/spline} pair style can only be used via the {pair} -keyword of the "run_style respa"_run_style.html command. They do not -support the {inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -This pair style is only enabled if LAMMPS was built with the USER-MISC -package. See the "Build package"_Build_package.html doc page for more -info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style meam/c"_pair_meamc.html, -"pair_style meam/spline"_pair_meam_spline.html - -[Default:] none - -:line - -:link(Lenosky2) -[(Lenosky)] Lenosky, Sadigh, Alonso, Bulatov, de la Rubia, Kim, Voter, -Kress, Modell. Simul. Mater. Sci. Eng. 8, 825 (2000). - -:link(Stillinger1) -[(Stillinger)] Stillinger, Weber, Phys. Rev. B 31, 5262 (1985). - -:link(Nicklas) -[(Nicklas)] -The spline-based MEAM+SW format was first devised and used to develop -potentials for bcc transition metals by Jeremy Nicklas, Michael Fellinger, -and Hyoungki Park at The Ohio State University. - - diff --git a/doc/txt/pair_meso.txt b/doc/txt/pair_meso.txt deleted file mode 100644 index 54186a0e75f95f0f83ea62bbbfde5468a9d29bef..0000000000000000000000000000000000000000 --- a/doc/txt/pair_meso.txt +++ /dev/null @@ -1,277 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style edpd command :h3 -pair_style mdpd command :h3 -pair_style mdpd/rhosum command :h3 -pair_style tdpd command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {edpd} or {mdpd} or {mdpd/rhosum} or {tdpd} :ulb,l -args = list of arguments for a particular style :l - {edpd} args = cutoff seed - cutoff = global cutoff for eDPD interactions (distance units) - seed = random # seed (integer) (if <= 0, eDPD will use current time as the seed) - {mdpd} args = T cutoff seed - T = temperature (temperature units) - cutoff = global cutoff for mDPD interactions (distance units) - seed = random # seed (integer) (if <= 0, mDPD will use current time as the seed) - {mdpd/rhosum} args = - {tdpd} args = T cutoff seed - T = temperature (temperature units) - cutoff = global cutoff for tDPD interactions (distance units) - seed = random # seed (integer) (if <= 0, tDPD will use current time as the seed) :pre -:ule - -[Examples:] - -pair_style edpd 1.58 9872598 -pair_coeff * * 18.75 4.5 0.41 1.58 1.42E-5 2.0 1.58 -pair_coeff 1 1 18.75 4.5 0.41 1.58 1.42E-5 2.0 1.58 power 10.54 -3.66 3.44 -4.10 -pair_coeff 1 1 18.75 4.5 0.41 1.58 1.42E-5 2.0 1.58 power 10.54 -3.66 3.44 -4.10 kappa -0.44 -3.21 5.04 0.00 :pre - -pair_style hybrid/overlay mdpd/rhosum mdpd 1.0 1.0 65689 -pair_coeff 1 1 mdpd/rhosum 0.75 -pair_coeff 1 1 mdpd -40.0 25.0 18.0 1.0 0.75 :pre - -pair_style tdpd 1.0 1.58 935662 -pair_coeff * * 18.75 4.5 0.41 1.58 1.58 1.0 1.0E-5 2.0 -pair_coeff 1 1 18.75 4.5 0.41 1.58 1.58 1.0 1.0E-5 2.0 3.0 1.0E-5 2.0 :pre - -[Description:] - -The {edpd} style computes the pairwise interactions and heat fluxes -for eDPD particles following the formulations in -"(Li2014_JCP)"_#Li2014_JCP and "Li2015_CC"_#Li2015_CC. The time -evolution of an eDPD particle is governed by the conservation of -momentum and energy given by - -:c,image(Eqs/pair_edpd_gov.jpg) - -where the three components of Fi -including the conservative force FijC, dissipative force FijD and random force FijR are expressed as - -:c,image(Eqs/pair_edpd_force.jpg) - -in which the exponent of the weighting function s can be defined as a temperature-dependent -variable. The heat flux between particles accounting for the -collisional heat flux qC, viscous -heat flux qV, and random heat flux -qR are given by - -:c,image(Eqs/pair_edpd_heat.jpg) - -where the mesoscopic heat friction κ is given by - -:c,image(Eqs/pair_edpd_kappa.jpg) - -with υ being the kinematic -viscosity. For more details, see Eq.(15) in "(Li2014_JCP)"_#Li2014_JCP. - -The following coefficients must be defined in eDPD system for each -pair of atom types via the "pair_coeff"_pair_coeff.html command as in -the examples above. - -A (force units) -gamma (force/velocity units) -power_f (positive real) -cutoff (distance units) -kappa (thermal conductivity units) -power_T (positive real) -cutoff_T (distance units) -optional keyword = power or kappa :ul - -The keyword {power} or {kappa} is optional. Both "power" and "kappa" -require 4 parameters c1, c2, -c4, c4 showing the temperature dependence -of the exponent
s(T) = -power_f*(1+c1*(T-1)+c2*(T-1)2 -+c3*(T-1)3+c4*(T-1)4)
-and of the mesoscopic heat friction
-sT(T) = -kappa*(1+c1*(T-1)+c2*(T-1)2 -+c3*(T-1)3+c4*(T-1)4)
-If the keyword {power} or {kappa} is not specified, the eDPD system -will use constant power_f and kappa, which is independent to -temperature changes. - -:line - -The {mdpd/rhosum} style computes the local particle mass density rho -for mDPD particles by kernel function interpolation. - -The following coefficients must be defined for each pair of atom types -via the "pair_coeff"_pair_coeff.html command as in the examples above. - -cutoff (distance units) :ul - -:line - -The {mdpd} style computes the many-body interactions between mDPD -particles following the formulations in -"(Li2013_POF)"_#Li2013_POF. The dissipative and random forces are in -the form same as the classical DPD, but the conservative force is -local density dependent, which are given by - -:c,image(Eqs/pair_mdpd_force.jpg) - -where the first term in FC with a -negative coefficient A < 0 stands for an attractive force within an -interaction range rc, and the second -term with B > 0 is the density-dependent repulsive force within an -interaction range rd. - -The following coefficients must be defined for each pair of atom types via the -"pair_coeff"_pair_coeff.html command as in the examples above. - -A (force units) -B (force units) -gamma (force/velocity units) -cutoff_c (distance units) -cutoff_d (distance units) :ul - -:line - -The {tdpd} style computes the pairwise interactions and chemical -concentration fluxes for tDPD particles following the formulations in -"(Li2015_JCP)"_#Li2015_JCP. The time evolution of a tDPD particle is -governed by the conservation of momentum and concentration given by - -:c,image(Eqs/pair_tdpd_gov.jpg) - -where the three components of Fi -including the conservative force FijC, dissipative force FijD and random force FijR are expressed as - -:c,image(Eqs/pair_tdpd_force.jpg) - -The concentration flux between two tDPD particles includes the Fickian -flux QijD and random flux -QijR, which are given by - -:c,image(Eqs/pair_tdpd_flux.jpg) - -where the parameters kappa and epsilon determine the strength of the -Fickian and random fluxes. ms -is the mass of a single solute molecule. In general, ms is much smaller than the mass of -a tDPD particle m. For more details, see -"(Li2015_JCP)"_#Li2015_JCP. - -The following coefficients must be defined for each pair of atom types via the -"pair_coeff"_pair_coeff.html command as in the examples above. - -A (force units) -gamma (force/velocity units) -power_f (positive real) -cutoff (distance units) -cutoff_CC (distance units) -kappa_i (diffusivity units) -epsilon_i (diffusivity units) -power_cc_i (positive real) :ul - -The last 3 values must be repeated Nspecies times, so that values for -each of the Nspecies chemical species are specified, as indicated by -the "I" suffix. In the first pair_coeff example above for pair_style -tdpd, Nspecies = 1. In the second example, Nspecies = 2, so 3 -additional coeffs are specified (for species 2). - -:line - -[Example scripts] - -There are example scripts for using all these pair styles in -examples/USER/meso. The example for an eDPD simulation models heat -conduction with source terms analog of periodic Poiseuille flow -problem. The setup follows Fig.12 in "(Li2014_JCP)"_#Li2014_JCP. The -output of the short eDPD simulation (about 2 minutes on a single core) -gives a temperature and density profiles as - -:c,image(JPG/examples_edpd.jpg) - -The example for a mDPD simulation models the oscillations of a liquid -droplet started from a liquid film. The mDPD parameters are adopted -from "(Li2013_POF)"_#Li2013_POF. The short mDPD run (about 2 minutes -on a single core) generates a particle trajectory which can -be visualized as follows. - -:c,image(JPG/examples_mdpd_first.jpg,JPG/examples_mdpd.gif) -:c,image(JPG/examples_mdpd_last.jpg) - -The first image is the initial state of the simulation. If you -click it a GIF movie should play in your browser. The second image -is the final state of the simulation. - -The example for a tDPD simulation computes the effective diffusion -coefficient of a tDPD system using a method analogous to the periodic -Poiseuille flow. The tDPD system is specified with two chemical -species, and the setup follows Fig.1 in -"(Li2015_JCP)"_#Li2015_JCP. The output of the short tDPD simulation -(about one and a half minutes on a single core) gives the -concentration profiles of the two chemical species as - -:c,image(JPG/examples_tdpd.jpg) - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -The styles {edpd}, {mdpd}, {mdpd/rhosum} and {tdpd} do not support -mixing. Thus, coefficients for all I,J pairs must be specified explicitly. - -The styles {edpd}, {mdpd}, {mdpd/rhosum} and {tdpd} do not support -the "pair_modify"_pair_modify.html shift, table, and tail options. - -The styles {edpd}, {mdpd}, {mdpd/rhosum} and {tdpd} do not write -information to "binary restart files"_restart.html. Thus, you need -to re-specify the pair_style and pair_coeff commands in an input script -that reads a restart file. - -[Restrictions:] - -The pair styles {edpd}, {mdpd}, {mdpd/rhosum} and {tdpd} are part of -the USER-MESO package. It is only enabled if LAMMPS was built with -that package. See the "Build package"_Build_package.html doc page for -more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix mvv/dpd"_fix_mvv_dpd.html, -"fix mvv/edpd"_fix_mvv_dpd.html, "fix mvv/tdpd"_fix_mvv_dpd.html, -"fix edpd/source"_fix_dpd_source.html, "fix tdpd/source"_fix_dpd_source.html, -"compute edpd/temp/atom"_compute_edpd_temp_atom.html, -"compute tdpd/cc/atom"_compute_tdpd_cc_atom.html - -[Default:] none - -:line - -:link(Li2014_JCP) -[(Li2014_JCP)] Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, -265: 113-127 (2014). DOI: 10.1016/j.jcp.2014.02.003. - -:link(Li2015_CC) -[(Li2015_CC)] Li, Tang, Li, Karniadakis, Chem Commun, 51: 11038-11040 -(2015). DOI: 10.1039/C5CC01684C. - -:link(Li2013_POF) -[(Li2013_POF)] Li, Hu, Wang, Ma, Zhou, Phys Fluids, 25: 072103 (2013). -DOI: 10.1063/1.4812366. - -:link(Li2015_JCP) -[(Li2015_JCP)] Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, -143: 014101 (2015). DOI: 10.1063/1.4923254. diff --git a/doc/txt/pair_mgpt.txt b/doc/txt/pair_mgpt.txt deleted file mode 100644 index bd55d529b8177f52e0589fbf0fafc19b0b82a72d..0000000000000000000000000000000000000000 --- a/doc/txt/pair_mgpt.txt +++ /dev/null @@ -1,219 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style mgpt command :h3 - -[Syntax:] - -pair_style mgpt :pre - -[Examples:] - -pair_style mgpt -pair_coeff * * Ta6.8x.mgpt.parmin Ta6.8x.mgpt.potin Omega -cp ~/lammps/potentials/Ta6.8x.mgpt.parmin parmin -cp ~/lammps/potentials/Ta6.8x.mgpt.potin potin -pair_coeff * * parmin potin Omega volpress yes nbody 1234 precision double -pair_coeff * * parmin potin Omega volpress yes nbody 12 :pre - -[Description:] - -Within DFT quantum mechanics, generalized pseudopotential theory (GPT) -("Moriarty1"_#Moriarty1) provides a first-principles approach to -multi-ion interatomic potentials in d-band transition metals, with a -volume-dependent, real-space total-energy functional for the N-ion -elemental bulk material in the form - -:c,image(Eqs/pair_mgpt.jpg) - -where the prime on each summation sign indicates the exclusion of all -self-interaction terms from the summation. The leading volume term -E_vol as well as the two-ion central-force pair potential v_2 and the -three- and four-ion angular-force potentials, v_3 and v_4, depend -explicitly on the atomic volume Omega, but are structure independent -and transferable to all bulk ion configurations, either ordered or -disordered, and with of without the presence of point and line -defects. The simplified model GPT or MGPT ("Moriarty2"_#Moriarty2, -"Moriarty3"_#Moriarty3), which retains the form of E_tot and permits -more efficient large-scale atomistic simulations, derives from the GPT -through a series of systematic approximations applied to E_vol and the -potentials v_n that are valid for mid-period transition metals with -nearly half-filled d bands. - -Both analytic ("Moriarty2"_#Moriarty2) and matrix -("Moriarty3"_#Moriarty3) representations of MGPT have been developed. -In the more general matrix representation, which can also be applied -to f-band actinide metals and permits both canonical and non-canonical -d/f bands, the multi-ion potentials are evaluated on the fly during a -simulation through d- or f-state matrix multiplication, and the forces -that move the ions are determined analytically. Fast matrix-MGPT -algorithms have been developed independently by Glosli -("Glosli"_#Glosli, "Moriarty3"_#Moriarty3) and by Oppelstrup -("Oppelstrup"_#Oppelstrup) - -The {mgpt} pair style calculates forces, energies, and the total -energy per atom, E_tot/N, using the Oppelstrup matrix-MGPT algorithm. -Input potential and control data are entered through the -"pair_coeff"_pair_coeff.html command. Each material treated requires -input parmin and potin potential files, as shown in the above -examples, as well as specification by the user of the initial atomic -volume Omega through pair_coeff. At the beginning of a time step in -any simulation, the total volume of the simulation cell V should -always be equal to Omega*N, where N is the number of metal ions -present, taking into account the presence of any vacancies and/or -interstitials in the case of a solid. In a constant-volume -simulation, which is the normal mode of operation for the {mgpt} pair -style, Omega, V and N all remain constant throughout the simulation -and thus are equal to their initial values. In a constant-stress -simulation, the cell volume V will change (slowly) as the simulation -proceeds. After each time step, the atomic volume should be updated -by the code as Omega = V/N. In addition, the volume term E_vol and -the potentials v_2, v_3 and v_4 have to be removed at the end of the -time step, and then respecified at the new value of Omega. In all -simulations, Omega must remain within the defined volume range for -E_vol and the potentials for the given material. - -The default option volpress yes in the "pair_coeff"_pair_coeff.html -command includes all volume derivatives of E_tot required to calculate -the stress tensor and pressure correctly. The option volpress no -disregards the pressure contribution resulting from the volume term -E_vol, and can be used for testing and analysis purposes. The -additional optional variable nbody controls the specific terms in -E_tot that are calculated. The default option and the normal option -for mid-period transition and actinide metals is nbody 1234 for which -all four terms in E_tot are retained. The option nbody 12, for -example, retains only the volume term and the two-ion pair potential -term and can be used for GPT series-end transition metals that can be -well described without v_3 and v_4. The nbody option can also be used -to test or analyze the contribution of any of the four terms in E_tot -to a given calculated property. - -The {mgpt} pair style makes extensive use of matrix algebra and -includes optimized kernels for the BlueGene/Q architecture and the -Intel/AMD (x86) architectures. When compiled with the appropriate -compiler and compiler switches (-msse3 on x86, and using the IBM XL -compiler on BG/Q), these optimized routines are used automatically. -For BG/Q machines, building with the default Makefile for that -architecture (e.g., "make bgq") should enable the optimized algebra -routines. For x-86 machines, there is a provided Makefile.mgptfast -which enables the fast algebra routines, i.e. build LAMMPS with "make -mgptfast". The user will be informed in the output files of the -matrix kernels in use. To further improve speed, on x86 the option -precision single can be added to the "pair_coeff"_pair_coeff.html -command line, which improves speed (up to a factor of two) at the cost -of doing matrix calculations with 7 digit precision instead of the -default 16. For consistency the default option can be specified -explicitly by the option precision double. - -All remaining potential and control data are contained with the parmin -and potin files, including cutoffs, atomic mass, and other basic MGPT -variables. Specific MGPT potential data for the transition metals -tantalum (Ta4 and Ta6.8x potentials), molybdenum (Mo5.2 potentials), -and vanadium (V6.1 potentials) are contained in the LAMMPS potentials -directory. The stored files are, respectively, Ta4.mgpt.parmin, -Ta4.mgpt.potin, Ta6.8x.mgpt.parmin, Ta6.8x.mgpt.potin, -Mo5.2.mgpt.parmin, Mo5.2.mgpt.potin, V6.1.mgpt.parmin, and -V6.1.mgpt.potin . Useful corresponding informational "README" files -on the Ta4, Ta6.8x, Mo5.2 and V6.1 potentials are also included in the -potentials directory. These latter files indicate the volume mesh and -range for each potential and give appropriate references for the -potentials. It is expected that MGPT potentials for additional -materials will be added over time. - -Useful example MGPT scripts are given in the examples/USER/mgpt -directory. These scripts show the necessary steps to perform -constant-volume calculations and simulations. It is strongly -recommended that the user work through and understand these examples -before proceeding to more complex simulations. - -NOTE: For good performance, LAMMPS should be built with the compiler -flags "-O3 -msse3 -funroll-loops" when including this pair style. The -src/MAKE/OPTIONS/Makefile.mgptfast is an example machine Makefile with -these options included as part of a standard MPI build. Note that it -as provided, it will build with whatever low-level compiler (g++, icc, -etc) is the default for your MPI installation. - -:line - -[Mixing, shift, table tail correction, restart]: - -This pair style does not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -needs to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the USER-MGPT package and is only enabled -if LAMMPS is built with that package. See the "Build -package"_Build_package.html doc page for more info. - -The MGPT potentials require the "newtion"_newton.html setting to be -"on" for pair style interactions. - -The stored parmin and potin potential files provided with LAMMPS in -the "potentials" directory are written in Rydberg atomic units, with -energies in Rydbergs and distances in Bohr radii. The {mgpt} pair -style converts Rydbergs to Hartrees to make the potential files -compatible with LAMMPS electron "units"_units.html. - -The form of E_tot used in the {mgpt} pair style is only appropriate -for elemental bulk solids and liquids. This includes solids with -point and extended defects such as vacancies, interstitials, grain -boundaries and dislocations. Alloys and free surfaces, however, -require significant modifications, which are not included in the -{mgpt} pair style. Likewise, the {hybrid} pair style is not allowed, -where MGPT would be used for some atoms but not for others. - -Electron-thermal effects are not included in the standard MGPT -potentials provided in the "potentials" directory, where the -potentials have been constructed at zero electron temperature. -Physically, electron-thermal effects may be important in 3d (e.g., V) -and 4d (e.g., Mo) transition metals at high temperatures near melt and -above. It is expected that temperature-dependent MGPT potentials for -such cases will be added over time. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] - -The options defaults for the "pair_coeff"_pair_coeff.html command are -volpress yes, nbody 1234, and precision double. - -:line - -:link(Moriarty1) -[(Moriarty1)] Moriarty, Physical Review B, 38, 3199 (1988). - -:link(Moriarty2) -[(Moriarty2)] Moriarty, Physical Review B, 42, 1609 (1990). -Moriarty, Physical Review B 49, 12431 (1994). - -:link(Moriarty3) -[(Moriarty3)] Moriarty, Benedict, Glosli, Hood, Orlikowski, Patel, Soderlind, Streitz, Tang, and Yang, -Journal of Materials Research, 21, 563 (2006). - -:link(Glosli) -[(Glosli)] Glosli, unpublished, 2005. -Streitz, Glosli, Patel, Chan, Yates, de Supinski, Sexton and Gunnels, Journal of Physics: Conference -Series, 46, 254 (2006). - -:link(Oppelstrup) -[(Oppelstrup)] Oppelstrup, unpublished, 2015. -Oppelstrup and Moriarty, to be published. diff --git a/doc/txt/pair_mie.txt b/doc/txt/pair_mie.txt deleted file mode 100644 index 818e37272bdd28f962195de66868aee119637d79..0000000000000000000000000000000000000000 --- a/doc/txt/pair_mie.txt +++ /dev/null @@ -1,101 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style mie/cut command :h3 -pair_style mie/cut/gpu command :h3 - -[Syntax:] - -pair_style mie/cut cutoff :pre - -cutoff = global cutoff for mie/cut interactions (distance units) :ul - -[Examples:] - -pair_style mie/cut 10.0 -pair_coeff 1 1 0.72 3.40 23.00 6.66 -pair_coeff 2 2 0.30 3.55 12.65 6.00 -pair_coeff 1 2 0.46 3.32 16.90 6.31 :pre - -[Description:] - -The {mie/cut} style computes the Mie potential, given by - -:c,image(Eqs/pair_mie.jpg) - -Rc is the cutoff and C is a function that depends on the repulsive and -attractive exponents, given by: - -:c,image(Eqs/pair_mie2.jpg) - -Note that for 12/6 exponents, C is equal to 4 and the formula is the -same as the standard Lennard-Jones potential. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) -gammaR -gammaA -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global -cutoff specified in the pair_style command is used. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of the mie/cut pair styles can be mixed. -If not explicitly defined, both the repulsive and attractive gamma -exponents for different atoms will be calculated following the same -mixing rule defined for distances. The default mix value is -{geometric}. See the "pair_modify" command for details. - -This pair style supports the "pair_modify"_pair_modify.html shift -option for the energy of the pair interaction. - -This pair style supports the "pair_modify"_pair_modify.html tail -option for adding a long-range tail correction to the energy and -pressure of the pair interaction. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style supports the use of the {inner}, {middle}, and {outer} -keywords of the "run_style respa"_run_style.html command, meaning the -pairwise forces can be partitioned by distance at different levels of -the rRESPA hierarchy. See the "run_style"_run_style.html command for -details. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Mie) -[(Mie)] G. Mie, Ann Phys, 316, 657 (1903). - -:link(Avendano) -[(Avendano)] C. Avendano, T. Lafitte, A. Galindo, C. S. Adjiman, -G. Jackson, E. Muller, J Phys Chem B, 115, 11154 (2011). - - diff --git a/doc/txt/pair_momb.txt b/doc/txt/pair_momb.txt deleted file mode 100644 index f1989f56f49a39d66bf8242522cc07987984c9ce..0000000000000000000000000000000000000000 --- a/doc/txt/pair_momb.txt +++ /dev/null @@ -1,71 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style momb command :h3 - -[Syntax:] - -pair_style momb cutoff s6 d :pre - -cutoff = global cutoff (distance units) -s6 = global scaling factor of the exchange-correlation functional used (unitless) -d = damping scaling factor of Grimme's method (unitless) :ul - -[Examples:] - -pair_style momb 12.0 0.75 20.0 -pair_style hybrid/overlay eam/fs lj/charmm/coul/long 10.0 12.0 momb 12.0 0.75 20.0 morse 5.5 :pre - -pair_coeff 1 2 momb 0.0 1.0 1.0 10.2847 2.361 :pre - -[Description:] - -Style {momb} computes pairwise van der Waals (vdW) and short-range -interactions using the Morse potential and "(Grimme)"_#Grimme method -implemented in the Many-Body Metal-Organic (MOMB) force field -described comprehensively in "(Fichthorn)"_#Fichthorn and -"(Zhou)"_#Zhou4. Grimme's method is widely used to correct for -dispersion in density functional theory calculations. - -:c,image(Eqs/pair_momb.jpg) - -For the {momb} pair style, the following coefficients must be defined -for each pair of atoms types via the "pair_coeff"_pair_coeff.html -command as in the examples above, or in the data file or restart files -read by the "read_data"_read_data.html as described below: - -D0 (energy units) -alpha (1/distance units) -r0 (distance units) -C6 (energy*distance^6 units) -Rr (distance units, typically sum of atomic vdW radii) :ul - -:line - -[Restrictions:] - -This style is part of the USER-MISC package. It is only enabled if -LAMMPS is built with that package. See the "Build -package"_Build_package.html doc page on for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style morse"_pair_morse.html - -[Default:] none - -:line - -:link(Grimme) -[(Grimme)] Grimme, J Comput Chem, 27(15), 1787-1799 (2006). - -:link(Fichthorn) -[(Fichthorn)] Fichthorn, Balankura, Qi, CrystEngComm, 18(29), 5410-5417 (2016). - -:link(Zhou4) -[(Zhou)] Zhou, Saidi, Fichthorn, J Phys Chem C, 118(6), 3366-3374 (2014). diff --git a/doc/txt/pair_morse.txt b/doc/txt/pair_morse.txt deleted file mode 100644 index 7faa6ab7852f41a7dd5ec399f04858339220a998..0000000000000000000000000000000000000000 --- a/doc/txt/pair_morse.txt +++ /dev/null @@ -1,136 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style morse command :h3 -pair_style morse/gpu command :h3 -pair_style morse/omp command :h3 -pair_style morse/opt command :h3 -pair_style morse/smooth/linear command :h3 -pair_style morse/smooth/linear/omp command :h3 -pair_style morse/kk command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {morse} or {morse/smooth/linear} or {morse/soft} -args = list of arguments for a particular style :ul - {morse} args = cutoff - cutoff = global cutoff for Morse interactions (distance units) - {morse/smooth/linear} args = cutoff - cutoff = global cutoff for Morse interactions (distance units) -:pre - -[Examples:] - -pair_style morse 2.5 -pair_style morse/smooth/linear 2.5 -pair_coeff * * 100.0 2.0 1.5 -pair_coeff 1 1 100.0 2.0 1.5 3.0 :pre - -[Description:] - -Style {morse} computes pairwise interactions with the formula - -:c,image(Eqs/pair_morse.jpg) - -Rc is the cutoff. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -D0 (energy units) -alpha (1/distance units) -r0 (distance units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global morse -cutoff is used. - -:line - -The {morse/smooth/linear} variant is similar to the lj/smooth/linear -variant in that it adds to the potential a shift and a linear term -so that both, potential energy and force, go to zero at the cut-off: - -:c,image(Eqs/pair_morse_smooth_linear.jpg) - -The syntax of the pair_style and pair_coeff commands are the same for -the {morse} and {morse/smooth/linear} styles. - -:line - -A version of the {morse} style with a soft core, {morse/soft}, suitable for use in -free energy calculations, is part of the USER-FEP package and is documented with -the "pair_fep_soft"_pair_fep_soft.html styles. The version with soft core is only -available if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -None of these pair styles support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -All of these pair styles support the "pair_modify"_pair_modify.html -shift option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table options is not relevant for -the Morse pair styles. - -None of these pair styles support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -All of these pair styles write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -These pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -The {morse/smooth/linear} pair style is only enabled if LAMMPS was -built with the USER-MISC package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_fep_soft"_pair_fep_soft.html - -[Default:] none diff --git a/doc/txt/pair_multi_lucy.txt b/doc/txt/pair_multi_lucy.txt deleted file mode 100644 index 0b3a430417370765db40d4ef682f70040ddb1863..0000000000000000000000000000000000000000 --- a/doc/txt/pair_multi_lucy.txt +++ /dev/null @@ -1,199 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style multi/lucy command :h3 - -[Syntax:] - -pair_style multi/lucy style N keyword ... :pre - -style = {lookup} or {linear} = method of interpolation -N = use N values in {lookup}, {linear} tables :ul - -[Examples:] - -pair_style multi/lucy linear 1000 -pair_coeff * * multibody.table ENTRY1 7.0 :pre - -[Description:] - -Style {multi/lucy} computes a density-dependent force following from -the many-body form described in "(Moore)"_#Moore1 and -"(Warren)"_#Warren1 as - -:c,image(Eqs/pair_multi_lucy.jpg) - -which consists of a density-dependent function, A(rho), and a -radial-dependent weight function, omegaDD(rij). The radial-dependent -weight function, omegaDD(rij), is taken as the Lucy function: - -:c,image(Eqs/pair_multi_lucy2.jpg) - -The density-dependent energy for a given particle is given by: - -:c,image(Eqs/pair_multi_lucy_energy.jpg) - -See the supporting information of "(Brennan)"_#Brennan1 or the -publication by "(Moore)"_#Moore1 for more details on the functional -form. - -An interpolation table is used to evaluate the density-dependent -energy (Integral(A(rho)drho) and force (A(rho)). Note that the -pre-factor to the energy is computed after the interpolation, thus the -Integral(A(rho)drho will have units of energy / length^4. - -The interpolation table is created as a pre-computation by fitting -cubic splines to the file values and interpolating the -density-dependent energy and force at each of {N} densities. During a -simulation, the tables are used to interpolate the density-dependent -energy and force as needed for each pair of particles separated by a -distance {R}. The interpolation is done in one of 2 styles: {lookup} -and {linear}. - -For the {lookup} style, the density is used to find the nearest table -entry, which is the density-dependent energy and force. - -For the {linear} style, the density is used to find the 2 surrounding -table values from which the density-dependent energy and force are -computed by linear interpolation. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -filename -keyword -cutoff (distance units) :ul - -The filename specifies a file containing the tabulated -density-dependent energy and force. The keyword specifies a section -of the file. The cutoff is an optional coefficient. If not -specified, the outer cutoff in the table itself (see below) will be -used to build an interpolation table that extend to the largest -tabulated distance. If specified, only file values up to the cutoff -are used to create the interpolation table. The format of this file -is described below. - -:line - -The format of a tabulated file is a series of one or more sections, -defined as follows (without the parenthesized comments): - -# Density-dependent function (one or more comment or blank lines) :pre - -DD-FUNCTION (keyword is first text on line) -N 500 R 1.0 10.0 (N, R, RSQ parameters) - (blank) -1 1.0 25.5 102.34 (index, density, energy/r^4, force) -2 1.02 23.4 98.5 -... -500 10.0 0.001 0.003 :pre - -A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments -between sections. The first line begins with a keyword which -identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair_coeff -command. The next line lists (in any order) one or more parameters -for the table. Each parameter is a keyword followed by one or more -numeric values. - -The parameter "N" is required and its value is the number of table -entries that follow. Note that this may be different than the {N} -specified in the "pair_style multi/lucy"_pair_multi_lucy.html command. -Let Ntable = {N} in the pair_style command, and Nfile = "N" in the -tabulated file. What LAMMPS does is a preliminary interpolation by -creating splines using the Nfile tabulated values as nodal points. It -uses these to interpolate the density-dependent energy and force at -Ntable different points. The resulting tables of length Ntable are -then used as described above, when computing the density-dependent -energy and force. This means that if you want the interpolation -tables of length Ntable to match exactly what is in the tabulated file -(with effectively no preliminary interpolation), you should set Ntable -= Nfile, and use the "RSQ" parameter. This is because the internal -table abscissa is always RSQ (separation distance squared), for -efficient lookup. - -All other parameters are optional. If "R" or "RSQ" does -not appear, then the distances in each line of the table are used -as-is to perform spline interpolation. In this case, the table values -can be spaced in {density} uniformly or however you wish to position table -values in regions of large gradients. - -If used, the parameters "R" or "RSQ" are followed by 2 values {rlo} -and {rhi}. If specified, the density associated with each density-dependent -energy and force value is computed from these 2 values (at high accuracy), rather -than using the (low-accuracy) value listed in each line of the table. -The density values in the table file are ignored in this case. -For "R", distances uniformly spaced between {rlo} and {rhi} are -computed; for "RSQ", squared distances uniformly spaced between -{rlo*rlo} and {rhi*rhi} are computed. - -NOTE: If you use "R" or "RSQ", the tabulated distance values in the -file are effectively ignored, and replaced by new values as described -in the previous paragraph. If the density value in the table is not -very close to the new value (i.e. round-off difference), then you will -be assigning density-dependent energy and force values to a different density, -which is probably not what you want. LAMMPS will warn if this is occurring. - -Following a blank line, the next N lines list the tabulated values. -On each line, the 1st value is the index from 1 to N, the 2nd value is -r (in density units), the 3rd value is the density-dependent function value -(in energy units / length^4), and the 4th is the force (in force units). The -density values must increase from one line to the next. - -Note that one file can contain many sections, each with a tabulated -potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -The "pair_modify"_pair_modify.html shift, table, and tail options are -not relevant for this pair style. - -This pair style writes the settings for the "pair_style multi/lucy" command -to "binary restart files"_restart.html, so a pair_style command does -not need to specified in an input script that reads a restart file. -However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair_coeff -commands do need to be specified in the restart input script. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Warren1) -[(Warren)] Warren, Phys Rev E, 68, 066702 (2003). - -:link(Brennan1) -[(Brennan)] Brennan, J Chem Phys Lett, 5, 2144-2149 (2014). - -:link(Moore1) -[(Moore)] Moore, J Chem Phys, 144, 104501 (2016). - diff --git a/doc/txt/pair_multi_lucy_rx.txt b/doc/txt/pair_multi_lucy_rx.txt deleted file mode 100644 index 819a15b6244bb557c3d1b2f43f19aac2d8c8ec51..0000000000000000000000000000000000000000 --- a/doc/txt/pair_multi_lucy_rx.txt +++ /dev/null @@ -1,248 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style multi/lucy/rx command :h3 -pair_style multi/lucy/rx/kk command :h3 - -[Syntax:] - -pair_style multi/lucy/rx style N keyword ... :pre - -style = {lookup} or {linear} = method of interpolation -N = use N values in {lookup}, {linear} tables -weighting = fractional or molecular (optional) :ul - -[Examples:] - -pair_style multi/lucy/rx linear 1000 -pair_style multi/lucy/rx linear 1000 fractional -pair_style multi/lucy/rx linear 1000 molecular -pair_coeff * * multibody.table ENTRY1 h2o h2o 7.0 -pair_coeff * * multibody.table ENTRY1 h2o 1fluid 7.0 :pre - -[Description:] - -Style {multi/lucy/rx} is used in reaction DPD simulations, where the -coarse-grained (CG) particles are composed of {m} species whose -reaction rate kinetics are determined from a set of {n} reaction rate -equations through the "fix rx"_fix_rx.html command. The species of -one CG particle can interact with a species in a neighboring CG -particle through a site-site interaction potential model. Style -{multi/lucy/rx} computes the site-site density-dependent force -following from the many-body form described in "(Moore)"_#Moore2 and -"(Warren)"_#Warren2 as - -:c,image(Eqs/pair_multi_lucy.jpg) - -which consists of a density-dependent function, A(rho), and a -radial-dependent weight function, omegaDD(rij). The radial-dependent -weight function, omegaDD(rij), is taken as the Lucy function: - -:c,image(Eqs/pair_multi_lucy2.jpg) - -The density-dependent energy for a given particle is given by: - -:c,image(Eqs/pair_multi_lucy_energy.jpg) - -See the supporting information of "(Brennan)"_#Brennan2 or the -publication by "(Moore)"_#Moore2 for more details on the functional -form. - -An interpolation table is used to evaluate the density-dependent -energy (Integral(A(rho)drho) and force (A(rho)). Note that the -pre-factor to the energy is computed after the interpolation, thus the -Integral(A(rho)drho will have units of energy / length^4. - -The interpolation table is created as a pre-computation by fitting -cubic splines to the file values and interpolating the -density-dependent energy and force at each of {N} densities. During a -simulation, the tables are used to interpolate the density-dependent -energy and force as needed for each pair of particles separated by a -distance {R}. The interpolation is done in one of 2 styles: {lookup} -and {linear}. - -For the {lookup} style, the density is used to find the nearest table -entry, which is the density-dependent energy and force. - -For the {linear} style, the density is used to find the 2 surrounding -table values from which the density-dependent energy and force are -computed by linear interpolation. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -filename -keyword -species1 -species2 -cutoff (distance units) :ul - -The filename specifies a file containing the tabulated -density-dependent energy and force. The keyword specifies a section -of the file. The cutoff is an optional coefficient. If not -specified, the outer cutoff in the table itself (see below) will be -used to build an interpolation table that extend to the largest -tabulated distance. If specified, only file values up to the cutoff -are used to create the interpolation table. The format of this file -is described below. - -The species tags define the site-site interaction potential between -two species contained within two different particles. The species -tags must either correspond to the species defined in the reaction -kinetics files specified with the "fix rx"_fix_rx.html command or they -must correspond to the tag "1fluid", signifying interaction with a -product species mixture determined through a one-fluid approximation. -The interaction potential is weighted by the geometric average of -either the mole fraction concentrations or the number of molecules -associated with the interacting coarse-grained particles (see the -{fractional} or {molecular} weighting pair style options). The coarse-grained potential is -stored before and after the reaction kinetics solver is applied, where -the difference is defined to be the internal chemical energy (uChem). - -:line - -The format of a tabulated file is a series of one or more sections, -defined as follows (without the parenthesized comments): - -# Density-dependent function (one or more comment or blank lines) :pre - -DD-FUNCTION (keyword is first text on line) -N 500 R 1.0 10.0 (N, R, RSQ parameters) - (blank) -1 1.0 25.5 102.34 (index, density, energy/r^4, force) -2 1.02 23.4 98.5 -... -500 10.0 0.001 0.003 :pre - -A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments -between sections. The first line begins with a keyword which -identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair_coeff -command. The next line lists (in any order) one or more parameters -for the table. Each parameter is a keyword followed by one or more -numeric values. - -The parameter "N" is required and its value is the number of table -entries that follow. Note that this may be different than the {N} -specified in the "pair_style multi/lucy/rx"_pair_multi_lucy_rx.html -command. Let Ntable = {N} in the pair_style command, and Nfile = "N" -in the tabulated file. What LAMMPS does is a preliminary -interpolation by creating splines using the Nfile tabulated values as -nodal points. It uses these to interpolate the density-dependent -energy and force at Ntable different points. The resulting tables of -length Ntable are then used as described above, when computing the -density-dependent energy and force. This means that if you want the -interpolation tables of length Ntable to match exactly what is in the -tabulated file (with effectively no preliminary interpolation), you -should set Ntable = Nfile, and use the "RSQ" parameter. This is -because the internal table abscissa is always RSQ (separation distance -squared), for efficient lookup. - -All other parameters are optional. If "R" or "RSQ" does not appear, -then the distances in each line of the table are used as-is to perform -spline interpolation. In this case, the table values can be spaced in -{density} uniformly or however you wish to position table values in -regions of large gradients. - -If used, the parameters "R" or "RSQ" are followed by 2 values {rlo} -and {rhi}. If specified, the density associated with each -density-dependent energy and force value is computed from these 2 -values (at high accuracy), rather than using the (low-accuracy) value -listed in each line of the table. The density values in the table -file are ignored in this case. For "R", distances uniformly spaced -between {rlo} and {rhi} are computed; for "RSQ", squared distances -uniformly spaced between {rlo*rlo} and {rhi*rhi} are computed. - -NOTE: If you use "R" or "RSQ", the tabulated distance values in the -file are effectively ignored, and replaced by new values as described -in the previous paragraph. If the density value in the table is not -very close to the new value (i.e. round-off difference), then you will -be assigning density-dependent energy and force values to a different -density, which is probably not what you want. LAMMPS will warn if -this is occurring. - -Following a blank line, the next N lines list the tabulated values. -On each line, the 1st value is the index from 1 to N, the 2nd value is -r (in density units), the 3rd value is the density-dependent function -value (in energy units / length^4), and the 4th is the force (in force -units). The density values must increase from one line to the next. - -Note that one file can contain many sections, each with a tabulated -potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -The "pair_modify"_pair_modify.html shift, table, and tail options are -not relevant for this pair style. - -This pair style writes the settings for the "pair_style multi/lucy/rx" command -to "binary restart files"_restart.html, so a pair_style command does -not need to specified in an input script that reads a restart file. -However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair_coeff -commands do need to be specified in the restart input script. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] fractional weighting - -:line - -:link(Warren2) -[(Warren)] Warren, Phys Rev E, 68, 066702 (2003). - -:link(Brennan2) -[(Brennan)] Brennan, J Chem Phys Lett, 5, 2144-2149 (2014). - -:link(Moore2) -[(Moore)] Moore, J Chem Phys, 144, 104501 (2016). - diff --git a/doc/txt/pair_nb3b_harmonic.txt b/doc/txt/pair_nb3b_harmonic.txt deleted file mode 100644 index 3a6d1026eddb1f2a34c68c0adb478eb98fe4e30b..0000000000000000000000000000000000000000 --- a/doc/txt/pair_nb3b_harmonic.txt +++ /dev/null @@ -1,101 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style nb3b/harmonic command :h3 - -[Syntax:] - -pair_style nb3b/harmonic :pre - -[Examples:] - -pair_style nb3b/harmonic -pair_coeff * * MgOH.nb3bharmonic Mg O H :pre - -[Description:] - -This pair style computes a non-bonded 3-body harmonic potential for the -energy E of a system of atoms as - -:c,image(Eqs/pair_nb3b_harmonic.jpg) - -where {theta_0} is the equilibrium value of the angle and {K} is a -prefactor. Note that the usual 1/2 factor is included in {K}. The form -of the potential is identical to that used in angle_style {harmonic}, -but in this case, the atoms do not need to be explicitly bonded. - -Only a single pair_coeff command is used with this style which -specifies a potential file with parameters for specified elements. -These are mapped to LAMMPS atom types by specifying N additional -arguments after the filename in the pair_coeff command, where N is the -number of LAMMPS atom types: - -filename -N element names = mapping of elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, imagine a file SiC.nb3b.harmonic has potential values -for Si and C. If your LAMMPS simulation has 4 atoms types and you -want the 1st 3 to be Si, and the 4th to be C, you would use the -following pair_coeff command: - -pair_coeff * * SiC.nb3b.harmonic Si Si Si C :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The first three Si arguments map LAMMPS atom types 1,2,3 to the Si -element in the potential file. The final C argument maps LAMMPS atom -type 4 to the C element in the potential file. If a mapping value is -specified as NULL, the mapping is not performed. This can be used -when the potential is used as part of the {hybrid} pair style. The -NULL values are placeholders for atom types that will be used with -other potentials. An example of a pair_coeff command for use with the -{hybrid} pair style is: - -pair_coeff * * nb3b/harmonic MgOH.nb3b.harmonic Mg O H - -Three-body non-bonded harmonic files in the {potentials} directory of -the LAMMPS distribution have a ".nb3b.harmonic" suffix. Lines that -are not blank or comments (starting with #) define parameters for a -triplet of elements. - -Each entry has six arguments. The first three are atom types as -referenced in the LAMMPS input file. The first argument specifies the -central atom. The fourth argument indicates the {K} parameter. The -fifth argument indicates {theta_0}. The sixth argument indicates a -separation cutoff in Angstroms. - -For a given entry, if the second and third arguments are identical, -then the entry is for a cutoff for the distance between types 1 and 2 -(values for {K} and {theta_0} are irrelevant in this case). - -For a given entry, if the first three arguments are all different, -then the entry is for the {K} and {theta_0} parameters (the cutoff in -this case is irrelevant). - -It is required that the potential file contains entries for {all} -permutations of the elements listed in the pair_coeff command. -If certain combinations are not parameterized the corresponding -parameters should be set to zero. The potential file can also -contain entries for additional elements which are not used in -a particular simulation; LAMMPS ignores those entries. - -:line - -[Restrictions:] - -This pair style can only be used if LAMMPS was built with the MANYBODY -package. See the "Build package"_Build_package.html doc page for more -info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none diff --git a/doc/txt/pair_nm.txt b/doc/txt/pair_nm.txt deleted file mode 100644 index a42dfa3c98a632e2decfc4564940501957be9cf5..0000000000000000000000000000000000000000 --- a/doc/txt/pair_nm.txt +++ /dev/null @@ -1,168 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style nm/cut command :h3 -pair_style nm/cut/coul/cut command :h3 -pair_style nm/cut/coul/long command :h3 -pair_style nm/cut/omp command :h3 -pair_style nm/cut/coul/cut/omp command :h3 -pair_style nm/cut/coul/long/omp command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {nm/cut} or {nm/cut/coul/cut} or {nm/cut/coul/long} :ulb,l -args = list of arguments for a particular style :l - {nm/cut} args = cutoff - cutoff = global cutoff for Pair interactions (distance units) - {nm/cut/coul/cut} args = cutoff (cutoff2) - cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) - {nm/cut/coul/long} args = cutoff (cutoff2) - cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre -:ule - -[Examples:] - -pair_style nm/cut 12.0 -pair_coeff * * 0.01 5.4 8.0 7.0 -pair_coeff 1 1 0.01 4.4 7.0 6.0 :pre - -pair_style nm/cut/coul/cut 12.0 15.0 -pair_coeff * * 0.01 5.4 8.0 7.0 -pair_coeff 1 1 0.01 4.4 7.0 6.0 :pre - -pair_style nm/cut/coul/long 12.0 15.0 -pair_coeff * * 0.01 5.4 8.0 7.0 -pair_coeff 1 1 0.01 4.4 7.0 6.0 :pre - -[Description:] - -Style {nm} computes site-site interactions based on the N-M potential -by "Clarke"_#Clarke, mainly used for ionic liquids. A site can -represent a single atom or a united-atom site. The energy of an -interaction has the following form: - -:c,image(Eqs/pair_nm.jpg) - -Rc is the cutoff. - -Style {nm/cut/coul/cut} adds a Coulombic pairwise interaction given by - -:c,image(Eqs/pair_coulomb.jpg) - -where C is an energy-conversion constant, Qi and Qj are the charges on -the 2 atoms, and epsilon is the dielectric constant which can be set -by the "dielectric"_dielectric.html command. If one cutoff is -specified in the pair_style command, it is used for both the NM and -Coulombic terms. If two cutoffs are specified, they are used as -cutoffs for the NM and Coulombic terms respectively. - -Styles {nm/cut/coul/long} compute the same -Coulombic interactions as style {nm/cut/coul/cut} except that an -additional damping factor is applied to the Coulombic term so it can -be used in conjunction with the "kspace_style"_kspace_style.html -command and its {ewald} or {pppm} option. The Coulombic cutoff -specified for this style means that pairwise interactions within this -distance are computed directly; interactions outside that distance are -computed in reciprocal space. - -For all of the {nm} pair styles, the following coefficients must -be defined for each pair of atoms types -via the "pair_coeff"_pair_coeff.html command as in the -examples above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands. - -E0 (energy units) -r0 (distance units) -n (unitless) -m (unitless) -cutoff1 (distance units) -cutoff2 (distance units) :ul - -The latter 2 coefficients are optional. If not specified, the global -NM and Coulombic cutoffs specified in the pair_style command are used. -If only one cutoff is specified, it is used as the cutoff for both NM -and Coulombic interactions for this type pair. If both coefficients -are specified, they are used as the NM and Coulombic cutoffs for this -type pair. You cannot specify 2 cutoffs for style {nm}, since it -has no Coulombic terms. - -For {nm/cut/coul/long} only the NM cutoff can be specified since a -Coulombic cutoff cannot be specified for an individual I,J type pair. -All type pairs use the same global Coulombic cutoff specified in the -pair_style command. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -All of the {nm} pair styles supports the -"pair_modify"_pair_modify.html shift option for the energy of the pair -interaction. - -The {nm/cut/coul/long} pair styles support the -"pair_modify"_pair_modify.html table option since they can tabulate -the short-range portion of the long-range Coulombic interaction. - -All of the {nm} pair styles support the "pair_modify"_pair_modify.html -tail option for adding a long-range tail correction to the energy and -pressure for the NM portion of the pair interaction. - -All of the {nm} pair styles write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -All of the {nm} pair styles can only be used via the {pair} keyword of -the "run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Restrictions:] - -These pair styles are part of the MISC package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Clarke) -[(Clarke)] Clarke and Smith, J Chem Phys, 84, 2290 (1986). diff --git a/doc/txt/pair_none.txt b/doc/txt/pair_none.txt deleted file mode 100644 index 960dc05d97be7d7dda8889bb129d348c9578f374..0000000000000000000000000000000000000000 --- a/doc/txt/pair_none.txt +++ /dev/null @@ -1,46 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style none command :h3 - -[Syntax:] - -pair_style none :pre - -[Examples:] - -pair_style none :pre - -[Description:] - -Using a pair style of none means pair forces and energies are not -computed. - -With this choice, the force cutoff is 0.0, which means that only atoms -within the neighbor skin distance (see the "neighbor"_neighbor.html -command) are communicated between processors. You must insure the -skin distance is large enough to acquire atoms needed for computing -bonds, angles, etc. - -A pair style of {none} will also prevent pairwise neighbor lists from -being built. However if the "neighbor"_neighbor.html style is {bin}, -data structures for binning are still allocated. If the neighbor skin -distance is small, then these data structures can consume a large -amount of memory. So you should either set the neighbor style to -{nsq} or set the skin distance to a larger value. - -See the "pair_style zero"_pair_zero.html for a way to trigger the -building of a neighbor lists, but compute no pairwise interactions. - -[Restrictions:] none - -[Related commands:] - -"pair_style zero"_pair_zero.html - -[Default:] none diff --git a/doc/txt/pair_peri.txt b/doc/txt/pair_peri.txt deleted file mode 100644 index 5c5a41ca6cb36c7f567cd7d217910aa1a1e8cf42..0000000000000000000000000000000000000000 --- a/doc/txt/pair_peri.txt +++ /dev/null @@ -1,215 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style peri/pmb command :h3 -pair_style peri/pmb/omp command :h3 -pair_style peri/lps command :h3 -pair_style peri/lps/omp command :h3 -pair_style peri/ves command :h3 -pair_style peri/eps command :h3 - -[Syntax:] - -pair_style style :pre - -style = {peri/pmb} or {peri/lps} or {peri/ves} or {peri/eps} :ul - -[Examples:] - -pair_style peri/pmb -pair_coeff * * 1.6863e22 0.0015001 0.0005 0.25 :pre - -pair_style peri/lps -pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 :pre - -pair_style peri/ves -pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 0.5 0.001 :pre - -pair_style peri/eps -pair_coeff * * 14.9e9 14.9e9 0.0015001 0.0005 0.25 118.43 :pre - -[Description:] - -The peridynamic pair styles implement material models that can be used -at the mesoscopic and macroscopic scales. See "this -document"_PDF/PDLammps_overview.pdf for an overview of LAMMPS commands -for Peridynamics modeling. - -Style {peri/pmb} implements the Peridynamic bond-based prototype -microelastic brittle (PMB) model. - -Style {peri/lps} implements the Peridynamic state-based linear -peridynamic solid (LPS) model. - -Style {peri/ves} implements the Peridynamic state-based linear -peridynamic viscoelastic solid (VES) model. - -Style {peri/eps} implements the Peridynamic state-based elastic-plastic -solid (EPS) model. - -The canonical papers on Peridynamics are "(Silling 2000)"_#Silling2000 -and "(Silling 2007)"_#Silling2007. The implementation of Peridynamics -in LAMMPS is described in "(Parks)"_#Parks. Also see the "PDLAMMPS -user guide"_http://www.sandia.gov/~mlparks/papers/PDLAMMPS.pdf for -more details about its implementation. - -The peridynamic VES and EPS models in PDLAMMPS were implemented by -R. Rahman and J. T. Foster at University of Texas at San Antonio. The -original VES formulation is described in "(Mitchell2011)" and the -original EPS formulation is in "(Mitchell2011a)". Additional PDF docs -that describe the VES and EPS implementations are include in the -LAMMPS distribution in "doc/PDF/PDLammps_VES.pdf"_PDF/PDLammps_VES.pdf and -"doc/PDF/PDLammps_EPS.pdf"_PDF/PDLammps_EPS.pdf. For questions -regarding the VES and EPS models in LAMMPS you can contact R. Rahman -(rezwanur.rahman at utsa.edu). - -The following coefficients must be defined for each pair of atom types -via the "pair_coeff"_pair_coeff.html command as in the examples above, -or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below. - -For the {peri/pmb} style: - -c (energy/distance/volume^2 units) -horizon (distance units) -s00 (unitless) -alpha (unitless) :ul - -C is the effectively a spring constant for Peridynamic bonds, the -horizon is a cutoff distance for truncating interactions, and s00 and -alpha are used as a bond breaking criteria. The units of c are such -that c/distance = stiffness/volume^2, where stiffness is -energy/distance^2 and volume is distance^3. See the users guide for -more details. - -For the {peri/lps} style: - -K (force/area units) -G (force/area units) -horizon (distance units) -s00 (unitless) -alpha (unitless) :ul - -K is the bulk modulus and G is the shear modulus. The horizon is a -cutoff distance for truncating interactions, and s00 and alpha are -used as a bond breaking criteria. See the users guide for more -details. - -For the {peri/ves} style: - -K (force/area units) -G (force/area units) -horizon (distance units) -s00 (unitless) -alpha (unitless) -m_lambdai (unitless) -m_taubi (unitless) :ul - -K is the bulk modulus and G is the shear modulus. The horizon is a -cutoff distance for truncating interactions, and s00 and alpha are -used as a bond breaking criteria. m_lambdai and m_taubi are the -viscoelastic relaxation parameter and time constant, -respectively. m_lambdai varies within zero to one. For very small -values of m_lambdai the viscoelastic model responds very similar to a -linear elastic model. For details please see the description in -"(Mtchell2011)". - -For the {peri/eps} style: - -K (force/area units) -G (force/area units) -horizon (distance units) -s00 (unitless) -alpha (unitless) -m_yield_stress (force/area units) :ul - -K is the bulk modulus and G is the shear modulus. The horizon is a -cutoff distance and s00 and alpha are used as a bond breaking -criteria. m_yield_stress is the yield stress of the material. For -details please see the description in "(Mtchell2011a)". - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -These pair styles do not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -These pair styles do not support the "pair_modify"_pair_modify.html -shift option. - -The "pair_modify"_pair_modify.html table and tail options are not -relevant for these pair styles. - -These pair styles write their information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -These pair styles can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. They do not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -All of these styles are part of the PERI package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Parks) -[(Parks)] Parks, Lehoucq, Plimpton, Silling, Comp Phys Comm, 179(11), -777-783 (2008). - -:link(Silling2000) -[(Silling 2000)] Silling, J Mech Phys Solids, 48, 175-209 (2000). - -:link(Silling2007) -[(Silling 2007)] Silling, Epton, Weckner, Xu, Askari, J Elasticity, -88, 151-184 (2007). - -:link(Mitchell2011) -[(Mitchell2011)] Mitchell. A non-local, ordinary-state-based -viscoelasticity model for peridynamics. Sandia National Lab Report, -8064:1-28 (2011). - -:link(Mitchell2011a) -[(Mitchell2011a)] Mitchell. A Nonlocal, Ordinary, State-Based -Plasticity Model for Peridynamics. Sandia National Lab Report, -3166:1-34 (2011). diff --git a/doc/txt/pair_polymorphic.txt b/doc/txt/pair_polymorphic.txt deleted file mode 100644 index d9e73d8492d93e5bee4fb52d8d03589abef3adae..0000000000000000000000000000000000000000 --- a/doc/txt/pair_polymorphic.txt +++ /dev/null @@ -1,229 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style polymorphic command :h3 - -[Syntax:] - -pair_style polymorphic :pre - -style = {polymorphic} - -[Examples:] - -pair_style polymorphic -pair_coeff * * TlBr_msw.polymorphic Tl Br -pair_coeff * * AlCu_eam.polymorphic Al Cu -pair_coeff * * GaN_tersoff.polymorphic Ga N -pair_coeff * * GaN_sw.polymorphic GaN :pre - -[Description:] - -The {polymorphic} pair style computes a 3-body free-form potential -("Zhou"_#Zhou3) for the energy E of a system of atoms as - -:c,image(Eqs/polymorphic1.jpg) -:c,image(Eqs/polymorphic2.jpg) -:c,image(Eqs/polymorphic3.jpg) - -where I, J, K represent species of atoms i, j, and k, i_1, ..., i_N -represents a list of i's neighbors, delta_ij is a Direc constant -(i.e., delta_ij = 1 when i = j, and delta_ij = 0 otherwise), eta_ij is -similar constant that can be set either to eta_ij = delta_ij or eta_ij -= 1 - delta_ij depending on the potential type, U_IJ(r_ij), -V_IJ(r_ij), W_IK(r_ik) are pair functions, G_JIK(cos(theta)) is an -angular function, P_IK(delta r_jik) is a function of atomic spacing -differential delta r_jik = r_ij - xi_IJ*r_ik with xi_IJ being a -pair-dependent parameter, and F_IJ(X_ij) is a function of the local -environment variable X_ij. This generic potential is fully defined -once the constants eta_ij and xi_IJ, and the six functions U_IJ(r_ij), -V_IJ(r_ij), W_IK(r_ik), G_JIK(cos(theta)), P_IK(delta r_jik), and -F_IJ(X_ij) are given. Note that these six functions are all one -dimensional, and hence can be provided in an analytic or tabular -form. This allows users to design different potentials solely based on -a manipulation of these functions. For instance, the potential reduces -to Stillinger-Weber potential ("SW"_#SW) if we set - -:c,image(Eqs/polymorphic4.jpg) - -The potential reduces to Tersoff types of potential -("Tersoff"_#Tersoff or "Albe"_#poly-Albe) if we set - -:c,image(Eqs/polymorphic5.jpg) -:c,image(Eqs/polymorphic6.jpg) - -The potential reduces to Rockett-Tersoff ("Wang"_#Wang3) type if we set - -:c,image(Eqs/polymorphic7.jpg) -:c,image(Eqs/polymorphic6.jpg) -:c,image(Eqs/polymorphic8.jpg) - -The potential becomes embedded atom method ("Daw"_#poly-Daw) if we set - -:c,image(Eqs/polymorphic9.jpg) - -In the embedded atom method case, phi_IJ(r_ij) is the pair energy, -F_I(X) is the embedding energy, X is the local electron density, and -f_K(r) is the atomic electron density function. - -If the tabulated functions are created using the parameters of sw, -tersoff, and eam potentials, the polymorphic pair style will produce -the same global properties (energies and stresses) and the same forces -as the sw, tersoff, and eam pair styles. The polymorphic pair style -also produces the same atom properties (energies and stresses) as the -corresponding tersoff and eam pair styles. However, due to a different -partition of global properties to atom properties, the polymorphic -pair style will produce different atom properties (energies and -stresses) as the sw pair style. This does not mean that polymorphic -pair style is different from the sw pair style in this case. It just -means that the definitions of the atom energies and atom stresses are -different. - -Only a single pair_coeff command is used with the polymorphic style -which specifies an potential file for all needed elements. These are -mapped to LAMMPS atom types by specifying N additional arguments after -the filename in the pair_coeff command, where N is the number of -LAMMPS atom types: - -filename -N element names = mapping of Tersoff elements to atom types :ul - -See the pair_coeff doc page for alternate ways to specify the path for -the potential file. Several files for polymorphic potentials are -included in the potentials dir of the LAMMPS distribution. They have a -"poly" suffix. - -As an example, imagine the SiC_tersoff.polymorphic file has tabulated -functions for Si-C tersoff potential. If your LAMMPS simulation has 4 -atoms types and you want the 1st 3 to be Si, and the 4th to be C, you -would use the following pair_coeff command: - -pair_coeff * * SiC_tersoff.polymorphic Si Si Si C :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom -types. The first three Si arguments map LAMMPS atom types 1,2,3 to the -Si element in the polymorphic file. The final C argument maps LAMMPS -atom type 4 to the C element in the polymorphic file. If a mapping -value is specified as NULL, the mapping is not performed. This can be -used when an polymorphic potential is used as part of the hybrid pair -style. The NULL values are placeholders for atom types that will be -used with other potentials. - -Potential files in the potentials directory of the LAMMPS distribution -have a ".poly" suffix. At the beginning of the files, an unlimited -number of lines starting with '#' are used to describe the potential -and are ignored by LAMMPS. The next line lists two numbers: - -ntypes eta :pre - -Here ntypes represent total number of species defined in the potential -file, and eta = 0 or 1. The number ntypes must equal the total number -of different species defined in the pair_coeff command. When eta = 1, -eta_ij defined in the potential functions above is set to 1 - -delta_ij, otherwise eta_ij is set to delta_ij. The next ntypes lines -each lists two numbers and a character string representing atomic -number, atomic mass, and name of the species of the ntypes elements: - -atomic_number atomic-mass element (1) -atomic_number atomic-mass element (2) -... -atomic_number atomic-mass element (ntypes) :pre - -The next ntypes*(ntypes+1)/2 lines contain two numbers: - -cut xi (1) -cut xi (2) -... -cut xi (ntypes*(ntypes+1)/2) :pre - -Here cut means the cutoff distance of the pair functions, xi is the -same as defined in the potential functions above. The -ntypes*(ntypes+1)/2 lines are related to the pairs according to the -sequence of first ii (self) pairs, i = 1, 2, ..., ntypes, and then -then ij (cross) pairs, i = 1, 2, ..., ntypes-1, and j = i+1, i+2, ..., -ntypes (i.e., the sequence of the ij pairs follows 11, 22, ..., 12, -13, 14, ..., 23, 24, ...). - -The final blocks of the potential file are the U, V, W, P, G, and F -functions are listed sequentially. First, U functions are given for -each of the ntypes*(ntypes+1)/2 pairs according to the sequence -described above. For each of the pairs, nr values are listed. Next, -similar arrays are given for V, W, and P functions. Then G functions -are given for all the ntypes*ntypes*ntypes ijk triplets in a natural -sequence i from 1 to ntypes, j from 1 to ntypes, and k from 1 to -ntypes (i.e., ijk = 111, 112, 113, ..., 121, 122, 123 ..., 211, 212, -...). Each of the ijk functions contains ng values. Finally, the F -functions are listed for all ntypes*(ntypes+1)/2 pairs, each -containing nx values. Either analytic or tabulated functions can be -specified. Currently, constant, exponential, sine and cosine analytic -functions are available which are specified with: constant c1 , where -f(x) = c1 exponential c1 c2 , where f(x) = c1 exp(c2*x) sine c1 c2 , -where f(x) = c1 sin(c2*x) cos c1 c2 , where f(x) = c1 cos(c2*x) -Tabulated functions are specified by spline n x1 x2, where n=number of -point, (x1,x2)=range and then followed by n values evaluated uniformly -over these argument ranges. The valid argument ranges of the -functions are between 0 <= r <= cut for the U(r), V(r), W(r) -functions, -cutmax <= delta_r <= cutmax for the P(delta_r) functions, --1 <= costheta <= 1 for the G(costheta) functions, and 0 <= X <= maxX -for the F(X) functions. - -[Mixing, shift, table tail correction, restart]: - -This pair styles does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write their information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -:line - -[Restrictions:] - -If using create_atoms command, atomic masses must be defined in the -input script. If using read_data, atomic masses must be defined in the -atomic structure data file. - -This pair style is part of the MANYBODY package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair potential requires the "newtion"_newton.html setting to be -"on" for pair interactions. - -The potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal "units"_units.html. You can use -any LAMMPS units, but you would need to create your own potential -files. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -:line - -:link(Zhou3) -[(Zhou)] X. W. Zhou, M. E. Foster, R. E. Jones, P. Yang, H. Fan, and -F. P. Doty, J. Mater. Sci. Res., 4, 15 (2015). - -:link(SW) -[(SW)] F. H. Stillinger-Weber, and T. A. Weber, Phys. Rev. B, 31, 5262 (1985). - -:link(Tersoff) -[(Tersoff)] J. Tersoff, Phys. Rev. B, 39, 5566 (1989). - -:link(poly-Albe) -[(Albe)] K. Albe, K. Nordlund, J. Nord, and A. Kuronen, Phys. Rev. B, -66, 035205 (2002). - -:link(Wang3) -[(Wang)] J. Wang, and A. Rockett, Phys. Rev. B, 43, 12571 (1991). - -:link(poly-Daw) -[(Daw)] M. S. Daw, and M. I. Baskes, Phys. Rev. B, 29, 6443 (1984). diff --git a/doc/txt/pair_python.txt b/doc/txt/pair_python.txt deleted file mode 100644 index e8baf14d2eefb694ff107609d65afad5d8f9b3f4..0000000000000000000000000000000000000000 --- a/doc/txt/pair_python.txt +++ /dev/null @@ -1,217 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style python command :h3 - -[Syntax:] - -pair_style python cutoff :pre - -cutoff = global cutoff for interactions in python potential classes - -[Examples:] - -pair_style python 2.5 -pair_coeff * * py_pot.LJCutMelt lj :pre - -pair_style hybrid/overlay coul/long 12.0 python 12.0 -pair_coeff * * coul/long -pair_coeff * * python py_pot.LJCutSPCE OW NULL :pre - -[Description:] - -The {python} pair style provides a way to define pairwise additive -potential functions as python script code that is loaded into LAMMPS -from a python file which must contain specific python class definitions. -This allows to rapidly evaluate different potential functions without -having to modify and re-compile LAMMPS. Due to python being an -interpreted language, however, the performance of this pair style is -going to be significantly slower (often between 20x and 100x) than -corresponding compiled code. This penalty can be significantly reduced -through generating tabulations from the python code through the -"pair_write"_pair_write.html command, which is supported by this style. - -Only a single pair_coeff command is used with the {python} pair style -which specifies a python class inside a python module or file that -LAMMPS will look up in the current directory, the folder pointed to by -the LAMMPS_POTENTIALS environment variable or somewhere in your python -path. A single python module can hold multiple python pair class -definitions. The class definitions itself have to follow specific -rules that are explained below. - -Atom types in the python class are specified through symbolic -constants, typically strings. These are mapped to LAMMPS atom types by -specifying N additional arguments after the class name in the -pair_coeff command, where N must be the number of currently defined -atom types: - -As an example, imagine a file {py_pot.py} has a python potential class -names {LJCutMelt} with parameters and potential functions for a two -Lennard-Jones atom types labeled as 'LJ1' and 'LJ2'. In your LAMMPS -input and you would have defined 3 atom types, out of which the first -two are supposed to be using the 'LJ1' parameters and the third the -'LJ2' parameters, then you would use the following pair_coeff command: - -pair_coeff * * py_pot.LJCutMelt LJ1 LJ1 LJ2 :pre - -The first two arguments [must] be * * so as to span all LAMMPS atom -types. The first two LJ1 arguments map LAMMPS atom types 1 and 2 to -the LJ1 atom type in the LJCutMelt class of the py_pot.py file. The -final LJ2 argument maps LAMMPS atom type 3 to the LJ2 atom type the -python file. If a mapping value is specified as NULL, the mapping is -not performed, any pair interaction with this atom type will be -skipped. This can be used when a {python} potential is used as part of -the {hybrid} or {hybrid/overlay} pair style. The NULL values are then -placeholders for atom types that will be used with other potentials. - -:line - -The python potential file has to start with the following code: - -from __future__ import print_function -# -class LAMMPSPairPotential(object): - def __init__(self): - self.pmap=dict() - self.units='lj' - def map_coeff(self,name,ltype): - self.pmap\[ltype\]=name - def check_units(self,units): - if (units != self.units): - raise Exception("Conflicting units: %s vs. %s" % (self.units,units)) -:pre - -Any classes with definitions of specific potentials have to be derived -from this class and should be initialize in a similar fashion to the -example given below. - -NOTE: The class constructor has to set up a data structure containing -the potential parameters supported by this class. It should also -define a variable {self.units} containing a string matching one of the -options of LAMMPS' "units"_units.html command, which is used to -verify, that the potential definition in the python class and in the -LAMMPS input match. - -Here is an example for a single type Lennard-Jones potential class -{LJCutMelt} in reduced units, which defines an atom type {lj} for -which the parameters epsilon and sigma are both 1.0: - -class LJCutMelt(LAMMPSPairPotential): - def __init__(self): - super(LJCutMelt,self).__init__() - # set coeffs: 48*eps*sig**12, 24*eps*sig**6, - # 4*eps*sig**12, 4*eps*sig**6 - self.units = 'lj' - self.coeff = \{'lj' : \{'lj' : (48.0,24.0,4.0,4.0)\}\} -:pre - -The class also has to provide two methods for the computation of the -potential energy and forces, which have be named {compute_force}, -and {compute_energy}, which both take 3 numerical arguments: - - rsq = the square of the distance between a pair of atoms (float) :l - itype = the (numerical) type of the first atom :l - jtype = the (numerical) type of the second atom :ul - -This functions need to compute the force and the energy, respectively, -and use the result as return value. The functions need to use the -{pmap} dictionary to convert the LAMMPS atom type number to the symbolic -value of the internal potential parameter data structure. Following -the {LJCutMelt} example, here are the two functions: - - def compute_force(self,rsq,itype,jtype): - coeff = self.coeff\[self.pmap\[itype\]\]\[self.pmap\[jtype\]\] - r2inv = 1.0/rsq - r6inv = r2inv*r2inv*r2inv - lj1 = coeff\[0\] - lj2 = coeff\[1\] - return (r6inv * (lj1*r6inv - lj2))*r2inv :pre - - def compute_energy(self,rsq,itype,jtype): - coeff = self.coeff\[self.pmap\[itype\]\]\[self.pmap\[jtype\]\] - r2inv = 1.0/rsq - r6inv = r2inv*r2inv*r2inv - lj3 = coeff\[2\] - lj4 = coeff\[3\] - return (r6inv * (lj3*r6inv - lj4)) :pre - -NOTE: for consistency with the C++ pair styles in LAMMPS, the -{compute_force} function follows the conventions of the Pair::single() -methods and does not return the full force, but the force scaled by -the distance between the two atoms, so this value only needs to be -multiplied by delta x, delta y, and delta z to conveniently obtain the -three components of the force vector between these two atoms. - -:line - -NOTE: The evaluation of scripted python code will slow down the -computation pair-wise interactions quite significantly. However, this -can be largely worked around through using the python pair style not -for the actual simulation, but to generate tabulated potentials on the -fly using the "pair_write"_pair_write.html command. Please see below -for an example LAMMPS input of how to build a table file: - -pair_style python 2.5 -pair_coeff * * py_pot.LJCutMelt lj -shell rm -f melt.table -pair_write 1 1 2000 rsq 0.01 2.5 lj1_lj2.table lj :pre - -Note that it is strongly recommended to try to [delete] the potential -table file before generating it. Since the {pair_write} command will -always [append] to a table file, while pair style table will use the -[first match]. Thus when changing the potential function in the python -class, the table pair style will still read the old variant unless the -table file is first deleted. - -After switching the pair style to {table}, the potential tables need -to be assigned to the LAMMPS atom types like this: - -pair_style table linear 2000 -pair_coeff 1 1 melt.table lj :pre - -This can also be done for more complex systems. Please see the -{examples/python} folders for a few more examples. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -Mixing of potential parameters has to be handled inside the provided -python module. The python pair style simply assumes that force and -energy computation can be correctly performed for all pairs of atom -types as they are mapped to the atom type labels inside the python -potential class. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the PYTHON package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_write"_pair_write.html, -"pair style table"_pair_table.html - -[Default:] none - - diff --git a/doc/txt/pair_quip.txt b/doc/txt/pair_quip.txt deleted file mode 100644 index e6b01b88530561a8bb2e684d8750411419d1fa57..0000000000000000000000000000000000000000 --- a/doc/txt/pair_quip.txt +++ /dev/null @@ -1,108 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style quip command :h3 - -[Syntax:] - -pair_style quip :pre - -[Examples:] - -pair_style quip -pair_coeff * * gap_example.xml "Potential xml_label=GAP_2014_5_8_60_17_10_38_466" 14 -pair_coeff * * sw_example.xml "IP SW" 14 :pre - -[Description:] - -Style {quip} provides an interface for calling potential routines from -the QUIP package. QUIP is built separately, and then linked to -LAMMPS. The most recent version of the QUIP package can be downloaded -from GitHub: -"https://github.com/libAtoms/QUIP"_https://github.com/libAtoms/QUIP. The -interface is chiefly intended to be used to run Gaussian Approximation -Potentials (GAP), which are described in the following publications: -"(Bartok et al)"_#Bartok_2010 and "(PhD thesis of -Bartok)"_#Bartok_PhD. - -Only a single pair_coeff command is used with the {quip} style that -specifies a QUIP potential file containing the parameters of the -potential for all needed elements in XML format. This is followed by a -QUIP initialization string. Finally, the QUIP elements are mapped to -LAMMPS atom types by specifying N atomic numbers, where N is the -number of LAMMPS atom types: - -QUIP filename -QUIP initialization string -N atomic numbers = mapping of QUIP elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -A QUIP potential is fully specified by the filename which contains the -parameters of the potential in XML format, the initialization string, -and the map of atomic numbers. - -GAP potentials can be obtained from the Data repository section of -"http://www.libatoms.org"_http://www.libatoms.org, where the -appropriate initialization strings are also advised. The list of -atomic numbers must be matched to the LAMMPS atom types specified in -the LAMMPS data file or elsewhere. - -Two examples input scripts are provided in the examples/USER/quip -directory. - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -[Restrictions:] - -This pair style is part of the USER-QUIP package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -QUIP potentials are parameterized in electron-volts and Angstroms and -therefore should be used with LAMMPS metal "units"_units.html. - -QUIP potentials are generally not designed to work with the scaling -factors set by the "special_bonds"_special_bonds.html command. The -recommended setting in molecular systems is to include all -interactions, i.e. to use {special_bonds lj/coul 1.0 1.0 1.0}. Scaling -factors > 0.0 will be ignored and treated as 1.0. The only exception -to this rule is if you know that your QUIP potential needs to exclude -bonded, 1-3, or 1-4 interactions and does not already do this exclusion -within QUIP. Then a factor 0.0 needs to be used which will remove such -pairs from the neighbor list. This needs to be very carefully tested, -because it may remove pairs from the neighbor list that are still -required. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -:line - -:link(Bartok_2010) - -[(Bartok_2010)] AP Bartok, MC Payne, R Kondor, and G Csanyi, Physical -Review Letters 104, 136403 (2010). - -:link(Bartok_PhD) -[(Bartok_PhD)] A Bartok-Partay, PhD Thesis, University of Cambridge, -(2010). diff --git a/doc/txt/pair_reaxc.txt b/doc/txt/pair_reaxc.txt deleted file mode 100644 index 37482beacf90bd73a15d9723dc1dd64781a3f457..0000000000000000000000000000000000000000 --- a/doc/txt/pair_reaxc.txt +++ /dev/null @@ -1,357 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style reax/c command :h3 -pair_style reax/c/kk command :h3 -pair_style reax/c/omp command :h3 - -[Syntax:] - -pair_style reax/c cfile keyword value :pre - -cfile = NULL or name of a control file :ulb,l -zero or more keyword/value pairs may be appended :l -keyword = {checkqeq} or {lgvdw} or {safezone} or {mincap} - {checkqeq} value = {yes} or {no} = whether or not to require qeq/reax fix - {enobonds} value = {yes} or {no} = whether or not to tally energy of atoms with no bonds - {lgvdw} value = {yes} or {no} = whether or not to use a low gradient vdW correction - {safezone} = factor used for array allocation - {mincap} = minimum size for array allocation :pre -:ule - -[Examples:] - -pair_style reax/c NULL -pair_style reax/c controlfile checkqeq no -pair_style reax/c NULL lgvdw yes -pair_style reax/c NULL safezone 1.6 mincap 100 -pair_coeff * * ffield.reax C H O N :pre - -[Description:] - -Style {reax/c} computes the ReaxFF potential of van Duin, Goddard and -co-workers. ReaxFF uses distance-dependent bond-order functions to -represent the contributions of chemical bonding to the potential -energy. There is more than one version of ReaxFF. The version -implemented in LAMMPS uses the functional forms documented in the -supplemental information of the following paper: "(Chenoweth et al., -2008)"_#Chenoweth_20082. The version integrated into LAMMPS matches -the most up-to-date version of ReaxFF as of summer 2010. For more -technical details about the pair reax/c implementation of ReaxFF, see -the "(Aktulga)"_#Aktulga paper. The {reax/c} style was initially -implemented as a stand-alone C code and is now integrated into LAMMPS -as a package. - -The {reax/c/kk} style is a Kokkos version of the ReaxFF potential that -is derived from the {reax/c} style. The Kokkos version can run on GPUs -and can also use OpenMP multithreading. For more information about the -Kokkos package, see "Packages details"_Packages_details.html and -"Speed kokkos"_Speed_kokkos.html doc pages. One important -consideration when using the {reax/c/kk} style is the choice of either -half or full neighbor lists. This setting can be changed using the -Kokkos "package"_package.html command. - -The {reax/c} style differs from the (obsolete) "pair_style reax" -command in the implementation details. The {reax} style was a -Fortran library, linked to LAMMPS. The {reax} style has been removed -from LAMMPS after the 12 December 2018 version. - -LAMMPS provides several different versions of ffield.reax in its -potentials dir, each called potentials/ffield.reax.label. These are -documented in potentials/README.reax. The default ffield.reax -contains parameterizations for the following elements: C, H, O, N. - -The format of these files is identical to that used originally by van -Duin. We have tested the accuracy of {pair_style reax/c} potential -against the original ReaxFF code for the systems mentioned above. You -can use other ffield files for specific chemical systems that may be -available elsewhere (but note that their accuracy may not have been -tested). - -NOTE: We do not distribute a wide variety of ReaxFF force field files -with LAMMPS. Adri van Duin's group at PSU is the central repository -for this kind of data as they are continuously deriving and updating -parameterizations for different classes of materials. You can submit -a contact request at the Materials Computation Center (MCC) website -"https://www.mri.psu.edu/materials-computation-center/connect-mcc"_https://www.mri.psu.edu/materials-computation-center/connect-mcc, -describing the material(s) you are interested in modeling with ReaxFF. -They can tell you what is currently available or what it would take to -create a suitable ReaxFF parameterization. - -The {cfile} setting can be specified as NULL, in which case default -settings are used. A control file can be specified which defines -values of control variables. Some control variables are -global parameters for the ReaxFF potential. Others define certain -performance and output settings. -Each line in the control file specifies the value for -a control variable. The format of the control file is described -below. - -NOTE: The LAMMPS default values for the ReaxFF global parameters -correspond to those used by Adri van Duin's stand-alone serial -code. If these are changed by setting control variables in the control -file, the results from LAMMPS and the serial code will not agree. - -Examples using {pair_style reax/c} are provided in the examples/reax -sub-directory. - -Use of this pair style requires that a charge be defined for every -atom. See the "atom_style"_atom_style.html and -"read_data"_read_data.html commands for details on how to specify -charges. - -The ReaxFF parameter files provided were created using a charge -equilibration (QEq) model for handling the electrostatic interactions. -Therefore, by default, LAMMPS requires that the "fix -qeq/reax"_fix_qeq_reax.html command be used with {pair_style reax/c} -when simulating a ReaxFF model, to equilibrate charge each timestep. -Using the keyword {checkqeq} with the value {no} -turns off the check for {fix qeq/reax}, -allowing a simulation to be run without charge equilibration. -In this case, the static charges you -assign to each atom will be used for computing the electrostatic -interactions in the system. -See the "fix qeq/reax"_fix_qeq_reax.html command for details. - -Using the optional keyword {lgvdw} with the value {yes} turns on the -low-gradient correction of the ReaxFF/C for long-range London -Dispersion, as described in the "(Liu)"_#Liu_2011 paper. Force field -file {ffield.reax.lg} is designed for this correction, and is trained -for several energetic materials (see "Liu"). When using lg-correction, -recommended value for parameter {thb} is 0.01, which can be set in the -control file. Note: Force field files are different for the original -or lg corrected pair styles, using wrong ffield file generates an -error message. - -Using the optional keyword {enobonds} with the value {yes}, the energy -of atoms with no bonds (i.e. isolated atoms) is included in the total -potential energy and the per-atom energy of that atom. If the value -{no} is specified then the energy of atoms with no bonds is set to -zero. The latter behavior is usual not desired, as it causes -discontinuities in the potential energy when the bonding of an atom -drops to zero. - -Optional keywords {safezone} and {mincap} are used for allocating -reax/c arrays. Increasing these values can avoid memory problems, -such as segmentation faults and bondchk failed errors, that could -occur under certain conditions. These keywords aren't used by the -Kokkos version, which instead uses a more robust memory allocation -scheme that checks if the sizes of the arrays have been exceeded and -automatically allocates more memory. - -The thermo variable {evdwl} stores the sum of all the ReaxFF potential -energy contributions, with the exception of the Coulombic and charge -equilibration contributions which are stored in the thermo variable -{ecoul}. The output of these quantities is controlled by the -"thermo"_thermo.html command. - -This pair style tallies a breakdown of the total ReaxFF potential -energy into sub-categories, which can be accessed via the "compute -pair"_compute_pair.html command as a vector of values of length 14. -The 14 values correspond to the following sub-categories (the variable -names in italics match those used in the original FORTRAN ReaxFF -code): - -{eb} = bond energy -{ea} = atom energy -{elp} = lone-pair energy -{emol} = molecule energy (always 0.0) -{ev} = valence angle energy -{epen} = double-bond valence angle penalty -{ecoa} = valence angle conjugation energy -{ehb} = hydrogen bond energy -{et} = torsion energy -{eco} = conjugation energy -{ew} = van der Waals energy -{ep} = Coulomb energy -{efi} = electric field energy (always 0.0) -{eqeq} = charge equilibration energy :ol - -To print these quantities to the log file (with descriptive column -headings) the following commands could be included in an input script: - -compute reax all pair reax/c -variable eb equal c_reax\[1\] -variable ea equal c_reax\[2\] -\[...\] -variable eqeq equal c_reax\[14\] -thermo_style custom step temp epair v_eb v_ea \[...\] v_eqeq :pre - -Only a single pair_coeff command is used with the {reax/c} style which -specifies a ReaxFF potential file with parameters for all needed -elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N indices = ReaxFF elements :ul - -The filename is the ReaxFF potential file. - -In the ReaxFF potential file, near the top, after the general -parameters, is the atomic parameters section that contains element -names, each with a couple dozen numeric parameters. If there are M -elements specified in the {ffield} file, think of these as numbered 1 -to M. Each of the N indices you specify for the N atom types of LAMMPS -atoms must be an integer from 1 to M. Atoms with LAMMPS type 1 will -be mapped to whatever element you specify as the first index value, -etc. If a mapping value is specified as NULL, the mapping is not -performed. This can be used when the {reax/c} style is used as part -of the {hybrid} pair style. The NULL values are placeholders for atom -types that will be used with other potentials. - -As an example, say your LAMMPS simulation has 4 atom types and the -elements are ordered as C, H, O, N in the {ffield} file. If you want -the LAMMPS atom type 1 and 2 to be C, type 3 to be N, and type 4 to be -H, you would use the following pair_coeff command: - -pair_coeff * * ffield.reax C C N H :pre - -:line - -The format of a line in the control file is as follows: - -variable_name value :pre - -and it may be followed by an "!" character and a trailing comment. - -If the value of a control variable is not specified, then default -values are used. What follows is the list of variables along with a -brief description of their use and default values. - -simulation_name: Output files produced by {pair_style reax/c} carry -this name + extensions specific to their contents. Partial energies -are reported with a ".pot" extension, while the trajectory file has -".trj" extension. - -tabulate_long_range: To improve performance, long range interactions -can optionally be tabulated (0 means no tabulation). Value of this -variable denotes the size of the long range interaction table. The -range from 0 to long range cutoff (defined in the {ffield} file) is -divided into {tabulate_long_range} points. Then at the start of -simulation, we fill in the entries of the long range interaction table -by computing the energies and forces resulting from van der Waals and -Coulomb interactions between every possible atom type pairs present in -the input system. During the simulation we consult to the long range -interaction table to estimate the energy and forces between a pair of -atoms. Linear interpolation is used for estimation. (default value = -0) - -energy_update_freq: Denotes the frequency (in number of steps) of -writes into the partial energies file. (default value = 0) - -nbrhood_cutoff: Denotes the near neighbors cutoff (in Angstroms) -regarding the bonded interactions. (default value = 5.0) - -hbond_cutoff: Denotes the cutoff distance (in Angstroms) for hydrogen -bond interactions.(default value = 7.5. A value of 0.0 turns off -hydrogen bonds) - -bond_graph_cutoff: is the threshold used in determining what is a -physical bond, what is not. Bonds and angles reported in the -trajectory file rely on this cutoff. (default value = 0.3) - -thb_cutoff: cutoff value for the strength of bonds to be considered in -three body interactions. (default value = 0.001) - -thb_cutoff_sq: cutoff value for the strength of bond order products -to be considered in three body interactions. (default value = 0.00001) - -write_freq: Frequency of writes into the trajectory file. (default -value = 0) - -traj_title: Title of the trajectory - not the name of the trajectory -file. - -atom_info: 1 means print only atomic positions + charge (default = 0) - -atom_forces: 1 adds net forces to atom lines in the trajectory file -(default = 0) - -atom_velocities: 1 adds atomic velocities to atoms line (default = 0) - -bond_info: 1 prints bonds in the trajectory file (default = 0) - -angle_info: 1 prints angles in the trajectory file (default = 0) - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This pair style is part of the USER-REAXC package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -The ReaxFF potential files provided with LAMMPS in the potentials -directory are parameterized for real "units"_units.html. You can use -the ReaxFF potential with any LAMMPS units, but you would need to -create your own potential file with coefficients listed in the -appropriate units if your simulation doesn't use "real" units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix qeq/reax"_fix_qeq_reax.html, "fix -reax/c/bonds"_fix_reaxc_bonds.html, "fix -reax/c/species"_fix_reaxc_species.html - -[Default:] - -The keyword defaults are checkqeq = yes, enobonds = yes, lgvdw = no, -safezone = 1.2, mincap = 50. - -:line - -:link(Chenoweth_20082) -[(Chenoweth_2008)] Chenoweth, van Duin and Goddard, -Journal of Physical Chemistry A, 112, 1040-1053 (2008). - -:link(Aktulga) -(Aktulga) Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, -245-259 (2012). - -:link(Liu_2011) -[(Liu)] L. Liu, Y. Liu, S. V. Zybin, H. Sun and W. A. Goddard, Journal -of Physical Chemistry A, 115, 11016-11022 (2011). diff --git a/doc/txt/pair_resquared.txt b/doc/txt/pair_resquared.txt deleted file mode 100644 index 5e760be495e0a52e9b7294ed73b1e756a403e2c9..0000000000000000000000000000000000000000 --- a/doc/txt/pair_resquared.txt +++ /dev/null @@ -1,234 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style resquared command :h3 -pair_style resquared/gpu command :h3 -pair_style resquared/omp command :h3 - -[Syntax:] - -pair_style resquared cutoff :pre - -cutoff = global cutoff for interactions (distance units) :ul - -[Examples:] - -pair_style resquared 10.0 -pair_coeff * * 1.0 1.0 1.7 3.4 3.4 1.0 1.0 1.0 :pre - -[Description:] - -Style {resquared} computes the RE-squared anisotropic interaction -"(Everaers)"_#Everaers3, "(Babadi)"_#Babadi between pairs of -ellipsoidal and/or spherical Lennard-Jones particles. For ellipsoidal -interactions, the potential considers the ellipsoid as being comprised -of small spheres of size sigma. LJ particles are a single sphere of -size sigma. The distinction is made to allow the pair style to make -efficient calculations of ellipsoid/solvent interactions. - -Details for the equations used are given in the references below and -in "this supplementary document"_PDF/pair_resquared_extra.pdf. - -Use of this pair style requires the NVE, NVT, or NPT fixes with the -{asphere} extension (e.g. "fix nve/asphere"_fix_nve_asphere.html) in -order to integrate particle rotation. Additionally, "atom_style -ellipsoid"_atom_style.html should be used since it defines the -rotational state and the size and shape of each ellipsoidal particle. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -A12 = Energy Prefactor/Hamaker constant (energy units) -sigma = atomic interaction diameter (distance units) -epsilon_i_a = relative well depth of type I for side-to-side interactions -epsilon_i_b = relative well depth of type I for face-to-face interactions -epsilon_i_c = relative well depth of type I for end-to-end interactions -epsilon_j_a = relative well depth of type J for side-to-side interactions -epsilon_j_b = relative well depth of type J for face-to-face interactions -epsilon_j_c = relative well depth of type J for end-to-end interactions -cutoff (distance units) :ul - -The parameters used depend on the type of the interacting particles, -i.e. ellipsoids or LJ spheres. The type of a particle is determined -by the diameters specified for its 3 shape parameters. If all 3 shape -parameters = 0.0, then the particle is treated as an LJ sphere. The -epsilon_i_* or epsilon_j_* parameters are ignored for LJ spheres. If -the 3 shape parameters are > 0.0, then the particle is treated as an -ellipsoid (even if the 3 parameters are equal to each other). - -A12 specifies the energy prefactor which depends on the types of the -two interacting particles. - -For ellipsoid/ellipsoid interactions, the interaction is computed by -the formulas in the supplementary document referenced above. A12 is -the Hamaker constant as described in "(Everaers)"_#Everaers3. In LJ -units: - -:c,image(Eqs/pair_resquared.jpg) - -where rho gives the number density of the spherical particles -composing the ellipsoids and epsilon_LJ determines the interaction -strength of the spherical particles. - -For ellipsoid/LJ sphere interactions, the interaction is also computed -by the formulas in the supplementary document referenced above. A12 -has a modified form (see "here"_PDF/pair_resquared_extra.pdf for -details): - -:c,image(Eqs/pair_resquared2.jpg) - -For ellipsoid/LJ sphere interactions, a correction to the distance- -of-closest approach equation has been implemented to reduce the error -from two particles of disparate sizes; see "this supplementary -document"_PDF/pair_resquared_extra.pdf. - -For LJ sphere/LJ sphere interactions, the interaction is computed -using the standard Lennard-Jones formula, which is much cheaper to -compute than the ellipsoidal formulas. A12 is used as epsilon in the -standard LJ formula: - -:c,image(Eqs/pair_resquared3.jpg) - -and the specified {sigma} is used as the sigma in the standard LJ -formula. - -When one of both of the interacting particles are ellipsoids, then -{sigma} specifies the diameter of the continuous distribution of -constituent particles within each ellipsoid used to model the -RE-squared potential. Note that this is a different meaning for -{sigma} than the "pair_style gayberne"_pair_gayberne.html potential -uses. - -The epsilon_i and epsilon_j coefficients are defined for atom types, -not for pairs of atom types. Thus, in a series of pair_coeff -commands, they only need to be specified once for each atom type. - -Specifically, if any of epsilon_i_a, epsilon_i_b, epsilon_i_c are -non-zero, the three values are assigned to atom type I. If all the -epsilon_i values are zero, they are ignored. If any of epsilon_j_a, -epsilon_j_b, epsilon_j_c are non-zero, the three values are assigned -to atom type J. If all three epsilon_i values are zero, they are -ignored. Thus the typical way to define the epsilon_i and epsilon_j -coefficients is to list their values in "pair_coeff I J" commands when -I = J, but set them to 0.0 when I != J. If you do list them when I != -J, you should insure they are consistent with their values in other -pair_coeff commands. - -Note that if this potential is being used as a sub-style of -"pair_style hybrid"_pair_hybrid.html, and there is no "pair_coeff I I" -setting made for RE-squared for a particular type I (because I-I -interactions are computed by another hybrid pair potential), then you -still need to insure the epsilon a,b,c coefficients are assigned to -that type in a "pair_coeff I J" command. - -For large uniform molecules it has been shown that the epsilon_*_* -energy parameters are approximately representable in terms of local -contact curvatures "(Everaers)"_#Everaers3: - -:c,image(Eqs/pair_resquared4.jpg) - -where a, b, and c give the particle diameters. - -The last coefficient is optional. If not specified, the global cutoff -specified in the pair_style command is used. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance can be mixed, but only for sphere pairs. The -default mix value is {geometric}. See the "pair_modify" command for -details. Other type pairs cannot be mixed, due to the different -meanings of the energy prefactors used to calculate the interactions -and the implicit dependence of the ellipsoid-sphere interaction on the -equation for the Hamaker constant presented here. Mixing of sigma and -epsilon followed by calculation of the energy prefactors using the -equations above is recommended. - -This pair styles supports the "pair_modify"_pair_modify.html shift -option for the energy of the Lennard-Jones portion of the pair -interaction, but only for sphere-sphere interactions. There is no -shifting performed for ellipsoidal interactions due to the anisotropic -dependence of the interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords of the "run_style -command"_run_style.html. - -:line - -[Restrictions:] - -This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair style requires that atoms be ellipsoids as defined by the -"atom_style ellipsoid"_atom_style.html command. - -Particles acted on by the potential can be finite-size aspherical or -spherical particles, or point particles. Spherical particles have all -3 of their shape parameters equal to each other. Point particles have -all 3 of their shape parameters equal to 0.0. - -The distance-of-closest-approach approximation used by LAMMPS becomes -less accurate when high-aspect ratio ellipsoids are used. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix nve/asphere"_fix_nve_asphere.html, -"compute temp/asphere"_compute_temp_asphere.html, "pair_style -gayberne"_pair_gayberne.html - -[Default:] none - -:line - -:link(Everaers3) -[(Everaers)] Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). - -:link(Babadi) -[(Berardi)] Babadi, Ejtehadi, Everaers, J Comp Phys, 219, 770-779 (2006). diff --git a/doc/txt/pair_sdk.txt b/doc/txt/pair_sdk.txt deleted file mode 100644 index 7c596ed1d80bc4cceb8abb367f08639c5a5b3583..0000000000000000000000000000000000000000 --- a/doc/txt/pair_sdk.txt +++ /dev/null @@ -1,161 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style lj/sdk command :h3 -pair_style lj/sdk/gpu command :h3 -pair_style lj/sdk/kk command :h3 -pair_style lj/sdk/omp command :h3 -pair_style lj/sdk/coul/long command :h3 -pair_style lj/sdk/coul/long/gpu command :h3 -pair_style lj/sdk/coul/long/omp command :h3 -pair_style lj/sdk/coul/msm command :h3 -pair_style lj/sdk/coul/msm/omp command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {lj/sdk} or {lj/sdk/coul/long} -args = list of arguments for a particular style :ul - {lj/sdk} args = cutoff - cutoff = global cutoff for Lennard Jones interactions (distance units) - {lj/sdk/coul/long} args = cutoff (cutoff2) - cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre - -[Examples:] - -pair_style lj/sdk 2.5 -pair_coeff 1 1 lj12_6 1 1.1 2.8 :pre - -pair_style lj/sdk/coul/long 10.0 -pair_style lj/sdk/coul/long 10.0 12.0 -pair_coeff 1 1 lj9_6 100.0 3.5 12.0 :pre - -pair_style lj/sdk/coul/msm 10.0 -pair_style lj/sdk/coul/msm 10.0 12.0 -pair_coeff 1 1 lj9_6 100.0 3.5 12.0 :pre - -[Description:] - -The {lj/sdk} styles compute a 9/6, 12/4, or 12/6 Lennard-Jones potential, -given by - -:c,image(Eqs/pair_cmm.jpg) - -as required for the SDK Coarse-grained MD parameterization discussed in -"(Shinoda)"_#Shinoda3 and "(DeVane)"_#DeVane. Rc is the cutoff. - -Style {lj/sdk/coul/long} computes the adds Coulombic interactions -with an additional damping factor applied so it can be used in -conjunction with the "kspace_style"_kspace_style.html command and -its {ewald} or {pppm} or {pppm/cg} option. The Coulombic cutoff -specified for this style means that pairwise interactions within -this distance are computed directly; interactions outside that -distance are computed in reciprocal space. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -cg_type (lj9_6, lj12_4, or lj12_6) -epsilon (energy units) -sigma (distance units) -cutoff1 (distance units) :ul - -Note that sigma is defined in the LJ formula as the zero-crossing -distance for the potential, not as the energy minimum. The prefactors -are chosen so that the potential minimum is at -epsilon. - -The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair_style command are used. -If only one cutoff is specified, it is used as the cutoff for both LJ -and Coulombic interactions for this type pair. If both coefficients -are specified, they are used as the LJ and Coulombic cutoffs for this -type pair. - -For {lj/sdk/coul/long} and {lj/sdk/coul/msm} only the LJ cutoff can be -specified since a Coulombic cutoff cannot be specified for an -individual I,J type pair. All type pairs use the same global -Coulombic cutoff specified in the pair_style command. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, and rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of the lj/sdk pair styles {cannot} be mixed, -since different pairs may have different exponents. So all parameters -for all pairs have to be specified explicitly through the "pair_coeff" -command. Defining then in a data file is also not supported, due to -limitations of that file format. - -All of the lj/sdk pair styles support the -"pair_modify"_pair_modify.html shift option for the energy of the -Lennard-Jones portion of the pair interaction. - -The {lj/sdk/coul/long} pair styles support the -"pair_modify"_pair_modify.html table option since they can tabulate -the short-range portion of the long-range Coulombic interaction. - -All of the lj/sdk pair styles write their information to "binary -restart files"_restart.html, so pair_style and pair_coeff commands do -not need to be specified in an input script that reads a restart file. - -The lj/sdk and lj/cut/coul/long pair styles do not support -the use of the {inner}, {middle}, and {outer} keywords of the "run_style -respa"_run_style.html command. - -:line - -[Restrictions:] - -All of the lj/sdk pair styles are part of the USER-CGSDK package. The -{lj/sdk/coul/long} style also requires the KSPACE package to be built -(which is enabled by default). They are only enabled if LAMMPS was -built with that package. See the "Build package"_Build_package.html -doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "angle_style sdk"_angle_sdk.html - -[Default:] none - -:line - -:link(Shinoda3) -[(Shinoda)] Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007). - -:link(DeVane) -[(DeVane)] Shinoda, DeVane, Klein, Soft Matter, 4, 2453-2462 (2008). - diff --git a/doc/txt/pair_sdpd_taitwater_isothermal.txt b/doc/txt/pair_sdpd_taitwater_isothermal.txt deleted file mode 100644 index fba97e1bc2c7453ab02e26ad7c00d8865018e4e2..0000000000000000000000000000000000000000 --- a/doc/txt/pair_sdpd_taitwater_isothermal.txt +++ /dev/null @@ -1,108 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style sdpd/taitwater/isothermal command :h3 - -[Syntax:] - -pair_style sdpd/taitwater/isothermal temperature viscosity seed -:pre - -temperature = temperature of the fluid (temperature units) -viscosity = dynamic viscosity of the fluid (mass*distance/time units) -seed = random number generator seed (positive integer, optional) :ul - -[Examples:] - -pair_style sdpd/taitwater/isothermal 300. 1. 28681 -pair_coeff * * 1000.0 1430.0 2.4 :pre - -[Description:] - -The sdpd/taitwater/isothermal style computes forces between mesoscopic -particles according to the Smoothed Dissipative Particle Dynamics model -described in this paper by "(Espanol and Revenga)"_#Espanol_Revenga under -the following assumptions: - -:olb -The temperature is constant and uniform. :l -The shear viscosity is constant and uniform. :l -The volume viscosity is negligible before the shear viscosity. :l -The Boltzmann constant is negligible before the heat capacity of a -single mesoscopic particle of fluid. :ole,l - -The third assumption is true for water in nearly incompressible flows. -The fourth holds true for water for any reasonable size one can -imagine for a mesoscopic particle. - -The pressure forces between particles will be computed according to -Tait's equation of state: - -:c,image(Eqs/pair_sph_tait.jpg) - -where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the -reference density and c_0 the reference speed of sound. - -The laminar viscosity and the random forces will be computed according -to formulas described in "(Espanol and Revenga)"_#Espanol_Revenga. - -IMPORTANT NOTE: Similar to "brownian"_pair_brownian.html and -"dpd"_pair_dpd.html styles, the "newton"_newton.html setting for -pairwise interactions needs to be on when running LAMMPS in parallel -if you want to ensure linear momentum conservation. Otherwise random -forces generated for pairs straddling processor boundary will not be -equal and opposite. - -NOTE: The actual random seed used will be a mix of what you specify -and other parameters like the MPI ranks. This is to ensure that -different MPI tasks have distinct seeds. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -rho0 reference density (mass/volume units) -c0 reference soundspeed (distance/time units) -h kernel function cutoff (distance units) :ul - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -This style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This style does not write information to "binary restart -files"_restart.html. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. - -This style can only be used via the {pair} keyword of the "run_style -respa"_run_style.html command. It does not support the {inner}, -{middle}, {outer} keywords. - -[Restrictions:] - -This pair style is part of the USER-SDPD package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair coeff"_pair_coeff.html, "pair sph/rhosum"_pair_sph_rhosum.html - -[Default:] - -The default seed is 0 (before mixing). - -:line - -:link(Espanol_Revenga) -[(Espanol and Revenga)] Espanol, Revenga, Physical Review E, 67, 026705 (2003). diff --git a/doc/txt/pair_smd_hertz.txt b/doc/txt/pair_smd_hertz.txt deleted file mode 100644 index 2581c84dc97d647ec69c67c6590c52a5b8cc6740..0000000000000000000000000000000000000000 --- a/doc/txt/pair_smd_hertz.txt +++ /dev/null @@ -1,60 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style smd/hertz command :h3 - -[Syntax:] - -pair_style smd/hertz scale_factor :pre - -[Examples:] - -pair_style smd/hertz 1.0 -pair_coeff 1 1 - -[Description:] - -The {smd/hertz} style calculates contact forces between SPH particles -belonging to different physical bodies. - -The contact forces are calculated using a Hertz potential, which -evaluates the overlap between two particles (whose spatial extents are -defined via its contact radius). The effect is that a particles -cannot penetrate into each other. The parameter -has units of pressure and should equal roughly one half 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. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -No mixing is performed automatically. Currently, no part of USER-SMD -supports restarting nor minimization. rRESPA does not apply to this -pair style. - -:line - -[Restrictions:] - -This fix is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - diff --git a/doc/txt/pair_smd_tlsph.txt b/doc/txt/pair_smd_tlsph.txt deleted file mode 100644 index 13ffbbabc1846c7dd9bb52ac7b426919b132802e..0000000000000000000000000000000000000000 --- a/doc/txt/pair_smd_tlsph.txt +++ /dev/null @@ -1,73 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style smd/tlsph command :h3 - -[Syntax:] - -pair_style smd/tlsph args :pre - -[Examples:] - -pair_style smd/tlsph - -[Description:] - -The {smd/tlsph} style computes particle interactions according to -continuum mechanics constitutive laws and a Total-Lagrangian -Smooth-Particle Hydrodynamics algorithm. - -This pair style is invoked with the following command: - -pair_style smd/tlsph -pair_coeff i j *COMMON rho0 E nu Q1 Q2 hg Cp & - *END :pre - -Here, {i} and {j} denote the {LAMMPS} particle types for which this -pair style is defined. Note that {i} and {j} must be equal, i.e., no -{tlsph} cross interactions between different particle types are -allowed. In contrast to the usual {LAMMPS} {pair coeff} definitions, -which are given solely a number of floats and integers, the {tlsph} -{pair coeff} definition is organized using keywords. These keywords -mark the beginning of different sets of parameters for particle -properties, material constitutive models, and damage models. The {pair -coeff} line must be terminated with the {*END} keyword. The use the -line continuation operator {&} is recommended. A typical invocation of -the {tlsph} for a solid body would consist of an equation of state for -computing the pressure (the diagonal components of the stress tensor), -and a material model to compute shear stresses (the off-diagonal -components of the stress tensor). Damage and failure models can also -be added. - -Please see the "SMD user guide"_PDF/SMD_LAMMPS_userguide.pdf for a -complete listing of the possible keywords and material models. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -No mixing is performed automatically. Currently, no part of USER-SMD -supports restarting nor minimization. rRESPA does not apply to this -pair style. - -:line - -[Restrictions:] - -This fix is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - diff --git a/doc/txt/pair_smd_triangulated_surface.txt b/doc/txt/pair_smd_triangulated_surface.txt deleted file mode 100644 index 9eb5e311b8e20dec7a7f51756b02454260d7879e..0000000000000000000000000000000000000000 --- a/doc/txt/pair_smd_triangulated_surface.txt +++ /dev/null @@ -1,61 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style smd/tri_surface command :h3 - -[Syntax:] - -pair_style smd/tri_surface scale_factor :pre - -[Examples:] - -pair_style smd/tri_surface 1.0 -pair_coeff 1 1 - -[Description:] - -The {smd/tri_surface} style calculates contact forces between SPH -particles and a rigid wall boundary defined via the -"smd/wall_surface"_fix_smd_wall_surface.html fix. - -The contact forces are calculated using a Hertz potential, which -evaluates the overlap between a particle (whose spatial extents are -defined via its contact radius) and the triangle. The effect is that -a particle cannot penetrate into the triangular surface. The -parameter has units of pressure and should equal -roughly one half 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. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -No mixing is performed automatically. -Currently, no part of USER-SMD supports restarting nor minimization. -rRESPA does not apply to this pair style. - -:line - -[Restrictions:] - -This fix is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - diff --git a/doc/txt/pair_smd_ulsph.txt b/doc/txt/pair_smd_ulsph.txt deleted file mode 100644 index 39e9c76841607fa8fe8d87dcbfe8388366a5665b..0000000000000000000000000000000000000000 --- a/doc/txt/pair_smd_ulsph.txt +++ /dev/null @@ -1,81 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style smd/ulsph command :h3 - -[Syntax:] - -pair_style smd/ulsph args :pre - -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:] - -pair_style smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION :pre - -[Description:] - -The {smd/ulsph} style computes particle interactions according to -continuum mechanics constitutive laws and an updated Lagrangian -Smooth-Particle Hydrodynamics algorithm. - -This pair style is invoked similar to the following command: - -pair_style smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION -pair_coeff i j *COMMON rho0 c0 Q1 Cp hg & - *END :pre - -Here, {i} and {j} denote the {LAMMPS} particle types for which this -pair style is defined. Note that {i} and {j} can be different, i.e., -{ulsph} cross interactions between different particle types are -allowed. However, {i}--{i} respectively {j}--{j} pair_coeff lines have -to precede a cross interaction. In contrast to the usual {LAMMPS} -{pair coeff} definitions, which are given solely a number of floats -and integers, the {ulsph} {pair coeff} definition is organized using -keywords. These keywords mark the beginning of different sets of -parameters for particle properties, material constitutive models, and -damage models. The {pair coeff} line must be terminated with the -{*END} keyword. The use the line continuation operator {&} is -recommended. A typical invocation of the {ulsph} for a solid body -would consist of an equation of state for computing the pressure (the -diagonal components of the stress tensor), and a material model to -compute shear stresses (the off-diagonal components of the stress -tensor). - -Note that the use of *GRADIENT_CORRECTION can lead to severe numerical -instabilities. For a general fluid simulation, *NO_GRADIENT_CORRECTION -is recommended. - -Please see the "SMD user guide"_PDF/SMD_LAMMPS_userguide.pdf for a -complete listing of the possible keywords and material models. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -No mixing is performed automatically. Currently, no part of USER-SMD -supports restarting nor minimization. rRESPA does not apply to this -pair style. - -:line - -[Restrictions:] - -This fix is part of the USER-SMD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - diff --git a/doc/txt/pair_smtbq.txt b/doc/txt/pair_smtbq.txt deleted file mode 100644 index 41e124a94f20600fda58846c53e5ae8b610cd8a6..0000000000000000000000000000000000000000 --- a/doc/txt/pair_smtbq.txt +++ /dev/null @@ -1,261 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style smtbq command :h3 - -[Syntax:] - -pair_style smtbq :pre - -[Examples:] - -pair_style smtbq -pair_coeff * * ffield.smtbq.Al2O3 O Al :pre - -[Description:] - -This pair style computes a variable charge SMTB-Q (Second-Moment -tight-Binding QEq) potential as described in "SMTB-Q_1"_#SMTB-Q_1 and -"SMTB-Q_2"_#SMTB-Q_2. Briefly, the energy of metallic-oxygen systems -is given by three contributions: - -:c,image(Eqs/pair_smtbq1.jpg) - -where {Etot} is the total potential energy of the system, -{EES} is the electrostatic part of the total energy, -{EOO} is the interaction between oxygen atoms and -{EMO} is a short-range interaction between metal and oxygen -atoms. This interactions depend on interatomic distance -{rij} and/or the charge {Qi} of atoms -{i}. Cut-off function enables smooth convergence to zero interaction. - -The parameters appearing in the upper expressions are set in the -ffield.SMTBQ.Syst file where Syst corresponds to the selected system -(e.g. field.SMTBQ.Al2O3). Examples for TiO2, -Al2O3 are provided. A single pair_coeff command -is used with the SMTBQ styles which provides the path to the potential -file with parameters for needed elements. These are mapped to LAMMPS -atom types by specifying additional arguments after the potential -filename in the pair_coeff command. Note that atom type 1 must always -correspond to oxygen atoms. As an example, to simulate a TiO2 system, -atom type 1 has to be oxygen and atom type 2 Ti. The following -pair_coeff command should then be used: - -pair_coeff * * PathToLammps/potentials/ffield.smtbq.TiO2 O Ti :pre - -The electrostatic part of the energy consists of two components : -self-energy of atom {i} in the form of a second order charge dependent -polynomial and a long-range Coulombic electrostatic interaction. The -latter uses the wolf summation method described in "Wolf"_#Wolf2, -spherically truncated at a longer cutoff, {Rcoul}. The -charge of each ion is modeled by an orbital Slater which depends on -the principal quantum number ({n}) of the outer orbital shared by the -ion. - -Interaction between oxygen, {EOO}, consists of two parts, -an attractive and a repulsive part. The attractive part is effective -only at short range (< r2OO). The attractive -contribution was optimized to study surfaces reconstruction -(e.g. "SMTB-Q_2"_#SMTB-Q_2 in TiO2) and is not necessary -for oxide bulk modeling. The repulsive part is the Pauli interaction -between the electron clouds of oxygen. The Pauli repulsion and the -coulombic electrostatic interaction have same cut off value. In the -ffield.SMTBQ.Syst, the keyword {'buck'} allows to consider only the -repulsive O-O interactions. The keyword {'buckPlusAttr'} allows to -consider the repulsive and the attractive O-O interactions. - -The short-range interaction between metal-oxygen, {EMO} is -based on the second moment approximation of the density of states with -a N-body potential for the band energy term, -{Eicov}, and a Born-Mayer type repulsive terms -as indicated by the keyword {'second_moment'} in the -ffield.SMTBQ.Syst. The energy band term is given by: - -:c,image(Eqs/pair_smtbq2.jpg) - -where {ηi} is the stoichiometry of atom {i}, -{δQi} is the charge delocalization of atom {i}, -compared to its formal charge -{QFi}. n0, the number of hybridized -orbitals, is calculated with to the atomic orbitals shared -{di} and the stoichiometry -{ηi}. {rc1} and {rc2} are the two -cutoff radius around the fourth neighbors in the cutoff function. - -In the formalism used here, {ξ0} is the energy -parameter. {ξ0} is in tight-binding approximation the -hopping integral between the hybridized orbitals of the cation and the -anion. In the literature we find many ways to write the hopping -integral depending on whether one takes the point of view of the anion -or cation. These are equivalent vision. The correspondence between the -two visions is explained in appendix A of the article in the -SrTiO3 "SMTB-Q_3"_#SMTB-Q_3 (parameter {β} shown in -this article is in fact the {βO}). To summarize the -relationship between the hopping integral {ξ0} and the -others, we have in an oxide CnOm the following -relationship: - -:c,image(Eqs/pair_smtbq3.jpg) - -Thus parameter μ, indicated above, is given by : μ = (√n -+ √m) ⁄ 2 - -The potential offers the possibility to consider the polarizability of -the electron clouds of oxygen by changing the slater radius of the -charge density around the oxygen atoms through the parameters {rBB, rB and -rS} in the ffield.SMTBQ.Syst. This change in radius is performed -according to the method developed by E. Maras -"SMTB-Q_2"_#SMTB-Q_2. This method needs to determine the number of -nearest neighbors around the oxygen. This calculation is based on -first ({r1n}) and second ({r2n}) distances -neighbors. - -The SMTB-Q potential is a variable charge potential. The equilibrium -charge on each atom is calculated by the electronegativity -equalization (QEq) method. See "Rick"_#Rick3 for further detail. One -can adjust the frequency, the maximum number of iterative loop and the -convergence of the equilibrium charge calculation. To obtain the -energy conservation in NVE thermodynamic ensemble, we recommend to use -a convergence parameter in the interval 10-5 - -10-6 eV. - -The ffield.SMTBQ.Syst files are provided for few systems. They consist -of nine parts and the lines beginning with '#' are comments (note that -the number of comment lines matter). The first sections are on the -potential parameters and others are on the simulation options and -might be modified. Keywords are character type and must be enclosed in -quotation marks (''). - -1) Number of different element in the oxide: - -Nelem= 2 or 3 -Divided line :ul - -2) Atomic parameters - -For the anion (oxygen) : - -Name of element (char) and stoichiometry in oxide -Formal charge and mass of element -Principal quantum number of outer orbital ({n}), electronegativity ({χ0i}) and hardness ({J0i}) - Ionic radius parameters : max coordination number ({coordBB} = 6 by default), bulk coordination number {(coordB)}, surface coordination number {(coordS)} and {rBB, rB and rS} the slater radius for each coordination number. (note : If you don't want to change the slater radius, use three identical radius values) -Number of orbital shared by the element in the oxide ({di}) -Divided line :ul - -For each cations (metal): - -Name of element (char) and stoichiometry in oxide -Formal charge and mass of element -Number of electron in outer orbital {(ne)}, electronegativity ({χ0i}), hardness ({J0i}) and {rSalter} the slater radius for the cation. -Number of orbitals shared by the elements in the oxide ({di}) -Divided line :ul - -3) Potential parameters: - -Keyword for element1, element2 and interaction potential ('second_moment' or 'buck' or 'buckPlusAttr') between element 1 and 2. If the potential is 'second_moment', specify 'oxide' or 'metal' for metal-oxygen or metal-metal interactions respectively. -Potential parameter:

If type of potential is 'second_moment' : {A (eV)}, {p}, {ξ0} (eV) and {q}
{rc1} (Å), {rc2} (Å) and {r0} (Å)
If type of potential is 'buck' : {C} (eV) and {ρ} (Å)
If type of potential is 'buckPlusAttr' : {C} (eV) and {ρ} (Å)
{D} (eV), {B} (Å-1), {r1OO} (Å) and {r2OO} (Å)
-Divided line :ul - -4) Tables parameters: - -Cutoff radius for the Coulomb interaction ({Rcoul}) -Starting radius ({rmin} = 1,18845 Å) and increments ({dr} = 0,001 Å) for creating the potential table. -Divided line :ul - -5) Rick model parameter: - -{Nevery} : parameter to set the frequency ({1/Nevery}) of the charge resolution. The charges are evaluated each {Nevery} time steps. -Max number of iterative loop ({loopmax}) and precision criterion ({prec}) in eV of the charge resolution -Divided line :ul - -6) Coordination parameter: - -First ({r1n}) and second ({r2n}) neighbor distances in Å -Divided line :ul - -7) Charge initialization mode: - -Keyword ({QInitMode}) and initial oxygen charge ({Qinit}). If keyword = 'true', all oxygen charges are initially set equal to {Qinit}. The charges on the cations are initially set in order to respect the neutrality of the box. If keyword = 'false', all atom charges are initially set equal to 0 if you use "create_atom"#create_atom command or the charge specified in the file structure using "read_data"_read_data.html command. -Divided line :ul - -8) Mode for the electronegativity equalization (Qeq) : - -Keyword mode:
 
QEqAll (one QEq group) | no parameters
QEqAllParallel (several QEq groups) | no parameters
Surface | zlim (QEq only for z>zlim)
-Parameter if necessary -Divided line :ul - -9) Verbose : - -If you want the code to work in verbose mode or not : 'true' or 'false' -If you want to print or not in file 'Energy_component.txt' the three main contributions to the energy of the system according to the description presented above : 'true' or 'false' and {NEnergy}. This option writes in file every {NEnergy} time step. If the value is 'false' then {NEnergy} = 0. The file take into account the possibility to have several QEq group {g} then it writes: time step, number of atoms in group {g}, electrostatic part of energy, {EES}, the interaction between oxygen, {EOO}, and short range metal-oxygen interaction, {EMO}. -If you want to print in file 'Electroneg_component.txt' the electronegativity component ({∂Etot ⁄∂Qi}) or not: 'true' or 'false' and {NElectroneg}.This option writes in file every {NElectroneg} time step. If the value is 'false' then {NElectroneg} = 0. The file consist in atom number {i}, atom type (1 for oxygen and # higher than 1 for metal), atom position: {x}, {y} and {z}, atomic charge of atom {i}, electrostatic part of atom {i} electronegativity, covalent part of atom {i} electronegativity, the hopping integral of atom {i} {(Zβ2)i} and box electronegativity. :ul - -NOTE: This last option slows down the calculation dramatically. Use -only with a single processor simulation. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info:] - -This pair style does not support the "pair_modify"_pair_modify.html -mix, shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -needs to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restriction:] - -This pair style is part of the USER-SMTBQ package and is only enabled -if LAMMPS is built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This potential requires using atom type 1 for oxygen and atom type -higher than 1 for metal atoms. - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -The SMTB-Q potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal "units"_units.html. - -:line - -[Citing this work:] - -Please cite related publication: N. Salles, O. Politano, E. Amzallag -and R. Tetot, Comput. Mater. Sci. 111 (2016) 181-189 - -:line - -:link(SMTB-Q_1) -[(SMTB-Q_1)] N. Salles, O. Politano, E. Amzallag, R. Tetot, -Comput. Mater. Sci. 111 (2016) 181-189 - -:link(SMTB-Q_2) -[(SMTB-Q_2)] E. Maras, N. Salles, R. Tetot, T. Ala-Nissila, -H. Jonsson, J. Phys. Chem. C 2015, 119, 10391-10399 - -:link(SMTB-Q_3) -[(SMTB-Q_3)] R. Tetot, N. Salles, S. Landron, E. Amzallag, Surface -Science 616, 19-8722 28 (2013) - -:link(Wolf2) -[(Wolf)] D. Wolf, P. Keblinski, S. R. Phillpot, J. Eggebrecht, J Chem -Phys, 110, 8254 (1999). - -:link(Rick3) -[(Rick)] S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 6141 -(1994). diff --git a/doc/txt/pair_snap.txt b/doc/txt/pair_snap.txt deleted file mode 100644 index 37d1a1ed18a3d5c49faf6f79f3672129e4160ba5..0000000000000000000000000000000000000000 --- a/doc/txt/pair_snap.txt +++ /dev/null @@ -1,217 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style snap command :h3 -pair_style snap/kk command :h3 - -[Syntax:] - -pair_style snap :pre - -[Examples:] - -pair_style snap -pair_coeff * * InP.snapcoeff InP.snapparam In In P P :pre - -[Description:] - -Pair style {snap} computes interactions using the spectral -neighbor analysis potential (SNAP) "(Thompson)"_#Thompson20142. -Like the GAP framework of Bartok et al. "(Bartok2010)"_#Bartok20102, -"(Bartok2013)"_#Bartok2013 which uses bispectrum components -to characterize the local neighborhood of each atom -in a very general way. The mathematical definition of the -bispectrum calculation used by SNAP is identical -to that used by "compute sna/atom"_compute_sna_atom.html. -In SNAP, the total energy is decomposed into a sum over -atom energies. The energy of atom {i} is -expressed as a weighted sum over bispectrum components. - -:c,image(Eqs/pair_snap.jpg) - -where {B_k^i} is the {k}-th bispectrum component of atom {i}, -and {beta_k^alpha_i} is the corresponding linear coefficient -that depends on {alpha_i}, the SNAP element of atom {i}. The -number of bispectrum components used and their definitions -depend on the value of {twojmax} -defined in the SNAP parameter file described below. -The bispectrum calculation is described in more detail -in "compute sna/atom"_compute_sna_atom.html. - -Note that unlike for other potentials, cutoffs for SNAP potentials are -not set in the pair_style or pair_coeff command; they are specified in -the SNAP potential files themselves. - -Only a single pair_coeff command is used with the {snap} style which -specifies a SNAP coefficient file followed by a SNAP parameter file -and then N additional arguments specifying the mapping of SNAP -elements to LAMMPS atom types, where N is the number of -LAMMPS atom types: - -SNAP coefficient file -SNAP parameter file -N element names = mapping of SNAP elements to atom types :ul - -As an example, if a LAMMPS indium phosphide simulation has 4 atoms -types, with the first two being indium and the 3rd and 4th being -phophorous, the pair_coeff command would look like this: - -pair_coeff * * snap InP.snapcoeff InP.snapparam In In P P :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The two filenames are for the coefficient and parameter files, respectively. -The two trailing 'In' arguments map LAMMPS atom types 1 and 2 to the -SNAP 'In' element. The two trailing 'P' arguments map LAMMPS atom types -3 and 4 to the SNAP 'P' element. - -If a SNAP mapping value is -specified as NULL, the mapping is not performed. -This can be used when a {snap} potential is used as part of the -{hybrid} pair style. The NULL values are placeholders for atom types -that will be used with other potentials. - -The name of the SNAP coefficient file usually ends in the -".snapcoeff" extension. It may contain coefficients -for many SNAP elements. The only requirement is that it -contain at least those element names appearing in the -LAMMPS mapping list. -The name of the SNAP parameter file usually ends in the ".snapparam" -extension. It contains a small number -of parameters that define the overall form of the SNAP potential. -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for these files. - -Quite commonly, -SNAP potentials are combined with one or more other LAMMPS pair styles -using the {hybrid/overlay} pair style. As an example, the SNAP -tantalum potential provided in the LAMMPS potentials directory -combines the {snap} and {zbl} pair styles. It is invoked -by the following commands: - - variable zblcutinner equal 4 - variable zblcutouter equal 4.8 - variable zblz equal 73 - pair_style hybrid/overlay & - zbl $\{zblcutinner\} $\{zblcutouter\} snap - pair_coeff * * zbl 0.0 - pair_coeff 1 1 zbl $\{zblz\} - pair_coeff * * snap Ta06A.snapcoeff Ta06A.snapparam Ta :pre - -It is convenient to keep these commands in a separate file that can -be inserted in any LAMMPS input script using the "include"_include.html -command. - -The top of the SNAP coefficient file can contain any number of blank and comment lines (start with #), but follows a strict -format after that. The first non-blank non-comment -line must contain two integers: - -nelem = Number of elements -ncoeff = Number of coefficients :ul - -This is followed by one block for each of the {nelem} elements. -The first line of each block contains three entries: - -Element symbol (text string) -R = Element radius (distance units) -w = Element weight (dimensionless) :ul - -This line is followed by {ncoeff} coefficients, one per line. - -The SNAP parameter file can contain blank and comment lines (start -with #) anywhere. Each non-blank non-comment line must contain one -keyword/value pair. The required keywords are {rcutfac} and -{twojmax}. Optional keywords are {rfac0}, {rmin0}, -{switchflag}, and {bzeroflag}. - -The default values for these keywords are - -{rfac0} = 0.99363 -{rmin0} = 0.0 -{switchflag} = 0 -{bzeroflag} = 1 -{quadraticflag} = 1 :ul - -Detailed definitions for all the keywords are given on the "compute -sna/atom"_compute_sna_atom.html doc page. -If {quadraticflag} is set to 1, then the SNAP energy expression includes the quadratic term, -0.5*B^t.alpha.B, where alpha is a symmetric {K} by {K} matrix. -The SNAP element file should contain {K}({K}+1)/2 additional coefficients -for each element, the upper-triangular elements of alpha. - -NOTE: The previously used {diagonalstyle} keyword was removed in 2019, -since all known SNAP potentials use the default value of 3. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, where types I and J correspond to -two different element types, mixing is performed by LAMMPS with -user-specifiable parameters as described above. You never need to -specify a pair_coeff command with I != J arguments for this style. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page 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 LAMMPS -was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"compute sna/atom"_compute_sna_atom.html, -"compute snad/atom"_compute_sna_atom.html, -"compute snav/atom"_compute_sna_atom.html - -[Default:] none - -:line - -:link(Thompson20142) -[(Thompson)] Thompson, Swiler, Trott, Foiles, Tucker, J Comp Phys, 285, 316 (2015). - -:link(Bartok20102) -[(Bartok2010)] Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). - -:link(Bartok2013) -[(Bartok2013)] Bartok, Gillan, Manby, Csanyi, Phys Rev B 87, 184115 (2013). diff --git a/doc/txt/pair_soft.txt b/doc/txt/pair_soft.txt deleted file mode 100644 index ca0266f34a7842c8f273a076f087ce442a6b92d0..0000000000000000000000000000000000000000 --- a/doc/txt/pair_soft.txt +++ /dev/null @@ -1,135 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style soft command :h3 -pair_style soft/gpu command :h3 -pair_style soft/omp command :h3 - -[Syntax:] - -pair_style soft cutoff :pre - -cutoff = global cutoff for soft interactions (distance units) :ul - -[Examples:] - -pair_style soft 1.0 -pair_coeff * * 10.0 -pair_coeff 1 1 10.0 3.0 :pre - -pair_style soft 1.0 -pair_coeff * * 0.0 -variable prefactor equal ramp(0,30) -fix 1 all adapt 1 pair soft a * * v_prefactor :pre - -[Description:] - -Style {soft} computes pairwise interactions with the formula - -:c,image(Eqs/pair_soft.jpg) - -It is useful for pushing apart overlapping atoms, since it does not -blow up as r goes to 0. A is a pre-factor that can be made to vary in -time from the start to the end of the run (see discussion below), -e.g. to start with a very soft potential and slowly harden the -interactions over time. Rc is the cutoff. See the "fix -nve/limit"_fix_nve_limit.html command for another way to push apart -overlapping atoms. - -The following coefficients must be defined for each pair of atom types -via the "pair_coeff"_pair_coeff.html command as in the examples above, -or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -A (energy units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global soft -cutoff is used. - -NOTE: The syntax for "pair_coeff"_pair_coeff.html with a single A -coeff is different in the current version of LAMMPS than in older -versions which took two values, Astart and Astop, to ramp between -them. This functionality is now available in a more general form -through the "fix adapt"_fix_adapt.html command, as explained below. -Note that if you use an old input script and specify Astart and Astop -without a cutoff, then LAMMPS will interpret that as A and a cutoff, -which is probably not what you want. - -The "fix adapt"_fix_adapt.html command can be used to vary A for one -or more pair types over the course of a simulation, in which case -pair_coeff settings for A must still be specified, but will be -overridden. For example these commands will vary the prefactor A for -all pairwise interactions from 0.0 at the beginning to 30.0 at the end -of a run: - -variable prefactor equal ramp(0,30) -fix 1 all adapt 1 pair soft a * * v_prefactor :pre - -Note that a formula defined by an "equal-style variable"_variable.html -can use the current timestep, elapsed time in the current run, elapsed -time since the beginning of a series of runs, as well as access other -variables. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the A coefficient and cutoff -distance for this pair style can be mixed. A is always mixed via a -{geometric} rule. The cutoff is mixed according to the pair_modify -mix value. The default mix value is {geometric}. See the -"pair_modify" command for details. - -This pair style does not support the "pair_modify"_pair_modify.html -shift option, since the pair interaction goes to 0.0 at the cutoff. - -The "pair_modify"_pair_modify.html table and tail options are not -relevant for this pair style. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix nve/limit"_fix_nve_limit.html, "fix -adapt"_fix_adapt.html - -[Default:] none diff --git a/doc/txt/pair_sph_heatconduction.txt b/doc/txt/pair_sph_heatconduction.txt deleted file mode 100644 index 78a9cf2b63bc7906d737f0c81f78759082c0bea2..0000000000000000000000000000000000000000 --- a/doc/txt/pair_sph_heatconduction.txt +++ /dev/null @@ -1,63 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style sph/heatconduction command :h3 - -[Syntax:] - -pair_style sph/heatconduction :pre - -[Examples:] - -pair_style sph/heatconduction -pair_coeff * * 1.0 2.4 :pre - -[Description:] - -The sph/heatconduction style computes heat transport between SPH particles. -The transport model is the diffusion equation for the internal energy. - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -D diffusion coefficient (length^2/time units) -h kernel function cutoff (distance units) :ul - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -This style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This style does not write information to "binary restart -files"_restart.html. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. - -This style can only be used via the {pair} keyword of the "run_style -respa"_run_style.html command. It does not support the {inner}, -{middle}, {outer} keywords. - -[Restrictions:] - -This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, pair_sph/rhosum - -[Default:] none diff --git a/doc/txt/pair_sph_idealgas.txt b/doc/txt/pair_sph_idealgas.txt deleted file mode 100644 index 59513e7a7370845c3e3dd43f81cd4b90d5627a7d..0000000000000000000000000000000000000000 --- a/doc/txt/pair_sph_idealgas.txt +++ /dev/null @@ -1,77 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style sph/idealgas command :h3 - -[Syntax:] - -pair_style sph/idealgas :pre - -[Examples:] - -pair_style sph/idealgas -pair_coeff * * 1.0 2.4 :pre - -[Description:] - -The sph/idealgas style computes pressure forces between particles -according to the ideal gas equation of state: - -:c,image(Eqs/pair_sph_ideal.jpg) - -where gamma = 1.4 is the heat capacity ratio, rho is the local -density, and e is the internal energy per unit mass. This pair style -also computes Monaghan's artificial viscosity to prevent particles -from interpenetrating "(Monaghan)"_#ideal-Monoghan. - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -nu artificial viscosity (no units) -h kernel function cutoff (distance units) :ul - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -This style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This style does not write information to "binary restart -files"_restart.html. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. - -This style can only be used via the {pair} keyword of the "run_style -respa"_run_style.html command. It does not support the {inner}, -{middle}, {outer} keywords. - -[Restrictions:] - -This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, pair_sph/rhosum - -[Default:] none - -:line - -:link(ideal-Monoghan) -[(Monaghan)] Monaghan and Gingold, Journal of Computational Physics, -52, 374-389 (1983). - diff --git a/doc/txt/pair_sph_lj.txt b/doc/txt/pair_sph_lj.txt deleted file mode 100644 index 43e77f1aae2d8cfbecd4539ce1b0b7ce35183937..0000000000000000000000000000000000000000 --- a/doc/txt/pair_sph_lj.txt +++ /dev/null @@ -1,79 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style sph/lj command :h3 - -[Syntax:] - -pair_style sph/lj :pre - -[Examples:] - -pair_style sph/lj -pair_coeff * * 1.0 2.4 :pre - -[Description:] - -The sph/lj style computes pressure forces between particles according -to the Lennard-Jones equation of state, which is computed according to -Ree's 1980 polynomial fit "(Ree)"_#Ree. The Lennard-Jones parameters -epsilon and sigma are set to unity. This pair style also computes -Monaghan's artificial viscosity to prevent particles from -interpenetrating "(Monaghan)"_#Monoghan. - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -nu artificial viscosity (no units) -h kernel function cutoff (distance units) :ul - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -This style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This style does not write information to "binary restart -files"_restart.html. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. - -This style can only be used via the {pair} keyword of the "run_style -respa"_run_style.html command. It does not support the {inner}, -{middle}, {outer} keywords. - -[Restrictions:] - -As noted above, the Lennard-Jones parameters epsilon and sigma are set -to unity. - -This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, pair_sph/rhosum - -[Default:] none - -:line - -:link(Ree) -[(Ree)] Ree, Journal of Chemical Physics, 73, 5401 (1980). - -:link(Monoghan) -[(Monaghan)] Monaghan and Gingold, Journal of Computational Physics, -52, 374-389 (1983). diff --git a/doc/txt/pair_sph_rhosum.txt b/doc/txt/pair_sph_rhosum.txt deleted file mode 100644 index 9069176f29388ea1a0a1f2e3b24283d183f91214..0000000000000000000000000000000000000000 --- a/doc/txt/pair_sph_rhosum.txt +++ /dev/null @@ -1,64 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style sph/rhosum command :h3 - -[Syntax:] - -pair_style sph/rhosum Nstep :pre - -Nstep = timestep interval :ul - -[Examples:] - -pair_style sph/rhosum 10 -pair_coeff * * 2.4 :pre - -[Description:] - -The sph/rhosum style computes the local particle mass density rho for -SPH particles by kernel function interpolation, every Nstep timesteps. - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -h (distance units) :ul - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -This style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This style does not write information to "binary restart -files"_restart.html. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. - -This style can only be used via the {pair} keyword of the "run_style -respa"_run_style.html command. It does not support the {inner}, -{middle}, {outer} keywords. - -[Restrictions:] - -This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, pair_sph/taitwater - -[Default:] none diff --git a/doc/txt/pair_sph_taitwater.txt b/doc/txt/pair_sph_taitwater.txt deleted file mode 100644 index dcb9e39603ff0440d2beb97dafb847f4320df47f..0000000000000000000000000000000000000000 --- a/doc/txt/pair_sph_taitwater.txt +++ /dev/null @@ -1,79 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style sph/taitwater command :h3 - -[Syntax:] - -pair_style sph/taitwater :pre - -[Examples:] - -pair_style sph/taitwater -pair_coeff * * 1000.0 1430.0 1.0 2.4 :pre - -[Description:] - -The sph/taitwater style computes pressure forces between SPH particles -according to Tait's equation of state: - -:c,image(Eqs/pair_sph_tait.jpg) - -where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the -reference density and c_0 the reference speed of sound. - -This pair style also computes Monaghan's artificial viscosity to -prevent particles from interpenetrating "(Monaghan)"_#Monaghan. - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -rho0 reference density (mass/volume units) -c0 reference soundspeed (distance/time units) -nu artificial viscosity (no units) -h kernel function cutoff (distance units) :ul - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -This style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This style does not write information to "binary restart -files"_restart.html. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. - -This style can only be used via the {pair} keyword of the "run_style -respa"_run_style.html command. It does not support the {inner}, -{middle}, {outer} keywords. - -[Restrictions:] - -This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, pair_sph/rhosum - -[Default:] none - -:line - -:link(Monaghan) -[(Monaghan)] Monaghan and Gingold, Journal of Computational Physics, -52, 374-389 (1983). diff --git a/doc/txt/pair_sph_taitwater_morris.txt b/doc/txt/pair_sph_taitwater_morris.txt deleted file mode 100644 index b88707d1afa1e43a3fc2885993db6d544b86391b..0000000000000000000000000000000000000000 --- a/doc/txt/pair_sph_taitwater_morris.txt +++ /dev/null @@ -1,79 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style sph/taitwater/morris command :h3 - -[Syntax:] - -pair_style sph/taitwater/morris :pre - -[Examples:] - -pair_style sph/taitwater/morris -pair_coeff * * 1000.0 1430.0 1.0 2.4 :pre - -[Description:] - -The sph/taitwater/morris style computes pressure forces between SPH -particles according to Tait's equation of state: - -:c,image(Eqs/pair_sph_tait.jpg) - -where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the -reference density and c_0 the reference speed of sound. - -This pair style also computes laminar viscosity "(Morris)"_#Morris. - -See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to using SPH in -LAMMPS. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -rho0 reference density (mass/volume units) -c0 reference soundspeed (distance/time units) -nu dynamic viscosity (mass*distance/time units) -h kernel function cutoff (distance units) :ul - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -This style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This style does not write information to "binary restart -files"_restart.html. Thus, you need to re-specify the pair_style and -pair_coeff commands in an input script that reads a restart file. - -This style can only be used via the {pair} keyword of the "run_style -respa"_run_style.html command. It does not support the {inner}, -{middle}, {outer} keywords. - -[Restrictions:] - -This pair style is part of the USER-SPH package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, pair_sph/rhosum - -[Default:] none - -:line - -:link(Morris) -[(Morris)] Morris, Fox, Zhu, J Comp Physics, 136, 214-226 (1997). - - diff --git a/doc/txt/pair_spin_dipole.txt b/doc/txt/pair_spin_dipole.txt deleted file mode 100644 index 36bcd25d5ee2a136be99274b088936ed436a2e12..0000000000000000000000000000000000000000 --- a/doc/txt/pair_spin_dipole.txt +++ /dev/null @@ -1,82 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style spin/dipole/cut command :h3 -pair_style spin/dipole/long command :h3 - -[Syntax:] - -pair_style spin/dipole/cut cutoff -pair_style spin/dipole/long cutoff :pre - -cutoff = global cutoff for magnetic dipole energy and forces -(optional) (distance units) :ulb,l -:ule - -[Examples:] - -pair_style spin/dipole/cut 10.0 -pair_coeff * * 10.0 -pair_coeff 2 3 8.0 :pre - -pair_style spin/dipole/long 9.0 -pair_coeff * * 10.0 -pair_coeff 2 3 6.0 :pre - -[Description:] - -Style {spin/dipole/cut} computes a short-range dipole-dipole -interaction between pairs of magnetic particles that each -have a magnetic spin. -The magnetic dipole-dipole interactions are computed by the -following formulas for the magnetic energy, magnetic precession -vector omega and mechanical force between particles I and J. - -:c,image(Eqs/pair_spin_dipole.jpg) - -where si and sj are the spin on two magnetic particles, -r is their separation distance, and the vector e = (Ri - Rj)/|Ri - Rj| -is the direction vector between the two particles. - -Style {spin/dipole/long} computes long-range magnetic dipole-dipole -interaction. -A "kspace_style"_kspace_style.html must be defined to -use this pair style. Currently, "kspace_style -ewald/dipole/spin"_kspace_style.html and "kspace_style -pppm/dipole/spin"_kspace_style.html support long-range magnetic -dipole-dipole interactions. - -:line - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -[Restrictions:] - -The {spin/dipole/cut} and {spin/dipole/long} styles are part of -the SPIN package. They are only enabled if LAMMPS was built with that -package. See the "Build package"_Build_package.html doc page for more -info. - -Using dipole/spin pair styles with {electron} "units"_units.html is not -currently supported. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "kspace_style"_kspace_style.html -"fix nve/spin"_fix_nve_spin.html - -[Default:] none diff --git a/doc/txt/pair_spin_dmi.txt b/doc/txt/pair_spin_dmi.txt deleted file mode 100644 index cca20d1136870df6b882da9c4145b32c0352d230..0000000000000000000000000000000000000000 --- a/doc/txt/pair_spin_dmi.txt +++ /dev/null @@ -1,91 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style spin/dmi command :h3 - -[Syntax:] - -pair_style spin/dmi cutoff :pre - -cutoff = global cutoff pair (distance in metal units) :ulb,l - -:ule - -[Examples:] - -pair_style spin/dmi 4.0 -pair_coeff * * dmi 2.6 0.001 1.0 0.0 0.0 -pair_coeff 1 2 dmi 4.0 0.00109 0.0 0.0 1.0 :pre - -[Description:] - -Style {spin/dmi} computes the Dzyaloshinskii-Moriya (DM) interaction -between pairs of magnetic spins. -According to the expression reported in "(Rohart)"_#Rohart, one has -the following DM energy: - -:c,image(Eqs/pair_spin_dmi_interaction.jpg) - -where si and sj are two neighboring magnetic spins of two particles, -eij = (ri - rj)/|ri-rj| is the unit vector between sites i and j, -and D is the DM vector defining the intensity (in eV) and the direction -of the interaction. - -In "(Rohart)"_#Rohart, D is defined as the direction normal to the film oriented -from the high spin-orbit layer to the magnetic ultra-thin film. - -The application of a spin-lattice Poisson bracket to this energy (as described -in "(Tranchida)"_#Tranchida5) allows to derive a magnetic torque omega, and a -mechanical force F (for spin-lattice calculations only) for each magnetic -particle i: - -:c,image(Eqs/pair_spin_dmi_forces.jpg) - -More details about the derivation of these torques/forces are reported in -"(Tranchida)"_#Tranchida5. - -For the {spin/dmi} pair style, the following coefficients must be defined for -each pair of atoms types via the "pair_coeff"_pair_coeff.html command as in -the examples above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html commands, and -set in the following order: - -rc (distance units) -|D| (energy units) -Dx, Dy, Dz (direction of D) :ul - -Note that rc is the radius cutoff of the considered DM interaction, |D| is -the norm of the DM vector (in eV), and Dx, Dy and Dz define its direction. - -None of those coefficients is optional. If not specified, the {spin/dmi} -pair style cannot be used. - -:line - -[Restrictions:] - -All the {pair/spin} styles are part of the SPIN package. These styles -are only enabled if LAMMPS was built with this package, and if the -atom_style "spin" was declared. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html, -"pair_eam"_pair_eam.html, - -[Default:] none - -:line - -:link(Rohart) -[(Rohart)] Rohart and Thiaville, -Physical Review B, 88(18), 184422. (2013). -:link(Tranchida5) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau and Thompson, -Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/txt/pair_spin_magelec.txt b/doc/txt/pair_spin_magelec.txt deleted file mode 100644 index 206da4bb514b26f471bcdb9e1ddd11aefc81bf0d..0000000000000000000000000000000000000000 --- a/doc/txt/pair_spin_magelec.txt +++ /dev/null @@ -1,73 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style spin/magelec command :h3 - -[Syntax:] - -pair_style spin/magelec cutoff :pre - -cutoff = global cutoff pair (distance in metal units) :ulb,l - -:ule - -[Examples:] - -pair_style spin/magelec 4.5 -pair_coeff * * magelec 4.5 0.00109 1.0 1.0 1.0 :pre - -[Description:] - -Style {spin/me} computes a magneto-electric interaction between -pairs of magnetic spins. According to the derivation reported in -"(Katsura)"_#Katsura1, this interaction is defined as: - -:c,image(Eqs/pair_spin_me_interaction.jpg) - -where si and sj are neighboring magnetic spins of two particles, -eij = (ri - rj)/|ri-rj| is the normalized separation vector between the -two particles, and E is an electric polarization vector. -The norm and direction of E are giving the intensity and the -direction of a screened dielectric atomic polarization (in eV). - -From this magneto-electric interaction, each spin i will be submitted -to a magnetic torque omega, and its associated atom can be submitted to a -force F for spin-lattice calculations (see "fix_nve_spin"_fix_nve_spin.html), -such as: - -:c,image(Eqs/pair_spin_me_forces.jpg) - -with h the Planck constant (in metal units). - -More details about the derivation of these torques/forces are reported in -"(Tranchida)"_#Tranchida4. - -:line - -[Restrictions:] - -All the {pair/spin} styles are part of the SPIN package. These styles -are only enabled if LAMMPS was built with this package, and if the -atom_style "spin" was declared. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"atom_style spin"_atom_style.html, "pair_coeff"_pair_coeff.html, -"pair_spin_exchange"_pair_spin_exchange.html, "pair_eam"_pair_eam.html, - -[Default:] none - -:line - -:link(Katsura1) -[(Katsura)] H. Katsura, N. Nagaosa, A.V. Balatsky. Phys. Rev. Lett., 95(5), 057205. (2005) - -:link(Tranchida4) -[(Tranchida)] Tranchida, Plimpton, Thibaudeau, and Thompson, -Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/txt/pair_srp.txt b/doc/txt/pair_srp.txt deleted file mode 100644 index e784ac3d17d5f8fc0415003a6a084560d3a6a3c3..0000000000000000000000000000000000000000 --- a/doc/txt/pair_srp.txt +++ /dev/null @@ -1,168 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style srp command :h3 - -[Syntax:] - -pair_style srp cutoff btype dist keyword value ... - -cutoff = global cutoff for SRP interactions (distance units) :ulb,l -btype = bond type to apply SRP interactions to (can be wildcard, see below) :l -distance = {min} or {mid} :l -zero or more keyword/value pairs may be appended :l -keyword = {exclude} :l - {bptype} value = atom type for bond particles - {exclude} value = {yes} or {no} :pre -:ule - -[Examples:] - -pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 1 mid exclude yes -pair_coeff 1 1 dpd 60.0 4.5 1.0 -pair_coeff 1 2 none -pair_coeff 2 2 srp 100.0 0.8 :pre - -pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 * min exclude yes -pair_coeff 1 1 dpd 60.0 50 1.0 -pair_coeff 1 2 none -pair_coeff 2 2 srp 40.0 :pre - -pair_style hybrid srp 0.8 2 mid -pair_coeff 1 1 none -pair_coeff 1 2 none -pair_coeff 2 2 srp 100.0 0.8 :pre - -[Description:] - -Style {srp} computes a soft segmental repulsive potential (SRP) that -acts between pairs of bonds. This potential is useful for preventing -bonds from passing through one another when a soft non-bonded -potential acts between beads in, for example, DPD polymer chains. An -example input script that uses this command is provided in -examples/USER/srp. - -Bonds of specified type {btype} interact with one another through a -bond-pairwise potential, such that the force on bond {i} due to bond -{j} is as follows - -:c,image(Eqs/pair_srp1.jpg) - -where {r} and {rij} are the distance and unit vector between the two -bonds. Note that {btype} can be specified as an asterisk "*", which -case the interaction is applied to all bond types. The {mid} option -computes {r} and {rij} from the midpoint distance between bonds. The -{min} option computes {r} and {rij} from the minimum distance between -bonds. The force acting on a bond is mapped onto the two bond atoms -according to the lever rule, - -:c,image(Eqs/pair_srp2.jpg) - -where {L} is the normalized distance from the atom to the point of -closest approach of bond {i} and {j}. The {mid} option takes {L} as -0.5 for each interaction as described in "(Sirk)"_#Sirk2. - -The following coefficients must be defined via the -"pair_coeff"_pair_coeff.html command as in the examples above, or in -the data file or restart file read by the "read_data"_read_data.html -or "read_restart"_read_restart.html commands: - -{C} (force units) -{rc} (distance units) :ul - -The last coefficient is optional. If not specified, the global cutoff -is used. - -NOTE: Pair style srp considers each bond of type {btype} to be a -fictitious "particle" of type {bptype}, where {bptype} is either the -largest atom type in the system, or the type set by the {bptype} flag. -Any actual existing particles with this atom type will be deleted at -the beginning of a run. This means you must specify the number of -types in your system accordingly; usually to be one larger than what -would normally be the case, e.g. via the "create_box"_create_box.html -or by changing the header in your "data file"_read_data.html. The -fictitious "bond particles" are inserted at the beginning of the run, -and serve as placeholders that define the position of the bonds. This -allows neighbor lists to be constructed and pairwise interactions to -be computed in almost the same way as is done for actual particles. -Because bonds interact only with other bonds, "pair_style -hybrid"_pair_hybrid.html should be used to turn off interactions -between atom type {bptype} and all other types of atoms. An error -will be flagged if "pair_style hybrid"_pair_hybrid.html is not used. - -The optional {exclude} keyword determines if forces are computed -between first neighbor (directly connected) bonds. For a setting of -{no}, first neighbor forces are computed; for {yes} they are not -computed. A setting of {no} cannot be used with the {min} option for -distance calculation because the minimum distance between directly -connected bonds is zero. - -Pair style {srp} turns off normalization of thermodynamic properties -by particle number, as if the command "thermo_modify norm -no"_thermo_modify.html had been issued. - -The pairwise energy associated with style {srp} is shifted to be zero -at the cutoff distance {rc}. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair styles does not support mixing. - -This pair style does not support the "pair_modify"_pair_modify.html -shift option for the energy of the pair interaction. Note that as -discussed above, the energy term is already shifted to be 0.0 at the -cutoff distance {rc}. - -The "pair_modify"_pair_modify.html table option is not relevant for -this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes global and per-atom information to "binary -restart files"_restart.html. Pair srp should be used with "pair_style -hybrid"_pair_hybrid.html, thus the pair_coeff commands need to be -specified in the input script when reading a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the USER-MISC package. It is only enabled -if LAMMPS was built with that package. See the Making LAMMPS section -for more info. - -This pair style must be used with "pair_style -hybrid"_pair_hybrid.html. - -This pair style requires the "newton"_newton.html command to be {on} -for non-bonded interactions. - -This pair style is not compatible with "rigid body integrators"_fix_rigid.html - -[Related commands:] - -"pair_style hybrid"_pair_hybrid.html, "pair_coeff"_pair_coeff.html, -"pair dpd"_pair_dpd.html - -[Default:] - -The default keyword value is exclude = yes. - -:line - -:link(Sirk2) -[(Sirk)] Sirk TW, Sliozberg YR, Brennan JK, Lisal M, Andzelm JW, J -Chem Phys, 136 (13) 134903, 2012. diff --git a/doc/txt/pair_sw.txt b/doc/txt/pair_sw.txt deleted file mode 100644 index 33c3892c62b43e5a9e150db7cee2304130e2b7c2..0000000000000000000000000000000000000000 --- a/doc/txt/pair_sw.txt +++ /dev/null @@ -1,215 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style sw command :h3 -pair_style sw/gpu command :h3 -pair_style sw/intel command :h3 -pair_style sw/kk command :h3 -pair_style sw/omp command :h3 - -[Syntax:] - -pair_style sw :pre - -[Examples:] - -pair_style sw -pair_coeff * * si.sw Si -pair_coeff * * GaN.sw Ga N Ga :pre - -[Description:] - -The {sw} style computes a 3-body "Stillinger-Weber"_#Stillinger2 -potential for the energy E of a system of atoms as - -:c,image(Eqs/pair_sw.jpg) - -where phi2 is a two-body term and phi3 is a three-body term. The -summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = a*sigma. - -Only a single pair_coeff command is used with the {sw} style which -specifies a Stillinger-Weber potential file with parameters for all -needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of SW elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, imagine a file SiC.sw has Stillinger-Weber values for -Si and C. If your LAMMPS simulation has 4 atoms types and you want -the 1st 3 to be Si, and the 4th to be C, you would use the following -pair_coeff command: - -pair_coeff * * SiC.sw Si Si Si C :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The first three Si arguments map LAMMPS atom types 1,2,3 to the Si -element in the SW file. The final C argument maps LAMMPS atom type 4 -to the C element in the SW file. If a mapping value is specified as -NULL, the mapping is not performed. This can be used when a {sw} -potential is used as part of the {hybrid} pair style. The NULL values -are placeholders for atom types that will be used with other -potentials. - -Stillinger-Weber files in the {potentials} directory of the LAMMPS -distribution have a ".sw" suffix. Lines that are not blank or -comments (starting with #) define parameters for a triplet of -elements. The parameters in a single entry correspond to the two-body -and three-body coefficients in the formula above: - -element 1 (the center atom in a 3-body interaction) -element 2 -element 3 -epsilon (energy units) -sigma (distance units) -a -lambda -gamma -costheta0 -A -B -p -q -tol :ul - -The A, B, p, and q parameters are used only for two-body -interactions. The lambda and costheta0 parameters are used only for -three-body interactions. The epsilon, sigma and a parameters are used -for both two-body and three-body interactions. gamma is used only in the -three-body interactions, but is defined for pairs of atoms. -The non-annotated parameters are unitless. - -LAMMPS introduces an additional performance-optimization parameter tol -that is used for both two-body and three-body interactions. In the -Stillinger-Weber potential, the interaction energies become negligibly -small at atomic separations substantially less than the theoretical -cutoff distances. LAMMPS therefore defines a virtual cutoff distance -based on a user defined tolerance tol. The use of the virtual cutoff -distance in constructing atom neighbor lists can significantly reduce -the neighbor list sizes and therefore the computational cost. LAMMPS -provides a {tol} value for each of the three-body entries so that they -can be separately controlled. If tol = 0.0, then the standard -Stillinger-Weber cutoff is used. - -The Stillinger-Weber potential file must contain entries for all the -elements listed in the pair_coeff command. It can also contain -entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries. - -For a single-element simulation, only a single entry is required -(e.g. SiSiSi). For a two-element simulation, the file must contain 8 -entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that -specify SW parameters for all permutations of the two elements -interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc. - -As annotated above, the first element in the entry is the center atom -in a three-body interaction. Thus an entry for SiCC means a Si atom -with 2 C atoms as neighbors. The parameter values used for the -two-body interaction come from the entry where the 2nd and 3rd -elements are the same. Thus the two-body parameters for Si -interacting with C, comes from the SiCC entry. The three-body -parameters can in principle be specific to the three elements of the -configuration. In the literature, however, the three-body parameters -are usually defined by simple formulas involving two sets of pair-wise -parameters, corresponding to the ij and ik pairs, where i is the -center atom. The user must ensure that the correct combining rule is -used to calculate the values of the three-body parameters for -alloys. Note also that the function phi3 contains two exponential -screening factors with parameter values from the ij pair and ik -pairs. So phi3 for a C atom bonded to a Si atom and a second C atom -will depend on the three-body parameters for the CSiC entry, and also -on the two-body parameters for the CCC and CSiSi entries. Since the -order of the two neighbors is arbitrary, the three-body parameters for -entries CSiC and CCSi should be the same. Similarly, the two-body -parameters for entries SiCC and CSiSi should also be the same. The -parameters used only for two-body interactions (A, B, p, and q) in -entries whose 2nd and 3rd element are different (e.g. SiCSi) are not -used for anything and can be set to 0.0 if desired. -This is also true for the parameters in phi3 that are -taken from the ij and ik pairs (sigma, a, gamma) - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -When using the USER-INTEL package with this style, there is an -additional 5 to 10 percent performance improvement when the -Stillinger-Weber parameters p and q are set to 4 and 0 respectively. -These parameters are common for modeling silicon and water. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, where types I and J correspond to -two different element types, mixing is performed by LAMMPS as -described above from values in the potential file. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -The Stillinger-Weber potential files provided with LAMMPS (see the -potentials directory) are parameterized for metal "units"_units.html. -You can use the SW potential with any LAMMPS units, but you would need -to create your own SW potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Stillinger2) -[(Stillinger)] Stillinger and Weber, Phys Rev B, 31, 5262 (1985). diff --git a/doc/txt/pair_table.txt b/doc/txt/pair_table.txt deleted file mode 100644 index 22c63a1f32b2d347884218f4cb449f95beb7e219..0000000000000000000000000000000000000000 --- a/doc/txt/pair_table.txt +++ /dev/null @@ -1,271 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style table command :h3 -pair_style table/gpu command :h3 -pair_style table/kk command :h3 -pair_style table/omp command :h3 - -[Syntax:] - -pair_style table style N keyword ... :pre - -style = {lookup} or {linear} or {spline} or {bitmap} = method of interpolation -N = use N values in {lookup}, {linear}, {spline} tables -N = use 2^N values in {bitmap} tables -zero or more keywords may be appended -keyword = {ewald} or {pppm} or {msm} or {dispersion} or {tip4p} :ul - -[Examples:] - -pair_style table linear 1000 -pair_style table linear 1000 pppm -pair_style table bitmap 12 -pair_coeff * 3 morse.table ENTRY1 -pair_coeff * 3 morse.table ENTRY1 7.0 :pre - -[Description:] - -Style {table} creates interpolation tables from potential energy and -force values listed in a file(s) as a function of distance. When -performing dynamics or minimization, the interpolation tables are used -to evaluate energy and forces for pairwise interactions between -particles, similar to how analytic formulas are used for other pair -styles. - -The interpolation tables are created as a pre-computation by fitting -cubic splines to the file values and interpolating energy and force -values at each of {N} distances. During a simulation, the tables are -used to interpolate energy and force values as needed for each pair of -particles separated by a distance {R}. The interpolation is done in -one of 4 styles: {lookup}, {linear}, {spline}, or {bitmap}. - -For the {lookup} style, the distance {R} is used to find the nearest -table entry, which is the energy or force. - -For the {linear} style, the distance {R} is used to find the 2 -surrounding table values from which an energy or force is computed by -linear interpolation. - -For the {spline} style, a cubic spline coefficients are computed and -stored for each of the {N} values in the table, one set of splines for -energy, another for force. Note that these splines are different than -the ones used to pre-compute the {N} values. Those splines were fit -to the {Nfile} values in the tabulated file, where often {Nfile} < -{N}. The distance {R} is used to find the appropriate set of spline -coefficients which are used to evaluate a cubic polynomial which -computes the energy or force. - -For the {bitmap} style, the specified {N} is used to create -interpolation tables that are 2^N in length. The distance {R} is used -to index into the table via a fast bit-mapping technique due to -"(Wolff)"_#Wolff2, and a linear interpolation is performed between -adjacent table values. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -filename -keyword -cutoff (distance units) :ul - -The filename specifies a file containing tabulated energy and force -values. The keyword specifies a section of the file. The cutoff is -an optional coefficient. If not specified, the outer cutoff in the -table itself (see below) will be used to build an interpolation table -that extend to the largest tabulated distance. If specified, only -file values up to the cutoff are used to create the interpolation -table. The format of this file is described below. - -If your tabulated potential(s) are designed to be used as the -short-range part of one of the long-range solvers specified by the -"kspace_style"_kspace_style.html command, then you must use one or -more of the optional keywords listed above for the pair_style command. -These are {ewald} or {pppm} or {msm} or {dispersion} or {tip4p}. This -is so LAMMPS can insure the short-range potential and long-range -solver are compatible with each other, as it does for other -short-range pair styles, such as "pair_style -lj/cut/coul/long"_pair_lj.html. Note that it is up to you to insure -the tabulated values for each pair of atom types has the correct -functional form to be compatible with the matching long-range solver. - -:line - -Here are some guidelines for using the pair_style table command to -best effect: - -Vary the number of table points; you may need to use more than you think -to get good resolution. :ulb,l - -Always use the "pair_write"_pair_write.html command to produce a plot -of what the final interpolated potential looks like. This can show up -interpolation "features" you may not like. :l - -Start with the linear style; it's the style least likely to have problems. :l - -Use {N} in the pair_style command equal to the "N" in the tabulation -file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation -is not needed. See discussion below. :l - -Make sure that your tabulated forces and tabulated energies are -consistent (dE/dr = -F) over the entire range of r values. LAMMPS -will warn if this is not the case. :l - -Use as large an inner cutoff as possible. This avoids fitting splines -to very steep parts of the potential. :l -:ule - -:line - -The format of a tabulated file is a series of one or more sections, -defined as follows (without the parenthesized comments): - -# Morse potential for Fe (one or more comment or blank lines) :pre - -MORSE_FE (keyword is first text on line) -N 500 R 1.0 10.0 (N, R, RSQ, BITMAP, FPRIME parameters) - (blank) -1 1.0 25.5 102.34 (index, r, energy, force) -2 1.02 23.4 98.5 -... -500 10.0 0.001 0.003 :pre - -A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments -between sections. The first line begins with a keyword which -identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair_coeff -command. The next line lists (in any order) one or more parameters -for the table. Each parameter is a keyword followed by one or more -numeric values. - -The parameter "N" is required and its value is the number of table -entries that follow. Note that this may be different than the {N} -specified in the "pair_style table"_pair_style.html command. Let -Ntable = {N} in the pair_style command, and Nfile = "N" in the -tabulated file. What LAMMPS does is a preliminary interpolation by -creating splines using the Nfile tabulated values as nodal points. It -uses these to interpolate energy and force values at Ntable different -points. The resulting tables of length Ntable are then used as -described above, when computing energy and force for individual pair -distances. This means that if you want the interpolation tables of -length Ntable to match exactly what is in the tabulated file (with -effectively no preliminary interpolation), you should set Ntable = -Nfile, and use the "RSQ" or "BITMAP" parameter. This is because the -internal table abscissa is always RSQ (separation distance squared), -for efficient lookup. - -All other parameters are optional. If "R" or "RSQ" or "BITMAP" does -not appear, then the distances in each line of the table are used -as-is to perform spline interpolation. In this case, the table values -can be spaced in {r} uniformly or however you wish to position table -values in regions of large gradients. - -If used, the parameters "R" or "RSQ" are followed by 2 values {rlo} -and {rhi}. If specified, the distance associated with each energy and -force value is computed from these 2 values (at high accuracy), rather -than using the (low-accuracy) value listed in each line of the table. -The distance values in the table file are ignored in this case. -For "R", distances uniformly spaced between {rlo} and {rhi} are -computed; for "RSQ", squared distances uniformly spaced between -{rlo*rlo} and {rhi*rhi} are computed. - -NOTE: If you use "R" or "RSQ", the tabulated distance values in the -file are effectively ignored, and replaced by new values as described -in the previous paragraph. If the distance value in the table is not -very close to the new value (i.e. round-off difference), then you will -be assigning energy/force values to a different distance, which is -probably not what you want. LAMMPS will warn if this is occurring. - -If used, the parameter "BITMAP" is also followed by 2 values {rlo} and -{rhi}. These values, along with the "N" value determine the ordering -of the N lines that follow and what distance is associated with each. -This ordering is complex, so it is not documented here, since this -file is typically produced by the "pair_write"_pair_write.html command -with its {bitmap} option. When the table is in BITMAP format, the "N" -parameter in the file must be equal to 2^M where M is the value -specified in the pair_style command. Also, a cutoff parameter cannot -be used as an optional 3rd argument in the pair_coeff command; the -entire table extent as specified in the file must be used. - -If used, the parameter "FPRIME" is followed by 2 values {fplo} and -{fphi} which are the derivative of the force at the innermost and -outermost distances listed in the table. These values are needed by -the spline construction routines. If not specified by the "FPRIME" -parameter, they are estimated (less accurately) by the first 2 and -last 2 force values in the table. This parameter is not used by -BITMAP tables. - -Following a blank line, the next N lines list the tabulated values. -On each line, the 1st value is the index from 1 to N, the 2nd value is -r (in distance units), the 3rd value is the energy (in energy units), -and the 4th is the force (in force units). The r values must increase -from one line to the next (unless the BITMAP parameter is specified). - -Note that one file can contain many sections, each with a tabulated -potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -The "pair_modify"_pair_modify.html shift, table, and tail options are -not relevant for this pair style. - -This pair style writes the settings for the "pair_style table" command -to "binary restart files"_restart.html, so a pair_style command does -not need to specified in an input script that reads a restart file. -However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair_coeff -commands do need to be specified in the restart input script. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_write"_pair_write.html - -[Default:] none - -:line - -:link(Wolff2) -[(Wolff)] Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). diff --git a/doc/txt/pair_table_rx.txt b/doc/txt/pair_table_rx.txt deleted file mode 100644 index 9b9a6abff861daab0e499ee53e7276e138631e0e..0000000000000000000000000000000000000000 --- a/doc/txt/pair_table_rx.txt +++ /dev/null @@ -1,264 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style table/rx command :h3 -pair_style table/rx/kk command :h3 - -[Syntax:] - -pair_style table style N ... :pre - -style = {lookup} or {linear} or {spline} or {bitmap} = method of interpolation -N = use N values in {lookup}, {linear}, {spline} tables -weighting = fractional or molecular (optional) :ul - -[Examples:] - -pair_style table/rx linear 1000 -pair_style table/rx linear 1000 fractional -pair_style table/rx linear 1000 molecular -pair_coeff * * rxn.table ENTRY1 h2o h2o 10.0 -pair_coeff * * rxn.table ENTRY1 1fluid 1fluid 10.0 -pair_coeff * 3 rxn.table ENTRY1 h2o no2 10.0 :pre - -[Description:] - -Style {table/rx} is used in reaction DPD simulations,where the -coarse-grained (CG) particles are composed of {m} species whose -reaction rate kinetics are determined from a set of {n} reaction rate -equations through the "fix rx"_fix_rx.html command. The species of -one CG particle can interact with a species in a neighboring CG -particle through a site-site interaction potential model. Style -{table/rx} creates interpolation tables of length {N} from pair -potential and force values listed in a file(s) as a function of -distance. The files are read by the "pair_coeff"_pair_coeff.html -command. - -The interpolation tables are created by fitting cubic splines to the -file values and interpolating energy and force values at each of {N} -distances. During a simulation, these tables are used to interpolate -energy and force values as needed. The interpolation is done in one -of 4 styles: {lookup}, {linear}, {spline}, or {bitmap}. - -For the {lookup} style, the distance between 2 atoms is used to find -the nearest table entry, which is the energy or force. - -For the {linear} style, the pair distance is used to find 2 -surrounding table values from which an energy or force is computed by -linear interpolation. - -For the {spline} style, a cubic spline coefficients are computed and -stored at each of the {N} values in the table. The pair distance is -used to find the appropriate set of coefficients which are used to -evaluate a cubic polynomial which computes the energy or force. - -For the {bitmap} style, the N means to create interpolation tables -that are 2^N in length. The pair distance is used to index into the -table via a fast bit-mapping technique "(Wolff)"_#Wolff and a linear -interpolation is performed between adjacent table values. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above. - -filename -keyword -species1 -species2 -cutoff (distance units) :ul - -The filename specifies a file containing tabulated energy and force -values. The keyword specifies a section of the file. The cutoff is -an optional coefficient. If not specified, the outer cutoff in the -table itself (see below) will be used to build an interpolation table -that extend to the largest tabulated distance. If specified, only -file values up to the cutoff are used to create the interpolation -table. The format of this file is described below. - -The species tags define the site-site interaction potential between -two species contained within two different particles. The species -tags must either correspond to the species defined in the reaction -kinetics files specified with the "fix rx"_fix_rx.html command or they -must correspond to the tag "1fluid", signifying interaction with a -product species mixture determined through a one-fluid approximation. -The interaction potential is weighted by the geometric average of -either the mole fraction concentrations or the number of molecules -associated with the interacting coarse-grained particles (see the -{fractional} or {molecular} weighting pair style options). The coarse-grained potential is -stored before and after the reaction kinetics solver is applied, where -the difference is defined to be the internal chemical energy (uChem). - -:line - -Here are some guidelines for using the pair_style table/rx command to -best effect: - -Vary the number of table points; you may need to use more than you think -to get good resolution. :ulb,l - -Always use the "pair_write"_pair_write.html command to produce a plot -of what the final interpolated potential looks like. This can show up -interpolation "features" you may not like. :l - -Start with the linear style; it's the style least likely to have problems. :l - -Use {N} in the pair_style command equal to the "N" in the tabulation -file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation -is not needed. See discussion below. :l - -Make sure that your tabulated forces and tabulated energies are consistent -(dE/dr = -F) along the entire range of r values. :l - -Use as large an inner cutoff as possible. This avoids fitting splines -to very steep parts of the potential. :l -:ule - -:line - -The format of a tabulated file is a series of one or more sections, -defined as follows (without the parenthesized comments): - -# Morse potential for Fe (one or more comment or blank lines) :pre - -MORSE_FE (keyword is first text on line) -N 500 R 1.0 10.0 (N, R, RSQ, BITMAP, FPRIME parameters) - (blank) -1 1.0 25.5 102.34 (index, r, energy, force) -2 1.02 23.4 98.5 -... -500 10.0 0.001 0.003 :pre - -A section begins with a non-blank line whose 1st character is not a -"#"; blank lines or lines starting with "#" can be used as comments -between sections. The first line begins with a keyword which -identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair_coeff -command. The next line lists (in any order) one or more parameters -for the table. Each parameter is a keyword followed by one or more -numeric values. - -The parameter "N" is required and its value is the number of table -entries that follow. Note that this may be different than the {N} -specified in the "pair_style table/rx"_pair_style.html command. Let -Ntable = {N} in the pair_style command, and Nfile = "N" in the -tabulated file. What LAMMPS does is a preliminary interpolation by -creating splines using the Nfile tabulated values as nodal points. It -uses these to interpolate as needed to generate energy and force -values at Ntable different points. The resulting tables of length -Ntable are then used as described above, when computing energy and -force for individual pair distances. This means that if you want the -interpolation tables of length Ntable to match exactly what is in the -tabulated file (with effectively no preliminary interpolation), you -should set Ntable = Nfile, and use the "RSQ" or "BITMAP" parameter. -The internal table abscissa is RSQ (separation distance squared). - -All other parameters are optional. If "R" or "RSQ" or "BITMAP" does -not appear, then the distances in each line of the table are used -as-is to perform spline interpolation. In this case, the table values -can be spaced in {r} uniformly or however you wish to position table -values in regions of large gradients. - -If used, the parameters "R" or "RSQ" are followed by 2 values {rlo} -and {rhi}. If specified, the distance associated with each energy and -force value is computed from these 2 values (at high accuracy), rather -than using the (low-accuracy) value listed in each line of the table. -The distance values in the table file are ignored in this case. -For "R", distances uniformly spaced between {rlo} and {rhi} are -computed; for "RSQ", squared distances uniformly spaced between -{rlo*rlo} and {rhi*rhi} are computed. - -If used, the parameter "BITMAP" is also followed by 2 values {rlo} and -{rhi}. These values, along with the "N" value determine the ordering -of the N lines that follow and what distance is associated with each. -This ordering is complex, so it is not documented here, since this -file is typically produced by the "pair_write"_pair_write.html command -with its {bitmap} option. When the table is in BITMAP format, the "N" -parameter in the file must be equal to 2^M where M is the value -specified in the pair_style command. Also, a cutoff parameter cannot -be used as an optional 3rd argument in the pair_coeff command; the -entire table extent as specified in the file must be used. - -If used, the parameter "FPRIME" is followed by 2 values {fplo} and -{fphi} which are the derivative of the force at the innermost and -outermost distances listed in the table. These values are needed by -the spline construction routines. If not specified by the "FPRIME" -parameter, they are estimated (less accurately) by the first 2 and -last 2 force values in the table. This parameter is not used by -BITMAP tables. - -Following a blank line, the next N lines list the tabulated values. -On each line, the 1st value is the index from 1 to N, the 2nd value is -r (in distance units), the 3rd value is the energy (in energy units), -and the 4th is the force (in force units). The r values must increase -from one line to the next (unless the BITMAP parameter is specified). - -Note that one file can contain many sections, each with a tabulated -potential. LAMMPS reads the file section by section until it finds -one that matches the specified keyword. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. - -The "pair_modify"_pair_modify.html shift, table, and tail options are -not relevant for this pair style. - -This pair style writes the settings for the "pair_style table/rx" command -to "binary restart files"_restart.html, so a pair_style command does -not need to specified in an input script that reads a restart file. -However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair_coeff -commands do need to be specified in the restart input script. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -This command is part of the USER-DPD package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] fractional weighting - -:line - -:link(Wolff) -[(Wolff)] Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). diff --git a/doc/txt/pair_tersoff.txt b/doc/txt/pair_tersoff.txt deleted file mode 100644 index 4b7bb0d93d1fc96f6e38510a45f12c75e5d94d59..0000000000000000000000000000000000000000 --- a/doc/txt/pair_tersoff.txt +++ /dev/null @@ -1,252 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style tersoff command :h3 -pair_style tersoff/table command :h3 -pair_style tersoff/gpu command :h3 -pair_style tersoff/intel command :h3 -pair_style tersoff/kk command :h3 -pair_style tersoff/omp command :h3 -pair_style tersoff/table/omp command :h3 - -[Syntax:] - -pair_style style :pre - -style = {tersoff} or {tersoff/table} or {tersoff/gpu} or {tersoff/omp} or {tersoff/table/omp} :ul - -[Examples:] - -pair_style tersoff -pair_coeff * * Si.tersoff Si -pair_coeff * * SiC.tersoff Si C Si :pre - -pair_style tersoff/table -pair_coeff * * SiCGe.tersoff Si(D) :pre - -[Description:] - -The {tersoff} style computes a 3-body Tersoff potential -"(Tersoff_1)"_#Tersoff_11 for the energy E of a system of atoms as - -:c,image(Eqs/pair_tersoff_1.jpg) - -where f_R is a two-body term and f_A includes three-body interactions. -The summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = R + D. - -The {tersoff/table} style uses tabulated forms for the two-body, -environment and angular functions. Linear interpolation is performed -between adjacent table entries. The table length is chosen to be -accurate within 10^-6 with respect to the {tersoff} style energy. -The {tersoff/table} should give better performance in terms of speed. - -Only a single pair_coeff command is used with the {tersoff} style -which specifies a Tersoff potential file with parameters for all -needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of Tersoff elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, imagine the SiC.tersoff file has Tersoff values for Si -and C. If your LAMMPS simulation has 4 atoms types and you want the -1st 3 to be Si, and the 4th to be C, you would use the following -pair_coeff command: - -pair_coeff * * SiC.tersoff Si Si Si C :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The first three Si arguments map LAMMPS atom types 1,2,3 to the Si -element in the Tersoff file. The final C argument maps LAMMPS atom -type 4 to the C element in the Tersoff file. If a mapping value is -specified as NULL, the mapping is not performed. This can be used -when a {tersoff} potential is used as part of the {hybrid} pair style. -The NULL values are placeholders for atom types that will be used with -other potentials. - -Tersoff files in the {potentials} directory of the LAMMPS distribution -have a ".tersoff" suffix. Lines that are not blank or comments -(starting with #) define parameters for a triplet of elements. The -parameters in a single entry correspond to coefficients in the formula -above: - -element 1 (the center atom in a 3-body interaction) -element 2 (the atom bonded to the center atom) -element 3 (the atom influencing the 1-2 bond in a bond-order sense) -m -gamma -lambda3 (1/distance units) -c -d -costheta0 (can be a value < -1 or > 1) -n -beta -lambda2 (1/distance units) -B (energy units) -R (distance units) -D (distance units) -lambda1 (1/distance units) -A (energy units) :ul - -The n, beta, lambda2, B, lambda1, and A parameters are only used for -two-body interactions. The m, gamma, lambda3, c, d, and costheta0 -parameters are only used for three-body interactions. The R and D -parameters are used for both two-body and three-body interactions. The -non-annotated parameters are unitless. The value of m must be 3 or 1. - -The Tersoff potential file must contain entries for all the elements -listed in the pair_coeff command. It can also contain entries for -additional elements not being used in a particular simulation; LAMMPS -ignores those entries. - -For a single-element simulation, only a single entry is required -(e.g. SiSiSi). For a two-element simulation, the file must contain 8 -entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that -specify Tersoff parameters for all permutations of the two elements -interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc. - -As annotated above, the first element in the entry is the center atom -in a three-body interaction and it is bonded to the 2nd atom and the -bond is influenced by the 3rd atom. Thus an entry for SiCC means Si -bonded to a C with another C atom influencing the bond. Thus -three-body parameters for SiCSi and SiSiC entries will not, in -general, be the same. The parameters used for the two-body -interaction come from the entry where the 2nd element is repeated. -Thus the two-body parameters for Si interacting with C, comes from the -SiCC entry. - -The parameters used for a particular -three-body interaction come from the entry with the corresponding -three elements. The parameters used only for two-body interactions -(n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd -element are different (e.g. SiCSi) are not used for anything and can -be set to 0.0 if desired. - -Note that the twobody parameters in entries such as SiCC and CSiSi -are often the same, due to the common use of symmetric mixing rules, -but this is not always the case. For example, the beta and n parameters in -Tersoff_2 "(Tersoff_2)"_#Tersoff_21 are not symmetric. - -We chose the above form so as to enable users to define all commonly -used variants of the Tersoff potential. In particular, our form -reduces to the original Tersoff form when m = 3 and gamma = 1, while -it reduces to the form of "Albe et al."_#Albe when beta = 1 and m = 1. -Note that in the current Tersoff implementation in LAMMPS, m must be -specified as either 3 or 1. Tersoff used a slightly different but -equivalent form for alloys, which we will refer to as Tersoff_2 -potential "(Tersoff_2)"_#Tersoff_21. The {tersoff/table} style implements -Tersoff_2 parameterization only. - -LAMMPS parameter values for Tersoff_2 can be obtained as follows: -gamma_ijk = omega_ik, lambda3 = 0 and the value of -m has no effect. The parameters for species i and j can be calculated -using the Tersoff_2 mixing rules: - -:c,image(Eqs/pair_tersoff_2.jpg) - -Tersoff_2 parameters R and S must be converted to the LAMMPS -parameters R and D (R is different in both forms), using the following -relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the -Tersoff_2 parameters. - -In the potentials directory, the file SiCGe.tersoff provides the -LAMMPS parameters for Tersoff's various versions of Si, as well as his -alloy parameters for Si, C, and Ge. This file can be used for pure Si, -(three different versions), pure C, pure Ge, binary SiC, and binary -SiGe. LAMMPS will generate an error if this file is used with any -combination involving C and Ge, since there are no entries for the GeC -interactions (Tersoff did not publish parameters for this -cross-interaction.) Tersoff files are also provided for the SiC alloy -(SiC.tersoff) and the GaN (GaN.tersoff) alloys. - -Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou -for helping clarify how Tersoff parameters for alloys have been -defined in various papers. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, where types I and J correspond to -two different element types, mixing is performed by LAMMPS as -described above from values in the potential file. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -The Tersoff potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal "units"_units.html. You can -use the Tersoff potential with any LAMMPS units, but you would need to -create your own Tersoff potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Tersoff_11) -[(Tersoff_1)] J. Tersoff, Phys Rev B, 37, 6991 (1988). - -:link(Albe) -[(Albe)] J. Nord, K. Albe, P. Erhart, and K. Nordlund, J. Phys.: -Condens. Matter, 15, 5649(2003). - -:link(Tersoff_21) -[(Tersoff_2)] J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) diff --git a/doc/txt/pair_tersoff_mod.txt b/doc/txt/pair_tersoff_mod.txt deleted file mode 100644 index 2df23045a397b16e56409ec506d8bfeeae85a1a1..0000000000000000000000000000000000000000 --- a/doc/txt/pair_tersoff_mod.txt +++ /dev/null @@ -1,206 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style tersoff/mod command :h3 -pair_style tersoff/mod/c command :h3 -pair_style tersoff/mod/gpu command :h3 -pair_style tersoff/mod/kk command :h3 -pair_style tersoff/mod/omp command :h3 -pair_style tersoff/mod/c/omp command :h3 - -[Syntax:] - -pair_style tersoff/mod :pre - -pair_style tersoff/mod/c :pre - -[Examples:] - -pair_style tersoff/mod -pair_coeff * * Si.tersoff.mod Si Si :pre - -pair_style tersoff/mod/c -pair_coeff * * Si.tersoff.modc Si Si :pre - -[Description:] - -The {tersoff/mod} and {tersoff/mod/c} styles computes a bond-order type -interatomic potential "(Kumagai)"_#Kumagai based on a 3-body Tersoff -potential "(Tersoff_1)"_#Tersoff_12, "(Tersoff_2)"_#Tersoff_22 with -modified cutoff function and angular-dependent term, giving the energy -E of a system of atoms as - -:c,image(Eqs/pair_tersoff_mod.jpg) - -where f_R is a two-body term and f_A includes three-body interactions. -The summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = R + D. -The {tersoff/mod/c} style differs from {tersoff/mod} only in the -formulation of the V_ij term, where it contains an additional c0 term. - -:c,image(Eqs/pair_tersoff_mod_c.jpg) - -The modified cutoff function f_C proposed by "(Murty)"_#Murty and -having a continuous second-order differential is employed. The -angular-dependent term g(theta) was modified to increase the -flexibility of the potential. - -The {tersoff/mod} potential is fitted to both the elastic constants -and melting point by employing the modified Tersoff potential function -form in which the angular-dependent term is improved. The model -performs extremely well in describing the crystalline, liquid, and -amorphous phases "(Schelling)"_#Schelling. - -Only a single pair_coeff command is used with the {tersoff/mod} style -which specifies a Tersoff/MOD potential file with parameters for all -needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of Tersoff/MOD elements to atom types :ul - -As an example, imagine the Si.tersoff_mod file has Tersoff values for Si. -If your LAMMPS simulation has 3 Si atoms types, you would use the following -pair_coeff command: - -pair_coeff * * Si.tersoff_mod Si Si Si :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The three Si arguments map LAMMPS atom types 1,2,3 to the Si element -in the Tersoff/MOD file. If a mapping value is specified as NULL, the -mapping is not performed. This can be used when a {tersoff/mod} -potential is used as part of the {hybrid} pair style. The NULL values -are placeholders for atom types that will be used with other -potentials. - -Tersoff/MOD file in the {potentials} directory of the LAMMPS -distribution have a ".tersoff.mod" suffix. Potential files for the -{tersoff/mod/c} style have the suffix ".tersoff.modc". Lines that are -not blank or comments (starting with #) define parameters for a triplet -of elements. The parameters in a single entry correspond to -coefficients in the formulae above: - -element 1 (the center atom in a 3-body interaction) -element 2 (the atom bonded to the center atom) -element 3 (the atom influencing the 1-2 bond in a bond-order sense) -beta -alpha -h -eta -beta_ters = 1 (dummy parameter) -lambda2 (1/distance units) -B (energy units) -R (distance units) -D (distance units) -lambda1 (1/distance units) -A (energy units) -n -c1 -c2 -c3 -c4 -c5 -c0 (energy units, tersoff/mod/c only):ul - -The n, eta, lambda2, B, lambda1, and A parameters are only used for -two-body interactions. The beta, alpha, c1, c2, c3, c4, c5, h -parameters are only used for three-body interactions. The R and D -parameters are used for both two-body and three-body interactions. -The c0 term applies to {tersoff/mod/c} only. The non-annotated -parameters are unitless. - -The Tersoff/MOD potential file must contain entries for all the elements -listed in the pair_coeff command. It can also contain entries for -additional elements not being used in a particular simulation; LAMMPS -ignores those entries. - -For a single-element simulation, only a single entry is required -(e.g. SiSiSi). As annotated above, the first element in the entry is -the center atom in a three-body interaction and it is bonded to the -2nd atom and the bond is influenced by the 3rd atom. Thus an entry -for SiSiSi means Si bonded to a Si with another Si atom influencing the bond. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -The Tersoff/MOD potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal "units"_units.html. You can -use the Tersoff/MOD potential with any LAMMPS units, but you would need to -create your own Tersoff/MOD potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Kumagai) -[(Kumagai)] T. Kumagai, S. Izumi, S. Hara, S. Sakai, -Comp. Mat. Science, 39, 457 (2007). - -:link(Tersoff_12) -[(Tersoff_1)] J. Tersoff, Phys Rev B, 37, 6991 (1988). - -:link(Tersoff_22) -[(Tersoff_2)] J. Tersoff, Phys Rev B, 38, 9902 (1988). - -:link(Murty) -[(Murty)] M.V.R. Murty, H.A. Atwater, Phys Rev B, 51, 4889 (1995). - -:link(Schelling) -[(Schelling)] Patrick K. Schelling, Comp. Mat. Science, 44, 274 (2008). diff --git a/doc/txt/pair_tersoff_zbl.txt b/doc/txt/pair_tersoff_zbl.txt deleted file mode 100644 index 5f03ffd94eca4028b40283b554815d7e67c9198c..0000000000000000000000000000000000000000 --- a/doc/txt/pair_tersoff_zbl.txt +++ /dev/null @@ -1,267 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style tersoff/zbl command :h3 -pair_style tersoff/zbl/gpu command :h3 -pair_style tersoff/zbl/kk command :h3 -pair_style tersoff/zbl/omp command :h3 - -[Syntax:] - -pair_style tersoff/zbl :pre - -[Examples:] - -pair_style tersoff/zbl -pair_coeff * * SiC.tersoff.zbl Si C Si :pre - -[Description:] - -The {tersoff/zbl} style computes a 3-body Tersoff potential -"(Tersoff_1)"_#zbl-Tersoff_1 with a close-separation pairwise modification -based on a Coulomb potential and the Ziegler-Biersack-Littmark -universal screening function "(ZBL)"_#zbl-ZBL, giving the energy E of a -system of atoms as - -:c,image(Eqs/pair_tersoff_zbl.jpg) - -The f_F term is a fermi-like function used to smoothly connect the ZBL -repulsive potential with the Tersoff potential. There are 2 -parameters used to adjust it: A_F and r_C. A_F controls how "sharp" -the transition is between the two, and r_C is essentially the cutoff -for the ZBL potential. - -For the ZBL portion, there are two terms. The first is the Coulomb -repulsive term, with Z1, Z2 as the number of protons in each nucleus, -e as the electron charge (1 for metal and real units) and epsilon0 as -the permittivity of vacuum. The second part is the ZBL universal -screening function, with a0 being the Bohr radius (typically 0.529 -Angstroms), and the remainder of the coefficients provided by the -original paper. This screening function should be applicable to most -systems. However, it is only accurate for small separations -(i.e. less than 1 Angstrom). - -For the Tersoff portion, f_R is a two-body term and f_A includes -three-body interactions. The summations in the formula are over all -neighbors J and K of atom I within a cutoff distance = R + D. - -Only a single pair_coeff command is used with the {tersoff/zbl} style -which specifies a Tersoff/ZBL potential file with parameters for all -needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of Tersoff/ZBL elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, imagine the SiC.tersoff.zbl file has Tersoff/ZBL values -for Si and C. If your LAMMPS simulation has 4 atoms types and you -want the 1st 3 to be Si, and the 4th to be C, you would use the -following pair_coeff command: - -pair_coeff * * SiC.tersoff Si Si Si C :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The first three Si arguments map LAMMPS atom types 1,2,3 to the Si -element in the Tersoff/ZBL file. The final C argument maps LAMMPS -atom type 4 to the C element in the Tersoff/ZBL file. If a mapping -value is specified as NULL, the mapping is not performed. This can be -used when a {tersoff/zbl} potential is used as part of the {hybrid} -pair style. The NULL values are placeholders for atom types that will -be used with other potentials. - -Tersoff/ZBL files in the {potentials} directory of the LAMMPS -distribution have a ".tersoff.zbl" suffix. Lines that are not blank -or comments (starting with #) define parameters for a triplet of -elements. The parameters in a single entry correspond to coefficients -in the formula above: - -element 1 (the center atom in a 3-body interaction) -element 2 (the atom bonded to the center atom) -element 3 (the atom influencing the 1-2 bond in a bond-order sense) -m -gamma -lambda3 (1/distance units) -c -d -costheta0 (can be a value < -1 or > 1) -n -beta -lambda2 (1/distance units) -B (energy units) -R (distance units) -D (distance units) -lambda1 (1/distance units) -A (energy units) -Z_i -Z_j -ZBLcut (distance units) -ZBLexpscale (1/distance units) :ul - -The n, beta, lambda2, B, lambda1, and A parameters are only used for -two-body interactions. The m, gamma, lambda3, c, d, and costheta0 -parameters are only used for three-body interactions. The R and D -parameters are used for both two-body and three-body interactions. The -Z_i,Z_j, ZBLcut, ZBLexpscale parameters are used in the ZBL repulsive -portion of the potential and in the Fermi-like function. The -non-annotated parameters are unitless. The value of m must be 3 or 1. - -The Tersoff/ZBL potential file must contain entries for all the -elements listed in the pair_coeff command. It can also contain -entries for additional elements not being used in a particular -simulation; LAMMPS ignores those entries. - -For a single-element simulation, only a single entry is required -(e.g. SiSiSi). For a two-element simulation, the file must contain 8 -entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, CCSi, CCC), that -specify Tersoff parameters for all permutations of the two elements -interacting in three-body configurations. Thus for 3 elements, 27 -entries would be required, etc. - -As annotated above, the first element in the entry is the center atom -in a three-body interaction and it is bonded to the 2nd atom and the -bond is influenced by the 3rd atom. Thus an entry for SiCC means Si -bonded to a C with another C atom influencing the bond. Thus -three-body parameters for SiCSi and SiSiC entries will not, in -general, be the same. The parameters used for the two-body -interaction come from the entry where the 2nd element is repeated. -Thus the two-body parameters for Si interacting with C, comes from the -SiCC entry. - -The parameters used for a particular -three-body interaction come from the entry with the corresponding -three elements. The parameters used only for two-body interactions -(n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd -element are different (e.g. SiCSi) are not used for anything and can -be set to 0.0 if desired. - -Note that the twobody parameters in entries such as SiCC and CSiSi -are often the same, due to the common use of symmetric mixing rules, -but this is not always the case. For example, the beta and n parameters in -Tersoff_2 "(Tersoff_2)"_#zbl-Tersoff_2 are not symmetric. - -We chose the above form so as to enable users to define all commonly -used variants of the Tersoff portion of the potential. In particular, -our form reduces to the original Tersoff form when m = 3 and gamma = -1, while it reduces to the form of "Albe et al."_#zbl-Albe when beta = 1 -and m = 1. Note that in the current Tersoff implementation in LAMMPS, -m must be specified as either 3 or 1. Tersoff used a slightly -different but equivalent form for alloys, which we will refer to as -Tersoff_2 potential "(Tersoff_2)"_#zbl-Tersoff_2. - -LAMMPS parameter values for Tersoff_2 can be obtained as follows: -gamma = omega_ijk, lambda3 = 0 and the value of -m has no effect. The parameters for species i and j can be calculated -using the Tersoff_2 mixing rules: - -:c,image(Eqs/pair_tersoff_2.jpg) - -Tersoff_2 parameters R and S must be converted to the LAMMPS -parameters R and D (R is different in both forms), using the following -relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the -Tersoff_2 parameters. - -In the potentials directory, the file SiCGe.tersoff provides the -LAMMPS parameters for Tersoff's various versions of Si, as well as his -alloy parameters for Si, C, and Ge. This file can be used for pure Si, -(three different versions), pure C, pure Ge, binary SiC, and binary -SiGe. LAMMPS will generate an error if this file is used with any -combination involving C and Ge, since there are no entries for the GeC -interactions (Tersoff did not publish parameters for this -cross-interaction.) Tersoff files are also provided for the SiC alloy -(SiC.tersoff) and the GaN (GaN.tersoff) alloys. - -Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou -for helping clarify how Tersoff parameters for alloys have been -defined in various papers. Also thanks to Ram Devanathan for -providing the base ZBL implementation. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, where types I and J correspond to -two different element types, mixing is performed by LAMMPS as -described above from values in the potential file. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair style requires the "newton"_newton.html setting to be "on" -for pair interactions. - -The Tersoff/ZBL potential files provided with LAMMPS (see the -potentials directory) are parameterized for metal "units"_units.html. -You can use the Tersoff potential with any LAMMPS units, but you would -need to create your own Tersoff potential file with coefficients -listed in the appropriate units if your simulation doesn't use "metal" -units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(zbl-Tersoff_1) -[(Tersoff_1)] J. Tersoff, Phys Rev B, 37, 6991 (1988). - -:link(zbl-ZBL) -[(ZBL)] J.F. Ziegler, J.P. Biersack, U. Littmark, 'Stopping and Ranges -of Ions in Matter' Vol 1, 1985, Pergamon Press. - -:link(zbl-Albe) -[(Albe)] J. Nord, K. Albe, P. Erhart and K. Nordlund, J. Phys.: -Condens. Matter, 15, 5649(2003). - -:link(zbl-Tersoff_2) -[(Tersoff_2)] J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) diff --git a/doc/txt/pair_thole.txt b/doc/txt/pair_thole.txt deleted file mode 100644 index c7a304ca41689df96344438eb094796a0108657c..0000000000000000000000000000000000000000 --- a/doc/txt/pair_thole.txt +++ /dev/null @@ -1,192 +0,0 @@ - - - -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style thole command :h3 -pair_style lj/cut/thole/long command :h3 -pair_style lj/cut/thole/long/omp command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {thole} or {lj/cut/thole/long} or {lj/cut/thole/long/omp} -args = list of arguments for a particular style :ul - {thole} args = damp cutoff - damp = global damping parameter - cutoff = global cutoff (distance units) - {lj/cut/thole/long} or {lj/cut/thole/long/omp} args = damp cutoff (cutoff2) - damp = global damping parameter - cutoff = global cutoff for LJ (and Thole if only 1 arg) (distance units) - cutoff2 = global cutoff for Thole (optional) (distance units) :pre - -[Examples:] - -pair_style hybrid/overlay ... thole 2.6 12.0 -pair_coeff 1 1 thole 1.0 -pair_coeff 1 2 thole 1.0 2.6 10.0 -pair_coeff * 2 thole 1.0 2.6 :pre - -pair_style lj/cut/thole/long 2.6 12.0 :pre - -[Description:] - -The {thole} pair styles are meant to be used with force fields that -include explicit polarization through Drude dipoles. This link -describes how to use the "thermalized Drude oscillator -model"_Howto_drude.html in LAMMPS and polarizable models in LAMMPS are -discussed on the "Howto polarizable"_Howto_polarizable.html doc page. - -The {thole} pair style should be used as a sub-style within in the -"pair_hybrid/overlay"_pair_hybrid.html command, in conjunction with a -main pair style including Coulomb interactions, i.e. any pair style -containing {coul/cut} or {coul/long} in its style name. - -The {lj/cut/thole/long} pair style is equivalent to, but more convenient that -the frequent combination {hybrid/overlay lj/cut/coul/long cutoff thole damp -cutoff2}. It is not only a shorthand for this pair_style combination, but -it also allows for mixing pair coefficients instead of listing them all. -The {lj/cut/thole/long} pair style is also a bit faster because it avoids an -overlay and can benefit from OMP acceleration. Moreover, it uses a more -precise approximation of the direct Coulomb interaction at short range similar -to "coul/long/cs"_pair_cs.html, which stabilizes the temperature of -Drude particles. - -The {thole} pair styles compute the Coulomb interaction damped at -short distances by a function - -\begin\{equation\} T_\{ij\}(r_\{ij\}) = 1 - \left( 1 + -\frac\{s_\{ij\} r_\{ij\} \}\{2\} \right) -\exp \left( - s_\{ij\} r_\{ij\} \right) \end\{equation\} - -This function results from an adaptation to point charges -"(Noskov)"_#Noskov1 of the dipole screening scheme originally proposed -by "Thole"_#Thole1. The scaling coefficient \(s_\{ij\} \) is determined -by the polarizability of the atoms, \( \alpha_i \), and by a Thole -damping parameter \( a \). This Thole damping parameter usually takes -a value of 2.6, but in certain force fields the value can depend upon -the atom types. The mixing rule for Thole damping parameters is the -arithmetic average, and for polarizabilities the geometric average -between the atom-specific values. - -\begin\{equation\} s_\{ij\} = \frac\{ a_\{ij\} \}\{ -(\alpha_\{ij\})^\{1/3\} \} = \frac\{ (a_i + a_j)/2 \}\{ -\[(\alpha_i\alpha_j)^\{1/2\}\]^\{1/3\} \} \end\{equation\} - -The damping function is only applied to the interactions between the -point charges representing the induced dipoles on polarizable sites, -that is, charges on Drude particles, \( q_\{D,i\} \), and opposite -charges, \( -q_\{D,i\} \), located on the respective core particles -(to which each Drude particle is bonded). Therefore, Thole screening -is not applied to the full charge of the core particle \( q_i \), but -only to the \( -q_\{D,i\} \) part of it. - -The interactions between core charges are subject to the weighting -factors set by the "special_bonds"_special_bonds.html command. The -interactions between Drude particles and core charges or -non-polarizable atoms are also subject to these weighting factors. The -Drude particles inherit the 1-2, 1-3 and 1-4 neighbor relations from -their respective cores. - -For pair_style {thole}, the following coefficients must be defined for -each pair of atoms types via the "pair_coeff"_pair_coeff.html command -as in the example above. - -alpha (distance units^3) -damp -cutoff (distance units) :ul - -The last two coefficients are optional. If not specified the global -Thole damping parameter or global cutoff specified in the pair_style -command are used. In order to specify a cutoff (third argument) a damp -parameter (second argument) must also be specified. - -For pair style {lj/cut/thole/long}, the following coefficients must be -defined for each pair of atoms types via the "pair_coeff"_pair_coeff.html -command. - -epsilon (energy units) -sigma (length units) -alpha (distance units^3) -damps -LJ cutoff (distance units) :ul - -The last two coefficients are optional and default to the global values from -the {pair_style} command line. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -[Mixing]: - -The {thole} pair style does not support mixing. Thus, coefficients -for all I,J pairs must be specified explicitly. - -The {lj/cut/thole/long} pair style does support mixing. Mixed coefficients -are defined using - -\begin\{equation\} \alpha_\{ij\} = \sqrt\{\alpha_i\alpha_j\}\end\{equation\} -\begin\{equation\} a_\{ij\} = \frac 1 2 (a_i + a_j)\end\{equation\} - -[Restrictions:] - -These pair styles are part of the USER-DRUDE package. They are only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair_style should currently not be used with the "charmm dihedral -style"_dihedral_charmm.html if the latter has non-zero 1-4 weighting -factors. This is because the {thole} pair style does not know which -pairs are 1-4 partners of which dihedrals. - -The {lj/cut/thole/long} pair style should be used with a "Kspace solver"_kspace_style.html -like PPPM or Ewald, which is only enabled if LAMMPS was built with the kspace -package. - -[Related commands:] - -"fix drude"_fix_drude.html, "fix -langevin/drude"_fix_langevin_drude.html, "fix -drude/transform"_fix_drude_transform.html, "compute -temp/drude"_compute_temp_drude.html -"pair_style lj/cut/coul/long"_pair_lj.html - -[Default:] none - -:line - -:link(Noskov1) -[(Noskov)] Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005). - -:link(Thole1) -[(Thole)] Chem Phys, 59, 341 (1981). diff --git a/doc/txt/pair_tri_lj.txt b/doc/txt/pair_tri_lj.txt deleted file mode 100644 index 75108c0743ed7a4051fce677d6e0c0585aaf6326..0000000000000000000000000000000000000000 --- a/doc/txt/pair_tri_lj.txt +++ /dev/null @@ -1,115 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style tri/lj command :h3 - -[Syntax:] - -pair_style tri/lj cutoff :pre - -cutoff = global cutoff for interactions (distance units) - -[Examples:] - -pair_style tri/lj 3.0 -pair_coeff * * 1.0 1.0 -pair_coeff 1 1 1.0 1.5 2.5 :pre - -[Description:] - -Style {tri/lj} treats particles which are triangles as a set of small -spherical particles that tile the triangle surface as explained below. -Interactions between two triangles, each with N1 and N2 spherical -particles, are calculated as the pairwise sum of N1*N2 Lennard-Jones -interactions. Interactions between a triangle with N spherical -particles and a point particle are treated as the pairwise sum of N -Lennard-Jones interactions. See the "pair_style lj/cut"_pair_lj.html -doc page for the definition of Lennard-Jones interactions. - -The cutoff distance for an interaction between 2 triangles, or between -a triangle and a point particle, is calculated from the position of -the triangle (its centroid), not between pairs of individual spheres -comprising the triangle. Thus an interaction is either calculated in -its entirety or not at all. - -The set of non-overlapping spherical particles that represent a -triangle, for purposes of this pair style, are generated in the -following manner. Assume the triangle is of type I, and sigma_II has -been specified. We want a set of spheres with centers in the plane of -the triangle, none of them larger in diameter than sigma_II, which -completely cover the triangle's area, but with minimal overlap and a -minimal total number of spheres. This is done in a recursive manner. -Place a sphere at the centroid of the original triangle. Calculate -what diameter it must have to just cover all 3 corner points of the -triangle. If that diameter is equal to or smaller than sigma_II, then -include a sphere of the calculated diameter in the set of covering -spheres. It the diameter is larger than sigma_II, then split the -triangle into 2 triangles by bisecting its longest side. Repeat the -process on each sub-triangle, recursing as far as needed to generate a -set of covering spheres. When finished, the original criteria are -met, and the set of covering spheres should be near minimal in number -and overlap, at least for input triangles with a reasonable -aspect-ratio. - -The LJ interaction between 2 spheres on different triangles of types -I,J is computed with an arithmetic mixing of the sigma values of the 2 -spheres and using the specified epsilon value for I,J atom types. -Note that because the sigma values for triangles spheres is computed -using only sigma_II values, specific to the triangles's type, this -means that any specified sigma_IJ values (for I != J) are effectively -ignored. - -For style {tri/lj}, the following coefficients must be defined for -each pair of atoms types via the "pair_coeff"_pair_coeff.html command -as in the examples above, or in the data file or restart files read by -the "read_data"_read_data.html or "read_restart"_read_restart.html -commands: - -epsilon (energy units) -sigma (distance units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global cutoff -is used. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the epsilon and sigma coefficients -and cutoff distance for all of this pair style can be mixed. The -default mix value is {geometric}. See the "pair_modify" command for -details. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This style is part of the ASPHERE package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -Defining particles to be triangles so they participate in tri/tri or -tri/particle interactions requires the use the "atom_style -tri"_atom_style.html command. - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "pair_style line/lj"_pair_line_lj.html - -[Default:] none diff --git a/doc/txt/pair_ufm.txt b/doc/txt/pair_ufm.txt deleted file mode 100644 index f0efcfbf19d74a73a22b6346d25c0b1ebcdf6cd1..0000000000000000000000000000000000000000 --- a/doc/txt/pair_ufm.txt +++ /dev/null @@ -1,134 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style ufm command :h3 -pair_style ufm/gpu command :h3 -pair_style ufm/omp command :h3 -pair_style ufm/opt command :h3 - -[Syntax:] - -pair_style ufm cutoff :pre - -cutoff = global cutoff for {ufm} interactions (distance units) :ul - -[Examples:] - -pair_style ufm 4.0 -pair_coeff 1 1 100.0 1.0 2.5 -pair_coeff * * 100.0 1.0 :pre - - -pair_style ufm 4.0 -pair_coeff * * 10.0 1.0 -variable prefactor equal ramp(10,100) -fix 1 all adapt 1 pair ufm epsilon * * v_prefactor :pre - -[Description:] - -Style {ufm} computes pairwise interactions using the Uhlenbeck-Ford model (UFM) potential "(Paula Leite2016)"_#PL2 which is given by - -:c,image(Eqs/pair_ufm.jpg) - -where rc is the cutoff, sigma is a distance-scale and epsilon is an energy-scale, i.e., a product of Boltzmann constant kB, temperature T and the Uhlenbeck-Ford p-parameter which is responsible -to control the softness of the interactions "(Paula Leite2017)"_#PL1. -This model is useful as a reference system for fluid-phase free-energy calculations "(Paula Leite2016)"_#PL2. - -The following coefficients must be defined for each pair of atom types -via the "pair_coeff"_pair_coeff.html command as in the examples above, -or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -epsilon (energy units) -sigma (distance units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global {ufm} -cutoff is used. - - -The "fix adapt"_fix_adapt.html command can be used to vary epsilon and sigma for this pair style over the course of a simulation, in which case -pair_coeff settings for epsilon and sigma must still be specified, but will be -overridden. For example these commands will vary the prefactor epsilon for -all pairwise interactions from 10.0 at the beginning to 100.0 at the end -of a run: - -variable prefactor equal ramp(10,100) -fix 1 all adapt 1 pair ufm epsilon * * v_prefactor :pre - -NOTE: The thermodynamic integration procedure can be performed with this potential using "fix adapt"_fix_adapt.html. This command will rescale the force on each atom by varying a scale variable, which always starts with value 1.0. The syntax is the same described above, however, changing epsilon to scale. A detailed explanation of how to use this command and perform nonequilibrium thermodynamic integration in LAMMPS is given in the paper by "(Freitas)"_#Freitas2. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the A coefficient and cutoff -distance for this pair style can be mixed. A is always mixed via a -{geometric} rule. The cutoff is mixed according to the pair_modify -mix value. The default mix value is {geometric}. See the -"pair_modify" command for details. - -This pair style support the "pair_modify"_pair_modify.html shift option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table and tail are not relevant for this -pair style. - -This pair style does not support the "pair_modify"_pair_modify.html tail option for adding long-range tail corrections to energy and pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html, "fix adapt"_fix_adapt.html - -[Default:] none - - -:link(PL1) -[(Paula Leite2017)] Paula Leite, Santos-Florez, and de Koning, Phys Rev E, 96, -32115 (2017). - -:link(PL2) -[(Paula Leite2016)] Paula Leite , Freitas, Azevedo, and de Koning, J Chem Phys, 126, -044509 (2016). - -:link(Freitas2) -[(Freitas)] Freitas, Asta, and de Koning, Computational Materials Science, 112, 333 (2016). diff --git a/doc/txt/pair_vashishta.txt b/doc/txt/pair_vashishta.txt deleted file mode 100644 index 7ffb16cc834ffafa43f68d0b89e856aab2146389..0000000000000000000000000000000000000000 --- a/doc/txt/pair_vashishta.txt +++ /dev/null @@ -1,246 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style vashishta command :h3 -pair_style vashishta/gpu command :h3 -pair_style vashishta/omp command :h3 -pair_style vashishta/kk command :h3 -pair_style vashishta/table command :h3 -pair_style vashishta/table/omp command :h3 - -[Syntax:] - -pair_style style args :pre - -style = {vashishta} or {vashishta/table} or {vashishta/omp} or {vashishta/table/omp} -args = list of arguments for a particular style :ul - {vashishta} or {vashishta/omp} args = none - {vashishta/table} or {vashishta/table/omp} args = Ntable cutinner - Ntable = # of tabulation points - cutinner = tablulate from cutinner to cutoff :pre - -[Examples:] - -pair_style vashishta -pair_coeff * * SiC.vashishta Si C :pre - -pair_style vashishta/table 100000 0.2 -pair_coeff * * SiC.vashishta Si C :pre - -[Description:] - -The {vashishta} and {vashishta/table} styles compute the combined -2-body and 3-body family of potentials developed in the group of Priya -Vashishta and collaborators. By combining repulsive, screened -Coulombic, screened charge-dipole, and dispersion interactions with a -bond-angle energy based on the Stillinger-Weber potential, this -potential has been used to describe a variety of inorganic compounds, -including SiO2 "Vashishta1990"_#Vashishta1990, SiC -"Vashishta2007"_#Vashishta2007, and InP "Branicio2009"_#Branicio2009. - -The potential for the energy U of a system of atoms is - -:c,image(Eqs/pair_vashishta.jpg) - -where we follow the notation used in "Branicio2009"_#Branicio2009. -U2 is a two-body term and U3 is a three-body term. The -summation over two-body terms is over all neighbors J within -a cutoff distance = {rc}. The twobody terms are shifted and -tilted by a linear function so that the energy and force are -both zero at {rc}. The summation over three-body terms -is over all neighbors J and K within a cut-off distance = {r0}, -where the exponential screening function becomes zero. - -The {vashishta} style computes these formulas analytically. The -{vashishta/table} style tabulates the analytic values for {Ntable} -points from cutinner to the cutoff of the potential. The points are -equally spaced in R^2 space from cutinner^2 to cutoff^2. For the -two-body term in the above equation, a linear interpolation for each -pairwise distance between adjacent points in the table. In practice -the tabulated version can run 3-5x faster than the analytic version -with moderate to little loss of accuracy for Ntable values -between 10000 and 1000000. It is not recommended to use less than -5000 tabulation points. - -Only a single pair_coeff command is used with either style which -specifies a Vashishta potential file with parameters for all needed -elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair_coeff command, -where N is the number of LAMMPS atom types: - -filename -N element names = mapping of Vashishta elements to atom types :ul - -See the "pair_coeff"_pair_coeff.html doc page for alternate ways -to specify the path for the potential file. - -As an example, imagine a file SiC.vashishta has parameters for -Si and C. If your LAMMPS simulation has 4 atoms types and you want -the 1st 3 to be Si, and the 4th to be C, you would use the following -pair_coeff command: - -pair_coeff * * SiC.vashishta Si Si Si C :pre - -The 1st 2 arguments must be * * so as to span all LAMMPS atom types. -The first three Si arguments map LAMMPS atom types 1,2,3 to the Si -element in the file. The final C argument maps LAMMPS atom type 4 -to the C element in the file. If a mapping value is specified as -NULL, the mapping is not performed. This can be used when a {vashishta} -potential is used as part of the {hybrid} pair style. The NULL values -are placeholders for atom types that will be used with other -potentials. - -Vashishta files in the {potentials} directory of the LAMMPS -distribution have a ".vashishta" suffix. Lines that are not blank or -comments (starting with #) define parameters for a triplet of -elements. The parameters in a single entry correspond to the two-body -and three-body coefficients in the formulae above: - -element 1 (the center atom in a 3-body interaction) -element 2 -element 3 -H (energy units) -eta -Zi (electron charge units) -Zj (electron charge units) -lambda1 (distance units) -D (energy units) -lambda4 (distance units) -W (energy units) -rc (distance units) -B (energy units) -gamma -r0 (distance units) -C -costheta0 :ul - -The non-annotated parameters are unitless. The Vashishta potential -file must contain entries for all the elements listed in the -pair_coeff command. It can also contain entries for additional -elements not being used in a particular simulation; LAMMPS ignores -those entries. For a single-element simulation, only a single entry -is required (e.g. SiSiSi). For a two-element simulation, the file -must contain 8 entries (for SiSiSi, SiSiC, SiCSi, SiCC, CSiSi, CSiC, -CCSi, CCC), that specify parameters for all permutations of the two -elements interacting in three-body configurations. Thus for 3 -elements, 27 entries would be required, etc. - -Depending on the particular version of the Vashishta potential, the -values of these parameters may be keyed to the identities of zero, -one, two, or three elements. In order to make the input file format -unambiguous, general, and simple to code, LAMMPS uses a slightly -confusing method for specifying parameters. All parameters are -divided into two classes: two-body and three-body. Two-body and -three-body parameters are handled differently, as described below. -The two-body parameters are H, eta, lambda1, D, lambda4, W, rc, gamma, -and r0. They appear in the above formulae with two subscripts. The -parameters Zi and Zj are also classified as two-body parameters, even -though they only have 1 subscript. The three-body parameters are B, -C, costheta0. They appear in the above formulae with three -subscripts. Two-body and three-body parameters are handled -differently, as described below. - -The first element in each entry is the center atom in a three-body -interaction, while the second and third elements are two neighbor -atoms. Three-body parameters for a central atom I and two neighbors J -and K are taken from the IJK entry. Note that even though three-body -parameters do not depend on the order of J and K, LAMMPS stores -three-body parameters for both IJK and IKJ. The user must ensure that -these values are equal. Two-body parameters for an atom I interacting -with atom J are taken from the IJJ entry, where the 2nd and 3rd -elements are the same. Thus the two-body parameters for Si interacting -with C come from the SiCC entry. Note that even though two-body -parameters (except possibly gamma and r0 in U3) do not depend on the -order of the two elements, LAMMPS will get the Si-C value from the -SiCC entry and the C-Si value from the CSiSi entry. The user must -ensure that these values are equal. Two-body parameters appearing in -entries where the 2nd and 3rd elements are different are stored but -never used. It is good practice to enter zero for these values. Note -that the three-body function U3 above contains the two-body parameters -gamma and r0. So U3 for a central C atom bonded to an Si atom and a -second C atom will take three-body parameters from the CSiC entry, but -two-body parameters from the CCC and CSiSi entries. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, where types I and J correspond to -two different element types, mixing is performed by LAMMPS as -described above from values in the potential file. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style does not write its information to "binary restart -files"_restart.html, since it is stored in potential files. Thus, you -need to re-specify the pair_style and pair_coeff commands in an input -script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -These pair style are part of the MANYBODY package. They is only -enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -These pair styles requires the "newton"_newton.html setting to be "on" -for pair interactions. - -The Vashishta potential files provided with LAMMPS (see the potentials -directory) are parameterized for metal "units"_units.html. You can -use the Vashishta potential with any LAMMPS units, but you would need -to create your own potential file with coefficients listed in the -appropriate units if your simulation doesn't use "metal" units. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Vashishta1990) -[(Vashishta1990)] P. Vashishta, R. K. Kalia, J. P. Rino, Phys. Rev. B -41, 12197 (1990). - -:link(Vashishta2007) -[(Vashishta2007)] P. Vashishta, R. K. Kalia, A. Nakano, -J. P. Rino. J. Appl. Phys. 101, 103515 (2007). - -:link(Branicio2009) -[(Branicio2009)] Branicio, Rino, Gan and Tsuzuki, J. Phys Condensed -Matter 21 (2009) 095002 diff --git a/doc/txt/pair_write.txt b/doc/txt/pair_write.txt deleted file mode 100644 index 48ad76e76eabf624459cb37139e77ef4a09385f0..0000000000000000000000000000000000000000 --- a/doc/txt/pair_write.txt +++ /dev/null @@ -1,79 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_write command :h3 - -[Syntax:] - -pair_write itype jtype N style inner outer file keyword Qi Qj :pre - -itype,jtype = 2 atom types -N = # of values -style = {r} or {rsq} or {bitmap} -inner,outer = inner and outer cutoff (distance units) -file = name of file to write values to -keyword = section name in file for this set of tabulated values -Qi,Qj = 2 atom charges (charge units) (optional) :ul - -[Examples:] - -pair_write 1 3 500 r 1.0 10.0 table.txt LJ -pair_write 1 1 1000 rsq 2.0 8.0 table.txt Yukawa_1_1 -0.5 0.5 :pre - -[Description:] - -Write energy and force values to a file as a function of distance for -the currently defined pair potential. This is useful for plotting the -potential function or otherwise debugging its values. If the file -already exists, the table of values is appended to the end of the file -to allow multiple tables of energy and force to be included in one -file. - -The energy and force values are computed at distances from inner to -outer for 2 interacting atoms of type itype and jtype, using the -appropriate "pair_coeff"_pair_coeff.html coefficients. If the style -is {r}, then N distances are used, evenly spaced in r; if the style is -{rsq}, N distances are used, evenly spaced in r^2. - -For example, for N = 7, style = {r}, inner = 1.0, and outer = 4.0, -values are computed at r = 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0. - -If the style is {bitmap}, then 2^N values are written to the file in a -format and order consistent with how they are read in by the -"pair_coeff"_pair_coeff.html command for pair style {table}. For -reasonable accuracy in a bitmapped table, choose N >= 12, an {inner} -value that is smaller than the distance of closest approach of 2 -atoms, and an {outer} value <= cutoff of the potential. - -If the pair potential is computed between charged atoms, the charges -of the pair of interacting atoms can optionally be specified. If not -specified, values of Qi = Qj = 1.0 are used. - -The file is written in the format used as input for the -"pair_style"_pair_style.html {table} option with {keyword} as the -section name. Each line written to the file lists an index number -(1-N), a distance (in distance units), an energy (in energy units), -and a force (in force units). - -[Restrictions:] - -All force field coefficients for pair and other kinds of interactions -must be set before this command can be invoked. - -Due to how the pairwise force is computed, an inner value > 0.0 must -be specified even if the potential has a finite value at r = 0.0. - -For EAM potentials, the pair_write command only tabulates the -pairwise portion of the potential, not the embedding portion. - -[Related commands:] - -"pair_style table"_pair_table.html, -"pair_style"_pair_style.html, "pair_coeff"_pair_coeff.html - -[Default:] none diff --git a/doc/txt/pair_yukawa.txt b/doc/txt/pair_yukawa.txt deleted file mode 100644 index 154fd3e8367620af646bd283270f4d71ffafe507..0000000000000000000000000000000000000000 --- a/doc/txt/pair_yukawa.txt +++ /dev/null @@ -1,104 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style yukawa command :h3 -pair_style yukawa/gpu command :h3 -pair_style yukawa/omp command :h3 -pair_style yukawa/kk command :h3 - -[Syntax:] - -pair_style yukawa kappa cutoff :pre - -kappa = screening length (inverse distance units) -cutoff = global cutoff for Yukawa interactions (distance units) :ul - -[Examples:] - -pair_style yukawa 2.0 2.5 -pair_coeff 1 1 100.0 2.3 -pair_coeff * * 100.0 :pre - -[Description:] - -Style {yukawa} computes pairwise interactions with the formula - -:c,image(Eqs/pair_yukawa.jpg) - -Rc is the cutoff. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -A (energy*distance units) -cutoff (distance units) :ul - -The last coefficient is optional. If not specified, the global yukawa -cutoff is used. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the A coefficient and cutoff -distance for this pair style can be mixed. A is an energy value mixed -like a LJ epsilon. The default mix value is {geometric}. See the -"pair_modify" command for details. - -This pair style supports the "pair_modify"_pair_modify.html shift -option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none diff --git a/doc/txt/pair_yukawa_colloid.txt b/doc/txt/pair_yukawa_colloid.txt deleted file mode 100644 index b36c4c235c6cefef90ade34eaabf4b3fe7b08b36..0000000000000000000000000000000000000000 --- a/doc/txt/pair_yukawa_colloid.txt +++ /dev/null @@ -1,154 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style yukawa/colloid command :h3 -pair_style yukawa/colloid/gpu command :h3 -pair_style yukawa/colloid/omp command :h3 - -[Syntax:] - -pair_style yukawa/colloid kappa cutoff :pre - -kappa = screening length (inverse distance units) -cutoff = global cutoff for colloidal Yukawa interactions (distance units) :ul - -[Examples:] - -pair_style yukawa/colloid 2.0 2.5 -pair_coeff 1 1 100.0 2.3 -pair_coeff * * 100.0 :pre - -[Description:] - -Style {yukawa/colloid} computes pairwise interactions with the formula - -:c,image(Eqs/pair_yukawa_colloid.jpg) - -where Ri and Rj are the radii of the two particles and Rc is the -cutoff. - -In contrast to "pair_style yukawa"_pair_yukawa.html, this functional -form arises from the Coulombic interaction between two colloid -particles, screened due to the presence of an electrolyte, see the -book by "Safran"_#Safran for a derivation in the context of DLVO -theory. "Pair_style yukawa"_pair_yukawa.html is a screened Coulombic -potential between two point-charges and uses no such approximation. - -This potential applies to nearby particle pairs for which the Derjagin -approximation holds, meaning h << Ri + Rj, where h is the -surface-to-surface separation of the two particles. - -When used in combination with "pair_style colloid"_pair_colloid.html, -the two terms become the so-called DLVO potential, which combines -electrostatic repulsion and van der Waals attraction. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -A (energy/distance units) -cutoff (distance units) :ul - -The prefactor A is determined from the relationship between surface -charge and surface potential due to the presence of electrolyte. Note -that the A for this potential style has different units than the A -used in "pair_style yukawa"_pair_yukawa.html. For low surface -potentials, i.e. less than about 25 mV, A can be written as: - -A = 2 * PI * R*eps*eps0 * kappa * psi^2 :pre - -where - -R = colloid radius (distance units) -eps0 = permittivity of free space (charge^2/energy/distance units) -eps = relative permittivity of fluid medium (dimensionless) -kappa = inverse screening length (1/distance units) -psi = surface potential (energy/charge units) :ul - -The last coefficient is optional. If not specified, the global -yukawa/colloid cutoff is used. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the A coefficient and cutoff -distance for this pair style can be mixed. A is an energy value mixed -like a LJ epsilon. The default mix value is {geometric}. See the -"pair_modify" command for details. - -This pair style supports the "pair_modify"_pair_modify.html shift -option for the energy of the pair interaction. - -The "pair_modify"_pair_modify.html table option is not relevant -for this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] - -This style is part of the COLLOID package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -This pair style requires that atoms be finite-size spheres with a -diameter, as defined by the "atom_style sphere"_atom_style.html -command. - -Per-particle polydispersity is not yet supported by this pair style; -per-type polydispersity is allowed. This means all particles of the -same type must have the same diameter. Each type can have a different -diameter. - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Safran) -[(Safran)] Safran, Statistical Thermodynamics of Surfaces, Interfaces, -And Membranes, Westview Press, ISBN: 978-0813340791 (2003). diff --git a/doc/txt/pair_zbl.txt b/doc/txt/pair_zbl.txt deleted file mode 100644 index 4c8dfb545526e07e11979d911856b1c3becdf341..0000000000000000000000000000000000000000 --- a/doc/txt/pair_zbl.txt +++ /dev/null @@ -1,139 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style zbl command :h3 -pair_style zbl/gpu command :h3 -pair_style zbl/kk command :h3 -pair_style zbl/omp command :h3 - -[Syntax:] - -pair_style zbl inner outer :pre - -inner = distance where switching function begins -outer = global cutoff for ZBL interaction :ul - -[Examples:] - -pair_style zbl 3.0 4.0 -pair_coeff * * 73.0 73.0 -pair_coeff 1 1 14.0 14.0 :pre - -[Description:] - -Style {zbl} computes the Ziegler-Biersack-Littmark (ZBL) screened nuclear -repulsion for describing high-energy collisions between atoms. -"(Ziegler)"_#Ziegler. It includes an additional switching function -that ramps the energy, force, and curvature smoothly to zero -between an inner and outer cutoff. The potential -energy due to a pair of atoms at a distance r_ij is given by: - -:c,image(Eqs/pair_zbl.jpg) - -where e is the electron charge, epsilon_0 is the electrical -permittivity of vacuum, and Z_i and Z_j are the nuclear charges of the -two atoms. The switching function S(r) is identical to that used by -"pair_style lj/gromacs"_pair_gromacs.html. Here, the inner and outer -cutoff are the same for all pairs of atom types. - -The following coefficients must be defined for each pair of atom types -via the "pair_coeff"_pair_coeff.html command as in the examples above, -or in the LAMMPS data file. - -Z_i (atomic number for first atom type, e.g. 13.0 for aluminum) :ul -Z_j (ditto for second atom type) :ul - -The values of Z_i and Z_j are normally equal to the atomic -numbers of the two atom types. Thus, the user may optionally -specify only the coefficients for each I==I pair, and rely -on the obvious mixing rule for cross interactions (see below). -Note that when I==I it is required that Z_i == Z_j. When used -with "hybrid/overlay"_pair_hybrid.html and pairs are assigned -to more than one sub-style, the mixing rule is not used and -each pair of types interacting with the ZBL sub-style must -be included in a pair_coeff command. - -NOTE: The numerical values of the exponential decay constants in the -screening function depend on the unit of distance. In the above -equation they are given for units of angstroms. LAMMPS will -automatically convert these values to the distance unit of the -specified LAMMPS "units"_units.html setting. The values of Z should -always be given as multiples of a proton's charge, e.g. 29.0 for -copper. - -: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 on the "Speed packages"_Speed_packages.html doc -page. 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 "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -For atom type pairs I,J and I != J, the Z_i and Z_j coefficients -can be mixed by taking Z_i and Z_j from the values specified for -I == I and J == J cases. When used -with "hybrid/overlay"_pair_hybrid.html and pairs are assigned -to more than one sub-style, the mixing rule is not used and -each pair of types interacting with the ZBL sub-style -must be included in a pair_coeff command. -The "pair_modify"_pair_modify.html mix option has no effect on -the mixing behavior - -The ZBL pair style does not support the "pair_modify"_pair_modify.html -shift option, since the ZBL interaction is already smoothed to 0.0 at -the cutoff. - -The "pair_modify"_pair_modify.html table option is not relevant for -this pair style. - -This pair style does not support the "pair_modify"_pair_modify.html -tail option for adding long-range tail corrections to energy and -pressure, since there are no corrections for a potential that goes to -0.0 at the cutoff. - -This pair style does not write information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands must be -specified in an input script that reads a restart file. - -This pair style can only be used via the {pair} keyword of the -"run_style respa"_run_style.html command. It does not support the -{inner}, {middle}, {outer} keywords. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_coeff"_pair_coeff.html - -[Default:] none - -:line - -:link(Ziegler) -[(Ziegler)] J.F. Ziegler, J. P. Biersack and U. Littmark, "The -Stopping and Range of Ions in Matter," Volume 1, Pergamon, 1985. diff --git a/doc/txt/pair_zero.txt b/doc/txt/pair_zero.txt deleted file mode 100644 index def28b68560497c94d8883e20cd71a754cb6edcc..0000000000000000000000000000000000000000 --- a/doc/txt/pair_zero.txt +++ /dev/null @@ -1,86 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -pair_style zero command :h3 - -[Syntax:] - -pair_style zero cutoff {nocoeff} :pre - -zero = style name of this pair style -cutoff = global cutoff (distance units) -nocoeff = ignore all pair_coeff parameters (optional) :ul - -[Examples:] - -pair_style zero 10.0 -pair_style zero 5.0 nocoeff -pair_coeff * * -pair_coeff 1 2*4 3.0 :pre - -[Description:] - -Define a global or per-type cutoff length for the purpose of -building a neighbor list and acquiring ghost atoms, but do -not compute any pairwise forces or energies. - -This can be useful for fixes or computes which require a neighbor list -to enumerate pairs of atoms within some cutoff distance, but when -pairwise forces are not otherwise needed. Examples are the "fix -bond/create"_fix_bond_create.html, "compute rdf"_compute_rdf.html, -"compute voronoi/atom"_compute_voronoi_atom.html commands. - -Note that the "comm_modify cutoff"_comm_modify.html command can be -used to insure communication of ghost atoms even when a pair style is -not defined, but it will not trigger neighbor list generation. - -The optional {nocoeff} flag allows to read data files with a PairCoeff -section for any pair style. Similarly, any pair_coeff commands -will only be checked for the atom type numbers and the rest ignored. -In this case, only the global cutoff will be used. - -The following coefficients must be defined for each pair of atoms -types via the "pair_coeff"_pair_coeff.html command as in the examples -above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands, or by mixing as described below: - -cutoff (distance units) :ul - -This coefficient is optional. If not specified, the global cutoff -specified in the pair_style command is used. If the pair_style has -been specified with the optional {nocoeff} flag, then a cutoff -pair coefficient is ignored. - -:line - -[Mixing, shift, table, tail correction, restart, rRESPA info]: - -The cutoff distance for this pair style can be mixed. The default mix -value is {geometric}. See the "pair_modify" command for details. - -This pair style does not support the "pair_modify"_pair_modify.html -shift, table, and tail options. - -This pair style writes its information to "binary restart -files"_restart.html, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. - -This pair style supports the use of the {inner}, {middle}, -and {outer} keywords of the "run_style respa"_run_style.html command. - -:line - -[Restrictions:] none - -[Related commands:] - -"pair_style none"_pair_none.html - -[Default:] none - diff --git a/doc/txt/partition.txt b/doc/txt/partition.txt deleted file mode 100644 index 86673c226bd5ef463e1723fb9f0fcdc023f4a678..0000000000000000000000000000000000000000 --- a/doc/txt/partition.txt +++ /dev/null @@ -1,72 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -partition command :h3 - -[Syntax:] - -partition style N command ... :pre - -style = {yes} or {no} -N = partition number (see asterisk form below) -command = any LAMMPS command :ul - -[Examples:] - -partition yes 1 processors 4 10 6 -partition no 5 print "Active partition" -partition yes *5 fix all nve -partition yes 6* fix all nvt temp 1.0 1.0 0.1 :pre - -[Description:] - -This command invokes the specified command on a subset of the -partitions of processors you have defined via the "-partition -command-line switch"_Run_options.html. - -Normally, every input script command in your script is invoked by -every partition. This behavior can be modified by defining world- or -universe-style "variables"_variable.html that have different values -for each partition. This mechanism can be used to cause your script -to jump to different input script files on different partitions, if -such a variable is used in a "jump"_jump.html command. - -The "partition" command is another mechanism for having as input -script operate differently on different partitions. It is basically a -prefix on any LAMMPS command. The command will only be invoked on -the partition(s) specified by the {style} and {N} arguments. - -If the {style} is {yes}, the command will be invoked on any partition -which matches the {N} argument. If the {style} is {no} the command -will be invoked on all the partitions which do not match the Np -argument. - -Partitions are numbered from 1 to Np, where Np is the number of -partitions specified by the "-partition command-line -switch"_Run_options.html. - -{N} can be specified in one of two ways. An explicit numeric value -can be used, as in the 1st example above. Or a wild-card asterisk can -be used to span a range of partition numbers. This takes the form "*" -or "*n" or "n*" or "m*n". An asterisk with no numeric values means -all partitions from 1 to Np. A leading asterisk means all partitions -from 1 to n (inclusive). A trailing asterisk means all partitions -from n to Np (inclusive). A middle asterisk means all partitions from -m to n (inclusive). - -This command can be useful for the "run_style verlet/split" command -which imposed requirements on how the "processors"_processors.html -command lays out a 3d grid of processors in each of 2 partitions. - -[Restrictions:] none - -[Related commands:] - -"run_style verlet/split"_run_style.html - -[Default:] none diff --git a/doc/txt/prd.txt b/doc/txt/prd.txt deleted file mode 100644 index e1d6fc1b4ef83b727e1c6941b9ecd7cf1e8cd0fb..0000000000000000000000000000000000000000 --- a/doc/txt/prd.txt +++ /dev/null @@ -1,337 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -prd command :h3 - -[Syntax:] - -prd N t_event n_dephase t_dephase t_correlate compute-ID seed keyword value ... :pre - -N = # of timesteps to run (not including dephasing/quenching) :ulb,l -t_event = timestep interval between event checks :l -n_dephase = number of velocity randomizations to perform in each dephase run :l -t_dephase = number of timesteps to run dynamics after each velocity randomization during dephase :l -t_correlate = number of timesteps within which 2 consecutive events are considered to be correlated :l -compute-ID = ID of the compute used for event detection :l -random_seed = random # seed (positive integer) :l -zero or more keyword/value pairs may be appended :l -keyword = {min} or {temp} or {vel} :l - {min} values = etol ftol maxiter maxeval - etol = stopping tolerance for energy, used in quenching - ftol = stopping tolerance for force, used in quenching - maxiter = max iterations of minimize, used in quenching - maxeval = max number of force/energy evaluations, used in quenching - {temp} value = Tdephase - Tdephase = target temperature for velocity randomization, used in dephasing - {vel} values = loop dist - loop = {all} or {local} or {geom}, used in dephasing - dist = {uniform} or {gaussian}, used in dephasing - {time} value = {steps} or {clock} - {steps} = simulation runs for N timesteps on each replica (default) - {clock} = simulation runs for N timesteps across all replicas :pre -:ule - -[Examples:] - -prd 5000 100 10 10 100 1 54982 -prd 5000 100 10 10 100 1 54982 min 0.1 0.1 100 200 :pre - -[Description:] - -Run a parallel replica dynamics (PRD) simulation using multiple -replicas of a system. One or more replicas can be used. The total -number of steps {N} to run can be interpreted in one of two ways; see -discussion of the {time} keyword below. - -PRD is described in "(Voter1998)"_#Voter1998 by Art Voter. Similar to -global or local hyperdynamics (HD), PRD is a method for performing -accelerated dynamics that is suitable for infrequent-event systems -that obey first-order kinetics. A good overview of accelerated -dynamics methods for such systems in given in this review paper -"(Voter2002)"_#Voter2002prd from Art's group. To quote from the -paper: "The dynamical evolution is characterized by vibrational -excursions within a potential basin, punctuated by occasional -transitions between basins." The transition probability is -characterized by p(t) = k*exp(-kt) where k is the rate constant. -Running multiple replicas gives an effective enhancement in the -timescale spanned by the multiple simulations, while waiting for an -event to occur. - -Both PRD and HD produce a time-accurate trajectory that effectively -extends the timescale over which a system can be simulated, but they -do it differently. PRD creates Nr replicas of the system and runs -dynamics on each independently with a normal unbiased potential until -an event occurs in one of the replicas. The time between events is -reduced by a factor of Nr replicas. HD uses a single replica of the -system and accelerates time by biasing the interaction potential in a -manner such that each timestep is effectively longer. For both -methods, per CPU second, more physical time elapses and more events -occur. See the "hyper"_hyper.html doc page for more info about HD. - -In PRD, each replica runs on a partition of one or more processors. -Processor partitions are defined at run-time using the "-partition -command-line switch"_Run_options.html. Note that if you have MPI -installed, you can run a multi-replica simulation with more replicas -(partitions) than you have physical processors, e.g you can run a -10-replica simulation on one or two processors. However for PRD, this -makes little sense, since running a replica on virtual instead of -physical processors,offers no effective parallel speed-up in searching -for infrequent events. See the "Howto replica"_Howto_replica.html doc -page for further discussion. - -When a PRD simulation is performed, it is assumed that each replica is -running the same model, though LAMMPS does not check for this. -I.e. the simulation domain, the number of atoms, the interaction -potentials, etc should be the same for every replica. - -A PRD run has several stages, which are repeated each time an "event" -occurs in one of the replicas, as explained below. The logic for a -PRD run is as follows: - -while (time remains): - dephase for n_dephase*t_dephase steps - until (event occurs on some replica): - run dynamics for t_event steps - quench - check for uncorrelated event on any replica - until (no correlated event occurs): - run dynamics for t_correlate steps - quench - check for correlated event on this replica - event replica shares state with all replicas :pre - -Before this loop begins, the state of the system on replica 0 is -shared with all replicas, so that all replicas begin from the same -initial state. The first potential energy basin is identified by -quenching (an energy minimization, see below) the initial state and -storing the resulting coordinates for reference. - -In the first stage, dephasing is performed by each replica -independently to eliminate correlations between replicas. This is -done by choosing a random set of velocities, based on the -{random_seed} that is specified, and running {t_dephase} timesteps of -dynamics. This is repeated {n_dephase} times. At each of the -{n_dephase} stages, if an event occurs during the {t_dephase} steps of -dynamics for a particular replica, the replica repeats the stage until -no event occurs. - -If the {temp} keyword is not specified, the target temperature for -velocity randomization for each replica is the current temperature of -that replica. Otherwise, it is the specified {Tdephase} temperature. -The style of velocity randomization is controlled using the keyword -{vel} with arguments that have the same meaning as their counterparts -in the "velocity"_velocity.html command. - -In the second stage, each replica runs dynamics continuously, stopping -every {t_event} steps to check if a transition event has occurred. -This check is performed by quenching the system and comparing the -resulting atom coordinates to the coordinates from the previous basin. -The first time through the PRD loop, the "previous basin" is the set -of quenched coordinates from the initial state of the system. - -A quench is an energy minimization and is performed by whichever -algorithm has been defined by the "min_style"_min_style.html command. -Minimization parameters may be set via the -"min_modify"_min_modify.html command and by the {min} keyword of the -PRD command. The latter are the settings that would be used with the -"minimize"_minimize.html command. Note that typically, you do not -need to perform a highly-converged minimization to detect a transition -event, though you may need to in order to prevent a set of atoms in -the system from relaxing to a saddle point. - -The event check is performed by a compute with the specified -{compute-ID}. Currently there is only one compute that works with the -PRD command, which is the "compute -event/displace"_compute_event_displace.html command. Other -event-checking computes may be added. "Compute -event/displace"_compute_event_displace.html checks whether any atom in -the compute group has moved further than a specified threshold -distance. If so, an "event" has occurred. - -In the third stage, the replica on which the event occurred (event -replica) continues to run dynamics to search for correlated events. -This is done by running dynamics for {t_correlate} steps, quenching -every {t_event} steps, and checking if another event has occurred. - -The first time no correlated event occurs, the final state of the -event replica is shared with all replicas, the new basin reference -coordinates are updated with the quenched state, and the outer loop -begins again. While the replica event is searching for correlated -events, all the other replicas also run dynamics and event checking -with the same schedule, but the final states are always overwritten by -the state of the event replica. - -The outer loop of the pseudo-code above continues until {N} steps of -dynamics have been performed. Note that {N} only includes the -dynamics of stages 2 and 3, not the steps taken during dephasing or -the minimization iterations of quenching. The specified {N} is -interpreted in one of two ways, depending on the {time} keyword. If -the {time} value is {steps}, which is the default, then each replica -runs for {N} timesteps. If the {time} value is {clock}, then the -simulation runs until {N} aggregate timesteps across all replicas have -elapsed. This aggregate time is the "clock" time defined below, which -typically advances nearly M times faster than the timestepping on a -single replica, where M is the number of replicas. - -:line - -Four kinds of output can be generated during a PRD run: event -statistics, thermodynamic output by each replica, dump files, and -restart files. - -When running with multiple partitions (each of which is a replica in -this case), the print-out to the screen and master log.lammps file is -limited to event statistics. Note that if a PRD run is performed on -only a single replica then the event statistics will be intermixed -with the usual thermodynamic output discussed below. - -The quantities printed each time an event occurs are the timestep, CPU -time, clock, event number, a correlation flag, the number of -coincident events, and the replica number of the chosen event. - -The timestep is the usual LAMMPS timestep, except that time does not -advance during dephasing or quenches, but only during dynamics. Note -that are two kinds of dynamics in the PRD loop listed above that -contribute to this timestepping. The first is when all replicas are -performing independent dynamics, waiting for an event to occur. The -second is when correlated events are being searched for, but only one -replica is running dynamics. - -The CPU time is the total elapsed time on each processor, since the -start of the PRD run. - -The clock is the same as the timestep except that it advances by M -steps per timestep during the first kind of dynamics when the M -replicas are running independently. The clock advances by only 1 step -per timestep during the second kind of dynamics, when only a single -replica is checking for a correlated event. Thus "clock" time -represents the aggregate time (in steps) that has effectively elapsed -during a PRD simulation on M replicas. If most of the PRD run is -spent in the second stage of the loop above, searching for infrequent -events, then the clock will advance nearly M times faster than it -would if a single replica was running. Note the clock time between -successive events should be drawn from p(t). - -The event number is a counter that increments with each event, whether -it is uncorrelated or correlated. - -The correlation flag will be 0 when an uncorrelated event occurs -during the second stage of the loop listed above, i.e. when all -replicas are running independently. The correlation flag will be 1 -when a correlated event occurs during the third stage of the loop -listed above, i.e. when only one replica is running dynamics. - -When more than one replica detects an event at the end of the same -event check (every {t_event} steps) during the second stage, then -one of them is chosen at random. The number of coincident events is -the number of replicas that detected an event. Normally, this value -should be 1. If it is often greater than 1, then either the number of -replicas is too large, or {t_event} is too large. - -The replica number is the ID of the replica (from 0 to M-1) in which -the event occurred. - -:line - -When running on multiple partitions, LAMMPS produces additional log -files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For -the PRD command, these contain the thermodynamic output for each -replica. You will see short runs and minimizations corresponding to -the dynamics and quench operations of the loop listed above. The -timestep will be reset appropriately depending on whether the -operation advances time or not. - -After the PRD command completes, timing statistics for the PRD run are -printed in each replica's log file, giving a breakdown of how much CPU -time was spent in each stage (dephasing, dynamics, quenching, etc). - -:line - -Any "dump files"_dump.html defined in the input script, will be -written to during a PRD run at timesteps corresponding to both -uncorrelated and correlated events. This means the requested dump -frequency in the "dump"_dump.html command is ignored. There will be -one dump file (per dump command) created for all partitions. - -The atom coordinates of the dump snapshot are those of the minimum -energy configuration resulting from quenching following a transition -event. The timesteps written into the dump files correspond to the -timestep at which the event occurred and NOT the clock. A dump -snapshot corresponding to the initial minimum state used for event -detection is written to the dump file at the beginning of each PRD -run. - -:line - -If the "restart"_restart.html command is used, a single restart file -for all the partitions is generated, which allows a PRD run to be -continued by a new input script in the usual manner. - -The restart file is generated at the end of the loop listed above. If -no correlated events are found, this means it contains a snapshot of -the system at time T + {t_correlate}, where T is the time at which the -uncorrelated event occurred. If correlated events were found, then it -contains a snapshot of the system at time T + {t_correlate}, where T -is the time of the last correlated event. - -The restart frequency specified in the "restart"_restart.html command -is interpreted differently when performing a PRD run. It does not -mean the timestep interval between restart files. Instead it means an -event interval for uncorrelated events. Thus a frequency of 1 means -write a restart file every time an uncorrelated event occurs. A -frequency of 10 means write a restart file every 10th uncorrelated -event. - -When an input script reads a restart file from a previous PRD run, the -new script can be run on a different number of replicas or processors. -However, it is assumed that {t_correlate} in the new PRD command is -the same as it was previously. If not, the calculation of the "clock" -value for the first event in the new run will be slightly off. - -:line - -[Restrictions:] - -This command can only be used if LAMMPS was built with the REPLICA -package. See the "Build package"_Build_package.html doc -page for more info. - -The {N} and {t_correlate} settings must be integer multiples of -{t_event}. - -Runs restarted from restart file written during a PRD run will not -produce identical results due to changes in the random numbers used -for dephasing. - -This command cannot be used when any fixes are defined that keep track -of elapsed time to perform time-dependent operations. Examples -include the "ave" fixes such as "fix ave/chunk"_fix_ave_chunk.html. -Also "fix dt/reset"_fix_dt_reset.html and "fix -deposit"_fix_deposit.html. - -[Related commands:] - -"compute event/displace"_compute_event_displace.html, -"min_modify"_min_modify.html, "min_style"_min_style.html, -"run_style"_run_style.html, "minimize"_minimize.html, -"velocity"_velocity.html, "temper"_temper.html, "neb"_neb.html, -"tad"_tad.html, "hyper"_hyper.html - -[Default:] - -The option defaults are min = 0.1 0.1 40 50, no temp setting, vel = -geom gaussian, and time = steps. - -:line - -:link(Voter1998) -[(Voter1998)] Voter, Phys Rev B, 57, 13985 (1998). - -:link(Voter2002prd) -[(Voter2002)] Voter, Montalenti, Germann, Annual Review of Materials -Research 32, 321 (2002). diff --git a/doc/txt/print.txt b/doc/txt/print.txt deleted file mode 100644 index 476d4104fab9bfcf41aa9ef7b7216523e6faf0d4..0000000000000000000000000000000000000000 --- a/doc/txt/print.txt +++ /dev/null @@ -1,84 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -print command :h3 - -[Syntax:] - -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} or {universe} :l - {file} value = filename - {append} value = filename - {screen} value = {yes} or {no} - {universe} value = {yes} or {no} :pre -:ule - -[Examples:] - -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 -""" :pre - -[Description:] - -Print a text string to the screen and logfile. The text string must -be a single argument, so if it is one line but more than one word, it -should be enclosed in single or double quotes. To generate multiple -lines of output, the string can be enclosed in triple quotes, as in -the last example above. If the text string contains variables, they -will be evaluated and their current values printed. - -If the {file} or {append} keyword is used, a filename is specified to -which the output will be written. If {file} is used, then the -filename is overwritten if it already exists. If {append} is used, -then the filename is appended to if it already exists, or created if -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 -periodically during a simulation. Second, the print command can be -used as an argument to the {every} option of the "run"_run.html -command. Third, the print command could appear in a section of the -input script that is looped over (see the "jump"_jump.html and -"next"_next.html commands). - -See the "variable"_variable.html command for a description of {equal} -style variables which are typically the most useful ones to use with -the print command. Equal-style variables can calculate formulas -involving mathematical operations, atom properties, group properties, -thermodynamic properties, global values calculated by a -"compute"_compute.html or "fix"_fix.html, or references to other -"variables"_variable.html. - -[Restrictions:] none - -[Related commands:] - -"fix print"_fix_print.html, "variable"_variable.html - -[Default:] - -The option defaults are no file output, screen = yes, and universe = no. diff --git a/doc/txt/processors.txt b/doc/txt/processors.txt deleted file mode 100644 index b9bd927f9688efbde7448eaa025bd111335eca4b..0000000000000000000000000000000000000000 --- a/doc/txt/processors.txt +++ /dev/null @@ -1,341 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -processors command :h3 - -[Syntax:] - -processors Px Py Pz keyword args ... :pre - -Px,Py,Pz = # of processors in each dimension of 3d grid overlaying the simulation domain :ulb,l -zero or more keyword/arg pairs may be appended :l -keyword = {grid} or {map} or {part} or {file} :l - {grid} arg = gstyle params ... - gstyle = {onelevel} or {twolevel} or {numa} or {custom} - onelevel params = none - twolevel params = Nc Cx Cy Cz - Nc = number of cores per node - Cx,Cy,Cz = # of cores in each dimension of 3d sub-grid assigned to each node - numa params = none - custom params = infile - infile = file containing grid layout - {map} arg = {cart} or {cart/reorder} or {xyz} or {xzy} or {yxz} or {yzx} or {zxy} or {zyx} - cart = use MPI_Cart() methods to map processors to 3d grid with reorder = 0 - cart/reorder = use MPI_Cart() methods to map processors to 3d grid with reorder = 1 - xyz,xzy,yxz,yzx,zxy,zyx = map processors to 3d grid in IJK ordering - {numa} arg = none - {part} args = Psend Precv cstyle - Psend = partition # (1 to Np) which will send its processor layout - Precv = partition # (1 to Np) which will recv the processor layout - cstyle = {multiple} - {multiple} = Psend grid will be multiple of Precv grid in each dimension - {file} arg = outfile - outfile = name of file to write 3d grid of processors to :pre -:ule - -[Examples:] - -processors * * 5 -processors 2 4 4 -processors * * 8 map xyz -processors * * * grid numa -processors * * * grid twolevel 4 * * 1 -processors 4 8 16 grid custom myfile -processors * * * part 1 2 multiple :pre - -[Description:] - -Specify how processors are mapped as a regular 3d grid to the global -simulation box. The mapping involves 2 steps. First if there are P -processors it means choosing a factorization P = Px by Py by Pz so -that there are Px processors in the x dimension, and similarly for the -y and z dimensions. Second, the P processors are mapped to the -regular 3d grid. The arguments to this command control each of these -2 steps. - -The Px, Py, Pz parameters affect the factorization. Any of the 3 -parameters can be specified with an asterisk "*", which means LAMMPS -will choose the number of processors in that dimension of the grid. -It will do this based on the size and shape of the global simulation -box so as to minimize the surface-to-volume ratio of each processor's -sub-domain. - -Choosing explicit values for Px or Py or Pz can be used to override -the default manner in which LAMMPS will create the regular 3d grid of -processors, if it is known to be sub-optimal for a particular problem. -E.g. a problem where the extent of atoms will change dramatically in a -particular dimension over the course of the simulation. - -The product of Px, Py, Pz must equal P, the total # of processors -LAMMPS is running on. For a "2d simulation"_dimension.html, Pz must -equal 1. - -Note that if you run on a prime number of processors P, then a grid -such as 1 x P x 1 will be required, which may incur extra -communication costs due to the high surface area of each processor's -sub-domain. - -Also note that if multiple partitions are being used then P is the -number of processors in this partition; see the "-partition -command-line switch"_Run_options.html doc page for details. Also note -that you can prefix the processors command with the -"partition"_partition.html command to easily specify different -Px,Py,Pz values for different partitions. - -You can use the "partition"_partition.html command to specify -different processor grids for different partitions, e.g. - -partition yes 1 processors 4 4 4 -partition yes 2 processors 2 3 2 :pre - -NOTE: This command only affects the initial regular 3d grid created -when the simulation box is first specified via a -"create_box"_create_box.html or "read_data"_read_data.html or -"read_restart"_read_restart.html command. Or if the simulation box is -re-created via the "replicate"_replicate.html command. The same -regular grid is initially created, regardless of which -"comm_style"_comm_style.html command is in effect. - -If load-balancing is never invoked via the "balance"_balance.html or -"fix balance"_fix_balance.html commands, then the initial regular grid -will persist for all simulations. If balancing is performed, some of -the methods invoked by those commands retain the logical topology of -the initial 3d grid, and the mapping of processors to the grid -specified by the processors command. However the grid spacings in -different dimensions may change, so that processors own sub-domains of -different sizes. If the "comm_style tiled"_comm_style.html command is -used, methods invoked by the balancing commands may discard the 3d -grid of processors and tile the simulation domain with sub-domains of -different sizes and shapes which no longer have a logical 3d -connectivity. If that occurs, all the information specified by the -processors command is ignored. - -:line - -The {grid} keyword affects the factorization of P into Px,Py,Pz and it -can also affect how the P processor IDs are mapped to the 3d grid of -processors. - -The {onelevel} style creates a 3d grid that is compatible with the -Px,Py,Pz settings, and which minimizes the surface-to-volume ratio of -each processor's sub-domain, as described above. The mapping of -processors to the grid is determined by the {map} keyword setting. - -The {twolevel} style can be used on machines with multicore nodes to -minimize off-node communication. It insures that contiguous -sub-sections of the 3d grid are assigned to all the cores of a node. -For example if {Nc} is 4, then 2x2x1 or 2x1x2 or 1x2x2 sub-sections of -the 3d grid will correspond to the cores of each node. This affects -both the factorization and mapping steps. - -The {Cx}, {Cy}, {Cz} settings are similar to the {Px}, {Py}, {Pz} -settings, only their product should equal {Nc}. Any of the 3 -parameters can be specified with an asterisk "*", which means LAMMPS -will choose the number of cores in that dimension of the node's -sub-grid. As with Px,Py,Pz, it will do this based on the size and -shape of the global simulation box so as to minimize the -surface-to-volume ratio of each processor's sub-domain. - -NOTE: For the {twolevel} style to work correctly, it assumes the MPI -ranks of processors LAMMPS is running on are ordered by core and then -by node. E.g. if you are running on 2 quad-core nodes, for a total of -8 processors, then it assumes processors 0,1,2,3 are on node 1, and -processors 4,5,6,7 are on node 2. This is the default rank ordering -for most MPI implementations, but some MPIs provide options for this -ordering, e.g. via environment variable settings. - -The {numa} style operates similar to the {twolevel} keyword except -that it auto-detects which cores are running on which nodes. -Currently, it does this in only 2 levels, but it may be extended in -the future to account for socket topology and other non-uniform memory -access (NUMA) costs. It also uses a different algorithm than the -{twolevel} keyword for doing the two-level factorization of the -simulation box into a 3d processor grid to minimize off-node -communication, and it does its own MPI-based mapping of nodes and -cores to the regular 3d grid. Thus it may produce a different layout -of the processors than the {twolevel} options. - -The {numa} style will give an error if the number of MPI processes is -not divisible by the number of cores used per node, or any of the Px -or Py of Pz values is greater than 1. - -NOTE: Unlike the {twolevel} style, the {numa} style does not require -any particular ordering of MPI ranks i norder to work correctly. This -is because it auto-detects which processes are running on which nodes. - -The {custom} style uses the file {infile} to define both the 3d -factorization and the mapping of processors to the grid. - -The file should have the following format. Any number of initial -blank or comment lines (starting with a "#" character) can be present. -The first non-blank, non-comment line should have -3 values: - -Px Py Py :pre - -These must be compatible with the total number of processors -and the Px, Py, Pz settings of the processors command. - -This line should be immediately followed by -P = Px*Py*Pz lines of the form: - -ID I J K :pre - -where ID is a processor ID (from 0 to P-1) and I,J,K are the -processors location in the 3d grid. I must be a number from 1 to Px -(inclusive) and similarly for J and K. The P lines can be listed in -any order, but no processor ID should appear more than once. - -:line - -The {map} keyword affects how the P processor IDs (from 0 to P-1) are -mapped to the 3d grid of processors. It is only used by the -{onelevel} and {twolevel} grid settings. - -The {cart} style uses the family of MPI Cartesian functions to perform -the mapping, namely MPI_Cart_create(), MPI_Cart_get(), -MPI_Cart_shift(), and MPI_Cart_rank(). It invokes the -MPI_Cart_create() function with its reorder flag = 0, so that MPI is -not free to reorder the processors. - -The {cart/reorder} style does the same thing as the {cart} style -except it sets the reorder flag to 1, so that MPI can reorder -processors if it desires. - -The {xyz}, {xzy}, {yxz}, {yzx}, {zxy}, and {zyx} styles are all -similar. If the style is IJK, then it maps the P processors to the -grid so that the processor ID in the I direction varies fastest, the -processor ID in the J direction varies next fastest, and the processor -ID in the K direction varies slowest. For example, if you select -style {xyz} and you have a 2x2x2 grid of 8 processors, the assignments -of the 8 octants of the simulation domain will be: - -proc 0 = lo x, lo y, lo z octant -proc 1 = hi x, lo y, lo z octant -proc 2 = lo x, hi y, lo z octant -proc 3 = hi x, hi y, lo z octant -proc 4 = lo x, lo y, hi z octant -proc 5 = hi x, lo y, hi z octant -proc 6 = lo x, hi y, hi z octant -proc 7 = hi x, hi y, hi z octant :pre - -Note that, in principle, an MPI implementation on a particular machine -should be aware of both the machine's network topology and the -specific subset of processors and nodes that were assigned to your -simulation. Thus its MPI_Cart calls can optimize the assignment of -MPI processes to the 3d grid to minimize communication costs. In -practice, however, few if any MPI implementations actually do this. -So it is likely that the {cart} and {cart/reorder} styles simply give -the same result as one of the IJK styles. - -Also note, that for the {twolevel} grid style, the {map} setting is -used to first map the nodes to the 3d grid, then again to the cores -within each node. For the latter step, the {cart} and {cart/reorder} -styles are not supported, so an {xyz} style is used in their place. - -:line - -The {part} keyword affects the factorization of P into Px,Py,Pz. - -It can be useful when running in multi-partition mode, e.g. with the -"run_style verlet/split"_run_style.html command. It specifies a -dependency between a sending partition {Psend} and a receiving -partition {Precv} which is enforced when each is setting up their own -mapping of their processors to the simulation box. Each of {Psend} -and {Precv} must be integers from 1 to Np, where Np is the number of -partitions you have defined via the "-partition command-line -switch"_Run_options.html. - -A "dependency" means that the sending partition will create its -regular 3d grid as Px by Py by Pz and after it has done this, it will -send the Px,Py,Pz values to the receiving partition. The receiving -partition will wait to receive these values before creating its own -regular 3d grid and will use the sender's Px,Py,Pz values as a -constraint. The nature of the constraint is determined by the -{cstyle} argument. - -For a {cstyle} of {multiple}, each dimension of the sender's processor -grid is required to be an integer multiple of the corresponding -dimension in the receiver's processor grid. This is a requirement of -the "run_style verlet/split"_run_style.html command. - -For example, assume the sending partition creates a 4x6x10 grid = 240 -processor grid. If the receiving partition is running on 80 -processors, it could create a 4x2x10 grid, but it will not create a -2x4x10 grid, since in the y-dimension, 6 is not an integer multiple of -4. - -NOTE: If you use the "partition"_partition.html command to invoke -different "processors" commands on different partitions, and you also -use the {part} keyword, then you must insure that both the sending and -receiving partitions invoke the "processors" command that connects the -2 partitions via the {part} keyword. LAMMPS cannot easily check for -this, but your simulation will likely hang in its setup phase if this -error has been made. - -:line - -The {file} keyword writes the mapping of the factorization of P -processors and their mapping to the 3d grid to the specified file -{outfile}. This is useful to check that you assigned physical -processors in the manner you desired, which can be tricky to figure -out, especially when running on multiple partitions or on, a multicore -machine or when the processor ranks were reordered by use of the -"-reorder command-line switch"_Run_options.html or due to use of -MPI-specific launch options such as a config file. - -If you have multiple partitions you should insure that each one writes -to a different file, e.g. using a "world-style variable"_variable.html -for the filename. The file has a self-explanatory header, followed by -one-line per processor in this format: - -world-ID universe-ID original-ID: I J K: name - -The IDs are the processor's rank in this simulation (the world), the -universe (of multiple simulations), and the original MPI communicator -used to instantiate LAMMPS, respectively. The world and universe IDs -will only be different if you are running on more than one partition; -see the "-partition command-line switch"_Run_options.html. The -universe and original IDs will only be different if you used the -"-reorder command-line switch"_Run_options.html to reorder the -processors differently than their rank in the original communicator -LAMMPS was instantiated with. - -I,J,K are the indices of the processor in the regular 3d grid, each -from 1 to Nd, where Nd is the number of processors in that dimension -of the grid. - -The {name} is what is returned by a call to MPI_Get_processor_name() -and should represent an identifier relevant to the physical processors -in your machine. Note that depending on the MPI implementation, -multiple cores can have the same {name}. - -:line - -[Restrictions:] - -This command cannot be used after the simulation box is defined by a -"read_data"_read_data.html or "create_box"_create_box.html command. -It can be used before a restart file is read to change the 3d -processor grid from what is specified in the restart file. - -The {grid numa} keyword only currently works with the {map cart} -option. - -The {part} keyword (for the receiving partition) only works with the -{grid onelevel} or {grid twolevel} options. - -[Related commands:] - -"partition"_partition.html, "-reorder command-line -switch"_Run_options.html - -[Default:] - -The option defaults are Px Py Pz = * * *, grid = onelevel, and map = -cart. diff --git a/doc/txt/quit.txt b/doc/txt/quit.txt deleted file mode 100644 index 802df97711e5c4b38e816f12f18043440cb669f3..0000000000000000000000000000000000000000 --- a/doc/txt/quit.txt +++ /dev/null @@ -1,46 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -quit command :h3 - -[Syntax:] - -quit status :pre - -status = numerical exit status (optional) - -[Examples:] - -quit -if "$n > 10000" then "quit 1" :pre - -[Description:] - -This command causes LAMMPS to exit, after shutting down all output -cleanly. - -It can be used as a debug statement in an input script, to terminate -the script at some intermediate point. - -It can also be used as an invoked command inside the "then" or "else" -portion of an "if"_if.html command. - -The optional status argument is an integer which signals the return -status to a program calling LAMMPS. A return status of 0 usually -indicates success. A status != 0 is failure, where the specified -value can be used to distinguish the kind of error, e.g. where in the -input script the quit was invoked. If not specified, a status of 0 is -returned. - -[Restrictions:] none - -[Related commands:] - -"if"_if.html - -[Default:] none diff --git a/doc/txt/read_data.txt b/doc/txt/read_data.txt deleted file mode 100644 index 5fb91ba797eb85e17c728f923b9b9a4fdedb3678..0000000000000000000000000000000000000000 --- a/doc/txt/read_data.txt +++ /dev/null @@ -1,1169 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -read_data command :h3 - -[Syntax:] - -read_data file keyword args ... :pre - -file = name of data file to read in :ulb,l -zero or more keyword/arg pairs may be appended :l -keyword = {add} or {offset} or {shift} or {extra/atom/types} or {extra/bond/types} or {extra/angle/types} or {extra/dihedral/types} or {extra/improper/types} or {extra/bond/per/atom} or {extra/angle/per/atom} or {extra/dihedral/per/atom} or {extra/improper/per/atom} or {group} or {nocoeff} or {fix} :l - {add} arg = {append} or {IDoffset} or {IDoffset MOLoffset} or {merge} - append = add new atoms with atom IDs appended to current IDs - IDoffset = add new atoms with atom IDs having IDoffset added - MOLoffset = add new atoms with molecule IDs having MOLoffset added (only when molecule IDs are enabled) - merge = add new atoms with their atom IDs (and molecule IDs) unchanged - {offset} args = toff boff aoff doff ioff - toff = offset to add to atom types - boff = offset to add to bond types - aoff = offset to add to angle types - doff = offset to add to dihedral types - ioff = offset to add to improper types - {shift} args = Sx Sy Sz - Sx,Sy,Sz = distance to shift atoms when adding to system (distance units) - {extra/atom/types} arg = # of extra atom types - {extra/bond/types} arg = # of extra bond types - {extra/angle/types} arg = # of extra angle types - {extra/dihedral/types} arg = # of extra dihedral types - {extra/improper/types} arg = # of extra improper types - {extra/bond/per/atom} arg = leave space for this many new bonds per atom - {extra/angle/per/atom} arg = leave space for this many new angles per atom - {extra/dihedral/per/atom} arg = leave space for this many new dihedrals per atom - {extra/improper/per/atom} arg = leave space for this many new impropers per atom - {extra/special/per/atom} arg = leave space for extra 1-2,1-3,1-4 interactions per atom - {group} args = groupID - groupID = add atoms in data file to this group - {nocoeff} = ignore force field parameters - {fix} args = fix-ID header-string section-string - fix-ID = ID of fix to process header lines and sections of data file - header-string = header lines containing this string will be passed to fix - section-string = section names with this string will be passed to fix :pre -:ule - -[Examples:] - -read_data data.lj -read_data ../run7/data.polymer.gz -read_data data.protein fix mycmap crossterm CMAP -read_data data.water add append offset 3 1 1 1 1 shift 0.0 0.0 50.0 -read_data data.water add merge 1 group solvent :pre - -[Description:] - -Read in a data file containing information LAMMPS needs to run a -simulation. The file can be ASCII text or a gzipped text file -(detected by a .gz suffix). This is one of 3 ways to specify initial -atom coordinates; see the "read_restart"_read_restart.html and -"create_atoms"_create_atoms.html commands for alternative methods. -Also see the explanation of the "-restart command-line -switch"_Run_options.html which can convert a restart file to a data -file. - -This command can be used multiple times to add new atoms and their -properties to an existing system by using the {add}, {offset}, and -{shift} keywords. See more details below, which includes the use case -for the {extra} keywords. - -The {group} keyword adds all the atoms in the data file to the -specified group-ID. The group will be created if it does not already -exist. This is useful if you are reading multiple data files and wish -to put sets of atoms into different groups so they can be operated on -later. E.g. a group of added atoms can be moved to new positions via -the "displace_atoms"_displace_atoms.html command. Note that atoms -read from the data file are also always added to the "all" group. The -"group"_group.html command discusses atom groups, as used in LAMMPS. - -The {nocoeff} keyword tells read_data to ignore force field parameters. -The various Coeff sections are still read and have to have the correct -number of lines, but they are not applied. This also allows to read a -data file without having any pair, bond, angle, dihedral or improper -styles defined, or to read a data file for a different force field. - -The use of the {fix} keyword is discussed below. - -:line - -[Reading multiple data files] - -The read_data command can be used multiple times with the same or -different data files to build up a complex system from components -contained in individual data files. For example one data file could -contain fluid in a confined domain; a second could contain wall atoms, -and the second file could be read a third time to create a wall on the -other side of the fluid. The third set of atoms could be rotated to -an opposing direction using the "displace_atoms"_displace_atoms.html -command, after the third read_data command is used. - -The {add}, {offset}, {shift}, {extra}, and {group} keywords are -useful in this context. - -If a simulation box does not yet exist, the {add} keyword -cannot be used; the read_data command is being used for the first -time. If a simulation box does exist, due to using the -"create_box"_create_box.html command, or a previous read_data command, -then the {add} keyword must be used. - -NOTE: The simulation box size (xlo to xhi, ylo to yhi, zlo to zhi) in -the new data file will be merged with the existing simulation box to -create a large enough box in each dimension to contain both the -existing and new atoms. Each box dimension never shrinks due to this -merge operation, it only stays the same or grows. Care must be used if -you are growing the existing simulation box in a periodic dimension. -If there are existing atoms with bonds that straddle that periodic -boundary, then the atoms may become far apart if the box size grows. -This will separate the atoms in the bond, which can lead to "lost" -bond atoms or bad dynamics. - -The three choices for the {add} argument affect how the atom IDs and -molecule IDs of atoms in the data file are treated. If {append} is -specified, atoms in the data file are added to the current system, -with their atom IDs reset so that an atom-ID = M in the data file -becomes atom-ID = N+M, where N is the largest atom ID in the current -system. This rule is applied to all occurrences of atom IDs in the -data file, e.g. in the Velocity or Bonds section. This is also done -for molecule IDs, if the atom style does support molecule IDs or -they are enabled via fix property/atom. If {IDoffset} is specified, -then {IDoffset} is a numeric value is given, e.g. 1000, so that an -atom-ID = M in the data file becomes atom-ID = 1000+M. For systems -with enabled molecule IDs, another numerical argument {MOLoffset} -is required representing the equivalent offset for molecule IDs. -If {merge} is specified, the data file atoms -are added to the current system without changing their IDs. They are -assumed to merge (without duplication) with the currently defined -atoms. It is up to you to insure there are no multiply defined atom -IDs, as LAMMPS only performs an incomplete check that this is the case -by insuring the resulting max atom-ID >= the number of atoms. For -molecule IDs, there is no check done at all. - -The {offset} and {shift} keywords can only be used if the {add} -keyword is also specified. - -The {offset} keyword adds the specified offset values to the atom -types, bond types, angle types, dihedral types, and improper types as -they are read from the data file. E.g. if {toff} = 2, and the file -uses atom types 1,2,3, then the added atoms will have atom types -3,4,5. These offsets apply to all occurrences of types in the data -file, e.g. for the Atoms or Masses or Pair Coeffs or Bond Coeffs -sections. This makes it easy to use atoms and molecules and their -attributes from a data file in different simulations, where you want -their types (atom, bond, angle, etc) to be different depending on what -other types already exist. All five offset values must be specified, -but individual values will be ignored if the data file does not use -that attribute (e.g. no bonds). - -The {shift} keyword can be used to specify an (Sx, Sy, Sz) -displacement applied to the coordinates of each atom. Sz must be 0.0 -for a 2d simulation. This is a mechanism for adding structured -collections of atoms at different locations within the simulation box, -to build up a complex geometry. It is up to you to insure atoms do -not end up overlapping unphysically which would lead to bad dynamics. -Note that the "displace_atoms"_displace_atoms.html command can be used -to move a subset of atoms after they have been read from a data file. -Likewise, the "delete_atoms"_delete_atoms.html command can be used to -remove overlapping atoms. Note that the shift values (Sx, Sy, Sz) are -also added to the simulation box information (xlo, xhi, ylo, yhi, zlo, -zhi) in the data file to shift its boundaries. E.g. xlo_new = xlo + -Sx, xhi_new = xhi + Sx. - -The {extra} keywords can only be used the first time the read_data -command is used. They are useful if you intend to add new atom, bond, -angle, etc types later with additional read_data commands. This is -because the maximum number of allowed atom, bond, angle, etc types is -set by LAMMPS when the system is first initialized. If you do not use -the {extra} keywords, then the number of these types will be limited -to what appears in the first data file you read. For example, if the -first data file is a solid substrate of Si, it will likely specify a -single atom type. If you read a second data file with a different -material (water molecules) that sit on top of the substrate, you will -want to use different atom types for those atoms. You can only do -this if you set the {extra/atom/types} keyword to a sufficiently large -value when reading the substrate data file. Note that use of the -{extra} keywords also allows each data file to contain sections like -Masses or Pair Coeffs or Bond Coeffs which are sized appropriately for -the number of types in that data file. If the {offset} keyword is -used appropriately when each data file is read, the values in those -sections will be stored correctly in the larger data structures -allocated by the use of the {extra} keywords. E.g. the substrate file -can list mass and pair coefficients for type 1 silicon atoms. The -water file can list mass and pair coefficients for type 1 and type 2 -hydrogen and oxygen atoms. Use of the {extra} and {offset} keywords -will store those mass and pair coefficient values appropriately in -data structures that allow for 3 atom types (Si, H, O). Of course, -you would still need to specify coefficients for H/Si and O/Si -interactions in your input script to have a complete pairwise -interaction model. - -An alternative to using the {extra} keywords with the read_data -command, is to use the "create_box"_create_box.html command to -initialize the simulation box and all the various type limits you need -via its {extra} keywords. Then use the read_data command one or more -times to populate the system with atoms, bonds, angles, etc, using the -{offset} keyword if desired to alter types used in the various data -files you read. - -:line - -[Format of a data file] - -The structure of the data file is important, though many settings and -sections are optional or can come in any order. See the examples -directory for sample data files for different problems. - -A data file has a header and a body. The header appears first. The -first line of the header is always skipped; it typically contains a -description of the file. Then lines are read one at a time. Lines -can have a trailing comment starting with '#' that is ignored. If the -line is blank (only white-space after comment is deleted), it is -skipped. If the line contains a header keyword, the corresponding -value(s) is read from the line. If it doesn't contain a header -keyword, the line begins the body of the file. - -The body of the file contains zero or more sections. The first line -of a section has only a keyword. This line can have a trailing -comment starting with '#' that is either ignored or can be used to -check for a style match, as described below. The next line is -skipped. The remaining lines of the section contain values. The -number of lines depends on the section keyword as described below. -Zero or more blank lines can be used between sections. Sections can -appear in any order, with a few exceptions as noted below. - -The keyword {fix} can be used one or more times. Each usage specifies -a fix that will be used to process a specific portion of the data -file. Any header line containing {header-string} and any section with -a name containing {section-string} will be passed to the specified -fix. See the "fix property/atom"_fix_property_atom.html command for -an example of a fix that operates in this manner. The doc page for -the fix defines the syntax of the header line(s) and section(s) that -it reads from the data file. Note that the {header-string} can be -specified as NULL, in which case no header lines are passed to the -fix. This means that it can infer the length of its Section from -standard header settings, such as the number of atoms. - -The formatting of individual lines in the data file (indentation, -spacing between words and numbers) is not important except that header -and section keywords (e.g. atoms, xlo xhi, Masses, Bond Coeffs) must -be capitalized as shown and can't have extra white-space between their -words - e.g. two spaces or a tab between the 2 words in "xlo xhi" or -the 2 words in "Bond Coeffs", is not valid. - -:line - -[Format of the header of a data file] - -These are the recognized header keywords. Header lines can come in -any order. The value(s) are read from the beginning of the line. -Thus the keyword {atoms} should be in a line like "1000 atoms"; the -keyword {ylo yhi} should be in a line like "-10.0 10.0 ylo yhi"; the -keyword {xy xz yz} should be in a line like "0.0 5.0 6.0 xy xz yz". -All these settings have a default value of 0, except the lo/hi box -size defaults are -0.5 and 0.5. A line need only appear if the value -is different than the default. - -{atoms} = # of atoms in system -{bonds} = # of bonds in system -{angles} = # of angles in system -{dihedrals} = # of dihedrals in system -{impropers} = # of impropers in system -{atom types} = # of atom types in system -{bond types} = # of bond types in system -{angle types} = # of angle types in system -{dihedral types} = # of dihedral types in system -{improper types} = # of improper types in system -{extra bond per atom} = leave space for this many new bonds per atom (deprecated, use extra/bond/per/atom keyword) -{extra angle per atom} = leave space for this many new angles per atom (deprecated, use extra/angle/per/atom keyword) -{extra dihedral per atom} = leave space for this many new dihedrals per atom (deprecated, use extra/dihedral/per/atom keyword) -{extra improper per atom} = leave space for this many new impropers per atom (deprecated, use extra/improper/per/atom keyword) -{extra special per atom} = leave space for this many new special bonds per atom (deprecated, use extra/special/per/atom keyword) -{ellipsoids} = # of ellipsoids in system -{lines} = # of line segments in system -{triangles} = # of triangles in system -{bodies} = # of bodies in system -{xlo xhi} = simulation box boundaries in x dimension -{ylo yhi} = simulation box boundaries in y dimension -{zlo zhi} = simulation box boundaries in z dimension -{xy xz yz} = simulation box tilt factors for triclinic system :ul - -The initial simulation box size is determined by the lo/hi settings. -In any dimension, the system may be periodic or non-periodic; see the -"boundary"_boundary.html command. When the simulation box is created -it is also partitioned into a regular 3d grid of rectangular bricks, -one per processor, based on the number of processors being used and -the settings of the "processors"_processors.html command. The -partitioning can later be changed by the "balance"_balance.html or -"fix balance"_fix_balance.html commands. - -If the {xy xz yz} line does not appear, LAMMPS will set up an -axis-aligned (orthogonal) simulation box. If the line does appear, -LAMMPS creates a non-orthogonal simulation domain shaped as a -parallelepiped with triclinic symmetry. The parallelepiped has its -"origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting -from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = -(xz,yz,zhi-zlo). {Xy,xz,yz} can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of -displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. - -By default, the tilt factors (xy,xz,yz) can not skew the box more than -half the distance of the corresponding parallel box length. For -example, if xlo = 2 and xhi = 12, then the x box length is 10 and the -xy tilt factor must be between -5 and 5. Similarly, both xz and yz -must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not -a limitation, since if the maximum tilt factor is 5 (as in this -example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are all geometrically equivalent. If you wish to define a box -with tilt factors that exceed these limits, you can use the "box -tilt"_box.html command, with a setting of {large}; a setting of -{small} is the default. - -See the "Howto triclinic"_Howto_triclinic.html doc page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. - -When a triclinic system is used, the simulation domain should normally -be periodic in the dimension that the tilt is applied to, which is -given by the second dimension of the tilt factor (e.g. y for xy tilt). -This is so that pairs of atoms interacting across that boundary will -have one of them shifted by the tilt factor. Periodicity is set by -the "boundary"_boundary.html command. For example, if the xy tilt -factor is non-zero, then the y dimension should be periodic. -Similarly, the z dimension should be periodic if xz or yz is non-zero. -LAMMPS does not require this periodicity, but you may lose atoms if -this is not the case. - -Also note that if your simulation will tilt the box, e.g. via the "fix -deform"_fix_deform.html command, the simulation box must be setup to -be triclinic, even if the tilt factors are initially 0.0. You can -also change an orthogonal box to a triclinic box or vice versa by -using the "change box"_change_box.html command with its {ortho} and -{triclinic} options. - -For 2d simulations, the {zlo zhi} values should be set to bound the z -coords for atoms that appear in the file; the default of -0.5 0.5 is -valid if all z coords are 0.0. For 2d triclinic simulations, the xz -and yz tilt factors must be 0.0. - -If the system is periodic (in a dimension), then atom coordinates can -be outside the bounds (in that dimension); they will be remapped (in a -periodic sense) back inside the box. Note that if the {add} option is -being used to add atoms to a simulation box that already exists, this -periodic remapping will be performed using simulation box bounds that -are the union of the existing box and the box boundaries in the new -data file. - -NOTE: If the system is non-periodic (in a dimension), then all atoms -in the data file must have coordinates (in that dimension) that are -"greater than or equal to" the lo value and "less than or equal to" -the hi value. If the non-periodic dimension is of style "fixed" (see -the "boundary"_boundary.html command), then the atom coords must be -strictly "less than" the hi value, due to the way LAMMPS assign atoms -to processors. Note that you should not make the lo/hi values -radically smaller/larger than the extent of the atoms. For example, -if your atoms extend from 0 to 50, you should not specify the box -bounds as -10000 and 10000. This is because LAMMPS uses the specified -box size to layout the 3d grid of processors. A huge (mostly empty) -box will be sub-optimal for performance when using "fixed" boundary -conditions (see the "boundary"_boundary.html command). When using -"shrink-wrap" boundary conditions (see the "boundary"_boundary.html -command), a huge (mostly empty) box may cause a parallel simulation to -lose atoms when LAMMPS shrink-wraps the box around the atoms. The -read_data command will generate an error in this case. - -The "extra bond per atom" setting (angle, dihedral, improper) is only -needed if new bonds (angles, dihedrals, impropers) will be added to -the system when a simulation runs, e.g. by using the "fix -bond/create"_fix_bond_create.html command. Using this header flag -is deprecated; please use the {extra/bond/per/atom} keyword (and -correspondingly for angles, dihedrals and impropers) in the read_data -command instead. Either will pre-allocate space in LAMMPS data -structures for storing the new bonds (angles, dihedrals, impropers). - -The "extra special per atom" setting is typically only needed if new -bonds/angles/etc will be added to the system, e.g. by using the "fix -bond/create"_fix_bond_create.html command. Or if entire new molecules -will be added to the system, e.g. by using the -"fix deposit"_fix_deposit.html or "fix pour"_fix_pour.html commands, -which will have more special 1-2,1-3,1-4 neighbors than any other -molecules defined in the data file. Using this header flag is -deprecated; please use the {extra/special/per/atom} keyword instead. -Using this setting will pre-allocate space in the LAMMPS data -structures for storing these neighbors. See the -"special_bonds"_special_bonds.html and "molecule"_molecule.html doc -pages for more discussion of 1-2,1-3,1-4 neighbors. - -NOTE: All of the "extra" settings are only applied in the first data -file read and when no simulation box has yet been created; as soon as -the simulation box is created (and read_data implies that), these -settings are {locked} and cannot be changed anymore. Please see the -description of the {add} keyword above for reading multiple data files. -If they appear in later data files, they are ignored. - -The "ellipsoids" and "lines" and "triangles" and "bodies" settings are -only used with "atom_style ellipsoid or line or tri or -body"_atom_style.html and specify how many of the atoms are -finite-size ellipsoids or lines or triangles or bodies; the remainder -are point particles. See the discussion of ellipsoidflag and the -{Ellipsoids} section below. See the discussion of lineflag and the -{Lines} section below. See the discussion of triangleflag and the -{Triangles} section below. See the discussion of bodyflag and the -{Bodies} section below. - -NOTE: For "atom_style template"_atom_style.html, the molecular -topology (bonds,angles,etc) is contained in the molecule templates -read-in by the "molecule"_molecule.html command. This means you -cannot set the {bonds}, {angles}, etc header keywords in the data -file, nor can you define {Bonds}, {Angles}, etc sections as discussed -below. You can set the {bond types}, {angle types}, etc header -keywords, though it is not necessary. If specified, they must match -the maximum values defined in any of the template molecules. - -:line - -[Format of the body of a data file] - -These are the section keywords for the body of the file. - -{Atoms, Velocities, Masses, Ellipsoids, Lines, Triangles, Bodies} = atom-property sections -{Bonds, Angles, Dihedrals, Impropers} = molecular topology sections -{Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, \ - Improper Coeffs} = force field sections -{BondBond Coeffs, BondAngle Coeffs, MiddleBondTorsion Coeffs, \ - EndBondTorsion Coeffs, AngleTorsion Coeffs, AngleAngleTorsion Coeffs, \ - BondBond13 Coeffs, AngleAngle Coeffs} = class 2 force field sections :ul - -These keywords will check an appended comment for a match with the -currently defined style: - -{Atoms, Pair Coeffs, PairIJ Coeffs, Bond Coeffs, Angle Coeffs, Dihedral Coeffs, Improper Coeffs} :ul - -For example, these lines: - -Atoms # sphere -Pair Coeffs # lj/cut :pre - -will check if the currently-defined "atom_style"_atom_style.html is -{sphere}, and the current "pair_style"_pair_style.html is {lj/cut}. -If not, LAMMPS will issue a warning to indicate that the data file -section likely does not contain the correct number or type of -parameters expected for the currently-defined style. - -Each section is listed below in alphabetic order. The format of each -section is described including the number of lines it must contain and -rules (if any) for where it can appear in the data file. - -Any individual line in the various sections can have a trailing -comment starting with "#" for annotation purposes. E.g. in the -Atoms section: - -10 1 17 -1.0 10.0 5.0 6.0 # salt ion :pre - -:line - -{Angle Coeffs} section: - -one line per angle type :ulb,l -line syntax: ID coeffs :l - ID = angle type (1-N) - coeffs = list of coeffs :pre -example: :l - 6 70 108.5 0 0 :pre -:ule - -The number and meaning of the coefficients are specific to the defined -angle style. See the "angle_style"_angle_style.html and -"angle_coeff"_angle_coeff.html commands for details. Coefficients can -also be set via the "angle_coeff"_angle_coeff.html command in the -input script. - -:line - -{AngleAngle Coeffs} section: - -one line per improper type :ulb,l -line syntax: ID coeffs :l - ID = improper type (1-N) - coeffs = list of coeffs (see "improper_coeff"_improper_coeff.html) :pre -:ule - -:line - -{AngleAngleTorsion Coeffs} section: - -one line per dihedral type :ulb,l -line syntax: ID coeffs :l - ID = dihedral type (1-N) - coeffs = list of coeffs (see "dihedral_coeff"_dihedral_coeff.html) :pre -:ule - -:line - -{Angles} section: - -one line per angle :ulb,l -line syntax: ID type atom1 atom2 atom3 :l - ID = number of angle (1-Nangles) - type = angle type (1-Nangletype) - atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle :pre -example: :b - 2 2 17 29 430 :pre -:ule - -The 3 atoms are ordered linearly within the angle. Thus the central -atom (around which the angle is computed) is the atom2 in the list. -E.g. H,O,H for a water molecule. The {Angles} section must appear -after the {Atoms} section. All values in this section must be -integers (1, not 1.0). - -:line - -{AngleTorsion Coeffs} section: - -one line per dihedral type :ulb,l -line syntax: ID coeffs :l - ID = dihedral type (1-N) - coeffs = list of coeffs (see "dihedral_coeff"_dihedral_coeff.html) :pre -:ule - -:line - -{Atoms} section: - -one line per atom -line syntax: depends on atom style :ul - -An {Atoms} section must appear in the data file if natoms > 0 in the -header section. The atoms can be listed in any order. These are the -line formats for each "atom style"_atom_style.html in LAMMPS. As -discussed below, each line can optionally have 3 flags (nx,ny,nz) -appended to it, which indicate which image of a periodic simulation -box the atom is in. These may be important to include for some kinds -of analysis. - -angle: atom-ID molecule-ID atom-type x y z -atomic: atom-ID atom-type x y z -body: atom-ID atom-type bodyflag mass x y z -bond: atom-ID molecule-ID atom-type x y z -charge: atom-ID atom-type q x y z -dipole: atom-ID atom-type q x y z mux muy muz -dpd: atom-ID atom-type theta x y z -edpd: atom-ID atom-type edpd_temp edpd_cv x y z -mdpd: atom-ID atom-type rho x y z -tdpd: atom-ID atom-type x y z cc1 cc2 ... ccNspecies -electron: atom-ID atom-type q spin eradius x y z -ellipsoid: atom-ID atom-type ellipsoidflag density x y z -full: atom-ID molecule-ID atom-type q x y z -line: atom-ID molecule-ID atom-type lineflag density x y z -meso: atom-ID atom-type rho e cv x y z -molecular: atom-ID molecule-ID atom-type x y z -peri: atom-ID atom-type volume density x y z -smd: atom-ID atom-type molecule volume mass kernel-radius contact-radius x y z -sphere: atom-ID atom-type diameter density x y z -spin: atom-ID atom-type sp x y z spx spy spz -template: atom-ID molecule-ID template-index template-atom atom-type x y z -tri: atom-ID molecule-ID atom-type triangleflag density x y z -wavepacket: atom-ID atom-type charge spin eradius etag cs_re cs_im x y z -hybrid: atom-ID atom-type x y z sub-style1 sub-style2 ... :tb(s=:) - -The per-atom values have these meanings and units, listed alphabetically: - -atom-ID = integer ID of atom -atom-type = type of atom (1-Ntype) -bodyflag = 1 for body particles, 0 for point particles -cc = chemical concentration for tDPD particles for each species (mole/volume units) -contact-radius = ??? (distance units) -cs_re,cs_im = real/imaginary parts of wave packet coefficients -cv = heat capacity (need units) for SPH particles -density = density of particle (mass/distance^3 or mass/distance^2 or mass/distance units, depending on dimensionality of particle) -diameter = diameter of spherical atom (distance units) -e = energy (need units) for SPH particles -edpd_temp = temperature for eDPD particles (temperature units) -edpd_cv = volumetric heat capacity for eDPD particles (energy/temperature/volume units) -ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles -eradius = electron radius (or fixed-core radius) -etag = integer ID of electron that each wave packet belongs to -kernel-radius = ??? (distance units) -lineflag = 1 for line segment particles, 0 for point or spherical particles -mass = mass of particle (mass units) -molecule-ID = integer ID of molecule the atom belongs to -mux,muy,muz = components of dipole moment of atom (dipole units) -q = charge on atom (charge units) -rho = density (need units) for SPH particles -spin = electron spin (+1/-1), 0 = nuclei, 2 = fixed-core, 3 = pseudo-cores (i.e. ECP) -sp = norm of magnetic spin of atom (in number of Bohr magnetons) -spx,spy,spz = components of magnetic spin of atom (adim normalized vector) -template-atom = which atom within a template molecule the atom is -template-index = which molecule within the molecule template the atom is part of -theta = internal temperature of a DPD particle -triangleflag = 1 for triangular particles, 0 for point or spherical particles -volume = volume of Peridynamic particle (distance^3 units) -x,y,z = coordinates of atom (distance units) :ul - -The units for these quantities depend on the unit style; see the -"units"_units.html command for details. - -For 2d simulations specify z as 0.0, or a value within the {zlo zhi} -setting in the data file header. - -The atom-ID is used to identify the atom throughout the simulation and -in dump files. Normally, it is a unique value from 1 to Natoms for -each atom. Unique values larger than Natoms can be used, but they -will cause extra memory to be allocated on each processor, if an atom -map array is used, but not if an atom map hash is used; see the -"atom_modify"_atom_modify.html command for details. If an atom map is -not used (e.g. an atomic system with no bonds), and you don't care if -unique atom IDs appear in dump files, then the atom-IDs can all be set -to 0. - -The molecule ID is a 2nd identifier attached to an atom. Normally, it -is a number from 1 to N, identifying which molecule the atom belongs -to. It can be 0 if it is a non-bonded atom or if you don't care to -keep track of molecule assignments. - -The diameter specifies the size of a finite-size spherical particle. -It can be set to 0.0, which means that atom is a point particle. - -The ellipsoidflag, lineflag, triangleflag, and bodyflag determine -whether the particle is a finite-size ellipsoid or line or triangle or -body of finite size, or whether the particle is a point particle. -Additional attributes must be defined for each ellipsoid, line, -triangle, or body in the corresponding {Ellipsoids}, {Lines}, -{Triangles}, or {Bodies} section. - -The {template-index} and {template-atom} are only defined used by -"atom_style template"_atom_style.html. In this case the -"molecule"_molecule.html command is used to define a molecule template -which contains one or more molecules. If an atom belongs to one of -those molecules, its {template-index} and {template-atom} are both set -to positive integers; if not the values are both 0. The -{template-index} is which molecule (1 to Nmols) the atom belongs to. -The {template-atom} is which atom (1 to Natoms) within the molecule -the atom is. - -Some pair styles and fixes and computes that operate on finite-size -particles allow for a mixture of finite-size and point particles. See -the doc pages of individual commands for details. - -For finite-size particles, the density is used in conjunction with the -particle volume to set the mass of each particle as mass = density * -volume. In this context, volume can be a 3d quantity (for spheres or -ellipsoids), a 2d quantity (for triangles), or a 1d quantity (for line -segments). If the volume is 0.0, meaning a point particle, then the -density value is used as the mass. One exception is for the body atom -style, in which case the mass of each particle (body or point -particle) is specified explicitly. This is because the volume of the -body is unknown. - -Note that for 2d simulations of spheres, this command will treat them -as spheres when converting density to mass. However, they can also be -modeled as 2d discs (circles) if the "set density/disc"_set.html -command is used to reset their mass after the read_data command is -used. A {disc} keyword can also be used with time integration fixes, -such as "fix nve/sphere"_fix_nve_sphere.html and "fix -nvt/sphere"_fix_nve_sphere.html to time integrate their motion as 2d -discs (not 3d spheres), by changing their moment of inertia. - -For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), -specific values for each sub-style must be listed. The order of the -sub-styles is the same as they were listed in the -"atom_style"_atom_style.html command. The sub-style specific values -are those that are not the 5 standard ones (ID,type,x,y,z). For -example, for the "charge" sub-style, a "q" value would appear. For -the "full" sub-style, a "molecule-ID" and "q" would appear. These are -listed in the same order they appear as listed above. Thus if - -atom_style hybrid charge sphere :pre - -were used in the input script, each atom line would have these fields: - -atom-ID atom-type x y z q diameter density :pre - -Note that if a non-standard value is defined by multiple sub-styles, -it must appear multiple times in the atom line. E.g. the atom line -for atom_style hybrid dipole full would list "q" twice: - -atom-ID atom-type x y z q mux muy myz molecule-ID q :pre - -Atom lines specify the (x,y,z) coordinates of atoms. These can be -inside or outside the simulation box. When the data file is read, -LAMMPS wraps coordinates outside the box back into the box for -dimensions that are periodic. As discussed above, if an atom is -outside the box in a non-periodic dimension, it will be lost. - -LAMMPS always stores atom coordinates as values which are inside the -simulation box. It also stores 3 flags which indicate which image of -the simulation box (in each dimension) the atom would be in if its -coordinates were unwrapped across periodic boundaries. An image flag -of 0 means the atom is still inside the box when unwrapped. A value -of 2 means add 2 box lengths to get the unwrapped coordinate. A value -of -1 means subtract 1 box length to get the unwrapped coordinate. -LAMMPS updates these flags as atoms cross periodic boundaries during -the simulation. The "dump"_dump.html command can output atom -coordinates in wrapped or unwrapped form, as well as the 3 image -flags. - -In the data file, atom lines (all lines or none of them) can -optionally list 3 trailing integer values (nx,ny,nz), which are used -to initialize the atom's image flags. If nx,ny,nz values are not -listed in the data file, LAMMPS initializes them to 0. Note that the -image flags are immediately updated if an atom's coordinates need to -wrapped back into the simulation box. - -It is only important to set image flags correctly in a data file if a -simulation model relies on unwrapped coordinates for some calculation; -otherwise they can be left unspecified. Examples of LAMMPS commands -that use unwrapped coordinates internally are as follows: - -Atoms in a rigid body (see "fix rigid"_fix_rigid.html, "fix -rigid/small"_fix_rigid.html) must have consistent image flags, so that -when the atoms are unwrapped, they are near each other, i.e. as a -single body. :ulb,l - -If the "replicate"_replicate.html command is used to generate a larger -system, image flags must be consistent for bonded atoms when the bond -crosses a periodic boundary. I.e. the values of the image flags -should be different by 1 (in the appropriate dimension) for the two -atoms in such a bond. :l - -If you plan to "dump"_dump.html image flags and perform post-analysis -that will unwrap atom coordinates, it may be important that a -continued run (restarted from a data file) begins with image flags -that are consistent with the previous run. :l -:ule - -NOTE: If your system is an infinite periodic crystal with bonds then -it is impossible to have fully consistent image flags. This is because -some bonds will cross periodic boundaries and connect two atoms with the -same image flag. - -Atom velocities and other atom quantities not defined above are set to -0.0 when the {Atoms} section is read. Velocities can be set later by -a {Velocities} section in the data file or by a -"velocity"_velocity.html or "set"_set.html command in the input -script. - -:line - -{Bodies} section: - -one or more lines per body :ulb,l -first line syntax: atom-ID Ninteger Ndouble :l - Ninteger = # of integer quantities for this particle - Ndouble = # of floating-point quantities for this particle :pre -0 or more integer lines with total of Ninteger values :l -0 or more double lines with total of Ndouble values :l -example: :l - 12 3 6 - 2 3 2 - 1.0 2.0 3.0 1.0 2.0 4.0 :pre -example: :l - 12 0 14 - 1.0 2.0 3.0 1.0 2.0 4.0 1.0 - 2.0 3.0 1.0 2.0 4.0 4.0 2.0 :pre -:ule - -The {Bodies} section must appear if "atom_style body"_atom_style.html -is used and any atoms listed in the {Atoms} section have a bodyflag = -1. The number of bodies should be specified in the header section via -the "bodies" keyword. - -Each body can have a variable number of integer and/or floating-point -values. The number and meaning of the values is defined by the body -style, as described in the "Howto body"_Howto_body.html doc page. The -body style is given as an argument to the "atom_style -body"_atom_style.html command. - -The Ninteger and Ndouble values determine how many integer and -floating-point values are specified for this particle. Ninteger and -Ndouble can be as large as needed and can be different for every body. -Integer values are then listed next on subsequent lines. Lines are -read one at a time until Ninteger values are read. Floating-point -values follow on subsequent lines, Again lines are read one at a time -until Ndouble values are read. Note that if there are no values of a -particular type, no lines appear for that type. - -The {Bodies} section must appear after the {Atoms} section. - -:line - -{Bond Coeffs} section: - -one line per bond type :ulb,l -line syntax: ID coeffs :l - ID = bond type (1-N) - coeffs = list of coeffs :pre -example: :l - 4 250 1.49 :pre -:ule - -The number and meaning of the coefficients are specific to the defined -bond style. See the "bond_style"_bond_style.html and -"bond_coeff"_bond_coeff.html commands for details. Coefficients can -also be set via the "bond_coeff"_bond_coeff.html command in the input -script. - -:line - -{BondAngle Coeffs} section: - -one line per angle type :ulb,l -line syntax: ID coeffs :l - ID = angle type (1-N) - coeffs = list of coeffs (see class 2 section of "angle_coeff"_angle_coeff.html) :pre -:ule - -:line - -{BondBond Coeffs} section: - -one line per angle type :ulb,l -line syntax: ID coeffs :l - ID = angle type (1-N) - coeffs = list of coeffs (see class 2 section of "angle_coeff"_angle_coeff.html) :pre -:ule - -:line - -{BondBond13 Coeffs} section: - -one line per dihedral type :ulb,l -line syntax: ID coeffs :l - ID = dihedral type (1-N) - coeffs = list of coeffs (see class 2 section of "dihedral_coeff"_dihedral_coeff.html) :pre -:ule - -:line - -{Bonds} section: - -one line per bond :ulb,l -line syntax: ID type atom1 atom2 :l - ID = bond number (1-Nbonds) - type = bond type (1-Nbondtype) - atom1,atom2 = IDs of 1st,2nd atoms in bond :pre -example: :l - 12 3 17 29 :pre -:ule - -The {Bonds} section must appear after the {Atoms} section. All values -in this section must be integers (1, not 1.0). - -:line - -{Dihedral Coeffs} section: - -one line per dihedral type :ulb,l -line syntax: ID coeffs :l - ID = dihedral type (1-N) - coeffs = list of coeffs :pre -example: :l - 3 0.6 1 0 1 :pre -:ule - -The number and meaning of the coefficients are specific to the defined -dihedral style. See the "dihedral_style"_dihedral_style.html and -"dihedral_coeff"_dihedral_coeff.html commands for details. -Coefficients can also be set via the -"dihedral_coeff"_dihedral_coeff.html command in the input script. - -:line - -{Dihedrals} section: - -one line per dihedral :ulb,l -line syntax: ID type atom1 atom2 atom3 atom4 :l - ID = number of dihedral (1-Ndihedrals) - type = dihedral type (1-Ndihedraltype) - atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral :pre -example: :l - 12 4 17 29 30 21 :pre -:ule - -The 4 atoms are ordered linearly within the dihedral. The {Dihedrals} -section must appear after the {Atoms} section. All values in this -section must be integers (1, not 1.0). - -:line - -{Ellipsoids} section: - -one line per ellipsoid :ulb,l -line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk :l - atom-ID = ID of atom which is an ellipsoid - shapex,shapey,shapez = 3 diameters of ellipsoid (distance units) - quatw,quati,quatj,quatk = quaternion components for orientation of atom :pre -example: :l - 12 1 2 1 1 0 0 0 :pre -:ule - -The {Ellipsoids} section must appear if "atom_style -ellipsoid"_atom_style.html is used and any atoms are listed in the -{Atoms} section with an ellipsoidflag = 1. The number of ellipsoids -should be specified in the header section via the "ellipsoids" -keyword. - -The 3 shape values specify the 3 diameters or aspect ratios of a -finite-size ellipsoidal particle, when it is oriented along the 3 -coordinate axes. They must all be non-zero values. - -The values {quatw}, {quati}, {quatj}, and {quatk} set the orientation -of the atom as a quaternion (4-vector). Note that the shape -attributes specify the aspect ratios of an ellipsoidal particle, which -is oriented by default with its x-axis along the simulation box's -x-axis, and similarly for y and z. If this body is rotated (via the -right-hand rule) by an angle theta around a unit vector (a,b,c), then -the quaternion that represents its new orientation is given by -(cos(theta/2), a*sin(theta/2), b*sin(theta/2), c*sin(theta/2)). These -4 components are quatw, quati, quatj, and quatk as specified above. -LAMMPS normalizes each atom's quaternion in case (a,b,c) is not -specified as a unit vector. - -The {Ellipsoids} section must appear after the {Atoms} section. - -:line - -{EndBondTorsion Coeffs} section: - -one line per dihedral type :ulb,l -line syntax: ID coeffs :l - ID = dihedral type (1-N) - coeffs = list of coeffs (see class 2 section of "dihedral_coeff"_dihedral_coeff.html) :pre -:ule - -:line - -{Improper Coeffs} section: - -one line per improper type :ulb,l -line syntax: ID coeffs :l - ID = improper type (1-N) - coeffs = list of coeffs :pre -example: :l - 2 20 0.0548311 :pre -:ule - -The number and meaning of the coefficients are specific to the defined -improper style. See the "improper_style"_improper_style.html and -"improper_coeff"_improper_coeff.html commands for details. -Coefficients can also be set via the -"improper_coeff"_improper_coeff.html command in the input script. - -:line - -{Impropers} section: - -one line per improper :ulb,l -line syntax: ID type atom1 atom2 atom3 atom4 :l - ID = number of improper (1-Nimpropers) - type = improper type (1-Nimpropertype) - atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper :pre -example: :l - 12 3 17 29 13 100 :pre -:ule - -The ordering of the 4 atoms determines the definition of the improper -angle used in the formula for each "improper -style"_improper_style.html. See the doc pages for individual styles -for details. - -The {Impropers} section must appear after the {Atoms} section. All -values in this section must be integers (1, not 1.0). - -:line - -{Lines} section: - -one line per line segment :ulb,l -line syntax: atom-ID x1 y1 x2 y2 :l - atom-ID = ID of atom which is a line segment - x1,y1 = 1st end point - x2,y2 = 2nd end point :pre -example: :l - 12 1.0 0.0 2.0 0.0 :pre -:ule - -The {Lines} section must appear if "atom_style line"_atom_style.html -is used and any atoms are listed in the {Atoms} section with a -lineflag = 1. The number of lines should be specified in the header -section via the "lines" keyword. - -The 2 end points are the end points of the line segment. The ordering -of the 2 points should be such that using a right-hand rule to cross -the line segment with a unit vector in the +z direction, gives an -"outward" normal vector perpendicular to the line segment. -I.e. normal = (c2-c1) x (0,0,1). This orientation may be important -for defining some interactions. - -The {Lines} section must appear after the {Atoms} section. - -:line - -{Masses} section: - -one line per atom type :ulb,l -line syntax: ID mass :l - ID = atom type (1-N) - mass = mass value :pre -example: :l - 3 1.01 :pre -:ule - -This defines the mass of each atom type. This can also be set via the -"mass"_mass.html command in the input script. This section cannot be -used for atom styles that define a mass for individual atoms - -e.g. "atom_style sphere"_atom_style.html. - -:line - -{MiddleBondTorsion Coeffs} section: - -one line per dihedral type :ulb,l -line syntax: ID coeffs :l - ID = dihedral type (1-N) - coeffs = list of coeffs (see class 2 section of "dihedral_coeff"_dihedral_coeff.html) :pre -:ule - -:line - -{Pair Coeffs} section: - -one line per atom type :ulb,l -line syntax: ID coeffs :l - ID = atom type (1-N) - coeffs = list of coeffs :pre -example: :l - 3 0.022 2.35197 0.022 2.35197 :pre -:ule - -The number and meaning of the coefficients are specific to the defined -pair style. See the "pair_style"_pair_style.html and -"pair_coeff"_pair_coeff.html commands for details. Since pair -coefficients for types I != J are not specified, these will be -generated automatically by the pair style's mixing rule. See the -individual pair_style doc pages and the "pair_modify -mix"_pair_modify.html command for details. Pair coefficients can also -be set via the "pair_coeff"_pair_coeff.html command in the input -script. - -:line - -{PairIJ Coeffs} section: - -one line per pair of atom types for all I,J with I <= J :ulb,l -line syntax: ID1 ID2 coeffs :l - ID1 = atom type I = 1-N - ID2 = atom type J = I-N, with I <= J - coeffs = list of coeffs :pre -examples: :l - 3 3 0.022 2.35197 0.022 2.35197 - 3 5 0.022 2.35197 0.022 2.35197 :pre -:ule - -This section must have N*(N+1)/2 lines where N = # of atom types. The -number and meaning of the coefficients are specific to the defined -pair style. See the "pair_style"_pair_style.html and -"pair_coeff"_pair_coeff.html commands for details. Since pair -coefficients for types I != J are all specified, these values will -turn off the default mixing rule defined by the pair style. See the -individual pair_style doc pages and the "pair_modify -mix"_pair_modify.html command for details. Pair coefficients can also -be set via the "pair_coeff"_pair_coeff.html command in the input -script. - -:line - -{Triangles} section: - -one line per triangle :ulb,l -line syntax: atom-ID x1 y1 z1 x2 y2 z2 x3 y3 z3 :l - atom-ID = ID of atom which is a line segment - x1,y1,z1 = 1st corner point - x2,y2,z2 = 2nd corner point - x3,y3,z3 = 3rd corner point :pre -example: :l - 12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 :pre -:ule - -The {Triangles} section must appear if "atom_style -tri"_atom_style.html is used and any atoms are listed in the {Atoms} -section with a triangleflag = 1. The number of lines should be -specified in the header section via the "triangles" keyword. - -The 3 corner points are the corner points of the triangle. The -ordering of the 3 points should be such that using a right-hand rule -to go from point1 to point2 to point3 gives an "outward" normal vector -to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). This -orientation may be important for defining some interactions. - -The {Triangles} section must appear after the {Atoms} section. - -:line - -{Velocities} section: - -one line per atom -line syntax: depends on atom style :ul - -all styles except those listed: atom-ID vx vy vz -electron: atom-ID vx vy vz ervel -ellipsoid: atom-ID vx vy vz lx ly lz -sphere: atom-ID vx vy vz wx wy wz -hybrid: atom-ID vx vy vz sub-style1 sub-style2 ... :tb(s=:) - -where the keywords have these meanings: - -vx,vy,vz = translational velocity of atom -lx,ly,lz = angular momentum of aspherical atom -wx,wy,wz = angular velocity of spherical atom -ervel = electron radial velocity (0 for fixed-core):ul - -The velocity lines can appear in any order. This section can only be -used after an {Atoms} section. This is because the {Atoms} section -must have assigned a unique atom ID to each atom so that velocities -can be assigned to them. - -Vx, vy, vz, and ervel are in "units"_units.html of velocity. Lx, ly, -lz are in units of angular momentum (distance-velocity-mass). Wx, Wy, -Wz are in units of angular velocity (radians/time). - -For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), -specific values for each sub-style must be listed. The order of the -sub-styles is the same as they were listed in the -"atom_style"_atom_style.html command. The sub-style specific values -are those that are not the 5 standard ones (ID,vx,vy,vz). For -example, for the "sphere" sub-style, "wx", "wy", "wz" values would -appear. These are listed in the same order they appear as listed -above. Thus if - -atom_style hybrid electron sphere :pre - -were used in the input script, each velocity line would have these -fields: - -atom-ID vx vy vz ervel wx wy wz :pre - -Translational velocities can also be set by the -"velocity"_velocity.html command in the input script. - -:line - -[Restrictions:] - -To read gzipped data files, you must compile LAMMPS with the --DLAMMPS_GZIP option. See the "Build settings"_Build_settings.html -doc page for details. - -[Related commands:] - -"read_dump"_read_dump.html, "read_restart"_read_restart.html, -"create_atoms"_create_atoms.html, "write_data"_write_data.html - -[Default:] - -The default for all the {extra} keywords is 0. diff --git a/doc/txt/read_dump.txt b/doc/txt/read_dump.txt deleted file mode 100644 index df357a5018f3084e19445adb7782452e487e22ff..0000000000000000000000000000000000000000 --- a/doc/txt/read_dump.txt +++ /dev/null @@ -1,343 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -read_dump command :h3 - -[Syntax:] - -read_dump file Nstep field1 field2 ... keyword values ... :pre - -file = name of dump file to read :ulb,l -Nstep = snapshot timestep to read from file :l -one or more fields may be appended :l -field = {x} or {y} or {z} or {vx} or {vy} or {vz} or {q} or {ix} or {iy} or {iz} or {fx} or {fy} or {fz} - {x},{y},{z} = atom coordinates - {vx},{vy},{vz} = velocity components - {q} = charge - {ix},{iy},{iz} = image flags in each dimension - {fx},{fy},{fz} = force components :pre -zero or more keyword/value pairs may be appended :l -keyword = {nfile} or {box} or {replace} or {purge} or {trim} or {add} or {label} or {scaled} or {wrapped} or {format} :l - {nfile} value = Nfiles = how many parallel dump files exist - {box} value = {yes} or {no} = replace simulation box with dump box - {replace} value = {yes} or {no} = overwrite atoms with dump atoms - {purge} value = {yes} or {no} = delete all atoms before adding dump atoms - {trim} value = {yes} or {no} = trim atoms not in dump snapshot - {add} value = {yes} or {keep} or {no} = add new dump atoms to system - {label} value = field column - field = one of the listed fields or {id} or {type} - column = label on corresponding column in dump file - {scaled} value = {yes} or {no} = coords in dump file are scaled/unscaled - {wrapped} value = {yes} or {no} = coords in dump file are wrapped/unwrapped - {format} values = format of dump file, must be last keyword if used - {native} = native LAMMPS dump file - {xyz} = XYZ file - {molfile} style path = VMD molfile plugin interface - style = {dcd} or {xyz} or others supported by molfile plugins - path = optional path for location of molfile plugins :pre -:ule - -[Examples:] - -read_dump dump.file 5000 x y z -read_dump dump.xyz 5 x y z box no format xyz -read_dump dump.xyz 10 x y z box no format molfile xyz "../plugins" -read_dump dump.dcd 0 x y z box yes format molfile dcd -read_dump dump.file 1000 x y z vx vy vz box yes format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile -read_dump dump.file 5000 x y vx vy trim yes -read_dump ../run7/dump.file.gz 10000 x y z box yes -read_dump dump.xyz 10 x y z box no format molfile xyz ../plugins -read_dump dump.dcd 0 x y z format molfile dcd -read_dump dump.file 1000 x y z vx vy vz format molfile lammpstrj /usr/local/lib/vmd/plugins/LINUXAMD64/plugins/molfile :pre - -[Description:] - -Read atom information from a dump file to overwrite the current atom -coordinates, and optionally the atom velocities and image flags and -the simulation box dimensions. This is useful for restarting a run -from a particular snapshot in a dump file. See the -"read_restart"_read_restart.html and "read_data"_read_data.html -commands for alternative methods to do this. Also see the -"rerun"_rerun.html command for a means of reading multiple snapshots -from a dump file. - -Note that a simulation box must already be defined before using the -read_dump command. This can be done by the -"create_box"_create_box.html, "read_data"_read_data.html, or -"read_restart"_read_restart.html commands. The read_dump command can -reset the simulation box dimensions, as explained below. - -Also note that reading per-atom information from a dump snapshot is -limited to the atom coordinates, velocities and image flags, as -explained below. Other atom properties, which may be necessary to run -a valid simulation, such as atom charge, or bond topology information -for a molecular system, are not read from (or even contained in) dump -files. Thus this auxiliary information should be defined in the usual -way, e.g. in a data file read in by a "read_data"_read_data.html -command, before using the read_dump command, or by the "set"_set.html -command, after the dump snapshot is read. - -:line - -If the dump filename specified as {file} ends with ".gz", the dump -file is read in gzipped format. You cannot (yet) read a dump file -that was written in binary format with a ".bin" suffix. - -You can read dump files that were written (in parallel) to multiple -files via the "%" wild-card character in the dump file name. If any -specified dump file name contains a "%", they must all contain it. -See the "dump"_dump.html command for details. -The "%" wild-card character is only supported by the {native} format -for dump files, described next. - -If reading parallel dump files, you must also use the {nfile} keyword -to tell LAMMPS how many parallel files exist, via its specified -{Nfiles} value. - -The format of the dump file is selected through the {format} keyword. -If specified, it must be the last keyword used, since all remaining -arguments are passed on to the dump reader. The {native} format is -for native LAMMPS dump files, written with a "dump atom"_dump.html or -"dump custom"_dump.html command. The {xyz} format is for generic XYZ -formatted dump files. These formats take no additional values. - -The {molfile} format supports reading data through using the "VMD"_vmd -molfile plugin interface. This dump reader format is only available, -if the USER-MOLFILE package has been installed when compiling -LAMMPS. - -The {molfile} format takes one or two additional values. The {style} -value determines the file format to be used and can be any format that -the molfile plugins support, such as DCD or XYZ. Note that DCD dump -files can be written by LAMMPS via the "dump dcd"_dump.html command. -The {path} value specifies a list of directories which LAMMPS will -search for the molfile plugins appropriate to the specified {style}. -The syntax of the {path} value is like other search paths: it can -contain multiple directories separated by a colon (or semi-colon on -windows). The {path} keyword is optional and defaults to ".", -i.e. the current directory. - -Support for other dump format readers may be added in the future. - -:line - -Global information is first read from the dump file, namely timestep -and box information. - -The dump file is scanned for a snapshot with a timestamp that matches -the specified {Nstep}. This means the LAMMPS timestep the dump file -snapshot was written on for the {native} format. Note that the {xyz} -and {molfile} formats do not store the timestep. For these formats, -timesteps are numbered logically, in a sequential manner, starting -from 0. Thus to access the 10th snapshot in an {xyz} or {mofile} -formatted dump file, use {Nstep} = 9. - -The dimensions of the simulation box for the selected snapshot are -also read; see the {box} keyword discussion below. For the {native} -format, an error is generated if the snapshot is for a triclinic box -and the current simulation box is orthogonal or vice versa. A warning -will be generated if the snapshot box boundary conditions (periodic, -shrink-wrapped, etc) do not match the current simulation boundary -conditions, but the boundary condition information in the snapshot is -otherwise ignored. See the "boundary" command for more details. - -For the {xyz} format, no information about the box is available, so -you must set the {box} flag to {no}. See details below. - -For the {molfile} format, reading simulation box information is -typically supported, but the location of the simulation box origin is -lost and no explicit information about periodicity or -orthogonal/triclinic box shape is available. The USER-MOLFILE package -makes a best effort to guess based on heuristics, but this may not -always work perfectly. - -:line - -Per-atom information from the dump file snapshot is then read from the -dump file snapshot. This corresponds to the specified {fields} listed -in the read_dump command. It is an error to specify a z-dimension -field, namely {z}, {vz}, or {iz}, for a 2d simulation. - -For dump files in {native} format, each column of per-atom data has a -text label listed in the file. A matching label for each field must -appear, e.g. the label "vy" for the field {vy}. For the {x}, {y}, {z} -fields any of the following labels are considered a match: - -x, xs, xu, xsu for field {x} -y, ys, yu, ysu for field {y} -z, zs, zu, zsu for field {z} :pre - -The meaning of xs (scaled), xu (unwrapped), and xsu (scaled and -unwrapped) is explained on the "dump"_dump.html command doc page. -These labels are searched for in the list of column labels in the dump -file, in order, until a match is found. - -The dump file must also contain atom IDs, with a column label of "id". - -If the {add} keyword is specified with a value of {yes} or {keep}, as -discussed below, the dump file must contain atom types, with a column -label of "type". - -If a column label you want to read from the dump file is not a match -to a specified field, the {label} keyword can be used to specify the -specific column label from the dump file to associate with that field. -An example is if a time-averaged coordinate is written to the dump -file via the "fix ave/atom"_fix_ave_atom.html command. The column -will then have a label corresponding to the fix-ID rather than "x" or -"xs". The {label} keyword can also be used to specify new column -labels for fields {id} and {type}. - -For dump files in {xyz} format, only the {x}, {y}, and {z} fields are -supported. The dump file does not store atom IDs, so these are -assigned consecutively to the atoms as they appear in the dump file, -starting from 1. Thus you should insure that order of atoms is -consistent from snapshot to snapshot in the XYZ dump file. See -the "dump_modify sort"_dump_modify.html command if the XYZ dump file -was written by LAMMPS. - -For dump files in {molfile} format, the {x}, {y}, {z}, {vx}, {vy}, and -{vz} fields can be specified. However, not all molfile formats store -velocities, or their respective plugins may not support reading of -velocities. The molfile dump files do not store atom IDs, so these -are assigned consecutively to the atoms as they appear in the dump -file, starting from 1. Thus you should insure that order of atoms are -consistent from snapshot to snapshot in the molfile dump file. -See the "dump_modify sort"_dump_modify.html command if the dump file -was written by LAMMPS. - -:line - -Information from the dump file snapshot is used to overwrite or -replace properties of the current system. There are various options -for how this is done, determined by the specified fields and optional -keywords. - -The timestep of the snapshot becomes the current timestep for the -simulation. See the "reset_timestep"_reset_timestep.html command if -you wish to change this after the dump snapshot is read. - -If the {box} keyword is specified with a {yes} value, then the current -simulation box dimensions are replaced by the dump snapshot box -dimensions. If the {box} keyword is specified with a {no} value, the -current simulation box is unchanged. - -If the {purge} keyword is specified with a {yes} value, then all -current atoms in the system are deleted before any of the operations -invoked by the {replace}, {trim}, or {add} keywords take place. - -If the {replace} keyword is specified with a {yes} value, then atoms -with IDs that are in both the current system and the dump snapshot -have their properties overwritten by field values. If the {replace} -keyword is specified with a {no} value, atoms with IDs that are in -both the current system and the dump snapshot are not modified. - -If the {trim} keyword is specified with a {yes} value, then atoms with -IDs that are in the current system but not in the dump snapshot are -deleted. These atoms are unaffected if the {trim} keyword is -specified with a {no} value. - -If the {add} keyword is specified with a {no} value (default), then -dump file atoms with IDs that are not in the current system are not -added to the system. They are simply ignored. - -If a {yes} value is specified, the atoms with new IDs are added to the -system but their atom IDs are not preserved. Instead, after all the -atoms are added, new IDs are assigned to them in the same manner as is -described for the "create_atoms"_create_atoms.html command. Basically -the largest existing atom ID in the system is identified, and all the -added atoms are assigned IDs that consecutively follow the largest ID. - -If a {keep} value is specified, the atoms with new IDs are added to -the system and their atom IDs are preserved. This may lead to -non-contiguous IDs for the combined system. - -Note that atoms added via the {add} keyword will only have the -attributes read from the dump file due to the {field} arguments. For -example, if {x} or {y} or {z} or {q} is not specified as a field, a -value of 0.0 is used for added atoms. Added atoms must have an atom -type, so this value must appear in the dump file. - -Any other attributes (e.g. charge or particle diameter for spherical -particles) will be set to default values, the same as if the -"create_atoms"_create_atoms.html command were used. - -:line - -Atom coordinates read from the dump file are first converted into -unscaled coordinates, relative to the box dimensions of the snapshot. -These coordinates are then be assigned to an existing or new atom in -the current simulation. The coordinates will then be remapped to the -simulation box, whether it is the original box or the dump snapshot -box. If periodic boundary conditions apply, this means the atom will -be remapped back into the simulation box if necessary. If shrink-wrap -boundary conditions apply, the new coordinates may change the -simulation box dimensions. If fixed boundary conditions apply, the -atom will be lost if it is outside the simulation box. - -For {native} format dump files, the 3 xyz image flags for an atom in -the dump file are set to the corresponding values appearing in the -dump file if the {ix}, {iy}, {iz} fields are specified. If not -specified, the image flags for replaced atoms are not changed and -image flags for new atoms are set to default values. If coordinates -read from the dump file are in unwrapped format (e.g. {xu}) then the -image flags for read-in atoms are also set to default values. The -remapping procedure described in the previous paragraph will then -change images flags for all atoms (old and new) if periodic boundary -conditions are applied to remap an atom back into the simulation box. - -NOTE: If you get a warning about inconsistent image flags after -reading in a dump snapshot, it means one or more pairs of bonded atoms -now have inconsistent image flags. As discussed on the "Errors -common"_Errors_common.html doc page this may or may not cause problems -for subsequent simulations. One way this can happen is if you read -image flag fields from the dump file but do not also use the dump file -box parameters. - -LAMMPS knows how to compute unscaled and remapped coordinates for the -snapshot column labels discussed above, e.g. {x}, {xs}, {xu}, {xsu}. -If another column label is assigned to the {x} or {y} or {z} field via -the {label} keyword, e.g. for coordinates output by the "fix -ave/atom"_fix_ave_atom.html command, then LAMMPS needs to know whether -the coordinate information in the dump file is scaled and/or wrapped. -This can be set via the {scaled} and {wrapped} keywords. Note that -the value of the {scaled} and {wrapped} keywords is ignored for fields -{x} or {y} or {z} if the {label} keyword is not used to assign a -column label to that field. - -The scaled/unscaled and wrapped/unwrapped setting must be identical -for any of the {x}, {y}, {z} fields that are specified. Thus you -cannot read {xs} and {yu} from the dump file. Also, if the dump file -coordinates are scaled and the simulation box is triclinic, then all 3 -of the {x}, {y}, {z} fields must be specified, since they are all -needed to generate absolute, unscaled coordinates. - -:line - -[Restrictions:] - -To read gzipped dump files, you must compile LAMMPS with the --DLAMMPS_GZIP option. See the "Build settings"_Build_settings.html -doc page for details. - -The {molfile} dump file formats are part of the USER-MOLFILE package. -They are only enabled if LAMMPS was built with that packages. See the -"Build package"_Build_package.html doc page for more info. - -[Related commands:] - -"dump"_dump.html, "dump molfile"_dump_molfile.html, -"read_data"_read_data.html, "read_restart"_read_restart.html, -"rerun"_rerun.html - -[Default:] - -The option defaults are box = yes, replace = yes, purge = no, trim = -no, add = no, scaled = no, wrapped = yes, and format = native. - -:link(vmd,http://www.ks.uiuc.edu/Research/vmd) - diff --git a/doc/txt/read_restart.txt b/doc/txt/read_restart.txt deleted file mode 100644 index 08cb6a2e6cc459351e5b7598c95bcbabe939e2b1..0000000000000000000000000000000000000000 --- a/doc/txt/read_restart.txt +++ /dev/null @@ -1,270 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -read_restart command :h3 - -[Syntax:] - -read_restart file flag :pre - -file = name of binary restart file to read in -flag = remap (optional) :ul - -[Examples:] - -read_restart save.10000 -read_restart save.10000 remap -read_restart restart.* -read_restart restart.*.mpiio -read_restart poly.*.% remap :pre - -[Description:] - -Read in a previously saved system configuration from a restart file. -This allows continuation of a previous run. Details about what -information is stored (and not stored) in a restart file is given -below. Basically this operation will re-create the simulation box -with all its atoms and their attributes as well as some related global -settings, at the point in time it was written to the restart file by a -previous simulation. The simulation box will be partitioned into a -regular 3d grid of rectangular bricks, one per processor, based on the -number of processors in the current simulation and the settings of the -"processors"_processors.html command. The partitioning can later be -changed by the "balance"_balance.html or "fix -balance"_fix_balance.html commands. - -NOTE: Normally, restart files are written by the -"restart"_restart.html or "write_restart"_write_restart.html commands -so that all atoms in the restart file are inside the simulation box. -If this is not the case, the read_restart command will print an error -that atoms were "lost" when the file is read. This error should be -reported to the LAMMPS developers so the invalid writing of the -restart file can be fixed. If you still wish to use the restart file, -the optional {remap} flag can be appended to the read_restart command. -This should avoid the error, by explicitly remapping each atom back -into the simulation box, updating image flags for the atom -appropriately. - -Restart files are saved in binary format to enable exact restarts, -meaning that the trajectories of a restarted run will precisely match -those produced by the original run had it continued on. - -Several things can prevent exact restarts due to round-off effects, in -which case the trajectories in the 2 runs will slowly diverge. These -include running on a different number of processors or changing -certain settings such as those set by the "newton"_newton.html or -"processors"_processors.html commands. LAMMPS will issue a warning in -these cases. - -Certain fixes will not restart exactly, though they should provide -statistically similar results. These include "fix -shake"_fix_shake.html and "fix langevin"_fix_langevin.html. - -Certain pair styles will not restart exactly, though they should -provide statistically similar results. This is because the forces -they compute depend on atom velocities, which are used at half-step -values every timestep when forces are computed. When a run restarts, -forces are initially evaluated with a full-step velocity, which is -different than if the run had continued. These pair styles include -"granular pair styles"_pair_gran.html, "pair dpd"_pair_dpd.html, and -"pair lubricate"_pair_lubricate.html. - -If a restarted run is immediately different than the run which -produced the restart file, it could be a LAMMPS bug, so consider -"reporting it"_Errors_bugs.html if you think the behavior is a bug. - -Because restart files are binary, they may not be portable to other -machines. In this case, you can use the "-restart command-line -switch"_Run_options.html to convert a restart file to a data file. - -Similar to how restart files are written (see the -"write_restart"_write_restart.html and "restart"_restart.html -commands), the restart filename can contain two wild-card characters. -If a "*" appears in the filename, the directory is searched for all -filenames that match the pattern where "*" is replaced with a timestep -value. The file with the largest timestep value is read in. Thus, -this effectively means, read the latest restart file. It's useful if -you want your script to continue a run from where it left off. See -the "run"_run.html command and its "upto" option for how to specify -the run command so it doesn't need to be changed either. - -If a "%" character appears in the restart filename, LAMMPS expects a -set of multiple files to exist. The "restart"_restart.html and -"write_restart"_write_restart.html commands explain how such sets are -created. Read_restart will first read a filename where "%" is -replaced by "base". This file tells LAMMPS how many processors -created the set and how many files are in it. Read_restart then reads -the additional files. For example, if the restart file was specified -as save.% when it was written, then read_restart reads the files -save.base, save.0, save.1, ... save.P-1, where P is the number of -processors that created the restart file. - -Note that P could be the total number of processors in the previous -simulation, or some subset of those processors, if the {fileper} or -{nfile} options were used when the restart file was written; see the -"restart"_restart.html and "write_restart"_write_restart.html commands -for details. The processors in the current LAMMPS simulation share -the work of reading these files; each reads a roughly equal subset of -the files. The number of processors which created the set can be -different the number of processors in the current LAMMPS simulation. -This can be a fast mode of input on parallel machines that support -parallel I/O. - -A restart file can also be read in parallel as one large binary file -via the MPI-IO library, assuming it was also written with MPI-IO. -MPI-IO is part of the MPI standard for versions 2.0 and above. Using -MPI-IO requires two steps. First, build LAMMPS with its MPIIO package -installed, e.g. - -make yes-mpiio # installs the MPIIO package -make mpi # build LAMMPS for your platform :pre - -Second, use a restart filename which contains ".mpiio". Note that it -does not have to end in ".mpiio", just contain those characters. -Unlike MPI-IO dump files, a particular restart file must be both -written and read using MPI-IO. - -:line - -Here is the list of information included in a restart file, which -means these quantities do not need to be re-specified in the input -script that reads the restart file, though you can redefine many of -these settings after the restart file is read. - -"units"_units.html -"newton bond"_newton.html (see discussion of newton command below) -"atom style"_atom_style.html and "atom_modify"_atom_modify.html settings id, map, sort -"comm style"_comm_style.html and "comm_modify"_comm_modify.html settings mode, cutoff, vel -"timestep"_timestep.html -simulation box size and shape and "boundary"_boundary.html settings -atom "group"_group.html definitions -per-type atom settings such as "mass"_mass.html -per-atom attributes including their group assignments and molecular topology attributes (bonds, angles, etc) -force field styles ("pair"_pair_style.html, "bond"_bond_style.html, "angle"_angle_style.html, etc) -force field coefficients ("pair"_pair_coeff.html, "bond"_bond_coeff.html, "angle"_angle_coeff.html, etc) in some cases (see below) -"pair_modify"_pair_modify.html settings, except the compute option -"special_bonds"_special_bonds.html settings :ul - -Here is a list of information not stored in a restart file, which -means you must re-issue these commands in your input script, after -reading the restart file. - -"newton pair"_newton.html (see discussion of newton command below) -"fix"_fix.html commands (see below) -"compute"_compute.html commands (see below) -"variable"_variable.html commands -"region"_region.html commands -"neighbor list"_neighbor.html criteria including "neigh_modify"_neigh_modify.html settings -"kspace_style"_kspace_style.html and "kspace_modify"_kspace_modify.html settings -info for "thermodynamic"_thermo_style.html, "dump"_dump.html, or "restart"_restart.html output :ul - -The "newton"_newton.html command has two settings, one for pairwise -interactions, the other for bonded. Both settings are stored in the -restart file. For the bond setting, the value in the file will -overwrite the current value (at the time the read_restart command is -issued) and warn if the two values are not the same and the current -value is not the default. For the pair setting, the value in the file -will not overwrite the current value (so that you can override the -previous run's value), but a warning is issued if the two values are -not the same and the current value is not the default. - -Note that some force field styles (pair, bond, angle, etc) do not -store their coefficient info in restart files. Typically these are -many-body or tabulated potentials which read their parameters from -separate files. In these cases you will need to re-specify the -"pair_coeff"_pair_coeff.html, "bond_coeff"_bond_coeff.html, etc -commands in your restart input script. The doc pages for individual -force field styles mention if this is the case. This is also true of -"pair_style hybrid"_pair_hybrid.html (bond hybrid, angle hybrid, etc) -commands; they do not store coefficient info. - -As indicated in the above list, the "fixes"_fix.html used for a -simulation are not stored in the restart file. This means the new -input script should specify all fixes it will use. However, note that -some fixes store an internal "state" which is written to the restart -file. This allows the fix to continue on with its calculations in a -restarted simulation. To re-enable such a fix, the fix command in the -new input script must be of the same style and use the same fix-ID as -was used in the input script that wrote the restart file. - -If a match is found, LAMMPS prints a message indicating that the fix -is being re-enabled. If no match is found before the first run or -minimization is performed by the new script, the "state" information -for the saved fix is discarded. At the time the discard occurs, -LAMMPS will also print a list of fixes for which the information is -being discarded. See the doc pages for individual fixes for info on -which ones can be restarted in this manner. Note that fixes which are -created internally by other LAMMPS commands (computes, fixes, etc) -will have style names which are all-capitalized, and IDs which are -generated internally. - -Likewise, the "computes"_fix.html used for a simulation are not stored -in the restart file. This means the new input script should specify -all computes it will use. However, some computes create a fix -internally to store "state" information that persists from timestep to -timestep. An example is the "compute msd"_compute_msd.html command -which uses a fix to store a reference coordinate for each atom, so -that a displacement can be calculated at any later time. If the -compute command in the new input script uses the same compute-ID and -group-ID as was used in the input script that wrote the restart file, -then it will create the same fix in the restarted run. This means the -re-created fix will be re-enabled with the stored state information as -described in the previous paragraph, so that the compute can continue -its calculations in a consistent manner. - -NOTE: There are a handful of commands which can be used before or -between runs which may require a system initialization. Examples -include the "balance", "displace_atoms", "delete_atoms", "set" (some -options), and "velocity" (some options) commands. This is because -they can migrate atoms to new processors. Thus they will also discard -unused "state" information from fixes. You will know the discard has -occurred because a list of discarded fixes will be printed to the -screen and log file, as explained above. This means that if you wish -to retain that info in a restarted run, you must re-specify the -relevant fixes and computes (which create fixes) before those commands -are used. - -Some pair styles, like the "granular pair styles"_pair_gran.html, also -use a fix to store "state" information that persists from timestep to -timestep. In the case of granular potentials, it is contact -information between pairs of touching particles. This info will also -be re-enabled in the restart script, assuming you re-use the same -granular pair style. - -LAMMPS allows bond interactions (angle, etc) to be turned off or -deleted in various ways, which can affect how their info is stored in -a restart file. - -If bonds (angles, etc) have been turned off by the "fix -shake"_fix_shake.html or "delete_bonds"_delete_bonds.html command, -their info will be written to a restart file as if they are turned on. -This means they will need to be turned off again in a new run after -the restart file is read. - -Bonds that are broken (e.g. by a bond-breaking potential) are written -to the restart file as broken bonds with a type of 0. Thus these -bonds will still be broken when the restart file is read. - -Bonds that have been broken by the "fix -bond/break"_fix_bond_break.html command have disappeared from the -system. No information about these bonds is written to the restart -file. - -:line - -[Restrictions:] - -To write and read restart files in parallel with MPI-IO, the MPIIO -package must be installed. - -[Related commands:] - -"read_data"_read_data.html, "read_dump"_read_dump.html, -"write_restart"_write_restart.html, "restart"_restart.html - -[Default:] none diff --git a/doc/txt/region.txt b/doc/txt/region.txt deleted file mode 100644 index d163f62dcb776216f64d20ae22a8e0e3e56773d3..0000000000000000000000000000000000000000 --- a/doc/txt/region.txt +++ /dev/null @@ -1,405 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -region command :h3 - -[Syntax:] - -region ID style args keyword arg ... :pre - -ID = user-assigned name for the region :ulb,l -style = {delete} or {block} or {cone} or {cylinder} or {plane} or {prism} or {sphere} or {union} or {intersect} :l - {delete} = no args - {block} args = xlo xhi ylo yhi zlo zhi - xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all dimensions (distance units) - {cone} args = dim c1 c2 radlo radhi lo hi - dim = {x} or {y} or {z} = axis of cone - c1,c2 = coords of cone axis in other 2 dimensions (distance units) - radlo,radhi = cone radii at lo and hi end (distance units) - lo,hi = bounds of cone in dim (distance units) - {cylinder} args = dim c1 c2 radius lo hi - dim = {x} or {y} or {z} = axis of cylinder - c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) - radius = cylinder radius (distance units) - c1,c2, and radius can be a variable (see below) - lo,hi = bounds of cylinder in dim (distance units) - {plane} args = px py pz nx ny nz - px,py,pz = point on the plane (distance units) - nx,ny,nz = direction normal to plane (distance units) - {prism} args = xlo xhi ylo yhi zlo zhi xy xz yz - xlo,xhi,ylo,yhi,zlo,zhi = bounds of untilted prism (distance units) - xy = distance to tilt y in x direction (distance units) - xz = distance to tilt z in x direction (distance units) - yz = distance to tilt z in y direction (distance units) - {sphere} args = x y z radius - x,y,z = center of sphere (distance units) - radius = radius of sphere (distance units) - x,y,z, and radius can be a variable (see below) - {union} args = N reg-ID1 reg-ID2 ... - N = # of regions to follow, must be 2 or greater - reg-ID1,reg-ID2, ... = IDs of regions to join together - {intersect} args = N reg-ID1 reg-ID2 ... - N = # of regions to follow, must be 2 or greater - reg-ID1,reg-ID2, ... = IDs of regions to intersect :pre -zero or more keyword/arg pairs may be appended :l -keyword = {side} or {units} or {move} or {rotate} or {open} :l - {side} value = {in} or {out} - {in} = the region is inside the specified geometry - {out} = the region is outside the specified geometry - {units} value = {lattice} or {box} - {lattice} = the geometry is defined in lattice units - {box} = the geometry is defined in simulation box units - {move} args = v_x v_y v_z - v_x,v_y,v_z = equal-style variables for x,y,z displacement of region over time - {rotate} args = v_theta Px Py Pz Rx Ry Rz - v_theta = equal-style variable for rotaton of region over time (in radians) - Px,Py,Pz = origin for axis of rotation (distance units) - Rx,Ry,Rz = axis of rotation vector - {open} value = integer from 1-6 corresponding to face index (see below) -:pre - -accelerated styles (with same args) = {block/kk} :l -:ule - -[Examples:] - -region 1 block -3.0 5.0 INF 10.0 INF INF -region 2 sphere 0.0 0.0 0.0 5 side out -region void cylinder y 2 3 5 -5.0 EDGE units box -region 1 prism 0 10 0 10 0 10 2 0 0 -region outside union 4 side1 side2 side3 side4 -region 2 sphere 0.0 0.0 0.0 5 side out move v_left v_up NULL -region openbox block 0 10 0 10 0 10 open 5 open 6 units box -region funnel cone z 10 10 2 5 0 10 open 1 units box :pre - - -[Description:] - -This command defines a geometric region of space. Various other -commands use regions. For example, the region can be filled with -atoms via the "create_atoms"_create_atoms.html command. Or a bounding -box around the region, can be used to define the simulation box via -the "create_box"_create_box.html command. Or the atoms in the region -can be identified as a group via the "group"_group.html command, or -deleted via the "delete_atoms"_delete_atoms.html command. Or the -surface of the region can be used as a boundary wall via the "fix -wall/region"_fix_wall_region.html command. - -Commands which use regions typically test whether an atom's position -is contained in the region or not. For this purpose, coordinates -exactly on the region boundary are considered to be interior to the -region. This means, for example, for a spherical region, an atom on -the sphere surface would be part of the region if the sphere were -defined with the {side in} keyword, but would not be part of the -region if it were defined using the {side out} keyword. See more -details on the {side} keyword below. - -Normally, regions in LAMMPS are "static", meaning their geometric -extent does not change with time. If the {move} or {rotate} keyword -is used, as described below, the region becomes "dynamic", meaning -it's location or orientation changes with time. This may be useful, -for example, when thermostatting a region, via the compute temp/region -command, or when the fix wall/region command uses a region surface as -a bounding wall on particle motion, i.e. a rotating container. - -The {delete} style removes the named region. Since there is little -overhead to defining extra regions, there is normally no need to do -this, unless you are defining and discarding large numbers of regions -in your input script. - -The lo/hi values for {block} or {cone} or {cylinder} or {prism} styles -can be specified as EDGE or INF. EDGE means they extend all the way -to the global simulation box boundary. Note that this is the current -box boundary; if the box changes size during a simulation, the region -does not. INF means a large negative or positive number (1.0e20), so -it should encompass the simulation box even if it changes size. If a -region is defined before the simulation box has been created (via -"create_box"_create_box.html or "read_data"_read_data.html or -"read_restart"_read_restart.html commands), then an EDGE or INF -parameter cannot be used. For a {prism} region, a non-zero tilt -factor in any pair of dimensions cannot be used if both the lo/hi -values in either of those dimensions are INF. E.g. if the xy tilt is -non-zero, then xlo and xhi cannot both be INF, nor can ylo and yhi. - -NOTE: Regions in LAMMPS do not get wrapped across periodic boundaries, -as specified by the "boundary"_boundary.html command. For example, a -spherical region that is defined so that it overlaps a periodic -boundary is not treated as 2 half-spheres, one on either side of the -simulation box. - -NOTE: Regions in LAMMPS are always 3d geometric objects, regardless of -whether the "dimension"_dimension.html of a simulation is 2d or 3d. -Thus when using regions in a 2d simulation, you should be careful to -define the region so that its intersection with the 2d x-y plane of -the simulation has the 2d geometric extent you want. - -For style {cone}, an axis-aligned cone is defined which is like a -{cylinder} except that two different radii (one at each end) can be -defined. Either of the radii (but not both) can be 0.0. - -For style {cone} and {cylinder}, the c1,c2 params are coordinates in -the 2 other dimensions besides the cylinder axis dimension. For dim = -x, c1/c2 = y/z; for dim = y, c1/c2 = x/z; for dim = z, c1/c2 = x/y. -Thus the third example above specifies a cylinder with its axis in the -y-direction located at x = 2.0 and z = 3.0, with a radius of 5.0, and -extending in the y-direction from -5.0 to the upper box boundary. - -For style {plane}, a plane is defined which contain the point -(px,py,pz) and has a normal vector (nx,ny,nz). The normal vector does -not have to be of unit length. The "inside" of the plane is the -half-space in the direction of the normal vector; see the discussion -of the {side} option below. - -For style {prism}, a parallelepiped is defined (it's too hard to spell -parallelepiped in an input script!). The parallelepiped has its -"origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting -from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = -(xz,yz,zhi-zlo). {Xy,xz,yz} can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of -displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. - -A prism region that will be used with the "create_box"_create_box.html -command to define a triclinic simulation box must have tilt factors -(xy,xz,yz) that do not skew the box more than half the distance of -corresponding the parallel box length. For example, if xlo = 2 and -xhi = 12, then the x box length is 10 and the xy tilt factor must be -between -5 and 5. Similarly, both xz and yz must be between --(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is not a limitation, -since if the maximum tilt factor is 5 (as in this example), then -configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all -geometrically equivalent. - -The {radius} value for style {sphere} and {cylinder} can be specified -as an equal-style "variable"_variable.html. If the value is a -variable, it should be specified as v_name, where name is the variable -name. In this case, the variable will be evaluated each timestep, and -its value used to determine the radius of the region. For style {sphere} -also the x-, y-, and z- coordinate of the center of the sphere and for -style {cylinder} the two center positions c1 and c2 for the location of -the cylinder axes can be a variable with the same kind of effect and -requirements than for the radius. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. Thus it is easy to specify a time-dependent radius or have -a time dependent position of the sphere or cylinder region. - -See the "Howto tricilinc"_Howto_triclinic.html doc page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. - -The {union} style creates a region consisting of the volume of all the -listed regions combined. The {intersect} style creates a region -consisting of the volume that is common to all the listed regions. - -NOTE: The {union} and {intersect} regions operate by invoking methods -from their list of sub-regions. Thus you cannot delete the -sub-regions after defining a {union} or {intersection} region. - -:line - -The {side} keyword determines whether the region is considered to be -inside or outside of the specified geometry. Using this keyword in -conjunction with {union} and {intersect} regions, complex geometries -can be built up. For example, if the interior of two spheres were -each defined as regions, and a {union} style with {side} = out was -constructed listing the region-IDs of the 2 spheres, the resulting -region would be all the volume in the simulation box that was outside -both of the spheres. - -The {units} keyword determines the meaning of the distance units used -to define the region for any argument above listed as having distance -units. It also affects the scaling of the velocity vector specified -with the {vel} keyword, the amplitude vector specified with the -{wiggle} keyword, and the rotation point specified with the {rotate} -keyword, since they each involve a distance metric. - -A {box} value selects standard distance units as defined by the -"units"_units.html command, e.g. Angstroms for units = real or metal. -A {lattice} value means the distance units are in lattice spacings. -The "lattice"_lattice.html command must have been previously used to -define the lattice spacings which are used as follows: - -For style {block}, the lattice spacing in dimension x is applied to -xlo and xhi, similarly the spacings in dimensions y,z are applied to -ylo/yhi and zlo/zhi. :ulb,l - -For style {cone}, the lattice spacing in argument {dim} is applied to -lo and hi. The spacings in the two radial dimensions are applied to -c1 and c2. The two cone radii are scaled by the lattice -spacing in the dimension corresponding to c1. :l - -For style {cylinder}, the lattice spacing in argument {dim} is applied -to lo and hi. The spacings in the two radial dimensions are applied -to c1 and c2. The cylinder radius is scaled by the lattice -spacing in the dimension corresponding to c1. :l - -For style {plane}, the lattice spacing in dimension x is applied to -px and nx, similarly the spacings in dimensions y,z are applied to -py/ny and pz/nz. :l - -For style {prism}, the lattice spacing in dimension x is applied to -xlo and xhi, similarly for ylo/yhi and zlo/zhi. The lattice spacing -in dimension x is applied to xy and xz, and the spacing in dimension y -to yz. :l - -For style {sphere}, the lattice spacing in dimensions x,y,z are -applied to the sphere center x,y,z. The spacing in dimension x is -applied to the sphere radius. :l,ule - -:line - -If the {move} or {rotate} keywords are used, the region is "dynamic", -meaning its location or orientation changes with time. These keywords -cannot be used with a {union} or {intersect} style region. Instead, -the keywords should be used to make the individual sub-regions of the -{union} or {intersect} region dynamic. Normally, each sub-region -should be "dynamic" in the same manner (e.g. rotate around the same -point), though this is not a requirement. - -The {move} keyword allows one or more "equal-style -variables"_variable.html to be used to specify the x,y,z displacement -of the region, typically as a function of time. A variable is -specified as v_name, where name is the variable name. Any of the -three variables can be specified as NULL, in which case no -displacement is calculated in that dimension. - -Note that equal-style variables can specify formulas with various -mathematical functions, and include "thermo_style"_thermo_style.html -command keywords for the simulation box parameters and timestep and -elapsed time. Thus it is easy to specify a region displacement that -change as a function of time or spans consecutive runs in a continuous -fashion. For the latter, see the {start} and {stop} keywords of the -"run"_run.html command and the {elaplong} keyword of "thermo_style -custom"_thermo_style.html for details. - -For example, these commands would displace a region from its initial -position, in the positive x direction, effectively at a constant -velocity: - -variable dx equal ramp(0,10) -region 2 sphere 10.0 10.0 0.0 5 move v_dx NULL NULL :pre - -Note that the initial displacement is 0.0, though that is not required. - -Either of these variables would "wiggle" the region back and forth in -the y direction: - -variable dy equal swiggle(0,5,100) -variable dysame equal 5*sin(2*PI*elaplong*dt/100) -region 2 sphere 10.0 10.0 0.0 5 move NULL v_dy NULL :pre - -The {rotate} keyword rotates the region around a rotation axis {R} = -(Rx,Ry,Rz) that goes through a point {P} = (Px,Py,Pz). The rotation -angle is calculated, presumably as a function of time, by a variable -specified as v_theta, where theta is the variable name. The variable -should generate its result in radians. The direction of rotation for -the region around the rotation axis is consistent with the right-hand -rule: if your right-hand thumb points along {R}, then your fingers -wrap around the axis in the direction of rotation. - -The {move} and {rotate} keywords can be used together. In this case, -the displacement specified by the {move} keyword is applied to the {P} -point of the {rotate} keyword. - -:line - -The {open} keyword can be used (multiple times) to indicate that one -or more faces of the region are ignored for purposes of particle/wall -interactions. This keyword is only relevant for regions used by the -{fix wall/region} and {fix wall/gran/region} commands. It can be used -to create "open" containers where only some of the region faces are -walls. For example, a funnel can be created with a {cone} style -region that has an open face at the smaller radius for particles to -flow out, or at the larger radius for pouring particles into the cone, -or both. - -Note that using the {open} keyword partly overrides the {side} -keyword, since both exterior and interior surfaces of an open region -are tested for particle contacts. The exception to this is a {union} -or {intersect} region which includes an open sub-region. In that case -the {side} keyword is still used to define the union/intersect region -volume, and the {open} settings are only applied to the individual -sub-regions that use them. - -The indices specified as part of the {open} keyword have the following -meanings: - -For style {block}, indices 1-6 correspond to the xlo, xhi, ylo, yhi, -zlo, zhi surfaces of the block. I.e. 1 is the yz plane at x = xlo, 2 -is the yz-plane at x = xhi, 3 is the xz plane at y = ylo, 4 is the xz -plane at y = yhi, 5 is the xy plane at z = zlo, 6 is the xy plane at z -= zhi). In the second-to-last example above, the region is a box open -at both xy planes. - -For style {prism}, values 1-6 have the same mapping as for style -{block}. I.e. in an untilted {prism}, {open} indices correspond to -the xlo, xhi, ylo, yhi, zlo, zhi surfaces. - -For style {cylinder}, index 1 corresponds to the flat end cap at the -low coordinate along the cylinder axis, index 2 corresponds to the -high-coordinate flat end cap along the cylinder axis, and index 3 is -the curved cylinder surface. For example, a {cylinder} region with -{open 1 open 2} keywords will be open at both ends (e.g. a section of -pipe), regardless of the cylinder orientation. - -For style {cone}, the mapping is the same as for style {cylinder}. -Index 1 is the low-coordinate flat end cap, index 2 is the -high-coordinate flat end cap, and index 3 is the curved cone surface. -In the last example above, a {cone} region is defined along the z-axis -that is open at the zlo value (e.g. for use as a funnel). - -For all other styles, the {open} keyword is ignored. As indicated -above, this includes the {intersect} and {union} regions, though their -sub-regions can be defined with the {open} keyword. - -: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 on the "Speed packages"_Speed_packages.html doc -page. The accelerated styles take the same arguments and should -produce the same results, except for round-off and precision issues. - -The code using the region (such as a fix or compute) must also be supported -by Kokkos or no acceleration will occur. Currently, only {block} style -regions are supported by Kokkos. - -These accelerated styles are part of the Kokkos package. They are -only enabled if LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page 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"_Run_options.html when you invoke LAMMPS, or you can use the -"suffix"_suffix.html command in your input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -A prism cannot be of 0.0 thickness in any dimension; use a small z -thickness for 2d simulations. For 2d simulations, the xz and yz -parameters must be 0.0. - -[Related commands:] - -"lattice"_lattice.html, "create_atoms"_create_atoms.html, -"delete_atoms"_delete_atoms.html, "group"_group.html - -[Default:] - -The option defaults are side = in, units = lattice, and no move or -rotation. diff --git a/doc/txt/replicate.txt b/doc/txt/replicate.txt deleted file mode 100644 index 50e6e4c6d278d0ef49e83dcee9933cc47221110e..0000000000000000000000000000000000000000 --- a/doc/txt/replicate.txt +++ /dev/null @@ -1,99 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -replicate command :h3 - -[Syntax:] - -replicate nx ny nz {keyword} :pre - -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 sub-domain :pre -:ule - -[Examples:] - -replicate 2 3 2 :pre - -[Description:] - -Replicate the current simulation one or more times in each dimension. -For example, replication factors of 2,2,2 will create a simulation -with 8x as many atoms by doubling the simulation domain in each -dimension. A replication factor of 1 in a dimension leaves the -simulation domain unchanged. When the new simulation box is created -it is also partitioned into a regular 3d grid of rectangular bricks, -one per processor, based on the number of processors being used and -the settings of the "processors"_processors.html command. The -partitioning can later be changed by the "balance"_balance.html or -"fix balance"_fix_balance.html commands. - -All properties of the atoms are replicated, including their -velocities, which may or may not be desirable. New atom IDs are -assigned to new atoms, as are molecule IDs. Bonds and other topology -interactions are created between pairs of new atoms as well as between -old and new atoms. This is done by using the image flag for each atom -to "unwrap" it out of the periodic box before replicating it. - -This means that any molecular bond you specify in the original data -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 sub-domain when assigning -atoms to processors. It typically results in a substantial speedup -when using the replicate command on a large number of processors. It -does require temporary use of more memory, specifically that each -processor can store all atoms in the entire system before it is -replicated. - -[Restrictions:] - -A 2d simulation cannot be replicated in the z dimension. - -If a simulation is non-periodic in a dimension, care should be used -when replicating it in that dimension, as it may put atoms nearly on -top of each other. - -NOTE: You cannot use the replicate command on a system which has a -molecule that spans the box and is bonded to itself across a periodic -boundary, so that the molecule is effectively a loop. A simple -example would be a linear polymer chain that spans the simulation box -and bonds back to itself across the periodic boundary. More realistic -examples would be a CNT (meant to be an infinitely long CNT) or a -graphene sheet or a bulk periodic crystal where there are explicit -bonds specified between near neighbors. (Note that this only applies -to systems that have permanent bonds as specified in the data file. A -CNT that is just atoms modeled with the "AIREBO -potential"_pair_airebo.html has no such permanent bonds, so it can be -replicated.) The reason replication does not work with those systems -is that the image flag settings described above cannot be made -consistent. I.e. it is not possible to define images flags so that -when every pair of bonded atoms is unwrapped (using the image flags), -they will be close to each other. The only way the replicate command -could work in this scenario is for it to break a bond, insert more -atoms, and re-connect the loop for the larger simulation box. But it -is not clever enough to do this. So you will have to construct a -larger version of your molecule as a pre-processing step and input a -new data file to LAMMPS. - -If the current simulation was read in from a restart file (before a -run is performed), there must not be any fix information stored in -the file for individual atoms. Similarly, no fixes can be defined at -the time the replicate command is used that require vectors of atom -information to be stored. This is because the replicate command does -not know how to replicate that information for new atoms it creates. -To work around this restriction, restart files may be converted into -data files and fixes may be undefined via the "unfix"_unfix.html -command before and redefined after the replicate command. - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/rerun.txt b/doc/txt/rerun.txt deleted file mode 100644 index 3d5cdfff3c0417fa24099583a2fda12dd7bd6074..0000000000000000000000000000000000000000 --- a/doc/txt/rerun.txt +++ /dev/null @@ -1,222 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -rerun command :h3 - -[Syntax:] - -rerun file1 file2 ... keyword args ... :pre - -file1,file2,... = dump file(s) to read :ulb,l -one or more keywords may be appended, keyword {dump} must appear and be last :l -keyword = {first} or {last} or {every} or {skip} or {start} or {stop} or {dump} - {first} args = Nfirst - Nfirst = dump timestep to start on - {last} args = Nlast - Nlast = dumptimestep to stop on - {every} args = Nevery - Nevery = read snapshots matching every this many timesteps - {skip} args = Nskip - Nskip = read one out of every Nskip snapshots - {start} args = Nstart - Nstart = timestep on which pseudo run will start - {stop} args = Nstop - Nstop = timestep to which pseudo run will end - {dump} args = same as "read_dump"_read_dump.html command starting with its field arguments :pre -:ule - -[Examples:] - -rerun dump.file dump x y z vx vy vz -rerun dump1.txt dump2.txt first 10000 every 1000 dump x y z -rerun dump.vels dump x y z vx vy vz box yes format molfile lammpstrj -rerun dump.dcd dump x y z box no format molfile dcd -rerun ../run7/dump.file.gz skip 2 dump x y z box yes :pre - -[Description:] - -Perform a pseudo simulation run where atom information is read one -snapshot at a time from a dump file(s), and energies and forces are -computed on the shapshot to produce thermodynamic or other output. - -This can be useful in the following kinds of scenarios, after an -initial simulation produced the dump file: - -Compute the energy and forces of snaphots using a different potential. -:ulb,l - -Calculate one or more diagnostic quantities on the snapshots that -weren't computed in the initial run. These can also be computed with -settings not used in the initial run, e.g. computing an RDF via the -"compute rdf"_compute_rdf.html command with a longer cutoff than was -used initially. :l - -Calculate the portion of per-atom forces resulting from a subset of -the potential. E.g. compute only Coulombic forces. This can be done -by only defining only a Coulombic pair style in the rerun script. -Doing this in the original script would result in different (bad) -dynamics. :l -:ule - -Conceptually, using the rerun command is like running an input script -that has a loop in it (see the "next"_next.html and "jump"_jump.html -commands). Each iteration of the loop reads one snapshot from the -dump file via the "read_dump"_read_dump.html command, sets the -timestep to the appropriate value, and then invokes a "run"_run.html -command for zero timesteps to simply compute energy and forces, and -any other "thermodynamic output"_thermo_style.html or diagnostic info -you have defined. This computation also invokes any fixes you have -defined that apply constraints to the system, such as "fix -shake"_fix_shake.html or "fix indent"_fix_indent.html. - -Note that a simulation box must already be defined before using the -rerun command. This can be done by the "create_box"_create_box.html, -"read_data"_read_data.html, or "read_restart"_read_restart.html -commands. - -Also note that reading per-atom information from dump snapshots is -limited to the atom coordinates, velocities and image flags as -explained in the "read_dump"_read_dump.html command. Other atom -properties, which may be necessary to compute energies and forces, -such as atom charge, or bond topology information for a molecular -system, are not read from (or even contained in) dump files. Thus -this auxiliary information should be defined in the usual way, e.g. in -a data file read in by a "read_data"_read_data.html command, before -using the rerun command. - -Also note that the frequency of thermodynamic or dump output from the -rerun simulation will depend on settings made in the rerun script, the -same as for output from any LAMMPS simulation. See further info below -as to what that means if the timesteps for snapshots read from dump -files do not match the specified output frequency. - -:line - -If more than one dump file is specified, the dump files are read one -after the other. It is assumed that snapshot timesteps will be in -ascending order. If a snapshot is encountered that is not in -ascending order, it will skip the snapshot until it reads one that is. -This allows skipping of a duplicate snapshot (same timestep), -e.g. that appeared at the end of one file and beginning of the next. -However if you specify a series of dump files in an incorrect order -(with respect to the timesteps they contain), you may skip large -numbers of snapshots - -Note that the dump files specified as part of the {dump} keyword can -be parallel files, i.e. written as multiple files either per processor -and/or per snapshot. If that is the case they will also be read in -parallel which can make the rerun command operate dramatically faster -for large systems. See the doc page for the "read_dump"_read_dump and -"dump"_dump.html commands which describe how to read and write -parallel dump files. - -The {first}, {last}, {every}, {skip} keywords determine which -snapshots are read from the dump file(s). Snapshots are skipped until -they have a timestamp >= {Nfirst}. When a snapshot with a timestamp > -{Nlast} is encountered, the rerun command finishes. Note below that -the defaults for {first} and {last} are to read all snapshots. If the -{every} keyword is set to a value > 0, then only snapshots with -timestamps that are a multiple of {Nevery} are read (the first -snapshot is always read). If {Nevery} = 0, then this criterion is -ignored, i.e. every snapshot is read that meets the other criteria. -If the {skip} keyword is used, then after the first snapshot is read, -every Nth snapshot is read, where N = {Nskip}. E.g. if {Nskip} = 3, -then only 1 out of every 3 snapshots is read, assuming the snapshot -timestamp is also consistent with the other criteria. - -The {start} and {stop} keywords do not affect which snapshots are read -from the dump file(s). Rather, they have the same meaning that they -do for the "run"_run.html command. They only need to be defined if -(a) you are using a "fix"_fix.html command that changes some value -over time, and (b) you want the reference point for elapsed time (from -start to stop) to be different than the {first} and {last} settings. -See the doc page for individual fixes to see which ones can be used -with the {start/stop} keywords. Note that if you define neither of -the {start}/{stop} or {first}/{last} keywords, then LAMMPS treats the -pseudo run as going from 0 to a huge value (effectively infinity). -This means that any quantity that a fix scales as a fraction of -elapsed time in the run, will essentially remain at its initial value. -Also note that an error will occur if you read a snapshot from the -dump file with a timestep value larger than the {stop} setting you -have specified. - -The {dump} keyword is required and must be the last keyword specified. -Its arguments are passed internally to the "read_dump"_read_dump.html -command. The first argument following the {dump} keyword should be -the {field1} argument of the "read_dump"_read_dump.html command. See -the "read_dump"_read_dump.html doc page for details on the various -options it allows for extracting information from the dump file -snapshots, and for using that information to alter the LAMMPS -simulation. - -:line - -In general, a LAMMPS input script that uses a rerun command can -include and perform all the usual operations of an input script that -uses the "run"_run.html command. There are a few exceptions and -points to consider, as discussed here. - -Fixes that perform time integration, such as "fix nve"_fix_nve.html or -"fix npt"_fix_nh.html are not invoked, since no time integration is -performed. Fixes that perturb or constrain the forces on atoms will -be invoked, just as they would during a normal run. Examples are "fix -indent"_fix_indent.html and "fix langevin"_fix_langevin.html. So you -should think carefully as to whether that makes sense for the manner -in which you are reprocessing the dump snapshots. - -If you only want the rerun script to perform an analysis that does -not involve pair interactions, such as use compute msd to calculated -displacements over time, you do not need to define a "pair -style"_pair_style.html, which may also mean neighbor lists will not -need to be calculated which saves time. The "comm_modify -cutoff"_comm_modify.html command can also be used to insure ghost -atoms are acquired from far enough away for operations like bond and -angle evaluations, if no pair style is being used. - -Every time a snapshot is read, the timestep for the simulation is -reset, as if the "reset_timestep"_reset_timestep.html command were -used. This command has some restrictions as to what fixes can be -defined. See its doc page for details. For example, the "fix -deposit"_fix_deposit.html and "fix dt/reset"_fix_dt_reset.html fixes -are in this category. They also make no sense to use with a rerun -command. - -If time-averaging fixes like "fix ave/time"_fix_ave_time.html are -used, they are invoked on timesteps that are a function of their -{Nevery}, {Nrepeat}, and {Nfreq} settings. As an example, see the -"fix ave/time"_fix_ave_time.html doc page for details. You must -insure those settings are consistent with the snapshot timestamps that -are read from the dump file(s). If an averaging fix is not invoked on -a timestep it expects to be, LAMMPS will flag an error. - -The various forms of LAMMPS output, as defined by the -"thermo_style"_thermo_style.html, "thermo"_thermo.html, -"dump"_dump.html, and "restart"_restart.html commands occur with -specified frequency, e.g. every N steps. If the timestep for a dump -snapshot is not a multiple of N, then it will be read and processed, -but no output will be produced. If you want output for every dump -snapshot, you can simply use N=1 for an output frequency, e.g. for -thermodynamic output or new dump file output. - -:line - -[Restrictions:] - -To read gzipped dump files, you must compile LAMMPS with the --DLAMMPS_GZIP option. See the "Build settings"_Build_settings.html -doc page for details. - -[Related commands:] - -"read_dump"_read_dump.html - -[Default:] - -The option defaults are first = 0, last = a huge value (effectively -infinity), start = same as first, stop = same as last, every = 0, skip -= 1; diff --git a/doc/txt/reset_ids.txt b/doc/txt/reset_ids.txt deleted file mode 100644 index 8b217c7b1cc5f60a566ca858354f9c1fdb84ec56..0000000000000000000000000000000000000000 --- a/doc/txt/reset_ids.txt +++ /dev/null @@ -1,56 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -reset_ids command :h3 - -[Syntax:] - -reset_ids :pre - -[Examples:] - -reset_ids :pre - -[Description:] - -Reset atom IDs for the system, including all the global IDs stored -for bond, angle, dihedral, improper topology data. This will -create a set of IDs that are numbered contiguously from 1 to N -for a N atoms system. - -This can be useful to do after performing a "delete_atoms" command for -a molecular system. The delete_atoms compress yes option will not -perform this operation due to the existence of bond topology. It can -also be useful to do after any simulation which has lost atoms, -e.g. due to atoms moving outside a simulation box with fixed -boundaries (see the "boundary command"), or due to evaporation (see -the "fix evaporate" command). - -Note that the resetting of IDs is not really a compression, where gaps -in atom IDs are removed by decrementing atom IDs that are larger. -Instead the IDs for all atoms are erased, and new IDs are assigned so -that the atoms owned by an individual processor have consecutive IDs, -as the "create_atoms"_create_atoms.html command explains. - -NOTE: If this command is used before a "pair style"_pair_style.html is -defined, an error about bond topology atom IDs not being found may -result. This is because the cutoff distance for ghost atom -communication was not sufficient to find atoms in bonds, angles, etc -that are owned by other processors. The "comm_modify -cutoff"_comm_modify.html command can be used to correct this issue. -Or you can define a pair style before using this command. If you do -the former, you should unset the comm_modify cutoff after using -reset_ids so that subsequent communication is not inefficient. - -[Restrictions:] none - -[Related commands:] - -"delete_atoms"_delete_atoms.html - -[Default:] none diff --git a/doc/txt/reset_timestep.txt b/doc/txt/reset_timestep.txt deleted file mode 100644 index 0d518655fb774108eb95da66297d854300d945b5..0000000000000000000000000000000000000000 --- a/doc/txt/reset_timestep.txt +++ /dev/null @@ -1,61 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -reset_timestep command :h3 - -[Syntax:] - -reset_timestep N :pre - -N = timestep number :ul - -[Examples:] - -reset_timestep 0 -reset_timestep 4000000 :pre - -[Description:] - -Set the timestep counter to the specified value. This command -normally comes after the timestep has been set by reading a restart -file via the "read_restart"_read_restart.html command, or a previous -simulation advanced the timestep. - -The "read_data"_read_data.html and "create_box"_create_box.html -commands set the timestep to 0; the "read_restart"_read_restart.html -command sets the timestep to the value it had when the restart file -was written. - -[Restrictions:] none - -This command cannot be used when any fixes are defined that keep track -of elapsed time to perform certain kinds of time-dependent operations. -Examples are the "fix deposit"_fix_deposit.html and "fix -dt/reset"_fix_dt_reset.html commands. The former adds atoms on -specific timesteps. The latter keeps track of accumulated time. - -Various fixes use the current timestep to calculate related -quantities. If the timestep is reset, this may produce unexpected -behavior, but LAMMPS allows the fixes to be defined even if the -timestep is reset. For example, commands which thermostat the system, -e.g. "fix nvt"_fix_nh.html, allow you to specify a target temperature -which ramps from Tstart to Tstop which may persist over several runs. -If you change the timestep, you may induce an instantaneous change in -the target temperature. - -Resetting the timestep clears flags for "computes"_compute.html that -may have calculated some quantity from a previous run. This means -these quantity cannot be accessed by a variable in between runs until -a new run is performed. See the "variable"_variable.html command for -more details. - -[Related commands:] - -"rerun"_rerun.html - -[Default:] none diff --git a/doc/txt/restart.txt b/doc/txt/restart.txt deleted file mode 100644 index e0fae3909dc771ca15459230886ee5667a1715f2..0000000000000000000000000000000000000000 --- a/doc/txt/restart.txt +++ /dev/null @@ -1,173 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -restart command :h3 - -[Syntax:] - -restart 0 -restart N root keyword value ... -restart N file1 file2 keyword value ... :pre - -N = write a restart file every this many timesteps :ulb,l -N can be a variable (see below) :l -root = filename to which timestep # is appended :l -file1,file2 = two full filenames, toggle between them when writing file :l -zero or more keyword/value pairs may be appended :l -keyword = {fileper} or {nfile} :l - {fileper} arg = Np - Np = write one file for every this many processors - {nfile} arg = Nf - Nf = write this many files, one from each of Nf processors :pre -:ule - -[Examples:] - -restart 0 -restart 1000 poly.restart -restart 1000 poly.restart.mpiio -restart 1000 restart.*.equil -restart 10000 poly.%.1 poly.%.2 nfile 10 -restart v_mystep poly.restart :pre - -[Description:] - -Write out a binary restart file with the current state of the -simulation every so many timesteps, in either or both of two modes, as -a run proceeds. A value of 0 means do not write out any restart -files. The two modes are as follows. If one filename is specified, a -series of filenames will be created which include the timestep in the -filename. If two filenames are specified, only 2 restart files will -be created, with those names. LAMMPS will toggle between the 2 names -as it writes successive restart files. - -Note that you can specify the restart command twice, once with a -single filename and once with two filenames. This would allow you, -for example, to write out archival restart files every 100000 steps -using a single filename, and more frequent temporary restart files -every 1000 steps, using two filenames. Using restart 0 will turn off -both modes of output. - -Similar to "dump"_dump.html files, the restart filename(s) can contain -two wild-card characters. - -If a "*" appears in the single filename, it is replaced with the -current timestep value. This is only recognized when a single -filename is used (not when toggling back and forth). Thus, the 3rd -example above creates restart files as follows: restart.1000.equil, -restart.2000.equil, etc. If a single filename is used with no "*", -then the timestep value is appended. E.g. the 2nd example above -creates restart files as follows: poly.restart.1000, -poly.restart.2000, etc. - -If a "%" character appears in the restart filename(s), then one file -is written for each processor and the "%" character is replaced with -the processor ID from 0 to P-1. An additional file with the "%" -replaced by "base" is also written, which contains global information. -For example, the files written on step 1000 for filename restart.% -would be restart.base.1000, restart.0.1000, restart.1.1000, ..., -restart.P-1.1000. This creates smaller files and can be a fast mode -of output and subsequent input on parallel machines that support -parallel I/O. The optional {fileper} and {nfile} keywords discussed -below can alter the number of files written. - -The restart file can also be written in parallel as one large binary -file via the MPI-IO library, which is part of the MPI standard for -versions 2.0 and above. Using MPI-IO requires two steps. First, -build LAMMPS with its MPIIO package installed, e.g. - -make yes-mpiio # installs the MPIIO package -make mpi # build LAMMPS for your platform :pre - -Second, use a restart filename which contains ".mpiio". Note that it -does not have to end in ".mpiio", just contain those characters. -Unlike MPI-IO dump files, a particular restart file must be both -written and read using MPI-IO. - -Restart files are written on timesteps that are a multiple of N but -not on the first timestep of a run or minimization. You can use the -"write_restart"_write_restart.html command to write a restart file -before a run begins. A restart file is not written on the last -timestep of a run unless it is a multiple of N. A restart file is -written on the last timestep of a minimization if N > 0 and the -minimization converges. - -Instead of a numeric value, N can be specified as an "equal-style -variable"_variable.html, which should be specified as v_name, where -name is the variable name. In this case, the variable is evaluated at -the beginning of a run to determine the next timestep at which a -restart file will be written out. On that timestep, the variable will -be evaluated again to determine the next timestep, etc. Thus the -variable should return timestep values. See the stagger() and -logfreq() and stride() math functions for "equal-style -variables"_variable.html, as examples of useful functions to use in -this context. Other similar math functions could easily be added as -options for "equal-style variables"_variable.html. - -For example, the following commands will write restart files -every step from 1100 to 1200, and could be useful for debugging -a simulation where something goes wrong at step 1163: - -variable s equal stride(1100,1200,1) -restart v_s tmp.restart :pre - -:line - -See the "read_restart"_read_restart.html command for information about -what is stored in a restart file. - -Restart files can be read by a "read_restart"_read_restart.html -command to restart a simulation from a particular state. Because the -file is binary (to enable exact restarts), it may not be readable on -another machine. In this case, you can use the "-r command-line -switch"_Run_options.html to convert a restart file to a data file. - -NOTE: Although the purpose of restart files is to enable restarting a -simulation from where it left off, not all information about a -simulation is stored in the file. For example, the list of fixes that -were specified during the initial run is not stored, which means the -new input script must specify any fixes you want to use. Even when -restart information is stored in the file, as it is for some fixes, -commands may need to be re-specified in the new input script, in order -to re-use that information. See the "read_restart"_read_restart.html -command for information about what is stored in a restart file. - -:line - -The optional {nfile} or {fileper} keywords can be used in conjunction -with the "%" wildcard character in the specified restart file name(s). -As explained above, the "%" character causes the restart file to be -written in pieces, one piece for each of P processors. By default P = -the number of processors the simulation is running on. The {nfile} or -{fileper} keyword can be used to set P to a smaller value, which can -be more efficient when running on a large number of processors. - -The {nfile} keyword sets P to the specified Nf value. For example, if -Nf = 4, and the simulation is running on 100 processors, 4 files will -be written, by processors 0,25,50,75. Each will collect information -from itself and the next 24 processors and write it to a restart file. - -For the {fileper} keyword, the specified value of Np means write one -file for every Np processors. For example, if Np = 4, every 4th -processor (0,4,8,12,etc) will collect information from itself and the -next 3 processors and write it to a restart file. - -:line - -[Restrictions:] - -To write and read restart files in parallel with MPI-IO, the MPIIO -package must be installed. - -[Related commands:] - -"write_restart"_write_restart.html, "read_restart"_read_restart.html - -[Default:] - -restart 0 :pre diff --git a/doc/txt/run.txt b/doc/txt/run.txt deleted file mode 100644 index c7c73463d92d49bb8e72ca9b549e38d50960f67a..0000000000000000000000000000000000000000 --- a/doc/txt/run.txt +++ /dev/null @@ -1,205 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -run command :h3 - -[Syntax:] - -run N keyword values ... :pre - -N = # of timesteps :ulb,l -zero or more keyword/value pairs may be appended :l -keyword = {upto} or {start} or {stop} or {pre} or {post} or {every} :l - {upto} value = none - {start} value = N1 - N1 = timestep at which 1st run started - {stop} value = N2 - N2 = timestep at which last run will end - {pre} value = {no} or {yes} - {post} value = {no} or {yes} - {every} values = M c1 c2 ... - M = break the run into M-timestep segments and invoke one or more commands between each segment - c1,c2,...,cN = one or more LAMMPS commands, each enclosed in quotes - c1 = NULL means no command will be invoked :pre -:ule - -[Examples:] - -run 10000 -run 1000000 upto -run 100 start 0 stop 1000 -run 1000 pre no post yes -run 100000 start 0 stop 1000000 every 1000 "print 'Protein Rg = $r'" -run 100000 every 1000 NULL :pre - -[Description:] - -Run or continue dynamics for a specified number of timesteps. - -When the "run style"_run_style.html is {respa}, N refers to outer -loop (largest) timesteps. - -A value of N = 0 is acceptable; only the thermodynamics of the system -are computed and printed without taking a timestep. - -The {upto} keyword means to perform a run starting at the current -timestep up to the specified timestep. E.g. if the current timestep -is 10,000 and "run 100000 upto" is used, then an additional 90,000 -timesteps will be run. This can be useful for very long runs on a -machine that allocates chunks of time and terminate your job when time -is exceeded. If you need to restart your script multiple times -(reading in the last restart file), you can keep restarting your -script with the same run command until the simulation finally -completes. - -The {start} or {stop} keywords can be used if multiple runs are being -performed and you want a "fix"_fix.html command that changes some -value over time (e.g. temperature) to make the change across the -entire set of runs and not just a single run. See the doc page for -individual fixes to see which ones can be used with the {start/stop} -keywords. - -For example, consider this fix followed by 10 run commands: - -fix 1 all nvt 200.0 300.0 1.0 -run 1000 start 0 stop 10000 -run 1000 start 0 stop 10000 -... -run 1000 start 0 stop 10000 :pre - -The NVT fix ramps the target temperature from 200.0 to 300.0 during a -run. If the run commands did not have the start/stop keywords (just -"run 1000"), then the temperature would ramp from 200.0 to 300.0 -during the 1000 steps of each run. With the start/stop keywords, the -ramping takes place over the 10000 steps of all runs together. - -The {pre} and {post} keywords can be used to streamline the setup, -clean-up, and associated output to the screen that happens before and -after a run. This can be useful if you wish to do many short runs in -succession (e.g. LAMMPS is being called as a library which is doing -other computations between successive short LAMMPS runs). - -By default (pre and post = yes), LAMMPS creates neighbor lists, -computes forces, and imposes fix constraints before every run. And -after every run it gathers and prints timings statistics. If a run is -just a continuation of a previous run (i.e. no settings are changed), -the initial computation is not necessary; the old neighbor list is -still valid as are the forces. So if {pre} is specified as "no" then -the initial setup is skipped, except for printing thermodynamic info. -Note that if {pre} is set to "no" for the very 1st run LAMMPS -performs, then it is overridden, since the initial setup computations -must be done. - -NOTE: If your input script changes the system between 2 runs, then the -initial setup must be performed to insure the change is recognized by -all parts of the code that are affected. Examples are adding a -"fix"_fix.html or "dump"_dump.html or "compute"_compute.html, changing -a "neighbor"_neigh_modify.html list parameter, or writing restart file -which can migrate atoms between processors. LAMMPS has no easy way to -check if this has happened, but it is an error to use the {pre no} -option in this case. - -If {post} is specified as "no", the full timing summary is skipped; -only a one-line summary timing is printed. - -The {every} keyword provides a means of breaking a LAMMPS run into a -series of shorter runs. Optionally, one or more LAMMPS commands (c1, -c2, ..., cN) will be executed in between the short runs. If used, the -{every} keyword must be the last keyword, since it has a variable -number of arguments. Each of the trailing arguments is a single -LAMMPS command, and each command should be enclosed in quotes, so that -the entire command will be treated as a single argument. This will -also prevent any variables in the command from being evaluated until -it is executed multiple times during the run. Note that if a command -itself needs one of its arguments quoted (e.g. the "print"_print.html -command), then you can use a combination of single and double quotes, -as in the example above or below. - -The {every} keyword is a means to avoid listing a long series of runs -and interleaving commands in your input script. For example, a -"print"_print.html command could be invoked or a "fix"_fix.html could -be redefined, e.g. to reset a thermostat temperature. Or this could -be useful for invoking a command you have added to LAMMPS that wraps -some other code (e.g. as a library) to perform a computation -periodically during a long LAMMPS run. See the "Modify"_Modify.html -doc page for info about how to add new commands to LAMMPS. See the -"Howto couple"_Howto_couple.html doc page for ideas about how to -couple LAMMPS to other codes. - -With the {every} option, N total steps are simulated, in shorter runs -of M steps each. After each M-length run, the specified commands are -invoked. If only a single command is specified as NULL, then no -command is invoked. Thus these lines: - -variable q equal x\[100\] -run 6000 every 2000 "print 'Coord = $q'" :pre - -are the equivalent of: - -variable q equal x\[100\] -run 2000 -print "Coord = $q" -run 2000 -print "Coord = $q" -run 2000 -print "Coord = $q" :pre - -which does 3 runs of 2000 steps and prints the x-coordinate of a -particular atom between runs. Note that the variable "$q" will -be evaluated afresh each time the print command is executed. - -Note that by using the line continuation character "&", the run every -command can be spread across many lines, though it is still a single -command: - -run 100000 every 1000 & - "print 'Minimum value = $a'" & - "print 'Maximum value = $b'" & - "print 'Temp = $c'" & - "print 'Press = $d'" :pre - -If the {pre} and {post} options are set to "no" when used with the -{every} keyword, then the 1st run will do the full setup and the last -run will print the full timing summary, but these operations will be -skipped for intermediate runs. - -NOTE: You might wish to specify a command that exits the run by -jumping out of the loop, e.g. - -variable t equal temp -run 10000 every 100 "if '$t < 300.0' then 'jump SELF afterrun'" :pre - -However, this will not work. The run command simply executes each -command one at a time each time it pauses, then continues the run. - -Instead, you should use the "fix halt"_fix_halt.html command, which -has additional options for how to exit the run. - -[Restrictions:] - -When not using the {upto} keyword, the number of specified timesteps N -must fit in a signed 32-bit integer, so you are limited to slightly -more than 2 billion steps (2^31) in a single run. When using {upto}, -N can be larger than a signed 32-bit integer, however the difference -between N and the current timestep must still be no larger than -2^31 steps. - -However, with or without the {upto} keyword, you can perform -successive runs to run a simulation for any number of steps (ok, up to -2^63 total steps). I.e. the timestep counter within LAMMPS is a -64-bit signed integer. - -[Related commands:] - -"minimize"_minimize.html, "run_style"_run_style.html, -"temper"_temper.html, "fix halt"_fix_halt.html - -[Default:] - -The option defaults are start = the current timestep, stop = current -timestep + N, pre = yes, and post = yes. diff --git a/doc/txt/run_style.txt b/doc/txt/run_style.txt deleted file mode 100644 index bf13d20439b9f505d3193bf5607631c675243409..0000000000000000000000000000000000000000 --- a/doc/txt/run_style.txt +++ /dev/null @@ -1,329 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -run_style command :h3 - -[Syntax:] - -run_style style args :pre - -style = {verlet} or {verlet/split} or {respa} or {respa/omp} :ulb,l - {verlet} args = none - {verlet/split} args = none - {respa} args = N n1 n2 ... keyword values ... - N = # of levels of rRESPA - n1, n2, ... = loop factors between rRESPA levels (N-1 values) - zero or more keyword/value pairings may be appended to the loop factors - keyword = {bond} or {angle} or {dihedral} or {improper} or - {pair} or {inner} or {middle} or {outer} or {hybrid} or {kspace} - {bond} value = M - M = which level (1-N) to compute bond forces in - {angle} value = M - M = which level (1-N) to compute angle forces in - {dihedral} value = M - M = which level (1-N) to compute dihedral forces in - {improper} value = M - M = which level (1-N) to compute improper forces in - {pair} value = M - M = which level (1-N) to compute pair forces in - {inner} values = M cut1 cut2 - M = which level (1-N) to compute pair inner forces in - cut1 = inner cutoff between pair inner and - pair middle or outer (distance units) - cut2 = outer cutoff between pair inner and - pair middle or outer (distance units) - {middle} values = M cut1 cut2 - M = which level (1-N) to compute pair middle forces in - cut1 = inner cutoff between pair middle and pair outer (distance units) - cut2 = outer cutoff between pair middle and pair outer (distance units) - {outer} value = M - M = which level (1-N) to compute pair outer forces in - {hybrid} values = M1 M2 ... (as many values as there are hybrid sub-styles - M1 = which level (1-N) to compute the first pair_style hybrid sub-style in - M2 = which level (1-N) to compute the second pair_style hybrid sub-style in - M3,etc - {kspace} value = M - M = which level (1-N) to compute kspace forces in :pre -:ule - -[Examples:] - -run_style verlet -run_style respa 4 2 2 2 bond 1 dihedral 2 pair 3 kspace 4 -run_style respa 4 2 2 2 bond 1 dihedral 2 inner 3 5.0 6.0 outer 4 kspace 4 -run_style respa 3 4 2 bond 1 hybrid 2 2 1 kspace 3 :pre - -[Description:] - -Choose the style of time integrator used for molecular dynamics -simulations performed by LAMMPS. - -The {verlet} style is a standard velocity-Verlet integrator. - -:line - -The {verlet/split} style is also a velocity-Verlet integrator, but it -splits the force calculation within each timestep over 2 partitions of -processors. See the "-partition command-line switch"_Run_options.html -for info on how to run LAMMPS with multiple partitions. - -Specifically, this style performs all computation except the -"kspace_style"_kspace_style.html portion of the force field on the 1st -partition. This include the "pair style"_pair_style.html, "bond -style"_bond_style.html, "neighbor list building"_neighbor.html, -"fixes"_fix.html including time integration, and output. The -"kspace_style"_kspace_style.html portion of the calculation is -performed on the 2nd partition. - -This is most useful for the PPPM kspace_style when its performance on -a large number of processors degrades due to the cost of communication -in its 3d FFTs. In this scenario, splitting your P total processors -into 2 subsets of processors, P1 in the 1st partition and P2 in the -2nd partition, can enable your simulation to run faster. This is -because the long-range forces in PPPM can be calculated at the same -time as pair-wise and bonded forces are being calculated, and the FFTs -can actually speed up when running on fewer processors. - -To use this style, you must define 2 partitions where P1 is a multiple -of P2. Typically having P1 be 3x larger than P2 is a good choice. -The 3d processor layouts in each partition must overlay in the -following sense. If P1 is a Px1 by Py1 by Pz1 grid, and P2 = Px2 by -Py2 by Pz2, then Px1 must be an integer multiple of Px2, and similarly -for Py1 a multiple of Py2, and Pz1 a multiple of Pz2. - -Typically the best way to do this is to let the 1st partition choose -its onn optimal layout, then require the 2nd partition's layout to -match the integer multiple constraint. See the -"processors"_processors.html command with its {part} keyword for a way -to control this, e.g. - -procssors * * * part 1 2 multiple :pre - -You can also use the "partition"_partition.html command to explicitly -specify the processor layout on each partition. E.g. for 2 partitions -of 60 and 15 processors each: - -partition yes 1 processors 3 4 5 -partition yes 2 processors 3 1 5 :pre - -When you run in 2-partition mode with the {verlet/split} style, the -thermodynamic data for the entire simulation will be output to the log -and screen file of the 1st partition, which are log.lammps.0 and -screen.0 by default; see the "-plog and -pscreen command-line -switches"_Run_options.html to change this. The log and screen file -for the 2nd partition will not contain thermodynamic output beyond the -1st timestep of the run. - -See the "Speed packages"_Speed_packages.html doc page for performance -details of the speed-up offered by the {verlet/split} style. One -important performance consideration is the assignment of logical -processors in the 2 partitions to the physical cores of a parallel -machine. The "processors"_processors.html command has options to -support this, and strategies are discussed in "Section -5"_Speed.html of the manual. - -:line - -The {respa} style implements the rRESPA multi-timescale integrator -"(Tuckerman)"_#Tuckerman3 with N hierarchical levels, where level 1 is -the innermost loop (shortest timestep) and level N is the outermost -loop (largest timestep). The loop factor arguments specify what the -looping factor is between levels. N1 specifies the number of -iterations of level 1 for a single iteration of level 2, N2 is the -iterations of level 2 per iteration of level 3, etc. N-1 looping -parameters must be specified. - -Thus with a 4-level respa setting of "2 2 2" for the 3 loop factors, -you could choose to have bond interactions computed 8x per large -timestep, angle interactions computed 4x, pair interactions computed -2x, and long-range interactions once per large timestep. - -The "timestep"_timestep.html command sets the large timestep for the -outermost rRESPA level. Thus if the 3 loop factors are "2 2 2" for -4-level rRESPA, and the outer timestep is set to 4.0 fmsec, then the -inner timestep would be 8x smaller or 0.5 fmsec. All other LAMMPS -commands that specify number of timesteps (e.g. "thermo"_thermo.html -for thermo output every N steps, "neigh_modify -delay/every"_neigh_modify.html parameters, "dump"_dump.html every N -steps, etc) refer to the outermost timesteps. - -The rRESPA keywords enable you to specify at what level of the -hierarchy various forces will be computed. If not specified, the -defaults are that bond forces are computed at level 1 (innermost -loop), angle forces are computed where bond forces are, dihedral -forces are computed where angle forces are, improper forces are -computed where dihedral forces are, pair forces are computed at the -outermost level, and kspace forces are computed where pair forces are. -The inner, middle, outer forces have no defaults. - -For fixes that support it, the rRESPA level at which a given fix is -active, can be selected through the "fix_modify"_fix_modify.html command. - -The {inner} and {middle} keywords take additional arguments for -cutoffs that are used by the pairwise force computations. If the 2 -cutoffs for {inner} are 5.0 and 6.0, this means that all pairs up to -6.0 apart are computed by the inner force. Those between 5.0 and 6.0 -have their force go ramped to 0.0 so the overlap with the next regime -(middle or outer) is smooth. The next regime (middle or outer) will -compute forces for all pairs from 5.0 outward, with those from 5.0 to -6.0 having their value ramped in an inverse manner. - -Note that you can use {inner} and {outer} without using {middle} to -split the pairwise computations into two portions instead of three. -Unless you are using a very long pairwise cutoff, a 2-way split is -often faster than a 3-way split, since it avoids too much duplicate -computation of pairwise interactions near the intermediate cutoffs. - -Also note that only a few pair potentials support the use of the -{inner} and {middle} and {outer} keywords. If not, only the {pair} -keyword can be used with that pair style, meaning all pairwise forces -are computed at the same rRESPA level. See the doc pages for -individual pair styles for details. - -Another option for using pair potentials with rRESPA is with the -{hybrid} keyword, which requires the use of the "pair_style hybrid or -hybrid/overlay"_pair_hybrid.html command. In this scenario, different -sub-styles of the hybrid pair style are evaluated at different rRESPA -levels. This can be useful, for example, to set different timesteps -for hybrid coarse-grained/all-atom models. The {hybrid} keyword -requires as many level assignments as there are hybrid sub-styles, -which assigns each sub-style to a rRESPA level, following their order -of definition in the pair_style command. Since the {hybrid} keyword -operates on pair style computations, it is mutually exclusive with -either the {pair} or the {inner}/{middle}/{outer} keywords. - -When using rRESPA (or for any MD simulation) care must be taken to -choose a timestep size(s) that insures the Hamiltonian for the chosen -ensemble is conserved. For the constant NVE ensemble, total energy -must be conserved. Unfortunately, it is difficult to know {a priori} -how well energy will be conserved, and a fairly long test simulation -(~10 ps) is usually necessary in order to verify that no long-term -drift in energy occurs with the trial set of parameters. - -With that caveat, a few rules-of-thumb may be useful in selecting -{respa} settings. The following applies mostly to biomolecular -simulations using the CHARMM or a similar all-atom force field, but -the concepts are adaptable to other problems. Without SHAKE, bonds -involving hydrogen atoms exhibit high-frequency vibrations and require -a timestep on the order of 0.5 fmsec in order to conserve energy. The -relatively inexpensive force computations for the bonds, angles, -impropers, and dihedrals can be computed on this innermost 0.5 fmsec -step. The outermost timestep cannot be greater than 4.0 fmsec without -risking energy drift. Smooth switching of forces between the levels -of the rRESPA hierarchy is also necessary to avoid drift, and a 1-2 -angstrom "healing distance" (the distance between the outer and inner -cutoffs) works reasonably well. We thus recommend the following -settings for use of the {respa} style without SHAKE in biomolecular -simulations: - -timestep 4.0 -run_style respa 4 2 2 2 inner 2 4.5 6.0 middle 3 8.0 10.0 outer 4 :pre - -With these settings, users can expect good energy conservation and -roughly a 2.5 fold speedup over the {verlet} style with a 0.5 fmsec -timestep. - -If SHAKE is used with the {respa} style, time reversibility is lost, -but substantially longer time steps can be achieved. For biomolecular -simulations using the CHARMM or similar all-atom force field, bonds -involving hydrogen atoms exhibit high frequency vibrations and require -a time step on the order of 0.5 fmsec in order to conserve energy. -These high frequency modes also limit the outer time step sizes since -the modes are coupled. It is therefore desirable to use SHAKE with -respa in order to freeze out these high frequency motions and increase -the size of the time steps in the respa hierarchy. The following -settings can be used for biomolecular simulations with SHAKE and -rRESPA: - -fix 2 all shake 0.000001 500 0 m 1.0 a 1 -timestep 4.0 -run_style respa 2 2 inner 1 4.0 5.0 outer 2 :pre - -With these settings, users can expect good energy conservation and -roughly a 1.5 fold speedup over the {verlet} style with SHAKE and a -2.0 fmsec timestep. - -For non-biomolecular simulations, the {respa} style can be -advantageous if there is a clear separation of time scales - fast and -slow modes in the simulation. For example, a system of slowly-moving -charged polymer chains could be setup as follows: - -timestep 4.0 -run_style respa 2 8 :pre - -This is two-level rRESPA with an 8x difference between the short and -long timesteps. The bonds, angles, dihedrals will be computed every -0.5 fs (assuming real units), while the pair and kspace interactions -will be computed once every 4 fs. These are the default settings for -each kind of interaction, so no additional keywords are necessary. - -Even a LJ system can benefit from rRESPA if the interactions are -divided by the inner, middle and outer keywords. A 2-fold or more -speedup can be obtained while maintaining good energy conservation. -In real units, for a pure LJ fluid at liquid density, with a sigma of -3.0 angstroms, and epsilon of 0.1 Kcal/mol, the following settings -seem to work well: - -timestep 36.0 -run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 :pre - -:line - -The {respa/omp} style is a variant of {respa} adapted for use with -pair, bond, angle, dihedral, improper, or kspace styles with an {omp} -suffix. It is functionally equivalent to {respa} but performs -additional operations required for managing {omp} styles. For more on -{omp} styles see the "Speed omp"_Speed_omp.html doc page. Accelerated -styles take the same arguments and should produce the same results, -except for round-off and precision issues. - -You can specify {respa/omp} explicitly in your input script, or you -can use the "-suffix command-line switch"_Run_options.html when you -invoke LAMMPS, or you can use the "suffix"_suffix.html command in your -input script. - -See the "Speed packages"_Speed_packages.html doc page for more -instructions on how to use the accelerated styles effectively. - -:line - -[Restrictions:] - -The {verlet/split} style can only be used if LAMMPS was built with the -REPLICA package. Correspondingly the {respa/omp} style is available -only if the USER-OMP package was included. See the "Build -package"_Build_package.html doc page for more info. - -Whenever using rRESPA, the user should experiment with trade-offs in -speed and accuracy for their system, and verify that they are -conserving energy to adequate precision. - -[Related commands:] - -"timestep"_timestep.html, "run"_run.html - -[Default:] - -run_style verlet :pre - -For run_style respa, the default assignment of interactions -to rRESPA levels is as follows: - -bond forces = level 1 (innermost loop) -angle forces = same level as bond forces -dihedral forces = same level as angle forces -improper forces = same level as dihedral forces -pair forces = level N (outermost level) -kspace forces = same level as pair forces -inner, middle, outer forces = no default :ul - -:line - -:link(Tuckerman3) -[(Tuckerman)] Tuckerman, Berne and Martyna, J Chem Phys, 97, p 1990 -(1992). diff --git a/doc/txt/server_mc.txt b/doc/txt/server_mc.txt deleted file mode 100644 index ef3c56f886acd7444ffe1718d3267ecd3418daaa..0000000000000000000000000000000000000000 --- a/doc/txt/server_mc.txt +++ /dev/null @@ -1,116 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -server mc command :h3 - -[Syntax:] - -server mc :pre - -mc = the protocol argument to the "server"_server.html command - -[Examples:] - -server mc :pre - -[Description:] - -This command starts LAMMPS running in "server" mode, where it will -expect messages from a separate "client" code that match the {mc} -protocol for format and content explained below. For each message -LAMMPS receives it will send a message back to the client. - -The "Howto client/server"_Howto_client_server.html doc page gives an -overview of client/server coupling of LAMMPS with another code where -one code is the "client" and sends request messages to a "server" -code. The server responds to each request with a reply message. This -enables the two codes to work in tandem to perform a simulation. - -When this command is invoked, LAMMPS will run in server mode in an -endless loop, waiting for messages from the client code. The client -signals when it is done sending messages to LAMMPS, at which point the -loop will exit, and the remainder of the LAMMPS script will be -processed. - -The "server"_server.html doc page gives other options for using LAMMPS -See an example of how this command is used in -examples/COUPLE/lammps_mc/in.server. - -:line - -When using this command, LAMMPS (as the server code) receives -instructions from a Monte Carlo (MC) driver to displace random atoms, -compute the energy before and after displacement, and run dynamics to -equilibrate the system. - -The MC driver performs the random displacements on random atoms, -accepts or rejects the move in an MC sense, and orchestrates the MD -runs. - -The format and content of the exchanged messages are explained here in -a conceptual sense. Python-style pseudo code for the library calls to -the CSlib is shown, which performs the actual message exchange between -the two codes. See the "CSlib website"_http://cslib.sandia.gov doc -pages for more details on the actual library syntax. The "cs" object -in this pseudo code is a pointer to an instance of the CSlib. - -See the src/MESSAGE/server_mc.cpp file for details on how LAMMPS uses -these messages. See the examples/COUPLE/lammps_mc/mc.cpp file for an -example of how an MC driver code can use these messages. - -Define NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. - -[Client sends one of these kinds of message]: - -cs->send(NATOMS,0) # msgID = 1 with no fields :pre - -cs->send(EINIT,0) # msgID = 2 with no fields :pre - -cs->send(DISPLACE,2) # msgID = 3 with 2 fields -cs->pack_int(1,ID) # 1st field = ID of atom to displace -cs->pack(2,3,xnew) # 2nd field = new xyz coords of displaced atom :pre - -cs->send(ACCEPT,1) # msgID = 4 with 1 field -cs->pack_int(1,flag) # 1st field = accept/reject flag :pre - -cs->send(RUN,1) # msgID = 5 with 1 field -cs->pack_int(1,nsteps) # 1st field = # of timesteps to run MD :pre - -[Server replies]: - -cs->send(NATOMS,1) # msgID = 1 with 1 field -cs->pack_int(1,natoms) # 1st field = number of atoms :pre - -cs->send(EINIT,2) # msgID = 2 with 2 fields -cs->pack_double(1,poteng) # 1st field = potential energy of system -cs->pack(2,3*natoms,x) # 2nd field = 3N coords of Natoms :pre - -cs->send(DISPLACE,1) # msgID = 3 with 1 field -cs->pack_double(1,poteng) # 1st field = new potential energy of system :pre - -cs->send(ACCEPT,0) # msgID = 4 with no fields :pre - -cs->send(RUN,0) # msgID = 5 with no fields :pre - -:line - -[Restrictions:] - -This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -A script that uses this command must also use the -"message"_message.html command to setup the messaging protocol with -the other client code. - -[Related commands:] - -"message"_message.html - -[Default:] none diff --git a/doc/txt/server_md.txt b/doc/txt/server_md.txt deleted file mode 100644 index 495c890c59681b1122f59f5456f3027217368c05..0000000000000000000000000000000000000000 --- a/doc/txt/server_md.txt +++ /dev/null @@ -1,149 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -server md command :h3 - -[Syntax:] - -server md :pre - -md = the protocol argument to the "server"_server.html command - -[Examples:] - -server md :pre - -[Description:] - -This command starts LAMMPS running in "server" mode, where it will -expect messages from a separate "client" code that match the {md} -protocol for format and content explained below. For each message -LAMMPS receives it will send a message back to the client. - -The "Howto client/server"_Howto_client_server.html doc page gives an -overview of client/server coupling of LAMMPS with another code where -one code is the "client" and sends request messages to a "server" -code. The server responds to each request with a reply message. This -enables the two codes to work in tandem to perform a simulation. - -When this command is invoked, LAMMPS will run in server mode in an -endless loop, waiting for messages from the client code. The client -signals when it is done sending messages to LAMMPS, at which point the -loop will exit, and the remainder of the LAMMPS script will be -processed. - -The "server"_server.html doc page gives other options for using LAMMPS -in server mode. See an example of how this command is used in -examples/message/in.message.server. - -:line - -When using this command, LAMMPS (as the server code) receives the -current coordinates of all particles from the client code each -timestep, computes their interaction, and returns the energy, forces, -and pressure for the interacting particles to the client code, so it -can complete the timestep. This command could also be used with a -client code that performs energy minimization, using the server to -compute forces and energy each iteration of its minimizer. - -When using the "fix client/md"_fix_client_md.html command, LAMMPS (as -the client code) does the timestepping and receives needed energy, -forces, and pressure values from the server code. - -The format and content of the exchanged messages are explained here in -a conceptual sense. Python-style pseudo code for the library calls to -the CSlib is shown, which performs the actual message exchange between -the two codes. See the "CSlib website"_http://cslib.sandia.gov doc -pages for more details on the actual library syntax. The "cs" object -in this pseudo code is a pointer to an instance of the CSlib. - -See the src/MESSAGE/server_md.cpp and src/MESSAGE/fix_client_md.cpp -files for details on how LAMMPS uses these messages. See the -examples/COUPLE/lammps_vasp/vasp_wrapper.py file for an example of how -a quantum code (VASP) can use these messages. - -The following pseudo-code uses these values, defined as enums. - -Define: - -SETUP=1, STEP=2 -DIM=1, PERIODICITY=2, ORIGIN=3, BOX=4, NATOMS=5, NTYPES=6, TYPES=7, COORDS=8, UNITS-9, CHARGE=10 -FORCES=1, ENERGY=2, PRESSURE=3, ERROR=4 :pre - -[Client sends 2 kinds of messages]: - -# required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS -# optional fields: UNITS, CHARGE :pre - -cs->send(SETUP,nfields) # msgID with nfields :pre - -cs->pack_int(DIM,dim) # dimension (2,3) of simulation -cs->pack(PERIODICITY,3,xyz) # periodicity flags in 3 dims -cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box -cs->pack(BOX,9,box) # 3 edge vectors of simulation box -cs->pack_int(NATOMS,natoms) # total number of atoms -cs->pack_int(NTYPES,ntypes) # number of atom types -cs->pack(TYPES,natoms,type) # vector of per-atom types -cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords -cs->pack_string(UNITS,units) # units = "lj", "real", "metal", etc -cs->pack(CHARGE,natoms,q) # vector of per-atom charge :pre - -# required fields: COORDS -# optional fields: ORIGIN, BOX :pre - -cs->send(STEP,nfields) # msgID with nfields :pre - -cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords -cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box -cs->pack(BOX,9,box) # 3 edge vectors of simulation box :pre - -[Server replies to either kind of message]: - -# required fields: FORCES, ENERGY, PRESSURE -# optional fields: ERROR :pre - -cs->send(msgID,nfields) # msgID with nfields -cs->pack(FORCES,3*Natoms,f) # vector of 3N forces on atoms -cs->pack(ENERGY,1,poteng) # total potential energy of system -cs->pack(PRESSURE,6,press) # global pressure tensor (6-vector) -cs->pack_int(ERROR,flag) # server had an error (e.g. DFT non-convergence) :pre - -:line - -The units for various quantities that are sent and received iva -messages are defined for atomic-scale simulations in the table below. -The client and server codes (including LAMMPS) can use internal units -different than these (e.g. "real units"_units.html in LAMMPS), so long -as they convert to these units for messaging. - -COORDS, ORIGIN, BOX = Angstroms -CHARGE = multiple of electron charge (1.0 is a proton) -ENERGY = eV -FORCES = eV/Angstrom -PRESSURE = bars :ul - -Note that these are "metal units"_units.html in LAMMPS. - -If you wish to run LAMMPS in another its non-atomic units, e.g. "lj -units"_units.html, then the client and server should exchange a UNITS -message as indicated above, and both the client and server should -agree on the units for the data they exchange. - -:line - -[Restrictions:] - -This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"message"_message.html, "fix client/md"_fix_client_md.html - -[Default:] none diff --git a/doc/txt/set.txt b/doc/txt/set.txt deleted file mode 100644 index 15c96071ae9fd36284082f96f1742fbd469ff6c8..0000000000000000000000000000000000000000 --- a/doc/txt/set.txt +++ /dev/null @@ -1,490 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -set command :h3 - -[Syntax:] - -set style ID keyword values ... :pre - -style = {atom} or {type} or {mol} or {group} or {region} :ulb,l -ID = atom ID range or type range or mol ID range or group ID or region ID :l -one or more keyword/value pairs may be appended :l -keyword = {type} or {type/fraction} or {mol} or {x} or {y} or {z} or \ - {charge} or {dipole} or {dipole/random} or {quat} or \ - {spin} or {spin/random} or {quat} or \ - {quat/random} or {diameter} or {shape} or \ - {length} or {tri} or {theta} or {theta/random} or \ - {angmom} or {omega} or \ - {mass} or {density} or {density/disc} or {volume} or {image} or \ - {bond} or {angle} or {dihedral} or {improper} or \ - {meso/e} or {meso/cv} or {meso/rho} or \ - {smd/contact/radius} or {smd/mass/density} or {dpd/theta} or \ - {edpd/temp} or {edpd/cv} or {cc} or {i_name} or {d_name} :l - {type} value = atom type - value can be an atom-style variable (see below) - {type/fraction} values = type fraction seed - type = new atom type - fraction = fraction of selected atoms to set to new atom type - seed = random # seed (positive integer) - {mol} value = molecule ID - value can be an atom-style variable (see below) - {x},{y},{z} value = atom coordinate (distance units) - value can be an atom-style variable (see below) - {vx},{vy},{vz} value = atom velocity (velocity units) - value can be an atom-style variable (see below) - {charge} value = atomic charge (charge units) - value can be an atom-style variable (see below) - {dipole} values = x y z - x,y,z = orientation of dipole moment vector - any of x,y,z can be an atom-style variable (see below) - {dipole/random} value = seed Dlen - seed = random # seed (positive integer) for dipole moment orientations - Dlen = magnitude of dipole moment (dipole units) - {spin} values = g x y z - g = magnitude of magnetic spin vector (in Bohr magneton's unit) - x,y,z = orientation of magnetic spin vector - any of x,y,z can be an atom-style variable (see below) - {spin/random} value = seed Dlen - seed = random # seed (positive integer) for magnetic spin orientations - Dlen = magnitude of magnetic spin vector (in Bohr magneton's unit) - {quat} values = a b c theta - a,b,c = unit vector to rotate particle around via right-hand rule - theta = rotation angle (degrees) - any of a,b,c,theta can be an atom-style variable (see below) - {quat/random} value = seed - seed = random # seed (positive integer) for quaternion orientations - {diameter} value = diameter of spherical particle (distance units) - value can be an atom-style variable (see below) - {shape} value = Sx Sy Sz - Sx,Sy,Sz = 3 diameters of ellipsoid (distance units) - {length} value = len - len = length of line segment (distance units) - len can be an atom-style variable (see below) - {tri} value = side - side = side length of equilateral triangle (distance units) - side can be an atom-style variable (see below) - {theta} value = angle (degrees) - angle = orientation of line segment with respect to x-axis - angle can be an atom-style variable (see below) - {theta/random} value = seed - seed = random # seed (positive integer) for line segment orienations - {angmom} values = Lx Ly Lz - Lx,Ly,Lz = components of angular momentum vector (distance-mass-velocity units) - any of Lx,Ly,Lz can be an atom-style variable (see below) - {omega} values = Wx Wy Wz - Wx,Wy,Wz = components of angular velocity vector (radians/time units) - any of wx,wy,wz can be an atom-style variable (see below) - {mass} value = per-atom mass (mass units) - value can be an atom-style variable (see below) - {density} value = particle density for a sphere or ellipsoid (mass/distance^3 units), or for a triangle (mass/distance^2 units) or line (mass/distance units) particle - value can be an atom-style variable (see below) - {density/disc} value = particle density for a 2d disc or ellipse (mass/distance^2 units) - value can be an atom-style variable (see below) - {volume} value = particle volume for Peridynamic particle (distance^3 units) - value can be an atom-style variable (see below) - {image} nx ny nz - nx,ny,nz = which periodic image of the simulation box the atom is in - any of nx,ny,nz can be an atom-style variable (see below) - {bond} value = bond type for all bonds between selected atoms - {angle} value = angle type for all angles between selected atoms - {dihedral} value = dihedral type for all dihedrals between selected atoms - {improper} value = improper type for all impropers between selected atoms - {meso/e} value = energy of SPH particles (need units) - value can be an atom-style variable (see below) - {meso/cv} value = heat capacity of SPH particles (need units) - value can be an atom-style variable (see below) - {meso/rho} value = density of SPH particles (need units) - value can be an atom-style variable (see below) - {smd/contact/radius} = radius for short range interactions, i.e. contact and friction - value can be an atom-style variable (see below) - {smd/mass/density} = set particle mass based on volume by providing a mass density - value can be an atom-style variable (see below) - {dpd/theta} value = internal temperature of DPD particles (temperature units) - value can be an atom-style variable (see below) - value can be NULL which sets internal temp of each particle to KE temp - {edpd/temp} value = temperature of eDPD particles (temperature units) - value can be an atom-style variable (see below) - {edpd/cv} value = volumetric heat capacity of eDPD particles (energy/temperature/volume units) - value can be an atom-style variable (see below) - {cc} values = index cc - index = index of a chemical species (1 to Nspecies) - cc = chemical concentration of tDPD particles for a species (mole/volume units) - {i_name} value = value for custom integer vector with name - {d_name} value = value for custom floating-point vector with name :pre -:ule - -[Examples:] - -set group solvent type 2 -set group solvent type/fraction 2 0.5 12393 -set group edge bond 4 -set region half charge 0.5 -set type 3 charge 0.5 -set type 1*3 charge 0.5 -set atom * charge v_atomfile -set atom 100*200 x 0.5 y 1.0 -set atom 100 vx 0.0 vy 0.0 vz -1.0 -set atom 1492 type 3 :pre - -[Description:] - -Set one or more properties of one or more atoms. Since atom -properties are initially assigned by the "read_data"_read_data.html, -"read_restart"_read_restart.html or "create_atoms"_create_atoms.html -commands, this command changes those assignments. This can be useful -for overriding the default values assigned by the -"create_atoms"_create_atoms.html command (e.g. charge = 0.0). It can -be useful for altering pairwise and molecular force interactions, -since force-field coefficients are defined in terms of types. It can -be used to change the labeling of atoms by atom type or molecule ID -when they are output in "dump"_dump.html files. It can also be useful -for debugging purposes; i.e. positioning an atom at a precise location -to compute subsequent forces or energy. - -Note that the {style} and {ID} arguments determine which atoms have -their properties reset. The remaining keywords specify which -properties to reset and what the new values are. Some strings like -{type} or {mol} can be used as a style and/or a keyword. - -:line - -This section describes how to select which atoms to change -the properties of, via the {style} and {ID} arguments. - -The style {atom} selects all the atoms in a range of atom IDs. The -style {type} selects all the atoms in a range of types. The style -{mol} selects all the atoms in a range of molecule IDs. - -In each of the range cases, the range can be specified as a single -numeric value, or a wildcard asterisk can be used to specify a range -of values. This takes the form "*" or "*n" or "n*" or "m*n". For -example, for the style {type}, if N = the number of atom types, then -an asterisk with no numeric values means all types from 1 to N. A -leading asterisk means all types from 1 to n (inclusive). A trailing -asterisk means all types from n to N (inclusive). A middle asterisk -means all types from m to n (inclusive). For all the styles except -{mol}, the lowest value for the wildcard is 1; for {mol} it is 0. - -The style {group} selects all the atoms in the specified group. The -style {region} selects all the atoms in the specified geometric -region. See the "group"_group.html and "region"_region.html commands -for details of how to specify a group or region. - -:line - -This section describes the keyword options for which properties to -change, for the selected atoms. - -Note that except where explicitly prohibited below, all of the -keywords allow an "atom-style or atomfile-style -variable"_variable.html to be used as the specified value(s). If the -value is a variable, it should be specified as v_name, where name is -the variable name. In this case, the variable will be evaluated, and -its resulting per-atom value used to determine the value assigned to -each selected atom. Note that the per-atom value from the variable -will be ignored for atoms that are not selected via the {style} and -{ID} settings explained above. A simple way to use per-atom values -from the variable to reset a property for all atoms is to use style -{atom} with {ID} = "*"; this selects all atom IDs. - -Atom-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters and timestep and elapsed -time. They can also include per-atom values, such as atom -coordinates. Thus it is easy to specify a time-dependent or -spatially-dependent set of per-atom values. As explained on the -"variable"_variable.html doc page, atomfile-style variables can be -used in place of atom-style variables, and thus as arguments to the -set command. Atomfile-style variables read their per-atoms values -from a file. - -NOTE: Atom-style and atomfile-style variables return floating point -per-atom values. If the values are assigned to an integer variable, -such as the molecule ID, then the floating point value is truncated to -its integer portion, e.g. a value of 2.6 would become 2. - -Keyword {type} sets the atom type for all selected atoms. The -specified value must be from 1 to ntypes, where ntypes was set by the -"create_box"_create_box.html command or the {atom types} field in the -header of the data file read by the "read_data"_read_data.html -command. - -Keyword {type/fraction} sets the atom type for a fraction of the -selected atoms. The actual number of atoms changed is not guaranteed -to be exactly the requested fraction, but should be statistically -close. Random numbers are used in such a way that a particular atom -is changed or not changed, regardless of how many processors are being -used. This keyword does not allow use of an atom-style variable. - -Keyword {mol} sets the molecule ID for all selected atoms. The "atom -style"_atom_style.html being used must support the use of molecule -IDs. - -Keywords {x}, {y}, {z}, and {charge} set the coordinates or charge of -all selected atoms. For {charge}, the "atom style"_atom_style.html -being used must support the use of atomic charge. Keywords {vx}, {vy}, -and {vz} set the velocities of all selected atoms. - -Keyword {dipole} uses the specified x,y,z values as components of a -vector to set as the orientation of the dipole moment vectors of the -selected atoms. The magnitude of the dipole moment is set -by the length of this orientation vector. - -Keyword {dipole/random} randomizes the orientation of the dipole -moment vectors for the selected atoms and sets the magnitude of each -to the specified {Dlen} value. For 2d systems, the z component of the -orientation is set to 0.0. Random numbers are used in such a way that -the orientation of a particular atom is the same, regardless of how -many processors are being used. This keyword does not allow use of an -atom-style variable. - -Keyword {spin} uses the specified g value to set the magnitude of the -magnetic spin vectors, and the x,y,z values as components of a vector -to set as the orientation of the magnetic spin vectors of the selected -atoms. - -Keyword {spin/random} randomizes the orientation of the magnetic spin -vectors for the selected atoms and sets the magnitude of each to the -specified {Dlen} value. - -Keyword {quat} uses the specified values to create a quaternion -(4-vector) that represents the orientation of the selected atoms. The -particles must define a quaternion for their orientation -(e.g. ellipsoids, triangles, body particles) as defined by the -"atom_style"_atom_style.html command. Note that particles defined by -"atom_style ellipsoid"_atom_style.html have 3 shape parameters. The 3 -values must be non-zero for each particle set by this command. They -are used to specify the aspect ratios of an ellipsoidal particle, -which is oriented by default with its x-axis along the simulation -box's x-axis, and similarly for y and z. If this body is rotated (via -the right-hand rule) by an angle theta around a unit rotation vector -(a,b,c), then the quaternion that represents its new orientation is -given by (cos(theta/2), a*sin(theta/2), b*sin(theta/2), -c*sin(theta/2)). The theta and a,b,c values are the arguments to the -{quat} keyword. LAMMPS normalizes the quaternion in case (a,b,c) was -not specified as a unit vector. For 2d systems, the a,b,c values are -ignored, since a rotation vector of (0,0,1) is the only valid choice. - -Keyword {quat/random} randomizes the orientation of the quaternion for -the selected atoms. The particles must define a quaternion for their -orientation (e.g. ellipsoids, triangles, body particles) as defined by -the "atom_style"_atom_style.html command. Random numbers are used in -such a way that the orientation of a particular atom is the same, -regardless of how many processors are being used. For 2d systems, -only orientations in the xy plane are generated. As with keyword -{quat}, for ellipsoidal particles, the 3 shape values must be non-zero -for each particle set by this command. This keyword does not allow -use of an atom-style variable. - -Keyword {diameter} sets the size of the selected atoms. The particles -must be finite-size spheres as defined by the "atom_style -sphere"_atom_style.html command. The diameter of a particle can be -set to 0.0, which means they will be treated as point particles. Note -that this command does not adjust the particle mass, even if it was -defined with a density, e.g. via the "read_data"_read_data.html -command. - -Keyword {shape} sets the size and shape of the selected atoms. The -particles must be ellipsoids as defined by the "atom_style -ellipsoid"_atom_style.html command. The {Sx}, {Sy}, {Sz} settings are -the 3 diameters of the ellipsoid in each direction. All 3 can be set -to the same value, which means the ellipsoid is effectively a sphere. -They can also all be set to 0.0 which means the particle will be -treated as a point particle. Note that this command does not adjust -the particle mass, even if it was defined with a density, e.g. via the -"read_data"_read_data.html command. - -Keyword {length} sets the length of selected atoms. The particles -must be line segments as defined by the "atom_style -line"_atom_style.html command. If the specified value is non-zero the -line segment is (re)set to a length = the specified value, centered -around the particle position, with an orientation along the x-axis. -If the specified value is 0.0, the particle will become a point -particle. Note that this command does not adjust the particle mass, -even if it was defined with a density, e.g. via the -"read_data"_read_data.html command. - -Keyword {tri} sets the size of selected atoms. The particles must be -triangles as defined by the "atom_style tri"_atom_style.html command. -If the specified value is non-zero the triangle is (re)set to be an -equilateral triangle in the xy plane with side length = the specified -value, with a centroid at the particle position, with its base -parallel to the x axis, and the y-axis running from the center of the -base to the top point of the triangle. If the specified value is 0.0, -the particle will become a point particle. Note that this command -does not adjust the particle mass, even if it was defined with a -density, e.g. via the "read_data"_read_data.html command. - -Keyword {theta} sets the orientation of selected atoms. The particles -must be line segments as defined by the "atom_style -line"_atom_style.html command. The specified value is used to set the -orientation angle of the line segments with respect to the x axis. - -Keyword {theta/random} randomizes the orientation of theta for the -selected atoms. The particles must be line segments as defined by the -"atom_style line"_atom_style.html command. Random numbers are used in -such a way that the orientation of a particular atom is the same, -regardless of how many processors are being used. This keyword does -not allow use of an atom-style variable. - -Keyword {angmom} sets the angular momentum of selected atoms. The -particles must be ellipsoids as defined by the "atom_style -ellipsoid"_atom_style.html command or triangles as defined by the -"atom_style tri"_atom_style.html command. The angular momentum vector -of the particles is set to the 3 specified components. - -Keyword {omega} sets the angular velocity of selected atoms. The -particles must be spheres as defined by the "atom_style sphere"_ -atom_style.html command. The angular velocity vector of the particles -is set to the 3 specified components. - -Keyword {mass} sets the mass of all selected particles. The particles -must have a per-atom mass attribute, as defined by the -"atom_style"_atom_style.html command. See the "mass" command for how -to set mass values on a per-type basis. - -Keyword {density} or {density/disc} also sets the mass of all selected -particles, but in a different way. The particles must have a per-atom -mass attribute, as defined by the "atom_style"_atom_style.html -command. If the atom has a radius attribute (see "atom_style -sphere"_atom_style.html) and its radius is non-zero, its mass is set -from the density and particle volume for 3d systems (the input density -is assumed to be in mass/distance^3 units). For 2d, the default is -for LAMMPS to model particles with a radius attribute as spheres. -However, if the {density/disc} keyword is used, then they can be -modeled as 2d discs (circles). Their mass is set from the density and -particle area (the input density is assumed to be in mass/distance^2 -units). - -If the atom has a shape attribute (see "atom_style -ellipsoid"_atom_style.html) and its 3 shape parameters are non-zero, -then its mass is set from the density and particle volume (the input -density is assumed to be in mass/distance^3 units). The -{density/disc} keyword has no effect; it does not (yet) treat 3d -ellipsoids as 2d ellipses. - -If the atom has a length attribute (see "atom_style -line"_atom_style.html) and its length is non-zero, then its mass is -set from the density and line segment length (the input density is -assumed to be in mass/distance units). If the atom has an area -attribute (see "atom_style tri"_atom_style.html) and its area is -non-zero, then its mass is set from the density and triangle area (the -input density is assumed to be in mass/distance^2 units). - -If none of these cases are valid, then the mass is set to the density -value directly (the input density is assumed to be in mass units). - -Keyword {volume} sets the volume of all selected particles. -Currently, only the "atom_style peri"_atom_style.html command defines -particles with a volume attribute. Note that this command does not -adjust the particle mass. - -Keyword {image} sets which image of the simulation box the atom is -considered to be in. An image of 0 means it is inside the box as -defined. A value of 2 means add 2 box lengths to get the true value. -A value of -1 means subtract 1 box length to get the true value. -LAMMPS updates these flags as atoms cross periodic boundaries during -the simulation. The flags can be output with atom snapshots via the -"dump"_dump.html command. If a value of NULL is specified for any of -nx,ny,nz, then the current image value for that dimension is unchanged. -For non-periodic dimensions only a value of 0 can be specified. -This command can be useful after a system has been equilibrated and -atoms have diffused one or more box lengths in various directions. -This command can then reset the image values for atoms so that they -are effectively inside the simulation box, e.g if a diffusion -coefficient is about to be measured via the "compute -msd"_compute_msd.html command. Care should be taken not to reset the -image flags of two atoms in a bond to the same value if the bond -straddles a periodic boundary (rather they should be different by +/- -1). This will not affect the dynamics of a simulation, but may mess -up analysis of the trajectories if a LAMMPS diagnostic or your own -analysis relies on the image flags to unwrap a molecule which -straddles the periodic box. - -Keywords {bond}, {angle}, {dihedral}, and {improper}, set the bond -type (angle type, etc) of all bonds (angles, etc) of selected atoms to -the specified value from 1 to nbondtypes (nangletypes, etc). All -atoms in a particular bond (angle, etc) must be selected atoms in -order for the change to be made. The value of nbondtype (nangletypes, -etc) was set by the {bond types} ({angle types}, etc) field in the -header of the data file read by the "read_data"_read_data.html -command. These keywords do not allow use of an atom-style variable. - -Keywords {meso/e}, {meso/cv}, and {meso/rho} set the energy, heat -capacity, and density of smoothed particle hydrodynamics (SPH) -particles. See "this PDF guide"_USER/sph/SPH_LAMMPS_userguide.pdf to -using SPH in LAMMPS. - -Keyword {smd/mass/density} sets the mass of all selected particles, -but it is only applicable to the Smooth Mach Dynamics package -USER-SMD. It assumes that the particle volume has already been -correctly set and calculates particle mass from the provided mass -density value. - -Keyword {smd/contact/radius} only applies to simulations with the -Smooth Mach Dynamics package USER-SMD. Itsets an interaction radius -for computing short-range interactions, e.g. repulsive forces to -prevent different individual physical bodies from penetrating each -other. Note that the SPH smoothing kernel diameter used for computing -long range, nonlocal interactions, is set using the {diameter} -keyword. - -Keyword {dpd/theta} sets the internal temperature of a DPD particle as -defined by the USER-DPD package. If the specified value is a number -it must be >= 0.0. If the specified value is NULL, then the kinetic -temperature Tkin of each particle is computed as 3/2 k Tkin = KE = 1/2 -m v^2 = 1/2 m (vx*vx+vy*vy+vz*vz). Each particle's internal -temperature is set to Tkin. If the specified value is an atom-style -variable, then the variable is evaluated for each particle. If a -value >= 0.0, the internal temperature is set to that value. If it is -< 0.0, the computation of Tkin is performed and the internal -temperature is set to that value. - -Keywords {edpd/temp} and {edpd/cv} set the temperature and volumetric -heat capacity of an eDPD particle as defined by the USER-MESO package. -Currently, only "atom_style edpd"_atom_style.html defines particles -with these attributes. The values for the temperature and heat -capacity must be positive. - -Keyword {cc} sets the chemical concentration of a tDPD particle for a -specified species as defined by the USER-MESO package. Currently, only -"atom_style tdpd"_atom_style.html defines particles with this -attribute. An integer for "index" selects a chemical species (1 to -Nspecies) where Nspecies is set by the atom_style command. The value -for the chemical concentration must be >= 0.0. - -Keywords {i_name} and {d_name} refer to custom integer and -floating-point properties that have been added to each atom via the -"fix property/atom"_fix_property_atom.html command. When that command -is used specific names are given to each attribute which are what is -specified as the "name" portion of {i_name} or {d_name}. - -[Restrictions:] - -You cannot set an atom attribute (e.g. {mol} or {q} or {volume}) if -the "atom_style"_atom_style.html does not have that attribute. - -This command requires inter-processor communication to coordinate the -setting of bond types (angle types, etc). This means that your system -must be ready to perform a simulation before using one of these -keywords (force fields set, atom mass set, etc). This is not -necessary for other keywords. - -Using the {region} style with the bond (angle, etc) keywords can give -unpredictable results if there are bonds (angles, etc) that straddle -periodic boundaries. This is because the region may only extend up to -the boundary and partner atoms in the bond (angle, etc) may have -coordinates outside the simulation box if they are ghost atoms. - -[Related commands:] - -"create_box"_create_box.html, "create_atoms"_create_atoms.html, -"read_data"_read_data.html - -[Default:] none diff --git a/doc/txt/shell.txt b/doc/txt/shell.txt deleted file mode 100644 index d274f498e595c5abcfca59c182bd36c827016c90..0000000000000000000000000000000000000000 --- a/doc/txt/shell.txt +++ /dev/null @@ -1,107 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -shell command :h3 - -[Syntax:] - -shell cmd args :pre - -cmd = {cd} or {mkdir} or {mv} or {rm} or {rmdir} or {putenv} or arbitrary command :ulb,l - {cd} arg = dir - dir = directory to change to - {mkdir} args = dir1 dir2 ... - dir1,dir2 = one or more directories to create - {mv} args = old new - old = old filename - new = new filename - {rm} args = file1 file2 ... - file1,file2 = one or more filenames to delete - {rmdir} args = dir1 dir2 ... - dir1,dir2 = one or more directories to delete - {putenv} args = var1=value1 var2=value2 - var=value = one of more definitions of environment variables - anything else is passed as a command to the shell for direct execution :pre -:ule - -[Examples:] - -shell cd sub1 -shell cd .. -shell mkdir tmp1 tmp2 tmp3 -shell rmdir tmp1 -shell mv log.lammps hold/log.1 -shell rm TMP/file1 TMP/file2 -shell putenv LAMMPS_POTENTIALS=../../potentials -shell my_setup file1 10 file2 -shell my_post_process 100 dump.out :pre - -[Description:] - -Execute a shell command. A few simple file-based shell commands are -supported directly, in Unix-style syntax. Any command not listed -above is passed as-is to the C-library system() call, which invokes -the command in a shell. - -This is means to invoke other commands from your input script. For -example, you can move files around in preparation for the next section -of the input script. Or you can run a program that pre-processes data -for input into LAMMPS. Or you can run a program that post-processes -LAMMPS output data. - -With the exception of {cd}, all commands, including ones invoked via a -system() call, are executed by only a single processor, so that -files/directories are not being manipulated by multiple processors. - -The {cd} cmd executes the Unix "cd" command to change the working -directory. All subsequent LAMMPS commands that read/write files will -use the new directory. All processors execute this command. - -The {mkdir} cmd executes the Unix "mkdir" command to create one or -more directories. - -The {mv} cmd executes the Unix "mv" command to rename a file and/or -move it to a new directory. - -The {rm} cmd executes the Unix "rm" command to remove one or more -files. - -The {rmdir} cmd executes the Unix "rmdir" command to remove one or -more directories. A directory must be empty to be successfully -removed. - -The {putenv} cmd defines or updates an environment variable directly. -Since this command does not pass through the shell, no shell variable -expansion or globbing is performed, only the usual substitution for -LAMMPS variables defined with the "variable"_variable.html command is -performed. The resulting string is then used literally. - -Any other cmd is passed as-is to the shell along with its arguments as -one string, invoked by the C-library system() call. For example, -these lines in your input script: - -variable n equal 10 -variable foo string file2 -shell my_setup file1 $n $\{foo\} :pre - -would be the same as invoking - -% my_setup file1 10 file2 :pre - -from a command-line prompt. The executable program "my_setup" is run -with 3 arguments: file1 10 file2. - -[Restrictions:] - -LAMMPS does not detect errors or print warnings when any of these -commands execute. E.g. if the specified directory does not exist, -executing the {cd} command will silently do nothing. - -[Related commands:] none - -[Default:] none diff --git a/doc/txt/special_bonds.txt b/doc/txt/special_bonds.txt deleted file mode 100644 index f8316a9bfb88fa36382979aecc0067a46e070fdd..0000000000000000000000000000000000000000 --- a/doc/txt/special_bonds.txt +++ /dev/null @@ -1,245 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -special_bonds command :h3 - -[Syntax:] - -special_bonds keyword values ... :pre - -one or more keyword/value pairs may be appended :ulb,l -keyword = {amber} or {charmm} or {dreiding} or {fene} or {lj/coul} or {lj} or {coul} or {angle} or {dihedral} :l - {amber} values = none - {charmm} values = none - {dreiding} values = none - {fene} values = none - {lj/coul} values = w1,w2,w3 - w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones and Coulombic interactions - {lj} values = w1,w2,w3 - w1,w2,w3 = weights (0.0 to 1.0) on pairwise Lennard-Jones interactions - {coul} values = w1,w2,w3 - w1,w2,w3 = weights (0.0 to 1.0) on pairwise Coulombic interactions - {angle} value = {yes} or {no} - {dihedral} value = {yes} or {no} :pre -:ule - -Examples: - -special_bonds amber -special_bonds charmm -special_bonds fene dihedral no -special_bonds lj/coul 0.0 0.0 0.5 angle yes dihedral yes -special_bonds lj 0.0 0.0 0.5 coul 0.0 0.0 0.0 dihedral yes :pre - -[Description:] - -Set weighting coefficients for pairwise energy and force contributions -between pairs of atoms that are also permanently bonded to each other, -either directly or via one or two intermediate bonds. These weighting -factors are used by nearly all "pair styles"_pair_style.html in LAMMPS -that compute simple pairwise interactions. Permanent bonds between -atoms are specified by defining the bond topology in the data file -read by the "read_data"_read_data.html command. Typically a -"bond_style"_bond_style.html command is also used to define a bond -potential. The rationale for using these weighting factors is that -the interaction between a pair of bonded atoms is all (or mostly) -specified by the bond, angle, dihedral potentials, and thus the -non-bonded Lennard-Jones or Coulombic interaction between the pair of -atoms should be excluded (or reduced by a weighting factor). - -NOTE: These weighting factors are NOT used by "pair -styles"_pair_style.html that compute many-body interactions, since the -"bonds" that result from such interactions are not permanent, but are -created and broken dynamically as atom conformations change. Examples -of pair styles in this category are EAM, MEAM, Stillinger-Weber, -Tersoff, COMB, AIREBO, and ReaxFF. In fact, it generally makes no -sense to define permanent bonds between atoms that interact via these -potentials, though such bonds may exist elsewhere in your system, -e.g. when using the "pair_style hybrid"_pair_hybrid.html command. -Thus LAMMPS ignores special_bonds settings when many-body potentials -are calculated. Please note, that the existence of explicit bonds -for atoms that are described by a many-body potential will alter the -neighbor list and thus can render the computation of those interactions -invalid, since those pairs are not only used to determine direct -pairwise interactions but also neighbors of neighbors and more. -The recommended course of action is to remove such bonds, or - if -that is not possible - use a special bonds setting of 1.0 1.0 1.0. - -NOTE: Unlike some commands in LAMMPS, you cannot use this command -multiple times in an incremental fashion: e.g. to first set the LJ -settings and then the Coulombic ones. Each time you use this command -it sets all the coefficients to default values and only overrides the -one you specify, so you should set all the options you need each time -you use it. See more details at the bottom of this page. - -The Coulomb factors are applied to any Coulomb (charge interaction) -term that the potential calculates. The LJ factors are applied to the -remaining terms that the potential calculates, whether they represent -LJ interactions or not. The weighting factors are a scaling -pre-factor on the energy and force between the pair of atoms. A value -of 1.0 means include the full interaction; a value of 0.0 means -exclude it completely. - -The 1st of the 3 coefficients (LJ or Coulombic) is the weighting -factor on 1-2 atom pairs, which are pairs of atoms directly bonded to -each other. The 2nd coefficient is the weighting factor on 1-3 atom -pairs which are those separated by 2 bonds (e.g. the two H atoms in a -water molecule). The 3rd coefficient is the weighting factor on 1-4 -atom pairs which are those separated by 3 bonds (e.g. the 1st and 4th -atoms in a dihedral interaction). Thus if the 1-2 coefficient is set -to 0.0, then the pairwise interaction is effectively turned off for -all pairs of atoms bonded to each other. If it is set to 1.0, then -that interaction will be at full strength. - -NOTE: For purposes of computing weighted pairwise interactions, 1-3 -and 1-4 interactions are not defined from the list of angles or -dihedrals used by the simulation. Rather, they are inferred -topologically from the set of bonds specified when the simulation is -defined from a data or restart file (see "read_data"_read_data.html or -"read_restart"_read_restart.html commands). Thus the set of -1-2,1-3,1-4 interactions that the weights apply to is the same whether -angle and dihedral potentials are computed or not, and remains the -same even if bonds are constrained, or turned off, or removed during a -simulation. - -The two exceptions to this rule are (a) if the {angle} or {dihedral} -keywords are set to {yes} (see below), or (b) if the -"delete_bonds"_delete_bonds.html command is used with the {special} -option that re-computes the 1-2,1-3,1-4 topologies after bonds are -deleted; see the "delete_bonds"_delete_bonds.html command for more -details. - -The {amber} keyword sets the 3 coefficients to 0.0, 0.0, 0.5 for LJ -interactions and to 0.0, 0.0, 0.8333 for Coulombic interactions, which -is the default for a commonly used version of the AMBER force field, -where the last value is really 5/6. See "(Cornell)"_#Cornell for a -description of the AMBER force field. - -The {charmm} keyword sets the 3 coefficients to 0.0, 0.0, 0.0 for both -LJ and Coulombic interactions, which is the default for a commonly -used version of the CHARMM force field. Note that in pair styles -{lj/charmm/coul/charmm} and {lj/charmm/coul/long} the 1-4 coefficients -are defined explicitly, and these pairwise contributions are computed -as part of the charmm dihedral style - see the -"pair_coeff"_pair_coeff.html and "dihedral_style"_dihedral_style.html -commands for more information. See "(MacKerell)"_#MacKerell for a -description of the CHARMM force field. - -The {dreiding} keyword sets the 3 coefficients to 0.0, 0.0, 1.0 for both -LJ and Coulombic interactions, which is the default for the Dreiding -force field, as discussed in "(Mayo)"_#Mayo. - -The {fene} keyword sets the 3 coefficients to 0.0, 1.0, 1.0 for both -LJ and Coulombic interactions, which is consistent with a -coarse-grained polymer model with "FENE bonds"_bond_fene.html. See -"(Kremer)"_#Kremer for a description of FENE bonds. - -The {lj/coul}, {lj}, and {coul} keywords allow the 3 coefficients to -be set explicitly. The {lj/coul} keyword sets both the LJ and -Coulombic coefficients to the same 3 values. The {lj} and {coul} -keywords only set either the LJ or Coulombic coefficients. Use both -of them if you wish to set the LJ coefficients to different values -than the Coulombic coefficients. - -The {angle} keyword allows the 1-3 weighting factor to be ignored for -individual atom pairs if they are not listed as the first and last -atoms in any angle defined in the simulation or as 1,3 or 2,4 atoms in -any dihedral defined in the simulation. For example, imagine the 1-3 -weighting factor is set to 0.5 and you have a linear molecule with 4 -atoms and bonds as follows: 1-2-3-4. If your data file defines 1-2-3 -as an angle, but does not define 2-3-4 as an angle or 1-2-3-4 as a -dihedral, then the pairwise interaction between atoms 1 and 3 will -always be weighted by 0.5, but different force fields use different -rules for weighting the pairwise interaction between atoms 2 and 4. -If the {angle} keyword is specified as {yes}, then the pairwise -interaction between atoms 2 and 4 will be unaffected (full weighting -of 1.0). If the {angle} keyword is specified as {no} which is the -default, then the 2,4 interaction will also be weighted by 0.5. - -The {dihedral} keyword allows the 1-4 weighting factor to be ignored -for individual atom pairs if they are not listed as the first and last -atoms in any dihedral defined in the simulation. For example, imagine -the 1-4 weighting factor is set to 0.5 and you have a linear molecule -with 5 atoms and bonds as follows: 1-2-3-4-5. If your data file -defines 1-2-3-4 as a dihedral, but does not define 2-3-4-5 as a -dihedral, then the pairwise interaction between atoms 1 and 4 will -always be weighted by 0.5, but different force fields use different -rules for weighting the pairwise interaction between atoms 2 and 5. -If the {dihedral} keyword is specified as {yes}, then the pairwise -interaction between atoms 2 and 5 will be unaffected (full weighting -of 1.0). If the {dihedral} keyword is specified as {no} which is the -default, then the 2,5 interaction will also be weighted by 0.5. - -:line - -NOTE: LAMMPS stores and maintains a data structure with a list of the -1st, 2nd, and 3rd neighbors of each atom (within the bond topology of -the system). If new bonds are created (or molecules added containing -atoms with more special neighbors), the size of this list needs to -grow. Note that adding a single bond always adds a new 1st neighbor -but may also induce *many* new 2nd and 3rd neighbors, depending on the -molecular topology of your system. Using the {extra/special/per/atom} -keyword to either "read_data"_read_data.html or "create_box"_create_box.html -reserves empty space in the list for this N additional 1st, 2nd, or 3rd -neighbors to be added. If you do not do this, you may get an error -when bonds (or molecules) are added. - -:line - -NOTE: If you reuse this command in an input script, you should set all -the options you need each time. This command cannot be used a 2nd -time incrementally. E.g. these two commands: - -special_bonds lj 0.0 1.0 1.0 -special_bonds coul 0.0 0.0 1.0 :pre - -are not the same as - -special_bonds lj 0.0 1.0 1.0 coul 0.0 0.0 1.0 :pre - -In the first case you end up with (after the 2nd command): - -LJ: 0.0 0.0 0.0 -Coul: 0.0 0.0 1.0 :pre - -while only in the second case, you get the desired settings of: - -LJ: 0.0 1.0 1.0 -Coul: 0.0 0.0 1.0 :pre - -This happens because the LJ (and Coul) settings are reset to -their default values before modifying them, each time the -{special_bonds} command is issued. - -[Restrictions:] none - -[Related commands:] - -"delete_bonds"_delete_bonds.html, "fix bond/create"_fix_bond_create.html - -[Default:] - -All 3 Lennard-Jones and 3 Coulombic weighting coefficients = 0.0, -angle = no, dihedral = no. - -:line - -:link(Cornell) -[(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, -Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). - -:link(Kremer) -[(Kremer)] Kremer, Grest, J Chem Phys, 92, 5057 (1990). - -:link(MacKerell) -[(MacKerell)] MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, -Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). - -:link(Mayo) -[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 -(1990). diff --git a/doc/txt/suffix.txt b/doc/txt/suffix.txt deleted file mode 100644 index e9fae440880b454a1d6dae7724821629b42301e4..0000000000000000000000000000000000000000 --- a/doc/txt/suffix.txt +++ /dev/null @@ -1,110 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -suffix command :h3 - -[Syntax:] - -suffix style args :pre - -style = {off} or {on} or {gpu} or {intel} or {kk} or {omp} or {opt} or {hybrid} -args = for hybrid style, default suffix to be used and alternative suffix :ul - -[Examples:] - -suffix off -suffix on -suffix gpu -suffix intel -suffix hybrid intel omp -suffix kk :pre - -[Description:] - -This command allows you to use variants of various styles if they -exist. In that respect it operates the same as the "-suffix -command-line switch"_Run_options.html. It also has options to turn -off or back on any suffix setting made via the command line. - -The specified style can be {gpu}, {intel}, {kk}, {omp}, {opt} or -{hybrid}. These refer to optional packages that LAMMPS can be built -with, as described on the "Build package"_Build_package.html doc page. -The "gpu" style corresponds to the GPU package, the "intel" style to -the USER-INTEL package, the "kk" style to the KOKKOS package, the -"omp" style to the USER-OMP package, and the "opt" style to the OPT -package. - -These are the variants these packages provide: - -GPU = a handful of pair styles and the PPPM kspace_style, optimized to -run on one or more GPUs or multicore CPU/GPU nodes :ulb,l - -USER-INTEL = a collection of pair styles and neighbor routines -optimized to run in single, mixed, or double precision on CPUs and -Intel(R) Xeon Phi(TM) co-processors. :l - -KOKKOS = a collection of atom, pair, and fix styles optimized to run -using the Kokkos library on various kinds of hardware, including GPUs -via CUDA and many-core chips via OpenMP or threading. :l - -USER-OMP = a collection of pair, bond, angle, dihedral, improper, -kspace, compute, and fix styles with support for OpenMP -multi-threading :l - -OPT = a handful of pair styles, cache-optimized for faster CPU -performance :l - -HYBRID = a combination of two packages can be specified (see below) :l -:ule - -As an example, all of the packages provide a "pair_style -lj/cut"_pair_lj.html variant, with style names lj/cut/opt, lj/cut/omp, -lj/cut/gpu, lj/cut/intel, or lj/cut/kk. A variant styles -can be specified explicitly in your input script, e.g. pair_style -lj/cut/gpu. If the suffix command is used with the appropriate style, -you do not need to modify your input script. The specified suffix -(opt,omp,gpu,intel,kk) is automatically appended whenever your -input script command creates a new "atom"_atom_style.html, -"pair"_pair_style.html, "bond"_bond_style.html, -"angle"_angle_style.html, "dihedral"_dihedral_style.html, -"improper"_improper_style.html, "kspace"_kspace_style.html, -"fix"_fix.html, "compute"_compute.html, or "run"_run_style.html style. -If the variant version does not exist, the standard version is -created. - -For "hybrid", two packages are specified. The first is used whenever -available. If a style with the first suffix is not available, the style -with the suffix for the second package will be used if available. For -example, "hybrid intel omp" will use styles from the USER-INTEL package -as a first choice and styles from the USER-OMP package as a second choice -if no USER-INTEL variant is available. - -If the specified style is {off}, then any previously specified suffix -is temporarily disabled, whether it was specified by a command-line -switch or a previous suffix command. If the specified style is {on}, -a disabled suffix is turned back on. The use of these 2 commands lets -your input script use a standard LAMMPS style (i.e. a non-accelerated -variant), which can be useful for testing or benchmarking purposes. -Of course this is also possible by not using any suffix commands, and -explicitly appending or not appending the suffix to the relevant -commands in your input script. - -NOTE: The default "run_style"_run_style.html verlet is invoked prior to -reading the input script and is therefore not affected by a suffix command -in the input script. The KOKKOS package requires "run_style verlet/kk", -so when using the KOKKOS package it is necessary to either use the command -line "-sf kk" command or add an explicit "run_style verlet" command to the -input script. - -[Restrictions:] none - -[Related commands:] - -"-suffix command-line switch"_Run_options.html - -[Default:] none diff --git a/doc/txt/tad.txt b/doc/txt/tad.txt deleted file mode 100644 index 62407532d65862b4e60b9577cc74d37c73f61827..0000000000000000000000000000000000000000 --- a/doc/txt/tad.txt +++ /dev/null @@ -1,311 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -tad command :h3 - -[Syntax:] - -tad N t_event T_lo T_hi delta tmax compute-ID \ -keyword value ... :pre - -N = # of timesteps to run (not including dephasing/quenching) :ulb,l -t_event = timestep interval between event checks :l -T_lo = temperature at which event times are desired :l -T_hi = temperature at which MD simulation is performed :l -delta = desired confidence level for stopping criterion :l -tmax = reciprocal of lowest expected pre-exponential factor (time units) :l -compute-ID = ID of the compute used for event detection :l -zero or more keyword/value pairs may be appended :l -keyword = {min} or {neb} or {min_style} or {neb_style} or {neb_log} :l - {min} values = etol ftol maxiter maxeval - etol = stopping tolerance for energy (energy units) - ftol = stopping tolerance for force (force units) - maxiter = max iterations of minimize - maxeval = max number of force/energy evaluations - {neb} values = ftol N1 N2 Nevery - etol = stopping tolerance for energy (energy units) - ftol = stopping tolerance for force (force units) - N1 = max # of iterations (timesteps) to run initial NEB - N2 = max # of iterations (timesteps) to run barrier-climbing NEB - Nevery = print NEB statistics every this many timesteps - {neb_style} value = {quickmin} or {fire} - {neb_step} value = dtneb - dtneb = timestep for NEB damped dynamics minimization - {neb_log} value = file where NEB statistics are printed :pre - -:ule - -[Examples:] - -tad 2000 50 1800 2300 0.01 0.01 event -tad 2000 50 1800 2300 0.01 0.01 event & - min 1e-05 1e-05 100 100 & - neb 0.0 0.01 200 200 20 & - min_style cg & - neb_style fire & - neb_log log.neb :pre - -[Description:] - -Run a temperature accelerated dynamics (TAD) simulation. This method -requires two or more partitions to perform NEB transition state -searches. - -TAD is described in "this paper"_#Voter2000 by Art Voter. It is a method -that uses accelerated dynamics at an elevated temperature to generate -results at a specified lower temperature. A good overview of -accelerated dynamics methods for such systems is given in "this review -paper"_#Voter2002 from the same group. In general, these methods assume -that the long-time dynamics is dominated by infrequent events i.e. the -system is confined to low energy basins for long periods, -punctuated by brief, randomly-occurring transitions to adjacent -basins. TAD is suitable for infrequent-event systems, where in -addition, the transition kinetics are well-approximated by harmonic -transition state theory (hTST). In hTST, the temperature dependence of -transition rates follows the Arrhenius relation. As a consequence a -set of event times generated in a high-temperature simulation can be -mapped to a set of much longer estimated times in the low-temperature -system. However, because this mapping involves the energy barrier of -the transition event, which is different for each event, the first -event at the high temperature may not be the earliest event at the low -temperature. TAD handles this by first generating a set of possible -events from the current basin. After each event, the simulation is -reflected backwards into the current basin. This is repeated until -the stopping criterion is satisfied, at which point the event with the -earliest low-temperature occurrence time is selected. The stopping -criterion is that the confidence measure be greater than -1-{delta}. The confidence measure is the probability that no earlier -low-temperature event will occur at some later time in the -high-temperature simulation. hTST provides an lower bound for this -probability, based on the user-specified minimum pre-exponential -factor (reciprocal of {tmax}). - -In order to estimate the energy barrier for each event, the TAD method -invokes the "NEB"_neb.html method. Each NEB replica runs on a -partition of processors. The current NEB implementation in LAMMPS -restricts you to having exactly one processor per replica. For more -information, see the documentation for the "neb"_neb.html command. In -the current LAMMPS implementation of TAD, all the non-NEB TAD -operations are performed on the first partition, while the other -partitions remain idle. See the "Howto replica"_Howto_replica.html doc -page for further discussion of multi-replica simulations. - -A TAD run has several stages, which are repeated each time an event is -performed. The logic for a TAD run is as follows: - -while (time remains): - while (time < tstop): - until (event occurs): - run dynamics for t_event steps - quench - run neb calculation using all replicas - compute tlo from energy barrier - update earliest event - update tstop - reflect back into current basin - execute earliest event :pre - -Before this outer loop begins, the initial potential energy basin is -identified by quenching (an energy minimization, see below) the -initial state and storing the resulting coordinates for reference. - -Inside the inner loop, dynamics is run continuously according to -whatever integrator has been specified by the user, stopping every -{t_event} steps to check if a transition event has occurred. This -check is performed by quenching the system and comparing the resulting -atom coordinates to the coordinates from the previous basin. - -A quench is an energy minimization and is performed by whichever -algorithm has been defined by the "min_style"_min_style.html command; -its default is the CG minimizer. The tolerances and limits for each -quench can be set by the {min} keyword. Note that typically, you do -not need to perform a highly-converged minimization to detect a -transition event. - -The event check is performed by a compute with the specified -{compute-ID}. Currently there is only one compute that works with the -TAD command, which is the "compute -event/displace"_compute_event_displace.html command. Other -event-checking computes may be added. "Compute -event/displace"_compute_event_displace.html checks whether any atom in -the compute group has moved further than a specified threshold -distance. If so, an "event" has occurred. - -The NEB calculation is similar to that invoked by the "neb"_neb.html -command, except that the final state is generated internally, instead -of being read in from a file. The style of minimization performed by -NEB is determined by the {neb_style} keyword and must be a damped -dynamics minimizer. The tolerances and limits for each NEB -calculation can be set by the {neb} keyword. As discussed on the -"neb"_neb.html, it is often advantageous to use a larger timestep for -NEB than for normal dynamics. Since the size of the timestep set by -the "timestep"_timestep.html command is used by TAD for performing -dynamics, there is a {neb_step} keyword which can be used to set a -larger timestep for each NEB calculation if desired. - -:line - -A key aspect of the TAD method is setting the stopping criterion -appropriately. If this criterion is too conservative, then many -events must be generated before one is finally executed. Conversely, -if this criterion is too aggressive, high-entropy high-barrier events -will be over-sampled, while low-entropy low-barrier events will be -under-sampled. If the lowest pre-exponential factor is known fairly -accurately, then it can be used to estimate {tmax}, and the value of -{delta} can be set to the desired confidence level e.g. {delta} = 0.05 -corresponds to 95% confidence. However, for systems where the dynamics -are not well characterized (the most common case), it will be -necessary to experiment with the values of {delta} and {tmax} to get a -good trade-off between accuracy and performance. - -A second key aspect is the choice of {t_hi}. A larger value greatly -increases the rate at which new events are generated. However, too -large a value introduces errors due to anharmonicity (not accounted -for within hTST). Once again, for any given system, experimentation is -necessary to determine the best value of {t_hi}. - -:line - -Five kinds of output can be generated during a TAD run: event -statistics, NEB statistics, thermodynamic output by each replica, dump -files, and restart files. - -Event statistics are printed to the screen and master log.lammps file -each time an event is executed. The quantities are the timestep, CPU -time, global event number {N}, local event number {M}, event status, -energy barrier, time margin, {t_lo} and {delt_lo}. The timestep is -the usual LAMMPS timestep, which corresponds to the high-temperature -time at which the event was detected, in units of timestep. The CPU -time is the total processor time since the start of the TAD run. The -global event number {N} is a counter that increments with each -executed event. The local event number {M} is a counter that resets to -zero upon entering each new basin. The event status is {E} when an -event is executed, and is {D} for an event that is detected, while -{DF} is for a detected event that is also the earliest (first) event -at the low temperature. - -The time margin is the ratio of the high temperature time in the -current basin to the stopping time. This last number can be used to -judge whether the stopping time is too short or too long (see above). - -{t_lo} is the low-temperature event time when the current basin was -entered, in units of timestep. del{t_lo} is the time of each detected -event, measured relative to {t_lo}. {delt_lo} is equal to the -high-temperature time since entering the current basin, scaled by an -exponential factor that depends on the hi/lo temperature ratio and the -energy barrier for that event. - -On lines for executed events, with status {E}, the global event number -is incremented by one, -the local event number and time margin are reset to zero, -while the global event number, energy barrier, and -{delt_lo} match the last event with status {DF} -in the immediately preceding block of detected events. -The low-temperature event time {t_lo} is incremented by {delt_lo}. - -NEB statistics are written to the file specified by the {neb_log} -keyword. If the keyword value is "none", then no NEB statistics are -printed out. The statistics are written every {Nevery} timesteps. See -the "neb"_neb.html command for a full description of the NEB -statistics. When invoked from TAD, NEB statistics are never printed to -the screen. - -Because the NEB calculation must run on multiple partitions, LAMMPS -produces additional screen and log files for each partition, -e.g. log.lammps.0, log.lammps.1, etc. For the TAD command, these -contain the thermodynamic output of each NEB replica. In addition, the -log file for the first partition, log.lammps.0, will contain -thermodynamic output from short runs and minimizations corresponding -to the dynamics and quench operations, as well as a line for each new -detected event, as described above. - -After the TAD command completes, timing statistics for the TAD run are -printed in each replica's log file, giving a breakdown of how much CPU -time was spent in each stage (NEB, dynamics, quenching, etc). - -Any "dump files"_dump.html defined in the input script will be written -to during a TAD run at timesteps when an event is executed. This -means the requested dump frequency in the "dump"_dump.html command -is ignored. There will be one dump file (per dump command) created -for all partitions. The atom coordinates of the dump snapshot are -those of the minimum energy configuration resulting from quenching -following the executed event. The timesteps written into the dump -files correspond to the timestep at which the event occurred and NOT -the clock. A dump snapshot corresponding to the initial minimum state -used for event detection is written to the dump file at the beginning -of each TAD run. - -If the "restart"_restart.html command is used, a single restart file -for all the partitions is generated, which allows a TAD run to be -continued by a new input script in the usual manner. The restart file -is generated after an event is executed. The restart file contains a -snapshot of the system in the new quenched state, including the event -number and the low-temperature time. The restart frequency specified -in the "restart"_restart.html command is interpreted differently when -performing a TAD run. It does not mean the timestep interval between -restart files. Instead it means an event interval for executed -events. Thus a frequency of 1 means write a restart file every time -an event is executed. A frequency of 10 means write a restart file -every 10th executed event. When an input script reads a restart file -from a previous TAD run, the new script can be run on a different -number of replicas or processors. - -Note that within a single state, the dynamics will typically -temporarily continue beyond the event that is ultimately chosen, until -the stopping criterion is satisfied. When the event is eventually -executed, the timestep counter is reset to the value when the event -was detected. Similarly, after each quench and NEB minimization, the -timestep counter is reset to the value at the start of the -minimization. This means that the timesteps listed in the replica log -files do not always increase monotonically. However, the timestep -values printed to the master log file, dump files, and restart files -are always monotonically increasing. - -:line - -[Restrictions:] - -This command can only be used if LAMMPS was built with the REPLICA -package. See the "Build package"_Build_package.html doc -page for more info. - -{N} setting must be integer multiple of {t_event}. - -Runs restarted from restart files written during a TAD run will only -produce identical results if the user-specified integrator supports -exact restarts. So "fix nvt"_fix_nh.html will produce an exact -restart, but "fix langevin"_fix_langevin.html will not. - -This command cannot be used when any fixes are defined that keep track -of elapsed time to perform time-dependent operations. Examples -include the "ave" fixes such as "fix ave/chunk"_fix_ave_chunk.html. -Also "fix dt/reset"_fix_dt_reset.html and "fix -deposit"_fix_deposit.html. - -[Related commands:] - -"compute event/displace"_compute_event_displace.html, -"min_modify"_min_modify.html, "min_style"_min_style.html, -"run_style"_run_style.html, "minimize"_minimize.html, -"temper"_temper.html, "neb"_neb.html, -"prd"_prd.html - -[Default:] - -The option defaults are {min} = 0.1 0.1 40 50, {neb} = 0.01 100 100 -10, {neb_style} = {quickmin}, {neb_step} = the same timestep set by -the "timestep"_timestep.html command, and {neb_log} = "none". - -:line - -:link(Voter2000) -[(Voter2000)] Sorensen and Voter, J Chem Phys, 112, 9599 (2000) - -:link(Voter2002) -[(Voter2002)] Voter, Montalenti, Germann, Annual Review of Materials -Research 32, 321 (2002). diff --git a/doc/txt/temper.txt b/doc/txt/temper.txt deleted file mode 100644 index 6a61dfa6dd7f91946df8274b91645ca619098af3..0000000000000000000000000000000000000000 --- a/doc/txt/temper.txt +++ /dev/null @@ -1,153 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -temper command :h3 - -[Syntax:] - -temper N M temp fix-ID seed1 seed2 index :pre - -N = total # of timesteps to run -M = attempt a tempering swap every this many steps -temp = initial temperature for this ensemble -fix-ID = ID of the fix that will control temperature during the run -seed1 = random # seed used to decide on adjacent temperature to partner with -seed2 = random # seed for Boltzmann factor in Metropolis swap -index = which temperature (0 to N-1) I am simulating (optional) :ul - -[Examples:] - -temper 100000 100 $t tempfix 0 58728 -temper 40000 100 $t tempfix 0 32285 $w :pre - -[Description:] - -Run a parallel tempering or replica exchange simulation using multiple -replicas (ensembles) of a system. Two or more replicas must be used. - -Each replica runs on a partition of one or more processors. Processor -partitions are defined at run-time using the "-partition command-line -switch"_Run_options.html. Note that if you have MPI installed, you -can run a multi-replica simulation with more replicas (partitions) -than you have physical processors, e.g you can run a 10-replica -simulation on one or two processors. You will simply not get the -performance speed-up you would see with one or more physical -processors per replica. See the "Howto replica"_Howto_replica.html -doc page for further discussion. - -Each replica's temperature is controlled at a different value by a fix -with {fix-ID} that controls temperature. Most thermostat fix styles -(with and without included time integration) are supported. The command -will print an error message and abort, if the chosen fix is unsupported. -The desired temperature is specified by {temp}, which is typically a -variable previously set in the input script, so that each partition is -assigned a different temperature. See the "variable"_variable.html -command for more details. For example: - -variable t world 300.0 310.0 320.0 330.0 -fix myfix all nvt temp $t $t 100.0 -temper 100000 100 $t myfix 3847 58382 :pre - -would define 4 temperatures, and assign one of them to the thermostat -used by each replica, and to the temper command. - -As the tempering simulation runs for {N} timesteps, a temperature swap -between adjacent ensembles will be attempted every {M} timesteps. If -{seed1} is 0, then the swap attempts will alternate between odd and -even pairings. If {seed1} is non-zero then it is used as a seed in a -random number generator to randomly choose an odd or even pairing each -time. Each attempted swap of temperatures is either accepted or -rejected based on a Boltzmann-weighted Metropolis criterion which uses -{seed2} in the random number generator. - -As a tempering run proceeds, multiple log files and screen output -files are created, one per replica. By default these files are named -log.lammps.M and screen.M where M is the replica number from 0 to N-1, -with N = # of replicas. See the "-log and -screen command-line -swiches"_Run_options.html for info on how to change these names. - -The main screen and log file (log.lammps) will list information about -which temperature is assigned to each replica at each thermodynamic -output timestep. E.g. for a simulation with 16 replicas: - -Running on 16 partitions of processors -Step T0 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 -0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -500 1 0 3 2 5 4 6 7 8 9 10 11 12 13 14 15 -1000 2 0 4 1 5 3 6 7 8 9 10 11 12 14 13 15 -1500 2 1 4 0 5 3 6 7 9 8 10 11 12 14 13 15 -2000 2 1 3 0 6 4 5 7 10 8 9 11 12 14 13 15 -2500 2 1 3 0 6 4 5 7 11 8 9 10 12 14 13 15 -... :pre - -The column headings T0 to TN-1 mean which temperature is currently -assigned to the replica 0 to N-1. Thus the columns represent replicas -and the value in each column is its temperature (also numbered 0 to -N-1). For example, a 0 in the 4th column (column T3, step 2500) means -that the 4th replica is assigned temperature 0, i.e. the lowest -temperature. You can verify this time sequence of temperature -assignments for the Nth replica by comparing the Nth column of screen -output to the thermodynamic data in the corresponding log.lammps.N or -screen.N files as time proceeds. - -You can have each replica create its own dump file in the following -manner: - -variable rep world 0 1 2 3 4 5 6 7 -dump 1 all atom 1000 dump.temper.${rep} :pre - -NOTE: Each replica's dump file will contain a continuous trajectory -for its atoms where the temperature varies over time as swaps take -place involving that replica. If you want a series of dump files, -each with snapshots (from all replicas) that are all at a single -temperature, then you will need to post-process the dump files using -the information from the log.lammps file. E.g. you could produce one -dump file with snapshots at 300K (from all replicas), another with -snapshots at 310K, etc. Note that these new dump files will not -contain "continuous trajectories" for individual atoms, because two -successive snapshots (in time) may be from different replicas. The -reorder_remd_traj python script can do the reordering for you -(and additionally also calculated configurational log-weights of -trajectory snapshots in the canonical ensemble). The script can be found -in the tools/replica directory while instructions on how to use it is -available in doc/Tools (in brief) and as a README file in tools/replica -(in detail). - -The last argument {index} in the temper command is optional and is -used when restarting a tempering run from a set of restart files (one -for each replica) which had previously swapped to new temperatures. -The {index} value (from 0 to N-1, where N is the # of replicas) -identifies which temperature the replica was simulating on the -timestep the restart files were written. Obviously, this argument -must be a variable so that each partition has the correct value. Set -the variable to the {N} values listed in the log file for the previous -run for the replica temperatures at that timestep. For example if the -log file listed the following for a simulation with 5 replicas: - -500000 2 4 0 1 3 :pre - -then a setting of - -variable w world 2 4 0 1 3 :pre - -would be used to restart the run with a tempering command like the -example above with $w as the last argument. - -:line - -[Restrictions:] - -This command can only be used if LAMMPS was built with the REPLICA -package. See the "Build package"_Build_package.html doc -page for more info. - -[Related commands:] - -"variable"_variable.html, "prd"_prd.html, "neb"_neb.html - -[Default:] none diff --git a/doc/txt/temper_grem.txt b/doc/txt/temper_grem.txt deleted file mode 100644 index 7d22e464032dc8dbf93580eb33779f16b068c37e..0000000000000000000000000000000000000000 --- a/doc/txt/temper_grem.txt +++ /dev/null @@ -1,109 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -temper/grem command :h3 - -[Syntax:] - -temper/grem N M lambda fix-ID thermostat-ID seed1 seed2 index :pre - -N = total # of timesteps to run -M = attempt a tempering swap every this many steps -lambda = initial lambda for this ensemble -fix-ID = ID of fix_grem -thermostat-ID = ID of the thermostat that controls kinetic temperature -seed1 = random # seed used to decide on adjacent temperature to partner with -seed2 = random # seed for Boltzmann factor in Metropolis swap -index = which temperature (0 to N-1) I am simulating (optional) :ul - -[Examples:] - -temper/grem 100000 1000 ${lambda} fxgREM fxnvt 0 58728 -temper/grem 40000 100 ${lambda} fxgREM fxnpt 0 32285 ${walkers} :pre - -[Description:] - -Run a parallel tempering or replica exchange simulation in LAMMPS -partition mode using multiple generalized replicas (ensembles) of a -system defined by "fix grem"_fix_grem.html, which stands for the -generalized replica exchange method (gREM) originally developed by -"(Kim)"_#KimStraub. It uses non-Boltzmann ensembles to sample over first -order phase transitions. The is done by defining replicas with an -enthalpy dependent effective temperature - -Two or more replicas must be used. See the "temper"_temper.html -command for an explanation of how to run replicas on multiple -partitions of one or more processors. - -This command is a modification of the "temper"_temper.html command and -has the same dependencies, restraints, and input variables which are -discussed there in greater detail. - -Instead of temperature, this command performs replica exchanges in -lambda as per the generalized ensemble enforced by "fix -grem"_fix_grem.html. The desired lambda is specified by {lambda}, -which is typically a variable previously set in the input script, so -that each partition is assigned a different temperature. See the -"variable"_variable.html command for more details. For example: - -variable lambda world 400 420 440 460 -fix fxnvt all nvt temp 300.0 300.0 100.0 -fix fxgREM all grem ${lambda} -0.05 -50000 fxnvt -temper 100000 100 ${lambda} fxgREM fxnvt 3847 58382 :pre - -would define 4 lambdas with constant kinetic temperature but unique -generalized temperature, and assign one of them to "fix -grem"_fix_grem.html used by each replica, and to the grem command. - -As the gREM simulation runs for {N} timesteps, a swap between adjacent -ensembles will be attempted every {M} timesteps. If {seed1} is 0, -then the swap attempts will alternate between odd and even pairings. -If {seed1} is non-zero then it is used as a seed in a random number -generator to randomly choose an odd or even pairing each time. Each -attempted swap of temperatures is either accepted or rejected based on -a Metropolis criterion, derived for gREM by "(Kim)"_#Kim, which uses -{seed2} in the random number generator. - -File management works identical to the "temper"_temper.html command. -Dump files created by this fix contain continuous trajectories and -require post-processing to obtain per-replica information. - -The last argument {index} in the grem command is optional and is used -when restarting a run from a set of restart files (one for each -replica) which had previously swapped to new lambda. This is done -using a variable. For example if the log file listed the following for -a simulation with 5 replicas: - -500000 2 4 0 1 3 :pre - -then a setting of - -variable walkers world 2 4 0 1 3 :pre - -would be used to restart the run with a grem command like the example -above with ${walkers} as the last argument. This functionality is -identical to "temper"_temper.html. - -:line - -[Restrictions:] - -This command can only be used if LAMMPS was built with the USER-MISC -package. See the "Build package"_Build_package.html doc -page for more info. - -This command must be used with "fix grem"_fix_grem.html. - -[Related commands:] - -"fix grem"_fix_grem.html, "temper"_temper.html, "variable"_variable.html - -[Default:] none - -:link(KimStraub) -[(Kim)] Kim, Keyes, Straub, J Chem Phys, 132, 224107 (2010). diff --git a/doc/txt/temper_npt.txt b/doc/txt/temper_npt.txt deleted file mode 100644 index 00a3e35ec3f0ed2c1d6d6199db5b8e6140f1538a..0000000000000000000000000000000000000000 --- a/doc/txt/temper_npt.txt +++ /dev/null @@ -1,67 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line -temper/npt command :h3 - -[Syntax:] - -temper/npt N M temp fix-ID seed1 seed2 pressure index :pre - -N = total # of timesteps to run -M = attempt a tempering swap every this many steps -temp = initial temperature for this ensemble -fix-ID = ID of the fix that will control temperature and pressure during the run -seed1 = random # seed used to decide on adjacent temperature to partner with -seed2 = random # seed for Boltzmann factor in Metropolis swap -pressure = setpoint pressure for the ensemble -index = which temperature (0 to N-1) I am simulating (optional) :ul - -[Examples:] - -temper/npt 100000 100 $t nptfix 0 58728 1 -temper/npt 2500000 1000 300 nptfix 0 32285 $p -temper/npt 5000000 2000 $t nptfix 0 12523 1 $w :pre - -[Description:] - -Run a parallel tempering or replica exchange simulation using multiple -replicas (ensembles) of a system in the isothermal-isobaric (NPT) -ensemble. The command temper/npt works like "temper"_temper.html but -requires running replicas in the NPT ensemble instead of the canonical -(NVT) ensemble and allows for pressure to be set in the ensembles. -These multiple ensembles can run in parallel at different temperatures -or different pressures. The acceptance criteria for temper/npt is -specific to the NPT ensemble and can be found in references -"(Okabe)"_#Okabe2 and "(Mori)"_#Mori2. - -Apart from the difference in acceptance criteria and the specification -of pressure, this command works much like the "temper"_temper.html -command. See the documentation on "temper"_temper.html for information -on how the parallel tempering is handled in general. - -:line - -[Restrictions:] - -This command can only be used if LAMMPS was built with the USER-MISC -package. See the "Build package"_Build_package.html doc page for more -info. - -This command should be used with a fix that maintains the -isothermal-isobaric (NPT) ensemble. - -[Related commands:] - -"temper"_temper.html, "variable"_variable.html, "fix_npt"_fix_nh.html - -[Default:] none - -:link(Okabe2) -[(Okabe)] T. Okabe, M. Kawata, Y. Okamoto, M. Masuhiro, Chem. Phys. Lett., 335, 435-439 (2001). - -:link(Mori2) -[(Mori)] Y. Mori, Y. Okamoto, J. Phys. Soc. Jpn., 7, 074003 (2010). diff --git a/doc/txt/thermo.txt b/doc/txt/thermo.txt deleted file mode 100644 index 5f12f987076bc54f50df9cbd5f37aa9c2be40b7e..0000000000000000000000000000000000000000 --- a/doc/txt/thermo.txt +++ /dev/null @@ -1,59 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -thermo command :h3 - -[Syntax:] - -thermo N :pre - -N = output thermodynamics every N timesteps -N can be a variable (see below) :ul - -[Examples:] - -thermo 100 :pre - -[Description:] - -Compute and print thermodynamic info (e.g. temperature, energy, -pressure) on timesteps that are a multiple of N and at the beginning -and end of a simulation. A value of 0 will only print thermodynamics -at the beginning and end. - -The content and format of what is printed is controlled by the -"thermo_style"_thermo_style.html and -"thermo_modify"_thermo_modify.html commands. - -Instead of a numeric value, N can be specified as an "equal-style -variable"_variable.html, which should be specified as v_name, where -name is the variable name. In this case, the variable is evaluated at -the beginning of a run to determine the next timestep at which -thermodynamic info will be written out. On that timestep, the -variable will be evaluated again to determine the next timestep, etc. -Thus the variable should return timestep values. See the stagger() -and logfreq() and stride() math functions for "equal-style -variables"_variable.html, as examples of useful functions to use in -this context. Other similar math functions could easily be added as -options for "equal-style variables"_variable.html. - -For example, the following commands will output thermodynamic info at -timesteps 0,10,20,30,100,200,300,1000,2000,etc: - -variable s equal logfreq(10,3,10) -thermo v_s :pre - -[Restrictions:] none - -[Related commands:] - -"thermo_style"_thermo_style.html, "thermo_modify"_thermo_modify.html - -[Default:] - -thermo 0 :pre diff --git a/doc/txt/thermo_modify.txt b/doc/txt/thermo_modify.txt deleted file mode 100644 index ca2957de776a5d3054da85a0eddfbcaad25bedf9..0000000000000000000000000000000000000000 --- a/doc/txt/thermo_modify.txt +++ /dev/null @@ -1,179 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -thermo_modify command :h3 - -[Syntax:] - -thermo_modify keyword value ... :pre - -one or more keyword/value pairs may be listed :ulb,l -keyword = {lost} or {lost/bond} or {norm} or {flush} or {line} or {format} or {temp} or {press}:l - {lost} value = {error} or {warn} or {ignore} - {lost/bond} value = {error} or {warn} or {ignore} - {norm} value = {yes} or {no} - {flush} value = {yes} or {no} - {line} value = {one} or {multi} - {format} values = {line} string, {int} string, {float} string, M string, or {none} - string = C-style format string - M = integer from 1 to N, where N = # of quantities being output - {temp} value = compute ID that calculates a temperature - {press} value = compute ID that calculates a pressure :pre -:ule - -[Examples:] - -thermo_modify lost ignore flush yes -thermo_modify temp myTemp format 3 %15.8g -thermo_modify temp myTemp format line "%ld %g %g %15.8g" -thermo_modify line multi format float %g :pre - -[Description:] - -Set options for how thermodynamic information is computed and printed -by LAMMPS. - -NOTE: These options apply to the currently defined thermo style. When -you specify a "thermo_style"_thermo_style.html command, all -thermodynamic settings are restored to their default values, including -those previously reset by a thermo_modify command. Thus if your input -script specifies a thermo_style command, you should use the -thermo_modify command after it. - -The {lost} keyword determines whether LAMMPS checks for lost atoms -each time it computes thermodynamics and what it does if atoms are -lost. An atom can be "lost" if it moves across a non-periodic -simulation box "boundary"_boundary.html or if it moves more than a box -length outside the simulation domain (or more than a processor -sub-domain length) before reneighboring occurs. The latter case is -typically due to bad dynamics, e.g. too large a timestep or huge -forces and velocities. If the value is {ignore}, LAMMPS does not -check for lost atoms. If the value is {error} or {warn}, LAMMPS -checks and either issues an error or warning. The code will exit with -an error and continue with a warning. A warning will only be issued -once, the first time an atom is lost. This can be a useful debugging -option. - -The {lost/bond} keyword determines whether LAMMPS throws an error or -not if an atom in a bonded interaction (bond, angle, etc) cannot be -found when it creates bonded neighbor lists. By default this is a -fatal error. However in some scenarios it may be desirable to only -issue a warning or ignore it and skip the computation of the missing -bond, angle, etc. An example would be when gas molecules in a vapor -are drifting out of the box through a fixed boundary condition (see -the "boundary"_boundary.html command). In this case one atom may be -deleted before the rest of the molecule is, on a later timestep. - -The {norm} keyword determines whether various thermodynamic output -values are normalized by the number of atoms or not, depending on -whether it is set to {yes} or {no}. Different unit styles have -different defaults for this setting (see below). Even if {norm} is -set to {yes}, a value is only normalized if it is an "extensive" -quantity, meaning that it scales with the number of atoms in the -system. For the thermo keywords described by the doc page for the -"thermo_style"_thermo_style.html command, all energy-related keywords -are extensive, such as {pe} or {ebond} or {enthalpy}. Other keywords -such as {temp} or {press} are "intensive" meaning their value is -independent (in a statistical sense) of the number of atoms in the -system and thus are never normalized. For thermodynamic output values -extracted from fixes and computes in a "thermo_style -custom"_thermo_style.html command, the doc page for the individual -"fix"_fix.html or "compute"_compute.html lists whether the value is -"extensive" or "intensive" and thus whether it is normalized. -Thermodynamic output values calculated by a variable formula are -assumed to be "intensive" and thus are never normalized. You can -always include a divide by the number of atoms in the variable formula -if this is not the case. - -The {flush} keyword invokes a flush operation after thermodynamic info -is written to the log file. This insures the output in that file is -current (no buffering by the OS), even if LAMMPS halts before the -simulation completes. - -The {line} keyword determines whether thermodynamics will be output as -a series of numeric values on one line or in a multi-line format with -3 quantities with text strings per line and a dashed-line header -containing the timestep and CPU time. This modify option overrides -the {one} and {multi} thermo_style settings. - -The {format} keyword can be used to change the default numeric format -of any of quantities the "thermo_style"_thermo_style.html command -outputs. All the specified format strings are C-style formats, -e.g. as used by the C/C++ printf() command. The {line} keyword takes -a single argument which is the format string for the entire line of -thermo output, with N fields, which you must enclose in quotes if it -is more than one field. The {int} and {float} keywords take a single -format argument and are applied to all integer or floating-point -quantities output. The setting for {M string} also takes a single -format argument which is used for the Mth value output in each line, -e.g. the 5th column is output in high precision for "format 5 -%20.15g". - -The {format} keyword can be used multiple times. The precedence is -that for each value in a line of output, the {M} format (if specified) -is used, else the {int} or {float} setting (if specified) is used, -else the {line} setting (if specified) for that value is used, else -the default setting is used. A setting of {none} clears all previous -settings, reverting all values to their default format. - -NOTE: The thermo output values {step} and {atoms} are stored -internally as 8-byte signed integers, rather than the usual 4-byte -signed integers. When specifying the {format int} option you can use -a "%d"-style format identifier in the format string and LAMMPS will -convert this to the corresponding 8-byte form when it is applied to -those keywords. However, when specifying the {line} option or {format -M string} option for {step} and {natoms}, you should specify a format -string appropriate for an 8-byte signed integer, e.g. one with "%ld". - -The {temp} keyword is used to determine how thermodynamic temperature -is calculated, which is used by all thermo quantities that require a -temperature ("temp", "press", "ke", "etotal", "enthalpy", "pxx", etc). -The specified compute ID must have been previously defined by the user -via the "compute"_compute.html command and it must be a style of -compute that calculates a temperature. As described in the -"thermo_style"_thermo_style.html command, thermo output uses a default -compute for temperature with ID = {thermo_temp}. This option allows -the user to override the default. - -The {press} keyword is used to determine how thermodynamic pressure is -calculated, which is used by all thermo quantities that require a -pressure ("press", "enthalpy", "pxx", etc). The specified compute ID -must have been previously defined by the user via the -"compute"_compute.html command and it must be a style of compute that -calculates a pressure. As described in the -"thermo_style"_thermo_style.html command, thermo output uses a default -compute for pressure with ID = {thermo_press}. This option allows the -user to override the default. - -NOTE: If both the {temp} and {press} keywords are used in a single -thermo_modify command (or in two separate commands), then the order in -which the keywords are specified is important. Note that a "pressure -compute"_compute_pressure.html defines its own temperature compute as -an argument when it is specified. The {temp} keyword will override -this (for the pressure compute being used by thermodynamics), but only -if the {temp} keyword comes after the {press} keyword. If the {temp} -keyword comes before the {press} keyword, then the new pressure -compute specified by the {press} keyword will be unaffected by the -{temp} setting. - -[Restrictions:] none - -[Related commands:] - -"thermo"_thermo.html, "thermo_style"_thermo_style.html - -[Default:] - -The option defaults are lost = error, norm = yes for unit style of -{lj}, norm = no for unit style of {real} and {metal}, flush = no, -and temp/press = compute IDs defined by thermo_style. - -The defaults for the line and format options depend on the thermo -style. For styles "one" and "custom", the line and format defaults -are "one", "%8d", and "%12.8g". For style "multi", the line and -format defaults are "multi", "%8d", and "%14.4f". diff --git a/doc/txt/thermo_style.txt b/doc/txt/thermo_style.txt deleted file mode 100644 index 4d294c1df7b4c6d6a364448304c535ba7d44b950..0000000000000000000000000000000000000000 --- a/doc/txt/thermo_style.txt +++ /dev/null @@ -1,407 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -thermo_style command :h3 - -[Syntax:] - -thermo_style style args :pre - -style = {one} or {multi} or {custom} :ulb,l -args = list of arguments for a particular style :l - {one} args = none - {multi} args = none - {custom} args = list of keywords - possible keywords = step, elapsed, elaplong, dt, time, - cpu, tpcpu, spcpu, cpuremain, part, timeremain, - atoms, temp, press, pe, ke, etotal, enthalpy, - evdwl, ecoul, epair, ebond, eangle, edihed, eimp, - emol, elong, etail, - vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, - xy, xz, yz, xlat, ylat, zlat, - bonds, angles, dihedrals, impropers, - pxx, pyy, pzz, pxy, pxz, pyz, - fmax, fnorm, nbuild, ndanger, - cella, cellb, cellc, cellalpha, cellbeta, cellgamma, - c_ID, c_ID\[I\], c_ID\[I\]\[J\], - f_ID, f_ID\[I\], f_ID\[I\]\[J\], - v_name, v_name\[I\] - step = timestep - elapsed = timesteps since start of this run - elaplong = timesteps since start of initial run in a series of runs - dt = timestep size - time = simulation time - cpu = elapsed CPU time in seconds since start of this run - tpcpu = time per CPU second - spcpu = timesteps per CPU second - cpuremain = estimated CPU time remaining in run - part = which partition (0 to Npartition-1) this is - timeremain = remaining time in seconds on timer timeout. - atoms = # of atoms - temp = temperature - press = pressure - pe = total potential energy - ke = kinetic energy - etotal = total energy (pe + ke) - enthalpy = enthalpy (etotal + press*vol) - evdwl = VanderWaal pairwise energy (includes etail) - ecoul = Coulombic pairwise energy - epair = pairwise energy (evdwl + ecoul + elong) - ebond = bond energy - eangle = angle energy - edihed = dihedral energy - eimp = improper energy - emol = molecular energy (ebond + eangle + edihed + eimp) - elong = long-range kspace energy - etail = VanderWaal energy long-range tail correction - vol = volume - density = mass density of system - lx,ly,lz = box lengths in x,y,z - xlo,xhi,ylo,yhi,zlo,zhi = box boundaries - xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes - xlat,ylat,zlat = lattice spacings as calculated by "lattice"_lattice.html command - bonds,angles,dihedrals,impropers = # of these interactions defined - pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor - fmax = max component of force on any atom in any dimension - fnorm = length of force vector for all atoms - nbuild = # of neighbor list builds - ndanger = # of dangerous neighbor list builds - cella,cellb,cellc = periodic cell lattice constants a,b,c - cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma - c_ID = global scalar value calculated by a compute with ID - c_ID\[I\] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below) - c_ID\[I\]\[J\] = I,J component of global array calculated by a compute with ID - f_ID = global scalar value calculated by a fix with ID - f_ID\[I\] = Ith component of global vector calculated by a fix with ID, I can include wildcard (see below) - f_ID\[I\]\[J\] = I,J component of global array calculated by a fix with ID - v_name = value calculated by an equal-style variable with name - v_name\[I\] = value calculated by a vector-style variable with name :pre -:ule - -[Examples:] - -thermo_style multi -thermo_style custom step temp pe etotal press vol -thermo_style custom step temp etotal c_myTemp v_abc -thermo_style custom step temp etotal c_myTemp\[*\] v_abc :pre - -[Description:] - -Set the style and content for printing thermodynamic data to the -screen and log file. - -Style {one} prints a one-line summary of thermodynamic info that is -the equivalent of "thermo_style custom step temp epair emol etotal -press". The line contains only numeric values. - -Style {multi} prints a multiple-line listing of thermodynamic info -that is the equivalent of "thermo_style custom etotal ke temp pe ebond -eangle edihed eimp evdwl ecoul elong press". The listing contains -numeric values and a string ID for each quantity. - -Style {custom} is the most general setting and allows you to specify -which of the keywords listed above you want printed on each -thermodynamic timestep. Note that the keywords c_ID, f_ID, v_name are -references to "computes"_compute.html, "fixes"_fix.html, and -equal-style "variables"_variable.html that have been defined elsewhere -in the input script or can even be new styles which users have added -to LAMMPS. See the "Modify"_Modify.html doc page for details on the -latter. Thus the {custom} style provides a flexible means of -outputting essentially any desired quantity as a simulation proceeds. - -All styles except {custom} have {vol} appended to their list of -outputs if the simulation box volume changes during the simulation. - -The values printed by the various keywords are instantaneous values, -calculated on the current timestep. Time-averaged quantities, which -include values from previous timesteps, can be output by using the -f_ID keyword and accessing a fix that does time-averaging such as the -"fix ave/time"_fix_ave_time.html command. - -Options invoked by the "thermo_modify"_thermo_modify.html command can -be used to set the one- or multi-line format of the print-out, the -normalization of thermodynamic output (total values versus per-atom -values for extensive quantities (ones which scale with the number of -atoms in the system), and the numeric precision of each printed value. - -NOTE: When you use a "thermo_style" command, all thermodynamic -settings are restored to their default values, including those -previously set by a "thermo_modify"_thermo_modify.html command. Thus -if your input script specifies a thermo_style command, you should use -the thermo_modify command after it. - -:line - -Several of the thermodynamic quantities require a temperature to be -computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx", etc. By -default this is done by using a {temperature} compute which is created -when LAMMPS starts up, as if this command had been issued: - -compute thermo_temp all temp :pre - -See the "compute temp"_compute_temp.html command for details. Note -that the ID of this compute is {thermo_temp} and the group is {all}. -You can change the attributes of this temperature (e.g. its -degrees-of-freedom) via the "compute_modify"_compute_modify.html -command. Alternatively, you can directly assign a new compute (that -calculates temperature) which you have defined, to be used for -calculating any thermodynamic quantity that requires a temperature. -This is done via the "thermo_modify"_thermo_modify.html command. - -Several of the thermodynamic quantities require a pressure to be -computed: "press", "enthalpy", "pxx", etc. By default this is done by -using a {pressure} compute which is created when LAMMPS starts up, as -if this command had been issued: - -compute thermo_press all pressure thermo_temp :pre - -See the "compute pressure"_compute_pressure.html command for details. -Note that the ID of this compute is {thermo_press} and the group is -{all}. You can change the attributes of this pressure via the -"compute_modify"_compute_modify.html command. Alternatively, you can -directly assign a new compute (that calculates pressure) which you -have defined, to be used for calculating any thermodynamic quantity -that requires a pressure. This is done via the -"thermo_modify"_thermo_modify.html command. - -Several of the thermodynamic quantities require a potential energy to -be computed: "pe", "etotal", "ebond", etc. This is done by using a -{pe} compute which is created when LAMMPS starts up, as if this -command had been issued: - -compute thermo_pe all pe :pre - -See the "compute pe"_compute_pe.html command for details. Note that -the ID of this compute is {thermo_pe} and the group is {all}. You can -change the attributes of this potential energy via the -"compute_modify"_compute_modify.html command. - -:line - -The kinetic energy of the system {ke} is inferred from the temperature -of the system with 1/2 Kb T of energy for each degree of freedom. -Thus, using different "compute commands"_compute.html for calculating -temperature, via the "thermo_modify temp"_thermo_modify.html command, -may yield different kinetic energies, since different computes that -calculate temperature can subtract out different non-thermal -components of velocity and/or include different degrees of freedom -(translational, rotational, etc). - -The potential energy of the system {pe} will include contributions -from fixes if the "fix_modify thermo"_fix_modify.html option is set -for a fix that calculates such a contribution. For example, the "fix -wall/lj93"_fix_wall.html fix calculates the energy of atoms -interacting with the wall. See the doc pages for "individual fixes" -to see which ones contribute. - -A long-range tail correction {etail} for the VanderWaal pairwise -energy will be non-zero only if the "pair_modify -tail"_pair_modify.html option is turned on. The {etail} contribution -is included in {evdwl}, {epair}, {pe}, and {etotal}, and the -corresponding tail correction to the pressure is included in {press} -and {pxx}, {pyy}, etc. - -:line - -The {step}, {elapsed}, and {elaplong} keywords refer to timestep -count. {Step} is the current timestep, or iteration count when a -"minimization"_minimize.html is being performed. {Elapsed} is the -number of timesteps elapsed since the beginning of this run. -{Elaplong} is the number of timesteps elapsed since the beginning of -an initial run in a series of runs. See the {start} and {stop} -keywords for the "run"_run.html for info on how to invoke a series of -runs that keep track of an initial starting time. If these keywords -are not used, then {elapsed} and {elaplong} are the same value. - -The {dt} keyword is the current timestep size in time -"units"_units.html. The {time} keyword is the current elapsed -simulation time, also in time "units"_units.html, which is simply -(step*dt) if the timestep size has not changed and the timestep has -not been reset. If the timestep has changed (e.g. via "fix -dt/reset"_fix_dt_reset.html) or the timestep has been reset (e.g. via -the "reset_timestep" command), then the simulation time is effectively -a cumulative value up to the current point. - -The {cpu} keyword is elapsed CPU seconds since the beginning of this -run. The {tpcpu} and {spcpu} keywords are measures of how fast your -simulation is currently running. The {tpcpu} keyword is simulation -time per CPU second, where simulation time is in time -"units"_units.html. E.g. for metal units, the {tpcpu} value would be -picoseconds per CPU second. The {spcpu} keyword is the number of -timesteps per CPU second. Both quantities are on-the-fly metrics, -measured relative to the last time they were invoked. Thus if you are -printing out thermodynamic output every 100 timesteps, the two keywords -will continually output the time and timestep rate for the last 100 -steps. The {tpcpu} keyword does not attempt to track any changes in -timestep size, e.g. due to using the "fix dt/reset"_fix_dt_reset.html -command. - -The {cpuremain} keyword estimates the CPU time remaining in the -current run, based on the time elapsed thus far. It will only be a -good estimate if the CPU time/timestep for the rest of the run is -similar to the preceding timesteps. On the initial timestep the value -will be 0.0 since there is no history to estimate from. For a -minimization run performed by the "minimize" command, the estimate is -based on the {maxiter} parameter, assuming the minimization will -proceed for the maximum number of allowed iterations. - -The {part} keyword is useful for multi-replica or multi-partition -simulations to indicate which partition this output and this file -corresponds to, or for use in a "variable"_variable.html to append to -a filename for output specific to this partition. See discussion of -the "-partition command-line switch"_Run_options.html for details on -running in multi-partition mode. - -The {timeremain} keyword returns the remaining seconds when a -timeout has been configured via the "timer timeout"_timer.html command. -If the timeout timer is inactive, the value of this keyword is 0.0 and -if the timer is expired, it is negative. This allows for example to exit -loops cleanly, if the timeout is expired with: - -if "$(timeremain) < 0.0" then "quit 0" :pre - -The {fmax} and {fnorm} keywords are useful for monitoring the progress -of an "energy minimization"_minimize.html. The {fmax} keyword -calculates the maximum force in any dimension on any atom in the -system, or the infinity-norm of the force vector for the system. The -{fnorm} keyword calculates the 2-norm or length of the force vector. - -The {nbuild} and {ndanger} keywords are useful for monitoring neighbor -list builds during a run. Note that both these values are also -printed with the end-of-run statistics. The {nbuild} keyword is the -number of re-builds during the current run. The {ndanger} keyword is -the number of re-builds that LAMMPS considered potentially -"dangerous". If atom movement triggered neighbor list rebuilding (see -the "neigh_modify"_neigh_modify.html command), then dangerous -reneighborings are those that were triggered on the first timestep -atom movement was checked for. If this count is non-zero you may wish -to reduce the delay factor to insure no force interactions are missed -by atoms moving beyond the neighbor skin distance before a rebuild -takes place. - -The keywords {cella}, {cellb}, {cellc}, {cellalpha}, {cellbeta}, -{cellgamma}, correspond to the usual crystallographic quantities that -define the periodic unit cell of a crystal. See the "Howto -triclinic"_Howto_triclinic.html doc page for a geometric description -of triclinic periodic cells, including a precise definition of these -quantities in terms of the internal LAMMPS cell dimensions {lx}, {ly}, -{lz}, {yz}, {xz}, {xy}. - -:line - -For output values from a compute or fix, the bracketed index I used to -index a vector, as in {c_ID\[I\]} or {f_ID\[I\]}, can be specified -using a wildcard asterisk with the index to effectively specify -multiple values. This takes the form "*" or "*n" or "n*" or "m*n". -If N = the size of the vector (for {mode} = scalar) or the number of -columns in the array (for {mode} = vector), then an asterisk with no -numeric values means all indices from 1 to N. A leading asterisk -means all indices from 1 to n (inclusive). A trailing asterisk means -all indices from n to N (inclusive). A middle asterisk means all -indices from m to n (inclusive). - -Using a wildcard is the same as if the individual elements of the -vector had been listed one by one. E.g. these 2 thermo_style commands -are equivalent, since the "compute temp"_compute_temp.html command -creates a global vector with 6 values. - -compute myTemp all temp -thermo_style custom step temp etotal c_myTemp\[*\] -thermo_style custom step temp etotal & - c_myTemp\[1\] c_myTemp\[2\] c_myTemp\[3\] & - c_myTemp\[4\] c_myTemp\[5\] c_myTemp\[6\] :pre - -:line - -The {c_ID} and {c_ID\[I\]} and {c_ID\[I\]\[J\]} keywords allow global -values calculated by a compute to be output. As discussed on the -"compute"_compute.html doc page, computes can calculate global, -per-atom, or local values. Only global values can be referenced by -this command. However, per-atom compute values for an individual atom -can be referenced in a "variable"_variable.html and the variable -referenced by thermo_style custom, as discussed below. See the -discussion above for how the I in {c_ID\[I\]} can be specified with a -wildcard asterisk to effectively specify multiple values from a global -compute vector. - -The ID in the keyword should be replaced by the actual ID of a compute -that has been defined elsewhere in the input script. See the -"compute"_compute.html command for details. If the compute calculates -a global scalar, vector, or array, then the keyword formats with 0, 1, -or 2 brackets will reference a scalar value from the compute. - -Note that some computes calculate "intensive" global quantities like -temperature; others calculate "extensive" global quantities like -kinetic energy that are summed over all atoms in the compute group. -Intensive quantities are printed directly without normalization by -thermo_style custom. Extensive quantities may be normalized by the -total number of atoms in the simulation (NOT the number of atoms in -the compute group) when output, depending on the "thermo_modify -norm"_thermo_modify.html option being used. - -The {f_ID} and {f_ID\[I\]} and {f_ID\[I\]\[J\]} keywords allow global -values calculated by a fix to be output. As discussed on the -"fix"_fix.html doc page, fixes can calculate global, per-atom, or -local values. Only global values can be referenced by this command. -However, per-atom fix values can be referenced for an individual atom -in a "variable"_variable.html and the variable referenced by -thermo_style custom, as discussed below. See the discussion above for -how the I in {f_ID\[I\]} can be specified with a wildcard asterisk to -effectively specify multiple values from a global fix vector. - -The ID in the keyword should be replaced by the actual ID of a fix -that has been defined elsewhere in the input script. See the -"fix"_fix.html command for details. If the fix calculates a global -scalar, vector, or array, then the keyword formats with 0, 1, or 2 -brackets will reference a scalar value from the fix. - -Note that some fixes calculate "intensive" global quantities like -timestep size; others calculate "extensive" global quantities like -energy that are summed over all atoms in the fix group. Intensive -quantities are printed directly without normalization by thermo_style -custom. Extensive quantities may be normalized by the total number of -atoms in the simulation (NOT the number of atoms in the fix group) -when output, depending on the "thermo_modify norm"_thermo_modify.html -option being used. - -The {v_name} keyword allow the current value of a variable to be -output. The name in the keyword should be replaced by the variable -name that has been defined elsewhere in the input script. Only -equal-style and vector-style variables can be referenced; the latter -requires a bracketed term to specify the Ith element of the vector -calculated by the variable. However, an atom-style variable can be -referenced for an individual atom by an equal-style variable and that -variable referenced. See the "variable"_variable.html command for -details. Variables of style {equal} and {vector} and {atom} define a -formula which can reference per-atom properties or thermodynamic -keywords, or they can invoke other computes, fixes, or variables when -evaluated, so this is a very general means of creating thermodynamic -output. - -Note that equal-style and vector-style variables are assumed to -produce "intensive" global quantities, which are thus printed as-is, -without normalization by thermo_style custom. You can include a -division by "natoms" in the variable formula if this is not the case. - -:line - -[Restrictions:] - -This command must come after the simulation box is defined by a -"read_data"_read_data.html, "read_restart"_read_restart.html, or -"create_box"_create_box.html command. - -[Related commands:] - -"thermo"_thermo.html, "thermo_modify"_thermo_modify.html, -"fix_modify"_fix_modify.html, "compute temp"_compute_temp.html, -"compute pressure"_compute_pressure.html - -[Default:] - -thermo_style one :pre diff --git a/doc/txt/third_order.txt b/doc/txt/third_order.txt deleted file mode 100644 index 9636ec830e8c0be6410ff337aa705819d5bfc022..0000000000000000000000000000000000000000 --- a/doc/txt/third_order.txt +++ /dev/null @@ -1,62 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -third_order command :h3 - -[Syntax:] - -third_order group-ID style delta args keyword value ... :pre - -group-ID = ID of group of atoms to displace :ulb,l -style = {regular} or {eskm} :l -delta = finite different displacement length (distance units) :l -one or more keyword/arg pairs may be appended :l - keyword = {file} or {binary} - {file} name = name of output file for the third order tensor - {binary} arg = {yes} or {no} or {gzip} :pre -:ule - -[Examples:] - -third_order 1 regular 0.000001 -third_order 1 eskm 0.000001 -third_order 3 regular 0.00004 file third_order.dat -third_order 5 eskm 0.00000001 file third_order.dat binary yes :pre - -[Description:] - -Calculate the third order force constant tensor by finite difference of the selected group, - -:c,image(JPG/third_order_force_constant.png)) - -where Phi is the third order force constant tensor. - -The output of the command is the tensor, three elements at a time. The -three elements correspond to the three gamma elements for a specific i/alpha/j/beta/k. -The initial five numbers are i, alpha, j, beta, and k respectively. - -If the style eskm is selected, the tensor will be using energy units of 10 J/mol. -These units conform to eskm style from the dynamical_matrix command, which -will simplify operations using dynamical matrices with third order tensors. - -[Restrictions:] - -The command collects a 9 times the number of atoms in the group on every single MPI rank, -so the memory requirements can be very significant for large systems. - -This command is part of the USER-PHONON package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"fix phonon"_fix_phonon.html "dynamical_matrix"_dynamical_matrix.html - -[Default:] - -The default settings are file = "third_order.dat", binary = no diff --git a/doc/txt/timer.txt b/doc/txt/timer.txt deleted file mode 100644 index 6da74ca153e75ed683a4e68ea8d03c636d293c21..0000000000000000000000000000000000000000 --- a/doc/txt/timer.txt +++ /dev/null @@ -1,121 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -timer command :h3 - -[Syntax:] - -timer args :pre - -{args} = one or more of {off} or {loop} or {normal} or {full} or {sync} or {nosync} or {timeout} or {every} :l - {off} = do not collect or print any timing information - {loop} = collect only the total time for the simulation loop - {normal} = collect timer information broken down by sections (default) - {full} = like {normal} but also include CPU and thread utilization - {sync} = explicitly synchronize MPI tasks between sections - {nosync} = do not synchronize MPI tasks between sections (default) - {timeout} elapse = set wall time limit to {elapse} - {every} Ncheck = perform timeout check every {Ncheck} steps :pre - -[Examples:] - -timer full sync -timer timeout 2:00:00 every 100 -timer loop :pre - -[Description:] - -Select the level of detail at which LAMMPS performs its CPU timings. -Multiple keywords can be specified with the {timer} command. For -keywords that are mutually exclusive, the last one specified takes -precedence. - -During a simulation run LAMMPS collects information about how much -time is spent in different sections of the code and thus can provide -information for determining performance and load imbalance problems. -This can be done at different levels of detail and accuracy. For more -information about the timing output, see the "Run -output"_Run_output.html doc page. - -The {off} setting will turn all time measurements off. The {loop} -setting will only measure the total time for a run and not collect any -detailed per section information. With the {normal} setting, timing -information for portions of the timestep (pairwise calculations, -neighbor list construction, output, etc) are collected as well as -information about load imbalances for those sections across -processors. The {full} setting adds information about CPU -utilization and thread utilization, when multi-threading is enabled. - -With the {sync} setting, all MPI tasks are synchronized at each timer -call which measures load imbalance for each section more accurately, -though it can also slow down the simulation by prohibiting overlapping -independent computations on different MPI ranks Using the {nosync} -setting (which is the default) turns this synchronization off. - -With the {timeout} keyword a wall time limit can be imposed, that -affects the "run"_run.html and "minimize"_minimize.html commands. -This can be convenient when calculations have to comply with execution -time limits, e.g. when running under a batch system when you want to -maximize the utilization of the batch time slot, especially for runs -where the time per timestep varies much and thus it becomes difficult -to predict how many steps a simulation can perform for a given wall time -limit. This also applies for difficult to converge minimizations. -The timeout {elapse} value should be somewhat smaller than the maximum -wall time requested from the batch system, as there is usually -some overhead to launch jobs, and it is advisable to write -out a restart after terminating a run due to a timeout. - -The timeout timer starts when the command is issued. When the time -limit is reached, the run or energy minimization will exit on the -next step or iteration that is a multiple of the {Ncheck} value -which can be set with the {every} keyword. Default is checking -every 10 steps. After the timer timeout has expired all subsequent -run or minimize commands in the input script will be skipped. -The remaining time or timer status can be accessed with the -"thermo"_thermo_style.html variable {timeremain}, which will be -zero, if the timeout is inactive (default setting), it will be -negative, if the timeout time is expired and positive if there -is time remaining and in this case the value of the variable are -the number of seconds remaining. - -When the {timeout} key word is used a second time, the timer is -restarted with a new time limit. The timeout {elapse} value can -be specified as {off} or {unlimited} to impose a no timeout condition -(which is the default). The {elapse} setting can be specified as -a single number for seconds, two numbers separated by a colon (MM:SS) -for minutes and seconds, or as three numbers separated by colons for -hours, minutes, and seconds (H:MM:SS). - -The {every} keyword sets how frequently during a run or energy -minimization the wall clock will be checked. This check count applies -to the outer iterations or time steps during minimizations or "r-RESPA -runs"_run_style.html, respectively. Checking for timeout too often, -can slow a calculation down. Checking too infrequently can make the -timeout measurement less accurate, with the run being stopped later -than desired. - -NOTE: Using the {full} and {sync} options provides the most detailed -and accurate timing information, but can also have a negative -performance impact due to the overhead of the many required system -calls. It is thus recommended to use these settings only when testing -tests to identify performance bottlenecks. For calculations with few -atoms or a very large number of processors, even the {normal} setting -can have a measurable negative performance impact. In those cases you -can just use the {loop} or {off} setting. - -[Restrictions:] none - -[Related commands:] - -"run post no"_run.html, "kspace_modify fftbench"_kspace_modify.html - -[Default:] - -timer normal nosync -timer timeout off -timer every 10 :pre diff --git a/doc/txt/timestep.txt b/doc/txt/timestep.txt deleted file mode 100644 index ee0ace05b9cf7397539cf615e4a87217270f4949..0000000000000000000000000000000000000000 --- a/doc/txt/timestep.txt +++ /dev/null @@ -1,51 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -timestep command :h3 - -[Syntax:] - -timestep dt :pre - -dt = timestep size (time units) :ul - -[Examples:] - -timestep 2.0 -timestep 0.003 :pre - -[Description:] - -Set the timestep size for subsequent molecular dynamics simulations. -See the "units"_units.html command for the time units associated with -each choice of units that LAMMPS supports. - -The default value for the timestep size also depends on the choice of -units for the simulation; see the default values below. - -When the "run style"_run_style.html is {respa}, dt is the timestep for -the outer loop (largest) timestep. - -[Restrictions:] none - -[Related commands:] - -"fix dt/reset"_fix_dt_reset.html, "run"_run.html, -"run_style"_run_style.html respa, "units"_units.html - -[Default:] - -choice of "units"_units.html : time units : default timestep size -lj : tau : 0.005 tau -real : fmsec : 1.0 fmsec -metal : psec : 0.001 psec -si : sec : 1.0e-8 sec (10 nsec) -cgs : sec : 1.0e-8 sec (10 nsec) -electron : fmsec : 0.001 fmsec -micro : usec : 2.0 usec -nano : nsec : 0.00045 nsec :tb(s=:,a=l,ea=c) diff --git a/doc/txt/uncompute.txt b/doc/txt/uncompute.txt deleted file mode 100644 index 4c788d472207b302a51f73abddaf34803cae5062..0000000000000000000000000000000000000000 --- a/doc/txt/uncompute.txt +++ /dev/null @@ -1,34 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -uncompute command :h3 - -[Syntax:] - -uncompute compute-ID :pre - -compute-ID = ID of a previously defined compute :ul - -[Examples:] - -uncompute 2 -uncompute lower-boundary :pre - -[Description:] - -Delete a compute that was previously defined with a "compute"_compute.html -command. This also wipes out any additional changes made to the compute -via the "compute_modify"_compute_modify.html command. - -[Restrictions:] none - -[Related commands:] - -"compute"_compute.html - -[Default:] none diff --git a/doc/txt/undump.txt b/doc/txt/undump.txt deleted file mode 100644 index cc3d8b9103ffd2d9eff33bf3dbaefda820c29903..0000000000000000000000000000000000000000 --- a/doc/txt/undump.txt +++ /dev/null @@ -1,33 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -undump command :h3 - -[Syntax:] - -undump dump-ID :pre - -dump-ID = ID of previously defined dump :ul - -[Examples:] - -undump mine -undump 2 :pre - -[Description:] - -Turn off a previously defined dump so that it is no longer active. -This closes the file associated with the dump. - -[Restrictions:] none - -[Related commands:] - -"dump"_dump.html - -[Default:] none diff --git a/doc/txt/unfix.txt b/doc/txt/unfix.txt deleted file mode 100644 index 9608b39c7e2c2056023b9da6607b8e280ed52a11..0000000000000000000000000000000000000000 --- a/doc/txt/unfix.txt +++ /dev/null @@ -1,34 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -unfix command :h3 - -[Syntax:] - -unfix fix-ID :pre - -fix-ID = ID of a previously defined fix :ul - -[Examples:] - -unfix 2 -unfix lower-boundary :pre - -[Description:] - -Delete a fix that was previously defined with a "fix"_fix.html -command. This also wipes out any additional changes made to the fix -via the "fix_modify"_fix_modify.html command. - -[Restrictions:] none - -[Related commands:] - -"fix"_fix.html - -[Default:] none diff --git a/doc/txt/units.txt b/doc/txt/units.txt deleted file mode 100644 index 844504d97772f1462010078614898a195b9ca37e..0000000000000000000000000000000000000000 --- a/doc/txt/units.txt +++ /dev/null @@ -1,221 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -units command :h3 - -[Syntax:] - -units style :pre - -style = {lj} or {real} or {metal} or {si} or {cgs} or {electron} or {micro} or {nano} :ul - -[Examples:] - -units metal -units lj :pre - -[Description:] - -This command sets the style of units used for a simulation. It -determines the units of all quantities specified in the input script -and data file, as well as quantities output to the screen, log file, -and dump files. Typically, this command is used at the very beginning -of an input script. - -For all units except {lj}, LAMMPS uses physical constants from -www.physics.nist.gov. For the definition of Kcal in real units, -LAMMPS uses the thermochemical calorie = 4.184 J. - -The choice you make for units simply sets some internal conversion -factors within LAMMPS. This means that any simulation you perform for -one choice of units can be duplicated with any other unit setting -LAMMPS supports. In this context "duplicate" means the particles will -have identical trajectories and all output generated by the simulation -will be identical. This will be the case for some number of timesteps -until round-off effects accumulate, since the conversion factors for -two different unit systems are not identical to infinite precision. - -To perform the same simulation in a different set of units you must -change all the unit-based input parameters in your input script and -other input files (data file, potential files, etc) correctly to the -new units. And you must correctly convert all output from the new -units to the old units when comparing to the original results. That -is often not simple to do. - -:line - -For style {lj}, all quantities are unitless. Without loss of -generality, LAMMPS sets the fundamental quantities mass, sigma, -epsilon, and the Boltzmann constant = 1. The masses, distances, -energies you specify are multiples of these fundamental values. The -formulas relating the reduced or unitless quantity (with an asterisk) -to the same quantity with units is also given. Thus you can use the -mass & sigma & epsilon values for a specific material and convert the -results from a unitless LJ simulation into physical quantities. - -mass = mass or m -distance = sigma, where x* = x / sigma -time = tau, where t* = t (epsilon / m / sigma^2)^1/2 -energy = epsilon, where E* = E / epsilon -velocity = sigma/tau, where v* = v tau / sigma -force = epsilon/sigma, where f* = f sigma / epsilon -torque = epsilon, where t* = t / epsilon -temperature = reduced LJ temperature, where T* = T Kb / epsilon -pressure = reduced LJ pressure, where P* = P sigma^3 / epsilon -dynamic viscosity = reduced LJ viscosity, where eta* = eta sigma^3 / epsilon / tau -charge = reduced LJ charge, where q* = q / (4 pi perm0 sigma epsilon)^1/2 -dipole = reduced LJ dipole, moment where *mu = mu / (4 pi perm0 sigma^3 epsilon)^1/2 -electric field = force/charge, where E* = E (4 pi perm0 sigma epsilon)^1/2 sigma / epsilon -density = mass/volume, where rho* = rho sigma^dim :ul - -Note that for LJ units, the default mode of thermodynamic output via -the "thermo_style"_thermo_style.html command is to normalize all -extensive quantities by the number of atoms. E.g. potential energy is -extensive because it is summed over atoms, so it is output as -energy/atom. Temperature is intensive since it is already normalized -by the number of atoms, so it is output as-is. This behavior can be -changed via the "thermo_modify norm"_thermo_modify.html command. - -For style {real}, these are the units: - -mass = grams/mole -distance = Angstroms -time = femtoseconds -energy = Kcal/mole -velocity = Angstroms/femtosecond -force = Kcal/mole-Angstrom -torque = Kcal/mole -temperature = Kelvin -pressure = atmospheres -dynamic viscosity = Poise -charge = multiple of electron charge (1.0 is a proton) -dipole = charge*Angstroms -electric field = volts/Angstrom -density = gram/cm^dim :ul - -For style {metal}, these are the units: - -mass = grams/mole -distance = Angstroms -time = picoseconds -energy = eV -velocity = Angstroms/picosecond -force = eV/Angstrom -torque = eV -temperature = Kelvin -pressure = bars -dynamic viscosity = Poise -charge = multiple of electron charge (1.0 is a proton) -dipole = charge*Angstroms -electric field = volts/Angstrom -density = gram/cm^dim :ul - -For style {si}, these are the units: - -mass = kilograms -distance = meters -time = seconds -energy = Joules -velocity = meters/second -force = Newtons -torque = Newton-meters -temperature = Kelvin -pressure = Pascals -dynamic viscosity = Pascal*second -charge = Coulombs (1.6021765e-19 is a proton) -dipole = Coulombs*meters -electric field = volts/meter -density = kilograms/meter^dim :ul - -For style {cgs}, these are the units: - -mass = grams -distance = centimeters -time = seconds -energy = ergs -velocity = centimeters/second -force = dynes -torque = dyne-centimeters -temperature = Kelvin -pressure = dyne/cm^2 or barye = 1.0e-6 bars -dynamic viscosity = Poise -charge = statcoulombs or esu (4.8032044e-10 is a proton) -dipole = statcoul-cm = 10^18 debye -electric field = statvolt/cm or dyne/esu -density = grams/cm^dim :ul - -For style {electron}, these are the units: - -mass = atomic mass units -distance = Bohr -time = femtoseconds -energy = Hartrees -velocity = Bohr/atomic time units \[1.03275e-15 seconds\] -force = Hartrees/Bohr -temperature = Kelvin -pressure = Pascals -charge = multiple of electron charge (1.0 is a proton) -dipole moment = Debye -electric field = volts/cm :ul - -For style {micro}, these are the units: - -mass = picograms -distance = micrometers -time = microseconds -energy = picogram-micrometer^2/microsecond^2 -velocity = micrometers/microsecond -force = picogram-micrometer/microsecond^2 -torque = picogram-micrometer^2/microsecond^2 -temperature = Kelvin -pressure = picogram/(micrometer-microsecond^2) -dynamic viscosity = picogram/(micrometer-microsecond) -charge = picocoulombs (1.6021765e-7 is a proton) -dipole = picocoulomb-micrometer -electric field = volt/micrometer -density = picograms/micrometer^dim :ul - -For style {nano}, these are the units: - -mass = attograms -distance = nanometers -time = nanoseconds -energy = attogram-nanometer^2/nanosecond^2 -velocity = nanometers/nanosecond -force = attogram-nanometer/nanosecond^2 -torque = attogram-nanometer^2/nanosecond^2 -temperature = Kelvin -pressure = attogram/(nanometer-nanosecond^2) -dynamic viscosity = attogram/(nanometer-nanosecond) -charge = multiple of electron charge (1.0 is a proton) -dipole = charge-nanometer -electric field = volt/nanometer -density = attograms/nanometer^dim :ul - -The units command also sets the timestep size and neighbor skin -distance to default values for each style: - -For style {lj} these are dt = 0.005 tau and skin = 0.3 sigma. -For style {real} these are dt = 1.0 femtoseconds and skin = 2.0 Angstroms. -For style {metal} these are dt = 0.001 picoseconds and skin = 2.0 Angstroms. -For style {si} these are dt = 1.0e-8 seconds and skin = 0.001 meters. -For style {cgs} these are dt = 1.0e-8 seconds and skin = 0.1 centimeters. -For style {electron} these are dt = 0.001 femtoseconds and skin = 2.0 Bohr. -For style {micro} these are dt = 2.0 microseconds and skin = 0.1 micrometers. -For style {nano} these are dt = 0.00045 nanoseconds and skin = 0.1 nanometers. :ul - -[Restrictions:] - -This command cannot be used after the simulation box is defined by a -"read_data"_read_data.html or "create_box"_create_box.html command. - -[Related commands:] none - -[Default:] - -units lj :pre diff --git a/doc/txt/variable.txt b/doc/txt/variable.txt deleted file mode 100644 index b545f6cee28b46f28bb81090949b709d8173fdc9..0000000000000000000000000000000000000000 --- a/doc/txt/variable.txt +++ /dev/null @@ -1,1337 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -variable command :h3 - -[Syntax:] - -variable name style args ... :pre - -name = name of variable to define :ulb,l -style = {delete} or {index} or {loop} or {world} or {universe} or {uloop} or {string} or {format} or {getenv} or {file} or {atomfile} or {python} or {internal} or {equal} or {vector} or {atom} :l - {delete} = no args - {index} args = one or more strings - {loop} args = N - N = integer size of loop, loop from 1 to N inclusive - {loop} args = N pad - N = integer size of loop, loop from 1 to N inclusive - pad = all values will be same length, e.g. 001, 002, ..., 100 - {loop} args = N1 N2 - N1,N2 = loop from N1 to N2 inclusive - {loop} args = N1 N2 pad - N1,N2 = loop from N1 to N2 inclusive - pad = all values will be same length, e.g. 050, 051, ..., 100 - {world} args = one string for each partition of processors - {universe} args = one or more strings - {uloop} args = N - N = integer size of loop - {uloop} args = N pad - N = integer size of loop - pad = all values will be same length, e.g. 001, 002, ..., 100 - {string} arg = one string - {format} args = vname fstr - vname = name of equal-style variable to evaluate - fstr = C-style format string - {getenv} arg = one string - {file} arg = filename - {atomfile} arg = filename - {python} arg = function - {internal} arg = numeric value - {equal} or {vector} or {atom} args = one formula containing numbers, thermo keywords, math operations, group functions, atom values and vectors, compute/fix/variable references - numbers = 0.0, 100, -5.4, 2.8e-4, etc - constants = PI, version, on, off, true, false, yes, no - thermo keywords = vol, ke, press, etc from "thermo_style"_thermo_style.html - math operators = (), -x, x+y, x-y, x*y, x/y, x^y, x%y, - x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x || y, x |^ y, !x - math functions = sqrt(x), exp(x), ln(x), log(x), abs(x), - sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), - random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x) - ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), - logfreq3(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), - vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z) - group functions = count(group), mass(group), charge(group), - xcm(group,dim), vcm(group,dim), fcm(group,dim), - bound(group,dir), gyration(group), ke(group), - angmom(group,dim), torque(group,dim), - inertia(group,dimdim), omega(group,dim) - region functions = count(group,region), mass(group,region), charge(group,region), - xcm(group,dim,region), vcm(group,dim,region), fcm(group,dim,region), - bound(group,dir,region), gyration(group,region), ke(group,reigon), - angmom(group,dim,region), torque(group,dim,region), - inertia(group,dimdim,region), omega(group,dim,region) - special functions = sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x) - feature functions = is_active(category,feature,exact), is_defined(category,id,exact) - atom value = id\[i\], mass\[i\], type\[i\], mol\[i\], x\[i\], y\[i\], z\[i\], vx\[i\], vy\[i\], vz\[i\], fx\[i\], fy\[i\], fz\[i\], q\[i\] - atom vector = id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q - compute references = c_ID, c_ID\[i\], c_ID\[i\]\[j\], C_ID, C_ID\[i\] - fix references = f_ID, f_ID\[i\], f_ID\[i\]\[j\], F_ID, F_ID\[i\] - variable references = v_name, v_name\[i\] :pre -:ule - -[Examples:] - -variable x index run1 run2 run3 run4 run5 run6 run7 run8 -variable LoopVar loop $n -variable beta equal temp/3.0 -variable b1 equal x\[234\]+0.5*vol -variable b1 equal "x\[234\] + 0.5*vol" -variable b equal xcm(mol1,x)/2.0 -variable b equal c_myTemp -variable b atom x*y/vol -variable foo string myfile -variable foo internal 3.5 -variable myPy python increase -variable f file values.txt -variable temp world 300.0 310.0 320.0 $\{Tfinal\} -variable x universe 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -variable x uloop 15 pad -variable str format x %.6g -variable x delete :pre - -[Description:] - -This command assigns one or more strings to a variable name for -evaluation later in the input script or during a simulation. - -Variables can thus be useful in several contexts. A variable can be -defined and then referenced elsewhere in an input script to become -part of a new input command. For variable styles that store multiple -strings, the "next"_next.html command can be used to increment which -string is assigned to the variable. Variables of style {equal} store -a formula which when evaluated produces a single numeric value which -can be output either directly (see the "print"_print.html, "fix -print"_fix_print.html, and "run every"_run.html commands) or as part -of thermodynamic output (see the "thermo_style"_thermo_style.html -command), or used as input to an averaging fix (see the "fix -ave/time"_fix_ave_time.html command). Variables of style {vector} -store a formula which produces a vector of such values which can be -used as input to various averaging fixes, or elements of which can be -part of thermodynamic output. Variables of style {atom} store a -formula which when evaluated produces one numeric value per atom which -can be output to a dump file (see the "dump custom"_dump.html command) -or used as input to an averaging fix (see the "fix -ave/chunk"_fix_ave_chunk.html and "fix ave/atom"_fix_ave_atom.html -commands). Variables of style {atomfile} can be used anywhere in an -input script that atom-style variables are used; they get their -per-atom values from a file rather than from a formula. Variables of -style {python} can be hooked to Python functions using code you -provide, so that the variable gets its value from the evaluation of -the Python code. Variables of style {internal} are used by a few -commands which set their value directly. - -NOTE: As discussed on the "Commands parse"_Commands_parse.html doc -page, an input script can use "immediate" variables, specified as -$(formula) with parenthesis, where the formula has the same syntax as -equal-style variables described on this page. This is a convenient -way to evaluate a formula immediately without using the variable -command to define a named variable and then evaluate that -variable. See below for a more detailed discussion of this feature. - -In the discussion that follows, the "name" of the variable is the -arbitrary string that is the 1st argument in the variable command. -This name can only contain alphanumeric characters and underscores. -The "string" is one or more of the subsequent arguments. The "string" -can be simple text as in the 1st example above, it can contain other -variables as in the 2nd example, or it can be a formula as in the 3rd -example. The "value" is the numeric quantity resulting from -evaluation of the string. Note that the same string can generate -different values when it is evaluated at different times during a -simulation. - -NOTE: When an input script line is encountered that defines a variable -of style {equal} or {vector} or {atom} or {python} that contains a -formula or Python code, the formula is NOT immediately evaluated. It -will be evaluated every time when the variable is [used] instead. If -you simply want to evaluate a formula in place you can use as -so-called. See the section below about "Immediate Evaluation of -Variables" for more details on the topic. This is also true of a -{format} style variable since it evaluates another variable when it is -invoked. - -Variables of style {equal} and {vector} and {atom} can be used as -inputs to various other commands which evaluate their formulas as -needed, e.g. at different timesteps during a "run"_run.html. - -Variables of style {internal} can be used in place of an equal-style -variable, except by commands that set the value stored by the -internal-style variable. Thus any command that states it can use an -equal-style variable as an argument, can also use an internal-style -variable. This means that when the command evaluates the variable, it -will use the value set (internally) by another command. - -Variables of style {python} can be used in place of an equal-style -variable so long as the associated Python function, as defined by the -"python"_python.html command, returns a numeric value. Thus any -command that states it can use an equal-style variable as an argument, -can also use such a python-style variable. This means that when the -LAMMPS command evaluates the variable, the Python function will be -executed. - -NOTE: When a variable command is encountered in the input script and -the variable name has already been specified, the command is ignored. -This means variables can NOT be re-defined in an input script (with -two exceptions, read further). This is to allow an input script to be -processed multiple times without resetting the variables; see the -"jump"_jump.html or "include"_include.html commands. It also means -that using the "command-line switch"_Run_options.html -var will -override a corresponding index variable setting in the input script. - -There are two exceptions to this rule. First, variables of style -{string}, {getenv}, {internal}, {equal}, {vector}, {atom}, and -{python} ARE redefined each time the command is encountered. This -allows these style of variables to be redefined multiple times in an -input script. In a loop, this means the formula associated with an -{equal} or {atom} style variable can change if it contains a -substitution for another variable, e.g. $x or v_x. - -Second, as described below, if a variable is iterated on to the end of -its list of strings via the "next"_next.html command, it is removed -from the list of active variables, and is thus available to be -re-defined in a subsequent variable command. The {delete} style does -the same thing. - -:line - -The "Commands parse"_Commands_parse.html doc page explains how -occurrences of a variable name in an input script line are replaced by -the variable's string. The variable name can be referenced as $x if -the name "x" is a single character, or as $\{LoopVar\} if the name -"LoopVar" is one or more characters. - -As described below, for variable styles {index}, {loop}, {file}, -{universe}, and {uloop}, which string is assigned to a variable can be -incremented via the "next"_next.html command. When there are no more -strings to assign, the variable is exhausted and a flag is set that -causes the next "jump"_jump.html command encountered in the input -script to be skipped. This enables the construction of simple loops -in the input script that are iterated over and then exited from. - -As explained above, an exhausted variable can be re-used in an input -script. The {delete} style also removes the variable, the same as if -it were exhausted, allowing it to be redefined later in the input -script or when the input script is looped over. This can be useful -when breaking out of a loop via the "if"_if.html and "jump"_jump.html -commands before the variable would become exhausted. For example, - -label loop -variable a loop 5 -print "A = $a" -if "$a > 2" then "jump in.script break" -next a -jump in.script loop -label break -variable a delete :pre - -:line - -This section describes how all the various variable styles are defined -and what they store. Except for the {equal} and {vector} and {atom} -styles, which are explained in the next section. - -Many of the styles store one or more strings. Note that a single -string can contain spaces (multiple words), if it is enclosed in -quotes in the variable command. When the variable is substituted for -in another input script command, its returned string will then be -interpreted as multiple arguments in the expanded command. - -For the {index} style, one or more strings are specified. Initially, -the 1st string is assigned to the variable. Each time a -"next"_next.html command is used with the variable name, the next -string is assigned. All processors assign the same string to the -variable. - -{Index} style variables with a single string value can also be set by -using the "command-line switch -var"_Run_options.html. - -The {loop} style is identical to the {index} style except that the -strings are the integers from 1 to N inclusive, if only one argument N -is specified. This allows generation of a long list of runs -(e.g. 1000) without having to list N strings in the input script. -Initially, the string "1" is assigned to the variable. Each time a -"next"_next.html command is used with the variable name, the next -string ("2", "3", etc) is assigned. All processors assign the same -string to the variable. The {loop} style can also be specified with -two arguments N1 and N2. In this case the loop runs from N1 to N2 -inclusive, and the string N1 is initially assigned to the variable. -N1 <= N2 and N2 >= 0 is required. - -For the {world} style, one or more strings are specified. There must -be one string for each processor partition or "world". LAMMPS can be -run with multiple partitions via the "-partition command-line -switch"_Run_options.html. This variable command assigns one string to -each world. All processors in the world are assigned the same string. -The next command cannot be used with {equal} style variables, since -there is only one value per world. This style of variable is useful -when you wish to run different simulations on different partitions, or -when performing a parallel tempering simulation (see the -"temper"_temper.html command), to assign different temperatures to -different partitions. - -For the {universe} style, one or more strings are specified. There -must be at least as many strings as there are processor partitions or -"worlds". LAMMPS can be run with multiple partitions via the -"-partition command-line switch"_Run_options.html. This variable -command initially assigns one string to each world. When a -"next"_next.html command is encountered using this variable, the first -processor partition to encounter it, is assigned the next available -string. This continues until all the variable strings are consumed. -Thus, this command can be used to run 50 simulations on 8 processor -partitions. The simulations will be run one after the other on -whatever partition becomes available, until they are all finished. -{Universe} style variables are incremented using the files -"tmp.lammps.variable" and "tmp.lammps.variable.lock" which you will -see in your directory during such a LAMMPS run. - -The {uloop} style is identical to the {universe} style except that the -strings are the integers from 1 to N. This allows generation of long -list of runs (e.g. 1000) without having to list N strings in the input -script. - -For the {string} style, a single string is assigned to the variable. -Two differences between this style and using the {index} style exist: -a variable with {string} style can be redefined, e.g. by another command later -in the input script, or if the script is read again in a loop. The other -difference is that {string} performs variable substitution even if the -string parameter is quoted. - -For the {format} style, an equal-style variable is specified along -with a C-style format string, e.g. "%f" or "%.10g", which must be -appropriate for formatting a double-precision floating-point value. -The default format is "%.15g". This variable style allows an -equal-style variable to be formatted precisely when it is evaluated. - -If you simply wish to print a variable value with desired precision to -the screen or logfile via the "print"_print.html or "fix -print"_fix_print.html commands, you can also do this by specifying an -"immediate" variable with a trailing colon and format string, as part -of the string argument of those commands. This is explained on the -"Commands parse"_Commands_parse.html doc page. - -For the {getenv} style, a single string is assigned to the variable -which should be the name of an environment variable. When the -variable is evaluated, it returns the value of the environment -variable, or an empty string if it not defined. This style of -variable can be used to adapt the behavior of LAMMPS input scripts via -environment variable settings, or to retrieve information that has -been previously stored with the "shell putenv"_shell.html command. -Note that because environment variable settings are stored by the -operating systems, they persist beyond a "clear"_clear.html command. - -For the {file} style, a filename is provided which contains a list of -strings to assign to the variable, one per line. The strings can be -numeric values if desired. See the discussion of the next() function -below for equal-style variables, which will convert the string of a -file-style variable into a numeric value in a formula. - -When a file-style variable is defined, the file is opened and the -string on the first line is read and stored with the variable. This -means the variable can then be evaluated as many times as desired and -will return that string. There are two ways to cause the next string -from the file to be read: use the "next"_next.html command or the -next() function in an equal- or atom-style variable, as discussed -below. - -The rules for formatting the file are as follows. A comment character -"#" can be used anywhere on a line; text starting with the comment -character is stripped. Blank lines are skipped. The first "word" of -a non-blank line, delimited by white-space, is the "string" assigned -to the variable. - -For the {atomfile} style, a filename is provided which contains one or -more sets of values, to assign on a per-atom basis to the variable. -The format of the file is described below. - -When an atomfile-style variable is defined, the file is opened and the -first set of per-atom values are read and stored with the variable. -This means the variable can then be evaluated as many times as desired -and will return those values. There are two ways to cause the next -set of per-atom values from the file to be read: use the -"next"_next.html command or the next() function in an atom-style -variable, as discussed below. - -The rules for formatting the file are as follows. Each time a set of -per-atom values is read, a non-blank line is searched for in the file. -A comment character "#" can be used anywhere on a line; text starting -with the comment character is stripped. Blank lines are skipped. The -first "word" of a non-blank line, delimited by white-space, is read as -the count N of per-atom lines to immediately follow. N can be the -total number of atoms in the system, or only a subset. The next N -lines have the following format - -ID value :pre - -where ID is an atom ID and value is the per-atom numeric value that -will be assigned to that atom. IDs can be listed in any order. - -NOTE: Every time a set of per-atom lines is read, the value for all -atoms is first set to 0.0. Thus values for atoms whose ID does not -appear in the set, will remain 0.0. - -For the {python} style a Python function name is provided. This needs -to match a function name specified in a "python"_python.html command -which returns a value to this variable as defined by its {return} -keyword. For example these two commands would be self-consistent: - -variable foo python myMultiply -python myMultiply return v_foo format f file funcs.py :pre - -The two commands can appear in either order so long as both are -specified before the Python function is invoked for the first time. - -Each time the variable is evaluated, the associated Python function is -invoked, and the value it returns is also returned by the variable. -Since the Python function can use other LAMMPS variables as input, or -query interal LAMMPS quantities to perform its computation, this means -the variable can return a different value each time it is evaluated. - -The type of value stored in the variable is determined by the {format} -keyword of the "python"_python.html command. It can be an integer -(i), floating point (f), or string (s) value. As mentioned above, if -it is a numeric value (integer or floating point), then the -python-style variable can be used in place of an equal-style variable -anywhere in an input script, e.g. as an argument to another command -that allows for equal-style variables. - -For the {internal} style a numeric value is provided. This value will -be assigned to the variable until a LAMMPS command sets it to a new -value. There are currently only two LAMMPS commands that require -{internal} variables as inputs, because they reset them: -"create_atoms"_create_atoms.html and "fix -controller"_fix_controller.html. As mentioned above, an -internal-style variable can be used in place of an equal-style -variable anywhere else in an input script, e.g. as an argument to -another command that allows for equal-style variables. - -:line - -For the {equal} and {vector} and {atom} styles, a single string is -specified which represents a formula that will be evaluated afresh -each time the variable is used. If you want spaces in the string, -enclose it in double quotes so the parser will treat it as a single -argument. For {equal}-style variables the formula computes a scalar -quantity, which becomes the value of the variable whenever it is -evaluated. For {vector}-style variables the formula must compute a -vector of quantities, which becomes the value of the variable whenever -it is evaluated. The calculated vector can be on length one, but it -cannot be a simple scalar value like that produced by an equal-style -compute. I.e. the formula for a vector-style variable must have at -least one quantity in it that refers to a global vector produced by a -compute, fix, or other vector-style variable. For {atom}-style -variables the formula computes one quantity for each atom whenever it -is evaluated. - -Note that {equal}, {vector}, and {atom} variables can produce -different values at different stages of the input script or at -different times during a run. For example, if an {equal} variable is -used in a "fix print"_fix_print.html command, different values could -be printed each timestep it was invoked. If you want a variable to be -evaluated immediately, so that the result is stored by the variable -instead of the string, see the section below on "Immediate Evaluation -of Variables". - -The next command cannot be used with {equal} or {vector} or {atom} -style variables, since there is only one string. - -The formula for an {equal}, {vector}, or {atom} variable can contain a -variety of quantities. The syntax for each kind of quantity is -simple, but multiple quantities can be nested and combined in various -ways to build up formulas of arbitrary complexity. For example, this -is a valid (though strange) variable formula: - -variable x equal "pe + c_MyTemp / vol^(1/3)" :pre - -Specifically, a formula can contain numbers, constants, thermo -keywords, math operators, math functions, group functions, region -functions, atom values, atom vectors, compute references, fix -references, and references to other variables. - -Number: 0.2, 100, 1.0e20, -15.4, etc -Constant: PI, version, on, off, true, false, yes, no -Thermo keywords: vol, pe, ebond, etc -Math operators: (), -x, x+y, x-y, x*y, x/y, x^y, x%y, \ - x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x || y, x |^ y, !x -Math functions: sqrt(x), exp(x), ln(x), log(x), abs(x), \ - sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), \ - random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), \ - ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), \ - logfreq3(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), \ - vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z) -Group functions: count(ID), mass(ID), charge(ID), xcm(ID,dim), \ - vcm(ID,dim), fcm(ID,dim), bound(ID,dir), \ - gyration(ID), ke(ID), angmom(ID,dim), torque(ID,dim), \ - inertia(ID,dimdim), omega(ID,dim) -Region functions: count(ID,IDR), mass(ID,IDR), charge(ID,IDR), \ - xcm(ID,dim,IDR), vcm(ID,dim,IDR), fcm(ID,dim,IDR), \ - bound(ID,dir,IDR), gyration(ID,IDR), ke(ID,IDR), \ - angmom(ID,dim,IDR), torque(ID,dim,IDR), \ - inertia(ID,dimdim,IDR), omega(ID,dim,IDR) -Special functions: sum(x), min(x), max(x), ave(x), trap(x), \ - slope(x), gmask(x), rmask(x), grmask(x,y), next(x) -Atom values: id\[i\], mass\[i\], type\[i\], mol\[i\], x\[i\], y\[i\], z\[i\], \ - vx\[i\], vy\[i\], vz\[i\], fx\[i\], fy\[i\], fz\[i\], q\[i\] -Atom vectors: id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q -Compute references: c_ID, c_ID\[i\], c_ID\[i\]\[j\], C_ID, C_ID\[i\] -Fix references: f_ID, f_ID\[i\], f_ID\[i\]\[j\], F_ID, F_ID\[i\] -Other variables: v_name, v_name\[i\] :tb(s=:) - -Most of the formula elements produce a scalar value. Some produce a -global or per-atom vector of values. Global vectors can be produced -by computes or fixes or by other vector-style variables. Per-atom -vectors are produced by atom vectors, compute references that -represent a per-atom vector, fix references that represent a per-atom -vector, and variables that are atom-style variables. Math functions -that operate on scalar values produce a scalar value; math function -that operate on global or per-atom vectors do so element-by-element -and produce a global or per-atom vector. - -A formula for equal-style variables cannot use any formula element -that produces a global or per-atom vector. A formula for a -vector-style variable can use formula elements that produce either a -scalar value or a global vector value, but cannot use a formula -element that produces a per-atom vector. A formula for an atom-style -variable can use formula elements that produce either a scalar value -or a per-atom vector, but not one that produces a global vector. -Atom-style variables are evaluated by other commands that define a -"group"_group.html on which they operate, e.g. a "dump"_dump.html or -"compute"_compute.html or "fix"_fix.html command. When they invoke -the atom-style variable, only atoms in the group are included in the -formula evaluation. The variable evaluates to 0.0 for atoms not in -the group. - -:line - -Numbers, constants, and thermo keywords :h4 - -Numbers can contain digits, scientific notation -(3.0e20,3.0e-20,3.0E20,3.0E-20), and leading minus signs. - -Constants are set at compile time and cannot be changed. {PI} will -return the number 3.14159265358979323846; {on}, {true} or {yes} will -return 1.0; {off}, {false} or {no} will return 0.0; {version} will -return a numeric version code of the current LAMMPS version (e.g. -version 2 Sep 2015 will return the number 20150902). The corresponding -value for newer versions of LAMMPS will be larger, for older versions -of LAMMPS will be smaller. This can be used to have input scripts -adapt automatically to LAMMPS versions, when non-backwards compatible -syntax changes are introduced. Here is an illustrative example (which -will not work, since the {version} has been introduced more recently): - -if $(version<20140513) then "communicate vel yes" else "comm_modify vel yes" :pre - -The thermo keywords allowed in a formula are those defined by the -"thermo_style custom"_thermo_style.html command. Thermo keywords that -require a "compute"_compute.html to calculate their values such as -"temp" or "press", use computes stored and invoked by the -"thermo_style"_thermo_style.html command. This means that you can -only use those keywords in a variable if the style you are using with -the thermo_style command (and the thermo keywords associated with that -style) also define and use the needed compute. Note that some thermo -keywords use a compute indirectly to calculate their value (e.g. the -enthalpy keyword uses temp, pe, and pressure). If a variable is -evaluated directly in an input script (not during a run), then the -values accessed by the thermo keyword must be current. See the -discussion below about "Variable Accuracy". - -:line - -Math Operators :h4 - -Math operators are written in the usual way, where the "x" and "y" in -the examples can themselves be arbitrarily complex formulas, as in the -examples above. In this syntax, "x" and "y" can be scalar values or -per-atom vectors. For example, "ke/natoms" is the division of two -scalars, where "vy+vz" is the element-by-element sum of two per-atom -vectors of y and z velocities. - -Operators are evaluated left to right and have the usual C-style -precedence: unary minus and unary logical NOT operator "!" have the -highest precedence, exponentiation "^" is next; multiplication and -division and the modulo operator "%" are next; addition and -subtraction are next; the 4 relational operators "<", "<=", ">", and -">=" are next; the two remaining relational operators "==" and "!=" -are next; then the logical AND operator "&&"; and finally the logical -OR operator "||" and logical XOR (exclusive or) operator "|^" have the -lowest precedence. Parenthesis can be used to group one or more -portions of a formula and/or enforce a different order of evaluation -than what would occur with the default precedence. - -NOTE: Because a unary minus is higher precedence than exponentiation, -the formula "-2^2" will evaluate to 4, not -4. This convention is -compatible with some programming languages, but not others. As -mentioned, this behavior can be easily overridden with parenthesis; -the formula "-(2^2)" will evaluate to -4. - -The 6 relational operators return either a 1.0 or 0.0 depending on -whether the relationship between x and y is TRUE or FALSE. For -example the expression x<10.0 in an atom-style variable formula will -return 1.0 for all atoms whose x-coordinate is less than 10.0, and 0.0 -for the others. The logical AND operator will return 1.0 if both its -arguments are non-zero, else it returns 0.0. The logical OR operator -will return 1.0 if either of its arguments is non-zero, else it -returns 0.0. The logical XOR operator will return 1.0 if one of its -arguments is zero and the other non-zero, else it returns 0.0. The -logical NOT operator returns 1.0 if its argument is 0.0, else it -returns 0.0. - -These relational and logical operators can be used as a masking or -selection operation in a formula. For example, the number of atoms -whose properties satisfy one or more criteria could be calculated by -taking the returned per-atom vector of ones and zeroes and passing it -to the "compute reduce"_compute_reduce.html command. - -:line - -Math Functions :h4 - -Math functions are specified as keywords followed by one or more -parenthesized arguments "x", "y", "z", each of which can themselves be -arbitrarily complex formulas. In this syntax, the arguments can -represent scalar values or global vectors or per-atom vectors. In the -latter case, the math operation is performed on each element of the -vector. For example, "sqrt(natoms)" is the sqrt() of a scalar, where -"sqrt(y*z)" yields a per-atom vector with each element being the -sqrt() of the product of one atom's y and z coordinates. - -Most of the math functions perform obvious operations. The ln() is -the natural log; log() is the base 10 log. - -The random(x,y,z) function takes 3 arguments: x = lo, y = hi, and z = -seed. It generates a uniform random number between lo and hi. The -normal(x,y,z) function also takes 3 arguments: x = mu, y = sigma, and -z = seed. It generates a Gaussian variate centered on mu with -variance sigma^2. In both cases the seed is used the first time the -internal random number generator is invoked, to initialize it. For -equal-style and vector-style variables, every processor uses the same -seed so that they each generate the same sequence of random numbers. -For atom-style variables, a unique seed is created for each processor, -based on the specified seed. This effectively generates a different -random number for each atom being looped over in the atom-style -variable. - -NOTE: Internally, there is just one random number generator for all -equal-style and vector-style variables and another one for all -atom-style variables. If you define multiple variables (of each -style) which use the random() or normal() math functions, then the -internal random number generators will only be initialized once, which -means only one of the specified seeds will determine the sequence of -generated random numbers. - -The ceil(), floor(), and round() functions are those in the C math -library. Ceil() is the smallest integer not less than its argument. -Floor() if the largest integer not greater than its argument. Round() -is the nearest integer to its argument. - -The ramp(x,y) function uses the current timestep to generate a value -linearly interpolated between the specified x,y values over the course -of a run, according to this formula: - -value = x + (y-x) * (timestep-startstep) / (stopstep-startstep) :pre - -The run begins on startstep and ends on stopstep. Startstep and -stopstep can span multiple runs, using the {start} and {stop} keywords -of the "run"_run.html command. See the "run"_run.html command for -details of how to do this. - -The stagger(x,y) function uses the current timestep to generate a new -timestep. X,y > 0 and x > y are required. The generated timesteps -increase in a staggered fashion, as the sequence -x,x+y,2x,2x+y,3x,3x+y,etc. For any current timestep, the next -timestep in the sequence is returned. Thus if stagger(1000,100) is -used in a variable by the "dump_modify every"_dump_modify.html -command, it will generate the sequence of output timesteps: - -100,1000,1100,2000,2100,3000,etc :pre - -The logfreq(x,y,z) function uses the current timestep to generate a -new timestep. X,y,z > 0 and y < z are required. The generated -timesteps are on a base-z logarithmic scale, starting with x, and the -y value is how many of the z-1 possible timesteps within one -logarithmic interval are generated. I.e. the timesteps follow the -sequence x,2x,3x,...y*x,x*z,2x*z,3x*z,...y*x*z,x*z^2,2x*z^2,etc. For -any current timestep, the next timestep in the sequence is returned. -Thus if logfreq(100,4,10) is used in a variable by the "dump_modify -every"_dump_modify.html command, it will generate this sequence of -output timesteps: - -100,200,300,400,1000,2000,3000,4000,10000,20000,etc :pre - -The logfreq2(x,y,z) function is similar to logfreq, except a single -logarithmic interval is divided into y equally-spaced timesteps and -all of them are output. Y < z is not required. Thus, if -logfreq2(100,18,10) is used in a variable by the "dump_modify -every"_dump_modify.html command, then the interval between 100 and -1000 is divided as 900/18 = 50 steps, and it will generate the -sequence of output timesteps: - -100,150,200,...950,1000,1500,2000,...9500,10000,15000,etc :pre - -The logfreq3(x,y,z) function generates y points between x and z (inclusive), -that are separated by a multiplicative ratio: (z/x)^(1/(y-1)). Constraints -are: x,z > 0, y > 1, z-x >= y-1. For eg., if logfreq3(10,25,1000) is used in -a variable by the "fix print"_fix_print.html command, then the interval -between 10 and 1000 is divided into 24 parts with a multiplicative -separation of ~1.21, and it will generate the following sequence of output -timesteps: - -10, 13, 15, 18, 22, 27, 32,...384, 465, 563, 682, 826, 1000 :pre - -The stride(x,y,z) function uses the current timestep to generate a new -timestep. X,y >= 0 and z > 0 and x <= y are required. The generated -timesteps increase in increments of z, from x to y, i.e. it generates -the sequence x,x+z,x+2z,...,y. If y-x is not a multiple of z, then -similar to the way a for loop operates, the last value will be one -that does not exceed y. For any current timestep, the next timestep -in the sequence is returned. Thus if stride(1000,2000,100) is used -in a variable by the "dump_modify every"_dump_modify.html command, it -will generate the sequence of output timesteps: - -1000,1100,1200, ... ,1900,2000 :pre - -The stride2(x,y,z,a,b,c) function is similar to the stride() function -except it generates two sets of strided timesteps, one at a coarser -level and one at a finer level. Thus it is useful for debugging, -e.g. to produce output every timestep at the point in simulation when -a problem occurs. X,y >= 0 and z > 0 and x <= y are required, as are -a,b >= 0 and c > 0 and a < b. Also, a >= x and b <= y are required so -that the second stride is inside the first. The generated timesteps -increase in increments of z, starting at x, until a is reached. At -that point the timestep increases in increments of c, from a to b, -then after b, increments by z are resumed until y is reached. For any -current timestep, the next timestep in the sequence is returned. Thus -if stride2(1000,2000,100,1350,1360,1) is used in a variable by the -"dump_modify every"_dump_modify.html command, it will generate the -sequence of output timesteps: - -1000,1100,1200,1300,1350,1351,1352, ... 1359,1360,1400,1500, ... ,2000 :pre - -The vdisplace(x,y) function takes 2 arguments: x = value0 and y = -velocity, and uses the elapsed time to change the value by a linear -displacement due to the applied velocity over the course of a run, -according to this formula: - -value = value0 + velocity*(timestep-startstep)*dt :pre - -where dt = the timestep size. - -The run begins on startstep. Startstep can span multiple runs, using -the {start} keyword of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. Note that the -"thermo_style"_thermo_style.html keyword elaplong = -timestep-startstep. - -The swiggle(x,y,z) and cwiggle(x,y,z) functions each take 3 arguments: -x = value0, y = amplitude, z = period. They use the elapsed time to -oscillate the value by a sin() or cos() function over the course of a -run, according to one of these formulas, where omega = 2 PI / period: - -value = value0 + Amplitude * sin(omega*(timestep-startstep)*dt) -value = value0 + Amplitude * (1 - cos(omega*(timestep-startstep)*dt)) :pre - -where dt = the timestep size. - -The run begins on startstep. Startstep can span multiple runs, using -the {start} keyword of the "run"_run.html command. See the -"run"_run.html command for details of how to do this. Note that the -"thermo_style"_thermo_style.html keyword elaplong = -timestep-startstep. - -:line - -Group and Region Functions :h4 - -Group functions are specified as keywords followed by one or two -parenthesized arguments. The first argument {ID} is the group-ID. -The {dim} argument, if it exists, is {x} or {y} or {z}. The {dir} -argument, if it exists, is {xmin}, {xmax}, {ymin}, {ymax}, {zmin}, or -{zmax}. The {dimdim} argument, if it exists, is {xx} or {yy} or {zz} -or {xy} or {yz} or {xz}. - -The group function count() is the number of atoms in the group. The -group functions mass() and charge() are the total mass and charge of -the group. Xcm() and vcm() return components of the position and -velocity of the center of mass of the group. Fcm() returns a -component of the total force on the group of atoms. Bound() returns -the min/max of a particular coordinate for all atoms in the group. -Gyration() computes the radius-of-gyration of the group of atoms. See -the "compute gyration"_compute_gyration.html command for a definition -of the formula. Angmom() returns components of the angular momentum -of the group of atoms around its center of mass. Torque() returns -components of the torque on the group of atoms around its center of -mass, based on current forces on the atoms. Inertia() returns one of -6 components of the symmetric inertia tensor of the group of atoms -around its center of mass, ordered as Ixx,Iyy,Izz,Ixy,Iyz,Ixz. -Omega() returns components of the angular velocity of the group of -atoms around its center of mass. - -Region functions are specified exactly the same way as group functions -except they take an extra final argument {IDR} which is the region ID. -The function is computed for all atoms that are in both the group and -the region. If the group is "all", then the only criteria for atom -inclusion is that it be in the region. - -:line - -Special Functions :h4 - -Special functions take specific kinds of arguments, meaning their -arguments cannot be formulas themselves. - -The sum(x), min(x), max(x), ave(x), trap(x), and slope(x) functions -each take 1 argument which is of the form "c_ID" or "c_ID\[N\]" or -"f_ID" or "f_ID\[N\]" or "v_name". The first two are computes and the -second two are fixes; the ID in the reference should be replaced by -the ID of a compute or fix defined elsewhere in the input script. The -compute or fix must produce either a global vector or array. If it -produces a global vector, then the notation without "\[N\]" should be -used. If it produces a global array, then the notation with "\[N\]" -should be used, when N is an integer, to specify which column of the -global array is being referenced. The last form of argument "v_name" -is for a vector-style variable where "name" is replaced by the name of -the variable. - -These functions operate on a global vector of inputs and reduce it to -a single scalar value. This is analogous to the operation of the -"compute reduce"_compute_reduce.html command, which performs similar -operations on per-atom and local vectors. - -The sum() function calculates the sum of all the vector elements. The -min() and max() functions find the minimum and maximum element -respectively. The ave() function is the same as sum() except that it -divides the result by the length of the vector. - -The trap() function is the same as sum() except the first and last -elements are multiplied by a weighting factor of 1/2 when performing -the sum. This effectively implements an integration via the -trapezoidal rule on the global vector of data. I.e. consider a set of -points, equally spaced by 1 in their x coordinate: (1,V1), (2,V2), -..., (N,VN), where the Vi are the values in the global vector of -length N. The integral from 1 to N of these points is trap(). When -appropriately normalized by the timestep size, this function is useful -for calculating integrals of time-series data, like that generated by -the "fix ave/correlate"_fix_ave_correlate.html command. - -The slope() function uses linear regression to fit a line to the set -of points, equally spaced by 1 in their x coordinate: (1,V1), (2,V2), -..., (N,VN), where the Vi are the values in the global vector of -length N. The returned value is the slope of the line. If the line -has a single point or is vertical, it returns 1.0e20. - -The gmask(x) function takes 1 argument which is a group ID. It -can only be used in atom-style variables. It returns a 1 for -atoms that are in the group, and a 0 for atoms that are not. - -The rmask(x) function takes 1 argument which is a region ID. It can -only be used in atom-style variables. It returns a 1 for atoms that -are in the geometric region, and a 0 for atoms that are not. - -The grmask(x,y) function takes 2 arguments. The first is a group ID, -and the second is a region ID. It can only be used in atom-style -variables. It returns a 1 for atoms that are in both the group and -region, and a 0 for atoms that are not in both. - -The next(x) function takes 1 argument which is a variable ID (not -"v_foo", just "foo"). It must be for a file-style or atomfile-style -variable. Each time the next() function is invoked (i.e. each time -the equal-style or atom-style variable is evaluated), the following -steps occur. - -For file-style variables, the current string value stored by the -file-style variable is converted to a numeric value and returned by -the function. And the next string value in the file is read and -stored. Note that if the line previously read from the file was not a -numeric string, then it will typically evaluate to 0.0, which is -likely not what you want. - -For atomfile-style variables, the current per-atom values stored by -the atomfile-style variable are returned by the function. And the -next set of per-atom values in the file is read and stored. - -Since file-style and atomfile-style variables read and store the first -line of the file or first set of per-atoms values when they are -defined in the input script, these are the value(s) that will be -returned the first time the next() function is invoked. If next() is -invoked more times than there are lines or sets of lines in the file, -the variable is deleted, similar to how the "next"_next.html command -operates. - -:line - -Feature Functions :h4 - -Feature functions allow to probe the running LAMMPS executable for -whether specific features are either active, defined, or available. -The functions take two arguments, a {category} and a corresponding -{argument}. The arguments are strings thus cannot be formulas -themselves (only $-style immediate variable expansion is possible). -Return value is either 1.0 or 0.0 depending on whether the function -evaluates to true or false, respectively. - -The {is_active()} function allows to query for active settings which -are grouped by categories. Currently supported categories and -arguments are: - -{package} (argument = {gpu} or {intel} or {kokkos} or {omp}) -{newton} (argument = {pair} or {bond} or {any}) -{pair} (argument = {single} or {respa} or {manybody} or {tail} or {shift}) -{comm_style} (argument = {brick} or {tiled}) -{min_style} (argument = any of the compiled in minimizer styles) -{run_style} (argument = any of the compiled in run styles) -{atom_style} (argument = any of the compiled in atom styles) -{pair_style} (argument = any of the compiled in pair styles) -{bond_style} (argument = any of the compiled in bond styles) -{angle_style} (argument = any of the compiled in angle styles) -{dihedral_style} (argument = any of the compiled in dihedral styles) -{improper_style} (argument = any of the compiled in improper styles) -{kspace_style} (argument = any of the compiled in kspace styles) :ul - -Most of the settings are self-explanatory, the {single} argument in the -{pair} category allows to check whether a pair style supports a -Pair::single() function as needed by compute group/group and others -features or LAMMPS, {respa} allows to check whether the inner/middle/outer -mode of r-RESPA is supported. In the various style categories, -the checking is also done using suffix flags, if available and enabled. - -Example 1: disable use of suffix for pppm when using GPU package (i.e. run it on the CPU concurrently to running the pair style on the GPU), but do use the suffix otherwise (e.g. with USER-OMP). - -pair_style lj/cut/coul/long 14.0 -if $(is_active(package,gpu)) then "suffix off" -kspace_style pppm :pre - -Example 2: use r-RESPA with inner/outer cutoff, if supported by pair style, otherwise fall back to using pair and reducing the outer time step - -timestep $(2.0*(1.0+2.0*is_active(pair,respa)) -if $(is_active(pair,respa)) then "run_style respa 4 3 2 2 improper 1 inner 2 5.5 7.0 outer 3 kspace 4" else "run_style respa 3 3 2 improper 1 pair 2 kspace 3" :pre - -The {is_defined()} function allows to query categories like {compute}, -{dump}, {fix}, {group}, {region}, and {variable} whether an entry -with the provided name or id is defined. - -The {is_available(category,name)} function allows to query whether -a specific optional feature is available, i.e. compiled in. -This currently works for the following categories: {command}, -{compute}, {fix}, {pair_style} and {feature}. For all categories -except {command} and {feature} also appending active suffixes is -tried before reporting failure. - -The {feature} category is used to check the availability of compiled in -features such as GZIP support, PNG support, JPEG support, FFMPEG support, -and C++ exceptions for error handling. Corresponding values for name are -{gzip}, {png}, {jpeg}, {ffmpeg} and {exceptions}. - -This enables writing input scripts which only dump using a given format if -the compiled binary supports it. - -if "$(is_available(feature,png))" then "print 'PNG supported'" else "print 'PNG not supported'" :pre - -if "$(is_available(feature,ffmpeg)" then "dump 3 all movie 25 movie.mp4 type type zoom 1.6 adiam 1.0" :pre - - -:line - -Atom Values and Vectors :h4 - -Atom values take an integer argument I from 1 to N, where I is the -atom-ID, e.g. x\[243\], which means use the x coordinate of the atom -with ID = 243. Or they can take a variable name, specified as v_name, -where name is the name of the variable, like x\[v_myIndex\]. The -variable can be of any style except {vector} or {atom} or {atomfile} -variables. The variable is evaluated and the result is expected to be -numeric and is cast to an integer (i.e. 3.4 becomes 3), to use an -index, which must be a value from 1 to N. Note that a "formula" -cannot be used as the argument between the brackets, e.g. x\[243+10\] -or x\[v_myIndex+1\] are not allowed. To do this a single variable can -be defined that contains the needed formula. - -Note that the 0 < atom-ID <= N, where N is the largest atom ID -in the system. If an ID is specified for an atom that does not -currently exist, then the generated value is 0.0. - -Atom vectors generate one value per atom, so that a reference like -"vx" means the x-component of each atom's velocity will be used when -evaluating the variable. - -The meaning of the different atom values and vectors is mostly -self-explanatory. {Mol} refers to the molecule ID of an atom, and is -only defined if an "atom_style"_atom_style.html is being used that -defines molecule IDs. - -Note that many other atom attributes can be used as inputs to a -variable by using the "compute -property/atom"_compute_property_atom.html command and then specifying -a quantity from that compute. - -:line - -Compute References :h4 - -Compute references access quantities calculated by a -"compute"_compute.html. The ID in the reference should be replaced by -the ID of a compute defined elsewhere in the input script. As -discussed in the doc page for the "compute"_compute.html command, -computes can produce global, per-atom, or local values. Only global -and per-atom values can be used in a variable. Computes can also -produce a scalar, vector, or array. - -An equal-style variable can only use scalar values, which means a -global scalar, or an element of a global or per-atom vector or array. -A vector-style variable can use scalar values or a global vector of -values, or a column of a global array of values. Atom-style variables -can use global scalar values. They can also use per-atom vector -values, or a column of a per-atom array. See the doc pages for -individual computes to see what kind of values they produce. - -Examples of different kinds of compute references are as follows. -There is typically no ambiguity (see exception below) as to what a -reference means, since computes only produce either global or per-atom -quantities, never both. - -c_ID: global scalar, or per-atom vector -c_ID\[I\]: Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array -c_ID\[I\]\[J\]: I,J element of global array, or atom I's Jth value in per-atom array :tb(s=:) - -For I and J indices, integers can be specified or a variable name, -specified as v_name, where name is the name of the variable. The -rules for this syntax are the same as for the "Atom Values and -Vectors" discussion above. - -One source of ambiguity for compute references is when a vector-style -variable refers to a compute that produces both a global scalar and a -global vector. Consider a compute with ID "foo" that does this, -referenced as follows by variable "a", where "myVec" is another -vector-style variable: - -variable a vector c_foo*v_myVec :pre - -The reference "c_foo" could refer to either the global scalar or -global vector produced by compute "foo". In this case, "c_foo" will -always refer to the global scalar, and "C_foo" can be used to -reference the global vector. Similarly if the compute produces both a -global vector and global array, then "c_foo\[I\]" will always refer to -an element of the global vector, and "C_foo\[I\]" can be used to -reference the Ith column of the global array. - -Note that if a variable containing a compute is evaluated directly in -an input script (not during a run), then the values accessed by the -compute must be current. See the discussion below about "Variable -Accuracy". - -:line - -Fix References :h4 - -Fix references access quantities calculated by a "fix"_compute.html. -The ID in the reference should be replaced by the ID of a fix defined -elsewhere in the input script. As discussed in the doc page for the -"fix"_fix.html command, fixes can produce global, per-atom, or local -values. Only global and per-atom values can be used in a variable. -Fixes can also produce a scalar, vector, or array. An equal-style -variable can only use scalar values, which means a global scalar, or -an element of a global or per-atom vector or array. Atom-style -variables can use the same scalar values. They can also use per-atom -vector values. A vector value can be a per-atom vector itself, or a -column of an per-atom array. See the doc pages for individual fixes -to see what kind of values they produce. - -The different kinds of fix references are exactly the same as the -compute references listed in the above table, where "c_" is replaced -by "f_". Again, there is typically no ambiguity (see exception below) -as to what a reference means, since fixes only produce either global -or per-atom quantities, never both. - -f_ID: global scalar, or per-atom vector -f_ID\[I\]: Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array -f_ID\[I\]\[J\]: I,J element of global array, or atom I's Jth value in per-atom array :tb(s=:) - -For I and J indices, integers can be specified or a variable name, -specified as v_name, where name is the name of the variable. The -rules for this syntax are the same as for the "Atom Values and -Vectors" discussion above. - -One source of ambiguity for fix references is the same ambiguity -discussed for compute references above. Namely when a vector-style -variable refers to a fix that produces both a global scalar and a -global vector. The solution is the same as for compute references. -For a fix with ID "foo", "f_foo" will always refer to the global -scalar, and "F_foo" can be used to reference the global vector. And -similarly for distinguishing between a fix's global vector versus -global array with "f_foo\[I\]" versus "F_foo\[I\]". - -Note that if a variable containing a fix is evaluated directly in an -input script (not during a run), then the values accessed by the fix -should be current. See the discussion below about "Variable -Accuracy". - -Note that some fixes only generate quantities on certain timesteps. -If a variable attempts to access the fix on non-allowed timesteps, an -error is generated. For example, the "fix ave/time"_fix_ave_time.html -command may only generate averaged quantities every 100 steps. See -the doc pages for individual fix commands for details. - -:line - -Variable References :h4 - -Variable references access quantities stored or calculated by other -variables, which will cause those variables to be evaluated. The name -in the reference should be replaced by the name of a variable defined -elsewhere in the input script. - -As discussed on this doc page, equal-style variables generate a single -global numeric value, vector-style variables generate a vector of -global numeric values, and atom-style and atomfile-style variables -generate a per-atom vector of numeric values. All other variables -store one or more strings. - -The formula for an equal-style variable can use any style of variable -including a vector_style or atom-style or atomfile-style. For these -3 styles, a subscript must be used to access a single value from -the vector-, atom-, or atomfile-style variable. If a string-storing -variable is used, the string is converted to a numeric value. Note -that this will typically produce a 0.0 if the string is not a numeric -string, which is likely not what you want. - -The formula for a vector-style variable can use any style of variable, -including atom-style or atomfile-style variables. For these 2 styles, -a subscript must be used to access a single value from the atom-, or -atomfile-style variable. - -The formula for an atom-style variable can use any style of variable, -including other atom-style or atomfile-style variables. If it uses a -vector-style variable, a subscript must be used to access a single -value from the vector-style variable. - -Examples of different kinds of variable references are as follows. -There is no ambiguity as to what a reference means, since variables -produce only a global scalar or global vector or per-atom vector. - -v_name: global scalar from equal-style variable -v_name: global vector from vector-style variable -v_name: per-atom vector from atom-style or atomfile-style variable -v_name\[I\]: Ith element of a global vector from vector-style variable -v_name\[I\]: value of atom with ID = I from atom-style or atomfile-style variable :tb(s=:) - -For the I index, an integer can be specified or a variable name, -specified as v_name, where name is the name of the variable. The -rules for this syntax are the same as for the "Atom Values and -Vectors" discussion above. - -:line - -[Immediate Evaluation of Variables:] - -If you want an equal-style variable to be evaluated immediately, it -may be the case that you do not need to define a variable at all. See -the "Commands parse"_Commands_parse.html doc page for info on how to -use "immediate" variables in an input script, specified as $(formula) -with parenthesis, where the formula has the same syntax as equal-style -variables described on this page. This effectively evaluates a -formula immediately without using the variable command to define a -named variable. - -More generally, there is a difference between referencing a variable -with a leading $ sign (e.g. $x or $\{abc\}) versus with a leading "v_" -(e.g. v_x or v_abc). The former can be used in any input script -command, including a variable command. The input script parser -evaluates the reference variable immediately and substitutes its value -into the command. As explained on the "Commands -parse"_Commands_parse.html doc page, you can also use un-named -"immediate" variables for this purpose. For example, a string like -this $((xlo+xhi)/2+sqrt(v_area)) in an input script command evaluates -the string between the parenthesis as an equal-style variable formula. - -Referencing a variable with a leading "v_" is an optional or required -kind of argument for some commands (e.g. the "fix -ave/chunk"_fix_ave_chunk.html or "dump custom"_dump.html or -"thermo_style"_thermo_style.html commands) if you wish it to evaluate -a variable periodically during a run. It can also be used in a -variable formula if you wish to reference a second variable. The -second variable will be evaluated whenever the first variable is -evaluated. - -As an example, suppose you use this command in your input script to -define the variable "v" as - -variable v equal vol :pre - -before a run where the simulation box size changes. You might think -this will assign the initial volume to the variable "v". That is not -the case. Rather it assigns a formula which evaluates the volume -(using the thermo_style keyword "vol") to the variable "v". If you -use the variable "v" in some other command like "fix -ave/time"_fix_ave_time.html then the current volume of the box will be -evaluated continuously during the run. - -If you want to store the initial volume of the system, you can do it -this way: - -variable v equal vol -variable v0 equal $v :pre - -The second command will force "v" to be evaluated (yielding the -initial volume) and assign that value to the variable "v0". Thus the -command - -thermo_style custom step v_v v_v0 :pre - -would print out both the current and initial volume periodically -during the run. - -Note that it is a mistake to enclose a variable formula in double -quotes if it contains variables preceded by $ signs. For example, - -variable vratio equal "$\{vfinal\}/$\{v0\}" :pre - -This is because the quotes prevent variable substitution (explained on -the "Commands parse"_Commands_parse.html doc page), and thus an error -will occur when the formula for "vratio" is evaluated later. - -:line - -[Variable Accuracy:] - -Obviously, LAMMPS attempts to evaluate variables containing formulas -({equal} and {atom} style variables) accurately whenever the -evaluation is performed. Depending on what is included in the -formula, this may require invoking a "compute"_compute.html, either -directly or indirectly via a thermo keyword, or accessing a value -previously calculated by a compute, or accessing a value calculated -and stored by a "fix"_fix.html. If the compute is one that calculates -the pressure or energy of the system, then these quantities need to be -tallied during the evaluation of the interatomic potentials (pair, -bond, etc) on timesteps that the variable will need the values. - -LAMMPS keeps track of all of this during a "run"_run.html or "energy -minimization"_minimize.html. An error will be generated if you -attempt to evaluate a variable on timesteps when it cannot produce -accurate values. For example, if a "thermo_style -custom"_thermo_style.html command prints a variable which accesses -values stored by a "fix ave/time"_fix_ave_time.html command and the -timesteps on which thermo output is generated are not multiples of the -averaging frequency used in the fix command, then an error will occur. - -An input script can also request variables be evaluated before or -after or in between runs, e.g. by including them in a -"print"_print.html command. In this case, if a compute is needed to -evaluate a variable (either directly or indirectly), LAMMPS will not -invoke the compute, but it will use a value previously calculated by -the compute, and can do this only if it was invoked on the current -timestep. Fixes will always provide a quantity needed by a variable, -but the quantity may or may not be current. This leads to one of -three kinds of behavior: - -(1) The variable may be evaluated accurately. If it contains -references to a compute or fix, and these values were calculated on -the last timestep of a preceding run, then they will be accessed and -used by the variable and the result will be accurate. - -(2) LAMMPS may not be able to evaluate the variable and will generate -an error message stating so. For example, if the variable requires a -quantity from a "compute"_compute.html that has not been invoked on -the current timestep, LAMMPS will generate an error. This means, for -example, that such a variable cannot be evaluated before the first run -has occurred. Likewise, in between runs, a variable containing a -compute cannot be evaluated unless the compute was invoked on the last -timestep of the preceding run, e.g. by thermodynamic output. - -One way to get around this problem is to perform a 0-timestep run -before using the variable. For example, these commands - -variable t equal temp -print "Initial temperature = $t" -run 1000 :pre - -will generate an error if the run is the first run specified in the -input script, because generating a value for the "t" variable requires -a compute for calculating the temperature to be invoked. - -However, this sequence of commands would be fine: - -run 0 -variable t equal temp -print "Initial temperature = $t" -run 1000 :pre - -The 0-timestep run initializes and invokes various computes, including -the one for temperature, so that the value it stores is current and -can be accessed by the variable "t" after the run has completed. Note -that a 0-timestep run does not alter the state of the system, so it -does not change the input state for the 1000-timestep run that -follows. Also note that the 0-timestep run must actually use and -invoke the compute in question (e.g. via "thermo"_thermo_style.html or -"dump"_dump.html output) in order for it to enable the compute to be -used in a variable after the run. Thus if you are trying to print a -variable that uses a compute you have defined, you can insure it is -invoked on the last timestep of the preceding run by including it in -thermodynamic output. - -Unlike computes, "fixes"_fix.html will never generate an error if -their values are accessed by a variable in between runs. They always -return some value to the variable. However, the value may not be what -you expect if the fix has not yet calculated the quantity of interest -or it is not current. For example, the "fix indent"_fix_indent.html -command stores the force on the indenter. But this is not computed -until a run is performed. Thus if a variable attempts to print this -value before the first run, zeroes will be output. Again, performing -a 0-timestep run before printing the variable has the desired effect. - -(3) The variable may be evaluated incorrectly and LAMMPS may have no -way to detect this has occurred. Consider the following sequence of -commands: - -pair_coeff 1 1 1.0 1.0 -run 1000 -pair_coeff 1 1 1.5 1.0 -variable e equal pe -print "Final potential energy = $e" :pre - -The first run is performed using one setting for the pairwise -potential defined by the "pair_style"_pair_style.html and -"pair_coeff"_pair_coeff.html commands. The potential energy is -evaluated on the final timestep and stored by the "compute -pe"_compute_pe.html compute (this is done by the -"thermo_style"_thermo_style.html command). Then a pair coefficient is -changed, altering the potential energy of the system. When the -potential energy is printed via the "e" variable, LAMMPS will use the -potential energy value stored by the "compute pe"_compute_pe.html -compute, thinking it is current. There are many other commands which -could alter the state of the system between runs, causing a variable -to evaluate incorrectly. - -The solution to this issue is the same as for case (2) above, namely -perform a 0-timestep run before the variable is evaluated to insure -the system is up-to-date. For example, this sequence of commands -would print a potential energy that reflected the changed pairwise -coefficient: - -pair_coeff 1 1 1.0 1.0 -run 1000 -pair_coeff 1 1 1.5 1.0 -run 0 -variable e equal pe -print "Final potential energy = $e" :pre - -:line - -[Restrictions:] - -Indexing any formula element by global atom ID, such as an atom value, -requires the "atom style"_atom_style.html to use a global mapping in -order to look up the vector indices. By default, only atom styles -with molecular information create global maps. The "atom_modify -map"_atom_modify.html command can override the default, e.g. for -atomic-style atom styles. - -All {universe}- and {uloop}-style variables defined in an input script -must have the same number of values. - -[Related commands:] - -"next"_next.html, "jump"_jump.html, "include"_include.html, -"temper"_temper.html, "fix print"_fix_print.html, "print"_print.html - -[Default:] none diff --git a/doc/txt/velocity.txt b/doc/txt/velocity.txt deleted file mode 100644 index 4bbbc5ad45a1c9a712229abd8b1f54541197f0ae..0000000000000000000000000000000000000000 --- a/doc/txt/velocity.txt +++ /dev/null @@ -1,259 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -velocity command :h3 - -[Syntax:] - -velocity group-ID style args keyword value ... :pre - -group-ID = ID of group of atoms whose velocity will be changed :ulb,l -style = {create} or {set} or {scale} or {ramp} or {zero} :l - {create} args = temp seed - temp = temperature value (temperature units) - seed = random # seed (positive integer) - {set} args = vx vy vz - vx,vy,vz = velocity value or NULL (velocity units) - any of vx,vy,vz van be a variable (see below) - {scale} arg = temp - temp = temperature value (temperature units) - {ramp} args = vdim vlo vhi dim clo chi - vdim = {vx} or {vy} or {vz} - vlo,vhi = lower and upper velocity value (velocity units) - dim = {x} or {y} or {z} - clo,chi = lower and upper coordinate bound (distance units) - {zero} arg = {linear} or {angular} - {linear} = zero the linear momentum - {angular} = zero the angular momentum :pre - -zero or more keyword/value pairs may be appended :l -keyword = {dist} or {sum} or {mom} or {rot} or {temp} or {bias} or {loop} or {units} :l - {dist} value = {uniform} or {gaussian} - {sum} value = {no} or {yes} - {mom} value = {no} or {yes} - {rot} value = {no} or {yes} - {temp} value = temperature compute ID - {bias} value = {no} or {yes} - {loop} value = {all} or {local} or {geom} - {rigid} value = fix-ID - fix-ID = ID of rigid body fix - {units} value = {box} or {lattice} :pre -:ule - -[Examples:] - -velocity all create 300.0 4928459 rot yes dist gaussian -velocity border set NULL 4.0 v_vz sum yes units box -velocity flow scale 300.0 -velocity flow ramp vx 0.0 5.0 y 5 25 temp mytemp -velocity all zero linear :pre - -[Description:] - -Set or change the velocities of a group of atoms in one of several -styles. For each style, there are required arguments and optional -keyword/value parameters. Not all options are used by each style. -Each option has a default as listed below. - -The {create} style generates an ensemble of velocities using a random -number generator with the specified seed at the specified temperature. - -The {set} style sets the velocities of all atoms in the group to the -specified values. If any component is specified as NULL, then it is -not set. Any of the vx,vy,vz velocity components can be specified as -an equal-style or atom-style "variable"_variable.html. If the value -is a variable, it should be specified as v_name, where name is the -variable name. In this case, the variable will be evaluated, and its -value used to determine the velocity component. Note that if a -variable is used, the velocity it calculates must be in box units, not -lattice units; see the discussion of the {units} keyword below. - -Equal-style variables can specify formulas with various mathematical -functions, and include "thermo_style"_thermo_style.html command -keywords for the simulation box parameters or other parameters. - -Atom-style variables can specify the same formulas as equal-style -variables but can also include per-atom values, such as atom -coordinates. Thus it is easy to specify a spatially-dependent -velocity field. - -The {scale} style computes the current temperature of the group of -atoms and then rescales the velocities to the specified temperature. - -The {ramp} style is similar to that used by the "compute -temp/ramp"_compute_temp_ramp.html command. Velocities ramped -uniformly from vlo to vhi are applied to dimension vx, or vy, or vz. -The value assigned to a particular atom depends on its relative -coordinate value (in dim) from clo to chi. For the example above, an -atom with y-coordinate of 10 (1/4 of the way from 5 to 25), would be -assigned a x-velocity of 1.25 (1/4 of the way from 0.0 to 5.0). Atoms -outside the coordinate bounds (less than 5 or greater than 25 in this -case), are assigned velocities equal to vlo or vhi (0.0 or 5.0 in this -case). - -The {zero} style adjusts the velocities of the group of atoms so that -the aggregate linear or angular momentum is zero. No other changes -are made to the velocities of the atoms. If the {rigid} option is -specified (see below), then the zeroing is performed on individual -rigid bodies, as defined by the "fix rigid or fix -rigid/small"_fix_rigid.html commands. In other words, zero linear -will set the linear momentum of each rigid body to zero, and zero -angular will set the angular momentum of each rigid body to zero. -This is done by adjusting the velocities of the atoms in each rigid -body. - -All temperatures specified in the velocity command are in temperature -units; see the "units"_units.html command. The units of velocities and -coordinates depend on whether the {units} keyword is set to {box} or -{lattice}, as discussed below. - -For all styles, no atoms are assigned z-component velocities if the -simulation is 2d; see the "dimension"_dimension.html command. - -:line - -The keyword/value options are used in the following ways by the -various styles. - -The {dist} keyword is used by {create}. The ensemble of generated -velocities can be a {uniform} distribution from some minimum to -maximum value, scaled to produce the requested temperature. Or it can -be a {gaussian} distribution with a mean of 0.0 and a sigma scaled to -produce the requested temperature. - -The {sum} keyword is used by all styles, except {zero}. The new -velocities will be added to the existing ones if sum = yes, or will -replace them if sum = no. - -The {mom} and {rot} keywords are used by {create}. If mom = yes, the -linear momentum of the newly created ensemble of velocities is zeroed; -if rot = yes, the angular momentum is zeroed. - -:line - -If specified, the {temp} keyword is used by {create} and {scale} to -specify a "compute"_compute.html that calculates temperature in a -desired way, e.g. by first subtracting out a velocity bias, as -discussed on the "Howto thermostat"_Howto_thermostat.html doc page. -If this keyword is not specified, {create} and {scale} calculate -temperature using a compute that is defined internally as follows: - -compute velocity_temp group-ID temp :pre - -where group-ID is the same ID used in the velocity command. i.e. the -group of atoms whose velocity is being altered. This compute is -deleted when the velocity command is finished. See the "compute -temp"_compute_temp.html command for details. If the calculated -temperature should have degrees-of-freedom removed due to fix -constraints (e.g. SHAKE or rigid-body constraints), then the -appropriate fix command must be specified before the velocity command -is issued. - -The {bias} keyword with a {yes} setting is used by {create} and -{scale}, but only if the {temp} keyword is also used to specify a -"compute"_compute.html that calculates temperature in a desired way. -If the temperature compute also calculates a velocity bias, the -bias is subtracted from atom velocities before the {create} and -{scale} operations are performed. After the operations, the bias is -added back to the atom velocities. See the "Howto -thermostat"_Howto_thermostat.html doc page for more discussion of -temperature computes with biases. Note that the velocity bias is only -applied to atoms in the temperature compute specified with the {temp} -keyword. - -As an example, assume atoms are currently streaming in a flow -direction (which could be separately initialized with the {ramp} -style), and you wish to initialize their thermal velocity to a desired -temperature. In this context thermal velocity means the per-particle -velocity that remains when the streaming velocity is subtracted. This -can be done using the {create} style with the {temp} keyword -specifying the ID of a "compute temp/ramp"_compute_temp_ramp.html or -"compute temp/profile"_compute_temp_profile.html command, and the -{bias} keyword set to a {yes} value. - -:line - -The {loop} keyword is used by {create} in the following ways. - -If loop = all, then each processor loops over all atoms in the -simulation to create velocities, but only stores velocities for atoms -it owns. This can be a slow loop for a large simulation. If atoms -were read from a data file, the velocity assigned to a particular atom -will be the same, independent of how many processors are being used. -This will not be the case if atoms were created using the -"create_atoms"_create_atoms.html command, since atom IDs will likely -be assigned to atoms differently. - -If loop = local, then each processor loops over only its atoms to -produce velocities. The random number seed is adjusted to give a -different set of velocities on each processor. This is a fast loop, -but the velocity assigned to a particular atom will depend on which -processor owns it. Thus the results will always be different when a -simulation is run on a different number of processors. - -If loop = geom, then each processor loops over only its atoms. For -each atom a unique random number seed is created, based on the atom's -xyz coordinates. A velocity is generated using that seed. This is a -fast loop and the velocity assigned to a particular atom will be the -same, independent of how many processors are used. However, the set -of generated velocities may be more correlated than if the {all} or -{local} keywords are used. - -Note that the {loop geom} keyword will not necessarily assign -identical velocities for two simulations run on different machines. -This is because the computations based on xyz coordinates are -sensitive to tiny differences in the double-precision value for a -coordinate as stored on a particular machine. - -:line - -The {rigid} keyword only has meaning when used with the {zero} style. -It allows specification of a fix-ID for one of the "rigid-body -fix"_fix_rigid.html variants which defines a set of rigid bodies. The -zeroing of linear or angular momentum is then performed for each rigid -body defined by the fix, as described above. - -The {units} keyword is used by {set} and {ramp}. If units = box, -the velocities and coordinates specified in the velocity command are -in the standard units described by the "units"_units.html command -(e.g. Angstroms/fmsec for real units). If units = lattice, velocities -are in units of lattice spacings per time (e.g. spacings/fmsec) and -coordinates are in lattice spacings. The "lattice"_lattice.html -command must have been previously used to define the lattice spacing. - -:line - -[Restrictions:] - -Assigning a temperature via the {create} style to a system with "rigid -bodies"_fix_rigid.html or "SHAKE constraints"_fix_shake.html may not -have the desired outcome for two reasons. First, the velocity command -can be invoked before all of the relevant fixes are created and -initialized and the number of adjusted degrees of freedom (DOFs) is -known. Thus it is not possible to compute the target temperature -correctly. Second, the assigned velocities may be partially canceled -when constraints are first enforced, leading to a different -temperature than desired. A workaround for this is to perform a "run -0"_run.html command, which insures all DOFs are accounted for -properly, and then rescale the temperature to the desired value before -performing a simulation. For example: - -velocity all create 300.0 12345 -run 0 # temperature may not be 300K -velocity all scale 300.0 # now it should be :pre - -[Related commands:] - -"fix rigid"_fix_rigid.html, "fix shake"_fix_shake.html, -"lattice"_lattice.html - -[Default:] - -The keyword defaults are dist = uniform, sum = no, mom = yes, rot = -no, bias = no, loop = all, and units = lattice. The temp and rigid -keywords are not defined by default. diff --git a/doc/txt/write_coeff.txt b/doc/txt/write_coeff.txt deleted file mode 100644 index 74d19b5c3d25d1423abe2655df73dcc46048c95f..0000000000000000000000000000000000000000 --- a/doc/txt/write_coeff.txt +++ /dev/null @@ -1,44 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -write_coeff command :h3 - -[Syntax:] - -write_coeff file :pre - -file = name of data file to write out :pre - -[Examples:] - -write_coeff polymer.coeff :pre - -[Description:] - -Write a text format file with the currently defined force field -coefficients in a way, that it can be read by LAMMPS with the -"include"_include.html command. In combination with the nocoeff -option of "write_data"_write_data.html this can be used to move -the Coeffs sections from a data file into a separate file. - -NOTE: The write_coeff command is not yet fully implemented as -some pair styles do not output their coefficient information. -This means you will need to add/copy this information manually. - -:line - -[Restrictions:] - -none - -[Related commands:] - -"read_data"_read_data.html, "write_restart"_write_restart.html, -"write_data"_write_data.html - - diff --git a/doc/txt/write_data.txt b/doc/txt/write_data.txt deleted file mode 100644 index 79e855dff38ca26800cca53e1030e388fb674dfc..0000000000000000000000000000000000000000 --- a/doc/txt/write_data.txt +++ /dev/null @@ -1,129 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -write_data command :h3 - -[Syntax:] - -write_data file keyword value ... :pre - -file = name of data file to write out :ulb,l -zero or more keyword/value pairs may be appended :l -keyword = {pair} or {nocoeff} :l - {nocoeff} = do not write out force field info - {nofix} = do not write out extra sections read by fixes - {pair} value = {ii} or {ij} - {ii} = write one line of pair coefficient info per atom type - {ij} = write one line of pair coefficient info per IJ atom type pair :pre -:ule - -[Examples:] - -write_data data.polymer -write_data data.* :pre - -[Description:] - -Write a data file in text format of the current state of the -simulation. Data files can be read by the "read data"_read_data.html -command to begin a simulation. The "read_data"_read_data.html command -also describes their format. - -Similar to "dump"_dump.html files, the data filename can contain a "*" -wild-card character. The "*" is replaced with the current timestep -value. - -NOTE: The write-data command is not yet fully implemented in two -respects. First, most pair styles do not yet write their coefficient -information into the data file. This means you will need to specify -that information in your input script that reads the data file, via -the "pair_coeff"_pair_coeff.html command. Second, a few of the "atom -styles"_atom_style.html (body, ellipsoid, line, tri) that store -auxiliary "bonus" information about aspherical particles, do not yet -write the bonus info into the data file. Both these functionalities -will be added to the write_data command later. - -Because a data file is in text format, if you use a data file written -out by this command to restart a simulation, the initial state of the -new run will be slightly different than the final state of the old run -(when the file was written) which was represented internally by LAMMPS -in binary format. A new simulation which reads the data file will -thus typically diverge from a simulation that continued in the -original input script. - -If you want to do more exact restarts, using binary files, see the -"restart"_restart.html, "write_restart"_write_restart.html, and -"read_restart"_read_restart.html commands. You can also convert -binary restart files to text data files, after a simulation has run, -using the "-r command-line switch"_Run_options.html. - -NOTE: Only limited information about a simulation is stored in a data -file. For example, no information about atom "groups"_group.html and -"fixes"_fix.html are stored. "Binary restart files"_read_restart.html -store more information. - -Bond interactions (angle, etc) that have been turned off by the "fix -shake"_fix_shake.html or "delete_bonds"_delete_bonds.html command will -be written to a data file as if they are turned on. This means they -will need to be turned off again in a new run after the data file is -read. - -Bonds that are broken (e.g. by a bond-breaking potential) are not -written to the data file. Thus these bonds will not exist when the -data file is read. - -:line - -The {nocoeff} keyword requests that no force field parameters should -be written to the data file. This can be very helpful, if one wants -to make significant changes to the force field or if the parameters -are read in separately anyway, e.g. from an include file. - -The {nofix} keyword requests that no extra sections read by fixes -should be written to the data file (see the {fix} option of the -"read_data"_read_data.html command for details). For example, this -option excludes sections for user-created per-atom properties -from "fix property/atom"_fix_property_atom.html. - -The {pair} keyword lets you specify in what format the pair -coefficient information is written into the data file. If the value -is specified as {ii}, then one line per atom type is written, to -specify the coefficients for each of the I=J interactions. This means -that no cross-interactions for I != J will be specified in the data -file and the pair style will apply its mixing rule, as documented on -individual "pair_style"_pair_style.html doc pages. Of course this -behavior can be overridden in the input script after reading the data -file, by specifying additional "pair_coeff"_pair_coeff.html commands -for any desired I,J pairs. - -If the value is specified as {ij}, then one line of coefficients is -written for all I,J pairs where I <= J. These coefficients will -include any specific settings made in the input script up to that -point. The presence of these I != J coefficients in the data file -will effectively turn off the default mixing rule for the pair style. -Again, the coefficient values in the data file can be overridden -in the input script after reading the data file, by specifying -additional "pair_coeff"_pair_coeff.html commands for any desired I,J -pairs. - -:line - -[Restrictions:] - -This command requires inter-processor communication to migrate atoms -before the data file is written. This means that your system must be -ready to perform a simulation before using this command (force fields -setup, atom masses initialized, etc). - -[Related commands:] - -"read_data"_read_data.html, "write_restart"_write_restart.html - -[Default:] - -The option defaults are pair = ii. diff --git a/doc/txt/write_dump.txt b/doc/txt/write_dump.txt deleted file mode 100644 index e67697900129a153801eb53f454641075955189d..0000000000000000000000000000000000000000 --- a/doc/txt/write_dump.txt +++ /dev/null @@ -1,92 +0,0 @@ - "LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -write_dump command :h3 - -[Syntax:] - -write_dump group-ID style file dump-args modify dump_modify-args :pre - -group-ID = ID of the group of atoms to be dumped :ulb,l -style = any of the supported "dump styles"_dump.html :l -file = name of file to write dump info to :l -dump-args = any additional args needed for a particular "dump style"_dump.html :l -modify = all args after this keyword are passed to "dump_modify"_dump_modify.html (optional) :l -dump-modify-args = args for "dump_modify"_dump_modify.html (optional) :l -:ule - -[Examples:] - -write_dump all atom dump.atom -write_dump subgroup atom dump.run.bin -write_dump all custom dump.myforce.* id type x y vx fx -write_dump flow custom dump.%.myforce id type c_myF\[3\] v_ke modify sort id -write_dump all xyz system.xyz modify sort id element O H -write_dump all image snap*.jpg type type size 960 960 modify backcolor white -write_dump all image snap*.jpg element element & - bond atom 0.3 shiny 0.1 ssao yes 6345 0.2 size 1600 1600 & - modify backcolor white element C C O H N C C C O H H S O H :pre - -[Description:] - -Dump a single snapshot of atom quantities to one or more files for the -current state of the system. This is a one-time immediate operation, -in contrast to the "dump"_dump.html command which will will set up a -dump style to write out snapshots periodically during a running -simulation. - -The syntax for this command is mostly identical to that of the -"dump"_dump.html and "dump_modify"_dump_modify.html commands as if -they were concatenated together, with the following exceptions: There -is no need for a dump ID or dump frequency and the keyword {modify} is -added. The latter is so that the full range of -"dump_modify"_dump_modify.html options can be specified for the single -snapshot, just as they can be for multiple snapshots. The {modify} -keyword separates the arguments that would normally be passed to the -{dump} command from those that would be given the {dump_modify}. Both -support optional arguments and thus LAMMPS needs to be able to cleanly -separate the two sets of args. - -Note that if the specified filename uses wildcard characters "*" or -"%", as supported by the "dump"_dump.html command, they will operate -in the same fashion to create the new filename(s). Normally, "dump -image"_dump_image.html files require a filename with a "*" character -for the timestep. That is not the case for the write_dump command; no -wildcard "*" character is necessary. - -:line - -[Restrictions:] - -All restrictions for the "dump"_dump.html and -"dump_modify"_dump_modify.html commands apply to this command as well, -with the exception of the "dump image"_dump_image.html filename not -requiring a wildcard "*" character, as noted above. - -Since dumps are normally written during a "run"_run.html or "energy -minimization"_minimize.html, the simulation has to be ready to run -before this command can be used. Similarly, if the dump requires -information from a compute, fix, or variable, the information needs to -have been calculated for the current timestep (e.g. by a prior run), -else LAMMPS will generate an error message. - -For example, it is not possible to dump per-atom energy with this -command before a run has been performed, since no energies and forces -have yet been calculated. See the "variable"_variable.html doc page -section on Variable Accuracy for more information on this topic. - -[Related commands:] - -"dump"_dump.html, "dump image"_dump_image.html, -"dump_modify"_dump_modify.html - -[Default:] - -The defaults are listed on the doc pages for the "dump"_dump.html and -"dump image"_dump_image.html and "dump_modify"_dump_modify.html -commands. diff --git a/doc/txt/write_restart.txt b/doc/txt/write_restart.txt deleted file mode 100644 index c393c7f735ece6718966ad7bf37fd31194b0408c..0000000000000000000000000000000000000000 --- a/doc/txt/write_restart.txt +++ /dev/null @@ -1,120 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -write_restart command :h3 - -[Syntax:] - -write_restart file keyword value ... :pre - -file = name of file to write restart information to :ulb,l -zero or more keyword/value pairs may be appended :l -keyword = {fileper} or {nfile} :l - {fileper} arg = Np - Np = write one file for every this many processors - {nfile} arg = Nf - Nf = write this many files, one from each of Nf processors :pre -:ule - -[Examples:] - -write_restart restart.equil -write_restart restart.equil.mpiio -write_restart poly.%.* nfile 10 :pre - -[Description:] - -Write a binary restart file of the current state of the simulation. - -During a long simulation, the "restart"_restart.html command is -typically used to output restart files periodically. The -write_restart command is useful after a minimization or whenever you -wish to write out a single current restart file. - -Similar to "dump"_dump.html files, the restart filename can contain -two wild-card characters. If a "*" appears in the filename, it is -replaced with the current timestep value. If a "%" character appears -in the filename, then one file is written by each processor and the -"%" character is replaced with the processor ID from 0 to P-1. An -additional file with the "%" replaced by "base" is also written, which -contains global information. For example, the files written for -filename restart.% would be restart.base, restart.0, restart.1, ... -restart.P-1. This creates smaller files and can be a fast mode of -output and subsequent input on parallel machines that support parallel -I/O. The optional {fileper} and {nfile} keywords discussed below can -alter the number of files written. - -The restart file can also be written in parallel as one large binary -file via the MPI-IO library, which is part of the MPI standard for -versions 2.0 and above. Using MPI-IO requires two steps. First, -build LAMMPS with its MPIIO package installed, e.g. - -make yes-mpiio # installs the MPIIO package -make mpi # build LAMMPS for your platform :pre - -Second, use a restart filename which contains ".mpiio". Note that it -does not have to end in ".mpiio", just contain those characters. -Unlike MPI-IO dump files, a particular restart file must be both -written and read using MPI-IO. - -Restart files can be read by a "read_restart"_read_restart.html -command to restart a simulation from a particular state. Because the -file is binary (to enable exact restarts), it may not be readable on -another machine. In this case, you can use the "-r command-line -switch"_Run_options.html to convert a restart file to a data file. - -NOTE: Although the purpose of restart files is to enable restarting a -simulation from where it left off, not all information about a -simulation is stored in the file. For example, the list of fixes that -were specified during the initial run is not stored, which means the -new input script must specify any fixes you want to use. Even when -restart information is stored in the file, as it is for some fixes, -commands may need to be re-specified in the new input script, in order -to re-use that information. Details are usually given in the -documentation of the respective command. Also, see the -"read_restart"_read_restart.html command for general information about -what is stored in a restart file. - -:line - -The optional {nfile} or {fileper} keywords can be used in conjunction -with the "%" wildcard character in the specified restart file name. -As explained above, the "%" character causes the restart file to be -written in pieces, one piece for each of P processors. By default P = -the number of processors the simulation is running on. The {nfile} or -{fileper} keyword can be used to set P to a smaller value, which can -be more efficient when running on a large number of processors. - -The {nfile} keyword sets P to the specified Nf value. For example, if -Nf = 4, and the simulation is running on 100 processors, 4 files will -be written, by processors 0,25,50,75. Each will collect information -from itself and the next 24 processors and write it to a restart file. - -For the {fileper} keyword, the specified value of Np means write one -file for every Np processors. For example, if Np = 4, every 4th -processor (0,4,8,12,etc) will collect information from itself and the -next 3 processors and write it to a restart file. - -:line - -[Restrictions:] - -This command requires inter-processor communication to migrate atoms -before the restart file is written. This means that your system must -be ready to perform a simulation before using this command (force -fields setup, atom masses initialized, etc). - -To write and read restart files in parallel with MPI-IO, the MPIIO -package must be installed. - -[Related commands:] - -"restart"_restart.html, "read_restart"_read_restart.html, -"write_data"_write_data.html - -[Default:] none diff --git a/doc/utils/check-packages.py b/doc/utils/check-packages.py new file mode 100755 index 0000000000000000000000000000000000000000..52d527fd9510c58e173e8ee0f05cfa92c6e1f859 --- /dev/null +++ b/doc/utils/check-packages.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python3 + +from __future__ import print_function +from glob import glob +from argparse import ArgumentParser +import os, re, sys + +parser = ArgumentParser(prog='check-packages.py', + description="Check package table completeness") + +parser.add_argument("-v", "--verbose", + action='store_const', + const=True, default=False, + help="Enable verbose output") + +parser.add_argument("-d", "--doc", + help="Path to LAMMPS documentation sources") +parser.add_argument("-s", "--src", + help="Path to LAMMPS sources") + +args = parser.parse_args() +verbose = args.verbose +src = args.src +doc = args.doc + +if not args.src or not args.doc: + parser.print_help() + sys.exit(1) + +if not os.path.isdir(src): + sys.exit("LAMMPS source path %s does not exist" % src) + +if not os.path.isdir(doc): + sys.exit("LAMMPS documentation source path %s does not exist" % doc) + +pkgdirs = glob(os.path.join(src, '[A-Z][A-Z]*')) +dirs = re.compile(".*/([0-9A-Z-]+)$") +user = re.compile("USER-.*") + +stdpkg = [] +usrpkg = [] + +# find package names and add to standard and user package lists. +# anything starting with at least two upper case characters, is a +# folder, and is not called 'MAKE' is a package + +for d in pkgdirs: + pkg = dirs.match(d).group(1) + if not os.path.isdir(os.path.join(src,pkg)): continue + if pkg in ['DEPEND','MAKE','STUBS']: continue + if user.match(pkg): + usrpkg.append(pkg) + else: + stdpkg.append(pkg) + +print("Found %d standard and %d user packages" % (len(stdpkg),len(usrpkg))) + +counter = 0 +fp = open(os.path.join(doc,'Packages_standard.rst')) +text = fp.read() +fp.close() +matches = re.findall(':ref:`([A-Z0-9-]+) <[A-Z0-9-]+>`',text,re.MULTILINE) +for p in stdpkg: + if not p in matches: + ++counter + print("Standard package %s missing in Packages_standard.rst" + % p) + +fp = open(os.path.join(doc,'Packages_user.rst')) +text = fp.read() +fp.close() +matches = re.findall(':ref:`([A-Z0-9-]+) <[A-Z0-9-]+>`',text,re.MULTILINE) +for p in usrpkg: + if not p in matches: + ++counter + print("User package %s missing in Packages_user.rst" + % p) + +fp = open(os.path.join(doc,'Packages_details.rst')) +text = fp.read() +fp.close() +matches = re.findall(':ref:`([A-Z0-9]+) `',text,re.MULTILINE) +for p in stdpkg: + if not p in matches: + ++counter + print("Standard package %s missing in Packages_details.rst" + % p) +matches = re.findall(':ref:`(USER-[A-Z0-9]+) `',text,re.MULTILINE) +for p in usrpkg: + if not p in matches: + ++counter + print("User package %s missing in Packages_details.rst" + % p) + +if counter: + print("Found %d issue(s) with package lists" % counter) + diff --git a/doc/utils/converters/lammpsdoc/eqImg2mathjaxInline.py b/doc/utils/converters/lammpsdoc/eqImg2mathjaxInline.py deleted file mode 100644 index 353eed8b6e197f7519bbbe8f90d405d87708f766..0000000000000000000000000000000000000000 --- a/doc/utils/converters/lammpsdoc/eqImg2mathjaxInline.py +++ /dev/null @@ -1,255 +0,0 @@ -#! /usr/bin/env python3 -# LAMMPS Documentation Utilities -# -# Scan for duplicate anchor labels in documentation files -# -# Copyright (C) 2019 E. Anne Gunn -# Based largely on doc_anchor_check.py by Richard Berger -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -import argparse -import os -import re -import shutil -import sys - - -# We only want to replace image lines where image is -# pulled from Eqs subfolder -image_pattern = re.compile(r'.*image:: Eqs/(.*)\.jpg') -tex_eq_pattern = re.compile(r'\$\$') -latex_begin_eq_pattern = re.compile(r'\\begin{equation}') -latex_end_eq_pattern = re.compile(r'\\end{equation}') -latex_begin_eqArray_pattern = re.compile(r'\\begin{eqnarray\*}') -latex_end_eqArray_pattern = re.compile(r'\\end{eqnarray\*}') - -imageMarker = ">>>image was here" -image_marker_pattern = re.compile(r'>>>image was here') -align_pattern = re.compile(r'.*:align: center') - -modifiedRstFolder = "src/modifiedRst/" -safeRstFolder = "src/safeRst/" -# Since this is a proof of concept implementation, -# skip any rst files that are known to cause problems -skipFileList = ["pair_tersoff_zbl.rst"] - -runReport = { -} - - -def checkForEquationStart(texLine): - eqType = None - texMatch = tex_eq_pattern.match(texLine) - if texMatch: - eqType = "texMatch" - else: - eqMatch = latex_begin_eq_pattern.match(texLine) - if eqMatch: - eqType = "eqMatch" - else: - eqArrayMatch = latex_begin_eqArray_pattern.match(texLine) - if eqArrayMatch: - eqType = "eqArrayMatch" - return eqType - - -def checkForEquationEnd(texLine, eqType): - endPattern = tex_eq_pattern - if eqType == "texMatch": - endPattern = tex_eq_pattern - elif eqType == "eqMatch": - endPattern = latex_end_eq_pattern - elif eqType == "eqArrayMatch": - endPattern = latex_end_eqArray_pattern - else: - print("***error: unexpected eqType %s, will look for tex delimiter" % eqType) - - endMatch = endPattern.match(texLine) - endFound = endMatch is not None - if endFound: - print("found pattern end, line: %s" % texLine) - return endFound - - -def startMathjax(): - mathjaxLines = [] - mathjaxLines.append(".. math::\n\n") - return mathjaxLines - - -def endMathjax(mathjaxLines): - mathjaxLines.append("\n") - mathjaxLines.append("%s\n" % imageMarker) - return mathjaxLines - - -def processFile(filename): - print("in processFile for filename: %s" % filename) - imageCount = 0 - - modifiedFileLines = [] - doWriteModifiedFile = False - with open(filename, 'rt') as f: - for line_number, line in enumerate(f): - m = image_pattern.match(line) - if m: - fileroot = m.group(1) - print("fileroot: {0}".format(fileroot)) - imageCount += 1 - texFilename = "src/Eqs/{0}.tex".format(fileroot) - print("will try to open %s" % texFilename) - eqType = None - eqLines = [] - try: - with open(texFilename, 'rt', encoding='utf-8') as t: - print("%s file opened ok" % texFilename) - eqLines = startMathjax() - try: - for dummy, texLine in enumerate(t): - #print(texLine) - if eqType == None: - eqType = checkForEquationStart(texLine) - if eqType != None: - print("equation type: {0}".format(eqType)) - else: - endFound = checkForEquationEnd(texLine, eqType) - if endFound != True: - eqLines.append(texLine) - else: - eqType = None - eqLines = endMathjax(eqLines) - print("Equation lines will be:") - print("-----------------------------") - print(*eqLines, sep="\n") - print("-----------------------------") - except UnicodeDecodeError: - print("UnicodeDecodeError reading file file %s, image markup will be left in place" % texFilename) - break - except EnvironmentError: - error = "could not open source tex file {0}, line: {1}".format(texFilename, line) - print(error) - print("image markup will be left in place") - if filename not in runReport: - runReport[filename] = [] - runReport[filename].append(error) - # put the image line we could not replace back into the output - eqLines.append(line) - if len(eqLines) > 0: - modifiedFileLines.extend(eqLines) - doWriteModifiedFile = True - eqLines = [] - else: - # not an equation line, so simply queue it up for output as is - modifiedFileLines.append(line) - if doWriteModifiedFile: - # We're going to write out a modified file, so first copy the original rst - # file into the original file folder. - nameParts = filename.split("/") - filenamePos = len(nameParts) - 1 - safeFilePath = "{0}{1}".format(safeRstFolder, nameParts[filenamePos]) - shutil.copyfile(filename, safeFilePath) - - print("modifiedFileLines has %d lines before align center cleanup" % len(modifiedFileLines)) - # First, go through the file and pull out the lines where there is - # now an image file marker followed by an align center directive - deleteLines = [] - for lineNumber, line in enumerate(modifiedFileLines): - m = image_marker_pattern.match(line) - if m: - print("found image marker in line %d" % lineNumber) - n = align_pattern.match(modifiedFileLines[lineNumber+1]) - if n: - print("found align center") - deleteLines.append(lineNumber) - deleteLines.append(lineNumber+1) - #When deleting, always work from the back of the list to the front - for lineNumber in reversed(deleteLines): - print(lineNumber) - del modifiedFileLines[lineNumber] - print("modifiedFileLines has %d lines after align center cleanup" % len(modifiedFileLines)) - # Now we can actually write out the new contents - try: - modFilePath = "{0}{1}".format(modifiedRstFolder, nameParts[filenamePos]) - modRst = open(modFilePath, "w") - for rstLine in modifiedFileLines: - modRst.write(rstLine) - modRst.close() - except OSError: - print('Error: Creating directory. ' + modifiedRstFolder) - return imageCount - - -def main(): - fileCount = 0 - totalImageCount = 0 - - parser = argparse.ArgumentParser(description='replace image markup in rst files with inline mathjax markup from .txt source of images') - parser.add_argument('files', metavar='file', nargs='+', help='one or more files to scan') - parsed_args = parser.parse_args() - print(parsed_args) - - if not os.path.exists(safeRstFolder): - os.makedirs(safeRstFolder) - if not os.path.exists(modifiedRstFolder): - os.makedirs(modifiedRstFolder) - - # Because we may decide to add files to the skip list between runs, - # if we have more than one file to process, - # files from both original and modified folders - # zombie modifications - if len(parsed_args.files) > 1: - for outputFile in os.listdir(modifiedRstFolder): - filePath = os.path.join(modifiedRstFolder, outputFile) - try: - if os.path.isfile(filePath): - os.unlink(filePath) - except Exception as e: - print(e) - sys.exit(1) - for safeFile in os.listdir(safeRstFolder): - filePath = os.path.join(safeRstFolder, safeFile) - try: - if os.path.isfile(filePath): - os.unlink(filePath) - except Exception as e: - print(e) - sys.exit(1) - - for filename in parsed_args.files: - print("filename: %s" % filename) - doSkip = False - for skipName in skipFileList: - if filename.find(skipName) != -1: - print("skipping file: %s" % filename) - doSkip = True - runReport[filename] = ["skipped based on skipFileList"] - break - if not doSkip: - fileCount += 1 - ic = processFile(filename) - totalImageCount += ic - - print("============================================") - print("Processed %d rst files." % fileCount) - print("Found %d image lines." % totalImageCount) - - for fileKey in runReport: - print("--------------------------------------------") - print("run report for %s:" % fileKey) - print(*runReport[fileKey], sep="\n") - - print("============================================") - -if __name__ == "__main__": - main() diff --git a/doc/utils/sphinx-config/LAMMPSLexer.py b/doc/utils/sphinx-config/LAMMPSLexer.py index 6436be410d8e89f85fc1d1644619411c188b1331..72536d494ffa670f7dca976f151dc437d66f21f2 100644 --- a/doc/utils/sphinx-config/LAMMPSLexer.py +++ b/doc/utils/sphinx-config/LAMMPSLexer.py @@ -1,31 +1,53 @@ -from pygments.lexer import RegexLexer, words +from pygments.lexer import RegexLexer, words, include, default from pygments.token import * LAMMPS_COMMANDS = ("angle_coeff", "angle_style", "atom_modify", "atom_style", "balance", "bond_coeff", "bond_style", "bond_write", "boundary", "box", -"change_box", "clear", "comm_modify", "comm_style", "compute", +"clear", "comm_modify", "comm_style", "compute_modify", "create_atoms", "create_bonds", "create_box", "delete_atoms", "delete_bonds", "dielectric", "dihedral_coeff", "dihedral_style", "dimension", -"displace_atoms", "dump", "dump_modify", "dynamical_matrix", "echo", "fix", -"fix_modify", "group", "group2ndx", "hyper", "if", "improper_coeff", +"displace_atoms", "dump_modify", "dynamical_matrix", "echo", +"fix_modify", "group2ndx", "hyper", "if", "improper_coeff", "improper_style", "include", "info", "jump", "kim_init", "kim_interactions", "kim_param", "kim_query", "kspace_modify", "kspace_style", "label", "lattice", "log", "mass", "message", "minimize", "min_modify", "min_style", "molecule", "ndx2group", "neb", "neb/spin", "neighbor", "neigh_modify", "newton", "next", "package", "pair_coeff", "pair_modify", "pair_style", "pair_write", "partition", "prd", "print", "processors", "python", "quit", "read_data", -"read_dump", "read_restart", "region", "replicate", "rerun", "reset_ids", +"read_dump", "read_restart", "replicate", "rerun", "reset_ids", "reset_timestep", "restart", "run", "run_style", "server", "set", "shell", "special_bonds", "suffix", "tad", "temper", "temper/grem", "temper/npt", "thermo", "thermo_modify", "thermo_style", "then", "third_order", "timer", "timestep", -"uncompute", "undump", "unfix", "units", "variable", "velocity", "write_coeff", -"write_data", "write_dump", "write_restart") +"units", "velocity", "write_coeff", +"write_data", "write_restart") + +#fix ID group-ID style args +#compute ID group-ID style args +#dump ID group-ID style N file args +#region ID style args keyword arg ... +#variable name style args ... +#group ID style args +#uncompute compute-ID +#undump dump-ID +#unfix fix-ID +#write_dump group-ID style file dump-args modify dump_modify-args class LAMMPSLexer(RegexLexer): name = 'LAMMPS' tokens = { 'root': [ - (words(LAMMPS_COMMANDS, suffix=r'\b', prefix=r'^'), Keyword), + (r'fix\s+', Keyword, 'fix'), + (r'compute\s+', Keyword, 'compute'), + (r'dump\s+', Keyword, 'dump'), + (r'region\s+', Keyword, 'region'), + (r'variable\s+', Keyword, 'variable'), + (r'group\s+', Keyword, 'group'), + (r'change_box\s+', Keyword, 'change_box'), + (r'uncompute\s+', Keyword, 'uncompute'), + (r'unfix\s+', Keyword, 'unfix'), + (r'undump\s+', Keyword, 'undump'), + (r'write_dump\s+', Keyword, 'write_dump'), + include('keywords'), (r'#.*?\n', Comment), ('"', String, 'string'), ('\'', String, 'single_quote_string'), @@ -35,8 +57,12 @@ class LAMMPSLexer(RegexLexer): (r'[\w_\.\[\]]+', Name), (r'\$[\w_]+', Name.Variable), (r'\s+', Whitespace), - (r'[\+\-\*\/&=<>]', Operator), + (r'[\+\-\*\^\|\/\!%&=<>]', Operator), ], + 'keywords' : [ + (words(LAMMPS_COMMANDS, suffix=r'\b', prefix=r'^'), Keyword) + ] + , 'variable' : [ ('[^\}]+', Name.Variable), ('\}', Name.Variable, '#pop'), @@ -53,5 +79,56 @@ class LAMMPSLexer(RegexLexer): ('[^\(\)]+', Name.Variable), ('\(', Name.Variable, 'expression'), ('\)', Name.Variable, '#pop'), + ], + 'fix' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + (r'\s+', Whitespace, 'group_id'), + default('#pop') + ], + 'compute' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + (r'\s+', Whitespace, 'group_id'), + default('#pop') + ], + 'dump' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + (r'\s+', Whitespace, 'group_id'), + default('#pop') + ], + 'region' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'variable' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'group' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'change_box' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'unfix' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'undump' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'uncompute' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'write_dump' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'group_id' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop:2') ] } diff --git a/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html b/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html index 1eb53c70a29b5becf7c6abd236e3d2312bc00b4e..7c3bd2d6f49e8d1ea083cfad25f94ce7f701890a 100644 --- a/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html +++ b/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html @@ -1,5 +1,4 @@
-
LAMMPS {{ version }}
  • Docs »
  • {% for doc in parents %} @@ -22,7 +21,7 @@ {% endif %}
-
+
{% if next or prev %} {% endif %} -
+

diff --git a/doc/utils/sphinx-config/_themes/lammps_theme/layout.html b/doc/utils/sphinx-config/_themes/lammps_theme/layout.html index 9e672151d1bc91e1d72480d17c97e874c2a4ffe5..3d11a92b321b7ba9ae0caa020013910338b3ce8d 100644 --- a/doc/utils/sphinx-config/_themes/lammps_theme/layout.html +++ b/doc/utils/sphinx-config/_themes/lammps_theme/layout.html @@ -100,6 +100,8 @@ {% endif %} +

Version: {{ version }}
+ {% include "searchbox.html" %} {% endblock %} diff --git a/doc/utils/sphinx-config/_themes/lammps_theme/static/css/theme.css b/doc/utils/sphinx-config/_themes/lammps_theme/static/css/theme.css index 5e0d43b1285de1932a545f0b1dd40b21dafc4e21..303222df8a60c42fd34f609408c97842b71c96ee 100644 --- a/doc/utils/sphinx-config/_themes/lammps_theme/static/css/theme.css +++ b/doc/utils/sphinx-config/_themes/lammps_theme/static/css/theme.css @@ -4189,8 +4189,7 @@ div[class^='highlight'] pre { } } .wy-affix { - position: fixed; - top: 1.618em; + position: fixed; top: 0.618em; } .wy-menu a:hover { @@ -4411,7 +4410,7 @@ div[class^='highlight'] pre { font-weight: bold; display: inline-block; padding: 4px 6px; - margin-bottom: 0.809em; + /*margin-bottom: 0.809em;*/ } .wy-side-nav-search > a:hover, .wy-side-nav-search .wy-dropdown > a:hover { background: rgba(255, 255, 255, 0.1); @@ -4540,7 +4539,7 @@ div[class^='highlight'] pre { } .wy-nav-content { - padding: 1.618em 3.236em; + padding: 0.5em 1.0em; height: 100%; margin: auto; } @@ -5105,4 +5104,10 @@ span[id*='MathJax-Span'] { padding: 0; } +.lammps_version { + text-align: center; + display: block; + margin-bottom: 0.809em; +} + /*# sourceMappingURL=theme.css.map */ diff --git a/doc/utils/sphinx-config/conf.py b/doc/utils/sphinx-config/conf.py index 3e16963f0148a3f9923d6b5839550e96dbc4fb8f..ffb43e7bffec5fbda3396226a35beff0670e1978 100644 --- a/doc/utils/sphinx-config/conf.py +++ b/doc/utils/sphinx-config/conf.py @@ -60,7 +60,7 @@ master_doc = 'Manual' # General information about the project. project = 'LAMMPS' -copyright = '2013 Sandia Corporation' +copyright = '2003-2020 Sandia Corporation' def get_lammps_version(): import os @@ -128,7 +128,9 @@ html_theme = 'lammps_theme' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} +html_theme_options = { + 'logo_only' : True +} # Add any paths that contain custom themes here, relative to this directory. html_theme_path = ['_themes'] @@ -142,7 +144,7 @@ html_title = "LAMMPS documentation" # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +html_logo = 'lammps-logo.png' # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 @@ -210,6 +212,9 @@ if 'epub' in sys.argv: else: html_math_renderer = 'mathjax' +# use relative path for mathjax, so it is looked for in the +# html tree and the manual becomes readable when offline +mathjax_path = 'mathjax/es5/tex-mml-chtml.js' # -- Options for LaTeX output --------------------------------------------- latex_elements = { @@ -329,3 +334,6 @@ from sphinx.highlighting import lexers lexers['LAMMPS'] = LAMMPSLexer.LAMMPSLexer(startinline=True) sys.path.append(os.path.join(os.path.dirname(__file__), '../../../python')) + +# avoid syntax highlighting in blocks that don't specify language +highlight_language = 'none' diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 43a4207fc11cbddd3e5ea66cee75f5b7453afde9..97b7f47503746567244002a598104ecfa9a772c7 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -72,6 +72,7 @@ allocaters allosws AlO Alonso +alphashrink amap Amatrix AMD @@ -169,9 +170,11 @@ ba Babadi Babaei backcolor +backends Baczewski Bagi Bagnold +Bkappa Bal balancer Balankura @@ -200,7 +203,6 @@ bcolor bdiam bdw Beckman -behaviour Belak Bellott benchmarking @@ -258,7 +260,10 @@ Bogaerts Bogusz Bohrs Boltzman +BondAngle +BondBond bondchk +BondingIDs bondmax bondtype Bonet @@ -273,8 +278,8 @@ Bouguet Bourne boxcolor bp -bpls bpclermont +bpls br Branduardi Branicio @@ -314,6 +319,7 @@ Caswell Cates cauchy cauchystat +Cavazzoni Cavium Cawkwell cbecker @@ -363,6 +369,8 @@ Chemnitz Cheng Chenoweth chiral +ChiralIDs +chiralIDs chirality Cho chris @@ -388,6 +396,7 @@ cmake CMake cmap Cmax +cmd cmdlist Cmin cmm @@ -428,6 +437,7 @@ cond conda Conda Condens +Connor conf config configfile @@ -482,11 +492,14 @@ cstdlib cstring cstyle csvr +ctrl Ctypes +ctypes cuda Cuda CUDA CuH +cuFFT Cummins Curk customIDs @@ -557,6 +570,8 @@ defgrad defn deformable del +delaystep +DeleteIDs deleteIDs Dellago delocalization @@ -571,6 +586,7 @@ dephasing dequidt Dequidt der +dereference derekt Derjagin Derjaguin @@ -610,7 +626,8 @@ dimgray dipolar dir Direc -dirs +dirname +disarmmd discoverable discretization discretized @@ -632,6 +649,7 @@ dnf DNi Dobson Dodds +docenv dodgerblue dof doi @@ -639,6 +657,7 @@ Donadio dotc Doty doxygen +downarrow Doye dpd DPD @@ -660,7 +679,9 @@ DRUDE dsf dsmc dt +dtgrow dtheta +dtshrink du dU Dudarev @@ -701,10 +722,12 @@ Ec ecoul ecp Ecut +EdgeIDs edgeIDs edihed edim edip +edn edpd eDPD edu @@ -737,6 +760,8 @@ electronegative electronegativity Eleftheriou ElementN +elementset +elementsets elif Elj Ellad @@ -762,6 +787,7 @@ engrot engtrans engvib enobonds +EnSight enthalpy enums envoke @@ -804,6 +830,8 @@ erotate Ertas ervel Espanol +Eshelby +eshelby eskm esu esub @@ -816,6 +844,9 @@ ethernet etol etot etotal +Eulerian +eulerian +eulerimplicit Europhys ev eV @@ -835,6 +866,8 @@ extrema exy ey ez +faceset +facesets factorizable factorizations Fahrenberger @@ -852,6 +885,7 @@ fdotr fdt Fehlberg Fellinger +fe femtosecond femtoseconds fene @@ -875,6 +909,7 @@ fhg Fi Fichthorn Fickian +fieldname figshare Fij filelink @@ -958,10 +993,10 @@ Gahler gainsboro Galindo gamA -gamR gammaA gammaFactor gammaR +gamR Gan GaN ganzenmueller @@ -1017,6 +1052,7 @@ Gmask gneb GNEB Goldfarb +Gonzalez-Melchor googlemail Gordan GPa @@ -1024,6 +1060,7 @@ gpu gpuID gpus gradV +GradVidottan graining Graining Grama @@ -1053,6 +1090,7 @@ gstyle GTL Gubbins Guericke +Guenole gui Gumbsch Gunsteren @@ -1064,6 +1102,7 @@ gz gzipped Haak Hafskjold +halfstepback Halperin Halver Hamaker @@ -1075,6 +1114,7 @@ Harting Hartree Hartrees Hasan +Hashtable Haswell Haugk Hayoun @@ -1124,9 +1164,11 @@ Homebrew hooke Hookean hotpink +Houlle howto Howto Hoyt +Hs hstyle html hTST @@ -1141,6 +1183,8 @@ Hugoniot Hura hux hwloc +hx +hy hydrophobicity hydrostatic hydrostatically @@ -1150,6 +1194,7 @@ hyperdynamics hyperradius hyperspherical hysteretic +hz Ibanez ibar ibm @@ -1197,8 +1242,9 @@ infty inhomogeneities inhomogeneous init -initio +initialdelay initializations +initio InP inregion Institut @@ -1228,6 +1274,7 @@ iostreams iparam ipi ipp +Ippolito IPv IPython Isele @@ -1275,6 +1322,7 @@ Izvekov izz Izz Jacobsen +Jadhav jagreat Jalalvand james @@ -1283,6 +1331,7 @@ Janssens Jaramillo Jarzynski jatempl +javascript jcp jea jec @@ -1328,6 +1377,7 @@ Kai Kalia Kamberaj Kapfer +Karls Karlsruhe Karniadakis Karplus @@ -1348,14 +1398,15 @@ kcl Kd KDevelop ke -kepler KE Keblinski +Keefe keflag Keir Kelchner Kelkar Kemper +kepler keV Keyes Khersonskii @@ -1364,6 +1415,7 @@ Khvostov Ki Kikugawa kim +kinetostats kJ kk Klahn @@ -1371,6 +1423,7 @@ Klapp Kloss kmax Kmax +KMP Knizhnik knl Kofke @@ -1396,6 +1449,7 @@ Kraus Kremer Kress Kronik +ksh kspace Kspace KSpace @@ -1451,8 +1505,8 @@ lcbop ld ldfftw ldg -Lebedeva lebedeva +Lebedeva Lebold Lechman Lehoucq @@ -1491,6 +1545,7 @@ libmeam libmessage libmpi libmpich +libnuma libplumed libplumedKernel libpng @@ -1530,6 +1585,7 @@ Liu Livermore lj llammps +LLVM lm lmp lmpptr @@ -1537,6 +1593,7 @@ lmpqst lmpsdata Lmpsdata lmptype +LMT ln localTemp localvectors @@ -1552,6 +1609,7 @@ Lookups LoopVar Lorant lorenz +Los lossless lossy Lozovik @@ -1565,6 +1623,7 @@ lucy Luding Lussetti Lustig +lval lwsock lx ly @@ -1576,7 +1635,7 @@ Mackay Mackrodt Macromolecules macroparticle -macOS +MacOS Madura Magda Magdeburg @@ -1606,11 +1665,15 @@ manybody MANYBODY Maras Marchetti +Marchi +Mariella Marrink Marroquin Marsaglia Marseille Martyna +mary +marys Masaglia Mashayak Massimilliano @@ -1620,6 +1683,7 @@ Masuhiro Matchett Materias mathbf +mathjax matlab matplotlib Matsubara @@ -1643,6 +1707,7 @@ maxwell Maxwellian maxX Mayergoyz +Mayoral mbt Mbytes MBytes @@ -1671,9 +1736,11 @@ mediumvioletred Mees Mehl Mei +Melchor Meloni Melrose Mem +mem memalign MEMALIGN membered @@ -1685,6 +1752,8 @@ Merz meshless meso mesocnt +MESODPD +mesodpd mesoparticle mesoscale mesoscopic @@ -1715,8 +1784,8 @@ Mie Mikami Militzer Minary -Mindlin mincap +Mindlin mingw minima minimizations @@ -1907,6 +1976,7 @@ Nelement Nelements nemd netcdf +netstat Nettleton Neumann Nevent @@ -1957,6 +2027,9 @@ Nocedal nocite nocoeff nodeless +nodeset +nodesets +Noehring noforce Noid nolib @@ -1997,6 +2070,7 @@ Nrecompute Nrepeat nreset Nrho +Nroff nrun Ns Nsample @@ -2024,6 +2098,7 @@ nucleotides num numa numactl +numdiff numericalfreedom numerics numpy @@ -2036,10 +2111,10 @@ nvc nvcc nve nvidia -Nvidia nvk nvt Nwait +nwchem nx Nx nxnodes @@ -2076,8 +2151,8 @@ ons OO opencl openKIM -OpenMP openmp +OpenMP openmpi opls Oppelstrup @@ -2131,6 +2206,7 @@ parameterizations parameterize parameterized params +ParaView parmin Parrinello Partay @@ -2222,6 +2298,7 @@ pN png Podhorszki Poiseuille +poisson Polak polarizabilities polarizability @@ -2234,6 +2311,7 @@ polyA polybond polydisperse polydispersity +polyelectrolyte polyhedra popen Popov @@ -2250,11 +2328,10 @@ powderblue ppn pppm prd +Prakash pre Pre prec -preceed -preceeded precession prefactor prefactors @@ -2283,6 +2360,7 @@ pthread pthreads ptm PTM +ptol ptr pu purdue @@ -2305,6 +2383,7 @@ pymbar pymodule pymol pypar +pythonic Pyy pz Pz @@ -2366,6 +2445,7 @@ Ravelo rc Rc Rcm +rcmax Rcmx Rcmy Rcut @@ -2388,6 +2468,7 @@ reflectionstyle regoin Reinders reinit +relaxbox relink relTol remappings @@ -2483,6 +2564,7 @@ Rockett Rodrigues Rohart Ronchetti +Ronevich Rosati Rosenberger Rossky @@ -2496,6 +2578,7 @@ Rr rRESPA Rspace rsq +rst rstyle Rubensson Rubia @@ -2525,8 +2608,7 @@ Salles sandia Sandia sandybrown -Sanitizer -sanitizers +sanitizer Sanyal sc scafacos @@ -2594,6 +2676,9 @@ Shenderova Shi Shiga Shinoda +shlib +SHM +shm shockvel si SiC @@ -2643,7 +2728,6 @@ smtbq sna snad snapcoeff -snaphots snapparam snav Snodin @@ -2653,6 +2737,7 @@ solvated solvation Sorensen soundspeed +sourceforge Souza sp spacings @@ -2672,6 +2757,7 @@ sqdistharm sqrt src srd +sright Srinivasan Srolovitz srp @@ -2687,9 +2773,9 @@ Startstep statcoul statcoulombs statvolt -stdlib stdin stdio +stdlib steelblue Stegailov Steinbach @@ -2725,6 +2811,8 @@ Stukowski Su subbox subcutoff +subcycle +subcycling Subramaniyan subscripted subscripting @@ -2739,6 +2827,7 @@ superset supersphere Supinski Surblys +surfactant surfactants Suter Sutmann @@ -2757,6 +2846,7 @@ Synechococcus sys sysdim Syst +systemd Sz Tabbernor tabinner @@ -2785,7 +2875,6 @@ tdamp tdpd tDPD Tdrude -Technolgy Telsa tempCorrCoeff templated @@ -2802,6 +2891,7 @@ tfmc tfMC th Thakkar +Thaokar thb thei Theodorou @@ -2853,6 +2943,7 @@ tlsph tmax Tmax tmd +tmin Tmin tmp tN @@ -2877,6 +2968,7 @@ traceless tradeoff traj Tranchida +transactional transferability translational Translational @@ -2943,6 +3035,7 @@ uInfParallel uk ul ulb +Uleft uloop ulsph uMech @@ -2975,6 +3068,7 @@ unsplit unstrained untar untilted +uparrow upenn upto Urbakh @@ -2988,10 +3082,13 @@ util utils utsa Uttormark +uval uvm uwo Uzdin vacf +Vaid +Vaiwala valent Valeriu valgrind @@ -3009,6 +3106,7 @@ Vashishta vasp vcm Vcm +vdfmax vdim vdisplace vdW @@ -3019,6 +3117,7 @@ Vectorization vectorized Vegt vel +Velázquez Verlag verlet Verlet @@ -3096,13 +3195,14 @@ webpage Weckner WeinanE Wennberg +Westmere Westview wget Whelan whitesmoke +whitespace Wi Wicaksono -wih Wijk Wikipedia wildcard @@ -3138,6 +3238,7 @@ xhi xHost Xiaohu Xiaowang +Xie xk xlat xlo @@ -3145,6 +3246,7 @@ xmax Xmax xmgrace xMIC +xmin xmovie Xmovie xmu @@ -3163,9 +3265,10 @@ xy xyz xz xzhou -YAFF yaff +YAFF Yamada +Yaser Yazdani Ybar ybox @@ -3178,6 +3281,8 @@ yhi yi ylat ylo +ymax +ymin Yoshida ys ysu @@ -3211,6 +3316,8 @@ Ziegenhain Zj zlim zlo +zmax +zmin zmq zN zs diff --git a/doc/utils/sphinx-config/lammps-logo.png b/doc/utils/sphinx-config/lammps-logo.png new file mode 120000 index 0000000000000000000000000000000000000000..37d35bece1dade2c0a9160cbaef7716f2781f208 --- /dev/null +++ b/doc/utils/sphinx-config/lammps-logo.png @@ -0,0 +1 @@ +../../src/JPG/lammps-logo.png \ No newline at end of file diff --git a/examples/COUPLE/README b/examples/COUPLE/README index 0e611befbd3083d0044260695007aa544b6df4db..5a9f297b0f7c4874a33d89b0e28d99f05d6a0650 100644 --- a/examples/COUPLE/README +++ b/examples/COUPLE/README @@ -6,23 +6,16 @@ codes or calling LAMMPS as a library. The examples are provided for demonstration purposes. The physics they calculate is too simple to model a realistic problem. -See these sections of the LAMMPS manaul for details: +In many of the examples included here, LAMMPS must first be built as a +library. -2.5 Building LAMMPS as a library (doc/Section_start.html#start_5) -6.10 Coupling LAMMPS to other codes (doc/Section_howto.html#howto_10) -6.29 Using LAMMPS in client/server mode (doc/Section_howto.html#howto_29) +See these sections of the LAMMPS manual for details: -In all of the examples included here, LAMMPS must first be built as a -library. Basically, in the src dir you type one of - -make mode=lib machine -make mode=shlib machine - -to create the static library liblammps_machine.a or the shared library -liblammps_machine.so for your code to link against. A soft link -(liblammps.a or liblammps.so) is also created that points to the most -recently built static or shared library. Your code build can simply -use the soft link if you prefer. +Build LAMMPS as a library (doc/Build_basics.html) +Link LAMMPS as a library to another code (doc/Build_link.html) +Coupling LAMMPS to other codes (doc/Howto_couple.html) +Using LAMMPS in client/server mode (doc/Howto_client_server.html) +Library interface to LAMMPS (doc/Howto_library.html) The library interface to LAMMPS is in src/library.cpp. Routines can be easily added to this file so an external program can perform the @@ -34,12 +27,15 @@ These are the sub-directories included in this directory: simple simple example of driver code calling LAMMPS as a lib multiple example of driver code calling multiple instances of LAMMPS +plugin example for loading LAMMPS at runtime from a shared library lammps_mc client/server coupling of Monte Carlo client with LAMMPS server for energy evaluation +lammps_nwchem client/server coupling of LAMMPS client with + NWChem quantum DFT as server for quantum forces lammps_quest MD with quantum forces, coupling to Quest DFT code lammps_spparks grain-growth Monte Carlo with strain via MD, coupling to SPPARKS kinetic MC code -lammps_vasp client/server coupling of LAMMPS client with +lammps_vasp client/server coupling of LAMMPS client with VASP quantum DFT as server for quantum forces library collection of useful inter-code communication routines fortran a simple wrapper on the LAMMPS library API that diff --git a/examples/COUPLE/lammps_nwchem/README b/examples/COUPLE/lammps_nwchem/README new file mode 100644 index 0000000000000000000000000000000000000000..cb5c5b58cf641372263b5fdccd71ac8bf8781447 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/README @@ -0,0 +1,197 @@ +Sample LAMMPS MD wrapper on NWChem via client/server coupling + +See the MESSAGE package (doc/Section_messages.html#MESSAGE) and +Section_howto.html#howto10 for more details on how client/server +coupling works in LAMMPS. + +In this dir, the nwchem_wrap.py is a wrapper on the NWChem electronic +structure code so it can work as a "server" code which LAMMPS drives +as a "client" code to perform ab initio MD. LAMMPS performs the MD +timestepping, sends NWChem a current set of coordinates each timestep, +NWChem computes forces and energy (and virial) and returns that info +to LAMMPS. + +Messages are exchanged between NWChem and LAMMPS via a client/server +library (CSlib), which is included in the LAMMPS distribution in +lib/message. As explained below you can choose to exchange data +between the two programs either via files or sockets (ZMQ). If the +nwchem_wrap.py program became parallel, or the CSlib library calls were +integrated into NWChem directly, then data could also be exchanged via +MPI. + +There are 2 examples provided in the planeware and ao_basis +sub-directories. See details below. + +---------------- + +Build LAMMPS with its MESSAGE package installed: + +See the Build extras doc page and its MESSAGE package +section for details. + +CMake: + +-D PKG_MESSAGE=yes # include the MESSAGE package +-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes + +Traditional make: + +cd lammps/lib/message +python Install.py -m -z # build CSlib with MPI and ZMQ support +cd lammps/src +make yes-message +make mpi + +You can leave off the -z if you do not have ZMQ on your system. + +---------------- + +Build the CSlib in a form usable by the nwchem_wrapper.py script: + +% cd lammps/lib/message/cslib/src +% make shlib # build serial and parallel shared lib with ZMQ support +% make shlib zmq=no # build serial and parallel shared lib w/out ZMQ support + +This will make a shared library versions of the CSlib, which Python +requires. Python must be able to find both the cslib.py script and +the libcsnompi.so library in your lammps/lib/message/cslib/src +directory. If it is not able to do this, you will get an error when +you run nwchem_wrapper.py. + +You can do this by augmenting two environment variables, either from +the command line, or in your shell start-up script. Here is the +sample syntax for the csh or tcsh shells: + +setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/lib/message/cslib/src +setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/lib/message/cslib/src + +---------------- + +Prepare to use NWChem and the nwchem_wrap.py script + +You can run the nwchem_wrap.py script as-is to test that the coupling +between it and LAMMPS is functional. This will use the included +nwchem_lammps.out files output by a previous NWChem run. + +But note that the as-is version of nwchem_wrap.py will not attempt to +run NWChem. + +To do this, you must edit the 1st nwchemcmd line at the top of +nwchem_wrapper.py to be the launch command needed to run NWChem on +your system. It can be a command to run NWChem in serial or in +parallel, e.g. an mpirun command. Then comment out the 2nd nwchemcmd +line immediately following it. + +Ensure you have the necessary NWChem input file in this directory, +suitable for the NWChem calculation you want to perform. + +Example input files are provided for both atom-centered AO basis sets +and plane-wave basis sets. Note that the NWChem template file should +be matched to the LAMMPS input script (# of atoms and atom types, box +size, etc). + +Once you run NWChem yourself, the nwchem_lammps.out file will be +overwritten. + +The syntax of the wrapper is: +nwchem_wrap.py file/zmq ao/pw input_template +* file/zmg = messaging mode, must match LAMMPS messaging mode +* ao/pw = basis set mode, selects between atom-centered and plane-wave + the input_template file must correspond to the appropriate basis set mode: + the "ao" mode supports the scf and dft modules in NWChem, + the "pw" mode supports the nwpw module. +* input_template = NWChem input file used as template, must include a + "geometry" block with the atoms in the simulation, dummy + xyz coordinates should be included (but are not used). + Atom ordering must match LAMMPS input. + +During a simulation, the molecular orbitals from the previous timestep +will be used as the initial guess for the next NWChem calculation. If +a file named "nwchem_lammps.movecs" is in the directory the wrapper is +called from, these orbitals will be used as the initial guess orbitals +in the first step of the simulation. + +---------------- + +Example directories + +(1) planewave + +Demonstrates coupling of the nwpw module in NWChem with LAMMPS. Only fully +periodic boundary conditions and orthogonal simulation boxes are currently +supported by the wrapper. The included files provide an example run using a +2 atom unit cell of tungsten. + +Files: + * data.W LAMMPS input with geometry information + * in.client.W LAMMPS simulation input + * log.client.output LAMMPS simulation output + * w.nw NWChem template input file + * nwchem_lammps.out NWChem output + +(2) ao_basis + +Demonstrates coupling of the scf (or dft) modules in NWChem with +LAMMPS. Only fully aperiodic boundary conditions are currently +supported by the wrapper. The included files provide an example run +using a single water molecule. + +Files: + * data.h2o LAMMPS input with geometry information + * in.client.h2o LAMMPS simulation input + * log.client.output LAMMPS simulation output + * h2o.nw NWChem template input file + * nwchem_lammps.out NWChem output + +As noted above, you can run the nwchem_wrap.py script as-is to test that +the coupling between it and LAMMPS is functional. This will use the included +nwchem_lammps.out files. + +---------------- + +To run in client/server mode: + +NOTE: The nwchem_wrap.py script must be run with Python version 2, not +3. This is because it used the CSlib python wrapper, which only +supports version 2. We plan to upgrade CSlib to support Python 3. + +Both the client (LAMMPS) and server (nwchem_wrap.py) must use the same +messaging mode, namely file or zmq. This is an argument to the +nwchem_wrap.py code; it can be selected by setting the "mode" variable +when you run LAMMPS. The default mode = file. + +Here we assume LAMMPS was built to run in parallel, and the MESSAGE +package was installed with socket (ZMQ) support. This means either of +the messaging modes can be used and LAMMPS can be run in serial or +parallel. The nwchem_wrap.py code is always run in serial, but it +launches NWChem from Python via an mpirun command which can run NWChem +itself in parallel. + +When you run, the server should print out thermodynamic info every +timestep which corresponds to the forces and virial computed by NWChem. +NWChem will also generate output files each timestep. Output files from +previous timesteps are archived in a "nwchem_logs" directory. + +The examples below are commands you should use in two different +terminal windows. The order of the two commands (client or server +launch) does not matter. You can run them both in the same window if +you append a "&" character to the first one to run it in the +background. + +-------------- + +File mode of messaging: + +% mpirun -np 1 lmp_mpi -v mode file < in.client.W +% python nwchem_wrap.py file pw w.nw + +% mpirun -np 2 lmp_mpi -v mode file < in.client.h2o +% python nwchem_wrap.py file ao h2o.nw + +ZMQ mode of messaging: + +% mpirun -np 1 lmp_mpi -v mode zmq < in.client.W +% python nwchem_wrap.py zmq pw w.nw + +% mpirun -np 2 lmp_mpi -v mode zmq < in.client.h2o +% python nwchem_wrap.py zmq ao h2o.nw diff --git a/examples/COUPLE/lammps_nwchem/ao_basis/data.h2o b/examples/COUPLE/lammps_nwchem/ao_basis/data.h2o new file mode 100644 index 0000000000000000000000000000000000000000..90f63e17ceb4de960cdc5ecbaeffa7335817d125 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/ao_basis/data.h2o @@ -0,0 +1,20 @@ +LAMMPS H2O data file + +3 atoms + +2 atom types + +-10.0 10.0 xlo xhi +-10.0 10.0 ylo yhi +-10.0 10.0 zlo zhi + +Masses + +1 15.994915008544922 +2 1.0078250169754028 + +Atoms + +1 1 0.0 0.0 0.0 +2 2 0.0 0.756723 -0.585799 +3 2 0.0 -0.756723 -0.585799 diff --git a/examples/COUPLE/lammps_nwchem/ao_basis/h2o.nw b/examples/COUPLE/lammps_nwchem/ao_basis/h2o.nw new file mode 100644 index 0000000000000000000000000000000000000000..285a2a33c8ecbddebd3e56fe559cd44d108948ad --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/ao_basis/h2o.nw @@ -0,0 +1,25 @@ +echo + +memory global 40 mb stack 23 mb heap 5 mb + +geometry units angstrom noautosym + O 0.0 0.0 0.0 + H 1.0 0.5 0.0 + H -1.0 0.5 0.0 +end + +basis + O library 6-31g* + H library 6-31g* +end + +scf + maxiter 100 +end + +#dft +# xc b3lyp +#end + +task scf gradient +#task dft gradient diff --git a/examples/COUPLE/lammps_nwchem/ao_basis/in.client.h2o b/examples/COUPLE/lammps_nwchem/ao_basis/in.client.h2o new file mode 100644 index 0000000000000000000000000000000000000000..20072f50aa3c2f66a684a615900f0018a96f30c0 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/ao_basis/in.client.h2o @@ -0,0 +1,27 @@ +# H2O with NWChem + +variable mode index file + +if "${mode} == file" then & + "message client md file tmp.couple" & +elif "${mode} == zmq" & + "message client md zmq localhost:5555" & + +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +boundary m m m +read_data data.h2o + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +run 3 diff --git a/examples/COUPLE/lammps_nwchem/ao_basis/in.client.h2o.min b/examples/COUPLE/lammps_nwchem/ao_basis/in.client.h2o.min new file mode 100644 index 0000000000000000000000000000000000000000..4a506d0924b84b77aa54dc27f2c7fceb848d1247 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/ao_basis/in.client.h2o.min @@ -0,0 +1,30 @@ +# H2O with NWChem + +variable mode index file + +if "${mode} == file" then & + "message client md file tmp.couple" & +elif "${mode} == zmq" & + "message client md zmq localhost:5555" & + +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +boundary m m m +read_data data.h2o + +group one id 2 +displace_atoms one move 0.1 0.2 0.3 + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +minimize 1.0e-6 1.0e-6 10 50 diff --git a/examples/COUPLE/lammps_nwchem/ao_basis/log.client.output b/examples/COUPLE/lammps_nwchem/ao_basis/log.client.output new file mode 100644 index 0000000000000000000000000000000000000000..49ec904beab5f98294cdfd7f88b2c30bf864b738 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/ao_basis/log.client.output @@ -0,0 +1,66 @@ +LAMMPS (19 Sep 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:93) + using 1 OpenMP thread(s) per MPI task +# H2O with NWChem + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" +message client md file tmp.couple +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +boundary m m m +read_data data.h2o + orthogonal box = (-10 -10 -10) to (10 10 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + read_data CPU = 0.000627125 secs + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +run 3 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:166) +Per MPI rank memory allocation (min/avg/max) = 0.0276 | 0.0276 | 0.0276 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 300 0 0 0.077556087 10.354878 8000 + 1 300 0 0 0.077556087 10.354878 8000 + 2 300 0 0 0.077556087 10.354878 8000 + 3 300 0 0 0.077556087 10.354878 8000 +Loop time of 0.30198 on 1 procs for 3 steps with 3 atoms + +Performance: 0.858 ns/day, 27.961 hours/ns, 9.934 timesteps/s +0.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 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 2.5979e-06 | 2.5979e-06 | 2.5979e-06 | 0.0 | 0.00 +Output | 0.00012053 | 0.00012053 | 0.00012053 | 0.0 | 0.04 +Modify | 0.30185 | 0.30185 | 0.30185 | 0.0 | 99.96 +Other | | 8.211e-06 | | | 0.00 + +Nlocal: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds not checked +Total wall time: 0:00:07 diff --git a/examples/COUPLE/lammps_nwchem/ao_basis/log.lammps.h2o.31Jan20 b/examples/COUPLE/lammps_nwchem/ao_basis/log.lammps.h2o.31Jan20 new file mode 100644 index 0000000000000000000000000000000000000000..f4dedfcce51be95952a0c4e4c4995b9995c3bb57 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/ao_basis/log.lammps.h2o.31Jan20 @@ -0,0 +1,66 @@ +LAMMPS (19 Sep 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:93) + using 1 OpenMP thread(s) per MPI task +# H2O with NWChem + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" +message client md file tmp.couple +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +boundary m m m +read_data data.h2o + orthogonal box = (-10 -10 -10) to (10 10 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + read_data CPU = 0.000608759 secs + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +run 3 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:166) +Per MPI rank memory allocation (min/avg/max) = 0.0276 | 0.0276 | 0.0276 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 300 0 0 -2068.2746 10.354878 8000 + 1 200.33191 0 0 -2068.2704 6.9147085 8000 + 2 152.36218 0 0 -2068.269 5.2589726 8000 + 3 227.40679 0 0 -2068.2722 7.8492321 8000 +Loop time of 1.90319 on 1 procs for 3 steps with 3 atoms + +Performance: 0.136 ns/day, 176.221 hours/ns, 1.576 timesteps/s +0.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 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 3.9274e-06 | 3.9274e-06 | 3.9274e-06 | 0.0 | 0.00 +Output | 0.00011798 | 0.00011798 | 0.00011798 | 0.0 | 0.01 +Modify | 1.9031 | 1.9031 | 1.9031 | 0.0 | 99.99 +Other | | 1.054e-05 | | | 0.00 + +Nlocal: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds not checked +Total wall time: 0:00:07 diff --git a/examples/COUPLE/lammps_nwchem/ao_basis/log.lammps.h2o.min.31Jan20 b/examples/COUPLE/lammps_nwchem/ao_basis/log.lammps.h2o.min.31Jan20 new file mode 100644 index 0000000000000000000000000000000000000000..5fb1f93318c887ca7413f32601446114826e401d --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/ao_basis/log.lammps.h2o.min.31Jan20 @@ -0,0 +1,82 @@ +LAMMPS (19 Sep 2019) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:93) + using 1 OpenMP thread(s) per MPI task +# H2O with NWChem + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" +message client md file tmp.couple +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +boundary m m m +read_data data.h2o + orthogonal box = (-10 -10 -10) to (10 10 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + read_data CPU = 0.000615383 secs + +group one id 2 +1 atoms in group one +displace_atoms one move 0.1 0.2 0.3 + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +minimize 1.0e-6 1.0e-6 10 50 +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:174) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:166) +Per MPI rank memory allocation (min/avg/max) = 0.0279 | 0.0279 | 0.0279 Mbytes +Step Temp E_pair E_mol TotEng Press Volume + 0 300 0 0 -2067.8909 10.354878 8000 + 1 300 0 0 -2068.0707 10.354878 8000 + 2 300 0 0 -2068.252 10.354878 8000 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:166) + 3 300 0 0 -2068.2797 10.354878 8000 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (src/comm_brick.cpp:166) + 4 300 0 0 -2068.2799 10.354878 8000 +Loop time of 5.71024 on 1 procs for 4 steps with 3 atoms + +0.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = energy tolerance + Energy initial, next-to-last, final = + -2067.96847053 -2068.35730416 -2068.35745184 + Force two-norm initial, final = 4.54685 0.124714 + Force max component initial, final = 3.48924 0.0859263 + Final line search alpha, max atom move = 1 0.0859263 + Iterations, force evaluations = 4 8 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 6.2305e-07 | 6.2305e-07 | 6.2305e-07 | 0.0 | 0.00 +Comm | 1.1522e-05 | 1.1522e-05 | 1.1522e-05 | 0.0 | 0.00 +Output | 8.4217e-05 | 8.4217e-05 | 8.4217e-05 | 0.0 | 0.00 +Modify | 5.7099 | 5.7099 | 5.7099 | 0.0 | 99.99 +Other | | 0.0002355 | | | 0.00 + +Nlocal: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 2 +Dangerous builds not checked +Total wall time: 0:00:10 diff --git a/examples/COUPLE/lammps_nwchem/ao_basis/nwchem_lammps.out b/examples/COUPLE/lammps_nwchem/ao_basis/nwchem_lammps.out new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/examples/COUPLE/lammps_nwchem/ao_basis/nwchem_lammps.out.h2o.31Jan20 b/examples/COUPLE/lammps_nwchem/ao_basis/nwchem_lammps.out.h2o.31Jan20 new file mode 100644 index 0000000000000000000000000000000000000000..bba8a12a22ac9fcb346eec79cc4aafe65684a134 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/ao_basis/nwchem_lammps.out.h2o.31Jan20 @@ -0,0 +1,626 @@ + argument 1 = nwchem_lammps.nw + + + +============================== echo of input deck ============================== +echo + +memory global 40 mb stack 23 mb heap 5 mb + +geometry units angstrom noautosym nocenter +O 0.00197082 0.0012463 -0.00298048 +H -0.0432066 0.769363 -0.596119 +H 0.0119282 -0.789143 -0.528177 +end + +scf + vectors input nwchem_lammps.movecs +end + +dft + vectors input nwchem_lammps.movecs +end + +basis + O library 6-31g* + H library 6-31g* +end + +scf + maxiter 100 +end + +#dft +# xc b3lyp +#end + +task scf gradient +#task dft gradient +================================================================================ + + + + + + + Northwest Computational Chemistry Package (NWChem) 6.8 + ------------------------------------------------------ + + + Environmental Molecular Sciences Laboratory + Pacific Northwest National Laboratory + Richland, WA 99352 + + Copyright (c) 1994-2018 + Pacific Northwest National Laboratory + Battelle Memorial Institute + + NWChem is an open-source computational chemistry package + distributed under the terms of the + Educational Community License (ECL) 2.0 + A copy of the license is included with this distribution + in the LICENSE.TXT file + + ACKNOWLEDGMENT + -------------- + + This software and its documentation were developed at the + EMSL at Pacific Northwest National Laboratory, a multiprogram + national laboratory, operated for the U.S. Department of Energy + by Battelle under Contract Number DE-AC05-76RL01830. Support + for this work was provided by the Department of Energy Office + of Biological and Environmental Research, Office of Basic + Energy Sciences, and the Office of Advanced Scientific Computing. + + + Job information + --------------- + + hostname = almondjoy + program = /home/jboschen/nwchem-6.8.1-release/bin/LINUX64/nwchem + date = Fri Jan 31 00:31:00 2020 + + compiled = Tue_Oct_01_13:20:43_2019 + source = /home/jboschen/nwchem-6.8.1-release + nwchem branch = Development + nwchem revision = N/A + ga revision = 5.6.5 + use scalapack = F + input = nwchem_lammps.nw + prefix = nwchem_lammps. + data base = ./nwchem_lammps.db + status = restart + nproc = 1 + time left = -1s + + + + Memory information + ------------------ + + heap = 655358 doubles = 5.0 Mbytes + stack = 3014651 doubles = 23.0 Mbytes + global = 5242880 doubles = 40.0 Mbytes (distinct from heap & stack) + total = 8912889 doubles = 68.0 Mbytes + verify = yes + hardfail = no + + + Directory information + --------------------- + + 0 permanent = . + 0 scratch = . + + + Previous task information + ------------------------- + + Theory = scf + Operation = gradient + Status = ok + Qmmm = F + Ignore = F + + + Geometries in the database + -------------------------- + + Name Natoms Last Modified + -------------------------------- ------ ------------------------ + 1 geometry 3 Fri Jan 31 00:30:59 2020 + + The geometry named "geometry" is the default for restart + + + + Basis sets in the database + -------------------------- + + Name Natoms Last Modified + -------------------------------- ------ ------------------------ + 1 ao basis 2 Fri Jan 31 00:30:59 2020 + + The basis set named "ao basis" is the default AO basis for restart + + + + + NWChem Input Module + ------------------- + + + + Scaling coordinates for geometry "geometry" by 1.889725989 + (inverse scale = 0.529177249) + + + ------ + auto-z + ------ + no constraints, skipping 0.0000000000000000 + no constraints, skipping 0.0000000000000000 + + + Geometry "geometry" -> "" + ------------------------- + + Output coordinates in angstroms (scale by 1.889725989 to convert to a.u.) + + No. Tag Charge X Y Z + ---- ---------------- ---------- -------------- -------------- -------------- + 1 O 8.0000 0.00197082 0.00124630 -0.00298048 + 2 H 1.0000 -0.04320660 0.76936300 -0.59611900 + 3 H 1.0000 0.01192820 -0.78914300 -0.52817700 + + Atomic Mass + ----------- + + O 15.994910 + H 1.007825 + + + Effective nuclear repulsion energy (a.u.) 9.1573270473 + + Nuclear Dipole moment (a.u.) + ---------------------------- + X Y Z + ---------------- ---------------- ---------------- + -0.0293131272 -0.0185374561 -2.1696696942 + + + + Z-matrix (autoz) + -------- + + Units are Angstrom for bonds and degrees for angles + + Type Name I J K L M Value + ----------- -------- ----- ----- ----- ----- ----- ---------- + 1 Stretch 1 2 0.97152 + 2 Stretch 1 3 0.94902 + 3 Bend 2 1 3 108.72901 + + + XYZ format geometry + ------------------- + 3 + geometry + O 0.00197082 0.00124630 -0.00298048 + H -0.04320660 0.76936300 -0.59611900 + H 0.01192820 -0.78914300 -0.52817700 + + ============================================================================== + internuclear distances + ------------------------------------------------------------------------------ + center one | center two | atomic units | angstroms + ------------------------------------------------------------------------------ + 2 H | 1 O | 1.83591 | 0.97152 + 3 H | 1 O | 1.79339 | 0.94902 + ------------------------------------------------------------------------------ + number of included internuclear distances: 2 + ============================================================================== + + + + ============================================================================== + internuclear angles + ------------------------------------------------------------------------------ + center 1 | center 2 | center 3 | degrees + ------------------------------------------------------------------------------ + 2 H | 1 O | 3 H | 108.73 + ------------------------------------------------------------------------------ + number of included internuclear angles: 1 + ============================================================================== + + + + Basis "ao basis" -> "" (cartesian) + ----- + O (Oxygen) + ---------- + Exponent Coefficients + -------------- --------------------------------------------------------- + 1 S 5.48467170E+03 0.001831 + 1 S 8.25234950E+02 0.013950 + 1 S 1.88046960E+02 0.068445 + 1 S 5.29645000E+01 0.232714 + 1 S 1.68975700E+01 0.470193 + 1 S 5.79963530E+00 0.358521 + + 2 S 1.55396160E+01 -0.110778 + 2 S 3.59993360E+00 -0.148026 + 2 S 1.01376180E+00 1.130767 + + 3 P 1.55396160E+01 0.070874 + 3 P 3.59993360E+00 0.339753 + 3 P 1.01376180E+00 0.727159 + + 4 S 2.70005800E-01 1.000000 + + 5 P 2.70005800E-01 1.000000 + + 6 D 8.00000000E-01 1.000000 + + H (Hydrogen) + ------------ + Exponent Coefficients + -------------- --------------------------------------------------------- + 1 S 1.87311370E+01 0.033495 + 1 S 2.82539370E+00 0.234727 + 1 S 6.40121700E-01 0.813757 + + 2 S 1.61277800E-01 1.000000 + + + + Summary of "ao basis" -> "" (cartesian) + ------------------------------------------------------------------------------ + Tag Description Shells Functions and Types + ---------------- ------------------------------ ------ --------------------- + O 6-31g* 6 15 3s2p1d + H 6-31g* 2 2 2s + + + NWChem SCF Module + ----------------- + + + + ao basis = "ao basis" + functions = 19 + atoms = 3 + closed shells = 5 + open shells = 0 + charge = 0.00 + wavefunction = RHF + input vectors = ./nwchem_lammps.movecs + output vectors = ./nwchem_lammps.movecs + use symmetry = F + symmetry adapt = F + + + Summary of "ao basis" -> "ao basis" (cartesian) + ------------------------------------------------------------------------------ + Tag Description Shells Functions and Types + ---------------- ------------------------------ ------ --------------------- + O 6-31g* 6 15 3s2p1d + H 6-31g* 2 2 2s + + + + Forming initial guess at 0.0s + + + Loading old vectors from job with title : + + + + + Starting SCF solution at 0.0s + + + + ---------------------------------------------- + Quadratically convergent ROHF + + Convergence threshold : 1.000E-04 + Maximum no. of iterations : 100 + Final Fock-matrix accuracy: 1.000E-07 + ---------------------------------------------- + + + #quartets = 1.540D+03 #integrals = 1.424D+04 #direct = 0.0% #cached =100.0% + + + Integral file = ./nwchem_lammps.aoints.0 + Record size in doubles = 65536 No. of integs per rec = 43688 + Max. records in memory = 2 Max. records in file = 1392051 + No. of bits per label = 8 No. of bits per value = 64 + + + iter energy gnorm gmax time + ----- ------------------- --------- --------- -------- + 1 -76.0095751323 4.63D-02 1.64D-02 0.1 + 2 -76.0097628164 8.13D-04 2.83D-04 0.1 + 3 -76.0097629130 3.92D-06 1.55D-06 0.1 + + + Final RHF results + ------------------ + + Total SCF energy = -76.009762913030 + One-electron energy = -123.002897732381 + Two-electron energy = 37.835807772101 + Nuclear repulsion energy = 9.157327047250 + + Time for solution = 0.0s + + + Final eigenvalues + ----------------- + + 1 + 1 -20.5584 + 2 -1.3367 + 3 -0.7128 + 4 -0.5617 + 5 -0.4959 + 6 0.2104 + 7 0.3038 + 8 1.0409 + 9 1.1202 + 10 1.1606 + 11 1.1691 + 12 1.3840 + 13 1.4192 + 14 2.0312 + 15 2.0334 + + ROHF Final Molecular Orbital Analysis + ------------------------------------- + + Vector 2 Occ=2.000000D+00 E=-1.336749D+00 + MO Center= -2.8D-03, -1.3D-02, -1.7D-01, r^2= 5.1D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 2 0.476636 1 O s 6 0.442369 1 O s + 1 -0.210214 1 O s + + Vector 3 Occ=2.000000D+00 E=-7.127948D-01 + MO Center= -4.9D-03, 3.9D-03, -2.1D-01, r^2= 7.8D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 4 0.504894 1 O py 8 0.303932 1 O py + 18 -0.234724 3 H s 16 0.229765 2 H s + + Vector 4 Occ=2.000000D+00 E=-5.617306D-01 + MO Center= 3.6D-03, 9.0D-03, 5.6D-02, r^2= 6.9D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 5 0.559565 1 O pz 9 0.410981 1 O pz + 6 0.315892 1 O s 2 0.157960 1 O s + + Vector 5 Occ=2.000000D+00 E=-4.959173D-01 + MO Center= 1.4D-03, 6.9D-05, -2.2D-02, r^2= 6.0D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 0.638390 1 O px 7 0.511530 1 O px + + Vector 6 Occ=0.000000D+00 E= 2.103822D-01 + MO Center= -2.3D-02, 3.5D-02, -7.3D-01, r^2= 2.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 6 1.416869 1 O s 17 -1.068330 2 H s + 19 -1.014775 3 H s 9 -0.490951 1 O pz + 5 -0.212990 1 O pz + + Vector 7 Occ=0.000000D+00 E= 3.037943D-01 + MO Center= -1.8D-02, -8.9D-02, -7.1D-01, r^2= 2.8D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 19 -1.426837 3 H s 17 1.332767 2 H s + 8 -0.842141 1 O py 4 -0.327553 1 O py + + Vector 8 Occ=0.000000D+00 E= 1.040852D+00 + MO Center= -7.4D-03, 1.3D-01, -1.6D-01, r^2= 1.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 16 0.931594 2 H s 18 -0.747590 3 H s + 8 -0.655817 1 O py 17 -0.523035 2 H s + 19 0.366407 3 H s 14 -0.357109 1 O dyz + + Vector 9 Occ=0.000000D+00 E= 1.120172D+00 + MO Center= -6.8D-03, -2.9D-02, -3.1D-01, r^2= 1.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 6 1.145090 1 O s 18 0.841596 3 H s + 2 -0.727471 1 O s 16 0.684927 2 H s + 9 0.559191 1 O pz 19 -0.546678 3 H s + 17 -0.538778 2 H s 10 -0.344609 1 O dxx + 15 -0.250035 1 O dzz + + Vector 10 Occ=0.000000D+00 E= 1.160603D+00 + MO Center= 1.2D-02, -4.3D-02, 2.5D-01, r^2= 1.0D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 6 1.137949 1 O s 5 -0.844233 1 O pz + 9 0.595088 1 O pz 2 -0.475986 1 O s + 18 -0.455932 3 H s 16 -0.357325 2 H s + 13 -0.317117 1 O dyy 15 -0.196968 1 O dzz + + Vector 11 Occ=0.000000D+00 E= 1.169054D+00 + MO Center= 1.9D-03, 1.2D-03, -6.4D-03, r^2= 1.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 7 -1.034653 1 O px 3 0.962043 1 O px + + Vector 12 Occ=0.000000D+00 E= 1.384034D+00 + MO Center= 6.0D-04, -2.6D-03, -5.0D-02, r^2= 1.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 8 1.557767 1 O py 4 -1.035829 1 O py + 17 -0.900920 2 H s 19 0.901756 3 H s + + Vector 13 Occ=0.000000D+00 E= 1.419205D+00 + MO Center= -1.3D-02, -4.9D-02, -5.2D-01, r^2= 1.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 6 3.605136 1 O s 2 -1.454853 1 O s + 9 -1.107532 1 O pz 19 -0.874208 3 H s + 17 -0.757016 2 H s 13 -0.634436 1 O dyy + 5 0.516593 1 O pz 15 -0.401100 1 O dzz + 10 -0.319873 1 O dxx 16 -0.260650 2 H s + + Vector 14 Occ=0.000000D+00 E= 2.031234D+00 + MO Center= 1.9D-03, 2.3D-03, -3.0D-03, r^2= 6.1D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 11 1.727083 1 O dxy + + Vector 15 Occ=0.000000D+00 E= 2.033369D+00 + MO Center= 3.4D-03, 3.4D-03, 4.3D-02, r^2= 6.2D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 15 1.012642 1 O dzz 13 -0.512441 1 O dyy + 10 -0.438481 1 O dxx 6 -0.226567 1 O s + + + center of mass + -------------- + x = -0.00000001 y = -0.00000003 z = -0.12388979 + + moments of inertia (a.u.) + ------------------ + 6.378705068992 0.153373998471 -0.069687034145 + 0.153373998471 2.014476065716 0.150739744400 + -0.069687034145 0.150739744400 4.379134195179 + + Mulliken analysis of the total density + -------------------------------------- + + Atom Charge Shell Charges + ----------- ------ ------------------------------------------------------- + 1 O 8 8.87 2.00 0.90 2.90 0.92 2.08 0.08 + 2 H 1 0.56 0.46 0.11 + 3 H 1 0.56 0.47 0.10 + + Multipole analysis of the density wrt the origin + ------------------------------------------------ + + L x y z total open nuclear + - - - - ----- ---- ------- + 0 0 0 0 -0.000000 0.000000 10.000000 + + 1 1 0 0 -0.026417 0.000000 -0.029313 + 1 0 1 0 -0.023604 0.000000 -0.018537 + 1 0 0 1 -0.846090 0.000000 -2.169670 + + 2 2 0 0 -5.373227 0.000000 0.007286 + 2 1 1 0 -0.085617 0.000000 -0.152252 + 2 1 0 1 0.038215 0.000000 0.069311 + 2 0 2 0 -2.927589 0.000000 4.337695 + 2 0 1 1 -0.071410 0.000000 -0.149465 + 2 0 0 2 -4.159949 0.000000 2.265483 + + + Parallel integral file used 1 records with 0 large values + + NWChem Gradients Module + ----------------------- + + + + wavefunction = RHF + + + + RHF ENERGY GRADIENTS + + atom coordinates gradient + x y z x y z + 1 O 0.003724 0.002355 -0.005632 0.000909 -0.019294 0.007866 + 2 H -0.081649 1.453885 -1.126502 -0.001242 0.025549 -0.011605 + 3 H 0.022541 -1.491264 -0.998110 0.000333 -0.006255 0.003739 + + ---------------------------------------- + | Time | 1-e(secs) | 2-e(secs) | + ---------------------------------------- + | CPU | 0.00 | 0.03 | + ---------------------------------------- + | WALL | 0.00 | 0.03 | + ---------------------------------------- + + Task times cpu: 0.1s wall: 0.1s + + + NWChem Input Module + ------------------- + + + Summary of allocated global arrays +----------------------------------- + No active global arrays + + + + GA Statistics for process 0 + ------------------------------ + + create destroy get put acc scatter gather read&inc +calls: 182 182 2869 728 468 0 0 68 +number of processes/call 1.00e+00 1.00e+00 1.00e+00 0.00e+00 0.00e+00 +bytes total: 6.18e+05 3.56e+05 1.04e+05 0.00e+00 0.00e+00 5.44e+02 +bytes remote: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 +Max memory consumed for GA by this process: 39432 bytes + +MA_summarize_allocated_blocks: starting scan ... +MA_summarize_allocated_blocks: scan completed: 0 heap blocks, 0 stack blocks +MA usage statistics: + + allocation statistics: + heap stack + ---- ----- + current number of blocks 0 0 + maximum number of blocks 18 28 + current total bytes 0 0 + maximum total bytes 1060104 16000888 + maximum total K-bytes 1061 16001 + maximum total M-bytes 2 17 + + + CITATION + -------- + Please cite the following reference when publishing + results obtained with NWChem: + + M. Valiev, E.J. Bylaska, N. Govind, K. Kowalski, + T.P. Straatsma, H.J.J. van Dam, D. Wang, J. Nieplocha, + E. Apra, T.L. Windus, W.A. de Jong + "NWChem: a comprehensive and scalable open-source + solution for large scale molecular simulations" + Comput. Phys. Commun. 181, 1477 (2010) + doi:10.1016/j.cpc.2010.04.018 + + AUTHORS + ------- + E. Apra, E. J. Bylaska, W. A. de Jong, N. Govind, K. Kowalski, + T. P. Straatsma, M. Valiev, H. J. J. van Dam, D. Wang, T. L. Windus, + J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, K. Lopata, + S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, O. Villa, + Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, V. Konjkov, + D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich, + A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao, + P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr, + M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju, + M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, L. Jensen, M. Swart, + Q. Wu, T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown, + G. Cisneros, G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall, + J. A. Nichols, K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt, + P. Borowski, T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall, + D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson, + J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng, + T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone, + M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang. + + Total times cpu: 0.1s wall: 0.2s diff --git a/examples/COUPLE/lammps_nwchem/ao_basis/nwchem_lammps.out.h2o.min.31Jan20 b/examples/COUPLE/lammps_nwchem/ao_basis/nwchem_lammps.out.h2o.min.31Jan20 new file mode 100644 index 0000000000000000000000000000000000000000..059581372899ac68dc98539ac578be85f7bcfc7d --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/ao_basis/nwchem_lammps.out.h2o.min.31Jan20 @@ -0,0 +1,626 @@ + argument 1 = nwchem_lammps.nw + + + +============================== echo of input deck ============================== +echo + +memory global 40 mb stack 23 mb heap 5 mb + +geometry units angstrom noautosym nocenter +O -0.00836667 0.0010006 0.0866404 +H 0.0968795 0.837453 -0.346117 +H 0.0114839 -0.638453 -0.612122 +end + +scf + vectors input nwchem_lammps.movecs +end + +dft + vectors input nwchem_lammps.movecs +end + +basis + O library 6-31g* + H library 6-31g* +end + +scf + maxiter 100 +end + +#dft +# xc b3lyp +#end + +task scf gradient +#task dft gradient +================================================================================ + + + + + + + Northwest Computational Chemistry Package (NWChem) 6.8 + ------------------------------------------------------ + + + Environmental Molecular Sciences Laboratory + Pacific Northwest National Laboratory + Richland, WA 99352 + + Copyright (c) 1994-2018 + Pacific Northwest National Laboratory + Battelle Memorial Institute + + NWChem is an open-source computational chemistry package + distributed under the terms of the + Educational Community License (ECL) 2.0 + A copy of the license is included with this distribution + in the LICENSE.TXT file + + ACKNOWLEDGMENT + -------------- + + This software and its documentation were developed at the + EMSL at Pacific Northwest National Laboratory, a multiprogram + national laboratory, operated for the U.S. Department of Energy + by Battelle under Contract Number DE-AC05-76RL01830. Support + for this work was provided by the Department of Energy Office + of Biological and Environmental Research, Office of Basic + Energy Sciences, and the Office of Advanced Scientific Computing. + + + Job information + --------------- + + hostname = almondjoy + program = /home/jboschen/nwchem-6.8.1-release/bin/LINUX64/nwchem + date = Fri Jan 31 00:33:40 2020 + + compiled = Tue_Oct_01_13:20:43_2019 + source = /home/jboschen/nwchem-6.8.1-release + nwchem branch = Development + nwchem revision = N/A + ga revision = 5.6.5 + use scalapack = F + input = nwchem_lammps.nw + prefix = nwchem_lammps. + data base = ./nwchem_lammps.db + status = restart + nproc = 1 + time left = -1s + + + + Memory information + ------------------ + + heap = 655358 doubles = 5.0 Mbytes + stack = 3014651 doubles = 23.0 Mbytes + global = 5242880 doubles = 40.0 Mbytes (distinct from heap & stack) + total = 8912889 doubles = 68.0 Mbytes + verify = yes + hardfail = no + + + Directory information + --------------------- + + 0 permanent = . + 0 scratch = . + + + Previous task information + ------------------------- + + Theory = scf + Operation = gradient + Status = ok + Qmmm = F + Ignore = F + + + Geometries in the database + -------------------------- + + Name Natoms Last Modified + -------------------------------- ------ ------------------------ + 1 geometry 3 Fri Jan 31 00:33:40 2020 + + The geometry named "geometry" is the default for restart + + + + Basis sets in the database + -------------------------- + + Name Natoms Last Modified + -------------------------------- ------ ------------------------ + 1 ao basis 2 Fri Jan 31 00:33:40 2020 + + The basis set named "ao basis" is the default AO basis for restart + + + + + NWChem Input Module + ------------------- + + + + Scaling coordinates for geometry "geometry" by 1.889725989 + (inverse scale = 0.529177249) + + + ------ + auto-z + ------ + no constraints, skipping 0.0000000000000000 + no constraints, skipping 0.0000000000000000 + + + Geometry "geometry" -> "" + ------------------------- + + Output coordinates in angstroms (scale by 1.889725989 to convert to a.u.) + + No. Tag Charge X Y Z + ---- ---------------- ---------- -------------- -------------- -------------- + 1 O 8.0000 -0.00836667 0.00100060 0.08664040 + 2 H 1.0000 0.09687950 0.83745300 -0.34611700 + 3 H 1.0000 0.01148390 -0.63845300 -0.61212200 + + Atomic Mass + ----------- + + O 15.994910 + H 1.007825 + + + Effective nuclear repulsion energy (a.u.) 9.2881144400 + + Nuclear Dipole moment (a.u.) + ---------------------------- + X Y Z + ---------------- ---------------- ---------------- + 0.0782914233 0.3911823503 -0.5009962172 + + + + Z-matrix (autoz) + -------- + + Units are Angstrom for bonds and degrees for angles + + Type Name I J K L M Value + ----------- -------- ----- ----- ----- ----- ----- ---------- + 1 Stretch 1 2 0.94763 + 2 Stretch 1 3 0.94740 + 3 Bend 2 1 3 104.86952 + + + XYZ format geometry + ------------------- + 3 + geometry + O -0.00836667 0.00100060 0.08664040 + H 0.09687950 0.83745300 -0.34611700 + H 0.01148390 -0.63845300 -0.61212200 + + ============================================================================== + internuclear distances + ------------------------------------------------------------------------------ + center one | center two | atomic units | angstroms + ------------------------------------------------------------------------------ + 2 H | 1 O | 1.79077 | 0.94763 + 3 H | 1 O | 1.79032 | 0.94740 + ------------------------------------------------------------------------------ + number of included internuclear distances: 2 + ============================================================================== + + + + ============================================================================== + internuclear angles + ------------------------------------------------------------------------------ + center 1 | center 2 | center 3 | degrees + ------------------------------------------------------------------------------ + 2 H | 1 O | 3 H | 104.87 + ------------------------------------------------------------------------------ + number of included internuclear angles: 1 + ============================================================================== + + + + Basis "ao basis" -> "" (cartesian) + ----- + O (Oxygen) + ---------- + Exponent Coefficients + -------------- --------------------------------------------------------- + 1 S 5.48467170E+03 0.001831 + 1 S 8.25234950E+02 0.013950 + 1 S 1.88046960E+02 0.068445 + 1 S 5.29645000E+01 0.232714 + 1 S 1.68975700E+01 0.470193 + 1 S 5.79963530E+00 0.358521 + + 2 S 1.55396160E+01 -0.110778 + 2 S 3.59993360E+00 -0.148026 + 2 S 1.01376180E+00 1.130767 + + 3 P 1.55396160E+01 0.070874 + 3 P 3.59993360E+00 0.339753 + 3 P 1.01376180E+00 0.727159 + + 4 S 2.70005800E-01 1.000000 + + 5 P 2.70005800E-01 1.000000 + + 6 D 8.00000000E-01 1.000000 + + H (Hydrogen) + ------------ + Exponent Coefficients + -------------- --------------------------------------------------------- + 1 S 1.87311370E+01 0.033495 + 1 S 2.82539370E+00 0.234727 + 1 S 6.40121700E-01 0.813757 + + 2 S 1.61277800E-01 1.000000 + + + + Summary of "ao basis" -> "" (cartesian) + ------------------------------------------------------------------------------ + Tag Description Shells Functions and Types + ---------------- ------------------------------ ------ --------------------- + O 6-31g* 6 15 3s2p1d + H 6-31g* 2 2 2s + + + NWChem SCF Module + ----------------- + + + + ao basis = "ao basis" + functions = 19 + atoms = 3 + closed shells = 5 + open shells = 0 + charge = 0.00 + wavefunction = RHF + input vectors = ./nwchem_lammps.movecs + output vectors = ./nwchem_lammps.movecs + use symmetry = F + symmetry adapt = F + + + Summary of "ao basis" -> "ao basis" (cartesian) + ------------------------------------------------------------------------------ + Tag Description Shells Functions and Types + ---------------- ------------------------------ ------ --------------------- + O 6-31g* 6 15 3s2p1d + H 6-31g* 2 2 2s + + + + Forming initial guess at 0.0s + + + Loading old vectors from job with title : + + + + + Starting SCF solution at 0.0s + + + + ---------------------------------------------- + Quadratically convergent ROHF + + Convergence threshold : 1.000E-04 + Maximum no. of iterations : 100 + Final Fock-matrix accuracy: 1.000E-07 + ---------------------------------------------- + + + #quartets = 1.540D+03 #integrals = 1.424D+04 #direct = 0.0% #cached =100.0% + + + Integral file = ./nwchem_lammps.aoints.0 + Record size in doubles = 65536 No. of integs per rec = 43688 + Max. records in memory = 2 Max. records in file = 1392051 + No. of bits per label = 8 No. of bits per value = 64 + + + iter energy gnorm gmax time + ----- ------------------- --------- --------- -------- + 1 -76.0107350035 4.75D-05 2.49D-05 0.1 + + + Final RHF results + ------------------ + + Total SCF energy = -76.010735003510 + One-electron energy = -123.220958992568 + Two-electron energy = 37.922109549024 + Nuclear repulsion energy = 9.288114440035 + + Time for solution = 0.0s + + + Final eigenvalues + ----------------- + + 1 + 1 -20.5583 + 2 -1.3466 + 3 -0.7130 + 4 -0.5721 + 5 -0.4985 + 6 0.2129 + 7 0.3068 + 8 1.0286 + 9 1.1338 + 10 1.1678 + 11 1.1807 + 12 1.3845 + 13 1.4334 + 14 2.0187 + 15 2.0311 + + ROHF Final Molecular Orbital Analysis + ------------------------------------- + + Vector 2 Occ=2.000000D+00 E=-1.346587D+00 + MO Center= 1.1D-02, 3.1D-02, -8.5D-02, r^2= 5.0D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 2 0.475648 1 O s 6 0.435095 1 O s + 1 -0.209463 1 O s + + Vector 3 Occ=2.000000D+00 E=-7.129747D-01 + MO Center= 1.5D-02, 3.8D-02, -1.3D-01, r^2= 7.6D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 4 0.500246 1 O py 8 0.299047 1 O py + 16 0.232138 2 H s 18 -0.232195 3 H s + + Vector 4 Occ=2.000000D+00 E=-5.720760D-01 + MO Center= -1.5D-02, -9.7D-03, 1.5D-01, r^2= 6.8D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 5 0.545527 1 O pz 9 0.395332 1 O pz + 6 0.326735 1 O s 2 0.164593 1 O s + + Vector 5 Occ=2.000000D+00 E=-4.984552D-01 + MO Center= -6.2D-03, 4.4D-03, 6.7D-02, r^2= 6.0D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 3 0.634559 1 O px 7 0.507891 1 O px + + Vector 6 Occ=0.000000D+00 E= 2.128732D-01 + MO Center= 7.5D-02, 1.3D-01, -6.6D-01, r^2= 2.6D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 6 1.437795 1 O s 17 -1.050892 2 H s + 19 -1.050374 3 H s 9 -0.494696 1 O pz + 5 -0.208359 1 O pz + + Vector 7 Occ=0.000000D+00 E= 3.067764D-01 + MO Center= 7.1D-02, 1.3D-01, -6.3D-01, r^2= 2.7D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 17 1.413885 2 H s 19 -1.414835 3 H s + 8 -0.824411 1 O py 4 -0.320355 1 O py + + Vector 8 Occ=0.000000D+00 E= 1.028607D+00 + MO Center= 7.1D-03, 2.6D-02, -5.2D-02, r^2= 1.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 16 0.839269 2 H s 18 -0.838060 3 H s + 8 -0.692349 1 O py 17 -0.426291 2 H s + 19 0.425092 3 H s 14 -0.319117 1 O dyz + + Vector 9 Occ=0.000000D+00 E= 1.133833D+00 + MO Center= -2.7D-02, -2.9D-02, 2.6D-01, r^2= 1.5D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 6 1.621086 1 O s 2 -0.910150 1 O s + 9 0.744864 1 O pz 16 0.490586 2 H s + 18 0.491102 3 H s 5 -0.484186 1 O pz + 17 -0.426087 2 H s 19 -0.425823 3 H s + 10 -0.375325 1 O dxx 15 -0.317874 1 O dzz + + Vector 10 Occ=0.000000D+00 E= 1.167849D+00 + MO Center= -8.0D-03, 1.6D-03, 8.3D-02, r^2= 1.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 7 -1.028149 1 O px 3 0.955686 1 O px + + Vector 11 Occ=0.000000D+00 E= 1.180721D+00 + MO Center= 1.8D-02, 4.2D-02, -1.5D-01, r^2= 1.1D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 16 0.710073 2 H s 18 0.711177 3 H s + 5 0.704677 1 O pz 17 -0.389719 2 H s + 19 -0.389376 3 H s 6 -0.326170 1 O s + 9 -0.288739 1 O pz 13 0.229749 1 O dyy + + Vector 12 Occ=0.000000D+00 E= 1.384514D+00 + MO Center= -7.4D-04, 1.3D-02, 1.8D-02, r^2= 1.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 8 1.510506 1 O py 4 -1.021750 1 O py + 17 -0.934844 2 H s 19 0.935260 3 H s + 9 0.272171 1 O pz 5 -0.184286 1 O pz + + Vector 13 Occ=0.000000D+00 E= 1.433397D+00 + MO Center= 4.7D-02, 8.7D-02, -4.1D-01, r^2= 1.4D+00 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 6 3.628985 1 O s 2 -1.436467 1 O s + 9 -1.143870 1 O pz 17 -0.805578 2 H s + 19 -0.806493 3 H s 13 -0.635948 1 O dyy + 5 0.489050 1 O pz 15 -0.410417 1 O dzz + 16 -0.312860 2 H s 18 -0.312722 3 H s + + Vector 14 Occ=0.000000D+00 E= 2.018721D+00 + MO Center= -1.4D-02, -7.1D-03, 1.3D-01, r^2= 6.2D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 15 0.947149 1 O dzz 14 -0.531399 1 O dyz + 13 -0.526961 1 O dyy 10 -0.358371 1 O dxx + 12 -0.297495 1 O dxz 6 -0.233087 1 O s + + Vector 15 Occ=0.000000D+00 E= 2.031133D+00 + MO Center= -8.4D-03, 1.0D-03, 8.7D-02, r^2= 6.1D-01 + Bfn. Coefficient Atom+Function Bfn. Coefficient Atom+Function + ----- ------------ --------------- ----- ------------ --------------- + 11 1.681563 1 O dxy 12 0.314688 1 O dxz + + + center of mass + -------------- + x = -0.00258245 y = 0.02272235 z = 0.04407491 + + moments of inertia (a.u.) + ------------------ + 6.155330507195 -0.266185800841 0.185335033231 + -0.266185800841 2.211585220634 -0.350250164177 + 0.185335033231 -0.350250164177 4.020009073007 + + Mulliken analysis of the total density + -------------------------------------- + + Atom Charge Shell Charges + ----------- ------ ------------------------------------------------------- + 1 O 8 8.87 2.00 0.90 2.91 0.91 2.06 0.08 + 2 H 1 0.57 0.47 0.10 + 3 H 1 0.57 0.47 0.10 + + Multipole analysis of the density wrt the origin + ------------------------------------------------ + + L x y z total open nuclear + - - - - ----- ---- ------- + 0 0 0 0 -0.000000 0.000000 10.000000 + + 1 1 0 0 0.094145 0.000000 0.078291 + 1 0 1 0 0.148179 0.000000 0.391182 + 1 0 0 1 -0.851621 0.000000 -0.500996 + + 2 2 0 0 -5.338111 0.000000 0.035987 + 2 1 1 0 0.149191 0.000000 0.263306 + 2 1 0 1 -0.084723 0.000000 -0.165556 + 2 0 2 0 -3.114464 0.000000 3.960160 + 2 0 1 1 0.205130 0.000000 0.362991 + 2 0 0 2 -4.329185 0.000000 1.980308 + + + Parallel integral file used 1 records with 0 large values + + NWChem Gradients Module + ----------------------- + + + + wavefunction = RHF + + + + RHF ENERGY GRADIENTS + + atom coordinates gradient + x y z x y z + 1 O -0.015811 0.001891 0.163727 -0.000201 -0.000505 0.001671 + 2 H 0.183076 1.582557 -0.654066 0.000065 -0.000505 -0.001056 + 3 H 0.021701 -1.206501 -1.156743 0.000136 0.001011 -0.000616 + + ---------------------------------------- + | Time | 1-e(secs) | 2-e(secs) | + ---------------------------------------- + | CPU | 0.00 | 0.03 | + ---------------------------------------- + | WALL | 0.00 | 0.03 | + ---------------------------------------- + + Task times cpu: 0.1s wall: 0.1s + + + NWChem Input Module + ------------------- + + + Summary of allocated global arrays +----------------------------------- + No active global arrays + + + + GA Statistics for process 0 + ------------------------------ + + create destroy get put acc scatter gather read&inc +calls: 46 46 2296 477 27 0 0 68 +number of processes/call 1.00e+00 1.00e+00 1.00e+00 0.00e+00 0.00e+00 +bytes total: 2.70e+05 1.39e+05 2.27e+04 0.00e+00 0.00e+00 5.44e+02 +bytes remote: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 +Max memory consumed for GA by this process: 37544 bytes + +MA_summarize_allocated_blocks: starting scan ... +MA_summarize_allocated_blocks: scan completed: 0 heap blocks, 0 stack blocks +MA usage statistics: + + allocation statistics: + heap stack + ---- ----- + current number of blocks 0 0 + maximum number of blocks 18 28 + current total bytes 0 0 + maximum total bytes 1060104 16000888 + maximum total K-bytes 1061 16001 + maximum total M-bytes 2 17 + + + CITATION + -------- + Please cite the following reference when publishing + results obtained with NWChem: + + M. Valiev, E.J. Bylaska, N. Govind, K. Kowalski, + T.P. Straatsma, H.J.J. van Dam, D. Wang, J. Nieplocha, + E. Apra, T.L. Windus, W.A. de Jong + "NWChem: a comprehensive and scalable open-source + solution for large scale molecular simulations" + Comput. Phys. Commun. 181, 1477 (2010) + doi:10.1016/j.cpc.2010.04.018 + + AUTHORS + ------- + E. Apra, E. J. Bylaska, W. A. de Jong, N. Govind, K. Kowalski, + T. P. Straatsma, M. Valiev, H. J. J. van Dam, D. Wang, T. L. Windus, + J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, K. Lopata, + S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, O. Villa, + Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, V. Konjkov, + D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich, + A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao, + P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr, + M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju, + M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, L. Jensen, M. Swart, + Q. Wu, T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown, + G. Cisneros, G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall, + J. A. Nichols, K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt, + P. Borowski, T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall, + D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson, + J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng, + T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone, + M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang. + + Total times cpu: 0.1s wall: 0.1s diff --git a/examples/COUPLE/lammps_nwchem/nwchem_wrap.py b/examples/COUPLE/lammps_nwchem/nwchem_wrap.py new file mode 100644 index 0000000000000000000000000000000000000000..6fddc35da84178e6b44436f321c2a76bdb63c6cb --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/nwchem_wrap.py @@ -0,0 +1,447 @@ +#!/usr/bin/env python + +# ---------------------------------------------------------------------- +# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator +# http://lammps.sandia.gov, Sandia National Laboratories +# Steve Plimpton, sjplimp@sandia.gov +# ---------------------------------------------------------------------- + +# Syntax: nwchem_wrap.py file/zmq ao/pw input_template +# file/zmg = messaging mode, must match LAMMPS messaging mode +# ao/pw = basis set mode, selects between atom-centered and plane-wave +# the input_template file must correspond to the appropriate basis set mode: +# the "ao" mode supports the scf and dft modules in NWChem, +# the "pw" mode supports the nwpw module. +# input_template = NWChem input file used as template, must include a +# "geometry" block with the atoms in the simulation, dummy +# xyz coordinates should be included (but are not used). +# Atom ordering must match LAMMPS input. + +# wrapper on NWChem +# receives message with list of coords +# creates NWChem inputs +# invokes NWChem to calculate self-consistent energy of that config +# reads NWChem outputs +# sends message with energy, forces, pressure to client + +from __future__ import print_function +import sys + +version = sys.version_info[0] +if version == 3: + sys.exit("The CSlib python wrapper does not yet support python 3") + +import subprocess +import re +import os +import shutil +from cslib import CSlib + +# comment out 2nd line once 1st line is correct for your system + +nwchemcmd = "mpirun -np 1 /usr/bin/nwchem" +nwchemcmd = "touch tmp" + +# enums matching FixClientMD class in LAMMPS + +SETUP,STEP = range(1,2+1) +DIM,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE = range(1,10+1) +FORCES,ENERGY,VIRIAL,ERROR = range(1,4+1) + +# ------------------------------------- +# functions + +# error message and exit + +def error(txt): + print("ERROR:",txt) + sys.exit(1) + +# ------------------------------------- +# read initial input file to setup problem +# return natoms + +def nwchem_setup_ao(input): + + template = open(input,'r') + + geometry_block = False + natoms = 0 + + while True: + line = template.readline() + if not line: break + + if geometry_block and re.search("end",line): + geometry_block = False + if geometry_block and not re.match("#",line) : + natoms += 1 + if re.search("geometry",line): + geometry_block = True + + return natoms + +# ------------------------------------- +# write a new input file for NWChem +# assumes the NWChem input geometry is to be specified in angstroms + +def nwchem_input_write_ao(input,coords): + + template = open(input,'r') + new_input = open("nwchem_lammps.nw",'w') + + geometry_block = False + i = 0 + + while True: + line = template.readline() + if not line: break + + if geometry_block and not re.match("#",line) and re.search("end",line): + geometry_block = False + if os.path.exists("nwchem_lammps.movecs"): + # The below is hacky, but one of these lines will be ignored + # by NWChem depending on if the input file is for scf/dft. + append = "\nscf\n vectors input nwchem_lammps.movecs\nend\n" + append2 = "\ndft\n vectors input nwchem_lammps.movecs\nend\n" + line = line + append + append2 + + if geometry_block and not re.match("#",line): + x = coords[3*i+0] + y = coords[3*i+1] + z = coords[3*i+2] + coord_string = " %g %g %g \n" % (x,y,z) + atom_string = line.split()[0] + line = atom_string + coord_string + i += 1 + + if (not re.match("#",line)) and re.search("geometry",line): + geometry_block = True + line = "geometry units angstrom noautosym nocenter\n" + + print(line,file=new_input,end='') + + new_input.close() + +# ------------------------------------- +# read a NWChem output nwchem_lammps.out file + +def nwchem_read_ao(natoms, log): + + nwchem_output = open(log, 'r') + energy_pattern = r"Total \w+ energy" + gradient_pattern = "x y z x y z" + + eout = 0.0 + fout = [] + + while True: + line = nwchem_output.readline() + if not line: break + + # pattern match for energy + if re.search(energy_pattern,line): + eout = float(line.split()[4]) + + # pattern match for forces + if re.search(gradient_pattern, line): + for i in range(natoms): + line = nwchem_output.readline() + forces = line.split() + fout += [float(forces[5]), float(forces[6]), float(forces[7])] + + # convert units + hartree2eV = 27.21138602 + bohr2angstrom = 0.52917721092 + eout = eout * hartree2eV + fout = [i * -hartree2eV/bohr2angstrom for i in fout] + + return eout,fout + +# ------------------------------------- +# read initial planewave input file to setup problem +# return natoms,box +def nwchem_setup_pw(input): + + template = open(input,'r') + + geometry_block = False + system_block = False + coord_pattern = r"^\s*\w{1,2}(?:\s+-?(?:\d+.?\d*|\d*.?\d+)){3}" + natoms = 0 + box = [] + + while True: + line = template.readline() + if not line: break + + if geometry_block and re.search("system crystal",line): + system_block = True + for i in range(3): + line = template.readline() + line = re.sub(r'd|D', 'e', line) + box += [float(line.split()[1])] + + if geometry_block and not system_block and re.match("#",line) and re.search("end",line): + geometry_block = False + + if system_block and re.search("end",line): + system_block = False + + if geometry_block and not re.match("#",line) and re.search(coord_pattern,line): + natoms += 1 + + if re.search("geometry",line) and not re.match("#",line): + geometry_block = True + + return natoms,box + +# ------------------------------------- +# write a new planewave input file for NWChem +# assumes the NWChem input geometry is to be specified fractional coordinates + +def nwchem_input_write_pw(input,coords,box): + + template = open(input,'r') + new_input = open("nwchem_lammps.nw",'w') + + writing_atoms = False + geometry_block = False + system_block = False + coord_pattern = r"^\s*\w{1,2}(?:\s+-?(?:\d+.?\d*|\d*.?\d+)){3}" + i = 0 + + while True: + line = template.readline() + if not line: break + + if geometry_block and re.search("system crystal",line): + system_block = True + + if geometry_block and not system_block and not re.match("#",line) and re.search("end",line): + geometry_block = False + if os.path.exists("nwchem_lammps.movecs"): + append = "\nnwpw\n vectors input nwchem_lammps.movecs\nend\n" + line = line + append + + if system_block and re.search("end",line): + system_block = False + + if geometry_block and not re.match("#",line) and re.search(coord_pattern,line): + x = coords[3*i+0] / box[0] + y = coords[3*i+1] / box[1] + z = coords[3*i+2] / box[2] + coord_string = " %g %g %g \n" % (x,y,z) + atom_string = line.split()[0] + line = atom_string + coord_string + i += 1 + + if re.search("geometry",line) and not re.match("#",line): + geometry_block = True + + print(line,file=new_input,end='') + + new_input.close() + +# ------------------------------------- +# read a NWChem output nwchem_lammps.out file for planewave calculation + +def nwchem_read_pw(log): + nw_output = open(log, 'r') + + eout = 0.0 + sout = [] + fout = [] + reading_forces = False + + while True: + line = nw_output.readline() + if not line: break + + # pattern match for energy + if re.search("PSPW energy",line): + eout = float(line.split()[4]) + + # pattern match for forces + if re.search("C\.O\.M", line): + reading_forces = False + if reading_forces: + forces = line.split() + fout += [float(forces[3]), float(forces[4]), float(forces[5])] + if re.search("Ion Forces",line): + reading_forces = True + + # pattern match for stress + if re.search("=== total gradient ===",line): + stensor = [] + for i in range(3): + line = nw_output.readline() + line = line.replace("S ="," ") + stress = line.split() + stensor += [float(stress[1]), float(stress[2]), float(stress[3])] + sxx = stensor[0] + syy = stensor[4] + szz = stensor[8] + sxy = 0.5 * (float(stensor[1]) + float(stensor[3])) + sxz = 0.5 * (stensor[2] + stensor[6]) + syz = 0.5 * (stensor[5] + stensor[7]) + sout = [sxx,syy,szz,sxy,sxz,syz] + + # convert units + hartree2eV = 27.21138602 + bohr2angstrom = 0.52917721092 + austress2bar = 294210156.97 + eout = eout * hartree2eV + fout = [i * hartree2eV/bohr2angstrom for i in fout] + sout = [i * austress2bar for i in sout] + + return eout,fout,sout + +# ------------------------------------- +# main program + +# command-line args +# +if len(sys.argv) != 4: + print("Syntax: python nwchem_wrap.py file/zmq ao/pw input_template") + sys.exit(1) + +comm_mode = sys.argv[1] +basis_type = sys.argv[2] +input_template = sys.argv[3] + +if comm_mode == "file": cs = CSlib(1,comm_mode,"tmp.couple",None) +elif comm_mode == "zmq": cs = CSlib(1,comm_mode,"*:5555",None) +else: + print("Syntax: python nwchem_wrap.py file/zmq") + sys.exit(1) + + +natoms = 0 +box = [] +if basis_type == "ao": + natoms = nwchem_setup_ao(input_template) +elif basis_type == "pw": + natoms,box = nwchem_setup_pw(input_template) + +# initial message for AIMD protocol + +msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv() +if msgID != 0: error("Bad initial client/server handshake") +protocol = cs.unpack_string(1) +if protocol != "md": error("Mismatch in client/server protocol") +cs.send(0,0) + +# endless server loop + +i = 0 +if not os.path.exists("nwchem_logs"): + os.mkdir("nwchem_logs") + +while 1: + + # recv message from client + # msgID = 0 = all-done message + + msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv() + if msgID < 0: break + + # SETUP receive at beginning of each run + # required fields: DIM, PERIODICITY, ORIGIN, BOX, + # NATOMS, COORDS + # optional fields: others in enum above, but NWChem ignores them + + if msgID == SETUP: + + origin = [] + box_lmp = [] + natoms_recv = ntypes_recv = 0 + types = [] + coords = [] + + for field in fieldID: + if field == DIM: + dim = cs.unpack_int(DIM) + if dim != 3: error("NWChem only performs 3d simulations") + elif field == PERIODICITY: + periodicity = cs.unpack(PERIODICITY,1) + if basis_type == "ao": + if periodicity[0] or periodicity[1] or periodicity[2]: + error("NWChem AO basis wrapper only currently supports fully aperiodic systems") + elif basis_type == "pw": + if not periodicity[0] or not periodicity[1] or not periodicity[2]: + error("NWChem PW basis wrapper only currently supports fully periodic systems") + elif field == ORIGIN: + origin = cs.unpack(ORIGIN,1) + elif field == BOX: + box_lmp = cs.unpack(BOX,1) + if (basis_type == "pw"): + if (box[0] != box_lmp[0] or box[1] != box_lmp[4] or box[2] != box_lmp[8]): + error("NWChem wrapper mismatch in box dimensions") + elif field == NATOMS: + natoms_recv = cs.unpack_int(NATOMS) + if natoms != natoms_recv: + error("NWChem wrapper mismatch in number of atoms") + elif field == COORDS: + coords = cs.unpack(COORDS,1) + + if not origin or not box_lmp or not natoms or not coords: + error("Required NWChem wrapper setup field not received"); + + # STEP receive at each timestep of run or minimization + # required fields: COORDS + # optional fields: ORIGIN, BOX + + elif msgID == STEP: + + coords = [] + + for field in fieldID: + if field == COORDS: + coords = cs.unpack(COORDS,1) + + if not coords: error("Required NWChem wrapper step field not received"); + + else: error("NWChem wrapper received unrecognized message") + + # unpack coords from client + # create NWChem input + + if basis_type == "ao": + nwchem_input_write_ao(input_template,coords) + elif basis_type == "pw": + nwchem_input_write_pw(input_template,coords,box) + + # invoke NWChem + + i += 1 + log = "nwchem_lammps.out" + archive = "nwchem_logs/nwchem_lammps" + str(i) + ".out" + cmd = nwchemcmd + " nwchem_lammps.nw > " + log + print("\nLaunching NWChem ...") + print(cmd) + subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True) + + shutil.copyfile(log,archive) + + # process NWChem output + + if basis_type == "ao": + energy,forces = nwchem_read_ao(natoms,log) + virial = [0,0,0,0,0,0] + elif basis_type == "pw": + energy,forces,virial = nwchem_read_pw(log) + + # return forces, energy to client + cs.send(msgID,3) + cs.pack(FORCES,4,3*natoms,forces) + cs.pack_double(ENERGY,energy) + cs.pack(VIRIAL,4,6,virial) + +# final reply to client + +cs.send(0,0) + +# clean-up + +del cs diff --git a/examples/COUPLE/lammps_nwchem/planewave/data.W b/examples/COUPLE/lammps_nwchem/planewave/data.W new file mode 100644 index 0000000000000000000000000000000000000000..8accd9ca790422646d4fb9a671ef18387ee5457d --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/planewave/data.W @@ -0,0 +1,15 @@ +LAMMPS W data file + +2 atoms + +1 atom types + +0.0 3.16 xlo xhi +0.0 3.16 ylo yhi +0.0 3.16 zlo zhi + +Atoms + +1 1 0.000 0.000 0.000 +2 1 1.58 1.58 1.58 + diff --git a/examples/COUPLE/lammps_nwchem/planewave/in.client.W b/examples/COUPLE/lammps_nwchem/planewave/in.client.W new file mode 100644 index 0000000000000000000000000000000000000000..8eef888b5b4568911c1ea6661def8afa2003d78e --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/planewave/in.client.W @@ -0,0 +1,34 @@ +# small W unit cell for use with NWChem + +variable mode index file + +if "${mode} == file" then & + "message client md file tmp.couple" & +elif "${mode} == zmq" & + "message client md zmq localhost:5555" & + +variable x index 1 +variable y index 1 +variable z index 1 + +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +read_data data.W +mass 1 183.85 + +replicate $x $y $z + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +run 3 + diff --git a/examples/COUPLE/lammps_nwchem/planewave/in.client.W.min b/examples/COUPLE/lammps_nwchem/planewave/in.client.W.min new file mode 100644 index 0000000000000000000000000000000000000000..2cdca6b0069a49f7ec8ab5654136a11e36d0f057 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/planewave/in.client.W.min @@ -0,0 +1,38 @@ +# small W unit cell for use with NWChem + +variable mode index file + +if "${mode} == file" then & + "message client md file tmp.couple" & +elif "${mode} == zmq" & + "message client md zmq localhost:5555" & + +variable x index 1 +variable y index 1 +variable z index 1 + +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +read_data data.W +mass 1 183.85 + +group one id 2 +displace_atoms one move 0.1 0.2 0.3 + +replicate $x $y $z + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +dump 1 all custom 1 dump.W.min id type x y z + +thermo 1 +minimize 1.0e-6 1.0e-6 10 50 diff --git a/examples/COUPLE/lammps_nwchem/planewave/log.client.output b/examples/COUPLE/lammps_nwchem/planewave/log.client.output new file mode 100644 index 0000000000000000000000000000000000000000..b7978165834fc12252dcee74e15dd21ed4882f5a --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/planewave/log.client.output @@ -0,0 +1,76 @@ +LAMMPS (18 Sep 2018) +# small W unit cell for use with NWChem + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" +message client md file tmp.couple +variable x index 1 +variable y index 1 +variable z index 1 + +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +read_data data.W + orthogonal box = (0 0 0) to (3.16 3.16 3.16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms +mass 1 183.85 + +replicate $x $y $z +replicate 1 $y $z +replicate 1 1 $z +replicate 1 1 1 + orthogonal box = (0 0 0) to (3.16 3.16 3.16) + 1 by 1 by 1 MPI processor grid + 2 atoms + Time spent = 0.000187325 secs + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +run 3 +Per MPI rank memory allocation (min/avg/max) = 1.8 | 1.8 | 1.8 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 300 0 0 -549.75686 36815830 + 1 300 0 0 -549.75686 36815830 + 2 300 0 0 -549.75686 36815830 + 3 300 0 0 -549.75686 36815830 +Loop time of 0.400933 on 1 procs for 3 steps with 2 atoms + +Performance: 0.646 ns/day, 37.123 hours/ns, 7.483 timesteps/s +0.1% 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 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 4.755e-06 | 4.755e-06 | 4.755e-06 | 0.0 | 0.00 +Output | 0.00010114 | 0.00010114 | 0.00010114 | 0.0 | 0.03 +Modify | 0.40082 | 0.40082 | 0.40082 | 0.0 | 99.97 +Other | | 1.232e-05 | | | 0.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 7 ave 7 max 7 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds not checked + +Total wall time: 0:00:09 diff --git a/examples/COUPLE/lammps_nwchem/planewave/log.lammps.W.3Oct19 b/examples/COUPLE/lammps_nwchem/planewave/log.lammps.W.3Oct19 new file mode 100644 index 0000000000000000000000000000000000000000..6087cd22bb1823bac4c107344fd3c25d802dcdd3 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/planewave/log.lammps.W.3Oct19 @@ -0,0 +1,78 @@ +LAMMPS (19 Sep 2019) +# small W unit cell for use with NWChem + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" +message client md file tmp.couple +variable x index 1 +variable y index 1 +variable z index 1 + +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +read_data data.W + orthogonal box = (0 0 0) to (3.16 3.16 3.16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + read_data CPU = 0.0014801 secs +mass 1 183.85 + +replicate $x $y $z +replicate 1 $y $z +replicate 1 1 $z +replicate 1 1 1 + orthogonal box = (0 0 0) to (3.16 3.16 3.16) + 1 by 1 by 1 MPI processor grid + 2 atoms + replicate CPU = 0.000123978 secs + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +thermo 1 +run 3 +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:166) +Per MPI rank memory allocation (min/avg/max) = 1.801 | 1.801 | 1.801 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 300 0 0 -549.75686 36815830 + 1 298.93216 0 0 -549.75686 36815825 + 2 295.76254 0 0 -549.75687 36814830 + 3 290.55935 0 0 -549.75687 36811865 +Loop time of 2.60414 on 1 procs for 3 steps with 2 atoms + +Performance: 0.100 ns/day, 241.124 hours/ns, 1.152 timesteps/s +0.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 | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 7.1526e-06 | 7.1526e-06 | 7.1526e-06 | 0.0 | 0.00 +Output | 0.00012779 | 0.00012779 | 0.00012779 | 0.0 | 0.00 +Modify | 2.604 | 2.604 | 2.604 | 0.0 | 99.99 +Other | | 9.06e-06 | | | 0.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 7 ave 7 max 7 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds not checked + +Total wall time: 0:00:05 diff --git a/examples/COUPLE/lammps_nwchem/planewave/log.lammps.W.min.3Oct19 b/examples/COUPLE/lammps_nwchem/planewave/log.lammps.W.min.3Oct19 new file mode 100644 index 0000000000000000000000000000000000000000..e54cc3c433d9d714afff02d9345286de8aa1469a --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/planewave/log.lammps.W.min.3Oct19 @@ -0,0 +1,92 @@ +LAMMPS (19 Sep 2019) +# small W unit cell for use with NWChem + +variable mode index file + +if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" +message client md file tmp.couple +variable x index 1 +variable y index 1 +variable z index 1 + +units metal +atom_style atomic +atom_modify sort 0 0.0 map yes + +read_data data.W + orthogonal box = (0 0 0) to (3.16 3.16 3.16) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + read_data CPU = 0.00183487 secs +mass 1 183.85 + +group one id 2 +1 atoms in group one +displace_atoms one move 0.1 0.2 0.3 + +replicate $x $y $z +replicate 1 $y $z +replicate 1 1 $z +replicate 1 1 1 + orthogonal box = (0 0 0) to (3.16 3.16 3.16) + 1 by 1 by 1 MPI processor grid + 2 atoms + replicate CPU = 0.000159979 secs + +velocity all create 300.0 87287 loop geom + +neighbor 0.3 bin +neigh_modify delay 0 every 10 check no + +fix 1 all nve +fix 2 all client/md +fix_modify 2 energy yes + +dump 1 all custom 1 tmp.dump id type x y z + +thermo 1 +minimize 1.0e-6 1.0e-6 10 50 +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:174) +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:166) +Per MPI rank memory allocation (min/avg/max) = 4.676 | 4.676 | 4.676 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 300 0 0 -547.52142 28510277 + 1 300 0 0 -549.43104 35614471 + 2 300 0 0 -549.75661 36815830 + 3 300 0 0 -549.75662 36815830 +Loop time of 7.71121 on 1 procs for 3 steps with 2 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +Minimization stats: + Stopping criterion = energy tolerance + Energy initial, next-to-last, final = + -547.560202518 -549.795386038 -549.795398827 + Force two-norm initial, final = 16.0041 0.00108353 + Force max component initial, final = 9.57978 0.000719909 + Final line search alpha, max atom move = 1 0.000719909 + Iterations, force evaluations = 3 5 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 9.5367e-07 | 9.5367e-07 | 9.5367e-07 | 0.0 | 0.00 +Comm | 1.3113e-05 | 1.3113e-05 | 1.3113e-05 | 0.0 | 0.00 +Output | 0.00017023 | 0.00017023 | 0.00017023 | 0.0 | 0.00 +Modify | 7.7109 | 7.7109 | 7.7109 | 0.0 |100.00 +Other | | 0.0001729 | | | 0.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 0 ave 0 max 0 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 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1 +Dangerous builds not checked +Total wall time: 0:00:19 diff --git a/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out b/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out new file mode 100644 index 0000000000000000000000000000000000000000..92f2ff0037b833f4a69955e4520a7402032f52dd --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out @@ -0,0 +1,2305 @@ + argument 1 = w.nw + + + +============================== echo of input deck ============================== +echo + +#**** Enter the geometry using fractional coordinates **** +geometry units angstrom noautosym + system crystal + lat_a 3.16d0 + lat_b 3.16d0 + lat_c 3.16d0 + end +W 0.0 0.0 0.0 +W 0.5 0.5 0.5 +end + +#***** setup the nwpw gamma point code **** +nwpw + simulation_cell + ngrid 16 16 16 + end + ewald_ncut 8 + mulliken + lcao #old default +end + +nwpw + tolerances 1.0d-9 1.0d-9 +end + +task pspw stress +================================================================================ + + + + + + + Northwest Computational Chemistry Package (NWChem) 6.8 + ------------------------------------------------------ + + + Environmental Molecular Sciences Laboratory + Pacific Northwest National Laboratory + Richland, WA 99352 + + Copyright (c) 1994-2017 + Pacific Northwest National Laboratory + Battelle Memorial Institute + + NWChem is an open-source computational chemistry package + distributed under the terms of the + Educational Community License (ECL) 2.0 + A copy of the license is included with this distribution + in the LICENSE.TXT file + + ACKNOWLEDGMENT + -------------- + + This software and its documentation were developed at the + EMSL at Pacific Northwest National Laboratory, a multiprogram + national laboratory, operated for the U.S. Department of Energy + by Battelle under Contract Number DE-AC05-76RL01830. Support + for this work was provided by the Department of Energy Office + of Biological and Environmental Research, Office of Basic + Energy Sciences, and the Office of Advanced Scientific Computing. + + + Job information + --------------- + + hostname = mcq + program = nwchem + date = Mon Sep 23 14:29:18 2019 + + compiled = Wed_Aug_15_19:14:19_2018 + source = /home/edo/debichem-team/nwchem/nwchem-6.8.1 + nwchem branch = 6.8.1 + nwchem revision = v6.8-133-ge032219 + ga revision = 5.6.5 + use scalapack = T + input = w.nw + prefix = w. + data base = ./w.db + status = startup + nproc = 1 + time left = -1s + + + + Memory information + ------------------ + + heap = 13107194 doubles = 100.0 Mbytes + stack = 13107199 doubles = 100.0 Mbytes + global = 26214400 doubles = 200.0 Mbytes (distinct from heap & stack) + total = 52428793 doubles = 400.0 Mbytes + verify = yes + hardfail = no + + + Directory information + --------------------- + + 0 permanent = . + 0 scratch = . + + + + + NWChem Input Module + ------------------- + + + + !!!!!!!!! geom_3d NEEDS TESTING !!!!!!!!!! + + + Geometry "geometry" -> "" + ------------------------- + + Output coordinates in angstroms (scale by 1.889725989 to convert to a.u.) + + No. Tag Charge X Y Z + ---- ---------------- ---------- -------------- -------------- -------------- + 1 W 74.0000 0.00000000 0.00000000 0.00000000 + 2 W 74.0000 1.58000000 1.58000000 1.58000000 + + Lattice Parameters + ------------------ + + lattice vectors in angstroms (scale by 1.889725989 to convert to a.u.) + + a1=< 3.160 0.000 0.000 > + a2=< 0.000 3.160 0.000 > + a3=< 0.000 0.000 3.160 > + a= 3.160 b= 3.160 c= 3.160 + alpha= 90.000 beta= 90.000 gamma= 90.000 + omega= 31.6 + + reciprocal lattice vectors in a.u. + + b1=< 1.052 0.000 -0.000 > + b2=< -0.000 1.052 -0.000 > + b3=< 0.000 0.000 1.052 > + + Atomic Mass + ----------- + + W 183.951000 + + + + XYZ format geometry + ------------------- + 2 + geometry + W 0.00000000 0.00000000 0.00000000 + W 1.58000000 1.58000000 1.58000000 + + ============================================================================== + internuclear distances + ------------------------------------------------------------------------------ + center one | center two | atomic units | angstroms + ------------------------------------------------------------------------------ + 2 W | 1 W | 5.17150 | 2.73664 + ------------------------------------------------------------------------------ + number of included internuclear distances: 1 + ============================================================================== + + + + >>>> PSPW Parallel Module - stress <<<< + **************************************************** + * * + * NWPW PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * * + * [ NorthWest Chemistry implementation ] * + * * + * version #5.10 06/12/02 * + * * + * This code was developed by Eric J. Bylaska, * + * and was based upon algorithms and code * + * developed by the group of Prof. John H. Weare * + * * + **************************************************** + >>> JOB STARTED AT Mon Sep 23 14:29:18 2019 <<< + ================ input data ======================== + library name resolved from: compiled reference + NWCHEM_NWPW_LIBRARY set to: + Generating 1d pseudopotential for W + + Generated formatted_filename: ./W.vpp + library name resolved from: compiled reference + NWCHEM_NWPW_LIBRARY set to: + + Generated formatted atomic orbitals, filename: ./W.aorb + + lcao guess, initial psi:w.movecs + - spin, nalpha, nbeta: 1 6 0 + + input psi filename:./w.movecs + + initializing pspw_APC data structure + ------------------------------------ + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + number of processors used: 1 + processor grid : 1 x 1 + parallel mapping :2d hilbert + parallel mapping : balanced + number of threads : 1 + parallel io : off + + options: + boundary conditions = periodic (version3) + electron spin = restricted + exchange-correlation = LDA (Vosko et al) parameterization + + elements involved in the cluster: + 1: W valence charge: 6.0000 lmax= 2 + comment : Troullier-Martins pseudopotential + pseudpotential type : 0 + highest angular component : 2 + local potential used : 0 + number of non-local projections: 8 + semicore corrections included : 1.800 (radius) 4.533 (charge) + cutoff = 2.389 3.185 2.244 + + + total charge: 0.000 + + atomic composition: + W : 2 + + number of electrons: spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + number of orbitals : spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + + supercell: + cell_name: cell_default + lattice: a1=< 5.972 0.000 0.000 > + a2=< 0.000 5.972 0.000 > + a3=< 0.000 0.000 5.972 > + reciprocal: b1=< 1.052 0.000 -0.000 > + b2=< -0.000 1.052 -0.000 > + b3=< 0.000 0.000 1.052 > + lattice: a= 5.972 b= 5.972 c= 5.972 + alpha= 90.000 beta= 90.000 gamma= 90.000 + omega= 212.9 + + density cutoff= 8.857 fft= 16x 16x 16( 126 waves 126 per task) + wavefnc cutoff= 8.857 fft= 16x 16x 16( 126 waves 126 per task) + Ewald summation: cut radius= 1.90 and 8 + Madelung Wigner-Seitz= 1.76011888 (alpha= 2.83729748 rs= 3.70444413) + + technical parameters: + time step= 5.80 fictitious mass= 400000.0 + tolerance=0.100E-08 (energy) 0.100E-08 (density) + maximum iterations = 1000 ( 10 inner 100 outer ) + + + + + +== Energy Calculation == + + + ====== Grassmann conjugate gradient iteration ====== + >>> ITERATION STARTED AT Mon Sep 23 14:29:20 2019 <<< + iter. Energy DeltaE DeltaRho + ------------------------------------------------------ + - 15 steepest descent iterations performed + 10 -0.2000104801E+02 -0.37587E-05 0.13338E-06 + 20 -0.2000105396E+02 -0.10125E-07 0.37843E-09 + 30 -0.2000105397E+02 -0.67882E-09 0.25413E-10 + *** tolerance ok. iteration terminated + >>> ITERATION ENDED AT Mon Sep 23 14:29:20 2019 <<< + + +== Summary Of Results == + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + total energy : -0.2000105397E+02 ( -0.10001E+02/ion) + total orbital energy: 0.5258382071E+01 ( 0.87640E+00/electron) + hartree energy : 0.2613505492E+00 ( 0.43558E-01/electron) + exc-corr energy : -0.9420636831E+01 ( -0.15701E+01/electron) + ion-ion energy : -0.2193948839E+02 ( -0.10970E+02/ion) + + kinetic (planewave) : 0.1407870943E+02 ( 0.23465E+01/electron) + V_local (planewave) : 0.1138092693E+02 ( 0.18968E+01/electron) + V_nl (planewave) : -0.1436191566E+02 ( -0.23937E+01/electron) + V_Coul (planewave) : 0.5227010984E+00 ( 0.87117E-01/electron) + V_xc. (planewave) : -0.6362039732E+01 ( -0.10603E+01/electron) + Virial Coefficient : -0.6265011295E+00 + + orbital energies: + 0.5487535E+00 ( 14.932eV) + 0.5487525E+00 ( 14.932eV) + 0.5487517E+00 ( 14.932eV) + 0.3889676E+00 ( 10.584eV) + 0.3889667E+00 ( 10.584eV) + 0.2049989E+00 ( 5.578eV) + + Total PSPW energy : -0.2000105397E+02 + + +=== Spin Contamination === + + = 0.0000000000000000 + = 0.0000000000000000 + + + +== Center of Charge == + +spin up ( -0.0000, -0.0000, -0.0000 ) +spin down ( -0.0000, -0.0000, -0.0000 ) + total ( -0.0000, -0.0000, -0.0000 ) +ionic ( 1.4929, 1.4929, 1.4929 ) + + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9146, 17.9146, 17.9146 ) au +|mu| = 31.0290 au, 78.8633 Debye + +== W.psp1 expansion coefficients == + +ATOM S P D F +W : 0.93998E-01 0.56488E-01 0.13036E+01 0.00000E+00 + + + + Generated formatted atomic orbitals, filename: ./W.aorb + + + + ************************************************************* + ** ** + ** PSPW Mulliken analysis ** + ** ** + ** Population analysis algorithm devloped by Ryoichi Kawai ** + ** ** + ** Mon Sep 23 14:29 ** + ** ** + ************************************************************* + + +== XYZ OUTPUT == + + + 2 + +W 0.000000 0.000000 0.000000 +W 1.579999 1.579999 1.579999 + + +== Atomic Orbital Expansion == + + W nodamping + + + ===================================================== + | POPULATION ANALYSIS OF FILLED MOLECULAR ORBITALS | + ===================================================== + + +== Using pseudoatomic orbital expansion == + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 1*** SPIN=BOTH SUM= 0.12495E+01 E= 0.54875E+00 ( 14.932eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 0.00000 -0.42734 -0.00000 0.56337 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 0.00000 0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 0.00000 -0.42734 -0.00000 0.56337 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 2*** SPIN=BOTH SUM= 0.12495E+01 E= 0.54875E+00 ( 14.932eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 -0.00000 -0.00000 0.00002 0.00000 0.70711 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 -0.00001 0.00000 0.00000 -0.00000 0.00000 0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 -0.00000 -0.00000 0.00002 0.00000 0.70711 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 -0.00001 0.00000 0.00000 -0.00000 0.00000 -0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 3*** SPIN=BOTH SUM= 0.12495E+01 E= 0.54875E+00 ( 14.932eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 0.00000 -0.56337 -0.00000 -0.42734 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 0.00000 0.00000 -0.00000 0.00000 -0.00000 -0.00000 0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 0.00000 -0.56337 -0.00000 -0.42734 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 0.00000 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 4*** SPIN=BOTH SUM= 0.14281E+01 E= 0.38897E+00 ( 10.584eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.49992 0.42773 0.00000 0.56299 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00009 0.00925 0.00000 0.00000 0.00000 -0.00000 -0.00000 0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.49991 -0.42773 0.00000 -0.56299 0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00009 -0.00925 0.00000 0.00000 0.00000 -0.00000 -0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9998 0.0002 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 5*** SPIN=BOTH SUM= 0.15051E+01 E= 0.38897E+00 ( 10.584eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.47435 -0.54841 0.00000 0.41665 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.02565 -0.16016 -0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.47435 0.54841 0.00000 -0.41665 0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.02565 0.16016 -0.00000 0.00000 0.00000 0.00000 -0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9487 0.0513 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 6*** SPIN=BOTH SUM= 0.19550E+01 E= 0.20500E+00 ( 5.578eV) + +NO ATOM L POPULATION + s + 1 W 0 0.49970 0.70689 + px pz py + 1 W 1 0.00000 0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.00000 -0.00000 -0.00000 0.00000 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00030 -0.01746 -0.00000 0.00000 -0.00000 0.00000 -0.00000 -0.00000 + s + 2 W 0 0.49970 0.70689 + px pz py + 2 W 1 0.00000 -0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.00000 0.00000 -0.00000 -0.00000 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00030 -0.01746 -0.00000 0.00000 -0.00000 0.00000 -0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.9994 0.0000 0.0000 0.0006 + + + ======================================== + | POPULATION ANALYSIS ON EACH ATOM | + ======================================== + + +NO ATOM SPIN TOTAL s p d f + 1 W UP 3.00000 0.49970 0.00000 2.47426 0.02604 + 1 W DOWN 3.00000 0.49970 0.00000 2.47426 0.02604 + 2 W UP 3.00000 0.49970 0.00000 2.47426 0.02604 + 2 W DOWN 3.00000 0.49970 0.00000 2.47426 0.02604 + + + +=== TOTAL ANGULAR MOMENTUM POPULATION === + + SPIN s p d f + UP 16.66% 0.00% 82.48% 0.87% + UP 16.66% 0.00% 82.48% 0.87% + TOTAL 16.66% 0.00% 82.48% 0.87% + + ************************************************************* + ** ** + ** PSPW Atomic Point Charge (APC) Analysis ** + ** ** + ** Point charge analysis based on paper by P.E. Blochl ** + ** (J. Chem. Phys. vol 103, page 7422, 1995) ** + ** ** + ************************************************************* + + pspw_APC data structure + ----------------------- + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + -- ---- ------- ------- ------- + 1 W -3.500 6.000 2.500 + 2 W -9.500 6.000 -3.500 + Total Q -13.000 12.000 -1.000 + + + gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + -- ---- ------- ------- ------- ------- + 1 W 6.000 46.000 -75.500 26.000 + 2 W 6.000 -17.625 40.500 -32.375 + + +=== Electric Field at Atoms === + + 1 W Atomic Electric Field =( -0.00000 0.00000 0.00000 ) + (ion) =( 0.00000 0.00000 -0.00000 ) + (electronic) =( -0.00000 0.00000 0.00000 ) + 2 W Atomic Electric Field =( -0.00000 -0.00000 0.00000 ) + (ion) =( -0.00000 -0.00000 0.00000 ) + (electronic) =( -0.00000 -0.00000 0.00000 ) + + output psi filename:./w.movecs + + +== Timing == + +cputime in seconds + prologue : 0.246520E+01 + main loop : 0.218408E+00 + epilogue : 0.196378E+00 + total : 0.287999E+01 + cputime/step: 0.186674E-02 ( 117 evalulations, 25 linesearches) + + +Time spent doing total step percent + total time : 0.288044E+01 0.246191E-01 100.0 % + i/o time : 0.793162E+00 0.677916E-02 27.5 % + FFTs : 0.794410E-01 0.678983E-03 2.8 % + dot products : 0.401928E-02 0.343528E-04 0.1 % + geodesic : 0.812297E-02 0.694271E-04 0.3 % + ffm_dgemm : 0.340981E-03 0.291437E-05 0.0 % + fmf_dgemm : 0.111075E-02 0.949356E-05 0.0 % + mmm_dgemm : 0.146757E-03 0.125433E-05 0.0 % + m_diagonalize : 0.464895E-03 0.397346E-05 0.0 % + exchange correlation : 0.105077E+00 0.898093E-03 3.6 % + local pseudopotentials : 0.326800E-04 0.279316E-06 0.0 % + non-local pseudopotentials : 0.585081E-02 0.500069E-04 0.2 % + hartree potentials : 0.774990E-03 0.662385E-05 0.0 % + ion-ion interaction : 0.368566E-02 0.315014E-04 0.1 % + structure factors : 0.526235E+00 0.449774E-02 18.3 % + phase factors : 0.173820E-04 0.148564E-06 0.0 % + masking and packing : 0.134380E+00 0.114855E-02 4.7 % + queue fft : 0.649379E-01 0.555025E-03 2.3 % + queue fft (serial) : 0.461475E-01 0.394423E-03 1.6 % + queue fft (message passing): 0.166764E-01 0.142533E-03 0.6 % + non-local psp FFM : 0.303331E-02 0.259257E-04 0.1 % + non-local psp FMF : 0.706270E-03 0.603650E-05 0.0 % + non-local psp FFM A : 0.298729E-03 0.255324E-05 0.0 % + non-local psp FFM B : 0.252926E-02 0.216176E-04 0.1 % + + >>> JOB COMPLETED AT Mon Sep 23 14:29:21 2019 <<< + **************************************************** + * * + * NWPW PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * * + * [ NorthWest Chemistry implementation ] * + * * + * version #5.10 06/12/02 * + * * + * This code was developed by Eric J. Bylaska, * + * and was based upon algorithms and code * + * developed by the group of Prof. John H. Weare * + * * + **************************************************** + >>> JOB STARTED AT Mon Sep 23 14:29:21 2019 <<< + ================ input data ======================== + + input psi filename:./w.movecs + + initializing pspw_APC data structure + ------------------------------------ + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + number of processors used: 1 + processor grid : 1 x 1 + parallel mapping :2d hilbert + parallel mapping : balanced + number of threads : 1 + parallel io : off + + options: + boundary conditions = periodic (version3) + electron spin = restricted + exchange-correlation = LDA (Vosko et al) parameterization + + elements involved in the cluster: + 1: W valence charge: 6.0000 lmax= 2 + comment : Troullier-Martins pseudopotential + pseudpotential type : 0 + highest angular component : 2 + local potential used : 0 + number of non-local projections: 8 + semicore corrections included : 1.800 (radius) 4.537 (charge) + cutoff = 2.389 3.185 2.244 + + + total charge: 0.000 + + atomic composition: + W : 2 + + number of electrons: spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + number of orbitals : spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + + supercell: + cell_name: cell_default + lattice: a1=< 5.972 0.000 0.000 > + a2=< 0.000 5.972 0.000 > + a3=< 0.000 0.000 5.972 > + reciprocal: b1=< 1.052 0.000 -0.000 > + b2=< -0.000 1.052 -0.000 > + b3=< 0.000 0.000 1.052 > + lattice: a= 5.972 b= 5.972 c= 5.972 + alpha= 90.000 beta= 90.000 gamma= 90.000 + omega= 212.9 + + density cutoff= 17.714 fft= 16x 16x 16( 370 waves 370 per task) + wavefnc cutoff= 17.714 fft= 16x 16x 16( 370 waves 370 per task) + Ewald summation: cut radius= 1.90 and 8 + Madelung Wigner-Seitz= 1.76011888 (alpha= 2.83729748 rs= 3.70444413) + + technical parameters: + time step= 5.80 fictitious mass= 400000.0 + tolerance=0.100E-08 (energy) 0.100E-08 (density) + maximum iterations = 1000 ( 10 inner 100 outer ) + + + + + +== Energy Calculation == + + + ====== Grassmann conjugate gradient iteration ====== + >>> ITERATION STARTED AT Mon Sep 23 14:29:21 2019 <<< + iter. Energy DeltaE DeltaRho + ------------------------------------------------------ + 10 -0.2020117257E+02 -0.65975E-06 0.18611E-07 + 20 -0.2020117265E+02 -0.51757E-09 0.18099E-10 + *** tolerance ok. iteration terminated + >>> ITERATION ENDED AT Mon Sep 23 14:29:21 2019 <<< + + +== Summary Of Results == + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + total energy : -0.2020117265E+02 ( -0.10101E+02/ion) + total orbital energy: 0.5095674266E+01 ( 0.84928E+00/electron) + hartree energy : 0.2895200675E+00 ( 0.48253E-01/electron) + exc-corr energy : -0.9444169901E+01 ( -0.15740E+01/electron) + ion-ion energy : -0.2193948849E+02 ( -0.10970E+02/ion) + + kinetic (planewave) : 0.1440959829E+02 ( 0.24016E+01/electron) + V_local (planewave) : 0.1156148265E+02 ( 0.19269E+01/electron) + V_nl (planewave) : -0.1507811526E+02 ( -0.25130E+01/electron) + V_Coul (planewave) : 0.5790401350E+00 ( 0.96507E-01/electron) + V_xc. (planewave) : -0.6376331545E+01 ( -0.10627E+01/electron) + Virial Coefficient : -0.6463694432E+00 + + orbital energies: + 0.5415668E+00 ( 14.737eV) + 0.5415663E+00 ( 14.737eV) + 0.5415658E+00 ( 14.737eV) + 0.3599778E+00 ( 9.796eV) + 0.3599778E+00 ( 9.796eV) + 0.2031826E+00 ( 5.529eV) + + Total PSPW energy : -0.2020117265E+02 + + +=== Spin Contamination === + + = 0.0000000000000000 + = 0.0000000000000000 + + + +== Center of Charge == + +spin up ( -0.0000, -0.0000, 0.0000 ) +spin down ( -0.0000, -0.0000, 0.0000 ) + total ( -0.0000, -0.0000, 0.0000 ) +ionic ( 1.4929, 1.4929, 1.4929 ) + + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9146, 17.9146, 17.9146 ) au +|mu| = 31.0290 au, 78.8633 Debye + + + + ************************************************************* + ** ** + ** PSPW Mulliken analysis ** + ** ** + ** Population analysis algorithm devloped by Ryoichi Kawai ** + ** ** + ** Mon Sep 23 14:29 ** + ** ** + ************************************************************* + + +== XYZ OUTPUT == + + + 2 + +W 0.000000 0.000000 0.000000 +W 1.579999 1.579999 1.579999 + + +== Atomic Orbital Expansion == + + W nodamping + + + ===================================================== + | POPULATION ANALYSIS OF FILLED MOLECULAR ORBITALS | + ===================================================== + + +== Using pseudoatomic orbital expansion == + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 1*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54157E+00 ( 14.737eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 -0.00000 0.49980 0.00000 -0.50020 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 -0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 -0.00000 0.49980 0.00000 -0.50020 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 -0.00000 0.00000 0.00000 -0.00000 0.00000 0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 2*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54157E+00 ( 14.737eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 0.00000 0.00000 -0.00001 -0.00000 -0.70711 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 0.00001 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 0.00000 0.00000 -0.00001 -0.00000 -0.70711 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 0.00001 -0.00000 -0.00000 0.00000 -0.00000 0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 3*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54157E+00 ( 14.737eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 0.00000 -0.50020 -0.00000 -0.49980 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 0.00000 0.00000 -0.00000 0.00000 -0.00000 -0.00000 0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 0.00000 -0.50020 -0.00000 -0.49980 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 0.00000 0.00000 -0.00000 -0.00000 -0.00000 0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 4*** SPIN=BOTH SUM= 0.14815E+01 E= 0.35998E+00 ( 9.796eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.48214 0.68695 -0.00000 -0.10120 -0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.01786 0.13364 0.00000 -0.00000 -0.00000 -0.00000 0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.48214 -0.68695 -0.00000 0.10120 -0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.01786 -0.13364 0.00000 0.00000 -0.00000 -0.00000 -0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9643 0.0357 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 5*** SPIN=BOTH SUM= 0.14420E+01 E= 0.35998E+00 ( 9.796eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.49535 0.10258 0.00000 0.69630 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00465 -0.06819 0.00000 0.00000 0.00000 0.00000 -0.00000 0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.49535 -0.10258 0.00000 -0.69630 0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00465 0.06819 0.00000 -0.00000 0.00000 -0.00000 0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9907 0.0093 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 6*** SPIN=BOTH SUM= 0.19541E+01 E= 0.20318E+00 ( 5.529eV) + +NO ATOM L POPULATION + s + 1 W 0 0.49972 0.70691 + px pz py + 1 W 1 0.00000 -0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.00000 -0.00000 -0.00000 0.00000 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00028 -0.01665 0.00000 0.00000 0.00000 -0.00000 0.00000 -0.00000 + s + 2 W 0 0.49972 0.70691 + px pz py + 2 W 1 0.00000 0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.00000 0.00000 -0.00000 -0.00000 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00028 -0.01665 0.00000 -0.00000 0.00000 0.00000 0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.9994 0.0000 0.0000 0.0006 + + + ======================================== + | POPULATION ANALYSIS ON EACH ATOM | + ======================================== + + +NO ATOM SPIN TOTAL s p d f + 1 W UP 3.00000 0.49972 0.00000 2.47749 0.02279 + 1 W DOWN 3.00000 0.49972 0.00000 2.47749 0.02279 + 2 W UP 3.00000 0.49972 0.00000 2.47749 0.02279 + 2 W DOWN 3.00000 0.49972 0.00000 2.47749 0.02279 + + + +=== TOTAL ANGULAR MOMENTUM POPULATION === + + SPIN s p d f + UP 16.66% 0.00% 82.58% 0.76% + UP 16.66% 0.00% 82.58% 0.76% + TOTAL 16.66% 0.00% 82.58% 0.76% + + ************************************************************* + ** ** + ** PSPW Atomic Point Charge (APC) Analysis ** + ** ** + ** Point charge analysis based on paper by P.E. Blochl ** + ** (J. Chem. Phys. vol 103, page 7422, 1995) ** + ** ** + ************************************************************* + + pspw_APC data structure + ----------------------- + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + -- ---- ------- ------- ------- + 1 W -8.000 6.000 -2.000 + 2 W -5.500 6.000 0.500 + Total Q -13.500 12.000 -1.500 + + + gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + -- ---- ------- ------- ------- ------- + 1 W 6.000 37.000 -52.000 7.000 + 2 W 6.000 -7.500 18.000 -16.000 + + +=== Electric Field at Atoms === + + 1 W Atomic Electric Field =( -0.00000 -0.00000 0.00000 ) + (ion) =( 0.00000 0.00000 -0.00000 ) + (electronic) =( -0.00000 -0.00000 0.00000 ) + 2 W Atomic Electric Field =( 0.00000 -0.00000 0.00000 ) + (ion) =( -0.00000 -0.00000 0.00000 ) + (electronic) =( 0.00000 -0.00000 0.00000 ) + + output psi filename:./w.movecs + + +== Timing == + +cputime in seconds + prologue : 0.745387E-01 + main loop : 0.136737E+00 + epilogue : 0.182997E-01 + total : 0.229575E+00 + cputime/step: 0.210365E-02 ( 65 evalulations, 15 linesearches) + + +Time spent doing total step percent + total time : 0.230022E+00 0.353880E-02 100.0 % + i/o time : 0.368268E-02 0.566566E-04 1.6 % + FFTs : 0.118074E-01 0.181652E-03 5.1 % + dot products : 0.278644E-02 0.428683E-04 1.2 % + geodesic : 0.648055E-02 0.997007E-04 2.8 % + ffm_dgemm : 0.284575E-03 0.437808E-05 0.1 % + fmf_dgemm : 0.189982E-02 0.292280E-04 0.8 % + mmm_dgemm : 0.513420E-04 0.789877E-06 0.0 % + m_diagonalize : 0.289267E-03 0.445026E-05 0.1 % + exchange correlation : 0.533441E-01 0.820678E-03 23.2 % + local pseudopotentials : 0.185780E-04 0.285815E-06 0.0 % + non-local pseudopotentials : 0.490618E-02 0.754796E-04 2.1 % + hartree potentials : 0.506539E-03 0.779291E-05 0.2 % + ion-ion interaction : 0.228455E-02 0.351469E-04 1.0 % + structure factors : 0.998308E-02 0.153586E-03 4.3 % + phase factors : 0.119090E-04 0.183215E-06 0.0 % + masking and packing : 0.834395E-02 0.128368E-03 3.6 % + queue fft : 0.432896E-01 0.665994E-03 18.8 % + queue fft (serial) : 0.309097E-01 0.475534E-03 13.4 % + queue fft (message passing): 0.111107E-01 0.170934E-03 4.8 % + non-local psp FFM : 0.270164E-02 0.415637E-04 1.2 % + non-local psp FMF : 0.966417E-03 0.148680E-04 0.4 % + non-local psp FFM A : 0.351360E-03 0.540554E-05 0.2 % + non-local psp FFM B : 0.216041E-02 0.332371E-04 0.9 % + + >>> JOB COMPLETED AT Mon Sep 23 14:29:21 2019 <<< + **************************************************** + * * + * NWPW PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * * + * [ NorthWest Chemistry implementation ] * + * * + * version #5.10 06/12/02 * + * * + * This code was developed by Eric J. Bylaska, * + * and was based upon algorithms and code * + * developed by the group of Prof. John H. Weare * + * * + **************************************************** + >>> JOB STARTED AT Mon Sep 23 14:29:21 2019 <<< + ================ input data ======================== + + input psi filename:./w.movecs + + initializing pspw_APC data structure + ------------------------------------ + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + number of processors used: 1 + processor grid : 1 x 1 + parallel mapping :2d hilbert + parallel mapping : balanced + number of threads : 1 + parallel io : off + + options: + boundary conditions = periodic (version3) + electron spin = restricted + exchange-correlation = LDA (Vosko et al) parameterization + + elements involved in the cluster: + 1: W valence charge: 6.0000 lmax= 2 + comment : Troullier-Martins pseudopotential + pseudpotential type : 0 + highest angular component : 2 + local potential used : 0 + number of non-local projections: 8 + semicore corrections included : 1.800 (radius) 4.538 (charge) + cutoff = 2.389 3.185 2.244 + + + total charge: 0.000 + + atomic composition: + W : 2 + + number of electrons: spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + number of orbitals : spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + + supercell: + cell_name: cell_default + lattice: a1=< 5.972 0.000 0.000 > + a2=< 0.000 5.972 0.000 > + a3=< 0.000 0.000 5.972 > + reciprocal: b1=< 1.052 0.000 -0.000 > + b2=< -0.000 1.052 -0.000 > + b3=< 0.000 0.000 1.052 > + lattice: a= 5.972 b= 5.972 c= 5.972 + alpha= 90.000 beta= 90.000 gamma= 90.000 + omega= 212.9 + + density cutoff= 26.570 fft= 16x 16x 16( 679 waves 679 per task) + wavefnc cutoff= 26.570 fft= 16x 16x 16( 679 waves 679 per task) + Ewald summation: cut radius= 1.90 and 8 + Madelung Wigner-Seitz= 1.76011888 (alpha= 2.83729748 rs= 3.70444413) + + technical parameters: + time step= 5.80 fictitious mass= 400000.0 + tolerance=0.100E-08 (energy) 0.100E-08 (density) + maximum iterations = 1000 ( 10 inner 100 outer ) + + + + + +== Energy Calculation == + + + ====== Grassmann conjugate gradient iteration ====== + >>> ITERATION STARTED AT Mon Sep 23 14:29:21 2019 <<< + iter. Energy DeltaE DeltaRho + ------------------------------------------------------ + 10 -0.2020451899E+02 -0.26409E-08 0.50388E-10 + 20 -0.2020451899E+02 -0.97153E-09 0.52248E-11 + *** tolerance ok. iteration terminated + >>> ITERATION ENDED AT Mon Sep 23 14:29:21 2019 <<< + + +== Summary Of Results == + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + total energy : -0.2020451899E+02 ( -0.10102E+02/ion) + total orbital energy: 0.5093462286E+01 ( 0.84891E+00/electron) + hartree energy : 0.2902599490E+00 ( 0.48377E-01/electron) + exc-corr energy : -0.9444898225E+01 ( -0.15741E+01/electron) + ion-ion energy : -0.2193948849E+02 ( -0.10970E+02/ion) + + kinetic (planewave) : 0.1441599938E+02 ( 0.24027E+01/electron) + V_local (planewave) : 0.1156112031E+02 ( 0.19269E+01/electron) + V_nl (planewave) : -0.1508751191E+02 ( -0.25146E+01/electron) + V_Coul (planewave) : 0.5805198980E+00 ( 0.96753E-01/electron) + V_xc. (planewave) : -0.6376665384E+01 ( -0.10628E+01/electron) + Virial Coefficient : -0.6466799038E+00 + + orbital energies: + 0.5414224E+00 ( 14.733eV) + 0.5414220E+00 ( 14.733eV) + 0.5414216E+00 ( 14.733eV) + 0.3596618E+00 ( 9.787eV) + 0.3596618E+00 ( 9.787eV) + 0.2031417E+00 ( 5.528eV) + + Total PSPW energy : -0.2020451899E+02 + + +=== Spin Contamination === + + = 0.0000000000000000 + = 0.0000000000000000 + + + +== Center of Charge == + +spin up ( -0.0000, -0.0000, 0.0000 ) +spin down ( -0.0000, -0.0000, 0.0000 ) + total ( -0.0000, -0.0000, 0.0000 ) +ionic ( 1.4929, 1.4929, 1.4929 ) + + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9146, 17.9146, 17.9146 ) au +|mu| = 31.0290 au, 78.8633 Debye + + + + ************************************************************* + ** ** + ** PSPW Mulliken analysis ** + ** ** + ** Population analysis algorithm devloped by Ryoichi Kawai ** + ** ** + ** Mon Sep 23 14:29 ** + ** ** + ************************************************************* + + +== XYZ OUTPUT == + + + 2 + +W 0.000000 0.000000 0.000000 +W 1.579999 1.579999 1.579999 + + +== Atomic Orbital Expansion == + + W nodamping + + + ===================================================== + | POPULATION ANALYSIS OF FILLED MOLECULAR ORBITALS | + ===================================================== + + +== Using pseudoatomic orbital expansion == + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 1*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 -0.00000 -0.50150 0.00000 0.49850 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 -0.00000 -0.00000 0.00000 -0.00000 0.00000 0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 -0.00000 -0.50150 0.00000 0.49850 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 -0.00000 -0.00000 0.00000 0.00000 0.00000 -0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 2*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 -0.00000 0.00000 0.00001 -0.00000 0.70711 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 -0.00001 -0.00000 0.00000 -0.00000 0.00000 0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 -0.00000 0.00000 0.00001 -0.00000 0.70711 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 -0.00001 -0.00000 0.00000 0.00000 0.00000 -0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 3*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 0.00000 0.49850 -0.00000 0.50150 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 0.00000 0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 0.00000 0.49850 -0.00000 0.50150 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 0.00000 -0.00000 -0.00000 0.00000 -0.00000 -0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 4*** SPIN=BOTH SUM= 0.14906E+01 E= 0.35966E+00 ( 9.787eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.47918 0.62168 0.00000 -0.30446 0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.02082 0.14429 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.47918 -0.62168 -0.00000 0.30446 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.02082 -0.14429 0.00000 0.00000 -0.00000 0.00000 -0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9584 0.0416 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 5*** SPIN=BOTH SUM= 0.14301E+01 E= 0.35966E+00 ( 9.787eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.49946 -0.31083 -0.00000 -0.63470 0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00054 0.02331 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.49946 0.31083 0.00000 0.63470 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00054 -0.02331 -0.00000 -0.00000 -0.00000 0.00000 -0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9989 0.0011 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 6*** SPIN=BOTH SUM= 0.19541E+01 E= 0.20314E+00 ( 5.528eV) + +NO ATOM L POPULATION + s + 1 W 0 0.49973 0.70692 + px pz py + 1 W 1 0.00000 -0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.00000 -0.00000 0.00000 0.00000 -0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00027 -0.01628 0.00000 0.00000 0.00000 -0.00000 -0.00000 -0.00000 + s + 2 W 0 0.49973 0.70692 + px pz py + 2 W 1 0.00000 0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.00000 0.00000 0.00000 -0.00000 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00027 -0.01628 0.00000 -0.00000 0.00000 -0.00000 -0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.9995 0.0000 0.0000 0.0005 + + + ======================================== + | POPULATION ANALYSIS ON EACH ATOM | + ======================================== + + +NO ATOM SPIN TOTAL s p d f + 1 W UP 3.00000 0.49973 0.00000 2.47864 0.02163 + 1 W DOWN 3.00000 0.49973 0.00000 2.47864 0.02163 + 2 W UP 3.00000 0.49973 0.00000 2.47864 0.02163 + 2 W DOWN 3.00000 0.49973 0.00000 2.47864 0.02163 + + + +=== TOTAL ANGULAR MOMENTUM POPULATION === + + SPIN s p d f + UP 16.66% 0.00% 82.62% 0.72% + UP 16.66% 0.00% 82.62% 0.72% + TOTAL 16.66% 0.00% 82.62% 0.72% + + ************************************************************* + ** ** + ** PSPW Atomic Point Charge (APC) Analysis ** + ** ** + ** Point charge analysis based on paper by P.E. Blochl ** + ** (J. Chem. Phys. vol 103, page 7422, 1995) ** + ** ** + ************************************************************* + + pspw_APC data structure + ----------------------- + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + -- ---- ------- ------- ------- + 1 W -6.906 6.000 -0.906 + 2 W -5.625 6.000 0.375 + Total Q -12.531 12.000 -0.531 + + + gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + -- ---- ------- ------- ------- ------- + 1 W 6.000 -25.719 50.250 -31.438 + 2 W 6.000 -5.000 12.188 -12.812 + + +=== Electric Field at Atoms === + + 1 W Atomic Electric Field =( -0.00000 -0.00000 0.00000 ) + (ion) =( 0.00000 0.00000 -0.00000 ) + (electronic) =( -0.00000 -0.00000 0.00000 ) + 2 W Atomic Electric Field =( 0.00000 -0.00000 -0.00000 ) + (ion) =( -0.00000 -0.00000 0.00000 ) + (electronic) =( 0.00000 -0.00000 -0.00000 ) + + output psi filename:./w.movecs + + +== Timing == + +cputime in seconds + prologue : 0.745646E-01 + main loop : 0.114422E+00 + epilogue : 0.186484E-01 + total : 0.207635E+00 + cputime/step: 0.233514E-02 ( 49 evalulations, 11 linesearches) + + +Time spent doing total step percent + total time : 0.208073E+00 0.424639E-02 100.0 % + i/o time : 0.369110E-02 0.753285E-04 1.8 % + FFTs : 0.938805E-02 0.191593E-03 4.5 % + dot products : 0.334735E-02 0.683133E-04 1.6 % + geodesic : 0.620612E-02 0.126655E-03 3.0 % + ffm_dgemm : 0.410025E-03 0.836786E-05 0.2 % + fmf_dgemm : 0.262005E-02 0.534703E-04 1.3 % + mmm_dgemm : 0.403200E-04 0.822857E-06 0.0 % + m_diagonalize : 0.265351E-03 0.541533E-05 0.1 % + exchange correlation : 0.403655E-01 0.823786E-03 19.4 % + local pseudopotentials : 0.218100E-04 0.445102E-06 0.0 % + non-local pseudopotentials : 0.583915E-02 0.119166E-03 2.8 % + hartree potentials : 0.445709E-03 0.909610E-05 0.2 % + ion-ion interaction : 0.230654E-02 0.470722E-04 1.1 % + structure factors : 0.101746E-01 0.207644E-03 4.9 % + phase factors : 0.125530E-04 0.256184E-06 0.0 % + masking and packing : 0.763773E-02 0.155872E-03 3.7 % + queue fft : 0.369776E-01 0.754645E-03 17.8 % + queue fft (serial) : 0.262466E-01 0.535645E-03 12.6 % + queue fft (message passing): 0.969198E-02 0.197796E-03 4.7 % + non-local psp FFM : 0.320117E-02 0.653300E-04 1.5 % + non-local psp FMF : 0.137954E-02 0.281539E-04 0.7 % + non-local psp FFM A : 0.490631E-03 0.100129E-04 0.2 % + non-local psp FFM B : 0.245399E-02 0.500814E-04 1.2 % + + >>> JOB COMPLETED AT Mon Sep 23 14:29:21 2019 <<< + **************************************************** + * * + * NWPW PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * * + * [ NorthWest Chemistry implementation ] * + * * + * version #5.10 06/12/02 * + * * + * This code was developed by Eric J. Bylaska, * + * and was based upon algorithms and code * + * developed by the group of Prof. John H. Weare * + * * + **************************************************** + >>> JOB STARTED AT Mon Sep 23 14:29:21 2019 <<< + ================ input data ======================== + + input psi filename:./w.movecs + + initializing pspw_APC data structure + ------------------------------------ + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + number of processors used: 1 + processor grid : 1 x 1 + parallel mapping :2d hilbert + parallel mapping : balanced + number of threads : 1 + parallel io : off + + options: + boundary conditions = periodic (version3) + electron spin = restricted + exchange-correlation = LDA (Vosko et al) parameterization + + elements involved in the cluster: + 1: W valence charge: 6.0000 lmax= 2 + comment : Troullier-Martins pseudopotential + pseudpotential type : 0 + highest angular component : 2 + local potential used : 0 + number of non-local projections: 8 + semicore corrections included : 1.800 (radius) 4.538 (charge) + cutoff = 2.389 3.185 2.244 + + + total charge: 0.000 + + atomic composition: + W : 2 + + number of electrons: spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + number of orbitals : spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + + supercell: + cell_name: cell_default + lattice: a1=< 5.972 0.000 0.000 > + a2=< 0.000 5.972 0.000 > + a3=< 0.000 0.000 5.972 > + reciprocal: b1=< 1.052 0.000 -0.000 > + b2=< -0.000 1.052 -0.000 > + b3=< 0.000 0.000 1.052 > + lattice: a= 5.972 b= 5.972 c= 5.972 + alpha= 90.000 beta= 90.000 gamma= 90.000 + omega= 212.9 + + density cutoff= 35.427 fft= 16x 16x 16( 1052 waves 1052 per task) + wavefnc cutoff= 35.427 fft= 16x 16x 16( 1052 waves 1052 per task) + Ewald summation: cut radius= 1.90 and 8 + Madelung Wigner-Seitz= 1.76011888 (alpha= 2.83729748 rs= 3.70444413) + + technical parameters: + time step= 5.80 fictitious mass= 400000.0 + tolerance=0.100E-08 (energy) 0.100E-08 (density) + maximum iterations = 1000 ( 10 inner 100 outer ) + + + + + +== Energy Calculation == + + + ====== Grassmann conjugate gradient iteration ====== + >>> ITERATION STARTED AT Mon Sep 23 14:29:21 2019 <<< + iter. Energy DeltaE DeltaRho + ------------------------------------------------------ + 10 -0.2020461705E+02 -0.23340E-09 0.27270E-11 + *** tolerance ok. iteration terminated + >>> ITERATION ENDED AT Mon Sep 23 14:29:21 2019 <<< + + +== Summary Of Results == + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + total energy : -0.2020461705E+02 ( -0.10102E+02/ion) + total orbital energy: 0.5093528357E+01 ( 0.84892E+00/electron) + hartree energy : 0.2902733730E+00 ( 0.48379E-01/electron) + exc-corr energy : -0.9445058980E+01 ( -0.15742E+01/electron) + ion-ion energy : -0.2193948849E+02 ( -0.10970E+02/ion) + + kinetic (planewave) : 0.1441576162E+02 ( 0.24026E+01/electron) + V_local (planewave) : 0.1156121019E+02 ( 0.19269E+01/electron) + V_nl (planewave) : -0.1508731476E+02 ( -0.25146E+01/electron) + V_Coul (planewave) : 0.5805467460E+00 ( 0.96758E-01/electron) + V_xc. (planewave) : -0.6376675440E+01 ( -0.10628E+01/electron) + Virial Coefficient : -0.6466694934E+00 + + orbital energies: + 0.5414197E+00 ( 14.733eV) + 0.5414193E+00 ( 14.733eV) + 0.5414189E+00 ( 14.733eV) + 0.3596821E+00 ( 9.788eV) + 0.3596821E+00 ( 9.788eV) + 0.2031419E+00 ( 5.528eV) + + Total PSPW energy : -0.2020461705E+02 + + +=== Spin Contamination === + + = 0.0000000000000000 + = 0.0000000000000000 + + + +== Center of Charge == + +spin up ( -0.0000, -0.0000, -0.0000 ) +spin down ( -0.0000, -0.0000, -0.0000 ) + total ( -0.0000, -0.0000, -0.0000 ) +ionic ( 1.4929, 1.4929, 1.4929 ) + + +== Molecular Dipole wrt Center of Mass == + +mu = ( 17.9146, 17.9146, 17.9146 ) au +|mu| = 31.0290 au, 78.8633 Debye + + +Translation force removed: ( -0.00000 -0.00000 -0.00000) + + + ============= Ion Gradients ================= + Ion Forces: + 1 W ( 0.000000 0.000000 -0.000000 ) + 2 W ( -0.000000 -0.000000 -0.000000 ) + C.O.M. ( 0.000000 0.000000 -0.000000 ) + =============================================== + |F| = 0.418432E-08 + |F|/nion = 0.209216E-08 + max|Fatom|= 0.295876E-08 ( 0.000eV/Angstrom) + + + + Outputting formatted_stress_filename: ./W.vpp2 + + +====================== += Stress calculation = +====================== + + + ============= total gradient ============== + S = ( 0.12513 0.00001 0.00000 ) + ( 0.00001 0.12513 0.00000 ) + ( 0.00000 0.00000 0.12513 ) + =================================================== + |S| = 0.21673E+00 + pressure = 0.125E+00 au + = 0.368E+02 Mbar + = 0.368E+04 GPa + = 0.363E+08 atm + + + dE/da = 0.12513 + dE/db = 0.12513 + dE/dc = 0.12513 + dE/dalpha = 0.00000 + dE/dbeta = 0.00000 + dE/dgamma = -0.00004 + + + + + ************************************************************* + ** ** + ** PSPW Mulliken analysis ** + ** ** + ** Population analysis algorithm devloped by Ryoichi Kawai ** + ** ** + ** Mon Sep 23 14:29 ** + ** ** + ************************************************************* + + +== XYZ OUTPUT == + + + 2 + +W 0.000000 0.000000 0.000000 +W 1.579999 1.579999 1.579999 + + +== Atomic Orbital Expansion == + + W nodamping + + + ===================================================== + | POPULATION ANALYSIS OF FILLED MOLECULAR ORBITALS | + ===================================================== + + +== Using pseudoatomic orbital expansion == + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 1*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 -0.00000 -0.50144 0.00000 0.49855 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 -0.00000 -0.00000 0.00000 -0.00000 0.00000 0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 -0.00000 -0.50144 0.00000 0.49855 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 -0.00000 -0.00000 0.00000 0.00000 0.00000 -0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 2*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 0.00000 -0.00000 -0.00001 0.00000 -0.70711 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 0.00001 0.00000 -0.00000 0.00000 -0.00000 -0.00000 0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 0.00000 -0.00000 -0.00001 0.00000 -0.70711 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 0.00001 0.00000 -0.00000 -0.00000 -0.00000 0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 3*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 -0.00000 -0.49855 0.00000 -0.50144 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 -0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 -0.00000 -0.49855 0.00000 -0.50144 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 -0.00000 0.00000 0.00000 -0.00000 0.00000 0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 4*** SPIN=BOTH SUM= 0.14893E+01 E= 0.35968E+00 ( 9.788eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.47961 -0.61917 -0.00000 0.31022 -0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.02039 -0.14281 -0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.47961 0.61917 0.00000 -0.31022 -0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.02039 0.14281 -0.00000 -0.00000 0.00000 -0.00000 -0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9592 0.0408 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 5*** SPIN=BOTH SUM= 0.14299E+01 E= 0.35968E+00 ( 9.788eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.49953 0.31660 0.00000 0.63190 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00047 -0.02171 0.00000 0.00000 0.00000 0.00000 -0.00000 0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.49953 -0.31660 -0.00000 -0.63190 -0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00047 0.02171 0.00000 0.00000 0.00000 -0.00000 -0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9991 0.0009 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 6*** SPIN=BOTH SUM= 0.19540E+01 E= 0.20314E+00 ( 5.528eV) + +NO ATOM L POPULATION + s + 1 W 0 0.49974 0.70692 + px pz py + 1 W 1 0.00000 -0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.00000 -0.00000 0.00000 0.00000 -0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00026 -0.01609 0.00000 0.00000 0.00000 -0.00000 -0.00000 -0.00000 + s + 2 W 0 0.49974 0.70692 + px pz py + 2 W 1 0.00000 0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.00000 0.00000 0.00000 -0.00000 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00026 -0.01609 -0.00000 -0.00000 0.00000 -0.00000 0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.9995 0.0000 0.0000 0.0005 + + + ======================================== + | POPULATION ANALYSIS ON EACH ATOM | + ======================================== + + +NO ATOM SPIN TOTAL s p d f + 1 W UP 3.00000 0.49974 0.00000 2.47913 0.02112 + 1 W DOWN 3.00000 0.49974 0.00000 2.47913 0.02112 + 2 W UP 3.00000 0.49974 0.00000 2.47913 0.02112 + 2 W DOWN 3.00000 0.49974 0.00000 2.47913 0.02112 + + + +=== TOTAL ANGULAR MOMENTUM POPULATION === + + SPIN s p d f + UP 16.66% 0.00% 82.64% 0.70% + UP 16.66% 0.00% 82.64% 0.70% + TOTAL 16.66% 0.00% 82.64% 0.70% + + ************************************************************* + ** ** + ** PSPW Atomic Point Charge (APC) Analysis ** + ** ** + ** Point charge analysis based on paper by P.E. Blochl ** + ** (J. Chem. Phys. vol 103, page 7422, 1995) ** + ** ** + ************************************************************* + + pspw_APC data structure + ----------------------- + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + -- ---- ------- ------- ------- + 1 W -5.594 6.000 0.406 + 2 W -6.250 6.000 -0.250 + Total Q -11.844 12.000 0.156 + + + gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + -- ---- ------- ------- ------- ------- + 1 W 6.000 -6.219 15.062 -14.438 + 2 W 6.000 -8.281 20.125 -18.094 + + +=== Electric Field at Atoms === + + 1 W Atomic Electric Field =( -0.00000 -0.00000 0.00000 ) + (ion) =( 0.00000 0.00000 -0.00000 ) + (electronic) =( -0.00000 -0.00000 0.00000 ) + 2 W Atomic Electric Field =( 0.00000 -0.00000 0.00000 ) + (ion) =( -0.00000 -0.00000 0.00000 ) + (electronic) =( 0.00000 -0.00000 -0.00000 ) + + output psi filename:./w.movecs + + +== Timing == + +cputime in seconds + prologue : 0.746791E-01 + main loop : 0.359966E+00 + epilogue : 0.187162E-01 + total : 0.453362E+00 + cputime/step: 0.133321E-01 ( 27 evalulations, 6 linesearches) + + +Time spent doing total step percent + total time : 0.453809E+00 0.168078E-01 100.0 % + i/o time : 0.371068E-02 0.137433E-03 0.8 % + FFTs : 0.870071E-02 0.322248E-03 1.9 % + dot products : 0.347239E-02 0.128607E-03 0.8 % + geodesic : 0.430554E-02 0.159464E-03 0.9 % + ffm_dgemm : 0.322600E-03 0.119481E-04 0.1 % + fmf_dgemm : 0.226656E-02 0.839466E-04 0.5 % + mmm_dgemm : 0.241260E-04 0.893554E-06 0.0 % + m_diagonalize : 0.143440E-03 0.531259E-05 0.0 % + exchange correlation : 0.226012E-01 0.837082E-03 5.0 % + local pseudopotentials : 0.247782E-03 0.917711E-05 0.1 % + non-local pseudopotentials : 0.596243E-02 0.220831E-03 1.3 % + hartree potentials : 0.303066E-03 0.112247E-04 0.1 % + ion-ion interaction : 0.742231E-01 0.274901E-02 16.4 % + structure factors : 0.100176E-01 0.371024E-03 2.2 % + phase factors : 0.123850E-04 0.458704E-06 0.0 % + masking and packing : 0.747819E-02 0.276970E-03 1.6 % + queue fft : 0.227258E-01 0.841697E-03 5.0 % + queue fft (serial) : 0.159551E-01 0.590931E-03 3.5 % + queue fft (message passing): 0.615529E-02 0.227974E-03 1.4 % + non-local psp FFM : 0.252122E-02 0.933787E-04 0.6 % + non-local psp FMF : 0.112022E-02 0.414896E-04 0.2 % + non-local psp FFM A : 0.456889E-03 0.169218E-04 0.1 % + non-local psp FFM B : 0.186526E-02 0.690838E-04 0.4 % + + >>> JOB COMPLETED AT Mon Sep 23 14:29:22 2019 <<< + + Task times cpu: 5.6s wall: 3.8s + + + NWChem Input Module + ------------------- + + + Summary of allocated global arrays +----------------------------------- + No active global arrays + + + + GA Statistics for process 0 + ------------------------------ + + create destroy get put acc scatter gather read&inc +calls: 8 8 86 10 0 0 0 0 +number of processes/call 1.00e+00 1.00e+00 0.00e+00 0.00e+00 0.00e+00 +bytes total: 1.81e+05 8.19e+04 0.00e+00 0.00e+00 0.00e+00 0.00e+00 +bytes remote: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 +Max memory consumed for GA by this process: 65536 bytes + +MA_summarize_allocated_blocks: starting scan ... +heap block 'sw1t', handle 348, address 0x55eea965d008: + type of elements: double precision + number of elements: 16 + address of client space: 0x55eea965d080 + index for client space: 10242743 + total number of bytes: 256 +MA_summarize_allocated_blocks: scan completed: 1 heap block, 0 stack blocks +MA usage statistics: + + allocation statistics: + heap stack + ---- ----- + current number of blocks 1 0 + maximum number of blocks 304 17 + current total bytes 256 0 + maximum total bytes 5596824 351896 + maximum total K-bytes 5597 352 + maximum total M-bytes 6 1 + + + CITATION + -------- + Please cite the following reference when publishing + results obtained with NWChem: + + M. Valiev, E.J. Bylaska, N. Govind, K. Kowalski, + T.P. Straatsma, H.J.J. van Dam, D. Wang, J. Nieplocha, + E. Apra, T.L. Windus, W.A. de Jong + "NWChem: a comprehensive and scalable open-source + solution for large scale molecular simulations" + Comput. Phys. Commun. 181, 1477 (2010) + doi:10.1016/j.cpc.2010.04.018 + + AUTHORS + ------- + E. Apra, E. J. Bylaska, W. A. de Jong, N. Govind, K. Kowalski, + T. P. Straatsma, M. Valiev, H. J. J. van Dam, D. Wang, T. L. Windus, + J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, K. Lopata, + S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, O. Villa, + Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, V. Konjkov, + D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich, + A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao, + P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr, + M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju, + M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, L. Jensen, M. Swart, + Q. Wu, T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown, + G. Cisneros, G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall, + J. A. Nichols, K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt, + P. Borowski, T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall, + D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson, + J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng, + T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone, + M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang. + + Total times cpu: 5.6s wall: 3.8s diff --git a/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out.W.3Oct19 b/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out.W.3Oct19 new file mode 100644 index 0000000000000000000000000000000000000000..36b6cfa4c4e6ed0ea107d342f8481c0c551e9946 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out.W.3Oct19 @@ -0,0 +1,817 @@ + argument 1 = nwchem_lammps.nw + + + +============================== echo of input deck ============================== +echo + +#**** Enter the geometry using fractional coordinates **** +geometry units angstrom noautosym + system crystal + lat_a 3.16d0 + lat_b 3.16d0 + lat_c 3.16d0 + end +W 0.999335 0.99967 0.998875 +W 0.500665 0.50033 0.501125 +end + +nwpw + vectors input nwchem_lammps.movecs +end + +#***** setup the nwpw gamma point code **** +nwpw + simulation_cell + ngrid 16 16 16 + end + ewald_ncut 8 + mulliken + lcao #old default +end + +nwpw + tolerances 1.0d-9 1.0d-9 +end + +task pspw stress +================================================================================ + + + + + + + Northwest Computational Chemistry Package (NWChem) 6.8 + ------------------------------------------------------ + + + Environmental Molecular Sciences Laboratory + Pacific Northwest National Laboratory + Richland, WA 99352 + + Copyright (c) 1994-2018 + Pacific Northwest National Laboratory + Battelle Memorial Institute + + NWChem is an open-source computational chemistry package + distributed under the terms of the + Educational Community License (ECL) 2.0 + A copy of the license is included with this distribution + in the LICENSE.TXT file + + ACKNOWLEDGMENT + -------------- + + This software and its documentation were developed at the + EMSL at Pacific Northwest National Laboratory, a multiprogram + national laboratory, operated for the U.S. Department of Energy + by Battelle under Contract Number DE-AC05-76RL01830. Support + for this work was provided by the Department of Energy Office + of Biological and Environmental Research, Office of Basic + Energy Sciences, and the Office of Advanced Scientific Computing. + + + Job information + --------------- + + hostname = singsing + program = /home/sjplimp/tools/nwchem-6.8.1-release/bin/LINUX64/nwchem + date = Thu Oct 3 16:57:17 2019 + + compiled = Wed_Oct_02_09:25:27_2019 + source = /home/sjplimp/tools/nwchem-6.8.1-release + nwchem branch = Development + nwchem revision = N/A + ga revision = 5.6.5 + use scalapack = F + input = nwchem_lammps.nw + prefix = nwchem_lammps. + data base = ./nwchem_lammps.db + status = restart + nproc = 1 + time left = -1s + + + + Memory information + ------------------ + + heap = 13107200 doubles = 100.0 Mbytes + stack = 13107197 doubles = 100.0 Mbytes + global = 26214400 doubles = 200.0 Mbytes (distinct from heap & stack) + total = 52428797 doubles = 400.0 Mbytes + verify = yes + hardfail = no + + + Directory information + --------------------- + + 0 permanent = . + 0 scratch = . + + + Previous task information + ------------------------- + + Theory = pspw + Operation = stress + Status = unknown + Qmmm = F + Ignore = F + + + Geometries in the database + -------------------------- + + Name Natoms Last Modified + -------------------------------- ------ ------------------------ + 1 geometry 2 Thu Oct 3 16:57:16 2019 + + The geometry named "geometry" is the default for restart + + + + Basis sets in the database + -------------------------- + + There are no basis sets in the database + + + + NWChem Input Module + ------------------- + + + + !!!!!!!!! geom_3d NEEDS TESTING !!!!!!!!!! + + + Geometry "geometry" -> "" + ------------------------- + + Output coordinates in angstroms (scale by 1.889725989 to convert to a.u.) + + No. Tag Charge X Y Z + ---- ---------------- ---------- -------------- -------------- -------------- + 1 W 74.0000 3.15789860 3.15895720 3.15644500 + 2 W 74.0000 1.58210140 1.58104280 1.58355500 + + Lattice Parameters + ------------------ + + lattice vectors in angstroms (scale by 1.889725989 to convert to a.u.) + + a1=< 3.160 0.000 0.000 > + a2=< 0.000 3.160 0.000 > + a3=< 0.000 0.000 3.160 > + a= 3.160 b= 3.160 c= 3.160 + alpha= 90.000 beta= 90.000 gamma= 90.000 + omega= 31.6 + + reciprocal lattice vectors in a.u. + + b1=< 1.052 0.000 -0.000 > + b2=< -0.000 1.052 -0.000 > + b3=< 0.000 0.000 1.052 > + + Atomic Mass + ----------- + + W 183.951000 + + + + XYZ format geometry + ------------------- + 2 + geometry + W 3.15789860 3.15895720 3.15644500 + W 1.58210140 1.58104280 1.58355500 + + ============================================================================== + internuclear distances + ------------------------------------------------------------------------------ + center one | center two | atomic units | angstroms + ------------------------------------------------------------------------------ + 2 W | 1 W | 5.15689 | 2.72891 + ------------------------------------------------------------------------------ + number of included internuclear distances: 1 + ============================================================================== + + + + >>>> PSPW Parallel Module - stress <<<< + **************************************************** + * * + * NWPW PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * * + * [ NorthWest Chemistry implementation ] * + * * + * version #5.10 06/12/02 * + * * + * This code was developed by Eric J. Bylaska, * + * and was based upon algorithms and code * + * developed by the group of Prof. John H. Weare * + * * + **************************************************** + >>> JOB STARTED AT Thu Oct 3 16:57:17 2019 <<< + ================ input data ======================== + + input psi filename:./nwchem_lammps.movecs + + initializing pspw_APC data structure + ------------------------------------ + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + number of processors used: 1 + processor grid : 1 x 1 + parallel mapping :2d hilbert + parallel mapping : balanced + number of threads : 1 + parallel io : off + + options: + boundary conditions = periodic (version3) + electron spin = restricted + exchange-correlation = LDA (Vosko et al) parameterization + + elements involved in the cluster: + 1: W valence charge: 6.0000 lmax= 2 + comment : Troullier-Martins pseudopotential + pseudpotential type : 0 + highest angular component : 2 + local potential used : 0 + number of non-local projections: 8 + semicore corrections included : 1.800 (radius) 4.538 (charge) + cutoff = 2.389 3.185 2.244 + + + total charge: 0.000 + + atomic composition: + W : 2 + + number of electrons: spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + number of orbitals : spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + + supercell: + cell_name: cell_default + lattice: a1=< 5.972 0.000 0.000 > + a2=< 0.000 5.972 0.000 > + a3=< 0.000 0.000 5.972 > + reciprocal: b1=< 1.052 0.000 -0.000 > + b2=< -0.000 1.052 -0.000 > + b3=< 0.000 0.000 1.052 > + lattice: a= 5.972 b= 5.972 c= 5.972 + alpha= 90.000 beta= 90.000 gamma= 90.000 + omega= 212.9 + + density cutoff= 35.427 fft= 16x 16x 16( 1052 waves 1052 per task) + wavefnc cutoff= 35.427 fft= 16x 16x 16( 1052 waves 1052 per task) + Ewald summation: cut radius= 1.90 and 8 + Madelung Wigner-Seitz= 1.76011888 (alpha= 2.83729748 rs= 3.70444413) + + technical parameters: + time step= 5.80 fictitious mass= 400000.0 + tolerance=0.100E-08 (energy) 0.100E-08 (density) + maximum iterations = 1000 ( 10 inner 100 outer ) + + + + + +== Energy Calculation == + + + ====== Grassmann conjugate gradient iteration ====== + >>> ITERATION STARTED AT Thu Oct 3 16:57:17 2019 <<< + iter. Energy DeltaE DeltaRho + ------------------------------------------------------ + 10 -0.2020457267E+02 -0.12753E-06 0.54770E-09 + 20 -0.2020457281E+02 -0.96520E-09 0.65680E-11 + *** tolerance ok. iteration terminated + >>> ITERATION ENDED AT Thu Oct 3 16:57:18 2019 <<< + + +== Summary Of Results == + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + total energy : -0.2020457281E+02 ( -0.10102E+02/ion) + total orbital energy: 0.5093546150E+01 ( 0.84892E+00/electron) + hartree energy : 0.2903382088E+00 ( 0.48390E-01/electron) + exc-corr energy : -0.9445078100E+01 ( -0.15742E+01/electron) + ion-ion energy : -0.2193939674E+02 ( -0.10970E+02/ion) + + kinetic (planewave) : 0.1441586264E+02 ( 0.24026E+01/electron) + V_local (planewave) : 0.1156111351E+02 ( 0.19269E+01/electron) + V_nl (planewave) : -0.1508741234E+02 ( -0.25146E+01/electron) + V_Coul (planewave) : 0.5806764176E+00 ( 0.96779E-01/electron) + V_xc. (planewave) : -0.6376694082E+01 ( -0.10628E+01/electron) + Virial Coefficient : -0.6466707350E+00 + + orbital energies: + 0.5414291E+00 ( 14.733eV) + 0.5414285E+00 ( 14.733eV) + 0.5414070E+00 ( 14.733eV) + 0.3596871E+00 ( 9.788eV) + 0.3596781E+00 ( 9.787eV) + 0.2031433E+00 ( 5.528eV) + + Total PSPW energy : -0.2020457281E+02 + + +=== Spin Contamination === + + = 0.0000000000000000 + = 0.0000000000000000 + + + +== Center of Charge == + +spin up ( -0.0030, -0.0015, -0.0050 ) +spin down ( -0.0030, -0.0015, -0.0050 ) + total ( -0.0030, -0.0015, -0.0050 ) +ionic ( -1.4929, -1.4929, -1.4929 ) + + +== Molecular Dipole wrt Center of Mass == + +mu = ( -17.8792, -17.8970, -17.8547 ) au +|mu| = 30.9638 au, 78.6976 Debye + + +Translation force removed: ( -0.00000 -0.00000 -0.00000) + + + ============= Ion Gradients ================= + Ion Forces: + 1 W ( 0.002737 0.001358 0.004631 ) + 2 W ( -0.002737 -0.001358 -0.004631 ) + C.O.M. ( 0.000000 0.000000 0.000000 ) + =============================================== + |F| = 0.784689E-02 + |F|/nion = 0.392344E-02 + max|Fatom|= 0.554859E-02 ( 0.285eV/Angstrom) + + + + +====================== += Stress calculation = +====================== + + + ============= total gradient ============== + S = ( 0.12512 0.00000 0.00000 ) + ( 0.00000 0.12512 0.00001 ) + ( 0.00000 0.00001 0.12511 ) + =================================================== + |S| = 0.21671E+00 + pressure = 0.125E+00 au + = 0.368E+02 Mbar + = 0.368E+04 GPa + = 0.363E+08 atm + + + dE/da = 0.12512 + dE/db = 0.12512 + dE/dc = 0.12511 + dE/dalpha = -0.00003 + dE/dbeta = -0.00002 + dE/dgamma = -0.00001 + + + + + ************************************************************* + ** ** + ** PSPW Mulliken analysis ** + ** ** + ** Population analysis algorithm devloped by Ryoichi Kawai ** + ** ** + ** Thu Oct 3 16:57 ** + ** ** + ************************************************************* + + +== XYZ OUTPUT == + + + 2 + +W -0.002101 -0.001043 -0.003555 +W -1.577898 -1.578956 -1.576444 + + +== Atomic Orbital Expansion == + + W nodamping + + + ===================================================== + | POPULATION ANALYSIS OF FILLED MOLECULAR ORBITALS | + ===================================================== + + +== Using pseudoatomic orbital expansion == + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 1*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54143E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 -0.00018 -0.00011 0.00005 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.49999 0.00003 -0.68532 0.00001 0.10591 0.13824 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00001 -0.00003 -0.00187 -0.00238 -0.00028 0.00001 0.00000 -0.00017 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 0.00018 0.00011 -0.00005 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.49999 0.00003 -0.68532 0.00001 0.10591 0.13824 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00001 -0.00003 0.00187 0.00238 0.00028 -0.00001 -0.00000 0.00017 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 2*** SPIN=BOTH SUM= 0.12472E+01 E= 0.54143E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00002 -0.00005 -0.00011 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.49998 -0.00001 -0.02322 0.00001 -0.61187 0.35363 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00002 -0.00001 0.00071 -0.00049 -0.00015 -0.00283 0.00006 0.00266 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00002 0.00005 0.00011 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.49998 -0.00001 -0.02322 0.00001 -0.61187 0.35363 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00002 -0.00001 -0.00071 0.00049 0.00015 0.00283 -0.00006 -0.00266 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 3*** SPIN=BOTH SUM= 0.12472E+01 E= 0.54141E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 0.00010 0.00006 0.00020 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.49999 0.00000 0.17259 0.00000 0.33820 0.59651 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00001 0.00000 0.00001 -0.00015 0.00015 -0.00033 -0.00325 -0.00033 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 -0.00010 -0.00006 -0.00020 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.49999 0.00000 0.17259 0.00000 0.33820 0.59651 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00001 0.00000 -0.00001 0.00015 -0.00015 0.00033 0.00325 0.00033 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 4*** SPIN=BOTH SUM= 0.14577E+01 E= 0.35969E+00 ( 9.788eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00002 0.00162 -0.00440 0.00049 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.48998 -0.09896 0.00001 0.69296 0.00001 -0.00001 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00999 -0.09993 0.00031 -0.00131 -0.00234 -0.00064 0.00000 0.00022 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00002 0.00162 -0.00440 0.00049 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.48998 0.09896 -0.00001 -0.69296 -0.00001 0.00001 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00999 0.09993 0.00031 -0.00131 -0.00234 -0.00064 0.00000 0.00022 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9800 0.0200 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 5*** SPIN=BOTH SUM= 0.14616E+01 E= 0.35968E+00 ( 9.787eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00001 0.00206 0.00063 -0.00121 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.48871 -0.69206 -0.00002 -0.09883 0.00001 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.01129 -0.10621 0.00214 0.00009 0.00033 0.00014 0.00000 0.00063 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00001 0.00206 0.00063 -0.00121 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.48871 0.69206 0.00002 0.09883 -0.00001 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.01129 0.10621 0.00214 0.00009 0.00033 0.00014 0.00000 0.00063 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9774 0.0226 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 6*** SPIN=BOTH SUM= 0.19540E+01 E= 0.20314E+00 ( 5.528eV) + +NO ATOM L POPULATION + s + 1 W 0 0.49974 -0.70692 + px pz py + 1 W 1 0.00000 0.00028 0.00047 0.00014 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00026 0.01609 -0.00000 -0.00007 0.00021 -0.00003 0.00000 -0.00004 + s + 2 W 0 0.49974 -0.70692 + px pz py + 2 W 1 0.00000 -0.00028 -0.00047 -0.00014 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00026 0.01609 0.00000 0.00007 -0.00021 0.00003 -0.00000 0.00004 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.9995 0.0000 0.0000 0.0005 + + + ======================================== + | POPULATION ANALYSIS ON EACH ATOM | + ======================================== + + +NO ATOM SPIN TOTAL s p d f + 1 W UP 3.00000 0.49974 0.00003 2.47866 0.02157 + 1 W DOWN 3.00000 0.49974 0.00003 2.47866 0.02157 + 2 W UP 3.00000 0.49974 0.00003 2.47866 0.02157 + 2 W DOWN 3.00000 0.49974 0.00003 2.47866 0.02157 + + + +=== TOTAL ANGULAR MOMENTUM POPULATION === + + SPIN s p d f + UP 16.66% 0.00% 82.62% 0.72% + UP 16.66% 0.00% 82.62% 0.72% + TOTAL 16.66% 0.00% 82.62% 0.72% + + ************************************************************* + ** ** + ** PSPW Atomic Point Charge (APC) Analysis ** + ** ** + ** Point charge analysis based on paper by P.E. Blochl ** + ** (J. Chem. Phys. vol 103, page 7422, 1995) ** + ** ** + ************************************************************* + + pspw_APC data structure + ----------------------- + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + -- ---- ------- ------- ------- + 1 W -6.000 6.000 -0.000 + 2 W -6.000 6.000 -0.000 + Total Q -12.000 12.000 -0.000 + + + gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + -- ---- ------- ------- ------- ------- + 1 W 6.000 -7.235 17.653 -16.419 + 2 W 6.000 -7.235 17.653 -16.419 + + +=== Electric Field at Atoms === + + 1 W Atomic Electric Field =( -0.00022 -0.00011 -0.00038 ) + (ion) =( 0.00094 0.00047 0.00159 ) + (electronic) =( -0.00116 -0.00058 -0.00197 ) + 2 W Atomic Electric Field =( 0.00022 0.00011 0.00038 ) + (ion) =( -0.00094 -0.00047 -0.00159 ) + (electronic) =( 0.00116 0.00058 0.00197 ) + + output psi filename:./nwchem_lammps.movecs + + +== Timing == + +cputime in seconds + prologue : 0.114428E+00 + main loop : 0.475396E+00 + epilogue : 0.316691E-01 + total : 0.621493E+00 + cputime/step: 0.559289E-02 ( 85 evalulations, 20 linesearches) + + +Time spent doing total step percent + total time : 0.623259E+00 0.733246E-02 100.0 % + i/o time : 0.103071E-01 0.121260E-03 1.7 % + FFTs : 0.348712E-01 0.410250E-03 5.6 % + dot products : 0.981057E-02 0.115418E-03 1.6 % + geodesic : 0.696999E-01 0.819999E-03 11.2 % + ffm_dgemm : 0.104145E-02 0.122523E-04 0.2 % + fmf_dgemm : 0.565297E-01 0.665055E-03 9.1 % + mmm_dgemm : 0.129490E-03 0.152342E-05 0.0 % + m_diagonalize : 0.701885E-03 0.825747E-05 0.1 % + exchange correlation : 0.764353E-01 0.899239E-03 12.3 % + local pseudopotentials : 0.439882E-03 0.517509E-05 0.1 % + non-local pseudopotentials : 0.271890E-01 0.319871E-03 4.4 % + hartree potentials : 0.202482E-02 0.238214E-04 0.3 % + ion-ion interaction : 0.104062E+00 0.122426E-02 16.7 % + structure factors : 0.152984E-01 0.179981E-03 2.5 % + phase factors : 0.107278E-04 0.126210E-06 0.0 % + masking and packing : 0.304392E-01 0.358108E-03 4.9 % + queue fft : 0.111536E+00 0.131219E-02 17.9 % + queue fft (serial) : 0.708244E-01 0.833228E-03 11.4 % + queue fft (message passing): 0.360800E-01 0.424470E-03 5.8 % + non-local psp FFM : 0.860008E-02 0.101177E-03 1.4 % + non-local psp FMF : 0.111482E-01 0.131155E-03 1.8 % + non-local psp FFM A : 0.214632E-02 0.252509E-04 0.3 % + non-local psp FFM B : 0.560879E-02 0.659858E-04 0.9 % + + >>> JOB COMPLETED AT Thu Oct 3 16:57:18 2019 <<< + + Task times cpu: 0.6s wall: 0.6s + Summary of allocated global arrays +----------------------------------- + No active global arrays + + + + GA Statistics for process 0 + ------------------------------ + + create destroy get put acc scatter gather read&inc +calls: 0 0 0 0 0 0 0 0 +number of processes/call 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 +bytes total: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 +bytes remote: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 +Max memory consumed for GA by this process: 0 bytes +MA_summarize_allocated_blocks: starting scan ... +MA_summarize_allocated_blocks: scan completed: 0 heap blocks, 0 stack blocks +MA usage statistics: + + allocation statistics: + heap stack + ---- ----- + current number of blocks 0 0 + maximum number of blocks 294 17 + current total bytes 0 0 + maximum total bytes 4879496 351944 + maximum total K-bytes 4880 352 + maximum total M-bytes 5 1 + + + NWChem Input Module + ------------------- + + + + + + CITATION + -------- + Please cite the following reference when publishing + results obtained with NWChem: + + M. Valiev, E.J. Bylaska, N. Govind, K. Kowalski, + T.P. Straatsma, H.J.J. van Dam, D. Wang, J. Nieplocha, + E. Apra, T.L. Windus, W.A. de Jong + "NWChem: a comprehensive and scalable open-source + solution for large scale molecular simulations" + Comput. Phys. Commun. 181, 1477 (2010) + doi:10.1016/j.cpc.2010.04.018 + + AUTHORS + ------- + E. Apra, E. J. Bylaska, W. A. de Jong, N. Govind, K. Kowalski, + T. P. Straatsma, M. Valiev, H. J. J. van Dam, D. Wang, T. L. Windus, + J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, K. Lopata, + S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, O. Villa, + Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, V. Konjkov, + D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich, + A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao, + P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr, + M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju, + M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, L. Jensen, M. Swart, + Q. Wu, T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown, + G. Cisneros, G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall, + J. A. Nichols, K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt, + P. Borowski, T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall, + D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson, + J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng, + T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone, + M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang. + + Total times cpu: 0.6s wall: 0.7s diff --git a/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out.W.min.3Oct19 b/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out.W.min.3Oct19 new file mode 100644 index 0000000000000000000000000000000000000000..519df5d8ba471751307f181b7d98e15b864579d8 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out.W.min.3Oct19 @@ -0,0 +1,816 @@ + argument 1 = nwchem_lammps.nw + + + +============================== echo of input deck ============================== +echo + +#**** Enter the geometry using fractional coordinates **** +geometry units angstrom noautosym + system crystal + lat_a 3.16d0 + lat_b 3.16d0 + lat_c 3.16d0 + end +W 0.0158218 0.0316436 0.0474661 +W 0.515824 0.531647 0.547471 +end + +nwpw + vectors input nwchem_lammps.movecs +end + +#***** setup the nwpw gamma point code **** +nwpw + simulation_cell + ngrid 16 16 16 + end + ewald_ncut 8 + mulliken + lcao #old default +end + +nwpw + tolerances 1.0d-9 1.0d-9 +end + +task pspw stress +================================================================================ + + + + + + + Northwest Computational Chemistry Package (NWChem) 6.8 + ------------------------------------------------------ + + + Environmental Molecular Sciences Laboratory + Pacific Northwest National Laboratory + Richland, WA 99352 + + Copyright (c) 1994-2018 + Pacific Northwest National Laboratory + Battelle Memorial Institute + + NWChem is an open-source computational chemistry package + distributed under the terms of the + Educational Community License (ECL) 2.0 + A copy of the license is included with this distribution + in the LICENSE.TXT file + + ACKNOWLEDGMENT + -------------- + + This software and its documentation were developed at the + EMSL at Pacific Northwest National Laboratory, a multiprogram + national laboratory, operated for the U.S. Department of Energy + by Battelle under Contract Number DE-AC05-76RL01830. Support + for this work was provided by the Department of Energy Office + of Biological and Environmental Research, Office of Basic + Energy Sciences, and the Office of Advanced Scientific Computing. + + + Job information + --------------- + + hostname = singsing + program = /home/sjplimp/tools/nwchem-6.8.1-release/bin/LINUX64/nwchem + date = Thu Oct 3 16:58:54 2019 + + compiled = Wed_Oct_02_09:25:27_2019 + source = /home/sjplimp/tools/nwchem-6.8.1-release + nwchem branch = Development + nwchem revision = N/A + ga revision = 5.6.5 + use scalapack = F + input = nwchem_lammps.nw + prefix = nwchem_lammps. + data base = ./nwchem_lammps.db + status = restart + nproc = 1 + time left = -1s + + + + Memory information + ------------------ + + heap = 13107200 doubles = 100.0 Mbytes + stack = 13107197 doubles = 100.0 Mbytes + global = 26214400 doubles = 200.0 Mbytes (distinct from heap & stack) + total = 52428797 doubles = 400.0 Mbytes + verify = yes + hardfail = no + + + Directory information + --------------------- + + 0 permanent = . + 0 scratch = . + + + Previous task information + ------------------------- + + Theory = pspw + Operation = stress + Status = unknown + Qmmm = F + Ignore = F + + + Geometries in the database + -------------------------- + + Name Natoms Last Modified + -------------------------------- ------ ------------------------ + 1 geometry 2 Thu Oct 3 16:58:53 2019 + + The geometry named "geometry" is the default for restart + + + + Basis sets in the database + -------------------------- + + There are no basis sets in the database + + + + NWChem Input Module + ------------------- + + + + !!!!!!!!! geom_3d NEEDS TESTING !!!!!!!!!! + + + Geometry "geometry" -> "" + ------------------------- + + Output coordinates in angstroms (scale by 1.889725989 to convert to a.u.) + + No. Tag Charge X Y Z + ---- ---------------- ---------- -------------- -------------- -------------- + 1 W 74.0000 0.04999689 0.09999378 0.14999288 + 2 W 74.0000 1.63000384 1.68000452 1.73000836 + + Lattice Parameters + ------------------ + + lattice vectors in angstroms (scale by 1.889725989 to convert to a.u.) + + a1=< 3.160 0.000 0.000 > + a2=< 0.000 3.160 0.000 > + a3=< 0.000 0.000 3.160 > + a= 3.160 b= 3.160 c= 3.160 + alpha= 90.000 beta= 90.000 gamma= 90.000 + omega= 31.6 + + reciprocal lattice vectors in a.u. + + b1=< 1.052 0.000 -0.000 > + b2=< -0.000 1.052 -0.000 > + b3=< 0.000 0.000 1.052 > + + Atomic Mass + ----------- + + W 183.951000 + + + + XYZ format geometry + ------------------- + 2 + geometry + W 0.04999689 0.09999378 0.14999288 + W 1.63000384 1.68000452 1.73000836 + + ============================================================================== + internuclear distances + ------------------------------------------------------------------------------ + center one | center two | atomic units | angstroms + ------------------------------------------------------------------------------ + 2 W | 1 W | 5.17154 | 2.73666 + ------------------------------------------------------------------------------ + number of included internuclear distances: 1 + ============================================================================== + + + + >>>> PSPW Parallel Module - stress <<<< + **************************************************** + * * + * NWPW PSPW Calculation * + * * + * [ (Grassmann/Stiefel manifold implementation) ] * + * * + * [ NorthWest Chemistry implementation ] * + * * + * version #5.10 06/12/02 * + * * + * This code was developed by Eric J. Bylaska, * + * and was based upon algorithms and code * + * developed by the group of Prof. John H. Weare * + * * + **************************************************** + >>> JOB STARTED AT Thu Oct 3 16:58:54 2019 <<< + ================ input data ======================== + + input psi filename:./nwchem_lammps.movecs + + initializing pspw_APC data structure + ------------------------------------ + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + number of processors used: 1 + processor grid : 1 x 1 + parallel mapping :2d hilbert + parallel mapping : balanced + number of threads : 1 + parallel io : off + + options: + boundary conditions = periodic (version3) + electron spin = restricted + exchange-correlation = LDA (Vosko et al) parameterization + + elements involved in the cluster: + 1: W valence charge: 6.0000 lmax= 2 + comment : Troullier-Martins pseudopotential + pseudpotential type : 0 + highest angular component : 2 + local potential used : 0 + number of non-local projections: 8 + semicore corrections included : 1.800 (radius) 4.538 (charge) + cutoff = 2.389 3.185 2.244 + + + total charge: 0.000 + + atomic composition: + W : 2 + + number of electrons: spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + number of orbitals : spin up= 6 ( 6 per task) down= 6 ( 6 per task) (Fourier space) + + supercell: + cell_name: cell_default + lattice: a1=< 5.972 0.000 0.000 > + a2=< 0.000 5.972 0.000 > + a3=< 0.000 0.000 5.972 > + reciprocal: b1=< 1.052 0.000 -0.000 > + b2=< -0.000 1.052 -0.000 > + b3=< 0.000 0.000 1.052 > + lattice: a= 5.972 b= 5.972 c= 5.972 + alpha= 90.000 beta= 90.000 gamma= 90.000 + omega= 212.9 + + density cutoff= 35.427 fft= 16x 16x 16( 1052 waves 1052 per task) + wavefnc cutoff= 35.427 fft= 16x 16x 16( 1052 waves 1052 per task) + Ewald summation: cut radius= 1.90 and 8 + Madelung Wigner-Seitz= 1.76011888 (alpha= 2.83729748 rs= 3.70444413) + + technical parameters: + time step= 5.80 fictitious mass= 400000.0 + tolerance=0.100E-08 (energy) 0.100E-08 (density) + maximum iterations = 1000 ( 10 inner 100 outer ) + + + + + +== Energy Calculation == + + + ====== Grassmann conjugate gradient iteration ====== + >>> ITERATION STARTED AT Thu Oct 3 16:58:54 2019 <<< + iter. Energy DeltaE DeltaRho + ------------------------------------------------------ + 10 -0.2020460841E+02 -0.37164E-09 0.13892E-11 + *** tolerance ok. iteration terminated + >>> ITERATION ENDED AT Thu Oct 3 16:58:54 2019 <<< + + +== Summary Of Results == + + number of electrons: spin up= 6.00000 down= 6.00000 (real space) + + total energy : -0.2020460841E+02 ( -0.10102E+02/ion) + total orbital energy: 0.5093526999E+01 ( 0.84892E+00/electron) + hartree energy : 0.2902689593E+00 ( 0.48378E-01/electron) + exc-corr energy : -0.9445045626E+01 ( -0.15742E+01/electron) + ion-ion energy : -0.2193948849E+02 ( -0.10970E+02/ion) + + kinetic (planewave) : 0.1441573280E+02 ( 0.24026E+01/electron) + V_local (planewave) : 0.1156119613E+02 ( 0.19269E+01/electron) + V_nl (planewave) : -0.1508727219E+02 ( -0.25145E+01/electron) + V_Coul (planewave) : 0.5805379185E+00 ( 0.96756E-01/electron) + V_xc. (planewave) : -0.6376667662E+01 ( -0.10628E+01/electron) + Virial Coefficient : -0.6466688811E+00 + + orbital energies: + 0.5414223E+00 ( 14.733eV) + 0.5414201E+00 ( 14.733eV) + 0.5414174E+00 ( 14.733eV) + 0.3596809E+00 ( 9.787eV) + 0.3596804E+00 ( 9.787eV) + 0.2031424E+00 ( 5.528eV) + + Total PSPW energy : -0.2020460841E+02 + + +=== Spin Contamination === + + = 0.0000000000000000 + = 0.0000000000000000 + + + +== Center of Charge == + +spin up ( 0.0106, 0.0203, 0.0283 ) +spin down ( 0.0106, 0.0203, 0.0283 ) + total ( 0.0106, 0.0203, 0.0283 ) +ionic ( -1.3984, -1.3039, -1.2094 ) + + +== Molecular Dipole wrt Center of Mass == + +mu = ( -16.9083, -15.8910, -14.8528 ) au +|mu| = 27.5503 au, 70.0218 Debye + + +Translation force removed: ( -0.00002 0.00000 0.00002) + + + ============= Ion Gradients ================= + Ion Forces: + 1 W ( -0.000001 0.000005 0.000014 ) + 2 W ( 0.000001 -0.000005 -0.000014 ) + C.O.M. ( -0.000000 0.000000 0.000000 ) + =============================================== + |F| = 0.216488E-04 + |F|/nion = 0.108244E-04 + max|Fatom|= 0.153080E-04 ( 0.001eV/Angstrom) + + + + +====================== += Stress calculation = +====================== + + + ============= total gradient ============== + S = ( 0.12513 0.00001 -0.00003 ) + ( 0.00001 0.12513 -0.00001 ) + ( -0.00003 -0.00001 0.12513 ) + =================================================== + |S| = 0.21673E+00 + pressure = 0.125E+00 au + = 0.368E+02 Mbar + = 0.368E+04 GPa + = 0.363E+08 atm + + + dE/da = 0.12513 + dE/db = 0.12513 + dE/dc = 0.12513 + dE/dalpha = 0.00006 + dE/dbeta = 0.00020 + dE/dgamma = -0.00008 + + + + + ************************************************************* + ** ** + ** PSPW Mulliken analysis ** + ** ** + ** Population analysis algorithm devloped by Ryoichi Kawai ** + ** ** + ** Thu Oct 3 16:58 ** + ** ** + ************************************************************* + + +== XYZ OUTPUT == + + + 2 + +W 0.049997 0.099994 0.149993 +W -1.529995 -1.479995 -1.429991 + + +== Atomic Orbital Expansion == + + W nodamping + + + ===================================================== + | POPULATION ANALYSIS OF FILLED MOLECULAR ORBITALS | + ===================================================== + + +== Using pseudoatomic orbital expansion == + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 1*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00000 + px pz py + 1 W 1 0.00000 0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 -0.00001 -0.03953 0.00002 0.50309 0.49532 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 -0.00001 -0.00000 -0.00000 0.00000 0.00000 -0.00001 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 -0.00001 -0.03953 0.00002 0.50309 0.49532 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 -0.00001 0.00000 0.00000 -0.00000 -0.00000 0.00001 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 2*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 0.00004 0.62658 0.00003 -0.20360 0.25680 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 -0.00004 0.00000 0.00000 -0.00000 -0.00000 -0.00001 0.00000 + s + 2 W 0 0.00000 -0.00000 + px pz py + 2 W 1 0.00000 -0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 0.00004 0.62658 0.00003 -0.20360 0.25680 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 -0.00004 -0.00000 -0.00000 -0.00000 0.00000 0.00001 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 3*** SPIN=BOTH SUM= 0.12471E+01 E= 0.54142E+00 ( 14.733eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 0.00001 + px pz py + 1 W 1 0.00000 0.00000 -0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.50000 -0.00001 -0.32532 -0.00000 -0.45327 0.43441 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00000 0.00001 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 0.00000 + s + 2 W 0 0.00000 0.00001 + px pz py + 2 W 1 0.00000 -0.00000 0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.50000 -0.00001 -0.32532 -0.00000 -0.45327 0.43441 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00000 0.00001 -0.00000 0.00001 0.00000 0.00000 0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 1.0000 0.0000 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 4*** SPIN=BOTH SUM= 0.14785E+01 E= 0.35968E+00 ( 9.787eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 0.00001 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.48310 0.33381 0.00000 -0.60965 0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.01690 0.13001 -0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 0.00001 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.48310 -0.33381 -0.00000 0.60965 -0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.01690 -0.13001 -0.00000 0.00000 0.00000 0.00000 0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9662 0.0338 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 5*** SPIN=BOTH SUM= 0.14407E+01 E= 0.35968E+00 ( 9.787eV) + +NO ATOM L POPULATION + s + 1 W 0 0.00000 -0.00000 + px pz py + 1 W 1 0.00000 -0.00000 -0.00000 0.00001 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.49580 0.61761 -0.00000 0.33817 0.00000 -0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00420 0.06484 -0.00001 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 + s + 2 W 0 0.00000 0.00000 + px pz py + 2 W 1 0.00000 -0.00000 -0.00000 0.00001 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.49580 -0.61761 0.00000 -0.33817 -0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00420 -0.06484 -0.00001 0.00000 -0.00000 -0.00000 -0.00000 -0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.0000 0.0000 0.9916 0.0084 + + +------------------------------------------------------------------------------ + + +*** ORBITAL= 6*** SPIN=BOTH SUM= 0.19540E+01 E= 0.20314E+00 ( 5.528eV) + +NO ATOM L POPULATION + s + 1 W 0 0.49974 -0.70692 + px pz py + 1 W 1 0.00000 0.00000 -0.00000 0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 1 W 2 0.00000 0.00000 -0.00000 -0.00000 -0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 1 W 3 0.00026 0.01609 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 -0.00000 + s + 2 W 0 0.49974 -0.70692 + px pz py + 2 W 1 0.00000 -0.00000 0.00000 -0.00000 + dx2-y2 dzx d3z2-1 dyz dxy + 2 W 2 0.00000 0.00000 -0.00000 -0.00000 -0.00000 0.00000 + fx(x2-3y2) fz(5z2-1) fx(5z2-1) fz(5z2-3) fy(5z2-1) fxyz fy(3x2-y2) + 2 W 3 0.00026 0.01609 0.00000 0.00000 -0.00000 0.00000 0.00000 0.00000 + + +=== DISTRIBUTION === + + 1(W ) 0.5000 2(W ) 0.5000 + + +== ANGULAR MOMENTUM POPULATIONS === + + s p d f + 0.9995 0.0000 0.0000 0.0005 + + + ======================================== + | POPULATION ANALYSIS ON EACH ATOM | + ======================================== + + +NO ATOM SPIN TOTAL s p d f + 1 W UP 3.00000 0.49974 0.00000 2.47889 0.02137 + 1 W DOWN 3.00000 0.49974 0.00000 2.47889 0.02137 + 2 W UP 3.00000 0.49974 0.00000 2.47889 0.02137 + 2 W DOWN 3.00000 0.49974 0.00000 2.47889 0.02137 + + + +=== TOTAL ANGULAR MOMENTUM POPULATION === + + SPIN s p d f + UP 16.66% 0.00% 82.63% 0.71% + UP 16.66% 0.00% 82.63% 0.71% + TOTAL 16.66% 0.00% 82.63% 0.71% + + ************************************************************* + ** ** + ** PSPW Atomic Point Charge (APC) Analysis ** + ** ** + ** Point charge analysis based on paper by P.E. Blochl ** + ** (J. Chem. Phys. vol 103, page 7422, 1995) ** + ** ** + ************************************************************* + + pspw_APC data structure + ----------------------- + nga, ngs: 3 6 + Gc : 2.5000000000000000 + APC gamma: 1 0.59999999999999998 + APC gamma: 2 0.90000000000000002 + APC gamma: 3 1.3500000000000001 + + charge analysis on each atom + ---------------------------- + + no atom Qelc Qion Qtotal + -- ---- ------- ------- ------- + 1 W -6.000 6.000 -0.000 + 2 W -6.000 6.000 0.000 + Total Q -12.000 12.000 -0.000 + + + gaussian coefficients of model density + -------------------------------------- + + no atom g=0.000 g=0.600 g=0.900 g=1.350 + -- ---- ------- ------- ------- ------- + 1 W 6.000 -7.235 17.654 -16.419 + 2 W 6.000 -7.234 17.651 -16.418 + + +=== Electric Field at Atoms === + + 1 W Atomic Electric Field =( -0.00002 0.00000 0.00001 ) + (ion) =( 0.00000 0.00000 0.00000 ) + (electronic) =( -0.00002 -0.00000 0.00001 ) + 2 W Atomic Electric Field =( -0.00002 0.00000 0.00002 ) + (ion) =( -0.00000 -0.00000 -0.00000 ) + (electronic) =( -0.00002 0.00000 0.00002 ) + + output psi filename:./nwchem_lammps.movecs + + +== Timing == + +cputime in seconds + prologue : 0.991130E-01 + main loop : 0.101190E+00 + epilogue : 0.203540E-01 + total : 0.220657E+00 + cputime/step: 0.252975E-01 ( 4 evalulations, 1 linesearches) + + +Time spent doing total step percent + total time : 0.222262E+00 0.555655E-01 100.0 % + i/o time : 0.847340E-02 0.211835E-02 3.8 % + FFTs : 0.576015E-02 0.144004E-02 2.6 % + dot products : 0.157053E-02 0.392634E-03 0.7 % + geodesic : 0.203228E-02 0.508070E-03 0.9 % + ffm_dgemm : 0.641376E-04 0.160344E-04 0.0 % + fmf_dgemm : 0.202988E-02 0.507471E-03 0.9 % + mmm_dgemm : 0.286302E-05 0.715756E-06 0.0 % + m_diagonalize : 0.101088E-03 0.252721E-04 0.0 % + exchange correlation : 0.287819E-02 0.719547E-03 1.3 % + local pseudopotentials : 0.346661E-03 0.866652E-04 0.2 % + non-local pseudopotentials : 0.268912E-02 0.672280E-03 1.2 % + hartree potentials : 0.163791E-03 0.409476E-04 0.1 % + ion-ion interaction : 0.699389E-01 0.174847E-01 31.5 % + structure factors : 0.889608E-02 0.222402E-02 4.0 % + phase factors : 0.102510E-04 0.256275E-05 0.0 % + masking and packing : 0.839656E-02 0.209914E-02 3.8 % + queue fft : 0.418949E-02 0.104737E-02 1.9 % + queue fft (serial) : 0.264608E-02 0.661519E-03 1.2 % + queue fft (message passing): 0.136477E-02 0.341193E-03 0.6 % + non-local psp FFM : 0.391964E-03 0.979910E-04 0.2 % + non-local psp FMF : 0.407219E-03 0.101805E-03 0.2 % + non-local psp FFM A : 0.144235E-03 0.360588E-04 0.1 % + non-local psp FFM B : 0.216961E-03 0.542402E-04 0.1 % + + >>> JOB COMPLETED AT Thu Oct 3 16:58:54 2019 <<< + + Task times cpu: 0.2s wall: 0.2s + Summary of allocated global arrays +----------------------------------- + No active global arrays + + + + GA Statistics for process 0 + ------------------------------ + + create destroy get put acc scatter gather read&inc +calls: 0 0 0 0 0 0 0 0 +number of processes/call 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 +bytes total: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 +bytes remote: 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 0.00e+00 +Max memory consumed for GA by this process: 0 bytes +MA_summarize_allocated_blocks: starting scan ... +MA_summarize_allocated_blocks: scan completed: 0 heap blocks, 0 stack blocks +MA usage statistics: + + allocation statistics: + heap stack + ---- ----- + current number of blocks 0 0 + maximum number of blocks 294 17 + current total bytes 0 0 + maximum total bytes 4879496 351944 + maximum total K-bytes 4880 352 + maximum total M-bytes 5 1 + + + NWChem Input Module + ------------------- + + + + + + CITATION + -------- + Please cite the following reference when publishing + results obtained with NWChem: + + M. Valiev, E.J. Bylaska, N. Govind, K. Kowalski, + T.P. Straatsma, H.J.J. van Dam, D. Wang, J. Nieplocha, + E. Apra, T.L. Windus, W.A. de Jong + "NWChem: a comprehensive and scalable open-source + solution for large scale molecular simulations" + Comput. Phys. Commun. 181, 1477 (2010) + doi:10.1016/j.cpc.2010.04.018 + + AUTHORS + ------- + E. Apra, E. J. Bylaska, W. A. de Jong, N. Govind, K. Kowalski, + T. P. Straatsma, M. Valiev, H. J. J. van Dam, D. Wang, T. L. Windus, + J. Hammond, J. Autschbach, K. Bhaskaran-Nair, J. Brabec, K. Lopata, + S. A. Fischer, S. Krishnamoorthy, M. Jacquelin, W. Ma, M. Klemm, O. Villa, + Y. Chen, V. Anisimov, F. Aquino, S. Hirata, M. T. Hackler, V. Konjkov, + D. Mejia-Rodriguez, T. Risthaus, M. Malagoli, A. Marenich, + A. Otero-de-la-Roza, J. Mullin, P. Nichols, R. Peverati, J. Pittner, Y. Zhao, + P.-D. Fan, A. Fonari, M. J. Williamson, R. J. Harrison, J. R. Rehr, + M. Dupuis, D. Silverstein, D. M. A. Smith, J. Nieplocha, V. Tipparaju, + M. Krishnan, B. E. Van Kuiken, A. Vazquez-Mayagoitia, L. Jensen, M. Swart, + Q. Wu, T. Van Voorhis, A. A. Auer, M. Nooijen, L. D. Crosby, E. Brown, + G. Cisneros, G. I. Fann, H. Fruchtl, J. Garza, K. Hirao, R. A. Kendall, + J. A. Nichols, K. Tsemekhman, K. Wolinski, J. Anchell, D. E. Bernholdt, + P. Borowski, T. Clark, D. Clerc, H. Dachsel, M. J. O. Deegan, K. Dyall, + D. Elwood, E. Glendening, M. Gutowski, A. C. Hess, J. Jaffe, B. G. Johnson, + J. Ju, R. Kobayashi, R. Kutteh, Z. Lin, R. Littlefield, X. Long, B. Meng, + T. Nakajima, S. Niu, L. Pollack, M. Rosing, K. Glaesemann, G. Sandrone, + M. Stave, H. Taylor, G. Thomas, J. H. van Lenthe, A. T. Wong, Z. Zhang. + + Total times cpu: 0.2s wall: 0.3s diff --git a/examples/COUPLE/lammps_nwchem/planewave/w.nw b/examples/COUPLE/lammps_nwchem/planewave/w.nw new file mode 100644 index 0000000000000000000000000000000000000000..5f78801174dacf688c3c2627446a65cfa0f2cc03 --- /dev/null +++ b/examples/COUPLE/lammps_nwchem/planewave/w.nw @@ -0,0 +1,28 @@ +echo + +#**** Enter the geometry using fractional coordinates **** +geometry units angstrom noautosym + system crystal + lat_a 3.16d0 + lat_b 3.16d0 + lat_c 3.16d0 + end +W 0.0 0.0 0.0 +W 0.5 0.5 0.5 +end + +#***** setup the nwpw gamma point code **** +nwpw + simulation_cell + ngrid 16 16 16 + end + ewald_ncut 8 + mulliken + lcao #old default +end + +nwpw + tolerances 1.0d-9 1.0d-9 +end + +task pspw stress diff --git a/examples/COUPLE/lammps_quest/lmpqst.cpp b/examples/COUPLE/lammps_quest/lmpqst.cpp index 76a89f1d064b289be0e68b6252dd262a7d8ec549..6d31a9251b4a31dc4cde79dff391d690236799fd 100644 --- a/examples/COUPLE/lammps_quest/lmpqst.cpp +++ b/examples/COUPLE/lammps_quest/lmpqst.cpp @@ -84,7 +84,7 @@ int main(int narg, char **arg) lmp->input->file(lammps_input); - // make info avaiable to callback function + // make info available to callback function Info info; info.me = me; diff --git a/examples/COUPLE/plugin/README b/examples/COUPLE/plugin/README new file mode 100644 index 0000000000000000000000000000000000000000..b035ed3c0e1bdbf6c4a2836983070cff282d29dc --- /dev/null +++ b/examples/COUPLE/plugin/README @@ -0,0 +1,63 @@ +This directory has a simple C code that shows how LAMMPS can be included +in an application as a shared library loaded at runtime. The code is +essentially the same as in the "simple" example that links to LAMMPS +either with a static or shared library. The purpose is to illustrate +how another code could be built without having a LAMMPS library present +and then load the (separately compiled) shared library. + +simple.c is the C driver +liblammpsplugin.c is the LAMMPS library plugin loader + +You can then build the driver executable codes with a compile line +like below. + +mpicc -c -O -Wall -g -I$HOME/lammps/src liblammpsplugin.c +mpicc -c -O -Wall -g simple.c +mpicc simple.o liblammsplugin.o -ldl -o simpleC + +You also need to build LAMMPS as a shared library +(see examples/COUPLE/README), e.g. + +cd $HOME/lammps/src +make mode=shlib mpi + +or + +cd $HOME/lammps +mkdir build-shared +cd build-shared +cmake -D BUILD_LIB=on -D BUILD_SHARED_LIBS=on ../cmake +make + +You then run simpleC on a parallel machine +on some number of processors Q with 3 arguments: + +% mpirun -np Q simpleC P in.lj $HOME/lammps/src/liblammps.so + +or + +% mpirun -np Q simpleC P in.lj $HOME/lammps/build-shared/liblammps.so + +P is the number of procs you want LAMMPS to run on (must be <= Q) and +in.lj is a LAMMPS input script and the last argument is the path to +the LAMMPS shared library. This either has to be an absolute path, or +liblammps.so has to be in a folder that is included in the environment +variable LD_LIBRARY_PATH so it will be found by the dynamic object loader. + +The driver will launch LAMMPS on P procs, read the input script a line +at a time, and pass each command line to LAMMPS. The final line of +the script is a "run" command, so LAMMPS will run the problem. + +The driver then requests all the atom coordinates from LAMMPS, moves +one of the atoms a small amount "epsilon", passes the coordinates back +to LAMMPS, and runs LAMMPS again. If you look at the output, you +should see a small energy change between runs, due to the moved atom. + +The C driver is calling C-style routines in the src/library.cpp file +of LAMMPS through the function pointers in the liblammpsplugin_t struct. +This has the benefit that your binary is not linked to liblammps.so directly +and thus you can change the name of the shared library (e.g. to have +different variants compiled, or to load a different LAMMPS versions without +having to update your executable). The shared library still has to be +compatible with the compilation settings the plugin code. + diff --git a/examples/COUPLE/plugin/in.lj b/examples/COUPLE/plugin/in.lj new file mode 100644 index 0000000000000000000000000000000000000000..3dc80bdfea750f6b7e12cf81929d4b0304c11929 --- /dev/null +++ b/examples/COUPLE/plugin/in.lj @@ -0,0 +1,25 @@ +# 3d Lennard-Jones melt + +units lj +atom_style atomic +atom_modify map array + +lattice fcc 0.8442 +region box block 0 4 0 4 0 4 +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 1.44 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 all nve + +variable fx atom fx + +run 10 diff --git a/examples/COUPLE/plugin/liblammpsplugin.c b/examples/COUPLE/plugin/liblammpsplugin.c new file mode 100644 index 0000000000000000000000000000000000000000..a66d87dfcc6e69581f78291d491351926a0cb0c1 --- /dev/null +++ b/examples/COUPLE/plugin/liblammpsplugin.c @@ -0,0 +1,99 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* + Variant of the C style library interface to LAMMPS + that uses a shared library and dynamically opens it, + so this can be used as a prototype code to integrate + a LAMMPS plugin to some other software. +*/ + +#include "library.h" +#include "liblammpsplugin.h" +#include +#include + +liblammpsplugin_t *liblammpsplugin_load(const char *lib) +{ + liblammpsplugin_t *lmp; + void *handle; + + if (lib == NULL) return NULL; + handle = dlopen(lib,RTLD_NOW|RTLD_GLOBAL); + if (handle == NULL) return NULL; + + lmp = (liblammpsplugin_t *) malloc(sizeof(liblammpsplugin_t)); + lmp->handle = handle; + +#define ADDSYM(symbol) lmp->symbol = dlsym(handle,"lammps_" #symbol) + ADDSYM(open); + ADDSYM(open_no_mpi); + ADDSYM(close); + ADDSYM(version); + ADDSYM(file); + ADDSYM(command); + ADDSYM(commands_list); + ADDSYM(commands_string); + ADDSYM(free); + ADDSYM(extract_setting); + ADDSYM(extract_global); + ADDSYM(extract_box); + ADDSYM(extract_atom); + ADDSYM(extract_compute); + ADDSYM(extract_fix); + ADDSYM(extract_variable); + + ADDSYM(get_thermo); + ADDSYM(get_natoms); + + ADDSYM(set_variable); + ADDSYM(reset_box); + + ADDSYM(gather_atoms); + ADDSYM(gather_atoms_concat); + ADDSYM(gather_atoms_subset); + ADDSYM(scatter_atoms); + ADDSYM(scatter_atoms_subset); + + ADDSYM(set_fix_external_callback); + + ADDSYM(config_has_package); + ADDSYM(config_package_count); + ADDSYM(config_package_name); + ADDSYM(config_has_gzip_support); + ADDSYM(config_has_png_support); + ADDSYM(config_has_jpeg_support); + ADDSYM(config_has_ffmpeg_support); + ADDSYM(config_has_exceptions); + ADDSYM(create_atoms); +#ifdef LAMMPS_EXCEPTIONS + lmp->has_exceptions = 1; + ADDSYM(has_error); + ADDSYM(get_last_error_message); +#else + lmp->has_exceptions = 0; + lmp->has_error = NULL; + lmp->get_last_error_message = NULL; +#endif + return lmp; +} + +int liblammpsplugin_release(liblammpsplugin_t *lmp) +{ + if (lmp == NULL) return 1; + if (lmp->handle == NULL) return 2; + + dlclose(lmp->handle); + free((void *)lmp); + return 0; +} diff --git a/examples/COUPLE/plugin/liblammpsplugin.h b/examples/COUPLE/plugin/liblammpsplugin.h new file mode 100644 index 0000000000000000000000000000000000000000..83d0dfa5574209f3442195f2124ee105f2af73d4 --- /dev/null +++ b/examples/COUPLE/plugin/liblammpsplugin.h @@ -0,0 +1,126 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LIBLAMMPSPLUGIN_H +#define LIBLAMMPSPLUGIN_H +/* + Variant of the C style library interface to LAMMPS + that uses a shared library and dynamically opens it, + so this can be used as a prototype code to integrate + a LAMMPS plugin to some other software. +*/ + +/* + * Follow the behavior of regular LAMMPS compilation and assume + * -DLAMMPS_SMALLBIG when no define is set. + */ +#if !defined(LAMMPS_BIGBIG) && !defined(LAMMPS_SMALLBIG) && !defined(LAMMPS_SMALLSMALL) +#define LAMMPS_SMALLBIG +#endif + +#include +#if defined(LAMMPS_BIGBIG) || defined(LAMMPS_SMALLBIG) +#include /* for int64_t */ +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(LAMMPS_BIGBIG) +typedef void (*FixExternalFnPtr)(void *, int64_t, int, int64_t *, double **, double **); +#elif defined(LAMMPS_SMALLBIG) +typedef void (*FixExternalFnPtr)(void *, int64_t, int, int *, double **, double **); +#else +typedef void (*FixExternalFnPtr)(void *, int, int, int *, double **, double **); +#endif + + +struct _liblammpsplugin { + int abiversion; + int has_exceptions; + void *handle; + void (*open)(int, char **, MPI_Comm, void **); + void (*open_no_mpi)(int, char **, void **); + void (*close)(void *); + int (*version)(void *); + void (*file)(void *, char *); + char *(*command)(void *, char *); + void (*commands_list)(void *, int, char **); + void (*commands_string)(void *, char *); + void (*free)(void *); + int (*extract_setting)(void *, char *); + void *(*extract_global)(void *, char *); + void (*extract_box)(void *, double *, double *, + double *, double *, double *, int *, int *); + void *(*extract_atom)(void *, char *); + void *(*extract_compute)(void *, char *, int, int); + void *(*extract_fix)(void *, char *, int, int, int, int); + void *(*extract_variable)(void *, char *, char *); + + double (*get_thermo)(void *, char *); + int (*get_natoms)(void *); + + int (*set_variable)(void *, char *, char *); + void (*reset_box)(void *, double *, double *, double, double, double); + + void (*gather_atoms)(void *, char *, int, int, void *); + void (*gather_atoms_concat)(void *, char *, int, int, void *); + void (*gather_atoms_subset)(void *, char *, int, int, int, int *, void *); + void (*scatter_atoms)(void *, char *, int, int, void *); + void (*scatter_atoms_subset)(void *, char *, int, int, int, int *, void *); + + void (*set_fix_external_callback)(void *, char *, FixExternalFnPtr, void*); + + int (*config_has_package)(char * package_name); + int (*config_package_count)(); + int (*config_package_name)(int index, char * buffer, int max_size); + int (*config_has_gzip_support)(); + int (*config_has_png_support)(); + int (*config_has_jpeg_support)(); + int (*config_has_ffmpeg_support)(); + int (*config_has_exceptions)(); + + int (*find_pair_neighlist)(void* ptr, char * style, int exact, int nsub, int request); + int (*find_fix_neighlist)(void* ptr, char * id, int request); + int (*find_compute_neighlist)(void* ptr, char * id, int request); + int (*neighlist_num_elements)(void* ptr, int idx); + void (*neighlist_element_neighbors)(void * ptr, int idx, int element, int * iatom, int * numneigh, int ** neighbors); + +// lammps_create_atoms() takes tagint and imageint as args +// ifdef insures they are compatible with rest of LAMMPS +// caller must match to how LAMMPS library is built + +#ifdef LAMMPS_BIGBIG + void (*create_atoms)(void *, int, int64_t *, int *, + double *, double *, int64_t *, int); +#else + void (*create_atoms)(void *, int, int *, int *, + double *, double *, int *, int); +#endif + + int (*has_error)(void *); + int (*get_last_error_message)(void *, char *, int); +}; + +typedef struct _liblammpsplugin liblammpsplugin_t; + +liblammpsplugin_t *liblammpsplugin_load(const char *); +int liblammpsplugin_release(liblammpsplugin_t *); + +#undef LAMMPS +#ifdef __cplusplus +} +#endif + +#endif diff --git a/examples/COUPLE/plugin/log.simple.plugin.1 b/examples/COUPLE/plugin/log.simple.plugin.1 new file mode 100644 index 0000000000000000000000000000000000000000..ba4be378f4b4cf8c098c740b1fb642c0e1d4a82b --- /dev/null +++ b/examples/COUPLE/plugin/log.simple.plugin.1 @@ -0,0 +1,294 @@ +LAMMPS (18 Feb 2020) +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +Created orthogonal box = (0 0 0) to (6.71838 6.71838 6.71838) + 1 by 1 by 1 MPI processor grid +Created 256 atoms + create_atoms CPU = 0.000297844 secs +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Setting up Verlet run ... + Unit style : lj + Current step : 0 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6218056 -5.0244179 + 10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175 +Loop time of 0.00164276 on 1 procs for 10 steps with 256 atoms + +Performance: 2629719.113 tau/day, 6087.313 timesteps/s +93.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0014956 | 0.0014956 | 0.0014956 | 0.0 | 91.04 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 8.045e-05 | 8.045e-05 | 8.045e-05 | 0.0 | 4.90 +Output | 1.1399e-05 | 1.1399e-05 | 1.1399e-05 | 0.0 | 0.69 +Modify | 3.7431e-05 | 3.7431e-05 | 3.7431e-05 | 0.0 | 2.28 +Other | | 1.789e-05 | | | 1.09 + +Nlocal: 256 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1431 ave 1431 max 1431 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9984 ave 9984 max 9984 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9984 +Ave neighs/atom = 39 +Neighbor list builds = 0 +Dangerous builds not checked +Setting up Verlet run ... + Unit style : lj + Current step : 10 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes +Step Temp E_pair E_mol TotEng Press + 10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175 + 20 0.6239063 -5.557644 0 -4.6254403 0.97451173 +Loop time of 0.00199768 on 1 procs for 10 steps with 256 atoms + +Performance: 2162504.180 tau/day, 5005.797 timesteps/s +99.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0018518 | 0.0018518 | 0.0018518 | 0.0 | 92.70 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 7.9768e-05 | 7.9768e-05 | 7.9768e-05 | 0.0 | 3.99 +Output | 1.1433e-05 | 1.1433e-05 | 1.1433e-05 | 0.0 | 0.57 +Modify | 3.6904e-05 | 3.6904e-05 | 3.6904e-05 | 0.0 | 1.85 +Other | | 1.773e-05 | | | 0.89 + +Nlocal: 256 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1431 ave 1431 max 1431 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9952 ave 9952 max 9952 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9952 +Ave neighs/atom = 38.875 +Neighbor list builds = 0 +Dangerous builds not checked +Setting up Verlet run ... + Unit style : lj + Current step : 20 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes +Step Temp E_pair E_mol TotEng Press + 20 0.6239063 -5.5404291 0 -4.6082254 1.0394285 + 21 0.63845863 -5.5628733 0 -4.6089263 0.99398278 +Loop time of 0.000304321 on 1 procs for 1 steps with 256 atoms + +Performance: 1419553.695 tau/day, 3286.004 timesteps/s +98.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00027815 | 0.00027815 | 0.00027815 | 0.0 | 91.40 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 8.321e-06 | 8.321e-06 | 8.321e-06 | 0.0 | 2.73 +Output | 1.0513e-05 | 1.0513e-05 | 1.0513e-05 | 0.0 | 3.45 +Modify | 3.968e-06 | 3.968e-06 | 3.968e-06 | 0.0 | 1.30 +Other | | 3.365e-06 | | | 1.11 + +Nlocal: 256 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1431 ave 1431 max 1431 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9705 ave 9705 max 9705 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9705 +Ave neighs/atom = 37.9102 +Neighbor list builds = 0 +Dangerous builds not checked +Force on 1 atom via extract_atom: 26.9581 +Force on 1 atom via extract_variable: 26.9581 +Setting up Verlet run ... + Unit style : lj + Current step : 21 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes +Step Temp E_pair E_mol TotEng Press + 21 0.63845863 -5.5628733 0 -4.6089263 0.99398278 + 31 0.7494946 -5.7306417 0 -4.6107913 0.41043597 +Loop time of 0.00196027 on 1 procs for 10 steps with 256 atoms + +Performance: 2203779.175 tau/day, 5101.341 timesteps/s +99.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0018146 | 0.0018146 | 0.0018146 | 0.0 | 92.57 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 8.0268e-05 | 8.0268e-05 | 8.0268e-05 | 0.0 | 4.09 +Output | 1.0973e-05 | 1.0973e-05 | 1.0973e-05 | 0.0 | 0.56 +Modify | 3.6913e-05 | 3.6913e-05 | 3.6913e-05 | 0.0 | 1.88 +Other | | 1.756e-05 | | | 0.90 + +Nlocal: 256 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1431 ave 1431 max 1431 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9688 ave 9688 max 9688 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9688 +Ave neighs/atom = 37.8438 +Neighbor list builds = 0 +Dangerous builds not checked +Setting up Verlet run ... + Unit style : lj + Current step : 31 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes +Step Temp E_pair E_mol TotEng Press + 31 0.7494946 -5.7306417 0 -4.6107913 0.41043597 + 51 0.71349216 -5.6772387 0 -4.6111811 0.52117681 +Loop time of 0.00433063 on 1 procs for 20 steps with 256 atoms + +Performance: 1995088.941 tau/day, 4618.261 timesteps/s +99.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0035121 | 0.0035121 | 0.0035121 | 0.0 | 81.10 +Neigh | 0.00050258 | 0.00050258 | 0.00050258 | 0.0 | 11.61 +Comm | 0.00019444 | 0.00019444 | 0.00019444 | 0.0 | 4.49 +Output | 1.2092e-05 | 1.2092e-05 | 1.2092e-05 | 0.0 | 0.28 +Modify | 7.2917e-05 | 7.2917e-05 | 7.2917e-05 | 0.0 | 1.68 +Other | | 3.647e-05 | | | 0.84 + +Nlocal: 256 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1421 ave 1421 max 1421 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9700 ave 9700 max 9700 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9700 +Ave neighs/atom = 37.8906 +Neighbor list builds = 1 +Dangerous builds not checked +Setting up Verlet run ... + Unit style : lj + Current step : 51 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes +Step Temp E_pair E_mol TotEng Press + 51 0.71349216 -5.6772387 0 -4.6111811 0.52117681 + 61 0.78045421 -5.7781094 0 -4.6120011 0.093808941 +Loop time of 0.00196567 on 1 procs for 10 steps with 256 atoms + +Performance: 2197727.285 tau/day, 5087.332 timesteps/s +99.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0018222 | 0.0018222 | 0.0018222 | 0.0 | 92.70 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 7.8285e-05 | 7.8285e-05 | 7.8285e-05 | 0.0 | 3.98 +Output | 1.0862e-05 | 1.0862e-05 | 1.0862e-05 | 0.0 | 0.55 +Modify | 3.6719e-05 | 3.6719e-05 | 3.6719e-05 | 0.0 | 1.87 +Other | | 1.764e-05 | | | 0.90 + +Nlocal: 256 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1421 ave 1421 max 1421 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9700 ave 9700 max 9700 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9700 +Ave neighs/atom = 37.8906 +Neighbor list builds = 0 +Dangerous builds not checked +Setting up Verlet run ... + Unit style : lj + Current step : 61 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes +Step Temp E_pair E_mol TotEng Press + 61 0.78045421 -5.7781094 0 -4.6120011 0.093808941 + 81 0.77743907 -5.7735004 0 -4.6118971 0.090822641 +Loop time of 0.00430528 on 1 procs for 20 steps with 256 atoms + +Performance: 2006838.581 tau/day, 4645.460 timesteps/s +99.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0034931 | 0.0034931 | 0.0034931 | 0.0 | 81.13 +Neigh | 0.00050437 | 0.00050437 | 0.00050437 | 0.0 | 11.72 +Comm | 0.0001868 | 0.0001868 | 0.0001868 | 0.0 | 4.34 +Output | 1.1699e-05 | 1.1699e-05 | 1.1699e-05 | 0.0 | 0.27 +Modify | 7.3308e-05 | 7.3308e-05 | 7.3308e-05 | 0.0 | 1.70 +Other | | 3.604e-05 | | | 0.84 + +Nlocal: 256 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1405 ave 1405 max 1405 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9701 ave 9701 max 9701 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9701 +Ave neighs/atom = 37.8945 +Neighbor list builds = 1 +Dangerous builds not checked +Deleted 256 atoms, new total = 0 +Setting up Verlet run ... + Unit style : lj + Current step : 81 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.63 | 2.63 | 2.63 Mbytes +Step Temp E_pair E_mol TotEng Press + 81 0.6239063 -5.5404291 0 -4.6082254 1.0394285 + 91 0.75393007 -5.7375259 0 -4.6110484 0.39357367 +Loop time of 0.00195843 on 1 procs for 10 steps with 256 atoms + +Performance: 2205851.941 tau/day, 5106.139 timesteps/s +99.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0018143 | 0.0018143 | 0.0018143 | 0.0 | 92.64 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 7.8608e-05 | 7.8608e-05 | 7.8608e-05 | 0.0 | 4.01 +Output | 1.0786e-05 | 1.0786e-05 | 1.0786e-05 | 0.0 | 0.55 +Modify | 3.7106e-05 | 3.7106e-05 | 3.7106e-05 | 0.0 | 1.89 +Other | | 1.762e-05 | | | 0.90 + +Nlocal: 256 ave 256 max 256 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1431 ave 1431 max 1431 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 9705 ave 9705 max 9705 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9705 +Ave neighs/atom = 37.9102 +Neighbor list builds = 0 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/COUPLE/plugin/log.simple.plugin.4 b/examples/COUPLE/plugin/log.simple.plugin.4 new file mode 100644 index 0000000000000000000000000000000000000000..d76719dd7cc8105f25945ad5b7ff935eab2659ea --- /dev/null +++ b/examples/COUPLE/plugin/log.simple.plugin.4 @@ -0,0 +1,296 @@ +LAMMPS (18 Feb 2020) +Lattice spacing in x,y,z = 1.6796 1.6796 1.6796 +Created orthogonal box = (0 0 0) to (6.71838 6.71838 6.71838) + 1 by 1 by 2 MPI processor grid +Created 256 atoms + create_atoms CPU = 0.000265157 secs +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 5 5 5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Setting up Verlet run ... + Unit style : lj + Current step : 0 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 1.44 -6.7733681 0 -4.6218056 -5.0244179 + 10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175 +Loop time of 0.00115264 on 2 procs for 10 steps with 256 atoms + +Performance: 3747912.946 tau/day, 8675.724 timesteps/s +94.5% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00074885 | 0.00075021 | 0.00075156 | 0.0 | 65.09 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00031829 | 0.00031943 | 0.00032056 | 0.0 | 27.71 +Output | 9.306e-06 | 2.6673e-05 | 4.4041e-05 | 0.0 | 2.31 +Modify | 2.0684e-05 | 2.0891e-05 | 2.1098e-05 | 0.0 | 1.81 +Other | | 3.544e-05 | | | 3.07 + +Nlocal: 128 ave 128 max 128 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 1109 ave 1109 max 1109 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Neighs: 4992 ave 4992 max 4992 min +Histogram: 2 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 9984 +Ave neighs/atom = 39 +Neighbor list builds = 0 +Dangerous builds not checked +Setting up Verlet run ... + Unit style : lj + Current step : 10 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes +Step Temp E_pair E_mol TotEng Press + 10 1.1298532 -6.3095502 0 -4.6213906 -2.6058175 + 20 0.6239063 -5.557644 0 -4.6254403 0.97451173 +Loop time of 0.00120443 on 2 procs for 10 steps with 256 atoms + +Performance: 3586761.860 tau/day, 8302.689 timesteps/s +95.5% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00087798 | 0.00091359 | 0.0009492 | 0.0 | 75.85 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00016739 | 0.00020368 | 0.00023997 | 0.0 | 16.91 +Output | 1.0124e-05 | 3.0513e-05 | 5.0901e-05 | 0.0 | 2.53 +Modify | 1.89e-05 | 1.9812e-05 | 2.0725e-05 | 0.0 | 1.64 +Other | | 3.683e-05 | | | 3.06 + +Nlocal: 128 ave 134 max 122 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 1109 ave 1115 max 1103 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 4976 ave 5205 max 4747 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 9952 +Ave neighs/atom = 38.875 +Neighbor list builds = 0 +Dangerous builds not checked +Setting up Verlet run ... + Unit style : lj + Current step : 20 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes +Step Temp E_pair E_mol TotEng Press + 20 0.6239063 -5.5404291 0 -4.6082254 1.0394285 + 21 0.63845863 -5.5628733 0 -4.6089263 0.99398278 +Loop time of 0.000206062 on 2 procs for 1 steps with 256 atoms + +Performance: 2096456.406 tau/day, 4852.908 timesteps/s +94.1% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00012947 | 0.00013524 | 0.00014101 | 0.0 | 65.63 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.858e-05 | 2.4113e-05 | 2.9647e-05 | 0.0 | 11.70 +Output | 8.699e-06 | 2.4204e-05 | 3.9708e-05 | 0.0 | 11.75 +Modify | 2.34e-06 | 2.3705e-06 | 2.401e-06 | 0.0 | 1.15 +Other | | 2.013e-05 | | | 9.77 + +Nlocal: 128 ave 135 max 121 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 1109 ave 1116 max 1102 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 4852.5 ave 5106 max 4599 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 9705 +Ave neighs/atom = 37.9102 +Force on 1 atom via extract_atom: -18.109 +Force on 1 atom via extract_variable: -18.109 +Neighbor list builds = 0 +Dangerous builds not checked +Force on 1 atom via extract_atom: 26.9581 +Force on 1 atom via extract_variable: 26.9581 +Setting up Verlet run ... + Unit style : lj + Current step : 21 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes +Step Temp E_pair E_mol TotEng Press + 21 0.63845863 -5.5628733 0 -4.6089263 0.99398278 + 31 0.7494946 -5.7306417 0 -4.6107913 0.41043597 +Loop time of 0.00119048 on 2 procs for 10 steps with 256 atoms + +Performance: 3628802.105 tau/day, 8400.005 timesteps/s +98.0% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00085276 | 0.00089699 | 0.00094123 | 0.0 | 75.35 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00016896 | 0.00021444 | 0.00025992 | 0.0 | 18.01 +Output | 9.413e-06 | 2.5939e-05 | 4.2465e-05 | 0.0 | 2.18 +Modify | 1.8977e-05 | 2.0009e-05 | 2.1042e-05 | 0.0 | 1.68 +Other | | 3.31e-05 | | | 2.78 + +Nlocal: 128 ave 135 max 121 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 1109 ave 1116 max 1102 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 4844 ave 5096 max 4592 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 9688 +Ave neighs/atom = 37.8438 +Neighbor list builds = 0 +Dangerous builds not checked +Setting up Verlet run ... + Unit style : lj + Current step : 31 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes +Step Temp E_pair E_mol TotEng Press + 31 0.7494946 -5.7306417 0 -4.6107913 0.41043597 + 51 0.71349216 -5.6772387 0 -4.6111811 0.52117681 +Loop time of 0.00252603 on 2 procs for 20 steps with 256 atoms + +Performance: 3420382.192 tau/day, 7917.551 timesteps/s +99.2% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016245 | 0.0017014 | 0.0017784 | 0.2 | 67.36 +Neigh | 0.00025359 | 0.0002563 | 0.00025901 | 0.0 | 10.15 +Comm | 0.00036863 | 0.00045124 | 0.00053385 | 0.0 | 17.86 +Output | 9.839e-06 | 2.8031e-05 | 4.6223e-05 | 0.0 | 1.11 +Modify | 3.7027e-05 | 3.9545e-05 | 4.2063e-05 | 0.0 | 1.57 +Other | | 4.948e-05 | | | 1.96 + +Nlocal: 128 ave 132 max 124 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 1100 ave 1101 max 1099 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 4850 ave 4953 max 4747 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 9700 +Ave neighs/atom = 37.8906 +Neighbor list builds = 1 +Dangerous builds not checked +Setting up Verlet run ... + Unit style : lj + Current step : 51 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes +Step Temp E_pair E_mol TotEng Press + 51 0.71349216 -5.6772387 0 -4.6111811 0.52117681 + 61 0.78045421 -5.7781094 0 -4.6120011 0.093808941 +Loop time of 0.00115444 on 2 procs for 10 steps with 256 atoms + +Performance: 3742065.976 tau/day, 8662.190 timesteps/s +96.5% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00087346 | 0.00089311 | 0.00091275 | 0.0 | 77.36 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00016192 | 0.0001823 | 0.00020269 | 0.0 | 15.79 +Output | 9.49e-06 | 2.6234e-05 | 4.2978e-05 | 0.0 | 2.27 +Modify | 1.9095e-05 | 1.9843e-05 | 2.0591e-05 | 0.0 | 1.72 +Other | | 3.296e-05 | | | 2.85 + +Nlocal: 128 ave 132 max 124 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 1100 ave 1101 max 1099 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 4850 ave 4953 max 4747 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 9700 +Ave neighs/atom = 37.8906 +Neighbor list builds = 0 +Dangerous builds not checked +Setting up Verlet run ... + Unit style : lj + Current step : 61 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes +Step Temp E_pair E_mol TotEng Press + 61 0.78045421 -5.7781094 0 -4.6120011 0.093808941 + 81 0.77743907 -5.7735004 0 -4.6118971 0.090822641 +Loop time of 0.00244325 on 2 procs for 20 steps with 256 atoms + +Performance: 3536279.919 tau/day, 8185.833 timesteps/s +99.0% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016916 | 0.0017038 | 0.001716 | 0.0 | 69.73 +Neigh | 0.00025229 | 0.00025512 | 0.00025795 | 0.0 | 10.44 +Comm | 0.00035772 | 0.00036918 | 0.00038064 | 0.0 | 15.11 +Output | 1.0858e-05 | 2.7875e-05 | 4.4891e-05 | 0.0 | 1.14 +Modify | 3.817e-05 | 3.9325e-05 | 4.048e-05 | 0.0 | 1.61 +Other | | 4.796e-05 | | | 1.96 + +Nlocal: 128 ave 128 max 128 min +Histogram: 2 0 0 0 0 0 0 0 0 0 +Nghost: 1088.5 ave 1092 max 1085 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 4850.5 ave 4851 max 4850 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 9701 +Ave neighs/atom = 37.8945 +Neighbor list builds = 1 +Dangerous builds not checked +Deleted 256 atoms, new total = 0 +Setting up Verlet run ... + Unit style : lj + Current step : 81 + Time step : 0.005 +Per MPI rank memory allocation (min/avg/max) = 2.624 | 2.624 | 2.624 Mbytes +Step Temp E_pair E_mol TotEng Press + 81 0.6239063 -5.5404291 0 -4.6082254 1.0394285 + 91 0.75393007 -5.7375259 0 -4.6110484 0.39357367 +Loop time of 0.00118092 on 2 procs for 10 steps with 256 atoms + +Performance: 3658158.625 tau/day, 8467.960 timesteps/s +98.6% CPU use with 2 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0008476 | 0.00089265 | 0.00093771 | 0.0 | 75.59 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00016335 | 0.00020946 | 0.00025557 | 0.0 | 17.74 +Output | 8.87e-06 | 2.5733e-05 | 4.2595e-05 | 0.0 | 2.18 +Modify | 1.8755e-05 | 1.9814e-05 | 2.0872e-05 | 0.0 | 1.68 +Other | | 3.326e-05 | | | 2.82 + +Nlocal: 128 ave 135 max 121 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Nghost: 1109 ave 1116 max 1102 min +Histogram: 1 0 0 0 0 0 0 0 0 1 +Neighs: 4852.5 ave 5106 max 4599 min +Histogram: 1 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 9705 +Ave neighs/atom = 37.9102 +Neighbor list builds = 0 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/COUPLE/plugin/simple.c b/examples/COUPLE/plugin/simple.c new file mode 100644 index 0000000000000000000000000000000000000000..541e4fd432a0807c08d954fd9f469cb0c81be33c --- /dev/null +++ b/examples/COUPLE/plugin/simple.c @@ -0,0 +1,175 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + www.cs.sandia.gov/~sjplimp/lammps.html + Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* c_driver = simple example of how an umbrella program + can invoke LAMMPS as a library on some subset of procs + Syntax: simpleC P in.lammps + P = # of procs to run LAMMPS on + must be <= # of procs the driver code itself runs on + in.lammps = LAMMPS input script + See README for compilation instructions */ + +#include +#include +#include +#include +#include "liblammpsplugin.h" /* this is the include for the plugin loader */ + +int main(int narg, char **arg) +{ + int n,me,nprocs; + int nprocs_lammps, lammps; + char line[1024]; + MPI_Comm comm_lammps; + FILE *fp = NULL; + liblammpsplugin_t *plugin = NULL; + void *lmp = NULL; + double *x = NULL; + double *v = NULL; + char *strtwo; + char *cmds[2]; + int *type = NULL; + + /* setup MPI and various communicators + driver runs on all procs in MPI_COMM_WORLD + comm_lammps only has 1st P procs (could be all or any subset) */ + + MPI_Init(&narg,&arg); + + if (narg != 4) { + printf("Syntax: simpleC P in.lammps /path/to/liblammps.so\n"); + exit(1); + } + + MPI_Comm_rank(MPI_COMM_WORLD,&me); + MPI_Comm_size(MPI_COMM_WORLD,&nprocs); + + nprocs_lammps = atoi(arg[1]); + if (nprocs_lammps > nprocs) { + if (me == 0) + printf("ERROR: LAMMPS cannot use more procs than available\n"); + MPI_Abort(MPI_COMM_WORLD,1); + } + + if (me < nprocs_lammps) lammps = 1; + else lammps = MPI_UNDEFINED; + MPI_Comm_split(MPI_COMM_WORLD,lammps,0,&comm_lammps); + + /* open LAMMPS input script */ + + if (me == 0) { + fp = fopen(arg[2],"r"); + if (fp == NULL) { + printf("ERROR: Could not open LAMMPS input script\n"); + MPI_Abort(MPI_COMM_WORLD,1); + } + } + + /* run the input script thru LAMMPS one line at a time until end-of-file + driver proc 0 reads a line, Bcasts it to all procs + (could just send it to proc 0 of comm_lammps and let it Bcast) + all LAMMPS procs call lammps_command() on the line */ + + if (lammps == 1) { + plugin = liblammpsplugin_load(arg[3]); + if (plugin == NULL) { + if (me == 0) printf("ERROR: Could not load shared LAMMPS library\n"); + MPI_Abort(MPI_COMM_WORLD,1); + } + } + if (lammps == 1) plugin->open(0,NULL,comm_lammps,&lmp); + + while (1) { + if (me == 0) { + if (fgets(line,1024,fp) == NULL) n = 0; + else n = strlen(line) + 1; + if (n == 0) fclose(fp); + } + MPI_Bcast(&n,1,MPI_INT,0,MPI_COMM_WORLD); + if (n == 0) break; + MPI_Bcast(line,n,MPI_CHAR,0,MPI_COMM_WORLD); + if (lammps == 1) plugin->command(lmp,line); + } + + /* run 10 more steps + get coords from LAMMPS + change coords of 1st atom + put coords back into LAMMPS + run a single step with changed coords */ + + if (lammps == 1) { + plugin->command(lmp,"run 10"); + + int natoms = plugin->get_natoms(lmp); + x = (double *) malloc(3*natoms*sizeof(double)); + plugin->gather_atoms(lmp,"x",1,3,x); + v = (double *) malloc(3*natoms*sizeof(double)); + plugin->gather_atoms(lmp,"v",1,3,v); + double epsilon = 0.1; + x[0] += epsilon; + plugin->scatter_atoms(lmp,"x",1,3,x); + + plugin->command(lmp,"run 1"); + } + + // extract force on single atom two different ways + + if (lammps == 1) { + double **f = (double **) plugin->extract_atom(lmp,"f"); + printf("Force on 1 atom via extract_atom: %g\n",f[0][0]); + + double *fx = (double *) plugin->extract_variable(lmp,"fx","all"); + printf("Force on 1 atom via extract_variable: %g\n",fx[0]); + } + + /* use commands_string() and commands_list() to invoke more commands */ + + strtwo = (char *)"run 10\nrun 20"; + if (lammps == 1) plugin->commands_string(lmp,strtwo); + + cmds[0] = (char *)"run 10"; + cmds[1] = (char *)"run 20"; + if (lammps == 1) plugin->commands_list(lmp,2,cmds); + + /* delete all atoms + create_atoms() to create new ones with old coords, vels + initial thermo should be same as step 20 */ + + if (lammps == 1) { + int natoms = plugin->get_natoms(lmp); + type = (int *) malloc(natoms*sizeof(double)); + int i; + for (i = 0; i < natoms; i++) type[i] = 1; + + plugin->command(lmp,"delete_atoms group all"); + plugin->create_atoms(lmp,natoms,NULL,type,x,v,NULL,0); + plugin->command(lmp,"run 10"); + } + + if (x) free(x); + if (v) free(v); + if (type) free(type); + + // close down LAMMPS + + if (lammps == 1) { + plugin->close(lmp); + liblammpsplugin_release(plugin); + } + + /* close down MPI */ + + if (lammps == 1) MPI_Comm_free(&comm_lammps); + MPI_Barrier(MPI_COMM_WORLD); + MPI_Finalize(); +} diff --git a/examples/COUPLE/simple/CMakeLists.txt b/examples/COUPLE/simple/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..4112eaa4e769752054e2c20c1e5d367460ea6ccc --- /dev/null +++ b/examples/COUPLE/simple/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.10) +project(simple CXX) + +set(LAMMPS_SRC_DIRECTORY "" CACHE PATH "Path for lammps source") +if(NOT LAMMPS_SRC_DIRECTORY STREQUAL "" AND EXISTS ${LAMMPS_SRC_DIRECTORY}/cmake/CMakeLists.txt) + option(BUILD_LIB "Build LAMMPS library" ON) + add_subdirectory(${LAMMPS_SRC_DIRECTORY}/cmake lammps) +else() + find_package(LAMMPS REQUIRED) +endif() + +add_executable(simpleCC simple.cpp) +target_link_libraries(simpleCC LAMMPS::lammps) + +enable_language(C) +add_executable(simpleC simple.c) +target_link_libraries(simpleC LAMMPS::lammps) diff --git a/examples/COUPLE/simple/simple.c b/examples/COUPLE/simple/simple.c index ad603e09a6b637385d2edbed5a1b49ce36d5530d..f4623470b74be7f0baec19407c3950d8d2e2e0f2 100644 --- a/examples/COUPLE/simple/simple.c +++ b/examples/COUPLE/simple/simple.c @@ -23,7 +23,7 @@ #include "stdlib.h" #include "string.h" #include "mpi.h" -#include "library.h" /* this is a LAMMPS include file */ +#include "lammps/library.h" /* this is a LAMMPS include file */ int main(int narg, char **arg) { diff --git a/examples/HEAT/README b/examples/HEAT/README index 89ad04398f2101a586adbc86293a6eadad76a7fc..ff6abb8dd67cd7312348e5e6a52cf3b3f8583d7b 100644 --- a/examples/HEAT/README +++ b/examples/HEAT/README @@ -6,7 +6,7 @@ All input scripts are part of the supplementary (open access) material supporting the publication of Wirnsberger et al. [J. Chem. Phys. 143, 124104 (2015)] and allow one to reproduce the key results reported in that paper. The full article is available for download under -http://dx.doi.org/10.1063/1.4931597 or http://arxiv.org/pdf/1507.07081 +https://doi.org/10.1063/1.4931597 or http://arxiv.org/pdf/1507.07081 and the supplementary material is available under https://www.repository.cam.ac.uk/handle/1810/250539. diff --git a/examples/README b/examples/README index 996176c548af6bf0eaec402836affddf7dbdfb49..dbb9623e3f9fe2ddba4b199314a99d86bee06af9 100644 --- a/examples/README +++ b/examples/README @@ -93,6 +93,7 @@ msst: MSST shock dynamics nb3b: use of nonbonded 3-body harmonic pair style neb: nudged elastic band (NEB) calculation for barrier finding nemd: non-equilibrium MD of 2d sheared system +numdiff: numerical difference computation of forces obstacle: flow around two voids in a 2d channel peptide: dynamics of a small solvated peptide chain (5-mer) peri: Peridynamic model of cylinder impacted by indenter diff --git a/examples/SPIN/bfo/in.spin.bfo b/examples/SPIN/bfo/in.spin.bfo index b97f7e2d619766f37298e1022943a8d646fa6ea9..47ba535ab6069626651defa38bce7b21ed55b4cc 100644 --- a/examples/SPIN/bfo/in.spin.bfo +++ b/examples/SPIN/bfo/in.spin.bfo @@ -27,7 +27,8 @@ pair_coeff * * spin/dmi dmi 4.5 0.00005 1.0 1.0 1.0 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 anisotropy 0.00033 0.0 0.0 1.0 +fix_modify 1 energy yes fix 2 all langevin/spin 0.0 0.1 21 fix 3 all nve/spin lattice frozen @@ -43,9 +44,8 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -#thermo_style custom step time v_magnorm v_emag temp etotal -thermo_style custom step time v_magnorm pe ke v_emag temp etotal -thermo 10 +thermo_style custom step time v_magnorm pe v_emag temp etotal +thermo 50 compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 1 all custom 100 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] diff --git a/examples/SPIN/bfo/log.14Apr20.spin.bfo.g++.1 b/examples/SPIN/bfo/log.14Apr20.spin.bfo.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..c5ad4e70ac3e7c55bd3aee60e5549ef987a0c2c9 --- /dev/null +++ b/examples/SPIN/bfo/log.14Apr20.spin.bfo.g++.1 @@ -0,0 +1,129 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# layer sc iron atoms (in the [001] plane) in bismuth oxide + +units metal +atom_style spin +dimension 3 +boundary p p f + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice sc 3.96 +Lattice spacing in x,y,z = 3.96 3.96 3.96 +region box block 0.0 34.0 0.0 34.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (134.64 134.64 19.8) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 5780 atoms + create_atoms CPU = 0.00263691 secs + +# setting mass, mag. moments, and interactions for bfo + +mass 1 1.0 +set group all spin/random 11 2.50 + 5780 settings made for spin/random + +#pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 +pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 spin/dmi 4.5 +pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 +pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 +pair_coeff * * spin/dmi dmi 4.5 0.00005 1.0 1.0 1.0 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 anisotropy 0.00033 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.1 21 +fix 3 all nve/spin lattice frozen + +timestep 0.0002 + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm pe v_emag temp etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 100 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 500 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.1 + ghost atom cutoff = 6.1 + binsize = 3.05, bins = 45 45 7 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (2) pair spin/magelec, perpetual, copy from (1) + attributes: full, newton on + pair build: copy + stencil: none + bin: none + (3) pair spin/dmi, perpetual, copy from (1) + attributes: full, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 8.154 | 8.154 | 8.154 Mbytes +Step Time v_magnorm PotEng v_emag Temp TotEng + 0 0 0.010071723 -0.69133656 -0.69133656 0 -0.69133656 + 50 0.01 0.0098309931 -1.3200811 -1.3200811 0 -1.3200811 + 100 0.02 0.0095903925 -1.9446727 -1.9446727 0 -1.9446727 + 150 0.03 0.0093489139 -2.5653446 -2.5653446 0 -2.5653446 + 200 0.04 0.0091051407 -3.1824298 -3.1824298 0 -3.1824298 + 250 0.05 0.0088575394 -3.7962506 -3.7962506 0 -3.7962506 + 300 0.06 0.0086053184 -4.4070501 -4.4070501 0 -4.4070501 + 350 0.07 0.0083490959 -5.0149813 -5.0149813 0 -5.0149813 + 400 0.08 0.0080907742 -5.6201417 -5.6201417 0 -5.6201417 + 450 0.09 0.0078327124 -6.222622 -6.222622 0 -6.222622 + 500 0.1 0.0075768488 -6.8225497 -6.8225497 0 -6.8225497 +Loop time of 12.9141 on 1 procs for 500 steps with 5780 atoms + +Performance: 0.669 ns/day, 35.873 hours/ns, 38.717 timesteps/s +100.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 | 3.1844 | 3.1844 | 3.1844 | 0.0 | 24.66 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.012542 | 0.012542 | 0.012542 | 0.0 | 0.10 +Output | 0.048014 | 0.048014 | 0.048014 | 0.0 | 0.37 +Modify | 9.6569 | 9.6569 | 9.6569 | 0.0 | 74.78 +Other | | 0.01233 | | | 0.10 + +Nlocal: 5780 ave 5780 max 5780 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1065 ave 1065 max 1065 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: 92480 ave 92480 max 92480 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 92480 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:12 diff --git a/examples/SPIN/bfo/log.14Apr20.spin.bfo.g++.4 b/examples/SPIN/bfo/log.14Apr20.spin.bfo.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..655bbaef8e5c71f6974048a12e2752fca87714a2 --- /dev/null +++ b/examples/SPIN/bfo/log.14Apr20.spin.bfo.g++.4 @@ -0,0 +1,129 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# layer sc iron atoms (in the [001] plane) in bismuth oxide + +units metal +atom_style spin +dimension 3 +boundary p p f + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice sc 3.96 +Lattice spacing in x,y,z = 3.96 3.96 3.96 +region box block 0.0 34.0 0.0 34.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (134.64 134.64 19.8) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 5780 atoms + create_atoms CPU = 0.000847816 secs + +# setting mass, mag. moments, and interactions for bfo + +mass 1 1.0 +set group all spin/random 11 2.50 + 5780 settings made for spin/random + +#pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 +pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 spin/dmi 4.5 +pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 +pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 +pair_coeff * * spin/dmi dmi 4.5 0.00005 1.0 1.0 1.0 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 anisotropy 0.00033 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.1 21 +fix 3 all nve/spin lattice frozen + +timestep 0.0002 + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm pe v_emag temp etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 100 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 500 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.1 + ghost atom cutoff = 6.1 + binsize = 3.05, bins = 45 45 7 + 3 neighbor lists, perpetual/occasional/extra = 3 0 0 + (1) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (2) pair spin/magelec, perpetual, copy from (1) + attributes: full, newton on + pair build: copy + stencil: none + bin: none + (3) pair spin/dmi, perpetual, copy from (1) + attributes: full, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 7.744 | 7.744 | 7.744 Mbytes +Step Time v_magnorm PotEng v_emag Temp TotEng + 0 0 0.010071723 -0.69133656 -0.69133656 0 -0.69133656 + 50 0.01 0.009830993 -1.3200811 -1.3200811 0 -1.3200811 + 100 0.02 0.0095903924 -1.9446727 -1.9446727 0 -1.9446727 + 150 0.03 0.0093489138 -2.5653446 -2.5653446 0 -2.5653446 + 200 0.04 0.0091051405 -3.1824298 -3.1824298 0 -3.1824298 + 250 0.05 0.0088575392 -3.7962506 -3.7962506 0 -3.7962506 + 300 0.06 0.0086053183 -4.4070501 -4.4070501 0 -4.4070501 + 350 0.07 0.0083490958 -5.0149813 -5.0149813 0 -5.0149813 + 400 0.08 0.008090774 -5.6201417 -5.6201417 0 -5.6201417 + 450 0.09 0.0078327123 -6.222622 -6.222622 0 -6.222622 + 500 0.1 0.0075768487 -6.8225497 -6.8225497 0 -6.8225497 +Loop time of 3.92182 on 4 procs for 500 steps with 5780 atoms + +Performance: 2.203 ns/day, 10.894 hours/ns, 127.492 timesteps/s +99.9% 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.80837 | 0.82745 | 0.8485 | 1.6 | 21.10 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.045699 | 0.067487 | 0.090503 | 6.1 | 1.72 +Output | 0.01387 | 0.0139 | 0.01394 | 0.0 | 0.35 +Modify | 3.0065 | 3.0105 | 3.0138 | 0.2 | 76.76 +Other | | 0.002516 | | | 0.06 + +Nlocal: 1445 ave 1445 max 1445 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 555 ave 555 max 555 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 23120 ave 23120 max 23120 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 92480 +Ave neighs/atom = 16 +Neighbor list builds = 0 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:03 diff --git a/examples/SPIN/bfo/log.19Nov19.spin.bfo.g++.1 b/examples/SPIN/bfo/log.19Nov19.spin.bfo.g++.1 deleted file mode 100644 index b14210e9d0cddbeb1cb15e8aee3d5520b334cf36..0000000000000000000000000000000000000000 --- a/examples/SPIN/bfo/log.19Nov19.spin.bfo.g++.1 +++ /dev/null @@ -1,167 +0,0 @@ -LAMMPS (30 Oct 2019) -# layer sc iron atoms (in the [001] plane) in bismuth oxide - -units metal -atom_style spin -dimension 3 -boundary p p f - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice sc 3.96 -Lattice spacing in x,y,z = 3.96 3.96 3.96 -region box block 0.0 34.0 0.0 34.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (134.64 134.64 19.8) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 5780 atoms - create_atoms CPU = 0.00226784 secs - -# setting mass, mag. moments, and interactions for bfo - -mass 1 1.0 -set group all spin/random 11 2.50 - 5780 settings made for spin/random - -#pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 -pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 spin/dmi 4.5 -pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 -pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 -pair_coeff * * spin/dmi dmi 4.5 0.00005 1.0 1.0 1.0 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.1 21 -fix 3 all nve/spin lattice frozen - -timestep 0.0002 - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -#thermo_style custom step time v_magnorm v_emag temp etotal -thermo_style custom step time v_magnorm pe ke v_emag temp etotal -thermo 10 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 100 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 500 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6.1 - ghost atom cutoff = 6.1 - binsize = 3.05, bins = 45 45 7 - 3 neighbor lists, perpetual/occasional/extra = 3 0 0 - (1) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard - (2) pair spin/magelec, perpetual, copy from (1) - attributes: full, newton on - pair build: copy - stencil: none - bin: none - (3) pair spin/dmi, perpetual, copy from (1) - attributes: full, newton on - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 8.154 | 8.154 | 8.154 Mbytes -Step Time v_magnorm PotEng KinEng v_emag Temp TotEng - 0 0 0.010071723 -0.059343109 0 -0.13132609 0 -0.059343109 - 10 0.002 0.01003044 -0.18537022 0 -0.38338861 0 -0.18537022 - 20 0.004 0.0099890716 -0.31121926 0 -0.63509581 0 -0.31121926 - 30 0.006 0.0099475919 -0.43689013 0 -0.88644739 0 -0.43689013 - 40 0.008 0.0099059782 -0.5623833 0 -1.1374442 0 -0.5623833 - 50 0.01 0.0098642085 -0.68769978 0 -1.388088 0 -0.68769978 - 60 0.012 0.0098222618 -0.81284106 0 -1.6383818 0 -0.81284106 - 70 0.014 0.0097801186 -0.93780907 0 -1.8883294 0 -0.93780907 - 80 0.016 0.0097377603 -1.0626062 0 -2.1379352 0 -1.0626062 - 90 0.018 0.0096951693 -1.187235 0 -2.3872045 0 -1.187235 - 100 0.02 0.0096523288 -1.3116986 0 -2.6361432 0 -1.3116986 - 110 0.022 0.0096092227 -1.4360002 0 -2.8847577 0 -1.4360002 - 120 0.024 0.009565836 -1.5601431 0 -3.1330547 0 -1.5601431 - 130 0.026 0.0095221542 -1.6841309 0 -3.3810411 0 -1.6841309 - 140 0.028 0.0094781635 -1.8079673 0 -3.6287241 0 -1.8079673 - 150 0.03 0.0094338509 -1.9316557 0 -3.8761109 0 -1.9316557 - 160 0.032 0.0093892044 -2.0551997 0 -4.1232085 0 -2.0551997 - 170 0.034 0.0093442126 -2.178603 0 -4.370024 0 -2.178603 - 180 0.036 0.0092988654 -2.3018687 0 -4.6165639 0 -2.3018687 - 190 0.038 0.0092531537 -2.4250002 0 -4.8628348 0 -2.4250002 - 200 0.04 0.0092070698 -2.5480003 0 -5.1088426 0 -2.5480003 - 210 0.042 0.0091606073 -2.670872 0 -5.3545929 0 -2.670872 - 220 0.044 0.0091137617 -2.7936178 0 -5.6000909 0 -2.7936178 - 230 0.046 0.0090665298 -2.9162399 0 -5.8453412 0 -2.9162399 - 240 0.048 0.0090189108 -3.0387405 0 -6.0903478 0 -3.0387405 - 250 0.05 0.0089709056 -3.1611214 0 -6.3351146 0 -3.1611214 - 260 0.052 0.0089225173 -3.2833841 0 -6.5796445 0 -3.2833841 - 270 0.054 0.0088737511 -3.4055299 0 -6.8239403 0 -3.4055299 - 280 0.056 0.0088246147 -3.52756 0 -7.0680043 0 -3.52756 - 290 0.058 0.0087751176 -3.6494754 0 -7.3118383 0 -3.6494754 - 300 0.06 0.008725272 -3.7712768 0 -7.5554438 0 -3.7712768 - 310 0.062 0.0086750916 -3.8929648 0 -7.7988222 0 -3.8929648 - 320 0.064 0.0086245927 -4.0145399 0 -8.0419744 0 -4.0145399 - 330 0.066 0.0085737928 -4.1360026 0 -8.2849013 0 -4.1360026 - 340 0.068 0.0085227116 -4.2573532 0 -8.5276035 0 -4.2573532 - 350 0.07 0.0084713698 -4.378592 0 -8.7700818 0 -4.378592 - 360 0.072 0.0084197895 -4.4997194 0 -9.0123367 0 -4.4997194 - 370 0.074 0.0083679936 -4.6207358 0 -9.2543688 0 -4.6207358 - 380 0.076 0.0083160058 -4.7416414 0 -9.496179 0 -4.7416414 - 390 0.078 0.0082638503 -4.8624367 0 -9.7377681 0 -4.8624367 - 400 0.08 0.0082115512 -4.9831222 0 -9.9791371 0 -4.9831222 - 410 0.082 0.0081591329 -5.1036986 0 -10.220287 0 -5.1036986 - 420 0.084 0.0081066195 -5.2241665 0 -10.46122 0 -5.2241665 - 430 0.086 0.0080540347 -5.3445267 0 -10.701936 0 -5.3445267 - 440 0.088 0.008001402 -5.4647802 0 -10.942439 0 -5.4647802 - 450 0.09 0.0079487439 -5.5849281 0 -11.18273 0 -5.5849281 - 460 0.092 0.0078960829 -5.7049716 0 -11.422811 0 -5.7049716 - 470 0.094 0.0078434404 -5.824912 0 -11.662686 0 -5.824912 - 480 0.096 0.0077908378 -5.9447508 0 -11.902357 0 -5.9447508 - 490 0.098 0.0077382955 -6.0644896 0 -12.141828 0 -6.0644896 - 500 0.1 0.0076858338 -6.1841301 0 -12.381101 0 -6.1841301 -Loop time of 13.543 on 1 procs for 500 steps with 5780 atoms - -Performance: 0.638 ns/day, 37.619 hours/ns, 36.919 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 | 3.8138 | 3.8138 | 3.8138 | 0.0 | 28.16 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.011875 | 0.011875 | 0.011875 | 0.0 | 0.09 -Output | 0.049726 | 0.049726 | 0.049726 | 0.0 | 0.37 -Modify | 9.655 | 9.655 | 9.655 | 0.0 | 71.29 -Other | | 0.01262 | | | 0.09 - -Nlocal: 5780 ave 5780 max 5780 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1065 ave 1065 max 1065 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: 92480 ave 92480 max 92480 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 92480 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:13 diff --git a/examples/SPIN/bfo/log.19Nov19.spin.bfo.g++.4 b/examples/SPIN/bfo/log.19Nov19.spin.bfo.g++.4 deleted file mode 100644 index 8c701c93c13cd9c294d141c5c1ff752ec17dea5f..0000000000000000000000000000000000000000 --- a/examples/SPIN/bfo/log.19Nov19.spin.bfo.g++.4 +++ /dev/null @@ -1,167 +0,0 @@ -LAMMPS (30 Oct 2019) -# layer sc iron atoms (in the [001] plane) in bismuth oxide - -units metal -atom_style spin -dimension 3 -boundary p p f - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice sc 3.96 -Lattice spacing in x,y,z = 3.96 3.96 3.96 -region box block 0.0 34.0 0.0 34.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (134.64 134.64 19.8) - 2 by 2 by 1 MPI processor grid -create_atoms 1 box -Created 5780 atoms - create_atoms CPU = 0.00149798 secs - -# setting mass, mag. moments, and interactions for bfo - -mass 1 1.0 -set group all spin/random 11 2.50 - 5780 settings made for spin/random - -#pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 -pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 spin/dmi 4.5 -pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965 -pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0 -pair_coeff * * spin/dmi dmi 4.5 0.00005 1.0 1.0 1.0 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.1 21 -fix 3 all nve/spin lattice frozen - -timestep 0.0002 - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -#thermo_style custom step time v_magnorm v_emag temp etotal -thermo_style custom step time v_magnorm pe ke v_emag temp etotal -thermo 10 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 100 dump_bfo.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 500 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6.1 - ghost atom cutoff = 6.1 - binsize = 3.05, bins = 45 45 7 - 3 neighbor lists, perpetual/occasional/extra = 3 0 0 - (1) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard - (2) pair spin/magelec, perpetual, copy from (1) - attributes: full, newton on - pair build: copy - stencil: none - bin: none - (3) pair spin/dmi, perpetual, copy from (1) - attributes: full, newton on - pair build: copy - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 7.744 | 7.744 | 7.744 Mbytes -Step Time v_magnorm PotEng KinEng v_emag Temp TotEng - 0 0 0.010071723 -0.11868622 0 -0.12966919 0 -0.11868622 - 10 0.002 0.010030399 -0.37068593 0 -0.38171598 0 -0.37068593 - 20 0.004 0.0099889925 -0.6223216 0 -0.6334048 0 -0.6223216 - 30 0.006 0.0099474775 -0.87359359 0 -0.8847354 0 -0.87359359 - 40 0.008 0.0099058307 -1.1245034 0 -1.1357086 0 -1.1245034 - 50 0.01 0.0098640297 -1.3750538 0 -1.3863265 0 -1.3750538 - 60 0.012 0.0098220535 -1.6252482 0 -1.6365919 0 -1.6252482 - 70 0.014 0.0097798823 -1.8750914 0 -1.8865086 0 -1.8750914 - 80 0.016 0.0097374973 -2.1245886 0 -2.1360814 0 -2.1245886 - 90 0.018 0.0096948808 -2.3737458 0 -2.3853155 0 -2.3737458 - 100 0.02 0.0096520159 -2.6225698 0 -2.6342168 0 -2.6225698 - 110 0.022 0.0096088866 -2.8710677 0 -2.8827919 0 -2.8710677 - 120 0.024 0.0095654776 -3.1192469 0 -3.1310475 0 -3.1192469 - 130 0.026 0.0095217746 -3.367115 0 -3.3789906 0 -3.367115 - 140 0.028 0.0094777638 -3.61468 0 -3.6266285 0 -3.61468 - 150 0.03 0.0094334323 -3.8619496 0 -3.8739683 0 -3.8619496 - 160 0.032 0.0093887679 -4.1089316 0 -4.1210173 0 -4.1089316 - 170 0.034 0.0093437596 -4.3556335 0 -4.3677824 0 -4.3556335 - 180 0.036 0.0092983972 -4.6020625 0 -4.6142704 0 -4.6020625 - 190 0.038 0.0092526717 -4.8482255 0 -4.8604877 0 -4.8482255 - 200 0.04 0.0092065755 -5.0941291 0 -5.1064403 0 -5.0941291 - 210 0.042 0.0091601024 -5.3397792 0 -5.3521339 0 -5.3397792 - 220 0.044 0.0091132478 -5.5851813 0 -5.5975736 0 -5.5851813 - 230 0.046 0.0090660089 -5.8303404 0 -5.842764 0 -5.8303404 - 240 0.048 0.0090183847 -6.0752609 0 -6.0877092 0 -6.0752609 - 250 0.05 0.0089703764 -6.3199467 0 -6.3324129 0 -6.3199467 - 260 0.052 0.0089219873 -6.5644011 0 -6.5768782 0 -6.5644011 - 270 0.054 0.0088732228 -6.808627 0 -6.8211078 0 -6.808627 - 280 0.056 0.0088240906 -7.0526266 0 -7.0651038 0 -7.0526266 - 290 0.058 0.0087746006 -7.296402 0 -7.3088682 0 -7.296402 - 300 0.06 0.0087247648 -7.5399545 0 -7.5524024 0 -7.5399545 - 310 0.062 0.0086745976 -7.7832854 0 -7.7957077 0 -7.7832854 - 320 0.064 0.0086241149 -8.0263956 0 -8.038785 0 -8.0263956 - 330 0.066 0.008573335 -8.2692858 0 -8.281635 0 -8.2692858 - 340 0.068 0.0085222772 -8.5119564 0 -8.5242586 0 -8.5119564 - 350 0.07 0.0084709627 -8.7544078 0 -8.7666562 0 -8.7544078 - 360 0.072 0.0084194136 -8.9966403 0 -9.0088285 0 -8.9966403 - 370 0.074 0.008367653 -9.2386543 0 -9.2507761 0 -9.2386543 - 380 0.076 0.0083157046 -9.4804501 0 -9.4924997 0 -9.4804501 - 390 0.078 0.0082635925 -9.7220281 0 -9.7340001 0 -9.7220281 - 400 0.08 0.0082113412 -9.9633888 0 -9.9752784 0 -9.9633888 - 410 0.082 0.0081589747 -10.204533 0 -10.216336 0 -10.204533 - 420 0.084 0.0081065173 -10.445462 0 -10.457173 0 -10.445462 - 430 0.086 0.0080539925 -10.686176 0 -10.697793 0 -10.686176 - 440 0.088 0.0080014235 -10.926676 0 -10.938197 0 -10.926676 - 450 0.09 0.0079488329 -11.166966 0 -11.178387 0 -11.166966 - 460 0.092 0.0078962427 -11.407045 0 -11.418366 0 -11.407045 - 470 0.094 0.0078436743 -11.646917 0 -11.658136 0 -11.646917 - 480 0.096 0.0077911486 -11.886583 0 -11.8977 0 -11.886583 - 490 0.098 0.007738686 -12.126047 0 -12.137063 0 -12.126047 - 500 0.1 0.0076863062 -12.365311 0 -12.376226 0 -12.365311 -Loop time of 3.94852 on 4 procs for 500 steps with 5780 atoms - -Performance: 2.188 ns/day, 10.968 hours/ns, 126.630 timesteps/s -99.9% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.97416 | 0.98668 | 1.0022 | 1.0 | 24.99 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.032618 | 0.04948 | 0.062614 | 5.0 | 1.25 -Output | 0.014166 | 0.014229 | 0.014374 | 0.1 | 0.36 -Modify | 2.8947 | 2.8957 | 2.8965 | 0.0 | 73.34 -Other | | 0.002385 | | | 0.06 - -Nlocal: 1445 ave 1445 max 1445 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 555 ave 555 max 555 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 23120 ave 23120 max 23120 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 92480 -Ave neighs/atom = 16 -Neighbor list builds = 0 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:03 diff --git a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc index dd9ed890ee8b3be6ff1ba9d1ffab132fee743337..f81a962e3f6c33e5734e23b63baff451f735870b 100644 --- a/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc +++ b/examples/SPIN/cobalt_fcc/in.spin.cobalt_fcc @@ -45,8 +45,6 @@ compute out_pe all pe compute out_ke all ke compute out_temp all temp -thermo_style custom f_1 - variable magx equal c_out_mag[1] variable magy equal c_out_mag[2] variable magz equal c_out_mag[3] @@ -54,7 +52,7 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo_style custom step time f_1 v_magx v_magy v_magnorm v_emag temp etotal +thermo_style custom step time v_magx v_magy v_magnorm pe v_emag temp etotal thermo 50 # compute outsp all property/atom spx spy spz sp fmx fmy fmz diff --git a/examples/SPIN/cobalt_fcc/log.14Apr20.spin.cobalt_fcc.g++.1 b/examples/SPIN/cobalt_fcc/log.14Apr20.spin.cobalt_fcc.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..f233c5e9ea6794d0846704b2294426be3fcc6a4e --- /dev/null +++ b/examples/SPIN/cobalt_fcc/log.14Apr20.spin.cobalt_fcc.g++.1 @@ -0,0 +1,144 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# fcc cobalt in a 3d periodic box + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.54 +Lattice spacing in x,y,z = 3.54 3.54 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (17.7 17.7 17.7) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + create_atoms CPU = 0.00057292 secs + +# setting mass, mag. moments, and interactions for fcc cobalt + +mass 1 58.93 + +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 + 500 settings made for spin +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 +fix_modify 1 energy yes + +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice moving +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magx v_magy v_magnorm pe v_emag temp etotal +thermo 50 + +# compute outsp all property/atom spx spy spz sp fmx fmy fmz +# dump 1 all custom 100 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.59954 + ghost atom cutoff = 6.59954 + binsize = 3.29977, bins = 6 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.718 | 5.718 | 5.718 Mbytes +Step Time v_magx v_magy v_magnorm PotEng v_emag Temp TotEng + 0 0 0 0 1 -2285.0679 -94.095041 100.00543 -2278.6175 + 50 0.005 0 0 1 -2284.7512 -94.095025 95.095146 -2278.6175 + 100 0.01 0 0 1 -2283.8798 -94.094815 81.584879 -2278.6175 + 150 0.015 0 0 1 -2282.6701 -94.09401 62.831647 -2278.6175 + 200 0.02 0 0 1 -2281.4185 -94.092175 43.426664 -2278.6174 + 250 0.025 0 0 1 -2280.4165 -94.089084 27.892653 -2278.6174 + 300 0.03 0 0 1 -2279.8662 -94.084906 19.36049 -2278.6174 + 350 0.035 0 0 1 -2279.8238 -94.080244 18.702888 -2278.6174 + 400 0.04 0 0 1 -2280.1962 -94.076013 24.47725 -2278.6174 + 450 0.045 0 0 1 -2280.7898 -94.073181 33.678697 -2278.6175 + 500 0.05 0 0 1 -2281.3871 -94.072475 42.940446 -2278.6175 + 550 0.055 0 0 1 -2281.8215 -94.074138 49.675032 -2278.6175 + 600 0.06 0 0 1 -2282.0209 -94.077829 52.765336 -2278.6175 + 650 0.065 0 0 1 -2282.0136 -94.082703 52.652501 -2278.6175 + 700 0.07 0 0 1 -2281.8997 -94.087644 50.88749 -2278.6174 + 750 0.075 0 0 1 -2281.8013 -94.091583 49.361723 -2278.6174 + 800 0.08 0 0 1 -2281.8108 -94.093792 49.508108 -2278.6174 + 850 0.085 0 0 1 -2281.9558 -94.094064 51.756992 -2278.6174 + 900 0.09 0 0 1 -2282.1927 -94.092723 55.428834 -2278.6175 + 950 0.095 0 0 1 -2282.4277 -94.090469 59.072774 -2278.6175 + 1000 0.1 0 0 1 -2282.5578 -94.088121 61.090565 -2278.6175 +Loop time of 4.4001 on 1 procs for 1000 steps with 500 atoms + +Performance: 1.964 ns/day, 12.222 hours/ns, 227.268 timesteps/s +100.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 | 2.0815 | 2.0815 | 2.0815 | 0.0 | 47.31 +Neigh | 0.011835 | 0.011835 | 0.011835 | 0.0 | 0.27 +Comm | 0.033331 | 0.033331 | 0.033331 | 0.0 | 0.76 +Output | 0.00045395 | 0.00045395 | 0.00045395 | 0.0 | 0.01 +Modify | 2.2677 | 2.2677 | 2.2677 | 0.0 | 51.54 +Other | | 0.005309 | | | 0.12 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 24088 ave 24088 max 24088 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 48176 ave 48176 max 48176 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 48176 +Ave neighs/atom = 96.352 +Neighbor list builds = 6 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:04 diff --git a/examples/SPIN/cobalt_fcc/log.14Apr20.spin.cobalt_fcc.g++.4 b/examples/SPIN/cobalt_fcc/log.14Apr20.spin.cobalt_fcc.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..3cbcd942686ef00d9c80b46ede39d141d033b652 --- /dev/null +++ b/examples/SPIN/cobalt_fcc/log.14Apr20.spin.cobalt_fcc.g++.4 @@ -0,0 +1,144 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# fcc cobalt in a 3d periodic box + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.54 +Lattice spacing in x,y,z = 3.54 3.54 3.54 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (17.7 17.7 17.7) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + create_atoms CPU = 0.000688791 secs + +# setting mass, mag. moments, and interactions for fcc cobalt + +mass 1 58.93 + +#set group all spin/random 31 1.72 +set group all spin 1.72 0.0 0.0 1.0 + 500 settings made for spin +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 +fix_modify 1 energy yes + +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice moving +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magx equal c_out_mag[1] +variable magy equal c_out_mag[2] +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magx v_magy v_magnorm pe v_emag temp etotal +thermo 50 + +# compute outsp all property/atom spx spy spz sp fmx fmy fmz +# dump 1 all custom 100 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.59954 + ghost atom cutoff = 6.59954 + binsize = 3.29977, bins = 6 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.664 | 5.664 | 5.664 Mbytes +Step Time v_magx v_magy v_magnorm PotEng v_emag Temp TotEng + 0 0 0 0 1 -2285.0679 -94.095041 100.00543 -2278.6175 + 50 0.005 0 0 1 -2284.7564 -94.094967 95.176149 -2278.6175 + 100 0.01 0 0 1 -2283.8977 -94.094606 81.863661 -2278.6175 + 150 0.015 0 0 1 -2282.7006 -94.09362 63.303924 -2278.6175 + 200 0.02 0 0 1 -2281.452 -94.091648 43.94572 -2278.6174 + 250 0.025 0 0 1 -2280.4374 -94.08853 28.216468 -2278.6174 + 300 0.03 0 0 1 -2279.859 -94.084466 19.248729 -2278.6174 + 350 0.035 0 0 1 -2279.78 -94.080048 18.024631 -2278.6174 + 400 0.04 0 0 1 -2280.1196 -94.076134 23.288369 -2278.6174 + 450 0.045 0 0 1 -2280.697 -94.073612 32.240137 -2278.6175 + 500 0.05 0 0 1 -2281.305 -94.073124 41.666374 -2278.6175 + 550 0.055 0 0 1 -2281.7792 -94.074853 49.019175 -2278.6175 + 600 0.06 0 0 1 -2282.0409 -94.078438 53.075365 -2278.6175 + 650 0.065 0 0 1 -2282.1031 -94.083056 54.040647 -2278.6175 + 700 0.07 0 0 1 -2282.0468 -94.087642 53.167271 -2278.6175 + 750 0.075 0 0 1 -2281.9765 -94.09119 52.076935 -2278.6174 + 800 0.08 0 0 1 -2281.9742 -94.093023 52.041607 -2278.6174 + 850 0.085 0 0 1 -2282.0669 -94.09296 53.478909 -2278.6174 + 900 0.09 0 0 1 -2282.2193 -94.091331 55.842481 -2278.6175 + 950 0.095 0 0 1 -2282.354 -94.088827 57.930866 -2278.6175 + 1000 0.1 0 0 1 -2282.3885 -94.086262 58.464579 -2278.6175 +Loop time of 2.75 on 4 procs for 1000 steps with 500 atoms + +Performance: 3.142 ns/day, 7.639 hours/ns, 363.637 timesteps/s +99.7% 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.57529 | 0.60652 | 0.63664 | 3.2 | 22.06 +Neigh | 0.0026889 | 0.0029447 | 0.0030761 | 0.3 | 0.11 +Comm | 0.10943 | 0.14471 | 0.17847 | 7.5 | 5.26 +Output | 0.00045419 | 0.00050056 | 0.00060511 | 0.0 | 0.02 +Modify | 1.9865 | 1.9926 | 1.998 | 0.3 | 72.46 +Other | | 0.002738 | | | 0.10 + +Nlocal: 125 ave 132 max 116 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Nghost: 1099 ave 1108 max 1092 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 6033 ave 6372 max 5495 min +Histogram: 1 0 0 0 0 0 0 2 0 1 +FullNghs: 12066 ave 12964 max 10977 min +Histogram: 1 0 0 0 0 1 1 0 0 1 + +Total # of neighbors = 48264 +Ave neighs/atom = 96.528 +Neighbor list builds = 6 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:02 diff --git a/examples/SPIN/cobalt_fcc/log.19Nov19.spin.cobalt_fcc.g++.1 b/examples/SPIN/cobalt_fcc/log.19Nov19.spin.cobalt_fcc.g++.1 deleted file mode 100644 index 06774d08580242bac91bffff8d89150bcf1f80f6..0000000000000000000000000000000000000000 --- a/examples/SPIN/cobalt_fcc/log.19Nov19.spin.cobalt_fcc.g++.1 +++ /dev/null @@ -1,142 +0,0 @@ -LAMMPS (30 Oct 2019) -# fcc cobalt in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice fcc 3.54 -Lattice spacing in x,y,z = 3.54 3.54 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (17.7 17.7 17.7) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - create_atoms CPU = 0.000470161 secs - -# setting mass, mag. moments, and interactions for fcc cobalt - -mass 1 58.93 - -#set group all spin/random 31 1.72 -set group all spin 1.72 0.0 0.0 1.0 - 500 settings made for spin -velocity all create 100 4928459 rot yes dist gaussian - -pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 -fix_modify 1 energy yes - -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all nve/spin lattice moving -timestep 0.0001 - -# compute and output options - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -thermo_style custom f_1 - -variable magx equal c_out_mag[1] -variable magy equal c_out_mag[2] -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time f_1 v_magx v_magy v_magnorm v_emag temp etotal -thermo 50 - -# compute outsp all property/atom spx spy spz sp fmx fmy fmz -# dump 1 all custom 100 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 1000 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6.59954 - ghost atom cutoff = 6.59954 - binsize = 3.29977, bins = 6 6 6 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair eam/alloy, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.718 | 5.718 | 5.718 Mbytes -Step Time f_1 v_magx v_magy v_magnorm v_emag Temp TotEng - 0 0 -0.099570972 0 0 1 -188.09051 100.00543 -2278.6175 - 50 0.005 -0.099570972 0 0 1 -188.09048 95.094679 -2278.6175 - 100 0.01 -0.099570972 0 0 1 -188.09007 81.578321 -2278.6177 - 150 0.015 -0.099570972 0 0 1 -188.08848 62.802727 -2278.6185 - 200 0.02 -0.099570972 0 0 1 -188.08487 43.35108 -2278.6203 - 250 0.025 -0.099570972 0 0 1 -188.07877 27.749821 -2278.6233 - 300 0.03 -0.099570972 0 0 1 -188.07054 19.149389 -2278.6274 - 350 0.035 -0.099570972 0 0 1 -188.06135 18.453387 -2278.632 - 400 0.04 -0.099570972 0 0 1 -188.053 24.249423 -2278.6362 - 450 0.045 -0.099570972 0 0 1 -188.04742 33.548008 -2278.639 - 500 0.05 -0.099570972 0 0 1 -188.04604 42.973172 -2278.6397 - 550 0.055 -0.099570972 0 0 1 -188.04935 49.902539 -2278.638 - 600 0.06 -0.099570972 0 0 1 -188.0567 53.166772 -2278.6344 - 650 0.065 -0.099570972 0 0 1 -188.06642 53.153416 -2278.6295 - 700 0.07 -0.099570972 0 0 1 -188.07628 51.377187 -2278.6246 - 750 0.075 -0.099570972 0 0 1 -188.08415 49.725449 -2278.6206 - 800 0.08 -0.099570972 0 0 1 -188.08857 49.663576 -2278.6184 - 850 0.085 -0.099570972 0 0 1 -188.0891 51.681567 -2278.6182 - 900 0.09 -0.099570972 0 0 1 -188.08636 55.166554 -2278.6195 - 950 0.095 -0.099570972 0 0 1 -188.08174 58.718232 -2278.6218 - 1000 0.1 -0.099570972 0 0 1 -188.0769 60.75567 -2278.6243 -Loop time of 4.6196 on 1 procs for 1000 steps with 500 atoms - -Performance: 1.870 ns/day, 12.832 hours/ns, 216.469 timesteps/s -99.9% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 2.3116 | 2.3116 | 2.3116 | 0.0 | 50.04 -Neigh | 0.011227 | 0.011227 | 0.011227 | 0.0 | 0.24 -Comm | 0.032837 | 0.032837 | 0.032837 | 0.0 | 0.71 -Output | 0.00039411 | 0.00039411 | 0.00039411 | 0.0 | 0.01 -Modify | 2.2584 | 2.2584 | 2.2584 | 0.0 | 48.89 -Other | | 0.005152 | | | 0.11 - -Nlocal: 500 ave 500 max 500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1956 ave 1956 max 1956 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 24065 ave 24065 max 24065 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 48130 ave 48130 max 48130 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 48130 -Ave neighs/atom = 96.26 -Neighbor list builds = 6 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:04 diff --git a/examples/SPIN/cobalt_fcc/log.19Nov19.spin.cobalt_fcc.g++.4 b/examples/SPIN/cobalt_fcc/log.19Nov19.spin.cobalt_fcc.g++.4 deleted file mode 100644 index 331ed60315a408c4cc2d221e13b18348b540b87b..0000000000000000000000000000000000000000 --- a/examples/SPIN/cobalt_fcc/log.19Nov19.spin.cobalt_fcc.g++.4 +++ /dev/null @@ -1,142 +0,0 @@ -LAMMPS (30 Oct 2019) -# fcc cobalt in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice fcc 3.54 -Lattice spacing in x,y,z = 3.54 3.54 3.54 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (17.7 17.7 17.7) - 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 500 atoms - create_atoms CPU = 0.000808001 secs - -# setting mass, mag. moments, and interactions for fcc cobalt - -mass 1 58.93 - -#set group all spin/random 31 1.72 -set group all spin 1.72 0.0 0.0 1.0 - 500 settings made for spin -velocity all create 100 4928459 rot yes dist gaussian - -pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * spin/exchange exchange 4.0 0.0446928 0.003496 1.4885 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 -fix_modify 1 energy yes - -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all nve/spin lattice moving -timestep 0.0001 - -# compute and output options - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -thermo_style custom f_1 - -variable magx equal c_out_mag[1] -variable magy equal c_out_mag[2] -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time f_1 v_magx v_magy v_magnorm v_emag temp etotal -thermo 50 - -# compute outsp all property/atom spx spy spz sp fmx fmy fmz -# dump 1 all custom 100 dump_cobalt_fcc.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 1000 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6.59954 - ghost atom cutoff = 6.59954 - binsize = 3.29977, bins = 6 6 6 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair eam/alloy, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.664 | 5.664 | 5.664 Mbytes -Step Time f_1 v_magx v_magy v_magnorm v_emag Temp TotEng - 0 0 -0.099570972 0 0 1 -188.09051 100.00543 -2372.6129 - 50 0.005 -0.099570972 0 0 1 -188.09036 95.174807 -2372.6129 - 100 0.01 -0.099570972 0 0 1 -188.08965 81.854304 -2372.6129 - 150 0.015 -0.099570972 0 0 1 -188.0877 63.270938 -2372.6129 - 200 0.02 -0.099570972 0 0 1 -188.08381 43.867262 -2372.6129 - 250 0.025 -0.099570972 0 0 1 -188.07767 28.075261 -2372.6129 - 300 0.03 -0.099570972 0 0 1 -188.06966 19.046222 -2372.6129 - 350 0.035 -0.099570972 0 0 1 -188.06096 17.79071 -2372.6129 - 400 0.04 -0.099570972 0 0 1 -188.05326 23.079994 -2372.6129 - 450 0.045 -0.099570972 0 0 1 -188.04831 32.127316 -2372.6129 - 500 0.05 -0.099570972 0 0 1 -188.04737 41.709644 -2372.6129 - 550 0.055 -0.099570972 0 0 1 -188.05082 49.246292 -2372.6129 - 600 0.06 -0.099570972 0 0 1 -188.05795 53.465535 -2372.6129 - 650 0.065 -0.099570972 0 0 1 -188.06713 54.522857 -2372.6129 - 700 0.07 -0.099570972 0 0 1 -188.07626 53.635521 -2372.6129 - 750 0.075 -0.099570972 0 0 1 -188.08332 52.419678 -2372.6129 - 800 0.08 -0.099570972 0 0 1 -188.08696 52.176558 -2372.6129 - 850 0.085 -0.099570972 0 0 1 -188.0868 53.380592 -2372.6129 - 900 0.09 -0.099570972 0 0 1 -188.08348 55.551378 -2372.6129 - 950 0.095 -0.099570972 0 0 1 -188.07838 57.540047 -2372.6129 - 1000 0.1 -0.099570972 0 0 1 -188.07314 58.088674 -2372.6129 -Loop time of 2.54753 on 4 procs for 1000 steps with 500 atoms - -Performance: 3.392 ns/day, 7.076 hours/ns, 392.538 timesteps/s -100.0% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.62017 | 0.6485 | 0.66275 | 2.1 | 25.46 -Neigh | 0.0027115 | 0.0029724 | 0.0030868 | 0.3 | 0.12 -Comm | 0.095047 | 0.1102 | 0.13819 | 5.0 | 4.33 -Output | 0.00039029 | 0.00042999 | 0.00049996 | 0.0 | 0.02 -Modify | 1.7801 | 1.7834 | 1.7852 | 0.1 | 70.01 -Other | | 0.002028 | | | 0.08 - -Nlocal: 125 ave 133 max 116 min -Histogram: 1 0 0 0 0 2 0 0 0 1 -Nghost: 1099 ave 1108 max 1091 min -Histogram: 1 0 0 0 2 0 0 0 0 1 -Neighs: 6032.5 ave 6417 max 5489 min -Histogram: 1 0 0 0 0 0 1 1 0 1 -FullNghs: 12065 ave 13062 max 10970 min -Histogram: 1 0 0 0 0 2 0 0 0 1 - -Total # of neighbors = 48260 -Ave neighs/atom = 96.52 -Neighbor list builds = 6 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:02 diff --git a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp index dd114202cb7dce70f07dedf74077da08e36d2c90..2bfa8393f387c1d5b5646f0deff19fa930a0543c 100644 --- a/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp +++ b/examples/SPIN/cobalt_hcp/in.spin.cobalt_hcp @@ -32,10 +32,9 @@ pair_coeff * * spin/exchange exchange 4.0 -0.3593 1.135028015e-05 1.064568567 neighbor 0.1 bin neigh_modify every 10 check yes delay 20 -#fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 fix 1 all precession/spin anisotropy 0.01 0.0 0.0 1.0 -#fix 2 all langevin/spin 0.0 0.0 21 -fix 2 all langevin/spin 0.0 0.1 21 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 fix 3 all nve/spin lattice moving timestep 0.0001 @@ -51,8 +50,8 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo_style custom step time v_magnorm v_emag temp press etotal -thermo 10 +thermo_style custom step time v_magnorm pe v_emag temp press etotal +thermo 50 compute outsp all property/atom spx spy spz sp fmx fmy fmz dump 1 all custom 100 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] diff --git a/examples/SPIN/cobalt_hcp/log.14Apr20.spin.cobalt_hcp.g++.1 b/examples/SPIN/cobalt_hcp/log.14Apr20.spin.cobalt_hcp.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..b26892f6e9831524682bd1314917ce2ced478975 --- /dev/null +++ b/examples/SPIN/cobalt_hcp/log.14Apr20.spin.cobalt_hcp.g++.1 @@ -0,0 +1,142 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# hcp cobalt in a 3d periodic box + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice hcp 2.5071 +Lattice spacing in x,y,z = 2.5071 4.34242 4.09408 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + create_atoms CPU = 0.00121403 secs + +# setting mass, mag. moments, and interactions for hcp cobalt + +mass 1 58.93 + +set group all spin/random 31 1.72 + 500 settings made for spin/random +#set group all spin 1.72 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +#pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 -0.3593 1.135028015e-05 1.064568567 +#pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin anisotropy 0.01 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 +fix 3 all nve/spin lattice moving + +timestep 0.0001 + + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm pe v_emag temp press etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 100 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.59954 + ghost atom cutoff = 6.59954 + binsize = 3.29977, bins = 4 7 7 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.902 | 7.902 | 7.902 Mbytes +Step Time v_magnorm PotEng v_emag Temp Press TotEng + 0 0 0.076558814 -2197.5536 -2.5536882 100.00543 -552.75983 -2191.1032 + 50 0.005 0.079437931 -2197.3113 -2.6177795 96.18776 -337.75504 -2191.1071 + 100 0.01 0.079575823 -2196.5768 -2.7375927 84.740309 571.91195 -2191.1109 + 150 0.015 0.078526145 -2195.4996 -2.8719243 67.984081 1845.185 -2191.1146 + 200 0.02 0.077001318 -2194.3502 -3.019723 50.107518 3008.9709 -2191.1182 + 250 0.025 0.077628454 -2193.403 -3.1832392 35.364524 4018.0217 -2191.122 + 300 0.03 0.077407462 -2192.8618 -3.3557644 26.910583 4535.9542 -2191.126 + 350 0.035 0.078090775 -2192.8052 -3.5305639 25.971561 4733.0322 -2191.13 + 400 0.04 0.078594494 -2193.135 -3.6772939 31.026665 4309.2088 -2191.1338 + 450 0.045 0.079898162 -2193.6965 -3.8044501 39.672566 3591.9593 -2191.1376 + 500 0.05 0.079885039 -2194.3293 -3.9435795 49.423774 2698.4519 -2191.1414 + 550 0.055 0.077196547 -2194.8554 -4.0868278 57.523322 1934.2444 -2191.1451 + 600 0.06 0.075430904 -2195.1797 -4.2355252 62.494025 1597.2543 -2191.1488 + 650 0.065 0.076510964 -2195.2854 -4.3752086 64.080496 1656.2312 -2191.1522 + 700 0.07 0.07649426 -2195.2723 -4.5226349 63.825926 1521.7541 -2191.1555 + 750 0.075 0.076254777 -2195.2746 -4.6937954 63.804162 1505.1323 -2191.1592 + 800 0.08 0.074211447 -2195.3567 -4.8567561 65.022623 1203.5409 -2191.1627 + 850 0.085 0.072034236 -2195.5531 -5.0007443 68.003461 900.03381 -2191.1668 + 900 0.09 0.071097702 -2195.8563 -5.1391578 72.641879 548.08834 -2191.1709 + 950 0.095 0.072642434 -2196.2007 -5.2853353 77.926596 194.45928 -2191.1743 + 1000 0.1 0.07306537 -2196.46 -5.4169261 81.891897 -404.70871 -2191.1779 +Loop time of 4.78824 on 1 procs for 1000 steps with 500 atoms + +Performance: 1.804 ns/day, 13.301 hours/ns, 208.845 timesteps/s +100.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 | 2.3284 | 2.3284 | 2.3284 | 0.0 | 48.63 +Neigh | 0.01273 | 0.01273 | 0.01273 | 0.0 | 0.27 +Comm | 0.042432 | 0.042432 | 0.042432 | 0.0 | 0.89 +Output | 0.0083201 | 0.0083201 | 0.0083201 | 0.0 | 0.17 +Modify | 2.3895 | 2.3895 | 2.3895 | 0.0 | 49.90 +Other | | 0.006823 | | | 0.14 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2444 ave 2444 max 2444 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 27036 ave 27036 max 27036 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 54072 ave 54072 max 54072 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 54072 +Ave neighs/atom = 108.144 +Neighbor list builds = 6 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:04 diff --git a/examples/SPIN/cobalt_hcp/log.14Apr20.spin.cobalt_hcp.g++.4 b/examples/SPIN/cobalt_hcp/log.14Apr20.spin.cobalt_hcp.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..ad8bf1807f0925c3e74a9697392bf7d44376ce82 --- /dev/null +++ b/examples/SPIN/cobalt_hcp/log.14Apr20.spin.cobalt_hcp.g++.4 @@ -0,0 +1,142 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# hcp cobalt in a 3d periodic box + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice hcp 2.5071 +Lattice spacing in x,y,z = 2.5071 4.34242 4.09408 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + create_atoms CPU = 0.000710964 secs + +# setting mass, mag. moments, and interactions for hcp cobalt + +mass 1 58.93 + +set group all spin/random 31 1.72 + 500 settings made for spin/random +#set group all spin 1.72 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +#pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co +pair_coeff * * spin/exchange exchange 4.0 -0.3593 1.135028015e-05 1.064568567 +#pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin anisotropy 0.01 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 +fix 3 all nve/spin lattice moving + +timestep 0.0001 + + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm pe v_emag temp press etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 100 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.59954 + ghost atom cutoff = 6.59954 + binsize = 3.29977, bins = 4 7 7 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.814 | 7.814 | 7.815 Mbytes +Step Time v_magnorm PotEng v_emag Temp Press TotEng + 0 0 0.076558814 -2197.5536 -2.5536882 100.00543 -552.75983 -2191.1032 + 50 0.005 0.079452711 -2197.3115 -2.6266704 96.190558 -328.47868 -2191.1071 + 100 0.01 0.079678568 -2196.5823 -2.7759025 84.826338 585.21827 -2191.1109 + 150 0.015 0.078665787 -2195.5034 -2.9426881 68.043637 1872.5465 -2191.1146 + 200 0.02 0.076875906 -2194.3466 -3.1163511 50.052941 2986.3962 -2191.1181 + 250 0.025 0.076865073 -2193.3857 -3.2792912 35.095608 4003.4846 -2191.122 + 300 0.03 0.07675751 -2192.8611 -3.4452905 26.902302 4561.1429 -2191.1259 + 350 0.035 0.077351833 -2192.8579 -3.6193072 26.792986 4523.2641 -2191.1297 + 400 0.04 0.077672952 -2193.275 -3.7845654 33.199609 4108.3226 -2191.1336 + 450 0.045 0.077553541 -2193.9028 -3.9247064 42.874729 3267.3626 -2191.1373 + 500 0.05 0.076992612 -2194.5433 -4.0593738 52.743363 2317.5276 -2191.1413 + 550 0.055 0.074971927 -2195.0364 -4.1961092 60.332059 1620.5766 -2191.145 + 600 0.06 0.072652113 -2195.3154 -4.3458839 64.600641 1265.4418 -2191.1486 + 650 0.065 0.071405665 -2195.392 -4.5049778 65.734457 1221.4637 -2191.1521 + 700 0.07 0.072030336 -2195.337 -4.6535106 64.831697 1224.9583 -2191.1553 + 750 0.075 0.072468553 -2195.2702 -4.7829549 63.746912 1220.2392 -2191.1585 + 800 0.08 0.071546019 -2195.3271 -4.9161885 64.581676 1134.3858 -2191.1616 + 850 0.085 0.071414723 -2195.5618 -5.0652271 68.168922 864.52044 -2191.1648 + 900 0.09 0.073428472 -2195.9219 -5.219789 73.702937 556.14868 -2191.168 + 950 0.095 0.0745891 -2196.3065 -5.3782699 79.616238 -64.458151 -2191.1711 + 1000 0.1 0.074027925 -2196.6049 -5.5446493 84.189424 -640.80166 -2191.1746 +Loop time of 2.86028 on 4 procs for 1000 steps with 500 atoms + +Performance: 3.021 ns/day, 7.945 hours/ns, 349.616 timesteps/s +100.0% 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.6266 | 0.66621 | 0.68577 | 3.0 | 23.29 +Neigh | 0.0030921 | 0.0031813 | 0.0032392 | 0.1 | 0.11 +Comm | 0.1184 | 0.14023 | 0.18062 | 6.6 | 4.90 +Output | 0.0031779 | 0.0032207 | 0.0033176 | 0.1 | 0.11 +Modify | 2.0432 | 2.0445 | 2.0467 | 0.1 | 71.48 +Other | | 0.002987 | | | 0.10 + +Nlocal: 125 ave 128 max 121 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Nghost: 1324 ave 1331 max 1318 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 6756.5 ave 6978 max 6543 min +Histogram: 1 1 0 0 0 0 0 0 1 1 +FullNghs: 13513 ave 13915 max 13042 min +Histogram: 1 1 0 0 0 0 0 0 0 2 + +Total # of neighbors = 54052 +Ave neighs/atom = 108.104 +Neighbor list builds = 6 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:02 diff --git a/examples/SPIN/cobalt_hcp/log.19Nov19.spin.cobalt_hcp.g++.1 b/examples/SPIN/cobalt_hcp/log.19Nov19.spin.cobalt_hcp.g++.1 deleted file mode 100644 index 781e2264a73438a7f71bbacbca8ec749fa19403e..0000000000000000000000000000000000000000 --- a/examples/SPIN/cobalt_hcp/log.19Nov19.spin.cobalt_hcp.g++.1 +++ /dev/null @@ -1,219 +0,0 @@ -LAMMPS (30 Oct 2019) -# hcp cobalt in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice hcp 2.5071 -Lattice spacing in x,y,z = 2.5071 4.34242 4.09408 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - create_atoms CPU = 0.00105 secs - -# setting mass, mag. moments, and interactions for hcp cobalt - -mass 1 58.93 - -set group all spin/random 31 1.72 - 500 settings made for spin/random -#set group all spin 1.72 0.0 0.0 1.0 -velocity all create 100 4928459 rot yes dist gaussian - -#pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 -pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * spin/exchange exchange 4.0 -0.3593 1.135028015e-05 1.064568567 -#pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -#fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 -fix 1 all precession/spin anisotropy 0.01 0.0 0.0 1.0 -#fix 2 all langevin/spin 0.0 0.0 21 -fix 2 all langevin/spin 0.0 0.1 21 -fix 3 all nve/spin lattice moving - -timestep 0.0001 - - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magnorm v_emag temp press etotal -thermo 10 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 100 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 1000 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6.59954 - ghost atom cutoff = 6.59954 - binsize = 3.29977, bins = 4 7 7 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair eam/alloy, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.902 | 7.902 | 7.902 Mbytes -Step Time v_magnorm v_emag Temp Press TotEng - 0 0 0.076558814 -5.1073764 100.00543 -552.75983 -2189.4486 - 10 0.001 0.074494403 -6.2746901 100.01038 -1571.7966 -2190.0317 - 20 0.002 0.072366265 -7.4280779 99.885587 -2535.9845 -2190.5874 - 30 0.003 0.070127018 -8.5667999 99.611653 -3445.9872 -2191.1169 - 40 0.004 0.067755946 -9.6899272 99.164813 -4302.5715 -2191.6215 - 50 0.005 0.065261592 -10.79648 98.520535 -5107.2841 -2192.103 - 60 0.006 0.062676613 -11.885341 97.657148 -5862.7198 -2192.5638 - 70 0.007 0.060046709 -12.955115 96.558718 -6572.0571 -2193.0064 - 80 0.008 0.057417313 -14.004096 95.216748 -7238.1396 -2193.4327 - 90 0.009 0.054822275 -15.030416 93.630634 -7862.5226 -2193.8437 - 100 0.01 0.052277835 -16.032345 91.80711 -8445.2646 -2194.2391 - 110 0.011 0.049783153 -17.008652 89.759163 -8985.5937 -2194.6181 - 120 0.012 0.047326373 -17.958895 87.504922 -9483.1141 -2194.98 - 130 0.013 0.044893289 -18.883574 85.066818 -9938.8838 -2195.3247 - 140 0.014 0.042474822 -19.784052 82.471014 -10355.911 -2195.6533 - 150 0.015 0.040070404 -20.662271 79.746901 -10739.081 -2195.9677 - 160 0.016 0.037686856 -21.520294 76.926428 -11094.793 -2196.2709 - 170 0.017 0.035334961 -22.359822 74.043181 -11430.247 -2196.5659 - 180 0.018 0.033026799 -23.181822 71.131269 -11752.268 -2196.8556 - 190 0.019 0.030775544 -23.986406 68.224204 -12065.774 -2197.1412 - 200 0.02 0.028597121 -24.773013 65.353995 -12372.712 -2197.4226 - 210 0.021 0.026511775 -25.540835 62.55053 -12672.055 -2197.6975 - 220 0.022 0.02454383 -26.289327 59.841288 -12961.112 -2197.9631 - 230 0.023 0.02271918 -27.018625 57.251361 -13237.544 -2198.2165 - 240 0.024 0.021061271 -27.729714 54.80373 -13501.028 -2198.4564 - 250 0.025 0.019587072 -28.42449 52.519717 -13754.325 -2198.6833 - 260 0.026 0.018304494 -29.105398 50.419388 -14002.718 -2198.8994 - 270 0.027 0.017211977 -29.775134 48.521812 -14253.089 -2199.1079 - 280 0.028 0.016300002 -30.436204 46.845075 -14512.437 -2199.3119 - 290 0.029 0.015553519 -31.090499 45.405985 -14786.53 -2199.5143 - 300 0.03 0.014954102 -31.739026 44.219544 -15079.165 -2199.7168 - 310 0.031 0.014481189 -32.381585 43.298175 -15391.531 -2199.9198 - 320 0.032 0.014112494 -33.016984 42.650874 -15722.828 -2200.1226 - 330 0.033 0.013824206 -33.643289 42.282535 -16070.874 -2200.324 - 340 0.034 0.013591568 -34.258323 42.19365 -16433.065 -2200.5226 - 350 0.035 0.013390035 -34.860184 42.380506 -16807.186 -2200.7174 - 360 0.036 0.01319679 -35.447655 42.835832 -17191.816 -2200.9077 - 370 0.037 0.012992271 -36.020512 43.549656 -17586.676 -2201.0935 - 380 0.038 0.012761486 -36.579332 44.510078 -17991.857 -2201.2754 - 390 0.039 0.012494918 -37.125414 45.703757 -18407.738 -2201.4538 - 400 0.04 0.0121888 -37.660321 47.115967 -18834.276 -2201.6292 - 410 0.041 0.011844474 -38.185489 48.730291 -19270.674 -2201.8019 - 420 0.042 0.011466715 -38.70192 50.528119 -19715.276 -2201.9716 - 430 0.043 0.011061388 -39.21005 52.488204 -20165.66 -2202.1377 - 440 0.044 0.010633241 -39.709778 54.586528 -20618.997 -2202.2998 - 450 0.045 0.010184696 -40.200724 56.79654 -21072.538 -2202.4571 - 460 0.046 0.0097161044 -40.682449 59.089699 -21523.873 -2202.6094 - 470 0.047 0.0092271788 -41.154614 61.436133 -21970.922 -2202.7565 - 480 0.048 0.0087187266 -41.617256 63.805414 -22412.32 -2202.8989 - 490 0.049 0.0081937768 -42.070708 66.167399 -22847.061 -2203.037 - 500 0.05 0.0076576327 -42.51563 68.493235 -23274.619 -2203.172 - 510 0.051 0.0071170477 -42.952841 70.756444 -23694.559 -2203.3046 - 520 0.052 0.006579078 -43.383338 72.933996 -24106.717 -2203.4358 - 530 0.053 0.006050144 -43.807962 75.007131 -24510.338 -2203.5662 - 540 0.054 0.0055354475 -44.227552 76.961803 -24904.495 -2203.6957 - 550 0.055 0.0050386503 -44.64268 78.788647 -25287.341 -2203.8241 - 560 0.056 0.0045617699 -45.053996 80.4825 -25657.11 -2203.9504 - 570 0.057 0.0041054334 -45.461923 82.041527 -26011.443 -2204.0737 - 580 0.058 0.003669689 -45.866895 83.466142 -26348.265 -2204.1931 - 590 0.059 0.0032553824 -46.269219 84.757926 -26665.834 -2204.3077 - 600 0.06 0.0028655752 -46.669125 85.918711 -26963.24 -2204.4173 - 610 0.061 0.0025060765 -47.066641 86.95 -27240.331 -2204.5218 - 620 0.062 0.0021839971 -47.461566 87.852838 -27497.728 -2204.6218 - 630 0.063 0.0019039581 -47.853462 88.628142 -27736.503 -2204.7177 - 640 0.064 0.0016633855 -48.241747 89.277364 -27957.91 -2204.81 - 650 0.065 0.0014502904 -48.625803 89.803307 -28163.11 -2204.899 - 660 0.066 0.0012463786 -49.005026 90.210807 -28352.881 -2204.9847 - 670 0.067 0.0010345087 -49.378935 90.507107 -28527.721 -2205.0668 - 680 0.068 0.00080788134 -49.747325 90.701795 -28688.395 -2205.1453 - 690 0.069 0.000586442 -50.110227 90.80636 -28836.094 -2205.22 - 700 0.07 0.00046855102 -50.467799 90.833539 -28972.361 -2205.2911 - 710 0.071 0.00061091693 -50.82044 90.796649 -29099.44 -2205.3592 - 720 0.072 0.00094960177 -51.168606 90.709122 -29219.676 -2205.4249 - 730 0.073 0.0013742455 -51.512913 90.584346 -29335.643 -2205.4887 - 740 0.074 0.0018397629 -51.853957 90.435783 -29449.521 -2205.5511 - 750 0.075 0.0023216474 -52.192407 90.277231 -29563.316 -2205.6124 - 760 0.076 0.0028000512 -52.528883 90.123061 -29678.726 -2205.6729 - 770 0.077 0.0032569295 -52.863859 89.98824 -29797.079 -2205.7329 - 780 0.078 0.0036765431 -53.197843 89.888047 -29919.964 -2205.7925 - 790 0.079 0.0040467094 -53.530921 89.837568 -30048.271 -2205.8521 - 800 0.08 0.0043597837 -53.862938 89.850978 -30182.622 -2205.9119 - 810 0.081 0.0046129296 -54.193489 89.940884 -30323.293 -2205.9718 - 820 0.082 0.0048076151 -54.522077 90.117797 -30470.468 -2206.0321 - 830 0.083 0.004948533 -54.84813 90.389814 -30624.056 -2206.0926 - 840 0.084 0.0050423324 -55.171024 90.762454 -30783.658 -2206.1532 - 850 0.085 0.0050965581 -55.490357 91.238681 -30949.141 -2206.2139 - 860 0.086 0.0051190641 -55.805904 91.818973 -31120.5 -2206.2745 - 870 0.087 0.0051180301 -56.117429 92.501449 -31297.412 -2206.3349 - 880 0.088 0.0051024116 -56.424751 93.281992 -31479.436 -2206.3949 - 890 0.089 0.005082454 -56.727832 94.154367 -31666.293 -2206.4544 - 900 0.09 0.0050697645 -57.026442 95.110386 -31857.043 -2206.513 - 910 0.091 0.0050765431 -57.320291 96.140056 -32050.436 -2206.5703 - 920 0.092 0.0051139309 -57.609075 97.231838 -32245.079 -2206.6257 - 930 0.093 0.0051899535 -57.89236 98.372982 -32439.141 -2206.6788 - 940 0.094 0.0053078572 -58.169742 99.54995 -32630.727 -2206.7288 - 950 0.095 0.0054654923 -58.44083 100.74893 -32817.882 -2206.7752 - 960 0.096 0.0056558757 -58.705483 101.95638 -32999.116 -2206.8176 - 970 0.097 0.0058685513 -58.963698 103.15953 -33173.159 -2206.8557 - 980 0.098 0.0060912487 -59.215624 104.34681 -33338.961 -2206.8893 - 990 0.099 0.0063114886 -59.461806 105.50819 -33496.345 -2206.9188 - 1000 0.1 0.0065179843 -59.702883 106.63524 -33645.259 -2206.9444 -Loop time of 5.20295 on 1 procs for 1000 steps with 500 atoms - -Performance: 1.661 ns/day, 14.453 hours/ns, 192.199 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 | 2.6241 | 2.6241 | 2.6241 | 0.0 | 50.43 -Neigh | 0.01424 | 0.01424 | 0.01424 | 0.0 | 0.27 -Comm | 0.041207 | 0.041207 | 0.041207 | 0.0 | 0.79 -Output | 0.0090086 | 0.0090086 | 0.0090086 | 0.0 | 0.17 -Modify | 2.5084 | 2.5084 | 2.5084 | 0.0 | 48.21 -Other | | 0.006008 | | | 0.12 - -Nlocal: 500 ave 500 max 500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2442 ave 2442 max 2442 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 27581 ave 27581 max 27581 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 55162 ave 55162 max 55162 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 55162 -Ave neighs/atom = 110.324 -Neighbor list builds = 7 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:05 diff --git a/examples/SPIN/cobalt_hcp/log.19Nov19.spin.cobalt_hcp.g++.4 b/examples/SPIN/cobalt_hcp/log.19Nov19.spin.cobalt_hcp.g++.4 deleted file mode 100644 index de00d5be320fbd1d24663e2c1c303edcb428326c..0000000000000000000000000000000000000000 --- a/examples/SPIN/cobalt_hcp/log.19Nov19.spin.cobalt_hcp.g++.4 +++ /dev/null @@ -1,219 +0,0 @@ -LAMMPS (30 Oct 2019) -# hcp cobalt in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice hcp 2.5071 -Lattice spacing in x,y,z = 2.5071 4.34242 4.09408 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) - 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 500 atoms - create_atoms CPU = 0.00101995 secs - -# setting mass, mag. moments, and interactions for hcp cobalt - -mass 1 58.93 - -set group all spin/random 31 1.72 - 500 settings made for spin/random -#set group all spin 1.72 0.0 0.0 1.0 -velocity all create 100 4928459 rot yes dist gaussian - -#pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 -pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Co_PurjaPun_2012.eam.alloy Co -pair_coeff * * spin/exchange exchange 4.0 -0.3593 1.135028015e-05 1.064568567 -#pair_coeff * * spin/neel neel 4.0 0.0048 0.234 1.168 2.6905 0.705 0.652 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -#fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 -fix 1 all precession/spin anisotropy 0.01 0.0 0.0 1.0 -#fix 2 all langevin/spin 0.0 0.0 21 -fix 2 all langevin/spin 0.0 0.1 21 -fix 3 all nve/spin lattice moving - -timestep 0.0001 - - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magnorm v_emag temp press etotal -thermo 10 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 100 dump_cobalt_hcp.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 1000 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6.59954 - ghost atom cutoff = 6.59954 - binsize = 3.29977, bins = 4 7 7 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair eam/alloy, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.814 | 7.814 | 7.815 Mbytes -Step Time v_magnorm v_emag Temp Press TotEng - 0 0 0.076558814 -5.1073764 100.00543 -552.75983 -2190.3478 - 10 0.001 0.074494512 -6.2728301 99.980769 -1570.0726 -2191.5261 - 20 0.002 0.072367013 -7.4259977 99.847801 -2531.5119 -2192.6655 - 30 0.003 0.070129365 -8.566306 99.586282 -3438.1309 -2193.7672 - 40 0.004 0.067761178 -9.6929189 99.171132 -4291.017 -2194.8323 - 50 0.005 0.065270916 -10.8048 98.575397 -5091.9111 -2195.8628 - 60 0.006 0.062690557 -11.900573 97.773618 -5843.4528 -2196.8612 - 70 0.007 0.060064592 -12.978381 96.745047 -6548.726 -2197.8306 - 80 0.008 0.05743694 -14.035923 95.476292 -7210.2954 -2198.773 - 90 0.009 0.054839883 -15.07074 93.963026 -7829.4252 -2199.689 - 100 0.01 0.052288504 -16.08066 92.210482 -8405.9983 -2200.5773 - 110 0.011 0.049782155 -17.064251 90.232741 -8939.3051 -2201.4357 - 120 0.012 0.047311759 -18.021135 88.051042 -9429.1353 -2202.2626 - 130 0.013 0.044869196 -18.952065 85.691573 -9876.5628 -2203.0575 - 140 0.014 0.042453961 -19.858739 83.18315 -10284.249 -2203.8215 - 150 0.015 0.040074171 -20.743348 80.555177 -10656.417 -2204.5569 - 160 0.016 0.037742459 -21.608 77.836156 -10998.818 -2205.2677 - 170 0.017 0.035470168 -22.454209 75.052994 -11318.525 -2205.9587 - 180 0.018 0.033263447 -23.282658 72.231211 -11623.118 -2206.6354 - 190 0.019 0.031122821 -24.093311 69.395936 -11919.248 -2207.3023 - 200 0.02 0.029045634 -24.88579 66.573223 -12211.306 -2207.9613 - 210 0.021 0.027029857 -25.659817 63.791041 -12500.812 -2208.6115 - 220 0.022 0.025077742 -26.415541 61.079413 -12787.018 -2209.2498 - 230 0.023 0.023198048 -27.153652 58.469604 -13068.277 -2209.8722 - 240 0.024 0.02140599 -27.875313 55.992687 -13343.621 -2210.4756 - 250 0.025 0.019720922 -28.581973 53.678031 -13613.86 -2211.0588 - 260 0.026 0.018162738 -29.275283 51.552191 -13882.15 -2211.6232 - 270 0.027 0.016748514 -29.956802 49.638467 -14153.137 -2212.1718 - 280 0.028 0.01549075 -30.628043 47.957071 -14432.246 -2212.7087 - 290 0.029 0.014397611 -31.290177 46.525552 -14724.005 -2213.2371 - 300 0.03 0.013474315 -31.943984 45.359085 -15031.315 -2213.759 - 310 0.031 0.012723957 -32.589853 44.47023 -15355.595 -2214.275 - 320 0.032 0.012146358 -33.227585 43.868153 -15696.845 -2214.7851 - 330 0.033 0.011734827 -33.856656 43.557623 -16054.887 -2215.289 - 340 0.034 0.011472508 -34.476313 43.538346 -16429.77 -2215.7871 - 350 0.035 0.011330772 -35.085716 43.805034 -16821.627 -2216.2802 - 360 0.036 0.011271169 -35.684147 44.348312 -17230.21 -2216.7687 - 370 0.037 0.01125027 -36.271215 45.156046 -17654.485 -2217.2524 - 380 0.038 0.011225354 -36.847053 46.214576 -18092.623 -2217.7301 - 390 0.039 0.011159026 -37.412284 47.509345 -18542.156 -2218.2003 - 400 0.04 0.011022073 -37.967916 49.024843 -19000.554 -2218.6614 - 410 0.041 0.01079477 -38.515123 50.744046 -19465.713 -2219.1128 - 420 0.042 0.010467095 -39.054921 52.647653 -19935.873 -2219.5544 - 430 0.043 0.010038219 -39.588034 54.713405 -20409.666 -2219.9869 - 440 0.044 0.0095155267 -40.114703 56.915658 -20885.556 -2220.4109 - 450 0.045 0.0089134996 -40.634722 59.225397 -21361.621 -2220.8268 - 460 0.046 0.0082528918 -41.147681 61.610799 -21835.762 -2221.2347 - 470 0.047 0.0075606723 -41.653088 64.038349 -22305.687 -2221.6343 - 480 0.048 0.0068707613 -42.150486 66.474377 -22768.948 -2222.0253 - 490 0.049 0.0062249854 -42.639704 68.886721 -23223.418 -2222.4076 - 500 0.05 0.0056723593 -43.120772 71.24617 -23667.077 -2222.7814 - 510 0.051 0.00526312 -43.59404 73.527392 -24098.459 -2223.147 - 520 0.052 0.0050342241 -44.059917 75.709206 -24516.163 -2223.5051 - 530 0.053 0.0049906301 -44.518898 77.774314 -24919.192 -2223.8564 - 540 0.054 0.0050976586 -44.971364 79.708763 -25306.611 -2224.2014 - 550 0.055 0.0052941974 -45.417577 81.501347 -25677.67 -2224.5405 - 560 0.056 0.0055157717 -45.857628 83.143173 -26031.673 -2224.8736 - 570 0.057 0.0057113414 -46.291426 84.627457 -26367.904 -2225.2003 - 580 0.058 0.0058493207 -46.718709 85.949497 -26685.6 -2225.52 - 590 0.059 0.0059162201 -47.139052 87.10679 -26984.124 -2225.8316 - 600 0.06 0.0059118584 -47.551892 88.099176 -27263.145 -2226.1347 - 610 0.061 0.005843747 -47.956571 88.928929 -27522.773 -2226.4287 - 620 0.062 0.0057222223 -48.352422 89.600763 -27763.549 -2226.7139 - 630 0.063 0.0055570967 -48.738876 90.12173 -27986.321 -2226.9905 - 640 0.064 0.0053558993 -49.115723 90.501081 -28192.238 -2227.2593 - 650 0.065 0.0051233209 -49.483122 90.750056 -28382.3 -2227.5205 - 660 0.066 0.0048614512 -49.841791 90.881635 -28557.623 -2227.7746 - 670 0.067 0.0045706003 -50.192974 90.910245 -28719.422 -2228.0219 - 680 0.068 0.0042506564 -50.538196 90.851397 -28868.809 -2228.2627 - 690 0.069 0.0039028575 -50.879364 90.721317 -29007.619 -2228.4973 - 700 0.07 0.0035319814 -51.218193 90.536521 -29137.623 -2228.7265 - 710 0.071 0.0031491486 -51.556251 90.313501 -29261.193 -2228.9511 - 720 0.072 0.0027758205 -51.894643 90.068503 -29380.924 -2229.1724 - 730 0.073 0.002449449 -52.233987 89.817462 -29499.606 -2229.3917 - 740 0.074 0.0022276613 -52.574465 89.57612 -29620.196 -2229.6103 - 750 0.075 0.0021767124 -52.915641 89.360246 -29744.882 -2229.829 - 760 0.076 0.0023310362 -53.256843 89.185838 -29875.573 -2230.0485 - 770 0.077 0.0026637349 -53.597197 89.069228 -30013.477 -2230.2685 - 780 0.078 0.0031129938 -53.93565 89.026943 -30158.812 -2230.4882 - 790 0.079 0.0036204667 -54.271339 89.075322 -30311.602 -2230.7066 - 800 0.08 0.0041448552 -54.603455 89.229912 -30471.244 -2230.9226 - 810 0.081 0.0046613106 -54.931421 89.504766 -30636.938 -2231.1352 - 820 0.082 0.0051580947 -55.255056 89.911726 -30808.087 -2231.3434 - 830 0.083 0.0056329652 -55.574491 90.459766 -30984.153 -2231.5469 - 840 0.084 0.0060893356 -55.890024 91.154456 -31164.372 -2231.7452 - 850 0.085 0.0065324419 -56.202052 91.997528 -31347.792 -2231.9379 - 860 0.086 0.0069661977 -56.511206 92.986622 -31533.977 -2232.1249 - 870 0.087 0.0073913051 -56.817814 94.115192 -31721.92 -2232.306 - 880 0.088 0.0078048547 -57.122061 95.372548 -31910.795 -2232.4809 - 890 0.089 0.008201165 -57.423984 96.744135 -32100.108 -2232.65 - 900 0.09 0.0085732702 -57.723377 98.212046 -32289.532 -2232.8136 - 910 0.091 0.0089144724 -58.019938 99.755667 -32479.154 -2232.9728 - 920 0.092 0.0092194916 -58.313266 101.35254 -32669.227 -2233.1285 - 930 0.093 0.0094849872 -58.602956 102.97932 -32860.091 -2233.2822 - 940 0.094 0.0097093572 -58.888668 104.61271 -33051.981 -2233.4348 - 950 0.095 0.0098920175 -59.169925 106.23045 -33244.279 -2233.5871 - 960 0.096 0.01003244 -59.44662 107.81212 -33436.562 -2233.7396 - 970 0.097 0.010129313 -59.718668 109.33976 -33627.714 -2233.8925 - 980 0.098 0.010180127 -59.986126 110.79823 -33816.218 -2234.0455 - 990 0.099 0.010181304 -60.24929 112.17528 -34000.522 -2234.1984 - 1000 0.1 0.01012881 -60.508632 113.46137 -34179.052 -2234.3508 -Loop time of 2.93788 on 4 procs for 1000 steps with 500 atoms - -Performance: 2.941 ns/day, 8.161 hours/ns, 340.381 timesteps/s -100.0% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.72349 | 0.73783 | 0.7554 | 1.3 | 25.11 -Neigh | 0.00353 | 0.0036981 | 0.0038559 | 0.2 | 0.13 -Comm | 0.12285 | 0.14476 | 0.16041 | 3.6 | 4.93 -Output | 0.0046515 | 0.0047909 | 0.0050418 | 0.2 | 0.16 -Modify | 2.0407 | 2.0439 | 2.0482 | 0.2 | 69.57 -Other | | 0.00288 | | | 0.10 - -Nlocal: 125 ave 136 max 119 min -Histogram: 1 1 1 0 0 0 0 0 0 1 -Nghost: 1324 ave 1331 max 1310 min -Histogram: 1 0 0 0 0 0 0 0 2 1 -Neighs: 6897.25 ave 7552 max 6604 min -Histogram: 2 1 0 0 0 0 0 0 0 1 -FullNghs: 13794.5 ave 15117 max 13164 min -Histogram: 2 0 1 0 0 0 0 0 0 1 - -Total # of neighbors = 55178 -Ave neighs/atom = 110.356 -Neighbor list builds = 7 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:02 diff --git a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_cut.g++.1 b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_cut.g++.1 similarity index 75% rename from examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_cut.g++.1 rename to examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_cut.g++.1 index c2af23d16773e899bf63ec83bfdd5a1cd8c47de6..db58eec01d1061cb904f6d0da4ed462f6fa6ec15 100644 --- a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_cut.g++.1 +++ b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_cut.g++.1 @@ -1,7 +1,11 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bcc iron in a 3d periodic box clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal atom_style spin @@ -19,7 +23,7 @@ Created orthogonal box = (0 0 0) to (34.398 34.398 34.398) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 3456 atoms - create_atoms CPU = 0.000741005 secs + create_atoms CPU = 0.00106382 secs # setting mass, mag. moments, and interactions for bcc iron @@ -88,23 +92,23 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 13.4 | 13.4 | 13.4 Mbytes Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng - 0 0 -1 0 0 1 1.0737264e-35 -768.37511 -15175.868 -15131.207 - 50 0.005 -1 -2.7722752e-10 -2.1828666e-10 1 6.8846921e-09 -768.35793 -15174.244 -15131.215 - 100 0.01 -1 -2.0983066e-09 -1.7330951e-09 1 1.0038885e-08 -768.30868 -15169.656 -15131.24 -Loop time of 7.86359 on 1 procs for 100 steps with 3456 atoms + 0 0 -1 0 0 1 1.0737264e-35 -384.18755 -15175.868 -15131.207 + 50 0.005 -1 -2.7725069e-10 -2.182903e-10 1 6.8851185e-09 -384.17896 -15174.244 -15131.207 + 100 0.01 -1 -2.0990209e-09 -1.7332235e-09 1 1.0040825e-08 -384.15433 -15169.655 -15131.207 +Loop time of 7.47017 on 1 procs for 100 steps with 3456 atoms -Performance: 0.110 ns/day, 218.433 hours/ns, 12.717 timesteps/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.116 ns/day, 207.505 hours/ns, 13.387 timesteps/s +99.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 | 3.6134 | 3.6134 | 3.6134 | 0.0 | 45.95 +Pair | 3.1998 | 3.1998 | 3.1998 | 0.0 | 42.83 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.014062 | 0.014062 | 0.014062 | 0.0 | 0.18 -Output | 0.006057 | 0.006057 | 0.006057 | 0.0 | 0.08 -Modify | 4.226 | 4.226 | 4.226 | 0.0 | 53.74 -Other | | 0.004064 | | | 0.05 +Comm | 0.015094 | 0.015094 | 0.015094 | 0.0 | 0.20 +Output | 0.006531 | 0.006531 | 0.006531 | 0.0 | 0.09 +Modify | 4.2443 | 4.2443 | 4.2443 | 0.0 | 56.82 +Other | | 0.004467 | | | 0.06 Nlocal: 3456 ave 3456 max 3456 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_cut.g++.4 b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_cut.g++.4 similarity index 75% rename from examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_cut.g++.4 rename to examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_cut.g++.4 index 1f8157bb29a9f32f791e77c02e53928626895db8..a014aae3cd3b1c84ec7e8a5cd3cfbbd1602fe525 100644 --- a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_cut.g++.4 +++ b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_cut.g++.4 @@ -1,7 +1,11 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bcc iron in a 3d periodic box clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal atom_style spin @@ -19,7 +23,7 @@ Created orthogonal box = (0 0 0) to (34.398 34.398 34.398) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 3456 atoms - create_atoms CPU = 0.00090003 secs + create_atoms CPU = 0.00132084 secs # setting mass, mag. moments, and interactions for bcc iron @@ -88,23 +92,23 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 9.217 | 9.217 | 9.217 Mbytes Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng - 0 0 -1 0 0 1 1.0737264e-35 -768.37511 -15560.055 -15515.394 - 50 0.005 -1 9.6204015e-11 -3.3767807e-10 1 6.6905249e-09 -768.35767 -15558.438 -15515.394 - 100 0.01 -1 7.8881609e-10 -2.7017321e-09 1 9.8111281e-09 -768.30769 -15553.868 -15515.394 -Loop time of 2.29116 on 4 procs for 100 steps with 3456 atoms + 0 0 -1 0 0 1 1.0737264e-35 -384.18755 -15175.868 -15131.207 + 50 0.005 -1 9.6205501e-11 -3.3769045e-10 1 6.6909444e-09 -384.17884 -15174.259 -15131.207 + 100 0.01 -1 7.8887025e-10 -2.7021386e-09 1 9.8130686e-09 -384.15383 -15169.712 -15131.207 +Loop time of 2.27865 on 4 procs for 100 steps with 3456 atoms -Performance: 0.377 ns/day, 63.643 hours/ns, 43.646 timesteps/s -99.9% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.379 ns/day, 63.296 hours/ns, 43.886 timesteps/s +99.5% 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.92259 | 0.92963 | 0.93393 | 0.4 | 40.57 +Pair | 0.80959 | 0.8184 | 0.82996 | 0.9 | 35.92 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.02284 | 0.027597 | 0.035185 | 2.8 | 1.20 -Output | 0.0018489 | 0.0018544 | 0.0018642 | 0.0 | 0.08 -Modify | 1.3296 | 1.3303 | 1.3308 | 0.0 | 58.06 -Other | | 0.001818 | | | 0.08 +Comm | 0.035061 | 0.046857 | 0.055443 | 3.9 | 2.06 +Output | 0.0018592 | 0.0018642 | 0.0018783 | 0.0 | 0.08 +Modify | 1.4085 | 1.4095 | 1.41 | 0.1 | 61.86 +Other | | 0.002023 | | | 0.09 Nlocal: 864 ave 864 max 864 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_ewald.g++.1 b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_ewald.g++.1 similarity index 72% rename from examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_ewald.g++.1 rename to examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_ewald.g++.1 index 9a38445af5c112676ec020710edf5516e1b82769..f6c015bb20defef8915767cfe263ab3ac0c12b06 100644 --- a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_ewald.g++.1 +++ b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_ewald.g++.1 @@ -1,7 +1,11 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bcc iron in a 3d periodic box clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal atom_style spin @@ -19,7 +23,7 @@ Created orthogonal box = (0 0 0) to (34.398 34.398 34.398) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 3456 atoms - create_atoms CPU = 0.00166988 secs + create_atoms CPU = 0.00187302 secs # setting mass, mag. moments, and interactions for bcc iron @@ -67,10 +71,10 @@ dump 1 all custom 100 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_o run 100 EwaldDipoleSpin initialization ... - using 12-bit tables for long-range coulomb (../kspace.cpp:323) + using 12-bit tables for long-range coulomb (../kspace.cpp:332) G vector (1/distance) = 0.324623 - estimated absolute RMS force accuracy = 9.55526e-84 - estimated relative force accuracy = 6.63576e-85 + estimated absolute RMS force accuracy = 1.69788e-59 + estimated relative force accuracy = 1.17911e-60 KSpace vectors: actual max1d max3d = 2084 10 4630 kxmax kymax kzmax = 10 10 10 Neighbor list info ... @@ -97,24 +101,24 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 30.07 | 30.07 | 30.07 Mbytes Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng - 0 0 -1 0 0 1 2.5872886e-37 -767.88567 -15175.39 -15130.729 - 50 0.005 -1 4.3660916e-09 -2.1918692e-09 1 5.3480999e-10 -767.86847 -15173.766 -15130.738 - 100 0.01 -1 9.9854966e-09 -4.2823677e-09 1 2.3267629e-09 -767.81917 -15169.178 -15130.762 -Loop time of 24.9345 on 1 procs for 100 steps with 3456 atoms + 0 0 -1 0 0 1 2.5872886e-37 -383.94283 -15175.635 -15130.974 + 50 0.005 -1 4.3660908e-09 -2.1918693e-09 1 5.3484784e-10 -383.93423 -15174.011 -15130.974 + 100 0.01 -1 9.9854743e-09 -4.282369e-09 1 2.3273467e-09 -383.90957 -15169.421 -15130.974 +Loop time of 24.8682 on 1 procs for 100 steps with 3456 atoms -Performance: 0.035 ns/day, 692.624 hours/ns, 4.011 timesteps/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.035 ns/day, 690.783 hours/ns, 4.021 timesteps/s +100.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 | 4.8022 | 4.8022 | 4.8022 | 0.0 | 19.26 -Kspace | 10.337 | 10.337 | 10.337 | 0.0 | 41.46 +Pair | 4.6097 | 4.6097 | 4.6097 | 0.0 | 18.54 +Kspace | 10.303 | 10.303 | 10.303 | 0.0 | 41.43 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.013856 | 0.013856 | 0.013856 | 0.0 | 0.06 -Output | 0.007138 | 0.007138 | 0.007138 | 0.0 | 0.03 -Modify | 9.7705 | 9.7705 | 9.7705 | 0.0 | 39.18 -Other | | 0.004077 | | | 0.02 +Comm | 0.015258 | 0.015258 | 0.015258 | 0.0 | 0.06 +Output | 0.006583 | 0.006583 | 0.006583 | 0.0 | 0.03 +Modify | 9.9285 | 9.9285 | 9.9285 | 0.0 | 39.92 +Other | | 0.004751 | | | 0.02 Nlocal: 3456 ave 3456 max 3456 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_ewald.g++.4 b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_ewald.g++.4 similarity index 72% rename from examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_ewald.g++.4 rename to examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_ewald.g++.4 index 306799f57651676e6de0729655d11ddc12a25b69..b70221f6031195133a27159fe75135a5f41ee716 100644 --- a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_ewald.g++.4 +++ b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_ewald.g++.4 @@ -1,7 +1,11 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bcc iron in a 3d periodic box clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal atom_style spin @@ -19,7 +23,7 @@ Created orthogonal box = (0 0 0) to (34.398 34.398 34.398) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 3456 atoms - create_atoms CPU = 0.00088191 secs + create_atoms CPU = 0.000773907 secs # setting mass, mag. moments, and interactions for bcc iron @@ -67,10 +71,10 @@ dump 1 all custom 100 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_o run 100 EwaldDipoleSpin initialization ... - using 12-bit tables for long-range coulomb (../kspace.cpp:323) + using 12-bit tables for long-range coulomb (../kspace.cpp:332) G vector (1/distance) = 0.324623 - estimated absolute RMS force accuracy = 9.29828e-84 - estimated relative force accuracy = 6.4573e-85 + estimated absolute RMS force accuracy = 2.94041e-64 + estimated relative force accuracy = 2.042e-65 KSpace vectors: actual max1d max3d = 2084 10 4630 kxmax kymax kzmax = 10 10 10 Neighbor list info ... @@ -97,24 +101,24 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 25.89 | 25.89 | 25.89 Mbytes Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng - 0 0 -1 0 0 1 3.5107565e-37 -767.88567 -15559.577 -15514.916 - 50 0.005 -1 4.3196063e-09 -2.1966927e-09 1 5.1719577e-10 -767.86822 -15557.96 -15514.916 - 100 0.01 -1 9.7636593e-09 -4.3236953e-09 1 2.2443181e-09 -767.81819 -15553.39 -15514.916 -Loop time of 6.80139 on 4 procs for 100 steps with 3456 atoms + 0 0 -1 0 0 1 3.5107565e-37 -383.94283 -15175.635 -15130.974 + 50 0.005 -1 4.3196054e-09 -2.1966927e-09 1 5.1723249e-10 -383.93411 -15174.026 -15130.974 + 100 0.01 -1 9.7636345e-09 -4.3236965e-09 1 2.2448849e-09 -383.90908 -15169.479 -15130.974 +Loop time of 7.03264 on 4 procs for 100 steps with 3456 atoms -Performance: 0.127 ns/day, 188.927 hours/ns, 14.703 timesteps/s -100.0% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.123 ns/day, 195.351 hours/ns, 14.219 timesteps/s +99.9% 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.248 | 1.2649 | 1.2816 | 1.1 | 18.60 -Kspace | 2.523 | 2.5743 | 2.6505 | 3.0 | 37.85 +Pair | 1.1743 | 1.207 | 1.2416 | 2.2 | 17.16 +Kspace | 2.6173 | 2.6542 | 2.7273 | 2.7 | 37.74 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.029461 | 0.087268 | 0.13754 | 13.0 | 1.28 -Output | 0.0018618 | 0.001869 | 0.0018811 | 0.0 | 0.03 -Modify | 2.8692 | 2.8709 | 2.8741 | 0.1 | 42.21 -Other | | 0.002119 | | | 0.03 +Comm | 0.042837 | 0.11362 | 0.1882 | 16.9 | 1.62 +Output | 0.0018778 | 0.0018882 | 0.0019088 | 0.0 | 0.03 +Modify | 3.0484 | 3.0535 | 3.0606 | 0.3 | 43.42 +Other | | 0.002387 | | | 0.03 Nlocal: 864 ave 864 max 864 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -132,4 +136,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:06 +Total wall time: 0:00:07 diff --git a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_pppm.g++.1 b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_pppm.g++.1 similarity index 77% rename from examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_pppm.g++.1 rename to examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_pppm.g++.1 index b0e87d786d70a634276f9b92d1b70f8eecfad26a..3b2c36b40cf9774fc813d4a7a18edd13bfff00f6 100644 --- a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_pppm.g++.1 +++ b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_pppm.g++.1 @@ -1,7 +1,11 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bcc iron in a 3d periodic box clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal atom_style spin @@ -19,7 +23,7 @@ Created orthogonal box = (0 0 0) to (34.398 34.398 34.398) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 3456 atoms - create_atoms CPU = 0.00166583 secs + create_atoms CPU = 0.00192595 secs # setting mass, mag. moments, and interactions for bcc iron @@ -99,24 +103,24 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 16.27 | 16.27 | 16.27 Mbytes Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng - 0 0 -1 0 0 1 3.7996771e-37 -767.89759 -15175.402 -15130.741 - 50 0.005 -1 3.6585337e-09 -1.9445403e-09 1 5.1405121e-10 -767.88039 -15173.779 -15130.75 - 100 0.01 -1 7.3585728e-09 -3.8640878e-09 1 2.0194927e-09 -767.83109 -15169.191 -15130.774 -Loop time of 15.3615 on 1 procs for 100 steps with 3456 atoms + 0 0 -1 0 0 1 3.7996771e-37 -383.94879 -15175.641 -15130.98 + 50 0.005 -1 3.6585337e-09 -1.9445403e-09 1 5.1408909e-10 -383.94019 -15174.017 -15130.98 + 100 0.01 -1 7.3585736e-09 -3.8640869e-09 1 2.0200831e-09 -383.91553 -15169.428 -15130.98 +Loop time of 15.1465 on 1 procs for 100 steps with 3456 atoms -Performance: 0.056 ns/day, 426.709 hours/ns, 6.510 timesteps/s -99.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.057 ns/day, 420.737 hours/ns, 6.602 timesteps/s +100.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 | 4.8418 | 4.8418 | 4.8418 | 0.0 | 31.52 -Kspace | 0.66626 | 0.66626 | 0.66626 | 0.0 | 4.34 +Pair | 4.6008 | 4.6008 | 4.6008 | 0.0 | 30.38 +Kspace | 0.65995 | 0.65995 | 0.65995 | 0.0 | 4.36 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.014248 | 0.014248 | 0.014248 | 0.0 | 0.09 -Output | 0.0064788 | 0.0064788 | 0.0064788 | 0.0 | 0.04 -Modify | 9.8279 | 9.8279 | 9.8279 | 0.0 | 63.98 -Other | | 0.00478 | | | 0.03 +Comm | 0.01495 | 0.01495 | 0.01495 | 0.0 | 0.10 +Output | 0.0065951 | 0.0065951 | 0.0065951 | 0.0 | 0.04 +Modify | 9.8589 | 9.8589 | 9.8589 | 0.0 | 65.09 +Other | | 0.005332 | | | 0.04 Nlocal: 3456 ave 3456 max 3456 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_pppm.g++.4 b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_pppm.g++.4 similarity index 76% rename from examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_pppm.g++.4 rename to examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_pppm.g++.4 index 4fbd0eb52b77b526dd571705cd2638775603f963..1c3394dfbf0c923899cc0d3ef618ceb9e5747878 100644 --- a/examples/SPIN/dipole_spin/log.19Nov19.spin.iron_dipole_pppm.g++.4 +++ b/examples/SPIN/dipole_spin/log.14Apr20.spin.iron_dipole_pppm.g++.4 @@ -1,7 +1,11 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bcc iron in a 3d periodic box clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal atom_style spin @@ -19,7 +23,7 @@ Created orthogonal box = (0 0 0) to (34.398 34.398 34.398) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 3456 atoms - create_atoms CPU = 0.00123286 secs + create_atoms CPU = 0.0007658 secs # setting mass, mag. moments, and interactions for bcc iron @@ -99,24 +103,24 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 10.42 | 10.42 | 10.42 Mbytes Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng - 0 0 -1 0 0 1 2.3173191e-37 -767.89759 -15559.59 -15514.929 - 50 0.005 -1 3.6593054e-09 -1.9379563e-09 1 4.9747018e-10 -767.88014 -15557.972 -15514.929 - 100 0.01 -1 7.3731919e-09 -3.8151563e-09 1 1.9544299e-09 -767.8301 -15553.402 -15514.929 -Loop time of 4.4084 on 4 procs for 100 steps with 3456 atoms + 0 0 -1 0 0 1 2.3173191e-37 -383.94879 -15175.641 -15130.98 + 50 0.005 -1 3.6593053e-09 -1.9379563e-09 1 4.9750695e-10 -383.94007 -15174.032 -15130.98 + 100 0.01 -1 7.3731899e-09 -3.8151552e-09 1 1.9550037e-09 -383.91504 -15169.485 -15130.98 +Loop time of 4.3717 on 4 procs for 100 steps with 3456 atoms -Performance: 0.196 ns/day, 122.455 hours/ns, 22.684 timesteps/s -100.0% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.198 ns/day, 121.436 hours/ns, 22.874 timesteps/s +100.0% 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.2326 | 1.2513 | 1.2693 | 1.3 | 28.38 -Kspace | 0.22823 | 0.24585 | 0.26385 | 2.8 | 5.58 +Pair | 1.1624 | 1.1869 | 1.2125 | 1.8 | 27.15 +Kspace | 0.24468 | 0.26758 | 0.29157 | 3.6 | 6.12 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.025352 | 0.028409 | 0.032299 | 1.6 | 0.64 -Output | 0.001868 | 0.0018761 | 0.0018861 | 0.0 | 0.04 -Modify | 2.8753 | 2.8788 | 2.8818 | 0.1 | 65.30 -Other | | 0.002175 | | | 0.05 +Comm | 0.027149 | 0.030758 | 0.033902 | 1.7 | 0.70 +Output | 0.0030079 | 0.0030248 | 0.0030622 | 0.0 | 0.07 +Modify | 2.8782 | 2.8806 | 2.8837 | 0.1 | 65.89 +Other | | 0.002793 | | | 0.06 Nlocal: 864 ave 864 max 864 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/iron/in.spin.iron b/examples/SPIN/iron/in.spin.iron index d60e6b86f5fb0626fcd5b473cc7ee435dc133548..58c0537af786a8004dc72258e62a50fcfefa24f0 100644 --- a/examples/SPIN/iron/in.spin.iron +++ b/examples/SPIN/iron/in.spin.iron @@ -31,6 +31,7 @@ neighbor 0.1 bin neigh_modify every 10 check yes delay 20 fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes fix 2 all langevin/spin 0.0 0.0 21 fix 3 all nve/spin lattice moving diff --git a/examples/SPIN/iron/log.14Apr20.spin.iron.g++.1 b/examples/SPIN/iron/log.14Apr20.spin.iron.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..0f3257bc0546a990ddd9d90821310ca2a9f1f388 --- /dev/null +++ b/examples/SPIN/iron/log.14Apr20.spin.iron.g++.1 @@ -0,0 +1,141 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# bcc iron in a 3d periodic box + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +Lattice spacing in x,y,z = 2.8665 2.8665 2.8665 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 250 atoms + create_atoms CPU = 0.00103498 secs + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 + +set group all spin/random 31 2.2 + 250 settings made for spin/random +# set group all spin 2.2 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 3.5 +pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe +pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice moving +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe press etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 100 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.77337 + ghost atom cutoff = 5.77337 + binsize = 2.88668, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.82 | 7.82 | 7.82 Mbytes +Step Time v_magnorm v_tmag Temp v_emag KinEng PotEng Press TotEng + 0 0 0.076456975 4554.5462 100.00358 -0.42895634 3.2186929 -1070.429 394.43342 -1067.2103 + 50 0.005 0.076456974 4671.3033 96.520068 -0.43128393 3.1065733 -1070.3169 707.2166 -1067.2103 + 100 0.01 0.076456983 4793.2674 86.525198 -0.43550567 2.7848806 -1069.9952 1456.8628 -1067.2103 + 150 0.015 0.076456973 4894.1924 71.664875 -0.44035101 2.3065896 -1069.5169 2510.4447 -1067.2103 + 200 0.02 0.076456944 4859.9379 54.610496 -0.44591875 1.7576812 -1068.968 3686.7124 -1067.2103 + 250 0.025 0.076456953 4636.3427 38.560198 -0.45258831 1.2410899 -1068.4514 4757.3215 -1067.2103 + 300 0.03 0.076457027 4333.5734 26.459387 -0.45961266 0.85161592 -1068.0619 5505.1963 -1067.2103 + 350 0.035 0.076457102 4124.1453 20.205123 -0.46569388 0.65031758 -1067.8606 5768.9329 -1067.2103 + 400 0.04 0.076457116 4064.6843 20.142986 -0.47038245 0.64831763 -1067.8586 5521.4162 -1067.2103 + 450 0.045 0.076457072 4076.2576 25.084719 -0.4741092 0.80737114 -1068.0176 4890.8714 -1067.2103 + 500 0.05 0.076457001 4105.5788 32.863873 -0.47765283 1.0577493 -1068.268 4093.2603 -1067.2103 + 550 0.055 0.076456962 4109.0613 41.126745 -0.48188168 1.3236962 -1068.534 3337.5111 -1067.2103 + 600 0.06 0.076456996 3993.3891 47.996188 -0.48790867 1.5447946 -1068.7551 2767.4353 -1067.2103 + 650 0.065 0.076457077 3776.2342 52.386407 -0.49621451 1.6860972 -1068.8964 2458.9058 -1067.2103 + 700 0.07 0.076457137 3586.7963 54.031337 -0.50582777 1.7390405 -1068.9493 2397.5333 -1067.2103 + 750 0.075 0.076457135 3535.1994 53.389736 -0.51542639 1.7183901 -1068.9287 2514.1889 -1067.2103 + 800 0.08 0.076457118 3585.6546 51.428399 -0.52423597 1.6552629 -1068.8655 2732.6669 -1067.2103 + 850 0.085 0.076457118 3634.4891 49.293001 -0.53165471 1.5865335 -1068.7968 2977.6259 -1067.2103 + 900 0.09 0.076457126 3660.3333 47.999274 -0.53780479 1.5448939 -1068.7552 3176.4112 -1067.2103 + 950 0.095 0.076457129 3671.3259 48.180409 -0.54376787 1.5507239 -1068.761 3283.2242 -1067.2103 + 1000 0.1 0.076457139 3628.6038 49.917341 -0.55029097 1.6066284 -1068.8169 3283.2361 -1067.2103 +Loop time of 1.66624 on 1 procs for 1000 steps with 250 atoms + +Performance: 5.185 ns/day, 4.628 hours/ns, 600.152 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.73884 | 0.73884 | 0.73884 | 0.0 | 44.34 +Neigh | 0.0045731 | 0.0045731 | 0.0045731 | 0.0 | 0.27 +Comm | 0.023681 | 0.023681 | 0.023681 | 0.0 | 1.42 +Output | 0.0042441 | 0.0042441 | 0.0042441 | 0.0 | 0.25 +Modify | 0.89131 | 0.89131 | 0.89131 | 0.0 | 53.49 +Other | | 0.003589 | | | 0.22 + +Nlocal: 250 ave 250 max 250 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1407 ave 1407 max 1407 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7868 ave 7868 max 7868 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 15736 ave 15736 max 15736 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 15736 +Ave neighs/atom = 62.944 +Neighbor list builds = 6 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:01 diff --git a/examples/SPIN/iron/log.14Apr20.spin.iron.g++.4 b/examples/SPIN/iron/log.14Apr20.spin.iron.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..1cfa74559ba6f15a3491bd9d8108108645ec42ad --- /dev/null +++ b/examples/SPIN/iron/log.14Apr20.spin.iron.g++.4 @@ -0,0 +1,141 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# bcc iron in a 3d periodic box + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +Lattice spacing in x,y,z = 2.8665 2.8665 2.8665 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 250 atoms + create_atoms CPU = 0.000688791 secs + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 + +set group all spin/random 31 2.2 + 250 settings made for spin/random +# set group all spin 2.2 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 3.5 +pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe +pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice moving +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe press etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 100 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.77337 + ghost atom cutoff = 5.77337 + binsize = 2.88668, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.766 | 7.766 | 7.766 Mbytes +Step Time v_magnorm v_tmag Temp v_emag KinEng PotEng Press TotEng + 0 0 0.076456975 4554.5462 100.00358 -0.42895634 3.2186929 -1070.429 394.43342 -1067.2103 + 50 0.005 0.076456995 4714.366 96.279315 -0.42705836 3.0988245 -1070.3091 714.16563 -1067.2103 + 100 0.01 0.076457028 4844.7708 86.007787 -0.43034795 2.7682274 -1069.9785 1479.8537 -1067.2103 + 150 0.015 0.076457073 4938.5943 70.888778 -0.43554708 2.2816103 -1069.4919 2538.6386 -1067.2103 + 200 0.02 0.076457107 4910.2627 53.612031 -0.44069391 1.7255448 -1068.9358 3702.0713 -1067.2103 + 250 0.025 0.07645713 4705.3075 37.374184 -0.44525189 1.2029171 -1068.4132 4749.8323 -1067.2103 + 300 0.03 0.076457162 4418.4389 25.117093 -0.44873668 0.80841314 -1068.0187 5473.2266 -1067.2103 + 350 0.035 0.07645722 4233.0963 18.792985 -0.45135838 0.60486682 -1067.8151 5710.4039 -1067.2103 + 400 0.04 0.07645726 4204.002 18.876267 -0.4546575 0.60754729 -1067.8178 5437.712 -1067.2103 + 450 0.045 0.076457242 4221.8277 24.290539 -0.45989731 0.78180986 -1067.9921 4788.1384 -1067.2103 + 500 0.05 0.076457208 4226.337 32.849365 -0.46668115 1.0572823 -1068.2676 3961.2587 -1067.2103 + 550 0.055 0.076457211 4195.1414 42.028524 -0.47379263 1.3527207 -1068.563 3159.4718 -1067.2103 + 600 0.06 0.076457222 4043.6401 49.722783 -0.48155951 1.6003664 -1068.8106 2554.4057 -1067.2103 + 650 0.065 0.07645721 3784.8692 54.624328 -0.49066003 1.7581264 -1068.9684 2266.0816 -1067.2103 + 700 0.07 0.076457187 3576.7472 56.274292 -0.49932577 1.8112318 -1069.0215 2298.3908 -1067.2103 + 750 0.075 0.07645717 3531.6724 55.083486 -0.50591093 1.7729047 -1068.9832 2557.6667 -1067.2103 + 800 0.08 0.076457176 3593.0894 52.172747 -0.51103604 1.6792204 -1068.8895 2933.0411 -1067.2103 + 850 0.085 0.076457206 3688.4988 48.957423 -0.51573858 1.5757327 -1068.786 3313.8291 -1067.2103 + 900 0.09 0.076457231 3788.943 46.719714 -0.52043742 1.5037103 -1068.714 3600.8734 -1067.2103 + 950 0.095 0.076457251 3854.0552 46.272425 -0.52460019 1.4893139 -1068.6996 3718.2987 -1067.2103 + 1000 0.1 0.076457302 3859.0984 47.806309 -0.52719778 1.5386831 -1068.749 3641.2287 -1067.2103 +Loop time of 1.55258 on 4 procs for 1000 steps with 250 atoms + +Performance: 5.565 ns/day, 4.313 hours/ns, 644.089 timesteps/s +99.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.2109 | 0.21798 | 0.22568 | 1.1 | 14.04 +Neigh | 0.0011308 | 0.0011812 | 0.0012279 | 0.1 | 0.08 +Comm | 0.074407 | 0.082247 | 0.090297 | 2.0 | 5.30 +Output | 0.0019011 | 0.0019355 | 0.0020187 | 0.1 | 0.12 +Modify | 1.2468 | 1.2477 | 1.249 | 0.1 | 80.36 +Other | | 0.001532 | | | 0.10 + +Nlocal: 62.5 ave 66 max 60 min +Histogram: 1 1 0 0 0 1 0 0 0 1 +Nghost: 846.25 ave 861 max 831 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 1962.25 ave 2091 max 1866 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +FullNghs: 3924.5 ave 4138 max 3771 min +Histogram: 1 1 0 0 0 1 0 0 0 1 + +Total # of neighbors = 15698 +Ave neighs/atom = 62.792 +Neighbor list builds = 6 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:01 diff --git a/examples/SPIN/iron/log.19Nov19.spin.iron_cubic.g++.1 b/examples/SPIN/iron/log.14Apr20.spin.iron_cubic.g++.1 similarity index 65% rename from examples/SPIN/iron/log.19Nov19.spin.iron_cubic.g++.1 rename to examples/SPIN/iron/log.14Apr20.spin.iron_cubic.g++.1 index 22957c84984cf14d31cff1626ee7a5bca9eca688..5d07f1b71a5dbeebadd3433a3cd0f78d6c7d7a46 100644 --- a/examples/SPIN/iron/log.19Nov19.spin.iron_cubic.g++.1 +++ b/examples/SPIN/iron/log.14Apr20.spin.iron_cubic.g++.1 @@ -1,7 +1,11 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bcc iron in a 3d periodic box clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal atom_style spin @@ -19,7 +23,7 @@ Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 250 atoms - create_atoms CPU = 0.00101709 secs + create_atoms CPU = 0.000530005 secs # setting mass, mag. moments, and interactions for bcc iron @@ -81,53 +85,53 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 7.82 | 7.82 | 7.82 Mbytes Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng - 0 0 -1 0 0 1 0 -55.58269 -1097.7914 -1094.5727 - 50 0.005 -1 0 0 1 0 -55.581417 -1097.6764 -1094.5733 - 100 0.01 -1 0 0 1 0 -55.577759 -1097.35 -1094.5751 - 150 0.015 -1 0 0 1 0 -55.57219 -1096.8677 -1094.5779 - 200 0.02 -1 0 0 1 0 -55.565438 -1096.3163 -1094.5813 - 250 0.025 -1 0 0 1 0 -55.558379 -1095.7987 -1094.5848 - 300 0.03 -1 0 0 1 0 -55.551886 -1095.4103 -1094.5881 - 350 0.035 -1 0 0 1 0 -55.546675 -1095.2124 -1094.5907 - 400 0.04 -1 0 0 1 0 -55.543187 -1095.2153 -1094.5924 - 450 0.045 -1 0 0 1 0 -55.54154 -1095.379 -1094.5932 - 500 0.05 -1 0 0 1 0 -55.541574 -1095.633 -1094.5932 - 550 0.055 -1 0 0 1 0 -55.542941 -1095.9006 -1094.5925 - 600 0.06 -1 0 0 1 0 -55.545209 -1096.1205 -1094.5914 - 650 0.065 -1 0 0 1 0 -55.547951 -1096.2575 -1094.59 - 700 0.07 -1 0 0 1 0 -55.550801 -1096.3044 -1094.5886 - 750 0.075 -1 0 0 1 0 -55.553483 -1096.2778 -1094.5873 - 800 0.08 -1 0 0 1 0 -55.555816 -1096.2098 -1094.5861 - 850 0.085 -1 0 0 1 0 -55.557706 -1096.1372 -1094.5852 - 900 0.09 -1 0 0 1 0 -55.55913 -1096.0919 -1094.5844 - 950 0.095 -1 0 0 1 0 -55.560111 -1096.0925 -1094.584 - 1000 0.1 -1 0 0 1 0 -55.560705 -1096.1411 -1094.5837 -Loop time of 1.74825 on 1 procs for 1000 steps with 250 atoms - -Performance: 4.942 ns/day, 4.856 hours/ns, 571.999 timesteps/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads + 0 0 -1 0 0 1 0 -27.791345 -1097.7914 -1094.5727 + 50 0.005 -1 0 0 1 0 -27.790708 -1097.6764 -1094.5727 + 100 0.01 -1 0 0 1 0 -27.788879 -1097.3499 -1094.5727 + 150 0.015 -1 0 0 1 0 -27.78609 -1096.8672 -1094.5727 + 200 0.02 -1 0 0 1 0 -27.782705 -1096.3147 -1094.5727 + 250 0.025 -1 0 0 1 0 -27.779157 -1095.7952 -1094.5727 + 300 0.03 -1 0 0 1 0 -27.775883 -1095.4038 -1094.5727 + 350 0.035 -1 0 0 1 0 -27.773241 -1095.2023 -1094.5727 + 400 0.04 -1 0 0 1 0 -27.771451 -1095.201 -1094.5727 + 450 0.045 -1 0 0 1 0 -27.770578 -1095.3608 -1094.5727 + 500 0.05 -1 0 0 1 0 -27.770546 -1095.6113 -1094.5727 + 550 0.055 -1 0 0 1 0 -27.771185 -1095.8764 -1094.5727 + 600 0.06 -1 0 0 1 0 -27.772282 -1096.0948 -1094.5727 + 650 0.065 -1 0 0 1 0 -27.773629 -1096.2313 -1094.5727 + 700 0.07 -1 0 0 1 0 -27.775042 -1096.2787 -1094.5727 + 750 0.075 -1 0 0 1 0 -27.776384 -1096.2534 -1094.5727 + 800 0.08 -1 0 0 1 0 -27.777564 -1096.1872 -1094.5727 + 850 0.085 -1 0 0 1 0 -27.778533 -1096.117 -1094.5727 + 900 0.09 -1 0 0 1 0 -27.779276 -1096.0741 -1094.5727 + 950 0.095 -1 0 0 1 0 -27.779802 -1096.0771 -1094.5727 + 1000 0.1 -1 0 0 1 0 -27.780134 -1096.1278 -1094.5727 +Loop time of 1.70062 on 1 procs for 1000 steps with 250 atoms + +Performance: 5.080 ns/day, 4.724 hours/ns, 588.019 timesteps/s +100.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.80384 | 0.80384 | 0.80384 | 0.0 | 45.98 -Neigh | 0.004528 | 0.004528 | 0.004528 | 0.0 | 0.26 -Comm | 0.022954 | 0.022954 | 0.022954 | 0.0 | 1.31 -Output | 0.0034568 | 0.0034568 | 0.0034568 | 0.0 | 0.20 -Modify | 0.91007 | 0.91007 | 0.91007 | 0.0 | 52.06 -Other | | 0.003404 | | | 0.19 +Pair | 0.72617 | 0.72617 | 0.72617 | 0.0 | 42.70 +Neigh | 0.0045958 | 0.0045958 | 0.0045958 | 0.0 | 0.27 +Comm | 0.023132 | 0.023132 | 0.023132 | 0.0 | 1.36 +Output | 0.0035856 | 0.0035856 | 0.0035856 | 0.0 | 0.21 +Modify | 0.93966 | 0.93966 | 0.93966 | 0.0 | 55.25 +Other | | 0.003483 | | | 0.20 Nlocal: 250 ave 250 max 250 min Histogram: 1 0 0 0 0 0 0 0 0 0 Nghost: 1415 ave 1415 max 1415 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 7873 ave 7873 max 7873 min +Neighs: 7872 ave 7872 max 7872 min Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 15746 ave 15746 max 15746 min +FullNghs: 15744 ave 15744 max 15744 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 15746 -Ave neighs/atom = 62.984 +Total # of neighbors = 15744 +Ave neighs/atom = 62.976 Neighbor list builds = 6 Dangerous builds = 0 # min_style spin diff --git a/examples/SPIN/iron/log.19Nov19.spin.iron_cubic.g++.4 b/examples/SPIN/iron/log.14Apr20.spin.iron_cubic.g++.4 similarity index 65% rename from examples/SPIN/iron/log.19Nov19.spin.iron_cubic.g++.4 rename to examples/SPIN/iron/log.14Apr20.spin.iron_cubic.g++.4 index 60db1064e0d41d7975c4ddcd370f5402291d3185..d1d0868e2fc8522ecd8890169d6e9c61d755f823 100644 --- a/examples/SPIN/iron/log.19Nov19.spin.iron_cubic.g++.4 +++ b/examples/SPIN/iron/log.14Apr20.spin.iron_cubic.g++.4 @@ -1,7 +1,11 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bcc iron in a 3d periodic box clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal atom_style spin @@ -19,7 +23,7 @@ Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 250 atoms - create_atoms CPU = 0.000651121 secs + create_atoms CPU = 0.00071311 secs # setting mass, mag. moments, and interactions for bcc iron @@ -81,53 +85,53 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 7.766 | 7.766 | 7.766 Mbytes Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng - 0 0 -1 0 0 1 0 -55.58269 -1125.5827 -1122.364 - 50 0.005 -1 0 0 1 0 -55.581457 -1125.4635 -1122.364 - 100 0.01 -1 0 0 1 0 -55.577922 -1125.1262 -1122.364 - 150 0.015 -1 0 0 1 0 -55.572562 -1124.6305 -1122.364 - 200 0.02 -1 0 0 1 0 -55.566098 -1124.067 -1122.364 - 250 0.025 -1 0 0 1 0 -55.559384 -1123.5412 -1122.364 - 300 0.03 -1 0 0 1 0 -55.553261 -1123.1491 -1122.364 - 350 0.035 -1 0 0 1 0 -55.548413 -1122.9526 -1122.364 - 400 0.04 -1 0 0 1 0 -55.545248 -1122.9623 -1122.364 - 450 0.045 -1 0 0 1 0 -55.54387 -1123.1395 -1122.364 - 500 0.05 -1 0 0 1 0 -55.544101 -1123.4126 -1122.364 - 550 0.055 -1 0 0 1 0 -55.54558 -1123.7021 -1122.364 - 600 0.06 -1 0 0 1 0 -55.547857 -1123.9414 -1122.364 - 650 0.065 -1 0 0 1 0 -55.550495 -1124.0897 -1122.364 - 700 0.07 -1 0 0 1 0 -55.553127 -1124.136 -1122.364 - 750 0.075 -1 0 0 1 0 -55.555497 -1124.0961 -1122.364 - 800 0.08 -1 0 0 1 0 -55.557466 -1124.0053 -1122.364 - 850 0.085 -1 0 0 1 0 -55.559001 -1123.9069 -1122.364 - 900 0.09 -1 0 0 1 0 -55.560147 -1123.8404 -1122.364 - 950 0.095 -1 0 0 1 0 -55.560992 -1123.8312 -1122.364 - 1000 0.1 -1 0 0 1 0 -55.561635 -1123.8853 -1122.364 -Loop time of 1.5074 on 4 procs for 1000 steps with 250 atoms - -Performance: 5.732 ns/day, 4.187 hours/ns, 663.393 timesteps/s -99.9% CPU use with 4 MPI tasks x no OpenMP threads + 0 0 -1 0 0 1 0 -27.791345 -1097.7914 -1094.5727 + 50 0.005 -1 0 0 1 0 -27.790728 -1097.6727 -1094.5727 + 100 0.01 -1 0 0 1 0 -27.78896 -1097.3371 -1094.5727 + 150 0.015 -1 0 0 1 0 -27.786276 -1096.8437 -1094.5727 + 200 0.02 -1 0 0 1 0 -27.783035 -1096.2824 -1094.5727 + 250 0.025 -1 0 0 1 0 -27.779661 -1095.758 -1094.5727 + 300 0.03 -1 0 0 1 0 -27.776574 -1095.3661 -1094.5727 + 350 0.035 -1 0 0 1 0 -27.774114 -1095.1684 -1094.5727 + 400 0.04 -1 0 0 1 0 -27.772489 -1095.1758 -1094.5727 + 450 0.045 -1 0 0 1 0 -27.771753 -1095.3498 -1094.5727 + 500 0.05 -1 0 0 1 0 -27.771823 -1095.6196 -1094.5727 + 550 0.055 -1 0 0 1 0 -27.772521 -1095.9061 -1094.5727 + 600 0.06 -1 0 0 1 0 -27.773627 -1096.1431 -1094.5727 + 650 0.065 -1 0 0 1 0 -27.774925 -1096.2899 -1094.5727 + 700 0.07 -1 0 0 1 0 -27.776234 -1096.3356 -1094.5727 + 750 0.075 -1 0 0 1 0 -27.777423 -1096.2961 -1094.5727 + 800 0.08 -1 0 0 1 0 -27.778424 -1096.2063 -1094.5727 + 850 0.085 -1 0 0 1 0 -27.779215 -1096.1093 -1094.5727 + 900 0.09 -1 0 0 1 0 -27.779817 -1096.0443 -1094.5727 + 950 0.095 -1 0 0 1 0 -27.780271 -1096.0363 -1094.5727 + 1000 0.1 -1 0 0 1 0 -27.780622 -1096.0914 -1094.5727 +Loop time of 1.54663 on 4 procs for 1000 steps with 250 atoms + +Performance: 5.586 ns/day, 4.296 hours/ns, 646.566 timesteps/s +99.9% 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.22156 | 0.23223 | 0.24219 | 1.5 | 15.41 -Neigh | 0.0011292 | 0.0011852 | 0.0012362 | 0.1 | 0.08 -Comm | 0.067507 | 0.076341 | 0.087237 | 2.6 | 5.06 -Output | 0.0015073 | 0.0015442 | 0.0015914 | 0.1 | 0.10 -Modify | 1.1934 | 1.1947 | 1.1955 | 0.1 | 79.25 -Other | | 0.001434 | | | 0.10 +Pair | 0.2086 | 0.21716 | 0.22473 | 1.2 | 14.04 +Neigh | 0.0011575 | 0.0011975 | 0.001235 | 0.1 | 0.08 +Comm | 0.070766 | 0.080324 | 0.088558 | 2.3 | 5.19 +Output | 0.0016837 | 0.0017157 | 0.0017838 | 0.1 | 0.11 +Modify | 1.2424 | 1.2446 | 1.2467 | 0.1 | 80.47 +Other | | 0.001639 | | | 0.11 Nlocal: 62.5 ave 66 max 60 min Histogram: 1 1 0 0 0 1 0 0 0 1 Nghost: 848.25 ave 861 max 834 min Histogram: 1 0 0 0 1 0 1 0 0 1 -Neighs: 1962.75 ave 2087 max 1870 min +Neighs: 1962.25 ave 2085 max 1870 min Histogram: 1 1 0 0 0 0 1 0 0 1 -FullNghs: 3925.5 ave 4138 max 3776 min +FullNghs: 3924.5 ave 4136 max 3776 min Histogram: 1 1 0 0 0 1 0 0 0 1 -Total # of neighbors = 15702 -Ave neighs/atom = 62.808 +Total # of neighbors = 15698 +Ave neighs/atom = 62.792 Neighbor list builds = 6 Dangerous builds = 0 # min_style spin diff --git a/examples/SPIN/iron/log.19Nov19.spin.iron.g++.1 b/examples/SPIN/iron/log.19Nov19.spin.iron.g++.1 deleted file mode 100644 index cbc749a1f7b61a36cd96cd6862baf5ce45222b9e..0000000000000000000000000000000000000000 --- a/examples/SPIN/iron/log.19Nov19.spin.iron.g++.1 +++ /dev/null @@ -1,136 +0,0 @@ -LAMMPS (30 Oct 2019) -# bcc iron in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice bcc 2.8665 -Lattice spacing in x,y,z = 2.8665 2.8665 2.8665 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 250 atoms - create_atoms CPU = 0.000422955 secs - -# setting mass, mag. moments, and interactions for bcc iron - -mass 1 55.845 - -set group all spin/random 31 2.2 - 250 settings made for spin/random -# set group all spin 2.2 0.0 0.0 1.0 -velocity all create 100 4928459 rot yes dist gaussian - -pair_style hybrid/overlay eam/alloy spin/exchange 3.5 -pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe -pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all nve/spin lattice moving -timestep 0.0001 - -# compute and output options - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe press etotal -thermo 50 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 100 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 1000 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.77337 - ghost atom cutoff = 5.77337 - binsize = 2.88668, bins = 5 5 5 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair eam/alloy, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.82 | 7.82 | 7.82 Mbytes -Step Time v_magnorm v_tmag Temp v_emag KinEng PotEng Press TotEng - 0 0 0.076456975 4554.5462 100.00358 -0.85791269 3.2186929 -1070.429 394.43342 -1067.2103 - 50 0.005 0.076456974 4658.383 96.663685 -0.86504718 3.1111957 -1070.3179 709.50826 -1067.2067 - 100 0.01 0.076456983 4744.1872 86.965803 -0.88035771 2.7990619 -1069.9981 1466.6938 -1067.1991 - 150 0.015 0.076456973 4794.5283 72.421197 -0.8996913 2.3309324 -1069.5203 2534.3867 -1067.1894 - 200 0.02 0.076456944 4707.6548 55.633188 -0.921682 1.7905973 -1068.969 3732.183 -1067.1784 - 250 0.025 0.076456953 4439.4697 39.802206 -0.94649004 1.2810649 -1068.447 4831.5559 -1067.166 - 300 0.03 0.076457027 4101.6694 27.882295 -0.97253854 0.8974133 -1068.0504 5612.0928 -1067.153 - 350 0.035 0.076457103 3860.1545 21.776538 -0.99708692 0.70089477 -1067.8416 5906.3057 -1067.1407 - 400 0.04 0.076457117 3765.5341 21.857102 -1.0190244 0.70348778 -1067.8332 5682.0053 -1067.1297 - 450 0.045 0.076457072 3739.9037 26.959407 -1.0389343 0.86770942 -1067.9875 5066.5077 -1067.1198 - 500 0.05 0.076457001 3730.8342 34.92521 -1.0582008 1.124095 -1068.2342 4279.2424 -1067.1101 - 550 0.055 0.076456962 3698.0556 43.405912 -1.0785156 1.397053 -1068.497 3533.4153 -1067.1 - 600 0.06 0.076456997 3560.947 50.544844 -1.102048 1.626825 -1068.715 2975.8479 -1067.0882 - 650 0.065 0.076457079 3341.7402 55.261218 -1.1296588 1.7786252 -1068.853 2683.3023 -1067.0744 - 700 0.07 0.076457136 3156.8448 57.25083 -1.1595102 1.8426624 -1068.9021 2640.5967 -1067.0595 - 750 0.075 0.076457132 3099.5181 56.934336 -1.1893875 1.8324758 -1068.877 2778.3261 -1067.0445 - 800 0.08 0.076457116 3132.9985 55.266343 -1.2181223 1.7787901 -1068.809 3020.1175 -1067.0302 - 850 0.085 0.076457116 3163.2943 53.376453 -1.2443326 1.7179626 -1068.735 3287.9042 -1067.0171 - 900 0.09 0.076457121 3168.063 52.279557 -1.2676425 1.6826581 -1068.6881 3504.7334 -1067.0054 - 950 0.095 0.076457122 3144.2102 52.667743 -1.2902335 1.6951522 -1068.6893 3622.1382 -1066.9941 - 1000 0.1 0.076457135 3061.0811 54.684094 -1.314147 1.76005 -1068.7422 3625.2935 -1066.9822 -Loop time of 1.6779 on 1 procs for 1000 steps with 250 atoms - -Performance: 5.149 ns/day, 4.661 hours/ns, 595.982 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 | 0.78285 | 0.78285 | 0.78285 | 0.0 | 46.66 -Neigh | 0.004487 | 0.004487 | 0.004487 | 0.0 | 0.27 -Comm | 0.022926 | 0.022926 | 0.022926 | 0.0 | 1.37 -Output | 0.003927 | 0.003927 | 0.003927 | 0.0 | 0.23 -Modify | 0.86033 | 0.86033 | 0.86033 | 0.0 | 51.27 -Other | | 0.003381 | | | 0.20 - -Nlocal: 250 ave 250 max 250 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1399 ave 1399 max 1399 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 7855 ave 7855 max 7855 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 15710 ave 15710 max 15710 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 15710 -Ave neighs/atom = 62.84 -Neighbor list builds = 6 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:01 diff --git a/examples/SPIN/iron/log.19Nov19.spin.iron.g++.4 b/examples/SPIN/iron/log.19Nov19.spin.iron.g++.4 deleted file mode 100644 index a5cc9d7f0b2cde1e6a59bbc277f7fff63af451aa..0000000000000000000000000000000000000000 --- a/examples/SPIN/iron/log.19Nov19.spin.iron.g++.4 +++ /dev/null @@ -1,136 +0,0 @@ -LAMMPS (30 Oct 2019) -# bcc iron in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice bcc 2.8665 -Lattice spacing in x,y,z = 2.8665 2.8665 2.8665 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325) - 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 250 atoms - create_atoms CPU = 0.000705957 secs - -# setting mass, mag. moments, and interactions for bcc iron - -mass 1 55.845 - -set group all spin/random 31 2.2 - 250 settings made for spin/random -# set group all spin 2.2 0.0 0.0 1.0 -velocity all create 100 4928459 rot yes dist gaussian - -pair_style hybrid/overlay eam/alloy spin/exchange 3.5 -pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe -pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all nve/spin lattice moving -timestep 0.0001 - -# compute and output options - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magnorm v_tmag temp v_emag ke pe press etotal -thermo 50 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 100 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] - -run 1000 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.77337 - ghost atom cutoff = 5.77337 - binsize = 2.88668, bins = 5 5 5 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair eam/alloy, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.766 | 7.766 | 7.766 Mbytes -Step Time v_magnorm v_tmag Temp v_emag KinEng PotEng Press TotEng - 0 0 0.076456975 4554.5462 100.00358 -0.85791269 3.2186929 -1070.8579 394.43342 -1067.6392 - 50 0.005 0.076456995 4701.2004 96.298333 -0.85659448 3.0994366 -1070.7387 714.37866 -1067.6392 - 100 0.01 0.076457028 4794.5923 86.330828 -0.87003341 2.7786247 -1070.4179 1484.2951 -1067.6392 - 150 0.015 0.076457074 4836.9634 71.603402 -0.89006992 2.3046111 -1069.9438 2551.9258 -1067.6392 - 200 0.02 0.076457106 4754.5574 54.648817 -0.91124541 1.7589146 -1069.3981 3731.1494 -1067.6392 - 250 0.025 0.076457128 4502.135 38.599515 -0.93187522 1.2423553 -1068.8816 4804.619 -1067.6392 - 300 0.03 0.076457157 4176.7186 26.383018 -0.95082226 0.8491579 -1068.4884 5563.3287 -1067.6392 - 350 0.035 0.076457207 3955.5658 20.01039 -0.96826468 0.64404992 -1068.2833 5839.6479 -1067.6392 - 400 0.04 0.076457243 3887.9746 20.097682 -0.98706373 0.64685949 -1068.2861 5601.1255 -1067.6392 - 450 0.045 0.076457231 3868.5613 25.687511 -1.0095684 0.82677249 -1068.466 4974.0031 -1067.6392 - 500 0.05 0.076457204 3838.4905 34.604697 -1.0349855 1.113779 -1068.753 4157.1837 -1067.6392 - 550 0.055 0.076457196 3775.1404 44.251809 -1.0609123 1.4242788 -1069.0635 3357.1 -1067.6392 - 600 0.06 0.076457188 3604.8828 52.475202 -1.0880854 1.6889551 -1069.3282 2752.0424 -1067.6392 - 650 0.065 0.07645718 3345.5894 57.926479 -1.1179657 1.8644087 -1069.5036 2467.7403 -1067.6392 - 700 0.07 0.076457185 3138.2001 60.030548 -1.1469999 1.9321298 -1069.5714 2510.1752 -1067.6392 - 750 0.075 0.07645719 3074.9626 59.122504 -1.1721939 1.9029037 -1069.5421 2788.7489 -1067.6392 - 800 0.08 0.076457195 3103.5294 56.349146 -1.1949365 1.813641 -1069.4529 3192.5158 -1067.6392 - 850 0.085 0.076457199 3164.2317 53.154464 -1.2164642 1.7108177 -1069.35 3602.931 -1067.6392 - 900 0.09 0.076457199 3228.1358 50.837416 -1.2366018 1.6362417 -1069.2755 3917.0758 -1067.6392 - 950 0.095 0.076457222 3247.5532 50.234549 -1.2539657 1.6168379 -1069.2561 4059.9275 -1067.6392 - 1000 0.1 0.076457266 3208.3875 51.592727 -1.2671834 1.6605519 -1069.2998 4001.4995 -1067.6392 -Loop time of 1.47769 on 4 procs for 1000 steps with 250 atoms - -Performance: 5.847 ns/day, 4.105 hours/ns, 676.731 timesteps/s -100.0% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.21791 | 0.22724 | 0.23568 | 1.4 | 15.38 -Neigh | 0.001137 | 0.0011771 | 0.0012221 | 0.1 | 0.08 -Comm | 0.066727 | 0.074288 | 0.083826 | 2.3 | 5.03 -Output | 0.0017431 | 0.0017657 | 0.0018256 | 0.1 | 0.12 -Modify | 1.1707 | 1.1718 | 1.1725 | 0.1 | 79.30 -Other | | 0.001427 | | | 0.10 - -Nlocal: 62.5 ave 66 max 60 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Nghost: 844 ave 857 max 829 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Neighs: 1962.5 ave 2096 max 1855 min -Histogram: 1 0 1 0 0 1 0 0 0 1 -FullNghs: 3925 ave 4139 max 3766 min -Histogram: 1 0 0 2 0 0 0 0 0 1 - -Total # of neighbors = 15700 -Ave neighs/atom = 62.8 -Neighbor list builds = 6 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:01 diff --git a/examples/SPIN/nickel/in.spin.nickel b/examples/SPIN/nickel/in.spin.nickel index 1d62188d8f8496f4b75ad8df7e68516e1b20de99..0fd2e5f345d32210b96cc1400476cd1765b8b013 100644 --- a/examples/SPIN/nickel/in.spin.nickel +++ b/examples/SPIN/nickel/in.spin.nickel @@ -31,6 +31,7 @@ neighbor 0.1 bin neigh_modify every 10 check yes delay 20 fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes fix 2 all langevin/spin 0.0 0.0 21 fix 3 all nve/spin lattice moving @@ -48,7 +49,7 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo_style custom step time v_magnorm v_emag temp v_tmag etotal +thermo_style custom step time v_magnorm pe v_emag temp v_tmag etotal thermo 50 compute outsp all property/atom spx spy spz sp fmx fmy fmz diff --git a/examples/SPIN/nickel/in.spin.nickel_cubic b/examples/SPIN/nickel/in.spin.nickel_cubic index 1ae069a64f26b429fb136eff0d734dc66b7c1c7c..88c477132ea8c930b272da8cf7a67a43429e8e01 100644 --- a/examples/SPIN/nickel/in.spin.nickel_cubic +++ b/examples/SPIN/nickel/in.spin.nickel_cubic @@ -50,7 +50,7 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo_style custom step time v_magnorm v_emag temp v_tmag etotal +thermo_style custom step time v_magnorm pe v_emag temp v_tmag etotal thermo 50 compute outsp all property/atom spx spy spz sp fmx fmy fmz diff --git a/examples/SPIN/nickel/log.14Apr20.spin.nickel.g++.1 b/examples/SPIN/nickel/log.14Apr20.spin.nickel.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..e4bcd538c8e8ab5449f025f5285a4c18f464f22c --- /dev/null +++ b/examples/SPIN/nickel/log.14Apr20.spin.nickel.g++.1 @@ -0,0 +1,141 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# fcc nickel in a 3d periodic box + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.524 +Lattice spacing in x,y,z = 3.524 3.524 3.524 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (17.62 17.62 17.62) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + create_atoms CPU = 0.00111699 secs + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.69 + +set group all spin/random 31 0.63 + 500 settings made for spin/random +#set group all spin 0.63 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Ni99.eam.alloy Ni +pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice moving +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm pe v_emag temp v_tmag etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.90375 + ghost atom cutoff = 5.90375 + binsize = 2.95187, bins = 6 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.885 | 7.885 | 7.885 Mbytes +Step Time v_magnorm PotEng v_emag Temp v_tmag TotEng + 0 0 0.028733803 -2224.7591 0.20498788 100.03408 -4775.0671 -2218.3068 + 50 0.005 0.028733807 -2224.6271 0.093798492 97.987469 -10540.61 -2218.3068 + 100 0.01 0.028733815 -2224.1217 -0.12620081 90.153107 8107.9288 -2218.3068 + 150 0.015 0.028733823 -2223.2984 -0.433762 77.388213 2482.6323 -2218.3068 + 200 0.02 0.028733827 -2222.3037 -0.80329408 61.9663 1426.722 -2218.3068 + 250 0.025 0.028733825 -2221.3495 -1.21118 47.173828 1010.1027 -2218.3068 + 300 0.03 0.028733813 -2220.6532 -1.6389575 36.378126 789.93596 -2218.3068 + 350 0.035 0.028733795 -2220.3656 -2.0724228 31.919862 648.39236 -2218.3068 + 400 0.04 0.028733778 -2220.5225 -2.498882 34.352305 545.8856 -2218.3068 + 450 0.045 0.02873377 -2221.0414 -2.9067963 42.396008 468.97305 -2218.3068 + 500 0.05 0.02873377 -2221.7614 -3.2881407 53.559839 411.03247 -2218.3068 + 550 0.055 0.028733775 -2222.5025 -3.6391769 65.048917 366.0991 -2218.3068 + 600 0.06 0.028733784 -2223.1215 -3.9612604 74.645803 330.37583 -2218.3068 + 650 0.065 0.028733794 -2223.5495 -4.2623843 81.281536 303.0489 -2218.3068 + 700 0.07 0.028733802 -2223.795 -4.5550161 85.087649 283.0897 -2218.3068 + 750 0.075 0.028733805 -2223.9222 -4.8523832 87.059996 267.48601 -2218.3068 + 800 0.08 0.028733804 -2224.0176 -5.1656984 88.538724 253.94215 -2218.3068 + 850 0.085 0.028733799 -2224.1506 -5.4981915 90.600346 242.22988 -2218.3068 + 900 0.09 0.028733794 -2224.3425 -5.8400709 93.576582 232.32115 -2218.3068 + 950 0.095 0.028733796 -2224.5674 -6.1746129 97.063173 222.64192 -2218.3068 + 1000 0.1 0.028733805 -2224.7832 -6.4920444 100.40752 212.7708 -2218.3068 +Loop time of 4.1438 on 1 procs for 1000 steps with 500 atoms + +Performance: 2.085 ns/day, 11.511 hours/ns, 241.324 timesteps/s +100.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 | 1.8846 | 1.8846 | 1.8846 | 0.0 | 45.48 +Neigh | 0.012244 | 0.012244 | 0.012244 | 0.0 | 0.30 +Comm | 0.033385 | 0.033385 | 0.033385 | 0.0 | 0.81 +Output | 0.014202 | 0.014202 | 0.014202 | 0.0 | 0.34 +Modify | 2.1938 | 2.1938 | 2.1938 | 0.0 | 52.94 +Other | | 0.005526 | | | 0.13 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19500 ave 19500 max 19500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 39000 ave 39000 max 39000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 39000 +Ave neighs/atom = 78 +Neighbor list builds = 7 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:04 diff --git a/examples/SPIN/nickel/log.14Apr20.spin.nickel.g++.4 b/examples/SPIN/nickel/log.14Apr20.spin.nickel.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..2ef20e47899234b2c8f5b3ca0e49f14892989236 --- /dev/null +++ b/examples/SPIN/nickel/log.14Apr20.spin.nickel.g++.4 @@ -0,0 +1,141 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# fcc nickel in a 3d periodic box + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.524 +Lattice spacing in x,y,z = 3.524 3.524 3.524 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (17.62 17.62 17.62) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + create_atoms CPU = 0.000680923 secs + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.69 + +set group all spin/random 31 0.63 + 500 settings made for spin/random +#set group all spin 0.63 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Ni99.eam.alloy Ni +pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice moving +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm pe v_emag temp v_tmag etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.90375 + ghost atom cutoff = 5.90375 + binsize = 2.95187, bins = 6 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.799 | 7.799 | 7.799 Mbytes +Step Time v_magnorm PotEng v_emag Temp v_tmag TotEng + 0 0 0.028733803 -2224.7591 0.20498788 100.03408 -4775.0671 -2218.3068 + 50 0.005 0.028733805 -2224.5402 0.18523081 96.640497 -5356.0839 -2218.3068 + 100 0.01 0.028733812 -2223.9764 0.042321266 87.900506 -24443.229 -2218.3068 + 150 0.015 0.028733818 -2223.1275 -0.20362758 74.73931 5409.1535 -2218.3068 + 200 0.02 0.028733826 -2222.1368 -0.52607498 59.379029 2258.3662 -2218.3068 + 250 0.025 0.028733831 -2221.2102 -0.90147712 45.013713 1422.5963 -2218.3068 + 300 0.03 0.028733827 -2220.558 -1.3121131 34.902868 1037.9833 -2218.3068 + 350 0.035 0.028733817 -2220.3198 -1.7411113 31.20948 805.99534 -2218.3068 + 400 0.04 0.028733807 -2220.5162 -2.1695831 34.253525 646.07984 -2218.3068 + 450 0.045 0.028733802 -2221.0547 -2.581156 42.602248 532.25918 -2218.3068 + 500 0.05 0.028733805 -2221.7784 -2.9684862 53.822318 451.09419 -2218.3068 + 550 0.055 0.028733814 -2222.5255 -3.3338614 65.405638 392.41628 -2218.3068 + 600 0.06 0.028733822 -2223.1693 -3.6823124 75.38674 349.28401 -2218.3068 + 650 0.065 0.028733828 -2223.6339 -4.0182131 82.590109 317.40382 -2218.3068 + 700 0.07 0.028733827 -2223.907 -4.3515619 86.82355 294.41794 -2218.3068 + 750 0.075 0.028733822 -2224.0293 -4.6966825 88.720045 278.64174 -2218.3068 + 800 0.08 0.02873382 -2224.064 -5.0589353 89.257884 267.43696 -2218.3068 + 850 0.085 0.028733824 -2224.0702 -5.4291065 89.354006 257.51219 -2218.3068 + 900 0.09 0.028733833 -2224.0977 -5.7927329 89.780835 246.96548 -2218.3068 + 950 0.095 0.028733835 -2224.1852 -6.1414644 91.136895 236.30442 -2218.3068 + 1000 0.1 0.028733828 -2224.3442 -6.472877 93.602509 227.18362 -2218.3068 +Loop time of 2.57923 on 4 procs for 1000 steps with 500 atoms + +Performance: 3.350 ns/day, 7.165 hours/ns, 387.713 timesteps/s +99.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 | 0.52633 | 0.53745 | 0.55615 | 1.6 | 20.84 +Neigh | 0.0030599 | 0.0031699 | 0.0032969 | 0.2 | 0.12 +Comm | 0.10599 | 0.1261 | 0.13713 | 3.4 | 4.89 +Output | 0.0051079 | 0.0051572 | 0.0052865 | 0.1 | 0.20 +Modify | 1.9032 | 1.9052 | 1.9065 | 0.1 | 73.87 +Other | | 0.002202 | | | 0.09 + +Nlocal: 125 ave 138 max 115 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Nghost: 1099 ave 1109 max 1086 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 4875 ave 5336 max 4525 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +FullNghs: 9750 ave 10764 max 8970 min +Histogram: 1 0 0 2 0 0 0 0 0 1 + +Total # of neighbors = 39000 +Ave neighs/atom = 78 +Neighbor list builds = 7 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:02 diff --git a/examples/SPIN/nickel/log.14Apr20.spin.nickel_cubic.g++.1 b/examples/SPIN/nickel/log.14Apr20.spin.nickel_cubic.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..a9c6dc1ea40f5b9348b7d557cc86fcd13c84f2c6 --- /dev/null +++ b/examples/SPIN/nickel/log.14Apr20.spin.nickel_cubic.g++.1 @@ -0,0 +1,142 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# fcc nickel in a 3d periodic box + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.524 +Lattice spacing in x,y,z = 3.524 3.524 3.524 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (17.62 17.62 17.62) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 500 atoms + create_atoms CPU = 0.000916958 secs + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.69 + +set group all spin/random 31 0.63 + 500 settings made for spin/random +#set group all spin 0.63 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Ni99.eam.alloy Ni +pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 zeeman 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice moving +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm pe v_emag temp v_tmag etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.90375 + ghost atom cutoff = 5.90375 + binsize = 2.95187, bins = 6 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.885 | 7.885 | 7.885 Mbytes +Step Time v_magnorm PotEng v_emag Temp v_tmag TotEng + 0 0 0.028733803 -2224.7478 0.21626519 100.03408 -4301.853 -2218.2955 + 50 0.005 0.028732018 -2224.6158 0.10507552 97.987527 -8506.178 -2218.2955 + 100 0.01 0.028730353 -2224.1105 -0.11492231 90.153208 9821.9545 -2218.2955 + 150 0.015 0.028729179 -2223.2871 -0.42247044 77.388252 2612.6762 -2218.2955 + 200 0.02 0.028730623 -2222.2924 -0.79199024 61.966499 1465.6684 -2218.2955 + 250 0.025 0.02873338 -2221.3383 -1.199896 47.175023 1028.0909 -2218.2955 + 300 0.03 0.028732667 -2220.6421 -1.6277461 36.381371 800.14526 -2218.2955 + 350 0.035 0.028726646 -2220.3547 -2.0613125 31.92537 654.96081 -2218.2955 + 400 0.04 0.028719587 -2220.5116 -2.4878332 34.358607 550.47697 -2218.2955 + 450 0.045 0.028713837 -2221.0303 -2.8957078 42.400515 472.35844 -2218.2955 + 500 0.05 0.028707813 -2221.7502 -3.2769128 53.560569 413.68656 -2218.2955 + 550 0.055 0.028706758 -2222.4909 -3.627757 65.045564 368.28172 -2218.2955 + 600 0.06 0.02871485 -2223.1098 -3.9496387 74.639348 332.20637 -2218.2955 + 650 0.065 0.028726143 -2223.5376 -4.2505578 81.273271 304.61479 -2218.2954 + 700 0.07 0.028732341 -2223.7831 -4.5429323 85.078158 284.47251 -2218.2954 + 750 0.075 0.028732637 -2223.9102 -4.8399235 87.049135 268.76484 -2218.2954 + 800 0.08 0.028731303 -2224.0055 -5.1527352 88.526667 255.14878 -2218.2954 + 850 0.085 0.028728379 -2224.1384 -5.4846326 90.587963 243.32753 -2218.2954 + 900 0.09 0.028721628 -2224.3304 -5.8258679 93.565089 233.2995 -2218.2954 + 950 0.095 0.028715574 -2224.5555 -6.1597678 97.054035 223.54492 -2218.2954 + 1000 0.1 0.02871582 -2224.7714 -6.4766454 100.40218 213.59853 -2218.2954 +Loop time of 4.15073 on 1 procs for 1000 steps with 500 atoms + +Performance: 2.082 ns/day, 11.530 hours/ns, 240.921 timesteps/s +100.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 | 1.8514 | 1.8514 | 1.8514 | 0.0 | 44.60 +Neigh | 0.012244 | 0.012244 | 0.012244 | 0.0 | 0.29 +Comm | 0.032971 | 0.032971 | 0.032971 | 0.0 | 0.79 +Output | 0.027815 | 0.027815 | 0.027815 | 0.0 | 0.67 +Modify | 2.2209 | 2.2209 | 2.2209 | 0.0 | 53.51 +Other | | 0.005408 | | | 0.13 + +Nlocal: 500 ave 500 max 500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1956 ave 1956 max 1956 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19500 ave 19500 max 19500 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 39000 ave 39000 max 39000 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 39000 +Ave neighs/atom = 78 +Neighbor list builds = 7 +Dangerous builds = 0 + + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:04 diff --git a/examples/SPIN/nickel/log.14Apr20.spin.nickel_cubic.g++.4 b/examples/SPIN/nickel/log.14Apr20.spin.nickel_cubic.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..9a25cb1fb33cc19b3cd97124709858bd1ac28668 --- /dev/null +++ b/examples/SPIN/nickel/log.14Apr20.spin.nickel_cubic.g++.4 @@ -0,0 +1,142 @@ +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# fcc nickel in a 3d periodic box + +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice fcc 3.524 +Lattice spacing in x,y,z = 3.524 3.524 3.524 +region box block 0.0 5.0 0.0 5.0 0.0 5.0 +create_box 1 box +Created orthogonal box = (0 0 0) to (17.62 17.62 17.62) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 500 atoms + create_atoms CPU = 0.000750065 secs + +# setting mass, mag. moments, and interactions for cobalt + +mass 1 58.69 + +set group all spin/random 31 0.63 + 500 settings made for spin/random +#set group all spin 0.63 0.0 0.0 1.0 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 +pair_coeff * * eam/alloy Ni99.eam.alloy Ni +pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 zeeman 0.0 0.0 0.0 1.0 +fix_modify 1 energy yes +fix 2 all langevin/spin 0.0 0.0 21 + +fix 3 all nve/spin lattice moving +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable magz equal c_out_mag[3] +variable magnorm equal c_out_mag[4] +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_magnorm pe v_emag temp v_tmag etotal +thermo 50 + +compute outsp all property/atom spx spy spz sp fmx fmy fmz +dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] + +run 1000 +Neighbor list info ... + update every 10 steps, delay 20 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5.90375 + ghost atom cutoff = 5.90375 + binsize = 2.95187, bins = 6 6 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair eam/alloy, perpetual, half/full from (2) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none + (2) pair spin/exchange, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.799 | 7.799 | 7.799 Mbytes +Step Time v_magnorm PotEng v_emag Temp v_tmag TotEng + 0 0 0.028733803 -2224.7478 0.21626519 100.03408 -4301.853 -2218.2955 + 50 0.005 0.028732084 -2224.5289 0.19650376 96.640616 -4777.5312 -2218.2955 + 100 0.01 0.028730714 -2223.9652 0.053583455 87.900827 -16071.152 -2218.2955 + 150 0.015 0.028730068 -2223.1163 -0.19237362 74.739735 6053.4731 -2218.2955 + 200 0.02 0.028732658 -2222.1255 -0.5148243 59.37938 2354.2236 -2218.2955 + 250 0.025 0.028736824 -2221.1989 -0.89021871 45.013765 1456.8539 -2218.2955 + 300 0.03 0.028734673 -2220.5467 -1.3008412 34.902634 1054.9996 -2218.2955 + 350 0.035 0.028726346 -2220.3085 -1.7298348 31.209321 816.00699 -2218.2955 + 400 0.04 0.028721022 -2220.5048 -2.1583012 34.253626 652.5234 -2218.2955 + 450 0.045 0.028722238 -2221.0433 -2.5698412 42.602344 536.67287 -2218.2955 + 500 0.05 0.02872462 -2221.767 -2.9571093 53.822165 454.37668 -2218.2955 + 550 0.055 0.02872545 -2222.5141 -3.3223962 65.405129 395.00593 -2218.2955 + 600 0.06 0.02873171 -2223.1579 -3.6706939 75.385253 351.37664 -2218.2955 + 650 0.065 0.028744439 -2223.6223 -4.0063211 82.586428 319.12437 -2218.2954 + 700 0.07 0.028756808 -2223.8952 -4.3392538 86.816357 295.88017 -2218.2954 + 750 0.075 0.028765368 -2224.0172 -4.6838051 88.708218 279.91792 -2218.2954 + 800 0.08 0.028773583 -2224.0515 -5.0453234 89.24056 268.55561 -2218.2954 + 850 0.085 0.028781239 -2224.0574 -5.4146399 89.331407 258.50935 -2218.2954 + 900 0.09 0.028787568 -2224.0847 -5.7774277 89.755159 247.86416 -2218.2954 + 950 0.095 0.028794703 -2224.1722 -6.1254539 91.111184 237.12719 -2218.2954 + 1000 0.1 0.028801253 -2224.3313 -6.4562841 93.577969 227.97114 -2218.2954 +Loop time of 2.49458 on 4 procs for 1000 steps with 500 atoms + +Performance: 3.464 ns/day, 6.929 hours/ns, 400.868 timesteps/s +100.0% 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.52895 | 0.53652 | 0.54117 | 0.6 | 21.51 +Neigh | 0.003077 | 0.0032379 | 0.003371 | 0.2 | 0.13 +Comm | 0.11315 | 0.1193 | 0.12956 | 1.8 | 4.78 +Output | 0.0093312 | 0.0093816 | 0.0094745 | 0.1 | 0.38 +Modify | 1.8206 | 1.8239 | 1.8254 | 0.1 | 73.11 +Other | | 0.00229 | | | 0.09 + +Nlocal: 125 ave 138 max 115 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Nghost: 1099 ave 1109 max 1086 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 4875 ave 5337 max 4528 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +FullNghs: 9750 ave 10764 max 8970 min +Histogram: 1 0 0 2 0 0 0 0 0 1 + +Total # of neighbors = 39000 +Ave neighs/atom = 78 +Neighbor list builds = 7 +Dangerous builds = 0 + + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:02 diff --git a/examples/SPIN/nickel/log.19Nov19.spin.nickel.g++.1 b/examples/SPIN/nickel/log.19Nov19.spin.nickel.g++.1 deleted file mode 100644 index 7871d82ae9bbfc6588e5fd3f2dc2e57bcea59aea..0000000000000000000000000000000000000000 --- a/examples/SPIN/nickel/log.19Nov19.spin.nickel.g++.1 +++ /dev/null @@ -1,136 +0,0 @@ -LAMMPS (30 Oct 2019) -# fcc nickel in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice fcc 3.524 -Lattice spacing in x,y,z = 3.524 3.524 3.524 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (17.62 17.62 17.62) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - create_atoms CPU = 0.000484943 secs - -# setting mass, mag. moments, and interactions for cobalt - -mass 1 58.69 - -set group all spin/random 31 0.63 - 500 settings made for spin/random -#set group all spin 0.63 0.0 0.0 1.0 -velocity all create 100 4928459 rot yes dist gaussian - -pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Ni99.eam.alloy Ni -pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all nve/spin lattice moving -timestep 0.0001 - -# compute and output options - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magnorm v_emag temp v_tmag etotal -thermo 50 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] - -run 1000 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.90375 - ghost atom cutoff = 5.90375 - binsize = 2.95187, bins = 6 6 6 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair eam/alloy, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.885 | 7.885 | 7.885 Mbytes -Step Time v_magnorm v_emag Temp v_tmag TotEng - 0 0 0.028733803 0.40997576 100.03408 -4775.0671 -2218.3068 - 50 0.005 0.028733807 0.070491717 101.47879 -28153.519 -2218.1371 - 100 0.01 0.028733815 -0.70937134 101.7311 2925.8177 -2217.7471 - 150 0.015 0.028733823 -1.853981 99.63039 1197.9339 -2217.1748 - 200 0.02 0.028733828 -3.2679239 94.850105 741.17431 -2216.4678 - 250 0.025 0.028733824 -4.863967 88.444584 550.36979 -2215.6698 - 300 0.03 0.028733807 -6.5763457 82.689581 449.78321 -2214.8136 - 350 0.035 0.028733783 -8.3489158 80.108798 384.32228 -2213.9273 - 400 0.04 0.028733763 -10.120216 82.374947 335.01545 -2213.0417 - 450 0.045 0.028733755 -11.828932 89.814597 296.88965 -2212.1873 - 500 0.05 0.028733762 -13.423712 101.39613 267.51686 -2211.39 - 550 0.055 0.028733783 -14.866724 115.07399 244.96012 -2210.6684 - 600 0.06 0.028733801 -16.135279 128.57849 229.33327 -2210.0342 - 650 0.065 0.028733804 -17.222838 140.22402 220.05718 -2209.4904 - 700 0.07 0.028733795 -18.154813 149.61295 212.95678 -2209.0244 - 750 0.075 0.028733781 -18.996903 157.5814 206.41327 -2208.6034 - 800 0.08 0.028733768 -19.804249 164.92075 203.88977 -2208.1997 - 850 0.085 0.028733752 -20.579151 171.67278 203.42363 -2207.8122 - 900 0.09 0.028733728 -21.294277 177.67238 199.84817 -2207.4547 - 950 0.095 0.028733715 -21.943945 183.2621 194.9614 -2207.1298 - 1000 0.1 0.02873374 -22.551277 188.99284 191.59796 -2206.8262 -Loop time of 4.30614 on 1 procs for 1000 steps with 500 atoms - -Performance: 2.006 ns/day, 11.961 hours/ns, 232.227 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 | 2.038 | 2.038 | 2.038 | 0.0 | 47.33 -Neigh | 0.01566 | 0.01566 | 0.01566 | 0.0 | 0.36 -Comm | 0.032802 | 0.032802 | 0.032802 | 0.0 | 0.76 -Output | 0.014146 | 0.014146 | 0.014146 | 0.0 | 0.33 -Modify | 2.2003 | 2.2003 | 2.2003 | 0.0 | 51.10 -Other | | 0.005288 | | | 0.12 - -Nlocal: 500 ave 500 max 500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1956 ave 1956 max 1956 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 19504 ave 19504 max 19504 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 39008 ave 39008 max 39008 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 39008 -Ave neighs/atom = 78.016 -Neighbor list builds = 9 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:04 diff --git a/examples/SPIN/nickel/log.19Nov19.spin.nickel.g++.4 b/examples/SPIN/nickel/log.19Nov19.spin.nickel.g++.4 deleted file mode 100644 index 638ab5e63516510e9a53e5d15ff54577a8cf9d27..0000000000000000000000000000000000000000 --- a/examples/SPIN/nickel/log.19Nov19.spin.nickel.g++.4 +++ /dev/null @@ -1,136 +0,0 @@ -LAMMPS (30 Oct 2019) -# fcc nickel in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice fcc 3.524 -Lattice spacing in x,y,z = 3.524 3.524 3.524 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (17.62 17.62 17.62) - 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 500 atoms - create_atoms CPU = 0.000733852 secs - -# setting mass, mag. moments, and interactions for cobalt - -mass 1 58.69 - -set group all spin/random 31 0.63 - 500 settings made for spin/random -#set group all spin 0.63 0.0 0.0 1.0 -velocity all create 100 4928459 rot yes dist gaussian - -pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Ni99.eam.alloy Ni -pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all nve/spin lattice moving -timestep 0.0001 - -# compute and output options - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magnorm v_emag temp v_tmag etotal -thermo 50 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] - -run 1000 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.90375 - ghost atom cutoff = 5.90375 - binsize = 2.95187, bins = 6 6 6 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair eam/alloy, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.799 | 7.799 | 7.799 Mbytes -Step Time v_magnorm v_emag Temp v_tmag TotEng - 0 0 0.028733803 0.40997576 100.03408 -4775.0671 -2218.1018 - 50 0.005 0.028733805 0.25324083 98.741633 -7863.8744 -2218.1018 - 100 0.01 0.028733812 -0.37320751 97.073875 5622.1863 -2218.1018 - 150 0.015 0.028733819 -1.3971549 94.073447 1625.0258 -2218.1018 - 200 0.02 0.028733825 -2.7238372 89.419944 919.37601 -2218.1018 - 250 0.025 0.028733829 -4.2684428 84.07494 652.18375 -2218.1018 - 300 0.03 0.028733824 -5.9636712 80.06368 512.89077 -2218.1018 - 350 0.035 0.02873381 -7.7386326 79.366702 422.24864 -2218.1018 - 400 0.04 0.028733802 -9.5148059 83.052751 357.60379 -2218.1018 - 450 0.045 0.028733806 -11.234935 91.282747 310.87776 -2218.1018 - 500 0.05 0.02873381 -12.875184 103.49836 275.0224 -2218.1018 - 550 0.055 0.028733808 -14.413473 118.16526 247.85208 -2218.1018 - 600 0.06 0.028733803 -15.812466 132.83837 230.67903 -2218.1018 - 650 0.065 0.028733808 -17.061311 145.41049 222.19476 -2218.1018 - 700 0.07 0.028733818 -18.181903 154.83414 219.42933 -2218.1018 - 750 0.075 0.028733823 -19.176259 160.58645 218.45231 -2218.1018 - 800 0.08 0.028733825 -20.035157 163.02829 214.86596 -2218.1018 - 850 0.085 0.028733825 -20.806548 164.4197 209.86881 -2218.1018 - 900 0.09 0.028733829 -21.571419 167.8571 205.79849 -2218.1018 - 950 0.095 0.028733825 -22.365879 175.00875 201.33088 -2218.1018 - 1000 0.1 0.028733821 -23.133464 184.68305 195.52912 -2218.1018 -Loop time of 2.47211 on 4 procs for 1000 steps with 500 atoms - -Performance: 3.495 ns/day, 6.867 hours/ns, 404.513 timesteps/s -99.9% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.5549 | 0.56708 | 0.58627 | 1.6 | 22.94 -Neigh | 0.0039728 | 0.0041007 | 0.0042598 | 0.2 | 0.17 -Comm | 0.087296 | 0.10802 | 0.11917 | 3.8 | 4.37 -Output | 0.0046923 | 0.0047188 | 0.0047917 | 0.1 | 0.19 -Modify | 1.7832 | 1.7862 | 1.7879 | 0.1 | 72.25 -Other | | 0.002016 | | | 0.08 - -Nlocal: 125 ave 139 max 112 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 1099 ave 1112 max 1085 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Neighs: 4876 ave 5386 max 4426 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -FullNghs: 9752 ave 10845 max 8737 min -Histogram: 1 0 1 0 0 0 1 0 0 1 - -Total # of neighbors = 39008 -Ave neighs/atom = 78.016 -Neighbor list builds = 9 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:02 diff --git a/examples/SPIN/nickel/log.19Nov19.spin.nickel_cubic.g++.1 b/examples/SPIN/nickel/log.19Nov19.spin.nickel_cubic.g++.1 deleted file mode 100644 index 4f3b94df5308dfb1a203e0647fefea78edabbafe..0000000000000000000000000000000000000000 --- a/examples/SPIN/nickel/log.19Nov19.spin.nickel_cubic.g++.1 +++ /dev/null @@ -1,138 +0,0 @@ -LAMMPS (30 Oct 2019) -# fcc nickel in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice fcc 3.524 -Lattice spacing in x,y,z = 3.524 3.524 3.524 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (17.62 17.62 17.62) - 1 by 1 by 1 MPI processor grid -create_atoms 1 box -Created 500 atoms - create_atoms CPU = 0.00109196 secs - -# setting mass, mag. moments, and interactions for cobalt - -mass 1 58.69 - -set group all spin/random 31 0.63 - 500 settings made for spin/random -#set group all spin 0.63 0.0 0.0 1.0 -velocity all create 100 4928459 rot yes dist gaussian - -pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Ni99.eam.alloy Ni -pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 zeeman 0.0 0.0 0.0 1.0 -fix_modify 1 energy yes -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all nve/spin lattice moving -timestep 0.0001 - -# compute and output options - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magnorm v_emag temp v_tmag etotal -thermo 50 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] - -run 1000 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.90375 - ghost atom cutoff = 5.90375 - binsize = 2.95187, bins = 6 6 6 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair eam/alloy, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.885 | 7.885 | 7.885 Mbytes -Step Time v_magnorm v_emag Temp v_tmag TotEng - 0 0 0.028733803 0.455085 100.03408 -4301.853 -2218.2955 - 50 0.005 0.028732021 0.11535308 101.47887 -17203.944 -2218.1258 - 100 0.01 0.0287304 -0.665283 101.73105 3119.2267 -2217.7358 - 150 0.015 0.028729403 -1.8105707 99.629794 1226.3803 -2217.1636 - 200 0.02 0.028731067 -3.224763 94.849715 750.93124 -2216.4566 - 250 0.025 0.028732765 -4.8207784 88.447019 555.16456 -2215.6585 - 300 0.03 0.028728169 -6.5331538 82.697813 452.6101 -2214.8022 - 350 0.035 0.02871707 -8.3059526 80.122838 386.20109 -2213.9158 - 400 0.04 0.028706605 -10.077613 82.389555 336.36118 -2213.03 - 450 0.045 0.028701727 -11.78634 89.823176 297.91478 -2212.1758 - 500 0.05 0.028706691 -13.380919 101.39804 268.32933 -2211.3785 - 550 0.055 0.028714065 -14.824128 115.07511 245.62893 -2210.6569 - 600 0.06 0.028713691 -16.093505 128.58093 229.91054 -2210.0225 - 650 0.065 0.028713232 -17.181217 140.22137 220.57591 -2209.4787 - 700 0.07 0.02871245 -18.113035 149.60156 213.40077 -2209.0127 - 750 0.075 0.028712431 -18.954952 157.56849 206.80962 -2208.5916 - 800 0.08 0.02872489 -19.762756 164.91833 204.24742 -2208.1876 - 850 0.085 0.028733709 -20.538757 171.69348 203.73934 -2207.7993 - 900 0.09 0.028737031 -21.256095 177.71981 200.12043 -2207.4406 - 950 0.095 0.028743446 -21.908156 183.31613 195.23386 -2207.1149 - 1000 0.1 0.028751809 -22.516179 189.01672 191.90401 -2206.8111 -Loop time of 4.3661 on 1 procs for 1000 steps with 500 atoms - -Performance: 1.979 ns/day, 12.128 hours/ns, 229.037 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 | 2.0467 | 2.0467 | 2.0467 | 0.0 | 46.88 -Neigh | 0.015636 | 0.015636 | 0.015636 | 0.0 | 0.36 -Comm | 0.032918 | 0.032918 | 0.032918 | 0.0 | 0.75 -Output | 0.027737 | 0.027737 | 0.027737 | 0.0 | 0.64 -Modify | 2.2379 | 2.2379 | 2.2379 | 0.0 | 51.26 -Other | | 0.005233 | | | 0.12 - -Nlocal: 500 ave 500 max 500 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1956 ave 1956 max 1956 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 19504 ave 19504 max 19504 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 39008 ave 39008 max 39008 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 39008 -Ave neighs/atom = 78.016 -Neighbor list builds = 9 -Dangerous builds = 0 - - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:04 diff --git a/examples/SPIN/nickel/log.19Nov19.spin.nickel_cubic.g++.4 b/examples/SPIN/nickel/log.19Nov19.spin.nickel_cubic.g++.4 deleted file mode 100644 index 1724ef9df8eafd81bf5397a226c9e2e2c7a010f0..0000000000000000000000000000000000000000 --- a/examples/SPIN/nickel/log.19Nov19.spin.nickel_cubic.g++.4 +++ /dev/null @@ -1,138 +0,0 @@ -LAMMPS (30 Oct 2019) -# fcc nickel in a 3d periodic box - -clear -units metal -atom_style spin - -dimension 3 -boundary p p p - -# necessary for the serial algorithm (sametag) -atom_modify map array - -lattice fcc 3.524 -Lattice spacing in x,y,z = 3.524 3.524 3.524 -region box block 0.0 5.0 0.0 5.0 0.0 5.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (17.62 17.62 17.62) - 1 by 2 by 2 MPI processor grid -create_atoms 1 box -Created 500 atoms - create_atoms CPU = 0.000827074 secs - -# setting mass, mag. moments, and interactions for cobalt - -mass 1 58.69 - -set group all spin/random 31 0.63 - 500 settings made for spin/random -#set group all spin 0.63 0.0 0.0 1.0 -velocity all create 100 4928459 rot yes dist gaussian - -pair_style hybrid/overlay eam/alloy spin/exchange 4.0 -pair_coeff * * eam/alloy Ni99.eam.alloy Ni -pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475 - -neighbor 0.1 bin -neigh_modify every 10 check yes delay 20 - -fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 zeeman 0.0 0.0 0.0 1.0 -fix_modify 1 energy yes -fix 2 all langevin/spin 0.0 0.0 21 - -fix 3 all nve/spin lattice moving -timestep 0.0001 - -# compute and output options - -compute out_mag all spin -compute out_pe all pe -compute out_ke all ke -compute out_temp all temp - -variable magz equal c_out_mag[3] -variable magnorm equal c_out_mag[4] -variable emag equal c_out_mag[5] -variable tmag equal c_out_mag[6] - -thermo_style custom step time v_magnorm v_emag temp v_tmag etotal -thermo 50 - -compute outsp all property/atom spx spy spz sp fmx fmy fmz -dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7] - -run 1000 -Neighbor list info ... - update every 10 steps, delay 20 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 5.90375 - ghost atom cutoff = 5.90375 - binsize = 2.95187, bins = 6 6 6 - 2 neighbor lists, perpetual/occasional/extra = 2 0 0 - (1) pair eam/alloy, perpetual, half/full from (2) - attributes: half, newton on - pair build: halffull/newton - stencil: none - bin: none - (2) pair spin/exchange, perpetual - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.799 | 7.799 | 7.799 Mbytes -Step Time v_magnorm v_emag Temp v_tmag TotEng - 0 0 0.028733803 0.455085 100.03408 -4301.853 -2218.0905 - 50 0.005 0.028732088 0.2980989 98.74184 -6680.4308 -2218.0904 - 100 0.01 0.02873076 -0.32911738 97.074246 6374.7026 -2218.09 - 150 0.015 0.028730298 -1.3537059 94.073558 1676.9365 -2218.0897 - 200 0.02 0.028733079 -2.6807428 89.419616 934.03305 -2218.0895 - 250 0.025 0.028735725 -4.2256641 84.074249 658.72816 -2218.0893 - 300 0.03 0.028728939 -5.9209085 80.063263 516.58161 -2218.0893 - 350 0.035 0.028716731 -7.6957087 79.36782 424.59625 -2218.0893 - 400 0.04 0.02871114 -9.4720832 83.055773 359.18204 -2218.0893 - 450 0.045 0.02870879 -11.19254 91.28713 312.02076 -2218.0891 - 500 0.05 0.028708873 -12.832707 103.50343 275.92991 -2218.0892 - 550 0.055 0.028710315 -14.370603 118.16778 248.59763 -2218.0893 - 600 0.06 0.028707016 -15.769641 132.83264 231.2886 -2218.089 - 650 0.065 0.028706727 -17.018362 145.39247 222.70304 -2218.0888 - 700 0.07 0.028710482 -18.137792 154.80131 219.85838 -2218.0889 - 750 0.075 0.028705169 -19.130471 160.53663 218.83811 -2218.0892 - 800 0.08 0.028695336 -19.988452 162.95918 215.21456 -2218.089 - 850 0.085 0.028688393 -20.758389 164.33238 210.21496 -2218.0889 - 900 0.09 0.028684101 -21.521505 167.76167 206.14977 -2218.089 - 950 0.095 0.028684705 -22.314351 174.918 201.65878 -2218.0891 - 1000 0.1 0.028691284 -23.080026 184.60192 195.8385 -2218.0893 -Loop time of 2.5947 on 4 procs for 1000 steps with 500 atoms - -Performance: 3.330 ns/day, 7.207 hours/ns, 385.402 timesteps/s -99.9% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.56409 | 0.58139 | 0.605 | 2.0 | 22.41 -Neigh | 0.0039618 | 0.0041058 | 0.0042889 | 0.2 | 0.16 -Comm | 0.095324 | 0.12147 | 0.13892 | 4.8 | 4.68 -Output | 0.008945 | 0.0089793 | 0.0090477 | 0.0 | 0.35 -Modify | 1.8745 | 1.8765 | 1.8795 | 0.1 | 72.32 -Other | | 0.002217 | | | 0.09 - -Nlocal: 125 ave 139 max 112 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 1099 ave 1112 max 1085 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Neighs: 4876 ave 5385 max 4427 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -FullNghs: 9752 ave 10845 max 8737 min -Histogram: 1 0 1 0 0 0 1 0 0 1 - -Total # of neighbors = 39008 -Ave neighs/atom = 78.016 -Neighbor list builds = 9 -Dangerous builds = 0 - - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:02 diff --git a/examples/SPIN/read_restart/in.spin.read_data b/examples/SPIN/read_restart/in.spin.read_data index e788ecf67eff4657a0cc7270178fd4fd59b0fddf..b2b55a9fcbc7b90669e472c2d2bc39545bf35aa1 100644 --- a/examples/SPIN/read_restart/in.spin.read_data +++ b/examples/SPIN/read_restart/in.spin.read_data @@ -35,8 +35,8 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo 10 -thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo 20 +thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz diff --git a/examples/SPIN/read_restart/in.spin.restart b/examples/SPIN/read_restart/in.spin.restart index ccce25b2544a664875c98ac4e1db1e666fe1eb49..985da65eb484d586f99a9e2cccfe682934087a76 100644 --- a/examples/SPIN/read_restart/in.spin.restart +++ b/examples/SPIN/read_restart/in.spin.restart @@ -39,8 +39,8 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo 10 -thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo 20 +thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz diff --git a/examples/SPIN/read_restart/in.spin.write_restart b/examples/SPIN/read_restart/in.spin.write_restart index c1271010937f37f2051240e4055b831657ef2987..19ab8e6b30abbe76bbcb7caf5b42a45985ef982a 100644 --- a/examples/SPIN/read_restart/in.spin.write_restart +++ b/examples/SPIN/read_restart/in.spin.write_restart @@ -44,7 +44,7 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo_style custom step time v_magnorm v_emag temp etotal +thermo_style custom step time v_magnorm pe v_emag temp etotal thermo 100 compute outsp all property/atom spx spy spz sp fmx fmy fmz @@ -52,4 +52,3 @@ dump 100 all custom 1 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[ run 1000 write_restart restart_hcp_cobalt.equil - diff --git a/examples/SPIN/read_restart/log.19Nov19.spin.read_data.g++.1 b/examples/SPIN/read_restart/log.14Apr20.spin.read_data.g++.1 similarity index 51% rename from examples/SPIN/read_restart/log.19Nov19.spin.read_data.g++.1 rename to examples/SPIN/read_restart/log.14Apr20.spin.read_data.g++.1 index d5c38a996701ca7544ee2752824422a97c32a0b0..4a744700f9fd7e350ecb22fdd212dffd494863ca 100644 --- a/examples/SPIN/read_restart/log.19Nov19.spin.read_data.g++.1 +++ b/examples/SPIN/read_restart/log.14Apr20.spin.read_data.g++.1 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal dimension 3 boundary p p p @@ -12,7 +14,7 @@ read_data Norm_randXY_8x8x32.data 1 by 1 by 1 MPI processor grid reading atoms ... 8192 atoms - read_data CPU = 0.0127251 secs + read_data CPU = 0.022048 secs mass 1 58.93 @@ -41,8 +43,8 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo 10 -thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo 20 +thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz @@ -66,33 +68,28 @@ Neighbor list info ... pair build: full/bin/atomonly stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 19.68 | 19.68 | 19.68 Mbytes -Step Time v_magnorm v_emag v_tmag Temp TotEng - 0 0 0.0177864461018737 -1323.65841279979 1274.398774669 0 -36558.7284872918 - 10 0.001 0.0177864363786085 -1323.66900862123 1270.76616762926 0.0100007025152235 -36558.7231900452 - 20 0.002 0.0177864377251544 -1323.70032173151 1259.90270462032 0.0394803272360477 -36558.7075350597 - 30 0.003 0.0177864511986563 -1323.75117991179 1243.50772254923 0.0871132837928349 -36558.6821082609 - 40 0.004 0.0177864729727686 -1323.81992477224 1223.91535595806 0.150986538096776 -36558.6477386289 - 50 0.005 0.017786495620418 -1323.90456907402 1203.45497846157 0.22877054554493 -36558.6054195788 - 60 0.006 0.0177865119365897 -1324.00293472823 1183.95496070422 0.317876389336898 -36558.556239967 - 70 0.007 0.0177865186121948 -1324.11277680481 1166.52445270059 0.415601818818485 -36558.5013220755 - 80 0.008 0.0177865171615599 -1324.23190710734 1151.59958937508 0.519276751090729 -36558.4417598279 - 90 0.009 0.0177865117923882 -1324.35831839963 1139.14485136813 0.626407059487507 -36558.3785566998 - 100 0.01 0.0177865063215865 -1324.49029089774 1128.88117273962 0.734797362055872 -36558.3125725035 -Loop time of 14.8985 on 1 procs for 100 steps with 8192 atoms - -Performance: 0.058 ns/day, 413.847 hours/ns, 6.712 timesteps/s -99.6% CPU use with 1 MPI tasks x no OpenMP threads +Per MPI rank memory allocation (min/avg/max) = 19.99 | 19.99 | 19.99 Mbytes +Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng + 0 0 0.0177864461018737 -36558.7284872918 -661.829206399896 1274.398774669 0 -36558.7284872918 + 20 0.002 0.0177864377256184 -36558.7389378387 -661.839683504936 1259.94171978912 0.00986992693139795 -36558.7284878577 + 40 0.004 0.017786472977471 -36558.7684525639 -661.869582914286 1224.05894016152 0.0377451568363827 -36558.7284891299 + 60 0.006 0.0177865119543331 -36558.8126238543 -661.915330492427 1184.24369688088 0.0794631076347515 -36558.728490712 + 80 0.008 0.0177865172048059 -36558.8659242367 -661.972562482488 1152.05459929593 0.129803482511904 -36558.7284922233 + 100 0.01 0.0177865063752424 -36558.9229549739 -662.037138807935 1129.51470280479 0.183667498513087 -36558.7284933644 +Loop time of 14.3276 on 1 procs for 100 steps with 8192 atoms + +Performance: 0.060 ns/day, 397.988 hours/ns, 6.980 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 | 4.5996 | 4.5996 | 4.5996 | 0.0 | 30.87 -Neigh | 3.6 | 3.6 | 3.6 | 0.0 | 24.16 -Comm | 0.057512 | 0.057512 | 0.057512 | 0.0 | 0.39 -Output | 2.4463 | 2.4463 | 2.4463 | 0.0 | 16.42 -Modify | 4.1766 | 4.1766 | 4.1766 | 0.0 | 28.03 -Other | | 0.01854 | | | 0.12 +Pair | 4.0409 | 4.0409 | 4.0409 | 0.0 | 28.20 +Neigh | 3.6219 | 3.6219 | 3.6219 | 0.0 | 25.28 +Comm | 0.055327 | 0.055327 | 0.055327 | 0.0 | 0.39 +Output | 2.4259 | 2.4259 | 2.4259 | 0.0 | 16.93 +Modify | 4.1688 | 4.1688 | 4.1688 | 0.0 | 29.10 +Other | | 0.01477 | | | 0.10 Nlocal: 8192 ave 8192 max 8192 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -110,4 +107,4 @@ Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:15 +Total wall time: 0:00:14 diff --git a/examples/SPIN/read_restart/log.19Nov19.spin.read_data.g++.4 b/examples/SPIN/read_restart/log.14Apr20.spin.read_data.g++.4 similarity index 51% rename from examples/SPIN/read_restart/log.19Nov19.spin.read_data.g++.4 rename to examples/SPIN/read_restart/log.14Apr20.spin.read_data.g++.4 index decd7f66de713e60b53f838854d2259bee0d94ea..6ce648abf35dabe4b4f685064d4e1e4337ddd072 100644 --- a/examples/SPIN/read_restart/log.19Nov19.spin.read_data.g++.4 +++ b/examples/SPIN/read_restart/log.14Apr20.spin.read_data.g++.4 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal dimension 3 boundary p p p @@ -12,7 +14,7 @@ read_data Norm_randXY_8x8x32.data 1 by 1 by 4 MPI processor grid reading atoms ... 8192 atoms - read_data CPU = 0.0103889 secs + read_data CPU = 0.013634 secs mass 1 58.93 @@ -41,8 +43,8 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo 10 -thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo 20 +thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz @@ -66,33 +68,28 @@ Neighbor list info ... pair build: full/bin/atomonly stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 8.422 | 8.508 | 8.751 Mbytes -Step Time v_magnorm v_emag v_tmag Temp TotEng - 0 0 0.0177864461018739 -1323.65841279979 1274.398774669 0 -37220.5576936996 - 10 0.001 0.0177864050983603 -1323.66900862096 1270.76618998865 0.0100007022583634 -37220.5576943555 - 20 0.002 0.0177863936833753 -1323.70032172864 1259.90276925185 0.0394803245313843 -37220.5576959254 - 30 0.003 0.0177864120892274 -1323.75117990111 1243.50783331745 0.087113273744231 -37220.5576982173 - 40 0.004 0.0177864533855652 -1323.8199247464 1223.91551103958 0.150986513868405 -37220.557701015 - 50 0.005 0.0177865078997919 -1323.90456902433 1203.45516787752 0.228770499151177 -37220.5577041159 - 60 0.006 0.0177865576955448 -1324.0029346455 1183.95517338662 0.317876312538184 -37220.5577073314 - 70 0.007 0.0177865860816348 -1324.11277667948 1166.52467969539 0.415601703342581 -37220.5577104775 - 80 0.008 0.0177865881669081 -1324.23190693081 1151.59982868413 0.519276589926842 -37220.557713381 - 90 0.009 0.0177865780982769 -1324.35831816525 1139.14509878533 0.626406847905203 -37220.557715901 - 100 0.01 0.017786564605084 -1324.49029060173 1128.88143013641 0.734797098519806 -37220.557717952 -Loop time of 4.32342 on 4 procs for 100 steps with 8192 atoms - -Performance: 0.200 ns/day, 120.095 hours/ns, 23.130 timesteps/s -99.8% CPU use with 4 MPI tasks x no OpenMP threads +Per MPI rank memory allocation (min/avg/max) = 8.961 | 9.047 | 9.29 Mbytes +Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng + 0 0 0.0177864461018739 -36558.7284872997 -661.829206399894 1274.398774669 0 -36558.7284872997 + 20 0.002 0.0177863981273124 -36558.7389378386 -661.839683504262 1259.94177798388 0.00986992629371963 -36558.7284878582 + 40 0.004 0.0177864622701489 -36558.7684525586 -661.869582908114 1224.05908191331 0.0377451510479599 -36558.7284891308 + 60 0.006 0.0177865625037858 -36558.8126238326 -661.915330472361 1184.24389640891 0.0794630890177406 -36558.72849071 + 80 0.008 0.0177865898045059 -36558.8659241943 -661.972562439245 1152.05483020781 0.129803443061299 -36558.7284922226 + 100 0.01 0.017786565190115 -36558.9229549058 -662.037138735432 1129.51495182843 0.183667434061771 -36558.7284933646 +Loop time of 4.35911 on 4 procs for 100 steps with 8192 atoms + +Performance: 0.198 ns/day, 121.086 hours/ns, 22.940 timesteps/s +99.7% 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.185 | 1.1925 | 1.1991 | 0.5 | 27.58 -Neigh | 0.93459 | 0.93934 | 0.94983 | 0.6 | 21.73 -Comm | 0.042462 | 0.059373 | 0.069249 | 4.1 | 1.37 -Output | 0.61823 | 0.63273 | 0.64528 | 1.3 | 14.63 -Modify | 1.4827 | 1.4955 | 1.5099 | 0.8 | 34.59 -Other | | 0.003968 | | | 0.09 +Pair | 1.0924 | 1.1043 | 1.1117 | 0.7 | 25.33 +Neigh | 0.93575 | 0.94926 | 0.98325 | 2.0 | 21.78 +Comm | 0.044663 | 0.088288 | 0.11128 | 8.7 | 2.03 +Output | 0.64199 | 0.6587 | 0.67226 | 1.4 | 15.11 +Modify | 1.5412 | 1.5535 | 1.5706 | 0.9 | 35.64 +Other | | 0.005046 | | | 0.12 Nlocal: 2048 ave 2061 max 2035 min Histogram: 1 0 0 1 0 0 1 0 0 1 diff --git a/examples/SPIN/read_restart/log.19Nov19.spin.restart.g++.1 b/examples/SPIN/read_restart/log.14Apr20.spin.restart.g++.1 similarity index 53% rename from examples/SPIN/read_restart/log.19Nov19.spin.restart.g++.1 rename to examples/SPIN/read_restart/log.14Apr20.spin.restart.g++.1 index c7544dedfad129b06f2f0a1bcdc9ee6454028fb4..652f7da4742f166c05d29cf6b2f1167886da1828 100644 --- a/examples/SPIN/read_restart/log.19Nov19.spin.restart.g++.1 +++ b/examples/SPIN/read_restart/log.14Apr20.spin.restart.g++.1 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # start a spin-lattice simulation from a data file units metal atom_style spin @@ -10,13 +12,13 @@ boundary p p p atom_modify map array read_restart restart_hcp_cobalt.equil -WARNING: Restart file used different # of processors: 4 vs. 1 (../read_restart.cpp:742) +WARNING: Restart file used different # of processors: 4 vs. 1 (../read_restart.cpp:736) restoring atom style spin from restart orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) 1 by 1 by 1 MPI processor grid restoring pair style spin/exchange from restart 500 atoms - read_restart CPU = 0.000396967 secs + read_restart CPU = 0.00179696 secs # setting mass, mag. moments, and interactions @@ -47,8 +49,8 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo 10 -thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo 20 +thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz @@ -72,33 +74,28 @@ Neighbor list info ... pair build: full/bin/atomonly stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.816 | 6.816 | 6.816 Mbytes -Step Time v_magnorm v_emag v_tmag Temp TotEng - 1000 0 0.108317262557656 -10.7649197733649 2538.4247868621 0 -2200.38241212222 - 1010 0.001 0.108317281393701 -10.7743543303502 2527.22692799144 0.146167392153018 -2200.3776953858 - 1020 0.002 0.108317318482233 -10.8022550516195 2509.47863584151 0.577304300153637 -2200.36374625815 - 1030 0.003 0.108317366763426 -10.8476659807571 2487.5614649682 1.27529086243277 -2200.34104256596 - 1040 0.004 0.108317415532953 -10.9092708333549 2463.97963921611 2.21443906326453 -2200.31024227618 - 1050 0.005 0.108317453851058 -10.98553406179 2440.70473642157 3.36396898978859 -2200.27211302201 - 1060 0.006 0.108317473584086 -11.0748008072977 2418.66477599297 4.68991434259399 -2200.22748216359 - 1070 0.007 0.108317471632913 -11.175325501803 2397.59274785581 6.15596240129541 -2200.17722244953 - 1080 0.008 0.108317450667394 -11.2852665400894 2376.32871275528 7.7237909750654 -2200.12225459883 - 1090 0.009 0.108317417687893 -11.4027246787047 2353.52646917989 9.35409156720424 -2200.06352807392 - 1100 0.01 0.108317381194814 -11.52585602487 2328.41541723561 11.0087303030003 -2200.0019646458 -Loop time of 0.964681 on 1 procs for 100 steps with 500 atoms - -Performance: 0.896 ns/day, 26.797 hours/ns, 103.661 timesteps/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Per MPI rank memory allocation (min/avg/max) = 7.422 | 7.422 | 7.422 Mbytes +Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng + 1000 0 0.108317262557656 -2200.38241212222 -5.38245988668244 2538.4247868621 0 -2200.38241212222 + 1020 0.002 0.108317318495042 -2200.39172132133 -5.39179331134703 2513.42968070374 0.144319963844279 -2200.38241256643 + 1040 0.004 0.108317415558744 -2200.41811580407 -5.418541526637 2478.87571728648 0.553516420254567 -2200.38241354532 + 1060 0.006 0.108317473592946 -2200.45801216332 -5.45990062771403 2449.77257658726 1.17203792179707 -2200.38241476526 + 1080 0.008 0.108317450745396 -2200.5068824087 -5.51245983698347 2427.25022669715 1.92968606059505 -2200.3824160902 + 1100 0.01 0.108317381572202 -2200.55976028827 -5.57250071024394 2400.86131889957 2.74946927499959 -2200.38241728649 +Loop time of 0.954493 on 1 procs for 100 steps with 500 atoms + +Performance: 0.905 ns/day, 26.514 hours/ns, 104.768 timesteps/s +100.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.29842 | 0.29842 | 0.29842 | 0.0 | 30.93 -Neigh | 0.25359 | 0.25359 | 0.25359 | 0.0 | 26.29 -Comm | 0.0069926 | 0.0069926 | 0.0069926 | 0.0 | 0.72 -Output | 0.14398 | 0.14398 | 0.14398 | 0.0 | 14.93 -Modify | 0.26045 | 0.26045 | 0.26045 | 0.0 | 27.00 -Other | | 0.001249 | | | 0.13 +Pair | 0.27043 | 0.27043 | 0.27043 | 0.0 | 28.33 +Neigh | 0.26148 | 0.26148 | 0.26148 | 0.0 | 27.40 +Comm | 0.0071123 | 0.0071123 | 0.0071123 | 0.0 | 0.75 +Output | 0.14169 | 0.14169 | 0.14169 | 0.0 | 14.84 +Modify | 0.2726 | 0.2726 | 0.2726 | 0.0 | 28.56 +Other | | 0.001178 | | | 0.12 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/read_restart/log.19Nov19.spin.restart.g++.4 b/examples/SPIN/read_restart/log.14Apr20.spin.restart.g++.4 similarity index 53% rename from examples/SPIN/read_restart/log.19Nov19.spin.restart.g++.4 rename to examples/SPIN/read_restart/log.14Apr20.spin.restart.g++.4 index 6443d341cd06049525e3a8f1e9a46f09265bb24f..c22c672f6b82fdd030f3a971bc4161cdfc0562e8 100644 --- a/examples/SPIN/read_restart/log.19Nov19.spin.restart.g++.4 +++ b/examples/SPIN/read_restart/log.14Apr20.spin.restart.g++.4 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # start a spin-lattice simulation from a data file units metal atom_style spin @@ -15,7 +17,7 @@ read_restart restart_hcp_cobalt.equil 1 by 2 by 2 MPI processor grid restoring pair style spin/exchange from restart 500 atoms - read_restart CPU = 0.000922918 secs + read_restart CPU = 0.00173593 secs # setting mass, mag. moments, and interactions @@ -46,8 +48,8 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo 10 -thermo_style custom step time v_magnorm v_emag v_tmag temp etotal +thermo 20 +thermo_style custom step time v_magnorm pe v_emag v_tmag temp etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz @@ -71,33 +73,28 @@ Neighbor list info ... pair build: full/bin/atomonly stencil: full/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.704 | 6.704 | 6.704 Mbytes -Step Time v_magnorm v_emag v_tmag Temp TotEng - 1000 0 0.108317262557656 -10.7649197733649 2538.4247868621 0 -2205.7648720085 - 1010 0.001 0.108317290362529 -10.7743543303489 2527.22680531097 0.146167392137698 -2205.76487255096 - 1020 0.002 0.108317316207642 -10.8022550521284 2509.47840782645 0.577304308061779 -2205.76487378396 - 1030 0.003 0.108317335980455 -10.8476659832667 2487.56119588937 1.27529090130452 -2205.76487555634 - 1040 0.004 0.108317347902639 -10.9092708400684 2463.97936529674 2.21443916694928 -2205.76487769286 - 1050 0.005 0.108317349786635 -10.9855340757384 2440.7044253165 3.36396920446814 -2205.76488005291 - 1060 0.006 0.108317342445881 -11.0748008315013 2418.66438763214 4.68991471343994 -2205.76488256723 - 1070 0.007 0.10831733355314 -11.1753255362286 2397.59228728929 6.15596292529133 -2205.76488520046 - 1080 0.008 0.108317320750099 -11.2852665775656 2376.32820919279 7.7237915384778 -2205.76488786888 - 1090 0.009 0.108317304079233 -11.402724701646 2353.52588586648 9.35409189724323 -2205.7648904133 - 1100 0.01 0.108317284409678 -11.5258560062539 2328.41472376239 11.0087299868288 -2205.76489265829 -Loop time of 0.410707 on 4 procs for 100 steps with 500 atoms - -Performance: 2.104 ns/day, 11.409 hours/ns, 243.483 timesteps/s -99.7% CPU use with 4 MPI tasks x no OpenMP threads +Per MPI rank memory allocation (min/avg/max) = 7.324 | 7.324 | 7.324 Mbytes +Step Time v_magnorm PotEng v_emag v_tmag Temp TotEng + 1000 0 0.108317262557656 -2200.38241212182 -5.38245988668244 2538.4247868621 0 -2200.38241212182 + 1020 0.002 0.108317316216432 -2200.39172132147 -5.39179331147409 2513.42945241007 0.14431996581917 -2200.38241256644 + 1040 0.004 0.108317347939802 -2200.41811580574 -5.41854152831072 2478.87544274124 0.553516446104432 -2200.38241354532 + 1060 0.006 0.108317342440309 -2200.45801216927 -5.45990063373049 2449.77218633122 1.17203801398165 -2200.38241476526 + 1080 0.008 0.108317320345284 -2200.50688241767 -5.51245984623572 2427.2497145488 1.92968619968329 -2200.3824160902 + 1100 0.01 0.10831728372281 -2200.55976028296 -5.57250070536486 2400.86059511731 2.74946919265255 -2200.38241728649 +Loop time of 0.405615 on 4 procs for 100 steps with 500 atoms + +Performance: 2.130 ns/day, 11.267 hours/ns, 246.539 timesteps/s +99.7% 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.083043 | 0.083714 | 0.084202 | 0.1 | 20.38 -Neigh | 0.063158 | 0.064429 | 0.065314 | 0.3 | 15.69 -Comm | 0.012237 | 0.013588 | 0.014798 | 0.8 | 3.31 -Output | 0.039088 | 0.040653 | 0.042176 | 0.6 | 9.90 -Modify | 0.20645 | 0.20795 | 0.20945 | 0.2 | 50.63 -Other | | 0.0003724 | | | 0.09 +Pair | 0.075661 | 0.076798 | 0.077343 | 0.2 | 18.93 +Neigh | 0.063154 | 0.064974 | 0.066991 | 0.5 | 16.02 +Comm | 0.012538 | 0.013787 | 0.015151 | 0.8 | 3.40 +Output | 0.039155 | 0.040842 | 0.042502 | 0.6 | 10.07 +Modify | 0.20709 | 0.20883 | 0.21036 | 0.3 | 51.49 +Other | | 0.0003826 | | | 0.09 Nlocal: 125 ave 127 max 122 min Histogram: 1 0 0 0 1 0 0 0 0 2 diff --git a/examples/SPIN/read_restart/log.19Nov19.spin.write_restart.g++.1 b/examples/SPIN/read_restart/log.14Apr20.spin.write_restart.g++.1 similarity index 59% rename from examples/SPIN/read_restart/log.19Nov19.spin.write_restart.g++.1 rename to examples/SPIN/read_restart/log.14Apr20.spin.write_restart.g++.1 index 9dbe1a354805b687d5f66aaddb5f66027fa36a24..8ad14c55c05d2d4bf43f751df6c75bc175bdf745 100644 --- a/examples/SPIN/read_restart/log.19Nov19.spin.write_restart.g++.1 +++ b/examples/SPIN/read_restart/log.14Apr20.spin.write_restart.g++.1 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # fcc cobalt in a 3d periodic box units metal @@ -18,7 +20,7 @@ Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 500 atoms - create_atoms CPU = 0.000552893 secs + create_atoms CPU = 0.000952005 secs # setting mass, mag. moments, and interactions for cobalt @@ -51,7 +53,7 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo_style custom step time v_magnorm v_emag temp etotal +thermo_style custom step time v_magnorm pe v_emag temp etotal thermo 100 compute outsp all property/atom spx spy spz sp fmx fmy fmz @@ -71,32 +73,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 6.947 | 6.947 | 6.947 Mbytes -Step Time v_magnorm v_emag Temp TotEng - 0 0 0.076558814 1.7982359 0 0.89911794 - 100 0.01 0.077628154 0.73387834 0 0.36693917 - 200 0.02 0.076678996 -0.4048463 0 -0.20242315 - 300 0.03 0.079174837 -1.3519103 0 -0.67595514 - 400 0.04 0.085031632 -3.0345702 0 -1.5172851 - 500 0.05 0.08702747 -4.0853256 0 -2.0426628 - 600 0.06 0.087066482 -5.259549 0 -2.6297745 - 700 0.07 0.089788894 -6.629076 0 -3.314538 - 800 0.08 0.091699611 -8.0574087 0 -4.0287043 - 900 0.09 0.090038899 -9.2012019 0 -4.600601 - 1000 0.1 0.093257309 -10.470452 0 -5.2352261 -Loop time of 3.37852 on 1 procs for 1000 steps with 500 atoms - -Performance: 2.557 ns/day, 9.385 hours/ns, 295.987 timesteps/s -99.6% CPU use with 1 MPI tasks x no OpenMP threads +Step Time v_magnorm PotEng v_emag Temp TotEng + 0 0 0.076558814 0.89911794 0.89911794 0 0.89911794 + 100 0.01 0.077628154 0.36693917 0.36693917 0 0.36693917 + 200 0.02 0.076678996 -0.20242315 -0.20242315 0 -0.20242315 + 300 0.03 0.079174837 -0.67595514 -0.67595514 0 -0.67595514 + 400 0.04 0.085031632 -1.5172851 -1.5172851 0 -1.5172851 + 500 0.05 0.08702747 -2.0426628 -2.0426628 0 -2.0426628 + 600 0.06 0.087066482 -2.6297745 -2.6297745 0 -2.6297745 + 700 0.07 0.089788894 -3.314538 -3.314538 0 -3.314538 + 800 0.08 0.091699611 -4.0287043 -4.0287043 0 -4.0287043 + 900 0.09 0.090038899 -4.600601 -4.600601 0 -4.600601 + 1000 0.1 0.093257309 -5.2352261 -5.2352261 0 -5.2352261 +Loop time of 3.30071 on 1 procs for 1000 steps with 500 atoms + +Performance: 2.618 ns/day, 9.169 hours/ns, 302.965 timesteps/s +99.3% 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.45808 | 0.45808 | 0.45808 | 0.0 | 13.56 +Pair | 0.3844 | 0.3844 | 0.3844 | 0.0 | 11.65 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.019707 | 0.019707 | 0.019707 | 0.0 | 0.58 -Output | 1.3865 | 1.3865 | 1.3865 | 0.0 | 41.04 -Modify | 1.5106 | 1.5106 | 1.5106 | 0.0 | 44.71 -Other | | 0.003624 | | | 0.11 +Comm | 0.019863 | 0.019863 | 0.019863 | 0.0 | 0.60 +Output | 1.3844 | 1.3844 | 1.3844 | 0.0 | 41.94 +Modify | 1.5084 | 1.5084 | 1.5084 | 0.0 | 45.70 +Other | | 0.00367 | | | 0.11 Nlocal: 500 ave 500 max 500 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -113,7 +115,6 @@ Neighbor list builds = 0 Dangerous builds = 0 write_restart restart_hcp_cobalt.equil - Please see the log.cite file for references relevant to this simulation Total wall time: 0:00:03 diff --git a/examples/SPIN/read_restart/log.19Nov19.spin.write_restart.g++.4 b/examples/SPIN/read_restart/log.14Apr20.spin.write_restart.g++.4 similarity index 59% rename from examples/SPIN/read_restart/log.19Nov19.spin.write_restart.g++.4 rename to examples/SPIN/read_restart/log.14Apr20.spin.write_restart.g++.4 index cb9827460322a5edfb9b537bd771a6322255163b..c0c1ec130c9f0ca42f92fac4fd3a9f0c4cc61dff 100644 --- a/examples/SPIN/read_restart/log.19Nov19.spin.write_restart.g++.4 +++ b/examples/SPIN/read_restart/log.14Apr20.spin.write_restart.g++.4 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # fcc cobalt in a 3d periodic box units metal @@ -18,7 +20,7 @@ Created orthogonal box = (0 0 0) to (12.5355 21.7121 20.4704) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 500 atoms - create_atoms CPU = 0.000751972 secs + create_atoms CPU = 0.000663042 secs # setting mass, mag. moments, and interactions for cobalt @@ -51,7 +53,7 @@ variable magnorm equal c_out_mag[4] variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] -thermo_style custom step time v_magnorm v_emag temp etotal +thermo_style custom step time v_magnorm pe v_emag temp etotal thermo 100 compute outsp all property/atom spx spy spz sp fmx fmy fmz @@ -71,32 +73,32 @@ Neighbor list info ... stencil: full/bin/3d bin: standard Per MPI rank memory allocation (min/avg/max) = 6.868 | 6.868 | 6.868 Mbytes -Step Time v_magnorm v_emag Temp TotEng - 0 0 0.076558814 1.7982359 0 1.7982359 - 100 0.01 0.078299981 0.88259584 0 0.88259584 - 200 0.02 0.081260508 -0.43484722 0 -0.43484722 - 300 0.03 0.081195603 -1.7408209 0 -1.7408209 - 400 0.04 0.087298495 -3.4139038 0 -3.4139038 - 500 0.05 0.087663924 -4.3766089 0 -4.3766089 - 600 0.06 0.091713683 -5.8534921 0 -5.8534921 - 700 0.07 0.093779119 -6.706628 0 -6.706628 - 800 0.08 0.097960611 -7.8688568 0 -7.8688568 - 900 0.09 0.10193463 -9.5888008 0 -9.5888008 - 1000 0.1 0.10831726 -10.76492 0 -10.76492 -Loop time of 1.70473 on 4 procs for 1000 steps with 500 atoms - -Performance: 5.068 ns/day, 4.735 hours/ns, 586.602 timesteps/s -99.6% CPU use with 4 MPI tasks x no OpenMP threads +Step Time v_magnorm PotEng v_emag Temp TotEng + 0 0 0.076558814 0.89911794 0.89911794 0 0.89911794 + 100 0.01 0.078299981 0.44129792 0.44129792 0 0.44129792 + 200 0.02 0.081260508 -0.21742361 -0.21742361 0 -0.21742361 + 300 0.03 0.081195603 -0.87041046 -0.87041046 0 -0.87041046 + 400 0.04 0.087298495 -1.7069519 -1.7069519 0 -1.7069519 + 500 0.05 0.087663924 -2.1883045 -2.1883045 0 -2.1883045 + 600 0.06 0.091713683 -2.9267461 -2.9267461 0 -2.9267461 + 700 0.07 0.093779119 -3.353314 -3.353314 0 -3.353314 + 800 0.08 0.097960611 -3.9344284 -3.9344284 0 -3.9344284 + 900 0.09 0.10193463 -4.7944004 -4.7944004 0 -4.7944004 + 1000 0.1 0.10831726 -5.3824599 -5.3824599 0 -5.3824599 +Loop time of 1.7839 on 4 procs for 1000 steps with 500 atoms + +Performance: 4.843 ns/day, 4.955 hours/ns, 560.569 timesteps/s +99.5% 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.11636 | 0.11927 | 0.12069 | 0.5 | 7.00 +Pair | 0.10068 | 0.10749 | 0.11461 | 1.5 | 6.03 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.049208 | 0.052445 | 0.057424 | 1.4 | 3.08 -Output | 0.38579 | 0.40345 | 0.4199 | 2.0 | 23.67 -Modify | 1.1138 | 1.1282 | 1.1436 | 1.1 | 66.18 -Other | | 0.001322 | | | 0.08 +Comm | 0.052378 | 0.062171 | 0.07177 | 2.8 | 3.49 +Output | 0.4054 | 0.42334 | 0.44025 | 2.0 | 23.73 +Modify | 1.174 | 1.1893 | 1.2043 | 1.1 | 66.67 +Other | | 0.001558 | | | 0.09 Nlocal: 125 ave 125 max 125 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -113,7 +115,6 @@ Neighbor list builds = 0 Dangerous builds = 0 write_restart restart_hcp_cobalt.equil - Please see the log.cite file for references relevant to this simulation Total wall time: 0:00:01 diff --git a/examples/SPIN/read_restart/restart_hcp_cobalt.equil b/examples/SPIN/read_restart/restart_hcp_cobalt.equil new file mode 100644 index 0000000000000000000000000000000000000000..d7f92285db0bd7e3b4c36fcdf88d53180f491962 Binary files /dev/null and b/examples/SPIN/read_restart/restart_hcp_cobalt.equil differ diff --git a/examples/SPIN/run_spin_examples.sh b/examples/SPIN/run_spin_examples.sh index a71da82a04a8a5e03598363a7ca3faf27cffb844..432d70c2ba536bab6d0287ecfc6ea6bfce68e5a5 100755 --- a/examples/SPIN/run_spin_examples.sh +++ b/examples/SPIN/run_spin_examples.sh @@ -1,6 +1,6 @@ #!/bin/bash -DATE=19Nov19 +DATE=14Apr20 # bfo cd bfo/ diff --git a/examples/SPIN/run_spin_examples_serial.sh b/examples/SPIN/run_spin_examples_serial.sh new file mode 100755 index 0000000000000000000000000000000000000000..f367dfd8f494a63dc31cd19e141ef08af22d9ae1 --- /dev/null +++ b/examples/SPIN/run_spin_examples_serial.sh @@ -0,0 +1,120 @@ +#!/bin/bash + +DATE=21Fev20 + +# bfo +cd bfo/ +../../../src/lmp_serial -in in.spin.bfo +cp log.lammps log.${DATE}.spin.bfo.g++.1 +../../../src/lmp_serial -in in.spin.bfo +cp log.lammps log.${DATE}.spin.bfo.g++.4 +rm log.lammps log.cite dump*.lammpstrj +cd .. + +# fcc cobalt +cd cobalt_fcc/ +../../../src/lmp_serial -in in.spin.cobalt_fcc +cp log.lammps log.${DATE}.spin.cobalt_fcc.g++.1 +../../../src/lmp_serial -in in.spin.cobalt_fcc +cp log.lammps log.${DATE}.spin.cobalt_fcc.g++.4 +rm log.lammps log.cite dump*.lammpstrj +cd .. + +# hcp cobalt +cd cobalt_hcp/ +../../../src/lmp_serial -in in.spin.cobalt_hcp +cp log.lammps log.${DATE}.spin.cobalt_hcp.g++.1 +../../../src/lmp_serial -in in.spin.cobalt_hcp +cp log.lammps log.${DATE}.spin.cobalt_hcp.g++.4 +rm log.lammps log.cite dump*.lammpstrj +cd .. + +# dipole spin +cd dipole_spin/ +../../../src/lmp_serial -in in.spin.iron_dipole_cut +cp log.lammps log.${DATE}.spin.iron_dipole_cut.g++.1 +../../../src/lmp_serial -in in.spin.iron_dipole_cut +cp log.lammps log.${DATE}.spin.iron_dipole_cut.g++.4 +../../../src/lmp_serial -in in.spin.iron_dipole_ewald +cp log.lammps log.${DATE}.spin.iron_dipole_ewald.g++.1 +../../../src/lmp_serial -in in.spin.iron_dipole_ewald +cp log.lammps log.${DATE}.spin.iron_dipole_ewald.g++.4 +../../../src/lmp_serial -in in.spin.iron_dipole_pppm +cp log.lammps log.${DATE}.spin.iron_dipole_pppm.g++.1 +../../../src/lmp_serial -in in.spin.iron_dipole_pppm +cp log.lammps log.${DATE}.spin.iron_dipole_pppm.g++.4 +rm log.lammps log.cite dump*.lammpstrj +cd .. + +# bcc iron +cd iron/ +../../../src/lmp_serial -in in.spin.iron +cp log.lammps log.${DATE}.spin.iron.g++.1 +../../../src/lmp_serial -in in.spin.iron +cp log.lammps log.${DATE}.spin.iron.g++.4 +../../../src/lmp_serial -in in.spin.iron_cubic +cp log.lammps log.${DATE}.spin.iron_cubic.g++.1 +../../../src/lmp_serial -in in.spin.iron_cubic +cp log.lammps log.${DATE}.spin.iron_cubic.g++.4 +rm log.lammps log.cite dump*.lammpstrj +cd .. + +# fcc nickel +cd nickel/ +../../../src/lmp_serial -in in.spin.nickel +cp log.lammps log.${DATE}.spin.nickel.g++.1 +../../../src/lmp_serial -in in.spin.nickel +cp log.lammps log.${DATE}.spin.nickel.g++.4 +../../../src/lmp_serial -in in.spin.nickel_cubic +cp log.lammps log.${DATE}.spin.nickel_cubic.g++.1 +../../../src/lmp_serial -in in.spin.nickel_cubic +cp log.lammps log.${DATE}.spin.nickel_cubic.g++.4 +rm log.lammps log.cite dump*.lammpstrj +cd .. + +# read restart +cd read_restart/ +../../../src/lmp_serial -in in.spin.write_restart +cp log.lammps log.${DATE}.spin.write_restart.g++.1 +../../../src/lmp_serial -in in.spin.write_restart +cp log.lammps log.${DATE}.spin.write_restart.g++.4 +../../../src/lmp_serial -in in.spin.restart +cp log.lammps log.${DATE}.spin.restart.g++.1 +../../../src/lmp_serial -in in.spin.restart +cp log.lammps log.${DATE}.spin.restart.g++.4 +../../../src/lmp_serial -in in.spin.read_data +cp log.lammps log.${DATE}.spin.read_data.g++.1 +../../../src/lmp_serial -in in.spin.read_data +cp log.lammps log.${DATE}.spin.read_data.g++.4 +rm log.lammps log.cite dump*.lammpstrj +cd .. + +# setforce +cd setforce_spin/ +../../../src/lmp_serial -in in.spin.setforce +cp log.lammps log.${DATE}.spin.setforce.g++.1 +../../../src/lmp_serial -in in.spin.setforce +cp log.lammps log.${DATE}.spin.setforce.g++.4 +rm log.lammps log.cite dump*.lammpstrj +cd .. + +# spin minimizers +cd spinmin/ +../../../src/lmp_serial -in in.spin.bfo_min +cp log.lammps log.${DATE}.spin.bfo_min.g++.1 +../../../src/lmp_serial -in in.spin.bfo_min +cp log.lammps log.${DATE}.spin.bfo_min.g++.4 +../../../src/lmp_serial -in in.spin.bfo_min_cg +cp log.lammps log.${DATE}.spin.bfo_min_cg.g++.1 +../../../src/lmp_serial -in in.spin.bfo_min_cg +cp log.lammps log.${DATE}.spin.bfo_min_cg.g++.4 +../../../src/lmp_serial -in in.spin.bfo_min_lbfgs +cp log.lammps log.${DATE}.spin.bfo_min_lbfgs.g++.1 +../../../src/lmp_serial -in in.spin.bfo_min_lbfgs +cp log.lammps log.${DATE}.spin.bfo_min_lbfgs.g++.4 +../../../src/lmp_serial -in in.spin.iron_min +cp log.lammps log.${DATE}.spin.iron_min.g++.1 +../../../src/lmp_serial -in in.spin.iron_min +cp log.lammps log.${DATE}.spin.iron_min.g++.4 +rm log.lammps log.cite dump*.lammpstrj +cd .. diff --git a/examples/SPIN/setforce_spin/in.spin.setforce b/examples/SPIN/setforce_spin/in.spin.setforce index 0d65955a296b592f7403c3f2537cc9abcd5ef5b6..4edf70eb52d0f963a813be6bec297632923ca4f1 100644 --- a/examples/SPIN/setforce_spin/in.spin.setforce +++ b/examples/SPIN/setforce_spin/in.spin.setforce @@ -48,7 +48,7 @@ variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] thermo 100 -thermo_style custom step time v_magx v_magz v_magnorm v_tmag etotal +thermo_style custom step time v_magx v_magz v_magnorm v_tmag pe v_emag etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz diff --git a/examples/SPIN/setforce_spin/log.19Nov19.spin.setforce.g++.1 b/examples/SPIN/setforce_spin/log.14Apr20.spin.setforce.g++.1 similarity index 79% rename from examples/SPIN/setforce_spin/log.19Nov19.spin.setforce.g++.1 rename to examples/SPIN/setforce_spin/log.14Apr20.spin.setforce.g++.1 index ed5c037feb9f11dbb919924743cb96ee29ebfa10..ef5e86b0b3746acca22626e592bbfd88ad6cc830 100644 --- a/examples/SPIN/setforce_spin/log.19Nov19.spin.setforce.g++.1 +++ b/examples/SPIN/setforce_spin/log.14Apr20.spin.setforce.g++.1 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal dimension 3 @@ -18,10 +20,10 @@ region reg1 block 0.0 10.0 0.0 5.0 0.0 1.0 region reg2 block 0.0 10.0 6.0 10.0 0.0 1.0 create_atoms 1 region reg1 Created 120 atoms - create_atoms CPU = 0.000998974 secs + create_atoms CPU = 0.000992775 secs create_atoms 2 region reg2 Created 80 atoms - create_atoms CPU = 4.1008e-05 secs + create_atoms CPU = 0.000215054 secs # setting mass, mag. moments, and interactions for bcc iron @@ -59,7 +61,7 @@ variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] thermo 100 -thermo_style custom step time v_magx v_magz v_magnorm v_tmag etotal +thermo_style custom step time v_magx v_magz v_magnorm v_tmag pe v_emag etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz @@ -68,7 +70,7 @@ dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[ min_style spin min_modify alpha_damp 1.0 discrete_factor 20.0 minimize 1.0e-16 1.0e-16 1000 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:177) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:190) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -87,21 +89,21 @@ Neighbor list info ... stencil: none bin: none Per MPI rank memory allocation (min/avg/max) = 7.215 | 7.215 | 7.215 Mbytes -Step Time v_magx v_magz v_magnorm v_tmag TotEng - 0 0 0.000143282585570239 0.615515043943419 0.615726279597251 24.9364200982478 0.121881906963737 - 100 0.01 0.000616167502203097 0.594467364025194 0.594498630048783 0.00188964439583802 0.0371335982020527 - 200 0.02 0.000498981016106215 0.595175581059792 0.595218717456538 0.000158614984300385 0.036877233648055 - 300 0.03 0.000211899815837572 0.595357874794342 0.595402442288391 1.44454891242177e-05 0.0368548794182375 - 400 0.04 7.98967577397158e-05 0.595395828381057 0.595440657806237 1.50721782707597e-06 0.0368527556548781 - 500 0.05 2.9121648914103e-05 0.595403174462525 0.595448064489507 1.74330474543395e-07 0.0368525254239539 - 600 0.06 1.04772320898497e-05 0.595404457003426 0.595449362424563 2.12204214498221e-08 0.0368524982492743 - 700 0.07 3.74634771616422e-06 0.595404627382825 0.595449536940641 2.63852407890463e-09 0.036852494912626 - 800 0.08 1.33525617457914e-06 0.595404626884198 0.595449537611055 3.30772506699851e-10 0.0368524944963445 - 900 0.09 4.75054785504803e-07 0.595404613763238 0.595449524836571 4.15940445257144e-11 0.0368524944440918 - 1000 0.1 1.68843135202601e-07 0.59540460640039 0.595449517580793 5.23632581178917e-12 0.036852494437518 -Loop time of 0.0966749 on 1 procs for 1000 steps with 200 atoms - -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Step Time v_magx v_magz v_magnorm v_tmag PotEng v_emag TotEng + 0 0 0.000143282585570239 0.615515043943419 0.615726279597251 24.9364200982478 0.121881906963737 0.121881906963737 0.121881906963737 + 100 0.01 0.000616167502203097 0.594467364025194 0.594498630048783 0.00188964439583802 0.0371335982020527 0.0371335982020522 0.0371335982020527 + 200 0.02 0.000498981016106215 0.595175581059792 0.595218717456538 0.000158614984300385 0.036877233648055 0.0368772336480544 0.036877233648055 + 300 0.03 0.000211899815837572 0.595357874794342 0.595402442288391 1.44454891242177e-05 0.0368548794182375 0.0368548794182369 0.0368548794182375 + 400 0.04 7.98967577397158e-05 0.595395828381057 0.595440657806237 1.50721782707597e-06 0.0368527556548781 0.0368527556548775 0.0368527556548781 + 500 0.05 2.9121648914103e-05 0.595403174462525 0.595448064489507 1.74330474543395e-07 0.0368525254239539 0.0368525254239533 0.0368525254239539 + 600 0.06 1.04772320898497e-05 0.595404457003426 0.595449362424563 2.12204214498221e-08 0.0368524982492743 0.0368524982492735 0.0368524982492743 + 700 0.07 3.74634771616422e-06 0.595404627382825 0.595449536940641 2.63852407890463e-09 0.036852494912626 0.0368524949126256 0.036852494912626 + 800 0.08 1.33525617457914e-06 0.595404626884198 0.595449537611055 3.30772506699851e-10 0.0368524944963445 0.0368524944963439 0.0368524944963445 + 900 0.09 4.75054785504803e-07 0.595404613763238 0.595449524836571 4.15940445257144e-11 0.0368524944440918 0.0368524944440912 0.0368524944440918 + 1000 0.1 1.68843135202601e-07 0.59540460640039 0.595449517580793 5.23632581178917e-12 0.036852494437518 0.0368524944375173 0.036852494437518 +Loop time of 0.093256 on 1 procs for 1000 steps with 200 atoms + +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = max iterations @@ -115,12 +117,12 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.08679 | 0.08679 | 0.08679 | 0.0 | 89.77 +Pair | 0.08325 | 0.08325 | 0.08325 | 0.0 | 89.27 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 7.2956e-05 | 7.2956e-05 | 7.2956e-05 | 0.0 | 0.08 -Output | 0.0033231 | 0.0033231 | 0.0033231 | 0.0 | 3.44 -Modify | 0.0022919 | 0.0022919 | 0.0022919 | 0.0 | 2.37 -Other | | 0.004197 | | | 4.34 +Comm | 6.032e-05 | 6.032e-05 | 6.032e-05 | 0.0 | 0.06 +Output | 0.0033138 | 0.0033138 | 0.0033138 | 0.0 | 3.55 +Modify | 0.0023961 | 0.0023961 | 0.0023961 | 0.0 | 2.57 +Other | | 0.004236 | | | 4.54 Nlocal: 200 ave 200 max 200 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/setforce_spin/log.19Nov19.spin.setforce.g++.4 b/examples/SPIN/setforce_spin/log.14Apr20.spin.setforce.g++.4 similarity index 57% rename from examples/SPIN/setforce_spin/log.19Nov19.spin.setforce.g++.4 rename to examples/SPIN/setforce_spin/log.14Apr20.spin.setforce.g++.4 index 4ce1497957d374a4f43ca83d63b124997b0e2887..c99bad0b402d7e4f52a54248b0dc8089f7b16dae 100644 --- a/examples/SPIN/setforce_spin/log.19Nov19.spin.setforce.g++.4 +++ b/examples/SPIN/setforce_spin/log.14Apr20.spin.setforce.g++.4 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task units metal dimension 3 @@ -18,10 +20,10 @@ region reg1 block 0.0 10.0 0.0 5.0 0.0 1.0 region reg2 block 0.0 10.0 6.0 10.0 0.0 1.0 create_atoms 1 region reg1 Created 120 atoms - create_atoms CPU = 0.000770092 secs + create_atoms CPU = 0.000747204 secs create_atoms 2 region reg2 Created 80 atoms - create_atoms CPU = 7.9155e-05 secs + create_atoms CPU = 0.000154018 secs # setting mass, mag. moments, and interactions for bcc iron @@ -59,7 +61,7 @@ variable emag equal c_out_mag[5] variable tmag equal c_out_mag[6] thermo 100 -thermo_style custom step time v_magx v_magz v_magnorm v_tmag etotal +thermo_style custom step time v_magx v_magz v_magnorm v_tmag pe v_emag etotal thermo_modify format float %20.15g compute outsp all property/atom spx spy spz sp fmx fmy fmz @@ -68,7 +70,7 @@ dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[ min_style spin min_modify alpha_damp 1.0 discrete_factor 20.0 minimize 1.0e-16 1.0e-16 1000 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:177) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:190) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -87,26 +89,26 @@ Neighbor list info ... stencil: none bin: none Per MPI rank memory allocation (min/avg/max) = 7.2 | 7.2 | 7.2 Mbytes -Step Time v_magx v_magz v_magnorm v_tmag TotEng - 0 0 0.000143282585570239 0.615515043943419 0.615726279597251 21.735436446264 0.251043691626527 - 100 0.01 -0.00116085697754605 0.590264559350799 0.590315072966953 0.00283413081085227 0.0846048989956832 - 200 0.02 -0.000147570523236238 0.5896197627388 0.589686497206689 0.000451051163122381 0.0839054390713705 - 300 0.03 2.64982966536902e-05 0.59002969475615 0.590102003120244 5.22539631503911e-05 0.0838351677819014 - 400 0.04 1.77805448780033e-05 0.590195117338991 0.590268726215095 4.46490059775722e-06 0.0838382933245032 - 500 0.05 6.71566571038784e-06 0.590243842081075 0.590317756995865 3.63227563542099e-07 0.0838411433937997 - 600 0.06 2.2410340743112e-06 0.590257551861528 0.590331542128336 2.99360370345601e-08 0.0838420708305252 - 700 0.07 7.12179152897591e-07 0.5902614042958 0.590335413637884 2.51559188415894e-09 0.0838423375091767 - 800 0.08 2.20574733079126e-07 0.590262494529884 0.590336508799302 2.14455748236281e-10 0.0838424126463497 - 900 0.09 6.72564339365689e-08 0.590262805532644 0.590336821097688 1.84495767133404e-11 0.0838424338620728 - 1000 0.1 2.03001940390912e-08 0.590262894882646 0.590336910794094 1.5958531383517e-12 0.0838424398944951 -Loop time of 0.0617704 on 4 procs for 1000 steps with 200 atoms - -98.7% CPU use with 4 MPI tasks x no OpenMP threads +Step Time v_magx v_magz v_magnorm v_tmag PotEng v_emag TotEng + 0 0 0.000143282585570239 0.615515043943419 0.615726279597251 24.9364200982478 0.121881906963737 0.121881906963737 0.121881906963737 + 100 0.01 0.000616167502203098 0.594467364025194 0.594498630048784 0.00188964439583802 0.0371335982020525 0.037133598202052 0.0371335982020525 + 200 0.02 0.000498981016106215 0.595175581059791 0.595218717456538 0.000158614984300385 0.0368772336480548 0.0368772336480543 0.0368772336480548 + 300 0.03 0.000211899815837572 0.595357874794342 0.595402442288391 1.44454891242177e-05 0.0368548794182373 0.0368548794182367 0.0368548794182373 + 400 0.04 7.9896757739716e-05 0.595395828381057 0.595440657806237 1.50721782707597e-06 0.0368527556548779 0.0368527556548773 0.0368527556548779 + 500 0.05 2.91216489141033e-05 0.595403174462525 0.595448064489507 1.74330474543395e-07 0.0368525254239537 0.0368525254239531 0.0368525254239537 + 600 0.06 1.04772320898493e-05 0.595404457003426 0.595449362424563 2.12204214498221e-08 0.036852498249274 0.0368524982492735 0.036852498249274 + 700 0.07 3.74634771616408e-06 0.595404627382825 0.59544953694064 2.63852407890464e-09 0.0368524949126259 0.0368524949126254 0.0368524949126259 + 800 0.08 1.33525617457997e-06 0.595404626884198 0.595449537611055 3.30772506699851e-10 0.0368524944963442 0.0368524944963437 0.0368524944963442 + 900 0.09 4.75054785504803e-07 0.595404613763238 0.595449524836571 4.15940445257144e-11 0.0368524944440915 0.036852494444091 0.0368524944440915 + 1000 0.1 1.68843135202462e-07 0.59540460640039 0.595449517580793 5.23632581178917e-12 0.0368524944375178 0.0368524944375172 0.0368524944375178 +Loop time of 0.041718 on 4 procs for 1000 steps with 200 atoms + +97.4% CPU use with 4 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = max iterations Energy initial, next-to-last, final = - 0.251043691627 0.0838424398641 0.0838424398945 + 0.121881906964 0.0368524944375 0.0368524944375 Force two-norm initial, final = 0 0 Force max component initial, final = 0 0 Final line search alpha, max atom move = 0 0 @@ -115,12 +117,12 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.023753 | 0.029762 | 0.035936 | 3.3 | 48.18 +Pair | 0.020462 | 0.021665 | 0.024967 | 1.3 | 51.93 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.011783 | 0.019131 | 0.025404 | 4.3 | 30.97 -Output | 0.0019517 | 0.0019774 | 0.0020368 | 0.1 | 3.20 -Modify | 0.0006361 | 0.00087249 | 0.0011525 | 0.0 | 1.41 -Other | | 0.01003 | | | 16.23 +Comm | 0.0074174 | 0.010855 | 0.012527 | 2.0 | 26.02 +Output | 0.0012774 | 0.0012916 | 0.0013213 | 0.0 | 3.10 +Modify | 0.00056291 | 0.00068498 | 0.00096655 | 0.0 | 1.64 +Other | | 0.007222 | | | 17.31 Nlocal: 50 ave 50 max 50 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min.g++.1 b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min.g++.1 similarity index 54% rename from examples/SPIN/spinmin/log.19Nov19.spin.bfo_min.g++.1 rename to examples/SPIN/spinmin/log.14Apr20.spin.bfo_min.g++.1 index 61b6ad87006857e2aff6cb03a0844c34c83a5e29..49a5f4dd3fd58993ec8776c57e4395385dfb0ef2 100644 --- a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min.g++.1 +++ b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min.g++.1 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bfo in a 3d periodic box units metal @@ -17,7 +19,7 @@ Created orthogonal box = (0 0 0) to (134.64 134.64 19.8) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 5780 atoms - create_atoms CPU = 0.00107217 secs + create_atoms CPU = 0.00207901 secs # setting mass, mag. moments, and interactions for bcc iron @@ -60,10 +62,10 @@ dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3 min_style spin min_modify alpha_damp 1.0 discrete_factor 10.0 minimize 1.0e-10 0.0 1000 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:177) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:190) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -88,30 +90,30 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 8.331 | 8.331 | 8.331 Mbytes Step Time v_magnorm v_emag v_tmag Temp TotEng - 0 0 0.0100717228668283 -0.163834417271778 14831.3069413956 0 -0.0819172086358848 - 50 0.005 0.000106105812337003 -128.307447484203 0.104264818055985 0 -64.1537237421011 - 100 0.01 7.95347901119144e-06 -131.449389798071 0.0221943604064967 0 -65.7246948990356 - 150 0.015 5.63006161138875e-07 -132.296453030419 0.0085472877724348 0 -66.1482265152089 - 200 0.02 5.07390677383517e-07 -132.622857703805 0.00361380451198708 0 -66.3114288519012 - 250 0.025 3.28458336892231e-07 -132.774411992703 0.00187753161968493 0 -66.3872059963511 - 300 0.03 1.93294839202864e-07 -132.861283726084 0.00121374398924599 0 -66.4306418630428 - 350 0.035 1.13872157437693e-07 -132.923137019136 0.000954736871701507 0 -66.4615685095675 - 400 0.04 6.42075545620808e-08 -132.975239148591 0.000854064736183609 0 -66.4876195742954 - 450 0.045 3.44210513403008e-08 -133.023523287306 0.000812909459005007 0 -66.5117616436536 - 500 0.05 1.80394981485933e-08 -133.070071976252 0.000789742875305133 0 -66.5350359881254 - 550 0.055 9.54697157105863e-09 -133.11541233939 0.000769860218895372 0 -66.5577061696963 - 600 0.06 5.22455110720346e-09 -133.159676447906 0.000752941158466282 0 -66.5798382239526 - 650 0.065 2.95172977724016e-09 -133.203196195612 0.000745065216626277 0 -66.6015980978057 - 700 0.07 1.6727567441294e-09 -133.246696814329 0.000752898926000619 0 -66.6233484071653 - 750 0.075 9.17127001723567e-10 -133.291227007554 0.000780491405791262 0 -66.6456135037769 - 800 0.08 4.72669535949609e-10 -133.337962593396 0.000827942834401386 0 -66.6689812966976 - 850 0.085 2.25696738407094e-10 -133.387945245851 0.000890246383931885 0 -66.6939726229243 - 900 0.09 1.0030717061716e-10 -133.441737087546 0.000955403731484674 0 -66.720868543773 - 950 0.095 4.19867626359036e-11 -133.498969798312 0.00100352240545389 0 -66.7494848991554 - 1000 0.1 1.64283478182092e-11 -133.557979904763 0.00101162410316333 0 -66.7789899523816 -Loop time of 9.23057 on 1 procs for 1000 steps with 5780 atoms - -99.9% CPU use with 1 MPI tasks x no OpenMP threads + 0 0 0.0100717228668283 -0.0819172086358897 14831.3069413956 0 -0.0819172086358848 + 50 0.005 0.000106105812337003 -64.1537237421016 0.104264818055985 0 -64.1537237421011 + 100 0.01 7.95347901119144e-06 -65.7246948990358 0.0221943604064967 0 -65.7246948990356 + 150 0.015 5.63006161138875e-07 -66.1482265152101 0.0085472877724348 0 -66.1482265152089 + 200 0.02 5.07390677383517e-07 -66.3114288519027 0.00361380451198708 0 -66.3114288519012 + 250 0.025 3.28458336892231e-07 -66.3872059963515 0.00187753161968493 0 -66.3872059963511 + 300 0.03 1.93294839202864e-07 -66.430641863042 0.00121374398924599 0 -66.4306418630428 + 350 0.035 1.13872157437693e-07 -66.461568509568 0.000954736871701507 0 -66.4615685095675 + 400 0.04 6.42075545620808e-08 -66.4876195742958 0.000854064736183609 0 -66.4876195742954 + 450 0.045 3.44210513403008e-08 -66.5117616436528 0.000812909459005007 0 -66.5117616436536 + 500 0.05 1.80394981485933e-08 -66.535035988126 0.000789742875305133 0 -66.5350359881254 + 550 0.055 9.54697157105863e-09 -66.5577061696949 0.000769860218895372 0 -66.5577061696963 + 600 0.06 5.22455110720346e-09 -66.5798382239523 0.000752941158466282 0 -66.5798382239526 + 650 0.065 2.95172977724016e-09 -66.6015980978057 0.000745065216626277 0 -66.6015980978057 + 700 0.07 1.6727567441294e-09 -66.6233484071647 0.000752898926000619 0 -66.6233484071653 + 750 0.075 9.17127001723567e-10 -66.6456135037774 0.000780491405791262 0 -66.6456135037769 + 800 0.08 4.72669535949609e-10 -66.6689812966982 0.000827942834401386 0 -66.6689812966976 + 850 0.085 2.25696738407094e-10 -66.6939726229253 0.000890246383931885 0 -66.6939726229243 + 900 0.09 1.0030717061716e-10 -66.7208685437728 0.000955403731484674 0 -66.720868543773 + 950 0.095 4.19867626359036e-11 -66.7494848991559 0.00100352240545389 0 -66.7494848991554 + 1000 0.1 1.64283478182092e-11 -66.778989952382 0.00101162410316333 0 -66.7789899523816 +Loop time of 8.81793 on 1 procs for 1000 steps with 5780 atoms + +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = max iterations @@ -125,12 +127,12 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 8.7576 | 8.7576 | 8.7576 | 0.0 | 94.88 +Pair | 8.3388 | 8.3388 | 8.3388 | 0.0 | 94.57 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.023815 | 0.023815 | 0.023815 | 0.0 | 0.26 -Output | 0.31665 | 0.31665 | 0.31665 | 0.0 | 3.43 -Modify | 0.029446 | 0.029446 | 0.029446 | 0.0 | 0.32 -Other | | 0.1031 | | | 1.12 +Comm | 0.023951 | 0.023951 | 0.023951 | 0.0 | 0.27 +Output | 0.3172 | 0.3172 | 0.3172 | 0.0 | 3.60 +Modify | 0.034405 | 0.034405 | 0.034405 | 0.0 | 0.39 +Other | | 0.1036 | | | 1.17 Nlocal: 5780 ave 5780 max 5780 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -145,4 +147,4 @@ Total # of neighbors = 92480 Ave neighs/atom = 16 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:09 +Total wall time: 0:00:08 diff --git a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min.g++.4 b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min.g++.4 similarity index 51% rename from examples/SPIN/spinmin/log.19Nov19.spin.bfo_min.g++.4 rename to examples/SPIN/spinmin/log.14Apr20.spin.bfo_min.g++.4 index efc4628b9e578675e85718aa03e47393f13ce723..6ffa5eb86139ecf243dd33ec4eae72469f6c997d 100644 --- a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min.g++.4 +++ b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min.g++.4 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bfo in a 3d periodic box units metal @@ -17,7 +19,7 @@ Created orthogonal box = (0 0 0) to (134.64 134.64 19.8) 2 by 2 by 1 MPI processor grid create_atoms 1 box Created 5780 atoms - create_atoms CPU = 0.00102711 secs + create_atoms CPU = 0.00117207 secs # setting mass, mag. moments, and interactions for bcc iron @@ -60,10 +62,10 @@ dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3 min_style spin min_modify alpha_damp 1.0 discrete_factor 10.0 minimize 1.0e-10 0.0 1000 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:177) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:190) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -88,35 +90,35 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 7.788 | 7.788 | 7.788 Mbytes Step Time v_magnorm v_emag v_tmag Temp TotEng - 0 0 0.0100717228668283 -0.162177519662199 14970.709092345 0 -0.157514482753586 - 50 0.005 0.000134061770654521 -128.226118665465 0.102634444037434 0 -128.286182424672 - 100 0.01 7.67769618983817e-06 -131.374599259781 0.0222596977749883 0 -131.428418504308 - 150 0.015 6.02904602224806e-07 -132.224372015825 0.00974271828169071 0 -132.273190134602 - 200 0.02 6.50197247050491e-07 -132.573383315469 0.00374227079785921 0 -132.617565541034 - 250 0.025 4.4053438575152e-07 -132.729743470508 0.0019334097282578 0 -132.770567114743 - 300 0.03 2.78356316513274e-07 -132.819255077939 0.00124938353773497 0 -132.857574876413 - 350 0.035 1.79684785125388e-07 -132.882714312877 0.000973166792896165 0 -132.919261229742 - 400 0.04 1.10949878459078e-07 -132.935357748213 0.000852955460997588 0 -132.970786605995 - 450 0.045 6.49064465617817e-08 -132.982991683198 0.000790741148426224 0 -133.017887798927 - 500 0.05 3.70514666559952e-08 -133.027689959766 0.00074794913288275 0 -133.06256199189 - 550 0.055 2.12433814830885e-08 -133.070148920145 0.00071263732127117 0 -133.105417593745 - 600 0.06 1.24676590171361e-08 -133.110772798503 0.000685051841817325 0 -133.14676746928 - 650 0.065 7.53611859129351e-09 -133.150126417754 0.000669443562813208 0 -133.187094895708 - 700 0.07 4.63539338651321e-09 -133.189024073453 0.000669619853917953 0 -133.227152349439 - 750 0.075 2.82145833974835e-09 -133.22844627026 0.000687338035086961 0 -133.267881315198 - 800 0.08 1.64378151566173e-09 -133.269413776733 0.000722197692175127 0 -133.310284062463 - 850 0.085 8.883310104497e-10 -133.312863108454 0.000771645398804486 0 -133.355293578462 - 900 0.09 4.33874801863461e-10 -133.359507749172 0.000830255722998156 0 -133.403626236688 - 950 0.095 1.8812784924272e-10 -133.409630495316 0.000888348219681112 0 -133.455560507802 - 1000 0.1 7.17748875671948e-11 -133.462806227865 0.000931427722404681 0 -133.510640942679 -Loop time of 2.53419 on 4 procs for 1000 steps with 5780 atoms - -99.9% CPU use with 4 MPI tasks x no OpenMP threads + 0 0 0.0100717228668283 -0.0819172086358889 14831.3069413956 0 -0.0819172086358937 + 50 0.005 0.000106105812337003 -64.1537237421014 0.104264818055985 0 -64.1537237421015 + 100 0.01 7.95347901119157e-06 -65.7246948990355 0.0221943604064966 0 -65.7246948990356 + 150 0.015 5.63006161138918e-07 -66.1482265152097 0.0085472877724348 0 -66.1482265152095 + 200 0.02 5.07390677383159e-07 -66.3114288519023 0.00361380451198709 0 -66.3114288519024 + 250 0.025 3.28458336892466e-07 -66.3872059963513 0.00187753161968492 0 -66.3872059963514 + 300 0.03 1.93294839202718e-07 -66.4306418630421 0.00121374398924599 0 -66.4306418630421 + 350 0.035 1.1387215743759e-07 -66.461568509568 0.00095473687170151 0 -66.4615685095675 + 400 0.04 6.42075545625297e-08 -66.4876195742954 0.000854064736183607 0 -66.4876195742956 + 450 0.045 3.44210513402635e-08 -66.5117616436528 0.000812909459005008 0 -66.5117616436531 + 500 0.05 1.80394981487191e-08 -66.5350359881262 0.000789742875305131 0 -66.5350359881262 + 550 0.055 9.54697157097866e-09 -66.5577061696951 0.000769860218895372 0 -66.5577061696951 + 600 0.06 5.22455110708009e-09 -66.5798382239529 0.000752941158466282 0 -66.5798382239528 + 650 0.065 2.95172977729162e-09 -66.601598097806 0.000745065216626281 0 -66.6015980978062 + 700 0.07 1.67275674393186e-09 -66.6233484071645 0.000752898926000615 0 -66.6233484071643 + 750 0.075 9.17127001716818e-10 -66.6456135037772 0.000780491405791264 0 -66.6456135037769 + 800 0.08 4.72669535990986e-10 -66.6689812966981 0.000827942834401387 0 -66.668981296698 + 850 0.085 2.25696738737671e-10 -66.6939726229253 0.000890246383931887 0 -66.6939726229253 + 900 0.09 1.00307170296094e-10 -66.7208685437728 0.000955403731484673 0 -66.7208685437728 + 950 0.095 4.19867626693269e-11 -66.7494848991562 0.00100352240545389 0 -66.7494848991562 + 1000 0.1 1.64283481770759e-11 -66.7789899523816 0.00101162410316333 0 -66.7789899523818 +Loop time of 2.42884 on 4 procs for 1000 steps with 5780 atoms + +99.9% CPU use with 4 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = max iterations Energy initial, next-to-last, final = - -0.157514482754 -133.509516066 -133.510640943 + -0.0819172086359 -66.778399627 -66.7789899524 Force two-norm initial, final = 0 0 Force max component initial, final = 0 0 Final line search alpha, max atom move = 0 0 @@ -125,12 +127,12 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.2697 | 2.2995 | 2.3564 | 2.2 | 90.74 +Pair | 2.1221 | 2.164 | 2.2349 | 2.9 | 89.10 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.05711 | 0.11414 | 0.14368 | 10.1 | 4.50 -Output | 0.084883 | 0.084915 | 0.084985 | 0.0 | 3.35 -Modify | 0.0071826 | 0.0072024 | 0.0072234 | 0.0 | 0.28 -Other | | 0.02847 | | | 1.12 +Comm | 0.065814 | 0.13626 | 0.17868 | 11.7 | 5.61 +Output | 0.090046 | 0.090083 | 0.090171 | 0.0 | 3.71 +Modify | 0.0081615 | 0.0083774 | 0.008673 | 0.2 | 0.34 +Other | | 0.03009 | | | 1.24 Nlocal: 1445 ave 1445 max 1445 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_cg.g++.1 b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_cg.g++.1 similarity index 65% rename from examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_cg.g++.1 rename to examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_cg.g++.1 index ffd244b146e487cff3f6d9e287fc6490e2e821cb..cef54797eb842f6506559b1908ded82f5925cfdd 100644 --- a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_cg.g++.1 +++ b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_cg.g++.1 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bfo in a 3d periodic box units metal @@ -17,7 +19,7 @@ Created orthogonal box = (0 0 0) to (134.64 134.64 19.8) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 5780 atoms - create_atoms CPU = 0.00135589 secs + create_atoms CPU = 0.00267482 secs # setting mass, mag. moments, and interactions for bcc iron @@ -59,11 +61,11 @@ dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3 min_style spin/cg # min_modify line spin_none discrete_factor 10.0 minimize 1.0e-10 1.0e-10 1000 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:177) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:190) WARNING: Line search incompatible gneb (../min_spin_cg.cpp:105) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -88,20 +90,20 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 8.331 | 8.331 | 8.331 Mbytes Step Time v_magnorm v_emag v_tmag Temp TotEng - 0 0 0.0100717228668283 -0.163834417271778 14831.3069413956 0 -0.0819172086358848 - 100 0.01 8.80197005314557e-06 -132.80634639767 0.00226660536216922 0 -66.4031731988347 - 200 0.02 6.70903250218956e-06 -133.127078243354 0.00103783628361662 0 -66.563539121677 - 300 0.03 4.5381603452565e-06 -133.471076972345 0.00144833375067451 0 -66.7355384861738 - 400 0.04 9.04820921016732e-07 -133.767843456662 0.000682239601485924 0 -66.8839217283314 - 500 0.05 1.6866160174916e-06 -133.893922160731 0.00032462625992713 0 -66.946961080365 - 600 0.06 1.78038217785001e-06 -133.957222680701 0.000160730704849448 0 -66.9786113403509 - 700 0.07 1.49199057723078e-06 -133.987255887786 7.39864656758093e-05 0 -66.9936279438931 - 800 0.08 1.15173756711067e-06 -134.000921126053 3.33959465206462e-05 0 -67.0004605630278 - 900 0.09 8.48526364752965e-07 -134.007049858868 1.49345737358251e-05 0 -67.0035249294347 - 1000 0.1 6.10346492876059e-07 -134.009791515671 6.71648807105468e-06 0 -67.0048957578347 -Loop time of 9.4449 on 1 procs for 1000 steps with 5780 atoms - -100.0% CPU use with 1 MPI tasks x no OpenMP threads + 0 0 0.0100717228668283 -0.0819172086358897 14831.3069413956 0 -0.0819172086358848 + 100 0.01 8.80197005314557e-06 -66.4031731988352 0.00226660536216922 0 -66.4031731988347 + 200 0.02 6.70903250218956e-06 -66.5635391216766 0.00103783628361662 0 -66.563539121677 + 300 0.03 4.5381603452565e-06 -66.7355384861724 0.00144833375067451 0 -66.7355384861738 + 400 0.04 9.04820921016732e-07 -66.8839217283316 0.000682239601485924 0 -66.8839217283314 + 500 0.05 1.6866160174916e-06 -66.9469610803664 0.00032462625992713 0 -66.946961080365 + 600 0.06 1.78038217785001e-06 -66.9786113403508 0.000160730704849448 0 -66.9786113403509 + 700 0.07 1.49199057723078e-06 -66.9936279438935 7.39864656758093e-05 0 -66.9936279438931 + 800 0.08 1.15173756711067e-06 -67.0004605630263 3.33959465206462e-05 0 -67.0004605630278 + 900 0.09 8.48526364752965e-07 -67.0035249294341 1.49345737358251e-05 0 -67.0035249294347 + 1000 0.1 6.10346492876059e-07 -67.004895757836 6.71648807105468e-06 0 -67.0048957578347 +Loop time of 9.0061 on 1 procs for 1000 steps with 5780 atoms + +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = max iterations @@ -115,12 +117,12 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 8.7686 | 8.7686 | 8.7686 | 0.0 | 92.84 +Pair | 8.3237 | 8.3237 | 8.3237 | 0.0 | 92.42 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.02386 | 0.02386 | 0.02386 | 0.0 | 0.25 -Output | 0.31808 | 0.31808 | 0.31808 | 0.0 | 3.37 -Modify | 0.029416 | 0.029416 | 0.029416 | 0.0 | 0.31 -Other | | 0.305 | | | 3.23 +Comm | 0.023927 | 0.023927 | 0.023927 | 0.0 | 0.27 +Output | 0.31783 | 0.31783 | 0.31783 | 0.0 | 3.53 +Modify | 0.034633 | 0.034633 | 0.034633 | 0.0 | 0.38 +Other | | 0.306 | | | 3.40 Nlocal: 5780 ave 5780 max 5780 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_cg.g++.4 b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_cg.g++.4 similarity index 62% rename from examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_cg.g++.4 rename to examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_cg.g++.4 index 730bf477d437f37cff0bab75b42769d081e347ca..26dd99046bd4b8c6244900456e56d36edcbede59 100644 --- a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_cg.g++.4 +++ b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_cg.g++.4 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bfo in a 3d periodic box units metal @@ -17,7 +19,7 @@ Created orthogonal box = (0 0 0) to (134.64 134.64 19.8) 2 by 2 by 1 MPI processor grid create_atoms 1 box Created 5780 atoms - create_atoms CPU = 0.00138712 secs + create_atoms CPU = 0.000908136 secs # setting mass, mag. moments, and interactions for bcc iron @@ -59,11 +61,11 @@ dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3 min_style spin/cg # min_modify line spin_none discrete_factor 10.0 minimize 1.0e-10 1.0e-10 1000 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:177) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:190) WARNING: Line search incompatible gneb (../min_spin_cg.cpp:105) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -88,25 +90,25 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 7.788 | 7.788 | 7.788 Mbytes Step Time v_magnorm v_emag v_tmag Temp TotEng - 0 0 0.0100717228668283 -0.162177519662199 14970.709092345 0 -0.157514482753586 - 100 0.01 8.97646420936397e-06 -132.756468673032 0.00226858475243123 0 -132.79881239587 - 200 0.02 5.7049674439631e-06 -133.065966570145 0.000924384747875186 0 -133.105411060402 - 300 0.03 7.08166486348038e-06 -133.359072681024 0.00128114254070688 0 -133.406669528642 - 400 0.04 4.60224970353229e-06 -133.668643035703 0.000822334798448062 0 -133.725353643022 - 500 0.05 3.13737045264193e-06 -133.819548711647 0.000369678417461456 0 -133.878037514585 - 600 0.06 2.55239214469856e-06 -133.889302880669 0.0001696142482835 0 -133.948327309746 - 700 0.07 1.92236411979341e-06 -133.920147501261 7.31985644003847e-05 0 -133.979597440788 - 800 0.08 1.40879742055238e-06 -133.933445418833 3.19349095035109e-05 0 -133.993344750158 - 900 0.09 1.02629246257047e-06 -133.939321574068 1.44399877051467e-05 0 -133.999611147322 - 1000 0.1 7.52253147824893e-07 -133.942032102451 6.85789018963965e-06 0 -134.002604512509 -Loop time of 2.49676 on 4 procs for 1000 steps with 5780 atoms - -100.0% CPU use with 4 MPI tasks x no OpenMP threads + 0 0 0.0100717228668283 -0.0819172086358889 14831.3069413956 0 -0.0819172086358937 + 100 0.01 8.80197005315463e-06 -66.403173198835 0.00226660536216922 0 -66.4031731988351 + 200 0.02 6.7090325022051e-06 -66.563539121677 0.00103783628361663 0 -66.5635391216769 + 300 0.03 4.53816034526952e-06 -66.7355384861727 0.00144833375067451 0 -66.7355384861724 + 400 0.04 9.04820921046463e-07 -66.8839217283311 0.000682239601485917 0 -66.883921728331 + 500 0.05 1.68661601751279e-06 -66.9469610803655 0.00032462625992713 0 -66.9469610803655 + 600 0.06 1.78038217786708e-06 -66.9786113403506 0.000160730704849447 0 -66.9786113403508 + 700 0.07 1.4919905772389e-06 -66.9936279438931 7.39864656758075e-05 0 -66.9936279438932 + 800 0.08 1.15173756711682e-06 -67.0004605630262 3.33959465206457e-05 0 -67.0004605630265 + 900 0.09 8.48526364761828e-07 -67.0035249294341 1.49345737358251e-05 0 -67.0035249294341 + 1000 0.1 6.10346492874848e-07 -67.0048957578355 6.71648807105468e-06 0 -67.0048957578356 +Loop time of 2.40179 on 4 procs for 1000 steps with 5780 atoms + +100.0% CPU use with 4 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = max iterations Energy initial, next-to-last, final = - -0.157514482754 -134.00257032 -134.002604513 + -0.0819172086359 -67.0048809251 -67.0048957578 Force two-norm initial, final = 0 0 Force max component initial, final = 0 0 Final line search alpha, max atom move = 0 0 @@ -115,12 +117,12 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.2509 | 2.2589 | 2.2629 | 0.3 | 90.47 +Pair | 2.1174 | 2.1533 | 2.179 | 1.6 | 89.66 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.06036 | 0.064254 | 0.072356 | 1.9 | 2.57 -Output | 0.084002 | 0.085009 | 0.085985 | 0.3 | 3.40 -Modify | 0.0072496 | 0.0072694 | 0.0073116 | 0.0 | 0.29 -Other | | 0.08134 | | | 3.26 +Comm | 0.049849 | 0.075596 | 0.11152 | 8.4 | 3.15 +Output | 0.082974 | 0.084081 | 0.085145 | 0.3 | 3.50 +Modify | 0.0082345 | 0.008339 | 0.008424 | 0.1 | 0.35 +Other | | 0.08043 | | | 3.35 Nlocal: 1445 ave 1445 max 1445 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_lbfgs.g++.1 b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_lbfgs.g++.1 similarity index 69% rename from examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_lbfgs.g++.1 rename to examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_lbfgs.g++.1 index a8685eb2cf9b337e849c72d14d18d6d5819a03bb..2d8b319b3cff54162ec41037ea95ce7879c611e1 100644 --- a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_lbfgs.g++.1 +++ b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_lbfgs.g++.1 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bfo in a 3d periodic box units metal @@ -17,7 +19,7 @@ Created orthogonal box = (0 0 0) to (134.64 134.64 3.96) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 1156 atoms - create_atoms CPU = 0.00136805 secs + create_atoms CPU = 0.00159788 secs # setting mass, mag. moments, and interactions for bcc iron @@ -60,11 +62,11 @@ min_style spin/lbfgs # min_modify line spin_cubic discrete_factor 10.0 min_modify norm max minimize 1.0e-15 1.0e-10 1000 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:177) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:190) WARNING: Line search incompatible gneb (../min_spin_lbfgs.cpp:109) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -89,17 +91,17 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 7.748 | 7.748 | 7.748 Mbytes Step Time v_magnorm v_emag v_tmag Temp TotEng - 0 0 0.0205636053306396 -0.218504643888467 1537.40479337332 0 -0.109252321944233 - 50 0.005 0.000800557938107919 -19.2937186217138 0.293526226015746 0 -9.65918446070018 - 100 0.01 0.000434178067296136 -19.6225314972776 0.136842093090897 0 -9.81803976806459 - 150 0.015 9.48307628510239e-06 -19.7062424007137 0.000835148627123792 0 -9.85315267460932 - 200 0.02 9.40072944704056e-06 -19.7072931204571 7.72334770010361e-06 0 -9.85364693487844 - 250 0.025 5.05117500164935e-07 -19.7072952885901 5.72437821949831e-08 0 -9.85364764712939 - 300 0.03 2.15063977474981e-09 -19.707295295749 2.09970244523395e-12 0 -9.8536476478746 - 303 0.0303 1.43831710574092e-09 -19.7072952957498 1.70336397715489e-13 0 -9.85364764787493 -Loop time of 0.335897 on 1 procs for 303 steps with 1156 atoms - -100.0% CPU use with 1 MPI tasks x no OpenMP threads + 0 0 0.0205636053306396 -0.109252321944233 1537.40479337332 0 -0.109252321944233 + 50 0.005 0.000800557938107919 -9.65918446070017 0.293526226015746 0 -9.65918446070018 + 100 0.01 0.000434178067296136 -9.81803976806455 0.136842093090897 0 -9.81803976806459 + 150 0.015 9.48307628510239e-06 -9.85315267460926 0.000835148627123792 0 -9.85315267460932 + 200 0.02 9.40072944704056e-06 -9.85364693487847 7.72334770010361e-06 0 -9.85364693487844 + 250 0.025 5.05117500164935e-07 -9.85364764712935 5.72437821949831e-08 0 -9.85364764712939 + 300 0.03 2.15063977474981e-09 -9.85364764787459 2.09970244523395e-12 0 -9.8536476478746 + 303 0.0303 1.43831710574092e-09 -9.85364764787493 1.70336397715489e-13 0 -9.85364764787493 +Loop time of 0.328641 on 1 procs for 303 steps with 1156 atoms + +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = energy tolerance @@ -113,12 +115,12 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.28129 | 0.28129 | 0.28129 | 0.0 | 83.74 +Pair | 0.27332 | 0.27332 | 0.27332 | 0.0 | 83.17 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0010796 | 0.0010796 | 0.0010796 | 0.0 | 0.32 -Output | 0.017942 | 0.017942 | 0.017942 | 0.0 | 5.34 -Modify | 0.001771 | 0.001771 | 0.001771 | 0.0 | 0.53 -Other | | 0.03382 | | | 10.07 +Comm | 0.001117 | 0.001117 | 0.001117 | 0.0 | 0.34 +Output | 0.018038 | 0.018038 | 0.018038 | 0.0 | 5.49 +Modify | 0.0020421 | 0.0020421 | 0.0020421 | 0.0 | 0.62 +Other | | 0.03412 | | | 10.38 Nlocal: 1156 ave 1156 max 1156 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_lbfgs.g++.4 b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_lbfgs.g++.4 similarity index 66% rename from examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_lbfgs.g++.4 rename to examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_lbfgs.g++.4 index f2756d0f5ed9f0d9450edae668125ecfa82941d9..2c26f64b564c7af82ab8a81d7184c242e179f26c 100644 --- a/examples/SPIN/spinmin/log.19Nov19.spin.bfo_min_lbfgs.g++.4 +++ b/examples/SPIN/spinmin/log.14Apr20.spin.bfo_min_lbfgs.g++.4 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bfo in a 3d periodic box units metal @@ -17,7 +19,7 @@ Created orthogonal box = (0 0 0) to (134.64 134.64 3.96) 2 by 2 by 1 MPI processor grid create_atoms 1 box Created 1156 atoms - create_atoms CPU = 0.000981808 secs + create_atoms CPU = 0.00098896 secs # setting mass, mag. moments, and interactions for bcc iron @@ -60,11 +62,11 @@ min_style spin/lbfgs # min_modify line spin_cubic discrete_factor 10.0 min_modify norm max minimize 1.0e-15 1.0e-10 1000 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:177) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:190) WARNING: Line search incompatible gneb (../min_spin_lbfgs.cpp:109) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -89,36 +91,36 @@ Neighbor list info ... bin: none Per MPI rank memory allocation (min/avg/max) = 7.619 | 7.619 | 7.619 Mbytes Step Time v_magnorm v_emag v_tmag Temp TotEng - 0 0 0.0205636053306396 -0.217760509274282 1541.29975585882 0 -0.217230771393012 - 50 0.005 0.000966655616837406 -19.2878369426356 0.312860071233841 0 -19.3229939390148 - 100 0.01 0.00154452800191107 -19.5948898197917 0.365367666925029 0 -19.6389064900413 - 150 0.015 4.89955946750017e-05 -19.6962580067431 0.000385536538802408 0 -19.7047140195852 - 200 0.02 5.66300530875654e-05 -19.6975252647309 9.8679922880911e-05 0 -19.7059140354146 - 250 0.025 5.21141123128679e-08 -19.6975359469038 2.52554968535685e-09 0 -19.7059189333986 - 300 0.03 2.9845103782958e-09 -19.6975359475094 2.31782597655471e-11 0 -19.7059191124033 - 342 0.0342 1.0526549233076e-10 -19.6975359475123 3.65641352240487e-16 0 -19.7059191178145 -Loop time of 0.117672 on 4 procs for 342 steps with 1156 atoms - -99.4% CPU use with 4 MPI tasks x no OpenMP threads + 0 0 0.0205636053306396 -0.109252321944234 1537.40479337332 0 -0.109252321944234 + 50 0.005 0.00080055793810568 -9.65918446070018 0.293526226015742 0 -9.65918446070018 + 100 0.01 0.000434178089299568 -9.81803976800935 0.136842091062742 0 -9.81803976800936 + 150 0.015 9.48305696976556e-06 -9.85315267463944 0.000835124161214539 0 -9.85315267463943 + 200 0.02 9.48404729540188e-06 -9.85364693589303 7.83955637621785e-06 0 -9.85364693589302 + 250 0.025 2.53129638591035e-07 -9.85364764689316 5.38044599466511e-08 0 -9.85364764689315 + 300 0.03 1.70353573452093e-08 -9.85364764787448 5.65371929906417e-11 0 -9.85364764787448 + 318 0.0318 1.78606698438076e-09 -9.85364764787558 5.01580212144594e-14 0 -9.85364764787559 +Loop time of 0.107177 on 4 procs for 318 steps with 1156 atoms + +99.6% CPU use with 4 MPI tasks x 1 OpenMP threads Minimization stats: - Stopping criterion = force tolerance + Stopping criterion = energy tolerance Energy initial, next-to-last, final = - -0.217230771393 -19.7059191178 -19.7059191178 + -0.109252321944 -9.85364764788 -9.85364764788 Force two-norm initial, final = 0 0 Force max component initial, final = 0 0 Final line search alpha, max atom move = 0 0 - Iterations, force evaluations = 342 342 + Iterations, force evaluations = 318 318 MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.084558 | 0.086668 | 0.091471 | 1.0 | 73.65 +Pair | 0.074155 | 0.077992 | 0.081876 | 1.2 | 72.77 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0052197 | 0.010042 | 0.012191 | 2.8 | 8.53 -Output | 0.0050647 | 0.0050726 | 0.0050921 | 0.0 | 4.31 -Modify | 0.00052595 | 0.00053537 | 0.00055242 | 0.0 | 0.45 -Other | | 0.01535 | | | 13.05 +Comm | 0.005573 | 0.0094561 | 0.013285 | 3.4 | 8.82 +Output | 0.005054 | 0.0050632 | 0.0050869 | 0.0 | 4.72 +Modify | 0.00055051 | 0.00058657 | 0.00066018 | 0.0 | 0.55 +Other | | 0.01408 | | | 13.14 Nlocal: 289 ave 289 max 289 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/spinmin/log.19Nov19.spin.iron_min.g++.1 b/examples/SPIN/spinmin/log.14Apr20.spin.iron_min.g++.1 similarity index 87% rename from examples/SPIN/spinmin/log.19Nov19.spin.iron_min.g++.1 rename to examples/SPIN/spinmin/log.14Apr20.spin.iron_min.g++.1 index 6df5959c0b371641644cfb43625da94c2f972661..7fe5920c1c2093c4cafd02c227347dde117ff685 100644 --- a/examples/SPIN/spinmin/log.19Nov19.spin.iron_min.g++.1 +++ b/examples/SPIN/spinmin/log.14Apr20.spin.iron_min.g++.1 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bcc iron in a 3d periodic box units metal @@ -17,7 +19,7 @@ Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325) 1 by 1 by 1 MPI processor grid create_atoms 1 box Created 250 atoms - create_atoms CPU = 0.000965834 secs + create_atoms CPU = 0.00106812 secs # setting mass, mag. moments, and interactions for bcc iron @@ -60,8 +62,8 @@ dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[ min_style spin min_modify alpha_damp 1.0 discrete_factor 10.0 minimize 1.0e-10 1.0e-10 1000 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:177) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:190) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -87,9 +89,9 @@ Step Time v_magx v_magz v_magnorm v_tmag TotEng 800 0.08 -0.584017381477007 -0.0766850043611195 0.999999999999999 6.70634191991825e-06 -25.289508192325 900 0.09 -0.583812040722351 -0.0811143180675364 0.999999999999999 7.49814943594148e-06 -25.2895256658925 1000 0.1 -0.583582389243979 -0.0857958823565731 0.999999999999998 8.38204259112222e-06 -25.2895452009133 -Loop time of 0.195254 on 1 procs for 1000 steps with 250 atoms +Loop time of 0.199799 on 1 procs for 1000 steps with 250 atoms -100.0% CPU use with 1 MPI tasks x no OpenMP threads +100.0% CPU use with 1 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = max iterations @@ -103,12 +105,12 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.17668 | 0.17668 | 0.17668 | 0.0 | 90.49 +Pair | 0.1795 | 0.1795 | 0.1795 | 0.0 | 89.84 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0052176 | 0.0052176 | 0.0052176 | 0.0 | 2.67 -Output | 0.0067751 | 0.0067751 | 0.0067751 | 0.0 | 3.47 -Modify | 0.0013788 | 0.0013788 | 0.0013788 | 0.0 | 0.71 -Other | | 0.005203 | | | 2.66 +Comm | 0.0056038 | 0.0056038 | 0.0056038 | 0.0 | 2.80 +Output | 0.0074773 | 0.0074773 | 0.0074773 | 0.0 | 3.74 +Modify | 0.0016823 | 0.0016823 | 0.0016823 | 0.0 | 0.84 +Other | | 0.005533 | | | 2.77 Nlocal: 250 ave 250 max 250 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/SPIN/spinmin/log.19Nov19.spin.iron_min.g++.4 b/examples/SPIN/spinmin/log.14Apr20.spin.iron_min.g++.4 similarity index 72% rename from examples/SPIN/spinmin/log.19Nov19.spin.iron_min.g++.4 rename to examples/SPIN/spinmin/log.14Apr20.spin.iron_min.g++.4 index b0cdd4f94adfbce6ae64b45bd546e0b6de6f3373..0eb7bd1783058f547ee4c1499e24041bba305edb 100644 --- a/examples/SPIN/spinmin/log.19Nov19.spin.iron_min.g++.4 +++ b/examples/SPIN/spinmin/log.14Apr20.spin.iron_min.g++.4 @@ -1,4 +1,6 @@ -LAMMPS (30 Oct 2019) +LAMMPS (19 Mar 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:94) + using 1 OpenMP thread(s) per MPI task # bcc iron in a 3d periodic box units metal @@ -17,7 +19,7 @@ Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325) 1 by 2 by 2 MPI processor grid create_atoms 1 box Created 250 atoms - create_atoms CPU = 0.000759125 secs + create_atoms CPU = 0.000731945 secs # setting mass, mag. moments, and interactions for bcc iron @@ -60,8 +62,8 @@ dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[ min_style spin min_modify alpha_damp 1.0 discrete_factor 10.0 minimize 1.0e-10 1.0e-10 1000 100 -WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:177) -WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:87) +WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:190) +WARNING: Using spin pair style without nve/spin or neb/spin (../pair_spin.cpp:88) Neighbor list info ... update every 1 steps, delay 0 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -76,25 +78,25 @@ Neighbor list info ... bin: standard Per MPI rank memory allocation (min/avg/max) = 6.828 | 6.829 | 6.829 Mbytes Step Time v_magx v_magz v_magnorm v_tmag TotEng - 0 0 -0.0285071136621457 -0.00948990815281275 0.0764569750905723 5048.5607623768 -0.701465876910695 - 100 0.01 -0.584953861980204 -0.0517163256267969 0.999992350892306 6.25556948778489e-05 -50.5787443620229 - 200 0.02 -0.584864756506845 -0.0547143484057154 0.999999990495506 3.49782260454051e-06 -50.5787971409246 - 300 0.03 -0.5847600493607 -0.0578846348986585 0.999999999988173 3.83095226804998e-06 -50.5788061208592 - 400 0.04 -0.584642875238891 -0.06123730753627 0.999999999999984 4.28575832708228e-06 -50.5788161053499 - 500 0.05 -0.584511765589526 -0.0647826190376232 0.999999999999999 4.79421486949061e-06 -50.5788272748473 - 600 0.06 -0.584365074206158 -0.0685313536438759 0.999999999999999 5.36242072641826e-06 -50.5788397688148 - 700 0.07 -0.584200963215272 -0.0724948469588718 1 5.99725249459218e-06 -50.5788537427249 - 800 0.08 -0.584017381477007 -0.0766850043611196 1 6.7063419199184e-06 -50.5788693699014 - 900 0.09 -0.583812040722352 -0.0811143180675365 0.999999999999998 7.49814943594153e-06 -50.5788868434688 - 1000 0.1 -0.583582389243979 -0.0857958823565732 0.999999999999999 8.38204259112203e-06 -50.5789063784897 -Loop time of 0.0845464 on 4 procs for 1000 steps with 250 atoms - -99.8% CPU use with 4 MPI tasks x no OpenMP threads + 0 0 -0.0285071136621457 -0.00948990815281275 0.0764569750905723 5048.5607623768 -0.354774619362399 + 100 0.01 -0.584953861980204 -0.0517163256267969 0.999992350892306 6.25556948778489e-05 -25.2894057771132 + 200 0.02 -0.584864756506845 -0.0547143484057154 0.999999990495506 3.49782260454051e-06 -25.2894359914181 + 300 0.03 -0.5847600493607 -0.0578846348986585 0.999999999988173 3.83095226804998e-06 -25.2894449433168 + 400 0.04 -0.584642875238891 -0.06123730753627 0.999999999999984 4.28575832708228e-06 -25.2894549277729 + 500 0.05 -0.584511765589526 -0.0647826190376232 0.999999999999999 4.79421486949061e-06 -25.2894660972702 + 600 0.06 -0.584365074206158 -0.0685313536438759 0.999999999999999 5.36242072641826e-06 -25.2894785912378 + 700 0.07 -0.584200963215272 -0.0724948469588718 1 5.99725249459218e-06 -25.2894925651479 + 800 0.08 -0.584017381477007 -0.0766850043611196 1 6.7063419199184e-06 -25.2895081923244 + 900 0.09 -0.583812040722352 -0.0811143180675365 0.999999999999998 7.49814943594153e-06 -25.2895256658919 + 1000 0.1 -0.583582389243979 -0.0857958823565732 0.999999999999999 8.38204259112203e-06 -25.2895452009127 +Loop time of 0.086317 on 4 procs for 1000 steps with 250 atoms + +99.9% CPU use with 4 MPI tasks x 1 OpenMP threads Minimization stats: Stopping criterion = max iterations Energy initial, next-to-last, final = - -0.701465876911 -50.5789061722 -50.5789063785 + -0.354774619362 -25.2895449946 -25.2895452009 Force two-norm initial, final = 0 0 Force max component initial, final = 0 0 Final line search alpha, max atom move = 0 0 @@ -103,12 +105,12 @@ Minimization stats: MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.043007 | 0.045307 | 0.04776 | 0.8 | 53.59 +Pair | 0.042744 | 0.045964 | 0.049416 | 1.2 | 53.25 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.026827 | 0.029139 | 0.031438 | 1.0 | 34.47 -Output | 0.0023198 | 0.0023302 | 0.0023572 | 0.0 | 2.76 -Modify | 0.00041103 | 0.0004673 | 0.00054026 | 0.0 | 0.55 -Other | | 0.007303 | | | 8.64 +Comm | 0.026905 | 0.030113 | 0.033464 | 1.5 | 34.89 +Output | 0.0023746 | 0.0023909 | 0.0024335 | 0.1 | 2.77 +Modify | 0.00052047 | 0.00055218 | 0.00058579 | 0.0 | 0.64 +Other | | 0.007297 | | | 8.45 Nlocal: 62.5 ave 65 max 60 min Histogram: 2 0 0 0 0 0 0 0 0 2 diff --git a/examples/SPIN/test_problems/README b/examples/SPIN/test_problems/README index 5557e3d42b688428929b87ad3d31cef9f3e39baa..0a1362ec9c54f188ac7a56e766bb4e50890c2428 100644 --- a/examples/SPIN/test_problems/README +++ b/examples/SPIN/test_problems/README @@ -1,4 +1,4 @@ -** The objective of the benchmark examples in this directory +** The objective of the test problems in this directory is the following twofold: - verify the implementation of the LAMMPS' SPIN package by comparing its results to well-known analytic results, or @@ -6,39 +6,39 @@ - provide users with simple comparisons, allowing them to better understand what is implemented in the code. -The LAMMPS input file (bench-*) can be modified, as well as the +The LAMMPS input file (test-*) can be modified, as well as the associated python script, in order to try different comparisons. All scripts can be run by executing the shell script from its directory. Example: -./run-bench-exchange.sh from the benchmarck_damped_exchange/ +./run-test-exchange.sh from the validation_damped_exchange/ directory. -** Below a brief description of the different benchmark +** Below a brief description of the different validation problems: -- benchmarck_damped_precession: +- validation_damped_precession: simulates the damped precession of a single spin in a magnetic field. - Run as: ./run-bench-prec.sh + Run as: ./run-test-prec.sh Output: x, y and z components of the magnetization, and magnetic energy. -- benchmarck_damped_exchange: +- validation_damped_exchange: simulates two spins interacting through the exchange interaction. The parameters in the LAMMPS input script - (bench-spin-precession.in) are calibrated to match the + (test-spin-precession.in) are calibrated to match the exchange definition in the python script (llg_exchange.py). - Run as: ./run-bench-exchange.sh + Run as: ./run-test-exchange.sh Output: average magnetization resulting from the damped precession of the two interacting spins. Also plots the evolution of the magnetic energy. -- benchmarck_langevin_precession: +- validation_langevin_precession: simulates a single spin in a magnetic field and in contact with a thermal bath, and compares the statistical averages of the output to the analytical result of the Langevin function. - Run as: ./run-bench-prec.sh + Run as: ./run-test-prec.sh Output: statistical average of the z-component of the magnetization (along the applied field) and of the magnetic energy versus temperature. Comparison to the Langevin function diff --git a/examples/SPIN/test_problems/validation_damped_exchange/llg_exchange.py b/examples/SPIN/test_problems/validation_damped_exchange/llg_exchange.py index dd1c543bb3558f2b811d4c73e9210ad259d3329f..49eecb5b44d08c5d880c1f34bb6cd4d23476fbd0 100755 --- a/examples/SPIN/test_problems/validation_damped_exchange/llg_exchange.py +++ b/examples/SPIN/test_problems/validation_damped_exchange/llg_exchange.py @@ -65,6 +65,6 @@ for t in range (0,N): # calc. average magnetization Sm = (S1+S2)*0.5 # calc. energy - en = -J0*(np.dot(S1,S2)) + en = -2.0*J0*(np.dot(S1,S2)) # print res. in ps for comparison with LAMMPS print(t*dt/1000.0,Sm[0],Sm[1],Sm[2],en) diff --git a/examples/SPIN/test_problems/validation_damped_exchange/run-test-exchange.sh b/examples/SPIN/test_problems/validation_damped_exchange/run-test-exchange.sh index 15de8d350e09431dc6d3ef6932ebe446d635af68..599730fe7b88e55c91cb1ef87e93b4ad05ca2eb1 100755 --- a/examples/SPIN/test_problems/validation_damped_exchange/run-test-exchange.sh +++ b/examples/SPIN/test_problems/validation_damped_exchange/run-test-exchange.sh @@ -5,7 +5,7 @@ rm res_*.dat # compute Lammps ./../../../../src/lmp_serial \ - -in bench-spin-precession.in + -in test-spin-precession.in in="$(grep -n Step log.lammps | awk -F ':' '{print $1}')" en="$(grep -n Loop log.lammps | awk -F ':' '{print $1}')" in="$(echo "$in+1" | bc -l)" diff --git a/examples/SPIN/test_problems/validation_damped_exchange/bench-spin-precession.in b/examples/SPIN/test_problems/validation_damped_exchange/test-spin-precession.in similarity index 100% rename from examples/SPIN/test_problems/validation_damped_exchange/bench-spin-precession.in rename to examples/SPIN/test_problems/validation_damped_exchange/test-spin-precession.in diff --git a/examples/SPIN/test_problems/validation_damped_exchange/two_spins.data b/examples/SPIN/test_problems/validation_damped_exchange/two_spins.data new file mode 100644 index 0000000000000000000000000000000000000000..013f8137511fd02e1d16d0f2a4f7106cc4300209 --- /dev/null +++ b/examples/SPIN/test_problems/validation_damped_exchange/two_spins.data @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 19 Sep 2019, timestep = 0 + +2 atoms +1 atom types + +0.0 6.0 xlo xhi +0.0 3.0 ylo yhi +0.0 3.0 zlo zhi + +Masses + +1 1 + +Atoms # spin + +1 1 2.0 0.0 0.0 0.0 1.0 0.0 0.0 0 0 0 +2 1 2.0 3.0 0.0 0.0 0.0 1.0 0.0 0 0 0 + +Velocities + +1 0.0 0.0 0.0 +2 0.0 0.0 0.0 diff --git a/examples/SPIN/test_problems/validation_damped_precession/run-test-prec.sh b/examples/SPIN/test_problems/validation_damped_precession/run-test-prec.sh index 49ebc2ac4efd19895877fe847d5e728b0c731096..86091793767c7300328e9a76252b54143410d79e 100755 --- a/examples/SPIN/test_problems/validation_damped_precession/run-test-prec.sh +++ b/examples/SPIN/test_problems/validation_damped_precession/run-test-prec.sh @@ -5,7 +5,7 @@ rm res_*.dat # compute Lammps ./../../../../src/lmp_serial \ - -in bench-spin-precession.in + -in test-spin-precession.in in="$(grep -n Step log.lammps | awk -F ':' '{print $1}')" en="$(grep -n Loop log.lammps | awk -F ':' '{print $1}')" in="$(echo "$in+1" | bc -l)" @@ -13,7 +13,7 @@ en="$(echo "$en-$in" | bc -l)" tail -n +$in log.lammps | head -n $en > res_lammps.dat # compute Langevin -python3 -m llg_precession.py > res_llg.dat +python3 llg_precession.py > res_llg.dat # plot results -python3 -m plot_precession.py res_lammps.dat res_llg.dat +python3 plot_precession.py res_lammps.dat res_llg.dat diff --git a/examples/SPIN/test_problems/validation_damped_precession/bench-spin-precession.in b/examples/SPIN/test_problems/validation_damped_precession/test-spin-precession.in similarity index 90% rename from examples/SPIN/test_problems/validation_damped_precession/bench-spin-precession.in rename to examples/SPIN/test_problems/validation_damped_precession/test-spin-precession.in index ed8a5caeaf747f8bc77c83a77ad74828c865255c..b8e943e579cc6caa67417ea21f534eb316e67137 100644 --- a/examples/SPIN/test_problems/validation_damped_precession/bench-spin-precession.in +++ b/examples/SPIN/test_problems/validation_damped_precession/test-spin-precession.in @@ -3,7 +3,7 @@ units metal atom_style spin atom_modify map array -boundary p p p +boundary f f f # read_data singlespin.data @@ -26,6 +26,7 @@ variable Temperature equal 0.0 variable Nsteps equal 500000 fix 1 all nve/spin lattice no +# fix 2 all precession/spin zeeman ${H} 0.0 0.0 1.0 anisotropy ${Kan} 0.0 0.0 1.0 fix 2 all precession/spin zeeman ${H} 0.0 0.0 1.0 anisotropy ${Kan} 0.0 0.0 1.0 fix_modify 2 energy yes fix 3 all langevin/spin ${Temperature} 0.01 12345 diff --git a/examples/SPIN/test_problems/validation_langevin_precession/langevin.py b/examples/SPIN/test_problems/validation_langevin_precession/langevin.py index 7acb78014316abf67ace7355b7899c4e5e983a43..0e9b634eeba7f0c1997d27c0c7640423a6b8689a 100755 --- a/examples/SPIN/test_problems/validation_langevin_precession/langevin.py +++ b/examples/SPIN/test_problems/validation_langevin_precession/langevin.py @@ -1,12 +1,8 @@ #!/usr/bin/env python3 -#Program fitting the exchange interaction -#Model curve: Bethe-Slater function import numpy as np, pylab, tkinter import matplotlib.pyplot as plt import mpmath as mp -# from scipy.optimize import curve_fit -# from decimal import * mub=5.78901e-5 # Bohr magneton (eV/T) kb=8.617333262145e-5 # Boltzman constant (eV/K) @@ -24,4 +20,3 @@ tf=20.0 for i in range (0,npoints): temp=ti+i*(tf-ti)/npoints print('%lf %lf %lf' % (temp,func(temp),-g*mub*Hz*func(temp))) - diff --git a/examples/SPIN/test_problems/validation_langevin_precession/run-test-prec.sh b/examples/SPIN/test_problems/validation_langevin_precession/run-test-prec.sh index 98fceeca956f26661abc03fca7ffb1760e0526de..bcdd33790380e04e94e965b262dc6a95ec737f03 100755 --- a/examples/SPIN/test_problems/validation_langevin_precession/run-test-prec.sh +++ b/examples/SPIN/test_problems/validation_langevin_precession/run-test-prec.sh @@ -10,10 +10,9 @@ N=20 for (( i=0; i<$N; i++ )) do temp="$(echo "$tempi+$i*($tempf-$tempi)/$N" | bc -l)" - sed s/temperature/${temp}/g bench-prec-spin.template > \ - bench-prec-spin.in - ./../../../../src/lmp_serial \ - -in bench-prec-spin.in + sed s/temperature/${temp}/g test-prec-spin.template > \ + test-prec-spin.in + ./../../../../src/lmp_serial -in test-prec-spin.in Hz="$(tail -n 1 average_spin | awk -F " " '{print $3}')" sz="$(tail -n 1 average_spin | awk -F " " '{print $5}')" en="$(tail -n 1 average_spin | awk -F " " '{print $6}')" @@ -21,7 +20,7 @@ do done # compute Langevin -python3 -m langevin.py > res_langevin.dat +python3 langevin.py > res_langevin.dat # plot results -python3 -m plot_precession.py res_lammps.dat res_langevin.dat +python3 plot_precession.py res_lammps.dat res_langevin.dat diff --git a/examples/SPIN/test_problems/validation_langevin_precession/bench-prec-spin.template b/examples/SPIN/test_problems/validation_langevin_precession/test-prec-spin.template similarity index 100% rename from examples/SPIN/test_problems/validation_langevin_precession/bench-prec-spin.template rename to examples/SPIN/test_problems/validation_langevin_precession/test-prec-spin.template diff --git a/examples/SPIN/test_problems/validation_nve/Fe_Mishin2006.eam.alloy b/examples/SPIN/test_problems/validation_nve/Fe_Mishin2006.eam.alloy new file mode 100644 index 0000000000000000000000000000000000000000..69231bb7eeed5677009482896fe520f4445413dd --- /dev/null +++ b/examples/SPIN/test_problems/validation_nve/Fe_Mishin2006.eam.alloy @@ -0,0 +1,15009 @@ +comment 1 +comment 2 +Converted by Ganga P Purja Pun using C++ code on Mon Nov 3 10:48:17 2014 +1 Fe +5001 2.400000000000000e-03 5001 1.134673400048920e-03 5.673367000244601e+00 +26 5.584700000000000e+01 2.855300000000000e+00 BCC + 0.000000000000000e+00 + -2.338738741480766e-02 + -4.628214468925276e-02 + -6.912258036387915e-02 + -9.175603963501618e-02 + -1.141497214000000e-01 + -1.363388222824136e-01 + -1.583226111166723e-01 + -1.800965752913192e-01 + -2.016645989796093e-01 + -2.230289901000000e-01 + -2.441907391820846e-01 + -2.651515164004249e-01 + -2.859130554412839e-01 + -3.064769176965011e-01 + -3.268446844000000e-01 + -3.470179531091855e-01 + -3.669982968636285e-01 + -3.867872784635140e-01 + -4.063864535839295e-01 + -4.257973671999999e-01 + -4.450215551034667e-01 + -4.640605423684923e-01 + -4.829158454463851e-01 + -5.015889707095635e-01 + -5.200814146000000e-01 + -5.383946650297390e-01 + -5.565301991603658e-01 + -5.744894857268537e-01 + -5.922739837155686e-01 + -6.098851423000000e-01 + -6.273244022645037e-01 + -6.445931939756846e-01 + -6.616929394780281e-01 + -6.786250511352716e-01 + -6.953909318999999e-01 + -7.119919765952718e-01 + -7.284295696432279e-01 + -7.447050873484842e-01 + -7.608198966551055e-01 + -7.767753551999997e-01 + -7.925728126189590e-01 + -8.082136084644670e-01 + -8.236990743647939e-01 + -8.390305327768360e-01 + -8.542092970000001e-01 + -8.692366724924486e-01 + -8.841139549244775e-01 + -8.988424321942350e-01 + -9.134233831702263e-01 + -9.278580778000000e-01 + -9.421477783833053e-01 + -9.562937376266863e-01 + -9.702972006149804e-01 + -9.841594035897939e-01 + -9.978815741999999e-01 + -1.011464932626877e+00 + -1.024910689374227e+00 + -1.038220047492379e+00 + -1.051394201530088e+00 + -1.064434338000000e+00 + -1.077341636148692e+00 + -1.090117264995124e+00 + -1.102762386491716e+00 + -1.115278154872840e+00 + -1.127665716000000e+00 + -1.139926208397942e+00 + -1.152060761127338e+00 + -1.164070496370367e+00 + -1.175956528594255e+00 + -1.187719964000000e+00 + -1.199361901614307e+00 + -1.210883431375302e+00 + -1.222285636497208e+00 + -1.233569592577916e+00 + -1.244736367000000e+00 + -1.255787020138112e+00 + -1.266722603828963e+00 + -1.277544163022812e+00 + -1.288252734706093e+00 + -1.298849349000000e+00 + -1.309335029515858e+00 + -1.319710789766606e+00 + -1.329977637188551e+00 + -1.340136572985217e+00 + -1.350188590000000e+00 + -1.360134674013246e+00 + -1.369975802739515e+00 + -1.379712947700534e+00 + -1.389347073262624e+00 + -1.398879136000000e+00 + -1.408310086019347e+00 + -1.417640866058629e+00 + -1.426872412303706e+00 + -1.436005653062347e+00 + -1.445041510000000e+00 + -1.453980898788701e+00 + -1.462824726507764e+00 + -1.471573894410746e+00 + -1.480229297407323e+00 + -1.488791823000000e+00 + -1.497262352264216e+00 + -1.505641758273629e+00 + -1.513930908641532e+00 + -1.522130664940848e+00 + -1.530241881000000e+00 + -1.538265404312065e+00 + -1.546202075663511e+00 + -1.554052729949587e+00 + -1.561818194964572e+00 + -1.569499292000000e+00 + -1.577096836740392e+00 + -1.584611637631811e+00 + -1.592044497451960e+00 + -1.599396212413425e+00 + -1.606667572000000e+00 + -1.613859360067553e+00 + -1.620972353850301e+00 + -1.628007324820493e+00 + -1.634965037585305e+00 + -1.641846251000000e+00 + -1.648651718746855e+00 + -1.655382187120556e+00 + -1.662038397074428e+00 + -1.668621083574689e+00 + -1.675130975000000e+00 + -1.681568794320005e+00 + -1.687935258528783e+00 + -1.694231079461267e+00 + -1.700456962682860e+00 + -1.706613607000000e+00 + -1.712701705964896e+00 + -1.718721948142722e+00 + -1.724675016499694e+00 + -1.730561586828580e+00 + -1.736382330000000e+00 + -1.742137912457411e+00 + -1.747828994017656e+00 + -1.753456229026646e+00 + -1.759020265526974e+00 + -1.764521747000000e+00 + -1.769961312537754e+00 + -1.775339594027171e+00 + -1.780657218386706e+00 + -1.785914807192779e+00 + -1.791112977000000e+00 + -1.796252339747382e+00 + -1.801333500673453e+00 + -1.806357060360666e+00 + -1.811323614328498e+00 + -1.816233753000000e+00 + -1.821088062150410e+00 + -1.825887120985276e+00 + -1.830631504346673e+00 + -1.835321782397329e+00 + -1.839958520000000e+00 + -1.844542277375300e+00 + -1.849073608812209e+00 + -1.853553064572349e+00 + -1.857981190434394e+00 + -1.862358526000000e+00 + -1.866685606181999e+00 + -1.870962962067843e+00 + -1.875191119963197e+00 + -1.879370599902195e+00 + -1.883501918000000e+00 + -1.887585586736770e+00 + -1.891622112755978e+00 + -1.895611998485404e+00 + -1.899555741651499e+00 + -1.903453835000000e+00 + -1.907306767129976e+00 + -1.911115021853308e+00 + -1.914879078883785e+00 + -1.918599413067872e+00 + -1.922276495000000e+00 + -1.925910791456493e+00 + -1.929502763824010e+00 + -1.933052869645757e+00 + -1.936561562187136e+00 + -1.940029290000000e+00 + -1.943456497684402e+00 + -1.946843625242175e+00 + -1.950191109032846e+00 + -1.953499381145042e+00 + -1.956768869000000e+00 + -1.959999996258605e+00 + -1.963193182622893e+00 + -1.966348843806269e+00 + -1.969467390558660e+00 + -1.972549230000000e+00 + -1.975594766012145e+00 + -1.978604397775412e+00 + -1.981578520793180e+00 + -1.984517526364655e+00 + -1.987421802000000e+00 + -1.990291731861874e+00 + -1.993127695559656e+00 + -1.995930069364364e+00 + -1.998699225767272e+00 + -2.001435533000000e+00 + -2.004139355858378e+00 + -2.006811055538481e+00 + -2.009450989763890e+00 + -2.012059511961222e+00 + -2.014636972000000e+00 + -2.017183716742461e+00 + -2.019700089231340e+00 + -2.022186429001382e+00 + -2.024643071393187e+00 + -2.027070349000000e+00 + -2.029468591629637e+00 + -2.031838124095820e+00 + -2.034179268100215e+00 + -2.036492342201070e+00 + -2.038777662000000e+00 + -2.041035540156417e+00 + -2.043266284490031e+00 + -2.045470200083453e+00 + -2.047647589335177e+00 + -2.049798751000000e+00 + -2.051923980684690e+00 + -2.054023570214561e+00 + -2.056097808968247e+00 + -2.058146983649728e+00 + -2.060171377000000e+00 + -2.062171268551674e+00 + -2.064146934640815e+00 + -2.066098649159696e+00 + -2.068026683134947e+00 + -2.069931304000000e+00 + -2.071812776276246e+00 + -2.073671361471072e+00 + -2.075507318519566e+00 + -2.077320903301032e+00 + -2.079112369000000e+00 + -2.080881966139512e+00 + -2.082629940879466e+00 + -2.084356537486872e+00 + -2.086061998635378e+00 + -2.087746563000000e+00 + -2.089410466229110e+00 + -2.091053941828707e+00 + -2.092677220771137e+00 + -2.094280530723314e+00 + -2.095864097000000e+00 + -2.097428142794787e+00 + -2.098972888139794e+00 + -2.100498550462023e+00 + -2.102005344216306e+00 + -2.103493482000000e+00 + -2.104963174393948e+00 + -2.106414628045970e+00 + -2.107848047779690e+00 + -2.109263636820768e+00 + -2.110661595000000e+00 + -2.112042119471926e+00 + -2.113405405101743e+00 + -2.114751645122076e+00 + -2.116081030815763e+00 + -2.117393750000000e+00 + -2.118689987937912e+00 + -2.119969928191390e+00 + -2.121233752504371e+00 + -2.122481640223532e+00 + -2.123713768000000e+00 + -2.124930310308645e+00 + -2.126131439345980e+00 + -2.127317325650607e+00 + -2.128488137848567e+00 + -2.129644042000000e+00 + -2.130785202020548e+00 + -2.131911779449632e+00 + -2.133023934312029e+00 + -2.134121824962966e+00 + -2.135205607000000e+00 + -2.136275433910872e+00 + -2.137331457489147e+00 + -2.138373827747866e+00 + -2.139402692469194e+00 + -2.140418197999999e+00 + -2.141420489142081e+00 + -2.142409707722756e+00 + -2.143385994030927e+00 + -2.144349486926974e+00 + -2.145300323000000e+00 + -2.146238637076898e+00 + -2.147164562479522e+00 + -2.148078231051947e+00 + -2.148979772720135e+00 + -2.149869315000000e+00 + -2.150746983835218e+00 + -2.151612904662093e+00 + -2.152467200947815e+00 + -2.153309993218032e+00 + -2.154141401000000e+00 + -2.154961542883784e+00 + -2.155770535619624e+00 + -2.156568494253713e+00 + -2.157355531798206e+00 + -2.158131760000000e+00 + -2.158897289576013e+00 + -2.159652229917454e+00 + -2.160396688379106e+00 + -2.161130769707277e+00 + -2.161854579000000e+00 + -2.162568220747540e+00 + -2.163271795520776e+00 + -2.163965403104795e+00 + -2.164649143391419e+00 + -2.165323114000000e+00 + -2.165987410839904e+00 + -2.166642128874188e+00 + -2.167287362019562e+00 + -2.167923202786971e+00 + -2.168549742000000e+00 + -2.169167069289456e+00 + -2.169775273557456e+00 + -2.170374442741976e+00 + -2.170964663390078e+00 + -2.171546020000000e+00 + -2.172118595836383e+00 + -2.172682474202094e+00 + -2.173237737093693e+00 + -2.173784464448991e+00 + -2.174322736000000e+00 + -2.174852630794634e+00 + -2.175374225221640e+00 + -2.175887595177988e+00 + -2.176392816678372e+00 + -2.176889964000000e+00 + -2.177379110090651e+00 + -2.177860327096639e+00 + -2.178333686466943e+00 + -2.178799258747679e+00 + -2.179257113000000e+00 + -2.179707317299531e+00 + -2.180149939409128e+00 + -2.180585046165010e+00 + -2.181012703042297e+00 + -2.181432975000000e+00 + -2.181845926509731e+00 + -2.182251621108717e+00 + -2.182650121032542e+00 + -2.183041486916871e+00 + -2.183425780000000e+00 + -2.183803061402426e+00 + -2.184173389857596e+00 + -2.184536823542827e+00 + -2.184893420600431e+00 + -2.185243238000000e+00 + -2.185586332004080e+00 + -2.185922759056265e+00 + -2.186252574500474e+00 + -2.186575831916728e+00 + -2.186892585000000e+00 + -2.187202887393400e+00 + -2.187506791832633e+00 + -2.187804350256584e+00 + -2.188095613705712e+00 + -2.188380633000000e+00 + -2.188659458643119e+00 + -2.188932140238827e+00 + -2.189198726845117e+00 + -2.189459267002233e+00 + -2.189713809000000e+00 + -2.189962400732430e+00 + -2.190205089044370e+00 + -2.190441920581333e+00 + -2.190672942002169e+00 + -2.190898199000000e+00 + -2.191117736662499e+00 + -2.191331600149922e+00 + -2.191539834109547e+00 + -2.191742482380937e+00 + -2.191939589000000e+00 + -2.192131197889608e+00 + -2.192317351831708e+00 + -2.192498093290244e+00 + -2.192673464653123e+00 + -2.192843508000000e+00 + -2.193008265149897e+00 + -2.193167777657277e+00 + -2.193322086821774e+00 + -2.193471233640668e+00 + -2.193615259000000e+00 + -2.193754203483761e+00 + -2.193888106693908e+00 + -2.194017008313546e+00 + -2.194140948496115e+00 + -2.194259967000000e+00 + -2.194374103230534e+00 + -2.194483396307522e+00 + -2.194587885225862e+00 + -2.194687608881331e+00 + -2.194782606000000e+00 + -2.194872915200472e+00 + -2.194958575082935e+00 + -2.195039623893670e+00 + -2.195116099394696e+00 + -2.195188040000000e+00 + -2.195255484352944e+00 + -2.195318470219860e+00 + -2.195377035223315e+00 + -2.195431217130485e+00 + -2.195481054000000e+00 + -2.195526583926446e+00 + -2.195567844428364e+00 + -2.195604873029958e+00 + -2.195637707516086e+00 + -2.195666386000000e+00 + -2.195690946583878e+00 + -2.195711426545218e+00 + -2.195727863658885e+00 + -2.195740296673043e+00 + -2.195748763000000e+00 + -2.195753299607926e+00 + -2.195753945356280e+00 + -2.195750739132009e+00 + -2.195743719093693e+00 + -2.195732923000000e+00 + -2.195718388771941e+00 + -2.195700155840199e+00 + -2.195678263244660e+00 + -2.195652748934943e+00 + -2.195623652000000e+00 + -2.195591012099144e+00 + -2.195554867993407e+00 + -2.195515258985693e+00 + -2.195472225489285e+00 + -2.195425807000000e+00 + -2.195376042760528e+00 + -2.195322973614639e+00 + -2.195266640267298e+00 + -2.195207082686241e+00 + -2.195144342000000e+00 + -2.195078459809379e+00 + -2.195009476453377e+00 + -2.194937433066797e+00 + -2.194862372466152e+00 + -2.194784337000000e+00 + -2.194703368615792e+00 + -2.194619509257747e+00 + -2.194532801771278e+00 + -2.194443290305841e+00 + -2.194351018000000e+00 + -2.194256027737437e+00 + -2.194158364279782e+00 + -2.194058072250755e+00 + -2.193955195446114e+00 + -2.193849779000000e+00 + -2.193741868885436e+00 + -2.193631510785602e+00 + -2.193518750557477e+00 + -2.193403634464252e+00 + -2.193286209000000e+00 + -2.193166521091908e+00 + -2.193044618884907e+00 + -2.192920550384463e+00 + -2.192794362988794e+00 + -2.192666105000000e+00 + -2.192535825071375e+00 + -2.192403570783236e+00 + -2.192269389306454e+00 + -2.192133327558461e+00 + -2.191995432000000e+00 + -2.191855748732582e+00 + -2.191714323538803e+00 + -2.191571201647935e+00 + -2.191426427571225e+00 + -2.191280046000000e+00 + -2.191132101498374e+00 + -2.190982637495000e+00 + -2.190831697104933e+00 + -2.190679323369808e+00 + -2.190525559000000e+00 + -2.190370446239990e+00 + -2.190214026313205e+00 + -2.190056340263544e+00 + -2.189897429222788e+00 + -2.189737334000000e+00 + -2.189576094894156e+00 + -2.189413751026334e+00 + -2.189250341662785e+00 + -2.189085906605225e+00 + -2.188920484000000e+00 + -2.188754111167896e+00 + -2.188586826517446e+00 + -2.188418667831656e+00 + -2.188249671505532e+00 + -2.188079874000000e+00 + -2.187909311655257e+00 + -2.187738019850499e+00 + -2.187566033827133e+00 + -2.187393388939138e+00 + -2.187220120000000e+00 + -2.187046261198758e+00 + -2.186871845656608e+00 + -2.186696906557450e+00 + -2.186521477499284e+00 + -2.186345591000000e+00 + -2.186169278929348e+00 + -2.185992573469870e+00 + -2.185815507881449e+00 + -2.185638116930091e+00 + -2.185460435000000e+00 + -2.185282496723147e+00 + -2.185104339046128e+00 + -2.184925999471230e+00 + -2.184747515559985e+00 + -2.184568926000000e+00 + -2.184390270419004e+00 + -2.184211589307456e+00 + -2.184032923638580e+00 + -2.183854314918697e+00 + -2.183675806000000e+00 + -2.183497440664645e+00 + -2.183319263062145e+00 + -2.183141318226586e+00 + -2.182963652427783e+00 + -2.182786312000000e+00 + -2.182609343803448e+00 + -2.182432796909005e+00 + -2.182256720850984e+00 + -2.182081165100584e+00 + -2.181906180000000e+00 + -2.181731816772078e+00 + -2.181558127901617e+00 + -2.181385166690271e+00 + -2.181212987245827e+00 + -2.181041644000000e+00 + -2.180871191888493e+00 + -2.180701687214938e+00 + -2.180533187286951e+00 + -2.180365750436408e+00 + -2.180199435000000e+00 + -2.180034299706266e+00 + -2.179870405073628e+00 + -2.179707812476292e+00 + -2.179546583956951e+00 + -2.179386782000000e+00 + -2.179228469569652e+00 + -2.179071710572415e+00 + -2.178916570209873e+00 + -2.178763115274171e+00 + -2.178611412000000e+00 + -2.178461526719817e+00 + -2.178313527960817e+00 + -2.178167485170301e+00 + -2.178023468394170e+00 + -2.177881548000000e+00 + -2.177741794911888e+00 + -2.177604281585152e+00 + -2.177469081134519e+00 + -2.177336267165003e+00 + -2.177205914000000e+00 + -2.177078096781969e+00 + -2.176952892179310e+00 + -2.176830377266735e+00 + -2.176710629289710e+00 + -2.176593727000000e+00 + -2.176479750089725e+00 + -2.176368778170715e+00 + -2.176260892035270e+00 + -2.176156174290115e+00 + -2.176054707000000e+00 + -2.175956572480315e+00 + -2.175861855847520e+00 + -2.175770642395214e+00 + -2.175683016800304e+00 + -2.175599066000000e+00 + -2.175518878125867e+00 + -2.175442540126260e+00 + -2.175370140365612e+00 + -2.175301769822078e+00 + -2.175237519000000e+00 + -2.175177478422601e+00 + -2.175121740498959e+00 + -2.175070398200953e+00 + -2.175023544771637e+00 + -2.174981275000000e+00 + -2.174943684570890e+00 + -2.174910868831887e+00 + -2.174882924320826e+00 + -2.174859949548785e+00 + -2.174842043000000e+00 + -2.174829303331104e+00 + -2.174821830410927e+00 + -2.174819725228089e+00 + -2.174823090027552e+00 + -2.174832027000000e+00 + -2.174846638699704e+00 + -2.174867029559900e+00 + -2.174893304738549e+00 + -2.174925569834485e+00 + -2.174963931000000e+00 + -2.175008495084293e+00 + -2.175059370394289e+00 + -2.175116665887380e+00 + -2.175180491027200e+00 + -2.175250956000000e+00 + -2.175328171805043e+00 + -2.175412250937077e+00 + -2.175503306357684e+00 + -2.175601451271103e+00 + -2.175706800000000e+00 + -2.175819467765500e+00 + -2.175939570549688e+00 + -2.176067225041086e+00 + -2.176202548787411e+00 + -2.176345660000000e+00 + -2.176496677644949e+00 + -2.176655722183164e+00 + -2.176822914601843e+00 + -2.176998376191533e+00 + -2.177182229000000e+00 + -2.177374595921169e+00 + -2.177575601341799e+00 + -2.177785370087074e+00 + -2.178004027196875e+00 + -2.178231699000000e+00 + -2.178468512862275e+00 + -2.178714597011325e+00 + -2.178970080062299e+00 + -2.179235091002944e+00 + -2.179509760000000e+00 + -2.179794218272507e+00 + -2.180088598277346e+00 + -2.180393032665419e+00 + -2.180707654074028e+00 + -2.181032597000000e+00 + -2.181367997183408e+00 + -2.181713990526695e+00 + -2.182070713375897e+00 + -2.182438302803596e+00 + -2.182816897000000e+00 + -2.183206635150288e+00 + -2.183607657686531e+00 + -2.184020105275964e+00 + -2.184444118610974e+00 + -2.184879840000000e+00 + -2.185327412889597e+00 + -2.185786981109685e+00 + -2.186258689137973e+00 + -2.186742682377725e+00 + -2.187239107000000e+00 + -2.187748109862624e+00 + -2.188269838801850e+00 + -2.188804442677439e+00 + -2.189352071523296e+00 + -2.189912875000000e+00 + -2.190487003093955e+00 + -2.191074608322116e+00 + -2.191675843787203e+00 + -2.192290862610885e+00 + -2.192919819000000e+00 + -2.193562867915730e+00 + -2.194220164552147e+00 + -2.194891865404003e+00 + -2.195578128862665e+00 + -2.196279113000000e+00 + -2.196994976008069e+00 + -2.197725877814248e+00 + -2.198471979076637e+00 + -2.199233441010543e+00 + -2.200010426000000e+00 + -2.200803097224683e+00 + -2.201611618154960e+00 + -2.202436152922896e+00 + -2.203276866629103e+00 + -2.204133924999999e+00 + -2.205007494076377e+00 + -2.205897739759803e+00 + -2.206804828380775e+00 + -2.207728927012060e+00 + -2.208670203000000e+00 + -2.209628824019662e+00 + -2.210604958519273e+00 + -2.211598775212799e+00 + -2.212610442959744e+00 + -2.213640131000000e+00 + -2.214688008997179e+00 + -2.215754247358006e+00 + -2.216839016713686e+00 + -2.217942487809252e+00 + -2.219064832000000e+00 + -2.220206221175054e+00 + -2.221366827800435e+00 + -2.222546824259503e+00 + -2.223746382727115e+00 + -2.224965677000000e+00 + -2.226204881636015e+00 + -2.227464170011377e+00 + -2.228743716360184e+00 + -2.230043696636770e+00 + -2.231364286000000e+00 + -2.232705659360148e+00 + -2.234067993079961e+00 + -2.235451464138931e+00 + -2.236856249856844e+00 + -2.238282527000000e+00 + -2.239730472524265e+00 + -2.241200265638654e+00 + -2.242692085287406e+00 + -2.244206109271373e+00 + -2.245742517000000e+00 + -2.247301488882056e+00 + -2.248883204910052e+00 + -2.250487845315945e+00 + -2.252115590911750e+00 + -2.253766623000000e+00 + -2.255441123360801e+00 + -2.257139274542631e+00 + -2.258861259219423e+00 + -2.260607260005651e+00 + -2.262377460000000e+00 + -2.264172042724291e+00 + -2.265991192137124e+00 + -2.267835092970031e+00 + -2.269703930922391e+00 + -2.271597891000000e+00 + -2.273517158096056e+00 + -2.275461918662951e+00 + -2.277432359442962e+00 + -2.279428667085979e+00 + -2.281451029000000e+00 + -2.283499633104788e+00 + -2.285574667389452e+00 + -2.287676320195930e+00 + -2.289804780398682e+00 + -2.291960237000000e+00 + -2.294142879454985e+00 + -2.296352898805551e+00 + -2.298590485768695e+00 + -2.300855830078550e+00 + -2.303149122999999e+00 + -2.305470556795997e+00 + -2.307820323545887e+00 + -2.310198615647936e+00 + -2.312605626084681e+00 + -2.315041548000000e+00 + -2.317506574745174e+00 + -2.320000900224320e+00 + -2.322524719122656e+00 + -2.325078227061991e+00 + -2.327661619000000e+00 + -2.330275089774933e+00 + -2.332918835677479e+00 + -2.335593053485966e+00 + -2.338297940187764e+00 + -2.341033693000000e+00 + -2.343800509406319e+00 + -2.346598587410773e+00 + -2.349428125303093e+00 + -2.352289321686241e+00 + -2.355182376000000e+00 + -2.358107488272472e+00 + -2.361064858786305e+00 + -2.364054687769198e+00 + -2.367077175375671e+00 + -2.370132523000000e+00 + -2.373220932737141e+00 + -2.376342606269360e+00 + -2.379497745810629e+00 + -2.382686554578887e+00 + -2.385909236000000e+00 + -2.389165993580208e+00 + -2.392457030846979e+00 + -2.395782552198058e+00 + -2.399142763298191e+00 + -2.402537869000000e+00 + -2.405968074028050e+00 + -2.409433584975734e+00 + -2.412934608682329e+00 + -2.416471351683178e+00 + -2.420044020999999e+00 + -2.423652824137149e+00 + -2.427297969206864e+00 + -2.430979664728804e+00 + -2.434698119632543e+00 + -2.438453543000000e+00 + -2.442246144168148e+00 + -2.446076133195298e+00 + -2.449943720571852e+00 + -2.453849117184546e+00 + -2.457792534000000e+00 + -2.461774182279110e+00 + -2.465794274341647e+00 + -2.469853022790889e+00 + -2.473950640299041e+00 + -2.478087340000000e+00 + -2.482263335430129e+00 + -2.486478840559030e+00 + -2.490734069661931e+00 + -2.495029237377275e+00 + -2.499364559000000e+00 + -2.503740250274207e+00 + -2.508156527124766e+00 + -2.512613605692700e+00 + -2.517111702474631e+00 + -2.521651035000000e+00 + -2.526231821279088e+00 + -2.530854278665131e+00 + -2.535518625205626e+00 + -2.540225080261870e+00 + -2.544973863000000e+00 + -2.549765192573217e+00 + -2.554599288888442e+00 + -2.559476372494764e+00 + -2.564396664604125e+00 + -2.569360386000000e+00 + -2.574367757513646e+00 + -2.579419001423863e+00 + -2.584514340338642e+00 + -2.589653996851589e+00 + -2.594838193999999e+00 + -2.600067155253186e+00 + -2.605341104662645e+00 + -2.610660266783872e+00 + -2.616024866689215e+00 + -2.621435129000000e+00 + -2.626891278432673e+00 + -2.632393541366548e+00 + -2.637942144571998e+00 + -2.643537314797249e+00 + -2.649179279000000e+00 + -2.654868264471787e+00 + -2.660604499292826e+00 + -2.666388211776204e+00 + -2.672219630341834e+00 + -2.678098984000000e+00 + -2.684026502306392e+00 + -2.690002415494505e+00 + -2.696026954017429e+00 + -2.702100348331385e+00 + -2.708222828000000e+00 + -2.714394620651795e+00 + -2.720615948464916e+00 + -2.726887030965477e+00 + -2.733208085290139e+00 + -2.739579324000000e+00 + -2.746000955816228e+00 + -2.752473185385865e+00 + -2.758996214641690e+00 + -2.765570242469367e+00 + -2.772195463000000e+00 + -2.778872066776275e+00 + -2.785600241574056e+00 + -2.792380171842594e+00 + -2.799212037606767e+00 + -2.806096015000000e+00 + -2.813032277129447e+00 + -2.820020994035244e+00 + -2.827062331911353e+00 + -2.834156451970738e+00 + -2.841303512999999e+00 + -2.848503671252426e+00 + -2.855757077985244e+00 + -2.863063881095023e+00 + -2.870424224890850e+00 + -2.877838249999999e+00 + -2.885306093928394e+00 + -2.892827890388094e+00 + -2.900403769651381e+00 + -2.908033857857018e+00 + -2.915718277999999e+00 + -2.923457150039019e+00 + -2.931250588977881e+00 + -2.939098706889091e+00 + -2.947001612872150e+00 + -2.954959411999998e+00 + -2.962972205810575e+00 + -2.971040091434060e+00 + -2.979163163083816e+00 + -2.987341511831155e+00 + -2.995575224999998e+00 + -3.003864386499012e+00 + -3.012209075546996e+00 + -3.020609368336417e+00 + -3.029065337835770e+00 + -3.037577052999999e+00 + -3.046144579520789e+00 + -3.054767979666142e+00 + -3.063447312238444e+00 + -3.072182631692820e+00 + -3.080973988999999e+00 + -3.089821432099915e+00 + -3.098725004829577e+00 + -3.107684748048404e+00 + -3.116700699185534e+00 + -3.125772890999999e+00 + -3.134901352715559e+00 + -3.144086110699870e+00 + -3.153327188100508e+00 + -3.162624603843408e+00 + -3.171978372999998e+00 + -3.181388507546933e+00 + -3.190855016073102e+00 + -3.200377903469057e+00 + -3.209957169965227e+00 + -3.219592812999998e+00 + -3.229284827363896e+00 + -3.239033203402719e+00 + -3.248837927724427e+00 + -3.258698982652799e+00 + -3.268616347999998e+00 + -3.278590000914418e+00 + -3.288619913401403e+00 + -3.298706054004673e+00 + -3.308848387625167e+00 + -3.319046875999998e+00 + -3.329301477934322e+00 + -3.339612147844228e+00 + -3.349978836592516e+00 + -3.360401490990458e+00 + -3.370880054999998e+00 + -3.381414469596773e+00 + -3.392004670266620e+00 + -3.402650589976440e+00 + -3.413352159446950e+00 + -3.424109303999998e+00 + -3.434921945057392e+00 + -3.445790001867386e+00 + -3.456713390096515e+00 + -3.467692020464062e+00 + -3.478725800999998e+00 + -3.489814636890736e+00 + -3.500958427789171e+00 + -3.512157070764700e+00 + -3.523410460589800e+00 + -3.534718486999998e+00 + -3.546081035880271e+00 + -3.557497990199610e+00 + -3.568969229634993e+00 + -3.580494629586285e+00 + -3.592074061999998e+00 + -3.603707395759104e+00 + -3.615394495446970e+00 + -3.627135222559569e+00 + -3.638929435115233e+00 + -3.650776987000000e+00 + -3.662677728742245e+00 + -3.674631507325805e+00 + -3.686638166579447e+00 + -3.698697546469576e+00 + -3.710809483000000e+00 + -3.722973808828209e+00 + -3.735190352595157e+00 + -3.747458940125227e+00 + -3.759779394010754e+00 + -3.772151532000000e+00 + -3.784575168342916e+00 + -3.797050115062026e+00 + -3.809576180292756e+00 + -3.822153166803174e+00 + -3.834780875000000e+00 + -3.847459102820189e+00 + -3.860187643203489e+00 + -3.872966285667494e+00 + -3.885794816080159e+00 + -3.898673017000000e+00 + -3.911600667911320e+00 + -3.924577543724543e+00 + -3.937603416269590e+00 + -3.950678053996523e+00 + -3.963801221000000e+00 + -3.976972678103186e+00 + -3.990192183512261e+00 + -4.003459491521890e+00 + -4.016774351164608e+00 + -4.030136509000000e+00 + -4.043545709147031e+00 + -4.057001691149858e+00 + -4.070504190840202e+00 + -4.084052939835804e+00 + -4.097647667000000e+00 + -4.111288098419088e+00 + -4.124973955231095e+00 + -4.138704955371648e+00 + -4.152480813397504e+00 + -4.166301240000000e+00 + -4.180165942572286e+00 + -4.194074624537170e+00 + -4.208026986370140e+00 + -4.222022725101974e+00 + -4.236061533000000e+00 + -4.250143098846027e+00 + -4.264267108996074e+00 + -4.278433246261039e+00 + -4.292641188627767e+00 + -4.306890611000000e+00 + -4.321181185386233e+00 + -4.335512579090955e+00 + -4.349884456391911e+00 + -4.364296478350024e+00 + -4.378748302000000e+00 + -4.393239580901771e+00 + -4.407769964394226e+00 + -4.422339098999587e+00 + -4.436946628138934e+00 + -4.451592191000000e+00 + -4.466275423153566e+00 + -4.480995955945297e+00 + -4.495753418053649e+00 + -4.510547435209278e+00 + -4.525377628000000e+00 + -4.540243613376725e+00 + -4.555145006346341e+00 + -4.570081418154680e+00 + -4.585052454714511e+00 + -4.600057719000000e+00 + -4.615096811360685e+00 + -4.630169328028963e+00 + -4.645274861878902e+00 + -4.660413001844071e+00 + -4.675583333000000e+00 + -4.690785437259527e+00 + -4.706018892955582e+00 + -4.721283275134317e+00 + -4.736578154793736e+00 + -4.751903099000000e+00 + -4.767257671719769e+00 + -4.782641433752779e+00 + -4.798053942304498e+00 + -4.813494749953581e+00 + -4.828963406000000e+00 + -4.844459456896403e+00 + -4.859982445123970e+00 + -4.875531909767719e+00 + -4.891107385884028e+00 + -4.906708405000000e+00 + -4.922334495555203e+00 + -4.937985181840751e+00 + -4.953659984814029e+00 + -4.969358421588884e+00 + -4.985080006000000e+00 + -5.000824248840914e+00 + -5.016590656340991e+00 + -5.032378731598668e+00 + -5.048187974277996e+00 + -5.064017880000000e+00 + -5.079867940973151e+00 + -5.095737645459726e+00 + -5.111626480823102e+00 + -5.127533934923204e+00 + -5.143459499999997e+00 + -5.159402672483111e+00 + -5.175362954369220e+00 + -5.191339851303958e+00 + -5.207332872891304e+00 + -5.223341533999998e+00 + -5.239365353688981e+00 + -5.255403855076862e+00 + -5.271456565155025e+00 + -5.287523015792912e+00 + -5.303602743999997e+00 + -5.319695290809813e+00 + -5.335800201177900e+00 + -5.351917023850607e+00 + -5.368045312413205e+00 + -5.384184625999997e+00 + -5.400334527792659e+00 + -5.416494583936292e+00 + -5.432664365069262e+00 + -5.448843447960337e+00 + -5.465031412999998e+00 + -5.481227843963791e+00 + -5.497432330198948e+00 + -5.513644465003656e+00 + -5.529863846001168e+00 + -5.546090074999998e+00 + -5.562322757794160e+00 + -5.578561506278419e+00 + -5.594805935740466e+00 + -5.611055664858841e+00 + -5.627310317999997e+00 + -5.643569523867812e+00 + -5.659832914603254e+00 + -5.676100126691991e+00 + -5.692370802379017e+00 + -5.708644587999997e+00 + -5.724921133351554e+00 + -5.741200092816319e+00 + -5.757481124931912e+00 + -5.773763893288205e+00 + -5.790048065999996e+00 + -5.806333315035348e+00 + -5.822619317227983e+00 + -5.838905753168464e+00 + -5.855192307810226e+00 + -5.871478670999998e+00 + -5.887764536642293e+00 + -5.904049603224381e+00 + -5.920333573291820e+00 + -5.936616154283948e+00 + -5.952897057999997e+00 + -5.969175999997380e+00 + -5.985452700712029e+00 + -6.001726884408804e+00 + -6.017998279848357e+00 + -6.034266620999998e+00 + -6.050531645917840e+00 + -6.066793096565948e+00 + -6.083050719154321e+00 + -6.099304265265417e+00 + -6.115553489999997e+00 + -6.131798152082848e+00 + -6.148038016850530e+00 + -6.164272852974367e+00 + -6.180502432221914e+00 + -6.196726531999996e+00 + -6.212944934149927e+00 + -6.229157424398349e+00 + -6.245363792906498e+00 + -6.261563835474968e+00 + -6.277757350999996e+00 + -6.293944141712862e+00 + -6.310124016459128e+00 + -6.326296787703612e+00 + -6.342462271423720e+00 + -6.358620288999997e+00 + -6.374770666045148e+00 + -6.390913231950829e+00 + -6.407047820441565e+00 + -6.423174270811367e+00 + -6.439292425999997e+00 + -6.455402132459349e+00 + -6.471503242529590e+00 + -6.487595612302881e+00 + -6.503679101824962e+00 + -6.519753575999998e+00 + -6.535818903908587e+00 + -6.551874959678351e+00 + -6.567921621040533e+00 + -6.583958769810407e+00 + -6.599986292999997e+00 + -6.616004081814032e+00 + -6.632012031732002e+00 + -6.648010042213294e+00 + -6.663998017633650e+00 + -6.679975866999997e+00 + -6.695943503153600e+00 + -6.711900843425355e+00 + -6.727847809100131e+00 + -6.743784326279565e+00 + -6.759710325999998e+00 + -6.775625743222601e+00 + -6.791530516957345e+00 + -6.807424590371784e+00 + -6.823307911868753e+00 + -6.839180434000000e+00 + -6.855042113095231e+00 + -6.870892911056689e+00 + -6.886732793343159e+00 + -6.902561729209182e+00 + -6.918379693000000e+00 + -6.934186663377454e+00 + -6.949982623974822e+00 + -6.965767562024019e+00 + -6.981541468861679e+00 + -6.997304341000000e+00 + -7.013056179149240e+00 + -7.028796988372566e+00 + -7.044526777567921e+00 + -7.060245560311449e+00 + -7.075953355000000e+00 + -7.091650184045992e+00 + -7.107336074531737e+00 + -7.123011057484204e+00 + -7.138675168614964e+00 + -7.154328448000000e+00 + -7.169970939523060e+00 + -7.185602692089082e+00 + -7.201223758621499e+00 + -7.216834196750369e+00 + -7.232434069000000e+00 + -7.248023441650831e+00 + -7.263602384451917e+00 + -7.279170972021925e+00 + -7.294729285389790e+00 + -7.310277408000000e+00 + -7.325815426345584e+00 + -7.341343434315181e+00 + -7.356861529294433e+00 + -7.372369811668458e+00 + -7.387868387000000e+00 + -7.403357365322682e+00 + -7.418836861854650e+00 + -7.434306995371617e+00 + -7.449767888578398e+00 + -7.465219669000000e+00 + -7.480662468362842e+00 + -7.496096423635060e+00 + -7.511521675509539e+00 + -7.526938368822738e+00 + -7.542346653000000e+00 + -7.557746681513402e+00 + -7.573138613106206e+00 + -7.588522610348394e+00 + -7.603898840111169e+00 + -7.619267474000000e+00 + -7.634628687556104e+00 + -7.649982660818226e+00 + -7.665329578157865e+00 + -7.680669629212444e+00 + -7.696003007000000e+00 + -7.711329908041110e+00 + -7.726650535322031e+00 + -7.741965095546557e+00 + -7.757273799081691e+00 + -7.772576861000000e+00 + -7.787874500482072e+00 + -7.803166941820082e+00 + -7.818454413357075e+00 + -7.833737148083599e+00 + -7.849015383000000e+00 + -7.864289358883056e+00 + -7.879559322305754e+00 + -7.894825523493435e+00 + -7.910088216491122e+00 + -7.925347660000000e+00 + -7.940604117030949e+00 + -7.955857856656654e+00 + -7.971109151088187e+00 + -7.986358275553978e+00 + -8.001605510999999e+00 + -8.016851143003514e+00 + -8.032095461580266e+00 + -8.047338760488806e+00 + -8.062581337981985e+00 + -8.077823497000001e+00 + -8.093065544394179e+00 + -8.108307791577566e+00 + -8.123550554205780e+00 + -8.138794153086785e+00 + -8.154038912999997e+00 + -8.169285162395173e+00 + -8.184533235306290e+00 + -8.199783469410583e+00 + -8.215036206329255e+00 + -8.230291792999997e+00 + -8.245550580528674e+00 + -8.260812923863309e+00 + -8.276079182235739e+00 + -8.291349720375887e+00 + -8.306624906999998e+00 + -8.321905114401627e+00 + -8.337190720129563e+00 + -8.352482105562956e+00 + -8.367779656388556e+00 + -8.383083762999997e+00 + -8.398394819954635e+00 + -8.413713227271362e+00 + -8.429039388338369e+00 + -8.444373710123081e+00 + -8.459716604999997e+00 + -8.475068489773328e+00 + -8.490429785807564e+00 + -8.505800918193746e+00 + -8.521182316459129e+00 + -8.536574414999997e+00 + -8.551977652264261e+00 + -8.567392471335332e+00 + -8.582819319266729e+00 + -8.598258647834163e+00 + -8.613710912999998e+00 + -8.629176574613023e+00 + -8.644656098315155e+00 + -8.660149953296175e+00 + -8.675658612460374e+00 + -8.691182553999997e+00 + -8.706722260346437e+00 + -8.722278218076596e+00 + -8.737850917931995e+00 + -8.753440855866357e+00 + -8.769048531999996e+00 + -8.784674450012169e+00 + -8.800319118245726e+00 + -8.815983049456063e+00 + -8.831666761752983e+00 + -8.847370776999997e+00 + -8.863095620572640e+00 + -8.878841823409489e+00 + -8.894609920288579e+00 + -8.910400450202564e+00 + -8.926213956999996e+00 + -8.942050988642462e+00 + -8.957912097948702e+00 + -8.973797841249739e+00 + -8.989708778929735e+00 + -9.005645476999996e+00 + -9.021608505891232e+00 + -9.037598440089864e+00 + -9.053615857732957e+00 + -9.069661341483132e+00 + -9.085735478999997e+00 + -9.101838862125330e+00 + -9.117972087538210e+00 + -9.134135755396374e+00 + -9.150330469883286e+00 + -9.166556840999997e+00 + -9.182815483079517e+00 + -9.199107013675079e+00 + -9.215432054583626e+00 + -9.231791233265957e+00 + -9.248185180999997e+00 + -9.264614532683632e+00 + -9.281079929109534e+00 + -9.297582014702897e+00 + -9.314121437654787e+00 + -9.330698850999996e+00 + -9.347314912003528e+00 + -9.363970283188971e+00 + -9.380665630745685e+00 + -9.397401624940878e+00 + -9.414178940999998e+00 + -9.430998258244742e+00 + -9.447860260503859e+00 + -9.464765635761319e+00 + -9.481715077019253e+00 + -9.498709280999996e+00 + -9.515748948037771e+00 + -9.532834784442173e+00 + -9.549967500513571e+00 + -9.567147810785697e+00 + -9.584376433999996e+00 + -9.601654092679016e+00 + -9.618981514566920e+00 + -9.636359431588877e+00 + -9.653788580476306e+00 + -9.671269701999998e+00 + -9.688803540653204e+00 + -9.706390846469759e+00 + -9.724032373152683e+00 + -9.741728878390186e+00 + -9.759481124999997e+00 + -9.777289880050315e+00 + -9.795155915261526e+00 + -9.813080006095444e+00 + -9.831062932433847e+00 + -9.849105478999997e+00 + -9.867208434586416e+00 + -9.885372592754736e+00 + -9.903598750780114e+00 + -9.921887710289466e+00 + -9.940240277999996e+00 + -9.958657264807959e+00 + -9.977139486156000e+00 + -9.995687760994512e+00 + -1.001430291248964e+01 + -1.003298577000000e+01 + -1.005173716741557e+01 + -1.007055794170109e+01 + -1.008944893313717e+01 + -1.010841098632109e+01 + -1.012744495000000e+01 + -1.014655167843811e+01 + -1.016573203809090e+01 + -1.018498689280856e+01 + -1.020431709913334e+01 + -1.022372353000000e+01 + -1.024320706932260e+01 + -1.026276860085199e+01 + -1.028240900753776e+01 + -1.030212917226508e+01 + -1.032192999000000e+01 + -1.034181236270672e+01 + -1.036177718920571e+01 + -1.038182537682789e+01 + -1.040195784652257e+01 + -1.042217551000000e+01 + -1.044247927800797e+01 + -1.046287008429113e+01 + -1.048334886197221e+01 + -1.050391653528098e+01 + -1.052457404000000e+01 + -1.054532232135862e+01 + -1.056616233045517e+01 + -1.058709501821704e+01 + -1.060812133414642e+01 + -1.062924224000000e+01 + -1.065045870478386e+01 + -1.067177169452023e+01 + -1.069318217826154e+01 + -1.071469113174534e+01 + -1.073629954000000e+01 + -1.075800839260036e+01 + -1.077981867489276e+01 + -1.080173138018267e+01 + -1.082374751517595e+01 + -1.084586808000000e+01 + -1.086809407471729e+01 + -1.089042651905600e+01 + -1.091286643223940e+01 + -1.093541482646511e+01 + -1.095807273000000e+01 + -1.098084118002027e+01 + -1.100372120627546e+01 + -1.102671384288809e+01 + -1.104982013415814e+01 + -1.107304113000000e+01 + -1.109637788366843e+01 + -1.111983144958023e+01 + -1.114340288661973e+01 + -1.116709326043168e+01 + -1.119090364000000e+01 + -1.121483509746141e+01 + -1.123888871051257e+01 + -1.126306556352589e+01 + -1.128736674843474e+01 + -1.131179335000000e+01 + -1.133634645465832e+01 + -1.136102717560643e+01 + -1.138583662099362e+01 + -1.141077588304154e+01 + -1.143584608000000e+01 + -1.146104834278586e+01 + -1.148638378227322e+01 + -1.151185351768562e+01 + -1.153745868860526e+01 + -1.156320043000000e+01 + -1.158907987623694e+01 + -1.161509817570602e+01 + -1.164125647703402e+01 + -1.166755592508495e+01 + -1.169399768000000e+01 + -1.172058291041322e+01 + -1.174731277861368e+01 + -1.177418844974534e+01 + -1.180121109657743e+01 + -1.182838189999999e+01 + -1.185570204579555e+01 + -1.188317272006268e+01 + -1.191079511332836e+01 + -1.193857042312863e+01 + -1.196649984999999e+01 + -1.199458459773775e+01 + -1.202282587700695e+01 + -1.205122490269986e+01 + -1.207978289369385e+01 + -1.210850107000000e+01 + -1.213738065440104e+01 + -1.216642287877588e+01 + -1.219562898067898e+01 + -1.222500020303083e+01 + -1.225453779000000e+01 + -1.228424298812801e+01 + -1.231411705144751e+01 + -1.234416123799292e+01 + -1.237437680934280e+01 + -1.240476502999999e+01 + -1.243532716862228e+01 + -1.246606450371358e+01 + -1.249697831672881e+01 + -1.252806989018327e+01 + -1.255934050999999e+01 + -1.259079146663310e+01 + -1.262242406008652e+01 + -1.265423959346900e+01 + -1.268623937120698e+01 + -1.271842469999999e+01 + -1.275079689157634e+01 + -1.278335727210730e+01 + -1.281610716656313e+01 + -1.284904789393346e+01 + -1.288218078999999e+01 + -1.291550719883721e+01 + -1.294902845305343e+01 + -1.298274589252790e+01 + -1.301666087289315e+01 + -1.305077474999999e+01 + -1.308508888000826e+01 + -1.311960462335401e+01 + -1.315432334734565e+01 + -1.318924642810263e+01 + -1.322437523999999e+01 + -1.325971115825294e+01 + -1.329525556797775e+01 + -1.333100986045822e+01 + -1.336697543256989e+01 + -1.340315367999999e+01 + -1.343954599979837e+01 + -1.347615379884262e+01 + -1.351297848978655e+01 + -1.355002149050285e+01 + -1.358728421999999e+01 + -1.362476809975143e+01 + -1.366247455932581e+01 + -1.370040503112116e+01 + -1.373856094968169e+01 + -1.377694375999999e+01 + -1.381555491216690e+01 + -1.385439585021465e+01 + -1.389346802391279e+01 + -1.393277289476898e+01 + -1.397231192999999e+01 + -1.401208659972945e+01 + -1.405209837359219e+01 + -1.409234872413346e+01 + -1.413283912961124e+01 + -1.417357107999999e+01 + -1.421454607102127e+01 + -1.425576559243092e+01 + -1.429723113890712e+01 + -1.433894421536596e+01 + -1.438090632999999e+01 + -1.442311899332400e+01 + -1.446558371903957e+01 + -1.450830202765583e+01 + -1.455127544879836e+01 + -1.459450550999999e+01 + -1.463799373973040e+01 + -1.468174167767078e+01 + -1.472575086722947e+01 + -1.477002285383887e+01 + -1.481455918999999e+01 + -1.485936143285468e+01 + -1.490443114031971e+01 + -1.494976987417127e+01 + -1.499537920245961e+01 + -1.504126069999999e+01 + -1.508741594534576e+01 + -1.513384651602358e+01 + -1.518055399754435e+01 + -1.522753998778076e+01 + -1.527480607999999e+01 + -1.532235386668537e+01 + -1.537018495189360e+01 + -1.541830094448208e+01 + -1.546670345694024e+01 + -1.551539410999999e+01 + -1.556437452805486e+01 + -1.561364632974880e+01 + -1.566321114034704e+01 + -1.571307059764629e+01 + -1.576322633999999e+01 + -1.581368000886133e+01 + -1.586443325932826e+01 + -1.591548774371123e+01 + -1.596684510633198e+01 + -1.601850700999999e+01 + -1.607047512763592e+01 + -1.612275112310131e+01 + -1.617533666634843e+01 + -1.622823344044972e+01 + -1.628144312999999e+01 + -1.633496741991010e+01 + -1.638880799548294e+01 + -1.644296655089035e+01 + -1.649744479372194e+01 + -1.655224442999999e+01 + -1.660736716535794e+01 + -1.666281471098534e+01 + -1.671858878335293e+01 + -1.677469110504862e+01 + -1.683112339999999e+01 + -1.688788739643611e+01 + -1.694498483759857e+01 + -1.700241746523662e+01 + -1.706018701398879e+01 + -1.711829522999999e+01 + -1.717674386844329e+01 + -1.723553468924849e+01 + -1.729466945458232e+01 + -1.735414992865347e+01 + -1.741397788000000e+01 + -1.747415508099178e+01 + -1.753468330867943e+01 + -1.759556434768274e+01 + -1.765679999203036e+01 + -1.771839203000000e+01 + -1.778034225038387e+01 + -1.784265246094084e+01 + -1.790532446959567e+01 + -1.796836007816754e+01 + -1.803176110000000e+01 + -1.809552935720682e+01 + -1.815966667575656e+01 + -1.822417488078262e+01 + -1.828905579597735e+01 + -1.835431126000000e+01 + -1.841994311958100e+01 + -1.848595321475806e+01 + -1.855234338946741e+01 + -1.861911549709020e+01 + -1.868627140000000e+01 + -1.875381296458075e+01 + -1.882174205218422e+01 + -1.889006052915166e+01 + -1.895877027181235e+01 + -1.902787316000000e+01 + -1.909737107797965e+01 + -1.916726592078253e+01 + -1.923755957952593e+01 + -1.930825393714747e+01 + -1.937935090000000e+01 + -1.945085238647674e+01 + -1.952276030080435e+01 + -1.959507655061933e+01 + -1.966780305499929e+01 + -1.974094174000000e+01 + -1.981449453618971e+01 + -1.988846337667131e+01 + -1.996285019538828e+01 + -2.003765692760933e+01 + -2.011288552000000e+01 + -2.018853792621815e+01 + -2.026461609876727e+01 + -2.034112199510926e+01 + -2.041805758075517e+01 + -2.049542482000000e+01 + -2.057322568006621e+01 + -2.065146214471047e+01 + -2.073013619484967e+01 + -2.080924980240138e+01 + -2.088880495999999e+01 + -2.096880367169853e+01 + -2.104924793164823e+01 + -2.113013973534757e+01 + -2.121148108557274e+01 + -2.129327399999999e+01 + -2.137552050224973e+01 + -2.145822260294134e+01 + -2.154138232011573e+01 + -2.162500168821614e+01 + -2.170908273999999e+01 + -2.179362750931509e+01 + -2.187863804236205e+01 + -2.196411638687395e+01 + -2.205006458870765e+01 + -2.213648469999998e+01 + -2.222337877888525e+01 + -2.231074889087196e+01 + -2.239859710699802e+01 + -2.248692550346576e+01 + -2.257573614999999e+01 + -2.266503111825121e+01 + -2.275481250533621e+01 + -2.284508240538831e+01 + -2.293584289979252e+01 + -2.302709608999998e+01 + -2.311884408797131e+01 + -2.321108899308483e+01 + -2.330383291176923e+01 + -2.339707796636268e+01 + -2.349082627999998e+01 + -2.358507997580010e+01 + -2.367984117841246e+01 + -2.377511201965127e+01 + -2.387089464198777e+01 + -2.396719118999998e+01 + -2.406400380890314e+01 + -2.416133464354705e+01 + -2.425918584868402e+01 + -2.435755959379285e+01 + -2.445645803999998e+01 + -2.455588334675619e+01 + -2.465583769169985e+01 + -2.475632325621871e+01 + -2.485734222078360e+01 + -2.495889676999998e+01 + -2.506098909313465e+01 + -2.516362138717989e+01 + -2.526679585042222e+01 + -2.537051468121954e+01 + -2.547478008999998e+01 + -2.557959429416147e+01 + -2.568495950782481e+01 + -2.579087794894506e+01 + -2.589735184307986e+01 + -2.600438342000000e+01 + -2.611197491414786e+01 + -2.622012856937007e+01 + -2.632884662779481e+01 + -2.643813132670684e+01 + -2.654798492000000e+01 + -2.665840967182968e+01 + -2.676940784333127e+01 + -2.688098169572292e+01 + -2.699313349264397e+01 + -2.710586551000000e+01 + -2.721918002998715e+01 + -2.733307932892397e+01 + -2.744756569229334e+01 + -2.756264142140602e+01 + -2.767830881000000e+01 + -2.779457014947893e+01 + -2.791142774510221e+01 + -2.802888390934165e+01 + -2.814694096000261e+01 + -2.826560121000000e+01 + -2.838486697334714e+01 + -2.850474058224100e+01 + -2.862522436986088e+01 + -2.874632066501767e+01 + -2.886803181000000e+01 + -2.899036015446983e+01 + -2.911330804180568e+01 + -2.923687781925054e+01 + -2.936107184331833e+01 + -2.948589248000000e+01 + -2.961134209910011e+01 + -2.973742306338333e+01 + -2.986413774439124e+01 + -2.999148852946843e+01 + -3.011947780000000e+01 + -3.024810793640462e+01 + -3.037738133418102e+01 + -3.050730039248281e+01 + -3.063786751048302e+01 + -3.076908508999995e+01 + -3.090095553801825e+01 + -3.103348127528379e+01 + -3.116666472242296e+01 + -3.130050829541340e+01 + -3.143501442000000e+01 + -3.157018552904646e+01 + -3.170602405762165e+01 + -3.184253244456109e+01 + -3.197971313442012e+01 + -3.211756857999995e+01 + -3.225610123724459e+01 + -3.239531355479052e+01 + -3.253520799120049e+01 + -3.267578702273956e+01 + -3.281705312000000e+01 + -3.295900875199519e+01 + -3.310165640007095e+01 + -3.324499854981137e+01 + -3.338903768896250e+01 + -3.353377630999994e+01 + -3.367921690900354e+01 + -3.382536198480008e+01 + -3.397221404252836e+01 + -3.411977559608952e+01 + -3.426804916000000e+01 + -3.441703725062087e+01 + -3.456674239208418e+01 + -3.471716711255165e+01 + -3.486831394366235e+01 + -3.502018541999994e+01 + -3.517278408030963e+01 + -3.532611247314257e+01 + -3.548017315006599e+01 + -3.563496866378715e+01 + -3.579050157000000e+01 + -3.594677442911821e+01 + -3.610378981290209e+01 + -3.626155029281482e+01 + -3.642005843692588e+01 + -3.657931682999995e+01 + -3.673932806450152e+01 + -3.690009471994529e+01 + -3.706161938636306e+01 + -3.722390467398576e+01 + -3.738695318000000e+01 + -3.755076749872251e+01 + -3.771535025114206e+01 + -3.788070405790332e+01 + -3.804683152981476e+01 + -3.821373528999994e+01 + -3.838141797088579e+01 + -3.854988220802454e+01 + -3.871913063690455e+01 + -3.888916589260551e+01 + -3.905999062000000e+01 + -3.923160747217621e+01 + -3.940401910958111e+01 + -3.957722819105772e+01 + -3.975123737141870e+01 + -3.992604931999993e+01 + -4.010166671506960e+01 + -4.027809223215413e+01 + -4.045532854769397e+01 + -4.063337834194039e+01 + -4.081224431000000e+01 + -4.099192915380458e+01 + -4.117243556512365e+01 + -4.135376624213356e+01 + -4.153592389680070e+01 + -4.171891123999993e+01 + -4.190273098404973e+01 + -4.208738585293229e+01 + -4.227287857304115e+01 + -4.245921187066173e+01 + -4.264638848000000e+01 + -4.283441114000928e+01 + -4.302328258823673e+01 + -4.321300556988346e+01 + -4.340358284230594e+01 + -4.359501715999993e+01 + -4.378731127802528e+01 + -4.398046796379431e+01 + -4.417448998677844e+01 + -4.436938011574802e+01 + -4.456514113000000e+01 + -4.476177581459606e+01 + -4.495928695037842e+01 + -4.515767732491430e+01 + -4.535694973791337e+01 + -4.555710698999992e+01 + -4.575815188265746e+01 + -4.596008722124420e+01 + -4.616291581815827e+01 + -4.636664049491562e+01 + -4.657126407000000e+01 + -4.677678936329625e+01 + -4.698321921012249e+01 + -4.719055644645270e+01 + -4.739880390447049e+01 + -4.760796442999992e+01 + -4.781804087601476e+01 + -4.802903608806237e+01 + -4.824095291782189e+01 + -4.845379422957746e+01 + -4.866756289000000e+01 + -4.888226176793614e+01 + -4.909789373759357e+01 + -4.931446167624577e+01 + -4.953196846445736e+01 + -4.975041698999991e+01 + -4.996981014490353e+01 + -5.019015082042799e+01 + -5.041144191483806e+01 + -5.063368633767777e+01 + -5.085688700000000e+01 + -5.108104681363623e+01 + -5.130616869222998e+01 + -5.153225555529192e+01 + -5.175931033093434e+01 + -5.198733594999992e+01 + -5.221633534632925e+01 + -5.244631146064819e+01 + -5.267726723814258e+01 + -5.290920562821528e+01 + -5.314212958000000e+01 + -5.337604204603855e+01 + -5.361094599406351e+01 + -5.384684439089011e+01 + -5.408374019738633e+01 + -5.432163638999991e+01 + -5.456053595406303e+01 + -5.480044186892415e+01 + -5.504135712069162e+01 + -5.528328470761400e+01 + -5.552622762000000e+01 + -5.577018884907901e+01 + -5.601517141284037e+01 + -5.626117832498171e+01 + -5.650821258404100e+01 + -5.675627720999991e+01 + -5.700537523542541e+01 + -5.725550968441112e+01 + -5.750668358361924e+01 + -5.775889996777224e+01 + -5.801216188000000e+01 + -5.826647236807500e+01 + -5.852183447842080e+01 + -5.877825126017432e+01 + -5.903572576827786e+01 + -5.929426106999990e+01 + -5.955386023803142e+01 + -5.981452633626228e+01 + -6.007626243395679e+01 + -6.033907161265666e+01 + -6.060295696000000e+01 + -6.086792156620618e+01 + -6.113396851889991e+01 + -6.140110091270849e+01 + -6.166932185413050e+01 + -6.193863444999990e+01 + -6.220904180836374e+01 + -6.248054704389698e+01 + -6.275315327303672e+01 + -6.302686361375484e+01 + -6.330168120000000e+01 + -6.357760917255472e+01 + -6.385465065869710e+01 + -6.413280879313753e+01 + -6.441208672717147e+01 + -6.469248761000000e+01 + -6.497401459207148e+01 + -6.525667083785252e+01 + -6.554045951020694e+01 + -6.582538376572784e+01 + -6.611144677999999e+01 + -6.639865173804421e+01 + -6.668700181225154e+01 + -6.697650018322166e+01 + -6.726715004865791e+01 + -6.755895460000001e+01 + -6.785191702754956e+01 + -6.814604053706709e+01 + -6.844132833746227e+01 + -6.873778363702108e+01 + -6.903540965000001e+01 + -6.933420959649558e+01 + -6.963418670433917e+01 + -6.993534420146086e+01 + -7.023768531400407e+01 + -7.054121327999999e+01 + -7.084593134500037e+01 + -7.115184275353549e+01 + -7.145895075432828e+01 + -7.176725860332733e+01 + -7.207676955999989e+01 + -7.238748688676215e+01 + -7.269941385037480e+01 + -7.301255372170849e+01 + -7.332690977697268e+01 + -7.364248530000000e+01 + -7.395928357816831e+01 + -7.427730789465394e+01 + -7.459656154154558e+01 + -7.491704782593285e+01 + -7.523877004999987e+01 + -7.556173151464178e+01 + -7.588593553169946e+01 + -7.621138541944168e+01 + -7.653808450163682e+01 + -7.686603610000000e+01 + -7.719524353805981e+01 + -7.752571015313293e+01 + -7.785743928572181e+01 + -7.819043427631229e+01 + -7.852469846999988e+01 + -7.886023521608357e+01 + -7.919704786882774e+01 + -7.953513978918475e+01 + -7.987451434652237e+01 + -8.021517491000000e+01 + -8.055712484895521e+01 + -8.090036753598372e+01 + -8.124490635250547e+01 + -8.159074469172391e+01 + -8.193788593999987e+01 + -8.228633348416081e+01 + -8.263609073313938e+01 + -8.298716109541151e+01 + -8.333954797103145e+01 + -8.369325477000000e+01 + -8.404828491028280e+01 + -8.440464181412719e+01 + -8.476232890793086e+01 + -8.512134962287996e+01 + -8.548170738999985e+01 + -8.584340564352934e+01 + -8.620644783199920e+01 + -8.657083740482393e+01 + -8.693657780824788e+01 + -8.730367250000000e+01 + -8.767212494371194e+01 + -8.804193859639375e+01 + -8.841311692593891e+01 + -8.878566341870939e+01 + -8.915958154999986e+01 + -8.953487479168578e+01 + -8.991154663471849e+01 + -9.028960057395298e+01 + -9.066904010318096e+01 + -9.104986872000001e+01 + -9.143208992686800e+01 + -9.181570723560402e+01 + -9.220072416114067e+01 + -9.258714421980083e+01 + -9.297497092999986e+01 + -9.336420781525349e+01 + -9.375485841426487e+01 + -9.414692626313253e+01 + -9.454041488965315e+01 + -9.493532784000000e+01 + -9.533166867059026e+01 + -9.572944092950100e+01 + -9.612864816948191e+01 + -9.652929395407540e+01 + -9.693138184999984e+01 + -9.733491542620831e+01 + -9.773989825487583e+01 + -9.814633391500892e+01 + -9.855422599474231e+01 + -9.896357808000000e+01 + -9.937439375553778e+01 + -9.978667660951464e+01 + -1.002004302498873e+02 + -1.006156583113964e+02 + -1.010323643999998e+02 + -1.014505521033422e+02 + -1.018702250167552e+02 + -1.022913867648504e+02 + -1.027140410123223e+02 + -1.031381914000000e+02 + -1.035638415489902e+02 + -1.039909950728156e+02 + -1.044196556182856e+02 + -1.048498268814360e+02 + -1.052815124999998e+02 + -1.057147160851634e+02 + -1.061494413040264e+02 + -1.065856918490972e+02 + -1.070234714266025e+02 + -1.074627837000000e+02 + -1.079036323073108e+02 + -1.083460208994117e+02 + -1.087899531790557e+02 + -1.092354329168266e+02 + -1.096824637999998e+02 + -1.101310494754678e+02 + -1.105811936593542e+02 + -1.110329000832090e+02 + -1.114861724712110e+02 + -1.119410145000000e+02 + -1.123974298499644e+02 + -1.128554223365672e+02 + -1.133149957276709e+02 + -1.137761536721920e+02 + -1.142388998999998e+02 + -1.147032381951767e+02 + -1.151691723223398e+02 + -1.156367060267053e+02 + -1.161058430340008e+02 + -1.165765871000000e+02 + -1.170489420136372e+02 + -1.175229116129598e+02 + -1.179984996644491e+02 + -1.184757098197581e+02 + -1.189545458999998e+02 + -1.194350118004852e+02 + -1.199171112501401e+02 + -1.204008480035419e+02 + -1.208862259161727e+02 + -1.213732488000000e+02 + -1.218619204419225e+02 + -1.223522446637547e+02 + -1.228442252993658e+02 + -1.233378661832514e+02 + -1.238331710999998e+02 + -1.243301438371392e+02 + -1.248287883218059e+02 + -1.253291084262349e+02 + -1.258311078947497e+02 + -1.263347906000000e+02 + -1.268401604692280e+02 + -1.273472212887372e+02 + -1.278559768940106e+02 + -1.283664312433523e+02 + -1.288785881999998e+02 + -1.293924515790011e+02 + -1.299080252758494e+02 + -1.304253131892150e+02 + -1.309443191941241e+02 + -1.314650472000000e+02 + -1.319875011267033e+02 + -1.325116848422910e+02 + -1.330376022476014e+02 + -1.335652573069860e+02 + -1.340946538999998e+02 + -1.346257958892211e+02 + -1.351586873010075e+02 + -1.356933320835031e+02 + -1.362297340185993e+02 + -1.367678971000000e+02 + -1.373078254089903e+02 + -1.378495227933144e+02 + -1.383929931342302e+02 + -1.389382404506380e+02 + -1.394852686999998e+02 + -1.400340818144768e+02 + -1.405846838138316e+02 + -1.411370786853171e+02 + -1.416912703410207e+02 + -1.422472628000000e+02 + -1.428050601118040e+02 + -1.433646661562381e+02 + -1.439260848884736e+02 + -1.444893204354731e+02 + -1.450543767999998e+02 + -1.456212579173106e+02 + -1.461899678121767e+02 + -1.467605105156440e+02 + -1.473328900351724e+02 + -1.479071104000000e+02 + -1.484831756560318e+02 + -1.490610898537698e+02 + -1.496408570188282e+02 + -1.502224811435522e+02 + -1.508059663000000e+02 + -1.513913165938295e+02 + -1.519785360517816e+02 + -1.525676287092765e+02 + -1.531585986433134e+02 + -1.537514498999998e+02 + -1.543461865304275e+02 + -1.549428126935839e+02 + -1.555413324987964e+02 + -1.561417499433451e+02 + -1.567440691000000e+02 + -1.573482940967384e+02 + -1.579544290618548e+02 + -1.585624781173004e+02 + -1.591724453723425e+02 + -1.597843348999998e+02 + -1.603981507727703e+02 + -1.610138971515657e+02 + -1.616315781879854e+02 + -1.622511979884414e+02 + -1.628727607000000e+02 + -1.634962704824068e+02 + -1.641217314319286e+02 + -1.647491476962519e+02 + -1.653785235159056e+02 + -1.660098629999998e+02 + -1.666431702132707e+02 + -1.672784494025457e+02 + -1.679157047805161e+02 + -1.685549404452619e+02 + -1.691961606000000e+02 + -1.698393694891200e+02 + -1.704845712252935e+02 + -1.711317699673001e+02 + -1.717809699904770e+02 + -1.724321754999998e+02 + -1.730853906636835e+02 + -1.737406197069920e+02 + -1.743978668390772e+02 + -1.750571362267288e+02 + -1.757184321000000e+02 + -1.763817587329360e+02 + -1.770471204015179e+02 + -1.777145213342737e+02 + -1.783839656916257e+02 + -1.790554576999997e+02 + -1.797290016348361e+02 + -1.804046017812607e+02 + -1.810822624074922e+02 + -1.817619877551305e+02 + -1.824437821000000e+02 + -1.831276497291853e+02 + -1.838135948809234e+02 + -1.845016218201234e+02 + -1.851917348679873e+02 + -1.858839382999998e+02 + -1.865782363787204e+02 + -1.872746334451072e+02 + -1.879731338116912e+02 + -1.886737417231232e+02 + -1.893764615000000e+02 + -1.900812975069574e+02 + -1.907882540726982e+02 + -1.914973354967214e+02 + -1.922085460544087e+02 + -1.929218900999998e+02 + -1.936373720194894e+02 + -1.943549961169706e+02 + -1.950747667123967e+02 + -1.957966881820183e+02 + -1.965207649000000e+02 + -1.972470012275908e+02 + -1.979754014928308e+02 + -1.987059700466389e+02 + -1.994387112870401e+02 + -2.001736295999997e+02 + -2.009107293657797e+02 + -2.016500149830146e+02 + -2.023914908231823e+02 + -2.031351612174878e+02 + -2.038810306000000e+02 + -2.046291034502658e+02 + -2.053793841544099e+02 + -2.061318770718700e+02 + -2.068865865659776e+02 + -2.076435170999997e+02 + -2.084026731731890e+02 + -2.091640591716557e+02 + -2.099276794995817e+02 + -2.106935386300690e+02 + -2.114616410000000e+02 + -2.122319910255027e+02 + -2.130045931490896e+02 + -2.137794518362718e+02 + -2.145565715736208e+02 + -2.153359567999997e+02 + -2.161176119510612e+02 + -2.169015415764713e+02 + -2.176877501734888e+02 + -2.184762421224458e+02 + -2.192670219000000e+02 + -2.200600940505141e+02 + -2.208554631128035e+02 + -2.216531335679009e+02 + -2.224531098207831e+02 + -2.232553963999997e+02 + -2.240599978997985e+02 + -2.248669188401317e+02 + -2.256761637092654e+02 + -2.264877369816284e+02 + -2.273016432000000e+02 + -2.281178869415660e+02 + -2.289364727411434e+02 + -2.297574051254879e+02 + -2.305806886273285e+02 + -2.314063277999997e+02 + -2.322343272067604e+02 + -2.330646913987978e+02 + -2.338974249389632e+02 + -2.347325324124834e+02 + -2.355700184000000e+02 + -2.364098874788788e+02 + -2.372521442301691e+02 + -2.380967932316097e+02 + -2.389438390563173e+02 + -2.397932862999997e+02 + -2.406451395699314e+02 + -2.414994034603918e+02 + -2.423560825773335e+02 + -2.432151815494090e+02 + -2.440767050000000e+02 + -2.449406575494712e+02 + -2.458070438246558e+02 + -2.466758684438366e+02 + -2.475471360143982e+02 + -2.484208511999996e+02 + -2.492970186823550e+02 + -2.501756430678903e+02 + -2.510567289807632e+02 + -2.519402811010791e+02 + -2.528263041000000e+02 + -2.537148026392507e+02 + -2.546057813786489e+02 + -2.554992449908618e+02 + -2.563951981686694e+02 + -2.572936455999996e+02 + -2.581945919701986e+02 + -2.590980419711499e+02 + -2.600040002856254e+02 + -2.609124715849065e+02 + -2.618234606000000e+02 + -2.627369720784054e+02 + -2.636530106775519e+02 + -2.645715811006028e+02 + -2.654926881465747e+02 + -2.664163364999997e+02 + -2.673425308135112e+02 + -2.682712759281322e+02 + -2.692025766270102e+02 + -2.701364375396030e+02 + -2.710728634000000e+02 + -2.720118590149941e+02 + -2.729534291763713e+02 + -2.738975786300543e+02 + -2.748443120676544e+02 + -2.757936342999997e+02 + -2.767455501787848e+02 + -2.777000643997414e+02 + -2.786571816989448e+02 + -2.796169069311608e+02 + -2.805792449000000e+02 + -2.815442003833780e+02 + -2.825117782146733e+02 + -2.834819832031981e+02 + -2.844548201023671e+02 + -2.854302936999997e+02 + -2.864084088239409e+02 + -2.873891703596309e+02 + -2.883725831483384e+02 + -2.893586519481404e+02 + -2.903473816000000e+02 + -2.913387769892773e+02 + -2.923328429461174e+02 + -2.933295843055886e+02 + -2.943290059327143e+02 + -2.953311126999996e+02 + -2.963359094688269e+02 + -2.973434010446480e+02 + -2.983535922946355e+02 + -2.993664881931061e+02 + -3.003820936000000e+02 + -3.014004133189056e+02 + -3.024214522481863e+02 + -3.034452153213495e+02 + -3.044717074825456e+02 + -3.055009335999997e+02 + -3.065328985120693e+02 + -3.075676071368449e+02 + -3.086050644279766e+02 + -3.096452753553112e+02 + -3.106882447999996e+02 + -3.117339776182681e+02 + -3.127824787990806e+02 + -3.138337533166528e+02 + -3.148878060732492e+02 + -3.159446419999996e+02 + -3.170042660531784e+02 + -3.180666831989414e+02 + -3.191318984100575e+02 + -3.201999166629245e+02 + -3.212707428999996e+02 + -3.223443820580361e+02 + -3.234208391391681e+02 + -3.245001191331626e+02 + -3.255822269890704e+02 + -3.266671677000000e+02 + -3.277549462905472e+02 + -3.288455677875165e+02 + -3.299390371822755e+02 + -3.310353594166140e+02 + -3.321345394999996e+02 + -3.332365824854958e+02 + -3.343414934139734e+02 + -3.354492773045120e+02 + -3.365599391517927e+02 + -3.376734840000000e+02 + -3.387899169180687e+02 + -3.399092429402671e+02 + -3.410314670886827e+02 + -3.421565943845668e+02 + -3.432846298999996e+02 + -3.444155787253185e+02 + -3.455494458929433e+02 + -3.466862364711880e+02 + -3.478259555971263e+02 + -3.489686083000000e+02 + -3.501141995805723e+02 + -3.512627346186799e+02 + -3.524142185495274e+02 + -3.535686563776662e+02 + -3.547260531999996e+02 + -3.558864141649047e+02 + -3.570497443588797e+02 + -3.582160488781844e+02 + -3.593853328562213e+02 + -3.605576014000000e+02 + -3.617328596203877e+02 + -3.629111127187760e+02 + -3.640923658296630e+02 + -3.652766239636252e+02 + -3.664638922999996e+02 + -3.676541760949210e+02 + -3.688474804479435e+02 + -3.700438104641370e+02 + -3.712431713192604e+02 + -3.724455682000000e+02 + -3.736510062917217e+02 + -3.748594907617601e+02 + -3.760710267615897e+02 + -3.772856194324323e+02 + -3.785032739999995e+02 + -3.797239957155368e+02 + -3.809477897125092e+02 + -3.821746611611994e+02 + -3.834046153278488e+02 + -3.846376574000000e+02 + -3.858737925371631e+02 + -3.871130260109560e+02 + -3.883553630688227e+02 + -3.896008088834330e+02 + -3.908493686999996e+02 + -3.921010477895665e+02 + -3.933558513233559e+02 + -3.946137845264227e+02 + -3.958748527376295e+02 + -3.971390612000000e+02 + -3.984064151109821e+02 + -3.996769197585321e+02 + -4.009505804131749e+02 + -4.022274022910074e+02 + -4.035073906999995e+02 + -4.047905509809469e+02 + -4.060768883569506e+02 + -4.073664080804837e+02 + -4.086591154923789e+02 + -4.099550159000000e+02 + -4.112541145837781e+02 + -4.125564168232350e+02 + -4.138619279264533e+02 + -4.151706532436620e+02 + -4.164825980999995e+02 + -4.177977678009782e+02 + -4.191161676484082e+02 + -4.204378029703449e+02 + -4.217626791355866e+02 + -4.230908015000000e+02 + -4.244221753941545e+02 + -4.257568060915354e+02 + -4.270946989435893e+02 + -4.284358594322071e+02 + -4.297802928999995e+02 + -4.311280046181774e+02 + -4.324789999621266e+02 + -4.338332843406102e+02 + -4.351908631680312e+02 + -4.365517418000000e+02 + -4.379159255766193e+02 + -4.392834199290754e+02 + -4.406542302894571e+02 + -4.420283620541414e+02 + -4.434058205999995e+02 + -4.447866113008026e+02 + -4.461707395611302e+02 + -4.475582108324218e+02 + -4.489490306166049e+02 + -4.503432043000000e+02 + -4.517407372272212e+02 + -4.531416348857516e+02 + -4.545459027469901e+02 + -4.559535462055746e+02 + -4.573645706999994e+02 + -4.587789817092769e+02 + -4.601967847429616e+02 + -4.616179852648949e+02 + -4.630425886631084e+02 + -4.644706004000000e+02 + -4.659020259847504e+02 + -4.673368709042424e+02 + -4.687751406384571e+02 + -4.702168406679589e+02 + -4.716619764999995e+02 + -4.731105536500806e+02 + -4.745625775980045e+02 + -4.760180538297375e+02 + -4.774769878558138e+02 + -4.789393852000000e+02 + -4.804052513950263e+02 + -4.818745919803221e+02 + -4.833474124743740e+02 + -4.848237183656923e+02 + -4.863035151999994e+02 + -4.877868085453354e+02 + -4.892736039052198e+02 + -4.907639068268139e+02 + -4.922577229425711e+02 + -4.937550578000000e+02 + -4.952559169027076e+02 + -4.967603058178435e+02 + -4.982682301416788e+02 + -4.997796954853789e+02 + -5.012947073999994e+02 + -5.028132714194502e+02 + -5.043353931676896e+02 + -5.058610782730644e+02 + -5.073903323321115e+02 + -5.089231609000000e+02 + -5.104595695386481e+02 + -5.119995639358939e+02 + -5.135431497453484e+02 + -5.150903325247945e+02 + -5.166411178999995e+02 + -5.181955115300345e+02 + -5.197535190105982e+02 + -5.213151459679927e+02 + -5.228803980937674e+02 + -5.244492810000000e+02 + -5.260218002787250e+02 + -5.275979616609960e+02 + -5.291777708470047e+02 + -5.307612334400695e+02 + -5.323483550999995e+02 + -5.339391415258532e+02 + -5.355335984055753e+02 + -5.371317314077364e+02 + -5.387335461786030e+02 + -5.403390484000000e+02 + -5.419482437848817e+02 + -5.435611380730882e+02 + -5.451777369746786e+02 + -5.467980461477442e+02 + -5.484220712999994e+02 + -5.500498181706811e+02 + -5.516812924850077e+02 + -5.533164999617454e+02 + -5.549554463178829e+02 + -5.565981372999994e+02 + -5.582445786620732e+02 + -5.598947761113077e+02 + -5.615487353817318e+02 + -5.632064622631164e+02 + -5.648679624999994e+02 + -5.665332418238921e+02 + -5.682023060429622e+02 + -5.698751609401672e+02 + -5.715518122344557e+02 + -5.732322656999993e+02 + -5.749165271427032e+02 + -5.766046023386582e+02 + -5.782964970855437e+02 + -5.799922172195480e+02 + -5.816917684999994e+02 + -5.833951566715182e+02 + -5.851023876259811e+02 + -5.868134672043320e+02 + -5.885284011210334e+02 + -5.902471951999993e+02 + -5.919698553287222e+02 + -5.936963873375214e+02 + -5.954267970459595e+02 + -5.971610902818754e+02 + -5.988992728999993e+02 + -6.006413507613062e+02 + -6.023873296844711e+02 + -6.041372155081436e+02 + -6.058910141182311e+02 + -6.076487313999993e+02 + -6.094103732273231e+02 + -6.111759454411804e+02 + -6.129454539033432e+02 + -6.147189045204622e+02 + -6.164963032000001e+02 + -6.182776558378988e+02 + -6.200629682925465e+02 + -6.218522464515877e+02 + -6.236454962577363e+02 + -6.254427235999993e+02 + -6.272439343587159e+02 + -6.290491345295636e+02 + -6.308583300588987e+02 + -6.326715267788347e+02 + -6.344887306000001e+02 + -6.363099474872770e+02 + -6.381351833941451e+02 + -6.399644442896572e+02 + -6.417977361628546e+02 + -6.436350648999993e+02 + -6.454764363684590e+02 + -6.473218566292518e+02 + -6.491713317125350e+02 + -6.510248675271151e+02 + -6.528824700000000e+02 + -6.547441451008573e+02 + -6.566098988943567e+02 + -6.584797373808955e+02 + -6.603536664383599e+02 + -6.622316920999993e+02 + -6.641138204605409e+02 + -6.660000574329696e+02 + -6.678904089961051e+02 + -6.697848812885560e+02 + -6.716834803000000e+02 + -6.735862119462199e+02 + -6.754930822688247e+02 + -6.774040973560088e+02 + -6.793192633079277e+02 + -6.812385860999992e+02 + -6.831620716800010e+02 + -6.850897262089175e+02 + -6.870215557906422e+02 + -6.889575663679858e+02 + -6.908977640000001e+02 + -6.928421548145254e+02 + -6.947907448778678e+02 + -6.967435402481692e+02 + -6.987005469959722e+02 + -7.006617711999993e+02 + -7.026272189534540e+02 + -7.045968963883171e+02 + -7.065708096021641e+02 + -7.085489646318440e+02 + -7.105313676000000e+02 + -7.125180246666655e+02 + -7.145089419064375e+02 + -7.165041254104643e+02 + -7.185035813280965e+02 + -7.205073157999993e+02 + -7.225153349567163e+02 + -7.245276449240899e+02 + -7.265442518464891e+02 + -7.285651618951177e+02 + -7.305903812000000e+02 + -7.326199158832851e+02 + -7.346537721472801e+02 + -7.366919561576724e+02 + -7.387344740033407e+02 + -7.407813318999993e+02 + -7.428325361060332e+02 + -7.448880927069067e+02 + -7.469480078569493e+02 + -7.490122878703525e+02 + -7.510809389000000e+02 + -7.531539670309830e+02 + -7.552313785295614e+02 + -7.573131796529314e+02 + -7.593993765758833e+02 + -7.614899754999992e+02 + -7.635849826556215e+02 + -7.656844042998581e+02 + -7.677882466626152e+02 + -7.698965159244972e+02 + -7.720092183000000e+02 + -7.741263600422619e+02 + -7.762479474594095e+02 + -7.783739868214470e+02 + -7.805044843222228e+02 + -7.826394461999992e+02 + -7.847788787331309e+02 + -7.869227882276110e+02 + -7.890711809493379e+02 + -7.912240631015031e+02 + -7.933814410000000e+02 + -7.955433210068886e+02 + -7.977097093640062e+02 + -7.998806123337483e+02 + -8.020560362523712e+02 + -8.042359873999992e+02 + -8.064204720446323e+02 + -8.086094965664213e+02 + -8.108030673053524e+02 + -8.130011905039750e+02 + -8.152038725000000e+02 + -8.174111196729889e+02 + -8.196229383028856e+02 + -8.218393347070877e+02 + -8.240603152936806e+02 + -8.262858863999992e+02 + -8.285160543327190e+02 + -8.307508254786889e+02 + -8.329902062108882e+02 + -8.352342028550189e+02 + -8.374828218000000e+02 + -8.397360694583805e+02 + -8.419939521636865e+02 + -8.442564762682848e+02 + -8.465236481828920e+02 + -8.487954742999991e+02 + -8.510719610066617e+02 + -8.533531147279726e+02 + -8.556389418758610e+02 + -8.579294488297842e+02 + -8.602246420000000e+02 + -8.625245278111681e+02 + -8.648291126593311e+02 + -8.671384029773127e+02 + -8.694524052578884e+02 + -8.717711258999991e+02 + -8.740945712693658e+02 + -8.764227478547659e+02 + -8.787556621558366e+02 + -8.810933206360036e+02 + -8.834357297000000e+02 + -8.857828957473700e+02 + -8.881348253000285e+02 + -8.904915248639498e+02 + -8.928530008754832e+02 + -8.952192597999992e+02 + -8.975903081273602e+02 + -8.999661523549036e+02 + -9.023467989915350e+02 + -9.047322545556517e+02 + -9.071225255000001e+02 + -9.095176182642568e+02 + -9.119175394073789e+02 + -9.143222954857910e+02 + -9.167318930073794e+02 + -9.191463384999990e+02 + -9.215656384936522e+02 + -9.239897994653498e+02 + -9.264188279352956e+02 + -9.288527305046009e+02 + -9.312915136999991e+02 + -9.337351840217814e+02 + -9.361837480744202e+02 + -9.386372124507991e+02 + -9.410955836845210e+02 + -9.435588682999991e+02 + -9.460270728408829e+02 + -9.485002039375468e+02 + -9.509782681943145e+02 + -9.534612721474879e+02 + -9.559492223999991e+02 + -9.584421255818636e+02 + -9.609399882443452e+02 + -9.634428169536077e+02 + -9.659506183300578e+02 + -9.684633989999990e+02 + -9.709811655949806e+02 + -9.735039247636544e+02 + -9.760316831188370e+02 + -9.785644472182881e+02 + -9.811022236999991e+02 + -9.836450192407020e+02 + -9.861928404528198e+02 + -9.887456939756197e+02 + -9.913035865101050e+02 + -9.938665246999991e+02 + -9.964345151588749e+02 + -9.990075645416573e+02 + -1.001585679508894e+03 + -1.004168866725833e+03 + -1.006757132999999e+03 + -1.009350485088950e+03 + -1.011948929193798e+03 + -1.014552472017065e+03 + -1.017161121149714e+03 + -1.019774882999999e+03 + -1.022393763477281e+03 + -1.025017769745607e+03 + -1.027646908706880e+03 + -1.030281186449000e+03 + -1.032920609999999e+03 + -1.035565186772393e+03 + -1.038214923106640e+03 + -1.040869825393126e+03 + -1.043529900494233e+03 + -1.046195154999999e+03 + -1.048865595518282e+03 + -1.051541229525064e+03 + -1.054222063914517e+03 + -1.056908104442841e+03 + -1.059599357999999e+03 + -1.062295832060889e+03 + -1.064997533253958e+03 + -1.067704468147946e+03 + -1.070416643533965e+03 + -1.073134066000000e+03 + -1.075856742179453e+03 + -1.078584679453085e+03 + -1.081317884808236e+03 + -1.084056364390976e+03 + -1.086800124999999e+03 + -1.089549173751501e+03 + -1.092303517161580e+03 + -1.095063162007773e+03 + -1.097828115663242e+03 + -1.100598385000000e+03 + -1.103373976558467e+03 + -1.106154896984741e+03 + -1.108941153067517e+03 + -1.111732751768433e+03 + -1.114529699999999e+03 + -1.117332004656191e+03 + -1.120139672719820e+03 + -1.122952711033347e+03 + -1.125771126202256e+03 + -1.128594925000000e+03 + -1.131424114391635e+03 + -1.134258701616623e+03 + -1.137098693726371e+03 + -1.139944097362279e+03 + -1.142794918999999e+03 + -1.145651165298781e+03 + -1.148512843975744e+03 + -1.151379962155369e+03 + -1.154252525751212e+03 + -1.157130542000000e+03 + -1.160014018647746e+03 + -1.162902961796701e+03 + -1.165797378002409e+03 + -1.168697275086654e+03 + -1.171602659999999e+03 + -1.174513539162380e+03 + -1.177429919411751e+03 + -1.180351807863387e+03 + -1.183279211838743e+03 + -1.186212138000000e+03 + -1.189150592852472e+03 + -1.192094584016226e+03 + -1.195044118757429e+03 + -1.197999203418656e+03 + -1.200959844999999e+03 + -1.203926050837031e+03 + -1.206897827704460e+03 + -1.209875182550288e+03 + -1.212858122751144e+03 + -1.215846655000000e+03 + -1.218840785789916e+03 + -1.221840522671824e+03 + -1.224845872987532e+03 + -1.227856843385819e+03 + -1.230873440999999e+03 + -1.233895673111333e+03 + -1.236923546192640e+03 + -1.239957067026041e+03 + -1.242996243170224e+03 + -1.246041082000000e+03 + -1.249091590572761e+03 + -1.252147775334870e+03 + -1.255209643154299e+03 + -1.258277201722480e+03 + -1.261350457999999e+03 + -1.264429418673061e+03 + -1.267514091394071e+03 + -1.270604483350415e+03 + -1.273700600740823e+03 + -1.276802451000000e+03 + -1.279910042060014e+03 + -1.283023380429426e+03 + -1.286142472688095e+03 + -1.289267326090673e+03 + -1.292397947999999e+03 + -1.295534345774196e+03 + -1.298676526619691e+03 + -1.301824497524618e+03 + -1.304978265240164e+03 + -1.308137837000000e+03 + -1.311303220289759e+03 + -1.314474422298625e+03 + -1.317651449999705e+03 + -1.320834310180745e+03 + -1.324023009999999e+03 + -1.327217556910311e+03 + -1.330417958531748e+03 + -1.333624221890711e+03 + -1.336836353161044e+03 + -1.340054360000000e+03 + -1.343278250622039e+03 + -1.346508031450468e+03 + -1.349743709083262e+03 + -1.352985291084887e+03 + -1.356232784999999e+03 + -1.359486198143600e+03 + -1.362745537187869e+03 + -1.366010809195683e+03 + -1.369282022032803e+03 + -1.372559183000000e+03 + -1.375842299046690e+03 + -1.379131377356324e+03 + -1.382426425045151e+03 + -1.385727449081319e+03 + -1.389034456999999e+03 + -1.392347456524483e+03 + -1.395666454635196e+03 + -1.398991458464414e+03 + -1.402322475610563e+03 + -1.405659513000000e+03 + -1.409002577344138e+03 + -1.412351676333446e+03 + -1.415706817605260e+03 + -1.419068008353351e+03 + -1.422435255999999e+03 + -1.425808567964313e+03 + -1.429187950969556e+03 + -1.432573411998037e+03 + -1.435964958719179e+03 + -1.439362599000000e+03 + -1.442766340439504e+03 + -1.446176189225631e+03 + -1.449592152360744e+03 + -1.453014238529275e+03 + -1.456442454999999e+03 + -1.459876808245435e+03 + -1.463317305593544e+03 + -1.466763954627232e+03 + -1.470216762966463e+03 + -1.473675738000000e+03 + -1.477140887005819e+03 + -1.480612217422037e+03 + -1.484089736511155e+03 + -1.487573451238554e+03 + -1.491063368999999e+03 + -1.494559497483912e+03 + -1.498061844364458e+03 + -1.501570417048641e+03 + -1.505085222548716e+03 + -1.508606267999999e+03 + -1.512133560790714e+03 + -1.515667108906144e+03 + -1.519206919999463e+03 + -1.522753000996140e+03 + -1.526305358999999e+03 + -1.529864001422905e+03 + -1.533428936276007e+03 + -1.537000171179230e+03 + -1.540577712963951e+03 + -1.544161568999999e+03 + -1.547751747018138e+03 + -1.551348254621497e+03 + -1.554951099280540e+03 + -1.558560288310355e+03 + -1.562175828999999e+03 + -1.565797728689906e+03 + -1.569425994958102e+03 + -1.573060635400619e+03 + -1.576701657553543e+03 + -1.580349068999999e+03 + -1.584002877314684e+03 + -1.587663089901193e+03 + -1.591329713983250e+03 + -1.595002756657312e+03 + -1.598682225999999e+03 + -1.602368130282464e+03 + -1.606060476003810e+03 + -1.609759270166310e+03 + -1.613464521194204e+03 + -1.617176236999999e+03 + -1.620894424965112e+03 + -1.624619091996676e+03 + -1.628350245392540e+03 + -1.632087893195996e+03 + -1.635832042999999e+03 + -1.639582702219653e+03 + -1.643339878880967e+03 + -1.647103580589531e+03 + -1.650873814125992e+03 + -1.654650586999999e+03 + -1.658433907212865e+03 + -1.662223782656940e+03 + -1.666020220927786e+03 + -1.669823229228366e+03 + -1.673632814999999e+03 + -1.677448985879331e+03 + -1.681271749582079e+03 + -1.685101113981527e+03 + -1.688937087086922e+03 + -1.692779675999999e+03 + -1.696628887589857e+03 + -1.700484730162859e+03 + -1.704347211664743e+03 + -1.708216339003609e+03 + -1.712092119999999e+03 + -1.715974562928047e+03 + -1.719863675285195e+03 + -1.723759464515762e+03 + -1.727661938269359e+03 + -1.731571103999999e+03 + -1.735486969207614e+03 + -1.739409542118944e+03 + -1.743338830603560e+03 + -1.747274841733617e+03 + -1.751217582999999e+03 + -1.755167062315964e+03 + -1.759123288009624e+03 + -1.763086267739076e+03 + -1.767056008086542e+03 + -1.771032516999999e+03 + -1.775015803098183e+03 + -1.779005873908525e+03 + -1.783002736756524e+03 + -1.787006399126180e+03 + -1.791016869000000e+03 + -1.795034154506543e+03 + -1.799058263107071e+03 + -1.803089202321619e+03 + -1.807126980015989e+03 + -1.811171603999998e+03 + -1.815223082025504e+03 + -1.819281421835726e+03 + -1.823346631247284e+03 + -1.827418718154363e+03 + -1.831497690000000e+03 + -1.835583554215247e+03 + -1.839676319355180e+03 + -1.843775993459518e+03 + -1.847882583413063e+03 + -1.851996096999998e+03 + -1.856116542493618e+03 + -1.860243927542824e+03 + -1.864378259929794e+03 + -1.868519547846306e+03 + -1.872667799000000e+03 + -1.876823020804590e+03 + -1.880985220849939e+03 + -1.885154407199114e+03 + -1.889330588466962e+03 + -1.893513771999998e+03 + -1.897703964771626e+03 + -1.901901175652285e+03 + -1.906105412964281e+03 + -1.910316683519642e+03 + -1.914534995000000e+03 + -1.918760355678869e+03 + -1.922992773607248e+03 + -1.927232256642219e+03 + -1.931478812455566e+03 + -1.935732448999998e+03 + -1.939993174351127e+03 + -1.944260996306766e+03 + -1.948535922544343e+03 + -1.952817960710870e+03 + -1.957107119000000e+03 + -1.961403405774432e+03 + -1.965706828656891e+03 + -1.970017395435863e+03 + -1.974335114379128e+03 + -1.978659992999998e+03 + -1.982992038634364e+03 + -1.987331259958815e+03 + -1.991677665406797e+03 + -1.996031262526477e+03 + -2.000392059000000e+03 + -2.004760062662544e+03 + -2.009135281420714e+03 + -2.013517723394651e+03 + -2.017907396963966e+03 + -2.022304309999998e+03 + -2.026708470129302e+03 + -2.031119885371980e+03 + -2.035538563783372e+03 + -2.039964513323241e+03 + -2.044397742000000e+03 + -2.048838257821666e+03 + -2.053286068652342e+03 + -2.057741182613919e+03 + -2.062203608203423e+03 + -2.066673352999998e+03 + -2.071150424296029e+03 + -2.075634830690161e+03 + -2.080126580708826e+03 + -2.084625682242698e+03 + -2.089132143000000e+03 + -2.093645970720743e+03 + -2.098167173603271e+03 + -2.102695759983049e+03 + -2.107231738184183e+03 + -2.111775115999998e+03 + -2.116325901057278e+03 + -2.120884101683680e+03 + -2.125449726108530e+03 + -2.130022782163747e+03 + -2.134603278000000e+03 + -2.139191221924691e+03 + -2.143786621957349e+03 + -2.148389485981318e+03 + -2.152999821836896e+03 + -2.157617637999998e+03 + -2.162242943074696e+03 + -2.166875744534069e+03 + -2.171516050262848e+03 + -2.176163869133622e+03 + -2.180819209000000e+03 + -2.185482077327040e+03 + -2.190152482871076e+03 + -2.194830433950524e+03 + -2.199515937814626e+03 + -2.204209002999998e+03 + -2.208909638535144e+03 + -2.213617851857877e+03 + -2.218333650781778e+03 + -2.223057044225780e+03 + -2.227788040000000e+03 + -2.232526645541351e+03 + -2.237272869895315e+03 + -2.242026721580949e+03 + -2.246788207788726e+03 + -2.251557336999999e+03 + -2.256334118250544e+03 + -2.261118559161676e+03 + -2.265910667352767e+03 + -2.270710451040453e+03 + -2.275517918999998e+03 + -2.280333080014267e+03 + -2.285155941593499e+03 + -2.289986511539142e+03 + -2.294824798563590e+03 + -2.299670810999998e+03 + -2.304524556927484e+03 + -2.309386044592275e+03 + -2.314255282195762e+03 + -2.319132277836808e+03 + -2.324017039999998e+03 + -2.328909577220459e+03 + -2.333809897224200e+03 + -2.338718008145149e+03 + -2.343633918994289e+03 + -2.348557637999998e+03 + -2.353489172912608e+03 + -2.358428531797252e+03 + -2.363375723128402e+03 + -2.368330755820120e+03 + -2.373293637999998e+03 + -2.378264377427878e+03 + -2.383242982526706e+03 + -2.388229461889857e+03 + -2.393223824063392e+03 + -2.398226076999998e+03 + -2.403236228525699e+03 + -2.408254287477974e+03 + -2.413280262494937e+03 + -2.418314161547432e+03 + -2.423355992999998e+03 + -2.428405765403690e+03 + -2.433463486890615e+03 + -2.438529165661329e+03 + -2.443602810190047e+03 + -2.448684428999998e+03 + -2.453774030522361e+03 + -2.458871622761939e+03 + -2.463977214083831e+03 + -2.469090813490053e+03 + -2.474212428999998e+03 + -2.479342068313477e+03 + -2.484479740528551e+03 + -2.489625454539379e+03 + -2.494779218375099e+03 + -2.499941039999998e+03 + -2.505110927624773e+03 + -2.510288890409285e+03 + -2.515474937052364e+03 + -2.520669075212765e+03 + -2.525871312999998e+03 + -2.531081658990217e+03 + -2.536300122220549e+03 + -2.541526711425658e+03 + -2.546761434689014e+03 + -2.552004299999998e+03 + -2.557255315555890e+03 + -2.562514490474060e+03 + -2.567781833501355e+03 + -2.573057352510476e+03 + -2.578341055999998e+03 + -2.583632952807378e+03 + -2.588933051312229e+03 + -2.594241359879810e+03 + -2.599557887014108e+03 + -2.604882640999998e+03 + -2.610215630196411e+03 + -2.615556863841929e+03 + -2.620906350516468e+03 + -2.626264097579904e+03 + -2.631630113999998e+03 + -2.637004409331177e+03 + -2.642386991059378e+03 + -2.647777867311749e+03 + -2.653177047878767e+03 + -2.658584540999998e+03 + -2.664000354190328e+03 + -2.669424496446296e+03 + -2.674856976816473e+03 + -2.680297803844182e+03 + -2.685746985999998e+03 + -2.691204531699670e+03 + -2.696670449221115e+03 + -2.702144747143579e+03 + -2.707627434527642e+03 + -2.713118519999998e+03 + -2.718618011850782e+03 + -2.724125918263655e+03 + -2.729642247949266e+03 + -2.735167010382318e+03 + -2.740700213999998e+03 + -2.746241866699575e+03 + -2.751791977076697e+03 + -2.757350554006517e+03 + -2.762917606479738e+03 + -2.768493143000000e+03 + -2.774077171851313e+03 + -2.779669701724049e+03 + -2.785270741295763e+03 + -2.790880299095185e+03 + -2.796498383999998e+03 + -2.802125004968091e+03 + -2.807760170344632e+03 + -2.813403888501788e+03 + -2.819056168106567e+03 + -2.824717018000000e+03 + -2.830386447079949e+03 + -2.836064464083062e+03 + -2.841751077483182e+03 + -2.847446295475182e+03 + -2.853150126999998e+03 + -2.858862581346520e+03 + -2.864583667200011e+03 + -2.870313392988722e+03 + -2.876051767015894e+03 + -2.881798798000000e+03 + -2.887554494917011e+03 + -2.893318866668325e+03 + -2.899091922031221e+03 + -2.904873669618204e+03 + -2.910664117999998e+03 + -2.916463275808826e+03 + -2.922271151990944e+03 + -2.928087755363771e+03 + -2.933913094445438e+03 + -2.939747178000000e+03 + -2.945590014959967e+03 + -2.951441614226611e+03 + -2.957301984588625e+03 + -2.963171134666888e+03 + -2.969049072999998e+03 + -2.974935808208847e+03 + -2.980831349417174e+03 + -2.986735705755709e+03 + -2.992648886132359e+03 + -2.998570899000000e+03 + -3.004501752659864e+03 + -3.010441455936329e+03 + -3.016390017858416e+03 + -3.022347447554316e+03 + -3.028313753999998e+03 + -3.034288946006182e+03 + -3.040273032141582e+03 + -3.046266021078663e+03 + -3.052267921739149e+03 + -3.058278743000000e+03 + -3.064298493698561e+03 + -3.070327182685398e+03 + -3.076364818827055e+03 + -3.082411411001809e+03 + -3.088466967999998e+03 + -3.094531498652569e+03 + -3.100605012177602e+03 + -3.106687517554494e+03 + -3.112779023262762e+03 + -3.118879538000000e+03 + -3.124989070695736e+03 + -3.131107630527278e+03 + -3.137235226491168e+03 + -3.143371867254447e+03 + -3.149517561999998e+03 + -3.155672319953097e+03 + -3.161836149115856e+03 + -3.168009058152651e+03 + -3.174191057129923e+03 + -3.180382155000000e+03 + -3.186582360055111e+03 + -3.192791681144167e+03 + -3.199010127274887e+03 + -3.205237707493432e+03 + -3.211474430999998e+03 + -3.217720306909038e+03 + -3.223975343611381e+03 + -3.230239549889151e+03 + -3.236512935355519e+03 + -3.242795509000000e+03 + -3.249087279482800e+03 + -3.255388255944051e+03 + -3.261698447489179e+03 + -3.268017862963467e+03 + -3.274346510999998e+03 + -3.280684400401313e+03 + -3.287031541121871e+03 + -3.293387942369432e+03 + -3.299753611888159e+03 + -3.306128559000000e+03 + -3.312512793688797e+03 + -3.318906324190636e+03 + -3.325309159228279e+03 + -3.331721308860119e+03 + -3.338142781999998e+03 + -3.344573586933190e+03 + -3.351013732692941e+03 + -3.357463228591956e+03 + -3.363922084041577e+03 + -3.370390307999997e+03 + -3.376867909193196e+03 + -3.383354896616435e+03 + -3.389851279509897e+03 + -3.396357067337695e+03 + -3.402872268999997e+03 + -3.409396893188545e+03 + -3.415930949268335e+03 + -3.422474446597307e+03 + -3.429027394238212e+03 + -3.435589800999997e+03 + -3.442161675674332e+03 + -3.448743027574159e+03 + -3.455333866086035e+03 + -3.461934200499129e+03 + -3.468544039999997e+03 + -3.475163393634110e+03 + -3.481792270131310e+03 + -3.488430678432703e+03 + -3.495078627927044e+03 + -3.501736127999997e+03 + -3.508403187927853e+03 + -3.515079816661691e+03 + -3.521766023349286e+03 + -3.528461817510494e+03 + -3.535167207999998e+03 + -3.541882203477436e+03 + -3.548606813620608e+03 + -3.555341047964333e+03 + -3.562084915431213e+03 + -3.568838424999997e+03 + -3.575601585773337e+03 + -3.582374407066678e+03 + -3.589156898185297e+03 + -3.595949068354316e+03 + -3.602750926999998e+03 + -3.609562483468940e+03 + -3.616383746264014e+03 + -3.623214724488114e+03 + -3.630055428392298e+03 + -3.636905866999997e+03 + -3.643766048793625e+03 + -3.650635983516456e+03 + -3.657515680680700e+03 + -3.664405149014039e+03 + -3.671304397999997e+03 + -3.678213437374473e+03 + -3.685132275760156e+03 + -3.692060922035369e+03 + -3.698999385901594e+03 + -3.705947676999997e+03 + -3.712905804797643e+03 + -3.719873778403308e+03 + -3.726851606752037e+03 + -3.733839298718909e+03 + -3.740836863999997e+03 + -3.747844312547997e+03 + -3.754861653211674e+03 + -3.761888895074585e+03 + -3.768926047955085e+03 + -3.775973120999997e+03 + -3.783030123074376e+03 + -3.790097063813473e+03 + -3.797173952745452e+03 + -3.804260798968512e+03 + -3.811357611999997e+03 + -3.818464401472386e+03 + -3.825581176303607e+03 + -3.832707945585785e+03 + -3.839844718954238e+03 + -3.846991505999998e+03 + -3.854148316201428e+03 + -3.861315158822798e+03 + -3.868492043129635e+03 + -3.875678978458987e+03 + -3.882875973999997e+03 + -3.890083038997269e+03 + -3.897300183310783e+03 + -3.904527416633095e+03 + -3.911764748154242e+03 + -3.919012186999997e+03 + -3.926269742452437e+03 + -3.933537424464352e+03 + -3.940815242621297e+03 + -3.948103205720294e+03 + -3.955401322999997e+03 + -3.962709604107895e+03 + -3.970028058998795e+03 + -3.977356697163350e+03 + -3.984695527326294e+03 + -3.992044558999997e+03 + -3.999403802144854e+03 + -4.006773266302151e+03 + -4.014152960820400e+03 + -4.021542894928240e+03 + -4.028943077999997e+03 + -4.036353519583599e+03 + -4.043774229513202e+03 + -4.051205217431756e+03 + -4.058646492564995e+03 + -4.066098063999997e+03 + -4.073559940995820e+03 + -4.081032133755226e+03 + -4.088514652104142e+03 + -4.096007504979870e+03 + -4.103510702000000e+03 + -4.111024253097677e+03 + -4.118548167510886e+03 + -4.126082454416708e+03 + -4.133627123225803e+03 + -4.141182184000000e+03 + -4.148747646853033e+03 + -4.156323520486682e+03 + -4.163909814098826e+03 + -4.171506538118098e+03 + -4.179113701999993e+03 + -4.186731314728609e+03 + -4.194359386189681e+03 + -4.201997926116393e+03 + -4.209646943720986e+03 + -4.217306449000000e+03 + -4.224976452122954e+03 + -4.232656961817923e+03 + -4.240347987240753e+03 + -4.248049538718602e+03 + -4.255761626000000e+03 + -4.263484258397591e+03 + -4.271217445246016e+03 + -4.278961196276451e+03 + -4.286715521743729e+03 + -4.294480431000000e+03 + -4.302255933066315e+03 + -4.310042038085233e+03 + -4.317838756007569e+03 + -4.325646096087124e+03 + -4.333464067999995e+03 + -4.341292681602012e+03 + -4.349131946225953e+03 + -4.356981871466000e+03 + -4.364842467485710e+03 + -4.372713744000000e+03 + -4.380595710372718e+03 + -4.388488375861229e+03 + -4.396391750264422e+03 + -4.404305844160006e+03 + -4.412230667000000e+03 + -4.420166227736474e+03 + -4.428112536405837e+03 + -4.436069603088062e+03 + -4.444037437481978e+03 + -4.452016049000000e+03 + -4.460005447074678e+03 + -4.468005641867199e+03 + -4.476016643204103e+03 + -4.484038460200805e+03 + -4.492071102999995e+03 + -4.500114582060231e+03 + -4.508168906299815e+03 + -4.516234085098625e+03 + -4.524310129075975e+03 + -4.532397048000000e+03 + -4.540494851104932e+03 + -4.548603547974418e+03 + -4.556723148595408e+03 + -4.564853663376500e+03 + -4.572995102000000e+03 + -4.581147473755137e+03 + -4.589310788334117e+03 + -4.597485055595826e+03 + -4.605670285497996e+03 + -4.613866488000000e+03 + -4.622073673035890e+03 + -4.630291850451470e+03 + -4.638521029781397e+03 + -4.646761220207367e+03 + -4.655012431999994e+03 + -4.663274675842531e+03 + -4.671547961173437e+03 + -4.679832297267551e+03 + -4.688127693710799e+03 + -4.696434161000000e+03 + -4.704751709752170e+03 + -4.713080348793824e+03 + -4.721420087561993e+03 + -4.729770937031085e+03 + -4.738132907000000e+03 + -4.746506006604411e+03 + -4.754890245715343e+03 + -4.763285634540516e+03 + -4.771692183448750e+03 + -4.780109901999994e+03 + -4.788538799466528e+03 + -4.796978886096308e+03 + -4.805430172162917e+03 + -4.813892667577567e+03 + -4.822366381999994e+03 + -4.830851325088147e+03 + -4.839347507060687e+03 + -4.847854938123849e+03 + -4.856373628221604e+03 + -4.864903587000000e+03 + -4.873444824101478e+03 + -4.881997349859994e+03 + -4.890561174364984e+03 + -4.899136307099045e+03 + -4.907722758000000e+03 + -4.916320537362784e+03 + -4.924929655587317e+03 + -4.933550122528648e+03 + -4.942181947260091e+03 + -4.950825139999994e+03 + -4.959479711457802e+03 + -4.968145671175524e+03 + -4.976823028809056e+03 + -4.985511794647833e+03 + -4.994211978999993e+03 + -5.002923592007461e+03 + -5.011646643245516e+03 + -5.020381142480443e+03 + -5.029127099988444e+03 + -5.037884526000000e+03 + -5.046653430641881e+03 + -5.055433823857634e+03 + -5.064225715527905e+03 + -5.073029115529123e+03 + -5.081844034000000e+03 + -5.090670481166524e+03 + -5.099508466925161e+03 + -5.108358001180135e+03 + -5.117219094017154e+03 + -5.126091755999993e+03 + -5.134975997626908e+03 + -5.143871827953957e+03 + -5.152779256704796e+03 + -5.161698295082459e+03 + -5.170628952999993e+03 + -5.179571239778229e+03 + -5.188525166029071e+03 + -5.197490742130520e+03 + -5.206467977662855e+03 + -5.215456883000000e+03 + -5.224457468752808e+03 + -5.233469744262066e+03 + -5.242493719420175e+03 + -5.251529405361101e+03 + -5.260576812000000e+03 + -5.269635948683524e+03 + -5.278706825911151e+03 + -5.287789454172008e+03 + -5.296883843495917e+03 + -5.305990003999993e+03 + -5.315107945871962e+03 + -5.324237679253967e+03 + -5.333379214299059e+03 + -5.342532561186867e+03 + -5.351697729999993e+03 + -5.360874730862462e+03 + -5.370063574314554e+03 + -5.379264270604972e+03 + -5.388476829418795e+03 + -5.397701261000000e+03 + -5.406937575887649e+03 + -5.416185784228891e+03 + -5.425445896082409e+03 + -5.434717921547790e+03 + -5.444001871000000e+03 + -5.453297754883592e+03 + -5.462605583222671e+03 + -5.471925366229407e+03 + -5.481257114511772e+03 + -5.490600837999993e+03 + -5.499956546429602e+03 + -5.509324250592133e+03 + -5.518703961068116e+03 + -5.528095687743725e+03 + -5.537499440999993e+03 + -5.546915231361128e+03 + -5.556343068498348e+03 + -5.565782962476614e+03 + -5.575234924238452e+03 + -5.584698964000000e+03 + -5.594175091687396e+03 + -5.603663318133420e+03 + -5.613163653827974e+03 + -5.622676108416792e+03 + -5.632200692000000e+03 + -5.641737415094019e+03 + -5.651286288507457e+03 + -5.660847322604374e+03 + -5.670420527008017e+03 + -5.680005911999993e+03 + -5.689603488367688e+03 + -5.699213267038800e+03 + -5.708835258184300e+03 + -5.718469470901945e+03 + -5.728115915999992e+03 + -5.737774605002216e+03 + -5.747445547634946e+03 + -5.757128753652110e+03 + -5.766824233562706e+03 + -5.776531998000000e+03 + -5.786252057564687e+03 + -5.795984422575620e+03 + -5.805729103393980e+03 + -5.815486110517342e+03 + -5.825255454000000e+03 + -5.835037143865786e+03 + -5.844831191184440e+03 + -5.854637606668529e+03 + -5.864456400127173e+03 + -5.874287581999993e+03 + -5.884131163070459e+03 + -5.893987153665426e+03 + -5.903855564090225e+03 + -5.913736404781277e+03 + -5.923629686000000e+03 + -5.933535418061928e+03 + -5.943453611973397e+03 + -5.953384278439786e+03 + -5.963327427438455e+03 + -5.973283069000000e+03 + -5.983251213525049e+03 + -5.993231872573540e+03 + -6.003225056744913e+03 + -6.013230774891098e+03 + -6.023249038000000e+03 + -6.033279857947543e+03 + -6.043323244258373e+03 + -6.053379206808452e+03 + -6.063447756872029e+03 + -6.073528904999992e+03 + -6.083622661322729e+03 + -6.093729036471069e+03 + -6.103848041095609e+03 + -6.113979685699232e+03 + -6.124123981000000e+03 + -6.134280937646101e+03 + -6.144450565430006e+03 + -6.154632874755873e+03 + -6.164827877191976e+03 + -6.175035583000000e+03 + -6.185256001935748e+03 + -6.195489145360168e+03 + -6.205735024246584e+03 + -6.215993648382001e+03 + -6.226265028000000e+03 + -6.236549173839082e+03 + -6.246846097225249e+03 + -6.257155808917487e+03 + -6.267478318647532e+03 + -6.277813636999993e+03 + -6.288161775039973e+03 + -6.298522743318929e+03 + -6.308896552332133e+03 + -6.319283212690151e+03 + -6.329682735000000e+03 + -6.340095129841887e+03 + -6.350520407726451e+03 + -6.360958579315570e+03 + -6.371409655512612e+03 + -6.381873647000000e+03 + -6.392350564293673e+03 + -6.402840417873253e+03 + -6.413343218449801e+03 + -6.423858977046060e+03 + -6.434387704000000e+03 + -6.444929409479182e+03 + -6.455484104800415e+03 + -6.466051800878468e+03 + -6.476632507643834e+03 + -6.487226235999992e+03 + -6.497832997260840e+03 + -6.508452801649206e+03 + -6.519085659445890e+03 + -6.529731581482401e+03 + -6.540390579000000e+03 + -6.551062663116751e+03 + -6.561747843536938e+03 + -6.572446130639311e+03 + -6.583157536279329e+03 + -6.593882071000000e+03 + -6.604619744763902e+03 + -6.615370568925604e+03 + -6.626134554413510e+03 + -6.636911711064461e+03 + -6.647702049999992e+03 + -6.658505582840396e+03 + -6.669322319643610e+03 + -6.680152270785791e+03 + -6.690995447680221e+03 + -6.701851860999993e+03 + -6.712721521095499e+03 + -6.723604439166686e+03 + -6.734500626205399e+03 + -6.745410092579864e+03 + -6.756332849000000e+03 + -6.767268906377159e+03 + -6.778218275408767e+03 + -6.789180966973428e+03 + -6.800156992270870e+03 + -6.811146362000000e+03 + -6.822149086596000e+03 + -6.833165176809022e+03 + -6.844194643583943e+03 + -6.855237498022965e+03 + -6.866293750999992e+03 + -6.877363413246921e+03 + -6.888446495554016e+03 + -6.899543008749155e+03 + -6.910652963678518e+03 + -6.921776370999992e+03 + -6.932913241460104e+03 + -6.944063586638155e+03 + -6.955227417524035e+03 + -6.966404743973952e+03 + -6.977595577000000e+03 + -6.988799928187199e+03 + -7.000017808173458e+03 + -7.011249227729020e+03 + -7.022494198140058e+03 + -7.033752730000000e+03 + -7.045024833685246e+03 + -7.056310520605544e+03 + -7.067609802022496e+03 + -7.078922688575014e+03 + -7.090249190999992e+03 + -7.101589320140114e+03 + -7.112943086874141e+03 + -7.124310502404821e+03 + -7.135691578318693e+03 + -7.147086324999992e+03 + -7.158494752468790e+03 + -7.169916872475182e+03 + -7.181352696510882e+03 + -7.192802235036809e+03 + -7.204265499000000e+03 + -7.215742499578333e+03 + -7.227233247391960e+03 + -7.238737753333357e+03 + -7.250256028887258e+03 + -7.261788085000000e+03 + -7.273333932305611e+03 + -7.284893581718426e+03 + -7.296467044458082e+03 + -7.308054332025791e+03 + -7.319655454999992e+03 + -7.331270423697963e+03 + -7.342899249833889e+03 + -7.354541944862027e+03 + -7.366198519315069e+03 + -7.377868983999992e+03 + -7.389553350032372e+03 + -7.401251628839381e+03 + -7.412963831476617e+03 + -7.424689968390403e+03 + -7.436430051000000e+03 + -7.448184091042194e+03 + -7.459952098877861e+03 + -7.471734085033887e+03 + -7.483530060856024e+03 + -7.495340038000000e+03 + -7.507164027981260e+03 + -7.519002041143363e+03 + -7.530854088088799e+03 + -7.542720180263871e+03 + -7.554600328999991e+03 + -7.566494545476364e+03 + -7.578402840747203e+03 + -7.590325225748156e+03 + -7.602261711334166e+03 + -7.614212308999990e+03 + -7.626177030375796e+03 + -7.638155885970103e+03 + -7.650148886679111e+03 + -7.662156044359298e+03 + -7.674177370000000e+03 + -7.686212874133715e+03 + -7.698262567927072e+03 + -7.710326462858042e+03 + -7.722404570574414e+03 + -7.734496902000000e+03 + -7.746603467726753e+03 + -7.758724278933637e+03 + -7.770859347070250e+03 + -7.783008683730720e+03 + -7.795172299999991e+03 + -7.807350206747154e+03 + -7.819542415323729e+03 + -7.831748936928582e+03 + -7.843969782379609e+03 + -7.856204962999991e+03 + -7.868454490389281e+03 + -7.880718375856472e+03 + -7.892996630459527e+03 + -7.905289265033489e+03 + -7.917596291000000e+03 + -7.929917719977670e+03 + -7.942253562811284e+03 + -7.954603830544003e+03 + -7.966968534806996e+03 + -7.979347687000000e+03 + -7.991741298275563e+03 + -8.004149379532312e+03 + -8.016571941875890e+03 + -8.029008996834256e+03 + -8.041460555999991e+03 + -8.053926630829063e+03 + -8.066407232164392e+03 + -8.078902371093302e+03 + -8.091412059283156e+03 + -8.103936307999991e+03 + -8.116475128348727e+03 + -8.129028531951320e+03 + -8.141596530160446e+03 + -8.154179133753471e+03 + -8.166776354000000e+03 + -8.179388202500601e+03 + -8.192014690774517e+03 + -8.204655830155478e+03 + -8.217311631752342e+03 + -8.229982107000000e+03 + -8.242667267443709e+03 + -8.255367124181290e+03 + -8.268081688506129e+03 + -8.280810972124258e+03 + -8.293554985999990e+03 + -8.306313740930424e+03 + -8.319087249046417e+03 + -8.331875522237864e+03 + -8.344678571514016e+03 + -8.357496408000001e+03 + -8.370329042981793e+03 + -8.383176487893126e+03 + -8.396038754236946e+03 + -8.408915853538949e+03 + -8.421807796999999e+03 + -8.434714595760075e+03 + -8.447636261558551e+03 + -8.460572806112319e+03 + -8.473524240852536e+03 + -8.486490577000000e+03 + -8.499471825734363e+03 + -8.512467998550057e+03 + -8.525479106914012e+03 + -8.538505162160651e+03 + -8.551546175999989e+03 + -8.564602160205039e+03 + -8.577673125806519e+03 + -8.590759084111069e+03 + -8.603860047081474e+03 + -8.616976026000000e+03 + -8.630107031891077e+03 + -8.643253076647045e+03 + -8.656414171854482e+03 + -8.669590328370747e+03 + -8.682781558000001e+03 + -8.695987872906602e+03 + -8.709209284090668e+03 + -8.722445802791402e+03 + -8.735697441007769e+03 + -8.748964210000000e+03 + -8.762246120773598e+03 + -8.775543185390141e+03 + -8.788855415760128e+03 + -8.802182823160678e+03 + -8.815525418999991e+03 + -8.828883214778334e+03 + -8.842256221886048e+03 + -8.855644451817980e+03 + -8.869047916276779e+03 + -8.882466627000000e+03 + -8.895900595656447e+03 + -8.909349833599377e+03 + -8.922814352320849e+03 + -8.936294163622882e+03 + -8.949789279000001e+03 + -8.963299709806102e+03 + -8.976825467697834e+03 + -8.990366564425331e+03 + -9.003923011733321e+03 + -9.017494820999989e+03 + -9.031082003570244e+03 + -9.044684571593196e+03 + -9.058302536801553e+03 + -9.071935910043938e+03 + -9.085584702999991e+03 + -9.099248927805194e+03 + -9.112928596071970e+03 + -9.126623719398038e+03 + -9.140334309541779e+03 + -9.154060378000000e+03 + -9.167801936143134e+03 + -9.181558995552323e+03 + -9.195331568052554e+03 + -9.209119665711642e+03 + -9.222923300000000e+03 + -9.236742482191501e+03 + -9.250577224366738e+03 + -9.264427538348678e+03 + -9.278293435300837e+03 + -9.292174926999989e+03 + -9.306072025514850e+03 + -9.319984742353185e+03 + -9.333913089239737e+03 + -9.347857078372264e+03 + -9.361816720999988e+03 + -9.375792028076301e+03 + -9.389783011923670e+03 + -9.403789684689073e+03 + -9.417812057757259e+03 + -9.431850143000000e+03 + -9.445903952452922e+03 + -9.459973497383473e+03 + -9.474058789280491e+03 + -9.488159840242311e+03 + -9.502276662000000e+03 + -9.516409266099370e+03 + -9.530557664431180e+03 + -9.544721868948835e+03 + -9.558901891554557e+03 + -9.573097743999990e+03 + -9.587309437907974e+03 + -9.601536984771086e+03 + -9.615780396443668e+03 + -9.630039685320193e+03 + -9.644314862999989e+03 + -9.658605940694017e+03 + -9.672912930240365e+03 + -9.687235843732506e+03 + -9.701574693379191e+03 + -9.715929491000001e+03 + -9.730300248146514e+03 + -9.744686976337332e+03 + -9.759089687418043e+03 + -9.773508393705906e+03 + -9.787943106999999e+03 + -9.802393838806964e+03 + -9.816860600913731e+03 + -9.831343405392694e+03 + -9.845842264577648e+03 + -9.860357189999990e+03 + -9.874888192875391e+03 + -9.889435285292540e+03 + -9.903998479577405e+03 + -9.918577788007758e+03 + -9.933173221999989e+03 + -9.947784792760667e+03 + -9.962412512866247e+03 + -9.977056394630243e+03 + -9.991716449514770e+03 + -1.000639269000000e+04 + -1.002108512827329e+04 + -1.003579377260607e+04 + -1.005051863510592e+04 + -1.006525973450424e+04 + -1.008001708000000e+04 + -1.009479067738785e+04 + -1.010958054488143e+04 + -1.012438669671707e+04 + -1.013920913701616e+04 + -1.015404787999999e+04 + -1.016890294387830e+04 + -1.018377433451942e+04 + -1.019866206104612e+04 + -1.021356614193473e+04 + -1.022848658999999e+04 + -1.024342341422066e+04 + -1.025837662498870e+04 + -1.027334623400460e+04 + -1.028833225445739e+04 + -1.030333470000000e+04 + -1.031835358368700e+04 + -1.033338891534757e+04 + -1.034844070623467e+04 + -1.036350897076085e+04 + -1.037859372000000e+04 + -1.039369496373519e+04 + -1.040881271589677e+04 + -1.042394698923176e+04 + -1.043909779325773e+04 + -1.045426513999999e+04 + -1.046944904320307e+04 + -1.048464951626011e+04 + -1.049986657147346e+04 + -1.051510021951631e+04 + -1.053035046999999e+04 + -1.054561733346490e+04 + -1.056090082649770e+04 + -1.057620096382862e+04 + -1.059151775501402e+04 + -1.060685121000000e+04 + -1.062220133982168e+04 + -1.063756815769902e+04 + -1.065295167679853e+04 + -1.066835190951487e+04 + -1.068376887000000e+04 + -1.069920257172756e+04 + -1.071465302083269e+04 + -1.073012022736731e+04 + -1.074560420973240e+04 + -1.076110497999999e+04 + -1.077662254698522e+04 + -1.079215692468130e+04 + -1.080770812602064e+04 + -1.082327616047952e+04 + -1.083886103999999e+04 + -1.085446277832030e+04 + -1.087008138917964e+04 + -1.088571688451933e+04 + -1.090136927381244e+04 + -1.091703857000000e+04 + -1.093272478707855e+04 + -1.094842793381667e+04 + -1.096414802233435e+04 + -1.097988507119364e+04 + -1.099563909000000e+04 + -1.101141008471468e+04 + -1.102719807131307e+04 + -1.104300306633410e+04 + -1.105882508291791e+04 + -1.107466412999999e+04 + -1.109052021511841e+04 + -1.110639335038349e+04 + -1.112228355101184e+04 + -1.113819083451417e+04 + -1.115411520999999e+04 + -1.117005668368749e+04 + -1.118601527242516e+04 + -1.120199099177015e+04 + -1.121798385114509e+04 + -1.123399386000000e+04 + -1.125002102929127e+04 + -1.126606537454743e+04 + -1.128212691149971e+04 + -1.129820565394142e+04 + -1.131430161000000e+04 + -1.133041478676655e+04 + -1.134654520134832e+04 + -1.136269286880464e+04 + -1.137885779750048e+04 + -1.139503999999999e+04 + -1.141123949060806e+04 + -1.142745627830015e+04 + -1.144369037489935e+04 + -1.145994179819328e+04 + -1.147621056000000e+04 + -1.149249666929363e+04 + -1.150880014040390e+04 + -1.152512098586926e+04 + -1.154145921396878e+04 + -1.155781484000000e+04 + -1.157418788116290e+04 + -1.159057834325663e+04 + -1.160698623573862e+04 + -1.162341157750990e+04 + -1.163985437999999e+04 + -1.165631465167572e+04 + -1.167279241049137e+04 + -1.168928767028212e+04 + -1.170580043559586e+04 + -1.172233071999999e+04 + -1.173887854137991e+04 + -1.175544390951204e+04 + -1.177202683447122e+04 + -1.178862732998528e+04 + -1.180524541000000e+04 + -1.182188108744826e+04 + -1.183853437152247e+04 + -1.185520527417456e+04 + -1.187189381268968e+04 + -1.188860000000000e+04 + -1.190532384555031e+04 + -1.192206535739879e+04 + -1.193882454957090e+04 + -1.195560144455150e+04 + -1.197239604999999e+04 + -1.198920836801576e+04 + -1.200603841862060e+04 + -1.202288622005816e+04 + -1.203975178087160e+04 + -1.205663510999999e+04 + -1.207353621858988e+04 + -1.209045512337030e+04 + -1.210739183876488e+04 + -1.212434637372514e+04 + -1.214131874000000e+04 + -1.215830895146994e+04 + -1.217531702204386e+04 + -1.219234296344827e+04 + -1.220938678454126e+04 + -1.222644850000000e+04 + -1.224352812665298e+04 + -1.226062567426862e+04 + -1.227774115320455e+04 + -1.229487457740941e+04 + -1.231202595999999e+04 + -1.232919531361497e+04 + -1.234638265190763e+04 + -1.236358798719477e+04 + -1.238081132944854e+04 + -1.239805268999999e+04 + -1.241531208224867e+04 + -1.243258952373459e+04 + -1.244988502746729e+04 + -1.246719859854622e+04 + -1.248453025000000e+04 + -1.250187999937352e+04 + -1.251924785997314e+04 + -1.253663384322633e+04 + -1.255403795942784e+04 + -1.257146022000000e+04 + -1.258890063824787e+04 + -1.260635923174130e+04 + -1.262383601348307e+04 + -1.264133098848631e+04 + -1.265884416999999e+04 + -1.267637557565735e+04 + -1.269392521755929e+04 + -1.271149310837373e+04 + -1.272907926320349e+04 + -1.274668368999999e+04 + -1.276430639533002e+04 + -1.278194739917555e+04 + -1.279960671868295e+04 + -1.281728436173200e+04 + -1.283498034000000e+04 + -1.285269466774105e+04 + -1.287042735763161e+04 + -1.288817842259290e+04 + -1.290594787633268e+04 + -1.292373573000000e+04 + -1.294154199365508e+04 + -1.295936667981993e+04 + -1.297720980264566e+04 + -1.299507137776778e+04 + -1.301295141999999e+04 + -1.303084994203483e+04 + -1.304876695061188e+04 + -1.306670245535235e+04 + -1.308465647270176e+04 + -1.310262901999999e+04 + -1.312062011245361e+04 + -1.313862975604251e+04 + -1.315665796055223e+04 + -1.317470474462057e+04 + -1.319277012000000e+04 + -1.321085409533674e+04 + -1.322895668661698e+04 + -1.324707790969205e+04 + -1.326521777718879e+04 + -1.328337630000000e+04 + -1.330155348851537e+04 + -1.331974935491385e+04 + -1.333796391362056e+04 + -1.335619718140170e+04 + -1.337444916999999e+04 + -1.339271988874384e+04 + -1.341100935082290e+04 + -1.342931756987852e+04 + -1.344764455872234e+04 + -1.346599032999999e+04 + -1.348435489664480e+04 + -1.350273827293541e+04 + -1.352114047045672e+04 + -1.353956149695641e+04 + -1.355800137000000e+04 + -1.357646010972569e+04 + -1.359493772045508e+04 + -1.361343421245217e+04 + -1.363194960986463e+04 + -1.365048392000000e+04 + -1.366903714425879e+04 + -1.368760930691950e+04 + -1.370620042690972e+04 + -1.372481050688227e+04 + -1.374343955999999e+04 + -1.376208760473736e+04 + -1.378075465005087e+04 + -1.379944070672178e+04 + -1.381814579185646e+04 + -1.383686991999999e+04 + -1.385561310323773e+04 + -1.387437535187516e+04 + -1.389315667691767e+04 + -1.391195709130158e+04 + -1.393077661000000e+04 + -1.394961524865979e+04 + -1.396847302075987e+04 + -1.398734993803961e+04 + -1.400624601054151e+04 + -1.402516125000000e+04 + -1.404409566989268e+04 + -1.406304928589068e+04 + -1.408202211294199e+04 + -1.410101416389908e+04 + -1.412002544999999e+04 + -1.413905598164077e+04 + -1.415810576964489e+04 + -1.417717482985645e+04 + -1.419626318438561e+04 + -1.421537083999999e+04 + -1.423449779870650e+04 + -1.425364408441530e+04 + -1.427280971628262e+04 + -1.429199469812906e+04 + -1.431119904000000e+04 + -1.433042275698022e+04 + -1.434966586475864e+04 + -1.436892837784737e+04 + -1.438821030874347e+04 + -1.440751167000000e+04 + -1.442683247464153e+04 + -1.444617273693482e+04 + -1.446553246845352e+04 + -1.448491167696990e+04 + -1.450431037999999e+04 + -1.452372859766022e+04 + -1.454316633455064e+04 + -1.456262360064903e+04 + -1.458210041914065e+04 + -1.460159679999998e+04 + -1.462111274782618e+04 + -1.464064828275210e+04 + -1.466020342227678e+04 + -1.467977817411577e+04 + -1.469937255000000e+04 + -1.471898656425745e+04 + -1.473862022905967e+04 + -1.475827355783788e+04 + -1.477794656667906e+04 + -1.479763927000000e+04 + -1.481735168022591e+04 + -1.483708380678435e+04 + -1.485683566151257e+04 + -1.487660726097236e+04 + -1.489639861999999e+04 + -1.491620975095499e+04 + -1.493604066191429e+04 + -1.495589136614776e+04 + -1.497576188555746e+04 + -1.499565223000000e+04 + -1.501556240451360e+04 + -1.503549242791256e+04 + -1.505544231896391e+04 + -1.507541209051985e+04 + -1.509540175000000e+04 + -1.511541130465759e+04 + -1.513544077375174e+04 + -1.515549017500820e+04 + -1.517555951933053e+04 + -1.519564881999999e+04 + -1.521575809081157e+04 + -1.523588734003694e+04 + -1.525603658036919e+04 + -1.527620583277191e+04 + -1.529639510999998e+04 + -1.531660442034102e+04 + -1.533683377728779e+04 + -1.535708319443415e+04 + -1.537735268372974e+04 + -1.539764226000000e+04 + -1.541795193921473e+04 + -1.543828173411788e+04 + -1.545863165713528e+04 + -1.547900172144165e+04 + -1.549939194000000e+04 + -1.551980232569260e+04 + -1.554023289178161e+04 + -1.556068365093051e+04 + -1.558115461506463e+04 + -1.560164579999999e+04 + -1.562215722197032e+04 + -1.564268888875843e+04 + -1.566324081295743e+04 + -1.568381301679686e+04 + -1.570440550999999e+04 + -1.572501829745089e+04 + -1.574565139909988e+04 + -1.576630483256334e+04 + -1.578697860613842e+04 + -1.580767273000000e+04 + -1.582838721786272e+04 + -1.584912209052793e+04 + -1.586987736246908e+04 + -1.589065303680525e+04 + -1.591144913000000e+04 + -1.593226566336701e+04 + -1.595310264072689e+04 + -1.597396007256353e+04 + -1.599483798518879e+04 + -1.601573638999999e+04 + -1.603665529105288e+04 + -1.605759470511345e+04 + -1.607855464838671e+04 + -1.609953513161670e+04 + -1.612053616999998e+04 + -1.614155778004294e+04 + -1.616259997081388e+04 + -1.618366275348782e+04 + -1.620474614514243e+04 + -1.622585016000000e+04 + -1.624697481007329e+04 + -1.626812010728422e+04 + -1.628928606592670e+04 + -1.631047270337715e+04 + -1.633168003000000e+04 + -1.635290805454565e+04 + -1.637415679800609e+04 + -1.639542627592296e+04 + -1.641671649164588e+04 + -1.643802745999998e+04 + -1.645935920179283e+04 + -1.648071172935930e+04 + -1.650208505431875e+04 + -1.652347919039644e+04 + -1.654489414999998e+04 + -1.656632994566724e+04 + -1.658778659427021e+04 + -1.660926410974226e+04 + -1.663076250029903e+04 + -1.665228178000000e+04 + -1.667382196574960e+04 + -1.669538306946903e+04 + -1.671696510420377e+04 + -1.673856808645374e+04 + -1.676019203000000e+04 + -1.678183694695306e+04 + -1.680350285053965e+04 + -1.682518975366077e+04 + -1.684689766850574e+04 + -1.686862660999998e+04 + -1.689037659405139e+04 + -1.691214763326874e+04 + -1.693393974023558e+04 + -1.695575292860696e+04 + -1.697758720999999e+04 + -1.699944259677470e+04 + -1.702131910964586e+04 + -1.704321676352935e+04 + -1.706513556209216e+04 + -1.708707552000000e+04 + -1.710903665790321e+04 + -1.713101898938551e+04 + -1.715302252479822e+04 + -1.717504727292061e+04 + -1.719709325000000e+04 + -1.721916047545785e+04 + -1.724124896174670e+04 + -1.726335872072246e+04 + -1.728548976595536e+04 + -1.730764210999998e+04 + -1.732981576548871e+04 + -1.735201074834581e+04 + -1.737422707347338e+04 + -1.739646475299950e+04 + -1.741872379999999e+04 + -1.744100422776899e+04 + -1.746330604747148e+04 + -1.748562927386205e+04 + -1.750797392735042e+04 + -1.753034002000000e+04 + -1.755272756012299e+04 + -1.757513656385630e+04 + -1.759756704698003e+04 + -1.762001902165879e+04 + -1.764249250000000e+04 + -1.766498749503509e+04 + -1.768750402279969e+04 + -1.771004209797560e+04 + -1.773260173223158e+04 + -1.775518293999998e+04 + -1.777778573725219e+04 + -1.780041013823985e+04 + -1.782305615380817e+04 + -1.784572379125812e+04 + -1.786841306999998e+04 + -1.789112401297027e+04 + -1.791385662520795e+04 + -1.793661091551944e+04 + -1.795938690506571e+04 + -1.798218461000000e+04 + -1.800500404157250e+04 + -1.802784520726593e+04 + -1.805070812126097e+04 + -1.807359280836476e+04 + -1.809649928000000e+04 + -1.811942754077938e+04 + -1.814237760512274e+04 + -1.816534949154946e+04 + -1.818834322012563e+04 + -1.821135879999998e+04 + -1.823439623670011e+04 + -1.825745554979138e+04 + -1.828053675712656e+04 + -1.830363986886144e+04 + -1.832676489999998e+04 + -1.834991186721417e+04 + -1.837308077964562e+04 + -1.839627164834952e+04 + -1.841948449011883e+04 + -1.844271932000000e+04 + -1.846597615248214e+04 + -1.848925500551537e+04 + -1.851255589141731e+04 + -1.853587881367952e+04 + -1.855922379000000e+04 + -1.858259084403384e+04 + -1.860597998459446e+04 + -1.862939122130964e+04 + -1.865282457086503e+04 + -1.867628004999998e+04 + -1.869975767367864e+04 + -1.872325745125265e+04 + -1.874677939400045e+04 + -1.877032351829797e+04 + -1.879388983999998e+04 + -1.881747837395618e+04 + -1.884108913346766e+04 + -1.886472213066709e+04 + -1.888837737699991e+04 + -1.891205489000000e+04 + -1.893575468867888e+04 + -1.895947678210836e+04 + -1.898322118083019e+04 + -1.900698790146692e+04 + -1.903077696000000e+04 + -1.905458837122149e+04 + -1.907842214817702e+04 + -1.910227830328199e+04 + -1.912615684887913e+04 + -1.915005779999998e+04 + -1.917398117252360e+04 + -1.919792697876641e+04 + -1.922189523162585e+04 + -1.924588594641727e+04 + -1.926989913999998e+04 + -1.929393482787026e+04 + -1.931799301676958e+04 + -1.934207372057390e+04 + -1.936617696590223e+04 + -1.939030276000000e+04 + -1.941445110358184e+04 + -1.943862202401437e+04 + -1.946281554213054e+04 + -1.948703165938676e+04 + -1.951127038999998e+04 + -1.953553175531375e+04 + -1.955981576784185e+04 + -1.958412243887696e+04 + -1.960845178142548e+04 + -1.963280380999998e+04 + -1.965717854010317e+04 + -1.968157598764983e+04 + -1.970599616682758e+04 + -1.973043908928781e+04 + -1.975490477000000e+04 + -1.977939322508017e+04 + -1.980390446612710e+04 + -1.982843850672890e+04 + -1.985299536464853e+04 + -1.987757505000000e+04 + -1.990217757132781e+04 + -1.992680295149982e+04 + -1.995145120910892e+04 + -1.997612235106852e+04 + -2.000081638999998e+04 + -2.002553334291399e+04 + -2.005027322692212e+04 + -2.007503605456619e+04 + -2.009982183242756e+04 + -2.012463057999998e+04 + -2.014946232050470e+04 + -2.017431705750974e+04 + -2.019919480128925e+04 + -2.022409557869796e+04 + -2.024901940000000e+04 + -2.027396626876084e+04 + -2.029893620825063e+04 + -2.032392923791251e+04 + -2.034894536415857e+04 + -2.037398460000000e+04 + -2.039904696273123e+04 + -2.042413246681671e+04 + -2.044924112749899e+04 + -2.047437296177629e+04 + -2.049952797999998e+04 + -2.052470619105544e+04 + -2.054990761544010e+04 + -2.057513226917888e+04 + -2.060038015795331e+04 + -2.062565129999998e+04 + -2.065094571854568e+04 + -2.067626342205840e+04 + -2.070160442063917e+04 + -2.072696873225083e+04 + -2.075235637000000e+04 + -2.077776734528838e+04 + -2.080320167696219e+04 + -2.082865938214449e+04 + -2.085414047244347e+04 + -2.087964496000000e+04 + -2.090517285805777e+04 + -2.093072418166662e+04 + -2.095629894648643e+04 + -2.098189716820891e+04 + -2.100751885999998e+04 + -2.103316403410750e+04 + -2.105883270565323e+04 + -2.108452489048020e+04 + -2.111024060421226e+04 + -2.113597985999998e+04 + -2.116174267011207e+04 + -2.118752904964539e+04 + -2.121333901446366e+04 + -2.123917258027344e+04 + -2.126502976000000e+04 + -2.129091056582378e+04 + -2.131681501406569e+04 + -2.134274311932949e+04 + -2.136869489244911e+04 + -2.139467035000000e+04 + -2.142066951097057e+04 + -2.144669238829770e+04 + -2.147273899344209e+04 + -2.149880933837191e+04 + -2.152490343999998e+04 + -2.155102131698669e+04 + -2.157716298229367e+04 + -2.160332844744082e+04 + -2.162951772437019e+04 + -2.165573082999998e+04 + -2.168196778300156e+04 + -2.170822859627157e+04 + -2.173451328139519e+04 + -2.176082185053812e+04 + -2.178715432000000e+04 + -2.181351070821111e+04 + -2.183989103150391e+04 + -2.186629530288904e+04 + -2.189272353140778e+04 + -2.191917573000000e+04 + -2.194565191497987e+04 + -2.197215210512397e+04 + -2.199867631637375e+04 + -2.202522455969623e+04 + -2.205179684999998e+04 + -2.207839320363563e+04 + -2.210501363148952e+04 + -2.213165814783550e+04 + -2.215832677350680e+04 + -2.218501951999998e+04 + -2.221173639532642e+04 + -2.223847741910094e+04 + -2.226524260850044e+04 + -2.229203197306979e+04 + -2.231884553000000e+04 + -2.234568329890952e+04 + -2.237254528774074e+04 + -2.239943150806158e+04 + -2.242634198094407e+04 + -2.245327672000000e+04 + -2.248023573585785e+04 + -2.250721904853940e+04 + -2.253422667413636e+04 + -2.256125861967753e+04 + -2.258831489999998e+04 + -2.261539553480252e+04 + -2.264250054093014e+04 + -2.266962993052693e+04 + -2.269678371062339e+04 + -2.272396189999998e+04 + -2.275116452153000e+04 + -2.277839158301363e+04 + -2.280564309534358e+04 + -2.283291907950545e+04 + -2.286021955000000e+04 + -2.288754451771620e+04 + -2.291489399812011e+04 + -2.294226800704672e+04 + -2.296966655917324e+04 + -2.299708967000000e+04 + -2.302453735490683e+04 + -2.305200962641978e+04 + -2.307950649734620e+04 + -2.310702798236498e+04 + -2.313457409999998e+04 + -2.316214486856879e+04 + -2.318974029613145e+04 + -2.321736039447026e+04 + -2.324500518448656e+04 + -2.327267467999998e+04 + -2.330036889175501e+04 + -2.332808783850466e+04 + -2.335583153764027e+04 + -2.338360000121357e+04 + -2.341139324000000e+04 + -2.343921126672951e+04 + -2.346705410394532e+04 + -2.349492176951476e+04 + -2.352281427072812e+04 + -2.355073162000000e+04 + -2.357867383414989e+04 + -2.360664093193761e+04 + -2.363463292919098e+04 + -2.366264983684289e+04 + -2.369069166999998e+04 + -2.371875844507638e+04 + -2.374685017193912e+04 + -2.377496686591387e+04 + -2.380310855200050e+04 + -2.383127523999998e+04 + -2.385946693403709e+04 + -2.388768365690810e+04 + -2.391592542840760e+04 + -2.394419225713039e+04 + -2.397248416000000e+04 + -2.400080115691363e+04 + -2.402914325571854e+04 + -2.405751046800998e+04 + -2.408590281513924e+04 + -2.411432031000000e+04 + -2.414276296293371e+04 + -2.417123079796694e+04 + -2.419972383203242e+04 + -2.422824206706797e+04 + -2.425678551999998e+04 + -2.428535421485334e+04 + -2.431394816200073e+04 + -2.434256737430352e+04 + -2.437121187300517e+04 + -2.439988166999998e+04 + -2.442857677325164e+04 + -2.445729720103540e+04 + -2.448604297194451e+04 + -2.451481410082247e+04 + -2.454361060000000e+04 + -2.457243248182022e+04 + -2.460127976431730e+04 + -2.463015246522100e+04 + -2.465905059942621e+04 + -2.468797417999998e+04 + -2.471692321945616e+04 + -2.474589773222362e+04 + -2.477489773480251e+04 + -2.480392324581322e+04 + -2.483297427999998e+04 + -2.486205084917968e+04 + -2.489115296405446e+04 + -2.492028064024748e+04 + -2.494943390068509e+04 + -2.497861275999998e+04 + -2.500781722863925e+04 + -2.503704732334474e+04 + -2.506630305872901e+04 + -2.509558444448151e+04 + -2.512489150000000e+04 + -2.515422424757818e+04 + -2.518358269497819e+04 + -2.521296685328307e+04 + -2.524237674371633e+04 + -2.527181237999998e+04 + -2.530127377273551e+04 + -2.533076094162915e+04 + -2.536027390311031e+04 + -2.538981266594794e+04 + -2.541937724999998e+04 + -2.544896767801531e+04 + -2.547858395406606e+04 + -2.550822608802068e+04 + -2.553789410507042e+04 + -2.556758802000000e+04 + -2.559730784246711e+04 + -2.562705359189478e+04 + -2.565682528525429e+04 + -2.568662293247029e+04 + -2.571644655000000e+04 + -2.574629615713407e+04 + -2.577617176604459e+04 + -2.580607338891535e+04 + -2.583600104095400e+04 + -2.586595473999998e+04 + -2.589593450400127e+04 + -2.592594034522632e+04 + -2.595597227610649e+04 + -2.598603031176017e+04 + -2.601611446999998e+04 + -2.604622476879967e+04 + -2.607636122042706e+04 + -2.610652383730750e+04 + -2.613671263455693e+04 + -2.616692763000000e+04 + -2.619716884161440e+04 + -2.622743628160562e+04 + -2.625772996246335e+04 + -2.628804989951923e+04 + -2.631839611000000e+04 + -2.634876861165059e+04 + -2.637916741999917e+04 + -2.640959254907723e+04 + -2.644004401148305e+04 + -2.647052181999998e+04 + -2.650102598983489e+04 + -2.653155654491748e+04 + -2.656211350103963e+04 + -2.659269685960091e+04 + -2.662330663999998e+04 + -2.665394286925502e+04 + -2.668460555517195e+04 + -2.671529470758218e+04 + -2.674601034670874e+04 + -2.677675249000000e+04 + -2.680752115154265e+04 + -2.683831634157976e+04 + -2.686913807564717e+04 + -2.689998637786448e+04 + -2.693086126000000e+04 + -2.696176272916689e+04 + -2.699269080763921e+04 + -2.702364551500381e+04 + -2.705462686113689e+04 + -2.708563485999998e+04 + -2.711666952809900e+04 + -2.714773087942122e+04 + -2.717881892991400e+04 + -2.720993369901594e+04 + -2.724107519999998e+04 + -2.727224344400496e+04 + -2.730343845029767e+04 + -2.733466023562860e+04 + -2.736590881019403e+04 + -2.739718419000000e+04 + -2.742848639412166e+04 + -2.745981543741902e+04 + -2.749117133427855e+04 + -2.752255410001475e+04 + -2.755396375000000e+04 + -2.758540029934807e+04 + -2.761686376223195e+04 + -2.764835415476579e+04 + -2.767987149599797e+04 + -2.771141579999997e+04 + -2.774298707825893e+04 + -2.777458534547961e+04 + -2.780621061813955e+04 + -2.783786291408934e+04 + -2.786954224999998e+04 + -2.790124864062599e+04 + -2.793298209650868e+04 + -2.796474263269793e+04 + -2.799653027215609e+04 + -2.802834503000000e+04 + -2.806018691678819e+04 + -2.809205594694776e+04 + -2.812395213748840e+04 + -2.815587550739401e+04 + -2.818782607000000e+04 + -2.821980383662756e+04 + -2.825180882556652e+04 + -2.828384105454396e+04 + -2.831590053775406e+04 + -2.834798728999998e+04 + -2.838010132665882e+04 + -2.841224266303304e+04 + -2.844441131398464e+04 + -2.847660729395342e+04 + -2.850883061999998e+04 + -2.854108131015271e+04 + -2.857335937943549e+04 + -2.860566484233479e+04 + -2.863799771378746e+04 + -2.867035801000000e+04 + -2.870274574643904e+04 + -2.873516093256026e+04 + -2.876760358436649e+04 + -2.880007372909855e+04 + -2.883257138000000e+04 + -2.886509654365616e+04 + -2.889764923870952e+04 + -2.893022948372628e+04 + -2.896283729252707e+04 + -2.899547267999998e+04 + -2.902813566168059e+04 + -2.906082625190441e+04 + -2.909354446650575e+04 + -2.912629032389195e+04 + -2.915906383999998e+04 + -2.919186502919167e+04 + -2.922469390650106e+04 + -2.925755048733507e+04 + -2.929043478725063e+04 + -2.932334682000000e+04 + -2.935628660019129e+04 + -2.938925415043921e+04 + -2.942224948806936e+04 + -2.945527261979538e+04 + -2.948832356000000e+04 + -2.952140232838030e+04 + -2.955450894361826e+04 + -2.958764342089699e+04 + -2.962080577090842e+04 + -2.965399600999997e+04 + -2.968721415715336e+04 + -2.972046022629084e+04 + -2.975373423280592e+04 + -2.978703619592538e+04 + -2.982036612999997e+04 + -2.985372404652352e+04 + -2.988710995909819e+04 + -2.992052388535540e+04 + -2.995396584761164e+04 + -2.998743586000000e+04 + -3.002093393306212e+04 + -3.005446008516229e+04 + -3.008801433415196e+04 + -3.012159669410924e+04 + -3.015520717999998e+04 + -3.018884580728562e+04 + -3.022251259030155e+04 + -3.025620754490144e+04 + -3.028993068950620e+04 + -3.032368203999997e+04 + -3.035746161072607e+04 + -3.039126941699663e+04 + -3.042510547393189e+04 + -3.045896979612689e+04 + -3.049286239999998e+04 + -3.052678330335746e+04 + -3.056073252467363e+04 + -3.059471007984014e+04 + -3.062871598061521e+04 + -3.066275024000000e+04 + -3.069681287356475e+04 + -3.073090390293319e+04 + -3.076502334621974e+04 + -3.079917121404217e+04 + -3.083334751999997e+04 + -3.086755228023463e+04 + -3.090178551167921e+04 + -3.093604723225209e+04 + -3.097033746063074e+04 + -3.100465620999998e+04 + -3.103900349175437e+04 + -3.107337932446759e+04 + -3.110778372555016e+04 + -3.114221670819769e+04 + -3.117667828999997e+04 + -3.121116848957679e+04 + -3.124568731744623e+04 + -3.128023478769976e+04 + -3.131481092268889e+04 + -3.134941574000000e+04 + -3.138404925321087e+04 + -3.141871147408727e+04 + -3.145340241670125e+04 + -3.148812209933996e+04 + -3.152287053999997e+04 + -3.155764775577736e+04 + -3.159245376185456e+04 + -3.162728857279384e+04 + -3.166215220315186e+04 + -3.169704466999997e+04 + -3.173196599132658e+04 + -3.176691618227545e+04 + -3.180189525721778e+04 + -3.183690323068162e+04 + -3.187194012000000e+04 + -3.190700594323912e+04 + -3.194210071422084e+04 + -3.197722444868163e+04 + -3.201237716636405e+04 + -3.204755888000000e+04 + -3.208276960047787e+04 + -3.211800935023939e+04 + -3.215327814773632e+04 + -3.218857600158763e+04 + -3.222390292999997e+04 + -3.225925895535199e+04 + -3.229464408973093e+04 + -3.233005834462857e+04 + -3.236550173499735e+04 + -3.240097427999997e+04 + -3.243647600017841e+04 + -3.247200691143220e+04 + -3.250756702669824e+04 + -3.254315635678932e+04 + -3.257877492000000e+04 + -3.261442273792899e+04 + -3.265009982555360e+04 + -3.268580619650297e+04 + -3.272154186523808e+04 + -3.275730685000000e+04 + -3.279310116911321e+04 + -3.282892483177912e+04 + -3.286477785354587e+04 + -3.290066026202923e+04 + -3.293657206999998e+04 + -3.297251328378459e+04 + -3.300848392497173e+04 + -3.304448401407080e+04 + -3.308051356412061e+04 + -3.311657258999998e+04 + -3.315266110752813e+04 + -3.318877912993135e+04 + -3.322492667413289e+04 + -3.326110376297835e+04 + -3.329731041000000e+04 + -3.333354662539115e+04 + -3.336981243131684e+04 + -3.340610784669931e+04 + -3.344243288124504e+04 + -3.347878755000000e+04 + -3.351517187197135e+04 + -3.355158586607149e+04 + -3.358802954742114e+04 + -3.362450292603845e+04 + -3.366100601999997e+04 + -3.369753885113907e+04 + -3.373410143432544e+04 + -3.377069378324004e+04 + -3.380731591267414e+04 + -3.384396783999997e+04 + -3.388064958319757e+04 + -3.391736115628571e+04 + -3.395410257481684e+04 + -3.399087385786547e+04 + -3.402767502000000e+04 + -3.406450607498593e+04 + -3.410136704569621e+04 + -3.413825794940452e+04 + -3.417517879208190e+04 + -3.421212959000000e+04 + -3.424911036577375e+04 + -3.428612113814977e+04 + -3.432316192150666e+04 + -3.436023272579379e+04 + -3.439733356999998e+04 + -3.443446447621852e+04 + -3.447162545467578e+04 + -3.450881651888796e+04 + -3.454603769159935e+04 + -3.458328898999997e+04 + -3.462057042742187e+04 + -3.465788201822977e+04 + -3.469522377879945e+04 + -3.473259572783916e+04 + -3.476999788000000e+04 + -3.480743024920274e+04 + -3.484489285737491e+04 + -3.488238572274076e+04 + -3.491990885516477e+04 + -3.495746227000000e+04 + -3.499504598627476e+04 + -3.503266002163332e+04 + -3.507030439252002e+04 + -3.510797911399110e+04 + -3.514568419999997e+04 + -3.518341966538968e+04 + -3.522118553105182e+04 + -3.525898181605689e+04 + -3.529680853433678e+04 + -3.533466569999997e+04 + -3.537255332834070e+04 + -3.541047143775194e+04 + -3.544842004484196e+04 + -3.548639916273562e+04 + -3.552440881000000e+04 + -3.556244900769237e+04 + -3.560051977192599e+04 + -3.563862111528000e+04 + -3.567675304773126e+04 + -3.571491559000000e+04 + -3.575310876677514e+04 + -3.579133259025522e+04 + -3.582958707123636e+04 + -3.586787222387752e+04 + -3.590618806999997e+04 + -3.594453463328037e+04 + -3.598291192576281e+04 + -3.602131995866808e+04 + -3.605975874687618e+04 + -3.609822830999997e+04 + -3.613672866872384e+04 + -3.617525983663845e+04 + -3.621382182906358e+04 + -3.625241466608051e+04 + -3.629103836000000e+04 + -3.632969292147818e+04 + -3.636837837559645e+04 + -3.640709474306420e+04 + -3.644584203277781e+04 + -3.648462026000000e+04 + -3.652342944409004e+04 + -3.656226960170399e+04 + -3.660114075023598e+04 + -3.664004290875195e+04 + -3.667897608999997e+04 + -3.671794030512006e+04 + -3.675693557547587e+04 + -3.679596192058374e+04 + -3.683501935339895e+04 + -3.687410788999997e+04 + -3.691322754870546e+04 + -3.695237834723054e+04 + -3.699156030212950e+04 + -3.703077342834224e+04 + -3.707001774000000e+04 + -3.710929325203417e+04 + -3.714859998429457e+04 + -3.718793795692067e+04 + -3.722730718808447e+04 + -3.726670768999997e+04 + -3.730613947399677e+04 + -3.734560256273038e+04 + -3.738509697431393e+04 + -3.742462271654350e+04 + -3.746417980999997e+04 + -3.750376828013417e+04 + -3.754338813660564e+04 + -3.758303939267375e+04 + -3.762272207245150e+04 + -3.766243618999997e+04 + -3.770218175518502e+04 + -3.774195878945678e+04 + -3.778176731257176e+04 + -3.782160733741773e+04 + -3.786147888000000e+04 + -3.790138195864309e+04 + -3.794131659132003e+04 + -3.798128279431332e+04 + -3.802128058166662e+04 + -3.806130996999997e+04 + -3.810137097737330e+04 + -3.814146362046005e+04 + -3.818158791697343e+04 + -3.822174388615621e+04 + -3.826193153999997e+04 + -3.830215088938532e+04 + -3.834240195971708e+04 + -3.838268477130731e+04 + -3.842299933188884e+04 + -3.846334565999997e+04 + -3.850372377842891e+04 + -3.854413369633216e+04 + -3.858457542816681e+04 + -3.862504900090371e+04 + -3.866555443000000e+04 + -3.870609172486966e+04 + -3.874666090332934e+04 + -3.878726198409722e+04 + -3.882789498399841e+04 + -3.886855991999997e+04 + -3.890925680946781e+04 + -3.894998567054054e+04 + -3.899074651957592e+04 + -3.903153937021765e+04 + -3.907236423999997e+04 + -3.911322114736439e+04 + -3.915411010384250e+04 + -3.919503112747372e+04 + -3.923598424716172e+04 + -3.927696946999997e+04 + -3.931798680038228e+04 + -3.935903628964794e+04 + -3.940011793259103e+04 + -3.944123164809230e+04 + -3.948237770000000e+04 + -3.952355620675491e+04 + -3.956476584662273e+04 + -3.960600801403134e+04 + -3.964728735507886e+04 + -3.968859104999997e+04 + 1.819886919039960e+01 + 1.816405130921966e+01 + 1.812918280091599e+01 + 1.809426424653407e+01 + 1.805929622711938e+01 + 1.802427932371738e+01 + 1.798921411737356e+01 + 1.795410118913339e+01 + 1.791894112004234e+01 + 1.788373449114589e+01 + 1.784848188348950e+01 + 1.781318387811866e+01 + 1.777784105607885e+01 + 1.774245399841551e+01 + 1.770702328617416e+01 + 1.767154950040025e+01 + 1.763603322213927e+01 + 1.760047503243666e+01 + 1.756487551233793e+01 + 1.752923524288855e+01 + 1.749355480513398e+01 + 1.745783478011969e+01 + 1.742207574889119e+01 + 1.738627829249391e+01 + 1.735044299197335e+01 + 1.731457042837498e+01 + 1.727866118274428e+01 + 1.724271583612671e+01 + 1.720673496956776e+01 + 1.717071916411290e+01 + 1.713466900080759e+01 + 1.709858506069732e+01 + 1.706246792482757e+01 + 1.702631817424381e+01 + 1.699013638999150e+01 + 1.695392315311613e+01 + 1.691767904466317e+01 + 1.688140464567809e+01 + 1.684510053720637e+01 + 1.680876730029348e+01 + 1.677240551598491e+01 + 1.673601576532611e+01 + 1.669959862936258e+01 + 1.666315468913977e+01 + 1.662668452570318e+01 + 1.659018872009826e+01 + 1.655366785337049e+01 + 1.651712250656536e+01 + 1.648055326072833e+01 + 1.644396069690488e+01 + 1.640734539614049e+01 + 1.637070793948063e+01 + 1.633404890797076e+01 + 1.629736888265638e+01 + 1.626066844458294e+01 + 1.622394817479593e+01 + 1.618720865434082e+01 + 1.615045046426309e+01 + 1.611367418560821e+01 + 1.607688039942165e+01 + 1.604006968674890e+01 + 1.600324262863542e+01 + 1.596639980612668e+01 + 1.592954180026817e+01 + 1.589266919210536e+01 + 1.585578256268371e+01 + 1.581888249304872e+01 + 1.578196956424585e+01 + 1.574504435732057e+01 + 1.570810745331836e+01 + 1.567115943328470e+01 + 1.563420087826506e+01 + 1.559723236930490e+01 + 1.556025448744972e+01 + 1.552326781374499e+01 + 1.548627292923617e+01 + 1.544927041496875e+01 + 1.541226085198818e+01 + 1.537524482133997e+01 + 1.533822290406956e+01 + 1.530119568122245e+01 + 1.526416373384410e+01 + 1.522712764298000e+01 + 1.519008798967561e+01 + 1.515304535497640e+01 + 1.511600031992786e+01 + 1.507895346557546e+01 + 1.504190537296467e+01 + 1.500485662314096e+01 + 1.496780779714983e+01 + 1.493075947603672e+01 + 1.489371224084713e+01 + 1.485666667262652e+01 + 1.481962335242037e+01 + 1.478258286127416e+01 + 1.474554578023335e+01 + 1.470851269034343e+01 + 1.467148417264987e+01 + 1.463446080819813e+01 + 1.459744317803371e+01 + 1.456043186320207e+01 + 1.452342744474869e+01 + 1.448643050371903e+01 + 1.444944162115858e+01 + 1.441246137811282e+01 + 1.437549035562720e+01 + 1.433852913474722e+01 + 1.430157829651834e+01 + 1.426463842198604e+01 + 1.422771009219579e+01 + 1.419079388819307e+01 + 1.415389039102334e+01 + 1.411700018173210e+01 + 1.408012384136481e+01 + 1.404326195096694e+01 + 1.400641509158398e+01 + 1.396958384426139e+01 + 1.393276879004464e+01 + 1.389597050997923e+01 + 1.385918958511061e+01 + 1.382242659648426e+01 + 1.378568212514566e+01 + 1.374895675214029e+01 + 1.371225105851361e+01 + 1.367556562531110e+01 + 1.363890103357824e+01 + 1.360225786436050e+01 + 1.356563669870335e+01 + 1.352903811765228e+01 + 1.349246270225274e+01 + 1.345591103355023e+01 + 1.341938369259021e+01 + 1.338288126041816e+01 + 1.334640431807955e+01 + 1.330995344661985e+01 + 1.327352922708455e+01 + 1.323713224051912e+01 + 1.320076306796902e+01 + 1.316442229047974e+01 + 1.312811048909675e+01 + 1.309182824486553e+01 + 1.305557613883154e+01 + 1.301935475204027e+01 + 1.298316466553718e+01 + 1.294700646036776e+01 + 1.291088071757748e+01 + 1.287478801821181e+01 + 1.283872894331622e+01 + 1.280270407393619e+01 + 1.276671399111720e+01 + 1.273075927590472e+01 + 1.269484050934423e+01 + 1.265895827248119e+01 + 1.262311314636109e+01 + 1.258730571202939e+01 + 1.255153655053158e+01 + 1.251580624291313e+01 + 1.248011537021950e+01 + 1.244446451349619e+01 + 1.240885425378865e+01 + 1.237328517214237e+01 + 1.233775784960283e+01 + 1.230227286721548e+01 + 1.226683080602582e+01 + 1.223143224707931e+01 + 1.219607777142142e+01 + 1.216076796009764e+01 + 1.212550339415344e+01 + 1.209028465463429e+01 + 1.205511232258567e+01 + 1.201998697905305e+01 + 1.198490920508190e+01 + 1.194987958171770e+01 + 1.191489869000593e+01 + 1.187996711099206e+01 + 1.184508542572157e+01 + 1.181025421523992e+01 + 1.177547406059259e+01 + 1.174074554282507e+01 + 1.170606924298281e+01 + 1.167144574211130e+01 + 1.163687562125602e+01 + 1.160235946146243e+01 + 1.156789784377601e+01 + 1.153349134924223e+01 + 1.149914055890657e+01 + 1.146484605381452e+01 + 1.143060841501152e+01 + 1.139642822354308e+01 + 1.136230606045464e+01 + 1.132824250679170e+01 + 1.129423814359974e+01 + 1.126029355192421e+01 + 1.122640931281059e+01 + 1.119258600730437e+01 + 1.115882421645102e+01 + 1.112512452129600e+01 + 1.109148750288479e+01 + 1.105791374226288e+01 + 1.102440382047573e+01 + 1.099095831856882e+01 + 1.095757781758762e+01 + 1.092426289857761e+01 + 1.089101414258426e+01 + 1.085783213065305e+01 + 1.082471744382945e+01 + 1.079167066315892e+01 + 1.075869236968697e+01 + 1.072578314445905e+01 + 1.069294356852064e+01 + 1.066017422291721e+01 + 1.062747568869424e+01 + 1.059484854689720e+01 + 1.056229337857157e+01 + 1.052981076476282e+01 + 1.049740128651643e+01 + 1.046506552487787e+01 + 1.043280406089261e+01 + 1.040061747560614e+01 + 1.036850635006392e+01 + 1.033647126531143e+01 + 1.030451280239414e+01 + 1.027263154235754e+01 + 1.024082806624708e+01 + 1.020910295510825e+01 + 1.017745678998653e+01 + 1.014589015192738e+01 + 1.011440362197629e+01 + 1.008299778117872e+01 + 1.005167321058014e+01 + 1.002043049122605e+01 + 9.989270204161905e+00 + 9.958192930433185e+00 + 9.927199251085362e+00 + 9.896289747163912e+00 + 9.865464999714312e+00 + 9.834725589782032e+00 + 9.804072098412551e+00 + 9.773505106651340e+00 + 9.743025195543877e+00 + 9.712632946135633e+00 + 9.682328939472086e+00 + 9.652113756598707e+00 + 9.621987978560973e+00 + 9.591952186404358e+00 + 9.562006961174337e+00 + 9.532152883916382e+00 + 9.502390535675973e+00 + 9.472720497498580e+00 + 9.443143350429677e+00 + 9.413659675514742e+00 + 9.384270053799249e+00 + 9.354975066328668e+00 + 9.325775294148480e+00 + 9.296671318304156e+00 + 9.267663719841170e+00 + 9.238753079804999e+00 + 9.209939979241115e+00 + 9.181224999194994e+00 + 9.152608720712111e+00 + 9.124091724837941e+00 + 9.095674592617954e+00 + 9.067357905097630e+00 + 9.039142243322441e+00 + 9.011028188337864e+00 + 8.983016292445305e+00 + 8.955106689123129e+00 + 8.927299195109086e+00 + 8.899593619314148e+00 + 8.871989770649284e+00 + 8.844487458025464e+00 + 8.817086490353660e+00 + 8.789786676544839e+00 + 8.762587825509975e+00 + 8.735489746160036e+00 + 8.708492247405990e+00 + 8.681595138158814e+00 + 8.654798227329470e+00 + 8.628101323828931e+00 + 8.601504236568170e+00 + 8.575006774458155e+00 + 8.548608746409855e+00 + 8.522309961334242e+00 + 8.496110228142285e+00 + 8.470009355744955e+00 + 8.444007153053219e+00 + 8.418103428978053e+00 + 8.392297992430423e+00 + 8.366590652321301e+00 + 8.340981217561657e+00 + 8.315469497062459e+00 + 8.290055299734679e+00 + 8.264738434489287e+00 + 8.239518710237252e+00 + 8.214395935889545e+00 + 8.189369920357137e+00 + 8.164440472550996e+00 + 8.139607401382095e+00 + 8.114870515761401e+00 + 8.090229624599887e+00 + 8.065684536808520e+00 + 8.041235061298275e+00 + 8.016881006980118e+00 + 7.992622182765018e+00 + 7.968458397563950e+00 + 7.944389460287880e+00 + 7.920415179847782e+00 + 7.896535365154623e+00 + 7.872749825119373e+00 + 7.849058368653004e+00 + 7.825460804666484e+00 + 7.801956942070785e+00 + 7.778546589776878e+00 + 7.755229556695729e+00 + 7.732005651738313e+00 + 7.708874683815599e+00 + 7.685836461838553e+00 + 7.662890794718152e+00 + 7.640037491365358e+00 + 7.617276360691148e+00 + 7.594607211606489e+00 + 7.572029853022352e+00 + 7.549544093849708e+00 + 7.527149742999527e+00 + 7.504846609382777e+00 + 7.482634501910429e+00 + 7.460513229493455e+00 + 7.438482601042820e+00 + 7.416542425469502e+00 + 7.394692511684465e+00 + 7.372932668598682e+00 + 7.351262705123121e+00 + 7.329682430168755e+00 + 7.308191652646553e+00 + 7.286790181467484e+00 + 7.265477825542517e+00 + 7.244254393782626e+00 + 7.223119695098779e+00 + 7.202073538401945e+00 + 7.181115732603097e+00 + 7.160246086613204e+00 + 7.139464409343233e+00 + 7.118770509704159e+00 + 7.098164196606950e+00 + 7.077645278962576e+00 + 7.057213565682006e+00 + 7.036868865676214e+00 + 7.016610987856166e+00 + 6.996439741132834e+00 + 6.976354934417186e+00 + 6.956356376620197e+00 + 6.936443876652832e+00 + 6.916617243426063e+00 + 6.896876285850862e+00 + 6.877220812838198e+00 + 6.857650633299039e+00 + 6.838165556144358e+00 + 6.818765390285123e+00 + 6.799449944632306e+00 + 6.780219028096876e+00 + 6.761072449589803e+00 + 6.742010018022058e+00 + 6.723031542304612e+00 + 6.704136831348434e+00 + 6.685325694064492e+00 + 6.666597939363759e+00 + 6.647953376157203e+00 + 6.629391813355797e+00 + 6.610913059870509e+00 + 6.592516924612310e+00 + 6.574203216492170e+00 + 6.555971744421058e+00 + 6.537822317309946e+00 + 6.519754744069803e+00 + 6.501768833611600e+00 + 6.483864394846306e+00 + 6.466041236684891e+00 + 6.448299168038327e+00 + 6.430637997817582e+00 + 6.413057534933630e+00 + 6.395557588297437e+00 + 6.378137966819973e+00 + 6.360798479412210e+00 + 6.343538934985117e+00 + 6.326359142449666e+00 + 6.309258910716826e+00 + 6.292238048697567e+00 + 6.275296365302859e+00 + 6.258433669443673e+00 + 6.241649770030978e+00 + 6.224944475975745e+00 + 6.208317596188945e+00 + 6.191768939581546e+00 + 6.175298315064517e+00 + 6.158905531548833e+00 + 6.142590397945462e+00 + 6.126352723165372e+00 + 6.110192316119535e+00 + 6.094108985718921e+00 + 6.078102540874499e+00 + 6.062172790497243e+00 + 6.046319543498117e+00 + 6.030542608788095e+00 + 6.014841795278149e+00 + 5.999216911879244e+00 + 5.983667767502356e+00 + 5.968194171058448e+00 + 5.952795931458497e+00 + 5.937472857613470e+00 + 5.922224758434336e+00 + 5.907051442832068e+00 + 5.891952719717633e+00 + 5.876928398002004e+00 + 5.861978286596150e+00 + 5.847102194411042e+00 + 5.832299930357648e+00 + 5.817571303346941e+00 + 5.802916122289888e+00 + 5.788334196097460e+00 + 5.773825333680629e+00 + 5.759389343950365e+00 + 5.745026035817635e+00 + 5.730735218193414e+00 + 5.716516699988668e+00 + 5.702370290114368e+00 + 5.688295797481486e+00 + 5.674293031000990e+00 + 5.660361799583851e+00 + 5.646501912141039e+00 + 5.632713177583526e+00 + 5.618995404822279e+00 + 5.605348402768269e+00 + 5.591771980332467e+00 + 5.578265946425844e+00 + 5.564830109959368e+00 + 5.551464279844009e+00 + 5.538168264990741e+00 + 5.524941874310529e+00 + 5.511784916714348e+00 + 5.498697201113163e+00 + 5.485678536417949e+00 + 5.472728731539672e+00 + 5.459847595389306e+00 + 5.447031950668924e+00 + 5.434258417587328e+00 + 5.421509378931341e+00 + 5.408790202589383e+00 + 5.396101725502927e+00 + 5.383442552149385e+00 + 5.370812984345576e+00 + 5.358213038980171e+00 + 5.345642546622406e+00 + 5.333101463094469e+00 + 5.320589727671893e+00 + 5.308107264570896e+00 + 5.295654006874094e+00 + 5.283229887334054e+00 + 5.270834837715376e+00 + 5.258468789944041e+00 + 5.246131676000384e+00 + 5.233823428164784e+00 + 5.221543979540164e+00 + 5.209293263422158e+00 + 5.197071212820756e+00 + 5.184877759775030e+00 + 5.172712837552656e+00 + 5.160576380473933e+00 + 5.148468322098453e+00 + 5.136388595958436e+00 + 5.124337135726472e+00 + 5.112313875048248e+00 + 5.100318748362747e+00 + 5.088351690727316e+00 + 5.076412636057685e+00 + 5.064501518839616e+00 + 5.052618274474592e+00 + 5.040762837425790e+00 + 5.028935142799786e+00 + 5.017135126690616e+00 + 5.005362723409764e+00 + 4.993617868159293e+00 + 4.981900498164465e+00 + 4.970210548621045e+00 + 4.958547954855285e+00 + 4.946912653797631e+00 + 4.935304581602165e+00 + 4.923723674430540e+00 + 4.912169869219803e+00 + 4.900643102722201e+00 + 4.889143311682699e+00 + 4.877670433140317e+00 + 4.866224404407401e+00 + 4.854805162838305e+00 + 4.843412645620055e+00 + 4.832046790470948e+00 + 4.820707535433044e+00 + 4.809394818449872e+00 + 4.798108577205163e+00 + 4.786848749644187e+00 + 4.775615274885523e+00 + 4.764408091170769e+00 + 4.753227136475494e+00 + 4.742072350593207e+00 + 4.730943672320340e+00 + 4.719841039761676e+00 + 4.708764392793848e+00 + 4.697713670947889e+00 + 4.686688813308958e+00 + 4.675689760077749e+00 + 4.664716450776882e+00 + 4.653768824355144e+00 + 4.642846821849820e+00 + 4.631950383864691e+00 + 4.621079449911801e+00 + 4.610233960271208e+00 + 4.599413855814052e+00 + 4.588619077726644e+00 + 4.577849566594633e+00 + 4.567105263324451e+00 + 4.556386109499332e+00 + 4.545692045920192e+00 + 4.535023013830533e+00 + 4.524378955558838e+00 + 4.513759812087895e+00 + 4.503165524982657e+00 + 4.492596037765430e+00 + 4.482051291649467e+00 + 4.471531227881555e+00 + 4.461035790191556e+00 + 4.450564920902143e+00 + 4.440118561957067e+00 + 4.429696656605228e+00 + 4.419299148008472e+00 + 4.408925979093191e+00 + 4.398577092681390e+00 + 4.388252432408600e+00 + 4.377951941955149e+00 + 4.367675563647617e+00 + 4.357423241911437e+00 + 4.347194921954801e+00 + 4.336990545878941e+00 + 4.326810057907454e+00 + 4.316653403787664e+00 + 4.306520526395858e+00 + 4.296411370095723e+00 + 4.286325880845187e+00 + 4.276264002847886e+00 + 4.266225680614548e+00 + 4.256210859410026e+00 + 4.246219484255977e+00 + 4.236251500111860e+00 + 4.226306852214246e+00 + 4.216385487075638e+00 + 4.206487350454588e+00 + 4.196612386873075e+00 + 4.186760542346591e+00 + 4.176931763412669e+00 + 4.167125996517556e+00 + 4.157343187931778e+00 + 4.147583283659849e+00 + 4.137846229598449e+00 + 4.128131973158434e+00 + 4.118440461620333e+00 + 4.108771640965568e+00 + 4.099125458381889e+00 + 4.089501861348100e+00 + 4.079900796648449e+00 + 4.070322211621146e+00 + 4.060766054068578e+00 + 4.051232271987449e+00 + 4.041720812903752e+00 + 4.032231624389123e+00 + 4.022764654839604e+00 + 4.013319852102482e+00 + 4.003897163974346e+00 + 3.994496539375360e+00 + 3.985117927005318e+00 + 3.975761275162846e+00 + 3.966426531955261e+00 + 3.957113646635731e+00 + 3.947822569087183e+00 + 3.938553247905866e+00 + 3.929305631685672e+00 + 3.920079669524097e+00 + 3.910875311427285e+00 + 3.901692507178291e+00 + 3.892531206204140e+00 + 3.883391358396833e+00 + 3.874272913657344e+00 + 3.865175821793835e+00 + 3.856100032879644e+00 + 3.847045497225832e+00 + 3.838012165320722e+00 + 3.828999987558789e+00 + 3.820008914413926e+00 + 3.811038896595444e+00 + 3.802089885254187e+00 + 3.793161831237620e+00 + 3.784254684890362e+00 + 3.775368398252875e+00 + 3.766502923100440e+00 + 3.757658209579520e+00 + 3.748834209295840e+00 + 3.740030874433959e+00 + 3.731248156753105e+00 + 3.722486008117639e+00 + 3.713744380387517e+00 + 3.705023225280349e+00 + 3.696322495070079e+00 + 3.687642142318910e+00 + 3.678982119432947e+00 + 3.670342378801804e+00 + 3.661722872867589e+00 + 3.653123554235752e+00 + 3.644544376023881e+00 + 3.635985291634798e+00 + 3.627446254192749e+00 + 3.618927216218316e+00 + 3.610428130335504e+00 + 3.601948951051534e+00 + 3.593489632231203e+00 + 3.585050126838500e+00 + 3.576630388153148e+00 + 3.568230370457688e+00 + 3.559850028500160e+00 + 3.551489315016799e+00 + 3.543148183918080e+00 + 3.534826590807976e+00 + 3.526524489935861e+00 + 3.518241835011243e+00 + 3.509978579991082e+00 + 3.501734680809670e+00 + 3.493510092697708e+00 + 3.485304769188242e+00 + 3.477118665289576e+00 + 3.468951736765370e+00 + 3.460803939385451e+00 + 3.452675227557384e+00 + 3.444565556219660e+00 + 3.436474882078371e+00 + 3.428403160505571e+00 + 3.420350346590145e+00 + 3.412316396304707e+00 + 3.404301265792477e+00 + 3.396304911176187e+00 + 3.388327288491305e+00 + 3.380368354160161e+00 + 3.372428064623584e+00 + 3.364506375833607e+00 + 3.356603244211646e+00 + 3.348718626640740e+00 + 3.340852480236101e+00 + 3.333004761693424e+00 + 3.325175427644580e+00 + 3.317364435527293e+00 + 3.309571742493616e+00 + 3.301797305408617e+00 + 3.294041081414062e+00 + 3.286303028194412e+00 + 3.278583103726798e+00 + 3.270881265443555e+00 + 3.263197471011956e+00 + 3.255531678390248e+00 + 3.247883845209004e+00 + 3.240253929642225e+00 + 3.232641890347850e+00 + 3.225047684908113e+00 + 3.217471271425511e+00 + 3.209912608923088e+00 + 3.202371655667555e+00 + 3.194848370181972e+00 + 3.187342711658790e+00 + 3.179854638881827e+00 + 3.172384110380890e+00 + 3.164931084707051e+00 + 3.157495521384956e+00 + 3.150077380058776e+00 + 3.142676619877814e+00 + 3.135293200073600e+00 + 3.127927079946843e+00 + 3.120578218905895e+00 + 3.113246577218404e+00 + 3.105932114937815e+00 + 3.098634790846833e+00 + 3.091354565058342e+00 + 3.084091398271724e+00 + 3.076845250485478e+00 + 3.069616081755534e+00 + 3.062403852244847e+00 + 3.055208522175611e+00 + 3.048030052549899e+00 + 3.040868404439169e+00 + 3.033723537524932e+00 + 3.026595412527113e+00 + 3.019483991059011e+00 + 3.012389234177664e+00 + 3.005311102428361e+00 + 2.998249556405217e+00 + 2.991204558170310e+00 + 2.984176069441633e+00 + 2.977164051262350e+00 + 2.970168464749357e+00 + 2.963189271462946e+00 + 2.956226433370632e+00 + 2.949279912203107e+00 + 2.942349669912605e+00 + 2.935435668735732e+00 + 2.928537870478263e+00 + 2.921656236941307e+00 + 2.914790730227295e+00 + 2.907941313056430e+00 + 2.901107948114753e+00 + 2.894290597705669e+00 + 2.887489224186201e+00 + 2.880703790004707e+00 + 2.873934257778331e+00 + 2.867180590721052e+00 + 2.860442752157053e+00 + 2.853720705060128e+00 + 2.847014412004529e+00 + 2.840323835735203e+00 + 2.833648939802342e+00 + 2.826989688360529e+00 + 2.820346045051714e+00 + 2.813717971838249e+00 + 2.807105432809830e+00 + 2.800508392739872e+00 + 2.793926814285955e+00 + 2.787360661385112e+00 + 2.780809898806732e+00 + 2.774274490318202e+00 + 2.767754399418414e+00 + 2.761249589980850e+00 + 2.754760027276096e+00 + 2.748285675987487e+00 + 2.741826499952791e+00 + 2.735382462817888e+00 + 2.728953529693038e+00 + 2.722539666591989e+00 + 2.716140837199994e+00 + 2.709757005928732e+00 + 2.703388138477217e+00 + 2.697034199719776e+00 + 2.690695154612969e+00 + 2.684370968516638e+00 + 2.678061606722120e+00 + 2.671767034388748e+00 + 2.665487216663756e+00 + 2.659222119420964e+00 + 2.652971708466898e+00 + 2.646735949170681e+00 + 2.640514807328682e+00 + 2.634308248813400e+00 + 2.628116239351709e+00 + 2.621938745026414e+00 + 2.615775731978081e+00 + 2.609627166192403e+00 + 2.603493014125890e+00 + 2.597373242133807e+00 + 2.591267815972944e+00 + 2.585176702619338e+00 + 2.579099869106871e+00 + 2.573037281022092e+00 + 2.566988905295047e+00 + 2.560954709471109e+00 + 2.554934660124372e+00 + 2.548928723658388e+00 + 2.542936866838776e+00 + 2.536959057454498e+00 + 2.530995262744329e+00 + 2.525045449466102e+00 + 2.519109584724339e+00 + 2.513187636248425e+00 + 2.507279571988880e+00 + 2.501385358975255e+00 + 2.495504964649074e+00 + 2.489638357011514e+00 + 2.483785503877440e+00 + 2.477946372993181e+00 + 2.472120932153270e+00 + 2.466309149445497e+00 + 2.460510993028623e+00 + 2.454726431004756e+00 + 2.448955431279121e+00 + 2.443197962222979e+00 + 2.437453992749473e+00 + 2.431723490873920e+00 + 2.426006424702946e+00 + 2.420302763016215e+00 + 2.414612474849150e+00 + 2.408935529060812e+00 + 2.403271894158963e+00 + 2.397621539164549e+00 + 2.391984432987164e+00 + 2.386360544006294e+00 + 2.380749841635097e+00 + 2.375152295549876e+00 + 2.369567874852914e+00 + 2.363996548806182e+00 + 2.358438286639424e+00 + 2.352893057314327e+00 + 2.347360830870365e+00 + 2.341841577523073e+00 + 2.336335266205249e+00 + 2.330841866367291e+00 + 2.325361348038680e+00 + 2.319893681430557e+00 + 2.314438836350213e+00 + 2.308996782525400e+00 + 2.303567490482044e+00 + 2.298150930506590e+00 + 2.292747072570897e+00 + 2.287355886755380e+00 + 2.281977343203661e+00 + 2.276611412298537e+00 + 2.271258065216148e+00 + 2.265917272602903e+00 + 2.260589004572198e+00 + 2.255273232290290e+00 + 2.249969926489583e+00 + 2.244679057245269e+00 + 2.239400595715412e+00 + 2.234134513404378e+00 + 2.228880781619142e+00 + 2.223639370658599e+00 + 2.218410251587366e+00 + 2.213193396784469e+00 + 2.207988776668006e+00 + 2.202796362022329e+00 + 2.197616125439223e+00 + 2.192448038696543e+00 + 2.187292072961057e+00 + 2.182148199232985e+00 + 2.177016389630072e+00 + 2.171896616273634e+00 + 2.166788850281173e+00 + 2.161693063906081e+00 + 2.156609229682959e+00 + 2.151537319229026e+00 + 2.146477304323076e+00 + 2.141429157241363e+00 + 2.136392850965788e+00 + 2.131368357474257e+00 + 2.126355648357996e+00 + 2.121354696293322e+00 + 2.116365474412895e+00 + 2.111387955644702e+00 + 2.106422111701483e+00 + 2.101467915161587e+00 + 2.096525339256323e+00 + 2.091594356269759e+00 + 2.086674939419586e+00 + 2.081767062556874e+00 + 2.076870697792070e+00 + 2.071985817585338e+00 + 2.067112395385072e+00 + 2.062250405333861e+00 + 2.057399820685575e+00 + 2.052560613690088e+00 + 2.047732757766644e+00 + 2.042916226752948e+00 + 2.038110994473384e+00 + 2.033317034456518e+00 + 2.028534320143143e+00 + 2.023762825026766e+00 + 2.019002522786289e+00 + 2.014253387371010e+00 + 2.009515392980107e+00 + 2.004788513366984e+00 + 2.000072722331970e+00 + 1.995367994084281e+00 + 1.990674302528751e+00 + 1.985991621875054e+00 + 1.981319927135009e+00 + 1.976659192144684e+00 + 1.972009390577169e+00 + 1.967370497271926e+00 + 1.962742487042732e+00 + 1.958125334423246e+00 + 1.953519013586483e+00 + 1.948923499307053e+00 + 1.944338766657414e+00 + 1.939764790288013e+00 + 1.935201544608222e+00 + 1.930649004305472e+00 + 1.926107145248571e+00 + 1.921575942429786e+00 + 1.917055370205972e+00 + 1.912545403920843e+00 + 1.908046018818900e+00 + 1.903557190023903e+00 + 1.899078893306255e+00 + 1.894611103753838e+00 + 1.890153795996532e+00 + 1.885706946418488e+00 + 1.881270530851602e+00 + 1.876844524133795e+00 + 1.872428902057808e+00 + 1.868023640555410e+00 + 1.863628715350075e+00 + 1.859244102235784e+00 + 1.854869776995271e+00 + 1.850505715382929e+00 + 1.846151893336109e+00 + 1.841808287113597e+00 + 1.837474873250078e+00 + 1.833151627500553e+00 + 1.828838525627810e+00 + 1.824535544058799e+00 + 1.820242659570220e+00 + 1.815959848693184e+00 + 1.811687087278560e+00 + 1.807424351697017e+00 + 1.803171618832717e+00 + 1.798928865872756e+00 + 1.794696068965575e+00 + 1.790473204047284e+00 + 1.786260248130819e+00 + 1.782057178544553e+00 + 1.777863972462110e+00 + 1.773680606381003e+00 + 1.769507057021776e+00 + 1.765343301422396e+00 + 1.761189316819223e+00 + 1.757045080431908e+00 + 1.752910569457795e+00 + 1.748785761158555e+00 + 1.744670632638435e+00 + 1.740565161064786e+00 + 1.736469324420783e+00 + 1.732383100261040e+00 + 1.728306465595185e+00 + 1.724239397824929e+00 + 1.720181874717039e+00 + 1.716133874165168e+00 + 1.712095373335323e+00 + 1.708066350172305e+00 + 1.704046783495335e+00 + 1.700036650108550e+00 + 1.696035927584721e+00 + 1.692044595228792e+00 + 1.688062630443701e+00 + 1.684090010658294e+00 + 1.680126714513943e+00 + 1.676172720475745e+00 + 1.672228006742128e+00 + 1.668292551293985e+00 + 1.664366332353613e+00 + 1.660449328407859e+00 + 1.656541518177628e+00 + 1.652642880144113e+00 + 1.648753392536404e+00 + 1.644873033459887e+00 + 1.641001782122826e+00 + 1.637139617814172e+00 + 1.633286518510287e+00 + 1.629442462986198e+00 + 1.625607430332010e+00 + 1.621781398816242e+00 + 1.617964347766720e+00 + 1.614156256896447e+00 + 1.610357104501046e+00 + 1.606566869528149e+00 + 1.602785531410984e+00 + 1.599013068753329e+00 + 1.595249460964023e+00 + 1.591494688099418e+00 + 1.587748729316499e+00 + 1.584011563661260e+00 + 1.580283170366302e+00 + 1.576563528988570e+00 + 1.572852618951484e+00 + 1.569150419635379e+00 + 1.565456911345500e+00 + 1.561772073862832e+00 + 1.558095886092752e+00 + 1.554428327545355e+00 + 1.550769378486889e+00 + 1.547119019605569e+00 + 1.543477229774924e+00 + 1.539843988467248e+00 + 1.536219276909035e+00 + 1.532603074921508e+00 + 1.528995362108325e+00 + 1.525396118748853e+00 + 1.521805324624735e+00 + 1.518222960029189e+00 + 1.514649006474386e+00 + 1.511083443428444e+00 + 1.507526250258141e+00 + 1.503977408416516e+00 + 1.500436898413773e+00 + 1.496904700394939e+00 + 1.493380795245864e+00 + 1.489865163193006e+00 + 1.486357784560608e+00 + 1.482858641108495e+00 + 1.479367713055452e+00 + 1.475884980161266e+00 + 1.472410424507970e+00 + 1.468944026943859e+00 + 1.465485767394345e+00 + 1.462035627142284e+00 + 1.458593587684006e+00 + 1.455159630175685e+00 + 1.451733734815932e+00 + 1.448315882934573e+00 + 1.444906056735074e+00 + 1.441504236540235e+00 + 1.438110403156542e+00 + 1.434724538391589e+00 + 1.431346623689521e+00 + 1.427976640530080e+00 + 1.424614570482120e+00 + 1.421260394583763e+00 + 1.417914094214416e+00 + 1.414575651360096e+00 + 1.411245047472556e+00 + 1.407922264020345e+00 + 1.404607282835409e+00 + 1.401300085863839e+00 + 1.398000654669480e+00 + 1.394708970355802e+00 + 1.391425015768138e+00 + 1.388148773421020e+00 + 1.384880223867722e+00 + 1.381619349200565e+00 + 1.378366132070768e+00 + 1.375120554406545e+00 + 1.371882598139520e+00 + 1.368652245409923e+00 + 1.365429478679455e+00 + 1.362214280063096e+00 + 1.359006631544336e+00 + 1.355806515436745e+00 + 1.352613914349998e+00 + 1.349428810943258e+00 + 1.346251187518860e+00 + 1.343081026346772e+00 + 1.339918309785753e+00 + 1.336763020411036e+00 + 1.333615141050152e+00 + 1.330474654669161e+00 + 1.327341544046787e+00 + 1.324215791384803e+00 + 1.321097378844990e+00 + 1.317986290481943e+00 + 1.314882509034005e+00 + 1.311786015892630e+00 + 1.308696795174431e+00 + 1.305614830505543e+00 + 1.302540104058677e+00 + 1.299472598550161e+00 + 1.296412297281467e+00 + 1.293359183920592e+00 + 1.290313241355424e+00 + 1.287274452437336e+00 + 1.284242800425524e+00 + 1.281218268758570e+00 + 1.278200840971845e+00 + 1.275190500607243e+00 + 1.272187230813499e+00 + 1.269191014801793e+00 + 1.266201836184906e+00 + 1.263219678244913e+00 + 1.260244524601725e+00 + 1.257276359774731e+00 + 1.254315166659556e+00 + 1.251360928048363e+00 + 1.248413628680403e+00 + 1.245473252809453e+00 + 1.242539783866816e+00 + 1.239613204552696e+00 + 1.236693499248504e+00 + 1.233780652886690e+00 + 1.230874648458874e+00 + 1.227975469917747e+00 + 1.225083101914005e+00 + 1.222197528080320e+00 + 1.219318732110022e+00 + 1.216446698153004e+00 + 1.213581411119631e+00 + 1.210722855169846e+00 + 1.207871013783067e+00 + 1.205025871252235e+00 + 1.202187412198626e+00 + 1.199355621285526e+00 + 1.196530482820713e+00 + 1.193711981112556e+00 + 1.190900100540550e+00 + 1.188094825240966e+00 + 1.185296139829988e+00 + 1.182504029475636e+00 + 1.179718478336080e+00 + 1.176939470878376e+00 + 1.174166992368249e+00 + 1.171401026812090e+00 + 1.168641558834780e+00 + 1.165888574598542e+00 + 1.163142057955574e+00 + 1.160401992993886e+00 + 1.157668365957760e+00 + 1.154941161055026e+00 + 1.152220362585152e+00 + 1.149505957086653e+00 + 1.146797929075238e+00 + 1.144096262593592e+00 + 1.141400943461258e+00 + 1.138711957183691e+00 + 1.136029288721929e+00 + 1.133352922646698e+00 + 1.130682844729473e+00 + 1.128019040871752e+00 + 1.125361495026299e+00 + 1.122710192813904e+00 + 1.120065120718956e+00 + 1.117426263156838e+00 + 1.114793605478939e+00 + 1.112167133798269e+00 + 1.109546832911627e+00 + 1.106932688501257e+00 + 1.104324686965964e+00 + 1.101722813149718e+00 + 1.099127052563592e+00 + 1.096537391606932e+00 + 1.093953815681381e+00 + 1.091376310184498e+00 + 1.088804860939953e+00 + 1.086239454210304e+00 + 1.083680075729654e+00 + 1.081126710640132e+00 + 1.078579345517792e+00 + 1.076037966489376e+00 + 1.073502558540405e+00 + 1.070973108232868e+00 + 1.068449602380304e+00 + 1.065932027008114e+00 + 1.063420367175204e+00 + 1.060914608734753e+00 + 1.058414739347230e+00 + 1.055920744292059e+00 + 1.053432609053344e+00 + 1.050950321750202e+00 + 1.048473868029229e+00 + 1.046003233045439e+00 + 1.043538404185668e+00 + 1.041079368203120e+00 + 1.038626111099421e+00 + 1.036178618557632e+00 + 1.033736877638818e+00 + 1.031300875738098e+00 + 1.028870598541307e+00 + 1.026446032279889e+00 + 1.024027163804816e+00 + 1.021613979927458e+00 + 1.019206467749757e+00 + 1.016804614201984e+00 + 1.014408404816817e+00 + 1.012017826403038e+00 + 1.009632866898133e+00 + 1.007253512894913e+00 + 1.004879750675442e+00 + 1.002511566831996e+00 + 1.000148949144661e+00 + 9.977918847145494e-01 + 9.954403597206510e-01 + 9.930943614528360e-01 + 9.907538771638876e-01 + 9.884188936740620e-01 + 9.860893982148410e-01 + 9.837653780132122e-01 + 9.814468200970017e-01 + 9.791337116433633e-01 + 9.768260399168340e-01 + 9.745237922184445e-01 + 9.722269558574113e-01 + 9.699355181124353e-01 + 9.676494662336389e-01 + 9.653687876978898e-01 + 9.630934699744002e-01 + 9.608235003289306e-01 + 9.585588662885656e-01 + 9.562995554410040e-01 + 9.540455551859868e-01 + 9.517968530931009e-01 + 9.495534368089285e-01 + 9.473152938858177e-01 + 9.450824119343849e-01 + 9.428547786515334e-01 + 9.406323818265262e-01 + 9.384152091378831e-01 + 9.362032482272097e-01 + 9.339964869112888e-01 + 9.317949130473703e-01 + 9.295985145023118e-01 + 9.274072791539573e-01 + 9.252211948367504e-01 + 9.230402494034374e-01 + 9.208644309329761e-01 + 9.186937274260252e-01 + 9.165281267878318e-01 + 9.143676170947915e-01 + 9.122121864230248e-01 + 9.100618228160294e-01 + 9.079165144228375e-01 + 9.057762494101416e-01 + 9.036410159434681e-01 + 9.015108022852656e-01 + 8.993855966397851e-01 + 8.972653871281971e-01 + 8.951501621417270e-01 + 8.930399100640233e-01 + 8.909346191274636e-01 + 8.888342777366450e-01 + 8.867388743114113e-01 + 8.846483971822027e-01 + 8.825628348501290e-01 + 8.804821758633001e-01 + 8.784064086961259e-01 + 8.763355218399448e-01 + 8.742695038377348e-01 + 8.722083433110044e-01 + 8.701520288632569e-01 + 8.681005490981059e-01 + 8.660538926659707e-01 + 8.640120483003465e-01 + 8.619750047630993e-01 + 8.599427507590320e-01 + 8.579152750196485e-01 + 8.558925663402844e-01 + 8.538746136199826e-01 + 8.518614056598554e-01 + 8.498529312415619e-01 + 8.478491793952468e-01 + 8.458501390477595e-01 + 8.438557990450950e-01 + 8.418661484572341e-01 + 8.398811762963594e-01 + 8.379008715007146e-01 + 8.359252231704962e-01 + 8.339542204095658e-01 + 8.319878522912720e-01 + 8.300261079597043e-01 + 8.280689765769632e-01 + 8.261164473121154e-01 + 8.241685093974929e-01 + 8.222251520716921e-01 + 8.202863645582569e-01 + 8.183521361157176e-01 + 8.164224560764958e-01 + 8.144973138478017e-01 + 8.125766987264839e-01 + 8.106606000443977e-01 + 8.087490072689457e-01 + 8.068419098143643e-01 + 8.049392971238847e-01 + 8.030411587461223e-01 + 8.011474841608780e-01 + 7.992582628576694e-01 + 7.973734844327619e-01 + 7.954931384582111e-01 + 7.936172145055983e-01 + 7.917457022017643e-01 + 7.898785912282000e-01 + 7.880158712799969e-01 + 7.861575320154112e-01 + 7.843035631939634e-01 + 7.824539546080472e-01 + 7.806086959262468e-01 + 7.787677769423338e-01 + 7.769311875560446e-01 + 7.750989176225404e-01 + 7.732709569908990e-01 + 7.714472955211897e-01 + 7.696279231052234e-01 + 7.678128297211314e-01 + 7.660020053954494e-01 + 7.641954400346342e-01 + 7.623931236302374e-01 + 7.605950462809293e-01 + 7.588011979868697e-01 + 7.570115688113509e-01 + 7.552261489288551e-01 + 7.534449284973839e-01 + 7.516678976340316e-01 + 7.498950464317325e-01 + 7.481263651057625e-01 + 7.463618439154999e-01 + 7.446014731170009e-01 + 7.428452429690515e-01 + 7.410931437272748e-01 + 7.393451656574506e-01 + 7.376012991597445e-01 + 7.358615346418724e-01 + 7.341258624174279e-01 + 7.323942728636854e-01 + 7.306667564033948e-01 + 7.289433034811010e-01 + 7.272239046205010e-01 + 7.255085503342084e-01 + 7.237972310231134e-01 + 7.220899372662432e-01 + 7.203866596915919e-01 + 7.186873887451811e-01 + 7.169921150530395e-01 + 7.153008293485266e-01 + 7.136135222426403e-01 + 7.119301843519804e-01 + 7.102508063464710e-01 + 7.085753789925818e-01 + 7.069038930034782e-01 + 7.052363390742027e-01 + 7.035727080638011e-01 + 7.019129907750439e-01 + 7.002571779481277e-01 + 6.986052604437083e-01 + 6.969572291357313e-01 + 6.953130748988353e-01 + 6.936727887020229e-01 + 6.920363614522840e-01 + 6.904037839913317e-01 + 6.887750473773369e-01 + 6.871501426160253e-01 + 6.855290605871678e-01 + 6.839117924040222e-01 + 6.822983292013320e-01 + 6.806886620123715e-01 + 6.790827818618205e-01 + 6.774806798407976e-01 + 6.758823471448717e-01 + 6.742877749381793e-01 + 6.726969543916550e-01 + 6.711098767181217e-01 + 6.695265330883416e-01 + 6.679469147191758e-01 + 6.663710129607012e-01 + 6.647988190816884e-01 + 6.632303243195694e-01 + 6.616655199754741e-01 + 6.601043974442724e-01 + 6.585469481315596e-01 + 6.569931633409668e-01 + 6.554430344698831e-01 + 6.538965529680326e-01 + 6.523537102216029e-01 + 6.508144977390269e-01 + 6.492789070902356e-01 + 6.477469297088367e-01 + 6.462185570471877e-01 + 6.446937806333431e-01 + 6.431725921186934e-01 + 6.416549831028872e-01 + 6.401409451291091e-01 + 6.386304698205402e-01 + 6.371235488250266e-01 + 6.356201737964903e-01 + 6.341203364004929e-01 + 6.326240283504814e-01 + 6.311312414023209e-01 + 6.296419672600960e-01 + 6.281561976359686e-01 + 6.266739242956670e-01 + 6.251951391194286e-01 + 6.237198339322255e-01 + 6.222480004492102e-01 + 6.207796305731890e-01 + 6.193147162378443e-01 + 6.178532493027741e-01 + 6.163952216645050e-01 + 6.149406252489860e-01 + 6.134894519984210e-01 + 6.120416938491114e-01 + 6.105973427932988e-01 + 6.091563909278429e-01 + 6.077188302116784e-01 + 6.062846526061169e-01 + 6.048538502614210e-01 + 6.034264152733694e-01 + 6.020023397068369e-01 + 6.005816156757759e-01 + 5.991642353027361e-01 + 5.977501907311656e-01 + 5.963394741611191e-01 + 5.949320777981851e-01 + 5.935279938331314e-01 + 5.921272144271874e-01 + 5.907297318514260e-01 + 5.893355384452119e-01 + 5.879446264415406e-01 + 5.865569881004723e-01 + 5.851726157460215e-01 + 5.837915017610071e-01 + 5.824136384878618e-01 + 5.810390182425506e-01 + 5.796676334763571e-01 + 5.782994765837256e-01 + 5.769345398883866e-01 + 5.755728159164172e-01 + 5.742142971757567e-01 + 5.728589760824728e-01 + 5.715068451452269e-01 + 5.701578968814059e-01 + 5.688121237820786e-01 + 5.674695184134964e-01 + 5.661300733449661e-01 + 5.647937811172017e-01 + 5.634606343850478e-01 + 5.621306258016221e-01 + 5.608037479323033e-01 + 5.594799934047830e-01 + 5.581593548937616e-01 + 5.568418251014721e-01 + 5.555273967809645e-01 + 5.542160626584934e-01 + 5.529078153599613e-01 + 5.516026476869607e-01 + 5.503005524879265e-01 + 5.490015224489507e-01 + 5.477055503706971e-01 + 5.464126291394721e-01 + 5.451227516109934e-01 + 5.438359105997491e-01 + 5.425520989229732e-01 + 5.412713094911021e-01 + 5.399935352390902e-01 + 5.387187691034094e-01 + 5.374470040087604e-01 + 5.361782329113639e-01 + 5.349124487848638e-01 + 5.336496445514358e-01 + 5.323898132502169e-01 + 5.311329480044003e-01 + 5.298790417206248e-01 + 5.286280874266170e-01 + 5.273800783238198e-01 + 5.261350074387794e-01 + 5.248928678300107e-01 + 5.236536526638225e-01 + 5.224173550711992e-01 + 5.211839681868924e-01 + 5.199534851768893e-01 + 5.187258992380968e-01 + 5.175012035574781e-01 + 5.162793913049719e-01 + 5.150604557657682e-01 + 5.138443902158373e-01 + 5.126311878387027e-01 + 5.114208419243966e-01 + 5.102133457996210e-01 + 5.090086927559088e-01 + 5.078068761246483e-01 + 5.066078892445277e-01 + 5.054117254264059e-01 + 5.042183780707232e-01 + 5.030278406156905e-01 + 5.018401064512819e-01 + 5.006551689399448e-01 + 4.994730214827681e-01 + 4.982936576173500e-01 + 4.971170708196209e-01 + 4.959432545161117e-01 + 4.947722021784954e-01 + 4.936039073158257e-01 + 4.924383634713059e-01 + 4.912755642215030e-01 + 4.901155031029966e-01 + 4.889581736357913e-01 + 4.878035694426762e-01 + 4.866516841617155e-01 + 4.855025114095978e-01 + 4.843560447562852e-01 + 4.832122778219742e-01 + 4.820712043014287e-01 + 4.809328179063641e-01 + 4.797971123302187e-01 + 4.786640812406847e-01 + 4.775337183184862e-01 + 4.764060173050261e-01 + 4.752809720122764e-01 + 4.741585762111217e-01 + 4.730388236459319e-01 + 4.719217080626099e-01 + 4.708072233097221e-01 + 4.696953632391141e-01 + 4.685861216425942e-01 + 4.674794923970907e-01 + 4.663754693817960e-01 + 4.652740464091041e-01 + 4.641752174102053e-01 + 4.630789763262008e-01 + 4.619853169869301e-01 + 4.608942333544824e-01 + 4.598057194461572e-01 + 4.587197692038988e-01 + 4.576363766028796e-01 + 4.565555356433393e-01 + 4.554772403132010e-01 + 4.544014845983438e-01 + 4.533282625263808e-01 + 4.522575682421708e-01 + 4.511893957834002e-01 + 4.501237391381080e-01 + 4.490605924783677e-01 + 4.479999499003729e-01 + 4.469418054464263e-01 + 4.458861533467765e-01 + 4.448329877503518e-01 + 4.437823027182840e-01 + 4.427340924804984e-01 + 4.416883512661691e-01 + 4.406450732493647e-01 + 4.396042525949710e-01 + 4.385658835318161e-01 + 4.375299603591805e-01 + 4.364964773180230e-01 + 4.354654286529535e-01 + 4.344368086449737e-01 + 4.334106115882546e-01 + 4.323868317973252e-01 + 4.313654636098987e-01 + 4.303465013528135e-01 + 4.293299393608014e-01 + 4.283157719943348e-01 + 4.273039936389254e-01 + 4.262945986862648e-01 + 4.252875815207442e-01 + 4.242829365388910e-01 + 4.232806581737543e-01 + 4.222807409163533e-01 + 4.212831792180283e-01 + 4.202879675160039e-01 + 4.192951002821390e-01 + 4.183045720190468e-01 + 4.173163772308877e-01 + 4.163305103895081e-01 + 4.153469660738844e-01 + 4.143657388899517e-01 + 4.133868232899575e-01 + 4.124102138463511e-01 + 4.114359052122226e-01 + 4.104638919136763e-01 + 4.094941685453110e-01 + 4.085267297797091e-01 + 4.075615702608746e-01 + 4.065986846247451e-01 + 4.056380675149961e-01 + 4.046797136100241e-01 + 4.037236175791848e-01 + 4.027697740867438e-01 + 4.018181778668817e-01 + 4.008688236537185e-01 + 3.999217061664900e-01 + 3.989768201804763e-01 + 3.980341604347806e-01 + 3.970937216243767e-01 + 3.961554986257766e-01 + 3.952194862561716e-01 + 3.942856791749246e-01 + 3.933540722797152e-01 + 3.924246604937682e-01 + 3.914974386057962e-01 + 3.905724013991230e-01 + 3.896495437210211e-01 + 3.887288605266558e-01 + 3.878103467384126e-01 + 3.868939972364765e-01 + 3.859798068708922e-01 + 3.850677705778728e-01 + 3.841578833358520e-01 + 3.832501400994028e-01 + 3.823445358203205e-01 + 3.814410654593080e-01 + 3.805397240004402e-01 + 3.796405064500310e-01 + 3.787434078281850e-01 + 3.778484231550217e-01 + 3.769555474293507e-01 + 3.760647756653435e-01 + 3.751761029803938e-01 + 3.742895244689736e-01 + 3.734050351897463e-01 + 3.725226302131253e-01 + 3.716423046174657e-01 + 3.707640535037849e-01 + 3.698878720450124e-01 + 3.690137553825144e-01 + 3.681416986254492e-01 + 3.672716969834960e-01 + 3.664037456169829e-01 + 3.655378396196581e-01 + 3.646739742353085e-01 + 3.638121447254376e-01 + 3.629523462980791e-01 + 3.620945741078652e-01 + 3.612388233782960e-01 + 3.603850894480597e-01 + 3.595333675652969e-01 + 3.586836529581271e-01 + 3.578359408972814e-01 + 3.569902267099870e-01 + 3.561465057284826e-01 + 3.553047732480240e-01 + 3.544650245489661e-01 + 3.536272549462773e-01 + 3.527914598373741e-01 + 3.519576346281267e-01 + 3.511257746893044e-01 + 3.502958753213151e-01 + 3.494679319027064e-01 + 3.486419398734283e-01 + 3.478178946841421e-01 + 3.469957917542031e-01 + 3.461756264906874e-01 + 3.453573943334770e-01 + 3.445410907466465e-01 + 3.437267112053919e-01 + 3.429142511753236e-01 + 3.421037061357636e-01 + 3.412950715914754e-01 + 3.404883430871680e-01 + 3.396835161220511e-01 + 3.388805861778083e-01 + 3.380795488742585e-01 + 3.372803997559251e-01 + 3.364831342820857e-01 + 3.356877480644493e-01 + 3.348942367473924e-01 + 3.341025959445759e-01 + 3.333128211902062e-01 + 3.325249080644813e-01 + 3.317388522349806e-01 + 3.309546493345364e-01 + 3.301722950123494e-01 + 3.293917849546400e-01 + 3.286131147929292e-01 + 3.278362801760134e-01 + 3.270612768173198e-01 + 3.262881004205997e-01 + 3.255167466776044e-01 + 3.247472112772871e-01 + 3.239794899591130e-01 + 3.232135784952971e-01 + 3.224494726613195e-01 + 3.216871681318617e-01 + 3.209266606147330e-01 + 3.201679460077643e-01 + 3.194110200806869e-01 + 3.186558785671545e-01 + 3.179025173467112e-01 + 3.171509322207308e-01 + 3.164011189537259e-01 + 3.156530734030461e-01 + 3.149067914068442e-01 + 3.141622688005587e-01 + 3.134195014964591e-01 + 3.126784853846941e-01 + 3.119392163234083e-01 + 3.112016901727622e-01 + 3.104659028247113e-01 + 3.097318502149898e-01 + 3.089995283319454e-01 + 3.082689330721005e-01 + 3.075400602663161e-01 + 3.068129059444455e-01 + 3.060874661234649e-01 + 3.053637367362504e-01 + 3.046417137079979e-01 + 3.039213930418579e-01 + 3.032027708160949e-01 + 3.024858429572295e-01 + 3.017706054435225e-01 + 3.010570543910775e-01 + 3.003451858060657e-01 + 2.996349956970866e-01 + 2.989264801519126e-01 + 2.982196352437723e-01 + 2.975144570351090e-01 + 2.968109415899733e-01 + 2.961090850010212e-01 + 2.954088833712375e-01 + 2.947103327960572e-01 + 2.940134293733013e-01 + 2.933181692489545e-01 + 2.926245486550200e-01 + 2.919325636534309e-01 + 2.912422103009782e-01 + 2.905534849067459e-01 + 2.898663836341845e-01 + 2.891809025716850e-01 + 2.884970379499296e-01 + 2.878147859946116e-01 + 2.871341429080666e-01 + 2.864551048929091e-01 + 2.857776681836698e-01 + 2.851018290276999e-01 + 2.844275836247271e-01 + 2.837549281975342e-01 + 2.830838590248334e-01 + 2.824143724756855e-01 + 2.817464648036653e-01 + 2.810801321714598e-01 + 2.804153709678348e-01 + 2.797521775256636e-01 + 2.790905480675208e-01 + 2.784304789557904e-01 + 2.777719665515425e-01 + 2.771150071618110e-01 + 2.764595971293084e-01 + 2.758057328280932e-01 + 2.751534106502780e-01 + 2.745026269461392e-01 + 2.738533780697315e-01 + 2.732056604090851e-01 + 2.725594703611444e-01 + 2.719148043516682e-01 + 2.712716588414341e-01 + 2.706300302048149e-01 + 2.699899148252890e-01 + 2.693513091897057e-01 + 2.687142097803046e-01 + 2.680786130525787e-01 + 2.674445154290628e-01 + 2.668119133864937e-01 + 2.661808034370396e-01 + 2.655511820876730e-01 + 2.649230457933240e-01 + 2.642963910212357e-01 + 2.636712143601993e-01 + 2.630475123173707e-01 + 2.624252813696634e-01 + 2.618045181320832e-01 + 2.611852191534089e-01 + 2.605673809346502e-01 + 2.599510000768786e-01 + 2.593360731482656e-01 + 2.587225966857610e-01 + 2.581105673020023e-01 + 2.574999816218594e-01 + 2.568908362541323e-01 + 2.562831277681717e-01 + 2.556768527608984e-01 + 2.550720078808991e-01 + 2.544685898158210e-01 + 2.538665952029344e-01 + 2.532660206235198e-01 + 2.526668627769018e-01 + 2.520691183671673e-01 + 2.514727840477828e-01 + 2.508778564832650e-01 + 2.502843323450471e-01 + 2.496922083184503e-01 + 2.491014811741685e-01 + 2.485121476502302e-01 + 2.479242043768022e-01 + 2.473376480750936e-01 + 2.467524755330193e-01 + 2.461686835577825e-01 + 2.455862688342147e-01 + 2.450052280577099e-01 + 2.444255580815592e-01 + 2.438472556710649e-01 + 2.432703175621061e-01 + 2.426947405763887e-01 + 2.421205215374063e-01 + 2.415476572469543e-01 + 2.409761444715131e-01 + 2.404059800179439e-01 + 2.398371607406130e-01 + 2.392696835287547e-01 + 2.387035451998669e-01 + 2.381387425460481e-01 + 2.375752724876774e-01 + 2.370131319015487e-01 + 2.364523176042576e-01 + 2.358928264341899e-01 + 2.353346553264918e-01 + 2.347778012643444e-01 + 2.342222610470114e-01 + 2.336680315481888e-01 + 2.331151097630285e-01 + 2.325634926002070e-01 + 2.320131769932555e-01 + 2.314641599195968e-01 + 2.309164382391606e-01 + 2.303700088852327e-01 + 2.298248689205450e-01 + 2.292810152383314e-01 + 2.287384447851956e-01 + 2.281971546639490e-01 + 2.276571417710518e-01 + 2.271184030444375e-01 + 2.265809356255705e-01 + 2.260447364485637e-01 + 2.255098024678978e-01 + 2.249761308577043e-01 + 2.244437185775247e-01 + 2.239125625576918e-01 + 2.233826599324974e-01 + 2.228540078061592e-01 + 2.223266032159731e-01 + 2.218004431318401e-01 + 2.212755246546400e-01 + 2.207518449320089e-01 + 2.202294009962271e-01 + 2.197081899542086e-01 + 2.191882089472320e-01 + 2.186694550184439e-01 + 2.181519252528444e-01 + 2.176356167922184e-01 + 2.171205268020538e-01 + 2.166066524055817e-01 + 2.160939907132310e-01 + 2.155825389406823e-01 + 2.150722942170351e-01 + 2.145632535999474e-01 + 2.140554143128364e-01 + 2.135487735713488e-01 + 2.130433285376680e-01 + 2.125390763961598e-01 + 2.120360143225986e-01 + 2.115341394866721e-01 + 2.110334491301104e-01 + 2.105339404911263e-01 + 2.100356107692428e-01 + 2.095384571593845e-01 + 2.090424768875718e-01 + 2.085476672286868e-01 + 2.080540254649787e-01 + 2.075615488420417e-01 + 2.070702345483775e-01 + 2.065800798220710e-01 + 2.060910819584345e-01 + 2.056032383022174e-01 + 2.051165461242101e-01 + 2.046310026800104e-01 + 2.041466052775261e-01 + 2.036633511978056e-01 + 2.031812377402102e-01 + 2.027002622847228e-01 + 2.022204221329609e-01 + 2.017417145657832e-01 + 2.012641369577989e-01 + 2.007876866366623e-01 + 2.003123609141739e-01 + 1.998381571847571e-01 + 1.993650728223044e-01 + 1.988931051658790e-01 + 1.984222515391579e-01 + 1.979525093566432e-01 + 1.974838760798574e-01 + 1.970163490394448e-01 + 1.965499255924087e-01 + 1.960846031634822e-01 + 1.956203792216227e-01 + 1.951572511456189e-01 + 1.946952162469976e-01 + 1.942342720345011e-01 + 1.937744160087473e-01 + 1.933156455855021e-01 + 1.928579581617409e-01 + 1.924013511601302e-01 + 1.919458220512063e-01 + 1.914913683490730e-01 + 1.910379875218400e-01 + 1.905856769690048e-01 + 1.901344342343178e-01 + 1.896842568245793e-01 + 1.892351421122624e-01 + 1.887870876905098e-01 + 1.883400911382459e-01 + 1.878941498265747e-01 + 1.874492612709913e-01 + 1.870054230608876e-01 + 1.865626327533365e-01 + 1.861208878413260e-01 + 1.856801858136446e-01 + 1.852405242290795e-01 + 1.848019006561455e-01 + 1.843643126785636e-01 + 1.839277579090688e-01 + 1.834922338318696e-01 + 1.830577379260484e-01 + 1.826242679175190e-01 + 1.821918214082343e-01 + 1.817603959062191e-01 + 1.813299890419420e-01 + 1.809005984096844e-01 + 1.804722215715290e-01 + 1.800448561676805e-01 + 1.796184998471616e-01 + 1.791931502428031e-01 + 1.787688049585256e-01 + 1.783454616010165e-01 + 1.779231178061076e-01 + 1.775017712916434e-01 + 1.770814197185338e-01 + 1.766620606643876e-01 + 1.762436917707559e-01 + 1.758263107475443e-01 + 1.754099153420786e-01 + 1.749945031691721e-01 + 1.745800718793870e-01 + 1.741666192327871e-01 + 1.737541428912765e-01 + 1.733426405128906e-01 + 1.729321098263452e-01 + 1.725225486037993e-01 + 1.721139545737653e-01 + 1.717063253659770e-01 + 1.712996586978482e-01 + 1.708939523524782e-01 + 1.704892041326627e-01 + 1.700854117308264e-01 + 1.696825728315613e-01 + 1.692806852413719e-01 + 1.688797467224855e-01 + 1.684797550119726e-01 + 1.680807078836749e-01 + 1.676826031516292e-01 + 1.672854386236076e-01 + 1.668892120257625e-01 + 1.664939211364053e-01 + 1.660995637803862e-01 + 1.657061377653481e-01 + 1.653136408872399e-01 + 1.649220709518862e-01 + 1.645314258210089e-01 + 1.641417032838678e-01 + 1.637529010922642e-01 + 1.633650171697226e-01 + 1.629780493848234e-01 + 1.625919955117979e-01 + 1.622068533722165e-01 + 1.618226208359533e-01 + 1.614392958070308e-01 + 1.610568761629498e-01 + 1.606753597398519e-01 + 1.602947443525945e-01 + 1.599150279328092e-01 + 1.595362083976419e-01 + 1.591582835876941e-01 + 1.587812513806259e-01 + 1.584051096895935e-01 + 1.580298564486488e-01 + 1.576554895336735e-01 + 1.572820068494865e-01 + 1.569094063844064e-01 + 1.565376859935812e-01 + 1.561668435389086e-01 + 1.557968770322644e-01 + 1.554277844430587e-01 + 1.550595637013555e-01 + 1.546922127252644e-01 + 1.543257294352004e-01 + 1.539601117962810e-01 + 1.535953578647676e-01 + 1.532314655336160e-01 + 1.528684326732572e-01 + 1.525062574192351e-01 + 1.521449377506904e-01 + 1.517844715391133e-01 + 1.514248568043021e-01 + 1.510660915767141e-01 + 1.507081738546517e-01 + 1.503511015850067e-01 + 1.499948728018673e-01 + 1.496394855976185e-01 + 1.492849379312514e-01 + 1.489312277844460e-01 + 1.485783532079666e-01 + 1.482263122946834e-01 + 1.478751030581660e-01 + 1.475247234388987e-01 + 1.471751715323068e-01 + 1.468264454469171e-01 + 1.464785432366154e-01 + 1.461314629165984e-01 + 1.457852025452889e-01 + 1.454397602433564e-01 + 1.450951340257908e-01 + 1.447513219420110e-01 + 1.444083221508569e-01 + 1.440661327109938e-01 + 1.437247516822454e-01 + 1.433841772072484e-01 + 1.430444073901374e-01 + 1.427054403077353e-01 + 1.423672740371242e-01 + 1.420299067307786e-01 + 1.416933365389871e-01 + 1.413575615237460e-01 + 1.410225798197031e-01 + 1.406883895901710e-01 + 1.403549889435149e-01 + 1.400223760032770e-01 + 1.396905489310608e-01 + 1.393595059398338e-01 + 1.390292451224472e-01 + 1.386997645496112e-01 + 1.383710625136722e-01 + 1.380431371824567e-01 + 1.377159866326167e-01 + 1.373896091055998e-01 + 1.370640027752214e-01 + 1.367391657592925e-01 + 1.364150963290927e-01 + 1.360917926783734e-01 + 1.357692529162330e-01 + 1.354474752994454e-01 + 1.351264580487222e-01 + 1.348061993122180e-01 + 1.344866973181728e-01 + 1.341679503229942e-01 + 1.338499565682958e-01 + 1.335327142013654e-01 + 1.332162214320106e-01 + 1.329004765902875e-01 + 1.325854779258548e-01 + 1.322712236439755e-01 + 1.319577119415115e-01 + 1.316449410589970e-01 + 1.313329092858229e-01 + 1.310216149439378e-01 + 1.307110562100912e-01 + 1.304012313067827e-01 + 1.300921386594473e-01 + 1.297837764741680e-01 + 1.294761429396481e-01 + 1.291692364743583e-01 + 1.288630553353233e-01 + 1.285575977268189e-01 + 1.282528620001082e-01 + 1.279488464604472e-01 + 1.276455493846629e-01 + 1.273429690961771e-01 + 1.270411039265308e-01 + 1.267399521912149e-01 + 1.264395121606617e-01 + 1.261397821624623e-01 + 1.258407605612416e-01 + 1.255424456647032e-01 + 1.252448358003494e-01 + 1.249479293256652e-01 + 1.246517245985584e-01 + 1.243562199440227e-01 + 1.240614136699035e-01 + 1.237673041530004e-01 + 1.234738897833225e-01 + 1.231811689369122e-01 + 1.228891399541342e-01 + 1.225978011897444e-01 + 1.223071510285007e-01 + 1.220171878485729e-01 + 1.217279100221359e-01 + 1.214393159216827e-01 + 1.211514039479249e-01 + 1.208641725134118e-01 + 1.205776200272462e-01 + 1.202917448643591e-01 + 1.200065453999493e-01 + 1.197220200388544e-01 + 1.194381672203820e-01 + 1.191549853738593e-01 + 1.188724728867774e-01 + 1.185906281982059e-01 + 1.183094497403516e-01 + 1.180289358802264e-01 + 1.177490851172322e-01 + 1.174698959467804e-01 + 1.171913666738082e-01 + 1.169134957966049e-01 + 1.166362818664215e-01 + 1.163597231976005e-01 + 1.160838182295854e-01 + 1.158085654926154e-01 + 1.155339634301463e-01 + 1.152600105152270e-01 + 1.149867052503320e-01 + 1.147140461081585e-01 + 1.144420315115333e-01 + 1.141706598827868e-01 + 1.138999297876022e-01 + 1.136298397724347e-01 + 1.133603883121320e-01 + 1.130915738073908e-01 + 1.128233947404400e-01 + 1.125558496925181e-01 + 1.122889371862514e-01 + 1.120226557224089e-01 + 1.117570037925019e-01 + 1.114919798574519e-01 + 1.112275824488763e-01 + 1.109638101830490e-01 + 1.107006615250319e-01 + 1.104381349837027e-01 + 1.101762291935612e-01 + 1.099149425817940e-01 + 1.096542736337556e-01 + 1.093942210611990e-01 + 1.091347833750166e-01 + 1.088759590309823e-01 + 1.086177465849946e-01 + 1.083601446468375e-01 + 1.081031518187680e-01 + 1.078467666394599e-01 + 1.075909876365943e-01 + 1.073358133695979e-01 + 1.070812424691808e-01 + 1.068272734935852e-01 + 1.065739049762412e-01 + 1.063211355273724e-01 + 1.060689637753818e-01 + 1.058173883167701e-01 + 1.055664076522099e-01 + 1.053160204177178e-01 + 1.050662253083730e-01 + 1.048170208178578e-01 + 1.045684055544151e-01 + 1.043203782231123e-01 + 1.040729373745031e-01 + 1.038260815947437e-01 + 1.035798095388146e-01 + 1.033341198496129e-01 + 1.030890111353506e-01 + 1.028444819874746e-01 + 1.026005310752415e-01 + 1.023571570589419e-01 + 1.021143585605686e-01 + 1.018721342063349e-01 + 1.016304826397723e-01 + 1.013894025261397e-01 + 1.011488925387934e-01 + 1.009089513225976e-01 + 1.006695774897203e-01 + 1.004307697412456e-01 + 1.001925267601519e-01 + 9.995484714928184e-02 + 9.971772961029543e-02 + 9.948117285600222e-02 + 9.924517553207431e-02 + 9.900973631553432e-02 + 9.877485389836264e-02 + 9.854052696321766e-02 + 9.830675420513860e-02 + 9.807353432053509e-02 + 9.784086599274402e-02 + 9.760874792461041e-02 + 9.737717882679013e-02 + 9.714615739564664e-02 + 9.691568233864475e-02 + 9.668575237168565e-02 + 9.645636620785530e-02 + 9.622752256709627e-02 + 9.599922017186617e-02 + 9.577145773476621e-02 + 9.554423398421420e-02 + 9.531754766036228e-02 + 9.509139748951084e-02 + 9.486578220406576e-02 + 9.464070054491446e-02 + 9.441615125061270e-02 + 9.419213306609350e-02 + 9.396864474309072e-02 + 9.374568502973517e-02 + 9.352325267700241e-02 + 9.330134644110695e-02 + 9.307996508088016e-02 + 9.285910736057421e-02 + 9.263877204899980e-02 + 9.241895790580944e-02 + 9.219966369924239e-02 + 9.198088821288498e-02 + 9.176263021506216e-02 + 9.154488848131032e-02 + 9.132766180778470e-02 + 9.111094897456264e-02 + 9.089474876186458e-02 + 9.067905996494766e-02 + 9.046388137755315e-02 + 9.024921179550818e-02 + 9.003505002157913e-02 + 8.982139485394958e-02 + 8.960824509461397e-02 + 8.939559956013639e-02 + 8.918345705664489e-02 + 8.897181638949078e-02 + 8.876067638185769e-02 + 8.855003585659860e-02 + 8.833989363307079e-02 + 8.813024852794749e-02 + 8.792109937217552e-02 + 8.771244500411417e-02 + 8.750428424959714e-02 + 8.729661594151820e-02 + 8.708943892038122e-02 + 8.688275202450782e-02 + 8.667655409894154e-02 + 8.647084399500883e-02 + 8.626562056133152e-02 + 8.606088264727801e-02 + 8.585662910508592e-02 + 8.565285879275303e-02 + 8.544957056834111e-02 + 8.524676329099723e-02 + 8.504443583456130e-02 + 8.484258706983651e-02 + 8.464121585953427e-02 + 8.444032107793580e-02 + 8.423990160173883e-02 + 8.403995630660985e-02 + 8.384048408000297e-02 + 8.364148380739438e-02 + 8.344295436518863e-02 + 8.324489464319758e-02 + 8.304730353631981e-02 + 8.285017993778075e-02 + 8.265352274723796e-02 + 8.245733086610936e-02 + 8.226160319325253e-02 + 8.206633863307464e-02 + 8.187153609323948e-02 + 8.167719448173898e-02 + 8.148331271120264e-02 + 8.128988969775824e-02 + 8.109692435907066e-02 + 8.090441561287741e-02 + 8.071236238052074e-02 + 8.052076359329230e-02 + 8.032961817777003e-02 + 8.013892505875637e-02 + 7.994868317110082e-02 + 7.975889145271257e-02 + 7.956954884117817e-02 + 7.938065427030368e-02 + 7.919220668490153e-02 + 7.900420503735811e-02 + 7.881664826626886e-02 + 7.862953532075569e-02 + 7.844286516277023e-02 + 7.825663674598571e-02 + 7.807084902471831e-02 + 7.788550095723919e-02 + 7.770059150356423e-02 + 7.751611963202924e-02 + 7.733208431808952e-02 + 7.714848452080215e-02 + 7.696531920714285e-02 + 7.678258736267791e-02 + 7.660028796508990e-02 + 7.641841999039113e-02 + 7.623698241865759e-02 + 7.605597423593993e-02 + 7.587539442823407e-02 + 7.569524197859213e-02 + 7.551551588287067e-02 + 7.533621514035872e-02 + 7.515733874432233e-02 + 7.497888568830134e-02 + 7.480085497230264e-02 + 7.462324560850588e-02 + 7.444605660139321e-02 + 7.426928695221670e-02 + 7.409293566891996e-02 + 7.391700176673981e-02 + 7.374148426439617e-02 + 7.356638217848553e-02 + 7.339169452681224e-02 + 7.321742033027905e-02 + 7.304355861552074e-02 + 7.287010840815517e-02 + 7.269706873346385e-02 + 7.252443862192341e-02 + 7.235221710900047e-02 + 7.218040323296335e-02 + 7.200899602923243e-02 + 7.183799453782064e-02 + 7.166739780328910e-02 + 7.149720486628935e-02 + 7.132741477295296e-02 + 7.115802657678706e-02 + 7.098903933028558e-02 + 7.082045208266741e-02 + 7.065226388294948e-02 + 7.048447379884398e-02 + 7.031708089501212e-02 + 7.015008422428966e-02 + 6.998348285005500e-02 + 6.981727584178653e-02 + 6.965146227138255e-02 + 6.948604121024822e-02 + 6.932101172952453e-02 + 6.915637290177927e-02 + 6.899212381049466e-02 + 6.882826353831664e-02 + 6.866479115768206e-02 + 6.850170575553913e-02 + 6.833900642241270e-02 + 6.817669223943085e-02 + 6.801476230171261e-02 + 6.785321570853013e-02 + 6.769205154760372e-02 + 6.753126891476798e-02 + 6.737086691265436e-02 + 6.721084464422118e-02 + 6.705120121123045e-02 + 6.689193571639933e-02 + 6.673304726820108e-02 + 6.657453497707803e-02 + 6.641639795452120e-02 + 6.625863531334618e-02 + 6.610124617104705e-02 + 6.594422964866814e-02 + 6.578758486543299e-02 + 6.563131094165708e-02 + 6.547540700031643e-02 + 6.531987216906585e-02 + 6.516470557837332e-02 + 6.500990635997374e-02 + 6.485547364331327e-02 + 6.470140656204018e-02 + 6.454770425495959e-02 + 6.439436585565442e-02 + 6.424139050518185e-02 + 6.408877735587415e-02 + 6.393652554954243e-02 + 6.378463422860429e-02 + 6.363310254304622e-02 + 6.348192964216136e-02 + 6.333111467891862e-02 + 6.318065681259971e-02 + 6.303055519506789e-02 + 6.288080898167979e-02 + 6.273141734118348e-02 + 6.258237943694549e-02 + 6.243369443027962e-02 + 6.228536148636779e-02 + 6.213737977420020e-02 + 6.198974846629291e-02 + 6.184246673830131e-02 + 6.169553375986874e-02 + 6.154894870195880e-02 + 6.140271075002260e-02 + 6.125681908485271e-02 + 6.111127288458502e-02 + 6.096607133498923e-02 + 6.082121362330186e-02 + 6.067669893778977e-02 + 6.053252647002724e-02 + 6.038869541057570e-02 + 6.024520494995262e-02 + 6.010205428441878e-02 + 5.995924261312039e-02 + 5.981676913606451e-02 + 5.967463305068377e-02 + 5.953283356000520e-02 + 5.939136987405440e-02 + 5.925024120274393e-02 + 5.910944675075109e-02 + 5.896898572024133e-02 + 5.882885733338872e-02 + 5.868906080796419e-02 + 5.854959534943303e-02 + 5.841046018167366e-02 + 5.827165452667381e-02 + 5.813317759547484e-02 + 5.799502862000658e-02 + 5.785720683145133e-02 + 5.771971144629215e-02 + 5.758254169802959e-02 + 5.744569682168989e-02 + 5.730917604038396e-02 + 5.717297859181381e-02 + 5.703710371771920e-02 + 5.690155065150715e-02 + 5.676631863514842e-02 + 5.663140691176988e-02 + 5.649681471550019e-02 + 5.636254129818796e-02 + 5.622858591623749e-02 + 5.609494780637568e-02 + 5.596162621719655e-02 + 5.582862040612746e-02 + 5.569592962469259e-02 + 5.556355312969728e-02 + 5.543149018219354e-02 + 5.529974004038473e-02 + 5.516830196534387e-02 + 5.503717522021812e-02 + 5.490635906464716e-02 + 5.477585276550550e-02 + 5.464565559606692e-02 + 5.451576682310098e-02 + 5.438618571514530e-02 + 5.425691154653305e-02 + 5.412794360021059e-02 + 5.399928115030668e-02 + 5.387092346220070e-02 + 5.374286982722595e-02 + 5.361511953114147e-02 + 5.348767184376742e-02 + 5.336052605560348e-02 + 5.323368145967647e-02 + 5.310713734132736e-02 + 5.298089299097181e-02 + 5.285494769998652e-02 + 5.272930075794034e-02 + 5.260395145882699e-02 + 5.247889910164562e-02 + 5.235414299012888e-02 + 5.222968242359068e-02 + 5.210551670083303e-02 + 5.198164512479836e-02 + 5.185806699751586e-02 + 5.173478162567831e-02 + 5.161178832737659e-02 + 5.148908640731603e-02 + 5.136667516904735e-02 + 5.124455393713079e-02 + 5.112272202541198e-02 + 5.100117874145336e-02 + 5.087992340415878e-02 + 5.075895533879782e-02 + 5.063827387090040e-02 + 5.051787831631814e-02 + 5.039776799903027e-02 + 5.027794224956293e-02 + 5.015840039018700e-02 + 5.003914174911826e-02 + 4.992016566217095e-02 + 4.980147146451835e-02 + 4.968305848565534e-02 + 4.956492605368701e-02 + 4.944707351707827e-02 + 4.932950021762891e-02 + 4.921220548403189e-02 + 4.909518865563611e-02 + 4.897844908008390e-02 + 4.886198610990230e-02 + 4.874579909103274e-02 + 4.862988736593407e-02 + 4.851425027765261e-02 + 4.839888718215429e-02 + 4.828379743688660e-02 + 4.816898039344981e-02 + 4.805443540666063e-02 + 4.794016183433197e-02 + 4.782615903628512e-02 + 4.771242637003347e-02 + 4.759896319572905e-02 + 4.748576888074151e-02 + 4.737284278529100e-02 + 4.726018427180961e-02 + 4.714779271742187e-02 + 4.703566749191604e-02 + 4.692380796083007e-02 + 4.681221349433169e-02 + 4.670088346648602e-02 + 4.658981725459431e-02 + 4.647901423861556e-02 + 4.636847379587147e-02 + 4.625819530165282e-02 + 4.614817813294777e-02 + 4.603842167462240e-02 + 4.592892531626435e-02 + 4.581968844113481e-02 + 4.571071043517037e-02 + 4.560199068716930e-02 + 4.549352858172214e-02 + 4.538532351139604e-02 + 4.527737487551017e-02 + 4.516968206047602e-02 + 4.506224446147816e-02 + 4.495506148526871e-02 + 4.484813252205796e-02 + 4.474145696749865e-02 + 4.463503423038843e-02 + 4.452886371233129e-02 + 4.442294481444441e-02 + 4.431727694184067e-02 + 4.421185950249874e-02 + 4.410669190344264e-02 + 4.400177354999718e-02 + 4.389710385863231e-02 + 4.379268224561385e-02 + 4.368850811842072e-02 + 4.358458089102907e-02 + 4.348089998166713e-02 + 4.337746480946211e-02 + 4.327427479290449e-02 + 4.317132935104961e-02 + 4.306862790538591e-02 + 4.296616988021409e-02 + 4.286395470044128e-02 + 4.276198178905291e-02 + 4.266025057462805e-02 + 4.255876048879523e-02 + 4.245751096050290e-02 + 4.235650142249979e-02 + 4.225573130868781e-02 + 4.215520004666404e-02 + 4.205490707118502e-02 + 4.195485182346907e-02 + 4.185503374212908e-02 + 4.175545226547943e-02 + 4.165610683241490e-02 + 4.155699688308426e-02 + 4.145812186261490e-02 + 4.135948121993713e-02 + 4.126107439911159e-02 + 4.116290084444992e-02 + 4.106496000347922e-02 + 4.096725133001662e-02 + 4.086977427671171e-02 + 4.077252829257245e-02 + 4.067551282880393e-02 + 4.057872734137224e-02 + 4.048217129089726e-02 + 4.038584413229004e-02 + 4.028974532214836e-02 + 4.019387432351806e-02 + 4.009823059884492e-02 + 4.000281360871143e-02 + 3.990762281263916e-02 + 3.981265768084040e-02 + 3.971791768404272e-02 + 3.962340228400397e-02 + 3.952911094818634e-02 + 3.943504314911767e-02 + 3.934119836154264e-02 + 3.924757605343093e-02 + 3.915417569553582e-02 + 3.906099677494528e-02 + 3.896803876462888e-02 + 3.887530113159737e-02 + 3.878278335807980e-02 + 3.869048493136602e-02 + 3.859840533540703e-02 + 3.850654403935494e-02 + 3.841490053099362e-02 + 3.832347430867683e-02 + 3.823226484521238e-02 + 3.814127162485314e-02 + 3.805049414568009e-02 + 3.795993189727254e-02 + 3.786958436838804e-02 + 3.777945104950908e-02 + 3.768953143238456e-02 + 3.759982501241896e-02 + 3.751033128919119e-02 + 3.742104976390229e-02 + 3.733197993101921e-02 + 3.724312127956968e-02 + 3.715447331892652e-02 + 3.706603555538170e-02 + 3.697780748276271e-02 + 3.688978860838169e-02 + 3.680197844047203e-02 + 3.671437648083043e-02 + 3.662698223859462e-02 + 3.653979522528233e-02 + 3.645281495050149e-02 + 3.636604092401768e-02 + 3.627947265609178e-02 + 3.619310965841749e-02 + 3.610695145022991e-02 + 3.602099755007137e-02 + 3.593524746722872e-02 + 3.584970072102484e-02 + 3.576435683502647e-02 + 3.567921532660211e-02 + 3.559427571435374e-02 + 3.550953752116312e-02 + 3.542500027693078e-02 + 3.534066350384148e-02 + 3.525652672170999e-02 + 3.517258946309138e-02 + 3.508885125628003e-02 + 3.500531162678291e-02 + 3.492197010940873e-02 + 3.483882623525817e-02 + 3.475587953263527e-02 + 3.467312953919303e-02 + 3.459057578876406e-02 + 3.450821781198862e-02 + 3.442605515251815e-02 + 3.434408734999198e-02 + 3.426231393723483e-02 + 3.418073445581654e-02 + 3.409934844816886e-02 + 3.401815545480084e-02 + 3.393715501912345e-02 + 3.385634668688416e-02 + 3.377573000557660e-02 + 3.369530452244349e-02 + 3.361506978424043e-02 + 3.353502533757853e-02 + 3.345517073173793e-02 + 3.337550551749302e-02 + 3.329602924688495e-02 + 3.321674147756795e-02 + 3.313764176353938e-02 + 3.305872964905672e-02 + 3.298000469915312e-02 + 3.290146647870388e-02 + 3.282311452928582e-02 + 3.274494841443989e-02 + 3.266696770524984e-02 + 3.258917195579586e-02 + 3.251156072835543e-02 + 3.243413358906379e-02 + 3.235689009597382e-02 + 3.227982981604406e-02 + 3.220295232152501e-02 + 3.212625717796667e-02 + 3.204974395335523e-02 + 3.197341221860803e-02 + 3.189726154412311e-02 + 3.182129149811844e-02 + 3.174550164996338e-02 + 3.166989158019418e-02 + 3.159446086552403e-02 + 3.151920907660396e-02 + 3.144413578635114e-02 + 3.136924057603768e-02 + 3.129452303273958e-02 + 3.121998273049806e-02 + 3.114561924523454e-02 + 3.107143216011856e-02 + 3.099742105799270e-02 + 3.092358552474080e-02 + 3.084992514925186e-02 + 3.077643951122557e-02 + 3.070312819305190e-02 + 3.062999078663620e-02 + 3.055702688363699e-02 + 3.048423607160382e-02 + 3.041161793396379e-02 + 3.033917207015753e-02 + 3.026689807846873e-02 + 3.019479554128978e-02 + 3.012286404982057e-02 + 3.005110320361238e-02 + 2.997951260681279e-02 + 2.990809185255966e-02 + 2.983684053226568e-02 + 2.976575824919644e-02 + 2.969484460522792e-02 + 2.962409920087884e-02 + 2.955352163824170e-02 + 2.948311151647172e-02 + 2.941286843696999e-02 + 2.934279201383451e-02 + 2.927288185012002e-02 + 2.920313754405053e-02 + 2.913355871301240e-02 + 2.906414496442064e-02 + 2.899489589842786e-02 + 2.892581113440367e-02 + 2.885689028447655e-02 + 2.878813295173805e-02 + 2.871953875071393e-02 + 2.865110730129668e-02 + 2.858283822298987e-02 + 2.851473112218837e-02 + 2.844678561226344e-02 + 2.837900131834860e-02 + 2.831137785774055e-02 + 2.824391484910513e-02 + 2.817661191561155e-02 + 2.810946867322990e-02 + 2.804248474261467e-02 + 2.797565975421473e-02 + 2.790899332866750e-02 + 2.784248508684310e-02 + 2.777613465729838e-02 + 2.770994166752542e-02 + 2.764390574354870e-02 + 2.757802651096095e-02 + 2.751230360164656e-02 + 2.744673664902718e-02 + 2.738132528259552e-02 + 2.731606912935157e-02 + 2.725096782054994e-02 + 2.718602099881922e-02 + 2.712122829441404e-02 + 2.705658933533107e-02 + 2.699210376654040e-02 + 2.692777122629619e-02 + 2.686359134766074e-02 + 2.679956376855050e-02 + 2.673568813034148e-02 + 2.667196407449100e-02 + 2.660839123653040e-02 + 2.654496925932325e-02 + 2.648169779209303e-02 + 2.641857647953893e-02 + 2.635560496230991e-02 + 2.629278288047702e-02 + 2.623010988365326e-02 + 2.616758562366618e-02 + 2.610520975031933e-02 + 2.604298190560967e-02 + 2.598090173551063e-02 + 2.591896889422694e-02 + 2.585718303968204e-02 + 2.579554382343284e-02 + 2.573405088890056e-02 + 2.567270388987125e-02 + 2.561150248485746e-02 + 2.555044633271165e-02 + 2.548953508798725e-02 + 2.542876840653832e-02 + 2.536814594843316e-02 + 2.530766736730480e-02 + 2.524733231969847e-02 + 2.518714047250964e-02 + 2.512709148651639e-02 + 2.506718502244662e-02 + 2.500742074738894e-02 + 2.494779831751132e-02 + 2.488831739145854e-02 + 2.482897764751662e-02 + 2.476977875068464e-02 + 2.471072035836960e-02 + 2.465180213557270e-02 + 2.459302375909131e-02 + 2.453438490494015e-02 + 2.447588522684439e-02 + 2.441752439632618e-02 + 2.435930209686822e-02 + 2.430121799563831e-02 + 2.424327176191257e-02 + 2.418546306971884e-02 + 2.412779159320392e-02 + 2.407025701015483e-02 + 2.401285899981317e-02 + 2.395559723318545e-02 + 2.389847138352894e-02 + 2.384148113010493e-02 + 2.378462615809818e-02 + 2.372790614977233e-02 + 2.367132078182184e-02 + 2.361486973012364e-02 + 2.355855267628842e-02 + 2.350236930912776e-02 + 2.344631931433045e-02 + 2.339040237260871e-02 + 2.333461816188979e-02 + 2.327896637661412e-02 + 2.322344670789084e-02 + 2.316805883183489e-02 + 2.311280243515378e-02 + 2.305767721100430e-02 + 2.300268285332459e-02 + 2.294781904779433e-02 + 2.289308548135576e-02 + 2.283848185163481e-02 + 2.278400785322520e-02 + 2.272966317657758e-02 + 2.267544750906289e-02 + 2.262136054576819e-02 + 2.256740198705395e-02 + 2.251357153295969e-02 + 2.245986887460843e-02 + 2.240629370372433e-02 + 2.235284572997816e-02 + 2.229952464835474e-02 + 2.224633014749699e-02 + 2.219326193897085e-02 + 2.214031972536749e-02 + 2.208750320104361e-02 + 2.203481207216736e-02 + 2.198224604054712e-02 + 2.192980480490446e-02 + 2.187748807809197e-02 + 2.182529556587840e-02 + 2.177322696546572e-02 + 2.172128198614426e-02 + 2.166946034002218e-02 + 2.161776173674180e-02 + 2.156618587797776e-02 + 2.151473246970182e-02 + 2.146340122648612e-02 + 2.141219186176581e-02 + 2.136110408595206e-02 + 2.131013760699968e-02 + 2.125929213929720e-02 + 2.120856739943827e-02 + 2.115796310282077e-02 + 2.110747896148574e-02 + 2.105711468773744e-02 + 2.100686999708853e-02 + 2.095674460640470e-02 + 2.090673823470377e-02 + 2.085685060390323e-02 + 2.080708143284909e-02 + 2.075743043865024e-02 + 2.070789733896461e-02 + 2.065848185338519e-02 + 2.060918370358626e-02 + 2.056000261352416e-02 + 2.051093830731156e-02 + 2.046199050841276e-02 + 2.041315893918832e-02 + 2.036444332670061e-02 + 2.031584339811113e-02 + 2.026735887003067e-02 + 2.021898947028043e-02 + 2.017073493461869e-02 + 2.012259498752183e-02 + 2.007456935661649e-02 + 2.002665777297167e-02 + 1.997885996051357e-02 + 1.993117564943755e-02 + 1.988360457741823e-02 + 1.983614647798445e-02 + 1.978880107994216e-02 + 1.974156811085027e-02 + 1.969444731166336e-02 + 1.964743841723802e-02 + 1.960054115227784e-02 + 1.955375525837354e-02 + 1.950708047707909e-02 + 1.946051654129042e-02 + 1.941406318497287e-02 + 1.936772014474174e-02 + 1.932148716119990e-02 + 1.927536398140690e-02 + 1.922935034564512e-02 + 1.918344598004621e-02 + 1.913765063001423e-02 + 1.909196404425976e-02 + 1.904638595925336e-02 + 1.900091612254435e-02 + 1.895555428061772e-02 + 1.891030016469744e-02 + 1.886515352637163e-02 + 1.882011411999479e-02 + 1.877518167521970e-02 + 1.873035594232305e-02 + 1.868563668110157e-02 + 1.864102363246424e-02 + 1.859651653826993e-02 + 1.855211514697215e-02 + 1.850781921692858e-02 + 1.846362849811174e-02 + 1.841954273425713e-02 + 1.837556167722399e-02 + 1.833168508274460e-02 + 1.828791270638760e-02 + 1.824424429587613e-02 + 1.820067960186819e-02 + 1.815721838079814e-02 + 1.811386039242822e-02 + 1.807060539155448e-02 + 1.802745312809132e-02 + 1.798440336027523e-02 + 1.794145584667328e-02 + 1.789861034396235e-02 + 1.785586661445831e-02 + 1.781322441713358e-02 + 1.777068350457842e-02 + 1.772824363606736e-02 + 1.768590457480606e-02 + 1.764366608520215e-02 + 1.760152792777148e-02 + 1.755948986314423e-02 + 1.751755165530868e-02 + 1.747571306959304e-02 + 1.743397386795286e-02 + 1.739233380686453e-02 + 1.735079266012027e-02 + 1.730935019969591e-02 + 1.726800617515195e-02 + 1.722676035861175e-02 + 1.718561252878033e-02 + 1.714456244423200e-02 + 1.710360987245781e-02 + 1.706275458478830e-02 + 1.702199634263978e-02 + 1.698133492251816e-02 + 1.694077010510486e-02 + 1.690030164730331e-02 + 1.685992932068962e-02 + 1.681965290804600e-02 + 1.677947217681714e-02 + 1.673938689521877e-02 + 1.669939683666028e-02 + 1.665950177991986e-02 + 1.661970150205939e-02 + 1.657999577711447e-02 + 1.654038437906895e-02 + 1.650086708478969e-02 + 1.646144367321789e-02 + 1.642211391798679e-02 + 1.638287759543946e-02 + 1.634373448754158e-02 + 1.630468437732129e-02 + 1.626572704186934e-02 + 1.622686225251448e-02 + 1.618808979718675e-02 + 1.614940946170872e-02 + 1.611082101996680e-02 + 1.607232425440962e-02 + 1.603391895041710e-02 + 1.599560489122978e-02 + 1.595738185903658e-02 + 1.591924963852954e-02 + 1.588120801872957e-02 + 1.584325677844977e-02 + 1.580539569909259e-02 + 1.576762457813194e-02 + 1.572994319938502e-02 + 1.569235134492561e-02 + 1.565484881311209e-02 + 1.561743538476679e-02 + 1.558011083839993e-02 + 1.554287497958433e-02 + 1.550572759639263e-02 + 1.546866846769255e-02 + 1.543169739218311e-02 + 1.539481416304957e-02 + 1.535801856691179e-02 + 1.532131039389481e-02 + 1.528468944222785e-02 + 1.524815551153465e-02 + 1.521170838270258e-02 + 1.517534784896265e-02 + 1.513907371629201e-02 + 1.510288577422132e-02 + 1.506678381600347e-02 + 1.503076764230081e-02 + 1.499483704594779e-02 + 1.495899182406707e-02 + 1.492323178010325e-02 + 1.488755670734373e-02 + 1.485196640180961e-02 + 1.481646066682016e-02 + 1.478103929846549e-02 + 1.474570209596410e-02 + 1.471044886603309e-02 + 1.467527940456368e-02 + 1.464019351058384e-02 + 1.460519099481427e-02 + 1.457027165550810e-02 + 1.453543528903122e-02 + 1.450068170024789e-02 + 1.446601069487559e-02 + 1.443142207965322e-02 + 1.439691566271563e-02 + 1.436249124410753e-02 + 1.432814862414793e-02 + 1.429388761459182e-02 + 1.425970802314729e-02 + 1.422560965483165e-02 + 1.419159231701311e-02 + 1.415765581387266e-02 + 1.412379995194592e-02 + 1.409002455116132e-02 + 1.405632941792580e-02 + 1.402271435207008e-02 + 1.398917917303820e-02 + 1.395572369124169e-02 + 1.392234770932106e-02 + 1.388905104392205e-02 + 1.385583350997071e-02 + 1.382269491788422e-02 + 1.378963507987753e-02 + 1.375665380791922e-02 + 1.372375091366015e-02 + 1.369092621121959e-02 + 1.365817951715469e-02 + 1.362551064978645e-02 + 1.359291942581090e-02 + 1.356040565686591e-02 + 1.352796915179558e-02 + 1.349560973812908e-02 + 1.346332723540702e-02 + 1.343112144483463e-02 + 1.339899219360082e-02 + 1.336693930891053e-02 + 1.333496260043193e-02 + 1.330306188734133e-02 + 1.327123699224855e-02 + 1.323948773476910e-02 + 1.320781393642416e-02 + 1.317621541705235e-02 + 1.314469199166208e-02 + 1.311324348463446e-02 + 1.308186972415766e-02 + 1.305057053367403e-02 + 1.301934573289238e-02 + 1.298819514247371e-02 + 1.295711859027024e-02 + 1.292611590142988e-02 + 1.289518689817567e-02 + 1.286433140253433e-02 + 1.283354924175516e-02 + 1.280284024626999e-02 + 1.277220424320462e-02 + 1.274164105512193e-02 + 1.271115050454398e-02 + 1.268073242580564e-02 + 1.265038664885281e-02 + 1.262011299771964e-02 + 1.258991130045622e-02 + 1.255978138928737e-02 + 1.252972309744999e-02 + 1.249973624798444e-02 + 1.246982067106488e-02 + 1.243997620568067e-02 + 1.241020267461013e-02 + 1.238049990730756e-02 + 1.235086774662455e-02 + 1.232130602051964e-02 + 1.229181455798258e-02 + 1.226239319685087e-02 + 1.223304176770951e-02 + 1.220376010347082e-02 + 1.217454804486660e-02 + 1.214540542341299e-02 + 1.211633207079968e-02 + 1.208732782681391e-02 + 1.205839252771904e-02 + 1.202952600673308e-02 + 1.200072809652295e-02 + 1.197199864009422e-02 + 1.194333748171596e-02 + 1.191474445503102e-02 + 1.188621939116683e-02 + 1.185776212675846e-02 + 1.182937251288597e-02 + 1.180105038815069e-02 + 1.177279558400601e-02 + 1.174460794107161e-02 + 1.171648730396891e-02 + 1.168843351609301e-02 + 1.166044641171630e-02 + 1.163252583370262e-02 + 1.160467163102319e-02 + 1.157688364263099e-02 + 1.154916170933044e-02 + 1.152150567570712e-02 + 1.149391538555893e-02 + 1.146639068095789e-02 + 1.143893140447911e-02 + 1.141153740781534e-02 + 1.138420853673168e-02 + 1.135694462854312e-02 + 1.132974552839056e-02 + 1.130261108533809e-02 + 1.127554114921167e-02 + 1.124853556496432e-02 + 1.122159417997002e-02 + 1.119471684585664e-02 + 1.116790340283271e-02 + 1.114115369710312e-02 + 1.111446758944324e-02 + 1.108784492177717e-02 + 1.106128553754357e-02 + 1.103478929728668e-02 + 1.100835604711145e-02 + 1.098198563223047e-02 + 1.095567791133747e-02 + 1.092943273475230e-02 + 1.090324994987072e-02 + 1.087712940981543e-02 + 1.085107096608238e-02 + 1.082507447053145e-02 + 1.079913977931768e-02 + 1.077326674497864e-02 + 1.074745521859533e-02 + 1.072170505538783e-02 + 1.069601611066200e-02 + 1.067038823886727e-02 + 1.064482129354728e-02 + 1.061931513219808e-02 + 1.059386961330933e-02 + 1.056848458681972e-02 + 1.054315990640127e-02 + 1.051789543133304e-02 + 1.049269102209236e-02 + 1.046754653920045e-02 + 1.044246184044743e-02 + 1.041743677288729e-02 + 1.039247119540387e-02 + 1.036756497988909e-02 + 1.034271797805630e-02 + 1.031793004647734e-02 + 1.029320105343422e-02 + 1.026853085073464e-02 + 1.024391929539164e-02 + 1.021936625852857e-02 + 1.019487159885800e-02 + 1.017043517132599e-02 + 1.014605683522427e-02 + 1.012173646293816e-02 + 1.009747392058842e-02 + 1.007326905588179e-02 + 1.004912173629082e-02 + 1.002503183346208e-02 + 1.000099920653610e-02 + 9.977023717087764e-03 + 9.953105229386335e-03 + 9.929243608872406e-03 + 9.905438720973011e-03 + 9.881690430827046e-03 + 9.857998603258316e-03 + 9.834363104786413e-03 + 9.810783802355094e-03 + 9.787260560990621e-03 + 9.763793247942843e-03 + 9.740381731591760e-03 + 9.717025877967826e-03 + 9.693725554510663e-03 + 9.670480630152000e-03 + 9.647290973567844e-03 + 9.624156453317901e-03 + 9.601076938062841e-03 + 9.578052297039983e-03 + 9.555082399653962e-03 + 9.532167115690399e-03 + 9.509306316445141e-03 + 9.486499872512266e-03 + 9.463747653553711e-03 + 9.441049530896879e-03 + 9.418405376662433e-03 + 9.395815063104617e-03 + 9.373278461427175e-03 + 9.350795443499088e-03 + 9.328365882617906e-03 + 9.305989651970981e-03 + 9.283666624824176e-03 + 9.261396674723778e-03 + 9.239179675408710e-03 + 9.217015500757821e-03 + 9.194904024947497e-03 + 9.172845123632957e-03 + 9.150838672277813e-03 + 9.128884544858834e-03 + 9.106982617538152e-03 + 9.085132766987650e-03 + 9.063334868396023e-03 + 9.041588798714301e-03 + 9.019894435479832e-03 + 8.998251654894885e-03 + 8.976660334271958e-03 + 8.955120351755344e-03 + 8.933631585369030e-03 + 8.912193913264732e-03 + 8.890807213885918e-03 + 8.869471366214972e-03 + 8.848186249259440e-03 + 8.826951742251321e-03 + 8.805767725383001e-03 + 8.784634078744540e-03 + 8.763550682317645e-03 + 8.742517416743529e-03 + 8.721534162832835e-03 + 8.700600801502468e-03 + 8.679717214101214e-03 + 8.658883282492529e-03 + 8.638098888885700e-03 + 8.617363915025602e-03 + 8.596678243443276e-03 + 8.576041757693640e-03 + 8.555454340593486e-03 + 8.534915875110577e-03 + 8.514426244844865e-03 + 8.493985333674233e-03 + 8.473593025909724e-03 + 8.453249206335058e-03 + 8.432953759374154e-03 + 8.412706569850796e-03 + 8.392507523503252e-03 + 8.372356505624580e-03 + 8.352253401838657e-03 + 8.332198098800467e-03 + 8.312190482450988e-03 + 8.292230438871008e-03 + 8.272317855399050e-03 + 8.252452619663047e-03 + 8.232634619050869e-03 + 8.212863740331295e-03 + 8.193139871755427e-03 + 8.173462902270600e-03 + 8.153832719956143e-03 + 8.134249213438031e-03 + 8.114712271802299e-03 + 8.095221784035302e-03 + 8.075777639824947e-03 + 8.056379729417138e-03 + 8.037027942938956e-03 + 8.017722170154111e-03 + 7.998462301028743e-03 + 7.979248227381455e-03 + 7.960079840401237e-03 + 7.940957030626293e-03 + 7.921879690329333e-03 + 7.902847711453821e-03 + 7.883860985421759e-03 + 7.864919405368889e-03 + 7.846022864037674e-03 + 7.827171253341911e-03 + 7.808364466777525e-03 + 7.789602397948123e-03 + 7.770884940051978e-03 + 7.752211987488857e-03 + 7.733583434567862e-03 + 7.714999174963997e-03 + 7.696459103766686e-03 + 7.677963116338556e-03 + 7.659511107448910e-03 + 7.641102971817726e-03 + 7.622738605046243e-03 + 7.604417904226960e-03 + 7.586140765207791e-03 + 7.567907083543369e-03 + 7.549716755813157e-03 + 7.531569679511053e-03 + 7.513465752109027e-03 + 7.495404870064185e-03 + 7.477386931039745e-03 + 7.459411833357052e-03 + 7.441479474804043e-03 + 7.423589753808636e-03 + 7.405742569108545e-03 + 7.387937818890154e-03 + 7.370175402616828e-03 + 7.352455220325825e-03 + 7.334777170378787e-03 + 7.317141152312192e-03 + 7.299547066866589e-03 + 7.281994814230038e-03 + 7.264484294760120e-03 + 7.247015409129196e-03 + 7.229588058070396e-03 + 7.212202142721502e-03 + 7.194857564639825e-03 + 7.177554225359851e-03 + 7.160292026920549e-03 + 7.143070871828701e-03 + 7.125890661781023e-03 + 7.108751299151369e-03 + 7.091652687463649e-03 + 7.074594729473165e-03 + 7.057577328092346e-03 + 7.040600386920140e-03 + 7.023663809440293e-03 + 7.006767499621119e-03 + 6.989911362283671e-03 + 6.973095301761098e-03 + 6.956319222246642e-03 + 6.939583028242014e-03 + 6.922886624933184e-03 + 6.906229917977133e-03 + 6.889612813237578e-03 + 6.873035215956658e-03 + 6.856497031627250e-03 + 6.839998167124653e-03 + 6.823538528849983e-03 + 6.807118022950776e-03 + 6.790736556102037e-03 + 6.774394036012678e-03 + 6.758090370503938e-03 + 6.741825465874382e-03 + 6.725599229831710e-03 + 6.709411571076730e-03 + 6.693262397262002e-03 + 6.677151616823099e-03 + 6.661079138883049e-03 + 6.645044871881905e-03 + 6.629048724424302e-03 + 6.613090605727208e-03 + 6.597170426169362e-03 + 6.581288095176429e-03 + 6.565443521393368e-03 + 6.549636616015259e-03 + 6.533867289690503e-03 + 6.518135451870410e-03 + 6.502441013826720e-03 + 6.486783886693610e-03 + 6.471163980906190e-03 + 6.455581208648475e-03 + 6.440035481784445e-03 + 6.424526710952946e-03 + 6.409054808194274e-03 + 6.393619686148648e-03 + 6.378221257389647e-03 + 6.362859434216829e-03 + 6.347534129405275e-03 + 6.332245256702231e-03 + 6.316992728926398e-03 + 6.301776458848883e-03 + 6.286596360249587e-03 + 6.271452347303485e-03 + 6.256344334335297e-03 + 6.241272235637497e-03 + 6.226235965289892e-03 + 6.211235437617355e-03 + 6.196270567881593e-03 + 6.181341271239764e-03 + 6.166447462747857e-03 + 6.151589057705613e-03 + 6.136765971896623e-03 + 6.121978121401951e-03 + 6.107225422158738e-03 + 6.092507790132517e-03 + 6.077825141615326e-03 + 6.063177393866219e-03 + 6.048564463915550e-03 + 6.033986268442907e-03 + 6.019442724444331e-03 + 6.004933749322879e-03 + 5.990459260846786e-03 + 5.976019176895193e-03 + 5.961613415583682e-03 + 5.947241895231883e-03 + 5.932904533953020e-03 + 5.918601250164555e-03 + 5.904331962789744e-03 + 5.890096590861083e-03 + 5.875895053571317e-03 + 5.861727270328322e-03 + 5.847593160694864e-03 + 5.833492644473149e-03 + 5.819425641715960e-03 + 5.805392072163253e-03 + 5.791391855962741e-03 + 5.777424914193254e-03 + 5.763491167389796e-03 + 5.749590536018355e-03 + 5.735722941127108e-03 + 5.721888304505554e-03 + 5.708086547766434e-03 + 5.694317591457392e-03 + 5.680581357894303e-03 + 5.666877769868901e-03 + 5.653206748498332e-03 + 5.639568216215936e-03 + 5.625962096156960e-03 + 5.612388310444156e-03 + 5.598846782244085e-03 + 5.585337435180374e-03 + 5.571860191464977e-03 + 5.558414974887664e-03 + 5.545001710146245e-03 + 5.531620319651646e-03 + 5.518270727342278e-03 + 5.504952858629092e-03 + 5.491666637149790e-03 + 5.478411987013346e-03 + 5.465188833301630e-03 + 5.451997101098349e-03 + 5.438836715460566e-03 + 5.425707601454353e-03 + 5.412609684284744e-03 + 5.399542889597323e-03 + 5.386507143481766e-03 + 5.373502371672819e-03 + 5.360528500347250e-03 + 5.347585456320476e-03 + 5.334673165238440e-03 + 5.321791553290573e-03 + 5.308940548233661e-03 + 5.296120077396591e-03 + 5.283330067535706e-03 + 5.270570445063373e-03 + 5.257841138170363e-03 + 5.245142075198895e-03 + 5.232473183108559e-03 + 5.219834389656078e-03 + 5.207225623450342e-03 + 5.194646813662877e-03 + 5.182097888019903e-03 + 5.169578774433769e-03 + 5.157089403379224e-03 + 5.144629703265777e-03 + 5.132199601938705e-03 + 5.119799030212023e-03 + 5.107427917986021e-03 + 5.095086194230444e-03 + 5.082773788422456e-03 + 5.070490630851877e-03 + 5.058236652191947e-03 + 5.046011782411770e-03 + 5.033815952050060e-03 + 5.021649092096963e-03 + 5.009511132708167e-03 + 4.997402004872952e-03 + 4.985321640554899e-03 + 4.973269971256597e-03 + 4.961246927915243e-03 + 4.949252441362114e-03 + 4.937286444284467e-03 + 4.925348869112448e-03 + 4.913439647407981e-03 + 4.901558711796497e-03 + 4.889705994683389e-03 + 4.877881427891544e-03 + 4.866084944974813e-03 + 4.854316479151838e-03 + 4.842575962313763e-03 + 4.830863328342665e-03 + 4.819178511323663e-03 + 4.807521444209243e-03 + 4.795892060902922e-03 + 4.784290295384500e-03 + 4.772716080911616e-03 + 4.761169351999607e-03 + 4.749650043687660e-03 + 4.738158090505544e-03 + 4.726693426328077e-03 + 4.715255985490762e-03 + 4.703845704177584e-03 + 4.692462517255530e-03 + 4.681106359266913e-03 + 4.669777166671382e-03 + 4.658474874679097e-03 + 4.647199418051047e-03 + 4.635950733693824e-03 + 4.624728757814554e-03 + 4.613533426035275e-03 + 4.602364675085555e-03 + 4.591222441193854e-03 + 4.580106660340010e-03 + 4.569017270133631e-03 + 4.557954207729684e-03 + 4.546917409606468e-03 + 4.535906813063030e-03 + 4.524922355662980e-03 + 4.513963975024341e-03 + 4.503031608847450e-03 + 4.492125194604706e-03 + 4.481244669721014e-03 + 4.470389973075004e-03 + 4.459561043403103e-03 + 4.448757818627942e-03 + 4.437980237157132e-03 + 4.427228237584914e-03 + 4.416501758569245e-03 + 4.405800739475310e-03 + 4.395125119625431e-03 + 4.384474837838549e-03 + 4.373849833628650e-03 + 4.363250046735974e-03 + 4.352675416676511e-03 + 4.342125883231542e-03 + 4.331601386396421e-03 + 4.321101866314548e-03 + 4.310627263408189e-03 + 4.300177518182486e-03 + 4.289752570999768e-03 + 4.279352362569397e-03 + 4.268976833692708e-03 + 4.258625924837488e-03 + 4.248299577436886e-03 + 4.237997733292803e-03 + 4.227720333115902e-03 + 4.217467318344088e-03 + 4.207238631130676e-03 + 4.197034213451204e-03 + 4.186854006892898e-03 + 4.176697952964437e-03 + 4.166565994071401e-03 + 4.156458073034852e-03 + 4.146374132669977e-03 + 4.136314114934178e-03 + 4.126277962231265e-03 + 4.116265617785051e-03 + 4.106277025130100e-03 + 4.096312127225507e-03 + 4.086370866498099e-03 + 4.076453186851077e-03 + 4.066559032318193e-03 + 4.056688346384167e-03 + 4.046841072375552e-03 + 4.037017154234894e-03 + 4.027216536753351e-03 + 4.017439163691562e-03 + 4.007684978984143e-03 + 3.997953927616382e-03 + 3.988245954341580e-03 + 3.978561003853811e-03 + 3.968899020987378e-03 + 3.959259950174110e-03 + 3.949643736363211e-03 + 3.940050325917084e-03 + 3.930479663940112e-03 + 3.920931695287086e-03 + 3.911406366153988e-03 + 3.901903622192779e-03 + 3.892423408886956e-03 + 3.882965672529350e-03 + 3.873530359308857e-03 + 3.864117415340676e-03 + 3.854726787040829e-03 + 3.845358421069152e-03 + 3.836012264203419e-03 + 3.826688263119290e-03 + 3.817386364639579e-03 + 3.808106515834866e-03 + 3.798848664119608e-03 + 3.789612756624806e-03 + 3.780398740246358e-03 + 3.771206562411011e-03 + 3.762036171140922e-03 + 3.752887514765301e-03 + 3.743760540740341e-03 + 3.734655196719529e-03 + 3.725571430980986e-03 + 3.716509192135922e-03 + 3.707468428387338e-03 + 3.698449087559120e-03 + 3.689451119263604e-03 + 3.680474472533827e-03 + 3.671519094850921e-03 + 3.662584935894309e-03 + 3.653671945297336e-03 + 3.644780071212910e-03 + 3.635909263417586e-03 + 3.627059471971036e-03 + 3.618230645951014e-03 + 3.609422734605362e-03 + 3.600635687799489e-03 + 3.591869456282116e-03 + 3.583123989955615e-03 + 3.574399238584414e-03 + 3.565695152845392e-03 + 3.557011682930304e-03 + 3.548348778903569e-03 + 3.539706391532652e-03 + 3.531084471778191e-03 + 3.522482970666699e-03 + 3.513901839239252e-03 + 3.505341028388093e-03 + 3.496800489111114e-03 + 3.488280173119797e-03 + 3.479780031892506e-03 + 3.471300016604386e-03 + 3.462840078578430e-03 + 3.454400170006921e-03 + 3.445980243580072e-03 + 3.437580250715228e-03 + 3.429200142992534e-03 + 3.420839872683964e-03 + 3.412499392748279e-03 + 3.404178655562702e-03 + 3.395877612913789e-03 + 3.387596218304602e-03 + 3.379334424898988e-03 + 3.371092184764359e-03 + 3.362869450661228e-03 + 3.354666175991870e-03 + 3.346482314543412e-03 + 3.338317819175880e-03 + 3.330172642972068e-03 + 3.322046740007612e-03 + 3.313940064235304e-03 + 3.305852569386344e-03 + 3.297784208976364e-03 + 3.289734936574093e-03 + 3.281704706272533e-03 + 3.273693473070924e-03 + 3.265701191257636e-03 + 3.257727814803984e-03 + 3.249773298074863e-03 + 3.241837595979994e-03 + 3.233920663596386e-03 + 3.226022455622204e-03 + 3.218142926555998e-03 + 3.210282031163023e-03 + 3.202439725215123e-03 + 3.194615964134223e-03 + 3.186810703067027e-03 + 3.179023897602838e-03 + 3.171255503398923e-03 + 3.163505475998486e-03 + 3.155773770652277e-03 + 3.148060343553685e-03 + 3.140365151430291e-03 + 3.132688149313277e-03 + 3.125029293443853e-03 + 3.117388541383308e-03 + 3.109765848736372e-03 + 3.102161171408776e-03 + 3.094574466373093e-03 + 3.087005690728782e-03 + 3.079454801280003e-03 + 3.071921754555924e-03 + 3.064406507880629e-03 + 3.056909018530570e-03 + 3.049429243338136e-03 + 3.041967139485151e-03 + 3.034522664377966e-03 + 3.027095775562892e-03 + 3.019686430816400e-03 + 3.012294588055786e-03 + 3.004920205212209e-03 + 2.997563239705405e-03 + 2.990223649173174e-03 + 2.982901392198357e-03 + 2.975596427311395e-03 + 2.968308712822513e-03 + 2.961038206776656e-03 + 2.953784867392937e-03 + 2.946548653201694e-03 + 2.939329523194637e-03 + 2.932127436582907e-03 + 2.924942352269057e-03 + 2.917774228121468e-03 + 2.910623023643702e-03 + 2.903488699056754e-03 + 2.896371212514376e-03 + 2.889270523304112e-03 + 2.882186591679052e-03 + 2.875119376658924e-03 + 2.868068837676741e-03 + 2.861034934776638e-03 + 2.854017627809473e-03 + 2.847016876513213e-03 + 2.840032640686938e-03 + 2.833064880681456e-03 + 2.826113557103426e-03 + 2.819178630449384e-03 + 2.812260060105674e-03 + 2.805357806481411e-03 + 2.798471831428214e-03 + 2.791602094948384e-03 + 2.784748557109701e-03 + 2.777911179108391e-03 + 2.771089922400815e-03 + 2.764284748007964e-03 + 2.757495616304825e-03 + 2.750722488782177e-03 + 2.743965327115693e-03 + 2.737224092409578e-03 + 2.730498746008289e-03 + 2.723789249648372e-03 + 2.717095565426717e-03 + 2.710417654358784e-03 + 2.703755477800617e-03 + 2.697108999073383e-03 + 2.690478179939920e-03 + 2.683862981660020e-03 + 2.677263366970269e-03 + 2.670679298051182e-03 + 2.664110736894467e-03 + 2.657557646411518e-03 + 2.651019989061974e-03 + 2.644497727126834e-03 + 2.637990823748049e-03 + 2.631499241776077e-03 + 2.625022943767310e-03 + 2.618561892619121e-03 + 2.612116051581085e-03 + 2.605685383984310e-03 + 2.599269852507916e-03 + 2.592869420565223e-03 + 2.586484052278204e-03 + 2.580113710814501e-03 + 2.573758359383719e-03 + 2.567417961609419e-03 + 2.561092481362380e-03 + 2.554781882413309e-03 + 2.548486128464411e-03 + 2.542205184036424e-03 + 2.535939013422343e-03 + 2.529687580238901e-03 + 2.523450848436006e-03 + 2.517228782352248e-03 + 2.511021346720505e-03 + 2.504828506444104e-03 + 2.498650225958320e-03 + 2.492486468967693e-03 + 2.486337200680032e-03 + 2.480202386472821e-03 + 2.474081990653096e-03 + 2.467975978460781e-03 + 2.461884315215007e-03 + 2.455806965243642e-03 + 2.449743893777428e-03 + 2.443695066608286e-03 + 2.437660449328877e-03 + 2.431640007119714e-03 + 2.425633705211946e-03 + 2.419641509634817e-03 + 2.413663385966202e-03 + 2.407699299632079e-03 + 2.401749216909934e-03 + 2.395813103777745e-03 + 2.389890925926915e-03 + 2.383982649399740e-03 + 2.378088240561300e-03 + 2.372207665865560e-03 + 2.366340891258303e-03 + 2.360487883037754e-03 + 2.354648608018378e-03 + 2.348823033118129e-03 + 2.343011124539103e-03 + 2.337212848054228e-03 + 2.331428171390765e-03 + 2.325657062040943e-03 + 2.319899486412222e-03 + 2.314155410784699e-03 + 2.308424802407836e-03 + 2.302707629600105e-03 + 2.297003858807791e-03 + 2.291313456815245e-03 + 2.285636391934661e-03 + 2.279972631361444e-03 + 2.274322142294874e-03 + 2.268684892803898e-03 + 2.263060850445441e-03 + 2.257449982675230e-03 + 2.251852257331842e-03 + 2.246267642469826e-03 + 2.240696106224612e-03 + 2.235137616698782e-03 + 2.229592141925271e-03 + 2.224059650030012e-03 + 2.218540109447705e-03 + 2.213033488566449e-03 + 2.207539755750870e-03 + 2.202058879448589e-03 + 2.196590827868759e-03 + 2.191135569406817e-03 + 2.185693073538250e-03 + 2.180263309295804e-03 + 2.174846245146934e-03 + 2.169441849486111e-03 + 2.164050091629877e-03 + 2.158670941358884e-03 + 2.153304367034930e-03 + 2.147950337590323e-03 + 2.142608822828710e-03 + 2.137279792340324e-03 + 2.131963215445541e-03 + 2.126659061301170e-03 + 2.121367299363035e-03 + 2.116087899310018e-03 + 2.110820830985273e-03 + 2.105566064252215e-03 + 2.100323568822542e-03 + 2.095093314356113e-03 + 2.089875271479949e-03 + 2.084669410319118e-03 + 2.079475699908646e-03 + 2.074294110902819e-03 + 2.069124614088778e-03 + 2.063967179294363e-03 + 2.058821776747180e-03 + 2.053688376991423e-03 + 2.048566950718572e-03 + 2.043457468582260e-03 + 2.038359901240009e-03 + 2.033274219398007e-03 + 2.028200393563254e-03 + 2.023138394473247e-03 + 2.018088193625467e-03 + 2.013049761808302e-03 + 2.008023069533293e-03 + 2.003008088023720e-03 + 1.998004788922133e-03 + 1.993013143739461e-03 + 1.988033123025423e-03 + 1.983064698401174e-03 + 1.978107841939004e-03 + 1.973162523959716e-03 + 1.968228716337500e-03 + 1.963306391971906e-03 + 1.958395521239848e-03 + 1.953496075620802e-03 + 1.948608028019931e-03 + 1.943731350228688e-03 + 1.938866013789267e-03 + 1.934011990485791e-03 + 1.929169252901841e-03 + 1.924337773155020e-03 + 1.919517522737516e-03 + 1.914708474346116e-03 + 1.909910600724645e-03 + 1.905123874118434e-03 + 1.900348266781407e-03 + 1.895583751238830e-03 + 1.890830300301618e-03 + 1.886087886140893e-03 + 1.881356481302734e-03 + 1.876636059328014e-03 + 1.871926593048255e-03 + 1.867228054886164e-03 + 1.862540417322874e-03 + 1.857863653843670e-03 + 1.853197738035545e-03 + 1.848542642643349e-03 + 1.843898340659710e-03 + 1.839264805482605e-03 + 1.834642010884087e-03 + 1.830029929675155e-03 + 1.825428534756660e-03 + 1.820837800826725e-03 + 1.816257700994342e-03 + 1.811688207883416e-03 + 1.807129296515363e-03 + 1.802580940478343e-03 + 1.798043112569654e-03 + 1.793515787775185e-03 + 1.788998939681262e-03 + 1.784492541016137e-03 + 1.779996567290557e-03 + 1.775510992946437e-03 + 1.771035790955467e-03 + 1.766570935188881e-03 + 1.762116400368900e-03 + 1.757672161650980e-03 + 1.753238193179788e-03 + 1.748814468721301e-03 + 1.744400962234815e-03 + 1.739997649147064e-03 + 1.735604504535336e-03 + 1.731221502449809e-03 + 1.726848617398671e-03 + 1.722485824273258e-03 + 1.718133098140551e-03 + 1.713790413411143e-03 + 1.709457744960287e-03 + 1.705135068710917e-03 + 1.700822359316501e-03 + 1.696519591326764e-03 + 1.692226740206531e-03 + 1.687943780998710e-03 + 1.683670689031842e-03 + 1.679407440586236e-03 + 1.675154010255336e-03 + 1.670910372590760e-03 + 1.666676504276520e-03 + 1.662452380680008e-03 + 1.658237976786625e-03 + 1.654033269138933e-03 + 1.649838233189823e-03 + 1.645652843894769e-03 + 1.641477077483747e-03 + 1.637310910181093e-03 + 1.633154317979306e-03 + 1.629007276710043e-03 + 1.624869761977525e-03 + 1.620741749539434e-03 + 1.616623216289868e-03 + 1.612514138626602e-03 + 1.608414492386588e-03 + 1.604324254066237e-03 + 1.600243399893093e-03 + 1.596171905775712e-03 + 1.592109748332882e-03 + 1.588056904380057e-03 + 1.584013350591343e-03 + 1.579979063015354e-03 + 1.575954018417919e-03 + 1.571938194458784e-03 + 1.567931567017785e-03 + 1.563934112240304e-03 + 1.559945807641685e-03 + 1.555966630779868e-03 + 1.551996558434039e-03 + 1.548035566441649e-03 + 1.544083632647983e-03 + 1.540140734902817e-03 + 1.536206849423688e-03 + 1.532281953055403e-03 + 1.528366023373284e-03 + 1.524459038476067e-03 + 1.520560975283225e-03 + 1.516671810636623e-03 + 1.512791522697568e-03 + 1.508920088807869e-03 + 1.505057486015793e-03 + 1.501203692209861e-03 + 1.497358685322736e-03 + 1.493522443062933e-03 + 1.489694942724099e-03 + 1.485876162194853e-03 + 1.482066079697174e-03 + 1.478264672890618e-03 + 1.474471919644568e-03 + 1.470687798121700e-03 + 1.466912286519041e-03 + 1.463145362594138e-03 + 1.459387003990816e-03 + 1.455637189563730e-03 + 1.451895897787254e-03 + 1.448163106500405e-03 + 1.444438793947980e-03 + 1.440722938760434e-03 + 1.437015519703072e-03 + 1.433316514691718e-03 + 1.429625901910583e-03 + 1.425943660193772e-03 + 1.422269768088744e-03 + 1.418604204318803e-03 + 1.414946947952337e-03 + 1.411297977567125e-03 + 1.407657271824714e-03 + 1.404024809794961e-03 + 1.400400570139807e-03 + 1.396784531434119e-03 + 1.393176672533590e-03 + 1.389576972970703e-03 + 1.385985412235932e-03 + 1.382401969107074e-03 + 1.378826622443783e-03 + 1.375259351219489e-03 + 1.371700134514839e-03 + 1.368148952079336e-03 + 1.364605783757036e-03 + 1.361070608632290e-03 + 1.357543405835987e-03 + 1.354024154621594e-03 + 1.350512834317403e-03 + 1.347009424934256e-03 + 1.343513906652181e-03 + 1.340026258589547e-03 + 1.336546459739890e-03 + 1.333074489680093e-03 + 1.329610329681042e-03 + 1.326153959375566e-03 + 1.322705357081586e-03 + 1.319264503327096e-03 + 1.315831378649060e-03 + 1.312405962942001e-03 + 1.308988235813027e-03 + 1.305578177302038e-03 + 1.302175767936687e-03 + 1.298780987783750e-03 + 1.295393816813521e-03 + 1.292014235092867e-03 + 1.288642222828844e-03 + 1.285277760581296e-03 + 1.281920829182064e-03 + 1.278571408463430e-03 + 1.275229478684235e-03 + 1.271895021211065e-03 + 1.268568016022571e-03 + 1.265248443161927e-03 + 1.261936283866222e-03 + 1.258631518851812e-03 + 1.255334128626978e-03 + 1.252044093890807e-03 + 1.248761395151665e-03 + 1.245486013113075e-03 + 1.242217929129610e-03 + 1.238957124307338e-03 + 1.235703579418827e-03 + 1.232457274959363e-03 + 1.229218191838193e-03 + 1.225986311430220e-03 + 1.222761615473843e-03 + 1.219544084856006e-03 + 1.216333699988417e-03 + 1.213130441964228e-03 + 1.209934292565758e-03 + 1.206745233676102e-03 + 1.203563245963205e-03 + 1.200388310525061e-03 + 1.197220409053557e-03 + 1.194059523052293e-03 + 1.190905633902454e-03 + 1.187758723052301e-03 + 1.184618772531461e-03 + 1.181485763720917e-03 + 1.178359677471923e-03 + 1.175240496495629e-03 + 1.172128202790389e-03 + 1.169022777016151e-03 + 1.165924201427151e-03 + 1.162832457974330e-03 + 1.159747527667428e-03 + 1.156669393342115e-03 + 1.153598037513975e-03 + 1.150533441195656e-03 + 1.147475586343000e-03 + 1.144424455192698e-03 + 1.141380029693999e-03 + 1.138342292070108e-03 + 1.135311224784675e-03 + 1.132286810371483e-03 + 1.129269030382949e-03 + 1.126257866687504e-03 + 1.123253302806332e-03 + 1.120255320585528e-03 + 1.117263901594027e-03 + 1.114279029333705e-03 + 1.111300685926414e-03 + 1.108328853214485e-03 + 1.105363515126287e-03 + 1.102404653695880e-03 + 1.099452250276090e-03 + 1.096506289065756e-03 + 1.093566752790314e-03 + 1.090633622975802e-03 + 1.087706882683815e-03 + 1.084786514992603e-03 + 1.081872502714538e-03 + 1.078964828755093e-03 + 1.076063476054719e-03 + 1.073168427526746e-03 + 1.070279665938792e-03 + 1.067397174442816e-03 + 1.064520936417689e-03 + 1.061650934087830e-03 + 1.058787150577005e-03 + 1.055929570192933e-03 + 1.053078175257412e-03 + 1.050232948596978e-03 + 1.047393874491941e-03 + 1.044560935952646e-03 + 1.041734115621369e-03 + 1.038913396581877e-03 + 1.036098763274602e-03 + 1.033290199394467e-03 + 1.030487686748966e-03 + 1.027691209748195e-03 + 1.024900752824401e-03 + 1.022116298137994e-03 + 1.019337829638554e-03 + 1.016565331581354e-03 + 1.013798786681050e-03 + 1.011038178744547e-03 + 1.008283492069452e-03 + 1.005534710312413e-03 + 1.002791817167788e-03 + 1.000054796401326e-03 + 9.973236317525795e-04 + 9.945983071579347e-04 + 9.918788066535795e-04 + 9.891651141399331e-04 + 9.864572135795289e-04 + 9.837550890187182e-04 + 9.810587245440681e-04 + 9.783681042165289e-04 + 9.756832121036981e-04 + 9.730040324093254e-04 + 9.703305493295432e-04 + 9.676627470403841e-04 + 9.650006098016114e-04 + 9.623441219373007e-04 + 9.596932677964791e-04 + 9.570480316324495e-04 + 9.544083978205768e-04 + 9.517743508934125e-04 + 9.491458752396962e-04 + 9.465229553012878e-04 + 9.439055756501852e-04 + 9.412937207895038e-04 + 9.386873752809525e-04 + 9.360865238076440e-04 + 9.334911509791107e-04 + 9.309012414140627e-04 + 9.283167798171848e-04 + 9.257377509839119e-04 + 9.231641396993918e-04 + 9.205959306774516e-04 + 9.180331088080401e-04 + 9.154756590138127e-04 + 9.129235660962607e-04 + 9.103768149701878e-04 + 9.078353906321772e-04 + 9.052992780955343e-04 + 9.027684623946166e-04 + 9.002429285800444e-04 + 8.977226617159664e-04 + 8.952076469091944e-04 + 8.926978693026045e-04 + 8.901933140640126e-04 + 8.876939664445818e-04 + 8.851998117353022e-04 + 8.827108351548252e-04 + 8.802270219825557e-04 + 8.777483575705740e-04 + 8.752748272927118e-04 + 8.728064165680979e-04 + 8.703431108522175e-04 + 8.678848955854838e-04 + 8.654317562117358e-04 + 8.629836782258149e-04 + 8.605406473168484e-04 + 8.581026490766350e-04 + 8.556696689660546e-04 + 8.532416927295966e-04 + 8.508187061075220e-04 + 8.484006947265324e-04 + 8.459876443379812e-04 + 8.435795407180884e-04 + 8.411763696276702e-04 + 8.387781169670006e-04 + 8.363847686436173e-04 + 8.339963104952486e-04 + 8.316127284703911e-04 + 8.292340085393665e-04 + 8.268601366269382e-04 + 8.244910987818749e-04 + 8.221268810991789e-04 + 8.197674696351961e-04 + 8.174128504795555e-04 + 8.150630097863373e-04 + 8.127179337987174e-04 + 8.103776086785577e-04 + 8.080420206116735e-04 + 8.057111559859151e-04 + 8.033850010442538e-04 + 8.010635420033148e-04 + 7.987467653572807e-04 + 7.964346575211490e-04 + 7.941272048473775e-04 + 7.918243938145987e-04 + 7.895262109139402e-04 + 7.872326426395918e-04 + 7.849436755404454e-04 + 7.826592961986925e-04 + 7.803794912312032e-04 + 7.781042473133076e-04 + 7.758335511109105e-04 + 7.735673892815593e-04 + 7.713057485643111e-04 + 7.690486157536814e-04 + 7.667959776727836e-04 + 7.645478211004869e-04 + 7.623041328912646e-04 + 7.600649000053854e-04 + 7.578301093264215e-04 + 7.555997477583347e-04 + 7.533738022910566e-04 + 7.511522599897612e-04 + 7.489351079282785e-04 + 7.467223331578882e-04 + 7.445139227962291e-04 + 7.423098639775247e-04 + 7.401101438263767e-04 + 7.379147496119391e-04 + 7.357236686066337e-04 + 7.335368879604144e-04 + 7.313543950177981e-04 + 7.291761771981462e-04 + 7.270022218267318e-04 + 7.248325162821272e-04 + 7.226670479949025e-04 + 7.205058044241288e-04 + 7.183487730730944e-04 + 7.161959414766152e-04 + 7.140472971809699e-04 + 7.119028277561113e-04 + 7.097625208231147e-04 + 7.076263641063239e-04 + 7.054943452576004e-04 + 7.033664519218169e-04 + 7.012426719956601e-04 + 6.991229932510109e-04 + 6.970074033540157e-04 + 6.948958902400331e-04 + 6.927884418689321e-04 + 6.906850461485944e-04 + 6.885856909689247e-04 + 6.864903643067344e-04 + 6.843990542306164e-04 + 6.823117487354689e-04 + 6.802284359113009e-04 + 6.781491039842488e-04 + 6.760737410664455e-04 + 6.740023352773578e-04 + 6.719348748282754e-04 + 6.698713480434448e-04 + 6.678117432465053e-04 + 6.657560487034911e-04 + 6.637042527655789e-04 + 6.616563438432147e-04 + 6.596123103782944e-04 + 6.575721408025738e-04 + 6.555358236048545e-04 + 6.535033473936704e-04 + 6.514747007198682e-04 + 6.494498721244171e-04 + 6.474288502266283e-04 + 6.454116237722280e-04 + 6.433981815196293e-04 + 6.413885120963034e-04 + 6.393826043225120e-04 + 6.373804471016686e-04 + 6.353820291728463e-04 + 6.333873394523912e-04 + 6.313963669651093e-04 + 6.294091005879305e-04 + 6.274255292885601e-04 + 6.254456421348147e-04 + 6.234694281911996e-04 + 6.214968766042923e-04 + 6.195279765738893e-04 + 6.175627172048796e-04 + 6.156010877068991e-04 + 6.136430774102346e-04 + 6.116886755862946e-04 + 6.097378715435904e-04 + 6.077906546697107e-04 + 6.058470144286753e-04 + 6.039069402835228e-04 + 6.019704216802507e-04 + 6.000374481409778e-04 + 5.981080092530985e-04 + 5.961820946588096e-04 + 5.942596940083503e-04 + 5.923407969721301e-04 + 5.904253932616448e-04 + 5.885134726736782e-04 + 5.866050250202793e-04 + 5.847000400980857e-04 + 5.827985078791194e-04 + 5.809004183470366e-04 + 5.790057613579966e-04 + 5.771145269606196e-04 + 5.752267052829598e-04 + 5.733422863841403e-04 + 5.714612604000550e-04 + 5.695836175305099e-04 + 5.677093480037018e-04 + 5.658384420678564e-04 + 5.639708900266142e-04 + 5.621066823022896e-04 + 5.602458092869138e-04 + 5.583882613744714e-04 + 5.565340290827777e-04 + 5.546831029664671e-04 + 5.528354736013446e-04 + 5.509911316015094e-04 + 5.491500676402182e-04 + 5.473122724461832e-04 + 5.454777367810608e-04 + 5.436464514412940e-04 + 5.418184072613321e-04 + 5.399935951226492e-04 + 5.381720060069473e-04 + 5.363536309736959e-04 + 5.345384609776805e-04 + 5.327264870731968e-04 + 5.309177004752346e-04 + 5.291120923593077e-04 + 5.273096539494221e-04 + 5.255103765544823e-04 + 5.237142514407170e-04 + 5.219212699733492e-04 + 5.201314236865307e-04 + 5.183447040146093e-04 + 5.165611024246747e-04 + 5.147806105331874e-04 + 5.130032200114061e-04 + 5.112289225530487e-04 + 5.094577098620987e-04 + 5.076895736854020e-04 + 5.059245058583464e-04 + 5.041624983517820e-04 + 5.024035430839573e-04 + 5.006476319990773e-04 + 4.988947572035529e-04 + 4.971449107942239e-04 + 4.953980848818115e-04 + 4.936542716805855e-04 + 4.919134634956966e-04 + 4.901756526846954e-04 + 4.884408316006080e-04 + 4.867089926403434e-04 + 4.849801282731475e-04 + 4.832542310892493e-04 + 4.815312937309208e-04 + 4.798113088560132e-04 + 4.780942690954599e-04 + 4.763801672259719e-04 + 4.746689961731605e-04 + 4.729607488395965e-04 + 4.712554181333483e-04 + 4.695529970142063e-04 + 4.678534786182833e-04 + 4.661568561056742e-04 + 4.644631226216267e-04 + 4.627722714285577e-04 + 4.610842958399921e-04 + 4.593991892076899e-04 + 4.577169450300335e-04 + 4.560375568336446e-04 + 4.543610181249096e-04 + 4.526873225594637e-04 + 4.510164638467393e-04 + 4.493484356950898e-04 + 4.476832319569833e-04 + 4.460208465382815e-04 + 4.443612733350173e-04 + 4.427045064285867e-04 + 4.410505399510805e-04 + 4.393993679504339e-04 + 4.377509846774214e-04 + 4.361053844834223e-04 + 4.344625616662297e-04 + 4.328225106365193e-04 + 4.311852259097922e-04 + 4.295507020701359e-04 + 4.279189337521271e-04 + 4.262899156467061e-04 + 4.246636425301464e-04 + 4.230401092565931e-04 + 4.214193107478168e-04 + 4.198012419839599e-04 + 4.181858979868060e-04 + 4.165732738692198e-04 + 4.149633649793705e-04 + 4.133561665739344e-04 + 4.117516738453971e-04 + 4.101498823326724e-04 + 4.085507876181731e-04 + 4.069543852399522e-04 + 4.053606707914893e-04 + 4.037696400086752e-04 + 4.021812887746215e-04 + 4.005956129436248e-04 + 3.990126084760660e-04 + 3.974322714846641e-04 + 3.958545980293214e-04 + 3.942795842513983e-04 + 3.927072264688036e-04 + 3.911375211195356e-04 + 3.895704646516968e-04 + 3.880060534869329e-04 + 3.864442842922655e-04 + 3.848851538066537e-04 + 3.833286587063809e-04 + 3.817747958651508e-04 + 3.802235622593628e-04 + 3.786749548688228e-04 + 3.771289708205180e-04 + 3.755856073392733e-04 + 3.740448616816441e-04 + 3.725067311649692e-04 + 3.709712132043737e-04 + 3.694383053790672e-04 + 3.679080053579325e-04 + 3.663803108503057e-04 + 3.648552195606523e-04 + 3.633327293646475e-04 + 3.618128382932607e-04 + 3.602955444344858e-04 + 3.587808459078391e-04 + 3.572687408998931e-04 + 3.557592277792442e-04 + 3.542523049927096e-04 + 3.527479710408145e-04 + 3.512462245019904e-04 + 3.497470640500036e-04 + 3.482504884770882e-04 + 3.467564967437580e-04 + 3.452650877985240e-04 + 3.437762605764859e-04 + 3.422900143250168e-04 + 3.408063483640538e-04 + 3.393252619896345e-04 + 3.378467546103840e-04 + 3.363708257653936e-04 + 3.348974751341996e-04 + 3.334267024660963e-04 + 3.319585075646510e-04 + 3.304928903038992e-04 + 3.290298507212495e-04 + 3.275693889604049e-04 + 3.261115052402690e-04 + 3.246561999078441e-04 + 3.232034733603981e-04 + 3.217533259984899e-04 + 3.203057585048498e-04 + 3.188607716794152e-04 + 3.174183662346357e-04 + 3.159785430822741e-04 + 3.145413032833238e-04 + 3.131066479369465e-04 + 3.116745782136557e-04 + 3.102450954058189e-04 + 3.088182010197684e-04 + 3.073938965650610e-04 + 3.059721835802734e-04 + 3.045530637916020e-04 + 3.031365390386899e-04 + 3.017226112552691e-04 + 3.003112824793533e-04 + 2.989025548234045e-04 + 2.974964304955006e-04 + 2.960929118913988e-04 + 2.946920014422941e-04 + 2.932937016150965e-04 + 2.918980151023185e-04 + 2.905049446767149e-04 + 2.891144931550728e-04 + 2.877266634923031e-04 + 2.863414587568181e-04 + 2.849588821248430e-04 + 2.835789368717610e-04 + 2.822016263526234e-04 + 2.808269540128114e-04 + 2.794549234525530e-04 + 2.780855383858511e-04 + 2.767188026160350e-04 + 2.753547199733251e-04 + 2.739932944362576e-04 + 2.726345302253411e-04 + 2.712784314751994e-04 + 2.699250024118205e-04 + 2.685742475595017e-04 + 2.672261714415124e-04 + 2.658807786371782e-04 + 2.645380739000219e-04 + 2.631980619957597e-04 + 2.618607478073471e-04 + 2.605261365239288e-04 + 2.591942332540738e-04 + 2.578650431168888e-04 + 2.565385715181067e-04 + 2.552148239188000e-04 + 2.538938058269625e-04 + 2.525755228940477e-04 + 2.512599808919393e-04 + 2.499471856899045e-04 + 2.486371432244064e-04 + 2.473298595107682e-04 + 2.460253406646765e-04 + 2.447235929605613e-04 + 2.434246227773826e-04 + 2.421284365723855e-04 + 2.408350408491505e-04 + 2.395444422583646e-04 + 2.382566475978551e-04 + 2.369716636126905e-04 + 2.356894972066169e-04 + 2.344101555067014e-04 + 2.331336455922197e-04 + 2.318599746393059e-04 + 2.305891500038487e-04 + 2.293211790903458e-04 + 2.280560693749351e-04 + 2.267938284406659e-04 + 2.255344639796373e-04 + 2.242779837481179e-04 + 2.230243955584571e-04 + 2.217737074088738e-04 + 2.205259273750273e-04 + 2.192810635194828e-04 + 2.180391240377155e-04 + 2.168001172473318e-04 + 2.155640515683406e-04 + 2.143309354202995e-04 + 2.131007772856537e-04 + 2.118735858306198e-04 + 2.106493698084787e-04 + 2.094281380089542e-04 + 2.082098992208740e-04 + 2.069946624015073e-04 + 2.057824366286796e-04 + 2.045732309577213e-04 + 2.033670545521807e-04 + 2.021639166762670e-04 + 2.009638266139778e-04 + 1.997667937615743e-04 + 1.985728276099416e-04 + 1.973819376249420e-04 + 1.961941334186818e-04 + 1.950094247288422e-04 + 1.938278211445808e-04 + 1.926493324216112e-04 + 1.914739685443153e-04 + 1.903017394244089e-04 + 1.891326549660665e-04 + 1.879667251315557e-04 + 1.868039600691931e-04 + 1.856443699312781e-04 + 1.844879648170397e-04 + 1.833347550402995e-04 + 1.821847509305592e-04 + 1.810379627269367e-04 + 1.798944008330572e-04 + 1.787540757117569e-04 + 1.776169978023503e-04 + 1.764831776083264e-04 + 1.753526257075039e-04 + 1.742253527510645e-04 + 1.731013693254543e-04 + 1.719806860311682e-04 + 1.708633135911149e-04 + 1.697492627671219e-04 + 1.686385443331759e-04 + 1.675311690584120e-04 + 1.664271477052953e-04 + 1.653264910845736e-04 + 1.642292101438652e-04 + 1.631353157524277e-04 + 1.620448187436031e-04 + 1.609577300754615e-04 + 1.598740606888992e-04 + 1.587938214812250e-04 + 1.577170233258566e-04 + 1.566436772168694e-04 + 1.555737942159133e-04 + 1.545073851968179e-04 + 1.534444610998845e-04 + 1.523850329588589e-04 + 1.513291117056277e-04 + 1.502767082718022e-04 + 1.492278336091406e-04 + 1.481824986061289e-04 + 1.471407142013266e-04 + 1.461024913960903e-04 + 1.450678410475480e-04 + 1.440367739871709e-04 + 1.430093010797408e-04 + 1.419854331666308e-04 + 1.409651810501559e-04 + 1.399485554884026e-04 + 1.389355672434459e-04 + 1.379262270311977e-04 + 1.369205454852166e-04 + 1.359185332657421e-04 + 1.349202010239166e-04 + 1.339255593445051e-04 + 1.329346186642912e-04 + 1.319473893926901e-04 + 1.309638820305585e-04 + 1.299841069283569e-04 + 1.290080743627276e-04 + 1.280357946577360e-04 + 1.270672779908064e-04 + 1.261025344295187e-04 + 1.251415740258344e-04 + 1.241844068414831e-04 + 1.232310428585276e-04 + 1.222814917974582e-04 + 1.213357634573326e-04 + 1.203938676644921e-04 + 1.194558139769228e-04 + 1.185216119071049e-04 + 1.175912709437735e-04 + 1.166648004395201e-04 + 1.157422096820540e-04 + 1.148235078941047e-04 + 1.139087041565015e-04 + 1.129978074560730e-04 + 1.120908266963163e-04 + 1.111877706801771e-04 + 1.102886481165339e-04 + 1.093934676008822e-04 + 1.085022375478793e-04 + 1.076149663238430e-04 + 1.067316622735248e-04 + 1.058523335072715e-04 + 1.049769880021785e-04 + 1.041056336506420e-04 + 1.032382782134568e-04 + 1.023749293560659e-04 + 1.015155946454073e-04 + 1.006602814254268e-04 + 9.980899691604087e-05 + 9.896174827822380e-05 + 9.811854249648769e-05 + 9.727938640362722e-05 + 9.644428669167931e-05 + 9.561324990949941e-05 + 9.478628247235907e-05 + 9.396339064407664e-05 + 9.314458052650697e-05 + 9.232985807344924e-05 + 9.151922908266137e-05 + 9.071269919463392e-05 + 8.991027389908417e-05 + 8.911195851702552e-05 + 8.831775819982511e-05 + 8.752767793866873e-05 + 8.674172256023528e-05 + 8.595989672073575e-05 + 8.518220490590348e-05 + 8.440865141920385e-05 + 8.363924039733809e-05 + 8.287397580722622e-05 + 8.211286142104977e-05 + 8.135590084051729e-05 + 8.060309749193613e-05 + 7.985445459658365e-05 + 7.910997520302950e-05 + 7.836966218298747e-05 + 7.763351820320998e-05 + 7.690154574559998e-05 + 7.617374709914362e-05 + 7.545012436145964e-05 + 7.473067944430294e-05 + 7.401541405207780e-05 + 7.330432968888297e-05 + 7.259742767376570e-05 + 7.189470911942744e-05 + 7.119617492698978e-05 + 7.050182580949816e-05 + 6.981166227552030e-05 + 6.912568461899398e-05 + 6.844389294104750e-05 + 6.776628713300132e-05 + 6.709286687130013e-05 + 6.642363163388969e-05 + 6.575858067871575e-05 + 6.509771305493562e-05 + 6.444102761503343e-05 + 6.378852298738557e-05 + 6.314019758583242e-05 + 6.249604962295056e-05 + 6.185607708979005e-05 + 6.122027775903875e-05 + 6.058864919749181e-05 + 5.996118875684596e-05 + 5.933789356597989e-05 + 5.871876053888907e-05 + 5.810378637807827e-05 + 5.749296757228591e-05 + 5.688630039241354e-05 + 5.628378087841946e-05 + 5.568540486517338e-05 + 5.509116797959273e-05 + 5.450106561933422e-05 + 5.391509296529475e-05 + 5.333324497665832e-05 + 5.275551640753726e-05 + 5.218190179953343e-05 + 5.161239545977182e-05 + 5.104699148146081e-05 + 5.048568375913861e-05 + 4.992846596763329e-05 + 4.937533154817934e-05 + 4.882627374147808e-05 + 4.828128557792042e-05 + 4.774035986717692e-05 + 4.720348921279551e-05 + 4.667066599018748e-05 + 4.614188237688400e-05 + 4.561713035194944e-05 + 4.509640165438987e-05 + 4.457968783032909e-05 + 4.406698023190481e-05 + 4.355826996891768e-05 + 4.305354796420506e-05 + 4.255280495560636e-05 + 4.205603144616347e-05 + 4.156321774032957e-05 + 4.107435395613752e-05 + 4.058942999665175e-05 + 4.010843556869507e-05 + 3.963136019085871e-05 + 3.915819316952545e-05 + 3.868892361719641e-05 + 3.822354046226270e-05 + 3.776203244031561e-05 + 3.730438809005640e-05 + 3.685059575689182e-05 + 3.640064360230198e-05 + 3.595451960373741e-05 + 3.551221155134442e-05 + 3.507370705450421e-05 + 3.463899354241650e-05 + 3.420805825588243e-05 + 3.378088825986720e-05 + 3.335747045272196e-05 + 3.293779155463552e-05 + 3.252183811026268e-05 + 3.210959649877579e-05 + 3.170105292073684e-05 + 3.129619341367949e-05 + 3.089500386055728e-05 + 3.049746997239612e-05 + 3.010357730585059e-05 + 2.971331126487755e-05 + 2.932665707619367e-05 + 2.894359982344077e-05 + 2.856412445132613e-05 + 2.818821573877814e-05 + 2.781585831987375e-05 + 2.744703669454755e-05 + 2.708173520948728e-05 + 2.671993807124836e-05 + 2.636162935767626e-05 + 2.600679300301263e-05 + 2.565541280257304e-05 + 2.530747242805460e-05 + 2.496295542635910e-05 + 2.462184521206604e-05 + 2.428412507785163e-05 + 2.394977819771233e-05 + 2.361878762181457e-05 + 2.329113628448998e-05 + 2.296680701293541e-05 + 2.264578251757474e-05 + 2.232804539557172e-05 + 2.201357814530585e-05 + 2.170236315904943e-05 + 2.139438272306276e-05 + 2.108961903561866e-05 + 2.078805419745760e-05 + 2.048967020582218e-05 + 2.019444897050880e-05 + 1.990237231614296e-05 + 1.961342197777572e-05 + 1.932757961462368e-05 + 1.904482680353188e-05 + 1.876514502948172e-05 + 1.848851571515060e-05 + 1.821492021640795e-05 + 1.794433980831370e-05 + 1.767675569461099e-05 + 1.741214902258527e-05 + 1.715050088166273e-05 + 1.689179228451716e-05 + 1.663600419203502e-05 + 1.638311752659296e-05 + 1.613311314360082e-05 + 1.588597184706167e-05 + 1.564167440067926e-05 + 1.540020151829502e-05 + 1.516153387453479e-05 + 1.492565211244357e-05 + 1.469253682958783e-05 + 1.446216858599219e-05 + 1.423452791421707e-05 + 1.400959531801727e-05 + 1.378735127470914e-05 + 1.356777623611474e-05 + 1.335085063337062e-05 + 1.313655487876277e-05 + 1.292486936494610e-05 + 1.271577446639333e-05 + 1.250925054517824e-05 + 1.230527796605363e-05 + 1.210383708165599e-05 + 1.190490823144681e-05 + 1.170847175649016e-05 + 1.151450799717159e-05 + 1.132299729345123e-05 + 1.113391999104486e-05 + 1.094725644586371e-05 + 1.076298702423590e-05 + 1.058109209097755e-05 + 1.040155202830912e-05 + 1.022434724511555e-05 + 1.004945815519835e-05 + 9.876865191434875e-06 + 9.706548817576976e-06 + 9.538489515829050e-06 + 9.372667791395497e-06 + 9.209064181113714e-06 + 9.047659251528417e-06 + 8.888433598428113e-06 + 8.731367852817854e-06 + 8.576442682615395e-06 + 8.423638791088146e-06 + 8.272936922653283e-06 + 8.124317863654203e-06 + 7.977762440936675e-06 + 7.833251528895281e-06 + 7.690766049713759e-06 + 7.550286971453687e-06 + 7.411795314787993e-06 + 7.275272152381047e-06 + 7.140698608042407e-06 + 7.008055865069554e-06 + 6.877325162999093e-06 + 6.748487797069182e-06 + 6.621525126924672e-06 + 6.496418573295794e-06 + 6.373149617974847e-06 + 6.251699810845691e-06 + 6.132050767139283e-06 + 6.014184168887862e-06 + 5.898081770597224e-06 + 5.783725394973654e-06 + 5.671096936050662e-06 + 5.560178365641361e-06 + 5.450951726966341e-06 + 5.343399138917566e-06 + 5.237502802602254e-06 + 5.133244993336976e-06 + 5.030608065950253e-06 + 4.929574461382145e-06 + 4.830126698086031e-06 + 4.732247378331277e-06 + 4.635919192753656e-06 + 4.541124912789582e-06 + 4.447847398958468e-06 + 4.356069602328335e-06 + 4.265774557056776e-06 + 4.176945389932598e-06 + 4.089565320281935e-06 + 4.003617653697645e-06 + 3.919085793399028e-06 + 3.835953236362346e-06 + 3.754203567594348e-06 + 3.673820472678765e-06 + 3.594787733829004e-06 + 3.517089224074456e-06 + 3.440708918621393e-06 + 3.365630891050476e-06 + 3.291839308866544e-06 + 3.219318444550688e-06 + 3.148052669614368e-06 + 3.078026451876596e-06 + 3.009224366838337e-06 + 2.941631088840265e-06 + 2.875231390541817e-06 + 2.810010156134118e-06 + 2.745952369256776e-06 + 2.683043113446972e-06 + 2.621267584374269e-06 + 2.560611078236376e-06 + 2.501058994098514e-06 + 2.442596843868032e-06 + 2.385210240033010e-06 + 2.328884899906223e-06 + 2.273606655048426e-06 + 2.219361438179688e-06 + 2.166135288678882e-06 + 2.113914360085187e-06 + 2.062684907096663e-06 + 2.012433292648363e-06 + 1.963145994708785e-06 + 1.914809593193956e-06 + 1.867410777738679e-06 + 1.820936351687259e-06 + 1.775373220609589e-06 + 1.730708401732302e-06 + 1.686929024947410e-06 + 1.644022323067757e-06 + 1.601975642837270e-06 + 1.560776441656341e-06 + 1.520412279298016e-06 + 1.480870830315665e-06 + 1.442139880698395e-06 + 1.404207319625165e-06 + 1.367061149777226e-06 + 1.330689483155573e-06 + 1.295080535963615e-06 + 1.260222640873472e-06 + 1.226104237141460e-06 + 1.192713867093549e-06 + 1.160040189500492e-06 + 1.128071969424555e-06 + 1.096798076008267e-06 + 1.066207493417804e-06 + 1.036289310659725e-06 + 1.007032721493895e-06 + 9.784270338592895e-07 + 9.504616588874799e-07 + 9.231261128777845e-07 + 8.964100256766087e-07 + 8.703031286825232e-07 + 8.447952585150839e-07 + 8.198763641874936e-07 + 7.955364948286083e-07 + 7.717658049346632e-07 + 7.485545598914059e-07 + 7.258931238786546e-07 + 7.037719665410901e-07 + 6.821816664988581e-07 + 6.611128998791421e-07 + 6.405564483055948e-07 + 6.205032003278225e-07 + 6.009441408121614e-07 + 5.818703600152187e-07 + 5.632730528626383e-07 + 5.451435094097432e-07 + 5.274731247677268e-07 + 5.102533965000488e-07 + 4.934759162480692e-07 + 4.771323800991179e-07 + 4.612145841662162e-07 + 4.457144176881476e-07 + 4.306238737382497e-07 + 4.159350428538716e-07 + 4.016401077051372e-07 + 3.877313539402903e-07 + 3.742011622647174e-07 + 3.610420046499709e-07 + 3.482464547968944e-07 + 3.358071790150475e-07 + 3.237169340794661e-07 + 3.119685770955318e-07 + 3.005550554375413e-07 + 2.894694062090586e-07 + 2.787047650882795e-07 + 2.682543557659438e-07 + 2.581114909968296e-07 + 2.482695801165890e-07 + 2.387221182727572e-07 + 2.294626890008751e-07 + 2.204849703818711e-07 + 2.117827241548630e-07 + 2.033497996067267e-07 + 1.951801384624956e-07 + 1.872677641420447e-07 + 1.796067867093452e-07 + 1.721914062527642e-07 + 1.650159027896018e-07 + 1.580746421942365e-07 + 1.513620776690125e-07 + 1.448727406655565e-07 + 1.386012477684331e-07 + 1.325423000867771e-07 + 1.266906752868051e-07 + 1.210412352836648e-07 + 1.155889239131470e-07 + 1.103287600176973e-07 + 1.052558455547364e-07 + 1.003653617115032e-07 + 9.565256321109978e-08 + 9.111278671292873e-08 + 8.674144556415159e-08 + 8.253402527034383e-08 + 7.848609177536523e-08 + 7.459328520671134e-08 + 7.085131661573615e-08 + 6.725597593242166e-08 + 6.380312478868793e-08 + 6.048869454868003e-08 + 5.730869376312298e-08 + 5.425920030057914e-08 + 5.133636064443935e-08 + 4.853639660958214e-08 + 4.585559704969457e-08 + 4.329031836991616e-08 + 4.083699031045398e-08 + 3.849210751108346e-08 + 3.625223113812888e-08 + 3.411399355038575e-08 + 3.207408998824199e-08 + 3.012928121511996e-08 + 2.827639696078167e-08 + 2.651232793166280e-08 + 2.483402934338396e-08 + 2.323852311474514e-08 + 2.172289034680298e-08 + 2.028427559044146e-08 + 1.891988778877689e-08 + 1.762699339728036e-08 + 1.640292125402531e-08 + 1.524506224991720e-08 + 1.415086320949184e-08 + 1.311783222446413e-08 + 1.214353712508316e-08 + 1.122560019257377e-08 + 1.036170378687137e-08 + 9.549587722603005e-09 + 8.787044877843281e-09 + 8.071926961605364e-09 + 7.402140903161946e-09 + 6.775645388472587e-09 + 6.190456604129221e-09 + 5.644643792323680e-09 + 5.136326726146161e-09 + 4.663681262833891e-09 + 4.224934232596794e-09 + 3.818361845837701e-09 + 3.442294891302550e-09 + 3.095113141246544e-09 + 2.775244665814773e-09 + 2.481170514027403e-09 + 2.211418834557044e-09 + 1.964565051498559e-09 + 1.739235878927056e-09 + 1.534103359980556e-09 + 1.347885831336700e-09 + 1.179351163642234e-09 + 1.027310894648576e-09 + 8.906218977827446e-10 + 7.681887799049897e-10 + 6.589582548472836e-10 + 5.619214238374888e-10 + 4.761152985830568e-10 + 4.006175343477256e-10 + 3.345492227248809e-10 + 2.770755362128679e-10 + 2.274009179016229e-10 + 1.847722840116674e-10 + 1.484788129161787e-10 + 1.178476648704315e-10 + 9.224748788184573e-11 + 7.108739902161543e-11 + 5.381328706422649e-11 + 3.991151299277479e-11 + 2.890715266694438e-11 + 2.036091648096713e-11 + 1.387293445657948e-11 + 9.080348320515963e-12 + 5.654863833225597e-12 + 3.306507674167889e-12 + 1.780689492983021e-12 + 8.563646514161430e-13 + 3.496037276049943e-13 + 1.104943293034196e-13 + 2.161027650041889e-14 + 5.028049336448720e-16 + 0.000000000000000e+00 + 0.000000000000000e+00 + 7.485272593961791e+04 + 1.493519318697679e+05 + 2.234970831294996e+05 + 2.972876533345640e+05 + 3.707231243774131e+05 + 4.438029864272003e+05 + 5.165267379297798e+05 + 5.888938856077072e+05 + 6.609039444602393e+05 + 7.325564377633340e+05 + 8.038508970696502e+05 + 8.747868622085482e+05 + 9.453638812860892e+05 + 1.015581510685036e+06 + 1.085439315064852e+06 + 1.154936867361703e+06 + 1.224073748788454e+06 + 1.292849548834672e+06 + 1.361263865266626e+06 + 1.429316304127287e+06 + 1.497006479736322e+06 + 1.564334014690106e+06 + 1.631298539861710e+06 + 1.697899694400910e+06 + 1.764137125734180e+06 + 1.830010489564698e+06 + 1.895519449872339e+06 + 1.960663678913685e+06 + 2.025442857222013e+06 + 2.089856673607306e+06 + 2.153904825156247e+06 + 2.217587017232217e+06 + 2.280902963475303e+06 + 2.343852385802290e+06 + 2.406435014406665e+06 + 2.468650587758616e+06 + 2.530498852605031e+06 + 2.591979563969503e+06 + 2.653092485152322e+06 + 2.713837387730482e+06 + 2.774214051557675e+06 + 2.834222264764299e+06 + 2.893861823757447e+06 + 2.953132533220919e+06 + 3.012034206115212e+06 + 3.070566663677527e+06 + 3.128729735421764e+06 + 3.186523259138526e+06 + 3.243947080895115e+06 + 3.301001055035538e+06 + 3.357685044180497e+06 + 3.413998919227402e+06 + 3.469942559350358e+06 + 3.525515852000176e+06 + 3.580718692904367e+06 + 3.635550986067140e+06 + 3.690012643769410e+06 + 3.744103586568788e+06 + 3.797823743299592e+06 + 3.851173051072835e+06 + 3.904151455276238e+06 + 3.956758909574216e+06 + 4.008995375907890e+06 + 4.060860824495079e+06 + 4.112355233830309e+06 + 4.163478590684799e+06 + 4.214230890106475e+06 + 4.264612135419963e+06 + 4.314622338226588e+06 + 4.364261518404378e+06 + 4.413529704108060e+06 + 4.462426931769069e+06 + 4.510953246095533e+06 + 4.559108700072286e+06 + 4.606893354960858e+06 + 4.654307280299488e+06 + 4.701350553903108e+06 + 4.748023261863358e+06 + 4.794325498548575e+06 + 4.840257366603798e+06 + 4.885818976950768e+06 + 4.931010448787929e+06 + 4.975831909590418e+06 + 5.020283495110085e+06 + 5.064365349375471e+06 + 5.108077624691823e+06 + 5.151420481641092e+06 + 5.194394089081923e+06 + 5.236998624149668e+06 + 5.279234272256376e+06 + 5.321101227090800e+06 + 5.362599690618395e+06 + 5.403729873081312e+06 + 5.444491992998408e+06 + 5.484886277165242e+06 + 5.524912960654069e+06 + 5.564572286813851e+06 + 5.603864507270245e+06 + 5.642789881925615e+06 + 5.681348678959022e+06 + 5.719541174826232e+06 + 5.757367654259708e+06 + 5.794828410268617e+06 + 5.831923744138825e+06 + 5.868653965432902e+06 + 5.905019391990117e+06 + 5.941020349926441e+06 + 5.976657173634544e+06 + 6.011930205783804e+06 + 6.046839797320290e+06 + 6.081386307466779e+06 + 6.115570103722748e+06 + 6.149391561864376e+06 + 6.182851065944540e+06 + 6.215949008292822e+06 + 6.248685789515501e+06 + 6.281061818495561e+06 + 6.313077512392686e+06 + 6.344733296643257e+06 + 6.376029604960365e+06 + 6.406966879333793e+06 + 6.437545570030033e+06 + 6.467766135592271e+06 + 6.497629042840399e+06 + 6.527134766871008e+06 + 6.556283791057392e+06 + 6.585076607049545e+06 + 6.613513714774162e+06 + 6.641595622434638e+06 + 6.669322846511072e+06 + 6.696695911760264e+06 + 6.723715351215711e+06 + 6.750381706187615e+06 + 6.776695526262878e+06 + 6.802657369305105e+06 + 6.828267801454599e+06 + 6.853527397128366e+06 + 6.878436739020114e+06 + 6.902996418100249e+06 + 6.927207033615881e+06 + 6.951069193090819e+06 + 6.974583512325577e+06 + 6.997750615397365e+06 + 7.020571134660101e+06 + 7.043045710744397e+06 + 7.065174992557568e+06 + 7.086959637283633e+06 + 7.108400310383311e+06 + 7.129497685594021e+06 + 7.150252444929884e+06 + 7.170665278681723e+06 + 7.190736885417059e+06 + 7.210467971980117e+06 + 7.229859253491821e+06 + 7.248911453349800e+06 + 7.267625303228384e+06 + 7.286001543078595e+06 + 7.304040921128170e+06 + 7.321744193881537e+06 + 7.339112126119829e+06 + 7.356145490900878e+06 + 7.372845069559221e+06 + 7.389211651706094e+06 + 7.405246035229432e+06 + 7.420949026293878e+06 + 7.436321439340766e+06 + 7.451364097088138e+06 + 7.466077830530737e+06 + 7.480463478940005e+06 + 7.494521889864086e+06 + 7.508253919127826e+06 + 7.521660430832772e+06 + 7.534742297357169e+06 + 7.547500399355968e+06 + 7.559935625760819e+06 + 7.572048873780073e+06 + 7.583841048898782e+06 + 7.595313064878696e+06 + 7.606465843758276e+06 + 7.617300315852673e+06 + 7.627817419753745e+06 + 7.638018102330050e+06 + 7.647903318726848e+06 + 7.657474032366097e+06 + 7.666731214946462e+06 + 7.675675846443305e+06 + 7.684308915108687e+06 + 7.692631417471377e+06 + 7.700644358336839e+06 + 7.708348750787240e+06 + 7.715745616181449e+06 + 7.722835984155037e+06 + 7.729620892620270e+06 + 7.736101387766127e+06 + 7.742278524058277e+06 + 7.748153364239094e+06 + 7.753726979327655e+06 + 7.759000448619737e+06 + 7.763974859687817e+06 + 7.768651308381077e+06 + 7.773030898825390e+06 + 7.777114743423343e+06 + 7.780903962854218e+06 + 7.784399686073998e+06 + 7.787603050315368e+06 + 7.790515201087713e+06 + 7.793137292177119e+06 + 7.795470485646380e+06 + 7.797515951834979e+06 + 7.799274869359110e+06 + 7.800748425111664e+06 + 7.801937814262233e+06 + 7.802844240257111e+06 + 7.803468914819297e+06 + 7.803813057948484e+06 + 7.803877897921070e+06 + 7.803664671290156e+06 + 7.803174622885538e+06 + 7.802409005813722e+06 + 7.801369081457905e+06 + 7.800056119477995e+06 + 7.798471397810592e+06 + 7.796616202669007e+06 + 7.794491828543244e+06 + 7.792099578200010e+06 + 7.789440762682715e+06 + 7.786516701311473e+06 + 7.783328721683091e+06 + 7.779878159671083e+06 + 7.776166359425665e+06 + 7.772194673373749e+06 + 7.767964462218953e+06 + 7.763477094941595e+06 + 7.758733948798692e+06 + 7.753736409323964e+06 + 7.748485870327833e+06 + 7.742983733897421e+06 + 7.737231410396548e+06 + 7.731230318465743e+06 + 7.724981885022229e+06 + 7.718487545259933e+06 + 7.711748742649483e+06 + 7.704766928938209e+06 + 7.697543564150140e+06 + 7.690080116586007e+06 + 7.682378062823243e+06 + 7.674438887715982e+06 + 7.666264084395060e+06 + 7.657855154268012e+06 + 7.649213607019073e+06 + 7.640340960609185e+06 + 7.631238741275986e+06 + 7.621908483533815e+06 + 7.612351730173716e+06 + 7.602570032263434e+06 + 7.592564949147409e+06 + 7.582338048446788e+06 + 7.571890906059416e+06 + 7.561225106159844e+06 + 7.550342241199316e+06 + 7.539243911905785e+06 + 7.527931727283904e+06 + 7.516407304615024e+06 + 7.504672269457198e+06 + 7.492728241314434e+06 + 7.480576638153253e+06 + 7.468218723741564e+06 + 7.455655760425863e+06 + 7.442889013018662e+06 + 7.429919748798485e+06 + 7.416749237509867e+06 + 7.403378751363355e+06 + 7.389809565035504e+06 + 7.376042955668893e+06 + 7.362080202872100e+06 + 7.347922588719724e+06 + 7.333571397752370e+06 + 7.319027916976659e+06 + 7.304293435865226e+06 + 7.289369246356713e+06 + 7.274256642855777e+06 + 7.258956922233087e+06 + 7.243471383825325e+06 + 7.227801329435183e+06 + 7.211948063331366e+06 + 7.195912892248592e+06 + 7.179697125387593e+06 + 7.163302074415106e+06 + 7.146729053463890e+06 + 7.129979379132709e+06 + 7.113054370486340e+06 + 7.095955349055575e+06 + 7.078683638837219e+06 + 7.061240566294081e+06 + 7.043627460354994e+06 + 7.025845652414794e+06 + 7.007896476334333e+06 + 6.989781268440476e+06 + 6.971501367526096e+06 + 6.953058114850082e+06 + 6.934452854137335e+06 + 6.915686931578767e+06 + 6.896761695831302e+06 + 6.877678498017876e+06 + 6.858438691727439e+06 + 6.839043633014950e+06 + 6.819494680401385e+06 + 6.799793194873727e+06 + 6.779940539884974e+06 + 6.759938081354136e+06 + 6.739787187666233e+06 + 6.719489229672301e+06 + 6.699045580689385e+06 + 6.678457616500544e+06 + 6.657726715354848e+06 + 6.636854257967380e+06 + 6.615841627519235e+06 + 6.594690209657516e+06 + 6.573401392495350e+06 + 6.551976566611862e+06 + 6.530417125052197e+06 + 6.508724463327511e+06 + 6.486899979414972e+06 + 6.464945073757762e+06 + 6.442861149265066e+06 + 6.420649611312096e+06 + 6.398311867740063e+06 + 6.375849328856199e+06 + 6.353263407433745e+06 + 6.330555518711952e+06 + 6.307727080396090e+06 + 6.284779512657427e+06 + 6.261714238133261e+06 + 6.238532681926889e+06 + 6.215236271607627e+06 + 6.191826437210800e+06 + 6.168304611237747e+06 + 6.144672228655818e+06 + 6.120930726898375e+06 + 6.097081545864792e+06 + 6.073126127920459e+06 + 6.049065917896771e+06 + 6.024902363091142e+06 + 6.000636913266994e+06 + 5.976271020653763e+06 + 5.951806139946896e+06 + 5.927243728307854e+06 + 5.902585245364108e+06 + 5.877832153209144e+06 + 5.852985916402456e+06 + 5.828048001969552e+06 + 5.803019879401957e+06 + 5.777903020657199e+06 + 5.752698900158828e+06 + 5.727408994796395e+06 + 5.702034783925475e+06 + 5.676577749367647e+06 + 5.651039375410506e+06 + 5.625421148807654e+06 + 5.599724558778713e+06 + 5.573951097009313e+06 + 5.548102257651095e+06 + 5.522179537321717e+06 + 5.496184435104840e+06 + 5.470118452550147e+06 + 5.443983093673326e+06 + 5.417779864956085e+06 + 5.391510275346133e+06 + 5.365175836257203e+06 + 5.338778061569033e+06 + 5.312318467627374e+06 + 5.285798573243992e+06 + 5.259219899696662e+06 + 5.232583970729172e+06 + 5.205892312551324e+06 + 5.179146453838928e+06 + 5.152347925733812e+06 + 5.125498261843814e+06 + 5.098598998242779e+06 + 5.071651673470572e+06 + 5.044657828533064e+06 + 5.017619006902143e+06 + 4.990536754515706e+06 + 4.963412619777663e+06 + 4.936248153557934e+06 + 4.909044909192459e+06 + 4.881804442483181e+06 + 4.854528311698059e+06 + 4.827218077571064e+06 + 4.799875303302180e+06 + 4.772501554557402e+06 + 4.745098399468737e+06 + 4.717667408634203e+06 + 4.690210155117837e+06 + 4.662728214449679e+06 + 4.635223164625784e+06 + 4.607696586108224e+06 + 4.580150061825077e+06 + 4.552585177170437e+06 + 4.525003520004408e+06 + 4.497406680653105e+06 + 4.469796251908661e+06 + 4.442173829029216e+06 + 4.414541009738924e+06 + 4.386899394227949e+06 + 4.359250585152469e+06 + 4.331596187634676e+06 + 4.303937809262771e+06 + 4.276277060090966e+06 + 4.248615552639492e+06 + 4.220954901894585e+06 + 4.193296725308497e+06 + 4.165642642799490e+06 + 4.137994276751838e+06 + 4.110353252015833e+06 + 4.082721195907769e+06 + 4.055099738209962e+06 + 4.027490511170732e+06 + 3.999895149504419e+06 + 3.972315290391369e+06 + 3.944752573477943e+06 + 3.917208640876513e+06 + 3.889685137165464e+06 + 3.862183709389194e+06 + 3.834706007058111e+06 + 3.807253682148634e+06 + 3.779828389103201e+06 + 3.752431784830255e+06 + 3.725065528704253e+06 + 3.697731282565667e+06 + 3.670430710720977e+06 + 3.643165479942679e+06 + 3.615937259469279e+06 + 3.588747721005293e+06 + 3.561598538721256e+06 + 3.534491389253709e+06 + 3.507427951705208e+06 + 3.480409907644318e+06 + 3.453438941105620e+06 + 3.426516738589706e+06 + 3.399644989063177e+06 + 3.372825383958653e+06 + 3.346070405300663e+06 + 3.319465764034668e+06 + 3.293075510459727e+06 + 3.266878224028187e+06 + 3.240869303162930e+06 + 3.215052515525467e+06 + 3.189425288821125e+06 + 3.163986116962672e+06 + 3.138734196986282e+06 + 3.113668261011591e+06 + 3.088787111422079e+06 + 3.064089610843659e+06 + 3.039574592322599e+06 + 3.015240898358055e+06 + 2.991087379108502e+06 + 2.967112887579310e+06 + 2.943316282301805e+06 + 2.919696425519270e+06 + 2.896252185185970e+06 + 2.872982434032476e+06 + 2.849886048305633e+06 + 2.826961910405915e+06 + 2.804208907130155e+06 + 2.781625929123051e+06 + 2.759211873644148e+06 + 2.736965641930875e+06 + 2.714886139213983e+06 + 2.692972277509980e+06 + 2.671222972611625e+06 + 2.649637144535781e+06 + 2.628213719738566e+06 + 2.606951628696007e+06 + 2.585849806893141e+06 + 2.564907195391811e+06 + 2.544122739173453e+06 + 2.523495389008342e+06 + 2.503024101022326e+06 + 2.482707834844927e+06 + 2.462545556054412e+06 + 2.442536236120740e+06 + 2.422678849863131e+06 + 2.402972377820649e+06 + 2.383415806334849e+06 + 2.364008125120872e+06 + 2.344748329835404e+06 + 2.325635421794777e+06 + 2.306668405813749e+06 + 2.287846292982958e+06 + 2.269168099757709e+06 + 2.250632846050586e+06 + 2.232239558087812e+06 + 2.213987266957964e+06 + 2.195875007435864e+06 + 2.177901821473463e+06 + 2.160066755143500e+06 + 2.142368857948063e+06 + 2.124807187017495e+06 + 2.107380803567688e+06 + 2.090088772295509e+06 + 2.072930165358991e+06 + 2.055904058912681e+06 + 2.039009532618940e+06 + 2.022245673041180e+06 + 2.005611571515091e+06 + 1.989106323649552e+06 + 1.972729030298793e+06 + 1.956478797095825e+06 + 1.940354734917566e+06 + 1.924355960016194e+06 + 1.908481592593613e+06 + 1.892730757829583e+06 + 1.877102587255698e+06 + 1.861596215902473e+06 + 1.846210783186639e+06 + 1.830945435012332e+06 + 1.815799321323061e+06 + 1.800771597138300e+06 + 1.785861422681660e+06 + 1.771067961851037e+06 + 1.756390384114008e+06 + 1.741827864373811e+06 + 1.727379581118251e+06 + 1.713044718232857e+06 + 1.698822464839031e+06 + 1.684712013805151e+06 + 1.670712563808684e+06 + 1.656823318006428e+06 + 1.643043483055245e+06 + 1.629372271790869e+06 + 1.615808901794204e+06 + 1.602352594044968e+06 + 1.589002574975609e+06 + 1.575758076322615e+06 + 1.562618333634041e+06 + 1.549582587186907e+06 + 1.536650081999105e+06 + 1.523820067124634e+06 + 1.511091797064626e+06 + 1.498464530780005e+06 + 1.485937531189585e+06 + 1.473510066471004e+06 + 1.461181408848471e+06 + 1.448950834625962e+06 + 1.436817625926470e+06 + 1.424781068397768e+06 + 1.412840451407005e+06 + 1.400995070309470e+06 + 1.389244224245752e+06 + 1.377587216393601e+06 + 1.366023355231714e+06 + 1.354551952598923e+06 + 1.343172324427429e+06 + 1.331883792566280e+06 + 1.320685682335073e+06 + 1.309577322956444e+06 + 1.298558048406515e+06 + 1.287627196362487e+06 + 1.276784109496439e+06 + 1.266028134784103e+06 + 1.255358622320226e+06 + 1.244774926866806e+06 + 1.234276408467881e+06 + 1.223862430240984e+06 + 1.213532358913532e+06 + 1.203285566621101e+06 + 1.193121428991948e+06 + 1.183039325468658e+06 + 1.173038640304339e+06 + 1.163118761212139e+06 + 1.153279079987504e+06 + 1.143518992564451e+06 + 1.133837898317260e+06 + 1.124235201394960e+06 + 1.114710310121780e+06 + 1.105262636013577e+06 + 1.095891594215875e+06 + 1.086596604396163e+06 + 1.077377090233802e+06 + 1.068232479242110e+06 + 1.059162202266971e+06 + 1.050165693700918e+06 + 1.041242393088349e+06 + 1.032391743039430e+06 + 1.023613189178869e+06 + 1.014906181731556e+06 + 1.006270174355871e+06 + 9.977046244036794e+05 + 9.892089935677024e+05 + 9.807827465832273e+05 + 9.724253516436865e+05 + 9.641362810046984e+05 + 9.559150102252770e+05 + 9.477610188719215e+05 + 9.396737899139688e+05 + 9.316528091743080e+05 + 9.236975665277143e+05 + 9.158075561735997e+05 + 9.079822751134991e+05 + 9.002212236533747e+05 + 8.925239057014534e+05 + 8.848898281604102e+05 + 8.773185021612709e+05 + 8.698094424648809e+05 + 8.623621663528095e+05 + 8.549761944053203e+05 + 8.476510510446843e+05 + 8.403862637513808e+05 + 8.331813638606276e+05 + 8.260358860837971e+05 + 8.189493675787508e+05 + 8.119213484350282e+05 + 8.049513730504208e+05 + 7.980389891667470e+05 + 7.911837471192866e+05 + 7.843852003599521e+05 + 7.776429053419405e+05 + 7.709564221446526e+05 + 7.643253140173181e+05 + 7.577491471803443e+05 + 7.512274911598503e+05 + 7.447599180231568e+05 + 7.383460026539576e+05 + 7.319853241781880e+05 + 7.256774641850799e+05 + 7.194220067146936e+05 + 7.132185395309449e+05 + 7.070666529520636e+05 + 7.009659400728574e+05 + 6.949159975085063e+05 + 6.889164244086053e+05 + 6.829668228095188e+05 + 6.770667979456050e+05 + 6.712159574726904e+05 + 6.654139120281750e+05 + 6.596602754201142e+05 + 6.539546638052445e+05 + 6.482966962660485e+05 + 6.426859949531512e+05 + 6.371221843431445e+05 + 6.316048918617199e+05 + 6.261337478197705e+05 + 6.207083848228143e+05 + 6.153284385055641e+05 + 6.099935472682050e+05 + 6.047033517354903e+05 + 5.994574954765684e+05 + 5.942556247644721e+05 + 5.890973881315375e+05 + 5.839824370501742e+05 + 5.789104255366600e+05 + 5.738810098259439e+05 + 5.688938490610282e+05 + 5.639486048510919e+05 + 5.590449410545636e+05 + 5.541825244030216e+05 + 5.493610239467514e+05 + 5.445801109611018e+05 + 5.398394595653637e+05 + 5.351387461239359e+05 + 5.304776492529869e+05 + 5.258558503354813e+05 + 5.212730328842620e+05 + 5.167288826663374e+05 + 5.122230881980868e+05 + 5.077553400369428e+05 + 5.033253309731948e+05 + 4.989327564601310e+05 + 4.945773139811803e+05 + 4.902587033143605e+05 + 4.859766266490913e+05 + 4.817307881770549e+05 + 4.775208945372272e+05 + 4.733466546121029e+05 + 4.692077791818720e+05 + 4.651039814988278e+05 + 4.610349770333872e+05 + 4.570004830895544e+05 + 4.530002193970305e+05 + 4.490339078641191e+05 + 4.451012721716975e+05 + 4.412020383482487e+05 + 4.373359346346440e+05 + 4.335026910461138e+05 + 4.297020398291695e+05 + 4.259337153289251e+05 + 4.221974536699117e+05 + 4.184929932504728e+05 + 4.148200744355357e+05 + 4.111784393468680e+05 + 4.075678324287459e+05 + 4.039879999559653e+05 + 4.004386899065928e+05 + 3.969196525836200e+05 + 3.934306400492930e+05 + 3.899714060581240e+05 + 3.865417066557175e+05 + 3.831412995849459e+05 + 3.797699442729113e+05 + 3.764274023566474e+05 + 3.731134371233769e+05 + 3.698278135622827e+05 + 3.665702987827645e+05 + 3.633406615280775e+05 + 3.601386722825769e+05 + 3.569641034535824e+05 + 3.538167290782596e+05 + 3.506963250581825e+05 + 3.476026690576235e+05 + 3.445355402744773e+05 + 3.414947198014101e+05 + 3.384799905288533e+05 + 3.354911367821696e+05 + 3.325279446663284e+05 + 3.295902021531574e+05 + 3.266776986085196e+05 + 3.237902250531212e+05 + 3.209275743946921e+05 + 3.180895409646722e+05 + 3.152759207164211e+05 + 3.124865112943467e+05 + 3.097211117598721e+05 + 3.069795229448014e+05 + 3.042615472339510e+05 + 3.015669883675390e+05 + 2.988956518738279e+05 + 2.962473447339852e+05 + 2.936218752484120e+05 + 2.910190535228683e+05 + 2.884386911235514e+05 + 2.858806009067059e+05 + 2.833445973150213e+05 + 2.808304963224871e+05 + 2.783381153152796e+05 + 2.758672731341289e+05 + 2.734177900017136e+05 + 2.709894875428715e+05 + 2.685821889451269e+05 + 2.661957187314447e+05 + 2.638299027837526e+05 + 2.614845683836235e+05 + 2.591595441417535e+05 + 2.568546601323142e+05 + 2.545697477628685e+05 + 2.523046396706559e+05 + 2.500591699434964e+05 + 2.478331740644226e+05 + 2.456264886409644e+05 + 2.434389516128850e+05 + 2.412704023657298e+05 + 2.391206814330098e+05 + 2.369896306904384e+05 + 2.348770933197599e+05 + 2.327829136173563e+05 + 2.307069372775990e+05 + 2.286490111745211e+05 + 2.266089832623643e+05 + 2.245867029748616e+05 + 2.225820209237310e+05 + 2.205947887183862e+05 + 2.186248592921233e+05 + 2.166720868039439e+05 + 2.147363264605261e+05 + 2.128174347706827e+05 + 2.109152693889452e+05 + 2.090296889843596e+05 + 2.071605535077064e+05 + 2.053077240108720e+05 + 2.034710625599661e+05 + 2.016504325007521e+05 + 1.998456982030229e+05 + 1.980567250370223e+05 + 1.962833797138016e+05 + 1.945255298870997e+05 + 1.927830441323482e+05 + 1.910557922964590e+05 + 1.893436452442803e+05 + 1.876464748512476e+05 + 1.859641540986015e+05 + 1.842965568967865e+05 + 1.826435581738182e+05 + 1.810050340354470e+05 + 1.793808614993985e+05 + 1.777709185575675e+05 + 1.761750842223128e+05 + 1.745932384546507e+05 + 1.730252623268235e+05 + 1.714710377603550e+05 + 1.699304475698536e+05 + 1.684033757560533e+05 + 1.668897071565261e+05 + 1.653893274220018e+05 + 1.639021233234161e+05 + 1.624279825159149e+05 + 1.609667934564489e+05 + 1.595184456811041e+05 + 1.580828296015031e+05 + 1.566598363968120e+05 + 1.552493582649543e+05 + 1.538512882702573e+05 + 1.524655202573447e+05 + 1.510919491064028e+05 + 1.497304705096718e+05 + 1.483809809029638e+05 + 1.470433777326744e+05 + 1.457175592117312e+05 + 1.444034242942686e+05 + 1.431008729933990e+05 + 1.418098060421684e+05 + 1.405301248671864e+05 + 1.392617319094920e+05 + 1.380045303259556e+05 + 1.367584239714278e+05 + 1.355233176631985e+05 + 1.342991169575939e+05 + 1.330857281367400e+05 + 1.318830583220329e+05 + 1.306910153813551e+05 + 1.295095079605118e+05 + 1.283384454277201e+05 + 1.271777378619642e+05 + 1.260272961737778e+05 + 1.248870320778846e+05 + 1.237568578844075e+05 + 1.226366865814357e+05 + 1.215264320654815e+05 + 1.204260088572700e+05 + 1.193353321256488e+05 + 1.182543179024696e+05 + 1.171828828329888e+05 + 1.161209441971572e+05 + 1.150684200368906e+05 + 1.140252290172446e+05 + 1.129912905290012e+05 + 1.119665246989244e+05 + 1.109508522377596e+05 + 1.099441945145749e+05 + 1.089464735474612e+05 + 1.079576119759672e+05 + 1.069775332658437e+05 + 1.060061613940063e+05 + 1.050434208615313e+05 + 1.040892370245828e+05 + 1.031435357647047e+05 + 1.022062434696232e+05 + 1.012772873208916e+05 + 1.003565950684523e+05 + 9.944409498683986e+04 + 9.853971604124359e+04 + 9.764338777276211e+04 + 9.675504027159151e+04 + 9.587460425195689e+04 + 9.500201099602232e+04 + 9.413719236230559e+04 + 9.328008081668093e+04 + 9.243060935253548e+04 + 9.158871152497102e+04 + 9.075432150057999e+04 + 8.992737394814150e+04 + 8.910780408381460e+04 + 8.829554772812854e+04 + 8.749054118346877e+04 + 8.669272128864085e+04 + 8.590202548133289e+04 + 8.511839166524833e+04 + 8.434175826486869e+04 + 8.357206428147563e+04 + 8.280924917713979e+04 + 8.205325293940101e+04 + 8.130401609766987e+04 + 8.056147962909786e+04 + 7.982558503959214e+04 + 7.909627435336930e+04 + 7.837349003289423e+04 + 7.765717506702039e+04 + 7.694727293156023e+04 + 7.624372753229675e+04 + 7.554648331079309e+04 + 7.485548516457589e+04 + 7.417067840840557e+04 + 7.349200889763620e+04 + 7.281942291879337e+04 + 7.215286716185752e+04 + 7.149228885123666e+04 + 7.083763563584826e+04 + 7.018885556144921e+04 + 6.954589717270633e+04 + 6.890870943981725e+04 + 6.827724174191867e+04 + 6.765144392787226e+04 + 6.703126624692857e+04 + 6.641665935636370e+04 + 6.580757439267423e+04 + 6.520396286738058e+04 + 6.460577668030654e+04 + 6.401296820028803e+04 + 6.342549017134596e+04 + 6.284329573351656e+04 + 6.226633845994343e+04 + 6.169457228450359e+04 + 6.112795154311772e+04 + 6.056643099463883e+04 + 6.000996574136701e+04 + 5.945851127624574e+04 + 5.891202351267684e+04 + 5.837045869755570e+04 + 5.783377345558033e+04 + 5.730192482224794e+04 + 5.677487016169035e+04 + 5.625256720967715e+04 + 5.573497408983271e+04 + 5.522204924870504e+04 + 5.471375150828325e+04 + 5.421004006036229e+04 + 5.371087441354901e+04 + 5.321621444975662e+04 + 5.272602039469258e+04 + 5.224025278120609e+04 + 5.175887251825204e+04 + 5.128184085536604e+04 + 5.080911934597862e+04 + 5.034066989608183e+04 + 4.987645473684455e+04 + 4.941643640415772e+04 + 4.896057778639881e+04 + 4.850884207769758e+04 + 4.806119277190277e+04 + 4.761759372195903e+04 + 4.717800906318111e+04 + 4.674240321587012e+04 + 4.631074096205200e+04 + 4.588298735942246e+04 + 4.545910774537743e+04 + 4.503906779825089e+04 + 4.462283347373459e+04 + 4.421037101686000e+04 + 4.380164697651120e+04 + 4.339662816996042e+04 + 4.299528171729217e+04 + 4.259757504220949e+04 + 4.220347581706527e+04 + 4.181295199605238e+04 + 4.142597183433527e+04 + 4.104250383855765e+04 + 4.066251680332360e+04 + 4.028597979815155e+04 + 3.991286213370509e+04 + 3.954313341370015e+04 + 3.917676350485435e+04 + 3.881372250661203e+04 + 3.845398080843414e+04 + 3.809750905736740e+04 + 3.774427812448402e+04 + 3.739425915595785e+04 + 3.704742356207799e+04 + 3.670374297805164e+04 + 3.636318929176292e+04 + 3.602573463927982e+04 + 3.569135138416072e+04 + 3.536001215672983e+04 + 3.503168981923036e+04 + 3.470635744840465e+04 + 3.438398837321134e+04 + 3.406455615393208e+04 + 3.374803457309094e+04 + 3.343439765983423e+04 + 3.312361965186892e+04 + 3.281567499925836e+04 + 3.251053841177231e+04 + 3.220818480242078e+04 + 3.190858928930939e+04 + 3.161172723179306e+04 + 3.131757418548949e+04 + 3.102610591483113e+04 + 3.073729842710719e+04 + 3.045112791454117e+04 + 3.016757076691534e+04 + 2.988660361584138e+04 + 2.960820327321778e+04 + 2.933234674204399e+04 + 2.905901125674980e+04 + 2.878817423326317e+04 + 2.851981328372868e+04 + 2.825390622682930e+04 + 2.799043106146120e+04 + 2.772936599846356e+04 + 2.747068942978120e+04 + 2.721437991599866e+04 + 2.696041623625263e+04 + 2.670877735469368e+04 + 2.645944239579323e+04 + 2.621239068106394e+04 + 2.596760172331024e+04 + 2.572505519859007e+04 + 2.548473096648493e+04 + 2.524660907253227e+04 + 2.501066972455740e+04 + 2.477689330466365e+04 + 2.454526037995217e+04 + 2.431575168300119e+04 + 2.408834810912627e+04 + 2.386303072521571e+04 + 2.363978076395976e+04 + 2.341857962988761e+04 + 2.319940888531031e+04 + 2.298225025100848e+04 + 2.276708562349589e+04 + 2.255389704384009e+04 + 2.234266670372097e+04 + 2.213337697918792e+04 + 2.192601038403303e+04 + 2.172054957464747e+04 + 2.151697738916041e+04 + 2.131527680276242e+04 + 2.111543093252480e+04 + 2.091742306098243e+04 + 2.072123660422193e+04 + 2.052685512482519e+04 + 2.033426234716574e+04 + 2.014344212098682e+04 + 1.995437843426629e+04 + 1.976705544479930e+04 + 1.958145743480243e+04 + 1.939756881213320e+04 + 1.921537413684756e+04 + 1.903485810052154e+04 + 1.885600554387774e+04 + 1.867880143037429e+04 + 1.850323084111479e+04 + 1.832927901452323e+04 + 1.815693131178678e+04 + 1.798617320994377e+04 + 1.781699034075772e+04 + 1.764936845332217e+04 + 1.748329340510924e+04 + 1.731875119617678e+04 + 1.715572795110660e+04 + 1.699420990919751e+04 + 1.683418344358223e+04 + 1.667563503873475e+04 + 1.651855128954979e+04 + 1.636291893365341e+04 + 1.620872481606836e+04 + 1.605595588699932e+04 + 1.590459923143625e+04 + 1.575464203906202e+04 + 1.560607160533683e+04 + 1.545887535681969e+04 + 1.531304082443131e+04 + 1.516855564487381e+04 + 1.502540756956110e+04 + 1.488358445432479e+04 + 1.474307426938193e+04 + 1.460386509288249e+04 + 1.446594509814283e+04 + 1.432930256776952e+04 + 1.419392589719183e+04 + 1.405980357729324e+04 + 1.392692420658459e+04 + 1.379527648729671e+04 + 1.366484921045415e+04 + 1.353563127160237e+04 + 1.340761167272577e+04 + 1.328077950662285e+04 + 1.315512397004589e+04 + 1.303063434970357e+04 + 1.290730001970431e+04 + 1.278511047006237e+04 + 1.266405528001385e+04 + 1.254412410683634e+04 + 1.242530670538782e+04 + 1.230759293022181e+04 + 1.219097272173875e+04 + 1.207543611008671e+04 + 1.196097321598039e+04 + 1.184757424417080e+04 + 1.173522949287449e+04 + 1.162392934478714e+04 + 1.151366426384512e+04 + 1.140442480834694e+04 + 1.129620161634352e+04 + 1.118898540470730e+04 + 1.108276698378667e+04 + 1.097753724013271e+04 + 1.087328713748510e+04 + 1.077000773143687e+04 + 1.066769015148828e+04 + 1.056632560317495e+04 + 1.046590537899618e+04 + 1.036642084361778e+04 + 1.026786343864257e+04 + 1.017022468912003e+04 + 1.007349618928313e+04 + 9.977669609110566e+03 + 9.882736699245763e+03 + 9.788689277747368e+03 + 9.695519238085319e+03 + 9.603218551128393e+03 + 9.511779252802526e+03 + 9.421193453258842e+03 + 9.331453338088948e+03 + 9.242551155902798e+03 + 9.154479227014926e+03 + 9.067229945268125e+03 + 8.980795767109534e+03 + 8.895169220035050e+03 + 8.810342900070031e+03 + 8.726309463870590e+03 + 8.643061639313548e+03 + 8.560592220958239e+03 + 8.478894062727115e+03 + 8.397960086705119e+03 + 8.317783279679375e+03 + 8.238356687487571e+03 + 8.159673421912185e+03 + 8.081726656780256e+03 + 8.004509624589081e+03 + 7.928015622553179e+03 + 7.852238006535134e+03 + 7.777170190090504e+03 + 7.702805651284038e+03 + 7.629137923269694e+03 + 7.556160595291118e+03 + 7.483867321684783e+03 + 7.412251809739373e+03 + 7.341307820993124e+03 + 7.271029178292266e+03 + 7.201409756944273e+03 + 7.132443488123264e+03 + 7.064124361053455e+03 + 6.996446414793790e+03 + 6.929403743407001e+03 + 6.862990497342477e+03 + 6.797200875139910e+03 + 6.732029129721631e+03 + 6.667469570161823e+03 + 6.603516551523545e+03 + 6.540164480186692e+03 + 6.477407817185619e+03 + 6.415241069687017e+03 + 6.353658796883785e+03 + 6.292655608307650e+03 + 6.232226157518487e+03 + 6.172365149982773e+03 + 6.113067340658933e+03 + 6.054327527853383e+03 + 5.996140560115221e+03 + 5.938501333076975e+03 + 5.881404784939355e+03 + 5.824845903828315e+03 + 5.768819722461626e+03 + 5.713321315085574e+03 + 5.658345805472132e+03 + 5.603888359764917e+03 + 5.549944184846402e+03 + 5.496508537213697e+03 + 5.443576713947663e+03 + 5.391144051368102e+03 + 5.339205932358427e+03 + 5.287757780134069e+03 + 5.236795058291703e+03 + 5.186313275265001e+03 + 5.136307977685731e+03 + 5.086774751617681e+03 + 5.037709226449485e+03 + 4.989107068721900e+03 + 4.940963984504954e+03 + 4.893275721702213e+03 + 4.846038063285039e+03 + 4.799246830729600e+03 + 4.752897888312231e+03 + 4.706987133608333e+03 + 4.661510499922751e+03 + 4.616463963202395e+03 + 4.571843532909213e+03 + 4.527645253893021e+03 + 4.483865209302220e+03 + 4.440499515324517e+03 + 4.397544325863069e+03 + 4.354995830474305e+03 + 4.312850249817291e+03 + 4.271103841242844e+03 + 4.229752898292512e+03 + 4.188793745275323e+03 + 4.148222740634546e+03 + 4.108036277499050e+03 + 4.068230779797937e+03 + 4.028802705831530e+03 + 3.989748546349355e+03 + 3.951064821861195e+03 + 3.912748086813885e+03 + 3.874794926585441e+03 + 3.837201956255947e+03 + 3.799965825835211e+03 + 3.763083213042953e+03 + 3.726550823283946e+03 + 3.690365398229224e+03 + 3.654523706502605e+03 + 3.619022543185401e+03 + 3.583858737044133e+03 + 3.549029144619817e+03 + 3.514530650270483e+03 + 3.480360168271582e+03 + 3.446514639490202e+03 + 3.412991033253400e+03 + 3.379786348393921e+03 + 3.346897609451590e+03 + 3.314321868815865e+03 + 3.282056205761040e+03 + 3.250097724763853e+03 + 3.218443559530467e+03 + 3.187090870156345e+03 + 3.156036839918450e+03 + 3.125278679259401e+03 + 3.094813626126841e+03 + 3.064638941053712e+03 + 3.034751909739014e+03 + 3.005149845581890e+03 + 2.975830084543172e+03 + 2.946789986568892e+03 + 2.918026936797055e+03 + 2.889538343339952e+03 + 2.861321641252218e+03 + 2.833374286700636e+03 + 2.805693756659566e+03 + 2.778277556469224e+03 + 2.751123212016022e+03 + 2.724228269242043e+03 + 2.697590301914011e+03 + 2.671206904109025e+03 + 2.645075688971241e+03 + 2.619194294405700e+03 + 2.593560380141823e+03 + 2.568171626715687e+03 + 2.543025737542386e+03 + 2.518120435211838e+03 + 2.493453462030127e+03 + 2.469022585172818e+03 + 2.444825590018873e+03 + 2.420860280374604e+03 + 2.397124484732366e+03 + 2.373616049394018e+03 + 2.350332838436762e+03 + 2.327272738609171e+03 + 2.304433655218562e+03 + 2.281813512846715e+03 + 2.259410255601743e+03 + 2.237221844685107e+03 + 2.215246260811306e+03 + 2.193481506123082e+03 + 2.171925598942706e+03 + 2.150576574458654e+03 + 2.129432488764117e+03 + 2.108491414442484e+03 + 2.087751441300839e+03 + 2.067210678851041e+03 + 2.046867252353801e+03 + 2.026719303565292e+03 + 2.006764993817073e+03 + 1.987002500493615e+03 + 1.967430017215378e+03 + 1.948045754608514e+03 + 1.928847939062915e+03 + 1.909834815497017e+03 + 1.891004644375446e+03 + 1.872355700452609e+03 + 1.853886275802303e+03 + 1.835594678424827e+03 + 1.817479231062563e+03 + 1.799538272810955e+03 + 1.781770158220284e+03 + 1.764173256646331e+03 + 1.746745953278825e+03 + 1.729486647489427e+03 + 1.712393752933919e+03 + 1.695465699568615e+03 + 1.678700930817119e+03 + 1.662097903850073e+03 + 1.645655091966725e+03 + 1.629370981458450e+03 + 1.613244072202941e+03 + 1.597272880432907e+03 + 1.581455933682248e+03 + 1.565791771294578e+03 + 1.550278951289465e+03 + 1.534916043199639e+03 + 1.519701626827566e+03 + 1.504634298568118e+03 + 1.489712666891078e+03 + 1.474935351996483e+03 + 1.460300988758884e+03 + 1.445808223853118e+03 + 1.431455716350942e+03 + 1.417242138357507e+03 + 1.403166173386480e+03 + 1.389226518010158e+03 + 1.375421881007569e+03 + 1.361750982089843e+03 + 1.348212553926219e+03 + 1.334805341072190e+03 + 1.321528098720046e+03 + 1.308379594477261e+03 + 1.295358607457036e+03 + 1.282463927300085e+03 + 1.269694355823267e+03 + 1.257048705895313e+03 + 1.244525800699936e+03 + 1.232124475203576e+03 + 1.219843575042076e+03 + 1.207681956049559e+03 + 1.195638485404256e+03 + 1.183712040621380e+03 + 1.171901509388141e+03 + 1.160205790292893e+03 + 1.148623791762007e+03 + 1.137154432301071e+03 + 1.125796641257775e+03 + 1.114549357263016e+03 + 1.103411528660030e+03 + 1.092382114454342e+03 + 1.081460082700689e+03 + 1.070644411095300e+03 + 1.059934087579793e+03 + 1.049328108720195e+03 + 1.038825480494848e+03 + 1.028425218971371e+03 + 1.018126348582361e+03 + 1.007927902927668e+03 + 9.978289254104482e+02 + 9.878284675679866e+02 + 9.779255898738762e+02 + 9.681193621623704e+02 + 9.584088623012988e+02 + 9.487931771658360e+02 + 9.392714022763922e+02 + 9.298426409505287e+02 + 9.205060057185552e+02 + 9.112606172437117e+02 + 9.021056036681564e+02 + 8.930401022331439e+02 + 8.840632580637879e+02 + 8.751742235821227e+02 + 8.663721600224155e+02 + 8.576562363107178e+02 + 8.490256285516970e+02 + 8.404795212594149e+02 + 8.320171064683727e+02 + 8.236375833541338e+02 + 8.153401590664150e+02 + 8.071240480244585e+02 + 7.989884718119321e+02 + 7.909326598382663e+02 + 7.829558483527250e+02 + 7.750572805483002e+02 + 7.672362073200991e+02 + 7.594918862313154e+02 + 7.518235817392584e+02 + 7.442305655888715e+02 + 7.367121158939042e+02 + 7.292675176279554e+02 + 7.218960630476328e+02 + 7.145970504767349e+02 + 7.073697847820883e+02 + 7.002135778527235e+02 + 6.931277475695276e+02 + 6.861116184218383e+02 + 6.791645215373005e+02 + 6.722857937677298e+02 + 6.654747784472139e+02 + 6.587308253877042e+02 + 6.520532900189463e+02 + 6.454415341582659e+02 + 6.388949257382737e+02 + 6.324128381494658e+02 + 6.259946511571761e+02 + 6.196397502963263e+02 + 6.133475264197438e+02 + 6.071173768094372e+02 + 6.009487042352257e+02 + 5.948409165626937e+02 + 5.887934278801442e+02 + 5.828056577149104e+02 + 5.768770306335107e+02 + 5.710069770500405e+02 + 5.651949326339243e+02 + 5.594403381224611e+02 + 5.537426401234757e+02 + 5.481012901152631e+02 + 5.425157443662293e+02 + 5.369854648776029e+02 + 5.315099185870243e+02 + 5.260885773011631e+02 + 5.207209179649268e+02 + 5.154064223119497e+02 + 5.101445770921985e+02 + 5.049348740937783e+02 + 4.997768095346806e+02 + 4.946698844046663e+02 + 4.896136047862775e+02 + 4.846074811232588e+02 + 4.796510285618583e+02 + 4.747437670096575e+02 + 4.698852205388910e+02 + 4.650749179071526e+02 + 4.603123926691712e+02 + 4.555971823563725e+02 + 4.509288288727789e+02 + 4.463068788207030e+02 + 4.417308827523721e+02 + 4.372003955530256e+02 + 4.327149765501697e+02 + 4.282741889383891e+02 + 4.238776002586995e+02 + 4.195247821802792e+02 + 4.152153101301976e+02 + 4.109487639564401e+02 + 4.067247273397822e+02 + 4.025427875685178e+02 + 3.984025363858318e+02 + 3.943035692477232e+02 + 3.902454851077117e+02 + 3.862278871965347e+02 + 3.822503823673904e+02 + 3.783125809462488e+02 + 3.744140974100913e+02 + 3.705545496319825e+02 + 3.667335588488600e+02 + 3.629507504654170e+02 + 3.592057531920941e+02 + 3.554981990087823e+02 + 3.518277237997781e+02 + 3.481939667588409e+02 + 3.445965704231110e+02 + 3.410351808614133e+02 + 3.375094474036331e+02 + 3.340190228447264e+02 + 3.305635632260179e+02 + 3.271427276872922e+02 + 3.237561788604219e+02 + 3.204035826343936e+02 + 3.170846077594078e+02 + 3.137989262426811e+02 + 3.105462135925898e+02 + 3.073261480789523e+02 + 3.041384108878384e+02 + 3.009826866110996e+02 + 2.978586626197819e+02 + 2.947660292278245e+02 + 2.917044799774912e+02 + 2.886737110898206e+02 + 2.856734216347172e+02 + 2.827033138205502e+02 + 2.797630925185924e+02 + 2.768524653868921e+02 + 2.739711430162750e+02 + 2.711188386172004e+02 + 2.682952682417776e+02 + 2.655001507075566e+02 + 2.627332073441469e+02 + 2.599941621974095e+02 + 2.572827420191948e+02 + 2.545986760992428e+02 + 2.519416963867954e+02 + 2.493115374004747e+02 + 2.467079361520411e+02 + 2.441306322519956e+02 + 2.415793676749632e+02 + 2.390538868162835e+02 + 2.365539368283623e+02 + 2.340792670618049e+02 + 2.316296291092408e+02 + 2.292047772816256e+02 + 2.268044680583002e+02 + 2.244284601550858e+02 + 2.220765149177526e+02 + 2.197483957886078e+02 + 2.174438683808943e+02 + 2.151627007150871e+02 + 2.129046628991759e+02 + 2.106695273325222e+02 + 2.084570687245048e+02 + 2.062670637405841e+02 + 2.040992912166423e+02 + 2.019535322675416e+02 + 1.998295699356443e+02 + 1.977271893831886e+02 + 1.956461779038128e+02 + 1.935863247355415e+02 + 1.915474213798307e+02 + 1.895292611678483e+02 + 1.875316391958052e+02 + 1.855543528482985e+02 + 1.835972014670904e+02 + 1.816599861324650e+02 + 1.797425099308505e+02 + 1.778445779263947e+02 + 1.759659969484732e+02 + 1.741065756739388e+02 + 1.722661246609050e+02 + 1.704444562587039e+02 + 1.686413847511611e+02 + 1.668567261386198e+02 + 1.650902980928235e+02 + 1.633419201885993e+02 + 1.616114136777071e+02 + 1.598986014805750e+02 + 1.582033083619683e+02 + 1.565253606828442e+02 + 1.548645864376032e+02 + 1.532208154238845e+02 + 1.515938789750561e+02 + 1.499836100268175e+02 + 1.483898432531407e+02 + 1.468124148175615e+02 + 1.452511624739094e+02 + 1.437059256375598e+02 + 1.421765451600804e+02 + 1.406628634671130e+02 + 1.391647245894945e+02 + 1.376819739463268e+02 + 1.362144585029153e+02 + 1.347620267668397e+02 + 1.333245285902542e+02 + 1.319018153476916e+02 + 1.304937399101563e+02 + 1.291001564496927e+02 + 1.277209206089626e+02 + 1.263558894821456e+02 + 1.250049214462411e+02 + 1.236678763269726e+02 + 1.223446153162142e+02 + 1.210350008534558e+02 + 1.197388968258891e+02 + 1.184561684202564e+02 + 1.171866820332312e+02 + 1.159303054814129e+02 + 1.146869078350233e+02 + 1.134563593521917e+02 + 1.122385316718855e+02 + 1.110332976232454e+02 + 1.098405311979204e+02 + 1.086601077608261e+02 + 1.074919038117468e+02 + 1.063357969778381e+02 + 1.051916662270612e+02 + 1.040593916259906e+02 + 1.029388543466298e+02 + 1.018299368341955e+02 + 1.007325226151947e+02 + 9.964649633160360e+01 + 9.857174381861689e+01 + 9.750815195741964e+01 + 9.645560874783912e+01 + 9.541400332430685e+01 + 9.438322582683587e+01 + 9.336316750654088e+01 + 9.235372071959520e+01 + 9.135477878367931e+01 + 9.036623609174318e+01 + 8.938798812110527e+01 + 8.841993128541375e+01 + 8.746196304638978e+01 + 8.651398190997742e+01 + 8.557588728936869e+01 + 8.464757961904559e+01 + 8.372896034435935e+01 + 8.281993180539014e+01 + 8.192039735296085e+01 + 8.103026128111058e+01 + 8.014942874495698e+01 + 7.927780590401203e+01 + 7.841529983858037e+01 + 7.756181847617736e+01 + 7.671727071446733e+01 + 7.588156631674119e+01 + 7.505461587372024e+01 + 7.423633095310755e+01 + 7.342662394299153e+01 + 7.262540803009301e+01 + 7.183259736215271e+01 + 7.104810687905130e+01 + 7.027185230277652e+01 + 6.950375028269488e+01 + 6.874371822566854e+01 + 6.799167430460268e+01 + 6.724753760248480e+01 + 6.651122793902957e+01 + 6.578266588744034e+01 + 6.506177289160765e+01 + 6.434847109859102e+01 + 6.364268339115934e+01 + 6.294433351272004e+01 + 6.225334589309644e+01 + 6.156964567793161e+01 + 6.089315882540817e+01 + 6.022381196253272e+01 + 5.956153243192431e+01 + 5.890624835784802e+01 + 5.825788851805937e+01 + 5.761638239540161e+01 + 5.698166019812880e+01 + 5.635365277455941e+01 + 5.573229169643452e+01 + 5.511750921575248e+01 + 5.450923819422894e+01 + 5.390741220139490e+01 + 5.331196548214332e+01 + 5.272283288224639e+01 + 5.213994992103501e+01 + 5.156325275682114e+01 + 5.099267813956413e+01 + 5.042816349744366e+01 + 4.986964685712531e+01 + 4.931706681520628e+01 + 4.877036264381848e+01 + 4.822947419115650e+01 + 4.769434186145065e+01 + 4.716490671386568e+01 + 4.664111036072763e+01 + 4.612289496053356e+01 + 4.561020331071316e+01 + 4.510297873475514e+01 + 4.460116508782800e+01 + 4.410470685618211e+01 + 4.361354903662819e+01 + 4.312763714409483e+01 + 4.264691728541290e+01 + 4.217133607138089e+01 + 4.170084064118655e+01 + 4.123537869187841e+01 + 4.077489840121474e+01 + 4.031934846724150e+01 + 3.986867813088396e+01 + 3.942283710103097e+01 + 3.898177559914080e+01 + 3.854544435810492e+01 + 3.811379455962712e+01 + 3.768677789368684e+01 + 3.726434656726136e+01 + 3.684645322013298e+01 + 3.643305096011807e+01 + 3.602409338288954e+01 + 3.561953452360934e+01 + 3.521932891649128e+01 + 3.482343153306697e+01 + 3.443179775085747e+01 + 3.404438343901749e+01 + 3.366114490993698e+01 + 3.328203887889210e+01 + 3.290702252020257e+01 + 3.253605343510379e+01 + 3.216908962260722e+01 + 3.180608952699355e+01 + 3.144701200592500e+01 + 3.109181631097627e+01 + 3.074046212448961e+01 + 3.039290952642646e+01 + 3.004911898312090e+01 + 2.970905136572861e+01 + 2.937266792505025e+01 + 2.903993030352619e+01 + 2.871080057194543e+01 + 2.838524113862799e+01 + 2.806321475945346e+01 + 2.774468462701056e+01 + 2.742961427426368e+01 + 2.711796757973106e+01 + 2.680970882898042e+01 + 2.650480264209962e+01 + 2.620321398820359e+01 + 2.590490820737408e+01 + 2.560985096325826e+01 + 2.531800827674159e+01 + 2.502934653543958e+01 + 2.474383242809609e+01 + 2.446143296972707e+01 + 2.418211555345684e+01 + 2.390584787621480e+01 + 2.363259794654911e+01 + 2.336233413255323e+01 + 2.309502509558490e+01 + 2.283063979379989e+01 + 2.256914753657127e+01 + 2.231051792982671e+01 + 2.205472087402378e+01 + 2.180172658443576e+01 + 2.155150556919213e+01 + 2.130402866286656e+01 + 2.105926696778129e+01 + 2.081719185319289e+01 + 2.057777503962135e+01 + 2.034098850331043e+01 + 2.010680447006149e+01 + 1.987519550063876e+01 + 1.964613442528577e+01 + 1.941959432580914e+01 + 1.919554855827313e+01 + 1.897397075515799e+01 + 1.875483482712853e+01 + 1.853811494931854e+01 + 1.832378554313712e+01 + 1.811182128985819e+01 + 1.790219714756028e+01 + 1.769488831219516e+01 + 1.748987022919803e+01 + 1.728711861052799e+01 + 1.708660939866258e+01 + 1.688831878332332e+01 + 1.669222321036695e+01 + 1.649829934690638e+01 + 1.630652410217020e+01 + 1.611687463464447e+01 + 1.592932831698975e+01 + 1.574386275792588e+01 + 1.556045580679505e+01 + 1.537908552081595e+01 + 1.519973018767385e+01 + 1.502236832516821e+01 + 1.484697865494502e+01 + 1.467354012841447e+01 + 1.450203191274907e+01 + 1.433243337158686e+01 + 1.416472409674524e+01 + 1.399888388846149e+01 + 1.383489273805109e+01 + 1.367273085728561e+01 + 1.351237865788487e+01 + 1.335381673920349e+01 + 1.319702591751814e+01 + 1.304198719993403e+01 + 1.288868177614133e+01 + 1.273709104714046e+01 + 1.258719659672914e+01 + 1.243898018736778e+01 + 1.229242378719869e+01 + 1.214750954184370e+01 + 1.200421977308728e+01 + 1.186253699764556e+01 + 1.172244390266849e+01 + 1.158392335040491e+01 + 1.144695839482221e+01 + 1.131153225250660e+01 + 1.117762830926809e+01 + 1.104523013501555e+01 + 1.091432145806843e+01 + 1.078488617566414e+01 + 1.065690836231677e+01 + 1.053037224372639e+01 + 1.040526220941685e+01 + 1.028156282144551e+01 + 1.015925878941852e+01 + 1.003833498402321e+01 + 9.918776439618298e+00 + 9.800568334039683e+00 + 9.683696005431957e+00 + 9.568144946174611e+00 + 9.453900787919052e+00 + 9.340949322860192e+00 + 9.229276489267212e+00 + 9.118868359446189e+00 + 9.009711163642070e+00 + 8.901791273796370e+00 + 8.795095191785947e+00 + 8.689609570648638e+00 + 8.585321201853549e+00 + 8.482217005296002e+00 + 8.380284046581689e+00 + 8.279509523576925e+00 + 8.179880760330461e+00 + 8.081385224417300e+00 + 7.984010508389771e+00 + 7.887744326863491e+00 + 7.792574535206823e+00 + 7.698489109519010e+00 + 7.605476146133772e+00 + 7.513523878187234e+00 + 7.422620653280592e+00 + 7.332754935473541e+00 + 7.243915322674125e+00 + 7.156090524556396e+00 + 7.069269365741123e+00 + 6.983440797017198e+00 + 6.898593877074525e+00 + 6.814717779007339e+00 + 6.731801797516630e+00 + 6.649835331100769e+00 + 6.568807890289103e+00 + 6.488709103685009e+00 + 6.409528699865692e+00 + 6.331256515961359e+00 + 6.253882503643640e+00 + 6.177396712290002e+00 + 6.101789297547966e+00 + 6.027050522250886e+00 + 5.953170745278158e+00 + 5.880140434362498e+00 + 5.807950156612827e+00 + 5.736590570385212e+00 + 5.666052441485230e+00 + 5.596326632559173e+00 + 5.527404095182261e+00 + 5.459275884510260e+00 + 5.391933149962507e+00 + 5.325367127621260e+00 + 5.259569151260657e+00 + 5.194530647433734e+00 + 5.130243129823101e+00 + 5.066698206416531e+00 + 5.003887570881058e+00 + 4.941803001453549e+00 + 4.880436373900456e+00 + 4.819779643419130e+00 + 4.759824844738533e+00 + 4.700564110200850e+00 + 4.641989649988083e+00 + 4.584093751736625e+00 + 4.526868793565781e+00 + 4.470307230074105e+00 + 4.414401594729965e+00 + 4.359144507919768e+00 + 4.304528662004969e+00 + 4.250546825086277e+00 + 4.197191851627622e+00 + 4.144456666159979e+00 + 4.092334266478478e+00 + 4.040817732600400e+00 + 3.989900213340690e+00 + 3.939574930757155e+00 + 3.889835183170760e+00 + 3.840674335613269e+00 + 3.792085827136757e+00 + 3.744063169627271e+00 + 3.696599938809659e+00 + 3.649689781941428e+00 + 3.603326418080199e+00 + 3.557503628382808e+00 + 3.512215261374414e+00 + 3.467455236465362e+00 + 3.423217534816642e+00 + 3.379496201686086e+00 + 3.336285348654454e+00 + 3.293579148649655e+00 + 3.251371841226642e+00 + 3.209657725464606e+00 + 3.168431157939940e+00 + 3.127686563504146e+00 + 3.087418425005168e+00 + 3.047621281181530e+00 + 3.008289735457784e+00 + 2.969418446796439e+00 + 2.931002129285814e+00 + 2.893035560502260e+00 + 2.855513571053400e+00 + 2.818431044951714e+00 + 2.781782927380857e+00 + 2.745564215550934e+00 + 2.709769959926351e+00 + 2.674395268211684e+00 + 2.639435297946605e+00 + 2.604885259637663e+00 + 2.570740420206636e+00 + 2.536996093812299e+00 + 2.503647644969884e+00 + 2.470690493614489e+00 + 2.438120105903952e+00 + 2.405931997235836e+00 + 2.374121735683807e+00 + 2.342684934097179e+00 + 2.311617253784086e+00 + 2.280914406216957e+00 + 2.250572146781167e+00 + 2.220586279273893e+00 + 2.190952653478714e+00 + 2.161667162009881e+00 + 2.132725747880213e+00 + 2.104124396422602e+00 + 2.075859132902099e+00 + 2.047926031580743e+00 + 2.020321209266692e+00 + 1.993040822266800e+00 + 1.966081073072867e+00 + 1.939438205166541e+00 + 1.913108500802827e+00 + 1.887088286918805e+00 + 1.861373929947225e+00 + 1.835961834345823e+00 + 1.810848447621857e+00 + 1.786030255213551e+00 + 1.761503779943143e+00 + 1.737265586321442e+00 + 1.713312275115213e+00 + 1.689640483715834e+00 + 1.666246890168493e+00 + 1.643128207113473e+00 + 1.620281182788458e+00 + 1.597702604935450e+00 + 1.575389294699183e+00 + 1.553338108095691e+00 + 1.531545938928566e+00 + 1.510009713407906e+00 + 1.488726392261371e+00 + 1.467692971937850e+00 + 1.446906480207705e+00 + 1.426363979153670e+00 + 1.406062564959602e+00 + 1.385999363940103e+00 + 1.366171536058216e+00 + 1.346576274130787e+00 + 1.327210800124654e+00 + 1.308072368828510e+00 + 1.289158266486426e+00 + 1.270465807665891e+00 + 1.251992339187792e+00 + 1.233735237889272e+00 + 1.215691907984316e+00 + 1.197859785096899e+00 + 1.180236333919823e+00 + 1.162819045897185e+00 + 1.145605442741095e+00 + 1.128593073973588e+00 + 1.111779515284567e+00 + 1.095162371880828e+00 + 1.078739275475473e+00 + 1.062507883334588e+00 + 1.046465881646835e+00 + 1.030610981874106e+00 + 1.014940920295882e+00 + 9.994534611152829e-01 + 9.841463930086627e-01 + 9.690175291593270e-01 + 9.540647093618980e-01 + 9.392857969051628e-01 + 9.246786792729085e-01 + 9.102412696338000e-01 + 8.959715035501604e-01 + 8.818673402027871e-01 + 8.679267639726700e-01 + 8.541477806828601e-01 + 8.405284189410931e-01 + 8.270667316623297e-01 + 8.137607925445277e-01 + 8.006086976874616e-01 + 7.876085666023992e-01 + 7.747585387876328e-01 + 7.620567754307064e-01 + 7.495014602973783e-01 + 7.370907966216457e-01 + 7.248230088485250e-01 + 7.126963429559050e-01 + 7.007090638413013e-01 + 6.888594572109231e-01 + 6.771458292779966e-01 + 6.655665045807759e-01 + 6.541198279036498e-01 + 6.428041637825399e-01 + 6.316178947210964e-01 + 6.205594229105623e-01 + 6.096271692194244e-01 + 5.988195719936049e-01 + 5.881350889221284e-01 + 5.775721954595900e-01 + 5.671293841176136e-01 + 5.568051664208875e-01 + 5.465980707194322e-01 + 5.365066418737608e-01 + 5.265294432641988e-01 + 5.166650544231339e-01 + 5.069120710261563e-01 + 4.972691065208522e-01 + 4.877347899800689e-01 + 4.783077664492044e-01 + 4.689866979017357e-01 + 4.597702612073233e-01 + 4.506571489021905e-01 + 4.416460700276524e-01 + 4.327357479310139e-01 + 4.239249212044141e-01 + 4.152123442913231e-01 + 4.065967853823845e-01 + 3.980770275573000e-01 + 3.896518691214699e-01 + 3.813201217302061e-01 + 3.730806117264635e-01 + 3.649321798861945e-01 + 3.568736798624809e-01 + 3.489039797704173e-01 + 3.410219613244947e-01 + 3.332265187013593e-01 + 3.255165605086018e-01 + 3.178910083898543e-01 + 3.103487958586359e-01 + 3.028888701360887e-01 + 2.955101913786422e-01 + 2.882117315106021e-01 + 2.809924755137371e-01 + 2.738514204626846e-01 + 2.667875748867065e-01 + 2.597999604522775e-01 + 2.528876103054370e-01 + 2.460495685714950e-01 + 2.392848919788540e-01 + 2.325926484518769e-01 + 2.259719167857841e-01 + 2.194217877354759e-01 + 2.129413627175208e-01 + 2.065297538274627e-01 + 2.001860848470379e-01 + 1.939094897086202e-01 + 1.876991127051828e-01 + 1.815541094417414e-01 + 1.754736452756007e-01 + 1.694568956974621e-01 + 1.635030470498157e-01 + 1.576112950508609e-01 + 1.517808453564031e-01 + 1.460109140364644e-01 + 1.403007261766342e-01 + 1.346495165784953e-01 + 1.290565300180611e-01 + 1.235210199704221e-01 + 1.180422494287421e-01 + 1.126194909047226e-01 + 1.072520253105725e-01 + 1.019391428882170e-01 + 9.668014295417104e-02 + 9.147433293860986e-02 + 8.632102939670111e-02 + 8.121955756354367e-02 + 7.616925052308399e-02 + 7.116945022739722e-02 + 6.621950693894064e-02 + 6.131877854698166e-02 + 5.646663155698649e-02 + 5.166244039926220e-02 + 4.690558691983024e-02 + 4.219546135291571e-02 + 3.753146148005052e-02 + 3.291299228995687e-02 + 2.833946692296159e-02 + 2.381030573044091e-02 + 1.932493608562982e-02 + 1.488279323951757e-02 + 1.048331933378767e-02 + 6.125963364112487e-03 + 1.810181928441051e-03 + -2.464561780353438e-03 + -6.698797872311066e-03 + -1.089304914227914e-02 + -1.504783206514415e-02 + -1.916365656771068e-02 + -2.324102555134537e-02 + -2.728043585421590e-02 + -3.128237791440187e-02 + -3.524733543518016e-02 + -3.917578628623598e-02 + -4.306820207473552e-02 + -4.692504798332473e-02 + -5.074678357205704e-02 + -5.453386225593208e-02 + -5.828673132987599e-02 + -6.200583267980977e-02 + -6.569160218738558e-02 + -6.934446987831328e-02 + -7.296486055963237e-02 + -7.655319319650564e-02 + -8.010988114185758e-02 + -8.363533270338043e-02 + -8.712995053780122e-02 + -9.059413193193132e-02 + -9.402826926020177e-02 + -9.743274938790861e-02 + -1.008079541064505e-01 + -1.041542604608216e-01 + -1.074720401131623e-01 + -1.107616598682374e-01 + -1.140234819193764e-01 + -1.172578632830942e-01 + -1.204651563472630e-01 + -1.236457089966172e-01 + -1.267998640735528e-01 + -1.299279600346222e-01 + -1.330303309819349e-01 + -1.361073061299021e-01 + -1.391592104828469e-01 + -1.421863647988072e-01 + -1.451890851855495e-01 + -1.481676836992942e-01 + -1.511224682100277e-01 + -1.540537421399553e-01 + -1.569618050599837e-01 + -1.598469524764272e-01 + -1.627094755828420e-01 + -1.655496618778017e-01 + -1.683677949236447e-01 + -1.711641541517163e-01 + -1.739390154343296e-01 + -1.766926508045859e-01 + -1.794253283544359e-01 + -1.821373127460387e-01 + -1.848288648981078e-01 + -1.875002419786971e-01 + -1.901516978443653e-01 + -1.927834826976386e-01 + -1.953958431846420e-01 + -1.979890227559544e-01 + -2.005632612952037e-01 + -2.031187952951354e-01 + -2.056558581586019e-01 + -2.081746798356756e-01 + -2.106754870586183e-01 + -2.131585035595214e-01 + -2.156239496932611e-01 + -2.180720427808593e-01 + -2.205029972492180e-01 + -2.229170242226580e-01 + -2.253143319488933e-01 + -2.276951258807381e-01 + -2.300596082676421e-01 + -2.324079786235529e-01 + -2.347404337552020e-01 + -2.370571673694448e-01 + -2.393583705568364e-01 + -2.416442317867498e-01 + -2.439149365965413e-01 + -2.461706679522762e-01 + -2.484116061949506e-01 + -2.506379289887288e-01 + -2.528498115997045e-01 + -2.550474267213886e-01 + -2.572309443123204e-01 + -2.594005320626763e-01 + -2.615563552809436e-01 + -2.636985766193694e-01 + -2.658273564814242e-01 + -2.679428529152917e-01 + -2.700452216727706e-01 + -2.721346163277996e-01 + -2.742111879420810e-01 + -2.762750854486131e-01 + -2.783264557785196e-01 + -2.803654434689624e-01 + -2.823921908087395e-01 + -2.844068381756654e-01 + -2.864095239109061e-01 + -2.884003839950212e-01 + -2.903795524955394e-01 + -2.923471617904532e-01 + -2.943033420191942e-01 + -2.962482212763220e-01 + -2.981819256807660e-01 + -3.001045795717013e-01 + -3.020163055275332e-01 + -3.039172239885258e-01 + -3.058074538261057e-01 + -3.076871122705734e-01 + -3.095563141516905e-01 + -3.114151727559051e-01 + -3.132637999546681e-01 + -3.151023057635463e-01 + -3.169307984585886e-01 + -3.187493845723606e-01 + -3.205581689117248e-01 + -3.223572548745565e-01 + -3.241467443749414e-01 + -3.259267374142799e-01 + -3.276973325691862e-01 + -3.294586270053045e-01 + -3.312107160890871e-01 + -3.329536937962613e-01 + -3.346876527428858e-01 + -3.364126840777460e-01 + -3.381288775295205e-01 + -3.398363212268976e-01 + -3.415351019703767e-01 + -3.432253052941175e-01 + -3.449070152459444e-01 + -3.465803145779997e-01 + -3.482452848007116e-01 + -3.499020059501182e-01 + -3.515505568826250e-01 + -3.531910152859590e-01 + -3.548234573752725e-01 + -3.564479582224311e-01 + -3.580645917875246e-01 + -3.596734306319520e-01 + -3.612745463110025e-01 + -3.628680093075062e-01 + -3.644538885605036e-01 + -3.660322520458910e-01 + -3.676031668332329e-01 + -3.691666987516095e-01 + -3.707229124779602e-01 + -3.722718716670178e-01 + -3.738136390608672e-01 + -3.753482761467254e-01 + -3.768758432749062e-01 + -3.783964002465877e-01 + -3.799100056353694e-01 + -3.814167166997948e-01 + -3.829165900177774e-01 + -3.844096813827866e-01 + -3.858960456354959e-01 + -3.873757364088854e-01 + -3.888488064600710e-01 + -3.903153077375676e-01 + -3.917752913452379e-01 + -3.932288075353338e-01 + -3.946759055987133e-01 + -3.961166339473677e-01 + -3.975510402779339e-01 + -3.989791715122148e-01 + -4.004010735521537e-01 + -4.018167915706618e-01 + -4.032263700983349e-01 + -4.046298528561717e-01 + -4.060272827301947e-01 + -4.074187016384220e-01 + -4.088041511045764e-01 + -4.101836719923956e-01 + -4.115573039941210e-01 + -4.129250863351419e-01 + -4.142870577221169e-01 + -4.156432559911067e-01 + -4.169937183587125e-01 + -4.183384813924751e-01 + -4.196775807600287e-01 + -4.210110517890521e-01 + -4.223389293056927e-01 + -4.236612469859990e-01 + -4.249780381358575e-01 + -4.262893357128523e-01 + -4.275951718561576e-01 + -4.288955781548201e-01 + -4.301905856512787e-01 + -4.314802245948859e-01 + -4.327645248125306e-01 + -4.340435157401011e-01 + -4.353172261319986e-01 + -4.365856843065750e-01 + -4.378489181140523e-01 + -4.391069545111200e-01 + -4.403598201489721e-01 + -4.416075414900063e-01 + -4.428501441617211e-01 + -4.440876533447125e-01 + -4.453200938994337e-01 + -4.465474900663732e-01 + -4.477698656375739e-01 + -4.489872440132049e-01 + -4.501996482091757e-01 + -4.514071007293397e-01 + -4.526096234423685e-01 + -4.538072381973440e-01 + -4.549999664346564e-01 + -4.561878287239103e-01 + -4.573708454564815e-01 + -4.585490367840940e-01 + -4.597224223838171e-01 + -4.608910215483196e-01 + -4.620548532229073e-01 + -4.632139359470852e-01 + -4.643682878385313e-01 + -4.655179266829866e-01 + -4.666628700026897e-01 + -4.678031349656974e-01 + -4.689387384105899e-01 + -4.700696968538801e-01 + -4.711960263436956e-01 + -4.723177425902391e-01 + -4.734348612979066e-01 + -4.745473978039702e-01 + -4.756553669920032e-01 + -4.767587833133353e-01 + -4.778576611599107e-01 + -4.789520147944609e-01 + -4.800418577229591e-01 + -4.811272034289876e-01 + -4.822080654661853e-01 + -4.832844566828151e-01 + -4.843563896207272e-01 + -4.854238767122197e-01 + -4.864869303811440e-01 + -4.875455627166793e-01 + -4.885997853037442e-01 + -4.896496095260600e-01 + -4.906950466868944e-01 + -4.917361080077966e-01 + -4.927728043326091e-01 + -4.938051461993963e-01 + -4.948331438840640e-01 + -4.958568075736277e-01 + -4.968761473512240e-01 + -4.978911731225704e-01 + -4.989018945002663e-01 + -4.999083208482176e-01 + -5.009104613021941e-01 + -5.019083248972503e-01 + -5.029019205602130e-01 + -5.038912570358333e-01 + -5.048763428126108e-01 + -5.058571862004539e-01 + -5.068337954285524e-01 + -5.078061785541023e-01 + -5.087743434557772e-01 + -5.097382978215317e-01 + -5.106980492175714e-01 + -5.116536051046018e-01 + -5.126049728172039e-01 + -5.135521595357905e-01 + -5.144951722594635e-01 + -5.154340177423219e-01 + -5.163687027408718e-01 + -5.172992340140365e-01 + -5.182256180631845e-01 + -5.191478612397169e-01 + -5.200659697981208e-01 + -5.209799499565910e-01 + -5.218898077706294e-01 + -5.227955490891694e-01 + -5.236971796844924e-01 + -5.245947053253370e-01 + -5.254881317688337e-01 + -5.263774645512288e-01 + -5.272627090126604e-01 + -5.281438703531137e-01 + -5.290209539977515e-01 + -5.298939652703512e-01 + -5.307629091340913e-01 + -5.316277904778723e-01 + -5.324886142110474e-01 + -5.333453852986519e-01 + -5.341981085648844e-01 + -5.350467886587517e-01 + -5.358914300418783e-01 + -5.367320373706596e-01 + -5.375686152841432e-01 + -5.384011680734792e-01 + -5.392297001047128e-01 + -5.400542157871245e-01 + -5.408747194069761e-01 + -5.416912150785628e-01 + -5.425037068232484e-01 + -5.433121987186342e-01 + -5.441166948984431e-01 + -5.449171994793097e-01 + -5.457137163885653e-01 + -5.465062494211190e-01 + -5.472948023341125e-01 + -5.480793790518950e-01 + -5.488599834110802e-01 + -5.496366191273470e-01 + -5.504092899443518e-01 + -5.511779994928784e-01 + -5.519427513029639e-01 + -5.527035490710489e-01 + -5.534603964642170e-01 + -5.542132970155166e-01 + -5.549622540841348e-01 + -5.557072711574547e-01 + -5.564483519201564e-01 + -5.571854997347668e-01 + -5.579187179919134e-01 + -5.586480102698358e-01 + -5.593733798207278e-01 + -5.600948299343745e-01 + -5.608123641702291e-01 + -5.615259858006734e-01 + -5.622356980349319e-01 + -5.629415042452564e-01 + -5.636434078437447e-01 + -5.643414121719204e-01 + -5.650355204128609e-01 + -5.657257359067179e-01 + -5.664120620074502e-01 + -5.670945018655422e-01 + -5.677730587569899e-01 + -5.684477360210265e-01 + -5.691185368946378e-01 + -5.697854646230838e-01 + -5.704485224954847e-01 + -5.711077138615709e-01 + -5.717630418949810e-01 + -5.724145097236072e-01 + -5.730621208149326e-01 + -5.737058785857441e-01 + -5.743457862811681e-01 + -5.749818469287452e-01 + -5.756140639044424e-01 + -5.762424408221788e-01 + -5.768669806578469e-01 + -5.774876866716016e-01 + -5.781045625480883e-01 + -5.787176116189466e-01 + -5.793268371095267e-01 + -5.799322422747063e-01 + -5.805338304985933e-01 + -5.811316053198213e-01 + -5.817255703521417e-01 + -5.823157287697720e-01 + -5.829020838792335e-01 + -5.834846393919914e-01 + -5.840633987477251e-01 + -5.846383653791880e-01 + -5.852095428966003e-01 + -5.857769347455314e-01 + -5.863405444497650e-01 + -5.869003757905312e-01 + -5.874564321893059e-01 + -5.880087171065591e-01 + -5.885572344676900e-01 + -5.891019879107314e-01 + -5.896429809482692e-01 + -5.901802172691951e-01 + -5.907137006344829e-01 + -5.912434348345698e-01 + -5.917694236578408e-01 + -5.922916709366750e-01 + -5.928101804947136e-01 + -5.933249560457028e-01 + -5.938360014505492e-01 + -5.943433207019595e-01 + -5.948469177828256e-01 + -5.953467966083078e-01 + -5.958429610716830e-01 + -5.963354151930935e-01 + -5.968241629967538e-01 + -5.973092085065336e-01 + -5.977905558475627e-01 + -5.982682091919279e-01 + -5.987421727060626e-01 + -5.992124504335189e-01 + -5.996790465513929e-01 + -6.001419654039183e-01 + -6.006012111567195e-01 + -6.010567880969444e-01 + -6.015087007096906e-01 + -6.019569532209035e-01 + -6.024015499278780e-01 + -6.028424953542454e-01 + -6.032797938560218e-01 + -6.037134498528102e-01 + -6.041434679778884e-01 + -6.045698527611498e-01 + -6.049926086966888e-01 + -6.054117403213235e-01 + -6.058272522301629e-01 + -6.062391491063152e-01 + -6.066474357377917e-01 + -6.070521167750024e-01 + -6.074531969194140e-01 + -6.078506811508277e-01 + -6.082445741313003e-01 + -6.086348804777613e-01 + -6.090216052590219e-01 + -6.094047534940796e-01 + -6.097843300758768e-01 + -6.101603397998798e-01 + -6.105327877567767e-01 + -6.109016791586246e-01 + -6.112670188349342e-01 + -6.116288118244032e-01 + -6.119870634033990e-01 + -6.123417788015699e-01 + -6.126929631816058e-01 + -6.130406216857481e-01 + -6.133847595846266e-01 + -6.137253821544012e-01 + -6.140624946688724e-01 + -6.143961025253998e-01 + -6.147262111225434e-01 + -6.150528258526081e-01 + -6.153759522847098e-01 + -6.156955958775930e-01 + -6.160117619293205e-01 + -6.163244560848270e-01 + -6.166336840291214e-01 + -6.169394513190288e-01 + -6.172417635406579e-01 + -6.175406263458638e-01 + -6.178360454670117e-01 + -6.181280266570051e-01 + -6.184165756494230e-01 + -6.187016981615432e-01 + -6.189834001775048e-01 + -6.192616876391890e-01 + -6.195365661632112e-01 + -6.198080416901866e-01 + -6.200761202902517e-01 + -6.203408078682074e-01 + -6.206021103982113e-01 + -6.208600339819080e-01 + -6.211145848662764e-01 + -6.213657689929696e-01 + -6.216135922609831e-01 + -6.218580610691606e-01 + -6.220991816188346e-01 + -6.223369599996067e-01 + -6.225714026287344e-01 + -6.228025157602012e-01 + -6.230303055354752e-01 + -6.232547783843585e-01 + -6.234759406837302e-01 + -6.236937987287140e-01 + -6.239083589372102e-01 + -6.241196278170006e-01 + -6.243276119301496e-01 + -6.245323178052680e-01 + -6.247337518435782e-01 + -6.249319204108740e-01 + -6.251268303788342e-01 + -6.253184884524475e-01 + -6.255069009766967e-01 + -6.256920746682559e-01 + -6.258740163701917e-01 + -6.260527328726909e-01 + -6.262282307801417e-01 + -6.264005167589047e-01 + -6.265695976839164e-01 + -6.267354804070123e-01 + -6.268981717782514e-01 + -6.270576786775590e-01 + -6.272140080071444e-01 + -6.273671666729116e-01 + -6.275171615794166e-01 + -6.276639997579259e-01 + -6.278076882572314e-01 + -6.279482340166599e-01 + -6.280856440870369e-01 + -6.282199255881125e-01 + -6.283510856176625e-01 + -6.284791313265480e-01 + -6.286040698559974e-01 + -6.287259082244099e-01 + -6.288446536460758e-01 + -6.289603134448759e-01 + -6.290728947784819e-01 + -6.291824049507972e-01 + -6.292888513285516e-01 + -6.293922409846477e-01 + -6.294925812787570e-01 + -6.295898797737625e-01 + -6.296841435561055e-01 + -6.297753800606519e-01 + -6.298635970427606e-01 + -6.299488015475858e-01 + -6.300310009429952e-01 + -6.301102030719377e-01 + -6.301864151575183e-01 + -6.302596446383568e-01 + -6.303298993873763e-01 + -6.303971867419816e-01 + -6.304615141097702e-01 + -6.305228892569528e-01 + -6.305813198299395e-01 + -6.306368133767261e-01 + -6.306893774095105e-01 + -6.307390196514921e-01 + -6.307857478830511e-01 + -6.308295697989852e-01 + -6.308704929504492e-01 + -6.309085250312678e-01 + -6.309436740902202e-01 + -6.309759477467396e-01 + -6.310053535533821e-01 + -6.310318994644450e-01 + -6.310555933584764e-01 + -6.310764430051494e-01 + -6.310944561130111e-01 + -6.311096405770181e-01 + -6.311220043955681e-01 + -6.311315554778594e-01 + -6.311383016234806e-01 + -6.311422506666780e-01 + -6.311434107412031e-01 + -6.311417897164122e-01 + -6.311373953205278e-01 + -6.311302357049288e-01 + -6.311203189243589e-01 + -6.311076528624781e-01 + -6.310922454230109e-01 + -6.310741047155799e-01 + -6.310532389686786e-01 + -6.310296560496979e-01 + -6.310033639455465e-01 + -6.309743708604478e-01 + -6.309426848479184e-01 + -6.309083139781310e-01 + -6.308712663782245e-01 + -6.308315500367087e-01 + -6.307891730465176e-01 + -6.307441436976022e-01 + -6.306964701860184e-01 + -6.306461606431758e-01 + -6.305932231701467e-01 + -6.305376659121696e-01 + -6.304794970062023e-01 + -6.304187245700347e-01 + -6.303553569805046e-01 + -6.302894025962669e-01 + -6.302208694979176e-01 + -6.301497657748981e-01 + -6.300760996409697e-01 + -6.299998795100692e-01 + -6.299211136514613e-01 + -6.298398102240708e-01 + -6.297559773915322e-01 + -6.296696236381925e-01 + -6.295807574013027e-01 + -6.294893864698483e-01 + -6.293955192818200e-01 + -6.292991645521353e-01 + -6.292003301703828e-01 + -6.290990243894826e-01 + -6.289952557946986e-01 + -6.288890326523825e-01 + -6.287803632353285e-01 + -6.286692558944412e-01 + -6.285557190083507e-01 + -6.284397608763040e-01 + -6.283213897612988e-01 + -6.282006141317734e-01 + -6.280774423035318e-01 + -6.279518824496017e-01 + -6.278239431715447e-01 + -6.276936329659792e-01 + -6.275609600561086e-01 + -6.274259327786519e-01 + -6.272885594754783e-01 + -6.271488484695774e-01 + -6.270068083043618e-01 + -6.268624473656752e-01 + -6.267157737459064e-01 + -6.265667960682418e-01 + -6.264155229504741e-01 + -6.262619625962428e-01 + -6.261061232036680e-01 + -6.259480131935671e-01 + -6.257876413121770e-01 + -6.256250157840939e-01 + -6.254601447340036e-01 + -6.252930366972961e-01 + -6.251237002207461e-01 + -6.249521437614608e-01 + -6.247783756272571e-01 + -6.246024042025771e-01 + -6.244242378628240e-01 + -6.242438848129136e-01 + -6.240613535991787e-01 + -6.238766528797192e-01 + -6.236897908519111e-01 + -6.235007757894835e-01 + -6.233096161276966e-01 + -6.231163203935827e-01 + -6.229208970207127e-01 + -6.227233543185018e-01 + -6.225237005131427e-01 + -6.223219439896936e-01 + -6.221180932821515e-01 + -6.219121568092019e-01 + -6.217041429518334e-01 + -6.214940600654550e-01 + -6.212819164164759e-01 + -6.210677203231969e-01 + -6.208514802076882e-01 + -6.206332045396580e-01 + -6.204129016762088e-01 + -6.201905798335827e-01 + -6.199662474146647e-01 + -6.197399127976954e-01 + -6.195115842446862e-01 + -6.192812702436963e-01 + -6.190489791767655e-01 + -6.188147191241502e-01 + -6.185784984898128e-01 + -6.183403256742428e-01 + -6.181002088023494e-01 + -6.178581563548247e-01 + -6.176141767575239e-01 + -6.173682779492388e-01 + -6.171204683326561e-01 + -6.168707564823446e-01 + -6.166191506410910e-01 + -6.163656588303806e-01 + -6.161102891648960e-01 + -6.158530502595377e-01 + -6.155939503803246e-01 + -6.153329975648972e-01 + -6.150702000825419e-01 + -6.148055662334609e-01 + -6.145391042808102e-01 + -6.142708224010276e-01 + -6.140007288452335e-01 + -6.137288318637003e-01 + -6.134551394181680e-01 + -6.131796597624336e-01 + -6.129024013716257e-01 + -6.126233721919256e-01 + -6.123425803085120e-01 + -6.120600340492245e-01 + -6.117757414641359e-01 + -6.114897106263320e-01 + -6.112019497520672e-01 + -6.109124671249474e-01 + -6.106212708396386e-01 + -6.103283687668304e-01 + -6.100337690977098e-01 + -6.097374799911853e-01 + -6.094395093910078e-01 + -6.091398653642833e-01 + -6.088385561024087e-01 + -6.085355898356886e-01 + -6.082309742898534e-01 + -6.079247173286892e-01 + -6.076168274335947e-01 + -6.073073125569597e-01 + -6.069961804304546e-01 + -6.066834389911383e-01 + -6.063690964791788e-01 + -6.060531610171422e-01 + -6.057356401425160e-01 + -6.054165419100932e-01 + -6.050958745176729e-01 + -6.047736455801236e-01 + -6.044498630713394e-01 + -6.041245351487873e-01 + -6.037976695799242e-01 + -6.034692741523835e-01 + -6.031393567367498e-01 + -6.028079252312161e-01 + -6.024749874110954e-01 + -6.021405510415967e-01 + -6.018046242357692e-01 + -6.014672148046522e-01 + -6.011283302871711e-01 + -6.007879786053585e-01 + -6.004461675660895e-01 + -6.001029047914931e-01 + -5.997581981158361e-01 + -5.994120553308485e-01 + -5.990644841299763e-01 + -5.987154923482985e-01 + -5.983650876334137e-01 + -5.980132773866208e-01 + -5.976600693793478e-01 + -5.973054714798371e-01 + -5.969494914365839e-01 + -5.965921366499265e-01 + -5.962334146660923e-01 + -5.958733334161985e-01 + -5.955119002909084e-01 + -5.951491227180785e-01 + -5.947850085981863e-01 + -5.944195652847630e-01 + -5.940528001366523e-01 + -5.936847210858313e-01 + -5.933153356463837e-01 + -5.929446511281147e-01 + -5.925726749957585e-01 + -5.921994146776245e-01 + -5.918248776317639e-01 + -5.914490714685531e-01 + -5.910720036664838e-01 + -5.906936815737919e-01 + -5.903141124838686e-01 + -5.899333037986367e-01 + -5.895512629817115e-01 + -5.891679973989596e-01 + -5.887835143677140e-01 + -5.883978211708401e-01 + -5.880109250637769e-01 + -5.876228334774148e-01 + -5.872335538851382e-01 + -5.868430932520374e-01 + -5.864514587624869e-01 + -5.860586578978172e-01 + -5.856646978273519e-01 + -5.852695857497323e-01 + -5.848733289413443e-01 + -5.844759343592291e-01 + -5.840774091773326e-01 + -5.836777608879199e-01 + -5.832769964405170e-01 + -5.828751228494087e-01 + -5.824721474461222e-01 + -5.820680771414760e-01 + -5.816629188869962e-01 + -5.812566799399100e-01 + -5.808493672421570e-01 + -5.804409877894702e-01 + -5.800315488931496e-01 + -5.796210574409676e-01 + -5.792095201878247e-01 + -5.787969440874288e-01 + -5.783833362006023e-01 + -5.779687035684036e-01 + -5.775530530727403e-01 + -5.771363914738108e-01 + -5.767187255974381e-01 + -5.763000625573806e-01 + -5.758804091701334e-01 + -5.754597721176316e-01 + -5.750381583420940e-01 + -5.746155745735496e-01 + -5.741920274506414e-01 + -5.737675239291555e-01 + -5.733420708457294e-01 + -5.729156748671344e-01 + -5.724883426083383e-01 + -5.720600807791615e-01 + -5.716308961653045e-01 + -5.712007954599810e-01 + -5.707697852850102e-01 + -5.703378722272431e-01 + -5.699050629355835e-01 + -5.694713639828742e-01 + -5.690367818720566e-01 + -5.686013232951076e-01 + -5.681649948578290e-01 + -5.677278029894381e-01 + -5.672897541841998e-01 + -5.668508549514105e-01 + -5.664111117923113e-01 + -5.659705312703284e-01 + -5.655291198708162e-01 + -5.650868839171556e-01 + -5.646438297396282e-01 + -5.641999637601537e-01 + -5.637552925169101e-01 + -5.633098223391846e-01 + -5.628635595080524e-01 + -5.624165104013904e-01 + -5.619686812129524e-01 + -5.615200782186582e-01 + -5.610707080464411e-01 + -5.606205767194389e-01 + -5.601696901727680e-01 + -5.597180550627928e-01 + -5.592656777039943e-01 + -5.588125640834879e-01 + -5.583587201544192e-01 + -5.579041522213387e-01 + -5.574488666805684e-01 + -5.569928694014434e-01 + -5.565361664370690e-01 + -5.560787640439252e-01 + -5.556206683493946e-01 + -5.551618853326125e-01 + -5.547024208857518e-01 + -5.542422809960397e-01 + -5.537814718214656e-01 + -5.533199995563840e-01 + -5.528578699065892e-01 + -5.523950887012330e-01 + -5.519316620139326e-01 + -5.514675956847120e-01 + -5.510028956792654e-01 + -5.505375681122012e-01 + -5.500716185256428e-01 + -5.496050526609592e-01 + -5.491378767346244e-01 + -5.486700964364043e-01 + -5.482017173715276e-01 + -5.477327453596050e-01 + -5.472631862648399e-01 + -5.467930458019109e-01 + -5.463223294669347e-01 + -5.458510432287255e-01 + -5.453791929736209e-01 + -5.449067840000759e-01 + -5.444338218966174e-01 + -5.439603123952597e-01 + -5.434862611282417e-01 + -5.430116738240560e-01 + -5.425365561436022e-01 + -5.420609134355956e-01 + -5.415847511352451e-01 + -5.411080748136494e-01 + -5.406308901525899e-01 + -5.401532026526268e-01 + -5.396750177177082e-01 + -5.391963408895222e-01 + -5.387171774649071e-01 + -5.382375326730170e-01 + -5.377574122460893e-01 + -5.372768215524759e-01 + -5.367957656717409e-01 + -5.363142502106338e-01 + -5.358322806031541e-01 + -5.353498619928253e-01 + -5.348669995911720e-01 + -5.343836987381033e-01 + -5.338999648334884e-01 + -5.334158029976483e-01 + -5.329312184607295e-01 + -5.324462166033185e-01 + -5.319608023124877e-01 + -5.314749807283198e-01 + -5.309887574568507e-01 + -5.305021373834015e-01 + -5.300151254489873e-01 + -5.295277270550899e-01 + -5.290399471460621e-01 + -5.285517906644440e-01 + -5.280632628772480e-01 + -5.275743687930865e-01 + -5.270851133485194e-01 + -5.265955015863814e-01 + -5.261055383771222e-01 + -5.256152286457003e-01 + -5.251245776074701e-01 + -5.246335901741112e-01 + -5.241422711040373e-01 + -5.236506252667474e-01 + -5.231586574906982e-01 + -5.226663726352896e-01 + -5.221737757253558e-01 + -5.216808715970676e-01 + -5.211876649797802e-01 + -5.206941607382560e-01 + -5.202003635069621e-01 + -5.197062778404161e-01 + -5.192119087096243e-01 + -5.187172609937223e-01 + -5.182223393579939e-01 + -5.177271482807863e-01 + -5.172316923981860e-01 + -5.167359765148800e-01 + -5.162400053033168e-01 + -5.157437833544083e-01 + -5.152473152222008e-01 + -5.147506055161414e-01 + -5.142536587718484e-01 + -5.137564794429633e-01 + -5.132590721404230e-01 + -5.127614414610688e-01 + -5.122635918987255e-01 + -5.117655278912282e-01 + -5.112672538418732e-01 + -5.107687741570007e-01 + -5.102700934318621e-01 + -5.097712161511054e-01 + -5.092721464952894e-01 + -5.087728887586368e-01 + -5.082734473837237e-01 + -5.077738269224511e-01 + -5.072740315773641e-01 + -5.067740655070005e-01 + -5.062739331645890e-01 + -5.057736389339202e-01 + -5.052731870571522e-01 + -5.047725816027976e-01 + -5.042718267556677e-01 + -5.037709267723895e-01 + -5.032698858620083e-01 + -5.027687082997551e-01 + -5.022673983228978e-01 + -5.017659599138892e-01 + -5.012643972224838e-01 + -5.007627144504877e-01 + -5.002609154317549e-01 + -4.997590043686060e-01 + -4.992569856498065e-01 + -4.987548629163329e-01 + -4.982526401066572e-01 + -4.977503215591422e-01 + -4.972479113357710e-01 + -4.967454132608579e-01 + -4.962428310876830e-01 + -4.957401690448965e-01 + -4.952374311333114e-01 + -4.947346209581790e-01 + -4.942317423902789e-01 + -4.937287995168010e-01 + -4.932257964768885e-01 + -4.927227367709692e-01 + -4.922196239985463e-01 + -4.917164622446805e-01 + -4.912132554897460e-01 + -4.907100074652099e-01 + -4.902067216434476e-01 + -4.897034018910860e-01 + -4.892000521396699e-01 + -4.886966760659724e-01 + -4.881932772071136e-01 + -4.876898592264887e-01 + -4.871864261030248e-01 + -4.866829812293292e-01 + -4.861795280147214e-01 + -4.856760706607693e-01 + -4.851726126266216e-01 + -4.846691571189501e-01 + -4.841657080652781e-01 + -4.836622690168214e-01 + -4.831588433295234e-01 + -4.826554347812969e-01 + -4.821520468729375e-01 + -4.816486828820545e-01 + -4.811453462713459e-01 + -4.806420406166251e-01 + -4.801387695127853e-01 + -4.796355363816449e-01 + -4.791323444815042e-01 + -4.786291970695780e-01 + -4.781260978727254e-01 + -4.776230503252043e-01 + -4.771200574973888e-01 + -4.766171228253449e-01 + -4.761142497486388e-01 + -4.756114415594656e-01 + -4.751087014547341e-01 + -4.746060327035595e-01 + -4.741034386828772e-01 + -4.736009226286348e-01 + -4.730984877717556e-01 + -4.725961373913972e-01 + -4.720938746127822e-01 + -4.715917026117559e-01 + -4.710896247171748e-01 + -4.705876440070008e-01 + -4.700857635192827e-01 + -4.695839864443119e-01 + -4.690823160197067e-01 + -4.685807553687465e-01 + -4.680793073815264e-01 + -4.675779752270572e-01 + -4.670767621237579e-01 + -4.665756710130068e-01 + -4.660747048828000e-01 + -4.655738667469987e-01 + -4.650731595624170e-01 + -4.645725864569897e-01 + -4.640721505529091e-01 + -4.635718546060059e-01 + -4.630717014390969e-01 + -4.625716940204364e-01 + -4.620718354412200e-01 + -4.615721285948061e-01 + -4.610725762550177e-01 + -4.605731814392849e-01 + -4.600739469669758e-01 + -4.595748755034438e-01 + -4.590759700613133e-01 + -4.585772335293120e-01 + -4.580786685902926e-01 + -4.575802780165928e-01 + -4.570820645542124e-01 + -4.565840309327809e-01 + -4.560861801183225e-01 + -4.555885148408127e-01 + -4.550910375242214e-01 + -4.545937511574892e-01 + -4.540966585092119e-01 + -4.535997618400510e-01 + -4.531030641427475e-01 + -4.526065682230286e-01 + -4.521102761991050e-01 + -4.516141909960451e-01 + -4.511183155232459e-01 + -4.506226519976986e-01 + -4.501272029129367e-01 + -4.496319709853875e-01 + -4.491369589904647e-01 + -4.486421693813144e-01 + -4.481476045149588e-01 + -4.476532669406306e-01 + -4.471591591812127e-01 + -4.466652837454304e-01 + -4.461716431800687e-01 + -4.456782399407630e-01 + -4.451850764283579e-01 + -4.446921550770006e-01 + -4.441994783152980e-01 + -4.437070485743053e-01 + -4.432148683148817e-01 + -4.427229399164072e-01 + -4.422312656936392e-01 + -4.417398479943503e-01 + -4.412486891611525e-01 + -4.407577915365379e-01 + -4.402671575060104e-01 + -4.397767893532367e-01 + -4.392866892910770e-01 + -4.387968597340107e-01 + -4.383073029681190e-01 + -4.378180210879689e-01 + -4.373290163087382e-01 + -4.368402909924953e-01 + -4.363518475687816e-01 + -4.358636880897754e-01 + -4.353758146064535e-01 + -4.348882293452391e-01 + -4.344009344375495e-01 + -4.339139321041776e-01 + -4.334272247184532e-01 + -4.329408142509990e-01 + -4.324547026649819e-01 + -4.319688922210647e-01 + -4.314833850702666e-01 + -4.309981832317592e-01 + -4.305132886299618e-01 + -4.300287034407881e-01 + -4.295444298858639e-01 + -4.290604699557538e-01 + -4.285768254794737e-01 + -4.280934983815344e-01 + -4.276104909880938e-01 + -4.271278053251724e-01 + -4.266454431999359e-01 + -4.261634065006114e-01 + -4.256816972235624e-01 + -4.252003173934318e-01 + -4.247192689049444e-01 + -4.242385536499166e-01 + -4.237581735472888e-01 + -4.232781305399061e-01 + -4.227984264773803e-01 + -4.223190631457318e-01 + -4.218400424415704e-01 + -4.213613663598799e-01 + -4.208830368540804e-01 + -4.204050553934426e-01 + -4.199274237890383e-01 + -4.194501442515862e-01 + -4.189732183034799e-01 + -4.184966476302857e-01 + -4.180204343198091e-01 + -4.175445800025869e-01 + -4.170690862458790e-01 + -4.165939547960728e-01 + -4.161191875920802e-01 + -4.156447863485650e-01 + -4.151707524172177e-01 + -4.146970878143395e-01 + -4.142237944432959e-01 + -4.137508735370036e-01 + -4.132783267358912e-01 + -4.128061559031381e-01 + -4.123343628419361e-01 + -4.118629489726368e-01 + -4.113919157251955e-01 + -4.109212649651476e-01 + -4.104509983224866e-01 + -4.099811172669397e-01 + -4.095116233202941e-01 + -4.090425181490535e-01 + -4.085738034100841e-01 + -4.081054804950061e-01 + -4.076375508831032e-01 + -4.071700161671795e-01 + -4.067028779692610e-01 + -4.062361376606066e-01 + -4.057697965353959e-01 + -4.053038563335837e-01 + -4.048383186645677e-01 + -4.043731849141807e-01 + -4.039084564103662e-01 + -4.034441345521896e-01 + -4.029802208230617e-01 + -4.025167167043049e-01 + -4.020536236099443e-01 + -4.015909428779320e-01 + -4.011286758375757e-01 + -4.006668238996902e-01 + -4.002053885607212e-01 + -3.997443712200008e-01 + -3.992837731698375e-01 + -3.988235956310492e-01 + -3.983638399923307e-01 + -3.979045076012857e-01 + -3.974455996644362e-01 + -3.969871175556028e-01 + -3.965290626455606e-01 + -3.960714361699136e-01 + -3.956142393772600e-01 + -3.951574735515524e-01 + -3.947011399985758e-01 + -3.942452398354794e-01 + -3.937897742524872e-01 + -3.933347447660869e-01 + -3.928801524442024e-01 + -3.924259983101159e-01 + -3.919722839283850e-01 + -3.915190103656777e-01 + -3.910661784756895e-01 + -3.906137895655892e-01 + -3.901618450499643e-01 + -3.897103461604648e-01 + -3.892592935529919e-01 + -3.888086884121152e-01 + -3.883585322771145e-01 + -3.879088261485191e-01 + -3.874595710701922e-01 + -3.870107681556456e-01 + -3.865624182556531e-01 + -3.861145225228043e-01 + -3.856670823544472e-01 + -3.852200986473037e-01 + -3.847735723987576e-01 + -3.843275047747315e-01 + -3.838818965026468e-01 + -3.834367486164244e-01 + -3.829920625791138e-01 + -3.825478392535004e-01 + -3.821040794322394e-01 + -3.816607841213338e-01 + -3.812179544462010e-01 + -3.807755914230820e-01 + -3.803336958584798e-01 + -3.798922686597118e-01 + -3.794513108818827e-01 + -3.790108236907996e-01 + -3.785708078449803e-01 + -3.781312640889848e-01 + -3.776921934895628e-01 + -3.772535969260590e-01 + -3.768154752452403e-01 + -3.763778294637203e-01 + -3.759406605249527e-01 + -3.755039692439986e-01 + -3.750677562951532e-01 + -3.746320226741715e-01 + -3.741967693787305e-01 + -3.737619968727901e-01 + -3.733277061470673e-01 + -3.728938983949728e-01 + -3.724605741247380e-01 + -3.720277341192338e-01 + -3.715953793429491e-01 + -3.711635103186269e-01 + -3.707321278978636e-01 + -3.703012331728173e-01 + -3.698708267439747e-01 + -3.694409092657609e-01 + -3.690114815572269e-01 + -3.685825444178367e-01 + -3.681540985405766e-01 + -3.677261445488677e-01 + -3.672986832474148e-01 + -3.668717154245260e-01 + -3.664452417818624e-01 + -3.660192630178876e-01 + -3.655937798167319e-01 + -3.651687928442244e-01 + -3.647443027770453e-01 + -3.643203103057334e-01 + -3.638968161236534e-01 + -3.634738208501973e-01 + -3.630513251204181e-01 + -3.626293296340570e-01 + -3.622078349959966e-01 + -3.617868418102546e-01 + -3.613663507559756e-01 + -3.609463624258993e-01 + -3.605268773947004e-01 + -3.601078962972172e-01 + -3.596894197319259e-01 + -3.592714482724653e-01 + -3.588539824938156e-01 + -3.584370229705016e-01 + -3.580205702765974e-01 + -3.576046249835235e-01 + -3.571891876270012e-01 + -3.567742587321382e-01 + -3.563598388637925e-01 + -3.559459285557617e-01 + -3.555325283179373e-01 + -3.551196386794110e-01 + -3.547072601423791e-01 + -3.542953931967586e-01 + -3.538840383835105e-01 + -3.534731961849680e-01 + -3.530628670336623e-01 + -3.526530514374770e-01 + -3.522437498876279e-01 + -3.518349628366106e-01 + -3.514266907403692e-01 + -3.510189340474827e-01 + -3.506116931966672e-01 + -3.502049686305037e-01 + -3.497987607886671e-01 + -3.493930701015490e-01 + -3.489878969787067e-01 + -3.485832418243141e-01 + -3.481791050461803e-01 + -3.477754870557839e-01 + -3.473723882547367e-01 + -3.469698090253131e-01 + -3.465677497415546e-01 + -3.461662107762984e-01 + -3.457651925045610e-01 + -3.453646952920019e-01 + -3.449647194961470e-01 + -3.445652654674211e-01 + -3.441663335489293e-01 + -3.437679240760669e-01 + -3.433700373751777e-01 + -3.429726737709668e-01 + -3.425758335909973e-01 + -3.421795171685511e-01 + -3.417837248082679e-01 + -3.413884567949557e-01 + -3.409937134173290e-01 + -3.405994949798623e-01 + -3.402058017865278e-01 + -3.398126341027504e-01 + -3.394199921921239e-01 + -3.390278763247643e-01 + -3.386362867748747e-01 + -3.382452237948665e-01 + -3.378546876227794e-01 + -3.374646785249709e-01 + -3.370751967392704e-01 + -3.366862424749215e-01 + -3.362978159833941e-01 + -3.359099174981644e-01 + -3.355225472182573e-01 + -3.351357053498810e-01 + -3.347493921057998e-01 + -3.343636076973308e-01 + -3.339783523006465e-01 + -3.335936261089775e-01 + -3.332094293460974e-01 + -3.328257621547543e-01 + -3.324426246881435e-01 + -3.320600171619409e-01 + -3.316779397280902e-01 + -3.312963925265998e-01 + -3.309153757279716e-01 + -3.305348894653861e-01 + -3.301549338737799e-01 + -3.297755091265357e-01 + -3.293966153413448e-01 + -3.290182526215280e-01 + -3.286404211114115e-01 + -3.282631209285871e-01 + -3.278863521751846e-01 + -3.275101149642331e-01 + -3.271344093953196e-01 + -3.267592355617253e-01 + -3.263845935667566e-01 + -3.260104834866909e-01 + -3.256369053882101e-01 + -3.252638593756906e-01 + -3.248913455268053e-01 + -3.245193638907094e-01 + -3.241479145199382e-01 + -3.237769974872735e-01 + -3.234066128661293e-01 + -3.230367606622389e-01 + -3.226674409186036e-01 + -3.222986537192250e-01 + -3.219303990783447e-01 + -3.215626770146125e-01 + -3.211954875680534e-01 + -3.208288307426270e-01 + -3.204627065455645e-01 + -3.200971150001409e-01 + -3.197320561103191e-01 + -3.193675298795836e-01 + -3.190035363166080e-01 + -3.186400754009213e-01 + -3.182771471114187e-01 + -3.179147514432106e-01 + -3.175528883799994e-01 + -3.171915578921511e-01 + -3.168307599394173e-01 + -3.164704945026028e-01 + -3.161107615528752e-01 + -3.157515610223091e-01 + -3.153928928534279e-01 + -3.150347570035595e-01 + -3.146771534412893e-01 + -3.143200821026652e-01 + -3.139635429048980e-01 + -3.136075357713601e-01 + -3.132520606345795e-01 + -3.128971174301287e-01 + -3.125427060850263e-01 + -3.121888265003789e-01 + -3.118354785699559e-01 + -3.114826622209773e-01 + -3.111303773636806e-01 + -3.107786238863177e-01 + -3.104274016699458e-01 + -3.100767106006651e-01 + -3.097265505731036e-01 + -3.093769214901858e-01 + -3.090278232197667e-01 + -3.086792556057311e-01 + -3.083312185528201e-01 + -3.079837119302323e-01 + -3.076367355606988e-01 + -3.072902893338402e-01 + -3.069443731087555e-01 + -3.065989866918071e-01 + -3.062541299629242e-01 + -3.059098027895394e-01 + -3.055660049841727e-01 + -3.052227363624680e-01 + -3.048799967605036e-01 + -3.045377860349815e-01 + -3.041961039937703e-01 + -3.038549504461246e-01 + -3.035143252370935e-01 + -3.031742281687436e-01 + -3.028346590287212e-01 + -3.024956176228422e-01 + -3.021571037727226e-01 + -3.018191172891879e-01 + -3.014816579447884e-01 + -3.011447255196590e-01 + -3.008083198102758e-01 + -3.004724406299011e-01 + -3.001370877400161e-01 + -2.998022608844934e-01 + -2.994679598576119e-01 + -2.991341844426006e-01 + -2.988009344054493e-01 + -2.984682095047237e-01 + -2.981360094999961e-01 + -2.978043341494513e-01 + -2.974731831997393e-01 + -2.971425563888731e-01 + -2.968124534589884e-01 + -2.964828741880918e-01 + -2.961538183196636e-01 + -2.958252855581221e-01 + -2.954972756291568e-01 + -2.951697882690829e-01 + -2.948428232168150e-01 + -2.945163801997789e-01 + -2.941904589349781e-01 + -2.938650591314966e-01 + -2.935401805013078e-01 + -2.932158227514122e-01 + -2.928919855851135e-01 + -2.925686687341852e-01 + -2.922458719001491e-01 + -2.919235947316832e-01 + -2.916018369508684e-01 + -2.912805982685433e-01 + -2.909598783275820e-01 + -2.906396768390501e-01 + -2.903199935181080e-01 + -2.900008280188033e-01 + -2.896821799916231e-01 + -2.893640491090957e-01 + -2.890464350819901e-01 + -2.887293375718574e-01 + -2.884127562142981e-01 + -2.880966906629407e-01 + -2.877811406014185e-01 + -2.874661057081589e-01 + -2.871515856017081e-01 + -2.868375799224188e-01 + -2.865240883310016e-01 + -2.862111104788733e-01 + -2.858986460098822e-01 + -2.855866945593247e-01 + -2.852752557499685e-01 + -2.849643292069009e-01 + -2.846539145659956e-01 + -2.843440114851778e-01 + -2.840346195818731e-01 + -2.837257384382189e-01 + -2.834173676812886e-01 + -2.831095069534547e-01 + -2.828021558855677e-01 + -2.824953140398479e-01 + -2.821889810170294e-01 + -2.818831564761255e-01 + -2.815778399984394e-01 + -2.812730311718642e-01 + -2.809687296216254e-01 + -2.806649349155874e-01 + -2.803616466281044e-01 + -2.800588643758425e-01 + -2.797565877594176e-01 + -2.794548163592918e-01 + -2.791535497376408e-01 + -2.788527874670974e-01 + -2.785525291296920e-01 + -2.782527743138438e-01 + -2.779535226034689e-01 + -2.776547735631448e-01 + -2.773565267276963e-01 + -2.770587816777879e-01 + -2.767615379983304e-01 + -2.764647952191276e-01 + -2.761685529026718e-01 + -2.758728106207560e-01 + -2.755775679024411e-01 + -2.752828243050798e-01 + -2.749885793975552e-01 + -2.746948327088052e-01 + -2.744015837838452e-01 + -2.741088321749212e-01 + -2.738165773969221e-01 + -2.735248189792139e-01 + -2.732335564721672e-01 + -2.729427894286903e-01 + -2.726525173657923e-01 + -2.723627397775934e-01 + -2.720734562117226e-01 + -2.717846661993187e-01 + -2.714963692431568e-01 + -2.712085648712142e-01 + -2.709212526021956e-01 + -2.706344319386959e-01 + -2.703481024077038e-01 + -2.700622635195931e-01 + -2.697769147573882e-01 + -2.694920556414950e-01 + -2.692076856844960e-01 + -2.689238043678598e-01 + -2.686404111894522e-01 + -2.683575056539274e-01 + -2.680750872618156e-01 + -2.677931554956217e-01 + -2.675117098420171e-01 + -2.672307498062658e-01 + -2.669502748541435e-01 + -2.666702844564393e-01 + -2.663907781339158e-01 + -2.661117553567487e-01 + -2.658332155842312e-01 + -2.655551583220328e-01 + -2.652775830228958e-01 + -2.650004891310402e-01 + -2.647238761635896e-01 + -2.644477435849875e-01 + -2.641720908275026e-01 + -2.638969173638899e-01 + -2.636222226679477e-01 + -2.633480062028563e-01 + -2.630742674151484e-01 + -2.628010057675256e-01 + -2.625282207270022e-01 + -2.622559117157733e-01 + -2.619840781930577e-01 + -2.617127196438671e-01 + -2.614418354712815e-01 + -2.611714251171109e-01 + -2.609014880694051e-01 + -2.606320237300626e-01 + -2.603630315312080e-01 + -2.600945109576975e-01 + -2.598264614192900e-01 + -2.595588823272051e-01 + -2.592917731268140e-01 + -2.590251332515323e-01 + -2.587589621335352e-01 + -2.584932592080277e-01 + -2.582280238899204e-01 + -2.579632555996659e-01 + -2.576989537753064e-01 + -2.574351178135512e-01 + -2.571717471205571e-01 + -2.569088411498421e-01 + -2.566463993032694e-01 + -2.563844209736399e-01 + -2.561229055922761e-01 + -2.558618525664796e-01 + -2.556012613001373e-01 + -2.553411312228936e-01 + -2.550814617199114e-01 + -2.548222521633088e-01 + -2.545635019702024e-01 + -2.543052105636615e-01 + -2.540473773489130e-01 + -2.537900016856341e-01 + -2.535330829668063e-01 + -2.532766206092137e-01 + -2.530206140025920e-01 + -2.527650625373169e-01 + -2.525099656058339e-01 + -2.522553225882911e-01 + -2.520011328519368e-01 + -2.517473957689335e-01 + -2.514941107682424e-01 + -2.512412772287477e-01 + -2.509888944763962e-01 + -2.507369619085763e-01 + -2.504854789235316e-01 + -2.502344448942996e-01 + -2.499838591881081e-01 + -2.497337211675947e-01 + -2.494840301941274e-01 + -2.492347856449565e-01 + -2.489859868896926e-01 + -2.487376332816026e-01 + -2.484897241934407e-01 + -2.482422589923619e-01 + -2.479952370263670e-01 + -2.477486576676466e-01 + -2.475025202765806e-01 + -2.472568241776227e-01 + -2.470115687463755e-01 + -2.467667533575219e-01 + -2.465223773319763e-01 + -2.462784400223504e-01 + -2.460349407926405e-01 + -2.457918789841980e-01 + -2.455492539346369e-01 + -2.453070649885519e-01 + -2.450653115068263e-01 + -2.448239928212929e-01 + -2.445831082525867e-01 + -2.443426571517872e-01 + -2.441026388729581e-01 + -2.438630527595843e-01 + -2.436238981283992e-01 + -2.433851743000419e-01 + -2.431468806082007e-01 + -2.429090164035606e-01 + -2.426715810065056e-01 + -2.424345737214870e-01 + -2.421979939156839e-01 + -2.419618409122474e-01 + -2.417261139893861e-01 + -2.414908125047008e-01 + -2.412559357926221e-01 + -2.410214831428485e-01 + -2.407874538901436e-01 + -2.405538473594189e-01 + -2.403206628448788e-01 + -2.400878996494245e-01 + -2.398555571012901e-01 + -2.396236345489386e-01 + -2.393921312730178e-01 + -2.391610465589564e-01 + -2.389303797400675e-01 + -2.387001301206918e-01 + -2.384702970040557e-01 + -2.382408797142012e-01 + -2.380118775445049e-01 + -2.377832897784107e-01 + -2.375551157141706e-01 + -2.373273546676602e-01 + -2.371000059435911e-01 + -2.368730688080822e-01 + -2.366465425799626e-01 + -2.364204265795865e-01 + -2.361947200488833e-01 + -2.359694222928865e-01 + -2.357445326362645e-01 + -2.355200503199650e-01 + -2.352959746331166e-01 + -2.350723049000333e-01 + -2.348490404054174e-01 + -2.346261804119323e-01 + -2.344037241869703e-01 + -2.341816710532240e-01 + -2.339600202844186e-01 + -2.337387711161095e-01 + -2.335179228570654e-01 + -2.332974748051559e-01 + -2.330774262250223e-01 + -2.328577763695832e-01 + -2.326385245095027e-01 + -2.324196699339893e-01 + -2.322012119071908e-01 + -2.319831496985562e-01 + -2.317654825913850e-01 + -2.315482098501277e-01 + -2.313313307350805e-01 + -2.311148445095759e-01 + -2.308987504304352e-01 + -2.306830477605995e-01 + -2.304677357746768e-01 + -2.302528137313455e-01 + -2.300382808821649e-01 + -2.298241364802842e-01 + -2.296103797849810e-01 + -2.293970100645507e-01 + -2.291840265929282e-01 + -2.289714285853380e-01 + -2.287592152687787e-01 + -2.285473859575702e-01 + -2.283359398767679e-01 + -2.281248762354934e-01 + -2.279141943457151e-01 + -2.277038934347241e-01 + -2.274939727028900e-01 + -2.272844314557521e-01 + -2.270752689260884e-01 + -2.268664843063303e-01 + -2.266580768713468e-01 + -2.264500458690802e-01 + -2.262423905203003e-01 + -2.260351100742427e-01 + -2.258282037663114e-01 + -2.256216708189812e-01 + -2.254155104759721e-01 + -2.252097219699820e-01 + -2.250043045201664e-01 + -2.247992573593203e-01 + -2.245945797283117e-01 + -2.243902708632074e-01 + -2.241863299547213e-01 + -2.239827562297785e-01 + -2.237795489631809e-01 + -2.235767073479459e-01 + -2.233742305913306e-01 + -2.231721179508258e-01 + -2.229703686190215e-01 + -2.227689817967141e-01 + -2.225679567331226e-01 + -2.223672926389324e-01 + -2.221669887137792e-01 + -2.219670441735496e-01 + -2.217674582593449e-01 + -2.215682301863681e-01 + -2.213693591068690e-01 + -2.211708442449674e-01 + -2.209726848493868e-01 + -2.207748801280919e-01 + -2.205774292618204e-01 + -2.203803314334422e-01 + -2.201835858632719e-01 + -2.199871917828554e-01 + -2.197911484006530e-01 + -2.195954548584606e-01 + -2.194001103587555e-01 + -2.192051141421317e-01 + -2.190104654040938e-01 + -2.188161633272981e-01 + -2.186222070944807e-01 + -2.184285959003400e-01 + -2.182353289399314e-01 + -2.180424054040691e-01 + -2.178498244760091e-01 + -2.176575853577229e-01 + -2.174656872563868e-01 + -2.172741293153170e-01 + -2.170829107184905e-01 + -2.168920306960583e-01 + -2.167014883907840e-01 + -2.165112829716549e-01 + -2.163214136638050e-01 + -2.161318796380734e-01 + -2.159426800456078e-01 + -2.157538140457635e-01 + -2.155652808465100e-01 + -2.153770796378261e-01 + -2.151892095617934e-01 + -2.150016698096599e-01 + -2.148144595574814e-01 + -2.146275779264766e-01 + -2.144410241083473e-01 + -2.142547972973645e-01 + -2.140688966286696e-01 + -2.138833212713278e-01 + -2.136980704068839e-01 + -2.135131431962469e-01 + -2.133285387811797e-01 + -2.131442563097479e-01 + -2.129602949644751e-01 + -2.127766538888946e-01 + -2.125933322205115e-01 + -2.124103291538361e-01 + -2.122276438425608e-01 + -2.120452754131807e-01 + -2.118632230196053e-01 + -2.116814858091140e-01 + -2.115000629262062e-01 + -2.113189535366684e-01 + -2.111381567835468e-01 + -2.109576717897184e-01 + -2.107774976942802e-01 + -2.105976336477213e-01 + -2.104180788038142e-01 + -2.102388322993181e-01 + -2.100598932684242e-01 + -2.098812608470688e-01 + -2.097029341689293e-01 + -2.095249123662445e-01 + -2.093471945702010e-01 + -2.091697799107427e-01 + -2.089926675162990e-01 + -2.088158565139439e-01 + -2.086393460309292e-01 + -2.084631351904399e-01 + -2.082872231124364e-01 + -2.081116089361562e-01 + -2.079362917906518e-01 + -2.077612707758083e-01 + -2.075865450013143e-01 + -2.074121135936494e-01 + -2.072379756933602e-01 + -2.070641303864229e-01 + -2.068905767613353e-01 + -2.067173139701657e-01 + -2.065443411403108e-01 + -2.063716573678470e-01 + -2.061992617242399e-01 + -2.060271533191409e-01 + -2.058553312792487e-01 + -2.056837947057731e-01 + -2.055125426973447e-01 + -2.053415743575506e-01 + -2.051708887985432e-01 + -2.050004850901530e-01 + -2.048303622987561e-01 + -2.046605195888223e-01 + -2.044909560501713e-01 + -2.043216707137636e-01 + -2.041526627003059e-01 + -2.039839311053935e-01 + -2.038154749924674e-01 + -2.036472934779214e-01 + -2.034793856435669e-01 + -2.033117505334730e-01 + -2.031443872603400e-01 + -2.029772949053144e-01 + -2.028104725040109e-01 + -2.026439191805672e-01 + -2.024776340229360e-01 + -2.023116160442759e-01 + -2.021458643362796e-01 + -2.019803779931268e-01 + -2.018151560674621e-01 + -2.016501976152565e-01 + -2.014855017030598e-01 + -2.013210674074579e-01 + -2.011568937830132e-01 + -2.009929798869589e-01 + -2.008293247967324e-01 + -2.006659275530022e-01 + -2.005027871933542e-01 + -2.003399027889975e-01 + -2.001772733993469e-01 + -2.000148980648089e-01 + -1.998527758076494e-01 + -1.996909056937942e-01 + -1.995292867991256e-01 + -1.993679181495860e-01 + -1.992067987609143e-01 + -1.990459276660739e-01 + -1.988853039482369e-01 + -1.987249266385540e-01 + -1.985647947339026e-01 + -1.984049072747179e-01 + -1.982452632992336e-01 + -1.980858618372365e-01 + -1.979267019229292e-01 + -1.977677825816225e-01 + -1.976091028269504e-01 + -1.974506616652059e-01 + -1.972924581269546e-01 + -1.971344912595772e-01 + -1.969767600601777e-01 + -1.968192635197257e-01 + -1.966620006473419e-01 + -1.965049704914111e-01 + -1.963481720619957e-01 + -1.961916043159508e-01 + -1.960352662866058e-01 + -1.958791570023236e-01 + -1.957232754408347e-01 + -1.955676205736371e-01 + -1.954121914050787e-01 + -1.952569869811404e-01 + -1.951020062511957e-01 + -1.949472481743376e-01 + -1.947927118000400e-01 + -1.946383960967118e-01 + -1.944843000224015e-01 + -1.943304226010136e-01 + -1.941767627996486e-01 + -1.940233195719773e-01 + -1.938700919198527e-01 + -1.937170788011597e-01 + -1.935642791691659e-01 + -1.934116920404960e-01 + -1.932593163702813e-01 + -1.931071510855982e-01 + -1.929551951739442e-01 + -1.928034476111422e-01 + -1.926519073523142e-01 + -1.925005733427448e-01 + -1.923494445333268e-01 + -1.921985198850023e-01 + -1.920477983694047e-01 + -1.918972789099489e-01 + -1.917469604078139e-01 + -1.915968418647559e-01 + -1.914469222323946e-01 + -1.912972003977130e-01 + -1.911476753153419e-01 + -1.909983459354311e-01 + -1.908492111828614e-01 + -1.907002699990133e-01 + -1.905515213021572e-01 + -1.904029639829450e-01 + -1.902545969863778e-01 + -1.901064192518998e-01 + -1.899584296832387e-01 + -1.898106271909556e-01 + -1.896630106872466e-01 + -1.895155790805884e-01 + -1.893683312769490e-01 + -1.892212661839438e-01 + -1.890743827110565e-01 + -1.889276797429612e-01 + -1.887811561730439e-01 + -1.886348109311961e-01 + -1.884886428944042e-01 + -1.883426509295119e-01 + -1.881968339481026e-01 + -1.880511908244114e-01 + -1.879057204210790e-01 + -1.877604216379617e-01 + -1.876152933660684e-01 + -1.874703344759240e-01 + -1.873255438107255e-01 + -1.871809202288037e-01 + -1.870364626111082e-01 + -1.868921698587295e-01 + -1.867480408184902e-01 + -1.866040743068453e-01 + -1.864602692045282e-01 + -1.863166243684211e-01 + -1.861731386269271e-01 + -1.860298108368848e-01 + -1.858866398430710e-01 + -1.857436244746902e-01 + -1.856007635808946e-01 + -1.854580560069532e-01 + -1.853155005825300e-01 + -1.851730961153894e-01 + -1.850308414342497e-01 + -1.848887353926573e-01 + -1.847467767859671e-01 + -1.846049644137440e-01 + -1.844632971091011e-01 + -1.843217736893654e-01 + -1.841803929497542e-01 + -1.840391536710132e-01 + -1.838980546953601e-01 + -1.837570948428414e-01 + -1.836162728527662e-01 + -1.834755875142904e-01 + -1.833350376404768e-01 + -1.831946220322505e-01 + -1.830543394615971e-01 + -1.829141886951903e-01 + -1.827741685199023e-01 + -1.826342777082210e-01 + -1.824945150204152e-01 + -1.823548792146146e-01 + -1.822153690716325e-01 + -1.820759833652730e-01 + -1.819367208114371e-01 + -1.817975801678411e-01 + -1.816585602158104e-01 + -1.815196596908165e-01 + -1.813808773333636e-01 + -1.812422118861797e-01 + -1.811036620617022e-01 + -1.809652266051679e-01 + -1.808269042761388e-01 + -1.806886937510042e-01 + -1.805505937426575e-01 + -1.804126030135119e-01 + -1.802747202867512e-01 + -1.801369442562599e-01 + -1.799992736029428e-01 + -1.798617070428147e-01 + -1.797242432859927e-01 + -1.795868810229852e-01 + -1.794496189531687e-01 + -1.793124557648680e-01 + -1.791753901302353e-01 + -1.790384207459855e-01 + -1.789015462957270e-01 + -1.787647654308534e-01 + -1.786280768266134e-01 + -1.784914791546937e-01 + -1.783549710639760e-01 + -1.782185512276328e-01 + -1.780822183108111e-01 + -1.779459709418989e-01 + -1.778098077766785e-01 + -1.776737274641330e-01 + -1.775377286080068e-01 + -1.774018098685905e-01 + -1.772659699092733e-01 + -1.771302073149079e-01 + -1.769945207098710e-01 + -1.768589087303928e-01 + -1.767233699571559e-01 + -1.765879030229077e-01 + -1.764525065751527e-01 + -1.763171791703831e-01 + -1.761819193770276e-01 + -1.760467257991546e-01 + -1.759115970764966e-01 + -1.757765317826701e-01 + -1.756415284467932e-01 + -1.755065856823099e-01 + -1.753717020824757e-01 + -1.752368761936218e-01 + -1.751021065398607e-01 + -1.749673916979465e-01 + -1.748327302843573e-01 + -1.746981207950505e-01 + -1.745635617515470e-01 + -1.744290517410085e-01 + -1.742945892830799e-01 + -1.741601728915786e-01 + -1.740258011048612e-01 + -1.738914724532109e-01 + -1.737571854631234e-01 + -1.736229386541751e-01 + -1.734887304969607e-01 + -1.733545594900176e-01 + -1.732204242005106e-01 + -1.730863230847530e-01 + -1.729522545880760e-01 + -1.728182172369972e-01 + -1.726842095169024e-01 + -1.725502298924380e-01 + -1.724162768405715e-01 + -1.722823488297978e-01 + -1.721484443102564e-01 + -1.720145617082366e-01 + -1.718806995062888e-01 + -1.717468561876117e-01 + -1.716130301380271e-01 + -1.714792197950507e-01 + -1.713454236195253e-01 + -1.712116399980747e-01 + -1.710778673588311e-01 + -1.709441041583024e-01 + -1.708103487974718e-01 + -1.706765996579921e-01 + -1.705428551238503e-01 + -1.704091136122197e-01 + -1.702753735243250e-01 + -1.701416332337174e-01 + -1.700078910979654e-01 + -1.698741454939726e-01 + -1.697403948188084e-01 + -1.696066374424440e-01 + -1.694728717024124e-01 + -1.693390959182572e-01 + -1.692053084687103e-01 + -1.690715077127793e-01 + -1.689376919605925e-01 + -1.688038595533757e-01 + -1.686700088249354e-01 + -1.685361380772680e-01 + -1.684022456043037e-01 + -1.682683297240474e-01 + -1.681343887869522e-01 + -1.680004210524648e-01 + -1.678664247764668e-01 + -1.677323982879569e-01 + -1.675983398888628e-01 + -1.674642478421112e-01 + -1.673301203727337e-01 + -1.671959557470875e-01 + -1.670617522514179e-01 + -1.669275081523977e-01 + -1.667932216748827e-01 + -1.666588910302535e-01 + -1.665245144618999e-01 + -1.663900902261115e-01 + -1.662556165573334e-01 + -1.661210916150787e-01 + -1.659865136192500e-01 + -1.658518808205523e-01 + -1.657171913793817e-01 + -1.655824434869752e-01 + -1.654476353589082e-01 + -1.653127651402884e-01 + -1.651778310039089e-01 + -1.650428311475997e-01 + -1.649077636947325e-01 + -1.647726268054878e-01 + -1.646374186795111e-01 + -1.645021374143022e-01 + -1.643667811219276e-01 + -1.642313479645375e-01 + -1.640958360797542e-01 + -1.639602435821208e-01 + -1.638245685678920e-01 + -1.636888091342957e-01 + -1.635529633807896e-01 + -1.634170294056715e-01 + -1.632810052843662e-01 + -1.631448890987297e-01 + -1.630086789505001e-01 + -1.628723728914803e-01 + -1.627359689604526e-01 + -1.625994652175857e-01 + -1.624628597296842e-01 + -1.623261505411777e-01 + -1.621893356498993e-01 + -1.620524130844338e-01 + -1.619153808874262e-01 + -1.617782370829140e-01 + -1.616409796594323e-01 + -1.615036066042981e-01 + -1.613661159511956e-01 + -1.612285056749289e-01 + -1.610907737177844e-01 + -1.609529180644884e-01 + -1.608149367058714e-01 + -1.606768276166446e-01 + -1.605385887249777e-01 + -1.604002179666082e-01 + -1.602617132920370e-01 + -1.601230726507729e-01 + -1.599842939686116e-01 + -1.598453751511857e-01 + -1.597063141136520e-01 + -1.595671087574746e-01 + -1.594277569704320e-01 + -1.592882566576958e-01 + -1.591486057239582e-01 + -1.590088020577491e-01 + -1.588688434990599e-01 + -1.587287278927537e-01 + -1.585884531125515e-01 + -1.584480170419727e-01 + -1.583074175205078e-01 + -1.581666523320080e-01 + -1.580257193426469e-01 + -1.578846164090064e-01 + -1.577433413163997e-01 + -1.576018918624315e-01 + -1.574602658488709e-01 + -1.573184610699215e-01 + -1.571764753211041e-01 + -1.570343063929105e-01 + -1.568919520623428e-01 + -1.567494100904384e-01 + -1.566066782348808e-01 + -1.564637542612438e-01 + -1.563206358983480e-01 + -1.561773208679784e-01 + -1.560338069324230e-01 + -1.558900918260982e-01 + -1.557461732592160e-01 + -1.556020489404925e-01 + -1.554577165574562e-01 + -1.553131737930803e-01 + -1.551684183667380e-01 + -1.550234479797016e-01 + -1.548782603038531e-01 + -1.547328529851514e-01 + -1.545872236759721e-01 + -1.544413700402710e-01 + -1.542952897416497e-01 + -1.541489804232354e-01 + -1.540024397056934e-01 + -1.538556652055174e-01 + -1.537086545589509e-01 + -1.535614054107616e-01 + -1.534139153265976e-01 + -1.532661818894184e-01 + -1.531182027303390e-01 + -1.529699754364569e-01 + -1.528214975805129e-01 + -1.526727667337492e-01 + -1.525237804315604e-01 + -1.523745362382714e-01 + -1.522250317710374e-01 + -1.520752645246755e-01 + -1.519252320010430e-01 + -1.517749318043420e-01 + -1.516243614355856e-01 + -1.514735183783821e-01 + -1.513224001894709e-01 + -1.511710043669709e-01 + -1.510193283881065e-01 + -1.508673697644896e-01 + -1.507151259726486e-01 + -1.505625944726656e-01 + -1.504097727456887e-01 + -1.502566582737337e-01 + -1.501032485283334e-01 + -1.499495409558064e-01 + -1.497955329817901e-01 + -1.496412220312461e-01 + -1.494866055649385e-01 + -1.493316810218445e-01 + -1.491764458131949e-01 + -1.490208973395277e-01 + -1.488650330073115e-01 + -1.487088502321930e-01 + -1.485523464347014e-01 + -1.483955190026080e-01 + -1.482383652905619e-01 + -1.480808826638546e-01 + -1.479230685198502e-01 + -1.477649202713839e-01 + -1.476064352431592e-01 + -1.474476107543291e-01 + -1.472884441602761e-01 + -1.471289328556787e-01 + -1.469690741904771e-01 + -1.468088654425319e-01 + -1.466483039513407e-01 + -1.464873870643751e-01 + -1.463261120992439e-01 + -1.461644763685366e-01 + -1.460024771711030e-01 + -1.458401117873900e-01 + -1.456773775256328e-01 + -1.455142717039091e-01 + -1.453507916253095e-01 + -1.451869345373153e-01 + -1.450226976893540e-01 + -1.448580783981553e-01 + -1.446930739597145e-01 + -1.445276816274984e-01 + -1.443618986028185e-01 + -1.441957221635531e-01 + -1.440291496154044e-01 + -1.438621781832398e-01 + -1.436948050802729e-01 + -1.435270275400491e-01 + -1.433588428498931e-01 + -1.431902482406432e-01 + -1.430212409022274e-01 + -1.428518180756519e-01 + -1.426819769869911e-01 + -1.425117148424586e-01 + -1.423410288662751e-01 + -1.421699162875700e-01 + -1.419983743276740e-01 + -1.418264001727286e-01 + -1.416539910114460e-01 + -1.414811440470098e-01 + -1.413078564852965e-01 + -1.411341255423312e-01 + -1.409599484327010e-01 + -1.407853222965617e-01 + -1.406102443173973e-01 + -1.404347117561954e-01 + -1.402587217519092e-01 + -1.400822714659246e-01 + -1.399053581557436e-01 + -1.397279789611117e-01 + -1.395501310267636e-01 + -1.393718115937786e-01 + -1.391930178402762e-01 + -1.390137469173205e-01 + -1.388339959972602e-01 + -1.386537622953096e-01 + -1.384730430031857e-01 + -1.382918352262208e-01 + -1.381101361784074e-01 + -1.379279430940128e-01 + -1.377452530885734e-01 + -1.375620633453186e-01 + -1.373783710804598e-01 + -1.371941734475252e-01 + -1.370094676273606e-01 + -1.368242508215203e-01 + -1.366385202106050e-01 + -1.364522729969404e-01 + -1.362655063841710e-01 + -1.360782175127518e-01 + -1.358904035964053e-01 + -1.357020618930480e-01 + -1.355131895302153e-01 + -1.353237837054462e-01 + -1.351338416922692e-01 + -1.349433606493001e-01 + -1.347523377766847e-01 + -1.345607703467432e-01 + -1.343686555800670e-01 + -1.341759906744941e-01 + -1.339827728348106e-01 + -1.337889993407819e-01 + -1.335946674413715e-01 + -1.333997743261954e-01 + -1.332043172962129e-01 + -1.330082936252972e-01 + -1.328117004983506e-01 + -1.326145352418741e-01 + -1.324167951779929e-01 + -1.322184775207451e-01 + -1.320195795498869e-01 + -1.318200985870884e-01 + -1.316200319613715e-01 + -1.314193769770063e-01 + -1.312181309395709e-01 + -1.310162911860090e-01 + -1.308138550466099e-01 + -1.306108198680959e-01 + -1.304071830473609e-01 + -1.302029419358534e-01 + -1.299980938748928e-01 + -1.297926362720222e-01 + -1.295865665431496e-01 + -1.293798820977739e-01 + -1.291725803345192e-01 + -1.289646586840201e-01 + -1.287561146028010e-01 + -1.285469455426532e-01 + -1.283371489741077e-01 + -1.281267223855238e-01 + -1.279156632656401e-01 + -1.277039691180485e-01 + -1.274916374652222e-01 + -1.272786658468367e-01 + -1.270650518164191e-01 + -1.268507929437779e-01 + -1.266358868257778e-01 + -1.264203310530910e-01 + -1.262041232080785e-01 + -1.259872609212462e-01 + -1.257697418614985e-01 + -1.255515637216261e-01 + -1.253327241582721e-01 + -1.251132208452764e-01 + -1.248930515084944e-01 + -1.246722139029198e-01 + -1.244507057917270e-01 + -1.242285249387353e-01 + -1.240056691417677e-01 + -1.237821362222557e-01 + -1.235579240163024e-01 + -1.233330303641722e-01 + -1.231074531412701e-01 + -1.228811902909497e-01 + -1.226542397328350e-01 + -1.224265993926709e-01 + -1.221982672554952e-01 + -1.219692413178169e-01 + -1.217395195880366e-01 + -1.215091001037845e-01 + -1.212779809466277e-01 + -1.210461602256936e-01 + -1.208136360512357e-01 + -1.205804065871132e-01 + -1.203464700244819e-01 + -1.201118245085727e-01 + -1.198764682774020e-01 + -1.196403996473917e-01 + -1.194036168896808e-01 + -1.191661183059585e-01 + -1.189279022478277e-01 + -1.186889671039581e-01 + -1.184493112863093e-01 + -1.182089332317922e-01 + -1.179678314226111e-01 + -1.177260043675167e-01 + -1.174834505981953e-01 + -1.172401686820595e-01 + -1.169961572351099e-01 + -1.167514149230550e-01 + -1.165059404117411e-01 + -1.162597324012717e-01 + -1.160127896494247e-01 + -1.157651109471359e-01 + -1.155166951180050e-01 + -1.152675410245315e-01 + -1.150176475647009e-01 + -1.147670136740031e-01 + -1.145156383362403e-01 + -1.142635205942373e-01 + -1.140106595167702e-01 + -1.137570541746248e-01 + -1.135027037005393e-01 + -1.132476072885310e-01 + -1.129917641930528e-01 + -1.127351736954119e-01 + -1.124778350964029e-01 + -1.122197477241451e-01 + -1.119609110122396e-01 + -1.117013244465126e-01 + -1.114409874638995e-01 + -1.111798996306716e-01 + -1.109180606010562e-01 + -1.106554699641756e-01 + -1.103921273860412e-01 + -1.101280326261970e-01 + -1.098631854961093e-01 + -1.095975858385727e-01 + -1.093312335328026e-01 + -1.090641285282797e-01 + -1.087962708201439e-01 + -1.085276604456853e-01 + -1.082582975002112e-01 + -1.079881821487157e-01 + -1.077173146235393e-01 + -1.074456951780328e-01 + -1.071733241222459e-01 + -1.069002018428373e-01 + -1.066263287812705e-01 + -1.063517054311524e-01 + -1.060763323447030e-01 + -1.058002101349244e-01 + -1.055233394662503e-01 + -1.052457210591484e-01 + -1.049673557111256e-01 + -1.046882442747131e-01 + -1.044083876525769e-01 + -1.041277868396362e-01 + -1.038464428925467e-01 + -1.035643569070283e-01 + -1.032815300276830e-01 + -1.029979634724506e-01 + -1.027136585692167e-01 + -1.024286166734134e-01 + -1.021428391952729e-01 + -1.018563276648054e-01 + -1.015690836461885e-01 + -1.012811087487812e-01 + -1.009924046817547e-01 + -1.007029732152899e-01 + -1.004128161832720e-01 + -1.001219355157012e-01 + -9.983033318947014e-02 + -9.953801123789381e-02 + -9.924497181065381e-02 + -9.895121710675164e-02 + -9.865674937610269e-02 + -9.836157098451072e-02 + -9.806568435550449e-02 + -9.776909196067303e-02 + -9.747179635418697e-02 + -9.717380018935569e-02 + -9.687510621844479e-02 + -9.657571724434684e-02 + -9.627563612429342e-02 + -9.597486578738405e-02 + -9.567340928055243e-02 + -9.537126972794066e-02 + -9.506845031433311e-02 + -9.476495428226560e-02 + -9.446078497156121e-02 + -9.415594584893169e-02 + -9.385044042616277e-02 + -9.354427227181475e-02 + -9.323744504129654e-02 + -9.292996250412121e-02 + -9.262182850819620e-02 + -9.231304696021701e-02 + -9.200362185853247e-02 + -9.169355729461479e-02 + -9.138285746240042e-02 + -9.107152658866502e-02 + -9.075956898041553e-02 + -9.044698911371001e-02 + -9.013379148226228e-02 + -8.981998063663986e-02 + -8.950556130228651e-02 + -8.919053824746566e-02 + -8.887491629233073e-02 + -8.855870039130662e-02 + -8.824189556852820e-02 + -8.792450692262105e-02 + -8.760653968435946e-02 + -8.728799913331863e-02 + -8.696889060279582e-02 + -8.664921956673162e-02 + -8.632899159487925e-02 + -8.600821233560418e-02 + -8.568688750540578e-02 + -8.536502290181033e-02 + -8.504262441718942e-02 + -8.471969805751253e-02 + -8.439624991228166e-02 + -8.407228614692197e-02 + -8.374781300392073e-02 + -8.342283682562317e-02 + -8.309736406563741e-02 + -8.277140122021633e-02 + -8.244495489588025e-02 + -8.211803185128563e-02 + -8.179063884910803e-02 + -8.146278271646745e-02 + -8.113447041766966e-02 + -8.080570906396743e-02 + -8.047650581443898e-02 + -8.014686781276095e-02 + -7.981680240792462e-02 + -7.948631704884632e-02 + -7.915541916537581e-02 + -7.882411634928695e-02 + -7.849241630024972e-02 + -7.816032674199919e-02 + -7.782785552351333e-02 + -7.749501058768483e-02 + -7.716179991262426e-02 + -7.682823159405887e-02 + -7.649431382724470e-02 + -7.616005485767063e-02 + -7.582546305035900e-02 + -7.549054686796573e-02 + -7.515531479419155e-02 + -7.481977542018518e-02 + -7.448393744841550e-02 + -7.414780964186224e-02 + -7.381140084542565e-02 + -7.347471999131863e-02 + -7.313777608894645e-02 + -7.280057821330421e-02 + -7.246313551410177e-02 + -7.212545725749871e-02 + -7.178755277686714e-02 + -7.144943146088469e-02 + -7.111110278446059e-02 + -7.077257629326426e-02 + -7.043386160590276e-02 + -7.009496843792977e-02 + -6.975590657859251e-02 + -6.941668588038064e-02 + -6.907731623736572e-02 + -6.873780762436528e-02 + -6.839817013263073e-02 + -6.805841390025939e-02 + -6.771854911509186e-02 + -6.737858603607710e-02 + -6.703853501790490e-02 + -6.669840646610939e-02 + -6.635821080020089e-02 + -6.601795854049251e-02 + -6.567766029345612e-02 + -6.533732672933422e-02 + -6.499696856244534e-02 + -6.465659655384894e-02 + -6.431622152906083e-02 + -6.397585437117004e-02 + -6.363550601749234e-02 + -6.329518746487584e-02 + -6.295490977261127e-02 + -6.261468405232740e-02 + -6.227452144919842e-02 + -6.193443314782195e-02 + -6.159443038613483e-02 + -6.125452449175782e-02 + -6.091472682299209e-02 + -6.057504875634485e-02 + -6.023550170757411e-02 + -5.989609715178513e-02 + -5.955684662483948e-02 + -5.921776169220818e-02 + -5.887885392543541e-02 + -5.854013491232313e-02 + -5.820161634720029e-02 + -5.786330995026137e-02 + -5.752522743033200e-02 + -5.718738052319666e-02 + -5.684978102238282e-02 + -5.651244078415603e-02 + -5.617537160914179e-02 + -5.583858533460867e-02 + -5.550209389764803e-02 + -5.516590918758542e-02 + -5.483004310132478e-02 + -5.449450760284144e-02 + -5.415931467224975e-02 + -5.382447627285256e-02 + -5.349000433169809e-02 + -5.315591089010736e-02 + -5.282220800586091e-02 + -5.248890761304951e-02 + -5.215602173570349e-02 + -5.182356244333215e-02 + -5.149154173522678e-02 + -5.115997163165661e-02 + -5.082886416999516e-02 + -5.049823136495267e-02 + -5.016808523392447e-02 + -4.983843779429676e-02 + -4.950930104255546e-02 + -4.918068697018742e-02 + -4.885260756307724e-02 + -4.852507478656667e-02 + -4.819810059193260e-02 + -4.787169691654435e-02 + -4.754587567726797e-02 + -4.722064876717863e-02 + -4.689602805511645e-02 + -4.657202539266345e-02 + -4.624865260469157e-02 + -4.592592148337583e-02 + -4.560384379218360e-02 + -4.528243126408893e-02 + -4.496169559628109e-02 + -4.464164845065374e-02 + -4.432230145577399e-02 + -4.400366620090135e-02 + -4.368575422918912e-02 + -4.336857704568598e-02 + -4.305214611378011e-02 + -4.273647284209545e-02 + -4.242156859535529e-02 + -4.210744469338823e-02 + -4.179411239819886e-02 + -4.148158291999365e-02 + -4.116986741259326e-02 + -4.085897697584740e-02 + -4.054892265423421e-02 + -4.023971542131075e-02 + -3.993136619382251e-02 + -3.962388583123071e-02 + -3.931728511726146e-02 + -3.901157477126550e-02 + -3.870676544906659e-02 + -3.840286772630143e-02 + -3.809989211312446e-02 + -3.779784905219891e-02 + -3.749674889469364e-02 + -3.719660192057603e-02 + -3.689741833904486e-02 + -3.659920826728452e-02 + -3.630198174507707e-02 + -3.600574873447752e-02 + -3.571051910326670e-02 + -3.541630263528623e-02 + -3.512310902944081e-02 + -3.483094789226868e-02 + -3.453982873906083e-02 + -3.424976098893085e-02 + -3.396075396966352e-02 + -3.367281691959212e-02 + -3.338595897696143e-02 + -3.310018917253339e-02 + -3.281551644593574e-02 + -3.253194963945627e-02 + -3.224949747985180e-02 + -3.196816859917648e-02 + -3.168797153104005e-02 + -3.140891468854379e-02 + -3.113100638362195e-02 + -3.085425482400445e-02 + -3.057866810270934e-02 + -3.030425420554928e-02 + -3.003102099769914e-02 + -2.975897623664901e-02 + -2.948812757423692e-02 + -2.921848253324668e-02 + -2.895004852283206e-02 + -2.868283284398848e-02 + -2.841684266935389e-02 + -2.815208505554401e-02 + -2.788856694668657e-02 + -2.762629515277662e-02 + -2.736527636581735e-02 + -2.710551716378724e-02 + -2.684702399109470e-02 + -2.658980317107453e-02 + -2.633386090723251e-02 + -2.607920326420626e-02 + -2.582583618939347e-02 + -2.557376551170278e-02 + -2.532299691452088e-02 + -2.507353595904179e-02 + -2.482538808499682e-02 + -2.457855859507147e-02 + -2.433305266394129e-02 + -2.408887533435539e-02 + -2.384603151841623e-02 + -2.360452600145211e-02 + -2.336436343201402e-02 + -2.312554832609387e-02 + -2.288808507226996e-02 + -2.265197791904223e-02 + -2.241723098404469e-02 + -2.218384825955722e-02 + -2.195183359578144e-02 + -2.172119070564114e-02 + -2.149192317903017e-02 + -2.126403446983029e-02 + -2.103752788800763e-02 + -2.081240661670658e-02 + -2.058867370373213e-02 + -2.036633206151460e-02 + -2.014538447470562e-02 + -1.992583358220780e-02 + -1.970768189350454e-02 + -1.949093179354288e-02 + -1.927558551890179e-02 + -1.906164517346932e-02 + -1.884911273803516e-02 + -1.863799005561765e-02 + -1.842827883084014e-02 + -1.821998063919436e-02 + -1.801309692347624e-02 + -1.780762899421212e-02 + -1.760357803216378e-02 + -1.740094507853177e-02 + -1.719973104881908e-02 + -1.699993673354589e-02 + -1.680156278321953e-02 + -1.660460972117107e-02 + -1.640907794332531e-02 + -1.621496771146485e-02 + -1.602227916433384e-02 + -1.583101231371427e-02 + -1.564116703862817e-02 + -1.545274309883748e-02 + -1.526574012772238e-02 + -1.508015761914186e-02 + -1.489599495303444e-02 + -1.471325139301425e-02 + -1.453192606709004e-02 + -1.435201798658663e-02 + -1.417352604127694e-02 + -1.399644899327932e-02 + -1.382078549302728e-02 + -1.364653407164367e-02 + -1.347369313289915e-02 + -1.330226097046918e-02 + -1.313223576283522e-02 + -1.296361556501821e-02 + -1.279639832327015e-02 + -1.263058187022890e-02 + -1.246616392163480e-02 + -1.230314208589229e-02 + -1.214151385550256e-02 + -1.198127661271531e-02 + -1.182242763705999e-02 + -1.166496409538715e-02 + -1.150888304589847e-02 + -1.135418144553720e-02 + -1.120085614521435e-02 + -1.104890388968280e-02 + -1.089832132231912e-02 + -1.074910498405016e-02 + -1.060125131793449e-02 + -1.045475666967276e-02 + -1.030961728045836e-02 + -1.016582929759894e-02 + -1.002338877483435e-02 + -9.882291666582974e-03 + -9.742533838318660e-03 + -9.604111064390042e-03 + -9.467019020603698e-03 + -9.331253297647066e-03 + -9.196809399717920e-03 + -9.063682741005771e-03 + -8.931868652392608e-03 + -8.801362376326071e-03 + -8.672159070075210e-03 + -8.544253813557785e-03 + -8.417641603575709e-03 + -8.292317355716863e-03 + -8.168275911736944e-03 + -8.045512032694060e-03 + -7.924020397696789e-03 + -7.803795618017998e-03 + -7.684832236645861e-03 + -7.567124714929550e-03 + -7.450667444285828e-03 + -7.335454748033539e-03 + -7.221480883382279e-03 + -7.108740043647531e-03 + -6.997226348639058e-03 + -6.886933855315346e-03 + -6.777856561420043e-03 + -6.669988397445708e-03 + -6.563323236817328e-03 + -6.457854897474280e-03 + -6.353577131920331e-03 + -6.250483639666226e-03 + -6.148568068731946e-03 + -6.047824005897748e-03 + -5.948244987599076e-03 + -5.849824501347084e-03 + -5.752555978513681e-03 + -5.656432807264865e-03 + -5.561448332218353e-03 + -5.467595840626229e-03 + -5.374868578311233e-03 + -5.283259752176146e-03 + -5.192762521793490e-03 + -5.103370006626977e-03 + -5.015075286629148e-03 + -4.927871401782054e-03 + -4.841751355904269e-03 + -4.756708115524279e-03 + -4.672734611342882e-03 + -4.589823741835811e-03 + -4.507968371897898e-03 + -4.427161334111035e-03 + -4.347395432360992e-03 + -4.268663440821394e-03 + -4.190958105123732e-03 + -4.114272145237943e-03 + -4.038598254543495e-03 + -3.963929102325757e-03 + -3.890257335680627e-03 + -3.817575578228647e-03 + -3.745876433060482e-03 + -3.675152484340320e-03 + -3.605396296371936e-03 + -3.536600416225055e-03 + -3.468757375181376e-03 + -3.401859688514519e-03 + -3.335899857279008e-03 + -3.270870369624132e-03 + -3.206763701552144e-03 + -3.143572317880366e-03 + -3.081288673370167e-03 + -3.019905214426235e-03 + -2.959414379161780e-03 + -2.899808598243805e-03 + -2.841080297295089e-03 + -2.783221897187762e-03 + -2.726225814481816e-03 + -2.670084462721576e-03 + -2.614790253659214e-03 + -2.560335598217736e-03 + -2.506712907773368e-03 + -2.453914594305456e-03 + -2.401933071402304e-03 + -2.350760756079694e-03 + -2.300390068609935e-03 + -2.250813433830373e-03 + -2.202023282926124e-03 + -2.154012052729510e-03 + -2.106772187286276e-03 + -2.060296139752280e-03 + -2.014576371403607e-03 + -1.969605353508076e-03 + -1.925375568654703e-03 + -1.881879509874747e-03 + -1.839109683164610e-03 + -1.797058608044933e-03 + -1.755718816706420e-03 + -1.715082857166331e-03 + -1.675143293280333e-03 + -1.635892703443056e-03 + -1.597323683697497e-03 + -1.559428848712492e-03 + -1.522200830321536e-03 + -1.485632280183934e-03 + -1.449715870092584e-03 + -1.414444291041649e-03 + -1.379810256474448e-03 + -1.345806501791486e-03 + -1.312425783716085e-03 + -1.279660883530597e-03 + -1.247504606026809e-03 + -1.215949779407020e-03 + -1.184989258561609e-03 + -1.154615923413642e-03 + -1.124822679454977e-03 + -1.095602461024569e-03 + -1.066948228352973e-03 + -1.038852968864840e-03 + -1.011309701783447e-03 + -9.843114734261671e-04 + -9.578513585924095e-04 + -9.319224654553773e-04 + -9.065179311555053e-04 + -8.816309237062864e-04 + -8.572546450286300e-04 + -8.333823272254078e-04 + -8.100072355517002e-04 + -7.871226705798197e-04 + -7.647219641139264e-04 + -7.427984826268421e-04 + -7.213456295816899e-04 + -7.003568409622573e-04 + -6.798255887472549e-04 + -6.597453829223955e-04 + -6.401097674232178e-04 + -6.209123240167792e-04 + -6.021466729184949e-04 + -5.838064694784330e-04 + -5.658854088227745e-04 + -5.483772251938055e-04 + -5.312756891491387e-04 + -5.145746125261390e-04 + -4.982678466736966e-04 + -4.823492804447342e-04 + -4.668128456938979e-04 + -4.516525141842837e-04 + -4.368622962674093e-04 + -4.224362466667431e-04 + -4.083684605074392e-04 + -3.946530726767535e-04 + -3.812842634726816e-04 + -3.682562540846601e-04 + -3.555633067280622e-04 + -3.431997298953713e-04 + -3.311598733734528e-04 + -3.194381292167991e-04 + -3.080289365424697e-04 + -2.969267761950205e-04 + -2.861261725181284e-04 + -2.756216974519896e-04 + -2.654079650780054e-04 + -2.554796342192304e-04 + -2.458314117831762e-04 + -2.364580472261255e-04 + -2.273543358783364e-04 + -2.185151214599497e-04 + -2.099352907310207e-04 + -2.016097775283348e-04 + -1.935335642058985e-04 + -1.857016766078902e-04 + -1.781091887621722e-04 + -1.707512232636694e-04 + -1.636229467286454e-04 + -1.567195750846747e-04 + -1.500363727286114e-04 + -1.435686485603325e-04 + -1.373117617901810e-04 + -1.312611200233150e-04 + -1.254121759173047e-04 + -1.197604333131590e-04 + -1.143014443478538e-04 + -1.090308067994204e-04 + -1.039441703359566e-04 + -9.903723276260782e-05 + -9.430573818110019e-05 + -8.974548326970851e-05 + -8.535231263786576e-05 + -8.112211782233505e-05 + -7.705084341917009e-05 + -7.313448187442813e-05 + -6.936907333027644e-05 + -6.575071119249467e-05 + -6.227553658275769e-05 + -5.893973914900695e-05 + -5.573956203853484e-05 + -5.267129595161032e-05 + -4.973128084575291e-05 + -4.691591029739419e-05 + -4.422162539456759e-05 + -4.164491727590835e-05 + -3.918233061143914e-05 + -3.683045757249665e-05 + -3.458594118927672e-05 + -3.244547785270521e-05 + -3.040581149216269e-05 + -2.846373767254703e-05 + -2.661610506551807e-05 + -2.485980997915884e-05 + -2.319180110803831e-05 + -2.160907991664170e-05 + -2.010869565536285e-05 + -1.868775067119526e-05 + -1.734339969669114e-05 + -1.607284546059277e-05 + -1.487334444060605e-05 + -1.374220506933501e-05 + -1.267678404087566e-05 + -1.167449238525668e-05 + -1.073279264625808e-05 + -9.849195952118955e-06 + -9.021268250139948e-06 + -8.246626567968640e-06 + -7.522936912951058e-06 + -6.847920492700095e-06 + -6.219349168072015e-06 + -5.635044236568559e-06 + -5.092882470932048e-06 + -4.590790895044201e-06 + -4.126746487291455e-06 + -3.698781859286729e-06 + -3.304979520120749e-06 + -2.943472506918129e-06 + -2.612449510984778e-06 + -2.310148834845521e-06 + -2.034859929271865e-06 + -1.784927798002038e-06 + -1.558746837246077e-06 + -1.354763241038800e-06 + -1.171478551126456e-06 + -1.007443551831214e-06 + -8.612614901318561e-07 + -7.315906671893518e-07 + -6.171385461507109e-07 + -5.166657190198488e-07 + -4.289874671965282e-07 + -3.529682224298676e-07 + -2.875261969469119e-07 + -2.316338735426513e-07 + -1.843129441850586e-07 + -1.446395043479685e-07 + -1.117434618507405e-07 + -8.480406305106530e-08 + -6.305553831873507e-08 + -4.578544870958251e-08 + -3.233089380928512e-08 + -2.208448022054805e-08 + -1.449165750478591e-08 + -9.047683233008124e-09 + -5.303766739728543e-09 + -2.863504097386866e-09 + -1.380623394721897e-09 + -5.650641971230870e-10 + -1.790372475752245e-10 + -3.511990521548007e-11 + -8.192061809269277e-13 + 0.000000000000000e+00 diff --git a/examples/SPIN/test_problems/validation_nve/in.spin.iron-nve b/examples/SPIN/test_problems/validation_nve/in.spin.iron-nve new file mode 100644 index 0000000000000000000000000000000000000000..f00fb1ec12500b61e3517fd307bf2c7c5dcf7cea --- /dev/null +++ b/examples/SPIN/test_problems/validation_nve/in.spin.iron-nve @@ -0,0 +1,49 @@ +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +region box block 0.0 3.0 0.0 3.0 0.0 3.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 +set group all spin/random 31 2.2 +velocity all create 100 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 3.5 +pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe +pair_coeff * * spin/exchange exchange 3.4 0.02726 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 0.0 0.00 21 +fix 3 all nve/spin lattice moving +timestep 0.0001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_tmag temp v_emag ke pe etotal +thermo 200 + +run 100000 diff --git a/examples/SPIN/test_problems/validation_nve/plot_nve.py b/examples/SPIN/test_problems/validation_nve/plot_nve.py new file mode 100755 index 0000000000000000000000000000000000000000..ffa7defaeda2e9599af8da0a80e4413280b470ee --- /dev/null +++ b/examples/SPIN/test_problems/validation_nve/plot_nve.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 + +import numpy as np, pylab, tkinter +import matplotlib.pyplot as plt +from scipy.optimize import curve_fit +from decimal import * +import sys, string, os + + +argv = sys.argv +if len(argv) != 3: + print("Syntax: ./plot_precession.py res_lammps.dat") + sys.exit() + +dirname = os.path.join(os.getcwd(), "Feb_07") +lammps_file = sys.argv[1] +llg_file = sys.argv[2] + +t,tmag,temp,e_mag,e_kin,e_pot,e_tot = np.loadtxt(lammps_file,skiprows=0, usecols=(1,2,3,4,5,6,7),unpack=True) + +fig = plt.figure(figsize=(8,8)) +ax1 = plt.subplot(3,1,1) +ax2 = plt.subplot(3,1,2) +ax3 = plt.subplot(3,1,3) + +ax1.plot(t, e_tot, 'k-', label='Total energy') +ax1.plot(t, e_pot, 'r-', label='Potential energy') +ax1.set_ylabel("E (eV)") +ax1.legend(loc=3) + +ax2.plot(t, e_kin, 'b-', label='Kinetic energy') +ax2.plot(t, e_mag, 'g-', label='Magnetic energy') +ax2.set_ylabel("E (eV)") +ax2.legend(loc=3) + +ax3.plot(t, temp, 'b--', label='Latt. temperature') +ax3.plot(t, tmag, 'r--', label='Spin temperature') +ax3.set_ylabel("T (K)") +ax3.legend(loc=3) + +plt.xlabel('Time (in ps)') +plt.legend() +plt.show() + +fig.savefig(os.path.join(os.getcwd(), "nve_spin_lattice.pdf"), bbox_inches="tight") +plt.close(fig) diff --git a/examples/SPIN/test_problems/validation_nve/run-test-nve.sh b/examples/SPIN/test_problems/validation_nve/run-test-nve.sh new file mode 100755 index 0000000000000000000000000000000000000000..441e7cf46d7c3ceb27c02a8f4bc18afeb0760331 --- /dev/null +++ b/examples/SPIN/test_problems/validation_nve/run-test-nve.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +# clean old res +rm res_*.dat + +# compute Lammps +./../../../../src/lmp_serial \ + -in in.spin.iron-nve +in="$(grep -n Step log.lammps | awk -F ':' '{print $1}')" +en="$(grep -n Loop log.lammps | awk -F ':' '{print $1}')" +in="$(echo "$in+1" | bc -l)" +en="$(echo "$en-$in" | bc -l)" +tail -n +$in log.lammps | head -n $en > res_lammps.dat + +# plot results +python3 -m plot_nve.py res_lammps.dat res_llg.dat diff --git a/examples/SPIN/test_problems/validation_nvt/Fe_Mishin2006.eam.alloy b/examples/SPIN/test_problems/validation_nvt/Fe_Mishin2006.eam.alloy new file mode 100644 index 0000000000000000000000000000000000000000..69231bb7eeed5677009482896fe520f4445413dd --- /dev/null +++ b/examples/SPIN/test_problems/validation_nvt/Fe_Mishin2006.eam.alloy @@ -0,0 +1,15009 @@ +comment 1 +comment 2 +Converted by Ganga P Purja Pun using C++ code on Mon Nov 3 10:48:17 2014 +1 Fe +5001 2.400000000000000e-03 5001 1.134673400048920e-03 5.673367000244601e+00 +26 5.584700000000000e+01 2.855300000000000e+00 BCC + 0.000000000000000e+00 + -2.338738741480766e-02 + -4.628214468925276e-02 + -6.912258036387915e-02 + -9.175603963501618e-02 + -1.141497214000000e-01 + -1.363388222824136e-01 + -1.583226111166723e-01 + -1.800965752913192e-01 + -2.016645989796093e-01 + -2.230289901000000e-01 + -2.441907391820846e-01 + -2.651515164004249e-01 + -2.859130554412839e-01 + -3.064769176965011e-01 + -3.268446844000000e-01 + -3.470179531091855e-01 + -3.669982968636285e-01 + -3.867872784635140e-01 + -4.063864535839295e-01 + -4.257973671999999e-01 + -4.450215551034667e-01 + -4.640605423684923e-01 + -4.829158454463851e-01 + -5.015889707095635e-01 + -5.200814146000000e-01 + -5.383946650297390e-01 + -5.565301991603658e-01 + -5.744894857268537e-01 + -5.922739837155686e-01 + -6.098851423000000e-01 + -6.273244022645037e-01 + -6.445931939756846e-01 + -6.616929394780281e-01 + -6.786250511352716e-01 + -6.953909318999999e-01 + -7.119919765952718e-01 + -7.284295696432279e-01 + -7.447050873484842e-01 + -7.608198966551055e-01 + -7.767753551999997e-01 + -7.925728126189590e-01 + -8.082136084644670e-01 + -8.236990743647939e-01 + -8.390305327768360e-01 + -8.542092970000001e-01 + -8.692366724924486e-01 + -8.841139549244775e-01 + -8.988424321942350e-01 + -9.134233831702263e-01 + -9.278580778000000e-01 + -9.421477783833053e-01 + -9.562937376266863e-01 + -9.702972006149804e-01 + -9.841594035897939e-01 + -9.978815741999999e-01 + -1.011464932626877e+00 + -1.024910689374227e+00 + -1.038220047492379e+00 + -1.051394201530088e+00 + -1.064434338000000e+00 + -1.077341636148692e+00 + -1.090117264995124e+00 + -1.102762386491716e+00 + -1.115278154872840e+00 + -1.127665716000000e+00 + -1.139926208397942e+00 + -1.152060761127338e+00 + -1.164070496370367e+00 + -1.175956528594255e+00 + -1.187719964000000e+00 + -1.199361901614307e+00 + -1.210883431375302e+00 + -1.222285636497208e+00 + -1.233569592577916e+00 + -1.244736367000000e+00 + -1.255787020138112e+00 + -1.266722603828963e+00 + -1.277544163022812e+00 + -1.288252734706093e+00 + -1.298849349000000e+00 + -1.309335029515858e+00 + -1.319710789766606e+00 + -1.329977637188551e+00 + -1.340136572985217e+00 + -1.350188590000000e+00 + -1.360134674013246e+00 + -1.369975802739515e+00 + -1.379712947700534e+00 + -1.389347073262624e+00 + -1.398879136000000e+00 + -1.408310086019347e+00 + -1.417640866058629e+00 + -1.426872412303706e+00 + -1.436005653062347e+00 + -1.445041510000000e+00 + -1.453980898788701e+00 + -1.462824726507764e+00 + -1.471573894410746e+00 + -1.480229297407323e+00 + -1.488791823000000e+00 + -1.497262352264216e+00 + -1.505641758273629e+00 + -1.513930908641532e+00 + -1.522130664940848e+00 + -1.530241881000000e+00 + -1.538265404312065e+00 + -1.546202075663511e+00 + -1.554052729949587e+00 + -1.561818194964572e+00 + -1.569499292000000e+00 + -1.577096836740392e+00 + -1.584611637631811e+00 + -1.592044497451960e+00 + -1.599396212413425e+00 + -1.606667572000000e+00 + -1.613859360067553e+00 + -1.620972353850301e+00 + -1.628007324820493e+00 + -1.634965037585305e+00 + -1.641846251000000e+00 + -1.648651718746855e+00 + -1.655382187120556e+00 + -1.662038397074428e+00 + -1.668621083574689e+00 + -1.675130975000000e+00 + -1.681568794320005e+00 + -1.687935258528783e+00 + -1.694231079461267e+00 + -1.700456962682860e+00 + -1.706613607000000e+00 + -1.712701705964896e+00 + -1.718721948142722e+00 + -1.724675016499694e+00 + -1.730561586828580e+00 + -1.736382330000000e+00 + -1.742137912457411e+00 + -1.747828994017656e+00 + -1.753456229026646e+00 + -1.759020265526974e+00 + -1.764521747000000e+00 + -1.769961312537754e+00 + -1.775339594027171e+00 + -1.780657218386706e+00 + -1.785914807192779e+00 + -1.791112977000000e+00 + -1.796252339747382e+00 + -1.801333500673453e+00 + -1.806357060360666e+00 + -1.811323614328498e+00 + -1.816233753000000e+00 + -1.821088062150410e+00 + -1.825887120985276e+00 + -1.830631504346673e+00 + -1.835321782397329e+00 + -1.839958520000000e+00 + -1.844542277375300e+00 + -1.849073608812209e+00 + -1.853553064572349e+00 + -1.857981190434394e+00 + -1.862358526000000e+00 + -1.866685606181999e+00 + -1.870962962067843e+00 + -1.875191119963197e+00 + -1.879370599902195e+00 + -1.883501918000000e+00 + -1.887585586736770e+00 + -1.891622112755978e+00 + -1.895611998485404e+00 + -1.899555741651499e+00 + -1.903453835000000e+00 + -1.907306767129976e+00 + -1.911115021853308e+00 + -1.914879078883785e+00 + -1.918599413067872e+00 + -1.922276495000000e+00 + -1.925910791456493e+00 + -1.929502763824010e+00 + -1.933052869645757e+00 + -1.936561562187136e+00 + -1.940029290000000e+00 + -1.943456497684402e+00 + -1.946843625242175e+00 + -1.950191109032846e+00 + -1.953499381145042e+00 + -1.956768869000000e+00 + -1.959999996258605e+00 + -1.963193182622893e+00 + -1.966348843806269e+00 + -1.969467390558660e+00 + -1.972549230000000e+00 + -1.975594766012145e+00 + -1.978604397775412e+00 + -1.981578520793180e+00 + -1.984517526364655e+00 + -1.987421802000000e+00 + -1.990291731861874e+00 + -1.993127695559656e+00 + -1.995930069364364e+00 + -1.998699225767272e+00 + -2.001435533000000e+00 + -2.004139355858378e+00 + -2.006811055538481e+00 + -2.009450989763890e+00 + -2.012059511961222e+00 + -2.014636972000000e+00 + -2.017183716742461e+00 + -2.019700089231340e+00 + -2.022186429001382e+00 + -2.024643071393187e+00 + -2.027070349000000e+00 + -2.029468591629637e+00 + -2.031838124095820e+00 + -2.034179268100215e+00 + -2.036492342201070e+00 + -2.038777662000000e+00 + -2.041035540156417e+00 + -2.043266284490031e+00 + -2.045470200083453e+00 + -2.047647589335177e+00 + -2.049798751000000e+00 + -2.051923980684690e+00 + -2.054023570214561e+00 + -2.056097808968247e+00 + -2.058146983649728e+00 + -2.060171377000000e+00 + -2.062171268551674e+00 + -2.064146934640815e+00 + -2.066098649159696e+00 + -2.068026683134947e+00 + -2.069931304000000e+00 + -2.071812776276246e+00 + -2.073671361471072e+00 + -2.075507318519566e+00 + -2.077320903301032e+00 + -2.079112369000000e+00 + -2.080881966139512e+00 + -2.082629940879466e+00 + -2.084356537486872e+00 + -2.086061998635378e+00 + -2.087746563000000e+00 + -2.089410466229110e+00 + -2.091053941828707e+00 + -2.092677220771137e+00 + -2.094280530723314e+00 + -2.095864097000000e+00 + -2.097428142794787e+00 + -2.098972888139794e+00 + -2.100498550462023e+00 + -2.102005344216306e+00 + -2.103493482000000e+00 + -2.104963174393948e+00 + -2.106414628045970e+00 + -2.107848047779690e+00 + -2.109263636820768e+00 + -2.110661595000000e+00 + -2.112042119471926e+00 + -2.113405405101743e+00 + -2.114751645122076e+00 + -2.116081030815763e+00 + -2.117393750000000e+00 + -2.118689987937912e+00 + -2.119969928191390e+00 + -2.121233752504371e+00 + -2.122481640223532e+00 + -2.123713768000000e+00 + -2.124930310308645e+00 + -2.126131439345980e+00 + -2.127317325650607e+00 + -2.128488137848567e+00 + -2.129644042000000e+00 + -2.130785202020548e+00 + -2.131911779449632e+00 + -2.133023934312029e+00 + -2.134121824962966e+00 + -2.135205607000000e+00 + -2.136275433910872e+00 + -2.137331457489147e+00 + -2.138373827747866e+00 + -2.139402692469194e+00 + -2.140418197999999e+00 + -2.141420489142081e+00 + -2.142409707722756e+00 + -2.143385994030927e+00 + -2.144349486926974e+00 + -2.145300323000000e+00 + -2.146238637076898e+00 + -2.147164562479522e+00 + -2.148078231051947e+00 + -2.148979772720135e+00 + -2.149869315000000e+00 + -2.150746983835218e+00 + -2.151612904662093e+00 + -2.152467200947815e+00 + -2.153309993218032e+00 + -2.154141401000000e+00 + -2.154961542883784e+00 + -2.155770535619624e+00 + -2.156568494253713e+00 + -2.157355531798206e+00 + -2.158131760000000e+00 + -2.158897289576013e+00 + -2.159652229917454e+00 + -2.160396688379106e+00 + -2.161130769707277e+00 + -2.161854579000000e+00 + -2.162568220747540e+00 + -2.163271795520776e+00 + -2.163965403104795e+00 + -2.164649143391419e+00 + -2.165323114000000e+00 + -2.165987410839904e+00 + -2.166642128874188e+00 + -2.167287362019562e+00 + -2.167923202786971e+00 + -2.168549742000000e+00 + -2.169167069289456e+00 + -2.169775273557456e+00 + -2.170374442741976e+00 + -2.170964663390078e+00 + -2.171546020000000e+00 + -2.172118595836383e+00 + -2.172682474202094e+00 + -2.173237737093693e+00 + -2.173784464448991e+00 + -2.174322736000000e+00 + -2.174852630794634e+00 + -2.175374225221640e+00 + -2.175887595177988e+00 + -2.176392816678372e+00 + -2.176889964000000e+00 + -2.177379110090651e+00 + -2.177860327096639e+00 + -2.178333686466943e+00 + -2.178799258747679e+00 + -2.179257113000000e+00 + -2.179707317299531e+00 + -2.180149939409128e+00 + -2.180585046165010e+00 + -2.181012703042297e+00 + -2.181432975000000e+00 + -2.181845926509731e+00 + -2.182251621108717e+00 + -2.182650121032542e+00 + -2.183041486916871e+00 + -2.183425780000000e+00 + -2.183803061402426e+00 + -2.184173389857596e+00 + -2.184536823542827e+00 + -2.184893420600431e+00 + -2.185243238000000e+00 + -2.185586332004080e+00 + -2.185922759056265e+00 + -2.186252574500474e+00 + -2.186575831916728e+00 + -2.186892585000000e+00 + -2.187202887393400e+00 + -2.187506791832633e+00 + -2.187804350256584e+00 + -2.188095613705712e+00 + -2.188380633000000e+00 + -2.188659458643119e+00 + -2.188932140238827e+00 + -2.189198726845117e+00 + -2.189459267002233e+00 + -2.189713809000000e+00 + -2.189962400732430e+00 + -2.190205089044370e+00 + -2.190441920581333e+00 + -2.190672942002169e+00 + -2.190898199000000e+00 + -2.191117736662499e+00 + -2.191331600149922e+00 + -2.191539834109547e+00 + -2.191742482380937e+00 + -2.191939589000000e+00 + -2.192131197889608e+00 + -2.192317351831708e+00 + -2.192498093290244e+00 + -2.192673464653123e+00 + -2.192843508000000e+00 + -2.193008265149897e+00 + -2.193167777657277e+00 + -2.193322086821774e+00 + -2.193471233640668e+00 + -2.193615259000000e+00 + -2.193754203483761e+00 + -2.193888106693908e+00 + -2.194017008313546e+00 + -2.194140948496115e+00 + -2.194259967000000e+00 + -2.194374103230534e+00 + -2.194483396307522e+00 + -2.194587885225862e+00 + -2.194687608881331e+00 + -2.194782606000000e+00 + -2.194872915200472e+00 + -2.194958575082935e+00 + -2.195039623893670e+00 + -2.195116099394696e+00 + -2.195188040000000e+00 + -2.195255484352944e+00 + -2.195318470219860e+00 + -2.195377035223315e+00 + -2.195431217130485e+00 + -2.195481054000000e+00 + -2.195526583926446e+00 + -2.195567844428364e+00 + -2.195604873029958e+00 + -2.195637707516086e+00 + -2.195666386000000e+00 + -2.195690946583878e+00 + -2.195711426545218e+00 + -2.195727863658885e+00 + -2.195740296673043e+00 + -2.195748763000000e+00 + -2.195753299607926e+00 + -2.195753945356280e+00 + -2.195750739132009e+00 + -2.195743719093693e+00 + -2.195732923000000e+00 + -2.195718388771941e+00 + -2.195700155840199e+00 + -2.195678263244660e+00 + -2.195652748934943e+00 + -2.195623652000000e+00 + -2.195591012099144e+00 + -2.195554867993407e+00 + -2.195515258985693e+00 + -2.195472225489285e+00 + -2.195425807000000e+00 + -2.195376042760528e+00 + -2.195322973614639e+00 + -2.195266640267298e+00 + -2.195207082686241e+00 + -2.195144342000000e+00 + -2.195078459809379e+00 + -2.195009476453377e+00 + -2.194937433066797e+00 + -2.194862372466152e+00 + -2.194784337000000e+00 + -2.194703368615792e+00 + -2.194619509257747e+00 + -2.194532801771278e+00 + -2.194443290305841e+00 + -2.194351018000000e+00 + -2.194256027737437e+00 + -2.194158364279782e+00 + -2.194058072250755e+00 + -2.193955195446114e+00 + -2.193849779000000e+00 + -2.193741868885436e+00 + -2.193631510785602e+00 + -2.193518750557477e+00 + -2.193403634464252e+00 + -2.193286209000000e+00 + -2.193166521091908e+00 + -2.193044618884907e+00 + -2.192920550384463e+00 + -2.192794362988794e+00 + -2.192666105000000e+00 + -2.192535825071375e+00 + -2.192403570783236e+00 + -2.192269389306454e+00 + -2.192133327558461e+00 + -2.191995432000000e+00 + -2.191855748732582e+00 + -2.191714323538803e+00 + -2.191571201647935e+00 + -2.191426427571225e+00 + -2.191280046000000e+00 + -2.191132101498374e+00 + -2.190982637495000e+00 + -2.190831697104933e+00 + -2.190679323369808e+00 + -2.190525559000000e+00 + -2.190370446239990e+00 + -2.190214026313205e+00 + -2.190056340263544e+00 + -2.189897429222788e+00 + -2.189737334000000e+00 + -2.189576094894156e+00 + -2.189413751026334e+00 + -2.189250341662785e+00 + -2.189085906605225e+00 + -2.188920484000000e+00 + -2.188754111167896e+00 + -2.188586826517446e+00 + -2.188418667831656e+00 + -2.188249671505532e+00 + -2.188079874000000e+00 + -2.187909311655257e+00 + -2.187738019850499e+00 + -2.187566033827133e+00 + -2.187393388939138e+00 + -2.187220120000000e+00 + -2.187046261198758e+00 + -2.186871845656608e+00 + -2.186696906557450e+00 + -2.186521477499284e+00 + -2.186345591000000e+00 + -2.186169278929348e+00 + -2.185992573469870e+00 + -2.185815507881449e+00 + -2.185638116930091e+00 + -2.185460435000000e+00 + -2.185282496723147e+00 + -2.185104339046128e+00 + -2.184925999471230e+00 + -2.184747515559985e+00 + -2.184568926000000e+00 + -2.184390270419004e+00 + -2.184211589307456e+00 + -2.184032923638580e+00 + -2.183854314918697e+00 + -2.183675806000000e+00 + -2.183497440664645e+00 + -2.183319263062145e+00 + -2.183141318226586e+00 + -2.182963652427783e+00 + -2.182786312000000e+00 + -2.182609343803448e+00 + -2.182432796909005e+00 + -2.182256720850984e+00 + -2.182081165100584e+00 + -2.181906180000000e+00 + -2.181731816772078e+00 + -2.181558127901617e+00 + -2.181385166690271e+00 + -2.181212987245827e+00 + -2.181041644000000e+00 + -2.180871191888493e+00 + -2.180701687214938e+00 + -2.180533187286951e+00 + -2.180365750436408e+00 + -2.180199435000000e+00 + -2.180034299706266e+00 + -2.179870405073628e+00 + -2.179707812476292e+00 + -2.179546583956951e+00 + -2.179386782000000e+00 + -2.179228469569652e+00 + -2.179071710572415e+00 + -2.178916570209873e+00 + -2.178763115274171e+00 + -2.178611412000000e+00 + -2.178461526719817e+00 + -2.178313527960817e+00 + -2.178167485170301e+00 + -2.178023468394170e+00 + -2.177881548000000e+00 + -2.177741794911888e+00 + -2.177604281585152e+00 + -2.177469081134519e+00 + -2.177336267165003e+00 + -2.177205914000000e+00 + -2.177078096781969e+00 + -2.176952892179310e+00 + -2.176830377266735e+00 + -2.176710629289710e+00 + -2.176593727000000e+00 + -2.176479750089725e+00 + -2.176368778170715e+00 + -2.176260892035270e+00 + -2.176156174290115e+00 + -2.176054707000000e+00 + -2.175956572480315e+00 + -2.175861855847520e+00 + -2.175770642395214e+00 + -2.175683016800304e+00 + -2.175599066000000e+00 + -2.175518878125867e+00 + -2.175442540126260e+00 + -2.175370140365612e+00 + -2.175301769822078e+00 + -2.175237519000000e+00 + -2.175177478422601e+00 + -2.175121740498959e+00 + -2.175070398200953e+00 + -2.175023544771637e+00 + -2.174981275000000e+00 + -2.174943684570890e+00 + -2.174910868831887e+00 + -2.174882924320826e+00 + -2.174859949548785e+00 + -2.174842043000000e+00 + -2.174829303331104e+00 + -2.174821830410927e+00 + -2.174819725228089e+00 + -2.174823090027552e+00 + -2.174832027000000e+00 + -2.174846638699704e+00 + -2.174867029559900e+00 + -2.174893304738549e+00 + -2.174925569834485e+00 + -2.174963931000000e+00 + -2.175008495084293e+00 + -2.175059370394289e+00 + -2.175116665887380e+00 + -2.175180491027200e+00 + -2.175250956000000e+00 + -2.175328171805043e+00 + -2.175412250937077e+00 + -2.175503306357684e+00 + -2.175601451271103e+00 + -2.175706800000000e+00 + -2.175819467765500e+00 + -2.175939570549688e+00 + -2.176067225041086e+00 + -2.176202548787411e+00 + -2.176345660000000e+00 + -2.176496677644949e+00 + -2.176655722183164e+00 + -2.176822914601843e+00 + -2.176998376191533e+00 + -2.177182229000000e+00 + -2.177374595921169e+00 + -2.177575601341799e+00 + -2.177785370087074e+00 + -2.178004027196875e+00 + -2.178231699000000e+00 + -2.178468512862275e+00 + -2.178714597011325e+00 + -2.178970080062299e+00 + -2.179235091002944e+00 + -2.179509760000000e+00 + -2.179794218272507e+00 + -2.180088598277346e+00 + -2.180393032665419e+00 + -2.180707654074028e+00 + -2.181032597000000e+00 + -2.181367997183408e+00 + -2.181713990526695e+00 + -2.182070713375897e+00 + -2.182438302803596e+00 + -2.182816897000000e+00 + -2.183206635150288e+00 + -2.183607657686531e+00 + -2.184020105275964e+00 + -2.184444118610974e+00 + -2.184879840000000e+00 + -2.185327412889597e+00 + -2.185786981109685e+00 + -2.186258689137973e+00 + -2.186742682377725e+00 + -2.187239107000000e+00 + -2.187748109862624e+00 + -2.188269838801850e+00 + -2.188804442677439e+00 + -2.189352071523296e+00 + -2.189912875000000e+00 + -2.190487003093955e+00 + -2.191074608322116e+00 + -2.191675843787203e+00 + -2.192290862610885e+00 + -2.192919819000000e+00 + -2.193562867915730e+00 + -2.194220164552147e+00 + -2.194891865404003e+00 + -2.195578128862665e+00 + -2.196279113000000e+00 + -2.196994976008069e+00 + -2.197725877814248e+00 + -2.198471979076637e+00 + -2.199233441010543e+00 + -2.200010426000000e+00 + -2.200803097224683e+00 + -2.201611618154960e+00 + -2.202436152922896e+00 + -2.203276866629103e+00 + -2.204133924999999e+00 + -2.205007494076377e+00 + -2.205897739759803e+00 + -2.206804828380775e+00 + -2.207728927012060e+00 + -2.208670203000000e+00 + -2.209628824019662e+00 + -2.210604958519273e+00 + -2.211598775212799e+00 + -2.212610442959744e+00 + -2.213640131000000e+00 + -2.214688008997179e+00 + -2.215754247358006e+00 + -2.216839016713686e+00 + -2.217942487809252e+00 + -2.219064832000000e+00 + -2.220206221175054e+00 + -2.221366827800435e+00 + -2.222546824259503e+00 + -2.223746382727115e+00 + -2.224965677000000e+00 + -2.226204881636015e+00 + -2.227464170011377e+00 + -2.228743716360184e+00 + -2.230043696636770e+00 + -2.231364286000000e+00 + -2.232705659360148e+00 + -2.234067993079961e+00 + -2.235451464138931e+00 + -2.236856249856844e+00 + -2.238282527000000e+00 + -2.239730472524265e+00 + -2.241200265638654e+00 + -2.242692085287406e+00 + -2.244206109271373e+00 + -2.245742517000000e+00 + -2.247301488882056e+00 + -2.248883204910052e+00 + -2.250487845315945e+00 + -2.252115590911750e+00 + -2.253766623000000e+00 + -2.255441123360801e+00 + -2.257139274542631e+00 + -2.258861259219423e+00 + -2.260607260005651e+00 + -2.262377460000000e+00 + -2.264172042724291e+00 + -2.265991192137124e+00 + -2.267835092970031e+00 + -2.269703930922391e+00 + -2.271597891000000e+00 + -2.273517158096056e+00 + -2.275461918662951e+00 + -2.277432359442962e+00 + -2.279428667085979e+00 + -2.281451029000000e+00 + -2.283499633104788e+00 + -2.285574667389452e+00 + -2.287676320195930e+00 + -2.289804780398682e+00 + -2.291960237000000e+00 + -2.294142879454985e+00 + -2.296352898805551e+00 + -2.298590485768695e+00 + -2.300855830078550e+00 + -2.303149122999999e+00 + -2.305470556795997e+00 + -2.307820323545887e+00 + -2.310198615647936e+00 + -2.312605626084681e+00 + -2.315041548000000e+00 + -2.317506574745174e+00 + -2.320000900224320e+00 + -2.322524719122656e+00 + -2.325078227061991e+00 + -2.327661619000000e+00 + -2.330275089774933e+00 + -2.332918835677479e+00 + -2.335593053485966e+00 + -2.338297940187764e+00 + -2.341033693000000e+00 + -2.343800509406319e+00 + -2.346598587410773e+00 + -2.349428125303093e+00 + -2.352289321686241e+00 + -2.355182376000000e+00 + -2.358107488272472e+00 + -2.361064858786305e+00 + -2.364054687769198e+00 + -2.367077175375671e+00 + -2.370132523000000e+00 + -2.373220932737141e+00 + -2.376342606269360e+00 + -2.379497745810629e+00 + -2.382686554578887e+00 + -2.385909236000000e+00 + -2.389165993580208e+00 + -2.392457030846979e+00 + -2.395782552198058e+00 + -2.399142763298191e+00 + -2.402537869000000e+00 + -2.405968074028050e+00 + -2.409433584975734e+00 + -2.412934608682329e+00 + -2.416471351683178e+00 + -2.420044020999999e+00 + -2.423652824137149e+00 + -2.427297969206864e+00 + -2.430979664728804e+00 + -2.434698119632543e+00 + -2.438453543000000e+00 + -2.442246144168148e+00 + -2.446076133195298e+00 + -2.449943720571852e+00 + -2.453849117184546e+00 + -2.457792534000000e+00 + -2.461774182279110e+00 + -2.465794274341647e+00 + -2.469853022790889e+00 + -2.473950640299041e+00 + -2.478087340000000e+00 + -2.482263335430129e+00 + -2.486478840559030e+00 + -2.490734069661931e+00 + -2.495029237377275e+00 + -2.499364559000000e+00 + -2.503740250274207e+00 + -2.508156527124766e+00 + -2.512613605692700e+00 + -2.517111702474631e+00 + -2.521651035000000e+00 + -2.526231821279088e+00 + -2.530854278665131e+00 + -2.535518625205626e+00 + -2.540225080261870e+00 + -2.544973863000000e+00 + -2.549765192573217e+00 + -2.554599288888442e+00 + -2.559476372494764e+00 + -2.564396664604125e+00 + -2.569360386000000e+00 + -2.574367757513646e+00 + -2.579419001423863e+00 + -2.584514340338642e+00 + -2.589653996851589e+00 + -2.594838193999999e+00 + -2.600067155253186e+00 + -2.605341104662645e+00 + -2.610660266783872e+00 + -2.616024866689215e+00 + -2.621435129000000e+00 + -2.626891278432673e+00 + -2.632393541366548e+00 + -2.637942144571998e+00 + -2.643537314797249e+00 + -2.649179279000000e+00 + -2.654868264471787e+00 + -2.660604499292826e+00 + -2.666388211776204e+00 + -2.672219630341834e+00 + -2.678098984000000e+00 + -2.684026502306392e+00 + -2.690002415494505e+00 + -2.696026954017429e+00 + -2.702100348331385e+00 + -2.708222828000000e+00 + -2.714394620651795e+00 + -2.720615948464916e+00 + -2.726887030965477e+00 + -2.733208085290139e+00 + -2.739579324000000e+00 + -2.746000955816228e+00 + -2.752473185385865e+00 + -2.758996214641690e+00 + -2.765570242469367e+00 + -2.772195463000000e+00 + -2.778872066776275e+00 + -2.785600241574056e+00 + -2.792380171842594e+00 + -2.799212037606767e+00 + -2.806096015000000e+00 + -2.813032277129447e+00 + -2.820020994035244e+00 + -2.827062331911353e+00 + -2.834156451970738e+00 + -2.841303512999999e+00 + -2.848503671252426e+00 + -2.855757077985244e+00 + -2.863063881095023e+00 + -2.870424224890850e+00 + -2.877838249999999e+00 + -2.885306093928394e+00 + -2.892827890388094e+00 + -2.900403769651381e+00 + -2.908033857857018e+00 + -2.915718277999999e+00 + -2.923457150039019e+00 + -2.931250588977881e+00 + -2.939098706889091e+00 + -2.947001612872150e+00 + -2.954959411999998e+00 + -2.962972205810575e+00 + -2.971040091434060e+00 + -2.979163163083816e+00 + -2.987341511831155e+00 + -2.995575224999998e+00 + -3.003864386499012e+00 + -3.012209075546996e+00 + -3.020609368336417e+00 + -3.029065337835770e+00 + -3.037577052999999e+00 + -3.046144579520789e+00 + -3.054767979666142e+00 + -3.063447312238444e+00 + -3.072182631692820e+00 + -3.080973988999999e+00 + -3.089821432099915e+00 + -3.098725004829577e+00 + -3.107684748048404e+00 + -3.116700699185534e+00 + -3.125772890999999e+00 + -3.134901352715559e+00 + -3.144086110699870e+00 + -3.153327188100508e+00 + -3.162624603843408e+00 + -3.171978372999998e+00 + -3.181388507546933e+00 + -3.190855016073102e+00 + -3.200377903469057e+00 + -3.209957169965227e+00 + -3.219592812999998e+00 + -3.229284827363896e+00 + -3.239033203402719e+00 + -3.248837927724427e+00 + -3.258698982652799e+00 + -3.268616347999998e+00 + -3.278590000914418e+00 + -3.288619913401403e+00 + -3.298706054004673e+00 + -3.308848387625167e+00 + -3.319046875999998e+00 + -3.329301477934322e+00 + -3.339612147844228e+00 + -3.349978836592516e+00 + -3.360401490990458e+00 + -3.370880054999998e+00 + -3.381414469596773e+00 + -3.392004670266620e+00 + -3.402650589976440e+00 + -3.413352159446950e+00 + -3.424109303999998e+00 + -3.434921945057392e+00 + -3.445790001867386e+00 + -3.456713390096515e+00 + -3.467692020464062e+00 + -3.478725800999998e+00 + -3.489814636890736e+00 + -3.500958427789171e+00 + -3.512157070764700e+00 + -3.523410460589800e+00 + -3.534718486999998e+00 + -3.546081035880271e+00 + -3.557497990199610e+00 + -3.568969229634993e+00 + -3.580494629586285e+00 + -3.592074061999998e+00 + -3.603707395759104e+00 + -3.615394495446970e+00 + -3.627135222559569e+00 + -3.638929435115233e+00 + -3.650776987000000e+00 + -3.662677728742245e+00 + -3.674631507325805e+00 + -3.686638166579447e+00 + -3.698697546469576e+00 + -3.710809483000000e+00 + -3.722973808828209e+00 + -3.735190352595157e+00 + -3.747458940125227e+00 + -3.759779394010754e+00 + -3.772151532000000e+00 + -3.784575168342916e+00 + -3.797050115062026e+00 + -3.809576180292756e+00 + -3.822153166803174e+00 + -3.834780875000000e+00 + -3.847459102820189e+00 + -3.860187643203489e+00 + -3.872966285667494e+00 + -3.885794816080159e+00 + -3.898673017000000e+00 + -3.911600667911320e+00 + -3.924577543724543e+00 + -3.937603416269590e+00 + -3.950678053996523e+00 + -3.963801221000000e+00 + -3.976972678103186e+00 + -3.990192183512261e+00 + -4.003459491521890e+00 + -4.016774351164608e+00 + -4.030136509000000e+00 + -4.043545709147031e+00 + -4.057001691149858e+00 + -4.070504190840202e+00 + -4.084052939835804e+00 + -4.097647667000000e+00 + -4.111288098419088e+00 + -4.124973955231095e+00 + -4.138704955371648e+00 + -4.152480813397504e+00 + -4.166301240000000e+00 + -4.180165942572286e+00 + -4.194074624537170e+00 + -4.208026986370140e+00 + -4.222022725101974e+00 + -4.236061533000000e+00 + -4.250143098846027e+00 + -4.264267108996074e+00 + -4.278433246261039e+00 + -4.292641188627767e+00 + -4.306890611000000e+00 + -4.321181185386233e+00 + -4.335512579090955e+00 + -4.349884456391911e+00 + -4.364296478350024e+00 + -4.378748302000000e+00 + -4.393239580901771e+00 + -4.407769964394226e+00 + -4.422339098999587e+00 + -4.436946628138934e+00 + -4.451592191000000e+00 + -4.466275423153566e+00 + -4.480995955945297e+00 + -4.495753418053649e+00 + -4.510547435209278e+00 + -4.525377628000000e+00 + -4.540243613376725e+00 + -4.555145006346341e+00 + -4.570081418154680e+00 + -4.585052454714511e+00 + -4.600057719000000e+00 + -4.615096811360685e+00 + -4.630169328028963e+00 + -4.645274861878902e+00 + -4.660413001844071e+00 + -4.675583333000000e+00 + -4.690785437259527e+00 + -4.706018892955582e+00 + -4.721283275134317e+00 + -4.736578154793736e+00 + -4.751903099000000e+00 + -4.767257671719769e+00 + -4.782641433752779e+00 + -4.798053942304498e+00 + -4.813494749953581e+00 + -4.828963406000000e+00 + -4.844459456896403e+00 + -4.859982445123970e+00 + -4.875531909767719e+00 + -4.891107385884028e+00 + -4.906708405000000e+00 + -4.922334495555203e+00 + -4.937985181840751e+00 + -4.953659984814029e+00 + -4.969358421588884e+00 + -4.985080006000000e+00 + -5.000824248840914e+00 + -5.016590656340991e+00 + -5.032378731598668e+00 + -5.048187974277996e+00 + -5.064017880000000e+00 + -5.079867940973151e+00 + -5.095737645459726e+00 + -5.111626480823102e+00 + -5.127533934923204e+00 + -5.143459499999997e+00 + -5.159402672483111e+00 + -5.175362954369220e+00 + -5.191339851303958e+00 + -5.207332872891304e+00 + -5.223341533999998e+00 + -5.239365353688981e+00 + -5.255403855076862e+00 + -5.271456565155025e+00 + -5.287523015792912e+00 + -5.303602743999997e+00 + -5.319695290809813e+00 + -5.335800201177900e+00 + -5.351917023850607e+00 + -5.368045312413205e+00 + -5.384184625999997e+00 + -5.400334527792659e+00 + -5.416494583936292e+00 + -5.432664365069262e+00 + -5.448843447960337e+00 + -5.465031412999998e+00 + -5.481227843963791e+00 + -5.497432330198948e+00 + -5.513644465003656e+00 + -5.529863846001168e+00 + -5.546090074999998e+00 + -5.562322757794160e+00 + -5.578561506278419e+00 + -5.594805935740466e+00 + -5.611055664858841e+00 + -5.627310317999997e+00 + -5.643569523867812e+00 + -5.659832914603254e+00 + -5.676100126691991e+00 + -5.692370802379017e+00 + -5.708644587999997e+00 + -5.724921133351554e+00 + -5.741200092816319e+00 + -5.757481124931912e+00 + -5.773763893288205e+00 + -5.790048065999996e+00 + -5.806333315035348e+00 + -5.822619317227983e+00 + -5.838905753168464e+00 + -5.855192307810226e+00 + -5.871478670999998e+00 + -5.887764536642293e+00 + -5.904049603224381e+00 + -5.920333573291820e+00 + -5.936616154283948e+00 + -5.952897057999997e+00 + -5.969175999997380e+00 + -5.985452700712029e+00 + -6.001726884408804e+00 + -6.017998279848357e+00 + -6.034266620999998e+00 + -6.050531645917840e+00 + -6.066793096565948e+00 + -6.083050719154321e+00 + -6.099304265265417e+00 + -6.115553489999997e+00 + -6.131798152082848e+00 + -6.148038016850530e+00 + -6.164272852974367e+00 + -6.180502432221914e+00 + -6.196726531999996e+00 + -6.212944934149927e+00 + -6.229157424398349e+00 + -6.245363792906498e+00 + -6.261563835474968e+00 + -6.277757350999996e+00 + -6.293944141712862e+00 + -6.310124016459128e+00 + -6.326296787703612e+00 + -6.342462271423720e+00 + -6.358620288999997e+00 + -6.374770666045148e+00 + -6.390913231950829e+00 + -6.407047820441565e+00 + -6.423174270811367e+00 + -6.439292425999997e+00 + -6.455402132459349e+00 + -6.471503242529590e+00 + -6.487595612302881e+00 + -6.503679101824962e+00 + -6.519753575999998e+00 + -6.535818903908587e+00 + -6.551874959678351e+00 + -6.567921621040533e+00 + -6.583958769810407e+00 + -6.599986292999997e+00 + -6.616004081814032e+00 + -6.632012031732002e+00 + -6.648010042213294e+00 + -6.663998017633650e+00 + -6.679975866999997e+00 + -6.695943503153600e+00 + -6.711900843425355e+00 + -6.727847809100131e+00 + -6.743784326279565e+00 + -6.759710325999998e+00 + -6.775625743222601e+00 + -6.791530516957345e+00 + -6.807424590371784e+00 + -6.823307911868753e+00 + -6.839180434000000e+00 + -6.855042113095231e+00 + -6.870892911056689e+00 + -6.886732793343159e+00 + -6.902561729209182e+00 + -6.918379693000000e+00 + -6.934186663377454e+00 + -6.949982623974822e+00 + -6.965767562024019e+00 + -6.981541468861679e+00 + -6.997304341000000e+00 + -7.013056179149240e+00 + -7.028796988372566e+00 + -7.044526777567921e+00 + -7.060245560311449e+00 + -7.075953355000000e+00 + -7.091650184045992e+00 + -7.107336074531737e+00 + -7.123011057484204e+00 + -7.138675168614964e+00 + -7.154328448000000e+00 + -7.169970939523060e+00 + -7.185602692089082e+00 + -7.201223758621499e+00 + -7.216834196750369e+00 + -7.232434069000000e+00 + -7.248023441650831e+00 + -7.263602384451917e+00 + -7.279170972021925e+00 + -7.294729285389790e+00 + -7.310277408000000e+00 + -7.325815426345584e+00 + -7.341343434315181e+00 + -7.356861529294433e+00 + -7.372369811668458e+00 + -7.387868387000000e+00 + -7.403357365322682e+00 + -7.418836861854650e+00 + -7.434306995371617e+00 + -7.449767888578398e+00 + -7.465219669000000e+00 + -7.480662468362842e+00 + -7.496096423635060e+00 + -7.511521675509539e+00 + -7.526938368822738e+00 + -7.542346653000000e+00 + -7.557746681513402e+00 + -7.573138613106206e+00 + -7.588522610348394e+00 + -7.603898840111169e+00 + -7.619267474000000e+00 + -7.634628687556104e+00 + -7.649982660818226e+00 + -7.665329578157865e+00 + -7.680669629212444e+00 + -7.696003007000000e+00 + -7.711329908041110e+00 + -7.726650535322031e+00 + -7.741965095546557e+00 + -7.757273799081691e+00 + -7.772576861000000e+00 + -7.787874500482072e+00 + -7.803166941820082e+00 + -7.818454413357075e+00 + -7.833737148083599e+00 + -7.849015383000000e+00 + -7.864289358883056e+00 + -7.879559322305754e+00 + -7.894825523493435e+00 + -7.910088216491122e+00 + -7.925347660000000e+00 + -7.940604117030949e+00 + -7.955857856656654e+00 + -7.971109151088187e+00 + -7.986358275553978e+00 + -8.001605510999999e+00 + -8.016851143003514e+00 + -8.032095461580266e+00 + -8.047338760488806e+00 + -8.062581337981985e+00 + -8.077823497000001e+00 + -8.093065544394179e+00 + -8.108307791577566e+00 + -8.123550554205780e+00 + -8.138794153086785e+00 + -8.154038912999997e+00 + -8.169285162395173e+00 + -8.184533235306290e+00 + -8.199783469410583e+00 + -8.215036206329255e+00 + -8.230291792999997e+00 + -8.245550580528674e+00 + -8.260812923863309e+00 + -8.276079182235739e+00 + -8.291349720375887e+00 + -8.306624906999998e+00 + -8.321905114401627e+00 + -8.337190720129563e+00 + -8.352482105562956e+00 + -8.367779656388556e+00 + -8.383083762999997e+00 + -8.398394819954635e+00 + -8.413713227271362e+00 + -8.429039388338369e+00 + -8.444373710123081e+00 + -8.459716604999997e+00 + -8.475068489773328e+00 + -8.490429785807564e+00 + -8.505800918193746e+00 + -8.521182316459129e+00 + -8.536574414999997e+00 + -8.551977652264261e+00 + -8.567392471335332e+00 + -8.582819319266729e+00 + -8.598258647834163e+00 + -8.613710912999998e+00 + -8.629176574613023e+00 + -8.644656098315155e+00 + -8.660149953296175e+00 + -8.675658612460374e+00 + -8.691182553999997e+00 + -8.706722260346437e+00 + -8.722278218076596e+00 + -8.737850917931995e+00 + -8.753440855866357e+00 + -8.769048531999996e+00 + -8.784674450012169e+00 + -8.800319118245726e+00 + -8.815983049456063e+00 + -8.831666761752983e+00 + -8.847370776999997e+00 + -8.863095620572640e+00 + -8.878841823409489e+00 + -8.894609920288579e+00 + -8.910400450202564e+00 + -8.926213956999996e+00 + -8.942050988642462e+00 + -8.957912097948702e+00 + -8.973797841249739e+00 + -8.989708778929735e+00 + -9.005645476999996e+00 + -9.021608505891232e+00 + -9.037598440089864e+00 + -9.053615857732957e+00 + -9.069661341483132e+00 + -9.085735478999997e+00 + -9.101838862125330e+00 + -9.117972087538210e+00 + -9.134135755396374e+00 + -9.150330469883286e+00 + -9.166556840999997e+00 + -9.182815483079517e+00 + -9.199107013675079e+00 + -9.215432054583626e+00 + -9.231791233265957e+00 + -9.248185180999997e+00 + -9.264614532683632e+00 + -9.281079929109534e+00 + -9.297582014702897e+00 + -9.314121437654787e+00 + -9.330698850999996e+00 + -9.347314912003528e+00 + -9.363970283188971e+00 + -9.380665630745685e+00 + -9.397401624940878e+00 + -9.414178940999998e+00 + -9.430998258244742e+00 + -9.447860260503859e+00 + -9.464765635761319e+00 + -9.481715077019253e+00 + -9.498709280999996e+00 + -9.515748948037771e+00 + -9.532834784442173e+00 + -9.549967500513571e+00 + -9.567147810785697e+00 + -9.584376433999996e+00 + -9.601654092679016e+00 + -9.618981514566920e+00 + -9.636359431588877e+00 + -9.653788580476306e+00 + -9.671269701999998e+00 + -9.688803540653204e+00 + -9.706390846469759e+00 + -9.724032373152683e+00 + -9.741728878390186e+00 + -9.759481124999997e+00 + -9.777289880050315e+00 + -9.795155915261526e+00 + -9.813080006095444e+00 + -9.831062932433847e+00 + -9.849105478999997e+00 + -9.867208434586416e+00 + -9.885372592754736e+00 + -9.903598750780114e+00 + -9.921887710289466e+00 + -9.940240277999996e+00 + -9.958657264807959e+00 + -9.977139486156000e+00 + -9.995687760994512e+00 + -1.001430291248964e+01 + -1.003298577000000e+01 + -1.005173716741557e+01 + -1.007055794170109e+01 + -1.008944893313717e+01 + -1.010841098632109e+01 + -1.012744495000000e+01 + -1.014655167843811e+01 + -1.016573203809090e+01 + -1.018498689280856e+01 + -1.020431709913334e+01 + -1.022372353000000e+01 + -1.024320706932260e+01 + -1.026276860085199e+01 + -1.028240900753776e+01 + -1.030212917226508e+01 + -1.032192999000000e+01 + -1.034181236270672e+01 + -1.036177718920571e+01 + -1.038182537682789e+01 + -1.040195784652257e+01 + -1.042217551000000e+01 + -1.044247927800797e+01 + -1.046287008429113e+01 + -1.048334886197221e+01 + -1.050391653528098e+01 + -1.052457404000000e+01 + -1.054532232135862e+01 + -1.056616233045517e+01 + -1.058709501821704e+01 + -1.060812133414642e+01 + -1.062924224000000e+01 + -1.065045870478386e+01 + -1.067177169452023e+01 + -1.069318217826154e+01 + -1.071469113174534e+01 + -1.073629954000000e+01 + -1.075800839260036e+01 + -1.077981867489276e+01 + -1.080173138018267e+01 + -1.082374751517595e+01 + -1.084586808000000e+01 + -1.086809407471729e+01 + -1.089042651905600e+01 + -1.091286643223940e+01 + -1.093541482646511e+01 + -1.095807273000000e+01 + -1.098084118002027e+01 + -1.100372120627546e+01 + -1.102671384288809e+01 + -1.104982013415814e+01 + -1.107304113000000e+01 + -1.109637788366843e+01 + -1.111983144958023e+01 + -1.114340288661973e+01 + -1.116709326043168e+01 + -1.119090364000000e+01 + -1.121483509746141e+01 + -1.123888871051257e+01 + -1.126306556352589e+01 + -1.128736674843474e+01 + -1.131179335000000e+01 + -1.133634645465832e+01 + -1.136102717560643e+01 + -1.138583662099362e+01 + -1.141077588304154e+01 + -1.143584608000000e+01 + -1.146104834278586e+01 + -1.148638378227322e+01 + -1.151185351768562e+01 + -1.153745868860526e+01 + -1.156320043000000e+01 + -1.158907987623694e+01 + -1.161509817570602e+01 + -1.164125647703402e+01 + -1.166755592508495e+01 + -1.169399768000000e+01 + -1.172058291041322e+01 + -1.174731277861368e+01 + -1.177418844974534e+01 + -1.180121109657743e+01 + -1.182838189999999e+01 + -1.185570204579555e+01 + -1.188317272006268e+01 + -1.191079511332836e+01 + -1.193857042312863e+01 + -1.196649984999999e+01 + -1.199458459773775e+01 + -1.202282587700695e+01 + -1.205122490269986e+01 + -1.207978289369385e+01 + -1.210850107000000e+01 + -1.213738065440104e+01 + -1.216642287877588e+01 + -1.219562898067898e+01 + -1.222500020303083e+01 + -1.225453779000000e+01 + -1.228424298812801e+01 + -1.231411705144751e+01 + -1.234416123799292e+01 + -1.237437680934280e+01 + -1.240476502999999e+01 + -1.243532716862228e+01 + -1.246606450371358e+01 + -1.249697831672881e+01 + -1.252806989018327e+01 + -1.255934050999999e+01 + -1.259079146663310e+01 + -1.262242406008652e+01 + -1.265423959346900e+01 + -1.268623937120698e+01 + -1.271842469999999e+01 + -1.275079689157634e+01 + -1.278335727210730e+01 + -1.281610716656313e+01 + -1.284904789393346e+01 + -1.288218078999999e+01 + -1.291550719883721e+01 + -1.294902845305343e+01 + -1.298274589252790e+01 + -1.301666087289315e+01 + -1.305077474999999e+01 + -1.308508888000826e+01 + -1.311960462335401e+01 + -1.315432334734565e+01 + -1.318924642810263e+01 + -1.322437523999999e+01 + -1.325971115825294e+01 + -1.329525556797775e+01 + -1.333100986045822e+01 + -1.336697543256989e+01 + -1.340315367999999e+01 + -1.343954599979837e+01 + -1.347615379884262e+01 + -1.351297848978655e+01 + -1.355002149050285e+01 + -1.358728421999999e+01 + -1.362476809975143e+01 + -1.366247455932581e+01 + -1.370040503112116e+01 + -1.373856094968169e+01 + -1.377694375999999e+01 + -1.381555491216690e+01 + -1.385439585021465e+01 + -1.389346802391279e+01 + -1.393277289476898e+01 + -1.397231192999999e+01 + -1.401208659972945e+01 + -1.405209837359219e+01 + -1.409234872413346e+01 + -1.413283912961124e+01 + -1.417357107999999e+01 + -1.421454607102127e+01 + -1.425576559243092e+01 + -1.429723113890712e+01 + -1.433894421536596e+01 + -1.438090632999999e+01 + -1.442311899332400e+01 + -1.446558371903957e+01 + -1.450830202765583e+01 + -1.455127544879836e+01 + -1.459450550999999e+01 + -1.463799373973040e+01 + -1.468174167767078e+01 + -1.472575086722947e+01 + -1.477002285383887e+01 + -1.481455918999999e+01 + -1.485936143285468e+01 + -1.490443114031971e+01 + -1.494976987417127e+01 + -1.499537920245961e+01 + -1.504126069999999e+01 + -1.508741594534576e+01 + -1.513384651602358e+01 + -1.518055399754435e+01 + -1.522753998778076e+01 + -1.527480607999999e+01 + -1.532235386668537e+01 + -1.537018495189360e+01 + -1.541830094448208e+01 + -1.546670345694024e+01 + -1.551539410999999e+01 + -1.556437452805486e+01 + -1.561364632974880e+01 + -1.566321114034704e+01 + -1.571307059764629e+01 + -1.576322633999999e+01 + -1.581368000886133e+01 + -1.586443325932826e+01 + -1.591548774371123e+01 + -1.596684510633198e+01 + -1.601850700999999e+01 + -1.607047512763592e+01 + -1.612275112310131e+01 + -1.617533666634843e+01 + -1.622823344044972e+01 + -1.628144312999999e+01 + -1.633496741991010e+01 + -1.638880799548294e+01 + -1.644296655089035e+01 + -1.649744479372194e+01 + -1.655224442999999e+01 + -1.660736716535794e+01 + -1.666281471098534e+01 + -1.671858878335293e+01 + -1.677469110504862e+01 + -1.683112339999999e+01 + -1.688788739643611e+01 + -1.694498483759857e+01 + -1.700241746523662e+01 + -1.706018701398879e+01 + -1.711829522999999e+01 + -1.717674386844329e+01 + -1.723553468924849e+01 + -1.729466945458232e+01 + -1.735414992865347e+01 + -1.741397788000000e+01 + -1.747415508099178e+01 + -1.753468330867943e+01 + -1.759556434768274e+01 + -1.765679999203036e+01 + -1.771839203000000e+01 + -1.778034225038387e+01 + -1.784265246094084e+01 + -1.790532446959567e+01 + -1.796836007816754e+01 + -1.803176110000000e+01 + -1.809552935720682e+01 + -1.815966667575656e+01 + -1.822417488078262e+01 + -1.828905579597735e+01 + -1.835431126000000e+01 + -1.841994311958100e+01 + -1.848595321475806e+01 + -1.855234338946741e+01 + -1.861911549709020e+01 + -1.868627140000000e+01 + -1.875381296458075e+01 + -1.882174205218422e+01 + -1.889006052915166e+01 + -1.895877027181235e+01 + -1.902787316000000e+01 + -1.909737107797965e+01 + -1.916726592078253e+01 + -1.923755957952593e+01 + -1.930825393714747e+01 + -1.937935090000000e+01 + -1.945085238647674e+01 + -1.952276030080435e+01 + -1.959507655061933e+01 + -1.966780305499929e+01 + -1.974094174000000e+01 + -1.981449453618971e+01 + -1.988846337667131e+01 + -1.996285019538828e+01 + -2.003765692760933e+01 + -2.011288552000000e+01 + -2.018853792621815e+01 + -2.026461609876727e+01 + -2.034112199510926e+01 + -2.041805758075517e+01 + -2.049542482000000e+01 + -2.057322568006621e+01 + -2.065146214471047e+01 + -2.073013619484967e+01 + -2.080924980240138e+01 + -2.088880495999999e+01 + -2.096880367169853e+01 + -2.104924793164823e+01 + -2.113013973534757e+01 + -2.121148108557274e+01 + -2.129327399999999e+01 + -2.137552050224973e+01 + -2.145822260294134e+01 + -2.154138232011573e+01 + -2.162500168821614e+01 + -2.170908273999999e+01 + -2.179362750931509e+01 + -2.187863804236205e+01 + -2.196411638687395e+01 + -2.205006458870765e+01 + -2.213648469999998e+01 + -2.222337877888525e+01 + -2.231074889087196e+01 + -2.239859710699802e+01 + -2.248692550346576e+01 + -2.257573614999999e+01 + -2.266503111825121e+01 + -2.275481250533621e+01 + -2.284508240538831e+01 + -2.293584289979252e+01 + -2.302709608999998e+01 + -2.311884408797131e+01 + -2.321108899308483e+01 + -2.330383291176923e+01 + -2.339707796636268e+01 + -2.349082627999998e+01 + -2.358507997580010e+01 + -2.367984117841246e+01 + -2.377511201965127e+01 + -2.387089464198777e+01 + -2.396719118999998e+01 + -2.406400380890314e+01 + -2.416133464354705e+01 + -2.425918584868402e+01 + -2.435755959379285e+01 + -2.445645803999998e+01 + -2.455588334675619e+01 + -2.465583769169985e+01 + -2.475632325621871e+01 + -2.485734222078360e+01 + -2.495889676999998e+01 + -2.506098909313465e+01 + -2.516362138717989e+01 + -2.526679585042222e+01 + -2.537051468121954e+01 + -2.547478008999998e+01 + -2.557959429416147e+01 + -2.568495950782481e+01 + -2.579087794894506e+01 + -2.589735184307986e+01 + -2.600438342000000e+01 + -2.611197491414786e+01 + -2.622012856937007e+01 + -2.632884662779481e+01 + -2.643813132670684e+01 + -2.654798492000000e+01 + -2.665840967182968e+01 + -2.676940784333127e+01 + -2.688098169572292e+01 + -2.699313349264397e+01 + -2.710586551000000e+01 + -2.721918002998715e+01 + -2.733307932892397e+01 + -2.744756569229334e+01 + -2.756264142140602e+01 + -2.767830881000000e+01 + -2.779457014947893e+01 + -2.791142774510221e+01 + -2.802888390934165e+01 + -2.814694096000261e+01 + -2.826560121000000e+01 + -2.838486697334714e+01 + -2.850474058224100e+01 + -2.862522436986088e+01 + -2.874632066501767e+01 + -2.886803181000000e+01 + -2.899036015446983e+01 + -2.911330804180568e+01 + -2.923687781925054e+01 + -2.936107184331833e+01 + -2.948589248000000e+01 + -2.961134209910011e+01 + -2.973742306338333e+01 + -2.986413774439124e+01 + -2.999148852946843e+01 + -3.011947780000000e+01 + -3.024810793640462e+01 + -3.037738133418102e+01 + -3.050730039248281e+01 + -3.063786751048302e+01 + -3.076908508999995e+01 + -3.090095553801825e+01 + -3.103348127528379e+01 + -3.116666472242296e+01 + -3.130050829541340e+01 + -3.143501442000000e+01 + -3.157018552904646e+01 + -3.170602405762165e+01 + -3.184253244456109e+01 + -3.197971313442012e+01 + -3.211756857999995e+01 + -3.225610123724459e+01 + -3.239531355479052e+01 + -3.253520799120049e+01 + -3.267578702273956e+01 + -3.281705312000000e+01 + -3.295900875199519e+01 + -3.310165640007095e+01 + -3.324499854981137e+01 + -3.338903768896250e+01 + -3.353377630999994e+01 + -3.367921690900354e+01 + -3.382536198480008e+01 + -3.397221404252836e+01 + -3.411977559608952e+01 + -3.426804916000000e+01 + -3.441703725062087e+01 + -3.456674239208418e+01 + -3.471716711255165e+01 + -3.486831394366235e+01 + -3.502018541999994e+01 + -3.517278408030963e+01 + -3.532611247314257e+01 + -3.548017315006599e+01 + -3.563496866378715e+01 + -3.579050157000000e+01 + -3.594677442911821e+01 + -3.610378981290209e+01 + -3.626155029281482e+01 + -3.642005843692588e+01 + -3.657931682999995e+01 + -3.673932806450152e+01 + -3.690009471994529e+01 + -3.706161938636306e+01 + -3.722390467398576e+01 + -3.738695318000000e+01 + -3.755076749872251e+01 + -3.771535025114206e+01 + -3.788070405790332e+01 + -3.804683152981476e+01 + -3.821373528999994e+01 + -3.838141797088579e+01 + -3.854988220802454e+01 + -3.871913063690455e+01 + -3.888916589260551e+01 + -3.905999062000000e+01 + -3.923160747217621e+01 + -3.940401910958111e+01 + -3.957722819105772e+01 + -3.975123737141870e+01 + -3.992604931999993e+01 + -4.010166671506960e+01 + -4.027809223215413e+01 + -4.045532854769397e+01 + -4.063337834194039e+01 + -4.081224431000000e+01 + -4.099192915380458e+01 + -4.117243556512365e+01 + -4.135376624213356e+01 + -4.153592389680070e+01 + -4.171891123999993e+01 + -4.190273098404973e+01 + -4.208738585293229e+01 + -4.227287857304115e+01 + -4.245921187066173e+01 + -4.264638848000000e+01 + -4.283441114000928e+01 + -4.302328258823673e+01 + -4.321300556988346e+01 + -4.340358284230594e+01 + -4.359501715999993e+01 + -4.378731127802528e+01 + -4.398046796379431e+01 + -4.417448998677844e+01 + -4.436938011574802e+01 + -4.456514113000000e+01 + -4.476177581459606e+01 + -4.495928695037842e+01 + -4.515767732491430e+01 + -4.535694973791337e+01 + -4.555710698999992e+01 + -4.575815188265746e+01 + -4.596008722124420e+01 + -4.616291581815827e+01 + -4.636664049491562e+01 + -4.657126407000000e+01 + -4.677678936329625e+01 + -4.698321921012249e+01 + -4.719055644645270e+01 + -4.739880390447049e+01 + -4.760796442999992e+01 + -4.781804087601476e+01 + -4.802903608806237e+01 + -4.824095291782189e+01 + -4.845379422957746e+01 + -4.866756289000000e+01 + -4.888226176793614e+01 + -4.909789373759357e+01 + -4.931446167624577e+01 + -4.953196846445736e+01 + -4.975041698999991e+01 + -4.996981014490353e+01 + -5.019015082042799e+01 + -5.041144191483806e+01 + -5.063368633767777e+01 + -5.085688700000000e+01 + -5.108104681363623e+01 + -5.130616869222998e+01 + -5.153225555529192e+01 + -5.175931033093434e+01 + -5.198733594999992e+01 + -5.221633534632925e+01 + -5.244631146064819e+01 + -5.267726723814258e+01 + -5.290920562821528e+01 + -5.314212958000000e+01 + -5.337604204603855e+01 + -5.361094599406351e+01 + -5.384684439089011e+01 + -5.408374019738633e+01 + -5.432163638999991e+01 + -5.456053595406303e+01 + -5.480044186892415e+01 + -5.504135712069162e+01 + -5.528328470761400e+01 + -5.552622762000000e+01 + -5.577018884907901e+01 + -5.601517141284037e+01 + -5.626117832498171e+01 + -5.650821258404100e+01 + -5.675627720999991e+01 + -5.700537523542541e+01 + -5.725550968441112e+01 + -5.750668358361924e+01 + -5.775889996777224e+01 + -5.801216188000000e+01 + -5.826647236807500e+01 + -5.852183447842080e+01 + -5.877825126017432e+01 + -5.903572576827786e+01 + -5.929426106999990e+01 + -5.955386023803142e+01 + -5.981452633626228e+01 + -6.007626243395679e+01 + -6.033907161265666e+01 + -6.060295696000000e+01 + -6.086792156620618e+01 + -6.113396851889991e+01 + -6.140110091270849e+01 + -6.166932185413050e+01 + -6.193863444999990e+01 + -6.220904180836374e+01 + -6.248054704389698e+01 + -6.275315327303672e+01 + -6.302686361375484e+01 + -6.330168120000000e+01 + -6.357760917255472e+01 + -6.385465065869710e+01 + -6.413280879313753e+01 + -6.441208672717147e+01 + -6.469248761000000e+01 + -6.497401459207148e+01 + -6.525667083785252e+01 + -6.554045951020694e+01 + -6.582538376572784e+01 + -6.611144677999999e+01 + -6.639865173804421e+01 + -6.668700181225154e+01 + -6.697650018322166e+01 + -6.726715004865791e+01 + -6.755895460000001e+01 + -6.785191702754956e+01 + -6.814604053706709e+01 + -6.844132833746227e+01 + -6.873778363702108e+01 + -6.903540965000001e+01 + -6.933420959649558e+01 + -6.963418670433917e+01 + -6.993534420146086e+01 + -7.023768531400407e+01 + -7.054121327999999e+01 + -7.084593134500037e+01 + -7.115184275353549e+01 + -7.145895075432828e+01 + -7.176725860332733e+01 + -7.207676955999989e+01 + -7.238748688676215e+01 + -7.269941385037480e+01 + -7.301255372170849e+01 + -7.332690977697268e+01 + -7.364248530000000e+01 + -7.395928357816831e+01 + -7.427730789465394e+01 + -7.459656154154558e+01 + -7.491704782593285e+01 + -7.523877004999987e+01 + -7.556173151464178e+01 + -7.588593553169946e+01 + -7.621138541944168e+01 + -7.653808450163682e+01 + -7.686603610000000e+01 + -7.719524353805981e+01 + -7.752571015313293e+01 + -7.785743928572181e+01 + -7.819043427631229e+01 + -7.852469846999988e+01 + -7.886023521608357e+01 + -7.919704786882774e+01 + -7.953513978918475e+01 + -7.987451434652237e+01 + -8.021517491000000e+01 + -8.055712484895521e+01 + -8.090036753598372e+01 + -8.124490635250547e+01 + -8.159074469172391e+01 + -8.193788593999987e+01 + -8.228633348416081e+01 + -8.263609073313938e+01 + -8.298716109541151e+01 + -8.333954797103145e+01 + -8.369325477000000e+01 + -8.404828491028280e+01 + -8.440464181412719e+01 + -8.476232890793086e+01 + -8.512134962287996e+01 + -8.548170738999985e+01 + -8.584340564352934e+01 + -8.620644783199920e+01 + -8.657083740482393e+01 + -8.693657780824788e+01 + -8.730367250000000e+01 + -8.767212494371194e+01 + -8.804193859639375e+01 + -8.841311692593891e+01 + -8.878566341870939e+01 + -8.915958154999986e+01 + -8.953487479168578e+01 + -8.991154663471849e+01 + -9.028960057395298e+01 + -9.066904010318096e+01 + -9.104986872000001e+01 + -9.143208992686800e+01 + -9.181570723560402e+01 + -9.220072416114067e+01 + -9.258714421980083e+01 + -9.297497092999986e+01 + -9.336420781525349e+01 + -9.375485841426487e+01 + -9.414692626313253e+01 + -9.454041488965315e+01 + -9.493532784000000e+01 + -9.533166867059026e+01 + -9.572944092950100e+01 + -9.612864816948191e+01 + -9.652929395407540e+01 + -9.693138184999984e+01 + -9.733491542620831e+01 + -9.773989825487583e+01 + -9.814633391500892e+01 + -9.855422599474231e+01 + -9.896357808000000e+01 + -9.937439375553778e+01 + -9.978667660951464e+01 + -1.002004302498873e+02 + -1.006156583113964e+02 + -1.010323643999998e+02 + -1.014505521033422e+02 + -1.018702250167552e+02 + -1.022913867648504e+02 + -1.027140410123223e+02 + -1.031381914000000e+02 + -1.035638415489902e+02 + -1.039909950728156e+02 + -1.044196556182856e+02 + -1.048498268814360e+02 + -1.052815124999998e+02 + -1.057147160851634e+02 + -1.061494413040264e+02 + -1.065856918490972e+02 + -1.070234714266025e+02 + -1.074627837000000e+02 + -1.079036323073108e+02 + -1.083460208994117e+02 + -1.087899531790557e+02 + -1.092354329168266e+02 + -1.096824637999998e+02 + -1.101310494754678e+02 + -1.105811936593542e+02 + -1.110329000832090e+02 + -1.114861724712110e+02 + -1.119410145000000e+02 + -1.123974298499644e+02 + -1.128554223365672e+02 + -1.133149957276709e+02 + -1.137761536721920e+02 + -1.142388998999998e+02 + -1.147032381951767e+02 + -1.151691723223398e+02 + -1.156367060267053e+02 + -1.161058430340008e+02 + -1.165765871000000e+02 + -1.170489420136372e+02 + -1.175229116129598e+02 + -1.179984996644491e+02 + -1.184757098197581e+02 + -1.189545458999998e+02 + -1.194350118004852e+02 + -1.199171112501401e+02 + -1.204008480035419e+02 + -1.208862259161727e+02 + -1.213732488000000e+02 + -1.218619204419225e+02 + -1.223522446637547e+02 + -1.228442252993658e+02 + -1.233378661832514e+02 + -1.238331710999998e+02 + -1.243301438371392e+02 + -1.248287883218059e+02 + -1.253291084262349e+02 + -1.258311078947497e+02 + -1.263347906000000e+02 + -1.268401604692280e+02 + -1.273472212887372e+02 + -1.278559768940106e+02 + -1.283664312433523e+02 + -1.288785881999998e+02 + -1.293924515790011e+02 + -1.299080252758494e+02 + -1.304253131892150e+02 + -1.309443191941241e+02 + -1.314650472000000e+02 + -1.319875011267033e+02 + -1.325116848422910e+02 + -1.330376022476014e+02 + -1.335652573069860e+02 + -1.340946538999998e+02 + -1.346257958892211e+02 + -1.351586873010075e+02 + -1.356933320835031e+02 + -1.362297340185993e+02 + -1.367678971000000e+02 + -1.373078254089903e+02 + -1.378495227933144e+02 + -1.383929931342302e+02 + -1.389382404506380e+02 + -1.394852686999998e+02 + -1.400340818144768e+02 + -1.405846838138316e+02 + -1.411370786853171e+02 + -1.416912703410207e+02 + -1.422472628000000e+02 + -1.428050601118040e+02 + -1.433646661562381e+02 + -1.439260848884736e+02 + -1.444893204354731e+02 + -1.450543767999998e+02 + -1.456212579173106e+02 + -1.461899678121767e+02 + -1.467605105156440e+02 + -1.473328900351724e+02 + -1.479071104000000e+02 + -1.484831756560318e+02 + -1.490610898537698e+02 + -1.496408570188282e+02 + -1.502224811435522e+02 + -1.508059663000000e+02 + -1.513913165938295e+02 + -1.519785360517816e+02 + -1.525676287092765e+02 + -1.531585986433134e+02 + -1.537514498999998e+02 + -1.543461865304275e+02 + -1.549428126935839e+02 + -1.555413324987964e+02 + -1.561417499433451e+02 + -1.567440691000000e+02 + -1.573482940967384e+02 + -1.579544290618548e+02 + -1.585624781173004e+02 + -1.591724453723425e+02 + -1.597843348999998e+02 + -1.603981507727703e+02 + -1.610138971515657e+02 + -1.616315781879854e+02 + -1.622511979884414e+02 + -1.628727607000000e+02 + -1.634962704824068e+02 + -1.641217314319286e+02 + -1.647491476962519e+02 + -1.653785235159056e+02 + -1.660098629999998e+02 + -1.666431702132707e+02 + -1.672784494025457e+02 + -1.679157047805161e+02 + -1.685549404452619e+02 + -1.691961606000000e+02 + -1.698393694891200e+02 + -1.704845712252935e+02 + -1.711317699673001e+02 + -1.717809699904770e+02 + -1.724321754999998e+02 + -1.730853906636835e+02 + -1.737406197069920e+02 + -1.743978668390772e+02 + -1.750571362267288e+02 + -1.757184321000000e+02 + -1.763817587329360e+02 + -1.770471204015179e+02 + -1.777145213342737e+02 + -1.783839656916257e+02 + -1.790554576999997e+02 + -1.797290016348361e+02 + -1.804046017812607e+02 + -1.810822624074922e+02 + -1.817619877551305e+02 + -1.824437821000000e+02 + -1.831276497291853e+02 + -1.838135948809234e+02 + -1.845016218201234e+02 + -1.851917348679873e+02 + -1.858839382999998e+02 + -1.865782363787204e+02 + -1.872746334451072e+02 + -1.879731338116912e+02 + -1.886737417231232e+02 + -1.893764615000000e+02 + -1.900812975069574e+02 + -1.907882540726982e+02 + -1.914973354967214e+02 + -1.922085460544087e+02 + -1.929218900999998e+02 + -1.936373720194894e+02 + -1.943549961169706e+02 + -1.950747667123967e+02 + -1.957966881820183e+02 + -1.965207649000000e+02 + -1.972470012275908e+02 + -1.979754014928308e+02 + -1.987059700466389e+02 + -1.994387112870401e+02 + -2.001736295999997e+02 + -2.009107293657797e+02 + -2.016500149830146e+02 + -2.023914908231823e+02 + -2.031351612174878e+02 + -2.038810306000000e+02 + -2.046291034502658e+02 + -2.053793841544099e+02 + -2.061318770718700e+02 + -2.068865865659776e+02 + -2.076435170999997e+02 + -2.084026731731890e+02 + -2.091640591716557e+02 + -2.099276794995817e+02 + -2.106935386300690e+02 + -2.114616410000000e+02 + -2.122319910255027e+02 + -2.130045931490896e+02 + -2.137794518362718e+02 + -2.145565715736208e+02 + -2.153359567999997e+02 + -2.161176119510612e+02 + -2.169015415764713e+02 + -2.176877501734888e+02 + -2.184762421224458e+02 + -2.192670219000000e+02 + -2.200600940505141e+02 + -2.208554631128035e+02 + -2.216531335679009e+02 + -2.224531098207831e+02 + -2.232553963999997e+02 + -2.240599978997985e+02 + -2.248669188401317e+02 + -2.256761637092654e+02 + -2.264877369816284e+02 + -2.273016432000000e+02 + -2.281178869415660e+02 + -2.289364727411434e+02 + -2.297574051254879e+02 + -2.305806886273285e+02 + -2.314063277999997e+02 + -2.322343272067604e+02 + -2.330646913987978e+02 + -2.338974249389632e+02 + -2.347325324124834e+02 + -2.355700184000000e+02 + -2.364098874788788e+02 + -2.372521442301691e+02 + -2.380967932316097e+02 + -2.389438390563173e+02 + -2.397932862999997e+02 + -2.406451395699314e+02 + -2.414994034603918e+02 + -2.423560825773335e+02 + -2.432151815494090e+02 + -2.440767050000000e+02 + -2.449406575494712e+02 + -2.458070438246558e+02 + -2.466758684438366e+02 + -2.475471360143982e+02 + -2.484208511999996e+02 + -2.492970186823550e+02 + -2.501756430678903e+02 + -2.510567289807632e+02 + -2.519402811010791e+02 + -2.528263041000000e+02 + -2.537148026392507e+02 + -2.546057813786489e+02 + -2.554992449908618e+02 + -2.563951981686694e+02 + -2.572936455999996e+02 + -2.581945919701986e+02 + -2.590980419711499e+02 + -2.600040002856254e+02 + -2.609124715849065e+02 + -2.618234606000000e+02 + -2.627369720784054e+02 + -2.636530106775519e+02 + -2.645715811006028e+02 + -2.654926881465747e+02 + -2.664163364999997e+02 + -2.673425308135112e+02 + -2.682712759281322e+02 + -2.692025766270102e+02 + -2.701364375396030e+02 + -2.710728634000000e+02 + -2.720118590149941e+02 + -2.729534291763713e+02 + -2.738975786300543e+02 + -2.748443120676544e+02 + -2.757936342999997e+02 + -2.767455501787848e+02 + -2.777000643997414e+02 + -2.786571816989448e+02 + -2.796169069311608e+02 + -2.805792449000000e+02 + -2.815442003833780e+02 + -2.825117782146733e+02 + -2.834819832031981e+02 + -2.844548201023671e+02 + -2.854302936999997e+02 + -2.864084088239409e+02 + -2.873891703596309e+02 + -2.883725831483384e+02 + -2.893586519481404e+02 + -2.903473816000000e+02 + -2.913387769892773e+02 + -2.923328429461174e+02 + -2.933295843055886e+02 + -2.943290059327143e+02 + -2.953311126999996e+02 + -2.963359094688269e+02 + -2.973434010446480e+02 + -2.983535922946355e+02 + -2.993664881931061e+02 + -3.003820936000000e+02 + -3.014004133189056e+02 + -3.024214522481863e+02 + -3.034452153213495e+02 + -3.044717074825456e+02 + -3.055009335999997e+02 + -3.065328985120693e+02 + -3.075676071368449e+02 + -3.086050644279766e+02 + -3.096452753553112e+02 + -3.106882447999996e+02 + -3.117339776182681e+02 + -3.127824787990806e+02 + -3.138337533166528e+02 + -3.148878060732492e+02 + -3.159446419999996e+02 + -3.170042660531784e+02 + -3.180666831989414e+02 + -3.191318984100575e+02 + -3.201999166629245e+02 + -3.212707428999996e+02 + -3.223443820580361e+02 + -3.234208391391681e+02 + -3.245001191331626e+02 + -3.255822269890704e+02 + -3.266671677000000e+02 + -3.277549462905472e+02 + -3.288455677875165e+02 + -3.299390371822755e+02 + -3.310353594166140e+02 + -3.321345394999996e+02 + -3.332365824854958e+02 + -3.343414934139734e+02 + -3.354492773045120e+02 + -3.365599391517927e+02 + -3.376734840000000e+02 + -3.387899169180687e+02 + -3.399092429402671e+02 + -3.410314670886827e+02 + -3.421565943845668e+02 + -3.432846298999996e+02 + -3.444155787253185e+02 + -3.455494458929433e+02 + -3.466862364711880e+02 + -3.478259555971263e+02 + -3.489686083000000e+02 + -3.501141995805723e+02 + -3.512627346186799e+02 + -3.524142185495274e+02 + -3.535686563776662e+02 + -3.547260531999996e+02 + -3.558864141649047e+02 + -3.570497443588797e+02 + -3.582160488781844e+02 + -3.593853328562213e+02 + -3.605576014000000e+02 + -3.617328596203877e+02 + -3.629111127187760e+02 + -3.640923658296630e+02 + -3.652766239636252e+02 + -3.664638922999996e+02 + -3.676541760949210e+02 + -3.688474804479435e+02 + -3.700438104641370e+02 + -3.712431713192604e+02 + -3.724455682000000e+02 + -3.736510062917217e+02 + -3.748594907617601e+02 + -3.760710267615897e+02 + -3.772856194324323e+02 + -3.785032739999995e+02 + -3.797239957155368e+02 + -3.809477897125092e+02 + -3.821746611611994e+02 + -3.834046153278488e+02 + -3.846376574000000e+02 + -3.858737925371631e+02 + -3.871130260109560e+02 + -3.883553630688227e+02 + -3.896008088834330e+02 + -3.908493686999996e+02 + -3.921010477895665e+02 + -3.933558513233559e+02 + -3.946137845264227e+02 + -3.958748527376295e+02 + -3.971390612000000e+02 + -3.984064151109821e+02 + -3.996769197585321e+02 + -4.009505804131749e+02 + -4.022274022910074e+02 + -4.035073906999995e+02 + -4.047905509809469e+02 + -4.060768883569506e+02 + -4.073664080804837e+02 + -4.086591154923789e+02 + -4.099550159000000e+02 + -4.112541145837781e+02 + -4.125564168232350e+02 + -4.138619279264533e+02 + -4.151706532436620e+02 + -4.164825980999995e+02 + -4.177977678009782e+02 + -4.191161676484082e+02 + -4.204378029703449e+02 + -4.217626791355866e+02 + -4.230908015000000e+02 + -4.244221753941545e+02 + -4.257568060915354e+02 + -4.270946989435893e+02 + -4.284358594322071e+02 + -4.297802928999995e+02 + -4.311280046181774e+02 + -4.324789999621266e+02 + -4.338332843406102e+02 + -4.351908631680312e+02 + -4.365517418000000e+02 + -4.379159255766193e+02 + -4.392834199290754e+02 + -4.406542302894571e+02 + -4.420283620541414e+02 + -4.434058205999995e+02 + -4.447866113008026e+02 + -4.461707395611302e+02 + -4.475582108324218e+02 + -4.489490306166049e+02 + -4.503432043000000e+02 + -4.517407372272212e+02 + -4.531416348857516e+02 + -4.545459027469901e+02 + -4.559535462055746e+02 + -4.573645706999994e+02 + -4.587789817092769e+02 + -4.601967847429616e+02 + -4.616179852648949e+02 + -4.630425886631084e+02 + -4.644706004000000e+02 + -4.659020259847504e+02 + -4.673368709042424e+02 + -4.687751406384571e+02 + -4.702168406679589e+02 + -4.716619764999995e+02 + -4.731105536500806e+02 + -4.745625775980045e+02 + -4.760180538297375e+02 + -4.774769878558138e+02 + -4.789393852000000e+02 + -4.804052513950263e+02 + -4.818745919803221e+02 + -4.833474124743740e+02 + -4.848237183656923e+02 + -4.863035151999994e+02 + -4.877868085453354e+02 + -4.892736039052198e+02 + -4.907639068268139e+02 + -4.922577229425711e+02 + -4.937550578000000e+02 + -4.952559169027076e+02 + -4.967603058178435e+02 + -4.982682301416788e+02 + -4.997796954853789e+02 + -5.012947073999994e+02 + -5.028132714194502e+02 + -5.043353931676896e+02 + -5.058610782730644e+02 + -5.073903323321115e+02 + -5.089231609000000e+02 + -5.104595695386481e+02 + -5.119995639358939e+02 + -5.135431497453484e+02 + -5.150903325247945e+02 + -5.166411178999995e+02 + -5.181955115300345e+02 + -5.197535190105982e+02 + -5.213151459679927e+02 + -5.228803980937674e+02 + -5.244492810000000e+02 + -5.260218002787250e+02 + -5.275979616609960e+02 + -5.291777708470047e+02 + -5.307612334400695e+02 + -5.323483550999995e+02 + -5.339391415258532e+02 + -5.355335984055753e+02 + -5.371317314077364e+02 + -5.387335461786030e+02 + -5.403390484000000e+02 + -5.419482437848817e+02 + -5.435611380730882e+02 + -5.451777369746786e+02 + -5.467980461477442e+02 + -5.484220712999994e+02 + -5.500498181706811e+02 + -5.516812924850077e+02 + -5.533164999617454e+02 + -5.549554463178829e+02 + -5.565981372999994e+02 + -5.582445786620732e+02 + -5.598947761113077e+02 + -5.615487353817318e+02 + -5.632064622631164e+02 + -5.648679624999994e+02 + -5.665332418238921e+02 + -5.682023060429622e+02 + -5.698751609401672e+02 + -5.715518122344557e+02 + -5.732322656999993e+02 + -5.749165271427032e+02 + -5.766046023386582e+02 + -5.782964970855437e+02 + -5.799922172195480e+02 + -5.816917684999994e+02 + -5.833951566715182e+02 + -5.851023876259811e+02 + -5.868134672043320e+02 + -5.885284011210334e+02 + -5.902471951999993e+02 + -5.919698553287222e+02 + -5.936963873375214e+02 + -5.954267970459595e+02 + -5.971610902818754e+02 + -5.988992728999993e+02 + -6.006413507613062e+02 + -6.023873296844711e+02 + -6.041372155081436e+02 + -6.058910141182311e+02 + -6.076487313999993e+02 + -6.094103732273231e+02 + -6.111759454411804e+02 + -6.129454539033432e+02 + -6.147189045204622e+02 + -6.164963032000001e+02 + -6.182776558378988e+02 + -6.200629682925465e+02 + -6.218522464515877e+02 + -6.236454962577363e+02 + -6.254427235999993e+02 + -6.272439343587159e+02 + -6.290491345295636e+02 + -6.308583300588987e+02 + -6.326715267788347e+02 + -6.344887306000001e+02 + -6.363099474872770e+02 + -6.381351833941451e+02 + -6.399644442896572e+02 + -6.417977361628546e+02 + -6.436350648999993e+02 + -6.454764363684590e+02 + -6.473218566292518e+02 + -6.491713317125350e+02 + -6.510248675271151e+02 + -6.528824700000000e+02 + -6.547441451008573e+02 + -6.566098988943567e+02 + -6.584797373808955e+02 + -6.603536664383599e+02 + -6.622316920999993e+02 + -6.641138204605409e+02 + -6.660000574329696e+02 + -6.678904089961051e+02 + -6.697848812885560e+02 + -6.716834803000000e+02 + -6.735862119462199e+02 + -6.754930822688247e+02 + -6.774040973560088e+02 + -6.793192633079277e+02 + -6.812385860999992e+02 + -6.831620716800010e+02 + -6.850897262089175e+02 + -6.870215557906422e+02 + -6.889575663679858e+02 + -6.908977640000001e+02 + -6.928421548145254e+02 + -6.947907448778678e+02 + -6.967435402481692e+02 + -6.987005469959722e+02 + -7.006617711999993e+02 + -7.026272189534540e+02 + -7.045968963883171e+02 + -7.065708096021641e+02 + -7.085489646318440e+02 + -7.105313676000000e+02 + -7.125180246666655e+02 + -7.145089419064375e+02 + -7.165041254104643e+02 + -7.185035813280965e+02 + -7.205073157999993e+02 + -7.225153349567163e+02 + -7.245276449240899e+02 + -7.265442518464891e+02 + -7.285651618951177e+02 + -7.305903812000000e+02 + -7.326199158832851e+02 + -7.346537721472801e+02 + -7.366919561576724e+02 + -7.387344740033407e+02 + -7.407813318999993e+02 + -7.428325361060332e+02 + -7.448880927069067e+02 + -7.469480078569493e+02 + -7.490122878703525e+02 + -7.510809389000000e+02 + -7.531539670309830e+02 + -7.552313785295614e+02 + -7.573131796529314e+02 + -7.593993765758833e+02 + -7.614899754999992e+02 + -7.635849826556215e+02 + -7.656844042998581e+02 + -7.677882466626152e+02 + -7.698965159244972e+02 + -7.720092183000000e+02 + -7.741263600422619e+02 + -7.762479474594095e+02 + -7.783739868214470e+02 + -7.805044843222228e+02 + -7.826394461999992e+02 + -7.847788787331309e+02 + -7.869227882276110e+02 + -7.890711809493379e+02 + -7.912240631015031e+02 + -7.933814410000000e+02 + -7.955433210068886e+02 + -7.977097093640062e+02 + -7.998806123337483e+02 + -8.020560362523712e+02 + -8.042359873999992e+02 + -8.064204720446323e+02 + -8.086094965664213e+02 + -8.108030673053524e+02 + -8.130011905039750e+02 + -8.152038725000000e+02 + -8.174111196729889e+02 + -8.196229383028856e+02 + -8.218393347070877e+02 + -8.240603152936806e+02 + -8.262858863999992e+02 + -8.285160543327190e+02 + -8.307508254786889e+02 + -8.329902062108882e+02 + -8.352342028550189e+02 + -8.374828218000000e+02 + -8.397360694583805e+02 + -8.419939521636865e+02 + -8.442564762682848e+02 + -8.465236481828920e+02 + -8.487954742999991e+02 + -8.510719610066617e+02 + -8.533531147279726e+02 + -8.556389418758610e+02 + -8.579294488297842e+02 + -8.602246420000000e+02 + -8.625245278111681e+02 + -8.648291126593311e+02 + -8.671384029773127e+02 + -8.694524052578884e+02 + -8.717711258999991e+02 + -8.740945712693658e+02 + -8.764227478547659e+02 + -8.787556621558366e+02 + -8.810933206360036e+02 + -8.834357297000000e+02 + -8.857828957473700e+02 + -8.881348253000285e+02 + -8.904915248639498e+02 + -8.928530008754832e+02 + -8.952192597999992e+02 + -8.975903081273602e+02 + -8.999661523549036e+02 + -9.023467989915350e+02 + -9.047322545556517e+02 + -9.071225255000001e+02 + -9.095176182642568e+02 + -9.119175394073789e+02 + -9.143222954857910e+02 + -9.167318930073794e+02 + -9.191463384999990e+02 + -9.215656384936522e+02 + -9.239897994653498e+02 + -9.264188279352956e+02 + -9.288527305046009e+02 + -9.312915136999991e+02 + -9.337351840217814e+02 + -9.361837480744202e+02 + -9.386372124507991e+02 + -9.410955836845210e+02 + -9.435588682999991e+02 + -9.460270728408829e+02 + -9.485002039375468e+02 + -9.509782681943145e+02 + -9.534612721474879e+02 + -9.559492223999991e+02 + -9.584421255818636e+02 + -9.609399882443452e+02 + -9.634428169536077e+02 + -9.659506183300578e+02 + -9.684633989999990e+02 + -9.709811655949806e+02 + -9.735039247636544e+02 + -9.760316831188370e+02 + -9.785644472182881e+02 + -9.811022236999991e+02 + -9.836450192407020e+02 + -9.861928404528198e+02 + -9.887456939756197e+02 + -9.913035865101050e+02 + -9.938665246999991e+02 + -9.964345151588749e+02 + -9.990075645416573e+02 + -1.001585679508894e+03 + -1.004168866725833e+03 + -1.006757132999999e+03 + -1.009350485088950e+03 + -1.011948929193798e+03 + -1.014552472017065e+03 + -1.017161121149714e+03 + -1.019774882999999e+03 + -1.022393763477281e+03 + -1.025017769745607e+03 + -1.027646908706880e+03 + -1.030281186449000e+03 + -1.032920609999999e+03 + -1.035565186772393e+03 + -1.038214923106640e+03 + -1.040869825393126e+03 + -1.043529900494233e+03 + -1.046195154999999e+03 + -1.048865595518282e+03 + -1.051541229525064e+03 + -1.054222063914517e+03 + -1.056908104442841e+03 + -1.059599357999999e+03 + -1.062295832060889e+03 + -1.064997533253958e+03 + -1.067704468147946e+03 + -1.070416643533965e+03 + -1.073134066000000e+03 + -1.075856742179453e+03 + -1.078584679453085e+03 + -1.081317884808236e+03 + -1.084056364390976e+03 + -1.086800124999999e+03 + -1.089549173751501e+03 + -1.092303517161580e+03 + -1.095063162007773e+03 + -1.097828115663242e+03 + -1.100598385000000e+03 + -1.103373976558467e+03 + -1.106154896984741e+03 + -1.108941153067517e+03 + -1.111732751768433e+03 + -1.114529699999999e+03 + -1.117332004656191e+03 + -1.120139672719820e+03 + -1.122952711033347e+03 + -1.125771126202256e+03 + -1.128594925000000e+03 + -1.131424114391635e+03 + -1.134258701616623e+03 + -1.137098693726371e+03 + -1.139944097362279e+03 + -1.142794918999999e+03 + -1.145651165298781e+03 + -1.148512843975744e+03 + -1.151379962155369e+03 + -1.154252525751212e+03 + -1.157130542000000e+03 + -1.160014018647746e+03 + -1.162902961796701e+03 + -1.165797378002409e+03 + -1.168697275086654e+03 + -1.171602659999999e+03 + -1.174513539162380e+03 + -1.177429919411751e+03 + -1.180351807863387e+03 + -1.183279211838743e+03 + -1.186212138000000e+03 + -1.189150592852472e+03 + -1.192094584016226e+03 + -1.195044118757429e+03 + -1.197999203418656e+03 + -1.200959844999999e+03 + -1.203926050837031e+03 + -1.206897827704460e+03 + -1.209875182550288e+03 + -1.212858122751144e+03 + -1.215846655000000e+03 + -1.218840785789916e+03 + -1.221840522671824e+03 + -1.224845872987532e+03 + -1.227856843385819e+03 + -1.230873440999999e+03 + -1.233895673111333e+03 + -1.236923546192640e+03 + -1.239957067026041e+03 + -1.242996243170224e+03 + -1.246041082000000e+03 + -1.249091590572761e+03 + -1.252147775334870e+03 + -1.255209643154299e+03 + -1.258277201722480e+03 + -1.261350457999999e+03 + -1.264429418673061e+03 + -1.267514091394071e+03 + -1.270604483350415e+03 + -1.273700600740823e+03 + -1.276802451000000e+03 + -1.279910042060014e+03 + -1.283023380429426e+03 + -1.286142472688095e+03 + -1.289267326090673e+03 + -1.292397947999999e+03 + -1.295534345774196e+03 + -1.298676526619691e+03 + -1.301824497524618e+03 + -1.304978265240164e+03 + -1.308137837000000e+03 + -1.311303220289759e+03 + -1.314474422298625e+03 + -1.317651449999705e+03 + -1.320834310180745e+03 + -1.324023009999999e+03 + -1.327217556910311e+03 + -1.330417958531748e+03 + -1.333624221890711e+03 + -1.336836353161044e+03 + -1.340054360000000e+03 + -1.343278250622039e+03 + -1.346508031450468e+03 + -1.349743709083262e+03 + -1.352985291084887e+03 + -1.356232784999999e+03 + -1.359486198143600e+03 + -1.362745537187869e+03 + -1.366010809195683e+03 + -1.369282022032803e+03 + -1.372559183000000e+03 + -1.375842299046690e+03 + -1.379131377356324e+03 + -1.382426425045151e+03 + -1.385727449081319e+03 + -1.389034456999999e+03 + -1.392347456524483e+03 + -1.395666454635196e+03 + -1.398991458464414e+03 + -1.402322475610563e+03 + -1.405659513000000e+03 + -1.409002577344138e+03 + -1.412351676333446e+03 + -1.415706817605260e+03 + -1.419068008353351e+03 + -1.422435255999999e+03 + -1.425808567964313e+03 + -1.429187950969556e+03 + -1.432573411998037e+03 + -1.435964958719179e+03 + -1.439362599000000e+03 + -1.442766340439504e+03 + -1.446176189225631e+03 + -1.449592152360744e+03 + -1.453014238529275e+03 + -1.456442454999999e+03 + -1.459876808245435e+03 + -1.463317305593544e+03 + -1.466763954627232e+03 + -1.470216762966463e+03 + -1.473675738000000e+03 + -1.477140887005819e+03 + -1.480612217422037e+03 + -1.484089736511155e+03 + -1.487573451238554e+03 + -1.491063368999999e+03 + -1.494559497483912e+03 + -1.498061844364458e+03 + -1.501570417048641e+03 + -1.505085222548716e+03 + -1.508606267999999e+03 + -1.512133560790714e+03 + -1.515667108906144e+03 + -1.519206919999463e+03 + -1.522753000996140e+03 + -1.526305358999999e+03 + -1.529864001422905e+03 + -1.533428936276007e+03 + -1.537000171179230e+03 + -1.540577712963951e+03 + -1.544161568999999e+03 + -1.547751747018138e+03 + -1.551348254621497e+03 + -1.554951099280540e+03 + -1.558560288310355e+03 + -1.562175828999999e+03 + -1.565797728689906e+03 + -1.569425994958102e+03 + -1.573060635400619e+03 + -1.576701657553543e+03 + -1.580349068999999e+03 + -1.584002877314684e+03 + -1.587663089901193e+03 + -1.591329713983250e+03 + -1.595002756657312e+03 + -1.598682225999999e+03 + -1.602368130282464e+03 + -1.606060476003810e+03 + -1.609759270166310e+03 + -1.613464521194204e+03 + -1.617176236999999e+03 + -1.620894424965112e+03 + -1.624619091996676e+03 + -1.628350245392540e+03 + -1.632087893195996e+03 + -1.635832042999999e+03 + -1.639582702219653e+03 + -1.643339878880967e+03 + -1.647103580589531e+03 + -1.650873814125992e+03 + -1.654650586999999e+03 + -1.658433907212865e+03 + -1.662223782656940e+03 + -1.666020220927786e+03 + -1.669823229228366e+03 + -1.673632814999999e+03 + -1.677448985879331e+03 + -1.681271749582079e+03 + -1.685101113981527e+03 + -1.688937087086922e+03 + -1.692779675999999e+03 + -1.696628887589857e+03 + -1.700484730162859e+03 + -1.704347211664743e+03 + -1.708216339003609e+03 + -1.712092119999999e+03 + -1.715974562928047e+03 + -1.719863675285195e+03 + -1.723759464515762e+03 + -1.727661938269359e+03 + -1.731571103999999e+03 + -1.735486969207614e+03 + -1.739409542118944e+03 + -1.743338830603560e+03 + -1.747274841733617e+03 + -1.751217582999999e+03 + -1.755167062315964e+03 + -1.759123288009624e+03 + -1.763086267739076e+03 + -1.767056008086542e+03 + -1.771032516999999e+03 + -1.775015803098183e+03 + -1.779005873908525e+03 + -1.783002736756524e+03 + -1.787006399126180e+03 + -1.791016869000000e+03 + -1.795034154506543e+03 + -1.799058263107071e+03 + -1.803089202321619e+03 + -1.807126980015989e+03 + -1.811171603999998e+03 + -1.815223082025504e+03 + -1.819281421835726e+03 + -1.823346631247284e+03 + -1.827418718154363e+03 + -1.831497690000000e+03 + -1.835583554215247e+03 + -1.839676319355180e+03 + -1.843775993459518e+03 + -1.847882583413063e+03 + -1.851996096999998e+03 + -1.856116542493618e+03 + -1.860243927542824e+03 + -1.864378259929794e+03 + -1.868519547846306e+03 + -1.872667799000000e+03 + -1.876823020804590e+03 + -1.880985220849939e+03 + -1.885154407199114e+03 + -1.889330588466962e+03 + -1.893513771999998e+03 + -1.897703964771626e+03 + -1.901901175652285e+03 + -1.906105412964281e+03 + -1.910316683519642e+03 + -1.914534995000000e+03 + -1.918760355678869e+03 + -1.922992773607248e+03 + -1.927232256642219e+03 + -1.931478812455566e+03 + -1.935732448999998e+03 + -1.939993174351127e+03 + -1.944260996306766e+03 + -1.948535922544343e+03 + -1.952817960710870e+03 + -1.957107119000000e+03 + -1.961403405774432e+03 + -1.965706828656891e+03 + -1.970017395435863e+03 + -1.974335114379128e+03 + -1.978659992999998e+03 + -1.982992038634364e+03 + -1.987331259958815e+03 + -1.991677665406797e+03 + -1.996031262526477e+03 + -2.000392059000000e+03 + -2.004760062662544e+03 + -2.009135281420714e+03 + -2.013517723394651e+03 + -2.017907396963966e+03 + -2.022304309999998e+03 + -2.026708470129302e+03 + -2.031119885371980e+03 + -2.035538563783372e+03 + -2.039964513323241e+03 + -2.044397742000000e+03 + -2.048838257821666e+03 + -2.053286068652342e+03 + -2.057741182613919e+03 + -2.062203608203423e+03 + -2.066673352999998e+03 + -2.071150424296029e+03 + -2.075634830690161e+03 + -2.080126580708826e+03 + -2.084625682242698e+03 + -2.089132143000000e+03 + -2.093645970720743e+03 + -2.098167173603271e+03 + -2.102695759983049e+03 + -2.107231738184183e+03 + -2.111775115999998e+03 + -2.116325901057278e+03 + -2.120884101683680e+03 + -2.125449726108530e+03 + -2.130022782163747e+03 + -2.134603278000000e+03 + -2.139191221924691e+03 + -2.143786621957349e+03 + -2.148389485981318e+03 + -2.152999821836896e+03 + -2.157617637999998e+03 + -2.162242943074696e+03 + -2.166875744534069e+03 + -2.171516050262848e+03 + -2.176163869133622e+03 + -2.180819209000000e+03 + -2.185482077327040e+03 + -2.190152482871076e+03 + -2.194830433950524e+03 + -2.199515937814626e+03 + -2.204209002999998e+03 + -2.208909638535144e+03 + -2.213617851857877e+03 + -2.218333650781778e+03 + -2.223057044225780e+03 + -2.227788040000000e+03 + -2.232526645541351e+03 + -2.237272869895315e+03 + -2.242026721580949e+03 + -2.246788207788726e+03 + -2.251557336999999e+03 + -2.256334118250544e+03 + -2.261118559161676e+03 + -2.265910667352767e+03 + -2.270710451040453e+03 + -2.275517918999998e+03 + -2.280333080014267e+03 + -2.285155941593499e+03 + -2.289986511539142e+03 + -2.294824798563590e+03 + -2.299670810999998e+03 + -2.304524556927484e+03 + -2.309386044592275e+03 + -2.314255282195762e+03 + -2.319132277836808e+03 + -2.324017039999998e+03 + -2.328909577220459e+03 + -2.333809897224200e+03 + -2.338718008145149e+03 + -2.343633918994289e+03 + -2.348557637999998e+03 + -2.353489172912608e+03 + -2.358428531797252e+03 + -2.363375723128402e+03 + -2.368330755820120e+03 + -2.373293637999998e+03 + -2.378264377427878e+03 + -2.383242982526706e+03 + -2.388229461889857e+03 + -2.393223824063392e+03 + -2.398226076999998e+03 + -2.403236228525699e+03 + -2.408254287477974e+03 + -2.413280262494937e+03 + -2.418314161547432e+03 + -2.423355992999998e+03 + -2.428405765403690e+03 + -2.433463486890615e+03 + -2.438529165661329e+03 + -2.443602810190047e+03 + -2.448684428999998e+03 + -2.453774030522361e+03 + -2.458871622761939e+03 + -2.463977214083831e+03 + -2.469090813490053e+03 + -2.474212428999998e+03 + -2.479342068313477e+03 + -2.484479740528551e+03 + -2.489625454539379e+03 + -2.494779218375099e+03 + -2.499941039999998e+03 + -2.505110927624773e+03 + -2.510288890409285e+03 + -2.515474937052364e+03 + -2.520669075212765e+03 + -2.525871312999998e+03 + -2.531081658990217e+03 + -2.536300122220549e+03 + -2.541526711425658e+03 + -2.546761434689014e+03 + -2.552004299999998e+03 + -2.557255315555890e+03 + -2.562514490474060e+03 + -2.567781833501355e+03 + -2.573057352510476e+03 + -2.578341055999998e+03 + -2.583632952807378e+03 + -2.588933051312229e+03 + -2.594241359879810e+03 + -2.599557887014108e+03 + -2.604882640999998e+03 + -2.610215630196411e+03 + -2.615556863841929e+03 + -2.620906350516468e+03 + -2.626264097579904e+03 + -2.631630113999998e+03 + -2.637004409331177e+03 + -2.642386991059378e+03 + -2.647777867311749e+03 + -2.653177047878767e+03 + -2.658584540999998e+03 + -2.664000354190328e+03 + -2.669424496446296e+03 + -2.674856976816473e+03 + -2.680297803844182e+03 + -2.685746985999998e+03 + -2.691204531699670e+03 + -2.696670449221115e+03 + -2.702144747143579e+03 + -2.707627434527642e+03 + -2.713118519999998e+03 + -2.718618011850782e+03 + -2.724125918263655e+03 + -2.729642247949266e+03 + -2.735167010382318e+03 + -2.740700213999998e+03 + -2.746241866699575e+03 + -2.751791977076697e+03 + -2.757350554006517e+03 + -2.762917606479738e+03 + -2.768493143000000e+03 + -2.774077171851313e+03 + -2.779669701724049e+03 + -2.785270741295763e+03 + -2.790880299095185e+03 + -2.796498383999998e+03 + -2.802125004968091e+03 + -2.807760170344632e+03 + -2.813403888501788e+03 + -2.819056168106567e+03 + -2.824717018000000e+03 + -2.830386447079949e+03 + -2.836064464083062e+03 + -2.841751077483182e+03 + -2.847446295475182e+03 + -2.853150126999998e+03 + -2.858862581346520e+03 + -2.864583667200011e+03 + -2.870313392988722e+03 + -2.876051767015894e+03 + -2.881798798000000e+03 + -2.887554494917011e+03 + -2.893318866668325e+03 + -2.899091922031221e+03 + -2.904873669618204e+03 + -2.910664117999998e+03 + -2.916463275808826e+03 + -2.922271151990944e+03 + -2.928087755363771e+03 + -2.933913094445438e+03 + -2.939747178000000e+03 + -2.945590014959967e+03 + -2.951441614226611e+03 + -2.957301984588625e+03 + -2.963171134666888e+03 + -2.969049072999998e+03 + -2.974935808208847e+03 + -2.980831349417174e+03 + -2.986735705755709e+03 + -2.992648886132359e+03 + -2.998570899000000e+03 + -3.004501752659864e+03 + -3.010441455936329e+03 + -3.016390017858416e+03 + -3.022347447554316e+03 + -3.028313753999998e+03 + -3.034288946006182e+03 + -3.040273032141582e+03 + -3.046266021078663e+03 + -3.052267921739149e+03 + -3.058278743000000e+03 + -3.064298493698561e+03 + -3.070327182685398e+03 + -3.076364818827055e+03 + -3.082411411001809e+03 + -3.088466967999998e+03 + -3.094531498652569e+03 + -3.100605012177602e+03 + -3.106687517554494e+03 + -3.112779023262762e+03 + -3.118879538000000e+03 + -3.124989070695736e+03 + -3.131107630527278e+03 + -3.137235226491168e+03 + -3.143371867254447e+03 + -3.149517561999998e+03 + -3.155672319953097e+03 + -3.161836149115856e+03 + -3.168009058152651e+03 + -3.174191057129923e+03 + -3.180382155000000e+03 + -3.186582360055111e+03 + -3.192791681144167e+03 + -3.199010127274887e+03 + -3.205237707493432e+03 + -3.211474430999998e+03 + -3.217720306909038e+03 + -3.223975343611381e+03 + -3.230239549889151e+03 + -3.236512935355519e+03 + -3.242795509000000e+03 + -3.249087279482800e+03 + -3.255388255944051e+03 + -3.261698447489179e+03 + -3.268017862963467e+03 + -3.274346510999998e+03 + -3.280684400401313e+03 + -3.287031541121871e+03 + -3.293387942369432e+03 + -3.299753611888159e+03 + -3.306128559000000e+03 + -3.312512793688797e+03 + -3.318906324190636e+03 + -3.325309159228279e+03 + -3.331721308860119e+03 + -3.338142781999998e+03 + -3.344573586933190e+03 + -3.351013732692941e+03 + -3.357463228591956e+03 + -3.363922084041577e+03 + -3.370390307999997e+03 + -3.376867909193196e+03 + -3.383354896616435e+03 + -3.389851279509897e+03 + -3.396357067337695e+03 + -3.402872268999997e+03 + -3.409396893188545e+03 + -3.415930949268335e+03 + -3.422474446597307e+03 + -3.429027394238212e+03 + -3.435589800999997e+03 + -3.442161675674332e+03 + -3.448743027574159e+03 + -3.455333866086035e+03 + -3.461934200499129e+03 + -3.468544039999997e+03 + -3.475163393634110e+03 + -3.481792270131310e+03 + -3.488430678432703e+03 + -3.495078627927044e+03 + -3.501736127999997e+03 + -3.508403187927853e+03 + -3.515079816661691e+03 + -3.521766023349286e+03 + -3.528461817510494e+03 + -3.535167207999998e+03 + -3.541882203477436e+03 + -3.548606813620608e+03 + -3.555341047964333e+03 + -3.562084915431213e+03 + -3.568838424999997e+03 + -3.575601585773337e+03 + -3.582374407066678e+03 + -3.589156898185297e+03 + -3.595949068354316e+03 + -3.602750926999998e+03 + -3.609562483468940e+03 + -3.616383746264014e+03 + -3.623214724488114e+03 + -3.630055428392298e+03 + -3.636905866999997e+03 + -3.643766048793625e+03 + -3.650635983516456e+03 + -3.657515680680700e+03 + -3.664405149014039e+03 + -3.671304397999997e+03 + -3.678213437374473e+03 + -3.685132275760156e+03 + -3.692060922035369e+03 + -3.698999385901594e+03 + -3.705947676999997e+03 + -3.712905804797643e+03 + -3.719873778403308e+03 + -3.726851606752037e+03 + -3.733839298718909e+03 + -3.740836863999997e+03 + -3.747844312547997e+03 + -3.754861653211674e+03 + -3.761888895074585e+03 + -3.768926047955085e+03 + -3.775973120999997e+03 + -3.783030123074376e+03 + -3.790097063813473e+03 + -3.797173952745452e+03 + -3.804260798968512e+03 + -3.811357611999997e+03 + -3.818464401472386e+03 + -3.825581176303607e+03 + -3.832707945585785e+03 + -3.839844718954238e+03 + -3.846991505999998e+03 + -3.854148316201428e+03 + -3.861315158822798e+03 + -3.868492043129635e+03 + -3.875678978458987e+03 + -3.882875973999997e+03 + -3.890083038997269e+03 + -3.897300183310783e+03 + -3.904527416633095e+03 + -3.911764748154242e+03 + -3.919012186999997e+03 + -3.926269742452437e+03 + -3.933537424464352e+03 + -3.940815242621297e+03 + -3.948103205720294e+03 + -3.955401322999997e+03 + -3.962709604107895e+03 + -3.970028058998795e+03 + -3.977356697163350e+03 + -3.984695527326294e+03 + -3.992044558999997e+03 + -3.999403802144854e+03 + -4.006773266302151e+03 + -4.014152960820400e+03 + -4.021542894928240e+03 + -4.028943077999997e+03 + -4.036353519583599e+03 + -4.043774229513202e+03 + -4.051205217431756e+03 + -4.058646492564995e+03 + -4.066098063999997e+03 + -4.073559940995820e+03 + -4.081032133755226e+03 + -4.088514652104142e+03 + -4.096007504979870e+03 + -4.103510702000000e+03 + -4.111024253097677e+03 + -4.118548167510886e+03 + -4.126082454416708e+03 + -4.133627123225803e+03 + -4.141182184000000e+03 + -4.148747646853033e+03 + -4.156323520486682e+03 + -4.163909814098826e+03 + -4.171506538118098e+03 + -4.179113701999993e+03 + -4.186731314728609e+03 + -4.194359386189681e+03 + -4.201997926116393e+03 + -4.209646943720986e+03 + -4.217306449000000e+03 + -4.224976452122954e+03 + -4.232656961817923e+03 + -4.240347987240753e+03 + -4.248049538718602e+03 + -4.255761626000000e+03 + -4.263484258397591e+03 + -4.271217445246016e+03 + -4.278961196276451e+03 + -4.286715521743729e+03 + -4.294480431000000e+03 + -4.302255933066315e+03 + -4.310042038085233e+03 + -4.317838756007569e+03 + -4.325646096087124e+03 + -4.333464067999995e+03 + -4.341292681602012e+03 + -4.349131946225953e+03 + -4.356981871466000e+03 + -4.364842467485710e+03 + -4.372713744000000e+03 + -4.380595710372718e+03 + -4.388488375861229e+03 + -4.396391750264422e+03 + -4.404305844160006e+03 + -4.412230667000000e+03 + -4.420166227736474e+03 + -4.428112536405837e+03 + -4.436069603088062e+03 + -4.444037437481978e+03 + -4.452016049000000e+03 + -4.460005447074678e+03 + -4.468005641867199e+03 + -4.476016643204103e+03 + -4.484038460200805e+03 + -4.492071102999995e+03 + -4.500114582060231e+03 + -4.508168906299815e+03 + -4.516234085098625e+03 + -4.524310129075975e+03 + -4.532397048000000e+03 + -4.540494851104932e+03 + -4.548603547974418e+03 + -4.556723148595408e+03 + -4.564853663376500e+03 + -4.572995102000000e+03 + -4.581147473755137e+03 + -4.589310788334117e+03 + -4.597485055595826e+03 + -4.605670285497996e+03 + -4.613866488000000e+03 + -4.622073673035890e+03 + -4.630291850451470e+03 + -4.638521029781397e+03 + -4.646761220207367e+03 + -4.655012431999994e+03 + -4.663274675842531e+03 + -4.671547961173437e+03 + -4.679832297267551e+03 + -4.688127693710799e+03 + -4.696434161000000e+03 + -4.704751709752170e+03 + -4.713080348793824e+03 + -4.721420087561993e+03 + -4.729770937031085e+03 + -4.738132907000000e+03 + -4.746506006604411e+03 + -4.754890245715343e+03 + -4.763285634540516e+03 + -4.771692183448750e+03 + -4.780109901999994e+03 + -4.788538799466528e+03 + -4.796978886096308e+03 + -4.805430172162917e+03 + -4.813892667577567e+03 + -4.822366381999994e+03 + -4.830851325088147e+03 + -4.839347507060687e+03 + -4.847854938123849e+03 + -4.856373628221604e+03 + -4.864903587000000e+03 + -4.873444824101478e+03 + -4.881997349859994e+03 + -4.890561174364984e+03 + -4.899136307099045e+03 + -4.907722758000000e+03 + -4.916320537362784e+03 + -4.924929655587317e+03 + -4.933550122528648e+03 + -4.942181947260091e+03 + -4.950825139999994e+03 + -4.959479711457802e+03 + -4.968145671175524e+03 + -4.976823028809056e+03 + -4.985511794647833e+03 + -4.994211978999993e+03 + -5.002923592007461e+03 + -5.011646643245516e+03 + -5.020381142480443e+03 + -5.029127099988444e+03 + -5.037884526000000e+03 + -5.046653430641881e+03 + -5.055433823857634e+03 + -5.064225715527905e+03 + -5.073029115529123e+03 + -5.081844034000000e+03 + -5.090670481166524e+03 + -5.099508466925161e+03 + -5.108358001180135e+03 + -5.117219094017154e+03 + -5.126091755999993e+03 + -5.134975997626908e+03 + -5.143871827953957e+03 + -5.152779256704796e+03 + -5.161698295082459e+03 + -5.170628952999993e+03 + -5.179571239778229e+03 + -5.188525166029071e+03 + -5.197490742130520e+03 + -5.206467977662855e+03 + -5.215456883000000e+03 + -5.224457468752808e+03 + -5.233469744262066e+03 + -5.242493719420175e+03 + -5.251529405361101e+03 + -5.260576812000000e+03 + -5.269635948683524e+03 + -5.278706825911151e+03 + -5.287789454172008e+03 + -5.296883843495917e+03 + -5.305990003999993e+03 + -5.315107945871962e+03 + -5.324237679253967e+03 + -5.333379214299059e+03 + -5.342532561186867e+03 + -5.351697729999993e+03 + -5.360874730862462e+03 + -5.370063574314554e+03 + -5.379264270604972e+03 + -5.388476829418795e+03 + -5.397701261000000e+03 + -5.406937575887649e+03 + -5.416185784228891e+03 + -5.425445896082409e+03 + -5.434717921547790e+03 + -5.444001871000000e+03 + -5.453297754883592e+03 + -5.462605583222671e+03 + -5.471925366229407e+03 + -5.481257114511772e+03 + -5.490600837999993e+03 + -5.499956546429602e+03 + -5.509324250592133e+03 + -5.518703961068116e+03 + -5.528095687743725e+03 + -5.537499440999993e+03 + -5.546915231361128e+03 + -5.556343068498348e+03 + -5.565782962476614e+03 + -5.575234924238452e+03 + -5.584698964000000e+03 + -5.594175091687396e+03 + -5.603663318133420e+03 + -5.613163653827974e+03 + -5.622676108416792e+03 + -5.632200692000000e+03 + -5.641737415094019e+03 + -5.651286288507457e+03 + -5.660847322604374e+03 + -5.670420527008017e+03 + -5.680005911999993e+03 + -5.689603488367688e+03 + -5.699213267038800e+03 + -5.708835258184300e+03 + -5.718469470901945e+03 + -5.728115915999992e+03 + -5.737774605002216e+03 + -5.747445547634946e+03 + -5.757128753652110e+03 + -5.766824233562706e+03 + -5.776531998000000e+03 + -5.786252057564687e+03 + -5.795984422575620e+03 + -5.805729103393980e+03 + -5.815486110517342e+03 + -5.825255454000000e+03 + -5.835037143865786e+03 + -5.844831191184440e+03 + -5.854637606668529e+03 + -5.864456400127173e+03 + -5.874287581999993e+03 + -5.884131163070459e+03 + -5.893987153665426e+03 + -5.903855564090225e+03 + -5.913736404781277e+03 + -5.923629686000000e+03 + -5.933535418061928e+03 + -5.943453611973397e+03 + -5.953384278439786e+03 + -5.963327427438455e+03 + -5.973283069000000e+03 + -5.983251213525049e+03 + -5.993231872573540e+03 + -6.003225056744913e+03 + -6.013230774891098e+03 + -6.023249038000000e+03 + -6.033279857947543e+03 + -6.043323244258373e+03 + -6.053379206808452e+03 + -6.063447756872029e+03 + -6.073528904999992e+03 + -6.083622661322729e+03 + -6.093729036471069e+03 + -6.103848041095609e+03 + -6.113979685699232e+03 + -6.124123981000000e+03 + -6.134280937646101e+03 + -6.144450565430006e+03 + -6.154632874755873e+03 + -6.164827877191976e+03 + -6.175035583000000e+03 + -6.185256001935748e+03 + -6.195489145360168e+03 + -6.205735024246584e+03 + -6.215993648382001e+03 + -6.226265028000000e+03 + -6.236549173839082e+03 + -6.246846097225249e+03 + -6.257155808917487e+03 + -6.267478318647532e+03 + -6.277813636999993e+03 + -6.288161775039973e+03 + -6.298522743318929e+03 + -6.308896552332133e+03 + -6.319283212690151e+03 + -6.329682735000000e+03 + -6.340095129841887e+03 + -6.350520407726451e+03 + -6.360958579315570e+03 + -6.371409655512612e+03 + -6.381873647000000e+03 + -6.392350564293673e+03 + -6.402840417873253e+03 + -6.413343218449801e+03 + -6.423858977046060e+03 + -6.434387704000000e+03 + -6.444929409479182e+03 + -6.455484104800415e+03 + -6.466051800878468e+03 + -6.476632507643834e+03 + -6.487226235999992e+03 + -6.497832997260840e+03 + -6.508452801649206e+03 + -6.519085659445890e+03 + -6.529731581482401e+03 + -6.540390579000000e+03 + -6.551062663116751e+03 + -6.561747843536938e+03 + -6.572446130639311e+03 + -6.583157536279329e+03 + -6.593882071000000e+03 + -6.604619744763902e+03 + -6.615370568925604e+03 + -6.626134554413510e+03 + -6.636911711064461e+03 + -6.647702049999992e+03 + -6.658505582840396e+03 + -6.669322319643610e+03 + -6.680152270785791e+03 + -6.690995447680221e+03 + -6.701851860999993e+03 + -6.712721521095499e+03 + -6.723604439166686e+03 + -6.734500626205399e+03 + -6.745410092579864e+03 + -6.756332849000000e+03 + -6.767268906377159e+03 + -6.778218275408767e+03 + -6.789180966973428e+03 + -6.800156992270870e+03 + -6.811146362000000e+03 + -6.822149086596000e+03 + -6.833165176809022e+03 + -6.844194643583943e+03 + -6.855237498022965e+03 + -6.866293750999992e+03 + -6.877363413246921e+03 + -6.888446495554016e+03 + -6.899543008749155e+03 + -6.910652963678518e+03 + -6.921776370999992e+03 + -6.932913241460104e+03 + -6.944063586638155e+03 + -6.955227417524035e+03 + -6.966404743973952e+03 + -6.977595577000000e+03 + -6.988799928187199e+03 + -7.000017808173458e+03 + -7.011249227729020e+03 + -7.022494198140058e+03 + -7.033752730000000e+03 + -7.045024833685246e+03 + -7.056310520605544e+03 + -7.067609802022496e+03 + -7.078922688575014e+03 + -7.090249190999992e+03 + -7.101589320140114e+03 + -7.112943086874141e+03 + -7.124310502404821e+03 + -7.135691578318693e+03 + -7.147086324999992e+03 + -7.158494752468790e+03 + -7.169916872475182e+03 + -7.181352696510882e+03 + -7.192802235036809e+03 + -7.204265499000000e+03 + -7.215742499578333e+03 + -7.227233247391960e+03 + -7.238737753333357e+03 + -7.250256028887258e+03 + -7.261788085000000e+03 + -7.273333932305611e+03 + -7.284893581718426e+03 + -7.296467044458082e+03 + -7.308054332025791e+03 + -7.319655454999992e+03 + -7.331270423697963e+03 + -7.342899249833889e+03 + -7.354541944862027e+03 + -7.366198519315069e+03 + -7.377868983999992e+03 + -7.389553350032372e+03 + -7.401251628839381e+03 + -7.412963831476617e+03 + -7.424689968390403e+03 + -7.436430051000000e+03 + -7.448184091042194e+03 + -7.459952098877861e+03 + -7.471734085033887e+03 + -7.483530060856024e+03 + -7.495340038000000e+03 + -7.507164027981260e+03 + -7.519002041143363e+03 + -7.530854088088799e+03 + -7.542720180263871e+03 + -7.554600328999991e+03 + -7.566494545476364e+03 + -7.578402840747203e+03 + -7.590325225748156e+03 + -7.602261711334166e+03 + -7.614212308999990e+03 + -7.626177030375796e+03 + -7.638155885970103e+03 + -7.650148886679111e+03 + -7.662156044359298e+03 + -7.674177370000000e+03 + -7.686212874133715e+03 + -7.698262567927072e+03 + -7.710326462858042e+03 + -7.722404570574414e+03 + -7.734496902000000e+03 + -7.746603467726753e+03 + -7.758724278933637e+03 + -7.770859347070250e+03 + -7.783008683730720e+03 + -7.795172299999991e+03 + -7.807350206747154e+03 + -7.819542415323729e+03 + -7.831748936928582e+03 + -7.843969782379609e+03 + -7.856204962999991e+03 + -7.868454490389281e+03 + -7.880718375856472e+03 + -7.892996630459527e+03 + -7.905289265033489e+03 + -7.917596291000000e+03 + -7.929917719977670e+03 + -7.942253562811284e+03 + -7.954603830544003e+03 + -7.966968534806996e+03 + -7.979347687000000e+03 + -7.991741298275563e+03 + -8.004149379532312e+03 + -8.016571941875890e+03 + -8.029008996834256e+03 + -8.041460555999991e+03 + -8.053926630829063e+03 + -8.066407232164392e+03 + -8.078902371093302e+03 + -8.091412059283156e+03 + -8.103936307999991e+03 + -8.116475128348727e+03 + -8.129028531951320e+03 + -8.141596530160446e+03 + -8.154179133753471e+03 + -8.166776354000000e+03 + -8.179388202500601e+03 + -8.192014690774517e+03 + -8.204655830155478e+03 + -8.217311631752342e+03 + -8.229982107000000e+03 + -8.242667267443709e+03 + -8.255367124181290e+03 + -8.268081688506129e+03 + -8.280810972124258e+03 + -8.293554985999990e+03 + -8.306313740930424e+03 + -8.319087249046417e+03 + -8.331875522237864e+03 + -8.344678571514016e+03 + -8.357496408000001e+03 + -8.370329042981793e+03 + -8.383176487893126e+03 + -8.396038754236946e+03 + -8.408915853538949e+03 + -8.421807796999999e+03 + -8.434714595760075e+03 + -8.447636261558551e+03 + -8.460572806112319e+03 + -8.473524240852536e+03 + -8.486490577000000e+03 + -8.499471825734363e+03 + -8.512467998550057e+03 + -8.525479106914012e+03 + -8.538505162160651e+03 + -8.551546175999989e+03 + -8.564602160205039e+03 + -8.577673125806519e+03 + -8.590759084111069e+03 + -8.603860047081474e+03 + -8.616976026000000e+03 + -8.630107031891077e+03 + -8.643253076647045e+03 + -8.656414171854482e+03 + -8.669590328370747e+03 + -8.682781558000001e+03 + -8.695987872906602e+03 + -8.709209284090668e+03 + -8.722445802791402e+03 + -8.735697441007769e+03 + -8.748964210000000e+03 + -8.762246120773598e+03 + -8.775543185390141e+03 + -8.788855415760128e+03 + -8.802182823160678e+03 + -8.815525418999991e+03 + -8.828883214778334e+03 + -8.842256221886048e+03 + -8.855644451817980e+03 + -8.869047916276779e+03 + -8.882466627000000e+03 + -8.895900595656447e+03 + -8.909349833599377e+03 + -8.922814352320849e+03 + -8.936294163622882e+03 + -8.949789279000001e+03 + -8.963299709806102e+03 + -8.976825467697834e+03 + -8.990366564425331e+03 + -9.003923011733321e+03 + -9.017494820999989e+03 + -9.031082003570244e+03 + -9.044684571593196e+03 + -9.058302536801553e+03 + -9.071935910043938e+03 + -9.085584702999991e+03 + -9.099248927805194e+03 + -9.112928596071970e+03 + -9.126623719398038e+03 + -9.140334309541779e+03 + -9.154060378000000e+03 + -9.167801936143134e+03 + -9.181558995552323e+03 + -9.195331568052554e+03 + -9.209119665711642e+03 + -9.222923300000000e+03 + -9.236742482191501e+03 + -9.250577224366738e+03 + -9.264427538348678e+03 + -9.278293435300837e+03 + -9.292174926999989e+03 + -9.306072025514850e+03 + -9.319984742353185e+03 + -9.333913089239737e+03 + -9.347857078372264e+03 + -9.361816720999988e+03 + -9.375792028076301e+03 + -9.389783011923670e+03 + -9.403789684689073e+03 + -9.417812057757259e+03 + -9.431850143000000e+03 + -9.445903952452922e+03 + -9.459973497383473e+03 + -9.474058789280491e+03 + -9.488159840242311e+03 + -9.502276662000000e+03 + -9.516409266099370e+03 + -9.530557664431180e+03 + -9.544721868948835e+03 + -9.558901891554557e+03 + -9.573097743999990e+03 + -9.587309437907974e+03 + -9.601536984771086e+03 + -9.615780396443668e+03 + -9.630039685320193e+03 + -9.644314862999989e+03 + -9.658605940694017e+03 + -9.672912930240365e+03 + -9.687235843732506e+03 + -9.701574693379191e+03 + -9.715929491000001e+03 + -9.730300248146514e+03 + -9.744686976337332e+03 + -9.759089687418043e+03 + -9.773508393705906e+03 + -9.787943106999999e+03 + -9.802393838806964e+03 + -9.816860600913731e+03 + -9.831343405392694e+03 + -9.845842264577648e+03 + -9.860357189999990e+03 + -9.874888192875391e+03 + -9.889435285292540e+03 + -9.903998479577405e+03 + -9.918577788007758e+03 + -9.933173221999989e+03 + -9.947784792760667e+03 + -9.962412512866247e+03 + -9.977056394630243e+03 + -9.991716449514770e+03 + -1.000639269000000e+04 + -1.002108512827329e+04 + -1.003579377260607e+04 + -1.005051863510592e+04 + -1.006525973450424e+04 + -1.008001708000000e+04 + -1.009479067738785e+04 + -1.010958054488143e+04 + -1.012438669671707e+04 + -1.013920913701616e+04 + -1.015404787999999e+04 + -1.016890294387830e+04 + -1.018377433451942e+04 + -1.019866206104612e+04 + -1.021356614193473e+04 + -1.022848658999999e+04 + -1.024342341422066e+04 + -1.025837662498870e+04 + -1.027334623400460e+04 + -1.028833225445739e+04 + -1.030333470000000e+04 + -1.031835358368700e+04 + -1.033338891534757e+04 + -1.034844070623467e+04 + -1.036350897076085e+04 + -1.037859372000000e+04 + -1.039369496373519e+04 + -1.040881271589677e+04 + -1.042394698923176e+04 + -1.043909779325773e+04 + -1.045426513999999e+04 + -1.046944904320307e+04 + -1.048464951626011e+04 + -1.049986657147346e+04 + -1.051510021951631e+04 + -1.053035046999999e+04 + -1.054561733346490e+04 + -1.056090082649770e+04 + -1.057620096382862e+04 + -1.059151775501402e+04 + -1.060685121000000e+04 + -1.062220133982168e+04 + -1.063756815769902e+04 + -1.065295167679853e+04 + -1.066835190951487e+04 + -1.068376887000000e+04 + -1.069920257172756e+04 + -1.071465302083269e+04 + -1.073012022736731e+04 + -1.074560420973240e+04 + -1.076110497999999e+04 + -1.077662254698522e+04 + -1.079215692468130e+04 + -1.080770812602064e+04 + -1.082327616047952e+04 + -1.083886103999999e+04 + -1.085446277832030e+04 + -1.087008138917964e+04 + -1.088571688451933e+04 + -1.090136927381244e+04 + -1.091703857000000e+04 + -1.093272478707855e+04 + -1.094842793381667e+04 + -1.096414802233435e+04 + -1.097988507119364e+04 + -1.099563909000000e+04 + -1.101141008471468e+04 + -1.102719807131307e+04 + -1.104300306633410e+04 + -1.105882508291791e+04 + -1.107466412999999e+04 + -1.109052021511841e+04 + -1.110639335038349e+04 + -1.112228355101184e+04 + -1.113819083451417e+04 + -1.115411520999999e+04 + -1.117005668368749e+04 + -1.118601527242516e+04 + -1.120199099177015e+04 + -1.121798385114509e+04 + -1.123399386000000e+04 + -1.125002102929127e+04 + -1.126606537454743e+04 + -1.128212691149971e+04 + -1.129820565394142e+04 + -1.131430161000000e+04 + -1.133041478676655e+04 + -1.134654520134832e+04 + -1.136269286880464e+04 + -1.137885779750048e+04 + -1.139503999999999e+04 + -1.141123949060806e+04 + -1.142745627830015e+04 + -1.144369037489935e+04 + -1.145994179819328e+04 + -1.147621056000000e+04 + -1.149249666929363e+04 + -1.150880014040390e+04 + -1.152512098586926e+04 + -1.154145921396878e+04 + -1.155781484000000e+04 + -1.157418788116290e+04 + -1.159057834325663e+04 + -1.160698623573862e+04 + -1.162341157750990e+04 + -1.163985437999999e+04 + -1.165631465167572e+04 + -1.167279241049137e+04 + -1.168928767028212e+04 + -1.170580043559586e+04 + -1.172233071999999e+04 + -1.173887854137991e+04 + -1.175544390951204e+04 + -1.177202683447122e+04 + -1.178862732998528e+04 + -1.180524541000000e+04 + -1.182188108744826e+04 + -1.183853437152247e+04 + -1.185520527417456e+04 + -1.187189381268968e+04 + -1.188860000000000e+04 + -1.190532384555031e+04 + -1.192206535739879e+04 + -1.193882454957090e+04 + -1.195560144455150e+04 + -1.197239604999999e+04 + -1.198920836801576e+04 + -1.200603841862060e+04 + -1.202288622005816e+04 + -1.203975178087160e+04 + -1.205663510999999e+04 + -1.207353621858988e+04 + -1.209045512337030e+04 + -1.210739183876488e+04 + -1.212434637372514e+04 + -1.214131874000000e+04 + -1.215830895146994e+04 + -1.217531702204386e+04 + -1.219234296344827e+04 + -1.220938678454126e+04 + -1.222644850000000e+04 + -1.224352812665298e+04 + -1.226062567426862e+04 + -1.227774115320455e+04 + -1.229487457740941e+04 + -1.231202595999999e+04 + -1.232919531361497e+04 + -1.234638265190763e+04 + -1.236358798719477e+04 + -1.238081132944854e+04 + -1.239805268999999e+04 + -1.241531208224867e+04 + -1.243258952373459e+04 + -1.244988502746729e+04 + -1.246719859854622e+04 + -1.248453025000000e+04 + -1.250187999937352e+04 + -1.251924785997314e+04 + -1.253663384322633e+04 + -1.255403795942784e+04 + -1.257146022000000e+04 + -1.258890063824787e+04 + -1.260635923174130e+04 + -1.262383601348307e+04 + -1.264133098848631e+04 + -1.265884416999999e+04 + -1.267637557565735e+04 + -1.269392521755929e+04 + -1.271149310837373e+04 + -1.272907926320349e+04 + -1.274668368999999e+04 + -1.276430639533002e+04 + -1.278194739917555e+04 + -1.279960671868295e+04 + -1.281728436173200e+04 + -1.283498034000000e+04 + -1.285269466774105e+04 + -1.287042735763161e+04 + -1.288817842259290e+04 + -1.290594787633268e+04 + -1.292373573000000e+04 + -1.294154199365508e+04 + -1.295936667981993e+04 + -1.297720980264566e+04 + -1.299507137776778e+04 + -1.301295141999999e+04 + -1.303084994203483e+04 + -1.304876695061188e+04 + -1.306670245535235e+04 + -1.308465647270176e+04 + -1.310262901999999e+04 + -1.312062011245361e+04 + -1.313862975604251e+04 + -1.315665796055223e+04 + -1.317470474462057e+04 + -1.319277012000000e+04 + -1.321085409533674e+04 + -1.322895668661698e+04 + -1.324707790969205e+04 + -1.326521777718879e+04 + -1.328337630000000e+04 + -1.330155348851537e+04 + -1.331974935491385e+04 + -1.333796391362056e+04 + -1.335619718140170e+04 + -1.337444916999999e+04 + -1.339271988874384e+04 + -1.341100935082290e+04 + -1.342931756987852e+04 + -1.344764455872234e+04 + -1.346599032999999e+04 + -1.348435489664480e+04 + -1.350273827293541e+04 + -1.352114047045672e+04 + -1.353956149695641e+04 + -1.355800137000000e+04 + -1.357646010972569e+04 + -1.359493772045508e+04 + -1.361343421245217e+04 + -1.363194960986463e+04 + -1.365048392000000e+04 + -1.366903714425879e+04 + -1.368760930691950e+04 + -1.370620042690972e+04 + -1.372481050688227e+04 + -1.374343955999999e+04 + -1.376208760473736e+04 + -1.378075465005087e+04 + -1.379944070672178e+04 + -1.381814579185646e+04 + -1.383686991999999e+04 + -1.385561310323773e+04 + -1.387437535187516e+04 + -1.389315667691767e+04 + -1.391195709130158e+04 + -1.393077661000000e+04 + -1.394961524865979e+04 + -1.396847302075987e+04 + -1.398734993803961e+04 + -1.400624601054151e+04 + -1.402516125000000e+04 + -1.404409566989268e+04 + -1.406304928589068e+04 + -1.408202211294199e+04 + -1.410101416389908e+04 + -1.412002544999999e+04 + -1.413905598164077e+04 + -1.415810576964489e+04 + -1.417717482985645e+04 + -1.419626318438561e+04 + -1.421537083999999e+04 + -1.423449779870650e+04 + -1.425364408441530e+04 + -1.427280971628262e+04 + -1.429199469812906e+04 + -1.431119904000000e+04 + -1.433042275698022e+04 + -1.434966586475864e+04 + -1.436892837784737e+04 + -1.438821030874347e+04 + -1.440751167000000e+04 + -1.442683247464153e+04 + -1.444617273693482e+04 + -1.446553246845352e+04 + -1.448491167696990e+04 + -1.450431037999999e+04 + -1.452372859766022e+04 + -1.454316633455064e+04 + -1.456262360064903e+04 + -1.458210041914065e+04 + -1.460159679999998e+04 + -1.462111274782618e+04 + -1.464064828275210e+04 + -1.466020342227678e+04 + -1.467977817411577e+04 + -1.469937255000000e+04 + -1.471898656425745e+04 + -1.473862022905967e+04 + -1.475827355783788e+04 + -1.477794656667906e+04 + -1.479763927000000e+04 + -1.481735168022591e+04 + -1.483708380678435e+04 + -1.485683566151257e+04 + -1.487660726097236e+04 + -1.489639861999999e+04 + -1.491620975095499e+04 + -1.493604066191429e+04 + -1.495589136614776e+04 + -1.497576188555746e+04 + -1.499565223000000e+04 + -1.501556240451360e+04 + -1.503549242791256e+04 + -1.505544231896391e+04 + -1.507541209051985e+04 + -1.509540175000000e+04 + -1.511541130465759e+04 + -1.513544077375174e+04 + -1.515549017500820e+04 + -1.517555951933053e+04 + -1.519564881999999e+04 + -1.521575809081157e+04 + -1.523588734003694e+04 + -1.525603658036919e+04 + -1.527620583277191e+04 + -1.529639510999998e+04 + -1.531660442034102e+04 + -1.533683377728779e+04 + -1.535708319443415e+04 + -1.537735268372974e+04 + -1.539764226000000e+04 + -1.541795193921473e+04 + -1.543828173411788e+04 + -1.545863165713528e+04 + -1.547900172144165e+04 + -1.549939194000000e+04 + -1.551980232569260e+04 + -1.554023289178161e+04 + -1.556068365093051e+04 + -1.558115461506463e+04 + -1.560164579999999e+04 + -1.562215722197032e+04 + -1.564268888875843e+04 + -1.566324081295743e+04 + -1.568381301679686e+04 + -1.570440550999999e+04 + -1.572501829745089e+04 + -1.574565139909988e+04 + -1.576630483256334e+04 + -1.578697860613842e+04 + -1.580767273000000e+04 + -1.582838721786272e+04 + -1.584912209052793e+04 + -1.586987736246908e+04 + -1.589065303680525e+04 + -1.591144913000000e+04 + -1.593226566336701e+04 + -1.595310264072689e+04 + -1.597396007256353e+04 + -1.599483798518879e+04 + -1.601573638999999e+04 + -1.603665529105288e+04 + -1.605759470511345e+04 + -1.607855464838671e+04 + -1.609953513161670e+04 + -1.612053616999998e+04 + -1.614155778004294e+04 + -1.616259997081388e+04 + -1.618366275348782e+04 + -1.620474614514243e+04 + -1.622585016000000e+04 + -1.624697481007329e+04 + -1.626812010728422e+04 + -1.628928606592670e+04 + -1.631047270337715e+04 + -1.633168003000000e+04 + -1.635290805454565e+04 + -1.637415679800609e+04 + -1.639542627592296e+04 + -1.641671649164588e+04 + -1.643802745999998e+04 + -1.645935920179283e+04 + -1.648071172935930e+04 + -1.650208505431875e+04 + -1.652347919039644e+04 + -1.654489414999998e+04 + -1.656632994566724e+04 + -1.658778659427021e+04 + -1.660926410974226e+04 + -1.663076250029903e+04 + -1.665228178000000e+04 + -1.667382196574960e+04 + -1.669538306946903e+04 + -1.671696510420377e+04 + -1.673856808645374e+04 + -1.676019203000000e+04 + -1.678183694695306e+04 + -1.680350285053965e+04 + -1.682518975366077e+04 + -1.684689766850574e+04 + -1.686862660999998e+04 + -1.689037659405139e+04 + -1.691214763326874e+04 + -1.693393974023558e+04 + -1.695575292860696e+04 + -1.697758720999999e+04 + -1.699944259677470e+04 + -1.702131910964586e+04 + -1.704321676352935e+04 + -1.706513556209216e+04 + -1.708707552000000e+04 + -1.710903665790321e+04 + -1.713101898938551e+04 + -1.715302252479822e+04 + -1.717504727292061e+04 + -1.719709325000000e+04 + -1.721916047545785e+04 + -1.724124896174670e+04 + -1.726335872072246e+04 + -1.728548976595536e+04 + -1.730764210999998e+04 + -1.732981576548871e+04 + -1.735201074834581e+04 + -1.737422707347338e+04 + -1.739646475299950e+04 + -1.741872379999999e+04 + -1.744100422776899e+04 + -1.746330604747148e+04 + -1.748562927386205e+04 + -1.750797392735042e+04 + -1.753034002000000e+04 + -1.755272756012299e+04 + -1.757513656385630e+04 + -1.759756704698003e+04 + -1.762001902165879e+04 + -1.764249250000000e+04 + -1.766498749503509e+04 + -1.768750402279969e+04 + -1.771004209797560e+04 + -1.773260173223158e+04 + -1.775518293999998e+04 + -1.777778573725219e+04 + -1.780041013823985e+04 + -1.782305615380817e+04 + -1.784572379125812e+04 + -1.786841306999998e+04 + -1.789112401297027e+04 + -1.791385662520795e+04 + -1.793661091551944e+04 + -1.795938690506571e+04 + -1.798218461000000e+04 + -1.800500404157250e+04 + -1.802784520726593e+04 + -1.805070812126097e+04 + -1.807359280836476e+04 + -1.809649928000000e+04 + -1.811942754077938e+04 + -1.814237760512274e+04 + -1.816534949154946e+04 + -1.818834322012563e+04 + -1.821135879999998e+04 + -1.823439623670011e+04 + -1.825745554979138e+04 + -1.828053675712656e+04 + -1.830363986886144e+04 + -1.832676489999998e+04 + -1.834991186721417e+04 + -1.837308077964562e+04 + -1.839627164834952e+04 + -1.841948449011883e+04 + -1.844271932000000e+04 + -1.846597615248214e+04 + -1.848925500551537e+04 + -1.851255589141731e+04 + -1.853587881367952e+04 + -1.855922379000000e+04 + -1.858259084403384e+04 + -1.860597998459446e+04 + -1.862939122130964e+04 + -1.865282457086503e+04 + -1.867628004999998e+04 + -1.869975767367864e+04 + -1.872325745125265e+04 + -1.874677939400045e+04 + -1.877032351829797e+04 + -1.879388983999998e+04 + -1.881747837395618e+04 + -1.884108913346766e+04 + -1.886472213066709e+04 + -1.888837737699991e+04 + -1.891205489000000e+04 + -1.893575468867888e+04 + -1.895947678210836e+04 + -1.898322118083019e+04 + -1.900698790146692e+04 + -1.903077696000000e+04 + -1.905458837122149e+04 + -1.907842214817702e+04 + -1.910227830328199e+04 + -1.912615684887913e+04 + -1.915005779999998e+04 + -1.917398117252360e+04 + -1.919792697876641e+04 + -1.922189523162585e+04 + -1.924588594641727e+04 + -1.926989913999998e+04 + -1.929393482787026e+04 + -1.931799301676958e+04 + -1.934207372057390e+04 + -1.936617696590223e+04 + -1.939030276000000e+04 + -1.941445110358184e+04 + -1.943862202401437e+04 + -1.946281554213054e+04 + -1.948703165938676e+04 + -1.951127038999998e+04 + -1.953553175531375e+04 + -1.955981576784185e+04 + -1.958412243887696e+04 + -1.960845178142548e+04 + -1.963280380999998e+04 + -1.965717854010317e+04 + -1.968157598764983e+04 + -1.970599616682758e+04 + -1.973043908928781e+04 + -1.975490477000000e+04 + -1.977939322508017e+04 + -1.980390446612710e+04 + -1.982843850672890e+04 + -1.985299536464853e+04 + -1.987757505000000e+04 + -1.990217757132781e+04 + -1.992680295149982e+04 + -1.995145120910892e+04 + -1.997612235106852e+04 + -2.000081638999998e+04 + -2.002553334291399e+04 + -2.005027322692212e+04 + -2.007503605456619e+04 + -2.009982183242756e+04 + -2.012463057999998e+04 + -2.014946232050470e+04 + -2.017431705750974e+04 + -2.019919480128925e+04 + -2.022409557869796e+04 + -2.024901940000000e+04 + -2.027396626876084e+04 + -2.029893620825063e+04 + -2.032392923791251e+04 + -2.034894536415857e+04 + -2.037398460000000e+04 + -2.039904696273123e+04 + -2.042413246681671e+04 + -2.044924112749899e+04 + -2.047437296177629e+04 + -2.049952797999998e+04 + -2.052470619105544e+04 + -2.054990761544010e+04 + -2.057513226917888e+04 + -2.060038015795331e+04 + -2.062565129999998e+04 + -2.065094571854568e+04 + -2.067626342205840e+04 + -2.070160442063917e+04 + -2.072696873225083e+04 + -2.075235637000000e+04 + -2.077776734528838e+04 + -2.080320167696219e+04 + -2.082865938214449e+04 + -2.085414047244347e+04 + -2.087964496000000e+04 + -2.090517285805777e+04 + -2.093072418166662e+04 + -2.095629894648643e+04 + -2.098189716820891e+04 + -2.100751885999998e+04 + -2.103316403410750e+04 + -2.105883270565323e+04 + -2.108452489048020e+04 + -2.111024060421226e+04 + -2.113597985999998e+04 + -2.116174267011207e+04 + -2.118752904964539e+04 + -2.121333901446366e+04 + -2.123917258027344e+04 + -2.126502976000000e+04 + -2.129091056582378e+04 + -2.131681501406569e+04 + -2.134274311932949e+04 + -2.136869489244911e+04 + -2.139467035000000e+04 + -2.142066951097057e+04 + -2.144669238829770e+04 + -2.147273899344209e+04 + -2.149880933837191e+04 + -2.152490343999998e+04 + -2.155102131698669e+04 + -2.157716298229367e+04 + -2.160332844744082e+04 + -2.162951772437019e+04 + -2.165573082999998e+04 + -2.168196778300156e+04 + -2.170822859627157e+04 + -2.173451328139519e+04 + -2.176082185053812e+04 + -2.178715432000000e+04 + -2.181351070821111e+04 + -2.183989103150391e+04 + -2.186629530288904e+04 + -2.189272353140778e+04 + -2.191917573000000e+04 + -2.194565191497987e+04 + -2.197215210512397e+04 + -2.199867631637375e+04 + -2.202522455969623e+04 + -2.205179684999998e+04 + -2.207839320363563e+04 + -2.210501363148952e+04 + -2.213165814783550e+04 + -2.215832677350680e+04 + -2.218501951999998e+04 + -2.221173639532642e+04 + -2.223847741910094e+04 + -2.226524260850044e+04 + -2.229203197306979e+04 + -2.231884553000000e+04 + -2.234568329890952e+04 + -2.237254528774074e+04 + -2.239943150806158e+04 + -2.242634198094407e+04 + -2.245327672000000e+04 + -2.248023573585785e+04 + -2.250721904853940e+04 + -2.253422667413636e+04 + -2.256125861967753e+04 + -2.258831489999998e+04 + -2.261539553480252e+04 + -2.264250054093014e+04 + -2.266962993052693e+04 + -2.269678371062339e+04 + -2.272396189999998e+04 + -2.275116452153000e+04 + -2.277839158301363e+04 + -2.280564309534358e+04 + -2.283291907950545e+04 + -2.286021955000000e+04 + -2.288754451771620e+04 + -2.291489399812011e+04 + -2.294226800704672e+04 + -2.296966655917324e+04 + -2.299708967000000e+04 + -2.302453735490683e+04 + -2.305200962641978e+04 + -2.307950649734620e+04 + -2.310702798236498e+04 + -2.313457409999998e+04 + -2.316214486856879e+04 + -2.318974029613145e+04 + -2.321736039447026e+04 + -2.324500518448656e+04 + -2.327267467999998e+04 + -2.330036889175501e+04 + -2.332808783850466e+04 + -2.335583153764027e+04 + -2.338360000121357e+04 + -2.341139324000000e+04 + -2.343921126672951e+04 + -2.346705410394532e+04 + -2.349492176951476e+04 + -2.352281427072812e+04 + -2.355073162000000e+04 + -2.357867383414989e+04 + -2.360664093193761e+04 + -2.363463292919098e+04 + -2.366264983684289e+04 + -2.369069166999998e+04 + -2.371875844507638e+04 + -2.374685017193912e+04 + -2.377496686591387e+04 + -2.380310855200050e+04 + -2.383127523999998e+04 + -2.385946693403709e+04 + -2.388768365690810e+04 + -2.391592542840760e+04 + -2.394419225713039e+04 + -2.397248416000000e+04 + -2.400080115691363e+04 + -2.402914325571854e+04 + -2.405751046800998e+04 + -2.408590281513924e+04 + -2.411432031000000e+04 + -2.414276296293371e+04 + -2.417123079796694e+04 + -2.419972383203242e+04 + -2.422824206706797e+04 + -2.425678551999998e+04 + -2.428535421485334e+04 + -2.431394816200073e+04 + -2.434256737430352e+04 + -2.437121187300517e+04 + -2.439988166999998e+04 + -2.442857677325164e+04 + -2.445729720103540e+04 + -2.448604297194451e+04 + -2.451481410082247e+04 + -2.454361060000000e+04 + -2.457243248182022e+04 + -2.460127976431730e+04 + -2.463015246522100e+04 + -2.465905059942621e+04 + -2.468797417999998e+04 + -2.471692321945616e+04 + -2.474589773222362e+04 + -2.477489773480251e+04 + -2.480392324581322e+04 + -2.483297427999998e+04 + -2.486205084917968e+04 + -2.489115296405446e+04 + -2.492028064024748e+04 + -2.494943390068509e+04 + -2.497861275999998e+04 + -2.500781722863925e+04 + -2.503704732334474e+04 + -2.506630305872901e+04 + -2.509558444448151e+04 + -2.512489150000000e+04 + -2.515422424757818e+04 + -2.518358269497819e+04 + -2.521296685328307e+04 + -2.524237674371633e+04 + -2.527181237999998e+04 + -2.530127377273551e+04 + -2.533076094162915e+04 + -2.536027390311031e+04 + -2.538981266594794e+04 + -2.541937724999998e+04 + -2.544896767801531e+04 + -2.547858395406606e+04 + -2.550822608802068e+04 + -2.553789410507042e+04 + -2.556758802000000e+04 + -2.559730784246711e+04 + -2.562705359189478e+04 + -2.565682528525429e+04 + -2.568662293247029e+04 + -2.571644655000000e+04 + -2.574629615713407e+04 + -2.577617176604459e+04 + -2.580607338891535e+04 + -2.583600104095400e+04 + -2.586595473999998e+04 + -2.589593450400127e+04 + -2.592594034522632e+04 + -2.595597227610649e+04 + -2.598603031176017e+04 + -2.601611446999998e+04 + -2.604622476879967e+04 + -2.607636122042706e+04 + -2.610652383730750e+04 + -2.613671263455693e+04 + -2.616692763000000e+04 + -2.619716884161440e+04 + -2.622743628160562e+04 + -2.625772996246335e+04 + -2.628804989951923e+04 + -2.631839611000000e+04 + -2.634876861165059e+04 + -2.637916741999917e+04 + -2.640959254907723e+04 + -2.644004401148305e+04 + -2.647052181999998e+04 + -2.650102598983489e+04 + -2.653155654491748e+04 + -2.656211350103963e+04 + -2.659269685960091e+04 + -2.662330663999998e+04 + -2.665394286925502e+04 + -2.668460555517195e+04 + -2.671529470758218e+04 + -2.674601034670874e+04 + -2.677675249000000e+04 + -2.680752115154265e+04 + -2.683831634157976e+04 + -2.686913807564717e+04 + -2.689998637786448e+04 + -2.693086126000000e+04 + -2.696176272916689e+04 + -2.699269080763921e+04 + -2.702364551500381e+04 + -2.705462686113689e+04 + -2.708563485999998e+04 + -2.711666952809900e+04 + -2.714773087942122e+04 + -2.717881892991400e+04 + -2.720993369901594e+04 + -2.724107519999998e+04 + -2.727224344400496e+04 + -2.730343845029767e+04 + -2.733466023562860e+04 + -2.736590881019403e+04 + -2.739718419000000e+04 + -2.742848639412166e+04 + -2.745981543741902e+04 + -2.749117133427855e+04 + -2.752255410001475e+04 + -2.755396375000000e+04 + -2.758540029934807e+04 + -2.761686376223195e+04 + -2.764835415476579e+04 + -2.767987149599797e+04 + -2.771141579999997e+04 + -2.774298707825893e+04 + -2.777458534547961e+04 + -2.780621061813955e+04 + -2.783786291408934e+04 + -2.786954224999998e+04 + -2.790124864062599e+04 + -2.793298209650868e+04 + -2.796474263269793e+04 + -2.799653027215609e+04 + -2.802834503000000e+04 + -2.806018691678819e+04 + -2.809205594694776e+04 + -2.812395213748840e+04 + -2.815587550739401e+04 + -2.818782607000000e+04 + -2.821980383662756e+04 + -2.825180882556652e+04 + -2.828384105454396e+04 + -2.831590053775406e+04 + -2.834798728999998e+04 + -2.838010132665882e+04 + -2.841224266303304e+04 + -2.844441131398464e+04 + -2.847660729395342e+04 + -2.850883061999998e+04 + -2.854108131015271e+04 + -2.857335937943549e+04 + -2.860566484233479e+04 + -2.863799771378746e+04 + -2.867035801000000e+04 + -2.870274574643904e+04 + -2.873516093256026e+04 + -2.876760358436649e+04 + -2.880007372909855e+04 + -2.883257138000000e+04 + -2.886509654365616e+04 + -2.889764923870952e+04 + -2.893022948372628e+04 + -2.896283729252707e+04 + -2.899547267999998e+04 + -2.902813566168059e+04 + -2.906082625190441e+04 + -2.909354446650575e+04 + -2.912629032389195e+04 + -2.915906383999998e+04 + -2.919186502919167e+04 + -2.922469390650106e+04 + -2.925755048733507e+04 + -2.929043478725063e+04 + -2.932334682000000e+04 + -2.935628660019129e+04 + -2.938925415043921e+04 + -2.942224948806936e+04 + -2.945527261979538e+04 + -2.948832356000000e+04 + -2.952140232838030e+04 + -2.955450894361826e+04 + -2.958764342089699e+04 + -2.962080577090842e+04 + -2.965399600999997e+04 + -2.968721415715336e+04 + -2.972046022629084e+04 + -2.975373423280592e+04 + -2.978703619592538e+04 + -2.982036612999997e+04 + -2.985372404652352e+04 + -2.988710995909819e+04 + -2.992052388535540e+04 + -2.995396584761164e+04 + -2.998743586000000e+04 + -3.002093393306212e+04 + -3.005446008516229e+04 + -3.008801433415196e+04 + -3.012159669410924e+04 + -3.015520717999998e+04 + -3.018884580728562e+04 + -3.022251259030155e+04 + -3.025620754490144e+04 + -3.028993068950620e+04 + -3.032368203999997e+04 + -3.035746161072607e+04 + -3.039126941699663e+04 + -3.042510547393189e+04 + -3.045896979612689e+04 + -3.049286239999998e+04 + -3.052678330335746e+04 + -3.056073252467363e+04 + -3.059471007984014e+04 + -3.062871598061521e+04 + -3.066275024000000e+04 + -3.069681287356475e+04 + -3.073090390293319e+04 + -3.076502334621974e+04 + -3.079917121404217e+04 + -3.083334751999997e+04 + -3.086755228023463e+04 + -3.090178551167921e+04 + -3.093604723225209e+04 + -3.097033746063074e+04 + -3.100465620999998e+04 + -3.103900349175437e+04 + -3.107337932446759e+04 + -3.110778372555016e+04 + -3.114221670819769e+04 + -3.117667828999997e+04 + -3.121116848957679e+04 + -3.124568731744623e+04 + -3.128023478769976e+04 + -3.131481092268889e+04 + -3.134941574000000e+04 + -3.138404925321087e+04 + -3.141871147408727e+04 + -3.145340241670125e+04 + -3.148812209933996e+04 + -3.152287053999997e+04 + -3.155764775577736e+04 + -3.159245376185456e+04 + -3.162728857279384e+04 + -3.166215220315186e+04 + -3.169704466999997e+04 + -3.173196599132658e+04 + -3.176691618227545e+04 + -3.180189525721778e+04 + -3.183690323068162e+04 + -3.187194012000000e+04 + -3.190700594323912e+04 + -3.194210071422084e+04 + -3.197722444868163e+04 + -3.201237716636405e+04 + -3.204755888000000e+04 + -3.208276960047787e+04 + -3.211800935023939e+04 + -3.215327814773632e+04 + -3.218857600158763e+04 + -3.222390292999997e+04 + -3.225925895535199e+04 + -3.229464408973093e+04 + -3.233005834462857e+04 + -3.236550173499735e+04 + -3.240097427999997e+04 + -3.243647600017841e+04 + -3.247200691143220e+04 + -3.250756702669824e+04 + -3.254315635678932e+04 + -3.257877492000000e+04 + -3.261442273792899e+04 + -3.265009982555360e+04 + -3.268580619650297e+04 + -3.272154186523808e+04 + -3.275730685000000e+04 + -3.279310116911321e+04 + -3.282892483177912e+04 + -3.286477785354587e+04 + -3.290066026202923e+04 + -3.293657206999998e+04 + -3.297251328378459e+04 + -3.300848392497173e+04 + -3.304448401407080e+04 + -3.308051356412061e+04 + -3.311657258999998e+04 + -3.315266110752813e+04 + -3.318877912993135e+04 + -3.322492667413289e+04 + -3.326110376297835e+04 + -3.329731041000000e+04 + -3.333354662539115e+04 + -3.336981243131684e+04 + -3.340610784669931e+04 + -3.344243288124504e+04 + -3.347878755000000e+04 + -3.351517187197135e+04 + -3.355158586607149e+04 + -3.358802954742114e+04 + -3.362450292603845e+04 + -3.366100601999997e+04 + -3.369753885113907e+04 + -3.373410143432544e+04 + -3.377069378324004e+04 + -3.380731591267414e+04 + -3.384396783999997e+04 + -3.388064958319757e+04 + -3.391736115628571e+04 + -3.395410257481684e+04 + -3.399087385786547e+04 + -3.402767502000000e+04 + -3.406450607498593e+04 + -3.410136704569621e+04 + -3.413825794940452e+04 + -3.417517879208190e+04 + -3.421212959000000e+04 + -3.424911036577375e+04 + -3.428612113814977e+04 + -3.432316192150666e+04 + -3.436023272579379e+04 + -3.439733356999998e+04 + -3.443446447621852e+04 + -3.447162545467578e+04 + -3.450881651888796e+04 + -3.454603769159935e+04 + -3.458328898999997e+04 + -3.462057042742187e+04 + -3.465788201822977e+04 + -3.469522377879945e+04 + -3.473259572783916e+04 + -3.476999788000000e+04 + -3.480743024920274e+04 + -3.484489285737491e+04 + -3.488238572274076e+04 + -3.491990885516477e+04 + -3.495746227000000e+04 + -3.499504598627476e+04 + -3.503266002163332e+04 + -3.507030439252002e+04 + -3.510797911399110e+04 + -3.514568419999997e+04 + -3.518341966538968e+04 + -3.522118553105182e+04 + -3.525898181605689e+04 + -3.529680853433678e+04 + -3.533466569999997e+04 + -3.537255332834070e+04 + -3.541047143775194e+04 + -3.544842004484196e+04 + -3.548639916273562e+04 + -3.552440881000000e+04 + -3.556244900769237e+04 + -3.560051977192599e+04 + -3.563862111528000e+04 + -3.567675304773126e+04 + -3.571491559000000e+04 + -3.575310876677514e+04 + -3.579133259025522e+04 + -3.582958707123636e+04 + -3.586787222387752e+04 + -3.590618806999997e+04 + -3.594453463328037e+04 + -3.598291192576281e+04 + -3.602131995866808e+04 + -3.605975874687618e+04 + -3.609822830999997e+04 + -3.613672866872384e+04 + -3.617525983663845e+04 + -3.621382182906358e+04 + -3.625241466608051e+04 + -3.629103836000000e+04 + -3.632969292147818e+04 + -3.636837837559645e+04 + -3.640709474306420e+04 + -3.644584203277781e+04 + -3.648462026000000e+04 + -3.652342944409004e+04 + -3.656226960170399e+04 + -3.660114075023598e+04 + -3.664004290875195e+04 + -3.667897608999997e+04 + -3.671794030512006e+04 + -3.675693557547587e+04 + -3.679596192058374e+04 + -3.683501935339895e+04 + -3.687410788999997e+04 + -3.691322754870546e+04 + -3.695237834723054e+04 + -3.699156030212950e+04 + -3.703077342834224e+04 + -3.707001774000000e+04 + -3.710929325203417e+04 + -3.714859998429457e+04 + -3.718793795692067e+04 + -3.722730718808447e+04 + -3.726670768999997e+04 + -3.730613947399677e+04 + -3.734560256273038e+04 + -3.738509697431393e+04 + -3.742462271654350e+04 + -3.746417980999997e+04 + -3.750376828013417e+04 + -3.754338813660564e+04 + -3.758303939267375e+04 + -3.762272207245150e+04 + -3.766243618999997e+04 + -3.770218175518502e+04 + -3.774195878945678e+04 + -3.778176731257176e+04 + -3.782160733741773e+04 + -3.786147888000000e+04 + -3.790138195864309e+04 + -3.794131659132003e+04 + -3.798128279431332e+04 + -3.802128058166662e+04 + -3.806130996999997e+04 + -3.810137097737330e+04 + -3.814146362046005e+04 + -3.818158791697343e+04 + -3.822174388615621e+04 + -3.826193153999997e+04 + -3.830215088938532e+04 + -3.834240195971708e+04 + -3.838268477130731e+04 + -3.842299933188884e+04 + -3.846334565999997e+04 + -3.850372377842891e+04 + -3.854413369633216e+04 + -3.858457542816681e+04 + -3.862504900090371e+04 + -3.866555443000000e+04 + -3.870609172486966e+04 + -3.874666090332934e+04 + -3.878726198409722e+04 + -3.882789498399841e+04 + -3.886855991999997e+04 + -3.890925680946781e+04 + -3.894998567054054e+04 + -3.899074651957592e+04 + -3.903153937021765e+04 + -3.907236423999997e+04 + -3.911322114736439e+04 + -3.915411010384250e+04 + -3.919503112747372e+04 + -3.923598424716172e+04 + -3.927696946999997e+04 + -3.931798680038228e+04 + -3.935903628964794e+04 + -3.940011793259103e+04 + -3.944123164809230e+04 + -3.948237770000000e+04 + -3.952355620675491e+04 + -3.956476584662273e+04 + -3.960600801403134e+04 + -3.964728735507886e+04 + -3.968859104999997e+04 + 1.819886919039960e+01 + 1.816405130921966e+01 + 1.812918280091599e+01 + 1.809426424653407e+01 + 1.805929622711938e+01 + 1.802427932371738e+01 + 1.798921411737356e+01 + 1.795410118913339e+01 + 1.791894112004234e+01 + 1.788373449114589e+01 + 1.784848188348950e+01 + 1.781318387811866e+01 + 1.777784105607885e+01 + 1.774245399841551e+01 + 1.770702328617416e+01 + 1.767154950040025e+01 + 1.763603322213927e+01 + 1.760047503243666e+01 + 1.756487551233793e+01 + 1.752923524288855e+01 + 1.749355480513398e+01 + 1.745783478011969e+01 + 1.742207574889119e+01 + 1.738627829249391e+01 + 1.735044299197335e+01 + 1.731457042837498e+01 + 1.727866118274428e+01 + 1.724271583612671e+01 + 1.720673496956776e+01 + 1.717071916411290e+01 + 1.713466900080759e+01 + 1.709858506069732e+01 + 1.706246792482757e+01 + 1.702631817424381e+01 + 1.699013638999150e+01 + 1.695392315311613e+01 + 1.691767904466317e+01 + 1.688140464567809e+01 + 1.684510053720637e+01 + 1.680876730029348e+01 + 1.677240551598491e+01 + 1.673601576532611e+01 + 1.669959862936258e+01 + 1.666315468913977e+01 + 1.662668452570318e+01 + 1.659018872009826e+01 + 1.655366785337049e+01 + 1.651712250656536e+01 + 1.648055326072833e+01 + 1.644396069690488e+01 + 1.640734539614049e+01 + 1.637070793948063e+01 + 1.633404890797076e+01 + 1.629736888265638e+01 + 1.626066844458294e+01 + 1.622394817479593e+01 + 1.618720865434082e+01 + 1.615045046426309e+01 + 1.611367418560821e+01 + 1.607688039942165e+01 + 1.604006968674890e+01 + 1.600324262863542e+01 + 1.596639980612668e+01 + 1.592954180026817e+01 + 1.589266919210536e+01 + 1.585578256268371e+01 + 1.581888249304872e+01 + 1.578196956424585e+01 + 1.574504435732057e+01 + 1.570810745331836e+01 + 1.567115943328470e+01 + 1.563420087826506e+01 + 1.559723236930490e+01 + 1.556025448744972e+01 + 1.552326781374499e+01 + 1.548627292923617e+01 + 1.544927041496875e+01 + 1.541226085198818e+01 + 1.537524482133997e+01 + 1.533822290406956e+01 + 1.530119568122245e+01 + 1.526416373384410e+01 + 1.522712764298000e+01 + 1.519008798967561e+01 + 1.515304535497640e+01 + 1.511600031992786e+01 + 1.507895346557546e+01 + 1.504190537296467e+01 + 1.500485662314096e+01 + 1.496780779714983e+01 + 1.493075947603672e+01 + 1.489371224084713e+01 + 1.485666667262652e+01 + 1.481962335242037e+01 + 1.478258286127416e+01 + 1.474554578023335e+01 + 1.470851269034343e+01 + 1.467148417264987e+01 + 1.463446080819813e+01 + 1.459744317803371e+01 + 1.456043186320207e+01 + 1.452342744474869e+01 + 1.448643050371903e+01 + 1.444944162115858e+01 + 1.441246137811282e+01 + 1.437549035562720e+01 + 1.433852913474722e+01 + 1.430157829651834e+01 + 1.426463842198604e+01 + 1.422771009219579e+01 + 1.419079388819307e+01 + 1.415389039102334e+01 + 1.411700018173210e+01 + 1.408012384136481e+01 + 1.404326195096694e+01 + 1.400641509158398e+01 + 1.396958384426139e+01 + 1.393276879004464e+01 + 1.389597050997923e+01 + 1.385918958511061e+01 + 1.382242659648426e+01 + 1.378568212514566e+01 + 1.374895675214029e+01 + 1.371225105851361e+01 + 1.367556562531110e+01 + 1.363890103357824e+01 + 1.360225786436050e+01 + 1.356563669870335e+01 + 1.352903811765228e+01 + 1.349246270225274e+01 + 1.345591103355023e+01 + 1.341938369259021e+01 + 1.338288126041816e+01 + 1.334640431807955e+01 + 1.330995344661985e+01 + 1.327352922708455e+01 + 1.323713224051912e+01 + 1.320076306796902e+01 + 1.316442229047974e+01 + 1.312811048909675e+01 + 1.309182824486553e+01 + 1.305557613883154e+01 + 1.301935475204027e+01 + 1.298316466553718e+01 + 1.294700646036776e+01 + 1.291088071757748e+01 + 1.287478801821181e+01 + 1.283872894331622e+01 + 1.280270407393619e+01 + 1.276671399111720e+01 + 1.273075927590472e+01 + 1.269484050934423e+01 + 1.265895827248119e+01 + 1.262311314636109e+01 + 1.258730571202939e+01 + 1.255153655053158e+01 + 1.251580624291313e+01 + 1.248011537021950e+01 + 1.244446451349619e+01 + 1.240885425378865e+01 + 1.237328517214237e+01 + 1.233775784960283e+01 + 1.230227286721548e+01 + 1.226683080602582e+01 + 1.223143224707931e+01 + 1.219607777142142e+01 + 1.216076796009764e+01 + 1.212550339415344e+01 + 1.209028465463429e+01 + 1.205511232258567e+01 + 1.201998697905305e+01 + 1.198490920508190e+01 + 1.194987958171770e+01 + 1.191489869000593e+01 + 1.187996711099206e+01 + 1.184508542572157e+01 + 1.181025421523992e+01 + 1.177547406059259e+01 + 1.174074554282507e+01 + 1.170606924298281e+01 + 1.167144574211130e+01 + 1.163687562125602e+01 + 1.160235946146243e+01 + 1.156789784377601e+01 + 1.153349134924223e+01 + 1.149914055890657e+01 + 1.146484605381452e+01 + 1.143060841501152e+01 + 1.139642822354308e+01 + 1.136230606045464e+01 + 1.132824250679170e+01 + 1.129423814359974e+01 + 1.126029355192421e+01 + 1.122640931281059e+01 + 1.119258600730437e+01 + 1.115882421645102e+01 + 1.112512452129600e+01 + 1.109148750288479e+01 + 1.105791374226288e+01 + 1.102440382047573e+01 + 1.099095831856882e+01 + 1.095757781758762e+01 + 1.092426289857761e+01 + 1.089101414258426e+01 + 1.085783213065305e+01 + 1.082471744382945e+01 + 1.079167066315892e+01 + 1.075869236968697e+01 + 1.072578314445905e+01 + 1.069294356852064e+01 + 1.066017422291721e+01 + 1.062747568869424e+01 + 1.059484854689720e+01 + 1.056229337857157e+01 + 1.052981076476282e+01 + 1.049740128651643e+01 + 1.046506552487787e+01 + 1.043280406089261e+01 + 1.040061747560614e+01 + 1.036850635006392e+01 + 1.033647126531143e+01 + 1.030451280239414e+01 + 1.027263154235754e+01 + 1.024082806624708e+01 + 1.020910295510825e+01 + 1.017745678998653e+01 + 1.014589015192738e+01 + 1.011440362197629e+01 + 1.008299778117872e+01 + 1.005167321058014e+01 + 1.002043049122605e+01 + 9.989270204161905e+00 + 9.958192930433185e+00 + 9.927199251085362e+00 + 9.896289747163912e+00 + 9.865464999714312e+00 + 9.834725589782032e+00 + 9.804072098412551e+00 + 9.773505106651340e+00 + 9.743025195543877e+00 + 9.712632946135633e+00 + 9.682328939472086e+00 + 9.652113756598707e+00 + 9.621987978560973e+00 + 9.591952186404358e+00 + 9.562006961174337e+00 + 9.532152883916382e+00 + 9.502390535675973e+00 + 9.472720497498580e+00 + 9.443143350429677e+00 + 9.413659675514742e+00 + 9.384270053799249e+00 + 9.354975066328668e+00 + 9.325775294148480e+00 + 9.296671318304156e+00 + 9.267663719841170e+00 + 9.238753079804999e+00 + 9.209939979241115e+00 + 9.181224999194994e+00 + 9.152608720712111e+00 + 9.124091724837941e+00 + 9.095674592617954e+00 + 9.067357905097630e+00 + 9.039142243322441e+00 + 9.011028188337864e+00 + 8.983016292445305e+00 + 8.955106689123129e+00 + 8.927299195109086e+00 + 8.899593619314148e+00 + 8.871989770649284e+00 + 8.844487458025464e+00 + 8.817086490353660e+00 + 8.789786676544839e+00 + 8.762587825509975e+00 + 8.735489746160036e+00 + 8.708492247405990e+00 + 8.681595138158814e+00 + 8.654798227329470e+00 + 8.628101323828931e+00 + 8.601504236568170e+00 + 8.575006774458155e+00 + 8.548608746409855e+00 + 8.522309961334242e+00 + 8.496110228142285e+00 + 8.470009355744955e+00 + 8.444007153053219e+00 + 8.418103428978053e+00 + 8.392297992430423e+00 + 8.366590652321301e+00 + 8.340981217561657e+00 + 8.315469497062459e+00 + 8.290055299734679e+00 + 8.264738434489287e+00 + 8.239518710237252e+00 + 8.214395935889545e+00 + 8.189369920357137e+00 + 8.164440472550996e+00 + 8.139607401382095e+00 + 8.114870515761401e+00 + 8.090229624599887e+00 + 8.065684536808520e+00 + 8.041235061298275e+00 + 8.016881006980118e+00 + 7.992622182765018e+00 + 7.968458397563950e+00 + 7.944389460287880e+00 + 7.920415179847782e+00 + 7.896535365154623e+00 + 7.872749825119373e+00 + 7.849058368653004e+00 + 7.825460804666484e+00 + 7.801956942070785e+00 + 7.778546589776878e+00 + 7.755229556695729e+00 + 7.732005651738313e+00 + 7.708874683815599e+00 + 7.685836461838553e+00 + 7.662890794718152e+00 + 7.640037491365358e+00 + 7.617276360691148e+00 + 7.594607211606489e+00 + 7.572029853022352e+00 + 7.549544093849708e+00 + 7.527149742999527e+00 + 7.504846609382777e+00 + 7.482634501910429e+00 + 7.460513229493455e+00 + 7.438482601042820e+00 + 7.416542425469502e+00 + 7.394692511684465e+00 + 7.372932668598682e+00 + 7.351262705123121e+00 + 7.329682430168755e+00 + 7.308191652646553e+00 + 7.286790181467484e+00 + 7.265477825542517e+00 + 7.244254393782626e+00 + 7.223119695098779e+00 + 7.202073538401945e+00 + 7.181115732603097e+00 + 7.160246086613204e+00 + 7.139464409343233e+00 + 7.118770509704159e+00 + 7.098164196606950e+00 + 7.077645278962576e+00 + 7.057213565682006e+00 + 7.036868865676214e+00 + 7.016610987856166e+00 + 6.996439741132834e+00 + 6.976354934417186e+00 + 6.956356376620197e+00 + 6.936443876652832e+00 + 6.916617243426063e+00 + 6.896876285850862e+00 + 6.877220812838198e+00 + 6.857650633299039e+00 + 6.838165556144358e+00 + 6.818765390285123e+00 + 6.799449944632306e+00 + 6.780219028096876e+00 + 6.761072449589803e+00 + 6.742010018022058e+00 + 6.723031542304612e+00 + 6.704136831348434e+00 + 6.685325694064492e+00 + 6.666597939363759e+00 + 6.647953376157203e+00 + 6.629391813355797e+00 + 6.610913059870509e+00 + 6.592516924612310e+00 + 6.574203216492170e+00 + 6.555971744421058e+00 + 6.537822317309946e+00 + 6.519754744069803e+00 + 6.501768833611600e+00 + 6.483864394846306e+00 + 6.466041236684891e+00 + 6.448299168038327e+00 + 6.430637997817582e+00 + 6.413057534933630e+00 + 6.395557588297437e+00 + 6.378137966819973e+00 + 6.360798479412210e+00 + 6.343538934985117e+00 + 6.326359142449666e+00 + 6.309258910716826e+00 + 6.292238048697567e+00 + 6.275296365302859e+00 + 6.258433669443673e+00 + 6.241649770030978e+00 + 6.224944475975745e+00 + 6.208317596188945e+00 + 6.191768939581546e+00 + 6.175298315064517e+00 + 6.158905531548833e+00 + 6.142590397945462e+00 + 6.126352723165372e+00 + 6.110192316119535e+00 + 6.094108985718921e+00 + 6.078102540874499e+00 + 6.062172790497243e+00 + 6.046319543498117e+00 + 6.030542608788095e+00 + 6.014841795278149e+00 + 5.999216911879244e+00 + 5.983667767502356e+00 + 5.968194171058448e+00 + 5.952795931458497e+00 + 5.937472857613470e+00 + 5.922224758434336e+00 + 5.907051442832068e+00 + 5.891952719717633e+00 + 5.876928398002004e+00 + 5.861978286596150e+00 + 5.847102194411042e+00 + 5.832299930357648e+00 + 5.817571303346941e+00 + 5.802916122289888e+00 + 5.788334196097460e+00 + 5.773825333680629e+00 + 5.759389343950365e+00 + 5.745026035817635e+00 + 5.730735218193414e+00 + 5.716516699988668e+00 + 5.702370290114368e+00 + 5.688295797481486e+00 + 5.674293031000990e+00 + 5.660361799583851e+00 + 5.646501912141039e+00 + 5.632713177583526e+00 + 5.618995404822279e+00 + 5.605348402768269e+00 + 5.591771980332467e+00 + 5.578265946425844e+00 + 5.564830109959368e+00 + 5.551464279844009e+00 + 5.538168264990741e+00 + 5.524941874310529e+00 + 5.511784916714348e+00 + 5.498697201113163e+00 + 5.485678536417949e+00 + 5.472728731539672e+00 + 5.459847595389306e+00 + 5.447031950668924e+00 + 5.434258417587328e+00 + 5.421509378931341e+00 + 5.408790202589383e+00 + 5.396101725502927e+00 + 5.383442552149385e+00 + 5.370812984345576e+00 + 5.358213038980171e+00 + 5.345642546622406e+00 + 5.333101463094469e+00 + 5.320589727671893e+00 + 5.308107264570896e+00 + 5.295654006874094e+00 + 5.283229887334054e+00 + 5.270834837715376e+00 + 5.258468789944041e+00 + 5.246131676000384e+00 + 5.233823428164784e+00 + 5.221543979540164e+00 + 5.209293263422158e+00 + 5.197071212820756e+00 + 5.184877759775030e+00 + 5.172712837552656e+00 + 5.160576380473933e+00 + 5.148468322098453e+00 + 5.136388595958436e+00 + 5.124337135726472e+00 + 5.112313875048248e+00 + 5.100318748362747e+00 + 5.088351690727316e+00 + 5.076412636057685e+00 + 5.064501518839616e+00 + 5.052618274474592e+00 + 5.040762837425790e+00 + 5.028935142799786e+00 + 5.017135126690616e+00 + 5.005362723409764e+00 + 4.993617868159293e+00 + 4.981900498164465e+00 + 4.970210548621045e+00 + 4.958547954855285e+00 + 4.946912653797631e+00 + 4.935304581602165e+00 + 4.923723674430540e+00 + 4.912169869219803e+00 + 4.900643102722201e+00 + 4.889143311682699e+00 + 4.877670433140317e+00 + 4.866224404407401e+00 + 4.854805162838305e+00 + 4.843412645620055e+00 + 4.832046790470948e+00 + 4.820707535433044e+00 + 4.809394818449872e+00 + 4.798108577205163e+00 + 4.786848749644187e+00 + 4.775615274885523e+00 + 4.764408091170769e+00 + 4.753227136475494e+00 + 4.742072350593207e+00 + 4.730943672320340e+00 + 4.719841039761676e+00 + 4.708764392793848e+00 + 4.697713670947889e+00 + 4.686688813308958e+00 + 4.675689760077749e+00 + 4.664716450776882e+00 + 4.653768824355144e+00 + 4.642846821849820e+00 + 4.631950383864691e+00 + 4.621079449911801e+00 + 4.610233960271208e+00 + 4.599413855814052e+00 + 4.588619077726644e+00 + 4.577849566594633e+00 + 4.567105263324451e+00 + 4.556386109499332e+00 + 4.545692045920192e+00 + 4.535023013830533e+00 + 4.524378955558838e+00 + 4.513759812087895e+00 + 4.503165524982657e+00 + 4.492596037765430e+00 + 4.482051291649467e+00 + 4.471531227881555e+00 + 4.461035790191556e+00 + 4.450564920902143e+00 + 4.440118561957067e+00 + 4.429696656605228e+00 + 4.419299148008472e+00 + 4.408925979093191e+00 + 4.398577092681390e+00 + 4.388252432408600e+00 + 4.377951941955149e+00 + 4.367675563647617e+00 + 4.357423241911437e+00 + 4.347194921954801e+00 + 4.336990545878941e+00 + 4.326810057907454e+00 + 4.316653403787664e+00 + 4.306520526395858e+00 + 4.296411370095723e+00 + 4.286325880845187e+00 + 4.276264002847886e+00 + 4.266225680614548e+00 + 4.256210859410026e+00 + 4.246219484255977e+00 + 4.236251500111860e+00 + 4.226306852214246e+00 + 4.216385487075638e+00 + 4.206487350454588e+00 + 4.196612386873075e+00 + 4.186760542346591e+00 + 4.176931763412669e+00 + 4.167125996517556e+00 + 4.157343187931778e+00 + 4.147583283659849e+00 + 4.137846229598449e+00 + 4.128131973158434e+00 + 4.118440461620333e+00 + 4.108771640965568e+00 + 4.099125458381889e+00 + 4.089501861348100e+00 + 4.079900796648449e+00 + 4.070322211621146e+00 + 4.060766054068578e+00 + 4.051232271987449e+00 + 4.041720812903752e+00 + 4.032231624389123e+00 + 4.022764654839604e+00 + 4.013319852102482e+00 + 4.003897163974346e+00 + 3.994496539375360e+00 + 3.985117927005318e+00 + 3.975761275162846e+00 + 3.966426531955261e+00 + 3.957113646635731e+00 + 3.947822569087183e+00 + 3.938553247905866e+00 + 3.929305631685672e+00 + 3.920079669524097e+00 + 3.910875311427285e+00 + 3.901692507178291e+00 + 3.892531206204140e+00 + 3.883391358396833e+00 + 3.874272913657344e+00 + 3.865175821793835e+00 + 3.856100032879644e+00 + 3.847045497225832e+00 + 3.838012165320722e+00 + 3.828999987558789e+00 + 3.820008914413926e+00 + 3.811038896595444e+00 + 3.802089885254187e+00 + 3.793161831237620e+00 + 3.784254684890362e+00 + 3.775368398252875e+00 + 3.766502923100440e+00 + 3.757658209579520e+00 + 3.748834209295840e+00 + 3.740030874433959e+00 + 3.731248156753105e+00 + 3.722486008117639e+00 + 3.713744380387517e+00 + 3.705023225280349e+00 + 3.696322495070079e+00 + 3.687642142318910e+00 + 3.678982119432947e+00 + 3.670342378801804e+00 + 3.661722872867589e+00 + 3.653123554235752e+00 + 3.644544376023881e+00 + 3.635985291634798e+00 + 3.627446254192749e+00 + 3.618927216218316e+00 + 3.610428130335504e+00 + 3.601948951051534e+00 + 3.593489632231203e+00 + 3.585050126838500e+00 + 3.576630388153148e+00 + 3.568230370457688e+00 + 3.559850028500160e+00 + 3.551489315016799e+00 + 3.543148183918080e+00 + 3.534826590807976e+00 + 3.526524489935861e+00 + 3.518241835011243e+00 + 3.509978579991082e+00 + 3.501734680809670e+00 + 3.493510092697708e+00 + 3.485304769188242e+00 + 3.477118665289576e+00 + 3.468951736765370e+00 + 3.460803939385451e+00 + 3.452675227557384e+00 + 3.444565556219660e+00 + 3.436474882078371e+00 + 3.428403160505571e+00 + 3.420350346590145e+00 + 3.412316396304707e+00 + 3.404301265792477e+00 + 3.396304911176187e+00 + 3.388327288491305e+00 + 3.380368354160161e+00 + 3.372428064623584e+00 + 3.364506375833607e+00 + 3.356603244211646e+00 + 3.348718626640740e+00 + 3.340852480236101e+00 + 3.333004761693424e+00 + 3.325175427644580e+00 + 3.317364435527293e+00 + 3.309571742493616e+00 + 3.301797305408617e+00 + 3.294041081414062e+00 + 3.286303028194412e+00 + 3.278583103726798e+00 + 3.270881265443555e+00 + 3.263197471011956e+00 + 3.255531678390248e+00 + 3.247883845209004e+00 + 3.240253929642225e+00 + 3.232641890347850e+00 + 3.225047684908113e+00 + 3.217471271425511e+00 + 3.209912608923088e+00 + 3.202371655667555e+00 + 3.194848370181972e+00 + 3.187342711658790e+00 + 3.179854638881827e+00 + 3.172384110380890e+00 + 3.164931084707051e+00 + 3.157495521384956e+00 + 3.150077380058776e+00 + 3.142676619877814e+00 + 3.135293200073600e+00 + 3.127927079946843e+00 + 3.120578218905895e+00 + 3.113246577218404e+00 + 3.105932114937815e+00 + 3.098634790846833e+00 + 3.091354565058342e+00 + 3.084091398271724e+00 + 3.076845250485478e+00 + 3.069616081755534e+00 + 3.062403852244847e+00 + 3.055208522175611e+00 + 3.048030052549899e+00 + 3.040868404439169e+00 + 3.033723537524932e+00 + 3.026595412527113e+00 + 3.019483991059011e+00 + 3.012389234177664e+00 + 3.005311102428361e+00 + 2.998249556405217e+00 + 2.991204558170310e+00 + 2.984176069441633e+00 + 2.977164051262350e+00 + 2.970168464749357e+00 + 2.963189271462946e+00 + 2.956226433370632e+00 + 2.949279912203107e+00 + 2.942349669912605e+00 + 2.935435668735732e+00 + 2.928537870478263e+00 + 2.921656236941307e+00 + 2.914790730227295e+00 + 2.907941313056430e+00 + 2.901107948114753e+00 + 2.894290597705669e+00 + 2.887489224186201e+00 + 2.880703790004707e+00 + 2.873934257778331e+00 + 2.867180590721052e+00 + 2.860442752157053e+00 + 2.853720705060128e+00 + 2.847014412004529e+00 + 2.840323835735203e+00 + 2.833648939802342e+00 + 2.826989688360529e+00 + 2.820346045051714e+00 + 2.813717971838249e+00 + 2.807105432809830e+00 + 2.800508392739872e+00 + 2.793926814285955e+00 + 2.787360661385112e+00 + 2.780809898806732e+00 + 2.774274490318202e+00 + 2.767754399418414e+00 + 2.761249589980850e+00 + 2.754760027276096e+00 + 2.748285675987487e+00 + 2.741826499952791e+00 + 2.735382462817888e+00 + 2.728953529693038e+00 + 2.722539666591989e+00 + 2.716140837199994e+00 + 2.709757005928732e+00 + 2.703388138477217e+00 + 2.697034199719776e+00 + 2.690695154612969e+00 + 2.684370968516638e+00 + 2.678061606722120e+00 + 2.671767034388748e+00 + 2.665487216663756e+00 + 2.659222119420964e+00 + 2.652971708466898e+00 + 2.646735949170681e+00 + 2.640514807328682e+00 + 2.634308248813400e+00 + 2.628116239351709e+00 + 2.621938745026414e+00 + 2.615775731978081e+00 + 2.609627166192403e+00 + 2.603493014125890e+00 + 2.597373242133807e+00 + 2.591267815972944e+00 + 2.585176702619338e+00 + 2.579099869106871e+00 + 2.573037281022092e+00 + 2.566988905295047e+00 + 2.560954709471109e+00 + 2.554934660124372e+00 + 2.548928723658388e+00 + 2.542936866838776e+00 + 2.536959057454498e+00 + 2.530995262744329e+00 + 2.525045449466102e+00 + 2.519109584724339e+00 + 2.513187636248425e+00 + 2.507279571988880e+00 + 2.501385358975255e+00 + 2.495504964649074e+00 + 2.489638357011514e+00 + 2.483785503877440e+00 + 2.477946372993181e+00 + 2.472120932153270e+00 + 2.466309149445497e+00 + 2.460510993028623e+00 + 2.454726431004756e+00 + 2.448955431279121e+00 + 2.443197962222979e+00 + 2.437453992749473e+00 + 2.431723490873920e+00 + 2.426006424702946e+00 + 2.420302763016215e+00 + 2.414612474849150e+00 + 2.408935529060812e+00 + 2.403271894158963e+00 + 2.397621539164549e+00 + 2.391984432987164e+00 + 2.386360544006294e+00 + 2.380749841635097e+00 + 2.375152295549876e+00 + 2.369567874852914e+00 + 2.363996548806182e+00 + 2.358438286639424e+00 + 2.352893057314327e+00 + 2.347360830870365e+00 + 2.341841577523073e+00 + 2.336335266205249e+00 + 2.330841866367291e+00 + 2.325361348038680e+00 + 2.319893681430557e+00 + 2.314438836350213e+00 + 2.308996782525400e+00 + 2.303567490482044e+00 + 2.298150930506590e+00 + 2.292747072570897e+00 + 2.287355886755380e+00 + 2.281977343203661e+00 + 2.276611412298537e+00 + 2.271258065216148e+00 + 2.265917272602903e+00 + 2.260589004572198e+00 + 2.255273232290290e+00 + 2.249969926489583e+00 + 2.244679057245269e+00 + 2.239400595715412e+00 + 2.234134513404378e+00 + 2.228880781619142e+00 + 2.223639370658599e+00 + 2.218410251587366e+00 + 2.213193396784469e+00 + 2.207988776668006e+00 + 2.202796362022329e+00 + 2.197616125439223e+00 + 2.192448038696543e+00 + 2.187292072961057e+00 + 2.182148199232985e+00 + 2.177016389630072e+00 + 2.171896616273634e+00 + 2.166788850281173e+00 + 2.161693063906081e+00 + 2.156609229682959e+00 + 2.151537319229026e+00 + 2.146477304323076e+00 + 2.141429157241363e+00 + 2.136392850965788e+00 + 2.131368357474257e+00 + 2.126355648357996e+00 + 2.121354696293322e+00 + 2.116365474412895e+00 + 2.111387955644702e+00 + 2.106422111701483e+00 + 2.101467915161587e+00 + 2.096525339256323e+00 + 2.091594356269759e+00 + 2.086674939419586e+00 + 2.081767062556874e+00 + 2.076870697792070e+00 + 2.071985817585338e+00 + 2.067112395385072e+00 + 2.062250405333861e+00 + 2.057399820685575e+00 + 2.052560613690088e+00 + 2.047732757766644e+00 + 2.042916226752948e+00 + 2.038110994473384e+00 + 2.033317034456518e+00 + 2.028534320143143e+00 + 2.023762825026766e+00 + 2.019002522786289e+00 + 2.014253387371010e+00 + 2.009515392980107e+00 + 2.004788513366984e+00 + 2.000072722331970e+00 + 1.995367994084281e+00 + 1.990674302528751e+00 + 1.985991621875054e+00 + 1.981319927135009e+00 + 1.976659192144684e+00 + 1.972009390577169e+00 + 1.967370497271926e+00 + 1.962742487042732e+00 + 1.958125334423246e+00 + 1.953519013586483e+00 + 1.948923499307053e+00 + 1.944338766657414e+00 + 1.939764790288013e+00 + 1.935201544608222e+00 + 1.930649004305472e+00 + 1.926107145248571e+00 + 1.921575942429786e+00 + 1.917055370205972e+00 + 1.912545403920843e+00 + 1.908046018818900e+00 + 1.903557190023903e+00 + 1.899078893306255e+00 + 1.894611103753838e+00 + 1.890153795996532e+00 + 1.885706946418488e+00 + 1.881270530851602e+00 + 1.876844524133795e+00 + 1.872428902057808e+00 + 1.868023640555410e+00 + 1.863628715350075e+00 + 1.859244102235784e+00 + 1.854869776995271e+00 + 1.850505715382929e+00 + 1.846151893336109e+00 + 1.841808287113597e+00 + 1.837474873250078e+00 + 1.833151627500553e+00 + 1.828838525627810e+00 + 1.824535544058799e+00 + 1.820242659570220e+00 + 1.815959848693184e+00 + 1.811687087278560e+00 + 1.807424351697017e+00 + 1.803171618832717e+00 + 1.798928865872756e+00 + 1.794696068965575e+00 + 1.790473204047284e+00 + 1.786260248130819e+00 + 1.782057178544553e+00 + 1.777863972462110e+00 + 1.773680606381003e+00 + 1.769507057021776e+00 + 1.765343301422396e+00 + 1.761189316819223e+00 + 1.757045080431908e+00 + 1.752910569457795e+00 + 1.748785761158555e+00 + 1.744670632638435e+00 + 1.740565161064786e+00 + 1.736469324420783e+00 + 1.732383100261040e+00 + 1.728306465595185e+00 + 1.724239397824929e+00 + 1.720181874717039e+00 + 1.716133874165168e+00 + 1.712095373335323e+00 + 1.708066350172305e+00 + 1.704046783495335e+00 + 1.700036650108550e+00 + 1.696035927584721e+00 + 1.692044595228792e+00 + 1.688062630443701e+00 + 1.684090010658294e+00 + 1.680126714513943e+00 + 1.676172720475745e+00 + 1.672228006742128e+00 + 1.668292551293985e+00 + 1.664366332353613e+00 + 1.660449328407859e+00 + 1.656541518177628e+00 + 1.652642880144113e+00 + 1.648753392536404e+00 + 1.644873033459887e+00 + 1.641001782122826e+00 + 1.637139617814172e+00 + 1.633286518510287e+00 + 1.629442462986198e+00 + 1.625607430332010e+00 + 1.621781398816242e+00 + 1.617964347766720e+00 + 1.614156256896447e+00 + 1.610357104501046e+00 + 1.606566869528149e+00 + 1.602785531410984e+00 + 1.599013068753329e+00 + 1.595249460964023e+00 + 1.591494688099418e+00 + 1.587748729316499e+00 + 1.584011563661260e+00 + 1.580283170366302e+00 + 1.576563528988570e+00 + 1.572852618951484e+00 + 1.569150419635379e+00 + 1.565456911345500e+00 + 1.561772073862832e+00 + 1.558095886092752e+00 + 1.554428327545355e+00 + 1.550769378486889e+00 + 1.547119019605569e+00 + 1.543477229774924e+00 + 1.539843988467248e+00 + 1.536219276909035e+00 + 1.532603074921508e+00 + 1.528995362108325e+00 + 1.525396118748853e+00 + 1.521805324624735e+00 + 1.518222960029189e+00 + 1.514649006474386e+00 + 1.511083443428444e+00 + 1.507526250258141e+00 + 1.503977408416516e+00 + 1.500436898413773e+00 + 1.496904700394939e+00 + 1.493380795245864e+00 + 1.489865163193006e+00 + 1.486357784560608e+00 + 1.482858641108495e+00 + 1.479367713055452e+00 + 1.475884980161266e+00 + 1.472410424507970e+00 + 1.468944026943859e+00 + 1.465485767394345e+00 + 1.462035627142284e+00 + 1.458593587684006e+00 + 1.455159630175685e+00 + 1.451733734815932e+00 + 1.448315882934573e+00 + 1.444906056735074e+00 + 1.441504236540235e+00 + 1.438110403156542e+00 + 1.434724538391589e+00 + 1.431346623689521e+00 + 1.427976640530080e+00 + 1.424614570482120e+00 + 1.421260394583763e+00 + 1.417914094214416e+00 + 1.414575651360096e+00 + 1.411245047472556e+00 + 1.407922264020345e+00 + 1.404607282835409e+00 + 1.401300085863839e+00 + 1.398000654669480e+00 + 1.394708970355802e+00 + 1.391425015768138e+00 + 1.388148773421020e+00 + 1.384880223867722e+00 + 1.381619349200565e+00 + 1.378366132070768e+00 + 1.375120554406545e+00 + 1.371882598139520e+00 + 1.368652245409923e+00 + 1.365429478679455e+00 + 1.362214280063096e+00 + 1.359006631544336e+00 + 1.355806515436745e+00 + 1.352613914349998e+00 + 1.349428810943258e+00 + 1.346251187518860e+00 + 1.343081026346772e+00 + 1.339918309785753e+00 + 1.336763020411036e+00 + 1.333615141050152e+00 + 1.330474654669161e+00 + 1.327341544046787e+00 + 1.324215791384803e+00 + 1.321097378844990e+00 + 1.317986290481943e+00 + 1.314882509034005e+00 + 1.311786015892630e+00 + 1.308696795174431e+00 + 1.305614830505543e+00 + 1.302540104058677e+00 + 1.299472598550161e+00 + 1.296412297281467e+00 + 1.293359183920592e+00 + 1.290313241355424e+00 + 1.287274452437336e+00 + 1.284242800425524e+00 + 1.281218268758570e+00 + 1.278200840971845e+00 + 1.275190500607243e+00 + 1.272187230813499e+00 + 1.269191014801793e+00 + 1.266201836184906e+00 + 1.263219678244913e+00 + 1.260244524601725e+00 + 1.257276359774731e+00 + 1.254315166659556e+00 + 1.251360928048363e+00 + 1.248413628680403e+00 + 1.245473252809453e+00 + 1.242539783866816e+00 + 1.239613204552696e+00 + 1.236693499248504e+00 + 1.233780652886690e+00 + 1.230874648458874e+00 + 1.227975469917747e+00 + 1.225083101914005e+00 + 1.222197528080320e+00 + 1.219318732110022e+00 + 1.216446698153004e+00 + 1.213581411119631e+00 + 1.210722855169846e+00 + 1.207871013783067e+00 + 1.205025871252235e+00 + 1.202187412198626e+00 + 1.199355621285526e+00 + 1.196530482820713e+00 + 1.193711981112556e+00 + 1.190900100540550e+00 + 1.188094825240966e+00 + 1.185296139829988e+00 + 1.182504029475636e+00 + 1.179718478336080e+00 + 1.176939470878376e+00 + 1.174166992368249e+00 + 1.171401026812090e+00 + 1.168641558834780e+00 + 1.165888574598542e+00 + 1.163142057955574e+00 + 1.160401992993886e+00 + 1.157668365957760e+00 + 1.154941161055026e+00 + 1.152220362585152e+00 + 1.149505957086653e+00 + 1.146797929075238e+00 + 1.144096262593592e+00 + 1.141400943461258e+00 + 1.138711957183691e+00 + 1.136029288721929e+00 + 1.133352922646698e+00 + 1.130682844729473e+00 + 1.128019040871752e+00 + 1.125361495026299e+00 + 1.122710192813904e+00 + 1.120065120718956e+00 + 1.117426263156838e+00 + 1.114793605478939e+00 + 1.112167133798269e+00 + 1.109546832911627e+00 + 1.106932688501257e+00 + 1.104324686965964e+00 + 1.101722813149718e+00 + 1.099127052563592e+00 + 1.096537391606932e+00 + 1.093953815681381e+00 + 1.091376310184498e+00 + 1.088804860939953e+00 + 1.086239454210304e+00 + 1.083680075729654e+00 + 1.081126710640132e+00 + 1.078579345517792e+00 + 1.076037966489376e+00 + 1.073502558540405e+00 + 1.070973108232868e+00 + 1.068449602380304e+00 + 1.065932027008114e+00 + 1.063420367175204e+00 + 1.060914608734753e+00 + 1.058414739347230e+00 + 1.055920744292059e+00 + 1.053432609053344e+00 + 1.050950321750202e+00 + 1.048473868029229e+00 + 1.046003233045439e+00 + 1.043538404185668e+00 + 1.041079368203120e+00 + 1.038626111099421e+00 + 1.036178618557632e+00 + 1.033736877638818e+00 + 1.031300875738098e+00 + 1.028870598541307e+00 + 1.026446032279889e+00 + 1.024027163804816e+00 + 1.021613979927458e+00 + 1.019206467749757e+00 + 1.016804614201984e+00 + 1.014408404816817e+00 + 1.012017826403038e+00 + 1.009632866898133e+00 + 1.007253512894913e+00 + 1.004879750675442e+00 + 1.002511566831996e+00 + 1.000148949144661e+00 + 9.977918847145494e-01 + 9.954403597206510e-01 + 9.930943614528360e-01 + 9.907538771638876e-01 + 9.884188936740620e-01 + 9.860893982148410e-01 + 9.837653780132122e-01 + 9.814468200970017e-01 + 9.791337116433633e-01 + 9.768260399168340e-01 + 9.745237922184445e-01 + 9.722269558574113e-01 + 9.699355181124353e-01 + 9.676494662336389e-01 + 9.653687876978898e-01 + 9.630934699744002e-01 + 9.608235003289306e-01 + 9.585588662885656e-01 + 9.562995554410040e-01 + 9.540455551859868e-01 + 9.517968530931009e-01 + 9.495534368089285e-01 + 9.473152938858177e-01 + 9.450824119343849e-01 + 9.428547786515334e-01 + 9.406323818265262e-01 + 9.384152091378831e-01 + 9.362032482272097e-01 + 9.339964869112888e-01 + 9.317949130473703e-01 + 9.295985145023118e-01 + 9.274072791539573e-01 + 9.252211948367504e-01 + 9.230402494034374e-01 + 9.208644309329761e-01 + 9.186937274260252e-01 + 9.165281267878318e-01 + 9.143676170947915e-01 + 9.122121864230248e-01 + 9.100618228160294e-01 + 9.079165144228375e-01 + 9.057762494101416e-01 + 9.036410159434681e-01 + 9.015108022852656e-01 + 8.993855966397851e-01 + 8.972653871281971e-01 + 8.951501621417270e-01 + 8.930399100640233e-01 + 8.909346191274636e-01 + 8.888342777366450e-01 + 8.867388743114113e-01 + 8.846483971822027e-01 + 8.825628348501290e-01 + 8.804821758633001e-01 + 8.784064086961259e-01 + 8.763355218399448e-01 + 8.742695038377348e-01 + 8.722083433110044e-01 + 8.701520288632569e-01 + 8.681005490981059e-01 + 8.660538926659707e-01 + 8.640120483003465e-01 + 8.619750047630993e-01 + 8.599427507590320e-01 + 8.579152750196485e-01 + 8.558925663402844e-01 + 8.538746136199826e-01 + 8.518614056598554e-01 + 8.498529312415619e-01 + 8.478491793952468e-01 + 8.458501390477595e-01 + 8.438557990450950e-01 + 8.418661484572341e-01 + 8.398811762963594e-01 + 8.379008715007146e-01 + 8.359252231704962e-01 + 8.339542204095658e-01 + 8.319878522912720e-01 + 8.300261079597043e-01 + 8.280689765769632e-01 + 8.261164473121154e-01 + 8.241685093974929e-01 + 8.222251520716921e-01 + 8.202863645582569e-01 + 8.183521361157176e-01 + 8.164224560764958e-01 + 8.144973138478017e-01 + 8.125766987264839e-01 + 8.106606000443977e-01 + 8.087490072689457e-01 + 8.068419098143643e-01 + 8.049392971238847e-01 + 8.030411587461223e-01 + 8.011474841608780e-01 + 7.992582628576694e-01 + 7.973734844327619e-01 + 7.954931384582111e-01 + 7.936172145055983e-01 + 7.917457022017643e-01 + 7.898785912282000e-01 + 7.880158712799969e-01 + 7.861575320154112e-01 + 7.843035631939634e-01 + 7.824539546080472e-01 + 7.806086959262468e-01 + 7.787677769423338e-01 + 7.769311875560446e-01 + 7.750989176225404e-01 + 7.732709569908990e-01 + 7.714472955211897e-01 + 7.696279231052234e-01 + 7.678128297211314e-01 + 7.660020053954494e-01 + 7.641954400346342e-01 + 7.623931236302374e-01 + 7.605950462809293e-01 + 7.588011979868697e-01 + 7.570115688113509e-01 + 7.552261489288551e-01 + 7.534449284973839e-01 + 7.516678976340316e-01 + 7.498950464317325e-01 + 7.481263651057625e-01 + 7.463618439154999e-01 + 7.446014731170009e-01 + 7.428452429690515e-01 + 7.410931437272748e-01 + 7.393451656574506e-01 + 7.376012991597445e-01 + 7.358615346418724e-01 + 7.341258624174279e-01 + 7.323942728636854e-01 + 7.306667564033948e-01 + 7.289433034811010e-01 + 7.272239046205010e-01 + 7.255085503342084e-01 + 7.237972310231134e-01 + 7.220899372662432e-01 + 7.203866596915919e-01 + 7.186873887451811e-01 + 7.169921150530395e-01 + 7.153008293485266e-01 + 7.136135222426403e-01 + 7.119301843519804e-01 + 7.102508063464710e-01 + 7.085753789925818e-01 + 7.069038930034782e-01 + 7.052363390742027e-01 + 7.035727080638011e-01 + 7.019129907750439e-01 + 7.002571779481277e-01 + 6.986052604437083e-01 + 6.969572291357313e-01 + 6.953130748988353e-01 + 6.936727887020229e-01 + 6.920363614522840e-01 + 6.904037839913317e-01 + 6.887750473773369e-01 + 6.871501426160253e-01 + 6.855290605871678e-01 + 6.839117924040222e-01 + 6.822983292013320e-01 + 6.806886620123715e-01 + 6.790827818618205e-01 + 6.774806798407976e-01 + 6.758823471448717e-01 + 6.742877749381793e-01 + 6.726969543916550e-01 + 6.711098767181217e-01 + 6.695265330883416e-01 + 6.679469147191758e-01 + 6.663710129607012e-01 + 6.647988190816884e-01 + 6.632303243195694e-01 + 6.616655199754741e-01 + 6.601043974442724e-01 + 6.585469481315596e-01 + 6.569931633409668e-01 + 6.554430344698831e-01 + 6.538965529680326e-01 + 6.523537102216029e-01 + 6.508144977390269e-01 + 6.492789070902356e-01 + 6.477469297088367e-01 + 6.462185570471877e-01 + 6.446937806333431e-01 + 6.431725921186934e-01 + 6.416549831028872e-01 + 6.401409451291091e-01 + 6.386304698205402e-01 + 6.371235488250266e-01 + 6.356201737964903e-01 + 6.341203364004929e-01 + 6.326240283504814e-01 + 6.311312414023209e-01 + 6.296419672600960e-01 + 6.281561976359686e-01 + 6.266739242956670e-01 + 6.251951391194286e-01 + 6.237198339322255e-01 + 6.222480004492102e-01 + 6.207796305731890e-01 + 6.193147162378443e-01 + 6.178532493027741e-01 + 6.163952216645050e-01 + 6.149406252489860e-01 + 6.134894519984210e-01 + 6.120416938491114e-01 + 6.105973427932988e-01 + 6.091563909278429e-01 + 6.077188302116784e-01 + 6.062846526061169e-01 + 6.048538502614210e-01 + 6.034264152733694e-01 + 6.020023397068369e-01 + 6.005816156757759e-01 + 5.991642353027361e-01 + 5.977501907311656e-01 + 5.963394741611191e-01 + 5.949320777981851e-01 + 5.935279938331314e-01 + 5.921272144271874e-01 + 5.907297318514260e-01 + 5.893355384452119e-01 + 5.879446264415406e-01 + 5.865569881004723e-01 + 5.851726157460215e-01 + 5.837915017610071e-01 + 5.824136384878618e-01 + 5.810390182425506e-01 + 5.796676334763571e-01 + 5.782994765837256e-01 + 5.769345398883866e-01 + 5.755728159164172e-01 + 5.742142971757567e-01 + 5.728589760824728e-01 + 5.715068451452269e-01 + 5.701578968814059e-01 + 5.688121237820786e-01 + 5.674695184134964e-01 + 5.661300733449661e-01 + 5.647937811172017e-01 + 5.634606343850478e-01 + 5.621306258016221e-01 + 5.608037479323033e-01 + 5.594799934047830e-01 + 5.581593548937616e-01 + 5.568418251014721e-01 + 5.555273967809645e-01 + 5.542160626584934e-01 + 5.529078153599613e-01 + 5.516026476869607e-01 + 5.503005524879265e-01 + 5.490015224489507e-01 + 5.477055503706971e-01 + 5.464126291394721e-01 + 5.451227516109934e-01 + 5.438359105997491e-01 + 5.425520989229732e-01 + 5.412713094911021e-01 + 5.399935352390902e-01 + 5.387187691034094e-01 + 5.374470040087604e-01 + 5.361782329113639e-01 + 5.349124487848638e-01 + 5.336496445514358e-01 + 5.323898132502169e-01 + 5.311329480044003e-01 + 5.298790417206248e-01 + 5.286280874266170e-01 + 5.273800783238198e-01 + 5.261350074387794e-01 + 5.248928678300107e-01 + 5.236536526638225e-01 + 5.224173550711992e-01 + 5.211839681868924e-01 + 5.199534851768893e-01 + 5.187258992380968e-01 + 5.175012035574781e-01 + 5.162793913049719e-01 + 5.150604557657682e-01 + 5.138443902158373e-01 + 5.126311878387027e-01 + 5.114208419243966e-01 + 5.102133457996210e-01 + 5.090086927559088e-01 + 5.078068761246483e-01 + 5.066078892445277e-01 + 5.054117254264059e-01 + 5.042183780707232e-01 + 5.030278406156905e-01 + 5.018401064512819e-01 + 5.006551689399448e-01 + 4.994730214827681e-01 + 4.982936576173500e-01 + 4.971170708196209e-01 + 4.959432545161117e-01 + 4.947722021784954e-01 + 4.936039073158257e-01 + 4.924383634713059e-01 + 4.912755642215030e-01 + 4.901155031029966e-01 + 4.889581736357913e-01 + 4.878035694426762e-01 + 4.866516841617155e-01 + 4.855025114095978e-01 + 4.843560447562852e-01 + 4.832122778219742e-01 + 4.820712043014287e-01 + 4.809328179063641e-01 + 4.797971123302187e-01 + 4.786640812406847e-01 + 4.775337183184862e-01 + 4.764060173050261e-01 + 4.752809720122764e-01 + 4.741585762111217e-01 + 4.730388236459319e-01 + 4.719217080626099e-01 + 4.708072233097221e-01 + 4.696953632391141e-01 + 4.685861216425942e-01 + 4.674794923970907e-01 + 4.663754693817960e-01 + 4.652740464091041e-01 + 4.641752174102053e-01 + 4.630789763262008e-01 + 4.619853169869301e-01 + 4.608942333544824e-01 + 4.598057194461572e-01 + 4.587197692038988e-01 + 4.576363766028796e-01 + 4.565555356433393e-01 + 4.554772403132010e-01 + 4.544014845983438e-01 + 4.533282625263808e-01 + 4.522575682421708e-01 + 4.511893957834002e-01 + 4.501237391381080e-01 + 4.490605924783677e-01 + 4.479999499003729e-01 + 4.469418054464263e-01 + 4.458861533467765e-01 + 4.448329877503518e-01 + 4.437823027182840e-01 + 4.427340924804984e-01 + 4.416883512661691e-01 + 4.406450732493647e-01 + 4.396042525949710e-01 + 4.385658835318161e-01 + 4.375299603591805e-01 + 4.364964773180230e-01 + 4.354654286529535e-01 + 4.344368086449737e-01 + 4.334106115882546e-01 + 4.323868317973252e-01 + 4.313654636098987e-01 + 4.303465013528135e-01 + 4.293299393608014e-01 + 4.283157719943348e-01 + 4.273039936389254e-01 + 4.262945986862648e-01 + 4.252875815207442e-01 + 4.242829365388910e-01 + 4.232806581737543e-01 + 4.222807409163533e-01 + 4.212831792180283e-01 + 4.202879675160039e-01 + 4.192951002821390e-01 + 4.183045720190468e-01 + 4.173163772308877e-01 + 4.163305103895081e-01 + 4.153469660738844e-01 + 4.143657388899517e-01 + 4.133868232899575e-01 + 4.124102138463511e-01 + 4.114359052122226e-01 + 4.104638919136763e-01 + 4.094941685453110e-01 + 4.085267297797091e-01 + 4.075615702608746e-01 + 4.065986846247451e-01 + 4.056380675149961e-01 + 4.046797136100241e-01 + 4.037236175791848e-01 + 4.027697740867438e-01 + 4.018181778668817e-01 + 4.008688236537185e-01 + 3.999217061664900e-01 + 3.989768201804763e-01 + 3.980341604347806e-01 + 3.970937216243767e-01 + 3.961554986257766e-01 + 3.952194862561716e-01 + 3.942856791749246e-01 + 3.933540722797152e-01 + 3.924246604937682e-01 + 3.914974386057962e-01 + 3.905724013991230e-01 + 3.896495437210211e-01 + 3.887288605266558e-01 + 3.878103467384126e-01 + 3.868939972364765e-01 + 3.859798068708922e-01 + 3.850677705778728e-01 + 3.841578833358520e-01 + 3.832501400994028e-01 + 3.823445358203205e-01 + 3.814410654593080e-01 + 3.805397240004402e-01 + 3.796405064500310e-01 + 3.787434078281850e-01 + 3.778484231550217e-01 + 3.769555474293507e-01 + 3.760647756653435e-01 + 3.751761029803938e-01 + 3.742895244689736e-01 + 3.734050351897463e-01 + 3.725226302131253e-01 + 3.716423046174657e-01 + 3.707640535037849e-01 + 3.698878720450124e-01 + 3.690137553825144e-01 + 3.681416986254492e-01 + 3.672716969834960e-01 + 3.664037456169829e-01 + 3.655378396196581e-01 + 3.646739742353085e-01 + 3.638121447254376e-01 + 3.629523462980791e-01 + 3.620945741078652e-01 + 3.612388233782960e-01 + 3.603850894480597e-01 + 3.595333675652969e-01 + 3.586836529581271e-01 + 3.578359408972814e-01 + 3.569902267099870e-01 + 3.561465057284826e-01 + 3.553047732480240e-01 + 3.544650245489661e-01 + 3.536272549462773e-01 + 3.527914598373741e-01 + 3.519576346281267e-01 + 3.511257746893044e-01 + 3.502958753213151e-01 + 3.494679319027064e-01 + 3.486419398734283e-01 + 3.478178946841421e-01 + 3.469957917542031e-01 + 3.461756264906874e-01 + 3.453573943334770e-01 + 3.445410907466465e-01 + 3.437267112053919e-01 + 3.429142511753236e-01 + 3.421037061357636e-01 + 3.412950715914754e-01 + 3.404883430871680e-01 + 3.396835161220511e-01 + 3.388805861778083e-01 + 3.380795488742585e-01 + 3.372803997559251e-01 + 3.364831342820857e-01 + 3.356877480644493e-01 + 3.348942367473924e-01 + 3.341025959445759e-01 + 3.333128211902062e-01 + 3.325249080644813e-01 + 3.317388522349806e-01 + 3.309546493345364e-01 + 3.301722950123494e-01 + 3.293917849546400e-01 + 3.286131147929292e-01 + 3.278362801760134e-01 + 3.270612768173198e-01 + 3.262881004205997e-01 + 3.255167466776044e-01 + 3.247472112772871e-01 + 3.239794899591130e-01 + 3.232135784952971e-01 + 3.224494726613195e-01 + 3.216871681318617e-01 + 3.209266606147330e-01 + 3.201679460077643e-01 + 3.194110200806869e-01 + 3.186558785671545e-01 + 3.179025173467112e-01 + 3.171509322207308e-01 + 3.164011189537259e-01 + 3.156530734030461e-01 + 3.149067914068442e-01 + 3.141622688005587e-01 + 3.134195014964591e-01 + 3.126784853846941e-01 + 3.119392163234083e-01 + 3.112016901727622e-01 + 3.104659028247113e-01 + 3.097318502149898e-01 + 3.089995283319454e-01 + 3.082689330721005e-01 + 3.075400602663161e-01 + 3.068129059444455e-01 + 3.060874661234649e-01 + 3.053637367362504e-01 + 3.046417137079979e-01 + 3.039213930418579e-01 + 3.032027708160949e-01 + 3.024858429572295e-01 + 3.017706054435225e-01 + 3.010570543910775e-01 + 3.003451858060657e-01 + 2.996349956970866e-01 + 2.989264801519126e-01 + 2.982196352437723e-01 + 2.975144570351090e-01 + 2.968109415899733e-01 + 2.961090850010212e-01 + 2.954088833712375e-01 + 2.947103327960572e-01 + 2.940134293733013e-01 + 2.933181692489545e-01 + 2.926245486550200e-01 + 2.919325636534309e-01 + 2.912422103009782e-01 + 2.905534849067459e-01 + 2.898663836341845e-01 + 2.891809025716850e-01 + 2.884970379499296e-01 + 2.878147859946116e-01 + 2.871341429080666e-01 + 2.864551048929091e-01 + 2.857776681836698e-01 + 2.851018290276999e-01 + 2.844275836247271e-01 + 2.837549281975342e-01 + 2.830838590248334e-01 + 2.824143724756855e-01 + 2.817464648036653e-01 + 2.810801321714598e-01 + 2.804153709678348e-01 + 2.797521775256636e-01 + 2.790905480675208e-01 + 2.784304789557904e-01 + 2.777719665515425e-01 + 2.771150071618110e-01 + 2.764595971293084e-01 + 2.758057328280932e-01 + 2.751534106502780e-01 + 2.745026269461392e-01 + 2.738533780697315e-01 + 2.732056604090851e-01 + 2.725594703611444e-01 + 2.719148043516682e-01 + 2.712716588414341e-01 + 2.706300302048149e-01 + 2.699899148252890e-01 + 2.693513091897057e-01 + 2.687142097803046e-01 + 2.680786130525787e-01 + 2.674445154290628e-01 + 2.668119133864937e-01 + 2.661808034370396e-01 + 2.655511820876730e-01 + 2.649230457933240e-01 + 2.642963910212357e-01 + 2.636712143601993e-01 + 2.630475123173707e-01 + 2.624252813696634e-01 + 2.618045181320832e-01 + 2.611852191534089e-01 + 2.605673809346502e-01 + 2.599510000768786e-01 + 2.593360731482656e-01 + 2.587225966857610e-01 + 2.581105673020023e-01 + 2.574999816218594e-01 + 2.568908362541323e-01 + 2.562831277681717e-01 + 2.556768527608984e-01 + 2.550720078808991e-01 + 2.544685898158210e-01 + 2.538665952029344e-01 + 2.532660206235198e-01 + 2.526668627769018e-01 + 2.520691183671673e-01 + 2.514727840477828e-01 + 2.508778564832650e-01 + 2.502843323450471e-01 + 2.496922083184503e-01 + 2.491014811741685e-01 + 2.485121476502302e-01 + 2.479242043768022e-01 + 2.473376480750936e-01 + 2.467524755330193e-01 + 2.461686835577825e-01 + 2.455862688342147e-01 + 2.450052280577099e-01 + 2.444255580815592e-01 + 2.438472556710649e-01 + 2.432703175621061e-01 + 2.426947405763887e-01 + 2.421205215374063e-01 + 2.415476572469543e-01 + 2.409761444715131e-01 + 2.404059800179439e-01 + 2.398371607406130e-01 + 2.392696835287547e-01 + 2.387035451998669e-01 + 2.381387425460481e-01 + 2.375752724876774e-01 + 2.370131319015487e-01 + 2.364523176042576e-01 + 2.358928264341899e-01 + 2.353346553264918e-01 + 2.347778012643444e-01 + 2.342222610470114e-01 + 2.336680315481888e-01 + 2.331151097630285e-01 + 2.325634926002070e-01 + 2.320131769932555e-01 + 2.314641599195968e-01 + 2.309164382391606e-01 + 2.303700088852327e-01 + 2.298248689205450e-01 + 2.292810152383314e-01 + 2.287384447851956e-01 + 2.281971546639490e-01 + 2.276571417710518e-01 + 2.271184030444375e-01 + 2.265809356255705e-01 + 2.260447364485637e-01 + 2.255098024678978e-01 + 2.249761308577043e-01 + 2.244437185775247e-01 + 2.239125625576918e-01 + 2.233826599324974e-01 + 2.228540078061592e-01 + 2.223266032159731e-01 + 2.218004431318401e-01 + 2.212755246546400e-01 + 2.207518449320089e-01 + 2.202294009962271e-01 + 2.197081899542086e-01 + 2.191882089472320e-01 + 2.186694550184439e-01 + 2.181519252528444e-01 + 2.176356167922184e-01 + 2.171205268020538e-01 + 2.166066524055817e-01 + 2.160939907132310e-01 + 2.155825389406823e-01 + 2.150722942170351e-01 + 2.145632535999474e-01 + 2.140554143128364e-01 + 2.135487735713488e-01 + 2.130433285376680e-01 + 2.125390763961598e-01 + 2.120360143225986e-01 + 2.115341394866721e-01 + 2.110334491301104e-01 + 2.105339404911263e-01 + 2.100356107692428e-01 + 2.095384571593845e-01 + 2.090424768875718e-01 + 2.085476672286868e-01 + 2.080540254649787e-01 + 2.075615488420417e-01 + 2.070702345483775e-01 + 2.065800798220710e-01 + 2.060910819584345e-01 + 2.056032383022174e-01 + 2.051165461242101e-01 + 2.046310026800104e-01 + 2.041466052775261e-01 + 2.036633511978056e-01 + 2.031812377402102e-01 + 2.027002622847228e-01 + 2.022204221329609e-01 + 2.017417145657832e-01 + 2.012641369577989e-01 + 2.007876866366623e-01 + 2.003123609141739e-01 + 1.998381571847571e-01 + 1.993650728223044e-01 + 1.988931051658790e-01 + 1.984222515391579e-01 + 1.979525093566432e-01 + 1.974838760798574e-01 + 1.970163490394448e-01 + 1.965499255924087e-01 + 1.960846031634822e-01 + 1.956203792216227e-01 + 1.951572511456189e-01 + 1.946952162469976e-01 + 1.942342720345011e-01 + 1.937744160087473e-01 + 1.933156455855021e-01 + 1.928579581617409e-01 + 1.924013511601302e-01 + 1.919458220512063e-01 + 1.914913683490730e-01 + 1.910379875218400e-01 + 1.905856769690048e-01 + 1.901344342343178e-01 + 1.896842568245793e-01 + 1.892351421122624e-01 + 1.887870876905098e-01 + 1.883400911382459e-01 + 1.878941498265747e-01 + 1.874492612709913e-01 + 1.870054230608876e-01 + 1.865626327533365e-01 + 1.861208878413260e-01 + 1.856801858136446e-01 + 1.852405242290795e-01 + 1.848019006561455e-01 + 1.843643126785636e-01 + 1.839277579090688e-01 + 1.834922338318696e-01 + 1.830577379260484e-01 + 1.826242679175190e-01 + 1.821918214082343e-01 + 1.817603959062191e-01 + 1.813299890419420e-01 + 1.809005984096844e-01 + 1.804722215715290e-01 + 1.800448561676805e-01 + 1.796184998471616e-01 + 1.791931502428031e-01 + 1.787688049585256e-01 + 1.783454616010165e-01 + 1.779231178061076e-01 + 1.775017712916434e-01 + 1.770814197185338e-01 + 1.766620606643876e-01 + 1.762436917707559e-01 + 1.758263107475443e-01 + 1.754099153420786e-01 + 1.749945031691721e-01 + 1.745800718793870e-01 + 1.741666192327871e-01 + 1.737541428912765e-01 + 1.733426405128906e-01 + 1.729321098263452e-01 + 1.725225486037993e-01 + 1.721139545737653e-01 + 1.717063253659770e-01 + 1.712996586978482e-01 + 1.708939523524782e-01 + 1.704892041326627e-01 + 1.700854117308264e-01 + 1.696825728315613e-01 + 1.692806852413719e-01 + 1.688797467224855e-01 + 1.684797550119726e-01 + 1.680807078836749e-01 + 1.676826031516292e-01 + 1.672854386236076e-01 + 1.668892120257625e-01 + 1.664939211364053e-01 + 1.660995637803862e-01 + 1.657061377653481e-01 + 1.653136408872399e-01 + 1.649220709518862e-01 + 1.645314258210089e-01 + 1.641417032838678e-01 + 1.637529010922642e-01 + 1.633650171697226e-01 + 1.629780493848234e-01 + 1.625919955117979e-01 + 1.622068533722165e-01 + 1.618226208359533e-01 + 1.614392958070308e-01 + 1.610568761629498e-01 + 1.606753597398519e-01 + 1.602947443525945e-01 + 1.599150279328092e-01 + 1.595362083976419e-01 + 1.591582835876941e-01 + 1.587812513806259e-01 + 1.584051096895935e-01 + 1.580298564486488e-01 + 1.576554895336735e-01 + 1.572820068494865e-01 + 1.569094063844064e-01 + 1.565376859935812e-01 + 1.561668435389086e-01 + 1.557968770322644e-01 + 1.554277844430587e-01 + 1.550595637013555e-01 + 1.546922127252644e-01 + 1.543257294352004e-01 + 1.539601117962810e-01 + 1.535953578647676e-01 + 1.532314655336160e-01 + 1.528684326732572e-01 + 1.525062574192351e-01 + 1.521449377506904e-01 + 1.517844715391133e-01 + 1.514248568043021e-01 + 1.510660915767141e-01 + 1.507081738546517e-01 + 1.503511015850067e-01 + 1.499948728018673e-01 + 1.496394855976185e-01 + 1.492849379312514e-01 + 1.489312277844460e-01 + 1.485783532079666e-01 + 1.482263122946834e-01 + 1.478751030581660e-01 + 1.475247234388987e-01 + 1.471751715323068e-01 + 1.468264454469171e-01 + 1.464785432366154e-01 + 1.461314629165984e-01 + 1.457852025452889e-01 + 1.454397602433564e-01 + 1.450951340257908e-01 + 1.447513219420110e-01 + 1.444083221508569e-01 + 1.440661327109938e-01 + 1.437247516822454e-01 + 1.433841772072484e-01 + 1.430444073901374e-01 + 1.427054403077353e-01 + 1.423672740371242e-01 + 1.420299067307786e-01 + 1.416933365389871e-01 + 1.413575615237460e-01 + 1.410225798197031e-01 + 1.406883895901710e-01 + 1.403549889435149e-01 + 1.400223760032770e-01 + 1.396905489310608e-01 + 1.393595059398338e-01 + 1.390292451224472e-01 + 1.386997645496112e-01 + 1.383710625136722e-01 + 1.380431371824567e-01 + 1.377159866326167e-01 + 1.373896091055998e-01 + 1.370640027752214e-01 + 1.367391657592925e-01 + 1.364150963290927e-01 + 1.360917926783734e-01 + 1.357692529162330e-01 + 1.354474752994454e-01 + 1.351264580487222e-01 + 1.348061993122180e-01 + 1.344866973181728e-01 + 1.341679503229942e-01 + 1.338499565682958e-01 + 1.335327142013654e-01 + 1.332162214320106e-01 + 1.329004765902875e-01 + 1.325854779258548e-01 + 1.322712236439755e-01 + 1.319577119415115e-01 + 1.316449410589970e-01 + 1.313329092858229e-01 + 1.310216149439378e-01 + 1.307110562100912e-01 + 1.304012313067827e-01 + 1.300921386594473e-01 + 1.297837764741680e-01 + 1.294761429396481e-01 + 1.291692364743583e-01 + 1.288630553353233e-01 + 1.285575977268189e-01 + 1.282528620001082e-01 + 1.279488464604472e-01 + 1.276455493846629e-01 + 1.273429690961771e-01 + 1.270411039265308e-01 + 1.267399521912149e-01 + 1.264395121606617e-01 + 1.261397821624623e-01 + 1.258407605612416e-01 + 1.255424456647032e-01 + 1.252448358003494e-01 + 1.249479293256652e-01 + 1.246517245985584e-01 + 1.243562199440227e-01 + 1.240614136699035e-01 + 1.237673041530004e-01 + 1.234738897833225e-01 + 1.231811689369122e-01 + 1.228891399541342e-01 + 1.225978011897444e-01 + 1.223071510285007e-01 + 1.220171878485729e-01 + 1.217279100221359e-01 + 1.214393159216827e-01 + 1.211514039479249e-01 + 1.208641725134118e-01 + 1.205776200272462e-01 + 1.202917448643591e-01 + 1.200065453999493e-01 + 1.197220200388544e-01 + 1.194381672203820e-01 + 1.191549853738593e-01 + 1.188724728867774e-01 + 1.185906281982059e-01 + 1.183094497403516e-01 + 1.180289358802264e-01 + 1.177490851172322e-01 + 1.174698959467804e-01 + 1.171913666738082e-01 + 1.169134957966049e-01 + 1.166362818664215e-01 + 1.163597231976005e-01 + 1.160838182295854e-01 + 1.158085654926154e-01 + 1.155339634301463e-01 + 1.152600105152270e-01 + 1.149867052503320e-01 + 1.147140461081585e-01 + 1.144420315115333e-01 + 1.141706598827868e-01 + 1.138999297876022e-01 + 1.136298397724347e-01 + 1.133603883121320e-01 + 1.130915738073908e-01 + 1.128233947404400e-01 + 1.125558496925181e-01 + 1.122889371862514e-01 + 1.120226557224089e-01 + 1.117570037925019e-01 + 1.114919798574519e-01 + 1.112275824488763e-01 + 1.109638101830490e-01 + 1.107006615250319e-01 + 1.104381349837027e-01 + 1.101762291935612e-01 + 1.099149425817940e-01 + 1.096542736337556e-01 + 1.093942210611990e-01 + 1.091347833750166e-01 + 1.088759590309823e-01 + 1.086177465849946e-01 + 1.083601446468375e-01 + 1.081031518187680e-01 + 1.078467666394599e-01 + 1.075909876365943e-01 + 1.073358133695979e-01 + 1.070812424691808e-01 + 1.068272734935852e-01 + 1.065739049762412e-01 + 1.063211355273724e-01 + 1.060689637753818e-01 + 1.058173883167701e-01 + 1.055664076522099e-01 + 1.053160204177178e-01 + 1.050662253083730e-01 + 1.048170208178578e-01 + 1.045684055544151e-01 + 1.043203782231123e-01 + 1.040729373745031e-01 + 1.038260815947437e-01 + 1.035798095388146e-01 + 1.033341198496129e-01 + 1.030890111353506e-01 + 1.028444819874746e-01 + 1.026005310752415e-01 + 1.023571570589419e-01 + 1.021143585605686e-01 + 1.018721342063349e-01 + 1.016304826397723e-01 + 1.013894025261397e-01 + 1.011488925387934e-01 + 1.009089513225976e-01 + 1.006695774897203e-01 + 1.004307697412456e-01 + 1.001925267601519e-01 + 9.995484714928184e-02 + 9.971772961029543e-02 + 9.948117285600222e-02 + 9.924517553207431e-02 + 9.900973631553432e-02 + 9.877485389836264e-02 + 9.854052696321766e-02 + 9.830675420513860e-02 + 9.807353432053509e-02 + 9.784086599274402e-02 + 9.760874792461041e-02 + 9.737717882679013e-02 + 9.714615739564664e-02 + 9.691568233864475e-02 + 9.668575237168565e-02 + 9.645636620785530e-02 + 9.622752256709627e-02 + 9.599922017186617e-02 + 9.577145773476621e-02 + 9.554423398421420e-02 + 9.531754766036228e-02 + 9.509139748951084e-02 + 9.486578220406576e-02 + 9.464070054491446e-02 + 9.441615125061270e-02 + 9.419213306609350e-02 + 9.396864474309072e-02 + 9.374568502973517e-02 + 9.352325267700241e-02 + 9.330134644110695e-02 + 9.307996508088016e-02 + 9.285910736057421e-02 + 9.263877204899980e-02 + 9.241895790580944e-02 + 9.219966369924239e-02 + 9.198088821288498e-02 + 9.176263021506216e-02 + 9.154488848131032e-02 + 9.132766180778470e-02 + 9.111094897456264e-02 + 9.089474876186458e-02 + 9.067905996494766e-02 + 9.046388137755315e-02 + 9.024921179550818e-02 + 9.003505002157913e-02 + 8.982139485394958e-02 + 8.960824509461397e-02 + 8.939559956013639e-02 + 8.918345705664489e-02 + 8.897181638949078e-02 + 8.876067638185769e-02 + 8.855003585659860e-02 + 8.833989363307079e-02 + 8.813024852794749e-02 + 8.792109937217552e-02 + 8.771244500411417e-02 + 8.750428424959714e-02 + 8.729661594151820e-02 + 8.708943892038122e-02 + 8.688275202450782e-02 + 8.667655409894154e-02 + 8.647084399500883e-02 + 8.626562056133152e-02 + 8.606088264727801e-02 + 8.585662910508592e-02 + 8.565285879275303e-02 + 8.544957056834111e-02 + 8.524676329099723e-02 + 8.504443583456130e-02 + 8.484258706983651e-02 + 8.464121585953427e-02 + 8.444032107793580e-02 + 8.423990160173883e-02 + 8.403995630660985e-02 + 8.384048408000297e-02 + 8.364148380739438e-02 + 8.344295436518863e-02 + 8.324489464319758e-02 + 8.304730353631981e-02 + 8.285017993778075e-02 + 8.265352274723796e-02 + 8.245733086610936e-02 + 8.226160319325253e-02 + 8.206633863307464e-02 + 8.187153609323948e-02 + 8.167719448173898e-02 + 8.148331271120264e-02 + 8.128988969775824e-02 + 8.109692435907066e-02 + 8.090441561287741e-02 + 8.071236238052074e-02 + 8.052076359329230e-02 + 8.032961817777003e-02 + 8.013892505875637e-02 + 7.994868317110082e-02 + 7.975889145271257e-02 + 7.956954884117817e-02 + 7.938065427030368e-02 + 7.919220668490153e-02 + 7.900420503735811e-02 + 7.881664826626886e-02 + 7.862953532075569e-02 + 7.844286516277023e-02 + 7.825663674598571e-02 + 7.807084902471831e-02 + 7.788550095723919e-02 + 7.770059150356423e-02 + 7.751611963202924e-02 + 7.733208431808952e-02 + 7.714848452080215e-02 + 7.696531920714285e-02 + 7.678258736267791e-02 + 7.660028796508990e-02 + 7.641841999039113e-02 + 7.623698241865759e-02 + 7.605597423593993e-02 + 7.587539442823407e-02 + 7.569524197859213e-02 + 7.551551588287067e-02 + 7.533621514035872e-02 + 7.515733874432233e-02 + 7.497888568830134e-02 + 7.480085497230264e-02 + 7.462324560850588e-02 + 7.444605660139321e-02 + 7.426928695221670e-02 + 7.409293566891996e-02 + 7.391700176673981e-02 + 7.374148426439617e-02 + 7.356638217848553e-02 + 7.339169452681224e-02 + 7.321742033027905e-02 + 7.304355861552074e-02 + 7.287010840815517e-02 + 7.269706873346385e-02 + 7.252443862192341e-02 + 7.235221710900047e-02 + 7.218040323296335e-02 + 7.200899602923243e-02 + 7.183799453782064e-02 + 7.166739780328910e-02 + 7.149720486628935e-02 + 7.132741477295296e-02 + 7.115802657678706e-02 + 7.098903933028558e-02 + 7.082045208266741e-02 + 7.065226388294948e-02 + 7.048447379884398e-02 + 7.031708089501212e-02 + 7.015008422428966e-02 + 6.998348285005500e-02 + 6.981727584178653e-02 + 6.965146227138255e-02 + 6.948604121024822e-02 + 6.932101172952453e-02 + 6.915637290177927e-02 + 6.899212381049466e-02 + 6.882826353831664e-02 + 6.866479115768206e-02 + 6.850170575553913e-02 + 6.833900642241270e-02 + 6.817669223943085e-02 + 6.801476230171261e-02 + 6.785321570853013e-02 + 6.769205154760372e-02 + 6.753126891476798e-02 + 6.737086691265436e-02 + 6.721084464422118e-02 + 6.705120121123045e-02 + 6.689193571639933e-02 + 6.673304726820108e-02 + 6.657453497707803e-02 + 6.641639795452120e-02 + 6.625863531334618e-02 + 6.610124617104705e-02 + 6.594422964866814e-02 + 6.578758486543299e-02 + 6.563131094165708e-02 + 6.547540700031643e-02 + 6.531987216906585e-02 + 6.516470557837332e-02 + 6.500990635997374e-02 + 6.485547364331327e-02 + 6.470140656204018e-02 + 6.454770425495959e-02 + 6.439436585565442e-02 + 6.424139050518185e-02 + 6.408877735587415e-02 + 6.393652554954243e-02 + 6.378463422860429e-02 + 6.363310254304622e-02 + 6.348192964216136e-02 + 6.333111467891862e-02 + 6.318065681259971e-02 + 6.303055519506789e-02 + 6.288080898167979e-02 + 6.273141734118348e-02 + 6.258237943694549e-02 + 6.243369443027962e-02 + 6.228536148636779e-02 + 6.213737977420020e-02 + 6.198974846629291e-02 + 6.184246673830131e-02 + 6.169553375986874e-02 + 6.154894870195880e-02 + 6.140271075002260e-02 + 6.125681908485271e-02 + 6.111127288458502e-02 + 6.096607133498923e-02 + 6.082121362330186e-02 + 6.067669893778977e-02 + 6.053252647002724e-02 + 6.038869541057570e-02 + 6.024520494995262e-02 + 6.010205428441878e-02 + 5.995924261312039e-02 + 5.981676913606451e-02 + 5.967463305068377e-02 + 5.953283356000520e-02 + 5.939136987405440e-02 + 5.925024120274393e-02 + 5.910944675075109e-02 + 5.896898572024133e-02 + 5.882885733338872e-02 + 5.868906080796419e-02 + 5.854959534943303e-02 + 5.841046018167366e-02 + 5.827165452667381e-02 + 5.813317759547484e-02 + 5.799502862000658e-02 + 5.785720683145133e-02 + 5.771971144629215e-02 + 5.758254169802959e-02 + 5.744569682168989e-02 + 5.730917604038396e-02 + 5.717297859181381e-02 + 5.703710371771920e-02 + 5.690155065150715e-02 + 5.676631863514842e-02 + 5.663140691176988e-02 + 5.649681471550019e-02 + 5.636254129818796e-02 + 5.622858591623749e-02 + 5.609494780637568e-02 + 5.596162621719655e-02 + 5.582862040612746e-02 + 5.569592962469259e-02 + 5.556355312969728e-02 + 5.543149018219354e-02 + 5.529974004038473e-02 + 5.516830196534387e-02 + 5.503717522021812e-02 + 5.490635906464716e-02 + 5.477585276550550e-02 + 5.464565559606692e-02 + 5.451576682310098e-02 + 5.438618571514530e-02 + 5.425691154653305e-02 + 5.412794360021059e-02 + 5.399928115030668e-02 + 5.387092346220070e-02 + 5.374286982722595e-02 + 5.361511953114147e-02 + 5.348767184376742e-02 + 5.336052605560348e-02 + 5.323368145967647e-02 + 5.310713734132736e-02 + 5.298089299097181e-02 + 5.285494769998652e-02 + 5.272930075794034e-02 + 5.260395145882699e-02 + 5.247889910164562e-02 + 5.235414299012888e-02 + 5.222968242359068e-02 + 5.210551670083303e-02 + 5.198164512479836e-02 + 5.185806699751586e-02 + 5.173478162567831e-02 + 5.161178832737659e-02 + 5.148908640731603e-02 + 5.136667516904735e-02 + 5.124455393713079e-02 + 5.112272202541198e-02 + 5.100117874145336e-02 + 5.087992340415878e-02 + 5.075895533879782e-02 + 5.063827387090040e-02 + 5.051787831631814e-02 + 5.039776799903027e-02 + 5.027794224956293e-02 + 5.015840039018700e-02 + 5.003914174911826e-02 + 4.992016566217095e-02 + 4.980147146451835e-02 + 4.968305848565534e-02 + 4.956492605368701e-02 + 4.944707351707827e-02 + 4.932950021762891e-02 + 4.921220548403189e-02 + 4.909518865563611e-02 + 4.897844908008390e-02 + 4.886198610990230e-02 + 4.874579909103274e-02 + 4.862988736593407e-02 + 4.851425027765261e-02 + 4.839888718215429e-02 + 4.828379743688660e-02 + 4.816898039344981e-02 + 4.805443540666063e-02 + 4.794016183433197e-02 + 4.782615903628512e-02 + 4.771242637003347e-02 + 4.759896319572905e-02 + 4.748576888074151e-02 + 4.737284278529100e-02 + 4.726018427180961e-02 + 4.714779271742187e-02 + 4.703566749191604e-02 + 4.692380796083007e-02 + 4.681221349433169e-02 + 4.670088346648602e-02 + 4.658981725459431e-02 + 4.647901423861556e-02 + 4.636847379587147e-02 + 4.625819530165282e-02 + 4.614817813294777e-02 + 4.603842167462240e-02 + 4.592892531626435e-02 + 4.581968844113481e-02 + 4.571071043517037e-02 + 4.560199068716930e-02 + 4.549352858172214e-02 + 4.538532351139604e-02 + 4.527737487551017e-02 + 4.516968206047602e-02 + 4.506224446147816e-02 + 4.495506148526871e-02 + 4.484813252205796e-02 + 4.474145696749865e-02 + 4.463503423038843e-02 + 4.452886371233129e-02 + 4.442294481444441e-02 + 4.431727694184067e-02 + 4.421185950249874e-02 + 4.410669190344264e-02 + 4.400177354999718e-02 + 4.389710385863231e-02 + 4.379268224561385e-02 + 4.368850811842072e-02 + 4.358458089102907e-02 + 4.348089998166713e-02 + 4.337746480946211e-02 + 4.327427479290449e-02 + 4.317132935104961e-02 + 4.306862790538591e-02 + 4.296616988021409e-02 + 4.286395470044128e-02 + 4.276198178905291e-02 + 4.266025057462805e-02 + 4.255876048879523e-02 + 4.245751096050290e-02 + 4.235650142249979e-02 + 4.225573130868781e-02 + 4.215520004666404e-02 + 4.205490707118502e-02 + 4.195485182346907e-02 + 4.185503374212908e-02 + 4.175545226547943e-02 + 4.165610683241490e-02 + 4.155699688308426e-02 + 4.145812186261490e-02 + 4.135948121993713e-02 + 4.126107439911159e-02 + 4.116290084444992e-02 + 4.106496000347922e-02 + 4.096725133001662e-02 + 4.086977427671171e-02 + 4.077252829257245e-02 + 4.067551282880393e-02 + 4.057872734137224e-02 + 4.048217129089726e-02 + 4.038584413229004e-02 + 4.028974532214836e-02 + 4.019387432351806e-02 + 4.009823059884492e-02 + 4.000281360871143e-02 + 3.990762281263916e-02 + 3.981265768084040e-02 + 3.971791768404272e-02 + 3.962340228400397e-02 + 3.952911094818634e-02 + 3.943504314911767e-02 + 3.934119836154264e-02 + 3.924757605343093e-02 + 3.915417569553582e-02 + 3.906099677494528e-02 + 3.896803876462888e-02 + 3.887530113159737e-02 + 3.878278335807980e-02 + 3.869048493136602e-02 + 3.859840533540703e-02 + 3.850654403935494e-02 + 3.841490053099362e-02 + 3.832347430867683e-02 + 3.823226484521238e-02 + 3.814127162485314e-02 + 3.805049414568009e-02 + 3.795993189727254e-02 + 3.786958436838804e-02 + 3.777945104950908e-02 + 3.768953143238456e-02 + 3.759982501241896e-02 + 3.751033128919119e-02 + 3.742104976390229e-02 + 3.733197993101921e-02 + 3.724312127956968e-02 + 3.715447331892652e-02 + 3.706603555538170e-02 + 3.697780748276271e-02 + 3.688978860838169e-02 + 3.680197844047203e-02 + 3.671437648083043e-02 + 3.662698223859462e-02 + 3.653979522528233e-02 + 3.645281495050149e-02 + 3.636604092401768e-02 + 3.627947265609178e-02 + 3.619310965841749e-02 + 3.610695145022991e-02 + 3.602099755007137e-02 + 3.593524746722872e-02 + 3.584970072102484e-02 + 3.576435683502647e-02 + 3.567921532660211e-02 + 3.559427571435374e-02 + 3.550953752116312e-02 + 3.542500027693078e-02 + 3.534066350384148e-02 + 3.525652672170999e-02 + 3.517258946309138e-02 + 3.508885125628003e-02 + 3.500531162678291e-02 + 3.492197010940873e-02 + 3.483882623525817e-02 + 3.475587953263527e-02 + 3.467312953919303e-02 + 3.459057578876406e-02 + 3.450821781198862e-02 + 3.442605515251815e-02 + 3.434408734999198e-02 + 3.426231393723483e-02 + 3.418073445581654e-02 + 3.409934844816886e-02 + 3.401815545480084e-02 + 3.393715501912345e-02 + 3.385634668688416e-02 + 3.377573000557660e-02 + 3.369530452244349e-02 + 3.361506978424043e-02 + 3.353502533757853e-02 + 3.345517073173793e-02 + 3.337550551749302e-02 + 3.329602924688495e-02 + 3.321674147756795e-02 + 3.313764176353938e-02 + 3.305872964905672e-02 + 3.298000469915312e-02 + 3.290146647870388e-02 + 3.282311452928582e-02 + 3.274494841443989e-02 + 3.266696770524984e-02 + 3.258917195579586e-02 + 3.251156072835543e-02 + 3.243413358906379e-02 + 3.235689009597382e-02 + 3.227982981604406e-02 + 3.220295232152501e-02 + 3.212625717796667e-02 + 3.204974395335523e-02 + 3.197341221860803e-02 + 3.189726154412311e-02 + 3.182129149811844e-02 + 3.174550164996338e-02 + 3.166989158019418e-02 + 3.159446086552403e-02 + 3.151920907660396e-02 + 3.144413578635114e-02 + 3.136924057603768e-02 + 3.129452303273958e-02 + 3.121998273049806e-02 + 3.114561924523454e-02 + 3.107143216011856e-02 + 3.099742105799270e-02 + 3.092358552474080e-02 + 3.084992514925186e-02 + 3.077643951122557e-02 + 3.070312819305190e-02 + 3.062999078663620e-02 + 3.055702688363699e-02 + 3.048423607160382e-02 + 3.041161793396379e-02 + 3.033917207015753e-02 + 3.026689807846873e-02 + 3.019479554128978e-02 + 3.012286404982057e-02 + 3.005110320361238e-02 + 2.997951260681279e-02 + 2.990809185255966e-02 + 2.983684053226568e-02 + 2.976575824919644e-02 + 2.969484460522792e-02 + 2.962409920087884e-02 + 2.955352163824170e-02 + 2.948311151647172e-02 + 2.941286843696999e-02 + 2.934279201383451e-02 + 2.927288185012002e-02 + 2.920313754405053e-02 + 2.913355871301240e-02 + 2.906414496442064e-02 + 2.899489589842786e-02 + 2.892581113440367e-02 + 2.885689028447655e-02 + 2.878813295173805e-02 + 2.871953875071393e-02 + 2.865110730129668e-02 + 2.858283822298987e-02 + 2.851473112218837e-02 + 2.844678561226344e-02 + 2.837900131834860e-02 + 2.831137785774055e-02 + 2.824391484910513e-02 + 2.817661191561155e-02 + 2.810946867322990e-02 + 2.804248474261467e-02 + 2.797565975421473e-02 + 2.790899332866750e-02 + 2.784248508684310e-02 + 2.777613465729838e-02 + 2.770994166752542e-02 + 2.764390574354870e-02 + 2.757802651096095e-02 + 2.751230360164656e-02 + 2.744673664902718e-02 + 2.738132528259552e-02 + 2.731606912935157e-02 + 2.725096782054994e-02 + 2.718602099881922e-02 + 2.712122829441404e-02 + 2.705658933533107e-02 + 2.699210376654040e-02 + 2.692777122629619e-02 + 2.686359134766074e-02 + 2.679956376855050e-02 + 2.673568813034148e-02 + 2.667196407449100e-02 + 2.660839123653040e-02 + 2.654496925932325e-02 + 2.648169779209303e-02 + 2.641857647953893e-02 + 2.635560496230991e-02 + 2.629278288047702e-02 + 2.623010988365326e-02 + 2.616758562366618e-02 + 2.610520975031933e-02 + 2.604298190560967e-02 + 2.598090173551063e-02 + 2.591896889422694e-02 + 2.585718303968204e-02 + 2.579554382343284e-02 + 2.573405088890056e-02 + 2.567270388987125e-02 + 2.561150248485746e-02 + 2.555044633271165e-02 + 2.548953508798725e-02 + 2.542876840653832e-02 + 2.536814594843316e-02 + 2.530766736730480e-02 + 2.524733231969847e-02 + 2.518714047250964e-02 + 2.512709148651639e-02 + 2.506718502244662e-02 + 2.500742074738894e-02 + 2.494779831751132e-02 + 2.488831739145854e-02 + 2.482897764751662e-02 + 2.476977875068464e-02 + 2.471072035836960e-02 + 2.465180213557270e-02 + 2.459302375909131e-02 + 2.453438490494015e-02 + 2.447588522684439e-02 + 2.441752439632618e-02 + 2.435930209686822e-02 + 2.430121799563831e-02 + 2.424327176191257e-02 + 2.418546306971884e-02 + 2.412779159320392e-02 + 2.407025701015483e-02 + 2.401285899981317e-02 + 2.395559723318545e-02 + 2.389847138352894e-02 + 2.384148113010493e-02 + 2.378462615809818e-02 + 2.372790614977233e-02 + 2.367132078182184e-02 + 2.361486973012364e-02 + 2.355855267628842e-02 + 2.350236930912776e-02 + 2.344631931433045e-02 + 2.339040237260871e-02 + 2.333461816188979e-02 + 2.327896637661412e-02 + 2.322344670789084e-02 + 2.316805883183489e-02 + 2.311280243515378e-02 + 2.305767721100430e-02 + 2.300268285332459e-02 + 2.294781904779433e-02 + 2.289308548135576e-02 + 2.283848185163481e-02 + 2.278400785322520e-02 + 2.272966317657758e-02 + 2.267544750906289e-02 + 2.262136054576819e-02 + 2.256740198705395e-02 + 2.251357153295969e-02 + 2.245986887460843e-02 + 2.240629370372433e-02 + 2.235284572997816e-02 + 2.229952464835474e-02 + 2.224633014749699e-02 + 2.219326193897085e-02 + 2.214031972536749e-02 + 2.208750320104361e-02 + 2.203481207216736e-02 + 2.198224604054712e-02 + 2.192980480490446e-02 + 2.187748807809197e-02 + 2.182529556587840e-02 + 2.177322696546572e-02 + 2.172128198614426e-02 + 2.166946034002218e-02 + 2.161776173674180e-02 + 2.156618587797776e-02 + 2.151473246970182e-02 + 2.146340122648612e-02 + 2.141219186176581e-02 + 2.136110408595206e-02 + 2.131013760699968e-02 + 2.125929213929720e-02 + 2.120856739943827e-02 + 2.115796310282077e-02 + 2.110747896148574e-02 + 2.105711468773744e-02 + 2.100686999708853e-02 + 2.095674460640470e-02 + 2.090673823470377e-02 + 2.085685060390323e-02 + 2.080708143284909e-02 + 2.075743043865024e-02 + 2.070789733896461e-02 + 2.065848185338519e-02 + 2.060918370358626e-02 + 2.056000261352416e-02 + 2.051093830731156e-02 + 2.046199050841276e-02 + 2.041315893918832e-02 + 2.036444332670061e-02 + 2.031584339811113e-02 + 2.026735887003067e-02 + 2.021898947028043e-02 + 2.017073493461869e-02 + 2.012259498752183e-02 + 2.007456935661649e-02 + 2.002665777297167e-02 + 1.997885996051357e-02 + 1.993117564943755e-02 + 1.988360457741823e-02 + 1.983614647798445e-02 + 1.978880107994216e-02 + 1.974156811085027e-02 + 1.969444731166336e-02 + 1.964743841723802e-02 + 1.960054115227784e-02 + 1.955375525837354e-02 + 1.950708047707909e-02 + 1.946051654129042e-02 + 1.941406318497287e-02 + 1.936772014474174e-02 + 1.932148716119990e-02 + 1.927536398140690e-02 + 1.922935034564512e-02 + 1.918344598004621e-02 + 1.913765063001423e-02 + 1.909196404425976e-02 + 1.904638595925336e-02 + 1.900091612254435e-02 + 1.895555428061772e-02 + 1.891030016469744e-02 + 1.886515352637163e-02 + 1.882011411999479e-02 + 1.877518167521970e-02 + 1.873035594232305e-02 + 1.868563668110157e-02 + 1.864102363246424e-02 + 1.859651653826993e-02 + 1.855211514697215e-02 + 1.850781921692858e-02 + 1.846362849811174e-02 + 1.841954273425713e-02 + 1.837556167722399e-02 + 1.833168508274460e-02 + 1.828791270638760e-02 + 1.824424429587613e-02 + 1.820067960186819e-02 + 1.815721838079814e-02 + 1.811386039242822e-02 + 1.807060539155448e-02 + 1.802745312809132e-02 + 1.798440336027523e-02 + 1.794145584667328e-02 + 1.789861034396235e-02 + 1.785586661445831e-02 + 1.781322441713358e-02 + 1.777068350457842e-02 + 1.772824363606736e-02 + 1.768590457480606e-02 + 1.764366608520215e-02 + 1.760152792777148e-02 + 1.755948986314423e-02 + 1.751755165530868e-02 + 1.747571306959304e-02 + 1.743397386795286e-02 + 1.739233380686453e-02 + 1.735079266012027e-02 + 1.730935019969591e-02 + 1.726800617515195e-02 + 1.722676035861175e-02 + 1.718561252878033e-02 + 1.714456244423200e-02 + 1.710360987245781e-02 + 1.706275458478830e-02 + 1.702199634263978e-02 + 1.698133492251816e-02 + 1.694077010510486e-02 + 1.690030164730331e-02 + 1.685992932068962e-02 + 1.681965290804600e-02 + 1.677947217681714e-02 + 1.673938689521877e-02 + 1.669939683666028e-02 + 1.665950177991986e-02 + 1.661970150205939e-02 + 1.657999577711447e-02 + 1.654038437906895e-02 + 1.650086708478969e-02 + 1.646144367321789e-02 + 1.642211391798679e-02 + 1.638287759543946e-02 + 1.634373448754158e-02 + 1.630468437732129e-02 + 1.626572704186934e-02 + 1.622686225251448e-02 + 1.618808979718675e-02 + 1.614940946170872e-02 + 1.611082101996680e-02 + 1.607232425440962e-02 + 1.603391895041710e-02 + 1.599560489122978e-02 + 1.595738185903658e-02 + 1.591924963852954e-02 + 1.588120801872957e-02 + 1.584325677844977e-02 + 1.580539569909259e-02 + 1.576762457813194e-02 + 1.572994319938502e-02 + 1.569235134492561e-02 + 1.565484881311209e-02 + 1.561743538476679e-02 + 1.558011083839993e-02 + 1.554287497958433e-02 + 1.550572759639263e-02 + 1.546866846769255e-02 + 1.543169739218311e-02 + 1.539481416304957e-02 + 1.535801856691179e-02 + 1.532131039389481e-02 + 1.528468944222785e-02 + 1.524815551153465e-02 + 1.521170838270258e-02 + 1.517534784896265e-02 + 1.513907371629201e-02 + 1.510288577422132e-02 + 1.506678381600347e-02 + 1.503076764230081e-02 + 1.499483704594779e-02 + 1.495899182406707e-02 + 1.492323178010325e-02 + 1.488755670734373e-02 + 1.485196640180961e-02 + 1.481646066682016e-02 + 1.478103929846549e-02 + 1.474570209596410e-02 + 1.471044886603309e-02 + 1.467527940456368e-02 + 1.464019351058384e-02 + 1.460519099481427e-02 + 1.457027165550810e-02 + 1.453543528903122e-02 + 1.450068170024789e-02 + 1.446601069487559e-02 + 1.443142207965322e-02 + 1.439691566271563e-02 + 1.436249124410753e-02 + 1.432814862414793e-02 + 1.429388761459182e-02 + 1.425970802314729e-02 + 1.422560965483165e-02 + 1.419159231701311e-02 + 1.415765581387266e-02 + 1.412379995194592e-02 + 1.409002455116132e-02 + 1.405632941792580e-02 + 1.402271435207008e-02 + 1.398917917303820e-02 + 1.395572369124169e-02 + 1.392234770932106e-02 + 1.388905104392205e-02 + 1.385583350997071e-02 + 1.382269491788422e-02 + 1.378963507987753e-02 + 1.375665380791922e-02 + 1.372375091366015e-02 + 1.369092621121959e-02 + 1.365817951715469e-02 + 1.362551064978645e-02 + 1.359291942581090e-02 + 1.356040565686591e-02 + 1.352796915179558e-02 + 1.349560973812908e-02 + 1.346332723540702e-02 + 1.343112144483463e-02 + 1.339899219360082e-02 + 1.336693930891053e-02 + 1.333496260043193e-02 + 1.330306188734133e-02 + 1.327123699224855e-02 + 1.323948773476910e-02 + 1.320781393642416e-02 + 1.317621541705235e-02 + 1.314469199166208e-02 + 1.311324348463446e-02 + 1.308186972415766e-02 + 1.305057053367403e-02 + 1.301934573289238e-02 + 1.298819514247371e-02 + 1.295711859027024e-02 + 1.292611590142988e-02 + 1.289518689817567e-02 + 1.286433140253433e-02 + 1.283354924175516e-02 + 1.280284024626999e-02 + 1.277220424320462e-02 + 1.274164105512193e-02 + 1.271115050454398e-02 + 1.268073242580564e-02 + 1.265038664885281e-02 + 1.262011299771964e-02 + 1.258991130045622e-02 + 1.255978138928737e-02 + 1.252972309744999e-02 + 1.249973624798444e-02 + 1.246982067106488e-02 + 1.243997620568067e-02 + 1.241020267461013e-02 + 1.238049990730756e-02 + 1.235086774662455e-02 + 1.232130602051964e-02 + 1.229181455798258e-02 + 1.226239319685087e-02 + 1.223304176770951e-02 + 1.220376010347082e-02 + 1.217454804486660e-02 + 1.214540542341299e-02 + 1.211633207079968e-02 + 1.208732782681391e-02 + 1.205839252771904e-02 + 1.202952600673308e-02 + 1.200072809652295e-02 + 1.197199864009422e-02 + 1.194333748171596e-02 + 1.191474445503102e-02 + 1.188621939116683e-02 + 1.185776212675846e-02 + 1.182937251288597e-02 + 1.180105038815069e-02 + 1.177279558400601e-02 + 1.174460794107161e-02 + 1.171648730396891e-02 + 1.168843351609301e-02 + 1.166044641171630e-02 + 1.163252583370262e-02 + 1.160467163102319e-02 + 1.157688364263099e-02 + 1.154916170933044e-02 + 1.152150567570712e-02 + 1.149391538555893e-02 + 1.146639068095789e-02 + 1.143893140447911e-02 + 1.141153740781534e-02 + 1.138420853673168e-02 + 1.135694462854312e-02 + 1.132974552839056e-02 + 1.130261108533809e-02 + 1.127554114921167e-02 + 1.124853556496432e-02 + 1.122159417997002e-02 + 1.119471684585664e-02 + 1.116790340283271e-02 + 1.114115369710312e-02 + 1.111446758944324e-02 + 1.108784492177717e-02 + 1.106128553754357e-02 + 1.103478929728668e-02 + 1.100835604711145e-02 + 1.098198563223047e-02 + 1.095567791133747e-02 + 1.092943273475230e-02 + 1.090324994987072e-02 + 1.087712940981543e-02 + 1.085107096608238e-02 + 1.082507447053145e-02 + 1.079913977931768e-02 + 1.077326674497864e-02 + 1.074745521859533e-02 + 1.072170505538783e-02 + 1.069601611066200e-02 + 1.067038823886727e-02 + 1.064482129354728e-02 + 1.061931513219808e-02 + 1.059386961330933e-02 + 1.056848458681972e-02 + 1.054315990640127e-02 + 1.051789543133304e-02 + 1.049269102209236e-02 + 1.046754653920045e-02 + 1.044246184044743e-02 + 1.041743677288729e-02 + 1.039247119540387e-02 + 1.036756497988909e-02 + 1.034271797805630e-02 + 1.031793004647734e-02 + 1.029320105343422e-02 + 1.026853085073464e-02 + 1.024391929539164e-02 + 1.021936625852857e-02 + 1.019487159885800e-02 + 1.017043517132599e-02 + 1.014605683522427e-02 + 1.012173646293816e-02 + 1.009747392058842e-02 + 1.007326905588179e-02 + 1.004912173629082e-02 + 1.002503183346208e-02 + 1.000099920653610e-02 + 9.977023717087764e-03 + 9.953105229386335e-03 + 9.929243608872406e-03 + 9.905438720973011e-03 + 9.881690430827046e-03 + 9.857998603258316e-03 + 9.834363104786413e-03 + 9.810783802355094e-03 + 9.787260560990621e-03 + 9.763793247942843e-03 + 9.740381731591760e-03 + 9.717025877967826e-03 + 9.693725554510663e-03 + 9.670480630152000e-03 + 9.647290973567844e-03 + 9.624156453317901e-03 + 9.601076938062841e-03 + 9.578052297039983e-03 + 9.555082399653962e-03 + 9.532167115690399e-03 + 9.509306316445141e-03 + 9.486499872512266e-03 + 9.463747653553711e-03 + 9.441049530896879e-03 + 9.418405376662433e-03 + 9.395815063104617e-03 + 9.373278461427175e-03 + 9.350795443499088e-03 + 9.328365882617906e-03 + 9.305989651970981e-03 + 9.283666624824176e-03 + 9.261396674723778e-03 + 9.239179675408710e-03 + 9.217015500757821e-03 + 9.194904024947497e-03 + 9.172845123632957e-03 + 9.150838672277813e-03 + 9.128884544858834e-03 + 9.106982617538152e-03 + 9.085132766987650e-03 + 9.063334868396023e-03 + 9.041588798714301e-03 + 9.019894435479832e-03 + 8.998251654894885e-03 + 8.976660334271958e-03 + 8.955120351755344e-03 + 8.933631585369030e-03 + 8.912193913264732e-03 + 8.890807213885918e-03 + 8.869471366214972e-03 + 8.848186249259440e-03 + 8.826951742251321e-03 + 8.805767725383001e-03 + 8.784634078744540e-03 + 8.763550682317645e-03 + 8.742517416743529e-03 + 8.721534162832835e-03 + 8.700600801502468e-03 + 8.679717214101214e-03 + 8.658883282492529e-03 + 8.638098888885700e-03 + 8.617363915025602e-03 + 8.596678243443276e-03 + 8.576041757693640e-03 + 8.555454340593486e-03 + 8.534915875110577e-03 + 8.514426244844865e-03 + 8.493985333674233e-03 + 8.473593025909724e-03 + 8.453249206335058e-03 + 8.432953759374154e-03 + 8.412706569850796e-03 + 8.392507523503252e-03 + 8.372356505624580e-03 + 8.352253401838657e-03 + 8.332198098800467e-03 + 8.312190482450988e-03 + 8.292230438871008e-03 + 8.272317855399050e-03 + 8.252452619663047e-03 + 8.232634619050869e-03 + 8.212863740331295e-03 + 8.193139871755427e-03 + 8.173462902270600e-03 + 8.153832719956143e-03 + 8.134249213438031e-03 + 8.114712271802299e-03 + 8.095221784035302e-03 + 8.075777639824947e-03 + 8.056379729417138e-03 + 8.037027942938956e-03 + 8.017722170154111e-03 + 7.998462301028743e-03 + 7.979248227381455e-03 + 7.960079840401237e-03 + 7.940957030626293e-03 + 7.921879690329333e-03 + 7.902847711453821e-03 + 7.883860985421759e-03 + 7.864919405368889e-03 + 7.846022864037674e-03 + 7.827171253341911e-03 + 7.808364466777525e-03 + 7.789602397948123e-03 + 7.770884940051978e-03 + 7.752211987488857e-03 + 7.733583434567862e-03 + 7.714999174963997e-03 + 7.696459103766686e-03 + 7.677963116338556e-03 + 7.659511107448910e-03 + 7.641102971817726e-03 + 7.622738605046243e-03 + 7.604417904226960e-03 + 7.586140765207791e-03 + 7.567907083543369e-03 + 7.549716755813157e-03 + 7.531569679511053e-03 + 7.513465752109027e-03 + 7.495404870064185e-03 + 7.477386931039745e-03 + 7.459411833357052e-03 + 7.441479474804043e-03 + 7.423589753808636e-03 + 7.405742569108545e-03 + 7.387937818890154e-03 + 7.370175402616828e-03 + 7.352455220325825e-03 + 7.334777170378787e-03 + 7.317141152312192e-03 + 7.299547066866589e-03 + 7.281994814230038e-03 + 7.264484294760120e-03 + 7.247015409129196e-03 + 7.229588058070396e-03 + 7.212202142721502e-03 + 7.194857564639825e-03 + 7.177554225359851e-03 + 7.160292026920549e-03 + 7.143070871828701e-03 + 7.125890661781023e-03 + 7.108751299151369e-03 + 7.091652687463649e-03 + 7.074594729473165e-03 + 7.057577328092346e-03 + 7.040600386920140e-03 + 7.023663809440293e-03 + 7.006767499621119e-03 + 6.989911362283671e-03 + 6.973095301761098e-03 + 6.956319222246642e-03 + 6.939583028242014e-03 + 6.922886624933184e-03 + 6.906229917977133e-03 + 6.889612813237578e-03 + 6.873035215956658e-03 + 6.856497031627250e-03 + 6.839998167124653e-03 + 6.823538528849983e-03 + 6.807118022950776e-03 + 6.790736556102037e-03 + 6.774394036012678e-03 + 6.758090370503938e-03 + 6.741825465874382e-03 + 6.725599229831710e-03 + 6.709411571076730e-03 + 6.693262397262002e-03 + 6.677151616823099e-03 + 6.661079138883049e-03 + 6.645044871881905e-03 + 6.629048724424302e-03 + 6.613090605727208e-03 + 6.597170426169362e-03 + 6.581288095176429e-03 + 6.565443521393368e-03 + 6.549636616015259e-03 + 6.533867289690503e-03 + 6.518135451870410e-03 + 6.502441013826720e-03 + 6.486783886693610e-03 + 6.471163980906190e-03 + 6.455581208648475e-03 + 6.440035481784445e-03 + 6.424526710952946e-03 + 6.409054808194274e-03 + 6.393619686148648e-03 + 6.378221257389647e-03 + 6.362859434216829e-03 + 6.347534129405275e-03 + 6.332245256702231e-03 + 6.316992728926398e-03 + 6.301776458848883e-03 + 6.286596360249587e-03 + 6.271452347303485e-03 + 6.256344334335297e-03 + 6.241272235637497e-03 + 6.226235965289892e-03 + 6.211235437617355e-03 + 6.196270567881593e-03 + 6.181341271239764e-03 + 6.166447462747857e-03 + 6.151589057705613e-03 + 6.136765971896623e-03 + 6.121978121401951e-03 + 6.107225422158738e-03 + 6.092507790132517e-03 + 6.077825141615326e-03 + 6.063177393866219e-03 + 6.048564463915550e-03 + 6.033986268442907e-03 + 6.019442724444331e-03 + 6.004933749322879e-03 + 5.990459260846786e-03 + 5.976019176895193e-03 + 5.961613415583682e-03 + 5.947241895231883e-03 + 5.932904533953020e-03 + 5.918601250164555e-03 + 5.904331962789744e-03 + 5.890096590861083e-03 + 5.875895053571317e-03 + 5.861727270328322e-03 + 5.847593160694864e-03 + 5.833492644473149e-03 + 5.819425641715960e-03 + 5.805392072163253e-03 + 5.791391855962741e-03 + 5.777424914193254e-03 + 5.763491167389796e-03 + 5.749590536018355e-03 + 5.735722941127108e-03 + 5.721888304505554e-03 + 5.708086547766434e-03 + 5.694317591457392e-03 + 5.680581357894303e-03 + 5.666877769868901e-03 + 5.653206748498332e-03 + 5.639568216215936e-03 + 5.625962096156960e-03 + 5.612388310444156e-03 + 5.598846782244085e-03 + 5.585337435180374e-03 + 5.571860191464977e-03 + 5.558414974887664e-03 + 5.545001710146245e-03 + 5.531620319651646e-03 + 5.518270727342278e-03 + 5.504952858629092e-03 + 5.491666637149790e-03 + 5.478411987013346e-03 + 5.465188833301630e-03 + 5.451997101098349e-03 + 5.438836715460566e-03 + 5.425707601454353e-03 + 5.412609684284744e-03 + 5.399542889597323e-03 + 5.386507143481766e-03 + 5.373502371672819e-03 + 5.360528500347250e-03 + 5.347585456320476e-03 + 5.334673165238440e-03 + 5.321791553290573e-03 + 5.308940548233661e-03 + 5.296120077396591e-03 + 5.283330067535706e-03 + 5.270570445063373e-03 + 5.257841138170363e-03 + 5.245142075198895e-03 + 5.232473183108559e-03 + 5.219834389656078e-03 + 5.207225623450342e-03 + 5.194646813662877e-03 + 5.182097888019903e-03 + 5.169578774433769e-03 + 5.157089403379224e-03 + 5.144629703265777e-03 + 5.132199601938705e-03 + 5.119799030212023e-03 + 5.107427917986021e-03 + 5.095086194230444e-03 + 5.082773788422456e-03 + 5.070490630851877e-03 + 5.058236652191947e-03 + 5.046011782411770e-03 + 5.033815952050060e-03 + 5.021649092096963e-03 + 5.009511132708167e-03 + 4.997402004872952e-03 + 4.985321640554899e-03 + 4.973269971256597e-03 + 4.961246927915243e-03 + 4.949252441362114e-03 + 4.937286444284467e-03 + 4.925348869112448e-03 + 4.913439647407981e-03 + 4.901558711796497e-03 + 4.889705994683389e-03 + 4.877881427891544e-03 + 4.866084944974813e-03 + 4.854316479151838e-03 + 4.842575962313763e-03 + 4.830863328342665e-03 + 4.819178511323663e-03 + 4.807521444209243e-03 + 4.795892060902922e-03 + 4.784290295384500e-03 + 4.772716080911616e-03 + 4.761169351999607e-03 + 4.749650043687660e-03 + 4.738158090505544e-03 + 4.726693426328077e-03 + 4.715255985490762e-03 + 4.703845704177584e-03 + 4.692462517255530e-03 + 4.681106359266913e-03 + 4.669777166671382e-03 + 4.658474874679097e-03 + 4.647199418051047e-03 + 4.635950733693824e-03 + 4.624728757814554e-03 + 4.613533426035275e-03 + 4.602364675085555e-03 + 4.591222441193854e-03 + 4.580106660340010e-03 + 4.569017270133631e-03 + 4.557954207729684e-03 + 4.546917409606468e-03 + 4.535906813063030e-03 + 4.524922355662980e-03 + 4.513963975024341e-03 + 4.503031608847450e-03 + 4.492125194604706e-03 + 4.481244669721014e-03 + 4.470389973075004e-03 + 4.459561043403103e-03 + 4.448757818627942e-03 + 4.437980237157132e-03 + 4.427228237584914e-03 + 4.416501758569245e-03 + 4.405800739475310e-03 + 4.395125119625431e-03 + 4.384474837838549e-03 + 4.373849833628650e-03 + 4.363250046735974e-03 + 4.352675416676511e-03 + 4.342125883231542e-03 + 4.331601386396421e-03 + 4.321101866314548e-03 + 4.310627263408189e-03 + 4.300177518182486e-03 + 4.289752570999768e-03 + 4.279352362569397e-03 + 4.268976833692708e-03 + 4.258625924837488e-03 + 4.248299577436886e-03 + 4.237997733292803e-03 + 4.227720333115902e-03 + 4.217467318344088e-03 + 4.207238631130676e-03 + 4.197034213451204e-03 + 4.186854006892898e-03 + 4.176697952964437e-03 + 4.166565994071401e-03 + 4.156458073034852e-03 + 4.146374132669977e-03 + 4.136314114934178e-03 + 4.126277962231265e-03 + 4.116265617785051e-03 + 4.106277025130100e-03 + 4.096312127225507e-03 + 4.086370866498099e-03 + 4.076453186851077e-03 + 4.066559032318193e-03 + 4.056688346384167e-03 + 4.046841072375552e-03 + 4.037017154234894e-03 + 4.027216536753351e-03 + 4.017439163691562e-03 + 4.007684978984143e-03 + 3.997953927616382e-03 + 3.988245954341580e-03 + 3.978561003853811e-03 + 3.968899020987378e-03 + 3.959259950174110e-03 + 3.949643736363211e-03 + 3.940050325917084e-03 + 3.930479663940112e-03 + 3.920931695287086e-03 + 3.911406366153988e-03 + 3.901903622192779e-03 + 3.892423408886956e-03 + 3.882965672529350e-03 + 3.873530359308857e-03 + 3.864117415340676e-03 + 3.854726787040829e-03 + 3.845358421069152e-03 + 3.836012264203419e-03 + 3.826688263119290e-03 + 3.817386364639579e-03 + 3.808106515834866e-03 + 3.798848664119608e-03 + 3.789612756624806e-03 + 3.780398740246358e-03 + 3.771206562411011e-03 + 3.762036171140922e-03 + 3.752887514765301e-03 + 3.743760540740341e-03 + 3.734655196719529e-03 + 3.725571430980986e-03 + 3.716509192135922e-03 + 3.707468428387338e-03 + 3.698449087559120e-03 + 3.689451119263604e-03 + 3.680474472533827e-03 + 3.671519094850921e-03 + 3.662584935894309e-03 + 3.653671945297336e-03 + 3.644780071212910e-03 + 3.635909263417586e-03 + 3.627059471971036e-03 + 3.618230645951014e-03 + 3.609422734605362e-03 + 3.600635687799489e-03 + 3.591869456282116e-03 + 3.583123989955615e-03 + 3.574399238584414e-03 + 3.565695152845392e-03 + 3.557011682930304e-03 + 3.548348778903569e-03 + 3.539706391532652e-03 + 3.531084471778191e-03 + 3.522482970666699e-03 + 3.513901839239252e-03 + 3.505341028388093e-03 + 3.496800489111114e-03 + 3.488280173119797e-03 + 3.479780031892506e-03 + 3.471300016604386e-03 + 3.462840078578430e-03 + 3.454400170006921e-03 + 3.445980243580072e-03 + 3.437580250715228e-03 + 3.429200142992534e-03 + 3.420839872683964e-03 + 3.412499392748279e-03 + 3.404178655562702e-03 + 3.395877612913789e-03 + 3.387596218304602e-03 + 3.379334424898988e-03 + 3.371092184764359e-03 + 3.362869450661228e-03 + 3.354666175991870e-03 + 3.346482314543412e-03 + 3.338317819175880e-03 + 3.330172642972068e-03 + 3.322046740007612e-03 + 3.313940064235304e-03 + 3.305852569386344e-03 + 3.297784208976364e-03 + 3.289734936574093e-03 + 3.281704706272533e-03 + 3.273693473070924e-03 + 3.265701191257636e-03 + 3.257727814803984e-03 + 3.249773298074863e-03 + 3.241837595979994e-03 + 3.233920663596386e-03 + 3.226022455622204e-03 + 3.218142926555998e-03 + 3.210282031163023e-03 + 3.202439725215123e-03 + 3.194615964134223e-03 + 3.186810703067027e-03 + 3.179023897602838e-03 + 3.171255503398923e-03 + 3.163505475998486e-03 + 3.155773770652277e-03 + 3.148060343553685e-03 + 3.140365151430291e-03 + 3.132688149313277e-03 + 3.125029293443853e-03 + 3.117388541383308e-03 + 3.109765848736372e-03 + 3.102161171408776e-03 + 3.094574466373093e-03 + 3.087005690728782e-03 + 3.079454801280003e-03 + 3.071921754555924e-03 + 3.064406507880629e-03 + 3.056909018530570e-03 + 3.049429243338136e-03 + 3.041967139485151e-03 + 3.034522664377966e-03 + 3.027095775562892e-03 + 3.019686430816400e-03 + 3.012294588055786e-03 + 3.004920205212209e-03 + 2.997563239705405e-03 + 2.990223649173174e-03 + 2.982901392198357e-03 + 2.975596427311395e-03 + 2.968308712822513e-03 + 2.961038206776656e-03 + 2.953784867392937e-03 + 2.946548653201694e-03 + 2.939329523194637e-03 + 2.932127436582907e-03 + 2.924942352269057e-03 + 2.917774228121468e-03 + 2.910623023643702e-03 + 2.903488699056754e-03 + 2.896371212514376e-03 + 2.889270523304112e-03 + 2.882186591679052e-03 + 2.875119376658924e-03 + 2.868068837676741e-03 + 2.861034934776638e-03 + 2.854017627809473e-03 + 2.847016876513213e-03 + 2.840032640686938e-03 + 2.833064880681456e-03 + 2.826113557103426e-03 + 2.819178630449384e-03 + 2.812260060105674e-03 + 2.805357806481411e-03 + 2.798471831428214e-03 + 2.791602094948384e-03 + 2.784748557109701e-03 + 2.777911179108391e-03 + 2.771089922400815e-03 + 2.764284748007964e-03 + 2.757495616304825e-03 + 2.750722488782177e-03 + 2.743965327115693e-03 + 2.737224092409578e-03 + 2.730498746008289e-03 + 2.723789249648372e-03 + 2.717095565426717e-03 + 2.710417654358784e-03 + 2.703755477800617e-03 + 2.697108999073383e-03 + 2.690478179939920e-03 + 2.683862981660020e-03 + 2.677263366970269e-03 + 2.670679298051182e-03 + 2.664110736894467e-03 + 2.657557646411518e-03 + 2.651019989061974e-03 + 2.644497727126834e-03 + 2.637990823748049e-03 + 2.631499241776077e-03 + 2.625022943767310e-03 + 2.618561892619121e-03 + 2.612116051581085e-03 + 2.605685383984310e-03 + 2.599269852507916e-03 + 2.592869420565223e-03 + 2.586484052278204e-03 + 2.580113710814501e-03 + 2.573758359383719e-03 + 2.567417961609419e-03 + 2.561092481362380e-03 + 2.554781882413309e-03 + 2.548486128464411e-03 + 2.542205184036424e-03 + 2.535939013422343e-03 + 2.529687580238901e-03 + 2.523450848436006e-03 + 2.517228782352248e-03 + 2.511021346720505e-03 + 2.504828506444104e-03 + 2.498650225958320e-03 + 2.492486468967693e-03 + 2.486337200680032e-03 + 2.480202386472821e-03 + 2.474081990653096e-03 + 2.467975978460781e-03 + 2.461884315215007e-03 + 2.455806965243642e-03 + 2.449743893777428e-03 + 2.443695066608286e-03 + 2.437660449328877e-03 + 2.431640007119714e-03 + 2.425633705211946e-03 + 2.419641509634817e-03 + 2.413663385966202e-03 + 2.407699299632079e-03 + 2.401749216909934e-03 + 2.395813103777745e-03 + 2.389890925926915e-03 + 2.383982649399740e-03 + 2.378088240561300e-03 + 2.372207665865560e-03 + 2.366340891258303e-03 + 2.360487883037754e-03 + 2.354648608018378e-03 + 2.348823033118129e-03 + 2.343011124539103e-03 + 2.337212848054228e-03 + 2.331428171390765e-03 + 2.325657062040943e-03 + 2.319899486412222e-03 + 2.314155410784699e-03 + 2.308424802407836e-03 + 2.302707629600105e-03 + 2.297003858807791e-03 + 2.291313456815245e-03 + 2.285636391934661e-03 + 2.279972631361444e-03 + 2.274322142294874e-03 + 2.268684892803898e-03 + 2.263060850445441e-03 + 2.257449982675230e-03 + 2.251852257331842e-03 + 2.246267642469826e-03 + 2.240696106224612e-03 + 2.235137616698782e-03 + 2.229592141925271e-03 + 2.224059650030012e-03 + 2.218540109447705e-03 + 2.213033488566449e-03 + 2.207539755750870e-03 + 2.202058879448589e-03 + 2.196590827868759e-03 + 2.191135569406817e-03 + 2.185693073538250e-03 + 2.180263309295804e-03 + 2.174846245146934e-03 + 2.169441849486111e-03 + 2.164050091629877e-03 + 2.158670941358884e-03 + 2.153304367034930e-03 + 2.147950337590323e-03 + 2.142608822828710e-03 + 2.137279792340324e-03 + 2.131963215445541e-03 + 2.126659061301170e-03 + 2.121367299363035e-03 + 2.116087899310018e-03 + 2.110820830985273e-03 + 2.105566064252215e-03 + 2.100323568822542e-03 + 2.095093314356113e-03 + 2.089875271479949e-03 + 2.084669410319118e-03 + 2.079475699908646e-03 + 2.074294110902819e-03 + 2.069124614088778e-03 + 2.063967179294363e-03 + 2.058821776747180e-03 + 2.053688376991423e-03 + 2.048566950718572e-03 + 2.043457468582260e-03 + 2.038359901240009e-03 + 2.033274219398007e-03 + 2.028200393563254e-03 + 2.023138394473247e-03 + 2.018088193625467e-03 + 2.013049761808302e-03 + 2.008023069533293e-03 + 2.003008088023720e-03 + 1.998004788922133e-03 + 1.993013143739461e-03 + 1.988033123025423e-03 + 1.983064698401174e-03 + 1.978107841939004e-03 + 1.973162523959716e-03 + 1.968228716337500e-03 + 1.963306391971906e-03 + 1.958395521239848e-03 + 1.953496075620802e-03 + 1.948608028019931e-03 + 1.943731350228688e-03 + 1.938866013789267e-03 + 1.934011990485791e-03 + 1.929169252901841e-03 + 1.924337773155020e-03 + 1.919517522737516e-03 + 1.914708474346116e-03 + 1.909910600724645e-03 + 1.905123874118434e-03 + 1.900348266781407e-03 + 1.895583751238830e-03 + 1.890830300301618e-03 + 1.886087886140893e-03 + 1.881356481302734e-03 + 1.876636059328014e-03 + 1.871926593048255e-03 + 1.867228054886164e-03 + 1.862540417322874e-03 + 1.857863653843670e-03 + 1.853197738035545e-03 + 1.848542642643349e-03 + 1.843898340659710e-03 + 1.839264805482605e-03 + 1.834642010884087e-03 + 1.830029929675155e-03 + 1.825428534756660e-03 + 1.820837800826725e-03 + 1.816257700994342e-03 + 1.811688207883416e-03 + 1.807129296515363e-03 + 1.802580940478343e-03 + 1.798043112569654e-03 + 1.793515787775185e-03 + 1.788998939681262e-03 + 1.784492541016137e-03 + 1.779996567290557e-03 + 1.775510992946437e-03 + 1.771035790955467e-03 + 1.766570935188881e-03 + 1.762116400368900e-03 + 1.757672161650980e-03 + 1.753238193179788e-03 + 1.748814468721301e-03 + 1.744400962234815e-03 + 1.739997649147064e-03 + 1.735604504535336e-03 + 1.731221502449809e-03 + 1.726848617398671e-03 + 1.722485824273258e-03 + 1.718133098140551e-03 + 1.713790413411143e-03 + 1.709457744960287e-03 + 1.705135068710917e-03 + 1.700822359316501e-03 + 1.696519591326764e-03 + 1.692226740206531e-03 + 1.687943780998710e-03 + 1.683670689031842e-03 + 1.679407440586236e-03 + 1.675154010255336e-03 + 1.670910372590760e-03 + 1.666676504276520e-03 + 1.662452380680008e-03 + 1.658237976786625e-03 + 1.654033269138933e-03 + 1.649838233189823e-03 + 1.645652843894769e-03 + 1.641477077483747e-03 + 1.637310910181093e-03 + 1.633154317979306e-03 + 1.629007276710043e-03 + 1.624869761977525e-03 + 1.620741749539434e-03 + 1.616623216289868e-03 + 1.612514138626602e-03 + 1.608414492386588e-03 + 1.604324254066237e-03 + 1.600243399893093e-03 + 1.596171905775712e-03 + 1.592109748332882e-03 + 1.588056904380057e-03 + 1.584013350591343e-03 + 1.579979063015354e-03 + 1.575954018417919e-03 + 1.571938194458784e-03 + 1.567931567017785e-03 + 1.563934112240304e-03 + 1.559945807641685e-03 + 1.555966630779868e-03 + 1.551996558434039e-03 + 1.548035566441649e-03 + 1.544083632647983e-03 + 1.540140734902817e-03 + 1.536206849423688e-03 + 1.532281953055403e-03 + 1.528366023373284e-03 + 1.524459038476067e-03 + 1.520560975283225e-03 + 1.516671810636623e-03 + 1.512791522697568e-03 + 1.508920088807869e-03 + 1.505057486015793e-03 + 1.501203692209861e-03 + 1.497358685322736e-03 + 1.493522443062933e-03 + 1.489694942724099e-03 + 1.485876162194853e-03 + 1.482066079697174e-03 + 1.478264672890618e-03 + 1.474471919644568e-03 + 1.470687798121700e-03 + 1.466912286519041e-03 + 1.463145362594138e-03 + 1.459387003990816e-03 + 1.455637189563730e-03 + 1.451895897787254e-03 + 1.448163106500405e-03 + 1.444438793947980e-03 + 1.440722938760434e-03 + 1.437015519703072e-03 + 1.433316514691718e-03 + 1.429625901910583e-03 + 1.425943660193772e-03 + 1.422269768088744e-03 + 1.418604204318803e-03 + 1.414946947952337e-03 + 1.411297977567125e-03 + 1.407657271824714e-03 + 1.404024809794961e-03 + 1.400400570139807e-03 + 1.396784531434119e-03 + 1.393176672533590e-03 + 1.389576972970703e-03 + 1.385985412235932e-03 + 1.382401969107074e-03 + 1.378826622443783e-03 + 1.375259351219489e-03 + 1.371700134514839e-03 + 1.368148952079336e-03 + 1.364605783757036e-03 + 1.361070608632290e-03 + 1.357543405835987e-03 + 1.354024154621594e-03 + 1.350512834317403e-03 + 1.347009424934256e-03 + 1.343513906652181e-03 + 1.340026258589547e-03 + 1.336546459739890e-03 + 1.333074489680093e-03 + 1.329610329681042e-03 + 1.326153959375566e-03 + 1.322705357081586e-03 + 1.319264503327096e-03 + 1.315831378649060e-03 + 1.312405962942001e-03 + 1.308988235813027e-03 + 1.305578177302038e-03 + 1.302175767936687e-03 + 1.298780987783750e-03 + 1.295393816813521e-03 + 1.292014235092867e-03 + 1.288642222828844e-03 + 1.285277760581296e-03 + 1.281920829182064e-03 + 1.278571408463430e-03 + 1.275229478684235e-03 + 1.271895021211065e-03 + 1.268568016022571e-03 + 1.265248443161927e-03 + 1.261936283866222e-03 + 1.258631518851812e-03 + 1.255334128626978e-03 + 1.252044093890807e-03 + 1.248761395151665e-03 + 1.245486013113075e-03 + 1.242217929129610e-03 + 1.238957124307338e-03 + 1.235703579418827e-03 + 1.232457274959363e-03 + 1.229218191838193e-03 + 1.225986311430220e-03 + 1.222761615473843e-03 + 1.219544084856006e-03 + 1.216333699988417e-03 + 1.213130441964228e-03 + 1.209934292565758e-03 + 1.206745233676102e-03 + 1.203563245963205e-03 + 1.200388310525061e-03 + 1.197220409053557e-03 + 1.194059523052293e-03 + 1.190905633902454e-03 + 1.187758723052301e-03 + 1.184618772531461e-03 + 1.181485763720917e-03 + 1.178359677471923e-03 + 1.175240496495629e-03 + 1.172128202790389e-03 + 1.169022777016151e-03 + 1.165924201427151e-03 + 1.162832457974330e-03 + 1.159747527667428e-03 + 1.156669393342115e-03 + 1.153598037513975e-03 + 1.150533441195656e-03 + 1.147475586343000e-03 + 1.144424455192698e-03 + 1.141380029693999e-03 + 1.138342292070108e-03 + 1.135311224784675e-03 + 1.132286810371483e-03 + 1.129269030382949e-03 + 1.126257866687504e-03 + 1.123253302806332e-03 + 1.120255320585528e-03 + 1.117263901594027e-03 + 1.114279029333705e-03 + 1.111300685926414e-03 + 1.108328853214485e-03 + 1.105363515126287e-03 + 1.102404653695880e-03 + 1.099452250276090e-03 + 1.096506289065756e-03 + 1.093566752790314e-03 + 1.090633622975802e-03 + 1.087706882683815e-03 + 1.084786514992603e-03 + 1.081872502714538e-03 + 1.078964828755093e-03 + 1.076063476054719e-03 + 1.073168427526746e-03 + 1.070279665938792e-03 + 1.067397174442816e-03 + 1.064520936417689e-03 + 1.061650934087830e-03 + 1.058787150577005e-03 + 1.055929570192933e-03 + 1.053078175257412e-03 + 1.050232948596978e-03 + 1.047393874491941e-03 + 1.044560935952646e-03 + 1.041734115621369e-03 + 1.038913396581877e-03 + 1.036098763274602e-03 + 1.033290199394467e-03 + 1.030487686748966e-03 + 1.027691209748195e-03 + 1.024900752824401e-03 + 1.022116298137994e-03 + 1.019337829638554e-03 + 1.016565331581354e-03 + 1.013798786681050e-03 + 1.011038178744547e-03 + 1.008283492069452e-03 + 1.005534710312413e-03 + 1.002791817167788e-03 + 1.000054796401326e-03 + 9.973236317525795e-04 + 9.945983071579347e-04 + 9.918788066535795e-04 + 9.891651141399331e-04 + 9.864572135795289e-04 + 9.837550890187182e-04 + 9.810587245440681e-04 + 9.783681042165289e-04 + 9.756832121036981e-04 + 9.730040324093254e-04 + 9.703305493295432e-04 + 9.676627470403841e-04 + 9.650006098016114e-04 + 9.623441219373007e-04 + 9.596932677964791e-04 + 9.570480316324495e-04 + 9.544083978205768e-04 + 9.517743508934125e-04 + 9.491458752396962e-04 + 9.465229553012878e-04 + 9.439055756501852e-04 + 9.412937207895038e-04 + 9.386873752809525e-04 + 9.360865238076440e-04 + 9.334911509791107e-04 + 9.309012414140627e-04 + 9.283167798171848e-04 + 9.257377509839119e-04 + 9.231641396993918e-04 + 9.205959306774516e-04 + 9.180331088080401e-04 + 9.154756590138127e-04 + 9.129235660962607e-04 + 9.103768149701878e-04 + 9.078353906321772e-04 + 9.052992780955343e-04 + 9.027684623946166e-04 + 9.002429285800444e-04 + 8.977226617159664e-04 + 8.952076469091944e-04 + 8.926978693026045e-04 + 8.901933140640126e-04 + 8.876939664445818e-04 + 8.851998117353022e-04 + 8.827108351548252e-04 + 8.802270219825557e-04 + 8.777483575705740e-04 + 8.752748272927118e-04 + 8.728064165680979e-04 + 8.703431108522175e-04 + 8.678848955854838e-04 + 8.654317562117358e-04 + 8.629836782258149e-04 + 8.605406473168484e-04 + 8.581026490766350e-04 + 8.556696689660546e-04 + 8.532416927295966e-04 + 8.508187061075220e-04 + 8.484006947265324e-04 + 8.459876443379812e-04 + 8.435795407180884e-04 + 8.411763696276702e-04 + 8.387781169670006e-04 + 8.363847686436173e-04 + 8.339963104952486e-04 + 8.316127284703911e-04 + 8.292340085393665e-04 + 8.268601366269382e-04 + 8.244910987818749e-04 + 8.221268810991789e-04 + 8.197674696351961e-04 + 8.174128504795555e-04 + 8.150630097863373e-04 + 8.127179337987174e-04 + 8.103776086785577e-04 + 8.080420206116735e-04 + 8.057111559859151e-04 + 8.033850010442538e-04 + 8.010635420033148e-04 + 7.987467653572807e-04 + 7.964346575211490e-04 + 7.941272048473775e-04 + 7.918243938145987e-04 + 7.895262109139402e-04 + 7.872326426395918e-04 + 7.849436755404454e-04 + 7.826592961986925e-04 + 7.803794912312032e-04 + 7.781042473133076e-04 + 7.758335511109105e-04 + 7.735673892815593e-04 + 7.713057485643111e-04 + 7.690486157536814e-04 + 7.667959776727836e-04 + 7.645478211004869e-04 + 7.623041328912646e-04 + 7.600649000053854e-04 + 7.578301093264215e-04 + 7.555997477583347e-04 + 7.533738022910566e-04 + 7.511522599897612e-04 + 7.489351079282785e-04 + 7.467223331578882e-04 + 7.445139227962291e-04 + 7.423098639775247e-04 + 7.401101438263767e-04 + 7.379147496119391e-04 + 7.357236686066337e-04 + 7.335368879604144e-04 + 7.313543950177981e-04 + 7.291761771981462e-04 + 7.270022218267318e-04 + 7.248325162821272e-04 + 7.226670479949025e-04 + 7.205058044241288e-04 + 7.183487730730944e-04 + 7.161959414766152e-04 + 7.140472971809699e-04 + 7.119028277561113e-04 + 7.097625208231147e-04 + 7.076263641063239e-04 + 7.054943452576004e-04 + 7.033664519218169e-04 + 7.012426719956601e-04 + 6.991229932510109e-04 + 6.970074033540157e-04 + 6.948958902400331e-04 + 6.927884418689321e-04 + 6.906850461485944e-04 + 6.885856909689247e-04 + 6.864903643067344e-04 + 6.843990542306164e-04 + 6.823117487354689e-04 + 6.802284359113009e-04 + 6.781491039842488e-04 + 6.760737410664455e-04 + 6.740023352773578e-04 + 6.719348748282754e-04 + 6.698713480434448e-04 + 6.678117432465053e-04 + 6.657560487034911e-04 + 6.637042527655789e-04 + 6.616563438432147e-04 + 6.596123103782944e-04 + 6.575721408025738e-04 + 6.555358236048545e-04 + 6.535033473936704e-04 + 6.514747007198682e-04 + 6.494498721244171e-04 + 6.474288502266283e-04 + 6.454116237722280e-04 + 6.433981815196293e-04 + 6.413885120963034e-04 + 6.393826043225120e-04 + 6.373804471016686e-04 + 6.353820291728463e-04 + 6.333873394523912e-04 + 6.313963669651093e-04 + 6.294091005879305e-04 + 6.274255292885601e-04 + 6.254456421348147e-04 + 6.234694281911996e-04 + 6.214968766042923e-04 + 6.195279765738893e-04 + 6.175627172048796e-04 + 6.156010877068991e-04 + 6.136430774102346e-04 + 6.116886755862946e-04 + 6.097378715435904e-04 + 6.077906546697107e-04 + 6.058470144286753e-04 + 6.039069402835228e-04 + 6.019704216802507e-04 + 6.000374481409778e-04 + 5.981080092530985e-04 + 5.961820946588096e-04 + 5.942596940083503e-04 + 5.923407969721301e-04 + 5.904253932616448e-04 + 5.885134726736782e-04 + 5.866050250202793e-04 + 5.847000400980857e-04 + 5.827985078791194e-04 + 5.809004183470366e-04 + 5.790057613579966e-04 + 5.771145269606196e-04 + 5.752267052829598e-04 + 5.733422863841403e-04 + 5.714612604000550e-04 + 5.695836175305099e-04 + 5.677093480037018e-04 + 5.658384420678564e-04 + 5.639708900266142e-04 + 5.621066823022896e-04 + 5.602458092869138e-04 + 5.583882613744714e-04 + 5.565340290827777e-04 + 5.546831029664671e-04 + 5.528354736013446e-04 + 5.509911316015094e-04 + 5.491500676402182e-04 + 5.473122724461832e-04 + 5.454777367810608e-04 + 5.436464514412940e-04 + 5.418184072613321e-04 + 5.399935951226492e-04 + 5.381720060069473e-04 + 5.363536309736959e-04 + 5.345384609776805e-04 + 5.327264870731968e-04 + 5.309177004752346e-04 + 5.291120923593077e-04 + 5.273096539494221e-04 + 5.255103765544823e-04 + 5.237142514407170e-04 + 5.219212699733492e-04 + 5.201314236865307e-04 + 5.183447040146093e-04 + 5.165611024246747e-04 + 5.147806105331874e-04 + 5.130032200114061e-04 + 5.112289225530487e-04 + 5.094577098620987e-04 + 5.076895736854020e-04 + 5.059245058583464e-04 + 5.041624983517820e-04 + 5.024035430839573e-04 + 5.006476319990773e-04 + 4.988947572035529e-04 + 4.971449107942239e-04 + 4.953980848818115e-04 + 4.936542716805855e-04 + 4.919134634956966e-04 + 4.901756526846954e-04 + 4.884408316006080e-04 + 4.867089926403434e-04 + 4.849801282731475e-04 + 4.832542310892493e-04 + 4.815312937309208e-04 + 4.798113088560132e-04 + 4.780942690954599e-04 + 4.763801672259719e-04 + 4.746689961731605e-04 + 4.729607488395965e-04 + 4.712554181333483e-04 + 4.695529970142063e-04 + 4.678534786182833e-04 + 4.661568561056742e-04 + 4.644631226216267e-04 + 4.627722714285577e-04 + 4.610842958399921e-04 + 4.593991892076899e-04 + 4.577169450300335e-04 + 4.560375568336446e-04 + 4.543610181249096e-04 + 4.526873225594637e-04 + 4.510164638467393e-04 + 4.493484356950898e-04 + 4.476832319569833e-04 + 4.460208465382815e-04 + 4.443612733350173e-04 + 4.427045064285867e-04 + 4.410505399510805e-04 + 4.393993679504339e-04 + 4.377509846774214e-04 + 4.361053844834223e-04 + 4.344625616662297e-04 + 4.328225106365193e-04 + 4.311852259097922e-04 + 4.295507020701359e-04 + 4.279189337521271e-04 + 4.262899156467061e-04 + 4.246636425301464e-04 + 4.230401092565931e-04 + 4.214193107478168e-04 + 4.198012419839599e-04 + 4.181858979868060e-04 + 4.165732738692198e-04 + 4.149633649793705e-04 + 4.133561665739344e-04 + 4.117516738453971e-04 + 4.101498823326724e-04 + 4.085507876181731e-04 + 4.069543852399522e-04 + 4.053606707914893e-04 + 4.037696400086752e-04 + 4.021812887746215e-04 + 4.005956129436248e-04 + 3.990126084760660e-04 + 3.974322714846641e-04 + 3.958545980293214e-04 + 3.942795842513983e-04 + 3.927072264688036e-04 + 3.911375211195356e-04 + 3.895704646516968e-04 + 3.880060534869329e-04 + 3.864442842922655e-04 + 3.848851538066537e-04 + 3.833286587063809e-04 + 3.817747958651508e-04 + 3.802235622593628e-04 + 3.786749548688228e-04 + 3.771289708205180e-04 + 3.755856073392733e-04 + 3.740448616816441e-04 + 3.725067311649692e-04 + 3.709712132043737e-04 + 3.694383053790672e-04 + 3.679080053579325e-04 + 3.663803108503057e-04 + 3.648552195606523e-04 + 3.633327293646475e-04 + 3.618128382932607e-04 + 3.602955444344858e-04 + 3.587808459078391e-04 + 3.572687408998931e-04 + 3.557592277792442e-04 + 3.542523049927096e-04 + 3.527479710408145e-04 + 3.512462245019904e-04 + 3.497470640500036e-04 + 3.482504884770882e-04 + 3.467564967437580e-04 + 3.452650877985240e-04 + 3.437762605764859e-04 + 3.422900143250168e-04 + 3.408063483640538e-04 + 3.393252619896345e-04 + 3.378467546103840e-04 + 3.363708257653936e-04 + 3.348974751341996e-04 + 3.334267024660963e-04 + 3.319585075646510e-04 + 3.304928903038992e-04 + 3.290298507212495e-04 + 3.275693889604049e-04 + 3.261115052402690e-04 + 3.246561999078441e-04 + 3.232034733603981e-04 + 3.217533259984899e-04 + 3.203057585048498e-04 + 3.188607716794152e-04 + 3.174183662346357e-04 + 3.159785430822741e-04 + 3.145413032833238e-04 + 3.131066479369465e-04 + 3.116745782136557e-04 + 3.102450954058189e-04 + 3.088182010197684e-04 + 3.073938965650610e-04 + 3.059721835802734e-04 + 3.045530637916020e-04 + 3.031365390386899e-04 + 3.017226112552691e-04 + 3.003112824793533e-04 + 2.989025548234045e-04 + 2.974964304955006e-04 + 2.960929118913988e-04 + 2.946920014422941e-04 + 2.932937016150965e-04 + 2.918980151023185e-04 + 2.905049446767149e-04 + 2.891144931550728e-04 + 2.877266634923031e-04 + 2.863414587568181e-04 + 2.849588821248430e-04 + 2.835789368717610e-04 + 2.822016263526234e-04 + 2.808269540128114e-04 + 2.794549234525530e-04 + 2.780855383858511e-04 + 2.767188026160350e-04 + 2.753547199733251e-04 + 2.739932944362576e-04 + 2.726345302253411e-04 + 2.712784314751994e-04 + 2.699250024118205e-04 + 2.685742475595017e-04 + 2.672261714415124e-04 + 2.658807786371782e-04 + 2.645380739000219e-04 + 2.631980619957597e-04 + 2.618607478073471e-04 + 2.605261365239288e-04 + 2.591942332540738e-04 + 2.578650431168888e-04 + 2.565385715181067e-04 + 2.552148239188000e-04 + 2.538938058269625e-04 + 2.525755228940477e-04 + 2.512599808919393e-04 + 2.499471856899045e-04 + 2.486371432244064e-04 + 2.473298595107682e-04 + 2.460253406646765e-04 + 2.447235929605613e-04 + 2.434246227773826e-04 + 2.421284365723855e-04 + 2.408350408491505e-04 + 2.395444422583646e-04 + 2.382566475978551e-04 + 2.369716636126905e-04 + 2.356894972066169e-04 + 2.344101555067014e-04 + 2.331336455922197e-04 + 2.318599746393059e-04 + 2.305891500038487e-04 + 2.293211790903458e-04 + 2.280560693749351e-04 + 2.267938284406659e-04 + 2.255344639796373e-04 + 2.242779837481179e-04 + 2.230243955584571e-04 + 2.217737074088738e-04 + 2.205259273750273e-04 + 2.192810635194828e-04 + 2.180391240377155e-04 + 2.168001172473318e-04 + 2.155640515683406e-04 + 2.143309354202995e-04 + 2.131007772856537e-04 + 2.118735858306198e-04 + 2.106493698084787e-04 + 2.094281380089542e-04 + 2.082098992208740e-04 + 2.069946624015073e-04 + 2.057824366286796e-04 + 2.045732309577213e-04 + 2.033670545521807e-04 + 2.021639166762670e-04 + 2.009638266139778e-04 + 1.997667937615743e-04 + 1.985728276099416e-04 + 1.973819376249420e-04 + 1.961941334186818e-04 + 1.950094247288422e-04 + 1.938278211445808e-04 + 1.926493324216112e-04 + 1.914739685443153e-04 + 1.903017394244089e-04 + 1.891326549660665e-04 + 1.879667251315557e-04 + 1.868039600691931e-04 + 1.856443699312781e-04 + 1.844879648170397e-04 + 1.833347550402995e-04 + 1.821847509305592e-04 + 1.810379627269367e-04 + 1.798944008330572e-04 + 1.787540757117569e-04 + 1.776169978023503e-04 + 1.764831776083264e-04 + 1.753526257075039e-04 + 1.742253527510645e-04 + 1.731013693254543e-04 + 1.719806860311682e-04 + 1.708633135911149e-04 + 1.697492627671219e-04 + 1.686385443331759e-04 + 1.675311690584120e-04 + 1.664271477052953e-04 + 1.653264910845736e-04 + 1.642292101438652e-04 + 1.631353157524277e-04 + 1.620448187436031e-04 + 1.609577300754615e-04 + 1.598740606888992e-04 + 1.587938214812250e-04 + 1.577170233258566e-04 + 1.566436772168694e-04 + 1.555737942159133e-04 + 1.545073851968179e-04 + 1.534444610998845e-04 + 1.523850329588589e-04 + 1.513291117056277e-04 + 1.502767082718022e-04 + 1.492278336091406e-04 + 1.481824986061289e-04 + 1.471407142013266e-04 + 1.461024913960903e-04 + 1.450678410475480e-04 + 1.440367739871709e-04 + 1.430093010797408e-04 + 1.419854331666308e-04 + 1.409651810501559e-04 + 1.399485554884026e-04 + 1.389355672434459e-04 + 1.379262270311977e-04 + 1.369205454852166e-04 + 1.359185332657421e-04 + 1.349202010239166e-04 + 1.339255593445051e-04 + 1.329346186642912e-04 + 1.319473893926901e-04 + 1.309638820305585e-04 + 1.299841069283569e-04 + 1.290080743627276e-04 + 1.280357946577360e-04 + 1.270672779908064e-04 + 1.261025344295187e-04 + 1.251415740258344e-04 + 1.241844068414831e-04 + 1.232310428585276e-04 + 1.222814917974582e-04 + 1.213357634573326e-04 + 1.203938676644921e-04 + 1.194558139769228e-04 + 1.185216119071049e-04 + 1.175912709437735e-04 + 1.166648004395201e-04 + 1.157422096820540e-04 + 1.148235078941047e-04 + 1.139087041565015e-04 + 1.129978074560730e-04 + 1.120908266963163e-04 + 1.111877706801771e-04 + 1.102886481165339e-04 + 1.093934676008822e-04 + 1.085022375478793e-04 + 1.076149663238430e-04 + 1.067316622735248e-04 + 1.058523335072715e-04 + 1.049769880021785e-04 + 1.041056336506420e-04 + 1.032382782134568e-04 + 1.023749293560659e-04 + 1.015155946454073e-04 + 1.006602814254268e-04 + 9.980899691604087e-05 + 9.896174827822380e-05 + 9.811854249648769e-05 + 9.727938640362722e-05 + 9.644428669167931e-05 + 9.561324990949941e-05 + 9.478628247235907e-05 + 9.396339064407664e-05 + 9.314458052650697e-05 + 9.232985807344924e-05 + 9.151922908266137e-05 + 9.071269919463392e-05 + 8.991027389908417e-05 + 8.911195851702552e-05 + 8.831775819982511e-05 + 8.752767793866873e-05 + 8.674172256023528e-05 + 8.595989672073575e-05 + 8.518220490590348e-05 + 8.440865141920385e-05 + 8.363924039733809e-05 + 8.287397580722622e-05 + 8.211286142104977e-05 + 8.135590084051729e-05 + 8.060309749193613e-05 + 7.985445459658365e-05 + 7.910997520302950e-05 + 7.836966218298747e-05 + 7.763351820320998e-05 + 7.690154574559998e-05 + 7.617374709914362e-05 + 7.545012436145964e-05 + 7.473067944430294e-05 + 7.401541405207780e-05 + 7.330432968888297e-05 + 7.259742767376570e-05 + 7.189470911942744e-05 + 7.119617492698978e-05 + 7.050182580949816e-05 + 6.981166227552030e-05 + 6.912568461899398e-05 + 6.844389294104750e-05 + 6.776628713300132e-05 + 6.709286687130013e-05 + 6.642363163388969e-05 + 6.575858067871575e-05 + 6.509771305493562e-05 + 6.444102761503343e-05 + 6.378852298738557e-05 + 6.314019758583242e-05 + 6.249604962295056e-05 + 6.185607708979005e-05 + 6.122027775903875e-05 + 6.058864919749181e-05 + 5.996118875684596e-05 + 5.933789356597989e-05 + 5.871876053888907e-05 + 5.810378637807827e-05 + 5.749296757228591e-05 + 5.688630039241354e-05 + 5.628378087841946e-05 + 5.568540486517338e-05 + 5.509116797959273e-05 + 5.450106561933422e-05 + 5.391509296529475e-05 + 5.333324497665832e-05 + 5.275551640753726e-05 + 5.218190179953343e-05 + 5.161239545977182e-05 + 5.104699148146081e-05 + 5.048568375913861e-05 + 4.992846596763329e-05 + 4.937533154817934e-05 + 4.882627374147808e-05 + 4.828128557792042e-05 + 4.774035986717692e-05 + 4.720348921279551e-05 + 4.667066599018748e-05 + 4.614188237688400e-05 + 4.561713035194944e-05 + 4.509640165438987e-05 + 4.457968783032909e-05 + 4.406698023190481e-05 + 4.355826996891768e-05 + 4.305354796420506e-05 + 4.255280495560636e-05 + 4.205603144616347e-05 + 4.156321774032957e-05 + 4.107435395613752e-05 + 4.058942999665175e-05 + 4.010843556869507e-05 + 3.963136019085871e-05 + 3.915819316952545e-05 + 3.868892361719641e-05 + 3.822354046226270e-05 + 3.776203244031561e-05 + 3.730438809005640e-05 + 3.685059575689182e-05 + 3.640064360230198e-05 + 3.595451960373741e-05 + 3.551221155134442e-05 + 3.507370705450421e-05 + 3.463899354241650e-05 + 3.420805825588243e-05 + 3.378088825986720e-05 + 3.335747045272196e-05 + 3.293779155463552e-05 + 3.252183811026268e-05 + 3.210959649877579e-05 + 3.170105292073684e-05 + 3.129619341367949e-05 + 3.089500386055728e-05 + 3.049746997239612e-05 + 3.010357730585059e-05 + 2.971331126487755e-05 + 2.932665707619367e-05 + 2.894359982344077e-05 + 2.856412445132613e-05 + 2.818821573877814e-05 + 2.781585831987375e-05 + 2.744703669454755e-05 + 2.708173520948728e-05 + 2.671993807124836e-05 + 2.636162935767626e-05 + 2.600679300301263e-05 + 2.565541280257304e-05 + 2.530747242805460e-05 + 2.496295542635910e-05 + 2.462184521206604e-05 + 2.428412507785163e-05 + 2.394977819771233e-05 + 2.361878762181457e-05 + 2.329113628448998e-05 + 2.296680701293541e-05 + 2.264578251757474e-05 + 2.232804539557172e-05 + 2.201357814530585e-05 + 2.170236315904943e-05 + 2.139438272306276e-05 + 2.108961903561866e-05 + 2.078805419745760e-05 + 2.048967020582218e-05 + 2.019444897050880e-05 + 1.990237231614296e-05 + 1.961342197777572e-05 + 1.932757961462368e-05 + 1.904482680353188e-05 + 1.876514502948172e-05 + 1.848851571515060e-05 + 1.821492021640795e-05 + 1.794433980831370e-05 + 1.767675569461099e-05 + 1.741214902258527e-05 + 1.715050088166273e-05 + 1.689179228451716e-05 + 1.663600419203502e-05 + 1.638311752659296e-05 + 1.613311314360082e-05 + 1.588597184706167e-05 + 1.564167440067926e-05 + 1.540020151829502e-05 + 1.516153387453479e-05 + 1.492565211244357e-05 + 1.469253682958783e-05 + 1.446216858599219e-05 + 1.423452791421707e-05 + 1.400959531801727e-05 + 1.378735127470914e-05 + 1.356777623611474e-05 + 1.335085063337062e-05 + 1.313655487876277e-05 + 1.292486936494610e-05 + 1.271577446639333e-05 + 1.250925054517824e-05 + 1.230527796605363e-05 + 1.210383708165599e-05 + 1.190490823144681e-05 + 1.170847175649016e-05 + 1.151450799717159e-05 + 1.132299729345123e-05 + 1.113391999104486e-05 + 1.094725644586371e-05 + 1.076298702423590e-05 + 1.058109209097755e-05 + 1.040155202830912e-05 + 1.022434724511555e-05 + 1.004945815519835e-05 + 9.876865191434875e-06 + 9.706548817576976e-06 + 9.538489515829050e-06 + 9.372667791395497e-06 + 9.209064181113714e-06 + 9.047659251528417e-06 + 8.888433598428113e-06 + 8.731367852817854e-06 + 8.576442682615395e-06 + 8.423638791088146e-06 + 8.272936922653283e-06 + 8.124317863654203e-06 + 7.977762440936675e-06 + 7.833251528895281e-06 + 7.690766049713759e-06 + 7.550286971453687e-06 + 7.411795314787993e-06 + 7.275272152381047e-06 + 7.140698608042407e-06 + 7.008055865069554e-06 + 6.877325162999093e-06 + 6.748487797069182e-06 + 6.621525126924672e-06 + 6.496418573295794e-06 + 6.373149617974847e-06 + 6.251699810845691e-06 + 6.132050767139283e-06 + 6.014184168887862e-06 + 5.898081770597224e-06 + 5.783725394973654e-06 + 5.671096936050662e-06 + 5.560178365641361e-06 + 5.450951726966341e-06 + 5.343399138917566e-06 + 5.237502802602254e-06 + 5.133244993336976e-06 + 5.030608065950253e-06 + 4.929574461382145e-06 + 4.830126698086031e-06 + 4.732247378331277e-06 + 4.635919192753656e-06 + 4.541124912789582e-06 + 4.447847398958468e-06 + 4.356069602328335e-06 + 4.265774557056776e-06 + 4.176945389932598e-06 + 4.089565320281935e-06 + 4.003617653697645e-06 + 3.919085793399028e-06 + 3.835953236362346e-06 + 3.754203567594348e-06 + 3.673820472678765e-06 + 3.594787733829004e-06 + 3.517089224074456e-06 + 3.440708918621393e-06 + 3.365630891050476e-06 + 3.291839308866544e-06 + 3.219318444550688e-06 + 3.148052669614368e-06 + 3.078026451876596e-06 + 3.009224366838337e-06 + 2.941631088840265e-06 + 2.875231390541817e-06 + 2.810010156134118e-06 + 2.745952369256776e-06 + 2.683043113446972e-06 + 2.621267584374269e-06 + 2.560611078236376e-06 + 2.501058994098514e-06 + 2.442596843868032e-06 + 2.385210240033010e-06 + 2.328884899906223e-06 + 2.273606655048426e-06 + 2.219361438179688e-06 + 2.166135288678882e-06 + 2.113914360085187e-06 + 2.062684907096663e-06 + 2.012433292648363e-06 + 1.963145994708785e-06 + 1.914809593193956e-06 + 1.867410777738679e-06 + 1.820936351687259e-06 + 1.775373220609589e-06 + 1.730708401732302e-06 + 1.686929024947410e-06 + 1.644022323067757e-06 + 1.601975642837270e-06 + 1.560776441656341e-06 + 1.520412279298016e-06 + 1.480870830315665e-06 + 1.442139880698395e-06 + 1.404207319625165e-06 + 1.367061149777226e-06 + 1.330689483155573e-06 + 1.295080535963615e-06 + 1.260222640873472e-06 + 1.226104237141460e-06 + 1.192713867093549e-06 + 1.160040189500492e-06 + 1.128071969424555e-06 + 1.096798076008267e-06 + 1.066207493417804e-06 + 1.036289310659725e-06 + 1.007032721493895e-06 + 9.784270338592895e-07 + 9.504616588874799e-07 + 9.231261128777845e-07 + 8.964100256766087e-07 + 8.703031286825232e-07 + 8.447952585150839e-07 + 8.198763641874936e-07 + 7.955364948286083e-07 + 7.717658049346632e-07 + 7.485545598914059e-07 + 7.258931238786546e-07 + 7.037719665410901e-07 + 6.821816664988581e-07 + 6.611128998791421e-07 + 6.405564483055948e-07 + 6.205032003278225e-07 + 6.009441408121614e-07 + 5.818703600152187e-07 + 5.632730528626383e-07 + 5.451435094097432e-07 + 5.274731247677268e-07 + 5.102533965000488e-07 + 4.934759162480692e-07 + 4.771323800991179e-07 + 4.612145841662162e-07 + 4.457144176881476e-07 + 4.306238737382497e-07 + 4.159350428538716e-07 + 4.016401077051372e-07 + 3.877313539402903e-07 + 3.742011622647174e-07 + 3.610420046499709e-07 + 3.482464547968944e-07 + 3.358071790150475e-07 + 3.237169340794661e-07 + 3.119685770955318e-07 + 3.005550554375413e-07 + 2.894694062090586e-07 + 2.787047650882795e-07 + 2.682543557659438e-07 + 2.581114909968296e-07 + 2.482695801165890e-07 + 2.387221182727572e-07 + 2.294626890008751e-07 + 2.204849703818711e-07 + 2.117827241548630e-07 + 2.033497996067267e-07 + 1.951801384624956e-07 + 1.872677641420447e-07 + 1.796067867093452e-07 + 1.721914062527642e-07 + 1.650159027896018e-07 + 1.580746421942365e-07 + 1.513620776690125e-07 + 1.448727406655565e-07 + 1.386012477684331e-07 + 1.325423000867771e-07 + 1.266906752868051e-07 + 1.210412352836648e-07 + 1.155889239131470e-07 + 1.103287600176973e-07 + 1.052558455547364e-07 + 1.003653617115032e-07 + 9.565256321109978e-08 + 9.111278671292873e-08 + 8.674144556415159e-08 + 8.253402527034383e-08 + 7.848609177536523e-08 + 7.459328520671134e-08 + 7.085131661573615e-08 + 6.725597593242166e-08 + 6.380312478868793e-08 + 6.048869454868003e-08 + 5.730869376312298e-08 + 5.425920030057914e-08 + 5.133636064443935e-08 + 4.853639660958214e-08 + 4.585559704969457e-08 + 4.329031836991616e-08 + 4.083699031045398e-08 + 3.849210751108346e-08 + 3.625223113812888e-08 + 3.411399355038575e-08 + 3.207408998824199e-08 + 3.012928121511996e-08 + 2.827639696078167e-08 + 2.651232793166280e-08 + 2.483402934338396e-08 + 2.323852311474514e-08 + 2.172289034680298e-08 + 2.028427559044146e-08 + 1.891988778877689e-08 + 1.762699339728036e-08 + 1.640292125402531e-08 + 1.524506224991720e-08 + 1.415086320949184e-08 + 1.311783222446413e-08 + 1.214353712508316e-08 + 1.122560019257377e-08 + 1.036170378687137e-08 + 9.549587722603005e-09 + 8.787044877843281e-09 + 8.071926961605364e-09 + 7.402140903161946e-09 + 6.775645388472587e-09 + 6.190456604129221e-09 + 5.644643792323680e-09 + 5.136326726146161e-09 + 4.663681262833891e-09 + 4.224934232596794e-09 + 3.818361845837701e-09 + 3.442294891302550e-09 + 3.095113141246544e-09 + 2.775244665814773e-09 + 2.481170514027403e-09 + 2.211418834557044e-09 + 1.964565051498559e-09 + 1.739235878927056e-09 + 1.534103359980556e-09 + 1.347885831336700e-09 + 1.179351163642234e-09 + 1.027310894648576e-09 + 8.906218977827446e-10 + 7.681887799049897e-10 + 6.589582548472836e-10 + 5.619214238374888e-10 + 4.761152985830568e-10 + 4.006175343477256e-10 + 3.345492227248809e-10 + 2.770755362128679e-10 + 2.274009179016229e-10 + 1.847722840116674e-10 + 1.484788129161787e-10 + 1.178476648704315e-10 + 9.224748788184573e-11 + 7.108739902161543e-11 + 5.381328706422649e-11 + 3.991151299277479e-11 + 2.890715266694438e-11 + 2.036091648096713e-11 + 1.387293445657948e-11 + 9.080348320515963e-12 + 5.654863833225597e-12 + 3.306507674167889e-12 + 1.780689492983021e-12 + 8.563646514161430e-13 + 3.496037276049943e-13 + 1.104943293034196e-13 + 2.161027650041889e-14 + 5.028049336448720e-16 + 0.000000000000000e+00 + 0.000000000000000e+00 + 7.485272593961791e+04 + 1.493519318697679e+05 + 2.234970831294996e+05 + 2.972876533345640e+05 + 3.707231243774131e+05 + 4.438029864272003e+05 + 5.165267379297798e+05 + 5.888938856077072e+05 + 6.609039444602393e+05 + 7.325564377633340e+05 + 8.038508970696502e+05 + 8.747868622085482e+05 + 9.453638812860892e+05 + 1.015581510685036e+06 + 1.085439315064852e+06 + 1.154936867361703e+06 + 1.224073748788454e+06 + 1.292849548834672e+06 + 1.361263865266626e+06 + 1.429316304127287e+06 + 1.497006479736322e+06 + 1.564334014690106e+06 + 1.631298539861710e+06 + 1.697899694400910e+06 + 1.764137125734180e+06 + 1.830010489564698e+06 + 1.895519449872339e+06 + 1.960663678913685e+06 + 2.025442857222013e+06 + 2.089856673607306e+06 + 2.153904825156247e+06 + 2.217587017232217e+06 + 2.280902963475303e+06 + 2.343852385802290e+06 + 2.406435014406665e+06 + 2.468650587758616e+06 + 2.530498852605031e+06 + 2.591979563969503e+06 + 2.653092485152322e+06 + 2.713837387730482e+06 + 2.774214051557675e+06 + 2.834222264764299e+06 + 2.893861823757447e+06 + 2.953132533220919e+06 + 3.012034206115212e+06 + 3.070566663677527e+06 + 3.128729735421764e+06 + 3.186523259138526e+06 + 3.243947080895115e+06 + 3.301001055035538e+06 + 3.357685044180497e+06 + 3.413998919227402e+06 + 3.469942559350358e+06 + 3.525515852000176e+06 + 3.580718692904367e+06 + 3.635550986067140e+06 + 3.690012643769410e+06 + 3.744103586568788e+06 + 3.797823743299592e+06 + 3.851173051072835e+06 + 3.904151455276238e+06 + 3.956758909574216e+06 + 4.008995375907890e+06 + 4.060860824495079e+06 + 4.112355233830309e+06 + 4.163478590684799e+06 + 4.214230890106475e+06 + 4.264612135419963e+06 + 4.314622338226588e+06 + 4.364261518404378e+06 + 4.413529704108060e+06 + 4.462426931769069e+06 + 4.510953246095533e+06 + 4.559108700072286e+06 + 4.606893354960858e+06 + 4.654307280299488e+06 + 4.701350553903108e+06 + 4.748023261863358e+06 + 4.794325498548575e+06 + 4.840257366603798e+06 + 4.885818976950768e+06 + 4.931010448787929e+06 + 4.975831909590418e+06 + 5.020283495110085e+06 + 5.064365349375471e+06 + 5.108077624691823e+06 + 5.151420481641092e+06 + 5.194394089081923e+06 + 5.236998624149668e+06 + 5.279234272256376e+06 + 5.321101227090800e+06 + 5.362599690618395e+06 + 5.403729873081312e+06 + 5.444491992998408e+06 + 5.484886277165242e+06 + 5.524912960654069e+06 + 5.564572286813851e+06 + 5.603864507270245e+06 + 5.642789881925615e+06 + 5.681348678959022e+06 + 5.719541174826232e+06 + 5.757367654259708e+06 + 5.794828410268617e+06 + 5.831923744138825e+06 + 5.868653965432902e+06 + 5.905019391990117e+06 + 5.941020349926441e+06 + 5.976657173634544e+06 + 6.011930205783804e+06 + 6.046839797320290e+06 + 6.081386307466779e+06 + 6.115570103722748e+06 + 6.149391561864376e+06 + 6.182851065944540e+06 + 6.215949008292822e+06 + 6.248685789515501e+06 + 6.281061818495561e+06 + 6.313077512392686e+06 + 6.344733296643257e+06 + 6.376029604960365e+06 + 6.406966879333793e+06 + 6.437545570030033e+06 + 6.467766135592271e+06 + 6.497629042840399e+06 + 6.527134766871008e+06 + 6.556283791057392e+06 + 6.585076607049545e+06 + 6.613513714774162e+06 + 6.641595622434638e+06 + 6.669322846511072e+06 + 6.696695911760264e+06 + 6.723715351215711e+06 + 6.750381706187615e+06 + 6.776695526262878e+06 + 6.802657369305105e+06 + 6.828267801454599e+06 + 6.853527397128366e+06 + 6.878436739020114e+06 + 6.902996418100249e+06 + 6.927207033615881e+06 + 6.951069193090819e+06 + 6.974583512325577e+06 + 6.997750615397365e+06 + 7.020571134660101e+06 + 7.043045710744397e+06 + 7.065174992557568e+06 + 7.086959637283633e+06 + 7.108400310383311e+06 + 7.129497685594021e+06 + 7.150252444929884e+06 + 7.170665278681723e+06 + 7.190736885417059e+06 + 7.210467971980117e+06 + 7.229859253491821e+06 + 7.248911453349800e+06 + 7.267625303228384e+06 + 7.286001543078595e+06 + 7.304040921128170e+06 + 7.321744193881537e+06 + 7.339112126119829e+06 + 7.356145490900878e+06 + 7.372845069559221e+06 + 7.389211651706094e+06 + 7.405246035229432e+06 + 7.420949026293878e+06 + 7.436321439340766e+06 + 7.451364097088138e+06 + 7.466077830530737e+06 + 7.480463478940005e+06 + 7.494521889864086e+06 + 7.508253919127826e+06 + 7.521660430832772e+06 + 7.534742297357169e+06 + 7.547500399355968e+06 + 7.559935625760819e+06 + 7.572048873780073e+06 + 7.583841048898782e+06 + 7.595313064878696e+06 + 7.606465843758276e+06 + 7.617300315852673e+06 + 7.627817419753745e+06 + 7.638018102330050e+06 + 7.647903318726848e+06 + 7.657474032366097e+06 + 7.666731214946462e+06 + 7.675675846443305e+06 + 7.684308915108687e+06 + 7.692631417471377e+06 + 7.700644358336839e+06 + 7.708348750787240e+06 + 7.715745616181449e+06 + 7.722835984155037e+06 + 7.729620892620270e+06 + 7.736101387766127e+06 + 7.742278524058277e+06 + 7.748153364239094e+06 + 7.753726979327655e+06 + 7.759000448619737e+06 + 7.763974859687817e+06 + 7.768651308381077e+06 + 7.773030898825390e+06 + 7.777114743423343e+06 + 7.780903962854218e+06 + 7.784399686073998e+06 + 7.787603050315368e+06 + 7.790515201087713e+06 + 7.793137292177119e+06 + 7.795470485646380e+06 + 7.797515951834979e+06 + 7.799274869359110e+06 + 7.800748425111664e+06 + 7.801937814262233e+06 + 7.802844240257111e+06 + 7.803468914819297e+06 + 7.803813057948484e+06 + 7.803877897921070e+06 + 7.803664671290156e+06 + 7.803174622885538e+06 + 7.802409005813722e+06 + 7.801369081457905e+06 + 7.800056119477995e+06 + 7.798471397810592e+06 + 7.796616202669007e+06 + 7.794491828543244e+06 + 7.792099578200010e+06 + 7.789440762682715e+06 + 7.786516701311473e+06 + 7.783328721683091e+06 + 7.779878159671083e+06 + 7.776166359425665e+06 + 7.772194673373749e+06 + 7.767964462218953e+06 + 7.763477094941595e+06 + 7.758733948798692e+06 + 7.753736409323964e+06 + 7.748485870327833e+06 + 7.742983733897421e+06 + 7.737231410396548e+06 + 7.731230318465743e+06 + 7.724981885022229e+06 + 7.718487545259933e+06 + 7.711748742649483e+06 + 7.704766928938209e+06 + 7.697543564150140e+06 + 7.690080116586007e+06 + 7.682378062823243e+06 + 7.674438887715982e+06 + 7.666264084395060e+06 + 7.657855154268012e+06 + 7.649213607019073e+06 + 7.640340960609185e+06 + 7.631238741275986e+06 + 7.621908483533815e+06 + 7.612351730173716e+06 + 7.602570032263434e+06 + 7.592564949147409e+06 + 7.582338048446788e+06 + 7.571890906059416e+06 + 7.561225106159844e+06 + 7.550342241199316e+06 + 7.539243911905785e+06 + 7.527931727283904e+06 + 7.516407304615024e+06 + 7.504672269457198e+06 + 7.492728241314434e+06 + 7.480576638153253e+06 + 7.468218723741564e+06 + 7.455655760425863e+06 + 7.442889013018662e+06 + 7.429919748798485e+06 + 7.416749237509867e+06 + 7.403378751363355e+06 + 7.389809565035504e+06 + 7.376042955668893e+06 + 7.362080202872100e+06 + 7.347922588719724e+06 + 7.333571397752370e+06 + 7.319027916976659e+06 + 7.304293435865226e+06 + 7.289369246356713e+06 + 7.274256642855777e+06 + 7.258956922233087e+06 + 7.243471383825325e+06 + 7.227801329435183e+06 + 7.211948063331366e+06 + 7.195912892248592e+06 + 7.179697125387593e+06 + 7.163302074415106e+06 + 7.146729053463890e+06 + 7.129979379132709e+06 + 7.113054370486340e+06 + 7.095955349055575e+06 + 7.078683638837219e+06 + 7.061240566294081e+06 + 7.043627460354994e+06 + 7.025845652414794e+06 + 7.007896476334333e+06 + 6.989781268440476e+06 + 6.971501367526096e+06 + 6.953058114850082e+06 + 6.934452854137335e+06 + 6.915686931578767e+06 + 6.896761695831302e+06 + 6.877678498017876e+06 + 6.858438691727439e+06 + 6.839043633014950e+06 + 6.819494680401385e+06 + 6.799793194873727e+06 + 6.779940539884974e+06 + 6.759938081354136e+06 + 6.739787187666233e+06 + 6.719489229672301e+06 + 6.699045580689385e+06 + 6.678457616500544e+06 + 6.657726715354848e+06 + 6.636854257967380e+06 + 6.615841627519235e+06 + 6.594690209657516e+06 + 6.573401392495350e+06 + 6.551976566611862e+06 + 6.530417125052197e+06 + 6.508724463327511e+06 + 6.486899979414972e+06 + 6.464945073757762e+06 + 6.442861149265066e+06 + 6.420649611312096e+06 + 6.398311867740063e+06 + 6.375849328856199e+06 + 6.353263407433745e+06 + 6.330555518711952e+06 + 6.307727080396090e+06 + 6.284779512657427e+06 + 6.261714238133261e+06 + 6.238532681926889e+06 + 6.215236271607627e+06 + 6.191826437210800e+06 + 6.168304611237747e+06 + 6.144672228655818e+06 + 6.120930726898375e+06 + 6.097081545864792e+06 + 6.073126127920459e+06 + 6.049065917896771e+06 + 6.024902363091142e+06 + 6.000636913266994e+06 + 5.976271020653763e+06 + 5.951806139946896e+06 + 5.927243728307854e+06 + 5.902585245364108e+06 + 5.877832153209144e+06 + 5.852985916402456e+06 + 5.828048001969552e+06 + 5.803019879401957e+06 + 5.777903020657199e+06 + 5.752698900158828e+06 + 5.727408994796395e+06 + 5.702034783925475e+06 + 5.676577749367647e+06 + 5.651039375410506e+06 + 5.625421148807654e+06 + 5.599724558778713e+06 + 5.573951097009313e+06 + 5.548102257651095e+06 + 5.522179537321717e+06 + 5.496184435104840e+06 + 5.470118452550147e+06 + 5.443983093673326e+06 + 5.417779864956085e+06 + 5.391510275346133e+06 + 5.365175836257203e+06 + 5.338778061569033e+06 + 5.312318467627374e+06 + 5.285798573243992e+06 + 5.259219899696662e+06 + 5.232583970729172e+06 + 5.205892312551324e+06 + 5.179146453838928e+06 + 5.152347925733812e+06 + 5.125498261843814e+06 + 5.098598998242779e+06 + 5.071651673470572e+06 + 5.044657828533064e+06 + 5.017619006902143e+06 + 4.990536754515706e+06 + 4.963412619777663e+06 + 4.936248153557934e+06 + 4.909044909192459e+06 + 4.881804442483181e+06 + 4.854528311698059e+06 + 4.827218077571064e+06 + 4.799875303302180e+06 + 4.772501554557402e+06 + 4.745098399468737e+06 + 4.717667408634203e+06 + 4.690210155117837e+06 + 4.662728214449679e+06 + 4.635223164625784e+06 + 4.607696586108224e+06 + 4.580150061825077e+06 + 4.552585177170437e+06 + 4.525003520004408e+06 + 4.497406680653105e+06 + 4.469796251908661e+06 + 4.442173829029216e+06 + 4.414541009738924e+06 + 4.386899394227949e+06 + 4.359250585152469e+06 + 4.331596187634676e+06 + 4.303937809262771e+06 + 4.276277060090966e+06 + 4.248615552639492e+06 + 4.220954901894585e+06 + 4.193296725308497e+06 + 4.165642642799490e+06 + 4.137994276751838e+06 + 4.110353252015833e+06 + 4.082721195907769e+06 + 4.055099738209962e+06 + 4.027490511170732e+06 + 3.999895149504419e+06 + 3.972315290391369e+06 + 3.944752573477943e+06 + 3.917208640876513e+06 + 3.889685137165464e+06 + 3.862183709389194e+06 + 3.834706007058111e+06 + 3.807253682148634e+06 + 3.779828389103201e+06 + 3.752431784830255e+06 + 3.725065528704253e+06 + 3.697731282565667e+06 + 3.670430710720977e+06 + 3.643165479942679e+06 + 3.615937259469279e+06 + 3.588747721005293e+06 + 3.561598538721256e+06 + 3.534491389253709e+06 + 3.507427951705208e+06 + 3.480409907644318e+06 + 3.453438941105620e+06 + 3.426516738589706e+06 + 3.399644989063177e+06 + 3.372825383958653e+06 + 3.346070405300663e+06 + 3.319465764034668e+06 + 3.293075510459727e+06 + 3.266878224028187e+06 + 3.240869303162930e+06 + 3.215052515525467e+06 + 3.189425288821125e+06 + 3.163986116962672e+06 + 3.138734196986282e+06 + 3.113668261011591e+06 + 3.088787111422079e+06 + 3.064089610843659e+06 + 3.039574592322599e+06 + 3.015240898358055e+06 + 2.991087379108502e+06 + 2.967112887579310e+06 + 2.943316282301805e+06 + 2.919696425519270e+06 + 2.896252185185970e+06 + 2.872982434032476e+06 + 2.849886048305633e+06 + 2.826961910405915e+06 + 2.804208907130155e+06 + 2.781625929123051e+06 + 2.759211873644148e+06 + 2.736965641930875e+06 + 2.714886139213983e+06 + 2.692972277509980e+06 + 2.671222972611625e+06 + 2.649637144535781e+06 + 2.628213719738566e+06 + 2.606951628696007e+06 + 2.585849806893141e+06 + 2.564907195391811e+06 + 2.544122739173453e+06 + 2.523495389008342e+06 + 2.503024101022326e+06 + 2.482707834844927e+06 + 2.462545556054412e+06 + 2.442536236120740e+06 + 2.422678849863131e+06 + 2.402972377820649e+06 + 2.383415806334849e+06 + 2.364008125120872e+06 + 2.344748329835404e+06 + 2.325635421794777e+06 + 2.306668405813749e+06 + 2.287846292982958e+06 + 2.269168099757709e+06 + 2.250632846050586e+06 + 2.232239558087812e+06 + 2.213987266957964e+06 + 2.195875007435864e+06 + 2.177901821473463e+06 + 2.160066755143500e+06 + 2.142368857948063e+06 + 2.124807187017495e+06 + 2.107380803567688e+06 + 2.090088772295509e+06 + 2.072930165358991e+06 + 2.055904058912681e+06 + 2.039009532618940e+06 + 2.022245673041180e+06 + 2.005611571515091e+06 + 1.989106323649552e+06 + 1.972729030298793e+06 + 1.956478797095825e+06 + 1.940354734917566e+06 + 1.924355960016194e+06 + 1.908481592593613e+06 + 1.892730757829583e+06 + 1.877102587255698e+06 + 1.861596215902473e+06 + 1.846210783186639e+06 + 1.830945435012332e+06 + 1.815799321323061e+06 + 1.800771597138300e+06 + 1.785861422681660e+06 + 1.771067961851037e+06 + 1.756390384114008e+06 + 1.741827864373811e+06 + 1.727379581118251e+06 + 1.713044718232857e+06 + 1.698822464839031e+06 + 1.684712013805151e+06 + 1.670712563808684e+06 + 1.656823318006428e+06 + 1.643043483055245e+06 + 1.629372271790869e+06 + 1.615808901794204e+06 + 1.602352594044968e+06 + 1.589002574975609e+06 + 1.575758076322615e+06 + 1.562618333634041e+06 + 1.549582587186907e+06 + 1.536650081999105e+06 + 1.523820067124634e+06 + 1.511091797064626e+06 + 1.498464530780005e+06 + 1.485937531189585e+06 + 1.473510066471004e+06 + 1.461181408848471e+06 + 1.448950834625962e+06 + 1.436817625926470e+06 + 1.424781068397768e+06 + 1.412840451407005e+06 + 1.400995070309470e+06 + 1.389244224245752e+06 + 1.377587216393601e+06 + 1.366023355231714e+06 + 1.354551952598923e+06 + 1.343172324427429e+06 + 1.331883792566280e+06 + 1.320685682335073e+06 + 1.309577322956444e+06 + 1.298558048406515e+06 + 1.287627196362487e+06 + 1.276784109496439e+06 + 1.266028134784103e+06 + 1.255358622320226e+06 + 1.244774926866806e+06 + 1.234276408467881e+06 + 1.223862430240984e+06 + 1.213532358913532e+06 + 1.203285566621101e+06 + 1.193121428991948e+06 + 1.183039325468658e+06 + 1.173038640304339e+06 + 1.163118761212139e+06 + 1.153279079987504e+06 + 1.143518992564451e+06 + 1.133837898317260e+06 + 1.124235201394960e+06 + 1.114710310121780e+06 + 1.105262636013577e+06 + 1.095891594215875e+06 + 1.086596604396163e+06 + 1.077377090233802e+06 + 1.068232479242110e+06 + 1.059162202266971e+06 + 1.050165693700918e+06 + 1.041242393088349e+06 + 1.032391743039430e+06 + 1.023613189178869e+06 + 1.014906181731556e+06 + 1.006270174355871e+06 + 9.977046244036794e+05 + 9.892089935677024e+05 + 9.807827465832273e+05 + 9.724253516436865e+05 + 9.641362810046984e+05 + 9.559150102252770e+05 + 9.477610188719215e+05 + 9.396737899139688e+05 + 9.316528091743080e+05 + 9.236975665277143e+05 + 9.158075561735997e+05 + 9.079822751134991e+05 + 9.002212236533747e+05 + 8.925239057014534e+05 + 8.848898281604102e+05 + 8.773185021612709e+05 + 8.698094424648809e+05 + 8.623621663528095e+05 + 8.549761944053203e+05 + 8.476510510446843e+05 + 8.403862637513808e+05 + 8.331813638606276e+05 + 8.260358860837971e+05 + 8.189493675787508e+05 + 8.119213484350282e+05 + 8.049513730504208e+05 + 7.980389891667470e+05 + 7.911837471192866e+05 + 7.843852003599521e+05 + 7.776429053419405e+05 + 7.709564221446526e+05 + 7.643253140173181e+05 + 7.577491471803443e+05 + 7.512274911598503e+05 + 7.447599180231568e+05 + 7.383460026539576e+05 + 7.319853241781880e+05 + 7.256774641850799e+05 + 7.194220067146936e+05 + 7.132185395309449e+05 + 7.070666529520636e+05 + 7.009659400728574e+05 + 6.949159975085063e+05 + 6.889164244086053e+05 + 6.829668228095188e+05 + 6.770667979456050e+05 + 6.712159574726904e+05 + 6.654139120281750e+05 + 6.596602754201142e+05 + 6.539546638052445e+05 + 6.482966962660485e+05 + 6.426859949531512e+05 + 6.371221843431445e+05 + 6.316048918617199e+05 + 6.261337478197705e+05 + 6.207083848228143e+05 + 6.153284385055641e+05 + 6.099935472682050e+05 + 6.047033517354903e+05 + 5.994574954765684e+05 + 5.942556247644721e+05 + 5.890973881315375e+05 + 5.839824370501742e+05 + 5.789104255366600e+05 + 5.738810098259439e+05 + 5.688938490610282e+05 + 5.639486048510919e+05 + 5.590449410545636e+05 + 5.541825244030216e+05 + 5.493610239467514e+05 + 5.445801109611018e+05 + 5.398394595653637e+05 + 5.351387461239359e+05 + 5.304776492529869e+05 + 5.258558503354813e+05 + 5.212730328842620e+05 + 5.167288826663374e+05 + 5.122230881980868e+05 + 5.077553400369428e+05 + 5.033253309731948e+05 + 4.989327564601310e+05 + 4.945773139811803e+05 + 4.902587033143605e+05 + 4.859766266490913e+05 + 4.817307881770549e+05 + 4.775208945372272e+05 + 4.733466546121029e+05 + 4.692077791818720e+05 + 4.651039814988278e+05 + 4.610349770333872e+05 + 4.570004830895544e+05 + 4.530002193970305e+05 + 4.490339078641191e+05 + 4.451012721716975e+05 + 4.412020383482487e+05 + 4.373359346346440e+05 + 4.335026910461138e+05 + 4.297020398291695e+05 + 4.259337153289251e+05 + 4.221974536699117e+05 + 4.184929932504728e+05 + 4.148200744355357e+05 + 4.111784393468680e+05 + 4.075678324287459e+05 + 4.039879999559653e+05 + 4.004386899065928e+05 + 3.969196525836200e+05 + 3.934306400492930e+05 + 3.899714060581240e+05 + 3.865417066557175e+05 + 3.831412995849459e+05 + 3.797699442729113e+05 + 3.764274023566474e+05 + 3.731134371233769e+05 + 3.698278135622827e+05 + 3.665702987827645e+05 + 3.633406615280775e+05 + 3.601386722825769e+05 + 3.569641034535824e+05 + 3.538167290782596e+05 + 3.506963250581825e+05 + 3.476026690576235e+05 + 3.445355402744773e+05 + 3.414947198014101e+05 + 3.384799905288533e+05 + 3.354911367821696e+05 + 3.325279446663284e+05 + 3.295902021531574e+05 + 3.266776986085196e+05 + 3.237902250531212e+05 + 3.209275743946921e+05 + 3.180895409646722e+05 + 3.152759207164211e+05 + 3.124865112943467e+05 + 3.097211117598721e+05 + 3.069795229448014e+05 + 3.042615472339510e+05 + 3.015669883675390e+05 + 2.988956518738279e+05 + 2.962473447339852e+05 + 2.936218752484120e+05 + 2.910190535228683e+05 + 2.884386911235514e+05 + 2.858806009067059e+05 + 2.833445973150213e+05 + 2.808304963224871e+05 + 2.783381153152796e+05 + 2.758672731341289e+05 + 2.734177900017136e+05 + 2.709894875428715e+05 + 2.685821889451269e+05 + 2.661957187314447e+05 + 2.638299027837526e+05 + 2.614845683836235e+05 + 2.591595441417535e+05 + 2.568546601323142e+05 + 2.545697477628685e+05 + 2.523046396706559e+05 + 2.500591699434964e+05 + 2.478331740644226e+05 + 2.456264886409644e+05 + 2.434389516128850e+05 + 2.412704023657298e+05 + 2.391206814330098e+05 + 2.369896306904384e+05 + 2.348770933197599e+05 + 2.327829136173563e+05 + 2.307069372775990e+05 + 2.286490111745211e+05 + 2.266089832623643e+05 + 2.245867029748616e+05 + 2.225820209237310e+05 + 2.205947887183862e+05 + 2.186248592921233e+05 + 2.166720868039439e+05 + 2.147363264605261e+05 + 2.128174347706827e+05 + 2.109152693889452e+05 + 2.090296889843596e+05 + 2.071605535077064e+05 + 2.053077240108720e+05 + 2.034710625599661e+05 + 2.016504325007521e+05 + 1.998456982030229e+05 + 1.980567250370223e+05 + 1.962833797138016e+05 + 1.945255298870997e+05 + 1.927830441323482e+05 + 1.910557922964590e+05 + 1.893436452442803e+05 + 1.876464748512476e+05 + 1.859641540986015e+05 + 1.842965568967865e+05 + 1.826435581738182e+05 + 1.810050340354470e+05 + 1.793808614993985e+05 + 1.777709185575675e+05 + 1.761750842223128e+05 + 1.745932384546507e+05 + 1.730252623268235e+05 + 1.714710377603550e+05 + 1.699304475698536e+05 + 1.684033757560533e+05 + 1.668897071565261e+05 + 1.653893274220018e+05 + 1.639021233234161e+05 + 1.624279825159149e+05 + 1.609667934564489e+05 + 1.595184456811041e+05 + 1.580828296015031e+05 + 1.566598363968120e+05 + 1.552493582649543e+05 + 1.538512882702573e+05 + 1.524655202573447e+05 + 1.510919491064028e+05 + 1.497304705096718e+05 + 1.483809809029638e+05 + 1.470433777326744e+05 + 1.457175592117312e+05 + 1.444034242942686e+05 + 1.431008729933990e+05 + 1.418098060421684e+05 + 1.405301248671864e+05 + 1.392617319094920e+05 + 1.380045303259556e+05 + 1.367584239714278e+05 + 1.355233176631985e+05 + 1.342991169575939e+05 + 1.330857281367400e+05 + 1.318830583220329e+05 + 1.306910153813551e+05 + 1.295095079605118e+05 + 1.283384454277201e+05 + 1.271777378619642e+05 + 1.260272961737778e+05 + 1.248870320778846e+05 + 1.237568578844075e+05 + 1.226366865814357e+05 + 1.215264320654815e+05 + 1.204260088572700e+05 + 1.193353321256488e+05 + 1.182543179024696e+05 + 1.171828828329888e+05 + 1.161209441971572e+05 + 1.150684200368906e+05 + 1.140252290172446e+05 + 1.129912905290012e+05 + 1.119665246989244e+05 + 1.109508522377596e+05 + 1.099441945145749e+05 + 1.089464735474612e+05 + 1.079576119759672e+05 + 1.069775332658437e+05 + 1.060061613940063e+05 + 1.050434208615313e+05 + 1.040892370245828e+05 + 1.031435357647047e+05 + 1.022062434696232e+05 + 1.012772873208916e+05 + 1.003565950684523e+05 + 9.944409498683986e+04 + 9.853971604124359e+04 + 9.764338777276211e+04 + 9.675504027159151e+04 + 9.587460425195689e+04 + 9.500201099602232e+04 + 9.413719236230559e+04 + 9.328008081668093e+04 + 9.243060935253548e+04 + 9.158871152497102e+04 + 9.075432150057999e+04 + 8.992737394814150e+04 + 8.910780408381460e+04 + 8.829554772812854e+04 + 8.749054118346877e+04 + 8.669272128864085e+04 + 8.590202548133289e+04 + 8.511839166524833e+04 + 8.434175826486869e+04 + 8.357206428147563e+04 + 8.280924917713979e+04 + 8.205325293940101e+04 + 8.130401609766987e+04 + 8.056147962909786e+04 + 7.982558503959214e+04 + 7.909627435336930e+04 + 7.837349003289423e+04 + 7.765717506702039e+04 + 7.694727293156023e+04 + 7.624372753229675e+04 + 7.554648331079309e+04 + 7.485548516457589e+04 + 7.417067840840557e+04 + 7.349200889763620e+04 + 7.281942291879337e+04 + 7.215286716185752e+04 + 7.149228885123666e+04 + 7.083763563584826e+04 + 7.018885556144921e+04 + 6.954589717270633e+04 + 6.890870943981725e+04 + 6.827724174191867e+04 + 6.765144392787226e+04 + 6.703126624692857e+04 + 6.641665935636370e+04 + 6.580757439267423e+04 + 6.520396286738058e+04 + 6.460577668030654e+04 + 6.401296820028803e+04 + 6.342549017134596e+04 + 6.284329573351656e+04 + 6.226633845994343e+04 + 6.169457228450359e+04 + 6.112795154311772e+04 + 6.056643099463883e+04 + 6.000996574136701e+04 + 5.945851127624574e+04 + 5.891202351267684e+04 + 5.837045869755570e+04 + 5.783377345558033e+04 + 5.730192482224794e+04 + 5.677487016169035e+04 + 5.625256720967715e+04 + 5.573497408983271e+04 + 5.522204924870504e+04 + 5.471375150828325e+04 + 5.421004006036229e+04 + 5.371087441354901e+04 + 5.321621444975662e+04 + 5.272602039469258e+04 + 5.224025278120609e+04 + 5.175887251825204e+04 + 5.128184085536604e+04 + 5.080911934597862e+04 + 5.034066989608183e+04 + 4.987645473684455e+04 + 4.941643640415772e+04 + 4.896057778639881e+04 + 4.850884207769758e+04 + 4.806119277190277e+04 + 4.761759372195903e+04 + 4.717800906318111e+04 + 4.674240321587012e+04 + 4.631074096205200e+04 + 4.588298735942246e+04 + 4.545910774537743e+04 + 4.503906779825089e+04 + 4.462283347373459e+04 + 4.421037101686000e+04 + 4.380164697651120e+04 + 4.339662816996042e+04 + 4.299528171729217e+04 + 4.259757504220949e+04 + 4.220347581706527e+04 + 4.181295199605238e+04 + 4.142597183433527e+04 + 4.104250383855765e+04 + 4.066251680332360e+04 + 4.028597979815155e+04 + 3.991286213370509e+04 + 3.954313341370015e+04 + 3.917676350485435e+04 + 3.881372250661203e+04 + 3.845398080843414e+04 + 3.809750905736740e+04 + 3.774427812448402e+04 + 3.739425915595785e+04 + 3.704742356207799e+04 + 3.670374297805164e+04 + 3.636318929176292e+04 + 3.602573463927982e+04 + 3.569135138416072e+04 + 3.536001215672983e+04 + 3.503168981923036e+04 + 3.470635744840465e+04 + 3.438398837321134e+04 + 3.406455615393208e+04 + 3.374803457309094e+04 + 3.343439765983423e+04 + 3.312361965186892e+04 + 3.281567499925836e+04 + 3.251053841177231e+04 + 3.220818480242078e+04 + 3.190858928930939e+04 + 3.161172723179306e+04 + 3.131757418548949e+04 + 3.102610591483113e+04 + 3.073729842710719e+04 + 3.045112791454117e+04 + 3.016757076691534e+04 + 2.988660361584138e+04 + 2.960820327321778e+04 + 2.933234674204399e+04 + 2.905901125674980e+04 + 2.878817423326317e+04 + 2.851981328372868e+04 + 2.825390622682930e+04 + 2.799043106146120e+04 + 2.772936599846356e+04 + 2.747068942978120e+04 + 2.721437991599866e+04 + 2.696041623625263e+04 + 2.670877735469368e+04 + 2.645944239579323e+04 + 2.621239068106394e+04 + 2.596760172331024e+04 + 2.572505519859007e+04 + 2.548473096648493e+04 + 2.524660907253227e+04 + 2.501066972455740e+04 + 2.477689330466365e+04 + 2.454526037995217e+04 + 2.431575168300119e+04 + 2.408834810912627e+04 + 2.386303072521571e+04 + 2.363978076395976e+04 + 2.341857962988761e+04 + 2.319940888531031e+04 + 2.298225025100848e+04 + 2.276708562349589e+04 + 2.255389704384009e+04 + 2.234266670372097e+04 + 2.213337697918792e+04 + 2.192601038403303e+04 + 2.172054957464747e+04 + 2.151697738916041e+04 + 2.131527680276242e+04 + 2.111543093252480e+04 + 2.091742306098243e+04 + 2.072123660422193e+04 + 2.052685512482519e+04 + 2.033426234716574e+04 + 2.014344212098682e+04 + 1.995437843426629e+04 + 1.976705544479930e+04 + 1.958145743480243e+04 + 1.939756881213320e+04 + 1.921537413684756e+04 + 1.903485810052154e+04 + 1.885600554387774e+04 + 1.867880143037429e+04 + 1.850323084111479e+04 + 1.832927901452323e+04 + 1.815693131178678e+04 + 1.798617320994377e+04 + 1.781699034075772e+04 + 1.764936845332217e+04 + 1.748329340510924e+04 + 1.731875119617678e+04 + 1.715572795110660e+04 + 1.699420990919751e+04 + 1.683418344358223e+04 + 1.667563503873475e+04 + 1.651855128954979e+04 + 1.636291893365341e+04 + 1.620872481606836e+04 + 1.605595588699932e+04 + 1.590459923143625e+04 + 1.575464203906202e+04 + 1.560607160533683e+04 + 1.545887535681969e+04 + 1.531304082443131e+04 + 1.516855564487381e+04 + 1.502540756956110e+04 + 1.488358445432479e+04 + 1.474307426938193e+04 + 1.460386509288249e+04 + 1.446594509814283e+04 + 1.432930256776952e+04 + 1.419392589719183e+04 + 1.405980357729324e+04 + 1.392692420658459e+04 + 1.379527648729671e+04 + 1.366484921045415e+04 + 1.353563127160237e+04 + 1.340761167272577e+04 + 1.328077950662285e+04 + 1.315512397004589e+04 + 1.303063434970357e+04 + 1.290730001970431e+04 + 1.278511047006237e+04 + 1.266405528001385e+04 + 1.254412410683634e+04 + 1.242530670538782e+04 + 1.230759293022181e+04 + 1.219097272173875e+04 + 1.207543611008671e+04 + 1.196097321598039e+04 + 1.184757424417080e+04 + 1.173522949287449e+04 + 1.162392934478714e+04 + 1.151366426384512e+04 + 1.140442480834694e+04 + 1.129620161634352e+04 + 1.118898540470730e+04 + 1.108276698378667e+04 + 1.097753724013271e+04 + 1.087328713748510e+04 + 1.077000773143687e+04 + 1.066769015148828e+04 + 1.056632560317495e+04 + 1.046590537899618e+04 + 1.036642084361778e+04 + 1.026786343864257e+04 + 1.017022468912003e+04 + 1.007349618928313e+04 + 9.977669609110566e+03 + 9.882736699245763e+03 + 9.788689277747368e+03 + 9.695519238085319e+03 + 9.603218551128393e+03 + 9.511779252802526e+03 + 9.421193453258842e+03 + 9.331453338088948e+03 + 9.242551155902798e+03 + 9.154479227014926e+03 + 9.067229945268125e+03 + 8.980795767109534e+03 + 8.895169220035050e+03 + 8.810342900070031e+03 + 8.726309463870590e+03 + 8.643061639313548e+03 + 8.560592220958239e+03 + 8.478894062727115e+03 + 8.397960086705119e+03 + 8.317783279679375e+03 + 8.238356687487571e+03 + 8.159673421912185e+03 + 8.081726656780256e+03 + 8.004509624589081e+03 + 7.928015622553179e+03 + 7.852238006535134e+03 + 7.777170190090504e+03 + 7.702805651284038e+03 + 7.629137923269694e+03 + 7.556160595291118e+03 + 7.483867321684783e+03 + 7.412251809739373e+03 + 7.341307820993124e+03 + 7.271029178292266e+03 + 7.201409756944273e+03 + 7.132443488123264e+03 + 7.064124361053455e+03 + 6.996446414793790e+03 + 6.929403743407001e+03 + 6.862990497342477e+03 + 6.797200875139910e+03 + 6.732029129721631e+03 + 6.667469570161823e+03 + 6.603516551523545e+03 + 6.540164480186692e+03 + 6.477407817185619e+03 + 6.415241069687017e+03 + 6.353658796883785e+03 + 6.292655608307650e+03 + 6.232226157518487e+03 + 6.172365149982773e+03 + 6.113067340658933e+03 + 6.054327527853383e+03 + 5.996140560115221e+03 + 5.938501333076975e+03 + 5.881404784939355e+03 + 5.824845903828315e+03 + 5.768819722461626e+03 + 5.713321315085574e+03 + 5.658345805472132e+03 + 5.603888359764917e+03 + 5.549944184846402e+03 + 5.496508537213697e+03 + 5.443576713947663e+03 + 5.391144051368102e+03 + 5.339205932358427e+03 + 5.287757780134069e+03 + 5.236795058291703e+03 + 5.186313275265001e+03 + 5.136307977685731e+03 + 5.086774751617681e+03 + 5.037709226449485e+03 + 4.989107068721900e+03 + 4.940963984504954e+03 + 4.893275721702213e+03 + 4.846038063285039e+03 + 4.799246830729600e+03 + 4.752897888312231e+03 + 4.706987133608333e+03 + 4.661510499922751e+03 + 4.616463963202395e+03 + 4.571843532909213e+03 + 4.527645253893021e+03 + 4.483865209302220e+03 + 4.440499515324517e+03 + 4.397544325863069e+03 + 4.354995830474305e+03 + 4.312850249817291e+03 + 4.271103841242844e+03 + 4.229752898292512e+03 + 4.188793745275323e+03 + 4.148222740634546e+03 + 4.108036277499050e+03 + 4.068230779797937e+03 + 4.028802705831530e+03 + 3.989748546349355e+03 + 3.951064821861195e+03 + 3.912748086813885e+03 + 3.874794926585441e+03 + 3.837201956255947e+03 + 3.799965825835211e+03 + 3.763083213042953e+03 + 3.726550823283946e+03 + 3.690365398229224e+03 + 3.654523706502605e+03 + 3.619022543185401e+03 + 3.583858737044133e+03 + 3.549029144619817e+03 + 3.514530650270483e+03 + 3.480360168271582e+03 + 3.446514639490202e+03 + 3.412991033253400e+03 + 3.379786348393921e+03 + 3.346897609451590e+03 + 3.314321868815865e+03 + 3.282056205761040e+03 + 3.250097724763853e+03 + 3.218443559530467e+03 + 3.187090870156345e+03 + 3.156036839918450e+03 + 3.125278679259401e+03 + 3.094813626126841e+03 + 3.064638941053712e+03 + 3.034751909739014e+03 + 3.005149845581890e+03 + 2.975830084543172e+03 + 2.946789986568892e+03 + 2.918026936797055e+03 + 2.889538343339952e+03 + 2.861321641252218e+03 + 2.833374286700636e+03 + 2.805693756659566e+03 + 2.778277556469224e+03 + 2.751123212016022e+03 + 2.724228269242043e+03 + 2.697590301914011e+03 + 2.671206904109025e+03 + 2.645075688971241e+03 + 2.619194294405700e+03 + 2.593560380141823e+03 + 2.568171626715687e+03 + 2.543025737542386e+03 + 2.518120435211838e+03 + 2.493453462030127e+03 + 2.469022585172818e+03 + 2.444825590018873e+03 + 2.420860280374604e+03 + 2.397124484732366e+03 + 2.373616049394018e+03 + 2.350332838436762e+03 + 2.327272738609171e+03 + 2.304433655218562e+03 + 2.281813512846715e+03 + 2.259410255601743e+03 + 2.237221844685107e+03 + 2.215246260811306e+03 + 2.193481506123082e+03 + 2.171925598942706e+03 + 2.150576574458654e+03 + 2.129432488764117e+03 + 2.108491414442484e+03 + 2.087751441300839e+03 + 2.067210678851041e+03 + 2.046867252353801e+03 + 2.026719303565292e+03 + 2.006764993817073e+03 + 1.987002500493615e+03 + 1.967430017215378e+03 + 1.948045754608514e+03 + 1.928847939062915e+03 + 1.909834815497017e+03 + 1.891004644375446e+03 + 1.872355700452609e+03 + 1.853886275802303e+03 + 1.835594678424827e+03 + 1.817479231062563e+03 + 1.799538272810955e+03 + 1.781770158220284e+03 + 1.764173256646331e+03 + 1.746745953278825e+03 + 1.729486647489427e+03 + 1.712393752933919e+03 + 1.695465699568615e+03 + 1.678700930817119e+03 + 1.662097903850073e+03 + 1.645655091966725e+03 + 1.629370981458450e+03 + 1.613244072202941e+03 + 1.597272880432907e+03 + 1.581455933682248e+03 + 1.565791771294578e+03 + 1.550278951289465e+03 + 1.534916043199639e+03 + 1.519701626827566e+03 + 1.504634298568118e+03 + 1.489712666891078e+03 + 1.474935351996483e+03 + 1.460300988758884e+03 + 1.445808223853118e+03 + 1.431455716350942e+03 + 1.417242138357507e+03 + 1.403166173386480e+03 + 1.389226518010158e+03 + 1.375421881007569e+03 + 1.361750982089843e+03 + 1.348212553926219e+03 + 1.334805341072190e+03 + 1.321528098720046e+03 + 1.308379594477261e+03 + 1.295358607457036e+03 + 1.282463927300085e+03 + 1.269694355823267e+03 + 1.257048705895313e+03 + 1.244525800699936e+03 + 1.232124475203576e+03 + 1.219843575042076e+03 + 1.207681956049559e+03 + 1.195638485404256e+03 + 1.183712040621380e+03 + 1.171901509388141e+03 + 1.160205790292893e+03 + 1.148623791762007e+03 + 1.137154432301071e+03 + 1.125796641257775e+03 + 1.114549357263016e+03 + 1.103411528660030e+03 + 1.092382114454342e+03 + 1.081460082700689e+03 + 1.070644411095300e+03 + 1.059934087579793e+03 + 1.049328108720195e+03 + 1.038825480494848e+03 + 1.028425218971371e+03 + 1.018126348582361e+03 + 1.007927902927668e+03 + 9.978289254104482e+02 + 9.878284675679866e+02 + 9.779255898738762e+02 + 9.681193621623704e+02 + 9.584088623012988e+02 + 9.487931771658360e+02 + 9.392714022763922e+02 + 9.298426409505287e+02 + 9.205060057185552e+02 + 9.112606172437117e+02 + 9.021056036681564e+02 + 8.930401022331439e+02 + 8.840632580637879e+02 + 8.751742235821227e+02 + 8.663721600224155e+02 + 8.576562363107178e+02 + 8.490256285516970e+02 + 8.404795212594149e+02 + 8.320171064683727e+02 + 8.236375833541338e+02 + 8.153401590664150e+02 + 8.071240480244585e+02 + 7.989884718119321e+02 + 7.909326598382663e+02 + 7.829558483527250e+02 + 7.750572805483002e+02 + 7.672362073200991e+02 + 7.594918862313154e+02 + 7.518235817392584e+02 + 7.442305655888715e+02 + 7.367121158939042e+02 + 7.292675176279554e+02 + 7.218960630476328e+02 + 7.145970504767349e+02 + 7.073697847820883e+02 + 7.002135778527235e+02 + 6.931277475695276e+02 + 6.861116184218383e+02 + 6.791645215373005e+02 + 6.722857937677298e+02 + 6.654747784472139e+02 + 6.587308253877042e+02 + 6.520532900189463e+02 + 6.454415341582659e+02 + 6.388949257382737e+02 + 6.324128381494658e+02 + 6.259946511571761e+02 + 6.196397502963263e+02 + 6.133475264197438e+02 + 6.071173768094372e+02 + 6.009487042352257e+02 + 5.948409165626937e+02 + 5.887934278801442e+02 + 5.828056577149104e+02 + 5.768770306335107e+02 + 5.710069770500405e+02 + 5.651949326339243e+02 + 5.594403381224611e+02 + 5.537426401234757e+02 + 5.481012901152631e+02 + 5.425157443662293e+02 + 5.369854648776029e+02 + 5.315099185870243e+02 + 5.260885773011631e+02 + 5.207209179649268e+02 + 5.154064223119497e+02 + 5.101445770921985e+02 + 5.049348740937783e+02 + 4.997768095346806e+02 + 4.946698844046663e+02 + 4.896136047862775e+02 + 4.846074811232588e+02 + 4.796510285618583e+02 + 4.747437670096575e+02 + 4.698852205388910e+02 + 4.650749179071526e+02 + 4.603123926691712e+02 + 4.555971823563725e+02 + 4.509288288727789e+02 + 4.463068788207030e+02 + 4.417308827523721e+02 + 4.372003955530256e+02 + 4.327149765501697e+02 + 4.282741889383891e+02 + 4.238776002586995e+02 + 4.195247821802792e+02 + 4.152153101301976e+02 + 4.109487639564401e+02 + 4.067247273397822e+02 + 4.025427875685178e+02 + 3.984025363858318e+02 + 3.943035692477232e+02 + 3.902454851077117e+02 + 3.862278871965347e+02 + 3.822503823673904e+02 + 3.783125809462488e+02 + 3.744140974100913e+02 + 3.705545496319825e+02 + 3.667335588488600e+02 + 3.629507504654170e+02 + 3.592057531920941e+02 + 3.554981990087823e+02 + 3.518277237997781e+02 + 3.481939667588409e+02 + 3.445965704231110e+02 + 3.410351808614133e+02 + 3.375094474036331e+02 + 3.340190228447264e+02 + 3.305635632260179e+02 + 3.271427276872922e+02 + 3.237561788604219e+02 + 3.204035826343936e+02 + 3.170846077594078e+02 + 3.137989262426811e+02 + 3.105462135925898e+02 + 3.073261480789523e+02 + 3.041384108878384e+02 + 3.009826866110996e+02 + 2.978586626197819e+02 + 2.947660292278245e+02 + 2.917044799774912e+02 + 2.886737110898206e+02 + 2.856734216347172e+02 + 2.827033138205502e+02 + 2.797630925185924e+02 + 2.768524653868921e+02 + 2.739711430162750e+02 + 2.711188386172004e+02 + 2.682952682417776e+02 + 2.655001507075566e+02 + 2.627332073441469e+02 + 2.599941621974095e+02 + 2.572827420191948e+02 + 2.545986760992428e+02 + 2.519416963867954e+02 + 2.493115374004747e+02 + 2.467079361520411e+02 + 2.441306322519956e+02 + 2.415793676749632e+02 + 2.390538868162835e+02 + 2.365539368283623e+02 + 2.340792670618049e+02 + 2.316296291092408e+02 + 2.292047772816256e+02 + 2.268044680583002e+02 + 2.244284601550858e+02 + 2.220765149177526e+02 + 2.197483957886078e+02 + 2.174438683808943e+02 + 2.151627007150871e+02 + 2.129046628991759e+02 + 2.106695273325222e+02 + 2.084570687245048e+02 + 2.062670637405841e+02 + 2.040992912166423e+02 + 2.019535322675416e+02 + 1.998295699356443e+02 + 1.977271893831886e+02 + 1.956461779038128e+02 + 1.935863247355415e+02 + 1.915474213798307e+02 + 1.895292611678483e+02 + 1.875316391958052e+02 + 1.855543528482985e+02 + 1.835972014670904e+02 + 1.816599861324650e+02 + 1.797425099308505e+02 + 1.778445779263947e+02 + 1.759659969484732e+02 + 1.741065756739388e+02 + 1.722661246609050e+02 + 1.704444562587039e+02 + 1.686413847511611e+02 + 1.668567261386198e+02 + 1.650902980928235e+02 + 1.633419201885993e+02 + 1.616114136777071e+02 + 1.598986014805750e+02 + 1.582033083619683e+02 + 1.565253606828442e+02 + 1.548645864376032e+02 + 1.532208154238845e+02 + 1.515938789750561e+02 + 1.499836100268175e+02 + 1.483898432531407e+02 + 1.468124148175615e+02 + 1.452511624739094e+02 + 1.437059256375598e+02 + 1.421765451600804e+02 + 1.406628634671130e+02 + 1.391647245894945e+02 + 1.376819739463268e+02 + 1.362144585029153e+02 + 1.347620267668397e+02 + 1.333245285902542e+02 + 1.319018153476916e+02 + 1.304937399101563e+02 + 1.291001564496927e+02 + 1.277209206089626e+02 + 1.263558894821456e+02 + 1.250049214462411e+02 + 1.236678763269726e+02 + 1.223446153162142e+02 + 1.210350008534558e+02 + 1.197388968258891e+02 + 1.184561684202564e+02 + 1.171866820332312e+02 + 1.159303054814129e+02 + 1.146869078350233e+02 + 1.134563593521917e+02 + 1.122385316718855e+02 + 1.110332976232454e+02 + 1.098405311979204e+02 + 1.086601077608261e+02 + 1.074919038117468e+02 + 1.063357969778381e+02 + 1.051916662270612e+02 + 1.040593916259906e+02 + 1.029388543466298e+02 + 1.018299368341955e+02 + 1.007325226151947e+02 + 9.964649633160360e+01 + 9.857174381861689e+01 + 9.750815195741964e+01 + 9.645560874783912e+01 + 9.541400332430685e+01 + 9.438322582683587e+01 + 9.336316750654088e+01 + 9.235372071959520e+01 + 9.135477878367931e+01 + 9.036623609174318e+01 + 8.938798812110527e+01 + 8.841993128541375e+01 + 8.746196304638978e+01 + 8.651398190997742e+01 + 8.557588728936869e+01 + 8.464757961904559e+01 + 8.372896034435935e+01 + 8.281993180539014e+01 + 8.192039735296085e+01 + 8.103026128111058e+01 + 8.014942874495698e+01 + 7.927780590401203e+01 + 7.841529983858037e+01 + 7.756181847617736e+01 + 7.671727071446733e+01 + 7.588156631674119e+01 + 7.505461587372024e+01 + 7.423633095310755e+01 + 7.342662394299153e+01 + 7.262540803009301e+01 + 7.183259736215271e+01 + 7.104810687905130e+01 + 7.027185230277652e+01 + 6.950375028269488e+01 + 6.874371822566854e+01 + 6.799167430460268e+01 + 6.724753760248480e+01 + 6.651122793902957e+01 + 6.578266588744034e+01 + 6.506177289160765e+01 + 6.434847109859102e+01 + 6.364268339115934e+01 + 6.294433351272004e+01 + 6.225334589309644e+01 + 6.156964567793161e+01 + 6.089315882540817e+01 + 6.022381196253272e+01 + 5.956153243192431e+01 + 5.890624835784802e+01 + 5.825788851805937e+01 + 5.761638239540161e+01 + 5.698166019812880e+01 + 5.635365277455941e+01 + 5.573229169643452e+01 + 5.511750921575248e+01 + 5.450923819422894e+01 + 5.390741220139490e+01 + 5.331196548214332e+01 + 5.272283288224639e+01 + 5.213994992103501e+01 + 5.156325275682114e+01 + 5.099267813956413e+01 + 5.042816349744366e+01 + 4.986964685712531e+01 + 4.931706681520628e+01 + 4.877036264381848e+01 + 4.822947419115650e+01 + 4.769434186145065e+01 + 4.716490671386568e+01 + 4.664111036072763e+01 + 4.612289496053356e+01 + 4.561020331071316e+01 + 4.510297873475514e+01 + 4.460116508782800e+01 + 4.410470685618211e+01 + 4.361354903662819e+01 + 4.312763714409483e+01 + 4.264691728541290e+01 + 4.217133607138089e+01 + 4.170084064118655e+01 + 4.123537869187841e+01 + 4.077489840121474e+01 + 4.031934846724150e+01 + 3.986867813088396e+01 + 3.942283710103097e+01 + 3.898177559914080e+01 + 3.854544435810492e+01 + 3.811379455962712e+01 + 3.768677789368684e+01 + 3.726434656726136e+01 + 3.684645322013298e+01 + 3.643305096011807e+01 + 3.602409338288954e+01 + 3.561953452360934e+01 + 3.521932891649128e+01 + 3.482343153306697e+01 + 3.443179775085747e+01 + 3.404438343901749e+01 + 3.366114490993698e+01 + 3.328203887889210e+01 + 3.290702252020257e+01 + 3.253605343510379e+01 + 3.216908962260722e+01 + 3.180608952699355e+01 + 3.144701200592500e+01 + 3.109181631097627e+01 + 3.074046212448961e+01 + 3.039290952642646e+01 + 3.004911898312090e+01 + 2.970905136572861e+01 + 2.937266792505025e+01 + 2.903993030352619e+01 + 2.871080057194543e+01 + 2.838524113862799e+01 + 2.806321475945346e+01 + 2.774468462701056e+01 + 2.742961427426368e+01 + 2.711796757973106e+01 + 2.680970882898042e+01 + 2.650480264209962e+01 + 2.620321398820359e+01 + 2.590490820737408e+01 + 2.560985096325826e+01 + 2.531800827674159e+01 + 2.502934653543958e+01 + 2.474383242809609e+01 + 2.446143296972707e+01 + 2.418211555345684e+01 + 2.390584787621480e+01 + 2.363259794654911e+01 + 2.336233413255323e+01 + 2.309502509558490e+01 + 2.283063979379989e+01 + 2.256914753657127e+01 + 2.231051792982671e+01 + 2.205472087402378e+01 + 2.180172658443576e+01 + 2.155150556919213e+01 + 2.130402866286656e+01 + 2.105926696778129e+01 + 2.081719185319289e+01 + 2.057777503962135e+01 + 2.034098850331043e+01 + 2.010680447006149e+01 + 1.987519550063876e+01 + 1.964613442528577e+01 + 1.941959432580914e+01 + 1.919554855827313e+01 + 1.897397075515799e+01 + 1.875483482712853e+01 + 1.853811494931854e+01 + 1.832378554313712e+01 + 1.811182128985819e+01 + 1.790219714756028e+01 + 1.769488831219516e+01 + 1.748987022919803e+01 + 1.728711861052799e+01 + 1.708660939866258e+01 + 1.688831878332332e+01 + 1.669222321036695e+01 + 1.649829934690638e+01 + 1.630652410217020e+01 + 1.611687463464447e+01 + 1.592932831698975e+01 + 1.574386275792588e+01 + 1.556045580679505e+01 + 1.537908552081595e+01 + 1.519973018767385e+01 + 1.502236832516821e+01 + 1.484697865494502e+01 + 1.467354012841447e+01 + 1.450203191274907e+01 + 1.433243337158686e+01 + 1.416472409674524e+01 + 1.399888388846149e+01 + 1.383489273805109e+01 + 1.367273085728561e+01 + 1.351237865788487e+01 + 1.335381673920349e+01 + 1.319702591751814e+01 + 1.304198719993403e+01 + 1.288868177614133e+01 + 1.273709104714046e+01 + 1.258719659672914e+01 + 1.243898018736778e+01 + 1.229242378719869e+01 + 1.214750954184370e+01 + 1.200421977308728e+01 + 1.186253699764556e+01 + 1.172244390266849e+01 + 1.158392335040491e+01 + 1.144695839482221e+01 + 1.131153225250660e+01 + 1.117762830926809e+01 + 1.104523013501555e+01 + 1.091432145806843e+01 + 1.078488617566414e+01 + 1.065690836231677e+01 + 1.053037224372639e+01 + 1.040526220941685e+01 + 1.028156282144551e+01 + 1.015925878941852e+01 + 1.003833498402321e+01 + 9.918776439618298e+00 + 9.800568334039683e+00 + 9.683696005431957e+00 + 9.568144946174611e+00 + 9.453900787919052e+00 + 9.340949322860192e+00 + 9.229276489267212e+00 + 9.118868359446189e+00 + 9.009711163642070e+00 + 8.901791273796370e+00 + 8.795095191785947e+00 + 8.689609570648638e+00 + 8.585321201853549e+00 + 8.482217005296002e+00 + 8.380284046581689e+00 + 8.279509523576925e+00 + 8.179880760330461e+00 + 8.081385224417300e+00 + 7.984010508389771e+00 + 7.887744326863491e+00 + 7.792574535206823e+00 + 7.698489109519010e+00 + 7.605476146133772e+00 + 7.513523878187234e+00 + 7.422620653280592e+00 + 7.332754935473541e+00 + 7.243915322674125e+00 + 7.156090524556396e+00 + 7.069269365741123e+00 + 6.983440797017198e+00 + 6.898593877074525e+00 + 6.814717779007339e+00 + 6.731801797516630e+00 + 6.649835331100769e+00 + 6.568807890289103e+00 + 6.488709103685009e+00 + 6.409528699865692e+00 + 6.331256515961359e+00 + 6.253882503643640e+00 + 6.177396712290002e+00 + 6.101789297547966e+00 + 6.027050522250886e+00 + 5.953170745278158e+00 + 5.880140434362498e+00 + 5.807950156612827e+00 + 5.736590570385212e+00 + 5.666052441485230e+00 + 5.596326632559173e+00 + 5.527404095182261e+00 + 5.459275884510260e+00 + 5.391933149962507e+00 + 5.325367127621260e+00 + 5.259569151260657e+00 + 5.194530647433734e+00 + 5.130243129823101e+00 + 5.066698206416531e+00 + 5.003887570881058e+00 + 4.941803001453549e+00 + 4.880436373900456e+00 + 4.819779643419130e+00 + 4.759824844738533e+00 + 4.700564110200850e+00 + 4.641989649988083e+00 + 4.584093751736625e+00 + 4.526868793565781e+00 + 4.470307230074105e+00 + 4.414401594729965e+00 + 4.359144507919768e+00 + 4.304528662004969e+00 + 4.250546825086277e+00 + 4.197191851627622e+00 + 4.144456666159979e+00 + 4.092334266478478e+00 + 4.040817732600400e+00 + 3.989900213340690e+00 + 3.939574930757155e+00 + 3.889835183170760e+00 + 3.840674335613269e+00 + 3.792085827136757e+00 + 3.744063169627271e+00 + 3.696599938809659e+00 + 3.649689781941428e+00 + 3.603326418080199e+00 + 3.557503628382808e+00 + 3.512215261374414e+00 + 3.467455236465362e+00 + 3.423217534816642e+00 + 3.379496201686086e+00 + 3.336285348654454e+00 + 3.293579148649655e+00 + 3.251371841226642e+00 + 3.209657725464606e+00 + 3.168431157939940e+00 + 3.127686563504146e+00 + 3.087418425005168e+00 + 3.047621281181530e+00 + 3.008289735457784e+00 + 2.969418446796439e+00 + 2.931002129285814e+00 + 2.893035560502260e+00 + 2.855513571053400e+00 + 2.818431044951714e+00 + 2.781782927380857e+00 + 2.745564215550934e+00 + 2.709769959926351e+00 + 2.674395268211684e+00 + 2.639435297946605e+00 + 2.604885259637663e+00 + 2.570740420206636e+00 + 2.536996093812299e+00 + 2.503647644969884e+00 + 2.470690493614489e+00 + 2.438120105903952e+00 + 2.405931997235836e+00 + 2.374121735683807e+00 + 2.342684934097179e+00 + 2.311617253784086e+00 + 2.280914406216957e+00 + 2.250572146781167e+00 + 2.220586279273893e+00 + 2.190952653478714e+00 + 2.161667162009881e+00 + 2.132725747880213e+00 + 2.104124396422602e+00 + 2.075859132902099e+00 + 2.047926031580743e+00 + 2.020321209266692e+00 + 1.993040822266800e+00 + 1.966081073072867e+00 + 1.939438205166541e+00 + 1.913108500802827e+00 + 1.887088286918805e+00 + 1.861373929947225e+00 + 1.835961834345823e+00 + 1.810848447621857e+00 + 1.786030255213551e+00 + 1.761503779943143e+00 + 1.737265586321442e+00 + 1.713312275115213e+00 + 1.689640483715834e+00 + 1.666246890168493e+00 + 1.643128207113473e+00 + 1.620281182788458e+00 + 1.597702604935450e+00 + 1.575389294699183e+00 + 1.553338108095691e+00 + 1.531545938928566e+00 + 1.510009713407906e+00 + 1.488726392261371e+00 + 1.467692971937850e+00 + 1.446906480207705e+00 + 1.426363979153670e+00 + 1.406062564959602e+00 + 1.385999363940103e+00 + 1.366171536058216e+00 + 1.346576274130787e+00 + 1.327210800124654e+00 + 1.308072368828510e+00 + 1.289158266486426e+00 + 1.270465807665891e+00 + 1.251992339187792e+00 + 1.233735237889272e+00 + 1.215691907984316e+00 + 1.197859785096899e+00 + 1.180236333919823e+00 + 1.162819045897185e+00 + 1.145605442741095e+00 + 1.128593073973588e+00 + 1.111779515284567e+00 + 1.095162371880828e+00 + 1.078739275475473e+00 + 1.062507883334588e+00 + 1.046465881646835e+00 + 1.030610981874106e+00 + 1.014940920295882e+00 + 9.994534611152829e-01 + 9.841463930086627e-01 + 9.690175291593270e-01 + 9.540647093618980e-01 + 9.392857969051628e-01 + 9.246786792729085e-01 + 9.102412696338000e-01 + 8.959715035501604e-01 + 8.818673402027871e-01 + 8.679267639726700e-01 + 8.541477806828601e-01 + 8.405284189410931e-01 + 8.270667316623297e-01 + 8.137607925445277e-01 + 8.006086976874616e-01 + 7.876085666023992e-01 + 7.747585387876328e-01 + 7.620567754307064e-01 + 7.495014602973783e-01 + 7.370907966216457e-01 + 7.248230088485250e-01 + 7.126963429559050e-01 + 7.007090638413013e-01 + 6.888594572109231e-01 + 6.771458292779966e-01 + 6.655665045807759e-01 + 6.541198279036498e-01 + 6.428041637825399e-01 + 6.316178947210964e-01 + 6.205594229105623e-01 + 6.096271692194244e-01 + 5.988195719936049e-01 + 5.881350889221284e-01 + 5.775721954595900e-01 + 5.671293841176136e-01 + 5.568051664208875e-01 + 5.465980707194322e-01 + 5.365066418737608e-01 + 5.265294432641988e-01 + 5.166650544231339e-01 + 5.069120710261563e-01 + 4.972691065208522e-01 + 4.877347899800689e-01 + 4.783077664492044e-01 + 4.689866979017357e-01 + 4.597702612073233e-01 + 4.506571489021905e-01 + 4.416460700276524e-01 + 4.327357479310139e-01 + 4.239249212044141e-01 + 4.152123442913231e-01 + 4.065967853823845e-01 + 3.980770275573000e-01 + 3.896518691214699e-01 + 3.813201217302061e-01 + 3.730806117264635e-01 + 3.649321798861945e-01 + 3.568736798624809e-01 + 3.489039797704173e-01 + 3.410219613244947e-01 + 3.332265187013593e-01 + 3.255165605086018e-01 + 3.178910083898543e-01 + 3.103487958586359e-01 + 3.028888701360887e-01 + 2.955101913786422e-01 + 2.882117315106021e-01 + 2.809924755137371e-01 + 2.738514204626846e-01 + 2.667875748867065e-01 + 2.597999604522775e-01 + 2.528876103054370e-01 + 2.460495685714950e-01 + 2.392848919788540e-01 + 2.325926484518769e-01 + 2.259719167857841e-01 + 2.194217877354759e-01 + 2.129413627175208e-01 + 2.065297538274627e-01 + 2.001860848470379e-01 + 1.939094897086202e-01 + 1.876991127051828e-01 + 1.815541094417414e-01 + 1.754736452756007e-01 + 1.694568956974621e-01 + 1.635030470498157e-01 + 1.576112950508609e-01 + 1.517808453564031e-01 + 1.460109140364644e-01 + 1.403007261766342e-01 + 1.346495165784953e-01 + 1.290565300180611e-01 + 1.235210199704221e-01 + 1.180422494287421e-01 + 1.126194909047226e-01 + 1.072520253105725e-01 + 1.019391428882170e-01 + 9.668014295417104e-02 + 9.147433293860986e-02 + 8.632102939670111e-02 + 8.121955756354367e-02 + 7.616925052308399e-02 + 7.116945022739722e-02 + 6.621950693894064e-02 + 6.131877854698166e-02 + 5.646663155698649e-02 + 5.166244039926220e-02 + 4.690558691983024e-02 + 4.219546135291571e-02 + 3.753146148005052e-02 + 3.291299228995687e-02 + 2.833946692296159e-02 + 2.381030573044091e-02 + 1.932493608562982e-02 + 1.488279323951757e-02 + 1.048331933378767e-02 + 6.125963364112487e-03 + 1.810181928441051e-03 + -2.464561780353438e-03 + -6.698797872311066e-03 + -1.089304914227914e-02 + -1.504783206514415e-02 + -1.916365656771068e-02 + -2.324102555134537e-02 + -2.728043585421590e-02 + -3.128237791440187e-02 + -3.524733543518016e-02 + -3.917578628623598e-02 + -4.306820207473552e-02 + -4.692504798332473e-02 + -5.074678357205704e-02 + -5.453386225593208e-02 + -5.828673132987599e-02 + -6.200583267980977e-02 + -6.569160218738558e-02 + -6.934446987831328e-02 + -7.296486055963237e-02 + -7.655319319650564e-02 + -8.010988114185758e-02 + -8.363533270338043e-02 + -8.712995053780122e-02 + -9.059413193193132e-02 + -9.402826926020177e-02 + -9.743274938790861e-02 + -1.008079541064505e-01 + -1.041542604608216e-01 + -1.074720401131623e-01 + -1.107616598682374e-01 + -1.140234819193764e-01 + -1.172578632830942e-01 + -1.204651563472630e-01 + -1.236457089966172e-01 + -1.267998640735528e-01 + -1.299279600346222e-01 + -1.330303309819349e-01 + -1.361073061299021e-01 + -1.391592104828469e-01 + -1.421863647988072e-01 + -1.451890851855495e-01 + -1.481676836992942e-01 + -1.511224682100277e-01 + -1.540537421399553e-01 + -1.569618050599837e-01 + -1.598469524764272e-01 + -1.627094755828420e-01 + -1.655496618778017e-01 + -1.683677949236447e-01 + -1.711641541517163e-01 + -1.739390154343296e-01 + -1.766926508045859e-01 + -1.794253283544359e-01 + -1.821373127460387e-01 + -1.848288648981078e-01 + -1.875002419786971e-01 + -1.901516978443653e-01 + -1.927834826976386e-01 + -1.953958431846420e-01 + -1.979890227559544e-01 + -2.005632612952037e-01 + -2.031187952951354e-01 + -2.056558581586019e-01 + -2.081746798356756e-01 + -2.106754870586183e-01 + -2.131585035595214e-01 + -2.156239496932611e-01 + -2.180720427808593e-01 + -2.205029972492180e-01 + -2.229170242226580e-01 + -2.253143319488933e-01 + -2.276951258807381e-01 + -2.300596082676421e-01 + -2.324079786235529e-01 + -2.347404337552020e-01 + -2.370571673694448e-01 + -2.393583705568364e-01 + -2.416442317867498e-01 + -2.439149365965413e-01 + -2.461706679522762e-01 + -2.484116061949506e-01 + -2.506379289887288e-01 + -2.528498115997045e-01 + -2.550474267213886e-01 + -2.572309443123204e-01 + -2.594005320626763e-01 + -2.615563552809436e-01 + -2.636985766193694e-01 + -2.658273564814242e-01 + -2.679428529152917e-01 + -2.700452216727706e-01 + -2.721346163277996e-01 + -2.742111879420810e-01 + -2.762750854486131e-01 + -2.783264557785196e-01 + -2.803654434689624e-01 + -2.823921908087395e-01 + -2.844068381756654e-01 + -2.864095239109061e-01 + -2.884003839950212e-01 + -2.903795524955394e-01 + -2.923471617904532e-01 + -2.943033420191942e-01 + -2.962482212763220e-01 + -2.981819256807660e-01 + -3.001045795717013e-01 + -3.020163055275332e-01 + -3.039172239885258e-01 + -3.058074538261057e-01 + -3.076871122705734e-01 + -3.095563141516905e-01 + -3.114151727559051e-01 + -3.132637999546681e-01 + -3.151023057635463e-01 + -3.169307984585886e-01 + -3.187493845723606e-01 + -3.205581689117248e-01 + -3.223572548745565e-01 + -3.241467443749414e-01 + -3.259267374142799e-01 + -3.276973325691862e-01 + -3.294586270053045e-01 + -3.312107160890871e-01 + -3.329536937962613e-01 + -3.346876527428858e-01 + -3.364126840777460e-01 + -3.381288775295205e-01 + -3.398363212268976e-01 + -3.415351019703767e-01 + -3.432253052941175e-01 + -3.449070152459444e-01 + -3.465803145779997e-01 + -3.482452848007116e-01 + -3.499020059501182e-01 + -3.515505568826250e-01 + -3.531910152859590e-01 + -3.548234573752725e-01 + -3.564479582224311e-01 + -3.580645917875246e-01 + -3.596734306319520e-01 + -3.612745463110025e-01 + -3.628680093075062e-01 + -3.644538885605036e-01 + -3.660322520458910e-01 + -3.676031668332329e-01 + -3.691666987516095e-01 + -3.707229124779602e-01 + -3.722718716670178e-01 + -3.738136390608672e-01 + -3.753482761467254e-01 + -3.768758432749062e-01 + -3.783964002465877e-01 + -3.799100056353694e-01 + -3.814167166997948e-01 + -3.829165900177774e-01 + -3.844096813827866e-01 + -3.858960456354959e-01 + -3.873757364088854e-01 + -3.888488064600710e-01 + -3.903153077375676e-01 + -3.917752913452379e-01 + -3.932288075353338e-01 + -3.946759055987133e-01 + -3.961166339473677e-01 + -3.975510402779339e-01 + -3.989791715122148e-01 + -4.004010735521537e-01 + -4.018167915706618e-01 + -4.032263700983349e-01 + -4.046298528561717e-01 + -4.060272827301947e-01 + -4.074187016384220e-01 + -4.088041511045764e-01 + -4.101836719923956e-01 + -4.115573039941210e-01 + -4.129250863351419e-01 + -4.142870577221169e-01 + -4.156432559911067e-01 + -4.169937183587125e-01 + -4.183384813924751e-01 + -4.196775807600287e-01 + -4.210110517890521e-01 + -4.223389293056927e-01 + -4.236612469859990e-01 + -4.249780381358575e-01 + -4.262893357128523e-01 + -4.275951718561576e-01 + -4.288955781548201e-01 + -4.301905856512787e-01 + -4.314802245948859e-01 + -4.327645248125306e-01 + -4.340435157401011e-01 + -4.353172261319986e-01 + -4.365856843065750e-01 + -4.378489181140523e-01 + -4.391069545111200e-01 + -4.403598201489721e-01 + -4.416075414900063e-01 + -4.428501441617211e-01 + -4.440876533447125e-01 + -4.453200938994337e-01 + -4.465474900663732e-01 + -4.477698656375739e-01 + -4.489872440132049e-01 + -4.501996482091757e-01 + -4.514071007293397e-01 + -4.526096234423685e-01 + -4.538072381973440e-01 + -4.549999664346564e-01 + -4.561878287239103e-01 + -4.573708454564815e-01 + -4.585490367840940e-01 + -4.597224223838171e-01 + -4.608910215483196e-01 + -4.620548532229073e-01 + -4.632139359470852e-01 + -4.643682878385313e-01 + -4.655179266829866e-01 + -4.666628700026897e-01 + -4.678031349656974e-01 + -4.689387384105899e-01 + -4.700696968538801e-01 + -4.711960263436956e-01 + -4.723177425902391e-01 + -4.734348612979066e-01 + -4.745473978039702e-01 + -4.756553669920032e-01 + -4.767587833133353e-01 + -4.778576611599107e-01 + -4.789520147944609e-01 + -4.800418577229591e-01 + -4.811272034289876e-01 + -4.822080654661853e-01 + -4.832844566828151e-01 + -4.843563896207272e-01 + -4.854238767122197e-01 + -4.864869303811440e-01 + -4.875455627166793e-01 + -4.885997853037442e-01 + -4.896496095260600e-01 + -4.906950466868944e-01 + -4.917361080077966e-01 + -4.927728043326091e-01 + -4.938051461993963e-01 + -4.948331438840640e-01 + -4.958568075736277e-01 + -4.968761473512240e-01 + -4.978911731225704e-01 + -4.989018945002663e-01 + -4.999083208482176e-01 + -5.009104613021941e-01 + -5.019083248972503e-01 + -5.029019205602130e-01 + -5.038912570358333e-01 + -5.048763428126108e-01 + -5.058571862004539e-01 + -5.068337954285524e-01 + -5.078061785541023e-01 + -5.087743434557772e-01 + -5.097382978215317e-01 + -5.106980492175714e-01 + -5.116536051046018e-01 + -5.126049728172039e-01 + -5.135521595357905e-01 + -5.144951722594635e-01 + -5.154340177423219e-01 + -5.163687027408718e-01 + -5.172992340140365e-01 + -5.182256180631845e-01 + -5.191478612397169e-01 + -5.200659697981208e-01 + -5.209799499565910e-01 + -5.218898077706294e-01 + -5.227955490891694e-01 + -5.236971796844924e-01 + -5.245947053253370e-01 + -5.254881317688337e-01 + -5.263774645512288e-01 + -5.272627090126604e-01 + -5.281438703531137e-01 + -5.290209539977515e-01 + -5.298939652703512e-01 + -5.307629091340913e-01 + -5.316277904778723e-01 + -5.324886142110474e-01 + -5.333453852986519e-01 + -5.341981085648844e-01 + -5.350467886587517e-01 + -5.358914300418783e-01 + -5.367320373706596e-01 + -5.375686152841432e-01 + -5.384011680734792e-01 + -5.392297001047128e-01 + -5.400542157871245e-01 + -5.408747194069761e-01 + -5.416912150785628e-01 + -5.425037068232484e-01 + -5.433121987186342e-01 + -5.441166948984431e-01 + -5.449171994793097e-01 + -5.457137163885653e-01 + -5.465062494211190e-01 + -5.472948023341125e-01 + -5.480793790518950e-01 + -5.488599834110802e-01 + -5.496366191273470e-01 + -5.504092899443518e-01 + -5.511779994928784e-01 + -5.519427513029639e-01 + -5.527035490710489e-01 + -5.534603964642170e-01 + -5.542132970155166e-01 + -5.549622540841348e-01 + -5.557072711574547e-01 + -5.564483519201564e-01 + -5.571854997347668e-01 + -5.579187179919134e-01 + -5.586480102698358e-01 + -5.593733798207278e-01 + -5.600948299343745e-01 + -5.608123641702291e-01 + -5.615259858006734e-01 + -5.622356980349319e-01 + -5.629415042452564e-01 + -5.636434078437447e-01 + -5.643414121719204e-01 + -5.650355204128609e-01 + -5.657257359067179e-01 + -5.664120620074502e-01 + -5.670945018655422e-01 + -5.677730587569899e-01 + -5.684477360210265e-01 + -5.691185368946378e-01 + -5.697854646230838e-01 + -5.704485224954847e-01 + -5.711077138615709e-01 + -5.717630418949810e-01 + -5.724145097236072e-01 + -5.730621208149326e-01 + -5.737058785857441e-01 + -5.743457862811681e-01 + -5.749818469287452e-01 + -5.756140639044424e-01 + -5.762424408221788e-01 + -5.768669806578469e-01 + -5.774876866716016e-01 + -5.781045625480883e-01 + -5.787176116189466e-01 + -5.793268371095267e-01 + -5.799322422747063e-01 + -5.805338304985933e-01 + -5.811316053198213e-01 + -5.817255703521417e-01 + -5.823157287697720e-01 + -5.829020838792335e-01 + -5.834846393919914e-01 + -5.840633987477251e-01 + -5.846383653791880e-01 + -5.852095428966003e-01 + -5.857769347455314e-01 + -5.863405444497650e-01 + -5.869003757905312e-01 + -5.874564321893059e-01 + -5.880087171065591e-01 + -5.885572344676900e-01 + -5.891019879107314e-01 + -5.896429809482692e-01 + -5.901802172691951e-01 + -5.907137006344829e-01 + -5.912434348345698e-01 + -5.917694236578408e-01 + -5.922916709366750e-01 + -5.928101804947136e-01 + -5.933249560457028e-01 + -5.938360014505492e-01 + -5.943433207019595e-01 + -5.948469177828256e-01 + -5.953467966083078e-01 + -5.958429610716830e-01 + -5.963354151930935e-01 + -5.968241629967538e-01 + -5.973092085065336e-01 + -5.977905558475627e-01 + -5.982682091919279e-01 + -5.987421727060626e-01 + -5.992124504335189e-01 + -5.996790465513929e-01 + -6.001419654039183e-01 + -6.006012111567195e-01 + -6.010567880969444e-01 + -6.015087007096906e-01 + -6.019569532209035e-01 + -6.024015499278780e-01 + -6.028424953542454e-01 + -6.032797938560218e-01 + -6.037134498528102e-01 + -6.041434679778884e-01 + -6.045698527611498e-01 + -6.049926086966888e-01 + -6.054117403213235e-01 + -6.058272522301629e-01 + -6.062391491063152e-01 + -6.066474357377917e-01 + -6.070521167750024e-01 + -6.074531969194140e-01 + -6.078506811508277e-01 + -6.082445741313003e-01 + -6.086348804777613e-01 + -6.090216052590219e-01 + -6.094047534940796e-01 + -6.097843300758768e-01 + -6.101603397998798e-01 + -6.105327877567767e-01 + -6.109016791586246e-01 + -6.112670188349342e-01 + -6.116288118244032e-01 + -6.119870634033990e-01 + -6.123417788015699e-01 + -6.126929631816058e-01 + -6.130406216857481e-01 + -6.133847595846266e-01 + -6.137253821544012e-01 + -6.140624946688724e-01 + -6.143961025253998e-01 + -6.147262111225434e-01 + -6.150528258526081e-01 + -6.153759522847098e-01 + -6.156955958775930e-01 + -6.160117619293205e-01 + -6.163244560848270e-01 + -6.166336840291214e-01 + -6.169394513190288e-01 + -6.172417635406579e-01 + -6.175406263458638e-01 + -6.178360454670117e-01 + -6.181280266570051e-01 + -6.184165756494230e-01 + -6.187016981615432e-01 + -6.189834001775048e-01 + -6.192616876391890e-01 + -6.195365661632112e-01 + -6.198080416901866e-01 + -6.200761202902517e-01 + -6.203408078682074e-01 + -6.206021103982113e-01 + -6.208600339819080e-01 + -6.211145848662764e-01 + -6.213657689929696e-01 + -6.216135922609831e-01 + -6.218580610691606e-01 + -6.220991816188346e-01 + -6.223369599996067e-01 + -6.225714026287344e-01 + -6.228025157602012e-01 + -6.230303055354752e-01 + -6.232547783843585e-01 + -6.234759406837302e-01 + -6.236937987287140e-01 + -6.239083589372102e-01 + -6.241196278170006e-01 + -6.243276119301496e-01 + -6.245323178052680e-01 + -6.247337518435782e-01 + -6.249319204108740e-01 + -6.251268303788342e-01 + -6.253184884524475e-01 + -6.255069009766967e-01 + -6.256920746682559e-01 + -6.258740163701917e-01 + -6.260527328726909e-01 + -6.262282307801417e-01 + -6.264005167589047e-01 + -6.265695976839164e-01 + -6.267354804070123e-01 + -6.268981717782514e-01 + -6.270576786775590e-01 + -6.272140080071444e-01 + -6.273671666729116e-01 + -6.275171615794166e-01 + -6.276639997579259e-01 + -6.278076882572314e-01 + -6.279482340166599e-01 + -6.280856440870369e-01 + -6.282199255881125e-01 + -6.283510856176625e-01 + -6.284791313265480e-01 + -6.286040698559974e-01 + -6.287259082244099e-01 + -6.288446536460758e-01 + -6.289603134448759e-01 + -6.290728947784819e-01 + -6.291824049507972e-01 + -6.292888513285516e-01 + -6.293922409846477e-01 + -6.294925812787570e-01 + -6.295898797737625e-01 + -6.296841435561055e-01 + -6.297753800606519e-01 + -6.298635970427606e-01 + -6.299488015475858e-01 + -6.300310009429952e-01 + -6.301102030719377e-01 + -6.301864151575183e-01 + -6.302596446383568e-01 + -6.303298993873763e-01 + -6.303971867419816e-01 + -6.304615141097702e-01 + -6.305228892569528e-01 + -6.305813198299395e-01 + -6.306368133767261e-01 + -6.306893774095105e-01 + -6.307390196514921e-01 + -6.307857478830511e-01 + -6.308295697989852e-01 + -6.308704929504492e-01 + -6.309085250312678e-01 + -6.309436740902202e-01 + -6.309759477467396e-01 + -6.310053535533821e-01 + -6.310318994644450e-01 + -6.310555933584764e-01 + -6.310764430051494e-01 + -6.310944561130111e-01 + -6.311096405770181e-01 + -6.311220043955681e-01 + -6.311315554778594e-01 + -6.311383016234806e-01 + -6.311422506666780e-01 + -6.311434107412031e-01 + -6.311417897164122e-01 + -6.311373953205278e-01 + -6.311302357049288e-01 + -6.311203189243589e-01 + -6.311076528624781e-01 + -6.310922454230109e-01 + -6.310741047155799e-01 + -6.310532389686786e-01 + -6.310296560496979e-01 + -6.310033639455465e-01 + -6.309743708604478e-01 + -6.309426848479184e-01 + -6.309083139781310e-01 + -6.308712663782245e-01 + -6.308315500367087e-01 + -6.307891730465176e-01 + -6.307441436976022e-01 + -6.306964701860184e-01 + -6.306461606431758e-01 + -6.305932231701467e-01 + -6.305376659121696e-01 + -6.304794970062023e-01 + -6.304187245700347e-01 + -6.303553569805046e-01 + -6.302894025962669e-01 + -6.302208694979176e-01 + -6.301497657748981e-01 + -6.300760996409697e-01 + -6.299998795100692e-01 + -6.299211136514613e-01 + -6.298398102240708e-01 + -6.297559773915322e-01 + -6.296696236381925e-01 + -6.295807574013027e-01 + -6.294893864698483e-01 + -6.293955192818200e-01 + -6.292991645521353e-01 + -6.292003301703828e-01 + -6.290990243894826e-01 + -6.289952557946986e-01 + -6.288890326523825e-01 + -6.287803632353285e-01 + -6.286692558944412e-01 + -6.285557190083507e-01 + -6.284397608763040e-01 + -6.283213897612988e-01 + -6.282006141317734e-01 + -6.280774423035318e-01 + -6.279518824496017e-01 + -6.278239431715447e-01 + -6.276936329659792e-01 + -6.275609600561086e-01 + -6.274259327786519e-01 + -6.272885594754783e-01 + -6.271488484695774e-01 + -6.270068083043618e-01 + -6.268624473656752e-01 + -6.267157737459064e-01 + -6.265667960682418e-01 + -6.264155229504741e-01 + -6.262619625962428e-01 + -6.261061232036680e-01 + -6.259480131935671e-01 + -6.257876413121770e-01 + -6.256250157840939e-01 + -6.254601447340036e-01 + -6.252930366972961e-01 + -6.251237002207461e-01 + -6.249521437614608e-01 + -6.247783756272571e-01 + -6.246024042025771e-01 + -6.244242378628240e-01 + -6.242438848129136e-01 + -6.240613535991787e-01 + -6.238766528797192e-01 + -6.236897908519111e-01 + -6.235007757894835e-01 + -6.233096161276966e-01 + -6.231163203935827e-01 + -6.229208970207127e-01 + -6.227233543185018e-01 + -6.225237005131427e-01 + -6.223219439896936e-01 + -6.221180932821515e-01 + -6.219121568092019e-01 + -6.217041429518334e-01 + -6.214940600654550e-01 + -6.212819164164759e-01 + -6.210677203231969e-01 + -6.208514802076882e-01 + -6.206332045396580e-01 + -6.204129016762088e-01 + -6.201905798335827e-01 + -6.199662474146647e-01 + -6.197399127976954e-01 + -6.195115842446862e-01 + -6.192812702436963e-01 + -6.190489791767655e-01 + -6.188147191241502e-01 + -6.185784984898128e-01 + -6.183403256742428e-01 + -6.181002088023494e-01 + -6.178581563548247e-01 + -6.176141767575239e-01 + -6.173682779492388e-01 + -6.171204683326561e-01 + -6.168707564823446e-01 + -6.166191506410910e-01 + -6.163656588303806e-01 + -6.161102891648960e-01 + -6.158530502595377e-01 + -6.155939503803246e-01 + -6.153329975648972e-01 + -6.150702000825419e-01 + -6.148055662334609e-01 + -6.145391042808102e-01 + -6.142708224010276e-01 + -6.140007288452335e-01 + -6.137288318637003e-01 + -6.134551394181680e-01 + -6.131796597624336e-01 + -6.129024013716257e-01 + -6.126233721919256e-01 + -6.123425803085120e-01 + -6.120600340492245e-01 + -6.117757414641359e-01 + -6.114897106263320e-01 + -6.112019497520672e-01 + -6.109124671249474e-01 + -6.106212708396386e-01 + -6.103283687668304e-01 + -6.100337690977098e-01 + -6.097374799911853e-01 + -6.094395093910078e-01 + -6.091398653642833e-01 + -6.088385561024087e-01 + -6.085355898356886e-01 + -6.082309742898534e-01 + -6.079247173286892e-01 + -6.076168274335947e-01 + -6.073073125569597e-01 + -6.069961804304546e-01 + -6.066834389911383e-01 + -6.063690964791788e-01 + -6.060531610171422e-01 + -6.057356401425160e-01 + -6.054165419100932e-01 + -6.050958745176729e-01 + -6.047736455801236e-01 + -6.044498630713394e-01 + -6.041245351487873e-01 + -6.037976695799242e-01 + -6.034692741523835e-01 + -6.031393567367498e-01 + -6.028079252312161e-01 + -6.024749874110954e-01 + -6.021405510415967e-01 + -6.018046242357692e-01 + -6.014672148046522e-01 + -6.011283302871711e-01 + -6.007879786053585e-01 + -6.004461675660895e-01 + -6.001029047914931e-01 + -5.997581981158361e-01 + -5.994120553308485e-01 + -5.990644841299763e-01 + -5.987154923482985e-01 + -5.983650876334137e-01 + -5.980132773866208e-01 + -5.976600693793478e-01 + -5.973054714798371e-01 + -5.969494914365839e-01 + -5.965921366499265e-01 + -5.962334146660923e-01 + -5.958733334161985e-01 + -5.955119002909084e-01 + -5.951491227180785e-01 + -5.947850085981863e-01 + -5.944195652847630e-01 + -5.940528001366523e-01 + -5.936847210858313e-01 + -5.933153356463837e-01 + -5.929446511281147e-01 + -5.925726749957585e-01 + -5.921994146776245e-01 + -5.918248776317639e-01 + -5.914490714685531e-01 + -5.910720036664838e-01 + -5.906936815737919e-01 + -5.903141124838686e-01 + -5.899333037986367e-01 + -5.895512629817115e-01 + -5.891679973989596e-01 + -5.887835143677140e-01 + -5.883978211708401e-01 + -5.880109250637769e-01 + -5.876228334774148e-01 + -5.872335538851382e-01 + -5.868430932520374e-01 + -5.864514587624869e-01 + -5.860586578978172e-01 + -5.856646978273519e-01 + -5.852695857497323e-01 + -5.848733289413443e-01 + -5.844759343592291e-01 + -5.840774091773326e-01 + -5.836777608879199e-01 + -5.832769964405170e-01 + -5.828751228494087e-01 + -5.824721474461222e-01 + -5.820680771414760e-01 + -5.816629188869962e-01 + -5.812566799399100e-01 + -5.808493672421570e-01 + -5.804409877894702e-01 + -5.800315488931496e-01 + -5.796210574409676e-01 + -5.792095201878247e-01 + -5.787969440874288e-01 + -5.783833362006023e-01 + -5.779687035684036e-01 + -5.775530530727403e-01 + -5.771363914738108e-01 + -5.767187255974381e-01 + -5.763000625573806e-01 + -5.758804091701334e-01 + -5.754597721176316e-01 + -5.750381583420940e-01 + -5.746155745735496e-01 + -5.741920274506414e-01 + -5.737675239291555e-01 + -5.733420708457294e-01 + -5.729156748671344e-01 + -5.724883426083383e-01 + -5.720600807791615e-01 + -5.716308961653045e-01 + -5.712007954599810e-01 + -5.707697852850102e-01 + -5.703378722272431e-01 + -5.699050629355835e-01 + -5.694713639828742e-01 + -5.690367818720566e-01 + -5.686013232951076e-01 + -5.681649948578290e-01 + -5.677278029894381e-01 + -5.672897541841998e-01 + -5.668508549514105e-01 + -5.664111117923113e-01 + -5.659705312703284e-01 + -5.655291198708162e-01 + -5.650868839171556e-01 + -5.646438297396282e-01 + -5.641999637601537e-01 + -5.637552925169101e-01 + -5.633098223391846e-01 + -5.628635595080524e-01 + -5.624165104013904e-01 + -5.619686812129524e-01 + -5.615200782186582e-01 + -5.610707080464411e-01 + -5.606205767194389e-01 + -5.601696901727680e-01 + -5.597180550627928e-01 + -5.592656777039943e-01 + -5.588125640834879e-01 + -5.583587201544192e-01 + -5.579041522213387e-01 + -5.574488666805684e-01 + -5.569928694014434e-01 + -5.565361664370690e-01 + -5.560787640439252e-01 + -5.556206683493946e-01 + -5.551618853326125e-01 + -5.547024208857518e-01 + -5.542422809960397e-01 + -5.537814718214656e-01 + -5.533199995563840e-01 + -5.528578699065892e-01 + -5.523950887012330e-01 + -5.519316620139326e-01 + -5.514675956847120e-01 + -5.510028956792654e-01 + -5.505375681122012e-01 + -5.500716185256428e-01 + -5.496050526609592e-01 + -5.491378767346244e-01 + -5.486700964364043e-01 + -5.482017173715276e-01 + -5.477327453596050e-01 + -5.472631862648399e-01 + -5.467930458019109e-01 + -5.463223294669347e-01 + -5.458510432287255e-01 + -5.453791929736209e-01 + -5.449067840000759e-01 + -5.444338218966174e-01 + -5.439603123952597e-01 + -5.434862611282417e-01 + -5.430116738240560e-01 + -5.425365561436022e-01 + -5.420609134355956e-01 + -5.415847511352451e-01 + -5.411080748136494e-01 + -5.406308901525899e-01 + -5.401532026526268e-01 + -5.396750177177082e-01 + -5.391963408895222e-01 + -5.387171774649071e-01 + -5.382375326730170e-01 + -5.377574122460893e-01 + -5.372768215524759e-01 + -5.367957656717409e-01 + -5.363142502106338e-01 + -5.358322806031541e-01 + -5.353498619928253e-01 + -5.348669995911720e-01 + -5.343836987381033e-01 + -5.338999648334884e-01 + -5.334158029976483e-01 + -5.329312184607295e-01 + -5.324462166033185e-01 + -5.319608023124877e-01 + -5.314749807283198e-01 + -5.309887574568507e-01 + -5.305021373834015e-01 + -5.300151254489873e-01 + -5.295277270550899e-01 + -5.290399471460621e-01 + -5.285517906644440e-01 + -5.280632628772480e-01 + -5.275743687930865e-01 + -5.270851133485194e-01 + -5.265955015863814e-01 + -5.261055383771222e-01 + -5.256152286457003e-01 + -5.251245776074701e-01 + -5.246335901741112e-01 + -5.241422711040373e-01 + -5.236506252667474e-01 + -5.231586574906982e-01 + -5.226663726352896e-01 + -5.221737757253558e-01 + -5.216808715970676e-01 + -5.211876649797802e-01 + -5.206941607382560e-01 + -5.202003635069621e-01 + -5.197062778404161e-01 + -5.192119087096243e-01 + -5.187172609937223e-01 + -5.182223393579939e-01 + -5.177271482807863e-01 + -5.172316923981860e-01 + -5.167359765148800e-01 + -5.162400053033168e-01 + -5.157437833544083e-01 + -5.152473152222008e-01 + -5.147506055161414e-01 + -5.142536587718484e-01 + -5.137564794429633e-01 + -5.132590721404230e-01 + -5.127614414610688e-01 + -5.122635918987255e-01 + -5.117655278912282e-01 + -5.112672538418732e-01 + -5.107687741570007e-01 + -5.102700934318621e-01 + -5.097712161511054e-01 + -5.092721464952894e-01 + -5.087728887586368e-01 + -5.082734473837237e-01 + -5.077738269224511e-01 + -5.072740315773641e-01 + -5.067740655070005e-01 + -5.062739331645890e-01 + -5.057736389339202e-01 + -5.052731870571522e-01 + -5.047725816027976e-01 + -5.042718267556677e-01 + -5.037709267723895e-01 + -5.032698858620083e-01 + -5.027687082997551e-01 + -5.022673983228978e-01 + -5.017659599138892e-01 + -5.012643972224838e-01 + -5.007627144504877e-01 + -5.002609154317549e-01 + -4.997590043686060e-01 + -4.992569856498065e-01 + -4.987548629163329e-01 + -4.982526401066572e-01 + -4.977503215591422e-01 + -4.972479113357710e-01 + -4.967454132608579e-01 + -4.962428310876830e-01 + -4.957401690448965e-01 + -4.952374311333114e-01 + -4.947346209581790e-01 + -4.942317423902789e-01 + -4.937287995168010e-01 + -4.932257964768885e-01 + -4.927227367709692e-01 + -4.922196239985463e-01 + -4.917164622446805e-01 + -4.912132554897460e-01 + -4.907100074652099e-01 + -4.902067216434476e-01 + -4.897034018910860e-01 + -4.892000521396699e-01 + -4.886966760659724e-01 + -4.881932772071136e-01 + -4.876898592264887e-01 + -4.871864261030248e-01 + -4.866829812293292e-01 + -4.861795280147214e-01 + -4.856760706607693e-01 + -4.851726126266216e-01 + -4.846691571189501e-01 + -4.841657080652781e-01 + -4.836622690168214e-01 + -4.831588433295234e-01 + -4.826554347812969e-01 + -4.821520468729375e-01 + -4.816486828820545e-01 + -4.811453462713459e-01 + -4.806420406166251e-01 + -4.801387695127853e-01 + -4.796355363816449e-01 + -4.791323444815042e-01 + -4.786291970695780e-01 + -4.781260978727254e-01 + -4.776230503252043e-01 + -4.771200574973888e-01 + -4.766171228253449e-01 + -4.761142497486388e-01 + -4.756114415594656e-01 + -4.751087014547341e-01 + -4.746060327035595e-01 + -4.741034386828772e-01 + -4.736009226286348e-01 + -4.730984877717556e-01 + -4.725961373913972e-01 + -4.720938746127822e-01 + -4.715917026117559e-01 + -4.710896247171748e-01 + -4.705876440070008e-01 + -4.700857635192827e-01 + -4.695839864443119e-01 + -4.690823160197067e-01 + -4.685807553687465e-01 + -4.680793073815264e-01 + -4.675779752270572e-01 + -4.670767621237579e-01 + -4.665756710130068e-01 + -4.660747048828000e-01 + -4.655738667469987e-01 + -4.650731595624170e-01 + -4.645725864569897e-01 + -4.640721505529091e-01 + -4.635718546060059e-01 + -4.630717014390969e-01 + -4.625716940204364e-01 + -4.620718354412200e-01 + -4.615721285948061e-01 + -4.610725762550177e-01 + -4.605731814392849e-01 + -4.600739469669758e-01 + -4.595748755034438e-01 + -4.590759700613133e-01 + -4.585772335293120e-01 + -4.580786685902926e-01 + -4.575802780165928e-01 + -4.570820645542124e-01 + -4.565840309327809e-01 + -4.560861801183225e-01 + -4.555885148408127e-01 + -4.550910375242214e-01 + -4.545937511574892e-01 + -4.540966585092119e-01 + -4.535997618400510e-01 + -4.531030641427475e-01 + -4.526065682230286e-01 + -4.521102761991050e-01 + -4.516141909960451e-01 + -4.511183155232459e-01 + -4.506226519976986e-01 + -4.501272029129367e-01 + -4.496319709853875e-01 + -4.491369589904647e-01 + -4.486421693813144e-01 + -4.481476045149588e-01 + -4.476532669406306e-01 + -4.471591591812127e-01 + -4.466652837454304e-01 + -4.461716431800687e-01 + -4.456782399407630e-01 + -4.451850764283579e-01 + -4.446921550770006e-01 + -4.441994783152980e-01 + -4.437070485743053e-01 + -4.432148683148817e-01 + -4.427229399164072e-01 + -4.422312656936392e-01 + -4.417398479943503e-01 + -4.412486891611525e-01 + -4.407577915365379e-01 + -4.402671575060104e-01 + -4.397767893532367e-01 + -4.392866892910770e-01 + -4.387968597340107e-01 + -4.383073029681190e-01 + -4.378180210879689e-01 + -4.373290163087382e-01 + -4.368402909924953e-01 + -4.363518475687816e-01 + -4.358636880897754e-01 + -4.353758146064535e-01 + -4.348882293452391e-01 + -4.344009344375495e-01 + -4.339139321041776e-01 + -4.334272247184532e-01 + -4.329408142509990e-01 + -4.324547026649819e-01 + -4.319688922210647e-01 + -4.314833850702666e-01 + -4.309981832317592e-01 + -4.305132886299618e-01 + -4.300287034407881e-01 + -4.295444298858639e-01 + -4.290604699557538e-01 + -4.285768254794737e-01 + -4.280934983815344e-01 + -4.276104909880938e-01 + -4.271278053251724e-01 + -4.266454431999359e-01 + -4.261634065006114e-01 + -4.256816972235624e-01 + -4.252003173934318e-01 + -4.247192689049444e-01 + -4.242385536499166e-01 + -4.237581735472888e-01 + -4.232781305399061e-01 + -4.227984264773803e-01 + -4.223190631457318e-01 + -4.218400424415704e-01 + -4.213613663598799e-01 + -4.208830368540804e-01 + -4.204050553934426e-01 + -4.199274237890383e-01 + -4.194501442515862e-01 + -4.189732183034799e-01 + -4.184966476302857e-01 + -4.180204343198091e-01 + -4.175445800025869e-01 + -4.170690862458790e-01 + -4.165939547960728e-01 + -4.161191875920802e-01 + -4.156447863485650e-01 + -4.151707524172177e-01 + -4.146970878143395e-01 + -4.142237944432959e-01 + -4.137508735370036e-01 + -4.132783267358912e-01 + -4.128061559031381e-01 + -4.123343628419361e-01 + -4.118629489726368e-01 + -4.113919157251955e-01 + -4.109212649651476e-01 + -4.104509983224866e-01 + -4.099811172669397e-01 + -4.095116233202941e-01 + -4.090425181490535e-01 + -4.085738034100841e-01 + -4.081054804950061e-01 + -4.076375508831032e-01 + -4.071700161671795e-01 + -4.067028779692610e-01 + -4.062361376606066e-01 + -4.057697965353959e-01 + -4.053038563335837e-01 + -4.048383186645677e-01 + -4.043731849141807e-01 + -4.039084564103662e-01 + -4.034441345521896e-01 + -4.029802208230617e-01 + -4.025167167043049e-01 + -4.020536236099443e-01 + -4.015909428779320e-01 + -4.011286758375757e-01 + -4.006668238996902e-01 + -4.002053885607212e-01 + -3.997443712200008e-01 + -3.992837731698375e-01 + -3.988235956310492e-01 + -3.983638399923307e-01 + -3.979045076012857e-01 + -3.974455996644362e-01 + -3.969871175556028e-01 + -3.965290626455606e-01 + -3.960714361699136e-01 + -3.956142393772600e-01 + -3.951574735515524e-01 + -3.947011399985758e-01 + -3.942452398354794e-01 + -3.937897742524872e-01 + -3.933347447660869e-01 + -3.928801524442024e-01 + -3.924259983101159e-01 + -3.919722839283850e-01 + -3.915190103656777e-01 + -3.910661784756895e-01 + -3.906137895655892e-01 + -3.901618450499643e-01 + -3.897103461604648e-01 + -3.892592935529919e-01 + -3.888086884121152e-01 + -3.883585322771145e-01 + -3.879088261485191e-01 + -3.874595710701922e-01 + -3.870107681556456e-01 + -3.865624182556531e-01 + -3.861145225228043e-01 + -3.856670823544472e-01 + -3.852200986473037e-01 + -3.847735723987576e-01 + -3.843275047747315e-01 + -3.838818965026468e-01 + -3.834367486164244e-01 + -3.829920625791138e-01 + -3.825478392535004e-01 + -3.821040794322394e-01 + -3.816607841213338e-01 + -3.812179544462010e-01 + -3.807755914230820e-01 + -3.803336958584798e-01 + -3.798922686597118e-01 + -3.794513108818827e-01 + -3.790108236907996e-01 + -3.785708078449803e-01 + -3.781312640889848e-01 + -3.776921934895628e-01 + -3.772535969260590e-01 + -3.768154752452403e-01 + -3.763778294637203e-01 + -3.759406605249527e-01 + -3.755039692439986e-01 + -3.750677562951532e-01 + -3.746320226741715e-01 + -3.741967693787305e-01 + -3.737619968727901e-01 + -3.733277061470673e-01 + -3.728938983949728e-01 + -3.724605741247380e-01 + -3.720277341192338e-01 + -3.715953793429491e-01 + -3.711635103186269e-01 + -3.707321278978636e-01 + -3.703012331728173e-01 + -3.698708267439747e-01 + -3.694409092657609e-01 + -3.690114815572269e-01 + -3.685825444178367e-01 + -3.681540985405766e-01 + -3.677261445488677e-01 + -3.672986832474148e-01 + -3.668717154245260e-01 + -3.664452417818624e-01 + -3.660192630178876e-01 + -3.655937798167319e-01 + -3.651687928442244e-01 + -3.647443027770453e-01 + -3.643203103057334e-01 + -3.638968161236534e-01 + -3.634738208501973e-01 + -3.630513251204181e-01 + -3.626293296340570e-01 + -3.622078349959966e-01 + -3.617868418102546e-01 + -3.613663507559756e-01 + -3.609463624258993e-01 + -3.605268773947004e-01 + -3.601078962972172e-01 + -3.596894197319259e-01 + -3.592714482724653e-01 + -3.588539824938156e-01 + -3.584370229705016e-01 + -3.580205702765974e-01 + -3.576046249835235e-01 + -3.571891876270012e-01 + -3.567742587321382e-01 + -3.563598388637925e-01 + -3.559459285557617e-01 + -3.555325283179373e-01 + -3.551196386794110e-01 + -3.547072601423791e-01 + -3.542953931967586e-01 + -3.538840383835105e-01 + -3.534731961849680e-01 + -3.530628670336623e-01 + -3.526530514374770e-01 + -3.522437498876279e-01 + -3.518349628366106e-01 + -3.514266907403692e-01 + -3.510189340474827e-01 + -3.506116931966672e-01 + -3.502049686305037e-01 + -3.497987607886671e-01 + -3.493930701015490e-01 + -3.489878969787067e-01 + -3.485832418243141e-01 + -3.481791050461803e-01 + -3.477754870557839e-01 + -3.473723882547367e-01 + -3.469698090253131e-01 + -3.465677497415546e-01 + -3.461662107762984e-01 + -3.457651925045610e-01 + -3.453646952920019e-01 + -3.449647194961470e-01 + -3.445652654674211e-01 + -3.441663335489293e-01 + -3.437679240760669e-01 + -3.433700373751777e-01 + -3.429726737709668e-01 + -3.425758335909973e-01 + -3.421795171685511e-01 + -3.417837248082679e-01 + -3.413884567949557e-01 + -3.409937134173290e-01 + -3.405994949798623e-01 + -3.402058017865278e-01 + -3.398126341027504e-01 + -3.394199921921239e-01 + -3.390278763247643e-01 + -3.386362867748747e-01 + -3.382452237948665e-01 + -3.378546876227794e-01 + -3.374646785249709e-01 + -3.370751967392704e-01 + -3.366862424749215e-01 + -3.362978159833941e-01 + -3.359099174981644e-01 + -3.355225472182573e-01 + -3.351357053498810e-01 + -3.347493921057998e-01 + -3.343636076973308e-01 + -3.339783523006465e-01 + -3.335936261089775e-01 + -3.332094293460974e-01 + -3.328257621547543e-01 + -3.324426246881435e-01 + -3.320600171619409e-01 + -3.316779397280902e-01 + -3.312963925265998e-01 + -3.309153757279716e-01 + -3.305348894653861e-01 + -3.301549338737799e-01 + -3.297755091265357e-01 + -3.293966153413448e-01 + -3.290182526215280e-01 + -3.286404211114115e-01 + -3.282631209285871e-01 + -3.278863521751846e-01 + -3.275101149642331e-01 + -3.271344093953196e-01 + -3.267592355617253e-01 + -3.263845935667566e-01 + -3.260104834866909e-01 + -3.256369053882101e-01 + -3.252638593756906e-01 + -3.248913455268053e-01 + -3.245193638907094e-01 + -3.241479145199382e-01 + -3.237769974872735e-01 + -3.234066128661293e-01 + -3.230367606622389e-01 + -3.226674409186036e-01 + -3.222986537192250e-01 + -3.219303990783447e-01 + -3.215626770146125e-01 + -3.211954875680534e-01 + -3.208288307426270e-01 + -3.204627065455645e-01 + -3.200971150001409e-01 + -3.197320561103191e-01 + -3.193675298795836e-01 + -3.190035363166080e-01 + -3.186400754009213e-01 + -3.182771471114187e-01 + -3.179147514432106e-01 + -3.175528883799994e-01 + -3.171915578921511e-01 + -3.168307599394173e-01 + -3.164704945026028e-01 + -3.161107615528752e-01 + -3.157515610223091e-01 + -3.153928928534279e-01 + -3.150347570035595e-01 + -3.146771534412893e-01 + -3.143200821026652e-01 + -3.139635429048980e-01 + -3.136075357713601e-01 + -3.132520606345795e-01 + -3.128971174301287e-01 + -3.125427060850263e-01 + -3.121888265003789e-01 + -3.118354785699559e-01 + -3.114826622209773e-01 + -3.111303773636806e-01 + -3.107786238863177e-01 + -3.104274016699458e-01 + -3.100767106006651e-01 + -3.097265505731036e-01 + -3.093769214901858e-01 + -3.090278232197667e-01 + -3.086792556057311e-01 + -3.083312185528201e-01 + -3.079837119302323e-01 + -3.076367355606988e-01 + -3.072902893338402e-01 + -3.069443731087555e-01 + -3.065989866918071e-01 + -3.062541299629242e-01 + -3.059098027895394e-01 + -3.055660049841727e-01 + -3.052227363624680e-01 + -3.048799967605036e-01 + -3.045377860349815e-01 + -3.041961039937703e-01 + -3.038549504461246e-01 + -3.035143252370935e-01 + -3.031742281687436e-01 + -3.028346590287212e-01 + -3.024956176228422e-01 + -3.021571037727226e-01 + -3.018191172891879e-01 + -3.014816579447884e-01 + -3.011447255196590e-01 + -3.008083198102758e-01 + -3.004724406299011e-01 + -3.001370877400161e-01 + -2.998022608844934e-01 + -2.994679598576119e-01 + -2.991341844426006e-01 + -2.988009344054493e-01 + -2.984682095047237e-01 + -2.981360094999961e-01 + -2.978043341494513e-01 + -2.974731831997393e-01 + -2.971425563888731e-01 + -2.968124534589884e-01 + -2.964828741880918e-01 + -2.961538183196636e-01 + -2.958252855581221e-01 + -2.954972756291568e-01 + -2.951697882690829e-01 + -2.948428232168150e-01 + -2.945163801997789e-01 + -2.941904589349781e-01 + -2.938650591314966e-01 + -2.935401805013078e-01 + -2.932158227514122e-01 + -2.928919855851135e-01 + -2.925686687341852e-01 + -2.922458719001491e-01 + -2.919235947316832e-01 + -2.916018369508684e-01 + -2.912805982685433e-01 + -2.909598783275820e-01 + -2.906396768390501e-01 + -2.903199935181080e-01 + -2.900008280188033e-01 + -2.896821799916231e-01 + -2.893640491090957e-01 + -2.890464350819901e-01 + -2.887293375718574e-01 + -2.884127562142981e-01 + -2.880966906629407e-01 + -2.877811406014185e-01 + -2.874661057081589e-01 + -2.871515856017081e-01 + -2.868375799224188e-01 + -2.865240883310016e-01 + -2.862111104788733e-01 + -2.858986460098822e-01 + -2.855866945593247e-01 + -2.852752557499685e-01 + -2.849643292069009e-01 + -2.846539145659956e-01 + -2.843440114851778e-01 + -2.840346195818731e-01 + -2.837257384382189e-01 + -2.834173676812886e-01 + -2.831095069534547e-01 + -2.828021558855677e-01 + -2.824953140398479e-01 + -2.821889810170294e-01 + -2.818831564761255e-01 + -2.815778399984394e-01 + -2.812730311718642e-01 + -2.809687296216254e-01 + -2.806649349155874e-01 + -2.803616466281044e-01 + -2.800588643758425e-01 + -2.797565877594176e-01 + -2.794548163592918e-01 + -2.791535497376408e-01 + -2.788527874670974e-01 + -2.785525291296920e-01 + -2.782527743138438e-01 + -2.779535226034689e-01 + -2.776547735631448e-01 + -2.773565267276963e-01 + -2.770587816777879e-01 + -2.767615379983304e-01 + -2.764647952191276e-01 + -2.761685529026718e-01 + -2.758728106207560e-01 + -2.755775679024411e-01 + -2.752828243050798e-01 + -2.749885793975552e-01 + -2.746948327088052e-01 + -2.744015837838452e-01 + -2.741088321749212e-01 + -2.738165773969221e-01 + -2.735248189792139e-01 + -2.732335564721672e-01 + -2.729427894286903e-01 + -2.726525173657923e-01 + -2.723627397775934e-01 + -2.720734562117226e-01 + -2.717846661993187e-01 + -2.714963692431568e-01 + -2.712085648712142e-01 + -2.709212526021956e-01 + -2.706344319386959e-01 + -2.703481024077038e-01 + -2.700622635195931e-01 + -2.697769147573882e-01 + -2.694920556414950e-01 + -2.692076856844960e-01 + -2.689238043678598e-01 + -2.686404111894522e-01 + -2.683575056539274e-01 + -2.680750872618156e-01 + -2.677931554956217e-01 + -2.675117098420171e-01 + -2.672307498062658e-01 + -2.669502748541435e-01 + -2.666702844564393e-01 + -2.663907781339158e-01 + -2.661117553567487e-01 + -2.658332155842312e-01 + -2.655551583220328e-01 + -2.652775830228958e-01 + -2.650004891310402e-01 + -2.647238761635896e-01 + -2.644477435849875e-01 + -2.641720908275026e-01 + -2.638969173638899e-01 + -2.636222226679477e-01 + -2.633480062028563e-01 + -2.630742674151484e-01 + -2.628010057675256e-01 + -2.625282207270022e-01 + -2.622559117157733e-01 + -2.619840781930577e-01 + -2.617127196438671e-01 + -2.614418354712815e-01 + -2.611714251171109e-01 + -2.609014880694051e-01 + -2.606320237300626e-01 + -2.603630315312080e-01 + -2.600945109576975e-01 + -2.598264614192900e-01 + -2.595588823272051e-01 + -2.592917731268140e-01 + -2.590251332515323e-01 + -2.587589621335352e-01 + -2.584932592080277e-01 + -2.582280238899204e-01 + -2.579632555996659e-01 + -2.576989537753064e-01 + -2.574351178135512e-01 + -2.571717471205571e-01 + -2.569088411498421e-01 + -2.566463993032694e-01 + -2.563844209736399e-01 + -2.561229055922761e-01 + -2.558618525664796e-01 + -2.556012613001373e-01 + -2.553411312228936e-01 + -2.550814617199114e-01 + -2.548222521633088e-01 + -2.545635019702024e-01 + -2.543052105636615e-01 + -2.540473773489130e-01 + -2.537900016856341e-01 + -2.535330829668063e-01 + -2.532766206092137e-01 + -2.530206140025920e-01 + -2.527650625373169e-01 + -2.525099656058339e-01 + -2.522553225882911e-01 + -2.520011328519368e-01 + -2.517473957689335e-01 + -2.514941107682424e-01 + -2.512412772287477e-01 + -2.509888944763962e-01 + -2.507369619085763e-01 + -2.504854789235316e-01 + -2.502344448942996e-01 + -2.499838591881081e-01 + -2.497337211675947e-01 + -2.494840301941274e-01 + -2.492347856449565e-01 + -2.489859868896926e-01 + -2.487376332816026e-01 + -2.484897241934407e-01 + -2.482422589923619e-01 + -2.479952370263670e-01 + -2.477486576676466e-01 + -2.475025202765806e-01 + -2.472568241776227e-01 + -2.470115687463755e-01 + -2.467667533575219e-01 + -2.465223773319763e-01 + -2.462784400223504e-01 + -2.460349407926405e-01 + -2.457918789841980e-01 + -2.455492539346369e-01 + -2.453070649885519e-01 + -2.450653115068263e-01 + -2.448239928212929e-01 + -2.445831082525867e-01 + -2.443426571517872e-01 + -2.441026388729581e-01 + -2.438630527595843e-01 + -2.436238981283992e-01 + -2.433851743000419e-01 + -2.431468806082007e-01 + -2.429090164035606e-01 + -2.426715810065056e-01 + -2.424345737214870e-01 + -2.421979939156839e-01 + -2.419618409122474e-01 + -2.417261139893861e-01 + -2.414908125047008e-01 + -2.412559357926221e-01 + -2.410214831428485e-01 + -2.407874538901436e-01 + -2.405538473594189e-01 + -2.403206628448788e-01 + -2.400878996494245e-01 + -2.398555571012901e-01 + -2.396236345489386e-01 + -2.393921312730178e-01 + -2.391610465589564e-01 + -2.389303797400675e-01 + -2.387001301206918e-01 + -2.384702970040557e-01 + -2.382408797142012e-01 + -2.380118775445049e-01 + -2.377832897784107e-01 + -2.375551157141706e-01 + -2.373273546676602e-01 + -2.371000059435911e-01 + -2.368730688080822e-01 + -2.366465425799626e-01 + -2.364204265795865e-01 + -2.361947200488833e-01 + -2.359694222928865e-01 + -2.357445326362645e-01 + -2.355200503199650e-01 + -2.352959746331166e-01 + -2.350723049000333e-01 + -2.348490404054174e-01 + -2.346261804119323e-01 + -2.344037241869703e-01 + -2.341816710532240e-01 + -2.339600202844186e-01 + -2.337387711161095e-01 + -2.335179228570654e-01 + -2.332974748051559e-01 + -2.330774262250223e-01 + -2.328577763695832e-01 + -2.326385245095027e-01 + -2.324196699339893e-01 + -2.322012119071908e-01 + -2.319831496985562e-01 + -2.317654825913850e-01 + -2.315482098501277e-01 + -2.313313307350805e-01 + -2.311148445095759e-01 + -2.308987504304352e-01 + -2.306830477605995e-01 + -2.304677357746768e-01 + -2.302528137313455e-01 + -2.300382808821649e-01 + -2.298241364802842e-01 + -2.296103797849810e-01 + -2.293970100645507e-01 + -2.291840265929282e-01 + -2.289714285853380e-01 + -2.287592152687787e-01 + -2.285473859575702e-01 + -2.283359398767679e-01 + -2.281248762354934e-01 + -2.279141943457151e-01 + -2.277038934347241e-01 + -2.274939727028900e-01 + -2.272844314557521e-01 + -2.270752689260884e-01 + -2.268664843063303e-01 + -2.266580768713468e-01 + -2.264500458690802e-01 + -2.262423905203003e-01 + -2.260351100742427e-01 + -2.258282037663114e-01 + -2.256216708189812e-01 + -2.254155104759721e-01 + -2.252097219699820e-01 + -2.250043045201664e-01 + -2.247992573593203e-01 + -2.245945797283117e-01 + -2.243902708632074e-01 + -2.241863299547213e-01 + -2.239827562297785e-01 + -2.237795489631809e-01 + -2.235767073479459e-01 + -2.233742305913306e-01 + -2.231721179508258e-01 + -2.229703686190215e-01 + -2.227689817967141e-01 + -2.225679567331226e-01 + -2.223672926389324e-01 + -2.221669887137792e-01 + -2.219670441735496e-01 + -2.217674582593449e-01 + -2.215682301863681e-01 + -2.213693591068690e-01 + -2.211708442449674e-01 + -2.209726848493868e-01 + -2.207748801280919e-01 + -2.205774292618204e-01 + -2.203803314334422e-01 + -2.201835858632719e-01 + -2.199871917828554e-01 + -2.197911484006530e-01 + -2.195954548584606e-01 + -2.194001103587555e-01 + -2.192051141421317e-01 + -2.190104654040938e-01 + -2.188161633272981e-01 + -2.186222070944807e-01 + -2.184285959003400e-01 + -2.182353289399314e-01 + -2.180424054040691e-01 + -2.178498244760091e-01 + -2.176575853577229e-01 + -2.174656872563868e-01 + -2.172741293153170e-01 + -2.170829107184905e-01 + -2.168920306960583e-01 + -2.167014883907840e-01 + -2.165112829716549e-01 + -2.163214136638050e-01 + -2.161318796380734e-01 + -2.159426800456078e-01 + -2.157538140457635e-01 + -2.155652808465100e-01 + -2.153770796378261e-01 + -2.151892095617934e-01 + -2.150016698096599e-01 + -2.148144595574814e-01 + -2.146275779264766e-01 + -2.144410241083473e-01 + -2.142547972973645e-01 + -2.140688966286696e-01 + -2.138833212713278e-01 + -2.136980704068839e-01 + -2.135131431962469e-01 + -2.133285387811797e-01 + -2.131442563097479e-01 + -2.129602949644751e-01 + -2.127766538888946e-01 + -2.125933322205115e-01 + -2.124103291538361e-01 + -2.122276438425608e-01 + -2.120452754131807e-01 + -2.118632230196053e-01 + -2.116814858091140e-01 + -2.115000629262062e-01 + -2.113189535366684e-01 + -2.111381567835468e-01 + -2.109576717897184e-01 + -2.107774976942802e-01 + -2.105976336477213e-01 + -2.104180788038142e-01 + -2.102388322993181e-01 + -2.100598932684242e-01 + -2.098812608470688e-01 + -2.097029341689293e-01 + -2.095249123662445e-01 + -2.093471945702010e-01 + -2.091697799107427e-01 + -2.089926675162990e-01 + -2.088158565139439e-01 + -2.086393460309292e-01 + -2.084631351904399e-01 + -2.082872231124364e-01 + -2.081116089361562e-01 + -2.079362917906518e-01 + -2.077612707758083e-01 + -2.075865450013143e-01 + -2.074121135936494e-01 + -2.072379756933602e-01 + -2.070641303864229e-01 + -2.068905767613353e-01 + -2.067173139701657e-01 + -2.065443411403108e-01 + -2.063716573678470e-01 + -2.061992617242399e-01 + -2.060271533191409e-01 + -2.058553312792487e-01 + -2.056837947057731e-01 + -2.055125426973447e-01 + -2.053415743575506e-01 + -2.051708887985432e-01 + -2.050004850901530e-01 + -2.048303622987561e-01 + -2.046605195888223e-01 + -2.044909560501713e-01 + -2.043216707137636e-01 + -2.041526627003059e-01 + -2.039839311053935e-01 + -2.038154749924674e-01 + -2.036472934779214e-01 + -2.034793856435669e-01 + -2.033117505334730e-01 + -2.031443872603400e-01 + -2.029772949053144e-01 + -2.028104725040109e-01 + -2.026439191805672e-01 + -2.024776340229360e-01 + -2.023116160442759e-01 + -2.021458643362796e-01 + -2.019803779931268e-01 + -2.018151560674621e-01 + -2.016501976152565e-01 + -2.014855017030598e-01 + -2.013210674074579e-01 + -2.011568937830132e-01 + -2.009929798869589e-01 + -2.008293247967324e-01 + -2.006659275530022e-01 + -2.005027871933542e-01 + -2.003399027889975e-01 + -2.001772733993469e-01 + -2.000148980648089e-01 + -1.998527758076494e-01 + -1.996909056937942e-01 + -1.995292867991256e-01 + -1.993679181495860e-01 + -1.992067987609143e-01 + -1.990459276660739e-01 + -1.988853039482369e-01 + -1.987249266385540e-01 + -1.985647947339026e-01 + -1.984049072747179e-01 + -1.982452632992336e-01 + -1.980858618372365e-01 + -1.979267019229292e-01 + -1.977677825816225e-01 + -1.976091028269504e-01 + -1.974506616652059e-01 + -1.972924581269546e-01 + -1.971344912595772e-01 + -1.969767600601777e-01 + -1.968192635197257e-01 + -1.966620006473419e-01 + -1.965049704914111e-01 + -1.963481720619957e-01 + -1.961916043159508e-01 + -1.960352662866058e-01 + -1.958791570023236e-01 + -1.957232754408347e-01 + -1.955676205736371e-01 + -1.954121914050787e-01 + -1.952569869811404e-01 + -1.951020062511957e-01 + -1.949472481743376e-01 + -1.947927118000400e-01 + -1.946383960967118e-01 + -1.944843000224015e-01 + -1.943304226010136e-01 + -1.941767627996486e-01 + -1.940233195719773e-01 + -1.938700919198527e-01 + -1.937170788011597e-01 + -1.935642791691659e-01 + -1.934116920404960e-01 + -1.932593163702813e-01 + -1.931071510855982e-01 + -1.929551951739442e-01 + -1.928034476111422e-01 + -1.926519073523142e-01 + -1.925005733427448e-01 + -1.923494445333268e-01 + -1.921985198850023e-01 + -1.920477983694047e-01 + -1.918972789099489e-01 + -1.917469604078139e-01 + -1.915968418647559e-01 + -1.914469222323946e-01 + -1.912972003977130e-01 + -1.911476753153419e-01 + -1.909983459354311e-01 + -1.908492111828614e-01 + -1.907002699990133e-01 + -1.905515213021572e-01 + -1.904029639829450e-01 + -1.902545969863778e-01 + -1.901064192518998e-01 + -1.899584296832387e-01 + -1.898106271909556e-01 + -1.896630106872466e-01 + -1.895155790805884e-01 + -1.893683312769490e-01 + -1.892212661839438e-01 + -1.890743827110565e-01 + -1.889276797429612e-01 + -1.887811561730439e-01 + -1.886348109311961e-01 + -1.884886428944042e-01 + -1.883426509295119e-01 + -1.881968339481026e-01 + -1.880511908244114e-01 + -1.879057204210790e-01 + -1.877604216379617e-01 + -1.876152933660684e-01 + -1.874703344759240e-01 + -1.873255438107255e-01 + -1.871809202288037e-01 + -1.870364626111082e-01 + -1.868921698587295e-01 + -1.867480408184902e-01 + -1.866040743068453e-01 + -1.864602692045282e-01 + -1.863166243684211e-01 + -1.861731386269271e-01 + -1.860298108368848e-01 + -1.858866398430710e-01 + -1.857436244746902e-01 + -1.856007635808946e-01 + -1.854580560069532e-01 + -1.853155005825300e-01 + -1.851730961153894e-01 + -1.850308414342497e-01 + -1.848887353926573e-01 + -1.847467767859671e-01 + -1.846049644137440e-01 + -1.844632971091011e-01 + -1.843217736893654e-01 + -1.841803929497542e-01 + -1.840391536710132e-01 + -1.838980546953601e-01 + -1.837570948428414e-01 + -1.836162728527662e-01 + -1.834755875142904e-01 + -1.833350376404768e-01 + -1.831946220322505e-01 + -1.830543394615971e-01 + -1.829141886951903e-01 + -1.827741685199023e-01 + -1.826342777082210e-01 + -1.824945150204152e-01 + -1.823548792146146e-01 + -1.822153690716325e-01 + -1.820759833652730e-01 + -1.819367208114371e-01 + -1.817975801678411e-01 + -1.816585602158104e-01 + -1.815196596908165e-01 + -1.813808773333636e-01 + -1.812422118861797e-01 + -1.811036620617022e-01 + -1.809652266051679e-01 + -1.808269042761388e-01 + -1.806886937510042e-01 + -1.805505937426575e-01 + -1.804126030135119e-01 + -1.802747202867512e-01 + -1.801369442562599e-01 + -1.799992736029428e-01 + -1.798617070428147e-01 + -1.797242432859927e-01 + -1.795868810229852e-01 + -1.794496189531687e-01 + -1.793124557648680e-01 + -1.791753901302353e-01 + -1.790384207459855e-01 + -1.789015462957270e-01 + -1.787647654308534e-01 + -1.786280768266134e-01 + -1.784914791546937e-01 + -1.783549710639760e-01 + -1.782185512276328e-01 + -1.780822183108111e-01 + -1.779459709418989e-01 + -1.778098077766785e-01 + -1.776737274641330e-01 + -1.775377286080068e-01 + -1.774018098685905e-01 + -1.772659699092733e-01 + -1.771302073149079e-01 + -1.769945207098710e-01 + -1.768589087303928e-01 + -1.767233699571559e-01 + -1.765879030229077e-01 + -1.764525065751527e-01 + -1.763171791703831e-01 + -1.761819193770276e-01 + -1.760467257991546e-01 + -1.759115970764966e-01 + -1.757765317826701e-01 + -1.756415284467932e-01 + -1.755065856823099e-01 + -1.753717020824757e-01 + -1.752368761936218e-01 + -1.751021065398607e-01 + -1.749673916979465e-01 + -1.748327302843573e-01 + -1.746981207950505e-01 + -1.745635617515470e-01 + -1.744290517410085e-01 + -1.742945892830799e-01 + -1.741601728915786e-01 + -1.740258011048612e-01 + -1.738914724532109e-01 + -1.737571854631234e-01 + -1.736229386541751e-01 + -1.734887304969607e-01 + -1.733545594900176e-01 + -1.732204242005106e-01 + -1.730863230847530e-01 + -1.729522545880760e-01 + -1.728182172369972e-01 + -1.726842095169024e-01 + -1.725502298924380e-01 + -1.724162768405715e-01 + -1.722823488297978e-01 + -1.721484443102564e-01 + -1.720145617082366e-01 + -1.718806995062888e-01 + -1.717468561876117e-01 + -1.716130301380271e-01 + -1.714792197950507e-01 + -1.713454236195253e-01 + -1.712116399980747e-01 + -1.710778673588311e-01 + -1.709441041583024e-01 + -1.708103487974718e-01 + -1.706765996579921e-01 + -1.705428551238503e-01 + -1.704091136122197e-01 + -1.702753735243250e-01 + -1.701416332337174e-01 + -1.700078910979654e-01 + -1.698741454939726e-01 + -1.697403948188084e-01 + -1.696066374424440e-01 + -1.694728717024124e-01 + -1.693390959182572e-01 + -1.692053084687103e-01 + -1.690715077127793e-01 + -1.689376919605925e-01 + -1.688038595533757e-01 + -1.686700088249354e-01 + -1.685361380772680e-01 + -1.684022456043037e-01 + -1.682683297240474e-01 + -1.681343887869522e-01 + -1.680004210524648e-01 + -1.678664247764668e-01 + -1.677323982879569e-01 + -1.675983398888628e-01 + -1.674642478421112e-01 + -1.673301203727337e-01 + -1.671959557470875e-01 + -1.670617522514179e-01 + -1.669275081523977e-01 + -1.667932216748827e-01 + -1.666588910302535e-01 + -1.665245144618999e-01 + -1.663900902261115e-01 + -1.662556165573334e-01 + -1.661210916150787e-01 + -1.659865136192500e-01 + -1.658518808205523e-01 + -1.657171913793817e-01 + -1.655824434869752e-01 + -1.654476353589082e-01 + -1.653127651402884e-01 + -1.651778310039089e-01 + -1.650428311475997e-01 + -1.649077636947325e-01 + -1.647726268054878e-01 + -1.646374186795111e-01 + -1.645021374143022e-01 + -1.643667811219276e-01 + -1.642313479645375e-01 + -1.640958360797542e-01 + -1.639602435821208e-01 + -1.638245685678920e-01 + -1.636888091342957e-01 + -1.635529633807896e-01 + -1.634170294056715e-01 + -1.632810052843662e-01 + -1.631448890987297e-01 + -1.630086789505001e-01 + -1.628723728914803e-01 + -1.627359689604526e-01 + -1.625994652175857e-01 + -1.624628597296842e-01 + -1.623261505411777e-01 + -1.621893356498993e-01 + -1.620524130844338e-01 + -1.619153808874262e-01 + -1.617782370829140e-01 + -1.616409796594323e-01 + -1.615036066042981e-01 + -1.613661159511956e-01 + -1.612285056749289e-01 + -1.610907737177844e-01 + -1.609529180644884e-01 + -1.608149367058714e-01 + -1.606768276166446e-01 + -1.605385887249777e-01 + -1.604002179666082e-01 + -1.602617132920370e-01 + -1.601230726507729e-01 + -1.599842939686116e-01 + -1.598453751511857e-01 + -1.597063141136520e-01 + -1.595671087574746e-01 + -1.594277569704320e-01 + -1.592882566576958e-01 + -1.591486057239582e-01 + -1.590088020577491e-01 + -1.588688434990599e-01 + -1.587287278927537e-01 + -1.585884531125515e-01 + -1.584480170419727e-01 + -1.583074175205078e-01 + -1.581666523320080e-01 + -1.580257193426469e-01 + -1.578846164090064e-01 + -1.577433413163997e-01 + -1.576018918624315e-01 + -1.574602658488709e-01 + -1.573184610699215e-01 + -1.571764753211041e-01 + -1.570343063929105e-01 + -1.568919520623428e-01 + -1.567494100904384e-01 + -1.566066782348808e-01 + -1.564637542612438e-01 + -1.563206358983480e-01 + -1.561773208679784e-01 + -1.560338069324230e-01 + -1.558900918260982e-01 + -1.557461732592160e-01 + -1.556020489404925e-01 + -1.554577165574562e-01 + -1.553131737930803e-01 + -1.551684183667380e-01 + -1.550234479797016e-01 + -1.548782603038531e-01 + -1.547328529851514e-01 + -1.545872236759721e-01 + -1.544413700402710e-01 + -1.542952897416497e-01 + -1.541489804232354e-01 + -1.540024397056934e-01 + -1.538556652055174e-01 + -1.537086545589509e-01 + -1.535614054107616e-01 + -1.534139153265976e-01 + -1.532661818894184e-01 + -1.531182027303390e-01 + -1.529699754364569e-01 + -1.528214975805129e-01 + -1.526727667337492e-01 + -1.525237804315604e-01 + -1.523745362382714e-01 + -1.522250317710374e-01 + -1.520752645246755e-01 + -1.519252320010430e-01 + -1.517749318043420e-01 + -1.516243614355856e-01 + -1.514735183783821e-01 + -1.513224001894709e-01 + -1.511710043669709e-01 + -1.510193283881065e-01 + -1.508673697644896e-01 + -1.507151259726486e-01 + -1.505625944726656e-01 + -1.504097727456887e-01 + -1.502566582737337e-01 + -1.501032485283334e-01 + -1.499495409558064e-01 + -1.497955329817901e-01 + -1.496412220312461e-01 + -1.494866055649385e-01 + -1.493316810218445e-01 + -1.491764458131949e-01 + -1.490208973395277e-01 + -1.488650330073115e-01 + -1.487088502321930e-01 + -1.485523464347014e-01 + -1.483955190026080e-01 + -1.482383652905619e-01 + -1.480808826638546e-01 + -1.479230685198502e-01 + -1.477649202713839e-01 + -1.476064352431592e-01 + -1.474476107543291e-01 + -1.472884441602761e-01 + -1.471289328556787e-01 + -1.469690741904771e-01 + -1.468088654425319e-01 + -1.466483039513407e-01 + -1.464873870643751e-01 + -1.463261120992439e-01 + -1.461644763685366e-01 + -1.460024771711030e-01 + -1.458401117873900e-01 + -1.456773775256328e-01 + -1.455142717039091e-01 + -1.453507916253095e-01 + -1.451869345373153e-01 + -1.450226976893540e-01 + -1.448580783981553e-01 + -1.446930739597145e-01 + -1.445276816274984e-01 + -1.443618986028185e-01 + -1.441957221635531e-01 + -1.440291496154044e-01 + -1.438621781832398e-01 + -1.436948050802729e-01 + -1.435270275400491e-01 + -1.433588428498931e-01 + -1.431902482406432e-01 + -1.430212409022274e-01 + -1.428518180756519e-01 + -1.426819769869911e-01 + -1.425117148424586e-01 + -1.423410288662751e-01 + -1.421699162875700e-01 + -1.419983743276740e-01 + -1.418264001727286e-01 + -1.416539910114460e-01 + -1.414811440470098e-01 + -1.413078564852965e-01 + -1.411341255423312e-01 + -1.409599484327010e-01 + -1.407853222965617e-01 + -1.406102443173973e-01 + -1.404347117561954e-01 + -1.402587217519092e-01 + -1.400822714659246e-01 + -1.399053581557436e-01 + -1.397279789611117e-01 + -1.395501310267636e-01 + -1.393718115937786e-01 + -1.391930178402762e-01 + -1.390137469173205e-01 + -1.388339959972602e-01 + -1.386537622953096e-01 + -1.384730430031857e-01 + -1.382918352262208e-01 + -1.381101361784074e-01 + -1.379279430940128e-01 + -1.377452530885734e-01 + -1.375620633453186e-01 + -1.373783710804598e-01 + -1.371941734475252e-01 + -1.370094676273606e-01 + -1.368242508215203e-01 + -1.366385202106050e-01 + -1.364522729969404e-01 + -1.362655063841710e-01 + -1.360782175127518e-01 + -1.358904035964053e-01 + -1.357020618930480e-01 + -1.355131895302153e-01 + -1.353237837054462e-01 + -1.351338416922692e-01 + -1.349433606493001e-01 + -1.347523377766847e-01 + -1.345607703467432e-01 + -1.343686555800670e-01 + -1.341759906744941e-01 + -1.339827728348106e-01 + -1.337889993407819e-01 + -1.335946674413715e-01 + -1.333997743261954e-01 + -1.332043172962129e-01 + -1.330082936252972e-01 + -1.328117004983506e-01 + -1.326145352418741e-01 + -1.324167951779929e-01 + -1.322184775207451e-01 + -1.320195795498869e-01 + -1.318200985870884e-01 + -1.316200319613715e-01 + -1.314193769770063e-01 + -1.312181309395709e-01 + -1.310162911860090e-01 + -1.308138550466099e-01 + -1.306108198680959e-01 + -1.304071830473609e-01 + -1.302029419358534e-01 + -1.299980938748928e-01 + -1.297926362720222e-01 + -1.295865665431496e-01 + -1.293798820977739e-01 + -1.291725803345192e-01 + -1.289646586840201e-01 + -1.287561146028010e-01 + -1.285469455426532e-01 + -1.283371489741077e-01 + -1.281267223855238e-01 + -1.279156632656401e-01 + -1.277039691180485e-01 + -1.274916374652222e-01 + -1.272786658468367e-01 + -1.270650518164191e-01 + -1.268507929437779e-01 + -1.266358868257778e-01 + -1.264203310530910e-01 + -1.262041232080785e-01 + -1.259872609212462e-01 + -1.257697418614985e-01 + -1.255515637216261e-01 + -1.253327241582721e-01 + -1.251132208452764e-01 + -1.248930515084944e-01 + -1.246722139029198e-01 + -1.244507057917270e-01 + -1.242285249387353e-01 + -1.240056691417677e-01 + -1.237821362222557e-01 + -1.235579240163024e-01 + -1.233330303641722e-01 + -1.231074531412701e-01 + -1.228811902909497e-01 + -1.226542397328350e-01 + -1.224265993926709e-01 + -1.221982672554952e-01 + -1.219692413178169e-01 + -1.217395195880366e-01 + -1.215091001037845e-01 + -1.212779809466277e-01 + -1.210461602256936e-01 + -1.208136360512357e-01 + -1.205804065871132e-01 + -1.203464700244819e-01 + -1.201118245085727e-01 + -1.198764682774020e-01 + -1.196403996473917e-01 + -1.194036168896808e-01 + -1.191661183059585e-01 + -1.189279022478277e-01 + -1.186889671039581e-01 + -1.184493112863093e-01 + -1.182089332317922e-01 + -1.179678314226111e-01 + -1.177260043675167e-01 + -1.174834505981953e-01 + -1.172401686820595e-01 + -1.169961572351099e-01 + -1.167514149230550e-01 + -1.165059404117411e-01 + -1.162597324012717e-01 + -1.160127896494247e-01 + -1.157651109471359e-01 + -1.155166951180050e-01 + -1.152675410245315e-01 + -1.150176475647009e-01 + -1.147670136740031e-01 + -1.145156383362403e-01 + -1.142635205942373e-01 + -1.140106595167702e-01 + -1.137570541746248e-01 + -1.135027037005393e-01 + -1.132476072885310e-01 + -1.129917641930528e-01 + -1.127351736954119e-01 + -1.124778350964029e-01 + -1.122197477241451e-01 + -1.119609110122396e-01 + -1.117013244465126e-01 + -1.114409874638995e-01 + -1.111798996306716e-01 + -1.109180606010562e-01 + -1.106554699641756e-01 + -1.103921273860412e-01 + -1.101280326261970e-01 + -1.098631854961093e-01 + -1.095975858385727e-01 + -1.093312335328026e-01 + -1.090641285282797e-01 + -1.087962708201439e-01 + -1.085276604456853e-01 + -1.082582975002112e-01 + -1.079881821487157e-01 + -1.077173146235393e-01 + -1.074456951780328e-01 + -1.071733241222459e-01 + -1.069002018428373e-01 + -1.066263287812705e-01 + -1.063517054311524e-01 + -1.060763323447030e-01 + -1.058002101349244e-01 + -1.055233394662503e-01 + -1.052457210591484e-01 + -1.049673557111256e-01 + -1.046882442747131e-01 + -1.044083876525769e-01 + -1.041277868396362e-01 + -1.038464428925467e-01 + -1.035643569070283e-01 + -1.032815300276830e-01 + -1.029979634724506e-01 + -1.027136585692167e-01 + -1.024286166734134e-01 + -1.021428391952729e-01 + -1.018563276648054e-01 + -1.015690836461885e-01 + -1.012811087487812e-01 + -1.009924046817547e-01 + -1.007029732152899e-01 + -1.004128161832720e-01 + -1.001219355157012e-01 + -9.983033318947014e-02 + -9.953801123789381e-02 + -9.924497181065381e-02 + -9.895121710675164e-02 + -9.865674937610269e-02 + -9.836157098451072e-02 + -9.806568435550449e-02 + -9.776909196067303e-02 + -9.747179635418697e-02 + -9.717380018935569e-02 + -9.687510621844479e-02 + -9.657571724434684e-02 + -9.627563612429342e-02 + -9.597486578738405e-02 + -9.567340928055243e-02 + -9.537126972794066e-02 + -9.506845031433311e-02 + -9.476495428226560e-02 + -9.446078497156121e-02 + -9.415594584893169e-02 + -9.385044042616277e-02 + -9.354427227181475e-02 + -9.323744504129654e-02 + -9.292996250412121e-02 + -9.262182850819620e-02 + -9.231304696021701e-02 + -9.200362185853247e-02 + -9.169355729461479e-02 + -9.138285746240042e-02 + -9.107152658866502e-02 + -9.075956898041553e-02 + -9.044698911371001e-02 + -9.013379148226228e-02 + -8.981998063663986e-02 + -8.950556130228651e-02 + -8.919053824746566e-02 + -8.887491629233073e-02 + -8.855870039130662e-02 + -8.824189556852820e-02 + -8.792450692262105e-02 + -8.760653968435946e-02 + -8.728799913331863e-02 + -8.696889060279582e-02 + -8.664921956673162e-02 + -8.632899159487925e-02 + -8.600821233560418e-02 + -8.568688750540578e-02 + -8.536502290181033e-02 + -8.504262441718942e-02 + -8.471969805751253e-02 + -8.439624991228166e-02 + -8.407228614692197e-02 + -8.374781300392073e-02 + -8.342283682562317e-02 + -8.309736406563741e-02 + -8.277140122021633e-02 + -8.244495489588025e-02 + -8.211803185128563e-02 + -8.179063884910803e-02 + -8.146278271646745e-02 + -8.113447041766966e-02 + -8.080570906396743e-02 + -8.047650581443898e-02 + -8.014686781276095e-02 + -7.981680240792462e-02 + -7.948631704884632e-02 + -7.915541916537581e-02 + -7.882411634928695e-02 + -7.849241630024972e-02 + -7.816032674199919e-02 + -7.782785552351333e-02 + -7.749501058768483e-02 + -7.716179991262426e-02 + -7.682823159405887e-02 + -7.649431382724470e-02 + -7.616005485767063e-02 + -7.582546305035900e-02 + -7.549054686796573e-02 + -7.515531479419155e-02 + -7.481977542018518e-02 + -7.448393744841550e-02 + -7.414780964186224e-02 + -7.381140084542565e-02 + -7.347471999131863e-02 + -7.313777608894645e-02 + -7.280057821330421e-02 + -7.246313551410177e-02 + -7.212545725749871e-02 + -7.178755277686714e-02 + -7.144943146088469e-02 + -7.111110278446059e-02 + -7.077257629326426e-02 + -7.043386160590276e-02 + -7.009496843792977e-02 + -6.975590657859251e-02 + -6.941668588038064e-02 + -6.907731623736572e-02 + -6.873780762436528e-02 + -6.839817013263073e-02 + -6.805841390025939e-02 + -6.771854911509186e-02 + -6.737858603607710e-02 + -6.703853501790490e-02 + -6.669840646610939e-02 + -6.635821080020089e-02 + -6.601795854049251e-02 + -6.567766029345612e-02 + -6.533732672933422e-02 + -6.499696856244534e-02 + -6.465659655384894e-02 + -6.431622152906083e-02 + -6.397585437117004e-02 + -6.363550601749234e-02 + -6.329518746487584e-02 + -6.295490977261127e-02 + -6.261468405232740e-02 + -6.227452144919842e-02 + -6.193443314782195e-02 + -6.159443038613483e-02 + -6.125452449175782e-02 + -6.091472682299209e-02 + -6.057504875634485e-02 + -6.023550170757411e-02 + -5.989609715178513e-02 + -5.955684662483948e-02 + -5.921776169220818e-02 + -5.887885392543541e-02 + -5.854013491232313e-02 + -5.820161634720029e-02 + -5.786330995026137e-02 + -5.752522743033200e-02 + -5.718738052319666e-02 + -5.684978102238282e-02 + -5.651244078415603e-02 + -5.617537160914179e-02 + -5.583858533460867e-02 + -5.550209389764803e-02 + -5.516590918758542e-02 + -5.483004310132478e-02 + -5.449450760284144e-02 + -5.415931467224975e-02 + -5.382447627285256e-02 + -5.349000433169809e-02 + -5.315591089010736e-02 + -5.282220800586091e-02 + -5.248890761304951e-02 + -5.215602173570349e-02 + -5.182356244333215e-02 + -5.149154173522678e-02 + -5.115997163165661e-02 + -5.082886416999516e-02 + -5.049823136495267e-02 + -5.016808523392447e-02 + -4.983843779429676e-02 + -4.950930104255546e-02 + -4.918068697018742e-02 + -4.885260756307724e-02 + -4.852507478656667e-02 + -4.819810059193260e-02 + -4.787169691654435e-02 + -4.754587567726797e-02 + -4.722064876717863e-02 + -4.689602805511645e-02 + -4.657202539266345e-02 + -4.624865260469157e-02 + -4.592592148337583e-02 + -4.560384379218360e-02 + -4.528243126408893e-02 + -4.496169559628109e-02 + -4.464164845065374e-02 + -4.432230145577399e-02 + -4.400366620090135e-02 + -4.368575422918912e-02 + -4.336857704568598e-02 + -4.305214611378011e-02 + -4.273647284209545e-02 + -4.242156859535529e-02 + -4.210744469338823e-02 + -4.179411239819886e-02 + -4.148158291999365e-02 + -4.116986741259326e-02 + -4.085897697584740e-02 + -4.054892265423421e-02 + -4.023971542131075e-02 + -3.993136619382251e-02 + -3.962388583123071e-02 + -3.931728511726146e-02 + -3.901157477126550e-02 + -3.870676544906659e-02 + -3.840286772630143e-02 + -3.809989211312446e-02 + -3.779784905219891e-02 + -3.749674889469364e-02 + -3.719660192057603e-02 + -3.689741833904486e-02 + -3.659920826728452e-02 + -3.630198174507707e-02 + -3.600574873447752e-02 + -3.571051910326670e-02 + -3.541630263528623e-02 + -3.512310902944081e-02 + -3.483094789226868e-02 + -3.453982873906083e-02 + -3.424976098893085e-02 + -3.396075396966352e-02 + -3.367281691959212e-02 + -3.338595897696143e-02 + -3.310018917253339e-02 + -3.281551644593574e-02 + -3.253194963945627e-02 + -3.224949747985180e-02 + -3.196816859917648e-02 + -3.168797153104005e-02 + -3.140891468854379e-02 + -3.113100638362195e-02 + -3.085425482400445e-02 + -3.057866810270934e-02 + -3.030425420554928e-02 + -3.003102099769914e-02 + -2.975897623664901e-02 + -2.948812757423692e-02 + -2.921848253324668e-02 + -2.895004852283206e-02 + -2.868283284398848e-02 + -2.841684266935389e-02 + -2.815208505554401e-02 + -2.788856694668657e-02 + -2.762629515277662e-02 + -2.736527636581735e-02 + -2.710551716378724e-02 + -2.684702399109470e-02 + -2.658980317107453e-02 + -2.633386090723251e-02 + -2.607920326420626e-02 + -2.582583618939347e-02 + -2.557376551170278e-02 + -2.532299691452088e-02 + -2.507353595904179e-02 + -2.482538808499682e-02 + -2.457855859507147e-02 + -2.433305266394129e-02 + -2.408887533435539e-02 + -2.384603151841623e-02 + -2.360452600145211e-02 + -2.336436343201402e-02 + -2.312554832609387e-02 + -2.288808507226996e-02 + -2.265197791904223e-02 + -2.241723098404469e-02 + -2.218384825955722e-02 + -2.195183359578144e-02 + -2.172119070564114e-02 + -2.149192317903017e-02 + -2.126403446983029e-02 + -2.103752788800763e-02 + -2.081240661670658e-02 + -2.058867370373213e-02 + -2.036633206151460e-02 + -2.014538447470562e-02 + -1.992583358220780e-02 + -1.970768189350454e-02 + -1.949093179354288e-02 + -1.927558551890179e-02 + -1.906164517346932e-02 + -1.884911273803516e-02 + -1.863799005561765e-02 + -1.842827883084014e-02 + -1.821998063919436e-02 + -1.801309692347624e-02 + -1.780762899421212e-02 + -1.760357803216378e-02 + -1.740094507853177e-02 + -1.719973104881908e-02 + -1.699993673354589e-02 + -1.680156278321953e-02 + -1.660460972117107e-02 + -1.640907794332531e-02 + -1.621496771146485e-02 + -1.602227916433384e-02 + -1.583101231371427e-02 + -1.564116703862817e-02 + -1.545274309883748e-02 + -1.526574012772238e-02 + -1.508015761914186e-02 + -1.489599495303444e-02 + -1.471325139301425e-02 + -1.453192606709004e-02 + -1.435201798658663e-02 + -1.417352604127694e-02 + -1.399644899327932e-02 + -1.382078549302728e-02 + -1.364653407164367e-02 + -1.347369313289915e-02 + -1.330226097046918e-02 + -1.313223576283522e-02 + -1.296361556501821e-02 + -1.279639832327015e-02 + -1.263058187022890e-02 + -1.246616392163480e-02 + -1.230314208589229e-02 + -1.214151385550256e-02 + -1.198127661271531e-02 + -1.182242763705999e-02 + -1.166496409538715e-02 + -1.150888304589847e-02 + -1.135418144553720e-02 + -1.120085614521435e-02 + -1.104890388968280e-02 + -1.089832132231912e-02 + -1.074910498405016e-02 + -1.060125131793449e-02 + -1.045475666967276e-02 + -1.030961728045836e-02 + -1.016582929759894e-02 + -1.002338877483435e-02 + -9.882291666582974e-03 + -9.742533838318660e-03 + -9.604111064390042e-03 + -9.467019020603698e-03 + -9.331253297647066e-03 + -9.196809399717920e-03 + -9.063682741005771e-03 + -8.931868652392608e-03 + -8.801362376326071e-03 + -8.672159070075210e-03 + -8.544253813557785e-03 + -8.417641603575709e-03 + -8.292317355716863e-03 + -8.168275911736944e-03 + -8.045512032694060e-03 + -7.924020397696789e-03 + -7.803795618017998e-03 + -7.684832236645861e-03 + -7.567124714929550e-03 + -7.450667444285828e-03 + -7.335454748033539e-03 + -7.221480883382279e-03 + -7.108740043647531e-03 + -6.997226348639058e-03 + -6.886933855315346e-03 + -6.777856561420043e-03 + -6.669988397445708e-03 + -6.563323236817328e-03 + -6.457854897474280e-03 + -6.353577131920331e-03 + -6.250483639666226e-03 + -6.148568068731946e-03 + -6.047824005897748e-03 + -5.948244987599076e-03 + -5.849824501347084e-03 + -5.752555978513681e-03 + -5.656432807264865e-03 + -5.561448332218353e-03 + -5.467595840626229e-03 + -5.374868578311233e-03 + -5.283259752176146e-03 + -5.192762521793490e-03 + -5.103370006626977e-03 + -5.015075286629148e-03 + -4.927871401782054e-03 + -4.841751355904269e-03 + -4.756708115524279e-03 + -4.672734611342882e-03 + -4.589823741835811e-03 + -4.507968371897898e-03 + -4.427161334111035e-03 + -4.347395432360992e-03 + -4.268663440821394e-03 + -4.190958105123732e-03 + -4.114272145237943e-03 + -4.038598254543495e-03 + -3.963929102325757e-03 + -3.890257335680627e-03 + -3.817575578228647e-03 + -3.745876433060482e-03 + -3.675152484340320e-03 + -3.605396296371936e-03 + -3.536600416225055e-03 + -3.468757375181376e-03 + -3.401859688514519e-03 + -3.335899857279008e-03 + -3.270870369624132e-03 + -3.206763701552144e-03 + -3.143572317880366e-03 + -3.081288673370167e-03 + -3.019905214426235e-03 + -2.959414379161780e-03 + -2.899808598243805e-03 + -2.841080297295089e-03 + -2.783221897187762e-03 + -2.726225814481816e-03 + -2.670084462721576e-03 + -2.614790253659214e-03 + -2.560335598217736e-03 + -2.506712907773368e-03 + -2.453914594305456e-03 + -2.401933071402304e-03 + -2.350760756079694e-03 + -2.300390068609935e-03 + -2.250813433830373e-03 + -2.202023282926124e-03 + -2.154012052729510e-03 + -2.106772187286276e-03 + -2.060296139752280e-03 + -2.014576371403607e-03 + -1.969605353508076e-03 + -1.925375568654703e-03 + -1.881879509874747e-03 + -1.839109683164610e-03 + -1.797058608044933e-03 + -1.755718816706420e-03 + -1.715082857166331e-03 + -1.675143293280333e-03 + -1.635892703443056e-03 + -1.597323683697497e-03 + -1.559428848712492e-03 + -1.522200830321536e-03 + -1.485632280183934e-03 + -1.449715870092584e-03 + -1.414444291041649e-03 + -1.379810256474448e-03 + -1.345806501791486e-03 + -1.312425783716085e-03 + -1.279660883530597e-03 + -1.247504606026809e-03 + -1.215949779407020e-03 + -1.184989258561609e-03 + -1.154615923413642e-03 + -1.124822679454977e-03 + -1.095602461024569e-03 + -1.066948228352973e-03 + -1.038852968864840e-03 + -1.011309701783447e-03 + -9.843114734261671e-04 + -9.578513585924095e-04 + -9.319224654553773e-04 + -9.065179311555053e-04 + -8.816309237062864e-04 + -8.572546450286300e-04 + -8.333823272254078e-04 + -8.100072355517002e-04 + -7.871226705798197e-04 + -7.647219641139264e-04 + -7.427984826268421e-04 + -7.213456295816899e-04 + -7.003568409622573e-04 + -6.798255887472549e-04 + -6.597453829223955e-04 + -6.401097674232178e-04 + -6.209123240167792e-04 + -6.021466729184949e-04 + -5.838064694784330e-04 + -5.658854088227745e-04 + -5.483772251938055e-04 + -5.312756891491387e-04 + -5.145746125261390e-04 + -4.982678466736966e-04 + -4.823492804447342e-04 + -4.668128456938979e-04 + -4.516525141842837e-04 + -4.368622962674093e-04 + -4.224362466667431e-04 + -4.083684605074392e-04 + -3.946530726767535e-04 + -3.812842634726816e-04 + -3.682562540846601e-04 + -3.555633067280622e-04 + -3.431997298953713e-04 + -3.311598733734528e-04 + -3.194381292167991e-04 + -3.080289365424697e-04 + -2.969267761950205e-04 + -2.861261725181284e-04 + -2.756216974519896e-04 + -2.654079650780054e-04 + -2.554796342192304e-04 + -2.458314117831762e-04 + -2.364580472261255e-04 + -2.273543358783364e-04 + -2.185151214599497e-04 + -2.099352907310207e-04 + -2.016097775283348e-04 + -1.935335642058985e-04 + -1.857016766078902e-04 + -1.781091887621722e-04 + -1.707512232636694e-04 + -1.636229467286454e-04 + -1.567195750846747e-04 + -1.500363727286114e-04 + -1.435686485603325e-04 + -1.373117617901810e-04 + -1.312611200233150e-04 + -1.254121759173047e-04 + -1.197604333131590e-04 + -1.143014443478538e-04 + -1.090308067994204e-04 + -1.039441703359566e-04 + -9.903723276260782e-05 + -9.430573818110019e-05 + -8.974548326970851e-05 + -8.535231263786576e-05 + -8.112211782233505e-05 + -7.705084341917009e-05 + -7.313448187442813e-05 + -6.936907333027644e-05 + -6.575071119249467e-05 + -6.227553658275769e-05 + -5.893973914900695e-05 + -5.573956203853484e-05 + -5.267129595161032e-05 + -4.973128084575291e-05 + -4.691591029739419e-05 + -4.422162539456759e-05 + -4.164491727590835e-05 + -3.918233061143914e-05 + -3.683045757249665e-05 + -3.458594118927672e-05 + -3.244547785270521e-05 + -3.040581149216269e-05 + -2.846373767254703e-05 + -2.661610506551807e-05 + -2.485980997915884e-05 + -2.319180110803831e-05 + -2.160907991664170e-05 + -2.010869565536285e-05 + -1.868775067119526e-05 + -1.734339969669114e-05 + -1.607284546059277e-05 + -1.487334444060605e-05 + -1.374220506933501e-05 + -1.267678404087566e-05 + -1.167449238525668e-05 + -1.073279264625808e-05 + -9.849195952118955e-06 + -9.021268250139948e-06 + -8.246626567968640e-06 + -7.522936912951058e-06 + -6.847920492700095e-06 + -6.219349168072015e-06 + -5.635044236568559e-06 + -5.092882470932048e-06 + -4.590790895044201e-06 + -4.126746487291455e-06 + -3.698781859286729e-06 + -3.304979520120749e-06 + -2.943472506918129e-06 + -2.612449510984778e-06 + -2.310148834845521e-06 + -2.034859929271865e-06 + -1.784927798002038e-06 + -1.558746837246077e-06 + -1.354763241038800e-06 + -1.171478551126456e-06 + -1.007443551831214e-06 + -8.612614901318561e-07 + -7.315906671893518e-07 + -6.171385461507109e-07 + -5.166657190198488e-07 + -4.289874671965282e-07 + -3.529682224298676e-07 + -2.875261969469119e-07 + -2.316338735426513e-07 + -1.843129441850586e-07 + -1.446395043479685e-07 + -1.117434618507405e-07 + -8.480406305106530e-08 + -6.305553831873507e-08 + -4.578544870958251e-08 + -3.233089380928512e-08 + -2.208448022054805e-08 + -1.449165750478591e-08 + -9.047683233008124e-09 + -5.303766739728543e-09 + -2.863504097386866e-09 + -1.380623394721897e-09 + -5.650641971230870e-10 + -1.790372475752245e-10 + -3.511990521548007e-11 + -8.192061809269277e-13 + 0.000000000000000e+00 diff --git a/examples/SPIN/test_problems/validation_nvt/in.spin.nvt_lattice b/examples/SPIN/test_problems/validation_nvt/in.spin.nvt_lattice new file mode 100644 index 0000000000000000000000000000000000000000..1d63f01d4378242a240c72b735c97c5fc2a2bb9a --- /dev/null +++ b/examples/SPIN/test_problems/validation_nvt/in.spin.nvt_lattice @@ -0,0 +1,51 @@ +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +region box block 0.0 3.0 0.0 3.0 0.0 3.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 +set group all spin 2.2 0.0 0.0 1.0 +velocity all create 400 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 4.0 spin/neel 4.0 +pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe +pair_coeff * * spin/exchange exchange 3.4 0.1 0.2171 1.841 +pair_coeff * * spin/neel neel 4.0 0.02 0.0 1.841 0.0 0.0 1.0 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin 200.0 200.0 10.0 48279 +fix 3 all langevin/spin 0.0 0.00001 321 +fix 4 all nve/spin lattice moving +timestep 0.001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_tmag temp v_emag ke pe etotal +thermo 200 + +run 200000 diff --git a/examples/SPIN/test_problems/validation_nvt/in.spin.nvt_spin b/examples/SPIN/test_problems/validation_nvt/in.spin.nvt_spin new file mode 100644 index 0000000000000000000000000000000000000000..435e877bdf15577d55ce88bbbb10c5ece36c1bda --- /dev/null +++ b/examples/SPIN/test_problems/validation_nvt/in.spin.nvt_spin @@ -0,0 +1,49 @@ +# bcc iron in a 3d periodic box + +clear +units metal +atom_style spin + +dimension 3 +boundary p p p + +# necessary for the serial algorithm (sametag) +atom_modify map array + +lattice bcc 2.8665 +region box block 0.0 3.0 0.0 3.0 0.0 3.0 +create_box 1 box +create_atoms 1 box + +# setting mass, mag. moments, and interactions for bcc iron + +mass 1 55.845 +set group all spin 2.2 0.0 0.0 1.0 +velocity all create 0 4928459 rot yes dist gaussian + +pair_style hybrid/overlay eam/alloy spin/exchange 3.5 +pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe +pair_coeff * * spin/exchange exchange 3.4 0.1 0.2171 1.841 + +neighbor 0.1 bin +neigh_modify every 10 check yes delay 20 + +fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0 +fix 2 all langevin/spin 200.0 0.1 321 +fix 3 all nve/spin lattice moving +timestep 0.001 + +# compute and output options + +compute out_mag all spin +compute out_pe all pe +compute out_ke all ke +compute out_temp all temp + +variable emag equal c_out_mag[5] +variable tmag equal c_out_mag[6] + +thermo_style custom step time v_tmag temp v_emag ke pe etotal +thermo 200 + +run 200000 diff --git a/examples/SPIN/test_problems/validation_nvt/plot_nvt.py b/examples/SPIN/test_problems/validation_nvt/plot_nvt.py new file mode 100755 index 0000000000000000000000000000000000000000..06c48b4c28143ce7ff4b010479bd6b85604f0651 --- /dev/null +++ b/examples/SPIN/test_problems/validation_nvt/plot_nvt.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 + +import numpy as np, pylab, tkinter +import matplotlib.pyplot as plt +from scipy.optimize import curve_fit +from decimal import * +import sys, string, os + + +argv = sys.argv +if len(argv) != 3: + print("Syntax: ./plot_precession.py res_nvt_spin.dat res_nvt_lattice.dat") + sys.exit() + +dirname = os.path.join(os.getcwd(), "Feb_07") +nvtspin_file = sys.argv[1] +nvtlatt_file = sys.argv[2] + +ts,tmags,temps = np.loadtxt(nvtspin_file,skiprows=0, usecols=(1,2,3),unpack=True) +tl,tmagl,templ = np.loadtxt(nvtlatt_file,skiprows=0, usecols=(1,2,3),unpack=True) + +fig = plt.figure(figsize=(8,8)) +ax1 = plt.subplot(2,1,1) +ax2 = plt.subplot(2,1,2) + +ax1.plot(ts, tmags, 'r-', label='Spin temp. (thermostat)') +ax1.plot(ts, temps, 'g-', label='Lattice temp.') +ax1.set_yscale("log") +ax1.set_ylabel("T (K)") +ax1.legend(loc=3) + +ax2.plot(tl, tmagl, 'r-', label='Spin temp.') +ax2.plot(tl, templ, 'g-', label='Lattice temp. (thermostat)') +ax2.set_yscale("log") +ax2.set_ylabel("T (K)") +ax2.legend(loc=3) + +plt.xlabel('Time (in ps)') +plt.legend() +plt.show() + +fig.savefig(os.path.join(os.getcwd(), "nve_spin_lattice.pdf"), bbox_inches="tight") +plt.close(fig) diff --git a/examples/SPIN/test_problems/validation_nvt/run-test-nvt.sh b/examples/SPIN/test_problems/validation_nvt/run-test-nvt.sh new file mode 100755 index 0000000000000000000000000000000000000000..d3abbbe1a552e7489dd6be04b891aed13a21ee0b --- /dev/null +++ b/examples/SPIN/test_problems/validation_nvt/run-test-nvt.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# clean old res +rm res_*.dat + +# compute NVT Spin -> Lattice +./../../../../src/lmp_serial -in in.spin.nvt_spin +in="$(grep -n Step log.lammps | awk -F ':' '{print $1}')" +en="$(grep -n Loop log.lammps | awk -F ':' '{print $1}')" +in="$(echo "$in+1" | bc -l)" +en="$(echo "$en-$in" | bc -l)" +tail -n +$in log.lammps | head -n $en > res_nvt_spin.dat + +# compute NVT Lattice -> Spin +./../../../../src/lmp_serial -in in.spin.nvt_lattice +in="$(grep -n Step log.lammps | awk -F ':' '{print $1}')" +en="$(grep -n Loop log.lammps | awk -F ':' '{print $1}')" +in="$(echo "$in+1" | bc -l)" +en="$(echo "$en-$in" | bc -l)" +tail -n +$in log.lammps | head -n $en > res_nvt_lattice.dat + +# plot results +python3 plot_nvt.py res_nvt_spin.dat res_nvt_lattice.dat diff --git a/examples/UNITS/README b/examples/UNITS/README index 3980b3868860944a76d7ce397756ba140ebb757f..7271e5d62bc4215d4a3c97b6c6a3defecb3685dd 100644 --- a/examples/UNITS/README +++ b/examples/UNITS/README @@ -27,7 +27,7 @@ The real and metal scripts each have a set of variables at the top which define scale factors for converting quantities like distance, energy, pressure from reduced LJ units to real or metal units. Once these are defined the rest of the input script is very similar to the -LJ script. The approprate scale factor is applied to every input. +LJ script. The appropriate scale factor is applied to every input. Output quantities are printed in both the native real/metal units and unscaled back to LJ units. So that you can see the outputs are the same if you examine the log files. Comments about this comparison @@ -49,6 +49,6 @@ identical input script in an alternate set of units. Where "identical" means it runs the same simulation in a statistical sense. You can find the full set of scale factors LAMMPS uses internally for -different unit systems it supports, at the top of the src/udpate.cpp +different unit systems it supports, at the top of the src/update.cpp file. A couple of those values are used in the real and metal scripts. diff --git a/examples/USER/atc/README b/examples/USER/atc/README index aa874f330027dcea5d7d24d63c9badf8264aea2f..73996edb9a87b4ffa072e8a396a79c151e24533d 100644 --- a/examples/USER/atc/README +++ b/examples/USER/atc/README @@ -68,7 +68,7 @@ elastic: in.cnt_electrostatic2 - Mechanical response of CNT with self-consistent charge density and electric field in.cnt_fixed_charge - Mechancial response of CNT with fixed atomic charges in an electric field in.eam_energy - Quasi-static/quasi-1D coupling and transfer extraction of energy density for EAM gold - in.electron_density - Mechanical response of differnt CNT models with a self-consistent electron density and electric field + in.electron_density - Mechanical response of different CNT models with a self-consistent electron density and electric field in.electrostatic_bending_dos - Quasi-static bending of a CNT using a quantum density of states model for electron density in.no_atoms - FE solution of a box subject to an initial displacement condition in.no_atoms_cb - FE solution of a box subject to an initial displacement condition with a Cauchy-Born material model @@ -149,7 +149,7 @@ elastic: in.cnt_electrostatic2 - Mechanical response of CNT with self-consistent charge density and electric field in.cnt_fixed_charge - Mechancial response of CNT with fixed atomic charges in an electric field in.eam_energy - Quasi-static/quasi-1D coupling and transfer extraction of energy density for EAM gold - in.electron_density - Mechanical response of differnt CNT models with a self-consistent electron density and electric field + in.electron_density - Mechanical response of different CNT models with a self-consistent electron density and electric field in.electrostatic_bending_dos - Quasi-static bending of a CNT using a quantum density of states model for electron density in.no_atoms - FE solution of a box subject to an initial displacement condition in.no_atoms_cb - FE solution of a box subject to an initial displacement condition with a Cauchy-Born material model diff --git a/examples/USER/atc/fluids/in.bar1d_fluids b/examples/USER/atc/fluids/in.bar1d_fluids index af152bfbab998005421b95ebfcccefa8fb4d09fe..79a6c8a4c27718c1ece29edfc5a10328b64cf754 100644 --- a/examples/USER/atc/fluids/in.bar1d_fluids +++ b/examples/USER/atc/fluids/in.bar1d_fluids @@ -85,7 +85,7 @@ fix_modify AtC control localized_lambda on fix_modify AtC filter type exponential fix_modify AtC filter scale 1000.0 fix_modify AtC filter on -# ouput commands +# output commands fix_modify AtC output bar1d_fluidsFE 100 text #undump D1 #dump D2 all atom 200 dump.bar1d diff --git a/examples/USER/atc/fluids/in.conducting_interface b/examples/USER/atc/fluids/in.conducting_interface index 7ee906e45a76ad3fa4ffdca827b472020bd1e426..c534231fca96913e6d0be77858c8a83230a5a96d 100644 --- a/examples/USER/atc/fluids/in.conducting_interface +++ b/examples/USER/atc/fluids/in.conducting_interface @@ -1,6 +1,6 @@ # simulation of negatively charge liquid argon-positively charged solid/frozen argon # MAKE this conducting_interface then interface (major difference: non-uniform grid) -# START with extrinsic charges on both and then use an instrinsic charge density for frozen +# START with extrinsic charges on both and then use an intrinsic charge density for frozen echo both units real atom_style full diff --git a/examples/USER/atc/fluids/in.dielectric_interface b/examples/USER/atc/fluids/in.dielectric_interface index e9cbe7882a47eb74b22e1d00628f57b59f6e998c..dd6034a0ccf56df8121900429520eb4c57b94898 100644 --- a/examples/USER/atc/fluids/in.dielectric_interface +++ b/examples/USER/atc/fluids/in.dielectric_interface @@ -1,6 +1,6 @@ # simulation of negatively charge liquid argon-positively charged solid/frozen argon # MAKE this dielectric_interface then interface (major difference: non-uniform grid) -# START with extrinsic charges on both and then use an instrinsic charge density for frozen +# START with extrinsic charges on both and then use an intrinsic charge density for frozen echo both units real atom_style full diff --git a/examples/USER/atc/fluids/in.shear_flow b/examples/USER/atc/fluids/in.shear_flow index c5a53b1273599b5825a38d7697cf30d2a9d941cd..3c06676c64ee98acc098d527268deb027de97818 100644 --- a/examples/USER/atc/fluids/in.shear_flow +++ b/examples/USER/atc/fluids/in.shear_flow @@ -75,7 +75,7 @@ fix_modify AtC control localized_lambda on #fix_modify AtC filter scale 1000.0 #fix_modify AtC filter on -# ouput commands +# output commands fix_modify AtC output shear_flowFE 100 text #binary #undump D1 #dump D1 all custom 100 shear_flow.dmp id type xs ys zs vx vy vz diff --git a/examples/USER/atc/fluids/in.shear_no_atoms b/examples/USER/atc/fluids/in.shear_no_atoms index 8bd350f06c0440c3172efa7148f9150e0b8c9c36..6c778578c94844571c0be5e898ef2ed7f6a10065 100644 --- a/examples/USER/atc/fluids/in.shear_no_atoms +++ b/examples/USER/atc/fluids/in.shear_no_atoms @@ -25,7 +25,7 @@ fix_modify AtC reset_time fix_modify AtC fix velocity y rbc 0.1 fix_modify AtC fix velocity y lbc 0. -# ouput commands +# output commands fix_modify AtC output shear_no_atomsFE 200 text binary # set-up non-equilibrium IC thermo 100 diff --git a/examples/USER/atc/thermal/bar1d.screen b/examples/USER/atc/thermal/bar1d.screen index 33f6590e4d37ef9dc659ac32554ebe32928cc7eb..3c7f8db212a429720ee69b1440ec711afb9b7919 100644 --- a/examples/USER/atc/thermal/bar1d.screen +++ b/examples/USER/atc/thermal/bar1d.screen @@ -239,7 +239,7 @@ fix_modify AtC output bar1dFE 100 text binary ATC: Warning : text output can create _LARGE_ files ATC: output custom names: -# ouput command +# output command #dump D1 all atom 1000 dump.bar1d # run with FE reset_timestep 0 diff --git a/examples/USER/atc/thermal/in.bar1d b/examples/USER/atc/thermal/in.bar1d index 5591f7177d3513dcefd772e68d9ccdbbcd9b246d..3f70577ec360955229a4416b7cb421e9cd3de7dd 100644 --- a/examples/USER/atc/thermal/in.bar1d +++ b/examples/USER/atc/thermal/in.bar1d @@ -71,7 +71,7 @@ thermo 1 run 100 # set up output, should be before a "run" fix_modify AtC output bar1dFE 100 text binary -# ouput command +# output command #dump D1 all atom 1000 dump.bar1d # run with FE reset_timestep 0 diff --git a/examples/USER/atc/thermal/in.bar1d_all_atoms b/examples/USER/atc/thermal/in.bar1d_all_atoms index 2c8851137f0da42a6dc3801dec63f48861404665..2219b803ec78e0de98cdb06d63b43c5a727408e6 100644 --- a/examples/USER/atc/thermal/in.bar1d_all_atoms +++ b/examples/USER/atc/thermal/in.bar1d_all_atoms @@ -93,7 +93,7 @@ fix_modify AtC fix_flux temperature lbndy 0.0000000001 fix_modify AtC fix_flux temperature rbndy -0.0000000001 # set up output, should be before a "run" fix_modify AtC output bar1d_all_atomsFE 200 text binary -# ouput command +# output command #dump D1 all atom 1000 dump.bar1d # run with FE reset_timestep 0 diff --git a/examples/USER/atc/thermal/in.bar1d_combined b/examples/USER/atc/thermal/in.bar1d_combined index 767544d2d439dd27ec87f3693a71b4fdcbfdb419..70dafe72be7686a8fbb75b539e1c092198db1aba 100644 --- a/examples/USER/atc/thermal/in.bar1d_combined +++ b/examples/USER/atc/thermal/in.bar1d_combined @@ -79,7 +79,7 @@ thermo 100 # set up output, should be before a "run" fix_modify AtC output bar1d_combinedFE 100 text -# ouput command +# output command #dump D1 all atom 100 dump.bar1d_combined # run with FE reset_timestep 0 diff --git a/examples/USER/atc/thermal/in.bar1d_flux b/examples/USER/atc/thermal/in.bar1d_flux index eae32ec5b2b4d7c58cad512ca1bc73b889f1261b..2b79aa63394ae0a91f946e132761b93f68ffd1d8 100644 --- a/examples/USER/atc/thermal/in.bar1d_flux +++ b/examples/USER/atc/thermal/in.bar1d_flux @@ -71,7 +71,7 @@ fix_modify AtC fix temperature rbc 20. run 100 # set up output, should be before a "run" fix_modify AtC output bar1d_fluxFE 100 text binary -# ouput command +# output command #dump D1 all atom 1000 dump.bar1d # run with FE reset_timestep 0 diff --git a/examples/USER/atc/thermal/in.bar1d_frac_step b/examples/USER/atc/thermal/in.bar1d_frac_step index eddec44b521ae0c97a1c16502c01e462d841101a..e8540d91510d6c6f919a95b5a06d9b9471ada12f 100644 --- a/examples/USER/atc/thermal/in.bar1d_frac_step +++ b/examples/USER/atc/thermal/in.bar1d_frac_step @@ -72,7 +72,7 @@ fix_modify AtC filter scale 1000.0 fix_modify AtC filter on # set up output, should be before a "run" fix_modify AtC output bar1d_frac_stepFE 200 text -# ouput command +# output command #dump D1 all atom 1000 dump.bar1d # run with FE reset_timestep 0 diff --git a/examples/USER/cgdna/README b/examples/USER/cgdna/README index 49b7cd1f84b6aa5aa59be8840590ebfe99a7e9c8..a403ce0321ddda1c08395a8503091bee689c35c9 100644 --- a/examples/USER/cgdna/README +++ b/examples/USER/cgdna/README @@ -46,7 +46,7 @@ moment of inertia set to the value used in the standalone implementation of oxDNA (M = I = 1). The masses can be set directly in the input and data file, whereas the moment of inertia is set via the diameter of the ellipsoid in the data file and has a value of 3.16227766. -The change of mass and moment of inertia allows direct comparision of +The change of mass and moment of inertia allows direct comparison of trajectory data or time-dependent observables on a per-timestep basis. As mentioned above, the stacking and hydrogen-bonding interactions diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/generate_unique.py b/examples/USER/cgdna/examples/oxDNA2/unique_bp/generate_unique.py index e5141bc47ac5b7f788d8b277e9e3a8b5a44cf3be..131f51e9b4fb1677808fcbf41c1022c20e558d21 100644 --- a/examples/USER/cgdna/examples/oxDNA2/unique_bp/generate_unique.py +++ b/examples/USER/cgdna/examples/oxDNA2/unique_bp/generate_unique.py @@ -105,7 +105,7 @@ EXCL_RC2 = 0.335388426126 EXCL_RC3 = 0.52329943261 """ -Define auxillary variables for the construction of a helix +Define auxiliary variables for the construction of a helix """ # center of the double strand COM_CENTRE_DS = POS_BASE + 0.2 @@ -127,7 +127,7 @@ number_to_base = {1 : 'A', 2 : 'C', 3 : 'G', 4 : 'T'} base_to_number = {'A' : 1, 'a' : 1, 'C' : 2, 'c' : 2, 'G' : 3, 'g' : 3, 'T' : 4, 't' : 4} -# auxillary arrays +# auxiliary arrays positions = [] a1s = [] a3s = [] @@ -373,7 +373,7 @@ def generate_strand(bp, sequence=None, start_pos=np.array([0, 0, 0]), \ # if not provided switch off random orientation if perp is None or perp is False: v1 = np.random.random_sample(3) - # comment in to suppress randomised base vector + # comment in to suppress randomized base vector v1 = [1,0,0] v1 -= dir * (np.dot(dir, v1)) v1 /= np.sqrt(sum(v1*v1)) @@ -551,7 +551,7 @@ def read_strands(filename): smallest_n_bases = n_g if smallest_n_bases < N_BASE_TYPES: - print('## Not enough occurances of base types in the sequence for ' + str(N_BASE_TYPES)) + print('## Not enough occurrences of base types in the sequence for ' + str(N_BASE_TYPES)) print('## unique base types, switching to ' + str(smallest_n_bases) + ' unique types') else: smallest_n_bases = N_BASE_TYPES @@ -644,12 +644,12 @@ def read_strands(filename): # generate random position of the first nucleotide com = box_offset + np.random.random_sample(3) * box - # comment out to randomise + # comment out to randomize com = [0,0,0] # generate the random direction of the helix axis = np.random.random_sample(3) - # comment out to randomise + # comment out to randomize axis = [0,0,1] axis /= np.sqrt(np.dot(axis, axis)) @@ -702,12 +702,12 @@ def read_strands(filename): # generate random position of the first nucleotide com = box_offset + np.random.random_sample(3) * box - # comment out to randomise + # comment out to randomize com = [-30,0,0] # generate the random direction of the helix axis = np.random.random_sample(3) - # comment out to randomise + # comment out to randomize axis = [0,0,1] axis /= np.sqrt(np.dot(axis, axis)) diff --git a/examples/USER/cgdna/util/generate.py b/examples/USER/cgdna/util/generate.py index eb97f482ccd167c3334a7fe8bfd7f3313231696d..e1754559702de78cdd6d6e72e1b5e027c7cc56f2 100644 --- a/examples/USER/cgdna/util/generate.py +++ b/examples/USER/cgdna/util/generate.py @@ -81,7 +81,7 @@ EXCL_RC2 = 0.335388426126 EXCL_RC3 = 0.52329943261 """ -Define auxillary variables for the construction of a helix +Define auxiliary variables for the construction of a helix """ # center of the double strand CM_CENTER_DS = POS_BASE + 0.2 @@ -103,7 +103,7 @@ number_to_base = {1 : 'A', 2 : 'C', 3 : 'G', 4 : 'T'} base_to_number = {'A' : 1, 'a' : 1, 'C' : 2, 'c' : 2, 'G' : 3, 'g' : 3, 'T' : 4, 't' : 4} -# auxillary arrays +# auxiliary arrays positions = [] a1s = [] a3s = [] diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 b/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 index 3b5203ba6f14e7b3b96d39d45476b3cf9f79a731..1003b9729eb4dc78693e86b19ae15f7eb7d76c27 100644 --- a/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 +++ b/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 @@ -101,7 +101,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. @@ -405,7 +405,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.4 b/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.4 index 586ebbc5c592e0ae10765ee89f44b130e9d72d06..91ef59b619489a5a749b95a639fa15970288307d 100644 --- a/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.4 +++ b/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.4 @@ -101,7 +101,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. @@ -405,7 +405,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.1 b/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.1 index 8e5c990f4069957d3a59e47326480636885c385a..df7aca475f069320c4144084472e5f360017b21a 100644 --- a/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.1 +++ b/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.1 @@ -100,7 +100,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.4 b/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.4 index 47f1b672df59f86808ce551f29569f26332b61a8..b1916fda17ca9b342a5f1591dcd55ec032416948 100644 --- a/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.4 +++ b/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.4 @@ -100,7 +100,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. diff --git a/examples/USER/diffraction/README b/examples/USER/diffraction/README index 265201beb1021f16d57767ea08943c6711832e9a..e36062923b1239141f8af9309510fcb5127a3d3b 100644 --- a/examples/USER/diffraction/README +++ b/examples/USER/diffraction/README @@ -1,4 +1,4 @@ -This is a simple example of showing the computation of virutal x-ray +This is a simple example of showing the computation of virtual x-ray and electron diffraction patterns for Ni. In addition to the LAMMPS output, a simple visualizaiton of the electron diff --git a/examples/USER/eff/Li-dendritic/README b/examples/USER/eff/Li-dendritic/README index 24eed28f854f931a557327a1afbeb1df290fb7af..4fdaed1efb9b9cc734b405e33683842027de6c58 100644 --- a/examples/USER/eff/Li-dendritic/README +++ b/examples/USER/eff/Li-dendritic/README @@ -1,2 +1,2 @@ -Shows the formation of lithium dendrites during the minimization of a volume expanded lithium cell with particle positions remaped to fit the cell. +Shows the formation of lithium dendrites during the minimization of a volume expanded lithium cell with particle positions remapped to fit the cell. This depicts the process of electrode replating in lithium batteries, which leads to failure (short-circuit). diff --git a/examples/USER/lb/fourspheres/in.fourspheres_default_gamma b/examples/USER/lb/fourspheres/in.fourspheres_default_gamma index 2fa161aefa8f76ff214aab0de97cfda405d466fb..bce9aec0e93de39f0401991b6a4d0f2a4242843f 100755 --- a/examples/USER/lb/fourspheres/in.fourspheres_default_gamma +++ b/examples/USER/lb/fourspheres/in.fourspheres_default_gamma @@ -1,5 +1,5 @@ #===========================================================================# -# Sytem of 2 pairs of rigid particles moving towards one another. # +# System of 2 pairs of rigid particles moving towards one another. # # At each timestep, the hydrodynamic force acting on one of these four # # rigid particles is printed to the screen. # # # diff --git a/examples/USER/lb/fourspheres/in.fourspheres_set_gamma b/examples/USER/lb/fourspheres/in.fourspheres_set_gamma index 452d90ba00acb56016cd9f3c2911d6473f4d0de1..8c32051536a0d84de0dc54e83dce764439b9073d 100755 --- a/examples/USER/lb/fourspheres/in.fourspheres_set_gamma +++ b/examples/USER/lb/fourspheres/in.fourspheres_set_gamma @@ -1,5 +1,5 @@ #===========================================================================# -# Sytem of 2 pairs of rigid particles moving towards one another. # +# System of 2 pairs of rigid particles moving towards one another. # # At each timestep, the hydrodynamic force acting on one of these four # # rigid particles is printed to the screen. # # # diff --git a/examples/USER/manifold/diffusion/plot_msd.gpl b/examples/USER/manifold/diffusion/plot_msd.gpl index dbc87eee0711a340e40a3bad0846e8609e1a1930..4694343ad4f61a6be8f9bd81b6b3b43a2ba90d4d 100644 --- a/examples/USER/manifold/diffusion/plot_msd.gpl +++ b/examples/USER/manifold/diffusion/plot_msd.gpl @@ -47,7 +47,7 @@ set object 1 rectangle from graph 0,0 to graph 1,1 fillcolor rgb "white" behind unset key set grid front -set title 'Short time behaviour' offset 0,-0.8 +set title 'Short time behavior' offset 0,-0.8 set ylabel '' set xrange[0:10] set yrange[0:40] diff --git a/examples/USER/meso/README b/examples/USER/mesodpd/README similarity index 100% rename from examples/USER/meso/README rename to examples/USER/mesodpd/README diff --git a/examples/USER/meso/edpd/in.edpd b/examples/USER/mesodpd/edpd/in.edpd similarity index 100% rename from examples/USER/meso/edpd/in.edpd rename to examples/USER/mesodpd/edpd/in.edpd diff --git a/examples/USER/meso/edpd/log.16Aug17.edpd.g++.1 b/examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.1 similarity index 100% rename from examples/USER/meso/edpd/log.16Aug17.edpd.g++.1 rename to examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.1 diff --git a/examples/USER/meso/edpd/log.16Aug17.edpd.g++.4 b/examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.4 similarity index 100% rename from examples/USER/meso/edpd/log.16Aug17.edpd.g++.4 rename to examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.4 diff --git a/examples/USER/meso/edpd/temp.profile.16Aug17.edpd.g++.1 b/examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 similarity index 100% rename from examples/USER/meso/edpd/temp.profile.16Aug17.edpd.g++.1 rename to examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 diff --git a/examples/USER/meso/edpd/temp.profile.16Aug17.edpd.g++.4 b/examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 similarity index 100% rename from examples/USER/meso/edpd/temp.profile.16Aug17.edpd.g++.4 rename to examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 diff --git a/examples/USER/meso/mdpd/in.mdpd b/examples/USER/mesodpd/mdpd/in.mdpd similarity index 100% rename from examples/USER/meso/mdpd/in.mdpd rename to examples/USER/mesodpd/mdpd/in.mdpd diff --git a/examples/USER/meso/mdpd/log.16Aug17.mdpd.g++.1 b/examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 similarity index 100% rename from examples/USER/meso/mdpd/log.16Aug17.mdpd.g++.1 rename to examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 diff --git a/examples/USER/meso/mdpd/log.16Aug17.mdpd.g++.4 b/examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 similarity index 100% rename from examples/USER/meso/mdpd/log.16Aug17.mdpd.g++.4 rename to examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 diff --git a/examples/USER/meso/tdpd/cc.profile.16Aug17.tdpd.g++.1 b/examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 similarity index 100% rename from examples/USER/meso/tdpd/cc.profile.16Aug17.tdpd.g++.1 rename to examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 diff --git a/examples/USER/meso/tdpd/cc.profile.16Aug17.tdpd.g++.4 b/examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 similarity index 100% rename from examples/USER/meso/tdpd/cc.profile.16Aug17.tdpd.g++.4 rename to examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 diff --git a/examples/USER/meso/tdpd/in.tdpd b/examples/USER/mesodpd/tdpd/in.tdpd similarity index 100% rename from examples/USER/meso/tdpd/in.tdpd rename to examples/USER/mesodpd/tdpd/in.tdpd diff --git a/examples/USER/meso/tdpd/log.16Aug17.tdpd.g++.1 b/examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 similarity index 100% rename from examples/USER/meso/tdpd/log.16Aug17.tdpd.g++.1 rename to examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 diff --git a/examples/USER/meso/tdpd/log.16Aug17.tdpd.g++.4 b/examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 similarity index 100% rename from examples/USER/meso/tdpd/log.16Aug17.tdpd.g++.4 rename to examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 diff --git a/examples/USER/e3b/README b/examples/USER/misc/e3b/README similarity index 100% rename from examples/USER/e3b/README rename to examples/USER/misc/e3b/README diff --git a/examples/USER/e3b/e3b_box.data b/examples/USER/misc/e3b/e3b_box.data similarity index 100% rename from examples/USER/e3b/e3b_box.data rename to examples/USER/misc/e3b/e3b_box.data diff --git a/examples/USER/e3b/in.e3b-tip4p2005 b/examples/USER/misc/e3b/in.e3b-tip4p2005 similarity index 100% rename from examples/USER/e3b/in.e3b-tip4p2005 rename to examples/USER/misc/e3b/in.e3b-tip4p2005 diff --git a/examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 b/examples/USER/misc/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 similarity index 100% rename from examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 rename to examples/USER/misc/e3b/log.29Mar2019.e3b-tip4p2005.g++.1 diff --git a/examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 b/examples/USER/misc/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 similarity index 100% rename from examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 rename to examples/USER/misc/e3b/log.29Mar2019.e3b-tip4p2005.g++.4 diff --git a/examples/USER/misc/ees/README b/examples/USER/misc/ees/README index 9f4cb4f1594f7c56e8d0fe4023bfadb458d7317a..bfc55e4375631a64ffba9c5104e74f4b8f9d317a 100644 --- a/examples/USER/misc/ees/README +++ b/examples/USER/misc/ees/README @@ -5,7 +5,7 @@ Here one may find simple examples showing how "fix wall/ess" and "fix wall/regio This input uses "Data_region" to setup a system of three particles colliding with a cubic region which its walls interact with particle with EES potential. To find out details - of how to set parameters of "fix wall/region/ees" see documentaion. + of how to set parameters of "fix wall/region/ees" see documentation. --in.fix_wall diff --git a/examples/USER/misc/entropy/log.entropy b/examples/USER/misc/entropy/log.entropy index 333214ada8839480c975a1fc57ca6b9a5758640f..3545c74020056073aca4ac03a05ed4951ca09076 100644 --- a/examples/USER/misc/entropy/log.entropy +++ b/examples/USER/misc/entropy/log.entropy @@ -1,4 +1,4 @@ -LAMMPS (4 Jan 2019) +LAMMPS (18 Feb 2020) units metal atom_style full @@ -6,7 +6,7 @@ atom_style full read_data data.interface Reading data file ... triclinic box = (0 0 0) to (138.4 34.57 34.57) with tilt (0 0 0) - 4 by 1 by 1 MPI processor grid + 1 by 1 by 1 MPI processor grid reading atoms ... 4096 atoms reading velocities ... @@ -18,6 +18,8 @@ Finding 1-2 1-3 1-4 neighbors ... 0 = max # of 1-3 neighbors 0 = max # of 1-4 neighbors 1 = max # of special neighbors + special bonds CPU = 0.00048995 secs + read_data CPU = 0.0104239 secs mass 1 22.98977 neigh_modify delay 10 every 1 @@ -45,28 +47,28 @@ fix 1 all nph x 1. 1. 10. fix 2 all temp/csvr 350. 350. 0.1 64582 run 1000 -WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:139) -WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:139) -WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:139) -WARNING: More than one compute entropy/atom (../compute_entropy_atom.cpp:139) +WARNING: More than one compute entropy/atom (src/USER-MISC/compute_entropy_atom.cpp:136) +WARNING: More than one compute entropy/atom (src/USER-MISC/compute_entropy_atom.cpp:136) +WARNING: More than one compute entropy/atom (src/USER-MISC/compute_entropy_atom.cpp:136) +WARNING: More than one compute entropy/atom (src/USER-MISC/compute_entropy_atom.cpp:136) Neighbor list info ... update every 1 steps, delay 10 steps, check yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 13.2 ghost atom cutoff = 13.2 binsize = 6.6, bins = 21 6 6 - 5 neighbor lists, perpetual/occasional/extra = 5 0 0 - (1) pair eam/fs, perpetual, half/full from (2) + 5 neighbor lists, perpetual/occasional/extra = 3 2 0 + (1) pair eam/fs, perpetual attributes: half, newton on - pair build: halffull/newton + pair build: half/bin/newton/tri + stencil: half/bin/3d/newton/tri + bin: standard + (2) compute entropy/atom, occasional, copy from (4) + attributes: full, newton on + pair build: copy stencil: none bin: none - (2) compute entropy/atom, perpetual - attributes: full, newton on - pair build: full/bin - stencil: full/bin/3d - bin: standard - (3) compute entropy/atom, perpetual, copy from (2) + (3) compute entropy/atom, occasional, copy from (4) attributes: full, newton on pair build: copy stencil: none @@ -85,35 +87,35 @@ Setting up Verlet run ... Unit style : metal Current step : 0 Time step : 0.002 -Per MPI rank memory allocation (min/avg/max) = 19.6 | 19.6 | 19.6 Mbytes +Per MPI rank memory allocation (min/avg/max) = 58.81 | 58.81 | 58.81 Mbytes Step Temp E_pair E_mol TotEng Press Volume 0 346.29871 -4285.222 0 -4101.9191 594.65353 165399.75 500 359.33769 -4285.2472 0 -4095.0424 472.02043 165847.09 1000 348.99683 -4276.2282 0 -4091.4971 149.38771 166965.86 -Loop time of 4.4394 on 4 procs for 1000 steps with 4096 atoms +Loop time of 20.309 on 1 procs for 1000 steps with 4096 atoms -Performance: 38.924 ns/day, 0.617 hours/ns, 225.256 timesteps/s -99.5% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 8.509 ns/day, 2.821 hours/ns, 49.239 timesteps/s +99.4% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.5298 | 3.5931 | 3.6669 | 2.6 | 80.94 -Bond | 8.2099e-05 | 0.00011444 | 0.00014673 | 0.0 | 0.00 -Neigh | 0.43384 | 0.4445 | 0.45558 | 1.4 | 10.01 -Comm | 0.048904 | 0.11122 | 0.16728 | 12.7 | 2.51 -Output | 0.22595 | 0.22595 | 0.22596 | 0.0 | 5.09 -Modify | 0.053103 | 0.053795 | 0.054549 | 0.3 | 1.21 -Other | | 0.01068 | | | 0.24 +Pair | 17.851 | 17.851 | 17.851 | 0.0 | 87.89 +Bond | 0.00029588 | 0.00029588 | 0.00029588 | 0.0 | 0.00 +Neigh | 1.5377 | 1.5377 | 1.5377 | 0.0 | 7.57 +Comm | 0.083142 | 0.083142 | 0.083142 | 0.0 | 0.41 +Output | 0.59598 | 0.59598 | 0.59598 | 0.0 | 2.93 +Modify | 0.20727 | 0.20727 | 0.20727 | 0.0 | 1.02 +Other | | 0.03411 | | | 0.17 -Nlocal: 1024 ave 1040 max 1001 min -Histogram: 1 0 0 0 0 0 2 0 0 1 -Nghost: 4614.25 ave 4700 max 4540 min -Histogram: 1 1 0 0 0 0 0 1 0 1 -Neighs: 121747 ave 126398 max 116930 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -FullNghs: 243494 ave 252523 max 233841 min -Histogram: 1 0 0 1 0 0 1 0 0 1 +Nlocal: 4096 ave 4096 max 4096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 11116 ave 11116 max 11116 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 486987 ave 486987 max 486987 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 973974 ave 973974 max 973974 min +Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 973974 Ave neighs/atom = 237.787 @@ -121,4 +123,4 @@ Ave special neighs/atom = 0 Neighbor list builds = 13 Dangerous builds = 0 -Total wall time: 0:00:04 +Total wall time: 0:00:20 diff --git a/examples/USER/misc/hma/README b/examples/USER/misc/hma/README index 5af6ec15faabf1ddd2a68f6ef006c8a8a0e56955..75c24705d3ee24af6268dc37e55e0b69e42de34f 100644 --- a/examples/USER/misc/hma/README +++ b/examples/USER/misc/hma/README @@ -15,7 +15,7 @@ Averages of the potential energy (#3 and #4) agree although #4 (HMA) is more pre Averages of the pressure (#5 and #6) agree once the ideal gas contribution is included; #6 (HMA) is more precise. -The heat capacity can be computed from colume #3 (convential) as +The heat capacity can be computed from colume #3 (conventional) as Cv = Var(#3)/(k T^2) With HMA, the heat capacity can be computed from column #4 and #7 as diff --git a/examples/USER/misc/rhok/README.md b/examples/USER/misc/rhok/README.md index 4e011255fcc8e7628379451a94ee30db8ec867a3..cbef8e9e147e75cadd187a21eaf1959bd63e9c5d 100644 --- a/examples/USER/misc/rhok/README.md +++ b/examples/USER/misc/rhok/README.md @@ -19,7 +19,7 @@ For future reference we note that the structure factor S(k) is given by the vari It is recommended to get familiar with the interface pinning method by reading: - [Ulf R. Pedersen, JCP 139, 104102 (2013)](http://dx.doi.org/10.1063/1.4818747) + [Ulf R. Pedersen, JCP 139, 104102 (2013)](https://doi.org/10.1063/1.4818747) A detailed bibliography is provided at @@ -63,8 +63,8 @@ can be used to show this. The present directory contains the input files that we the value fluctuates around the anchor point (a) -- showing that this is indeed a coexistence state point. -The reference [JCP 139, 104102 (2013)](http://dx.doi.org/10.1063/1.4818747) gives details on using the method to find coexistence state points, -and the reference [JCP 142, 044104 (2015)](http://dx.doi.org/10.1063/1.4818747) show how the crystal growth rate can be computed from fluctuations. +The reference [JCP 139, 104102 (2013)](https://doi.org/10.1063/1.4818747) gives details on using the method to find coexistence state points, +and the reference [JCP 142, 044104 (2015)](https://doi.org/10.1063/1.4818747) show how the crystal growth rate can be computed from fluctuations. That method have been experienced to be most effective in the slightly super-heated regime above the melting temperature. ## Contact diff --git a/examples/USER/misc/slater/data.after_equilibration b/examples/USER/misc/slater/data.after_equilibration new file mode 100644 index 0000000000000000000000000000000000000000..27d6b99188f33b238f51a700fb3b3a0199e87f47 --- /dev/null +++ b/examples/USER/misc/slater/data.after_equilibration @@ -0,0 +1,6020 @@ +LAMMPS data file via write_data, version 27 Nov 2018, timestep = 100000 + +3000 atoms +3 atom types + +0.0000000000000000e+00 1.0000000000000000e+01 xlo xhi +0.0000000000000000e+00 1.0000000000000000e+01 ylo yhi +0.0000000000000000e+00 1.0000000000000000e+01 zlo zhi + +Masses + +1 1 +2 1 +3 1 + +Atoms # charge + +657 1 0.0000000000000000e+00 1.2294315016955035e+00 4.8754276299250893e-01 1.2118465665945548e+00 0 -8 -2 +2175 1 0.0000000000000000e+00 2.3164555047786015e+00 6.9845360389465294e-01 2.4142242089353414e+00 3 2 2 +1900 1 0.0000000000000000e+00 3.5625331454604198e-01 2.1981204932836338e+00 1.3366724541047856e+00 1 0 2 +360 1 0.0000000000000000e+00 2.0895603361093782e+00 2.4549720666315684e+00 1.0320377923642758e+00 -1 -5 2 +1860 1 0.0000000000000000e+00 1.3275792365017520e+00 8.6099237428295405e-01 1.9139960339024802e+00 -6 -2 3 +23 1 0.0000000000000000e+00 1.6642339027501267e+00 1.5577566857379970e+00 1.6804622139289418e+00 -6 3 0 +2797 1 0.0000000000000000e+00 5.0003204102730192e-01 7.5067967687516723e-01 1.5720016693076493e+00 0 5 -1 +1094 1 0.0000000000000000e+00 2.1001825771234097e+00 6.0980401814598983e-01 3.7730512216726748e-02 0 -2 3 +1915 1 0.0000000000000000e+00 8.6504972483752363e-01 6.9529562892300301e-01 2.1409383282066144e-01 -6 2 -1 +2254 1 0.0000000000000000e+00 8.4709225642098163e-01 1.6764907332941801e+00 2.3902229212668153e+00 -3 2 4 +2222 1 0.0000000000000000e+00 3.2276348008660966e-01 1.2241204043836138e+00 1.6686429354553034e+00 -6 -1 2 +295 1 0.0000000000000000e+00 1.9487232676299715e+00 1.0213051480532678e+00 8.9948266336871641e-01 -2 0 2 +1880 1 0.0000000000000000e+00 2.3468938911622801e+00 2.0286524416751570e+00 2.1941502270881865e+00 -2 -1 -1 +1478 1 0.0000000000000000e+00 1.2905884503602709e+00 4.2556467268017134e-01 7.7074363470816909e-01 2 2 4 +2687 1 0.0000000000000000e+00 2.4935407413815841e-01 1.3670723508591945e-01 1.3071566843654943e+00 3 5 5 +1178 1 0.0000000000000000e+00 1.2523002916465782e+00 1.6575493769797520e+00 6.4247903800569173e-01 0 6 0 +2662 1 0.0000000000000000e+00 1.7000796180603881e+00 4.5215402918845349e-01 1.3231957241488037e+00 -2 -2 3 +1386 1 0.0000000000000000e+00 1.7726236464283465e+00 1.0815723168930323e-01 7.8623670270351120e-01 -6 0 -3 +1433 1 0.0000000000000000e+00 2.4420720833941090e+00 5.9579528091996958e-01 8.0952392120540795e-01 -3 5 4 +1245 1 0.0000000000000000e+00 2.4791493035754693e+00 7.7748834432190461e-01 1.5241253793997307e+00 2 1 -1 +2734 1 0.0000000000000000e+00 9.3100246215522353e-01 2.2767642587479693e+00 2.2864983189416774e+00 8 1 0 +1730 1 0.0000000000000000e+00 1.2174663590969930e+00 1.1526504746705513e+00 7.8270337932143308e-01 7 4 2 +2781 1 0.0000000000000000e+00 2.2281461511925231e+00 3.5709735101343887e-01 3.9247210141592720e-01 -2 3 1 +259 1 0.0000000000000000e+00 2.1368631216963094e+00 2.0587394876396545e+00 4.3858784075461615e-01 1 4 0 +1109 1 0.0000000000000000e+00 1.1267209835275558e+00 1.7998515052656139e+00 1.4479472402814413e+00 -3 5 5 +2126 1 0.0000000000000000e+00 1.7234999304350955e+00 1.5377879534675687e+00 5.4236670573791856e-01 -1 -1 -4 +319 1 0.0000000000000000e+00 1.5640680776895053e+00 2.4022315178398230e+00 1.8713314660465894e+00 -3 3 0 +307 1 0.0000000000000000e+00 2.1477162783001660e+00 1.4016860035497622e+00 9.8290760821820464e-02 -5 5 2 +2343 1 0.0000000000000000e+00 1.2671254589570664e+00 1.9028737357040748e+00 3.0584689155388055e-02 6 1 4 +1162 1 0.0000000000000000e+00 9.9385877625695271e-03 1.3834059644864716e+00 6.8815269206697660e-01 -1 2 -3 +1154 1 0.0000000000000000e+00 1.4418694229240092e+00 1.1455981200197769e-01 4.6674313624619074e-02 -5 2 -1 +1138 1 0.0000000000000000e+00 7.0143527631015445e-01 9.6619679646717327e-01 6.4000816249950321e-01 -3 0 0 +2873 2 -1.0000000000000000e+00 1.2441420842034001e+00 4.1393590605366909e-01 1.9652971408800111e+00 4 5 -6 +118 1 0.0000000000000000e+00 4.5684822453318186e-01 1.8254057968479911e+00 1.7692818044476950e+00 -7 -7 0 +2023 1 0.0000000000000000e+00 5.9414992979255621e-01 1.7042570689935168e+00 3.6856583747702226e-01 -2 0 -1 +2179 1 0.0000000000000000e+00 8.8560892251441614e-01 2.1175891770320732e+00 9.4253464535643883e-01 1 5 5 +2395 1 0.0000000000000000e+00 5.2775070133739437e-02 5.3637713433594292e-01 2.3143182426880098e+00 5 4 -5 +2546 1 0.0000000000000000e+00 1.1265451254411663e+00 1.2949091275290223e+00 2.0031575040394292e+00 -3 -2 4 +863 1 0.0000000000000000e+00 2.0897910289677961e+00 1.7328926247657581e+00 1.3671406997367481e+00 -1 9 -2 +1560 1 0.0000000000000000e+00 2.0134073326150315e+00 8.2514057427402232e-01 1.5642128977791498e+00 1 -6 -1 +1567 1 0.0000000000000000e+00 2.4762151214309722e+00 1.9820034900288224e+00 4.0619377321249245e-01 -10 -2 1 +1960 1 0.0000000000000000e+00 7.0225018861803001e-01 1.7384792491759022e+00 1.3951119278456705e+00 0 0 3 +2636 1 0.0000000000000000e+00 6.5761321765887754e-02 8.1374825085868774e-01 8.7359406253994554e-01 2 4 -6 +568 1 0.0000000000000000e+00 1.7403318067351436e+00 1.8780377949192477e+00 2.4024895224751592e+00 0 2 0 +414 1 0.0000000000000000e+00 1.5961990678977317e-01 2.2533142944334292e+00 2.1926238173946149e+00 2 1 3 +452 1 0.0000000000000000e+00 2.7767909968111923e+00 1.2846432520047726e+00 4.3960960537703270e-01 2 3 -3 +2097 1 0.0000000000000000e+00 3.1761597015111507e+00 2.1821909037681078e+00 7.3493208013908484e-01 -1 3 6 +2242 1 0.0000000000000000e+00 3.4553327473328146e+00 1.6699386951674831e+00 2.4663857213018843e+00 -3 6 -3 +1458 1 0.0000000000000000e+00 4.7329815118611647e+00 7.5855606498241923e-01 1.6118530035081400e+00 1 9 7 +1690 1 0.0000000000000000e+00 3.7415668616442286e+00 1.5070194843078388e-01 8.4445776759546443e-01 7 -5 2 +2890 2 -1.0000000000000000e+00 4.7145627837817088e+00 1.3161447873205676e+00 5.5731741915683064e-01 3 3 -5 +941 1 0.0000000000000000e+00 4.5669443543722368e+00 1.8483500834617175e+00 1.4105752427209630e+00 3 1 -3 +2307 1 0.0000000000000000e+00 2.6134395043295640e+00 1.6159508581574462e+00 1.9525409360285315e+00 4 6 2 +2757 1 0.0000000000000000e+00 3.2399945247689117e+00 7.3523256032153317e-02 2.3544393565980388e+00 3 0 1 +292 1 0.0000000000000000e+00 3.2313117080878104e+00 8.2928213582292798e-01 1.7053316899184474e+00 0 7 -4 +2408 1 0.0000000000000000e+00 4.4612753265650040e+00 3.7679774218080976e-02 6.7702198442033135e-01 5 4 2 +1733 1 0.0000000000000000e+00 4.0533980289861331e+00 2.4001027179691397e+00 1.7525193928692415e+00 6 3 0 +313 1 0.0000000000000000e+00 3.1447801970093883e+00 2.4994159497826209e+00 2.7169956584620136e-01 -6 -2 -1 +1888 1 0.0000000000000000e+00 2.9868631125020269e+00 2.7782669344138120e-02 1.5504349442251604e+00 -8 1 -2 +809 1 0.0000000000000000e+00 4.0004108258896443e+00 2.0518225944997885e+00 2.0162506726285283e+00 4 1 1 +1824 1 0.0000000000000000e+00 3.0760621828456527e+00 4.3170537293536099e-01 3.5745549880644926e-02 4 -1 -2 +705 1 0.0000000000000000e+00 2.7919624671063166e+00 1.4289031553108618e+00 1.1029735296049670e+00 2 0 -2 +24 1 0.0000000000000000e+00 3.6314220354916182e+00 1.7208106755091936e+00 1.3565846885782091e+00 3 -2 3 +186 1 0.0000000000000000e+00 2.9796595169243241e+00 7.1412273904887513e-01 7.3644455307131307e-01 -5 1 2 +1344 1 0.0000000000000000e+00 4.3095233242940294e+00 2.7104539306398634e-01 7.5171192648935153e-02 1 3 3 +153 1 0.0000000000000000e+00 3.5509257096001763e+00 1.4389813746925797e+00 1.8346004572453154e+00 2 -1 0 +2246 1 0.0000000000000000e+00 4.3587644767225404e+00 7.1097753359274318e-01 8.0537632391406200e-01 -2 6 -6 +1999 1 0.0000000000000000e+00 2.6195447457169356e+00 7.7713610310780862e-02 9.0990487275747212e-01 -1 -3 0 +2737 1 0.0000000000000000e+00 4.0481677548413417e+00 2.2143576082291658e+00 6.0248749269903512e-01 -7 2 6 +252 1 0.0000000000000000e+00 4.6664072483440373e+00 2.4382351024484890e+00 1.2594819900845593e+00 4 -5 0 +2320 1 0.0000000000000000e+00 4.1637232038805374e+00 1.6152455367049663e+00 1.0331058809970348e+00 -1 0 -3 +2128 1 0.0000000000000000e+00 3.2190817399104268e+00 2.4471600673818172e+00 2.0341923302561189e+00 -2 3 -3 +1449 1 0.0000000000000000e+00 3.7875604580578952e+00 2.4567587091751797e+00 1.1604679955360948e+00 -3 -2 1 +1966 1 0.0000000000000000e+00 4.6656118980939638e+00 9.5332525870604312e-01 1.5107741234142941e-01 -3 4 3 +2681 1 0.0000000000000000e+00 3.9950334466062167e+00 1.1840724734496522e+00 2.1256343649287688e+00 -4 0 -2 +2986 3 1.0000000000000000e+00 3.7992671212747875e+00 4.0449670747083988e-01 1.5161621796965576e+00 4 -1 3 +1507 1 0.0000000000000000e+00 4.9191903634224436e+00 1.0850386164340555e+00 1.1914982005251722e+00 -4 7 3 +2196 1 0.0000000000000000e+00 4.0312866257015312e+00 1.2527641599282306e+00 1.5218616343660638e+00 1 3 -3 +49 1 0.0000000000000000e+00 3.4564174139189827e+00 5.2844721518028603e-01 3.4261836281253538e-01 -3 -2 -2 +1365 1 0.0000000000000000e+00 4.7883464383814189e+00 1.5987919580003158e+00 2.2436322620504736e+00 2 -2 2 +1452 1 0.0000000000000000e+00 4.4881797771485985e+00 1.4883387889813435e+00 2.1055232490688205e+00 1 -1 -7 +1770 1 0.0000000000000000e+00 4.0468665302840696e+00 1.7030347849833458e+00 9.3870072212299885e-02 -3 -1 1 +1238 1 0.0000000000000000e+00 2.8050385688585946e+00 1.3684449759828055e+00 1.1472351808454632e-01 6 0 1 +140 1 0.0000000000000000e+00 3.1851238409875609e+00 1.6170105118889988e+00 1.4391811048669350e+00 2 2 -4 +900 1 0.0000000000000000e+00 4.6727070008332099e+00 5.8655424208445139e-01 2.1828428980591608e+00 2 1 1 +596 1 0.0000000000000000e+00 2.6578533071815009e+00 8.2031851461831784e-01 1.8937647482789628e+00 1 -4 4 +1771 1 0.0000000000000000e+00 3.6936329411202995e+00 1.4669174207242024e+00 7.3212283726369931e-01 0 -1 5 +638 1 0.0000000000000000e+00 2.7494624010763871e+00 2.3100393397227430e+00 1.2576741281063295e+00 -1 -1 -2 +2879 2 -1.0000000000000000e+00 3.9182128494845991e+00 7.6287191191636650e-01 1.9421209005256836e+00 -4 -1 0 +1932 1 0.0000000000000000e+00 3.9856155915376164e+00 7.8003515073412666e-01 2.9391259063716074e-01 -5 -4 4 +1827 1 0.0000000000000000e+00 4.6970898089668616e+00 2.2213435039680620e+00 2.4743271517922086e-01 3 -3 -5 +143 1 0.0000000000000000e+00 4.8981719632179344e+00 1.5162870887829505e-01 1.1198398548572199e+00 0 3 -3 +1603 1 0.0000000000000000e+00 3.2654398049777940e+00 1.8468158745020600e+00 2.7112633835670863e-03 1 2 -2 +687 1 0.0000000000000000e+00 1.2286474952581528e+00 4.2505347721498881e+00 2.4065321338499883e+00 -2 3 2 +1128 1 0.0000000000000000e+00 2.1869045768095092e+00 4.5569781461421002e+00 1.8564573343573272e+00 -3 -5 -3 +359 1 0.0000000000000000e+00 1.6200179602348741e+00 3.7984048146452412e+00 1.3538693271568969e+00 -4 0 2 +7 1 0.0000000000000000e+00 1.9973159346882916e+00 4.0538128096340875e+00 1.9407096673970528e+00 -8 3 -1 +2226 1 0.0000000000000000e+00 1.8003682542462831e+00 3.3131053570441442e+00 2.3890904959121673e+00 -3 3 -2 +298 1 0.0000000000000000e+00 1.5990893913330586e+00 4.0291363510586766e+00 2.0597995204184421e+00 -1 1 -4 +1347 1 0.0000000000000000e+00 1.0381611178220669e+00 4.5124422285239589e+00 5.2754855166159664e-01 1 6 -3 +2310 1 0.0000000000000000e+00 1.5536504106107059e+00 3.1475484716009094e+00 9.6642192466495047e-01 0 1 0 +617 1 0.0000000000000000e+00 1.0806482870082104e-01 4.8608734413370103e+00 1.0983369991600154e+00 -7 1 0 +74 1 0.0000000000000000e+00 1.8428090322705997e+00 4.9106069363557303e+00 2.7897999254228878e-01 5 2 -2 +2002 1 0.0000000000000000e+00 1.1595568086473071e+00 3.5605603382683948e+00 4.8829376396476876e-01 -2 1 0 +965 1 0.0000000000000000e+00 1.7269290347842217e+00 2.5064429036109179e+00 8.6335957473663738e-02 -1 -6 0 +958 1 0.0000000000000000e+00 9.2665776141629463e-02 2.7755569308096484e+00 2.3656291165454109e+00 2 8 -4 +138 1 0.0000000000000000e+00 2.2815736812759848e+00 3.8405140359908327e+00 4.3283096963681872e-01 2 1 -1 +2349 1 0.0000000000000000e+00 5.0949539563130775e-01 2.5920885673883092e+00 1.6587550071562118e+00 -2 2 1 +741 1 0.0000000000000000e+00 3.0864578914811203e-01 3.0043489180919534e+00 8.0760638556009412e-01 4 3 -4 +847 1 0.0000000000000000e+00 1.2598326863560310e+00 3.5429836852141783e+00 1.9299780846671590e+00 -5 5 -2 +2925 3 1.0000000000000000e+00 2.2651428006112870e+00 3.2924343501755606e+00 1.6230110912121215e-01 -1 7 0 +37 1 0.0000000000000000e+00 8.8223524283848054e-01 2.8560924724117043e+00 2.0029932133436663e+00 2 1 3 +2923 3 1.0000000000000000e+00 6.2191221841897726e-01 3.3175666344479517e+00 6.5127374239876623e-01 -1 -1 8 +1091 1 0.0000000000000000e+00 7.7364798657018952e-01 4.2732233048608004e+00 1.7268578160836041e+00 -4 2 2 +331 1 0.0000000000000000e+00 2.3507311742858641e+00 4.1527048075321913e+00 1.0773204308337370e+00 -2 0 2 +2891 2 -1.0000000000000000e+00 2.1510816198611007e-01 4.1214132342619152e+00 6.3986823605853671e-01 4 -2 2 +626 1 0.0000000000000000e+00 1.0170496046019284e+00 2.8074199379997755e+00 3.9142611765596563e-01 8 2 -6 +2197 1 0.0000000000000000e+00 2.3853187876709763e+00 2.7282031707678991e+00 1.6197952026596660e+00 -1 -1 -3 +2247 1 0.0000000000000000e+00 3.7269233861904327e-01 4.2212322304069128e+00 2.1857504410985045e+00 -5 5 -3 +2125 1 0.0000000000000000e+00 6.9284524997248553e-01 4.3036446712436405e+00 1.5949771794791737e-01 -4 -5 1 +1256 1 0.0000000000000000e+00 8.4386636721656427e-01 3.2033978205761851e+00 1.3415791455423023e+00 4 4 3 +2327 1 0.0000000000000000e+00 3.9086694991450099e-01 2.5975798404980779e+00 7.2943473505031198e-01 1 7 1 +2227 1 0.0000000000000000e+00 7.6952219565061264e-01 4.2653461365656451e+00 1.0025164785182570e+00 3 -3 3 +1549 1 0.0000000000000000e+00 1.3703504063234426e+00 4.5746486883308268e+00 1.0394194531578096e+00 -1 -1 3 +1174 1 0.0000000000000000e+00 6.1219564523283454e-01 4.8217990117558438e+00 3.2502350180394624e-01 -3 0 -4 +1775 1 0.0000000000000000e+00 1.5170462541840117e+00 4.2361831803661216e+00 3.6160082352442846e-01 -6 -1 4 +2706 1 0.0000000000000000e+00 3.3141990057147869e-01 3.9148664700434281e+00 1.8713209064913066e+00 2 -2 3 +1689 1 0.0000000000000000e+00 1.9389651805611680e-01 3.0620789348224542e+00 1.5396007313123605e+00 9 -1 -2 +1963 1 0.0000000000000000e+00 5.4509694131332408e-02 4.7656872820158025e+00 2.2624397734306525e+00 3 3 -2 +2967 3 1.0000000000000000e+00 1.4510419992056482e+00 2.8506162765652729e+00 2.2119832034216871e+00 7 -2 -5 +1014 1 0.0000000000000000e+00 1.5718877270986540e+00 3.2222067507724170e+00 1.2634163729108416e-02 -6 -3 -2 +2069 1 0.0000000000000000e+00 2.2622328184074778e+00 4.8039847797001727e+00 9.2446086496383117e-01 0 -2 0 +2715 1 0.0000000000000000e+00 5.8842193052673242e-01 3.9614386783539532e+00 1.1006688405627962e+00 1 -1 3 +1597 1 0.0000000000000000e+00 1.4476151567629474e+00 4.3590224137725837e+00 1.4814184478010701e+00 1 1 -2 +1237 1 0.0000000000000000e+00 1.8579356863272509e+00 3.3192067698117969e+00 1.3836223551419939e+00 -2 -3 -3 +97 1 0.0000000000000000e+00 1.2124788340232597e+00 2.5829705094009663e+00 1.0566876481323435e+00 -5 2 -1 +451 1 0.0000000000000000e+00 1.7700627404940239e+00 2.8886817990194231e+00 6.3015199035926805e-01 -1 0 2 +1092 1 0.0000000000000000e+00 1.3942051771965671e+00 3.6528121263347795e+00 1.4436279816429537e-01 -3 1 -11 +494 1 0.0000000000000000e+00 3.5180915153985015e-01 3.4394463748899713e+00 2.2791291740153179e+00 -3 -3 2 +1545 1 0.0000000000000000e+00 4.7781005293462702e+00 3.4218988782187898e+00 7.6702477276438041e-01 -2 -7 3 +1082 1 0.0000000000000000e+00 3.2896451098282222e+00 4.5711814852549510e+00 1.2594822320296610e+00 3 -1 4 +1367 1 0.0000000000000000e+00 4.6172604270860296e+00 3.1956716562109273e+00 1.6878022745310945e+00 3 3 0 +689 1 0.0000000000000000e+00 4.0956834736296299e+00 3.7392971820905974e+00 1.0649170389315152e+00 1 -5 0 +814 1 0.0000000000000000e+00 2.9662845473661532e+00 4.9451618754524223e+00 1.2899907761753879e+00 -1 4 -4 +2798 1 0.0000000000000000e+00 2.8802587378446409e+00 4.4734308005556738e+00 5.5517917484081125e-01 9 -3 -1 +1759 1 0.0000000000000000e+00 4.9729047707161333e+00 4.8275950525811115e+00 1.1381067907824658e+00 0 2 0 +430 1 0.0000000000000000e+00 2.9404042624316484e+00 3.8737513462711162e+00 1.0102721249518734e+00 -3 -3 3 +619 1 0.0000000000000000e+00 2.7957702961458506e+00 3.7224642501372451e+00 2.2330516323796266e+00 1 -3 0 +346 1 0.0000000000000000e+00 2.8699256512088360e+00 2.9319713775738863e+00 9.6268880314552752e-01 -7 2 -5 +703 1 0.0000000000000000e+00 4.8816947152112835e+00 4.9270022811962484e+00 1.7008914385339713e+00 -3 1 0 +1062 1 0.0000000000000000e+00 4.5297793967195901e+00 4.5444236700195333e+00 2.0377483209475242e+00 0 -4 1 +349 1 0.0000000000000000e+00 4.8988296119038655e+00 3.8928494841886114e+00 1.4084479164946182e+00 1 2 -8 +1173 1 0.0000000000000000e+00 3.8027084866646454e+00 4.1233236308514591e+00 1.2560028121529132e+00 -4 -1 -1 +1125 1 0.0000000000000000e+00 3.8972047694608682e+00 3.0422644805291172e+00 4.5739172837516590e-01 3 2 1 +1825 1 0.0000000000000000e+00 3.8186982282823703e+00 4.7578933840936593e+00 2.0955382812519243e+00 0 -2 2 +294 1 0.0000000000000000e+00 2.5468691118106972e+00 3.3839775709980837e+00 8.8927795396394771e-01 -1 -5 4 +1084 1 0.0000000000000000e+00 4.3896568348418246e+00 4.8877974096585000e+00 1.4073976200894920e+00 -1 2 -1 +1659 1 0.0000000000000000e+00 4.4437112347667194e+00 3.1474463377711497e+00 1.1422740416666306e+00 1 4 -2 +1743 1 0.0000000000000000e+00 4.4781588445667166e+00 3.6541247421130651e+00 6.0747937804730878e-01 -4 3 -4 +2703 1 0.0000000000000000e+00 3.3376488747759185e+00 3.9290666507788301e+00 5.7512507099521459e-01 4 3 5 +442 1 0.0000000000000000e+00 3.3449995863805113e+00 4.9608695322869707e+00 2.4491146967768667e+00 -8 3 0 +1310 1 0.0000000000000000e+00 2.5946737524033177e+00 2.9684472699253570e+00 1.9678852890355198e+00 -4 2 -1 +1873 1 0.0000000000000000e+00 3.8074326669959815e+00 3.1995422160941684e+00 2.3156875751509083e+00 6 -2 4 +2282 1 0.0000000000000000e+00 4.6448540997602183e+00 4.3119660086270279e+00 8.5306859111816458e-01 3 1 -2 +2336 1 0.0000000000000000e+00 3.5296359204291017e+00 2.9996710079856537e+00 1.2368505419212257e+00 -2 6 -8 +2804 1 0.0000000000000000e+00 3.3322507060181872e+00 2.7825327214066928e+00 1.7637611202413976e+00 4 0 6 +2431 1 0.0000000000000000e+00 4.8041895896760201e+00 2.5764828570635823e+00 2.0942602701561888e+00 4 0 -3 +57 1 0.0000000000000000e+00 3.5171105855049323e+00 4.7392425964197322e+00 3.5143421397004326e-01 -3 -1 6 +137 1 0.0000000000000000e+00 2.7329522679829164e+00 4.6076788617560007e+00 2.3154315487926920e+00 -3 4 2 +686 1 0.0000000000000000e+00 4.3689320267129013e+00 2.9820892984560983e+00 3.1169287553978486e-01 -1 1 2 +2288 1 0.0000000000000000e+00 3.8459553014843988e+00 4.2749321673132830e+00 3.8850723958354133e-01 1 1 -1 +2473 1 0.0000000000000000e+00 4.3951997705798833e+00 3.4069602500216991e+00 2.4210464742644739e+00 -3 0 5 +2233 1 0.0000000000000000e+00 2.7174962578232176e+00 3.1430705697896468e+00 5.1455130025646600e-01 4 2 5 +2293 1 0.0000000000000000e+00 2.6771874045198603e+00 3.9073280843779958e+00 1.6787448974738681e+00 -3 1 -4 +167 1 0.0000000000000000e+00 4.6930725498972130e+00 3.9545285214573931e+00 2.4292202343015985e+00 1 0 0 +2817 2 -1.0000000000000000e+00 3.5963773215548924e+00 3.9804260117355579e+00 2.1184997315152545e+00 -2 -4 1 +2747 1 0.0000000000000000e+00 4.3431192525393696e+00 4.3062334086156415e+00 1.3901356711129780e+00 2 -6 0 +2469 1 0.0000000000000000e+00 3.6728013476578290e+00 4.7737793597787865e+00 1.6366785134260260e+00 0 7 0 +915 1 0.0000000000000000e+00 3.2300430303159313e+00 3.1379431785439622e+00 2.4026871760965389e+00 3 0 5 +874 1 0.0000000000000000e+00 3.8920696948093476e+00 3.8446313753414665e+00 1.9517171616474061e+00 -2 -3 -2 +1917 1 0.0000000000000000e+00 2.8093038291552768e+00 3.4473645600608824e+00 1.4854186466747856e+00 3 5 -1 +134 1 0.0000000000000000e+00 3.8901886445333203e+00 3.2701274651551451e+00 1.5063124510253021e+00 2 -2 4 +1809 1 0.0000000000000000e+00 3.0390865951220722e+00 4.4149445571747448e+00 1.8018944496607519e+00 1 7 1 +758 1 0.0000000000000000e+00 3.8548456954701016e+00 3.4556425990146766e+00 5.7738443817049057e-01 -1 -5 -3 +66 1 0.0000000000000000e+00 3.0993878657675533e+00 3.3927903741959953e+00 1.0073299769452908e-01 0 -2 3 +2731 1 0.0000000000000000e+00 4.8411215525057880e+00 4.1950557970015998e+00 3.7647412426014210e-01 0 4 5 +2328 1 0.0000000000000000e+00 1.3504820834142079e+00 2.4741428502607499e+00 3.1321309334682854e+00 -2 4 -1 +534 1 0.0000000000000000e+00 2.3609151528360734e+00 2.2019029371597165e+00 3.3313199265395506e+00 -2 -5 3 +1496 1 0.0000000000000000e+00 2.0448165975677672e+00 2.2072313974237182e-01 3.1507538374165724e+00 1 2 1 +732 1 0.0000000000000000e+00 2.0024016460135008e+00 2.4765465819777788e+00 4.4196346201786341e+00 1 -4 -5 +1582 1 0.0000000000000000e+00 1.7395266753271077e+00 7.5510695949270112e-01 4.5869080219741853e+00 4 -3 -5 +484 1 0.0000000000000000e+00 1.0034871316431830e+00 6.0318069109102679e-01 4.0235954209126463e+00 1 -3 -3 +839 1 0.0000000000000000e+00 1.4602732672373155e+00 2.3720410629719906e+00 4.0384316392322308e+00 -3 2 -1 +1110 1 0.0000000000000000e+00 1.6020751988910185e+00 3.0592952837862591e-01 3.3166437670843436e+00 -5 8 2 +2353 1 0.0000000000000000e+00 2.1884546697868226e+00 4.5393690145853666e-01 3.8803796542540154e+00 2 -3 -2 +1488 1 0.0000000000000000e+00 2.2180321827394783e-01 2.3062671299843385e+00 4.1869331789302047e+00 -1 -5 5 +59 1 0.0000000000000000e+00 1.5421370648118005e+00 2.0718006623521861e+00 3.2489985119904659e+00 2 -5 -5 +2099 1 0.0000000000000000e+00 1.6289327180304212e+00 1.6012851759252136e+00 4.4689883086346640e+00 1 2 -7 +84 1 0.0000000000000000e+00 6.0976953696375591e-01 7.0390840281476974e-01 2.5744479591727010e+00 2 -1 -1 +1879 1 0.0000000000000000e+00 4.0615990828567128e-01 1.4641300257627567e+00 3.6602891483217124e+00 -5 3 6 +736 1 0.0000000000000000e+00 1.6942993371799835e+00 7.9667936178945831e-01 3.1513167015656349e+00 0 1 -1 +1332 1 0.0000000000000000e+00 4.3459600792348663e-01 2.1182261133045417e+00 4.8452805057752810e+00 5 -2 -3 +2394 1 0.0000000000000000e+00 1.8620742390220777e+00 8.0000631044595627e-01 2.6905738970495565e+00 -5 2 0 +1235 1 0.0000000000000000e+00 5.2048609776880450e-01 2.1686588954293176e+00 2.7540366573653179e+00 -3 2 0 +2573 1 0.0000000000000000e+00 7.6241922881672464e-01 4.7142513977802114e-01 4.5210994006918588e+00 3 -2 3 +220 1 0.0000000000000000e+00 8.6274610416258890e-01 3.9625474679630468e-01 2.9848046899740308e+00 -2 2 0 +2555 1 0.0000000000000000e+00 7.6386058882674246e-01 1.3157314623824063e+00 3.0724886890837060e+00 -4 3 7 +1274 1 0.0000000000000000e+00 1.4363626807591476e+00 5.2020819350010383e-01 4.5344089582591698e+00 -2 0 1 +2585 1 0.0000000000000000e+00 8.8712447631047198e-01 1.3599599897061154e+00 4.9647338295079804e+00 6 -1 -2 +216 1 0.0000000000000000e+00 2.2996866197068941e+00 1.0999814868418869e+00 4.8980200775995364e+00 0 2 4 +1029 1 0.0000000000000000e+00 6.2033774762998012e-02 1.5844417493308851e+00 4.8889157029830459e+00 -3 -2 2 +1070 1 0.0000000000000000e+00 3.2087898728822212e-01 7.3591885896851228e-01 4.6873827913429986e+00 0 2 -7 +1249 1 0.0000000000000000e+00 2.2970107471001927e-01 2.4897538804264920e+00 3.5405874905871451e+00 4 -1 2 +2593 1 0.0000000000000000e+00 2.4985024346718503e+00 2.4121406814513038e+00 4.2558497568097309e+00 7 -2 -4 +1265 1 0.0000000000000000e+00 4.5309108217541832e-01 1.3211106956525096e+00 4.5650069316345769e+00 7 2 0 +422 1 0.0000000000000000e+00 1.8071232408530631e+00 1.4581849665971973e+00 3.0552659197316561e+00 1 2 2 +479 1 0.0000000000000000e+00 9.5929629795529991e-01 1.8658789754636040e+00 3.0727527513413926e+00 -2 -2 1 +2209 1 0.0000000000000000e+00 1.6060499321884869e-01 2.1355210624001462e+00 3.5498044606345469e+00 -4 -2 3 +999 1 0.0000000000000000e+00 7.0959039653791267e-01 8.8877390285051150e-01 3.4032915586725188e+00 1 -3 -2 +581 1 0.0000000000000000e+00 8.1411717500190128e-01 1.7548317416347138e-02 2.9215909977210868e+00 -3 -1 1 +1939 1 0.0000000000000000e+00 1.4203882923891240e+00 1.5050670537556470e+00 4.7572241181701607e+00 5 5 -3 +13 1 0.0000000000000000e+00 1.5023126523227059e+00 9.8290084325644705e-02 3.8379569984607058e+00 2 2 -1 +1471 1 0.0000000000000000e+00 2.4049186242967959e+00 1.6752495153104396e+00 4.2707872342577824e+00 4 -2 4 +263 1 0.0000000000000000e+00 1.2719705986659036e-01 2.6645215683374712e-01 3.1410842473895677e+00 1 6 9 +1577 1 0.0000000000000000e+00 9.7959840360025274e-01 1.6723519961592157e+00 4.0742087733512813e+00 7 1 -4 +2690 1 0.0000000000000000e+00 1.4028800271630313e+00 1.1176268271951064e+00 3.6545514424446166e+00 0 -5 -2 +824 1 0.0000000000000000e+00 1.8542252436859432e+00 1.6709110576384665e+00 3.8594663674473004e+00 -2 0 3 +2818 2 -1.0000000000000000e+00 5.9611161954943448e-01 1.6499347608480389e-01 4.0597783484616201e+00 0 -1 2 +830 1 0.0000000000000000e+00 2.3126337390953449e+00 1.1710914680489817e+00 3.6056817402081367e+00 2 1 -7 +1871 1 0.0000000000000000e+00 5.7558224556634792e-02 1.1407748039483800e+00 3.0472993834225073e+00 4 -2 -1 +1864 1 0.0000000000000000e+00 1.8648487731354730e+00 1.1212252110084743e-01 4.5925504650952584e+00 -6 4 -3 +2961 3 1.0000000000000000e+00 1.8905584846011956e+00 1.5313589163569628e+00 2.5074036979296861e+00 0 0 3 +1682 1 0.0000000000000000e+00 4.5509984371914296e+00 2.1245826834328896e+00 4.0314635528085363e+00 -2 3 6 +2960 3 1.0000000000000000e+00 3.8784313280131291e+00 1.5135771558985247e+00 2.6029198228495480e+00 -1 1 -6 +799 1 0.0000000000000000e+00 3.8273047903299293e+00 7.4228078169330514e-01 3.4639408743865774e+00 -3 7 1 +2595 1 0.0000000000000000e+00 2.5144656486198160e+00 8.7040954057869446e-01 2.7912623707414124e+00 -6 4 0 +1956 1 0.0000000000000000e+00 4.1403921428018222e+00 3.0493260073437167e-01 3.4798613211300458e+00 -5 -1 1 +2857 2 -1.0000000000000000e+00 3.2486550769016960e+00 2.0312236616932382e+00 4.2225712917291363e+00 -7 0 -1 +789 1 0.0000000000000000e+00 4.8539094291018268e+00 2.6486380379331453e-01 4.0002805375206272e+00 -2 -1 -3 +1591 1 0.0000000000000000e+00 4.8531301650811027e+00 6.8255610101173064e-02 3.5661782868548726e+00 2 -8 -6 +605 1 0.0000000000000000e+00 3.1494184817884849e+00 2.7624231910979374e-02 4.4496919831596440e+00 2 0 2 +2261 1 0.0000000000000000e+00 4.3628333543564839e+00 9.6475492099956217e-01 4.0259646638620845e+00 2 4 1 +1738 1 0.0000000000000000e+00 4.3095067017870035e+00 2.4036827080600176e-03 2.7515087877930360e+00 -4 2 2 +1737 1 0.0000000000000000e+00 2.8194461006864970e+00 1.9467631397500196e+00 4.5193127853390145e+00 -2 1 -5 +1384 1 0.0000000000000000e+00 3.1360737294450458e+00 6.9414646738557839e-01 2.5223736148272313e+00 -4 -1 4 +2509 1 0.0000000000000000e+00 4.3145300588459170e+00 1.4342344573947057e+00 3.8883843448941482e+00 1 2 3 +2048 1 0.0000000000000000e+00 4.0410247442435407e+00 1.5511153102928494e+00 3.0576947834055592e+00 -2 -2 6 +69 1 0.0000000000000000e+00 2.5672011513161190e+00 1.9154878078092794e+00 2.7742761682513701e+00 -3 1 4 +1465 1 0.0000000000000000e+00 4.0340081390875433e+00 2.4618075247220648e+00 4.5330068415258102e+00 -2 -1 -1 +2332 1 0.0000000000000000e+00 2.8299907077718127e+00 6.7645020378579124e-01 3.1970785903406704e+00 2 -2 -1 +2812 2 -1.0000000000000000e+00 3.1264966692619076e+00 1.3944207704218452e+00 3.4951128303502337e+00 0 0 -3 +287 1 0.0000000000000000e+00 4.5140515213162642e+00 8.5386730287414003e-01 3.2415410563283280e+00 -3 4 -7 +1816 1 0.0000000000000000e+00 3.1798725806817467e+00 4.5984413751914305e-01 3.4797467238738733e+00 2 -2 4 +565 1 0.0000000000000000e+00 3.6169518716320805e+00 3.2950899219213731e-01 2.6207407444832875e+00 3 -3 0 +2400 1 0.0000000000000000e+00 4.7040515540883092e+00 2.1250275079407643e-01 4.7527353590633599e+00 -3 2 3 +2864 2 -1.0000000000000000e+00 2.7364725235974836e+00 2.3107994430823915e+00 2.6173826314416444e+00 2 -2 -4 +2463 1 0.0000000000000000e+00 3.6429736286644365e+00 7.4423680572369333e-01 2.8991041150755499e+00 10 -2 -2 +1181 1 0.0000000000000000e+00 4.6611335959120499e+00 2.4379678113501679e+00 2.6296914387471189e+00 0 -5 -4 +254 1 0.0000000000000000e+00 3.4522158320047640e+00 4.5059828731836393e-01 4.1697496376561132e+00 4 9 0 +1320 1 0.0000000000000000e+00 3.8464998241848929e+00 1.4718134914214016e+00 4.3734548780662950e+00 -2 -2 1 +1608 1 0.0000000000000000e+00 4.6670101554240819e+00 1.0795365127026961e+00 4.7085899065488386e+00 4 -9 -3 +2915 3 1.0000000000000000e+00 4.2748106709299059e+00 2.4649799106199928e+00 3.3603378528727292e+00 -2 0 -1 +2062 1 0.0000000000000000e+00 3.1207469686999674e+00 1.3653652930946873e+00 2.7453384259696629e+00 3 3 -6 +2621 1 0.0000000000000000e+00 4.8815068646532609e+00 1.0433843991345024e+00 2.7795813355230550e+00 -7 0 7 +899 1 0.0000000000000000e+00 4.2758853307417146e+00 3.0069948848524358e-01 4.3840585947113802e+00 -2 2 2 +1668 1 0.0000000000000000e+00 3.2319170268028934e+00 1.1220879543736240e+00 4.7459395867346750e+00 3 4 -7 +2545 1 0.0000000000000000e+00 4.8553758364273634e+00 1.5015973817579942e+00 3.1899292202705847e+00 1 3 0 +2972 3 1.0000000000000000e+00 2.8347073466780923e+00 1.8918790533517427e+00 3.5716657817826087e+00 4 -6 0 +2501 1 0.0000000000000000e+00 4.5275378175181968e+00 1.6300714548439770e+00 4.7500486602155840e+00 -1 0 -2 +33 1 0.0000000000000000e+00 2.7667759390215911e+00 1.3438901884741956e+00 4.2649053894657287e+00 -3 1 -5 +1102 1 0.0000000000000000e+00 2.7226773712541754e+00 5.7034117107152305e-01 3.9658552885908795e+00 -4 4 3 +1961 1 0.0000000000000000e+00 4.4133897118948804e+00 1.8610229565221879e+00 3.4440783249691758e+00 6 1 5 +2560 1 0.0000000000000000e+00 2.7932442600949723e+00 3.2789439453906105e-01 4.7111016226402551e+00 0 1 -2 +1427 1 0.0000000000000000e+00 3.7871574028740205e+00 2.0154681289280769e+00 4.1412268529252465e+00 4 1 -3 +1677 1 0.0000000000000000e+00 4.0134617403341108e+00 6.9516616636642192e-01 4.6721376252904578e+00 2 1 -8 +1786 1 0.0000000000000000e+00 4.2407086419792615e+00 2.4319481010463599e+00 2.6553928754272875e+00 2 1 -2 +1501 1 0.0000000000000000e+00 3.7072792713405542e+00 1.6154425105934580e+00 3.5213722742860001e+00 -1 -4 -2 +2992 3 1.0000000000000000e+00 3.2992373922126537e+00 8.3902600062535748e-01 4.1379712437304823e+00 -4 4 0 +245 1 0.0000000000000000e+00 3.5909763984777285e+00 2.0035414006947945e+00 3.3123353556532504e+00 -6 -5 -2 +1215 1 0.0000000000000000e+00 4.8600315004874117e+00 6.7189094637832036e-01 4.8196183351359947e+00 -3 -1 1 +1678 1 0.0000000000000000e+00 4.4522321439855235e+00 8.1868921324666355e-01 2.7228655677130833e+00 0 -2 3 +1263 1 0.0000000000000000e+00 2.6575537645545229e+00 1.3119397536875965e-03 3.3364666910055560e+00 1 6 4 +2003 1 0.0000000000000000e+00 3.0679681475665288e-01 3.0932460523043201e+00 4.5138766331529174e+00 1 -2 0 +873 1 0.0000000000000000e+00 9.1773820060796674e-01 3.1640733782877479e+00 3.3835845620976173e+00 2 -1 2 +2932 3 1.0000000000000000e+00 1.9433988042567480e+00 3.5247751098152338e+00 2.8190339261353703e+00 1 1 0 +2303 1 0.0000000000000000e+00 7.0426748297581721e-01 3.5629090681754501e+00 2.7405223391175921e+00 -2 2 3 +918 1 0.0000000000000000e+00 1.5037939830513534e+00 3.0487343214569029e+00 4.0624877734762750e+00 -9 -1 1 +1273 1 0.0000000000000000e+00 9.3089778469437112e-01 2.6412298232581422e+00 4.0867855845304311e+00 -5 3 4 +1822 1 0.0000000000000000e+00 1.3389452439478056e+00 4.3839811613723949e+00 3.1416694752857244e+00 1 2 -4 +2589 1 0.0000000000000000e+00 1.9966657491406965e+00 2.5026973800026302e+00 2.7551281161438190e+00 -2 -3 -8 +2802 1 0.0000000000000000e+00 7.7395222926414931e-01 4.5420156625699502e+00 4.7977399210076550e+00 2 3 5 +2037 1 0.0000000000000000e+00 2.3766708937649255e+00 3.8319594018208010e+00 2.9605194107251567e+00 -2 -2 -1 +1085 1 0.0000000000000000e+00 1.5970465847438233e+00 3.6418730119671077e+00 3.1738463843434412e+00 -5 0 7 +1290 1 0.0000000000000000e+00 2.4103909656391354e+00 3.5986234032520983e+00 3.7448912373834915e+00 0 -2 2 +265 1 0.0000000000000000e+00 1.8989770144042278e-01 3.7640613280758779e+00 4.4089492368109466e+00 4 0 4 +1808 1 0.0000000000000000e+00 1.4389824823246005e+00 4.5267785379344385e+00 4.9528386250856391e+00 -2 1 0 +2770 1 0.0000000000000000e+00 2.3451412673551859e+00 3.9545478861309591e+00 3.6172032818364936e+00 -3 0 -5 +1524 1 0.0000000000000000e+00 7.8667137789386610e-01 4.3350977017708185e+00 3.8614428381329855e+00 5 2 -6 +2143 1 0.0000000000000000e+00 4.9775141442283774e-02 3.7455397732178191e+00 3.4244890461182180e+00 4 -3 3 +867 1 0.0000000000000000e+00 1.0184510917826928e+00 4.8102186925259467e+00 3.3167649174432321e+00 4 3 1 +199 1 0.0000000000000000e+00 1.8914940603268382e+00 4.4141757477590344e+00 3.7872732441761343e+00 -1 -1 -1 +2477 1 0.0000000000000000e+00 1.8794618344562042e+00 2.9843952093428014e+00 3.4897188081562778e+00 7 -1 0 +2626 1 0.0000000000000000e+00 1.3587191942361756e+00 3.8287840206110539e+00 4.3730887462974621e+00 6 4 -1 +2988 3 1.0000000000000000e+00 7.4376791082491200e-01 2.5507613582596473e+00 3.5669580321766929e+00 6 3 0 +232 1 0.0000000000000000e+00 1.7420365164152063e+00 4.8779182533773655e+00 3.3329174254191973e+00 -1 1 -8 +2357 1 0.0000000000000000e+00 1.5018966831398866e+00 3.8251075506187813e+00 3.9304602201193850e+00 5 0 -4 +2672 1 0.0000000000000000e+00 6.3761324421684418e-01 2.9038927078535868e+00 2.7842372065393746e+00 2 1 -3 +1736 1 0.0000000000000000e+00 1.4369597112061858e+00 3.9369996898492836e+00 4.7281328127868720e+00 -3 -1 6 +2360 1 0.0000000000000000e+00 2.2864925179351290e+00 2.8417726897183408e+00 3.1768995279633105e+00 7 -1 1 +2300 1 0.0000000000000000e+00 2.2670518968800528e+00 3.7559998544511228e+00 4.8552489005166883e+00 4 1 -5 +249 1 0.0000000000000000e+00 4.3931560518786633e-02 4.3487463680300360e+00 3.3751616014411225e+00 1 2 1 +345 1 0.0000000000000000e+00 6.2198749143180833e-02 3.0097357461854886e+00 3.1370104246783197e+00 -1 2 3 +43 1 0.0000000000000000e+00 7.3289650817576502e-01 3.6104891221980164e+00 3.6551081809996586e+00 6 -2 2 +967 1 0.0000000000000000e+00 1.7257857645084467e+00 4.9880936194308276e+00 4.6776183741795903e+00 5 -2 0 +457 1 0.0000000000000000e+00 2.0085333069264366e+00 4.3431377133292948e+00 2.7369709800572202e+00 0 -5 3 +2295 1 0.0000000000000000e+00 1.2548513375408599e+00 4.7393991132394193e+00 4.1157376565974140e+00 5 0 -1 +1921 1 0.0000000000000000e+00 3.8871377222111791e-01 4.9551986254553171e+00 3.4754431809227020e+00 1 -5 -2 +2217 1 0.0000000000000000e+00 1.1408104330210689e+00 2.8535600761364246e+00 2.7490158491338992e+00 7 7 -2 +1588 1 0.0000000000000000e+00 1.3388577303550819e+00 2.9688487973714524e+00 4.6368023121674007e+00 2 1 4 +2480 1 0.0000000000000000e+00 2.2230143534001406e-01 3.1144729534151439e+00 4.0171712434295284e+00 1 4 0 +935 1 0.0000000000000000e+00 1.1729195451644510e+00 3.9310530195211024e+00 2.7988904121389031e+00 1 -1 -7 +290 1 0.0000000000000000e+00 1.1169889863891167e+00 3.2588029907531921e+00 4.3080599946149993e+00 1 -1 -2 +2290 1 0.0000000000000000e+00 2.2203140804650614e+00 3.9280102099532459e+00 4.3611042896548078e+00 -3 3 1 +1182 1 0.0000000000000000e+00 7.2289599330078025e-01 3.5447752062583859e+00 4.3663659159811772e+00 1 3 0 +1600 1 0.0000000000000000e+00 6.2989874136182833e-01 4.2088794203894455e+00 2.8257368391565723e+00 5 1 0 +2207 1 0.0000000000000000e+00 2.2607587829569860e+00 4.7918019230475641e+00 3.1662580556161166e+00 0 6 4 +876 1 0.0000000000000000e+00 2.3022582343792690e+00 4.6958230810945745e+00 4.0539969367192272e+00 6 6 0 +1506 1 0.0000000000000000e+00 1.7806199499214441e+00 2.5690295524526716e+00 4.9370954619553542e+00 -2 4 0 +1602 1 0.0000000000000000e+00 2.4509419526146145e-01 2.7370083806078256e+00 4.9129692317715561e+00 7 1 -3 +144 1 0.0000000000000000e+00 1.8602986353937132e+00 4.7169685657334490e+00 2.5422960254435365e+00 2 6 6 +19 1 0.0000000000000000e+00 4.0995290828991324e+00 2.6557593506776258e+00 3.9171594622973465e+00 -4 1 8 +1380 1 0.0000000000000000e+00 2.8871722247535603e+00 4.0316555278402166e+00 2.5591932219940494e+00 3 0 8 +1988 1 0.0000000000000000e+00 3.1243174039910566e+00 2.9425819651263092e+00 2.9340968358478845e+00 0 1 -3 +2257 1 0.0000000000000000e+00 3.2421134678142431e+00 4.7317980774276727e+00 4.0591042418140244e+00 3 -2 -1 +934 1 0.0000000000000000e+00 3.4760967330926777e+00 2.6283694675986724e+00 3.4945143406826782e+00 2 1 -1 +187 1 0.0000000000000000e+00 2.6692986088321815e+00 2.8121346478859732e+00 3.6188092965372380e+00 5 2 -4 +1949 1 0.0000000000000000e+00 4.4765068690416161e+00 4.7797507438461393e+00 4.0883797270977595e+00 2 5 1 +854 1 0.0000000000000000e+00 3.4164438413307234e+00 4.2390615196886516e+00 3.5630201315048735e+00 -4 4 0 +2093 1 0.0000000000000000e+00 3.5046629291608560e+00 2.6205277929863291e+00 2.9473301886784675e+00 1 2 11 +2253 1 0.0000000000000000e+00 4.9520010583581167e+00 2.9830371323541596e+00 3.5653354663449823e+00 -1 4 -2 +392 1 0.0000000000000000e+00 4.3834847331781726e+00 4.5593067062215811e+00 3.4680459281114162e+00 -8 0 3 +250 1 0.0000000000000000e+00 3.7920884955139611e+00 3.5195851806389520e+00 2.9085560618443935e+00 7 0 -8 +2029 1 0.0000000000000000e+00 3.7023570704196236e+00 4.6993339085300443e+00 4.6693757375719009e+00 1 9 3 +2006 1 0.0000000000000000e+00 3.4403334753236048e+00 3.5249441126117356e+00 4.1614414645782443e+00 2 -2 4 +424 1 0.0000000000000000e+00 4.5019560543949977e+00 2.7002784898293828e+00 4.5120550294821955e+00 0 5 -4 +1352 1 0.0000000000000000e+00 3.2619122363821504e+00 4.5933848138468010e+00 2.7029864584531964e+00 -1 1 3 +2361 1 0.0000000000000000e+00 3.0382559521765047e+00 3.6346606412904530e+00 3.4620021771920944e+00 7 4 1 +2109 1 0.0000000000000000e+00 3.7947088597548277e+00 4.5671411933548400e+00 3.7957349294230713e+00 2 -4 2 +2358 1 0.0000000000000000e+00 2.7249099410824336e+00 4.4385774493535877e+00 4.7245627602272764e+00 0 -3 10 +2181 1 0.0000000000000000e+00 4.9585158372251001e+00 4.5475591970405835e+00 4.4049825006086749e+00 -1 -5 -3 +1002 1 0.0000000000000000e+00 3.8984858524746584e+00 4.5682487302627983e+00 3.0411499633985182e+00 -1 2 -6 +1132 1 0.0000000000000000e+00 4.5573731460357827e+00 3.7642746509599285e+00 3.1455836819734233e+00 -5 1 2 +2170 1 0.0000000000000000e+00 4.8865407835802817e+00 2.7402998634314368e+00 4.9256973994174356e+00 -3 6 -3 +1803 1 0.0000000000000000e+00 2.5716913150691689e+00 4.9655718343462745e+00 2.8132009655303967e+00 4 -1 5 +2550 1 0.0000000000000000e+00 2.5947635853795714e+00 3.0732770414497081e+00 2.5273652132862638e+00 11 4 -2 +2537 1 0.0000000000000000e+00 4.1330044405131368e+00 3.8679848788434601e+00 4.3896900719824341e+00 3 -1 1 +53 1 0.0000000000000000e+00 3.2126468501902710e+00 4.0999860691804706e+00 4.1581110247232678e+00 3 0 -5 +472 1 0.0000000000000000e+00 3.9791588574993040e+00 3.7155554185536541e+00 3.7543498288972645e+00 2 1 -2 +233 1 0.0000000000000000e+00 4.5711789148164828e+00 3.4517356347992791e+00 3.3721215801819557e+00 0 5 3 +2164 1 0.0000000000000000e+00 4.7449092073617480e+00 3.1005952758461852e+00 2.6928906621847948e+00 -2 4 -3 +1823 1 0.0000000000000000e+00 3.3546693563671837e+00 3.5431741772289631e+00 3.4185195491415965e+00 -3 6 -2 +2031 1 0.0000000000000000e+00 3.5849382968141681e+00 3.1639951690900281e+00 3.9336807048311573e+00 8 -4 3 +525 1 0.0000000000000000e+00 4.3610049819235037e+00 3.9918153418470563e+00 4.8943829776541330e+00 3 -1 1 +1527 1 0.0000000000000000e+00 4.2592505228135948e+00 2.6149260551674782e+00 3.0388735597425280e+00 3 6 -1 +1129 1 0.0000000000000000e+00 2.8773481181299636e+00 2.9924309310330286e+00 4.5660616628402781e+00 -1 0 5 +405 1 0.0000000000000000e+00 4.7364791599922551e+00 4.2955222522646777e+00 2.7021143639119303e+00 9 2 -1 +2440 1 0.0000000000000000e+00 4.3328853469947077e+00 3.0743643078273255e+00 3.7821408995845354e+00 -1 -3 -5 +268 1 0.0000000000000000e+00 3.6741486699273449e+00 4.1275900657343065e+00 2.7858870597100491e+00 1 5 3 +1664 1 0.0000000000000000e+00 4.7661627036312506e+00 4.8122611271858844e+00 3.4258643096734991e+00 -1 3 -2 +2755 1 0.0000000000000000e+00 2.6332970584804674e+00 3.5831353800884336e+00 4.7626428406888506e+00 0 -2 4 +2445 1 0.0000000000000000e+00 2.9890432705605763e+00 4.5258025627498046e+00 3.3965017735385028e+00 -5 0 -9 +1710 1 0.0000000000000000e+00 3.6571601422023980e+00 3.1852467154093644e+00 4.9355278585693485e+00 -2 4 -1 +1936 1 0.0000000000000000e+00 4.7368869499969612e+00 3.8500315218337655e+00 4.2415899777956740e+00 6 -2 3 +1869 1 0.0000000000000000e+00 4.2660580836996340e+00 4.7754858489173895e+00 4.4918497082326114e+00 0 1 -1 +2391 1 0.0000000000000000e+00 3.3277351114029430e+00 2.6309513456850384e+00 4.0597698186279363e+00 0 0 1 +2439 1 0.0000000000000000e+00 4.6101382932190427e-01 6.9120399162567303e-01 5.4515832100801633e+00 -1 2 -3 +882 1 0.0000000000000000e+00 7.6698661834788051e-01 1.8561199842007987e+00 6.3432401562308103e+00 2 1 -1 +795 1 0.0000000000000000e+00 2.4244186165370882e+00 1.9025337821425743e+00 6.0591939678124698e+00 -3 3 -1 +2867 2 -1.0000000000000000e+00 2.4651221981474731e+00 6.0655501585653726e-01 6.2754009482871549e+00 3 0 -4 +840 1 0.0000000000000000e+00 1.9491083218181178e+00 4.0897133256962021e-01 5.1921879908923287e+00 -2 5 -4 +928 1 0.0000000000000000e+00 2.1554509299941533e+00 1.7918654086431147e+00 5.3125631065205727e+00 -1 3 3 +1099 1 0.0000000000000000e+00 6.6429346184775168e-02 2.1027367507648492e-01 5.8205127911983148e+00 -5 2 1 +1894 1 0.0000000000000000e+00 2.1734653318310935e+00 9.0956052676262500e-01 6.6536707054792403e+00 2 1 -1 +837 1 0.0000000000000000e+00 8.1325487941057995e-01 2.4186628673219945e+00 6.7372756499874011e+00 3 -1 6 +2863 2 -1.0000000000000000e+00 1.7111850046013788e+00 3.2828921901994212e-02 7.3317935748293870e+00 5 0 3 +2977 3 1.0000000000000000e+00 1.2120224290486887e+00 9.1181632877366714e-01 6.2147844700920487e+00 -2 -4 6 +171 1 0.0000000000000000e+00 1.6029005370723253e+00 6.4335850273437678e-01 5.3882589096187514e+00 4 7 -2 +2619 1 0.0000000000000000e+00 1.0655935547509576e+00 1.2768477428046989e+00 5.9147518195103022e+00 0 -4 -2 +710 1 0.0000000000000000e+00 1.7034139332183487e-01 8.0773853458927980e-01 6.8333289057281661e+00 -5 7 10 +1872 1 0.0000000000000000e+00 6.6489654488793815e-01 6.8005331746677689e-01 6.0511733292619878e+00 1 -2 0 +1969 1 0.0000000000000000e+00 2.2519042250420865e-01 2.3552127969270917e+00 5.3534566557162568e+00 -4 -2 -6 +2566 1 0.0000000000000000e+00 5.5609865661584157e-01 1.6423912675436334e+00 7.3303805619772300e+00 -3 0 -4 +738 1 0.0000000000000000e+00 1.1192619066822129e+00 1.7246220796809886e+00 5.6292635147313588e+00 1 5 2 +861 1 0.0000000000000000e+00 1.6910065144202164e+00 1.7581855255746421e+00 7.3198823015096472e+00 -1 5 1 +215 1 0.0000000000000000e+00 1.0192308106968826e+00 2.1062971692443027e+00 5.0585151632198526e+00 3 1 -3 +2356 1 0.0000000000000000e+00 3.6538692410449630e-01 2.1179222714819154e-01 6.3860808227391939e+00 -1 1 1 +2176 1 0.0000000000000000e+00 3.9231816557397758e-01 2.5133178155170738e-01 7.2247335486940667e+00 5 3 5 +1286 1 0.0000000000000000e+00 8.8756984137023409e-01 2.8945182854800061e-01 5.6600812015239148e+00 -1 0 2 +1351 1 0.0000000000000000e+00 1.8092075901872451e+00 1.6224467383641712e+00 6.3495838247842098e+00 6 -2 -2 +2631 1 0.0000000000000000e+00 1.5683812515591620e+00 2.4569433035653163e+00 6.2366782498100308e+00 1 -2 -1 +2378 1 0.0000000000000000e+00 2.3698411829424382e-01 1.2604481246418124e+00 6.4047132466719248e+00 -1 -3 -5 +434 1 0.0000000000000000e+00 1.2140780935076789e+00 1.0262576372343934e+00 5.1313293037116576e+00 -6 6 3 +2425 1 0.0000000000000000e+00 5.2415426901268569e-01 4.8795430021086278e-01 6.7024766854728366e+00 -2 -3 2 +2004 1 0.0000000000000000e+00 2.0508654503558517e+00 5.3309762340005812e-02 6.4356282036507944e+00 4 -3 -2 +1021 1 0.0000000000000000e+00 1.4457994607455404e+00 2.4038122598204943e+00 7.3281798429633129e+00 -3 -7 3 +2260 1 0.0000000000000000e+00 1.1380276009421182e+00 1.0556736416945081e+00 6.8360332386991924e+00 7 2 -2 +2788 1 0.0000000000000000e+00 1.0946112464692281e+00 7.5056461489747250e-01 7.1836756005437907e+00 -1 -3 1 +1440 1 0.0000000000000000e+00 2.7574978301686331e-01 2.1641968363759090e+00 7.2815207148273977e+00 -1 -12 -4 +2777 1 0.0000000000000000e+00 2.3277613431356858e+00 9.4455979217175079e-01 5.6974871368361653e+00 1 4 7 +1457 1 0.0000000000000000e+00 1.7544182610600942e+00 1.4115202271807472e+00 5.2203454605701021e+00 -2 4 -4 +2859 2 -1.0000000000000000e+00 1.8701539455607556e+00 2.4650007985534677e+00 5.9157131901613917e+00 -2 4 2 +762 1 0.0000000000000000e+00 2.0901510058736067e-01 1.1975579841606947e+00 5.2876606800131061e+00 3 -3 -7 +1152 1 0.0000000000000000e+00 1.9831139816341457e+00 1.7488280040892930e+00 6.8553465079590143e+00 1 4 -1 +1437 1 0.0000000000000000e+00 1.2062716392391810e+00 1.6878641726426649e+00 7.0679075341387003e+00 -1 -3 -1 +2713 1 0.0000000000000000e+00 1.3511875756238032e+00 2.2476234257575132e+00 6.4641397609451730e+00 3 1 -2 +2696 1 0.0000000000000000e+00 6.2788630187024819e-01 1.2143172291703641e+00 7.4905791506867292e+00 -2 2 -2 +1562 1 0.0000000000000000e+00 2.4783647027388186e-01 1.3738677721312247e+00 5.9711902964739885e+00 -2 -5 -3 +2064 1 0.0000000000000000e+00 1.3565226653306028e+00 2.2010309903495054e-01 5.1061588497063157e+00 -1 -3 -2 +647 1 0.0000000000000000e+00 1.8904081467323599e+00 1.1100591079157887e+00 7.0681709579169762e+00 -1 -2 0 +2970 3 1.0000000000000000e+00 7.1957844974946839e-01 1.9271703706840710e+00 5.6001390351853733e+00 3 3 -2 +2903 3 1.0000000000000000e+00 1.6060271568021192e+00 4.8285168161378528e-01 6.5399527765091729e+00 5 5 -3 +2806 2 -1.0000000000000000e+00 2.0296605018087099e+00 2.0686221833866996e+00 5.0322660422184420e+00 10 -11 2 +2399 1 0.0000000000000000e+00 3.5128263435004001e+00 3.8746488352259245e-01 7.4426319545630095e+00 0 0 1 +509 1 0.0000000000000000e+00 4.2596249237297910e+00 2.1620091954796683e+00 5.3500602741476513e+00 3 1 1 +1136 1 0.0000000000000000e+00 4.6674934835710697e+00 2.0205105506163887e+00 7.3619882815842477e+00 6 4 -2 +2228 1 0.0000000000000000e+00 3.2125448191705908e+00 2.4867817760912230e+00 7.1978258149737320e+00 2 5 0 +1642 1 0.0000000000000000e+00 4.3382865064947493e+00 2.2035148836322005e+00 6.7866934128230749e+00 9 -2 0 +1319 1 0.0000000000000000e+00 4.9739936786988030e+00 5.1621002922217507e-01 5.5644052407513644e+00 -5 1 2 +1520 1 0.0000000000000000e+00 4.5826760543611709e+00 2.3907932643636434e+00 5.8372789132991230e+00 2 2 -1 +1574 1 0.0000000000000000e+00 4.5544055621606514e+00 6.2107822310201788e-01 6.5741067625735603e+00 -2 4 1 +2524 1 0.0000000000000000e+00 3.7405885243154104e+00 2.0037687282460137e+00 6.6051861848577937e+00 -1 3 2 +2856 2 -1.0000000000000000e+00 2.9970912386082120e+00 8.4710121639336367e-01 6.0498987508213045e+00 2 -1 -5 +1982 1 0.0000000000000000e+00 4.3926321760665132e+00 1.0593004044313465e+00 5.2238078997181470e+00 5 3 4 +2939 3 1.0000000000000000e+00 2.8647383646354969e+00 1.3785029130863709e+00 5.8666473346606587e+00 -4 1 1 +328 1 0.0000000000000000e+00 3.4794420280351677e+00 1.2171852417146423e+00 5.8901872463947180e+00 -2 -3 3 +1661 1 0.0000000000000000e+00 3.4416845289826230e+00 2.0559400167057005e+00 5.7909339615874602e+00 -1 1 -1 +658 1 0.0000000000000000e+00 2.7818929741766603e+00 9.1498258400468113e-01 6.7205784701235602e+00 4 0 -7 +2533 1 0.0000000000000000e+00 3.5894051582597810e+00 1.0353444777149670e+00 5.2706317644282965e+00 4 -2 1 +1248 1 0.0000000000000000e+00 3.4082017711395731e+00 7.3569975727540171e-01 6.6186491872097895e+00 2 -3 -2 +1663 1 0.0000000000000000e+00 3.7104279079727873e+00 1.5786597802217168e+00 6.9473350468784298e+00 0 -3 4 +1142 1 0.0000000000000000e+00 3.0412025051115048e+00 1.5482602585351474e-01 5.4903666159799291e+00 1 3 -1 +1175 1 0.0000000000000000e+00 3.8984507732603473e+00 1.9876849258122360e+00 7.2639893887506011e+00 2 3 2 +2421 1 0.0000000000000000e+00 3.8630237652680348e+00 7.0726858898118694e-01 5.3463530878238599e+00 0 1 1 +2659 1 0.0000000000000000e+00 3.4976743172575198e+00 4.5255889997802023e-01 5.5293173860255020e+00 -2 3 3 +634 1 0.0000000000000000e+00 3.2939032355559430e+00 2.1280180624978068e-01 6.8872133074434849e+00 -7 -5 2 +2710 1 0.0000000000000000e+00 4.1311465720630860e+00 1.2541161466910338e+00 6.3296578706127500e+00 -2 -1 1 +2341 1 0.0000000000000000e+00 2.5522813470061454e+00 1.6514807877690985e+00 6.7409509293204160e+00 0 0 -4 +583 1 0.0000000000000000e+00 2.7060576985860192e+00 1.8704422095887021e+00 7.2593357400659428e+00 3 4 -3 +2754 1 0.0000000000000000e+00 3.2440914104656922e+00 1.4990875768430119e+00 6.9456530466339323e+00 4 2 0 +1163 1 0.0000000000000000e+00 2.8151650123114567e+00 1.7056231486742599e+00 5.1791747863372359e+00 1 -2 -5 +2314 1 0.0000000000000000e+00 3.7362766655408670e+00 9.3108605369955993e-02 5.9920856647414711e+00 1 -3 -3 +1172 1 0.0000000000000000e+00 2.5427000405747586e+00 2.4242925481170507e+00 6.5441973637021391e+00 6 -2 2 +1625 1 0.0000000000000000e+00 3.2204331159485884e+00 1.0765600368856683e+00 7.3245274394994704e+00 4 3 0 +1204 1 0.0000000000000000e+00 2.8034996819666977e+00 3.9126223892778061e-01 7.1602062885097748e+00 2 3 -8 +2705 1 0.0000000000000000e+00 4.5863135922555163e+00 7.5494927750808105e-01 5.9498107640130646e+00 1 3 -1 +706 1 0.0000000000000000e+00 3.1698310330130939e+00 2.4946309867542769e+00 6.4784214120749981e+00 -1 -3 -2 +1419 1 0.0000000000000000e+00 3.8163746383627588e+00 7.0352070853294979e-01 6.6851876917098298e+00 0 1 0 +1752 1 0.0000000000000000e+00 2.5655105238032117e+00 6.9183604665523513e-01 5.1878330852755585e+00 -1 -1 -3 +2783 1 0.0000000000000000e+00 4.5903466196446825e+00 1.4246226241698481e+00 6.7495855505385158e+00 11 0 -1 +2968 3 1.0000000000000000e+00 4.3283440643030309e+00 1.9787788286639068e+00 5.9417316698734028e+00 0 -2 -4 +1222 1 0.0000000000000000e+00 4.4863949173760833e+00 6.8423348689737962e-01 7.2080222877413247e+00 -3 1 -7 +2678 1 0.0000000000000000e+00 2.9434781110551604e+00 2.3311004045153156e+00 5.7811783141757234e+00 -5 1 -6 +538 1 0.0000000000000000e+00 4.0094571489133095e+00 2.8466337053380059e-01 5.9844935257350409e+00 -1 1 -2 +482 1 0.0000000000000000e+00 4.9577438216810599e+00 1.8853684741286596e+00 7.2762597589146614e+00 3 3 2 +2544 1 0.0000000000000000e+00 4.2816404263279422e+00 1.4334752992238877e+00 5.4755669100120121e+00 3 -2 -2 +2548 1 0.0000000000000000e+00 3.9757114089071295e+00 6.5799916871504160e-01 7.2451322883612690e+00 4 -7 -3 +352 1 0.0000000000000000e+00 3.5031401633269748e+00 1.8309860698969600e+00 5.2198669011534600e+00 1 -2 2 +1315 1 0.0000000000000000e+00 4.1345566097702662e+00 2.3440619243804122e+00 5.0498244115450284e+00 1 -6 -1 +1018 1 0.0000000000000000e+00 2.7502363872649975e+00 3.7854199371381014e-03 6.0591167004448740e+00 6 -3 5 +1187 1 0.0000000000000000e+00 1.9412036373230628e+00 2.5016999355429972e+00 7.1662045497800877e+00 -2 1 0 +1516 1 0.0000000000000000e+00 4.7896530281157940e-01 3.5289777166607235e+00 7.1651168917181112e+00 2 -1 -7 +862 1 0.0000000000000000e+00 1.0635535372067224e+00 4.1656149441972792e+00 6.7205737990214702e+00 1 0 -2 +2155 1 0.0000000000000000e+00 1.0812114724421678e+00 4.8522786543419940e+00 7.4268994267101096e+00 6 1 6 +2772 1 0.0000000000000000e+00 9.1648743235133445e-01 4.6285121206472031e+00 5.2349943210506629e+00 -3 -4 0 +2698 1 0.0000000000000000e+00 1.9445712193127063e+00 2.9080025501384301e+00 6.6473935009963157e+00 -2 3 5 +205 1 0.0000000000000000e+00 8.7288666680886684e-01 4.3166382723587349e+00 6.9610624616788019e+00 -5 -2 1 +221 1 0.0000000000000000e+00 9.5213177536059346e-01 3.8635347835233640e+00 7.2822683750183996e+00 3 5 2 +110 1 0.0000000000000000e+00 2.9170821091931259e-01 3.3540355608409942e+00 7.3602812239520716e+00 10 -1 12 +2649 1 0.0000000000000000e+00 8.0643032773850831e-01 4.9876194332280930e+00 6.3590121880193466e+00 3 -2 2 +591 1 0.0000000000000000e+00 2.2798370493162387e-01 2.5704382565763382e+00 6.9876611037193470e+00 5 -4 -5 +1069 1 0.0000000000000000e+00 7.1498321797544795e-01 4.5962957817576289e+00 6.0611954387599321e+00 2 -1 4 +2751 1 0.0000000000000000e+00 8.2408811645618385e-01 3.8820025114202887e+00 5.3445589110804512e+00 -4 2 8 +1887 1 0.0000000000000000e+00 8.8915969287527097e-01 2.9039829350045037e+00 6.3656764096090601e+00 6 0 5 +2964 3 1.0000000000000000e+00 1.9704070293171720e+00 3.1921619869666888e+00 7.4424954525902631e+00 4 -3 -3 +1666 1 0.0000000000000000e+00 3.6670855931056051e-01 4.0828485996226744e+00 6.1143974458875823e+00 -1 1 -2 +2259 1 0.0000000000000000e+00 9.3501650701399860e-02 4.3978769473063313e+00 6.8877188357682186e+00 2 5 -5 +445 1 0.0000000000000000e+00 2.2650844232095793e+00 3.7558393548002957e+00 6.4384483453544208e+00 1 2 -4 +2862 2 -1.0000000000000000e+00 1.6555824775334447e+00 3.5164803427208455e+00 6.9120844284312337e+00 -1 -9 -4 +1200 1 0.0000000000000000e+00 3.9192980713342807e-01 2.7668102593525150e+00 6.0622062237641687e+00 0 -4 2 +2503 1 0.0000000000000000e+00 1.9422402582865796e+00 3.7511287586264599e+00 5.6031770471462918e+00 0 1 2 +1376 1 0.0000000000000000e+00 1.3659079448710085e+00 3.7198007601087144e+00 5.9939014642169166e+00 11 -7 4 +2082 1 0.0000000000000000e+00 6.5063716625412923e-02 4.9396193749075126e+00 5.9605354605007426e+00 1 1 -1 +2810 2 -1.0000000000000000e+00 2.0211445786816946e+00 4.6468393035996112e+00 5.1953634660191756e+00 -4 3 -3 +481 1 0.0000000000000000e+00 2.0941928886156558e+00 3.2986274016947648e+00 5.1484653480099363e+00 3 2 3 +2419 1 0.0000000000000000e+00 1.9090631460025713e+00 3.3853397819477351e+00 6.4026877266127622e+00 7 2 1 +2828 2 -1.0000000000000000e+00 2.1593740464153641e+00 4.3330653254317353e+00 5.2414676434470211e+00 -9 4 0 +1821 1 0.0000000000000000e+00 5.9867288114208472e-01 2.9615390209797932e+00 5.4601787296586481e+00 -1 -4 5 +1536 1 0.0000000000000000e+00 8.8018920620112640e-01 3.2310465661741929e+00 6.6373881416679126e+00 -2 -3 4 +562 1 0.0000000000000000e+00 4.1437895756703702e-01 3.6577838903440925e+00 6.4512406660861670e+00 0 -2 3 +521 1 0.0000000000000000e+00 2.1373122496173065e+00 4.5523951015512658e+00 6.1208753543215773e+00 3 2 -1 +58 1 0.0000000000000000e+00 9.6091053782638836e-01 3.6286016157339627e+00 5.7955280960255156e+00 1 1 -2 +776 1 0.0000000000000000e+00 2.3741645897153809e+00 4.5761270605663595e+00 7.0436254961436289e+00 1 1 -1 +303 1 0.0000000000000000e+00 2.4896868960824321e+00 4.0413312528980070e+00 5.8503620308861768e+00 -2 1 -7 +2039 1 0.0000000000000000e+00 1.1476039710776496e+00 4.0876518305626224e+00 6.1567511503674188e+00 5 -3 -2 +1612 1 0.0000000000000000e+00 1.1274720529567848e+00 2.7680073821888969e+00 5.5249738215034991e+00 0 6 -2 +785 1 0.0000000000000000e+00 1.7645536076442490e+00 4.4051672322413200e+00 7.0604426187765057e+00 0 2 4 +2121 1 0.0000000000000000e+00 8.0417432378390985e-01 3.8632660054981454e+00 5.0463099865275645e+00 7 3 2 +1778 1 0.0000000000000000e+00 1.0352185208645095e+00 2.9758702355996829e+00 7.1093877887228780e+00 -3 -4 2 +816 1 0.0000000000000000e+00 1.3271142755168908e+00 4.6140016879709362e+00 5.4952000100625513e+00 -1 2 8 +2370 1 0.0000000000000000e+00 2.3686939922499430e+00 3.9764774812617087e+00 7.2312166697744189e+00 -1 -1 -11 +788 1 0.0000000000000000e+00 2.2403277116635687e+00 4.9495466959530932e+00 6.2761815468255042e+00 -2 4 1 +2032 1 0.0000000000000000e+00 1.7751001939481827e+00 4.2500423175581368e+00 6.2044187808548985e+00 3 3 4 +2127 1 0.0000000000000000e+00 2.1203134238635615e-01 4.8929701346007368e+00 6.8947466490814628e+00 2 1 0 +1276 1 0.0000000000000000e+00 2.3777676581786102e+00 2.6419504285832613e+00 5.9465073307187186e+00 4 1 5 +2872 2 -1.0000000000000000e+00 1.4263119205451420e+00 4.7120224775416419e+00 6.6748157643075317e+00 -2 -2 0 +1469 1 0.0000000000000000e+00 1.5410752005337245e+00 3.1670838553559788e+00 6.0155709376695770e+00 4 1 1 +577 1 0.0000000000000000e+00 1.4761191046974487e+00 3.4564474621519397e+00 5.0732599077524396e+00 3 0 2 +2068 1 0.0000000000000000e+00 1.5058997643216640e-01 4.1196597266187860e+00 5.0428608261326477e+00 0 3 -1 +340 1 0.0000000000000000e+00 2.2862150387510383e-03 3.7101673945655276e+00 5.7268275387259786e+00 -3 -3 -1 +2152 1 0.0000000000000000e+00 3.4946015202217935e+00 3.0387847023295773e+00 5.8054188567882461e+00 1 3 -1 +370 1 0.0000000000000000e+00 4.6533427151757634e+00 4.8642017020650874e+00 7.2551011649826487e+00 -5 -3 1 +2413 1 0.0000000000000000e+00 2.7249888000869573e+00 3.2077299018706520e+00 6.7245122772765713e+00 2 2 -1 +1388 1 0.0000000000000000e+00 2.8794664536615628e+00 3.0544839767974565e+00 5.5613196633094955e+00 4 -2 -9 +2993 3 1.0000000000000000e+00 3.9937454515290178e+00 4.3171045321529213e+00 5.0218763234157606e+00 -4 2 1 +2496 1 0.0000000000000000e+00 4.3687953219368740e+00 2.6632062441459476e+00 6.9728072425810517e+00 -1 5 0 +2232 1 0.0000000000000000e+00 4.7936832088225190e+00 3.9295043633156044e+00 5.3002917875821600e+00 2 -1 -3 +2600 1 0.0000000000000000e+00 4.6490458281147289e+00 4.2965284204307750e+00 6.8737703047289793e+00 4 0 0 +947 1 0.0000000000000000e+00 4.8030462044637234e+00 2.6892543811781322e+00 6.3127030117663212e+00 5 5 0 +974 1 0.0000000000000000e+00 2.9000887277721410e+00 3.7019064735309057e+00 6.8240130480542778e+00 4 5 4 +1892 1 0.0000000000000000e+00 3.7943695753161655e+00 4.4031261561149693e+00 6.8979073211454374e+00 4 1 -1 +507 1 0.0000000000000000e+00 3.7873019188210564e+00 2.7953781574180230e+00 7.1195958542517088e+00 -1 1 -5 +674 1 0.0000000000000000e+00 3.6226973783750465e+00 2.8705749963042537e+00 5.3837966236316745e+00 -6 2 1 +1045 1 0.0000000000000000e+00 3.6858809976925433e+00 4.0280429363491832e+00 6.3149142394343007e+00 3 -4 2 +1499 1 0.0000000000000000e+00 4.2388266811689386e+00 4.9485490518278477e+00 7.1976327302593406e+00 -5 -3 1 +2871 2 -1.0000000000000000e+00 4.4889186350850885e+00 3.4121425215509658e+00 5.1405388811977550e+00 2 5 1 +1862 1 0.0000000000000000e+00 4.1267524255671288e+00 3.4400209340127099e+00 6.6020365190249928e+00 0 0 -3 +1292 1 0.0000000000000000e+00 3.0004920016458407e+00 3.7416366930059404e+00 5.0399747283333758e+00 5 1 0 +124 1 0.0000000000000000e+00 3.9507688231878464e+00 2.5923993258197382e+00 5.8951787426867135e+00 2 5 1 +1114 1 0.0000000000000000e+00 4.8609258813191012e+00 3.4101354674524309e+00 5.9908690581992259e+00 -4 1 -2 +1566 1 0.0000000000000000e+00 2.8781924140167163e+00 3.3443546212728537e+00 5.9971682603749752e+00 0 -1 3 +960 1 0.0000000000000000e+00 3.7828816511040677e+00 4.5202809615830368e+00 5.5078498981905772e+00 -1 -1 -2 +1532 1 0.0000000000000000e+00 4.5510704127940746e+00 3.8206676576526801e+00 6.0582918108051000e+00 0 1 -2 +2883 2 -1.0000000000000000e+00 2.7322711437982616e+00 4.9860882543955372e+00 5.5749401268725300e+00 0 4 -2 +542 1 0.0000000000000000e+00 3.8084709831145900e+00 4.4751296891168852e+00 6.4352442192114347e+00 1 -5 2 +1226 1 0.0000000000000000e+00 2.9947270082559756e+00 4.1883857212251030e+00 6.4234085314825036e+00 -3 -1 3 +889 1 0.0000000000000000e+00 2.8137686158754578e+00 4.3193589746883427e+00 5.4022187701441018e+00 1 0 3 +2910 3 1.0000000000000000e+00 3.6132218213063809e+00 3.5131760202773723e+00 7.2620100901452602e+00 1 -4 2 +1137 1 0.0000000000000000e+00 4.9293960286207987e+00 2.5803132719883832e+00 5.3734475081683275e+00 -4 2 -5 +800 1 0.0000000000000000e+00 2.9494021648476019e+00 2.7972670195138418e+00 7.1513653137009676e+00 3 0 -4 +904 1 0.0000000000000000e+00 4.4173146698770873e+00 3.4263916343988643e+00 7.0327404129218065e+00 1 -5 8 +1895 1 0.0000000000000000e+00 4.7989899664737754e+00 3.3983532384261017e+00 7.4372704685002331e+00 -1 1 -4 +522 1 0.0000000000000000e+00 4.2889821882958783e+00 4.6828370862239872e+00 6.0801544083774530e+00 -1 -1 -10 +1230 1 0.0000000000000000e+00 4.2164341204586488e+00 3.1178558996638439e+00 5.5898629904076902e+00 -1 1 0 +897 1 0.0000000000000000e+00 3.6720340271773964e+00 2.7830890137186253e+00 6.5089565591333658e+00 -3 1 0 +2604 1 0.0000000000000000e+00 4.2268391995726269e+00 3.8304438329844639e+00 6.7995505739904409e+00 -5 -3 6 +923 1 0.0000000000000000e+00 4.3969646259855493e+00 4.3129310763972990e+00 6.2457399495634576e+00 3 2 -1 +301 1 0.0000000000000000e+00 4.8249418096325236e+00 4.7546005509737155e+00 6.7421145218652834e+00 -1 -5 1 +2025 1 0.0000000000000000e+00 3.1759641440525606e+00 4.4244442926253997e+00 5.8106545223135910e+00 1 0 -3 +1884 1 0.0000000000000000e+00 3.7733472564287815e+00 3.8981668567128636e+00 5.6393657169453144e+00 0 1 2 +2140 1 0.0000000000000000e+00 3.2362463936689898e+00 4.6342092064303735e+00 7.0138704757203794e+00 -4 1 -1 +1253 1 0.0000000000000000e+00 2.5979635139738675e+00 2.6642713661276902e+00 5.1127393951805651e+00 -4 1 5 +2750 1 0.0000000000000000e+00 4.5573745739605975e+00 4.5574766190027907e+00 5.5245543410718767e+00 0 -4 1 +1722 1 0.0000000000000000e+00 3.8313288912857608e+00 4.3864815938235218e+00 7.3673958211512396e+00 3 8 3 +2423 1 0.0000000000000000e+00 4.0846690682289237e+00 3.5742203100531875e+00 5.0688373183902753e+00 0 3 -3 +1653 1 0.0000000000000000e+00 2.6383343432082489e+00 4.9584695937108156e+00 6.5258741241126037e+00 -1 -6 1 +1676 1 0.0000000000000000e+00 2.9355509902398818e+00 4.1342860421023566e+00 7.4486392558539185e+00 -11 -4 -2 +2602 1 0.0000000000000000e+00 3.4404078749458167e+00 4.1004580250533333e+00 5.0074988069186048e+00 -6 1 -1 +15 1 0.0000000000000000e+00 3.6670113336595966e-01 2.3093519131120677e-01 8.4681971017392303e+00 0 0 3 +1223 1 0.0000000000000000e+00 1.4511029519630800e+00 1.2646449306456600e+00 8.5777260402761328e+00 0 7 -3 +2467 1 0.0000000000000000e+00 2.2945708906855580e+00 1.6340614291894590e-01 8.0738462556685118e+00 -1 2 -2 +2892 2 -1.0000000000000000e+00 1.3047241130532297e+00 1.9731706485776672e+00 9.3502859265170049e+00 3 -5 -6 +223 1 0.0000000000000000e+00 2.0325884501154352e+00 5.7322788611219888e-01 8.9037631032565319e+00 -5 -5 -5 +61 1 0.0000000000000000e+00 1.8674145510663731e-01 1.9213834624503614e+00 8.5900344768326740e+00 3 2 -2 +1729 1 0.0000000000000000e+00 8.4417858690300429e-01 2.2233384592788724e-01 9.4525044155584315e+00 1 0 4 +1210 1 0.0000000000000000e+00 1.9494321645984458e+00 1.4329979945410642e+00 9.2765784747062074e+00 3 -6 -1 +475 1 0.0000000000000000e+00 1.4709527613650955e+00 4.6361736707248596e-01 9.3027178736229850e+00 1 -5 2 +2256 1 0.0000000000000000e+00 2.1644533678994229e+00 4.8287678348932528e-01 7.6981604341125633e+00 -3 7 -2 +2001 1 0.0000000000000000e+00 1.8484807253090827e+00 1.7116203377495054e-01 8.7246263703351605e+00 -2 -1 1 +1306 1 0.0000000000000000e+00 3.3354928986436716e-01 1.9986346354407423e+00 9.7100908088947904e+00 5 1 5 +1950 1 0.0000000000000000e+00 5.9941438702753491e-01 2.3122672710575003e+00 8.5931398095323441e+00 5 -2 -2 +2204 1 0.0000000000000000e+00 2.1146435457828492e+00 9.9304268505948712e-01 9.3633504613890359e+00 1 3 -1 +2971 3 1.0000000000000000e+00 3.1189652135033441e-02 1.1187862576940132e-01 7.7384606949720869e+00 -3 7 1 +790 1 0.0000000000000000e+00 1.7889756425968963e+00 1.8694845228263517e+00 8.6237252227391537e+00 -3 11 -1 +1693 1 0.0000000000000000e+00 3.3075094251601705e-01 1.2071122602517819e+00 9.5759542232875994e+00 -2 -5 1 +1544 1 0.0000000000000000e+00 4.3727257988756707e-01 1.6943243397428245e+00 7.8495083389740028e+00 -4 0 -5 +501 1 0.0000000000000000e+00 1.4734315469506742e+00 2.4747354813782219e-01 7.8370959670196463e+00 1 0 2 +412 1 0.0000000000000000e+00 2.2979410744307485e+00 3.7231184902312436e-01 9.6328416851830472e+00 -1 8 0 +2742 1 0.0000000000000000e+00 1.5360172805140626e+00 6.6401955223774978e-01 8.4122999599769308e+00 -1 0 2 +202 1 0.0000000000000000e+00 1.0594127383843182e+00 6.8401896653074812e-01 9.1051331775286251e+00 6 -3 -5 +1485 1 0.0000000000000000e+00 1.9056374397730127e+00 1.1332968948122273e+00 7.8779168771449930e+00 -2 0 -3 +2407 1 0.0000000000000000e+00 8.1914147210112545e-02 5.7881124629631664e-01 9.7552050910886781e+00 3 -6 -3 +995 1 0.0000000000000000e+00 1.2725046165173082e+00 1.4363398557037488e+00 9.7814959861345532e+00 5 0 4 +2422 1 0.0000000000000000e+00 1.9746731940677881e-01 2.4643801422251577e+00 7.8111117522020175e+00 4 -1 0 +718 1 0.0000000000000000e+00 1.9556799491357020e+00 1.5663434972760859e+00 7.9622024205552782e+00 1 2 0 +1300 1 0.0000000000000000e+00 2.2937792256731591e+00 1.0790760827096679e+00 8.8904017812971841e+00 -5 -1 5 +2581 1 0.0000000000000000e+00 1.7943843547633294e-02 2.4531085275260478e-01 8.9353192339838614e+00 2 7 -1 +2648 1 0.0000000000000000e+00 1.0238668034089597e+00 2.2677930512124318e+00 7.7995812434730487e+00 4 2 2 +2302 1 0.0000000000000000e+00 8.9691091172572901e-02 1.1106770657708049e+00 8.2111556728821444e+00 -5 -5 -3 +514 1 0.0000000000000000e+00 6.7880927441697581e-01 6.2142294763871320e-01 7.9577737590138931e+00 -3 1 -3 +1060 1 0.0000000000000000e+00 6.4689416743901773e-01 6.3810089704885664e-02 7.8884820716990571e+00 0 0 -1 +865 1 0.0000000000000000e+00 9.9026762355225417e-01 1.6595211858578376e+00 8.8421526512964093e+00 -2 0 6 +2736 1 0.0000000000000000e+00 2.3333241026108373e+00 1.9378583670121199e+00 9.5217538013216600e+00 1 1 -4 +1331 1 0.0000000000000000e+00 1.2364814953720542e+00 1.1071571413437173e+00 7.8590582134367200e+00 5 -2 -1 +2598 1 0.0000000000000000e+00 8.4936376114169898e-01 1.7102498037106624e+00 8.1268716139908648e+00 4 -5 -6 +2430 1 0.0000000000000000e+00 7.9042235618615342e-01 9.3556570169984299e-01 8.6531845722838412e+00 0 2 -2 +2050 1 0.0000000000000000e+00 1.6226386989360297e+00 1.9377402279241294e+00 8.2156203599764321e+00 0 -3 1 +375 1 0.0000000000000000e+00 8.2644244026765443e-02 2.2154100852860603e+00 9.3376386372693485e+00 5 -2 6 +2022 1 0.0000000000000000e+00 4.0413406957145936e-01 1.2778068353422503e+00 8.9316297696661682e+00 -4 -5 1 +927 1 0.0000000000000000e+00 2.4785946570475206e+00 1.7970829996570732e+00 8.8966909851224116e+00 2 1 -2 +1920 1 0.0000000000000000e+00 1.8717026962568708e+00 2.3594128075063856e+00 9.1877055211364489e+00 -7 3 -4 +2647 1 0.0000000000000000e+00 6.5018795684142006e-01 1.0851205762467675e+00 9.7451729587840212e+00 1 -1 -3 +1346 1 0.0000000000000000e+00 1.3714779464147580e+00 2.3536847523332156e+00 9.9452600867057406e+00 1 1 1 +2416 1 0.0000000000000000e+00 7.8115536966268850e-01 2.2525609012654031e+00 9.9408122367029819e+00 -2 2 1 +1687 1 0.0000000000000000e+00 1.3713216522233944e+00 7.6340647940074546e-01 9.9899250378845554e+00 -1 -2 -4 +695 1 0.0000000000000000e+00 4.3120130495616289e+00 1.3421496290579067e+00 7.6014281207428018e+00 -2 3 -1 +2552 1 0.0000000000000000e+00 2.5318895122186631e+00 9.9486323136339527e-01 7.6636689559140070e+00 6 2 1 +2401 1 0.0000000000000000e+00 4.1249580828315544e+00 1.3808112363911211e+00 8.6667509211358205e+00 -1 3 1 +2415 1 0.0000000000000000e+00 3.5920960194373079e+00 1.4526863665015568e+00 9.7026270544481168e+00 3 4 0 +682 1 0.0000000000000000e+00 3.8410383388928926e+00 2.2870165529220339e+00 9.7711696532761465e+00 1 3 -4 +1564 1 0.0000000000000000e+00 4.3438523230791377e+00 1.7823757455326408e+00 9.4783995357078847e+00 -6 -6 8 +1497 1 0.0000000000000000e+00 3.4974701890808353e+00 7.5581378364743967e-01 8.8772972565716426e+00 4 1 -1 +2625 1 0.0000000000000000e+00 2.7286184903140511e+00 1.0504190193854110e+00 9.1873330371999256e+00 -5 4 -1 +832 1 0.0000000000000000e+00 4.3047943828342055e+00 5.8830503497397169e-01 8.3146210320824512e+00 -2 9 -7 +1278 1 0.0000000000000000e+00 3.9223186116817885e+00 7.9051083716602877e-01 8.9993719233224834e+00 -2 -2 7 +850 1 0.0000000000000000e+00 2.7124410237646606e+00 1.0159258151361958e+00 8.2578579456094623e+00 -4 -4 0 +420 1 0.0000000000000000e+00 3.6358570341675027e+00 4.3338977725984290e-01 7.9489789907718809e+00 5 -1 6 +2895 2 -1.0000000000000000e+00 3.9737818721011302e+00 1.6918833313582933e+00 9.1311221977226591e+00 -3 -2 0 +523 1 0.0000000000000000e+00 2.9058948350753280e+00 1.5360850608530097e+00 9.3347316227016179e+00 0 5 -2 +1393 1 0.0000000000000000e+00 3.0749623613980788e+00 7.6671450825549403e-01 9.0942726418683328e+00 -5 6 1 +1227 1 0.0000000000000000e+00 3.9617236520498271e+00 1.3915899579879565e+00 7.8967080839140049e+00 7 4 -3 +714 1 0.0000000000000000e+00 2.5116640961621699e+00 1.9579136973572224e+00 7.8808306451751466e+00 1 1 -3 +2514 1 0.0000000000000000e+00 4.5322707787785266e+00 1.2541226141342759e-01 9.3385452635319535e+00 1 3 8 +2088 1 0.0000000000000000e+00 4.7029739565189912e+00 6.9400998783577306e-01 9.3288461835562337e+00 2 3 2 +1447 1 0.0000000000000000e+00 2.9003872423109822e+00 1.1749948107325857e-01 8.5579371251680652e+00 4 1 2 +468 1 0.0000000000000000e+00 2.7047018659096222e+00 2.1448595844756033e+00 9.6352682957943454e+00 -3 -3 3 +2519 1 0.0000000000000000e+00 4.8754627675623130e+00 2.4381558456950416e+00 9.2348263596467479e+00 -3 0 2 +1371 1 0.0000000000000000e+00 4.4413266432556462e+00 2.4650956703538931e+00 9.3204991131990429e+00 -3 -6 -4 +1553 1 0.0000000000000000e+00 3.7725624534154250e+00 2.3770821101943254e+00 8.8397438609146288e+00 -3 -3 -1 +588 1 0.0000000000000000e+00 4.5895352697921767e+00 1.0325410480529928e-01 7.8790202764444714e+00 -7 -1 0 +2289 1 0.0000000000000000e+00 3.5549860796561896e+00 1.5969643645461562e+00 7.8226294267786232e+00 0 -1 0 +2466 1 0.0000000000000000e+00 4.4461519186944614e+00 2.4780592770273069e+00 8.7785495843716799e+00 4 8 -2 +701 1 0.0000000000000000e+00 4.2090397914335549e+00 1.9418075659308067e+00 8.0853645300523134e+00 4 2 -4 +2114 1 0.0000000000000000e+00 3.0834248978921734e+00 1.0944166773440343e-01 7.7234294442338935e+00 4 -5 5 +246 1 0.0000000000000000e+00 4.7366191436784240e+00 1.6289627733972498e+00 8.7744281873953600e+00 -3 -1 5 +2216 1 0.0000000000000000e+00 4.5372227420183000e+00 7.6531577268133533e-02 8.6018190569765185e+00 -2 5 2 +2912 3 1.0000000000000000e+00 4.1086576739594447e+00 9.3729884916294481e-01 9.7440979041593181e+00 0 2 -4 +1804 1 0.0000000000000000e+00 2.7023241692386537e+00 6.9873120567941316e-01 8.5113879234242624e+00 4 -7 1 +1986 1 0.0000000000000000e+00 2.8707297710953110e+00 2.6085241859018730e-02 9.1273066296021650e+00 1 1 3 +708 1 0.0000000000000000e+00 4.2095228254073822e+00 2.3867177447995642e+00 8.0670673923623202e+00 1 -1 -3 +1509 1 0.0000000000000000e+00 2.8457007715693474e+00 1.7888960819982862e+00 8.0186486710790223e+00 2 5 8 +312 1 0.0000000000000000e+00 3.8340243992283511e+00 6.9326039660089744e-01 8.1925697405973068e+00 4 4 5 +2438 1 0.0000000000000000e+00 3.5563793593286488e+00 2.3417947015310010e+00 7.9789946716299252e+00 -4 1 -1 +1914 1 0.0000000000000000e+00 4.7498869425826991e+00 1.3073128197303479e+00 8.5447282541792475e+00 4 1 0 +2836 2 -1.0000000000000000e+00 3.1942605078444686e+00 2.2284055809721273e+00 9.0470998448908073e+00 -5 -1 3 +77 1 0.0000000000000000e+00 3.6671421652072675e+00 1.7914479516908639e+00 8.7540794348810902e+00 -1 2 -7 +2956 3 1.0000000000000000e+00 4.7804566673146960e+00 1.7942320598503192e+00 9.5098110792510280e+00 0 0 -6 +2984 3 1.0000000000000000e+00 3.2922259025567389e+00 2.1731434577014355e+00 8.2237245979538134e+00 0 4 0 +1431 1 0.0000000000000000e+00 3.2725882309346108e+00 1.2812404119170222e+00 8.6359163859649186e+00 -4 4 5 +96 1 0.0000000000000000e+00 3.5205618553914286e+00 2.4800626459413308e-01 9.6164885479944413e+00 0 1 -1 +2076 1 0.0000000000000000e+00 4.7243172879355564e+00 7.9853284832299642e-01 7.6980931073785790e+00 4 -4 -2 +436 1 0.0000000000000000e+00 3.1280188831705793e+00 1.1850926187471176e+00 7.8749782739606786e+00 2 0 1 +1546 1 0.0000000000000000e+00 2.0631785328603836e+00 2.6031797981421465e+00 8.2999841001193460e+00 3 -3 6 +101 1 0.0000000000000000e+00 1.4172805140492366e+00 4.1788435415988081e+00 9.2991721864502814e+00 3 3 -3 +1646 1 0.0000000000000000e+00 8.0029098042214730e-01 3.3375234608878914e+00 8.2337167006411960e+00 3 6 -1 +400 1 0.0000000000000000e+00 3.5872124733229255e-01 3.5748401778058376e+00 9.8139649073910284e+00 6 -4 -2 +1000 1 0.0000000000000000e+00 7.9340886679712053e-01 4.2568395846350846e+00 8.0087227781772494e+00 4 -1 1 +2331 1 0.0000000000000000e+00 1.4966584866974602e+00 4.1600218092314725e+00 8.5892315727773134e+00 4 -1 2 +190 1 0.0000000000000000e+00 6.3101219218845939e-01 4.0359257022523876e+00 9.6072946457102155e+00 0 -4 0 +2252 1 0.0000000000000000e+00 1.0165511216212433e+00 3.7643184651086257e+00 8.5847557566550865e+00 -3 -2 3 +1853 1 0.0000000000000000e+00 8.4470816004196281e-01 4.8791119039031781e+00 8.2882136006456673e+00 5 -4 -1 +2080 1 0.0000000000000000e+00 1.0314109153501261e+00 2.5398106711440698e+00 8.6620761332157592e+00 -3 1 3 +2908 3 1.0000000000000000e+00 2.0539286640189558e+00 3.6467453744329479e+00 9.3421014836061982e+00 0 -7 -2 +570 1 0.0000000000000000e+00 2.3975487264794069e+00 4.4343327815691334e+00 8.1897875076273916e+00 1 -2 -1 +1909 1 0.0000000000000000e+00 1.3556707223704332e+00 3.7351421125567570e+00 7.9508254610267173e+00 2 -4 -4 +2273 1 0.0000000000000000e+00 2.1502201785931887e+00 4.8225470814389579e+00 8.5972039893991283e+00 2 4 -2 +1829 1 0.0000000000000000e+00 5.2529011422157224e-01 4.3608602707368052e+00 8.9971884632207164e+00 2 -3 1 +906 1 0.0000000000000000e+00 1.1691207142799670e-01 2.5088363060666072e+00 8.5873304318964774e+00 5 -4 -4 +1696 1 0.0000000000000000e+00 1.5726723614635960e+00 3.7943151616044770e+00 8.5154722308567994e+00 6 -2 1 +556 1 0.0000000000000000e+00 1.6437363337237820e+00 2.7466203341023303e+00 9.1047984949477634e+00 -3 -6 -1 +586 1 0.0000000000000000e+00 1.4250091182116171e+00 4.9393272349989807e+00 8.3149951871737731e+00 -5 0 3 +1308 1 0.0000000000000000e+00 2.2489153840467138e+00 4.8054273336507238e+00 9.6674060783890283e+00 3 -3 -3 +675 1 0.0000000000000000e+00 1.1590808132966972e+00 3.1403430350017820e+00 8.9682645372675793e+00 0 -3 -1 +1463 1 0.0000000000000000e+00 1.9581659341900948e-01 4.4031161202136930e+00 8.0624531169149289e+00 1 -2 -1 +1832 1 0.0000000000000000e+00 1.2890844292795349e+00 3.1984834281332630e+00 9.4676575439819732e+00 2 6 -1 +572 1 0.0000000000000000e+00 2.8222534843621094e-01 3.8304365059100571e+00 8.5558751309586025e+00 5 3 3 +1270 1 0.0000000000000000e+00 2.0721560226725382e+00 4.4363520519038628e+00 8.9988297407422255e+00 -1 2 -2 +922 1 0.0000000000000000e+00 1.1604545969419715e+00 4.9546923453349230e+00 9.7003993763655565e+00 -1 -2 0 +683 1 0.0000000000000000e+00 1.5173818326164485e+00 4.7758559082351768e+00 8.7946933842512784e+00 -4 -2 -2 +387 1 0.0000000000000000e+00 2.3495967796237660e+00 2.5254624098172185e+00 8.8515643747063777e+00 2 1 0 +2900 2 -1.0000000000000000e+00 2.3857395649606188e+00 2.7351555416089894e+00 9.6251355991407799e+00 -2 3 2 +1077 1 0.0000000000000000e+00 4.4438269766369948e-01 4.1894248293946150e+00 7.5724436366228733e+00 1 5 -5 +2901 2 -1.0000000000000000e+00 2.1910381714077505e+00 3.2505577257756397e+00 8.2964933016331948e+00 -5 0 2 +2902 2 -1.0000000000000000e+00 3.0532091545847595e-01 3.0518581255128980e+00 9.8980295350507035e+00 0 5 -1 +2402 1 0.0000000000000000e+00 1.6276027580018089e+00 3.6060720339657237e+00 9.5214948101196910e+00 6 4 3 +526 1 0.0000000000000000e+00 1.6262025503456610e+00 2.5798609943423649e+00 8.3652023941368139e+00 -1 -3 1 +38 1 0.0000000000000000e+00 6.0259848885678857e-01 3.9440898262362034e+00 9.2006985780355368e+00 0 -2 -2 +681 1 0.0000000000000000e+00 2.4749061800179675e+00 2.7599082191889712e+00 8.3499910665736401e+00 4 -2 -1 +1032 1 0.0000000000000000e+00 1.8633439475171250e+00 4.2798857329840052e+00 9.8664418521071013e+00 -3 6 -4 +2452 1 0.0000000000000000e+00 9.4667997916285807e-01 3.1825986959524672e+00 7.7569678572394274e+00 4 -3 -1 +5 1 0.0000000000000000e+00 2.1461619107725145e+00 2.5186943592816826e+00 7.7823681789251511e+00 -4 -5 9 +1258 1 0.0000000000000000e+00 1.4891481280785503e+00 3.0542173899653000e+00 7.9079785206660675e+00 0 -2 -2 +469 1 0.0000000000000000e+00 2.3517208325700580e+00 3.7764864960295821e+00 7.7816389962550172e+00 -3 6 -4 +2759 1 0.0000000000000000e+00 3.4797438562630340e-01 2.9286917895173485e+00 9.2570451013766331e+00 -2 -2 2 +6 1 0.0000000000000000e+00 7.4923152648123237e-01 4.8234275226294683e+00 8.8205839252928993e+00 5 -3 -2 +818 1 0.0000000000000000e+00 1.8693395603134386e+00 4.4320859271066837e+00 7.9612866307463142e+00 6 1 -1 +964 1 0.0000000000000000e+00 3.2254292740626167e-01 3.1324664691241972e+00 8.0636487417513489e+00 0 2 3 +2120 1 0.0000000000000000e+00 8.5061556229019536e-02 3.7089628279116900e+00 7.8196665267504670e+00 -1 -2 1 +2979 3 1.0000000000000000e+00 1.4795956647642352e+00 4.0699792289984780e+00 7.5672744721210199e+00 -5 -6 -1 +2860 2 -1.0000000000000000e+00 7.2735507000432090e-02 2.7453864057970425e+00 8.4346157198482583e+00 0 -4 -3 +1421 1 0.0000000000000000e+00 2.2220818618154596e+00 4.9900084233095789e+00 9.7035048136173820e+00 -1 -1 4 +704 1 0.0000000000000000e+00 3.2152960703207301e+00 4.8322922348485928e+00 8.2034833802887039e+00 1 2 -3 +28 1 0.0000000000000000e+00 4.4213844429615898e+00 4.1110893133570814e+00 8.4137232771370503e+00 0 3 -3 +296 1 0.0000000000000000e+00 3.8343931185184652e+00 4.4688001767438958e+00 8.5351401353470937e+00 -3 1 1 +79 1 0.0000000000000000e+00 3.1725509192204111e+00 4.6488555362718476e+00 8.4202433235003813e+00 0 1 2 +868 1 0.0000000000000000e+00 2.9393117789916632e+00 4.0634542732312724e+00 9.2548275208408022e+00 0 3 -4 +1205 1 0.0000000000000000e+00 4.5708584103570251e+00 3.1467023508498202e+00 8.6879846774769085e+00 0 -1 6 +1126 1 0.0000000000000000e+00 3.5598334032347903e+00 4.3464386095144629e+00 9.0466885707868236e+00 -2 1 5 +2782 1 0.0000000000000000e+00 3.9539685713026853e+00 3.3955874148269833e+00 8.7150623397416034e+00 -1 -1 3 +1267 1 0.0000000000000000e+00 3.3991883690506821e+00 3.5111267234074854e+00 8.7455014351588609e+00 0 0 -8 +29 1 0.0000000000000000e+00 3.9987630641060283e+00 4.2134753763584749e+00 9.8954540436188303e+00 -3 -2 2 +851 1 0.0000000000000000e+00 2.6257284515602075e+00 4.2288632459539750e+00 9.9220266866362010e+00 -1 2 -2 +2346 1 0.0000000000000000e+00 2.9532317512669106e+00 2.6715245155832954e+00 7.9112899996551995e+00 -4 -1 1 +2761 1 0.0000000000000000e+00 2.5008700704379594e+00 3.6346340211102404e+00 8.5755747008798142e+00 2 -3 3 +1708 1 0.0000000000000000e+00 4.1126627536546296e+00 3.1811080329665260e+00 9.4906468441342593e+00 3 1 -2 +811 1 0.0000000000000000e+00 4.5473005262333208e+00 4.8830903415585381e+00 8.5986716412288207e+00 1 -2 3 +26 1 0.0000000000000000e+00 4.8385875580710627e+00 4.6637265827788017e+00 9.4835659660088982e+00 3 -1 3 +1643 1 0.0000000000000000e+00 3.2408069175019372e+00 4.3321757922258666e+00 7.7647010842313824e+00 -5 -1 -2 +196 1 0.0000000000000000e+00 3.1482478364841642e+00 2.7144952193252161e+00 8.8759044547988069e+00 0 2 0 +1410 1 0.0000000000000000e+00 4.1311595065630389e+00 4.6052441902540364e+00 9.0057288455964635e+00 0 -1 1 +2115 1 0.0000000000000000e+00 2.6142408628614313e+00 3.2577305751662244e+00 9.0154743724147455e+00 -4 4 -8 +944 1 0.0000000000000000e+00 3.6899701134401828e+00 3.7120483117822092e+00 9.4045430588888141e+00 -5 4 -4 +631 1 0.0000000000000000e+00 3.7439599882595602e+00 3.6780976535698042e+00 9.9332169311952700e+00 -3 -1 6 +2335 1 0.0000000000000000e+00 3.5636477324030276e+00 3.7929756671430424e+00 7.8449495483117913e+00 2 -4 0 +1944 1 0.0000000000000000e+00 4.9581595569650121e+00 3.5370542882305704e+00 8.3318413390243382e+00 -4 -4 6 +870 1 0.0000000000000000e+00 2.8155962972486557e+00 3.9890520453561988e+00 8.6508634246748652e+00 2 2 -8 +2373 1 0.0000000000000000e+00 4.4413407710915775e+00 4.9252410879693995e+00 9.9308243211887408e+00 1 3 -3 +2362 1 0.0000000000000000e+00 4.7277025754709410e+00 4.1108400225585564e+00 9.5959550907754672e+00 -1 2 7 +1746 1 0.0000000000000000e+00 4.8886942977212255e+00 3.4013320314274882e+00 9.6413369290835806e+00 -3 0 -1 +1732 1 0.0000000000000000e+00 3.7452430358844961e+00 2.8710141842453067e+00 8.1645089697419380e+00 -5 3 -1 +1241 1 0.0000000000000000e+00 3.9829942893973569e+00 4.8819046393275594e+00 8.0537823912219295e+00 2 2 0 +1429 1 0.0000000000000000e+00 4.6668591265401238e+00 3.9384829609536243e+00 7.8566969857934179e+00 1 1 1 +314 1 0.0000000000000000e+00 4.4131506221154302e+00 2.6205156554537421e+00 7.7778968404066484e+00 2 -2 3 +771 1 0.0000000000000000e+00 3.5292550652995005e+00 4.4533719188608103e+00 9.7958300461739114e+00 5 3 -7 +1779 1 0.0000000000000000e+00 2.7641556873060855e+00 3.6057187004712565e+00 8.0799289287240796e+00 3 -5 0 +2403 1 0.0000000000000000e+00 4.4444220506056835e+00 4.0713903164167853e+00 9.1650621397144718e+00 1 0 0 +2811 2 -1.0000000000000000e+00 2.6766537970805895e+00 3.4676296779382496e+00 9.6895659295278307e+00 -4 0 7 +1260 1 0.0000000000000000e+00 4.4321312903505561e+00 3.5988679651018569e+00 7.7743499338270246e+00 3 6 -5 +688 1 0.0000000000000000e+00 3.3213975646257126e+00 3.1701907893274872e+00 8.8661370669119872e+00 -1 1 1 +213 1 0.0000000000000000e+00 3.9579369652953402e+00 3.3142952894822266e+00 7.9793728563460720e+00 1 0 2 +2414 1 0.0000000000000000e+00 4.9539613220290022e+00 4.4389479354874410e+00 8.6023080210761211e+00 5 -1 -4 +1724 1 0.0000000000000000e+00 2.9923369619106950e+00 4.9771822804063861e+00 7.6689916677287222e+00 1 -3 -3 +1407 1 0.0000000000000000e+00 2.8739128437480086e+00 4.7785634075772672e+00 8.9970973418618865e+00 3 0 3 +320 1 0.0000000000000000e+00 2.9603113853075156e+00 3.0769200734992590e+00 7.8939659720398883e+00 3 -4 -4 +8 1 0.0000000000000000e+00 3.2268892542435630e+00 2.6323678037165785e+00 9.5860584854261468e+00 -2 -4 -2 +598 1 0.0000000000000000e+00 4.1882052691863674e+00 3.2040972028105181e+00 9.2376232612159388e+00 4 2 -4 +411 1 0.0000000000000000e+00 3.1689469169313340e+00 4.4632278461455499e+00 9.7822527066039466e+00 0 -6 -1 +2930 3 1.0000000000000000e+00 2.5816039489393483e+00 4.8626647792010358e+00 7.6273034399569299e+00 5 -1 -7 +1158 1 0.0000000000000000e+00 3.5528149396256703e+00 4.9750947742963758e+00 9.2117112250030857e+00 0 -4 -6 +2959 3 1.0000000000000000e+00 4.6732256726428094e+00 2.6933495829614911e+00 9.9194537600887021e+00 -1 3 -3 +2848 2 -1.0000000000000000e+00 3.2340192948970015e+00 3.3362542822670833e+00 9.9130248897466426e+00 2 5 1 +1856 1 0.0000000000000000e+00 5.0401176848755225e-01 5.8189689989066293e+00 1.2287233607172887e+00 3 -1 2 +380 1 0.0000000000000000e+00 1.3565560605656073e+00 5.6341757813375226e+00 6.3546395521892718e-01 1 2 0 +632 1 0.0000000000000000e+00 4.4476225433390654e-01 7.2805910201971038e+00 2.2344929765226659e-02 -3 -2 2 +2572 1 0.0000000000000000e+00 1.1403320220495012e+00 5.1976605593463079e+00 2.1730915537293316e+00 7 0 1 +2240 1 0.0000000000000000e+00 1.6758758849425353e+00 5.6991425228324823e+00 1.0282393858251715e+00 -1 1 -1 +1512 1 0.0000000000000000e+00 1.0411203259494517e+00 6.7254170672907287e+00 3.8524319057873802e-01 -2 -1 1 +1630 1 0.0000000000000000e+00 1.3287776236346651e+00 7.3894674734992583e+00 7.3690707513990084e-01 1 -1 5 +367 1 0.0000000000000000e+00 1.7218276360385889e+00 7.1717406908037731e+00 1.9724028953743128e-01 -3 -5 2 +1586 1 0.0000000000000000e+00 9.1857528819069290e-01 5.3953702209960070e+00 1.3828055797854273e+00 -3 -3 -5 +506 1 0.0000000000000000e+00 2.2011818361862887e+00 5.0772742095834555e+00 1.0273273937796983e+00 -4 0 1 +2976 3 1.0000000000000000e+00 2.2861720385804887e+00 6.3267965810503837e+00 2.1572739237280658e-01 1 2 2 +423 1 0.0000000000000000e+00 2.2526660279124942e+00 5.2546548494954877e+00 1.6068939835904112e+00 -7 0 -4 +1404 1 0.0000000000000000e+00 1.7499757912581859e+00 5.3098678368763883e+00 2.1186155343179283e+00 2 1 -2 +2839 2 -1.0000000000000000e+00 2.0558417022641655e+00 5.6633786226030329e+00 2.4798813089082796e+00 1 3 0 +2517 1 0.0000000000000000e+00 1.0458675056088176e+00 7.1393474727416608e+00 2.4396015719629500e+00 -3 10 1 +2539 1 0.0000000000000000e+00 1.6047799430346741e+00 5.7254573469608623e+00 4.0765125128664809e-01 1 3 -4 +2147 1 0.0000000000000000e+00 1.6920819818637962e+00 6.2002871206017884e+00 2.1422949850919126e+00 -2 1 0 +278 1 0.0000000000000000e+00 1.3784334482693850e+00 5.0743220663887003e+00 1.3156064831481680e+00 2 4 0 +1623 1 0.0000000000000000e+00 1.1498811576217618e+00 6.0888873102464229e+00 1.3815064271284323e+00 -2 1 6 +276 1 0.0000000000000000e+00 8.3398232925536039e-02 6.9184063005816814e+00 7.1082279845712781e-01 -1 -2 1 +607 1 0.0000000000000000e+00 3.9490084619975142e-02 5.0047028180067459e+00 1.3548957033189901e+00 3 4 1 +2807 2 -1.0000000000000000e+00 4.8714947852950441e-01 5.3118600510572449e+00 2.2686629025765231e-01 4 -1 2 +1118 1 0.0000000000000000e+00 1.7781119690479635e-01 5.7180843452465080e+00 1.6319379878503921e+00 5 -3 7 +2998 3 1.0000000000000000e+00 2.4647507866673739e+00 6.5161118977552928e+00 2.4434758825578391e+00 -1 -3 2 +1151 1 0.0000000000000000e+00 1.7855754157057997e+00 5.8878318601003725e+00 1.5747912070525272e+00 5 1 1 +2694 1 0.0000000000000000e+00 2.1000512588655451e+00 6.2381729807233004e+00 1.1015789410270396e+00 0 -3 -1 +2675 1 0.0000000000000000e+00 8.9536751141473817e-02 6.7321182991567339e+00 1.3310188307574637e+00 2 -5 2 +642 1 0.0000000000000000e+00 9.2016703255462462e-01 7.4992861961118384e+00 8.0314607654087100e-01 -4 -4 -6 +2139 1 0.0000000000000000e+00 2.1857729617784627e+00 6.8907930276055271e+00 7.9052419336718349e-01 10 0 4 +1149 1 0.0000000000000000e+00 2.4371417855684117e+00 6.1884961511774819e+00 1.6972596409911727e+00 -5 -2 1 +1854 1 0.0000000000000000e+00 1.3101025147814072e+00 5.9078919677143418e+00 2.2807769590681839e+00 1 -3 5 +1508 1 0.0000000000000000e+00 1.6672113886409792e+00 6.4814277255972392e+00 1.1196948859752995e+00 -2 2 -9 +1979 1 0.0000000000000000e+00 1.6381578721557801e+00 7.3162364775616524e+00 1.1457173651840313e+00 1 -3 0 +2028 1 0.0000000000000000e+00 2.2521039084550778e+00 7.0237150423328440e+00 1.4471549883786665e+00 2 -1 -2 +2368 1 0.0000000000000000e+00 8.5473136003818362e-01 6.9035038937897690e+00 1.0584980130912454e+00 0 1 -4 +1288 1 0.0000000000000000e+00 3.4801533148495534e-01 6.5773781432832727e+00 3.2219701340199414e-01 -2 -1 -4 +2728 1 0.0000000000000000e+00 1.4094685542636889e+00 6.6636867902409858e+00 1.6759303459786805e+00 -2 -4 3 +2277 1 0.0000000000000000e+00 6.1214335778374718e-01 5.4545211387484587e+00 2.2495733912034055e+00 0 1 1 +2906 3 1.0000000000000000e+00 5.6177211273326610e-01 5.9575720233652616e+00 5.1041272794358394e-01 4 0 -4 +2151 1 0.0000000000000000e+00 1.7505160933657191e-01 6.5893926226018245e+00 1.9999486073451704e+00 5 -3 -1 +2490 1 0.0000000000000000e+00 5.7592063980946306e-01 6.9964426043220911e+00 1.7743677835890634e+00 2 -6 -3 +1685 1 0.0000000000000000e+00 6.6907772442350055e-01 6.2488187796655676e+00 2.1620505491542339e+00 9 0 -5 +2914 3 1.0000000000000000e+00 1.6264144522025490e+00 7.3237422204788576e+00 2.4031206983128883e+00 8 -2 -1 +2612 1 0.0000000000000000e+00 2.0908932295542679e+00 6.4256152308051009e+00 2.4959139651874152e+00 -1 -3 0 +662 1 0.0000000000000000e+00 4.9507230895598626e+00 6.1239905854149495e+00 1.5002906009212174e+00 -1 1 -1 +1923 1 0.0000000000000000e+00 3.1321895131051924e+00 5.3600195305756211e+00 1.3970429893110916e+00 4 4 4 +949 1 0.0000000000000000e+00 4.5469638996533330e+00 6.6318498432000030e+00 2.0497399598188397e+00 2 5 4 +2813 2 -1.0000000000000000e+00 2.6990611479246089e+00 6.0535533136809327e+00 9.5491706411666621e-01 3 1 1 +224 1 0.0000000000000000e+00 3.4694402867345531e+00 6.3100893375002869e+00 8.9025942328512719e-01 -1 2 -3 +1024 1 0.0000000000000000e+00 4.2684333943037531e+00 6.5244645710569005e+00 7.3515607382110471e-01 1 4 3 +2130 1 0.0000000000000000e+00 3.1798284422402987e+00 6.3094344830603273e+00 3.8689396229090661e-01 -3 1 -2 +1787 1 0.0000000000000000e+00 3.1899009442731208e+00 6.2727057576865262e+00 2.0805998831560930e+00 1 -3 -7 +2034 1 0.0000000000000000e+00 3.1166351059514268e+00 7.1391508527562033e+00 1.0636260727779352e+00 -1 -1 4 +2024 1 0.0000000000000000e+00 4.1285955302929258e+00 5.3733542331513737e+00 2.1582411243382711e+00 -6 -4 2 +1374 1 0.0000000000000000e+00 2.9089941830372172e+00 5.2535860479565990e+00 2.0938963095432439e+00 1 -8 -2 +2683 1 0.0000000000000000e+00 4.5003631082727944e+00 7.0400500003230917e+00 1.3734488683732693e+00 -2 0 2 +1550 1 0.0000000000000000e+00 2.9209368279640340e+00 5.9946304407692308e+00 2.2774226316533603e+00 -1 3 -3 +2073 1 0.0000000000000000e+00 3.6525296187718994e+00 6.7000894800306607e+00 1.5043126248738854e+00 4 3 5 +1362 1 0.0000000000000000e+00 2.8213324426601560e+00 6.9054938766347487e+00 3.1440390177750660e-01 -4 3 -6 +2241 1 0.0000000000000000e+00 3.6300330856977543e+00 6.7531613907774490e+00 3.8732474195558619e-01 -3 -2 -2 +4 1 0.0000000000000000e+00 3.8550574306161400e+00 5.5786567338603437e+00 1.9510483307440876e+00 -3 -1 -1 +1951 1 0.0000000000000000e+00 4.8058692892356909e+00 6.7014049226514025e+00 1.4006197157306439e+00 2 0 0 +612 1 0.0000000000000000e+00 3.9363935526952996e+00 7.0963741836183729e+00 1.0629849128386382e+00 0 3 -2 +1232 1 0.0000000000000000e+00 3.9084311759149717e+00 5.6206741781064267e+00 1.2985533704798182e+00 2 -2 4 +1157 1 0.0000000000000000e+00 3.3116317946530653e+00 5.3828084917494081e+00 6.9353352376428012e-01 3 2 8 +175 1 0.0000000000000000e+00 3.8580617777291528e+00 6.4931924992900107e+00 1.7999343904289844e+00 4 -1 2 +2749 1 0.0000000000000000e+00 3.9047950249394479e+00 5.1363803282244263e+00 7.0764868352908916e-01 -7 0 -2 +1470 1 0.0000000000000000e+00 2.8409868766562281e+00 5.6355847110710435e+00 5.1662654462257396e-01 2 -2 1 +492 1 0.0000000000000000e+00 3.0389268951724207e+00 7.3308601038272139e+00 6.5614616712015983e-01 -1 2 2 +2858 2 -1.0000000000000000e+00 4.5189767572494448e+00 5.6263534129355524e+00 1.6432091568138622e-02 -3 3 3 +1916 1 0.0000000000000000e+00 2.7813255886546679e+00 6.7481630157688066e+00 1.5508914277959238e+00 5 -2 -5 +2435 1 0.0000000000000000e+00 3.5879730880160063e+00 7.2048686524397425e+00 1.5051712223448304e+00 0 3 -1 +2767 1 0.0000000000000000e+00 4.4063793496814405e+00 5.6760285441903369e+00 9.4002430330245001e-01 -3 -2 7 +535 1 0.0000000000000000e+00 4.6892187999383435e+00 5.2963841278400219e+00 5.5414048561028129e-01 2 3 -3 +618 1 0.0000000000000000e+00 3.9825435311478774e+00 6.0230386640465836e+00 2.3224063236129773e+00 -3 5 -6 +1061 1 0.0000000000000000e+00 3.1634604887032380e+00 5.9423685138526450e+00 1.4301338836077226e+00 1 0 -3 +1058 1 0.0000000000000000e+00 4.6721720851649735e+00 6.8607316379768006e+00 3.8150427934676950e-01 2 4 -3 +1855 1 0.0000000000000000e+00 2.5527896327971726e+00 5.4054205866104112e+00 2.1916990892232716e-01 -2 -1 -2 +2159 1 0.0000000000000000e+00 3.8393708726742375e+00 7.1237373991855408e+00 2.2735169458091837e+00 -8 -2 -1 +1408 1 0.0000000000000000e+00 4.5054171992578596e+00 5.5895242499463436e+00 1.8645653540825800e+00 7 2 -8 +125 1 0.0000000000000000e+00 4.5308221065881060e+00 7.1354683172598676e+00 2.4973678881378647e+00 4 0 1 +2852 2 -1.0000000000000000e+00 4.7698175617239755e+00 5.8481906404205377e+00 1.0298124449548665e+00 5 0 -3 +1333 1 0.0000000000000000e+00 2.9525803955123719e+00 7.1682465235801223e+00 1.9942138107658558e+00 2 -2 1 +1902 1 0.0000000000000000e+00 2.7490880172697216e+00 7.1850073605151579e+00 1.9049662921522542e-01 -1 -4 4 +2165 1 0.0000000000000000e+00 2.8002887049240988e+00 7.0184049380092661e+00 2.3662745463084609e+00 0 -8 3 +2096 1 0.0000000000000000e+00 4.4996329770503447e+00 7.2555532977319181e+00 1.7824076555585272e-01 3 -2 5 +1043 1 0.0000000000000000e+00 4.4640888551850297e+00 6.1547758436175517e+00 3.0942250647641373e-01 -6 1 -1 +344 1 0.0000000000000000e+00 3.8201748903573405e+00 5.7730071248319019e+00 2.9197632874386020e-01 2 -3 0 +330 1 0.0000000000000000e+00 4.4714724631400262e+00 5.3358385675416473e+00 2.4863930709116242e+00 6 -9 3 +172 1 0.0000000000000000e+00 8.6664969164955108e-01 7.6339903027153717e+00 2.0126188540374828e+00 -3 0 -2 +119 1 0.0000000000000000e+00 7.4899818263507711e-01 7.5749351353391852e+00 1.2235761206418705e+00 2 -3 0 +2330 1 0.0000000000000000e+00 1.1596766066600381e+00 8.1056545231966410e+00 1.7208650300417181e+00 1 -3 1 +1322 1 0.0000000000000000e+00 2.1648298612500003e+00 8.5766835004600299e+00 1.5111338380105943e+00 0 0 0 +2840 2 -1.0000000000000000e+00 7.6970107492315176e-01 8.0824784755291521e+00 2.4302134135071789e+00 -3 1 -3 +2180 1 0.0000000000000000e+00 2.0864371595862314e+00 7.6707741107044161e+00 2.1013663299844354e+00 0 -2 2 +2758 1 0.0000000000000000e+00 1.8821291110176848e+00 8.2718008176484812e+00 1.0182511937226661e+00 5 0 0 +1103 1 0.0000000000000000e+00 1.6894681678370942e+00 7.8521407981944975e+00 2.1830545772115513e+00 6 0 -2 +1758 1 0.0000000000000000e+00 2.2975722102894807e+00 9.9818930706105515e+00 2.1075783247892899e+00 -1 -6 6 +975 1 0.0000000000000000e+00 1.2851844090666038e+00 8.2113205260752800e+00 1.1847497526513993e+00 -1 -3 4 +1028 1 0.0000000000000000e+00 2.2234568658935938e+00 9.2186547305216866e+00 2.2852262977485918e+00 -7 0 8 +197 1 0.0000000000000000e+00 6.8615264596162101e-02 9.0620691887417610e+00 1.0353956800363839e+00 1 -7 1 +665 1 0.0000000000000000e+00 4.8323891562868215e-01 9.7991793281426336e+00 3.7558318329742663e-01 -2 -3 2 +2338 1 0.0000000000000000e+00 1.4726272837826526e+00 9.5195766363336194e+00 1.7628779524220362e+00 2 7 3 +1184 1 0.0000000000000000e+00 1.0731771054482739e+00 9.0875780456623243e+00 2.2462606087540229e-01 -5 -1 -2 +2717 1 0.0000000000000000e+00 1.7333531926997825e-01 8.2627007542677973e+00 2.3058984652408610e+00 1 -2 -3 +557 1 0.0000000000000000e+00 1.6247914760642115e+00 8.6669500776577291e+00 2.2619881422741295e+00 -4 1 1 +864 1 0.0000000000000000e+00 6.0221501611472761e-01 8.9726762056332809e+00 1.7935581700740053e+00 0 -1 -1 +212 1 0.0000000000000000e+00 2.1952568624133528e-01 7.9213946633293633e+00 2.0204453965015685e+00 2 4 3 +1327 1 0.0000000000000000e+00 7.3895445527707315e-01 9.6453980587629786e+00 1.3541313867222251e+00 2 -5 -5 +1962 1 0.0000000000000000e+00 3.0407889808189831e-01 8.5361771835633959e+00 1.4636346460985781e+00 2 -1 -1 +652 1 0.0000000000000000e+00 2.0822213755668306e+00 9.8936298849856730e+00 1.5747084822519655e+00 -5 -4 2 +264 1 0.0000000000000000e+00 6.6204961390851103e-01 9.1269688406470344e+00 1.0260285089026722e+00 4 1 -2 +1984 1 0.0000000000000000e+00 1.8791056791692232e-01 9.1033742825144852e+00 1.7349247549910446e-01 2 8 0 +2405 1 0.0000000000000000e+00 7.0334172836971331e-01 8.0664214332337618e+00 7.3189696661687054e-01 8 -2 6 +158 1 0.0000000000000000e+00 5.2125119119772897e-02 9.7626297136980646e+00 8.3513873598983190e-01 2 0 5 +1402 1 0.0000000000000000e+00 1.8897841419334436e+00 9.6889616701242964e+00 8.2283114157037029e-01 1 4 0 +20 1 0.0000000000000000e+00 7.0512320039116549e-01 9.8437732575239991e+00 1.8394157028302476e+00 -4 2 -5 +875 1 0.0000000000000000e+00 1.7617182351842700e+00 9.0011078150799548e+00 1.6668975794633674e+00 0 0 -3 +1699 1 0.0000000000000000e+00 1.1564999263417146e+00 8.5227814573007947e+00 2.5989519054430776e-01 3 -3 -7 +602 1 0.0000000000000000e+00 1.9116013853197176e+00 9.3243891881575767e+00 4.1450172238238137e-01 -7 -3 -3 +2997 3 1.0000000000000000e+00 1.9602107952685326e+00 7.6218282098734838e+00 5.9646348218710998e-01 1 3 0 +2561 1 0.0000000000000000e+00 2.3680645405440042e+00 7.5854547728748303e+00 1.5021199553840394e+00 -1 -6 2 +2134 1 0.0000000000000000e+00 2.0115617543388531e+00 8.3644866145874630e+00 3.9191179786357283e-01 4 3 4 +1640 1 0.0000000000000000e+00 2.1945318167950792e-01 9.6625342332167250e+00 2.1164851185931086e+00 1 -3 0 +1569 1 0.0000000000000000e+00 2.2922924327839591e+00 8.9809805299633325e+00 1.0429545991665592e+00 -1 0 -2 +792 1 0.0000000000000000e+00 1.3785694105652371e+00 8.2476509398933899e+00 9.7136183528489817e-01 2 5 8 +1609 1 0.0000000000000000e+00 2.4118945961985032e+00 8.3160290598972697e+00 1.7381063272022432e+00 4 -4 1 +341 1 0.0000000000000000e+00 2.3923802904192257e+00 8.4740474967489039e+00 2.1920883416976782e+00 1 -2 -4 +998 1 0.0000000000000000e+00 1.4909997128376375e+00 7.7553507390947898e+00 1.5042990519134682e+00 -3 3 0 +2697 1 0.0000000000000000e+00 1.1202252055354549e+00 9.7551350249821400e+00 9.0730903655589568e-01 1 2 0 +2285 1 0.0000000000000000e+00 9.5890078967200332e-01 8.8118159805012422e+00 2.1259949517505254e+00 1 0 -1 +1922 1 0.0000000000000000e+00 1.5000204977118541e+00 8.9180847028205683e+00 1.0085979216201784e+00 2 0 1 +653 1 0.0000000000000000e+00 1.3413763662489344e+00 9.0988969022419557e+00 1.4147349696410785e+00 1 1 4 +980 1 0.0000000000000000e+00 2.1142287378745754e+00 9.9912663475192325e+00 2.4112508341768639e+00 -2 2 -2 +2996 3 1.0000000000000000e+00 1.5738275793042578e+00 9.9940461496817932e+00 2.2107157633020300e+00 11 -5 0 +1511 1 0.0000000000000000e+00 1.4400174095875337e-02 9.3293407638670143e+00 1.5636478827847451e+00 6 1 -6 +2220 1 0.0000000000000000e+00 1.4452720515153632e+00 7.8861314687152628e+00 2.0040404068874096e-01 -3 6 -2 +1412 1 0.0000000000000000e+00 5.3598841123410579e-01 7.5898886988126941e+00 9.6867576986703341e-04 5 -1 4 +917 1 0.0000000000000000e+00 3.8671613023836482e+00 8.6650053500471369e+00 1.4585128916497598e+00 -2 1 4 +1041 1 0.0000000000000000e+00 2.8515177697171774e+00 9.9980251256977954e+00 1.1027733272941929e-01 6 0 2 +136 1 0.0000000000000000e+00 4.2978170148970332e+00 7.7402330537822648e+00 2.2246428827286358e+00 2 -3 3 +253 1 0.0000000000000000e+00 3.8170285186648161e+00 7.7099471239901867e+00 5.4082031552467505e-02 1 5 -4 +67 1 0.0000000000000000e+00 3.9949754071044827e+00 8.7145388765699199e+00 2.3307478751671282e+00 -1 1 -4 +1940 1 0.0000000000000000e+00 3.8563633514178304e+00 9.4239607558651546e+00 7.0901983081793929e-01 2 -6 4 +1193 1 0.0000000000000000e+00 4.7807189581803318e+00 8.0310453990180246e+00 1.4469647487817439e-01 -2 5 6 +449 1 0.0000000000000000e+00 2.5871274707162790e+00 8.0628812630907731e+00 8.1382043098183232e-01 -1 -4 -5 +211 1 0.0000000000000000e+00 4.9711102626672670e+00 9.3191997686112220e+00 2.3726369403919412e+00 4 -3 -2 +444 1 0.0000000000000000e+00 4.9416730960458279e+00 8.0516435111290345e+00 2.0233758927910368e+00 -4 4 1 +2168 1 0.0000000000000000e+00 4.4025315815811670e+00 8.8490995778183716e+00 1.9997159631465751e+00 4 0 2 +1251 1 0.0000000000000000e+00 3.5608515591185750e+00 8.6497732681212636e+00 2.0532975485140530e+00 -3 -3 1 +2531 1 0.0000000000000000e+00 3.9962048168417308e+00 7.7136479033184573e+00 1.6361642771470040e+00 0 7 -4 +561 1 0.0000000000000000e+00 2.5379197498068060e+00 9.4998439770383811e+00 1.4173988007529987e+00 2 6 2 +2739 1 0.0000000000000000e+00 2.7291138733695970e+00 9.6335087669693760e+00 5.3916326178618701e-01 -1 3 -6 +971 1 0.0000000000000000e+00 4.4379265869956841e+00 8.8205894822351478e+00 1.3518491271575614e+00 3 -2 -5 +2478 1 0.0000000000000000e+00 4.2647816682059734e+00 9.1752923134380406e+00 2.2723759499305213e-01 4 1 -7 +1958 1 0.0000000000000000e+00 2.6568202286888472e+00 7.7696796023908519e+00 1.7097435362150954e+00 -2 5 -2 +1216 1 0.0000000000000000e+00 4.2959285441472153e+00 8.2093873373277191e+00 1.5152941504877289e+00 -2 -4 2 +604 1 0.0000000000000000e+00 2.6482135979910750e+00 8.6463744756139338e+00 5.3686106852089199e-01 -4 3 -3 +1649 1 0.0000000000000000e+00 3.2576175741796622e+00 7.7867540978077532e+00 1.8017387007471688e+00 3 -2 -1 +554 1 0.0000000000000000e+00 4.8783733531436351e+00 8.1554762892176829e+00 1.3561418094231492e+00 -1 3 -2 +1692 1 0.0000000000000000e+00 4.1251379883175057e+00 7.6915578680882009e+00 8.9213053724309610e-01 -5 -4 4 +1037 1 0.0000000000000000e+00 3.1856552292649174e+00 8.6610971244052148e+00 2.1910315880247349e+00 -6 -2 -5 +584 1 0.0000000000000000e+00 3.3612769466830699e+00 9.0414397802141320e+00 5.7891060603412725e-01 -7 0 2 +1904 1 0.0000000000000000e+00 3.8315798289684357e+00 9.7509378577412757e+00 1.4999635052197163e-01 -5 0 6 +2917 3 1.0000000000000000e+00 4.3709341929143424e+00 9.0811000509909015e+00 2.4422899453016531e+00 -3 5 -1 +182 1 0.0000000000000000e+00 4.1239026251401754e+00 9.3843908024672142e+00 9.1901002516196872e-01 -3 0 6 +2692 1 0.0000000000000000e+00 3.0464237994656616e+00 8.4535418921763537e+00 4.0419674725804638e-01 1 3 1 +2060 1 0.0000000000000000e+00 3.6042634485364098e+00 8.0284401210850902e+00 2.0641735523196845e+00 -3 4 -1 +180 1 0.0000000000000000e+00 4.2188454670658091e+00 8.0764275291323955e+00 3.1621657611340309e-01 6 7 0 +2661 1 0.0000000000000000e+00 4.7288724323765861e+00 8.5682716654712721e+00 1.1508280406209399e+00 1 12 2 +903 1 0.0000000000000000e+00 4.1857114073966626e+00 9.9110374558034824e+00 1.8642102646801713e+00 -6 1 1 +1841 1 0.0000000000000000e+00 3.3707295018804535e+00 8.0989588202931575e+00 1.2171582250194459e+00 -2 -6 1 +310 1 0.0000000000000000e+00 3.5041351612579281e+00 8.7622936903476809e+00 8.6131192434375092e-01 0 0 7 +145 1 0.0000000000000000e+00 4.6502414651084454e+00 8.9161953615563458e+00 2.3286916839794639e-01 6 -3 0 +2843 2 -1.0000000000000000e+00 4.2890041908619203e+00 9.3030938529893952e+00 1.4653524665244573e+00 -2 0 3 +2301 1 0.0000000000000000e+00 3.1133918334035311e+00 8.6502522149744401e+00 1.2777268401980975e+00 -4 -2 1 +803 1 0.0000000000000000e+00 2.8798286937144502e+00 9.3525739181204344e+00 2.4851278706255626e+00 3 -4 0 +376 1 0.0000000000000000e+00 3.4530757996480803e+00 8.6417504099208564e+00 2.4518671586221354e+00 0 -3 -2 +1311 1 0.0000000000000000e+00 2.7275640199064330e+00 9.4490003036565309e+00 1.9293207113573843e+00 -2 3 -1 +2224 1 0.0000000000000000e+00 2.6891343787053636e+00 9.0079627085165992e+00 2.0044621929314177e+00 3 4 0 +1628 1 0.0000000000000000e+00 3.3464343082688823e+00 9.3783336415771217e+00 1.5243124969727053e+00 2 -2 3 +192 1 0.0000000000000000e+00 3.5614219134043812e+00 9.5425109310849994e+00 1.3299485232474146e+00 3 4 0 +2498 1 0.0000000000000000e+00 3.8907328072391372e+00 8.4570988737382802e+00 6.3354360034781365e-01 -5 -6 0 +527 1 0.0000000000000000e+00 3.6208903798656067e+00 9.5126025367518938e+00 2.1246824533059483e+00 -4 -2 9 +759 1 0.0000000000000000e+00 4.7249168940035311e+00 9.7005561455812472e+00 5.4327465462104174e-01 5 1 2 +364 1 0.0000000000000000e+00 2.8822599628946484e+00 7.9030467093627959e+00 6.2264458054882865e-01 4 1 0 +1587 1 0.0000000000000000e+00 4.6329221232772504e+00 7.5582937931245082e+00 9.5087952048039293e-01 -1 4 3 +1165 1 0.0000000000000000e+00 2.0795443135079417e+00 6.4077023861630868e+00 3.2590315349954238e+00 -3 5 0 +152 1 0.0000000000000000e+00 4.5494508213091256e-01 5.6555282166840852e+00 3.2814564674607696e+00 -1 -6 -2 +1019 1 0.0000000000000000e+00 8.1280801354206422e-01 5.0584301705293884e+00 2.6561680518525304e+00 -8 -3 8 +2072 1 0.0000000000000000e+00 4.8420435314112560e-03 7.1905524503402765e+00 4.7195078244779731e+00 3 -3 3 +987 1 0.0000000000000000e+00 1.5208623389933278e+00 5.7461811605349089e+00 4.0933141448474268e+00 -2 0 1 +2847 2 -1.0000000000000000e+00 1.0638675063739098e+00 6.3063936924857220e+00 4.2885132647169328e+00 -2 7 -1 +1289 1 0.0000000000000000e+00 2.0530397896025041e-01 7.4376295255088358e+00 3.7977365625566133e+00 6 -2 -2 +1505 1 0.0000000000000000e+00 8.6027816755065556e-01 5.0043457170654992e+00 4.7296510529612323e+00 2 10 -1 +2973 3 1.0000000000000000e+00 6.7691805213796874e-01 6.7271288271580687e+00 4.9659563097155459e+00 3 -2 2 +248 1 0.0000000000000000e+00 1.6981713699505694e+00 7.0263034986515871e+00 3.5312423556971031e+00 1 -1 -4 +1345 1 0.0000000000000000e+00 9.9972622517204912e-01 5.3770236376962588e+00 3.0928998156380292e+00 2 -5 -3 +878 1 0.0000000000000000e+00 1.6324151131681810e+00 5.7354101965139215e+00 3.2563158062534749e+00 -3 -8 0 +2926 3 1.0000000000000000e+00 1.4394290857403933e+00 6.5264723842972243e+00 2.6894745010203018e+00 2 4 -3 +1115 1 0.0000000000000000e+00 1.3375480706788034e+00 6.3799574178219833e+00 3.4542660840066097e+00 -6 -1 3 +715 1 0.0000000000000000e+00 1.7467058125775512e+00 6.9404173299201384e+00 4.2202727536587235e+00 -5 -3 -3 +855 1 0.0000000000000000e+00 2.0109273945470525e+00 7.3209217023735693e+00 2.9046025176738626e+00 1 1 5 +672 1 0.0000000000000000e+00 2.3176781632218830e+00 5.7312162820970602e+00 3.2827842744257456e+00 11 -1 4 +1652 1 0.0000000000000000e+00 5.9972261284563089e-01 7.0158324439672342e+00 3.6905278190387611e+00 0 -3 3 +815 1 0.0000000000000000e+00 9.6249923740401688e-01 5.3547490013457759e+00 4.3455021667283962e+00 0 1 -3 +1195 1 0.0000000000000000e+00 2.3988851880869473e+00 7.4259037444507596e+00 4.2585933347502394e+00 -1 1 2 +1370 1 0.0000000000000000e+00 8.3679961777582179e-01 6.2919521894868149e+00 2.8351804816347119e+00 -1 3 -3 +2664 1 0.0000000000000000e+00 2.3931075030031796e+00 5.2589978978204623e+00 4.8928210292179637e+00 4 -2 2 +3 1 0.0000000000000000e+00 4.7415629309216868e-02 5.8594169914744754e+00 4.0865047394811089e+00 0 3 3 +1057 1 0.0000000000000000e+00 1.2085273629170290e+00 7.2337511930226235e+00 4.1984871281410321e+00 4 -1 -3 +2142 1 0.0000000000000000e+00 1.9803242005351411e+00 6.1460630374592995e+00 4.9101528265679582e+00 3 3 3 +355 1 0.0000000000000000e+00 7.0635620040072589e-01 5.2218493859689641e+00 3.9551301825381731e+00 -5 7 -2 +2869 2 -1.0000000000000000e+00 1.8604435142329536e+00 6.9348153059504662e+00 3.2214964553935159e+00 1 -3 3 +2488 1 0.0000000000000000e+00 1.3625437753743830e+00 5.3824635002710641e+00 3.8294904604518880e+00 -1 0 -4 +231 1 0.0000000000000000e+00 1.8217946457991132e+00 5.6743979821309480e+00 4.5745379958011370e+00 -2 4 1 +1631 1 0.0000000000000000e+00 1.6186355140806337e+00 6.9968459063095674e+00 4.7314583818839315e+00 -4 3 -2 +559 1 0.0000000000000000e+00 2.1132335629599130e-01 6.5380546968696525e+00 3.3002210438501947e+00 1 -2 3 +2481 1 0.0000000000000000e+00 5.7365108565679362e-02 6.6208461375693046e+00 3.6861240535597379e+00 -1 2 2 +45 1 0.0000000000000000e+00 1.9304304765509011e+00 6.2996991013030676e+00 3.9074798967776627e+00 -1 -4 -3 +1599 1 0.0000000000000000e+00 9.0914479104498833e-02 5.5351648898180725e+00 3.6002757367877027e+00 2 -4 1 +936 1 0.0000000000000000e+00 1.3038450689435301e+00 6.6787993754299535e+00 4.3495829264459358e+00 -3 0 -1 +1938 1 0.0000000000000000e+00 2.9524417238377959e-01 7.4278973093388228e+00 2.7904357942645874e+00 3 -5 -1 +2934 3 1.0000000000000000e+00 2.3628327236011817e+00 5.5049077044880192e+00 3.7437974159560161e+00 5 2 -3 +2297 1 0.0000000000000000e+00 1.3797482275044419e+00 5.1922328534046738e+00 2.7936963867065172e+00 1 1 3 +1401 1 0.0000000000000000e+00 9.0982673141074610e-01 7.0481115641183791e+00 3.1709008183309191e+00 1 -11 -1 +2326 1 0.0000000000000000e+00 3.0903724722014619e-01 5.6388066087868420e+00 4.2429373773310832e+00 4 -1 -1 +1751 1 0.0000000000000000e+00 4.2318008855279426e-01 6.0298511098545813e+00 2.6954037758231357e+00 -3 -7 4 +309 1 0.0000000000000000e+00 1.0077110878166855e+00 5.8587907660245042e+00 4.7312635334936477e+00 3 -7 0 +51 1 0.0000000000000000e+00 4.5091791268830927e-01 6.7492618772067452e+00 4.3912413458213173e+00 1 3 5 +2412 1 0.0000000000000000e+00 1.1045296527997577e+00 6.0476622613547955e+00 3.8727964909115999e+00 2 2 9 +2760 1 0.0000000000000000e+00 2.4637105050167567e+00 7.1159503143868728e+00 4.8514432473708329e+00 1 -2 2 +1795 1 0.0000000000000000e+00 4.7996346117578975e-01 6.7963838553691112e+00 2.5211435324532889e+00 2 4 -2 +1022 1 0.0000000000000000e+00 3.3184185241591053e+00 6.3566619693665096e+00 4.7347344340180255e+00 8 -1 10 +914 1 0.0000000000000000e+00 2.8209281936038537e+00 6.0462850894129110e+00 3.9757150094497380e+00 -2 -3 8 +1721 1 0.0000000000000000e+00 4.6995615955417724e+00 7.4930616610537317e+00 3.1253763331859186e+00 -5 0 4 +2379 1 0.0000000000000000e+00 4.7755740960818098e+00 5.9432262411528010e+00 4.4094962776511162e+00 4 0 -4 +1557 1 0.0000000000000000e+00 4.5949990301626515e+00 6.9072548844116683e+00 4.0273002883806948e+00 -3 4 -4 +2187 1 0.0000000000000000e+00 4.8980853826260908e+00 5.5775833043610987e+00 3.7600080131737608e+00 2 -3 0 +2122 1 0.0000000000000000e+00 4.9995559773896048e+00 6.4422326545800441e+00 3.8381802687039754e+00 -4 3 0 +2059 1 0.0000000000000000e+00 2.5146660204699613e+00 6.5443017544833770e+00 4.5578520920182317e+00 1 5 3 +1169 1 0.0000000000000000e+00 3.6130405282261555e+00 5.4644529358088070e+00 4.1441122882638695e+00 2 4 4 +2487 1 0.0000000000000000e+00 3.3756567863583946e+00 7.2945290809016949e+00 2.9668417867496677e+00 1 4 -1 +2454 1 0.0000000000000000e+00 4.8971447383078184e+00 5.6933382614095400e+00 2.5468921545706888e+00 4 2 -1 +1298 1 0.0000000000000000e+00 3.2523190616818618e+00 6.7196673542077674e+00 4.4805810818794827e+00 1 2 -3 +519 1 0.0000000000000000e+00 3.1239718832590708e+00 5.9317049689179520e+00 3.0837426297394113e+00 0 0 0 +318 1 0.0000000000000000e+00 3.4013586308977493e+00 6.2547189111172079e+00 3.9169079397689543e+00 3 -5 -4 +2319 1 0.0000000000000000e+00 2.5482988639442263e+00 5.6949251475603901e+00 3.9584060859778512e+00 5 6 -1 +1356 1 0.0000000000000000e+00 3.7749421355373571e+00 5.1938064385765443e+00 3.7055226779922545e+00 -3 2 1 +65 1 0.0000000000000000e+00 3.0920727162591195e+00 5.1364906029683617e+00 4.5828053971806071e+00 4 -1 -2 +2947 3 1.0000000000000000e+00 4.6573181183874723e+00 5.6465409554512753e+00 4.2968743031715908e+00 2 2 -4 +1510 1 0.0000000000000000e+00 3.9275000326033229e+00 6.4357548170611798e+00 3.5468460185625683e+00 -3 0 -1 +2588 1 0.0000000000000000e+00 2.6627928777796588e+00 6.4545240726921662e+00 3.5857270572238265e+00 2 0 -5 +86 1 0.0000000000000000e+00 3.8966535122055515e+00 6.7191897019219162e+00 4.7810526024186730e+00 -5 3 -1 +2830 2 -1.0000000000000000e+00 4.8239599456378128e+00 6.7630787301451054e+00 3.1536073188472549e+00 -10 -1 -3 +2966 3 1.0000000000000000e+00 3.0116838935256500e+00 6.7529310368896240e+00 2.8165800805451768e+00 3 1 2 +530 1 0.0000000000000000e+00 3.7839192218690059e+00 6.0234143037266676e+00 4.5287656554083977e+00 1 2 -1 +421 1 0.0000000000000000e+00 4.8542898342990473e+00 5.0998588164723051e+00 4.4218367143130477e+00 -1 -1 2 +1656 1 0.0000000000000000e+00 3.8448091971900751e+00 5.7086237830009265e+00 3.1359353197749211e+00 3 0 6 +1330 1 0.0000000000000000e+00 3.8586222346710635e+00 7.2250011010032162e+00 3.8587359917082309e+00 2 -2 -2 +1065 1 0.0000000000000000e+00 4.3975943851232460e+00 6.1930078490657179e+00 2.7916160772108478e+00 4 -4 5 +2324 1 0.0000000000000000e+00 4.4222184816903507e+00 6.4267188990508464e+00 3.4220625606265314e+00 -1 -4 1 +1264 1 0.0000000000000000e+00 4.1348902121461935e+00 5.0261016647058065e+00 2.9689347491913303e+00 3 -3 3 +302 1 0.0000000000000000e+00 4.2649416705010346e+00 5.8508918628609505e+00 4.0604885868556000e+00 -1 3 2 +543 1 0.0000000000000000e+00 3.7930185588148619e+00 6.6198962693472430e+00 2.8785286820457063e+00 8 1 0 +1150 1 0.0000000000000000e+00 3.1010708448544753e+00 5.1142096644317636e+00 3.4421894174401748e+00 -5 3 2 +2211 1 0.0000000000000000e+00 3.5634073347463615e+00 5.3602657706239896e+00 2.7202924165876805e+00 -1 -6 -4 +912 1 0.0000000000000000e+00 2.7810380576736260e+00 6.8835311303197573e+00 3.7867701653537673e+00 1 -4 -1 +711 1 0.0000000000000000e+00 3.5960825182289975e+00 6.5808024957363669e+00 3.3048897776182984e+00 -5 2 -7 +970 1 0.0000000000000000e+00 2.5801250528314958e+00 6.2206119561356976e+00 3.0847678002998116e+00 -5 6 3 +1833 1 0.0000000000000000e+00 3.1397851993491992e+00 5.7402920394568859e+00 4.4367013955788703e+00 9 -3 0 +719 1 0.0000000000000000e+00 2.6328481206202889e+00 7.2333663417183027e+00 3.2448611061184280e+00 -4 -8 4 +1945 1 0.0000000000000000e+00 2.8381175601569408e+00 5.4827073500647874e+00 2.6720416349489158e+00 -2 6 -1 +2861 2 -1.0000000000000000e+00 3.3136266497770706e+00 7.0816408730119953e+00 3.6482345284695925e+00 -3 3 -3 +1203 1 0.0000000000000000e+00 2.6979395102504586e+00 6.0236958906488276e+00 4.9799645947931772e+00 1 1 3 +1977 1 0.0000000000000000e+00 3.2228282693561425e+00 6.1695115587426814e+00 2.5181909479611875e+00 3 -3 2 +1112 1 0.0000000000000000e+00 4.3208987262107801e+00 6.6728513022710567e+00 4.2430123255713781e+00 -1 2 7 +32 1 0.0000000000000000e+00 4.3723718096440001e+00 5.6186322121583085e+00 3.4356284053508461e+00 0 1 -1 +2957 3 1.0000000000000000e+00 3.3862523460185705e+00 7.2128641674214382e+00 4.5616986825443666e+00 -1 -1 -2 +950 1 0.0000000000000000e+00 1.3878985470810605e+00 9.3776846866992489e+00 2.6833214904614562e+00 2 -6 -5 +1357 1 0.0000000000000000e+00 2.2757950063694810e+00 7.7413877319012458e+00 3.0324852486758154e+00 4 0 -3 +1819 1 0.0000000000000000e+00 1.5400085458221505e-01 9.3600713094643915e+00 3.8709230674860775e+00 -4 -3 1 +1716 1 0.0000000000000000e+00 2.2432755041265509e+00 8.4454995931375620e+00 4.2246720875197505e+00 8 -3 -2 +1711 1 0.0000000000000000e+00 9.3705327278031036e-01 8.3361439534978796e+00 3.9675475173526094e+00 -6 1 -3 +2334 1 0.0000000000000000e+00 2.6420290282075942e-01 8.3265176108499670e+00 3.8426871609775941e+00 4 -3 0 +744 1 0.0000000000000000e+00 1.3756904307294222e+00 8.5137228259280491e+00 4.9850836007647734e+00 2 -3 -5 +1475 1 0.0000000000000000e+00 4.2751032436005404e-01 8.7051485064734297e+00 2.6252525255049841e+00 4 3 0 +782 1 0.0000000000000000e+00 4.1195149684948029e-01 7.9563990075555022e+00 3.0018146970038968e+00 -2 6 6 +255 1 0.0000000000000000e+00 1.1930154232317375e-01 9.7487759294531440e+00 3.0525904454317780e+00 -3 -2 -3 +592 1 0.0000000000000000e+00 6.6714073356084558e-01 7.6763175247514255e+00 3.2662652647657255e+00 2 -2 2 +2666 1 0.0000000000000000e+00 7.0485410523370395e-01 8.7123410703616937e+00 4.1677036389926485e+00 -2 -1 -2 +173 1 0.0000000000000000e+00 5.7832745620110193e-01 8.3714235454007948e+00 4.8853532322708233e+00 -1 -6 1 +955 1 0.0000000000000000e+00 1.2649838733018275e+00 7.6960950828907366e+00 3.8432473099830839e+00 2 -1 0 +10 1 0.0000000000000000e+00 5.4814901034180574e-01 7.7023948604932926e+00 4.4864431132785372e+00 1 3 -2 +2607 1 0.0000000000000000e+00 2.3136541220366733e+00 9.4464233646659856e+00 3.1451991818018241e+00 2 1 0 +2418 1 0.0000000000000000e+00 4.4690215861476518e-01 9.8527667377947701e+00 3.6062302083548698e+00 4 -1 0 +2455 1 0.0000000000000000e+00 2.1304719013473647e+00 8.8354142002769436e+00 4.7903662466209198e+00 4 0 -4 +822 1 0.0000000000000000e+00 1.9994732020386208e+00 8.3598031626723976e+00 3.9099597995876780e+00 1 -8 -1 +1761 1 0.0000000000000000e+00 8.3013153539808837e-01 7.5063934924893898e+00 4.5546725503369547e+00 1 -1 0 +1805 1 0.0000000000000000e+00 7.5459760739807802e-01 9.9202047054667624e+00 4.8262217966823480e+00 -4 -1 4 +2651 1 0.0000000000000000e+00 1.3703612277164403e+00 7.6065074842892111e+00 3.4417805919045481e+00 -2 -8 -1 +1621 1 0.0000000000000000e+00 1.8823532763633903e+00 9.4817150911683186e+00 4.9177833606648962e+00 4 -7 -1 +1970 1 0.0000000000000000e+00 5.8708980871880223e-01 9.4645439997980176e+00 4.5375688626069897e+00 0 -5 -1 +1343 1 0.0000000000000000e+00 2.1028331876200559e+00 9.5931645892980892e+00 3.0393192207040873e+00 -2 -1 0 +1133 1 0.0000000000000000e+00 1.7978629346528170e+00 9.1557703562275474e+00 3.6168038343046884e+00 1 -4 0 +1123 1 0.0000000000000000e+00 1.3843762925953984e+00 8.3865853422304220e+00 3.3351204691807483e+00 1 0 -1 +1197 1 0.0000000000000000e+00 7.6637250628708176e-01 9.4006170669244788e+00 2.6018728780715126e+00 0 1 0 +2590 1 0.0000000000000000e+00 7.5579554621881773e-01 8.7016388946555914e+00 3.5264831368439573e+00 -2 5 -4 +76 1 0.0000000000000000e+00 2.2458320751113048e+00 7.7012765706640813e+00 3.7275847182040382e+00 -1 -2 1 +2208 1 0.0000000000000000e+00 2.3803695609466367e+00 8.3064881095288605e+00 2.5969537645995380e+00 -1 3 -1 +2615 1 0.0000000000000000e+00 1.5106996230182559e+00 9.1829060843198551e+00 4.0903561476924670e+00 1 -1 -7 +139 1 0.0000000000000000e+00 1.4976996235790896e+00 8.0679337157797946e+00 2.8137074494097258e+00 -4 1 -6 +1080 1 0.0000000000000000e+00 5.4226577650767306e-02 8.9265049620459447e+00 2.6222316653833451e+00 -3 -2 1 +1674 1 0.0000000000000000e+00 1.3340851800978373e+00 8.9855003617833038e+00 2.5207021679532979e+00 -9 4 -2 +2745 1 0.0000000000000000e+00 1.3340407929406688e+00 8.8995278469635437e+00 4.3274980758821506e+00 1 -3 3 +766 1 0.0000000000000000e+00 2.0965603760482172e+00 9.7989232998312623e+00 3.9568248941704067e+00 1 -2 5 +1907 1 0.0000000000000000e+00 1.9521806780411084e+00 8.8755373448117165e+00 3.3230054726607632e+00 5 -3 -2 +2691 1 0.0000000000000000e+00 1.1925373186232762e+00 9.3305754472578606e+00 3.3187578278321319e+00 2 3 2 +2564 1 0.0000000000000000e+00 2.0373478148491735e+00 8.9377663000351095e+00 2.9390061326557717e+00 -6 0 1 +2695 1 0.0000000000000000e+00 6.4885896253485176e-01 9.5178924236288509e+00 3.5986383970592661e+00 -1 -9 -1 +1615 1 0.0000000000000000e+00 1.2259751651212880e+00 8.2596598425650605e+00 4.4416620785436081e+00 1 -2 2 +1119 1 0.0000000000000000e+00 1.9464021992975751e+00 7.7719008277755313e+00 4.2852028706658345e+00 -2 -1 2 +2786 1 0.0000000000000000e+00 6.8870979941325228e-01 8.2241197379715985e+00 3.4198784239557880e+00 9 4 3 +432 1 0.0000000000000000e+00 1.2349769370847514e+00 9.6432244719963123e+00 4.2057119338455751e+00 -1 -2 -8 +283 1 0.0000000000000000e+00 3.6598993648884632e+00 9.3567350355410852e+00 2.6951626983244377e+00 -1 -7 1 +2178 1 0.0000000000000000e+00 4.5572002085478891e+00 7.5410009297162146e+00 4.3713164448617832e+00 -2 -3 2 +1423 1 0.0000000000000000e+00 3.6653957114724864e+00 9.8376288043497784e+00 3.3063386816664146e+00 -1 -2 -7 +35 1 0.0000000000000000e+00 4.8195374510719091e+00 9.1939715045337493e+00 3.9393657490946299e+00 5 5 -2 +229 1 0.0000000000000000e+00 4.2495219111023079e+00 9.4212047585673719e+00 4.0674671730840064e+00 -3 -1 2 +230 1 0.0000000000000000e+00 3.0908461288568234e+00 9.8750753894230954e+00 4.9644959938699547e+00 -2 0 -6 +1717 1 0.0000000000000000e+00 3.3912721184745362e+00 9.7247171285879723e+00 2.5213563406446724e+00 7 -1 5 +926 1 0.0000000000000000e+00 4.9637051763037281e+00 8.3309354201564680e+00 4.5585656249806394e+00 5 0 5 +1139 1 0.0000000000000000e+00 4.1230123176183646e+00 8.6187442563798253e+00 3.9518781635707412e+00 -1 -4 3 +1448 1 0.0000000000000000e+00 4.6203727893581163e+00 8.1573976404557342e+00 3.5516353720205665e+00 2 2 0 +1434 1 0.0000000000000000e+00 3.0590328673764073e+00 7.7780402685808818e+00 4.8636172358282961e+00 -8 5 -8 +907 1 0.0000000000000000e+00 2.6792522825796419e+00 8.4150925430279635e+00 3.3248985475298030e+00 0 3 -5 +1773 1 0.0000000000000000e+00 2.6106240745287859e+00 9.2507091283537193e+00 3.7022036251928685e+00 4 -1 4 +798 1 0.0000000000000000e+00 3.7543371266058707e+00 8.1629531150401000e+00 4.5989060427600261e+00 5 2 0 +1698 1 0.0000000000000000e+00 4.0879469371190060e+00 9.8393385139436784e+00 3.6576889673172994e+00 3 2 1 +1618 1 0.0000000000000000e+00 2.9661975580743953e+00 7.8140927581312072e+00 3.0721878623160754e+00 1 3 0 +373 1 0.0000000000000000e+00 3.9792638246320640e+00 7.5217232752189629e+00 4.1290376031347735e+00 1 -4 6 +1543 1 0.0000000000000000e+00 2.9312389339124789e+00 8.3747623327389622e+00 4.0709765771239246e+00 5 -6 4 +2518 1 0.0000000000000000e+00 4.5464689793524240e+00 8.1298093501801887e+00 4.6908572772816939e+00 1 -4 -5 +284 1 0.0000000000000000e+00 4.1068082504493519e+00 9.9563471928420455e+00 4.9716378973743520e+00 -1 8 1 +323 1 0.0000000000000000e+00 3.8060677590295686e+00 8.8437402916077570e+00 4.0361847619702376e+00 4 -2 0 +2701 1 0.0000000000000000e+00 3.2320397743443237e+00 9.0644498008882639e+00 3.7755073844349503e+00 -1 4 3 +219 1 0.0000000000000000e+00 2.6980423633817439e+00 9.3005588174004110e+00 4.5249128784403698e+00 -2 -1 -7 +2053 1 0.0000000000000000e+00 4.0524025810528173e+00 7.7146500124956212e+00 3.3075171956453358e+00 -1 -4 7 +694 1 0.0000000000000000e+00 3.8456743096021362e+00 7.5810630408079831e+00 4.7319983216702388e+00 -3 1 3 +2491 1 0.0000000000000000e+00 3.5190734457201658e+00 9.6087433840126071e+00 4.1439113509092147e+00 1 2 -5 +511 1 0.0000000000000000e+00 3.4153383013763028e+00 8.6678752821291756e+00 2.9520201916294360e+00 -1 -6 -3 +2383 1 0.0000000000000000e+00 3.1629981660718576e+00 7.5845620736996917e+00 3.8677122530361401e+00 -1 5 4 +362 1 0.0000000000000000e+00 3.6136925865225806e+00 7.9801362864522085e+00 2.6594586192010863e+00 3 -4 0 +2489 1 0.0000000000000000e+00 4.4976401853452925e+00 8.6688984423426341e+00 3.8065549216457661e+00 0 7 -3 +179 1 0.0000000000000000e+00 4.9226353093368749e+00 9.7786390390695122e+00 4.4985114255827119e+00 5 -3 -2 +1767 1 0.0000000000000000e+00 4.8154144239544738e+00 8.8279849370030252e+00 2.9136210306496357e+00 -7 -2 -1 +1837 1 0.0000000000000000e+00 4.3968122453431837e+00 9.6288095147491024e+00 2.8257347368134789e+00 1 -6 11 +2244 1 0.0000000000000000e+00 4.7577192730222411e+00 8.8407409590240000e+00 4.9550340152313446e+00 -2 -5 1 +415 1 0.0000000000000000e+00 3.0687010761598152e+00 8.6147964995249371e+00 4.8702038657806410e+00 -5 2 3 +883 1 0.0000000000000000e+00 3.1997522885537162e+00 8.2297348619086250e+00 3.4034772273032798e+00 0 -5 8 +2264 1 0.0000000000000000e+00 4.9385559586024446e+00 9.5386401597168504e+00 3.1115734744265677e+00 -1 5 0 +2565 1 0.0000000000000000e+00 2.6447930686403303e+00 8.0013728759125495e+00 4.8867799870994570e+00 -1 5 -1 +752 1 0.0000000000000000e+00 2.9924883868065728e+00 8.8989918733918358e+00 3.2514940313988756e+00 0 -2 1 +361 1 0.0000000000000000e+00 4.2699058513809680e+00 9.5598611046200688e+00 4.3175684677727189e+00 -4 -2 6 +2342 1 0.0000000000000000e+00 2.8026386972085642e+00 9.4853683899691337e+00 2.8380453434924000e+00 -3 -2 1 +1739 1 0.0000000000000000e+00 4.7894944920367353e+00 9.1038048162900278e+00 3.5883808990305841e+00 -4 -2 -5 +1209 1 0.0000000000000000e+00 3.7309510152179617e+00 7.8049274848269059e+00 3.3164526565112009e+00 0 1 1 +1756 1 0.0000000000000000e+00 4.4064540417309344e+00 8.3452172796373674e+00 2.9126122484164445e+00 2 0 -2 +1391 1 0.0000000000000000e+00 3.8831825134206199e+00 8.8733016206055950e+00 3.2029469738370291e+00 -10 -1 -1 +418 1 0.0000000000000000e+00 2.5773085435115943e+00 9.7836585911704770e+00 4.2414994444448872e+00 -2 -10 -1 +2601 1 0.0000000000000000e+00 2.9043669421451686e+00 7.6233528273078637e+00 2.5875104313850117e+00 -1 4 -3 +2194 1 0.0000000000000000e+00 2.4362575048990367e+00 7.4117275076575648e+00 5.2822637467960583e+00 0 1 -1 +707 1 0.0000000000000000e+00 1.3772023595826155e+00 5.7378050912040344e+00 6.8843289086250570e+00 1 -2 0 +988 1 0.0000000000000000e+00 2.0984257343334888e-02 6.6733040943444948e+00 5.1987926828965598e+00 -5 1 3 +611 1 0.0000000000000000e+00 5.6458964104891818e-01 5.1708045836325986e+00 7.1643414995712558e+00 3 -4 -3 +304 1 0.0000000000000000e+00 1.8375497529224958e+00 6.1030453652896508e+00 6.2753953811341194e+00 2 -2 1 +2392 1 0.0000000000000000e+00 2.5128616817087013e-01 5.8114859856341701e+00 5.5735694673753056e+00 -4 3 -1 +130 1 0.0000000000000000e+00 6.5267402776256778e-01 7.0292981060250801e+00 5.7760395268910818e+00 3 -2 2 +1459 1 0.0000000000000000e+00 8.7976498615225074e-01 5.9284779761153743e+00 5.8443061543985770e+00 1 -9 5 +2182 1 0.0000000000000000e+00 1.0237759072438548e+00 5.2087650418606826e+00 5.6845910983093200e+00 1 0 -2 +1626 1 0.0000000000000000e+00 1.3263622568447766e+00 5.5267366308159360e+00 7.1799106707990727e+00 6 1 -6 +2816 2 -1.0000000000000000e+00 2.1764761238526273e+00 7.4443849239935540e+00 5.9324935704789574e+00 1 0 6 +1595 1 0.0000000000000000e+00 1.6197075290422283e-01 6.0919435570528941e+00 6.5171996482895080e+00 3 -2 -4 +2834 2 -1.0000000000000000e+00 6.6117235423782217e-01 6.1653262099060093e+00 6.7685149607540875e+00 4 -2 -1 +2385 1 0.0000000000000000e+00 1.5815514056491233e+00 7.3141107209010894e+00 6.7897954173004793e+00 -4 -5 -1 +207 1 0.0000000000000000e+00 7.0169657922252326e-01 7.3346022940393869e+00 7.3615848308604237e+00 5 0 -3 +476 1 0.0000000000000000e+00 5.8204577046938266e-01 5.4588161485913629e+00 6.0897702990625557e+00 3 0 1 +737 1 0.0000000000000000e+00 2.0994271742118369e+00 6.8263881753122426e+00 6.1311148573719745e+00 -3 2 1 +1016 1 0.0000000000000000e+00 1.8319964729205107e+00 7.1793441171844847e+00 5.6197789936864844e+00 -3 5 0 +2202 1 0.0000000000000000e+00 2.4973654699699837e+00 6.2782942369974020e+00 5.6971716315778309e+00 4 3 0 +2193 1 0.0000000000000000e+00 8.5130672913143768e-01 6.5249826975069576e+00 5.7189412621946012e+00 -4 -1 -4 +2814 2 -1.0000000000000000e+00 1.2201504805676535e+00 6.7606091386039591e+00 6.4497868173517912e+00 -1 -6 5 +326 1 0.0000000000000000e+00 2.3958857074987097e-01 5.0584605226895949e+00 5.4175749597646403e+00 7 3 2 +1789 1 0.0000000000000000e+00 1.3924149770333929e+00 6.7151095264580496e+00 5.5018902781898236e+00 2 -2 -4 +174 1 0.0000000000000000e+00 1.7174072746987623e+00 6.3844068217440668e+00 6.7131764612168157e+00 -1 -3 4 +2443 1 0.0000000000000000e+00 1.5429251092510445e+00 5.1947089316246000e+00 6.2481663802685645e+00 -2 1 -1 +460 1 0.0000000000000000e+00 1.0542459403688411e+00 5.4821160549310353e+00 5.1527039980843750e+00 1 -1 5 +1309 1 0.0000000000000000e+00 1.8489426201840131e+00 5.5403292528871591e+00 6.0279536045315929e+00 1 -3 -2 +1790 1 0.0000000000000000e+00 2.2889242769304987e+00 6.4365630022267473e+00 6.8835491164096130e+00 1 -1 8 +760 1 0.0000000000000000e+00 1.6559997000793154e+00 6.8232694429763470e+00 6.7347326551111264e+00 6 0 1 +165 1 0.0000000000000000e+00 1.7619621725953598e+00 5.1472245533602914e+00 7.4134562679963443e+00 -6 1 0 +781 1 0.0000000000000000e+00 1.2540757099826045e+00 7.2847203138631533e+00 5.5038721657703000e+00 0 -4 -3 +2052 1 0.0000000000000000e+00 1.7187456485668124e+00 5.7696929273077231e+00 5.3854840788815981e+00 2 1 6 +844 1 0.0000000000000000e+00 7.6313099409986263e-01 6.1929113011114998e+00 5.0555263583785415e+00 3 4 3 +408 1 0.0000000000000000e+00 1.9536343048688221e+00 5.5687834439333530e+00 6.7528083410339352e+00 1 -1 1 +2920 3 1.0000000000000000e+00 1.6354948510022382e+00 6.3133290036249008e+00 5.7469934031251126e+00 -8 5 0 +1316 1 0.0000000000000000e+00 2.1317090136240857e+00 6.7954914353950739e+00 5.2561487602129766e+00 3 -6 1 +2234 1 0.0000000000000000e+00 3.0180269733010034e-01 7.4302012775715287e+00 5.1337359011109802e+00 1 2 -7 +1359 1 0.0000000000000000e+00 5.7581669276547220e-01 6.7428290404918094e+00 7.0766845143858097e+00 -1 5 4 +1943 1 0.0000000000000000e+00 1.3950566164979157e+00 6.0474892730674563e+00 6.2368542898220278e+00 -4 -1 3 +1177 1 0.0000000000000000e+00 6.0417538395988635e-01 5.5151649914702841e+00 6.8643420571685692e+00 1 3 4 +1929 1 0.0000000000000000e+00 1.6226463879439421e+00 5.4190012239963696e+00 5.4411678076107242e+00 3 -4 1 +2732 1 0.0000000000000000e+00 2.1811315242634857e+00 5.0975404705575977e+00 5.7309994503609696e+00 1 0 3 +755 1 0.0000000000000000e+00 1.6369255377301598e-01 6.5763750508799204e+00 5.9882068076948851e+00 -3 -4 2 +1658 1 0.0000000000000000e+00 1.3805112438962714e+00 6.4144862915397676e+00 7.4825401991467668e+00 -4 -3 -1 +2457 1 0.0000000000000000e+00 8.6682559417383065e-01 6.9112216396983834e+00 7.3685001941413457e+00 10 -6 -1 +2575 1 0.0000000000000000e+00 1.0648233312834070e+00 5.7155180059278701e+00 7.4930615755399943e+00 -2 3 -3 +2450 1 0.0000000000000000e+00 3.6098867116160044e-01 5.3236023043909304e+00 5.0116470129445005e+00 2 4 0 +2978 3 1.0000000000000000e+00 4.4633182658868824e+00 6.2731666029151087e+00 6.2296476729215922e+00 5 -1 -2 +968 1 0.0000000000000000e+00 4.5193158838764687e+00 5.2229209801627823e+00 5.0178105476869419e+00 7 -1 0 +1170 1 0.0000000000000000e+00 4.5048355281598056e+00 5.4604661275174173e+00 6.2324969252231162e+00 5 0 -3 +1828 1 0.0000000000000000e+00 4.4061946210244596e+00 7.0013521412201856e+00 5.1925438048644219e+00 2 -2 0 +1168 1 0.0000000000000000e+00 2.8297733246672765e+00 7.3074799782681428e+00 6.8566945096520584e+00 4 6 -1 +1183 1 0.0000000000000000e+00 3.8514667252772421e+00 5.7592586959545704e+00 6.1800429947966320e+00 1 -2 3 +1568 1 0.0000000000000000e+00 4.2703308764338939e+00 5.0898718698048331e+00 6.1292080268101206e+00 1 -3 -1 +260 1 0.0000000000000000e+00 3.5040998646488011e+00 6.5089787289705026e+00 7.3015453820148295e+00 -4 1 2 +515 1 0.0000000000000000e+00 2.7231439235387658e+00 6.8571421542735473e+00 5.7198009262528036e+00 -7 -3 -1 +407 1 0.0000000000000000e+00 4.6878842682715565e+00 5.5216001378083686e+00 5.9904695941001895e+00 7 0 1 +1570 1 0.0000000000000000e+00 4.0309006109466905e+00 6.3644282563707000e+00 5.4840772936775766e+00 -1 -1 -4 +547 1 0.0000000000000000e+00 3.2350057499426708e+00 6.9616727484857588e+00 5.4563272578138511e+00 -3 0 2 +2885 2 -1.0000000000000000e+00 3.6084791901510482e+00 7.2109135568686540e+00 5.2014253185533281e+00 1 1 -4 +1218 1 0.0000000000000000e+00 3.3337001777529700e+00 6.5280123520379645e+00 6.8435328668809055e+00 -3 2 0 +2499 1 0.0000000000000000e+00 4.8630093365318059e+00 6.5083853648479852e+00 6.5799264426518684e+00 1 -2 4 +2239 1 0.0000000000000000e+00 3.9911524004029841e+00 5.2840292834003382e+00 5.5966476911201868e+00 -6 7 0 +2640 1 0.0000000000000000e+00 2.7280393481230059e+00 7.4026454067854015e+00 6.4380224100827368e+00 2 0 2 +2748 1 0.0000000000000000e+00 3.9513642310970365e+00 6.2815900323261351e+00 6.4733259941463936e+00 1 1 -4 +1838 1 0.0000000000000000e+00 2.7618114472511883e+00 6.7982272093894514e+00 6.3908473859021608e+00 -2 -9 4 +2505 1 0.0000000000000000e+00 3.4507501407374788e+00 6.8884350103528789e+00 6.3417357327585409e+00 0 -1 1 +2471 1 0.0000000000000000e+00 3.7794206053224704e+00 5.2779583478341356e+00 6.9491109695435380e+00 -1 -3 -1 +2613 1 0.0000000000000000e+00 4.0556647098058374e+00 7.0551067788733759e+00 6.1804347840041327e+00 -1 3 9 +251 1 0.0000000000000000e+00 3.2519608688046584e+00 6.1774226941453847e+00 6.0751492204991893e+00 -5 0 -2 +2322 1 0.0000000000000000e+00 4.4964661097353860e+00 7.0358730483086660e+00 7.2083657872582547e+00 6 -1 7 +633 1 0.0000000000000000e+00 2.7712648900955195e+00 5.1221707879313092e+00 5.2136712017016897e+00 -3 -3 4 +316 1 0.0000000000000000e+00 4.1440284115824282e+00 6.2296664185191206e+00 7.2060732307407376e+00 -2 -4 3 +1013 1 0.0000000000000000e+00 4.1383996310462647e+00 5.8634027557021637e+00 5.2172464981664346e+00 0 6 4 +406 1 0.0000000000000000e+00 3.1344432902509549e+00 6.1690285442681372e+00 7.2649437315663175e+00 5 -4 5 +743 1 0.0000000000000000e+00 2.7805626133400456e+00 5.7293949041867807e+00 7.0912312485339397e+00 0 2 -1 +394 1 0.0000000000000000e+00 4.2898574814300821e+00 7.3733134321903204e+00 6.6256682113920329e+00 -2 0 -1 +651 1 0.0000000000000000e+00 3.3722990032346187e+00 5.2467669588954857e+00 6.4044332478333112e+00 -4 3 4 +793 1 0.0000000000000000e+00 4.0007262321371089e+00 6.9970868521875156e+00 7.1409741717195425e+00 -4 1 1 +1559 1 0.0000000000000000e+00 3.3833660369186158e+00 6.6582413770604001e+00 5.7390285051477843e+00 1 -1 -5 +1613 1 0.0000000000000000e+00 3.8650132680743514e+00 5.9166942814259826e+00 6.9837609929717068e+00 -1 -3 -4 +147 1 0.0000000000000000e+00 4.8472112009929909e+00 5.4903359563208323e+00 6.8024572497742843e+00 0 1 3 +1713 1 0.0000000000000000e+00 4.5925341034344829e+00 6.1638310552406868e+00 7.1056085450172262e+00 1 2 2 +393 1 0.0000000000000000e+00 3.0009977797136664e+00 6.5261692700798832e+00 5.1407043671905219e+00 -3 2 3 +1242 1 0.0000000000000000e+00 3.0655417258707325e+00 6.0611556365525869e+00 5.2108009970794322e+00 2 -7 -5 +2007 1 0.0000000000000000e+00 2.5107705588420943e+00 5.7406550348068510e+00 6.6604139663136497e+00 -6 -7 -1 +773 1 0.0000000000000000e+00 3.3331217123934520e+00 5.5013556074136796e+00 5.4241819818803307e+00 0 -1 1 +2116 1 0.0000000000000000e+00 4.5164820833912298e+00 6.7836290672641395e+00 6.0510006112855175e+00 4 4 -3 +1358 1 0.0000000000000000e+00 4.8201384743009026e+00 6.2129389968138371e+00 5.2807599490317259e+00 -2 1 1 +921 1 0.0000000000000000e+00 2.9254176675444663e+00 5.9307419206595853e+00 6.3320782178686139e+00 2 -7 1 +2684 1 0.0000000000000000e+00 4.5897964082967935e+00 5.4778465819343030e+00 7.4662805725709926e+00 2 0 -5 +2367 1 0.0000000000000000e+00 4.9415161974469903e+00 6.7798046891616943e+00 7.4184576073149886e+00 -7 2 0 +2325 1 0.0000000000000000e+00 3.7786795088463756e+00 5.4561996865620452e+00 5.0231665423254128e+00 -2 -3 0 +2036 1 0.0000000000000000e+00 4.9381750535504754e+00 5.0632520151591356e+00 5.1990302861076216e+00 -8 2 4 +1073 1 0.0000000000000000e+00 2.4339334406819707e-01 8.4716659084117829e+00 5.5412189574279846e+00 3 4 0 +2525 1 0.0000000000000000e+00 1.1525964863741633e+00 9.8349058899245883e+00 6.4234296636277257e+00 4 -4 1 +754 1 0.0000000000000000e+00 1.0767498328555425e+00 9.9782506272267302e+00 7.1452085300259762e+00 -2 2 0 +1931 1 0.0000000000000000e+00 3.9011067114640086e-01 7.8743304996507746e+00 6.5134026458188590e+00 4 -6 -2 +2210 1 0.0000000000000000e+00 3.5893367651205238e-01 8.7071271813247755e+00 6.4623616476770165e+00 -1 1 -3 +2763 1 0.0000000000000000e+00 1.9520246496585969e+00 9.9958072340866782e+00 6.0717330351164209e+00 4 -9 -1 +1695 1 0.0000000000000000e+00 2.0673531019458169e+00 9.3670387495158369e+00 5.8259723361184417e+00 2 -1 4 +1176 1 0.0000000000000000e+00 1.1490390627456624e+00 9.2544275775697749e+00 5.8207498797513963e+00 10 -1 -3 +599 1 0.0000000000000000e+00 1.9574710878530666e+00 7.6405767673510043e+00 6.4463910044852302e+00 4 -2 -2 +477 1 0.0000000000000000e+00 1.5590473131283789e+00 7.5733879239581583e+00 5.1409180592984933e+00 -3 0 6 +1104 1 0.0000000000000000e+00 1.6491159329431840e-01 7.8081171758227406e+00 5.4748197394539444e+00 3 1 0 +2281 1 0.0000000000000000e+00 1.4190526769250262e+00 7.8225099198640526e+00 6.7008174973828138e+00 -4 6 1 +1420 1 0.0000000000000000e+00 2.6399624730251020e-01 8.6195871627819152e+00 6.2592001753557298e+00 3 0 1 +690 1 0.0000000000000000e+00 2.5008107488913756e-01 8.3294763862494854e+00 7.3787812240745945e+00 3 -1 -2 +1098 1 0.0000000000000000e+00 1.2824168850462105e+00 8.4098160892926135e+00 6.2357048681790426e+00 0 2 1 +1875 1 0.0000000000000000e+00 2.3661152614303962e-01 7.5610458478907656e+00 6.0624792046796623e+00 7 -5 -4 +1740 1 0.0000000000000000e+00 1.6742067552245028e+00 9.3616623226071098e+00 6.6014965324537638e+00 8 3 1 +81 1 0.0000000000000000e+00 1.8632187900127390e+00 7.9288952893412628e+00 6.9257083340315182e+00 3 1 1 +2605 1 0.0000000000000000e+00 1.6175570247221049e+00 8.8053866229660400e+00 6.9155427178655779e+00 2 -2 -2 +2365 1 0.0000000000000000e+00 1.7687010400294030e+00 8.8360799393222873e+00 6.1018965410088759e+00 0 3 -1 +1214 1 0.0000000000000000e+00 2.4644985434710365e+00 9.0292587724595172e+00 6.7464098734082452e+00 3 6 -7 +2044 1 0.0000000000000000e+00 9.6206831527852965e-01 8.7486030147460951e+00 6.5335599995238711e+00 5 -4 -4 +2090 1 0.0000000000000000e+00 1.5907795380338063e+00 9.7782492166681809e+00 5.4863293341134201e+00 1 4 1 +141 1 0.0000000000000000e+00 1.7263639337197443e+00 9.2830100341178330e+00 7.3691807493888319e+00 2 -1 -3 +1846 1 0.0000000000000000e+00 1.0222100162362548e+00 7.7312547857709264e+00 6.2753387581672664e+00 4 7 0 +553 1 0.0000000000000000e+00 2.1641431809663954e+00 8.3769886227780646e+00 5.7010403803625804e+00 4 -3 -3 +2726 1 0.0000000000000000e+00 3.4268153212362124e-01 9.3674799784283529e+00 6.5435613377800985e+00 -2 3 2 +728 1 0.0000000000000000e+00 2.4676477833487249e+00 9.5177962602268451e+00 5.4620581163497892e+00 2 -1 -2 +1325 1 0.0000000000000000e+00 2.1988577597925465e+00 9.9923686428649923e+00 6.9267816442420536e+00 -2 -2 -1 +2753 1 0.0000000000000000e+00 5.5802761643389953e-01 7.6197949772816305e+00 6.8602696576392077e+00 5 2 -2 +487 1 0.0000000000000000e+00 1.3225686020615652e+00 9.4890609015190002e+00 5.1528492960009125e+00 6 -2 6 +697 1 0.0000000000000000e+00 1.0060633234272303e+00 7.8023079300452212e+00 5.7621154973261897e+00 5 -2 -7 +2019 1 0.0000000000000000e+00 8.1936103437330110e-01 8.4584136559024845e+00 5.6563227027838403e+00 1 1 8 +2086 1 0.0000000000000000e+00 9.1998522537964067e-01 9.1868487952226037e+00 7.1899648435181307e+00 -7 -5 -6 +551 1 0.0000000000000000e+00 1.5193630876655226e+00 8.6169457270049694e+00 5.3339513414469328e+00 2 -2 0 +831 1 0.0000000000000000e+00 1.3338359996180893e+00 8.7774605676407091e+00 7.1291434571401888e+00 1 -2 6 +946 1 0.0000000000000000e+00 2.3822969604614586e+00 8.5339181569002562e+00 6.7029332446728409e+00 -1 1 8 +1714 1 0.0000000000000000e+00 9.0449759971003296e-01 7.9910646855642895e+00 5.1005667637422256e+00 -1 2 3 +2118 1 0.0000000000000000e+00 7.0082268985530549e-01 8.1158584756187171e+00 6.9657158064260374e+00 -5 -4 2 +1131 1 0.0000000000000000e+00 2.0792955190481246e+00 8.2793018133994973e+00 7.2474296016935682e+00 -1 2 3 +2396 1 0.0000000000000000e+00 3.3584136852056290e-01 9.8617776757502966e+00 5.3365626897219514e+00 2 3 4 +9 1 0.0000000000000000e+00 8.8136989112050712e-01 9.7660800640504597e+00 6.0782402840302954e+00 -3 -5 -4 +2199 1 0.0000000000000000e+00 2.0759550538725300e+00 8.1913648242158512e+00 5.0006653270563408e+00 -2 -5 -1 +2596 1 0.0000000000000000e+00 1.8830242739103471e+00 8.0479931395437454e+00 5.6676216057464721e+00 1 5 2 +1997 1 0.0000000000000000e+00 6.3005702764977689e-01 9.0581669899433255e+00 5.8324412336144933e+00 -1 4 1 +1390 1 0.0000000000000000e+00 1.6717188875219402e+00 8.2288253683544248e+00 6.3608020521264033e+00 2 -4 -4 +2882 2 -1.0000000000000000e+00 2.6969590494999257e-01 8.9185386095042336e+00 5.0181658894469736e+00 3 -1 1 +2350 1 0.0000000000000000e+00 3.2214526879058475e-01 9.7341342901176606e+00 7.4462014247248218e+00 2 -3 4 +2950 3 1.0000000000000000e+00 8.6142029199373660e-01 9.2058373239140305e+00 5.1127294021519445e+00 0 1 2 +1473 1 0.0000000000000000e+00 3.6289166595983760e-02 7.6947514900750456e+00 7.2172547494056998e+00 5 3 -4 +2113 1 0.0000000000000000e+00 2.3487091733062200e+00 9.3705787751869725e+00 7.4821192917686856e+00 5 0 1 +2183 1 0.0000000000000000e+00 3.4288144414901502e+00 9.5786762381222985e+00 6.3177870365449555e+00 -4 -2 -4 +1196 1 0.0000000000000000e+00 4.6380109195027162e+00 7.7857986206834990e+00 5.2349662085639865e+00 -5 4 -2 +2723 1 0.0000000000000000e+00 4.4936057740997279e+00 9.3441555312017943e+00 5.1092191987915294e+00 0 4 -1 +495 1 0.0000000000000000e+00 4.8699732784891125e+00 9.4287566797619426e+00 5.7545429121303355e+00 -2 4 4 +1107 1 0.0000000000000000e+00 3.1918607684127411e+00 9.0996304267930572e+00 6.8969366484367303e+00 2 0 3 +1764 1 0.0000000000000000e+00 3.3913599794149762e+00 9.4126187314855390e+00 5.6273732819340028e+00 1 0 -2 +943 1 0.0000000000000000e+00 2.6876585237229289e+00 8.8713496661415228e+00 5.3560816705302274e+00 1 -7 2 +2942 3 1.0000000000000000e+00 4.1228430476947047e+00 8.9316540020648638e+00 5.0126356139849957e+00 0 -2 0 +2571 1 0.0000000000000000e+00 3.2973955271001607e+00 8.4433575950720652e+00 6.5659209189238297e+00 10 -1 4 +2323 1 0.0000000000000000e+00 4.7695054983356782e+00 8.5890756852375656e+00 5.7748791768655909e+00 0 6 -1 +1924 1 0.0000000000000000e+00 2.7624237826167417e+00 8.4002837784493849e+00 6.2030117178702140e+00 -1 0 2 +1849 1 0.0000000000000000e+00 2.8556114051717789e+00 7.8369720513065682e+00 6.6635396473769077e+00 0 -1 1 +2092 1 0.0000000000000000e+00 4.4066163457619503e+00 8.8104513943925102e+00 6.3948632909889742e+00 0 -2 -6 +1858 1 0.0000000000000000e+00 4.2247061401088501e+00 9.7485373789881749e+00 6.7775516584893856e+00 5 -4 0 +1918 1 0.0000000000000000e+00 3.7005013322160272e+00 8.2872884749418496e+00 7.1179345211972107e+00 -2 -1 0 +1392 1 0.0000000000000000e+00 2.6189535131658950e+00 9.5626488708439012e+00 5.0705494120049099e+00 3 -1 4 +2014 1 0.0000000000000000e+00 4.4537651548611423e+00 8.7255871990367240e+00 7.0358333768027910e+00 1 -3 -4 +2263 1 0.0000000000000000e+00 4.2916238703408691e+00 9.7723943252698273e+00 7.2837396810986448e+00 -4 2 -4 +1432 1 0.0000000000000000e+00 2.9172437522314612e+00 9.1748904067000989e+00 6.0124815507859832e+00 3 3 -6 +2497 1 0.0000000000000000e+00 3.2863539509361988e+00 9.3348881254386900e+00 7.1518284410925430e+00 -3 -4 -1 +2465 1 0.0000000000000000e+00 2.7829786256084246e+00 9.7307624628728195e+00 7.3856327174773133e+00 4 10 -8 +1731 1 0.0000000000000000e+00 3.4649881650297534e+00 9.4313249677939233e+00 5.1450021780994879e+00 6 0 2 +1955 1 0.0000000000000000e+00 3.4191540611179070e+00 7.7142805518543023e+00 5.9417435262865954e+00 1 0 0 +1760 1 0.0000000000000000e+00 4.5036328658009506e+00 9.9332981115114549e+00 6.2808641298493209e+00 -2 2 -2 +1353 1 0.0000000000000000e+00 4.0488980876692979e+00 8.0081365184646582e+00 5.4632957933669291e+00 9 5 1 +2054 1 0.0000000000000000e+00 4.9271600699287363e+00 9.7545999579462901e+00 7.1882122633447540e+00 -3 -3 -5 +2653 1 0.0000000000000000e+00 3.8260233670715866e+00 7.6775330602670104e+00 5.5574542764248944e+00 -7 7 1 +2606 1 0.0000000000000000e+00 4.4366760062397663e+00 9.2704455581047736e+00 6.7511646030506114e+00 3 5 4 +2784 1 0.0000000000000000e+00 2.9143865685634815e+00 8.4125485695081927e+00 7.2621022520930705e+00 -1 -1 -2 +1450 1 0.0000000000000000e+00 4.4370429217547747e+00 9.5134759483678693e+00 5.9106070744285191e+00 -4 -3 -3 +2225 1 0.0000000000000000e+00 2.5165746331033501e+00 7.8846996338860436e+00 5.4504038286874223e+00 1 3 2 +2866 2 -1.0000000000000000e+00 3.3244042526467661e+00 8.0838583983612580e+00 5.5003622120541626e+00 2 0 -1 +1378 1 0.0000000000000000e+00 4.2849888038786750e+00 8.2190611578078894e+00 6.0557870280548407e+00 6 -1 1 +2528 1 0.0000000000000000e+00 2.5071028295993316e+00 9.2803340595043142e+00 6.1719918559021743e+00 4 -6 -1 +462 1 0.0000000000000000e+00 3.9276800616199266e+00 7.8446152923772896e+00 6.3291271017652617e+00 -1 2 -2 +14 1 0.0000000000000000e+00 2.9869934052437546e+00 8.0572005506246640e+00 5.7822464909388520e+00 -7 -3 7 +1460 1 0.0000000000000000e+00 4.5775206501942867e+00 7.5885326129465724e+00 5.7375142253343165e+00 1 1 0 +2397 1 0.0000000000000000e+00 2.8421987449796946e+00 7.7362156702890905e+00 7.2566838417756019e+00 -2 6 2 +616 1 0.0000000000000000e+00 4.3395242715410589e+00 8.2149190349456251e+00 6.6431732606813094e+00 0 2 3 +2538 1 0.0000000000000000e+00 4.5636925728964286e+00 7.8703573366236865e+00 7.1831139459825035e+00 5 -4 0 +2387 1 0.0000000000000000e+00 3.3558004005911770e+00 8.7327314408628780e+00 5.9782590974852576e+00 2 7 -1 +1179 1 0.0000000000000000e+00 3.8410974474500055e+00 9.2534709756024682e+00 6.0833049779878534e+00 -4 4 0 +2889 2 -1.0000000000000000e+00 4.9234417767751202e+00 7.7030914866681934e+00 7.0672308977550653e+00 0 3 -4 +1694 1 0.0000000000000000e+00 4.0586518014146504e+00 9.9567414210609293e+00 5.4905435585953102e+00 -2 -4 0 +2172 1 0.0000000000000000e+00 3.8373225797760626e+00 8.8188122503008852e+00 5.4481173263223113e+00 4 -11 -1 +582 1 0.0000000000000000e+00 4.8406071250512026e+00 9.1029310359943540e+00 7.4958520223013716e+00 2 -3 3 +2991 3 1.0000000000000000e+00 1.5215402220854910e+00 6.2635790042992721e+00 9.2710942495090407e+00 4 0 3 +751 1 0.0000000000000000e+00 1.0735560042445132e-01 5.2635603620508942e+00 8.3723884026712110e+00 0 -2 -1 +574 1 0.0000000000000000e+00 3.3614944341925623e-01 6.1042550193679359e+00 7.7970891682796344e+00 -6 0 1 +2832 2 -1.0000000000000000e+00 6.9093233180610159e-01 7.2111509839740462e+00 8.9553419957132068e+00 -1 -5 5 +458 1 0.0000000000000000e+00 8.2472127047293931e-01 5.2315967890405277e+00 9.1099961946994057e+00 -2 5 -3 +1763 1 0.0000000000000000e+00 1.0581255300017647e+00 6.4652187487794350e+00 8.0147440158429575e+00 0 -2 -5 +464 1 0.0000000000000000e+00 2.2554337504007695e+00 6.1094261346481584e+00 7.5858357879903675e+00 -4 2 7 +2363 1 0.0000000000000000e+00 7.9109415517150805e-01 5.6919515149759228e+00 9.0669338589044557e+00 -2 0 1 +1974 1 0.0000000000000000e+00 1.7691755537319143e+00 5.4090851348900273e+00 9.4358271491204047e+00 0 2 -5 +2622 1 0.0000000000000000e+00 2.3912735376945795e+00 7.1222043164494950e+00 9.3066642242883528e+00 -3 -3 -2 +350 1 0.0000000000000000e+00 1.7542887668423537e+00 5.4912137758437272e+00 7.8559517909755625e+00 -2 -8 1 +17 1 0.0000000000000000e+00 1.7113307710986785e+00 6.1761788776346735e+00 9.7600090892592757e+00 -1 -6 0 +1672 1 0.0000000000000000e+00 2.2897428119214749e+00 6.1448069166798076e+00 8.4632303422792017e+00 -2 1 4 +2665 1 0.0000000000000000e+00 2.1951413632703112e+00 5.8482617430006636e+00 9.1376421840305913e+00 2 5 -7 +857 1 0.0000000000000000e+00 2.6311329365264247e-01 5.0715188009765209e+00 7.5086390491861090e+00 -3 -1 -3 +90 1 0.0000000000000000e+00 3.2321095741973910e-01 7.0810391815810734e+00 8.0614390444066082e+00 4 -3 -6 +2543 1 0.0000000000000000e+00 1.4169327431874388e+00 5.9414971884388423e+00 8.3223370903766902e+00 6 1 -1 +2969 3 1.0000000000000000e+00 5.5454519688182569e-01 6.7454857797652741e+00 9.6800931997607265e+00 3 -2 2 +2987 3 1.0000000000000000e+00 1.9647021744149975e+00 6.7691246988156140e+00 7.6037661375950609e+00 0 -7 -3 +336 1 0.0000000000000000e+00 2.1483392233599510e+00 6.9340647291987763e+00 8.4653184426552652e+00 -2 4 2 +1438 1 0.0000000000000000e+00 8.4512435165263844e-01 5.5414222539353997e+00 8.4228594082547552e+00 1 3 5 +2078 1 0.0000000000000000e+00 2.4535822523426840e+00 5.9348142173469771e+00 9.6830900338580417e+00 1 -3 -7 +924 1 0.0000000000000000e+00 1.1969392872728049e+00 7.1482512592685516e+00 8.0779540566696220e+00 3 1 -1 +1912 1 0.0000000000000000e+00 1.8243902611216782e+00 5.7292959120456128e+00 8.8936344458865655e+00 -3 3 4 +678 1 0.0000000000000000e+00 7.6078621484028630e-01 5.4164189679297037e+00 8.1721856289799941e+00 -2 -3 1 +2886 2 -1.0000000000000000e+00 1.5307206291212816e+00 6.4680489836708155e+00 9.7441075076272252e+00 3 -3 -2 +389 1 0.0000000000000000e+00 6.2732233795009640e-02 5.2649960727522487e+00 9.0097594968389760e+00 3 3 3 +576 1 0.0000000000000000e+00 1.3971369941360838e+00 7.0452743252063090e+00 9.6830168558466188e+00 -3 0 -2 +226 1 0.0000000000000000e+00 1.0372459006773906e+00 6.5163490747963477e+00 9.0146513110585591e+00 6 1 -3 +34 1 0.0000000000000000e+00 1.8012785575738437e+00 6.7720949739260057e+00 9.0272050005450684e+00 -1 -6 4 +1064 1 0.0000000000000000e+00 1.4021886122019840e+00 6.4728716058540963e+00 8.2610014717607534e+00 -2 0 -6 +2136 1 0.0000000000000000e+00 4.1865345421816280e-01 5.0027007706623330e+00 9.4234209400958502e+00 -4 3 -1 +636 1 0.0000000000000000e+00 6.0913659251945440e-01 5.8791467811225333e+00 9.7880471174462116e+00 6 -7 0 +1551 1 0.0000000000000000e+00 2.1155638106416830e+00 6.9721943846154870e+00 9.8025872958373128e+00 -3 1 2 +2442 1 0.0000000000000000e+00 4.7312150756986632e-01 6.2985022140222133e+00 8.5661944608362237e+00 -3 -2 -6 +1665 1 0.0000000000000000e+00 1.0587179763746830e+00 6.9386799977956324e+00 8.6363727404747834e+00 -1 4 2 +2876 2 -1.0000000000000000e+00 1.0178593479125915e+00 6.3743755406999947e+00 9.9122961063826747e+00 6 -1 1 +812 1 0.0000000000000000e+00 5.5720456490054984e-02 6.9332347942238393e+00 8.0464570281240544e+00 -4 5 1 +2131 1 0.0000000000000000e+00 1.6024607334555263e-01 6.8845928894587543e+00 9.3769921894710428e+00 -4 0 -1 +763 1 0.0000000000000000e+00 9.7590021949474615e-01 5.7484346197896867e+00 9.8712927536376736e+00 -3 0 2 +1220 1 0.0000000000000000e+00 1.3081064554526389e-01 6.3395503510156610e+00 8.4565471179776619e+00 -1 2 -1 +2000 1 0.0000000000000000e+00 1.2766742796352610e+00 5.3141377985182086e+00 9.8842987788911234e+00 7 -1 2 +1671 1 0.0000000000000000e+00 2.1448017975746203e+00 5.6550397267005881e+00 7.6847323828387131e+00 5 0 1 +504 1 0.0000000000000000e+00 2.7620583401578522e+00 6.4932224481997647e+00 7.9260290655821750e+00 2 -6 6 +2374 1 0.0000000000000000e+00 4.0029391664770042e+00 7.3329056135016417e+00 7.8842670146133704e+00 0 -4 0 +1476 1 0.0000000000000000e+00 3.8098972794567563e+00 5.4988943485998920e+00 7.6495109982642226e+00 0 3 -7 +2255 1 0.0000000000000000e+00 3.6770772581003279e+00 5.4869965502958902e+00 8.4801884482050411e+00 -2 -1 -6 +2369 1 0.0000000000000000e+00 3.2653904604191961e+00 6.8637384504580607e+00 7.7563849200220920e+00 -1 5 1 +1606 1 0.0000000000000000e+00 4.0810879420299386e+00 6.2315495098432967e+00 7.8064312217962399e+00 -5 0 4 +1573 1 0.0000000000000000e+00 4.4662564019048165e+00 5.3863405984210644e+00 8.0866723964340075e+00 4 -1 -4 +1686 1 0.0000000000000000e+00 3.2216257155910508e+00 5.6663052292501854e+00 9.0240912453294939e+00 6 -3 -5 +1239 1 0.0000000000000000e+00 4.1410904648516462e+00 7.3852234163415336e+00 8.4619497559500854e+00 1 0 1 +2094 1 0.0000000000000000e+00 4.3443306604236067e+00 6.4279051283400097e+00 8.6924719195560716e+00 -3 1 6 +1794 1 0.0000000000000000e+00 4.8140138934696752e+00 6.5594156015242051e+00 8.4996600838977905e+00 0 2 1 +894 1 0.0000000000000000e+00 3.6355730039503276e+00 6.5009883542104321e+00 8.7771950318355998e+00 -3 1 -2 +1645 1 0.0000000000000000e+00 4.2904802370734219e+00 6.8690738242420579e+00 9.7268153694787376e+00 -1 -8 0 +155 1 0.0000000000000000e+00 2.6037606794604904e+00 5.7925418044530854e+00 8.2639604930403543e+00 3 -1 3 +1810 1 0.0000000000000000e+00 3.0045981100772154e+00 6.4766554624734356e+00 9.7068986216262072e+00 2 5 -1 +1164 1 0.0000000000000000e+00 3.7555921251222384e+00 5.4751990300139344e+00 9.9041306328088119e+00 5 -7 0 +135 1 0.0000000000000000e+00 2.7603688828931494e+00 5.3387398754108295e+00 9.5345109254520413e+00 0 0 0 +1812 1 0.0000000000000000e+00 2.6009439372917864e+00 5.3352595121617483e+00 8.6944493518337556e+00 2 3 2 +1466 1 0.0000000000000000e+00 3.7160906474639650e+00 6.3507705432623842e+00 9.8107610884704446e+00 -2 2 -5 +1985 1 0.0000000000000000e+00 4.7437086568317897e+00 6.9800235567956408e+00 8.1434066880819156e+00 1 4 -2 +127 1 0.0000000000000000e+00 3.6210555086129688e+00 7.3097779602230997e+00 7.6106704898306070e+00 -4 2 0 +439 1 0.0000000000000000e+00 2.9178072611861849e+00 6.9187970806122392e+00 9.5633365097222587e+00 4 -2 10 +228 1 0.0000000000000000e+00 4.9916780146038011e+00 5.7624010015822407e+00 8.7607963498253731e+00 5 8 2 +2084 1 0.0000000000000000e+00 2.9566116801909934e+00 6.5379354292142624e+00 8.6092438853462276e+00 -3 4 0 +241 1 0.0000000000000000e+00 3.7909343128685538e+00 5.1704858358890462e+00 9.6182012989133625e+00 9 -2 4 +977 1 0.0000000000000000e+00 3.5437494165543009e+00 7.3979295614620320e+00 9.1334267336293475e+00 -2 0 4 +2913 3 1.0000000000000000e+00 4.3348920234027464e+00 5.9509960030045921e+00 9.4325944580923213e+00 -1 -3 3 +1647 1 0.0000000000000000e+00 4.8780339106178685e+00 7.4694387491122081e+00 8.3716117107690593e+00 -3 -1 -4 +1414 1 0.0000000000000000e+00 4.9592663823908518e+00 5.6602403075996159e+00 9.5549751322478009e+00 -4 3 1 +235 1 0.0000000000000000e+00 3.2382468200145573e+00 5.4419362794933690e+00 7.6576611145649753e+00 -2 1 -4 +447 1 0.0000000000000000e+00 3.3541157682852751e+00 5.8321570780579215e+00 8.1245618614874182e+00 -4 0 -1 +1372 1 0.0000000000000000e+00 4.5008027663928187e+00 6.0947191607030167e+00 8.0102447415249518e+00 0 -3 -8 +178 1 0.0000000000000000e+00 2.8631120740375424e+00 6.8928726423313931e+00 7.6351687102128922e+00 -2 2 8 +2258 1 0.0000000000000000e+00 2.8426594777379024e+00 7.2575574435828623e+00 8.1228559631798145e+00 0 1 -2 +2085 1 0.0000000000000000e+00 4.6103445739567901e+00 7.1107710109386852e+00 9.7326510583883792e+00 0 -1 2 +243 1 0.0000000000000000e+00 3.4653039727092745e+00 6.1523651255860781e+00 8.1972060834460194e+00 0 -3 5 +1441 1 0.0000000000000000e+00 4.8427422767049935e+00 6.4933125453344420e+00 7.7032250238438706e+00 0 -4 -3 +193 1 0.0000000000000000e+00 3.8824978650583710e+00 6.4231235757370833e+00 9.1638536266574881e+00 -2 -3 -1 +1255 1 0.0000000000000000e+00 3.3444516059543123e+00 5.9425284475426512e+00 9.5798467057460801e+00 3 1 -2 +505 1 0.0000000000000000e+00 3.3355523321368628e+00 6.8345623302338963e+00 9.3168948127903395e+00 2 0 -6 +1281 1 0.0000000000000000e+00 3.9033220449287529e+00 6.9457197570422524e+00 9.5018539257087600e+00 -3 6 -2 +1015 1 0.0000000000000000e+00 4.3135116520853067e+00 5.5598300855416651e+00 8.9794629717660257e+00 2 1 -1 +2150 1 0.0000000000000000e+00 2.6879015998312012e+00 6.3237749898976325e+00 9.0873717368016269e+00 -1 -5 0 +1750 1 0.0000000000000000e+00 3.7157352970013320e+00 6.9322411936233204e+00 8.1180623967377610e+00 -1 2 3 +600 1 0.0000000000000000e+00 2.7174673631099560e+00 7.2957632166993092e+00 8.5921063370697315e+00 7 -6 -2 +1430 1 0.0000000000000000e+00 4.9425284489429009e+00 6.6377386139247756e+00 9.1982299119342539e+00 -3 -1 -3 +2106 1 0.0000000000000000e+00 2.5141207199873441e+00 5.1364595238769226e+00 7.9991199941665565e+00 3 -2 0 +2752 1 0.0000000000000000e+00 7.1849110074764855e-01 7.8535246158548597e+00 8.6645564133326758e+00 -1 1 7 +2313 1 0.0000000000000000e+00 9.7125224960666978e-01 9.6243498687594506e+00 7.5694315328350461e+00 -2 1 3 +1247 1 0.0000000000000000e+00 6.1204352278403829e-01 9.2110524339175104e+00 9.4119043048252031e+00 5 -3 -4 +2380 1 0.0000000000000000e+00 3.8738240512166822e-01 8.8457219869856356e+00 8.7549278502163883e+00 5 -6 -1 +1802 1 0.0000000000000000e+00 4.5587447876793336e-01 7.6423617347720265e+00 8.3633730010187346e+00 1 -2 0 +1361 1 0.0000000000000000e+00 1.9085724132228323e+00 9.7055126712997950e+00 7.9862767166379527e+00 7 0 4 +2483 1 0.0000000000000000e+00 1.0979806031220332e+00 9.2133319792657780e+00 9.4925322492109032e+00 1 -3 0 +1166 1 0.0000000000000000e+00 1.5408520893532569e+00 8.7225720982884400e+00 9.0160443173083973e+00 3 -4 2 +1930 1 0.0000000000000000e+00 1.8768376773209317e+00 8.5830535692918559e+00 9.1917639804708902e+00 -2 -9 1 +1530 1 0.0000000000000000e+00 1.2002799257494210e+00 7.5141924715439350e+00 9.6369752334104071e+00 -4 -9 -3 +1820 1 0.0000000000000000e+00 1.4778690274230530e+00 9.1907835024685909e+00 8.3417092359607707e+00 4 -2 -4 +1723 1 0.0000000000000000e+00 2.2630484507620166e+00 9.6854730235109834e+00 9.0610738937909936e+00 5 -2 -3 +1680 1 0.0000000000000000e+00 9.5933633559154552e-01 9.2342805350815915e+00 8.0513229486183899e+00 2 2 0 +1605 1 0.0000000000000000e+00 4.1179584961832966e-01 8.4875827061372728e+00 7.9147091996473771e+00 -6 -5 -2 +1715 1 0.0000000000000000e+00 1.5980039742566501e+00 8.2609592125649414e+00 8.4530656622783908e+00 1 1 1 +1973 1 0.0000000000000000e+00 9.1267434419652915e-01 7.5414408668041846e+00 7.7459718265028972e+00 9 4 5 +1927 1 0.0000000000000000e+00 7.0039051842963196e-01 9.6838690658997688e+00 9.2457281299498231e+00 -4 0 0 +2315 1 0.0000000000000000e+00 7.1279828265437128e-01 8.6153293335963141e+00 9.1450684713500277e+00 1 0 1 +826 1 0.0000000000000000e+00 1.1654699276342002e+00 8.3189829671265620e+00 9.3664652925808216e+00 6 0 0 +2138 1 0.0000000000000000e+00 2.3889412560080751e-02 8.1901471532321395e+00 9.8077766303431648e+00 2 7 0 +1644 1 0.0000000000000000e+00 1.7905537867378059e+00 8.1053669471632102e+00 9.6441707238512162e+00 -6 -3 -2 +1398 1 0.0000000000000000e+00 1.8878641531028124e+00 7.5025335976920253e+00 7.5055450293024411e+00 3 0 -2 +1303 1 0.0000000000000000e+00 1.2082187931305146e+00 7.5125917814214835e+00 7.7560152567124057e+00 0 -3 0 +512 1 0.0000000000000000e+00 6.2648867957158294e-01 8.3019062641865062e+00 9.9461467083376043e+00 0 -6 2 +2067 1 0.0000000000000000e+00 2.1997515353601549e+00 8.5979167186493104e+00 9.8344740997013087e+00 -1 4 0 +692 1 0.0000000000000000e+00 2.3161888479493764e+00 8.5902634163848308e+00 7.8302408919434816e+00 1 1 3 +1233 1 0.0000000000000000e+00 2.0950022081567315e-01 9.4352265081964912e+00 8.6644272849370640e+00 6 -4 -2 +1337 1 0.0000000000000000e+00 2.1461464670120454e+00 7.7350797379852283e+00 8.9574103734155930e+00 -5 6 3 +892 1 0.0000000000000000e+00 9.3443359043109686e-01 9.8144501997886611e+00 7.9735294034461157e+00 4 -6 1 +2398 1 0.0000000000000000e+00 1.4090205992228597e+00 9.8269854226793107e+00 9.2560389620374597e+00 4 -3 -4 +123 1 0.0000000000000000e+00 1.5229725927936395e+00 7.7947704643409388e+00 8.6490179085105279e+00 1 2 4 +2010 1 0.0000000000000000e+00 6.9690903048242686e-02 9.3862642754403325e+00 8.2553334201637245e+00 3 2 2 +1903 1 0.0000000000000000e+00 1.9240995044180982e+00 7.6499632321781350e+00 9.7578747546961555e+00 9 -7 -3 +564 1 0.0000000000000000e+00 2.2437101772799206e+00 8.0142316184918378e+00 8.4034554843744012e+00 -3 -1 -1 +2337 1 0.0000000000000000e+00 2.4361043391728510e+00 8.0114954680192181e+00 7.9868733587747629e+00 -4 3 10 +214 1 0.0000000000000000e+00 4.0323017849240422e-01 7.7410200923558241e+00 9.0795186083923447e+00 -3 -3 1 +1883 1 0.0000000000000000e+00 1.7055820341969359e+00 8.6976754104026153e+00 7.9939368906399695e+00 5 -2 4 +102 1 0.0000000000000000e+00 2.0741119099302372e+00 9.3274034154729897e+00 8.5171141844759468e+00 8 -3 3 +1657 1 0.0000000000000000e+00 2.1904639822907931e-01 9.8863727511423907e+00 9.3451253982638942e+00 -6 -1 3 +1364 1 0.0000000000000000e+00 1.2158862526199601e+00 7.7309130983414240e+00 9.0552342280493647e+00 1 -2 2 +497 1 0.0000000000000000e+00 1.5145785120987245e+00 9.3887158542977680e+00 8.9572134631508682e+00 0 4 2 +1660 1 0.0000000000000000e+00 8.5470432810547403e-01 8.6016119804175784e+00 8.4897120334511307e+00 -4 -2 0 +1990 1 0.0000000000000000e+00 1.2470784357070628e+00 9.8972411427192117e+00 8.6465146363775904e+00 1 2 6 +2635 1 0.0000000000000000e+00 7.8517834958008026e-01 8.4009402385671734e+00 7.7074108592028985e+00 2 -1 -5 +1134 1 0.0000000000000000e+00 9.8050997575144427e-01 9.2211678920757940e+00 8.4925039816155810e+00 0 -3 -7 +802 1 0.0000000000000000e+00 2.3653582621609681e+00 7.5232806324397110e+00 7.6536292688521508e+00 2 1 -2 +1461 1 0.0000000000000000e+00 2.0351899809452645e+00 8.6504838832125461e+00 8.8343480676554886e+00 -7 1 0 +2800 1 0.0000000000000000e+00 2.4378020156176174e+00 9.0055449709834647e+00 9.2459956844563944e+00 -1 -4 -5 +2237 1 0.0000000000000000e+00 1.9624041924188602e+00 9.5654783522491584e+00 9.7057231885723940e+00 0 4 0 +2111 1 0.0000000000000000e+00 1.3753158222057087e+00 8.1732686498264187e+00 7.8630743320928627e+00 0 -2 7 +680 1 0.0000000000000000e+00 1.3016920071955813e+00 9.4861970323289757e+00 9.8893877998213249e+00 4 2 3 +1753 1 0.0000000000000000e+00 5.0244602314363107e-01 8.8571166779490635e+00 9.9531482616993472e+00 3 -8 -7 +114 1 0.0000000000000000e+00 6.9340349613928864e-01 9.8407102048381638e+00 9.8734370524358113e+00 3 2 5 +2047 1 0.0000000000000000e+00 2.2661367125068015e+00 9.2648745344693548e+00 9.9968919037965254e+00 -6 -2 3 +2411 1 0.0000000000000000e+00 4.2121668163413899e+00 9.0527578641395312e+00 8.3582742999209731e+00 -1 2 1 +2451 1 0.0000000000000000e+00 4.1623896527526840e+00 8.3887637737035039e+00 8.7967649915136317e+00 -2 -7 -5 +1081 1 0.0000000000000000e+00 4.3827239359968715e+00 8.0620570086853913e+00 7.6529355508770633e+00 1 5 -1 +1926 1 0.0000000000000000e+00 3.9539367310562690e+00 8.0503156887727414e+00 7.7751077571701082e+00 9 2 1 +2845 2 -1.0000000000000000e+00 3.8427031722814369e+00 7.9914846509360187e+00 9.2479259063549790e+00 -3 -1 3 +2904 3 1.0000000000000000e+00 2.5456949793713766e+00 9.6120792258161423e+00 8.0634908469058235e+00 -6 2 -3 +1406 1 0.0000000000000000e+00 4.9494894815554602e+00 8.2080632094779595e+00 7.9555243068050689e+00 -5 -5 7 +2171 1 0.0000000000000000e+00 4.0930315545043712e+00 9.8095214768450898e+00 8.8230523913004593e+00 0 -2 -1 +1935 1 0.0000000000000000e+00 4.7492881080496563e+00 8.1554764402585214e+00 8.9955750546988913e+00 1 4 1 +1180 1 0.0000000000000000e+00 3.4009547409035825e+00 8.8125383444195879e+00 8.8750738216558958e+00 2 6 3 +1534 1 0.0000000000000000e+00 4.0772850555815374e+00 7.5684706583579020e+00 9.2927492349515450e+00 0 2 -4 +2795 1 0.0000000000000000e+00 4.1153170788164495e+00 8.1250806848011550e+00 8.4284936745254271e+00 1 0 -11 +149 1 0.0000000000000000e+00 3.2726799049060169e+00 7.6982040109420176e+00 8.8457308708901827e+00 -4 2 -1 +2512 1 0.0000000000000000e+00 2.6272338801426387e+00 7.8777892747757994e+00 8.5572149734219085e+00 4 5 -4 +461 1 0.0000000000000000e+00 3.5856511518881700e+00 9.1098308580191105e+00 9.8166064899624459e+00 1 0 0 +1655 1 0.0000000000000000e+00 3.8209835779060315e+00 8.8491634468661005e+00 7.5676014951090300e+00 4 -1 0 +1059 1 0.0000000000000000e+00 4.7184355910951856e+00 7.9042639735601723e+00 9.6536879879401845e+00 -4 0 3 +2938 3 1.0000000000000000e+00 3.1361557807949612e+00 8.4070225402043164e+00 8.3013394252640254e+00 -4 0 3 +929 1 0.0000000000000000e+00 3.3820979001890499e+00 7.5330758598141614e+00 8.2924369984244297e+00 -1 -1 0 +2529 1 0.0000000000000000e+00 4.4093040519067239e+00 8.7299887521221340e+00 7.7532663553086856e+00 -8 1 -3 +1688 1 0.0000000000000000e+00 3.5037812234291508e+00 8.1023474010588448e+00 7.9642816798445066e+00 1 -2 -1 +378 1 0.0000000000000000e+00 2.5460046628581416e+00 8.7179478077585948e+00 8.6848829147275861e+00 -1 -6 1 +56 1 0.0000000000000000e+00 2.8816246256856997e+00 8.9209518256264051e+00 7.8540933461779252e+00 -3 1 -2 +2156 1 0.0000000000000000e+00 3.5411648126557234e+00 8.7388254077642884e+00 8.0326038987045827e+00 3 0 2 +606 1 0.0000000000000000e+00 4.1056851446108773e+00 8.8309673259197776e+00 9.8669421421644010e+00 -6 1 -5 +1831 1 0.0000000000000000e+00 3.3578568878678579e+00 9.1243307650869827e+00 7.7352006419898558e+00 -1 1 -3 +1411 1 0.0000000000000000e+00 3.1998398103073971e+00 9.3301903910695483e+00 8.8997293156590587e+00 1 0 0 +2685 1 0.0000000000000000e+00 2.5403810711946320e+00 9.3759874642596710e+00 9.7949628593273257e+00 4 -1 1 +1850 1 0.0000000000000000e+00 3.1854941898109610e+00 7.7623993962483135e+00 7.8736479577469529e+00 3 0 -3 +2563 1 0.0000000000000000e+00 3.4376291744418888e+00 8.0839534096536951e+00 9.9198158249277402e+00 1 -1 1 +166 1 0.0000000000000000e+00 3.8754421640296717e+00 9.5074306651528335e+00 9.2573568716514067e+00 -1 -11 -3 +1954 1 0.0000000000000000e+00 4.6620457673351350e+00 7.5947052334952243e+00 9.1060120147768178e+00 6 1 -1 +2787 1 0.0000000000000000e+00 3.3619196602982737e+00 9.5334706161233100e+00 8.3150643666506863e+00 2 1 9 +112 1 0.0000000000000000e+00 4.3125872572123498e+00 8.6425475157541936e+00 9.4259282936849207e+00 -4 -8 2 +1038 1 0.0000000000000000e+00 4.9419010712046889e+00 8.7517839641443409e+00 8.5869443128261551e+00 0 3 -6 +1796 1 0.0000000000000000e+00 4.5062069877830959e+00 7.6737370859463088e+00 8.4212355683332021e+00 -1 -2 3 +571 1 0.0000000000000000e+00 3.1634366689672579e+00 8.3679527843580033e+00 9.5726950376294528e+00 -1 2 -1 +157 1 0.0000000000000000e+00 4.4683082573634030e+00 9.6034272393469902e+00 9.6001498653646440e+00 -3 -1 0 +589 1 0.0000000000000000e+00 2.8045818804964102e+00 8.9760981699748683e+00 9.5573036230967077e+00 1 -2 -3 +2827 2 -1.0000000000000000e+00 2.6650156158919134e+00 7.6933363901560705e+00 9.7257368608174666e+00 2 4 4 +200 1 0.0000000000000000e+00 4.7838998498725225e+00 9.1475725610559220e+00 9.2156648040312525e+00 -2 -5 -1 +1851 1 0.0000000000000000e+00 2.7345206429921247e+00 8.0734386767554600e+00 9.3097954437366202e+00 -2 0 -3 +981 1 0.0000000000000000e+00 3.7571987391759172e+00 9.9740437010829996e+00 8.3582203320349109e+00 -1 -2 -4 +1188 1 0.0000000000000000e+00 2.7192309419634957e+00 9.9709032552062755e+00 9.5459223654922702e+00 0 -2 -4 +416 1 0.0000000000000000e+00 3.9797333817825500e+00 9.6097548353905839e+00 7.6318298451264015e+00 -2 -3 -2 +466 1 0.0000000000000000e+00 4.3635989325174629e+00 9.3199324110463948e+00 8.5290506725701825e+00 0 0 3 +285 1 0.0000000000000000e+00 3.2062476362470282e+00 9.5246201771085754e+00 9.8438018722032155e+00 1 1 2 +731 1 0.0000000000000000e+00 5.7226689423569814e+00 1.3981663141727603e+00 3.9561724984871427e-01 -5 2 -7 +2716 1 0.0000000000000000e+00 6.0409849878969464e+00 6.9765766883454106e-01 1.6536021982820728e-01 1 2 0 +2610 1 0.0000000000000000e+00 6.5179309692678160e+00 1.4590347547070597e+00 4.8027608457803433e-01 7 3 -1 +490 1 0.0000000000000000e+00 5.4629126188006483e+00 1.1408331384821573e+00 4.2903042031921572e-02 -2 5 1 +2520 1 0.0000000000000000e+00 6.5324649926192526e+00 1.4248226251882581e+00 1.3956728077394647e+00 2 -6 4 +1991 1 0.0000000000000000e+00 5.3868837234707652e+00 1.8811532174440884e+00 1.9256144489792411e+00 1 -3 2 +2720 1 0.0000000000000000e+00 6.7616777986184795e+00 2.4571240706663380e+00 1.4627141867472779e+00 1 0 2 +2650 1 0.0000000000000000e+00 6.6490308093626673e+00 2.0294183431579684e+00 1.2000866351277486e+00 2 -3 4 +1978 1 0.0000000000000000e+00 6.6475318914075592e+00 2.4075068418910779e+00 2.3202989747835581e+00 1 -3 3 +100 1 0.0000000000000000e+00 7.0193108275551621e+00 1.9225898395832608e+00 6.9502464787489793e-01 4 1 2 +729 1 0.0000000000000000e+00 5.7520489994822039e+00 4.3527256672768766e-01 1.5941205483345842e+00 5 -6 -2 +2063 1 0.0000000000000000e+00 5.0407915426917418e+00 1.9479400132867963e+00 1.0334345856270049e+00 6 3 1 +1363 1 0.0000000000000000e+00 6.3677814087180096e+00 2.0104956339706588e+00 2.2107515513235221e+00 2 1 0 +610 1 0.0000000000000000e+00 5.2191284862047604e+00 2.4842061523789210e+00 3.9272618446056762e-01 3 -3 -1 +1592 1 0.0000000000000000e+00 5.8302869841086746e+00 8.5882171024932641e-01 8.9459842518200572e-01 -5 4 -1 +2470 1 0.0000000000000000e+00 6.6812985020158395e+00 2.1582586342757617e+00 2.3452822656476274e-01 -2 -5 2 +1268 1 0.0000000000000000e+00 6.6561638287686042e+00 5.0125202310239314e-01 6.3785213721926481e-01 -1 4 -4 +1074 1 0.0000000000000000e+00 5.6386204948277943e+00 2.4156801229288236e+00 2.4778885521369300e+00 3 -7 1 +2916 3 1.0000000000000000e+00 7.4436321087817303e+00 1.5036221221874730e+00 1.4518927843019023e+00 -1 -3 0 +2291 1 0.0000000000000000e+00 7.0162316027984746e+00 1.3678082960639184e+00 2.0005065359577343e+00 -3 -2 -6 +27 1 0.0000000000000000e+00 5.7682735687472260e+00 2.0349870764056273e+00 5.6102524086341132e-01 0 3 -4 +162 1 0.0000000000000000e+00 5.5733014135700039e+00 3.6576762761639142e-01 2.1137170228769211e+00 0 -1 -2 +1538 1 0.0000000000000000e+00 6.6683170886758782e+00 2.7308325519626248e-01 1.6528351468169384e+00 2 -1 0 +2688 1 0.0000000000000000e+00 6.0621234659230563e+00 9.9306240292864356e-01 2.0473899015952890e+00 -3 2 7 +1859 1 0.0000000000000000e+00 5.5423489160044559e+00 2.3300291061819189e+00 1.2975712520170835e+00 -4 4 1 +2231 1 0.0000000000000000e+00 7.1255427242795628e+00 1.1493799082103917e+00 1.0832016502887298e+00 -4 2 -1 +266 1 0.0000000000000000e+00 6.3247296551952239e+00 2.9383094388996794e-01 2.0506441738434784e+00 -4 -2 -2 +1718 1 0.0000000000000000e+00 7.3069127380422429e+00 1.7588836047989813e+00 1.7365907152105120e-02 5 0 1 +1146 1 0.0000000000000000e+00 6.6875326779246551e+00 8.9391969155249773e-01 1.7009817778201399e+00 -4 -1 -4 +1911 1 0.0000000000000000e+00 6.0572758865196770e+00 1.5300230807571211e+00 1.2329667701683911e+00 -1 0 4 +1891 1 0.0000000000000000e+00 7.3424770450470858e+00 1.6120149240922692e+00 4.9268074804899376e-01 0 -1 2 +2311 1 0.0000000000000000e+00 7.3622076106322734e+00 5.2898537108282584e-01 2.2322126746086606e+00 0 2 2 +365 1 0.0000000000000000e+00 5.9707727451811525e+00 5.5786200341385053e-02 1.7467413188539369e-01 0 1 -1 +339 1 0.0000000000000000e+00 7.3350908204783964e+00 1.8230711035423930e+00 1.5498063783098548e+00 0 3 5 +1313 1 0.0000000000000000e+00 5.2923823524306624e+00 1.2519273118533658e+00 2.2251491907904861e+00 0 4 3 +1946 1 0.0000000000000000e+00 7.4616076520856076e+00 9.6520753891448019e-01 1.5966709292284920e+00 1 -5 -1 +888 1 0.0000000000000000e+00 7.3001530669211814e+00 5.5733055469257586e-01 1.1373377808209202e+00 -1 -2 7 +1124 1 0.0000000000000000e+00 6.5359845463393400e+00 1.4621295067448856e-01 9.6991364003998981e-01 -4 -3 0 +2820 2 -1.0000000000000000e+00 7.0904664811008757e+00 2.1101524698824159e+00 1.9878829147854136e+00 2 -7 1 +2815 2 -1.0000000000000000e+00 6.3879682036649603e+00 5.1946219882564371e-02 4.4052240105953322e-02 3 1 -9 +98 1 0.0000000000000000e+00 5.9488092327107607e+00 6.1246555421057658e-01 1.1898275927807984e+00 -1 0 0 +2132 1 0.0000000000000000e+00 6.7407604427525580e+00 1.0046245159021472e+00 4.0458231759319147e-01 -2 -3 4 +40 1 0.0000000000000000e+00 5.5516726399590439e+00 1.7133822625989616e+00 2.2857630470872738e+00 0 5 2 +1889 1 0.0000000000000000e+00 5.2760078496862013e+00 2.9799760971825662e-01 5.3899528454783308e-01 0 2 4 +1097 1 0.0000000000000000e+00 5.4749639113810913e+00 1.5672017122309827e+00 1.2117498607035069e+00 -1 -1 -4 +2321 1 0.0000000000000000e+00 5.6020639534838441e+00 8.9754073891548480e-01 1.8727484980200160e+00 0 -5 4 +1190 1 0.0000000000000000e+00 6.1860812082468035e+00 2.0703324597474668e+00 1.5369234350614178e+00 -4 2 3 +2773 1 0.0000000000000000e+00 6.5885777828427070e+00 1.7811365912391208e+00 2.4726260742771551e+00 -4 -6 1 +1036 1 0.0000000000000000e+00 7.7695851683935793e+00 1.3673714639641379e+00 5.3856085619595728e-01 -8 -2 2 +1294 1 0.0000000000000000e+00 7.5619531290016058e+00 2.4931330644208543e+00 2.5147670351344958e-01 1 1 1 +2881 2 -1.0000000000000000e+00 8.5402259550170712e+00 1.3106786494131921e+00 2.1825847800219011e+00 -5 1 -3 +794 1 0.0000000000000000e+00 9.8187579244601970e+00 3.2329947925868679e-01 1.9768856680843830e-01 -3 -1 7 +2922 3 1.0000000000000000e+00 9.2136063303514071e+00 2.5905287700012736e-01 5.8235165995788996e-01 -1 2 1 +709 1 0.0000000000000000e+00 7.6687840353821874e+00 9.5235882867269206e-01 9.1867006929421158e-01 -3 4 3 +390 1 0.0000000000000000e+00 9.1909094686335706e+00 1.0470514800743926e+00 6.3692588085168478e-01 -2 -1 0 +992 1 0.0000000000000000e+00 8.7602040592442325e+00 1.1037956317960989e+00 1.4286726399438590e+00 1 2 0 +649 1 0.0000000000000000e+00 9.4328066746253718e+00 1.7225325938879719e+00 1.9918932834338474e+00 -9 7 -1 +209 1 0.0000000000000000e+00 9.2182164794019883e+00 8.4275957004996871e-01 1.8785119506741192e+00 1 -1 7 +2714 1 0.0000000000000000e+00 8.3987482717968689e+00 6.7804921063926515e-01 6.6376891728381460e-01 -2 -5 3 +1585 1 0.0000000000000000e+00 9.3141407975527155e+00 2.2756426308133690e-01 1.1320081480061017e+00 2 -3 2 +1995 1 0.0000000000000000e+00 8.8760787083298744e+00 6.5225103623800362e-01 1.1921813527255174e+00 7 -7 4 +358 1 0.0000000000000000e+00 9.6808742496025637e+00 2.2409429614227210e+00 1.6825464704246931e+00 -5 -4 -4 +1304 1 0.0000000000000000e+00 9.7110993379525219e+00 1.9107415480840122e+00 9.9936419607972038e-01 -2 3 -4 +1648 1 0.0000000000000000e+00 8.4573480511744030e+00 6.1750376112138738e-01 1.7579795275772614e+00 3 -1 -4 +1031 1 0.0000000000000000e+00 7.5959849193188997e+00 4.1913675649557991e-01 5.0365433035781682e-01 -3 7 -4 +1998 1 0.0000000000000000e+00 8.7104508686765811e+00 3.1690118035851839e-01 1.8763842024530401e-02 -8 -4 3 +1329 1 0.0000000000000000e+00 7.9562509158946417e+00 3.3482990297598925e-01 1.1590742437196042e+00 -3 3 -4 +2083 1 0.0000000000000000e+00 8.2266831254945707e+00 2.2084631807562936e+00 5.3184083558774387e-01 0 -1 0 +2504 1 0.0000000000000000e+00 8.8123402639463393e+00 2.1436607615350733e+00 1.1857581689660897e+00 0 2 0 +2458 1 0.0000000000000000e+00 8.1702786902841797e+00 1.6310929250464510e+00 1.8851814128459085e-01 1 6 9 +774 1 0.0000000000000000e+00 9.7838081518341067e+00 5.3892221043965061e-01 3.9821009510108041e-01 5 -5 5 +663 1 0.0000000000000000e+00 7.8270993358689003e+00 8.7905247655643337e-01 1.8572351528041597e+00 -10 -7 1 +2776 1 0.0000000000000000e+00 7.8458781077362172e+00 1.7329892495765555e+00 2.1547260200772675e+00 1 6 5 +188 1 0.0000000000000000e+00 8.5604942444543983e+00 2.4435293186514069e+00 4.5700571570592768e-01 -10 -3 0 +1282 1 0.0000000000000000e+00 7.9573107386891211e+00 3.5483753825460174e-01 1.6428425418987065e+00 3 3 4 +1228 1 0.0000000000000000e+00 7.6326217487435244e+00 2.4217995942912056e+00 8.1934366199259467e-01 4 0 0 +1727 1 0.0000000000000000e+00 9.4370047271004367e+00 1.3642859388285238e+00 1.8604706474068495e+00 2 -2 2 +2305 1 0.0000000000000000e+00 7.5017072509055502e+00 2.3076565162437075e+00 1.3817264081282448e+00 1 1 -1 +1840 1 0.0000000000000000e+00 9.8941845974241804e+00 6.3486327037888168e-01 1.8368105486516519e+00 2 6 2 +2530 1 0.0000000000000000e+00 9.1148949299405349e+00 2.1114952789691408e+00 2.4536241339017133e+00 -1 3 -3 +1067 1 0.0000000000000000e+00 9.5860480143788873e+00 9.5655127488751734e-01 2.2888975387149255e+00 -6 2 7 +2941 3 1.0000000000000000e+00 8.9437109157333463e+00 2.3783892669939644e-01 1.8668467867667096e+00 5 0 -3 +363 1 0.0000000000000000e+00 8.3657897307389852e+00 1.3625812351008428e+00 1.1121972775741293e+00 4 1 3 +860 1 0.0000000000000000e+00 7.7378429084380222e+00 2.1183486328829768e+00 2.1084621993313597e+00 -6 -2 -3 +465 1 0.0000000000000000e+00 8.7227565508651921e+00 1.7751879549513414e+00 1.9705688812428293e+00 3 3 3 +1252 1 0.0000000000000000e+00 9.4707376226284321e+00 2.4111070068712706e+00 2.0426537572799672e+00 3 -2 3 +489 1 0.0000000000000000e+00 8.1277819959746491e+00 1.9175285088281586e+00 1.4366059183297206e+00 2 -2 2 +2119 1 0.0000000000000000e+00 9.2865821978412875e+00 2.0935950571668571e+00 4.1772209666693255e-01 -3 -1 -1 +2507 1 0.0000000000000000e+00 8.8048083906973016e+00 2.4740500561123175e+00 1.7538689520949429e+00 -4 1 4 +122 1 0.0000000000000000e+00 8.8556861684803341e+00 1.5998261949429362e+00 8.7283549214936407e-01 4 -1 -4 +1111 1 0.0000000000000000e+00 9.0756229325249933e+00 2.4000403195966387e+00 9.2450852726374033e-01 2 1 -3 +667 1 0.0000000000000000e+00 9.5799953995975358e+00 1.2030871889600987e+00 1.1352949952031630e+00 -9 6 4 +726 1 0.0000000000000000e+00 7.5021985411548782e+00 1.4406482172299624e+00 2.4286730599847179e+00 -2 -4 1 +2541 1 0.0000000000000000e+00 8.0953779178956129e+00 3.2201579474054087e-01 6.9543055010257149e-03 3 -5 3 +164 1 0.0000000000000000e+00 7.1879667682774491e+00 3.2437107427805660e+00 9.8567970702654661e-01 0 0 4 +2935 3 1.0000000000000000e+00 6.9331716033364428e+00 3.5416304092110189e+00 7.5588512566032051e-02 3 -4 6 +2808 2 -1.0000000000000000e+00 6.0814316264516064e+00 4.5488918180847957e+00 2.0068075362420177e+00 -2 0 0 +2949 3 1.0000000000000000e+00 6.6096944482655626e+00 3.1145066366753640e+00 9.5426105426760377e-01 1 2 -2 +1368 1 0.0000000000000000e+00 6.6025604403766440e+00 3.9966154530761622e+00 1.8312745489862554e+00 4 3 3 +685 1 0.0000000000000000e+00 5.7401091544122469e+00 3.1349632466740069e+00 1.7744697947775352e+00 2 4 2 +1772 1 0.0000000000000000e+00 6.2546369374443351e+00 2.9498039676908050e+00 1.0094324477402372e+00 -1 -3 0 +2578 1 0.0000000000000000e+00 6.2293668438210439e+00 4.5684710263098012e+00 9.6153677613418953e-01 2 1 1 +1007 1 0.0000000000000000e+00 6.9568097698642264e+00 4.1910590878569991e+00 6.0603992838234844e-01 3 -1 -6 +2851 2 -1.0000000000000000e+00 5.4508582316386098e+00 2.5040311292682373e+00 2.1326746898399365e+00 -4 0 0 +1236 1 0.0000000000000000e+00 5.3263496196981492e+00 3.6287017487415336e+00 2.2104714416269222e+00 1 4 2 +627 1 0.0000000000000000e+00 6.3504936194115107e+00 4.9684148220539841e+00 8.3234985194303424e-01 1 -1 -2 +1231 1 0.0000000000000000e+00 6.7668047058377585e+00 3.0440389829241794e+00 2.4001484525749248e+00 0 -2 -5 +1826 1 0.0000000000000000e+00 7.4677984473817229e+00 4.0324462983698650e+00 7.2970555585203190e-01 2 -1 8 +1667 1 0.0000000000000000e+00 6.7746514968867864e+00 3.6971457827006611e+00 1.2200448876383008e+00 -2 -1 -5 +2744 1 0.0000000000000000e+00 6.9967620530552939e+00 2.7164715823125816e+00 3.1963014288620373e-01 -2 1 2 +1742 1 0.0000000000000000e+00 7.3715238191939374e+00 3.4731288372292335e+00 2.0337085202867078e+00 -7 2 3 +2833 2 -1.0000000000000000e+00 5.4262234950713424e+00 3.0720379902909443e+00 5.1495662507179563e-01 2 0 -3 +852 1 0.0000000000000000e+00 5.7064378212330329e+00 4.1382291208877406e+00 1.1363122392114577e+00 -3 -4 2 +972 1 0.0000000000000000e+00 5.2662774214123989e+00 3.5388287696776795e+00 9.1837958054128921e-01 2 -4 -1 +42 1 0.0000000000000000e+00 6.0426309838460854e+00 3.5322050320618321e+00 7.9564768981540704e-02 -6 1 -4 +2785 1 0.0000000000000000e+00 6.5475559215287165e+00 3.9519824908281387e+00 9.0416251818909332e-01 0 1 2 +3000 3 1.0000000000000000e+00 5.7200064194920808e+00 4.4038200522944502e+00 6.2315936734108790e-01 4 -3 2 +2123 1 0.0000000000000000e+00 5.2560856585230793e+00 4.1856108411650412e+00 1.9126017786880301e+00 4 5 -1 +575 1 0.0000000000000000e+00 6.6670248382017778e+00 4.8884411477435599e+00 2.1147365503669340e+00 2 6 2 +2015 1 0.0000000000000000e+00 7.1449174909628663e+00 2.7622181901745861e+00 1.4216487891066900e+00 6 -6 3 +750 1 0.0000000000000000e+00 5.2185087520887121e+00 3.0524428317572232e+00 6.9411832242752589e-02 4 1 5 +546 1 0.0000000000000000e+00 5.0939616482267533e+00 2.5628726521800216e+00 9.3562441144610453e-01 1 6 -1 +448 1 0.0000000000000000e+00 7.2649650198094005e+00 4.4782652412760964e+00 1.2279971977170243e+00 -2 -6 2 +1426 1 0.0000000000000000e+00 6.5403209983061235e+00 2.5162921341016804e+00 2.0715201096958821e-01 -1 -4 3 +1275 1 0.0000000000000000e+00 6.7831797375327545e+00 3.2858522554263518e+00 1.8857504139639694e+00 -4 1 1 +1867 1 0.0000000000000000e+00 5.9724886866208688e+00 3.1859022221669093e+00 2.3313932173100680e+00 0 1 2 +2627 1 0.0000000000000000e+00 6.7551609747332027e+00 4.7048533570874858e+00 4.9875024541666124e-01 2 -1 1 +1156 1 0.0000000000000000e+00 6.9001350292118024e+00 4.1767873377570739e+00 2.4434884207073089e+00 -3 -5 -2 +2464 1 0.0000000000000000e+00 5.6169555712740280e+00 4.6888091255451831e+00 4.6780146641118795e-03 4 6 -5 +671 1 0.0000000000000000e+00 6.0369508724005376e+00 4.2259553821922662e+00 1.5440572311834443e-02 0 2 -1 +2945 3 1.0000000000000000e+00 5.3588354136992313e+00 3.1925732887930280e+00 2.0027226680339152e+00 -1 2 5 +529 1 0.0000000000000000e+00 5.9167180485111874e+00 2.6757053796021291e+00 5.2165742239683144e-01 0 -7 3 +1211 1 0.0000000000000000e+00 5.4431640370559196e+00 4.7648927814033017e+00 1.6235470630008795e+00 -6 -3 4 +767 1 0.0000000000000000e+00 5.9769482997392211e+00 3.6937215648507729e+00 6.6050132918043503e-01 -4 -1 5 +1194 1 0.0000000000000000e+00 6.1945539993200569e+00 2.7746450588538893e+00 2.0540585985256223e+00 4 0 -1 +550 1 0.0000000000000000e+00 5.5444544683674311e+00 4.7853558994712291e+00 9.4865865036971964e-01 8 -4 7 +2479 1 0.0000000000000000e+00 5.3285345193757392e+00 2.8950667402348556e+00 1.3892135724850461e+00 -3 4 0 +609 1 0.0000000000000000e+00 7.4885675593919983e+00 4.8732529871006163e+00 1.8287986717620626e+00 -3 3 0 +2038 1 0.0000000000000000e+00 6.9172391348815889e+00 4.6875916815611207e+00 1.4307521183147507e+00 5 -3 -3 +1783 1 0.0000000000000000e+00 6.1685052376909546e+00 3.6628901385439723e+00 1.6444735696458910e+00 0 7 0 +1285 1 0.0000000000000000e+00 7.4770839901672579e+00 3.2377807584775793e+00 1.0547372320434040e-01 1 -3 -1 +409 1 0.0000000000000000e+00 7.5403115153717764e+00 3.2424137046870976e+00 1.8901364737878315e+00 -3 3 1 +2940 3 1.0000000000000000e+00 7.5835917092877452e+00 4.2425247727925743e+00 1.8420996846295357e+00 -5 1 -4 +696 1 0.0000000000000000e+00 7.6131123239312943e+00 4.4661370091678902e+00 2.4966591365193374e+00 5 2 7 +1490 1 0.0000000000000000e+00 8.4894312041937638e+00 3.9973602881301087e+00 1.5877849265976343e+00 -5 0 -6 +116 1 0.0000000000000000e+00 9.0331837629342271e+00 4.6577301573980030e+00 5.7362078847521336e-01 -1 2 -6 +2502 1 0.0000000000000000e+00 8.3887255210268652e+00 4.9798501952986420e+00 1.1812153272933490e+00 -2 2 1 +1636 1 0.0000000000000000e+00 9.8877177947496442e+00 2.9728197836574646e+00 6.5456144587378629e-01 3 -4 -3 +1044 1 0.0000000000000000e+00 8.5595501179213613e+00 2.8976053676015949e+00 7.6409155826985864e-01 0 6 0 +121 1 0.0000000000000000e+00 9.2548760043515532e+00 4.1937771022467363e+00 1.9357381626937140e+00 1 -4 -2 +2213 1 0.0000000000000000e+00 9.2296225457824956e+00 3.1697458046848026e+00 7.1145748236325590e-01 -3 2 3 +177 1 0.0000000000000000e+00 9.4675081147339792e+00 3.7056741954304853e+00 4.4567035657254966e-01 6 -5 1 +2679 1 0.0000000000000000e+00 7.8470426112786047e+00 3.4496331833016605e+00 1.0818280194749681e+00 7 4 -2 +1027 1 0.0000000000000000e+00 8.3513894910582955e+00 3.5998147941329708e+00 4.5281885991350940e-01 1 -1 5 +2719 1 0.0000000000000000e+00 9.5149833987083845e+00 3.0013388205233551e+00 1.4917320880353513e+00 -2 -1 -3 +1053 1 0.0000000000000000e+00 8.7789350798342856e+00 3.2108020645774737e+00 1.1898114688465706e+00 2 -1 -4 +91 1 0.0000000000000000e+00 9.3869024655284665e+00 4.6894337004725992e+00 1.9273463573276697e+00 1 0 6 +486 1 0.0000000000000000e+00 8.1943799147253671e+00 3.2450542739570558e+00 2.3139687241035500e+00 -2 8 -1 +321 1 0.0000000000000000e+00 9.3996950047332302e+00 2.5364541346418372e+00 1.7142393196689709e-01 -2 -7 -2 +775 1 0.0000000000000000e+00 7.9612549025246864e+00 4.6010072524232015e+00 2.0195756155303080e-01 -1 4 3 +198 1 0.0000000000000000e+00 7.6123268283780234e+00 2.6996789298482713e+00 2.4868190495912121e+00 0 0 -5 +1617 1 0.0000000000000000e+00 7.9810213420710809e+00 2.9612409686518051e+00 7.6257497294483667e-01 0 2 2 +1806 1 0.0000000000000000e+00 9.0872846716911688e+00 4.7657910287982270e+00 1.2843327444327872e+00 0 -3 1 +2351 1 0.0000000000000000e+00 8.5688272890203034e+00 2.7977800573176559e+00 1.7457864800187013e+00 5 -3 6 +637 1 0.0000000000000000e+00 8.6163176458148225e+00 4.3290778971246615e+00 2.0111591242623224e+00 2 2 -1 +578 1 0.0000000000000000e+00 7.9819874595733973e+00 2.7084306580387110e+00 1.7043029793327584e+00 0 -1 -1 +1547 1 0.0000000000000000e+00 7.7768575079543290e+00 3.7076269086115099e+00 1.6684981890560116e-01 2 3 -5 +474 1 0.0000000000000000e+00 8.5267333149442734e+00 3.5549725672322010e+00 1.2562931713393524e+00 -2 -2 3 +1572 1 0.0000000000000000e+00 9.3387904137943334e+00 3.6675703297668063e+00 1.3946709687529883e+00 -2 0 6 +21 1 0.0000000000000000e+00 9.8853198622548923e+00 4.9698874875472328e+00 4.7563894788497030e-01 -2 3 3 +332 1 0.0000000000000000e+00 8.2171292789343724e+00 3.1889232825342444e+00 4.9644995669449032e-01 -4 1 2 +2287 1 0.0000000000000000e+00 8.8507653492216924e+00 3.8457243952637334e+00 1.2703196823366814e-01 2 2 8 +299 1 0.0000000000000000e+00 8.4553416342081658e+00 4.2598071327585867e+00 9.6202987912246296e-01 -1 3 4 +1472 1 0.0000000000000000e+00 7.7483225522652175e+00 4.6808660462924712e+00 8.6620006150815942e-01 3 0 3 +2074 1 0.0000000000000000e+00 8.9886390714266398e+00 3.2419512596304720e+00 2.0963138838330071e+00 1 -2 3 +1518 1 0.0000000000000000e+00 9.0595105063899233e+00 4.3715899175901507e+00 1.5623552918765666e+00 5 -5 -2 +351 1 0.0000000000000000e+00 9.8694024192942855e+00 3.4024340640945763e+00 1.9908990304137082e+00 -3 9 -5 +635 1 0.0000000000000000e+00 7.9311235183988096e+00 4.0128167032784763e+00 1.6121742207537366e+00 5 -3 0 +2230 1 0.0000000000000000e+00 9.6858786147666098e+00 2.7797178145940880e+00 1.2339956056198813e+00 -7 1 -3 +664 1 0.0000000000000000e+00 8.2421658027990112e+00 3.6484754821729983e+00 2.1821466474409474e+00 3 4 0 +1885 1 0.0000000000000000e+00 9.2474540875240105e+00 3.9307464666467560e+00 2.4721111352777161e+00 -1 0 1 +1579 1 0.0000000000000000e+00 9.9130198663363434e+00 4.3566237252064903e+00 1.4544305398578217e+00 5 5 -1 +1033 1 0.0000000000000000e+00 8.5394510304245763e+00 4.4790697244574096e+00 7.6729889110862828e-02 -4 -2 -4 +1886 1 0.0000000000000000e+00 9.6860885398895498e+00 3.9171033030526834e+00 8.0824671025155592e-01 2 3 0 +269 1 0.0000000000000000e+00 5.2023731480763447e+00 1.8506105583194170e+00 4.3526191431382086e+00 -2 -4 -4 +2030 1 0.0000000000000000e+00 6.5865971448673015e+00 5.5277666656420221e-01 2.8980109933972478e+00 -2 -5 -3 +2645 1 0.0000000000000000e+00 7.4409545135135131e+00 2.4725919693221887e+00 4.8497754917567537e+00 -4 0 4 +1842 1 0.0000000000000000e+00 5.2277702728450075e+00 2.3494414118183529e+00 3.6481073437104965e+00 4 3 4 +2482 1 0.0000000000000000e+00 5.6108945465025730e+00 9.9943204909578243e-01 3.7310239835421468e+00 8 1 2 +71 1 0.0000000000000000e+00 6.4297692406920213e+00 2.4789314194932288e+00 4.4156391037228300e+00 1 -2 -1 +783 1 0.0000000000000000e+00 5.8481501147144002e+00 1.2323193707772434e-01 2.5469901912271760e+00 1 -5 -3 +2733 1 0.0000000000000000e+00 6.5990734133707738e+00 1.0293860772432621e+00 4.9288203447081509e+00 2 5 5 +503 1 0.0000000000000000e+00 6.3350583326627996e+00 2.0852118543441396e+00 3.4423302084363425e+00 0 4 -2 +1006 1 0.0000000000000000e+00 6.7220503460710281e+00 2.1064879834063457e+00 3.3622428377504048e+00 0 -1 -1 +2515 1 0.0000000000000000e+00 6.0651048504171943e+00 1.8728203309202620e+00 4.9992240657885363e+00 -4 1 -3 +2556 1 0.0000000000000000e+00 7.1849484628254832e+00 1.9156388101404132e+00 3.9442641687723667e+00 6 -4 1 +470 1 0.0000000000000000e+00 5.8414889486273829e+00 6.0935767006353636e-01 4.5956082148095492e+00 -10 -4 -2 +1400 1 0.0000000000000000e+00 5.8696718110037134e+00 1.9573770740047796e+00 3.7725213982183345e+00 -2 -3 -1 +329 1 0.0000000000000000e+00 7.4920537103304268e+00 2.6968606432957659e-01 4.1630432818769467e+00 0 2 -5 +108 1 0.0000000000000000e+00 6.5932920250594087e+00 1.9008955565234313e+00 4.2545742888557507e+00 1 0 4 +1355 1 0.0000000000000000e+00 7.0540647636842282e+00 8.1294559891467583e-02 4.7203739274894740e+00 3 -3 -1 +727 1 0.0000000000000000e+00 5.7605306624503649e+00 1.4655819190740358e+00 4.7798335254772315e+00 4 -3 1 +1229 1 0.0000000000000000e+00 5.6085685778004608e+00 2.6219416708215448e-01 4.3393578952471472e+00 -1 5 -3 +1584 1 0.0000000000000000e+00 6.6601479600348217e+00 1.1960315591344948e+00 3.9564983353856169e+00 2 -2 1 +2146 1 0.0000000000000000e+00 5.6927756261019100e+00 2.3110135340950300e-01 3.8317470233038482e+00 2 0 3 +655 1 0.0000000000000000e+00 6.4297918486055909e+00 4.1808655972392678e-01 4.9135480533630362e+00 3 4 2 +524 1 0.0000000000000000e+00 6.6991542457087316e+00 1.1806359330765772e+00 3.5212955230195475e+00 -6 0 0 +2144 1 0.0000000000000000e+00 6.8155634022764300e+00 1.1128299663238743e+00 2.6460726602287781e+00 0 0 7 +1619 1 0.0000000000000000e+00 5.3906637605124139e+00 8.0984230875675045e-01 2.8093104478443771e+00 1 2 -1 +2215 1 0.0000000000000000e+00 6.8665177089158345e+00 6.7925474548774090e-01 3.4775635007165873e+00 -3 -1 3 +2169 1 0.0000000000000000e+00 5.9788429852160370e+00 1.7257113923386282e+00 2.8112400301286811e+00 -1 0 -3 +969 1 0.0000000000000000e+00 7.4662039968523599e+00 5.6456681975566592e-01 2.7084382073158189e+00 -3 2 -1 +954 1 0.0000000000000000e+00 5.8478411033373359e+00 2.0198149065707951e+00 4.1164479691469573e+00 0 3 3 +382 1 0.0000000000000000e+00 5.5374008101556109e+00 3.2300216170697726e-01 3.2856141543289166e+00 10 -3 0 +2012 1 0.0000000000000000e+00 7.1381811536727096e+00 1.1875859045286972e+00 4.4693889141704748e+00 -1 -2 1 +1467 1 0.0000000000000000e+00 7.2866157861285226e+00 9.7216102865681897e-01 3.2242845886520355e+00 5 -1 -5 +39 1 0.0000000000000000e+00 7.3284628920753043e+00 1.7671856112295563e+00 3.4057140597772926e+00 -6 0 -4 +2809 2 -1.0000000000000000e+00 5.3129087991705015e+00 2.3504264081351085e+00 3.0749628633354238e+00 1 -6 4 +1340 1 0.0000000000000000e+00 5.1103689068154194e+00 9.8974901722019137e-01 3.7358254563861006e+00 2 2 -2 +2354 1 0.0000000000000000e+00 5.8597823633189998e+00 1.5884554942082063e+00 3.4884042297404232e+00 3 2 -2 +1382 1 0.0000000000000000e+00 5.8758669576805893e+00 1.1987274629899285e+00 4.2426449306499698e+00 4 -1 -4 +2574 1 0.0000000000000000e+00 7.4930850638763538e+00 1.9456903372378020e+00 2.8217758480489454e+00 -6 -3 -2 +1744 1 0.0000000000000000e+00 7.2261937687920454e+00 2.7967800592622838e-01 4.9902309595759569e+00 7 -3 -5 +1171 1 0.0000000000000000e+00 6.6113791754276994e+00 1.7613493617837896e+00 3.0244115392896860e+00 -2 4 -2 +748 1 0.0000000000000000e+00 5.1956273562955699e+00 2.3851450928890183e+00 4.6829808324538291e+00 1 2 1 +1379 1 0.0000000000000000e+00 5.9029345137878853e+00 1.1149430025852498e+00 2.9767048207064293e+00 5 -3 4 +2799 1 0.0000000000000000e+00 6.7298876797712666e+00 1.6429475751844853e+00 4.7223291971671069e+00 -5 0 1 +2965 3 1.0000000000000000e+00 5.3256533859373292e+00 1.2859505659056463e+00 4.6275407849022487e+00 -1 -1 0 +2041 1 0.0000000000000000e+00 5.1647597028362702e+00 1.6014306832151426e+00 3.9330708056780517e+00 -1 -1 2 +1266 1 0.0000000000000000e+00 6.2258744867737672e+00 6.8040643097673970e-01 3.6264484649732225e+00 3 4 -3 +1908 1 0.0000000000000000e+00 6.5426905195550411e+00 9.5618013279540268e-03 3.1006845104654488e+00 3 -1 4 +1691 1 0.0000000000000000e+00 7.6458048469992042e+00 9.8544268343709507e-01 4.0671849765314088e+00 4 -9 7 +227 1 0.0000000000000000e+00 7.8128951024018489e+00 7.5039555290326021e-01 3.2333426461461006e+00 6 -6 -1 +12 1 0.0000000000000000e+00 9.0934373790978569e+00 2.5990100259770360e-01 3.7204629225671373e+00 4 -4 1 +722 1 0.0000000000000000e+00 8.7135759438508149e+00 1.3706122165420003e+00 3.5009473799819681e+00 0 -4 -1 +2819 2 -1.0000000000000000e+00 9.3313095906266632e+00 2.4647067272201775e-01 4.5314708588314181e+00 -5 1 1 +2730 1 0.0000000000000000e+00 9.6405327590681527e+00 1.0171398297581409e+00 4.5888512872184881e+00 1 -1 8 +372 1 0.0000000000000000e+00 9.3343950927176156e+00 2.4431683381881877e+00 4.6181024311922592e+00 -4 -5 -2 +1493 1 0.0000000000000000e+00 9.2382531853377170e+00 1.5503172416452018e+00 3.7006723060064344e+00 0 0 1 +2658 1 0.0000000000000000e+00 8.2925433451448605e+00 7.2939810393093440e-01 2.5481104792878635e+00 3 0 2 +238 1 0.0000000000000000e+00 8.9732881083465390e+00 1.3727644841698268e+00 3.1286790902844062e+00 0 2 1 +73 1 0.0000000000000000e+00 7.5193309818656617e+00 4.3400856990290226e-01 4.3414897067848504e+00 -3 3 -4 +1071 1 0.0000000000000000e+00 7.7532873975030867e+00 1.3547645047503540e+00 3.7128103043485683e+00 0 0 -1 +2663 1 0.0000000000000000e+00 7.7661855019486152e+00 6.2968032919723627e-01 4.9141748681343769e+00 3 -4 -1 +2485 1 0.0000000000000000e+00 8.2954420338303549e+00 2.5202112687611494e-01 2.8570789501130198e+00 0 0 3 +996 1 0.0000000000000000e+00 9.5237011069337658e+00 1.0011390790291934e+00 4.0542291600441631e+00 5 4 -2 +89 1 0.0000000000000000e+00 8.2765604775420343e+00 7.6032525403227380e-01 4.6482047496535834e+00 -6 -4 7 +2221 1 0.0000000000000000e+00 8.7709116514968493e+00 4.2092261371789746e-01 4.5413901578052975e+00 -6 2 -8 +1439 1 0.0000000000000000e+00 8.0407546155953220e+00 2.2310421819871320e+00 3.1187726710613703e+00 -1 5 -5 +2312 1 0.0000000000000000e+00 7.9138150210703619e+00 2.4052553091431568e+00 4.1573838299433792e+00 -2 2 -2 +1042 1 0.0000000000000000e+00 9.8294513352412185e+00 1.9820828823746695e-02 3.9977077470983584e+00 5 -4 1 +2877 2 -1.0000000000000000e+00 7.9110190278396697e+00 1.9179321281618247e+00 3.4115492117669062e+00 1 1 1 +2306 1 0.0000000000000000e+00 8.7982821721522679e+00 1.2493039446175702e+00 4.4195070915299199e+00 -4 0 3 +1610 1 0.0000000000000000e+00 8.9336473428456014e+00 5.6476232893259948e-01 2.6967325791149377e+00 2 -2 -1 +2148 1 0.0000000000000000e+00 9.6327855573334578e+00 1.8790885667497346e+00 3.9914665169358643e+00 -4 -1 4 +580 1 0.0000000000000000e+00 7.7085122239750783e+00 1.4496916969732148e+00 4.6542386774831952e+00 -4 4 2 +2055 1 0.0000000000000000e+00 7.8405749065573893e+00 1.1985109185793836e+00 2.7021614328484125e+00 1 -9 3 +305 1 0.0000000000000000e+00 9.3496116423803741e+00 7.9739793277284743e-01 2.9601632055907299e+00 2 1 2 +531 1 0.0000000000000000e+00 9.8640675653553522e+00 1.2697783780279062e+00 3.8773717648773660e+00 3 -5 -5 +801 1 0.0000000000000000e+00 8.2491130715118004e+00 1.5393096666508581e+00 3.0552086355927242e+00 0 4 3 +2689 1 0.0000000000000000e+00 7.8031924932732997e+00 1.7887761365063513e+00 4.6409178119618426e+00 -1 3 2 +404 1 0.0000000000000000e+00 8.4614369114483594e+00 1.1272526039566522e-02 3.4700504063563820e+00 0 1 4 +2838 2 -1.0000000000000000e+00 9.6293687927655522e+00 1.7763806056154348e+00 4.8186640409337187e+00 -2 8 2 +700 1 0.0000000000000000e+00 9.9303204585166061e+00 1.9834249257650394e-01 2.8475203508232121e+00 -2 3 1 +2020 1 0.0000000000000000e+00 7.5350460061634719e+00 2.1375344297679869e-01 3.5699129510041843e+00 -1 -7 -3 +1552 1 0.0000000000000000e+00 8.3530932092749541e+00 1.9379313574090082e+00 3.9014614958884297e+00 -1 0 1 +779 1 0.0000000000000000e+00 8.5998132020855209e+00 2.2467276441464192e+00 4.1006283819659410e+00 0 2 -2 +2918 3 1.0000000000000000e+00 9.9306334610842075e+00 5.2939424818044711e-01 4.1344008740951042e+00 -5 0 -2 +1964 1 0.0000000000000000e+00 9.5412566268298402e+00 2.3402007182734264e+00 3.1076624521041096e+00 -2 -4 3 +1684 1 0.0000000000000000e+00 8.3449109256105665e+00 6.1834730029628715e-01 3.6450445174985786e+00 1 -6 -4 +41 1 0.0000000000000000e+00 8.6048335766593453e+00 2.4488339851189656e+00 3.2392476725060737e+00 0 -3 -2 +2762 1 0.0000000000000000e+00 9.7519428006156854e+00 1.8171522374850011e+00 3.4379660425591854e+00 2 3 3 +239 1 0.0000000000000000e+00 9.3483281544564392e+00 1.5031950471936937e+00 2.5187671223203782e+00 0 3 3 +2203 1 0.0000000000000000e+00 8.6166517463143943e+00 1.6635902111661776e+00 2.7129739507868353e+00 -1 0 -3 +1706 1 0.0000000000000000e+00 9.9931995781900493e+00 7.1143787196103758e-01 3.4577594919380208e+00 1 0 3 +1324 1 0.0000000000000000e+00 8.8648798202310104e+00 2.0158504628952150e+00 4.4164203085383402e+00 6 8 1 +1578 1 0.0000000000000000e+00 8.4274498141626566e+00 3.4464954092068717e-01 4.0829857835932666e+00 2 -4 -2 +2404 1 0.0000000000000000e+00 9.0209885438932851e+00 1.2398606803449550e+00 4.2188528726206433e+00 4 1 -2 +2149 1 0.0000000000000000e+00 7.6184528684280188e+00 1.0364440347365773e+00 4.9915787893844286e+00 6 6 -3 +2844 2 -1.0000000000000000e+00 7.1109751630469038e+00 3.6255067312567864e+00 4.9235676280198302e+00 -1 -1 0 +1405 1 0.0000000000000000e+00 6.5567920876289945e+00 3.1869411992950449e+00 3.2285485803206626e+00 -6 2 1 +1250 1 0.0000000000000000e+00 5.4773552447321334e+00 4.9260879665355377e+00 2.8988513056491190e+00 -3 3 10 +48 1 0.0000000000000000e+00 6.0883207440315976e+00 3.4233948039357878e+00 3.6007986316667226e+00 -3 -2 -1 +613 1 0.0000000000000000e+00 7.2188783880969432e+00 2.9861754718065123e+00 4.0948603780471577e+00 -1 -7 1 +2495 1 0.0000000000000000e+00 7.4964687133455179e+00 4.5659126574857227e+00 4.1715946370996004e+00 1 -2 0 +1234 1 0.0000000000000000e+00 6.6036421151695066e+00 4.0512713193726277e+00 4.2704655106936640e+00 -8 4 2 +2911 3 1.0000000000000000e+00 6.7460455843830083e+00 2.7355989094851534e+00 4.6886576739251238e+00 1 4 6 +1937 1 0.0000000000000000e+00 6.8393968347121552e+00 4.9458338063157488e+00 4.4822051433204848e+00 0 -1 3 +1017 1 0.0000000000000000e+00 7.0798931240892555e+00 4.0022710262681729e+00 3.8509483572316636e+00 3 -2 -3 +1444 1 0.0000000000000000e+00 7.0148156439343525e+00 4.3324221252252730e+00 4.8915146775182494e+00 3 -3 0 +2214 1 0.0000000000000000e+00 5.8643918489274949e+00 3.8253678552994912e+00 2.7514539685780242e+00 -1 3 1 +1500 1 0.0000000000000000e+00 6.0251481734010239e+00 4.7063838153385449e+00 2.5834072521906046e+00 -2 3 4 +953 1 0.0000000000000000e+00 6.6151869169787663e+00 4.4268838997944044e+00 4.5211721173573647e+00 2 1 -1 +1697 1 0.0000000000000000e+00 5.2924847384582270e+00 4.2224936260700314e+00 4.6694509194437837e+00 -5 2 -5 +151 1 0.0000000000000000e+00 5.9436186523015211e+00 3.0367777432715917e+00 3.2082624942831566e+00 2 -3 2 +185 1 0.0000000000000000e+00 7.3184988378958122e+00 3.0961320504964496e+00 3.3364708047667015e+00 -6 4 -4 +2633 1 0.0000000000000000e+00 5.4934549223888185e+00 2.8249312894046810e+00 3.9721248489100023e+00 7 5 7 +2329 1 0.0000000000000000e+00 6.6520022458984709e+00 3.4998893160583284e+00 4.2739467213336280e+00 4 -1 -1 +1451 1 0.0000000000000000e+00 5.1499407140373075e+00 3.3927162642320026e+00 3.5000038740275121e+00 0 -3 -2 +1701 1 0.0000000000000000e+00 5.1718450127987916e+00 3.1956070670310979e+00 4.4918221067541682e+00 -6 -3 1 +806 1 0.0000000000000000e+00 6.5878974558287027e+00 2.8549064147805141e+00 3.8334780985877779e+00 2 -1 4 +1800 1 0.0000000000000000e+00 5.6656318716512226e+00 4.3263702062019229e+00 3.8062439292836228e+00 1 1 2 +902 1 0.0000000000000000e+00 6.7769608607324487e+00 4.7596865843017389e+00 3.3174427341217925e+00 3 3 -3 +485 1 0.0000000000000000e+00 6.5882640322442878e+00 4.0204601875989203e+00 2.7624456308054208e+00 -3 3 -6 +1948 1 0.0000000000000000e+00 7.4482089943990788e+00 3.7764387698672266e+00 4.7099151063791611e+00 0 3 9 +150 1 0.0000000000000000e+00 5.3278061442585978e+00 3.1713065585852092e+00 2.8696057153239898e+00 6 -9 2 +994 1 0.0000000000000000e+00 7.4970935727842081e+00 3.6649579485520882e+00 2.5457799703283479e+00 -1 0 1 +2294 1 0.0000000000000000e+00 5.1383080870075135e+00 4.1762811774558566e+00 3.1539743125201452e+00 -4 0 -5 +2389 1 0.0000000000000000e+00 5.3934781988838632e+00 3.9472017322004618e+00 3.7549375613531786e+00 -3 1 -6 +1428 1 0.0000000000000000e+00 6.0260702165073132e+00 2.8870419584049696e+00 4.1831250421821062e+00 -2 0 1 +1293 1 0.0000000000000000e+00 6.0519375924217966e+00 4.3217113348841423e+00 4.4040601572619735e+00 -3 4 -3 +2376 1 0.0000000000000000e+00 5.5345476774465450e+00 4.6088590633842639e+00 3.9382415611832182e+00 -4 1 1 +267 1 0.0000000000000000e+00 6.4065841412915399e+00 2.9898868988190239e+00 2.7806832981416898e+00 -5 -3 -6 +54 1 0.0000000000000000e+00 6.4327993877242831e+00 4.2974650212469507e+00 3.7356400760193784e+00 5 5 4 +772 1 0.0000000000000000e+00 6.7888804122413635e+00 3.8259145426612564e+00 3.2299466552859175e+00 -3 5 1 +1593 1 0.0000000000000000e+00 5.9849536912880366e+00 3.3186777522876927e+00 4.7129073902404111e+00 -2 -7 0 +222 1 0.0000000000000000e+00 6.2918718929205859e+00 2.6687710876136057e+00 4.8869104744430185e+00 -1 0 2 +2846 2 -1.0000000000000000e+00 5.5328943449466452e+00 4.9861590334967758e+00 3.4389149497799041e+00 2 1 5 +194 1 0.0000000000000000e+00 5.2618408451713634e+00 3.4632291775978601e+00 4.3247575614143017e+00 1 1 -2 +2796 1 0.0000000000000000e+00 7.2820800647514767e+00 2.6116532331018787e+00 2.8080718902539208e+00 -4 3 4 +2270 1 0.0000000000000000e+00 6.1786082930163193e+00 4.7861695330637142e+00 3.0284708150357535e+00 -2 0 6 +440 1 0.0000000000000000e+00 5.6614745623297216e+00 4.4543363772805753e+00 2.7287457703396027e+00 -2 4 1 +1818 1 0.0000000000000000e+00 5.7850419236425665e+00 3.7213548819992250e+00 4.3100230882715120e+00 0 5 -2 +1254 1 0.0000000000000000e+00 6.8371999044255167e+00 4.9761515987770792e+00 2.5264741483133775e+00 -1 1 0 +16 1 0.0000000000000000e+00 7.5387449583956556e+00 3.0366972710606985e+00 4.7361619109039683e+00 5 -2 3 +1788 1 0.0000000000000000e+00 9.5236299891801988e+00 2.6150611311769714e+00 4.2900201315975330e+00 3 -1 3 +558 1 0.0000000000000000e+00 7.6055321106354539e+00 4.9392995358117577e+00 4.7801951604170201e+00 3 -4 1 +85 1 0.0000000000000000e+00 9.5973450224592138e+00 3.3887510766682860e+00 3.7897535902251698e+00 2 6 1 +493 1 0.0000000000000000e+00 9.5435577666889966e+00 4.0655379521002324e+00 2.6464546052547107e+00 -7 1 0 +2275 1 0.0000000000000000e+00 9.4210929515930939e+00 3.6102865583785464e+00 4.4762102152622836e+00 3 2 1 +858 1 0.0000000000000000e+00 9.1550947951692088e+00 3.1905624469211267e+00 4.5393355671303466e+00 5 1 -2 +2229 1 0.0000000000000000e+00 8.6181118727794637e+00 3.6112971195177246e+00 4.3964353781603105e+00 -2 6 -2 +2472 1 0.0000000000000000e+00 9.4513372723452047e+00 4.5988776050770968e+00 2.9781480949157908e+00 5 -4 -8 +1280 1 0.0000000000000000e+00 8.0509229067530477e+00 2.6972671872194911e+00 2.6101324200509319e+00 1 2 -3 +353 1 0.0000000000000000e+00 7.8356213197323727e+00 3.4726281463352433e+00 4.0921492895867031e+00 4 -5 3 +1001 1 0.0000000000000000e+00 8.8870108831288732e+00 4.0826889933595121e+00 3.6372990866369554e+00 5 -6 4 +1813 1 0.0000000000000000e+00 8.1966353905382121e+00 3.1040937538206834e+00 4.8632185914870938e+00 0 4 -1 +730 1 0.0000000000000000e+00 7.9700304471623253e+00 4.0939553288758299e+00 4.8320405742745303e+00 7 6 0 +1202 1 0.0000000000000000e+00 8.8780030493118485e+00 2.6090995388689344e+00 4.0923852961092795e+00 5 -2 2 +280 1 0.0000000000000000e+00 8.3662367501740693e+00 3.6104084739730133e+00 3.8180055665667627e+00 0 5 -3 +2056 1 0.0000000000000000e+00 9.8488015685532577e+00 4.3696641109353305e+00 4.6046799546883390e+00 -1 -2 3 +2865 2 -1.0000000000000000e+00 9.7366123770637181e+00 3.8573252605923312e+00 2.7680743684929254e+00 1 0 2 +2508 1 0.0000000000000000e+00 9.0445049737135630e+00 3.1861724051782350e+00 4.9666843516862667e+00 1 5 0 +1525 1 0.0000000000000000e+00 8.2999011820167059e+00 3.3075892464645480e+00 3.1438584545928889e+00 -2 -2 8 +1611 1 0.0000000000000000e+00 7.5075092346781895e+00 4.4181088199073448e+00 3.3672804835585302e+00 3 -6 4 +1815 1 0.0000000000000000e+00 8.0043803046352799e+00 4.2891141026044091e+00 2.6540852426492019e+00 8 -5 -3 +2805 2 -1.0000000000000000e+00 8.9863054251788501e+00 3.6046757566070231e+00 3.1163304996203962e+00 -1 2 -1 +1305 1 0.0000000000000000e+00 9.0214764149520228e+00 3.7505641951514423e+00 3.9227296773282316e+00 -2 2 -1 +2486 1 0.0000000000000000e+00 7.6573701813155672e+00 2.7035107915399470e+00 3.6939365304833305e+00 -6 -3 1 +1155 1 0.0000000000000000e+00 8.8306061229906252e+00 2.8907611335621772e+00 3.4071574619389184e+00 -2 1 1 +2420 1 0.0000000000000000e+00 8.3195295067431712e+00 4.3192000272135793e+00 4.4465223945138375e+00 -1 2 0 +1797 1 0.0000000000000000e+00 9.2615144291110454e+00 4.8878086908439800e+00 4.7882693457550030e+00 1 -3 2 +676 1 0.0000000000000000e+00 9.7637258519293511e+00 4.9082230842217651e+00 3.8774377459032792e+00 5 3 6 +786 1 0.0000000000000000e+00 8.2903837042617496e+00 3.6250394692378771e+00 4.7240770055224113e+00 1 9 -2 +1952 1 0.0000000000000000e+00 8.0569539729981532e+00 4.7758301558151279e+00 3.7705231015578349e+00 2 -6 -1 +1318 1 0.0000000000000000e+00 9.4490612864578196e+00 4.5013676524220827e+00 3.3983644259897239e+00 2 -2 -1 +670 1 0.0000000000000000e+00 9.3649001163519561e+00 2.9053931944981786e+00 3.7415122933656684e+00 -7 1 1 +2708 1 0.0000000000000000e+00 8.9434325395077821e+00 4.5803962037693813e+00 3.7858789445681542e+00 2 2 -3 +2129 1 0.0000000000000000e+00 8.2473977012438606e+00 4.7705222611262110e+00 2.6416124420188711e+00 2 2 2 +272 1 0.0000000000000000e+00 8.8480773859443715e+00 2.6447324778929961e+00 2.6118845284626317e+00 -1 2 -1 +2579 1 0.0000000000000000e+00 8.6444512761849701e+00 2.5632071039753677e+00 4.8037842448823804e+00 -6 -1 -1 +1409 1 0.0000000000000000e+00 8.7593428732640000e+00 4.5562992866408836e+00 4.9186425285524056e+00 3 2 8 +963 1 0.0000000000000000e+00 7.6276969307308837e+00 3.8139065060000048e+00 3.2361750519461596e+00 -1 5 -1 +2584 1 0.0000000000000000e+00 8.1938462140377162e+00 4.2809156533913342e+00 3.7595358328456348e+00 4 -1 -2 +843 1 0.0000000000000000e+00 8.0458023227349109e+00 3.0060657797138983e+00 4.0768780001802760e+00 0 5 4 +1700 1 0.0000000000000000e+00 9.8036664063671299e+00 3.0600964697083777e+00 2.9375070081585664e+00 3 0 4 +1679 1 0.0000000000000000e+00 8.8948412266879018e+00 4.4936375918039477e+00 2.9291125590116547e+00 0 1 5 +1048 1 0.0000000000000000e+00 9.0916346228904121e+00 4.0767833587431710e+00 4.5262427928678672e+00 -3 -1 -1 +2526 1 0.0000000000000000e+00 9.1516959153249253e+00 4.9273147695686799e+00 4.0321542625552196e+00 3 6 3 +1576 1 0.0000000000000000e+00 7.5269949229659332e+00 4.8309240710522303e+00 3.0279314600345537e+00 -5 -1 0 +1257 1 0.0000000000000000e+00 9.9500152434882292e+00 4.4432759380909861e+00 3.9383120626628902e+00 -1 5 4 +1941 1 0.0000000000000000e+00 5.0749060404480346e+00 8.0860355152880370e-02 6.1945597799506000e+00 -1 1 -3 +869 1 0.0000000000000000e+00 6.1376852038707304e+00 2.4021146721185040e+00 7.4870881517428973e+00 0 3 0 +275 1 0.0000000000000000e+00 5.7109971274254914e+00 5.2190127055195767e-01 6.5792363209729983e+00 -1 -2 -5 +1594 1 0.0000000000000000e+00 6.7930347606744350e+00 2.9040698507521306e-02 5.8237714028244332e+00 -6 5 1 +2793 1 0.0000000000000000e+00 6.1835778452519348e+00 9.3989918035750741e-01 6.8009324356984173e+00 0 -1 3 +541 1 0.0000000000000000e+00 6.8236127543792433e+00 1.8792061305985794e+00 6.6930840060109462e+00 3 0 0 +787 1 0.0000000000000000e+00 6.0823643110457724e+00 2.1885470116043315e+00 6.6553429365166927e+00 1 2 7 +669 1 0.0000000000000000e+00 5.1344053061266068e+00 1.6391789514525212e-01 7.1583945724872793e+00 3 1 -2 +2587 1 0.0000000000000000e+00 5.6887723198170628e+00 1.4627448503976648e+00 7.2558538570528750e+00 -2 0 -1 +753 1 0.0000000000000000e+00 5.4520411900748105e+00 1.4225407196147921e+00 7.0512963101473920e+00 -5 2 0 +2333 1 0.0000000000000000e+00 5.5707905945140768e+00 2.0165332140680423e+00 6.4482896041941462e+00 8 -7 -3 +2775 1 0.0000000000000000e+00 6.7467342052473667e+00 2.7435326305316671e-01 6.4510201052621126e+00 3 3 1 +1338 1 0.0000000000000000e+00 6.5441190491994581e+00 1.0883672690702484e+00 6.0342244590818366e+00 2 5 5 +560 1 0.0000000000000000e+00 5.5255241426882948e+00 1.4134792632393112e+00 6.5181869965964019e+00 1 9 2 +2907 3 1.0000000000000000e+00 5.6033217407664084e+00 6.7414263764354221e-01 7.0806608290213706e+00 1 -2 3 +901 1 0.0000000000000000e+00 5.9452218062579858e+00 1.5739623570628050e+00 6.4216219673589103e+00 -2 1 3 +1994 1 0.0000000000000000e+00 6.7235855766469781e+00 5.8100248088541817e-01 5.5969858299834483e+00 0 6 -4 +2274 1 0.0000000000000000e+00 7.0276161586757722e+00 1.3892911479219854e+00 6.1172541689775306e+00 4 2 2 +746 1 0.0000000000000000e+00 5.1024107493854487e+00 1.6228719985989801e+00 5.4416775400013400e+00 1 -2 0 +1491 1 0.0000000000000000e+00 6.8028259093200294e+00 2.2549710679805304e+00 6.2210658734033641e+00 0 2 0 +1396 1 0.0000000000000000e+00 6.9310942322742788e+00 2.0142040278042219e+00 5.1263526866384286e+00 -2 0 1 +2638 1 0.0000000000000000e+00 5.1446030141921213e+00 1.3077515478922208e+00 6.0266048299430555e+00 -3 0 -6 +2061 1 0.0000000000000000e+00 5.9005049348296694e+00 1.3078732437141158e+00 5.7552889877771465e+00 -8 6 -2 +1020 1 0.0000000000000000e+00 6.3042299342315546e+00 1.2870395570643123e+00 7.2265756242867845e+00 -6 5 -1 +1066 1 0.0000000000000000e+00 6.9526778978088997e+00 1.5064227311866694e+00 5.5692000485084083e+00 2 2 0 +1484 1 0.0000000000000000e+00 6.1606132675198602e+00 7.6676995662017333e-01 7.3066830001610281e+00 3 -5 -3 +587 1 0.0000000000000000e+00 7.3791055313405272e+00 2.0896896767406359e+00 6.3752141815640755e+00 1 1 0 +2265 1 0.0000000000000000e+00 7.3000665529263333e+00 2.4752511861374900e+00 5.6106444282349104e+00 -4 -5 2 +1650 1 0.0000000000000000e+00 7.3428346098496977e+00 8.1373931145275735e-01 5.6581017638406399e+00 3 5 -3 +1514 1 0.0000000000000000e+00 7.4122846305789842e+00 5.3368565655314582e-01 6.4326393360203040e+00 1 -8 -1 +1354 1 0.0000000000000000e+00 5.8544369263911502e+00 2.4014433534189235e+00 5.5868718977189804e+00 1 0 -3 +2608 1 0.0000000000000000e+00 6.1608444764004133e+00 1.0361800539282821e-01 5.4140821615948642e+00 0 1 2 +823 1 0.0000000000000000e+00 6.6395151018156415e+00 7.1013420866012622e-01 7.0709788004998693e+00 2 6 -3 +1269 1 0.0000000000000000e+00 6.8308981196106648e+00 1.8601867186918237e+00 7.1800841724537134e+00 3 5 -2 +410 1 0.0000000000000000e+00 5.1400884091438908e+00 7.6736606769455240e-01 6.5206694341671341e+00 1 3 -6 +1387 1 0.0000000000000000e+00 5.2750345342072027e+00 1.1503861064753795e+00 5.2270588766730661e+00 0 -4 -3 +2154 1 0.0000000000000000e+00 5.7386443301369070e+00 1.9134792104181835e+00 5.7856519699315108e+00 -1 4 -1 +1145 1 0.0000000000000000e+00 5.8840258915523069e+00 4.5326896214299617e-01 5.5243373372198539e+00 -5 6 4 +2042 1 0.0000000000000000e+00 6.8000255882061120e+00 7.3920039980828245e-01 5.2124249542567647e+00 -4 0 2 +1604 1 0.0000000000000000e+00 7.1295048313135556e+00 1.0158115037024644e+00 7.2083615753631314e+00 2 -1 0 +1323 1 0.0000000000000000e+00 6.5271332297665765e+00 1.8489711789602801e+00 5.7638990101883723e+00 -7 3 4 +540 1 0.0000000000000000e+00 5.7907685827180737e+00 8.2183375673157844e-01 5.4814561103920800e+00 0 -1 4 +2943 3 1.0000000000000000e+00 6.8110715815586280e+00 1.1653567063636594e+00 6.7984593849340484e+00 -3 -3 1 +1720 1 0.0000000000000000e+00 5.7276563960079967e+00 2.1231493281154559e+00 7.4892619579170541e+00 0 -6 -4 +2936 3 1.0000000000000000e+00 9.0638157451271493e+00 7.6931946004342833e-02 5.9185260793052086e+00 6 2 2 +679 1 0.0000000000000000e+00 9.3765613807575452e+00 9.2576078355557223e-01 6.4627308526458380e+00 2 0 5 +450 1 0.0000000000000000e+00 9.1232269042168017e+00 1.6058650607754503e+00 5.0551287842619219e+00 -2 -2 0 +499 1 0.0000000000000000e+00 9.9550571586842445e+00 2.1428794533291484e-01 5.0974640260978274e+00 -3 -1 -4 +1934 1 0.0000000000000000e+00 7.7957037173316692e+00 1.8451052747322727e+00 6.0870378570780197e+00 6 1 -1 +1186 1 0.0000000000000000e+00 8.1654316067800412e+00 1.5956227326640875e+00 5.7164571525644279e+00 1 6 -1 +2521 1 0.0000000000000000e+00 8.2554156936917966e+00 4.7690116163901519e-01 6.5275151442149255e+00 -2 -5 2 +1843 1 0.0000000000000000e+00 8.7155986015011777e+00 9.2561108447810425e-01 5.1331539481527475e+00 0 0 -2 +2644 1 0.0000000000000000e+00 9.8655157729051997e+00 2.0870509288604437e+00 6.5251406908546645e+00 0 6 1 +191 1 0.0000000000000000e+00 9.7374336662326382e+00 3.4666893076756217e-01 7.0483903370911092e+00 -3 2 -4 +1757 1 0.0000000000000000e+00 8.4618767431070694e+00 1.1871077848330678e+00 7.4211115795878717e+00 -4 1 1 +1262 1 0.0000000000000000e+00 9.5234397397870492e+00 1.5592442791175189e+00 5.9775396569378323e+00 0 -1 -3 +1541 1 0.0000000000000000e+00 8.6451168062848804e+00 2.0138881791179699e+00 5.0203949712931806e+00 -6 2 2 +2124 1 0.0000000000000000e+00 9.3220476308263347e+00 6.4563629247542487e-01 5.1656016391003616e+00 -4 3 -3 +2831 2 -1.0000000000000000e+00 7.9488978586291790e+00 1.0717105061589272e+00 7.2891203575667110e+00 -1 1 -2 +437 1 0.0000000000000000e+00 8.7690753629662517e+00 1.2866455596512376e+00 5.7023727760983229e+00 -1 0 3 +1321 1 0.0000000000000000e+00 7.5361229856347034e+00 1.6058602018477153e+00 7.0126471293153205e+00 2 -4 0 +608 1 0.0000000000000000e+00 7.6523861480571611e+00 2.2201590548256736e-01 7.1907492768729986e+00 -2 1 3 +1208 1 0.0000000000000000e+00 9.2151980505506010e+00 1.2850876584231889e+00 7.3938297828150912e+00 1 -2 -2 +425 1 0.0000000000000000e+00 8.2109349482888323e+00 1.5179271097330718e+00 5.1030883301257113e+00 1 -1 -4 +1213 1 0.0000000000000000e+00 8.7339217851557347e+00 2.4640414859813111e+00 6.7837388649458017e+00 3 6 4 +720 1 0.0000000000000000e+00 8.3124631237322735e+00 2.3965273454030451e+00 6.2370240710067550e+00 4 0 1 +1537 1 0.0000000000000000e+00 8.4574474498027765e+00 5.3230936093209535e-01 7.1225307803616733e+00 -1 2 -6 +1987 1 0.0000000000000000e+00 9.8709208737487781e+00 2.2038925674245435e+00 5.8128232628933771e+00 -1 -3 5 +18 1 0.0000000000000000e+00 7.9908437336325413e+00 2.2019126932980577e+00 5.4526114222029962e+00 -6 -2 -6 +2535 1 0.0000000000000000e+00 7.5171215855666826e+00 1.7931876411820131e+00 5.4465207957487012e+00 -5 -1 0 +1495 1 0.0000000000000000e+00 8.5969525146743599e+00 2.2881487504154263e+00 5.7570939307684066e+00 -2 -2 0 +872 1 0.0000000000000000e+00 9.6510112242668047e+00 1.3134660715930202e+00 5.6059720296474671e+00 3 0 -1 +2634 1 0.0000000000000000e+00 7.8830062912146701e+00 1.2161282088284937e+00 6.6620825590794199e+00 -1 -3 0 +563 1 0.0000000000000000e+00 9.0654318641280387e+00 2.2408111542107050e+00 6.0659136334352839e+00 -2 -1 2 +2070 1 0.0000000000000000e+00 9.3309313937376448e+00 2.1426056200562427e-01 6.5115122270441947e+00 1 -3 1 +979 1 0.0000000000000000e+00 8.1232972383017934e+00 1.9049270163071623e+00 6.8184480894131347e+00 -2 0 1 +2205 1 0.0000000000000000e+00 8.6590334128738125e+00 8.2698669428302107e-01 6.3177074594877682e+00 -1 0 -1 +1981 1 0.0000000000000000e+00 9.8307345179761771e+00 7.2457260790556199e-01 7.4544540907272214e+00 -5 0 1 +1967 1 0.0000000000000000e+00 9.7527585091177844e+00 1.4304729978908677e+00 7.1299013205657733e+00 0 1 2 +334 1 0.0000000000000000e+00 9.5158522991244325e+00 2.3023390390462053e+00 5.2194492738881966e+00 2 0 0 +279 1 0.0000000000000000e+00 8.4880851854501067e+00 6.5963844384070547e-02 5.0445054671590404e+00 3 4 -2 +2824 2 -1.0000000000000000e+00 8.5711954270986759e+00 1.6681401793954227e+00 6.2974048648693577e+00 6 2 -2 +2674 1 0.0000000000000000e+00 9.1290721209596999e+00 8.1646546756708660e-01 6.9754475925807267e+00 3 -2 0 +620 1 0.0000000000000000e+00 9.0916902453753607e+00 1.9364644108597178e+00 5.3123202627625696e+00 -4 0 -6 +176 1 0.0000000000000000e+00 7.9944649619458676e+00 5.4027306730218205e-01 5.6556121030370070e+00 -4 -5 -4 +2946 3 1.0000000000000000e+00 7.6026335852741873e+00 7.5066715649365545e-01 5.9542260719402815e+00 2 -1 -1 +2735 1 0.0000000000000000e+00 9.1998701911284382e+00 1.6158894238281141e+00 6.5937092099581527e+00 1 4 -2 +1415 1 0.0000000000000000e+00 8.2321896287428089e+00 8.5382166661859193e-01 5.6620603241387437e+00 0 -2 2 +1373 1 0.0000000000000000e+00 8.2977616553333444e+00 2.9934704124348388e-01 6.0563845850657358e+00 -3 6 1 +2909 3 1.0000000000000000e+00 9.1313080321467925e+00 2.0612307584778913e+00 7.4330730153949096e+00 -11 1 -1 +417 1 0.0000000000000000e+00 7.7805734160556392e+00 2.1914073407903301e+00 7.2431555392013953e+00 3 0 4 +244 1 0.0000000000000000e+00 9.8241912307744386e+00 6.4334085302150013e-01 6.1259124352347225e+00 -3 -1 -3 +1389 1 0.0000000000000000e+00 9.0467539736140683e+00 5.3200430432861556e-01 5.6291665683075642e+00 1 5 1 +813 1 0.0000000000000000e+00 5.2919497340902177e+00 2.6838153184722668e+00 6.6357514726010836e+00 -3 -1 5 +1866 1 0.0000000000000000e+00 5.6964463972577688e+00 3.6272011874631973e+00 7.2423387991155721e+00 -2 6 0 +1117 1 0.0000000000000000e+00 5.6192099962073421e+00 2.7790137958507590e+00 5.2056754202338107e+00 3 -5 1 +1291 1 0.0000000000000000e+00 6.0303240214996716e+00 4.9698723560704918e+00 5.0289356757323027e+00 1 1 -10 +2771 1 0.0000000000000000e+00 6.8583428983034329e+00 4.6332951117893009e+00 6.6756478955888348e+00 -6 -1 5 +1748 1 0.0000000000000000e+00 6.3474019875986363e+00 4.2855697921694711e+00 7.3456773681257905e+00 -1 0 3 +2577 1 0.0000000000000000e+00 5.4906148673538970e+00 3.4344698645572564e+00 5.2845366221262822e+00 4 -1 3 +99 1 0.0000000000000000e+00 7.2608189640761616e+00 4.9840066121636539e+00 5.8820998968199181e+00 -3 1 2 +2173 1 0.0000000000000000e+00 6.8674987500583295e+00 3.5199451960892576e+00 7.3207650624235958e+00 3 -2 4 +2382 1 0.0000000000000000e+00 5.2255019771157363e+00 4.0984497705583038e+00 6.7013463520955376e+00 -1 -1 1 +585 1 0.0000000000000000e+00 6.1303738355749493e+00 3.2113485346968429e+00 6.3883262477789291e+00 -7 2 -1 +1079 1 0.0000000000000000e+00 5.6451287426688950e+00 4.9169011921724834e+00 6.4414936975484531e+00 1 -1 -2 +925 1 0.0000000000000000e+00 5.7409677681355262e+00 4.7393178300902425e+00 7.4610142563499053e+00 -2 -1 1 +990 1 0.0000000000000000e+00 5.9314909291861202e+00 4.5968293166268861e+00 5.7113710324377411e+00 -5 -6 0 +625 1 0.0000000000000000e+00 6.3246389515512078e+00 3.7256585330047147e+00 6.1000963863659434e+00 -4 4 3 +2616 1 0.0000000000000000e+00 5.5097972157657171e+00 3.2895140138727430e+00 6.0656033724218048e+00 -2 3 -4 +1207 1 0.0000000000000000e+00 6.6993525017455777e+00 4.5596112563638549e+00 5.9728871328755098e+00 -2 9 3 +898 1 0.0000000000000000e+00 5.7845862562765120e+00 4.1062658526298286e+00 6.0639693298036788e+00 2 -3 -2 +2248 1 0.0000000000000000e+00 5.3790026710532013e+00 2.7882724060300443e+00 6.0153017451668536e+00 -7 -2 -4 +2304 1 0.0000000000000000e+00 6.6777821487254574e+00 3.2745803590784113e+00 5.1894668484545381e+00 3 -3 -2 +2235 1 0.0000000000000000e+00 5.6942297879100394e+00 4.4761358517402092e+00 5.3973913226550740e+00 -3 -1 2 +517 1 0.0000000000000000e+00 6.4228304097114730e+00 2.9782856330332348e+00 6.6432157649514281e+00 -2 -2 -4 +1326 1 0.0000000000000000e+00 6.1563324455039945e+00 3.7107580349333311e+00 6.8069416560371296e+00 4 0 3 +660 1 0.0000000000000000e+00 5.7406203329321750e+00 3.0928993477124571e+00 7.1441251544433904e+00 -4 -2 -4 +756 1 0.0000000000000000e+00 5.1003648973352389e+00 3.9617183298786802e+00 5.7779483053698488e+00 -4 4 2 +1515 1 0.0000000000000000e+00 6.3291099033241789e+00 3.9583478784203674e+00 5.1738519822340736e+00 4 -2 -5 +1012 1 0.0000000000000000e+00 6.0101812789022562e+00 2.5538055114935854e+00 6.1653988952487699e+00 -3 5 -1 +1675 1 0.0000000000000000e+00 6.0946489582926064e+00 4.6599088067132630e+00 6.5240463759974556e+00 9 1 8 +532 1 0.0000000000000000e+00 5.8561902300092319e+00 4.1403997344610097e+00 6.4844809360019688e+00 -3 -2 -3 +1734 1 0.0000000000000000e+00 5.0545759629737441e+00 3.3943948572382183e+00 6.8792772643669196e+00 -3 0 0 +1035 1 0.0000000000000000e+00 6.9340529425345903e+00 3.8285400778932512e+00 6.4644324714815040e+00 4 -1 1 +1206 1 0.0000000000000000e+00 6.4556008432834329e+00 3.1912646581726292e+00 7.4868851431154306e+00 -5 1 -4 +1556 1 0.0000000000000000e+00 6.9313562345821209e+00 2.6456275840238930e+00 7.1215884894263857e+00 -3 -6 2 +1996 1 0.0000000000000000e+00 7.3866697968295778e+00 3.7681877553428516e+00 7.2168484811836224e+00 -10 3 -2 +1705 1 0.0000000000000000e+00 5.0656006823225335e+00 2.5617697357622689e+00 7.2561325828372318e+00 6 -4 3 +2562 1 0.0000000000000000e+00 6.5007949122291180e+00 2.9161138807082119e+00 5.6546398337495996e+00 1 -2 1 +70 1 0.0000000000000000e+00 6.5537027040761817e+00 4.5106415257707271e+00 5.3874645165769666e+00 0 -1 3 +745 1 0.0000000000000000e+00 7.0870613695106437e+00 3.0884800977463160e+00 5.6792302379482491e+00 -3 2 1 +327 1 0.0000000000000000e+00 6.6917389823633764e+00 3.6052724831676777e+00 5.7647593582965779e+00 -1 -1 4 +1224 1 0.0000000000000000e+00 5.3738499113214049e+00 4.4702351802975917e+00 6.9794762810025404e+00 -9 -3 4 +2192 1 0.0000000000000000e+00 5.0111762994387892e+00 4.6623961538259140e+00 6.0013355570523528e+00 -5 0 -5 +160 1 0.0000000000000000e+00 7.2079964295920709e+00 3.1811175937504439e+00 6.9023902199193516e+00 2 4 1 +64 1 0.0000000000000000e+00 7.4428096936323982e+00 2.7511046711972336e+00 6.5352197115772297e+00 -4 0 -4 +2740 1 0.0000000000000000e+00 7.3710806305296614e+00 4.9701996081827833e+00 6.6115024464136596e+00 4 -1 2 +435 1 0.0000000000000000e+00 6.9900304249789924e+00 4.1079017778749760e+00 6.0951285945362903e+00 -9 1 -7 +1726 1 0.0000000000000000e+00 5.8462713099719981e+00 3.4403846502552935e+00 5.5163324904940882e+00 -1 6 8 +2554 1 0.0000000000000000e+00 8.4321939908274572e+00 2.6277628943430793e+00 6.6699420714398974e+00 5 -3 -1 +1704 1 0.0000000000000000e+00 9.4118165123682367e+00 2.5705860281711739e+00 6.7208356401227292e+00 -3 -4 -4 +597 1 0.0000000000000000e+00 9.7375387485800307e+00 4.5299093507189312e+00 6.0818501888242995e+00 -5 -7 6 +300 1 0.0000000000000000e+00 7.6771879562550103e+00 3.8859888902929889e+00 7.1576010966014039e+00 -3 1 5 +1481 1 0.0000000000000000e+00 7.9130440889070019e+00 4.1806141811123814e+00 6.7207567464845210e+00 2 1 1 +343 1 0.0000000000000000e+00 8.6916254280248726e+00 3.0011912985659475e+00 5.5715739821475383e+00 3 -2 1 +271 1 0.0000000000000000e+00 8.4792674013350027e+00 3.9615687379265614e+00 5.8923428743787030e+00 -2 -1 -1 +2079 1 0.0000000000000000e+00 7.5938469266450594e+00 3.3353362718320501e+00 5.2124487201320955e+00 -9 -1 6 +502 1 0.0000000000000000e+00 9.2329425634659348e+00 4.4532639336587732e+00 6.6996259657351391e+00 2 -2 -7 +1517 1 0.0000000000000000e+00 7.9869120699817824e+00 3.2073744059598970e+00 5.8800232134869503e+00 0 3 0 +2 1 0.0000000000000000e+00 7.5592931771315195e+00 3.2574443442782899e+00 6.2717761795714830e+00 -1 -4 5 +2189 1 0.0000000000000000e+00 9.9693426548407977e+00 3.6973655080658956e+00 5.3895086411618065e+00 -1 0 3 +2049 1 0.0000000000000000e+00 8.3314904967613028e+00 4.7262125721417112e+00 5.5389834838772520e+00 2 4 -2 +2974 3 1.0000000000000000e+00 8.8061599779424391e+00 4.3521100851971264e+00 6.0765586679494179e+00 -2 -1 -4 +2642 1 0.0000000000000000e+00 9.7530613265557236e+00 2.8398872413489871e+00 6.0951395557925574e+00 5 0 5 +845 1 0.0000000000000000e+00 8.9328792657048979e+00 4.8740618558007771e+00 6.3746191618534578e+00 4 3 0 +1010 1 0.0000000000000000e+00 8.1404661406364838e+00 4.6261964446695591e+00 7.2514528640044214e+00 -3 1 3 +274 1 0.0000000000000000e+00 7.5235118589644348e+00 3.6456901580321643e+00 5.7673462549539893e+00 2 2 3 +1272 1 0.0000000000000000e+00 9.0908674445153874e+00 3.6257740428254865e+00 5.7851211605403563e+00 1 3 -1 +438 1 0.0000000000000000e+00 7.5649131309849817e+00 4.7457599319214365e+00 7.3377248273888629e+00 -3 2 1 +1403 1 0.0000000000000000e+00 9.0932569650526816e+00 4.6039030381678270e+00 5.3379135203654844e+00 -3 3 -5 +1972 1 0.0000000000000000e+00 8.8087698845470204e+00 3.7418660370445096e+00 5.2753900081393024e+00 4 -8 1 +491 1 0.0000000000000000e+00 8.1015591140395280e+00 3.7205172115147169e+00 6.9222512801010785e+00 -1 3 1 +549 1 0.0000000000000000e+00 9.4962014557910486e+00 3.8620177718412285e+00 6.5269975920039673e+00 -4 0 -8 +747 1 0.0000000000000000e+00 9.4502192447422058e+00 2.6376070648243135e+00 5.4455428453451473e+00 3 -2 2 +1034 1 0.0000000000000000e+00 7.8213859792005662e+00 4.1605010130012881e+00 6.3427012033941033e+00 3 2 -7 +2500 1 0.0000000000000000e+00 8.0565816197494780e+00 2.7452477638329658e+00 6.2542466956442615e+00 1 3 3 +1004 1 0.0000000000000000e+00 8.9563223042101647e+00 4.1223194937996830e+00 7.0358719850443956e+00 -2 6 -1 +428 1 0.0000000000000000e+00 9.0065952985505557e+00 3.0515504641890114e+00 5.9329600884616625e+00 -5 8 -2 +2711 1 0.0000000000000000e+00 8.2262157608459479e+00 4.1109141188262441e+00 5.3191159728820194e+00 -1 2 -1 +931 1 0.0000000000000000e+00 8.2771478624905193e+00 3.0435310095146066e+00 6.8519792745645640e+00 9 3 3 +881 1 0.0000000000000000e+00 8.7261810761560739e+00 3.5819139411105687e+00 6.3976756747441588e+00 -5 1 -9 +2377 1 0.0000000000000000e+00 7.6203763514079714e+00 2.8990975103815337e+00 7.3353162922319459e+00 1 4 -1 +2896 2 -1.0000000000000000e+00 9.3546810594996916e+00 4.3547664082283708e+00 5.7874131403638076e+00 3 -2 0 +1425 1 0.0000000000000000e+00 9.8795362808081464e+00 3.2533719540308454e+00 6.9878732114950131e+00 -2 6 -1 +181 1 0.0000000000000000e+00 8.2033284395009129e+00 2.7556228316734250e+00 5.4691379210706028e+00 2 4 3 +891 1 0.0000000000000000e+00 7.6764340914231823e+00 4.2379981376768487e+00 5.7421716402338170e+00 1 7 1 +1868 1 0.0000000000000000e+00 9.0787680757488012e+00 3.2205939771990120e+00 6.5815365750535948e+00 2 -5 0 +1271 1 0.0000000000000000e+00 9.6491009965078014e+00 3.7018257099161813e+00 5.1452267551204045e+00 -3 -2 0 +2316 1 0.0000000000000000e+00 7.7633508560085662e+00 4.6992954667179943e+00 5.7553158439221352e+00 1 2 -4 +1558 1 0.0000000000000000e+00 8.3042252994873991e+00 4.5867459290168391e+00 6.5951095914066569e+00 1 -1 2 +2646 1 0.0000000000000000e+00 8.3919960947087233e+00 3.4438694537146297e+00 6.3479877561058373e+00 -4 -1 3 +836 1 0.0000000000000000e+00 9.6309301333661068e+00 2.8017528394753137e+00 7.3161722565093923e+00 -6 -1 3 +2580 1 0.0000000000000000e+00 9.9391300872847967e+00 4.4948071455369600e+00 5.2278381359341539e+00 0 2 6 +1896 1 0.0000000000000000e+00 9.5894766116443151e+00 3.7278701787058588e+00 7.1838094314978100e+00 3 -4 4 +2188 1 0.0000000000000000e+00 5.3065659351596652e+00 1.9403848283585114e+00 9.6028256198016066e+00 1 2 0 +1009 1 0.0000000000000000e+00 6.8493157805370721e+00 2.3430835438920967e+00 9.1545720015608012e+00 -2 -2 -1 +2768 1 0.0000000000000000e+00 6.8939896796151396e+00 8.3383677006919377e-01 9.9276950286031820e+00 1 1 0 +761 1 0.0000000000000000e+00 5.1979713351713110e+00 2.3822120825216802e+00 8.5267675572183457e+00 9 -3 0 +1504 1 0.0000000000000000e+00 6.5614138544437113e+00 7.7076857837337531e-02 8.5394513185946739e+00 1 -6 1 +2371 1 0.0000000000000000e+00 5.7607346778776822e+00 1.5032578744423950e+00 8.4806879740535859e+00 0 4 3 +1191 1 0.0000000000000000e+00 5.9072960203146296e+00 1.7117532040239252e+00 9.6337376344793046e+00 0 1 -3 +2153 1 0.0000000000000000e+00 5.6473146859316454e+00 8.2441924371784925e-01 7.8531260626013770e+00 1 -4 -5 +1479 1 0.0000000000000000e+00 5.1982055286005000e+00 1.1001045357827741e+00 8.8728662638403595e+00 3 4 1 +2629 1 0.0000000000000000e+00 6.8408033176714165e+00 9.4725896496367112e-01 7.9409854786206884e+00 -2 -1 5 +2592 1 0.0000000000000000e+00 7.4446265652736887e+00 1.9531368802250251e+00 8.9143012844014820e+00 0 2 -4 +2980 3 1.0000000000000000e+00 7.2677057238576772e+00 9.3804993904884892e-01 8.9618894568333616e+00 1 -3 0 +629 1 0.0000000000000000e+00 5.5694511052140783e+00 2.4808502395697438e-01 7.5473069225062268e+00 2 -1 1 +871 1 0.0000000000000000e+00 5.7116797981143419e+00 2.1979638151679679e+00 8.5258016208880498e+00 -3 4 -1 +154 1 0.0000000000000000e+00 7.3548481620232717e+00 4.5362545847663494e-01 9.2547118798002135e+00 -6 -3 2 +1555 1 0.0000000000000000e+00 6.7005243761519226e+00 2.3989305608546370e+00 8.6087922308301845e+00 2 -3 -1 +1277 1 0.0000000000000000e+00 5.1069106799350017e+00 1.4391711125670947e+00 7.8780095403632231e+00 7 3 2 +398 1 0.0000000000000000e+00 5.8251932168812708e+00 6.7816154586201716e-01 8.2841756526318040e+00 -2 0 0 +973 1 0.0000000000000000e+00 6.3602401761029537e+00 1.6905247759941008e-01 8.4503194089144795e+00 -3 1 -1 +1335 1 0.0000000000000000e+00 6.0509507863019172e+00 1.4774382387697202e+00 8.0355055056271567e+00 6 2 3 +2981 3 1.0000000000000000e+00 6.3569718620523519e+00 1.7396565197071616e+00 7.8946067874176249e+00 -1 -3 2 +142 1 0.0000000000000000e+00 5.6565972190277840e+00 6.7699459953610464e-01 9.6737760957545227e+00 0 -3 -5 +2632 1 0.0000000000000000e+00 6.9592264417394283e+00 3.2079884782390522e-01 8.4476989981543689e+00 4 2 0 +2686 1 0.0000000000000000e+00 6.8009612310655871e+00 1.6166509406267542e+00 9.4851988377960375e+00 8 2 -5 +1673 1 0.0000000000000000e+00 6.2512690377536364e+00 2.0089567668899795e+00 9.2923551888362006e+00 -1 3 6 +833 1 0.0000000000000000e+00 6.7098427053595975e+00 1.9906319303246689e+00 8.0837210910634099e+00 1 2 -1 +989 1 0.0000000000000000e+00 7.3860807016945289e+00 1.0419540611667548e+00 9.9698453159506784e+00 -8 0 -3 +566 1 0.0000000000000000e+00 6.9096746286896549e+00 1.2361690876618505e+00 9.4048090208853008e+00 -3 12 6 +733 1 0.0000000000000000e+00 5.0648429902847001e+00 1.9397746737201083e+00 7.9598427787434538e+00 -4 0 -6 +443 1 0.0000000000000000e+00 6.2391539887838903e+00 1.6875003333859540e+00 9.9304602130508162e+00 -3 3 -3 +1221 1 0.0000000000000000e+00 5.2738511375255648e+00 4.8617171467757614e-01 9.2928619473190075e+00 1 -1 -1 +1046 1 0.0000000000000000e+00 5.5575035007332954e+00 2.0505477436081860e+00 8.7368026613458625e+00 2 2 -3 +1487 1 0.0000000000000000e+00 5.1022206997382549e+00 1.7019529127852930e+00 9.0965272608013965e+00 -5 0 0 +189 1 0.0000000000000000e+00 5.7482535543133659e+00 1.1706846980733479e+00 8.9263018734981756e+00 -2 -5 1 +1198 1 0.0000000000000000e+00 7.4413715277364281e+00 1.4935749749676304e+00 7.9109545668889414e+00 1 2 3 +2145 1 0.0000000000000000e+00 7.3608451044478667e+00 2.1047451007487675e-01 7.5966532281280639e+00 7 -6 -1 +702 1 0.0000000000000000e+00 5.7616243842752386e+00 2.2456996670685516e+00 9.8338816123643387e+00 0 2 -4 +893 1 0.0000000000000000e+00 6.5708841768891872e+00 4.9525760759464649e-01 9.3236801541015915e+00 8 3 0 +2779 1 0.0000000000000000e+00 6.3743567815675819e+00 1.2583195426464588e+00 8.7165651860680171e+00 -1 -6 4 +454 1 0.0000000000000000e+00 6.8682424862574578e+00 1.1099075246050787e+00 8.6665269251038506e+00 1 0 -2 +2266 1 0.0000000000000000e+00 7.4383998804267222e+00 1.6371153048255999e-01 9.9816634557531057e+00 -3 6 0 +2821 2 -1.0000000000000000e+00 6.9056575415031967e+00 1.4729815321258140e+00 8.4356410076009567e+00 -3 6 -3 +2582 1 0.0000000000000000e+00 6.5456768073369966e+00 1.3669680380859234e-01 7.7701451954290253e+00 0 -1 4 +810 1 0.0000000000000000e+00 6.5264647847171018e+00 7.5009601309220597e-01 7.9594773981205531e+00 -2 4 -4 +639 1 0.0000000000000000e+00 6.4433131082849151e+00 1.0251510784119189e+00 9.6107662301690198e+00 3 -3 4 +2549 1 0.0000000000000000e+00 5.9640296324134523e+00 4.1337946415073379e-01 9.0956681951229008e+00 -2 -1 -1 +262 1 0.0000000000000000e+00 5.2811393733473597e+00 3.5934406280285391e-01 8.5891164287347781e+00 1 -5 2 +234 1 0.0000000000000000e+00 9.6419216045806273e+00 1.7326001248716920e+00 9.8537899380500402e+00 1 -4 1 +317 1 0.0000000000000000e+00 8.5913065633710044e+00 2.8351199968578339e-01 9.2601786613281085e+00 -5 5 3 +1201 1 0.0000000000000000e+00 8.1354707793859262e+00 1.4977334012462533e+00 8.0023912019319354e+00 3 3 -1 +1462 1 0.0000000000000000e+00 9.0202730743191601e+00 1.9161865317314821e+00 9.9925379872025619e+00 -2 -1 -4 +961 1 0.0000000000000000e+00 7.7629584331640302e+00 6.3798345062345141e-01 8.2495782269637754e+00 -5 7 0 +2944 3 1.0000000000000000e+00 8.5658309579845486e+00 4.4186842440943808e-01 8.3956921892036203e+00 -3 4 -3 +1906 1 0.0000000000000000e+00 9.2818896041802645e+00 9.6658577632589548e-01 7.9705175367654322e+00 2 -1 1 +2475 1 0.0000000000000000e+00 9.8030529613951209e+00 6.1624286506746651e-01 8.7441736404386656e+00 -4 -5 0 +60 1 0.0000000000000000e+00 9.2900516650675051e+00 1.8566693206724061e+00 9.3654400401194327e+00 -2 -4 0 +1709 1 0.0000000000000000e+00 9.4898033967161020e+00 1.0087245442315869e+00 9.7706302560684293e+00 4 1 2 +2855 2 -1.0000000000000000e+00 7.5010915352616037e+00 8.1221527170167429e-01 8.0758258879396116e+00 -4 4 -2 +1051 1 0.0000000000000000e+00 8.9405172827411690e+00 2.4456331827700923e+00 9.4261976096503801e+00 -1 2 6 +1980 1 0.0000000000000000e+00 8.3915357440997482e+00 8.4594229918280994e-01 9.8451256340953019e+00 -5 2 3 +386 1 0.0000000000000000e+00 8.8617628972885178e+00 2.0856708849135366e-01 7.5300729640247690e+00 1 -1 -7 +46 1 0.0000000000000000e+00 9.7540646752310902e+00 1.6969575595909159e+00 8.8201144086363659e+00 1 -3 1 +1445 1 0.0000000000000000e+00 9.7410856698178954e+00 4.9496389953468423e-01 8.0498859378137571e+00 2 6 -3 +289 1 0.0000000000000000e+00 8.6409139224785001e+00 8.1319740987714395e-01 8.4884039930668269e+00 -7 -7 -4 +1492 1 0.0000000000000000e+00 9.1198769827766686e+00 2.3048076088165459e+00 8.3666328822275542e+00 -2 2 0 +933 1 0.0000000000000000e+00 9.6718834784431333e+00 2.2872322163369896e+00 7.6854788089836381e+00 -1 6 0 +2223 1 0.0000000000000000e+00 8.1810966985615234e+00 2.4379978878008055e+00 8.9571694181226249e+00 3 -3 -2 +948 1 0.0000000000000000e+00 8.0227627330130211e+00 2.0033677475385057e+00 9.7518450544174033e+00 -6 3 -2 +2095 1 0.0000000000000000e+00 8.6711098799428292e+00 7.2439144328112082e-01 8.0180331042582207e+00 1 0 -1 +1953 1 0.0000000000000000e+00 9.0605425286308794e+00 1.9602795201552279e+00 9.0363142111437718e+00 -1 -1 0 +1857 1 0.0000000000000000e+00 9.1021862329796264e+00 1.8508242523556706e+00 8.1255099706056129e+00 7 2 -9 +579 1 0.0000000000000000e+00 8.3491440298035666e+00 1.5702098299506910e+00 8.8214677744440202e+00 9 10 0 +919 1 0.0000000000000000e+00 9.0830724868575174e+00 1.1328983900780498e+00 9.0170938282955575e+00 -3 3 1 +2426 1 0.0000000000000000e+00 7.6224036611150678e+00 2.2800539120970740e+00 8.8592386702067962e+00 1 1 -3 +1498 1 0.0000000000000000e+00 9.2058369952540104e+00 4.3825433605652309e-01 9.5990058780728820e+00 -5 4 2 +1336 1 0.0000000000000000e+00 9.2478713071690795e+00 4.9881150998055353e-02 9.1703764561691710e+00 0 2 1 +1993 1 0.0000000000000000e+00 8.6378894554193941e+00 1.7943651951195081e+00 9.4431190465252808e+00 4 1 -3 +2021 1 0.0000000000000000e+00 7.9046723070410172e+00 1.4738143257179712e+00 9.2861458057666031e+00 3 -5 0 +1246 1 0.0000000000000000e+00 7.5861199533386952e+00 2.1002619591019549e+00 8.2223983293250971e+00 -3 3 6 +1375 1 0.0000000000000000e+00 9.5517685887159942e+00 1.0015837698072998e+00 8.7673200418630675e+00 2 -4 -3 +2456 1 0.0000000000000000e+00 8.3422001841622464e+00 6.6764539644848309e-01 9.1122354363819138e+00 -5 3 1 +2655 1 0.0000000000000000e+00 7.6384423363150074e+00 2.4076280732802737e+00 7.5805542728108861e+00 -2 -2 -6 +2267 1 0.0000000000000000e+00 8.0711703106968269e+00 1.1967607520656416e+00 9.7879590613363856e+00 6 4 4 +1342 1 0.0000000000000000e+00 7.6378244877444148e+00 8.9065212556968065e-01 7.5450876370535482e+00 2 -2 4 +2780 1 0.0000000000000000e+00 8.5479446643908439e+00 1.9858225719877618e+00 7.7190544959017418e+00 -4 -4 -1 +603 1 0.0000000000000000e+00 7.6110657461706079e+00 1.4842975249737349e+00 8.6812992867068139e+00 4 7 1 +661 1 0.0000000000000000e+00 9.9513907236508654e+00 1.3601884818556564e+00 7.9561310091017221e+00 -2 -9 -2 +2778 1 0.0000000000000000e+00 8.8870481035193514e+00 1.3810779063482923e+00 8.2394283108021575e+00 -5 -1 2 +354 1 0.0000000000000000e+00 8.0501650545774321e+00 2.4872478231613610e-02 7.8124295576208951e+00 -6 0 -2 +2372 1 0.0000000000000000e+00 9.6969132149906372e+00 1.9525292578890823e+00 8.0569190777842064e+00 1 -3 -1 +1607 1 0.0000000000000000e+00 9.1403678446720473e+00 7.9010006858545770e-02 7.5241677765656521e+00 -5 0 -4 +2725 1 0.0000000000000000e+00 9.9263005957590114e+00 2.4393478092875136e+00 9.9829968996720932e+00 1 5 2 +1799 1 0.0000000000000000e+00 8.6629164862625405e+00 1.2451162696344289e+00 9.9916148587824107e+00 4 0 1 +115 1 0.0000000000000000e+00 5.9397532190339026e+00 3.5228542812018371e+00 8.8250969007811637e+00 -2 2 -3 +2112 1 0.0000000000000000e+00 7.4494064532832596e+00 2.5503392001286902e+00 9.5784335016266287e+00 -3 6 -2 +133 1 0.0000000000000000e+00 5.9080219314730265e+00 3.8522843192273308e+00 7.7405556791543111e+00 4 4 0 +2990 3 1.0000000000000000e+00 6.3293659580470090e+00 4.9783151157341017e+00 8.0421552202906597e+00 -2 -1 -4 +1116 1 0.0000000000000000e+00 5.3177890363097626e+00 2.9973034691870337e+00 8.3428992571162421e+00 -2 -1 -2 +1083 1 0.0000000000000000e+00 5.1266335603256703e+00 3.3915250840413278e+00 9.8992834664304148e+00 4 7 0 +1078 1 0.0000000000000000e+00 5.1441713659584973e+00 2.8359330259213906e+00 7.6604976270923144e+00 -3 7 -7 +286 1 0.0000000000000000e+00 6.4975866198271692e+00 4.6660716140009466e+00 7.5983103360438840e+00 -3 -1 -1 +2460 1 0.0000000000000000e+00 5.1420646672422583e+00 3.5529402028373869e+00 9.0685114850555539e+00 2 -4 -5 +2190 1 0.0000000000000000e+00 5.6722119946414011e+00 4.4434452009162895e+00 7.9138183601773076e+00 -1 2 0 +717 1 0.0000000000000000e+00 5.9534530006401729e+00 2.8093026064288105e+00 9.1180037479952407e+00 3 -1 -9 +1992 1 0.0000000000000000e+00 7.4041467143953597e+00 2.9501953243598265e+00 8.4765576942435530e+00 0 5 4 +62 1 0.0000000000000000e+00 5.1594663741232871e+00 3.8430700570400136e+00 8.6038076416558038e+00 -1 -8 1 +2364 1 0.0000000000000000e+00 5.5081986178490530e+00 4.9653450893801931e+00 9.4368048702811986e+00 3 -2 -5 +1047 1 0.0000000000000000e+00 7.4236845372261344e+00 4.2734413401080635e+00 9.2713761143075040e+00 -2 0 5 +699 1 0.0000000000000000e+00 6.8889919135835678e+00 4.2961176367284342e+00 8.5101651048041393e+00 2 -3 2 +1307 1 0.0000000000000000e+00 5.2989250657553830e+00 4.7181177950231268e+00 9.9107539934910100e+00 -3 5 -1 +117 1 0.0000000000000000e+00 7.0623756218682070e+00 2.6186983731838418e+00 7.5893886522089806e+00 3 -2 2 +391 1 0.0000000000000000e+00 7.1376855933313603e+00 2.6738273023612060e+00 8.3899463390654994e+00 1 0 0 +827 1 0.0000000000000000e+00 6.4249180000098640e+00 4.3303348382987847e+00 8.0552166666157721e+00 -3 -4 -4 +120 1 0.0000000000000000e+00 6.2977011310837270e+00 4.9756002844595004e+00 8.9484253978300572e+00 3 -2 0 +2958 3 1.0000000000000000e+00 5.3885454802325494e+00 4.5127922220333003e+00 7.9237980522574230e+00 3 -2 -2 +131 1 0.0000000000000000e+00 5.5248662768610464e+00 3.2801606835883983e+00 7.7179113524806988e+00 -1 -3 -5 +2262 1 0.0000000000000000e+00 6.8859211030715954e+00 3.4243872335269345e+00 7.8422685496192566e+00 1 -2 -2 +2133 1 0.0000000000000000e+00 5.3962070215325699e+00 2.6494052271247561e+00 9.2452354347381167e+00 3 1 5 +1442 1 0.0000000000000000e+00 6.4488016775078680e+00 2.8974460468089331e+00 8.2155386999575164e+00 7 -1 -1 +1785 1 0.0000000000000000e+00 6.5139887009837940e+00 4.4284860155408872e+00 9.9734202578073958e+00 3 -1 -1 +2893 2 -1.0000000000000000e+00 6.7810068104109211e+00 4.3172230718955360e+00 9.4523286997102485e+00 -4 6 -2 +1147 1 0.0000000000000000e+00 7.4033307690665877e+00 4.7967166380722368e+00 8.5886492767363638e+00 1 4 -1 +94 1 0.0000000000000000e+00 6.0553309225230905e+00 4.1901714180708369e+00 9.6558350271772628e+00 -3 1 0 +2937 3 1.0000000000000000e+00 5.8583778582335952e+00 4.4274149567348724e+00 8.5353640848046997e+00 -3 2 -4 +2417 1 0.0000000000000000e+00 6.0815581138777439e+00 4.7327842892583707e+00 8.7491412630189185e+00 0 -11 2 +1933 1 0.0000000000000000e+00 5.9628482302822494e+00 3.8061378025542036e+00 8.4606999776414789e+00 1 -3 1 +725 1 0.0000000000000000e+00 7.4525581734229958e+00 3.0671607371277703e+00 9.5320122857675322e+00 4 -4 2 +2005 1 0.0000000000000000e+00 7.2712678422724792e+00 4.2151976140082468e+00 7.7489614158409763e+00 3 -1 4 +1088 1 0.0000000000000000e+00 6.2935516352564393e+00 2.8573833422761954e+00 9.7471548242901154e+00 -3 -4 -6 +2624 1 0.0000000000000000e+00 5.9790320121480311e+00 2.9311632275831494e+00 8.0768640985014439e+00 7 6 3 +1130 1 0.0000000000000000e+00 7.1574908832407642e+00 3.8299095420812130e+00 8.9137428492785631e+00 -5 -7 -2 +807 1 0.0000000000000000e+00 5.1975938037955398e+00 4.0654910986844248e+00 7.5258744387365271e+00 6 -4 -2 +1614 1 0.0000000000000000e+00 6.5861711530511871e+00 3.5694987097987818e+00 9.3818279252902350e+00 2 4 -5 +1328 1 0.0000000000000000e+00 5.4393955532520222e+00 4.5378133857610674e+00 8.9474406448557584e+00 3 -1 -4 +113 1 0.0000000000000000e+00 6.6019238467999362e+00 3.4630649272051781e+00 8.4725073076632977e+00 5 -3 4 +1161 1 0.0000000000000000e+00 6.8684209981763535e+00 3.2743242872641134e+00 9.0169170772022316e+00 1 6 -5 +513 1 0.0000000000000000e+00 6.7583995175790719e+00 2.6573283459482702e+00 9.5344609482832841e+00 0 3 -4 +1899 1 0.0000000000000000e+00 5.8736047995561460e+00 3.8658928411417204e+00 9.4987180739624346e+00 1 2 0 +2586 1 0.0000000000000000e+00 5.8138948398337345e+00 3.4214810488545928e+00 9.6116646600374409e+00 0 4 -4 +805 1 0.0000000000000000e+00 6.4735921830782726e+00 4.2329830891726790e+00 8.6439636999534617e+00 0 5 -10 +2854 2 -1.0000000000000000e+00 7.4086088547471940e+00 3.2641359912264214e+00 7.8802930753055573e+00 3 1 -7 +1394 1 0.0000000000000000e+00 6.8898254440526232e+00 4.7196476653820447e+00 7.5738327036002913e+00 2 8 -1 +401 1 0.0000000000000000e+00 7.3167907320456491e+00 4.4124681138058026e+00 9.9822471714316396e+00 -6 0 -6 +1863 1 0.0000000000000000e+00 9.0995003160453845e+00 3.5458187528928669e+00 9.2375849604438471e+00 5 -1 0 +2553 1 0.0000000000000000e+00 9.6490571730362493e+00 3.1650565914618811e+00 9.4331277138050762e+00 -4 -4 0 +208 1 0.0000000000000000e+00 7.8264370142379223e+00 4.3933115132267808e+00 8.3019568318813857e+00 0 -5 -1 +545 1 0.0000000000000000e+00 7.9735037251285421e+00 3.6117064031281059e+00 9.6075114034518414e+00 4 -1 -3 +1762 1 0.0000000000000000e+00 8.9734360121437966e+00 3.0348995123443041e+00 9.0118256872950706e+00 2 -5 -5 +2272 1 0.0000000000000000e+00 8.7085906633585157e+00 4.3951238824189929e+00 8.3841233046196901e+00 -4 -3 1 +2849 2 -1.0000000000000000e+00 7.6015646725569557e+00 3.6612392594709813e+00 9.0812034075858232e+00 0 1 -6 +2198 1 0.0000000000000000e+00 9.0239947679500130e+00 4.1903135462577961e+00 8.7348924864291639e+00 -4 -1 1 +2299 1 0.0000000000000000e+00 8.4196047047459039e+00 3.7633807379892659e+00 8.9774847269542697e+00 2 -1 -7 +2045 1 0.0000000000000000e+00 8.4885937141746854e+00 4.8521543701450138e+00 8.5469321903700841e+00 6 1 -3 +2249 1 0.0000000000000000e+00 7.6382305088694986e+00 4.9413412643774688e+00 9.2580554487336517e+00 7 -1 -2 +1464 1 0.0000000000000000e+00 9.6272285345928665e+00 2.6997355339611246e+00 9.1226590779890167e+00 1 -1 0 +2989 3 1.0000000000000000e+00 9.4517661073369617e+00 4.1376237446875459e+00 9.7542541940254708e+00 1 -6 1 +1381 1 0.0000000000000000e+00 9.3090274651343812e+00 4.8030151301736206e+00 9.6964640827342645e+00 -1 -2 1 +2448 1 0.0000000000000000e+00 9.2164823292252880e+00 3.1031728388043707e+00 7.6218629419628439e+00 4 -6 -4 +1259 1 0.0000000000000000e+00 9.3949165580723264e+00 4.5280484589057357e+00 8.0985821744315238e+00 -3 -4 -3 +2017 1 0.0000000000000000e+00 9.7190488825619941e+00 3.4146324361679206e+00 9.9788950177285773e+00 -1 -1 -3 +1416 1 0.0000000000000000e+00 8.7295027460542460e+00 2.5853060084583386e+00 8.5277921426960663e+00 -3 -4 -5 +2245 1 0.0000000000000000e+00 8.4835730297970056e+00 3.2979360898512278e+00 7.9220324315676596e+00 -3 -2 -4 +1769 1 0.0000000000000000e+00 9.4102393010459569e+00 4.0148992672255162e+00 7.8531253416487550e+00 0 -5 -5 +1121 1 0.0000000000000000e+00 9.5060326841913252e+00 4.8426263214537570e+00 9.0422602967871022e+00 2 6 0 +908 1 0.0000000000000000e+00 8.7273231811662324e+00 4.2561072989215907e+00 7.5211744037201820e+00 0 -1 -2 +2292 1 0.0000000000000000e+00 9.8314174384952349e+00 3.2495376347937337e+00 7.8457034814309221e+00 3 1 0 +1754 1 0.0000000000000000e+00 9.5812335967703923e+00 4.4534128541933446e+00 7.5194946751159577e+00 3 -1 -3 +1261 1 0.0000000000000000e+00 8.9275828130359152e+00 3.3166830600074535e+00 8.3938640544808258e+00 -4 2 7 +2794 1 0.0000000000000000e+00 8.8861360024523890e+00 4.7391396864661912e+00 7.7537942814977718e+00 -2 1 -2 +2087 1 0.0000000000000000e+00 9.2211588490901573e+00 3.5335696503994987e+00 8.4980455145171536e+00 1 -4 5 +1167 1 0.0000000000000000e+00 9.6225086426937718e+00 4.2713944368367800e+00 9.2497996540484788e+00 5 0 0 +2513 1 0.0000000000000000e+00 7.9019314454335410e+00 3.8421028776623509e+00 8.0425953961714303e+00 6 1 -5 +643 1 0.0000000000000000e+00 8.6197235219329222e+00 4.2548925556651866e+00 9.4015918951622499e+00 -5 -2 0 +2623 1 0.0000000000000000e+00 9.9394310482165942e+00 4.6173902299006535e+00 8.4894224346754950e+00 -2 3 4 +644 1 0.0000000000000000e+00 8.2997960556910240e+00 2.7753956677988518e+00 9.1713723274215262e+00 -1 -2 -2 +217 1 0.0000000000000000e+00 9.1545125829859550e+00 2.9001452312023783e+00 7.8138447434770644e+00 4 -7 -4 +1052 1 0.0000000000000000e+00 8.7014933034737432e+00 3.9026619072365576e+00 7.8181401095432319e+00 2 6 -6 +2195 1 0.0000000000000000e+00 8.2321809346177552e+00 3.0929984126554060e+00 8.4634706376588511e+00 3 7 5 +2137 1 0.0000000000000000e+00 7.6864417054114575e+00 3.3993307026743160e+00 8.6918873717843841e+00 -3 0 -2 +659 1 0.0000000000000000e+00 9.7173902672412762e+00 4.6722772213036841e+00 9.9476973696327367e+00 2 0 1 +1905 1 0.0000000000000000e+00 9.6517388382226201e+00 3.6933922712251914e+00 8.9742124220575690e+00 1 -2 0 +2823 2 -1.0000000000000000e+00 8.3525331402118788e+00 2.8947950375779414e+00 9.8143168065061754e+00 -3 -3 -1 +2953 3 1.0000000000000000e+00 7.9889961101473803e+00 2.6436275594210339e+00 7.9399004079207369e+00 -2 1 4 +453 1 0.0000000000000000e+00 8.1905813164661918e+00 4.3672634866398914e+00 9.0887024603001816e+00 -3 0 -2 +1793 1 0.0000000000000000e+00 9.8273211655081667e+00 4.1656353376490571e+00 9.5319434342989542e+00 4 3 -1 +293 1 0.0000000000000000e+00 8.5524181407240274e+00 2.6268655213763128e+00 7.5139269235961708e+00 1 -4 3 +2641 1 0.0000000000000000e+00 5.7717188844257210e+00 6.9685641674419010e+00 4.6462671162736829e-01 1 1 -1 +2963 3 1.0000000000000000e+00 6.0276738223190467e+00 7.3625979458949438e+00 1.1497251254460839e+00 1 3 -2 +1669 1 0.0000000000000000e+00 6.5719974959124263e+00 6.6697430852086681e+00 1.3772961660039531e+00 3 -1 -1 +88 1 0.0000000000000000e+00 7.2403211836153147e+00 6.8878104314758186e+00 2.1972994852167544e+00 -3 0 0 +1011 1 0.0000000000000000e+00 7.2823677311284989e+00 5.5685038443015049e+00 1.7089402349225984e+00 -4 -1 -3 +92 1 0.0000000000000000e+00 6.6507583039837588e+00 6.8217604079846357e+00 2.0722762936758077e+00 -4 9 4 +1106 1 0.0000000000000000e+00 6.7287384644523556e+00 6.3962550499078379e+00 9.7327908919268069e-02 2 9 3 +2951 3 1.0000000000000000e+00 5.8108177039476150e+00 6.4664080874879248e+00 1.9526749345205896e+00 0 1 3 +2286 1 0.0000000000000000e+00 6.5966238159590116e+00 5.3363566729523768e+00 3.0820393449491407e-01 -1 0 -3 +808 1 0.0000000000000000e+00 6.8898457743262176e+00 7.1012118491711833e+00 1.7036054712086127e-01 -5 3 3 +648 1 0.0000000000000000e+00 5.6390073707535997e+00 6.3626713796078942e+00 9.5989075486101375e-02 -4 -2 -1 +986 1 0.0000000000000000e+00 6.1721991836154322e+00 5.2581526524949549e+00 1.7919212189802900e+00 -3 -5 0 +1971 1 0.0000000000000000e+00 5.5533679621824303e+00 7.2420143109141231e+00 1.4275776944252252e+00 -3 7 5 +2875 2 -1.0000000000000000e+00 6.7466319920788829e+00 7.2172892296257336e+00 1.0602726938873281e+00 3 -1 0 +2614 1 0.0000000000000000e+00 5.0696225831714994e+00 7.2162344044727025e+00 1.9749900028001275e+00 4 0 -2 +2738 1 0.0000000000000000e+00 6.8495239921863877e+00 5.4801465235573747e+00 2.2920412333397500e+00 10 3 3 +1127 1 0.0000000000000000e+00 6.0845886401275751e+00 5.8835947828611381e+00 1.9753472573825448e+00 2 -1 3 +1589 1 0.0000000000000000e+00 7.1771989468632986e+00 5.3230034109041373e+00 8.0444006605197471e-01 2 -2 -1 +2381 1 0.0000000000000000e+00 5.1646387525344251e+00 5.5262263584451974e+00 1.8906379820249659e+00 1 2 -1 +2536 1 0.0000000000000000e+00 5.7326070557482955e+00 6.9534031176202147e+00 2.4278801030832478e+00 -3 -7 5 +2051 1 0.0000000000000000e+00 5.0739421141343790e+00 6.2225760515212540e+00 2.0841466021207773e+00 -8 -9 4 +2743 1 0.0000000000000000e+00 7.0742512782423477e+00 6.3905257447667125e+00 1.0310800125622823e+00 5 -1 1 +68 1 0.0000000000000000e+00 6.2028634292793123e+00 6.0724695875492092e+00 5.9691392159152290e-01 -3 0 -3 +2046 1 0.0000000000000000e+00 7.4928717418293784e+00 5.6792980858914728e+00 9.4803597417778551e-01 -2 -2 0 +2766 1 0.0000000000000000e+00 6.2329821192762109e+00 7.0242596590650708e+00 2.2751821081299162e+00 1 -2 -2 +621 1 0.0000000000000000e+00 5.2763294250695365e+00 5.3703984029383651e+00 1.4031988863020817e+00 1 -6 -1 +371 1 0.0000000000000000e+00 5.1984821451309218e+00 5.0979709376299516e+00 6.5359055236667207e-01 2 4 -1 +273 1 0.0000000000000000e+00 5.1989627209413856e+00 6.8473216693570240e+00 8.6366720586742718e-01 -6 -5 -2 +1847 1 0.0000000000000000e+00 5.1876167229993770e+00 5.1945304971859052e+00 2.3639061011036140e+00 0 -1 3 +2103 1 0.0000000000000000e+00 6.5173448255137183e+00 5.8377074952528929e+00 1.3422038141317354e+00 0 2 5 +1005 1 0.0000000000000000e+00 7.4034945117108633e+00 7.2800269721791908e+00 1.4095130181774691e+00 0 3 -2 +1728 1 0.0000000000000000e+00 6.7403093697119543e+00 5.3498967448059744e+00 1.1679625163756155e+00 -3 5 3 +2484 1 0.0000000000000000e+00 5.9704865457420038e+00 5.0420250946271787e+00 8.9078825369990122e-02 -5 -1 5 +2617 1 0.0000000000000000e+00 7.1769267884863472e+00 6.6400754270004549e+00 2.0070309852681181e+00 -2 2 -3 +456 1 0.0000000000000000e+00 5.6788763582638211e+00 5.8740094200482185e+00 2.3755654954688117e+00 -8 -6 4 +203 1 0.0000000000000000e+00 6.2839248972022297e+00 7.3713503774043803e+00 5.6288193568664968e-01 -4 -3 1 +2027 1 0.0000000000000000e+00 5.4488849702040421e+00 6.0460377637914124e+00 1.4421665059494715e+00 2 4 4 +938 1 0.0000000000000000e+00 5.3297152922261999e+00 6.3269555347047888e+00 6.5423671675019923e-01 -6 0 2 +397 1 0.0000000000000000e+00 7.3487469460634633e+00 6.2667774303477310e+00 1.5932330619732142e+00 8 1 3 +1217 1 0.0000000000000000e+00 6.1212956809686307e+00 5.5817485305056316e+00 8.8128891704609280e-01 3 0 -2 +2406 1 0.0000000000000000e+00 6.7342777993166854e+00 6.9415241133148351e+00 2.8527803401909546e-01 0 2 3 +2434 1 0.0000000000000000e+00 5.9493316865918153e+00 6.5305074427875445e+00 1.3402594858054968e+00 -2 -4 -3 +347 1 0.0000000000000000e+00 6.2247672364113571e+00 5.8007335599057743e+00 1.9309711663213527e-01 -6 3 1 +395 1 0.0000000000000000e+00 7.3703509093990158e+00 6.6767857752910800e+00 8.4744241103012163e-01 2 2 4 +2298 1 0.0000000000000000e+00 5.4946283243616216e+00 5.6358238463289014e+00 1.8682454028083376e-01 3 -2 0 +1122 1 0.0000000000000000e+00 7.1901971144244818e+00 5.0762684993364511e+00 1.7517862503027876e-01 0 -9 0 +2540 1 0.0000000000000000e+00 7.0209336058091640e+00 5.8279349211386631e+00 9.9487662959359235e-02 -7 -3 1 +533 1 0.0000000000000000e+00 5.5800160708130591e+00 7.0675522464751879e+00 1.9379689465858136e+00 -6 2 -4 +2386 1 0.0000000000000000e+00 6.7429810982715859e+00 6.0939149439448723e+00 2.1600154838562173e+00 1 4 -5 +842 1 0.0000000000000000e+00 9.3005085647581307e+00 6.9260865593514636e+00 6.5868863267424538e-01 -4 1 3 +1975 1 0.0000000000000000e+00 7.8204177315152519e+00 6.3326538736073870e+00 2.3178084160095813e+00 -7 -4 3 +2009 1 0.0000000000000000e+00 7.7100468894259278e+00 6.9781865806178702e+00 1.5642743645909601e-01 1 -3 1 +282 1 0.0000000000000000e+00 8.3748264796487515e+00 6.5576766932591379e+00 9.2513782848480075e-01 3 8 -3 +2117 1 0.0000000000000000e+00 8.0016807608578322e+00 5.1474049875113259e+00 5.6045448885591531e-01 -5 -1 -5 +1185 1 0.0000000000000000e+00 7.9178931189104906e+00 7.0422286659447870e+00 1.2560552015778081e+00 0 -4 -2 +2874 2 -1.0000000000000000e+00 7.6290509663108681e+00 5.6478570742945884e+00 2.4621332231666475e+00 4 -1 -4 +1590 1 0.0000000000000000e+00 9.2153087569703640e+00 5.5078653393777879e+00 2.4612417340453336e+00 -1 -1 -2 +2850 2 -1.0000000000000000e+00 9.1084966236507867e+00 6.4047698409472469e+00 3.1956466934359123e-01 -2 -1 7 +82 1 0.0000000000000000e+00 9.0715980256337794e+00 6.0367980334368294e+00 2.1808907896266488e-01 -6 3 5 +1638 1 0.0000000000000000e+00 7.6765649019927675e+00 7.2831813153062299e+00 1.9337810160404263e+00 -2 5 6 +2532 1 0.0000000000000000e+00 9.1725225527222438e+00 5.8449570391794650e+00 1.9056237487057222e+00 -3 4 1 +368 1 0.0000000000000000e+00 8.9248521458470229e+00 6.0184846254120119e+00 1.1619543810019646e+00 -4 4 -2 +2700 1 0.0000000000000000e+00 8.9687324817829328e+00 5.1046744882725790e+00 5.9129774737883911e-01 3 1 -3 +884 1 0.0000000000000000e+00 8.1867729361402830e+00 7.2931237207965820e+00 2.0179253988643238e+00 -2 4 5 +44 1 0.0000000000000000e+00 8.8157100434014950e+00 7.1665368531394336e+00 1.6368355209928322e+00 -4 -4 -3 +2789 1 0.0000000000000000e+00 9.8594081940133851e+00 6.0333327071312119e+00 1.0942039015560330e+00 0 0 -1 +1072 1 0.0000000000000000e+00 8.5565335816320385e+00 5.0983313275284239e+00 1.9048068097100586e+00 -2 -2 -2 +103 1 0.0000000000000000e+00 8.2953984758020241e+00 7.4099375446896500e+00 9.4689897295098979e-01 4 1 -3 +2271 1 0.0000000000000000e+00 9.3191901052626580e+00 7.2080977366961472e+00 2.1275379971519808e+00 -8 1 2 +1 1 0.0000000000000000e+00 9.9184969750560263e+00 7.1876312912291187e+00 1.2949764067357750e+00 -3 2 -6 +1474 1 0.0000000000000000e+00 8.4863236395560158e+00 6.6525455821737944e+00 2.4450794281038455e+00 0 -4 -1 +1086 1 0.0000000000000000e+00 8.4571711298676071e+00 6.6715891069248530e+00 1.5801406619623930e+00 -4 -2 4 +2559 1 0.0000000000000000e+00 8.7895533543924955e+00 6.1017948282686287e+00 2.3612168913500131e+00 0 5 0 +1113 1 0.0000000000000000e+00 7.9810257770999371e+00 5.0991862610217202e+00 1.8678695516042989e+00 -4 2 -1 +247 1 0.0000000000000000e+00 8.6198804490573178e+00 5.2407858264886862e+00 1.0148946183872238e+00 5 -1 0 +1284 1 0.0000000000000000e+00 7.7313763570675107e+00 6.0663574945043326e+00 8.0587734535083655e-01 3 -3 5 +939 1 0.0000000000000000e+00 9.2837302526346530e+00 5.6430209427758475e+00 4.1472981657440379e-02 2 0 -3 +2569 1 0.0000000000000000e+00 8.3844483915198911e+00 6.9291338928683581e+00 5.1516291592614538e-01 -3 4 -3 +1424 1 0.0000000000000000e+00 8.6381165777892548e+00 7.0388506466108209e+00 1.1232172726956811e+00 -3 -2 -1 +240 1 0.0000000000000000e+00 8.3233571888103963e+00 5.7395532008505459e+00 2.3438960152472839e+00 -1 -4 0 +2583 1 0.0000000000000000e+00 7.8598271707176828e+00 6.1434457183334894e+00 1.6219587642676629e+00 1 0 0 +1443 1 0.0000000000000000e+00 8.8294786724820504e+00 5.9649045824407914e+00 7.5923844884234404e-01 -3 0 -8 +984 1 0.0000000000000000e+00 9.6072468525890518e+00 5.8641961421848796e+00 1.5666114106491367e+00 -3 -1 3 +1240 1 0.0000000000000000e+00 9.2115072399491300e+00 6.5041889901592915e+00 1.6128804508555923e+00 -6 1 -2 +2427 1 0.0000000000000000e+00 8.2884301097153692e+00 5.4828912601658821e+00 8.1200368086964347e-02 -2 2 2 +2100 1 0.0000000000000000e+00 9.8277769879695409e+00 7.4629642169151102e+00 1.8556106704757411e+00 -7 4 -3 +650 1 0.0000000000000000e+00 9.9446548490731370e+00 6.6539274280289202e+00 2.3435542985675708e+00 -1 2 -2 +1539 1 0.0000000000000000e+00 8.0602541341001928e+00 6.2492749921005268e+00 4.2367268084460091e-01 3 -3 -2 +2105 1 0.0000000000000000e+00 9.3919585411716273e+00 5.2272758567787889e+00 1.2441054231124831e+00 -5 0 -2 +2243 1 0.0000000000000000e+00 9.6858744537327670e+00 5.7523331896400904e+00 2.3257808515705429e+00 5 -2 1 +2707 1 0.0000000000000000e+00 9.9088886993581546e+00 6.1491473972840449e+00 5.4298345320786978e-01 0 -2 -3 +829 1 0.0000000000000000e+00 8.2304225228592482e+00 5.9206375549954835e+00 1.3418974779260950e+00 0 2 0 +2709 1 0.0000000000000000e+00 8.4287172461798079e+00 6.0398074292706321e+00 2.5420817983802640e-01 3 -1 -1 +548 1 0.0000000000000000e+00 8.8789734723144598e+00 7.4473761613650655e+00 4.6142884540643647e-01 1 -6 -4 +712 1 0.0000000000000000e+00 8.2405302371206801e+00 5.4931686050859954e+00 1.6898286560346876e+00 -6 -1 4 +47 1 0.0000000000000000e+00 9.9807106008922926e+00 5.0247508294490277e+00 1.9714382279991296e+00 2 0 1 +1296 1 0.0000000000000000e+00 5.7119184794871094e+00 9.3217871697767585e+00 2.9567589139364464e-01 1 2 6 +920 1 0.0000000000000000e+00 6.8783352197571608e+00 9.8113621514271347e+00 2.2228792821340821e+00 4 -2 -1 +1225 1 0.0000000000000000e+00 7.0096003344321618e+00 9.1344846590365130e+00 1.5925075954680687e+00 -5 2 3 +1897 1 0.0000000000000000e+00 5.4129675733375775e+00 8.3976606086299874e+00 1.4022009026319335e+00 -4 -4 1 +1616 1 0.0000000000000000e+00 7.3207916143046035e+00 9.7264302929321484e+00 1.8242970086539112e+00 -1 1 -3 +1397 1 0.0000000000000000e+00 5.4620756453759833e+00 9.5511654070698491e+00 2.2536511578371403e+00 -5 -5 2 +724 1 0.0000000000000000e+00 5.2719550638150015e+00 7.7539193338968833e+00 1.3658776729000799e-01 1 -1 4 +615 1 0.0000000000000000e+00 6.2734353581002971e+00 8.2257873855678412e+00 1.1369402092962424e+00 -4 -4 2 +2429 1 0.0000000000000000e+00 5.5464381875355144e+00 9.6839765125461259e+00 1.0964742095381332e+00 -3 2 1 +2929 3 1.0000000000000000e+00 7.1906425853127596e+00 7.9084123560642441e+00 1.9723669526557717e+00 -5 3 5 +646 1 0.0000000000000000e+00 5.7946579633745712e+00 8.0878578925946822e+00 5.5959494649267472e-01 6 -7 -5 +820 1 0.0000000000000000e+00 6.3631456448394248e+00 9.8296158339096937e+00 1.3031990164409197e+00 3 3 -5 +1670 1 0.0000000000000000e+00 6.3399805968284539e+00 8.8022003824632478e+00 5.3950151402658686e-01 7 2 -8 +1494 1 0.0000000000000000e+00 6.8899134658199150e+00 7.9248491796381231e+00 1.2663838156999925e+00 0 -7 -2 +488 1 0.0000000000000000e+00 5.0865605949365822e+00 8.6552779103867454e+00 1.0945444413780585e-03 2 3 -3 +1482 1 0.0000000000000000e+00 6.5031936191477051e+00 9.2004204564520862e+00 1.8862545939550690e+00 -3 -5 5 +716 1 0.0000000000000000e+00 5.5593134829829109e+00 8.6066589749414426e+00 9.3933858250399871e-01 -2 -5 -2 +2660 1 0.0000000000000000e+00 6.7929632628304555e+00 9.1411393814252282e+00 7.7102428504378506e-01 -1 -4 0 +982 1 0.0000000000000000e+00 6.3770121792770720e+00 9.1666259890119921e+00 1.1849720481416310e+00 -3 0 5 +2035 1 0.0000000000000000e+00 5.7827676206966716e+00 7.9785755927160542e+00 1.1986106685178815e+00 1 1 1 +2013 1 0.0000000000000000e+00 6.0860352809694316e+00 7.8902950552743203e+00 1.8798272459852259e+00 2 8 3 +1792 1 0.0000000000000000e+00 5.0239200609318013e+00 9.2871166677000030e+00 9.2463778697125054e-01 0 -3 -2 +1766 1 0.0000000000000000e+00 7.2873821484245536e+00 8.5566941739074505e+00 2.7182220335381257e-01 1 -1 6 +1881 1 0.0000000000000000e+00 5.2426988057344470e+00 8.9820333338421587e+00 1.5783068253729797e+00 -3 1 -3 +2982 3 1.0000000000000000e+00 6.6813107702976300e+00 8.1843208216262902e+00 4.0414737699762332e-01 1 -3 8 +877 1 0.0000000000000000e+00 6.5959362944010529e+00 8.7473209148773350e+00 1.4792003352406546e+00 1 -1 -3 +2842 2 -1.0000000000000000e+00 6.1270033565966378e+00 9.7469931065544522e+00 2.2541956943202073e+00 -2 -3 4 +2905 3 1.0000000000000000e+00 5.6240329528498059e+00 9.1819244629146937e+00 2.1670516826679487e+00 -2 2 2 +1049 1 0.0000000000000000e+00 5.9003515673517803e+00 8.2707721194360406e+00 2.1910583307122615e+00 2 0 -2 +1852 1 0.0000000000000000e+00 5.9587439677190632e+00 9.6040004132986319e+00 1.3033763038305728e+00 -3 1 -2 +1596 1 0.0000000000000000e+00 7.0788295373611199e+00 7.8877222063695118e+00 8.1433935197925800e-01 -3 -4 -1 +825 1 0.0000000000000000e+00 5.0971637364154283e+00 9.7088633966702282e+00 2.0133735353538276e+00 6 -6 -5 +516 1 0.0000000000000000e+00 5.8519170499430260e+00 8.8197258338396889e+00 1.8177464272850135e+00 0 2 4 +742 1 0.0000000000000000e+00 6.5707815031199290e+00 7.5744640733069311e+00 1.6168661784367997e+00 1 4 0 +446 1 0.0000000000000000e+00 7.2498756460454157e+00 8.7624056895292775e+00 8.5365322594056403e-01 -1 0 3 +2409 1 0.0000000000000000e+00 6.8774362357520635e+00 7.8814910479428759e+00 2.0082376289455572e+00 -1 -2 2 +2462 1 0.0000000000000000e+00 5.7873341520965136e+00 9.1311013490257942e+00 8.9724147524767650e-01 0 0 -2 +1159 1 0.0000000000000000e+00 5.8327864531614679e+00 7.5650123400431220e+00 6.3939738639338120e-02 2 1 -1 +1548 1 0.0000000000000000e+00 6.1935487786314916e+00 8.8225941156184753e+00 1.9963337187673003e-01 -1 -1 -2 +2212 1 0.0000000000000000e+00 7.0385925780075667e+00 8.5757392387698221e+00 1.7680214746058998e+00 0 0 4 +1651 1 0.0000000000000000e+00 7.1833059169174192e+00 9.9635419454214968e+00 1.0242861795401843e+00 -3 -1 2 +257 1 0.0000000000000000e+00 7.2490401160695495e+00 8.0278256412211508e+00 5.7719868351825701e-02 2 6 -4 +95 1 0.0000000000000000e+00 5.0006851516620481e+00 7.6073631059433611e+00 9.1379648449303474e-01 1 -4 -4 +218 1 0.0000000000000000e+00 8.4827892298753955e+00 9.8634612076355470e+00 4.8232945633117363e-01 1 0 -5 +2894 2 -1.0000000000000000e+00 7.6910167023951956e+00 9.8356330938762948e+00 1.2708128695049934e+00 -4 6 -2 +1865 1 0.0000000000000000e+00 9.6041584236855808e+00 7.8410083357166123e+00 1.4064367234041075e+00 1 -2 4 +2718 1 0.0000000000000000e+00 8.4923699720338739e+00 8.9977260006995223e+00 1.3656191680890395e+00 4 -5 -2 +797 1 0.0000000000000000e+00 8.3785482010046231e+00 7.9686849899137675e+00 2.4028142673258075e+00 -2 0 -2 +2040 1 0.0000000000000000e+00 7.7896247852929008e+00 8.7096305266019556e+00 1.3541444883230764e+00 -1 2 -2 +2954 3 1.0000000000000000e+00 9.7000263747196804e+00 7.6728889628947945e+00 2.3467251350149607e-01 0 -1 -9 +2933 3 1.0000000000000000e+00 7.6246231813292029e+00 9.7706732374546394e+00 2.1208982182720293e+00 -1 3 1 +1528 1 0.0000000000000000e+00 9.4753795258836444e+00 8.6934780398268892e+00 2.3660095305536890e+00 -4 1 3 +183 1 0.0000000000000000e+00 9.0647786345734005e+00 9.8016759993113016e+00 1.8591439604103202e+00 -2 -1 1 +2167 1 0.0000000000000000e+00 7.5676052720369507e+00 9.0542664981207501e+00 1.8886115358257722e+00 0 2 -3 +2191 1 0.0000000000000000e+00 7.9789946014219062e+00 8.1076971117309338e+00 7.3495189393365168e-01 -2 1 0 +36 1 0.0000000000000000e+00 8.7883341861342661e+00 8.1809345137016525e+00 8.7456024269899046e-01 -2 2 -2 +1913 1 0.0000000000000000e+00 9.1690336483754358e+00 8.2131917403813475e+00 1.4800699413660370e+00 5 4 1 +1189 1 0.0000000000000000e+00 8.4229787223231707e+00 9.6359054873349148e+00 1.1393524920435176e+00 4 0 -6 +1540 1 0.0000000000000000e+00 9.4053353875247243e+00 9.8778691687565026e+00 2.4348167966418259e+00 -4 -4 -4 +1502 1 0.0000000000000000e+00 9.7552915311710269e+00 8.5425306146510351e+00 2.2678074923443972e-01 3 -3 1 +441 1 0.0000000000000000e+00 8.7771739498811634e+00 7.5878147223318191e+00 1.6996886998464795e+00 -5 -5 -3 +2878 2 -1.0000000000000000e+00 9.2869637803940339e+00 8.9419973827643293e+00 9.4917017158263872e-01 -3 2 -1 +2296 1 0.0000000000000000e+00 8.0817198739573861e+00 8.9454530810772095e+00 8.3966588419922883e-01 -6 0 2 +348 1 0.0000000000000000e+00 7.5170434070428511e+00 8.1500942136055343e+00 1.1834033775595685e+00 -4 -1 -2 +769 1 0.0000000000000000e+00 9.3039100994986423e+00 9.4007329783003968e+00 6.1951550292630087e-01 -5 -6 -1 +1637 1 0.0000000000000000e+00 9.2544173019158986e+00 7.7921136123341936e+00 7.4435969073732688e-01 0 -2 -5 +1928 1 0.0000000000000000e+00 8.2986434867050036e+00 9.8605074354245765e+00 1.9318773145415762e+00 -4 -2 2 +2841 2 -1.0000000000000000e+00 8.1438888043170135e+00 8.7890607827789360e+00 2.4311014829433848e+00 -7 -3 0 +1435 1 0.0000000000000000e+00 9.2960644080487018e+00 9.2908923364686888e+00 2.2066036178415911e+00 8 -4 -1 +1919 1 0.0000000000000000e+00 7.7995025832405869e+00 8.2614092559923407e+00 2.0889301624066707e+00 3 0 4 +2677 1 0.0000000000000000e+00 8.8318690627141354e+00 8.9525396968007271e+00 2.3599981601495976e+00 -8 -2 0 +2741 1 0.0000000000000000e+00 8.9822302274649619e+00 9.5492180016204422e+00 1.3944922066453584e+00 3 -4 2 +83 1 0.0000000000000000e+00 8.7153577652138807e+00 8.5407692558382298e+00 5.4412197870597279e-01 1 1 -7 +80 1 0.0000000000000000e+00 8.9640906649030754e+00 8.7448737067784243e+00 1.3050067599833191e+00 -7 7 0 +2835 2 -1.0000000000000000e+00 8.4600635578452650e+00 9.1181440728042169e+00 1.5160197422120678e-01 5 -4 2 +2366 1 0.0000000000000000e+00 9.7984366441142328e+00 8.5327791728307947e+00 1.1823831167116752e+00 4 -3 -2 +913 1 0.0000000000000000e+00 9.8622121238891562e+00 9.8517303773752971e+00 1.7791411782598543e+00 -1 -3 4 +288 1 0.0000000000000000e+00 8.2799818465357227e+00 9.1233880574741448e+00 1.8036012689186052e+00 0 3 5 +673 1 0.0000000000000000e+00 7.7911158568601486e+00 9.4197957515362027e+00 5.5402807042329605e-01 -2 -1 0 +1377 1 0.0000000000000000e+00 9.9368274631268729e+00 9.7904216725545048e+00 5.0201650652972968e-02 -1 -6 4 +1976 1 0.0000000000000000e+00 9.8048806536190458e+00 7.6401255952136671e+00 1.0448530361130597e+00 4 0 0 +2825 2 -1.0000000000000000e+00 8.7325386721463047e+00 8.5440490751702605e+00 2.6885811577687868e-01 -4 1 4 +2643 1 0.0000000000000000e+00 8.4354888588738337e+00 8.0115920456424448e+00 1.7104394343785081e+00 -1 0 0 +734 1 0.0000000000000000e+00 7.6551423365962847e+00 9.7743736509231844e+00 2.4012602358826651e+00 -1 -5 1 +325 1 0.0000000000000000e+00 8.9334518922739701e+00 8.5038691721187316e+00 2.0156682455401831e+00 4 -5 5 +1882 1 0.0000000000000000e+00 7.8664214028052148e+00 8.6112813074230328e+00 1.7863014170408681e-01 3 -4 7 +930 1 0.0000000000000000e+00 7.7715749246323735e+00 7.6684927638561451e+00 5.7433029892969523e-01 2 0 -1 +75 1 0.0000000000000000e+00 9.9853130505667114e+00 8.0700916700187335e+00 6.4291379801283233e-01 -3 3 5 +356 1 0.0000000000000000e+00 9.4648026342517273e+00 8.1472898398840154e+00 8.5039290441244475e-03 0 2 7 +1076 1 0.0000000000000000e+00 6.6137684524312883e+00 7.3855771503528160e+00 4.9519717230609874e+00 -6 5 -1 +2557 1 0.0000000000000000e+00 5.6980741615993127e+00 6.3666653825870272e+00 4.0731757437425200e+00 -6 7 0 +905 1 0.0000000000000000e+00 6.0663395518202998e+00 5.9411639038482207e+00 3.4888550621088084e+00 1 0 -1 +2955 3 1.0000000000000000e+00 5.8668162015156513e+00 5.3576168842226934e+00 4.3755410761774947e+00 -3 4 1 +2764 1 0.0000000000000000e+00 5.3431968617424896e+00 6.3975591469394439e+00 4.7645502432433888e+00 3 -6 1 +735 1 0.0000000000000000e+00 7.3836814053773372e+00 6.8674633215041574e+00 2.8207610568929296e+00 4 2 0 +2511 1 0.0000000000000000e+00 5.7803253317784673e+00 5.5656327166606898e+00 2.6169507412382296e+00 -2 4 3 +834 1 0.0000000000000000e+00 7.1218972531251197e+00 5.4576570992134679e+00 4.3476396989877859e+00 -2 -5 -4 +2104 1 0.0000000000000000e+00 6.1321063278865164e+00 6.1395432204073961e+00 3.9252001449442950e+00 -2 7 1 +2468 1 0.0000000000000000e+00 5.3695117052822887e+00 6.9802694079204333e+00 3.4769695752460503e+00 3 -1 -2 +985 1 0.0000000000000000e+00 7.2133588985383543e+00 5.9792062014387852e+00 3.7194034992696898e+00 1 -3 5 +1878 1 0.0000000000000000e+00 7.2251312501273910e+00 7.4630505742371787e+00 4.1797618391861313e+00 -1 3 0 +463 1 0.0000000000000000e+00 5.0458208561330666e+00 7.1376783526976002e+00 2.5546186826422805e+00 0 -6 -7 +2769 1 0.0000000000000000e+00 7.1820890547195164e+00 5.1010038777456579e+00 3.8867039090489737e+00 2 -8 0 +31 1 0.0000000000000000e+00 5.5017771591609819e+00 5.1876807774468583e+00 4.8248833320403479e+00 2 -1 -7 +817 1 0.0000000000000000e+00 7.1828988451974265e+00 5.2926449853195647e+00 3.2309652312037374e+00 3 3 -3 +2765 1 0.0000000000000000e+00 5.2171765853105496e+00 5.4207348315501589e+00 3.1688656511690003e+00 2 2 6 +399 1 0.0000000000000000e+00 6.4012880009839428e+00 5.2392303496922521e+00 4.4550198685337374e+00 -8 -2 1 +537 1 0.0000000000000000e+00 5.3867149709605497e+00 7.0573045018517639e+00 4.4295082779721424e+00 0 -1 0 +1454 1 0.0000000000000000e+00 7.2479567863327850e+00 6.1408877501412515e+00 2.9202523607627220e+00 2 9 -1 +1513 1 0.0000000000000000e+00 6.1252445623648688e+00 5.2214805926102494e+00 3.2475080421541809e+00 1 7 6 +1957 1 0.0000000000000000e+00 7.1008860348332101e+00 6.8883144791757616e+00 4.0380397985336369e+00 -6 -3 -2 +1801 1 0.0000000000000000e+00 6.1277388005756404e+00 7.0231022400209770e+00 3.5063915681645796e+00 -2 4 -5 +765 1 0.0000000000000000e+00 6.5093881393443009e+00 5.7155550011011380e+00 4.8792681232862929e+00 3 -2 -5 +2081 1 0.0000000000000000e+00 6.6673918297540311e+00 7.4862577813834124e+00 2.7337599750017025e+00 1 3 -1 +2433 1 0.0000000000000000e+00 5.6553993743906288e+00 6.3597012885254731e+00 3.0466464257818777e+00 3 -6 3 +2340 1 0.0000000000000000e+00 5.3239279018366847e+00 5.3613136415220577e+00 3.9859062294848373e+00 2 3 8 +2948 3 1.0000000000000000e+00 6.0266630907149210e+00 7.0828103407844010e+00 4.7825753924329168e+00 0 5 -5 +2542 1 0.0000000000000000e+00 6.8996122933414448e+00 7.0356347184923189e+00 4.9042185164723602e+00 -2 -2 6 +357 1 0.0000000000000000e+00 6.2535638141080749e+00 6.1880548728358722e+00 2.8895368936458090e+00 -2 1 4 +427 1 0.0000000000000000e+00 6.6014034512699480e+00 6.4571659041885177e+00 2.7574725772798323e+00 1 -3 -3 +1219 1 0.0000000000000000e+00 7.2259366751192831e+00 6.6477236995867530e+00 4.7644921151398059e+00 -5 1 3 +1598 1 0.0000000000000000e+00 6.4791128071447091e+00 6.0610619211809240e+00 4.5184167451985759e+00 -3 -2 -4 +740 1 0.0000000000000000e+00 6.0170359904944029e+00 7.1701246283403801e+00 3.9995508834586584e+00 8 1 -4 +2276 1 0.0000000000000000e+00 5.8650164143233221e+00 5.9947645081387790e+00 4.7041430917167251e+00 -3 4 -4 +2166 1 0.0000000000000000e+00 7.0471100858044569e+00 6.9330444310175601e+00 3.2560542092508875e+00 2 -3 -4 +770 1 0.0000000000000000e+00 6.6185862961245840e+00 5.2354753024730449e+00 3.9288091009752231e+00 0 2 -1 +841 1 0.0000000000000000e+00 6.6250993828569698e+00 5.5049830681801213e+00 3.8238168678448856e+00 -6 -2 5 +2597 1 0.0000000000000000e+00 6.7743004521528025e+00 6.2779550207649581e+00 4.1459239138273452e+00 -5 2 5 +72 1 0.0000000000000000e+00 6.5948894362227195e+00 6.3601456685564539e+00 3.2507022385652777e+00 0 1 -2 +315 1 0.0000000000000000e+00 6.4425634474523461e+00 5.6208410124560553e+00 2.8632891324233976e+00 0 1 -3 +1901 1 0.0000000000000000e+00 5.9246626190770781e+00 7.0931317780501315e+00 2.9240023745420007e+00 -1 1 6 +1055 1 0.0000000000000000e+00 5.3053818486618276e+00 6.5988617912083409e+00 2.7024289541654953e+00 -4 2 -4 +849 1 0.0000000000000000e+00 5.4706656844151844e+00 6.0418608692140063e+00 3.3005261977479914e+00 2 3 -2 +757 1 0.0000000000000000e+00 5.1315469428648832e+00 6.7763313950440232e+00 4.7667969751681722e+00 -5 -2 1 +1521 1 0.0000000000000000e+00 5.5610215574828539e+00 7.4250819507424906e+00 4.7457083611481243e+00 -1 -8 4 +1054 1 0.0000000000000000e+00 9.2981634114664846e+00 5.5029966174873559e+00 3.9043545754916629e+00 0 4 2 +2570 1 0.0000000000000000e+00 8.6029616996374028e+00 6.5904196645509119e+00 3.3702430433667758e+00 1 -6 0 +2375 1 0.0000000000000000e+00 8.0646452039234759e+00 5.1922249377969161e+00 3.9107140864677872e+00 -6 -4 3 +1153 1 0.0000000000000000e+00 9.9598889036480998e+00 5.0525495920655796e+00 2.6134419888797660e+00 -3 -1 3 +2803 1 0.0000000000000000e+00 7.8269290164768925e+00 5.8908285684896020e+00 3.0510088755812790e+00 -6 4 3 +2927 3 1.0000000000000000e+00 9.0459443834215332e+00 6.8264346563936993e+00 4.6947556872972003e+00 5 7 6 +2162 1 0.0000000000000000e+00 8.5674828521528319e+00 5.1164276916643994e+00 2.9324062263252757e+00 3 1 -3 +1526 1 0.0000000000000000e+00 9.2287198986264389e+00 6.5499127101983881e+00 3.1528375583626209e+00 -6 -5 1 +2671 1 0.0000000000000000e+00 8.4141884280791075e+00 6.8114878678765436e+00 3.8961569083474812e+00 -4 0 0 +1523 1 0.0000000000000000e+00 8.5122320854797646e+00 5.9674193744995927e+00 3.7923255880573836e+00 4 -4 1 +2628 1 0.0000000000000000e+00 8.0194073634295009e+00 5.2950868546167280e+00 3.0356932542968633e+00 -5 -1 -2 +2826 2 -1.0000000000000000e+00 8.2283050957965820e+00 6.9119754293241620e+00 4.6574115009183901e+00 -1 -7 2 +146 1 0.0000000000000000e+00 8.5609725413186144e+00 7.2649774750996032e+00 3.7597190311590634e+00 -10 5 -5 +256 1 0.0000000000000000e+00 8.9241734619183806e+00 7.0741261324573363e+00 3.3949503798372320e+00 -3 1 -2 +455 1 0.0000000000000000e+00 9.4061722671632104e+00 6.2700798082241622e+00 3.8456792445118348e+00 1 -3 2 +1989 1 0.0000000000000000e+00 8.5542438151097482e+00 5.3943451563769642e+00 4.3592237660411675e+00 0 -1 -6 +1632 1 0.0000000000000000e+00 8.7351295885807811e+00 5.2059143422189980e+00 3.5458129451524258e+00 1 7 7 +2352 1 0.0000000000000000e+00 9.8856492358624646e+00 7.0217851958622823e+00 3.0322356934400001e+00 -2 -3 3 +2702 1 0.0000000000000000e+00 9.3857196610614562e+00 7.2289953681316881e+00 3.8763592324158793e+00 -4 -1 -4 +2576 1 0.0000000000000000e+00 9.1790872972663582e+00 7.1401136247078707e+00 4.9198889910505379e+00 -4 3 2 +1707 1 0.0000000000000000e+00 8.3027951988052688e+00 6.4037936622741292e+00 4.1350292578870649e+00 1 -1 1 +1635 1 0.0000000000000000e+00 8.8220377548262459e+00 6.2045151408781836e+00 4.6904786087206789e+00 -3 2 2 +2527 1 0.0000000000000000e+00 9.4697897124838697e+00 7.0943611381431326e+00 4.2712070638518389e+00 7 -5 -1 +1477 1 0.0000000000000000e+00 8.2385535386663182e+00 7.3342942630148231e+00 2.9878412160137056e+00 -2 -3 2 +1768 1 0.0000000000000000e+00 9.9485393849302479e+00 6.3033438921406342e+00 3.0194546695812994e+00 -4 -3 0 +2656 1 0.0000000000000000e+00 9.7380335239192863e+00 5.0455037571332193e+00 4.3816171003066371e+00 1 3 5 +764 1 0.0000000000000000e+00 8.9317022589907094e+00 7.3711953029254689e+00 2.6232846925926294e+00 -1 -2 -2 +909 1 0.0000000000000000e+00 8.9390557456473037e+00 6.3584862550803152e+00 3.8578248543194453e+00 0 1 0 +2339 1 0.0000000000000000e+00 7.7078983116973756e+00 6.2246735421525488e+00 3.7111580287442814e+00 2 0 7 +1399 1 0.0000000000000000e+00 7.9391642452371860e+00 7.2024297533333401e+00 3.9727848186689929e+00 -1 -7 4 +1446 1 0.0000000000000000e+00 8.7366044993412970e+00 5.4957110742349968e+00 2.8539113868770105e+00 -1 0 -1 +50 1 0.0000000000000000e+00 9.4513473136488244e+00 5.7081652383006523e+00 4.5053973056891934e+00 0 -2 3 +552 1 0.0000000000000000e+00 9.4961196204279776e+00 6.5277583864286912e+00 2.5693953985451050e+00 3 -1 2 +2999 3 1.0000000000000000e+00 8.7852585472759070e+00 7.4648006827702922e+00 4.4136437414574399e+00 1 -4 5 +2924 3 1.0000000000000000e+00 8.5536504771993940e+00 6.4219484933379887e+00 3.1800090056956405e+00 7 -7 3 +236 1 0.0000000000000000e+00 7.9081950911936216e+00 5.2732355498023322e+00 3.6205582830141272e+00 -1 6 1 +1898 1 0.0000000000000000e+00 7.9268127842566551e+00 6.8888250107786906e+00 3.3976128809840000e+00 0 0 -1 +1893 1 0.0000000000000000e+00 9.4476250169635225e+00 5.3275946200242776e+00 3.1882955406515014e+00 -3 7 -1 +2899 2 -1.0000000000000000e+00 9.2973794130289207e+00 5.7919963229582807e+00 3.3205102188176365e+00 6 0 0 +791 1 0.0000000000000000e+00 7.7088989025973174e+00 6.5185553214901439e+00 4.2338648290542151e+00 0 1 0 +2897 2 -1.0000000000000000e+00 7.7491357731980219e+00 5.7379027174493116e+00 4.5911448917936264e+00 2 -7 1 +1148 1 0.0000000000000000e+00 9.7792129512030694e+00 6.4309233471135538e+00 4.5916426458233790e+00 0 0 -1 +2283 1 0.0000000000000000e+00 8.0241021316524783e+00 5.1451338375745905e+00 4.6649987056807998e+00 -5 -2 2 +1349 1 0.0000000000000000e+00 8.0527741802758985e+00 6.7725233343961158e+00 2.6400565760554722e+00 1 -3 -4 +2453 1 0.0000000000000000e+00 7.8325382243353525e+00 5.5335146083537170e+00 4.8821605080071464e+00 -6 -2 -4 +866 1 0.0000000000000000e+00 6.5074973020371010e+00 8.5115216674672158e+00 3.8521668611986697e+00 7 5 9 +887 1 0.0000000000000000e+00 6.7462870622851714e+00 9.9773855107980154e+00 3.7994481274081648e+00 1 5 -1 +258 1 0.0000000000000000e+00 5.6021923204397632e+00 9.7660420966737185e+00 4.5915672104406644e+00 1 -4 -4 +768 1 0.0000000000000000e+00 7.0371110353342567e+00 8.4127679162884892e+00 3.4159126061094893e+00 -2 -1 -1 +1565 1 0.0000000000000000e+00 5.8896556244972764e+00 7.8141682838402460e+00 2.6154600270379871e+00 -3 3 1 +1317 1 0.0000000000000000e+00 5.8406438396659253e+00 9.0485335490383925e+00 3.1496126165378313e+00 4 -5 3 +1782 1 0.0000000000000000e+00 5.2137763098093304e+00 8.4002010731953121e+00 3.6872902225535134e+00 -3 1 0 +2250 1 0.0000000000000000e+00 6.2623818112637952e+00 8.5144219250383859e+00 4.7374894565950028e+00 3 -4 -7 +2089 1 0.0000000000000000e+00 7.1770731926590408e+00 9.4663339158274482e+00 3.7155260157770686e+00 0 0 5 +403 1 0.0000000000000000e+00 6.3360998956355274e+00 7.8098444574510335e+00 4.7350552445017549e+00 -2 2 2 +1968 1 0.0000000000000000e+00 5.3273915443626221e+00 9.1108279301220687e+00 4.9693619105875682e+00 4 1 1 +109 1 0.0000000000000000e+00 5.2324799708492309e+00 8.1054043951949577e+00 2.8069775724356512e+00 2 0 0 +1814 1 0.0000000000000000e+00 5.1528036425964787e+00 9.9313114796126598e+00 2.7000468111288392e+00 -4 -7 -2 +698 1 0.0000000000000000e+00 7.0150165777323767e+00 9.2527758686779844e+00 4.3723917905638023e+00 0 -6 -3 +2384 1 0.0000000000000000e+00 5.8678768309761571e+00 8.1138879033190268e+00 3.0847215702363382e+00 -5 4 2 +2880 2 -1.0000000000000000e+00 6.9831186861978498e+00 7.8241116492517362e+00 3.8795058271405320e+00 -3 2 0 +828 1 0.0000000000000000e+00 5.6138978071817096e+00 9.1791637885645851e+00 3.1215812471508344e+00 -4 1 -3 +2444 1 0.0000000000000000e+00 7.0694099323120296e+00 7.5915372137789809e+00 2.6911261310341610e+00 -1 7 1 +1571 1 0.0000000000000000e+00 7.0109727997333069e+00 9.8606168595087578e+00 2.7440737670329711e+00 3 -2 0 +2693 1 0.0000000000000000e+00 6.0166677133818220e+00 9.5988010701121507e+00 4.3912805272078188e+00 5 -2 5 +2436 1 0.0000000000000000e+00 7.0678992110809924e+00 9.0043279311695752e+00 2.7979704241130658e+00 3 -5 2 +1341 1 0.0000000000000000e+00 7.4069769510032133e+00 7.5036511954108454e+00 4.7679204793340793e+00 1 3 -8 +242 1 0.0000000000000000e+00 6.9565847222647985e+00 8.2952903493954935e+00 4.5920434244741406e+00 4 1 2 +2594 1 0.0000000000000000e+00 5.1816997236755169e+00 7.5913939394449779e+00 2.5949076403184863e+00 -3 -7 2 +713 1 0.0000000000000000e+00 5.7783034120729653e+00 8.4591609280705526e+00 4.8848162466676257e+00 -5 -3 -2 +1641 1 0.0000000000000000e+00 5.2116820729562559e+00 9.0954293390288417e+00 4.2525597304570484e+00 -1 -2 1 +129 1 0.0000000000000000e+00 5.5575974593448239e+00 8.8450690830043488e+00 4.8678556559577650e+00 -3 -5 -3 +1030 1 0.0000000000000000e+00 7.1114299094681970e+00 8.7092553616160853e+00 4.1715302434582409e+00 1 1 1 +2952 3 1.0000000000000000e+00 6.5566642130852486e+00 7.7848022531259913e+00 3.8251393986860318e+00 -1 -2 2 +1965 1 0.0000000000000000e+00 6.0826628846581441e+00 9.4766376683501807e+00 3.4659505107117630e+00 1 5 3 +1925 1 0.0000000000000000e+00 6.5381881024650346e+00 9.0854327534288117e+00 4.8742340644398388e+00 0 0 -7 +2108 1 0.0000000000000000e+00 6.8285701690612886e+00 8.5537713226303822e+00 2.5276152555911193e+00 -2 3 5 +911 1 0.0000000000000000e+00 6.6689653166381664e+00 9.4458597395054191e+00 4.2359335798172371e+00 0 3 3 +895 1 0.0000000000000000e+00 6.4341390775266927e+00 7.6438191979780790e+00 3.1143659004013893e+00 -2 -1 9 +859 1 0.0000000000000000e+00 7.3688456490907628e+00 7.5639072733536024e+00 3.3102961466313068e+00 2 -7 0 +2591 1 0.0000000000000000e+00 6.4069319070724005e+00 9.3076891551727758e+00 3.8802819551174910e+00 3 -1 -1 +957 1 0.0000000000000000e+00 6.3047889863838718e+00 8.8959313668665985e+00 2.7876315892337611e+00 -4 5 -5 +573 1 0.0000000000000000e+00 7.4926470442882751e+00 8.1744989399732564e+00 4.1691448504048427e+00 -5 -3 -3 +1747 1 0.0000000000000000e+00 6.7877855214530358e+00 9.0478227780167995e+00 3.3097171423363494e+00 3 -3 -2 +2174 1 0.0000000000000000e+00 7.2023047391226829e+00 8.2705522696199054e+00 2.5429092051848960e+00 -7 3 0 +2058 1 0.0000000000000000e+00 6.1059687812629457e+00 8.4213181546993461e+00 3.4638587408497505e+00 -1 2 -5 +2348 1 0.0000000000000000e+00 5.8730679262380843e+00 8.2922043227703046e+00 4.1190723747146887e+00 3 0 -4 +693 1 0.0000000000000000e+00 5.5686453026015563e+00 7.7636817304713199e+00 3.5012570989859331e+00 1 0 4 +1483 1 0.0000000000000000e+00 5.4627465945344715e+00 7.8253658699737958e+00 3.9855872589582555e+00 2 -1 -2 +2829 2 -1.0000000000000000e+00 5.7099414542239417e+00 9.4301373970312827e+00 4.0338021256730565e+00 -1 -1 0 +2410 1 0.0000000000000000e+00 5.1382267520028249e+00 8.7260948661883670e+00 2.5190296680920010e+00 -4 -7 -1 +2071 1 0.0000000000000000e+00 5.0387532151356176e+00 7.9700697047471678e+00 4.0898090843664558e+00 -1 4 6 +2609 1 0.0000000000000000e+00 5.5077910616387289e+00 9.8402366173909037e+00 3.2223613648314107e+00 0 2 4 +1522 1 0.0000000000000000e+00 5.5744661905584243e+00 7.7186539977794490e+00 4.6713450185449776e+00 4 2 7 +976 1 0.0000000000000000e+00 6.6259089141476997e+00 8.1446005612454009e+00 2.9099564654071317e+00 -8 -2 0 +132 1 0.0000000000000000e+00 7.3729518642351666e+00 9.4666826264255857e+00 4.9048383380242129e+00 -2 -6 -6 +2657 1 0.0000000000000000e+00 9.8364261993870130e+00 8.8744183174635669e+00 3.2701684730636797e+00 -5 2 -1 +1624 1 0.0000000000000000e+00 9.1225107604793596e+00 8.6402668808039369e+00 3.0217119917971877e+00 3 0 1 +169 1 0.0000000000000000e+00 9.6834693791370334e+00 9.8238567066394378e+00 4.7601704987722329e+00 -5 0 3 +237 1 0.0000000000000000e+00 8.8098893638154845e+00 9.5715514938894302e+00 2.6033608715520975e+00 7 -2 0 +2347 1 0.0000000000000000e+00 7.8346398630766680e+00 9.3529619399519905e+00 2.9608557768785917e+00 -2 -6 2 +402 1 0.0000000000000000e+00 8.4460983215245822e+00 8.3351101999429691e+00 4.1991099253571482e+00 -1 1 0 +1023 1 0.0000000000000000e+00 8.0847519689879022e+00 7.5870660045189551e+00 4.9336568227815647e+00 -3 -2 0 +1563 1 0.0000000000000000e+00 7.8065606990785836e+00 9.5856530356084786e+00 4.0302579115827699e+00 -2 4 -1 +159 1 0.0000000000000000e+00 9.5365720065527206e+00 7.9500158527546061e+00 4.4880709474800033e+00 -5 0 4 +1798 1 0.0000000000000000e+00 8.3134176627969030e+00 9.5200250411999630e+00 4.4597168903924107e+00 5 0 0 +1719 1 0.0000000000000000e+00 8.5286040827197382e+00 8.4313741620541585e+00 2.8525945361927869e+00 -1 4 0 +1639 1 0.0000000000000000e+00 9.9805155217352137e+00 7.8773151921135591e+00 4.9193935813834324e+00 -3 4 0 +2506 1 0.0000000000000000e+00 7.9383502431026463e+00 8.0335629971144193e+00 3.6456401367126374e+00 -2 -1 -1 +1417 1 0.0000000000000000e+00 8.3468833319439284e+00 9.2640461176650941e+00 2.6869172166904352e+00 -3 7 5 +1279 1 0.0000000000000000e+00 9.1999733735274791e+00 8.5271020474431332e+00 3.9624334400242360e+00 2 2 5 +885 1 0.0000000000000000e+00 9.5888757265647797e+00 7.7533037921532921e+00 3.8314192278697687e+00 0 2 -3 +126 1 0.0000000000000000e+00 8.5866251285421793e+00 8.0747284253417320e+00 4.8756714768810046e+00 -2 0 3 +778 1 0.0000000000000000e+00 7.5025515611478015e+00 9.5910940093227133e+00 3.2823341200487963e+00 -6 -5 -1 +1811 1 0.0000000000000000e+00 7.8394750292138760e+00 8.0856558488310437e+00 4.6831846476877388e+00 -5 -3 -1 +1784 1 0.0000000000000000e+00 7.8179592818206274e+00 7.5887890250444849e+00 2.5491164302909910e+00 3 0 -1 +2493 1 0.0000000000000000e+00 9.5159930757801519e+00 9.3727213485946947e+00 4.1063160312382907e+00 -2 -2 4 +2704 1 0.0000000000000000e+00 9.6581108224943701e+00 8.2331075637317852e+00 3.2344807350343499e+00 -2 0 -1 +1456 1 0.0000000000000000e+00 9.3188725013975144e+00 9.5332121403723047e+00 3.4378753473221768e+00 -4 0 2 +1942 1 0.0000000000000000e+00 8.4636391180096755e+00 7.9546411853629886e+00 3.6708584477904789e+00 1 1 -4 +2428 1 0.0000000000000000e+00 7.8153929976680416e+00 8.7548070686874961e+00 3.9406126466462954e+00 3 -2 1 +2670 1 0.0000000000000000e+00 8.8031453686431220e+00 9.6896478669586141e+00 4.9052679470716329e+00 -2 3 -2 +1834 1 0.0000000000000000e+00 9.7509881777408580e+00 8.6981195022162794e+00 3.9544037130958665e+00 -3 -2 2 +1039 1 0.0000000000000000e+00 8.7922553026764376e+00 8.1122727077443386e+00 2.7949318018557454e+00 0 2 -3 +467 1 0.0000000000000000e+00 9.5574346903359189e+00 7.6848310259755301e+00 3.1618788531675328e+00 3 -1 -3 +206 1 0.0000000000000000e+00 8.8785533676705786e+00 7.7945064753558437e+00 3.8654886434662106e+00 3 2 0 +1489 1 0.0000000000000000e+00 8.7674321394871182e+00 9.0252014646382150e+00 3.2356666918463945e+00 0 3 5 +1003 1 0.0000000000000000e+00 8.6931903726775861e+00 8.6730536121013682e+00 4.8467211760602593e+00 1 2 -4 +2278 1 0.0000000000000000e+00 7.7229754495096108e+00 8.9495517871627062e+00 2.7471267419154417e+00 2 -2 -3 +2077 1 0.0000000000000000e+00 9.9870551532670930e+00 9.6430134707579178e+00 4.4830096475715067e+00 3 0 1 +952 1 0.0000000000000000e+00 8.6740429217719264e+00 9.6161770447180448e+00 4.0099060925635932e+00 4 4 0 +201 1 0.0000000000000000e+00 8.0653551976069959e+00 8.5918880629029353e+00 3.4442094126688101e+00 0 -4 -5 +2568 1 0.0000000000000000e+00 9.3881255012472717e+00 9.1388434733586372e+00 3.1573721482764578e+00 3 -2 -1 +384 1 0.0000000000000000e+00 7.7573301817317111e+00 8.1152214396377076e+00 3.0207276797838332e+00 3 -3 -4 +2236 1 0.0000000000000000e+00 8.1319458521096806e+00 9.3329122332101448e+00 3.5133238848014856e+00 2 -1 0 +419 1 0.0000000000000000e+00 7.8663798389602055e+00 9.2157433418250072e+00 4.4692165555634276e+00 2 -6 -2 +1025 1 0.0000000000000000e+00 8.8154847921665453e+00 8.7668412461742005e+00 4.1926730871711309e+00 0 1 2 +2669 1 0.0000000000000000e+00 9.7032569187294744e+00 8.5682013815325035e+00 4.4194556850167919e+00 -3 6 -8 +630 1 0.0000000000000000e+00 9.5637042769666358e+00 8.2984689615224010e+00 2.6466868681886462e+00 4 1 5 +2355 1 0.0000000000000000e+00 9.4145782405366525e+00 9.7766672473013454e+00 3.3943012052049952e+00 4 0 -3 +483 1 0.0000000000000000e+00 9.6088076553762871e+00 7.6844693275561502e+00 2.6408628959857872e+00 2 -4 4 +2928 3 1.0000000000000000e+00 6.2465621821053707e+00 7.4161544037776732e+00 5.6031998926548603e+00 -1 -1 -3 +2424 1 0.0000000000000000e+00 7.4156436333600002e+00 6.2998520214947744e+00 6.0523309502240821e+00 -2 -7 1 +569 1 0.0000000000000000e+00 6.9959100498309645e+00 6.3121743798274954e+00 6.4209084612380840e+00 -4 -3 -4 +520 1 0.0000000000000000e+00 5.1072650572383420e+00 6.1038196381945760e+00 5.6757986830375504e+00 -1 1 0 +1807 1 0.0000000000000000e+00 7.1762915123524333e+00 5.9999109359109584e+00 5.1577718048539278e+00 -2 -2 1 +377 1 0.0000000000000000e+00 5.0671292490377500e+00 6.7921978278469064e+00 6.7959506121571360e+00 0 0 2 +1765 1 0.0000000000000000e+00 5.8309486906556875e+00 5.8814391264579111e+00 5.0978616920890207e+00 -1 -2 4 +2308 1 0.0000000000000000e+00 5.2068978742922729e+00 6.6179152000845951e+00 6.1756988954023848e+00 2 -2 -1 +1199 1 0.0000000000000000e+00 6.2569957242950744e+00 6.0095764343770073e+00 6.4686517031219433e+00 -3 1 2 +55 1 0.0000000000000000e+00 5.0751781245172136e+00 5.1499269932289993e+00 5.8760559565694956e+00 -3 6 2 +1089 1 0.0000000000000000e+00 5.6890131771245374e+00 7.2320987800147609e+00 6.8934895364395663e+00 -1 -1 4 +381 1 0.0000000000000000e+00 5.7783140351218183e+00 6.6172022342928027e+00 5.7680090716468824e+00 2 -5 -2 +2637 1 0.0000000000000000e+00 5.7093513422848705e+00 5.4976280749698789e+00 6.1644408618392843e+00 7 -2 -4 +1314 1 0.0000000000000000e+00 7.3353627957961525e+00 6.2120764027338717e+00 6.9922938555470955e+00 -4 1 4 +896 1 0.0000000000000000e+00 5.1817470771474703e+00 5.3718322319189573e+00 7.1403987608373214e+00 1 0 3 +2476 1 0.0000000000000000e+00 7.0633655276181511e+00 5.9436858390960792e+00 7.3331987006150401e+00 8 -4 -6 +1050 1 0.0000000000000000e+00 6.7694544908742573e+00 7.1735642458859692e+00 5.8773999942604807e+00 3 2 -2 +1835 1 0.0000000000000000e+00 6.5180673586344220e+00 6.5048010684449489e+00 6.4901292130777124e+00 0 0 2 +739 1 0.0000000000000000e+00 7.2788400489903884e+00 7.0169740669859602e+00 6.7408366833105262e+00 7 -2 0 +2551 1 0.0000000000000000e+00 5.1982125650233506e+00 7.1406623632527184e+00 5.5854878450535024e+00 -5 0 -1 +2066 1 0.0000000000000000e+00 6.4840278882303863e+00 5.2955544712927836e+00 7.1343134807042539e+00 1 -2 1 +2474 1 0.0000000000000000e+00 6.0351581782042274e+00 5.3260721872832981e+00 6.5548622772422540e+00 3 3 1 +723 1 0.0000000000000000e+00 5.4942252133201999e+00 7.0004143032743551e+00 5.5416061389395477e+00 -4 1 -2 +2110 1 0.0000000000000000e+00 6.2475902012984150e+00 6.2208820982101569e+00 5.1655511048022174e+00 0 2 5 +374 1 0.0000000000000000e+00 5.3225026765999806e+00 5.8269773605708082e+00 6.3499929810209199e+00 -4 -2 2 +2388 1 0.0000000000000000e+00 6.9297640357131227e+00 5.5150280459246908e+00 6.3700806760935560e+00 -1 0 5 +1662 1 0.0000000000000000e+00 6.2538255744081983e+00 7.1926111217995503e+00 6.3385241823509988e+00 -3 1 3 +2186 1 0.0000000000000000e+00 6.7075657659023351e+00 7.2013862334485070e+00 5.4206063766307189e+00 1 3 0 +11 1 0.0000000000000000e+00 7.3743347117226783e+00 6.4874153436894577e+00 5.3248166483413089e+00 0 12 -6 +1413 1 0.0000000000000000e+00 6.1752023069026158e+00 5.7754439538096127e+00 7.0477825180083276e+00 -2 -2 1 +2884 2 -1.0000000000000000e+00 6.4980878586998383e+00 5.3259427924765372e+00 6.2239766130220744e+00 -1 8 -1 +163 1 0.0000000000000000e+00 5.2248500110382370e+00 7.3274761145955267e+00 6.4128919761581109e+00 -1 -1 -1 +2075 1 0.0000000000000000e+00 6.1453939333894620e+00 7.0508491710576733e+00 7.4092662828815223e+00 1 3 5 +22 1 0.0000000000000000e+00 6.5567664940902715e+00 6.9105320843890823e+00 6.9215084779256246e+00 -1 2 0 +473 1 0.0000000000000000e+00 7.2660499994119538e+00 7.0612934519183748e+00 5.7731833864778146e+00 1 -1 0 +2317 1 0.0000000000000000e+00 6.2569800719417668e+00 6.6974607135430784e+00 5.2287856380982625e+00 0 -1 6 +691 1 0.0000000000000000e+00 6.7038454869997564e+00 5.1320860864249820e+00 5.4809009693769566e+00 1 -2 -4 +890 1 0.0000000000000000e+00 6.9117928579696626e+00 5.7670790716735203e+00 5.2991059592052938e+00 0 7 -1 +601 1 0.0000000000000000e+00 5.8889239895495162e+00 6.0114655438126503e+00 5.7169879154251211e+00 2 -2 -5 +966 1 0.0000000000000000e+00 5.4577078644835426e+00 5.4973792117439659e+00 5.1949406857794465e+00 0 -1 -7 +1781 1 0.0000000000000000e+00 5.7418595279679998e+00 6.0903779347524507e+00 7.0227345646307668e+00 0 -5 2 +459 1 0.0000000000000000e+00 5.9180263585878379e+00 6.6607773472907921e+00 6.3719009198658041e+00 3 -2 -1 +544 1 0.0000000000000000e+00 5.7209156831146224e+00 6.6974659806708852e+00 6.6042105208339645e+00 -5 -1 -1 +1531 1 0.0000000000000000e+00 5.6014074207920084e+00 5.1714728299291055e+00 7.3686510979570894e+00 0 0 1 +2682 1 0.0000000000000000e+00 6.5225559001026880e+00 6.2281767181483234e+00 5.9167454165855977e+00 -1 6 3 +277 1 0.0000000000000000e+00 6.4974600985436455e+00 6.1764709685772727e+00 7.1733776131282827e+00 0 -6 2 +1861 1 0.0000000000000000e+00 5.3051564308249519e+00 6.8498948449924058e+00 7.4075454864026158e+00 2 5 1 +2107 1 0.0000000000000000e+00 9.9816363385334039e+00 6.0402716164222490e+00 5.3392581198422810e+00 -1 2 6 +2461 1 0.0000000000000000e+00 8.7265920390966603e+00 6.8288943816620673e+00 6.4681958611794297e+00 -2 6 1 +1144 1 0.0000000000000000e+00 8.3373770889637644e+00 6.2516650160662524e+00 5.9676714697112754e+00 -10 4 1 +2962 3 1.0000000000000000e+00 9.7513614672095983e+00 7.2200837335539161e+00 7.4709471587414091e+00 -2 -1 -1 +1703 1 0.0000000000000000e+00 8.1960064536692752e+00 5.1209483443709072e+00 6.0386314889511903e+00 5 -1 1 +1105 1 0.0000000000000000e+00 9.7774544947248074e+00 7.1168699709363628e+00 6.8459302409758438e+00 2 3 6 +2792 1 0.0000000000000000e+00 7.7008063851828519e+00 6.2631930396247872e+00 6.7906237568125265e+00 3 8 -1 +2668 1 0.0000000000000000e+00 8.8100560963677470e+00 5.2451573338097841e+00 5.4461091180221439e+00 -5 2 -4 +87 1 0.0000000000000000e+00 7.7644723609068871e+00 5.3981725226207802e+00 6.8212950174133260e+00 6 2 4 +2018 1 0.0000000000000000e+00 8.2947719601138914e+00 6.1316918877147000e+00 7.2750405109105154e+00 -4 4 1 +624 1 0.0000000000000000e+00 9.3163139854344763e+00 5.8442656792865222e+00 6.5594291363055310e+00 -3 5 -3 +195 1 0.0000000000000000e+00 8.8055043403120923e+00 5.3479881402182130e+00 6.7273029076184434e+00 -2 1 -4 +396 1 0.0000000000000000e+00 9.1211740471021248e+00 7.4900242844777356e+00 6.6384521492323181e+00 0 -5 -1 +997 1 0.0000000000000000e+00 8.5443827607588076e+00 7.2188395299389194e+00 7.1265505946403183e+00 0 3 -5 +1780 1 0.0000000000000000e+00 9.7189801956756661e+00 5.3216549929976358e+00 7.3568860536670604e+00 3 4 0 +1755 1 0.0000000000000000e+00 9.6789165823240122e+00 5.6550031888974699e+00 7.2580130673478633e+00 0 -1 -4 +52 1 0.0000000000000000e+00 9.9931186988957847e+00 5.7650082497582531e+00 5.8399384767307101e+00 -1 -1 -3 +30 1 0.0000000000000000e+00 9.9654691326935172e+00 5.6695601312503046e+00 7.4319734491654126e+00 -2 -5 0 +848 1 0.0000000000000000e+00 9.3986532088089056e+00 6.4580987488041472e+00 6.5772815586539828e+00 0 3 -8 +2652 1 0.0000000000000000e+00 9.2778311923645944e+00 6.0972677119798684e+00 7.1142041845036648e+00 6 3 0 +2065 1 0.0000000000000000e+00 7.6261723193284956e+00 5.3548940942327237e+00 5.6430328257736226e+00 -2 2 -1 +1075 1 0.0000000000000000e+00 9.4900430981320287e+00 5.0057041643741167e+00 6.1835868114392563e+00 -2 0 -4 +2558 1 0.0000000000000000e+00 9.1054090281418141e+00 6.8987604987807831e+00 5.6487106177719113e+00 -3 -2 2 +2534 1 0.0000000000000000e+00 7.9248383728745013e+00 6.1604673416318407e+00 5.4596542900416960e+00 4 -3 -3 +2729 1 0.0000000000000000e+00 8.9120376217870962e+00 6.0116945383668217e+00 7.1018416568066369e+00 1 -2 4 +2158 1 0.0000000000000000e+00 9.2098078584013745e+00 5.1541884262282123e+00 7.1142238322331952e+00 -1 2 6 +2888 2 -1.0000000000000000e+00 9.7368485667485363e+00 7.4405486313055471e+00 6.2514390003803291e+00 -2 -1 -3 +2033 1 0.0000000000000000e+00 8.5012468100509135e+00 5.1313748458179811e+00 6.9644876716496702e+00 -4 -4 -2 +204 1 0.0000000000000000e+00 7.6755375607496363e+00 6.6330929694396046e+00 5.1007576850430434e+00 4 -3 3 +156 1 0.0000000000000000e+00 8.3230915781675083e+00 6.7539563605180035e+00 5.0638201779550007e+00 -3 -5 -5 +337 1 0.0000000000000000e+00 9.8642222703318652e+00 6.8201032186070130e+00 5.7943093659572762e+00 -5 1 3 +684 1 0.0000000000000000e+00 9.5717392077798369e+00 5.2780979481098571e+00 5.0846237963107601e+00 -4 1 -2 +2994 3 1.0000000000000000e+00 9.7909433654858891e+00 5.6350042303673469e+00 6.3824549416369507e+00 0 -6 -1 +510 1 0.0000000000000000e+00 8.6313666682342696e+00 5.9274204244925599e+00 5.0641642813877032e+00 1 5 0 +1299 1 0.0000000000000000e+00 7.6230977338681587e+00 5.7431350242512877e+00 6.5194102103820581e+00 0 -3 -3 +2447 1 0.0000000000000000e+00 7.9252736634051342e+00 5.5958372517511803e+00 5.4872430137715780e+00 -5 -1 2 +2446 1 0.0000000000000000e+00 8.2100829752579330e+00 7.2089608167996753e+00 5.4693451977728360e+00 2 -5 -2 +2722 1 0.0000000000000000e+00 9.3280335951657651e+00 6.3794525263588735e+00 6.0026874719347640e+00 -2 7 -1 +668 1 0.0000000000000000e+00 8.1746313655759248e+00 6.8634585978640992e+00 6.9007842013876477e+00 1 1 0 +1101 1 0.0000000000000000e+00 9.8353608322252075e+00 6.5239304810955403e+00 7.2658678287912615e+00 3 -2 -4 +2680 1 0.0000000000000000e+00 9.1926481071648105e+00 7.4456198212881493e+00 5.5378194092976472e+00 2 -4 4 +2177 1 0.0000000000000000e+00 9.0595981628813060e+00 6.5706879979066581e+00 7.3977588899230069e+00 3 2 0 +2523 1 0.0000000000000000e+00 8.5066635575671636e+00 5.6728434763213658e+00 6.1219078177565729e+00 -6 -1 2 +932 1 0.0000000000000000e+00 8.7306955998418179e+00 5.8933435286276712e+00 5.6970533106328354e+00 -5 5 2 +1468 1 0.0000000000000000e+00 8.2759617618145764e+00 5.4522715701326510e+00 6.9871360827159519e+00 -1 -1 1 +433 1 0.0000000000000000e+00 9.3918435019938400e+00 5.9253130835583612e+00 5.2447893034577833e+00 -2 -2 2 +1533 1 0.0000000000000000e+00 7.8618291357577164e+00 6.7664464483180558e+00 6.2822636516228085e+00 -5 6 -7 +2853 2 -1.0000000000000000e+00 5.5826575727967391e+00 9.4097388211791504e+00 7.3289705701186323e+00 2 2 4 +1839 1 0.0000000000000000e+00 7.4962642782921654e+00 7.8226002875996024e+00 6.3060289310397133e+00 5 2 2 +1095 1 0.0000000000000000e+00 6.8524201916999852e+00 8.5148004586887698e+00 7.2875521336594762e+00 -9 4 -3 +338 1 0.0000000000000000e+00 5.2643099540325355e+00 8.6134001382333381e+00 6.6434969260089138e+00 3 -1 5 +780 1 0.0000000000000000e+00 5.3628691146173093e+00 9.1893464048668978e+00 7.0060325464918973e+00 6 3 -4 +93 1 0.0000000000000000e+00 5.6115841621767526e+00 7.7820335026147704e+00 5.6723735515689997e+00 -6 0 2 +1777 1 0.0000000000000000e+00 6.1026863962129090e+00 8.1454841958929070e+00 6.6392640814029091e+00 2 3 3 +148 1 0.0000000000000000e+00 5.4287681557904843e+00 8.6842344641970062e+00 5.8084083753020961e+00 3 -1 -5 +25 1 0.0000000000000000e+00 6.0674193189816448e+00 9.8339741482250034e+00 6.9559217075679154e+00 -7 -1 0 +910 1 0.0000000000000000e+00 5.1834578567774585e+00 8.3064624082034619e+00 5.2504932242719553e+00 -2 -2 2 +2868 2 -1.0000000000000000e+00 5.6675360508137613e+00 7.7962020574306496e+00 7.0716496275011931e+00 3 1 -1 +1575 1 0.0000000000000000e+00 6.0195604290624676e+00 9.3394984162165180e+00 6.1878895088008292e+00 -7 -1 -2 +1140 1 0.0000000000000000e+00 6.2309355258686043e+00 8.6719417324310815e+00 5.7013433540011524e+00 1 -4 0 +1366 1 0.0000000000000000e+00 7.2134434236306033e+00 9.6381356007993872e+00 6.6903432524954498e+00 1 -3 6 +2567 1 0.0000000000000000e+00 6.6965999029704442e+00 7.9320205858983632e+00 5.9770429922555115e+00 0 -2 0 +1503 1 0.0000000000000000e+00 5.9199523355232300e+00 8.5724733348348430e+00 7.1172607990883217e+00 -3 0 -3 +1776 1 0.0000000000000000e+00 7.0435134524378391e+00 8.9530413928179016e+00 5.2757680118758410e+00 4 0 -3 +2459 1 0.0000000000000000e+00 6.8850694957301792e+00 7.6637729706994220e+00 6.8743560080895696e+00 -6 -8 1 +2219 1 0.0000000000000000e+00 5.0593860771483019e+00 8.3175320626907698e+00 7.3160203698215653e+00 -2 7 1 +2016 1 0.0000000000000000e+00 7.1621959887161299e+00 9.5688244717093909e+00 5.8206287762492215e+00 2 -2 -2 +1741 1 0.0000000000000000e+00 6.4797063348808157e+00 9.4446624555891923e+00 6.2625385223775245e+00 3 1 3 +471 1 0.0000000000000000e+00 6.6314695054204069e+00 9.0799772428769199e+00 6.1667272767051342e+00 1 -7 1 +2441 1 0.0000000000000000e+00 5.8992164782920211e+00 7.9848753625959521e+00 5.5105422638230346e+00 2 1 -6 +1453 1 0.0000000000000000e+00 5.8379667054152202e+00 9.9458663837130601e+00 5.8918056335843509e+00 -5 3 1 +413 1 0.0000000000000000e+00 6.7891161863613263e+00 8.0613937924639636e+00 5.3429645424549559e+00 -3 2 -1 +2251 1 0.0000000000000000e+00 7.4175231629115022e+00 8.6534330147837260e+00 5.3922077568311204e+00 4 4 3 +1096 1 0.0000000000000000e+00 6.7715714977965904e+00 9.4163728744027839e+00 7.2663715404591471e+00 -3 -1 0 +2318 1 0.0000000000000000e+00 7.4854019789101782e+00 9.3304272987247661e+00 6.4912301857629195e+00 3 -7 -2 +666 1 0.0000000000000000e+00 7.3784719709598088e+00 8.8576988033107753e+00 6.0377852558760097e+00 2 -3 -3 +2359 1 0.0000000000000000e+00 6.1939205763084138e+00 8.9117813052596180e+00 7.0481706532197492e+00 -6 2 -3 +2218 1 0.0000000000000000e+00 5.0423152962671525e+00 7.7925950859052557e+00 6.1633518922033756e+00 -5 3 -1 +2921 3 1.0000000000000000e+00 5.2562080287072881e+00 8.9909297977647746e+00 6.3584986971664073e+00 -4 -2 -5 +2603 1 0.0000000000000000e+00 5.8641625586228532e+00 9.8824604571514758e+00 6.7202919396949712e+00 3 -3 2 +1844 1 0.0000000000000000e+00 6.8973224465589169e+00 8.8417041175855342e+00 6.8647656818648279e+00 -4 -4 -6 +322 1 0.0000000000000000e+00 5.5937680866957109e+00 9.7155102398998601e+00 6.0831261579653439e+00 -4 1 -5 +1535 1 0.0000000000000000e+00 5.4013081559455109e+00 8.5013082053526503e+00 7.2990966877163110e+00 2 2 1 +2870 2 -1.0000000000000000e+00 5.0830041699020816e+00 9.9152235562779865e+00 5.2486604272024753e+00 -3 -3 -3 +819 1 0.0000000000000000e+00 5.7489751972204699e+00 9.1855802611600534e+00 5.3883078595576945e+00 6 -3 0 +2161 1 0.0000000000000000e+00 6.4497019056122049e+00 9.4677544943328993e+00 5.2374406559587889e+00 -2 -1 1 +1601 1 0.0000000000000000e+00 7.3667652694796431e+00 7.6691730609467621e+00 5.1560727680538925e+00 0 0 2 +749 1 0.0000000000000000e+00 6.8648674967123000e+00 8.1183570839400598e+00 6.5273389892473093e+00 -2 -1 -1 +2756 1 0.0000000000000000e+00 6.3076638556037157e+00 7.6305832503516999e+00 6.8786815611436660e+00 0 -4 -7 +916 1 0.0000000000000000e+00 6.4976493791001717e+00 8.7857135139582994e+00 5.8080543208818725e+00 -6 -2 4 +385 1 0.0000000000000000e+00 7.4091184362295737e+00 8.4018836523756413e+00 6.8990249317570544e+00 4 -2 1 +2393 1 0.0000000000000000e+00 7.0180718390906023e+00 9.9685801397949980e+00 6.9553385212692191e+00 5 1 2 +104 1 0.0000000000000000e+00 8.7037867331398520e+00 8.4497661205412484e+00 6.7491757866254085e+00 0 -5 1 +1529 1 0.0000000000000000e+00 7.9768737194449271e+00 8.0832269875903204e+00 5.4215552970291379e+00 3 8 -4 +1301 1 0.0000000000000000e+00 9.0455938685095827e+00 9.4010554847812742e+00 7.1200603927468364e+00 -4 -1 1 +1334 1 0.0000000000000000e+00 9.9522109701541712e+00 9.4230590667997287e+00 5.4222331677283533e+00 2 0 6 +1629 1 0.0000000000000000e+00 9.9356459730043909e+00 8.8476303883867899e+00 5.6220168684943701e+00 -6 3 0 +2269 1 0.0000000000000000e+00 8.6953305607115929e+00 9.0410062707429404e+00 6.4270344906711419e+00 -1 2 -1 +2026 1 0.0000000000000000e+00 9.1920784859441991e+00 9.2347192140606644e+00 5.8218200145778356e+00 3 -10 1 +2667 1 0.0000000000000000e+00 9.0758097206200716e+00 9.0384987254859102e+00 5.0431836974538831e+00 0 -3 1 +1385 1 0.0000000000000000e+00 8.2840754318805381e+00 8.9826770740780031e+00 6.1202110490220800e+00 2 -8 0 +1702 1 0.0000000000000000e+00 9.4420065660309298e+00 9.1881407859417052e+00 6.4592135697907009e+00 4 2 1 +1422 1 0.0000000000000000e+00 7.6353765510688554e+00 9.3516659834053595e+00 7.2844148760018737e+00 -2 -2 3 +388 1 0.0000000000000000e+00 8.3490648106130241e+00 8.3812376475137125e+00 6.0669572077949088e+00 1 5 4 +2837 2 -1.0000000000000000e+00 8.2830852868018940e+00 7.6163057637696143e+00 6.7121200043657634e+00 -8 -1 -3 +2284 1 0.0000000000000000e+00 9.5456932628892570e+00 8.4634943185000946e+00 5.2018644869737978e+00 3 -7 -4 +2746 1 0.0000000000000000e+00 7.6476977514223572e+00 7.6428164357229651e+00 7.4627523529005488e+00 -2 3 1 +536 1 0.0000000000000000e+00 7.8256482778085781e+00 8.2187661392418061e+00 5.8178140915464835e+00 -3 1 5 +1302 1 0.0000000000000000e+00 8.0758869298356668e+00 7.5629184787230175e+00 6.0526205252159935e+00 -6 -3 -1 +993 1 0.0000000000000000e+00 7.5986824095706949e+00 8.4231845919321806e+00 6.3413414275318587e+00 -2 -3 0 +1848 1 0.0000000000000000e+00 8.1178697472669423e+00 8.5215336805568249e+00 7.1131997894888297e+00 4 4 -6 +937 1 0.0000000000000000e+00 7.5182976441286815e+00 9.0484017237457817e+00 6.7801490915902418e+00 -4 -6 -1 +2390 1 0.0000000000000000e+00 8.5439508288536583e+00 9.5789201065920313e+00 5.1596439611329679e+00 2 2 -4 +886 1 0.0000000000000000e+00 8.7969137811106801e+00 7.5157884729080653e+00 5.3275658548148828e+00 3 0 0 +1633 1 0.0000000000000000e+00 8.5718738598755859e+00 9.7471834208596153e+00 5.8710382786249777e+00 1 2 -5 +2268 1 0.0000000000000000e+00 7.9898902832271235e+00 8.8017220438802077e+00 7.2341285246392930e+00 0 2 3 +383 1 0.0000000000000000e+00 9.9666367189231799e+00 9.0948471203199812e+00 7.3470992212094819e+00 -7 -5 1 +956 1 0.0000000000000000e+00 8.7171860924114988e+00 8.1224088510622448e+00 5.7781082269352426e+00 4 -4 6 +1192 1 0.0000000000000000e+00 9.7406882840352651e+00 8.9715907232057024e+00 5.1783263771524126e+00 -8 -4 -6 +640 1 0.0000000000000000e+00 7.8081780317729024e+00 9.1001243312947864e+00 5.4671839830834825e+00 -5 3 1 +225 1 0.0000000000000000e+00 9.3179126780783221e+00 8.2501477384302593e+00 7.3903808211409645e+00 -5 5 2 +1087 1 0.0000000000000000e+00 8.7657848845619508e+00 8.9571875793988145e+00 6.8437710239407155e+00 1 2 -4 +777 1 0.0000000000000000e+00 7.9358329573212414e+00 9.3056881185246940e+00 6.4474532554083197e+00 -3 -2 -3 +168 1 0.0000000000000000e+00 9.6314663417830921e+00 8.0804229630125448e+00 6.8704855195825862e+00 -4 0 -5 +1369 1 0.0000000000000000e+00 9.0603790750145787e+00 9.6695789538940158e+00 6.9834893900458992e+00 -3 -2 -4 +2238 1 0.0000000000000000e+00 8.2659097439614051e+00 9.7466271592409779e+00 6.9601732142711015e+00 6 -3 -3 +1008 1 0.0000000000000000e+00 7.6830063182941144e+00 7.6055595256375756e+00 7.0220035513726256e+00 1 4 3 +1312 1 0.0000000000000000e+00 9.5359318424623982e+00 8.5904412239931567e+00 6.3327307950681142e+00 1 -9 -3 +1654 1 0.0000000000000000e+00 7.8933585530534121e+00 9.9225649319820857e+00 5.6638973627630183e+00 -2 -2 -1 +1876 1 0.0000000000000000e+00 9.3347295227241496e+00 8.9914768965747474e+00 5.7353672195897101e+00 -1 1 2 +1100 1 0.0000000000000000e+00 9.7378002124320382e+00 8.0454917420121355e+00 6.0269298230222654e+00 3 -3 -1 +1845 1 0.0000000000000000e+00 9.4385764529369709e+00 8.5781810620045160e+00 7.2569370523026029e+00 1 -3 4 +2699 1 0.0000000000000000e+00 7.6793587277622795e+00 8.8404951865763000e+00 5.0799888056508635e+00 -5 -2 -2 +2185 1 0.0000000000000000e+00 7.8810379985298011e+00 9.8266003445577557e+00 5.1918009621448977e+00 0 3 1 +2157 1 0.0000000000000000e+00 9.3102677160944705e+00 9.9831283190915681e+00 5.6078655407105424e+00 -4 1 -3 +1026 1 0.0000000000000000e+00 9.1758641414500204e+00 7.9458531474812544e+00 5.3426467779018703e+00 3 2 -1 +2983 3 1.0000000000000000e+00 8.5648585320624502e+00 8.9436220872239289e+00 5.6202978129459611e+00 -2 -2 5 +1040 1 0.0000000000000000e+00 9.7539423605943760e+00 9.8377205463677839e+00 6.6493425987220753e+00 0 -3 1 +991 1 0.0000000000000000e+00 8.9002889473874394e+00 8.0453301179561816e+00 7.2331047267012414e+00 -7 1 5 +1160 1 0.0000000000000000e+00 8.4352721488102365e+00 9.5180159765500356e+00 7.3734817989267274e+00 0 -3 -8 +2091 1 0.0000000000000000e+00 9.9563431797521158e+00 9.4645641336841848e+00 5.8445719055966361e+00 2 3 -2 +170 1 0.0000000000000000e+00 8.2585516929080676e+00 8.6989582098977429e+00 5.0346921292424538e+00 -1 0 -2 +1874 1 0.0000000000000000e+00 6.4419758159451419e+00 5.7277225058183934e+00 8.0460414829076825e+00 2 -1 -5 +2931 3 1.0000000000000000e+00 7.3446835180994530e+00 5.5458510215328998e+00 7.6743290717580246e+00 -4 -4 4 +2432 1 0.0000000000000000e+00 5.8329230889650576e+00 6.1340254116350996e+00 7.7397948908270413e+00 5 6 -4 +2494 1 0.0000000000000000e+00 5.8345977535447018e+00 6.2318497894760627e+00 8.1339342032262358e+00 4 0 -1 +2898 2 -1.0000000000000000e+00 7.1473408799389819e+00 6.5526093880108203e+00 9.5366711284365024e+00 -5 7 2 +1561 1 0.0000000000000000e+00 5.9156681790865351e+00 5.3666797742825691e+00 8.1017436439156398e+00 3 -4 1 +1360 1 0.0000000000000000e+00 5.1571676160293167e+00 5.2428595377969121e+00 8.0646539699471393e+00 0 2 -5 +1870 1 0.0000000000000000e+00 7.3931830727006229e+00 6.3809701253862539e+00 8.8821609551138927e+00 -4 2 -1 +2102 1 0.0000000000000000e+00 6.4988341674497931e+00 7.3805840377075187e+00 9.2057874393230428e+00 1 -6 4 +431 1 0.0000000000000000e+00 5.4808612205455827e+00 6.8494927465708777e+00 8.0447346761814487e+00 -2 1 -3 +1580 1 0.0000000000000000e+00 5.3939320745336108e+00 5.7469923887454755e+00 9.0363834679650878e+00 -6 -5 -2 +2727 1 0.0000000000000000e+00 5.5850521995173494e+00 7.1367438054947892e+00 9.6806182362386615e+00 4 -6 -6 +2043 1 0.0000000000000000e+00 6.5462408353222337e+00 6.6079908984681310e+00 7.9864245998405847e+00 3 4 -2 +821 1 0.0000000000000000e+00 5.3494753122315739e+00 6.8900940427658188e+00 8.7530293551028322e+00 -1 -3 -3 +2309 1 0.0000000000000000e+00 7.3823471340988025e+00 6.6616182692055856e+00 8.2482897734866594e+00 -1 3 3 +270 1 0.0000000000000000e+00 5.5936100415325276e+00 6.6123440723082405e+00 9.1722891000645461e+00 5 6 -4 +1627 1 0.0000000000000000e+00 5.7207339819200067e+00 6.0912020525072856e+00 8.4915067802361612e+00 4 2 -3 +1554 1 0.0000000000000000e+00 5.2564805571778939e+00 5.1181994349645219e+00 8.5662181877347940e+00 -1 -3 4 +835 1 0.0000000000000000e+00 6.8913412680199535e+00 6.6679172828949875e+00 7.5351418499703797e+00 -1 0 0 +1455 1 0.0000000000000000e+00 6.1595710580738103e+00 7.2543206436714840e+00 8.4113900668651027e+00 -4 -10 -6 +1620 1 0.0000000000000000e+00 6.9517816507003003e+00 7.0019267306118547e+00 9.2366337397583997e+00 -2 2 3 +106 1 0.0000000000000000e+00 5.1813267407056021e+00 6.0589649010527928e+00 9.7567113195969970e+00 0 0 4 +656 1 0.0000000000000000e+00 6.9272309516084860e+00 7.1782679636409696e+00 8.4010122734730022e+00 8 -7 0 +1681 1 0.0000000000000000e+00 5.2705443524169366e+00 5.3557807074171322e+00 9.7523290070750104e+00 0 5 4 +1542 1 0.0000000000000000e+00 5.9020058605396928e+00 5.4966307947232513e+00 9.1361765924972058e+00 -3 5 -2 +2200 1 0.0000000000000000e+00 5.8984817354892813e+00 7.4269341585801030e+00 8.9249720541582569e+00 3 -5 2 +2516 1 0.0000000000000000e+00 7.0751066124037978e+00 5.8440464721804632e+00 9.3627510598083834e+00 5 1 -5 +1910 1 0.0000000000000000e+00 7.0959681677775750e+00 6.1779766378841305e+00 8.1887793957605481e+00 -4 1 -3 +677 1 0.0000000000000000e+00 6.5807251381611289e+00 6.1334216516358353e+00 9.1114489861340555e+00 2 1 2 +853 1 0.0000000000000000e+00 7.0113985925515818e+00 5.0164392748813276e+00 8.3895294047925528e+00 0 -3 -1 +1436 1 0.0000000000000000e+00 6.5002427957124711e+00 6.6558150986930054e+00 8.6942245795767583e+00 -2 1 0 +1135 1 0.0000000000000000e+00 5.4685362436621032e+00 7.4236634806901174e+00 8.0250503304005534e+00 -2 2 -4 +1583 1 0.0000000000000000e+00 6.4125019737842610e+00 7.3248195188699681e+00 7.8512575324259943e+00 -3 1 -3 +1243 1 0.0000000000000000e+00 5.1593980238487998e+00 7.4005106265297789e+00 9.1455366113714245e+00 2 -5 5 +528 1 0.0000000000000000e+00 7.0444105039909095e+00 7.3534051250285444e+00 7.6201695146994508e+00 1 1 2 +2098 1 0.0000000000000000e+00 6.6651291454088275e+00 5.2950429173589111e+00 8.6202560431529651e+00 1 -6 -2 +2449 1 0.0000000000000000e+00 7.2631196018790289e+00 6.0595108846864552e+00 9.9318110171098137e+00 6 0 -2 +1817 1 0.0000000000000000e+00 6.7300849226274551e+00 5.7157162370117218e+00 8.7443265711716958e+00 2 -1 -2 +2135 1 0.0000000000000000e+00 7.4355771392418362e+00 5.5684743199262741e+00 9.0805653137158284e+00 -8 6 1 +539 1 0.0000000000000000e+00 6.3981796045146790e+00 5.4159126616788997e+00 9.5195762687030712e+00 -7 4 2 +2887 2 -1.0000000000000000e+00 5.0785009235730758e+00 5.9679980639545658e+00 7.8286467925020613e+00 -4 -5 -1 +959 1 0.0000000000000000e+00 5.2545088739682511e+00 6.9889718973361186e+00 9.9061206924916050e+00 -3 -5 0 +496 1 0.0000000000000000e+00 6.3036034082266612e+00 7.0945234827676114e+00 9.8470267797678250e+00 -3 3 3 +1486 1 0.0000000000000000e+00 7.4697621140943475e+00 7.4141364337765365e+00 9.7995886463204886e+00 -4 -1 -4 +796 1 0.0000000000000000e+00 6.1942366537401110e+00 6.8737894713307695e+00 8.4883316069713253e+00 -1 2 1 +2280 1 0.0000000000000000e+00 6.0335248993091453e+00 6.1534756742839649e+00 9.4604247717955872e+00 -7 1 -3 +107 1 0.0000000000000000e+00 6.1774258043666785e+00 5.0832172924109003e+00 9.7311375934549087e+00 5 3 1 +595 1 0.0000000000000000e+00 7.1705223151732538e+00 5.1333119099689162e+00 9.2806114344365245e+00 -1 4 -2 +2163 1 0.0000000000000000e+00 9.8398293493691007e+00 6.6040148032327339e+00 9.8827004474395235e+00 0 -1 3 +641 1 0.0000000000000000e+00 8.3929147033666496e+00 7.3355153909241428e+00 8.4037984635176972e+00 -4 -8 4 +2184 1 0.0000000000000000e+00 9.9464043459377063e+00 5.8369561487856716e+00 8.2019984837146698e+00 3 5 1 +1056 1 0.0000000000000000e+00 8.2546788906489788e+00 5.4097635764766654e+00 8.4482515510991014e+00 -4 4 -7 +342 1 0.0000000000000000e+00 8.0893790907999339e+00 5.9555370607888580e+00 9.8572030022770765e+00 4 -1 0 +1836 1 0.0000000000000000e+00 8.8366504969873887e+00 6.2666656784103658e+00 8.3563605405560022e+00 -2 -5 3 +1519 1 0.0000000000000000e+00 7.8225334741913475e+00 6.5263768883650188e+00 9.6901260567027840e+00 -1 6 -2 +2712 1 0.0000000000000000e+00 9.8249429856248263e+00 5.6220904052258929e+00 9.2054070144452460e+00 -3 1 -1 +1622 1 0.0000000000000000e+00 9.7839293399762344e+00 5.9094804431264025e+00 9.9064091331704702e+00 5 0 -3 +945 1 0.0000000000000000e+00 8.0868769106540039e+00 6.1669093166275868e+00 9.2111889191467586e+00 -2 3 4 +63 1 0.0000000000000000e+00 8.4743323358088798e+00 6.9601046532600881e+00 9.7398951797600439e+00 3 0 -2 +2611 1 0.0000000000000000e+00 7.7023124750291565e+00 6.9404246792937840e+00 7.5124065320061924e+00 1 -1 -1 +1090 1 0.0000000000000000e+00 9.4182281165564969e+00 7.3033824908405940e+00 8.4294509708997811e+00 -1 -3 1 +2790 1 0.0000000000000000e+00 9.8001623072549755e+00 6.2450716952119736e+00 9.1314927287150844e+00 1 0 -1 +1712 1 0.0000000000000000e+00 8.8920071141033326e+00 7.0096986029405182e+00 8.9145060026307945e+00 3 -3 5 +1418 1 0.0000000000000000e+00 8.2931776533647348e+00 6.8050924099880374e+00 7.7443280708427595e+00 4 -3 -3 +594 1 0.0000000000000000e+00 9.0892189433349646e+00 5.1441638468105575e+00 7.6235629483527685e+00 -6 1 -1 +2620 1 0.0000000000000000e+00 8.7406721065531574e+00 6.5689538834482599e+00 8.3449335152845396e+00 0 4 3 +1983 1 0.0000000000000000e+00 7.5206819564642462e+00 6.4905737162041133e+00 7.5604402352232887e+00 -6 4 1 +2510 1 0.0000000000000000e+00 9.2617876878299299e+00 6.2959082933382655e+00 9.5493892541890872e+00 4 1 -3 +311 1 0.0000000000000000e+00 9.0654680470354680e+00 6.8999925836744964e+00 9.6223688143178041e+00 4 -5 -2 +2057 1 0.0000000000000000e+00 7.6021021289536588e+00 5.6324888747040607e+00 8.1524743195213354e+00 2 1 3 +962 1 0.0000000000000000e+00 9.5934199175940726e+00 6.1574193883964687e+00 8.7451204575047292e+00 -1 -4 1 +978 1 0.0000000000000000e+00 9.5936171786006668e+00 6.2226668611984834e+00 7.9368156171892537e+00 -4 2 3 +2676 1 0.0000000000000000e+00 8.4888455258806452e+00 6.1104625692807542e+00 8.4269887774277432e+00 -8 0 -5 +555 1 0.0000000000000000e+00 9.2020595919914197e+00 5.7333261894936234e+00 7.8507707015692478e+00 0 -5 2 +623 1 0.0000000000000000e+00 9.4805797092748563e+00 7.0174144899562778e+00 8.8242209295970486e+00 -1 3 -3 +2618 1 0.0000000000000000e+00 7.7932542477680071e+00 5.5648094965122343e+00 9.6722618202313981e+00 -7 1 0 +942 1 0.0000000000000000e+00 8.0263570472751535e+00 6.7992789278134271e+00 8.5955325387706552e+00 1 2 4 +784 1 0.0000000000000000e+00 8.7299673564574665e+00 7.3739642264172289e+00 9.7201240035111010e+00 2 -3 -7 +210 1 0.0000000000000000e+00 8.6524408888509150e+00 5.9228838213908066e+00 7.7698153323802650e+00 0 -4 -7 +1959 1 0.0000000000000000e+00 8.4092712360029207e+00 5.6371219336486060e+00 8.9385520791658664e+00 -3 -8 -2 +804 1 0.0000000000000000e+00 9.9692379663009625e+00 7.1911866262246580e+00 8.9210127337575802e+00 4 0 -8 +645 1 0.0000000000000000e+00 7.6505969193831014e+00 7.3050899054877867e+00 8.8187407505970263e+00 -3 -3 0 +500 1 0.0000000000000000e+00 7.9822575349574665e+00 7.2967895320075611e+00 9.2090576440830159e+00 -5 1 1 +951 1 0.0000000000000000e+00 8.0216126464512048e+00 6.9341308766316070e+00 7.7189311776313794e+00 4 0 1 +2724 1 0.0000000000000000e+00 9.6193994894428645e+00 7.3841476409083606e+00 9.7126055590958380e+00 5 2 1 +1063 1 0.0000000000000000e+00 9.2922313822890548e+00 5.4985496516114907e+00 8.6508241630713698e+00 0 8 0 +2437 1 0.0000000000000000e+00 8.9123077628293697e+00 6.0072522796104231e+00 9.5028002992599063e+00 5 2 1 +281 1 0.0000000000000000e+00 8.2579206968864263e+00 5.0039372607628865e+00 7.6124523193482725e+00 0 7 1 +1634 1 0.0000000000000000e+00 9.2304592758159707e+00 6.9365125319988659e+00 8.0947239331035057e+00 -6 2 -1 +498 1 0.0000000000000000e+00 8.8041869864676059e+00 5.1028595433393473e+00 9.6320415799322863e+00 1 -3 4 +1244 1 0.0000000000000000e+00 8.6430734434635692e+00 5.3566983031019699e+00 9.0105576596771293e+00 0 5 -2 +590 1 0.0000000000000000e+00 8.4203688415224374e+00 6.5712543020710861e+00 9.4539160852919188e+00 7 3 1 +1350 1 0.0000000000000000e+00 9.7412806798646994e+00 5.0257726293081459e+00 8.1190134593706738e+00 -8 3 -5 +983 1 0.0000000000000000e+00 5.0462101346198009e+00 7.6487898729142012e+00 7.7236264836951491e+00 -2 -7 1 +128 1 0.0000000000000000e+00 6.2230659673624054e+00 9.9072658227920076e+00 7.5863546581548915e+00 8 -3 0 +2919 3 1.0000000000000000e+00 6.4879618359364351e+00 7.9212262997335854e+00 8.4779496966894659e+00 -8 -4 -2 +1774 1 0.0000000000000000e+00 6.1935003821414627e+00 9.6524309728693698e+00 9.3377345407813674e+00 -3 2 -6 +2985 3 1.0000000000000000e+00 6.6630123361953837e+00 9.0576709953543446e+00 9.7430196903232282e+00 4 -1 1 +1877 1 0.0000000000000000e+00 7.1746451124250035e+00 7.8218246693383300e+00 8.9002033576318169e+00 4 -5 -2 +567 1 0.0000000000000000e+00 6.3274753385725697e+00 9.1025380648800933e+00 7.5702634780449634e+00 6 -5 -7 +721 1 0.0000000000000000e+00 7.1764236443105709e+00 9.5369542169230321e+00 7.8756708561676776e+00 -2 3 -1 +1395 1 0.0000000000000000e+00 7.3094760961184537e+00 8.7402824056512074e+00 8.9938437365788353e+00 -4 0 -6 +333 1 0.0000000000000000e+00 5.7852817178723210e+00 9.0958014051875349e+00 9.6170386441451523e+00 1 2 -1 +1093 1 0.0000000000000000e+00 7.2722393385489319e+00 9.9696984020567907e+00 8.0828270906225725e+00 -2 -4 -4 +2279 1 0.0000000000000000e+00 5.2355977985841680e+00 8.8191890579210863e+00 9.3282447673722775e+00 5 -5 -2 +2522 1 0.0000000000000000e+00 5.4979922148036700e+00 8.2938872584227656e+00 9.8219593693382290e+00 -2 3 1 +1947 1 0.0000000000000000e+00 6.6692812462732620e+00 8.2835176427636039e+00 7.5940824516550505e+00 2 4 2 +1339 1 0.0000000000000000e+00 6.9018287128416036e+00 9.3829721025860682e+00 9.9608395790142321e+00 4 -1 3 +184 1 0.0000000000000000e+00 5.7384539504578553e+00 7.9124777836503295e+00 9.2081917677300016e+00 0 2 3 +2721 1 0.0000000000000000e+00 5.4551476392638021e+00 8.2137803015998472e+00 9.3600053255793192e+00 -5 -6 -2 +105 1 0.0000000000000000e+00 6.3997830156062241e+00 9.1619164517776266e+00 8.2522339462479870e+00 -3 -1 5 +2673 1 0.0000000000000000e+00 5.7002616793794889e+00 7.8291516405464634e+00 8.3009219949430086e+00 -1 -2 -5 +1749 1 0.0000000000000000e+00 6.2433905438491912e+00 7.9052566719904878e+00 9.7312037476487419e+00 -2 -6 -5 +1143 1 0.0000000000000000e+00 6.9050486777311271e+00 8.0736802416608988e+00 8.0148857706506487e+00 7 -4 -5 +880 1 0.0000000000000000e+00 6.4151623595179013e+00 7.9487094625800276e+00 9.5704774877407974e+00 -4 0 -4 +1581 1 0.0000000000000000e+00 6.8264315295507867e+00 8.4856664786137337e+00 8.7997687883942763e+00 7 -3 1 +2011 1 0.0000000000000000e+00 5.5699969483570193e+00 8.4939517929300123e+00 8.3413176090786418e+00 0 4 -2 +2008 1 0.0000000000000000e+00 5.0150559025949271e+00 9.6526156169356323e+00 8.5027654503925572e+00 2 0 4 +1735 1 0.0000000000000000e+00 5.1721679946843455e+00 9.8306461477154272e+00 8.2166609449748673e+00 0 0 5 +1791 1 0.0000000000000000e+00 5.9857016383632233e+00 7.7783027529433246e+00 7.7334613229237581e+00 -1 -2 2 +2201 1 0.0000000000000000e+00 6.1513916148008772e+00 8.4757390351992150e+00 8.0909657595275597e+00 1 -2 2 +856 1 0.0000000000000000e+00 7.3500166237129925e+00 9.2158697002040828e+00 8.4822373635606176e+00 4 -3 -7 +1890 1 0.0000000000000000e+00 5.5722621056671260e+00 9.7785572236857412e+00 9.1156792514766192e+00 -4 -1 4 +366 1 0.0000000000000000e+00 6.8947252523036289e+00 9.1561072410002318e+00 7.9904307382894908e+00 1 -2 -4 +654 1 0.0000000000000000e+00 6.6686528840692487e+00 8.6691100321756949e+00 9.4593342549493276e+00 -4 2 -1 +622 1 0.0000000000000000e+00 7.1306686640388630e+00 8.4957051086754269e+00 8.2561767724960653e+00 3 0 3 +426 1 0.0000000000000000e+00 7.2125003310903724e+00 8.3264697146459437e+00 9.5515503520906222e+00 -5 -3 0 +940 1 0.0000000000000000e+00 5.6979260006683550e+00 9.8342079866957057e+00 8.2483021742642997e+00 4 0 6 +1212 1 0.0000000000000000e+00 5.8357015624165625e+00 8.5129529312245840e+00 8.8325128383852469e+00 1 1 1 +1297 1 0.0000000000000000e+00 6.8381194152456706e+00 9.6214790995936852e+00 9.4136130903181350e+00 0 -1 -2 +2654 1 0.0000000000000000e+00 7.4770878639603673e+00 7.8121288456658835e+00 9.7324180586919535e+00 -2 3 1 +335 1 0.0000000000000000e+00 5.1263752680187009e+00 9.5444619120576899e+00 9.8803542543752485e+00 -2 2 3 +261 1 0.0000000000000000e+00 5.3274169347785874e+00 9.1284023154799101e+00 8.3187486777829491e+00 -2 0 -4 +2345 1 0.0000000000000000e+00 6.0976393987168107e+00 9.3561159467095418e+00 8.9601945860598775e+00 -2 3 1 +838 1 0.0000000000000000e+00 7.4509020408286384e+00 8.7905282667168994e+00 7.7392061578680540e+00 2 -1 0 +1383 1 0.0000000000000000e+00 7.0378762393710170e+00 9.3761867914082409e+00 8.8595245136419774e+00 1 -4 2 +2344 1 0.0000000000000000e+00 5.5423300598263232e+00 9.1670310926120937e+00 7.9659329098429721e+00 -5 0 2 +2160 1 0.0000000000000000e+00 5.1477654028550042e+00 9.9619916806137336e+00 9.9880627444013026e+00 1 1 0 +1725 1 0.0000000000000000e+00 8.7677275053056043e+00 9.2122258194545470e+00 8.8088385528969155e+00 2 0 2 +2801 1 0.0000000000000000e+00 8.4660831536850143e+00 7.8583114162058818e+00 9.1868382599890293e+00 -3 1 -1 +2639 1 0.0000000000000000e+00 7.6803877961057365e+00 9.7051730690910389e+00 9.1899332379065761e+00 3 -5 2 +2101 1 0.0000000000000000e+00 7.6003676821269881e+00 9.3288831152649898e+00 9.8903123515452531e+00 9 3 3 +369 1 0.0000000000000000e+00 8.0117535225811807e+00 8.4989409869766330e+00 8.7287438782718105e+00 -4 1 -2 +78 1 0.0000000000000000e+00 8.8665309738510310e+00 9.6784405488802179e+00 9.9591175166010704e+00 -2 3 -2 +1745 1 0.0000000000000000e+00 7.7382077926084403e+00 8.1295403996823392e+00 8.5469083168816020e+00 -1 3 3 +518 1 0.0000000000000000e+00 7.9976818850966307e+00 8.9638896838137683e+00 8.1423978149103746e+00 -1 2 -1 +480 1 0.0000000000000000e+00 7.5949649730997866e+00 7.8961711127160052e+00 8.2594119727411535e+00 -2 -3 4 +308 1 0.0000000000000000e+00 8.6295673167080587e+00 9.3147981801723923e+00 8.0038197000534321e+00 4 -2 -2 +324 1 0.0000000000000000e+00 9.4455472951160946e+00 8.8150538585996827e+00 8.0194753004761896e+00 2 5 4 +379 1 0.0000000000000000e+00 8.2692670814113622e+00 8.0982093742464354e+00 7.8923157683555978e+00 -2 -1 -1 +1348 1 0.0000000000000000e+00 8.2260387960213901e+00 9.8260930882241144e+00 9.7054807302230959e+00 -3 0 4 +846 1 0.0000000000000000e+00 8.1763357133686085e+00 8.7158063335930436e+00 9.5362243937224225e+00 0 -3 -3 +2822 2 -1.0000000000000000e+00 7.6398265451879848e+00 8.7562772407223566e+00 9.7370421366795483e+00 -2 -1 -4 +2492 1 0.0000000000000000e+00 8.5871088675816587e+00 9.3037790821608244e+00 9.9219669637962031e+00 0 4 9 +614 1 0.0000000000000000e+00 9.3683423729756363e+00 9.3698991262380762e+00 8.7008231443039215e+00 3 5 -3 +1120 1 0.0000000000000000e+00 9.7165488629813836e+00 8.8881181582201023e+00 9.5853225880575774e+00 -7 -3 1 +429 1 0.0000000000000000e+00 9.6064668838337504e+00 7.9042597441805542e+00 9.2489921432322078e+00 -4 -2 2 +2791 1 0.0000000000000000e+00 7.9456622472047380e+00 9.1729750177457579e+00 8.9546287628665659e+00 -3 -4 2 +161 1 0.0000000000000000e+00 9.5719876753046318e+00 8.8617126711734127e+00 9.2089690424722850e+00 3 -6 -1 +879 1 0.0000000000000000e+00 9.4364512203280189e+00 9.9390033027959852e+00 8.4307203029367930e+00 5 -6 0 +1480 1 0.0000000000000000e+00 9.5690570751224389e+00 8.7586468436171803e+00 8.4659526507389220e+00 -2 0 -2 +593 1 0.0000000000000000e+00 9.6370218310582505e+00 9.6783165547912944e+00 9.3774960827902589e+00 -9 1 3 +2630 1 0.0000000000000000e+00 9.8815606974372017e+00 8.1610447199242344e+00 9.1564685654959312e+00 2 -1 -6 +628 1 0.0000000000000000e+00 8.9138072213332453e+00 8.5841945708506433e+00 9.5000949312906524e+00 1 2 4 +2599 1 0.0000000000000000e+00 7.6170684833168965e+00 7.7565921945440710e+00 7.7486099129065344e+00 1 -1 -2 +508 1 0.0000000000000000e+00 8.5971305327736047e+00 8.2163371212419705e+00 9.5881808919244715e+00 0 -8 1 +478 1 0.0000000000000000e+00 7.8076697541061995e+00 9.7335231923331342e+00 7.9941495259717090e+00 0 0 -6 +1108 1 0.0000000000000000e+00 8.4086033464148393e+00 9.7693716602181020e+00 9.0355830930382393e+00 2 -5 -1 +1287 1 0.0000000000000000e+00 7.8163108500757987e+00 8.4796936165572578e+00 9.2922985834646905e+00 1 1 -2 +2206 1 0.0000000000000000e+00 9.5765903987656866e+00 9.0719304856579051e+00 7.8108201297765296e+00 -2 -3 1 +306 1 0.0000000000000000e+00 9.3847205063653192e+00 8.2072955224636370e+00 8.4070541016567990e+00 -6 4 -5 +1068 1 0.0000000000000000e+00 7.6791234727445552e+00 9.9492264259877015e+00 8.8567408343080523e+00 -2 6 0 +1830 1 0.0000000000000000e+00 8.8503435498268654e+00 8.6667852567370076e+00 8.3752669240342925e+00 -2 1 2 +1683 1 0.0000000000000000e+00 9.7408684383722033e+00 8.1539532245533195e+00 8.1936917871183343e+00 -2 -4 4 +2774 1 0.0000000000000000e+00 8.7782331685044959e+00 7.7171502955404385e+00 7.8330054345030273e+00 3 -5 -2 +1283 1 0.0000000000000000e+00 9.2942468022201492e+00 9.0486965676468252e+00 9.8946827556257606e+00 -5 3 3 +1141 1 0.0000000000000000e+00 9.8451905102328894e+00 7.8564474673993194e+00 7.7019725802440924e+00 6 -3 -6 +297 1 0.0000000000000000e+00 8.8637549306624557e+00 8.6350127577292657e+00 7.6746487045547465e+00 -1 -2 3 +2995 3 1.0000000000000000e+00 8.4889494133915804e+00 7.9384501458815251e+00 9.9955153982149394e+00 -4 5 -2 +111 1 0.0000000000000000e+00 8.8130132207545344e+00 7.6591221065343804e+00 8.5792614179446964e+00 -3 3 -7 +2975 3 1.0000000000000000e+00 9.3245310397566215e+00 9.3778510763781426e+00 9.2530434261568413e+00 -9 0 3 +2141 1 0.0000000000000000e+00 9.0065152590339164e+00 9.6787859475809181e+00 8.0902855810248795e+00 7 0 -8 +291 1 0.0000000000000000e+00 9.2093464753120688e+00 7.5945480619139154e+00 9.3835361684226815e+00 -1 -2 -1 +2547 1 0.0000000000000000e+00 8.3196098269833367e+00 8.0826100277752602e+00 8.5383310167881703e+00 5 -1 -3 +1295 1 0.0000000000000000e+00 8.6578035850849790e+00 8.9868856426317230e+00 9.1866800970735625e+00 3 4 2 + +Velocities + +657 7.6155382082231127e-01 -2.3445559464023527e-01 1.1436731372546243e+00 +2175 -1.8856601492377073e-01 7.8270365787464535e-01 -3.2193215229649408e-01 +1900 -8.9366236509353481e-01 -5.8614578045241017e-01 -2.0292645138888479e+00 +360 -1.7328632495525559e-01 -6.2850786631145295e-01 -1.8694019651490439e+00 +1860 1.3250527081080097e+00 2.9957835794953203e-02 7.1227933802270316e-01 +23 -6.4455590945780461e-01 4.1211201955083876e-01 -1.2094897313206421e+00 +2797 -6.3633327848799370e-01 1.1236568210671998e+00 -4.4425464900192219e-01 +1094 1.4589307512180327e-01 2.9260035009990909e-01 -4.2825202303948462e-01 +1915 -1.4555952514393083e-01 -4.2806799763109171e-01 -6.6306713895109703e-01 +2254 1.0407205171603719e+00 -1.7883325257750465e-01 1.0724623054778928e+00 +2222 1.8966810308473486e-01 -1.7459554639589776e+00 -1.4504097415363788e+00 +295 -4.1829182784602259e-01 1.6904231180034218e-01 3.2725847933287394e-02 +1880 6.0602606446069163e-01 5.4195272933812400e-01 -9.5962058882644818e-01 +1478 2.6441395755386010e-02 1.2436171389191381e-01 5.1613443210533172e-01 +2687 3.2016478475855581e-01 -1.3945169569767399e+00 -3.2660272239544341e-01 +1178 6.5486135750008656e-01 -1.0959193270492912e-03 -1.2523172021850488e+00 +2662 -3.7617589069446011e-02 -1.6598961735360780e+00 7.1610888392915939e-01 +1386 -5.1080567968770096e-01 -6.0164780920465377e-01 5.2165779087016084e-01 +1433 -3.3684025702382631e-01 6.2753002813341507e-01 -8.9286669551854425e-01 +1245 -2.7502164294017978e-01 -1.3023742260088400e-01 -8.9327147367393489e-01 +2734 -6.9274854842794953e-01 3.5802774863665726e-01 2.1573647129525939e-01 +1730 2.2860867473320091e-02 -1.2195987938693307e+00 5.4568628023986510e-01 +2781 -1.1278179500278320e+00 -1.1958634227958604e+00 4.8850146695130364e-01 +259 -1.3259217596216539e+00 2.4867492897014648e-01 -4.5068025255777239e-01 +1109 -1.3595753054140580e+00 -1.9408753185583807e+00 -9.7525885066762830e-01 +2126 -6.7133321466861495e-01 2.7362453366658601e-01 1.4126533751241650e+00 +319 -3.6140591133603178e-01 1.6554545965112859e+00 1.2732468518451996e+00 +307 6.4379624225187448e-01 7.5874593723021966e-01 9.7160710234742953e-01 +2343 -1.4024187129248242e+00 4.2263764995885938e-01 -2.1403391291334897e+00 +1162 -4.6007542258527800e-01 2.3691643192861428e-01 -1.1593398782577449e+00 +1154 -4.0538947782919404e-01 4.6222082878712756e-01 1.9098460453050534e+00 +1138 6.7770422159130950e-01 5.4694371418799326e-01 1.8078360607183117e-01 +2873 -1.3848009090844828e+00 3.8644261369316296e-01 3.8345664999046414e-01 +118 -1.3756572277221293e+00 -6.5168191162337097e-01 9.7536532305462487e-01 +2023 2.9556984236313349e-01 -6.5140901327693024e-01 1.1137907257923460e-01 +2179 -9.5186563904875132e-01 -4.1267347957086233e-02 -9.9997240277649047e-01 +2395 -1.9715199359337823e+00 1.0654955462412299e+00 1.2846495826932671e+00 +2546 -1.8193080030057789e+00 5.7638497896147456e-01 -2.8691523203175268e-01 +863 -2.5140390209572383e-01 -1.4240826449094706e+00 -5.3927112811301237e-01 +1560 -7.5301252184068612e-01 -4.0421738528587581e-01 7.3558425548932260e-01 +1567 -1.1551207067860993e+00 1.0848839634291216e+00 -5.9430707576541730e-02 +1960 -8.8149469233940325e-01 8.0264878528444061e-01 -8.6328191599251991e-01 +2636 -3.8245732493643669e-01 -4.1258364056646724e-01 -1.2446905741949328e+00 +568 2.7922011585183226e-01 6.1977864987700276e-02 -1.2869748824348123e-01 +414 1.0656290143775076e+00 -3.4316802882692454e-01 -3.0232882032514952e-02 +452 1.2785431858182952e-01 8.9795513015727568e-01 -2.9958672836666878e-01 +2097 1.4964979969140246e+00 6.7986283011548487e-01 -4.2072629673414219e-01 +2242 -1.4247381355864369e-01 -4.1437539982188060e-01 6.7667506509073694e-01 +1458 -4.1340593661362124e-01 -7.2761687786533624e-01 9.8806651929155342e-01 +1690 -3.6355934624969122e-01 -5.8714864521921195e-01 -1.5864693808125166e-01 +2890 -1.1565027175028204e-01 -1.0087267642371691e+00 -1.3810391786254792e+00 +941 -5.4356313439776882e-01 -3.4522648006952344e-02 5.4697557056800961e-01 +2307 -1.3550703606114256e+00 -1.4938185883314932e+00 -1.5947272684193334e+00 +2757 -1.2271845005428599e+00 1.6534124822891811e+00 2.6100951161997763e+00 +292 -3.1934335684683157e-01 -4.7251153942549265e-02 7.9452274153899394e-01 +2408 -2.9899243272620515e-02 9.0812701086746761e-01 9.3750239504865251e-01 +1733 4.7758773554296396e-01 6.8110308925471486e-01 -2.3799700545413227e-01 +313 -1.2668617312910015e+00 -5.1556154634196694e-01 -1.8760437565456051e-01 +1888 -3.0946354089798187e+00 -6.4578734425735618e-01 -1.8328243159930618e-01 +809 4.5465764187083946e-01 -6.0295503898317360e-01 -3.7467050167270310e-02 +1824 -2.4704840345995152e-01 -8.2381105667836341e-01 -1.9898173054051990e-01 +705 -3.5650828368605988e-03 -5.9439335684744476e-01 7.8276605765879725e-01 +24 1.5847360898265861e+00 1.6477733089316815e-01 1.9647421148862906e-01 +186 -1.1321600798310107e+00 8.5130321222794936e-01 1.1065710304143563e+00 +1344 -8.2505880882286398e-01 2.1100296052707088e-01 4.4961821836274063e-01 +153 -1.3321050464839201e+00 -1.0156948978018130e+00 -8.8279921505556735e-01 +2246 6.6945996545731401e-01 5.5843038968422576e-02 -4.6183272546849552e-01 +1999 9.9951531037912766e-01 2.4649905213172767e+00 -3.4377008005602394e-01 +2737 -6.4092871713428395e-02 2.1956081893951547e+00 7.9310693909142516e-01 +252 1.6996218386532433e+00 1.6981936776933118e-01 -1.6186576176944705e+00 +2320 -1.0721478242472640e+00 1.7379869585408547e+00 3.9014683408839373e-02 +2128 -1.5064925816051316e+00 4.0165487993874543e-01 7.4285469746576918e-02 +1449 1.2732426126271805e+00 3.6431372461612122e-01 4.2415224758171577e-01 +1966 -5.4553296381962202e-01 5.8607521366162230e-01 -1.9249489986153745e-01 +2681 -5.5647194315531323e-01 -9.2165072512414070e-02 -1.4473088687460958e+00 +2986 -4.5718815207203095e-01 1.5601248533271439e-01 -6.7303921655245746e-01 +1507 -1.1239581753380896e+00 -6.5216528150593844e-01 8.4035386264692791e-01 +2196 -3.1496580694657478e-01 7.5886723251640387e-01 -5.4970737745844467e-01 +49 -5.5143156068245658e-01 4.9415322736994371e-01 5.2579260082444557e-01 +1365 -3.2502989601098181e-02 9.1664688955907969e-01 1.1875890347783642e+00 +1452 5.7721590640750775e-01 2.4191481837335529e-01 -8.3687595967837591e-01 +1770 -1.4263292457260919e+00 4.1578123243103093e-01 8.7523246844910685e-01 +1238 1.1765781550400201e+00 -7.1274892965811942e-01 2.4201231718053418e+00 +140 1.1475487739465227e+00 7.2896219511455518e-01 -4.7687484467271241e-01 +900 7.3641924082137389e-01 3.5170823386579914e-01 -1.1337720005781358e+00 +596 -1.5119215521450948e+00 -1.7807874208172272e-01 -6.4352870067843826e-01 +1771 1.0903112371692649e+00 -7.0040642888884885e-01 2.9491877736206484e-01 +638 4.0107930804056968e-01 -1.3098165394483039e+00 1.0053390585932596e+00 +2879 -5.8093707310056975e-01 7.4592963862464901e-01 5.0259510945778407e-01 +1932 2.9823717722420062e-01 7.9561319178395140e-01 -2.2117054139311372e+00 +1827 -1.2529496750949370e-01 -7.7379493234877050e-01 -8.5412714268816936e-01 +143 -8.6993427984045557e-01 -1.1933218453436458e+00 -3.0634848636600207e+00 +1603 7.6152204439174642e-01 3.5856327880019445e-01 5.7509434997142195e-01 +687 1.0794883931213466e-01 1.1702448494463111e+00 -9.6174805061741830e-01 +1128 1.4814955459241228e+00 -2.4079987941497571e+00 1.4497919072032892e+00 +359 -1.8485060364945560e+00 1.0309326265110881e+00 2.6802414025992465e+00 +7 1.7288617115117477e-02 2.1656179135778451e+00 -1.1421767332791515e+00 +2226 -8.1462614676335876e-01 9.0847158380625437e-01 9.5753509106045231e-01 +298 -8.2610929213187523e-02 -6.4083168820093628e-01 -1.9672810131586926e+00 +1347 8.4728080994036703e-01 -1.4525741329032243e-01 9.9062222293606483e-01 +2310 6.4873062484029143e-01 -2.2058191347796124e-01 5.4853236764119195e-01 +617 9.2973139486546352e-01 -4.6366461428691241e-01 -6.0402066921435893e-01 +74 2.1215067825531690e+00 -2.2977328038852868e-01 4.2288705676312571e-01 +2002 -6.2603432314636787e-01 -1.0436385905667089e+00 9.5144405400868670e-01 +965 -1.0889674270953842e+00 5.1272582105896802e-02 4.9962442193607803e-01 +958 -3.2501755858135861e-01 -6.3521295227608265e-01 -2.9144101858521598e-01 +138 4.0450288304592064e-01 -4.4736461104888325e-01 -1.8772592360577314e-01 +2349 2.7076046818601729e-01 -1.2406961954556741e+00 -9.2966109000731698e-02 +741 6.0771474470373199e-01 9.0558712494667237e-02 1.3207689098577036e+00 +847 2.4260353594256183e+00 -1.3022670095610123e+00 1.0083724917734183e+00 +2925 1.3943702093623593e+00 9.5430257814164399e-01 -1.1195597413566719e-01 +37 -2.4085604637043373e-01 5.2779879635477178e-01 -1.4032467441643828e+00 +2923 -7.1537898494614061e-01 6.7251323376149452e-01 -3.0520333580411085e-01 +1091 -1.4710838655136733e-02 -7.8577005851262149e-01 8.1014160331920748e-01 +331 -1.4579784011231285e+00 5.3500895325497022e-01 -4.4082123052781202e-01 +2891 -1.0983895659356882e+00 8.9415634321489912e-01 7.7600195007493336e-02 +626 -2.7513248520931610e-01 9.4876580922990700e-02 5.4081711927629783e-01 +2197 9.0430583799144915e-01 1.4863438510674836e+00 8.6160311813644141e-01 +2247 4.6720016208637222e-02 1.1811491184862386e+00 9.5119309263116769e-01 +2125 -9.2454684234741902e-01 -6.3483993191288779e-01 6.7651385692589705e-01 +1256 6.2318946127385844e-01 -1.0402359645663120e+00 -1.2906013833086181e+00 +2327 1.2944677734400947e+00 -3.8573753542073402e-01 -9.1843446609140877e-01 +2227 7.6396733884053802e-01 2.3228081351133754e+00 -1.8446426664797226e+00 +1549 1.2668801633677169e+00 3.6419405056485044e-01 8.1612628215362260e-01 +1174 -5.4036904329091329e-01 -2.4726915370094094e-01 -1.8404985591950396e+00 +1775 1.5320993629316195e+00 5.7610272434020138e-01 4.3593039020575008e-01 +2706 7.0625431155188365e-02 -3.6751525158654819e-01 1.4443609679399412e+00 +1689 -1.4017979291893981e+00 1.0560340495504192e+00 1.3039816494898211e+00 +1963 1.3856301932068149e+00 8.0733945435580290e-01 7.0500061974233252e-01 +2967 -3.0002545081464893e-01 8.1238234089387495e-01 1.2407514532386501e+00 +1014 2.7213595312739386e-01 2.8852913310938777e-01 -1.8829843585263530e+00 +2069 -9.4988910365692536e-01 -6.1808737882472486e-01 9.4079034531891081e-01 +2715 7.4099240671968847e-01 2.5645656868199040e-01 5.7352646193404055e-01 +1597 -8.4620465454249172e-01 1.1481077441402017e+00 6.2625283355350070e-01 +1237 -8.6589557745789136e-01 2.9902915712495806e+00 -2.2796494385684518e+00 +97 -1.7894847462591692e+00 -3.2382895911848175e+00 8.0887375618915713e-01 +451 6.9474089459201083e-02 2.5055172778345276e+00 8.8997250112634052e-01 +1092 9.2685315328416437e-02 5.5670449509918685e-01 1.7560750672309786e+00 +494 -8.1324894963862815e-01 -2.5034079600232113e+00 -6.7278749581109532e-01 +1545 1.4426536265230436e+00 -1.0202034657276178e+00 6.2482459047331673e-01 +1082 9.3138276671333120e-01 -1.2125134456373257e+00 8.2670225841117606e-01 +1367 1.6651165712732424e-01 -1.3874072581038726e+00 -4.8033884431446616e-01 +689 -1.0777483477765337e+00 6.6200035899927256e-01 -8.1354972995454911e-01 +814 3.0495130389644176e-01 1.7489443289200640e-01 1.8226832530539510e+00 +2798 -1.6065200318390125e+00 4.0003015753858140e-01 -1.1665882415620343e+00 +1759 9.8517855046648928e-01 5.9801493854290988e-01 -6.6072715281823990e-01 +430 7.2244112434500263e-01 -7.8614158373779663e-02 9.8692696814983649e-01 +619 1.6508888114297939e+00 -1.3957184303419317e+00 1.3084353914972306e+00 +346 -8.5727126932511799e-01 7.5299164836283350e-01 1.1166465925871030e+00 +703 -4.5298831178392396e-01 -1.8320953039786947e-01 2.0696243334167780e-01 +1062 -1.4046382109955169e+00 -1.7980678945757986e+00 -4.4712284368934396e-01 +349 -9.0566676904091523e-02 7.9533917932676723e-01 1.6438316092055507e+00 +1173 -5.7474844815199833e-01 -1.8655046344528023e+00 -1.1384268700124105e+00 +1125 -4.2319614498921632e-01 1.1373214123302213e+00 5.3540945702888321e-01 +1825 1.6846037864438148e+00 1.1883599353546266e+00 1.1794325660196798e+00 +294 8.4390110459659473e-01 -1.9224471864041554e-01 1.1929396326149313e+00 +1084 -1.8240005158809307e+00 1.6229851094333908e-01 -1.9369232761305516e-01 +1659 3.3306319740712503e-01 -1.1753916233065698e+00 -4.7083724335795213e-01 +1743 -6.4399775384346181e-01 -1.1041565918360872e+00 -3.2101334164244999e-01 +2703 -5.3322030897900297e-01 -4.0515894208914877e-01 8.3690712727486294e-01 +442 -1.0174830024134760e+00 -1.9465360642956302e+00 9.1710753666918632e-01 +1310 -2.7129930048960943e-01 -1.0270497648988899e+00 -4.2203127141039126e-01 +1873 -3.6947243669867630e-01 1.0041266660199948e+00 4.3800660837072997e-01 +2282 -3.9824183044842643e-01 3.5079588464216604e-01 -1.1437560239412230e+00 +2336 -1.6112746617051998e+00 -5.5923450826528764e-01 -9.9615174644517718e-02 +2804 8.4119141500542297e-02 -3.0814595881974067e-02 9.3651713604180542e-01 +2431 3.1991947705482839e-02 1.6857710317378136e+00 -9.7553581379318755e-01 +57 -5.4986684057288215e-01 1.2961206195857020e+00 -6.8250246820448490e-01 +137 3.5917985708798683e-01 6.5611033948702005e-02 -2.6246349132902325e-01 +686 8.0445202843357533e-01 1.6442867165014977e-02 1.2533620044380138e+00 +2288 3.8163712516046816e-01 -3.1363545265995052e-01 -5.6267559769600306e-01 +2473 1.4825364495380380e-01 5.7837249053464213e-02 1.7314546669033777e+00 +2233 -2.9401281598436158e-01 3.7101535641381639e-01 -9.7645757739483008e-01 +2293 -7.6601662628261280e-01 7.7136913265534734e-01 1.6526030679858628e-01 +167 -1.0892725013416333e+00 -6.1542906900772498e-01 9.0628716871281834e-01 +2817 1.0775653293115676e-01 7.9918240360758463e-01 -2.1699969256056609e-01 +2747 -1.4327205727241676e+00 -6.4227357368967408e-01 -1.7737188620327715e+00 +2469 1.5059917306196385e-01 -2.1041944581436063e+00 2.0887868018875486e+00 +915 -4.0703240360709703e-01 1.2561312647470657e+00 4.0836474417405272e-01 +874 -3.8491170273133590e-03 -1.1899265943133783e+00 1.3474465934261584e+00 +1917 7.6451210436038597e-01 1.4496385182960483e-01 5.1883868079718239e-02 +134 -2.7632914138675142e+00 6.7354961891769116e-01 1.4833778622461646e+00 +1809 8.1777285712948877e-01 6.3128804601287791e-01 -1.3649540916047498e+00 +758 6.2756992847911897e-01 3.7159681981125636e-01 -1.2598772649157313e+00 +66 -4.5661863390911772e-01 1.0219888801154746e+00 7.7856222539881914e-01 +2731 -1.1411086466518245e+00 6.7598077812000801e-01 3.0846801660379741e-01 +2328 1.2936520716699476e+00 -1.3261347985992167e+00 -8.9704082286724607e-01 +534 -8.2802677278899195e-01 1.0621661965982849e+00 -1.3994977393953774e+00 +1496 1.0710595552750224e-01 1.5161186463252144e-01 -5.4996183241052676e-01 +732 5.9779125326212834e-01 5.9135823843614696e-02 1.5014249428820647e-01 +1582 -1.6614236982695167e+00 -6.6075356087158810e-01 8.7148440296684226e-01 +484 1.5708791285882255e-02 -1.5700101512286532e-01 -4.1664518952432855e-01 +839 2.1433326018773724e+00 -1.2914020836079305e+00 2.3290257813817412e+00 +1110 5.1258186465722599e-01 -9.9216005510306893e-01 8.8450995858529280e-01 +2353 -1.4481625369466355e+00 -4.1136735122189644e-01 -1.3887268833022370e+00 +1488 8.9960230390366414e-01 -2.8068343064071233e-01 2.2601213582154250e-01 +59 2.2090746200277156e+00 -2.4600011214720713e-01 -4.4162720611364997e-01 +2099 -3.8192660324241184e-01 -1.1466189741315391e+00 1.2002553507748788e+00 +84 -1.9425005808646707e+00 -8.4658704535629425e-01 -1.0972788859385791e+00 +1879 -1.2029871396772192e+00 -2.3502708256896837e-01 -5.1997187269828504e-01 +736 1.2027254278459039e+00 9.0476224046695988e-02 1.6849937872796916e+00 +1332 -1.6538648920065333e+00 7.6733394795595444e-01 2.7244667066989597e-01 +2394 -2.2319173344813592e-03 -1.1018180114688843e-01 -6.9047633255852903e-01 +1235 -1.2422994546412017e-01 -1.0247727746675777e+00 2.6935796722027905e-01 +2573 2.5474920538641208e+00 -8.0251359163674496e-01 -1.6489872829374261e-01 +220 4.2867575165662664e-01 -9.4288923497778587e-01 4.2343982507516076e-01 +2555 1.1455559948789402e+00 1.3616231290436889e-01 -5.9447372045385505e-01 +1274 8.2820542334017047e-02 2.1881408980535220e+00 1.4137947133136632e+00 +2585 4.1917695239077027e-02 1.4705092698239497e+00 4.7889648913727983e-01 +216 9.1082520697963898e-01 -1.5324059977519011e+00 -1.3941617862319300e+00 +1029 -1.1769077721742960e+00 5.0202521309260284e-01 8.5311732843556554e-01 +1070 -3.9136595148279402e-01 1.7426536063726932e+00 -2.0467536641208710e+00 +1249 6.5863170802570137e-01 -1.6555684342700216e-01 -1.9648958660378548e-02 +2593 -2.0509091392870360e+00 1.8617037161907475e+00 2.4332868462294724e-01 +1265 4.4987275460457538e-01 -1.9981036079466172e+00 -7.9870888932818107e-01 +422 -7.4778574585916624e-01 -1.9602799813563382e-01 8.6114429227410982e-01 +479 -9.3347991591468105e-01 2.0101432655632596e+00 -3.4035113691867597e-02 +2209 -9.6536744930610274e-01 2.2770116835858795e-01 -8.0147209263074315e-01 +999 -9.4873254727034639e-01 -2.3636903011677354e-01 1.2545185089050415e+00 +581 9.2128377588545329e-01 3.4461654979275641e-01 9.1655663705584378e-01 +1939 -3.2194552224679018e-01 -6.0397821072334357e-01 -1.1954304053605278e+00 +13 -3.4905302797369614e-01 -1.7505012162382921e-01 7.6504387153591502e-01 +1471 1.8402754733149487e+00 1.2863592557319823e+00 1.4620642594539071e+00 +263 -1.9273270959894437e-02 -7.7828052321432351e-01 4.4741045780734356e-01 +1577 9.3395823124085009e-01 1.2331848077589089e+00 -1.4339448154299117e-01 +2690 -1.0819430709537026e+00 -2.3688250672121153e-01 3.3159445378290447e-01 +824 1.4826009651280772e+00 4.5859681936305330e-01 3.6018936949926234e-01 +2818 -9.0968317863094519e-02 -1.0837109628406269e-01 -1.5878812957013735e+00 +830 -5.8960772870377220e-01 8.6074314846189615e-01 -6.6353715085631559e-01 +1871 -3.8602355107348613e-01 -1.7834458762770919e-01 -1.5807510478730604e+00 +1864 3.0724989076975706e-01 9.1432841787000907e-01 -1.0207902182069575e+00 +2961 6.1044298742877090e-01 6.5108326848486653e-01 1.6026492166474390e-01 +1682 -7.6510400886153174e-01 3.6174252654897515e-01 7.0568878384363709e-02 +2960 -4.0052117926183267e-01 6.9336064593410518e-01 -9.6386853895200020e-01 +799 7.3476857178460120e-01 -3.3354415660651243e-01 -2.0497987972494935e+00 +2595 3.0187959322827806e-02 4.2907010229622589e-01 -9.9978194477216870e-02 +1956 -5.8194328556163272e-03 -4.9590066892012313e-01 5.8656604657843059e-01 +2857 -1.2113600912712479e+00 -3.7606528059734246e-02 8.3860058953513850e-01 +789 6.9777441199042733e-01 1.2070585228006121e+00 -8.9586953475153375e-01 +1591 5.3785413703586404e-01 -9.0827944601540900e-01 7.6416410333012585e-01 +605 -9.5867610688475668e-01 4.1233178787255576e-01 -3.7170000582637031e-01 +2261 -2.1436099163838529e-01 -5.2219339906366447e-01 9.1682815283021663e-02 +1738 -1.8874917322999878e+00 7.4210597228094466e-01 4.6679408435903086e-01 +1737 -3.4639494698559875e-01 -1.2200788120376282e+00 -1.6001686988688339e+00 +1384 -3.4041100395690727e-01 2.6990299612060298e-01 1.1262920294775952e-01 +2509 -1.2748173785631161e+00 2.7628530611030511e-01 -6.7585694181962763e-01 +2048 6.7441455179666454e-01 2.0539328776536284e-01 -2.0239238861336512e-01 +69 1.0145756534663075e+00 1.6795785611491241e+00 8.2184094668549179e-01 +1465 -2.4854011993538652e-01 5.1217018831414629e-01 1.5501308646720893e-01 +2332 -1.0715535198683908e+00 -6.8195445886065675e-01 7.7539527721269641e-01 +2812 8.1539251970995918e-01 2.0159358427147920e+00 -1.2712293789562590e+00 +287 9.2180732600222404e-01 -9.3186636908079001e-01 1.1654146158056511e+00 +1816 -1.1338990346798240e-01 3.1839354009105347e-01 -5.5683835388321423e-01 +565 -9.3401951356445556e-01 -1.3004780792771067e+00 -2.4598216202769005e-01 +2400 -2.8520200358958955e-02 1.4115051082433108e+00 1.0017714658199655e+00 +2864 1.8845494510086298e+00 -1.5411624113022753e+00 -2.2149521051613301e+00 +2463 -4.5988412974725840e-01 1.9177027581599326e-01 -8.7522809956734038e-01 +1181 8.7403114720076269e-01 1.2539138346967977e+00 4.1809564216069001e-01 +254 5.3796293635701808e-01 -8.6633357125414645e-01 5.5913388650556173e-01 +1320 -7.5115326366067359e-01 8.2843093760109432e-01 5.4885575465511682e-01 +1608 -1.7593945199131882e+00 -1.2249116789070904e+00 -8.0881856908727534e-01 +2915 -1.7530249238005169e-02 3.3317920236733128e-01 -4.6213953042720651e-01 +2062 -8.0619135744832415e-01 3.6025977589029018e-01 1.5789061237863524e+00 +2621 1.3151759713592421e+00 -8.8358477484977871e-01 7.2787989682844334e-01 +899 1.6275687877051106e+00 1.0836271302281114e-01 4.3962839857731351e-01 +1668 -1.3155841231572279e-01 -6.1927980248351000e-01 7.1268219067933858e-01 +2545 1.4505267633674221e+00 1.3414772927187795e+00 -1.6828959664984627e-02 +2972 1.0800096732460136e+00 -1.6946188055391338e+00 2.1647394826788311e+00 +2501 -5.7541607358634894e-01 1.1732771866002614e+00 -1.2173225163036765e+00 +33 -5.7237477254192992e-01 -4.5313163896223412e-02 -6.2487400557657190e-02 +1102 5.7946313984139486e-01 -1.4457351890169727e+00 1.2212696964248009e+00 +1961 -2.9109634546011875e-01 4.9836980252778379e-01 1.3902918442426424e+00 +2560 -2.8721364412199129e+00 3.7880120658926036e-01 -7.2189300455389585e-02 +1427 -1.6577720904794802e-01 -5.3186262048375410e-01 3.9354993029658036e-01 +1677 -1.6142810676688124e+00 -5.6973236888537382e-01 2.7070859919954776e-01 +1786 3.7437536019690854e-01 3.6586975806715122e-01 2.4793732190080048e-01 +1501 -4.5582534114667700e-01 -2.5221261447136434e-01 4.8893057978816712e-02 +2992 -3.5083444038522632e-01 -4.4675525127174931e-01 -1.3702284200163556e-01 +245 8.0842974898215081e-01 1.4104002400372067e+00 -1.1251051838495202e-03 +1215 1.7791376408146631e-01 3.8855137342201468e-01 8.4374154372925603e-01 +1678 4.5734221081195547e-01 -4.2243097965867893e-01 4.8779974555100580e-02 +1263 -8.3436893435887705e-01 6.1599328366840056e-01 -1.0551802449037315e+00 +2003 6.5866194511663456e-01 8.1395768247412703e-01 -8.9085053415121362e-01 +873 -1.9332223823490751e+00 -1.6481715277268341e+00 -2.6626179649568433e+00 +2932 -2.6333254060354672e-01 8.9518019656208558e-01 3.6681635719981315e-02 +2303 -4.2729964631106920e-01 1.5936340302924477e+00 4.4663929556068616e-01 +918 6.4607200092469586e-01 1.8748569132442267e-01 1.3403506752884089e+00 +1273 -1.4949224542840462e+00 -1.1597685583297264e+00 1.6461194901456764e+00 +1822 -1.4979489683173914e+00 2.7610971999967182e-01 1.5749859422623277e-01 +2589 -2.6778458800501131e-01 -1.2882618165446653e+00 -8.3375106940456245e-02 +2802 1.3841298260661443e+00 3.7291174777405778e-01 -1.4795947424413591e+00 +2037 -4.7176569011598857e-01 5.0559199226642343e-02 -1.0606256630827688e+00 +1085 3.9361395272042315e-01 2.0065129772018042e-01 -9.1906237953142872e-02 +1290 -3.4152479055574719e-01 1.3936424564299674e-01 1.2154764098902320e+00 +265 1.3994822133328105e-01 1.2967416649451438e-01 -6.1625629915757851e-01 +1808 -2.0543475029794482e+00 1.5672388998207483e+00 1.3976888037297501e+00 +2770 -9.9124739967920494e-01 -2.2676870776609542e-02 5.0618428252823200e-01 +1524 6.4886327000523525e-01 4.1824471973553112e-01 1.8328144780369957e-01 +2143 3.3454216725258001e-02 -1.2458788496900104e+00 -1.0037457160797378e+00 +867 -5.0798342328710699e-01 9.8645026505291877e-01 8.1314536310597230e-01 +199 -1.5702123687696994e+00 -3.4076418443120859e-01 -1.1338052275828903e+00 +2477 1.9118783665678944e+00 9.7937102461006753e-01 -1.1709226715220151e+00 +2626 -6.8098143022127500e-01 -8.1139538185421856e-02 2.0617126943553604e-01 +2988 1.0689277304418485e+00 -6.2281656079815972e-01 1.0930695967371740e+00 +232 -4.2115572602060877e-02 9.0070163049447771e-01 2.9462771158520806e+00 +2357 1.4627778335974755e+00 7.1921429774836398e-01 -1.9085604965173830e+00 +2672 7.4434941479153938e-01 -4.1911128971253025e-01 -1.3507832472703467e+00 +1736 -3.8305353539033449e-01 8.3967030038561163e-01 2.7437541565069008e+00 +2360 -8.1200196973446959e-01 -1.0537112382001987e-01 -1.2185190791453384e+00 +2300 -1.2668786097958731e+00 1.3698735937365110e+00 2.4817769196673001e-01 +249 -1.4487888341721313e+00 -9.7001948122040355e-03 1.2061403976239289e+00 +345 2.1377120500924274e-01 -7.8774266850797658e-01 1.0336845846207254e+00 +43 -1.6460289221012414e-01 1.6635316862634106e-01 7.9227336164070183e-01 +967 -2.6520343829685084e-01 2.7292669124982494e+00 1.4397657651919833e+00 +457 3.4873265722940533e-01 2.1552413566655729e-02 7.4436455955602365e-01 +2295 1.3144455383204476e-01 1.6984216313347011e+00 -1.1795754071643414e+00 +1921 1.9572054186939474e+00 -1.4108324527444516e+00 9.0474624635682832e-01 +2217 1.6460592673830694e+00 -1.0710302059517138e+00 -1.3035761918196234e+00 +1588 1.1189610285546003e+00 3.5363542283969995e-01 5.2916118278896951e-01 +2480 -8.3665685574549309e-01 -8.3533305889576581e-01 3.7529273603720303e-01 +935 -1.0364683707348381e+00 1.8452042238018185e+00 -4.1051901959887938e-01 +290 1.7831083912594343e+00 3.6233997863429113e-01 4.1375160272179362e-01 +2290 4.6078913140404237e-01 3.8790954352256907e-01 -3.6104150424017079e-01 +1182 -1.2397460991231317e+00 -1.2575257188840623e+00 1.4946291007065133e+00 +1600 -1.3849809714130281e+00 -3.1016241753956403e-01 -3.4019139687917921e-01 +2207 -1.7025985642821129e+00 1.6395592250764215e+00 1.2290444840406509e-01 +876 -2.6016203303620045e-01 2.0896548960209862e+00 -6.7173313884957864e-01 +1506 3.2224970060021318e-01 7.2759133633348583e-01 1.2478260729367736e+00 +1602 -6.1679800913145497e-02 6.0978199753289930e-01 -3.8170393712599043e-01 +144 -1.8751975621033798e-01 -1.2717008716338916e+00 9.7097245645659602e-01 +19 1.1777912014587795e+00 -8.0518065223303670e-01 3.6346516044713650e-01 +1380 -1.4507548146663490e-01 -1.0485677359896921e+00 1.0774616527947716e+00 +1988 1.3521646158640610e+00 -1.4026886281376549e-02 -5.2591672826309588e-01 +2257 3.3513854638611190e-01 -2.1087897020175945e+00 -8.6301775390865199e-01 +934 -8.8289066547197326e-01 -1.7211699949857676e-01 9.6872066996795902e-01 +187 4.7542746439891703e-01 2.9203612490005082e-01 9.1501517368893270e-01 +1949 -4.7140210233914848e-01 1.2634104193899851e+00 -1.0371661412320909e+00 +854 -5.8833136146831277e-01 1.7823713046406733e-01 1.3346805808328384e+00 +2093 8.8112247228653096e-01 -1.5813807953511100e-01 -2.3472403437493139e-01 +2253 -2.0879405937418496e-01 4.8602571967493430e-01 8.1991142356862423e-01 +392 -1.6020912122108114e-01 -6.5209422774164005e-01 -1.9100564626811536e+00 +250 -6.1633433529541626e-01 2.1902488098775676e+00 8.1631981829823708e-01 +2029 -6.2746273739068015e-01 8.2330357928026920e-01 -3.5376144791226155e-01 +2006 2.5533038571674699e-01 2.1927251601305504e+00 -9.4578471697033850e-01 +424 -1.3972608838460239e+00 1.0172678379259725e+00 -6.5938209816331872e-01 +1352 -1.3228269510943640e+00 -1.0471795244532232e+00 -1.3395495518552321e+00 +2361 -5.3263395608312081e-01 2.1348292896665493e+00 -4.7593985564661240e-01 +2109 -1.5250410057208497e-01 -3.1016117970316837e-01 -1.7401734844629499e+00 +2358 1.2658230144893925e+00 2.7642874012417340e-01 2.9775719447231733e-02 +2181 1.0344781427251841e+00 -9.3789097421208079e-01 4.7327200957039267e-01 +1002 2.3014447928257638e+00 1.3996932171220750e-02 6.1402222333616674e-01 +1132 -2.5655709384739898e-02 6.7549453985616792e-01 -1.5197488828562589e+00 +2170 7.3728748888146534e-01 -1.1557421296260515e+00 1.1102235261644644e-01 +1803 6.2362406933848369e-01 -4.9215027427720059e-01 -1.7499725481228650e+00 +2550 -7.6036189462404014e-01 6.8910664139546163e-01 -1.3834161155677365e+00 +2537 2.6151482150929362e-01 -2.9259628733753712e-01 1.6808832079337910e+00 +53 1.0225824841876689e+00 -5.6163489623198093e-01 1.6404970771000253e+00 +472 -1.3461895741054704e+00 -2.2670712612677638e-01 -1.8665247958037059e+00 +233 2.3140665969263996e-01 7.3352015128086345e-01 -8.6149572930420715e-01 +2164 3.1195637348457150e-01 2.7882361946785008e+00 -2.0891151974286037e-02 +1823 6.8114063339382047e-01 -3.7903542439514498e-01 1.1082372979447808e-01 +2031 -7.8416287372142146e-01 3.3307801520676555e-02 8.5344980762197098e-01 +525 -2.3864548845555034e-01 -1.4147680434633471e-02 3.3327722875230648e-01 +1527 3.9292363767001143e-01 -6.6522540319830048e-01 -8.1850049752756027e-01 +1129 2.2197970165244382e-01 7.5226391939621373e-01 -7.1936394604783993e-01 +405 -4.3463055499376457e-04 -6.8830047768700997e-01 9.2534521252129809e-01 +2440 -1.4803968025518566e-01 -3.3547153918918704e-01 2.6006236020004136e-01 +268 -8.9258942790660201e-01 -5.1977496325811989e-01 1.1990120925981229e+00 +1664 -2.0251045888536625e+00 1.2641347066857175e-01 5.2785556959553233e-02 +2755 -1.2348919633991602e+00 -2.4264869641189044e-01 2.3165130095084224e-01 +2445 -1.0715674578254800e-02 6.8300936693695491e-01 5.1207501382617565e-02 +1710 -6.1227120006186164e-01 9.8015936674460469e-01 -1.3530327067950257e-01 +1936 -1.7609527977971051e-01 -1.8284812240037462e-01 -2.2121194529186897e-01 +1869 1.2446653275505021e-01 3.2191628952227036e-01 1.0510106952806346e+00 +2391 2.6851648074380469e-01 2.4108127654444786e-01 1.1963980131847900e+00 +2439 1.7246825756564781e+00 2.8184373357079501e-01 1.1750021266645141e+00 +882 -2.7000042465965390e+00 -6.4593672480339856e-02 5.1450725302477940e-01 +795 6.7857474544168395e-01 -3.8220409457904991e-01 -1.3781101129903204e+00 +2867 3.8701203296121739e-01 6.5397706685474766e-01 -2.0606037228546894e+00 +840 2.7185843058410977e+00 3.9876984544055361e-01 2.7854444122078875e-01 +928 9.7046685332788196e-01 1.0294699241861223e-01 7.9114610645282402e-01 +1099 6.8011700014994636e-01 -1.3180463941794993e-01 9.4618902645145142e-01 +1894 6.4581847429391659e-01 1.5040673841132903e+00 3.6179920270286797e-01 +837 4.5646922288530056e-01 6.1084210642032288e-01 -8.8174010891849164e-01 +2863 -1.4384457817555729e+00 -1.0100403164631369e+00 5.3164174017656551e-01 +2977 2.1046102709307406e+00 1.1548132394997052e-01 -1.6653649283456520e+00 +171 -9.9799893527083450e-01 -5.7742466820285077e-01 1.9097748560287908e+00 +2619 3.0148292992525971e-01 -5.4022452450619829e-01 -1.3061628969382477e+00 +710 9.8794135285017692e-01 -5.2670254719402421e-01 3.7670540387702905e-01 +1872 2.1448753393375233e+00 -8.4914808720708979e-01 -6.7371195731706490e-01 +1969 -7.4207469972298912e-01 -1.6216616572462057e+00 -5.1413016041311133e-01 +2566 9.1030411558215918e-01 8.8042526235734941e-01 -3.3569439670550413e-02 +738 -1.5480598605849738e+00 1.8340890014605435e+00 8.7311858779751561e-01 +861 -5.8339461305477402e-01 5.8990218692498897e-01 1.0125267633529849e+00 +215 6.9184688691413543e-01 4.6375903046289269e-01 -1.8573147685361215e+00 +2356 -6.8533400768951114e-01 8.6730459975929264e-01 -1.3138063096802317e+00 +2176 -3.1455530500752760e-01 1.4907121436294046e-01 -2.3479220896781170e+00 +1286 2.8415738175274896e-01 -4.2291170759701896e-01 7.7792967587976669e-01 +1351 -2.4070709791058895e-01 3.2313492500967250e-01 -2.2906697182156172e-01 +2631 3.4177386426675421e-01 -1.0660122399260237e+00 8.1026650021631985e-01 +2378 -3.2358931929044418e-02 -2.9358002223876584e-01 -4.8557613258997651e-01 +434 -6.9260469307620670e-02 -1.1185161889397695e+00 1.8865530287999893e-03 +2425 3.8105925522744061e-01 1.1004469162773698e+00 3.1316809083259295e-01 +2004 2.2555773510568122e-01 -1.3746381747651026e+00 1.8262514396700535e+00 +1021 7.4312867409984684e-01 -4.5730494253395249e-01 1.2309664731401495e+00 +2260 -1.6812800127648437e+00 -7.2379284020003198e-01 4.6820977534831265e-01 +2788 -1.4108941314864509e+00 -3.2338121503493134e-01 8.7354960253144209e-01 +1440 1.4902607659344980e-01 -7.7662415794201889e-01 -2.4999343326838119e-01 +2777 4.4622968974974303e-01 8.8811142193844728e-01 1.3723896514993623e+00 +1457 -1.6657241278846138e+00 -1.8226943403781446e+00 -9.3266071872936496e-01 +2859 -1.2535548498874036e+00 6.5893169354553027e-02 -9.5426508397429810e-01 +762 1.1338297038962932e+00 1.4193771633807188e+00 -1.1266300643115317e+00 +1152 2.2504787729299952e-01 9.6729660885801250e-01 6.4192478099090489e-01 +1437 8.8857036743994211e-01 3.5413796804230846e-01 -1.2745701448988556e+00 +2713 -7.4884816717409819e-01 -2.7302178420952855e-01 4.1217878732342916e-01 +2696 6.2761555879136244e-01 5.0214354054503496e-01 2.7740203483363424e-01 +1562 1.0003710891252393e+00 1.2813154908152955e+00 3.9099160448452031e-01 +2064 -2.8495451308829645e-01 5.7673268560919511e-01 -4.2230464215993158e-01 +647 1.1007877551788250e+00 3.8797989622188717e-01 -8.4074578305560632e-01 +2970 1.7767772784906442e+00 -4.9830998213576788e-01 -3.5688523097174507e-01 +2903 6.1095988004967250e-01 7.0068298952358909e-01 -6.8639268414040289e-01 +2806 -1.3864539708656038e+00 8.9579736237003355e-03 9.8976874958303307e-01 +2399 -1.1524929849189545e+00 8.1119049903442153e-01 1.1169419976142398e+00 +509 -1.0883601748178702e+00 -2.9932709883731623e-01 -7.8785362399798931e-01 +1136 -6.0006467267644670e-01 -6.4699369994971034e-01 -1.5095007190137610e+00 +2228 1.9446222485172179e-01 -2.3494553491646788e+00 1.0870347723205183e+00 +1642 1.0739389427193140e+00 -3.1857351896748609e-01 -1.4091621445790770e+00 +1319 2.1209568707242132e+00 -6.8730194165611685e-03 2.0144816961464174e+00 +1520 5.3931315621065168e-01 1.1372656713591984e+00 5.2343010141844537e-01 +1574 7.7876400166687579e-02 9.9481001337825181e-01 -2.3408727362510047e+00 +2524 6.2767978729285190e-01 5.4193561191331652e-01 8.1609720350830439e-01 +2856 -2.0086596838009729e+00 1.3947575645585131e+00 -5.1864922567543836e-01 +1982 -6.7547044132137163e-02 -6.5448040361370174e-01 -5.4225614884141582e-01 +2939 -1.0355648498203629e+00 -1.7287936457991631e+00 -2.3217495598676168e+00 +328 1.0025635852989624e-01 5.7693787692275389e-01 3.5383583564016441e-01 +1661 -9.2147560143087770e-01 -1.1325702418840808e+00 -5.5753989445738450e-03 +658 5.1174362750372904e-02 7.5569570427860344e-01 1.6002282918329274e+00 +2533 5.7609096008984673e-01 -1.0025254259447711e+00 -1.2739954945422975e+00 +1248 -3.0806494351237164e+00 1.6839987299465451e+00 1.4448884361513220e-01 +1663 1.4402718058535708e+00 2.9220976515649000e-01 -3.0503044812231572e-01 +1142 1.5066177222333625e+00 4.8981106984179823e-01 -7.0663325918331132e-01 +1175 8.4538989513890239e-01 9.7842549340289009e-01 -4.6393595381085811e-01 +2421 1.9194248276003079e-01 4.4390151753055901e-01 1.1945388921330127e+00 +2659 5.1938600847238781e-02 7.4014874892715132e-02 2.5178427127581773e+00 +634 1.5283140135580315e+00 -5.1243245711743324e-01 7.6525387592399596e-01 +2710 -2.8166845388405806e+00 -7.7290516975252965e-01 1.1218609759101426e+00 +2341 1.0784275132268188e+00 2.2520144256696389e-01 -1.5460519391650649e+00 +583 6.8116403196185427e-01 1.5690278418905603e+00 -1.4512624944689215e-01 +2754 3.4532692014750677e-03 1.5546416951724280e+00 1.7210705829324213e+00 +1163 -1.5742882523465768e-01 -4.0356454721886564e-01 -5.1431407009617691e-01 +2314 -4.0842523597725139e-01 -8.5292918738939028e-01 5.8373338469285552e-02 +1172 5.7696658787185440e-01 5.1657550447410294e-01 -1.2744204506421255e+00 +1625 1.3900962103790127e+00 -7.0945650791048043e-01 2.5094874410968284e+00 +1204 1.7874506791812184e+00 -3.1867071872335484e-01 3.5451883061040146e-01 +2705 -1.7448465919633069e+00 8.6085938188183397e-01 -2.2546829271961724e-01 +706 -8.7690228866224840e-01 -1.6069745513531448e+00 -7.1606328600878932e-01 +1419 -7.0945877867587559e-01 3.8515358478778949e-01 1.8801666995181110e-01 +1752 1.6785692583697343e-01 -2.0907647215816927e+00 -1.3489285061439955e+00 +2783 4.9863694972191025e-01 3.3270013791054148e-01 -5.1510096931474147e-01 +2968 2.1673814302378980e+00 -5.3078449815825979e-01 -1.6234945156148115e+00 +1222 1.4155893359777014e+00 -3.5024134218131620e-01 1.6847517890031611e+00 +2678 5.0150359678895562e-01 2.1220751111917510e-01 3.3170499125432462e-02 +538 -8.9551018404842841e-01 2.1829409087557226e+00 -2.9707251302762400e-01 +482 -6.2056929637983438e-01 7.0510888008252248e-01 2.8516767300701762e-01 +2544 -1.5471301905727328e+00 -2.8107750608517412e-01 -1.2801530111607040e+00 +2548 -1.2499540579985038e+00 -6.8672559617992335e-01 3.8421684015874141e-01 +352 4.2293423980735989e-01 1.2939050053901977e-02 2.4129060069168670e-01 +1315 -6.9592633684633781e-02 -1.3339732045825854e+00 1.1470634348128650e+00 +1018 3.3653807550841663e-01 1.7514421229621309e+00 9.4446288294717429e-01 +1187 -1.2658522451871148e+00 4.6956622645846779e-01 -3.2836213652111901e-01 +1516 5.0665435878069742e-01 1.1326373265102114e+00 8.4028777567104385e-01 +862 2.0680300727090266e+00 -2.3338655109366183e-01 1.9124391300533103e-01 +2155 1.6023160987154572e+00 -1.4066492585689405e-01 -2.7544572769443149e-01 +2772 -6.2681182913138858e-02 -1.9822641986407372e+00 7.2785064535882316e-01 +2698 1.5814082589326994e+00 1.7747344708161841e+00 -1.8729046982229763e-01 +205 -1.7342275305054311e+00 -3.1158241253910840e-01 1.9900325276740596e-01 +221 5.0814774435625842e-01 1.7597792327208996e+00 -1.2247545791036996e+00 +110 3.7220244967731508e-01 1.4971274979177387e-01 -9.1438441298939466e-02 +2649 1.8895489747626608e+00 -5.5517067572359979e-01 5.6017634008005905e-02 +591 1.1678058553423585e+00 8.4970195740719290e-01 4.6711234518520833e-01 +1069 1.3582786368822872e+00 1.0890007800689878e+00 7.6347507749399401e-01 +2751 2.8566787351563538e-02 -1.4907723957640382e+00 -1.3078284279029220e+00 +1887 4.3346324138133663e-01 -1.4630551232253004e+00 6.3227961604552096e-01 +2964 1.5586055553943596e+00 -5.0858334138981470e-02 -8.8675950052694086e-01 +1666 1.6520703937645447e+00 -1.1690318227597347e+00 2.2043695750141892e-01 +2259 -4.8120051769564026e-01 -3.1803652265767193e+00 9.5648569873897560e-01 +445 -5.3739427852929822e-01 -1.0567296296752469e+00 9.2881000046306328e-01 +2862 -8.3580063194062371e-01 -5.7585379083658461e-01 -1.3238038421371472e+00 +1200 -4.9396680835392109e-01 -7.0732915736101287e-01 -4.2714412704702998e-01 +2503 -1.6557837055970659e-01 -1.7521523353604218e-01 -8.1922226748263793e-01 +1376 -3.0582801057611858e-01 3.4961762229073423e-01 5.8627828724995368e-01 +2082 1.4139123951207220e+00 1.2792579227269349e+00 1.1922615120969164e+00 +2810 -6.7735913244410495e-01 8.4779666704953467e-03 -1.0409357179188248e+00 +481 3.4645632158293599e-01 -2.0056261734492847e-02 1.5567176706963318e-01 +2419 3.6110045409531294e-01 7.6971216388351738e-01 -5.8159648930473984e-01 +2828 -3.3750520681254292e-01 1.9137606343459562e-01 1.1283332467078040e+00 +1821 3.6889738581758003e-01 -6.5950737582020114e-01 2.5842785198756846e-01 +1536 1.8175347698104821e-01 -7.5892827029713306e-01 -2.3710947211069119e-01 +562 6.0952679407558197e-01 -5.1811828136933724e-01 4.2705948233702867e-01 +521 -4.5117721289106932e-01 -1.2487922782614139e-01 8.5519434949230011e-01 +58 1.6399500634041255e+00 1.8349371989792884e+00 -1.5188129677773197e+00 +776 4.1661055705206246e-01 2.9477822170956325e-01 -4.7802816305920745e-02 +303 -1.5840570194282483e-01 2.0763065328169295e+00 -1.4237558702601623e+00 +2039 -1.6832861619469974e+00 2.1207553046092293e+00 -2.1022270856827804e-01 +1612 1.5744200002427624e+00 -1.2241358306029071e+00 -8.8434473900684007e-01 +785 1.1782114660513918e+00 2.6055955259612520e+00 1.6340869252239296e+00 +2121 2.1710717993071458e+00 1.0912239611420358e+00 -9.8558154644701068e-01 +1778 6.4230335128776184e-02 3.9712196455529636e-01 1.0863222348562283e-01 +816 -8.1725926154738548e-01 6.5767676579811118e-01 5.8424042911514262e-01 +2370 8.3656408554457895e-01 -2.6077423744478107e-02 2.2250480433795294e+00 +788 2.7146695934772890e-02 2.8117020991516756e-01 -1.0177193950531271e+00 +2032 -7.4840015602748233e-01 5.3866231701238476e-01 -4.6631080073965048e-02 +2127 -3.9680662364553043e-01 -5.2189139782244087e-01 -9.2588497864278807e-01 +1276 -8.9196220524976899e-01 1.8171320196406371e+00 3.9051973540547541e-02 +2872 -2.1166869169769362e+00 -5.3282142194446569e-01 -8.3138254513737730e-01 +1469 7.6043080147253184e-01 1.0211501872667426e+00 1.6638213952105523e+00 +577 2.7710215572307365e-02 4.7597988892078980e-01 -8.8094622816236168e-01 +2068 -6.1218806522799141e-01 -9.0790614102147371e-01 1.2418506191808645e+00 +340 2.1154447069967461e-01 -9.7702138790745074e-01 1.0047261394049172e+00 +2152 -1.5822472035907105e+00 -1.4118425089413762e+00 -6.6208275420363571e-01 +370 3.0030385406734467e-01 1.6508806688509392e+00 -1.7709541447349414e-01 +2413 1.7232375256757566e+00 -1.4695989358884781e-01 1.0914162724827179e+00 +1388 -3.5375264140148854e-01 5.1742614898577621e-01 -6.8504715354822954e-01 +2993 3.5716318218383852e-01 8.4261196966264340e-01 -5.4173206011010389e-01 +2496 -1.6230154668859789e-01 8.0618558924957873e-01 2.6017890334850052e-01 +2232 1.0062973969694842e+00 5.9949411166433353e-01 -9.7813230826120123e-01 +2600 -3.8910912547609644e-01 7.5008406723918442e-01 -4.7914964128475263e-01 +947 5.2413930227441632e-02 5.8512350670073321e-01 1.2081682764630703e+00 +974 -1.4095145434603129e-01 1.3311790198508722e+00 1.3033335346537149e+00 +1892 3.2668887967084381e-01 2.0326431040349426e+00 3.4909394881347705e-01 +507 1.0390039730724463e+00 1.8672883762111042e-02 3.3926713906564132e-01 +674 3.2274503305952290e-01 -1.6531869513354092e+00 -1.5585130765817008e+00 +1045 5.6081991672179032e-02 -9.0804863555345472e-01 1.1045669209467477e+00 +1499 -4.5207674065138281e-01 6.2807237268612903e-01 1.1261666221833808e-02 +2871 -8.0682328674596770e-01 -2.2010652426565819e-01 9.3062640854086387e-01 +1862 -8.5792536397430330e-01 -7.0554848169526885e-01 -1.0469043224124283e-01 +1292 3.4985585587744344e-01 -1.0955949248619562e-02 -4.7639266242345174e-01 +124 2.2300495728489578e-01 1.6111573558083511e-01 -3.0521902933038791e-01 +1114 1.5041612448261641e+00 -7.5656399017958642e-01 2.2695491788321314e+00 +1566 1.5283858092972452e-01 -1.0416578195730133e+00 1.0530273487078334e+00 +960 -6.1230350578208381e-01 1.8127771156080907e-01 -8.5292333381032104e-01 +1532 -7.8527973105231619e-01 2.4122381030342144e-01 -9.0073421196473769e-01 +2883 8.3976795403186810e-01 1.5884022577990138e+00 -9.2040613903320956e-01 +542 -1.1786177784901122e+00 2.1886461270923660e-01 -2.0145895006794784e-01 +1226 -1.8940074796001996e-01 -2.4463397093388195e-01 8.5295678288813279e-02 +889 9.1910621261333103e-01 1.3692697231004418e+00 3.8158023120390927e-01 +2910 -1.2342515968988765e+00 -1.4615111270470853e+00 7.8369244178805153e-01 +1137 1.1536708298432490e+00 -1.0725079159528079e+00 -1.3486315153522386e+00 +800 -3.2293971878886180e-01 2.1531888081369468e+00 1.3397464709451770e-01 +904 -4.3362032195918099e-01 4.9662031723816613e-01 2.4270249113226214e-02 +1895 6.4630668840006544e-01 -2.0979924573338571e-01 1.0117060778531475e+00 +522 -1.3815164733923802e+00 -2.8268350496494343e-01 7.3663515730638743e-02 +1230 -2.2073101674529823e+00 -2.3007643662287158e-01 8.0614328504465649e-01 +897 2.9767270481767993e-01 -2.2426533288571098e+00 1.0631516728583552e-01 +2604 -1.5066882873742733e+00 9.9324433647027299e-01 -6.5023625338584268e-01 +923 -5.2569764654169038e-01 -1.6039286437844424e-01 9.1094411321065216e-01 +301 -3.5548529085826946e-01 1.8436355498575041e-01 -2.0128108284199429e+00 +2025 -8.4712940957314853e-01 -3.4580946913567279e-01 2.5739632191151812e-01 +1884 -4.0409389072870883e-01 -8.4486795117421659e-02 1.5249176738037675e+00 +2140 -1.5047822160103328e+00 -1.5880999728846945e-01 2.1832217661937772e-01 +1253 3.3993088404557842e-01 -5.8423344413259704e-01 1.3503208520960841e-01 +2750 1.0240301138584749e+00 7.2381704582219131e-01 1.4622014277425441e+00 +1722 -1.8603627599101527e+00 4.0308819969214493e-01 -1.2441951223735352e+00 +2423 8.4928544749204904e-01 -6.3005609150923375e-02 8.7984212854057997e-01 +1653 6.1209717961888288e-01 -7.7519505510236542e-01 -1.9332663369759973e-01 +1676 2.0634185283615389e+00 -1.2270125835045953e+00 -1.1529997173514877e+00 +2602 -1.0031881188098810e+00 7.9700097116892510e-01 1.0906747971204687e+00 +15 8.4132064136504425e-01 2.8074537507785435e-01 1.1425380633162852e+00 +1223 -5.7359414783312135e-02 -5.9915768868397712e-01 8.5677382797427429e-03 +2467 -4.6951761179043217e-01 -1.4064764580442572e+00 9.7053044388003762e-01 +2892 4.8284897869280846e-01 2.7552399339356803e-01 -1.3665325921847575e+00 +223 1.3640879450755137e+00 1.3722078510071010e+00 3.1805034581326974e-01 +61 -5.7664046621204990e-01 -1.6732881001132704e+00 1.2570785895842880e-02 +1729 4.4440466031429110e-01 -4.4602213685291514e-01 2.5412415192377491e+00 +1210 3.3553910500064857e-02 -1.7831997399127753e+00 1.1070735962591196e+00 +475 -2.6427155379046691e-03 -4.1788043275961706e-01 2.9508920003855590e-02 +2256 1.5868233012664837e-01 -6.1983694180532978e-01 -1.1195888342544154e+00 +2001 2.7003006040001160e-01 5.6888302945040792e-01 4.8121245985008693e-01 +1306 5.3856552103685829e-01 -5.5598672482808886e-01 1.9220898694050623e+00 +1950 -1.1512650168226510e-01 4.9359951869747731e-01 3.4842762466203703e-01 +2204 -7.8733481133059124e-01 -2.5003257194815820e-01 -7.1674965986129746e-01 +2971 1.4664437651147515e+00 2.3822735805028170e-01 -1.9399791718114889e-01 +790 -2.0095461673836756e+00 -5.8116418701512207e-01 -1.3103212543832810e+00 +1693 9.9500552339096521e-02 1.1884106766167546e+00 9.7536104078852637e-01 +1544 1.5992475706718992e+00 -1.6804398707573420e+00 5.8572835832412073e-01 +501 1.4006915518156712e-01 1.5584457097496793e-01 -3.5588349409910391e-01 +412 1.6560385072646266e+00 8.7817984289310458e-01 -4.2691560155131048e-01 +2742 -7.0256555097599527e-01 -1.3055107451670906e+00 1.0012649847320032e-01 +202 1.3474928588054669e+00 -1.0159928633467294e+00 5.9875018849632999e-01 +1485 8.6149796886785313e-02 2.0910817491245029e-02 -5.5460050960497431e-01 +2407 2.7054060578873418e-01 6.4441474499114704e-01 -4.3898917306681895e-01 +995 -1.5054063789748657e+00 -1.1748905650087564e+00 -2.2084129775319994e+00 +2422 -1.3070923198642401e+00 -1.1993277389722339e+00 -4.9866281287603363e-02 +718 3.5951024203654297e-01 -3.2475717600384375e-02 -2.7491648447361499e+00 +1300 -1.2413357510780492e+00 1.4381690931545386e+00 2.0417493503294972e+00 +2581 7.1978594597177370e-01 1.6956221152432811e+00 -7.4571721119402828e-02 +2648 5.5686757453903835e-01 2.6525829712039506e-01 7.7467662825701156e-01 +2302 1.0460507386104585e+00 -1.7277603409056412e+00 6.7419970854754840e-01 +514 -2.1107964203737861e+00 -1.0447409780433337e+00 -1.9419904374478651e+00 +1060 -1.3227041011796703e+00 -9.8877971534891052e-01 -9.8030355538500380e-01 +865 -1.8191756371587642e+00 4.3764726927894776e-01 -9.9999081787227706e-01 +2736 4.9948267297620996e-01 -1.6955691910416644e+00 4.5565567970126192e-01 +1331 -2.0057415110761365e+00 -9.3685427758241835e-01 4.7528896348041760e-01 +2598 -6.5452563726177981e-01 9.5721911390087444e-01 -1.9966507953426245e+00 +2430 -1.9087990470630350e-01 3.3809377840924981e-01 -6.6863998440031480e-01 +2050 -1.7308532078102790e-01 3.7614578906993662e-01 2.0649403080573334e+00 +375 -1.0385896969466741e+00 8.5486909411537682e-01 -1.8959784967007165e+00 +2022 6.4831279592845237e-01 -9.9085347228326537e-01 -1.0332789604652104e+00 +927 2.2442471313643150e-01 -5.4214534338452913e-01 1.9538279454712024e+00 +1920 1.5815547446839815e+00 6.1165062626404143e-01 2.7152842121919257e-01 +2647 -1.1883373123439367e+00 -1.0447078687421771e+00 -6.3882308752857631e-01 +1346 2.6330939929402182e+00 4.6118285690071026e-01 -8.6747107660701303e-02 +2416 1.3719615356067980e-01 4.9082368321797791e-02 -2.3451947269328173e+00 +1687 -2.5683707250314325e-01 6.9139322335389197e-01 -1.2498122736840092e+00 +695 4.0051877759960153e-01 -1.7324089737638044e+00 2.2844426032157622e-01 +2552 3.3379281855957788e-01 2.5381261504318609e-01 -5.3318937065819250e-01 +2401 1.8243289762779427e-01 7.2159563549080608e-01 -8.5602980270126039e-01 +2415 1.4637813565621207e+00 9.6525488935385728e-01 6.5050935794373832e-01 +682 7.6320947977153297e-01 2.0295136780809577e+00 1.4631600583701352e+00 +1564 1.2510561564122504e+00 -1.2013157396737166e+00 9.6927989016962590e-01 +1497 -6.9018907841075783e-03 -1.5500566446511994e+00 9.3143993088425214e-01 +2625 -5.8925267131304193e-01 8.4999063280298950e-02 1.7556102311109152e+00 +832 -1.3158289874539215e+00 -4.3327227512375044e-01 -2.6173486231643356e-01 +1278 -5.9811012193899782e-01 6.4839499233311637e-01 1.6663795188561867e+00 +850 8.3876092148481618e-01 -4.2438057591727651e-01 1.6141032680227108e+00 +420 -8.1349069866998103e-01 -2.2632866325309897e-01 1.3900677411287404e-01 +2895 -1.0974486525170175e+00 1.4645892049886908e-01 -1.3978856602798542e+00 +523 -7.5371097893727534e-01 -1.8876759178973530e+00 4.6521002630889963e-01 +1393 -1.3785139212041693e+00 9.0389712222182494e-01 5.9052901299479732e-01 +1227 -3.2584830729709613e-01 -8.1527474865719807e-01 -8.2966629093159527e-01 +714 8.8229099248251874e-01 2.8797477058161824e-02 1.9413818524527321e-01 +2514 -6.0159292076696480e-01 -4.2748295228790684e-01 2.5290193080202350e-01 +2088 -4.9241387669927467e-01 1.0076784092335583e-01 -3.1156875697772102e-01 +1447 7.3585208576906125e-01 2.1777256222084490e-01 4.7149366709929219e-01 +468 -1.6492946918497042e-01 -8.8022789952267544e-01 3.8483619912380007e-01 +2519 5.1738593618710360e-01 3.3061835086580460e-01 6.4484059254601822e-01 +1371 4.0084723142682033e-01 -4.3976503477369366e-02 -3.1853139292381571e-01 +1553 1.0919228684765423e+00 -2.3212300654136531e-01 2.1412085125959912e+00 +588 -2.0079763481153674e+00 -6.7265580118599066e-01 -1.5155762088369673e-01 +2289 -1.2554430832082648e+00 -9.3744418997284695e-01 3.6437810559865841e-01 +2466 -1.0788065698844349e+00 -1.1213692362078524e+00 -1.6913668487732034e+00 +701 -1.4977309396806782e+00 2.5615413706377471e-01 -7.2936214920669062e-01 +2114 -9.4573976607981614e-01 6.9401803418133146e-01 -1.0835219896509558e+00 +246 -1.1052079679626754e+00 7.5719156492088269e-01 -7.1332176895372523e-02 +2216 -2.3187752108705356e-01 3.6104424243751787e-01 1.9636209863895333e+00 +2912 1.1205713556377770e+00 1.1139219177578725e+00 5.6636439097420277e-01 +1804 -8.7474061608586118e-01 2.0090968255208569e-01 5.2719340218762645e-01 +1986 1.2731794573091733e+00 -8.3856061539405136e-01 -5.6562863928498186e-01 +708 7.5751716083043918e-01 9.9274190022716091e-02 7.4273588830773687e-02 +1509 -2.1814326002206363e+00 -2.5366597925498174e-01 -9.8926180936223673e-01 +312 -6.3999680110634516e-01 2.3636719376065946e-01 -3.8811772708371224e-02 +2438 4.9841539291175735e-01 -2.8966261785741093e-01 1.2892657252254838e+00 +1914 1.5071883852315116e+00 -2.3187790934090304e+00 -1.0104771976115485e+00 +2836 2.1394974351043272e+00 9.7212573563948901e-01 -1.5197787756569510e+00 +77 -6.1001743898955740e-01 6.8265960238316015e-01 -5.1376552709643342e-01 +2956 1.7545614039078008e+00 7.9599105671820869e-01 -3.7840158336889995e-01 +2984 3.1095199343203356e-01 1.5774499834882805e+00 -2.5798207542179175e-01 +1431 -8.4844715767029644e-01 -1.2406152103157382e+00 -1.0392293285392717e+00 +96 5.4830510572900726e-01 7.3790870774224859e-01 5.8340639241111292e-01 +2076 -1.4790973059127426e+00 -4.7466890783873950e-01 -1.3982357978549509e-01 +436 -9.3611798228408571e-01 -1.5634766983311549e-01 -1.0614242394540876e+00 +1546 -7.1901822451048436e-01 -9.5391743663202500e-01 3.3871362203508409e-01 +101 -5.7506648027406237e-01 -1.7509360833179390e+00 -1.2670589428251566e+00 +1646 -7.3566348506538537e-01 8.2009915385576782e-01 -2.6030642284731217e-02 +400 -2.2417264812267290e+00 -8.6727743059424134e-01 4.0976891715443253e-01 +1000 2.2121707918467437e+00 7.2717652916939579e-01 7.0394124176546113e-01 +2331 6.5445621103937146e-02 -9.7340120681221842e-01 -9.2446874333055290e-02 +190 -1.5144969143435683e+00 -9.1262383811229664e-01 1.4363411580908352e+00 +2252 2.2766728113760100e+00 -1.0034235451320970e+00 1.2546288382666496e-01 +1853 -8.8721184941527775e-01 -2.1241539502692114e-01 1.4883233146719697e+00 +2080 -5.2093514172208444e-01 -2.0984882714739825e-01 5.0672043634955685e-02 +2908 -5.2475422334676713e-01 -2.7787845436431224e-01 9.3061625492414146e-01 +570 7.8659007835350758e-01 5.8283852719170637e-01 6.2003911114003396e-01 +1909 9.5925286659219261e-02 -1.3632803778374047e+00 -7.3918720719878733e-02 +2273 9.5708634350376076e-01 9.3290057637800600e-02 -8.5076422809491981e-01 +1829 1.2645555575111065e+00 9.0979856185938823e-01 4.0038264283177549e-01 +906 3.1673827072007660e-01 -2.6301700697870195e-01 -2.1631261550632197e+00 +1696 -2.1139583517941229e-01 -5.9460598644335128e-01 1.7393767458403292e-02 +556 1.9595835448025800e-01 9.7471143507689051e-01 -1.5032821057605064e+00 +586 -1.0541237949510489e+00 -1.3740838569101794e+00 -2.9178963286864501e-01 +1308 2.3749918766390263e+00 -9.4726938239229774e-01 1.6940258835025035e-01 +675 1.3776047588890135e+00 1.2214450970412079e+00 -1.3795272165763424e+00 +1463 1.7702337468066981e-01 5.7276975173495792e-01 1.9034705535707892e+00 +1832 6.9695526116503792e-01 6.8004100044638716e-01 -5.8889752510060989e-01 +572 1.6266043737400135e-01 4.6438851377732759e-01 3.6487453819088511e-01 +1270 -1.2953909455770893e+00 -6.3500841993099288e-01 -1.5920462091623857e+00 +922 -2.8699371471599022e-01 5.3670596624835221e-01 9.8312347983103632e-01 +683 1.6424543443276307e-01 3.0595739508914221e-01 8.6355295665632048e-02 +387 -9.4760775272423259e-01 1.3040066515395690e-01 4.3619903388146558e-01 +2900 4.9074310986507397e-01 -7.5375635796433815e-01 1.9320546482420804e+00 +1077 -6.4778466650697386e-01 1.2409535757103864e+00 8.6495937193774186e-01 +2901 -1.0965814165554253e+00 -1.2186544030675956e+00 6.1827998250063687e-01 +2902 5.8560052210694846e-01 1.0219764425355384e+00 -1.1864422998338389e+00 +2402 -1.0578435137576179e+00 2.9699058756089869e-01 2.4314765972522654e+00 +526 -5.8278813507544347e-01 1.0614306218164626e-01 -4.2906631067777340e-01 +38 1.1552315813130272e+00 3.6119023486356544e-01 4.9014318971250803e-03 +681 -2.3711108229158748e-01 8.1774545536474963e-01 -5.6990031875041602e-01 +1032 -8.8507660105693708e-01 -8.6413191891903074e-01 1.1760667648060172e+00 +2452 -3.3331372708356571e-01 -1.6558287300101420e+00 -1.3071657371815364e+00 +5 -9.6263982458935449e-01 -6.2005824222628092e-01 3.0142120732549094e-01 +1258 -4.2677503165843572e-01 -1.8318605239412826e+00 1.7717941551002523e+00 +469 4.7250456744703184e-01 -1.7817293683293156e+00 -5.9137719327694638e-01 +2759 1.5703954135535643e+00 -1.1350976329986755e+00 4.3168042028172732e-01 +6 -1.1946654441479585e+00 -3.2407539858142248e-01 4.8779339642751640e-01 +818 3.0553447355711327e-01 1.7856881435460423e+00 1.5589300485820970e-01 +964 5.5488580117942055e-02 -2.9737131106026626e-01 3.3421473938076746e-01 +2120 -1.5018548359286885e+00 6.6700917629173739e-01 1.7008248655458973e+00 +2979 1.2966944172739721e+00 4.1372205959961217e-02 -1.3721455134099956e+00 +2860 6.5302587548637758e-01 2.3476611748165386e+00 -1.6410345870683194e+00 +1421 -9.8976266366455135e-01 -4.6538399848622558e-01 -4.7477479911408427e-01 +704 6.2604463440723823e-01 -1.1217707567799848e+00 -3.2417823767676074e-02 +28 -1.0809281819029287e-01 -8.0772383497357980e-01 -1.4427842688218444e+00 +296 -1.0841454998350444e+00 -6.6325200531327744e-01 -1.4137456572725329e+00 +79 1.5324102384584276e-01 2.9422922670659685e-01 -8.5652348943128764e-01 +868 7.0081986799297569e-01 1.2132768305511035e-02 -4.9561519854849012e-01 +1205 -5.3815364846009806e-01 -2.2309365152456926e+00 7.5382362436815398e-02 +1126 -8.2207279230216590e-01 -7.2436689104713103e-01 -1.5821268343183208e+00 +2782 1.2355636191433197e-01 4.2920293795724968e-01 4.3524915499020982e-02 +1267 -1.6726596783302988e-01 -3.4153965456044468e+00 -9.3773811237906746e-01 +29 1.2202582415317789e+00 -1.2014000419032296e+00 -5.4529725526551909e-01 +851 2.0095270171641380e-01 -6.2741567500916501e-02 1.1243547026401091e-01 +2346 -7.2149945460414366e-03 1.0592087512707491e+00 -1.1634975448686597e+00 +2761 -4.0209163779034440e-01 2.1228616256204633e-01 1.0250330946343391e+00 +1708 -2.0438506481640206e-01 3.1188984907095629e-01 5.8937296639331738e-01 +811 -2.1819980421146717e-01 -1.9682145244255750e-01 1.2905128737905189e+00 +26 4.1872344022539754e-01 -4.1041488063279108e-01 1.1138124405903349e+00 +1643 2.1188289494728674e-01 1.0768002110102086e+00 7.5744458144229965e-01 +196 -3.1011129861693099e-01 5.9787106937590795e-01 6.5488942830601538e-01 +1410 -1.0909817066523140e+00 -2.0280166512691492e-01 3.1787018201184414e-01 +2115 -8.2433373126852050e-01 6.9930280235618836e-01 3.8796456107856986e-01 +944 -2.6079616203272443e-01 8.1026446801471219e-01 -9.5112930769120335e-02 +631 1.7849985825748099e-01 9.4554941661579028e-01 -1.1432460043724819e+00 +2335 -2.5955657127863674e-01 3.8549083195178258e-01 -1.5205841221570280e+00 +1944 2.9238575997953975e-01 -1.1546311550575988e-01 -7.0557412141169118e-01 +870 1.6191134229330324e+00 -3.2382823672233335e-01 8.3423698869988627e-01 +2373 3.6404416415104074e-01 -1.5418356498954351e+00 -3.5426738085606380e-01 +2362 -6.5599772495662789e-01 7.9835830545293773e-01 -9.0206953694199721e-01 +1746 -1.2086448646454173e+00 2.4524428396085131e-02 1.8958752682134947e+00 +1732 -5.6011915678946755e-01 -1.5413816851692692e+00 7.8571975289669105e-01 +1241 -1.6286370125644078e+00 1.8150061467148333e+00 -1.3529811453595926e+00 +1429 1.2508173518392391e+00 4.8677704232302560e-01 1.3375486101271865e+00 +314 -1.5830229932585924e+00 3.1669208366936241e-01 -1.0689242290636525e+00 +771 1.0199765618253631e+00 -3.9077709575159325e-01 6.5047609311733312e-01 +1779 -4.3263010640545518e-01 -2.4378903646406962e+00 1.7260773927194222e+00 +2403 -4.8312355743155067e-01 2.4239235934274395e-01 5.5385823112131183e-01 +2811 -1.9279394729978255e-01 -2.4406341127557676e-01 1.4955449057645724e+00 +1260 -6.2590786196495829e-01 -1.5349261908485046e-01 -8.8317001709779708e-01 +688 1.2227804055026745e+00 4.5381017293419179e-01 2.2160238113780234e-02 +213 2.2898836764824497e+00 1.3886525665752703e+00 -1.1036651826476023e+00 +2414 1.5921976805194518e+00 -3.6791513398896708e-01 -3.9948573166392676e-01 +1724 -2.5450572055523291e-01 -2.7916088148218066e-01 -7.4985148140947222e-01 +1407 -3.4353553368532613e-01 -6.7049232015867610e-01 -1.2927123946386532e-01 +320 -8.9135891526494826e-01 -1.0765603697359816e-01 6.2973040483989295e-01 +8 -1.0409238232235285e-01 -1.1079689624013680e+00 -1.0888595124891385e+00 +598 -2.1048690320657473e+00 2.9518440522568384e-01 -4.2096447336984721e-01 +411 -1.2471989384751614e+00 1.1583322374058447e-01 -5.3205094948238518e-01 +2930 -1.4406382636043173e+00 2.7905976940674737e-01 2.2950883823991775e+00 +1158 8.3718451774452562e-01 -1.1398226887740208e+00 -4.6799566719579508e-02 +2959 3.0605606798771245e+00 5.0046200526491902e-01 -1.0268510429163336e+00 +2848 1.8660083866485999e-01 1.2261993954634578e+00 -4.4357664662204952e+00 +1856 7.7620166042056782e-01 8.0596674207995822e-01 1.9078464515573992e-01 +380 -4.7178768056921105e-01 1.1324492906158763e+00 1.0193254274846331e+00 +632 1.4096523593659867e+00 -5.0906729924996008e-01 5.6206893657579104e-01 +2572 -1.2324099532032013e+00 3.0833196220417902e-01 -1.0365119155017699e+00 +2240 -1.4210869087409075e+00 7.6421836501388329e-01 -1.6741016969742766e+00 +1512 -6.1945232141200679e-01 -6.4374668458077966e-01 4.6144625622827462e-01 +1630 1.3006355796657804e-01 -6.0454874814569515e-01 -4.8504873303263696e-01 +367 5.9130630726133371e-01 -1.4583183852946089e+00 -2.8636826876793736e-01 +1586 2.0464788128357869e-01 8.2295996533745330e-01 1.2804678712217179e+00 +506 1.1558720938319422e+00 6.9836116068035547e-01 9.6729895812494393e-01 +2976 8.3691565779187749e-01 1.4144246220268695e+00 -7.8691642079342872e-01 +423 1.5873548409360547e+00 7.5371191075407151e-01 2.0715895682517291e+00 +1404 6.2946163533625632e-01 -6.0999011374861323e-01 2.3377954833195878e+00 +2839 -1.2018465784432100e+00 -1.5033620151269309e+00 8.8541675300840261e-01 +2517 2.9568160733855452e-02 9.3454171108072726e-01 -1.4207696343011906e+00 +2539 6.9574913192852894e-01 -5.7550750640221571e-01 -8.5317996493236170e-01 +2147 -7.5731511051363254e-01 8.4888700075189172e-01 7.2037422553839964e-02 +278 1.1796167748802646e+00 -5.5736057921160209e-01 -2.9548299844168943e-02 +1623 1.8167621986540157e+00 -1.3139978779616259e+00 -1.9720859760553261e-01 +276 -5.5644684268237676e-01 1.4438465640655798e+00 -5.4734550975483898e-01 +607 1.2712041153625566e+00 5.3852907479972023e-01 1.2330121148032183e+00 +2807 2.7106026188366455e-01 1.1472957465790737e-01 -6.6805381917955697e-01 +1118 1.5812319671726593e+00 -2.0339974462001367e+00 -4.5380748860872433e-01 +2998 -1.0641003787206699e-02 -1.1870462847755825e+00 -1.8949174976481293e+00 +1151 -5.0961671239625339e-01 3.1946157950930482e-01 -1.0775288817004318e+00 +2694 1.6521530072563309e+00 5.2882697204441442e-02 3.7637318103500766e-01 +2675 6.7021147427853189e-01 1.6354932064677232e+00 -2.2322766213767351e+00 +642 -4.2872650540527868e-01 -8.0386696648220823e-01 -1.7548198963937658e+00 +2139 4.0995450945606005e-01 -6.4140067751682728e-01 6.9951914510700552e-01 +1149 8.7841536300188050e-01 -1.4455115262096034e+00 -1.0959281065009123e+00 +1854 1.2122717124195994e+00 5.8134171147587010e-01 6.3058757556866352e-02 +1508 9.5476209663216349e-01 -9.9407304133309382e-01 -1.0302334601605041e+00 +1979 -5.4461443626748762e-01 3.8190040999587338e-01 -8.3559798086780956e-01 +2028 5.6597953979769100e-01 2.7474552641168176e-01 6.2333750729720983e-01 +2368 -1.3702372879554243e+00 -2.1521033801869414e+00 6.2204965369567411e-01 +1288 5.2717313422106271e-01 2.7656833031830103e-01 -7.7997648003929210e-01 +2728 -9.0593454192367098e-02 -2.9435970652428656e-01 1.2476846435344426e+00 +2277 7.6403647843648348e-01 -6.4790935228073554e-01 1.7036118368215387e+00 +2906 1.2583976193109645e+00 -1.4132804120643714e+00 1.2688457537637128e+00 +2151 -3.3857234097212857e-01 -2.5273492660434660e-02 -1.0818784255647067e+00 +2490 1.3904939107748211e+00 -9.6612184354333464e-01 -1.3485221475868927e+00 +1685 9.5223666627411108e-01 1.2152668564109022e+00 -4.5377715930562379e-01 +2914 2.8493978965922095e-01 2.1139126844360523e+00 -1.2861935096789849e+00 +2612 -1.7474463042192951e+00 -9.5704569294936681e-01 -1.1234703289997143e+00 +662 -1.5657896385072800e-01 8.6087059139408606e-01 -1.6673007453990235e-01 +1923 8.4970689540691735e-01 -7.4823958777653377e-01 -1.1927019475661886e+00 +949 -1.1018437967930019e+00 -1.0012420092044358e+00 6.6251071847296217e-01 +2813 2.7507074447363689e-01 -3.6022305578296887e-01 -2.5353542498060000e-01 +224 4.7323556955965046e-02 1.1969692147337923e+00 -1.4064846510953521e-01 +1024 1.0523471441946126e+00 7.4307660199719139e-01 1.2030869117405682e-02 +2130 -2.4466144094914091e-01 -2.4914439375867556e+00 -2.6191750168987787e-01 +1787 1.3648205859050182e+00 -1.3029917111840741e+00 -2.4349633205025412e-01 +2034 8.6821592036636930e-01 3.4821369260323787e-01 2.4741724965001088e-01 +2024 1.3341895488539468e-01 1.4178749937839621e+00 -4.6623870613853896e-01 +1374 8.8516707895732094e-01 1.3187795790206771e+00 -1.7072144292325664e-01 +2683 -7.4341304147843357e-01 4.4840433973543620e-02 -5.9298608997166635e-01 +1550 -6.2033835157186634e-01 -2.8689810776678071e-01 6.5130469180099015e-01 +2073 -1.2358570489050089e+00 1.9643809590939363e+00 1.3089185997580235e+00 +1362 1.1528308300727212e+00 1.6703580306764010e-01 3.6318832780964316e-01 +2241 3.9257826918460975e-01 -1.0589433903429193e+00 1.7560058726692938e+00 +4 2.8622758639230039e-01 4.0720851823536997e-01 -1.6880873406849310e+00 +1951 2.2261682989942266e-01 8.2068694089200700e-01 -2.4633496659642901e-01 +612 -8.2033532789425356e-01 -2.0799390676296330e+00 -4.8567682466309603e-01 +1232 -1.4455664395005960e+00 1.3641237497549277e+00 2.5866243697273805e-02 +1157 -9.8577104947957669e-02 1.4380174505873198e+00 5.6431201431311417e-01 +175 -3.2263346266830752e+00 -1.4030317591040571e+00 6.2624332296979968e-01 +2749 -1.8781722711552467e+00 4.2689056349944732e-01 2.0588601433342122e+00 +1470 -5.1656796368577562e-01 3.3789094821826655e+00 1.1140000577828328e+00 +492 -2.2940220081790086e-01 -7.2052940668173762e-02 1.2253415562079144e+00 +2858 2.4225756745481208e-01 -5.2789668665675138e-01 -2.7668516597223619e-01 +1916 -5.6286176456563908e-01 -1.8184369544275830e-01 -1.5236006606617647e-01 +2435 1.2412387634720643e+00 -5.0044196065894408e-01 -6.8487725358764084e-01 +2767 2.5164284105379742e+00 2.1143016853688215e-01 3.5930448322126773e-01 +535 4.2918673462823925e-01 7.0722842365539373e-01 7.0524995602964691e-01 +618 -8.1737024076836501e-02 -3.9472567778847512e-01 -3.4448115883402874e-01 +1061 -6.1807613902747072e-01 4.1318513862543227e-01 -4.9592487907593963e-01 +1058 6.8735717325175549e-01 8.6251547437369613e-01 -6.0755513206924439e-01 +1855 5.0826284661712884e-01 -1.7405694536022934e-01 -2.9630003605837302e-01 +2159 1.0457534582375658e+00 -7.4265554794608268e-01 6.3449121823439425e-01 +1408 1.5239677853232931e+00 4.0472179887810034e-01 1.1862206008569085e+00 +125 -9.0200119153467284e-01 -4.7715771789413691e-01 6.6521419697847084e-01 +2852 3.3244456372693526e-01 -9.8582782844051087e-01 3.3282834247215776e-01 +1333 1.1322654348930736e+00 1.7406748563520578e+00 -8.7581835274261244e-01 +1902 6.5827781798879847e-01 4.0171800327294649e-01 -5.2979113813161678e-02 +2165 -2.3021329719706674e-01 1.3840634941366763e+00 -5.1040465010400604e-02 +2096 5.8438853272869451e-01 -2.2430054471250760e-01 -8.3818740486438670e-01 +1043 1.3247172830549381e-01 7.2950949055030634e-01 2.1178747188778501e-02 +344 -3.9164254237038976e-01 2.0207155490928699e+00 2.2393914674873763e+00 +330 -5.6602479999479915e-01 -2.2646563120329102e+00 -2.0062555581306309e+00 +172 -5.3600765807822515e-01 -5.0328209078203889e-01 -3.7534134120514040e-03 +119 -8.1136241009661414e-01 -4.7207166309866010e-02 -4.0864356066330498e-01 +2330 1.4172048707894946e+00 1.7484869068323006e+00 2.3807147437332223e+00 +1322 9.6456776194477878e-01 5.8835673499884933e-01 -1.1666192449725261e+00 +2840 -8.6475611011663378e-01 -7.5521968134159456e-01 7.9990677346863481e-01 +2180 -5.8340196181714939e-02 -4.3775420782231655e-01 -7.7490730105138450e-01 +2758 9.4530532926091052e-02 -1.5111141249189941e-01 3.4188827452084153e-02 +1103 -6.3732655311500186e-02 9.1124404250779423e-01 1.3561844768198941e-01 +1758 1.2404320800795812e+00 9.2167862401648454e-02 2.7649988330085795e-01 +975 -1.7408720944641265e+00 -8.5582202550518405e-01 4.9792534912118247e-01 +1028 -4.8088120075704677e-02 -2.5695724673287151e-01 1.3736489234625280e+00 +197 -5.3057376200800321e-01 -8.4609340961931900e-02 8.7460254250366176e-01 +665 3.5435516079793239e-01 1.8469309605474876e-01 1.1228944877622444e+00 +2338 -6.5874363767540425e-02 2.9806514343970242e-01 1.1127296085697127e+00 +1184 -7.8010873707181017e-02 4.4417220533673460e-02 -1.2433148078242318e+00 +2717 2.1617210127423547e-01 -7.5651038103398827e-01 -1.1737140517535316e-01 +557 1.3654905775065418e-01 1.7996009359957899e-01 -2.0703049552970252e+00 +864 2.4468886105697599e-01 -1.3402423914093353e+00 -1.0141183503540601e+00 +212 -1.6447168412660225e+00 -2.2781766974032494e-01 -9.6223366751320072e-01 +1327 1.1184701031067390e+00 1.2954306442977546e+00 -1.0875516147197393e+00 +1962 8.3361966230431794e-01 -7.3161685121326436e-01 -1.7844074596304205e-01 +652 1.0522822557450520e+00 1.3066928652843601e+00 1.2200613065523988e-02 +264 8.7859194238620722e-02 1.1384104071192878e+00 2.1409629619696230e-01 +1984 1.5606494905021820e-01 -8.3761143434012947e-02 -5.4808359452611843e-01 +2405 -1.4878085593116730e-01 -1.2172597137676475e+00 8.2634237429047219e-01 +158 1.2844332163295571e+00 -7.3534322273163766e-01 -1.5645211532970751e+00 +1402 -3.5198808665338999e-01 5.8991494645659892e-01 8.5244071158991214e-02 +20 3.0875371725436901e-01 2.7219415294148380e-01 1.1101075578394265e-02 +875 -2.8061517827873739e-01 6.9076138392185293e-01 1.0666000323879330e+00 +1699 9.4104732592841123e-01 -8.4751456896291710e-01 9.9562450829249038e-01 +602 -5.2184741269750667e-01 1.8381438034162517e-01 5.7599814732377685e-01 +2997 5.9846549444513808e-01 6.3182920720859259e-01 4.8321810330017856e-01 +2561 -8.3681389133333367e-02 -1.7021291458497874e+00 4.9540776920323748e-01 +2134 4.1610075771842281e-02 1.6306839233707373e+00 3.1794587519662597e-02 +1640 -1.9380126034670897e+00 -6.8062023736444721e-01 -8.0937538563017120e-01 +1569 1.8350745451402719e+00 -6.5518830508820336e-01 5.7877962520898996e-01 +792 2.3010060343778843e-01 -1.7902346620544514e+00 -1.2642264512881964e+00 +1609 -3.1163114974329237e-01 1.2326119304698757e+00 2.0053070498957881e-01 +341 6.3175605690071046e-01 -1.2357422909501323e+00 -9.1217749702488859e-02 +998 1.1174001632580959e+00 1.5606969682757621e+00 -1.8147639941965549e-01 +2697 4.5232680550968962e-01 1.6170963989643763e+00 1.0906514347490033e+00 +2285 1.5735340869537398e+00 6.5431460041329847e-01 -4.9236677853364003e-01 +1922 1.4268673397161791e+00 2.2136474406647902e-01 -1.0176034788870838e+00 +653 -7.2417752842949534e-01 1.3909534360856685e-01 -9.1278184580584409e-01 +980 1.0678304909863262e-01 4.0566001517903122e-01 -4.2020081844108803e-01 +2996 -1.6113921974121681e+00 1.5338142216398148e-01 -6.8607704883883991e-01 +1511 -2.3198016651832352e+00 2.1391781050148467e-02 -1.5944628076909471e+00 +2220 3.6230298601427618e-01 2.2893535003378265e+00 -6.6717178270399946e-01 +1412 2.1454976424473921e-01 1.7224917756847560e+00 9.7794232999043662e-02 +917 -3.4739189408772830e-01 4.9355356695195762e-01 -3.5736175426516789e-02 +1041 1.2843900748103076e+00 2.2313342931381255e-01 1.1724974317096932e+00 +136 5.6808341031256460e-01 -1.3711299398088770e+00 -1.8764192368535075e+00 +253 -5.2079709441543665e-01 4.9734126378215088e-01 5.7189565323199987e-01 +67 -4.5329952875655138e-01 8.7130494325326113e-01 3.0903992641633077e-01 +1940 -1.7666705806690992e+00 -1.2316333017970014e+00 1.0924224366844062e+00 +1193 -1.6461582738878184e+00 -1.5610337511035188e+00 -6.9804773569333622e-01 +449 -4.0562192427858706e-01 1.5245926746016147e+00 -1.1457103276464538e+00 +211 4.7854962157473468e-01 -1.3723065599805373e-01 -6.6185286065861526e-01 +444 -1.1122741804087461e+00 -8.8952094439184248e-01 -5.4849908429802696e-01 +2168 2.8608184313570828e-01 -3.1567905932615375e-01 -3.9419250203647987e-01 +1251 1.2753165130951166e-01 -1.9384367685915331e+00 3.9154344052459289e-01 +2531 1.3217645491389003e+00 -3.4827593010832147e-01 -6.3945032877790325e-02 +561 3.1928263285218903e+00 -4.8160103794242348e-01 3.5892840670040305e-01 +2739 -6.0271024690917774e-01 2.0471181431461103e+00 1.3193068025194929e+00 +971 -9.3740869651137992e-01 -4.6300867886111491e-01 -5.6321053279478239e-01 +2478 -2.0760300034823648e-01 1.4053407985334139e+00 -3.1913975880856171e-01 +1958 6.7634725334804302e-01 1.1642139455161549e-01 -1.6786338195957698e-01 +1216 -9.6015964673998977e-01 1.6360822048819599e+00 -2.1046642133936055e+00 +604 3.4813897209057171e-02 -4.5032743671550424e-01 -5.0100923026921063e-01 +1649 1.2167096993617736e+00 -3.9359558366933362e-01 -1.1305384604918303e+00 +554 1.2254412484023647e-01 9.0155437261100577e-02 2.0779831277117373e+00 +1692 -1.8618573747825118e+00 4.6971425451203502e-02 -8.8371205337669612e-01 +1037 -1.1274819580079363e+00 2.1357983182797775e+00 -9.2135238572217754e-02 +584 2.1911023992431528e-01 5.3961729057927443e-01 4.4725957389221549e-01 +1904 2.3881371386254306e+00 2.3029204746099158e-01 -5.8939321358844832e-01 +2917 -8.1430138762833415e-01 3.2238094409186174e-01 -1.1893431883636467e+00 +182 3.4683084100268186e-01 -1.4637846950684246e+00 3.1612354528245834e-01 +2692 -1.7507595691886442e+00 -3.3715338299573311e-01 1.2745843222161131e+00 +2060 7.8231480757526728e-01 7.5923087624701147e-01 -3.2209687051432168e-01 +180 -1.0616968139169320e+00 6.5337861435635958e-01 -1.9111055218066759e+00 +2661 -4.1780893772530642e-01 1.5745137251819028e+00 -6.0298481693173189e-01 +903 1.3016735088743292e+00 -5.7314092457051724e-01 -9.5348208221445407e-01 +1841 -6.2794041492471908e-01 -4.7545955051353223e-01 -5.0254582517884638e-01 +310 1.1146463954376831e+00 1.6127950945449123e+00 1.2696457847735620e-01 +145 2.3046176266889123e-01 6.5342474805317896e-01 -1.0817099707936457e+00 +2843 1.2145040950340942e+00 -5.4282638788341309e-01 4.5577953386918718e-01 +2301 -5.9594121271770828e-01 -2.3713880991495528e-01 2.5353905322077031e-01 +803 -1.6800295950800481e+00 9.4243290733699514e-01 -5.1111917433257004e-01 +376 1.2954757780076745e-01 -2.4996146910583150e-01 5.7991793902572608e-01 +1311 1.0955493928151354e+00 -2.3055073636087773e+00 -5.0151880249204484e-01 +2224 2.8886547861825096e-02 7.2853901554397882e-01 1.3056253552091126e+00 +1628 -5.3804094062120489e-01 3.6116947797140553e-01 1.1058426815228395e+00 +192 -4.9879894099254496e-01 -5.8185442166767487e-01 2.5429230176205508e-01 +2498 -8.6725505235505906e-01 -7.2064424243958716e-02 7.6234755605002869e-01 +527 1.0949373339681210e+00 -1.7703198034309831e+00 -9.2030855706510151e-01 +759 6.1363394380431024e-01 1.2923757492654040e+00 -1.1046869788460685e+00 +364 6.5701033866737124e-01 -8.4700976285565044e-01 1.1624596237801041e+00 +1587 -7.6927118753370549e-01 1.2593147694809508e+00 9.3246968768540794e-01 +1165 1.7803303962612762e+00 5.4849546649108805e-01 -2.0414587130364121e+00 +152 -7.4481673757842315e-01 -1.5745580804875103e-01 9.0686390719581711e-01 +1019 -1.4854943266358427e+00 -8.4509615328705801e-01 -1.8420034208054932e+00 +2072 1.0821075475681158e-01 4.5003296415608918e-01 -1.0419241866505065e+00 +987 -4.3816006898819193e-01 8.6766552000779840e-01 -2.7580118843564116e-01 +2847 1.3408551473375676e+00 6.4755771424130493e-01 3.3202073707202912e-01 +1289 1.1025297963353498e+00 5.9515492160975603e-01 3.0041285865451561e-01 +1505 -7.8006125874682108e-01 2.0712602092736225e-02 -1.4010676201803984e+00 +2973 -5.9021045639286773e-01 1.6122470773227676e-02 1.2009251778226273e+00 +248 1.0280035955360236e+00 3.7040269447307272e-01 2.0012030745873837e+00 +1345 4.2599971992790961e-02 4.5248830155759234e-01 1.6372961596151496e+00 +878 -6.0827098116829847e-01 1.3275223995503742e+00 -2.7981437915413565e+00 +2926 -5.1955893431002309e-01 -7.4069546702387884e-02 8.6829347849439564e-01 +1115 4.6471629481106358e-01 1.6904905073086995e+00 4.7715608503009743e-01 +715 -1.0396420662880161e+00 -1.7088817412677615e+00 -3.0268182297123397e-01 +855 -5.1496195330645034e-01 -7.8771679498132807e-01 -2.0447960085429487e-01 +672 5.5256346545497714e-01 2.0398486653065706e-04 7.7989169189732588e-01 +1652 -1.5869125789126783e+00 -2.3631831527907150e+00 7.9259886176286903e-02 +815 -6.8838465901406476e-01 -1.1706475263832992e+00 2.6947401866341569e+00 +1195 1.6473606106368996e+00 -6.7648992670644237e-01 -4.5829946917275233e-01 +1370 7.9231539943560558e-01 -1.0800365398309253e+00 4.7431570564709963e-01 +2664 -4.0861844329517283e-01 7.6080297248184936e-01 1.7650726510578651e-01 +3 -4.3196344125689690e-01 -1.2012985468352178e-01 5.2085236113787259e-01 +1057 2.2297843705648477e+00 7.3487800100012113e-01 -1.9555445772775237e+00 +2142 3.6540276670204297e-01 5.8938809433388528e-01 -5.1009217301436638e-01 +355 3.6420602449716288e-01 6.2959398622919216e-01 -3.5714307152922498e-01 +2869 1.0612415590966333e+00 -5.2261510404577183e-01 -4.7600143457100225e-01 +2488 -6.5893828008758615e-01 -1.0415809956006865e+00 -4.1222026209434726e-01 +231 1.2198196393233518e+00 1.3112445318862440e+00 -1.1432433484985316e+00 +1631 8.8152238058452723e-02 2.9077035285519770e+00 -1.8660217146879979e-01 +559 9.3112008604348095e-01 -6.0169261510162864e-01 -6.9200452309887944e-02 +2481 -1.1032848832654398e+00 -1.2372002153092234e+00 -8.8075022608218823e-01 +45 1.6828064556161229e+00 5.0772666258862420e-01 1.1432980655803469e+00 +1599 -5.9706233844341650e-01 -4.0608373488523986e-01 -1.8144214805817827e+00 +936 5.8418899448462225e-01 -1.0765830397450276e+00 1.4794634321733641e-01 +1938 7.6040666102649757e-01 1.2401833228281600e+00 1.3560062005422818e-01 +2934 -7.7622562095187375e-01 3.6377533768109926e-01 -3.7603713142869877e-01 +2297 -9.2316479909792248e-03 8.6298697294169613e-01 -7.7283979459616026e-01 +1401 5.9741340553671141e-01 -1.0458876117142992e+00 9.2968993863650196e-01 +2326 8.4134863755612121e-01 6.4062632897831573e-01 -7.8401060563562719e-02 +1751 -3.1673921596585225e-01 2.5375896213723270e-02 -3.0399829966248321e-01 +309 -4.6618999613781659e-01 8.8026560747093441e-01 6.7719293869720099e-01 +51 -2.4376005181751970e-01 -5.0661375707747858e-01 -2.7474809173104187e-01 +2412 6.3033142475397930e-02 3.9555663635907595e-01 -2.0956238700635235e-01 +2760 7.8654163461965787e-01 -1.7958980407926290e+00 2.7332219093358728e-01 +1795 1.9529011604217299e+00 1.9162233649201301e+00 1.7846490219985216e+00 +1022 1.5390120228511344e+00 -1.5710524499138441e+00 -2.4829151722090423e-01 +914 -1.7311016237716996e+00 2.8136125017949238e+00 4.1998564072478728e-01 +1721 -2.2063804907606446e-01 -2.9711562622345250e-01 3.9716599058555083e-02 +2379 1.4379420140929269e+00 6.8517508246291015e-01 -1.2399651503861692e-01 +1557 -8.0617253877387751e-01 2.9357239639048743e-01 -4.1291092970440724e-01 +2187 -4.8953228632337897e-01 8.0879094066936630e-01 -4.4567813776486542e-01 +2122 -4.2385138796370625e-01 5.1645970744506808e-01 -1.3832269524564655e-01 +2059 8.1611292558878756e-01 -7.6858702738866125e-01 -6.0456007059256489e-01 +1169 -7.5112582428574615e-01 -9.1735333405278674e-03 -1.5778522125702048e+00 +2487 1.1377783321785746e+00 -1.0463251075610664e+00 -8.6244723504477472e-01 +2454 -9.2405124413921680e-01 -5.3070355338955011e-01 1.5458078038734517e+00 +1298 -1.6163703958348577e-01 1.0146291315477488e-01 4.9744977316469685e-01 +519 1.0374440722467060e+00 -2.0182678315244504e+00 7.0776734123992091e-01 +318 -3.0016444751875071e-01 2.3633411584982471e+00 1.8883205324351828e+00 +2319 -1.4362404577330090e-01 1.4328454553127599e+00 1.4281304812327749e+00 +1356 5.0864750066302433e-01 -7.3533463375607910e-01 -1.0194993369232392e+00 +65 1.7776562664108142e-01 -2.6464146760418134e-01 -4.2792157604402448e-01 +2947 3.7669067855826999e-01 1.3233882161073007e+00 -6.9066317906976715e-01 +1510 -1.4451735995388015e-02 -2.2126179490340583e+00 -5.8443997048133867e-01 +2588 9.2255510280009403e-02 -5.1853807588330331e-02 -9.2809002086773784e-02 +86 -9.6826718622807917e-01 1.6445947618622783e+00 -3.7424084943427216e-01 +2830 -6.0800683525447374e-01 -4.2896806223080515e-02 -1.6071944691565304e-01 +2966 9.1859246861098942e-01 1.7622737689830997e-02 -1.3773811930829698e+00 +530 -2.5870350737214509e-01 6.7050297993742047e-01 9.0712431009673899e-01 +421 4.2520803137724605e-01 6.6963011791640015e-01 -6.0576474110951251e-01 +1656 -1.3861228436397131e+00 -5.5327396202900703e-01 6.4092047470882985e-02 +1330 1.4520301213069260e+00 -2.5761402459348515e-01 -6.2892425867130086e-01 +1065 6.2657351463712341e-01 1.6591406703243901e+00 -8.2261091407011633e-01 +2324 1.1624249099552488e+00 -1.8831788080564162e+00 2.3321903884527400e+00 +1264 3.5995540459961547e-02 -2.3812307744118991e-01 -8.2706699624282587e-01 +302 -1.2268154146329548e+00 2.6089158631402796e-02 4.5677185310780177e-01 +543 -6.9549873468112899e-01 1.7237041139966922e+00 -9.4364936491899265e-01 +1150 3.8568893747168559e-01 -2.7952944836052235e-02 -1.2278327088404999e+00 +2211 1.1198930839490768e+00 -1.9344175742951775e-01 4.1925631194946411e-01 +912 -2.7065027698756428e-01 -5.6727951404655030e-01 -8.7419194871769568e-01 +711 7.4229954396947928e-01 2.1542902132863979e+00 2.8331129716505121e-01 +970 2.3610921769956894e+00 1.0421040975998219e+00 -5.1965952818396111e-01 +1833 -1.0289821611351675e+00 -6.4446172288016534e-01 -1.4121855269857042e+00 +719 3.0883251754030550e-01 5.3600248497330627e-01 4.9814950126439511e-01 +1945 -3.0649349355380678e-01 -2.8631481550025195e-01 -4.5315433304444330e-01 +2861 9.1850420183426673e-01 7.2329656428436850e-01 3.3671992253209498e-01 +1203 -1.1616283207941080e+00 -1.8876765573465746e+00 1.1811814383124641e+00 +1977 4.5158632756642547e-01 -3.6256489178778595e-01 -5.5999344238078330e-01 +1112 1.0660287760062110e+00 -1.8394104145742976e-01 -8.0762569400279771e-01 +32 -2.0605070384177104e-01 -7.4733821968480732e-02 1.2295665521386057e+00 +2957 1.5459294384878458e-01 -3.7842831303630253e-01 -6.3253979143722683e-01 +950 -1.9014903471226108e-01 1.7438654203395680e+00 -4.2692506109212069e-01 +1357 2.3754516967129735e-01 -1.6757674578111057e+00 -1.5775684957012071e-01 +1819 5.3607175441541788e-01 1.5971511125142096e-01 -1.5486155133859405e+00 +1716 -2.6045185642702556e-01 1.8096543301289020e-01 6.0367660568696935e-01 +1711 4.3591000266100249e-01 -1.9858511567524082e+00 2.8596553984016157e-02 +2334 4.7377216754022267e-01 7.2947839613668286e-01 -4.1953473487437232e-01 +744 5.8944515593941471e-01 8.7135119276252182e-01 4.4553835262259023e-01 +1475 -7.9769675910532922e-01 -6.2321045641683115e-03 1.0739747612945578e+00 +782 1.3367630786091755e+00 1.0175676869286499e+00 1.3217083721247656e+00 +255 6.9411479547064925e-01 -8.9371467902491286e-01 6.1688245535851238e-01 +592 -5.1026620094890041e-01 3.9796708744164966e-02 -2.3696756380676574e+00 +2666 8.5609351133549472e-01 -3.4439577396288634e-01 -9.0808649945452991e-01 +173 -7.0215105178603709e-01 1.1719071454344759e-01 -5.0713168115137131e-01 +955 -1.4264167057283575e-02 6.6995444034159668e-01 -2.6058736543159300e-01 +10 -1.7427449270572846e+00 -9.2542510831153590e-01 3.5277365524803778e-01 +2607 -1.8064822491956347e+00 -6.7326663455726354e-02 8.4206673732361947e-01 +2418 7.4743098749603265e-01 1.5127644024907254e+00 -5.2448523995967533e-01 +2455 -2.3028790424706758e+00 -4.3567607609319034e-02 1.3876736342046112e+00 +822 -2.0763884727871496e-01 2.2948095395104851e+00 -4.8726016373898839e-01 +1761 -8.2424117475432837e-02 1.4713615659670114e+00 1.7363940771676536e-01 +1805 8.3731929865913679e-01 -1.7369817720140004e+00 -4.0388211670063484e-01 +2651 1.2778756834492247e-01 -2.0118078493776528e+00 -3.7030927982833597e-02 +1621 -6.8334429870407043e-01 -1.6083951976960045e+00 -9.1745607546772412e-01 +1970 -6.9854701578673595e-01 1.0877315728179338e+00 -3.3545441592353342e-01 +1343 -9.3578054286630208e-01 1.4324461399703325e+00 1.1744009373504309e-01 +1133 -9.1653728911947374e-01 -2.4157298169706425e+00 -1.9526895949927030e+00 +1123 1.6499958058154462e+00 5.4500540616179771e-01 2.9207012673682692e-01 +1197 -4.0068609785108916e-01 -5.0097644913624606e-01 -4.8077399809506999e-01 +2590 -4.8675986438274099e-01 4.5470809502027371e-01 -2.4778587896115922e-01 +76 6.4291933270593460e-02 5.4368034196825854e-01 5.4324850495092758e-01 +2208 -4.8429847005956034e-01 -7.0214904074467219e-02 -1.2873799423069296e+00 +2615 -1.4192475303362522e+00 7.3279624716145020e-01 4.4638482503348276e-01 +139 5.9649541954476903e-01 -8.2567977790149877e-02 -1.2367398226055575e+00 +1080 1.8098018846136782e-01 1.5957075138032861e-01 8.2128013256429866e-01 +1674 1.5505354336723662e+00 -5.7421772515290381e-01 5.3992522279942723e-01 +2745 2.7988186877817598e+00 -1.6456692065991103e+00 1.5981590867320483e-02 +766 9.9504270189195820e-01 2.4679365084537025e-01 1.9327487017521710e+00 +1907 -6.3988709171063651e-01 -1.2601408134770176e+00 -8.6810004720727307e-01 +2691 1.9759656327109185e+00 1.1195683391520419e+00 -1.3086512747723877e+00 +2564 5.2270974618539701e-01 -3.0098726156184830e-01 -2.8232637383827308e-01 +2695 3.0034374349272980e-01 -6.4813815697548449e-01 -5.3547103182817535e-01 +1615 -3.7440473532146945e-01 9.9366469427783677e-01 5.8618246943208330e-01 +1119 -5.8386672041917698e-01 4.2690566022372983e-01 -9.1774387042929273e-01 +2786 -1.7904783085675040e+00 -1.0004261503808702e+00 5.5080743840391477e-01 +432 -3.9893408937662422e-01 -1.3493918118771340e+00 1.0754843475320299e+00 +283 2.9790113893877757e-01 -1.0135451468391190e+00 5.0201532767858097e-02 +2178 1.4411178147135324e+00 -1.6631906011369443e-01 -4.8088872237649488e-01 +1423 -5.7714068384073225e-03 8.4417382794171908e-02 2.2223300846249391e-02 +35 -1.6145843009571645e-01 -4.3861234069997873e-01 6.1125462674660302e-01 +229 1.9660867432920002e+00 -5.3322944710189746e-01 -2.4232849439485690e-01 +230 -3.3036435801710329e-01 1.8601729858340608e+00 -3.3740271979399927e-01 +1717 -1.2805135697478558e+00 -5.0910128639311558e-01 -2.9786513388979841e-01 +926 4.4823926838329742e-01 -1.3817162994835617e+00 -1.1776179812545760e+00 +1139 9.7648822832228233e-01 -1.7275793830153086e-01 1.7165567366501497e+00 +1448 6.9428222498333547e-01 -4.2751605235020479e-01 3.4003429416111730e-01 +1434 9.3248823655691082e-01 1.6077797091920340e-01 -4.6553536116392646e-01 +907 -4.3580240434688200e-01 5.8453533479568526e-02 -4.2355131652418326e-01 +1773 4.0530371173702462e-01 -1.3838878527448977e+00 3.9134431321696611e-01 +798 8.2220768069784356e-01 -2.3447734697689855e-02 4.4905308177844883e-01 +1698 -1.2459292885786781e+00 2.6912681813219541e-01 6.0957672504713112e-01 +1618 -2.1520868601221629e-01 8.5590632181649817e-01 4.9296793949354883e-01 +373 -7.4952116753709344e-02 4.6357813035771189e-01 -8.3646441283511197e-01 +1543 -2.3896248344935564e+00 -1.1382946167503669e+00 -2.1620619019407539e-02 +2518 -1.7839413441431418e-01 -2.3822258223446890e-01 -1.1497901876618813e-01 +284 -4.9589238751071146e-01 -6.4853036078262183e-01 5.7286062057373244e-02 +323 8.3810448375451796e-01 1.2184580406942600e+00 1.4488887202199094e+00 +2701 -1.0359387859693187e-01 2.5157908348720165e-01 -6.6696196274705677e-01 +219 -1.0474107562037001e+00 4.1258343918215729e-02 -1.3093554652397050e+00 +2053 1.6519974972221081e+00 1.6982857716429707e+00 4.7316040991695368e-01 +694 5.4858915860132018e-01 -2.0405321233816052e+00 3.1866250046019218e-01 +2491 1.3605735558862600e-01 4.0080036038610023e-01 1.1984550162613372e+00 +511 -2.0101841053501035e-01 -1.9720329373128513e+00 -2.0691456391271572e+00 +2383 1.2455642195114884e+00 -7.5136240576766866e-01 -5.9277664448436185e-01 +362 4.4856099389215448e-01 -5.2822917423869520e-01 -9.2332122653968318e-01 +2489 1.2742408072088125e+00 -5.0999349308158504e-01 8.5012983722548185e-01 +179 -4.8526711075988332e-01 -4.3322426188006946e-01 2.4159714748780865e+00 +1767 -1.2608821911767061e+00 6.6836580887815467e-02 5.1563040793011161e-01 +1837 9.1854063640550732e-01 3.2953106922982967e-01 1.7550787385463298e-01 +2244 5.4868890515262336e-01 -7.2191109142669407e-01 4.9077803054659008e-01 +415 1.6017629490527361e+00 -1.0829610802797740e+00 -5.6019043644839706e-01 +883 5.6733875851968679e-02 7.5615065326787201e-01 -4.3236961041515171e-01 +2264 1.3552839443894600e+00 9.5117096654860467e-01 -8.1296536653858265e-01 +2565 -8.2556137538820029e-01 -8.2436166257377907e-01 -1.5273250755324406e+00 +752 7.2719029312079353e-02 3.6718249381766566e-01 -3.4332167571234792e-02 +361 -2.7907032688595113e-01 2.3093853395455494e-01 -7.7942919749081985e-01 +2342 1.0048385410644114e+00 -6.2451756784653945e-01 -1.0360831550803908e+00 +1739 7.4141754242060420e-01 5.4369541237666974e-01 7.4291220785567957e-01 +1209 1.6547801687371575e+00 3.8103554041017218e-01 -2.1039966503718061e-02 +1756 4.8735459934667591e-01 -2.1182232091454827e+00 1.2804542138158503e+00 +1391 1.2847741245445783e+00 1.4429252032975197e+00 3.6705856728142228e-01 +418 4.6517551261753476e-01 -1.3860272674872138e+00 4.2988471627347008e-01 +2601 -1.5970750829851746e-01 6.8226626140172619e-01 -6.1135938585012506e-01 +2194 -1.1111136459692084e+00 -4.8009186281227939e-01 2.3507216834409914e-01 +707 -2.3500726189795124e-01 -3.1194074299300345e-01 1.0923857107823376e+00 +988 -2.4951991228968996e-02 1.8647552906818303e+00 1.3269486788258678e-01 +611 -5.2088336847708172e-01 4.3822881956442272e-01 1.7478263546890974e-01 +304 -8.9566249964401234e-01 1.8017776600678472e+00 -1.0523498679995549e+00 +2392 -2.3586311631392520e-02 -1.5966185274476594e+00 -1.1022381912764354e+00 +130 6.8647539231038746e-01 -1.4836516103123047e+00 4.3431162306956278e-01 +1459 9.0226097926509408e-01 -6.1037049647267783e-01 9.8932711057140610e-01 +2182 -8.3952990159808938e-01 -1.6910498217023635e+00 -1.4269596843475101e+00 +1626 2.1690345930794490e+00 -9.6931476977982733e-01 7.4734718684427159e-01 +2816 -3.6682616828452297e-01 -1.4241964281857069e+00 1.6687213720931064e+00 +1595 -7.5082971437529344e-01 4.9187562534276730e-01 -1.0710897360218798e+00 +2834 7.2075161265557852e-02 1.2886425112414768e+00 -6.2639733211737647e-01 +2385 -1.1791996897919660e-01 6.3150334702642241e-01 2.1498838148990097e-02 +207 1.1161073726636039e-01 -1.1309298414495655e-01 1.1857917248950280e+00 +476 -1.5421123910756229e-01 2.4291520212770151e-01 -2.2256928233033371e+00 +737 1.0798522907008881e+00 1.4791892061399450e+00 5.4776427773629988e-01 +1016 7.0909689523631678e-02 -1.5609269376477131e-01 -1.1417620602116654e+00 +2202 1.2320538465093187e+00 2.2000987603708949e-01 7.9693022773894562e-01 +2193 -5.9702992378537334e-01 -1.3853491123553265e+00 -3.0755913258397127e-01 +2814 1.8441704420332823e+00 5.7437305042525200e-01 -3.2940261556001943e-01 +326 7.1174793194356356e-01 -2.9539181630513617e-01 5.8895120902500186e-01 +1789 1.8254970463936304e-01 9.2950734171798921e-01 9.2241011605959122e-01 +174 2.5770318526194258e-01 1.3921689461989200e+00 -1.8833810821790424e+00 +2443 2.5412924503142459e-01 1.8643028371881911e+00 -7.2945406418549547e-02 +460 -2.9783111838065945e+00 2.4267699799073505e-01 -3.2103473718468339e-01 +1309 -7.3244915374082720e-01 -5.1067470139937809e-01 1.2417755075131294e+00 +1790 -3.5932428033776209e-01 7.0471065053544468e-01 -4.9762439520335056e-01 +760 -6.3454560135561144e-01 -6.1775810127703812e-01 2.2110530010787168e+00 +165 1.1809687253830037e+00 1.1729335861319417e+00 1.7482386401788350e-01 +781 -4.1804079000369415e-01 4.5282348774770648e-01 -1.0675445574689764e+00 +2052 -8.5770036871389055e-01 -1.3278415816556668e+00 -5.5307970418916785e-01 +844 2.5710065330050058e-01 -2.8188432190337742e-01 1.5734005145254737e+00 +408 7.4949332889038567e-01 -8.0746717565345494e-01 3.9563342782793459e-01 +2920 -6.6161808657785182e-01 -1.0667450139685997e+00 -3.6705994568889722e-01 +1316 3.5399185148417889e-01 7.4507872389925944e-01 -9.3872588275762059e-01 +2234 9.1451047683184861e-01 -3.1963378617357968e-01 3.0970020174264451e-01 +1359 2.3485213026597221e-01 9.1726879314922105e-01 -1.4674712597749653e+00 +1943 -4.6189705151387483e-02 2.3180178383707833e-01 -7.2427485978554729e-01 +1177 -1.7093969027557784e-01 1.3196017481960538e+00 -6.3084296891919911e-01 +1929 3.4984618672110590e-01 2.9079315211379098e-01 -3.5940399226878128e-01 +2732 1.0688827356700781e-01 -2.0734028989475983e+00 -1.2794911451579891e-01 +755 5.4463411313455112e-01 1.6603763585230741e-01 1.5011543389003608e+00 +1658 -1.2430279327405256e+00 6.9674931932703466e-01 8.8600341425071671e-01 +2457 7.4061860494507947e-01 -1.9195582253122008e+00 -1.1753825978340280e+00 +2575 -9.7533917677012305e-01 -5.9653602997461885e-01 -2.6681266118668401e-01 +2450 8.5175755152590765e-02 -8.6149398767495833e-01 1.2045226645491778e+00 +2978 -8.7425342334917633e-01 -5.4239826989458106e-01 4.3957994712672491e-02 +968 -1.1042369430660008e+00 -4.6057673964581319e-01 1.8377733201316970e-01 +1170 3.6734109114632002e-01 -2.0179017539358859e+00 -6.6313540882412658e-01 +1828 -8.8137938787138126e-01 -1.2007801466498795e+00 3.7250700166159623e-01 +1168 7.8843407232900231e-01 1.4023604965435396e-01 -9.8399306510268680e-02 +1183 -3.0117043472669991e-01 8.6713713053104891e-01 3.0126853430225381e-01 +1568 -1.6436413594355248e-01 1.3430126758569266e-01 -3.2036098189434148e-01 +260 -5.4305841869629390e-01 1.0452001998080773e-01 -4.4463088397202999e-01 +515 9.6532319138006595e-01 2.8563873739813234e-01 -1.8291061932135533e+00 +407 -8.7811572147831762e-01 -1.7900506764162096e+00 -1.6032903254285100e-01 +1570 8.5294304020290132e-02 -1.0178473791494613e+00 1.0043047519379102e-01 +547 5.1202543818694979e-01 -9.9797016943428996e-01 1.7628023475990162e+00 +2885 -1.0306485585766896e+00 -1.6058438042954964e-01 -1.3957774253277198e+00 +1218 -7.5628725114011286e-01 -1.8257367623606049e+00 1.3925189124742270e+00 +2499 1.4649798214175342e+00 -1.1434726046357768e+00 -9.5041263026905687e-02 +2239 8.9428359257883872e-01 -6.1313770801257828e-01 7.2050082591894249e-01 +2640 -2.4167999619521154e+00 5.7086784311522268e-03 1.2225910892370611e+00 +2748 1.7991796958790194e+00 6.2817314805112512e-01 -1.3644712451094243e-01 +1838 3.5000522550465962e-01 -1.1836195600863587e-01 -1.7365477596430312e+00 +2505 3.6701363714448454e-01 -2.7526565267281491e+00 1.2753319476465006e+00 +2471 -1.0299305972725918e+00 -1.4968270431412717e-01 1.0781038142916005e-02 +2613 -5.2848408149460147e-01 -4.9148634135480279e-01 2.5985043376639727e-01 +251 2.1818699745076481e-01 3.6834954123846686e-01 7.5627609321918776e-01 +2322 6.3140988330929348e-01 -1.0302649154360385e-01 -1.4905714310574497e-01 +633 5.2244059753871058e-03 4.1079708960375971e-01 -1.6439150833528418e+00 +316 -5.3573660884555818e-01 3.1416007807144575e-01 1.5988176009245516e+00 +1013 -1.5075924117687540e+00 2.1231680060621771e+00 1.9983966364372319e-01 +406 2.8027024157166924e-01 -2.2277708684143569e+00 -9.1672323503389486e-01 +743 -1.8443093381309370e+00 -1.7171507323919777e-01 8.2770656920425245e-01 +394 -1.3591439540870234e+00 -1.4358171546494544e-01 3.4546477166221834e-01 +651 2.5987672985632276e-01 1.0090160463988564e+00 -1.0975965804766816e+00 +793 -9.8540197737376600e-01 -1.6128173319420669e+00 -2.5395642482706360e-01 +1559 -3.8978211332813650e-02 -8.7648657540059582e-01 -6.5323889930322510e-01 +1613 8.8696780428613314e-02 -1.2125658734624840e+00 2.3898385541096823e-01 +147 -1.9081477582208710e+00 -1.0435565433538181e+00 3.9019718394129832e-01 +1713 5.0840363941994360e-01 -3.3886648781695727e-01 2.5168530892472873e-01 +393 -8.1089936081416236e-01 -4.7217098844869421e-01 1.3984212609024285e+00 +1242 3.9606722772870528e-01 -8.6265218242712483e-01 -6.2861111404220427e-01 +2007 1.6438472978041763e-01 -1.2299849988750695e+00 -2.1402657683473931e+00 +773 -1.5001111138788710e+00 2.1987919727011479e-01 4.5536419932025851e-01 +2116 -4.1004357396353419e-01 1.0173324225390561e+00 -9.4834539061337353e-01 +1358 2.1679214116815322e+00 -4.1333059377226411e-01 -6.1345883432442383e-01 +921 -8.6332599194729187e-01 -1.2387210622188689e+00 7.6825414765414546e-01 +2684 1.8063484066422302e+00 8.3758520046913354e-01 -4.6649196849132757e-01 +2367 1.2675425354742755e+00 5.5845798865691509e-01 -1.7479971891332453e+00 +2325 -2.0371531454865091e+00 -8.2559046002409098e-02 -2.1451771218040130e-01 +2036 6.6033259079822226e-01 1.6215419552903083e+00 -4.3982757814361084e-01 +1073 6.5788697456454837e-01 9.7062966542402918e-01 -3.5017573034504770e-02 +2525 -1.9315102708283221e+00 -8.0401640861043289e-02 -1.0516200543655879e-01 +754 6.6388572775102864e-02 5.9359824908064429e-01 5.8136738189185699e-01 +1931 -2.0557953664246242e-01 -1.2429182238261596e+00 1.8223310635119205e-01 +2210 2.2330849033726330e+00 -6.5938058327581550e-01 -1.4459855195192781e+00 +2763 6.1814550560015680e-01 4.9895147220496239e-01 -9.0008780156762169e-02 +1695 3.1689622730441708e-01 9.6478180527482171e-01 1.2457859540187857e+00 +1176 -8.9607760590942043e-01 -1.4410305533458598e+00 1.1027421199977012e+00 +599 2.0108398968202407e-02 1.7416572011361695e-01 -7.1720112798203783e-01 +477 1.5243563046023185e+00 -2.0206215255157516e+00 1.4428982134638415e+00 +1104 -6.3631905125432417e-03 1.6129118366858939e+00 -9.0866488160625619e-02 +2281 7.7416920493685959e-01 1.7210570154476801e-02 -7.7608439647086624e-01 +1420 8.5202175907834854e-01 9.2067535115321353e-01 6.8777562160374117e-01 +690 1.8400036425566171e+00 -1.0101939769777832e+00 -1.0263645415944378e+00 +1098 -2.4906389300822934e-01 -1.5429283688847696e-02 -4.3535784782362219e-01 +1875 9.2485133587813451e-01 -2.4023744688924700e-01 -5.7201675655573525e-01 +1740 9.2795490181252893e-01 -6.0139526137560650e-01 1.1546238752853069e-01 +81 1.8527266091291004e+00 8.2772532888514372e-01 4.1042790989014127e-01 +2605 8.1267618346741077e-01 -3.7676592726010011e-02 2.9408377922555634e-01 +2365 -2.7853541198809428e-01 8.7731439828437163e-01 -2.5702554213034190e-01 +1214 8.2407175708136582e-01 -5.6601395877435601e-01 -4.3354662701344981e-01 +2044 -2.5642076928014251e-01 1.4836441224054966e+00 5.7999772342686240e-01 +2090 5.0931701276847297e-01 -9.2237942697830244e-01 3.4312553768996190e-01 +141 8.8820308809352400e-01 -1.6623529114825957e+00 1.6445645095245084e-02 +1846 6.0125305608399071e-01 2.2941520163909628e+00 -7.4590641130550217e-01 +553 1.4059034276518991e+00 -1.3172352101322557e-01 -1.2200738021217758e-01 +2726 -1.5018963212061651e+00 2.5883136794881534e-01 -2.1516472456464451e+00 +728 -7.1729099874577895e-01 -1.1338551476594296e+00 2.8057382089656295e+00 +1325 -3.9803700472968484e-01 7.5698672458003302e-01 9.8217171495841374e-02 +2753 -2.6315985765638733e-01 -4.9353669324093102e-01 8.4029182273057978e-01 +487 -7.3622394770465882e-01 6.5954910744509687e-01 -2.3711182999073910e-01 +697 5.7630598588439597e-01 -1.0832665554639911e-01 -5.6363323631097462e-01 +2019 -4.0715377733340813e-01 -6.2573749622807318e-01 -5.3017281853321152e-01 +2086 -1.3626576578975425e-01 -9.9727192708682555e-01 1.8419130701021955e+00 +551 8.1942048338918738e-01 3.8357178832347638e-01 1.2362696024955460e+00 +831 -1.4712678799979173e-02 4.2652838971410145e-01 4.5218210517541640e-01 +946 2.8631339330711270e-01 -8.1136227151565460e-02 6.8733702353458626e-01 +1714 7.6263125291521827e-01 -8.0157686175486609e-01 -4.8615678615134961e-01 +2118 8.2254780099372349e-01 1.3560503063324671e+00 3.4294197241933155e-01 +1131 -2.7487318681486039e+00 -1.3869654370151479e+00 1.4724161913080807e+00 +2396 -7.4950006066702135e-01 1.3952299125428677e-01 5.5341100984371283e-01 +9 1.7669076634745520e+00 -1.0516446565788033e+00 -3.2082238922000234e-01 +2199 4.6035378990586007e-01 3.1853785406428853e-01 -5.0882181546772198e-01 +2596 -2.3411903635962156e-01 1.2907115777973006e+00 4.2088822494401995e-01 +1997 3.1084172257122267e-01 2.1383709146147059e+00 -1.4639476155212672e+00 +1390 1.4560440714150815e+00 -1.0492280391874391e+00 1.7380530852115788e+00 +2882 -5.5177500926100098e-01 4.3054380546260251e-01 -7.9300207359784669e-01 +2350 5.6167933244517498e-01 -3.1402343594315668e-01 1.6241106570756969e+00 +2950 1.2083739399976972e+00 -1.1826927592229137e+00 7.3531592940338120e-01 +1473 1.3232752498350020e+00 3.8800763289200207e-02 -1.6849484247878682e-01 +2113 -2.1422614449842614e-01 2.2279772542572385e-01 -5.4063647124567904e-01 +2183 -5.1263427480961643e-01 -7.9535076077242728e-01 4.7955903292145963e-01 +1196 -6.7761056086818483e-01 7.3412358636516295e-02 8.0987575237983067e-01 +2723 -3.3558671068871687e-01 -1.3481559701011323e+00 8.4262165686208634e-01 +495 -7.4176918841984729e-01 -5.1666428317393320e-01 -1.8894480339457137e-01 +1107 -8.7374633892419395e-01 5.3450220276239191e-01 7.4485465749278168e-01 +1764 -3.3768204400765761e-01 -4.8378253470969801e-01 7.9943168882287607e-01 +943 1.2769087970675823e+00 1.0151500645599698e+00 -1.6362107771114243e-01 +2942 -4.5453644294614987e-01 -1.1829706200841014e-01 -6.3717059217279270e-01 +2571 -1.3806302534322572e+00 -1.3602881027496816e+00 -3.5506124968143837e-01 +2323 -8.4594213950323890e-02 2.0077818313657317e-01 1.2658540018506431e-01 +1924 3.0120561287757364e-01 1.5321565257011957e-01 2.0024578649612901e-01 +1849 -1.7307243274334591e-01 2.5058459216653929e-02 8.3341067473350894e-01 +2092 2.7083765127372459e+00 -6.3611886243029869e-01 -1.3703436296479871e-01 +1858 -7.1721757355823235e-01 -3.9244459603364346e-01 -1.2053933437420483e+00 +1918 7.4080016089803302e-01 7.0037713489403930e-01 5.1953629779462629e-01 +1392 -4.4750073791119382e-01 1.5300793080513959e+00 -5.7712195366552987e-01 +2014 5.0163082170224571e-01 -7.2262531517860829e-01 1.8348976629325153e-01 +2263 -7.0680439753149060e-01 -4.8460230472830401e-01 9.1640047767559096e-01 +1432 -1.3101636658464513e+00 1.3171833439626970e+00 1.4251285213008363e-01 +2497 2.2668260024576548e-01 2.9054592922486411e-01 1.2224616273388569e+00 +2465 3.5046969375645881e-01 4.4301560124982930e-01 -1.1614579619602924e-01 +1731 -1.4857511683333446e+00 1.9139033554941093e-01 1.1201676456671668e+00 +1955 -2.5575198365074969e-01 1.1603644149050456e+00 2.4438219078602996e+00 +1760 6.7935935720292639e-01 -5.4778060114206351e-01 -1.3990740259183885e+00 +1353 2.4741464316079845e-01 -2.2535534124677303e+00 -1.9695950229183801e+00 +2054 -3.2041290767421932e-01 1.3386725908684560e+00 1.8970443318506161e-01 +2653 6.5615942891898005e-01 1.2441041146782965e+00 -1.0276668904052311e+00 +2606 -3.5520218606936566e-01 1.0659845143298814e+00 1.7790381934473171e-01 +2784 -4.6188469198370952e-01 -8.3010657943402699e-01 2.0678444313591507e-01 +1450 -2.3350450426431552e-02 -1.8137048329776313e+00 -5.4884264200314381e-01 +2225 1.4090650538940233e+00 -1.1354382520149910e+00 2.0156056036000414e-01 +2866 -4.6849357620507426e-01 -9.0169043270546401e-01 8.5340172783071944e-01 +1378 1.4861844360968262e+00 1.0790553680086463e+00 -7.9776925135626053e-01 +2528 -2.4440007145041749e+00 1.6957453304549062e+00 5.4911350719445606e-01 +462 -9.6668161782510198e-01 -4.3910488952931293e-01 1.2489769408508860e+00 +14 1.5486539939942752e+00 1.6122341121842765e+00 -3.0150338932779436e-01 +1460 -5.7036875955226918e-01 2.1064805091160173e+00 -1.7046932795453165e+00 +2397 1.1312711019715729e+00 -1.5426793844168685e-01 -1.2737887247040112e+00 +616 3.1701180247447502e-01 -4.6244201538847773e-01 -9.4920676971516726e-01 +2538 1.4581306196231242e-02 6.7751843643039389e-01 1.2461864212405444e-02 +2387 1.8845751048581347e-01 -1.3187714362185021e+00 -1.5611715916974089e+00 +1179 -3.0215839544568934e-01 4.0763980649989950e-01 -2.3568717097570999e-01 +2889 1.5508888933369771e+00 6.4932129240441105e-01 5.9151169750440880e-01 +1694 2.4372849773491650e-01 4.7106796190436256e-02 -1.6117254574135833e+00 +2172 2.1394010171808278e+00 -1.3104805276167100e+00 2.3230898712429036e+00 +582 2.3458769590915354e-01 -1.1045764671597134e+00 -8.9226061939962853e-02 +2991 1.6901113142054764e+00 -4.7763488868858373e-01 -5.4463031224494196e-01 +751 -1.1332739649154924e+00 -2.0123363538464517e-01 -3.1296515553903631e-01 +574 1.0614899575122156e+00 -2.8798521603840915e-02 -1.1119084603388358e+00 +2832 1.6936807339877016e+00 -1.0069401229272481e+00 1.1035454314218619e-01 +458 3.8037164913579258e-01 9.0765997117780184e-01 4.9519010483806908e-01 +1763 -1.3315353596147295e-01 -1.3074168964232907e-01 1.0500059273259180e-01 +464 1.1232657671721386e-01 1.9694013078136980e+00 -2.1923696254401523e+00 +2363 -4.3223174508754236e-01 2.1984205481543864e-01 -3.8445694038232014e-01 +1974 4.1031723815747861e-01 -6.9676240703792969e-01 -1.3110365860320750e+00 +2622 7.3147006535557543e-02 -7.1210825348889686e-02 -3.3133579687720123e+00 +350 5.0786096299237626e-01 -2.6269258625493996e-01 1.0123042696880202e+00 +17 -6.7166338544741067e-01 4.0071392839522751e-01 2.5024805825217405e-01 +1672 -1.7680674444874660e+00 5.5481563980323401e-01 2.2037735437103687e+00 +2665 -1.1069155575357363e+00 -5.5024528137353187e-02 -9.7452214133762471e-01 +857 -5.7875556455638155e-01 -1.9111818342612330e+00 -1.4032284692916780e-01 +90 1.0716055046664830e+00 -6.4901428406249989e-02 9.9197496215022984e-01 +2543 -6.1703524362692708e-01 7.2088547823773774e-01 1.1081525385425035e+00 +2969 5.1521273051736677e-02 -1.3580464555706586e+00 -8.8775371722479268e-01 +2987 -1.0051135541427927e+00 -7.4490655119771487e-02 3.2458095239541723e-01 +336 2.9574559444661657e+00 2.7637043267768530e-01 1.3659766530616360e+00 +1438 -1.1689279453374701e+00 5.4965060127079479e-01 1.3395409492263133e-01 +2078 2.4312203805149138e-01 -3.5513904680204361e-01 -7.8073210731148479e-02 +924 -8.6550253766173413e-01 -2.7019785311481592e-01 -1.5269264196043122e+00 +1912 -7.4545206715821766e-02 -4.4995744006554261e-02 -1.0646705120916062e+00 +678 -4.4798706290234754e-02 1.3394952827849655e+00 1.4982444332588045e+00 +2886 2.2066051419638699e-01 -1.3637667291016995e+00 2.0900971974890575e-01 +389 -5.6373992574735798e-01 -1.0818560364006640e+00 -9.9116236637785982e-01 +576 2.9883556530425831e-01 5.2423233655790269e-01 -3.3142222261781934e-01 +226 4.8332915321470710e-01 -1.1815608847067867e+00 -1.5062589556708823e+00 +34 1.1188167335962045e+00 2.6403686491718590e+00 4.7195436728974374e-02 +1064 3.1981844597413500e-01 3.6565811945360510e-01 -2.3008109191856372e+00 +2136 -3.8666117264732902e-03 -1.5551075177277487e+00 2.2501012256720992e-02 +636 -6.8963092165097695e-01 4.2170887684557334e-01 1.3898933511681326e+00 +1551 3.8051366905440642e-02 -2.0865504012289535e+00 -9.1796360218375794e-01 +2442 8.4948829228781042e-01 -2.4609755301694816e-01 7.5510969046569898e-01 +1665 6.2206976587302210e-01 1.3902611186938942e+00 -1.9129192759119826e+00 +2876 7.2947724412124537e-01 -1.0421638278405172e+00 -1.5770638869835636e+00 +812 1.0187748035459572e+00 -1.0225588278894006e-01 2.3512151651666087e+00 +2131 -8.1109344241394632e-01 -7.3546285298895842e-02 1.8427276454697650e+00 +763 7.2137540341943263e-01 8.7330561106606933e-02 -2.6134662206387826e-02 +1220 2.1239536709835141e-01 -5.2997187574382032e-01 -8.7795845019134189e-01 +2000 1.3606582961783766e+00 1.1756793437920254e+00 4.2707518043753123e-01 +1671 -2.9582216430290220e-01 9.3340371500440911e-01 -4.2631690314905352e-02 +504 1.2148365066379454e+00 -2.0526697750911846e-01 7.4553556581182831e-02 +2374 2.1176911719334349e-01 -2.5733142875498376e+00 -8.1481280760999009e-01 +1476 -7.2982582352010397e-02 -2.8084524542162626e-01 -1.3720016373450603e+00 +2255 -6.1885222988686384e-01 -5.7990721740248874e-01 1.2006332087932758e+00 +2369 -3.3370062287067281e-01 -8.4886423768376951e-01 8.3687406888755111e-01 +1606 -3.5866907756632105e-01 -7.0794884415622553e-02 5.6781472716800152e-01 +1573 5.2821043577470483e-01 -2.6202316517753677e-01 -1.0395370515491720e+00 +1686 -3.2703835354920802e-01 -2.1047738217301259e-01 -1.2423514658538590e+00 +1239 -7.0930347140987571e-01 -2.3875506125059367e+00 -5.2825151116439106e-01 +2094 -1.1733265204184373e+00 9.6452227472814600e-01 7.5753794160219312e-01 +1794 9.7377714560324113e-01 -9.1184045351384702e-01 -3.0283639210134761e-01 +894 7.7494866928850092e-01 3.5091360141312961e-01 -5.8378352977432386e-02 +1645 -1.2255907865249478e+00 6.4610778881790787e-01 1.8586334098596187e+00 +155 7.5543257149833520e-01 5.2836616788925994e-01 -7.0515223635491719e-01 +1810 -4.1511003107740516e-02 4.8069534695407268e-01 5.4291335414654973e-01 +1164 -1.5541129276622956e+00 -7.5466831355913977e-01 -2.2006110033435772e-01 +135 -6.4793637360131284e-01 -7.1244130405225614e-01 8.0555244873462495e-01 +1812 -1.7351464184704868e+00 7.6478145177184054e-01 -3.3972156212727567e-01 +1466 -4.3571642043213688e-01 -1.3178509286422102e-01 -1.6763558714499016e+00 +1985 1.0547674743719859e+00 1.1486140389846968e+00 3.3865130130549398e-01 +127 -1.8324268266966786e+00 -2.6769713436336218e-02 6.3503006811349283e-01 +439 -1.1997557150638805e+00 -1.0679616822578664e+00 4.2503418082824634e-01 +228 -4.1524700654284230e-01 -5.3844697032384869e-01 -9.9965420780565162e-01 +2084 1.5012065954512417e+00 5.6847006535962352e-01 1.6957957072767764e+00 +241 -5.3575747994209677e-01 1.2201698639387113e+00 -1.7679596763081840e+00 +977 -8.7037043969479450e-02 -1.4311405242062634e+00 -2.4483923733991424e+00 +2913 -1.2562791611925390e+00 -4.6986571346480532e-01 2.1351652931203519e-01 +1647 -1.0763498697149350e+00 7.7331735899354048e-02 1.1629084584294977e+00 +1414 -8.1148282049029197e-01 2.8240953181697215e-01 -1.4041848591593395e+00 +235 3.0944745897058701e-01 -1.3494961495278390e+00 7.9668805509832286e-01 +447 4.6172009757615229e-01 1.7831856760614417e-01 1.5743189967442556e-01 +1372 4.7745500195768376e-01 1.4205561168404024e+00 1.0278106739401920e+00 +178 -1.4456211205564105e+00 -4.1253637318764852e-01 -2.2197601168102490e-01 +2258 1.1395421331356321e+00 3.0674374501322466e-01 2.8106324670061650e-01 +2085 1.6368531755789604e+00 2.0119109524513972e+00 4.0594847798796779e-01 +243 6.3071502780760802e-01 1.6207812010317839e+00 -3.9345537936945785e-01 +1441 5.1356069198182752e-02 -6.6067726664730397e-01 2.3887599443311200e-01 +193 -6.2573037486665173e-01 -7.3201161827734229e-01 1.8016679404322162e+00 +1255 1.3261437748992908e+00 1.1745748716484812e+00 5.8514805260195912e-01 +505 -4.3369872737733378e-01 1.4822512154189995e+00 1.0993638826106360e+00 +1281 6.0580172414547895e-01 -3.9125023813646256e-02 -1.9437530419073812e+00 +1015 1.9921432672768244e+00 -2.2763166729067577e-01 -1.3438496244780518e-01 +2150 1.3092026723089695e-01 1.0567830287480353e+00 4.8670265284679126e-01 +1750 -1.5095479217955146e+00 -3.9770960921501242e-01 -5.6528296611813100e-01 +600 -1.7851217222695034e-01 1.7997796985299859e+00 -6.5183894893457051e-01 +1430 -4.2394810005923322e-01 -5.5659974938246715e-01 -5.5676007513941261e-01 +2106 4.6861430238644608e-01 1.1093402587270251e+00 1.6368039559000191e-01 +2752 2.6357332693108587e-01 -4.1310482865363224e-01 7.8266097704312054e-01 +2313 -1.1456536222651243e+00 -1.4955659989047237e-01 6.1545581536346672e-01 +1247 1.0070825493894403e-01 -6.1942052396719327e-01 -2.4957867218434399e-01 +2380 -9.9297427523291704e-01 -1.5796770561526530e+00 -3.8883624371046083e-01 +1802 9.8302990539574686e-01 -8.9733199915219986e-01 -1.4191888973104401e+00 +1361 3.2472372493290874e-01 1.8523232666072412e-01 -5.8929729187651669e-01 +2483 4.4505630760306059e-01 -1.4343079580892018e-01 7.5267939053374655e-01 +1166 2.2027497949135694e-01 -5.6710184764267224e-01 -6.4757189277563754e-01 +1930 -7.5047456345668373e-01 -2.7215930070499550e-01 2.8125944799176192e+00 +1530 -1.2691294211751680e+00 9.6119758653566323e-01 5.8988497799515915e-01 +1820 9.1472090363807512e-01 2.4682161171108302e-01 1.9372441692127098e+00 +1723 -2.1465903515013318e+00 1.6170725998498892e-03 7.0849800369894245e-01 +1680 4.9779440517509921e-01 5.4879007550558578e-02 -2.9395615548045217e-01 +1605 1.4450105564844060e-01 2.5843932582330109e-01 -3.4913118388271613e-01 +1715 -1.5434483838882072e+00 4.7386304045608929e-01 5.8304678209163974e-01 +1973 -1.7065925801915813e-01 -2.4949972087387651e+00 -2.2388196003359639e+00 +1927 -8.3433451888122434e-01 4.6210516458678674e-01 6.8481386986776649e-01 +2315 6.7313332391702618e-01 -3.2827810668608315e-01 5.3943194625549951e-01 +826 1.4904046229025754e+00 -1.2277281235404309e+00 -2.7894718739564857e+00 +2138 6.4416861131235870e-01 -4.1455904909079394e-01 9.6461679335236494e-01 +1644 -9.1622979219458356e-01 3.4235026601272983e-01 1.2248511416150192e+00 +1398 1.1581023311021388e+00 -9.6921844849224759e-01 -3.3639147562411720e-01 +1303 2.6892190347780220e-01 -3.3519247356223097e-01 -1.1219749848535585e+00 +512 -5.1986478250809232e-01 4.3964623128344810e-01 7.3367485205098087e-02 +2067 -7.1729842983160430e-01 7.6012389310466388e-01 -1.8446470218396743e-01 +692 -2.7909642607947838e-01 2.6180972815067483e-03 4.5687671961498927e-01 +1233 -9.5384471350642430e-01 -1.0778664681052619e+00 1.7634220912452665e+00 +1337 -1.4784334974833531e+00 7.5203082572302474e-02 -3.3604399735725538e-01 +892 1.5917365706531219e+00 -6.4277102603045355e-01 5.8599600169856836e-01 +2398 5.5899664963394025e-01 6.2007445932852778e-01 1.6863013192879384e+00 +123 8.7352732542872444e-02 1.1953505198251373e+00 4.0530376260705747e-01 +2010 8.2547723460842670e-01 -1.0420958474649161e-02 -1.0291753214303305e+00 +1903 -1.6165981600982471e-01 -1.6519344977777867e-01 1.0620864415123052e+00 +564 5.0970849575169108e-01 4.0040302202259431e-02 1.6924969458534198e-01 +2337 -4.0788461900347212e-01 -1.9662679178968573e-01 9.4543796817066650e-02 +214 -5.0734602929792150e-01 -1.2449895148456297e-01 9.6930003084360117e-02 +1883 -1.0108752545156381e+00 -7.5434548333878837e-01 3.3280667392191360e-01 +102 2.6140625659990979e-01 -1.2529345968371799e+00 -8.6270228116382885e-01 +1657 -3.7588067448410012e-01 6.5331161486240474e-01 -1.0032972208878363e+00 +1364 -2.6920872443101890e-01 -6.8183132565430482e-01 1.0021791869063124e+00 +497 -1.1161495407251529e+00 -7.6777965502447587e-01 2.4107617730675440e-01 +1660 6.3299895235732762e-01 1.0458743920668963e+00 -4.9841166758249261e-01 +1990 1.4078029251047217e+00 -6.9395208175247558e-01 -7.0676018644814509e-01 +2635 2.6839512585221520e-02 3.7220316773020998e-02 -4.0862792086880034e-01 +1134 5.2978072205647087e-01 3.2068469315241188e-01 9.9489056578619306e-01 +802 4.2522849647146296e-03 -1.1686966894164486e+00 -3.4951084423865503e-01 +1461 6.2853941864866569e-01 -8.8347282274131267e-01 2.5974124182564617e-01 +2800 7.5632194179595325e-01 1.3825611323331539e+00 1.5833090940019872e+00 +2237 5.0404702471819762e-01 3.8398581355119582e-01 6.2097147305098765e-01 +2111 -1.2645405969822905e+00 6.6419624811094891e-01 1.1822224764971501e+00 +680 -1.2242935332685327e+00 -6.9713274754421606e-01 -9.3058655201561957e-01 +1753 5.4321073654330268e-02 -1.2807236350538229e+00 4.0114514660325212e-01 +114 -2.4537646250220213e-01 1.1937645294142905e+00 -1.4098164556020705e+00 +2047 6.3755609187328255e-01 5.3912253232352447e-01 -8.6360630240619107e-01 +2411 1.3425260293833745e+00 -1.7931324212480912e-01 5.2543343710215473e-01 +2451 -9.0735749843813485e-01 -6.0286794087961693e-01 -1.7197608139618353e-01 +1081 9.9121719260428909e-01 -9.5110112710379968e-01 1.0699778403436737e+00 +1926 1.9206976811670184e+00 2.3696141372543755e-01 -1.1052721493734470e+00 +2845 1.1497752221743278e+00 1.3210320209162494e+00 1.1796080074101982e+00 +2904 -1.1391846777407912e+00 1.2055799842255852e+00 1.9940845799519717e+00 +1406 2.5521598948546231e-01 1.5199808254090281e+00 -7.3007951592145204e-01 +2171 1.0879566877844673e+00 1.0730119175360373e+00 7.5103343736116468e-01 +1935 1.5565025522497995e+00 6.6863671827660370e-02 2.2833194083019333e+00 +1180 6.7890471537311892e-01 1.6862014297731183e+00 -7.2415615715864323e-01 +1534 -1.0603859210033248e-02 4.3349580686040690e-01 -8.5821747633081935e-01 +2795 3.7537140531911151e-02 1.7318326244022826e+00 1.1189217210182369e+00 +149 -1.3996786021025259e-01 -6.7006472218142965e-01 9.8979039456661477e-02 +2512 1.3659116789713879e+00 -7.3651037254190899e-01 3.9986686970501467e-01 +461 -3.9625064229942963e-01 -7.5137542025189119e-01 6.4364524957221292e-01 +1655 -9.1691658816156751e-01 -1.6730293573803579e+00 -1.0029631944730786e+00 +1059 8.3796186343611234e-01 -9.0497843377475906e-01 -6.9830866629445609e-01 +2938 1.6447977998348982e+00 -1.8986656171022137e-01 -1.0752977603754554e-01 +929 1.0015763619012381e+00 -5.7911511848083208e-01 2.6226088469549114e-01 +2529 1.1865949537803939e+00 -1.2163860373165966e-01 -1.7453904056089586e-01 +1688 -9.2078808939716310e-03 -1.5044006710758800e-01 -1.7929416548804145e-01 +378 1.8262484530706693e+00 -3.1869415753488450e-01 -6.1325817417120498e-01 +56 -3.8234648270589633e-01 7.3706306762905383e-01 -1.0559677733306647e+00 +2156 -1.4714577137901536e-01 -4.0935012725890263e-01 1.3142712489647903e+00 +606 1.0358089154309780e+00 7.6582758381201044e-01 -1.2900642702649592e+00 +1831 9.6980126299625979e-01 5.1168929267291141e-01 3.5656889944742060e-01 +1411 -1.5469718505645726e+00 -1.7994901896374973e+00 1.6093638880344782e-01 +2685 1.9915834774866215e+00 6.3077374648515505e-01 -5.5644913033247378e-01 +1850 1.0707948944272354e+00 -4.2525995082859980e-02 2.1431382444060980e+00 +2563 6.8544139354502998e-01 1.2625825058944479e-01 6.2369459453304144e-01 +166 -1.8275994352019735e+00 3.3367045015430981e-03 -1.3092268126806708e+00 +1954 -2.9017645177552015e-01 -1.6909172916116977e-01 3.6066191916349088e-01 +2787 4.8881463862060978e-02 1.5596954913406342e+00 -9.9806457421063277e-01 +112 -1.8802627358365429e-01 3.1789206810108717e-02 7.2579523467722218e-01 +1038 4.4481539715769947e-01 -4.4391509874188584e-01 1.1774788635218207e-01 +1796 4.7376350627188341e-02 -5.8949835435421309e-03 1.2668604701746260e+00 +571 -5.8319695873302957e-01 -1.3686583581006648e+00 -6.1887034490520343e-01 +157 -1.9577166425908565e-01 -7.1842052927751143e-01 9.5174945626638432e-02 +589 -2.7428961192436545e+00 -5.5549669448955263e-01 1.2876481386379277e-01 +2827 -2.3878300087664197e+00 7.9687023084276787e-01 3.6247992276435426e-01 +200 -8.2824393141716146e-01 -1.0712711107460499e-01 1.0051656502469479e+00 +1851 -3.2734915996982916e-02 4.4290433440506594e-01 1.1735739759196624e+00 +981 1.4176972123083076e+00 4.7491079612751946e-01 3.7384387749602338e-01 +1188 1.8731126019539543e+00 6.7741459978282259e-01 -8.0422818177112887e-01 +416 5.4860960175182050e-04 9.5543338631434360e-01 8.9127456295431140e-01 +466 6.3036819167946878e-01 1.2941122584698417e+00 -5.7932835068807920e-01 +285 7.1104375527075314e-01 3.5069583844144858e-01 -9.0628046650532290e-01 +731 -1.1880023560209487e+00 1.1703729908055514e-01 -1.8669997748626410e-01 +2716 1.8008620667414085e-01 -2.1566052525330312e-01 -5.5133409995768123e-01 +2610 -1.5038354676870589e+00 1.0540191061865469e+00 8.0548194127003858e-01 +490 6.6261274237286238e-01 -5.5713181798834532e-01 2.9659242469945435e-01 +2520 1.1263913893607050e-02 2.8703716440270399e-01 -7.0717486852527878e-01 +1991 -5.5010959546067517e-01 -2.7803879245647306e-01 1.5228121864364080e-01 +2720 3.6128034136731230e-01 -7.3986006917279012e-01 -1.1445490789762920e+00 +2650 -2.4552807323865353e-01 1.0661538926143994e+00 1.1465371513510727e+00 +1978 -3.7495828693096317e-01 -8.9821560705698722e-01 -2.1957903384551609e+00 +100 -2.9228230011866774e-01 -2.2661876820187579e+00 -1.8713692128319841e+00 +729 1.9683809770117591e-01 1.2238908707238121e+00 -8.4829634465447212e-01 +2063 1.3537282056810934e-01 -8.6381924065171412e-01 2.8937782015379437e-01 +1363 1.5266185198447362e+00 5.9896695179031434e-01 -7.0969644416520494e-01 +610 -1.4236407581079505e-01 -9.4630376351877332e-01 8.2147434007905729e-01 +1592 3.3219339353015170e-01 -7.2623048047122274e-01 7.9370328720232641e-01 +2470 9.9011373427930738e-01 1.6045905095754291e+00 9.8198038457762982e-01 +1268 6.0469545107127647e-02 -1.3936020684062829e+00 -1.7651879457246726e+00 +1074 -5.8476567375262323e-01 -2.4190653185191427e-01 -7.6695682822629130e-01 +2916 6.7587585974136888e-01 -7.5959709839236655e-01 4.3630066144312124e-01 +2291 8.1981286268039535e-02 4.5300233535736700e-01 -7.1969791719642595e-01 +27 -1.6783039451300272e+00 -1.5594967004506186e+00 -1.2199332114272978e+00 +162 -3.1588240351253621e-01 -1.8572268559815946e-02 4.2387071205121413e-01 +1538 1.1434390506588423e+00 -6.3973149593909995e-01 -2.2949907162457034e-01 +2688 -1.5710328448916244e+00 8.4117621491830019e-01 6.5620803998619737e-01 +1859 -6.4004341459227021e-01 -2.0022720724514625e-01 1.2045649066881567e+00 +2231 -1.2985744737290648e+00 7.5542264933221664e-02 2.2869423730836265e+00 +266 -4.5407838128652611e-01 -5.3479782192362546e-01 -1.1219277182627940e-01 +1718 5.5316174892821757e-01 -5.3100643464225927e-01 3.9457620365011054e-01 +1146 1.5500084827590732e-01 -1.0680565503413981e+00 2.0710110175317635e+00 +1911 5.4379990630329167e-02 -2.2559249159891666e+00 -9.4266813909284417e-02 +1891 -2.0124653326505211e+00 -7.2492422444286242e-01 -4.9326197986180154e-01 +2311 1.6947559355533499e+00 -4.5546477912744382e-02 1.4946304014382955e-01 +365 4.0961006126123728e-01 -1.8048296567632351e+00 -3.8306563665245769e-01 +339 1.2399716567819383e+00 -1.2849082073740362e-01 -3.6469904706091760e-01 +1313 -6.0397104061123685e-01 2.5541351734744239e-01 1.7624755732111752e-02 +1946 1.8647977557583340e-01 -4.5414576932260858e-01 -2.0975172349423956e+00 +888 -8.3121675392704897e-01 -2.3535086418125262e-01 3.9588750300921677e-01 +1124 1.5115658568923502e+00 -7.8114081118262046e-01 9.4716586744514097e-01 +2820 7.5908308357841925e-01 -1.3189953522831205e-01 -8.7444315961650632e-01 +2815 1.1501705949080913e-01 4.9358512536760069e-01 1.0705530534318078e-01 +98 5.3481807398055636e-01 -1.8123713131756745e+00 -8.3390327226177896e-01 +2132 -1.2698371477343200e+00 -1.8983692054949153e-02 -8.1713320827481206e-01 +40 4.7931410675976238e-01 8.5999223971509653e-01 -1.0511445967547484e+00 +1889 -4.1572152569288634e-01 -1.7365002772439531e+00 -5.2188418440023654e-01 +1097 -8.4650113040520258e-01 -1.1421910704715619e+00 4.4538006711429623e-01 +2321 -2.9284113308820936e-01 1.9772655813551487e-01 2.3121523219453458e-01 +1190 -1.5551847869695812e+00 3.2853017687404928e-01 5.0811085635761943e-01 +2773 8.8733782328966970e-01 1.0923334892491612e+00 -1.6809008814214836e+00 +1036 -6.8781169126220931e-01 -9.4692984210659081e-01 1.4722827312305069e+00 +1294 -5.8437028428041116e-01 1.0590863600745071e+00 -2.5263479611314068e+00 +2881 1.3571727075599402e-01 9.9506916363900033e-01 1.2560688089584973e+00 +794 1.6652732390476095e+00 6.5392014046697078e-01 1.0325857577539943e-01 +2922 -1.0047105056952343e+00 -1.1610456126878332e+00 -4.3748659216961161e-01 +709 1.4215525003833016e+00 -6.3994200007946989e-01 3.8517320541465683e-01 +390 1.4696339459042029e-01 1.0479596178750472e+00 1.0620135356651876e+00 +992 -1.6323572956087118e+00 2.4477654922448768e+00 9.9893857797511351e-02 +649 5.8324596671942952e-01 -3.2654910675389243e-01 -5.4632480948787043e-01 +209 2.5686314855748460e-01 -1.6509539906182269e-01 -2.9600316113709496e-01 +2714 7.9681350335968748e-01 2.1341822484566917e+00 -3.4901181139178644e-01 +1585 1.8364635174229460e-01 6.7893142692893416e-01 1.3757156861216716e-01 +1995 8.6983451731996508e-01 -8.3910381279634783e-01 1.7777489518995666e+00 +358 6.4458796665344165e-01 -1.7913804128665836e+00 7.8932202988441602e-01 +1304 4.8813567031279442e-01 -5.5917962552520725e-02 -7.5466119459388614e-01 +1648 4.2813095711455035e-01 -1.0249794599176825e+00 -2.8320059755777399e-01 +1031 -9.4633377638090510e-01 -1.0731424270824297e+00 -6.3246228235980939e-01 +1998 4.8588522186546812e-01 -3.2713308972042748e-01 -6.7174887976646880e-01 +1329 9.7319506420938562e-02 2.1790336471478109e+00 -2.1857018548157803e+00 +2083 6.8154519227887167e-01 -9.3036398746248172e-01 2.7835603376223172e-01 +2504 3.1450408617165521e-01 3.2715215513693482e-02 1.0578110665228441e-01 +2458 -1.8301331643991015e+00 8.5630235590619025e-02 -6.6870999562262601e-01 +774 -6.8781271908776365e-01 -1.4171184761693871e+00 -1.1521430986283803e+00 +663 -1.2734848072550595e+00 1.6972131728143869e-01 4.1943720630999692e-01 +2776 1.8836841250606819e+00 5.0744990529201961e-01 8.5012270135031731e-01 +188 2.0457853145871572e+00 -1.2951530833058309e+00 -5.2815949710758392e-01 +1282 1.2506125724175676e+00 2.0814805829849461e-01 1.9847042803312764e-01 +1228 -7.3940101325752627e-03 -2.7855174434335050e-01 9.3157321393712611e-01 +1727 6.3525047448596772e-02 9.5682300141267052e-02 -1.3280366626301121e+00 +2305 -1.5175584941099862e+00 5.4955565840714149e-01 -1.1894776539783396e+00 +1840 3.9996659736817275e-01 -1.5822837864367145e+00 -1.1911947219773686e+00 +2530 -4.2903886170161221e-01 -1.7063159137594061e-01 1.2095794443088681e+00 +1067 1.0983500016350263e+00 -1.3830027408031249e+00 4.4505312245560208e-01 +2941 1.7689467265497909e+00 -6.0414615127849003e-01 -5.2587939272749229e-01 +363 -1.4184667107514889e-01 1.3450360424139278e+00 1.7190802886201075e+00 +860 -1.2059727568295850e+00 -3.0634029235547200e-01 1.2858838021721355e+00 +465 -2.3583097434195416e-01 1.9930654556798699e+00 -1.5919850064187808e+00 +1252 2.0975767922315280e-01 -3.1865890167602789e-01 3.0586340765584152e-01 +489 -1.8497393086596653e-01 -9.7254678472285916e-01 8.7491057347247481e-01 +2119 8.5022924969847935e-01 -8.8843490206654985e-01 -2.4881968786161968e-01 +2507 -7.9934631820789881e-01 5.9084811711657714e-01 6.3656669616734751e-01 +122 8.8797474136046750e-01 -1.3054756840479365e+00 -1.4610036565861224e+00 +1111 9.2120358149982884e-01 -1.4297546909881249e+00 -7.2511763180503930e-01 +667 3.5212178681460404e-01 1.3500826992140322e+00 1.2705433588375386e+00 +726 9.4629187428432382e-01 -1.1450264070543281e+00 -3.9292961094985646e-01 +2541 1.4495450188992029e-01 2.2518284571883691e+00 1.0891664965102019e+00 +164 -4.6891059569092303e-01 -1.1408318369005497e+00 -1.3766142407720006e+00 +2935 -1.7155554240707294e-01 -7.0730142300985310e-01 5.2025352188030305e-01 +2808 -7.2054697232789178e-01 -5.4326607022759454e-01 -1.4677566486340943e+00 +2949 -2.9001568225941965e-02 -3.1513149885243363e-01 -9.2172569962359521e-02 +1368 7.3157906611468881e-01 -1.0015771868219201e+00 1.4020681717811636e+00 +685 7.2282056220186097e-01 3.0976593029601063e-01 -6.9562990147908454e-01 +1772 -1.0910466347202816e+00 1.6338893218444444e+00 -7.0282569038858944e-01 +2578 1.0688208265638630e+00 -1.4851289360956021e+00 -9.1708768818086761e-02 +1007 3.6611331380515305e-01 1.0156926261209656e+00 1.8580495391768997e-01 +2851 -8.3520759046018467e-02 -4.0216463094297034e-01 9.2160062554023303e-01 +1236 1.1458969215641392e+00 -5.5507405441894486e-01 -7.3253188553382986e-01 +627 2.3152861998608070e+00 1.0555485326385250e+00 6.5964173231209644e-01 +1231 -1.8829044330328428e+00 -7.6513119869458712e-01 1.9914812185223263e-01 +1826 -5.6568505869467023e-01 -1.4201105247676152e-01 -1.0076752363086112e+00 +1667 9.1432199839581885e-01 1.2954550209716966e+00 1.5843194774455960e+00 +2744 -7.4056758196274908e-01 8.3787194542779964e-01 -1.6814081227619324e+00 +1742 -6.3030909041244776e-01 1.1780382157353182e+00 -5.2797652932909567e-01 +2833 -7.8689577839787483e-01 5.0825164268051648e-01 -2.2231164864763489e-01 +852 -5.7607552324752939e-02 8.4536918563523877e-01 5.5089074806404104e-01 +972 -2.4242928981513220e-01 -1.4060484760687051e+00 -8.0155596694424858e-01 +42 -2.4420672269444905e+00 -2.6753333128891593e-01 -6.9696812043623690e-01 +2785 -6.2806068374167456e-01 -1.1465648741756360e+00 -9.8055326569283463e-01 +3000 2.0294402365697186e+00 -5.3217686578630663e-01 -6.8566254630574741e-01 +2123 2.0559270391818187e+00 6.2544079999007962e-01 1.9400899510934375e-01 +575 -1.3023401651754627e+00 -7.6927022555381724e-02 -3.5501348030019025e-01 +2015 -1.0741324115265392e+00 -1.5934812142468975e+00 -6.7886094979261080e-01 +750 -2.8983283390932391e-01 1.0725299852953001e+00 -1.8868055164071791e+00 +546 -6.0910897854529589e-01 1.6194909166570171e-01 1.0448600329654524e-01 +448 -1.1547018227948172e-01 9.1786679865524889e-01 3.0302695127329826e-01 +1426 5.3128178375547408e-01 -1.4910258551135116e+00 -4.6847470858391360e-01 +1275 9.5132561730565313e-01 1.2225164405749802e+00 1.7671039337390841e+00 +1867 -6.9304009511898290e-01 3.7681852711984648e-01 8.8388576650765716e-01 +2627 9.0028465914332834e-01 6.2588583988653546e-01 4.3999197905916787e-01 +1156 -4.1433804922916201e-01 7.9508752785533421e-01 9.8699791821552973e-01 +2464 1.1456471147013987e+00 -6.1740449270858400e-01 -3.4847657248467473e-01 +671 4.0406369709429962e-01 2.2275169702595270e+00 5.8791074662154630e-01 +2945 -8.9276083017016594e-01 1.6827791997659385e+00 4.4904163546194620e-01 +529 4.7958093755599801e-01 -8.9074705768067830e-01 7.3417776692256165e-01 +1211 7.1324276630250028e-01 -9.0747479017413457e-01 -4.9960090058295359e-01 +767 -3.6437334987867881e-01 -1.0149281189305150e+00 -6.8637358787729519e-01 +1194 1.5347203533254633e-01 -8.9096864570621670e-01 -1.8208663870178537e-01 +550 -6.9712098631606600e-01 6.2026970521003300e-01 -1.2940371018914068e-01 +2479 -6.6852329001280575e-01 2.5413838328460647e+00 5.3500703547183237e-01 +609 -1.0865502812787953e+00 2.6376349148380593e+00 1.3301968182523334e+00 +2038 -2.9579504661866129e-01 8.9932961519903390e-02 -6.2395912489639405e-01 +1783 -2.8299971852137495e-01 -7.5519986305563624e-01 4.5759479016231275e-01 +1285 2.5356468948671235e-01 8.3388792999607331e-01 1.3067877333749023e-01 +409 6.6964589033398580e-01 -8.0564785808248562e-01 -3.8006983670797762e-01 +2940 -1.4439430138113387e+00 1.5409719072751797e+00 7.5554773794821273e-01 +696 3.9997586897535742e-01 -6.5334719475081660e-01 6.3303475217048466e-01 +1490 -1.9768071823629194e+00 7.5742375641505466e-01 1.5869011711412317e-01 +116 -7.1094895602964936e-01 1.4517853939512876e-01 -4.6453430092584025e-01 +2502 1.3641522803182764e+00 -9.8560091361766555e-01 2.9859736123923164e-01 +1636 1.4503708867169216e+00 8.6758442026440397e-02 2.0367388472301826e-01 +1044 8.0607152966424189e-01 7.0079190771077926e-01 -9.7716157915031732e-01 +121 -1.3382310541959701e+00 -8.7702125379409845e-01 -7.1656514445124164e-01 +2213 8.9274020316187641e-01 5.0225319608431329e-01 9.7857244748007066e-01 +177 -1.5916887362484657e+00 -2.6848923062934765e-01 -5.4041901340515619e-01 +2679 -1.1616517077824935e-01 -1.2570599355747469e-01 -3.9889041497370992e-01 +1027 1.1919271416329174e+00 4.0584452806984983e-01 8.4932402398610285e-01 +2719 -1.1655091257808878e+00 6.9479950535492918e-01 3.4478073707679058e-01 +1053 -4.1206925486452661e-01 -8.3714251661864469e-02 1.9100575592709710e+00 +91 1.7463382389596289e+00 -7.0538908659871502e-02 -2.3491371273540689e+00 +486 8.0761214081284671e-01 -9.7568912739834168e-01 -1.2563075327741813e+00 +321 5.9365423634849512e-01 1.2663293443913322e+00 -7.5407469636792415e-02 +775 -1.5557671114437110e-01 -2.8313097297609335e-01 -1.8543168213480582e-01 +198 1.0774395318842611e+00 -7.0495663980951151e-01 -3.6039988547495377e-02 +1617 -5.2181973909334189e-01 1.1963308610115175e-01 1.7526642320927257e+00 +1806 2.9424900862237136e-01 2.0256172546088602e-01 4.5215266111740543e-01 +2351 -6.3422508301049074e-01 9.5214464937181020e-01 7.2054401544161062e-01 +637 1.0909459905730163e+00 -7.6332227274921061e-01 1.4837142588094228e+00 +578 5.8120727526900273e-01 -8.4480872664481371e-02 -3.2448532939099684e-01 +1547 -1.9023019861849211e+00 9.4499495306960435e-01 -1.3495682326609038e+00 +474 -4.4663317063615082e-01 -2.3716764711402201e+00 -5.8725877257131659e-02 +1572 -6.3004530159917571e-01 -6.7195970618311329e-01 2.6543477706339075e-01 +21 -1.4080347556557132e-01 3.1466241892764230e-01 -1.5811230796164379e+00 +332 -3.6330536780723810e-01 8.1393878066321790e-01 -1.4783974741096806e+00 +2287 2.0661588266358089e+00 -1.2049120288450508e+00 -1.0441935535952735e+00 +299 -1.7103236606305883e+00 7.8438270616205297e-01 -1.5526186464154283e+00 +1472 -2.1409624604670348e+00 -1.6440741561050722e+00 -1.3566044495063073e-01 +2074 -1.4493541997473158e+00 1.8165280826322481e+00 2.6616369935712292e-01 +1518 5.5740695601828816e-01 -2.5071746382916016e-01 1.9311753041215757e-01 +351 -5.2335576182274435e-01 -1.8909760411227519e-01 -3.4987179518585387e-01 +635 5.3507243752698241e-01 -8.6622435273805787e-01 1.5043970372360842e+00 +2230 6.8084541245661059e-02 -8.4765851269107240e-01 -1.2119804586312038e-02 +664 -1.4871795053485657e+00 -2.6358973603369884e-01 7.1066679328399440e-01 +1885 1.9252747591470332e+00 -1.5338386087903293e+00 -3.8704831907369175e-01 +1579 -5.3733932249430127e-01 8.0541018046231261e-01 4.1184187910475845e-01 +1033 -1.0565059570003221e-01 1.6702724388863177e-01 -4.7918025995028363e-01 +1886 -4.9926102620253898e-01 -7.7833116889968512e-01 -1.9265584344089368e-01 +269 1.1515766631558915e+00 1.3810800419351876e+00 -1.3305682143814881e-01 +2030 -3.1671727754969375e-01 8.1752836021054265e-01 5.5545614351176165e-01 +2645 -1.1680266018583014e+00 -4.1901225183269952e-01 -3.0151349421233903e-01 +1842 -4.8455900743229557e-01 1.0998939977997618e-02 -2.8197055021940293e-01 +2482 1.2965928980877293e+00 -1.2326478025914915e+00 -1.0862018126003927e+00 +71 -1.3834583063209539e-02 -4.4637707450413372e-02 6.3741944458385924e-01 +783 5.2116481733977704e-01 -8.8293367583562243e-01 3.9928834735112839e-01 +2733 4.1275462598355889e-01 -1.1076325846443313e-01 3.7476401851921213e+00 +503 9.6299125435439392e-01 -8.4116410724843285e-02 3.4464256056185388e-02 +1006 1.0421084505362268e+00 -1.4449504982447843e+00 2.0345881401052499e+00 +2515 1.3691676185713626e+00 -1.0437097558117845e+00 2.6414299085820919e-01 +2556 1.1597165883702236e+00 1.2355931643610260e-01 3.4611718966629484e-02 +470 -2.1707568574262634e-01 4.4948751888090416e-01 -1.1966274844961531e+00 +1400 3.7692357588345005e-01 -3.6822904551435598e-01 -2.6792730410821841e-01 +329 2.5265416739595559e-01 1.8205405109576744e-01 -9.6755084732490915e-01 +108 -1.6813725290349386e+00 -1.2031648080810158e+00 -1.4284389784393003e-01 +1355 -1.1464252857028145e+00 2.9040785920647272e+00 8.1335304166695865e-01 +727 -1.3786132286301063e+00 -6.4639401539278474e-01 -1.2520319112384648e-01 +1229 -1.5270530457766449e+00 -5.4203843050364509e-01 -1.1375735623582468e+00 +1584 -1.3234941113083447e+00 -1.3738144541020463e+00 -6.7381223061039941e-01 +2146 -2.5168835260548633e-01 -2.5274369199726316e+00 3.3345964461846545e-01 +655 -2.3895499593483001e+00 -1.8597149385672526e-01 6.6755548308526008e-02 +524 -1.1436184604860873e+00 -4.5550118988617588e-01 -5.8144102378038287e-01 +2144 6.6813065306583508e-01 -7.0896879872475593e-01 -1.7418267205075506e+00 +1619 6.8761116439674830e-01 -1.2768168382723015e+00 -6.8864552921029010e-01 +2215 -1.1688791830516696e+00 -8.1691244737043200e-02 -1.2400294168919206e+00 +2169 1.0142692333224625e+00 -4.3752201437176202e-01 1.4336696441657670e+00 +969 -1.6956642438733063e+00 -1.0124354028426690e+00 -1.1172385195105725e+00 +954 -1.9926990749830624e+00 1.2220767217525532e+00 -6.6113881816620934e-01 +382 1.0717121791177045e-01 -1.9508899907823982e-01 5.5913039513008367e-01 +2012 -7.1709853741589002e-01 -3.3579390355340924e-02 -1.0611756038681015e+00 +1467 4.2036797789807046e-01 5.2543136904456000e-03 6.7099203299282217e-01 +39 2.9108816631581325e-02 9.2383942645548367e-01 -1.9181532061892932e+00 +2809 1.3832120279823179e-01 -7.1429957275264955e-01 4.8351510754211119e-01 +1340 -6.2998240944035155e-01 -1.1954633222230011e+00 -9.4184273712168587e-02 +2354 -7.9058834674580025e-01 2.2078019201434729e+00 -6.2660623232083135e-01 +1382 -3.1799903817693492e-01 3.3876089057959546e-01 7.4690480926599712e-01 +2574 -6.1238678889028786e-01 1.3932802588387823e+00 1.1565063487770373e+00 +1744 2.2702689127382585e+00 1.8241578390635033e-01 1.3582629926552432e+00 +1171 -1.1039488999485250e+00 -7.2255520756122671e-01 4.0019436153523896e-01 +748 4.0433776248164577e-02 -2.2391464216796370e-01 1.2106497159742477e-01 +1379 -1.6218338897471889e+00 -7.1672611610336778e-02 5.2786500784863544e-01 +2799 -1.5634811646148922e-01 -3.1509641093662322e-01 -8.8638726842399906e-01 +2965 -1.8083550650062348e+00 2.0742208987515401e-01 5.8407003930045742e-01 +2041 -1.5456637218095461e+00 -1.9536494874710331e-01 -1.9147721528940898e-02 +1266 7.0958815003753772e-01 1.4445297332519377e-01 -8.9890910699562426e-02 +1908 8.8790721248266424e-01 1.3808207858049587e-01 -4.8909560054212947e-01 +1691 -1.6528625310921770e+00 4.3014791507074679e-01 4.7902197495524301e-01 +227 -7.4729393878769124e-01 2.4101839023014210e-01 1.0641956525440026e+00 +12 -1.4420166182420611e+00 -1.0960541418613992e+00 1.3759545006011933e+00 +722 8.4653463233922399e-01 3.2540740809771085e-01 1.2897549176882477e+00 +2819 4.7248356929452834e-01 7.4945102615788195e-01 -5.7401289226463059e-01 +2730 -6.7377754995547234e-01 1.4640302542676111e+00 -6.7125897958925562e-01 +372 2.5792607471623374e-01 -3.5610619298218549e-01 -1.9074863732621239e+00 +1493 -7.5135376869609782e-01 -5.7647581953128735e-01 2.5396746013674132e-01 +2658 1.0315857441258740e-01 -1.4801712733888470e+00 -2.0085789084011645e+00 +238 -9.0572059315921949e-01 1.8257486430024089e-01 -1.5632470154923475e+00 +73 8.3229700239391335e-01 1.5307491829626809e+00 -8.9525662139504159e-01 +1071 -1.2689017523560386e+00 -9.9031817099666142e-01 4.8623082711626570e-01 +2663 -4.3611993302666741e-01 1.5425398501724608e+00 1.0066535259013658e+00 +2485 2.1805208751273097e+00 -4.2135786403323977e-01 6.3951515806128312e-01 +996 -1.6844544226913594e-01 -6.8583754832800270e-01 -1.2020128740506602e+00 +89 1.7045452318197523e+00 -1.3097958246840333e-01 -1.1504071781817173e+00 +2221 1.2786376841880194e+00 -1.2948091675990276e+00 -2.7099160248297993e-01 +1439 -7.0056487984047611e-01 1.4269851952800461e+00 -6.1540422001314932e-01 +2312 8.5295357365396318e-01 5.7455222072984702e-01 2.4031359882976799e+00 +1042 -3.9378975232236846e-01 1.1342440813334469e+00 6.4076605688365862e-01 +2877 -7.6249723309493075e-02 2.5028655789241666e-01 -8.2003896731247872e-01 +2306 8.3064458550426012e-01 -2.1439671809200336e+00 4.1011194534645801e-02 +1610 1.5453663218090001e+00 3.0821895939194038e-01 -1.2848718248157011e-02 +2148 -6.2843401865701576e-01 4.0593138276875917e-01 -1.6125491543985520e+00 +580 -8.5089964670190477e-01 -1.0506563629131078e+00 -4.0902299131592945e-01 +2055 6.4083332095246182e-01 1.0710714785877027e+00 2.1578091168786256e-01 +305 -3.9682593215303430e-01 -1.2330449471321532e+00 1.3034360309000377e+00 +531 1.7353118722045853e+00 -4.6778439869246746e-01 1.2757338296830528e-01 +801 -1.3899912019333645e+00 -1.2803064747278357e+00 -3.4640998748482610e-01 +2689 4.0563879916072287e-01 -4.1824397690934684e-01 7.1487712563972095e-01 +404 -1.2999935018433011e+00 -2.7118283199224669e+00 1.2107072760012316e+00 +2838 -1.8812523475335030e-01 -1.0582492370109722e+00 5.3138082868760227e-02 +700 -8.3781801590837290e-01 9.1993758388532409e-01 1.8420571004121572e-01 +2020 -1.1345829010535280e+00 1.5188963401657737e-01 -1.3270352551731837e-01 +1552 -1.2877552007461557e+00 1.0091711336471827e+00 -2.1163801776856945e+00 +779 -1.8768570872333363e+00 -4.5485640057441801e-01 5.4418296254020215e-01 +2918 1.4097832961475598e+00 -1.3132643925274814e+00 -5.1656850430545365e-01 +1964 -3.1067905264905593e+00 6.8783120223773242e-01 -4.9073760089888729e-01 +1684 -5.5297097063861211e-01 -1.3375872026780633e+00 -1.1341936738093981e+00 +41 3.6124909278043121e-01 -1.6552965907200765e+00 -2.4662069155998453e-01 +2762 1.6563495866117783e+00 -6.3166381443468322e-01 2.2219149512901587e-01 +239 6.8577364949818687e-01 1.8781132897489623e+00 2.7917355188358961e-01 +2203 -1.7858449853980693e-01 1.8847819228087455e+00 -1.6744533643640733e-01 +1706 6.4029189197021730e-01 -1.2812573589343428e+00 6.5213728186616249e-01 +1324 -2.1430809594750637e+00 8.6552159738878887e-01 -5.0965518425641843e-02 +1578 -4.0533892932054044e-01 -4.1400889480901459e-01 7.6218663733452308e-01 +2404 -1.2937801862218994e+00 3.6262494850465921e-01 5.2380482315735921e-01 +2149 -5.0305534877719671e-01 -2.3847666986657985e+00 -7.3076733716937414e-01 +2844 -8.6472144599594666e-02 6.4114648470234259e-01 2.3793694398553089e-01 +1405 1.9477127578576475e-02 -1.0716848206696139e+00 1.8483791667880456e+00 +1250 1.2944562623012943e+00 -7.6415346208543455e-01 1.3173631619101431e+00 +48 8.7512927967776377e-01 -1.0166903892814101e+00 4.7053283215691860e-01 +613 1.2206362651568106e+00 -2.5287660825161412e-01 8.1135823263597884e-01 +2495 5.3189318962740695e-01 -1.0450248011120387e+00 3.8439595603751131e-01 +1234 -7.3502585535057174e-01 -1.4117668767640377e+00 1.0908201581117054e+00 +2911 -1.2290676515866965e+00 3.4872399697363210e-01 -8.5316123507766251e-01 +1937 5.5879513197359887e-01 -1.0358198793416273e-01 -6.5276438883576393e-01 +1017 9.6606192159988169e-01 -1.2266874754879078e+00 1.3835763044595701e+00 +1444 -1.8906585298954515e+00 -8.7230288725892347e-01 -3.0456796106478007e-01 +2214 1.2884405751121679e+00 9.7265674122355761e-01 -9.1907716430162623e-01 +1500 3.2471285456853066e-01 5.6766677160365520e-01 3.9408653611464339e-01 +953 -4.5193114076177476e-01 -2.6824574510276838e-01 -4.3933360746740474e-01 +1697 3.6722209804353989e-01 -6.8565309514596740e-01 3.5721939772524025e-01 +151 9.4662463121224427e-01 3.6355553209666192e-01 -7.1670692738098918e-01 +185 -7.6330218776583347e-01 1.2875767415473414e+00 -1.7701826111605103e+00 +2633 -1.3666000094817796e+00 -5.5178006865764961e-01 8.7002661674892057e-01 +2329 -1.4278313823292643e-02 -4.8496558563299602e-01 -2.9326665879872338e-01 +1451 1.1696786316780923e+00 6.2407931822419804e-01 4.6095931750361419e-02 +1701 3.2657414871614282e-01 -1.5429654365773157e-01 -1.6127116696229555e+00 +806 -1.1671472674514018e+00 1.1460433213579975e+00 -3.2127425662967235e-01 +1800 3.0869532332530408e-01 1.0243366766919548e+00 6.6744176269019895e-01 +902 1.5586988923262560e-02 -1.7892985997070963e+00 -6.5697265456982623e-02 +485 3.6829731244196251e-01 2.0241442323245468e-01 -1.0205274597964933e+00 +1948 5.4782675855066099e-01 1.6893689300853409e-01 4.1398538785263880e-02 +150 -2.6359633812679523e-01 -2.1767044682195058e-01 -2.7009391570854718e-01 +994 -4.2850567168450690e-02 1.3240072831902266e-01 6.5898112466228453e-01 +2294 2.6305205934040654e-01 -1.5969655114639714e+00 -5.7134805427645752e-01 +2389 6.0654338148097731e-01 -1.4475280308643854e+00 -6.5093853152483749e-01 +1428 9.8587773175902316e-01 1.0157960793413070e+00 1.4592294683803382e+00 +1293 -8.0418886408572254e-01 3.2122640193926300e-01 8.8598772046744556e-01 +2376 -1.1947934720205184e+00 4.2808461273440079e-01 4.6486065339935473e-01 +267 -2.2857056547049359e-01 -1.3814884748680076e-01 2.7442025597743802e-01 +54 3.9813239986495713e-01 1.6782985042425553e+00 -1.3111267103950128e+00 +772 -1.2447169260936137e+00 -3.4142861605117003e-01 4.2263336914170663e-01 +1593 6.9267967708617995e-01 2.1416457572663474e+00 6.0839902409609636e-01 +222 -1.1943265492588809e-01 8.6095308127370526e-02 7.8858988160796673e-01 +2846 9.9678840027860105e-01 1.0135863904222511e+00 -1.2421730764332302e+00 +194 5.0760234516961034e-01 -1.2302726524215668e+00 -1.2064784840619194e+00 +2796 5.3068033176615925e-01 1.0051650461400456e+00 -6.4608490785496520e-02 +2270 -3.1911917694459047e-01 -1.4646281213347296e+00 4.5188648531529196e-01 +440 1.0146924343663097e+00 2.8179268290078363e-01 -3.8098075766497452e-01 +1818 -4.3607704229412136e-01 4.9671109606532726e-01 8.4342645799893839e-02 +1254 -8.0946263315755190e-02 8.1017058104026274e-01 1.1658978589407312e+00 +16 -8.5836063221035741e-01 1.2073603733809264e+00 2.3992146431996370e-01 +1788 1.5033647396964389e+00 3.9830552447565160e-01 -1.9924830634024315e-01 +558 1.4662424869195649e+00 -2.1311772223771781e+00 3.7996966969798196e-01 +85 4.1853489090456142e-01 3.5538811435441148e-01 9.1585299152124322e-01 +493 5.7575530766325211e-02 7.7725038981338157e-01 9.2095179732428678e-01 +2275 8.4046258301859067e-01 2.4390057923938591e-01 4.0746856875455101e-01 +858 4.2900826550381443e-01 -4.0017499609525076e-01 -9.8806507504869612e-01 +2229 -2.0069903184775213e+00 4.9809458844239490e-01 1.4328222741375656e+00 +2472 2.3757446477940242e-01 -9.6964611511265930e-01 1.4625358416544940e+00 +1280 -2.8362874391870507e-01 8.3214877363498552e-01 1.8154480446520985e-01 +353 -4.6877582300080334e-01 -4.3961710019945882e-01 1.3373390618046144e+00 +1001 -2.6746558095567230e-01 2.8211550797975893e-01 -5.3909621757048998e-01 +1813 4.6803490748508259e-01 1.8840980508695084e+00 -7.6575033776122892e-01 +730 1.0926675300841515e-01 2.2354758347256101e-02 4.3083389751235146e-01 +1202 3.9974568487647311e-01 -2.4189742239796637e+00 3.8308583807914487e-01 +280 -3.4068936341448108e-01 -4.7527204753272234e-01 -7.8028734179329995e-01 +2056 1.5562324232076030e+00 -1.6917296775945210e+00 -1.6904241785482352e+00 +2865 6.4728840126826837e-01 -7.5364827451322525e-01 6.3969897871372650e-01 +2508 -1.4106800608789836e+00 -1.5606747708182780e+00 1.5073085406010587e+00 +1525 2.4165130737257376e+00 1.7527138971817926e+00 1.2841143003784308e+00 +1611 -1.5765207858881880e+00 5.5645343705938155e-01 6.2347914060278720e-01 +1815 -1.9476689167589314e+00 1.9881933299800361e-01 1.5103986453494813e+00 +2805 6.6443312538104504e-01 7.0476344994594387e-01 -7.1855732066170452e-01 +1305 -8.7783372181518582e-01 1.1768201323182734e+00 -5.9198271688232093e-02 +2486 2.2761594017335538e+00 -2.4960075314371874e-02 1.1415418154265806e+00 +1155 9.6095433930222773e-01 -1.8566385793189277e-01 3.0608672963643524e-01 +2420 1.8971819431993262e+00 9.4477524466527019e-01 1.3547637542039737e-01 +1797 -1.3954098091790492e+00 -1.3578415621999367e+00 2.9559174839985852e-01 +676 2.7976491901563638e-01 1.3654535226510727e+00 2.4148633439003137e-01 +786 2.7736424469109583e-01 -1.0927075555562413e+00 1.0505229359087276e+00 +1952 3.3034937747732263e-01 4.8281986747376088e-01 3.0400633901943475e-01 +1318 -3.1283972139250993e-01 7.0064906582180086e-01 7.0520302672019008e-01 +670 -1.4813448759433201e+00 -1.1101689427136552e+00 7.8409043139837953e-01 +2708 4.7831625840827285e-01 -6.7337036888966251e-01 1.3421840938068652e+00 +2129 7.1867613540491881e-01 1.0813053490078632e-01 5.2092746629039099e-01 +272 1.2224036302199351e-02 -1.5159988845227002e-01 -5.9286706121333710e-01 +2579 6.7229997462974855e-01 -8.3121672371427213e-01 -3.0737379503293333e-01 +1409 1.9515476565809872e-01 1.2060584265496022e+00 2.0758907617032452e-01 +963 3.1439350520002529e-01 -1.2516948266505430e+00 1.8094943777431909e+00 +2584 7.0202019826558493e-02 -3.8288973738163290e-01 4.2848207725441051e-01 +843 2.1393831711986266e-01 1.2433352433730699e-01 -1.9481002668799339e+00 +1700 -3.0673347177662796e-01 -4.4222969687750247e-01 5.2908528494775342e-01 +1679 -8.7813195630002094e-01 8.8123876547802016e-01 4.4650789122720669e-01 +1048 2.5558219939481175e-01 8.1318932508979236e-01 -5.4402361314064462e-01 +2526 1.1266163532335913e+00 1.2871007354747452e+00 -1.4157579441336223e+00 +1576 1.4574851027872879e-01 1.1692980199328158e+00 4.9774948907527178e-02 +1257 -1.9577412390993214e+00 -9.7719213426436913e-01 -2.6229171648793603e-01 +1941 -1.0714784725114851e-01 1.7898342728774075e+00 4.7377242055784385e-01 +869 -7.1979958127931190e-02 -9.3994739247438586e-01 2.6624027734894535e+00 +275 -2.6820574050944435e-01 -4.1251369542603739e-01 6.2889296427195462e-01 +1594 -1.8463883360994437e+00 -3.1013087191547384e-01 1.6637185947670476e+00 +2793 -2.5240738316832010e+00 -7.8124467635674910e-01 6.9669896707605816e-02 +541 3.8495138820957803e-01 6.7113012176975739e-01 -1.1160629329504279e+00 +787 1.1456882801202053e+00 5.4285437262750158e-01 -1.9736461193421290e-01 +669 -9.9599517085214406e-01 -3.8810811063129858e-01 6.0301171612378357e-01 +2587 -1.5903343506497242e-01 -1.3998849197941035e+00 -1.3071727088815518e-01 +753 -1.3356752485429318e-01 6.8597666826885251e-01 3.1295316400615947e-01 +2333 -4.8923940950862344e-01 -9.5822712285638689e-01 1.0719449058937233e-01 +2775 -4.2223158157698693e-01 5.2204607840254036e-01 2.0598739652348802e-01 +1338 1.6924425336341847e-01 -3.8666470221692006e-01 -7.8328064349701887e-01 +560 -1.0730043537950666e+00 5.9995792897858757e-01 1.2427267468570953e+00 +2907 1.6598762077071200e-03 -4.9809036134499574e-01 -3.4565671282473245e-02 +901 8.3501638069976358e-01 7.5599544087262982e-01 3.3176404624810368e-01 +1994 -3.0229446258537986e-02 -3.0185215926507913e-01 6.7170133544637456e-01 +2274 4.4158110279876073e-01 -4.6415115403445095e-01 5.0503205489244340e-01 +746 -1.6291737970956603e+00 -2.7017315653900498e-01 -5.2294906951489895e-01 +1491 2.6022757161586724e-01 -3.7590594838291019e-01 1.9735209932534505e+00 +1396 7.0877401333295609e-01 1.4535528007657585e+00 -4.1506607073419782e-01 +2638 2.6703699747813864e-01 3.9577905966812482e-01 -1.9058596496803792e+00 +2061 1.2168767093796680e+00 2.9464366232810080e-01 -1.4193172112689210e+00 +1020 -3.9829591543263904e-02 -7.3244958831484672e-02 -9.1290622945233246e-01 +1066 -4.1467999010836798e-01 8.1651368986503614e-01 -4.8905678389746465e-01 +1484 2.2204776392953868e-01 1.2904985568760963e+00 -1.5328897187339380e-01 +587 -2.3308798631876604e-01 4.4131409233156060e-01 9.0683001801240415e-01 +2265 4.4681034641586648e-01 -9.8651619283617473e-02 2.3874295820747607e-01 +1650 -1.0535952361125547e+00 4.6185048038356097e-01 2.4018902421736466e-01 +1514 1.0950505323566355e+00 2.8064520008848087e-01 4.7802846276548761e-01 +1354 -7.2927851350221884e-01 1.0883385894683417e+00 -2.6638090070066256e-01 +2608 8.0350822932298371e-01 -1.5901757288046783e+00 -6.8239844844895114e-01 +823 7.6329968862839270e-01 1.0451422431011026e+00 3.0922124667031781e-01 +1269 -2.1190713785003237e-01 -2.4588145824794044e-01 1.3511763595125481e+00 +410 -1.4940721917261874e+00 8.3844734743586047e-01 7.3284897792954662e-01 +1387 2.6221690289664963e+00 5.7477568220813313e-01 -8.1562370360849545e-01 +2154 -6.0807061742257373e-01 8.3000577963417155e-01 -3.1311765968701921e-01 +1145 -9.6577456168747217e-02 -3.0016684841627866e-01 -5.6770847860777052e-01 +2042 8.7710998868707657e-01 -1.0542965810637843e+00 -1.9702247842620976e-01 +1604 -1.7867307547665889e-01 5.2684699473926588e-01 3.3951335507832614e-01 +1323 1.9063572712515453e+00 1.7509595613859663e+00 4.1177068476518852e-01 +540 3.9153162695740312e-01 -2.6560309909901997e-01 -6.6026061003369818e-01 +2943 9.9997171296866971e-03 7.0068051672810872e-01 -8.3487485404326800e-01 +1720 -9.9553864250653679e-01 2.2364775819061791e+00 -2.7067326480245941e+00 +2936 -2.7766109856181664e-02 2.0349947739187026e+00 -3.2837497237032487e-01 +679 -8.2340327740807773e-01 -1.6860112552405861e+00 3.6399273514758085e-01 +450 -6.9512155355646121e-01 8.6747425210166790e-02 5.4624293464418971e-01 +499 3.8617216610043642e-01 -6.6181652182826323e-01 2.9487423589548173e-01 +1934 3.3482776625423738e-01 -1.5586269440962355e+00 1.1939627096193886e+00 +1186 5.2591042731245730e-01 7.9573501126826374e-01 1.5071429294242711e+00 +2521 1.4713165924249061e+00 8.5298266907116693e-01 -2.2075387364838135e+00 +1843 -1.7745310537313436e-01 1.5064409127073164e+00 -5.1220972465073666e-01 +2644 -7.4558851510498159e-01 1.1905514681144520e+00 -6.8701474714288047e-01 +191 -3.2705139276094433e-02 -2.2059681181003530e+00 9.4121382832044398e-01 +1757 3.6141331291226664e-01 8.7544053482630058e-02 -6.5798980409206265e-01 +1262 -2.5014565659619366e+00 -2.7142699327828601e+00 -7.4946085683375641e-01 +1541 -1.8390338643252940e-01 1.0725128350403041e+00 7.6119754085143576e-01 +2124 1.9532156593759814e-02 1.0926625491651093e-01 -5.1323361911346055e-01 +2831 -3.5511943591592665e-01 9.3183475346297995e-01 1.2019675886846664e+00 +437 1.2537233445634255e+00 1.1296205887757227e+00 8.0162195431139416e-01 +1321 -1.0894833457786719e+00 -1.2833666418793741e+00 -2.6068355063478502e-02 +608 1.8858863494360407e+00 8.3170791029221169e-01 -1.8387277116556683e-01 +1208 6.0268907938797234e-01 -8.9803715421974961e-01 -1.7048803450251302e+00 +425 1.8069082329382937e+00 9.6153918058010435e-02 -1.5860840334071939e+00 +1213 -6.4021360974470509e-01 -1.0272778993079528e+00 8.2004564012228476e-01 +720 1.0306098345621939e+00 -1.5871614412342860e-01 7.1077279640501290e-01 +1537 -6.5258226526094276e-01 1.0745689771056470e+00 2.2365433036228470e+00 +1987 -2.7690600965395240e-01 1.9246709298056035e+00 4.3842928549114202e-01 +18 -1.2647125161218273e+00 -4.4680199924767994e-01 1.0107551074365162e+00 +2535 4.0342105293488595e-01 1.9670707774059382e+00 -8.7749751766368023e-01 +1495 1.6664384327809902e+00 1.4754082174266034e+00 1.9514227770865603e-01 +872 5.5479862467665941e-01 1.1432601774954609e+00 -1.0576491188504311e+00 +2634 6.6949650645075220e-01 1.0774058000539404e+00 1.0341222215511922e-01 +563 -2.7319080535672846e-01 2.1880505766776842e-01 1.0744006306426388e+00 +2070 9.2323239661749523e-01 -1.0601916032806913e+00 -1.1131563908792423e+00 +979 1.1444985572162107e-01 -1.7378923519317995e+00 -6.1037516621877674e-02 +2205 8.2678346106457620e-02 -1.5223789254359470e+00 2.8647659790794056e-01 +1981 8.5092487667668015e-01 -2.0974374783768301e-01 -6.6420384082830264e-01 +1967 1.7731438262610066e+00 5.8017764903441305e-01 -1.8728770214315478e+00 +334 -4.0251351151752379e-01 -8.6905045819299676e-01 -5.9311174165674851e-01 +279 -2.2700932399290641e-01 8.5282410347228021e-01 -3.0326927929506253e-01 +2824 -1.6969114784944683e+00 5.3456749417753024e-01 -9.3893560792054653e-01 +2674 2.3073609065010823e+00 7.6098729774916829e-01 -1.4817345237033126e+00 +620 -6.4849761628282843e-01 -3.8930787019227914e-01 1.5110373599273126e+00 +176 -2.3470993751309983e+00 -2.3537535362691248e-01 4.9968586188964603e-01 +2946 5.2726145129722268e-01 9.1513483926869110e-01 1.4738639462207850e+00 +2735 1.0560027554981741e+00 8.0364647721719051e-01 8.2448077481085541e-02 +1415 -4.0992578520123202e-01 -2.2152242961223770e-01 -3.5512861991378791e-01 +1373 1.3077995984512561e-01 -1.2762468051438973e+00 -8.8581332412653213e-01 +2909 9.0378538826013355e-01 -2.3101595612485459e-01 -3.5268087381604563e-01 +417 2.2996491820299406e-03 8.8037466178060020e-02 -4.7554246310834158e-01 +244 2.6286200353163118e+00 -3.7428707164500830e-01 -2.0582195276383706e+00 +1389 5.2061445658651961e-01 -9.2304272146285404e-01 -1.5554478811658432e+00 +813 -2.3427152494816386e+00 -6.6733820580853798e-01 2.8324302459476314e-01 +1866 2.8807552587807217e-01 1.3606647535043965e+00 -9.9032602675649228e-02 +1117 -4.8006018348984475e-01 -1.4801299404806907e+00 1.0858656427951676e+00 +1291 -2.6301586401404464e-01 9.8430716794163620e-01 6.7732551269691854e-01 +2771 -6.8450624546287020e-01 -3.1569819684598788e-01 5.1342767702396008e-01 +1748 -7.5461040191146422e-01 -4.0485835057874293e-02 -1.0699446992082693e+00 +2577 -8.3574955013711572e-01 1.7188169642993667e-01 -2.2410558772569728e-01 +99 2.1250976785104864e-01 1.4663729268953696e+00 -3.7724920575386539e-01 +2173 -1.5524344409102018e+00 1.6082039064186484e+00 9.8525467286149104e-01 +2382 -1.0273187697456947e+00 1.2277050318832861e+00 -2.6645811087393279e-01 +585 -2.0502468278058061e+00 2.0958664091093455e+00 9.8193618399149873e-01 +1079 -9.2696202932667671e-01 -1.8106433742509722e+00 -6.6608141249680652e-01 +925 6.8674690591886112e-01 -3.2606851656892533e-01 -2.0312296327229826e+00 +990 -1.9983339317014587e-01 -2.2245949828004314e+00 -4.5696115353511968e-01 +625 -3.5255488995603673e-01 -1.2313212655690156e+00 1.1422906039961078e+00 +2616 -8.8576904526094991e-01 -3.1152353659652260e-01 -6.4477807986440627e-01 +1207 -1.4257740219305697e+00 -5.4823849846553618e-01 -7.5968769493378607e-01 +898 3.1843936741263779e-01 2.8486469498127631e-01 -1.4100020464056120e+00 +2248 4.1598951144604296e-01 -1.1012615125850905e-01 9.4514489838611737e-01 +2304 9.1696677842161045e-01 -6.4400741252359073e-01 2.7105527804568236e-01 +2235 3.9866263293758342e-01 6.7734959853527776e-01 -2.7672965514398298e+00 +517 5.9863241168028707e-02 -1.1929715597282667e-01 1.0599800877224712e+00 +1326 1.2478109212229864e+00 5.6987107299440032e-01 3.3381506203858541e-01 +660 1.3026645942082387e+00 7.8191351505155393e-01 5.8566561533843164e-01 +756 5.3674630034652748e-01 -3.0647345202593307e-01 -4.4043164330542856e-01 +1515 -1.5328619481890898e-01 -1.0075851638453646e+00 -7.8802323777516489e-02 +1012 -7.2545117972605155e-01 8.6948142889112123e-02 -6.4527965778713681e-01 +1675 4.0652524824483761e-02 1.6219517891134019e-01 -9.1710407180901266e-01 +532 9.1581833896168985e-01 -4.6347349673376691e-02 -6.7771454079685944e-01 +1734 -1.6203519762761467e+00 5.9909345383675883e-01 -1.5972750646892175e+00 +1035 -3.2192551394879192e-02 8.8671005990543972e-01 -3.2840492608105613e-02 +1206 2.5413016561319562e-01 1.0071121828479401e+00 7.6259617121768208e-01 +1556 1.1538785853705962e+00 -8.1150534093201920e-01 -2.9460427415690602e+00 +1996 -2.5866069372763389e-01 9.8310080705158165e-01 -1.3688650850729576e+00 +1705 -4.8223284149224216e-01 -1.1359069045711683e+00 8.7690917296806603e-01 +2562 -7.5682783220726546e-01 4.1198263005206182e-01 -1.5329895445350008e+00 +70 1.4692209406811066e-01 -3.0110902471152634e-01 1.0721303162466453e+00 +745 -9.2014035314054521e-01 -4.9182810713680358e-01 -1.2205894116116038e+00 +327 1.6624531810318905e+00 -1.0467878014374772e+00 -1.2790983975374431e-01 +1224 -1.8959627147031457e+00 -8.8416812889196472e-01 -1.5607753159940390e+00 +2192 -1.1402278752976100e+00 1.7368335777996156e+00 -5.9288386634133972e-01 +160 -5.8930579803196736e-01 7.6123065006610124e-01 1.5645285885616715e+00 +64 7.8969656759599927e-01 6.3812767368043555e-01 -1.8748576467448814e+00 +2740 -4.4952350581272044e-01 1.0676972315207753e-01 -4.7642408759509480e-01 +435 8.1865857747221804e-01 -2.4417492182864231e-01 9.6647218573733162e-01 +1726 -1.3768085871201230e+00 -3.8648729178945890e-01 2.6278647838575830e-01 +2554 3.6845126647383340e-02 6.4051769585701757e-01 -9.6267580482192594e-01 +1704 -1.0885253692890196e-01 -2.3546634099340233e-01 -1.4983389235749487e+00 +597 -4.5889981047609024e-01 -1.6971496304947181e-02 -4.6372977101438245e-01 +300 -3.3284890025688174e-01 -1.0265678810983974e+00 6.1157982106022990e-01 +1481 9.6381332500617511e-01 3.3114326135828576e-01 -1.3910100928544973e+00 +343 -8.0352601074671082e-01 -1.8381106361951421e-01 -6.2574689947461226e-01 +271 -6.3881386171446908e-01 -1.8006025134787027e+00 -9.8726635890946501e-01 +2079 6.4856037793729804e-01 -3.6335335091248033e-01 2.3025935155631300e-01 +502 -9.1663158340491835e-01 5.5766554475798286e-02 2.4671065054462962e-01 +1517 7.6845761499614340e-01 -2.0797935755044263e+00 8.7931287417586923e-01 +2 -8.7484072128161605e-01 -1.2831589300594048e+00 -3.9334606120022847e-01 +2189 3.1962557578952461e-01 -2.1502512025207615e-02 6.8577504366020614e-02 +2049 2.8771057608466255e-01 9.8420224098107167e-01 9.3894952820732736e-01 +2974 1.8373457077104680e+00 -2.8151673583394127e-02 -2.0851961579691333e-01 +2642 -2.1065995683611194e-01 6.9822802370923043e-01 1.1312459431173894e+00 +845 4.6391429768797771e-01 2.2492478320460346e-01 1.6679206191815363e+00 +1010 -1.9700993836601395e+00 -2.1093104193100478e+00 -7.6478663458751872e-01 +274 -1.8926205474838893e+00 -5.1030647179190236e-01 -1.9558290329843148e-01 +1272 -7.3746612410279033e-01 1.6964316859465174e+00 -7.5990589506740225e-01 +438 -4.7633112132802213e-01 1.2243249487995613e+00 -1.6041700250850934e+00 +1403 7.2010389839003097e-01 -1.9162050569819091e+00 -4.2052714822334625e-01 +1972 2.0578805177717019e+00 1.4657783998442693e+00 8.3925142693483790e-01 +491 -2.8878705296429913e-01 -7.1050920000169104e-01 -8.8093182313724105e-01 +549 4.1968387974649640e-01 3.4541202597412113e-01 2.4204280887885581e+00 +747 6.2740459254174685e-01 -8.1069959469391828e-01 2.5368000215787961e-01 +1034 1.6762350610669294e-01 2.6311399720948075e-01 -2.6011275949606749e-01 +2500 -4.6200186024694667e-04 2.7605658945009548e-01 2.0902646217209647e-01 +1004 5.4265246629695973e-01 4.5888085704313591e-01 2.2341632309249686e+00 +428 -2.4374489927504300e-01 8.1478401054953875e-01 -8.6152796954621622e-02 +2711 -6.2144975743123976e-01 -2.7839653469215586e-01 -1.6618489945122856e+00 +931 1.7538635171522396e+00 8.7540203971052033e-01 -1.3836275717441322e+00 +881 1.9606717978682373e-01 1.1186275513400483e+00 -7.9157403723488873e-01 +2377 -1.3580834007002418e-01 -1.6558202318214024e+00 6.5237733451217639e-01 +2896 -1.0302238661776995e+00 3.2512125508551037e-01 8.5309720052763149e-01 +1425 1.3029334056795944e-01 -3.0722710507569237e+00 -8.8504697503927199e-01 +181 1.3144427124653983e+00 -2.1325085851319822e-01 -3.9568679975378807e-01 +891 4.5211437537414145e-01 -1.1350866899899505e+00 1.3438228640688434e+00 +1868 -1.9712965866248233e+00 -2.7495712075605050e-01 7.5528215401558119e-01 +1271 4.1790783566855805e-01 1.2648863641822348e+00 2.1940715306962258e-01 +2316 -1.5591335824525970e-01 -1.0034904139791336e+00 1.3341110567885837e+00 +1558 -1.3082231548379392e-01 -5.1031569642284291e-01 -9.9882325075399736e-01 +2646 -1.9531478872135826e+00 8.3123737843963041e-01 6.4295700037791648e-01 +836 7.4614166520704439e-01 4.1933066193455543e-01 5.8277373981217495e-01 +2580 1.8526597710008397e+00 1.1107961269153463e+00 1.7056733479111791e-01 +1896 6.7281038081612599e-01 -3.9839498458945838e-01 2.6519853257676418e-01 +2188 1.4237344107274680e-01 2.4194723468395885e+00 4.7528944233952353e-01 +1009 -1.0879124209094868e-01 -6.2164012111652733e-01 -9.0818613540482229e-01 +2768 -7.7817291393876420e-01 -1.6928069691077358e-01 1.9459244427942446e-01 +761 -5.7899704388919138e-01 -4.1025268491989492e-01 5.8390666266869407e-01 +1504 7.5377387807390606e-01 1.7165129990237922e+00 -6.8954176037508530e-01 +2371 2.5844629449487638e-01 3.8930383047920847e-01 3.0103161124213926e+00 +1191 3.9296940097027194e-01 -5.1771314702365478e-01 -9.3800198297606563e-01 +2153 7.4241122608256616e-01 8.5308075082726587e-01 9.7375653354246716e-01 +1479 3.8198166366886235e-02 5.0537472891999546e-01 9.3419907551332768e-02 +2629 4.3702432231814292e-01 -6.2163521519783460e-01 -9.9493560776954781e-01 +2592 -3.1181410609592963e-01 2.9144569547567212e-01 2.3491669786983832e-01 +2980 1.8460198837706479e+00 -2.1941400169457886e-01 -2.1474901685168160e+00 +629 1.2354954259412741e-01 1.2183539478509145e-01 -7.8390299731809054e-01 +871 -1.9174334943359161e-01 5.8312784127244299e-01 -1.0836489119752097e+00 +154 9.5220251605954320e-01 8.4645397100654463e-01 1.2808363615184513e+00 +1555 1.0806976133046733e+00 -2.1898224543109830e+00 1.8269893720191130e+00 +1277 6.3994641131866270e-01 -1.9584579957412496e-01 -4.1220404493759866e-01 +398 -1.0748956647420387e-01 -8.5456859362825344e-01 -3.8106722603710969e-01 +973 2.5233737796456648e+00 8.0563460893029937e-01 8.5423712507010460e-02 +1335 5.9248148404444057e-01 -6.0686444892659108e-01 -2.9000864959301614e-01 +2981 -5.6988042795362359e-01 -6.6347360507397257e-01 -6.0720430648385970e-01 +142 -1.2274842171239522e+00 3.3751253833448075e-01 -4.9839348278924778e-01 +2632 1.0389914859106504e+00 -1.0769163977348224e+00 -5.9805878938792900e-01 +2686 9.8985789655073653e-01 -1.7208983043347847e-01 -5.4467822435953261e-01 +1673 1.6447891405651658e+00 -3.9926831382044503e-01 1.1410330881874999e+00 +833 -5.6263766419099626e-01 2.2338648933983030e+00 1.4090284767656533e+00 +989 1.0647827950126345e+00 6.5862386398042427e-02 4.2509764747018064e-01 +566 3.4081771508683423e-01 -6.0514871523396030e-01 6.9337403879874604e-01 +733 -8.5545642191823867e-01 1.0157078531154979e+00 7.4068935346046264e-02 +443 1.5071738750781711e+00 1.2975812835528208e-01 -3.0889270359807941e-01 +1221 -8.0007958918711053e-01 1.2504751607650582e+00 7.9469050567267974e-01 +1046 9.9069028395844916e-01 2.4257424877378930e-01 -2.3013453184679375e-01 +1487 -1.2915924687607008e+00 7.3771182282702230e-01 3.6311577154130226e-01 +189 1.4086474331094905e+00 6.0775605951811951e-01 -5.4868468787833802e-01 +1198 3.3011936768693434e-01 3.6000945586877348e-01 5.1147737724246167e-01 +2145 1.8894553761594721e+00 2.1295985000429235e-01 -1.2246610880504709e+00 +702 -2.1673314194288301e-01 -1.8545777444871128e+00 -9.5540112860082038e-01 +893 -1.4102611552152398e+00 4.5230032520918878e-01 -2.2179481117062614e+00 +2779 -5.4364237992727538e-01 5.6582233709501439e-01 -3.7987174418989372e-01 +454 9.5531511770981281e-01 -1.1110923433383830e+00 -7.7671234670515654e-01 +2266 -9.4107772114271926e-01 -4.3931500226932138e-02 2.3540620186421793e-01 +2821 1.4193160284445545e+00 2.0633801460701989e-01 1.8459250878194103e-01 +2582 -8.1232005203620627e-01 -8.6055735601927322e-02 -1.8919958616729596e-01 +810 1.1354970981041712e+00 -1.3193929782905129e+00 -2.2478506334912468e-01 +639 7.1125678184268459e-01 3.3602117458835334e-01 -5.3240042751564598e-01 +2549 1.3189687753382966e+00 -6.8997780525077912e-01 1.3990864166929735e+00 +262 1.0649384853027226e+00 -7.3741277184706522e-01 1.0105456827138393e+00 +234 5.2315136358697589e-01 -1.1819630127186481e-01 1.3852917766579125e+00 +317 -1.0126908359304498e+00 1.5044966106478536e-01 -5.9952514979855165e-01 +1201 4.4593346487281199e-01 2.0129629769476343e-01 1.7503566080425466e+00 +1462 4.9032994839926480e-01 -8.6139087674863590e-01 -2.0777169542807525e-01 +961 1.6631181790594938e+00 -1.3047821229231062e+00 -2.7161470176470337e-01 +2944 2.0830376014421628e+00 -1.5854107234893937e+00 -1.5811239380566769e-01 +1906 -4.6413754380388933e-01 1.2094262704004701e+00 -2.0068662942321880e+00 +2475 -6.1372055608659415e-01 -1.4703622589742720e+00 3.1598538185048168e+00 +60 2.8410934702489443e-01 -1.1875045213963251e+00 1.7388796260544754e+00 +1709 -2.6226998251029376e-01 1.7523655429055821e-01 -1.1656858090562843e+00 +2855 -8.1187432988635466e-01 -2.7326657438284307e-01 -1.2204102415450460e-02 +1051 2.0400361369041433e+00 -2.6095971181744302e+00 9.3943195005612146e-01 +1980 6.7450528619031658e-01 8.9991946457740157e-01 9.1359560347824642e-01 +386 -1.5650973060869597e+00 -1.2837018137965219e+00 9.5291022771650624e-01 +46 -7.1398273142354918e-01 -5.0973466364446940e-01 2.7518028411474305e-01 +1445 2.2174837629612382e-01 -1.3958376975910878e+00 2.4759334838364311e-01 +289 -7.2450158274528012e-02 4.5080173154245101e-01 -1.2026526205688945e+00 +1492 2.3294497916710437e+00 -4.1634888986672058e-02 4.2255090030908898e-01 +933 -3.6078877479362736e-01 2.3587098716427338e-01 6.9651601586743855e-02 +2223 5.4675108740814382e-01 -1.4895640751890988e+00 -1.2189399346581249e+00 +948 -7.5320189451953423e-01 1.4713200636525765e+00 -1.2172745030824483e+00 +2095 3.3115524135945174e-01 -2.1452315187802484e+00 3.3401512735910244e-01 +1953 5.3879823856786913e-01 1.1277688844241698e+00 -8.6871487185818941e-03 +1857 5.3920212582451232e-01 -1.1369921704963357e+00 -3.3485781526581537e-01 +579 3.0574406970947260e-01 -2.2417256279383602e-01 1.1195954437461175e+00 +919 -1.2154568871519096e+00 -8.9786326457414434e-01 1.4258845271625107e+00 +2426 2.5318143655593297e+00 -1.0859333490610625e+00 -9.2803211213869763e-01 +1498 9.3938189777298453e-02 1.0050405205573336e+00 1.3067666477270281e+00 +1336 5.7901503267818877e-01 3.0904983572186684e-02 -7.5993094908278791e-01 +1993 -6.4914111484279757e-01 2.8969217627125449e-01 3.0082884289394261e+00 +2021 1.4441191367891577e+00 2.2736025477028901e-01 6.9288351125139114e-01 +1246 -1.1928602841877591e+00 -1.8510828779418453e-01 -1.9405481621943821e-01 +1375 2.1686344323948831e-01 1.2960055726226014e+00 1.0003801416614384e+00 +2456 8.1605602410182487e-01 -8.8621093862302980e-01 4.1948827541386186e-01 +2655 -2.6816477913853061e+00 -1.2923034045037277e-01 -1.0756647795224125e-01 +2267 5.7311405848149954e-01 2.1873890133914622e-01 1.5013560285109737e+00 +1342 1.0622355762743967e+00 -2.9031479398152327e-01 2.8651025920091822e-01 +2780 3.8711001160227737e-01 1.8470550557913989e-01 -1.4361669756964214e-02 +603 1.1560334071871756e+00 5.7658481560925534e-01 -1.2693241646707085e+00 +661 5.0062185751430477e-01 1.4905812774846527e+00 1.2419404293734180e+00 +2778 -1.7137483649000553e+00 1.2326615953357631e+00 -5.0381612204215642e-01 +354 -3.2699029213436603e-01 1.0500877711012335e+00 -1.6606345412268075e-03 +2372 7.5944987467650410e-02 -9.6589332985505805e-01 6.7704228356137675e-01 +1607 3.2424281196769503e-02 -1.2568049714698706e+00 6.7874168697064086e-01 +2725 -2.1317670651934182e+00 -4.1069018447731753e-01 6.7795572468220833e-01 +1799 1.2237193169968938e+00 1.2142720007293943e+00 -1.0489325744242122e+00 +115 1.9915377333311393e-01 1.5484793878924543e+00 1.3317157899998799e+00 +2112 -7.2703095711697563e-01 5.8375524492848363e-01 -5.4493131414907547e-01 +133 -4.0927829972677932e-01 2.1431231605245732e-01 4.0188464940729002e-01 +2990 1.4033014419719019e+00 1.1658652943450201e+00 8.0219155961959554e-01 +1116 1.5768105893593867e-01 2.0294584834278892e-01 1.4362045127321144e-01 +1083 -1.3733733507670437e-01 -4.8004773554684360e-01 1.1142175507724190e-01 +1078 1.2831207147391388e-02 4.0062286492155486e-01 1.6598381412081545e-01 +286 1.6490880270159153e-01 -4.9602561855452720e-01 -6.2877563715591556e-02 +2460 1.2357034039373642e+00 -6.8647984902241876e-01 1.5875367174889730e+00 +2190 -7.3359461645951729e-01 -5.3168300910155497e-01 -5.5512440920660089e-01 +717 -4.2113517320006588e-01 1.5852467448151146e+00 -2.3853199895994467e-01 +1992 -9.5597465488458089e-01 -2.1809545788346060e-01 -1.0558312678691029e+00 +62 8.8234000587593042e-01 -2.7372109513084480e-01 -3.3760600171480010e-01 +2364 -1.8964809516491952e+00 -1.0359095775562772e+00 -2.1636785953555209e+00 +1047 -2.9631287263832135e-01 -1.4579411437107104e-01 -6.5610220233718519e-01 +699 -1.3808479610983297e-02 -1.2057202814454180e+00 -1.1375652587469629e+00 +1307 3.8123499679029454e-01 7.2057580699658286e-01 8.5412280045849354e-01 +117 -8.8843153199277758e-01 2.2199963158623798e-01 -1.9635214745292942e-01 +391 -8.1302270141377464e-01 -3.1329371172976095e-01 1.5233877437083990e-01 +827 2.6860346790889134e-01 -2.0966271297458336e-01 2.2582734660364129e-01 +120 5.5666261103461190e-01 -5.4049084955431503e-01 -1.2978108269058095e+00 +2958 -2.2427683753007932e-01 1.2349201186961158e+00 -3.5537906806727672e-02 +131 -7.3832644094815947e-01 -2.9133648893089736e-01 1.5960067339140720e+00 +2262 1.6435195998226939e+00 -8.4450834127464347e-02 1.6009037690984829e-01 +2133 -5.8957718014631944e-01 1.0271359080395577e+00 -6.2435255752056784e-01 +1442 -7.8653868744690347e-01 -1.0790082372480614e+00 4.4779606201185984e-01 +1785 -8.8563122568644692e-01 -1.7535056518423681e-01 -6.5357053253696040e-01 +2893 -9.1761712758493597e-02 -8.4609576450829685e-02 -8.0070962642756616e-01 +1147 -1.2781597224562808e+00 -2.7499848636411217e-01 1.4486914426147177e+00 +94 -1.3193090819998969e+00 4.1727068101063663e-01 -2.4724803239616008e-01 +2937 -1.7279596786746330e+00 -4.5288802232862763e-01 -1.2697648610158905e+00 +2417 1.6780162307261512e+00 -1.5822266882344469e+00 -3.7078417486387821e-02 +1933 3.5932785655626909e-02 4.6573325833480467e-01 -1.6162750262960818e-01 +725 -9.9583057575624723e-01 1.3420368137797862e+00 6.4129236589514538e-01 +2005 -1.3859129922775815e+00 -2.7289021009419095e-01 -6.9414875158576039e-01 +1088 3.1283562451558145e-01 -1.2779221686635345e+00 6.0974912733437925e-01 +2624 -1.1841560229496353e+00 -1.4995220530575091e+00 -1.6140312406678252e+00 +1130 -1.0371104453747724e+00 -8.3267382750504804e-01 -8.9700352819159224e-02 +807 -1.4713380406120962e+00 1.2790477701707961e+00 -5.4631018898973871e-01 +1614 4.2736013258219135e-01 8.4744984581662033e-02 6.4243054828506063e-01 +1328 1.0161366782078984e+00 -3.8138480650444652e-02 6.4666847850432263e-01 +113 -1.4525524981237148e+00 -3.0127443831640544e-01 2.1856246625963036e-01 +1161 -9.2218723722638551e-01 -8.0995587891925847e-01 -1.0463288562380069e+00 +513 -1.1210018103521133e+00 9.2779040582751926e-01 1.9034586534825737e+00 +1899 -1.6636116232422569e+00 1.9034858896515067e-01 -5.2506861226868629e-01 +2586 -6.1681148096146710e-01 5.9752115512524218e-01 -2.1761516821465245e-02 +805 6.0821953320840794e-01 2.6347847096682842e-01 1.5331383150646498e+00 +2854 -2.2751937735521341e-01 -4.0712894838626079e-01 1.8377565909723252e+00 +1394 1.1609632619196049e+00 2.5698372815889281e-01 1.4343922701174034e+00 +401 3.9491505475711025e-01 -9.5800372316100579e-01 -1.5980158836334437e+00 +1863 -9.7182763033333774e-01 7.2493108027764125e-02 1.8632688103766004e+00 +2553 2.4626861842004186e+00 1.2771461712847798e+00 -9.4210355208126650e-01 +208 2.6805040900920218e-01 6.0606023891588601e-01 -5.8177123432548705e-01 +545 -1.9850535786068368e+00 1.3159420380533657e+00 4.7148656807568678e-01 +1762 -1.3212668561949703e+00 4.3448075751519283e-01 3.1366712407022721e+00 +2272 7.7473527388298924e-01 9.1312038987414079e-02 1.3122924930982600e+00 +2849 -2.0178203329288963e-02 1.7804092212516891e+00 3.7701997989991476e+00 +2198 2.1090771373919077e+00 1.2351956009143096e-01 -1.9677112185478249e-01 +2299 1.2682685262257762e-01 1.2451634170818757e+00 6.2648273082572692e-01 +2045 -1.5135967038287912e-01 -5.1782079162811001e-01 1.1168199147579314e-02 +2249 -4.6682086276478285e-01 -8.4727038504358387e-01 -1.1254356928691727e+00 +1464 -1.1527183005070736e+00 -3.2998313991646006e-01 -2.5915040196989994e+00 +2989 6.8258632017126053e-01 -4.9477141231622701e-01 4.4364894765025248e-01 +1381 1.1983352259909602e-01 1.2453648302089140e-01 -2.0758006239635010e+00 +2448 -4.8501320008203141e-01 1.5532182121190599e-01 -1.0564662486225154e+00 +1259 3.6009639568864754e-01 5.0704022183038178e-01 1.0841641579674401e+00 +2017 2.0645419537594840e+00 -1.5501570749357976e+00 -4.2409335003984625e-02 +1416 2.2130917628961491e-01 -1.0178176393409899e+00 2.3912606384870733e-01 +2245 1.3441176957937611e+00 -1.3051297871283276e+00 8.4556669796923078e-01 +1769 2.5407613066133289e-01 1.3534154898928574e+00 -1.8669446030718031e+00 +1121 3.6665583948082697e-01 -1.0685877119651185e-01 -3.3738510828595214e-01 +908 -1.0557193952099553e-01 -5.4374028560914967e-01 4.5126751485433303e-01 +2292 -2.2996067541970842e+00 2.3633611207325735e+00 -1.5260615949406828e+00 +1754 5.6524045783893806e-02 -1.5991524093864238e+00 -2.0329987970575325e+00 +1261 -6.6246880292327481e-01 3.2508823052666380e-01 1.8669572579027192e+00 +2794 8.7614514467450133e-01 4.3430573211055906e-01 -9.9665775847736005e-01 +2087 1.1554360437132833e+00 1.0077443213209356e+00 1.7175418444539547e-01 +1167 1.5932148191308644e+00 3.0846658198640614e-01 -7.9560397039043884e-01 +2513 -1.0637941505436661e+00 1.4030297977759552e+00 1.1007654163513227e+00 +643 -1.3724375858202249e+00 6.1448752398909137e-02 9.8238829419118601e-01 +2623 1.4099539933939378e+00 -1.1475371628700937e+00 -7.0538519468293426e-01 +644 -1.7976548894395474e+00 7.2376857965867714e-01 1.9897424054885755e+00 +217 1.1539777915248299e+00 6.6920847710524289e-01 3.8601956988455721e-01 +1052 4.9234390946691764e-01 1.5062195163410078e-01 5.7264900702416743e-01 +2195 3.2694059973992240e-01 1.9603829045353283e+00 2.3431570258801365e-01 +2137 -9.9845122164503042e-01 -3.2570492113744487e-01 -2.7629709882636833e-01 +659 -7.2331144269993153e-01 3.4105316176119160e-01 3.0241484924535750e-01 +1905 2.0606914098470147e-01 -1.1115781551641113e+00 2.5021834776821184e-01 +2823 2.0716229410312503e-01 2.0038187554445841e+00 -1.7197075300368150e+00 +2953 6.5298088203841576e-01 3.6962442433597736e-01 -7.8754270713704971e-02 +453 -1.5358681971999727e-01 8.2244724868599584e-01 3.8086318591742685e-01 +1793 8.7390497657564692e-01 1.9774806724301581e+00 3.2882943384047947e-01 +293 8.8798457130377129e-01 8.7957866310264210e-01 1.8252244329698579e+00 +2641 -8.1004648520492584e-01 -8.7984078245325026e-01 1.6187034722566501e-01 +2963 7.4421635806286979e-01 7.7415386068197112e-01 5.8733938997439977e-02 +1669 2.9301859343343584e-01 -4.2642429918428049e-01 6.5128361447367972e-02 +88 1.1549781595222429e-01 -2.1597547151548961e+00 5.1239602801235107e-01 +1011 -1.1997429387592176e+00 -1.1298432931202746e+00 1.0791997600933390e-01 +92 -4.7145434534714348e-01 4.3220555175107478e-03 -1.3937727793994727e+00 +1106 -7.9295619783957183e-01 -1.9032557435346071e+00 -1.8267070918869401e+00 +2951 -1.2992272794286866e-01 1.2555484149568525e+00 8.0943565932520833e-01 +2286 -1.3086432523594835e+00 -4.6512564760916197e-01 -1.3722725420914310e+00 +808 1.2196560423578695e+00 1.3062227836055457e-01 6.4796280658885475e-01 +648 -5.4377640011579104e-02 -4.6026134316037892e-01 -4.5658553597102219e-02 +986 -1.0637519289089505e+00 1.6289010271319715e-01 1.0566910119338893e+00 +1971 -5.1382284620655894e-01 -6.5800281738210800e-02 6.1016548962286854e-01 +2875 1.5056617983914884e+00 1.1572777643173460e+00 1.8799529353889399e+00 +2614 -8.8363616646202436e-01 1.0154959010804898e+00 7.4429837247378716e-01 +2738 -9.1427279950272478e-01 -1.5504429596350336e-01 1.1753618111412378e+00 +1127 -3.7104935785696058e-01 4.2675193196520139e-01 -1.0851519234810183e+00 +1589 -4.5297942499874544e-01 -4.5885195584151245e-02 -1.2939236805148799e+00 +2381 4.4918376095881757e-01 7.2182118544124974e-01 -1.5482476030858430e+00 +2536 -6.2396494287030424e-01 -7.2990702053162415e-01 -1.2210287073733572e+00 +2051 8.1622781025687485e-01 5.1390610336130482e-01 -1.8348991777333405e+00 +2743 -6.1936892331318871e-01 -1.0275958459767418e+00 4.5573149103678318e-01 +68 1.4330983039662553e+00 9.0073787712325959e-01 -9.6004143032735645e-01 +2046 -1.2102629992846778e+00 5.5210563361989684e-01 -3.8113713811663735e-01 +2766 3.8590557698850458e-01 2.9450884595159601e+00 -1.7754987765122074e+00 +621 4.5985196343110230e-01 -4.1960242661824210e-01 1.4462316711132623e+00 +371 1.8001906164394383e+00 -1.0636309639168193e+00 1.3975153174425234e+00 +273 -2.6554848153046646e+00 1.5986034494485246e+00 -1.8536323551285372e+00 +1847 4.3829775341891247e-01 -7.3323344183969041e-01 -7.2665881330831339e-01 +2103 -1.1446861168943503e+00 -2.1256053329681674e+00 8.3024508981967571e-01 +1005 -1.6967559345834045e+00 -1.2934675226340604e+00 -6.5305343367236746e-01 +1728 -2.8172349132909502e-01 -5.7559329326010267e-01 1.6035377206792638e+00 +2484 -4.9273667406473931e-01 -1.0825501212472475e+00 -1.4038109427017826e+00 +2617 -9.9728440042489330e-01 1.8761571228187460e-01 -4.1754456714834423e-02 +456 9.0228844514083062e-01 8.8368414981354892e-01 -1.0310374997204184e+00 +203 -1.5405198600501020e+00 -1.0381523542682893e+00 8.8984348147250825e-01 +2027 1.3505832969938212e+00 -2.5941619525390704e+00 -6.0913296170359132e-01 +938 -1.0239798185157791e+00 5.1492799267049272e-01 3.5300530699869714e-01 +397 1.2378843549964158e-02 1.5257379281613932e+00 5.7436460014470259e-01 +1217 1.1805619819166113e-02 -2.9460020821548027e-01 1.9602321630393931e+00 +2406 7.8897120286919242e-01 2.1050147017970824e+00 -6.4770629091923904e-01 +2434 -6.1570653455768831e-01 -1.6968905910075802e+00 -4.0532744112205676e-01 +347 -5.9281344243471323e-01 1.3396756593370659e-01 7.6384599976322853e-01 +395 1.1769055521776643e+00 8.8867224452932170e-01 2.9139759746482068e+00 +2298 -1.7900876164661289e-01 7.2428418463406619e-01 3.2835661895343737e-01 +1122 1.1011179356005805e+00 1.7147052693799020e-01 -1.0702854843939649e+00 +2540 5.7064006370835085e-01 7.6056321219108447e-01 1.3128511781025760e+00 +533 -1.5447011905466417e+00 1.0281815850818619e+00 -5.6345515851532502e-01 +2386 5.7717161016213048e-04 -5.3182984690167190e-01 -7.9475808311475948e-01 +842 5.4614574729511467e-01 2.3287732956781100e+00 -1.3721210155772934e-01 +1975 2.1427969161440679e+00 -3.1312814626301616e-01 -1.1587070715933190e+00 +2009 4.4857124086816780e-01 1.5463534254118316e+00 -2.3449855158429134e-01 +282 1.6982799757863756e-01 -6.1411509422912480e-01 -1.4530440852624442e+00 +2117 -1.0693775403823302e+00 -3.4570741266836219e-01 -1.5153176480880465e-01 +1185 1.6387069954386863e-01 9.0373841865861249e-01 -2.0997546497665220e-01 +2874 -1.2353077555765588e+00 1.7138827636796876e+00 3.7237608738285299e-01 +1590 -3.6779594787794778e-01 -9.1837947697741429e-01 -4.3873621971695775e-01 +2850 1.3062710826719628e-01 -2.6260868183870971e+00 8.1964368330394044e-01 +82 -7.6163581678352921e-01 -4.4469322006865453e-01 -2.3808972391163025e-01 +1638 -6.4949087344343159e-01 -9.1008735488569559e-01 4.1151649532975815e-02 +2532 3.0214367300473854e-01 5.8648566997059259e-01 9.0410536323495183e-01 +368 1.2515903073523962e+00 -1.2748158090674253e+00 -7.8952643492085139e-01 +2700 6.0768274750172913e-01 -6.0306780185381340e-02 -1.8011650005008331e+00 +884 -1.1058703905756000e+00 6.3266983894408346e-01 1.2396447211125894e+00 +44 -1.9386705588247424e+00 6.7865880770755349e-01 5.6886529575015865e-01 +2789 4.9396961707579123e-02 1.8003617100980567e+00 -1.5487993207624204e+00 +1072 2.7031490125172958e-01 2.1247190129127752e-01 6.1199230497279666e-01 +103 -9.0515625444101444e-01 -8.6825795905723480e-02 -3.4678573631823514e-02 +2271 1.6776658188606057e+00 9.2457635075575784e-01 5.5024568502756011e-01 +1 2.9243544384798548e-01 1.6128745892446936e+00 -3.3782876929403444e-01 +1474 7.1475430779780924e-01 5.7288683702161014e-01 -4.0385085370303764e-01 +1086 -1.0234067260395394e+00 -3.6756176004524593e-01 5.2671842645761213e-01 +2559 -8.6591359627260633e-01 -1.1092116229651905e+00 7.1629716619894390e-01 +1113 -3.0648575831174318e-01 -4.1633629271658046e-01 -1.6645855728401076e+00 +247 3.7108970473858383e-01 -1.0132924162014245e+00 -1.1192408175488580e+00 +1284 1.5048592591326954e-01 9.3845790635483328e-01 -1.0490783322760504e+00 +939 3.5016274722786273e-01 -1.6397099086325886e-01 -2.8475658534364778e-01 +2569 -1.8448735784746977e+00 -9.8247078444570868e-01 -1.8677297381403497e+00 +1424 -8.0752382040754536e-02 5.0232130617055148e-01 -3.3997180532667393e-01 +240 1.3183945298757862e+00 1.3222137924962196e+00 9.3286068235661559e-02 +2583 6.4586977465639328e-01 1.7554463388451340e+00 -5.8639753653112747e-01 +1443 1.6372800933436877e+00 2.3907530627759577e-02 7.7931176093551602e-01 +984 1.1530462810422746e+00 4.3888453632707236e-01 1.7955475382230293e+00 +1240 2.3214389292981821e-01 7.5365178350198891e-01 -6.5740297340745402e-01 +2427 -1.0045600266947792e+00 9.8135835263460458e-01 -1.3480302845486980e-01 +2100 -1.9838921085513253e+00 -1.3070890473317687e+00 -3.5343176580410540e-01 +650 1.1821872128840714e+00 -2.5003750492430972e+00 3.4766602268204838e-01 +1539 1.6565336452314769e+00 1.8620969750255842e+00 1.7049578166014727e+00 +2105 -1.1024126172396180e+00 5.5645781676749362e-01 6.7197294650957629e-01 +2243 -2.4505881967820961e-01 3.0003303811303881e+00 -1.0464525098240900e+00 +2707 9.4955236419466904e-02 -1.8090668472101185e-01 5.2988447839987218e-01 +829 7.2751618963471965e-01 4.0024518741486670e-01 -5.5781520426289843e-01 +2709 3.1101522781673635e-01 -1.6046339690385116e+00 -8.4629064582905134e-01 +548 1.2303462514340342e+00 2.9889542491341414e-01 8.1335106833945015e-02 +712 9.9876895534969978e-01 1.2184410019227676e+00 -1.6209736848689240e+00 +47 -7.2582269180358083e-01 1.4976225435415620e+00 5.1315250616072317e-01 +1296 -2.2387535305166528e+00 1.4458364909973977e+00 1.1572515379802535e+00 +920 1.0407986769376218e+00 -4.0525362259407427e-01 3.4213843445421538e-01 +1225 1.7737146511785404e+00 -3.2846496823541654e-02 3.8427013451074499e-01 +1897 -1.2535979122050169e+00 1.3667328968070214e+00 -1.1553117154106058e+00 +1616 -3.5933384234248961e-01 4.1992815648606419e-01 -1.0600397108635697e+00 +1397 3.7725399995277015e-01 2.4748129608246366e-01 1.1824319518925126e-01 +724 -2.2443811405850940e+00 -2.5723366796579743e+00 -2.8809138596048389e-01 +615 -7.3279216043836037e-01 5.5560595452292061e-01 3.0173217054986856e-01 +2429 -7.2048338504774256e-01 -9.0874190260695897e-01 1.1378684711729423e-01 +2929 -4.7637255672244527e-01 1.2265395543438480e+00 -6.1124784100212759e-01 +646 -7.9423826233861239e-01 -1.0498030298140373e+00 -4.1574215351363575e-01 +820 1.2472096797239889e-01 -2.1961724734079930e+00 3.5300533757920767e+00 +1670 -6.0144918574557615e-01 8.4620842023148832e-02 3.9100702182063019e-01 +1494 -7.3719863382588002e-01 -2.7467702509548858e-02 -5.9153324806250063e-01 +488 -7.5622595917507240e-01 8.6736698070074314e-01 -4.6098405148757277e-01 +1482 -1.3309628650776981e+00 2.8792612230324915e-01 6.9801655620019554e-01 +716 -2.0782636205519642e+00 -4.8492049404137955e-01 -6.1503399682955773e-01 +2660 -4.9284937331111639e-01 2.6077303901988724e-01 -4.5813000537156909e-02 +982 6.8069217833101284e-02 3.2398297210238575e-01 1.7585913519716773e-01 +2035 7.6076503054088285e-01 2.2654637105963921e-01 -3.1152073672420644e-01 +2013 -1.0008290896136247e+00 -6.7013119073976457e-01 2.6521493439471677e-01 +1792 5.1248635137868204e-01 2.7183967448004620e-01 -7.8099535547847920e-01 +1766 -5.2431720922415614e-01 3.0127971993863556e-01 6.2442381902151689e-01 +1881 5.5110656723038087e-01 -2.0666209865675383e-01 2.6166124225072696e-01 +2982 1.3716764883242039e+00 -1.6531675877235488e+00 2.5870301662987061e-01 +877 -1.3142760154839621e+00 -3.8030848002575712e-01 1.9945974753466900e+00 +2842 -1.6331243747398333e-02 2.4740079719051786e-01 -2.8425403016706208e-02 +2905 3.8739804430328961e-01 -9.5828637565269559e-01 1.0970848047323056e+00 +1049 -1.7242977380312241e-01 1.0938955649493902e+00 5.3140545949230877e-01 +1852 -2.2991301987406010e-01 -7.2204758964807092e-01 1.8085817372382798e-01 +1596 3.4908086399044186e-01 8.5118267635177958e-01 -1.9746438296598496e+00 +825 2.6940261975578933e-01 1.2166005334238497e+00 1.2671427716115943e-01 +516 4.5043646282947047e-03 1.8383501411403763e-01 2.6360561962612905e-01 +742 -1.5399275726488797e+00 3.5093689015693114e-01 4.0274910796783497e-01 +446 -1.9481827273783989e-02 -7.9205786162984781e-01 2.8037691621982730e-01 +2409 -9.6782869054828258e-01 -6.3332620678483595e-02 -1.0140468005261840e+00 +2462 1.3127279566870576e+00 2.7666151793530169e-01 5.6777415342823129e-03 +1159 -6.3511768425176274e-01 -1.6710342373375286e+00 -1.3558863808547679e+00 +1548 1.0663703546545538e+00 5.6359992474719167e-01 -8.6006325586600596e-01 +2212 3.8672463875513796e-01 -9.8104141360448982e-01 -1.2163286037116476e+00 +1651 -7.3915693496079604e-01 3.8868198314014984e-01 1.1247625528087173e+00 +257 -1.4289307616289566e+00 9.9450748959948820e-01 1.8487438141197743e+00 +95 5.9692027495452327e-01 -6.7267174211880398e-01 7.0750726882328707e-01 +218 3.5071708634888354e-01 -2.3895515901369491e-01 -1.3906923862142977e+00 +2894 5.3602164042556466e-01 -8.4575096087583768e-01 1.0670326422858405e+00 +1865 9.0852008942427742e-01 7.7849458121360771e-01 -2.4379136077337052e-01 +2718 1.4575532746802187e+00 9.4597702472560252e-01 -1.1283522311363623e+00 +797 8.2940263782156376e-01 -4.2179191413295680e-01 6.8255546964844302e-02 +2040 -3.9880501876232671e-01 4.0928247735736573e-01 7.6901452028950767e-01 +2954 -7.2503890954182457e-02 4.3334193202886628e-01 -4.1430727927996103e-01 +2933 3.9156094871475394e-01 -8.7148731982315542e-01 3.4432757927388541e-01 +1528 -6.5717746715399361e-01 7.0633092067820935e-01 8.3805674458113999e-01 +183 6.8419890055495070e-01 7.8409170914924542e-01 1.0952292146411906e+00 +2167 -1.6357341631812123e+00 -7.0046044247598704e-01 1.1560195120710230e+00 +2191 -6.0413053048393939e-01 2.2651025542783221e+00 9.5230705567700902e-01 +36 -1.4944796938435962e+00 1.8810569436599067e-01 2.3508279093408938e-01 +1913 -9.1793137679325865e-01 -5.3101198184282739e-01 1.5174243260839331e+00 +1189 -6.9811056878669037e-02 -2.3461223939326184e-01 -1.2599223316319608e+00 +1540 -2.2813617094442015e-01 -1.3670690581057914e+00 4.9780620048119040e-01 +1502 1.5757862280499838e-01 3.7931483987872971e-01 -3.1300221992920735e-01 +441 -2.7679736814583777e-01 2.0878113860075480e+00 -1.3621365677588493e+00 +2878 2.1665314724998774e-02 -1.1506548797973257e+00 9.5519778158108204e-01 +2296 1.4759350186313486e-01 1.1888560372016053e+00 3.3077381248596965e-03 +348 1.1243773285675254e+00 2.2155479846930017e+00 -5.4993745178729861e-02 +769 -8.8638707737499078e-01 9.8503401473847518e-01 4.1148005519897679e-01 +1637 6.4065091820934950e-01 1.6736493053565560e+00 1.1054749804663624e+00 +1928 -6.3740681746209782e-01 3.0089850935099155e-01 -2.7901660920294480e-01 +2841 -2.0069529516031728e+00 9.5854047485613736e-01 -1.1897719770521187e+00 +1435 1.4297655514476322e+00 4.4048536521139825e-01 9.1459966029821049e-01 +1919 -1.2410702881307942e+00 -6.2781581630150496e-01 4.6677260572821830e-02 +2677 -1.9648310894639243e-01 9.7870363246180286e-02 7.4968412005435958e-01 +2741 5.5556659619269433e-01 -1.3642085252283040e+00 -4.4429393850331511e-04 +83 -3.4172713363173318e-01 4.5574809237969305e-04 -7.0119185096939285e-01 +80 6.3343059019614179e-02 -2.2578292514880799e-01 1.0345532876573051e+00 +2835 -2.6370152982914974e-01 1.9312777101336762e-02 5.3149209409318932e-01 +2366 -1.3923829544271396e+00 1.8743100407693647e+00 -5.1462117802717033e-01 +913 -2.0367887234965001e+00 9.5077855130099664e-01 -1.1432330743857351e+00 +288 -1.2297984020749803e-02 3.0265560224162824e-01 -1.4416865475636180e+00 +673 1.4714339296866583e-01 -1.7457958898374439e+00 1.4969857563451821e+00 +1377 -7.6956891564500740e-01 1.2520065793290874e-01 -4.0752460842420861e+00 +1976 1.3288090267727151e+00 5.6125919345456887e-01 -2.3554170378443509e+00 +2825 2.0138837240275498e-01 2.5239352437245854e-01 1.6745969023836589e+00 +2643 2.1777476029950338e-02 5.0870569408371369e-01 -9.4145125993676815e-01 +734 -8.1075387700626195e-02 1.1507823160190905e-01 8.8363183908362597e-01 +325 -8.3856995944773172e-01 -1.0008022699003918e+00 -1.0294218560466719e+00 +1882 7.7922850371344798e-01 2.8935707573943248e-01 1.1544836373861043e+00 +930 5.8495978423246642e-01 5.9516779901701088e-02 -3.4992709331497274e-01 +75 -1.8264661828358726e+00 2.5196211421545929e+00 -3.8688176271667385e-01 +356 8.0630784266268563e-01 -1.3070796473189441e+00 1.0257894102358902e+00 +1076 6.8654270215135338e-01 2.3279322119303006e-01 -5.2951812525502040e-01 +2557 -5.9960586270939020e-01 -6.8547380933628430e-02 -1.8490773205605480e+00 +905 -4.7296551665091846e-01 1.0032791058542578e+00 -3.4105381029638138e-01 +2955 -6.6994201445748303e-01 -7.1286506154387064e-01 2.4643958593322343e-01 +2764 2.7162926879290228e-01 -9.3027052711051439e-02 1.0972449788076395e+00 +735 1.0689381817628194e+00 -2.2432324288828687e-01 3.3638637705153379e-01 +2511 -1.1314285501448789e+00 1.3952515059011655e-01 -2.0964116770779129e-01 +834 1.8529271712537312e-01 -9.6871990433558097e-01 1.6339454790750182e-01 +2104 -8.0304627244495930e-01 -6.4657108729002588e-01 4.4266278215969218e-01 +2468 -1.2933864812750322e+00 -7.0432490234800471e-02 -8.6585705678204328e-01 +985 2.5991124942386965e+00 8.4423664467567028e-01 -1.2833375103245701e+00 +1878 6.3824195584862520e-01 -3.1362749137714668e-01 5.3421786307992902e-01 +463 -1.0559013181253090e+00 1.2117246001147537e+00 9.3388171043345880e-01 +2769 4.6437420539195140e-01 5.0803387449296321e-02 -3.4604844444933519e-01 +31 1.0016784912036216e+00 1.1549990948110094e+00 -5.2467835384421269e-01 +817 1.4524807011224436e-01 4.8362791998608240e-01 5.0232205473468416e-01 +2765 -2.8697886882792236e+00 1.0348209750161532e+00 -1.2431893415170987e+00 +399 5.2614784900302747e-01 1.5131342430768233e+00 7.0059204825423438e-01 +537 -2.7295019514486363e-01 -7.4577814889290017e-01 -9.1867424758838367e-01 +1454 -9.8130110709162532e-01 -8.7676031746525440e-01 -8.5280800370092669e-01 +1513 7.0653113466708650e-01 -6.8414420091616734e-01 3.8173645298707060e-01 +1957 -7.5189660250338863e-01 5.3334648143268726e-01 5.1614375532531642e-01 +1801 -4.1653824297997305e-01 -1.4876750510777998e+00 7.7310041057939560e-01 +765 7.2905112068329470e-01 -1.3216287005214853e+00 2.2647425847727347e+00 +2081 -3.7869883779325253e-01 -2.4281366092605963e-01 3.6627122399246687e-01 +2433 -2.0166433729886227e-01 -8.8282134958476377e-01 2.8161844538778541e-01 +2340 -6.3263687001905600e-01 1.5795658904646559e+00 1.0060565827212857e+00 +2948 1.3024120733376332e-01 -1.2460326509607424e+00 2.5591170594488610e-01 +2542 2.0183135812803359e+00 -2.1290474138198214e+00 3.3141508432690264e-01 +357 1.3825477946057201e+00 -1.6405754630386016e+00 2.4745873027212198e-01 +427 5.9852702622016152e-01 -1.0349248313983970e+00 2.0399587187870255e-01 +1219 -5.0200085857145749e-01 -2.3268632797379292e+00 1.0755705098893378e+00 +1598 -8.5920451809958132e-01 -1.6678892096518949e+00 -4.8539840587195032e-01 +740 3.2406392098413694e-01 -9.1289041926890846e-01 9.3191798457216601e-01 +2276 -1.4327465917035922e+00 1.1878757480452644e+00 -9.5663840008488554e-01 +2166 -9.1693190031040442e-02 -1.8304862900708549e-01 -2.6817574829036315e+00 +770 5.5482146828404533e-01 2.8853953750118022e-01 -7.0738129456794574e-01 +841 -1.0334304909064065e+00 1.2272292904985833e-01 1.7942355591210155e+00 +2597 -4.5293123879323494e-01 1.3614379486007528e+00 1.2762288187136586e-01 +72 -3.0123412480321559e+00 4.2927341361482280e-01 6.7701873094322162e-01 +315 1.0574813977868582e+00 -3.8145646058367261e-02 -1.3524078105663058e+00 +1901 -6.6742615478603240e-01 -3.7700721131697812e-01 1.1236821388832132e+00 +1055 2.2396219308464255e-01 3.0554924670231454e-01 2.7236917662530191e-01 +849 1.8611080406702514e+00 1.5468901761920559e+00 -1.1295902913280522e+00 +757 -2.5563219647170687e-01 6.0321150276107893e-01 6.1736871995533449e-01 +1521 -3.6194078805724195e-01 -8.0198722485012253e-01 -4.0649309738174999e-01 +1054 7.9304051179548890e-02 -6.2516328190569126e-01 7.3605500576585925e-01 +2570 6.0302978320230427e-01 -4.9850698409585120e-01 1.2242152310473255e+00 +2375 3.9993902265007764e-01 5.1317794381075754e-02 -7.5425730390472490e-01 +1153 -1.1304415849227230e+00 -3.0171722653590871e-01 4.7016399195562475e-01 +2803 2.1353640733774819e+00 7.1789174562869662e-01 1.2030187789197175e-01 +2927 -7.6447855698171341e-01 -1.6974033054545548e+00 3.5338068774739351e-01 +2162 1.2995267998971809e+00 -3.2306925900499733e-01 6.1040471778428584e-01 +1526 -1.7677876135988622e+00 2.6339596866613468e-01 -1.3705775060416159e+00 +2671 -3.0170204114494408e+00 1.3658105885356009e+00 3.6824873846768846e-01 +1523 1.4407011327421750e+00 1.0941771571232739e+00 -4.8146177366300341e-01 +2628 6.1722634989828551e-01 -2.6797887986297614e-01 8.0736805183558547e-01 +2826 7.9692899015293195e-01 1.1092124968171320e-01 1.1040011053438614e+00 +146 1.5623288351173634e+00 -1.0596355648839741e+00 6.8398072550099354e-01 +256 -2.5517935865646901e-01 -1.1068492000991741e+00 -8.9336970120768300e-02 +455 -1.1395138178936655e+00 -3.1835789928883124e-01 -1.3535416061009047e+00 +1989 7.9451900371610673e-01 3.1285132947954614e-01 1.3171575349678564e+00 +1632 8.3673650153970047e-01 -9.1213243945482236e-01 2.4177361662616406e+00 +2352 -2.0482661923807632e-01 -3.8931169880180772e-01 -1.3610369450140627e-01 +2702 -3.6172285038096291e-01 3.7747261102157587e-01 -6.9589733809056142e-01 +2576 -1.4882635186599480e-01 -1.2446724074105806e+00 5.3755985633221343e-03 +1707 -9.1827695032689993e-01 -5.4635696699393921e-01 -1.6568236687911870e+00 +1635 -1.2194083755390621e+00 -5.1290892485927797e-01 5.0262010847090011e-01 +2527 -1.5584673967809624e+00 9.7235655958748723e-01 2.3937297725126512e+00 +1477 -3.9953399166410253e-01 -9.8721223169308880e-01 -1.4952605463228363e+00 +1768 -3.4896805920499974e-01 -1.2224260394605773e+00 5.3209155452889678e-01 +2656 -1.0970820280039792e+00 -1.7668144486362607e+00 -2.2413357168210251e+00 +764 -1.2293493791151819e+00 1.1158811376882816e+00 3.0067043008985478e-01 +909 -2.3080243333968534e-01 -1.4398901673057147e+00 -1.5834720736781349e+00 +2339 -3.7307101995073755e-02 3.6499467137568481e-01 -2.6530411875011006e-01 +1399 1.0378985033157302e+00 8.3203558601312444e-01 -1.2047056835206493e+00 +1446 1.1491958642264382e+00 -3.6116271217614415e-01 1.5996850894938399e+00 +50 8.5221888471117280e-03 -6.7398454176769351e-01 -1.9269368822682404e+00 +552 1.6522090132661953e+00 9.3135156613166903e-01 8.0118448624748539e-01 +2999 -8.2201016394998633e-02 5.6645037299371304e-01 1.3295209860243038e+00 +2924 6.2716240278483781e-01 -5.0008954164954256e-01 -2.8526607320985081e-01 +236 -2.9792244342769081e-01 1.9613454101385774e-01 2.5250454606583622e-01 +1898 -1.2155512013201167e-01 -5.3862878159845951e-01 -1.6332486915493476e+00 +1893 -1.6574941447366534e+00 1.4519286919234442e+00 6.6255867028198745e-01 +2899 -1.9341476229181722e+00 3.9387977347634329e-01 -8.0947187305072288e-01 +791 7.2965013739607743e-01 1.0459650830862415e+00 1.6918317900454833e+00 +2897 -1.7002104545387497e-01 -1.4426324530047647e+00 -1.6687596919858064e-01 +1148 1.7939501929106960e+00 -1.8792860496307656e-03 -1.8793608240890095e-01 +2283 -3.5464887558649755e-01 -3.1827848455593699e-01 -1.9455245704466200e+00 +1349 -2.4053527871945535e-01 1.1320436592884449e+00 2.8958174152337085e-01 +2453 -3.1464733095152625e-01 1.7363704131172999e+00 -1.2082537293942672e+00 +866 -1.1771375763260756e+00 1.8301746301851534e+00 8.0933695900425184e-01 +887 -1.1330205113594678e-01 6.0559299204994721e-01 7.4218929174211012e-01 +258 -4.9726559716559282e-01 9.3050755700688459e-01 -5.4433688270071234e-01 +768 -1.7734251850781269e+00 8.3250204686198948e-01 -6.3657990400601339e-01 +1565 -6.8757051573078809e-01 1.8867797563135946e+00 2.3061778861562340e-01 +1317 -1.0041392247487320e+00 -1.4100486518449915e-01 -1.5945125076137592e+00 +1782 -1.8130853808711003e-01 -6.0871191608637298e-01 -2.5702871777341152e-01 +2250 -6.8811733052654062e-02 6.9748039140809004e-01 -7.9411698905034955e-01 +2089 -1.3393648505116279e-01 -1.2636255758988668e+00 -2.6571032336119416e-01 +403 1.1567008404641734e+00 -4.2925118566296244e-01 -1.5022347422819332e-01 +1968 -1.0726048411927009e+00 9.5465358085201868e-01 -4.1072787945106010e-01 +109 6.5730051164240488e-01 3.0846161183914111e-01 8.1067979233575949e-01 +1814 -5.9459051292158005e-02 6.7412234965063017e-02 6.2931645415212012e-01 +698 9.7638708776681837e-01 -1.1702411557369932e+00 -1.6331162747535546e+00 +2384 1.4985823764750961e+00 2.4655643658360268e-01 3.5969015646625180e-01 +2880 4.1622629987816839e-01 -8.9564128006098354e-01 -8.4664856892179036e-02 +828 1.9448610235709524e-01 -4.9758572283080865e-01 -1.2061280590666408e+00 +2444 -1.3870159192532678e+00 -1.0784434257563542e+00 -5.3589617297371361e-01 +1571 7.7636993559530731e-01 6.7135820267705104e-01 -1.9302044157807787e+00 +2693 -1.1853080938616078e+00 1.2156905429516778e+00 -2.5579669175803932e-01 +2436 -1.2022847184769119e+00 1.1234618403125174e+00 -2.9393717810541242e-01 +1341 -7.8823216362104631e-01 -1.0720257031112951e-01 -1.5036154791099363e-02 +242 8.9487114956256630e-01 8.9544720665285860e-01 -1.0201733042059875e+00 +2594 -1.3234210481347566e+00 2.9822421484468498e-01 8.7082120847678302e-01 +713 1.4087875327158732e+00 -5.1942651133594175e-01 -9.2382901867549583e-01 +1641 -6.3194321338642934e-01 1.2098786564504684e-01 9.4272531999732501e-01 +129 3.4321425621403147e-02 -5.3079080222071107e-01 6.7231705490978433e-01 +1030 -5.6083014551694765e-01 4.4560333256377219e-02 -7.1726139144581080e-01 +2952 -3.4492328601185540e-01 -1.3804995117811216e+00 -2.7360909318160720e-01 +1965 2.2543723306718016e-01 -7.3541419020370924e-02 4.2535876290893088e-01 +1925 -1.0977219743756448e+00 -5.3076994306604997e-01 -1.4621651088390388e+00 +2108 1.2034745999469521e+00 -7.3558908648623911e-01 1.5476743555301081e-01 +911 1.1463217832214548e-01 -1.1268733182101518e+00 -1.0586984946598696e+00 +895 4.6517612262935426e-01 -1.5251939854239185e+00 -2.2115534376838120e-01 +859 -8.6770476454009315e-02 -5.2277834747366736e-01 7.0344712215833205e-01 +2591 1.5249634393146598e+00 2.9193349031461086e-01 -7.7868612877549814e-01 +957 9.2606554809496300e-01 5.1603947498982361e-01 -9.1717786173790150e-01 +573 -8.6432143904908820e-01 -1.0861900326388834e+00 -4.2083658981012684e-01 +1747 -1.4347972056004528e-02 -1.6644261387672847e+00 2.0647467852060051e+00 +2174 -9.2616724117018445e-01 2.9827068095415271e-02 3.7145932834511969e-01 +2058 -1.8467639389187855e+00 1.2939922599838671e-01 1.2617050072395359e+00 +2348 5.9351430069770605e-01 -7.8740451781919307e-01 8.2871058280164955e-01 +693 -6.2160252684257311e-01 1.5627160182915964e-01 1.0983771952715946e+00 +1483 1.4978752735939940e-01 9.8394458329835288e-02 4.7284419211060225e-01 +2829 3.1928996626756132e+00 2.1596642301886010e-01 -9.8495436855133567e-01 +2410 1.0890686326475899e-01 -1.8757686155414433e+00 9.1012364513783722e-02 +2071 -1.4964605633342924e+00 -1.5933586699272007e+00 3.6016486667983316e-01 +2609 6.0948760159993753e-01 4.2533215776364475e-01 1.1922732812579688e+00 +1522 1.2514876265941210e+00 4.5865546670046820e-01 7.5275994753918218e-01 +976 1.0492962628446734e+00 -9.7093823433680559e-01 1.8307463993932600e+00 +132 -1.5031252774584428e-01 3.8341146799461512e-01 -2.0129930131649817e-01 +2657 6.1672690545702769e-01 -1.2145301923484837e+00 8.0424711119132797e-03 +1624 -4.2304021564036132e-01 2.0984510941536916e-02 -9.9620096980617678e-01 +169 1.1402678204471111e+00 -1.1454736664823668e+00 -5.6634613805509215e-01 +237 1.2690508256022162e-01 -6.8154246408194452e-01 -1.7732700519510676e+00 +2347 -1.1329744900051701e+00 2.2035053608807792e-01 7.7873382652885970e-01 +402 -4.6995283781706776e-01 2.7653169131907129e-01 -1.9190802951245889e+00 +1023 5.5023197304879801e-01 -5.8813740345039889e-01 -8.7301906783109429e-01 +1563 -6.5066299299020836e-01 4.1980679769458740e-01 -1.7149486632372657e+00 +159 8.8382934055531093e-01 -2.0811675258545073e+00 1.5132889946753933e-01 +1798 1.6053847822821345e+00 1.3928413027025950e+00 3.1336557948997718e-01 +1719 7.7647134969909715e-01 1.6913497813963621e-01 4.4706559180437105e-01 +1639 5.0827869259038061e-01 8.7639621361324416e-01 -8.8728473949718656e-01 +2506 -1.7481831129859360e-01 -5.5369291539147381e-01 4.4972188538406560e-01 +1417 -1.8110224984669065e-01 -2.4873900274369038e+00 -4.1973269166158511e-01 +1279 -8.0900035805793025e-01 9.8420459906992108e-01 1.6996986460645344e-01 +885 -2.1217848405894544e+00 -9.4412506460498036e-02 4.4953383549945802e-01 +126 3.2541144933158384e+00 1.3016475254016417e+00 7.7546025808683072e-01 +778 -1.7665628047481723e+00 1.6653273922068368e-01 -1.9106773420423262e+00 +1811 -1.5686581173080334e+00 4.7640332719040740e-01 -1.3210251241780933e+00 +1784 7.4499643703348950e-01 6.3394118660064114e-01 -1.1134198689857486e+00 +2493 3.3623710717764577e-01 -7.1422613580578020e-01 3.5962408392002509e-01 +2704 -1.2127650091568640e-01 -7.9410725589646824e-01 1.4959949824387344e+00 +1456 -1.7760919116613760e+00 3.6129102657297629e-02 -8.7870398152316453e-01 +1942 7.1010470294988615e-01 7.7814555954630560e-01 -1.1995271778297114e+00 +2428 -1.2020688049516073e+00 -5.0712880735542265e-01 -6.6086646286953987e-01 +2670 -7.1927259560130674e-01 1.1200773696591764e+00 3.2424187320741487e+00 +1834 4.8511783941984343e-01 -1.0413438158370736e+00 2.4964385660870367e-01 +1039 -2.1663251850064030e-01 -4.2171167179034674e-01 1.3022282426623326e+00 +467 8.4086889455988800e-01 -1.3165187746412424e-01 4.3432695611225630e-01 +206 -1.5984727985432463e+00 1.0206088046377731e-01 -1.5911308676468970e-02 +1489 -6.1789858485445837e-01 -4.7217491617723595e-01 -3.4860294065138570e-01 +1003 -1.7294449510750218e+00 -4.5681303377117605e-01 7.6981568882419624e-02 +2278 1.0377063158215443e+00 9.4811158589343991e-01 -6.1910753073946090e-01 +2077 4.4851849225585083e-01 -8.3965979548022374e-01 7.8631077264781218e-02 +952 2.4136971844525545e+00 -8.6419409073453812e-01 -7.7706177882574767e-01 +201 1.4199307475618834e+00 3.3827753638849045e-01 7.6158747647001346e-01 +2568 -4.8756405349198800e-01 4.5299453266390566e-02 -5.4776054459126167e-01 +384 -1.2248064971795367e+00 -2.2193267326235069e-01 -6.7654812503055939e-01 +2236 -1.3963753847270695e+00 -9.5501926540716667e-02 2.1127185764443310e+00 +419 3.4939083201045462e-01 2.1209112101374679e+00 2.9394925804908101e-01 +1025 8.3773538828781385e-02 8.8704950515486936e-01 -4.9781138439136446e-01 +2669 -1.9105913112872199e+00 1.0316942104856171e-01 3.3081577991537808e-01 +630 -3.9060319063166005e-01 3.4059082011738478e-01 9.4115676296071182e-01 +2355 1.7399548050504634e+00 -1.7001421479715706e-01 -1.0002999483531735e-01 +483 -7.3980178635780058e-01 -1.1111295660424301e+00 5.4885851543039887e-01 +2928 -3.3808696872505645e-01 1.0156882813451340e-02 -1.2221158341287848e+00 +2424 -2.5432322056200496e+00 1.1585886672725576e+00 -4.6726008295732668e-01 +569 -8.4883347977432355e-01 7.2887715745612613e-01 -2.0063334344333361e+00 +520 -4.3391890648554760e-01 2.0334836615612257e+00 -3.7292409030117257e-01 +1807 8.0098002668810353e-01 9.0540962469230246e-01 -1.0024599039618578e+00 +377 2.7372677523967776e-01 -4.9073775852674673e-01 -2.0091569741585316e+00 +1765 -1.5256462393167516e+00 -1.5312151316427552e-02 1.4378844733623881e+00 +2308 -1.5728303943717943e+00 1.4330209812658337e+00 -1.5354011013936859e+00 +1199 4.2798974017369124e-01 -2.0151717436798394e-01 -8.5169582426845847e-01 +55 8.4862062775622937e-01 1.0849412445755155e-01 -1.0184975978239719e-01 +1089 1.1054585979352152e-01 -2.5310006679671337e+00 1.3836717418606030e+00 +381 7.9054345798371936e-02 1.2573493952830430e+00 -6.3032723952568515e-01 +2637 -8.8185682949709565e-01 1.3056943025184862e+00 1.9762628673915734e+00 +1314 -2.8245984463782886e-01 -1.8768596217583638e-01 -1.2146432707709240e+00 +896 1.5359777515181788e-01 -1.1148542207646421e+00 9.1654800618188115e-01 +2476 -1.7723416938639347e-01 1.0520462587508814e+00 7.8757737831871358e-02 +1050 5.8666569282218484e-01 -4.5729583073183006e-02 -5.2021046385041858e-01 +1835 -1.5252093769997068e+00 1.0321581007505320e-01 2.7629056549093756e-02 +739 -2.0559281427762074e-01 5.7838294158274162e-01 4.0696714055161082e-01 +2551 -6.6050477743354685e-01 -2.3442107911466500e-01 -6.7022327574042598e-03 +2066 1.4794678673886918e+00 -6.2621798274430940e-01 -4.5558445286292874e-02 +2474 2.4684524954451215e-01 -3.5122672169823066e-01 1.2546673190488060e+00 +723 -2.7368359566762718e-01 9.5652304914821662e-01 5.8087843519237214e-01 +2110 -2.5333577822980685e-01 2.9516746128825899e-01 -8.5012472053039856e-01 +374 9.0011312603896970e-02 1.8878834596711486e-01 1.9096750941710148e+00 +2388 1.1475947247478817e+00 -6.5082137207025637e-01 -7.9587563949928442e-02 +1662 -2.8413911716279994e-01 1.3862891282071771e-01 -2.6438852521956435e-01 +2186 1.0680174061459922e+00 -1.0607979223011097e+00 8.1279756443411444e-01 +11 -1.3301027610767852e-01 5.6067751048973269e-02 -2.4167604176126063e+00 +1413 -5.1858444576065066e-01 1.5592111193671718e+00 6.4063865439593848e-01 +2884 2.1551720004327697e+00 1.0544660748159369e+00 7.9183394001355667e-01 +163 4.7499308911883348e-01 8.1266667465430886e-01 9.4382705285446200e-01 +2075 -2.0841611478317140e-01 5.1606161896627434e-01 -7.2379844427739892e-01 +22 -3.8563453668775255e-01 1.6213983523067172e+00 8.5419937200948304e-01 +473 -2.2489879236938433e+00 6.0493993823120351e-01 -8.8033241855191036e-01 +2317 -6.8789855137811995e-01 -2.4744152174664330e-01 8.3143432666912997e-01 +691 6.0402427972765582e-01 -8.2451571696309789e-03 8.0935303379244694e-01 +890 1.2810827184890194e+00 -1.6449770790958069e+00 -1.1453944173411662e-01 +601 -3.1348878354595000e-01 -7.1071003127549826e-02 5.0861865758320945e-01 +966 -8.2889597064972564e-01 -6.8266364472018526e-01 -2.3124959682699800e-02 +1781 1.8918370567058973e-01 -7.9240251543409401e-01 -4.6912280157963310e-01 +459 -1.3228192349690302e+00 2.5173133148637311e-01 -5.6958040483347142e-02 +544 -7.6540371741941127e-01 3.8061682963443744e-01 -5.1076114315499677e-01 +1531 8.4535726900698283e-01 -7.3735424420762169e-02 -1.8629554786119243e-01 +2682 9.9423163288911015e-03 -5.1554261998731721e-01 -9.4083763808902254e-01 +277 1.0595364976209527e+00 -3.2536970784744745e-01 -1.2285519029424183e+00 +1861 -3.0586995837720652e+00 -1.9389642315569061e-01 -1.2608459278550230e+00 +2107 2.4348408530386516e+00 1.2168119331790506e-01 7.7477716527720331e-01 +2461 -2.1039520576849995e+00 -1.2297734366579038e+00 -1.2152037398186226e+00 +1144 9.9447941753244173e-01 -9.6103891657840457e-01 -8.9027631749015090e-01 +2962 1.0666315693386017e+00 1.4427690762682382e-01 4.9929555068952836e-01 +1703 -4.8688906087236611e-01 -2.4774418151891751e+00 -1.2798655815132758e+00 +1105 -1.8820316031795064e+00 -9.1449791693122354e-02 1.5023380706494200e+00 +2792 -7.2535355655226952e-01 6.4664457160802624e-01 -1.2532624466613720e+00 +2668 1.9301530501418351e+00 2.0325570920509609e-01 1.6375052230310065e+00 +87 -2.9423476415940661e-02 -1.3839400005759939e+00 2.7534931329854156e-01 +2018 -1.9594446327401198e+00 -7.8415377199274061e-01 4.7474943690133903e-01 +624 -7.3186750695187847e-02 -1.1690327343035365e+00 -9.0533629075447808e-01 +195 -8.4064542356009031e-01 2.0217017101080992e+00 -3.5549611140592896e-01 +396 -1.5184599832977306e+00 3.5008182698407242e-01 7.9609898395211676e-01 +997 -2.1048537195049982e-01 -4.2058697865150463e-01 2.2008486727459249e+00 +1780 -4.8556325159584290e-01 -9.0006367655154840e-01 7.2930141098436374e-01 +1755 7.0854941819094575e-03 1.9975095164262782e+00 1.7357378439655058e+00 +52 1.0764523690920541e-01 -6.4754764229031647e-02 8.6479961469269329e-01 +30 -1.0983722869750834e-01 -1.0054727904128939e+00 -1.5265196764847253e+00 +848 1.1963269470078650e+00 1.0407744717303424e+00 -1.4677614144150453e+00 +2652 1.6611744424851058e+00 1.2300725355272710e+00 3.7431917207860439e-02 +2065 5.2117364760499463e-01 1.4421384857364936e+00 -4.0794431644719215e-01 +1075 4.1495125387628295e-01 -1.2744898612184616e+00 -1.2152663290624519e-01 +2558 -1.6154293312538159e-01 -1.4434516677652585e+00 2.6309067456899621e-01 +2534 -7.3481901341082678e-01 -6.8963806423667795e-01 9.4048420816877532e-01 +2729 1.2694513941498811e+00 1.2288901825769261e+00 -7.5402513500098067e-01 +2158 1.0319778130054497e-02 2.7949682635523870e-01 1.7188102737335553e+00 +2888 6.5962067331117513e-01 -2.7548519848231146e-01 -1.2339176050888094e+00 +2033 -6.0029574630941232e-02 2.4331946168516555e-01 -2.3828861039607158e-01 +204 8.5134272702448421e-01 1.1808826079915289e+00 -1.2516850147688716e+00 +156 -2.1672379558066064e+00 1.2721829026623130e-01 -1.6458774707305983e+00 +337 4.4079368319297374e-01 -1.9407256281568053e-01 -9.3713307530668999e-01 +684 1.0711202226965728e+00 -6.2594870952707726e-01 -8.1779252330029445e-02 +2994 -2.8760453467357343e+00 8.9809314649597294e-01 2.1199317062755010e+00 +510 1.0410743350499150e+00 -6.6838291988524323e-01 -1.4137452125799987e+00 +1299 -7.6280581593990793e-01 9.3206474019944330e-01 -7.8628650540375467e-01 +2447 1.0029336052660251e-01 1.6101579957700314e+00 -1.1368599145434197e+00 +2446 1.0849304782746125e+00 -2.1968211468682872e-01 1.8429329955487186e+00 +2722 6.6228501981957877e-01 -1.3284145244249395e+00 -1.1457791274551175e+00 +668 1.5168921042735681e-01 9.9966476833591680e-02 -1.8447754651913173e+00 +1101 -4.6223795846339805e-01 -1.1273116229819202e+00 -9.3643927384005932e-01 +2680 -1.6783220292533920e+00 -3.0784480267047276e-02 1.6770323381868157e+00 +2177 2.4600594586441515e-01 -1.4560900909472370e+00 -3.3287702370339989e-01 +2523 -2.5066833301709779e-01 -2.0088227914751550e-01 -5.4763036369858342e-01 +932 2.3256039664362902e+00 -1.3339931753357909e-01 1.2714450442256919e+00 +1468 3.5750889675561298e-01 1.3629918130509560e+00 2.0137236150153742e-01 +433 -2.0208600962847664e-01 3.0521490999384954e-01 -3.0494066179377211e-01 +1533 3.4271757811725734e-01 1.1434850664214555e+00 7.2439844190738545e-01 +2853 8.4424125335242928e-01 9.5803302138763202e-01 1.3017093261922755e-01 +1839 1.6221198146540383e+00 1.1157859655599267e+00 2.4455078579103740e-01 +1095 -1.3948459554725270e+00 1.6476310803439467e+00 -4.1821052918903595e-01 +338 -8.9221402859992138e-01 -7.1545171566348154e-01 -7.8784218321094124e-01 +780 2.6855728920296786e+00 2.1995982757801683e-01 -1.6394956938787333e+00 +93 1.3511660043878626e-01 2.7327437870161159e-01 -5.8861749084464654e-01 +1777 1.6867172035983424e-01 6.1262551194999626e-01 -1.1860814700731508e+00 +148 7.8376328346683877e-01 1.3640422794852152e+00 -1.5788833678289815e-01 +25 1.4975381276659598e+00 1.6736456631170007e+00 1.3322922214353647e+00 +910 5.8435547666417809e-01 1.0258493721979496e+00 -1.7739560017926397e+00 +2868 -3.3810573558453294e-02 -8.2783898697676650e-01 -8.9835084837100765e-01 +1575 9.5705338328189737e-01 -3.4823518474383186e-01 2.5391595685779489e-01 +1140 -8.0985386635996803e-01 -6.3645178198319974e-01 -1.5653175408301618e+00 +1366 8.4690983099429828e-01 1.5173891756232596e+00 7.1893429561874722e-01 +2567 -7.7942072598460410e-01 1.0697125254985181e-01 4.8678624792785952e-02 +1503 -5.9450028351859974e-01 -2.8240247479882441e-01 5.6590733166804164e-01 +1776 -3.4646960926579207e-02 -1.5206016464692156e+00 -2.4489700343173287e-01 +2459 -9.5427295449997340e-02 4.5894968764284405e-01 1.3513598764111507e+00 +2219 1.3676927543240942e+00 5.0997569399800236e-01 -7.1482025749943934e-01 +2016 1.1522440441930586e+00 4.4413028149972700e-01 -2.5164162877812973e-01 +1741 1.6596499525645270e+00 -1.8865517268173004e-01 4.4457295102903427e-01 +471 6.7967389928812894e-01 1.4904521256011233e-01 -4.0069467590401026e-01 +2441 1.2051052705044878e+00 2.5669389324286080e+00 1.0087932266910964e+00 +1453 1.3241255354874151e-01 1.2130854060733973e+00 4.5120949108419262e-01 +413 2.1100235216073222e+00 2.1610349489157832e-01 1.0523389645546448e-01 +2251 -2.2183077911129616e+00 -1.3914638514914113e+00 -2.3883991420181201e+00 +1096 1.1876154483301866e-01 -6.9860099650044472e-01 -8.4415078116540965e-01 +2318 -1.5973330364946476e+00 -2.0631714159195114e+00 -1.0771282527774788e+00 +666 -5.9702661809933610e-01 -7.2896981911857117e-01 1.0003602889125336e+00 +2359 -4.9503237872013844e-01 -1.0682086265104846e+00 -4.6667037352324570e-01 +2218 3.2452868227886339e-01 -7.9423949346980538e-01 -5.8779250681839357e-01 +2921 -5.9650189492102113e-01 -6.1119834679692786e-01 -3.7981370383964763e-02 +2603 1.4402832103788061e+00 -8.3594034350433455e-01 4.8865486235289168e-01 +1844 -4.7694488922792999e-01 -1.2534096134603450e+00 1.6791596354674041e+00 +322 8.4825593536090926e-01 -1.6184411336173948e-01 -1.3479782915354064e+00 +1535 -4.5843262766290499e-01 -1.5457087506057143e+00 -6.9085094238998490e-01 +2870 -1.8587890517680805e+00 -9.3918158068761226e-01 1.0329243005995489e-01 +819 2.5636602993684465e-01 1.8916962495342640e+00 -1.6438776729048332e-01 +2161 1.1933564305915836e+00 9.4014375096287428e-01 1.0469871350491144e-01 +1601 -8.0634596250491275e-01 -1.0105448868322466e+00 6.5884023265427971e-01 +749 9.7920188559965787e-02 1.8217634353663801e+00 -1.0339993673748757e-01 +2756 -5.1367364544994321e-01 -5.0636053720828988e-01 -8.2314187853360676e-01 +916 2.4029810239055149e-01 1.0745632476573637e+00 -1.1705107510917802e-01 +385 1.7494106275962293e+00 -1.8359519319086443e-01 -9.4784529132938902e-02 +2393 2.8360118034094595e-01 -2.5852230397399928e-01 6.0616099358495712e-01 +104 3.3465311172034334e-01 -9.4752142975131992e-01 9.7501170941217108e-01 +1529 -5.5670453506645290e-01 7.1327462956255638e-01 8.7850327577895682e-02 +1301 -1.3000676506400688e+00 -3.1091883833608247e-01 3.3521064384468127e-02 +1334 5.1146691208710915e-01 4.8402798400195046e-01 -6.8048871921984555e-01 +1629 1.9191912504192757e-01 5.4125505362839510e-01 1.5402781016278748e+00 +2269 4.4379067547635459e-02 -1.0733856261482562e+00 -2.3632439984181455e-01 +2026 -6.6082024656951982e-02 -2.3968720560367784e-01 -6.4027544136987058e-01 +2667 -4.8250045485755955e-02 3.1097162325992256e-01 -3.1437191446998108e-01 +1385 3.9631953216442850e-01 1.1442858242307081e+00 7.8822486922158574e-01 +1702 7.7801859805621154e-01 1.4658840679806022e+00 -6.6696249378638606e-02 +1422 -2.6041390418278498e-01 -1.1768107725025532e+00 -8.4972062779361157e-01 +388 1.0361269315712449e+00 1.2385437916085937e+00 -2.8716522747407982e+00 +2837 1.8890785191734011e-01 -7.8414118749336037e-01 -8.7045855443621556e-01 +2284 2.3303283754344156e-01 7.5584537029835541e-01 7.0764849445118141e-02 +2746 1.6728088821811167e+00 -1.9038864558410631e+00 1.8373081263104907e+00 +536 2.5645627234460444e-01 -3.3322131546063510e-01 -5.7857694201194443e-01 +1302 1.0102227431542019e+00 8.4383393960283282e-01 -8.5250834852126167e-01 +993 4.5585543991773636e-01 -2.0287875897712877e+00 -8.1759456248202933e-01 +1848 -7.8333661086268391e-01 -4.5161946510362744e-01 1.7423531855443282e+00 +937 2.9013337212438006e-01 2.5701631298873140e-01 1.2334077185996923e+00 +2390 9.1386146749596342e-01 3.2968208779980612e-01 -2.4309744742785178e-01 +886 -1.3191752278519597e+00 1.0045984633858480e+00 4.6931872252683871e-01 +1633 -1.5135724513235511e+00 1.4747283164259302e+00 1.4841075294065391e+00 +2268 -5.6089954714101020e-01 -1.6128641801758936e+00 1.7562761397481580e-01 +383 -5.6262438150071858e-01 -1.1317347398604685e-01 8.1649141255027802e-01 +956 -6.1667959270857775e-01 -6.3283346420433417e-01 6.6685139537891369e-01 +1192 6.9486799254344145e-01 1.0267417924847797e+00 -1.8269216130502428e-01 +640 7.7507147339639648e-01 -5.5733238113504480e-01 9.0219939639533120e-01 +225 1.1503042133227721e+00 7.7611147013599757e-01 4.8601471827338005e-01 +1087 -1.4984662076198194e-01 -9.3299949068108246e-01 2.1314192239286149e+00 +777 -7.4306548602332834e-01 1.3559106676066490e+00 7.2176193369017128e-01 +168 1.5498293355123449e-01 -7.2763539311532488e-01 -8.8060980776178377e-01 +1369 2.3887557101079175e+00 1.5134752097949065e+00 -1.1403457720565862e+00 +2238 -1.4174013865838657e+00 9.1155972467667035e-01 6.6273266627803196e-01 +1008 -1.8054794585509124e-01 -6.5541147870750993e-03 1.3726018818443253e+00 +1312 -1.2701701975376258e+00 -8.6581765923033696e-02 2.0467299829878134e+00 +1654 7.0880983301306033e-01 1.0736066457026743e+00 -9.1187435264613625e-01 +1876 -3.7315960940232062e-01 1.5811482984463432e-01 4.1160327750655729e-01 +1100 6.9951037874042965e-01 -7.1658407484615039e-01 -6.2721542158944699e-01 +1845 1.7001192294448662e+00 5.8962393870471264e-01 -9.9776480700660330e-01 +2699 1.2752303498713230e-01 -2.1135577589193182e+00 1.3722469182585333e+00 +2185 -1.1431414943131741e+00 -2.8773023833482118e-02 2.0506253709188829e+00 +2157 3.2939553341784578e-01 1.7106737042272750e+00 -8.7756803752455470e-01 +1026 -5.4267423764359286e-02 -1.1878557215449509e-01 2.1179424813283290e+00 +2983 -1.6714416220295467e+00 7.6711816222799523e-01 -4.8700285290402212e-01 +1040 6.2927468515988705e-01 1.7912974173081189e+00 -2.0108556855139140e-01 +991 1.1158225210594765e+00 1.3112746983729056e+00 -1.3859753254159104e+00 +1160 -2.2875800089218075e+00 -4.8922571391954511e-01 -6.7256025188784374e-01 +2091 2.1234444139653427e-01 -1.6844074254632246e+00 1.5550680729801278e-01 +170 7.4843351319947460e-01 4.6006259355736667e-01 9.9739741543988958e-01 +1874 -6.1898349876889736e-01 -8.0745092399841745e-01 3.9699964196111476e-01 +2931 7.5945617659695097e-03 2.6483902132721893e-01 -1.1775888501573790e+00 +2432 -3.1587559412613897e-01 -8.7049454619206668e-01 6.1608214334367029e-01 +2494 1.4574754271347199e+00 -7.2800342424453612e-01 -1.1733825643362885e+00 +2898 -1.2904102982381536e+00 -6.8676417806712786e-01 -2.8492641355840148e-01 +1561 -3.7372618984367734e-01 3.5925223806141127e-01 -1.1905688822509518e-01 +1360 -1.3231714987907015e+00 1.3321188261362202e-01 1.6758190569076423e+00 +1870 -5.2477230129339658e-01 -8.0725104542936199e-01 9.6112874424306649e-01 +2102 -8.1323130638801013e-03 1.0901635966175440e+00 -2.1427168362297815e+00 +431 -3.2237713940052182e-01 -3.1679539370873617e+00 -1.0278948939189975e-01 +1580 -1.8121116726924433e+00 8.3717658515843107e-01 2.5064678023286575e+00 +2727 -5.0929573206815315e-01 1.2695930145208849e+00 -4.0096349245623103e-01 +2043 -4.0633962083521291e-01 1.2344391110431923e+00 -4.8036667728614596e-01 +821 -1.8049052282793965e-01 -1.5328793226362816e+00 1.4411554078446812e-01 +2309 9.3555595678558701e-01 2.5705318953182199e-01 2.9686560154341635e+00 +270 -1.6500772322202670e+00 -8.7207567769233230e-01 4.5157001126830115e-01 +1627 5.6196237057286558e-01 -5.5077217350090446e-01 6.3628370223321995e-01 +1554 1.0855885783576591e+00 2.5225630942766336e-02 -1.0965436222249674e+00 +835 8.1139899654298919e-01 1.7212450206125609e+00 -6.8692965910995918e-01 +1455 -4.0955141242304421e-01 1.9625496108407509e-01 -1.0113625735889782e+00 +1620 -1.0443760868042646e+00 -8.5697810720843515e-01 8.3811047301914376e-01 +106 -6.2231870852645932e-01 4.1846237026197203e-01 3.1362209177615114e-01 +656 1.9052917549952086e-02 8.7410706128105076e-01 -1.3831725305915434e+00 +1681 -8.9458093919893866e-01 -6.6851238336039254e-01 -6.5180147496936125e-01 +1542 -1.2942753599284678e+00 -6.0665227777283136e-02 1.1733449232763347e+00 +2200 1.1348252608576022e-01 1.1802908071650138e+00 -1.2168379908002851e+00 +2516 2.6790038045916098e-01 7.2922231987357600e-01 8.7273668591270365e-02 +1910 8.8151341043302162e-02 -1.2847322385194995e+00 8.9786528030551827e-01 +677 -9.7242652579282529e-01 9.6403395997142233e-02 1.6917262631663768e+00 +853 2.4912012996566393e-01 -5.7418584828856270e-02 7.2413579751795865e-01 +1436 -4.5981059295214710e-01 1.7291468382694346e+00 -3.5520147468863855e-01 +1135 -1.0221472408647758e+00 2.5091211609220312e+00 1.4019342121693845e+00 +1583 8.3891782791957747e-01 5.4242874694297483e-01 -8.5251783307903906e-01 +1243 -2.3951756873875973e-01 -2.3521587228927077e-01 -1.9734497598481487e-01 +528 -1.9104520029375618e+00 -1.6561665161210987e-01 1.0512694411654884e+00 +2098 -1.7670165529516939e+00 -5.9910791256679885e-01 -1.6609474586708108e+00 +2449 1.1792636126090086e+00 4.2122377213899165e-01 1.0091561589744316e+00 +1817 -3.6957635843003950e-01 2.8637473720940565e-01 4.3395434045492032e-01 +2135 -4.2398945866297910e-01 -1.7544198501217818e+00 -1.1041843824989503e-01 +539 -5.2599997054005332e-01 -9.7938973863006273e-01 -8.4018472970850400e-01 +2887 -2.2289899736947656e+00 6.5204951160928365e-02 -1.2155479697098366e+00 +959 1.2560986214304022e+00 7.1487285517833232e-01 -1.4559545108979894e+00 +496 -1.4966734449922181e-01 1.0562364865927387e+00 1.0007661268721133e+00 +1486 -8.5038525961971723e-01 -3.3129345261325938e+00 -1.2114576829745767e+00 +796 4.2643818734886751e-01 -4.8576987331932808e-01 8.9736795353820165e-01 +2280 -2.0425490621246115e-01 1.8181031450308749e-02 5.2208905777059555e-01 +107 -1.8244062431372055e-01 -4.5042552821019666e-01 3.3829769458253595e-01 +595 6.2275559717818618e-01 5.7659794496429884e-01 2.3524153173413592e-01 +2163 1.2886519707682220e-01 -7.0825171027276412e-01 -1.3636505538795189e+00 +641 2.2492256680994271e-01 4.4336511732994860e-01 2.8810016087542267e-01 +2184 -8.3618795723210959e-01 8.6225622758965703e-01 -4.4317676329749583e-01 +1056 -2.5112771881729459e+00 -1.5182687734351012e+00 2.7341267893045584e-01 +342 3.5784616365648486e-01 1.5744765347609407e-01 -4.2055257081767256e-01 +1836 3.0415786883910390e-01 4.0210522835353940e-01 -3.7351232658336464e-01 +1519 -2.6584165792648891e-02 -3.4088409732677416e-01 -1.5523284300022298e+00 +2712 -1.9507176241041518e-01 1.5379400029914314e-01 -5.2057007139014222e-01 +1622 -6.7277944375087140e-01 1.5238412404970070e-01 -6.6251866237103696e-01 +945 8.9693645289614232e-01 -4.2036054777489971e-02 -2.8245327760019334e-01 +63 -7.8365495765350968e-01 -6.2032015459145740e-01 -9.8779355486287701e-01 +2611 2.4355909012818361e-01 -1.3969538878320624e+00 -8.4810937991559698e-02 +1090 3.2819376505660991e-01 1.6568132233630768e+00 -1.0856092085810354e+00 +2790 1.2376048536565663e+00 -1.1642538298685181e+00 6.2195889907878577e-01 +1712 -4.6168614910134370e-01 2.8093382889817353e-01 -8.2739616360802060e-01 +1418 -5.4299620545547134e-01 -3.8797398977184039e-01 2.8983811568653506e-01 +594 -5.3582166830668954e-01 1.7140031265452460e-01 -4.9174686024756542e-01 +2620 1.4854959467410918e+00 8.4511378282516991e-01 4.0643369768260607e-02 +1983 1.3412882959617670e-01 -1.8518236000914094e+00 -1.3697198961051368e-01 +2510 1.0890480917301832e+00 -3.7762561641258652e-01 1.9909310994756362e+00 +311 -1.8073479730063358e-01 1.3929109734536996e-01 -3.7737439001232598e-01 +2057 -1.3183913306706081e+00 7.6201996074255027e-02 -6.4424334117741566e-01 +962 2.0300586597938066e+00 -1.6774888493577284e-01 1.3558637798250648e+00 +978 2.2556969226783313e-01 -1.3198439842057579e+00 9.6911186062376387e-01 +2676 -7.0809334308310889e-01 2.3249228177999323e-01 1.6506066672669489e-01 +555 -9.7921877036691929e-01 1.3224073808239489e+00 1.2263294504047151e+00 +623 -6.9830920103002914e-01 2.5079714827530014e-01 -2.0722708690426574e+00 +2618 5.6625606765538783e-01 -5.8184388165894146e-03 5.2511695194155639e-01 +942 -6.3183696135903533e-01 5.5313502184253693e-01 -1.3173356270753533e+00 +784 1.9821905115604062e+00 -1.0101326695576618e+00 1.0952073092031522e+00 +210 3.3273010947566328e-01 -2.3242165660848801e-01 -3.9418334562879459e-01 +1959 1.1261368540199845e+00 -2.9300343090767478e-01 5.1011465168423265e-01 +804 1.2722366384025827e+00 -8.5586819218138643e-01 2.5495737832067338e+00 +645 -2.0621833282582006e-01 -1.0735876764570107e+00 1.7784804573957986e+00 +500 -8.4080554351248371e-01 -1.3699966039544118e+00 -4.8660247030824583e-01 +951 1.4502139926863464e+00 -2.8617147958781834e+00 5.4063456770374452e-01 +2724 1.5734219157835201e+00 4.8835308947509237e-01 6.0485370649837411e-01 +1063 -1.7460723187396847e+00 9.0313988193951045e-01 -2.0242222734463081e-01 +2437 -1.0019082973336311e+00 5.2307602136890985e-01 9.0299440606275233e-02 +281 -1.2403677604875698e+00 1.3493809081812351e+00 -4.1942902617295852e-01 +1634 1.6326355765687237e+00 -4.1215148696738280e-01 8.7788507647240166e-01 +498 7.0938329919112841e-01 -9.7697476683891971e-01 8.4651816648798756e-02 +1244 2.2342182104964379e+00 2.1455439204920673e-01 -8.1982228603773988e-01 +590 6.2054131918160438e-01 1.1208364388688190e+00 -3.0490089234262124e-01 +1350 -1.4142501023383044e-01 4.4449896761756946e-01 2.4185148746275611e+00 +983 4.4527033729373211e-01 -7.5609317539207743e-01 -1.6376616356114104e-01 +128 -1.9010890350873696e-01 -2.8678904160022950e-01 7.7359088516962479e-02 +2919 2.5626234752029609e-01 -1.4001707735391318e+00 1.2228502038741698e+00 +1774 -9.3147518018170650e-01 -4.1993902509523826e-02 1.0197220404183656e+00 +2985 -2.4815864084682535e-01 -2.5698955607207907e-01 9.8857338505395409e-01 +1877 -4.6396485103431262e-01 8.2315997044456446e-01 2.0337015818897664e-01 +567 -5.2778203627451914e-01 -1.0048758564258948e+00 4.8406786592034123e-02 +721 1.2222311523296097e+00 4.2665585572722287e-01 7.2387231137990182e-01 +1395 1.2622061075377169e+00 8.5482663334368258e-01 -1.1126621338587379e+00 +333 1.9330369598565689e+00 -3.9444001369958281e-01 1.8463697302095035e+00 +1093 -5.4208569309034138e-01 6.5935729393665765e-02 6.4416623086261859e-01 +2279 1.0837273948834465e+00 -1.2480131473905562e+00 -2.6730046794107898e-02 +2522 8.0772967537636187e-01 -1.3370045885210574e-01 -1.3117577779219158e-01 +1947 1.3921548206073140e+00 2.6988764678210937e+00 6.6334582743438297e-01 +1339 4.3771556688908608e-01 3.2188873439914611e-01 3.0753313454429343e-01 +184 1.0576795024451016e+00 -9.0775010712682624e-02 7.8945990628078244e-01 +2721 -8.9498048248034179e-01 1.1988591167686954e-01 1.2420859544989244e+00 +105 2.6368904485780686e+00 -3.5205416617336638e-01 3.1025705562167903e-02 +2673 3.4562651783717840e-02 -8.3993094514673339e-01 1.5102568639389868e-01 +1749 2.0149505602630597e+00 1.2559095460128777e+00 2.3560492012741907e-02 +1143 8.3682311354860273e-01 -5.6395546334604241e-01 9.8485609874991431e-01 +880 1.8681186817590945e-01 3.5204203135507900e-02 2.7449307329492922e-01 +1581 -8.9855457486367085e-01 -1.2545716284634822e+00 -5.5049277268103691e-01 +2011 -2.5155982396817611e-01 -2.9521712792885280e-01 1.3025598452535385e+00 +2008 4.0592662833613091e-01 -5.0316398372413265e-02 -4.1196439680758612e-01 +1735 -5.9467446106335431e-01 -1.4030707160298656e-01 -7.3285605969189316e-02 +1791 1.1861544745757624e+00 1.1825352243301668e-01 -7.6170840726931166e-01 +2201 -8.9559977558476375e-02 -1.2074699430429372e+00 6.9861037192862918e-01 +856 -6.2498730491587662e-01 6.4235087657318224e-01 -7.1035818844238585e-01 +1890 1.8971502192197529e+00 -6.0926284221531912e-01 1.7729013604512606e-01 +366 -9.6186184524423568e-01 2.8890065049604047e-01 9.5903805495304928e-01 +654 -4.1052573698498636e-02 5.5116971726337316e-01 -1.0562878283934421e-01 +622 5.6487480883744834e-01 -1.3350557450421718e-01 -2.7972832684394999e-01 +426 5.7283448366087397e-02 4.6178072547124333e-02 8.5112941317865054e-01 +940 -5.6130731578162463e-01 -1.0384099812721865e+00 2.5553588680488275e+00 +1212 -1.2935326681732713e+00 2.9391688947038421e+00 -6.7854898157921395e-01 +1297 1.5384309870313779e+00 -8.5305711317395616e-01 9.4816784945322918e-01 +2654 4.6365260040712997e-01 1.9936709665407296e-01 8.3682965270346066e-01 +335 9.7725058657171404e-01 4.5755935120176094e-01 -1.8382113156199422e+00 +261 -1.0038324899271628e-01 3.1985675897901839e-01 3.6107265708078701e-01 +2345 -1.2535649810218290e+00 -5.5968867071525286e-01 -2.0311866268928678e+00 +838 8.8292590387356817e-02 5.7401396793423132e-01 -3.1074056952767415e-01 +1383 5.0879025169719438e-01 -1.1067128892520275e+00 5.6380896769143829e-01 +2344 1.0266742174638657e+00 6.0583476079555526e-02 5.6585423601628035e-02 +2160 7.9088377317118785e-01 -5.8160513438165429e-01 2.5441128707927918e-01 +1725 1.2835979521526755e-01 -9.7414217187572416e-01 1.2517959525653113e+00 +2801 5.2496057803152557e-02 -3.9103275085252287e-01 1.3202343836644970e+00 +2639 2.1231152330852129e-01 6.1294789424297091e-01 1.0424889403517834e+00 +2101 -8.5679375309329586e-01 -1.4868798420949978e+00 -1.1084037497895294e+00 +369 -8.2661843744388164e-01 9.4431901243060801e-01 -5.8471908358768110e-01 +78 -4.6718628898000780e-01 -1.6126703264941999e+00 -1.4283470612237184e-02 +1745 -1.2572583750533315e+00 -2.7815523463280711e-01 2.7329804613760045e-01 +518 4.0803046452605418e-01 9.4631098844019809e-02 3.7483938647948661e-01 +480 -1.0110055144127488e+00 -2.5084700896337198e-01 1.8722493304550683e-01 +308 -5.1638923616856780e-01 -4.2118242051944776e-01 -1.5760670463168258e+00 +324 -1.3086509855793165e+00 5.0838190983526821e-02 -1.3790505423259807e+00 +379 -3.1829364340225336e-01 4.1686747757166176e-01 8.3133433701508289e-02 +1348 8.4687411924278300e-01 1.2095801993064805e+00 5.4316258011255325e-01 +846 4.2662817315912038e-01 -2.6883188008892822e-01 -4.2180070606286002e-01 +2822 -2.1947659219587399e+00 1.2549770672390459e-01 5.1384230430988187e-01 +2492 -8.8158833019454652e-01 1.8312691817506543e+00 6.9112977957627897e-01 +614 -1.7917836577234725e-01 -1.0249487105190520e+00 4.2052719994641441e-02 +1120 3.9879028297046343e-01 -1.3177812529120396e+00 -2.8571007580786284e-01 +429 2.0929346164258278e+00 -3.5428274929505116e-01 2.5061334806707847e-01 +2791 8.6272610553033346e-01 1.5509618694706140e+00 4.6639459224927238e-02 +161 -1.8342250798930850e+00 1.3281225245000849e+00 -4.2030324981544676e-01 +879 -2.5280188582367141e-01 1.2508955472378023e+00 -1.5468138112045033e+00 +1480 7.5714122443644816e-01 -5.0052555474701077e-01 9.0214134999618267e-01 +593 -8.0292368304627004e-01 1.5111087204258622e-01 -4.4788882561948595e-01 +2630 1.4003272932843063e+00 5.6277943963895705e-01 1.9411241996381054e-01 +628 7.6823482359579276e-01 -6.0560884735202797e-02 -1.6581427957125143e+00 +2599 -1.8652231507342673e-01 -2.0420440872206638e+00 -3.1325509736060592e-01 +508 -2.9499791576962225e-01 -6.9939254581706822e-01 4.8680569219342823e-01 +478 -2.1106423008303730e+00 -1.0629059723656491e+00 -5.6544036374380668e-01 +1108 -9.3214289607497458e-01 -6.8586753611816542e-01 1.4488161174803740e-02 +1287 -4.3378296475092337e-02 7.3319041324781531e-01 1.3806528026091885e-01 +2206 -1.9594899180037456e-01 -1.6239372866667867e-01 -7.0744545642112500e-01 +306 1.8639300649893233e+00 3.8308120456498618e-01 -8.2562775761388563e-01 +1068 -1.3411107148132149e+00 1.1513211554534475e+00 5.2508512348327285e-01 +1830 -1.3040205463842869e+00 4.4547962367046706e-01 -1.8501661044065437e-01 +1683 -2.2527771545623607e-01 1.7793439146772414e+00 -1.7534153349654222e-01 +2774 7.4223080492962223e-03 1.5054637839115721e+00 6.9917034163939662e-01 +1283 -1.5385848886427687e+00 1.9232689270369725e+00 -3.6000155391695465e-01 +1141 -5.2008159267051157e-01 6.6066836345739044e-01 1.2050790699496818e+00 +297 1.3546626558465038e+00 1.6510152342439495e+00 -1.0500313578554221e+00 +2995 -7.2878829329717998e-01 7.5922633524812821e-01 1.5471415353323215e-01 +111 -3.2482169244284198e-01 -2.4564650695843731e+00 3.0053761321246553e-01 +2975 3.6162153942351560e-01 4.9574273908711686e-01 1.9772146682367244e+00 +2141 -1.4165678008727816e+00 3.0530731901594463e+00 -1.1485653736283277e+00 +291 -3.0102986697905043e-01 2.9523053824884221e-01 1.7117901314407435e-01 +2547 8.1159982054074098e-02 1.2858414619226630e+00 -1.2633851617521349e-01 +1295 1.7114129953618200e+00 -8.8179621205220071e-01 8.1986166670176175e-01 diff --git a/examples/USER/misc/slater/data.after_production_run b/examples/USER/misc/slater/data.after_production_run new file mode 100644 index 0000000000000000000000000000000000000000..bf8529019e53c8018f957235f99a577e6427d793 --- /dev/null +++ b/examples/USER/misc/slater/data.after_production_run @@ -0,0 +1,6020 @@ +LAMMPS data file via write_data, version 27 Nov 2018, timestep = 110000 + +3000 atoms +3 atom types + +0.0000000000000000e+00 1.0000000000000000e+01 xlo xhi +0.0000000000000000e+00 1.0000000000000000e+01 ylo yhi +0.0000000000000000e+00 1.0000000000000000e+01 zlo zhi + +Masses + +1 1 +2 1 +3 1 + +Atoms # charge + +19 1 0.0000000000000000e+00 7.5187051494075097e-01 2.0905597410953747e+00 8.9368906594943753e-01 -3 1 7 +1837 1 0.0000000000000000e+00 2.4079878273901700e+00 1.5894674966997427e-01 1.2396627731014433e+00 2 -4 10 +1141 1 0.0000000000000000e+00 1.2771116528188356e-01 2.3349393851557374e+00 3.8518525010489157e-01 6 -1 -5 +2623 1 0.0000000000000000e+00 4.7245255482036119e-01 1.2409407456107373e+00 1.0892325910963225e+00 1 3 5 +399 1 0.0000000000000000e+00 1.6394944064715502e-02 6.7330715219373094e-01 1.0799113438893224e+00 -7 -2 1 +2653 1 0.0000000000000000e+00 9.1449041699715439e-01 2.4017328867827983e+00 1.6887984620553140e+00 -7 6 1 +810 1 0.0000000000000000e+00 9.9951234091558860e-01 1.8876734392365806e+00 2.0196100364556062e+00 0 4 -5 +117 1 0.0000000000000000e+00 1.1575079935429848e+00 1.9967780121776293e+00 5.6418169177971567e-01 4 -1 2 +2626 1 0.0000000000000000e+00 2.0408906200611892e+00 2.2382919483803527e+00 1.6209928365546817e+00 7 4 -2 +2717 1 0.0000000000000000e+00 1.2903504856649775e+00 7.1967766325139948e-01 2.4484072413942592e-01 1 -1 -4 +2238 1 0.0000000000000000e+00 6.9645100926305592e-01 8.4899676722682715e-01 1.3941328283419346e-01 7 -3 -2 +1028 1 0.0000000000000000e+00 5.2099155341071501e-01 1.3569061559627065e+00 1.2071750324463572e-01 -6 2 8 +2244 1 0.0000000000000000e+00 1.6161533817585623e+00 1.7074378127559602e+00 2.2207444205161844e+00 -2 -5 1 +683 1 0.0000000000000000e+00 1.9802085063673878e+00 2.4852855232872857e+00 7.7804544955829780e-01 -5 -1 0 +1708 1 0.0000000000000000e+00 2.1298614169258498e+00 1.4787133063155760e+00 1.6876966221909275e+00 3 2 -1 +106 1 0.0000000000000000e+00 6.3212371930047562e-01 3.1898766193202012e-02 2.3795315466359898e-01 -1 2 4 +244 1 0.0000000000000000e+00 2.1625340773871859e+00 5.6126129890661969e-01 9.3761334571009214e-01 -3 -2 -3 +2343 1 0.0000000000000000e+00 3.4913916986122123e-01 1.1596523641862642e+00 2.0233901337387623e+00 7 2 3 +109 1 0.0000000000000000e+00 1.8877314844179121e+00 7.4014683764236378e-01 4.2958998868816589e-01 3 2 1 +2603 1 0.0000000000000000e+00 3.8963298024559784e-01 1.3362525681927812e-01 2.1507798894101565e-01 5 -1 3 +345 1 0.0000000000000000e+00 1.9102444100822842e+00 1.1881779874699319e+00 9.0226993325569205e-01 -3 2 4 +2812 2 -1.0000000000000000e+00 1.8737361878544001e+00 1.0673094149266005e+00 2.4075845270403344e+00 1 2 -2 +1495 1 0.0000000000000000e+00 1.1375966630630674e+00 2.1316060855521839e-02 1.1877979624755810e+00 0 -1 -1 +489 1 0.0000000000000000e+00 9.1336827046601377e-01 4.2186496611789870e-01 5.8285148762903172e-01 3 -2 3 +1928 1 0.0000000000000000e+00 9.5382100282831905e-01 6.4568172941581692e-01 1.5079537542335133e+00 -3 -2 2 +1878 1 0.0000000000000000e+00 2.1284457143187820e+00 1.5107107725394375e+00 1.0500410580339243e+00 1 3 0 +1542 1 0.0000000000000000e+00 8.6594514545973567e-01 1.7414444463202041e+00 1.5364557056914236e+00 -3 7 -1 +1535 1 0.0000000000000000e+00 1.1535885238218720e-01 1.7650147205198587e+00 1.7649029055684320e+00 2 4 1 +1290 1 0.0000000000000000e+00 9.0633984369853027e-01 1.3096472580961449e+00 1.9710584569613168e+00 1 -1 3 +1443 1 0.0000000000000000e+00 1.9223074928421398e+00 7.3584860308896882e-01 1.5888107588414018e+00 -1 -1 -10 +1530 1 0.0000000000000000e+00 5.8688216662222521e-02 2.1552428429214858e+00 2.0829760402816047e+00 -4 -9 -3 +955 1 0.0000000000000000e+00 2.0151650262440550e+00 1.7359466450410073e+00 2.2516442039294396e-01 1 0 0 +2584 1 0.0000000000000000e+00 1.4720840159523454e+00 2.1243452843481268e+00 1.6890226624883953e-01 4 1 -1 +312 1 0.0000000000000000e+00 2.4539549867870964e+00 3.5913272897497006e-01 1.3726548709575229e-01 5 5 8 +1129 1 0.0000000000000000e+00 1.5496190021132403e+00 2.3002307889408349e+00 1.5735350882722994e+00 -1 -1 5 +1964 1 0.0000000000000000e+00 1.5481243437804775e+00 3.1664670624238778e-01 1.1129360061940878e+00 -1 -4 3 +2923 3 1.0000000000000000e+00 4.4152636030284803e-01 3.4208707349295125e-01 1.7681250659569263e+00 -3 1 7 +1148 1 0.0000000000000000e+00 2.5476572639268685e-01 5.7686711714977623e-01 2.2926212604932972e+00 0 1 0 +738 1 0.0000000000000000e+00 1.9614736620063316e+00 4.9314962525645528e-01 2.1680196061840897e+00 3 7 2 +1523 1 0.0000000000000000e+00 2.1325142436104882e+00 1.1488798033631773e+00 9.4910381816324219e-02 4 -4 0 +2765 1 0.0000000000000000e+00 1.6379002999364247e+00 1.7051094887092322e+00 1.1993620115215609e+00 3 5 5 +1696 1 0.0000000000000000e+00 1.5527909429831608e+00 1.6654077362540770e-01 2.1500337883657155e+00 7 -2 1 +1359 1 0.0000000000000000e+00 7.8277452101307432e-03 1.7603522238062537e+00 7.5289767387463769e-01 -3 4 6 +1024 1 0.0000000000000000e+00 1.2674376388222481e+00 1.0507898049382196e+00 1.3152422918383284e+00 2 4 4 +183 1 0.0000000000000000e+00 1.1780467789712916e+00 1.1861885641577543e+00 7.2307322622818104e-01 0 0 1 +585 1 0.0000000000000000e+00 2.7640020828803800e+00 3.2604411438234626e-01 2.4108050738451570e+00 -6 3 1 +1220 1 0.0000000000000000e+00 3.6671729632866157e+00 8.3199701056081643e-01 2.3565347914868524e+00 -3 5 -1 +1412 1 0.0000000000000000e+00 3.0889341256139433e+00 1.2298097893840818e+00 1.6726853112666358e+00 5 1 5 +1764 1 0.0000000000000000e+00 2.9229934529634218e+00 1.9320742902623798e+00 1.2255520460960516e+00 1 1 -1 +2450 1 0.0000000000000000e+00 2.6910451298466240e+00 2.3382389074065459e+00 2.3499885597385739e+00 1 5 1 +1023 1 0.0000000000000000e+00 3.6603922747717035e+00 1.4980697950069166e+00 6.7335428343966153e-01 -4 -1 -1 +2370 1 0.0000000000000000e+00 4.0273169233959285e+00 1.1146235113655234e+00 2.1856868667861176e-01 0 -2 -11 +1896 1 0.0000000000000000e+00 2.6490783284317487e+00 1.9544344708212431e+00 3.5456333568975795e-01 5 -4 5 +2767 1 0.0000000000000000e+00 4.0998737125814086e+00 2.0973164235633313e+00 1.6437442645597322e+00 -2 -3 7 +950 1 0.0000000000000000e+00 4.3261215821545713e+00 1.6280055177668531e+00 4.0157869510004510e-02 0 -5 -5 +2065 1 0.0000000000000000e+00 4.7519297420520772e+00 8.8202366811542476e-01 8.3471271040278860e-01 1 3 0 +1798 1 0.0000000000000000e+00 3.7548411044943077e+00 2.4182851987140279e+00 1.0074170343615860e+00 4 0 -1 +341 1 0.0000000000000000e+00 4.9807430465703559e+00 1.2192715101874703e+00 3.4779795668503610e-01 1 -2 -5 +1407 1 0.0000000000000000e+00 4.2980366087312492e+00 2.2652065895643014e+00 7.2951106504019758e-01 4 -1 4 +2463 1 0.0000000000000000e+00 3.2381186309812522e+00 6.1083392136723880e-01 1.9217043747829510e+00 11 -1 -3 +2819 2 -1.0000000000000000e+00 3.9242453151499976e+00 1.5952619408745727e+00 2.1083201315068969e+00 -3 2 2 +2126 1 0.0000000000000000e+00 4.0591275797840742e+00 2.0859094741285049e+00 2.5489040455002726e-01 -1 -2 -5 +532 1 0.0000000000000000e+00 3.4111513817582328e+00 1.0152587042428054e+00 3.0190523296057109e-01 -3 -4 -3 +832 1 0.0000000000000000e+00 3.1665131230946586e+00 1.3705384753554648e+00 1.3849754676678525e+00 -2 8 -7 +2153 1 0.0000000000000000e+00 3.4814243961918305e+00 2.0339696787044601e+00 1.4095001472150253e+00 0 -4 -5 +674 1 0.0000000000000000e+00 4.1098774892988930e+00 2.7121893820511517e-01 1.5219934117764478e-01 -7 0 1 +44 1 0.0000000000000000e+00 2.5856963026632398e+00 1.1534100563558911e+00 7.8855432165941131e-01 -3 -3 -1 +560 1 0.0000000000000000e+00 4.4743850168474797e+00 1.8201748730473293e+00 1.2649319550521121e+00 0 10 1 +786 1 0.0000000000000000e+00 3.9530643454612311e+00 8.8974062145958888e-01 1.3155705344965034e+00 1 7 -1 +2736 1 0.0000000000000000e+00 3.0701048835224487e+00 8.6929350229425661e-02 1.6015178282610731e+00 1 1 -4 +583 1 0.0000000000000000e+00 2.9415108264617595e+00 1.6391850469547788e+00 2.4591049351408878e+00 4 3 0 +755 1 0.0000000000000000e+00 4.2616403429705745e+00 2.2191678403837365e+00 1.8923366562569064e+00 -4 -3 2 +2823 2 -1.0000000000000000e+00 2.7763844317800643e+00 6.1457301412021537e-01 1.0592591891043839e+00 -2 -2 -2 +2215 1 0.0000000000000000e+00 4.8560475072438614e+00 2.3477654444431675e+00 8.2176936210454998e-01 -3 0 3 +148 1 0.0000000000000000e+00 3.3368273428279873e+00 5.7114729922422236e-01 9.1308060469818364e-01 3 0 -4 +1887 1 0.0000000000000000e+00 4.2481414885031592e+00 6.9760001898053337e-01 1.0553266678264295e+00 5 -1 6 +876 1 0.0000000000000000e+00 4.1273727123083042e+00 2.8037589318937971e-02 7.7515808760923954e-01 5 7 0 +1063 1 0.0000000000000000e+00 4.2415584723879434e+00 1.5428126650662759e+00 9.2634919641542812e-01 0 9 0 +2000 1 0.0000000000000000e+00 2.5953091157661952e+00 5.5794167933303418e-01 1.9368563350975203e+00 7 -1 3 +2668 1 0.0000000000000000e+00 2.6288318368458530e+00 1.9398564922968795e+00 1.4667531812816865e+00 -5 0 -3 +2491 1 0.0000000000000000e+00 4.4484928267389146e+00 4.4969742963534259e-01 4.3652327265793595e-01 1 4 -6 +1385 1 0.0000000000000000e+00 3.2327517644130146e+00 2.3632459484249120e+00 8.1617862237314709e-01 4 -7 0 +2994 3 1.0000000000000000e+00 2.6743855272077117e+00 1.1822047392102715e+00 2.2933576685363541e+00 -2 -4 2 +1073 1 0.0000000000000000e+00 4.1046212984996604e+00 2.3630079626077441e-01 1.7736457000498522e+00 3 5 0 +2297 1 0.0000000000000000e+00 3.0740830623019346e+00 1.9326867589403394e+00 2.2695289553403422e+00 0 1 3 +82 1 0.0000000000000000e+00 2.9517130940953811e+00 1.7065994608855106e+00 4.6581282579119915e-01 -5 4 4 +2945 3 1.0000000000000000e+00 4.5236775203852178e+00 1.0131768437535431e+00 2.4700795162320364e+00 -2 2 5 +1069 1 0.0000000000000000e+00 4.1713560353189045e+00 5.4919256123336047e-01 1.8824363554882564e+00 1 0 4 +1849 1 0.0000000000000000e+00 4.2950445603454970e+00 1.0818139230049069e+00 1.6384446443133480e+00 -3 0 3 +2406 1 0.0000000000000000e+00 4.6995576404975878e+00 2.3869580161702468e+00 2.1644446916537308e+00 -1 1 2 +186 1 0.0000000000000000e+00 4.5246713650074852e+00 1.7965743940069470e+00 1.9507415765739047e+00 -5 0 3 +491 1 0.0000000000000000e+00 3.5998362602518181e+00 3.1358104320843572e-02 1.8456033482260112e-01 -1 3 2 +1456 1 0.0000000000000000e+00 4.8955803356635057e+00 2.1415780508394366e+00 1.4076070171252997e-01 -6 1 2 +2498 1 0.0000000000000000e+00 3.9883627349888080e+00 2.1698250209566816e+00 2.4904344638938114e+00 -6 -4 2 +2562 1 0.0000000000000000e+00 4.8426333138373181e+00 1.4836659262020182e+00 1.4070458398575856e+00 1 -2 0 +86 1 0.0000000000000000e+00 1.0474551001807451e+00 4.3768184042036777e+00 6.6068873744071421e-01 -5 3 0 +2897 2 -1.0000000000000000e+00 4.8768786963480892e-01 3.3805694332120066e+00 1.4912752436941339e+00 2 -6 0 +2112 1 0.0000000000000000e+00 1.3091746326724334e+00 3.7028624851431160e+00 2.5862616855199878e-02 -2 8 -1 +2026 1 0.0000000000000000e+00 9.5277775081507379e-02 3.8982142144788390e+00 2.0586954443842500e+00 4 -10 2 +2189 1 0.0000000000000000e+00 1.9642169236883580e+00 4.9455872775765348e+00 7.1145750502086691e-01 1 -1 3 +1993 1 0.0000000000000000e+00 2.3913264760350055e+00 2.7860177741582532e+00 1.0934108807929022e+00 2 0 -3 +26 1 0.0000000000000000e+00 2.4696457334806401e+00 4.5973031296042084e+00 9.4917876856056427e-01 3 -1 5 +2818 2 -1.0000000000000000e+00 9.8281149764821873e-01 4.5639217056398618e+00 2.0683058161934205e+00 -1 0 1 +1587 1 0.0000000000000000e+00 2.4260355515680123e+00 2.5628603982400615e+00 6.0084919645982093e-01 1 5 3 +1258 1 0.0000000000000000e+00 2.3733857431817174e+00 3.3034179296677642e+00 1.8978666925069685e+00 -1 -2 -3 +2379 1 0.0000000000000000e+00 2.2881829455613700e-01 3.2988760386065108e+00 1.8505582315578595e+00 5 -1 -3 +2174 1 0.0000000000000000e+00 1.5990686189137100e+00 3.7154492324602733e+00 1.8138044583074808e+00 -7 2 -1 +1017 1 0.0000000000000000e+00 6.9001562902323066e-01 4.1158648227424361e+00 1.3621332442808258e+00 3 -2 -1 +2870 2 -1.0000000000000000e+00 1.4791070458048408e+00 2.8694321512072931e+00 8.4614018602994989e-01 -1 -2 -1 +1471 1 0.0000000000000000e+00 1.5511262843877383e-01 3.6937690886084109e+00 7.7733947454013597e-01 3 -3 5 +1981 1 0.0000000000000000e+00 2.0552539984661183e-01 2.8697291776614571e+00 8.6410919006780884e-01 -3 -1 1 +1351 1 0.0000000000000000e+00 2.4700334373458754e+00 3.4252628048168310e+00 3.4640781881578114e-01 5 0 -1 +2043 1 0.0000000000000000e+00 1.2525967185255109e+00 4.6795710529584653e+00 7.1790025881717109e-02 4 4 0 +2901 2 -1.0000000000000000e+00 4.4460831793348360e-01 4.9475431331860067e+00 1.2818004670358596e+00 -5 -1 2 +1952 1 0.0000000000000000e+00 1.3751770398134306e+00 4.7024161899193082e+00 9.8781354218691675e-01 1 -7 0 +2984 3 1.0000000000000000e+00 1.8860189786024695e+00 3.2178807873281365e+00 6.2610445194742947e-01 0 4 1 +37 1 0.0000000000000000e+00 1.0581166175595589e+00 3.2081308903469825e+00 1.7847689673641489e+00 2 1 2 +407 1 0.0000000000000000e+00 2.0500793655745748e+00 4.6170625017978963e+00 1.9734312067650854e+00 7 0 1 +1264 1 0.0000000000000000e+00 1.2746947583003001e+00 3.0150435808831846e+00 2.2577320551387792e+00 3 -4 4 +572 1 0.0000000000000000e+00 2.0128001587081359e+00 3.0207174308335865e+00 2.3621701363921308e+00 7 4 5 +2261 1 0.0000000000000000e+00 8.9120267407608678e-01 3.5669609172587302e+00 8.6719579519852885e-01 2 5 0 +1943 1 0.0000000000000000e+00 9.7927298784303862e-01 2.5845553442421116e+00 1.2635628247887352e+00 -3 -1 2 +677 1 0.0000000000000000e+00 3.5934247388268559e-01 3.0092099706319306e+00 1.1485567725270979e-01 1 0 4 +781 1 0.0000000000000000e+00 1.5580697362264959e+00 3.6898788226463779e+00 1.3007538608699238e+00 1 -3 -1 +273 1 0.0000000000000000e+00 9.4829163006080719e-01 3.3892182075110528e+00 2.3189788644890448e+00 -6 -6 -3 +2291 1 0.0000000000000000e+00 2.3372749119579002e+00 3.9987133179314527e+00 1.6825910999268576e+00 -2 -3 -8 +986 1 0.0000000000000000e+00 2.4298368439720148e+00 4.7681617389885211e+00 1.5901072740537295e-01 -2 -4 1 +945 1 0.0000000000000000e+00 9.2628423972805918e-01 2.8967205926560178e+00 5.5341149786518906e-01 -2 4 6 +910 1 0.0000000000000000e+00 1.8078467079224136e-01 4.2990375292581717e+00 1.2239581764872949e+00 -3 -1 2 +2607 1 0.0000000000000000e+00 2.6989401224527945e-02 3.1704475533059164e+00 5.3758775925211277e-01 2 1 1 +854 1 0.0000000000000000e+00 1.6698633202990230e+00 4.5312959761909424e+00 1.4167450622661160e+00 -5 4 -1 +2931 3 1.0000000000000000e+00 9.3006493543957147e-01 4.1580905293046238e+00 1.6830532324641860e+00 -4 -5 3 +1144 1 0.0000000000000000e+00 1.9256332710510258e+00 3.7488533996535662e+00 2.4101985260470782e+00 -10 4 2 +477 1 0.0000000000000000e+00 3.5634749210646882e-01 4.8130074980092381e+00 2.4406919539369341e+00 -4 -1 7 +2318 1 0.0000000000000000e+00 8.1301360574089798e-01 3.7699225899879938e+00 3.8280273619743199e-01 3 -6 -1 +1259 1 0.0000000000000000e+00 1.5992181166679378e+00 4.2189130436148830e+00 2.4174739989261131e+00 -1 -5 -2 +1621 1 0.0000000000000000e+00 1.6764703643681613e+00 4.0768699842853202e+00 4.0987661925903263e-01 3 -7 0 +1054 1 0.0000000000000000e+00 1.5598897733600667e+00 4.0346312990541282e+00 9.1864351408590161e-01 0 1 1 +1421 1 0.0000000000000000e+00 2.7638360277536961e-01 4.1059700937531192e+00 3.6154633668643493e-01 1 0 5 +897 1 0.0000000000000000e+00 2.5939321176305846e-01 4.6123506605590538e+00 1.5714080269767683e+00 -1 0 0 +2851 2 -1.0000000000000000e+00 1.8577075639850658e+00 2.5580725005125906e+00 1.9659475730448139e+00 -3 -1 1 +1809 1 0.0000000000000000e+00 5.3431088492265655e-01 2.5829736620077726e+00 1.9392752557908401e+00 0 7 1 +100 1 0.0000000000000000e+00 3.0004507632121546e-01 4.8137872195018341e+00 4.1317032792051639e-01 6 1 2 +2175 1 0.0000000000000000e+00 8.6802271962623534e-01 3.7835564649198399e+00 2.4028665071881452e+00 4 1 3 +138 1 0.0000000000000000e+00 1.6450418741067037e+00 3.0114286737316998e+00 4.4886023050935364e-02 1 2 -3 +2482 1 0.0000000000000000e+00 4.4511477355847386e+00 3.4352590266810878e+00 1.3144186918041492e+00 9 0 2 +547 1 0.0000000000000000e+00 3.6821210064340422e+00 3.2441554986278849e+00 1.2372951529349481e+00 -1 0 2 +2019 1 0.0000000000000000e+00 2.6308877733238831e+00 3.9795552841489106e+00 9.9010016491957975e-01 2 3 8 +2831 2 -1.0000000000000000e+00 4.4690696906009988e+00 3.2362402706182438e+00 1.9287730385720370e+00 -1 -1 0 +240 1 0.0000000000000000e+00 4.5224494485251787e+00 4.4203783852261243e+00 1.7963931219827756e+00 -3 -2 -2 +1971 1 0.0000000000000000e+00 3.9851339793549125e+00 4.5593133841085267e+00 1.7490593659742628e+00 -2 8 8 +254 1 0.0000000000000000e+00 4.6163407193480968e+00 3.6807646117297774e+00 7.8998244769176207e-01 5 7 1 +307 1 0.0000000000000000e+00 4.2461461875544417e+00 4.7679044161821178e+00 1.1697194504753836e+00 -4 5 3 +842 1 0.0000000000000000e+00 4.7156282656996140e+00 4.7927385966718843e+00 2.2944745032801785e+00 -5 2 2 +2369 1 0.0000000000000000e+00 2.9451450369044503e+00 3.0473949085165670e+00 2.4011953885108004e+00 -1 6 1 +85 1 0.0000000000000000e+00 2.8972111116882759e+00 2.6261093677175484e+00 1.8562616469680515e+00 4 5 1 +2916 3 1.0000000000000000e+00 2.5877870414360267e+00 3.2418647426987146e+00 1.4798223286177419e+00 -1 -2 1 +468 1 0.0000000000000000e+00 2.8188974541932197e+00 3.0699095225131434e+00 3.4366216834827662e-01 -4 -4 3 +255 1 0.0000000000000000e+00 3.1166710122664356e+00 3.6195963219722906e+00 5.8806654039367012e-01 -2 -1 -3 +2996 3 1.0000000000000000e+00 3.2844167423025281e+00 2.9413882795708042e+00 1.4389072766558197e+00 12 -4 0 +268 1 0.0000000000000000e+00 3.5715481077381144e+00 2.5428598760631109e+00 1.9994015604428452e+00 1 5 4 +360 1 0.0000000000000000e+00 3.7581323209546085e+00 3.8902339833393138e+00 2.5675086194365471e-02 -1 -6 3 +646 1 0.0000000000000000e+00 4.2642587166668706e+00 3.0123722645627549e+00 3.3144608396201286e-01 4 -6 -5 +2021 1 0.0000000000000000e+00 3.0562122941315706e+00 3.5517828325068730e+00 2.4944764537841984e+00 4 -5 1 +390 1 0.0000000000000000e+00 3.0028610149367458e+00 4.4250795287784621e+00 1.3960209003404611e+00 -1 -2 -1 +115 1 0.0000000000000000e+00 3.7796391818237249e+00 3.9430954791569905e+00 9.6504297959302898e-01 0 3 -1 +1883 1 0.0000000000000000e+00 3.5810201007039111e+00 2.9461801416478259e+00 9.9436736474951082e-01 4 -2 6 +790 1 0.0000000000000000e+00 4.5933801473815237e+00 3.9820380877642836e+00 2.4444897253348832e+00 -5 11 0 +2921 3 1.0000000000000000e+00 2.5766042619504428e+00 3.2439211017154004e+00 2.1931679693482016e+00 -3 0 -6 +2230 1 0.0000000000000000e+00 4.9549002279003709e+00 3.0900378380695344e+00 2.3169385676046997e-01 -5 0 -5 +882 1 0.0000000000000000e+00 3.3766341342460584e+00 4.9997976053130380e+00 2.3840712254462231e+00 2 0 0 +602 1 0.0000000000000000e+00 4.3136575133244408e+00 2.9770224716742995e+00 1.1642569634282773e+00 -8 -3 -2 +535 1 0.0000000000000000e+00 3.1625827224575644e+00 3.6870269574064314e+00 1.7638411878349094e+00 2 5 -3 +2226 1 0.0000000000000000e+00 3.8719279918624983e+00 4.3843723454073791e+00 2.2541674709572548e+00 -2 4 -2 +1744 1 0.0000000000000000e+00 3.0911847451375301e+00 4.6634343941814427e+00 1.9428679483445963e+00 7 -2 -4 +223 1 0.0000000000000000e+00 4.8398302718053632e+00 3.3420728709548961e+00 1.2492710607153608e+00 -5 -5 -4 +892 1 0.0000000000000000e+00 3.6093893433894997e+00 4.5433025914197334e+00 5.4444429937318439e-01 5 -5 2 +505 1 0.0000000000000000e+00 4.1294906836967797e+00 3.7872831203320132e+00 1.9416033613769599e+00 1 -1 -7 +1047 1 0.0000000000000000e+00 4.6852563321756202e+00 4.3716217035220923e+00 1.0758272233120325e+00 -1 1 5 +2731 1 0.0000000000000000e+00 2.8273050690001589e+00 4.5187695639770356e+00 2.4085583396873629e+00 0 3 5 +529 1 0.0000000000000000e+00 3.5702783167689116e+00 4.1245260199279681e+00 1.5221968831410964e+00 -1 -9 3 +131 1 0.0000000000000000e+00 3.0435243353922266e+00 3.2723461078964453e+00 1.1455272628268132e-01 2 -3 -5 +887 1 0.0000000000000000e+00 3.3791634216755830e+00 3.3923082792719281e+00 1.8180605560772154e+00 2 6 0 +1253 1 0.0000000000000000e+00 2.6271930828541570e+00 4.0333628905125334e+00 2.1753352345939319e+00 -4 1 5 +2612 1 0.0000000000000000e+00 4.1316314078056067e+00 3.0352624851624870e+00 2.1380751197235428e+00 -2 -1 0 +495 1 0.0000000000000000e+00 3.1912245919239295e+00 4.2532916512663794e+00 5.5748523861514643e-01 -2 3 3 +1176 1 0.0000000000000000e+00 2.8003357655993000e+00 3.9917680090788026e+00 1.6113545428596932e-01 11 0 -1 +287 1 0.0000000000000000e+00 4.0483522425880665e+00 4.6607475913314254e+00 4.9369497811454177e-01 -1 2 -6 +989 1 0.0000000000000000e+00 4.2259564058052366e+00 3.8631023044464006e+00 4.9712631148303865e-01 -7 2 -1 +416 1 0.0000000000000000e+00 4.9276701733128032e+00 3.1091472010355181e+00 5.6816912411480480e-01 -3 -3 -1 +1061 1 0.0000000000000000e+00 4.9781901305208454e+00 3.9898878466387830e+00 1.3209824051740190e-01 2 -1 -1 +1513 1 0.0000000000000000e+00 4.0648380049176707e+00 4.0575872257688177e+00 8.7791530286818187e-03 2 7 6 +2461 1 0.0000000000000000e+00 1.9954726105523684e+00 2.0973180473619695e+00 2.6431877118421738e+00 0 8 1 +719 1 0.0000000000000000e+00 1.3246635234337518e+00 1.2271814420903244e+00 3.5724735487455597e+00 -4 -6 5 +1598 1 0.0000000000000000e+00 4.4457311909703229e-01 1.0260690153301033e+00 4.9730761027939101e+00 -2 -3 -3 +1439 1 0.0000000000000000e+00 2.1698406403452366e+00 8.2815141273618420e-01 3.8631822135126708e+00 -1 4 -5 +1661 1 0.0000000000000000e+00 1.9805472534438731e+00 5.1353982678434240e-01 3.2338851160059394e+00 2 0 0 +118 1 0.0000000000000000e+00 8.3734450979267672e-01 1.6906486738214397e+00 3.6801411248851306e+00 -10 -7 0 +1732 1 0.0000000000000000e+00 1.3107933053871481e+00 1.3532071007849762e+00 2.7895861726983107e+00 -4 6 -1 +2386 1 0.0000000000000000e+00 1.1156477709164515e-01 9.9452292293319688e-01 3.9464681361485359e+00 2 6 -5 +637 1 0.0000000000000000e+00 1.6081691439267238e+00 1.9828909507425065e+00 4.2357860493342292e+00 4 2 -1 +1079 1 0.0000000000000000e+00 1.0486538826596199e+00 4.4300614355795076e-01 2.5152982300244355e+00 2 0 -1 +286 1 0.0000000000000000e+00 3.5569994879681027e-01 1.7542340655237512e-01 4.5691558732985200e+00 -3 1 1 +2514 1 0.0000000000000000e+00 4.6342604389827474e-01 8.6209878712364019e-01 3.4468513313349032e+00 1 0 9 +1718 1 0.0000000000000000e+00 2.2377146388024668e-01 1.1623682045558245e-01 3.3903949855175060e+00 6 -1 0 +949 1 0.0000000000000000e+00 2.2656364791515773e+00 9.0628176837086361e-01 3.2263059469247124e+00 3 3 2 +2025 1 0.0000000000000000e+00 7.0149329234879501e-02 1.4946934785280508e+00 2.7534526564647717e+00 1 1 -2 +2020 1 0.0000000000000000e+00 3.4327364982607456e-01 2.2864773181096343e+00 4.5466513053356117e+00 -1 -7 -4 +388 1 0.0000000000000000e+00 1.7834987593226086e+00 1.5318398984461494e+00 3.3088500533002820e+00 0 5 2 +1502 1 0.0000000000000000e+00 2.5757033027076021e-01 4.6158312874790874e-01 2.9747589924701034e+00 4 -2 0 +2137 1 0.0000000000000000e+00 8.3670901488572957e-01 8.2112892516824743e-01 2.8702717699367644e+00 -1 1 -1 +2183 1 0.0000000000000000e+00 3.9384340747681740e-01 2.1611329209078067e+00 3.9716056473693673e+00 -4 -4 -5 +2658 1 0.0000000000000000e+00 3.2090540332995426e-01 1.4262655588414790e+00 2.9533505395463031e+00 4 0 2 +2983 3 1.0000000000000000e+00 1.3941597851280392e+00 7.1972057457159552e-02 4.0657251967464427e+00 -2 -1 6 +1828 1 0.0000000000000000e+00 1.4591041219791951e+00 4.9915981524895392e-01 2.9634039112231347e+00 1 0 0 +1729 1 0.0000000000000000e+00 2.1469887818591875e+00 2.2304290084011349e+00 4.4408538886075481e+00 0 0 6 +2624 1 0.0000000000000000e+00 8.8132447451702345e-01 5.2031840444507504e-01 3.8940591909932283e+00 9 7 3 +1525 1 0.0000000000000000e+00 9.2930107765452452e-01 1.8788808229099070e+00 4.8196602003435478e+00 -1 -2 7 +2337 1 0.0000000000000000e+00 1.2182031204409036e+00 2.3642870782116829e+00 3.8831400996229215e+00 -5 4 11 +323 1 0.0000000000000000e+00 2.1285764819220461e+00 2.0937783318415106e+00 3.4035117692691741e+00 4 -2 0 +2900 2 -1.0000000000000000e+00 1.4695339707164718e+00 1.5759560967720498e+00 3.0369674738410608e+00 -1 5 2 +987 1 0.0000000000000000e+00 1.4174605752309410e+00 4.8343146919142704e-01 3.5653967920396732e+00 -2 0 1 +906 1 0.0000000000000000e+00 2.4346179568806821e+00 1.7497677275539238e+00 2.8155703915216583e+00 5 -1 -4 +2339 1 0.0000000000000000e+00 4.0223568277536970e-01 1.5291629823677451e+00 4.1500810249799658e+00 0 0 6 +2905 3 1.0000000000000000e+00 1.1950963946572786e+00 1.1272562342249810e-01 4.9780862772637589e+00 -1 5 2 +1646 1 0.0000000000000000e+00 2.2658054124102804e+00 1.5071577403032774e+00 3.8660548983048524e+00 3 8 0 +1867 1 0.0000000000000000e+00 1.0722848485399643e+00 8.9581401466391430e-01 4.0781758855182897e+00 0 0 3 +649 1 0.0000000000000000e+00 2.0530609131259014e+00 1.1480244389074707e+00 3.0170696872777572e+00 -9 6 -1 +1532 1 0.0000000000000000e+00 1.7660692664886752e+00 4.0845780902184409e-02 2.9071632032494401e+00 2 1 -2 +1338 1 0.0000000000000000e+00 1.7123472852593018e+00 9.6555435119048116e-01 4.7312081909320067e+00 3 6 6 +2466 1 0.0000000000000000e+00 7.9703239779603485e-01 2.1209785591818977e+00 2.7951501903713210e+00 5 7 -2 +1925 1 0.0000000000000000e+00 1.0903821917447556e-01 2.4273079522114598e+00 3.0699921252203213e+00 1 0 -7 +724 1 0.0000000000000000e+00 1.6740511596086229e+00 5.5451977159148180e-02 4.7257878594831997e+00 3 -2 3 +395 1 0.0000000000000000e+00 1.6437773723314533e+00 2.2954827196799195e+00 2.7745351428357883e+00 3 2 4 +2402 1 0.0000000000000000e+00 6.1837361648597466e-01 2.2839585868047627e+00 3.6123105403975146e+00 6 5 4 +1779 1 0.0000000000000000e+00 2.1578912900821514e+00 2.1854284848529977e+00 4.9515571791906057e+00 5 -5 0 +1980 1 0.0000000000000000e+00 2.3293307776054699e+00 1.4296872443222988e+00 4.5922535069900672e+00 -4 -1 6 +1521 1 0.0000000000000000e+00 1.4382528061636439e+00 1.0125588490032300e+00 4.4996540031702228e+00 0 -4 7 +1357 1 0.0000000000000000e+00 9.0776243577163662e-01 2.3421338648808772e+00 2.5909386176702247e+00 4 -1 -4 +993 1 0.0000000000000000e+00 2.4679104237636409e+00 8.4931327056377470e-01 2.8636197043336611e+00 -2 -3 1 +2128 1 0.0000000000000000e+00 1.9508266549845572e+00 2.4242652578006627e-01 4.0058490238242754e+00 -2 4 -4 +2713 1 0.0000000000000000e+00 2.5040996856421014e+00 3.7552818089457390e-01 4.2975894476286749e+00 5 3 -2 +448 1 0.0000000000000000e+00 3.6910749368033877e+00 1.9633099166808756e+00 3.9682645764836240e+00 -1 -7 2 +2127 1 0.0000000000000000e+00 3.3898574123481131e+00 7.8932251700830985e-02 4.0837715853050574e+00 2 1 -1 +553 1 0.0000000000000000e+00 4.5603780997334331e+00 1.5579291042652690e+00 4.2790083849384057e+00 4 -2 -4 +2177 1 0.0000000000000000e+00 3.4133490091924217e+00 1.6863542374680629e+00 3.3773586576838084e+00 6 3 0 +279 1 0.0000000000000000e+00 4.8479318337467960e+00 2.2019633991669788e-01 3.4818281306841015e+00 2 3 0 +1776 1 0.0000000000000000e+00 4.3085619232334862e+00 7.8179167016071216e-01 3.3224720069278635e+00 4 -1 -3 +2196 1 0.0000000000000000e+00 4.6177351094041557e+00 1.0366615964506218e+00 3.2440980554605425e+00 2 2 -1 +1109 1 0.0000000000000000e+00 4.9767287883044355e+00 1.4880648433857970e+00 2.9348635164347980e+00 -3 5 3 +2796 1 0.0000000000000000e+00 3.4219085370620204e+00 6.3146755940024213e-01 3.7976530829193393e+00 -3 2 2 +2125 1 0.0000000000000000e+00 4.2443940038847243e+00 5.2099974498748522e-02 4.5560768371067599e+00 -2 -3 1 +2400 1 0.0000000000000000e+00 3.6156640002472695e+00 7.1247391251463621e-01 3.1668661462911127e+00 -4 2 4 +430 1 0.0000000000000000e+00 3.4360539961988699e+00 1.0885389339175948e+00 4.4736124279083498e+00 -4 -5 3 +846 1 0.0000000000000000e+00 4.9801400300628620e+00 1.2641306422516690e-01 4.1261981880352021e+00 2 -1 -2 +1316 1 0.0000000000000000e+00 2.8145664506216637e+00 5.5320082894622880e-01 3.5126288044395899e+00 3 -6 0 +1578 1 0.0000000000000000e+00 4.0669510142176017e+00 3.6003089345569850e-01 3.6559731397869908e+00 0 -5 -4 +1422 1 0.0000000000000000e+00 3.3150406738470575e+00 6.3779529162109516e-01 4.6469471918972758e+00 -2 -2 3 +1975 1 0.0000000000000000e+00 2.7051303518576884e+00 7.2384908053927638e-02 4.3144343415674600e+00 -6 -2 4 +1336 1 0.0000000000000000e+00 3.9030221330016328e+00 1.5117545360871243e+00 4.2496095144757913e+00 0 1 2 +935 1 0.0000000000000000e+00 4.1969413473893571e+00 1.0730966707724701e+00 3.8556466724546232e+00 1 0 -8 +2193 1 0.0000000000000000e+00 4.2330404083299591e+00 2.4646662642439749e+00 3.9659016988306912e+00 -4 0 -4 +1550 1 0.0000000000000000e+00 2.9171886198681780e+00 1.8547126751951795e+00 4.0698101008842569e+00 0 3 -5 +873 1 0.0000000000000000e+00 3.9394486759335705e+00 5.8162305932977176e-01 4.6198822615563344e+00 4 1 3 +2365 1 0.0000000000000000e+00 2.7571968186572784e+00 1.7494177619424256e+00 4.5888327967331222e+00 2 5 -2 +1249 1 0.0000000000000000e+00 3.2395967897474720e+00 1.2687493121275140e-01 4.8937873458641636e+00 3 -2 2 +1790 1 0.0000000000000000e+00 4.4234801074907173e+00 1.9324859769187230e+00 3.6091953570923110e+00 2 -2 10 +1146 1 0.0000000000000000e+00 4.8647342156390225e+00 9.8341054352205370e-01 4.1335108518073902e+00 -3 -2 -3 +242 1 0.0000000000000000e+00 4.5423659146203601e+00 2.1257714775085068e+00 2.7766056069117746e+00 3 1 1 +1689 1 0.0000000000000000e+00 4.6894657895307033e+00 1.7231185753366893e+00 4.8531590477185480e+00 9 0 -2 +2411 1 0.0000000000000000e+00 4.0279887384710511e+00 2.1743800956093664e+00 3.4031293892553656e+00 -2 3 2 +1606 1 0.0000000000000000e+00 4.2698583936994057e+00 1.6176432506875613e+00 3.2408026350065930e+00 -5 1 4 +1209 1 0.0000000000000000e+00 2.9242495475395716e+00 1.0754703983812433e+00 3.2366289575803400e+00 0 2 1 +1409 1 0.0000000000000000e+00 3.5885017049139973e+00 1.1648848458692034e+00 3.7127776311455030e+00 4 3 8 +1811 1 0.0000000000000000e+00 3.3857377046546366e+00 1.8178410370559794e+00 2.7086359680957433e+00 -5 -3 0 +1719 1 0.0000000000000000e+00 4.4022736822586452e+00 6.7264943497441376e-01 4.2389431546582639e+00 1 3 0 +112 1 0.0000000000000000e+00 4.5829967185586113e+00 4.6533795847186049e-01 2.7170013530408048e+00 -4 -6 2 +2743 1 0.0000000000000000e+00 2.8103287462970532e+00 1.5674794019436045e-01 3.1846109265291518e+00 4 -1 3 +2951 3 1.0000000000000000e+00 2.5656519703694234e+00 7.0231912396192531e-01 4.8340785276432676e+00 2 3 3 +2936 3 1.0000000000000000e+00 3.5854031840607634e+00 1.8969956690731846e+00 4.7015835202313037e+00 6 1 4 +2808 2 -1.0000000000000000e+00 2.9259379943019730e+00 1.0470757035536884e+00 4.1703096051164499e+00 0 -1 -1 +2211 1 0.0000000000000000e+00 3.0946088296877283e+00 2.3038818496100011e+00 3.4785589631966745e+00 -1 -6 -4 +1464 1 0.0000000000000000e+00 3.0769131946270156e+00 2.3182336579843064e+00 4.6483189194910608e+00 2 -3 0 +2123 1 0.0000000000000000e+00 4.5619968527074430e+00 9.0005692198923376e-02 3.1453044216076846e+00 4 5 1 +2804 1 0.0000000000000000e+00 3.1679761913298319e+00 5.2276144221208964e-01 2.6253870647568007e+00 4 -1 7 +231 1 0.0000000000000000e+00 4.8978210137065563e+00 9.4083753518229951e-01 4.9922199257164221e+00 -2 7 1 +1105 1 0.0000000000000000e+00 3.8811646851823238e+00 1.3367654073738786e+00 2.5137033628796686e+00 2 3 7 +2069 1 0.0000000000000000e+00 1.4590811827932439e+00 3.0924716073063738e+00 2.7915609991290231e+00 2 -2 -3 +1731 1 0.0000000000000000e+00 2.3034641708978874e+00 4.0700107929057703e+00 3.5221655363187629e+00 6 1 0 +304 1 0.0000000000000000e+00 1.5635314031213043e+00 3.5908211598174771e+00 4.0001742309715613e+00 2 -2 2 +1969 1 0.0000000000000000e+00 1.3327370094417033e+00 2.5453435456525662e+00 3.2147520744484157e+00 -5 0 -8 +2805 2 -1.0000000000000000e+00 6.1182116664378150e-01 3.5654991784283649e+00 3.4596321077735883e+00 2 2 -1 +2963 3 1.0000000000000000e+00 1.8072894826664645e+00 4.9482152509094455e+00 3.5351082195400680e+00 1 2 -2 +1046 1 0.0000000000000000e+00 1.7681777199960151e+00 2.7404139944643315e+00 4.3440935787210435e+00 3 1 -2 +1963 1 0.0000000000000000e+00 2.1561396304143558e-02 4.6706495151071197e+00 4.7008020425495722e+00 2 3 -3 +377 1 0.0000000000000000e+00 9.5536310463982621e-01 3.6039251694204855e+00 4.4637007507524933e+00 1 1 4 +419 1 0.0000000000000000e+00 2.4025697965245580e+00 2.8211839778420766e+00 2.9333969861717719e+00 2 -7 -2 +1685 1 0.0000000000000000e+00 1.9444305108306772e+00 4.9245236435668174e+00 2.9271681253540391e+00 10 0 -7 +1539 1 0.0000000000000000e+00 1.3655120239513041e+00 3.2021445437168605e+00 3.5520185924643277e+00 4 -3 -2 +966 1 0.0000000000000000e+00 3.7964502595011373e-01 2.7244554016273983e+00 4.4923354832489570e+00 1 0 -8 +2331 1 0.0000000000000000e+00 5.9504997854394470e-01 2.8047120905413556e+00 3.2672225559727410e+00 5 -2 3 +1726 1 0.0000000000000000e+00 2.2587358049849837e+00 2.6534906594800316e+00 3.6311408952086746e+00 1 6 8 +874 1 0.0000000000000000e+00 1.8740615375605696e-01 3.3102480488809545e+00 3.0655025875496671e+00 -1 -4 -2 +1527 1 0.0000000000000000e+00 9.8999834874296344e-01 4.2856893963957692e+00 3.2232978872495388e+00 3 5 0 +1664 1 0.0000000000000000e+00 2.3509059491159352e+00 3.9912653937802549e+00 4.0231847119845945e+00 -3 2 -1 +1268 1 0.0000000000000000e+00 2.0947684587771938e+00 3.9969254609653633e+00 3.0868929741021054e+00 0 3 -3 +2384 1 0.0000000000000000e+00 1.1117322919826809e+00 2.6153454499168269e+00 4.4342016461156577e+00 -2 4 3 +326 1 0.0000000000000000e+00 6.1750019412154034e-01 4.0670423749444566e+00 2.8763903592918796e+00 7 3 3 +2423 1 0.0000000000000000e+00 5.8901429544291406e-01 4.1388419777977727e+00 3.8959862115778665e+00 2 3 -3 +2650 1 0.0000000000000000e+00 5.5275263536808894e-01 4.1248434319645364e+00 4.8097973891634966e+00 2 -2 3 +1821 1 0.0000000000000000e+00 1.5555633631414949e+00 4.2028559164334327e+00 3.2658859624016183e+00 -2 -4 4 +1354 1 0.0000000000000000e+00 2.2387676057651067e+00 3.6786724388482730e+00 4.6965240497329193e+00 1 1 -2 +2231 1 0.0000000000000000e+00 9.3798834185379221e-01 3.2347213981730110e+00 3.8217924208383569e+00 -3 2 -2 +1120 1 0.0000000000000000e+00 1.3671292644633606e+00 4.6964758578984656e+00 4.6359699162543135e+00 -7 -3 0 +288 1 0.0000000000000000e+00 1.8405366740337709e-01 3.9470248787793798e+00 4.3343452085274583e+00 2 2 6 +1393 1 0.0000000000000000e+00 1.1776889391557481e-01 3.2315055237975088e+00 4.8422285616666239e+00 -5 6 2 +2647 1 0.0000000000000000e+00 1.3822730831648642e+00 3.5971721559732641e+00 2.9873717266352751e+00 2 -2 -2 +1610 1 0.0000000000000000e+00 1.3674242518540478e+00 4.0949454061694164e+00 4.7248040386436410e+00 5 -4 -1 +1745 1 0.0000000000000000e+00 1.2324874580196508e+00 4.0727235039151450e+00 3.7977440767721751e+00 -1 5 4 +2618 1 0.0000000000000000e+00 4.3564509348280639e-01 4.6338117061680544e+00 3.9189833877496385e+00 -9 2 -1 +2503 1 0.0000000000000000e+00 1.9413843369504948e+00 4.1159399052471493e+00 4.7196802756898597e+00 -1 1 1 +2801 1 0.0000000000000000e+00 2.4253185015778564e+00 2.9286458890239859e+00 4.3162962066599846e+00 -2 2 -1 +2826 2 -1.0000000000000000e+00 1.0704157047639196e+00 4.9222239861828010e+00 3.9780484090051553e+00 1 -5 3 +1584 1 0.0000000000000000e+00 2.4806148106238104e+00 3.5026555557671628e+00 2.8929808912227246e+00 1 -3 1 +1573 1 0.0000000000000000e+00 2.0799898624473894e+00 3.4565820179744144e+00 3.3339796147944161e+00 4 -1 -5 +2114 1 0.0000000000000000e+00 7.3891767166198619e-01 4.9407171080397347e+00 4.5191822766675216e+00 4 -5 7 +1979 1 0.0000000000000000e+00 2.4247219607452855e+00 4.1943073084401172e+00 3.0083621259221669e+00 3 -3 1 +1185 1 0.0000000000000000e+00 1.7827704878520723e-01 3.0909392073148503e+00 3.8497587877285735e+00 2 -2 -4 +2024 1 0.0000000000000000e+00 2.0387182033992222e+00 4.6401190196088287e+00 4.1550840938833078e+00 -5 -6 1 +643 1 0.0000000000000000e+00 1.0704199391930558e+00 4.8702854991803832e+00 2.7439015779734914e+00 -3 -3 2 +216 1 0.0000000000000000e+00 1.8985121445959279e+00 3.2355247068865043e+00 4.3799418366053988e+00 0 2 4 +355 1 0.0000000000000000e+00 1.6132139743266454e+00 3.2736816723643423e+00 4.9790346892595849e+00 -5 7 -2 +696 1 0.0000000000000000e+00 1.7179622849680862e-02 3.7220694980107889e+00 3.7433123828102217e+00 5 4 6 +1531 1 0.0000000000000000e+00 9.5951024870796167e-02 4.1949428082123301e+00 2.9246379852233302e+00 1 0 0 +548 1 0.0000000000000000e+00 3.3603222848764225e-01 2.9689416602959531e+00 2.5220491757811532e+00 3 -5 -6 +2218 1 0.0000000000000000e+00 4.7653187167657958e+00 3.7113640672969073e+00 3.4415435461319395e+00 -2 6 -1 +2203 1 0.0000000000000000e+00 3.3528337731257731e+00 3.8756703448179723e+00 4.7860292473750308e+00 -2 0 -3 +871 1 0.0000000000000000e+00 4.7747516294793080e+00 4.4552043162817299e+00 3.9665423683344043e+00 -2 3 1 +2748 1 0.0000000000000000e+00 3.3704804351812356e+00 4.4699401861603718e+00 3.9879630422853451e+00 0 2 -4 +1482 1 0.0000000000000000e+00 2.5908488116302855e+00 3.2761128123044561e+00 3.6298123781838707e+00 -3 -4 6 +1330 1 0.0000000000000000e+00 3.7017647941372855e+00 4.7770160758253297e+00 4.7545755466639434e+00 3 -2 -3 +308 1 0.0000000000000000e+00 3.0435529550215654e+00 2.8674673054815387e+00 2.9706568306908729e+00 4 -2 -2 +1948 1 0.0000000000000000e+00 4.0377099116648321e+00 4.1028799734601060e+00 4.2635060836541392e+00 -1 3 10 +2998 3 1.0000000000000000e+00 2.5731454348975058e+00 4.6197224207344343e+00 3.0136607524641983e+00 0 -2 2 +665 1 0.0000000000000000e+00 3.1513903856449543e+00 2.7039494559350201e+00 4.6474344528208054e+00 -2 -3 1 +2930 3 1.0000000000000000e+00 3.9770900751821028e+00 4.5659569270207587e+00 2.8429936441810146e+00 7 -1 -7 +2683 1 0.0000000000000000e+00 4.7109769738841827e+00 2.8239398910520150e+00 3.3594951437192440e+00 -1 -1 3 +1920 1 0.0000000000000000e+00 3.0545864568006476e+00 4.0982767278239534e+00 3.1212120075424208e+00 -6 5 -2 +2644 1 0.0000000000000000e+00 4.1096546790772734e+00 3.4445788619177860e+00 3.3702010182416680e+00 2 8 3 +190 1 0.0000000000000000e+00 4.2726504867181845e+00 3.4070883706764374e+00 4.7187895262251107e+00 0 -6 1 +2097 1 0.0000000000000000e+00 4.4414828752067388e+00 2.7746235304927036e+00 4.8427341191887656e+00 -1 3 6 +2877 2 -1.0000000000000000e+00 4.9196407661788397e+00 4.8034598449891135e+00 2.9603669132211072e+00 0 -1 0 +156 1 0.0000000000000000e+00 4.9578110799328465e+00 4.1678974034200689e+00 3.2672268253392494e+00 -3 -3 -4 +2828 2 -1.0000000000000000e+00 3.4302773230241494e+00 4.0045559672072484e+00 2.6015689099207755e+00 -9 3 -1 +2962 3 1.0000000000000000e+00 4.9338289793069210e+00 4.9147191139268251e+00 4.8850424215631154e+00 0 -1 1 +1921 1 0.0000000000000000e+00 3.2783962693866457e+00 2.7164364695659202e+00 3.6600927904774303e+00 0 -5 0 +1789 1 0.0000000000000000e+00 2.9202018829787302e+00 4.0093878093095503e+00 4.8694839517524722e+00 3 -1 -4 +501 1 0.0000000000000000e+00 3.3764345391650239e+00 4.9944017206143645e+00 3.1597500347428000e+00 1 0 1 +2711 1 0.0000000000000000e+00 3.3442031101992336e+00 3.2227521889102175e+00 3.0574860058911093e+00 1 2 -1 +2786 1 0.0000000000000000e+00 2.6282204283792239e+00 4.4724760436032325e+00 4.5146149604617918e+00 7 3 5 +543 1 0.0000000000000000e+00 2.9286554898915127e+00 3.0621878979679966e+00 4.9051668302246094e+00 10 1 0 +1505 1 0.0000000000000000e+00 3.7688438114361831e+00 3.4470599735553722e+00 2.6157383566882841e+00 0 11 -2 +944 1 0.0000000000000000e+00 2.9597369305436123e+00 3.4545316839415032e+00 4.2257753449169497e+00 -4 6 -3 +1214 1 0.0000000000000000e+00 3.8457329501004542e+00 2.5981907384677920e+00 4.4843264369622720e+00 4 6 -7 +1643 1 0.0000000000000000e+00 3.8623309919036517e+00 3.0571076589452351e+00 4.1422029061330763e+00 -5 -3 -1 +534 1 0.0000000000000000e+00 4.6587050345357373e+00 2.6186698069005732e+00 4.5219449479911997e+00 -2 -4 2 +1623 1 0.0000000000000000e+00 3.8980497064433970e+00 4.3951771843000040e+00 3.7567163597920077e+00 -3 2 6 +2413 1 0.0000000000000000e+00 4.1106285825293725e+00 3.9758631239886966e+00 2.9845671775433962e+00 3 1 1 +749 1 0.0000000000000000e+00 4.5404460665049218e+00 4.7721627129694317e+00 3.3064856857676013e+00 -4 -1 0 +1514 1 0.0000000000000000e+00 2.7201836379971316e+00 4.9685913631587262e+00 4.9793846157386294e+00 2 -10 -1 +2012 1 0.0000000000000000e+00 4.8215666361970815e+00 2.7908669695167170e+00 2.8973507853763052e+00 0 -3 1 +1572 1 0.0000000000000000e+00 3.8302262529609741e+00 2.8806539552896226e+00 3.2895094146387778e+00 0 1 7 +2305 1 0.0000000000000000e+00 4.4020749039631788e+00 3.3520544195067035e+00 4.0493437192234056e+00 0 2 0 +1629 1 0.0000000000000000e+00 3.3571475501474635e+00 3.6205839107656814e+00 3.4825604320939361e+00 -7 5 1 +530 1 0.0000000000000000e+00 4.0155456528078064e+00 4.0355856671327688e+00 4.9014018797507006e+00 1 1 0 +2390 1 0.0000000000000000e+00 4.4718429809726388e+00 4.1899460660336532e+00 3.8530706791251355e+00 3 3 -5 +2517 1 0.0000000000000000e+00 4.9343071993613838e+00 3.5161225236415081e+00 4.4352188647179940e+00 -3 10 2 +759 1 0.0000000000000000e+00 2.4126534542272116e+00 2.2535356882922839e+00 5.8407847315387036e+00 4 0 0 +1159 1 0.0000000000000000e+00 1.3339212945746228e+00 7.1453452757279823e-01 5.8722697598131415e+00 1 1 -1 +605 1 0.0000000000000000e+00 1.7848392995547386e+00 6.7642261721967689e-01 5.3594721014509599e+00 2 -1 1 +840 1 0.0000000000000000e+00 1.2512387102697395e+00 2.3566116727410216e-01 7.3313318861765513e+00 -2 5 -4 +1033 1 0.0000000000000000e+00 1.0966475403893550e+00 2.4048196411328639e+00 7.3160306767769425e+00 -4 -1 -6 +2439 1 0.0000000000000000e+00 2.0706295034126860e+00 1.0464968184226722e+00 6.9054107834674570e+00 -1 3 -3 +103 1 0.0000000000000000e+00 8.8241822746757390e-02 1.9574545638312879e+00 6.3193839810485875e+00 5 1 -4 +1446 1 0.0000000000000000e+00 2.2447545560484841e+00 1.7497210777328449e+00 6.4508160427318293e+00 1 0 -1 +1580 1 0.0000000000000000e+00 2.0012626540564177e-01 9.6964804764472923e-01 6.5128147870392823e+00 -5 -3 -2 +1151 1 0.0000000000000000e+00 1.5995384380739430e+00 2.2476613454523795e+00 7.2343245846352913e+00 5 0 1 +317 1 0.0000000000000000e+00 2.5986289677795932e-01 2.4216559720700550e+00 6.0101570086046170e+00 -4 5 3 +417 1 0.0000000000000000e+00 1.2726358500945305e+00 2.4684926175971387e+00 6.3111817890132347e+00 3 0 3 +2745 1 0.0000000000000000e+00 5.4760822663307285e-01 1.0850100300986983e-01 5.5976835454061273e+00 2 -1 4 +1758 1 0.0000000000000000e+00 2.3064464704171046e+00 1.3680463149404973e+00 5.5865981467680053e+00 0 -6 6 +2989 3 1.0000000000000000e+00 1.2540689082519973e+00 1.7075073212016330e+00 5.8721010334580406e+00 1 -6 1 +2078 1 0.0000000000000000e+00 3.8745389433852495e-01 6.9701424725624683e-01 6.0861623070835691e+00 0 -3 -7 +624 1 0.0000000000000000e+00 8.8015991020992623e-01 3.9323357017743243e-01 6.4140872645432339e+00 0 6 -2 +447 1 0.0000000000000000e+00 1.7376805139618696e+00 3.2525927645399488e-01 6.2543958672502358e+00 -3 -2 0 +1212 1 0.0000000000000000e+00 5.5617529408608687e-02 1.3648375468543108e+00 5.5671405179526881e+00 1 0 0 +2895 2 -1.0000000000000000e+00 1.4536222111348669e+00 6.7866310620506493e-02 5.5082525934914521e+00 -4 -2 0 +857 1 0.0000000000000000e+00 2.0828422289353790e+00 7.0275810264696159e-01 6.5973780181643624e+00 -3 -1 -4 +99 1 0.0000000000000000e+00 1.9883453462236096e+00 1.8248578269045292e+00 5.9361023671735582e+00 -2 1 1 +1233 1 0.0000000000000000e+00 1.6064010430821405e+00 1.3164907761991862e+00 5.1920699777263462e+00 7 -4 -1 +2115 1 0.0000000000000000e+00 5.1707984634283033e-01 4.1025748885474211e-01 5.5696366575628771e+00 -5 5 -6 +1240 1 0.0000000000000000e+00 1.2134354930957778e+00 8.9934785215522939e-01 5.2997233255224803e+00 -6 1 -1 +2368 1 0.0000000000000000e+00 6.3270848374490141e-01 1.6957827075888907e+00 7.0562616596676673e+00 -1 0 -3 +372 1 0.0000000000000000e+00 5.7340688101286563e-01 1.2114513669543834e+00 5.6839027651129879e+00 -3 -6 0 +1020 1 0.0000000000000000e+00 1.8903999120777573e+00 1.6665773664810886e+00 6.9096714875435739e+00 -6 7 0 +2308 1 0.0000000000000000e+00 1.1621731203894548e+00 1.5948454826835348e+00 5.0982905317960725e+00 1 -3 1 +483 1 0.0000000000000000e+00 6.1655755447609673e-01 2.2502452935734953e+00 5.1797280642253734e+00 4 -2 5 +2911 3 1.0000000000000000e+00 2.4659765979926584e+00 2.2715884065490677e+00 6.6892669435607122e+00 2 6 5 +1382 1 0.0000000000000000e+00 1.3472729592844277e+00 1.6407038225854018e+00 6.6051269389797662e+00 4 -2 -4 +2575 1 0.0000000000000000e+00 5.4578325253196103e-01 1.1479201434889192e+00 6.9221471230168099e+00 -1 4 -3 +1666 1 0.0000000000000000e+00 8.2276043211053662e-01 2.0197906421889114e+00 7.2342050580783219e+00 0 0 -2 +2620 1 0.0000000000000000e+00 1.3045113244997691e-01 2.1325010014440293e+00 6.7270769259193006e+00 3 4 4 +1213 1 0.0000000000000000e+00 1.4839389195434292e+00 2.2382586226757373e+00 5.3907935877647013e+00 5 6 4 +1988 1 0.0000000000000000e+00 3.8788850547971915e-01 2.2491892530435136e+00 7.3895293966351296e+00 0 2 -4 +819 1 0.0000000000000000e+00 2.4094957766962395e+00 5.6998656684697024e-01 6.0860036827397304e+00 6 -2 -2 +2799 1 0.0000000000000000e+00 2.4850519335829584e+00 1.3706665134870468e+00 7.4011565029411353e+00 -5 -1 1 +1757 1 0.0000000000000000e+00 2.1673855294645792e+00 1.7457913455470027e+00 7.4319032193496453e+00 -2 1 -2 +1511 1 0.0000000000000000e+00 1.2793377074529084e+00 7.3974851785206053e-01 6.8868114734595078e+00 5 2 -5 +2679 1 0.0000000000000000e+00 6.2953344145890833e-01 2.0507219196676636e+00 5.0813042790929179e+00 8 3 -2 +2770 1 0.0000000000000000e+00 1.6741263774596360e+00 5.9882134227880579e-02 7.4792738158837997e+00 -2 0 -5 +200 1 0.0000000000000000e+00 7.3532183815220609e-01 1.2172168971514066e+00 6.3418459008496084e+00 -2 -4 0 +1461 1 0.0000000000000000e+00 2.2374770680867639e+00 2.8069073099893938e-01 7.3558234269737151e+00 -7 2 0 +303 1 0.0000000000000000e+00 1.7398912139556535e+00 1.2034420932855880e+00 6.0551080405538267e+00 -1 2 -6 +510 1 0.0000000000000000e+00 2.6316915107333871e-01 3.4512948699142038e-01 7.3452065377457103e+00 0 4 -1 +2121 1 0.0000000000000000e+00 1.8489696362277119e+00 2.4489505127762001e+00 5.6060032098402139e+00 8 3 2 +601 1 0.0000000000000000e+00 9.0043731332208488e-01 2.0120749591512848e+00 6.1689630050137811e+00 2 -1 -4 +2567 1 0.0000000000000000e+00 1.6530039260454839e+00 2.4535014112959042e+00 6.6264997057451422e+00 1 -2 1 +2286 1 0.0000000000000000e+00 1.4215823864039109e-01 1.7051946232306086e+00 7.4573425298793721e+00 -1 1 -3 +1103 1 0.0000000000000000e+00 2.2011841685291738e+00 6.4853366651107247e-02 5.5016311363773225e+00 6 0 -2 +1627 1 0.0000000000000000e+00 1.9272163413853335e-01 7.3101849549403874e-01 5.1125208566419635e+00 5 3 -4 +22 1 0.0000000000000000e+00 4.3139628579395024e-02 1.5685335218861731e+00 6.0459958632955244e+00 2 3 1 +2896 2 -1.0000000000000000e+00 7.7613160494876232e-01 1.0112993764841562e+00 7.2504072604394265e+00 5 0 0 +1215 1 0.0000000000000000e+00 2.0757957552325821e+00 1.4636991362134999e+00 5.0010704631238987e+00 -2 -2 -1 +1441 1 0.0000000000000000e+00 4.7516528440833694e+00 1.6319771894357540e+00 6.6403963942485396e+00 1 -4 -2 +1982 1 0.0000000000000000e+00 2.9336179832489235e+00 2.2393008372291812e+00 6.9252545486835366e+00 5 3 2 +2433 1 0.0000000000000000e+00 2.5212902454902300e+00 1.8483340572589719e+00 6.7519382691909557e+00 3 -5 1 +2776 1 0.0000000000000000e+00 3.1413522269958096e+00 1.8316802154797163e+00 6.0557831278068806e+00 2 7 6 +1992 1 0.0000000000000000e+00 3.4941735561523903e+00 1.9464314212963634e+00 6.4399787893970410e+00 0 6 2 +2354 1 0.0000000000000000e+00 4.3784412003205171e+00 2.1472470972421775e+00 7.1516699122308651e+00 1 2 -3 +455 1 0.0000000000000000e+00 4.3781488477546571e+00 9.2613483678011432e-01 5.5093948089199092e+00 2 -4 3 +462 1 0.0000000000000000e+00 4.3671215674255235e+00 5.8815443600626571e-01 6.2464034982263934e+00 0 2 -3 +134 1 0.0000000000000000e+00 3.7043263614145916e+00 1.1673126709999961e+00 7.1782115372310891e+00 4 -2 3 +456 1 0.0000000000000000e+00 2.7501350724097926e+00 2.1969252172532507e+00 5.3722038478920755e+00 -8 -6 5 +2441 1 0.0000000000000000e+00 4.0555667881290427e+00 1.8234288252117026e+00 5.7300935813845966e+00 2 4 -7 +1558 1 0.0000000000000000e+00 4.3365305903693265e+00 4.4616108512768801e-02 5.7568538686364965e+00 1 -1 5 +600 1 0.0000000000000000e+00 4.3943110649856925e+00 2.2950506393762371e+00 6.3889666291712066e+00 9 -7 -3 +1803 1 0.0000000000000000e+00 4.0670943838847116e+00 1.2530338091926094e+00 5.9640266307027545e+00 4 -3 4 +1395 1 0.0000000000000000e+00 4.9219128821236904e+00 2.4038725164232537e+00 6.3263336054220227e+00 -5 0 -7 +359 1 0.0000000000000000e+00 3.1868712489931830e+00 2.0539932171777324e+00 5.4484199535310829e+00 -4 -1 1 +2186 1 0.0000000000000000e+00 4.8206405543054371e+00 8.2454112663647394e-01 6.6151419590549203e+00 3 3 1 +2997 3 1.0000000000000000e+00 3.9830687667877904e+00 1.7861322335529919e+00 6.3880300087911612e+00 1 2 -1 +1255 1 0.0000000000000000e+00 2.7747769840774779e+00 1.2812254421938285e+00 5.2169762433453046e+00 2 1 -1 +531 1 0.0000000000000000e+00 2.7688648894832157e+00 7.6900006951248390e-01 6.2334473668840626e+00 3 -6 -6 +2872 2 -1.0000000000000000e+00 3.6312774502601033e+00 5.9364109361645645e-01 5.3804293726862475e+00 -4 -2 1 +2251 1 0.0000000000000000e+00 3.6460032811865055e+00 7.5965291988475081e-01 6.6526575441945210e+00 5 4 3 +2783 1 0.0000000000000000e+00 3.0255339952760321e+00 1.4294930965217734e+00 5.6395957886271590e+00 11 0 -2 +2363 1 0.0000000000000000e+00 3.5687022345892667e+00 4.5414592954235500e-01 7.2847917479242028e+00 -3 1 1 +2701 1 0.0000000000000000e+00 3.0427005546581825e+00 8.5603165173972640e-01 6.9430739591256794e+00 -2 4 4 +2425 1 0.0000000000000000e+00 4.2784962470997163e+00 1.6431324826310389e+00 6.7732647905814005e+00 -2 -4 1 +24 1 0.0000000000000000e+00 3.9585195879651467e+00 5.3066460946261418e-01 6.1271065338018680e+00 4 0 3 +470 1 0.0000000000000000e+00 3.9484513813350124e+00 1.8377157015687660e+00 5.2950854304539163e+00 -11 -4 -1 +1853 1 0.0000000000000000e+00 4.6381594960042127e+00 2.3011135310611173e+00 5.4385446297039248e+00 5 -5 -2 +2600 1 0.0000000000000000e+00 4.7140266472062144e+00 1.4529418142584729e+00 5.6432521960222068e+00 4 0 1 +919 1 0.0000000000000000e+00 3.5264438031997605e+00 2.0176545079560824e+00 6.9323528338900609e+00 -6 3 1 +2686 1 0.0000000000000000e+00 2.8963422311556384e+00 4.8845819237566568e-01 7.4305030810599311e+00 8 3 -6 +2659 1 0.0000000000000000e+00 3.4276838773606535e+00 3.9780611840371977e-01 6.0976144455433570e+00 1 3 3 +492 1 0.0000000000000000e+00 4.3518169810288487e+00 5.3673972622162136e-01 7.3023883811997159e+00 0 1 1 +1746 1 0.0000000000000000e+00 4.6094186497942671e+00 5.2306957194653214e-01 5.0892419329752281e+00 -5 1 0 +2403 1 0.0000000000000000e+00 3.0350424272678893e+00 5.1613154495050662e-01 5.6261530764886505e+00 1 0 -1 +2902 2 -1.0000000000000000e+00 4.8507905747711852e+00 7.2579145277497070e-01 6.3763614691875175e+00 -1 5 -1 +1098 1 0.0000000000000000e+00 3.5684870574562524e+00 1.5172979200303005e+00 5.1323417558738527e+00 0 1 3 +2329 1 0.0000000000000000e+00 2.8041857934396601e+00 1.2387193250346398e+00 6.8366836760460101e+00 5 0 -1 +1682 1 0.0000000000000000e+00 4.1904727376599658e+00 1.1327423067097500e+00 6.9283233344865911e+00 -3 2 6 +785 1 0.0000000000000000e+00 3.3563977840498533e+00 1.3273304760156241e+00 6.1550976574186400e+00 -2 2 3 +30 1 0.0000000000000000e+00 4.8578857415557284e+00 1.9098497668475120e-01 7.0167290091618160e+00 -1 -4 -1 +1414 1 0.0000000000000000e+00 4.0663026144604935e+00 1.0828066505032343e+00 5.0645042564842022e+00 -3 5 4 +802 1 0.0000000000000000e+00 4.9462798094904645e+00 1.7111898793460210e+00 6.1208545435024799e+00 4 1 -2 +374 1 0.0000000000000000e+00 1.8722858940545486e+00 4.2951206159171802e+00 6.1331058500495423e+00 -3 -1 3 +2159 1 0.0000000000000000e+00 1.9826102473070351e+00 3.7350801200063963e+00 5.9979502620471319e+00 -7 -2 -2 +2696 1 0.0000000000000000e+00 1.1545990426571957e+00 3.1819957086755379e+00 6.9286650768299678e+00 -1 2 -1 +425 1 0.0000000000000000e+00 4.9571420212494521e-01 4.9367129990872485e+00 5.1711271703099797e+00 2 -1 -6 +1918 1 0.0000000000000000e+00 1.3717546283037401e+00 4.5073118178976461e+00 7.2839256259577185e+00 -3 0 -1 +2560 1 0.0000000000000000e+00 2.4261873243314120e+00 3.8151842571527239e+00 5.3504814150619096e+00 1 2 -3 +513 1 0.0000000000000000e+00 1.3829458399531125e+00 2.7715598478649097e+00 5.6399597554135967e+00 1 1 -3 +2547 1 0.0000000000000000e+00 1.5858392676086570e+00 3.7363274936295756e+00 5.7761611875651706e+00 5 0 -3 +931 1 0.0000000000000000e+00 2.1759525461517550e+00 4.6453469666200142e+00 6.3759690485420091e+00 8 2 2 +562 1 0.0000000000000000e+00 5.5654385449587562e-01 3.9899568251371655e+00 6.4099912675840489e+00 0 -2 3 +2577 1 0.0000000000000000e+00 1.1153462469988580e+00 3.0206645903332641e+00 5.0457512853604332e+00 5 -2 3 +538 1 0.0000000000000000e+00 4.4841200094079089e-02 3.6615479685491210e+00 5.2247660029521477e+00 -1 0 -2 +2925 3 1.0000000000000000e+00 8.0587304486118483e-01 4.0209109654297386e+00 7.3202613516783250e+00 0 8 -1 +2048 1 0.0000000000000000e+00 4.7740346943161305e-01 4.9476227243499951e+00 7.0097739349501165e+00 -1 -1 8 +2709 1 0.0000000000000000e+00 1.8458885068762534e+00 3.1793169055123363e+00 6.4873009118887657e+00 3 -2 -1 +171 1 0.0000000000000000e+00 3.0675739275196645e-01 4.6159611886139764e+00 7.4185010216457039e+00 2 7 -3 +209 1 0.0000000000000000e+00 1.1241564620712590e+00 4.7319557958822154e+00 5.5470434167315679e+00 0 -1 8 +383 1 0.0000000000000000e+00 3.1521604781984641e-01 4.2852733968707248e+00 6.8996649190941381e+00 -6 -5 1 +1488 1 0.0000000000000000e+00 2.2911753024119026e+00 3.1813394998632809e+00 5.4827730124366054e+00 -1 -6 6 +1871 1 0.0000000000000000e+00 2.0360719220743312e-01 3.7436610970717341e+00 5.9122244090624267e+00 3 -1 2 +2692 1 0.0000000000000000e+00 2.3305912465796199e+00 2.6257451335474702e+00 6.7344588892311412e+00 1 2 -1 +1563 1 0.0000000000000000e+00 2.2791325750787368e+00 4.7428246715578615e+00 7.2934460103569227e+00 -2 3 -2 +2827 2 -1.0000000000000000e+00 2.4668835149043580e+00 3.3617483376160813e+00 6.4660400749397828e+00 2 5 5 +2971 3 1.0000000000000000e+00 1.8627338419311361e+00 3.2208499782812052e+00 7.1235479059234512e+00 -4 6 0 +2266 1 0.0000000000000000e+00 9.8823316330976307e-01 4.7785459506887698e+00 6.8301653103588542e+00 -3 7 0 +918 1 0.0000000000000000e+00 2.0986765124021227e+00 3.9062150045754227e+00 6.9804650432113799e+00 -8 -1 -1 +2205 1 0.0000000000000000e+00 1.3587455256411463e+00 3.6516641304404920e+00 6.9531487908390561e+00 0 -1 -1 +1280 1 0.0000000000000000e+00 2.0764178095721428e+00 2.7462986615861769e+00 6.0293012199808143e+00 1 3 -3 +1053 1 0.0000000000000000e+00 5.5780688821167079e-01 3.2833669671686136e+00 5.2732700973677744e+00 1 -3 -2 +49 1 0.0000000000000000e+00 7.3764778772802386e-01 4.9304282749853670e+00 6.3204109305611809e+00 -4 -2 -2 +1954 1 0.0000000000000000e+00 9.5881936199461593e-01 3.3996719040569836e+00 5.8293467261029273e+00 8 3 -1 +1004 1 0.0000000000000000e+00 1.7115309967716763e+00 4.1954995493189458e+00 5.3740888186606846e+00 -3 6 -1 +64 1 0.0000000000000000e+00 7.3410467612257913e-01 4.5329661527354146e+00 5.9662481966645036e+00 -3 1 -7 +1396 1 0.0000000000000000e+00 3.0822407765298176e-01 3.6251878250868459e+00 6.9624928333792893e+00 -1 -1 1 +188 1 0.0000000000000000e+00 7.7701235610259090e-01 3.8470662889485312e+00 6.3688735035675919e+00 -7 -3 0 +2418 1 0.0000000000000000e+00 2.4498656086460087e+00 2.8512857547512733e+00 5.2909979388327919e+00 4 0 2 +1221 1 0.0000000000000000e+00 1.3826260465915712e+00 4.2952409992912548e+00 6.2841948611406968e+00 2 2 -1 +2105 1 0.0000000000000000e+00 1.8949565486250083e-01 3.0242748487138069e+00 5.5420693207705494e+00 -4 -1 -3 +2385 1 0.0000000000000000e+00 2.2402021161367466e-01 4.6917704771772009e+00 5.7678105681034362e+00 -4 -5 0 +998 1 0.0000000000000000e+00 9.1574911957703209e-01 2.7705511963332294e+00 6.0011963436219888e+00 -3 5 2 +2408 1 0.0000000000000000e+00 6.1458569988365699e-02 3.0856193677801076e+00 6.2829529820529979e+00 6 3 1 +2484 1 0.0000000000000000e+00 1.9544550937186362e+00 4.2305614509979899e+00 6.7624281872276502e+00 -6 0 4 +1110 1 0.0000000000000000e+00 7.9536873155027699e-01 3.9338386238294660e+00 5.4774558384250973e+00 -5 8 -1 +144 1 0.0000000000000000e+00 5.4348255967590053e-01 2.6374405955974427e+00 6.6389352823133638e+00 3 5 3 +2088 1 0.0000000000000000e+00 2.3988649624523521e+00 4.7570636559745623e+00 5.1719005128217885e+00 1 2 2 +2435 1 0.0000000000000000e+00 1.4591074045883801e+00 2.9358545899256012e+00 7.2197373605334088e+00 0 5 -2 +2073 1 0.0000000000000000e+00 2.5637818308368621e-01 3.1234967954783701e+00 6.9832437568511665e+00 5 3 4 +1365 1 0.0000000000000000e+00 4.5081543100644712e+00 4.9257686932380293e+00 7.0957489567756378e+00 3 -2 2 +1590 1 0.0000000000000000e+00 3.5948127405585635e+00 3.0479277080200045e+00 5.1208835164791182e+00 0 -1 -2 +176 1 0.0000000000000000e+00 4.9844056197137210e+00 4.2903079786391309e+00 6.4484344142517633e+00 -5 -6 -3 +911 1 0.0000000000000000e+00 4.4694306537087742e+00 3.3545784673846573e+00 6.7370597713648976e+00 1 4 3 +1142 1 0.0000000000000000e+00 3.4229798766331263e+00 4.5225590141181673e+00 6.5243749431417362e+00 3 4 0 +1271 1 0.0000000000000000e+00 3.0830205761988196e+00 2.6179657818774715e+00 6.0942072374612852e+00 0 -1 2 +2756 1 0.0000000000000000e+00 3.5417167159682057e+00 3.5508725311241895e+00 6.0720640625087912e+00 1 -2 -8 +1935 1 0.0000000000000000e+00 4.7096936663420204e+00 2.8440381347867190e+00 5.3334408217292548e+00 3 4 1 +2311 1 0.0000000000000000e+00 4.7205472021363111e+00 3.3968437018018554e+00 5.0836981932181882e+00 0 1 2 +500 1 0.0000000000000000e+00 3.5346800742986089e+00 2.5829299312831386e+00 6.0075597290808247e+00 -5 0 1 +1373 1 0.0000000000000000e+00 3.8607174342471366e+00 2.6393842362862321e+00 5.1685024584229069e+00 -4 5 1 +823 1 0.0000000000000000e+00 3.3134973878338982e+00 2.7207884376071889e+00 6.6956778102816621e+00 2 6 -2 +258 1 0.0000000000000000e+00 3.4733021218943469e+00 4.5030957246108603e+00 5.0198856614252412e+00 2 -5 -4 +1254 1 0.0000000000000000e+00 2.9144487150911305e+00 4.1353314426321006e+00 6.7727950872370588e+00 0 2 0 +2091 1 0.0000000000000000e+00 2.5360533864421146e+00 4.1829429559920204e+00 5.6325986396990757e+00 2 2 -2 +984 1 0.0000000000000000e+00 4.9326733836924461e+00 4.7053530494096423e+00 7.3766605799714613e+00 -1 -1 4 +177 1 0.0000000000000000e+00 3.8278383504026201e+00 2.5294837191863255e+00 5.7160353165690383e+00 8 -4 1 +1940 1 0.0000000000000000e+00 4.4650051725471416e+00 3.9293473767282943e+00 7.0960050721854246e+00 3 -4 2 +1870 1 0.0000000000000000e+00 3.9866873501900906e+00 4.9566568928726156e+00 5.6296279441094121e+00 -4 1 1 +261 1 0.0000000000000000e+00 4.7050126329472821e+00 4.0391249810045053e+00 6.0436150109164339e+00 -3 -1 -3 +1460 1 0.0000000000000000e+00 4.1944005370293800e+00 4.2178803911810938e+00 6.7732594498979690e+00 0 2 -1 +196 1 0.0000000000000000e+00 3.4842358078633855e+00 4.7794025506978128e+00 7.1533258323809195e+00 0 3 3 +349 1 0.0000000000000000e+00 3.9183508452321627e+00 2.7135348072935495e+00 6.8678737911007284e+00 1 2 -9 +2555 1 0.0000000000000000e+00 3.7320558050902410e+00 3.7627543711523304e+00 6.8577953954341702e+00 -4 4 7 +2729 1 0.0000000000000000e+00 3.6299442544261118e+00 3.7629152089876241e+00 5.3139496963511137e+00 1 -3 4 +2569 1 0.0000000000000000e+00 2.7313071920007461e+00 3.0393820198423045e+00 7.3109692219262561e+00 -2 4 -1 +1293 1 0.0000000000000000e+00 3.9985619619682984e+00 4.0756088742139474e+00 6.1540258319085774e+00 -3 1 -4 +1094 1 0.0000000000000000e+00 3.9690565848057084e+00 3.0478473786938296e+00 6.1105435230797838e+00 -1 0 3 +1978 1 0.0000000000000000e+00 4.6415074778561412e+00 2.9166524968244767e+00 7.1020828463401271e+00 0 -4 2 +74 1 0.0000000000000000e+00 3.6780091381458093e+00 4.2660659048192082e+00 7.3630484438331258e+00 5 2 -3 +1231 1 0.0000000000000000e+00 3.1242651853584711e+00 3.3291357395805714e+00 5.5896126001393966e+00 0 -1 -5 +1260 1 0.0000000000000000e+00 2.7725887611158821e+00 3.8719871853070518e+00 6.0809107394457502e+00 4 6 -6 +2518 1 0.0000000000000000e+00 3.4450467039940063e+00 3.9491335560280154e+00 5.7585862001665591e+00 1 -4 -6 +2086 1 0.0000000000000000e+00 3.1909328029684807e+00 4.5747134036278894e+00 5.6732367962355870e+00 -9 -5 -5 +2879 2 -1.0000000000000000e+00 2.6999207688250411e+00 4.9812003826714335e+00 7.0798973769222258e+00 -4 -2 -1 +333 1 0.0000000000000000e+00 3.2820656926789096e+00 2.9432447972407649e+00 7.3769943069878918e+00 1 2 -1 +2428 1 0.0000000000000000e+00 2.5188580547842259e+00 4.9167774163528275e+00 5.8647402957168158e+00 4 -2 1 +1036 1 0.0000000000000000e+00 2.9686428123058457e+00 3.9545830961412851e+00 6.8476186098144352e+00 -7 -3 0 +325 1 0.0000000000000000e+00 4.4578456382597196e+00 4.1647444023163347e+00 5.2135019395152780e+00 6 -5 3 +2637 1 0.0000000000000000e+00 3.2998117905041915e+00 3.2342571054413116e+00 6.3277771687646069e+00 7 -3 -4 +1310 1 0.0000000000000000e+00 4.1873520598546481e+00 4.8030649287831197e+00 6.1765385844720591e+00 -3 3 -1 +776 1 0.0000000000000000e+00 4.3345486507352291e+00 3.3374431284237702e+00 5.7257034077317970e+00 1 0 -2 +2744 1 0.0000000000000000e+00 4.8980953032161780e+00 4.7463367781919885e+00 5.4127932203585933e+00 0 1 1 +2621 1 0.0000000000000000e+00 3.5308623462902102e+00 3.5995340019156008e+00 7.2267030636277303e+00 -6 0 8 +613 1 0.0000000000000000e+00 4.9987060619414470e+00 4.1765311519108801e+00 6.8020366694720229e+00 -1 -6 2 +2438 1 0.0000000000000000e+00 2.5659170111991174e+00 3.5775028520748382e+00 7.4960223197831555e+00 -5 -1 0 +1313 1 0.0000000000000000e+00 1.1290936100071898e+00 2.3573698724825372e+00 9.7740527526521177e+00 1 2 2 +1019 1 0.0000000000000000e+00 2.1321992726065717e-01 1.0033083115558830e+00 7.8276953062277963e+00 -8 -2 8 +343 1 0.0000000000000000e+00 2.3517816583913755e+00 5.4463404248732417e-03 9.2050164587228753e+00 3 -1 2 +1076 1 0.0000000000000000e+00 1.3111299808086361e+00 6.2058084370629207e-02 9.0105007762098559e+00 -5 5 -2 +1688 1 0.0000000000000000e+00 1.5093340853925898e+00 1.2790777281152618e-01 8.1503214737051906e+00 2 -1 -1 +2446 1 0.0000000000000000e+00 7.5484031896857040e-01 1.1299707279849385e+00 8.4257374004777361e+00 5 -4 -3 +1854 1 0.0000000000000000e+00 1.4866438666685677e+00 1.1221501228699857e+00 8.0144731676089300e+00 1 -1 6 +1206 1 0.0000000000000000e+00 2.0788467110362987e+00 8.5774697812881195e-01 7.5174911323561542e+00 -5 4 -3 +1492 1 0.0000000000000000e+00 3.8530058172953607e-01 1.8289057886826379e+00 8.1445164606775382e+00 -2 2 0 +124 1 0.0000000000000000e+00 1.5159615426167867e+00 1.9253184849837850e+00 9.6226406105792996e+00 2 6 0 +299 1 0.0000000000000000e+00 8.0538767303417558e-01 1.5718003280621220e+00 9.5026650831761810e+00 -1 1 3 +1945 1 0.0000000000000000e+00 1.1382486798286622e+00 2.2321155802085739e+00 8.9401242481145466e+00 -2 6 -1 +453 1 0.0000000000000000e+00 7.4606199153503727e-01 6.7097068969475382e-01 7.6613799945762979e+00 1 0 -1 +811 1 0.0000000000000000e+00 1.3823324157282297e+00 6.2458298278040958e-01 9.0035859709548092e+00 -1 -1 1 +1774 1 0.0000000000000000e+00 1.5286378244907217e-01 2.3929828135324129e+00 7.8072545998745273e+00 -2 4 -5 +2023 1 0.0000000000000000e+00 1.4514008307016477e+00 1.2647629109133145e+00 7.5193214916707589e+00 0 1 -2 +2280 1 0.0000000000000000e+00 8.5448961285918013e-01 2.1070653114345070e+00 8.7673070672852873e+00 -6 1 -2 +1816 1 0.0000000000000000e+00 5.1171782536980903e-02 1.5887238944196074e+00 9.9198918543799905e+00 3 -3 4 +2319 1 0.0000000000000000e+00 1.4258349533418133e+00 2.7049513694027977e-01 9.2065651318039077e+00 4 5 -2 +2964 3 1.0000000000000000e+00 5.0007972657621180e-01 2.1856784695669620e+00 9.9661097317690643e+00 5 -4 -4 +582 1 0.0000000000000000e+00 1.4419439788916348e+00 2.3131005302824930e+00 8.1599689963109707e+00 3 -2 3 +2958 3 1.0000000000000000e+00 1.3156060300602704e-01 6.2718218827430838e-03 8.4686937926594830e+00 3 -2 -4 +2782 1 0.0000000000000000e+00 1.1949958514760093e+00 1.0419647221523427e+00 8.1101219860567220e+00 0 0 4 +2563 1 0.0000000000000000e+00 2.1256057538095754e+00 1.5425986609842033e+00 9.2522243898555114e+00 2 -2 0 +302 1 0.0000000000000000e+00 6.0241739120392834e-01 2.1035693492322474e-01 8.8292334894898907e+00 -2 5 2 +2240 1 0.0000000000000000e+00 1.8487147514011553e+00 2.0879917877160654e+00 8.4824220013964400e+00 -1 1 -2 +551 1 0.0000000000000000e+00 1.7059933920375678e+00 1.6898423725263247e+00 7.6060395746532254e+00 0 1 0 +1045 1 0.0000000000000000e+00 1.1731746193869437e+00 1.1935614957973912e+00 8.9212248568082497e+00 2 -4 4 +2262 1 0.0000000000000000e+00 2.3022024939755483e+00 4.3949514226692482e-01 8.3669782275704936e+00 3 -3 0 +2757 1 0.0000000000000000e+00 1.8405817635925048e-01 8.2934967013003480e-01 8.9068547781887375e+00 6 1 1 +533 1 0.0000000000000000e+00 1.2859796767800113e+00 1.8490652967990429e+00 8.7294688074373017e+00 -7 4 -6 +1739 1 0.0000000000000000e+00 2.0904118588892651e+00 1.1401762078542381e+00 8.3741311445266877e+00 -5 0 -6 +2794 1 0.0000000000000000e+00 7.2882325529968939e-01 6.1600247001094655e-01 9.2787228542476594e+00 -2 2 -4 +2359 1 0.0000000000000000e+00 6.9888500930090913e-01 3.9661395577164393e-01 8.4059000352083277e+00 -5 5 -3 +2499 1 0.0000000000000000e+00 7.9713149368692970e-01 2.3984368413203114e+00 8.2460621198751234e+00 -1 -1 5 +806 1 0.0000000000000000e+00 8.1386546168409268e-01 1.9120309868310101e+00 7.9143047435383815e+00 4 0 5 +1510 1 0.0000000000000000e+00 2.2669184445263832e+00 1.0857159124575104e+00 8.9781997482317593e+00 -3 1 -2 +693 1 0.0000000000000000e+00 1.7926978483104328e+00 1.5653102825967355e+00 8.7149060686682116e+00 1 0 4 +1295 1 0.0000000000000000e+00 2.3939524908102761e+00 2.4966982256588190e+00 8.9262598749798236e+00 2 7 3 +1378 1 0.0000000000000000e+00 2.2836032903107419e+00 2.3909208198600731e+00 7.7720928943025154e+00 6 0 2 +2536 1 0.0000000000000000e+00 2.0759432421931834e+00 3.0636449536446858e-01 9.6614326356655376e+00 -4 -4 5 +888 1 0.0000000000000000e+00 1.9569011064579727e+00 2.4088680546685453e+00 9.8023730364340604e+00 -1 -4 5 +714 1 0.0000000000000000e+00 1.9874058297269059e+00 1.7755762687009433e+00 9.1532245081522348e+00 0 0 -3 +439 1 0.0000000000000000e+00 1.4809704656003402e+00 1.2764308129277750e+00 9.7899138682409070e+00 3 -1 10 +2169 1 0.0000000000000000e+00 4.0909223082720181e-01 4.7194045507752197e-01 9.6338401758419963e+00 -1 1 -5 +660 1 0.0000000000000000e+00 1.0976345746823801e+00 1.9720975753201256e-01 8.0725628677375862e+00 -4 -4 -5 +1932 1 0.0000000000000000e+00 3.4960648903732772e-01 1.5687569099544720e+00 9.0748702151528047e+00 -4 -2 6 +387 1 0.0000000000000000e+00 1.4319267101646986e+00 7.3676776246103381e-01 9.6426184784916007e+00 0 1 -1 +427 1 0.0000000000000000e+00 2.7575779336771538e+00 5.2417444170748573e-01 8.0322065860329310e+00 1 -2 -3 +192 1 0.0000000000000000e+00 3.7358119585477270e+00 2.0416106691057884e-01 8.3287331261421240e+00 3 5 -1 +104 1 0.0000000000000000e+00 4.6893122038981065e+00 1.7414905805114147e+00 9.2786283516804939e+00 1 -3 2 +1489 1 0.0000000000000000e+00 2.8677932178483991e+00 2.4485052864318764e+00 8.9213353916415468e+00 0 3 5 +2684 1 0.0000000000000000e+00 2.7034493997799309e+00 1.5642320589055783e+00 8.5368926493217376e+00 3 1 -7 +2009 1 0.0000000000000000e+00 3.2037248358688717e+00 2.1782967054513883e-01 9.2522842132752565e+00 3 -3 -2 +1284 1 0.0000000000000000e+00 4.0692110774313850e+00 7.8873354973824683e-01 7.9199225243206692e+00 3 -3 4 +1362 1 0.0000000000000000e+00 3.7226303071682723e+00 2.4702198821618406e+00 7.5306893776097565e+00 -5 3 -8 +943 1 0.0000000000000000e+00 3.1547746763530267e+00 1.6014118671620636e+00 9.9198098252213125e+00 1 -7 2 +2416 1 0.0000000000000000e+00 3.4532765995028942e+00 2.4980823954544240e+00 9.2842981011347252e+00 -1 2 1 +75 1 0.0000000000000000e+00 2.9524969987962111e+00 2.6873558138395393e-01 9.7209117721030882e+00 -2 2 3 +2387 1 0.0000000000000000e+00 2.5855880158757851e+00 8.7762812429232584e-01 9.1512273718369723e+00 1 8 -2 +2287 1 0.0000000000000000e+00 3.0206927345621191e+00 2.4778572884953030e+00 9.8187708974091539e+00 2 1 8 +1337 1 0.0000000000000000e+00 3.1334669057252151e+00 2.3411959382619321e+00 8.2431878466114590e+00 -6 6 3 +2815 2 -1.0000000000000000e+00 4.8691449554741588e+00 1.7225967180139503e+00 8.4651753498321494e+00 4 1 -9 +2220 1 0.0000000000000000e+00 4.9565117454309746e+00 8.9908483905626835e-01 7.6951656146144378e+00 -3 8 -3 +293 1 0.0000000000000000e+00 4.9665834388899306e+00 1.5960015472067799e+00 9.1377635214446293e+00 3 -5 2 +2991 3 1.0000000000000000e+00 3.7375954235187518e+00 4.0883445761686754e-01 9.2388183630493046e+00 3 1 3 +102 1 0.0000000000000000e+00 3.1634161301201731e+00 4.6926926512748945e-01 8.9440230385059731e+00 8 -3 2 +1041 1 0.0000000000000000e+00 3.7460010988187018e+00 1.4496312098266695e+00 8.4678727942816430e+00 6 3 0 +1358 1 0.0000000000000000e+00 4.4543093863117589e+00 1.7092034022002032e+00 7.6535071463920401e+00 -2 2 1 +2979 3 1.0000000000000000e+00 3.6596612940152755e+00 1.1548251635909452e+00 9.0041552073696209e+00 -7 -5 -1 +1749 1 0.0000000000000000e+00 3.3275542519526251e+00 1.6184938970411922e+00 7.5623349777006830e+00 -5 -7 -6 +921 1 0.0000000000000000e+00 4.5434974063952218e+00 4.6576435928366205e-01 8.5780115268568231e+00 2 -7 0 +2118 1 0.0000000000000000e+00 4.5647157235258158e+00 9.1511243633807693e-01 9.3716914565635552e+00 -5 -2 3 +2861 2 -1.0000000000000000e+00 3.6424750582566414e+00 1.8296083275132504e+00 9.0894221537821576e+00 -3 4 -5 +2918 3 1.0000000000000000e+00 3.5201786933640533e+00 1.9238375208566729e+00 8.2261219037837776e+00 -7 1 -3 +1504 1 0.0000000000000000e+00 3.8875938759733235e+00 1.5534577620876577e-01 7.6084692749505853e+00 1 -6 1 +1418 1 0.0000000000000000e+00 3.1793121899521886e+00 1.0701883065385915e+00 7.9093872980124296e+00 5 -1 -3 +485 1 0.0000000000000000e+00 4.7958451152108195e+00 2.3772193957668611e-01 9.8046513591579938e+00 -4 4 -6 +5 1 0.0000000000000000e+00 4.2503183131967548e+00 1.5553057445535028e+00 8.2239286795407267e+00 -4 -4 8 +2593 1 0.0000000000000000e+00 4.3995913909447557e+00 1.2125472327008828e+00 8.1714004451001152e+00 8 -2 -4 +459 1 0.0000000000000000e+00 4.2462603326522341e+00 1.7454768907184634e-01 9.0378129340532976e+00 3 -2 -1 +1805 1 0.0000000000000000e+00 3.8383644658410083e+00 3.6893977619739317e-02 9.6356986248266967e+00 -4 1 2 +881 1 0.0000000000000000e+00 3.4719128485934170e+00 1.2016301402295360e+00 9.7954191620275317e+00 -4 1 -11 +648 1 0.0000000000000000e+00 3.5774999391113904e+00 2.0737447521712578e+00 7.5142264506812166e+00 -2 -2 -1 +2314 1 0.0000000000000000e+00 4.3005450310691202e+00 9.6877943096822539e-01 9.2338028864183919e+00 1 -4 -3 +449 1 0.0000000000000000e+00 3.8136792120270453e+00 1.1836491898311232e+00 7.7839553432571993e+00 0 -3 -5 +1189 1 0.0000000000000000e+00 4.1430082687820038e+00 3.8148279798378792e-01 8.5692921287429353e+00 4 1 -5 +808 1 0.0000000000000000e+00 2.9499538847625262e+00 1.8476203647516392e+00 9.0033276079756650e+00 -5 4 1 +1484 1 0.0000000000000000e+00 4.0603353747400153e+00 2.3027230650637427e+00 8.8268840082372719e+00 3 -5 -4 +290 1 0.0000000000000000e+00 3.6267100312614735e+00 8.0314487077777119e-01 8.1987088441463136e+00 2 -1 -3 +1826 1 0.0000000000000000e+00 4.1358421989161283e+00 1.5299521351524965e+00 9.4951080898461022e+00 1 -3 6 +1113 1 0.0000000000000000e+00 2.5374696269291985e+00 1.7721644471842033e+00 9.4509878349687177e+00 -4 4 -2 +1795 1 0.0000000000000000e+00 3.2064326167370929e+00 1.0709750901045363e+00 8.8963822098024217e+00 2 4 -3 +1537 1 0.0000000000000000e+00 4.4844804894439605e+00 2.3330786317257806e+00 9.0696198563893287e+00 1 0 -7 +2807 2 -1.0000000000000000e+00 4.8450041250358957e+00 8.6041370343484036e-01 8.3026917058986474e+00 4 -1 1 +2362 1 0.0000000000000000e+00 3.0035434756857353e+00 1.0707645049486050e+00 8.2346530562773133e+00 -2 2 6 +1465 1 0.0000000000000000e+00 3.2043513867400040e+00 2.8173339339539016e-01 9.8787249295454558e+00 -2 -1 -2 +2082 1 0.0000000000000000e+00 3.6424144335685904e+00 1.9764361882737520e+00 9.7970155060624133e+00 2 2 -2 +367 1 0.0000000000000000e+00 4.5891768219044540e+00 2.3989275033643516e+00 9.4544738101913044e+00 -5 -4 1 +476 1 0.0000000000000000e+00 2.7459636086144967e+00 2.0020938756372781e+00 7.6415516370807248e+00 2 1 1 +2893 2 -1.0000000000000000e+00 2.7105137862388404e+00 1.3289627486872817e+00 9.6588613142860194e+00 -4 7 -3 +1780 1 0.0000000000000000e+00 1.2686673183986306e+00 3.1183551432030336e+00 9.3176489599359584e+00 2 3 0 +1500 1 0.0000000000000000e+00 1.5843956714388783e+00 4.0552176835668776e+00 7.5430211803496681e+00 -4 3 4 +158 1 0.0000000000000000e+00 4.8529340731321818e-01 3.2522315515117000e+00 7.6368328792331628e+00 2 -2 5 +1912 1 0.0000000000000000e+00 2.6461707383521288e-01 4.4961231904012955e+00 8.4833254208798152e+00 -1 4 3 +2898 2 -1.0000000000000000e+00 2.3418250396486062e+00 4.1669046720755807e+00 9.7452609634691871e+00 -6 8 3 +1973 1 0.0000000000000000e+00 4.0857773635384548e-01 3.1478724613966671e+00 8.6841354404564548e+00 7 3 6 +1706 1 0.0000000000000000e+00 5.6767272914260170e-01 4.8803064743710785e+00 9.9609270885721788e+00 0 -1 3 +573 1 0.0000000000000000e+00 1.6629404661238405e+00 3.1828754834787674e+00 7.9373338216102303e+00 -5 -2 -2 +1273 1 0.0000000000000000e+00 2.4209344319750601e+00 3.5494994050686892e+00 9.9536827918903210e+00 -5 3 2 +2710 1 0.0000000000000000e+00 1.0161818997430025e+00 4.4147296979100092e+00 9.5538505951450894e+00 -2 -1 0 +956 1 0.0000000000000000e+00 2.1813120250521818e+00 3.5587772519031482e+00 9.3500056467932176e+00 5 -2 6 +2763 1 0.0000000000000000e+00 1.6808709338558090e+00 4.5717461413029490e+00 8.4539978308793362e+00 5 -9 -2 +502 1 0.0000000000000000e+00 2.0913300197545195e+00 4.4744213643627795e+00 9.7210382212900956e+00 3 -2 -6 +1145 1 0.0000000000000000e+00 2.4472700945871018e+00 3.6744208692428231e+00 8.0965797576657739e+00 -3 5 6 +2943 3 1.0000000000000000e+00 1.7756597231692854e+00 4.9881098765689220e+00 9.5901778326851232e+00 -2 -2 -1 +35 1 0.0000000000000000e+00 9.9700445206531729e-01 3.9705904119745510e+00 7.5224613981634683e+00 6 5 -1 +1503 1 0.0000000000000000e+00 1.7703616406153142e+00 4.9317061612445503e+00 7.7449029157400284e+00 -3 1 -1 +2816 2 -1.0000000000000000e+00 1.2779499768355200e-03 4.0702826385597932e+00 9.6951106144070085e+00 1 0 6 +608 1 0.0000000000000000e+00 1.0474015172652718e+00 4.8261947404569945e+00 8.3994218367889673e+00 -1 -1 1 +1026 1 0.0000000000000000e+00 2.4737376254561729e+00 4.7331811550618346e+00 9.0351964346030815e+00 4 3 -2 +1717 1 0.0000000000000000e+00 1.5066826245824367e+00 4.0644762294548684e+00 9.3757425684698035e+00 6 -3 3 +1668 1 0.0000000000000000e+00 1.8558166154333968e+00 3.7562063694728693e+00 9.0762554282986017e+00 5 2 -8 +983 1 0.0000000000000000e+00 1.0237915608873576e+00 4.4070116407447255e+00 9.0217213869092454e+00 1 -5 1 +2075 1 0.0000000000000000e+00 2.0387610975662351e+00 2.6599340627465269e+00 8.2704344494440782e+00 2 6 6 +2139 1 0.0000000000000000e+00 1.2097341694617876e+00 4.1935397593072441e+00 8.9975522358167055e+00 10 2 5 +2833 2 -1.0000000000000000e+00 9.0075514873811802e-01 3.6215825592558870e+00 9.3130497386606272e+00 1 0 -4 +1089 1 0.0000000000000000e+00 2.2314831419488212e-01 3.3601429419658815e+00 9.2280459008005025e+00 0 1 2 +381 1 0.0000000000000000e+00 1.6832664379639568e+00 3.5541569921062082e+00 8.4132951473127644e+00 1 -7 -2 +2029 1 0.0000000000000000e+00 7.9491188365576582e-01 2.9410414098968323e+00 9.4756147667375483e+00 2 9 4 +1547 1 0.0000000000000000e+00 1.6167089607363805e+00 2.8830824590789441e+00 8.7714270836956594e+00 3 3 -4 +1173 1 0.0000000000000000e+00 8.0227211298592627e-01 4.0116351381644151e+00 9.6146608661448631e+00 -2 -1 -2 +2421 1 0.0000000000000000e+00 1.5920835461606370e-01 4.2143019182964077e+00 9.0732268611377851e+00 0 2 1 +581 1 0.0000000000000000e+00 1.0488890405282814e+00 2.8454302970944543e+00 8.4283628724960860e+00 -1 -2 1 +465 1 0.0000000000000000e+00 3.7705572434162088e-01 4.0178010797637800e+00 7.7825513742194650e+00 4 2 3 +2364 1 0.0000000000000000e+00 2.6426190028822838e-01 4.1565609885104546e+00 8.0552969458514720e+00 4 -2 -4 +1908 1 0.0000000000000000e+00 1.0572121372754835e+00 3.3273778137360566e+00 7.8798103958128278e+00 3 -1 5 +199 1 0.0000000000000000e+00 2.6464934262027784e-01 2.6566577940767560e+00 9.1248669053669342e+00 -2 -1 0 +2062 1 0.0000000000000000e+00 5.8822810780864732e-01 3.5266952290271361e+00 8.3814368470780742e+00 3 1 -6 +2248 1 0.0000000000000000e+00 2.3692449962879212e+00 3.0311928494794049e+00 9.4997812902814918e+00 -7 -1 -5 +612 1 0.0000000000000000e+00 1.1771499877081255e+00 4.3251592874462048e+00 8.0541087430074203e+00 -1 4 -5 +619 1 0.0000000000000000e+00 2.3955942591735426e+00 3.4650763279164405e+00 8.9884763112752051e+00 1 -3 0 +201 1 0.0000000000000000e+00 2.0919720891408242e+00 4.3832779677947480e+00 8.6679351819251469e+00 2 -3 -5 +62 1 0.0000000000000000e+00 2.4022611674992461e-01 2.5402184791050710e+00 8.5549224819653169e+00 -2 -8 2 +2862 2 -1.0000000000000000e+00 2.0562189935625810e+00 4.2550760722712342e+00 8.0860878497943389e+00 1 -8 -3 +187 1 0.0000000000000000e+00 1.4180045832455450e+00 3.5369044942898578e+00 9.8125186886595444e+00 6 2 -5 +204 1 0.0000000000000000e+00 4.4335955583898548e+00 3.3449038947025236e+00 8.4293483507825382e+00 3 -3 3 +320 1 0.0000000000000000e+00 2.8303657723524687e+00 3.7739832020683530e+00 9.4084421121590953e+00 1 -4 -5 +1645 1 0.0000000000000000e+00 2.5727797965490016e+00 4.0292871644255523e+00 7.5077751262196708e+00 1 -7 1 +2634 1 0.0000000000000000e+00 4.7287083446898288e+00 3.0687612657945427e+00 7.8500104253311003e+00 -1 -3 1 +2728 1 0.0000000000000000e+00 2.8046710274907030e+00 2.8504975267177182e+00 7.6219767024854663e+00 -1 -4 2 +2899 2 -1.0000000000000000e+00 4.5318795696569669e+00 4.7980255445743509e+00 9.8270921233728306e+00 5 0 0 +2381 1 0.0000000000000000e+00 4.1457425589467718e+00 3.2378988312785020e+00 7.5091691681093673e+00 3 1 -1 +542 1 0.0000000000000000e+00 4.1299763880415181e+00 4.2580039983422493e+00 8.0194837709045323e+00 -1 -4 5 +1931 1 0.0000000000000000e+00 4.0524275939408279e+00 4.8185882791543371e+00 9.7325694042355178e+00 4 -7 -2 +2184 1 0.0000000000000000e+00 3.0873854410981187e+00 4.6238012139617979e+00 8.2129612550178699e+00 5 4 2 +2995 3 1.0000000000000000e+00 3.7184838554313955e+00 2.9489082878215362e+00 9.0439585483475113e+00 -1 5 -2 +147 1 0.0000000000000000e+00 4.8455359726372338e+00 3.9350621701808404e+00 8.5578082314205854e+00 1 2 6 +633 1 0.0000000000000000e+00 4.0038384907353963e+00 2.7475920191958010e+00 7.9892886564261252e+00 -2 -3 2 +2781 1 0.0000000000000000e+00 3.2242763151673679e+00 3.3518896979266932e+00 9.6688622899733758e+00 -2 1 0 +2730 1 0.0000000000000000e+00 4.5694949268027045e+00 2.6066134966976433e+00 8.3262609286258282e+00 0 -1 8 +2207 1 0.0000000000000000e+00 4.4064362185596009e+00 2.9557830855539780e+00 9.6899726390303940e+00 -1 4 4 +618 1 0.0000000000000000e+00 2.9333554623609381e+00 3.3740491410957283e+00 8.9226808615142676e+00 -2 7 -6 +1951 1 0.0000000000000000e+00 3.7431844205869726e+00 4.6987940417908387e+00 8.6690555919530716e+00 3 1 1 +245 1 0.0000000000000000e+00 3.7803973981614742e+00 3.2747704746815480e+00 8.3208258794834258e+00 -7 -5 -4 +579 1 0.0000000000000000e+00 3.1971735988844929e+00 4.7010687261637329e+00 7.6797703360187866e+00 10 8 1 +757 1 0.0000000000000000e+00 3.0837092120517160e+00 3.2007563585170589e+00 7.9781231995680626e+00 -6 -1 -1 +1326 1 0.0000000000000000e+00 3.5351699068418467e+00 4.5131082646968927e+00 9.2035215148037661e+00 6 -1 4 +2409 1 0.0000000000000000e+00 3.0552925040062955e+00 4.5940670577946801e+00 9.4111665525085790e+00 -2 -3 1 +2817 2 -1.0000000000000000e+00 3.7781440734695959e+00 3.1005882640036178e+00 7.7035761302364021e+00 -3 -2 2 +963 1 0.0000000000000000e+00 3.8559433217777972e+00 3.3054252029025548e+00 9.9178857072018740e+00 -2 5 -1 +1170 1 0.0000000000000000e+00 3.0226036031384522e+00 3.3302397612534644e+00 8.3907937236005594e+00 5 2 -4 +861 1 0.0000000000000000e+00 3.3329735512075760e+00 3.9293839023799397e+00 8.6518325153766664e+00 -3 4 -1 +2913 3 1.0000000000000000e+00 4.0039383213434565e+00 3.0244820543539590e+00 9.8023002270914859e+00 -3 -4 3 +1802 1 0.0000000000000000e+00 4.3666896552812906e+00 3.7520379515742039e+00 8.0347454148504074e+00 0 0 -2 +2970 3 1.0000000000000000e+00 2.7241742752257738e+00 4.1155463961084608e+00 8.4726153013899879e+00 4 1 -1 +1200 1 0.0000000000000000e+00 4.0152301398721546e+00 2.6880120301204689e+00 8.5973037664619341e+00 -1 -3 0 +1709 1 0.0000000000000000e+00 3.5526776684758068e+00 4.1177390944672645e+00 8.0579084345974508e+00 4 1 -1 +2824 2 -1.0000000000000000e+00 4.2462620587068196e+00 3.5855279497078532e+00 9.0717800848856687e+00 7 4 -1 +2793 1 0.0000000000000000e+00 4.8628656576281157e+00 3.9182189938745111e+00 9.2786061510715783e+00 -1 -2 3 +42 1 0.0000000000000000e+00 3.7685767380089628e+00 3.9056646245470001e+00 9.3247842643881338e+00 -7 2 -4 +1959 1 0.0000000000000000e+00 4.6967344114349974e+00 4.7891650114048812e+00 9.1975385645312144e+00 -3 -8 -1 +2132 1 0.0000000000000000e+00 3.9718967879075513e+00 4.7506340446637854e+00 7.6665942715906867e+00 -1 -1 4 +793 1 0.0000000000000000e+00 4.7762403100101150e+00 3.2105338211986618e+00 8.6957119643865806e+00 -3 1 2 +2546 1 0.0000000000000000e+00 4.0265350298286933e+00 4.6494901660374452e+00 8.5824319222809731e+00 -5 -2 4 +2172 1 0.0000000000000000e+00 3.0388885657108720e+00 4.4038859752168937e+00 9.9096991830086818e+00 5 -9 -1 +2165 1 0.0000000000000000e+00 4.6241480035028859e+00 3.9612392431806449e+00 9.7485769406681140e+00 1 -8 2 +2301 1 0.0000000000000000e+00 5.9060877231317466e-01 6.5700417566038443e+00 1.7806265370957803e+00 -3 -2 -1 +736 1 0.0000000000000000e+00 1.3173306358554628e+00 6.1778337696363046e+00 1.7897582266820566e+00 -1 1 0 +971 1 0.0000000000000000e+00 7.3388765303860803e-01 5.3043223408243483e+00 1.7483327720366595e+00 4 -2 -4 +1066 1 0.0000000000000000e+00 1.4542297498942491e+00 5.2273958080879197e+00 1.6217369284384511e+00 0 2 2 +152 1 0.0000000000000000e+00 2.7091986166663246e-01 5.2613173417949906e+00 2.1468276953391152e+00 -1 -7 -1 +450 1 0.0000000000000000e+00 1.3699903833782226e-01 6.1043668291101447e+00 9.2824672752894091e-02 -1 -3 -1 +2116 1 0.0000000000000000e+00 7.1834364870751777e-01 7.2453041443965747e+00 3.3465018651050971e-01 5 3 -2 +2956 3 1.0000000000000000e+00 1.2569636497099941e+00 7.1675659799518998e+00 2.2597224992990657e+00 0 0 -3 +2553 1 0.0000000000000000e+00 2.3273936435491849e+00 5.5878930416203785e+00 5.0514631139135469e-01 -4 -5 1 +16 1 0.0000000000000000e+00 1.8978559421481582e+00 7.4451518348635037e+00 3.3722469643892633e-01 6 -3 4 +2778 1 0.0000000000000000e+00 1.0750120567201847e-01 6.4079863854503838e+00 1.1872061833497667e+00 -6 -2 1 +1690 1 0.0000000000000000e+00 1.3819529952860661e+00 6.7072080120220230e+00 9.0177258825170725e-01 7 -5 2 +2324 1 0.0000000000000000e+00 2.3234653259919355e-01 7.3653433875163845e+00 9.6887955836520712e-01 -2 -5 2 +2539 1 0.0000000000000000e+00 8.3818679791837569e-01 6.3903087806790477e+00 2.7980014269642847e-02 1 3 -5 +352 1 0.0000000000000000e+00 1.5869258891931943e+00 5.0493186381943431e+00 2.1717953313573366e+00 1 -1 3 +342 1 0.0000000000000000e+00 7.2395582071508657e-01 6.7336936965266423e+00 1.3330413649390853e+00 5 -2 2 +441 1 0.0000000000000000e+00 1.9835339041283744e+00 7.3208065703325786e+00 1.2576793837881040e+00 -5 -7 -4 +2241 1 0.0000000000000000e+00 1.7167739898296541e+00 5.7138170821465923e+00 2.4419889048066046e+00 -2 -5 -3 +2451 1 0.0000000000000000e+00 9.1221866470809698e-01 7.1703510131620121e+00 1.8595778935905554e+00 0 -6 -2 +517 1 0.0000000000000000e+00 7.1926878188130383e-01 6.9532192744662478e+00 5.0436355538868172e-01 -1 -3 -4 +552 1 0.0000000000000000e+00 6.0537510039271580e-01 6.2214133796922768e+00 5.8302806062201495e-01 2 0 3 +2497 1 0.0000000000000000e+00 1.1243389545578981e+00 5.9289122454144820e+00 1.4910162625352761e+00 -1 -4 -1 +1536 1 0.0000000000000000e+00 2.3957005422080897e+00 6.2992014352140284e+00 1.8934332361924824e+00 -3 -4 3 +1112 1 0.0000000000000000e+00 1.3837372178658307e+00 6.9346752508639424e+00 1.5390087323459207e+00 1 2 8 +1187 1 0.0000000000000000e+00 1.3372971866854704e+00 5.8613288182577481e+00 3.6661934927104470e-02 -2 1 1 +212 1 0.0000000000000000e+00 1.1571543935434887e+00 5.8076220574925479e+00 2.1817986274822188e+00 1 4 3 +2181 1 0.0000000000000000e+00 1.5701037642714699e+00 5.3357786255909909e+00 1.9041139591150191e-01 -1 -4 -3 +1025 1 0.0000000000000000e+00 2.1448101505194832e+00 7.0510343681515906e+00 2.3017881599870842e+00 1 2 1 +39 1 0.0000000000000000e+00 1.9833865177104300e+00 6.6702403417408922e+00 2.0190867040640517e+00 -6 1 -6 +1022 1 0.0000000000000000e+00 2.1759979356289074e+00 6.6692788686857698e+00 1.2713339947507789e+00 6 1 10 +472 1 0.0000000000000000e+00 2.4649803080618344e+00 7.0716436379611238e+00 1.6620123886173090e+00 2 2 -1 +1064 1 0.0000000000000000e+00 1.7877704010026503e+00 5.9771383643237606e+00 1.2056042778950664e+00 -1 -3 -4 +2070 1 0.0000000000000000e+00 1.9451569494834313e+00 5.8083202753466106e+00 1.4858454620585884e+00 2 -3 1 +1516 1 0.0000000000000000e+00 2.3253621060689122e-01 7.0360764581405553e+00 1.9292360935497483e+00 1 -1 -7 +1509 1 0.0000000000000000e+00 1.5971153383832974e+00 5.1955482206026407e+00 1.2909379336777258e+00 2 3 9 +1065 1 0.0000000000000000e+00 3.8508442911992918e-01 5.6814883609135824e+00 6.0527349899912108e-01 2 -4 4 +136 1 0.0000000000000000e+00 2.4801780996782901e+00 6.9531603713790453e+00 1.2072494578296895e+00 2 -5 3 +1911 1 0.0000000000000000e+00 1.6691141500177766e+00 6.9286344436760086e+00 5.1785388834623280e-01 -1 -2 3 +1245 1 0.0000000000000000e+00 1.3203474215552706e+00 6.2845203285549633e+00 2.4240351313461059e+00 2 2 -1 +1639 1 0.0000000000000000e+00 1.7339651086374976e+00 6.1975745467556731e+00 6.7698194998453609e-01 -1 4 -1 +2434 1 0.0000000000000000e+00 2.2877927078880043e+00 5.2347578482678587e+00 1.7140175944075511e+00 -2 -3 -1 +130 1 0.0000000000000000e+00 1.2407543752883610e+00 5.7591595429097087e+00 5.2303052889222690e-01 4 -3 1 +2752 1 0.0000000000000000e+00 5.0731456272735909e-01 5.9571715973669601e+00 2.0948397942073718e+00 1 2 7 +195 1 0.0000000000000000e+00 1.4904735777026237e-01 5.4554881442053684e+00 1.5186650766078442e+00 0 1 -4 +361 1 0.0000000000000000e+00 9.3354182671294150e-01 5.3412925814771972e+00 7.7794765405513833e-01 -5 0 8 +1452 1 0.0000000000000000e+00 1.2201708345268716e+00 5.3500486162020700e+00 2.3896408839997689e+00 3 -2 -7 +518 1 0.0000000000000000e+00 4.6056891383360860e-01 6.1290392819760671e+00 2.3118362606411935e+00 0 1 -1 +1199 1 0.0000000000000000e+00 1.9224336190067528e+00 5.0134059755083396e+00 2.4163817417737721e+00 -2 0 3 +768 1 0.0000000000000000e+00 4.8883387177216537e+00 5.7368973928975677e+00 2.3084612376228703e-01 -1 -1 -1 +2347 1 0.0000000000000000e+00 4.2440527643696369e+00 5.5394345236467526e+00 3.1405097313325087e-01 -1 -6 1 +721 1 0.0000000000000000e+00 4.4079105968895380e+00 6.4257595028064118e+00 4.1205057638483211e-01 -1 3 -1 +796 1 0.0000000000000000e+00 4.4498867669349726e+00 7.4917664390510899e+00 1.2991805643871237e+00 -1 2 1 +1919 1 0.0000000000000000e+00 3.9686276590489076e+00 6.3421051027890254e+00 6.9565632309220404e-01 6 0 4 +2003 1 0.0000000000000000e+00 2.8677278319263819e+00 6.1600902973392628e+00 1.6359428619592618e+00 1 -2 1 +2795 1 0.0000000000000000e+00 4.4331063400847439e+00 7.4759182997502318e+00 2.1820414972111899e+00 2 1 -11 +934 1 0.0000000000000000e+00 4.0050079837121970e+00 5.1776569616634509e+00 1.9599011746261825e+00 2 1 -1 +2068 1 0.0000000000000000e+00 3.2284853944456051e+00 5.4226632450846939e+00 7.5479691552182360e-01 0 2 0 +1986 1 0.0000000000000000e+00 4.5888810229904697e+00 6.4299463815324405e+00 1.0014940498667888e+00 -1 0 3 +1995 1 0.0000000000000000e+00 2.6118611090537649e+00 6.6802026929486225e+00 7.0042741550861065e-01 8 -9 5 +1029 1 0.0000000000000000e+00 4.9264094942663643e+00 5.2410944461315276e+00 2.0783130232880462e+00 -4 0 1 +9 1 0.0000000000000000e+00 3.5677242928646744e+00 6.4946318222594863e+00 1.1229203729382109e+00 -4 -4 -4 +1652 1 0.0000000000000000e+00 4.8092082613473774e+00 7.4921408907938352e+00 3.1422973177419067e-01 0 -2 6 +205 1 0.0000000000000000e+00 3.9624462665434996e+00 7.3693953512443837e+00 9.0724819496773945e-01 -7 -3 3 +1586 1 0.0000000000000000e+00 4.1975707532195923e+00 5.7672748365493245e+00 7.9498132497833285e-01 -4 -4 -5 +474 1 0.0000000000000000e+00 4.3113318691352163e+00 6.9754681366163851e+00 4.3810867822779404e-01 -1 -4 2 +1442 1 0.0000000000000000e+00 4.7298684413804573e+00 7.1201685506931875e+00 1.4233658087905490e+00 8 -3 1 +1827 1 0.0000000000000000e+00 4.3671678380257575e+00 7.4686014981050342e+00 6.6160267000334827e-01 3 -4 -6 +2643 1 0.0000000000000000e+00 4.0552238726882184e+00 5.7309505642207874e+00 1.2294641756474496e+00 0 1 0 +2436 1 0.0000000000000000e+00 3.2795613193122501e+00 7.1294259424643522e+00 8.8017623446897397e-01 3 -5 2 +1191 1 0.0000000000000000e+00 4.0616897718818823e+00 6.0979934756822729e+00 1.9160973269073460e+00 1 0 -4 +2356 1 0.0000000000000000e+00 4.4635988973480609e+00 7.0086052259223512e+00 2.3535547119244398e+00 -3 -2 2 +954 1 0.0000000000000000e+00 4.1443664196059888e+00 6.7500340774556449e+00 2.0156236267969616e+00 -1 3 1 +895 1 0.0000000000000000e+00 3.3593675505802305e+00 6.9605321657032970e+00 1.4582151475848987e-01 -3 2 11 +2152 1 0.0000000000000000e+00 3.2171071572339534e+00 7.1784057502035123e+00 1.4739173432299244e+00 0 3 -1 +2886 2 -1.0000000000000000e+00 3.5226595903313345e+00 6.2561711815753114e+00 3.3566313254294755e-01 1 -3 0 +2496 1 0.0000000000000000e+00 2.5069329785965735e+00 6.1655518296335314e+00 9.1137849533733617e-01 -2 5 1 +2448 1 0.0000000000000000e+00 2.6783482145882531e+00 5.4581736291133485e+00 2.1084737108687981e+00 2 -5 -2 +1697 1 0.0000000000000000e+00 3.3633088371322284e+00 6.1561170941996313e+00 2.1770489479801789e+00 -3 2 -6 +315 1 0.0000000000000000e+00 2.8704157217942843e+00 5.4506134044028061e+00 1.2622009409520405e+00 -1 2 -3 +1049 1 0.0000000000000000e+00 4.7535085088051172e+00 5.2112039675926987e+00 1.5967251523077479e+00 2 -1 -3 +1707 1 0.0000000000000000e+00 3.2172526165434721e+00 6.6754901470449948e+00 5.2190531117490802e-01 0 -1 0 +321 1 0.0000000000000000e+00 3.3544658146107604e+00 5.0110437400085743e+00 1.5151322824760960e-01 -1 -8 -1 +2619 1 0.0000000000000000e+00 3.2539042443239246e+00 7.2541895242309371e+00 2.4385778623163867e+00 0 -4 -1 +2216 1 0.0000000000000000e+00 3.4709688534169523e+00 5.0515817848845561e+00 1.3083870377175411e+00 -2 6 3 +442 1 0.0000000000000000e+00 3.2431440516423575e+00 5.2461907108855339e+00 1.6593823164928716e+00 -9 3 2 +1035 1 0.0000000000000000e+00 3.2938382183020662e+00 5.6433573785432776e+00 4.3682648090423509e-01 6 -1 2 +1557 1 0.0000000000000000e+00 3.5958887719283945e+00 5.8409297910925089e+00 1.5241282192736743e+00 -3 5 -4 +1893 1 0.0000000000000000e+00 4.8142028059106696e+00 6.4919555731132741e+00 1.5492737424801473e+00 -2 8 -2 +1806 1 0.0000000000000000e+00 2.9961164064831829e+00 5.2885270582247870e+00 2.3300893561582838e+00 0 -4 0 +863 1 0.0000000000000000e+00 3.2047271257693701e+00 5.6892957818997179e+00 2.2999439153143775e+00 0 8 -3 +1383 1 0.0000000000000000e+00 4.2367079221650084e+00 5.2317409683735123e+00 8.3757918795473740e-01 4 -4 4 +2667 1 0.0000000000000000e+00 4.5055877266423803e+00 5.0317406706125647e+00 2.4141168056936735e+00 1 -4 1 +2829 2 -1.0000000000000000e+00 7.1684142468664802e-01 8.9658949335115192e+00 1.1655901493877867e+00 1 -1 0 +2832 2 -1.0000000000000000e+00 8.8827903651423346e-01 9.8251432542802277e+00 2.4830601362910039e+00 -2 -6 6 +893 1 0.0000000000000000e+00 1.0766495189371705e+00 7.5303605490691821e+00 6.3194249905783872e-01 10 2 1 +2564 1 0.0000000000000000e+00 4.4986193581431178e-01 9.8039877066338068e+00 1.1639404604819239e+00 -5 0 1 +1965 1 0.0000000000000000e+00 1.9030478701058581e-01 7.8506927049825741e+00 1.6321864493727452e+00 0 6 3 +630 1 0.0000000000000000e+00 2.3673953399341738e+00 7.7877760678512002e+00 1.1394484297520071e+00 4 2 6 +2910 3 1.0000000000000000e+00 1.6641060024933338e-01 9.5490824847579159e+00 2.3883056815780024e-01 1 -5 2 +2525 1 0.0000000000000000e+00 1.4905688914049670e-01 8.1612235993900306e+00 2.3776479929414256e+00 5 -2 3 +393 1 0.0000000000000000e+00 1.3423895912057018e+00 9.3168162266872354e+00 2.2166461719643236e+00 -4 2 3 +671 1 0.0000000000000000e+00 4.8364916625904880e-01 9.8113817670993306e+00 1.7958899746052492e+00 1 0 -1 +2087 1 0.0000000000000000e+00 7.5155575939963604e-01 7.5628917267868161e+00 2.4271059204585779e+00 3 -7 6 +63 1 0.0000000000000000e+00 1.3436211264892308e+00 8.2965788934627458e+00 6.4785037114610000e-01 5 2 -2 +1380 1 0.0000000000000000e+00 9.7413257606612058e-01 8.9983190546430460e+00 1.8353127289909654e+00 3 -2 8 +1156 1 0.0000000000000000e+00 3.7435168423228166e-01 8.0367741738677587e+00 1.6656983556089933e-01 -3 -4 -1 +2788 1 0.0000000000000000e+00 1.3850590760386381e+00 9.0744407464509678e+00 2.2502538345129566e-01 -3 -5 1 +14 1 0.0000000000000000e+00 1.1016010401628220e+00 9.1611895016595426e+00 4.2895574145770182e-01 -10 -3 6 +1991 1 0.0000000000000000e+00 2.4157072783539233e+00 7.6445989720983034e+00 1.4073667993282027e-01 2 -4 4 +2407 1 0.0000000000000000e+00 2.4747107747449322e+00 9.1314669112173164e+00 2.1381592719883677e+00 2 -8 -3 +65 1 0.0000000000000000e+00 1.3731950128574462e+00 9.7424978363220163e+00 1.7962802783426541e+00 4 0 -3 +58 1 0.0000000000000000e+00 1.4513622889572015e+00 8.0405669507162560e+00 2.0766969763262069e-01 0 1 -1 +1958 1 0.0000000000000000e+00 3.9064711214569914e-01 8.1335391458929784e+00 9.2016092150550155e-01 -1 6 -1 +1791 1 0.0000000000000000e+00 1.9427742631054592e+00 8.3806280383458560e+00 1.8917028674447287e+00 0 -2 2 +1560 1 0.0000000000000000e+00 2.1610138559803937e+00 8.6918955177413313e+00 1.3721334461755452e+00 2 -7 -1 +2947 3 1.0000000000000000e+00 1.8425532582367838e+00 9.2625550889770079e+00 1.3658058203997894e+00 -1 1 -3 +729 1 0.0000000000000000e+00 2.0364483918759335e+00 9.1504080419919731e+00 2.9457646005255578e-01 3 -5 -3 +2360 1 0.0000000000000000e+00 2.1369586513691501e+00 9.6300471197627875e+00 4.4164725318320830e-01 9 -1 3 +1671 1 0.0000000000000000e+00 7.5874135403495291e-01 7.6445108395897936e+00 1.7359945379925135e+00 6 -2 2 +1369 1 0.0000000000000000e+00 9.5386662398665489e-01 8.3847092975440276e+00 1.3656750634507653e+00 -2 0 -2 +880 1 0.0000000000000000e+00 9.3313107725592237e-01 7.6903083314484721e+00 1.1302021447718107e+00 -5 0 -3 +2457 1 0.0000000000000000e+00 9.8397604177409059e-02 7.6640932286424803e+00 3.5845811898093777e-01 9 -5 -2 +249 1 0.0000000000000000e+00 1.9058521329803549e-01 8.9194512015468206e+00 1.2512921445208872e-01 1 2 1 +2566 1 0.0000000000000000e+00 1.4831355368964616e+00 7.6212895931915465e+00 1.0869220016367274e+00 -3 -2 -5 +2322 1 0.0000000000000000e+00 3.1068383687428830e-01 9.1222774478850308e+00 2.2571713402077074e+00 8 -2 10 +2035 1 0.0000000000000000e+00 2.0272941767482315e+00 7.9957102771601374e+00 2.2331845770667158e+00 0 0 0 +1269 1 0.0000000000000000e+00 5.7941243776856333e-01 9.2897724176562484e+00 6.4969189520776216e-01 2 4 0 +2579 1 0.0000000000000000e+00 1.9659620028495004e+00 8.2429613602439531e+00 5.7582078067759623e-01 -6 1 -3 +851 1 0.0000000000000000e+00 9.7330294797841255e-01 8.3385367528258261e+00 2.2296454635410479e+00 1 3 0 +1347 1 0.0000000000000000e+00 2.4272682565381767e+00 9.6434596649109352e+00 1.7902151648780615e+00 1 5 -4 +1728 1 0.0000000000000000e+00 7.2547250367335370e-01 8.3134239213150352e+00 4.6746681518201927e-01 -2 4 6 +2081 1 0.0000000000000000e+00 1.2360698918189099e+00 8.2572832706717403e+00 1.8520224323755219e+00 2 3 -1 +2616 1 0.0000000000000000e+00 4.3393155058532272e-02 8.1252803934007520e+00 8.8708715597564392e-01 -1 3 -3 +371 1 0.0000000000000000e+00 1.4922738076164059e+00 7.6445718010577846e+00 1.8506638618921758e+00 3 4 0 +988 1 0.0000000000000000e+00 2.1318373308446228e+00 9.7775470478320106e+00 1.2889099051008774e+00 -6 0 2 +2671 1 0.0000000000000000e+00 4.4875014129467550e-01 8.9493617056126880e+00 1.5149581765539524e+00 -3 -1 0 +2374 1 0.0000000000000000e+00 1.9160275922623291e+00 8.5840058504562737e+00 1.1923845019446699e+00 -2 -3 1 +2156 1 0.0000000000000000e+00 1.9099451116753094e+00 8.4275251523387595e+00 2.4586527771207347e+00 4 1 4 +2982 3 1.0000000000000000e+00 1.6574048008273083e+00 9.8915733534989450e+00 4.7621578160282746e-01 1 -4 8 +1567 1 0.0000000000000000e+00 1.5887727181431421e+00 9.6012472487106457e+00 9.0565589697181947e-01 -11 -2 1 +836 1 0.0000000000000000e+00 1.1720551786798401e+00 8.7192091293655629e+00 2.4761699017472889e+00 -7 -1 5 +2554 1 0.0000000000000000e+00 4.5615868270741897e+00 9.1212983573337816e+00 1.0414296537320082e+00 7 -3 0 +259 1 0.0000000000000000e+00 3.3395063842606576e+00 8.0102867191927114e+00 1.2021729085388142e+00 1 3 2 +2580 1 0.0000000000000000e+00 4.1173779396949373e+00 9.0495020873248944e+00 1.2880103522261352e+00 0 2 4 +691 1 0.0000000000000000e+00 3.7146811918827587e+00 9.8819408991621440e+00 2.2410995689755455e+00 3 -2 -2 +1483 1 0.0000000000000000e+00 3.8669968618643038e+00 8.8215616407832584e+00 1.9984802548264484e+00 1 -1 -1 +985 1 0.0000000000000000e+00 2.6362121339812341e+00 7.8533498706790645e+00 1.7130659452234303e+00 2 -2 6 +571 1 0.0000000000000000e+00 4.1401552848068697e+00 9.2887397122745696e+00 2.2324285322355800e-01 -2 3 1 +2977 3 1.0000000000000000e+00 2.6058368417555600e+00 9.9851625023154984e+00 3.1935954938779448e-01 -2 -3 7 +2922 3 1.0000000000000000e+00 3.3148728826732610e+00 9.0559016694206935e+00 1.2520395033112772e+00 0 2 2 +1549 1 0.0000000000000000e+00 4.8011502116338498e+00 8.1194953494671402e+00 7.3361076579314388e-01 -3 -1 3 +2219 1 0.0000000000000000e+00 4.3417203679711527e+00 8.4358094538814967e+00 1.6861358805979270e+00 -4 9 1 +2512 1 0.0000000000000000e+00 4.7602745807883080e+00 8.9451020762361360e+00 1.3204109141043325e+00 2 5 -3 +1355 1 0.0000000000000000e+00 4.1537291483938876e+00 8.3755187605069352e+00 2.0444079143435316e+00 3 -5 -1 +1763 1 0.0000000000000000e+00 2.7854939686825788e+00 8.7684803299042411e+00 1.8056918545333918e+00 -1 -2 -4 +1164 1 0.0000000000000000e+00 3.1437713000094254e+00 9.4600643151433932e+00 4.2407331908439705e-01 4 -8 -1 +2707 1 0.0000000000000000e+00 4.7085837175725800e+00 9.8129004234997854e+00 2.2840444535664499e+00 0 -2 -2 +2197 1 0.0000000000000000e+00 3.2288203676733214e+00 9.3030630794932474e+00 1.7872012478167298e+00 -2 -3 -1 +1772 1 0.0000000000000000e+00 2.7836860137431718e+00 9.6731602860320116e+00 2.2719376423111557e+00 -1 -5 -1 +1106 1 0.0000000000000000e+00 4.6588677713755429e+00 9.6362764755683159e+00 5.3010629646584795e-01 1 9 3 +1015 1 0.0000000000000000e+00 3.8656930000459071e+00 9.4575663161841241e+00 2.0974210614515054e+00 1 0 0 +2878 2 -1.0000000000000000e+00 3.2370778581306610e+00 8.8405595309450629e+00 2.3361189286717936e+00 -3 1 -2 +1279 1 0.0000000000000000e+00 4.8947395654096342e+00 7.8005408077621832e+00 1.3383668467360452e+00 1 3 6 +805 1 0.0000000000000000e+00 4.5083090839517723e+00 9.8617641806115621e+00 1.5396333998801293e+00 0 5 -9 +1252 1 0.0000000000000000e+00 4.2338360507947206e+00 8.3678589785646604e+00 8.8692223169180362e-01 5 -2 3 +2751 1 0.0000000000000000e+00 4.9657269465200295e+00 8.9477917759514156e+00 1.9122624340660486e+00 -2 1 7 +426 1 0.0000000000000000e+00 2.9868804991119804e+00 9.6935563461603103e+00 1.2853399757308133e+00 -4 -4 0 +1957 1 0.0000000000000000e+00 4.9103876142257228e+00 8.7714140688254219e+00 2.3368414416243771e-01 -6 -2 -1 +1800 1 0.0000000000000000e+00 3.5008648988366047e+00 8.0910033818813041e+00 4.2512009163262254e-01 1 2 1 +1611 1 0.0000000000000000e+00 2.8072128213352752e+00 9.9949679795148239e+00 8.1740277541997819e-01 4 -7 5 +655 1 0.0000000000000000e+00 4.6857563400459510e+00 8.2113380839031489e+00 2.2888514999171012e+00 4 4 2 +2837 2 -1.0000000000000000e+00 3.9228222263109807e+00 8.6374846832346517e+00 3.9212702522346221e-01 -8 -1 -3 +813 1 0.0000000000000000e+00 3.5394494264793535e+00 7.5735566154793901e+00 1.8896658096693510e+00 -2 -1 6 +923 1 0.0000000000000000e+00 2.7668522549656109e+00 8.2889140395950811e+00 2.1420168743215440e+00 3 2 0 +715 1 0.0000000000000000e+00 2.6749328422465957e+00 9.1806341596789096e+00 1.1295273150104488e+00 -5 -3 -2 +1211 1 0.0000000000000000e+00 4.6237142944531122e+00 9.1524937954956052e+00 3.2716414384994758e-02 -5 -4 4 +2993 3 1.0000000000000000e+00 3.7937869088723275e+00 9.7577514388408222e+00 1.1934926159747004e+00 -5 2 4 +2520 1 0.0000000000000000e+00 2.7608863297341397e+00 7.5112023726368164e+00 9.2851016655524898e-01 3 -9 5 +904 1 0.0000000000000000e+00 3.3365676691514450e+00 8.0428227705554320e+00 6.7910570801500614e-01 0 -4 10 +680 1 0.0000000000000000e+00 3.0254510187230048e+00 8.6714233590368757e+00 6.8101130053745906e-01 2 3 3 +2185 1 0.0000000000000000e+00 4.8803874131344331e+00 9.0797167387576323e+00 2.4513260659819207e+00 -1 2 3 +679 1 0.0000000000000000e+00 2.8206471315394372e+00 8.6779694026272640e+00 2.1992803034871425e-01 2 -1 5 +1084 1 0.0000000000000000e+00 3.3530021760611972e+00 9.0032156387865250e+00 7.2394009553248040e-01 -1 2 1 +2479 1 0.0000000000000000e+00 4.1548716116157776e+00 9.3695112283496513e+00 2.4766705787880290e+00 -5 3 1 +1450 1 0.0000000000000000e+00 3.3396104708788013e+00 8.3678526814456085e+00 1.8521842525310444e+00 -3 -3 -2 +1062 1 0.0000000000000000e+00 2.6673443593991095e+00 7.8040723897223057e+00 2.2123982258614787e+00 1 -5 1 +265 1 0.0000000000000000e+00 3.9029055067072136e+00 7.9252031441723796e+00 1.5759075604569153e+00 3 0 2 +294 1 0.0000000000000000e+00 2.6229189638768213e+00 7.9897294615114118e+00 4.5711210864438795e-01 0 -5 3 +2013 1 0.0000000000000000e+00 4.5320167942197109e+00 9.9567417286469784e+00 1.1988783017168105e+00 3 9 2 +2967 3 1.0000000000000000e+00 4.4858840971351199e+00 8.0681163771316413e+00 8.2543086263696497e-02 5 -1 -3 +710 1 0.0000000000000000e+00 1.3805821307903716e+00 5.9559554000576238e+00 3.8006595418446980e+00 -4 6 9 +60 1 0.0000000000000000e+00 1.7564547175664194e-01 6.3329898326641549e+00 4.7353107525647182e+00 -1 -4 0 +1736 1 0.0000000000000000e+00 1.5694714094207745e+00 5.2656995359571166e+00 4.3631958613706336e+00 -3 -1 6 +224 1 0.0000000000000000e+00 1.7574493997558955e+00 6.5935948787339189e+00 4.1296649475976634e+00 1 4 -5 +1876 1 0.0000000000000000e+00 1.7473927866604781e+00 6.1579941388221133e+00 4.4487565075212805e+00 -1 2 2 +2237 1 0.0000000000000000e+00 2.1676228384249754e+00 7.0703219799167085e+00 4.5068153307169503e+00 1 3 0 +626 1 0.0000000000000000e+00 2.4053913015669703e+00 5.4871496157839248e+00 2.8992761248843912e+00 9 3 -6 +1147 1 0.0000000000000000e+00 1.2907437648034259e+00 5.8111666040364662e+00 3.2060750717077857e+00 0 6 0 +607 1 0.0000000000000000e+00 1.6408748709923624e+00 5.6724348594391900e+00 3.5584301725169718e+00 4 3 0 +2720 1 0.0000000000000000e+00 8.9784055425966958e-01 5.7679727106276211e+00 2.9275162434446731e+00 2 1 3 +2010 1 0.0000000000000000e+00 1.0550180845500506e-01 6.9049922206182943e+00 2.7233265314177584e+00 3 2 3 +1021 1 0.0000000000000000e+00 7.3817110798544505e-01 6.6813980279159555e+00 2.6627216903760274e+00 -1 -6 4 +713 1 0.0000000000000000e+00 2.1572134940053527e+00 6.3474618619105323e+00 3.3584639418152875e+00 -5 -2 -3 +2063 1 0.0000000000000000e+00 1.4598114857593187e+00 6.9912526280906819e+00 3.0727552618923255e+00 7 3 0 +2455 1 0.0000000000000000e+00 1.2954201634642430e+00 7.3009579242250444e+00 3.4196773613105411e+00 4 1 -5 +2051 1 0.0000000000000000e+00 9.0264325298686288e-01 6.9713776057458690e+00 4.0839063908745326e+00 -8 -10 2 +43 1 0.0000000000000000e+00 2.2281455366590217e+00 6.3603876738902301e+00 3.8386188039284521e+00 8 -2 3 +92 1 0.0000000000000000e+00 3.4891444639434710e-01 6.9208205879228784e+00 4.8029049914138460e+00 -4 10 4 +2270 1 0.0000000000000000e+00 1.3194812641016126e-01 5.4119240862717763e+00 3.4051167350775340e+00 -2 -1 7 +2242 1 0.0000000000000000e+00 9.5390394420942015e-01 7.1783864767498722e+00 4.7892968702806362e+00 -2 6 -2 +1710 1 0.0000000000000000e+00 7.5401733692010975e-01 6.3745158784686309e+00 3.6925820505381828e+00 -1 3 -1 +77 1 0.0000000000000000e+00 2.0672902671699327e+00 5.7628372897149358e+00 2.6677508543933071e+00 1 2 -6 +2574 1 0.0000000000000000e+00 5.1718911640230958e-01 7.1924125028560244e+00 3.0822729471190082e+00 -5 -3 -2 +716 1 0.0000000000000000e+00 8.4855310035185638e-01 6.2130510235560719e+00 4.4968295462676355e+00 -3 -3 -2 +2333 1 0.0000000000000000e+00 9.7717893309633397e-01 6.5834375152932800e+00 3.2894403692428216e+00 11 -7 -3 +143 1 0.0000000000000000e+00 2.1410696812617411e+00 6.8148869993550676e+00 4.9675111148356059e+00 0 2 -4 +1172 1 0.0000000000000000e+00 1.9397198744131896e+00 5.7496830734147251e+00 4.3972057811678580e+00 4 -3 1 +1263 1 0.0000000000000000e+00 1.3029570235198771e+00 6.4351504619270274e+00 3.1678400205263877e+00 -1 7 5 +1430 1 0.0000000000000000e+00 2.4545926224291104e+00 5.6047151057823630e+00 3.3098985634971889e+00 -4 -1 -3 +1669 1 0.0000000000000000e+00 2.4077662579406862e+00 5.7060911965727898e+00 4.7813090336107047e+00 2 0 -2 +1712 1 0.0000000000000000e+00 9.5158514597254107e-02 5.6915395328467131e+00 2.5963321643690844e+00 4 -4 3 +2641 1 0.0000000000000000e+00 4.3767004076513405e-01 5.6553384198770091e+00 4.0185405566269958e+00 2 2 -1 +2920 3 1.0000000000000000e+00 2.2592051448931740e+00 5.7548264597774681e+00 3.8515574608119518e+00 -7 5 1 +214 1 0.0000000000000000e+00 2.0765548503069873e+00 7.3612929436616543e+00 3.3201275359132376e+00 -3 -4 2 +347 1 0.0000000000000000e+00 5.2012101143927264e-02 6.8551114401218349e+00 3.6207398888572122e+00 -7 4 2 +2293 1 0.0000000000000000e+00 4.6225681112945499e-01 5.0134200763364483e+00 3.0618443120868579e+00 -2 3 -4 +2133 1 0.0000000000000000e+00 1.7867795335713039e+00 6.9678219184179024e+00 3.6116306792445818e+00 3 1 4 +1181 1 0.0000000000000000e+00 1.4255433245095872e+00 6.9967970523368086e+00 4.4460167244184108e+00 2 -6 -4 +1768 1 0.0000000000000000e+00 4.6972174617259099e-01 7.1024984837629592e+00 4.4950793380757332e+00 -2 -4 -2 +1615 1 0.0000000000000000e+00 1.2025908409679533e+00 5.1051516511252695e+00 3.4502876139238738e+00 0 -2 1 +2629 1 0.0000000000000000e+00 3.5516402501465860e-01 5.5962407285249531e+00 3.0534855699610977e+00 -2 -1 6 +1581 1 0.0000000000000000e+00 1.1671433452930307e+00 5.3932007124859780e+00 4.9457242131160886e+00 6 -3 1 +2228 1 0.0000000000000000e+00 8.9091716734683168e-01 5.6429594057458212e+00 4.2911720422358295e+00 2 4 3 +2777 1 0.0000000000000000e+00 2.8987305497266114e-01 5.9441413876422260e+00 4.3494923404851376e+00 1 3 7 +1440 1 0.0000000000000000e+00 1.1132556173630093e-01 6.3116234738952501e+00 4.3081648779966741e+00 -2 -13 -6 +1080 1 0.0000000000000000e+00 6.1531095824118864e-03 6.0467383932483383e+00 2.8944581195104711e+00 -2 -1 1 +432 1 0.0000000000000000e+00 4.0942684810497108e+00 6.7333026902426054e+00 2.8714600410856943e+00 -2 0 -8 +1039 1 0.0000000000000000e+00 4.8425701340380956e+00 7.2474745448055522e+00 3.0881879802164081e+00 2 -1 -1 +1737 1 0.0000000000000000e+00 4.2817296439568500e+00 7.3361091151323619e+00 3.4042694861606364e+00 -3 1 -4 +1487 1 0.0000000000000000e+00 3.8908743654454270e+00 6.7697472012639128e+00 4.7282317189555920e+00 -2 0 0 +1174 1 0.0000000000000000e+00 2.5349287296595646e+00 5.2442392270535239e+00 4.0300610211935739e+00 -5 -1 -2 +1924 1 0.0000000000000000e+00 3.6302284248893537e+00 7.1594172797499116e+00 4.4830623126739360e+00 -2 0 4 +1060 1 0.0000000000000000e+00 3.7647386430855407e+00 6.5857529532417214e+00 3.8573245173794883e+00 0 -1 1 +1405 1 0.0000000000000000e+00 4.0044470871620144e+00 5.0962630847086539e+00 4.3831623058023919e+00 -7 2 0 +1363 1 0.0000000000000000e+00 3.4972258531728704e+00 6.7943434629244646e+00 2.5004882109776361e+00 2 -1 0 +2046 1 0.0000000000000000e+00 4.8406490861206439e+00 6.4334153945954355e+00 3.1575589364683880e+00 -2 0 0 +1034 1 0.0000000000000000e+00 3.5816745544214381e+00 7.3128096415793422e+00 3.4927664221952175e+00 2 3 -8 +2349 1 0.0000000000000000e+00 4.4492759141590241e+00 6.5194524671367287e+00 4.8828114582839586e+00 -2 1 0 +2844 2 -1.0000000000000000e+00 3.5199268278696256e+00 5.9956469108232477e+00 4.2205451714380802e+00 -2 0 0 +2493 1 0.0000000000000000e+00 4.8792654737121062e+00 6.1751944682710436e+00 4.0157287048970103e+00 -1 -1 6 +2294 1 0.0000000000000000e+00 4.9820266203454722e+00 5.3647138893522346e+00 3.4876702628769403e+00 -5 -2 -6 +2210 1 0.0000000000000000e+00 3.1841515889346366e+00 5.3909054143699446e+00 4.7759768829124587e+00 0 1 -4 +700 1 0.0000000000000000e+00 4.6062440116855079e+00 7.0829091062319396e+00 3.9297167573150613e+00 -1 2 0 +860 1 0.0000000000000000e+00 3.3240498586062870e+00 5.1366900757049025e+00 3.7809087737871732e+00 -6 -2 -3 +2907 3 1.0000000000000000e+00 3.0942603670905693e+00 5.0772646071873231e+00 4.2623570377040938e+00 4 -3 4 +620 1 0.0000000000000000e+00 4.0597449906434484e+00 5.2620318123451746e+00 3.5032054688112320e+00 -4 -1 -6 +1256 1 0.0000000000000000e+00 4.2664640939616048e+00 6.4712741735424508e+00 4.0760922730307803e+00 4 2 2 +270 1 0.0000000000000000e+00 2.5010762377913949e+00 6.9456788092078900e+00 2.9967322987534040e+00 5 5 -5 +2592 1 0.0000000000000000e+00 3.1899848582261465e+00 5.5744415407787811e+00 3.3700020370119064e+00 1 1 -4 +1936 1 0.0000000000000000e+00 4.9334325001832591e+00 7.2956538424212773e+00 4.1174001962236337e+00 7 -4 2 +2521 1 0.0000000000000000e+00 4.8897808306223460e+00 5.4677316624306211e+00 4.1627344683830154e+00 -2 -5 1 +1983 1 0.0000000000000000e+00 2.7176109179544223e+00 6.5258928639019631e+00 2.5614604617932768e+00 -6 3 1 +322 1 0.0000000000000000e+00 3.9607400426490802e+00 5.1337595649622596e+00 2.9730950236981313e+00 -3 1 -4 +2059 1 0.0000000000000000e+00 4.2845072898269274e+00 5.9828318081050593e+00 4.6997441000891609e+00 2 6 2 +1553 1 0.0000000000000000e+00 4.1881343113991836e+00 6.3666294713351981e+00 2.7809188077076707e+00 -1 -4 -1 +965 1 0.0000000000000000e+00 4.2556714809031204e+00 7.2480442119501500e+00 4.4157894881848510e+00 0 -7 0 +527 1 0.0000000000000000e+00 2.9105084055267540e+00 5.7957628181024887e+00 4.2339283057431318e+00 -6 -2 9 +2839 2 -1.0000000000000000e+00 2.7774514730918689e+00 6.3905352268688427e+00 4.4271675543262150e+00 -1 2 -1 +1695 1 0.0000000000000000e+00 3.1565932624027631e+00 6.5287167868056217e+00 3.0336722684554256e+00 1 1 3 +640 1 0.0000000000000000e+00 4.8838917926678658e+00 5.5307695053119197e+00 2.7075859246539120e+00 -4 3 0 +1667 1 0.0000000000000000e+00 2.8268806911277258e+00 6.4575525331171812e+00 3.7941481540463693e+00 -1 0 -4 +2038 1 0.0000000000000000e+00 3.5295359709453740e+00 6.4501283420738735e+00 4.9416949988631984e+00 6 -2 -3 +2835 2 -1.0000000000000000e+00 3.4934442577228548e+00 6.0728885002516426e+00 3.1682045426097760e+00 6 -4 2 +1115 1 0.0000000000000000e+00 3.9149774465151808e+00 6.2457716012992543e+00 3.4794360744187833e+00 -5 -2 3 +2456 1 0.0000000000000000e+00 4.5387688907685382e+00 5.7860463890164402e+00 3.3130115502463808e+00 -4 5 0 +376 1 0.0000000000000000e+00 2.6208461804939387e+00 6.3530362557370177e+00 4.9781808159161773e+00 0 -2 -1 +164 1 0.0000000000000000e+00 2.9750355633930003e+00 6.8920868993299305e+00 4.5202526057190546e+00 -2 -1 3 +905 1 0.0000000000000000e+00 2.6705981552448388e+00 7.0568071843715900e+00 3.8072589146332732e+00 0 0 -1 +1222 1 0.0000000000000000e+00 3.9040945890387380e+00 5.3060922354693307e+00 3.7282152255045551e+00 -3 0 -7 +2940 3 1.0000000000000000e+00 3.4010440363920238e+00 7.0122555591491746e+00 3.9841504339873541e+00 -7 0 -5 +1128 1 0.0000000000000000e+00 2.5770526107020624e+00 5.1484686202485559e+00 3.1641020522218666e+00 -3 -3 -3 +1879 1 0.0000000000000000e+00 4.1833882311659796e+00 5.6795057910332023e+00 4.1633519486354347e+00 -6 2 7 +1595 1 0.0000000000000000e+00 4.0423027717961668e+00 7.0408789179351201e+00 3.4388733973100818e+00 3 -1 -4 +2279 1 0.0000000000000000e+00 4.6641624317633807e+00 6.7059694605905955e+00 3.3306666610571658e+00 4 -4 -2 +1481 1 0.0000000000000000e+00 4.4733268638951502e+00 5.0082833389543806e+00 4.9334817263315127e+00 2 -1 3 +357 1 0.0000000000000000e+00 4.1442020199745482e+00 5.8371776080374316e+00 2.6111863743018402e+00 -2 4 5 +883 1 0.0000000000000000e+00 2.0645583453196865e+00 8.7510251691030749e+00 3.8191601304682896e+00 0 -6 8 +1225 1 0.0000000000000000e+00 5.2849463582565903e-01 7.9819855377621813e+00 2.7694675391798844e+00 -4 4 5 +2516 1 0.0000000000000000e+00 2.3340250299969459e-01 8.9800113908091177e+00 2.8080027064327311e+00 7 1 -5 +1116 1 0.0000000000000000e+00 1.1795739616703178e+00 8.6672238621223681e+00 4.6930637030877751e+00 -2 -3 -2 +78 1 0.0000000000000000e+00 2.2971970462370161e+00 9.7389287431622087e+00 3.5398925007583375e+00 -1 3 1 +2117 1 0.0000000000000000e+00 8.2780138101671219e-01 8.4672273603197219e+00 3.3461467120178598e+00 -5 -1 -6 +2393 1 0.0000000000000000e+00 5.0700337435144627e-01 9.4133298152053726e+00 3.8476629910095999e+00 6 1 3 +2758 1 0.0000000000000000e+00 5.6152509786525651e-01 9.2918853414255445e+00 3.4080869114014480e+00 4 0 -1 +2874 2 -1.0000000000000000e+00 2.4270349575934680e+00 9.6397661407193116e+00 3.0310159147202862e+00 3 -1 -4 +1087 1 0.0000000000000000e+00 2.1141901725557921e+00 8.2928239937540287e+00 3.2124022320996075e+00 2 2 -2 +2942 3 1.0000000000000000e+00 1.7013534120352811e+00 7.8923833629801212e+00 3.7502747047903360e+00 -1 -1 0 +1601 1 0.0000000000000000e+00 1.2668568702882652e+00 9.0936914727867695e+00 2.7687318325503587e+00 -1 -1 2 +2785 1 0.0000000000000000e+00 1.4642098828705072e+00 8.9495188333878630e+00 3.8706400330184665e+00 1 4 2 +2508 1 0.0000000000000000e+00 6.5525353149168275e-01 8.6470460544401408e+00 4.0994323309836522e+00 3 5 0 +2565 1 0.0000000000000000e+00 1.4225715861721044e+00 9.4926329460626206e+00 3.5889208715947993e+00 -3 5 -1 +932 1 0.0000000000000000e+00 2.4577989716299533e+00 7.7077151259818688e+00 3.9945968848799707e+00 -4 6 1 +2838 2 -1.0000000000000000e+00 8.6774744819248095e-01 9.9373366464704826e+00 3.3565128884807707e+00 -3 5 2 +769 1 0.0000000000000000e+00 1.9273912173225927e+00 9.4123463780336234e+00 4.6739564544081142e+00 -2 -5 -4 +1376 1 0.0000000000000000e+00 1.6839101935112335e+00 7.9884423948283274e+00 2.6205179242095951e+00 11 -7 5 +2639 1 0.0000000000000000e+00 1.9422960151831943e+00 8.5088552093812133e+00 4.3824399457193968e+00 4 -5 3 +1190 1 0.0000000000000000e+00 1.2863637831679964e+00 9.2756423483044319e+00 3.0972515573244270e+00 -3 0 4 +2822 2 -1.0000000000000000e+00 6.0203953101096908e-01 7.7681305757402779e+00 4.5752960214873557e+00 0 -3 -5 +913 1 0.0000000000000000e+00 1.2014940102346177e+00 7.8453742671267772e+00 2.7597458971121323e+00 0 -3 4 +1756 1 0.0000000000000000e+00 3.5601715325750780e-02 9.9142517792387252e+00 4.2750942755830943e+00 2 -1 -3 +409 1 0.0000000000000000e+00 3.2169156519080833e-01 8.0691728312121302e+00 4.1272738210506708e+00 -2 3 1 +1431 1 0.0000000000000000e+00 9.0931872096328470e-01 7.6127944798328793e+00 4.1310112432630737e+00 -4 3 4 +175 1 0.0000000000000000e+00 1.5075592349286220e+00 7.7175130632562121e+00 4.3140499809608608e+00 3 -1 0 +180 1 0.0000000000000000e+00 1.2666024678519248e+00 8.3101521352760557e+00 4.0903836076187163e+00 5 6 -1 +1594 1 0.0000000000000000e+00 1.6709194966577243e+00 8.9272849178335303e+00 4.9970352065485715e+00 -8 4 -2 +311 1 0.0000000000000000e+00 1.5983827340730057e+00 8.5596907452432056e+00 3.3668348873754748e+00 4 -6 -2 +1941 1 0.0000000000000000e+00 2.4733001751348471e+00 8.6188776861680179e+00 4.0915567979603154e+00 -1 1 -3 +1613 1 0.0000000000000000e+00 9.7871791809952730e-02 8.9233511051894627e+00 4.3101302050217489e+00 -1 -3 -3 +1250 1 0.0000000000000000e+00 2.0687344276258468e+00 9.3877156630624210e+00 4.4494360782864772e+00 -2 3 11 +431 1 0.0000000000000000e+00 3.9057469742695555e-01 8.2552775097036992e+00 3.5694387647944290e+00 -2 1 -3 +2214 1 0.0000000000000000e+00 7.4307786743403070e-01 7.7278553537359587e+00 3.6711831066183178e+00 -1 3 1 +1703 1 0.0000000000000000e+00 2.1077269902075002e-01 7.6955804687853355e+00 3.4249666135307915e+00 5 0 2 +1625 1 0.0000000000000000e+00 3.9015034691855432e-01 9.4015761599320573e+00 4.5236781007320301e+00 3 2 1 +827 1 0.0000000000000000e+00 1.7943751313355432e+00 7.7881107421693683e+00 4.6948677924887585e+00 -5 -4 -4 +1605 1 0.0000000000000000e+00 3.5613703199875002e-01 8.1404058983619869e+00 4.8676141043081325e+00 -5 -5 -2 +1007 1 0.0000000000000000e+00 2.3221592055734619e+00 9.3924723729544848e+00 3.9134211590847188e+00 3 -1 -5 +2060 1 0.0000000000000000e+00 2.1209743370188532e+00 9.1033023046846129e+00 2.9213361987983970e+00 -2 5 -2 +2884 2 -1.0000000000000000e+00 2.0944473739806275e+00 7.9230187539996866e+00 3.2470261032659806e+00 -1 8 -3 +1059 1 0.0000000000000000e+00 2.2627075573125466e+00 7.5743450753370238e+00 4.7052821070753055e+00 -4 -1 3 +389 1 0.0000000000000000e+00 2.0974557151087794e+00 9.7807512742058069e+00 2.6402305859735344e+00 3 2 4 +831 1 0.0000000000000000e+00 1.3343103181596694e+00 9.4231665176473243e+00 4.2681329479057482e+00 2 -1 5 +2906 3 1.0000000000000000e+00 4.3902689951818594e+00 9.1022371285884933e+00 4.7433166396101853e+00 4 1 -4 +1517 1 0.0000000000000000e+00 4.3126450920281529e+00 9.7032737063289431e+00 3.3470823733383601e+00 0 3 -1 +807 1 0.0000000000000000e+00 4.9571798592183942e+00 8.5072576683629677e+00 3.3466909113356622e+00 7 -3 -3 +858 1 0.0000000000000000e+00 3.4471609055789902e+00 9.7203109350299215e+00 3.3344737912551023e+00 6 1 -1 +2171 1 0.0000000000000000e+00 4.2463868326197298e+00 9.9379740005657666e+00 2.5915080724165294e+00 1 -4 0 +2168 1 0.0000000000000000e+00 3.1991319137220273e+00 8.1076265213254626e+00 3.0842270604926907e+00 4 0 3 +656 1 0.0000000000000000e+00 2.9434268380157529e+00 8.9955857733742590e+00 3.8860485073802820e+00 8 -8 1 +415 1 0.0000000000000000e+00 3.5995243470292149e+00 8.0215021138401834e+00 2.5486277973162035e+00 -3 3 4 +1977 1 0.0000000000000000e+00 3.9414796901221183e+00 8.2692468480654480e+00 3.7404955578094095e+00 2 -4 3 +2475 1 0.0000000000000000e+00 3.4334111912219227e+00 8.1015111420938499e+00 4.5084384482781106e+00 -4 -6 0 +2865 2 -1.0000000000000000e+00 3.7393215307391445e+00 7.9364132817854101e+00 3.5540520977398096e+00 0 -3 2 +815 1 0.0000000000000000e+00 4.5327608139058162e+00 8.1863049476764900e+00 4.1161448828027956e+00 -1 0 -3 +1267 1 0.0000000000000000e+00 4.3390794403787609e+00 9.7290551924926145e+00 4.1588906095153568e+00 1 2 -6 +978 1 0.0000000000000000e+00 4.0293776013632270e+00 7.7422440329906461e+00 3.0067960097336930e+00 -2 1 3 +1323 1 0.0000000000000000e+00 4.5164910149107431e+00 9.1323590963917898e+00 2.9604731837881690e+00 -7 1 5 +940 1 0.0000000000000000e+00 2.5728473028383996e+00 7.6451937722112584e+00 2.8625711618482730e+00 5 1 7 +2398 1 0.0000000000000000e+00 3.0153832455279663e+00 9.2595924861004182e+00 3.7500871471755448e+00 1 -3 -2 +226 1 0.0000000000000000e+00 3.2265435191160852e+00 8.7285186617831663e+00 4.8474806613915629e+00 5 -1 -2 +2190 1 0.0000000000000000e+00 3.0500948491095414e+00 7.5589408238240967e+00 4.2726206789028600e+00 0 1 -1 +95 1 0.0000000000000000e+00 2.6378513065894666e+00 9.2773433260404641e+00 4.9218538704587314e+00 1 -5 -3 +1604 1 0.0000000000000000e+00 3.9931524410441841e+00 9.1391020330961155e+00 2.9756484545644883e+00 2 -2 0 +126 1 0.0000000000000000e+00 3.2184035283835026e+00 8.5335140674283512e+00 3.2224075632201705e+00 -2 0 4 +838 1 0.0000000000000000e+00 2.6109087170448046e+00 8.4128690490927340e+00 4.2841716601336532e+00 5 0 1 +1904 1 0.0000000000000000e+00 3.7728358142287841e+00 8.9724979564415523e+00 3.5226221399980644e+00 -5 0 6 +2074 1 0.0000000000000000e+00 3.0147722810793507e+00 9.0036307255230916e+00 2.9401899041877382e+00 1 -4 3 +1470 1 0.0000000000000000e+00 4.5777370519767180e+00 8.1207940074809812e+00 4.8493168598348300e+00 3 -2 1 +2147 1 0.0000000000000000e+00 2.5868044250185358e+00 8.6844222014239048e+00 2.7196765730552075e+00 -3 1 2 +2067 1 0.0000000000000000e+00 3.1342986783496949e+00 8.3956317856376828e+00 3.8635743392449631e+00 -2 4 1 +1515 1 0.0000000000000000e+00 4.6643442724476838e+00 9.4907989863537399e+00 3.8298890712237696e+00 4 -4 -5 +2632 1 0.0000000000000000e+00 2.9585765613021695e+00 9.4298510733208438e+00 4.4628146030907967e+00 5 1 0 +264 1 0.0000000000000000e+00 3.5631996277847970e+00 8.7559603017703935e+00 4.1366664963129498e+00 3 1 -3 +1551 1 0.0000000000000000e+00 2.6446743011265150e+00 8.9612222061629918e+00 3.2373677733317097e+00 -4 1 3 +1419 1 0.0000000000000000e+00 3.9024552613430830e+00 7.6610348974377409e+00 4.4522482836104462e+00 0 0 2 +522 1 0.0000000000000000e+00 4.5576665574477087e+00 8.8076568113812463e+00 3.6352085485567529e+00 -2 0 -11 +994 1 0.0000000000000000e+00 4.6052873418993805e+00 8.7338229251730990e+00 4.5711915115095056e+00 -2 0 1 +1711 1 0.0000000000000000e+00 4.0304536046103481e+00 8.4096409045601259e+00 2.9265660330164609e+00 -5 0 -4 +1296 1 0.0000000000000000e+00 4.3971739552681477e+00 8.4062867476385428e+00 3.0410128559597522e+00 2 2 6 +2199 1 0.0000000000000000e+00 3.5072670462302193e+00 7.5008857279568240e+00 2.9064942002405978e+00 -3 -7 0 +1292 1 0.0000000000000000e+00 3.6497372591912867e+00 9.5361845437258470e+00 4.7603528189004747e+00 5 -2 0 +1723 1 0.0000000000000000e+00 3.8517258673470280e+00 9.7417935381216960e+00 3.2398453659482258e+00 6 -2 -2 +2705 1 0.0000000000000000e+00 3.9703776500687198e+00 8.4496485675375563e+00 4.9079951462229898e+00 3 3 -2 +32 1 0.0000000000000000e+00 3.0255633342541035e+00 7.6223285970775603e+00 3.8457692348979924e+00 2 -1 1 +565 1 0.0000000000000000e+00 3.5963915038692873e+00 9.6387876594795063e+00 3.9544847182370595e+00 2 -3 0 +995 1 0.0000000000000000e+00 3.2572128583616573e+00 9.9161953023940264e+00 2.7948659171201293e+00 5 0 5 +2309 1 0.0000000000000000e+00 2.7308736407646585e+00 7.8432553514954479e+00 4.9739203896053930e+00 -1 5 3 +1137 1 0.0000000000000000e+00 6.6671599509218499e-02 7.3528841066748276e+00 7.2630696947888609e+00 -2 1 -6 +672 1 0.0000000000000000e+00 1.8906956972949669e+00 6.0839474107788289e+00 6.6710675279185718e+00 10 -1 4 +1626 1 0.0000000000000000e+00 4.0167664017828419e-01 7.2945685228542656e+00 5.7295119043445766e+00 5 1 -7 +1138 1 0.0000000000000000e+00 2.4560074117911062e+00 7.4611619212476921e+00 7.1106304840063643e+00 -2 -1 -1 +942 1 0.0000000000000000e+00 2.0806946522915166e+00 6.1215927834770216e+00 5.5472506590368154e+00 3 1 4 +1161 1 0.0000000000000000e+00 1.2565662702457079e+00 6.3353424120415083e+00 5.9203398266493625e+00 0 4 -4 +1641 1 0.0000000000000000e+00 1.2578628008428212e+00 7.4969208534424085e+00 6.5581607935056834e+00 -1 -3 1 +503 1 0.0000000000000000e+00 1.6163365744043345e+00 6.3858858711019444e+00 5.1184215536821238e+00 1 4 -2 +87 1 0.0000000000000000e+00 6.4395178597922820e-01 7.2699612080845464e+00 5.5281979287334559e+00 8 2 5 +1071 1 0.0000000000000000e+00 2.3402250005616825e+00 7.3966065995981465e+00 6.5894115597464697e+00 0 -1 -1 +1913 1 0.0000000000000000e+00 2.6431992206960297e-01 5.6179350398082297e+00 6.7442560082782084e+00 6 4 1 +1125 1 0.0000000000000000e+00 1.6152653315472720e+00 6.0315826877160985e+00 7.2179856578346255e+00 3 2 1 +460 1 0.0000000000000000e+00 1.8602798579087136e+00 6.8594523334896627e+00 5.9122239314448803e+00 0 -2 5 +2557 1 0.0000000000000000e+00 1.8826333061461957e+00 6.7854172749611283e+00 7.1821206724000612e+00 -5 8 0 +1180 1 0.0000000000000000e+00 1.1080189995213439e+00 6.4105736141667879e+00 5.2587011057315296e+00 3 5 3 +801 1 0.0000000000000000e+00 2.0855277329144140e-01 6.0307218436946259e+00 7.3383663772218863e+00 0 5 3 +1204 1 0.0000000000000000e+00 5.6538148051974380e-01 6.8106878186977653e+00 6.8443519298664830e+00 2 4 -7 +2903 3 1.0000000000000000e+00 7.7693527432693288e-01 7.3568095887927365e+00 6.1199791040619802e+00 4 5 -1 +2072 1 0.0000000000000000e+00 1.4377238840264130e+00 5.1406168866237172e+00 6.0276973087326127e+00 4 -2 4 +1224 1 0.0000000000000000e+00 1.5065234512153827e+00 6.9293784823737790e+00 6.4253450146118141e+00 -8 -3 5 +1548 1 0.0000000000000000e+00 1.3995136776128665e+00 7.0561060226749737e+00 5.2753696426493502e+00 -1 -5 -2 +1861 1 0.0000000000000000e+00 1.9200629673390095e+00 5.3759680964703973e+00 5.2353134045880587e+00 3 5 1 +753 1 0.0000000000000000e+00 7.0870582677164196e-01 5.6555006624760606e+00 5.1365429837599912e+00 -4 2 0 +2992 3 1.0000000000000000e+00 1.5440344602750267e+00 5.4863347303883891e+00 6.0982305193786113e+00 -5 3 0 +2779 1 0.0000000000000000e+00 2.4200164018565840e+00 6.6206011285075776e+00 6.2690851357919080e+00 -1 -6 3 +1158 1 0.0000000000000000e+00 1.8522248466357571e+00 5.6860483677622904e+00 5.7032152931561040e+00 -1 -3 -5 +1198 1 0.0000000000000000e+00 2.3625948870452840e+00 5.9864153230337429e+00 6.8767133688132613e+00 1 3 5 +2648 1 0.0000000000000000e+00 2.3308823507640009e+00 5.5935736633656932e+00 6.5595768808473487e+00 4 1 2 +1152 1 0.0000000000000000e+00 2.1004771101570361e+00 7.3233976662478852e+00 6.3134963487263311e+00 1 4 -2 +594 1 0.0000000000000000e+00 1.0786821983962009e+00 6.3477189417363498e+00 7.0965088885249266e+00 -5 1 -1 +1679 1 0.0000000000000000e+00 6.0814140460900779e-01 5.4090757497124473e+00 5.7720476464115711e+00 2 0 5 +1901 1 0.0000000000000000e+00 7.1145096718069512e-01 5.7546567548049801e+00 6.1368035560031071e+00 0 1 5 +1930 1 0.0000000000000000e+00 2.5121168812285344e-01 5.9392216384098848e+00 5.5244399914502695e+00 -1 -9 2 +1248 1 0.0000000000000000e+00 1.1844668352517678e+00 5.1547287144234506e+00 7.1123956728039532e+00 3 -2 -3 +2120 1 0.0000000000000000e+00 1.0815663184600650e+00 6.8847098730710012e+00 7.4362999994548105e+00 -3 -1 3 +38 1 0.0000000000000000e+00 1.2023217273596238e+00 5.6785013379220421e+00 5.4314840842460326e+00 -1 -2 -3 +2590 1 0.0000000000000000e+00 5.9987570387524491e-01 6.4628980438419772e+00 5.8612611902292473e+00 -1 3 -4 +2888 2 -1.0000000000000000e+00 7.6268874103098505e-01 7.1692517655276733e+00 6.6547774292973232e+00 -1 0 -3 +2221 1 0.0000000000000000e+00 2.2850529304453424e+00 6.5771979042484352e+00 5.3277555283096625e+00 -6 1 -8 +514 1 0.0000000000000000e+00 1.1256695476899392e+00 6.0365160930057602e+00 6.6628201722073150e+00 -2 2 -3 +169 1 0.0000000000000000e+00 1.9919426545451342e+00 5.1593714680734140e+00 7.1115598552720085e+00 -3 1 2 +1377 1 0.0000000000000000e+00 1.6927423273221314e+00 5.3062332472293710e+00 6.6490169577432292e+00 0 -6 4 +752 1 0.0000000000000000e+00 7.6464188135271594e-01 6.3737401066553243e+00 6.3825486233052828e+00 0 0 -1 +1463 1 0.0000000000000000e+00 1.8402401549714738e+00 5.0157233238652879e+00 5.4296768826399742e+00 1 -3 0 +610 1 0.0000000000000000e+00 2.7299427670332372e+00 6.2027621278195380e+00 7.2803541209923104e+00 3 -5 -4 +699 1 0.0000000000000000e+00 2.9912199489888396e+00 5.8399020527819250e+00 5.4455786820396286e+00 2 -4 2 +1833 1 0.0000000000000000e+00 3.3368773176068318e+00 5.5578690882276982e+00 7.3847623700598355e+00 8 -3 0 +645 1 0.0000000000000000e+00 2.8665360731279907e+00 5.1696012780229399e+00 6.5369178530533008e+00 -4 -2 0 +469 1 0.0000000000000000e+00 3.2946904211335264e+00 5.0389399721974453e+00 6.1274553245483059e+00 -5 7 -5 +2543 1 0.0000000000000000e+00 4.9451776298779979e+00 7.1619953898964930e+00 5.0894863104873265e+00 7 1 -1 +2876 2 -1.0000000000000000e+00 3.9625596058814376e+00 6.5124077394787987e+00 5.4196229956218369e+00 7 0 0 +2061 1 0.0000000000000000e+00 3.3244474502463395e+00 5.6812594122408813e+00 5.9806172098050752e+00 -8 7 0 +332 1 0.0000000000000000e+00 4.6125312677323427e+00 7.4465513413300490e+00 5.0879714712844413e+00 -1 0 0 +346 1 0.0000000000000000e+00 4.5608543328765476e+00 7.0364984120513592e+00 7.2297299037601013e+00 -9 2 -6 +281 1 0.0000000000000000e+00 3.8359913673616304e+00 5.0865186774945972e+00 6.8090661954975600e+00 2 6 0 +412 1 0.0000000000000000e+00 4.7497560124725346e+00 6.3896012712628494e+00 6.0327450808597440e+00 -1 7 1 +818 1 0.0000000000000000e+00 3.0786043728747448e+00 6.1178504730235197e+00 6.4649959805936676e+00 5 0 -1 +1477 1 0.0000000000000000e+00 2.6643284544003940e+00 5.9959789646884349e+00 6.0578692720320797e+00 -4 -3 2 +2674 1 0.0000000000000000e+00 3.8757715873427561e+00 7.3143681448668989e+00 5.7765488900388497e+00 4 -2 -1 +57 1 0.0000000000000000e+00 4.0145855600531091e+00 6.0819232436462745e+00 5.6546870961366373e+00 -3 -2 5 +305 1 0.0000000000000000e+00 4.6234123746040128e+00 6.3878608677364621e+00 6.4140551830701087e+00 2 1 1 +1160 1 0.0000000000000000e+00 4.4827876999442742e+00 5.8568340345603298e+00 5.1689784498071791e+00 -1 -4 -7 +2959 3 1.0000000000000000e+00 4.0147500711397601e+00 6.1790186873103474e+00 6.0096531807784910e+00 -1 2 -3 +1554 1 0.0000000000000000e+00 2.9372326114022735e+00 6.6452802327179734e+00 6.9375610624451651e+00 1 -4 4 +2232 1 0.0000000000000000e+00 3.3569021398633541e+00 5.8889855573762766e+00 6.7013510792864057e+00 1 0 -2 +397 1 0.0000000000000000e+00 3.4155079315889405e+00 6.9550623674425331e+00 6.0189153059347635e+00 10 2 3 +1684 1 0.0000000000000000e+00 4.3307334712925725e+00 7.4682354609827959e+00 6.0018255669692655e+00 0 -8 -4 +1955 1 0.0000000000000000e+00 4.8826220771444317e+00 5.0491804133161944e+00 6.2070498609389873e+00 3 3 0 +667 1 0.0000000000000000e+00 3.6262574620674703e+00 6.6493528716513941e+00 6.7914135360770285e+00 -6 6 1 +584 1 0.0000000000000000e+00 3.4946863846062484e+00 6.9860722223160110e+00 5.1414009791176545e+00 -9 1 0 +1663 1 0.0000000000000000e+00 2.7722552754752372e+00 6.3918753339447347e+00 5.7455120773776613e+00 1 -3 4 +2313 1 0.0000000000000000e+00 4.7940945985417223e+00 5.3295454047255042e+00 7.0652244897627741e+00 -2 1 4 +1008 1 0.0000000000000000e+00 2.6073585437686795e+00 7.2609744685564506e+00 5.5805701497045712e+00 2 2 2 +558 1 0.0000000000000000e+00 3.0279781046224086e+00 7.2494186322069547e+00 6.9573811343923770e+00 2 -5 4 +1850 1 0.0000000000000000e+00 4.8026335247213314e+00 7.4861716049133458e+00 6.4745690458054153e+00 4 1 -2 +580 1 0.0000000000000000e+00 2.6415298352593792e+00 5.2622141861436997e+00 5.6907259965031880e+00 -4 4 3 +651 1 0.0000000000000000e+00 3.7677472609942462e+00 5.5887875859725975e+00 7.3327624161832921e+00 -5 1 1 +66 1 0.0000000000000000e+00 4.7977302772142920e+00 6.8950185953204395e+00 6.5118571174658930e+00 0 -4 3 +2022 1 0.0000000000000000e+00 3.4701913505991593e+00 5.5065628990752691e+00 5.3515167069073861e+00 -4 -6 0 +2158 1 0.0000000000000000e+00 3.9460296125941272e+00 6.3880606686722645e+00 6.7923864515689161e+00 0 3 6 +2233 1 0.0000000000000000e+00 4.0927519367964997e+00 7.1070113299938793e+00 7.1511610483706285e+00 4 2 3 +2015 1 0.0000000000000000e+00 4.2501589303990661e+00 5.9104431447206034e+00 7.4234941884859111e+00 8 -7 3 +1716 1 0.0000000000000000e+00 4.5184809127409906e+00 5.5436434346492058e+00 5.8378462448485031e+00 5 -5 -2 +2275 1 0.0000000000000000e+00 4.8431941942468804e+00 6.3021160074795084e+00 7.2245516932931242e+00 3 3 2 +536 1 0.0000000000000000e+00 3.4248352480470357e+00 6.4410300406499079e+00 6.0218124703108806e+00 -4 1 7 +528 1 0.0000000000000000e+00 3.9183141029040707e+00 7.0344457420779820e+00 6.5222365606515496e+00 1 1 2 +300 1 0.0000000000000000e+00 4.2876669463276240e+00 6.9847063089205719e+00 5.8492888030833781e+00 -3 1 7 +907 1 0.0000000000000000e+00 4.5275192017467054e+00 5.8219148543848247e+00 6.5177270534616527e+00 0 3 -7 +2760 1 0.0000000000000000e+00 3.9400712709469334e+00 5.7293804994525956e+00 5.1003136578229196e+00 1 -1 3 +912 1 0.0000000000000000e+00 3.8042356143291043e+00 5.7407947654271041e+00 6.2662608677359657e+00 0 -4 -2 +364 1 0.0000000000000000e+00 4.9902879047847142e+00 6.2682783778459052e+00 5.3952534485963017e+00 4 0 0 +2209 1 0.0000000000000000e+00 1.2969952520647032e+00 9.3649092215495955e+00 6.9435369592929161e+00 -3 -2 3 +1630 1 0.0000000000000000e+00 1.6349628443954329e+00 8.0109402851600837e+00 6.7648587438031926e+00 2 -2 2 +2380 1 0.0000000000000000e+00 8.7182076646311613e-02 8.5756026547085131e+00 6.8013080983105114e+00 4 -5 0 +2754 1 0.0000000000000000e+00 7.8159532454503933e-01 8.0371618696896654e+00 5.8896492601586932e+00 5 2 0 +234 1 0.0000000000000000e+00 2.0960218639468930e+00 8.2377374357479596e+00 6.7686416164578986e+00 3 -4 0 +350 1 0.0000000000000000e+00 1.5186507381704137e-01 9.4440246871596614e+00 5.1334438215450344e+00 0 -9 2 +739 1 0.0000000000000000e+00 2.4711275069921639e+00 9.0385012154647040e+00 6.3185617225388215e+00 9 -2 1 +1614 1 0.0000000000000000e+00 1.7640400754159852e-01 8.6422493510070097e+00 5.0335928315277494e+00 2 6 -5 +2530 1 0.0000000000000000e+00 1.7570428525672710e+00 9.8765179764213133e+00 6.5143958031709861e+00 -1 3 -2 +2988 3 1.0000000000000000e+00 7.4316326470335270e-01 8.9664759215367233e+00 5.3943834446297858e+00 6 4 0 +89 1 0.0000000000000000e+00 6.0420261250334639e-01 7.6851976261898631e+00 7.0751115078776152e+00 -7 -5 8 +213 1 0.0000000000000000e+00 1.2934225718715882e+00 9.4618456967112525e+00 6.0889235767388508e+00 1 -1 2 +564 1 0.0000000000000000e+00 4.8039438949206842e-01 9.3818517210542165e+00 6.4355895758254222e+00 -2 -1 1 +1519 1 0.0000000000000000e+00 1.9580444515178363e+00 7.6663875058903637e+00 5.7135785126531395e+00 0 4 -2 +1895 1 0.0000000000000000e+00 4.8177826257051670e-01 9.9741308624009442e+00 6.9109096088429069e+00 -2 2 -3 +1282 1 0.0000000000000000e+00 1.2652840380838939e-01 7.9698672629439118e+00 6.2365511444307042e+00 5 2 5 +1435 1 0.0000000000000000e+00 1.0567411931400881e+00 9.5176984737043462e+00 5.0369493817738231e+00 7 -4 -2 +1647 1 0.0000000000000000e+00 1.6609365874636732e+00 8.3588963324649779e+00 5.7722167455894136e+00 -2 0 -3 +1272 1 0.0000000000000000e+00 1.4300408789987449e+00 9.0059950744458988e+00 5.9842771302666842e+00 1 5 -1 +2050 1 0.0000000000000000e+00 6.4363588406458228e-01 8.0305482938609405e+00 5.7463827358369706e+00 -1 -2 1 +2523 1 0.0000000000000000e+00 2.4441578634296395e+00 9.6201429177889271e+00 6.1857378908477463e+00 -6 -3 3 +1831 1 0.0000000000000000e+00 2.1586889692552513e+00 9.8552380996975977e+00 6.9838151326624667e+00 -2 3 -2 +1232 1 0.0000000000000000e+00 3.3670710192195707e-01 9.2246703241156887e+00 6.6295485367013507e+00 3 -3 3 +2790 1 0.0000000000000000e+00 2.3538651955376846e+00 8.2072238478751167e+00 5.1292082691802152e+00 0 1 -1 +2522 1 0.0000000000000000e+00 1.3183512278049909e+00 8.3339211955747690e+00 6.5949052671418409e+00 -1 2 1 +1479 1 0.0000000000000000e+00 1.7360842101784471e+00 9.0011353711290774e+00 6.3705948169308035e+00 2 4 0 +2610 1 0.0000000000000000e+00 4.7671513895691076e-01 9.8330559090487846e+00 6.0896725527803506e+00 7 3 0 +2140 1 0.0000000000000000e+00 1.5448629333031170e+00 7.5201734596175136e+00 7.2394304371352893e+00 -3 1 -1 +2649 1 0.0000000000000000e+00 1.4948717106413072e+00 7.5041485076597754e+00 5.4390780442242397e+00 2 -3 2 +936 1 0.0000000000000000e+00 6.9812491530072762e-01 7.6507695147692623e+00 5.1404242299081551e+00 -4 0 -2 +845 1 0.0000000000000000e+00 7.6357528838296485e-01 8.7320532080445457e+00 6.5446514315173605e+00 4 2 0 +1403 1 0.0000000000000000e+00 6.9574449025029672e-01 8.3857048774086849e+00 7.1930215679716714e+00 -2 2 -7 +2852 2 -1.0000000000000000e+00 1.9644930383206380e+00 9.6385076986605007e+00 5.4339922223233321e+00 6 1 -5 +780 1 0.0000000000000000e+00 2.2365586171755578e+00 8.7826850051716967e+00 5.3490574639181219e+00 9 2 -5 +2495 1 0.0000000000000000e+00 2.3296119169969187e+00 8.4145528693039484e+00 6.0737128557460514e+00 0 -1 -3 +1656 1 0.0000000000000000e+00 1.0119405666149874e+00 9.8743151910109166e+00 6.9139028347778044e+00 4 0 6 +2613 1 0.0000000000000000e+00 7.7017759897560012e-01 8.8979018660342479e+00 5.8857954841453068e+00 0 2 10 +161 1 0.0000000000000000e+00 8.1362818669274573e-01 7.5357448509838356e+00 7.4919803495936863e+00 3 -6 -1 +1512 1 0.0000000000000000e+00 1.4722682077133529e+00 8.4029275600313671e+00 5.4267988887893948e+00 -1 -3 0 +1342 1 0.0000000000000000e+00 6.9173325312261846e-01 9.4530905311535474e+00 7.3883196392384480e+00 1 -1 3 +266 1 0.0000000000000000e+00 2.3085231231027090e+00 9.1259571360450789e+00 6.8497860676769076e+00 -4 -3 -3 +2016 1 0.0000000000000000e+00 1.6068642008136180e-02 9.4701265631202354e+00 5.7699003276226986e+00 4 -2 -2 +2285 1 0.0000000000000000e+00 1.1768709335891994e+00 8.1632140703419935e+00 5.0084638036098434e+00 0 1 -2 +1518 1 0.0000000000000000e+00 3.7697768540376648e+00 8.1538771493577844e+00 5.3401663269987525e+00 7 -6 -3 +833 1 0.0000000000000000e+00 3.3839051312183206e+00 9.8170547704780873e+00 5.5261606828720105e+00 1 1 0 +1665 1 0.0000000000000000e+00 4.5783292621155169e+00 9.6899421227265972e+00 6.4675327612092595e+00 -2 4 3 +2235 1 0.0000000000000000e+00 4.5984006553948165e+00 9.1344191900781588e+00 5.7682806532430773e+00 -2 -3 2 +933 1 0.0000000000000000e+00 4.5646891881512763e+00 8.7820150288057430e+00 6.0251438961476254e+00 -2 6 0 +1490 1 0.0000000000000000e+00 3.0787450732578181e+00 9.0308108045571878e+00 5.8339854014425070e+00 -3 -1 -6 +929 1 0.0000000000000000e+00 4.3462517835741776e+00 8.3074608079392238e+00 7.1772604614455213e+00 2 -1 0 +2170 1 0.0000000000000000e+00 3.5525379016321814e+00 9.7138498874153996e+00 5.7961115037002777e+00 -3 6 -3 +382 1 0.0000000000000000e+00 4.3022108949270237e+00 9.4881420932506160e+00 6.7301770019398361e+00 9 -2 1 +901 1 0.0000000000000000e+00 4.5810728582526190e+00 8.5230570247141006e+00 5.0679182660124447e+00 -2 2 1 +2698 1 0.0000000000000000e+00 2.9223172696371300e+00 9.7801013704172455e+00 6.7365855776396035e+00 -2 4 4 +692 1 0.0000000000000000e+00 4.6046673931647151e+00 7.9351199836855599e+00 7.0227547025604826e+00 1 -2 4 +1032 1 0.0000000000000000e+00 4.6267844903908806e+00 8.7396002200007317e+00 6.8385713171327174e+00 -5 6 -1 +2611 1 0.0000000000000000e+00 2.7638946849227044e+00 9.0465695002360462e+00 5.5951432952993265e+00 2 -3 -3 +45 1 0.0000000000000000e+00 3.7675166159258580e+00 7.6082622927992043e+00 7.2394909330768265e+00 -3 -5 -4 +707 1 0.0000000000000000e+00 2.8062628526608773e+00 8.5381837538340832e+00 7.0995142013602814e+00 3 -2 0 +110 1 0.0000000000000000e+00 3.1591527792364280e+00 8.6348032108572088e+00 5.0956499987642339e+00 9 -1 13 +2151 1 0.0000000000000000e+00 3.9751178585013403e+00 8.4150193989317863e+00 6.5384813849201686e+00 6 -2 -3 +1762 1 0.0000000000000000e+00 3.0981297666877334e+00 8.1496228046304111e+00 6.1821457914877529e+00 1 -5 -6 +1388 1 0.0000000000000000e+00 4.6717813016616754e+00 9.5591629950104444e+00 7.3149217093341123e+00 3 -2 -8 +2260 1 0.0000000000000000e+00 3.4439873963532053e+00 9.7903486015043093e+00 6.4452211783534841e+00 8 1 -4 +2135 1 0.0000000000000000e+00 3.6947194158397263e+00 9.9995356560699928e+00 7.0042299804737906e+00 -8 5 1 +1894 1 0.0000000000000000e+00 4.3215407815835940e+00 9.7236239743589277e+00 5.0244657608304797e+00 1 0 -1 +2389 1 0.0000000000000000e+00 4.0574441221701143e+00 8.2425633978619288e+00 5.7786103104046935e+00 -2 2 -7 +2572 1 0.0000000000000000e+00 3.6821383910587522e+00 7.7507418429025758e+00 5.1763545508421016e+00 8 -1 -1 +641 1 0.0000000000000000e+00 3.2941311336203856e+00 8.1327345257513972e+00 7.2811875598977327e+00 -5 -10 3 +167 1 0.0000000000000000e+00 3.7996017332490784e+00 8.9760412607477296e+00 6.5508660680448090e+00 2 -3 -1 +120 1 0.0000000000000000e+00 2.5590411152113441e+00 7.5544709336907383e+00 6.1875748452319126e+00 3 0 1 +1458 1 0.0000000000000000e+00 2.8018322385770364e+00 8.8725970713755125e+00 6.5030408316347987e+00 2 8 8 +337 1 0.0000000000000000e+00 2.7374787275383983e+00 9.8002503683561315e+00 5.9248063012772727e+00 -4 2 5 +1474 1 0.0000000000000000e+00 4.4695105269977375e+00 8.0252458082955922e+00 5.8875995387702655e+00 2 -3 -3 +797 1 0.0000000000000000e+00 2.6125293597636463e+00 9.9039940940559763e+00 5.2464965985719472e+00 -2 0 -4 +2391 1 0.0000000000000000e+00 3.9958821903320745e+00 9.0820385038865226e+00 5.4938819360112383e+00 0 0 1 +926 1 0.0000000000000000e+00 3.5041079941699893e+00 8.7707017864187584e+00 5.8387212658118095e+00 5 0 4 +1433 1 0.0000000000000000e+00 3.2412211311130639e+00 7.7845505526554719e+00 5.3256581111065735e+00 -3 5 5 +2858 2 -1.0000000000000000e+00 3.6358757704588132e+00 7.6341945993421882e+00 6.6341200996371184e+00 -3 1 3 +1817 1 0.0000000000000000e+00 3.5256012849107750e+00 9.6077650855601373e+00 6.9919256747406218e+00 2 0 -3 +2594 1 0.0000000000000000e+00 3.4919417238835564e+00 8.6464858918639553e+00 6.8045779480431765e+00 -4 -6 0 +1808 1 0.0000000000000000e+00 3.6901823485381131e+00 8.2427237104073576e+00 7.3850720609522016e+00 -2 -2 1 +2749 1 0.0000000000000000e+00 4.4445122136633222e+00 9.2049603975343235e+00 6.8110986756910501e+00 -7 -3 -4 +250 1 0.0000000000000000e+00 4.1082812003761209e+00 9.4316425255273373e+00 5.8775875968362445e+00 7 -1 -10 +975 1 0.0000000000000000e+00 3.3487681058423879e+00 7.5214909350295294e+00 5.8158393525967753e+00 -2 -3 3 +1830 1 0.0000000000000000e+00 1.0504446125325109e+00 7.4325773831440340e+00 9.7359283133591763e+00 -3 2 1 +1016 1 0.0000000000000000e+00 9.8712226523956581e-01 7.2468011169226543e+00 7.8674903152372400e+00 -1 4 -2 +2809 2 -1.0000000000000000e+00 3.5649704249426001e-01 5.1278068813684508e+00 8.7768073327666887e+00 3 -5 5 +980 1 0.0000000000000000e+00 2.2685686780238088e+00 6.7902090119846088e+00 8.6564428815880152e+00 -4 2 0 +1068 1 0.0000000000000000e+00 3.6918215595478626e-01 6.5059903741308380e+00 8.9723373710121450e+00 1 9 0 +2346 1 0.0000000000000000e+00 1.2883840574920571e+00 6.1924523738188784e+00 9.1687246691289470e+00 -4 1 0 +194 1 0.0000000000000000e+00 1.0470636548848300e+00 6.9893198671237773e+00 9.4425441189034043e+00 0 1 -2 +47 1 0.0000000000000000e+00 3.5826475268858321e-01 5.0352159720199827e+00 7.9599894590046336e+00 2 0 0 +330 1 0.0000000000000000e+00 9.1961129926615218e-02 6.6925571422642793e+00 8.4186027276009003e+00 7 -8 2 +1238 1 0.0000000000000000e+00 1.5878085091318304e+00 6.4750885338316717e+00 9.0641802658037118e+00 8 -2 0 +1332 1 0.0000000000000000e+00 2.4685466130037015e+00 5.3384081809278294e+00 9.7470210700464932e+00 5 -1 -5 +1448 1 0.0000000000000000e+00 2.2687356386563762e+00 6.6324833944840993e+00 7.6687304138843313e+00 3 3 -1 +2540 1 0.0000000000000000e+00 1.4128255167772161e+00 7.0387343830022697e+00 9.1794033890616902e+00 -5 -4 -2 +2089 1 0.0000000000000000e+00 1.7922949032908881e+00 5.6708723543166899e+00 9.9829343462362239e+00 1 -2 5 +356 1 0.0000000000000000e+00 2.3468354462337797e+00 6.4177152376921738e+00 9.0453934823481461e+00 0 1 7 +654 1 0.0000000000000000e+00 1.9329174659420125e+00 5.9119150565564684e+00 8.4524906898958267e+00 -3 3 0 +1851 1 0.0000000000000000e+00 1.7614793693389381e+00 6.4093723831204592e+00 7.6131594359904211e+00 -3 0 -4 +1872 1 0.0000000000000000e+00 4.6820662657330980e-02 7.0185599154779128e+00 9.0794829299077886e+00 2 -1 1 +218 1 0.0000000000000000e+00 7.8588752247469962e-01 5.7585456607871954e+00 8.5482186802402804e+00 4 0 -6 +1444 1 0.0000000000000000e+00 7.4299962955517940e-01 6.5236517235034093e+00 9.7220579374616580e+00 5 -3 0 +1027 1 0.0000000000000000e+00 1.4177017166685011e+00 5.7926067582374969e+00 8.1434709823764475e+00 1 0 4 +647 1 0.0000000000000000e+00 1.8131050678485536e+00 6.4389930093698933e+00 8.1183307869430745e+00 -1 -2 1 +1847 1 0.0000000000000000e+00 2.2567952819190364e+00 7.2244493422847844e+00 8.0814636910438349e+00 2 0 3 +788 1 0.0000000000000000e+00 4.0522932056050814e-01 6.3221694090780387e+00 8.0818079249641066e+00 0 3 0 +2961 3 1.0000000000000000e+00 1.3870427668696184e+00 6.4830609219007176e+00 8.4390214412706772e+00 -1 1 2 +1926 1 0.0000000000000000e+00 1.2620608045112107e+00 5.3374664297676766e+00 8.9140488855195148e+00 9 3 1 +1970 1 0.0000000000000000e+00 2.3004422043251065e+00 6.0048983036254162e+00 7.7393098498439379e+00 1 -5 0 +1556 1 0.0000000000000000e+00 1.0038032568596160e+00 5.8290659541509573e+00 7.5433860257938337e+00 -2 -7 2 +400 1 0.0000000000000000e+00 7.2923537052343568e-01 5.3357115232998433e+00 9.5721256727224091e+00 5 -6 -2 +391 1 0.0000000000000000e+00 1.8836517767756298e+00 6.7048558919803263e+00 9.8696139720276488e+00 0 -1 -1 +2651 1 0.0000000000000000e+00 7.4671604310708239e-01 5.7657836830320228e+00 9.5823443086035933e+00 -2 -10 -4 +328 1 0.0000000000000000e+00 8.7741575301915198e-01 6.4583491877351582e+00 7.6045498575080215e+00 -2 -3 3 +1130 1 0.0000000000000000e+00 1.9568881138492396e+00 5.5184483298732108e+00 9.2733189056402576e+00 -5 -7 -1 +1933 1 0.0000000000000000e+00 2.3943565971120635e+00 6.1821218300242915e+00 9.3092886334190599e+00 1 -3 1 +2053 1 0.0000000000000000e+00 1.9704755608260780e+00 5.1419082301623167e+00 7.9415720320098133e+00 -1 -1 7 +2505 1 0.0000000000000000e+00 7.3869440929761354e-01 6.3277029549570125e+00 8.6151209490848135e+00 1 -1 0 +1787 1 0.0000000000000000e+00 2.4792140102593709e+00 5.2024867796476988e+00 8.5606738272601319e+00 1 0 -10 +2843 2 -1.0000000000000000e+00 2.2829648903210260e+00 5.7735383478775262e+00 8.5016300992073308e+00 0 -1 2 +1545 1 0.0000000000000000e+00 2.1068678739666051e+00 7.1354839291301539e+00 9.6133707515316082e+00 -2 -6 4 +1761 1 0.0000000000000000e+00 1.8384214420767266e+00 5.4417602743842286e+00 9.0411726673208328e+00 1 1 1 +1725 1 0.0000000000000000e+00 4.3998674898179091e-01 7.0061516392800938e+00 8.5513986908465771e+00 4 0 2 +1454 1 0.0000000000000000e+00 2.1168497314059675e-01 6.4783643887866686e+00 7.8294061055526027e+00 2 10 1 +1210 1 0.0000000000000000e+00 1.8440308551063715e+00 7.4529715033085910e+00 7.9088559393011781e+00 3 -8 -1 +2587 1 0.0000000000000000e+00 3.9562572225596820e-01 5.6861265512959074e+00 8.3600952316184500e+00 -2 -1 -3 +2699 1 0.0000000000000000e+00 1.3882096498059389e+00 7.1489805519231364e+00 8.3368651567445600e+00 -5 -1 -2 +1157 1 0.0000000000000000e+00 9.3629573559587009e-01 7.3168573846765970e+00 8.4218449389330452e+00 2 2 6 +1633 1 0.0000000000000000e+00 1.0922778069026617e+00 5.3159645832857452e+00 7.6341049261096723e+00 2 4 -6 +604 1 0.0000000000000000e+00 5.6773637726908666e-01 7.4141984945245758e+00 9.5503742401398171e+00 -2 3 -5 +2617 1 0.0000000000000000e+00 1.7957350600457134e-01 5.6959959035736594e+00 7.6432848705377356e+00 -3 2 -4 +2693 1 0.0000000000000000e+00 1.1973120094989815e+00 5.1617728928972992e+00 8.4056451967614194e+00 6 -2 3 +2882 2 -1.0000000000000000e+00 1.9569709758312639e+00 5.9833472062552540e+00 9.8696505237967127e+00 2 -2 1 +1100 1 0.0000000000000000e+00 3.7738571749360306e+00 5.7961587018647069e+00 8.3707860001669196e+00 3 -2 -1 +2608 1 0.0000000000000000e+00 3.8426099210203479e+00 7.1682675544387147e+00 8.2865256787130175e+00 0 1 2 +2102 1 0.0000000000000000e+00 4.5541589289591480e+00 6.7437031066476116e+00 8.3900543272677215e+00 2 -6 5 +2282 1 0.0000000000000000e+00 3.0050501330681443e+00 5.4414002318008947e+00 8.0596170448292259e+00 3 3 -2 +2353 1 0.0000000000000000e+00 4.5582551270943830e+00 5.2384986044852866e+00 8.9266720074323125e+00 3 -5 -3 +2307 1 0.0000000000000000e+00 3.0442256900749123e+00 5.2998223203573662e+00 8.7502952130614737e+00 5 7 3 +1445 1 0.0000000000000000e+00 3.4653280379788476e+00 6.4450546452643440e+00 8.9369679242248843e+00 3 5 -4 +2664 1 0.0000000000000000e+00 2.7031119057714852e+00 5.0850412185493425e+00 7.8481958663023024e+00 4 -3 2 +1424 1 0.0000000000000000e+00 3.4202351722121125e+00 7.3418595764864900e+00 9.2870673389861249e+00 -1 -1 -1 +2054 1 0.0000000000000000e+00 3.8762232608643781e+00 6.1369801117747533e+00 9.2973402572898642e+00 -2 -2 -3 +2924 3 1.0000000000000000e+00 3.6004657127825670e+00 7.4392640450104199e+00 9.1216563818835663e+00 6 -7 2 +1468 1 0.0000000000000000e+00 3.3072449326155779e+00 6.7953398074026570e+00 7.6775111873141615e+00 -1 -2 2 +1674 1 0.0000000000000000e+00 4.7081557134659580e+00 5.5460727425016731e+00 8.2360344186470265e+00 -9 4 -5 +751 1 0.0000000000000000e+00 3.7479862249719984e+00 5.3364078237575034e+00 9.1220231175645257e+00 -1 -2 1 +2033 1 0.0000000000000000e+00 2.6336261319393093e+00 6.9049585473290636e+00 9.7250873691753092e+00 -3 -3 -1 +830 1 0.0000000000000000e+00 4.4474339429449774e+00 6.2425900846752125e+00 8.8440001552131999e+00 2 -1 -9 +1067 1 0.0000000000000000e+00 4.5830156120794969e+00 6.8784366537562898e+00 7.8661902114949678e+00 -5 0 7 +1009 1 0.0000000000000000e+00 4.4324985410080755e+00 6.0056984008018466e+00 7.9234021538255766e+00 -1 -2 -3 +2321 1 0.0000000000000000e+00 2.8168682736350688e+00 6.6824332711771683e+00 8.0688195902327848e+00 1 -7 3 +1741 1 0.0000000000000000e+00 3.2926131097951639e+00 7.4813907189230866e+00 8.5440088643371670e+00 3 3 3 +2609 1 0.0000000000000000e+00 3.0036702200762941e+00 5.9538719923446735e+00 9.0724998655462059e+00 0 3 3 +451 1 0.0000000000000000e+00 3.7974638381747674e+00 6.8759880266193960e+00 7.8385084618168408e+00 -2 3 2 +41 1 0.0000000000000000e+00 2.9910112413186805e+00 6.0417763603094841e+00 8.7380873673590784e+00 1 -4 -2 +1392 1 0.0000000000000000e+00 3.5111181868276136e+00 6.5188837744301926e+00 8.4587928940183481e+00 1 2 4 +3000 3 1.0000000000000000e+00 2.7434607638993609e+00 5.3241442401834300e+00 9.6097506117435998e+00 4 -3 2 +2762 1 0.0000000000000000e+00 3.8969093803963006e+00 5.1465084915644654e+00 7.9002543347147931e+00 1 3 0 +567 1 0.0000000000000000e+00 3.6160207899632821e+00 6.6262387292502165e+00 9.6523193578876540e+00 7 -5 -7 +338 1 0.0000000000000000e+00 4.6550422361024291e+00 6.3710876751881251e+00 9.5352945031930751e+00 2 1 3 +1335 1 0.0000000000000000e+00 2.8133790730241985e+00 5.8760814445213621e+00 9.8405184247290158e+00 7 2 3 +1001 1 0.0000000000000000e+00 4.2772928751297217e+00 6.2559648067494686e+00 9.6958757102803421e+00 6 -7 3 +681 1 0.0000000000000000e+00 3.9517449716984867e+00 6.1904978185300088e+00 8.1694201335320962e+00 4 -5 -3 +1288 1 0.0000000000000000e+00 3.3754059678470751e+00 5.8601641526483386e+00 9.6110172627940660e+00 -3 0 -5 +2802 1 0.0000000000000000e+00 4.4946340879871620e+00 6.9563650770136700e+00 9.0915448333550444e+00 1 5 3 +1720 1 0.0000000000000000e+00 3.0612666626615002e+00 6.8769868510738625e+00 8.6078303703525485e+00 1 -6 -3 +429 1 0.0000000000000000e+00 4.0456214173695582e+00 5.4289358377529711e+00 9.8383517543612520e+00 -3 0 2 +1785 1 0.0000000000000000e+00 2.8941793364319790e+00 6.3868709421910106e+00 9.8451221377209226e+00 3 0 -5 +1014 1 0.0000000000000000e+00 3.0409362550705947e+00 7.4807419310638084e+00 9.9352074796133429e+00 -5 -4 -3 +1922 1 0.0000000000000000e+00 2.6793618608513534e+00 7.0975461948476291e+00 8.9257033606546834e+00 4 -1 1 +1451 1 0.0000000000000000e+00 4.9906348099044218e+00 5.4312644590259849e+00 9.1750624253884574e+00 0 -4 -3 +2376 1 0.0000000000000000e+00 3.1747249884460418e+00 6.1982324157403177e+00 7.9683215046112696e+00 -6 1 1 +1631 1 0.0000000000000000e+00 4.5620116030997488e+00 5.1279356468791732e+00 7.8150396042730481e+00 -6 4 -2 +2440 1 0.0000000000000000e+00 4.7706110263809594e+00 7.1451708120416733e+00 9.6938191520292154e+00 -3 -3 -6 +1565 1 0.0000000000000000e+00 3.8845923721881479e+00 6.2609541041721508e+00 7.5956413430389702e+00 -3 4 0 +436 1 0.0000000000000000e+00 4.1342887661987335e+00 7.1610001686259546e+00 9.9755950909787181e+00 2 -2 0 +2726 1 0.0000000000000000e+00 2.8713855583654597e+00 7.2996618741370956e+00 7.7348339336208385e+00 -1 4 3 +1777 1 0.0000000000000000e+00 9.1977065986631856e-01 8.0807242432112254e+00 7.9486885544469628e+00 2 1 3 +2944 3 1.0000000000000000e+00 1.6279399698140447e+00 9.5371756882783156e+00 9.1946953328320422e+00 -2 2 -2 +2045 1 0.0000000000000000e+00 5.8604106784909038e-01 9.3593084467898819e+00 9.0610190355600757e+00 6 0 -3 +1302 1 0.0000000000000000e+00 4.8161471170021647e-01 8.8947703531628832e+00 9.7743834902237907e+00 -5 -4 -1 +1947 1 0.0000000000000000e+00 1.9892402341343529e+00 8.6073537686730077e+00 7.6105913743958880e+00 3 2 2 +1179 1 0.0000000000000000e+00 1.2196347924541615e+00 9.3527307787650837e+00 9.4581926402692531e+00 -5 4 -2 +1974 1 0.0000000000000000e+00 2.2729190329620744e-01 8.5624650577403685e+00 9.5771114094866530e+00 -1 2 -7 +2090 1 0.0000000000000000e+00 2.0738446299005828e-02 7.5115865630922691e+00 8.2049989093315308e+00 1 3 -1 +925 1 0.0000000000000000e+00 1.4809703029988495e+00 8.1565208315840003e+00 8.3597993711233549e+00 -1 0 0 +1937 1 0.0000000000000000e+00 6.0404344556707790e-01 7.9545850136477174e+00 8.9472323550678770e+00 -1 0 2 +1929 1 0.0000000000000000e+00 3.8204838337915653e-01 8.9065499366619143e+00 7.6002180134265194e+00 1 -2 0 +849 1 0.0000000000000000e+00 1.8034766522629355e+00 7.5342849154614671e+00 8.5447749594979321e+00 3 4 -5 +2864 2 -1.0000000000000000e+00 8.1865871152691572e-01 8.4238063509887429e+00 9.5721938870574288e+00 2 -4 -4 +2101 1 0.0000000000000000e+00 2.4724784945167828e+00 9.1136598706647067e+00 8.8085410024813289e+00 9 1 4 +170 1 0.0000000000000000e+00 2.1942920687785223e+00 8.8381883814001849e+00 8.4401946360286022e+00 -3 1 -2 +2740 1 0.0000000000000000e+00 2.8246037896406490e-01 9.5269684690547169e+00 8.5270272640417009e+00 4 -3 2 +961 1 0.0000000000000000e+00 2.0407797853475720e+00 8.2268776907844838e+00 8.6035726146736415e+00 -4 6 1 +990 1 0.0000000000000000e+00 1.5416678151795019e-01 9.3872114142489114e+00 8.6818997059882346e+00 -5 -7 0 +1781 1 0.0000000000000000e+00 1.5805480947876758e+00 8.6804374822536019e+00 9.2303598555066309e+00 1 -4 3 +2759 1 0.0000000000000000e+00 9.7380287654998110e-01 9.5784622490153648e+00 8.1113811757409433e+00 -2 -3 2 +2289 1 0.0000000000000000e+00 7.9581231691440235e-01 9.1345141384214408e+00 9.3223022839004308e+00 -1 0 -1 +576 1 0.0000000000000000e+00 1.3596905277946429e+00 8.7104350953773704e+00 8.7917414888606462e+00 -3 0 -3 +718 1 0.0000000000000000e+00 1.8086795898427239e+00 9.5874162707643098e+00 8.5440690654068501e+00 2 0 0 +1897 1 0.0000000000000000e+00 1.8440479803717060e+00 9.6333916602276304e+00 9.8130399611706327e+00 -4 -3 1 +125 1 0.0000000000000000e+00 6.2353764149130142e-01 8.9277020230323068e+00 8.0615844411772919e+00 5 1 0 +1793 1 0.0000000000000000e+00 3.0537246031229442e-01 8.5518344070323487e+00 8.9881333999781123e+00 5 5 -2 +2143 1 0.0000000000000000e+00 6.5429585989453509e-01 8.4428087613866794e+00 8.3407971252412505e+00 6 -4 1 +2509 1 0.0000000000000000e+00 2.0833065754411351e+00 9.5401102622810612e+00 7.7212554348338562e+00 1 1 2 +777 1 0.0000000000000000e+00 1.4698069407380046e+00 9.1746119471983860e+00 8.4144869210853415e+00 -1 -2 -3 +526 1 0.0000000000000000e+00 1.6329907017653285e+00 8.6278106229959484e+00 9.6614529000402065e+00 -3 -3 2 +1857 1 0.0000000000000000e+00 1.0985164691994220e+00 7.8569119893651012e+00 9.0916633140711856e+00 7 0 -10 +272 1 0.0000000000000000e+00 1.7377850889013642e+00 8.0056677861618226e+00 9.3788991272554156e+00 -2 2 -3 +596 1 0.0000000000000000e+00 2.2841174737173393e+00 8.8580009115739760e+00 9.7087111751015751e+00 0 -6 2 +34 1 0.0000000000000000e+00 2.5587994280236759e-01 9.6365807810752422e+00 7.5723281139552991e+00 0 -6 4 +2253 1 0.0000000000000000e+00 2.8472164820399432e-01 7.8299818390622971e+00 8.3384369310223523e+00 -1 3 -4 +2028 1 0.0000000000000000e+00 2.2633283783068596e+00 8.1719077543166261e+00 8.0087893672509729e+00 2 0 -3 +1624 1 0.0000000000000000e+00 6.1409763007390296e-02 7.8146643227628880e+00 7.8650557427583845e+00 4 -1 0 +2383 1 0.0000000000000000e+00 1.1494106524083270e+00 9.1659011010296663e+00 7.9273813122933241e+00 0 5 4 +2732 1 0.0000000000000000e+00 2.3041623421930169e+00 8.4328842151114998e+00 9.0790376869598024e+00 1 0 1 +2377 1 0.0000000000000000e+00 3.0765059106148801e-01 9.7741507926080047e+00 9.3776272707118640e+00 2 3 -1 +1552 1 0.0000000000000000e+00 2.2706436290699354e+00 7.5103469955871534e+00 8.7969214348809999e+00 1 -1 2 +717 1 0.0000000000000000e+00 1.5883859293215123e+00 9.9693174082174778e+00 9.9024905840994126e+00 4 -1 -9 +2030 1 0.0000000000000000e+00 2.4083871978474907e+00 7.9738365385613008e+00 7.5298881631002832e+00 -3 -4 -5 +784 1 0.0000000000000000e+00 8.3036651166716746e-01 9.9751026457589944e+00 7.9817500944999562e+00 4 -2 -5 +331 1 0.0000000000000000e+00 2.1128993830335658e+00 9.7242491841773777e+00 8.5266497490363715e+00 1 -2 2 +2724 1 0.0000000000000000e+00 1.2406253574295527e+00 8.5824530821643386e+00 7.5963979050715009e+00 6 4 1 +1528 1 0.0000000000000000e+00 1.5783708970917227e+00 8.7201441713754697e+00 7.5525736953911302e+00 -5 2 4 +206 1 0.0000000000000000e+00 3.9678515510514223e+00 9.6480822422220154e+00 9.3434171442758931e+00 5 1 -1 +2774 1 0.0000000000000000e+00 4.5538481052181536e+00 8.3442722835103549e+00 9.5627528802801063e+00 5 -6 -2 +1742 1 0.0000000000000000e+00 2.6171687830427630e+00 9.6876766333260633e+00 9.7085453459826851e+00 -7 1 1 +2531 1 0.0000000000000000e+00 3.1522563035953817e+00 8.0761193656759591e+00 9.9047365079504228e+00 0 8 -3 +481 1 0.0000000000000000e+00 3.3437286574883895e+00 9.2977721320591105e+00 7.9165270485205177e+00 1 1 2 +1886 1 0.0000000000000000e+00 3.7213698559744808e+00 8.1325612123534512e+00 9.5870525402351063e+00 2 3 -2 +2933 3 1.0000000000000000e+00 4.5094186502765705e+00 9.4829992731587396e+00 8.7637388831229117e+00 -1 4 1 +2166 1 0.0000000000000000e+00 4.1454166628699758e+00 7.8337161915089126e+00 9.4161325034494858e+00 2 -3 -5 +2840 2 -1.0000000000000000e+00 2.8097196445571817e+00 8.7678834392242475e+00 7.9288069903701288e+00 -3 1 -3 +1303 1 0.0000000000000000e+00 4.4290149083727055e+00 8.3265036649814430e+00 8.5508039498868307e+00 0 -2 1 +2243 1 0.0000000000000000e+00 4.6426668928455319e+00 9.0264635620237890e+00 8.0048332383336795e+00 6 -2 1 +1126 1 0.0000000000000000e+00 3.0910377561134403e+00 9.7298381462385173e+00 8.5655500812790617e+00 -1 1 4 +54 1 0.0000000000000000e+00 3.4238291354914590e+00 8.0185433023458366e+00 8.5486741991163395e+00 6 4 5 +490 1 0.0000000000000000e+00 4.7412961873110469e+00 9.7615573771249817e+00 9.7270530565187574e+00 -1 3 0 +246 1 0.0000000000000000e+00 4.2670226486928673e+00 7.6253534309097146e+00 8.0233046525733620e+00 -4 -4 6 +353 1 0.0000000000000000e+00 2.6439539419613811e+00 9.3051066509771054e+00 9.3516889043436002e+00 3 -6 2 +1686 1 0.0000000000000000e+00 2.5617581705296462e+00 9.4610902085317132e+00 8.2095379734667855e+00 7 -3 -6 +324 1 0.0000000000000000e+00 2.9204399229522160e+00 8.9617583615010599e+00 9.7159090068396345e+00 2 5 5 +119 1 0.0000000000000000e+00 3.5414552560315569e+00 9.1025258576267305e+00 9.6325144226294874e+00 2 -2 -2 +160 1 0.0000000000000000e+00 3.7683353554079879e+00 9.5423254578486620e+00 8.1281074142781318e+00 2 2 0 +2556 1 0.0000000000000000e+00 3.3187331736841390e+00 8.6448356531080268e+00 9.0762047946679552e+00 6 -4 1 +162 1 0.0000000000000000e+00 2.6573218417847562e+00 7.5914864398878468e+00 9.4161244077772235e+00 1 -1 -1 +1467 1 0.0000000000000000e+00 4.9152671031650881e+00 8.4971359053109694e+00 8.2452841830328865e+00 6 0 -5 +744 1 0.0000000000000000e+00 3.7718214895669306e+00 8.3135167771196361e+00 8.9357531516746320e+00 3 -2 -5 +1167 1 0.0000000000000000e+00 2.6911363098725691e+00 7.5593816688352780e+00 8.2857838061361271e+00 6 -1 0 +555 1 0.0000000000000000e+00 4.1865467567708308e+00 8.9151081000386121e+00 8.3831856183082465e+00 2 -5 3 +2250 1 0.0000000000000000e+00 4.9895521482234120e+00 9.7696563581452036e+00 9.0492947471323060e+00 1 -2 -7 +1818 1 0.0000000000000000e+00 3.4568550308792925e+00 7.7275502949928994e+00 7.9450660303152585e+00 1 4 -2 +1644 1 0.0000000000000000e+00 4.0791037249484576e+00 8.5081209314319022e+00 9.4087993834272066e+00 -8 -4 -3 +852 1 0.0000000000000000e+00 2.9711706283865387e+00 7.9949310931193507e+00 8.9619508083251009e+00 -3 -4 -2 +2361 1 0.0000000000000000e+00 2.8322417293867095e+00 8.2871611863627734e+00 7.7001533390246433e+00 6 2 1 +595 1 0.0000000000000000e+00 3.8429137911881868e+00 8.1787209388539317e+00 8.1281777514064864e+00 -1 3 -2 +445 1 0.0000000000000000e+00 2.6000336702548550e+00 8.2761641680417544e+00 9.5862873139231937e+00 1 1 -3 +2890 2 -1.0000000000000000e+00 3.1117007572582764e+00 8.9056476060233880e+00 8.7980829340990958e+00 3 0 -6 +1398 1 0.0000000000000000e+00 4.9711306890529308e+00 7.8525130723599030e+00 9.4955285952871940e+00 4 -1 -3 +1201 1 0.0000000000000000e+00 3.3374512857165111e+00 9.6563630480529419e+00 9.2057812398702232e+00 4 3 -1 +2471 1 0.0000000000000000e+00 3.7553782907630127e+00 8.8620423908807435e+00 7.6315883618171325e+00 0 -3 1 +767 1 0.0000000000000000e+00 2.5990215646975452e+00 8.6451158553815670e+00 8.6412086331172482e+00 -3 -1 4 +891 1 0.0000000000000000e+00 3.6067906832987346e+00 8.7316862750975162e+00 8.3930553111503201e+00 3 6 2 +1202 1 0.0000000000000000e+00 4.2480390299075586e+00 7.5971963243733738e+00 8.7840404611682210e+00 6 -2 1 +1478 1 0.0000000000000000e+00 3.9416103647892493e+00 9.3036076739335485e+00 9.2431987562737596e+00 3 2 4 +697 1 0.0000000000000000e+00 3.7546067974761623e+00 8.6410363226591400e+00 9.9417047016771747e+00 6 -2 -7 +1659 1 0.0000000000000000e+00 4.7696739977827880e+00 7.8099920712360724e+00 7.9563121246376944e+00 1 5 -2 +1900 1 0.0000000000000000e+00 2.6118511619800593e+00 9.1664942550908624e+00 7.6195283773105524e+00 2 -1 1 +2894 2 -1.0000000000000000e+00 2.9207656173857321e+00 9.5557200927438739e+00 7.8544310298736244e+00 -2 5 -2 +2957 3 1.0000000000000000e+00 3.0119248972860522e+00 9.8888669394890414e+00 7.5645314886821637e+00 -1 -3 -2 +1687 1 0.0000000000000000e+00 4.0838618631120003e+00 9.4049953413922278e+00 7.5191979732624317e+00 -3 -4 -7 +1311 1 0.0000000000000000e+00 4.6822521115508744e+00 9.9884011645615871e+00 7.8507566397862929e+00 -2 4 -1 +1678 1 0.0000000000000000e+00 4.4109061171434760e+00 8.5765243003858380e+00 7.5276741357838679e+00 -1 -4 3 +1496 1 0.0000000000000000e+00 6.0497117718960371e+00 1.9311115820042586e+00 2.1010164563763820e+00 -1 3 2 +762 1 0.0000000000000000e+00 6.9758982353778132e+00 1.7963561727639519e+00 1.5231838278825643e-01 2 -2 -9 +1582 1 0.0000000000000000e+00 7.0322328046363376e+00 1.1882138421583486e+00 3.6251015907244061e-01 4 -2 -4 +803 1 0.0000000000000000e+00 7.3533100224029955e+00 9.5020523525999190e-01 2.3026939278489227e+00 2 -1 -1 +149 1 0.0000000000000000e+00 5.7127421887175540e+00 1.2742272934797774e+00 1.7503541648001895e+00 -5 3 0 +2598 1 0.0000000000000000e+00 5.8161640004988300e+00 1.9089666878210140e-01 1.6666433132790759e+00 6 -5 -4 +1778 1 0.0000000000000000e+00 7.4465934374099181e+00 1.6544466906243420e+00 5.8012279602166927e-01 -3 -4 3 +1244 1 0.0000000000000000e+00 5.3235482800672607e+00 1.9229561730055553e+00 1.6472019814957333e+00 -1 7 -1 +1972 1 0.0000000000000000e+00 6.5849591489698236e+00 1.8526446629038527e+00 2.2641336989498999e+00 3 -9 2 +2004 1 0.0000000000000000e+00 6.2702192289811007e+00 8.4911082000607663e-01 2.0053993037484417e+00 3 -4 -1 +2148 1 0.0000000000000000e+00 7.1848979644541116e+00 1.4735009154972072e+00 1.4287696241141361e+00 -6 -1 3 +2302 1 0.0000000000000000e+00 6.6569663068304816e+00 2.1404943083947408e+00 1.8492379432362065e+00 -7 -5 -2 +708 1 0.0000000000000000e+00 7.3559224099126688e+00 6.5238748023710447e-01 1.6258235824112055e+00 0 -1 -1 +999 1 0.0000000000000000e+00 6.1662631089873248e+00 5.9185398614839879e-01 4.9716447937546848e-01 -1 -4 0 +446 1 0.0000000000000000e+00 5.4636591064889499e+00 1.7928336345411033e+00 2.0411227725504544e+00 -1 1 2 +2661 1 0.0000000000000000e+00 7.2290707262220124e+00 2.4303537408496760e+00 2.3165092720367833e+00 1 16 1 +1097 1 0.0000000000000000e+00 6.2621918571162061e+00 2.3608057141522929e+00 8.9545620649211788e-02 0 -2 -5 +1163 1 0.0000000000000000e+00 7.1022718005355756e+00 2.0195440645346894e+00 9.2844592467872467e-01 0 -2 -4 +1691 1 0.0000000000000000e+00 6.3984091845598243e+00 1.3544822512096852e+00 1.5325373346237436e+00 4 -11 9 +1829 1 0.0000000000000000e+00 5.6519211958233679e+00 7.9435031853504134e-01 7.6809021642851949e-01 0 -4 2 +2955 3 1.0000000000000000e+00 7.3315866913086252e+00 9.6869326331500394e-01 9.6621064224751929e-01 -4 4 1 +309 1 0.0000000000000000e+00 6.6628316049526237e+00 2.1280116426611611e+00 8.6688961889170635e-01 0 -6 -1 +1814 1 0.0000000000000000e+00 6.7431198529625114e+00 7.9694529651055124e-01 1.0385181244786155e+00 -3 -4 -3 +760 1 0.0000000000000000e+00 6.7526462887937608e+00 1.8187673634779442e-01 6.7272237726309125e-01 5 2 2 +1944 1 0.0000000000000000e+00 6.1402772425045908e+00 1.1241020408290071e-01 4.6164017380851113e-01 -3 -4 6 +2092 1 0.0000000000000000e+00 5.3177006203524160e+00 9.2835223787536392e-01 7.3495343596203444e-01 -1 1 -7 +2990 3 1.0000000000000000e+00 7.1238917467332294e+00 2.9388558059461528e-01 2.4508293447011744e+00 -4 0 -4 +544 1 0.0000000000000000e+00 5.6853911888789197e+00 2.0874537119260230e+00 6.3615191634082691e-01 -5 1 -1 +2633 1 0.0000000000000000e+00 5.8549487226507333e+00 5.7761712955021294e-01 1.2171764397010501e+00 8 6 8 +2444 1 0.0000000000000000e+00 7.4679924805844893e+00 2.0582624812788928e+00 1.5551998636262734e+00 0 7 1 +2378 1 0.0000000000000000e+00 5.7211399501097109e+00 1.6617562591630597e+00 8.6568565987599067e-01 -2 -2 -3 +2948 3 1.0000000000000000e+00 5.1226768913898724e+00 1.8022396517753352e+00 2.2916972803850291e+00 2 6 -4 +735 1 0.0000000000000000e+00 6.5287571335647394e+00 1.5048552764165986e+00 6.8110125798656052e-01 3 1 0 +1132 1 0.0000000000000000e+00 6.7806236349078928e+00 2.1142247894862568e-01 1.8154437514491886e+00 -6 1 3 +2049 1 0.0000000000000000e+00 5.8961813108944297e+00 1.4387405401166884e+00 1.6666641585785769e-01 2 5 0 +2875 2 -1.0000000000000000e+00 7.4745746033129761e+00 8.7360052909586450e-01 2.9342166193364083e-01 4 0 0 +1533 1 0.0000000000000000e+00 5.1313520001812032e+00 4.1286408191678614e-01 1.0275446223928764e+00 -4 9 -7 +319 1 0.0000000000000000e+00 6.1322059103471007e+00 4.6611722497755487e-01 2.3188652142341502e+00 -3 4 1 +2798 1 0.0000000000000000e+00 6.3549467560770347e+00 2.8427311042093961e-01 1.2622564839813455e+00 8 -1 0 +1735 1 0.0000000000000000e+00 6.8688273192910909e+00 1.1989545567945854e+00 2.1759716151267745e+00 0 2 4 +2366 1 0.0000000000000000e+00 5.0585848230942272e+00 3.8340624762652603e-01 1.9907459386404902e+00 4 -1 -1 +394 1 0.0000000000000000e+00 6.3582566859693896e+00 1.9136155127040635e+00 1.4977923033323628e+00 -2 -2 -1 +1683 1 0.0000000000000000e+00 5.9550305278997930e+00 9.8049111251592114e-01 1.2623616000930082e-01 0 -2 5 +2883 2 -1.0000000000000000e+00 5.2016706744466106e+00 3.0628598286091158e-01 1.5408544861578158e-01 -1 5 0 +632 1 0.0000000000000000e+00 6.0997000803927044e+00 2.1539909891978652e+00 1.0279358846944615e+00 -3 -3 2 +471 1 0.0000000000000000e+00 5.3149798863444406e+00 1.0492073919241129e+00 1.2228404283325702e+00 0 -7 2 +2715 1 0.0000000000000000e+00 5.2061855909067498e+00 7.8837043208946034e-01 2.1268542842384384e+00 0 1 3 +520 1 0.0000000000000000e+00 6.4581761496676666e+00 3.8340566419759281e-01 1.5361243942793029e-01 0 1 0 +1057 1 0.0000000000000000e+00 7.6256873415101110e+00 2.0018747970586164e+00 6.5348550359081659e-01 4 -2 -4 +210 1 0.0000000000000000e+00 7.5262078129205134e+00 1.5198260762469291e+00 2.1657147033589488e+00 0 -4 -7 +2113 1 0.0000000000000000e+00 9.4999032559458492e+00 2.1724580173880765e+00 1.3510038494103984e+00 4 2 1 +1251 1 0.0000000000000000e+00 9.1618913233345687e+00 2.3777778848538405e+00 4.4253458486376024e-01 -3 -2 1 +494 1 0.0000000000000000e+00 9.8299704400890260e+00 7.8419268914169993e-01 6.6187217972125900e-02 -4 -5 2 +772 1 0.0000000000000000e+00 9.5439120036937961e+00 8.2548604273552195e-01 2.0652351418214199e+00 -5 7 3 +2987 3 1.0000000000000000e+00 8.9565661434053485e+00 9.8050947695406687e-01 1.3545282391385096e+00 -3 -8 -4 +1561 1 0.0000000000000000e+00 9.1297633096251154e+00 2.2053516973614831e+00 4.7547350597012517e-01 3 -5 2 +1845 1 0.0000000000000000e+00 9.1038743127020840e+00 6.1154701363524622e-01 1.8520949173886694e+00 1 -2 6 +1906 1 0.0000000000000000e+00 9.5288606794178961e+00 1.4831585547967050e+00 2.8913825626671735e-01 3 0 1 +252 1 0.0000000000000000e+00 8.1008796016992726e+00 4.4872347947329701e-02 2.2202519440162810e-01 4 -6 0 +652 1 0.0000000000000000e+00 9.0787396000910796e+00 7.6833220861973209e-02 8.4102820131256195e-02 -6 -3 4 +2225 1 0.0000000000000000e+00 9.6461951557286820e+00 1.0683433523767132e+00 2.8023860023080882e-01 0 3 4 +29 1 0.0000000000000000e+00 7.5835822239128996e+00 4.3368517137745499e-01 1.2335865449989474e+00 -2 -1 0 +2131 1 0.0000000000000000e+00 8.0982630643015732e+00 2.0095106961799178e+00 1.2175915980469056e+00 -3 1 0 +2542 1 0.0000000000000000e+00 8.5204743475591851e+00 1.0642026172247125e+00 2.2588003901942941e+00 -2 -2 5 +478 1 0.0000000000000000e+00 7.7591972098301270e+00 1.1036715304572180e+00 1.0997434822671255e+00 0 0 -6 +629 1 0.0000000000000000e+00 8.8918370345361222e+00 2.1350834367532596e+00 2.1255523686900313e+00 3 -1 1 +1813 1 0.0000000000000000e+00 9.9945573880547585e+00 2.7856303563523321e-01 7.1494554504963581e-01 0 5 -1 +98 1 0.0000000000000000e+00 8.7277975633048737e+00 1.1222178198350619e+00 1.8293748166136958e+00 0 -1 -1 +2326 1 0.0000000000000000e+00 9.5399928126967524e+00 1.5000292588229691e+00 1.4358934550521043e+00 2 -2 -1 +900 1 0.0000000000000000e+00 8.5715159376254721e+00 2.4516483394223321e+00 2.2829982049981217e+00 0 -1 2 +1150 1 0.0000000000000000e+00 8.4145237278826723e+00 2.0681773162351691e+00 6.2848042325192033e-01 -5 3 2 +870 1 0.0000000000000000e+00 9.4890376921377104e+00 1.7595590633491609e-01 2.6588844598844213e-01 1 3 -7 +521 1 0.0000000000000000e+00 7.7884963549355488e+00 3.9217652142196840e-01 2.3024314457537294e+00 2 3 -1 +1438 1 0.0000000000000000e+00 8.1539369013652809e+00 1.0358666506730900e+00 2.0493142385441127e-01 1 2 7 +1447 1 0.0000000000000000e+00 8.2206117948806359e+00 5.2662789182255787e-01 1.0724574297399319e+00 2 1 2 +879 1 0.0000000000000000e+00 8.1008770201562967e+00 1.9186323687625402e+00 2.3288401387219255e+00 6 -6 0 +2332 1 0.0000000000000000e+00 8.4919110503437363e+00 1.9499446545914212e+00 1.1996773354020842e+00 2 -3 -2 +1379 1 0.0000000000000000e+00 7.5396710158117202e+00 1.4093584885582938e-01 8.0005775201714613e-01 6 -4 5 +155 1 0.0000000000000000e+00 9.4361951855141406e+00 1.4431292177505910e+00 2.0348916605232517e+00 3 1 4 +939 1 0.0000000000000000e+00 8.3817273795255502e+00 3.0723505471390449e-02 1.8099664016840717e+00 3 0 -3 +685 1 0.0000000000000000e+00 9.5181813439084273e+00 8.4938220007842991e-01 8.8952893132639488e-01 1 4 2 +862 1 0.0000000000000000e+00 8.8291060359348208e+00 1.9069924222529069e+00 1.3492406938943153e+00 -1 1 -2 +2532 1 0.0000000000000000e+00 8.3045629918929293e+00 1.5867520517662586e+00 9.7957235642836163e-02 -5 4 1 +537 1 0.0000000000000000e+00 8.0035649990031619e+00 1.2539823436128359e+00 1.8544247256630961e+00 1 0 -1 +2538 1 0.0000000000000000e+00 8.6716818431138858e+00 4.3285765847860741e-01 6.7982223723068735e-01 4 -4 0 +2265 1 0.0000000000000000e+00 8.5914129195399020e+00 1.2125684724258030e+00 8.5609317706631394e-01 -5 -4 0 +2630 1 0.0000000000000000e+00 7.9985490641031873e+00 1.5900365824104641e+00 1.9735460068475077e+00 1 -1 -6 +101 1 0.0000000000000000e+00 8.7341390687419089e+00 1.8129871696521398e+00 2.6812821958879862e-01 0 3 -1 +792 1 0.0000000000000000e+00 8.8544249344305559e+00 6.2151187766494753e-01 2.3681691537733141e+00 2 6 8 +13 1 0.0000000000000000e+00 9.2932671832887621e+00 1.4406082596235683e+00 7.2579413858911035e-01 1 0 -1 +2397 1 0.0000000000000000e+00 8.8999359497533792e+00 1.5554730678181101e+00 1.2125686119714274e+00 -2 6 3 +1371 1 0.0000000000000000e+00 8.0754602762112206e+00 2.3662045287083284e+00 1.8589598555104812e+00 -3 -7 -4 +2340 1 0.0000000000000000e+00 9.1103665520721151e+00 2.9693365572270247e-01 1.1672758755782962e+00 1 4 9 +868 1 0.0000000000000000e+00 9.4325660684347259e+00 3.3352827773519095e-01 1.5692074210589255e+00 -1 4 -1 +2462 1 0.0000000000000000e+00 6.0857751533757289e+00 2.5907799699122513e+00 1.3880336662563024e+00 0 1 -2 +1043 1 0.0000000000000000e+00 7.3853102984127998e+00 3.6863702601078043e+00 1.6607042606024278e+00 -6 -1 -2 +2559 1 0.0000000000000000e+00 6.6785162629853083e+00 2.6237831290067786e+00 1.6829026624966861e+00 0 6 1 +2263 1 0.0000000000000000e+00 6.1868022278287151e+00 4.6905977584904459e+00 1.8992997498996291e+00 -4 3 -3 +2176 1 0.0000000000000000e+00 5.2998075257246278e+00 4.2462908857373121e+00 1.9484865028509122e+00 5 3 7 +222 1 0.0000000000000000e+00 6.5115774264584347e+00 3.3612855030717923e+00 1.2296188434386448e+00 -1 -2 3 +794 1 0.0000000000000000e+00 7.0862626588853574e+00 4.0673547706323054e+00 6.2154576458115496e-01 -2 -1 7 +107 1 0.0000000000000000e+00 6.0476514661993024e+00 2.9135533587585893e+00 1.6846382422770123e+00 6 2 2 +2680 1 0.0000000000000000e+00 5.4063145309129013e+00 3.5210618840746117e+00 5.9149659736898841e-02 -1 -2 4 +457 1 0.0000000000000000e+00 5.0660138234578351e+00 4.8118681097544869e+00 3.5171382494184289e-01 -2 -4 5 +1880 1 0.0000000000000000e+00 6.8683805519344361e+00 4.5634942715293860e+00 2.1567538218476718e+00 -2 -2 0 +2310 1 0.0000000000000000e+00 5.1060496986186923e+00 2.8537119895232315e+00 2.2923556354287875e+00 1 0 -1 +73 1 0.0000000000000000e+00 5.8625075308027457e+00 3.0601359861304727e+00 9.0004417570779172e-01 -3 2 -5 +2454 1 0.0000000000000000e+00 5.6325364963005811e+00 4.8268634977997138e+00 1.0406500396637675e+00 4 1 -2 +789 1 0.0000000000000000e+00 7.0753235114386452e+00 4.1586710573879992e+00 1.5057744340313797e+00 -3 -1 -3 +418 1 0.0000000000000000e+00 5.9362916421191363e+00 3.6579109426551097e+00 1.5449507500027349e+00 -2 -10 -1 +1083 1 0.0000000000000000e+00 6.1442746815947071e+00 3.1282945221204645e+00 5.7381567821063872e-01 4 9 0 +2972 3 1.0000000000000000e+00 7.4631933923014362e+00 2.9476497002515742e+00 2.2547086304399455e+00 4 -8 0 +2034 1 0.0000000000000000e+00 6.6375617031456757e+00 4.0330533397703743e+00 2.3582329931352528e+00 1 -1 6 +458 1 0.0000000000000000e+00 6.6772982536948913e+00 2.9406204756984184e+00 2.2134181035172245e+00 -3 5 -4 +1494 1 0.0000000000000000e+00 5.8170013090389459e+00 3.4414332340670821e+00 2.2972896722892671e+00 -1 -5 -2 +379 1 0.0000000000000000e+00 6.6634939364668933e+00 3.4672636323452792e+00 9.1642956972266099e-01 -2 0 0 +20 1 0.0000000000000000e+00 5.8698896037787947e+00 4.0717204686326367e+00 1.8274245721488762e+00 -6 5 -7 +1568 1 0.0000000000000000e+00 7.2211509972412591e+00 3.3175423297075510e+00 1.9021719649226803e+00 1 -3 0 +1416 1 0.0000000000000000e+00 5.0148615803144621e+00 3.8350600027308981e+00 1.9250061157625928e+00 -1 -4 -5 +1782 1 0.0000000000000000e+00 5.2347738483087847e+00 2.6731456442384305e+00 1.4247125945616550e+00 -4 1 0 +1632 1 0.0000000000000000e+00 6.8134865469332375e+00 3.3173988969279802e+00 1.8897476526727956e-02 1 6 7 +628 1 0.0000000000000000e+00 5.8574193119217561e+00 4.8249130288222055e+00 1.5344553652719925e-01 4 3 5 +1366 1 0.0000000000000000e+00 5.9437815361574513e+00 4.2163298459349807e+00 1.6670424391286351e-01 3 -5 8 +1247 1 0.0000000000000000e+00 5.4118661011652289e+00 3.2764035424632576e+00 1.6892468532655696e+00 4 -4 -1 +401 1 0.0000000000000000e+00 6.4298664095383122e+00 4.2070219658460069e+00 5.3415200616716907e-01 -7 1 -5 +2283 1 0.0000000000000000e+00 6.9287622528853330e+00 2.8094330038897977e+00 3.8285545195036930e-01 -5 -2 2 +550 1 0.0000000000000000e+00 5.1887739213979556e+00 4.5187351424758750e+00 2.0951545150774573e-01 8 -4 6 +191 1 0.0000000000000000e+00 6.8733709304648913e+00 3.0202957529049290e+00 9.6258817858210100e-01 -3 2 -4 +1875 1 0.0000000000000000e+00 5.8130091183917090e+00 2.7917156310975413e+00 2.9353100030825963e-01 8 -5 -5 +1863 1 0.0000000000000000e+00 5.3898417550319033e+00 3.2462947039820742e+00 8.8649350453705922e-01 6 -2 0 +627 1 0.0000000000000000e+00 6.0824248055986452e+00 4.2528708284012042e+00 1.1174164069065038e+00 0 -1 -2 +220 1 0.0000000000000000e+00 5.8539911425264464e+00 3.9821291514476105e+00 5.2177152504344626e-01 -2 3 0 +1426 1 0.0000000000000000e+00 6.1888101610924702e+00 2.9931744621647427e+00 2.4138767954014297e+00 -2 -6 4 +2414 1 0.0000000000000000e+00 6.9991780321514616e+00 4.9638894558316986e+00 2.1205093190843050e+00 3 0 -4 +1699 1 0.0000000000000000e+00 6.7296070435995112e+00 4.6291430485496825e+00 7.1751043249821611e-01 3 -1 -6 +1265 1 0.0000000000000000e+00 6.7039918536190655e+00 3.8826796000355563e+00 1.6616043878726305e+00 9 2 -2 +1760 1 0.0000000000000000e+00 5.1535159699686490e+00 3.2597077436149848e+00 2.1213565413276219e+00 -2 4 -1 +2625 1 0.0000000000000000e+00 6.3690221534903229e+00 4.3797171381731728e+00 1.7364716186438838e+00 -5 2 0 +1603 1 0.0000000000000000e+00 6.4124491952419298e+00 3.5072171881172252e+00 1.8549028068083122e+00 0 0 -3 +219 1 0.0000000000000000e+00 5.0553756811907382e+00 4.1122639576690716e+00 8.2015931285687349e-01 -2 -1 -6 +546 1 0.0000000000000000e+00 6.8049195625633674e+00 4.7831547189227734e+00 1.3286938661682863e+00 1 6 -1 +2430 1 0.0000000000000000e+00 5.3321574062219428e+00 4.8933997341834656e+00 2.2950642214184542e+00 0 2 -1 +1576 1 0.0000000000000000e+00 6.2439383752215205e+00 3.6260243229363032e+00 4.9238685150063166e-01 -5 -2 0 +225 1 0.0000000000000000e+00 7.5755923362681958e+00 2.6249530995227834e+00 1.3193831768170434e+00 -5 5 2 +1583 1 0.0000000000000000e+00 9.3841763478318434e+00 4.5450950502904242e+00 2.2750190072648338e-01 -3 1 -4 +1391 1 0.0000000000000000e+00 8.1699126208609467e+00 3.8860216534403147e+00 1.3806360246272487e+00 -9 -1 0 +257 1 0.0000000000000000e+00 9.0493148969759822e+00 4.1982372546272044e+00 2.3026834505530216e+00 2 6 -4 +404 1 0.0000000000000000e+00 9.3125864668838556e+00 2.7656712458293233e+00 2.0766089540915136e+00 1 2 4 +1635 1 0.0000000000000000e+00 8.9351547388880217e+00 3.6248364208182582e+00 1.8949827944833746e+00 -2 3 2 +2180 1 0.0000000000000000e+00 7.7187828395452360e+00 4.1684223149085931e+00 1.2465905026467881e+00 0 -2 1 +2534 1 0.0000000000000000e+00 8.6437594675748315e+00 3.1355648419705076e+00 1.8163343385553079e+00 5 -3 -4 +1449 1 0.0000000000000000e+00 7.7295984788574383e+00 4.3767759515843849e+00 2.3560388851604408e+00 -3 -4 0 +2697 1 0.0000000000000000e+00 8.5003818722477202e+00 4.1579396917942617e+00 3.7620948737727067e-01 0 2 1 +977 1 0.0000000000000000e+00 8.5328087960505545e+00 3.0087775356305801e+00 7.6466949559792530e-01 0 0 5 +2298 1 0.0000000000000000e+00 8.6388972478701884e+00 4.7608926298268512e+00 8.7448051505688129e-01 3 -1 -1 +2252 1 0.0000000000000000e+00 9.4387593180279712e+00 4.4985656673719951e+00 2.4653340809751869e+00 -4 -3 3 +1675 1 0.0000000000000000e+00 7.9641580788225825e+00 4.8030413647253658e+00 1.2306743631644546e+00 9 0 9 +2596 1 0.0000000000000000e+00 7.5918905106519370e+00 4.8856364907392296e+00 6.4724882208087930e-01 1 7 5 +566 1 0.0000000000000000e+00 9.2639133753269345e+00 3.2417915975782763e+00 9.0041072327241589e-01 -2 11 7 +2094 1 0.0000000000000000e+00 9.7115492563970687e+00 3.9220302949202637e+00 1.2612317242412334e+00 -4 1 6 +1773 1 0.0000000000000000e+00 9.5741449448375366e+00 4.8784181486130382e+00 1.7613455619029028e+00 4 1 4 +1843 1 0.0000000000000000e+00 9.1906668866708401e+00 2.9085472664613938e+00 5.2056851990605624e-01 0 -1 -1 +2246 1 0.0000000000000000e+00 9.5578304020693903e+00 4.4110027298659853e+00 1.7928334948946636e+00 -2 7 -7 +1425 1 0.0000000000000000e+00 9.5328595115564951e+00 3.4960278837888890e+00 8.8436531662607676e-02 -1 6 0 +247 1 0.0000000000000000e+00 7.5953907502985389e+00 4.0173668718717686e+00 7.1595229063852772e-01 4 1 1 +1824 1 0.0000000000000000e+00 8.8817229495805758e+00 4.3717820119613942e+00 1.3812964703121715e+00 0 1 -2 +1178 1 0.0000000000000000e+00 8.1688808301698863e+00 2.7087034746673400e+00 8.7261889847747531e-01 -1 6 0 +1852 1 0.0000000000000000e+00 8.0985439573231108e+00 4.2834786887263405e+00 1.1429800489883271e-02 -3 1 -2 +1197 1 0.0000000000000000e+00 7.5029988183675780e+00 3.1207103020203291e+00 2.4068101525183158e-01 0 1 1 +592 1 0.0000000000000000e+00 7.8145001235767753e+00 3.4165464030297441e+00 1.1950732249097265e+00 -1 -2 2 +2742 1 0.0000000000000000e+00 8.6119156989380734e+00 2.7665113536478620e+00 1.5411741949157602e+00 -2 -1 2 +1345 1 0.0000000000000000e+00 9.9295956071299614e+00 2.6156613802613471e+00 1.1393271691212898e+00 2 -4 -1 +1462 1 0.0000000000000000e+00 8.6401125351788934e+00 4.8988055119151310e+00 1.9874870140421907e+00 -3 -2 -4 +2449 1 0.0000000000000000e+00 7.7919887385356423e+00 3.9586687726946770e+00 2.2263046596876204e-01 5 1 -1 +1367 1 0.0000000000000000e+00 9.4287487776827295e+00 3.4204762321205529e+00 2.2664745100257448e+00 4 3 0 +461 1 0.0000000000000000e+00 8.9819397255041231e+00 4.8011137568061448e+00 1.4809581470943040e-01 0 -1 2 +185 1 0.0000000000000000e+00 9.5440556013745255e+00 3.3318465678204521e+00 1.5915671665490458e+00 -8 5 -4 +1909 1 0.0000000000000000e+00 9.6080721559929234e+00 4.4271747411804920e+00 4.7621615062868161e-01 3 -3 -5 +2188 1 0.0000000000000000e+00 8.2424803645650773e+00 3.4844174518781972e+00 4.8252326199661921e-01 1 2 1 +2700 1 0.0000000000000000e+00 8.7427844112453474e+00 3.8911429921416207e+00 1.2772323085036055e+00 1 1 -3 +848 1 0.0000000000000000e+00 8.1603217815214020e+00 3.5802501038497465e+00 1.9099495121920922e+00 2 4 -9 +578 1 0.0000000000000000e+00 9.1510956146639746e+00 3.9816385868798680e+00 4.6042777837363130e-01 3 -1 -2 +545 1 0.0000000000000000e+00 9.3251919235299106e+00 4.4644200903248228e+00 1.1146669329945806e+00 3 0 -3 +146 1 0.0000000000000000e+00 8.1600856989475936e+00 2.9858880562737666e+00 2.3836341136229366e+00 -10 5 -4 +1834 1 0.0000000000000000e+00 8.2874134205152519e+00 4.1628287648512758e+00 8.5447323066150738e-01 -4 -2 2 +2352 1 0.0000000000000000e+00 8.3311558422597241e+00 4.5618460563916434e+00 2.4229507603817062e+00 -2 -2 3 +591 1 0.0000000000000000e+00 7.8378871903698872e+00 2.5168737153016876e+00 9.6539025238480833e-02 6 -4 -4 +232 1 0.0000000000000000e+00 9.7971188413291781e+00 2.8655786737914215e+00 1.5510001795722388e+00 -1 1 -8 +2303 1 0.0000000000000000e+00 8.6781435727889100e+00 3.4176525860837370e+00 1.8601839188905453e-01 -4 0 2 +554 1 0.0000000000000000e+00 7.8318431247153901e+00 4.3845190233888669e+00 1.8831735412908079e+00 -2 3 -3 +2928 3 1.0000000000000000e+00 8.6894960352917074e+00 3.8714641117906923e+00 2.4335449545607575e+00 -1 -1 -1 +6 1 0.0000000000000000e+00 5.5377079234927269e+00 1.9990417499598778e-01 3.8971004731025536e+00 5 -3 0 +1698 1 0.0000000000000000e+00 5.7601177156514805e+00 1.4719185968935042e+00 2.8896748378572341e+00 3 2 -1 +1052 1 0.0000000000000000e+00 7.1568109101192174e+00 2.6079182104080423e-01 3.7535697259456442e+00 1 7 -6 +2316 1 0.0000000000000000e+00 5.9150346052606926e+00 1.7146348623117824e+00 4.3810965183900992e+00 0 1 -3 +1771 1 0.0000000000000000e+00 5.5021654684963224e+00 1.0999245261641728e+00 2.5547276449943590e+00 2 -2 3 +36 1 0.0000000000000000e+00 6.6433120267692241e+00 1.7515148957878715e+00 3.7373660119769623e+00 -1 4 -1 +2358 1 0.0000000000000000e+00 7.1513695136454274e+00 1.5908817899318515e+00 4.9259274513728561e+00 -1 -2 9 +606 1 0.0000000000000000e+00 6.7745654929410595e+00 1.5401093772153878e+00 3.3937859111989792e+00 -7 2 -4 +1299 1 0.0000000000000000e+00 5.9828536284479137e+00 1.0897727556489094e+00 4.4834853544654347e+00 0 -2 -5 +12 1 0.0000000000000000e+00 7.1087383029890168e+00 1.5337967875454683e+00 3.8888916199233758e+00 6 -5 2 +1740 1 0.0000000000000000e+00 6.4967021780131535e+00 1.9708766713163002e+00 2.7467473956545270e+00 7 4 2 +1278 1 0.0000000000000000e+00 6.5182214367169946e+00 1.0908089249784647e+00 2.6358761229678804e+00 -1 -1 8 +2465 1 0.0000000000000000e+00 6.4325794869039203e+00 3.7244218539540053e-01 3.1288116580084742e+00 4 9 -9 +151 1 0.0000000000000000e+00 5.5229512416202295e+00 1.2357124195528473e+00 4.0945623004585947e+00 2 -2 2 +2545 1 0.0000000000000000e+00 7.0939434502794949e+00 2.4297566726857460e+00 3.3918207323236405e+00 0 2 3 +725 1 0.0000000000000000e+00 6.2221764216956323e+00 1.8929850323001900e+00 3.1799800008437327e+00 5 -5 3 +1562 1 0.0000000000000000e+00 5.7142335341964507e+00 1.3839516091738296e-01 2.5087922020519686e+00 -3 -3 -3 +1131 1 0.0000000000000000e+00 7.3212874864577735e+00 1.7287085008068910e+00 2.7030279011532858e+00 -1 3 4 +362 1 0.0000000000000000e+00 6.5262998500650768e+00 1.1227965180620776e+00 4.0526799026437628e+00 2 -5 2 +682 1 0.0000000000000000e+00 5.1668707925826380e+00 1.6589181261972474e+00 4.8657199640759226e+00 1 3 -3 +1754 1 0.0000000000000000e+00 6.7319937728176988e+00 4.0269473265417949e-01 4.4934242846141466e+00 2 1 -5 +1734 1 0.0000000000000000e+00 6.0552106048880106e+00 4.9946164729332360e-02 3.6712930334730296e+00 -3 -1 0 +1090 1 0.0000000000000000e+00 6.0019749319216613e+00 2.1973814448791780e+00 3.5598709158679869e+00 -2 -4 0 +2096 1 0.0000000000000000e+00 7.4028639992392460e+00 9.5940337647544505e-01 4.5345013428275802e+00 5 -1 5 +1002 1 0.0000000000000000e+00 7.3863042491372610e+00 2.0533683816632289e+00 4.5048006042418836e+00 -2 1 -7 +1133 1 0.0000000000000000e+00 5.3701628678606861e+00 7.5605672952774960e-01 4.0044671555935043e+00 -1 -4 -1 +1168 1 0.0000000000000000e+00 7.0122885127174905e+00 7.1798848626821987e-01 3.2411240169879871e+00 4 8 0 +770 1 0.0000000000000000e+00 5.1100087117306936e+00 1.5350908091256659e+00 3.5430464201838330e+00 -1 2 0 +948 1 0.0000000000000000e+00 6.4039027368876003e+00 3.7846556493997552e-01 3.7394605941567893e+00 -5 1 -1 +1404 1 0.0000000000000000e+00 5.6804991536487890e+00 1.0712409914511105e+00 4.6703177874015696e+00 2 -1 -3 +2687 1 0.0000000000000000e+00 5.1697945066047151e+00 9.3999370608602695e-01 3.4233424682154241e+00 0 5 5 +1966 1 0.0000000000000000e+00 5.3469057440165404e+00 2.2124153109752438e+00 2.7252282845646549e+00 -3 5 3 +1093 1 0.0000000000000000e+00 6.8146957813428557e+00 2.1857989491289480e+00 4.2163962756908813e+00 -1 -5 -4 +1593 1 0.0000000000000000e+00 7.3951929485913892e+00 6.5595864766656431e-01 4.0523103413520580e+00 -2 -6 1 +2631 1 0.0000000000000000e+00 7.3682735043799408e+00 3.7177552337750652e-01 4.9491250127098674e+00 -1 0 0 +2513 1 0.0000000000000000e+00 5.1659763749274621e+00 2.2062722596772892e+00 3.6619734403841617e+00 6 1 -6 +1727 1 0.0000000000000000e+00 5.6107968955652066e+00 6.7890130953816019e-01 2.9714977904526769e+00 3 -2 2 +2472 1 0.0000000000000000e+00 5.0649751697362575e+00 1.4844228713332153e+00 4.3592642379031012e+00 5 -5 -8 +269 1 0.0000000000000000e+00 6.0665715311263773e+00 1.8070824693264106e-01 4.1683708024934418e+00 -2 -5 -4 +2107 1 0.0000000000000000e+00 6.1054925460714680e+00 1.0872731440665999e+00 3.6207366359415536e+00 -2 1 5 +1415 1 0.0000000000000000e+00 7.4070669376515221e+00 2.2554297413395560e-01 3.2905998044057458e+00 1 -2 2 +111 1 0.0000000000000000e+00 7.0044496798004188e+00 1.6801468511565936e+00 3.0994321954810129e+00 -3 2 -6 +1859 1 0.0000000000000000e+00 5.9090145907709051e+00 3.6267068225754961e-01 4.9734583158185846e+00 -5 5 2 +1807 1 0.0000000000000000e+00 5.9230378750006905e+00 1.9909682187805344e+00 4.1883792968282183e+00 -3 0 -1 +2039 1 0.0000000000000000e+00 5.1531540984589359e+00 2.4592804924701039e+00 4.5011169190996787e+00 5 -5 -1 +493 1 0.0000000000000000e+00 6.8387889349999780e+00 1.9424456274723869e+00 4.7649087278142348e+00 -8 1 -1 +1738 1 0.0000000000000000e+00 9.6499641306759525e+00 7.6891153277408564e-01 3.6453576674737604e+00 -3 1 1 +877 1 0.0000000000000000e+00 9.8814140340662107e+00 1.6262706375066958e+00 3.6418370020551634e+00 0 1 -5 +1236 1 0.0000000000000000e+00 8.7129029678097378e+00 1.5329373749371307e+00 4.1060681436687059e+00 1 4 2 +2548 1 0.0000000000000000e+00 7.5894260375123492e+00 9.1848496510375854e-01 3.4341894935504853e+00 5 -8 -3 +2504 1 0.0000000000000000e+00 7.7538814298767784e+00 1.4722518077429643e+00 3.1662794753244823e+00 1 3 -3 +1006 1 0.0000000000000000e+00 8.3680096830136357e+00 1.2350886231908509e+00 4.4240788287571604e+00 -1 -1 -1 +2320 1 0.0000000000000000e+00 9.1142187606229861e+00 2.1014387739001479e+00 4.6617038372944180e+00 -1 -2 -4 +1855 1 0.0000000000000000e+00 9.7711275573600798e+00 1.4732109801128059e+00 4.7395434573912691e+00 -2 0 -2 +1914 1 0.0000000000000000e+00 9.6735105633013312e+00 5.1461198168726352e-01 2.8799202442993401e+00 3 2 2 +1962 1 0.0000000000000000e+00 7.9612502564302021e+00 5.1394213365781038e-01 4.9051787859922689e+00 0 -1 0 +690 1 0.0000000000000000e+00 9.5233082533655207e+00 7.4855541127359829e-02 2.5227679924829922e+00 3 0 0 +2269 1 0.0000000000000000e+00 8.2763667521428825e+00 5.1091022981528145e-01 3.2836890879217120e+00 -2 3 -1 +1534 1 0.0000000000000000e+00 8.3657984727219628e+00 2.3570810738000532e+00 4.5971299651422894e+00 -1 1 -2 +2192 1 0.0000000000000000e+00 9.1947613941506727e+00 1.0758934531627605e-01 3.2113969867097487e+00 -5 0 -5 +703 1 0.0000000000000000e+00 7.5575960336633949e+00 2.2870465652759244e+00 4.0705539242949680e+00 -2 1 0 +855 1 0.0000000000000000e+00 7.7280520198907130e+00 1.8777522698269397e-01 4.0136213852291061e+00 2 2 4 +2867 2 -1.0000000000000000e+00 8.0739574492948449e+00 4.1867342443707392e-02 3.4878886556008726e+00 1 -1 -2 +2304 1 0.0000000000000000e+00 9.8449043157596350e+00 2.3512355540188759e-01 4.3294529286683279e+00 2 -2 -3 +1600 1 0.0000000000000000e+00 9.8396929688206640e+00 1.3482925871231826e+00 4.4057402817745643e+00 4 2 0 +2881 2 -1.0000000000000000e+00 9.2397151160150610e+00 1.7846900309969376e+00 2.5403139445317460e+00 -7 -1 -1 +809 1 0.0000000000000000e+00 8.2313058466444176e+00 2.1381434383889690e+00 2.9354349169590681e+00 3 2 1 +2688 1 0.0000000000000000e+00 7.8149010365118459e+00 1.3771847276039522e+00 4.7585376833431869e+00 -4 2 7 +278 1 0.0000000000000000e+00 7.5920800527251062e+00 1.9801253839663850e+00 3.6758378634744608e+00 1 5 -1 +1597 1 0.0000000000000000e+00 8.9840902357463790e+00 2.0862061245859485e+00 3.1749456334884107e+00 -1 2 -4 +1694 1 0.0000000000000000e+00 8.5981231028125009e+00 7.6357981984455980e-01 4.9385391846815248e+00 -2 -4 1 +1832 1 0.0000000000000000e+00 8.1250085487221195e+00 1.8490852274087797e+00 2.8814873214471213e+00 1 6 0 +122 1 0.0000000000000000e+00 9.2861201330495735e+00 1.9348611079413451e+00 3.9593526083994615e+00 4 -2 -5 +822 1 0.0000000000000000e+00 8.8371579236723985e+00 1.3789265525263023e-01 2.8444318163592923e+00 1 -5 -1 +2999 3 1.0000000000000000e+00 8.4510271387810274e+00 1.3734384092919352e+00 3.5459804616921891e+00 2 -3 4 +1051 1 0.0000000000000000e+00 8.5979397641005590e+00 1.0460065509755418e+00 4.1892209906608349e+00 0 1 5 +1751 1 0.0000000000000000e+00 9.3451091501464099e+00 2.3438640318527706e+00 3.6842580825658242e+00 -4 -7 5 +2952 3 1.0000000000000000e+00 9.6910807488567414e+00 2.4536090911381980e+00 3.3646689363423126e+00 -3 -1 0 +916 1 0.0000000000000000e+00 7.9070254122338559e+00 8.9429420420123040e-01 2.8397973548160604e+00 -4 1 4 +2551 1 0.0000000000000000e+00 9.7356669942329930e+00 2.0266949990245227e+00 4.3753219734130893e+00 -5 1 -2 +844 1 0.0000000000000000e+00 8.6839475634165542e+00 9.9648847328034773e-01 3.4713244519975355e+00 4 6 3 +153 1 0.0000000000000000e+00 8.6623590196030147e+00 1.4551168091878937e+00 2.7135122027902039e+00 2 -1 -1 +2926 3 1.0000000000000000e+00 9.4566469950216234e+00 1.0164347621276291e+00 2.8062113658542311e+00 2 4 -5 +1493 1 0.0000000000000000e+00 8.9814751457600703e+00 1.6875397563322658e+00 4.9003302723937150e+00 -2 0 -1 +737 1 0.0000000000000000e+00 8.3997102803788515e+00 2.0997131142548793e+00 3.7073320789889448e+00 -4 4 1 +658 1 0.0000000000000000e+00 7.8264195091684785e+00 1.4403982967150708e+00 3.9127378537722994e+00 4 -1 -8 +2845 2 -1.0000000000000000e+00 8.6593851394285846e+00 2.9722770681987498e-01 4.2967652254770821e+00 -3 1 3 +599 1 0.0000000000000000e+00 9.5029826818428873e+00 1.5525559686458599e+00 3.3211768708759504e+00 5 0 -1 +782 1 0.0000000000000000e+00 9.0607846270322607e+00 2.4996320164964234e-01 4.9051911962117938e+00 -4 8 4 +2685 1 0.0000000000000000e+00 7.6713679665308838e+00 1.9388052041103669e+00 4.8710251454819380e+00 3 -1 1 +2558 1 0.0000000000000000e+00 9.9146609243999926e+00 2.2876068847623534e+00 2.6205867838766057e+00 -2 -2 2 +2341 1 0.0000000000000000e+00 9.5577136453899900e+00 2.8089916749404453e-01 3.8188510438609886e+00 0 0 -4 +1466 1 0.0000000000000000e+00 9.3932789246250206e+00 1.2011020359865205e+00 4.1192115494572903e+00 -2 2 -2 +524 1 0.0000000000000000e+00 9.2253818483587917e+00 7.3379714383910655e-01 4.5102051234833080e+00 -4 -2 1 +1101 1 0.0000000000000000e+00 9.6438610608073265e+00 2.1803437697177381e+00 4.8771831161744128e+00 5 -3 -2 +1300 1 0.0000000000000000e+00 8.6296553603269093e+00 2.4533038241968935e-01 3.7767562010557651e+00 -6 -1 4 +386 1 0.0000000000000000e+00 5.1818301079271416e+00 4.0270581683335980e+00 2.6514843635659706e+00 1 -2 -8 +414 1 0.0000000000000000e+00 7.3104031738803075e+00 3.6232339286711754e+00 4.0037087258178330e+00 3 2 4 +507 1 0.0000000000000000e+00 5.7227909174440059e+00 3.2395677535441743e+00 4.3881696969573945e+00 -1 1 -4 +2162 1 0.0000000000000000e+00 5.6694091353423177e+00 4.9448838235426589e+00 3.4736217583484232e+00 3 2 -2 +1153 1 0.0000000000000000e+00 5.9865676971645598e+00 2.5863806223014580e+00 2.6697735521653052e+00 -3 1 3 +2735 1 0.0000000000000000e+00 5.1562900810598098e+00 2.7063725559327341e+00 4.0305795135511140e+00 1 3 -3 +497 1 0.0000000000000000e+00 5.7268069201690972e+00 4.4069146964967345e+00 3.7479724776855314e+00 -1 5 3 +1114 1 0.0000000000000000e+00 6.9664646728253699e+00 4.8454739117137438e+00 3.8866406582194890e+00 -4 -1 -2 +981 1 0.0000000000000000e+00 6.4996116357631539e+00 4.6576838252611745e+00 3.1342998000322564e+00 -3 -2 -3 +2146 1 0.0000000000000000e+00 5.0653917831592423e+00 4.4244483862309325e+00 4.6259141399313997e+00 1 0 3 +603 1 0.0000000000000000e+00 6.5873095820370091e+00 4.2365104679994108e+00 4.3553895376867366e+00 5 6 2 +2106 1 0.0000000000000000e+00 7.2670298761113861e+00 2.8781511058207498e+00 4.7138968674507780e+00 2 -2 -1 +2501 1 0.0000000000000000e+00 6.1738620964425053e+00 2.8351579559160647e+00 4.2554716898612917e+00 2 0 -1 +2537 1 0.0000000000000000e+00 7.1969497950631585e+00 3.7004276484150842e+00 2.5107428582321956e+00 3 1 2 +2256 1 0.0000000000000000e+00 6.4881890626480949e+00 3.8003880539025578e+00 4.2750825407498416e+00 -3 8 0 +1559 1 0.0000000000000000e+00 6.2946195790731299e+00 3.5598420073186192e+00 4.8511921355221226e+00 0 -1 -7 +1984 1 0.0000000000000000e+00 6.0821452149049717e+00 3.9504802662976535e+00 3.2580851255662839e+00 1 9 -2 +2138 1 0.0000000000000000e+00 5.8167269738216563e+00 4.5440557734318183e+00 2.5904224913962297e+00 2 7 -1 +688 1 0.0000000000000000e+00 5.4217016937042581e+00 4.1031297288521067e+00 3.9319121432509583e+00 0 1 1 +1651 1 0.0000000000000000e+00 6.4215338489541862e+00 3.6422865435495528e+00 3.6395299148542062e+00 -5 0 1 +2367 1 0.0000000000000000e+00 5.5036125831018623e+00 3.3595007631309666e+00 4.1752513537624241e+00 -6 4 1 +541 1 0.0000000000000000e+00 5.3578784359580300e+00 3.5287171997590145e+00 2.9388885587895532e+00 2 -2 3 +2429 1 0.0000000000000000e+00 5.8979926053073894e+00 2.6078252842151182e+00 3.8933402970252811e+00 -5 0 0 +1218 1 0.0000000000000000e+00 6.2296724473303149e+00 4.4571322076889697e+00 4.0176905662964062e+00 -4 0 1 +80 1 0.0000000000000000e+00 6.6516324764655588e+00 3.4017957278927788e+00 2.6235543024641053e+00 -7 8 -1 +2515 1 0.0000000000000000e+00 6.8943005146560665e+00 2.9190923922610663e+00 4.2021854796436573e+00 -6 2 -2 +88 1 0.0000000000000000e+00 5.4990635372331846e+00 3.1160981661249698e+00 4.9029103386708695e+00 -3 1 -1 +2110 1 0.0000000000000000e+00 6.4393474407103097e+00 2.6872055548722531e+00 3.5030918950782430e+00 0 3 6 +2108 1 0.0000000000000000e+00 5.7504471188841890e+00 2.7745761424052127e+00 3.0591346172156064e+00 -1 5 5 +59 1 0.0000000000000000e+00 6.2873334162719701e+00 3.8615135391239983e+00 2.8929743504286254e+00 4 -5 -5 +1423 1 0.0000000000000000e+00 6.8147058091078998e+00 2.5797399128187775e+00 3.0837912050734184e+00 0 -2 -6 +670 1 0.0000000000000000e+00 7.4280482064048874e+00 3.2773884369081769e+00 3.0469018246273003e+00 -7 1 0 +663 1 0.0000000000000000e+00 5.3646802157657341e+00 3.2847064256301888e+00 3.5336907958678943e+00 -10 -6 1 +121 1 0.0000000000000000e+00 6.8785426795095512e+00 4.2931730296155566e+00 3.7321621754556280e+00 3 -5 -2 +365 1 0.0000000000000000e+00 7.0513090642186054e+00 3.2524574792008454e+00 3.7595633716569448e+00 0 1 -3 +2468 1 0.0000000000000000e+00 5.7652085681124117e+00 3.7131662600425774e+00 3.1005657267013755e+00 3 2 -2 +577 1 0.0000000000000000e+00 7.3358837745345156e+00 3.0120802907227451e+00 2.7573943764131039e+00 1 -1 1 +2635 1 0.0000000000000000e+00 6.3190432880410823e+00 2.8448493838809399e+00 4.9133573790971088e+00 2 0 -4 +890 1 0.0000000000000000e+00 6.1996747065609101e+00 4.1612541304387198e+00 4.8185109352964535e+00 0 7 -1 +1193 1 0.0000000000000000e+00 7.4396399117786558e+00 2.5201087724214872e+00 2.7667901042545400e+00 -2 7 5 +48 1 0.0000000000000000e+00 7.3842857686015879e+00 4.4459239091436240e+00 2.9189180559975694e+00 -2 -3 -1 +588 1 0.0000000000000000e+00 6.2240276157120489e+00 3.2065709065116175e+00 3.5657688140295383e+00 -7 -3 2 +2976 3 1.0000000000000000e+00 7.2752160052494839e+00 4.0585997392425446e+00 3.4574478887843658e+00 1 2 3 +799 1 0.0000000000000000e+00 5.6938985282655254e+00 4.2817560437070057e+00 4.8096311326225134e+00 -3 6 2 +825 1 0.0000000000000000e+00 7.4995805949429792e+00 4.9151185921920524e+00 3.2103300790538758e+00 7 -5 -5 +1230 1 0.0000000000000000e+00 6.9493966557991778e+00 4.3359687441940080e+00 4.6449816045328669e+00 0 3 0 +2529 1 0.0000000000000000e+00 7.4341083127197116e+00 3.6792511142858713e+00 4.6132642022675165e+00 -7 1 -3 +17 1 0.0000000000000000e+00 5.3400169049014909e+00 2.5266444392551328e+00 4.9916011043374269e+00 -1 -6 0 +2055 1 0.0000000000000000e+00 8.5763987247030933e+00 4.5694177906880515e+00 4.4041530594445897e+00 3 -9 2 +1588 1 0.0000000000000000e+00 8.9250932724138465e+00 4.2928839526186042e+00 3.4536728062393625e+00 3 1 4 +622 1 0.0000000000000000e+00 8.0391765671456596e+00 3.3651206153040243e+00 4.7137963177537969e+00 4 -1 3 +2395 1 0.0000000000000000e+00 8.5458830211434638e+00 4.7571506091440536e+00 3.2507316313552144e+00 4 4 -4 +46 1 0.0000000000000000e+00 8.9518186484807867e+00 2.7281470635039322e+00 4.1758017648604664e+00 1 -3 2 +1804 1 0.0000000000000000e+00 8.1646850782173903e+00 4.6926728885150784e+00 4.2551230394761772e+00 3 -8 1 +2161 1 0.0000000000000000e+00 9.1599099216954460e+00 4.5751831339091646e+00 4.5926951955765816e+00 -5 -1 1 +740 1 0.0000000000000000e+00 7.6090296524930947e+00 4.2526292155379695e+00 4.6053083309384881e+00 9 1 -3 +2836 2 -1.0000000000000000e+00 9.7159082727158665e+00 3.3901982616452400e+00 4.2136622218330775e+00 -5 -3 6 +2524 1 0.0000000000000000e+00 8.5310801839909445e+00 3.3677187742253647e+00 3.3525640351421568e+00 -3 6 4 +473 1 0.0000000000000000e+00 9.9160623297960697e+00 4.7142070445372841e+00 3.5997726237428935e+00 3 -1 -1 +1987 1 0.0000000000000000e+00 8.2390307661760360e+00 2.5834552779052831e+00 3.1622489557177555e+00 0 -5 4 +2803 1 0.0000000000000000e+00 8.7001828469370359e+00 3.9629999374283242e+00 3.9727870599019921e+00 -8 3 4 +843 1 0.0000000000000000e+00 9.4522638243789210e+00 3.2234546800106409e+00 3.6034666905030117e+00 0 4 5 +1524 1 0.0000000000000000e+00 8.1428549873046041e+00 4.2389103554701579e+00 4.7996028226077714e+00 6 3 -7 +2755 1 0.0000000000000000e+00 9.2227244392136836e+00 4.0936418099024587e+00 4.0105375351687771e+00 -1 -3 5 +617 1 0.0000000000000000e+00 7.9460390132763594e+00 3.5694960782892626e+00 2.6131942106443873e+00 -8 0 2 +2764 1 0.0000000000000000e+00 8.2658443794975227e+00 3.5118675136653521e+00 3.5166467516893123e+00 3 -4 -1 +369 1 0.0000000000000000e+00 9.9218647327270375e+00 3.8520556554335776e+00 2.9739224858498998e+00 -4 3 -2 +1078 1 0.0000000000000000e+00 8.1218523991885139e+00 4.0753953512158549e+00 2.8112482403801087e+00 -5 7 -6 +1846 1 0.0000000000000000e+00 9.7547954928151217e+00 2.7112244272237054e+00 3.9166670942012267e+00 2 9 -1 +1091 1 0.0000000000000000e+00 9.0667811707756378e+00 4.9046009666830326e+00 3.5699416936320665e+00 -3 1 2 +51 1 0.0000000000000000e+00 9.4635875352150638e+00 2.7620477030939661e+00 2.5258991949955694e+00 -1 5 4 +1546 1 0.0000000000000000e+00 9.2803929583368472e+00 4.6379251641479762e+00 3.0748952102383060e+00 2 -3 7 +1411 1 0.0000000000000000e+00 9.2499606229879969e+00 2.5602550009332106e+00 2.9946363904700228e+00 1 1 0 +1497 1 0.0000000000000000e+00 9.5743199037514000e+00 4.7421961634853611e+00 3.3633475665927159e+00 5 1 -2 +2257 1 0.0000000000000000e+00 7.8465940636324696e+00 2.8724787937029324e+00 3.5915181578237374e+00 3 -1 -2 +722 1 0.0000000000000000e+00 9.7217699533830224e+00 3.2740112420473468e+00 3.0168211858674781e+00 2 -5 -2 +1775 1 0.0000000000000000e+00 9.8117626892192558e+00 4.4933603488202190e+00 3.9653752137094029e+00 -7 0 5 +11 1 0.0000000000000000e+00 8.1029252023024334e+00 2.7178549753322798e+00 4.2442106783949800e+00 0 11 -5 +1343 1 0.0000000000000000e+00 7.6345927662043342e+00 4.5078604662865560e+00 4.0027644004111158e+00 -5 0 0 +2750 1 0.0000000000000000e+00 7.8235494807879364e+00 3.6264482358050540e+00 3.8601799517040978e+00 0 -3 1 +1171 1 0.0000000000000000e+00 9.3183346507922913e+00 3.1112322160772274e+00 4.7415384162661791e+00 -3 5 -2 +915 1 0.0000000000000000e+00 9.0499975951980147e+00 4.0141031154023530e+00 2.9457718016036587e+00 2 0 7 +1237 1 0.0000000000000000e+00 8.4897407346572340e+00 2.6771484947782493e+00 3.7902242733495983e+00 -2 -4 -3 +2323 1 0.0000000000000000e+00 9.5225783830706128e+00 3.4827514199944600e+00 2.6996877569469628e+00 1 4 -1 +2396 1 0.0000000000000000e+00 8.9708225400248320e+00 3.6030338822058074e+00 4.2207807006129832e+00 1 4 2 +511 1 0.0000000000000000e+00 7.7310518988261192e+00 4.0728860460040401e+00 3.2698113976325773e+00 -1 -6 -3 +2675 1 0.0000000000000000e+00 8.7001178103556196e+00 2.9029474454352475e+00 2.7138296591650897e+00 1 -6 1 +2254 1 0.0000000000000000e+00 9.4743594422068096e+00 4.0523942787519847e+00 4.5583035364244431e+00 -3 4 5 +2422 1 0.0000000000000000e+00 8.1456007783988014e+00 4.8572182005427909e+00 3.6327067214398125e+00 3 -1 -2 +1916 1 0.0000000000000000e+00 9.1358587116588783e+00 4.9855270930672981e+00 4.3286250850439947e+00 5 0 -6 +463 1 0.0000000000000000e+00 5.4954444545695811e+00 2.4645161390934627e+00 5.1334123018600257e+00 -2 -5 -8 +434 1 0.0000000000000000e+00 7.1845589075874523e+00 5.6415151749415741e-02 6.9275821579614938e+00 -6 6 2 +2702 1 0.0000000000000000e+00 6.0267219163678867e+00 1.1233083803341313e+00 6.0621242096118655e+00 -3 -2 -5 +2473 1 0.0000000000000000e+00 6.9160594661413590e+00 4.7139480460099970e-01 6.2074870150239274e+00 -4 1 5 +2665 1 0.0000000000000000e+00 6.9335640903710454e+00 1.6440924285506804e+00 6.8750581041609227e+00 -1 6 -5 +1673 1 0.0000000000000000e+00 7.3751631071943100e+00 1.3017285414033992e+00 6.5807021485137867e+00 -1 2 6 +1819 1 0.0000000000000000e+00 6.7283887022193749e+00 2.3851796166836774e+00 7.1760423860401756e+00 -3 -1 0 +1564 1 0.0000000000000000e+00 5.8830820337844161e+00 1.5969594436623618e+00 5.5384831756385848e+00 -6 -6 8 +689 1 0.0000000000000000e+00 6.4868005792311623e+00 1.5974874113756521e-01 6.8612194177788979e+00 2 -6 -1 +2856 2 -1.0000000000000000e+00 5.1363794633066622e+00 2.3071866168208724e-01 5.6419300248531910e+00 1 -1 -4 +1640 1 0.0000000000000000e+00 6.6972310390834604e+00 1.4669614421541211e+00 6.9646364686787745e+00 1 0 -1 +129 1 0.0000000000000000e+00 6.8282120887728093e+00 7.8351618200933837e-01 5.9559368132349926e+00 -2 -3 -3 +2195 1 0.0000000000000000e+00 5.3743867620048347e+00 1.4700115389040547e+00 7.3998464552496461e+00 5 9 4 +368 1 0.0000000000000000e+00 6.1641979140834833e+00 2.4733373058876924e+00 5.5499922092029923e+00 -3 5 -3 +2144 1 0.0000000000000000e+00 5.5650988419474254e+00 6.3099580962864132e-01 7.1713354485404750e+00 2 1 6 +2372 1 0.0000000000000000e+00 5.9891922919696530e+00 1.5274885511038172e-01 6.3168570741338552e+00 1 -2 -2 +2299 1 0.0000000000000000e+00 6.1133967438859091e+00 1.2234584725253879e+00 6.7948735738466324e+00 2 -1 -7 +1946 1 0.0000000000000000e+00 7.0856106677773436e+00 2.3640607126001648e-01 5.4681075522041152e+00 2 -5 -2 +973 1 0.0000000000000000e+00 6.0388680418911038e+00 4.8146925064387808e-01 5.7723197603063241e+00 -2 1 1 +3 1 0.0000000000000000e+00 7.1832792683423543e+00 1.2067139652589194e+00 5.8029852995665152e+00 0 3 2 +482 1 0.0000000000000000e+00 5.6471107500621676e+00 2.2284288937265861e+00 6.0498778220713980e+00 1 4 3 +2182 1 0.0000000000000000e+00 6.6356934994093875e+00 2.1870197255479122e+00 5.1184860540690513e+00 -2 -1 -2 +133 1 0.0000000000000000e+00 5.1281953299117875e+00 2.8835377225822894e-02 6.4282468185097441e+00 3 4 1 +1318 1 0.0000000000000000e+00 6.6381956215211604e+00 1.3385562664826622e+00 5.2609073586819672e+00 3 -3 -2 +1321 1 0.0000000000000000e+00 5.8747505503120365e+00 1.8823002913319291e+00 7.1452281633924892e+00 1 -5 0 +1139 1 0.0000000000000000e+00 6.4161997376808522e+00 1.0146418993110027e+00 6.7261291823956695e+00 -2 -4 3 +1540 1 0.0000000000000000e+00 6.8641340559740218e+00 1.1411343620801784e+00 5.0038877382217439e+00 -5 -3 -6 +516 1 0.0000000000000000e+00 6.3782974114931230e+00 1.9140618890720458e+00 6.1904230038370995e+00 0 3 4 +1241 1 0.0000000000000000e+00 5.8560522410291957e+00 1.4125252304752711e+00 6.5499505853888760e+00 1 2 -1 +515 1 0.0000000000000000e+00 6.8624257827726556e+00 2.2710057260238128e+00 6.3030305769951589e+00 -8 -2 -2 +1923 1 0.0000000000000000e+00 5.3333014425187013e+00 2.0527706379575590e+00 6.9239446239808116e+00 4 4 4 +1453 1 0.0000000000000000e+00 5.0581187487678569e+00 1.4591595703391451e+00 5.9669150249260605e+00 -6 5 2 +1770 1 0.0000000000000000e+00 7.3928559660739683e+00 3.6991883014692367e-01 7.0885166832654640e+00 -4 -1 0 +616 1 0.0000000000000000e+00 6.1392641180007077e+00 7.4976020357225459e-01 5.1262108278139165e+00 1 3 3 +1822 1 0.0000000000000000e+00 6.9627504501540400e+00 7.9696482676922253e-01 7.3580666204749825e+00 -1 3 -2 +1305 1 0.0000000000000000e+00 5.5056937488915896e+00 1.0609452054475110e+00 5.4266364616815572e+00 0 2 -1 +597 1 0.0000000000000000e+00 5.2264749465648723e+00 7.4096474037258209e-01 5.9402039986776156e+00 -5 -6 6 +253 1 0.0000000000000000e+00 5.2452628002949080e+00 1.1764943247049373e+00 7.0718533379608965e+00 0 8 -4 +972 1 0.0000000000000000e+00 5.1025978710438373e+00 3.0568326409137581e-01 5.0389818379718525e+00 2 -4 -1 +928 1 0.0000000000000000e+00 6.3058986420573033e+00 8.0165595398809109e-01 7.3794262739303287e+00 0 2 2 +2142 1 0.0000000000000000e+00 5.5401794539810538e+00 2.3371066188130030e+00 6.4951624302967375e+00 3 3 3 +10 1 0.0000000000000000e+00 6.8613306202291486e+00 1.5543869232246630e+00 6.0206581221041899e+00 0 3 -3 +2672 1 0.0000000000000000e+00 6.9504375672821084e+00 2.2667524739883436e+00 5.5961674440587457e+00 1 2 -3 +1088 1 0.0000000000000000e+00 6.7890287804451512e+00 6.8104505435402074e-01 5.3684026723213112e+00 -4 -6 -6 +2317 1 0.0000000000000000e+00 6.2276663976370088e+00 2.4068956367157024e+00 6.8692864324707834e+00 -1 -1 3 +1344 1 0.0000000000000000e+00 5.8362834334110270e+00 1.8571018913573449e+00 5.1762980886969778e+00 -1 3 3 +2469 1 0.0000000000000000e+00 7.4097367615478795e+00 8.7555150870355813e-01 6.9707669844809956e+00 -2 7 -2 +2855 2 -1.0000000000000000e+00 7.4943995305372555e+00 2.6287183581382034e-01 5.4508831570165830e+00 -5 3 -4 +559 1 0.0000000000000000e+00 9.6224210920267677e+00 1.9376351828908076e+00 5.0990660494694930e+00 -2 -3 2 +2405 1 0.0000000000000000e+00 7.6994750682531494e+00 1.1462207148764942e+00 6.2469888963765658e+00 7 1 6 +1473 1 0.0000000000000000e+00 7.5271069959837114e+00 1.0914584985714197e+00 7.2323010261308767e+00 5 5 -4 +1149 1 0.0000000000000000e+00 9.9839652602948146e+00 8.8398955911877009e-01 6.1400367355686614e+00 -4 -2 -1 +411 1 0.0000000000000000e+00 9.7579809562986739e+00 1.4706133219966806e+00 7.1675804196455450e+00 -1 -7 0 +166 1 0.0000000000000000e+00 8.6769698832152411e+00 1.4032315627340199e+00 6.2926014232097511e+00 -2 -10 -4 +924 1 0.0000000000000000e+00 7.9581304492955649e+00 6.8603812513310825e-01 5.6945526914116380e+00 4 -1 -2 +676 1 0.0000000000000000e+00 8.8640425519965618e+00 8.7416042210412470e-01 6.7408771242684651e+00 5 2 7 +687 1 0.0000000000000000e+00 8.5472535903801994e+00 6.6888647224651521e-01 6.0732556702738520e+00 -3 4 4 +1003 1 0.0000000000000000e+00 9.2314354886791641e+00 1.2489655020375472e+00 5.1516513192039186e+00 2 3 -4 +1648 1 0.0000000000000000e+00 8.1578851963979488e+00 6.6843844190596746e-02 5.3671614712618130e+00 3 0 -6 +243 1 0.0000000000000000e+00 7.6748005109424859e+00 1.9808701313389396e+00 6.3313202882119528e+00 -1 -3 6 +952 1 0.0000000000000000e+00 9.6825987209427726e+00 7.6643875255767324e-01 7.0534081424750594e+00 5 4 1 +1607 1 0.0000000000000000e+00 8.8938557502874733e+00 2.0968585958576775e+00 6.2083238990297005e+00 -5 -1 -3 +2797 1 0.0000000000000000e+00 7.9356211043771294e+00 1.1635141367779698e+00 5.6749535341392932e+00 -1 4 -2 +902 1 0.0000000000000000e+00 9.6773485526409484e+00 1.5338678845372300e-01 6.5766241623624095e+00 4 2 -4 +2636 1 0.0000000000000000e+00 9.4348342868561677e+00 1.0785351898009628e-01 5.1031941207915219e+00 1 4 -8 +239 1 0.0000000000000000e+00 7.7973756214841492e+00 6.3954041759843164e-02 6.5921937050444734e+00 1 2 3 +1860 1 0.0000000000000000e+00 8.5504502950827828e+00 2.3762166947696306e+00 6.9896563785395314e+00 -6 -3 3 +2249 1 0.0000000000000000e+00 9.4041504021153788e+00 2.3354341334124706e+00 6.2834990856856940e+00 7 -2 -4 +970 1 0.0000000000000000e+00 8.7188163283443689e+00 1.7919840596806065e+00 7.0655389389955161e+00 -6 7 4 +976 1 0.0000000000000000e+00 7.7691273098833937e+00 2.3374317957311241e+00 6.4590488802841373e+00 -6 -2 -1 +1681 1 0.0000000000000000e+00 9.3647389745458938e+00 1.2426210305865837e+00 5.7606720246284526e+00 -1 5 4 +2737 1 0.0000000000000000e+00 8.9724494413821301e+00 5.4423688635421308e-01 7.4563950424967480e+00 -8 3 6 +734 1 0.0000000000000000e+00 7.9670016906430483e+00 1.2949144424533501e+00 5.1771144400322262e+00 -1 -5 0 +292 1 0.0000000000000000e+00 8.4034604935122577e+00 2.0988588208261221e+00 6.2353099089914146e+00 -1 7 -5 +664 1 0.0000000000000000e+00 9.2839264708100373e+00 1.7911766693290379e+00 6.8556751319776179e+00 3 5 0 +2784 1 0.0000000000000000e+00 9.2589019722364956e+00 1.2995601120705420e+00 6.3396890975572004e+00 -1 1 -4 +2245 1 0.0000000000000000e+00 8.6930282534431296e+00 1.0234930487445939e+00 7.3212655707996870e+00 -3 -2 -6 +937 1 0.0000000000000000e+00 7.9688867899887956e+00 5.9048264516473625e-01 7.0718912464627550e+00 -4 -4 -1 +2276 1 0.0000000000000000e+00 8.5718649412696060e+00 1.5004673497807963e+00 7.2104669176238350e+00 -2 6 -2 +758 1 0.0000000000000000e+00 8.1867733736432715e+00 2.1909950516563685e+00 5.7782689197471848e+00 -1 -4 -5 +519 1 0.0000000000000000e+00 9.0075880730267563e+00 2.2039662611320860e+00 5.3224411443564108e+00 -2 0 -1 +56 1 0.0000000000000000e+00 9.1267752068344556e+00 2.0014724952394651e+00 5.8706399009375216e+00 -4 1 -3 +800 1 0.0000000000000000e+00 7.6930885106599129e+00 2.8835032925016701e-01 6.1937357234641803e+00 3 -1 -5 +2122 1 0.0000000000000000e+00 8.2220486806813486e+00 1.0289101304884665e+00 6.8905754708362270e+00 -4 3 -1 +1599 1 0.0000000000000000e+00 9.0185657734736218e+00 2.3450206169479690e-01 5.7158588151795744e+00 2 -4 1 +747 1 0.0000000000000000e+00 8.6021602495100158e+00 9.8943823190565250e-01 5.5959665494189341e+00 4 -3 2 +1609 1 0.0000000000000000e+00 9.4928374105590532e+00 2.0208934426215368e+00 7.4577853885267951e+00 3 -4 0 +2443 1 0.0000000000000000e+00 7.5108506083046098e+00 1.8436231538306040e+00 5.5677425132012841e+00 -1 2 1 +2229 1 0.0000000000000000e+00 8.5898771145971207e+00 5.1543670371058647e-01 6.4972561232926509e+00 -2 6 -4 +991 1 0.0000000000000000e+00 9.4073368758044413e+00 4.5425700981387157e-01 6.3675621025660112e+00 -7 2 4 +2810 2 -1.0000000000000000e+00 8.1954566971705649e+00 2.0571978301717011e+00 5.0010685613128798e+00 -4 3 -3 +2727 1 0.0000000000000000e+00 8.4543270623927214e+00 1.6760822327484456e-01 5.8904371106560944e+00 6 -5 -6 +1570 1 0.0000000000000000e+00 9.8965436586871913e+00 1.6315724704080445e-01 5.6882944048386452e+00 -2 1 -3 +1177 1 0.0000000000000000e+00 7.6975292125990347e+00 1.8951792270912360e+00 7.1943550483257734e+00 0 5 3 +2614 1 0.0000000000000000e+00 5.9089213154641520e+00 4.8177092220800901e+00 7.4289818493151323e+00 3 0 -2 +2056 1 0.0000000000000000e+00 6.7229427992771731e+00 3.4181564570758232e+00 7.2024868774679476e+00 -1 -2 4 +2227 1 0.0000000000000000e+00 5.1505579889592239e+00 3.7204428991704530e+00 5.8196911103359215e+00 2 -3 3 +2099 1 0.0000000000000000e+00 5.7501539673595135e+00 4.2450231888574228e+00 5.2710837751897603e+00 1 3 -6 +549 1 0.0000000000000000e+00 7.1960587054946483e+00 4.1217448874496920e+00 7.1879657521605909e+00 -5 1 -8 +174 1 0.0000000000000000e+00 6.9139889706495961e+00 3.4799206653509618e+00 6.5686273067188905e+00 -1 -2 6 +2792 1 0.0000000000000000e+00 7.2312275119707445e+00 4.9273290831194601e+00 6.7341497393489753e+00 3 6 -2 +1227 1 0.0000000000000000e+00 7.3296393832031974e+00 3.4311791517808858e+00 7.3310059431464349e+00 8 2 -3 +2453 1 0.0000000000000000e+00 6.2132959661451430e+00 4.8434420379186971e+00 5.4231203454424080e+00 -4 -3 -5 +2850 2 -1.0000000000000000e+00 6.6200337865033712e+00 3.9020965684157600e+00 5.4535584279683631e+00 -3 0 6 +1748 1 0.0000000000000000e+00 7.2286373953284171e+00 4.7093927892680716e+00 5.9981167587067752e+00 -1 1 4 +366 1 0.0000000000000000e+00 5.4726920167016964e+00 3.4166414222715242e+00 7.0492972563353957e+00 0 0 -5 +2292 1 0.0000000000000000e+00 5.9957014799523973e+00 3.2389731280804694e+00 5.1602335209948071e+00 1 2 -1 +2052 1 0.0000000000000000e+00 6.3958770554419972e+00 2.7155266011946475e+00 6.2923623850962800e+00 1 1 6 +2834 2 -1.0000000000000000e+00 6.2343920748734227e+00 3.4776426898102533e+00 6.9835694146088914e+00 4 -3 -2 +1869 1 0.0000000000000000e+00 5.5807966404322498e+00 4.8061838116541660e+00 5.2494659300932947e+00 -1 1 -1 +2841 2 -1.0000000000000000e+00 5.3710653817724960e+00 4.6296849287360411e+00 6.8192594341065211e+00 -7 -3 2 +2288 1 0.0000000000000000e+00 5.1057912721226373e+00 3.3303159725004035e+00 6.5871297250292464e+00 2 0 0 +50 1 0.0000000000000000e+00 6.4975015451364779e+00 4.3328877023959533e+00 6.1052308756059963e+00 1 -1 3 +1086 1 0.0000000000000000e+00 6.5012681412071736e+00 3.1701693683434407e+00 5.7860572025224046e+00 -4 -2 3 +344 1 0.0000000000000000e+00 6.2138657370195896e+00 4.3090546876091356e+00 7.3273492002916401e+00 2 -2 -2 +1658 1 0.0000000000000000e+00 5.6791183584878366e+00 3.8387097154143408e+00 7.4899713159468391e+00 -5 -3 -1 +2586 1 0.0000000000000000e+00 5.1053325333239599e+00 4.6133612083176896e+00 5.4873475506762537e+00 1 4 -3 +2937 3 1.0000000000000000e+00 6.1981089733880363e+00 3.0020160535401890e+00 5.8056665761943504e+00 -2 0 -6 +498 1 0.0000000000000000e+00 5.3669173189383059e+00 2.6337821926290963e+00 7.0778602836085893e+00 2 -4 4 +1759 1 0.0000000000000000e+00 5.1055956022738416e+00 2.8598148934536436e+00 6.2408152081886916e+00 1 1 -2 +2719 1 0.0000000000000000e+00 5.7413468048449952e+00 4.9910934471442587e+00 5.9246922959182671e+00 -1 0 -5 +2690 1 0.0000000000000000e+00 5.5748423580480431e+00 3.2653609964967636e+00 5.6889440967277354e+00 -1 -5 -2 +2145 1 0.0000000000000000e+00 6.8947381470689324e+00 3.0834492229490933e+00 5.1825085909436970e+00 7 -5 -2 +957 1 0.0000000000000000e+00 7.1448497189344593e+00 3.1968287427670972e+00 5.8574518352313936e+00 -5 6 -5 +1910 1 0.0000000000000000e+00 5.4770897278774218e+00 2.9818535320844908e+00 6.9585396689847601e+00 -3 1 -4 +150 1 0.0000000000000000e+00 5.9780452127445658e+00 4.6792837650220180e+00 6.0053920982593194e+00 6 -10 1 +295 1 0.0000000000000000e+00 7.2856650035205410e+00 3.6821293820491725e+00 5.2909916598278519e+00 -3 0 2 +1275 1 0.0000000000000000e+00 6.2300318151656118e+00 4.1894964764604863e+00 6.7441152707186429e+00 -5 2 -1 +824 1 0.0000000000000000e+00 5.8232512819187523e+00 3.1724706918265868e+00 6.5084232668620841e+00 -2 2 3 +1506 1 0.0000000000000000e+00 5.1928460689610496e+00 2.8354925255749848e+00 5.7143915887267855e+00 -4 3 0 +947 1 0.0000000000000000e+00 6.4238151948074504e+00 3.8012467379862618e+00 6.0146801544336430e+00 4 4 0 +659 1 0.0000000000000000e+00 5.5688754850662043e+00 3.7488884948328640e+00 7.1051391064759928e+00 2 0 0 +1842 1 0.0000000000000000e+00 7.0884238322425581e+00 4.0660112935581934e+00 6.0391763487929442e+00 0 3 2 +2739 1 0.0000000000000000e+00 6.9736936546964543e+00 4.2810631954813250e+00 6.8736058438349756e+00 -3 4 -7 +2663 1 0.0000000000000000e+00 5.9950145940956219e+00 3.7296797672894710e+00 6.2000344131855494e+00 2 -6 0 +2163 1 0.0000000000000000e+00 5.6262220987294356e+00 4.2975167757396875e+00 6.0871239360094895e+00 0 -1 4 +701 1 0.0000000000000000e+00 6.9799570454878559e+00 4.3586634894730283e+00 5.3108475452695449e+00 4 1 -4 +1960 1 0.0000000000000000e+00 5.3556423089762673e+00 3.7470350654148517e+00 5.1194440263869758e+00 0 -1 4 +2528 1 0.0000000000000000e+00 8.5590447829528067e+00 2.7806911513182730e+00 5.1029239038713667e+00 5 -5 -1 +2164 1 0.0000000000000000e+00 8.1373585440377454e+00 3.4425757840867059e+00 6.0997402916921013e+00 -3 5 -3 +2040 1 0.0000000000000000e+00 7.7096786073020542e+00 2.5639474037664653e+00 5.3059210716548399e+00 -1 1 -1 +248 1 0.0000000000000000e+00 7.8416970946997120e+00 4.7551412220151335e+00 7.2048684340864648e+00 1 -1 -5 +865 1 0.0000000000000000e+00 9.2438474505747621e+00 3.2920677978813568e+00 6.7505170879580492e+00 -3 -2 6 +642 1 0.0000000000000000e+00 8.8646494871665169e+00 4.1926709276758238e+00 6.0643647937353986e+00 -3 -5 -6 +2708 1 0.0000000000000000e+00 7.5737047964573030e+00 3.7458175545988865e+00 6.9447719306529638e+00 2 4 -3 +574 1 0.0000000000000000e+00 9.5673137782055466e+00 3.0038115011813442e+00 5.2638480285565032e+00 -5 1 0 +2597 1 0.0000000000000000e+00 8.9222317458496825e+00 2.8722161189930264e+00 5.8823543351041359e+00 -5 2 4 +771 1 0.0000000000000000e+00 9.2241392162398128e+00 3.8306240465060979e+00 5.4185787025535417e+00 5 3 -5 +2842 2 -1.0000000000000000e+00 8.5212528111599504e+00 4.9527098015870328e+00 6.5257546235329800e+00 -3 -2 3 +2541 1 0.0000000000000000e+00 8.6446254155903635e+00 4.2913968545284407e+00 6.7192526347996120e+00 0 -7 3 +1429 1 0.0000000000000000e+00 9.1872725055667050e+00 4.7881865787027866e+00 7.3446490225048056e+00 0 2 -1 +1934 1 0.0000000000000000e+00 9.2384602136192129e+00 3.6304199414073541e+00 6.3935036640739655e+00 4 1 -2 +635 1 0.0000000000000000e+00 8.2189359213570814e+00 4.5009912986117220e+00 5.9343071814158650e+00 6 -4 -2 +1370 1 0.0000000000000000e+00 7.5879532407393695e+00 3.5941359378706537e+00 6.2507331745119767e+00 -4 5 -3 +2201 1 0.0000000000000000e+00 8.7155619616173201e+00 3.3405153145252697e+00 5.6035410663412719e+00 1 -1 1 +1692 1 0.0000000000000000e+00 9.4343387535906995e+00 2.6856996160602504e+00 7.1561381584491164e+00 -8 -4 3 +1953 1 0.0000000000000000e+00 9.1211938429510706e+00 4.4928999856365301e+00 5.4751435546801686e+00 -4 -2 0 +2401 1 0.0000000000000000e+00 8.5541396745687095e+00 3.5557833791448452e+00 6.6123074064689922e+00 0 4 0 +1797 1 0.0000000000000000e+00 8.8340374587360859e+00 2.8414792708641166e+00 6.6251348391702978e+00 1 -3 2 +1166 1 0.0000000000000000e+00 8.6182920704836210e+00 3.3642664220872844e+00 7.1569903253005913e+00 2 -4 3 +1574 1 0.0000000000000000e+00 9.0802668024132611e+00 3.6913008189996499e+00 5.1388926682640674e+00 -2 3 1 +673 1 0.0000000000000000e+00 8.2845628886055245e+00 2.8464048984096602e+00 6.0257101891313507e+00 -2 0 -1 +2746 1 0.0000000000000000e+00 9.8692046254204850e+00 2.7040105700575108e+00 7.3719749527961076e+00 -3 4 1 +1042 1 0.0000000000000000e+00 7.6318422587414156e+00 4.3333865849053668e+00 6.1212676176988774e+00 5 -5 0 +2200 1 0.0000000000000000e+00 7.5666513943568621e+00 2.8701536070081342e+00 5.9892546094192705e+00 2 -6 4 +1997 1 0.0000000000000000e+00 9.9850365516730069e+00 4.8734862456645587e+00 5.8642994305092344e+00 -2 5 1 +509 1 0.0000000000000000e+00 9.4205990602957872e+00 3.3061868107043835e+00 5.9434214729925632e+00 2 0 2 +1072 1 0.0000000000000000e+00 9.5986837219546945e+00 2.6425678199156164e+00 6.6807444042660471e+00 -2 0 -4 +1013 1 0.0000000000000000e+00 9.3872700864424345e+00 4.1281084066093880e+00 7.1476620860821418e+00 -1 7 3 +2660 1 0.0000000000000000e+00 8.7236931839863274e+00 4.7123813330388566e+00 5.1849027196742465e+00 -1 -5 -2 +135 1 0.0000000000000000e+00 8.4048539716059310e+00 4.1796295576623717e+00 7.1252506335900536e+00 0 1 1 +84 1 0.0000000000000000e+00 7.7844330631356682e+00 2.6875801693504071e+00 6.8964995945055048e+00 2 -2 -2 +864 1 0.0000000000000000e+00 9.8958127529434794e+00 3.8253014732874746e+00 6.7446330619561907e+00 -1 1 -1 +756 1 0.0000000000000000e+00 8.8129848566167706e+00 4.1187622496822440e+00 5.2066223139933374e+00 -5 3 1 +276 1 0.0000000000000000e+00 9.4171190389891457e+00 3.3526206607281361e+00 7.4074991926865534e+00 -4 -1 1 +686 1 0.0000000000000000e+00 9.6364664204951573e+00 4.6032070426878393e+00 5.2828790885180297e+00 -1 1 1 +525 1 0.0000000000000000e+00 7.7492721363040333e+00 4.1713096569835413e+00 6.7138053296233622e+00 4 -3 0 +55 1 0.0000000000000000e+00 7.8011378218426453e+00 4.9032952228803506e+00 5.0472092052000495e+00 -4 7 0 +2445 1 0.0000000000000000e+00 9.5168704638988455e+00 4.1072977347081849e+00 6.4287027546874116e+00 -6 0 -10 +1038 1 0.0000000000000000e+00 9.6383657730803218e+00 4.1177561184293587e+00 5.8669224876554429e+00 0 2 -7 +1642 1 0.0000000000000000e+00 8.3034612088292530e+00 3.7986456767983219e+00 5.0705594899629620e+00 8 -3 -1 +1297 1 0.0000000000000000e+00 8.0278523508064215e+00 3.8692245099763185e+00 5.4957200444545142e+00 0 -1 -1 +1352 1 0.0000000000000000e+00 7.5588887629788504e+00 4.7123782106587262e+00 5.5024359052910725e+00 0 0 3 +444 1 0.0000000000000000e+00 9.4929499137446189e+00 2.6568008904014238e+00 5.6063056173568597e+00 -7 5 0 +182 1 0.0000000000000000e+00 7.7127479083793116e+00 3.3497851003420740e+00 5.2816066641381259e+00 -4 2 7 +1917 1 0.0000000000000000e+00 9.6326364387465269e+00 4.9804457018823758e+00 6.6596129344000135e+00 4 5 -1 +1219 1 0.0000000000000000e+00 9.0819122352662074e+00 4.7322210818666139e+00 6.1471767094038769e+00 -6 0 3 +1885 1 0.0000000000000000e+00 7.0462894090870689e+00 1.2363445854498931e+00 9.6569977228086898e+00 0 0 2 +424 1 0.0000000000000000e+00 6.9247698229399264e+00 2.0854076837435875e+00 8.4352092463277479e+00 -1 5 -5 +1907 1 0.0000000000000000e+00 6.3552458109138028e+00 1.1287199070038383e+00 9.8858921706412755e+00 5 -2 -3 +2452 1 0.0000000000000000e+00 7.4751299963748412e+00 5.6238616075105252e-01 8.6699334336886960e+00 2 -3 -1 +1577 1 0.0000000000000000e+00 6.8527725834571518e+00 1.9832562586255291e+00 9.0214710577789958e+00 7 2 -5 +2490 1 0.0000000000000000e+00 5.7951542681082522e+00 1.2697289875100086e+00 8.0203153585778715e+00 2 -6 -2 +614 1 0.0000000000000000e+00 6.6941332666979569e+00 1.0254094026577121e+00 8.7171801907962596e+00 3 7 -3 +2085 1 0.0000000000000000e+00 7.3353731648668745e+00 1.0212424275649099e+00 8.0116984075572084e+00 1 -1 2 +1866 1 0.0000000000000000e+00 7.2350331781018751e+00 1.5372632252234926e+00 8.4836274402080782e+00 -3 5 0 +974 1 0.0000000000000000e+00 7.1664556804882675e+00 7.0624031018312405e-01 9.0132622993937463e+00 4 4 5 +1472 1 0.0000000000000000e+00 6.0612325258064104e+00 2.9080123697581478e-01 9.6318162863230068e+00 3 2 3 +1203 1 0.0000000000000000e+00 6.5141305490972785e+00 1.4947344525242976e+00 9.4640333636573803e+00 0 1 3 +4 1 0.0000000000000000e+00 6.1061848580744309e+00 2.0996449403914723e+00 7.7535662751149088e+00 -4 0 -1 +1985 1 0.0000000000000000e+00 7.1240604377542560e+00 2.6232350354506895e-01 9.4787656217935847e+00 0 6 -2 +1306 1 0.0000000000000000e+00 6.4774821127038935e+00 1.3781112794789372e+00 8.0953600533107117e+00 5 1 6 +1592 1 0.0000000000000000e+00 6.6620647395309076e+00 3.0129670389443347e-01 8.9949035433400262e+00 -5 4 -2 +2602 1 0.0000000000000000e+00 5.2325905395666696e+00 2.2266961866972608e+00 7.8235949244918048e+00 -7 -1 -1 +2487 1 0.0000000000000000e+00 6.6480846623891985e+00 1.2585195961257352e+00 7.8429899849358060e+00 0 5 -3 +2494 1 0.0000000000000000e+00 5.6276090797979741e+00 2.3965495227289324e+00 7.9809023880958048e+00 5 -1 -1 +557 1 0.0000000000000000e+00 5.5638510157913732e+00 2.7451626383028521e-01 9.8389054050189593e+00 -4 1 1 +2706 1 0.0000000000000000e+00 6.2609521310335614e+00 3.3508618382754686e-02 8.2972181820272795e+00 2 -1 1 +2968 3 1.0000000000000000e+00 6.7032504283948615e+00 4.5228509208181156e-01 8.2614773211788695e+00 -2 -2 -3 +1328 1 0.0000000000000000e+00 7.3058110360996436e+00 1.9456111834699630e+00 9.7575410269403040e+00 2 -1 -3 +2488 1 0.0000000000000000e+00 7.1338378577110824e+00 1.3079796039056184e+00 8.8813461236563267e+00 -1 0 -6 +1889 1 0.0000000000000000e+00 5.9127995567106399e+00 1.8341037690503510e+00 9.0418086100051163e+00 0 2 3 +2295 1 0.0000000000000000e+00 6.6174902785499450e+00 2.3271197189504171e+00 8.0513246427805161e+00 5 0 0 +1672 1 0.0000000000000000e+00 5.3662592655594104e+00 3.8764246747684117e-01 7.6778697002986496e+00 -1 1 6 +2467 1 0.0000000000000000e+00 6.9842304272539790e+00 1.9937668702519438e+00 7.5244103363844612e+00 -1 1 -3 +867 1 0.0000000000000000e+00 7.1651964497466309e+00 2.3762149968734483e-01 8.0326870276449220e+00 4 3 1 +2605 1 0.0000000000000000e+00 5.4219891765809525e+00 2.0800265011414987e+00 9.9174807859715806e+00 1 -2 -2 +408 1 0.0000000000000000e+00 5.2973300166494592e+00 1.4389489406431206e+00 9.8489584819878182e+00 0 0 -1 +207 1 0.0000000000000000e+00 5.5880598326586792e+00 1.2951888361341950e+00 8.4597153108700134e+00 3 1 -3 +2348 1 0.0000000000000000e+00 6.0759317120972227e+00 2.3973751438135951e+00 9.4893715629807200e+00 3 2 -4 +313 1 0.0000000000000000e+00 5.7670029440526216e+00 2.1989908287938738e+00 8.8490783031696818e+00 -7 -3 -2 +1769 1 0.0000000000000000e+00 5.1148797514614284e+00 8.6548773373681032e-01 8.9261080650927145e+00 1 -4 -6 +1967 1 0.0000000000000000e+00 6.3526033322761881e+00 5.0244231165306782e-02 7.5655991746834799e+00 0 2 2 +1961 1 0.0000000000000000e+00 5.4063941088301251e+00 2.4599798129933118e-01 8.4081566985119753e+00 7 0 4 +181 1 0.0000000000000000e+00 5.3611138935980041e+00 8.0363752335453276e-01 9.6727044908131603e+00 3 4 1 +2271 1 0.0000000000000000e+00 6.2487554533516070e+00 1.6141762624205034e+00 8.4740097064114011e+00 -8 1 2 +1721 1 0.0000000000000000e+00 5.9646402631788620e+00 1.2339555852383128e+00 9.0751932371092110e+00 -6 -2 5 +2677 1 0.0000000000000000e+00 6.5854637018460807e+00 1.7762787984316755e+00 9.7239559984514194e+00 -8 -1 -2 +1637 1 0.0000000000000000e+00 5.4575680045274906e+00 1.5048317699535541e+00 8.2643736367102960e+00 1 -3 -5 +1810 1 0.0000000000000000e+00 5.2939785504581467e+00 4.0866760558402210e-01 9.0745684360219894e+00 1 6 -2 +920 1 0.0000000000000000e+00 5.1369273900553365e+00 2.0755397519110379e+00 9.2493814565937384e+00 4 -1 -1 +420 1 0.0000000000000000e+00 8.1773575625533130e+00 1.6818423957870428e+00 7.5608888695774503e+00 5 -3 9 +2373 1 0.0000000000000000e+00 8.8633097577338198e+00 2.3336248731491374e+00 7.5875779391728866e+00 1 3 -2 +1397 1 0.0000000000000000e+00 9.8758974072756960e+00 3.8800079874559701e-01 8.4516408019650378e+00 -6 -4 -2 +197 1 0.0000000000000000e+00 9.8370682474189763e+00 2.0186061615654332e+00 8.3187757055119551e+00 1 -8 0 +2119 1 0.0000000000000000e+00 9.5569149430146219e+00 7.5068078626340073e-01 7.7903773359461006e+00 -4 1 -1 +2622 1 0.0000000000000000e+00 7.8200020797257306e+00 9.7418353810258751e-01 8.4243764287616152e+00 -5 -1 -3 +1099 1 0.0000000000000000e+00 9.3228989302647864e+00 1.7714211980655705e+00 9.5635501454524334e+00 -5 2 1 +1320 1 0.0000000000000000e+00 8.9807403673606636e+00 1.3858365233483998e+00 7.8260719259912133e+00 -3 -2 0 +1294 1 0.0000000000000000e+00 7.7585105823486691e+00 2.2314955156926288e+00 9.2277736150212650e+00 2 0 0 +2747 1 0.0000000000000000e+00 9.8653810682131446e+00 4.0692363507309820e-01 7.6423997030774586e+00 3 -6 -1 +709 1 0.0000000000000000e+00 8.0650965009649749e+00 1.2859833442304741e-01 8.6459777418880215e+00 -3 4 2 +1317 1 0.0000000000000000e+00 7.5513337707994976e+00 1.7547568639850826e+00 8.0104479830521633e+00 5 -4 2 +2371 1 0.0000000000000000e+00 8.5838360289517777e+00 6.0875532832411183e-01 9.9026988061683188e+00 0 3 4 +1077 1 0.0000000000000000e+00 9.4577736300095054e+00 2.4251392630608612e+00 8.5416200104046993e+00 1 5 -3 +208 1 0.0000000000000000e+00 9.7316474032950016e+00 4.3800451969619691e-01 9.2782675045445675e+00 1 -4 -1 +2830 2 -1.0000000000000000e+00 8.2276373842919401e+00 9.4798401586608583e-01 9.0952577305073508e+00 -10 -1 -2 +2417 1 0.0000000000000000e+00 9.0767013162910448e+00 1.7061665473113248e+00 9.0126731804166589e+00 2 -9 3 +70 1 0.0000000000000000e+00 8.0183797590505499e+00 1.5239959902046789e+00 9.2727948141374927e+00 0 0 5 +903 1 0.0000000000000000e+00 7.9343408851473569e+00 1.3749743649686608e+00 8.2071144800686433e+00 -6 1 0 +2573 1 0.0000000000000000e+00 8.5418349599575567e+00 1.7617274500033433e+00 9.4268624884760897e+00 2 -3 1 +128 1 0.0000000000000000e+00 7.5512745058120219e+00 2.0742909188509167e+00 8.8005051514661066e+00 7 -1 -1 +488 1 0.0000000000000000e+00 9.2491233005226849e+00 7.0244495448694300e-01 9.6473963281434347e+00 2 4 -4 +403 1 0.0000000000000000e+00 8.6087922179304925e+00 1.9588778600321248e+00 8.5601674496440410e+00 -3 3 0 +370 1 0.0000000000000000e+00 7.7487604781468598e+00 1.7022957204046198e+00 9.7803771852042569e+00 -4 -1 0 +657 1 0.0000000000000000e+00 9.4493739713747189e+00 6.8133042393280163e-01 9.0636395840518187e+00 0 -8 -3 +217 1 0.0000000000000000e+00 9.3258910261168939e+00 1.2755645623221170e+00 8.4580385920072132e+00 4 -7 -4 +1387 1 0.0000000000000000e+00 8.4958285432597158e+00 6.8245920382006986e-01 8.0689744499482536e+00 -2 -4 -2 +1075 1 0.0000000000000000e+00 7.6608929993071282e+00 1.2387707014843655e-01 7.7277736897703200e+00 -1 0 -5 +1117 1 0.0000000000000000e+00 8.8189746622258838e+00 2.2623405351681001e+00 9.3440122416729743e+00 3 -4 1 +575 1 0.0000000000000000e+00 8.4283100683309762e+00 1.1564889549879269e+00 8.6279011327732054e+00 0 7 3 +1676 1 0.0000000000000000e+00 8.8432741054044133e+00 2.2954859801213501e+00 8.5320507039495990e+00 -12 -3 -3 +2666 1 0.0000000000000000e+00 8.1712059999639610e+00 2.1457020982742110e+00 9.9282955078284889e+00 -2 -2 -2 +927 1 0.0000000000000000e+00 7.7895872431797528e+00 8.0252442708726091e-01 7.8118299912392315e+00 2 1 -2 +1243 1 0.0000000000000000e+00 9.6196329555256792e+00 1.1842164584729893e+00 9.1864242782860543e+00 3 -8 6 +1030 1 0.0000000000000000e+00 8.8644390325840625e+00 1.0423722405224392e+00 9.7749174142306146e+00 2 2 2 +1575 1 0.0000000000000000e+00 9.9077182815388536e+00 1.7135911575904064e+00 8.8298153351129045e+00 -7 -1 -1 +1455 1 0.0000000000000000e+00 9.9093373264946489e+00 2.1806583316503012e+00 9.4099569325993837e+00 -4 -10 -6 +2654 1 0.0000000000000000e+00 8.8601288753177769e+00 4.8363112731809171e-01 8.7073135235072634e+00 -2 4 1 +2420 1 0.0000000000000000e+00 7.8079630811045524e+00 2.1894883210194549e+00 7.6716145831545894e+00 -1 6 1 +105 1 0.0000000000000000e+00 8.5974089672469365e+00 1.2105718498214443e-01 8.8838878800500716e+00 -2 0 4 +2689 1 0.0000000000000000e+00 8.3121618667611052e+00 2.2387410034668207e+00 9.0786916755540865e+00 -3 2 1 +959 1 0.0000000000000000e+00 8.8393843030525243e+00 8.5350697764941130e-01 8.3787613753920809e+00 -3 -5 -2 +2001 1 0.0000000000000000e+00 7.8389804144171533e+00 5.5147448847709268e-01 9.3693402459007498e+00 -2 -3 1 +2975 3 1.0000000000000000e+00 7.5995910494836156e+00 9.0150787153646861e-01 9.3764569947025631e+00 -10 1 3 +896 1 0.0000000000000000e+00 8.9429258672526792e+00 1.3057575440426912e+00 9.5962372998600998e+00 1 0 5 +2628 1 0.0000000000000000e+00 9.7725431383090982e+00 1.1124787219150480e+00 8.1375744317387575e+00 -4 0 -1 +363 1 0.0000000000000000e+00 7.9691496245510320e+00 2.8542822786875971e-01 9.8648920513499476e+00 5 1 1 +484 1 0.0000000000000000e+00 8.0979082643798410e+00 7.6333063967604795e-02 8.1778867883626685e+00 2 -3 -3 +2695 1 0.0000000000000000e+00 9.2751957727830838e+00 2.5274755458463853e-02 7.7752296115496389e+00 -3 -7 -2 +1722 1 0.0000000000000000e+00 6.1922040904980591e+00 3.7704570040786991e+00 8.0450176355197733e+00 4 8 4 +2431 1 0.0000000000000000e+00 7.4768703195056299e+00 2.5734795127207764e+00 8.2242171737522138e+00 6 0 -2 +2204 1 0.0000000000000000e+00 6.1685619716813616e+00 3.4758568281077329e+00 9.1996683565991013e+00 2 2 -1 +2638 1 0.0000000000000000e+00 5.8698531489716279e+00 2.9444488063729222e+00 7.5877892193728265e+00 -4 1 -7 +2005 1 0.0000000000000000e+00 7.2558818375162115e+00 2.8072936357544105e+00 9.3590495962827482e+00 3 1 5 +2932 3 1.0000000000000000e+00 7.2804202059847816e+00 4.9258695340661420e+00 8.8031059980845274e+00 0 1 0 +2949 3 1.0000000000000000e+00 5.6247026466720582e+00 4.3068723409551302e+00 8.2079528115755647e+00 0 1 -3 +479 1 0.0000000000000000e+00 6.6992910302609676e+00 3.1348835754861910e+00 8.5080733926123351e+00 -3 -2 1 +741 1 0.0000000000000000e+00 5.2850183571658640e+00 4.5344823376314993e+00 9.0728699390937706e+00 5 4 -3 +1182 1 0.0000000000000000e+00 5.2856725911761586e+00 2.5281708862910945e+00 9.9258970575458569e+00 0 3 -1 +203 1 0.0000000000000000e+00 7.3275210553995684e+00 3.5734532943386434e+00 8.7781041938412638e+00 -4 -2 -1 +334 1 0.0000000000000000e+00 5.0514162718037046e+00 3.2092856724527365e+00 9.1361665326319361e+00 4 -1 0 +1653 1 0.0000000000000000e+00 7.3420954038960478e+00 4.1742641793276665e+00 9.4916204447362471e+00 -3 -4 1 +1499 1 0.0000000000000000e+00 5.3943466494472041e+00 2.7319455653066114e+00 8.3331866470793585e+00 -5 0 -1 +1796 1 0.0000000000000000e+00 5.0897757254299041e+00 3.4210285798588407e+00 7.5015685537111354e+00 -2 0 4 +598 1 0.0000000000000000e+00 6.5929171382035063e+00 2.7965413999202675e+00 7.6310343790732968e+00 5 0 -2 +2224 1 0.0000000000000000e+00 5.1923028686217005e+00 2.5806527224467932e+00 8.5846796768956217e+00 2 3 -3 +263 1 0.0000000000000000e+00 6.6812082160748796e+00 4.3826576879038308e+00 8.2826701915410936e+00 1 6 8 +2084 1 0.0000000000000000e+00 7.2986603004200754e+00 3.6655545367214741e+00 8.4781460477666375e+00 -5 3 1 +228 1 0.0000000000000000e+00 5.3042409834593114e+00 3.5197183593811130e+00 7.9664869327596204e+00 4 7 2 +2718 1 0.0000000000000000e+00 6.5595194614445722e+00 3.4134676431242794e+00 9.9114369602575998e+00 4 -4 -5 +2419 1 0.0000000000000000e+00 5.1568242346513760e+00 4.3414037319788843e+00 8.1829886338579971e+00 6 2 1 +2723 1 0.0000000000000000e+00 7.0672940343260953e+00 3.7707830200077619e+00 8.0588153092143688e+00 -1 4 0 +2208 1 0.0000000000000000e+00 5.0727329845438511e+00 4.9974670132862586e+00 8.6899074562213787e+00 0 2 -2 +1339 1 0.0000000000000000e+00 6.8924171704835802e+00 4.1580477882992399e+00 8.8619408386030365e+00 3 0 6 +728 1 0.0000000000000000e+00 7.3979405346167768e+00 3.3207656877075684e+00 9.8718260437555649e+00 2 -1 -2 +1102 1 0.0000000000000000e+00 6.8107395117828862e+00 2.7501070134131997e+00 8.8932835289629466e+00 -5 3 2 +1037 1 0.0000000000000000e+00 6.6760066175819004e+00 2.5398285355424211e+00 9.3610420235894054e+00 -5 0 -7 +1670 1 0.0000000000000000e+00 6.5253076473800409e+00 3.0258253836113176e+00 9.3357151930434323e+00 5 4 -8 +402 1 0.0000000000000000e+00 7.0424106821453556e+00 3.2505061893361904e+00 7.9567247962799525e+00 -2 1 -1 +2014 1 0.0000000000000000e+00 5.7024504414575752e+00 3.3889589572512895e+00 8.6805949347358151e+00 -1 -3 -4 +1619 1 0.0000000000000000e+00 6.0984690778542028e+00 2.5451074643439551e+00 8.6244397313112824e+00 2 1 -2 +2136 1 0.0000000000000000e+00 6.0396051477158501e+00 4.9793878087783430e+00 8.6508140078171483e+00 -5 4 -1 +81 1 0.0000000000000000e+00 6.1951335577314328e+00 3.4562779295679102e+00 7.7984485001799140e+00 4 1 2 +623 1 0.0000000000000000e+00 5.8247297246955361e+00 4.7790434065898797e+00 9.0855710287071858e+00 0 4 -3 +750 1 0.0000000000000000e+00 5.0652358843596010e+00 4.5237870414916106e+00 7.5932207837702546e+00 4 2 5 +1183 1 0.0000000000000000e+00 6.7691630589572984e+00 3.7134752674621425e+00 9.1484966440929050e+00 1 -1 2 +1246 1 0.0000000000000000e+00 7.3806910148210720e+00 4.5157789250963889e+00 8.2636942735919803e+00 -4 5 4 +1018 1 0.0000000000000000e+00 7.3425975661243283e+00 4.5880049168495418e+00 9.9354837187775757e+00 5 -5 5 +67 1 0.0000000000000000e+00 5.3967610021385841e+00 3.5729571603612666e+00 8.8332967697889053e+00 -1 0 -4 +2167 1 0.0000000000000000e+00 6.0211546863784129e+00 3.4428007421016575e+00 9.6164902388466658e+00 0 1 -4 +1856 1 0.0000000000000000e+00 5.8496918326909029e+00 4.0773970341822716e+00 8.8397300321736783e+00 2 -2 3 +2194 1 0.0000000000000000e+00 5.7231559523230393e+00 2.5545570854685260e+00 9.5045037378310830e+00 -2 2 -2 +435 1 0.0000000000000000e+00 5.8042821295293292e+00 4.1345249598832030e+00 9.5928209625019907e+00 -8 1 -7 +1374 1 0.0000000000000000e+00 6.5173206917552431e+00 4.9619140685883663e+00 8.2956278196185433e+00 -1 -6 -2 +277 1 0.0000000000000000e+00 6.8465618786485534e+00 4.8012382759011327e+00 7.6587308301039743e+00 0 -4 1 +1996 1 0.0000000000000000e+00 6.4210621255343625e+00 4.4728868285158141e+00 9.2635674742738914e+00 -9 4 -2 +766 1 0.0000000000000000e+00 6.4392431587323617e+00 4.8728435210341070e+00 9.5916334629677298e+00 0 0 4 +2657 1 0.0000000000000000e+00 6.8022358031587791e+00 2.5963945358166871e+00 9.7565684680572264e+00 -5 4 -2 +1096 1 0.0000000000000000e+00 6.8609180600818460e+00 4.6626740202450856e+00 9.9233564557053562e+00 -2 -1 0 +1346 1 0.0000000000000000e+00 6.6685153633817160e+00 3.9582757152156103e+00 7.5428238541068522e+00 1 2 4 +839 1 0.0000000000000000e+00 9.0559020947201567e+00 3.7381681967808604e+00 7.5252711899951672e+00 -6 2 -3 +1724 1 0.0000000000000000e+00 9.9342751408611978e+00 3.5029831545841343e+00 7.5775651560416346e+00 0 -2 -2 +229 1 0.0000000000000000e+00 8.5113866487997178e+00 4.6786876933585582e+00 8.2034564437952238e+00 -4 0 2 +256 1 0.0000000000000000e+00 7.9260111251900733e+00 2.8659191098880492e+00 9.1139785651969429e+00 -3 1 -2 +1175 1 0.0000000000000000e+00 9.7838465932218153e+00 3.0427518779719036e+00 9.7319268892007180e+00 0 4 2 +141 1 0.0000000000000000e+00 8.3801927799229752e+00 3.1138499418540353e+00 7.6270462419862595e+00 2 1 -3 +2178 1 0.0000000000000000e+00 8.4868216356007924e+00 4.5426918186053591e+00 7.5192826703691216e+00 -1 -2 1 +884 1 0.0000000000000000e+00 8.8269469517531007e+00 3.2476536333400388e+00 9.3127746835819316e+00 -3 5 5 +2941 3 1.0000000000000000e+00 9.1721377234023720e+00 4.4856323851664799e+00 7.9828447542871954e+00 5 -1 0 +2330 1 0.0000000000000000e+00 9.2038005728444432e+00 3.4592094013430228e+00 9.0904745448066411e+00 0 -4 0 +1127 1 0.0000000000000000e+00 9.5466793372611232e+00 2.6562377437896485e+00 7.9821872680313772e+00 3 -1 3 +354 1 0.0000000000000000e+00 8.6363757104724321e+00 4.6602137053985011e+00 9.2924470972303403e+00 -6 0 -2 +1476 1 0.0000000000000000e+00 8.7098355695067777e+00 3.7549748943236909e+00 8.2652703666490286e+00 -1 4 -8 +733 1 0.0000000000000000e+00 8.2447398297381724e+00 2.9439877546567943e+00 8.6185405592880358e+00 -4 -1 -6 +2336 1 0.0000000000000000e+00 8.8174173363806041e+00 4.0609749573190870e+00 8.7711293688942256e+00 -4 6 -10 +283 1 0.0000000000000000e+00 9.0329115418040651e+00 2.6509862202278685e+00 9.7384180769405386e+00 -4 -8 0 +754 1 0.0000000000000000e+00 8.7043333388832114e+00 2.7903474030028685e+00 7.8170916619163187e+00 -3 1 0 +179 1 0.0000000000000000e+00 9.8122555524089172e+00 3.9631726610766926e+00 8.8447941355299804e+00 2 -2 -2 +2027 1 0.0000000000000000e+00 9.7510626017873605e+00 4.9680730917786944e+00 9.4151020089272190e+00 3 4 2 +2761 1 0.0000000000000000e+00 9.4259017110658387e+00 4.8091174062427839e+00 8.9194173185814112e+00 1 -3 2 +1169 1 0.0000000000000000e+00 9.3929465502218790e+00 3.7478685633141806e+00 8.2115809531204622e+00 0 5 3 +1612 1 0.0000000000000000e+00 8.6091065800989650e+00 4.1967677591632597e+00 9.3682661584845324e+00 1 4 -2 +2470 1 0.0000000000000000e+00 7.7313336881869983e+00 4.0378465601732749e+00 7.8962867023586414e+00 -1 -7 1 +145 1 0.0000000000000000e+00 9.3245673385727166e+00 3.3145120862548820e+00 9.7572546151633350e+00 5 -3 -1 +908 1 0.0000000000000000e+00 8.0113712087195967e+00 4.0727397672253183e+00 8.8321633679806997e+00 -1 0 -2 +2507 1 0.0000000000000000e+00 9.7105971045256272e+00 2.6556762468218462e+00 9.1375019521132490e+00 -3 -1 3 +1522 1 0.0000000000000000e+00 7.8730830122286699e+00 3.6207864659604363e+00 8.1272501121914011e+00 5 3 8 +310 1 0.0000000000000000e+00 9.1969725221225183e+00 3.1811099197331321e+00 8.1217367608336755e+00 -1 -1 6 +373 1 0.0000000000000000e+00 7.9641272845869198e+00 3.4145458862114784e+00 9.2440491029579270e+00 0 -4 8 +2978 3 1.0000000000000000e+00 9.6395032641987921e+00 4.9263902440024268e+00 7.5186137934251045e+00 5 -1 -3 +2578 1 0.0000000000000000e+00 8.0743872837560442e+00 3.8716525086205609e+00 7.5477820198336296e+00 2 2 -1 +889 1 0.0000000000000000e+00 9.2719888654234079e+00 4.3547030958387456e+00 9.1580951431674897e+00 -1 3 4 +2691 1 0.0000000000000000e+00 7.7695601675055279e+00 4.7331787472612232e+00 8.8523733666876883e+00 1 4 2 +406 1 0.0000000000000000e+00 8.5534826295945372e+00 2.7746138833238438e+00 8.7716142989508068e+00 4 -5 5 +669 1 0.0000000000000000e+00 9.6900470172991326e+00 2.8738363127553610e+00 8.2751269452939997e+00 2 2 -3 +979 1 0.0000000000000000e+00 7.5422330578091445e+00 2.8679907540970584e+00 8.4649292788843393e+00 -2 2 3 +2535 1 0.0000000000000000e+00 9.7347036420219322e+00 4.0025662195742164e+00 9.5526838099888369e+00 -4 -1 -1 +2404 1 0.0000000000000000e+00 9.2403701022514753e+00 3.0401241580942902e+00 8.9299391215946695e+00 3 0 -1 +2041 1 0.0000000000000000e+00 7.6940624802047903e+00 2.9685321242935854e+00 7.7707844506861194e+00 -1 -1 0 +1882 1 0.0000000000000000e+00 8.9127254670025557e+00 4.0197733780854659e+00 9.6253559248659588e+00 3 -5 6 +569 1 0.0000000000000000e+00 9.4679854900003217e+00 3.1218635449195871e+00 8.5799493526166355e+00 -6 -2 -2 +1891 1 0.0000000000000000e+00 8.5776078686039607e+00 4.9448847381382324e+00 9.7740092926895912e+00 0 -4 2 +2432 1 0.0000000000000000e+00 8.0417034633495295e+00 3.4277917708054906e+00 9.8108186780246474e+00 5 6 -2 +274 1 0.0000000000000000e+00 8.2255870429431663e+00 2.8072612334392155e+00 9.7825533803618523e+00 2 1 2 +27 1 0.0000000000000000e+00 9.8511346383815059e+00 3.5131987509212528e+00 8.7598653319059707e+00 0 2 -6 +2814 2 -1.0000000000000000e+00 7.9994067248644720e+00 4.9650963322316413e+00 9.9709832290365821e+00 -3 -8 5 +140 1 0.0000000000000000e+00 7.4406445541717350e+00 6.7421529203464976e+00 1.4558862885035613e+00 3 1 -5 +705 1 0.0000000000000000e+00 5.5362677135614220e+00 7.3171523394581275e+00 3.5060541626147362e-01 2 -1 -3 +297 1 0.0000000000000000e+00 5.0879576747538930e+00 6.1982094579806377e+00 1.0876956463610925e+00 1 -3 4 +2645 1 0.0000000000000000e+00 6.6667806809312706e+00 6.9284422479917867e+00 1.4628708369876202e+00 -5 -1 4 +2424 1 0.0000000000000000e+00 5.5240046178021540e+00 5.5821664302232561e+00 1.2240363509273555e+00 -2 -7 1 +694 1 0.0000000000000000e+00 6.1939337079507046e+00 5.6028495067693900e+00 7.1670786369349848e-01 -4 0 3 +1873 1 0.0000000000000000e+00 5.8687444760791792e+00 5.4711846828787172e+00 2.4545974703960960e+00 3 -2 3 +2141 1 0.0000000000000000e+00 6.6136860476329282e+00 5.4506692977570914e+00 1.2918622952275727e+00 10 0 -7 +634 1 0.0000000000000000e+00 7.3124076319446170e+00 7.0164181057238038e+00 1.8101884161488881e+00 -8 -7 3 +1312 1 0.0000000000000000e+00 5.0873795197352107e+00 6.9680321002918229e+00 2.3783777442160816e+00 2 -6 -2 +267 1 0.0000000000000000e+00 6.9409834305032740e+00 6.3834409063671798e+00 1.8013245019054736e+00 -7 -5 -7 +1591 1 0.0000000000000000e+00 6.9616418737767161e+00 5.5069090365666913e+00 2.4793234919819840e+00 2 -8 -4 +1375 1 0.0000000000000000e+00 6.8473610232226925e+00 5.6567701763885960e+00 1.9017434332204441e+00 1 -5 -4 +1877 1 0.0000000000000000e+00 5.1326874930635871e+00 6.1368842205364444e+00 1.7972315663362672e+00 4 -5 -2 +775 1 0.0000000000000000e+00 5.0219028180586278e+00 5.5261150075189818e+00 1.0404719108149099e+00 -3 5 3 +291 1 0.0000000000000000e+00 6.6647203799758126e+00 7.1114056379652935e+00 5.4651122713823730e-01 -3 -2 -1 +2134 1 0.0000000000000000e+00 6.2260986198801938e+00 6.8792248189471916e+00 1.9240034656988672e-01 3 5 5 +2846 2 -1.0000000000000000e+00 6.3452466250286088e+00 6.4174798751462321e+00 8.3746575013169300e-01 1 2 8 +1389 1 0.0000000000000000e+00 5.5629063760938102e+00 6.7309355101015571e+00 1.1543932177604574e+00 2 4 3 +189 1 0.0000000000000000e+00 5.0694687910074867e+00 5.8493743626996313e+00 2.3125069917902530e+00 -1 -4 2 +1277 1 0.0000000000000000e+00 5.5218053592401635e+00 7.1684169209544857e+00 1.7393786265102296e+00 6 2 4 +238 1 0.0000000000000000e+00 7.3000301959863281e+00 6.4100131661372739e+00 3.2699463197861356e-01 -1 2 2 +392 1 0.0000000000000000e+00 6.3477771841620632e+00 6.5917438771044417e+00 2.1304649008301990e-01 -8 -1 3 +2474 1 0.0000000000000000e+00 6.2567036063889967e+00 6.7356398304088598e+00 1.7643850695643490e+00 3 4 2 +40 1 0.0000000000000000e+00 6.6931542305896592e+00 7.0244064064340703e+00 2.4240011284149929e+00 0 5 2 +866 1 0.0000000000000000e+00 5.0459141723637160e+00 6.4717363459117347e+00 3.8560545335749774e-01 8 4 9 +454 1 0.0000000000000000e+00 6.8026486995448776e+00 6.1284691765595065e+00 1.0915308420569567e+00 1 -1 -4 +428 1 0.0000000000000000e+00 6.3813835256535656e+00 6.9941326752974566e+00 8.2767692444712981e-01 -5 8 0 +2006 1 0.0000000000000000e+00 5.6867275720245880e+00 6.2331644029551798e+00 3.9425184605933217e-01 0 -3 4 +1884 1 0.0000000000000000e+00 7.0010753324114523e+00 5.8536675627727792e+00 5.8436761545993132e-01 1 -1 4 +1234 1 0.0000000000000000e+00 5.3537910634603145e+00 6.6525046637869902e+00 2.4143480700239666e+00 -7 4 1 +885 1 0.0000000000000000e+00 6.0155855616696412e+00 5.4353488089193025e+00 1.7141675055704590e+00 1 3 -3 +2919 3 1.0000000000000000e+00 6.3813708291217237e+00 5.9307925215039123e+00 2.0187793381293351e+00 -9 -5 -1 +2300 1 0.0000000000000000e+00 7.1238355220258338e+00 5.5091163479789991e+00 3.7299371037591816e-01 4 2 -4 +1815 1 0.0000000000000000e+00 5.7514375772662962e+00 6.8685319947787686e+00 9.4309723085134034e-01 9 -5 -2 +2480 1 0.0000000000000000e+00 7.3393849890032090e+00 6.3156097383697238e+00 2.2110279410081661e+00 0 3 1 +748 1 0.0000000000000000e+00 5.8560798553204236e+00 5.1244238025294520e+00 2.2432519149957994e-01 2 2 2 +178 1 0.0000000000000000e+00 6.9383680812630297e+00 5.2312851124959083e+00 1.2759574780963248e+00 -3 2 10 +1360 1 0.0000000000000000e+00 6.1481512748034612e+00 7.3473432253194479e+00 1.9062447719625721e+00 -1 0 -6 +2036 1 0.0000000000000000e+00 7.0395575310189766e+00 6.4660050788628576e+00 8.9791576679410912e-01 -7 1 3 +1208 1 0.0000000000000000e+00 5.7114323723025775e+00 6.4364507988836168e+00 1.8944414196191686e+00 2 -2 -2 +1070 1 0.0000000000000000e+00 6.7746274753215490e+00 5.3038792071248215e+00 6.1422408676592849e-02 -1 3 -7 +25 1 0.0000000000000000e+00 5.4667681903733270e+00 5.8822417493142130e+00 8.6536431477615902e-02 -8 0 -2 +2103 1 0.0000000000000000e+00 6.0408993202680135e+00 6.1556213115423306e+00 2.4777714205038195e+00 0 2 5 +1998 1 0.0000000000000000e+00 7.5724422786946191e+00 5.6128248877096931e+00 1.2071123675854405e+00 -9 -5 3 +2981 3 1.0000000000000000e+00 8.8433480122359853e+00 5.1327016439159658e+00 8.3225728712907165e-01 1 -2 2 +1108 1 0.0000000000000000e+00 7.9969693358499132e+00 6.7028242277151922e+00 5.3696259333319851e-01 1 -6 -1 +1755 1 0.0000000000000000e+00 8.4898641936780290e+00 6.0020122495245820e+00 1.2683926318958734e+00 2 -1 -4 +675 1 0.0000000000000000e+00 9.3798724205002380e+00 7.4634937544409006e+00 4.4723569617111381e-01 0 -4 1 +1195 1 0.0000000000000000e+00 8.1224980988641899e+00 7.2981226512794990e+00 1.7839055269843642e+00 -1 1 2 +172 1 0.0000000000000000e+00 8.1905717414838861e+00 5.1026666213012524e+00 5.5567580505139080e-01 -3 1 -4 +1704 1 0.0000000000000000e+00 9.4472483154313256e+00 6.7478207943482564e+00 6.4702099316101003e-01 -4 -3 -4 +2965 3 1.0000000000000000e+00 9.1466402310321158e+00 7.2813597878127254e+00 6.4228066057065436e-01 -1 -1 0 +723 1 0.0000000000000000e+00 8.9580025805964851e+00 7.2763075428333970e+00 1.2332956676205979e+00 -5 4 -2 +2213 1 0.0000000000000000e+00 8.5106976131879204e+00 6.7925153724226641e+00 1.7373558474258144e-01 -4 0 5 +2571 1 0.0000000000000000e+00 9.8584701586660515e+00 5.9290280674586517e+00 1.9367332301104141e+00 10 -3 7 +1733 1 0.0000000000000000e+00 9.9827176705203033e+00 5.0519596577750452e+00 6.8243412920038138e-01 4 2 1 +1660 1 0.0000000000000000e+00 7.9710422250418684e+00 6.1931935576860404e+00 1.4768722369321305e+00 -4 -2 0 +83 1 0.0000000000000000e+00 9.6319355591159130e+00 5.9873146538657256e+00 1.7980374420029321e+00 1 1 -8 +499 1 0.0000000000000000e+00 9.5120587157883278e+00 7.2833749055798238e+00 1.9903319903685157e+00 -3 -2 -4 +967 1 0.0000000000000000e+00 9.8667651607693578e+00 6.9044578494987130e+00 1.1384062249327487e+00 3 -2 1 +2206 1 0.0000000000000000e+00 9.1154634747975489e+00 5.5606348915139439e+00 3.3237901565674860e-01 -3 -2 3 +1012 1 0.0000000000000000e+00 8.6777139994020605e+00 7.4821219803480288e+00 2.0073813890792769e+00 -2 5 -1 +1835 1 0.0000000000000000e+00 7.9285025844749244e+00 7.0558238858009368e+00 9.7619329285587308e-03 0 0 3 +198 1 0.0000000000000000e+00 9.6451238231427787e+00 5.5896646860596038e+00 4.0534905846772001e-01 -2 0 -6 +227 1 0.0000000000000000e+00 8.2213435620829021e+00 5.8211561971579213e+00 2.0930864552290398e+00 5 -6 1 +615 1 0.0000000000000000e+00 9.3067825786122409e+00 5.8246873315893817e+00 1.2270222239519752e+00 -5 -5 2 +1898 1 0.0000000000000000e+00 9.1951536916430019e+00 6.4812267533691674e+00 2.1046396974525122e-01 1 -3 -1 +97 1 0.0000000000000000e+00 9.2767446879419104e+00 5.1873097497402689e+00 1.4302185870011646e+00 -6 2 0 +914 1 0.0000000000000000e+00 8.7825228313592749e+00 6.4124354540433455e+00 2.0613377362696985e+00 -2 -3 8 +2712 1 0.0000000000000000e+00 8.4015932377650291e+00 6.8867214973304716e+00 2.3221878036039616e+00 -4 1 -1 +1457 1 0.0000000000000000e+00 8.7531806935222125e+00 7.0690814895222545e+00 1.3575876984613080e+00 -3 3 -4 +2627 1 0.0000000000000000e+00 8.6538655345008415e+00 5.1330812531219863e+00 2.4588779755932970e+00 3 -2 1 +2042 1 0.0000000000000000e+00 8.5826884771520469e+00 6.1442825859284431e+00 3.0793389779147967e-01 -3 -1 2 +2111 1 0.0000000000000000e+00 9.7520250530650010e+00 6.5771859994863195e+00 2.3849265794346017e+00 -2 -3 7 +930 1 0.0000000000000000e+00 7.6713391400918773e+00 7.1820610157074558e+00 1.8764937186898234e+00 4 2 -2 +2873 2 -1.0000000000000000e+00 8.2195694811255553e+00 7.2493671154345636e+00 1.0037054255101019e+00 3 4 -6 +1892 1 0.0000000000000000e+00 8.0752018057118136e+00 6.6138115357579741e+00 1.1734520170054759e+00 5 0 0 +1165 1 0.0000000000000000e+00 8.6410318341544912e+00 6.3681723773784755e+00 1.7865646353285025e+00 -4 5 -1 +52 1 0.0000000000000000e+00 7.9951359636245627e+00 5.6693536172746013e+00 2.4244826792581115e-01 1 -2 -2 +1270 1 0.0000000000000000e+00 8.2270159440598540e+00 5.9532329546055633e+00 5.4246033910229852e-01 -2 3 -1 +2527 1 0.0000000000000000e+00 8.5536405071295416e+00 5.3858238758786436e+00 1.2685905066123535e+00 8 -3 1 +8 1 0.0000000000000000e+00 9.5466484005141510e+00 5.3816501828371797e+00 2.7820118504239477e-01 -5 -3 -1 +2255 1 0.0000000000000000e+00 9.6614751199463029e+00 5.1321172463255182e+00 2.1059918653416170e+00 -2 -1 -4 +837 1 0.0000000000000000e+00 8.9642589860944497e+00 6.1746751159313709e+00 9.6670737079225366e-01 2 -1 7 +358 1 0.0000000000000000e+00 7.6868635539884336e+00 5.3274398381185222e+00 1.7460105277367941e+00 -4 -4 -5 +157 1 0.0000000000000000e+00 7.6976425343818899e+00 5.8651898426806675e+00 9.6410304444792227e-01 -6 -1 0 +202 1 0.0000000000000000e+00 9.8822030410127937e+00 5.9871722651711972e+00 1.0642407334100248e+00 6 -4 -4 +1350 1 0.0000000000000000e+00 7.8168341319579957e+00 7.4538667113741237e+00 1.1227252831917498e+00 -8 2 -6 +1229 1 0.0000000000000000e+00 9.0921223879885869e+00 6.7360809675641882e+00 1.6013563127857531e+00 -2 2 -3 +745 1 0.0000000000000000e+00 8.9217842725015153e+00 5.5933745874902661e+00 1.9442663137584624e+00 -3 0 2 +2410 1 0.0000000000000000e+00 7.5315573734688783e+00 5.6670853070862339e+00 2.3984816159451903e+00 -4 -5 -2 +1406 1 0.0000000000000000e+00 9.7741801716029588e+00 5.4598581609680759e+00 1.1526591488183364e+00 -6 -6 8 +2437 1 0.0000000000000000e+00 9.9979375528657481e+00 6.9023976829787292e+00 3.9887878217529565e-01 5 2 2 +2773 1 0.0000000000000000e+00 9.7575120134112936e+00 6.3756495336138483e+00 3.8313104379113266e-01 -4 -6 0 +1184 1 0.0000000000000000e+00 9.2019026595130224e+00 6.2974343618078708e+00 2.2656330786028351e+00 -5 -2 0 +1207 1 0.0000000000000000e+00 7.1215393823491207e+00 9.3126631159319775e+00 9.1295512969294590e-01 -2 8 4 +2355 1 0.0000000000000000e+00 5.7754669114866060e+00 8.8273323521335563e+00 1.1767093334812102e+00 3 2 -3 +1617 1 0.0000000000000000e+00 5.9379454113465595e+00 8.2208348944004381e+00 1.8724933273281257e+00 0 4 4 +1437 1 0.0000000000000000e+00 5.4919930490896105e+00 8.0258139312618972e+00 6.0838848202965301e-01 -4 -4 0 +348 1 0.0000000000000000e+00 5.8297128908267108e+00 9.7017465039044808e+00 7.5686611271423065e-01 -5 0 -2 +1325 1 0.0000000000000000e+00 7.1132922729885024e+00 9.9106170840599770e+00 1.8532928107847149e-01 -2 -3 1 +163 1 0.0000000000000000e+00 6.6399927038679731e+00 7.5566679842163369e+00 9.1782937145532772e-01 -1 -2 0 +795 1 0.0000000000000000e+00 7.4894095541165751e+00 7.5795455323414052e+00 2.2090410013133308e+00 -4 2 -2 +464 1 0.0000000000000000e+00 5.3644156540448940e+00 9.0621362811137889e+00 2.4657649831312494e+00 -3 3 7 +2733 1 0.0000000000000000e+00 5.3688556064397437e+00 8.5876348956885682e+00 5.2873605913971866e-01 3 4 6 +2394 1 0.0000000000000000e+00 5.6993305920848947e+00 8.9421917740680126e+00 7.3871279829087710e-01 -6 1 -2 +1005 1 0.0000000000000000e+00 6.9250275272845823e+00 8.3470219923883509e+00 5.2371657508943159e-01 -2 3 -2 +1413 1 0.0000000000000000e+00 7.1995370703626946e+00 8.7958182768917403e+00 2.4821851964442803e+00 -4 -2 2 +783 1 0.0000000000000000e+00 6.6744354563965382e+00 8.8155831075615598e+00 2.2731525650233575e-01 2 -4 -2 +1938 1 0.0000000000000000e+00 6.8164327589700076e+00 9.7626657337184675e+00 1.1614138100612372e+00 2 -6 -3 +1432 1 0.0000000000000000e+00 5.8299041004864618e+00 8.6423982251849676e+00 1.8135016395496355e+00 5 2 -6 +684 1 0.0000000000000000e+00 6.2624990976670718e+00 8.3050875363696246e+00 2.4162683120594699e+00 -3 2 -2 +2673 1 0.0000000000000000e+00 6.8307894707759544e+00 8.9852772777185486e+00 1.3654826081380838e+00 -2 -5 -4 +1520 1 0.0000000000000000e+00 5.5694910704703382e+00 7.7338107522961836e+00 1.1009559004105738e+00 2 2 -1 +791 1 0.0000000000000000e+00 6.3189510629746239e+00 9.3097448786526904e+00 1.2498787630676214e+00 0 0 1 +2044 1 0.0000000000000000e+00 6.3638986943922697e+00 9.4884313739267796e+00 4.7137055948345313e-01 4 -4 -3 +1705 1 0.0000000000000000e+00 6.4547995029620582e+00 8.9708092649151112e+00 1.1468861476196841e+00 4 -4 3 +2154 1 0.0000000000000000e+00 7.4289233595972863e+00 8.4840998857853052e+00 8.8432927005930695e-01 -3 3 -1 +2866 2 -1.0000000000000000e+00 5.4443020366720081e+00 9.6059359646143037e+00 1.9300353537739288e+00 3 -1 -4 +2277 1 0.0000000000000000e+00 7.0575835465314709e+00 8.8114076564469332e+00 1.6992518982982709e+00 -2 -1 0 +1315 1 0.0000000000000000e+00 6.5836857256464425e+00 8.6326007957869795e+00 2.0012162666613924e+00 4 -8 1 +1261 1 0.0000000000000000e+00 6.6967419954034657e+00 7.7147842210209916e+00 2.4286913260010432e+00 -3 2 6 +1217 1 0.0000000000000000e+00 6.8661146292178872e+00 9.3996548581638066e+00 2.0903027082367052e+00 2 0 -3 +1 1 0.0000000000000000e+00 6.0952246544317408e+00 7.6456733885606489e+00 2.1073522874488209e+00 -2 2 -8 +18 1 0.0000000000000000e+00 6.4216349761097424e+00 8.5505724744103127e+00 9.3017162389186570e-01 -5 -2 -5 +2124 1 0.0000000000000000e+00 5.4487617658673955e+00 7.8661560855438388e+00 2.2620437539146909e+00 -3 1 -2 +132 1 0.0000000000000000e+00 6.4134018822749175e+00 9.5822773628705296e+00 2.1918626563807724e+00 -3 -5 -4 +960 1 0.0000000000000000e+00 5.1779016131836251e+00 8.6564633251587857e+00 1.5463154852317011e+00 -2 1 -1 +467 1 0.0000000000000000e+00 5.0383023580017907e+00 9.5863352986568167e+00 8.3542045800637332e-01 1 -1 -3 +438 1 0.0000000000000000e+00 5.3964463082266132e+00 7.6065128323991207e+00 1.3550664542400976e+00 -3 3 3 +1408 1 0.0000000000000000e+00 5.3150372991013430e+00 9.6684875882604473e+00 1.1726494033147444e-01 7 1 -9 +173 1 0.0000000000000000e+00 7.1121856734671454e+00 9.0842803425160348e+00 1.8738628239335031e-01 -2 -5 1 +856 1 0.0000000000000000e+00 7.1657054212640086e+00 7.8400563183688909e+00 1.4837102791963805e+00 5 -3 -5 +1048 1 0.0000000000000000e+00 7.1437488049653313e+00 7.5256649175187942e+00 1.1423478915239405e+00 -2 -2 -1 +1939 1 0.0000000000000000e+00 7.0921589712321893e+00 7.9824571514689140e+00 2.2321709283863354e+00 6 5 -3 +816 1 0.0000000000000000e+00 5.3520241069287691e+00 8.2196602638534237e+00 1.6045653688797128e+00 -1 2 8 +512 1 0.0000000000000000e+00 5.9623631025617412e+00 9.6434142052682201e+00 1.5743866754754676e+00 -1 -7 3 +2464 1 0.0000000000000000e+00 7.1675903922476660e+00 7.9404465233922554e+00 4.4130794222612690e-01 4 8 -6 +1216 1 0.0000000000000000e+00 6.2568249423292395e+00 7.8539811746586130e+00 1.8208520310994056e-01 -2 -5 3 +962 1 0.0000000000000000e+00 5.5091025687563695e+00 9.9524885924543103e+00 1.3484098851235005e+00 -2 -5 0 +1715 1 0.0000000000000000e+00 6.4950792387616039e+00 9.3904976471026522e+00 5.9261132955759577e-02 -1 1 1 +1242 1 0.0000000000000000e+00 7.2875774143975498e+00 9.4392685542651602e+00 1.7108530654168916e+00 2 -7 -4 +2825 2 -1.0000000000000000e+00 6.3248880317878227e+00 8.0968632176433086e+00 1.0549756968723516e+00 -3 1 5 +466 1 0.0000000000000000e+00 5.9669592521617236e+00 9.1718181750328114e+00 2.0857122689156893e+00 3 0 4 +1702 1 0.0000000000000000e+00 8.7007455430751328e+00 8.9398877277854982e+00 6.2361549889779133e-01 4 1 2 +2478 1 0.0000000000000000e+00 9.8773694985902161e+00 8.4733922809945224e+00 1.5828000241782936e+00 2 2 -9 +698 1 0.0000000000000000e+00 9.7603543019705921e+00 9.8450930458355153e+00 1.1453659980060626e+00 -1 -5 -1 +1498 1 0.0000000000000000e+00 9.3034430618199089e+00 9.2714171361417606e+00 1.6122597052159637e+00 -5 1 4 +820 1 0.0000000000000000e+00 9.4891085709318137e+00 9.1810928796533524e+00 2.0973957679180648e+00 2 2 -5 +94 1 0.0000000000000000e+00 9.0065269743342604e+00 9.8497814180852021e+00 1.9696167181760931e+00 -4 0 1 +2259 1 0.0000000000000000e+00 7.8655056184844296e+00 9.7016192496770000e+00 9.4262698633427722e-01 2 5 -3 +2268 1 0.0000000000000000e+00 9.0829744861770880e+00 7.8742075951316925e+00 8.1978994480654932e-01 1 2 5 +2187 1 0.0000000000000000e+00 8.6392301957538677e+00 8.8860709517025622e+00 2.3100298942589856e+00 2 -3 0 +2296 1 0.0000000000000000e+00 9.0148777623322953e+00 9.4278211232942581e+00 7.5747858927082679e-01 -7 0 3 +2791 1 0.0000000000000000e+00 8.3647386059912279e+00 9.8674087913814734e+00 1.1787502505573297e+00 -4 -5 3 +1040 1 0.0000000000000000e+00 8.0590060529999743e+00 9.3834255114843543e+00 3.9181283877023415e-01 0 -6 1 +1767 1 0.0000000000000000e+00 9.2343751755117172e+00 8.2854081211701729e+00 7.7824245050019014e-01 -8 -4 -1 +2334 1 0.0000000000000000e+00 7.9670613252748819e+00 9.0412926512866356e+00 2.7618455771692324e-01 2 -4 -1 +335 1 0.0000000000000000e+00 8.9159132341643570e+00 8.3473606757408163e+00 2.0728965255209366e+00 -3 2 3 +1390 1 0.0000000000000000e+00 9.4848459870940083e+00 7.8746939759625452e+00 1.8459748863143008e+00 0 -3 -4 +704 1 0.0000000000000000e+00 9.7839387715752402e+00 9.0370629940389051e+00 8.2908355471012773e-01 1 0 -1 +2057 1 0.0000000000000000e+00 8.7391141245104738e+00 8.0206118051158342e+00 1.2193331323346177e+00 2 1 2 +2601 1 0.0000000000000000e+00 9.2963646177909194e+00 7.7008244595529680e+00 1.4086630419143518e+00 -2 2 -1 +1327 1 0.0000000000000000e+00 9.3914530958452058e+00 9.2723684371140127e+00 4.7155915543647141e-02 1 -4 -5 +385 1 0.0000000000000000e+00 7.9849973105583318e+00 8.6682774857543166e+00 1.7402688469610399e+00 3 -1 2 +2 1 0.0000000000000000e+00 9.9946788382980021e+00 7.6197285731545312e+00 2.1932270038845862e+00 -3 -3 5 +711 1 0.0000000000000000e+00 8.7393613320476931e+00 8.4520745653618690e+00 4.6135654167420959e-01 -5 2 -6 +779 1 0.0000000000000000e+00 7.6026286910436145e+00 9.2600789321723731e+00 1.1442352792076813e+00 -1 1 -1 +1368 1 0.0000000000000000e+00 8.1006629893483399e+00 9.3069965134725265e+00 1.8129656551409987e+00 5 3 1 +108 1 0.0000000000000000e+00 8.9122542700992291e+00 8.8500305931965695e+00 1.5539617586605146e+00 1 0 6 +763 1 0.0000000000000000e+00 7.8124036356112176e+00 8.1607752727819598e+00 1.5066198677886591e+00 -5 0 2 +563 1 0.0000000000000000e+00 8.0871539110906294e+00 8.2001831173413215e+00 2.4079287186549072e+00 1 -1 1 +1485 1 0.0000000000000000e+00 9.7482729341282361e+00 7.7579715237444429e+00 1.1810820311894282e-01 -5 -2 -1 +1714 1 0.0000000000000000e+00 9.7784064278542733e+00 8.6667124384762602e+00 2.0377876826470835e+00 -3 2 3 +1401 1 0.0000000000000000e+00 8.3211934447437432e+00 7.8591357651588201e+00 1.5416202831132184e+00 -1 -11 -3 +1905 1 0.0000000000000000e+00 7.9155403739419707e+00 7.7580707713926573e+00 2.2620032489477987e-01 1 0 2 +621 1 0.0000000000000000e+00 7.7318242714614058e+00 9.4813458471314025e+00 2.1403451432550820e+00 2 -7 0 +2606 1 0.0000000000000000e+00 8.5166611138599535e+00 8.8823847347991762e+00 1.2328160460210531e+00 3 4 4 +1881 1 0.0000000000000000e+00 7.5448611712134914e+00 7.6556667687012814e+00 9.0150842282182331e-01 -4 1 -3 +720 1 0.0000000000000000e+00 8.4655296982848363e+00 9.4979718086209068e+00 1.9915902382376616e-02 4 0 2 +997 1 0.0000000000000000e+00 9.3446909414531767e+00 8.3232783725329202e+00 3.1780460968792729e-01 1 4 -4 +1677 1 0.0000000000000000e+00 8.0063203566786125e+00 8.4055399849854311e+00 1.1213574118597389e+00 1 1 -7 +817 1 0.0000000000000000e+00 9.4465094779908512e+00 8.3343609608938536e+00 2.2775776575816540e+00 2 0 -3 +2780 1 0.0000000000000000e+00 8.7643337062828550e+00 9.6486926213369593e+00 1.0834966190374054e+00 -5 -3 1 +2582 1 0.0000000000000000e+00 7.5860503731327116e+00 9.9033450185694267e+00 1.8763012331565512e+00 0 -3 4 +899 1 0.0000000000000000e+00 8.3817649406115802e+00 8.2865401502106035e+00 6.6898702791174836e-01 -4 1 1 +1118 1 0.0000000000000000e+00 9.9270255673887906e+00 9.2046774692967404e+00 1.4127500079751234e+00 5 -4 8 +570 1 0.0000000000000000e+00 9.4870037923706203e+00 9.8567578186733815e+00 6.9912313932569692e-01 2 -2 0 +2458 1 0.0000000000000000e+00 7.7559263407527448e+00 8.8054180485906528e+00 2.3806890957647977e+00 3 6 10 +1331 1 0.0000000000000000e+00 5.3909818814446542e+00 5.0619601704562802e+00 4.3590887408328056e+00 6 -2 -1 +2615 1 0.0000000000000000e+00 5.4966361207793950e+00 7.2696185648874900e+00 3.4804061366841474e+00 -1 -2 -7 +1111 1 0.0000000000000000e+00 6.7543665910257396e+00 5.8445890297812300e+00 4.6051459123610812e+00 3 0 -5 +1700 1 0.0000000000000000e+00 7.1344052086222849e+00 6.1931737807276432e+00 4.3655598000387341e+00 4 1 3 +262 1 0.0000000000000000e+00 6.8731347305517581e+00 5.8544360202672623e+00 3.4870257166914902e+00 0 -6 1 +872 1 0.0000000000000000e+00 5.4134579868615837e+00 6.4429042464001069e+00 2.7220914751446665e+00 3 0 -2 +778 1 0.0000000000000000e+00 7.0961312564592580e+00 6.3800513375767478e+00 3.8403145088054238e+00 -6 -5 -2 +1223 1 0.0000000000000000e+00 6.8064489448491186e+00 5.0315617839496358e+00 3.3390029409049693e+00 0 3 -1 +2820 2 -1.0000000000000000e+00 6.6076771079395327e+00 7.3159158427848903e+00 4.6905575991454596e+00 1 -6 2 +298 1 0.0000000000000000e+00 7.1093536929267804e+00 5.5376918267103878e+00 3.3214687127920497e+00 -1 0 -4 +1507 1 0.0000000000000000e+00 5.9911776956871936e+00 6.0359716813281121e+00 4.5324617461572627e+00 -3 7 2 +894 1 0.0000000000000000e+00 6.6187812214659134e+00 7.0954127884770877e+00 3.2526178112700053e+00 -5 -1 -1 +731 1 0.0000000000000000e+00 6.1794260546001976e+00 5.2346055094671335e+00 3.0103843006892075e+00 -5 2 -6 +405 1 0.0000000000000000e+00 6.1052910932509885e+00 6.2731893516507018e+00 3.7841843478459478e+00 9 1 -3 +2908 3 1.0000000000000000e+00 5.3350817526539824e+00 6.3064151069641969e+00 3.8682473843465384e+00 0 -6 -3 +31 1 0.0000000000000000e+00 7.3922533800884969e+00 6.8456711968735853e+00 4.7412170932493236e+00 0 -3 -4 +2345 1 0.0000000000000000e+00 7.4611502108488743e+00 5.2805017419487079e+00 4.3162125855463085e+00 -2 2 2 +1743 1 0.0000000000000000e+00 7.1603534276601808e+00 6.8837881578771523e+00 2.6844578496600255e+00 -4 3 -5 +282 1 0.0000000000000000e+00 5.4945845337374699e+00 5.9234036562480403e+00 3.4545384064643709e+00 3 8 -4 +2526 1 0.0000000000000000e+00 5.3032573913565280e+00 5.6170003452135475e+00 2.9723434531303479e+00 3 7 3 +1949 1 0.0000000000000000e+00 5.6158106866867286e+00 6.8622125125717925e+00 3.1029639400687747e+00 1 5 1 +982 1 0.0000000000000000e+00 6.2949952467100987e+00 5.0148040505761928e+00 4.5071062528021724e+00 -3 0 6 +230 1 0.0000000000000000e+00 5.8400335271953612e+00 5.1556489049529315e+00 3.9271035642258956e+00 0 1 -3 +475 1 0.0000000000000000e+00 7.2316091462247707e+00 5.0435501146098982e+00 4.8414804286427371e+00 0 -5 2 +2734 1 0.0000000000000000e+00 6.3912255583967434e+00 6.5390090512521537e+00 4.3856705974633261e+00 7 1 -2 +301 1 0.0000000000000000e+00 5.1406913553672533e+00 6.1870497782570428e+00 4.2869570113673046e+00 -1 -5 3 +1434 1 0.0000000000000000e+00 6.3480838078109523e+00 5.4659003448018186e+00 3.9211629269291537e+00 -8 5 -8 +2357 1 0.0000000000000000e+00 6.2104390849581845e+00 7.3824150838126092e+00 3.6505326061313323e+00 6 -2 -6 +1622 1 0.0000000000000000e+00 6.9501496395935760e+00 5.4438846465079367e+00 3.9504634521787567e+00 7 2 -3 +2974 3 1.0000000000000000e+00 5.6298707265110046e+00 6.7718829828482896e+00 3.7681129817029348e+00 -1 -2 -5 +1820 1 0.0000000000000000e+00 7.2217013271818509e+00 6.6059811080006536e+00 4.8730016246816303e+00 4 -1 -3 +1349 1 0.0000000000000000e+00 6.3088816488745589e+00 6.6704305603580556e+00 3.2502021918665833e+00 2 -3 -2 +1844 1 0.0000000000000000e+00 7.1711416332583200e+00 6.7316286258888125e+00 3.1012433365250174e+00 -5 -2 -6 +2284 1 0.0000000000000000e+00 6.1581350006396081e+00 5.7942956133858798e+00 3.2065116372151845e+00 4 -7 -3 +523 1 0.0000000000000000e+00 6.2605531532614798e+00 6.0831928906397117e+00 3.7839142152068748e+00 0 5 -2 +139 1 0.0000000000000000e+00 5.9321107242620217e+00 6.8110754147487560e+00 4.8475710662548153e+00 -3 2 -7 +2460 1 0.0000000000000000e+00 5.7657955720549534e+00 6.8727227448945163e+00 4.5407911269583190e+00 0 -6 -3 +168 1 0.0000000000000000e+00 5.0573971199870025e+00 5.6556588686137026e+00 4.9054654534430266e+00 -3 0 -5 +1840 1 0.0000000000000000e+00 5.5210991606675330e+00 6.0858426320733487e+00 4.8352577357631565e+00 2 5 1 +1298 1 0.0000000000000000e+00 7.3920850814985881e+00 7.0147293748000887e+00 3.5663752827986475e+00 1 4 -3 +774 1 0.0000000000000000e+00 5.1154629534185458e+00 6.7317854660778522e+00 4.8915462637845248e+00 6 -5 5 +2811 2 -1.0000000000000000e+00 6.8756204789109150e+00 6.9671566479622182e+00 4.1881437424332031e+00 -4 0 8 +2806 2 -1.0000000000000000e+00 6.6414096332870081e+00 6.0873194725792521e+00 2.6944789890840197e+00 9 -12 2 +76 1 0.0000000000000000e+00 9.0820238719442781e+00 5.6841953080894880e+00 4.5469197681730780e+00 -3 -1 2 +2247 1 0.0000000000000000e+00 9.9595974303326180e+00 6.2129485866031793e+00 3.2979902062149486e+00 -5 5 -3 +165 1 0.0000000000000000e+00 9.5189434954017571e+00 5.2537466408760869e+00 3.0285171453679838e+00 -6 2 0 +958 1 0.0000000000000000e+00 7.9370658193002219e+00 6.1021282317444037e+00 4.7947458545383403e+00 1 7 -5 +413 1 0.0000000000000000e+00 8.0781186409051209e+00 5.0589801888786639e+00 2.8134607297423289e+00 -5 2 -2 +1143 1 0.0000000000000000e+00 9.3472006997901644e+00 6.7814547235147842e+00 2.9769842648161839e+00 6 -4 -4 +2863 2 -1.0000000000000000e+00 7.7688684602650735e+00 5.9096844520496585e+00 3.0763972245160840e+00 2 0 3 +1618 1 0.0000000000000000e+00 9.4642242217474131e+00 6.8224670022717904e+00 4.2891602679053937e+00 1 3 0 +184 1 0.0000000000000000e+00 8.7982347969413830e+00 5.9902064209640065e+00 3.6854562529770472e+00 0 2 3 +2483 1 0.0000000000000000e+00 8.4148824168577043e+00 6.6032389309520747e+00 4.1084711224619150e+00 2 -1 -1 +2848 2 -1.0000000000000000e+00 7.8058061999228450e+00 5.7461588658779039e+00 3.8628518054726282e+00 2 4 1 +33 1 0.0000000000000000e+00 9.3317462069512622e+00 6.3539269273449186e+00 3.8566563010358981e+00 -4 0 -6 +1526 1 0.0000000000000000e+00 8.4730628595272908e+00 6.4992374398808490e+00 2.6713617727886421e+00 -7 -4 1 +821 1 0.0000000000000000e+00 8.0698553134335516e+00 7.0920182237812224e+00 4.1400307428183565e+00 -1 -3 -4 +2891 2 -1.0000000000000000e+00 8.6464527293774243e+00 5.5255867702764849e+00 3.4252077459033337e+00 4 -3 4 +2100 1 0.0000000000000000e+00 9.3951919831484556e+00 6.1636659094252613e+00 3.1354249630581990e+00 -8 4 -5 +1794 1 0.0000000000000000e+00 8.4547023911741928e+00 5.8967538174585181e+00 2.7645220090628531e+00 -1 2 2 +1341 1 0.0000000000000000e+00 9.3068097547883397e+00 5.6278889516494575e+00 4.0149539599923223e+00 1 4 -7 +661 1 0.0000000000000000e+00 9.3008118890467770e+00 5.5363383734255827e+00 2.7931971245674716e+00 -3 -10 -1 +1529 1 0.0000000000000000e+00 9.2830136336484408e+00 6.0252491323107940e+00 2.8837109753328685e+00 2 7 -5 +398 1 0.0000000000000000e+00 8.8178733309951962e+00 7.2082030613923358e+00 4.5633362281441334e+00 -2 0 0 +587 1 0.0000000000000000e+00 7.7311886048040810e+00 5.4085607685990835e+00 3.1151770563450643e+00 2 1 -2 +644 1 0.0000000000000000e+00 8.5373637175267607e+00 5.3626784220992567e+00 2.6591062914456192e+00 -2 -3 -2 +2281 1 0.0000000000000000e+00 7.7292581303003978e+00 5.3961631524650304e+00 4.8461056712010437e+00 -5 6 2 +1348 1 0.0000000000000000e+00 8.6041566415055151e+00 5.9206611492310346e+00 4.4001681593780324e+00 -4 1 6 +2351 1 0.0000000000000000e+00 9.6733595179476222e+00 5.3134649724230227e+00 3.7900239657776242e+00 4 -3 7 +2954 3 1.0000000000000000e+00 8.5932991150269977e+00 5.7657597873196380e+00 3.7791020165759992e+00 0 -1 -10 +898 1 0.0000000000000000e+00 7.9971275592471542e+00 6.4452824158161697e+00 3.4920230344924135e+00 2 -4 -3 +2093 1 0.0000000000000000e+00 8.9893575589112178e+00 7.1244015383155777e+00 3.5180936254077859e+00 0 1 10 +909 1 0.0000000000000000e+00 9.9717956635386997e+00 7.3061869470997420e+00 3.7455062261986516e+00 0 1 -1 +1135 1 0.0000000000000000e+00 9.3964539228847173e+00 6.4362459441730220e+00 4.5146842671772696e+00 -3 3 -2 +1287 1 0.0000000000000000e+00 8.0272372444316655e+00 5.9149683476516062e+00 4.0336662041623343e+00 1 3 1 +1322 1 0.0000000000000000e+00 8.4561261448080689e+00 7.3946613475156271e+00 2.7221158589577352e+00 1 -2 0 +410 1 0.0000000000000000e+00 7.9073030626063643e+00 6.7901845554443376e+00 2.6711854033770459e+00 0 2 -4 +91 1 0.0000000000000000e+00 8.5696870021245406e+00 7.3862739298641644e+00 3.2231839027580231e+00 0 -1 6 +1680 1 0.0000000000000000e+00 8.1052511877198974e+00 6.7798885042679924e+00 3.8085829712406980e+00 3 1 0 +540 1 0.0000000000000000e+00 8.5158236814902093e+00 7.4635001164441626e+00 3.8652742265897908e+00 -1 -2 6 +1188 1 0.0000000000000000e+00 8.7890903311275412e+00 6.7378717285766481e+00 3.5478656795493166e+00 1 -2 -2 +1092 1 0.0000000000000000e+00 7.6635426493436976e+00 6.1817775867096767e+00 4.2114731827489749e+00 -4 -1 -12 +1010 1 0.0000000000000000e+00 9.2372526405316187e+00 6.4696829577002735e+00 4.9626890574916471e+00 -2 0 2 +2953 3 1.0000000000000000e+00 7.6730614812434910e+00 7.3699129572535425e+00 4.9770695858190050e+00 -1 1 5 +2985 3 1.0000000000000000e+00 9.5197252775280230e+00 7.4652756997865364e+00 4.8195463010130064e+00 3 0 2 +2212 1 0.0000000000000000e+00 8.1762374598113681e+00 6.5498826265000938e+00 4.5992045360964440e+00 -1 1 5 +339 1 0.0000000000000000e+00 9.8524081789841222e+00 5.7431447880274105e+00 4.6959296985864816e+00 1 2 2 +2769 1 0.0000000000000000e+00 7.6737791414664089e+00 6.4172920412236660e+00 2.5042057665775910e+00 3 -8 0 +314 1 0.0000000000000000e+00 6.9892442377855453e+00 7.9760246565010604e+00 3.0053525935590004e+00 3 -4 2 +1956 1 0.0000000000000000e+00 7.4326568762776741e+00 8.3446684388067105e+00 3.3419712108785076e+00 -4 -3 0 +2703 1 0.0000000000000000e+00 7.3683099460561188e+00 9.1508489233674002e+00 2.7985774348657513e+00 3 1 4 +1501 1 0.0000000000000000e+00 6.4378897062931939e+00 9.9109373774870591e+00 4.7258691980558893e+00 -2 -4 -1 +678 1 0.0000000000000000e+00 7.3902738868667166e+00 9.4986335667186399e+00 3.7496268807658861e+00 -2 -4 2 +1356 1 0.0000000000000000e+00 5.1852759276679246e+00 8.4896980298569602e+00 4.2548671645381519e+00 -3 2 0 +316 1 0.0000000000000000e+00 6.1013010714215472e+00 9.3481316280730624e+00 3.4308624007086079e+00 -3 -4 4 +2853 2 -1.0000000000000000e+00 6.2801765172316451e+00 8.8217391449495821e+00 4.0317853772113841e+00 5 0 5 +1074 1 0.0000000000000000e+00 6.6236981234410246e+00 9.8958394939551457e+00 2.6722813927647264e+00 4 -8 1 +437 1 0.0000000000000000e+00 5.7999414784456249e+00 8.8781696415427334e+00 2.8745940112558088e+00 -3 0 3 +969 1 0.0000000000000000e+00 5.7036627828240150e+00 8.1461036773388251e+00 3.1515769751661478e+00 -3 1 -2 +1569 1 0.0000000000000000e+00 6.0173518045372960e+00 7.5738415801874250e+00 4.0553668426566674e+00 -3 0 -1 +727 1 0.0000000000000000e+00 6.8154282743450478e+00 9.3086943393879356e+00 4.5065229738414807e+00 3 -5 1 +96 1 0.0000000000000000e+00 5.6561225676264018e+00 7.6677868345253133e+00 2.7550112962604558e+00 0 0 0 +826 1 0.0000000000000000e+00 6.1924010057251504e+00 7.8327872805463059e+00 4.9262858374814726e+00 7 0 2 +1427 1 0.0000000000000000e+00 6.9550041538871605e+00 8.2283576545682120e+00 3.8744262059804222e+00 5 1 -5 +2223 1 0.0000000000000000e+00 6.9195585099796739e+00 8.7109742236356151e+00 3.2552489626981345e+00 2 -3 -1 +233 1 0.0000000000000000e+00 7.3452094610714322e+00 7.6534686379476335e+00 3.3456011997647805e+00 -2 6 5 +2929 3 1.0000000000000000e+00 5.5885701438206876e+00 8.3677471420492378e+00 4.7251961867353600e+00 -5 3 5 +2502 1 0.0000000000000000e+00 7.3763638031557477e+00 9.8197849411901039e+00 2.7509391825869156e+00 -1 1 1 +1608 1 0.0000000000000000e+00 7.3185168059315089e+00 7.7886462542013968e+00 3.9792515971926474e+00 4 -10 -4 +2290 1 0.0000000000000000e+00 5.8910311287341521e+00 9.5339245562105290e+00 2.7755200067451833e+00 -1 3 0 +787 1 0.0000000000000000e+00 5.5679619797491231e+00 7.5530204196791555e+00 4.6806041486821446e+00 2 1 9 +1838 1 0.0000000000000000e+00 7.1893515179163421e+00 9.6307579240408856e+00 4.1956277928647072e+00 -2 -10 5 +1638 1 0.0000000000000000e+00 6.3761393162250650e+00 9.0487433564361304e+00 3.0465595515329222e+00 -2 7 5 +327 1 0.0000000000000000e+00 5.3306484691431120e+00 8.4592542518814131e+00 2.9255826330617474e+00 -1 -2 3 +561 1 0.0000000000000000e+00 6.1393845131281406e+00 9.4837918950130859e+00 3.9290503275772526e+00 2 4 3 +2071 1 0.0000000000000000e+00 5.4574663401477022e+00 9.0216974295302244e+00 3.5488516530295962e+00 -2 5 7 +68 1 0.0000000000000000e+00 7.0730148255121073e+00 8.8944152519732178e+00 3.7634845243240447e+00 -4 1 -4 +1784 1 0.0000000000000000e+00 6.6990142958804046e+00 9.1030552689309339e+00 4.2548828254047031e+00 2 0 1 +2669 1 0.0000000000000000e+00 6.3527996602365029e+00 8.5604833036450998e+00 3.1201772525408482e+00 -4 5 -8 +1649 1 0.0000000000000000e+00 6.7610107927806293e+00 8.6720129084199460e+00 4.6749571052161070e+00 3 -2 -2 +1544 1 0.0000000000000000e+00 7.2514397463486029e+00 8.9320276835603707e+00 4.2809535816846287e+00 -6 -3 -3 +2927 3 1.0000000000000000e+00 5.2024655282702508e+00 9.2366449032220963e+00 3.5668967592777623e+00 4 6 6 +2934 3 1.0000000000000000e+00 5.7294814007793429e+00 9.4296933429155736e+00 4.1981892070061573e+00 5 3 -3 +847 1 0.0000000000000000e+00 5.1391017299770549e+00 9.5784307826104254e+00 2.8197066959819326e+00 -7 3 -2 +1541 1 0.0000000000000000e+00 5.3564944910031222e+00 7.7889408671320011e+00 4.1201559895861477e+00 -6 1 3 +1459 1 0.0000000000000000e+00 5.5772549782187584e+00 8.2027289301283997e+00 3.7381018640876884e+00 -1 -10 6 +590 1 0.0000000000000000e+00 6.2450284252244836e+00 8.9738760301308940e+00 4.9516509510452487e+00 7 2 1 +2031 1 0.0000000000000000e+00 5.4459285751229283e+00 9.8823762382712239e+00 3.3769809927200343e+00 9 -3 3 +2198 1 0.0000000000000000e+00 5.7813430480858763e+00 8.4826001982289529e+00 4.2276281024421456e+00 -2 -1 2 +2129 1 0.0000000000000000e+00 5.0909009930276214e+00 7.7059872668159315e+00 3.0129662611738519e+00 2 2 2 +1257 1 0.0000000000000000e+00 5.2141252141725127e+00 9.6429273490506091e+00 4.2082042593193956e+00 -1 3 5 +1585 1 0.0000000000000000e+00 6.2830025825884537e+00 8.0489190970229636e+00 3.4812994154630803e+00 2 -6 3 +2909 3 1.0000000000000000e+00 7.2397487043141338e+00 7.6126998322368662e+00 4.9183779047516509e+00 -9 -1 -1 +2442 1 0.0000000000000000e+00 6.4139980450376521e+00 8.3134885271104899e+00 4.6543608374860685e+00 -2 -4 -3 +2160 1 0.0000000000000000e+00 5.0233675348886715e+00 9.2623143455066526e+00 4.5855333660372253e+00 0 1 -1 +878 1 0.0000000000000000e+00 5.2093692997764913e+00 9.9680141683972145e+00 2.8848096857056906e+00 -3 -11 0 +2676 1 0.0000000000000000e+00 9.1465407196277280e+00 9.5253959926976961e+00 4.2988637395511216e+00 -9 2 -2 +2155 1 0.0000000000000000e+00 7.9490793374587065e+00 9.1061993480078325e+00 4.4947274971796620e+00 4 0 7 +1162 1 0.0000000000000000e+00 7.6482391917408163e+00 8.3914649463805713e+00 4.6121340895241598e+00 0 2 -3 +2481 1 0.0000000000000000e+00 8.6154640148376682e+00 8.3122433582766924e+00 2.8647604345756639e+00 -1 3 2 +2427 1 0.0000000000000000e+00 8.2927592705480819e+00 9.8451572890332812e+00 4.4771289790175306e+00 -3 2 3 +2642 1 0.0000000000000000e+00 9.6842599536009750e+00 8.6384632632220377e+00 3.8380472313982001e+00 4 -1 6 +850 1 0.0000000000000000e+00 9.1128269061543072e+00 7.9980190717942978e+00 4.8228602777582612e+00 -7 -5 1 +2236 1 0.0000000000000000e+00 9.6641737566333266e+00 9.3932475281112584e+00 4.2671107811325513e+00 3 -1 1 +2519 1 0.0000000000000000e+00 9.9087331883939864e+00 8.0350495825544996e+00 4.4845735435220169e+00 -3 2 2 +2476 1 0.0000000000000000e+00 9.9338128010939535e+00 9.0810724332818413e+00 3.4032091236523772e+00 7 -2 -4 +2328 1 0.0000000000000000e+00 8.8195529786100124e+00 9.0795286426820905e+00 4.7732859697884340e+00 -1 4 -1 +1655 1 0.0000000000000000e+00 8.7268316399939501e+00 8.0755998136434233e+00 3.5079044324685644e+00 1 1 0 +114 1 0.0000000000000000e+00 7.8841898308365623e+00 9.2915577166882048e+00 3.9126580283884436e+00 2 3 6 +1994 1 0.0000000000000000e+00 7.9232299317157509e+00 9.7133203217139190e+00 2.7398354209853406e+00 -1 6 -2 +2327 1 0.0000000000000000e+00 8.6989460015182107e+00 9.6029447934370449e+00 3.8547415096371593e+00 1 6 0 +396 1 0.0000000000000000e+00 9.4841961721936769e+00 8.0720940796503768e+00 3.3583373519447837e+00 0 -7 0 +123 1 0.0000000000000000e+00 7.8657755339093409e+00 9.0541385909146683e+00 3.0959223293153042e+00 -1 2 6 +2278 1 0.0000000000000000e+00 8.1211756613461112e+00 9.8472745718414441e+00 4.4672223097159653e+00 0 -2 -3 +1353 1 0.0000000000000000e+00 8.3134137829290911e+00 9.2479034909840454e+00 2.7288060488819119e+00 8 3 2 +1616 1 0.0000000000000000e+00 8.9959817103949025e+00 8.1460215276947565e+00 4.1509374821987208e+00 -1 1 -3 +1865 1 0.0000000000000000e+00 8.4073200020304899e+00 8.6497755890983647e+00 3.9139035791312766e+00 0 -2 3 +260 1 0.0000000000000000e+00 9.1747755587571422e+00 8.4102406359787967e+00 2.8266266369762278e+00 -6 1 3 +2007 1 0.0000000000000000e+00 8.2097324274193806e+00 8.4247518045537930e+00 3.1702964159200815e+00 -8 -6 -1 +730 1 0.0000000000000000e+00 9.0066043669664051e+00 7.6326951910760892e+00 3.8649443214985739e+00 10 7 2 +2489 1 0.0000000000000000e+00 9.5432355090989969e+00 8.4268457098804390e+00 4.7267175544800137e+00 0 8 -4 +2588 1 0.0000000000000000e+00 8.3893799724847486e+00 7.9331153075926357e+00 4.6095440524028835e+00 2 0 -4 +662 1 0.0000000000000000e+00 9.3329807482977749e+00 7.6291585982665993e+00 2.5843558752631255e+00 -2 1 0 +1765 1 0.0000000000000000e+00 9.6477410820748588e+00 7.9782449087784313e+00 2.8217426411441799e+00 -1 -1 4 +340 1 0.0000000000000000e+00 9.3699103390583254e+00 8.8126024069064659e+00 4.4539890962291455e+00 -5 -4 0 +2080 1 0.0000000000000000e+00 7.5062423092986199e+00 8.3900404984707215e+00 3.7391476216415094e+00 -3 1 3 +611 1 0.0000000000000000e+00 7.9214538398989767e+00 7.6521095056144208e+00 3.2499906297722818e+00 2 -4 -3 +2595 1 0.0000000000000000e+00 9.8360831836181912e+00 9.7367776134851258e+00 2.5571054168668415e+00 -7 5 0 +2917 3 1.0000000000000000e+00 9.7096278830873324e+00 8.7045908185672278e+00 2.6137223090574611e+00 -4 5 -1 +2973 3 1.0000000000000000e+00 8.9538270928534889e+00 9.4819141070522175e+00 2.8149438022420932e+00 2 -2 2 +318 1 0.0000000000000000e+00 9.8926205760800272e+00 9.9448469857255439e+00 4.9762612830329287e+00 2 -5 -3 +443 1 0.0000000000000000e+00 8.0084417408928168e+00 7.8562917296598167e+00 2.6607965429178302e+00 -2 2 -2 +241 1 0.0000000000000000e+00 8.7242320223245926e+00 9.3128721365824099e+00 3.4087275051827088e+00 9 -2 5 +2561 1 0.0000000000000000e+00 7.8370363348317609e+00 8.2878489945291900e+00 3.9623844338924483e+00 -1 -4 4 +221 1 0.0000000000000000e+00 8.7429900822141526e+00 9.0004988823062053e+00 4.5045480722620921e+00 1 5 2 +1056 1 0.0000000000000000e+00 9.7868930403938013e+00 9.7082234896105302e+00 3.2465597140211608e+00 -4 2 -6 +1286 1 0.0000000000000000e+00 9.4717141862186693e+00 8.9622186079671700e+00 3.3140509357792469e+00 -1 0 2 +440 1 0.0000000000000000e+00 8.7979523010558083e+00 8.7882038958830293e+00 3.6719734575126934e+00 -2 3 1 +2066 1 0.0000000000000000e+00 8.9975596614532449e+00 7.7067891554577335e+00 3.0249788829498687e+00 1 0 2 +742 1 0.0000000000000000e+00 9.5500089178993175e+00 7.7595644768208052e+00 4.1710920530227398e+00 1 4 -2 +859 1 0.0000000000000000e+00 6.7845164854355664e+00 6.6535647825293180e+00 6.5719854488593263e+00 1 -8 -2 +351 1 0.0000000000000000e+00 6.1243124460839757e+00 6.5324094840088378e+00 6.2069000114269564e+00 -2 7 -2 +2860 2 -1.0000000000000000e+00 7.4991320745293004e+00 5.9806351394148569e+00 5.2322737536750532e+00 -3 -5 -1 +2130 1 0.0000000000000000e+00 6.8777525133071720e+00 6.2249664573107495e+00 7.3294754953260783e+00 -2 1 -2 +2869 2 -1.0000000000000000e+00 5.4218622270791466e+00 5.4645570074370555e+00 6.6356036010876762e+00 0 -4 3 +2871 2 -1.0000000000000000e+00 5.6728062977191618e+00 7.1878012601923009e+00 6.5648731247447314e+00 2 3 1 +2552 1 0.0000000000000000e+00 5.9660222070774322e+00 6.2537952929562106e+00 5.1794158348962549e+00 5 1 2 +127 1 0.0000000000000000e+00 6.5713229343596762e+00 5.0073482007421726e+00 6.1740127108874319e+00 -7 1 -1 +1602 1 0.0000000000000000e+00 6.6927051682684251e+00 5.2038841392244608e+00 5.4382620684589460e+00 7 -1 -4 +2892 2 -1.0000000000000000e+00 5.5316319225089110e+00 6.3810550740428686e+00 7.0027527827034017e+00 3 -6 -5 +917 1 0.0000000000000000e+00 6.8963751681441066e+00 7.3825660207676309e+00 5.4998399034668788e+00 -2 0 2 +1836 1 0.0000000000000000e+00 7.1005377575499713e+00 5.5906477135560602e+00 6.3856130508679163e+00 -2 -5 4 +946 1 0.0000000000000000e+00 6.1158555227059379e+00 5.4693825274515584e+00 5.4774406731497711e+00 -1 3 9 +1410 1 0.0000000000000000e+00 6.3645074116279563e+00 7.4803613084969998e+00 6.7375059531515351e+00 1 0 2 +761 1 0.0000000000000000e+00 5.2840315816464365e+00 7.2924370507415093e+00 5.2007296821408939e+00 9 -2 -2 +1596 1 0.0000000000000000e+00 6.0641168903473286e+00 6.2231852413011026e+00 6.9883527221807782e+00 -4 -5 -1 +486 1 0.0000000000000000e+00 6.0815866481912657e+00 6.0258345186108411e+00 7.2317111924197928e+00 0 9 -3 +636 1 0.0000000000000000e+00 7.2074754634037479e+00 6.0043604109672728e+00 6.7403879769646631e+00 6 -8 0 +593 1 0.0000000000000000e+00 6.9742647697653073e+00 5.8566070792757481e+00 5.3427681452032019e+00 -9 2 2 +72 1 0.0000000000000000e+00 6.7972268738017618e+00 7.0065839039461206e+00 5.9263355428729900e+00 -1 3 -2 +1329 1 0.0000000000000000e+00 6.0990428609951453e+00 5.6760524613833256e+00 6.1083066475401822e+00 0 3 -5 +1730 1 0.0000000000000000e+00 5.7004008463885327e+00 5.1371157424934610e+00 7.0488874399032353e+00 9 4 3 +2847 2 -1.0000000000000000e+00 5.6858812452254028e+00 7.4867673436603788e+00 7.4900985195169696e+00 -4 6 -1 +23 1 0.0000000000000000e+00 7.2911734392442655e+00 6.8567324814873070e+00 5.5476901727908396e+00 -7 4 -1 +1394 1 0.0000000000000000e+00 5.8998232319762547e+00 6.8657296141376944e+00 5.7320156933547066e+00 3 7 1 +798 1 0.0000000000000000e+00 6.2247704161286173e+00 7.0551794931100051e+00 7.2264985711031580e+00 4 1 -1 +1155 1 0.0000000000000000e+00 7.0851482373030468e+00 6.3603966232417726e+00 5.9455797158713244e+00 -3 1 0 +2568 1 0.0000000000000000e+00 5.4637908063817742e+00 5.4473520678005691e+00 5.0306589725092712e+00 4 -1 -1 +1289 1 0.0000000000000000e+00 7.1452577911451334e+00 7.2190762790055043e+00 7.0160376253914505e+00 5 0 -2 +2741 1 0.0000000000000000e+00 5.3960064868201201e+00 6.7996103645095438e+00 6.4746692802393655e+00 3 -6 2 +2969 3 1.0000000000000000e+00 6.5077588579733234e+00 7.0903850071616663e+00 5.1385961138607259e+00 1 -1 1 +1839 1 0.0000000000000000e+00 5.1130325226995295e+00 6.6707146700052951e+00 7.4637490002887894e+00 4 3 0 +804 1 0.0000000000000000e+00 5.1374279545427539e+00 5.5928394694332404e+00 5.8476862899695092e+00 4 1 -6 +2388 1 0.0000000000000000e+00 6.2416548362569459e+00 6.0305198117542229e+00 6.3109788891523291e+00 -1 0 5 +2382 1 0.0000000000000000e+00 5.3834418744478096e+00 6.2552432198975234e+00 6.4284012774793169e+00 0 0 2 +380 1 0.0000000000000000e+00 5.4259013223543135e+00 7.1368231316947544e+00 7.3679106809832726e+00 1 2 1 +568 1 0.0000000000000000e+00 5.1418512063239374e+00 6.7425526215926750e+00 5.7890037006525370e+00 2 0 1 +1902 1 0.0000000000000000e+00 5.5565194540174341e+00 5.9260938466490369e+00 5.7285217411787750e+00 1 -4 2 +1154 1 0.0000000000000000e+00 6.0632734526390113e+00 5.2869428546016000e+00 6.9195893789480767e+00 -6 1 -2 +1285 1 0.0000000000000000e+00 6.2662603213040651e+00 7.4563937909637508e+00 5.8906897643177460e+00 1 -3 -4 +15 1 0.0000000000000000e+00 6.5645246301322704e+00 6.9067383501812394e+00 6.4736194024191436e+00 -1 0 3 +1140 1 0.0000000000000000e+00 6.7437931708830368e+00 5.1855212036992189e+00 7.2315631767038022e+00 2 -5 1 +539 1 0.0000000000000000e+00 7.0978682591216549e+00 6.9435917853458839e+00 7.2983824463955331e+00 -5 2 2 +433 1 0.0000000000000000e+00 7.5075306779525830e+00 6.0814924697021953e+00 7.2479774231393428e+00 -2 -3 2 +2549 1 0.0000000000000000e+00 8.5440226690201033e+00 6.8195281471044940e+00 5.2370312587190995e+00 -2 -2 0 +1701 1 0.0000000000000000e+00 8.3839178921312492e+00 7.1807212192086451e+00 6.9450550215352882e+00 -6 -3 1 +2222 1 0.0000000000000000e+00 9.9889386039160559e+00 6.8338092374700841e+00 6.9441226433865211e+00 -6 -1 2 +2002 1 0.0000000000000000e+00 9.0899206078105124e+00 6.0611169930377438e+00 5.0206780283188790e+00 -3 2 -1 +423 1 0.0000000000000000e+00 7.9360051756444854e+00 6.6622415296218671e+00 6.2757950543983627e+00 -7 -1 -6 +1334 1 0.0000000000000000e+00 9.2604972466185878e+00 7.0098836810676906e+00 6.2850749237624104e+00 1 -1 6 +2570 1 0.0000000000000000e+00 7.8627246364943888e+00 7.2439542172090894e+00 5.5996008895653091e+00 2 -8 -1 +2037 1 0.0000000000000000e+00 8.8733633046467641e+00 6.3262275723498815e+00 6.0670384801305106e+00 -2 -3 0 +1990 1 0.0000000000000000e+00 9.0572587212098146e+00 7.3958683013469839e+00 5.7209947637994043e+00 0 0 7 +2681 1 0.0000000000000000e+00 8.0715433505245375e+00 6.5916634073010609e+00 5.4214294049021570e+00 -3 0 -3 +1314 1 0.0000000000000000e+00 9.7797486376342047e+00 6.2742847082446049e+00 5.7082297417951526e+00 -4 1 2 +2544 1 0.0000000000000000e+00 8.4058009155998352e+00 5.3869149028470247e+00 7.4876283324422062e+00 5 -2 -4 +2350 1 0.0000000000000000e+00 8.8400289468087099e+00 6.8993459127644048e+00 6.9909892986441493e+00 3 -2 3 +2682 1 0.0000000000000000e+00 8.4871506755773627e+00 5.1839858219993484e+00 5.8535769744739614e+00 1 6 4 +2312 1 0.0000000000000000e+00 7.7638699450068813e+00 5.2819080509976217e+00 5.7217064267702513e+00 -3 2 -1 +1491 1 0.0000000000000000e+00 9.1361760373254537e+00 6.8083957671759023e+00 5.4793397391210883e+00 0 2 1 +1340 1 0.0000000000000000e+00 9.6335945220670709e+00 5.0764037569918363e+00 5.3248993732187611e+00 3 4 -3 +2646 1 0.0000000000000000e+00 8.9169674083571753e+00 5.4071318379049478e+00 5.2189617928560921e+00 -4 -2 3 +1976 1 0.0000000000000000e+00 8.5694738732620355e+00 5.3535025133591940e+00 7.2318823348507797e+00 5 1 1 +2083 1 0.0000000000000000e+00 8.0893997238028508e+00 5.4517008652404630e+00 7.3123227941503339e+00 -1 -2 0 +2753 1 0.0000000000000000e+00 9.1885027789055833e+00 5.6584532458202421e+00 6.6948809246096088e+00 4 1 -1 +1620 1 0.0000000000000000e+00 9.9252901552726023e+00 6.6401687329165613e+00 5.9015679016368816e+00 -2 2 3 +812 1 0.0000000000000000e+00 9.8037441422671243e+00 5.5288011122501119e+00 7.0785954641846365e+00 -6 4 0 +589 1 0.0000000000000000e+00 9.2609691025231839e+00 5.4625354392981578e+00 5.7762772071569142e+00 0 -2 -3 +1825 1 0.0000000000000000e+00 8.5139648240384513e+00 6.2133465309239924e+00 7.4693860360078519e+00 0 -2 2 +2076 1 0.0000000000000000e+00 7.6541958879342529e+00 6.3498445962140089e+00 5.5892736378405017e+00 3 -5 -3 +2315 1 0.0000000000000000e+00 7.9694662244782188e+00 5.6556606169984978e+00 6.5288499968868496e+00 1 -1 2 +2889 2 -1.0000000000000000e+00 7.6070277351375344e+00 6.2501776054427065e+00 6.2908625795146902e+00 1 3 -4 +28 1 0.0000000000000000e+00 9.6204218161447699e+00 6.2020503148203039e+00 7.3204358777796683e+00 0 5 -3 +1192 1 0.0000000000000000e+00 8.8223609684869633e+00 6.2917963563711430e+00 6.5493185944049630e+00 -7 -4 -5 +2966 3 1.0000000000000000e+00 9.7441331689195732e+00 5.6388665306434058e+00 6.3970798802523010e+00 3 1 3 +2109 1 0.0000000000000000e+00 9.5171866721616993e+00 6.3422412756691724e+00 6.7653209622342088e+00 2 -3 3 +1858 1 0.0000000000000000e+00 9.9784046651918743e+00 7.1073826258292820e+00 6.1136805740966711e+00 4 -5 -2 +2656 1 0.0000000000000000e+00 8.8475270888899509e+00 5.5600752399147071e+00 6.7049186779062699e+00 2 4 4 +834 1 0.0000000000000000e+00 8.0183502320170081e+00 6.7539346360180481e+00 7.1540291343606164e+00 -1 -5 -5 +2912 3 1.0000000000000000e+00 7.7200912765968406e+00 5.0558755124764350e+00 6.4919470130994901e+00 0 2 -5 +1226 1 0.0000000000000000e+00 7.5639857015296155e+00 5.5743063164925974e+00 5.7214208814897258e+00 -4 -2 4 +2652 1 0.0000000000000000e+00 8.5254044660430868e+00 5.8883001889193709e+00 5.5416532276482569e+00 6 2 0 +1364 1 0.0000000000000000e+00 9.8267066773528882e+00 6.8192144450480603e+00 5.0350547898791396e+00 0 0 2 +964 1 0.0000000000000000e+00 8.6318540219534032e+00 6.6924769424753219e+00 5.6634398904997765e+00 -3 3 3 +142 1 0.0000000000000000e+00 8.3217732534251283e+00 6.1728225347568015e+00 7.0009763456191969e+00 -2 -4 -6 +653 1 0.0000000000000000e+00 7.6440967440046474e+00 7.1085043056848143e+00 6.6189886796148194e+00 0 2 2 +1081 1 0.0000000000000000e+00 7.8218260794485834e+00 7.3288041577525211e+00 7.3141559161170253e+00 0 6 -4 +2338 1 0.0000000000000000e+00 8.3009620058508808e+00 5.5617370724462223e+00 5.1294730127272743e+00 2 7 2 +2768 1 0.0000000000000000e+00 8.7559659866704038e+00 6.7766216478378665e+00 7.4224870995890697e+00 0 1 -1 +1402 1 0.0000000000000000e+00 9.3365461000992429e+00 7.4610301853733780e+00 5.1936663715578222e+00 -2 3 1 +1205 1 0.0000000000000000e+00 9.9307921739290776e+00 5.9069722099254856e+00 5.2891065382252069e+00 -1 -1 5 +1713 1 0.0000000000000000e+00 9.9951760485001113e+00 6.5823162597781391e+00 6.4725594600841454e+00 2 2 4 +2032 1 0.0000000000000000e+00 9.6753072423527833e+00 5.0135133383214114e+00 6.0659854602202978e+00 3 3 4 +829 1 0.0000000000000000e+00 6.0102428764909215e+00 9.7739410681571108e+00 6.7626221828542903e+00 0 2 2 +2775 1 0.0000000000000000e+00 6.5646933950382200e+00 9.3129409733743103e+00 7.1444910680980529e+00 1 1 2 +1121 1 0.0000000000000000e+00 5.8133354231562651e+00 9.2231580078505981e+00 6.9365618413919945e+00 2 5 -1 +79 1 0.0000000000000000e+00 5.8146655586516962e+00 8.1430957169696168e+00 6.1531694608879031e+00 0 -1 3 +487 1 0.0000000000000000e+00 6.1118276057644012e+00 8.1880072525768064e+00 7.2202778273081680e+00 6 -3 5 +1304 1 0.0000000000000000e+00 6.5985247043477626e+00 7.9794004416016335e+00 5.4034850593924828e+00 -3 4 -5 +639 1 0.0000000000000000e+00 5.7898304284353808e+00 9.9744498093295899e+00 6.9922356024127943e+00 4 -5 6 +211 1 0.0000000000000000e+00 5.1125245322536443e+00 8.1838343664190756e+00 6.5734294918917202e+00 5 -2 -1 +2789 1 0.0000000000000000e+00 6.7629397463407761e+00 8.7108365967040058e+00 6.7093387900926178e+00 0 -1 -2 +1055 1 0.0000000000000000e+00 5.4548245636611377e+00 9.7242432593242789e+00 6.2529734949533982e+00 -4 1 -3 +1235 1 0.0000000000000000e+00 7.2743960308405775e+00 9.6156207318437588e+00 7.3713316573958299e+00 -5 1 -1 +922 1 0.0000000000000000e+00 5.0751389720984337e+00 9.0367342774561479e+00 5.2416175801687706e+00 -2 -1 -2 +2500 1 0.0000000000000000e+00 7.4796758609872986e+00 8.6895329052831016e+00 6.2956176372551580e+00 1 2 3 +2335 1 0.0000000000000000e+00 6.6698057180689867e+00 9.4435144058282408e+00 5.0829709135746013e+00 3 -3 -1 +2274 1 0.0000000000000000e+00 5.1314033873503035e+00 9.6731762106379424e+00 5.0801975554129015e+00 3 0 1 +1044 1 0.0000000000000000e+00 6.6008765129480569e+00 7.6017035180624521e+00 6.1894138912904992e+00 0 6 0 +2342 1 0.0000000000000000e+00 6.4794508241066548e+00 9.7153533978593654e+00 5.5757334204354381e+00 -3 -1 1 +2704 1 0.0000000000000000e+00 6.0751925885405882e+00 9.9318477913135474e+00 5.2338368106585298e+00 -1 -3 -2 +695 1 0.0000000000000000e+00 6.0675235117809940e+00 8.3746294424369179e+00 6.4546565770131359e+00 -1 4 -1 +2904 3 1.0000000000000000e+00 6.9318507124371624e+00 7.9669436671829903e+00 7.0285562347028963e+00 -6 1 -3 +1927 1 0.0000000000000000e+00 6.8135055330985939e+00 9.9547222285402395e+00 6.2170100650766118e+00 -5 2 0 +2173 1 0.0000000000000000e+00 5.6603441952156617e+00 8.8326305665295113e+00 7.3660548090658606e+00 3 -3 5 +1747 1 0.0000000000000000e+00 5.3097326682907804e+00 9.4060437683130775e+00 6.4920147021845969e+00 5 -3 -3 +1386 1 0.0000000000000000e+00 5.4161323509605932e+00 8.9036544770934327e+00 5.7047330002162013e+00 -8 -1 -3 +941 1 0.0000000000000000e+00 5.4718977033383505e+00 7.5912447618847709e+00 6.7209482029586320e+00 2 0 -3 +992 1 0.0000000000000000e+00 7.1967834908569515e+00 7.6201751326929275e+00 6.8854525957660533e+00 1 -1 -1 +2098 1 0.0000000000000000e+00 5.2810650277962408e+00 8.8130341355699446e+00 6.8166297889279193e+00 0 -5 -1 +2960 3 1.0000000000000000e+00 5.5103175027111275e+00 7.5838937502012111e+00 5.9540901275763538e+00 -1 1 -5 +1693 1 0.0000000000000000e+00 7.2694601139114736e+00 9.3615726681191394e+00 5.7984910091901565e+00 -5 -7 1 +1283 1 0.0000000000000000e+00 5.5969449882168503e+00 9.0279333963109476e+00 5.2913392150996739e+00 -6 3 3 +1752 1 0.0000000000000000e+00 6.9247591926511438e+00 8.4111657588620155e+00 6.4569201195133212e+00 -3 -2 -3 +2585 1 0.0000000000000000e+00 5.4197976490463979e+00 8.1129244718297002e+00 5.2684932639543973e+00 6 -3 -1 +1508 1 0.0000000000000000e+00 5.0610290675997236e+00 8.3708863978880625e+00 6.0767476342782407e+00 -2 2 -8 +2217 1 0.0000000000000000e+00 6.2225181358021304e+00 9.5363316014986435e+00 5.8579675400279312e+00 7 6 -2 +2581 1 0.0000000000000000e+00 6.8500779317600129e+00 9.4337064082773932e+00 6.5246839159375511e+00 2 4 -2 +1812 1 0.0000000000000000e+00 5.3640599411363716e+00 9.6704394623379635e+00 7.3226642584754869e+00 1 2 3 +2662 1 0.0000000000000000e+00 6.4615614337704805e+00 8.5538987565367393e+00 6.4282740854071561e+00 0 -3 3 +329 1 0.0000000000000000e+00 7.0380393850596725e+00 8.3216910175009247e+00 5.0659045084443495e+00 0 1 -7 +284 1 0.0000000000000000e+00 6.0767320603708317e+00 9.1231918843728010e+00 6.3092391047958358e+00 -2 8 2 +2415 1 0.0000000000000000e+00 6.6694911500653955e+00 8.6373820207781407e+00 5.4564664386398931e+00 4 3 1 +702 1 0.0000000000000000e+00 7.4420446159973528e+00 8.3966081971127959e+00 5.7771799453865800e+00 0 1 -4 +1058 1 0.0000000000000000e+00 6.7518211889451498e+00 8.9989893260760940e+00 5.9238654659225229e+00 1 3 -4 +2150 1 0.0000000000000000e+00 5.5523663115613546e+00 7.6841428352181058e+00 5.4598173980932065e+00 1 -6 1 +668 1 0.0000000000000000e+00 7.4295378739326621e+00 8.9527762081867071e+00 5.3279922540345197e+00 0 -2 3 +2511 1 0.0000000000000000e+00 7.2313144583323954e+00 9.4275423433648466e+00 5.1325972878763784e+00 -3 4 3 +1319 1 0.0000000000000000e+00 8.0202808197427036e+00 9.2613307788587083e+00 5.5668025641822938e+00 -5 0 3 +1134 1 0.0000000000000000e+00 8.4293228908482547e+00 8.0751093998992030e+00 6.8697410786037638e+00 0 -3 -5 +2849 2 -1.0000000000000000e+00 8.1096477767752759e+00 8.4943792462849412e+00 5.0892668034183428e+00 1 1 -7 +53 1 0.0000000000000000e+00 8.4573454138879107e+00 8.1750098366223600e+00 5.4274213777066551e+00 2 1 -5 +2576 1 0.0000000000000000e+00 7.5709415420746282e+00 8.4051697091873852e+00 6.9193800666775376e+00 -3 1 2 +2399 1 0.0000000000000000e+00 9.0709783643928734e+00 9.8288635475371535e+00 7.1782380716270868e+00 -1 -2 2 +2714 1 0.0000000000000000e+00 9.2939145764702769e+00 9.1205158144786527e+00 6.3582018565963194e+00 -1 -4 2 +1899 1 0.0000000000000000e+00 8.6697979433382404e+00 7.5018969017727768e+00 6.6285965969160765e+00 0 1 0 +1654 1 0.0000000000000000e+00 9.2425511839439309e+00 8.5840598966414756e+00 6.5680669078463367e+00 -2 -3 1 +1903 1 0.0000000000000000e+00 9.4191416222346298e+00 7.5284453438132122e+00 6.8917001296738283e+00 8 -9 -3 +2011 1 0.0000000000000000e+00 9.9372649014981498e+00 9.3498072578582896e+00 6.9233317920439097e+00 0 5 -1 +2239 1 0.0000000000000000e+00 7.5086998902910427e+00 7.8748750844755655e+00 5.7520670795307298e+00 -7 9 0 +2678 1 0.0000000000000000e+00 8.3876273471700706e+00 7.5332761089405054e+00 6.1140774471393646e+00 -6 -1 -5 +1766 1 0.0000000000000000e+00 8.5405066856465446e+00 7.6342844207765577e+00 5.2804143579665892e+00 -1 0 6 +951 1 0.0000000000000000e+00 8.7464934529416443e+00 9.4751147667888063e+00 6.5908169341608964e+00 5 -2 1 +1579 1 0.0000000000000000e+00 9.5705392488545353e+00 9.3870273481477362e+00 5.1874791254538133e+00 5 5 0 +422 1 0.0000000000000000e+00 8.2311602351612247e+00 9.6608331920031070e+00 7.3148154020609351e+00 2 2 0 +1657 1 0.0000000000000000e+00 8.3818040450457847e+00 9.7827578624919465e+00 6.4226731019243326e+00 -7 0 5 +2771 1 0.0000000000000000e+00 8.7594916740529047e+00 8.8936099517891609e+00 7.1093960253139628e+00 -6 -1 5 +1428 1 0.0000000000000000e+00 9.1205654824390816e+00 9.7156034753463061e+00 6.3014021335050279e+00 -2 1 0 +1266 1 0.0000000000000000e+00 9.3874479552671204e+00 8.1463709054289097e+00 6.4605868155651640e+00 4 3 -5 +2064 1 0.0000000000000000e+00 8.1678752220405340e+00 9.1244602033830109e+00 6.9428639364242439e+00 -1 -3 -2 +1361 1 0.0000000000000000e+00 9.6961785161674641e+00 8.8007941746886384e+00 6.0697320400033803e+00 5 2 4 +2694 1 0.0000000000000000e+00 8.1793492388161901e+00 8.1347985408381831e+00 6.2407179734272784e+00 0 -4 -1 +2149 1 0.0000000000000000e+00 7.8547886268243374e+00 9.6787922934172759e+00 6.6627582153466873e+00 5 6 -2 +1950 1 0.0000000000000000e+00 8.9058216048861834e+00 9.4855565450974098e+00 5.4479252038829769e+00 3 -2 -1 +193 1 0.0000000000000000e+00 9.1845172296679625e+00 7.9204205647930808e+00 5.9963410319171944e+00 -3 -5 -1 +504 1 0.0000000000000000e+00 9.1273412812098336e+00 8.5490588450922829e+00 5.7401132753514750e+00 3 -6 6 +1082 1 0.0000000000000000e+00 9.0776498498691538e+00 8.0171136211783995e+00 7.2690603527335185e+00 3 -1 5 +2485 1 0.0000000000000000e+00 9.6247548460976819e+00 8.5619783418623161e+00 7.1171108236066498e+00 1 1 3 +1890 1 0.0000000000000000e+00 9.4732572465350025e+00 7.6536867945389515e+00 7.2824322273465825e+00 -6 1 5 +113 1 0.0000000000000000e+00 7.5510829595473599e+00 8.6578898880381985e+00 7.0106114727864570e+00 5 -3 4 +2859 2 -1.0000000000000000e+00 9.9698874974893403e+00 8.4207507305649649e+00 5.8744696250659123e+00 -3 4 1 +1301 1 0.0000000000000000e+00 8.4991464298328125e+00 8.5993655234694089e+00 5.9669943509867043e+00 -5 1 1 +2095 1 0.0000000000000000e+00 7.6779237915433063e+00 7.6478047984883641e+00 6.3315761086164501e+00 2 0 0 +1538 1 0.0000000000000000e+00 9.7805176293833416e+00 7.8528599211164059e+00 5.4877979715663976e+00 3 -2 -1 +1942 1 0.0000000000000000e+00 7.9587240439183926e+00 8.0305739709976809e+00 7.3734784711820138e+00 -2 0 -4 +215 1 0.0000000000000000e+00 9.9222822277352023e+00 7.5003749485418325e+00 6.4983844841868708e+00 3 -1 -5 +2506 1 0.0000000000000000e+00 9.5268697033119274e+00 9.5012727645370845e+00 7.3631651104469009e+00 -2 0 -2 +1589 1 0.0000000000000000e+00 8.1624648376508393e+00 8.9658919025981305e+00 6.5954234167177459e+00 3 -1 -1 +1750 1 0.0000000000000000e+00 8.5831246646744219e+00 9.1444882116631359e+00 6.1769671550630720e+00 0 3 3 +2533 1 0.0000000000000000e+00 7.5337383354857188e+00 9.2238555240236533e+00 6.2667626904432510e+00 4 -3 2 +384 1 0.0000000000000000e+00 8.3458866002382344e+00 8.8414279641153222e+00 5.1766349558037792e+00 5 -3 -4 +2058 1 0.0000000000000000e+00 7.9966229170057952e+00 8.5671926022881486e+00 5.7576140424491129e+00 -1 2 -5 +251 1 0.0000000000000000e+00 8.5564496131169463e+00 9.7320444509266704e+00 5.5263638488663069e+00 -6 -1 0 +2766 1 0.0000000000000000e+00 7.7285454105330249e+00 9.0397604800088480e+00 7.3835773514836855e+00 0 -3 -2 +1124 1 0.0000000000000000e+00 9.3478314219213452e+00 8.6800611102174727e+00 5.2961930746216481e+00 -5 -5 0 +2722 1 0.0000000000000000e+00 9.9615581569120710e+00 7.9631907065538670e+00 7.3521607948058758e+00 -4 6 -1 +2640 1 0.0000000000000000e+00 7.9416385874295106e+00 9.7269314441588541e+00 5.4482471843851892e+00 3 0 2 +1888 1 0.0000000000000000e+00 8.3166581325155544e+00 9.9526441987595202e+00 7.4865076015357586e+00 -10 -1 -3 +275 1 0.0000000000000000e+00 5.5794365262568961e+00 5.1319081687951389e+00 8.0606660209790011e+00 -3 -4 -3 +886 1 0.0000000000000000e+00 6.3403775316908373e+00 5.9782216391613465e+00 9.8433967450941875e+00 3 1 -1 +1841 1 0.0000000000000000e+00 5.9749285296279941e+00 5.3076211580827755e+00 9.2856464794893281e+00 -3 -6 -1 +1384 1 0.0000000000000000e+00 5.3054209458230268e+00 6.8005117726869946e+00 8.7330752242921967e+00 -5 0 3 +1753 1 0.0000000000000000e+00 6.2262098878551155e+00 6.3809343025477396e+00 7.7066117397908265e+00 3 -5 -8 +1783 1 0.0000000000000000e+00 6.6312250060031142e+00 6.3059018848709147e+00 9.0059860533254739e+00 2 8 -2 +2447 1 0.0000000000000000e+00 6.0376103122244267e+00 7.1414661390538434e+00 8.1196058407438656e+00 -3 -1 2 +2583 1 0.0000000000000000e+00 7.2084583220513316e+00 5.9664038309877423e+00 9.4972536990547685e+00 1 2 -2 +2486 1 0.0000000000000000e+00 6.8184243079848361e+00 5.4312403438512762e+00 8.2604297290545698e+00 -5 -4 0 +1968 1 0.0000000000000000e+00 7.3215731207792931e+00 5.2595707810716457e+00 8.0149324188671294e+00 4 2 1 +2915 3 1.0000000000000000e+00 6.9434630832667112e+00 7.0463712445200795e+00 7.9954496674094058e+00 -1 -1 -2 +235 1 0.0000000000000000e+00 5.2791908886371122e+00 5.1726681682293778e+00 9.9023276582797521e+00 -2 0 -5 +1381 1 0.0000000000000000e+00 5.4935409822937933e+00 7.1120550348876090e+00 8.3308590649647201e+00 0 -2 1 +2104 1 0.0000000000000000e+00 6.8667863257518418e+00 6.6953958475689079e+00 8.9924827348587684e+00 -2 7 0 +1480 1 0.0000000000000000e+00 5.9950174731261940e+00 6.6814510681286716e+00 9.0080395019187307e+00 1 0 -2 +2375 1 0.0000000000000000e+00 6.5956923100716383e+00 6.5348052444846241e+00 7.7225892067998005e+00 -6 -3 3 +726 1 0.0000000000000000e+00 5.6655759762912350e+00 6.2088877538507914e+00 9.1758096977049473e+00 -2 -5 2 +765 1 0.0000000000000000e+00 5.1870991888955116e+00 7.2676642618579255e+00 9.0530719741004155e+00 4 -3 -6 +1186 1 0.0000000000000000e+00 5.5503828704501545e+00 5.8849361028044269e+00 7.5748756459859292e+00 1 5 -3 +2079 1 0.0000000000000000e+00 5.7067168465628022e+00 6.0772226219741130e+00 8.2853780079493120e+00 -8 0 5 +875 1 0.0000000000000000e+00 5.8026617880728528e+00 6.1768625979177942e+00 9.7001996328685127e+00 0 1 -5 +2325 1 0.0000000000000000e+00 5.2865559795530030e+00 6.7758499260878464e+00 9.5835736804772527e+00 -1 -2 0 +1372 1 0.0000000000000000e+00 6.0488671933645524e+00 5.8284769116976536e+00 8.4062608132090233e+00 0 -3 -9 +2477 1 0.0000000000000000e+00 6.4989892501709248e+00 5.8382814446920142e+00 8.9603291310190905e+00 7 -2 -1 +2938 3 1.0000000000000000e+00 7.1367333185240938e+00 7.1811538317862675e+00 8.4595791384031767e+00 -4 -1 3 +2868 2 -1.0000000000000000e+00 7.3666939709086074e+00 5.8174350282714347e+00 9.0595757124616050e+00 3 2 -2 +116 1 0.0000000000000000e+00 6.5434508319796665e+00 7.4123603751685421e+00 7.7833435454473543e+00 -2 3 -9 +2273 1 0.0000000000000000e+00 6.5235427333443532e+00 6.5503367056779407e+00 8.2865990647143040e+00 2 4 -1 +1031 1 0.0000000000000000e+00 5.7037012933950058e+00 7.4723911074708962e+00 9.1253460369464872e+00 -3 8 -4 +1486 1 0.0000000000000000e+00 7.0383337275281654e+00 6.7400876958351894e+00 9.8053844200948017e+00 -6 -3 -5 +2604 1 0.0000000000000000e+00 6.6874806154939153e+00 5.2019633555199176e+00 8.7724409097897542e+00 -5 -2 6 +1333 1 0.0000000000000000e+00 6.3044754488068948e+00 7.0735382171614853e+00 9.4437775212270871e+00 2 -2 0 +2800 1 0.0000000000000000e+00 5.2898207524626129e+00 6.1068973094075361e+00 8.9790936184158792e+00 -1 -5 -3 +1989 1 0.0000000000000000e+00 7.4575164682076220e+00 6.4702641604112383e+00 8.1101296719757023e+00 1 -1 -7 +1085 1 0.0000000000000000e+00 5.3194408058721159e+00 5.4138628443471584e+00 9.2089993144971700e+00 -6 0 5 +2018 1 0.0000000000000000e+00 6.2457229070290055e+00 5.4748109251221031e+00 7.5935195445680206e+00 -6 4 2 +2047 1 0.0000000000000000e+00 6.2577260433295585e+00 7.2251723027400248e+00 8.5211143921276165e+00 -6 -3 3 +764 1 0.0000000000000000e+00 5.4580487846068824e+00 5.5308017428674683e+00 8.2668539340989184e+00 -2 -1 -3 +271 1 0.0000000000000000e+00 5.0162286340054481e+00 6.3385489956811449e+00 8.2883281209569333e+00 -5 0 -1 +968 1 0.0000000000000000e+00 6.7485259184942068e+00 6.0270564797906605e+00 9.6816831979824602e+00 6 -1 -3 +2202 1 0.0000000000000000e+00 7.0362272834433073e+00 7.4844080401042818e+00 9.1691591538536805e+00 3 4 1 +2939 3 1.0000000000000000e+00 5.3990834930083285e+00 5.4327670325306636e+00 7.6493423024341292e+00 -4 -1 0 +306 1 0.0000000000000000e+00 7.3811555142128924e+00 5.8985478636625537e+00 8.7596397085411102e+00 -8 4 -6 +2492 1 0.0000000000000000e+00 7.0947862656155900e+00 6.2059179433890694e+00 8.0667872392371311e+00 -1 6 7 +2914 3 1.0000000000000000e+00 6.1467164614019465e+00 7.3151594556350474e+00 9.6110511041468367e+00 6 -1 -2 +1262 1 0.0000000000000000e+00 7.1846844073950749e+00 5.0552218479312918e+00 9.3114813324435541e+00 1 -1 -3 +1000 1 0.0000000000000000e+00 7.2239382413892779e+00 5.3783498271483543e+00 7.5188360238248997e+00 3 -1 1 +2258 1 0.0000000000000000e+00 8.3558924121364715e+00 5.1667020929594978e+00 9.4159130465538894e+00 -1 2 -3 +631 1 0.0000000000000000e+00 9.8659152303578903e+00 6.9222676135844639e+00 9.8681086287130704e+00 -3 -2 5 +1095 1 0.0000000000000000e+00 8.7245031921616238e+00 5.7488847066666642e+00 8.3306298381790640e+00 -9 5 -2 +480 1 0.0000000000000000e+00 8.3659696884402450e+00 6.7491753628552269e+00 9.1238975772209123e+00 -2 -2 7 +2599 1 0.0000000000000000e+00 8.9809947916462729e+00 5.7193324803288617e+00 9.7762299510553419e+00 1 -1 -2 +280 1 0.0000000000000000e+00 8.5741230112245805e+00 6.5152865485959923e+00 8.6611756146957113e+00 -1 4 -4 +2725 1 0.0000000000000000e+00 7.8573405324124561e+00 7.4229956540471553e+00 9.2098187183696911e+00 1 3 3 +1123 1 0.0000000000000000e+00 7.6956147020832155e+00 6.2758750951354134e+00 9.9336315520630549e+00 1 1 -1 +2935 3 1.0000000000000000e+00 9.8538346681853017e+00 5.5869032055171388e+00 9.3236829067127029e+00 5 -7 7 +650 1 0.0000000000000000e+00 9.5380771325344362e+00 5.6645250827055973e+00 9.4827529743247823e+00 0 1 -3 +421 1 0.0000000000000000e+00 8.5518906592931909e+00 7.2300198329065211e+00 9.7234860141799277e+00 -1 -1 1 +1636 1 0.0000000000000000e+00 9.7074096108349330e+00 7.2599745014264636e+00 9.4072347370295617e+00 3 -5 -4 +2821 2 -1.0000000000000000e+00 9.2094534150674026e+00 5.2621715685126169e+00 8.6931582007570398e+00 -4 6 -4 +1792 1 0.0000000000000000e+00 9.0942340195959677e+00 7.0459355360387734e+00 9.7892973322007446e+00 -1 -4 -2 +1555 1 0.0000000000000000e+00 9.4880311174114453e+00 7.1470618068611751e+00 9.0329332203189772e+00 2 -4 -2 +289 1 0.0000000000000000e+00 8.2003297845039818e+00 5.9770512899172470e+00 9.1883212362317579e+00 -7 -6 -4 +2772 1 0.0000000000000000e+00 9.6600342051557551e+00 6.1317094053976593e+00 9.6920567111053693e+00 -4 -3 1 +1309 1 0.0000000000000000e+00 9.3755967429311085e+00 6.3464008016433215e+00 8.7892642432600940e+00 -2 -3 -2 +1196 1 0.0000000000000000e+00 7.7415868569288353e+00 5.8769549441362878e+00 7.9496218757716504e+00 -5 7 -3 +609 1 0.0000000000000000e+00 9.8994039170629886e+00 5.5859650395529430e+00 8.8775367200004904e+00 -3 5 -3 +828 1 0.0000000000000000e+00 7.7875664939126787e+00 6.9331830911061072e+00 9.0512567375295472e+00 -3 3 -3 +1011 1 0.0000000000000000e+00 8.4439032988920726e+00 7.2297165561819803e+00 8.2511264262255413e+00 -4 0 -4 +712 1 0.0000000000000000e+00 9.1904464135172912e+00 5.5185117407698883e+00 7.7669833366954890e+00 -6 1 3 +1239 1 0.0000000000000000e+00 8.4424023346817201e+00 5.1456261890752053e+00 8.2636462371127717e+00 1 -1 0 +1274 1 0.0000000000000000e+00 8.0306130271310696e+00 5.2501693946303618e+00 8.8776757394667243e+00 -3 1 2 +1475 1 0.0000000000000000e+00 9.7710810863788211e+00 5.0055593959782945e+00 8.4041120736421373e+00 2 3 -4 +2077 1 0.0000000000000000e+00 8.1158327417135681e+00 6.6948202757514643e+00 8.0038333376249629e+00 3 0 -2 +732 1 0.0000000000000000e+00 7.9037104090097987e+00 6.5105902881160196e+00 9.0828989235166926e+00 0 -4 -5 +2191 1 0.0000000000000000e+00 7.8565646976840888e+00 7.3363347951744808e+00 8.5687554674395336e+00 -5 1 1 +1801 1 0.0000000000000000e+00 7.9370577589148512e+00 6.4746040757555505e+00 8.5234405477258743e+00 -1 6 -3 +1566 1 0.0000000000000000e+00 8.6410747792360212e+00 5.6248552767316005e+00 9.3133361617430399e+00 2 -1 2 +506 1 0.0000000000000000e+00 7.5878558483886973e+00 7.2656098749582068e+00 8.0320119936628238e+00 -6 -2 0 +666 1 0.0000000000000000e+00 8.9877983919399380e+00 6.3894552176139916e+00 9.3588908818300762e+00 4 -4 -4 +2887 2 -1.0000000000000000e+00 9.3987688235582780e+00 6.0438580272318889e+00 7.8512721868386315e+00 -5 -5 0 +69 1 0.0000000000000000e+00 8.8281169388358478e+00 7.4233065540907228e+00 8.8588461675720627e+00 -2 2 4 +1417 1 0.0000000000000000e+00 8.0856491269739106e+00 7.4252823062047923e+00 8.0309846353350487e+00 -3 8 6 +2885 2 -1.0000000000000000e+00 9.5727609237487918e+00 6.8132419580995487e+00 7.9360743119884036e+00 -1 0 -5 +556 1 0.0000000000000000e+00 9.5890078553416895e+00 5.3029272040784710e+00 7.9406110234773042e+00 -4 -5 -1 +1436 1 0.0000000000000000e+00 8.1223993471755414e+00 5.7616277576581130e+00 8.0681841928312519e+00 -2 1 -1 +1862 1 0.0000000000000000e+00 8.2292589738408477e+00 6.1466180331107640e+00 9.7143339615167292e+00 1 2 -4 +93 1 0.0000000000000000e+00 9.0118287536180528e+00 6.9251642906249549e+00 8.4656050780668686e+00 -5 0 2 +1400 1 0.0000000000000000e+00 7.8211032581199422e+00 6.0132861822686179e+00 8.4929661803517629e+00 -3 -3 -2 +2738 1 0.0000000000000000e+00 9.2801066470933549e+00 5.8189652811656751e+00 8.7169027225525806e+00 10 3 2 +586 1 0.0000000000000000e+00 7.7721434312204094e+00 5.4034689198287742e+00 9.6110013748541459e+00 -5 0 4 +1136 1 0.0000000000000000e+00 7.6876669484065960e+00 5.0110410740741491e+00 8.0831908609008387e+00 6 4 -2 +1107 1 0.0000000000000000e+00 5.1641817873628648e+00 9.0014941258773664e+00 8.4561540418816605e+00 3 0 3 +7 1 0.0000000000000000e+00 6.9994996076110141e+00 9.5626969229086285e+00 8.0547307081170327e+00 -10 3 0 +2510 1 0.0000000000000000e+00 5.1084980980253727e+00 8.8828757530064433e+00 9.2581055401440846e+00 5 1 -4 +1786 1 0.0000000000000000e+00 5.1142092006456705e+00 7.5687120889649595e+00 7.5636689587223307e+00 4 2 -3 +154 1 0.0000000000000000e+00 5.4285467644947989e+00 7.5867373034625736e+00 8.2634532956461104e+00 -5 -4 1 +938 1 0.0000000000000000e+00 6.6477919088604764e+00 8.9451263769865665e+00 9.4737924570894076e+00 -6 0 0 +496 1 0.0000000000000000e+00 6.5712128637491327e+00 9.2788292625682249e+00 8.5723661877234303e+00 -4 3 4 +853 1 0.0000000000000000e+00 5.5632294431189653e+00 8.7357678659223872e+00 8.7138485492579196e+00 0 -5 -1 +2946 3 1.0000000000000000e+00 5.1239971617170506e+00 9.5775688283236367e+00 8.1268998961697925e+00 2 -1 -2 +1848 1 0.0000000000000000e+00 7.4522659149123189e+00 9.3569745483169147e+00 9.8195356826224902e+00 3 4 -6 +1874 1 0.0000000000000000e+00 5.2440921607652804e+00 7.7349442600300131e+00 9.8533660894640516e+00 4 -2 -5 +159 1 0.0000000000000000e+00 5.7956468948365076e+00 7.9008327710345405e+00 9.5580148813221939e+00 -4 0 4 +2880 2 -1.0000000000000000e+00 5.9946012738043528e+00 9.0850307866905098e+00 9.2777489863764266e+00 -3 1 0 +1308 1 0.0000000000000000e+00 7.3739557082933835e+00 9.8400768811957704e+00 9.3123222840612776e+00 1 -4 -4 +90 1 0.0000000000000000e+00 6.2788113442528832e+00 9.8904301790342206e+00 9.1851033332770626e+00 4 -2 -7 +2392 1 0.0000000000000000e+00 5.8423067197421306e+00 9.4453165268242039e+00 8.4800555018836068e+00 -4 3 -1 +746 1 0.0000000000000000e+00 5.4751616619054531e+00 8.7995639702747557e+00 8.1190799992239153e+00 1 -3 0 +706 1 0.0000000000000000e+00 7.3294454724439664e+00 8.4149027818925664e+00 9.3890330034526865e+00 -3 -4 -3 +1915 1 0.0000000000000000e+00 6.1126263865978547e+00 8.5026046243577547e+00 8.3037281504959832e+00 -7 1 -2 +2550 1 0.0000000000000000e+00 7.1395095988763604e+00 8.6986287461229423e+00 7.9373690756628035e+00 11 4 -2 +2008 1 0.0000000000000000e+00 7.2656287165162521e+00 7.5283591398962058e+00 7.6921511353195422e+00 0 1 4 +2670 1 0.0000000000000000e+00 6.5809684275692355e+00 8.6142191628260019e+00 8.7182454352748202e+00 -2 2 -3 +1399 1 0.0000000000000000e+00 5.7353895434933229e+00 9.5074440640692011e+00 9.8256162381877203e+00 -2 -8 3 +336 1 0.0000000000000000e+00 7.4206067250955057e+00 8.1147110945078484e+00 8.4750847674299354e+00 -2 3 1 +869 1 0.0000000000000000e+00 7.0439365189743723e+00 9.6577687653672530e+00 8.6934722141044425e+00 0 1 1 +2655 1 0.0000000000000000e+00 5.8096546365709587e+00 8.5612422518931393e+00 9.2462558224323548e+00 -1 -3 -7 +2412 1 0.0000000000000000e+00 6.6081544504304697e+00 7.5709031400655062e+00 9.0347142704264254e+00 1 1 8 +378 1 0.0000000000000000e+00 7.3835998214749567e+00 8.8048260317103306e+00 8.6058944323565996e+00 -2 -7 1 +1324 1 0.0000000000000000e+00 6.1822812702869996e+00 9.0676977541418200e+00 7.9231361680221744e+00 6 9 -1 +1420 1 0.0000000000000000e+00 6.6045281816000143e+00 8.2372378935130275e+00 9.6598614366118607e+00 3 -2 1 +1628 1 0.0000000000000000e+00 6.9413896180992571e+00 8.0064393487758529e+00 7.7676540344340737e+00 2 -1 1 +375 1 0.0000000000000000e+00 6.8556863586566879e+00 8.7428408650561327e+00 7.6673854626566431e+00 5 -2 7 +2459 1 0.0000000000000000e+00 6.0676106692018017e+00 9.5645990820666924e+00 7.8337229659810426e+00 -6 -9 0 +996 1 0.0000000000000000e+00 5.4172062560041319e+00 8.1893374706619699e+00 7.7551065485787678e+00 6 3 -1 +1122 1 0.0000000000000000e+00 6.7485911424928213e+00 7.6666165090472411e+00 9.9295879340097137e+00 0 -9 1 +2980 3 1.0000000000000000e+00 6.9394505517252165e+00 7.8116096778175841e+00 8.6092120777776842e+00 1 -5 0 +237 1 0.0000000000000000e+00 7.2693975921284144e+00 7.5292902409657465e+00 9.9241695896120241e+00 7 -4 0 +452 1 0.0000000000000000e+00 5.1193727314411106e+00 9.1609224077430582e+00 9.5814488540146030e+00 3 3 -3 +1276 1 0.0000000000000000e+00 6.2375343146247664e+00 7.9588566184613043e+00 8.0717402821621889e+00 3 0 8 +71 1 0.0000000000000000e+00 6.2291421742838651e+00 8.1825007347638419e+00 9.1067927538067988e+00 2 -1 -1 +1868 1 0.0000000000000000e+00 6.5821253220388636e+00 9.7119296374399546e+00 7.5519816734684460e+00 4 -6 -1 +285 1 0.0000000000000000e+00 7.1879445838901672e+00 9.2288263076859067e+00 9.0376570534814427e+00 1 1 2 +1291 1 0.0000000000000000e+00 7.3897156208398451e+00 8.3126531600667484e+00 7.5990766376105006e+00 1 1 -8 +1194 1 0.0000000000000000e+00 5.1201204027914269e+00 7.9617161300352306e+00 8.9015539063743834e+00 2 -1 -2 +2813 2 -1.0000000000000000e+00 5.4019024229639117e+00 9.9362633103993634e+00 7.6575517407478753e+00 3 0 0 +1307 1 0.0000000000000000e+00 5.4921653714995848e+00 9.5290755840776384e+00 9.0537087030192183e+00 -3 5 -1 +2426 1 0.0000000000000000e+00 6.3965473312298373e+00 8.3496344991032529e+00 7.5622155643186328e+00 1 0 -2 +2716 1 0.0000000000000000e+00 5.5489713467722597e+00 9.9731850428676783e+00 8.5166964062130397e+00 1 2 1 +1050 1 0.0000000000000000e+00 5.9881491447777675e+00 8.4231054522493647e+00 9.9724330012437630e+00 4 3 -1 +2267 1 0.0000000000000000e+00 5.7709358987340993e+00 8.7433120083507418e+00 9.9973609180290435e+00 6 2 4 +2234 1 0.0000000000000000e+00 8.1882034987556782e+00 8.0321984341917343e+00 8.1079324140724740e+00 1 3 -6 +21 1 0.0000000000000000e+00 8.7891405751000136e+00 9.5553061910394046e+00 8.5185002476242833e+00 -1 2 1 +61 1 0.0000000000000000e+00 8.2245277262365999e+00 9.5652832206015788e+00 9.2333867225764763e+00 3 2 -3 +2306 1 0.0000000000000000e+00 9.9182671747067310e+00 8.6984177278172847e+00 8.2525987619635650e+00 -4 0 2 +953 1 0.0000000000000000e+00 8.5931521851165371e+00 7.5244464937855620e+00 7.6862990972975593e+00 2 0 -3 +2157 1 0.0000000000000000e+00 9.2231859219075467e+00 7.6053724926535811e+00 8.2099396237640025e+00 -6 0 -3 +773 1 0.0000000000000000e+00 7.8452591752095033e+00 8.6020401315600612e+00 8.0133325146339835e+00 0 -1 1 +1571 1 0.0000000000000000e+00 9.3628360227611012e+00 9.2211295439534844e+00 7.8314173956878994e+00 3 -1 -2 +1823 1 0.0000000000000000e+00 9.8601422001083687e+00 9.5939488527309926e+00 9.1598745394610663e+00 -5 5 -2 +236 1 0.0000000000000000e+00 8.3532352687679854e+00 7.7795168533629342e+00 8.8513137673528544e+00 1 7 1 +2272 1 0.0000000000000000e+00 8.5599615024483722e+00 9.2001893256083722e+00 8.8069085181150317e+00 -5 -4 1 +1999 1 0.0000000000000000e+00 9.0401950422452408e+00 9.8492810777786293e+00 9.3734259239619355e+00 -3 -5 -1 +2591 1 0.0000000000000000e+00 8.9181380614224892e+00 9.0330010980282527e+00 9.6948124310117709e+00 4 -3 -3 +1281 1 0.0000000000000000e+00 8.8462766089064875e+00 7.9313306340170229e+00 8.4688309119328959e+00 -4 6 -2 +1864 1 0.0000000000000000e+00 7.5138662901579334e+00 9.7474207815526999e+00 8.8565258633383053e+00 -3 4 -6 +296 1 0.0000000000000000e+00 8.8296822093031988e+00 7.9028662263249307e+00 9.9305314861999889e+00 -3 0 2 +1662 1 0.0000000000000000e+00 7.5022430224069785e+00 8.0722401068168050e+00 9.8213600675227788e+00 -2 1 4 +638 1 0.0000000000000000e+00 8.9414584928702965e+00 8.9995970780520373e+00 8.9541670088137568e+00 -2 -1 -1 +2017 1 0.0000000000000000e+00 8.5987178609809902e+00 9.0293747598209375e+00 7.9274082370297210e+00 -1 -3 0 +2721 1 0.0000000000000000e+00 8.6429911299634465e+00 8.5040310353537123e+00 9.6596375423373573e+00 -8 -5 -2 +1799 1 0.0000000000000000e+00 8.2117895859542998e+00 7.9421607689031770e+00 9.9897263479051599e+00 4 0 2 +835 1 0.0000000000000000e+00 9.3959992435918309e+00 8.2739615445091097e+00 9.0252683958706346e+00 -3 1 -1 +1650 1 0.0000000000000000e+00 9.1808718857026683e+00 8.6441299823702078e+00 9.0247549384718031e+00 1 4 -3 +1788 1 0.0000000000000000e+00 9.8345360812504943e+00 8.8531427017462914e+00 8.9876129049174338e+00 3 -2 3 +1543 1 0.0000000000000000e+00 9.0216576400661417e+00 7.6909149535250378e+00 9.3245523985120968e+00 6 -6 4 +1104 1 0.0000000000000000e+00 8.6387333672860116e+00 8.4077107893894336e+00 8.6594891628843662e+00 3 -1 -2 +1119 1 0.0000000000000000e+00 7.9045629854784716e+00 9.2442474561313475e+00 8.2643378914323975e+00 -4 0 4 +841 1 0.0000000000000000e+00 8.5058880257053531e+00 9.6392144209583819e+00 7.9495803895130397e+00 -5 -2 5 +2857 2 -1.0000000000000000e+00 9.7025409797701148e+00 9.6525979322002780e+00 9.5898867748907737e+00 -10 0 -1 +2589 1 0.0000000000000000e+00 9.8869358666760618e+00 8.3306740237897543e+00 8.4491450390306042e+00 -1 -3 -7 +814 1 0.0000000000000000e+00 9.7076750791241615e+00 9.3406545094163320e+00 8.0846177244739525e+00 0 5 -5 +2344 1 0.0000000000000000e+00 9.6470020912768817e+00 7.8261807988823024e+00 8.8689396661238611e+00 -4 0 1 +625 1 0.0000000000000000e+00 9.5922307311828625e+00 8.5635154609099331e+00 7.6026369015979078e+00 -5 2 3 +2986 3 1.0000000000000000e+00 9.1820451185755836e+00 8.5402099664654578e+00 8.1808116596793266e+00 2 -3 2 +508 1 0.0000000000000000e+00 7.6770429943273975e+00 9.5620342569393593e+00 7.5640042184218261e+00 -1 -9 2 +1228 1 0.0000000000000000e+00 7.6193263545845165e+00 7.9886014558049236e+00 9.0808463916323205e+00 5 -1 -2 +1469 1 0.0000000000000000e+00 7.8569845110780090e+00 8.6664317504404185e+00 8.8490201113029201e+00 5 0 0 +743 1 0.0000000000000000e+00 9.3259023787196327e+00 9.5844176315902896e+00 8.4787173294180995e+00 -1 3 -2 +137 1 0.0000000000000000e+00 8.3986513262585696e+00 8.7617183710988833e+00 7.5655908436593347e+00 -5 3 1 +2854 2 -1.0000000000000000e+00 7.7026825249995090e+00 9.1501032854948381e+00 9.4395930165201225e+00 2 0 -8 +2950 3 1.0000000000000000e+00 9.6168376049514102e+00 8.6951540647792420e+00 9.9619143739632925e+00 1 1 1 +1634 1 0.0000000000000000e+00 9.9468897860508569e+00 8.0292009150117618e+00 9.5509654757455618e+00 -7 1 -3 +2787 1 0.0000000000000000e+00 8.0485549760665833e+00 8.7721318997247870e+00 9.5944249963757304e+00 0 2 8 +2179 1 0.0000000000000000e+00 9.1288858456541604e+00 9.9887525184356658e+00 8.3159328887927746e+00 0 3 2 +2264 1 0.0000000000000000e+00 8.8634526585401172e+00 7.9226690232413537e+00 7.5913761533017423e+00 -3 6 0 + +Velocities + +19 3.2700823975451121e-01 -2.3482296159526705e-01 -1.3504792563985044e+00 +1837 -1.6540795819863389e-02 3.9920451516076327e-01 -2.1575964664702893e-01 +1141 -1.0082784186451264e-01 -1.1870621912596457e+00 8.9846841591413251e-01 +2623 1.1887805320289524e+00 1.2285756389305773e+00 -2.2702103147430971e-01 +399 2.3718552417234723e-01 -3.8325146563028983e-01 5.2744587229096518e-01 +2653 6.2707287797100331e-01 -1.4562998308698396e+00 -3.2556025919104259e-01 +810 -3.8153419985334336e-01 -7.1683806638414213e-02 1.2674966458174839e+00 +117 6.3439493294121974e-01 -1.6028064925249053e+00 3.8861375737376558e-01 +2626 1.0730304222873874e-01 4.4343081169931448e-01 -4.5254543389840596e-01 +2717 5.0015120083480802e-01 1.1880917205337667e+00 -1.3881728221527352e+00 +2238 -1.1130314727233175e+00 -8.0854973598076818e-01 3.0933257076151188e-01 +1028 3.5831949361376125e-01 -1.4328534266368537e-01 -1.1887701998740750e+00 +2244 1.8542983928372554e+00 9.2738113605741290e-01 -4.6889365104376579e-01 +683 -1.4573375981525365e+00 -5.9165507141755469e-01 -8.6904881536281364e-01 +1708 4.3476144407715700e-01 5.0375722868076100e-01 -1.1074975942346148e+00 +106 -1.0434476723766684e+00 -7.0553254080173522e-01 2.6426494292565494e-01 +244 3.1642645163142025e-02 8.6183619974657832e-01 2.5057974365357871e-01 +2343 -8.6930004766564917e-01 6.6811268938361357e-01 5.3644739405058206e-01 +109 -6.9707707982761369e-01 6.8366761819299560e-01 4.2109516601691022e-01 +2603 -9.3525065062390866e-01 1.4543975214736535e+00 -9.0827165621820083e-01 +345 -6.3354228823605130e-01 2.4270754152015256e-01 1.5421863362821406e+00 +2812 -1.6163297826564873e+00 -6.2128016255326740e-02 1.4337111587396101e+00 +1495 -1.3564773233492369e+00 -2.0662862329464247e+00 -5.0906651864061209e-03 +489 -2.4799526555839085e-01 4.1433455158455329e-01 -1.3034678132320479e+00 +1928 -1.2958600482914779e+00 1.0159330561269766e+00 -8.7240665555080721e-01 +1878 -3.7661372655255287e-01 -4.3948241116749465e-01 6.1494133487396285e-01 +1542 5.4961492717829530e-01 -9.7374823199060068e-01 -5.6100295947455114e-01 +1535 1.0470602445256434e+00 2.1418303132974492e-01 3.9330091253064087e-01 +1290 -5.6882050410612195e-01 -2.1755543148890158e-01 -2.3122019532997545e-01 +1443 2.0356850830332283e+00 4.4048727429529932e-01 -8.0178857944629822e-01 +1530 5.7035720760003450e-01 7.3007259365591837e-01 -3.0732413261132838e+00 +955 -1.9290868322987673e+00 -7.2416820009675209e-01 1.0579779352970342e+00 +2584 3.7786544496704222e-01 -1.1645664330705219e+00 -4.7807576763848503e-02 +312 1.6929739060320321e+00 -2.4024024794937218e-01 -5.1163583079355190e-01 +1129 -1.5635632665624453e+00 -1.4869309947683393e+00 2.3320206012274021e+00 +1964 3.9483255531113609e-01 9.9225386356683798e-01 8.9705762781732745e-01 +2923 9.0058556756842023e-01 -1.1936810340401516e+00 -1.0545192214142789e+00 +1148 3.6126069564487218e-01 -2.4717776630566834e-01 -7.5202483272646670e-01 +738 1.1531180335262523e+00 8.4078445679281077e-01 2.1474231674296124e-01 +1523 -3.0373690174092513e-02 -1.2247770565859744e+00 -2.6398603970934043e-01 +2765 -3.0084286347107703e-01 -1.6827821697763705e+00 -5.4478299352682069e-01 +1696 -2.8829709912710483e-01 -1.2978722980714901e+00 4.5135776786823134e-01 +1359 8.6367103128388389e-01 -1.1609995689064589e+00 4.0789584119437694e-01 +1024 -1.7756895618508877e+00 1.5248225114350420e+00 -3.3260713443985200e-03 +183 -1.2831821681191378e+00 -4.5470860582610789e-01 1.1495449770165882e+00 +585 -1.3854120702993980e-01 3.0137049966531892e-01 1.8033692507991386e-01 +1220 -9.4585406925267790e-01 -1.1079508853203286e+00 -8.4286548848658560e-01 +1412 -9.3816233708512131e-01 1.9120680132387591e-01 1.4699034707718779e+00 +1764 -9.1301101032556031e-01 3.9258546206488520e-01 2.6431256297921035e-01 +2450 9.0198089566874184e-01 8.4292790069739387e-01 4.1406179766461798e-02 +1023 1.2943341653992451e+00 -2.6964012538870317e+00 4.8620891127296778e-01 +2370 -1.7980099320060170e+00 -9.3052317643705851e-01 -1.0268951732313759e-01 +1896 2.3591610673049392e+00 -1.0704217202708326e+00 7.2062187681461864e-01 +2767 6.9385920561905831e-02 1.0506955528319117e+00 2.2757031566201930e-01 +950 -2.4670462822424638e-01 1.2347452405488921e+00 -1.2676686133552260e+00 +2065 -4.2093564690733803e-02 3.5148000656154244e-01 -1.8471519929381151e+00 +1798 3.4326525258175167e-01 -5.9055433632644760e-01 1.2825174231925973e-01 +341 1.9894013447548091e+00 4.1508951921007131e-01 -1.2047542186126685e+00 +1407 -6.7061020051503084e-01 1.2686140675388407e+00 7.0680691797215878e-01 +2463 1.1841154936851672e-02 1.0303670646922956e+00 -3.7122669820510296e-01 +2819 -5.5032792313978307e-01 -8.4556567004047833e-01 2.1499287353812843e-01 +2126 5.0466122547823578e-01 6.9297880534208223e-01 2.3027524857852322e-01 +532 -1.1753372063951659e-01 1.6871500655844920e+00 -1.1051748858475270e+00 +832 3.8222275541757583e-03 -1.1012082186859695e+00 -1.0900111315887069e-01 +2153 1.3949120987467938e+00 9.7503270562756567e-02 -1.9831411916210413e+00 +674 -9.8822856965284450e-02 -1.1484943584127059e+00 7.1160708922196225e-02 +44 -1.6695421121771789e-01 -3.1001415660159670e-01 1.3202939677591791e-01 +560 -2.2644371666667436e+00 -1.2955709883264116e-01 1.1129190845953607e-01 +786 -5.0252329662639483e-01 -1.6410265429668800e+00 -2.1435858422095680e-02 +2736 2.4186462133849425e+00 -5.0662680871551380e-01 1.5113547313990201e+00 +583 -2.5244380222634444e-01 -2.8052873822909152e+00 1.4278513955500147e-01 +755 2.2348430896888616e-01 2.4912463223972930e-01 1.4503143536881806e+00 +2823 8.0871057311283157e-01 1.8055211204131474e-01 -1.8572152991095278e-01 +2215 -1.9840210469909536e+00 4.1801919258118053e-01 -5.1106188048010259e-01 +148 3.6121686885154734e-02 1.1863560322123421e+00 8.1028527451638632e-01 +1887 1.2955973963090992e+00 1.0276438478668979e+00 -1.0236508098326493e+00 +876 -1.0137656157157209e+00 -3.3129151046631000e-02 1.3114150759035603e-01 +1063 1.1415161707766397e+00 -1.4220083795826968e+00 -1.2123722165643072e-01 +2000 1.8310259474383392e+00 -5.2729331802233059e-01 -2.4346985561752379e-01 +2668 -8.9162783800172085e-01 -6.4366129819895213e-01 2.4737468628830817e+00 +2491 -1.7780550803694213e+00 -4.5103656851290180e-01 -3.2458406399124867e-01 +1385 -9.6617837933375450e-01 1.5409893305023312e+00 7.9047241172012095e-01 +2994 -1.3360929707734039e+00 -2.5740809885775484e-02 6.1169027537387377e-01 +1073 -5.4177735327962395e-01 -3.7914156704590279e-05 9.8374030286759828e-01 +2297 3.5024221130034078e-01 -7.2588795400549400e-01 9.9339584140501724e-01 +82 1.2258048150311589e+00 -5.0396113126243938e-02 1.3666310914067146e+00 +2945 1.1123548552711147e+00 -5.3864784449516256e-01 3.1512548199283114e-01 +1069 -8.5338346165274659e-01 9.3872382025005785e-01 -1.8416520596003045e+00 +1849 -1.1081723153109149e+00 -2.0575775833986024e-01 -3.2041697452671997e-01 +2406 2.4068966252042877e-02 -2.0390622480667170e-01 2.0224044950761617e+00 +186 3.6399324664911092e-01 2.4241043751700193e+00 -6.3229577874550713e-01 +491 -1.0706348232017588e+00 8.9856503749145522e-01 1.5696122495789397e+00 +1456 -6.7389993554709882e-01 4.5497297428239172e-02 -3.1833982480376810e-01 +2498 9.5352018597331334e-01 -2.8871444134261315e-01 1.5165218127344040e+00 +2562 -2.1174201488445439e+00 5.5371549511580687e-01 -4.0295563711882654e-01 +86 1.0560580233265300e+00 -5.0467370736565736e-02 7.6978382825144864e-01 +2897 1.2478528233129800e+00 2.5141654051587575e-01 -1.4862946648203414e+00 +2112 4.9840891724410052e-01 -3.7123925589898465e-01 -1.1298868997953952e+00 +2026 7.9826950760107152e-02 -6.1420876214254583e-01 -1.3123985706685100e+00 +2189 -9.5103238795093381e-01 1.1318789676927001e+00 6.7998905230782758e-01 +1993 -2.9272687113520912e-01 -1.0546161900333435e+00 -1.4863329978974764e+00 +26 9.6943059816696175e-01 -5.9900661682452661e-01 1.3755451416413553e+00 +2818 -1.4008436299437570e+00 2.6460242616390763e+00 -1.7083741875211327e+00 +1587 -4.7293240511613527e-01 9.3297451552225286e-01 -1.4884702801256817e+00 +1258 4.5342627934454699e-01 -8.4846056303741368e-01 -3.5341894289410453e-01 +2379 2.3846541067238562e+00 -2.2169478893202310e+00 -3.5919261983458894e-01 +2174 1.9014589662002828e+00 -5.2001414814182623e-01 1.1259526070266177e+00 +1017 3.0735827087053935e-01 7.8733407283331514e-01 -1.0848833718267274e+00 +2870 -1.0522558940742135e+00 3.7208304129933695e-01 -5.7961365997004410e-01 +1471 -7.4234384140725862e-02 -3.1939741250006204e-01 -1.4603434432560469e+00 +1981 8.2100296792814320e-01 1.2722586893068728e+00 -4.2130778396791801e-01 +1351 1.3362619738665320e+00 -2.8914398924692042e-01 6.9413186845879127e-01 +2043 2.1785905950605877e-01 6.9244730051231343e-02 1.6372626678769460e+00 +2901 1.3756509483249317e+00 2.0140751969242188e+00 8.5996395622364785e-01 +1952 -2.6702193760274245e-01 -1.0901093838023008e+00 3.4408413347052058e-01 +2984 -1.3568983534685459e+00 -6.7242442792798174e-01 -8.8817601490135056e-01 +37 9.0872134841561425e-01 6.4062472996871722e-01 -2.4179982438306960e-01 +407 1.3145856049615157e-01 -4.9319539305383980e-01 1.8294237454621892e-01 +1264 6.3067035318861031e-01 -9.1644758615158839e-01 4.2599837902587490e-01 +572 8.9625649720260436e-01 -5.5162535416042685e-02 -1.9387970625590059e+00 +2261 -6.8450792630354418e-01 5.8532838562027323e-01 -4.1496956633695720e-01 +1943 4.0671626279828554e-01 -8.7584318893893554e-01 -7.8931435795641136e-01 +677 -1.5778573691673921e+00 -1.4453457521717758e-01 -1.5487453836145118e+00 +781 -2.0842779445245769e+00 -5.6950691332399994e-02 -8.7907136641041911e-02 +273 1.4496232701366349e-01 1.4288776875267266e+00 3.9208148696770800e-01 +2291 -1.4523042079910742e-01 8.9668054570455369e-01 1.3728549210711321e+00 +986 6.0093415209579293e-01 8.4994973138740937e-01 -4.5432000690324686e-01 +945 1.8543720166569547e-01 1.2189364934703235e+00 -4.1370136974845173e-01 +910 -9.8921689724131734e-01 7.3866930566856159e-01 1.7860843662760719e+00 +2607 -3.0705252566198400e-02 -2.7620761413990114e-01 1.2680129009717944e+00 +854 1.0338104339004948e+00 -2.1677481782484840e+00 1.2776522453078489e+00 +2931 -9.4221182936084183e-02 1.5256440204019426e+00 -6.4528461685560790e-01 +1144 -4.3963731185362141e-02 -9.6765860578115681e-01 -4.7668178554012341e-01 +477 -1.8032380460171660e-01 -1.1677172993862708e+00 1.0624799520653421e+00 +2318 -5.6520281663590333e-01 3.2057974819327828e-01 -4.9000523626003700e-01 +1259 1.0498694050209780e+00 -1.1656594745355626e+00 -3.8474042452236956e-02 +1621 4.7292639391514418e-01 5.0626943855307160e-01 -2.4982480012166337e+00 +1054 2.5768597647820196e-01 1.8286378021058092e+00 -1.3023081410634263e-01 +1421 4.3145051970816306e-01 -3.7430356624462446e-01 -9.2127556486869211e-02 +897 8.6447329207757539e-01 1.0358031671465775e+00 -3.8999346134150914e-01 +2851 8.5596490468332431e-01 8.9885580808826548e-01 -1.1233664427761405e+00 +1809 -5.0017075915839271e-01 -8.6588124486619833e-01 5.1655371620001900e-01 +100 -4.6571433103936299e-01 1.2866199220323771e+00 -1.0675389831308673e+00 +2175 6.8137399114533648e-01 -1.4450348379622338e+00 -9.3301773839527466e-02 +138 -9.7096254988070463e-01 -5.7993061394279488e-01 2.5205690317828435e+00 +2482 -9.0597199665448158e-01 -2.5152110818229496e+00 -5.9521775405937838e-01 +547 3.7252863278675014e-01 1.8740898485281550e+00 -8.3839130427942754e-01 +2019 -3.5032666358701553e-01 2.3786171128317524e-01 8.0290399474748725e-02 +2831 -6.9201765996952203e-01 -2.2121164659991082e+00 -8.2696331554536662e-01 +240 1.1020169129124964e+00 9.7875293720307199e-01 5.6353340215126690e-01 +1971 -8.5306577044260645e-02 1.0320038366481228e+00 -4.6544730018512914e-01 +254 1.2994499873930621e+00 1.9790292136323995e-01 6.6782774137117595e-01 +307 3.9241918950297661e-01 7.7706077506577143e-01 -9.1387179311909073e-01 +842 -1.5410250014475841e+00 -4.0095702620116841e-01 -7.2429333258257533e-01 +2369 9.8157764778159073e-01 1.4512170034847149e-01 1.0348420365925508e+00 +85 5.5444698033958562e-01 7.2464807180226423e-02 -5.8483654197614465e-01 +2916 -1.1608523652321059e+00 -1.8807942141961915e+00 -5.3154856650206028e-03 +468 1.7984608353704534e-01 -6.5508440294196046e-01 -1.3602255934871310e+00 +255 1.4680233827223930e+00 1.1119318409471757e+00 2.4931835073044700e-01 +2996 2.3888054846047099e-01 -5.1012905085367088e-01 8.5891750700577707e-01 +268 -1.7496084806708694e+00 -1.7405303584147320e+00 1.5345436137770505e+00 +360 1.5799738592916464e+00 1.8135171195253291e-01 1.8842185952139637e-01 +646 1.9049623700279059e-01 1.6405072846580728e+00 4.0966632487603960e-01 +2021 -1.3061457092944841e+00 3.1398821154154488e-01 6.8148138775040423e-01 +390 -1.0594375269766749e+00 4.3490757836190613e-01 -6.4742478863610309e-01 +115 -1.2517494844378616e+00 -3.8547374782341981e-01 5.6808656429509741e-01 +1883 1.0818713089981675e+00 3.5256543223449338e-01 -3.4781170667754208e-01 +790 1.6456353465291846e+00 -1.6566568268215724e+00 1.9449990049802401e-01 +2921 -1.0993425940631332e+00 -3.6863375225814154e-01 1.6277561124063650e-01 +2230 -8.0857730665153421e-02 7.7622200068349434e-01 3.2887402001616267e-01 +882 5.7900237846718994e-02 3.3826152501672002e-01 -3.3210161736300745e-02 +602 1.0483976594870934e+00 5.3538722603327860e-01 2.8085507893976391e+00 +535 1.8671545383887350e-01 5.3429691980433319e-02 1.7292983897942105e+00 +2226 -1.1399598703447771e+00 -5.1152341449091887e-01 9.5316494249814365e-01 +1744 -4.8701400250142229e-01 1.4065891126093346e+00 -3.2199070332228019e-01 +223 4.5102957867532073e-02 -1.1210416842494773e+00 -4.8649568039184266e-01 +892 -2.0407656411512284e-01 -3.7564799994656001e-01 1.6796162781121811e+00 +505 5.9614993630778657e-01 -1.0781451266024145e+00 -2.9609308443350740e-01 +1047 -1.0611982192035738e+00 -1.4508139915386968e+00 4.8075092114653528e-01 +2731 8.4438382284660884e-01 4.3613684677423303e-01 1.1822761164577460e-01 +529 -9.4475751601749858e-01 2.1291875593174590e+00 4.9934318416516904e-01 +131 4.9224421561572046e-01 9.7792253886291514e-01 7.4052213712433912e-01 +887 -1.0586818698421374e+00 6.2906504126507523e-01 -9.4522372034884505e-01 +1253 -2.6968338671892913e+00 7.7488225286661028e-01 8.6465307392442947e-01 +2612 6.0218294131927907e-01 3.8620340662620944e-01 -7.7655617398181498e-02 +495 -1.0248918629752806e+00 -2.4005460269395246e-01 6.6461456809062042e-02 +1176 -9.4060631936097416e-01 -3.5246192434001500e-01 1.9419876322454274e-01 +287 2.4050284811543547e+00 8.5373384623376114e-01 -8.3201629533389643e-01 +989 -3.2820165521332895e-01 -2.5722473646124433e+00 -8.4009457818994743e-02 +416 -1.5343342592256426e+00 -5.7304530649705121e-01 1.3661242545335894e+00 +1061 -8.3040586318882825e-01 -6.1692382176226634e-01 4.6205360486129493e-01 +1513 -4.8724533859656716e-01 3.4347622779805587e-01 5.4123547685772322e-01 +2461 2.1857445845254539e-01 -4.5142231258271398e-01 -1.2919747348191881e+00 +719 -2.1425004496840319e+00 2.1919991262159471e+00 1.1782078096022783e+00 +1598 7.9785957490062787e-01 -9.0356516720390900e-01 -1.6644966288392127e-02 +1439 -1.3062705227017080e-02 -1.3896866313637064e+00 6.0849850973587638e-01 +1661 -1.5446053612854954e-01 4.6327762052814475e-01 -2.9310888982915739e-01 +118 3.3604347883088548e+00 -2.4892825694969334e+00 -7.3480607434821510e-01 +1732 1.2409020383785718e+00 -7.8077821492410326e-01 2.9148431720795570e-01 +2386 -3.2087747189636073e-01 6.8079766945614995e-01 1.8056614246472005e+00 +637 -6.3855029762201510e-01 1.2627838630919197e+00 1.9922958864496425e+00 +1079 -1.1952021203864166e-01 -1.1514836232003054e+00 -4.6432836945714445e-01 +286 1.4076762146261128e+00 2.8075454708127223e+00 -1.5955231306637827e+00 +2514 -6.7384230514113563e-01 8.9980954621791787e-01 -3.9542994326609049e-01 +1718 8.9788477515019927e-01 2.2225682232847515e+00 1.2472706404749265e+00 +949 8.2488604166094381e-01 7.5565110081264508e-01 9.3951559283590169e-01 +2025 1.7976889829921455e-01 1.8106598299979385e-01 -1.1908466052035123e+00 +2020 2.4672841944304302e+00 -2.1616803766791435e+00 -2.0411295865909740e-01 +388 2.8458773704424511e-01 7.8577533238760022e-01 1.1125406299655534e+00 +1502 -7.2646153768610910e-01 -1.4488738286655332e+00 -4.2029072584160443e-01 +2137 1.7980983751399224e+00 -9.1022419435570087e-02 1.0016466846653468e-02 +2183 -2.9624690175172008e-01 -1.6136237765158077e+00 -4.5630868474905334e-01 +2658 8.6993926690001888e-01 6.0156583828210319e-03 -4.8338960622248066e-02 +2983 7.9925108712999193e-01 5.7894583402931754e-01 9.2291899454298709e-01 +1828 5.2855728134349811e-01 -8.1549730042777588e-02 1.6553307056239999e+00 +1729 2.4140095602214351e+00 1.0041457117425137e+00 5.8993878036865399e-03 +2624 -5.6537994665642788e-01 9.4655522669954362e-02 5.5319320768393643e-01 +1525 1.0235471573177441e+00 -4.9751902574645918e-01 5.9314498676958205e-01 +2337 -1.1258543602525932e+00 1.6164860856058172e+00 3.0542773535611450e-01 +323 -6.2344250375148680e-01 5.3618449496495058e-01 -1.1304061411995110e+00 +2900 8.0586742080716423e-01 1.8862412658036274e+00 6.7414041281439574e-01 +987 -3.5819138382733806e-01 -5.6132888185192120e-01 -5.2115216367156669e-01 +906 -1.4083532918165900e-01 1.3342541244295303e+00 -2.6353534906397863e-01 +2339 -3.9910413434129050e-01 1.0228238885365866e+00 3.2211560291842367e-01 +2905 -1.6988397349875899e+00 4.9041883069060721e-01 8.0097278713046949e-02 +1646 -8.5622056810846836e-01 3.6315510296620507e-01 -1.0421115337856990e-01 +1867 -1.6701870080313186e+00 2.0248517105442151e-01 1.4520921439147614e+00 +649 2.8990387459336253e-01 -6.2637613566904005e-02 2.3073327809976754e-01 +1532 -1.1036242622221395e+00 1.2827561795770197e+00 8.0943735211452861e-01 +1338 -1.4097518077396384e-01 -1.0835334693810688e+00 -1.1019290654377920e+00 +2466 5.7771593995403647e-01 -7.4328241070494183e-01 1.0565752759374289e+00 +1925 -1.2138080253710964e-02 1.5775689744989066e-01 -1.5503462915889064e+00 +724 1.1766027840057007e+00 -1.3312895575875150e+00 -4.2197586148045368e-01 +395 4.5891379346855821e-01 -1.7282995186515688e+00 -8.6514809488790567e-01 +2402 9.3685027059648274e-01 -3.3939404399068007e-01 4.1544304351913519e-01 +1779 -1.2586973398484143e-02 -1.7918330323751583e+00 -2.6512777070192739e-01 +1980 -1.3756215518614652e+00 -1.4550190191868118e+00 -1.0974142021052151e+00 +1521 1.1448060719398010e+00 4.2147249384520658e-01 6.8866120741602688e-01 +1357 1.0070332297204474e+00 -2.4001799150155798e+00 -6.3985665363630562e-01 +993 -3.5050831692530443e-01 -7.9405441606516824e-01 1.3338353272907252e-01 +2128 1.4466291171737555e+00 -1.2543648845335600e+00 -7.1586100959465149e-01 +2713 1.5231239194531112e+00 -8.5124771704552890e-02 2.1704502951472909e-01 +448 -1.0633190746050087e+00 -1.4475635879690882e+00 8.9810217839524101e-02 +2127 -1.9869431875601992e-01 -6.9750346681924313e-01 -6.9045305622198280e-02 +553 -1.1971849322332482e+00 -1.1738009769829290e+00 4.7471526010896392e-01 +2177 -7.0509868404459475e-01 -4.0590767962153212e-01 -2.7001576779417596e-01 +279 -2.5156613326018740e-01 1.3386926538306150e+00 -4.8776645327897550e-02 +1776 -9.8808769316447842e-01 3.3593115593487882e-01 -1.8373572508033043e+00 +2196 -8.1425014322475520e-01 -3.8242826804091601e-01 2.4630611896965506e+00 +1109 2.0581386913483866e+00 -1.0915067841876340e+00 -1.2953679559657456e+00 +2796 9.0719744856172246e-01 -4.0780741484023852e-01 4.3042580427391863e-01 +2125 1.4557416133057680e-01 -5.8760616023579026e-01 -4.2560307658783664e-01 +2400 2.9337420654688344e+00 4.5181293310301052e-01 5.4895963979776374e-01 +430 8.7378255769761948e-01 -1.0427158659058369e-01 4.3098482761893853e-01 +846 -1.1717649419807510e+00 -9.7159580106291266e-01 -3.4576068765723522e-01 +1316 1.6345712581971175e-01 5.9248125822321307e-02 1.7019722517488876e+00 +1578 2.6375763135799102e-01 -1.3183208179064831e+00 -6.1296154322167662e-01 +1422 3.6707123985466195e-01 1.8777909488679798e-01 -1.2307527838320711e+00 +1975 -4.6908030366612896e-01 1.1400240065216787e-01 1.0093239198154610e-01 +1336 -1.2782501844335156e-01 -9.3012672957711395e-01 -1.0443993942525494e+00 +935 1.1944523247128302e+00 5.3202179935851912e-01 8.2375160718627638e-01 +2193 -7.1924609633855519e-01 -7.3495455152010414e-01 -1.4414332415337918e+00 +1550 -4.0068062621422684e-01 8.0877251119267446e-01 7.2511819458716265e-01 +873 1.3975470611365990e+00 -9.8151880668419722e-01 6.1238141307455352e-01 +2365 -2.6692991439204466e-01 1.0339787945306036e+00 -1.8888549869375126e+00 +1249 -2.4210883696140417e-01 1.0544822443577528e+00 -2.2643978529809872e-01 +1790 7.2735457127924197e-01 -8.1036262919422453e-01 1.3869904678495684e+00 +1146 -3.7622016695694893e-01 5.4360591172480532e-01 -9.9200951205140075e-01 +242 6.7788087790541962e-02 3.2133706751254726e-01 1.6688379592121327e+00 +1689 -1.7860928235281508e+00 -9.0512551125792351e-01 6.9417069988236846e-01 +2411 5.4239361190171675e-01 -6.4019586964367570e-01 -2.5284134469723218e-01 +1606 -1.7519275808174881e+00 2.4422789480975315e-02 -1.5152722186569170e+00 +1209 5.9246672379989473e-01 6.5902850012478797e-01 3.8218005066215166e-01 +1409 1.3960825656174232e+00 2.3902847209190128e-01 1.3366858795889487e+00 +1811 9.6171708871042882e-01 2.2968287013227116e+00 1.3338728794342898e+00 +1719 -4.5144195963732336e-01 1.2865293029016498e+00 -1.2426427811666558e+00 +112 -7.3791511151279188e-01 1.0866707777835141e+00 -1.1303647315945349e+00 +2743 -6.9738635991887532e-01 2.7756053096541091e+00 -7.4100219052737981e-01 +2951 -4.9471026785228045e-01 6.7367997814866937e-02 2.7770098202558419e-01 +2936 -2.6089951817883594e-01 -6.0655129071906635e-02 -7.3933315654066489e-01 +2808 1.1670577460241005e-01 8.8141463583374782e-02 -1.3834477126293170e+00 +2211 2.7934983889385911e-01 -2.2145560242155596e-01 1.8515626097089435e+00 +1464 -9.7406935535860095e-01 4.1143076666741263e-01 -8.8955906361251758e-01 +2123 -5.2210506635960630e-01 8.6987187518942022e-01 1.5011114691071703e+00 +2804 2.0715606631453767e+00 -4.0541100544785391e-01 1.2989035681259724e+00 +231 -2.5971916596598976e-01 5.7300245119410653e-01 -6.6265785177617209e-01 +1105 -1.1174727650481462e+00 2.9514940676943119e-01 1.2553071612980358e+00 +2069 -2.0686358614153569e-01 -2.3136873267190583e-01 -3.1485204643643411e-01 +1731 9.0946158168882574e-01 6.4611030817559145e-01 -1.5530082010354701e-01 +304 -2.4537221408770926e-01 3.0656606602096059e-01 -1.6094151459887251e-01 +1969 7.6412690796474092e-01 5.7835253583093293e-01 7.4692719234924287e-01 +2805 1.2315075326702261e+00 -5.5450248044339312e-01 -5.5258720785460569e-01 +2963 1.3228213343443587e+00 -8.6110615108460853e-02 -3.4769803439074731e-01 +1046 6.3670918956336175e-01 3.6780812876272601e-01 4.4865837868649416e-01 +1963 3.3737896358036518e-01 1.8034657147903632e+00 -2.3788142393667358e-01 +377 -5.8399615897531643e-01 1.0691671653444985e+00 -1.3303448514790939e+00 +419 4.7738629812766820e-01 8.9322725496452060e-01 1.4276641471676577e+00 +1685 -4.6964509760787077e-01 2.2282294368663380e-01 -1.4485831854341020e+00 +1539 9.1957203347407146e-01 -2.5915962787399061e-01 8.3050191280740049e-01 +966 5.8446293433879123e-03 -5.0899517984961007e-01 3.3986374965707444e-01 +2331 -3.4955281299791557e-01 8.7404175127024653e-01 -6.1242104519375340e-01 +1726 -1.1237896310250977e+00 -8.1570328323593899e-01 -6.4441612121611824e-01 +874 -1.4245722782670958e+00 -5.5000355979488680e-01 1.8115872173062488e+00 +1527 -7.4441620244978066e-02 -6.4708720129805675e-01 -1.0536611619243239e+00 +1664 -1.5932365251030784e+00 1.1247746068440210e+00 -2.7240710752909858e-01 +1268 -7.5751109303165665e-01 -3.2783736335505043e-01 3.2535469141124235e-02 +2384 9.8439402797311792e-01 1.9947216939959138e+00 -2.3483998036056530e-01 +326 3.8498896653842796e-01 1.2606279861971537e+00 -3.6648862809372318e-01 +2423 -5.2141410220354312e-01 1.9635239895767023e+00 9.2763150988396692e-01 +2650 6.3821743817095056e-01 -2.0576120308088031e-02 -6.6183490871601924e-01 +1821 1.4193382478727463e+00 -1.7040396737730956e+00 9.4846557227378914e-01 +1354 -6.6008439627205651e-01 -1.8965734256977840e+00 -2.6285937266884285e-01 +2231 2.6027576885977333e-01 1.0036946022415165e+00 2.5303158267393833e-01 +1120 -3.3307557221253620e-01 -6.5703728444286424e-01 4.9793319193865959e-01 +288 1.2448511768189097e+00 -7.3897071910915524e-01 -2.0261713234350745e-01 +1393 -6.0803546763551319e-01 1.8101007420936241e-01 -1.1190258427699606e+00 +2647 3.7614545591995285e-01 3.9308409739152844e-01 3.1033287544437888e-01 +1610 1.3109646633119119e+00 -3.1460150898516379e-02 6.9884365644604796e-01 +1745 7.5686370297848971e-01 2.1242115610972248e-01 -1.7404415267480047e+00 +2618 -1.0517820853121032e+00 -6.1887455673477088e-01 -1.8539402936979307e-01 +2503 -7.3366119201429214e-02 -5.2306328770027710e-01 2.0054633562379993e+00 +2801 -2.3359789023008326e+00 -4.1975791614229629e-01 -9.0744838830738239e-01 +2826 1.0662039830307222e+00 4.6785759747884836e-01 4.3716687062680354e-01 +1584 6.4570110649802015e-01 1.1212237465395578e+00 7.6108156647906558e-02 +1573 -6.4145880401037991e-01 -3.4955337152434290e-01 -3.7784339898479424e-01 +2114 -4.9075611348624731e-01 -1.0302865143219913e+00 -2.1456953370574223e+00 +1979 9.6049876896754938e-01 -1.5815782697583860e+00 5.5529503779334355e-01 +1185 1.0495902696733868e+00 1.1018751907035587e+00 1.1398206650130114e+00 +2024 1.1683878794834319e+00 -1.6122113477667338e-01 -5.1889929170752924e-01 +643 -8.3461396491660922e-01 -8.4352491017350451e-01 6.8498576877222495e-01 +216 1.1493660810730315e+00 -9.0940128095570338e-01 2.3508406645811289e-01 +355 3.8113032600812230e-01 -1.1962483741823098e+00 3.0736364000379290e-01 +696 3.2520807111700245e-01 4.0907472471725614e-01 1.0302315427455468e-01 +1531 3.5421229397682046e+00 7.3237301263804677e-01 -7.9674239237488864e-01 +548 6.9116328816758416e-02 -9.6365038842120720e-01 1.0867326131710158e+00 +2218 -3.0572574249859152e-01 8.5489616978088698e-02 4.3127983284572052e-01 +2203 5.7349978847714445e-01 -4.9181688318066977e-02 -1.3255670592425703e+00 +871 6.5439360419344617e-01 7.8638265431495824e-01 2.0490215109689234e+00 +2748 5.5503384036299075e-01 7.6155630658642959e-01 1.9552791685660373e+00 +1482 9.2359305423361082e-01 9.0314861040691852e-01 1.6306948808755037e+00 +1330 6.3735003259550005e-01 -3.0208853191263491e-01 -8.3776056108994446e-01 +308 8.4904610189726681e-01 -1.3837558221500212e+00 -1.4419182889947160e-01 +1948 1.0712606841398191e+00 -2.4768744389901882e+00 7.2802037297189215e-01 +2998 5.0511675059210170e-02 6.9090195405674582e-01 6.3469321796932909e-01 +665 -6.0473215087536436e-01 -5.6952244202943858e-01 -8.3512490766163905e-01 +2930 1.2046408967616506e+00 -6.1531072092071301e-02 3.7666069696563026e-01 +2683 -3.0871652345175843e-01 -3.3430422710854357e-01 -1.1959205791373038e+00 +1920 -5.0278130973304569e-01 6.7491040578299766e-01 4.8370868905225317e-01 +2644 -4.8361912849684108e-02 -1.1448894145948207e+00 4.4621426806775921e-01 +190 -1.8125158633856908e+00 1.7773217591213823e+00 -1.8013960636659870e-01 +2097 5.5022751150034155e-01 -3.8623495024248911e-01 -6.2773935255780056e-01 +2877 -6.2096267250828363e-01 1.7535050250791231e-02 2.6819290046278588e-02 +156 -4.1875857977910302e-01 4.2451402158462770e-01 5.9157296748054877e-01 +2828 1.0711094480794618e+00 6.1796533050280733e-01 -3.9042412632582379e-01 +2962 1.4116468721337585e+00 6.3013672402262655e-01 3.3002435546685938e-01 +1921 1.0668985935631112e+00 1.1021933332607705e+00 1.7212776492575743e-01 +1789 -1.2366864720056969e+00 6.9512587515466717e-01 5.7114601405651222e-01 +501 6.6428978202405578e-02 -5.0805299279492955e-02 1.2954727827742962e+00 +2711 -1.4746489522623325e+00 1.3544488029701476e+00 9.2984522383576662e-01 +2786 -1.6570461471893985e+00 7.6954012904582503e-01 -1.3126146769020761e+00 +543 -6.9896060570547203e-01 -1.4462862084900779e-01 -2.6395683024223354e-01 +1505 -2.6663348347137983e-01 1.2148096828874113e+00 -3.3723384196459616e-01 +944 2.0538433628449818e-01 -2.9232657753592850e-01 -1.0411923827010838e+00 +1214 1.4604531346543714e+00 -9.4004384739556346e-01 -8.6496305292060560e-01 +1643 6.2956235270197947e-01 4.0764682425605359e-01 -5.0965382697628991e-01 +534 1.2273542136123066e+00 1.2138055413693381e-01 3.3030715212758044e-01 +1623 4.9444380127675031e-01 1.3975261936183405e+00 -1.4528457466456619e+00 +2413 -1.2450414257358533e+00 5.6792859657784134e-01 1.3806737007886621e-01 +749 1.3079302359005500e+00 -2.0741771115148475e-01 -6.9690403039909565e-01 +1514 6.8193768993715342e-01 1.6031002253664213e+00 6.3778116017830022e-01 +2012 -2.8463769441609776e-01 -6.9962962612999147e-01 -8.3521021684655605e-01 +1572 2.6321803988929676e-01 -1.6271549049924602e-01 2.2659729951235169e-01 +2305 4.4213798733892512e-01 -1.3441733427086140e+00 -1.4218389355193470e+00 +1629 1.1265134256712726e+00 -4.6064890690149501e-01 1.7758297445394045e+00 +530 5.0873482717113416e-01 1.2494350368175024e-01 2.5097734594763954e-01 +2390 -7.4580200505574523e-01 6.2559907058928310e-01 -1.0488482534012600e+00 +2517 -1.1252491253391304e+00 -1.9437319707426490e+00 -1.0047669140947807e-01 +759 -2.0995093254096975e-01 -3.1925248670678696e-02 -1.0727970180953226e+00 +1159 -8.7478618041365919e-01 -3.1809732024350679e-01 3.3629943360958947e-01 +605 -5.3523124104678665e-01 1.0310700190932409e+00 -1.6377485274819921e+00 +840 -6.4471044710168279e-01 -3.7688523952437930e-01 1.5950998159298950e+00 +1033 -1.0842945380553908e+00 1.4120487465442260e+00 -8.3923069000863681e-01 +2439 -3.9299134064355079e-01 2.7540380013365867e-01 1.3672042235439841e-01 +103 -9.6320868651846858e-02 -7.5042152351551372e-01 2.5325116074047171e-01 +1446 9.1171877767500839e-02 1.7166166843346808e-01 6.0198847406012879e-01 +1580 1.7098891067756057e+00 -5.9109741325194454e-01 1.3767801648278952e+00 +1151 -5.8614370278405847e-01 -1.6681750557398939e-01 2.7650515112876133e+00 +317 -7.6087023206326010e-01 1.3510983528037979e+00 5.4050742143578401e-01 +417 -1.3499884874520054e+00 7.4846109616899581e-02 1.4439337645963404e+00 +2745 -2.1286498073399765e-01 -7.6337827435585437e-01 3.6246510054100295e-01 +1758 -1.2824969160462951e+00 -3.7341280221875789e-01 -1.4106497162449754e+00 +2989 -2.0847020712987416e-01 4.2040075170503982e-01 -1.7152778132258959e+00 +2078 1.3539395262005853e+00 -4.5617364882333439e-01 3.7339042626283298e-01 +624 6.5971163251959131e-01 7.0014339876055676e-01 8.0266077268747105e-01 +447 1.6009326794091810e-02 1.3241474983573005e+00 -2.4785631676142789e-01 +1212 4.9446077978434852e-02 7.5869331180103528e-01 8.2758468978912791e-01 +2895 6.3474153973870606e-01 4.3898538932926540e-01 -1.6845809334190645e-01 +857 8.5448916277583753e-01 2.6545893112472525e+00 1.2927285303576499e+00 +99 5.1498536442414999e-01 -1.9758933972637963e-01 -1.2506479459683262e+00 +1233 2.2959149173384524e-01 9.1371120585226062e-01 9.0777579697006705e-01 +2115 -2.1045097120289764e+00 9.5848332224401123e-01 1.1365027073645808e+00 +1240 -9.1830550817818368e-01 5.8439299270056444e-01 -2.8232666753572888e-01 +2368 5.3630636977124191e-01 -2.9016450244524206e-01 -1.0950417460971731e+00 +372 5.8460608487200061e-01 7.8033780524881813e-01 1.5430814629087929e-02 +1020 2.9006999506424985e-01 -1.5340927590684533e-01 -2.1087676471201569e-01 +2308 -3.3352491570647916e-02 -5.7712897861638712e-01 6.2749920462852193e-01 +483 2.4658602331387597e-01 6.0054665383139860e-01 -9.6704306960073794e-01 +2911 9.1223444600285941e-01 2.2732473988060373e-01 -3.8427230030922443e-01 +1382 -4.6022383127597144e-01 1.5909632823852486e+00 -2.1869685571132885e-01 +2575 -5.1181766254775174e-01 5.1182564290652466e-01 1.1053751475520694e+00 +1666 6.8994881896918925e-01 -1.3133763280923216e+00 5.3407005246138461e-01 +2620 -3.2406562258088850e-01 7.7684093579194535e-01 1.7745613869611205e+00 +1213 8.1600497953357265e-01 -8.1570987788428051e-01 1.1960423726704357e+00 +1988 -2.6158570716250917e+00 2.4100655500170225e+00 -5.4958830873520059e-01 +819 7.3166625481536651e-01 3.6961127720502862e-02 9.3517737867481310e-01 +2799 -4.7580629472733793e-01 -3.2506968696489358e-01 -1.2865011136068023e+00 +1757 1.4654079931615499e-01 3.4067555374848335e-01 -1.5104540033139839e+00 +1511 2.4258501318797240e-01 -7.1065138531513791e-02 -4.1133032652306478e-01 +2679 1.2829425178797436e+00 -1.1979090770112322e+00 -3.0931377424623363e-01 +2770 2.8817410549503281e-01 -4.4982706926908844e-01 5.8611553286691009e-01 +200 -2.2945888466065378e-02 -9.7786083688900360e-01 8.6553424265578438e-01 +1461 1.0223872123268479e-01 -1.3833327415313552e+00 -4.4358775383263943e-01 +303 -1.4386407377223003e+00 1.3775774909582153e-01 -8.4610370416992620e-01 +510 2.8858917163098669e-01 1.9308117597875218e-01 -4.2788796387108097e-01 +2121 2.0498573490909586e-01 5.2324082005962724e-01 1.1026746136785166e+00 +601 2.1481675189014853e+00 -5.3116222265700452e-01 1.2362314809374777e+00 +2567 3.8143645091916245e-01 -1.3559476617115849e+00 -3.4347670689449206e-01 +2286 -2.6735952766642268e-01 -1.1477182720908718e+00 1.4264699269633771e-01 +1103 3.0573799138160596e-01 -1.4690092898158497e-01 -9.9732341164082672e-01 +1627 3.7502485495682758e-01 -6.5944194265419720e-01 -1.6775218456708834e+00 +22 -8.1953070815943052e-02 -2.5348718769370693e-01 1.3429556046130325e-01 +2896 -6.7982088344986169e-01 8.5832952093126769e-01 -2.1450151619951279e+00 +1215 1.4792128285598061e-01 -7.7422952450155735e-01 1.7466098067770870e+00 +1441 1.4034069412659644e-01 -9.3814744029663677e-01 2.9239181829421468e-01 +1982 2.9362418327039386e-01 -5.0231128117641233e-01 4.0098895427076231e-01 +2433 -3.4784830980521486e-01 1.2118414786066902e+00 1.4686829205041960e+00 +2776 -3.6747487222123582e-01 -7.1782408786819540e-01 1.5467964918337532e-01 +1992 1.1389215406475974e+00 -2.6919926346034773e-01 3.6320342149898233e-01 +2354 -1.6366587884799397e-01 7.4837892992693844e-01 7.7272729969076293e-01 +455 2.9380427484168670e-01 2.0356843201298322e+00 4.1297190798899613e-01 +462 -3.8087397869189488e-01 -1.4240174799585885e+00 5.3357784894218507e-01 +134 8.9086081944896744e-01 3.2883351828693175e-02 -1.0146977125408974e+00 +456 6.6265510272379968e-01 1.1044052947126060e+00 3.4816388770709750e-01 +2441 -2.0461645519621569e-01 7.0003761610705750e-01 -1.4511642210285183e+00 +1558 5.5710032310474511e-01 -4.5464865747351302e-01 -4.5445273766814948e-01 +600 1.1444115467215307e-01 -5.2188202792205396e-01 -1.3562755243713274e+00 +1803 -1.5657758703983609e+00 8.5846309361364767e-02 -9.7476756573678025e-01 +1395 -1.4537128056615027e+00 1.4070151820006489e+00 1.0163455437427293e+00 +359 -9.2849941605977065e-02 1.5870769522242367e+00 -1.0077251853661853e+00 +2186 2.7060411524823352e-01 2.7668887986485680e-01 -2.4851539819538337e-01 +2997 -4.6551627301459048e-01 -1.9460381485608971e+00 1.3025000694298985e+00 +1255 -6.1326034779018257e-01 -6.9716013340829636e-02 -1.7807246495140323e+00 +531 5.5090328374908237e-01 4.2216432544047422e-01 5.1783167147864784e-01 +2872 -1.5427534061222176e-01 2.7066093183777046e-01 5.7564118000956499e-01 +2251 2.4864851975157670e-02 -8.4301644052317715e-01 -2.3070201553584382e+00 +2783 9.8182016392682581e-01 -1.2660235165522755e+00 2.1560357580964953e-01 +2363 -6.4360069590216806e-01 -6.9294765116129631e-01 1.4345918584784989e-01 +2701 -2.5212392162862474e-01 -8.2511309278176737e-01 -5.4658739284951441e-01 +2425 1.2651332759618963e-01 -2.5249808665429713e-01 -4.0026264228482888e-01 +24 2.5415122078221070e-01 3.7239186542436065e-01 -1.2584910398795029e-01 +470 -1.0370343113625496e-01 -2.8440658013968623e+00 -5.8899340380417664e-01 +1853 1.4038556273491676e+00 2.8484503319011023e-01 3.1757899045152449e-01 +2600 -8.0000036341888647e-01 2.3913512178609209e-01 1.1354193877793026e-01 +919 2.9522922164128129e-01 -1.9517390663681006e-01 -6.0285190892133467e-01 +2686 2.1876938334894334e+00 -1.1254034704888394e-03 -3.6441564983516661e-01 +2659 -5.7789053058981421e-01 2.6409599328294093e+00 4.0921374593399767e-01 +492 -1.5622399177525459e-01 1.0899792210762178e-01 -1.3068313886395453e+00 +1746 -5.4133907997623776e-01 1.5837271534147062e+00 -6.0505417700508546e-01 +2403 -8.1045692343418740e-01 1.5385291075769331e-01 1.0055073971889370e+00 +2902 8.2644694142859909e-01 -2.2425075740149364e-01 -5.2884612083613391e-01 +1098 1.1139871529633588e-01 -2.4601167803576827e+00 5.4258366116844214e-01 +2329 -4.9789973574560764e-01 4.7931944925794367e-01 -5.9083765495336127e-01 +1682 -7.2627062942475273e-01 -8.0471356175432363e-01 1.7285702098691419e-01 +785 -2.8492906543288482e-01 5.8150521090908303e-01 -3.8369461185242820e-01 +30 -1.7745682593117837e-01 6.0587686043202515e-01 1.1959561320237342e+00 +1414 2.1195033631345042e+00 3.4401303733150002e-01 -1.0690885487955197e+00 +802 -5.2183112300231849e-01 -2.0031793084783538e+00 -5.6646985605551459e-01 +374 -4.6568194759979908e-01 5.5377804678218401e-01 3.4414246067154314e-01 +2159 2.2376025913270362e-01 9.5713813846138363e-02 -1.5742249296687252e+00 +2696 8.8321535469865986e-01 1.3088977186131701e+00 -7.0169269244017651e-01 +425 -5.1649859539112178e-02 5.4430937074171737e-01 -1.4262278592157865e-01 +1918 1.5815504943601472e-01 2.6200309560819770e+00 5.8051149140054104e-01 +2560 -4.7327125132811715e-01 -7.8505616311040471e-01 -5.3576049877849508e-01 +513 -3.5675833183896832e-01 2.7169393139558608e-02 -7.4840541895498525e-01 +2547 -6.2072745649528083e-01 8.6590044241072639e-01 -1.1866275881398622e+00 +931 6.2228635033622037e-01 8.3066877036237818e-01 5.2123313237631619e-01 +562 -2.5331696809137227e-01 -1.8144722945163956e+00 -1.9490257937275826e+00 +2577 -6.9598644079338867e-01 -5.4713914670571362e-01 6.8108433732150397e-01 +538 -3.2359672779077825e-01 -2.0425144726247204e+00 -7.1693422034220078e-01 +2925 -8.8337447264185542e-01 6.5209751347537770e-01 1.3421621750218882e+00 +2048 5.0190759437572752e-01 7.0042759052566939e-01 1.8626375329264130e-02 +2709 1.6862526500254253e+00 1.1530653790816929e+00 1.3708551911515743e-01 +171 -5.1344824438156544e-01 1.4003214139877707e+00 6.8949399119092192e-01 +209 1.7017635791987198e+00 7.7523354055487881e-01 -1.4061833531446863e+00 +383 1.0617041523526849e+00 -5.6412942961009971e-01 2.3828522721108722e+00 +1488 -6.1071187516520364e-01 -1.9882516704563113e-01 -2.2022223708226502e-01 +1871 -5.7318015392512112e-01 -1.9665543876343503e+00 1.2389930039364677e-01 +2692 1.7684005022938223e+00 -2.3204724467629564e-01 1.3981709499908264e+00 +1563 -1.9962928096994551e-01 -7.6592883355874330e-01 1.2488321679122494e+00 +2827 6.8524269786021974e-01 1.0234125715508204e+00 -1.7566106747796610e+00 +2971 4.6571223169073855e-01 -6.1317168562826885e-01 7.6470373099847400e-01 +2266 -1.3961009688026664e+00 3.5540661111957356e-01 5.5780651099734824e-01 +918 -4.6207950537933862e-01 9.0370154677845621e-02 2.2209083294395051e+00 +2205 3.2549187407194607e-01 -1.8109446737825072e-01 1.9240875375873684e-01 +1280 8.4170114018040154e-01 5.1533454584582827e-01 -2.5788973178977770e-01 +1053 -1.9237166063475875e-01 -1.3182965137212848e+00 1.1760178100600016e+00 +49 -4.5571130768988610e-01 -2.2750489724634865e-01 8.5783858159060966e-01 +1954 1.1967004623617028e+00 8.3550518056876810e-01 -3.0893029211715650e-01 +1004 -1.0876769737944398e+00 -2.1167025785547873e+00 4.8331761606028534e-01 +64 2.1902715576446052e-01 1.3303875869419579e+00 -1.2726439165491115e+00 +1396 9.0164134308732669e-01 -6.0319726268911578e-01 2.9011843012777694e-01 +188 -3.0693151165525034e-01 6.4858761110978214e-01 4.0593320704029390e-01 +2418 8.4060955139212939e-02 4.7958581378665677e-01 -8.6280745395617808e-01 +1221 2.2733440558384763e+00 7.4518198724271012e-01 1.8166479963917035e+00 +2105 1.5284221384691572e+00 -9.7742755306404849e-01 2.4651966843152479e-02 +2385 -1.2954462440835639e+00 1.7307443291403535e+00 -9.7931507145246052e-02 +998 1.0470483587575459e+00 8.7603115528100028e-01 -1.4263692173871767e+00 +2408 -4.8784921230461875e-01 2.1268546220803911e-01 1.2049969141690000e+00 +2484 -4.2441608762689120e-01 -4.2789871739947655e-01 4.6166128051362465e-01 +1110 1.1788396919489128e+00 2.0305972824293250e+00 -5.8889939837622185e-01 +144 -1.9510752286803856e+00 -1.6818733705093125e-02 -2.0988218402445797e+00 +2088 -7.3380862186019447e-01 -1.0423674559655338e-01 1.4666537570586113e+00 +2435 1.3647290196256519e+00 -2.5865280896043302e-01 2.7354018590993026e-02 +2073 -7.3716889340708625e-01 -4.1481145860096758e-01 -2.1313329615202088e+00 +1365 -1.8407668665615347e+00 -1.7262846160633263e+00 -2.0205443586052937e-01 +1590 -2.7153024732460236e+00 -1.4470412266234094e+00 -1.3731858593052817e+00 +176 1.4291203148061640e+00 -1.5481139828894037e+00 7.0903671882336761e-02 +911 -6.4929794922263395e-01 -9.1187615339287997e-01 -3.8144326294229247e-01 +1142 9.4165064474320748e-01 5.2802976602033169e-01 -1.4731999992227214e+00 +1271 1.8930913953879844e+00 -1.8935859653082177e+00 -6.2750552633317691e-02 +2756 1.0263862748946859e+00 -5.6218388677357112e-01 1.8345626001326949e+00 +1935 -7.4161110814503428e-01 2.0674334141535414e-01 -8.6122433331503434e-01 +2311 5.1489004392611437e-01 5.0977675196836636e-01 5.2759015136353193e-01 +500 1.2600199355604695e+00 -7.2502620596498157e-01 7.7688035759433771e-01 +1373 -1.9865809465398461e+00 -2.0565592244219655e-01 -9.3490944725537461e-01 +823 7.9167260584975963e-01 2.6894245751243612e-01 3.4039328735272534e-01 +258 1.8216370267872635e+00 7.0726301424418225e-01 3.5821952817576641e-01 +1254 -2.1141936943421666e+00 -9.1204726824436977e-02 4.8684719831254591e-01 +2091 9.2385127801849753e-01 -4.1201142547191483e-01 2.2243762351167329e-01 +984 -5.7135012999636769e-01 3.0341026686397182e-01 -1.0386310719761704e+00 +177 -9.9468993980418230e-01 2.6481464869342808e-01 6.5518538915691882e-01 +1940 -9.4013852050146529e-01 -1.4268729959849167e+00 6.9872776427381700e-01 +1870 1.0214446625671625e+00 6.6825215659679049e-01 5.5351194300952367e-01 +261 -1.1285626152899197e-01 -2.2215045649631762e-01 -1.0869951070927066e+00 +1460 -2.6876699730216647e-01 -4.3556793987304049e-01 2.7145977801909438e-01 +196 8.9398365086656595e-01 7.3426341497592817e-01 -9.8311394537445440e-01 +349 -5.4387883683111438e-01 -7.0132873063872159e-01 -5.2561025619258928e-01 +2555 7.9173412638780305e-02 5.9436983568857549e-01 1.9081546360895103e-02 +2729 4.4448532940783647e-01 -4.8651938212837309e-01 -5.2719999447361679e-02 +2569 3.8970949080413814e-01 -5.2196169717224505e-01 -4.0365120617555089e-01 +1293 5.5214909595229944e-01 8.3191113180053261e-02 1.4021448692440278e-01 +1094 -7.9034020115451564e-01 -6.7502064397703532e-01 8.0584811469652551e-01 +1978 2.5510603868669026e+00 -4.4116213002979543e-01 1.3239144768646946e-02 +74 -1.1920340789939821e-01 5.9862837816129078e-01 -9.7601762804402026e-01 +1231 1.5439300971194896e+00 -4.8686177581400247e-01 -9.7188242693038518e-01 +1260 -8.8788098748534305e-01 4.8897459866010429e-01 9.2887452749564448e-01 +2518 5.9175408778324790e-01 1.4946619301493660e+00 -7.7058932719809581e-01 +2086 -3.6757326057719308e-01 -2.6468668949789276e-01 1.1961145181082191e+00 +2879 -2.9675206258916687e-01 8.6057060156078014e-01 -5.4662665023162516e-01 +333 3.9091433021553983e-02 -7.5772037722206587e-01 -8.2206204457977461e-01 +2428 -3.4419842010464075e-01 -5.3654351344854601e-01 9.5438139773731390e-01 +1036 1.0237698450999366e+00 -4.9163564200257981e-01 2.5145197939706811e+00 +325 6.1302845888361135e-01 6.8138996858332923e-01 1.4169624411354778e-01 +2637 3.6443200168065426e-01 -1.3975122312897901e+00 -9.6300348854470730e-01 +1310 3.5526170308933536e-01 -3.9130980720266484e-01 1.8059737043614976e-01 +776 -5.7278808174619400e-01 -4.1112062261940041e-01 -5.9957302389966627e-01 +2744 -9.0663152820776449e-01 -1.2461460724052167e-01 1.3794588696121199e+00 +2621 7.6517583093364573e-03 4.3329569703285747e-01 -2.1590705024100201e+00 +613 6.4738573682745837e-01 1.5138895616407861e+00 -2.4475597376615912e-01 +2438 -1.6468082259455255e+00 1.8357989244144408e+00 -1.1606312554625311e+00 +1313 3.0458018757368011e-01 3.3174063141918719e-01 9.6261957839491008e-01 +1019 -1.4532037658219230e+00 1.9344690711278771e+00 -2.3000206245599886e-01 +343 -1.1907406174609503e+00 5.0863694931844305e-01 -1.1249620117471559e+00 +1076 1.5357298479102655e+00 -6.2326338574108364e-01 1.7067173033817756e-01 +1688 -5.6953496088823802e-02 5.4639209002861866e-01 -1.2771800159248829e-02 +2446 -1.1909231533816897e+00 1.6195568245969520e+00 5.9240675486600158e-01 +1854 6.6381542747992128e-01 2.5214188628157790e+00 -2.7243102942207531e-01 +1206 -4.9469844443671129e-01 1.7795676429385024e-01 -2.2645897314164221e-01 +1492 -3.6188185585058202e-01 2.3878276355722317e-02 6.2095097773189334e-01 +124 6.5590126936405713e-01 1.8102725973367426e-01 -1.2244394095354272e+00 +299 1.8203876781537198e+00 1.4277281182073680e+00 2.0401473277666442e+00 +1945 6.9039760822510329e-02 -9.8176999701211054e-01 -3.3528971066316249e-01 +453 -1.4395872423787143e-01 -1.3714167223230849e+00 8.9252111709344695e-01 +811 -9.4842591279742450e-01 -4.0296847993036561e-01 -7.6060493471845225e-01 +1774 2.4145007850244322e-02 -6.5752789623919183e-01 -6.5208064422606560e-01 +2023 -2.6297973600319652e-01 1.2192310266745550e+00 -1.1389281276606202e+00 +2280 2.4307134028826616e-02 1.9089384326475769e+00 -9.2322183663741819e-01 +1816 -1.5006544662610419e+00 1.5662081272690151e+00 -8.0851277441899250e-01 +2319 8.5194522228974900e-01 -1.2996276531416238e+00 2.3983841130212640e+00 +2964 2.3583144869625078e-01 -4.5584214753215285e-01 1.3196360683952524e-01 +582 -1.8118298750901733e+00 -8.3005803728273486e-01 -1.4713533201395714e+00 +2958 2.3264263449231601e-01 -7.0876760103228065e-01 -2.2663164849366757e-01 +2782 1.6952836000263138e+00 1.0862027919820119e+00 1.3850441302575159e-01 +2563 1.6352532301656753e+00 -1.4225734634420134e-01 -1.1647603439874863e+00 +302 -2.7409802665160232e-01 4.0777485583891465e-01 -8.9417647739131434e-01 +2240 1.2113599496164881e-01 -8.7598102401353739e-01 1.7162591377090644e-01 +551 2.0707384647699612e-02 1.0652685524950802e+00 -4.3134332704814243e-01 +1045 2.1716984760653175e+00 -1.3443955216955921e+00 -2.5263006969484320e-01 +2262 1.0514813025774317e+00 1.6593599103298187e+00 6.1949297326161790e-01 +2757 1.6548061219663507e-01 5.1753647488939158e-01 1.0321973080318712e+00 +533 -4.9132758448408403e-01 2.2623169393963721e-01 5.9897386967940180e-01 +1739 1.0227738174688714e+00 4.3043130363329191e-01 7.8387406733884291e-01 +2794 -4.2351073726802790e-01 -4.4188652367115577e-01 7.3975934418739708e-01 +2359 -1.1928327684249149e+00 1.5754605174660616e+00 3.7120482077474842e-01 +2499 2.9677385834528069e-01 -1.1662118434949840e+00 6.9456584479374195e-01 +806 -3.5597037466525616e-01 2.7792694566873144e-01 -2.1409256847155884e+00 +1510 -3.6078047076399938e-01 3.6060701608104984e-01 -7.1147631349381714e-03 +693 -4.7372540561331256e-01 -1.2479851843491925e+00 -1.1439457482363427e+00 +1295 -1.3033306486843139e+00 1.5511526147854457e+00 8.8849432782870585e-01 +1378 -7.3647993835446679e-01 1.3619727077159591e+00 -1.8838117636461356e+00 +2536 1.1987354090257709e+00 5.6091484106225009e-01 1.2173243020683457e+00 +888 9.2032585496019870e-01 -1.2616283586546162e-01 7.3866186818848512e-01 +714 -3.4411207017390477e-03 -4.6763545877490015e-01 -1.5022522644840268e+00 +439 1.2885538476098264e+00 1.6078646506427410e-01 4.8936524635137280e-01 +2169 1.7567211534915639e+00 8.2170392146637128e-01 3.7411810617291985e-01 +660 9.9609654128945357e-01 2.9757610200911178e-01 8.5032509171580201e-02 +1932 7.9063728119753873e-02 1.2573087005439447e+00 7.9552614649591513e-01 +387 8.1347868822134062e-01 -9.8961635560708971e-03 6.6055073702961375e-01 +427 1.9647046941213961e-01 1.7601990226943798e-01 4.4056678453206155e-01 +192 1.3473897317882515e+00 -6.5596592805812559e-01 -4.8582255027080823e-01 +104 2.4661236007092873e+00 -3.1908191547924361e-02 1.3080699607078097e+00 +1489 -1.3598824658172060e+00 -7.7795277007011143e-01 5.1051732334610100e-01 +2684 5.3448673122192425e-01 1.9393304449754822e+00 -8.5003362006847050e-01 +2009 -7.9664612682026559e-01 7.5502984640065551e-01 -1.9911378247483862e+00 +1284 6.2629030743545822e-01 8.4766423553987114e-01 6.7246066906658275e-01 +1362 2.8935625159340977e-01 -5.4945866157235046e-01 -3.4461404271627749e-01 +943 5.4130809732364685e-02 -1.0626249135146648e+00 -5.9817803313734264e-01 +2416 1.7763715579582564e+00 1.3485508737505290e+00 -6.5485830933028422e-01 +75 -4.0574594142752529e-01 1.1524427751314366e+00 1.4975728186746867e-01 +2387 7.8875006950871918e-01 -1.0908004385005838e+00 1.3741793822096291e+00 +2287 -7.4816576920866740e-01 -3.3071326073116336e-01 -3.9081923430382387e-02 +1337 -1.7205462201620192e+00 -2.5171525470821132e-01 -5.8143952785327901e-01 +2815 1.2482602677408006e+00 1.9470762803617039e+00 4.6351408195707822e-01 +2220 -6.3826920157477207e-01 -3.0558779118077299e-02 1.5456416459868219e+00 +293 -2.2142892441432327e-01 1.1836876219733655e-01 -9.9621831944996520e-01 +2991 -1.0846301006009678e+00 -6.9140611198378032e-01 3.1051058431623674e-01 +102 7.3756623886630235e-01 -1.3388841892503973e+00 -7.7522720312137516e-01 +1041 -1.3669923847588183e+00 1.8492775837536324e-01 9.3691724617027816e-01 +1358 3.6597458355772150e-01 1.6239859561415126e+00 1.5214865661509211e+00 +2979 1.7043501608616731e+00 -6.1971156226174628e-01 2.4910197082512848e+00 +1749 -1.6387946795386785e-01 -6.3157684799775582e-01 -4.2593047949975776e-01 +921 -3.7172137636567959e-01 -3.3787522882284282e-01 2.5292982822884560e+00 +2118 -1.1227966291906504e+00 -6.4829934464704753e-01 -5.8970180104374159e-01 +2861 3.4510056414868717e-01 -5.1393758202456596e-01 -2.8667931081666809e+00 +2918 -9.2139755925251299e-01 1.9413461851957645e+00 6.2191576107435420e-01 +1504 2.5052689569848935e-01 -1.0007076868145198e-01 -6.8289055956236722e-01 +1418 3.7088195804323515e-01 -2.1575930421792219e-01 2.2037076244907405e+00 +485 -8.4646496592991660e-01 -2.0442627299577460e+00 1.1551093734104929e+00 +5 -2.6954923019553523e-01 1.8034762893119975e+00 -1.6076320117633229e+00 +2593 -3.3662225732891810e-01 2.5510310628408733e-01 1.2913529912119787e-01 +459 1.2445827073290348e+00 -3.8986739100786583e-01 7.0295733680912298e-01 +1805 9.6021642343142699e-01 3.0975659926657417e-01 5.6911527619692037e-01 +881 -1.2722164109603693e+00 1.4169288890484555e+00 -2.2272322363196270e-01 +648 5.5089009860247207e-01 -8.3357294416754779e-01 -1.8874656096945650e+00 +2314 -1.3828408555078047e+00 -5.3993743522718451e-01 9.7400893669369770e-01 +449 6.2839056276271754e-01 -2.1793236371665414e-01 1.7751184509651902e-01 +1189 1.0528698202260944e+00 6.8257265472602968e-01 7.2170310111821157e-01 +808 1.0673466524961953e-01 -2.1121779348034058e+00 -6.3419217539774630e-01 +1484 -1.2264351566207146e+00 -9.1469823136987838e-01 7.0310998287866289e-01 +290 -2.9264404409971367e-01 1.3269266985884545e+00 5.7118787113035419e-01 +1826 -2.0528641460628254e+00 -2.3934538483616563e-01 -4.8359156805833176e-01 +1113 -1.1101263815484190e+00 -1.0531127647012517e-01 7.2131040570224425e-01 +1795 1.4322355407164020e-01 -7.6167331321840281e-01 -9.9435995943037359e-01 +1537 -9.4350022465800903e-02 -2.1750755336523651e+00 1.1677217032889444e+00 +2807 1.0277336550190956e+00 -1.9102212344411740e-01 1.2491567893224145e+00 +2362 -3.7918195838261060e-01 -2.2467865286415004e-01 -4.8504694292812317e-02 +1465 1.0050190279406848e+00 -5.7245252775171351e-01 5.6832518634069434e-02 +2082 6.4541969512014075e-01 -8.1533670715930895e-01 -2.7796568639774566e-01 +367 1.0459043470324396e+00 -3.9027267631767537e-01 -1.0345628219426597e-01 +476 8.9751307546288128e-01 -8.1417762795528659e-01 7.2844071971142454e-01 +2893 4.9168652883722552e-01 1.0796008146883713e+00 2.2309039723992535e-01 +1780 -1.2876842809161275e+00 -1.2333504377566018e-01 -5.9049936190789654e-01 +1500 1.5417434938156063e+00 4.7419006308551104e-01 -7.8719858718181512e-01 +158 -2.0115965846159680e+00 -1.4482689364086831e+00 1.8465859756191958e+00 +1912 -2.7147114660334204e-02 -9.5033693740848701e-01 -2.5048378829901893e-02 +2898 -1.2629658897859395e+00 8.3845314450840502e-01 2.1687527074367434e+00 +1973 1.7899889664050948e+00 1.9317665666276077e-01 -1.4355036410778372e+00 +1706 6.2500058639622957e-01 -3.4194537937505076e-01 1.0641818952857141e+00 +573 7.0623630696831463e-01 -6.6741576245210998e-01 -6.9636435551318909e-01 +1273 8.0400631494534225e-01 2.9917538342400385e-01 5.5139728875381822e-01 +2710 3.1496331169568825e-01 -2.1522246643495030e-02 -1.8867857965291962e-01 +956 -8.1819249766606639e-01 9.3118465736194256e-01 7.0039556985348883e-01 +2763 1.8287016039560295e+00 -1.4314169132026970e+00 -2.4073404612565297e-02 +502 5.7272168499609832e-01 2.1124296030351526e+00 4.8469042152972475e-01 +1145 3.7216840989183941e-01 -2.4598246888970113e-01 1.5590658978190577e+00 +2943 6.0531455806508272e-01 1.0989329047956053e+00 1.6620766350055205e-01 +35 1.4188469676385443e-01 1.2430204024403929e-01 1.0401230696988917e+00 +1503 6.2376131503144527e-01 -4.5950343522785647e-01 -6.6215245218329311e-01 +2816 -5.8731146944066823e-02 5.6269629403931054e-01 -7.3099562570110277e-01 +608 1.7545682992693932e+00 -6.6204307430929232e-01 -1.9981613290433755e+00 +1026 -3.3739088770035169e-01 7.3939241433491842e-01 -7.3407551719095721e-01 +1717 -1.5633403951679423e+00 -7.3725700736574995e-01 -8.6025743070269856e-01 +1668 7.5952863572998491e-03 6.0265819732978343e-01 -4.1299029402032772e-01 +983 1.5942074044247416e+00 1.5634716787937755e+00 1.7212372935738962e+00 +2075 -5.7809702114030048e-01 -6.9255321961363192e-01 2.8326952792103048e+00 +2139 8.1481125341261373e-01 8.1491992675572500e-01 -3.0745685942649001e+00 +2833 1.9828288614710693e-01 -1.1389383611975112e+00 -7.9159637930457938e-01 +1089 2.0054328012968958e-01 -3.4986444816374118e-01 -5.4104821849756746e-01 +381 3.2681613932980985e-01 1.9568204774406057e+00 -2.9093075471134808e+00 +2029 -4.0986879086950345e-01 -1.1394181721895218e+00 6.4499642849659278e-01 +1547 -5.7956115383385465e-02 -1.2607834224207055e+00 1.9338416015040027e+00 +1173 5.6482544400060786e-01 5.9316630371664569e-01 5.2322918980096200e-01 +2421 -7.3546658028871975e-02 -1.2998198239607932e+00 -4.1848503255166780e-01 +581 4.7069834302649716e-01 -7.1270267685180044e-01 3.4078623567530042e-01 +465 1.2018735862380923e+00 1.2177790151171142e+00 1.3172227530692997e+00 +2364 -1.0797045539845954e-01 8.7409861541920120e-01 -1.1481205106528285e+00 +1908 1.0255666660904410e+00 5.2073363743336676e-01 -3.2813130914193100e-01 +199 -1.4041492639034212e-01 -5.5318217359969912e-01 -5.8628742513253373e-01 +2062 -1.3768495971351895e+00 2.4355770194626769e-01 -3.7815120050407369e-01 +2248 9.3819113764768436e-01 -1.6401307820387605e+00 -1.9211906844005116e+00 +612 1.3740228049723575e+00 -3.9838886084398878e-01 -7.4573476184526843e-01 +619 -4.1901759472743433e-01 1.9757614051701433e-01 -3.9644204046402454e-01 +201 3.8215911247311074e-01 5.0571297823272632e-01 3.5888802597981773e-01 +62 -6.3874514372492008e-01 -4.0162095558040578e-01 4.9058308579291821e-01 +2862 -7.3999918318474378e-01 -1.3386508870715270e+00 -1.4668338400713568e+00 +187 1.1014801552079432e+00 4.0430387978549293e-01 -8.3943771417108359e-01 +204 8.6733126201771471e-01 9.7199286339442792e-01 1.9615238441648724e+00 +320 -5.1693609499734738e-01 9.1239430413329581e-01 1.2671174459859785e-01 +1645 8.0934329841910502e-01 -2.6023990415789844e-02 -2.0398601329505754e+00 +2634 -5.2044250802561698e-01 2.9326312112631131e-01 8.6146174986732649e-01 +2728 2.0242794205186869e+00 1.2235300918256340e+00 -2.7243912464797826e-01 +2899 -1.8840360504435987e+00 1.0821933191242674e+00 -8.0627831433260821e-01 +2381 9.4404011310510585e-02 -1.0401277498130821e+00 1.6906368571578342e-01 +542 1.1868812269393818e+00 -1.5886926823588057e+00 8.0186378438252826e-01 +1931 5.2741136575415459e-04 6.9386445357085758e-01 -1.3963967441525993e+00 +2184 1.1742189006992017e+00 -2.9749624081303894e-01 -3.3596222292526129e-01 +2995 -2.1457446307814654e-01 -1.5569329199981402e-01 4.4834252329915075e-01 +147 1.6579398352285563e-01 1.3743234266786559e+00 3.4037854180289728e-01 +633 -4.6920905021147119e-01 -1.4727428175249340e+00 -6.1412068295085454e-01 +2781 -5.7530515144173289e-01 -3.4196202934703390e-01 8.9407366095933383e-01 +2730 -4.4893746762680137e-01 -7.0917035909987192e-01 -1.1446842991977986e+00 +2207 -7.5415608080658425e-01 1.3148107170758344e-01 7.6874317095966233e-02 +618 8.5311806016213776e-01 6.3426081462195871e-01 7.7066441166139932e-01 +1951 1.0536676929993363e+00 1.5416850783608149e+00 -5.4426588648081153e-01 +245 -2.0050857889826075e+00 1.7629594761888134e+00 1.0775747924412267e+00 +579 5.3824556088290920e-01 -1.2527710026406667e+00 4.6730817260383077e-02 +757 8.8172586261339903e-01 -1.2579224713275523e+00 -1.0209162361347601e+00 +1326 1.6522109862933374e+00 -3.4375151953356009e-01 -2.9731328597277246e-01 +2409 -1.5078470312029935e+00 -1.6968830916676714e+00 -2.0882150339157043e-01 +2817 -4.4171329780401597e-01 -5.3985973364268081e-01 1.8597538423851698e-01 +963 1.6216840232990262e-01 1.0379228215749872e+00 -8.3699698560352243e-01 +1170 -1.1472830444862252e+00 1.0934910272082097e+00 2.2908496922926760e-01 +861 -8.7853812253656227e-01 9.3182324284514972e-01 7.8887319208027185e-01 +2913 -9.7131375652828444e-01 4.9369109563727842e-01 7.5774018343192540e-01 +1802 2.1969071504811177e+00 1.0144598339947541e+00 -1.2948665779058055e-01 +2970 -6.3177503219055214e-02 8.5753407836979245e-01 -9.2387311050582920e-03 +1200 6.0824571099752733e-01 -5.4233859227068221e-02 -3.9029421408515930e-01 +1709 9.3228976788631868e-01 1.4657422484807608e-01 -2.0235362895716111e+00 +2824 2.3540652988845414e+00 -1.7283519493481874e+00 -1.3111429448795178e+00 +2793 -7.9097618321811969e-01 -2.5394772341750724e+00 9.6172862517596414e-01 +42 2.2503597475290142e+00 1.4805425583717144e+00 -1.2487839722666620e+00 +1959 -1.1390290806957157e+00 -9.7651644868908039e-01 -7.6900354688296513e-01 +2132 -2.3913201042081851e+00 -1.6256159749737640e+00 5.5599784621769333e-01 +793 -1.4517665413872749e+00 3.6580697900943149e-01 -1.5371522870084303e-01 +2546 1.4642786003490782e-01 -1.7704663291433442e-01 -1.6197999418352280e+00 +2172 8.3800228036500068e-01 -5.5288441521374232e-01 1.2774522778384054e+00 +2165 4.0877747680593168e-01 1.6236707737168139e+00 -3.6892320193608685e-01 +2301 6.6920614369907011e-02 1.1932021669706410e+00 -7.5145512799820735e-01 +736 3.8609751592421959e-01 -1.2645947073915560e+00 8.3336561895236716e-01 +971 -1.0145519659546172e+00 1.2423171046805805e+00 -1.0958270407774706e-01 +1066 -3.0587767990958203e-01 2.0908676558169981e-01 -1.1812270420051043e+00 +152 1.9055968006299354e-01 -2.7479259598843925e-01 -7.3916577287852681e-01 +450 1.9108829648734129e+00 -4.5335617695880409e-01 1.0659019776097829e+00 +2116 -3.1509731165549969e-02 -8.8511614413143469e-01 2.1287267452852441e+00 +2956 6.9547183651595357e-01 -2.7874919373575874e-01 2.4503066253129173e+00 +2553 2.9390520320371838e-01 -6.5243339416043566e-01 -7.1411503395619658e-01 +16 -7.5072145138363544e-01 1.5192476588970625e+00 -9.7641317678480111e-02 +2778 -1.4204248682040668e+00 1.7045948943964380e+00 -4.0187188610658547e-01 +1690 1.0871935707005718e+00 1.2869321287421807e+00 -2.0392868077852677e-01 +2324 -1.5528185184344105e+00 1.7332437239077163e+00 7.5637006456050315e-01 +2539 -1.6599069185331252e+00 -6.0596708749460049e-01 -1.1357794725738009e+00 +352 -1.1728214003366784e+00 -3.0832382667826197e-01 -8.7079934866980235e-01 +342 -1.3039222216559025e+00 -5.5639259945177455e-01 -3.1875796322991645e-01 +441 3.8157697670888313e-01 1.1054067053797134e+00 -1.4292647311594959e+00 +2241 2.2816075374426717e-01 -7.5414682444668613e-01 -3.1982572601669351e-01 +2451 -1.7604049988273196e+00 -2.2256436701833637e-02 3.7528041267243506e-01 +517 -2.8212614747907533e-01 4.7262620334399036e-01 3.3977090657626413e-01 +552 7.1812536555501488e-02 5.6410117354553646e-03 -1.3484270136422924e+00 +2497 1.1470350880298927e+00 1.1242944479505244e+00 2.9280563682267069e-01 +1536 9.1153238758167321e-01 5.8989312839031061e-01 -1.4658932800756104e+00 +1112 -1.0907843766718790e+00 -3.1927168047746202e-01 -4.7131138907648341e-02 +1187 -7.2059664672476220e-01 3.6386062472391645e-01 -7.2203974583397024e-01 +212 -4.8001983989268804e-01 4.8137731031131814e-01 -3.5955719263937064e-01 +2181 2.7763273066558103e-01 4.0797340988869635e-01 -4.7138122612180355e-01 +1025 -2.4284886261440106e+00 -1.2061149738848956e-01 2.7742779261888004e+00 +39 -7.3811509153721877e-01 8.0019309128924310e-01 -1.0667374587645104e+00 +1022 4.1990461164780368e-01 -1.8827755690361798e+00 9.6565688220081591e-01 +472 -2.2162936702438737e-01 -5.6074719891355629e-01 5.0141403070194865e-02 +1064 -6.1779881450681817e-01 5.2056551969543197e-01 -8.9412966478228689e-02 +2070 4.6872514365872597e-01 -8.4599289756382379e-01 -1.6949037754525986e+00 +1516 -2.5607619980961460e+00 9.0283667948738222e-01 2.3780210111106911e-01 +1509 -1.5959401850430746e+00 -8.1225388815345723e-01 -5.4200435122583823e-02 +1065 1.4473489096083292e+00 5.4047491776223289e-01 1.2353530328447098e+00 +136 3.9584878074830010e-01 -8.4707778958052793e-01 2.1583816232938594e-01 +1911 -5.3933716795380271e-01 2.1935241096601241e+00 1.3345697277070168e+00 +1245 6.9660893218917525e-02 5.1788809756531795e-01 3.2176665923174474e-01 +1639 1.1498627408696052e+00 -7.8622122056134436e-01 1.9547923815533499e+00 +2434 -2.0761875779273031e-01 3.0787496015637744e-01 1.1829190686796993e+00 +130 1.2797987733091598e+00 2.9538686541841974e+00 -1.0621058889994739e+00 +2752 -8.1525334432008312e-01 -1.7215338151021933e-01 2.6624111082617459e+00 +195 4.9499330809425901e-01 -7.8667177430384927e-01 -4.6039529231279119e-01 +361 4.1707764907429601e-01 1.9871466692991429e+00 -3.7110517797542336e-01 +1452 -6.8927551473114601e-01 1.0133795817988607e+00 -5.0492376631933367e-01 +518 -4.2828252730226246e-01 2.7710646962402674e-01 -5.4563026373779844e-01 +1199 2.1944696017463652e-01 2.8832597168307289e-01 8.0541714540319942e-01 +768 -9.1267583633173144e-01 1.7772870017018921e-01 -5.3059375192954217e-01 +2347 -6.0125280879294807e-02 1.9724063247885393e+00 1.7335362415383344e+00 +721 -6.5684352214983333e-01 6.2320576951817319e-01 1.0636857275010145e-01 +796 6.0557805918165797e-01 5.4953196253348813e-01 -2.0743992613769446e-01 +1919 -1.0362850652890965e+00 -1.8161725468177752e+00 -3.2983394882087819e-01 +2003 1.3855925841675272e+00 -1.0123176234016509e+00 -4.4970718391198755e-01 +2795 -1.7707826806480571e+00 7.7824005783107519e-01 1.9137736376251548e+00 +934 3.2183632277340307e-01 -1.3905481698938129e+00 -4.1844283436834379e-01 +2068 -8.6551151339877230e-01 7.5444574113529106e-01 5.0821448288466531e-01 +1986 -1.1734394351117574e+00 4.0305002239257592e-01 1.3219291831744773e+00 +1995 -5.2842063688677465e-01 -6.7571694893213685e-01 -5.3190947307900216e-01 +1029 1.1244700285962808e+00 -9.8764712960389822e-01 -1.1928327541745229e+00 +9 6.6773080824952591e-01 9.9477352939254235e-02 8.3138602505894266e-01 +1652 -4.4153102514799075e-01 9.5911266698689712e-01 -2.5157124712892404e-01 +205 -2.3602853751416275e-01 -2.2272588286508618e-01 -1.0112537158755755e-01 +1586 -4.5387616337851178e-01 -1.5901729856701692e+00 8.1744204697649681e-01 +474 -2.6847631994718590e-01 -5.7736152728324985e-01 -2.1651038912702409e+00 +1442 -3.5833542156596820e-01 -5.6955194304109980e-01 -4.7169178525139704e-01 +1827 1.2769687946982877e-01 -3.5369147031352338e-01 1.4064468346376586e+00 +2643 2.0554485893993939e+00 -2.6308794904438106e+00 -2.2709706653042572e+00 +2436 2.0006502114344701e-01 2.4887950369049219e-01 -3.9303227558915921e-01 +1191 3.5244568493491046e-01 6.3183806965562986e-02 1.7544643051940525e+00 +2356 1.1911552465607980e+00 -6.2237288641152376e-02 -1.3553891421561848e+00 +954 1.1459085467820347e+00 2.5897067774880664e+00 -1.8816137677301290e+00 +895 1.3365097854308676e+00 1.5575974596978153e+00 2.9347775700556256e-01 +2152 1.0069989188213673e+00 1.1533654735077821e+00 -1.0503947101862150e+00 +2886 2.6029257692447866e-01 5.8315845813381129e-01 6.2212620663903095e-01 +2496 3.5672670993437655e-01 -1.0930670279561430e+00 7.4745857133227389e-01 +2448 1.1962323941549198e+00 -2.8817993212978915e-01 -3.5674240602503149e-01 +1697 3.5428664750704819e-01 7.5009391117799362e-01 -4.3517867065017324e-01 +315 -1.7374337502474990e+00 -6.0921038688243345e-01 1.0774981030242330e+00 +1049 -2.8540037170430416e-01 -6.8139852584393867e-02 -2.1479573529412938e-01 +1707 1.0544147333798568e+00 1.6142327445672968e+00 1.4869562223875055e+00 +321 -7.0346456510722166e-01 1.7054857138029045e-01 -3.6789057005625347e-03 +2619 6.0816816325523722e-02 -2.8168884197526300e-01 1.0138650663406019e+00 +2216 8.7477791059172827e-01 3.4976125310296224e-01 1.3914253199890112e+00 +442 -1.3763206069127718e+00 4.6715371852192322e-01 -6.0364816509895869e-01 +1035 1.1485367561868549e+00 8.4159360030706509e-01 -1.2691988928645501e+00 +1557 1.7669552348364503e+00 -4.1923557851310606e-01 7.0216403817653172e-01 +1893 -4.7753275729122874e-01 3.4661980523148683e-01 -4.5983720589913957e-01 +1806 5.7394259026828065e-01 -2.5772639453776003e-02 1.6222039864429050e-02 +863 2.5217238089767424e-01 -1.1556840410617215e+00 -6.6893154976781033e-01 +1383 -1.4362315005021360e+00 2.7170463114592400e+00 1.7517678992950516e+00 +2667 -4.4513321260082350e-01 2.6670926250748905e-02 -9.1824039210072983e-01 +2829 4.2048760190958800e-01 6.6327094472885972e-01 -7.4695153892732380e-01 +2832 -7.9558296240818538e-01 1.0564235693536617e+00 8.4954861744190313e-01 +893 -1.1410325139288223e-01 -9.1897268979855240e-01 -9.9104943076816843e-01 +2564 5.9742507877605400e-01 -7.2231473825530551e-02 -1.2419692578052910e-01 +1965 4.0664422171620057e-02 -1.6537675372855178e+00 -1.1590273321557063e+00 +630 6.7842633191887158e-01 -5.5944323648373517e-01 1.5953909165598984e-01 +2910 -1.7419489211217726e-01 -8.3327440605788961e-01 -1.6110840321409512e+00 +2525 1.0535376307335158e+00 -2.8042620441705446e-01 -8.0793160514918541e-02 +393 -1.5321680918119704e+00 -1.0897728552037216e+00 -6.4255642355166576e-01 +671 -5.2995769809322923e-01 1.1226239136587839e+00 -4.9404851617123036e-01 +2087 -3.8259726271904632e-01 4.5843922956299965e-01 8.7400006358583093e-01 +63 -7.9729512851606854e-01 -8.7401830738057351e-01 7.4910906040378789e-01 +1380 -4.0958530508971541e-01 -6.2108609078956334e-01 4.0447686938267208e-01 +1156 1.2887085624999253e-01 9.0196470741494195e-01 1.9484411722031755e-01 +2788 6.3325580104064605e-01 -2.4577644317579081e-01 -1.4699504009726108e+00 +14 6.3338946739251067e-01 4.6326339191155530e-01 -4.0798377372123251e-01 +1991 1.0690286550886099e+00 2.0915013497237025e+00 -1.5044678492224414e-01 +2407 -1.3861531352413796e+00 -7.0472842365535093e-01 8.2094553064827414e-01 +65 7.6527707367223285e-01 1.5663746768542151e+00 -1.0549830769344113e+00 +58 9.2685352014786515e-01 1.1693177553889924e+00 -1.2562653150300125e+00 +1958 -7.2318882742580992e-01 5.8098065791239051e-01 -3.1102903696273243e-01 +1791 -5.6052857673277268e-01 -1.6286720857118726e+00 1.1211418944633933e-01 +1560 -1.0674146208911482e-01 6.1733359626295370e-01 -1.8574268735053107e-02 +2947 -1.3916553342469560e+00 -7.2184999794306459e-01 8.6013244780180620e-01 +729 5.7800589410337588e-01 2.3298301986164138e+00 -1.9344002257637061e-01 +2360 4.4280272839683599e-01 -5.8348545788379502e-01 -2.6942285195192178e-02 +1671 1.5550233185207202e-01 -1.9396975909736820e+00 7.2793231755729060e-01 +1369 2.1124450120791742e+00 -1.1601288655050331e-01 3.5770067145367651e-01 +880 -6.5860669390838122e-01 -5.1882126979260312e-01 1.3302152797020348e+00 +2457 8.0810230483682455e-01 5.0594581811127937e-01 -1.5555557037472401e+00 +249 -2.5136036192301370e-01 -4.3394597902394350e-01 2.8010868855849658e-01 +2566 -5.8514171680942728e-01 -4.8641441963613807e-01 4.8856121863325602e-01 +2322 1.4761827173268285e+00 -1.4383952352493179e+00 2.2237033587061337e+00 +2035 -3.5773536765294273e-01 -1.0491494808068352e-01 -2.2231736084540414e+00 +1269 1.9208875690647570e-01 6.2270921999937545e-01 6.2318024693713081e-01 +2579 -1.0279335610129441e-01 -1.8283980546635564e-01 2.0177751155321405e-01 +851 1.6351323708553356e+00 2.1112224034850740e+00 3.0980338751542436e-01 +1347 -4.1840354207235073e+00 6.9723064959783709e-01 -1.0498829647881474e+00 +1728 9.7994708442441625e-02 -1.7912534113687623e-02 1.4524570807551556e+00 +2081 9.3046646607176309e-01 4.8859382470045676e-01 1.1033507209244788e+00 +2616 -5.8067533446589670e-01 4.9215693395281346e-01 -9.3377792728158904e-01 +371 -1.1469210304936037e+00 -1.1182070579084955e+00 -1.4750150891062455e+00 +988 1.9286331231946865e+00 1.8741987570351015e-01 2.1754871727193414e-01 +2671 -1.7506624622771838e+00 1.4504314113619836e+00 1.1717513102031132e-01 +2374 -5.3605342736770001e-01 4.8658454643266857e-01 -1.2619802188686919e+00 +2156 -1.5625440546978293e+00 1.2938711424981046e+00 3.6158277927575483e-01 +2982 -1.7612440412731631e+00 1.4887231186297206e-01 -1.3803628959146406e+00 +1567 -5.9483949244614598e-01 -1.2508620555847194e+00 -2.4061083639445510e-01 +836 -2.6345225182591299e+00 1.8978293928815022e+00 -3.4611393533276091e-01 +2554 1.8451443400281093e+00 -3.3863523224254344e-02 -1.0673850785066024e+00 +259 1.2612154530768704e+00 -9.9536825806326745e-01 -1.2307833785349849e+00 +2580 1.8914800524484165e-01 -2.3742557016979795e+00 1.1791385660405875e+00 +691 8.5437718891800940e-01 9.7552627900459932e-01 -2.3760952252049089e-01 +1483 7.4275214627752872e-01 -8.0198057006204049e-01 -3.7199160699698197e-01 +985 -9.7999094076531190e-01 1.9869609013470357e+00 1.6502194118729445e+00 +571 1.1927727496686082e+00 -6.3341832903543116e-01 -8.6982264101760853e-01 +2977 -3.5219799038120631e-01 6.9783296337475698e-01 -8.1823708095275727e-01 +2922 1.1996002596086908e+00 5.7824962923744783e-01 -5.3960914451170205e-01 +1549 3.2473574835127406e-01 -6.4402515003647731e-01 -2.9558073964941489e-01 +2219 9.5404308717534275e-02 2.0264293315957760e+00 4.7967653344338190e-01 +2512 2.9563355648993062e-01 2.1397723313468966e-01 -9.6033675443612665e-01 +1355 -1.2587164379325047e+00 -5.1716853895373741e-02 -1.2020246058720303e+00 +1763 2.8425513699704079e+00 1.2303156461895788e-01 1.3233726166089181e+00 +1164 1.2083498910349926e+00 9.9365150788441581e-01 7.3946157112006605e-01 +2707 -2.9712743086099846e-01 -1.2481749296213220e+00 -1.4163691153399207e+00 +2197 7.0167366758588923e-02 1.3494371310056763e+00 -2.0664789054070459e-01 +1772 -1.6259921937262782e+00 -2.2300537876834854e+00 -1.8142646814352068e+00 +1106 -9.0360130980267039e-01 -1.6349943324098273e+00 3.5059206298884710e-01 +1015 -1.8896734176327308e+00 -4.0682994002056438e-01 -1.2922728326746935e+00 +2878 6.6996416353988217e-02 -7.9658275621203778e-01 -6.3212982416692154e-01 +1279 -7.7967653087593236e-01 6.0194202167081420e-02 -1.5286433547941984e+00 +805 -2.9544500686545622e-01 -1.0626818015267048e-02 5.8035433040382400e-01 +1252 -1.5768215657446907e+00 -2.5743745852594507e-01 1.0114341094777317e+00 +2751 1.6083119483158803e+00 1.2691029101584639e+00 -4.4694952129366039e-01 +426 1.1295258476149765e+00 1.3455775898072155e+00 -5.4704059987453355e-02 +1957 -1.2636169124227872e+00 1.7204686342771397e-01 -1.0936250551459934e+00 +1800 1.5768730772320747e+00 4.6179304517287700e-01 7.1529685371355706e-02 +1611 -4.7712879209945819e-01 9.4434599040132239e-01 -3.9524102447550513e-01 +655 1.6330661069808411e-01 1.6836238556628602e+00 -4.7746597410764829e-01 +2837 -6.4680866692982264e-01 1.3052716272343297e+00 -9.4969600838980062e-01 +813 -2.3987674971946371e-01 -7.4793620437535435e-01 8.8092558687199585e-01 +923 -5.6897744828865204e-01 -9.9409324148436354e-02 -1.2901341961554622e+00 +715 1.2031455756396758e+00 4.1773512086312725e-01 -1.4204126964365155e-01 +1211 -2.1653648494853439e-01 1.3553103219385241e+00 2.4519747682923726e-01 +2993 -2.9751503864644074e-01 -1.0957292260368519e+00 1.4108396291064584e-01 +2520 -6.5429972626378852e-01 -4.6419796184518108e-01 -1.7923251728004663e-01 +904 1.2927711519980680e+00 4.8215713307075103e-01 -2.8813447313358574e-02 +680 -6.3559269126163687e-01 -9.2557755646769557e-01 -1.4003853401433092e-01 +2185 9.3213424487124663e-03 2.3596713990681473e-03 1.1994288582914980e+00 +679 3.4389292672285821e-01 -1.0158762523224707e+00 -1.6181295209839391e-01 +1084 -1.6567301971088453e+00 4.0307078941898367e-01 -1.0349897321352185e-01 +2479 -1.7407406223988350e-01 -5.9188419414382257e-02 1.0408497501000922e+00 +1450 -1.3095588312787594e+00 -3.2328139771926889e-01 -1.2475312657763062e+00 +1062 -1.6729735269852708e-01 -2.4633058752556385e-02 1.8931786342703535e-01 +265 -8.3693860304307732e-01 1.6466320094137726e-01 -7.6815559320729965e-01 +294 -9.3861826029147458e-02 -1.4668992497813276e+00 2.3547322911292237e-01 +2013 -1.2337299080535311e+00 -7.2874968117006933e-01 -3.0859746233334390e-01 +2967 -2.5021724031730108e-01 8.1246934663684989e-01 2.4930596511801077e+00 +710 6.9923562626767605e-02 1.3699744935968685e+00 3.1165014010725542e+00 +60 1.1855388274295673e+00 -1.0619842195624685e+00 -1.7030103872418896e+00 +1736 1.6834776731836093e-01 -2.6138135700262475e+00 4.7317886676741294e-01 +224 -4.3270232082595714e-02 2.7223031961758770e-01 -7.2966718902224048e-01 +1876 -7.3413808071289399e-01 7.7947532108504636e-01 4.7897928053924921e-01 +2237 -6.1575811192746566e-01 3.8026994643786904e-01 -7.2020528296310715e-01 +626 1.8040931334536694e+00 1.1125082147222123e-01 -3.1556117024748309e-02 +1147 -6.3496395828290186e-01 3.1037480736568945e-01 2.5114578913749468e+00 +607 1.3148180839559218e+00 -1.7574579433900317e+00 7.1258230209546547e-01 +2720 7.7258486918897751e-03 1.3380123755753888e+00 2.2921917280293895e+00 +2010 8.2980120324475382e-02 1.7902678052912213e+00 -1.0874842098914728e+00 +1021 -2.6590812557642035e-01 -8.9870999139775998e-01 8.1092198271567301e-02 +713 1.9678812733426246e-01 -1.9265458435253291e+00 3.3701488892157494e-01 +2063 -5.3232479110162423e-01 4.8016781425969773e-01 1.0658620394803240e+00 +2455 7.4209960877453773e-01 1.2081238189236478e+00 9.2274666774544889e-01 +2051 6.2474563853645179e-02 5.5127473813973837e-01 -1.8602518110468061e-01 +43 -4.1508779861284206e-01 -3.1767083090861015e-01 -2.4692874800490996e+00 +92 -2.7836453055304394e-01 9.2618106316052518e-01 -1.6067528850695817e-01 +2270 -4.5647673134176225e-01 1.0934589649926589e+00 8.7720081440121156e-01 +2242 -3.5703162253649257e-01 4.7295110043206051e-01 4.2191069423294791e-01 +1710 -1.9176172109337450e-01 -1.1306607811850495e+00 5.6216611487001211e-01 +77 -5.4985372329664461e-01 -2.9236294541469454e-01 -2.2871705293261085e-01 +2574 5.7868872578280106e-01 3.9031081361328723e-01 -6.5551651295321145e-01 +716 1.5676271825421424e+00 2.1409003967572876e-01 1.8560485072150947e+00 +2333 -6.2972753599588904e-01 3.3527030895544607e-01 -3.8772517603125434e-01 +143 3.0337970852655820e+00 -2.4002113484959273e+00 6.2788927496749725e-01 +1172 3.4783634442676070e-01 1.1536150156952119e+00 -1.2907086715808977e+00 +1263 7.6058816505970650e-01 -2.1979104376713341e+00 2.0085291822283363e-01 +1430 4.8078175648480992e-01 5.6268184363969367e-02 -5.3153594009237926e-01 +1669 -6.4260755663669367e-01 8.9668823358725847e-01 3.8849288628555539e-01 +1712 3.1225177692886782e-02 3.5451927163102515e-01 -1.9164860071459044e-01 +2641 7.5444050340082791e-01 7.0316913244149792e-02 5.0209023485142101e-01 +2920 -7.7920207285815946e-01 -6.9945226544898398e-01 -1.6951783660850717e+00 +214 6.7494172274059439e-01 -1.1400500160627145e+00 1.3931970644840546e+00 +347 8.7772979499520531e-01 -9.2574304305570365e-01 9.7454899688894547e-01 +2293 1.2129773666962422e-01 9.6314431455736593e-01 -6.6336683464928836e-01 +2133 1.3674899959239459e+00 1.8574616072776449e+00 1.1780678003383265e+00 +1181 7.1591998708957538e-01 1.1041697500901282e+00 2.1314267489859692e-02 +1768 -1.4001595237858136e-01 1.9064898347867905e+00 2.5038414501680889e-01 +1615 2.4242788665215542e+00 3.0501846361526030e-01 -4.6838029775500056e-01 +2629 -8.1120327403100589e-01 -2.0832823361505490e-01 -1.0390391755192447e+00 +1581 7.4562070710313788e-01 5.9111771700156446e-01 1.7202077322849829e+00 +2228 -1.2439900237532031e+00 -1.7710044655405941e+00 1.4800857610253804e+00 +2777 -9.7863089053141017e-01 -1.1398100628068002e+00 -1.5896674486749505e+00 +1440 -3.5778699118413820e-01 -9.1127500155811436e-01 -6.0228627499051224e-01 +1080 7.5756197630042721e-01 -7.7990518415749821e-01 -9.1197577907801697e-02 +432 -6.0421889512911531e-01 1.5063976642179902e+00 -5.1567260564118700e-01 +1039 -1.4015862205258580e+00 -9.8134798737478901e-01 5.4931734881831507e-01 +1737 1.2368594223735767e+00 2.2443114016528782e+00 2.8015316352474390e-01 +1487 4.6114406065363622e-01 -6.5170286389448107e-01 -1.0877185704485859e-01 +1174 9.3623160932946736e-01 1.3709001568295076e+00 1.2199304398494450e+00 +1924 5.9658648139129844e-01 -1.2947723031810063e+00 1.3040310849899190e+00 +1060 -2.1058460204833653e+00 -1.1437544260168742e-02 -4.1580093555459996e-01 +1405 -6.0798919995235512e-01 -5.2773346266370466e-02 1.3923471832565320e+00 +1363 -1.3544714199997261e-02 1.9697028748024161e+00 -1.0721050895031035e+00 +2046 -1.0540285177543969e+00 1.0874239549098765e+00 -1.1070031817395259e-01 +1034 9.5032951026430779e-01 2.1917699241878763e+00 -2.4020601040989127e+00 +2349 2.2584767317693397e+00 1.3478651284820919e-01 1.5445875030845773e+00 +2844 -9.5102140989582773e-01 1.6880066153026634e+00 5.3664552362874440e-01 +2493 -1.1163559625846688e+00 -6.0453922308303043e-01 -9.1982021000131209e-01 +2294 2.9264591354917502e-01 2.4494763704706624e-01 -7.3199611144446908e-01 +2210 -3.5972383270287123e-01 1.0161416601368123e+00 1.4110206494054717e-01 +700 -6.3463198347720040e-01 1.6161260037756715e+00 -1.0847912253733170e+00 +860 8.5342068417516859e-01 3.4489473298504059e-01 1.4774903363771685e+00 +2907 8.4503808043440576e-01 -1.0567726027083182e+00 6.3264760350330818e-01 +620 -1.0678777401619373e+00 -7.7058287625671451e-01 -1.5050881562195180e+00 +1256 -5.9354139748890677e-01 -4.9446260451878349e-01 1.6888139208622885e+00 +270 1.4028212921048080e+00 5.2456744145897671e-01 -8.4834763853871231e-01 +2592 7.5530984087877928e-01 -9.2107580410126777e-01 4.6708031289447366e-02 +1936 8.3069436088874782e-01 9.6538658520445686e-02 -2.0233642278449310e-01 +2521 2.8933945218237334e-01 -5.5925256834722370e-01 -4.6049127940207568e-01 +1983 5.1382002076533329e-01 -2.1516743206820603e+00 1.4990927035403201e-01 +322 6.3889390810272206e-01 -1.8426150610994843e-01 7.5681111822376490e-01 +2059 1.2730120194862806e+00 -2.1537579261867998e-01 -6.1195055522801889e-01 +1553 9.9338017039044413e-01 -1.1675319496943795e+00 -1.8467174779277393e+00 +965 9.7157020110448566e-01 -1.3000105816677514e+00 -4.8012989652500906e-02 +527 -7.6149811382518628e-01 -7.1800834739890118e-01 4.0957715485709373e-01 +2839 7.8658532263444714e-01 -3.3241401994626774e-01 -4.4129957911283518e-01 +1695 -1.3966920668394271e+00 -1.1659819925516723e+00 1.4541904670488048e-02 +640 2.2410625731722282e+00 2.5554608216118790e-01 -3.7297070124473031e-01 +1667 -7.3220578355424060e-01 -1.1401158261481488e+00 -1.0926561176688914e+00 +2038 -1.1339228882440948e+00 -2.0327784784524516e-02 -1.3669925568823577e-01 +2835 1.8131559448848729e+00 -3.5953386156684131e-01 -1.4849214827181183e+00 +1115 4.0830942102287604e-01 -9.3575752950899338e-01 1.1239339188010378e+00 +2456 -6.6308441033781840e-01 -4.1632168295167099e-01 2.2624002122200837e-01 +376 -1.3933310017735723e-01 -5.8441434418880145e-01 1.6571096822502376e+00 +164 -7.1432659376207200e-03 2.7205205837150261e+00 1.9374418731130114e+00 +905 -5.4127313649527387e-01 -2.0698317854817583e-01 -7.3758284605033486e-01 +1222 -1.1178904176871909e-01 2.8962386906311921e-01 -1.0192008129889747e+00 +2940 -1.8510072315884654e-01 -1.5584900704835936e-01 1.4353035018607480e-01 +1128 -1.9712089701572474e-01 2.1284837561884991e+00 -3.6153640765232398e-01 +1879 -1.4116305785305774e+00 -1.9045324411624460e+00 -2.3867204234285753e+00 +1595 -1.1729784420116476e+00 1.9643466349657712e+00 -1.3238665038286421e+00 +2279 4.0137110902437989e-01 -3.6374491482962817e-01 -2.2894137870864326e-01 +1481 -1.0520304941078402e+00 -1.5407949493913466e+00 -1.7336849945166249e-01 +357 -1.3149191376745721e+00 9.1361322594693228e-01 4.8198968255941993e-01 +883 -1.5124515198033572e+00 -4.1381673856736895e-01 8.3134753195881617e-01 +1225 -1.6086817484861557e+00 -7.0659594619089594e-01 -1.1530916609986092e-01 +2516 6.6517660053218786e-01 9.8414006894926109e-01 1.0681224630703837e-01 +1116 -4.9820679821522779e-01 1.1552289024452393e+00 -7.3914538649835104e-01 +78 -7.0126477589454217e-01 -1.0995680601521249e+00 6.6054195205726218e-01 +2117 2.8838080333260879e-01 1.0178788154867395e+00 1.8793006203360909e+00 +2393 4.9585276069421103e-01 -1.6458946486506028e+00 -7.1057710795936990e-01 +2758 -5.0677947128130729e-01 1.6074843495999369e+00 1.6955840217945755e+00 +2874 -1.1839214143232555e+00 -4.2111912951370079e-01 1.1317231668984842e+00 +1087 2.8667642282012991e+00 -9.1546430944053492e-01 1.2088036667870472e+00 +2942 8.5499684179515412e-01 6.2440693927511670e-02 -2.4052964794327152e+00 +1601 -1.0745259709093351e+00 -2.3317001143967425e-01 1.0495145770121875e-01 +2785 -6.2511381658362442e-01 -1.2183586066320709e+00 -9.4459231376726360e-01 +2508 -1.2570295904666300e+00 9.0402986899251059e-01 1.1281708214801140e+00 +2565 1.3658995966021403e+00 -1.5369506566277338e+00 9.8001805504915107e-01 +932 -6.2366597578945204e-01 1.8449545662508926e+00 -1.3063644794726206e+00 +2838 -2.2032356093866485e+00 -1.2864236483432601e+00 9.6997395081310356e-01 +769 9.2144698262769975e-01 -2.6418669658300575e-01 -1.0474616494698008e+00 +1376 -1.6569057464671608e+00 -4.4750671341408213e-02 6.5689050003920890e-01 +2639 -5.5560537099273866e-01 -4.6665651172625738e-01 -9.1357795602593916e-01 +1190 5.6207645826203068e-01 3.0139139950307570e-01 -2.5793483462873479e-01 +2822 7.0702196371110082e-01 5.0409139992044338e-01 1.1710696662155227e+00 +913 -1.6494148363463335e+00 5.7733566379090595e-01 -3.4435223821595151e-01 +1756 8.7751625103694153e-01 1.7073616461104530e+00 -3.4379569146982752e-01 +409 -7.6794164811226279e-02 2.6258422746542481e-01 -9.2574590123488787e-02 +1431 1.6991476604668392e+00 -2.5524076393770273e-01 -1.0943987388387817e+00 +175 -3.0435128026107727e-01 -1.4786396791791437e-01 -1.6836704053526688e+00 +180 -8.0121379107234159e-01 -4.7509082785074341e-01 3.0848881786124804e-01 +1594 1.0256732606849088e+00 2.1285205546688080e-01 3.3988799726236524e-01 +311 5.0703701665907563e-01 2.4358602971667478e-01 -5.5677508635603307e-02 +1941 1.7897120389802734e+00 9.0095521228252995e-01 -9.6359502221185678e-01 +1613 2.0738788415898404e-01 -5.5208026898643914e-01 -1.1227527477442829e+00 +1250 2.8716922240016973e-01 8.3143741639296165e-01 4.6452670742124502e-02 +431 -7.3806066540688375e-01 -4.0168482928058907e-01 -1.1537417161462513e+00 +2214 -6.2355549613994055e-01 -2.3653193451244958e-01 -5.8806451039499297e-01 +1703 -2.9713313604530528e-02 3.2636520916908673e-01 -1.4378399188520934e+00 +1625 -7.8304526814915387e-01 -1.3357587716101282e-01 -1.3235964923386849e+00 +827 3.6747700319094029e-01 5.9396573213200121e-01 -6.3612323324673081e-01 +1605 1.5345240890102452e-01 -4.0161572625123704e-01 9.6611855723123263e-01 +1007 -1.0786696845399923e+00 1.6206228779007570e-01 -4.8360004235398657e-02 +2060 -2.9104952439685439e-01 1.7694007797242428e+00 3.4775860090360960e-01 +2884 9.7055176536413457e-01 -1.2212078110744318e-02 -2.9583048954502461e-01 +1059 6.8916409112578320e-02 -8.0138154951265761e-01 1.8540507312020171e-01 +389 7.3816088541918368e-01 1.4687910725290949e+00 1.5471838349738153e-02 +831 -2.2264296875812279e+00 2.8169493108399113e-01 -7.0780139593350699e-01 +2906 -1.1789716674660904e+00 1.1404178719399081e+00 6.0091486865108201e-01 +1517 1.1429813490386715e+00 5.4930980760351256e-01 -4.0118905384817527e-01 +807 3.7035268388779718e-01 1.5888719193362117e+00 2.4185093043862216e-01 +858 2.1054962489734459e+00 9.2245193853151353e-01 -2.1135027666738057e-01 +2171 9.1252426488664551e-01 -1.2268467559172065e+00 -3.8713116361858535e-02 +2168 3.0192656202156687e-01 -3.8185071514559993e-01 8.7048150164616722e-01 +656 6.2751519885138518e-01 3.7767815543317590e-01 2.1579262725747950e-02 +415 -8.6113784670247762e-01 1.3422685858997743e-01 -1.0240403696477949e+00 +1977 1.4551346030472168e+00 -2.7050556763534850e-02 -1.5313633438829632e+00 +2475 -1.7022463415528761e+00 3.1756442391079370e-01 3.5833012589613317e-01 +2865 -1.2819063923009286e+00 -7.3636929440290977e-01 1.4945830153908266e-01 +815 -1.5522790947168899e-01 3.5228538971165574e-01 8.2971897872908129e-01 +1267 3.8976787888785591e-01 1.2420678233670372e+00 7.5314823413391341e-01 +978 -1.6009389921780552e+00 1.6069975364595650e+00 -1.8708866527592871e-01 +1323 -3.4413450066284568e-01 -1.2002838138944168e-01 8.0578918355355286e-02 +940 1.8781483713880549e+00 8.2800274877746471e-01 -5.0701422615186664e-01 +2398 6.9391315206294130e-02 -9.1356452817468714e-01 -6.2590880903189861e-01 +226 5.9609296221412172e-02 -2.8954435484535479e-01 5.1410437911298057e-01 +2190 -1.3649547505831483e-01 -1.6164928007119606e-01 1.8285493752506249e-01 +95 1.2376075253758123e+00 -1.4785776950178009e-01 -1.7573303225156613e+00 +1604 1.0342084902941822e+00 -1.5902593414715231e+00 8.6521410200708726e-01 +126 -1.3610121202132739e+00 1.0169880168501364e+00 -1.8150373967184783e+00 +838 -2.0604334749023775e-02 -7.7732800912676175e-02 1.2398409219244271e+00 +1904 -7.2199107429301967e-01 -5.5838964170117145e-01 3.0118901692931715e-02 +2074 -3.9609249179166844e-01 1.7564509384460392e-01 2.2192140691875811e-01 +1470 -1.9214620290293066e-01 1.4226088975949225e-01 8.7185794511428616e-01 +2147 -5.6515857048632456e-01 4.0255747034102257e-02 1.0997042732594048e-01 +2067 -5.8111430030431732e-01 -4.0823360459222391e-01 -4.2852288715960951e-01 +1515 1.7985230807342545e-01 -7.6198947435560649e-01 1.0758554051286606e+00 +2632 -5.6031877999054214e-01 -4.4032435268309689e-02 -2.0849712695098102e-01 +264 6.5475602386440179e-01 -1.5419675279127629e+00 -7.0495027202286686e-01 +1551 -1.6250348522952742e+00 -7.0804361579461483e-01 4.8699376300570330e-01 +1419 -1.1637464882287030e+00 4.0716513519340330e-01 3.3617963998721201e-01 +522 8.2761725520559515e-01 1.9905813740947493e+00 1.8387998900634177e+00 +994 6.6754537816319837e-01 1.7048260844803140e+00 -7.7726397190757901e-01 +1711 7.2133030450038460e-01 -9.9607085967536613e-01 3.9377546467021962e-02 +1296 -6.8887700296852017e-01 7.8444152690683144e-01 1.1290559685844495e+00 +2199 2.1116296886907984e-01 1.1117688619974186e+00 9.0341411489962331e-01 +1292 -3.7327052609194072e-01 -5.7624690458576355e-01 -3.6715275836438888e-01 +1723 -1.0235145493569271e+00 6.6102304771951070e-01 -8.5994052189726544e-01 +2705 8.1309636380333239e-01 5.8175810047202148e-01 8.0704302635402980e-01 +32 6.9154533459776635e-01 1.8604698393196843e+00 2.7796513346712454e-01 +565 2.9189934197709905e-01 3.3319020144502770e-01 1.4003855042278823e+00 +995 -4.2146057081357363e-01 3.2350764465278831e-01 -1.3867451869083840e+00 +2309 4.1097295517109611e-01 1.0962777622648843e+00 8.8988537340753390e-02 +1137 -8.3861466954706254e-01 2.8426975025518070e-01 -3.7604975418501169e-01 +672 1.5465839660746719e+00 -5.0505044476498018e-01 2.0780852885364581e-03 +1626 4.9412359515692006e-01 -2.4868190508877133e-01 1.6618077156407607e+00 +1138 -1.9942509956902407e-01 2.0455978520809706e-01 -4.3989006420067001e-01 +942 -1.2002951403534616e+00 2.1462733609894604e+00 -6.4972722229091062e-03 +1161 3.6071397394301818e-01 -1.1385549278533704e+00 2.8420504309814304e-01 +1641 -1.1393083409888138e+00 1.8301989421160449e+00 1.1092028356913095e+00 +503 -5.0228973399450505e-01 3.6845840551819509e-01 -1.1695293325299547e+00 +87 9.4808108423761039e-01 -1.4160320522686473e-01 9.2851896112364463e-01 +1071 -1.2544560143622163e-01 3.4106888914153810e-01 1.1126976802931472e+00 +1913 3.2550813861275829e-01 -1.3874031705008012e+00 -1.0134426076458167e+00 +1125 2.8109634072964762e-01 8.8008854244261780e-01 7.0499468933753962e-01 +460 -1.0800627018911637e+00 5.8183790423612394e-02 -9.5790639745262174e-01 +2557 3.1621337325911697e-01 -1.8793153685074168e-01 -1.6766021794093602e+00 +1180 -4.3020686995923235e-01 -3.9828593917410915e-01 6.3602753899232656e-01 +801 -2.4413256145470430e-01 4.4656026292887874e-01 -1.8663637520341386e-01 +1204 9.0345840638739938e-01 -7.6035969017581229e-01 4.9731457354763020e-01 +2903 -8.6023509020519540e-01 4.6156644533495267e-01 -4.7654006244280056e-01 +2072 -8.4006265895085042e-01 -5.6029056648371406e-02 -8.9321592665648986e-01 +1224 -1.1364248531308729e+00 -2.0383157595535528e+00 1.5548999164621594e-01 +1548 -1.0515890643163694e+00 -5.7811620645305029e-01 1.1030397413164561e+00 +1861 -5.8602477426241018e-01 2.2760092595967940e+00 -5.4049712102467229e-01 +753 1.0181219178057321e+00 -1.9330535431407256e+00 8.2876586730427104e-01 +2992 -7.9998183709622261e-01 -2.8595835970971301e-01 5.7917676621878056e-01 +2779 3.3370318450720859e-01 3.4460340301237963e-01 5.0910522568061334e-02 +1158 -5.1878066949564516e-01 5.4668652796001277e-02 -5.8480875405386024e-01 +1198 -8.5154478341924078e-01 4.5915815007921418e-01 -4.8069113368908267e-01 +2648 -2.8214832043760465e+00 -9.2740598166272292e-01 -6.4137105239698422e-01 +1152 -1.3460207222343927e+00 8.3765001640203252e-01 -1.2727040648130936e+00 +594 1.7622278384484984e+00 7.6282020382268528e-02 -2.0749034785495768e-01 +1679 1.4845884251551333e-01 5.5801763134294635e-01 -2.9836077275238293e-01 +1901 4.3020991876875142e-01 -1.5718346765272093e+00 1.3518435691247597e+00 +1930 -1.5644371846537257e+00 5.4793076822411402e-01 -7.7483835046068417e-01 +1248 -2.7275821265337596e-01 -9.0981112804324293e-01 3.1736002634760613e-01 +2120 4.6959310004675681e-02 9.2880119731142596e-01 -3.9787724594519475e-01 +38 5.6584765701462625e-01 8.1437534564433567e-01 5.5305071000804029e-01 +2590 -2.4597760955116513e-01 1.8647963610462095e+00 7.1624156642782710e-01 +2888 8.3939734307028235e-01 5.3523210477944527e-01 -1.3692979093279620e+00 +2221 1.1282507520014977e-01 -1.5107957391488058e-01 -1.2157883061035211e+00 +514 1.9547171287146520e-01 -1.6104687782573184e+00 -8.8817551350338042e-01 +169 -7.5277850832950599e-01 7.8137822268296797e-01 9.2788645567568362e-01 +1377 1.0774589424882880e-01 9.7084188708057773e-01 -2.0818104267716983e-01 +752 -1.1810019012861277e+00 9.9937186592222199e-02 -4.1902106286138524e-01 +1463 -2.4335915635334020e+00 -2.5220108502411465e-01 -1.1544235121032049e+00 +610 1.7775542987859843e+00 -1.8391786306341906e+00 -4.3649633490024986e-02 +699 -1.0532311294079605e-01 1.1184650925321149e+00 6.3687043342388749e-01 +1833 1.2152379957708619e+00 7.7896911831605753e-01 2.7273877099310728e-01 +645 5.8720401238330444e-01 1.4998971784760615e+00 -6.5254281608604725e-01 +469 -2.1300734926100982e-02 2.4063750788550320e-01 -2.9098047671561761e-01 +2543 3.5872567388575238e-01 -1.4500637106111485e+00 1.1238222904656117e+00 +2876 -5.5045574785924090e-01 6.9778188392154450e-01 -2.3756828308427175e-01 +2061 1.6539752393107889e+00 -7.0147425887331816e-01 -2.3568273655366098e-01 +332 1.0689070430025260e+00 -6.0682426542117229e-01 -4.4562785926971138e-01 +346 -9.9049328359801647e-01 1.2106088378903465e-01 -9.3720888030223992e-01 +281 2.0953937219528176e+00 -6.0610992527739260e-01 1.6419082913645483e-01 +412 -3.8815570319101245e-01 -1.0850023842421008e+00 -9.3702645966969766e-01 +818 3.0827208400552286e-01 -1.2692049947971855e+00 1.5604303661123584e+00 +1477 5.5813672696675393e-02 -4.2184690648342460e-01 -1.4518746031352399e+00 +2674 5.6753860189100280e-01 1.5913410676249782e+00 -3.7633879669975623e-01 +57 6.6424284695926039e-01 -1.4664651171404491e-01 1.2275515989393331e+00 +305 -4.1384825707776313e-01 5.0787318347653365e-01 -2.4972246288777256e-01 +1160 -8.7498590647112751e-01 -6.6936240392111523e-01 -2.4431723645749281e+00 +2959 7.9601121806201436e-01 1.1697311120535308e+00 1.6526307355176879e+00 +1554 -2.3254486972554200e-01 5.7491858305410570e-01 -1.1363286420418894e+00 +2232 -1.3686327208209068e+00 1.1942655088667740e+00 3.7206798443895328e-01 +397 1.2773529819556519e+00 4.2208641837990579e-01 1.3498659215145605e+00 +1684 7.9520274577248196e-01 -6.5812035701679761e-01 -5.7735287826655424e-01 +1955 1.5994424542110794e+00 -7.9027988408047189e-01 9.5455573645409286e-01 +667 5.3102108130983328e-01 2.9993349400062430e-02 -9.7793108919751282e-01 +584 8.2557611054583080e-01 6.1231283779982149e-01 1.2651265070967628e+00 +1663 3.7890113930904523e-01 -1.5370618132133220e+00 4.7125446371999480e-01 +2313 1.0996162349326610e-01 -8.3085183868277923e-01 -1.0235132228023407e+00 +1008 1.2166087281833038e+00 8.5207713418568887e-01 -3.1415425379297568e-01 +558 6.5709548493841263e-01 9.7760764356830376e-01 3.2939972324420980e-01 +1850 7.2588703988382819e-01 -5.5957295210814040e-01 -1.8113683990751879e+00 +580 -6.1744935937768819e-01 -8.5945851806971030e-01 -1.3679162940745691e+00 +651 9.5319603737050840e-02 5.8274227898537911e-01 7.7177422395289227e-02 +66 -9.5874948457306663e-01 -6.6012108293535110e-01 1.3904281151716131e+00 +2022 6.8611325233407211e-02 8.7755023006501753e-01 2.4755799080717532e-02 +2158 -9.8879839181065088e-01 -7.0225431146303441e-01 3.5015815765450897e-01 +2233 -4.5989925790316161e-01 -1.4707879667165256e+00 -1.2268932034084610e+00 +2015 8.4643651537304776e-01 1.2714920272834913e+00 -1.8982388678426005e+00 +1716 8.0971685545449557e-01 1.0922262284807944e+00 -3.0089528295709594e-01 +2275 -2.4275250747560645e-01 6.2979593961978875e-01 1.8372974083295694e+00 +536 -1.5822767280837635e-01 -1.4063817495198812e+00 -1.4236303979182213e-01 +528 -4.5931558403854972e-01 1.2159221857475093e+00 1.8690668820550518e+00 +300 -2.0217597115271086e+00 1.0738338004470771e+00 -6.5321153488055228e-02 +907 5.9261099273655582e-01 9.4817360562298170e-01 9.4051605287407236e-01 +2760 3.5750525082160256e-01 -1.0774144714707603e+00 1.9376853596619246e+00 +912 9.6226852794134743e-01 -1.8909316511163634e+00 -9.3147755038745528e-01 +364 -1.1034657485362640e+00 -2.4009013771713761e-01 -7.2814148048726435e-02 +2209 -1.4463073112628586e+00 8.1656869809097671e-02 5.1574126359262462e-01 +1630 1.9928413796241671e+00 2.0351366948510266e+00 7.9394303261592070e-01 +2380 -2.6639551266018024e-01 4.5473621022964886e-02 3.9173965700619301e-01 +2754 -1.3094208401261700e+00 3.0714533078858247e-01 1.5274646417467103e-01 +234 -6.6794377803277283e-01 4.3053573185675936e-01 -8.8743870804348327e-02 +350 4.6015870978773815e-01 -1.3248176976339694e+00 -5.1152446086910763e-01 +739 9.1243183072202028e-01 -1.1066026934821602e+00 4.4123056816185446e-01 +1614 -9.3886954766554065e-01 -1.2126634803861345e+00 -3.5994637340308561e-01 +2530 3.9409837901566447e-01 -4.7231707863862754e-01 -3.7497368136878989e-01 +2988 4.6309482151514730e-01 -1.3040343198136981e+00 -1.6541720059654321e+00 +89 4.3021994931100066e-02 7.8726652658093732e-01 -2.3938832341614669e-01 +213 -1.1926040741161388e+00 8.5135751288296924e-02 -5.7298693989139249e-01 +564 1.3454484405564315e-01 6.8390445936299271e-01 -1.9580406786170620e-01 +1519 1.2268882862451174e+00 1.4207711378219484e-01 1.1232454252401933e+00 +1895 5.8758077139002918e-01 -8.4526677615527701e-01 1.4896971528309888e+00 +1282 1.5275601246728507e-01 1.4060083697686385e+00 2.0769499456778476e-01 +1435 -3.3749531194411292e-01 -4.3075399874758136e-01 -6.1645243571290691e-02 +1647 -1.2676363107612996e+00 -1.7123127707780486e+00 -1.0463444309468664e+00 +1272 8.8489859820106043e-02 -6.7170554963757256e-01 -9.6968628107786259e-01 +2050 3.0789259822326731e-01 -2.7350735292915873e-01 -4.8298929120459944e-01 +2523 -7.3258615006058214e-01 -6.4016199629281212e-01 -7.5771200301598307e-01 +1831 -1.0213357221978356e-01 -4.1642971603448947e-01 7.1582432433899157e-01 +1232 -1.0715724201505505e+00 -6.3375050393603460e-01 4.4962052893040583e-01 +2790 1.6167020390464164e+00 1.0984855247909826e+00 7.3088507494654242e-01 +2522 -6.2945258136364968e-01 -1.6783417201253357e+00 -1.0039131034527875e+00 +1479 -1.6212137702502276e+00 -1.3883847085076220e+00 7.3990168840080550e-01 +2610 -2.4062975122260485e-01 6.0739497243411877e-01 -2.0212885599729646e-01 +2140 -5.3334913314001675e-01 -8.5326965687182832e-01 1.1903496306805186e+00 +2649 -8.0411305185848114e-01 2.1123800156109651e-01 -3.5418152453670540e-02 +936 -1.0600417298608962e+00 -1.3339873882799995e+00 -1.0448542152967246e+00 +845 -5.6849937543473961e-01 -3.9485066556068654e-01 1.1009133043910946e+00 +1403 1.1335880941617515e+00 -4.5169797080296170e-01 1.0243370464015258e-01 +2852 9.0216585287495632e-01 1.4385705839081593e+00 -1.5775026906275352e-01 +780 -4.2731050838665063e-01 1.6032627458515121e+00 2.5320150584924053e-02 +2495 3.9422655022077258e-01 1.2394116762422296e+00 6.1384796478383929e-01 +1656 2.9374973558798878e-01 1.6288508974257143e-01 1.3501180142256755e+00 +2613 -1.0578335242147033e-01 1.7535060806639421e-01 -1.1166338208221043e+00 +161 6.2839047881899168e-01 1.0586315191986493e+00 -1.9202913001585947e-01 +1512 7.9079567456086464e-01 -4.2090515861119360e-01 3.4708116197883537e-01 +1342 5.4417392174184365e-01 3.0337377567101625e-02 -8.7072790534206701e-01 +266 1.6830359142348497e+00 -7.8186422827187171e-02 -4.9456614173801455e-01 +2016 1.2365519000304415e+00 1.7878067886737670e+00 -1.6432830353863656e-01 +2285 4.9732450055929592e-02 2.3080726102192511e-01 1.5458600042782242e+00 +1518 3.7166315099460873e-01 1.4744166539349144e+00 8.9271430133530039e-01 +833 3.9970101076859627e-01 1.6562861520862143e-01 9.8373806597954805e-01 +1665 -1.3437242818571726e+00 -4.6266922867942983e-01 5.7958169415449692e-02 +2235 2.5184346165067567e-01 5.0933201245193449e-01 5.8370492184232148e-01 +933 1.1207861301802644e+00 -3.6210401439168682e-01 4.8219886074347573e-01 +1490 -9.5735010380398622e-01 -4.2676852271182131e-01 -1.0948072946744976e+00 +929 4.3320749393128233e-01 -3.5221162353786820e-02 2.9556151523178881e-01 +2170 5.1907309896684772e-01 4.3971801318745607e-01 1.0266738113738645e+00 +382 -1.4564059710155937e+00 2.0850123498033368e-01 -2.6207274197458524e-01 +901 -1.3841347797970529e+00 5.7292160551990767e-01 1.0011161016032570e+00 +2698 3.3779180891739125e-01 -7.2071354594425707e-01 6.8340457961063106e-01 +692 9.0291408079745872e-01 -5.9009316979066562e-01 2.7741155458079880e-01 +1032 7.3145824659498360e-01 -4.3374205254301174e-01 7.6222798639241884e-01 +2611 -7.0655563203498445e-04 -9.5058323519080989e-01 2.7757328761439739e+00 +45 -8.9098358107702347e-01 -6.0371117966931287e-02 -5.6147096855039946e-01 +707 5.6299263139307920e-01 -1.8453678956549144e+00 5.4779830050100520e-01 +110 -3.5737609636677031e-01 -5.2896875778850416e-01 1.5192806369913952e+00 +2151 -4.4409895129826760e-01 -2.1470333741280223e-01 7.7760100495698770e-01 +1762 4.0101470397641376e-01 1.1184608787797068e+00 8.2052921166956927e-01 +1388 -4.6725895385863220e-02 -1.4453135936516875e-01 -2.0807997743965130e+00 +2260 4.8280731675265198e-01 -3.8301822251588707e-01 1.3804528969482235e+00 +2135 -7.4485003956345153e-01 2.0382977974857197e-01 -6.9637204439044753e-03 +1894 -4.3451592412867684e-01 -1.3431888994342256e+00 1.9866694170602350e-01 +2389 -8.2466832004769830e-01 -2.4670695072900864e-01 4.2783372815870940e-01 +2572 1.5164112413705372e-01 6.4196204802200252e-01 5.7255420085863340e-01 +641 -5.1873481475043093e-01 -8.1643053715257341e-01 -9.2777254556663968e-01 +167 -6.3508898075386433e-01 1.2904652652693527e-03 -5.6381792912146467e-01 +120 1.2733037982344604e+00 2.3990621469608478e-01 4.4048455002793568e-01 +1458 -5.0112571293182850e-01 1.4703548008382672e+00 1.3879846811141464e-01 +337 -1.9956615085018679e+00 -4.9310783064791347e-01 -9.3281471086158396e-01 +1474 5.5516941879431947e-01 -1.3572232243567481e+00 -1.2765144514504598e-01 +797 4.0819434532966048e-01 -8.9916735086520982e-02 1.9240063068551394e-01 +2391 1.4273384572613629e-01 1.1596748655618123e+00 -7.6865094495921849e-01 +926 1.5801176416847555e+00 4.1179115446473263e-01 5.2636904153055564e-01 +1433 7.3822584978084427e-01 1.2702488934765670e+00 -1.7015751796200462e+00 +2858 1.5703812744686780e+00 -1.3935367270856478e+00 -3.3480466002971832e-01 +1817 -8.9553219149551416e-02 2.2835050124762009e+00 4.3965407339668516e-01 +2594 5.3706966332061046e-01 -2.9601929571929231e-01 -6.1833860732314461e-01 +1808 1.2659266213357458e+00 1.5793100986756703e+00 -1.2718523446873370e-01 +2749 3.9144034740139666e-01 -6.4000478304144215e-01 -7.4843208848538356e-01 +250 -6.1510518970230232e-01 6.9939836131591671e-01 1.2406177736082853e+00 +975 -5.5608307465655493e-01 -2.5848455677465494e+00 -1.4812947846406506e+00 +1830 9.3581457589976463e-02 -1.4016227976147990e+00 -1.3297548650070623e-01 +1016 1.0332274535133830e+00 -2.8206261324166360e-01 -1.4167327538157881e+00 +2809 -1.0479437514443724e+00 -5.1188042687589286e-01 4.5314896179766262e-01 +980 -2.7122904151656263e-01 -1.2596789320891286e+00 1.8411685215595961e+00 +1068 2.7841766061865298e+00 -1.2083689013579464e+00 -1.6055679127388982e+00 +2346 -6.4032064490915075e-01 -7.3353297200351064e-01 -7.5484201011167962e-01 +194 4.6784570739010746e-02 1.1147497612252671e-01 2.3284248673590363e-01 +47 8.9162602721068751e-01 -8.2227771988605802e-01 -2.9844078125045775e-02 +330 1.5143155061925546e+00 1.1190764296245537e+00 8.1900347619966452e-02 +1238 -6.7281589840892242e-01 1.2217196206459737e+00 -2.3968817938369504e+00 +1332 5.2031107117856512e-01 -1.1804691999898189e+00 1.8492640185765357e+00 +1448 -2.3624939617553317e-01 1.3270167195196598e+00 3.0761078035002648e-01 +2540 5.8683263768619842e-01 6.0863899366586816e-01 -2.0816231518267840e+00 +2089 2.0448419428894438e+00 8.7455117376444258e-01 2.0570690684255993e-01 +356 -6.2812715455493329e-02 1.7654418596215669e+00 3.5610596604059847e-01 +654 -1.6488621070953922e+00 1.3429867270563736e+00 -1.1015043178534034e+00 +1851 1.0026132344482963e+00 -1.0141390281974625e+00 -1.1329794245291354e+00 +1872 -1.1291005887220869e+00 -2.1865824673977272e+00 1.6394253199442599e+00 +218 1.0752601787837088e+00 8.3453835820583544e-01 -1.7452855971388397e+00 +1444 -1.0014501681816774e+00 2.3739010851624398e-01 4.6871903802959039e-02 +1027 1.3601908574138402e+00 3.6530934801170845e-01 -1.6892812365155765e-01 +647 -5.5264535356612410e-02 3.8383713391578262e+00 -8.2260560441484998e-02 +1847 -1.7240640303191817e+00 -1.0840078239861841e+00 -5.6417658857607156e-01 +788 -3.1076696693324568e-01 -9.3343609021381080e-01 -5.1867938359420507e-01 +2961 -5.2345773604223433e-01 -7.5335778181973856e-01 -1.1479312932002381e+00 +1926 4.4714873893711310e-01 7.3122364458803812e-01 8.0203948078326603e-01 +1970 1.0198911621386584e+00 2.9798607337257843e-01 -1.7494965331218040e-01 +1556 1.0052591496021661e+00 -8.9030492049914778e-01 -1.1962677380754516e+00 +400 4.2015109282078600e-01 7.7421112141652121e-02 2.1847352027669613e+00 +391 -2.1766516004891971e+00 -2.3010076639838917e-01 -1.2769546653402411e-01 +2651 4.0403149600143268e-01 2.0954155964684702e+00 3.7690254708785370e-01 +328 -1.0790362589378427e-01 -2.6964368867422545e-01 -3.4217833181906663e+00 +1130 -1.1648880639085053e+00 2.1649486397117741e+00 -1.3255437881348935e+00 +1933 1.2498133223260020e+00 -9.7428256910446520e-01 7.2940488359755029e-01 +2053 -2.0371391184744252e+00 8.2383939941938344e-01 -2.3510674778730078e-01 +2505 5.3870403455816651e-01 -6.7836701248599418e-01 2.0308716401661320e-03 +1787 8.0763049459490921e-01 -1.2197029924680973e+00 1.4880520630207235e+00 +2843 7.2630072155325187e-02 6.3694963755868139e-01 3.1515282615364859e-01 +1545 -2.6144240327274126e-01 2.0178878253698726e-02 4.4067419953222969e-01 +1761 -1.3362103630183822e-01 -5.9665593549493345e-01 -2.0973101881541584e-02 +1725 -1.2583180540205346e-01 -9.8849759164510398e-01 5.6661876539528999e-01 +1454 -2.2587470949420325e+00 -4.5242125297084584e-01 -4.0648350240535358e-01 +1210 1.1161573906758090e-01 -1.8048865210200854e-02 -4.0270896051335192e-01 +2587 -1.1584272663415210e-01 1.0356390569772561e-01 4.6028184200375311e-01 +2699 3.4422428049430109e-01 -4.1696617639350109e-01 -1.2254066954462219e+00 +1157 -1.8418876268740039e+00 1.7594918774250246e+00 -1.2847235611847688e-01 +1633 4.0023734450500492e-01 -1.0297100548237959e+00 -5.0516759512018938e-01 +604 1.6154294950569168e+00 3.8968949897470989e-01 -2.5742787361976971e-01 +2617 1.5731199323206542e+00 6.9248110748141828e-02 3.6928557200658546e-02 +2693 1.0165680411886429e+00 1.5588073193905314e+00 5.4420128033785109e-01 +2882 7.9787698408717345e-01 -2.9644955271336149e-01 1.9400345926100387e-01 +1100 4.1287102022462385e-01 9.4546404934283723e-01 1.3681622717772486e+00 +2608 -1.3547023315116509e+00 -8.8177923829925642e-01 -9.9314921651464649e-01 +2102 4.0518971541779170e-01 -2.8932202704055909e-01 6.7256629712404137e-01 +2282 -1.6101919729371141e+00 1.6867027199075071e-01 -7.6901241521253583e-01 +2353 -1.3413256058649947e-01 -3.3327430749973752e-01 -8.1054017553379620e-01 +2307 -1.2153354049160985e+00 -2.6411220010166514e-01 8.3263754304322490e-01 +1445 7.3661736322752269e-01 9.1009098627907059e-01 9.3183350612537619e-01 +2664 1.0803377496020186e+00 1.0641810315618441e+00 -1.6006885018401233e+00 +1424 -1.5039797213964696e+00 -3.3873823330280034e-01 1.3765876227027185e-02 +2054 7.6549786840499989e-01 -6.6125699166515040e-01 1.1976760072020260e+00 +2924 -8.6834584048950592e-01 -2.0730224984102189e-01 -4.9931521776884680e-01 +1468 -2.5849473583733071e+00 2.3952845536313741e-01 -1.2303982821603761e+00 +1674 -1.3033156042615093e+00 1.4711915529360848e+00 -1.3659213833269186e+00 +751 -2.2971906892587608e+00 1.6571556472557152e+00 -3.7123063351601066e-01 +2033 -1.1672187659120817e-01 1.2567858630386362e+00 -1.6070425707270035e+00 +830 -2.2435741013870611e+00 -6.1510719630541433e-01 5.3618916747463075e-01 +1067 5.8117284133168667e-01 -6.4424143930932409e-01 1.5959269311021003e+00 +1009 -7.5752255588069595e-01 -9.8316040706810465e-02 8.0475623908781713e-01 +2321 2.5767291703968902e+00 2.1677559201005930e-01 -2.9079592969136703e-01 +1741 -1.1462903537329252e+00 -1.3776574227009557e+00 8.7930054694886170e-02 +2609 -4.4040296987646155e-01 -1.1929372160209644e+00 -4.5671402340898054e-01 +451 1.0192898352539059e+00 1.2271619266096467e+00 -6.8635000823105141e-03 +41 5.6918662365462191e-01 -3.7255530554897143e-01 2.0321091630216745e+00 +1392 3.0211839729570075e-02 1.3932929895778652e+00 -1.1741665302771169e+00 +3000 -7.2632800556035271e-01 6.1858265403395962e-01 -9.3829733525396908e-01 +2762 1.6176642460139463e+00 2.3198111794989051e+00 2.5603970827579636e-01 +567 -3.9419286271883935e-01 8.6830233937380419e-01 2.7381274158084662e-01 +338 1.0215373802788907e+00 -3.2676142586956380e-01 2.7031011237668051e-01 +1335 3.9910188124234708e-01 -3.3217866328068296e-01 1.4765097894068628e+00 +1001 3.8327320888278227e-01 1.1636312223848830e+00 2.4342392670136044e+00 +681 5.0367528218731450e-01 -2.0249207709290246e-01 2.6170669656028667e-01 +1288 5.1383988644416234e-01 -2.7801759247463848e-01 2.2617294739807431e-01 +2802 7.2651292738664974e-01 -1.4647364166720007e+00 5.0805147045713894e-01 +1720 1.9862128624122594e-01 7.5696341518952145e-02 -6.8015814050824797e-01 +429 -2.7989180234101974e-01 -5.2591236815087250e-01 4.2369789411704772e-02 +1785 -6.8676936030799862e-01 -2.2510061089107830e-03 -7.5911049397656238e-01 +1014 2.1240376952972750e-01 1.2782718387849770e+00 -6.6139360212326048e-01 +1922 -9.5919944651118783e-01 9.3624432434581545e-02 9.6458236278931742e-01 +1451 -3.2240109848537363e-01 -6.1124744820045362e-01 -1.4491154300094389e+00 +2376 -1.1950188494160425e+00 -7.6502978637122954e-01 4.5447694250409082e-01 +1631 -1.6134449716815467e+00 -7.8705758676663995e-01 -2.4400920435573057e+00 +2440 1.1847278505685208e+00 8.2581536404082634e-01 -2.0776209135394480e-01 +1565 -1.3932458981362084e+00 4.3953787970968561e-01 -8.3312713556604501e-01 +436 -6.7742892854477665e-01 -2.0253512776044986e+00 -5.1400828094162077e-02 +2726 9.4407680134330141e-01 -1.0046377839588960e+00 1.2966283412371948e-01 +1777 -1.2089032047581147e+00 5.0526609500102260e-01 -1.2418648163130941e+00 +2944 5.6029105072625851e-01 1.0671160172775078e+00 1.4552993001441346e+00 +2045 -3.0227383916345640e-01 1.6114494082742439e-01 1.7858958301714085e+00 +1302 2.9108647363890428e-01 4.4799054702965357e-01 6.3753944117599393e-01 +1947 7.6786855357795294e-02 -8.9397209194549632e-01 1.1345693921175155e+00 +1179 -6.0814436089616408e-01 -1.3790830909749157e+00 2.0407202513871692e+00 +1974 -2.3171681801156419e-02 -1.5137099065593436e+00 -1.9517781829101255e+00 +2090 -4.4181294385650277e-01 -3.2424430076407984e-01 5.5763118884567683e-02 +925 7.7114153964568233e-01 7.9767698922403241e-01 2.8232541154772002e+00 +1937 5.6593587480178587e-01 1.0899356706731589e+00 -7.5454832368957891e-01 +1929 6.7381931748575208e-01 8.1571269081203746e-01 -2.8258158485614110e-02 +849 -6.8076910149459147e-01 -1.3417772390553424e+00 -1.1369062906579335e+00 +2864 1.2354450702508842e-01 1.1175202228210521e+00 -8.4414882535330715e-01 +2101 -1.2419179580147237e+00 3.1695135188469864e-01 3.2023208230264116e-01 +170 1.7171267639342019e-01 -1.3508478065457903e+00 4.1534934509414934e-01 +2740 -2.2997541734597818e-01 -1.4778716347753087e+00 5.9790227275681507e-01 +961 9.9893499793056906e-01 7.0626717213270129e-01 -4.6163335596841309e-01 +990 -7.3335872521641365e-01 -2.5554817599806962e-02 -1.8746432231975889e+00 +1781 -9.6010984717606018e-01 -6.8550085288852292e-01 1.4737790184839022e-01 +2759 -4.0678697040843409e-01 5.9628076643536176e-01 1.5512338438450379e-01 +2289 -7.3009257540269779e-01 1.2541840357665563e+00 5.9706288528580154e-01 +576 1.0498881069316259e+00 -4.5758668113642886e-01 9.7436699693123985e-01 +718 1.3117297745039904e+00 9.2316743354262443e-01 1.7025722018583096e+00 +1897 1.7629386865592917e-02 6.5138180365641285e-01 -1.2355439562791566e+00 +125 7.6716666376579506e-02 -8.4153247124078429e-02 8.4313341699463906e-01 +1793 2.3346326862087530e-01 3.4350656497429272e-01 1.3085238867500240e+00 +2143 -1.4550503347478208e+00 -2.0940260713248077e-01 -9.1745629995597122e-01 +2509 -4.2264654188123568e-01 -4.5195319871073020e-01 4.5061755063509318e-01 +777 -1.6466542062858349e+00 -1.7921904213005764e+00 -2.6406668474336166e+00 +526 1.7110010533379733e-01 -8.5169006944750408e-02 2.8644576105509245e-01 +1857 4.0893561462208722e-01 1.4321837016767587e+00 -1.5488756061302245e+00 +272 2.3412878793376870e+00 1.3398107653604894e+00 2.7356926508199675e-01 +596 2.9223476710689156e-01 3.2564866369817985e-01 -3.9680517889362457e-02 +34 9.6950522836408648e-01 1.0037604863795506e+00 3.5082648093358870e-01 +2253 -8.8799613135765754e-01 -9.2012737714156545e-01 -3.6419615345861095e-01 +2028 -3.7792575083756086e-01 5.1230483491253676e-01 2.7726695383518657e-01 +1624 -3.6748965902014047e-01 1.3964277563256766e+00 6.6295881039305260e-01 +2383 -7.1697818012335046e-01 1.4770074772374140e+00 -7.9376324019547750e-02 +2732 7.3467202618214683e-02 -2.1968989279091771e+00 -1.4400531987758716e+00 +2377 -3.5626752793281420e+00 -8.4483345512340768e-02 -7.5671003697786265e-01 +1552 1.6934193687030863e+00 2.8814517099108850e-01 2.2366369043233281e+00 +717 -1.8856919896741497e-01 -5.4491266195403765e-01 7.5564279808963825e-02 +2030 -7.7391068260357399e-01 1.5034591063379732e+00 1.9337708380017557e-01 +784 -1.0447421914962610e-01 -1.8551041843307400e-01 4.4534552819363249e-01 +331 -2.6159404675737075e-01 -4.9904682536867452e-02 -2.6906777225159256e-01 +2724 -1.1171873824270344e+00 5.3515017802948317e-02 -3.5384241764435209e-01 +1528 4.6039619219563793e-01 -7.5898719807419468e-02 1.2102308056998681e+00 +206 -4.3139055170259094e-01 -1.4802062519984232e+00 -2.7226965915924367e-01 +2774 7.5007144132567161e-01 -1.9510027834563632e+00 4.5874728862005415e-02 +1742 -5.4284338638945211e-02 1.1781267263319112e-01 -1.4138942064816500e+00 +2531 -6.4170657168539080e-01 1.8448145536893836e+00 1.2120113282220963e+00 +481 -1.2813755341322464e-01 -1.9961725980428147e+00 -1.4472153944976607e+00 +1886 4.5165520272742071e-01 -9.5232228848628597e-01 1.1980293296386066e+00 +2933 -1.6361191278228184e+00 -2.3395171603129450e-01 -1.4264387016559063e-01 +2166 9.5565950271339384e-01 5.0863477411652713e-01 -1.6386085892369393e+00 +2840 -5.1158326586253555e-01 -8.1457084734815011e-01 1.3984102284633684e-01 +1303 1.2942530227162863e-01 8.0197935560988132e-01 -2.0652725018882734e-01 +2243 3.2687599863180450e-01 -1.4893933083868964e+00 -7.2554393587245553e-02 +1126 1.0387850237942315e+00 1.8454529051049197e-02 -1.8130549066658980e-02 +54 -1.4287462599517406e+00 1.8024128333241665e-01 1.1125032075897270e+00 +490 4.8400317327758663e-01 3.7126344144412243e-01 -4.2870779436722317e-01 +246 -6.9496767606893739e-01 -5.2338525993628288e-02 2.3247312060578895e-02 +353 7.5539001227893576e-01 -1.8918172370020159e-01 -9.1839477191184482e-01 +1686 -1.2088010895525274e-01 -2.5589121712289098e-01 3.8257825974310322e-01 +324 9.0199969854606166e-01 1.1135877893956030e+00 -1.0488857699821161e+00 +119 5.6964075354500621e-01 1.3207727362241198e-02 -6.3448742294753613e-02 +160 -2.4187758155056671e+00 1.2924349545101503e+00 1.6464864404873669e+00 +2556 1.0097182885851910e+00 8.9030386410416618e-01 -2.2577498026128334e-01 +162 -1.0847591643701187e+00 -1.5033355377391133e-01 -1.2556939593543257e+00 +1467 5.3941997233390837e-01 -2.1840309221999946e-01 6.5960491964171042e-01 +744 9.6597477916595031e-01 2.9232194679325896e-01 -1.5560882166630017e+00 +1167 1.2757835499019539e+00 1.2358094759239349e+00 7.7148320673533166e-02 +555 2.0130809579522722e+00 -1.7533584218052440e+00 -1.8864047731478167e-01 +2250 1.7610548699141380e+00 -1.5765509557816868e+00 -1.6166011782122669e-01 +1818 -3.4821365630738993e-01 1.4765726740432719e+00 -9.5267855767064169e-01 +1644 -5.2074356573275171e-01 4.6852811631637914e-01 -1.6919040107917334e+00 +852 -1.3125138170419608e+00 -8.0642044368078636e-01 8.0660468623614545e-01 +2361 6.7416078166194771e-01 6.8193531953088971e-01 1.5882191508753635e-01 +595 -1.2867447049926040e-01 2.6685796651732492e+00 -4.4468180003204361e-01 +445 1.2867086956044171e+00 8.9017004914425057e-01 1.0499469725918364e+00 +2890 -1.4882564918344723e+00 9.7621450724549064e-01 -1.8778691458872926e-01 +1398 1.4454696108667242e-01 6.4866881651268166e-02 7.6745787529192411e-01 +1201 -3.4809263791114742e-01 7.2704214244315113e-02 1.3210916272566359e-01 +2471 -1.4876540457476777e+00 8.6208870714493036e-01 8.8482481211277209e-01 +767 3.5644368103330376e-01 -1.3415562750289702e+00 1.8271195690204545e+00 +891 -1.0164410359984838e-01 8.0680635383824528e-01 3.4407002388196051e-01 +1202 -1.1213440505726142e+00 -6.1992306484650561e-01 8.5450913143445539e-01 +1478 -1.9311847453118876e+00 1.3275623766584113e+00 -6.0737365958111555e-01 +697 3.2272440570969269e-01 1.0482648524910326e-01 -5.9497717986404630e-02 +1659 -8.7863957525158709e-01 4.4334734068559967e-01 7.3708216471349253e-01 +1900 7.9014048702101780e-01 -1.5155246207490529e+00 -3.0053642706875749e-01 +2894 -9.2099708823073123e-01 5.7057699662636741e-02 -9.2865732699065462e-01 +2957 4.4770053040685370e-01 1.4181151446572886e-02 1.7043931986779457e+00 +1687 -7.5344978560347065e-01 9.5560885221374670e-01 6.9944363913737795e-01 +1311 6.5483577526270798e-01 -1.1293663011223058e+00 -1.3942231133774077e+00 +1678 -3.7417134643410233e-01 1.7423682932197933e+00 1.6032970279898242e+00 +1496 -2.2293852692130217e-01 -1.2082886202058642e+00 -7.8848393049297794e-01 +762 -2.1301240447953766e+00 -8.6609155948740180e-01 -9.4473801741406438e-01 +1582 9.6819116964053076e-01 4.0935502189362302e-02 1.2628775405468604e+00 +803 6.4758689332518438e-01 2.5654191035078255e-01 7.4292100836798503e-01 +149 9.4985709954717257e-01 2.2678316931085035e-01 -1.1098627075900533e+00 +2598 1.5484180831524413e-01 4.4572309546259237e-01 6.9585160332145723e-01 +1778 1.7490008129257100e+00 -1.4120759115946717e+00 3.6113485368737303e-01 +1244 -1.0573200405985836e+00 -3.0223374376738904e-01 1.6839961519271096e+00 +1972 1.1212267240218596e-01 1.8307995795401011e-01 4.8936871413325894e-01 +2004 1.4960040266833172e+00 -1.8993227552378869e-01 -9.5632478885567851e-01 +2148 1.1525066711902408e+00 -7.4477113967603792e-01 8.6273069451120943e-01 +2302 -3.6730919847744131e-01 -6.2295859035968237e-01 1.5661365883591101e+00 +708 7.0624993303338712e-03 -4.8581653686465859e-01 1.5293782398198119e-01 +999 -1.0565709353966979e+00 6.6373473637488456e-01 -1.9983780635459483e-01 +446 -9.6729316250400399e-01 3.6372744001021792e-02 -1.4579072450249209e+00 +2661 1.1640821952189127e+00 1.4381487691344400e-01 8.6160521474042073e-01 +1097 -6.0515531965623581e-01 6.5749008630746575e-01 -1.8065537312756970e+00 +1163 -2.3514186423532131e+00 -5.3107113261433792e-01 8.7970448108986160e-02 +1691 3.6626451654250325e-01 2.8483208658062548e-01 -2.2557329602140355e-01 +1829 1.7821876925953370e-02 -2.2336158985538390e-01 9.6261211842248817e-01 +2955 6.8572883716114830e-01 7.4354023877439257e-01 1.0869187168153216e+00 +309 1.6598879910252193e+00 -5.0275586810087858e-01 -1.0793352689532165e-01 +1814 1.0453450560334689e+00 -1.6575037305784277e+00 -1.0844856564702863e+00 +760 7.7117572917970667e-01 -3.7261691744388542e-01 7.5311384426501105e-01 +1944 -1.0816922534215974e+00 -4.6254479632282469e-01 4.9554942656582598e-02 +2092 7.3683567703665276e-01 1.7111431738783628e-01 -1.1236141607624250e+00 +2990 1.2844689315720006e+00 7.5251492476062465e-01 3.9777628240738705e-01 +544 -4.4519708564045951e-01 -3.1147343426541085e-01 4.1288280081343709e-01 +2633 7.0394236910719787e-01 -6.6874909372471691e-01 6.0161482108675313e-01 +2444 1.7935346994366912e+00 -2.0347746601125771e+00 8.6513760095935588e-01 +2378 3.9142976317055933e-01 -7.3028898211163340e-01 -9.7574057660574795e-02 +2948 -2.3545583745935921e+00 -1.4686273434108188e+00 1.6465567995717323e+00 +735 -1.4877287124018723e+00 1.2438365902134389e-01 3.3390520633104270e-02 +1132 -2.7929297844015549e-01 -5.2921018815094689e-01 -9.1429111775463368e-01 +2049 1.7966162502311727e+00 2.2079530560752803e-01 -9.5329397770028898e-02 +2875 2.2402351406807459e+00 -8.3620197624974324e-01 9.0957967426489461e-01 +1533 -2.3639419644520809e-01 6.6378252733711496e-01 -7.2273859862163981e-01 +319 -8.8211056028644197e-01 -1.3654379124264784e+00 1.0071880414960317e+00 +2798 2.7532814450863119e-01 -9.5663645355424365e-01 7.0295919859142919e-01 +1735 -2.6773786168207514e-01 -4.0922848493068964e-01 1.3395372480617642e+00 +2366 -9.6103963884258836e-01 3.4945954549958969e-01 -1.2018752442896877e-01 +394 1.7977216030126919e-01 1.2059151967069743e+00 -9.3823594978062208e-01 +1683 1.4471410070445712e+00 1.3512227114928221e-02 2.2612572697316746e-01 +2883 -2.6697058042118410e-01 9.9019013459377270e-01 1.2101088286384723e-01 +632 -5.2779919264347153e-01 -4.3872156801371243e-01 8.3055033583146842e-01 +471 -4.8712796944579528e-01 -1.5784910458623785e-01 -6.5016331033968755e-01 +2715 -2.2001362045140510e-01 9.8287375658489218e-01 -8.1859213932090036e-01 +520 9.6482114399172714e-01 -1.2013431813068147e+00 3.5521847924707250e-02 +1057 3.2946876170997491e-01 6.3624106952403181e-01 7.1332737238736221e-01 +210 1.9385234867370291e-01 -2.7843084018801634e-01 -5.8158755158530939e-01 +2113 -1.4275720589150755e+00 1.0062866591666790e+00 -2.3134228572297147e-01 +1251 -5.3954685230030885e-01 7.2604213830663622e-01 1.0614485222550609e+00 +494 -4.9031338317449658e-01 -5.1885397318196835e-01 -2.0184825904561539e+00 +772 -8.1646417558911233e-01 2.9430416655102903e-02 -6.0185796619928311e-01 +2987 7.3955065147107946e-01 -3.0201219110321553e-01 -2.3386643539943636e-01 +1561 -4.3962985472888527e-01 -6.2442409775289320e-01 -9.6378498886879507e-02 +1845 -7.5039564402335579e-01 -7.7774040876797745e-01 3.8401628787877407e-01 +1906 -1.3745760077649125e+00 -5.7516961393075616e-01 1.5443016108248619e+00 +252 -3.1506204557138096e-01 6.9765883088945280e-01 -1.8218418496867322e-01 +652 9.1694161211259861e-01 7.8868509947496324e-01 1.3758063911529144e+00 +2225 -8.3648952735807647e-01 8.6038631229894313e-01 1.2912884942388749e+00 +29 6.9008455247368061e-01 -1.5418360411915575e+00 -1.6335761278866689e+00 +2131 -1.6769712974282063e+00 -2.9253895578739464e-01 -1.1500601025079327e+00 +2542 8.7558547581583457e-01 1.2614132725790319e+00 6.4448645220255529e-01 +478 -1.6463446600549592e+00 -5.4919521292845941e-01 1.0418069021596639e+00 +629 4.4876558866543248e-01 4.5396365654066823e-01 6.9230288574520471e-01 +1813 -1.0608327368326428e-01 1.1763775989285383e+00 -5.2895551239520788e-01 +98 2.3894565775151464e+00 -2.6330076353994092e-01 -6.2638994364003742e-01 +2326 -1.0339553410033177e-01 -5.4887880581677040e-01 2.1546351458832556e+00 +900 1.7714107561719122e-02 3.1774926226074068e-01 6.8714571462004170e-01 +1150 8.2021218213746672e-01 1.7151980326102159e-01 2.3925140736208799e+00 +870 1.1871086508353061e+00 -1.0484941434907482e+00 2.6482270497519544e-01 +521 2.0680251336427098e+00 -7.3673997860749629e-01 1.0844168569682269e+00 +1438 5.8990633249814672e-01 5.1116829790261697e-01 -7.3865293416230959e-01 +1447 -4.6079972626718618e-01 8.4993401884191755e-01 -3.3261975261173865e-01 +879 1.7252819120722223e+00 -1.7977470572177018e-01 -1.1748738236071454e+00 +2332 -2.1316115365048752e-01 9.5864601796690274e-01 2.4534426687985358e-01 +1379 -1.5599007474925703e+00 -1.4679520842299476e+00 -7.6777040274002761e-01 +155 -2.2115493078562869e+00 -6.1743659957055841e-01 -3.9749415199596466e-01 +939 1.1940536867330938e+00 -6.8197901650271486e-01 1.0518828932349440e+00 +685 2.0704532471698385e+00 1.4847018022225975e+00 -5.5446451211763736e-01 +862 2.3191710195049803e-01 7.2895309637244943e-02 -3.5681853386815071e-01 +2532 1.4937825841614090e+00 3.6824377777358813e-01 -7.7282533359778394e-01 +537 1.2143424967120668e+00 1.5523497883216431e-01 1.0369918874521604e+00 +2538 -1.1693116442679428e+00 -9.7528029615061063e-01 -1.0434113517299541e+00 +2265 3.7398159050045843e-01 -4.0269786556962905e-01 -8.5025630656735574e-01 +2630 7.5642456034375027e-01 -6.8920871729879651e-01 -5.6771251499588826e-01 +101 2.4364803377574882e+00 1.7309863512000694e+00 1.8722073862278144e-01 +792 1.0678589178648665e+00 -8.2238860967703820e-01 4.2002731624479345e-02 +13 -1.3565855454805626e+00 1.3724802791329431e+00 -3.3082515449809602e-01 +2397 1.9821024921737607e+00 1.5073164136405321e+00 -1.1636943754195870e+00 +1371 -1.5075496315747754e+00 -2.2084731781246492e-01 -2.3857518435254715e-02 +2340 -4.7137072954365933e-01 3.7838430982890275e-01 -7.4992861189485238e-01 +868 4.8533211501302637e-01 1.5153098194561947e+00 5.7184812467366930e-01 +2462 6.1405065395674696e-01 -4.8536412040118604e-01 9.3780825245768951e-01 +1043 5.9825022613708301e-01 -6.4950520813323331e-01 5.4340767775257870e-01 +2559 -2.2307205212814987e-01 5.0467480450415866e-02 -1.5701779608246924e+00 +2263 -5.4611840490512620e-01 2.3506813063203564e+00 9.5762956324422388e-01 +2176 1.6028304026343212e+00 5.5124336855359723e-04 2.3242320874590799e-02 +222 -3.8016386290805870e-01 -8.3003373390090951e-01 4.1669302311864836e-01 +794 -8.3615548418820837e-02 5.2827548304453686e-01 2.3988642825946332e-01 +107 2.5707172217335006e-01 3.1596408237036305e-01 5.9804474981491185e-01 +2680 8.5376396295086010e-01 8.1338979398137201e-01 4.5270142303964461e-01 +457 -1.0827311006035010e+00 1.0165759131677328e+00 -1.7206855545859496e+00 +1880 -1.1520084127011814e+00 -1.6090918588187784e+00 5.8187417528225027e-01 +2310 -1.9115534152898432e+00 -7.3698286784908618e-01 9.6834390650913349e-01 +73 -4.7238239993312114e-01 2.2561179543788745e-01 -7.7894178154077887e-01 +2454 -7.4310250428565550e-01 4.6357521952917669e-01 2.0264086639379694e-01 +789 -1.0244030353112417e+00 -4.1278863085345263e-01 -1.8729986094502593e+00 +418 2.9753251245225010e-01 -4.5080612630225406e-02 -5.6925777270508859e-01 +1083 -2.6194664380679117e-01 3.3033604331533689e-01 1.7557425858212945e+00 +2972 -1.7009548144980573e+00 9.5001640309097579e-01 -9.8368750813558770e-01 +2034 -8.8370524106156012e-01 1.9633480608310614e+00 2.1592550807954114e-01 +458 -7.0077926844845928e-01 1.9614809647308200e+00 9.8453246006714956e-01 +1494 -3.5747206660597039e-02 4.5019023422963628e-01 9.9018710465769932e-01 +379 -4.3309645981619010e-01 8.7886255196717156e-01 -2.1583792426046677e-01 +20 9.1728993678260290e-02 2.7046367606747914e+00 6.7528813332387150e-01 +1568 3.9291384792049344e-01 -2.2594878257229896e+00 -9.1958741155904167e-01 +1416 -2.5804207968763482e-02 -1.1667868752793656e-01 3.7536156832195744e-01 +1782 3.3525947403270057e-01 -7.1368350733152341e-01 -4.6298325581323613e-01 +1632 1.2375215002218929e+00 1.5786776849571499e-02 1.1696309313146194e-01 +628 -1.0455216475894129e+00 -5.8744920685196755e-01 -1.3964188660013377e+00 +1366 1.2511333881633918e-02 -8.7830059858501963e-01 -3.7599129616636640e-01 +1247 8.0381574363849184e-03 2.7937430450597367e-01 -3.4202963523706886e-02 +401 -2.1290322760148139e-02 -1.8537526687239998e+00 -9.9378672889971043e-02 +2283 -4.5958117136313481e-01 -1.8895453538010605e+00 6.6188926688676181e-02 +550 -3.1535181897323072e-01 1.7290729830928458e-01 -1.3422766001359279e+00 +191 8.7482006370501519e-02 1.7213935133265776e+00 -1.7174331265716321e+00 +1875 -3.9501043727854068e-01 4.4122518445071296e-01 1.6910933226002706e-02 +1863 -1.7995515739653631e+00 -7.3898701664000110e-01 3.8919164070975165e-01 +627 1.3433322450689911e+00 4.0169877586123076e-01 -9.8279218148411396e-01 +220 6.2375104391334335e-01 6.2459627826148745e-01 1.9894460470946680e+00 +1426 -3.8851942974593698e-02 1.5860609170016291e+00 -5.9128181968887406e-01 +2414 1.7146565799523492e+00 8.9020418088454334e-01 2.3022370447786611e+00 +1699 -5.5695742519514124e-01 -7.8915215426155561e-01 -1.5574012325893076e+00 +1265 -6.4786885104986902e-01 4.9118253779455423e-01 -1.4491040655066010e+00 +1760 -2.3332879594160554e+00 4.2089138199641773e-02 4.8989764150505571e-01 +2625 -1.9006030706079775e+00 -1.6490359838276597e-01 5.5147532300766222e-01 +1603 -6.7042401475790414e-01 -9.5328424913607934e-01 -1.0496638287280324e+00 +219 8.7963042479041365e-01 -6.4525352114479784e-01 -1.8687215887767328e-01 +546 -4.0077759194678292e-01 3.9195316471800634e-01 -8.5108305233354387e-01 +2430 9.5946640435623831e-01 6.0283835216360687e-02 5.6982557806883005e-01 +1576 1.7143569386116171e+00 -1.0611570031408629e-01 3.0087006628893707e+00 +225 -2.4492565584215198e-01 2.3968346100893739e-01 4.5025323964333307e-02 +1583 -8.5045935354123497e-02 1.1197750358980043e+00 -2.8906794653904677e-01 +1391 -7.7505078158581897e-01 7.0812682370606783e-03 1.1408985230344901e+00 +257 -1.0707685098102360e+00 5.1496209705708540e-01 -6.7969972555874142e-02 +404 -1.1777588856605286e+00 -5.0529764567680946e-01 -2.2434998086368996e-01 +1635 -5.5431895362828543e-01 -2.3478029003871792e-01 5.1085145982879510e-01 +2180 -1.0422672903972949e+00 -6.4113600816158134e-01 -7.9162049513715915e-01 +2534 1.7129967034395035e+00 4.2729091779020983e-01 -1.1343198601369173e+00 +1449 4.1829763244704721e-01 2.3827943645834759e+00 -1.1287150666844215e+00 +2697 2.3298020383469042e-01 6.7304189956337968e-01 1.6599679219142081e+00 +977 -1.4340740223048147e+00 1.2481608119471252e-02 -1.7906933615499763e+00 +2298 -3.7321517005317312e-01 9.9023910201307741e-01 2.0762203941804622e-01 +2252 3.5865884360012001e-01 1.9619400737950710e+00 5.0190161426745983e-01 +1675 5.6956699438406411e-01 5.6634872797752078e-01 -1.8758555798031171e+00 +2596 -1.4345975784710063e-01 9.7102891912581901e-01 1.3762484240702324e+00 +566 8.6307495332850337e-01 -1.2439074625718403e+00 1.0416477156897210e+00 +2094 5.3200188990361066e-02 -5.9962566209228707e-01 -5.9830299300883905e-01 +1773 1.4729931142602044e+00 6.5805889612712287e-01 -1.4452441052157146e+00 +1843 -1.9579308689588654e-02 6.1467784164306571e-01 -1.1785374067674130e+00 +2246 7.0624150850323064e-01 -2.9657685535722184e-01 -3.0318660982413809e-01 +1425 7.4264783852367922e-01 -1.1222029563070588e+00 -6.9880111066170669e-01 +247 1.0423502393233935e-01 -2.5775437491878711e-01 -1.3512415944540448e+00 +1824 -6.3746682010399713e-01 -2.6809112524848883e-02 2.0042635765282277e-01 +1178 6.7359544831680440e-01 -7.9835042652530441e-01 -2.9139487265912845e-01 +1852 1.1836154633259141e-01 -3.5284615297029115e-01 1.0788581340634829e-01 +1197 2.4877367155915766e+00 -9.8902584340135558e-01 -1.3796677026048323e-01 +592 1.1177567665656067e+00 2.3249793160486432e-01 -2.2806429990936605e+00 +2742 1.1060958493938542e+00 1.1051126675234821e+00 -8.4091578358396546e-01 +1345 -1.3424041090428013e-01 -2.8622236785462135e-02 7.4466010381393288e-01 +1462 -6.4027848907329454e-01 -5.5087029187473324e-01 6.8386850947561739e-01 +2449 1.7191393323244160e+00 -4.3549482515866000e-01 -6.0282516661078933e-01 +1367 -1.3222867483010869e+00 5.0276763724051854e-01 1.2160298397648388e+00 +461 -8.2948215772351874e-01 2.5584393946401773e+00 -1.2540565911223258e+00 +185 4.3509072545792787e-01 -8.0904429191535598e-01 -9.3179012700091246e-01 +1909 1.8990940242811838e+00 -9.6493918031671622e-01 -1.0163947045711095e+00 +2188 -1.0660645922314749e+00 -9.0564551170487051e-01 -6.0579455632484769e-01 +2700 9.8694895845394726e-01 1.9920852341028317e-01 2.2538812647416664e-01 +848 -6.7022009673349192e-01 7.6981959808683431e-01 -1.0601552833228904e+00 +578 4.4822868262569870e-01 1.2433130094309086e+00 -5.1047109986576455e-01 +545 -1.6911411472894655e+00 -2.3675120294568894e-01 -5.3036848714129248e-01 +146 2.8589743379358872e+00 1.5514470720087949e+00 -1.0575429262983567e+00 +1834 -1.0599336422787571e+00 -4.6203145135264651e-01 1.0161093168191973e+00 +2352 -9.1285708182307568e-01 -6.1788480487201136e-01 -1.3318471126657494e+00 +591 -4.6501419943294336e-01 -2.3419023155972023e+00 3.0869214186310823e-01 +232 -2.0966041264303539e+00 -1.9980111275826506e-01 4.6514449199982028e-01 +2303 4.1605004880103147e-01 8.3696436948879160e-01 -1.9588589109339749e+00 +554 2.2701089015552594e+00 -6.3554067599677455e-01 -1.8611017797202545e-01 +2928 1.0063931563017359e+00 2.6882943372973894e-01 -1.8150111324489571e+00 +6 8.0852822269646318e-01 -1.2592374615274184e+00 -6.9145928360896092e-01 +1698 -1.7850999926067943e+00 -6.6134049150549346e-01 8.5703711307022457e-01 +1052 -7.0366413526413962e-01 -7.3373857124345498e-01 1.7610472127422965e+00 +2316 2.9331954669352595e-01 3.1618750650151589e-01 9.1181488750743422e-01 +1771 2.3995422355255291e+00 1.1897273431704376e+00 -1.1343664287350977e-01 +36 2.4426473788044523e-04 7.4165315422521805e-01 -7.5424094191795543e-01 +2358 1.5409613602682120e+00 2.2575144086404602e+00 -9.7552597931007490e-01 +606 -2.2369338228235730e-01 1.9316256887824110e+00 6.0849914178296682e-01 +1299 -6.1836798830848183e-01 1.1490492899907512e+00 2.5949287086958361e-01 +12 -1.8923293197166347e-02 3.7746386958104555e-01 -6.6248726246419998e-01 +1740 6.0899512473965234e-01 -8.2103425842127753e-01 2.6345132178897457e-01 +1278 -7.1076748499873654e-01 1.1286400795998146e+00 5.8393443641355625e-01 +2465 -7.0272248485288680e-01 -1.0832636633209369e+00 8.5146454102187286e-01 +151 -2.1045406281261789e-01 8.7557580066055768e-02 6.9855895702268100e-01 +2545 7.1957291672065560e-01 -7.8768067725738844e-01 -2.5861973172767894e-01 +725 -4.1487944049324543e-01 3.8186181060886132e-01 -1.2021120448790192e+00 +1562 -6.2006949971575098e-01 1.5790409859266026e+00 -1.7231169015274521e+00 +1131 1.3296705923641710e+00 1.0659381944794941e+00 -2.1740666076120911e+00 +362 9.9164301627150464e-01 1.3742233975310698e+00 -4.8803447293180746e-01 +682 2.1584410074264260e+00 1.3981169577881822e+00 -8.2924347278634430e-02 +1754 4.1933165888727073e-02 -2.7047202161528106e-01 8.1758741492023546e-01 +1734 -3.5692886124282891e-01 -1.9782483435249829e+00 -2.1789432776373983e+00 +1090 4.5102563740519142e-01 1.3680892511519018e+00 8.0899198709346823e-02 +2096 -4.0200649527516785e-01 -6.5434498498220084e-02 8.6640730453076598e-01 +1002 4.1735923438640982e-01 4.8049877307630390e-01 1.5639739656300145e+00 +1133 -1.4799466985486401e-01 1.2815578958186280e-01 -7.6917397019942180e-01 +1168 1.6267121844534335e-01 -5.4630435396354982e-01 6.0738530299628446e-01 +770 1.8826951702463629e-01 7.7595700872878681e-01 2.0571225865447423e-01 +948 2.1927701328419413e+00 5.5094791030369661e-01 -1.6909763091168095e+00 +1404 6.6638562245347788e-01 -1.5506523569611257e+00 -5.8812916183271474e-02 +2687 -5.6433107645631719e-01 -4.9841559117951267e-01 -5.6692022453294494e-02 +1966 -3.5764477477596868e-01 6.7956634327289933e-01 4.3470858824083775e-02 +1093 5.2880600952634782e-01 -1.3046063088788460e+00 9.2354256130744417e-01 +1593 -7.4470430155537826e-01 -4.8763045367416957e-01 -1.5035022254134347e+00 +2631 2.2781343872511255e+00 -1.6845595232244401e-01 -1.2088994933112121e-01 +2513 1.8976644479467830e+00 1.3389977492886087e+00 -1.5735888374648350e+00 +1727 2.5168397282463424e+00 -1.1971889246590187e-01 -1.5898865517519656e+00 +2472 6.7343304945596177e-02 -2.5517182253103043e+00 -1.4620586102702049e-01 +269 -1.9124303930684228e+00 -1.5863025719706845e+00 6.7335781074558643e-01 +2107 7.7950972936749308e-01 -3.9020784183279494e-01 -1.1122970779120656e+00 +1415 -2.3136810581585734e+00 -2.9343037443848200e-02 -1.6917746572608530e+00 +111 -6.0528642807755639e-01 -6.5035492237366810e-01 -2.5979916161377281e-01 +1859 -3.8455780662267181e-02 -1.5220233495567415e+00 7.3993971996766039e-01 +1807 9.0264060897134679e-01 1.3008353538522477e+00 -2.6598999632087644e-01 +2039 1.0479957360832186e+00 -2.1136767696305765e+00 2.7465244234146124e-01 +493 4.8301669604019326e-01 1.7566199955743786e+00 6.2115037573560350e-01 +1738 -3.4055049563451822e-01 -1.4937235379865119e+00 8.4879282058111971e-01 +877 3.9137403962354700e-01 4.4993006192230811e-01 2.9094191679082976e-02 +1236 9.0015477129096744e-03 3.8149965022031501e-01 7.5032013528423114e-01 +2548 1.0127061769025298e+00 -4.2521470441770137e-01 1.1643600466678097e+00 +2504 6.4445801320981810e-01 -1.8520382188001536e+00 2.8215335803737429e-01 +1006 -1.7513012685459545e-01 -6.1871369721889435e-01 -1.1312452231603052e+00 +2320 8.1467450059819091e-02 2.0793162129427351e-01 6.4954409009152092e-01 +1855 2.0839802375247114e+00 -4.4962184099266067e-01 -1.3290202206814453e-01 +1914 4.7012920836616306e-01 -7.1353165806028385e-01 7.8118706255509673e-01 +1962 7.8253177463076828e-01 4.6886527250388271e-01 5.4465743108119280e-01 +690 -1.2706114209457298e+00 2.5610517710509367e-01 4.1680269727065433e-01 +2269 5.7205571477571437e-01 1.9275529629099383e-02 -5.2493919687838109e-01 +1534 5.0169209884576449e-01 -1.3398798930150964e+00 4.5877285971713833e-01 +2192 1.3333339574758332e+00 -3.3633741939003170e-01 -5.3981665148436997e-01 +703 1.5854822690050363e+00 -2.4218669090829287e-02 1.2198144423296339e-01 +855 -7.1365501775795104e-01 7.1533536136260223e-01 1.7324884108811156e+00 +2867 1.2024714184358256e+00 5.4938163387249950e-01 6.2955523709245054e-01 +2304 -7.2917459435777865e-01 -2.3628123998095968e-02 -1.0158349612270487e+00 +1600 -3.8211721515770111e-02 -7.1091986927088979e-01 2.0188157339158552e+00 +2881 2.3360218094134411e-01 -2.3232119944362528e-01 1.7244336036686594e+00 +809 3.2165331884904652e-01 9.9729049349924126e-01 5.8191546608889255e-01 +2688 -1.5017310579721534e+00 5.6380851485588468e-01 -2.9138467479521424e-01 +278 -2.3455481244454285e-01 -1.5719124665759823e+00 1.0193378332380527e+00 +1597 2.0223205695997504e-02 -1.1144813995578682e+00 -5.0891070715420067e-02 +1694 -1.3793124646610373e+00 -9.0198767829896176e-01 8.9546679926584294e-01 +1832 3.9990904105879882e-01 -9.4182977829607717e-01 2.4377436012751597e+00 +122 -1.5573026109101604e+00 -1.3180116460311453e+00 1.4369822578247873e+00 +822 -1.0432661976907913e+00 1.1528321321031940e+00 6.7468384477737875e-01 +2999 3.1889280278486434e-02 -1.9943857045315547e-01 -9.6357720994013230e-01 +1051 -4.7609596002585625e-01 -1.5388134252758001e-01 -2.1570973315730786e+00 +1751 6.5152325080933282e-01 1.8936058135367947e-01 -1.0054987808765593e-01 +2952 7.7646985774808575e-01 -9.5869426690445725e-01 -8.8590739873234148e-01 +916 9.2044244518085350e-01 6.7493134701536350e-01 1.6984659950430003e-01 +2551 8.8474595367183551e-01 3.5379330233282807e-01 -7.9902582218581164e-01 +844 -1.4287874366013102e+00 1.0787929678796475e+00 2.4439956371865246e+00 +153 1.0283453271764771e+00 5.3634646860840030e-01 1.4608774803415383e+00 +2926 3.1925102248331491e-02 -8.2063823786264201e-01 -2.4482412667893962e+00 +1493 -3.4075328846293063e-01 1.5581185858267524e-01 -3.2973626691970653e-02 +737 -5.8534959383123897e-01 2.1867023590950718e+00 -9.9408060767747841e-01 +658 -1.4354185539936484e+00 -5.2618256756857562e-01 2.9427269372706955e-01 +2845 -8.4741976519522744e-01 9.5773023901856616e-02 -7.6529328156975329e-01 +599 8.5481986248196606e-01 6.1024192072798833e-01 4.4241562499392340e-01 +782 1.7735578822200944e+00 -2.0834633511557338e-01 -7.1047559421915019e-01 +2685 -8.2691679966416687e-01 1.1260081053726008e+00 -1.2491682667183306e+00 +2558 9.5317234218597124e-01 -1.8328476020812612e+00 2.7165073407559015e-01 +2341 -1.6863877614321592e+00 1.2151986962205905e-02 -1.3802249278735466e+00 +1466 9.1764176343356940e-01 -5.6582288136841208e-01 8.4645804984794126e-02 +524 9.5004586627127752e-01 -1.0229841863663838e+00 -1.6984848373831063e-01 +1101 1.0689863416746019e-01 2.9230535788581030e-01 -1.0729954317752814e+00 +1300 4.9262257496573342e-02 1.9416078307330593e+00 -4.5078142456757830e-01 +386 -6.5499715882219212e-01 8.2120948629976986e-01 8.5408056162329482e-01 +414 -1.2450021061516048e-01 3.6868781415095364e-01 -1.0147395945608917e+00 +507 1.2312845076664336e+00 1.0615380426522598e+00 -3.6978974116870289e-01 +2162 -1.9337417797950445e+00 -9.6339811092588667e-01 -7.3706605532119984e-01 +1153 -1.4953748619175542e+00 3.9099092771052296e-01 -3.4069792839285706e-01 +2735 1.5843769325236068e+00 -5.1567004161367247e-01 -8.4516492286256184e-01 +497 -9.9137246604161189e-01 -1.7446408980252159e-01 3.6738304103096853e-01 +1114 -2.6181672554702656e-01 -6.2609240029972213e-01 -8.2788673734242990e-01 +981 2.7217961285817338e-01 -7.1957450905298503e-01 -2.0354685192360203e-01 +2146 8.2299718939949185e-01 -1.5592590525422059e+00 -1.3471810572211138e+00 +603 3.5356816154190707e-01 7.1682720561037971e-01 -1.8718654027677731e-01 +2106 1.2005207148963246e+00 -6.2969266825248205e-01 -7.7176257127325298e-01 +2501 1.5032965472320137e-02 2.3289803229595160e-01 -1.1641002922114241e+00 +2537 4.5059962695740230e-01 8.2121051059111505e-01 -1.4889394856241940e+00 +2256 -9.7440702983941543e-02 1.1709725175106047e+00 5.5562495585535471e-02 +1559 1.5951550627032016e+00 -1.0734516547199588e+00 -1.4635182200961325e+00 +1984 -1.1749427843945115e-01 -6.7386039913484352e-02 4.2682080956932877e-01 +2138 -3.8766770921392524e-01 -1.6483037335856698e-01 -7.5454326685860440e-01 +688 -5.7997189228663548e-01 3.3204993506411340e-01 -2.5711741459919096e-02 +1651 -2.3022670257720310e-01 -5.1498455187131820e-01 -3.3252359783430702e-01 +2367 1.0116789589567650e+00 -1.7308817504897691e+00 1.5663952937209444e-01 +541 -2.9437363446796050e-01 1.5005752125246301e+00 -1.9123371266024186e-01 +2429 2.3904003136389562e-01 7.3513820641994598e-01 1.0217304102350404e+00 +1218 1.0546048170423505e+00 3.7652709254491856e-01 -1.0521996305299259e-02 +80 -5.1422249925866970e-01 3.7948060702207131e-01 -3.9067372435398751e-01 +2515 8.1957441938712805e-01 2.3931089906578037e-01 1.6360517475127465e+00 +88 1.4012811516481698e+00 1.2354043296539459e+00 2.3897296234475375e-02 +2110 -1.2827604266463566e+00 -2.0577960120176630e-01 1.1382229083221489e+00 +2108 7.0483303959022814e-01 -5.1255265906481606e-01 7.1782239234091483e-01 +59 4.5794034427073860e-01 4.4937046317070994e-01 -5.2834094369253459e-01 +1423 7.0973237287173074e-01 2.4476973340035088e-01 -6.7393710950687102e-01 +670 -9.2879097394053645e-01 -3.4234318444531384e+00 -6.3374434774565680e-01 +663 -8.9723367542817267e-01 -3.6498085053279572e-01 -1.7419995631195502e+00 +121 -8.1334619540734931e-01 -3.9737769550847568e-02 -1.5567899970947159e+00 +365 -4.8306949962670642e-01 -1.7265370608781125e+00 -6.9218701141115413e-01 +2468 2.1317848062578739e+00 9.0990001742978222e-01 -9.4034432654962707e-01 +577 -8.0327979890916745e-01 8.9232305803208856e-01 -2.3725603231632683e-02 +2635 2.2083171514153294e-01 -1.2778079349562665e+00 -4.4263615331466588e-01 +890 -7.7634823772703809e-01 1.5552158934817198e-02 6.8222069741295199e-01 +1193 7.8237740562050473e-01 -4.2378391900834667e-01 1.7814644971991367e-01 +48 2.5509633080943633e-01 -9.0417423755196458e-02 -1.3955952319010438e+00 +588 -4.8727590682076477e-01 -2.1689079555695154e+00 1.3575336373095717e+00 +2976 7.1822310421889535e-01 1.5573572639614561e-01 -3.4377997275389371e-01 +799 -3.9613017793205552e-01 -7.5742328713080920e-01 -1.9182229801731926e-01 +825 7.0935290429546521e-02 8.7595763896746237e-01 -8.6186615994743487e-01 +1230 -2.0607768194553769e-01 -3.8041312268379429e-01 -1.0463536915662057e+00 +2529 -2.1474573272143604e-01 1.1830281396762499e+00 4.2554014290161188e-02 +17 -1.8698978258869503e+00 -1.3588966337464132e+00 -5.4140025586260898e-01 +2055 -9.5668585255110294e-01 2.7721701523758113e-01 -6.8991763805864725e-01 +1588 -3.1224166704207834e-01 8.4344091644426789e-01 -5.1485569839593892e-01 +622 6.2092284952128241e-01 -1.6481652791565717e+00 -1.2531400444712402e+00 +2395 2.5026499447811712e-01 3.7643018871704986e-01 4.0254103830746679e-01 +46 -1.7659849450558707e+00 5.7379221831446968e-02 3.8803687897087752e-01 +1804 5.5168867872330429e-01 1.0283314772092831e+00 -1.5662740909899611e+00 +2161 -1.1803393216275496e-01 9.6436910439808607e-02 5.9055068167537937e-02 +740 -1.8017762123932891e-02 -4.5674257318337852e-01 -9.6859479796028425e-01 +2836 -4.4886339990774560e-01 -1.2073202620806385e+00 2.3946645192505236e-01 +2524 -2.8209439383514140e-02 1.2268819580790893e+00 -4.3006417617552295e-01 +473 -1.9900480663144349e+00 2.2612998606234666e-01 9.5624063121485392e-01 +1987 2.4614732432822319e+00 5.2335720151027854e-01 -4.5289819925679770e-01 +2803 7.2411184899640313e-01 -2.5191725959663303e-01 -6.2008498865304976e-02 +843 -7.6614882751074787e-01 -5.3151014283150766e-01 -3.5596986460634333e-01 +1524 -7.6010362527841935e-01 6.8389504988062777e-01 1.7697679275574403e+00 +2755 -1.9891397437338292e+00 -2.1002146718574353e+00 -2.3036151223677560e-02 +617 8.0072400620078565e-01 6.6386394531988346e-01 -4.3486458655585913e-01 +2764 2.9734837623125534e+00 6.0634870036119015e-01 -2.2191901311367032e-01 +369 9.2698913586000242e-01 -1.0790884269709196e-01 1.7564465304617676e+00 +1078 -3.5938050560812562e-01 3.9465639817721965e-01 1.9164691347156237e+00 +1846 -7.1198172667686410e-02 2.2775416051666617e-01 1.1747575269070305e+00 +1091 -6.8088658228601617e-01 8.8930604862970308e-01 6.9432413408434013e-01 +51 1.2202011865618609e+00 -7.6215904369167109e-01 -7.5304202307941126e-01 +1546 -2.1524992898296497e-01 5.0345157137841379e-01 9.2697580341773178e-01 +1411 -7.2610961335207991e-01 2.6800643432597049e-01 1.1871375978236030e-02 +1497 2.1562283062078688e-01 1.5752874990737895e-01 9.9348880744395762e-01 +2257 -1.7510539100744138e-01 -1.3515309173040140e+00 -1.6425194629067454e+00 +722 -1.6498152316242509e-01 6.2178027025963123e-01 9.0871577826165706e-01 +1775 -1.3443079481705786e+00 -9.6049588251215412e-01 2.0998189973737502e-01 +11 -1.0959367058637459e+00 -5.4241366271999891e-01 -9.2797478541518919e-01 +1343 -4.8436919817479795e-01 6.1506053695869853e-02 -4.5558702685755170e-01 +2750 -2.0992583293254028e+00 1.1086366483839574e+00 -2.5643141219581991e+00 +1171 -1.3660377560400723e+00 -5.6153888578064015e-01 -6.4754086743073891e-01 +915 9.8106644978478574e-01 -1.3899128397977756e+00 1.5748836624267843e+00 +1237 -1.0061341864029613e-02 -6.7484510262816522e-01 9.9943528427554462e-01 +2323 -2.3375626878860674e+00 -2.0476234940596369e-01 1.0345985622584528e+00 +2396 -8.8081477971432232e-02 -1.2903377024715053e+00 8.2578747751327086e-01 +511 -2.1437212193339636e+00 -3.0234086084411671e-01 -8.2241406942700393e-02 +2675 4.7368176823612385e-01 1.2539030383113805e+00 3.6451590546645107e-01 +2254 -1.3987116832838216e+00 7.2856028611822965e-01 -4.0737861667319769e-01 +2422 1.3884251973083034e-01 -1.9719545414489859e-01 7.5598242178534569e-01 +1916 -3.2402412864873525e-01 -7.7356619718881259e-01 -8.8586930585543089e-01 +463 2.9590383453729602e-01 3.5331894653071977e-01 -4.4187673684745132e-01 +434 1.0996699993098060e+00 -1.9597236177767434e+00 4.8653346375170869e-01 +2702 1.1163491928817355e+00 6.8688518816827759e-01 7.1305797895906214e-02 +2473 4.8438652123613912e-01 2.5013297989680827e-01 -8.8576133806677415e-01 +2665 -1.0855674296367539e+00 4.7037495636966742e-01 7.6523535138425047e-01 +1673 1.0138158986677401e+00 -1.6259143298926484e+00 -7.9892277673522727e-01 +1819 -1.1864778909855298e+00 -1.5691209052646191e-02 1.4857927421332329e-01 +1564 -2.0339273579692910e-01 -1.0416321080646820e-01 -3.9354050813107257e-02 +689 7.2879187699166392e-01 1.9269469521518884e-01 5.4901483939293760e-01 +2856 1.0290878907228984e+00 -1.0769741950217333e+00 -5.9045517764779998e-01 +1640 6.3704166702444875e-01 9.4160036045247064e-01 2.0959262625406918e+00 +129 -3.7393171797391864e+00 -1.2813501975317776e-01 -3.9561172696129759e-01 +2195 1.2510070702805867e+00 9.6292194428536357e-02 -1.4544083704370636e-01 +368 1.6775819541648405e+00 -1.8053706155215707e+00 -8.1308425549196750e-01 +2144 4.9024304565714782e-01 -4.8186958225718574e-01 -7.6676997934389857e-01 +2372 7.9323198562128849e-01 -3.5928212031477630e-01 -9.7850939275450877e-01 +2299 2.2848693246389802e+00 1.2305389339569544e+00 -1.1960062594727878e+00 +1946 -2.0099808348587045e+00 -7.7958801818375245e-01 -1.2359830821686493e+00 +973 2.7084189883007803e-01 -5.0935167186563457e-01 -4.7168538187643111e-01 +3 3.5726340676893609e-01 -4.1120058363179490e-01 -1.5478470588646649e+00 +482 3.6098440818374705e-01 -3.0211903705645415e-01 -3.3200218388450325e-01 +2182 1.6443781481875042e-01 -1.8284080676637282e-02 1.1657569677943154e+00 +133 1.8871601632916543e-01 3.9769954202930946e-02 2.4249876968923043e-01 +1318 -6.7363070558526561e-01 2.3448725074193337e+00 -8.1846269587331211e-01 +1321 1.5928763735771116e+00 1.8096017488376732e+00 -2.1568152848798605e+00 +1139 -1.4738094044243111e-01 -2.4441426352752804e-01 -1.2119142000581922e+00 +1540 6.4652583280292208e-01 -1.1105632326165620e+00 -4.3613694074139564e-01 +516 -5.0124765873529831e-01 2.5386034349716546e-01 -5.0378794000979821e-01 +1241 2.5063028359693373e-01 -5.2908601721212889e-01 -1.2358222556627219e+00 +515 -1.0842860660629794e+00 1.4137957884597394e+00 7.2346563521794294e-01 +1923 1.5780038840368318e-01 -1.7001366082303815e+00 -8.9146816572093734e-01 +1453 2.2504310974225614e+00 1.2016629698719097e-01 -4.4743182562436701e-01 +1770 -7.5896693603582810e-02 1.3598047674901623e+00 1.8912239140506300e+00 +616 -4.2027275763941108e-01 1.2388757763686362e+00 -1.1914093044917187e+00 +1822 -1.0104603012949913e+00 -3.5006110860097826e-02 -8.2421289203766207e-02 +1305 -1.6227318286628020e-01 5.8357008347229655e-01 2.1045829614572003e+00 +597 -7.1933744484926054e-01 -9.1099741352164232e-01 -1.2664385427628636e-01 +253 4.9784653099038673e-01 9.7378313287970086e-01 -9.8170081217068106e-01 +972 -5.0462806217593748e-01 4.8636041107161958e-02 -3.6338784939140750e-01 +928 -1.2989751390363409e+00 8.6282413601859809e-01 6.6611588173731584e-01 +2142 -1.5728225962542151e+00 -1.2714230998753129e-01 6.9153815148659470e-01 +10 -3.7458212076992409e-01 5.9016793111288557e-01 -2.4743684837322917e+00 +2672 -7.8359583871183147e-01 1.7690030603693119e-01 -9.0422489790018723e-01 +1088 -3.7816647944575110e-01 1.4199490673528994e+00 -4.0040010067300336e-01 +2317 -1.9618992739955321e-02 1.0755747992725509e-01 -3.4654197269237663e-01 +1344 -4.0015568013903498e-03 1.3673610931824562e+00 -2.9931731061714056e-01 +2469 -1.5414244791100162e+00 -6.6907595292941324e-01 -2.7176998810389827e+00 +2855 1.8962930721794726e+00 5.0126352932933949e-01 -5.5491429940753989e-01 +559 8.6313400040251131e-01 -1.7741616804116709e+00 -1.1498990602780796e+00 +2405 1.2073836108062421e+00 -1.0435412299413864e+00 -5.0964837542944486e-01 +1473 -8.2411120843303720e-01 3.7137469905998477e-01 -1.1144694232025432e+00 +1149 -8.3601947454092618e-01 -7.4462927358994080e-01 -8.3322011177681643e-01 +411 -2.5699003632314813e-02 -1.5013611141292146e-01 9.2036802887514368e-01 +166 -2.0492325054903797e+00 -2.5677284223936303e-01 -1.4167221987443341e+00 +924 -5.7097826511603993e-02 -2.6187071265551071e-01 -1.2660874874222319e+00 +676 -2.1809677721648959e+00 1.6972544153171457e-01 -1.5270550101481108e+00 +687 -4.9597422461904084e-01 -1.0319420866349813e+00 4.5995659190988442e-01 +1003 -6.6633219075050421e-01 9.8350599151333729e-01 -4.1085403666829146e-01 +1648 -1.2496213098446658e-01 -1.5431425911593799e+00 -5.3024199914586401e-03 +243 1.0057979338300638e+00 -6.2096199851090816e-01 -2.4044327370491216e+00 +952 3.8395724191850744e-01 -1.0821807909511674e+00 1.0168951489710896e+00 +1607 3.4791468441228668e-01 -3.3873435401788149e-01 -6.7242635060063427e-01 +2797 5.7096353288295398e-01 -9.6329516822840050e-02 -2.0635049649295802e+00 +902 2.2601812772550034e-01 -6.9175646719547712e-01 4.1459785184566528e-01 +2636 7.1050573515673388e-01 -3.2915941964222933e-01 -1.6916573341130203e+00 +239 6.8912345947789033e-01 7.4455364586165329e-01 1.0868643703685099e+00 +1860 5.7137355284502700e-01 1.2989698351051107e+00 1.1824237999124634e+00 +2249 -9.6905752535117129e-01 2.8630662347856323e-01 -8.5150325426002238e-01 +970 1.2390513541528767e+00 3.1824411863938817e-01 4.9997411071752551e-01 +976 2.3276953011817694e-01 -1.2315632715545059e-01 -7.3090292572985227e-01 +1681 -2.7324730018618050e-02 2.6768635607543566e-02 1.9758169513362032e+00 +2737 -4.2586942927123639e-01 -1.2282114643874387e+00 -4.4605727009263921e-02 +734 1.2476979433515774e+00 1.1823004738131986e+00 -1.8046874695843624e+00 +292 8.1383245408729254e-01 -1.9118934496300735e+00 -5.5342057165245084e-01 +664 7.1218231889226369e-01 -7.9120560206653279e-01 7.7748479720964703e-01 +2784 -1.0476101584008976e-01 -6.1384186680452063e-02 1.7336129578432109e+00 +2245 -3.7443842304975639e-01 -7.8996484177554083e-01 3.2088984311043567e-01 +937 -2.2491404014710548e+00 -2.1936866181765366e-01 -1.1749022310160724e+00 +2276 -1.0021351739317512e+00 -1.4867761064983005e+00 -7.1661386080985012e-01 +758 -4.7646977678653002e-01 -1.2190511050781643e+00 -1.2212928345398877e+00 +519 -1.9749290252441960e+00 1.0466385617230543e+00 -2.3571874558403916e-01 +56 1.5308969585538665e+00 1.8908319335439088e+00 2.0586900284371739e+00 +800 -1.0611568311956314e+00 -1.0816926085833432e+00 -4.0654761084573399e-01 +2122 -7.1508881823577242e-01 3.3441453862503967e-01 -6.3783151998235366e-02 +1599 9.3984872565323063e-01 -1.4370144274458477e-01 3.6372968396064248e-01 +747 1.8451567430230253e+00 -1.5034240923572948e+00 -7.0665323436051308e-02 +1609 4.9578562939940041e-01 3.9894143005412985e-01 3.2251919265146556e-01 +2443 1.5174220982932052e-01 -1.7205850943161201e+00 1.6984652681997403e-01 +2229 6.4139698375458143e-01 -1.0272332287688222e+00 -1.9091818613986842e+00 +991 1.6384773139046751e+00 6.0211258668566903e-01 -2.6131494327729667e+00 +2810 1.6936869282154900e-02 3.8199542254448804e-01 -2.9212714017593305e-01 +2727 -1.2799232579580302e+00 3.0774722395783438e-01 -2.9997074219831199e-01 +1570 1.8116955072743218e-03 1.0810324301182006e+00 1.7425476963872477e-02 +1177 7.0153899023349020e-01 -6.2140007382383866e-01 -1.6816067752449260e+00 +2614 -1.4015552392954358e+00 1.2801967387215507e+00 -1.2848056027336158e-01 +2056 -1.2769864459105023e+00 -3.1900631412816816e-01 2.1565656216934020e-01 +2227 1.7922923839608326e-01 2.0237736374594517e-01 9.0515365698852635e-01 +2099 2.3882554149046658e+00 -6.3711566851952917e-01 5.2200388703138978e-01 +549 -1.2472599606304832e-01 -8.0430804662177724e-01 -6.0347562755475537e-02 +174 -8.1454771031000917e-01 3.5320416074653049e-01 9.9644065368259804e-01 +2792 4.2831509725862815e-01 -2.7034763320119684e-02 3.5753462321635160e-01 +1227 -1.0728148660537731e+00 2.6049151963654786e+00 8.1226013918157602e-01 +2453 -8.7725686645150902e-02 4.3613499316016452e-01 -2.5765170526291348e-01 +2850 2.9832977811117828e-01 -8.4957356605827272e-01 4.3926051546863265e-01 +1748 -8.1574596734410187e-01 -1.5572256846819696e+00 -5.7929410322002806e-01 +366 -9.0708242947698159e-01 1.6810297759584869e+00 -7.8156167513076291e-01 +2292 -3.9407589486379174e-01 -7.7531644550371126e-01 -2.7819855613058697e-01 +2052 -2.4119575209572333e-01 3.9411914555993782e-01 4.4917112052161479e-02 +2834 6.1182577126918725e-01 4.1482784303457731e-01 4.6791793086459821e-01 +1869 4.2280560267424755e-01 -1.1003895682006859e+00 1.2227376994769239e+00 +2841 4.3784563182678071e-01 -3.9405728283790969e-01 -1.0292695298207971e-01 +2288 1.3147086743415433e+00 2.1694465231935481e-01 -5.9657203453253604e-01 +50 -6.1979738754367752e-01 -1.4272648077401262e+00 1.0641502607579412e+00 +1086 -2.1167854770852812e-02 4.6146420758769435e-01 -9.9139046480561233e-01 +344 2.1375082421639044e+00 -7.5464126568807188e-02 1.3993548951423038e-01 +1658 -3.7962230810342523e-01 6.6833091043125015e-03 8.8975710325099766e-01 +2586 1.4088028654779627e+00 9.1918205488355587e-01 9.3423065964622831e-01 +2937 -1.8076450191150546e+00 1.6212705374529435e+00 2.4051787816020612e-01 +498 1.0514537524123579e+00 9.6024377170738562e-01 -1.8985585131149814e+00 +1759 -1.3409961801129983e-01 2.4724398465854047e-01 -9.2500181414172045e-02 +2719 3.4191465762700946e-01 1.7783915029327320e+00 1.4340149460967724e+00 +2690 8.6437784763322456e-01 3.7086914431257234e-01 4.4157115156206173e-01 +2145 1.4587002695237705e-01 1.8792057981785076e-01 2.8953915222049442e-01 +957 4.3705330081468619e-01 -8.9153155172081888e-01 1.2471922437940299e+00 +1910 -1.1194938083838200e+00 -1.7704740755375548e+00 4.6812420719248682e-02 +150 -1.0663743358379483e+00 5.7064136562091206e-01 3.9711484037833722e-01 +295 -9.6482167809973074e-01 1.1444500425782851e+00 1.0869606304791810e+00 +1275 -1.4919000427672733e+00 1.3930409608674918e-01 -5.6132807983753774e-01 +824 4.1410411888129006e-01 8.2934645353009406e-01 1.7461643408823865e-01 +1506 4.6536335856201849e-01 1.3550032483487244e+00 -1.2566752035905069e+00 +947 1.0776635585463312e+00 1.1074640390881428e-01 -7.1128090911745212e-02 +659 -1.0788947721746878e+00 3.4879195796187634e-01 -1.1576971972765151e+00 +1842 1.8004251365318447e+00 -1.4028224543682652e+00 9.3548791491359629e-01 +2739 -1.5152556248422879e+00 -1.1496646169975910e-01 4.5564321470748004e-01 +2663 6.2693793749051774e-01 4.0039946319035907e-01 1.1134247681607623e+00 +2163 -2.9160037558142453e+00 1.4846734848678058e+00 2.3136719446551937e-01 +701 8.3988782697342201e-01 -2.0852199038377535e+00 -3.2849286599538480e-01 +1960 -1.7538937070093827e+00 -6.4669701495039644e-02 -8.0211203805022432e-02 +2528 -7.2794005378333781e-01 -1.4082509159424395e-01 3.1644616446338785e+00 +2164 -8.5721514488887422e-03 -5.5387175795213195e-01 1.6207639281617536e+00 +2040 -5.7182906975079328e-01 9.8645797625206255e-01 -1.2432794311527697e+00 +248 8.3712415791555295e-01 -8.9765948155729480e-01 1.2092072576628896e+00 +865 -1.8116599341142947e+00 9.6375139077116301e-01 -6.7203357979558542e-01 +642 -5.5280977750372873e-01 1.1430545443370090e+00 1.8212078009293622e-01 +2708 -1.2129088656416037e-01 7.5610648622864729e-01 8.3335530502889754e-01 +574 5.2235772181401208e-01 3.4676247803256621e-01 5.0012814367242076e-01 +2597 -4.6327869010612016e-01 1.5440812505280666e-01 7.9047858034053597e-01 +771 1.6129980623522420e+00 1.5857035592438748e+00 -1.7278695316134769e+00 +2842 1.0346427239502209e+00 1.4376331991762747e+00 -3.5002619945562075e-01 +2541 2.9472033879848752e-01 -1.1651371199736033e-01 -8.6451424446339159e-02 +1429 -9.9430121674152527e-01 -1.8284772352035896e+00 -8.4441976147518838e-01 +1934 -1.3350082131859100e+00 -2.2492948115228448e-01 1.7488897358802593e+00 +635 -8.1776800910956726e-01 1.2104993792696919e+00 1.0894951451946528e+00 +1370 1.0510704567366573e-01 -6.6540340524665498e-01 9.8053261762996669e-01 +2201 2.3124636462792628e-01 -1.1620854666294855e+00 8.6855297226666262e-01 +1692 -1.4442290595071061e-01 -1.2529789535641329e+00 -4.0706243957131905e-02 +1953 3.7573107910973746e-01 -1.2210436939867462e+00 1.2648224740325393e+00 +2401 -6.2963080282899486e-01 4.1924731125940595e-01 -1.3971371262791377e+00 +1797 -6.9884877432411541e-01 -5.1423444811330310e-01 8.6779599729005230e-01 +1166 -5.2650181299482846e-01 2.3380893862915747e-01 -9.1678853113813596e-01 +1574 6.6349117537649960e-01 4.4218340605143153e-03 1.2342135048761853e+00 +673 8.0304823072934106e-01 5.3562783105967648e-01 6.8913576579697811e-01 +2746 -3.1697770567291922e-01 -1.0585035672348129e+00 1.0588568509645253e+00 +1042 1.3687663413902706e-03 3.0276570063879971e-01 3.5799573221386227e-01 +2200 4.2141863261817358e-01 4.6545904824478079e-01 6.0949415024039211e-01 +1997 3.9258268535481194e-01 -6.6890472558165459e-01 3.4781007460971386e-01 +509 -5.2113972774181727e-01 -4.7438867544530994e-01 5.4911851955869317e-01 +1072 6.7908909713352028e-01 1.0360355489294277e+00 -7.4902307115544220e-01 +1013 1.2910932024466439e+00 1.0630897730014661e+00 9.8489014055187662e-01 +2660 -5.5312433278768969e-01 -3.7225765708651104e-01 -1.0363531906532921e+00 +135 -5.2789569765862798e-01 -5.4547460976877460e-01 -3.6606376756808984e-01 +84 -8.7006882678116959e-01 -6.8128423146336647e-01 -3.1376785384507555e-01 +864 -7.8851491418912700e-01 5.5540028779885386e-01 -1.2266860251593668e+00 +756 -3.1083074713315811e-01 -3.7233478991085550e-01 -1.4334717746588883e+00 +276 -6.2819281522699466e-01 1.2873788032133848e+00 1.0945090447970589e+00 +686 1.2075576999952971e+00 7.0404185369792538e-02 1.4149804221429299e+00 +525 -5.0129225450180637e-01 1.2799766604574696e+00 -3.4110442453184819e-01 +55 1.8393455499580198e+00 -4.9029044224244056e-01 -5.2841228590880052e-01 +2445 -3.1309260558388724e-01 -7.3331826715248938e-01 -9.1710956656671516e-01 +1038 -5.8222454534963575e-01 -1.0414372789095523e+00 -7.1704881770750184e-01 +1642 -4.6115032423432223e-01 -3.4659600253121253e-01 -1.3168274867728347e+00 +1297 1.5156854436409726e+00 -1.0849777862655365e+00 -4.0610107998542405e-01 +1352 4.8150007189085109e-01 -6.9493197790378214e-01 1.3207559647688492e+00 +444 -1.3515523237896662e-01 9.9523487262628041e-01 2.0017372762527135e+00 +182 -8.6250842736599220e-01 1.1914184341445333e+00 6.7959866582224304e-01 +1917 1.0555663825006720e+00 1.0608765803845924e-01 -4.7135886677929378e-01 +1219 2.8826162131957828e-01 -6.9400165825542981e-01 -1.5866615322951934e+00 +1885 1.5159658061240897e+00 8.3530182886692894e-01 1.1329208242187747e+00 +424 -7.0242286580157287e-01 -1.1365362835432475e+00 -1.1627606048513630e+00 +1907 -4.2653403131929296e-01 -2.8635253502437424e-01 -2.1642366384546490e+00 +2452 -6.0120592688992169e-01 -5.8338071189541429e-02 1.0052017608001700e+00 +1577 -4.3974454966732934e-01 -7.9730160665822769e-01 3.9785200653170394e-01 +2490 -4.6904138625422531e-01 -4.0712375602400946e-01 -1.2854963956781653e+00 +614 6.5281190066218087e-01 6.3606617725192904e-01 -6.9222738241056736e-02 +2085 -5.6885928787549922e-01 -2.5039753468517922e+00 -6.9983685298117271e-03 +1866 7.7338788064534070e-01 3.5433824546477521e-01 2.8371838773575880e-01 +974 1.9111369534789388e-01 -1.2637341679947647e+00 -2.2564150221201584e-01 +1472 -1.5669569715562295e+00 -3.1061299695678130e-01 -2.4097288787405810e-01 +1203 1.7420479071686847e+00 1.1571351994707137e+00 -6.3807514241594199e-01 +4 -1.1251629304184816e+00 -1.0691543896257132e+00 2.0081931664034339e-02 +1985 -3.3056684914199908e-01 -1.3273286012283234e+00 1.2060273374853305e+00 +1306 2.8066348536109655e-02 2.7405129252345850e-01 -4.6908956611615221e-01 +1592 -9.5237089867692537e-01 9.9025298604573320e-01 1.6400926339559327e-01 +2602 8.7820145845951103e-02 9.6369772027349709e-01 -5.8776170503370173e-01 +2487 3.5712929817584493e-01 1.9376295831845705e+00 -5.0729286108681781e-01 +2494 7.5212984849521258e-01 -1.9786857820694845e+00 -1.4356964529510579e+00 +557 -1.0507609430513660e+00 8.8859906295762769e-01 8.7333923714417994e-01 +2706 -5.2862251804620286e-01 4.9562254785945969e-01 4.2887346532190174e-01 +2968 -6.6829990022079844e-01 -8.9224627533960238e-02 3.9811431982367351e-01 +1328 -6.2745420598666585e-02 4.8935898331610311e-01 -1.1848567880497822e+00 +2488 -8.0659382931590462e-01 9.3536620319268904e-01 -1.0091355344770054e+00 +1889 1.5709345871975720e+00 -4.4586032505159784e-01 -9.9901335223859661e-02 +2295 1.3482061281688551e+00 6.7463031259340023e-01 -5.5068254670367234e-01 +1672 -1.6794785695092389e+00 -3.1824697471438396e-01 -6.1600309927297736e-01 +2467 1.3047403677869014e+00 1.1781222957992794e+00 -7.1436105881411038e-01 +867 4.2304084206726289e-01 -3.5085670035226313e-01 -4.8799405400175111e-01 +2605 1.3917973674222484e-01 -1.4934959607894880e+00 2.1730836744061972e+00 +408 7.3661804509643258e-01 1.6299452881701872e+00 -2.7698940359159419e-01 +207 -1.2951767723943355e+00 7.1070416328784125e-01 6.9193280318411779e-02 +2348 3.3309815411164878e-01 -5.8656678427339115e-01 5.1958165126911737e-01 +313 -6.9441152466159695e-01 -8.3222736702925237e-01 -2.5698227012377284e-02 +1769 7.2162434253949082e-02 2.3327166320989234e+00 -2.0733135509155864e-01 +1967 -1.9719020998318304e+00 1.8746893141600507e+00 1.2150233827790811e+00 +1961 -3.9281044251873509e-01 5.5920437694848379e-01 5.5072437520357531e-01 +181 -1.5148069585637740e+00 4.8309735203316784e-01 -9.2303275756235315e-01 +2271 -6.4404814866571336e-01 1.5401046188403835e+00 1.3053469053541356e+00 +1721 -3.5191384635968975e-01 8.8198009106934094e-01 1.3119099546632781e-01 +2677 2.0371378825443553e+00 1.1885835013795785e+00 9.8947249612725474e-01 +1637 -7.2746234588332281e-01 5.9453463678880325e-01 1.7695992561349605e-01 +1810 -3.4265503490216559e-01 3.1709918200126258e-01 -8.1356862197359425e-01 +920 -3.7286450273552735e-02 6.7162173934494640e-01 -1.1757333930452973e+00 +420 1.2100273320266941e+00 -3.1070363014823610e-01 1.5975548559016954e+00 +2373 -1.1464378835221671e+00 -1.3784589860380065e+00 -2.1090659462111058e-01 +1397 7.4004858393749307e-01 -7.4629897117961252e-01 1.3550106825594370e+00 +197 1.7848025397432721e+00 -1.6780073507857949e+00 1.0451833525696390e+00 +2119 5.7545758173285599e-01 -1.2037370961352974e-01 -1.4186760250912478e+00 +2622 -1.0958050931632457e-01 8.8945641881336002e-01 -1.0533102365228413e+00 +1099 -7.2584152617386799e-01 2.0509813798597989e+00 -9.9629127795189865e-01 +1320 -7.4495844018679225e-01 -7.7670906967774389e-01 1.1774998482690574e-01 +1294 -5.5656265039080965e-01 -1.1110902009482830e+00 -3.9008970685037175e-01 +2747 -1.9349040001331752e-01 -6.3910695150270214e-01 6.1723443988042626e-01 +709 6.4773968086345113e-01 3.2315600071396189e-01 8.2386287111303758e-01 +1317 3.1217388385936129e-01 7.4470995100003468e-01 5.7534433916728778e-01 +2371 1.4170538541966107e-02 2.1684896295237799e+00 4.3311217752680742e-01 +1077 -1.1178929939007698e+00 -8.4404205249377184e-01 1.2981725925983383e+00 +208 -3.8816530256165327e-01 -8.2949182366017382e-01 -1.7990988363384999e+00 +2830 -9.4956041892999110e-02 4.8755876320920638e-01 5.7869517960939487e-01 +2417 2.2970199527633975e-01 1.9013075787586604e+00 2.0171861773873828e-01 +70 -1.7119933913026184e+00 -1.6967909291928858e+00 7.1849040542110454e-01 +903 -1.1637281945795557e+00 -1.0276614195861664e+00 1.2197545086919994e+00 +2573 1.1538676832349255e+00 9.6620036643890472e-01 -2.1280076432381637e-01 +128 -2.2144712795857306e+00 1.5645683020089047e+00 4.2499180463651576e-01 +488 -7.4712489190010639e-02 6.1554517659475272e-01 -1.4168908676707150e+00 +403 4.6561263217982529e-01 1.2191295621717215e+00 -2.0136586536595216e+00 +370 -1.3024146823808507e+00 7.3270317459351819e-01 3.1819461833920193e-01 +657 4.3288376179934779e-01 9.5817244036551052e-01 1.2099024277843589e+00 +217 1.4988211267935925e+00 -3.0516484475849037e-02 -5.5667948553732471e-01 +1387 2.0662842358431485e-01 -4.6198018243831224e-01 -3.4846498665763992e-01 +1075 2.3917147063389449e-01 1.8430280108372128e+00 1.7758476006043961e-01 +1117 2.2529370335967797e-01 -3.9103166710899390e-02 2.2666759165729764e+00 +575 -9.3440761577069442e-01 -5.9470863507505156e-01 8.8644266802950489e-01 +1676 1.7839035398718797e+00 -2.6190622341103154e-01 -1.1049256502803479e+00 +2666 2.1120026543890880e-01 -2.2160657558441841e+00 -4.7525281054447543e-01 +927 8.5972298235508848e-01 8.8360445526701648e-01 3.8924190001793946e-01 +1243 -1.7646832878469276e+00 7.6521003490910289e-01 3.9855540868000550e-01 +1030 1.5010454765172379e+00 1.5108397850944857e-01 -5.9781817786005675e-01 +1575 -7.4189391075941502e-01 -3.3078743769604563e-01 8.1827415715103391e-01 +1455 1.3914817653190892e+00 3.2338772678442185e-01 2.3209027246405829e+00 +2654 1.1046347107787778e-01 -2.6608201584792301e-01 -9.2300067984765377e-01 +2420 2.6097125764392731e-01 2.4007759844401122e-01 6.2709108886037690e-01 +105 1.0423309431531269e+00 1.0257675976475054e+00 5.1842735517983463e-01 +2689 -2.7674943247763983e-02 1.9742894925441141e+00 6.3082650088998304e-01 +959 1.0249680143986986e+00 -5.1889575079229067e-01 -5.4534848211036013e-01 +2001 -1.0834501411287469e+00 5.9096843939828902e-01 -9.8430890159890805e-01 +2975 -1.3878758018532946e+00 -2.5427215026355228e+00 3.8350283863003798e-01 +896 -6.5502402385574698e-01 -6.1258213252779525e-01 -8.8524581063518959e-01 +2628 1.0277294452866672e+00 4.6879424115941215e-01 1.6015813750110373e+00 +363 -5.4465492009068228e-01 -5.4430650051314478e-01 -9.8145524378813187e-01 +484 4.6644483846768431e-01 -3.1816412556570484e-01 1.5469391606440295e+00 +2695 -1.1270895546191919e+00 1.1928783334136863e+00 1.1565649007103862e+00 +1722 2.6880487172896955e-01 8.9350442121492191e-01 5.3604367562269206e-01 +2431 6.4854156907639360e-01 1.2549234928458026e+00 -1.4184231094036921e+00 +2204 -5.6351761630143171e-01 8.7128653918225385e-01 5.9989409679579708e-01 +2638 8.1018088008699696e-01 -1.8467539517627025e+00 -8.1438610516840060e-01 +2005 7.3824556834764310e-01 1.6969822267899775e+00 1.1816532642783968e+00 +2932 1.8786026997580502e-01 -3.0063219726649093e-01 4.5118158085414933e-01 +2949 -1.5691856972562495e+00 5.7811646041196452e-01 7.4308421093466803e-01 +479 -3.7148842743066818e-01 -4.0415828057437020e-01 -2.0538192307773234e-01 +741 -1.6708900298115137e-01 9.5141700246087191e-01 4.6396294509943831e-01 +1182 -4.4754346652860938e-01 2.9138313851379172e-01 -8.5316767720468190e-01 +203 -4.6620286987832271e-01 2.9507542130777586e-01 -1.0686426147536099e+00 +334 -2.2364194228951181e-02 -4.3701487030829705e-01 -1.4817344666210439e-01 +1653 -7.1117639947954192e-01 -2.7253439285821166e+00 -5.9324463592757182e-01 +1499 4.4727680511536050e-01 1.2202262385208871e+00 1.1005356021654705e-01 +1796 1.3517243432945065e+00 -1.3840939843065674e+00 3.7901929668744505e-02 +598 -1.1143781389869771e+00 7.8707817577346328e-01 -8.3969558274455791e-01 +2224 2.3918385707177531e-01 -4.9300183622978949e-01 -3.8639635241261500e-01 +263 8.2531775566055443e-01 1.1530714594888456e+00 2.9935066564057750e-01 +2084 3.8413029410379995e-01 1.5680928500857111e-01 -4.5516782740923539e-01 +228 8.9709768001764134e-01 1.4777876349189258e+00 -1.6431203632996044e-01 +2718 -2.6266776035040057e-01 -7.6491257402846191e-01 5.7286917645090196e-01 +2419 -1.6721040017307789e+00 -8.0140354128187610e-02 4.3584280918999696e-01 +2723 1.7944124912672748e+00 1.8063926876229279e+00 -9.2590900319959790e-01 +2208 -7.4063681687180118e-03 1.0507422302127525e+00 1.0995090406100800e+00 +1339 1.6440513085653832e+00 9.1429828928150214e-01 1.5573938408683680e-01 +728 6.5018296306403167e-01 -3.1329462589159474e-01 -1.0666131326226092e+00 +1102 2.9212183226304167e-01 1.3704011909653353e+00 1.3676610354910137e+00 +1037 -8.7701476459895303e-02 -2.7006786101990798e-01 5.9900196302473530e-01 +1670 -5.5318112946813724e-01 1.5337362371089303e-01 8.1546764514900894e-01 +402 2.6850644145613987e+00 1.7599706159630168e-01 -1.5711202933723695e-01 +2014 -6.4404257774693030e-01 -9.7088271897304790e-01 -2.0941362962693102e-01 +1619 -5.1159283939391209e-01 -2.4473087765101476e-01 -2.0484174279207776e-01 +2136 -1.2777817340270901e+00 1.7540423107720829e-01 -8.5302366618014924e-01 +81 8.2612870441750519e-01 -8.2507212179024281e-01 1.0014325173295997e+00 +623 2.1539909610390864e-01 1.6259862021707767e+00 -4.2126129741586804e-01 +750 2.9610520039669436e-01 7.9813481024008670e-01 -6.3896571154252069e-02 +1183 -1.3711120191771207e+00 -6.3762189241219042e-02 5.9776842622807735e-01 +1246 -1.1389216859935685e+00 -7.4276282689644813e-01 2.3864031314031497e-01 +1018 8.1364661551722048e-02 1.0541336835750750e+00 1.3041529872248714e+00 +67 1.2207583738443024e+00 -6.8013972333201034e-01 1.1490680867694911e+00 +2167 1.9001583915349931e+00 -8.7491319806321549e-02 4.4392380667433845e-01 +1856 1.9396966892776585e-01 -1.8803621650779334e+00 1.4521714172407477e-01 +2194 6.9621347358365360e-01 -4.2197037111894820e-01 1.4843262819274539e-01 +435 -4.2917794123569504e-02 -4.5435227547364404e-01 -1.0835437280615292e+00 +1374 -1.1702662691667582e+00 2.7951359729946917e-01 4.9637227482350349e-01 +277 1.8551949433625261e+00 1.4774570487315917e+00 -7.3233216080630381e-01 +1996 -4.6982919662909089e-01 -1.1395948606196924e+00 -1.1979235572619926e+00 +766 -6.7053715127946933e-01 1.4755518848024820e+00 -1.1259685264138886e-01 +2657 -1.4905305118636540e+00 3.2793283898467218e-01 2.0474422060569564e-01 +1096 -1.8809140081693911e+00 9.2622258381663636e-01 -3.3906104612817317e-01 +1346 8.7899055205160437e-01 4.5609021385595538e-01 1.1588356519414889e+00 +839 4.5503946924960087e-01 -1.6203948644525363e+00 1.5465807860037852e-03 +1724 1.3096909336287903e+00 -3.1110456315593693e-01 5.4877485676840243e-01 +229 -1.6040910626850341e-01 -7.9034508734249576e-01 1.5463649816700988e+00 +256 -1.9191030763844458e-01 1.3600604059157682e+00 1.3064986178617635e+00 +1175 -5.0790668342996692e-01 8.0100274115663472e-01 -7.0041420569333768e-01 +141 -1.1596088902915744e+00 -6.5236601949465234e-01 6.1960478616948655e-01 +2178 -2.8405220286506921e-01 5.0692521297716231e-01 2.6217898290651898e-01 +884 -2.0700466027597328e+00 3.6058548047815098e-01 -1.2891934684666013e+00 +2941 -8.8514780400282622e-01 -1.0005234042624447e+00 2.4960644991343811e-01 +2330 6.0874486671889827e-01 3.1563306584405260e-01 -3.3731097118487124e-01 +1127 6.7418942606072940e-01 -6.3798662782928106e-01 -6.4074550852890233e-01 +354 -8.5385430275755969e-01 -2.9339448282344383e+00 7.8595855728243413e-01 +1476 1.0306342030901097e+00 -8.2955604891074688e-02 -6.5543210622839587e-01 +733 -1.6541611494700199e+00 4.2503490696862611e-01 -1.4690684325137453e+00 +2336 -6.9270406147998242e-01 -3.7459049923439486e-01 1.3832480593768732e+00 +283 -8.1442334440189645e-01 -7.1365621545261748e-01 1.6129668505067968e-01 +754 1.3553282194021044e-01 6.3849524560327664e-01 1.9146486406785082e+00 +179 -5.0939374063592080e-01 -4.2759861304252283e-01 2.0323132217160405e+00 +2027 3.7627285599158855e-01 1.0327957554938656e+00 7.9846622937127432e-01 +2761 2.0706552093443298e-02 1.4296321467611484e+00 -2.5666853042997451e+00 +1169 -6.9563907739190411e-01 3.0656544265471974e-01 -1.1280993947600351e+00 +1612 8.4283499164694964e-02 -1.7820466383237767e+00 9.1180799904272702e-01 +2470 -4.6785322012559011e-01 1.2740562541946585e+00 -4.3142505055357383e-01 +145 -1.2227207903028963e+00 -1.0190015653725966e+00 -2.5794327539280371e-01 +908 -1.1153682656834588e-01 -5.0971299163265549e-01 4.7575939548271062e-01 +2507 8.0974057026855406e-01 -1.4740482839551405e+00 4.6848100267154547e-01 +1522 2.0579695402135884e-01 -1.9202648369770556e+00 9.1661568901020241e-01 +310 3.5790555525300494e-01 1.5925493922142828e+00 1.3757880015372521e+00 +373 -1.2532909247640994e-01 3.5794440376353381e-01 9.9467941981824048e-01 +2978 8.0055019155410556e-01 1.5229183909287861e-01 3.3191699246137746e-01 +2578 2.6262072376925222e-01 8.6458178076588432e-01 -1.2772523588308398e+00 +889 7.4854208985211290e-01 7.4714634148720049e-01 -6.0410111255404197e-01 +2691 1.8490295859666617e+00 -8.0693350884955561e-01 1.8762888347142528e+00 +406 -8.5167748716247405e-01 -7.7546458043873634e-01 9.9025465868871598e-01 +669 -2.2994659683081956e-01 8.7405275918030712e-01 1.7059039857543723e-01 +979 -3.9875454387776088e-01 1.1333584927549007e+00 6.5157301140670010e-01 +2535 -1.5596257884027727e+00 -1.3290051205152338e+00 1.1711528172584711e+00 +2404 -1.0281331862628856e-01 -9.6165794260973203e-01 -1.8361514276158972e+00 +2041 -3.1138770300855545e-01 2.7342150918996100e-01 -2.0744124179510535e+00 +1882 -5.9976890208637479e-01 1.6482757935654728e+00 1.3222796859895769e+00 +569 2.1475431199273456e+00 5.4299371806816299e-01 6.5516452306641393e-01 +1891 -7.4379060830594446e-01 -7.2383069616581364e-01 -4.6621581753233732e-01 +2432 3.0696454285199314e-02 8.1862495470364272e-01 9.5050752503217573e-01 +274 -2.1419774730847738e+00 -3.1709661464603672e-01 -2.2736525261178548e+00 +27 -2.4623260008261507e+00 -2.3943563094156053e-01 8.6869084769193594e-01 +2814 1.2504493159380601e+00 -1.0874474829551883e-01 -5.5978187019100722e-01 +140 1.8062761116227644e-01 6.3066706056306976e-01 -6.5339042492787192e-01 +705 2.1784423846917444e-01 1.0105388630921921e+00 1.0753310448398146e+00 +297 7.2840909406616339e-01 7.5600766333141256e-01 -4.1489570639571682e-01 +2645 7.0598662604599227e-01 1.6009557129571972e+00 -1.1192132885986250e+00 +2424 5.9906233221710847e-01 5.9035932176408812e-01 5.9240296611133136e-01 +694 1.1890303237529660e+00 9.9162244329663118e-01 3.8418686627919324e-01 +1873 -1.3878536170960643e+00 5.8744616023881646e-01 9.6015975355575189e-01 +2141 1.2018829716683226e-01 1.8666393421484651e-01 5.4674262195834955e-01 +634 1.1411701594562669e+00 5.9163442670807842e-01 -8.5947388435752803e-01 +1312 6.3007443324904822e-01 -1.0747432140884075e+00 -7.7597572878208576e-01 +267 3.3781205027206412e-03 6.4528057675837025e-02 1.3401280127081942e-02 +1591 -2.8435745043722851e+00 3.8604383834234857e-01 -8.7224853980707884e-01 +1375 -3.5584719044086766e-01 -3.5421737241591150e-01 -7.9307460681996145e-01 +1877 -9.1226936910195278e-01 7.0767385642240532e-01 1.4279753541319307e-01 +775 -1.3614532095012275e+00 -6.6233270133173761e-02 -7.7710304877517600e-01 +291 -7.7970697370584241e-01 -4.8092975683746381e-01 1.1209064990264608e+00 +2134 -8.0748847707030613e-03 -4.3173002794483217e-01 1.2235467587116854e-01 +2846 1.3241500615716315e+00 -2.6303860501717224e-01 -1.4914094417656691e+00 +1389 -8.8156570658827016e-01 7.1426718830917724e-01 -1.3082495973928039e+00 +189 4.0323543774798115e-01 6.0406742198762242e-01 2.3146369842628628e-01 +1277 -2.2703828624841965e-01 -3.1358813299324919e+00 7.8991830689369469e-01 +238 1.4454451920325158e+00 -4.9007831521695544e-01 -1.2640262148012082e+00 +392 -7.8840735087103575e-01 -6.5735866273574961e-01 1.3949588174773007e+00 +2474 1.5300692363531627e+00 -1.2503921636480129e+00 -4.1612715588121107e-01 +40 -1.5635096866159559e-01 7.3655871171435694e-01 1.1828342537832266e+00 +866 -6.1192400031192007e-01 2.0230435763734347e+00 1.0533459502240639e+00 +454 -2.7889765737677796e-01 -1.4967277082418451e-01 5.8710836412731282e-01 +428 6.4558051616225198e-01 -7.5472065611526873e-01 -2.5279377677038135e+00 +2006 5.7183404558177775e-02 -5.1010881926273388e-01 3.7542369618935106e-01 +1884 3.0403589776712997e-01 -7.7384780439189105e-01 -6.0587069795505755e-01 +1234 4.4819909111711753e-01 -1.8780425646305068e-01 -2.2473602408513543e-01 +885 -6.8248083288892425e-01 1.0766771774947164e+00 8.1774552723356797e-01 +2919 1.2264812904329856e+00 1.8221442069921386e-02 -1.1837067940970669e+00 +2300 -2.0121435827174885e+00 2.3962884868456338e-02 -1.3320037919367373e+00 +1815 1.2654839159537516e+00 1.0949063225618239e+00 -9.8630049945408482e-01 +2480 -5.7748460496954390e-01 2.5020890375536531e-01 -1.2870691962750507e+00 +748 4.4100439512563361e-01 -3.8358488927444012e-01 -1.9462791072859348e-01 +178 2.2404376586180247e-01 6.6998317718707745e-01 1.4542431544360268e+00 +1360 3.7335744983829589e-01 -8.8770544047000655e-01 1.0114080408786388e+00 +2036 -1.1266564034994242e+00 -5.4658006453861241e-01 -7.2268887959830386e-01 +1208 1.0768958510456033e+00 9.8031932779895092e-01 -8.6506975783773810e-01 +1070 9.8225270031905887e-01 8.9747145613423029e-01 -1.6486069164713175e+00 +25 1.7056947528974492e-01 2.5493204908582930e-02 3.8724609752908556e-01 +2103 -1.1334134284117146e+00 1.4438037063722708e+00 -1.4906113201271252e+00 +1998 2.8318204105477102e-01 1.6115414132644539e+00 -1.5537345288994850e-01 +2981 -4.9851120866210519e-01 -9.2394952021616750e-01 -1.1518049930692566e-01 +1108 -1.2602315201176992e+00 4.2432914263405092e-01 -8.5691778462877913e-02 +1755 -1.1745210474131136e+00 -1.9891285086331987e+00 -1.2612541061409126e+00 +675 -8.6889246997059855e-01 3.6365512966079039e-02 -5.7819284059152554e-01 +1195 -4.9202564797087356e-01 -3.3881625128272941e-01 -4.3310793772563300e-01 +172 -4.8878521939325403e-02 4.8860086457310664e-01 -3.8223702274970883e-01 +1704 6.0589227671752266e-01 1.7429191505372619e+00 1.9878386354728466e+00 +2965 -1.7533763057690650e+00 9.7971473185218527e-01 -1.5738492538659459e+00 +723 -6.9010774598040947e-01 5.4656139484981581e-01 5.2833860890397333e-01 +2213 -5.0942216337581803e-01 1.0182188490011403e-01 -1.0960528407895331e+00 +2571 3.6262246579702606e-01 5.3195539913066969e-01 -1.0072900024007112e+00 +1733 1.2002962940417952e+00 -2.8191445784843727e-01 1.9685065899747394e+00 +1660 -2.2838865528409485e-01 -2.0225448486633448e+00 2.1592477860521433e-01 +83 -1.6520280088453927e+00 2.8595311467148488e-01 4.3208416054593574e-01 +499 2.9799073857086533e+00 -6.4459148259462584e-01 8.2663845438711248e-02 +967 1.6893349489621114e+00 -7.2048136184813305e-01 1.2147149312332839e+00 +2206 -4.6389678576039900e-02 -7.3032641631001594e-01 -1.3476250082329638e-01 +1012 -3.1487332310610261e-01 -8.5739402233759032e-01 4.3395625365049256e-01 +1835 8.5474389044624777e-01 1.4904427849045548e-01 -1.8349399239225375e+00 +198 -1.9656423651877568e+00 4.5584469050933274e-01 -5.9826152463092697e-01 +227 1.1076120860729228e+00 -8.3447289208172259e-01 -5.9699252449452045e-01 +615 -1.4876342131186304e+00 8.0519042157636511e-01 -3.4004760819797436e-01 +1898 -1.9431801557804290e-01 -1.3186995366597625e+00 -1.9888664072917708e+00 +97 -1.7715426459399128e+00 6.6717921663410340e-01 1.1158855684729423e+00 +914 -1.0605166068097434e+00 9.8483573791863899e-01 -6.4457063103108070e-01 +2712 5.3567120453047901e-02 -3.4078875524923713e-01 -5.4457461493237069e-01 +1457 1.9339220367395631e+00 4.7184803655940688e-01 6.1943744273699114e-02 +2627 -1.8969345556283235e-01 -7.9207607212910169e-01 -1.8589194344908092e-01 +2042 -3.7845641422833287e-01 -4.2066179859880276e-01 1.2707946399650043e+00 +2111 -1.9421241361251187e+00 -4.1206260438944209e-01 -4.9649091063203205e-01 +930 4.2766870680909808e-01 9.8704243194167884e-01 5.0896856141483304e-01 +2873 -6.6029204873148639e-01 -1.0848582208905666e+00 -1.3628982487581136e+00 +1892 -1.6869183494546509e+00 6.8443095648037341e-02 -7.5408760126530194e-01 +1165 -7.3295162009368775e-01 -2.5942633696202524e+00 -1.6168451362418421e+00 +52 2.6012869201825217e-01 -1.6321083317622909e+00 8.9570818654576911e-01 +1270 -7.6016373766879097e-01 1.9940294935842029e-01 -1.3138501349417380e+00 +2527 -1.0456757270128616e+00 -1.3898061871780145e+00 1.9642428145015964e+00 +8 2.4532417887481537e+00 1.7237472087146929e-01 -3.3240300723884719e-01 +2255 4.9193817510655208e-01 -9.8809936533289344e-01 1.6699793672792329e+00 +837 1.6185381970908905e+00 2.4957082429783703e-01 -1.7409069826512213e+00 +358 2.8604889279281770e-01 6.6913788408740471e-01 4.6844756132991339e-01 +157 -1.4048498900111182e+00 -7.4803517297849564e-01 1.0435680212222300e+00 +202 -4.9479308058897908e-01 -1.6979093975045995e-01 2.2880740163751607e+00 +1350 8.0048608535039201e-01 1.7962054725712515e+00 -3.3539660570854668e-01 +1229 -9.1866529251481388e-01 1.9460838877847574e-02 8.5463679418594718e-01 +745 -6.2474835603799117e-01 6.1063804647821152e-01 1.0579376067574460e-01 +2410 7.2565213531959538e-01 2.6386118426052513e-01 -9.8177512040214898e-01 +1406 6.1239101404829277e-01 6.6525072518910200e-01 -2.0018031221402777e-01 +2437 9.8160346098263096e-01 -8.2108626175328214e-01 2.8457410891706614e-01 +2773 -1.9825422809231601e+00 1.7942871963625300e+00 -2.1899714466864366e+00 +1184 -9.4756865664276613e-01 -1.2421262121807208e+00 -1.1983579305987206e+00 +1207 8.6913375395633430e-01 -1.7364076836201769e-01 -7.8793327745789321e-01 +2355 4.8360239162730079e-01 -6.7125769878354957e-01 -1.9421985299530551e+00 +1617 -1.2919253335926089e+00 -5.2677517239137739e-01 5.1205903782499729e-01 +1437 4.7978157797657756e-01 -4.5545224493257586e-01 -6.8526534839081876e-01 +348 8.1486705951370553e-01 -2.0962992016053223e+00 1.8253424442739909e+00 +1325 -1.2741662431162232e-01 -1.3648527843920191e-02 -1.0778015818025892e+00 +163 -1.1042464860413264e+00 2.4892401316172985e-01 1.6673235782973467e-01 +795 7.5465722263835355e-01 -8.5530069208085735e-01 -1.4878573397467934e+00 +464 8.1944498291459567e-01 -2.4111444392429515e-03 -1.4589942909873246e+00 +2733 -4.6426957039903505e-01 -1.1143453878981142e+00 1.3918888304552673e-01 +2394 7.3462300041670636e-01 -1.2896577615423857e-01 -8.1388126944600170e-01 +1005 -6.9680684070873466e-01 1.3957380928776597e+00 1.4390461822583696e+00 +1413 2.4917904811349528e-01 -8.3613845212970106e-01 -2.1057456611905509e-01 +783 -1.8633435580213342e+00 1.0367241469445301e+00 -2.0742792600257057e-01 +1938 -6.9099868202603065e-01 -5.5758799020489358e-01 3.3360003891306755e-01 +1432 1.1941509222925986e-01 -8.5666730113259232e-03 3.8245520381832343e-01 +684 -1.1273049555403891e+00 1.9428237063452625e-01 1.5787352002079282e+00 +2673 7.2807080208523955e-01 -2.7317681645552492e+00 -1.8970392550037918e+00 +1520 1.3554845462099767e+00 -5.2821061519670720e-01 -7.3344538270390991e-01 +791 -3.9800279702691416e-01 1.2369689016005347e+00 5.8193949373341258e-01 +2044 -2.3346060919481593e+00 -1.2197718395652204e+00 -1.1710025174343484e+00 +1705 -3.8630872620310597e-01 1.5031638075384482e-01 -6.6394543610801882e-01 +2154 -9.7710710930345807e-02 -3.3828266221500297e-01 -3.9933437676241898e-02 +2866 5.6011241504505216e-01 1.5861087627471324e+00 5.8834945958821439e-01 +2277 6.7670291676204264e-01 1.0162009464676711e+00 1.5540571010532098e+00 +1315 -2.4549913724987701e-01 -8.0069129557278684e-01 2.3063024583918332e-02 +1261 -1.1402182543025383e+00 1.7616056771272623e+00 9.7984246566147326e-01 +1217 -4.2070058153005396e-01 -8.2280976315082507e-02 8.6502712062010201e-01 +1 1.5438823267528388e+00 -1.6019529820774459e-01 6.7267974080411297e-01 +18 3.9426004021344174e+00 -2.0105130235022944e-01 -3.6729439306263850e-01 +2124 2.4078481537641497e-01 -6.0179687813119026e-02 -8.7699084158013618e-01 +132 -3.8223390784352129e-01 2.1980468312556359e-01 1.8653388112505507e+00 +960 1.4701897319928262e-01 -5.6679530454109328e-01 7.1803858051541058e-01 +467 -1.4082210027387270e+00 -2.2846815604495680e+00 -2.0355265203316419e-01 +438 -6.2960863081826601e-01 -1.6564529407407671e+00 -2.5624311993011217e-01 +1408 1.7961828977194783e+00 -1.6118895796742214e+00 1.4345898032380113e+00 +173 7.2372241976768448e-01 -6.1716696045258548e-02 -1.2269230763346908e+00 +856 -4.7741446545726984e-01 1.8743120381535058e-01 -1.2783982812061150e+00 +1048 -5.2464012235842861e-01 -2.6700024279972062e-01 5.0218208324596503e-01 +1939 6.1574763473045147e-01 -5.9406152984478133e-01 1.1723319580250726e+00 +816 6.8906404035617563e-01 -8.1222818944654818e-01 -1.0225570359405505e+00 +512 -3.8830943196545276e-01 1.8827375129417907e+00 -9.9811592695040208e-01 +2464 4.8057160694735174e-01 -3.7059238776954373e-01 3.9329500365029757e-01 +1216 2.6259405107708067e-01 -1.2392315238355631e+00 7.3102288763119416e-01 +962 -2.9255362031316690e-01 -3.1398092196345895e-01 1.2979936434347858e+00 +1715 1.3039471504258507e-02 3.4029627413355445e-01 -3.6344487793889585e-01 +1242 -3.4676120762832235e-01 -1.0126642209290724e+00 -2.7574925288174279e-01 +2825 -1.6027426926706791e+00 -1.4865885354460595e+00 1.5696035832371652e-01 +466 -3.3996302489310509e-01 -1.6612830023490743e+00 -2.5385152021759949e-01 +1702 -1.0725101695011663e-01 2.0464443436630870e+00 7.4785834476915203e-01 +2478 9.8973640857172962e-01 -1.1295446461360035e+00 -8.4163418767271758e-01 +698 4.6027889137873246e-01 8.5892810983959922e-01 2.6724813115907318e+00 +1498 -1.8297861575467751e+00 7.3907344140714015e-01 -1.4169587669412729e+00 +820 -8.7600432255786176e-01 6.6069531210247012e-01 1.0704927839366620e+00 +94 -8.2403132643936158e-02 3.0282592016068421e-02 6.4062335174231932e-01 +2259 1.3429412392286344e+00 -6.3252266733746665e-01 -8.1620743791888473e-01 +2268 -2.7168403359610203e+00 -7.6286754254723033e-01 1.1132606897657258e+00 +2187 -1.1719460591568804e+00 -1.6922120885656207e+00 7.5954935476345153e-01 +2296 2.7937519220018492e-01 -7.0820767186092781e-01 -7.9193353824858281e-01 +2791 -3.6150246679873860e-01 -7.5192633978002144e-01 1.9075533832207422e-01 +1040 1.0750750093274933e-01 -1.1581214656570278e+00 1.7077819038634854e+00 +1767 6.7598394440666798e-01 -5.0813732990427674e-01 -1.0706506205613606e+00 +2334 -1.2568886287875902e+00 -1.7286542396163709e-01 -1.0929790832946484e+00 +335 1.6042938100131492e+00 -8.1925699281664843e-01 7.5532355854734146e-01 +1390 1.6038955009510818e+00 -1.3818806730147259e+00 -2.7060961416830526e-01 +704 5.4665712779596309e-01 3.7440794280254341e-01 -1.3478044707528891e+00 +2057 8.9162604318171823e-01 -7.6347657877002562e-01 -7.5159341020877168e-01 +2601 -4.5297887302974810e-01 4.4256210157366704e-01 8.0506972524764464e-01 +1327 -9.5881584894610872e-01 -1.0714233510146050e+00 1.2149992655866415e+00 +385 -2.6510097323717779e-01 6.0253527391759776e-01 -6.9821424411158983e-01 +2 1.5257174543937493e+00 1.7053707586587163e-01 -4.1153407480698384e-01 +711 1.1639534486858963e-02 4.4098749375550356e-01 8.5051182642700085e-01 +779 6.2823765533881470e-02 -2.1037926933036433e+00 1.6184989605982423e+00 +1368 9.7912808367550908e-01 -1.0738631431246521e+00 1.5327026241870982e+00 +108 6.9838039501763782e-01 -1.9577895514722671e-01 -9.2766896504777663e-01 +763 2.3112589255088336e+00 8.4120225106927504e-01 -1.0294850506275715e+00 +563 3.5886872963308064e-01 1.0514034882969088e+00 5.7941439521653559e-01 +1485 -6.3807097483033215e-01 -1.1823567157971877e+00 -2.5941542894284392e-01 +1714 -3.2066797348438342e-01 -9.2452966007858473e-01 1.6277554834736121e+00 +1401 -7.5115274623016326e-01 -1.5843961494409322e+00 1.3260036626894380e+00 +1905 -1.0121500711138294e+00 4.8569806855267117e-01 -1.4718585487153988e+00 +621 4.2988295174027946e-01 9.3300808405006386e-01 3.0965943648922223e-01 +2606 -2.4863967394514170e+00 -5.9349758987119572e-01 1.7616475858236910e-01 +1881 -1.0832468481686199e+00 2.0549050307645027e+00 -7.4852938634125052e-02 +720 2.2183433364625055e-02 1.4513374705130713e-02 -1.9877938373814275e+00 +997 -2.1429204291270987e-01 -1.0336221461664763e+00 4.0014656655042879e-01 +1677 -1.5093014903514163e-01 3.4571052734881830e-01 -3.5782551850467975e-01 +817 8.5586429286700194e-01 -9.0190233554050803e-01 1.7376674308916999e+00 +2780 -1.1453813365037138e+00 2.2347600620076404e+00 9.2647648909135169e-02 +2582 -1.2101734798158151e-01 -8.1657478943325457e-01 4.6786385620621718e-01 +899 3.7600718552498624e-01 -1.5355828229168993e+00 1.7433867938675296e+00 +1118 -1.6223718553150319e+00 2.2399729420185971e-01 -6.2240459846779317e-01 +570 1.0092553265147947e-01 -2.2666115580827076e-01 -8.3424286605901610e-01 +2458 1.1533135848670166e+00 2.1971562597309854e-02 -1.1398689680525578e+00 +1331 -5.8258476958876038e-02 -1.5928917075333433e+00 4.2994848484282572e-01 +2615 1.5120567903181031e-01 -1.6309596680042560e+00 1.1510336524980280e-01 +1111 -4.6065303484422615e-01 9.5716903246302554e-01 -8.1731841810099876e-02 +1700 -6.0640984566076894e-01 1.6946817105830645e+00 -8.5642614906715320e-01 +262 -4.1475872307299400e-01 -4.3255958139874706e-01 -6.1838626587006940e-01 +872 5.9732650086576400e-01 -5.4202458157574918e-01 -1.2443427536159903e+00 +778 -1.3952443368787099e-01 6.6061931718754935e-02 4.5472514922073998e-01 +1223 2.2446334557591601e+00 -2.9799729151167853e-02 8.5182892487784401e-01 +2820 1.1985458385811229e-01 -3.1357456374418358e-01 -4.1727311089671570e-01 +298 -4.8696467098723467e-01 -8.8228567852513939e-01 6.2277687350978495e-02 +1507 1.4185215609426769e+00 4.8441906004221541e-01 8.3571342336999088e-01 +894 9.2490964840164880e-01 1.3336161672841568e-01 -1.7162449962898021e+00 +731 1.9783850432346644e+00 1.3224989231606563e+00 -3.9848541143994587e-01 +405 3.8490976615572242e-01 6.7537771446460049e-01 -1.1607430426415639e+00 +2908 3.5686199169910571e-01 2.8111325505540202e-01 -1.7059789953549105e+00 +31 3.1159697158236233e-01 -3.5094789565168971e-01 -1.3757776546233327e+00 +2345 1.6960079474922645e+00 -1.6798667874130746e-01 1.8969657257756534e-01 +1743 -1.0039650705757466e+00 1.1296846816876371e+00 -1.1814672200681992e-01 +282 -2.3611620532702654e-01 1.8754085390321129e-01 1.6122255349689965e+00 +2526 -2.6602427411875074e-01 4.3535349926759831e-01 2.4580076059010896e+00 +1949 4.2081775741592853e-01 -5.2985207429637105e-01 4.6190576270164685e-01 +982 -3.5869707725827205e-01 1.2933653629356643e+00 1.5440486696358076e+00 +230 -3.1778054563948416e-01 -3.8349944720453699e-01 -8.4446510367187178e-01 +475 5.1162892153651596e-01 -8.3439720206672563e-01 2.9745233107681457e-01 +2734 5.3624924818216635e-01 1.9240100384265008e-01 8.4182821403718344e-01 +301 6.7107826913610613e-01 5.1632637176290852e-01 -8.9459081124551731e-01 +1434 1.5114587747042147e+00 1.7667659917184309e-01 1.0875202759831979e+00 +2357 -1.0776940836071758e+00 -5.1153531042800759e-01 -1.3221015095660889e+00 +1622 5.4141824092358937e-01 1.8444782041649752e+00 -2.3146033716313602e-01 +2974 -3.7017707359196822e-02 9.2602504196672830e-01 4.0067807317605897e-02 +1820 -8.2362826832191649e-01 -9.4052161718372029e-01 2.3504765016906343e-01 +1349 2.1688155810544102e-01 -6.7200581753635114e-01 1.3373344180024838e+00 +1844 1.2130049729628354e+00 -1.6979048835479427e-01 1.8604156051098573e+00 +2284 -1.0222328255054640e+00 -2.1598347961718085e+00 1.0682484164578065e+00 +523 1.1843343152833392e+00 -1.3521588246718796e-01 -2.0853226952103796e+00 +139 -3.3043082278529869e+00 8.5253268106276714e-01 -2.8466731602522423e-02 +2460 2.3585779060860607e-01 5.2518040880841899e-01 1.2968931849847790e-01 +168 -1.5446346760852026e+00 1.2766053943115698e+00 -1.2096018164905056e+00 +1840 -4.8119454915051096e-01 5.7437192707426921e-01 -5.4782217798081834e-01 +1298 -6.2544430208694513e-01 -8.8314507314690482e-01 6.5564109335230258e-01 +774 6.1387959268805825e-01 -1.6672011530933741e+00 1.6832261812052093e-01 +2811 9.0385332012394159e-01 5.2519929088590644e-01 1.5026795458152893e+00 +2806 -3.3279518436024925e-02 -6.8853479965958686e-01 1.3354620259497468e-01 +76 5.1475785899964022e-01 -1.5776248989846176e+00 -1.1603506103301879e+00 +2247 -8.7346264200743051e-01 -1.4762525300471260e-01 -3.2815833293095575e-01 +165 -2.0862470104512779e-01 6.8544365252747055e-02 -7.5164580280277860e-01 +958 1.8931091229257779e-01 5.4958258737987531e-01 1.1238682750346531e+00 +413 -1.6160649500336019e-01 -9.6156727335372463e-02 6.4021657870069837e-01 +1143 5.0254281529264866e-02 -1.2671040049703302e+00 1.7185610323577365e+00 +2863 -8.7785363141102524e-01 -9.7972075242235201e-01 3.2993821718412375e-01 +1618 -3.4132369772627813e-01 -1.5564344194614962e-01 -1.8168715097467675e-02 +184 2.2878353664660805e-01 -8.6889537166621111e-01 1.3615247435347639e+00 +2483 3.5194469659812372e-01 -6.0304671388061082e-01 2.1816559528199769e-01 +2848 -2.1684489186341271e+00 -5.8869191719853919e-01 1.2041168309008676e+00 +33 9.6257145803376487e-01 1.5233964993237199e+00 -5.2157449582357140e-01 +1526 1.0637617713952512e+00 1.2506080121620300e+00 -5.5668399909597566e-01 +821 -7.9342830098555084e-02 1.4845512379204822e+00 -9.2973024219038025e-01 +2891 1.7354074139652014e+00 -2.0839662489204328e-01 -6.8167971192344190e-01 +2100 1.9706005398144433e-02 -7.5670113558610141e-01 -2.0269524872417612e+00 +1794 -7.9465701400984678e-01 1.4002640853988522e+00 2.0613293210553381e+00 +1341 -1.2512275191889914e+00 -7.3197773890686790e-01 -4.9704217379221094e-01 +661 -6.1672900118326116e-02 -8.2310525195058182e-01 8.8920539922123565e-01 +1529 5.8142611269608491e-01 -2.2498387640513760e+00 -9.3627845598948944e-01 +398 3.5039835546900688e-01 -5.8519657154706484e-01 -4.0634659059001055e-01 +587 8.0405499633918331e-01 9.5938027463959530e-01 -1.8235811508925175e+00 +644 -1.4736780676786074e-01 -1.0853318705202575e+00 -2.2131648778667457e-01 +2281 -1.4032763521256564e-01 1.2534203494913927e+00 -9.1169867187174469e-01 +1348 -5.6467524197612351e-01 1.3024008776283122e+00 7.2162624147018767e-02 +2351 -3.3568230429741175e-01 4.1597841387446588e-01 1.1794413198111192e-01 +2954 5.7371788092133214e-01 7.6081812461256559e-01 2.8629528536022270e-01 +898 -3.6393217134230105e-01 -9.5254488804872406e-01 -2.9668625326714215e-02 +2093 -9.3349070276696822e-01 -8.0327027500404635e-01 1.5179974274344983e+00 +909 6.6690908230149359e-01 2.0259977231149018e-01 7.9137515267249228e-02 +1135 -3.2939658422688822e-01 -1.7338104629124082e-01 1.2144078390714577e+00 +1287 3.3069710330254021e-02 3.9327205990466574e-01 1.7809547762392690e+00 +1322 -1.8285991837344011e+00 1.4494120003292534e+00 1.0854370117033545e+00 +410 -3.6023346855322913e-01 4.9232501845130061e-01 3.0928010515593121e+00 +91 -1.2611833608516876e+00 1.7836969055487453e+00 6.6277080114864828e-02 +1680 6.6083315399459619e-01 -1.6636352139772661e+00 -7.9134475019379913e-01 +540 1.3593417613475295e-01 3.4406088370378241e-01 9.8126345856617170e-01 +1188 -1.2451588627058776e+00 -2.5638553198891917e-01 2.0566187297952503e+00 +1092 -1.4772235838437526e+00 3.9706781962188759e-01 -4.8705644282199048e-02 +1010 7.8804636672424999e-01 1.0893472122605485e+00 -3.0432958891598560e-01 +2953 -7.7378556878852423e-01 1.0516395144212605e+00 1.6678164584394324e+00 +2985 -9.0572561213712532e-01 -4.7243975319217946e-01 1.3717153210904578e+00 +2212 -1.4036823174343618e+00 -1.1562677003938369e+00 -5.9214516748041834e-01 +339 2.9814901702923524e-01 -1.7610662113011344e-01 -1.9102012424380610e+00 +2769 2.0704626399139650e+00 5.5934710217024963e-01 8.2574189240131701e-01 +314 -7.1899508962855430e-01 7.6844402398596051e-02 1.4453406167028602e+00 +1956 -1.9871468514062218e-01 -7.8239804640334065e-01 -3.5526072786777657e-01 +2703 -1.7939330219202174e+00 -7.3903069679395683e-01 4.1733095394826525e-01 +1501 1.9223264452501723e-01 4.1256323905697145e-01 -3.6793642662053122e-01 +678 -1.5494003074945952e+00 -1.6105904271697391e+00 1.7940301032741119e+00 +1356 -4.0629352754123599e-01 -2.3208201573451537e+00 -6.0477789026032780e-01 +316 -1.0690939621141604e+00 -7.2205345586226155e-01 1.0220664342183028e+00 +2853 -1.2637122981098063e+00 1.6539631609191119e+00 -1.6156440686722457e+00 +1074 1.6286323895810592e-01 7.3054662476911628e-02 -4.2600352586408180e-02 +437 1.4886022178810296e-01 -1.5810174613098196e+00 2.9488283307186619e-01 +969 2.7398152470342940e-01 1.8851327593551683e+00 5.0912308907355286e-01 +1569 4.3333779344615508e-01 -4.2476384297839148e-01 1.2687509476253398e+00 +727 -9.3448910877473590e-02 -2.9236188689529090e+00 4.3945912358066092e-01 +96 -1.8500387086522856e+00 -2.5184904160805375e+00 -6.7514881963196316e-01 +826 8.5944733221259240e-01 -1.1522912779148358e+00 1.0171205243639214e-01 +1427 2.6830095938767740e-01 -3.2327955943655617e-01 2.6389621082595727e+00 +2223 1.2655067093786587e+00 -9.5871942519042286e-01 9.6327688213941842e-01 +233 -1.8373140336030498e+00 -1.4418475558275570e+00 4.3371078829340143e-01 +2929 2.1823427476727689e-01 -3.5638792992760088e-01 3.4525226077817017e-01 +2502 -1.3963425838505514e-01 -9.2035499469042970e-01 -3.3761656505527660e-01 +1608 -5.4368578491732777e-01 3.1642804477704484e-02 5.4278676772287304e-01 +2290 -6.7953618465932264e-01 5.7745402839380081e-02 9.2765985709028209e-01 +787 7.8434969512456898e-01 -1.8564143850327675e+00 7.3122472076422629e-01 +1838 -1.2171485274743750e+00 -1.6054333718532003e+00 -1.2298160601995378e+00 +1638 -4.6263743062729107e-01 -1.1768809617376177e+00 2.8681511315270436e-01 +327 9.7621557491040026e-03 6.9595993322038752e-01 1.1712958655381100e+00 +561 3.7238676123745862e-01 -7.9016615573369797e-01 8.5639642726598320e-01 +2071 1.2782158985019909e-01 5.9541402676078903e-01 -9.9702066738685868e-01 +68 -4.8936863179035794e-01 -8.4883223290863563e-01 -1.3038636856782249e-01 +1784 -1.9927332819844885e+00 -9.9037459215635026e-01 -8.6151921647243890e-02 +2669 2.2593376871737572e-01 3.6927077940794900e-01 -3.9456965881518991e-01 +1649 -9.4705139629703561e-01 -5.8990512997915578e-01 1.7247716191108677e+00 +1544 -6.6089993322082818e-02 -2.3064066991573845e-01 7.5355323574760202e-01 +2927 -1.8490112084786354e+00 -3.6139021866460619e-03 1.6508736880780644e-01 +2934 -1.5819992392904190e+00 6.1692937240028160e-02 -2.4257579127366113e-01 +847 6.7086496436871390e-01 5.3840100904104560e-01 2.7576540004787120e-01 +1541 -3.5472971931357233e-01 -2.0735370139435660e-01 1.3057257942240714e+00 +1459 -1.1627215415828529e+00 1.4101615701797168e+00 -2.3650127788257311e+00 +590 8.0004929476397002e-01 -3.3753962361051010e-01 1.0340613241183176e+00 +2031 -5.7620339624999106e-01 4.4944920431441659e-02 -4.8259935410186233e-01 +2198 -6.2044218454926892e-01 -1.0094154731360403e+00 -4.4492680058641765e-01 +2129 -1.3414975928932391e+00 2.0299890611581531e-01 -2.5919240133682786e-01 +1257 -8.8208517676222320e-01 8.3603461098856513e-01 -8.2020630274756168e-01 +1585 -2.7737959512962584e-01 1.7420539867542981e+00 -1.6526692322224934e-01 +2909 -2.4080478880403952e-01 -6.1314616100363206e-01 1.5798214716029539e+00 +2442 -5.1355795725203102e-01 -3.9464371603279180e-01 8.2150296512367627e-01 +2160 -5.0918373638678971e-01 7.3342594913234371e-01 -1.3481356046880799e+00 +878 -6.2629182030780894e-01 -1.6806772317629504e+00 -4.6139187235157225e-01 +2676 -1.0187132784744911e-01 -2.3325822928891324e+00 4.0423392927809332e-01 +2155 -1.3873963016265338e+00 6.4017113615055132e-01 4.4691102755975454e-01 +1162 1.8980412878104996e-01 -1.6500826319853390e-02 3.0578182424880562e-01 +2481 1.1878892527795031e+00 2.3305851321897495e+00 -1.8598688214229573e+00 +2427 8.8789225353689194e-01 -6.4006456851259774e-01 8.9186027726704231e-01 +2642 3.4939781157586974e-01 -1.0363915379155786e+00 2.4989032965108474e-01 +850 -1.2788462928091671e+00 7.7841914432492987e-01 -8.3455200062686996e-01 +2236 -1.4266634292769040e+00 1.4416175652256362e+00 -1.0750998638739673e+00 +2519 5.1136877439896367e-02 -1.1194941286233095e-01 -1.1978207530415639e+00 +2476 -1.8891431276847823e+00 -4.4327021270884726e-01 1.7638845760447741e-01 +2328 -5.1379944783219611e-01 -9.9646102863069103e-02 -6.8623830684396925e-02 +1655 -7.0245539469285889e-01 1.8201094223957128e+00 3.1372178570750353e-01 +114 -8.0193222514048168e-01 1.2192578578263649e-01 9.6135928338779086e-01 +1994 -8.2180923753682178e-01 -1.3155587701106550e+00 -7.5870707312754371e-01 +2327 -6.9104094078318723e-01 -2.0280702627932192e+00 -5.9249985647965220e-01 +396 -7.1183681819573116e-02 -1.3864650639532075e+00 -5.5123579690933266e-01 +123 4.2315489473592627e-01 -3.3510978378808337e-01 -2.2779007151879460e-01 +2278 -6.4431081887108499e-01 -6.3601682273992211e-02 -1.0741025079679520e+00 +1353 1.2650903222580832e+00 6.4651615487874525e-01 7.4283983696783656e-02 +1616 -3.5487346353953386e-01 -4.0278689007587060e-01 -5.8086325015942825e-02 +1865 -4.8044295507561702e-01 1.1515037320279762e+00 -6.5691091816922187e-01 +260 -6.3336240074535621e-01 -8.7314967178833996e-02 1.2426508929581075e+00 +2007 5.9441677004205551e-01 1.9673209061393868e+00 -1.5340615556990078e-01 +730 1.0514029045369997e+00 -4.8300613632994860e-01 1.3055464878010015e-01 +2489 -3.5937246496914305e-01 -1.1307044206261432e+00 -4.7031953869562176e-01 +2588 -1.0479852401014150e-01 2.1093775365335699e+00 8.0820352134685691e-01 +662 1.0889714307224621e+00 9.3511610275665213e-01 -6.4091601723727831e-01 +1765 -6.0316345248941250e-01 1.8770972570687876e+00 3.0216283455465200e+00 +340 -3.2816401325397915e-01 7.4315626133229584e-01 1.9705137235121617e+00 +2080 2.0119512565858737e+00 4.2594539708041268e-01 7.4162990604341728e-01 +611 -1.1453680509208835e+00 -1.3043648608251333e+00 4.3289723714502604e-01 +2595 -3.3111300977190661e-01 -3.9446615961640896e-01 1.4101223223066566e+00 +2917 -7.5126124510593584e-01 -7.7207870492534336e-01 2.2340919571190176e+00 +2973 -7.0799668576970287e-01 -6.4436649403105262e-01 1.0234728900046224e+00 +318 -1.4562970468570394e-01 8.1968240734330045e-01 -3.3698180041889014e-01 +443 6.6039738328946118e-01 -1.2041038322735051e-01 8.6150062370075692e-02 +241 1.1913035840733046e+00 -1.1611614039573375e+00 1.2267920406188582e+00 +2561 -2.2069426935336284e-01 3.2613457995114514e-01 1.4124615804518255e+00 +221 -3.4604308414352353e-01 -1.8312883657137616e-01 -1.1197555742008132e+00 +1056 -1.0931605038827017e+00 4.8998615426852599e-01 -8.2803985950595027e-01 +1286 7.1813139328086395e-01 7.5626859683811398e-01 2.3272594034389629e+00 +440 -3.8219190483684318e-01 -5.2668476328744807e-01 -6.9571421398196265e-01 +2066 -7.0692517764816953e-01 -1.9104975794995227e-01 -4.4596155063036230e-01 +742 3.0538891617240549e-01 4.5970430116490679e-01 -1.2418536044292241e+00 +859 -1.8753206155612331e-01 -1.1554444466319036e+00 3.4145506492069100e-01 +351 3.4927282270611199e-01 -6.8046373376341396e-01 8.4802654485308460e-01 +2860 4.5564176821371416e-01 2.2722160326031737e+00 -6.4770497135159166e-01 +2130 7.6449081098667970e-01 4.4879240014901434e-01 1.3985666310744185e+00 +2869 -2.3124690247156843e-01 -8.2668288386249966e-01 2.1023820988219866e+00 +2871 3.3156957017253230e-01 -1.5616736644293852e+00 -3.5571166550423911e-01 +2552 -2.7704760334596124e-01 -1.0952283663598983e+00 6.7228234299843287e-02 +127 -1.1553238977757360e-01 -1.5296130587012144e-01 4.4816971660197596e-01 +1602 5.0043201596928943e-01 3.0241980485029955e-02 -5.0751696073882346e-01 +2892 -1.5088665933356666e+00 -8.6876326675055807e-02 5.3671136925474294e-01 +917 -8.4882639528200654e-01 7.9927733031867376e-01 -1.2080346496529319e+00 +1836 1.2991499373446729e+00 9.6915747634576044e-01 6.0661432991642805e-01 +946 9.4525864332719678e-01 -3.5406324704317177e-01 9.8295540556478966e-01 +1410 -1.1489184478426773e+00 1.3950164448110103e-01 1.2576426027720287e+00 +761 4.5271764648870449e-01 2.5025631385992769e-01 -3.8568515886785648e-01 +1596 -1.9273649781520655e-01 -2.9676700114222565e-01 5.6027109036071465e-01 +486 -1.8797849008149781e-01 -1.1492105818853506e+00 -1.6291164789889792e+00 +636 6.9980940228104208e-02 -1.2119160551892745e+00 -1.1525191744539833e+00 +593 2.4250372399706124e-01 1.2074218538232395e-01 -2.4695048009171541e+00 +72 -3.9185326179677377e-02 1.1913927327939107e-01 1.6077520709627908e+00 +1329 -6.6634926013937268e-01 -5.9185929212721766e-01 -1.3508261561055273e+00 +1730 1.5288993200614671e+00 8.2185490981052367e-01 5.2151279507858334e-02 +2847 -1.4167914329944911e+00 1.8204479161161222e-01 5.9131631258078610e-01 +23 3.2066329456337961e-01 -9.4663993957027270e-01 -2.0006606081583986e+00 +1394 3.8228579533503443e-01 1.0689584253966067e+00 -1.9717426150344406e+00 +798 8.2399322338918413e-01 1.0459109948580826e-01 -2.6858592353575339e-01 +1155 4.8108304421644205e-01 5.1083239014704540e-01 -2.9561494529192023e-01 +2568 -7.6642448262107177e-01 -1.1187645379248274e+00 1.1684491399983408e+00 +1289 4.1973249081579478e-01 1.8847723915190890e+00 -1.5887749474150953e-01 +2741 -3.2480981157259614e-03 2.3915740929501586e-01 5.5211045961966954e-01 +2969 1.5162276900795335e-01 5.3965131971994751e-01 8.7907564585420594e-01 +1839 -9.1014034524037413e-01 -2.9894125618448031e-01 1.8533765224577208e+00 +804 8.6343427611858037e-01 3.2564504844238656e-01 -5.0361462519875388e-01 +2388 7.4527537024655788e-01 -2.6474185410276436e+00 -5.7188500572484402e-01 +2382 -9.9335594463155563e-01 -1.9063657845245849e+00 -3.9419731531889324e-02 +380 3.2728243638926641e-01 -1.3481770730044422e+00 2.4037106412423509e-01 +568 6.1846423548260498e-01 -7.2505544829456148e-02 1.6701328461000366e+00 +1902 -1.6435247983102241e-01 -1.1137521779332367e+00 -1.4185035509874151e+00 +1154 8.0362813935852140e-01 -9.3195853463106049e-01 7.5161132159546895e-01 +1285 -1.0452488086644475e-01 -1.4910281294814640e+00 3.2388546364989046e-01 +15 1.0971555674712294e+00 1.1268470347799924e+00 -6.8821815171915812e-01 +1140 -1.8635116978488964e-01 1.6019325080006235e+00 4.9397076849356619e-01 +539 3.3111433516482075e-01 2.6978489855549609e-01 -1.8451999141445279e+00 +433 -1.4104650377531966e-01 3.1059394933209228e-01 -1.6795313618618894e+00 +2549 -1.9739053058054967e-01 1.6024012491707337e-01 -2.1607315301607741e+00 +1701 1.9635900145833801e-01 8.1531918293753824e-01 -1.8566685545190051e+00 +2222 1.3148739924316311e-02 2.6816800980019595e-01 9.3535252580502815e-01 +2002 9.2071901189286931e-02 1.1051090114558635e+00 3.0295308340570470e-01 +423 -1.3450792645416298e+00 2.4216539187108857e-01 -1.5117968918480464e+00 +1334 -5.5099020482743977e-01 -6.2929877415832125e-01 -5.9755045723444422e-01 +2570 4.0119143767633708e-01 -7.1767660502128433e-02 2.2124884903606592e+00 +2037 -1.9653462734755447e+00 -1.0906799583584648e+00 5.1986868676960973e-01 +1990 -9.1839868264018920e-01 -2.3182857540745369e-01 3.4886131353389377e-01 +2681 -1.1727755852598762e+00 1.2898767036739247e+00 -7.0185214497552262e-01 +1314 -2.9400543702347731e-01 1.5464921232287667e+00 1.1397699444457270e+00 +2544 -7.9647260851059914e-02 -1.1505586352705526e+00 1.3226186181053756e-02 +2350 1.1703478236156559e+00 1.6346235385641210e+00 -1.1205429204303108e+00 +2682 -7.0480130333580093e-01 8.4778712208412244e-01 -6.6901749196559535e-01 +2312 7.1388674289978904e-01 -4.0406261758165835e-01 2.1133030350470960e-01 +1491 1.3876561131746015e-01 -7.4893660183936517e-01 -2.1885828230772355e+00 +1340 6.6710206190072119e-01 -2.5019479070045745e+00 1.8116163156588527e-01 +2646 3.9615953247353930e-01 -1.2686774437210206e+00 -9.2932258775048804e-01 +1976 -3.6207243212174833e-02 -1.5468181829432657e+00 -4.5761084437804828e-02 +2083 -5.2177616878323707e-01 3.9739430539862347e-01 -3.2294534785539680e-01 +2753 -5.1221845803124766e-01 -1.7268818661372194e+00 -4.5652545183188664e-01 +1620 -1.8810359816435820e-02 7.9133978632898805e-01 -2.0297337296395510e-01 +812 1.0614474559240707e+00 6.7101233698552776e-01 1.2973363629223349e+00 +589 -2.1051776236920555e-01 -9.7078147512665997e-02 5.9652313839887428e-01 +1825 -7.0311383575479880e-01 2.8111709533448087e-01 1.0569228098659860e+00 +2076 3.1524460579445207e-01 6.3298213861365060e-01 5.1369993280114201e-01 +2315 -1.0517914252147451e+00 2.8394567910054930e-01 -8.2086691833442149e-01 +2889 8.1543148249561637e-01 -4.4068710320285231e-01 3.4470476934422212e-01 +28 -4.1058679145719301e-01 8.5080831466664708e-01 4.8872010625898599e-01 +1192 1.0135515039373162e+00 1.3311040651101229e+00 2.1184286535044379e+00 +2966 1.5587892617029953e+00 -5.9352709970964965e-02 1.0506497281262965e+00 +2109 -4.9955755877464376e-02 1.0143101957462795e+00 -1.8147179764509483e-04 +1858 -4.6039485567501404e-01 1.8927219007748461e-01 -7.6040689801161743e-01 +2656 7.8653924703200068e-02 1.8569163313938131e-01 1.5949030904338990e+00 +834 7.0743844362246755e-01 -6.4542025691605898e-01 2.2415935452207864e-01 +2912 3.3989754600537431e-01 1.0041868158951075e+00 3.8386879331283741e-01 +1226 -1.9395349897545409e+00 -6.6958517943689910e-01 8.9121162182643066e-01 +2652 1.9313551844935359e+00 -8.0186224907122849e-01 -8.4375395544983733e-01 +1364 6.1838785558906172e-02 3.2979939447696852e-02 -6.7910045972099498e-01 +964 1.1298709155057878e+00 -1.4823731131391302e-01 1.1305235678150058e+00 +142 1.3998972315437701e+00 9.3846210232382515e-02 -1.2984158161748000e-02 +653 9.1325410605719054e-02 2.1641351087717049e+00 -3.6143802412006654e-01 +1081 -4.1454834725237455e-01 -1.5356866252912003e+00 3.8828076695029473e-01 +2338 -1.8205422677621673e-02 1.0219633746140677e+00 -3.4309906125534306e-01 +2768 -9.9985862594477326e-01 -7.7291516636514868e-01 -8.0304001851477280e-01 +1402 1.0661964817967673e+00 1.0719601722593586e+00 -8.9632043175343801e-01 +1205 1.0959212862259864e+00 -8.3914837367451023e-01 1.5592242898589264e+00 +1713 -3.2152566811733774e-01 8.0155176927218130e-02 1.2878774674738842e+00 +2032 3.8652210408934817e-01 1.4248837230392941e+00 8.0678927796467959e-01 +829 1.0427508207431102e+00 -2.6735894996049514e-01 1.7452029246472671e+00 +2775 -1.1900909533218651e+00 6.0573687675548094e-01 -1.0572539712095002e+00 +1121 -6.1045503770483500e-01 1.8120951506035115e+00 1.7484490873846870e+00 +79 -9.8143856595096224e-03 -1.4707726410600083e-01 1.1794459090165373e-01 +487 -1.0981626593490144e+00 3.7320352889478736e-01 1.6577738771825368e+00 +1304 -6.7387126220190163e-01 1.6622597674421911e+00 1.2931434958560777e+00 +639 -4.1252577205125518e-01 -4.1905222946053367e-01 1.4835257344087420e+00 +211 -7.4713133190567849e-01 -1.0975837770991903e-01 5.8723193370197158e-01 +2789 -1.4688338437503405e+00 -4.6204950557090807e-01 -1.4571371309261055e-01 +1055 -2.3036926337646552e-01 -1.0223404397961722e-01 -1.5319348334531349e-01 +1235 1.7434337959356565e+00 5.5162747110888888e-01 -1.9419912507726118e+00 +922 7.1363807475597818e-01 2.3717241947838674e-01 3.0715268558048958e-02 +2500 -4.4282093748359436e-01 8.0864813959753512e-01 7.2647135049250577e-01 +2335 -3.2957071478865968e-01 1.5334211170128755e+00 3.2843755037948952e-01 +2274 -1.0155677863719470e+00 -7.2291274039223652e-01 -9.1758424061736854e-01 +1044 -8.3594374182393860e-01 -6.3409081861077410e-01 1.2496908846658201e+00 +2342 -2.1640112142074575e-01 -8.3280412600859810e-01 9.2834303956331043e-01 +2704 -5.0357021284090986e-01 -1.1539726883532002e+00 3.6614572992615957e-01 +695 -1.1175745296130362e+00 -1.1512406486540734e+00 -7.9195699559388921e-01 +2904 1.2673150649835576e+00 -2.2257874774604899e-01 1.0838517939786957e-01 +1927 3.0946229273368375e-01 -5.4730396847899210e-02 2.7532264577113885e-01 +2173 1.3847537981698150e+00 -2.3605596625507368e+00 -7.2798350246593790e-01 +1747 5.6503641047132880e-01 -1.7681062033045438e+00 -9.1771529511416083e-01 +1386 -8.8422685973689930e-01 -1.0250363199653674e+00 4.8164186844203383e-01 +941 2.4037734915732054e-01 -1.2472830168087077e+00 -8.2543222522386117e-01 +992 -3.6391451088208787e-01 -3.9250977789189401e-02 5.6624394061560768e-01 +2098 4.0595754303761622e-01 7.9520156771611672e-01 -8.5613438169052286e-02 +2960 1.8755448768584317e+00 -2.2902325284629127e-01 8.4831702441616252e-01 +1693 -3.8273392372803544e-01 4.4358618055687193e-02 -5.7476802917109637e-01 +1283 1.3581898196329527e+00 8.5496162404592924e-01 5.1205706467971901e-03 +1752 1.1212951063508450e+00 -2.4289483146344387e-01 3.9498891822023463e-01 +2585 2.0042312930386008e-01 -8.6402746016697551e-01 2.1801739495966821e-01 +1508 1.2216130021809273e+00 8.0876923698079028e-01 1.0291261868781780e+00 +2217 5.3000299977127219e-01 2.9210431434336237e-01 -1.0887233156782775e-01 +2581 6.4074489901478371e-01 1.0724194850185174e+00 1.2781105431084505e+00 +1812 3.5090659703033383e-01 -1.3013084666045351e+00 9.0012487171929267e-01 +2662 1.3671024376669889e+00 3.3028268978461972e-01 7.5700352634527590e-01 +329 9.8562030056576722e-01 9.1059267514462450e-01 5.5507328279644907e-01 +284 -1.2550502652436160e+00 -1.2553217306984072e+00 2.4538754037605379e+00 +2415 -2.3613598441767961e-01 1.3628287483975678e+00 9.0193210926269335e-02 +702 -1.3814395025732246e-01 -1.4085690303088942e+00 8.1104074462615428e-01 +1058 2.4093700825700262e-01 -1.3827912380666918e+00 1.7901812025552122e+00 +2150 -3.5740218396303769e-01 -6.2354381791393396e-02 1.4649355922588354e+00 +668 -5.6775799493086687e-01 6.5815674139176217e-01 7.1886355909959079e-02 +2511 -1.3016595572909935e+00 1.1361252301812794e+00 -2.2813876382902246e-01 +1319 1.9889581538315479e+00 1.0764223295635860e+00 -3.4549715141840270e-01 +1134 5.9938016438518135e-02 -1.1847908678841668e+00 1.6229537307539013e-01 +2849 -4.8489125698867436e-01 8.3662980351645644e-01 -1.1540193592651331e+00 +53 -1.3741358054610020e+00 -1.2476823446754264e+00 -1.0552859543097355e+00 +2576 -2.0880067988776380e-01 -9.4578706501114373e-01 3.6300211904702451e-01 +2399 1.8771168900558284e+00 6.9095932585029593e-02 6.5883767619747635e-01 +2714 7.2670515142063730e-01 -6.1616573118458795e-01 -4.1676439708800295e-01 +1899 -1.1509223546313356e+00 -5.6112978574334349e-01 -1.0125585437881128e+00 +1654 -4.8849531940491697e-01 1.1868888645531721e+00 1.1714431641975467e+00 +1903 8.6847969551685866e-01 -6.4216387138151287e-01 -6.9346764249421999e-01 +2011 -2.2829899531248185e-01 -1.9100174218828561e-01 -1.5828248558092459e+00 +2239 -5.8697114302885922e-01 2.7827717175207545e-02 -7.1165242259034145e-01 +2678 2.0282129585234348e+00 1.6956930381319999e+00 -1.4049005878867920e+00 +1766 5.2308621219005691e-01 -6.0739068720538258e-01 1.8492126815077949e+00 +951 1.5973219648725068e+00 -4.1707249446409489e-01 6.8519269483923662e-01 +1579 8.3515535202746549e-01 1.0664173772980816e+00 -5.5413906217778663e-01 +422 8.7706110591064368e-02 -7.2078648597228789e-01 1.8077030410363959e-02 +1657 8.6187529766310478e-01 -1.1597750659597104e+00 -5.4430648241121748e-01 +2771 -3.7559647564830012e-01 1.8057247700024287e-02 -1.3330240175292936e+00 +1428 -8.4420346709400096e-01 -1.1919444175737184e+00 2.7118863907052559e-01 +1266 4.1013689421425314e-01 2.9556702155410119e-01 -2.9073786257577533e-01 +2064 2.3260462139346472e-01 -1.3306856829548990e+00 1.0986058792991673e+00 +1361 -1.3041667576967448e+00 5.0748414409400122e-01 -4.1662838974399014e-02 +2694 7.2265891026475715e-01 -2.0475844765662293e-01 8.0552348922273254e-01 +2149 -8.2805059971622874e-01 -9.4010096830115419e-01 3.2907866601096997e-01 +1950 4.0726274006229901e-01 -8.7583936741552204e-01 1.8008070214873655e+00 +193 6.7771373743469399e-01 7.6859256666814169e-01 6.6923498809100046e-01 +504 3.0428194924996782e-01 -2.2897537892236342e-01 5.0621748655788490e-01 +1082 5.6803479940448465e-01 7.4756124681619196e-01 -1.8951204606008271e-01 +2485 -1.0876125975830284e-01 2.2010324161784873e+00 6.6555325454945558e-01 +1890 -6.1113816642254848e-01 8.7324775747301997e-01 3.7083644360816420e-01 +113 -8.3628682335401217e-01 2.4458649825758549e-01 -2.6336468218830511e-01 +2859 -1.4048776832595872e-01 7.2050305316684204e-01 9.3849857464131903e-01 +1301 -6.4632558624690539e-01 1.6625800258209007e+00 1.4754890428958711e+00 +2095 -1.2547605103416810e+00 1.3449526128799578e+00 -3.0934913971913264e-01 +1538 -9.6270879819212363e-01 1.3652172916152161e+00 9.0453623654590276e-01 +1942 -6.6288925954085642e-01 -1.9841248154156799e+00 -9.5324616816005536e-01 +215 -2.3399460906493955e-01 3.9285896462171688e-01 -3.4743609884651361e-01 +2506 -4.7460223080412883e-01 -2.0466746256726709e-01 -4.6781908946379513e-01 +1589 -2.6860204428362566e-01 1.1830069887197852e+00 1.0661774285159329e+00 +1750 1.0802149705868971e+00 -3.8293232988856507e-01 2.7286307284066880e-01 +2533 2.3080743733773459e+00 -5.5655148395956544e-01 2.8978119463515739e-01 +384 9.8336903647796503e-01 -2.2066583949631610e-01 -1.0976955627201037e+00 +2058 1.0047605746956145e+00 -1.8783422349931228e-01 4.8252549695915520e-01 +251 -3.2983378159259713e-01 -1.0417532500790907e+00 1.7772948391686672e+00 +2766 -5.3742467279778761e-01 -2.0933671182804203e+00 -4.0042538680118989e-01 +1124 7.5933787189360369e-01 3.3170814233920376e-01 1.1090666455056137e+00 +2722 5.1882788275622516e-01 -2.8487435637186369e+00 8.9814429523018802e-01 +2640 1.6049352810119588e+00 -2.3717164994142919e+00 -6.5339646356020398e-01 +1888 1.2665190022196653e+00 4.9597050900553741e-01 7.2470762033311442e-01 +275 5.1358608683383555e-01 -2.3326966191015801e+00 -1.0070059953623041e+00 +886 1.0691041982022305e+00 5.1093216583966672e-01 -6.8787054915374524e-01 +1841 5.8659053632883394e-02 -4.6289567181624391e-01 -1.0267710045337877e+00 +1384 -3.3468025321665207e-01 -6.3542786484793279e-01 -2.7040616043669963e-01 +1753 -2.6355826293148843e-01 -7.5385710792458183e-01 8.2790037523928794e-01 +1783 -9.3229110036394880e-01 -2.0200979235484002e+00 -2.1873403853391374e-01 +2447 -4.7636742343162464e-01 -5.0329656604742916e-02 1.6631851171881036e+00 +2583 -3.9584547154960331e-01 1.8672776780780656e+00 -1.2407952013483601e+00 +2486 -3.0841472759411759e-01 -1.8162730648319814e-01 -1.5092599322012157e-01 +1968 -7.9184047825935300e-01 6.0748090594989690e-01 -1.5501609431568950e+00 +2915 -2.1944333815116450e+00 -1.2438927607804839e+00 -6.9560970494728003e-01 +235 7.0585975688916935e-01 4.4110454931991022e-01 -2.2564857275512934e-01 +1381 2.4769366892050076e-01 7.0919487168512219e-01 7.9692628109686581e-01 +2104 1.7745856230937673e+00 1.2370347695768644e+00 7.2648442124406543e-01 +1480 -1.1419138615058118e+00 5.0357599786452933e-01 -9.6365427288563543e-01 +2375 -1.1981202022979223e+00 -1.6086746495710933e+00 -5.8025763198508118e-01 +726 -1.8582049511784193e-01 -2.4434556892373478e+00 -9.1128473527401577e-01 +765 2.4475587244595076e-01 5.0563149320815837e-01 5.7533496323213629e-01 +1186 -3.3920431068041462e-02 -1.6542238622153635e-01 -2.5085409387902025e-01 +2079 6.0168775053141066e-01 3.4092959291357805e-02 -3.3759298161845841e-01 +875 -3.1697988140497951e-01 8.9020022319239223e-02 -3.5015254717364458e-01 +2325 -7.0745341387121141e-01 -1.6692240476876661e+00 2.7645086483653908e-01 +1372 -1.9033292390096908e+00 1.1596913426307742e+00 -1.3780800006683536e-01 +2477 -4.2064767578631590e-02 -2.4067730353612298e+00 1.3522572481535593e+00 +2938 1.2408284548956590e+00 -2.4496984430821761e-01 -1.6151642927922778e+00 +2868 -1.4549941701623217e+00 -4.8309452780046735e-01 -1.6897625044260414e+00 +116 -5.3681334530608693e-01 1.0711494379448186e-01 -7.2682015698827407e-01 +2273 -4.8221831686039102e-01 8.9490387689392589e-02 2.9036150440267905e-01 +1031 -1.1008061837679628e-01 -6.7052211816700957e-01 -3.2945184291773877e-01 +1486 -6.3633041837381876e-01 -3.4642750109175099e-02 2.7993376834739925e-01 +2604 -5.6841053046503776e-01 1.1597250820197813e+00 9.2572666348252763e-01 +1333 1.1095772690437649e+00 -9.0529706186103875e-01 -1.6910007910439349e+00 +2800 -1.3507738167347432e+00 1.3592652062567916e+00 -6.0739759669599047e-01 +1989 1.7860601931053355e-01 1.5231199221659093e+00 -1.6520986448742194e+00 +1085 2.2733523282266921e+00 1.0990100421725533e+00 2.3232362138300511e+00 +2018 -1.0666764810316420e+00 8.3418337324933023e-01 -3.1602253499641053e-01 +2047 -1.8486603623376199e+00 1.4582348689886235e+00 -2.1414337705042094e-01 +764 1.2417941282519984e+00 7.4908786905398350e-01 1.1815898977914521e+00 +271 -4.0822632841877271e-01 -2.5502649651004922e-01 1.9433590460053881e-02 +968 7.4982339245060547e-01 -9.8252166623957182e-01 2.7885296320655489e-01 +2202 1.2645137475014305e+00 3.7702389672438974e-01 2.6147732497181664e-01 +2939 1.9888444187929874e-01 9.2539838971294652e-01 1.6568560810518289e+00 +306 -2.0421692888081715e+00 -1.1959989392544028e+00 9.1813856953511142e-01 +2492 1.3181947510718570e+00 4.8421774729395028e-01 1.4538122650218499e+00 +2914 -1.6509411023372018e+00 1.2778429084929541e-01 4.1110907541168468e-01 +1262 -5.5690978841150714e-03 1.5320257887552740e+00 2.3118080597850033e-02 +1000 -1.8450559162885030e+00 -2.0949384323165712e-01 2.6491973691836351e-01 +2258 -5.3727968045524732e-01 -8.1132425140060938e-01 -1.0583049131972897e+00 +631 -6.0513018478589709e-01 -2.3387097851884175e+00 -1.9411052837286176e+00 +1095 -3.0327366277320210e-02 5.0648928399230075e-01 -1.4306855715198288e+00 +480 4.5967961771995153e-01 8.4017900557503067e-01 -1.8330766321152736e-01 +2599 -6.3124640104241714e-01 7.0320077166551942e-01 -1.2947910978551366e-01 +280 7.3339559653237218e-01 -2.3292465698695692e+00 6.6901456787474367e-01 +2725 -1.2483157281588639e+00 5.7396887083214010e-01 1.8424230565947424e+00 +1123 1.7786319182493533e+00 -3.7169613596428119e-01 -2.3362087522251179e-01 +2935 2.0896791282194100e+00 1.9640316461023866e+00 -6.1166192236311612e-01 +650 5.6241658483412527e-01 4.5092719190963365e-01 -2.7798453437690235e-01 +421 6.8040796878355803e-01 -5.8178596503610980e-01 2.4045136506014947e-01 +1636 1.0189365982200229e+00 3.0199148730315717e-01 4.2395723011709463e-01 +2821 7.1570639711797801e-01 1.9184652968572699e-01 -2.8736441162994864e-01 +1792 5.8038475836053005e-01 2.5334164806383859e+00 -1.5435421473724829e+00 +1555 7.0919068392490259e-01 6.4448153954805165e-01 -7.0629840662406973e-01 +289 -1.7129885390884239e-01 2.4935909141329177e-02 -4.0983223629578169e-01 +2772 -5.2677995878442752e-01 9.0487299456838199e-01 3.3783888156584735e-01 +1309 8.1157277257497340e-01 -8.3815763080508432e-01 2.6145868423812746e-01 +1196 -2.5064596096752427e+00 7.0291100491648584e-01 -1.0660378513316671e+00 +609 -7.4035613055321636e-02 1.4676039876221618e-02 -1.7677776633172986e+00 +828 -9.7809293735822522e-01 -5.5745890605130555e-01 4.5429794661335038e-01 +1011 9.0184387420540635e-01 8.3492557198545192e-01 -5.5511070272171303e-01 +712 -6.8697784831087946e-02 -1.3409304807453737e-01 -2.9414390022489436e-02 +1239 -9.4295136492371556e-01 -2.4265120027787321e-03 -1.2316142194799615e+00 +1274 -5.7432679360998695e-01 -9.9347108400526773e-01 8.9540900040690252e-01 +1475 -1.7547431878968006e-01 -5.3125403762664614e-01 -7.1156885247435220e-01 +2077 -3.1675218684584061e-01 -1.1274586753098021e+00 -8.6018743054663685e-02 +732 -8.0742548643003920e-01 3.1481847604637525e-01 4.2979436790767744e-01 +2191 7.1231315947704921e-01 -3.9292157505297898e-01 -1.7225324342949855e+00 +1801 3.4636943756252270e-01 -8.1505212712745201e-01 7.6955647735876986e-01 +1566 5.7153239511579279e-01 2.7647735198567963e-01 7.8530475995325977e-01 +506 -3.6591674388013595e-01 -2.6763180371417450e-01 -8.0615159660821401e-01 +666 -3.2306700742602029e-01 -5.4384880802117397e-01 7.7995485244810758e-01 +2887 2.4500070145339264e-01 -3.4072895504942935e-01 3.5797746793091145e-01 +69 -1.7100091587001293e-01 7.3861520460908492e-01 1.2760792765678615e+00 +1417 1.0474821589724568e+00 -3.9497793393366171e-01 -1.1819544869449579e+00 +2885 -1.2501943277883172e+00 -1.1611018098124981e+00 4.7655947133434789e-01 +556 1.3865187688140683e+00 -7.4983294190987926e-01 -3.8428112587489893e-01 +1436 5.3904399883887744e-01 2.5539477987101855e-01 -1.8009698785851400e+00 +1862 6.6220513409282655e-01 9.0404236285556783e-01 9.1445492517205920e-02 +93 1.1146619537261877e-03 -2.3211651596696421e-02 -1.6723754800658375e-01 +1400 -2.3399761137396085e+00 2.2326204532707772e-01 -5.9616098907219983e-01 +2738 -1.5483311528330026e+00 -9.3057146256102297e-01 -7.5188354053932227e-01 +586 -7.4796127233422960e-01 -2.2451132051563000e-01 -1.7620173235314571e+00 +1136 1.7498903649388975e-01 2.6453005250892953e-01 -7.2781840681242105e-01 +1107 1.5118383636136923e-01 -1.1114810578419527e+00 1.7733148785290154e+00 +7 -4.7288790637866418e-01 -1.4730193462000674e-01 -1.2557278405256573e+00 +2510 1.1155194353664037e+00 -6.6225257446778385e-01 1.4212730907888682e-01 +1786 8.2332895339571853e-03 -4.9251264088805191e-01 1.7079494478371995e-01 +154 -1.6621929482717479e-01 3.4999787654684388e-02 9.0632000726146844e-01 +938 1.5811870989122750e-01 -2.6949319064682173e+00 -3.8644257249736458e-01 +496 1.0170360708429986e+00 -1.6172906233946214e+00 3.5059164737166221e-01 +853 4.4195617245466745e-01 -3.5942569676178165e-01 9.0239785833071740e-02 +2946 2.1640248594723981e+00 -1.7911365622765179e+00 1.1076643508814830e+00 +1848 -5.1455077783357128e-01 -4.3792062928956926e-01 -4.2663810828679349e-01 +1874 -1.4174309279923261e+00 -1.8091161025754071e-01 3.5694399808329147e-01 +159 -4.7147675318311877e-01 7.3759266645499066e-01 2.9792969551371884e-01 +2880 8.2558542683912972e-01 -1.2810368672118846e+00 1.1460565821340503e+00 +1308 1.6086669154327082e+00 3.8155864462202477e-01 2.1195810633459133e-01 +90 -6.1103373437939013e-01 -2.1487452860525827e-01 3.6319755465845949e-01 +2392 1.4267587280420682e+00 6.5553909417601008e-01 -1.1877005931815305e+00 +746 -4.6102707099457496e-01 -6.3315358587325743e-01 -1.3384970165097315e-01 +706 -5.5263158259652168e-01 4.8222770279457211e-01 1.5653966785908153e+00 +1915 -1.0859938447770043e-02 -4.7090486501664452e-01 -8.7752806047731702e-01 +2550 9.2360798739183403e-01 -2.2495539583885060e+00 -1.8549193959146402e+00 +2008 6.4570733205181896e-01 -2.0049602035254785e-01 -5.6611223697465840e-01 +2670 3.7216202666291687e-01 -8.5343314273905763e-02 1.8928525159107890e+00 +1399 4.8757673993096856e-01 -9.6461165928766593e-02 2.2908873275546897e+00 +336 -1.2346543845598155e+00 -1.1120116871475780e+00 4.1372415363443338e-01 +869 4.7806778047045689e-01 -2.0218425593079634e+00 1.0497851767956070e+00 +2655 1.1283701320707420e+00 -1.8416601850882144e+00 -1.6814833590395900e-01 +2412 4.5884217235037056e-01 -1.2162896779507086e+00 -8.7724492650844443e-01 +378 -1.5928609674354131e+00 -9.1960394547141777e-01 1.1940483592089482e-01 +1324 1.2733091877500249e+00 2.5154101152119028e+00 -6.4869113614931717e-01 +1420 1.1686159817694137e+00 -1.5263317317095249e+00 -6.6079614501462391e-01 +1628 3.1740595397444493e-01 4.0683954568512354e-01 -1.1424188462891889e+00 +375 -7.9517316907280022e-01 7.7721577922878760e-01 -2.0180140511211278e-01 +2459 1.7214151156412842e+00 1.8235399884082257e+00 2.7896050091952868e-01 +996 6.1591211919306321e-01 3.0241583650997589e-01 -7.2298573295795060e-02 +1122 -4.3125972998676632e-01 1.1077063140882621e+00 -1.3619175401305410e+00 +2980 1.6774798050373985e-01 -7.1361329614598334e-01 -1.9203633352691933e+00 +237 -1.2920139500788326e+00 -2.3218019974741830e+00 7.8617160304935918e-01 +452 5.3200631441924295e-01 -1.7607034056558810e+00 2.1913011087511639e-01 +1276 -1.2349024733016039e+00 -1.1479750195048066e-01 6.6911444107617146e-01 +71 1.0217028577449712e+00 1.7764990081227288e+00 -3.6812731734143828e-01 +1868 -8.2009787506631626e-01 1.4356769695836458e+00 6.4031852851771143e-01 +285 3.1480353983556364e-02 -1.2040904916588506e+00 5.2258729349639355e-01 +1291 -7.0040068651809451e-01 -1.1764150859607718e+00 -9.0638777509417290e-01 +1194 3.4720640001007759e+00 -4.8621707947000270e-01 4.9047921096487750e-02 +2813 1.0724443542230402e+00 1.3315527986006082e+00 -5.3477776935715249e-01 +1307 1.3355549475184600e+00 -1.6652547340360965e-01 4.4361528381046578e-01 +2426 6.5350887813933711e-01 2.1514861632869114e-01 1.1477071783557604e+00 +2716 -9.9937170134217634e-01 -1.1410408988966667e+00 1.6434481318792040e+00 +1050 -1.4179749694037627e+00 -4.2888903754875735e-01 -2.2793803672991721e+00 +2267 -8.7365347265408483e-02 -9.4069204847636212e-01 -4.2493794827790399e-01 +2234 3.5910165971124175e-02 -7.1131899437216053e-02 1.2045964743393125e+00 +21 -2.1797022198528184e+00 -2.6766919374888631e-01 4.7680950946553763e-01 +61 -2.1362765031728568e+00 1.2906723666520750e+00 7.6758327642475074e-02 +2306 -7.8328863286671838e-02 1.7543044154028600e+00 -1.3144261910107142e+00 +953 3.8522635761892221e-01 5.5977253931822762e-02 1.2110088577281652e+00 +2157 -1.5008271046656255e-01 4.1452400798219069e-01 1.0037592425460933e+00 +773 -8.7967923591907402e-02 -6.0961808905354964e-01 1.5582005696198429e+00 +1571 -3.6566521832123833e-01 1.1504560018475969e+00 6.6075077585334552e-01 +1823 -1.2457082975320311e+00 2.4339912508682338e-01 2.2814307524803482e-01 +236 1.6650294266797787e+00 7.6309803596518322e-01 -1.8847523617615497e-01 +2272 -9.8681347113231538e-03 -1.1484021649635817e-01 -7.5436665782482593e-01 +1999 1.7939448977270771e+00 9.2346328716751147e-01 2.1584936805743710e-01 +2591 -5.0712995070496314e-01 -4.0121537480534619e-01 -1.8992188922946140e-01 +1281 4.0635791596889703e-01 5.4405264229948277e-03 -1.6566028760253071e+00 +1864 3.4582462359121657e-01 8.2134176231012157e-01 1.3078567816257650e-01 +296 -2.8193219354855181e-01 -1.2266315784954331e-01 5.8261619325301750e-01 +1662 -1.0686790997422608e+00 1.9478761417868562e+00 9.0118137357380046e-01 +638 9.5478725817783783e-01 2.1304223534214310e+00 -1.1276156480998245e-01 +2017 -2.4225260868322551e-01 -1.7208573768637971e+00 5.7129513161753642e-01 +2721 3.7761919368274560e-01 -2.5768242337918030e+00 9.8861735166956299e-01 +1799 2.0263623307793716e-01 2.5320731008759187e-02 3.3707102662108246e-01 +835 -5.3907608729151224e-01 -1.6855431027197250e+00 7.7024798190622523e-01 +1650 1.6442921929071574e+00 -1.4266117497747115e+00 6.8444816512073570e-02 +1788 3.3506812944341013e-01 2.6018820306719403e-01 -1.1211403123781775e-01 +1543 -5.6710033721879355e-02 6.8945021237477433e-01 -8.7280019948117760e-01 +1104 -1.7604281447823604e+00 7.4815510376560035e-01 -5.9522267563079401e-01 +1119 -6.8001459704091349e-01 -1.4339960745847657e-01 -1.3835862045105707e+00 +841 -1.7471951265700525e+00 -1.5054221218094516e-01 1.9075527308518494e+00 +2857 -1.0988290923739445e+00 7.1882686728660394e-01 -8.6434473601398487e-01 +2589 -4.7116840598625226e-01 5.8567625068690010e-01 5.9559843836540893e-01 +814 1.0797331584205444e-01 6.7111119889995186e-01 -1.5323318029919455e-01 +2344 -1.0465004100133268e+00 3.3681048685190462e-01 -6.3908229839799613e-01 +625 1.5697833115798776e-01 1.8812743642122474e+00 9.5709533639162170e-01 +2986 -1.2573551378101520e+00 -1.7565423684682950e+00 -6.3769224780147171e-01 +508 -3.1353894350046096e-01 5.6311124890644437e-01 -4.8500868917051754e-01 +1228 6.5701401571917561e-01 -2.0522819931706802e+00 8.0112269950629822e-01 +1469 3.4977587482435457e-01 6.4130413256281238e-01 4.5388469872259724e-02 +743 -1.0031597593167190e+00 -1.4206108764368719e+00 3.8981472620992336e-01 +137 -6.9844380091063596e-01 1.7592567433257697e-01 -1.7182758857746949e+00 +2854 -2.7211271562585282e-01 3.7675019013256439e-01 -7.0691240252719578e-01 +2950 -8.9341500633155391e-01 7.0650069609071220e-01 1.3167224411409655e+00 +1634 -6.1189940242381957e-01 3.0222658037821315e-01 -1.3651451043129834e+00 +2787 8.9353095553324746e-01 5.2899727580781297e-01 -2.4076123441939631e-01 +2179 2.9915864619216703e-01 2.3850083378415288e-01 3.6035733946833820e-02 +2264 6.8649239582849061e-02 6.9900148341812796e-01 2.5922024072014875e+00 diff --git a/examples/USER/misc/slater/in.slater b/examples/USER/misc/slater/in.slater new file mode 100644 index 0000000000000000000000000000000000000000..014b55cca4e9373ee253e16314152d0fdfed9b2a --- /dev/null +++ b/examples/USER/misc/slater/in.slater @@ -0,0 +1,60 @@ +# Bulk polyelectrolyte as described in section IV of J. Chem. Phys. 125, 224107 (2006) + +boundary p p p + +units lj +atom_style charge + +region my_sim_box block 0.0 10.0 0.0 10.0 0.0 10.0 +create_box 3 my_sim_box + +create_atoms 1 random 2804 100 my_sim_box +create_atoms 2 random 98 200 my_sim_box +create_atoms 3 random 98 300 my_sim_box + +set type 2 charge -1.0 +set type 3 charge 1.0 + +comm_modify mode single vel yes + +mass 1 1.0 +mass 2 1.0 +mass 3 1.0 + +pair_style hybrid/overlay dpd 1.0 1.0 245455 coul/slater/long 0.929 3.0 +pair_coeff * * dpd 25.0 4.5 +pair_coeff * * coul/slater/long + +kspace_style ewald 0.00001 +dielectric 1.0 + +neighbor 2.0 bin +neigh_modify every 1 delay 0 check no once no + +timestep 0.02 + +fix 2 all nve + +thermo 10 +thermo_style custom step spcpu temp press etotal pe ke ecoul elong evdwl +thermo_modify line one + +run 100000 +write_data data.after_equilibration + +compute RDF_1_1 all rdf 50 1 1 cutoff 3.0 +compute RDF_1_2 all rdf 50 1 2 cutoff 3.0 +compute RDF_1_3 all rdf 50 1 3 cutoff 3.0 +compute RDF_2_2 all rdf 50 2 2 cutoff 3.0 +compute RDF_2_3 all rdf 50 2 3 cutoff 3.0 +compute RDF_3_3 all rdf 50 3 3 cutoff 3.0 + +fix 11 all ave/time 50 1 50 c_RDF_1_1[*] file tmp_1_1.rdf mode vector +fix 12 all ave/time 50 1 50 c_RDF_1_2[*] file tmp_1_2.rdf mode vector +fix 13 all ave/time 50 1 50 c_RDF_1_3[*] file tmp_1_3.rdf mode vector +fix 14 all ave/time 50 1 50 c_RDF_2_2[*] file tmp_2_2.rdf mode vector +fix 15 all ave/time 50 1 50 c_RDF_2_3[*] file tmp_2_3.rdf mode vector +fix 16 all ave/time 50 1 50 c_RDF_3_3[*] file tmp_3_3.rdf mode vector + +run 10000 +write_data data.after_production_run diff --git a/examples/USER/misc/slater/log.lammps b/examples/USER/misc/slater/log.lammps new file mode 100644 index 0000000000000000000000000000000000000000..b814fc4726d7bce342d3b3836326f3ff11ce01c6 --- /dev/null +++ b/examples/USER/misc/slater/log.lammps @@ -0,0 +1,11225 @@ +LAMMPS (27 Nov 2018) +# INPUT FILE FOR DPD_Fluid + +boundary p p p + +units lj +atom_style charge + +region my_sim_box block 0.0 10.0 0.0 10.0 0.0 10.0 +create_box 3 my_sim_box +Created orthogonal box = (0 0 0) to (10 10 10) + 2 by 2 by 4 MPI processor grid + +create_atoms 1 random 2804 100 my_sim_box +Created 2804 atoms + Time spent = 0.000952728 secs +create_atoms 2 random 98 200 my_sim_box +Created 98 atoms + Time spent = 0.000162095 secs +create_atoms 3 random 98 300 my_sim_box +Created 98 atoms + Time spent = 9.44212e-05 secs + +set type 2 charge -1.0 + 98 settings made for charge +set type 3 charge 1.0 + 98 settings made for charge + +comm_modify mode single vel yes + +mass 1 1.0 +mass 2 1.0 +mass 3 1.0 + +pair_style hybrid/overlay dpd 1.0 1.0 245455 coul/slater/long 0.929 3.0 +pair_coeff * * dpd 25.0 4.5 +pair_coeff * * coul/slater/long + +kspace_style ewald 0.00001 +dielectric 1.0 + +neighbor 2.0 bin +neigh_modify every 1 delay 0 check no once no + +timestep 0.02 + +fix 2 all nve + +thermo 10 +thermo_style custom step spcpu temp press etotal pe ke ecoul elong evdwl +thermo_modify line one + +run 100000 +Ewald initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:321) + G vector (1/distance) = 1.0262 + estimated absolute RMS force accuracy = 1.01103e-05 + estimated relative force accuracy = 1.01103e-05 + KSpace vectors: actual max1d max3d = 2787 11 6083 + kxmax kymax kzmax = 11 11 11 +Neighbor list info ... + update every 1 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5 + ghost atom cutoff = 5 + binsize = 2.5, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair dpd, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (2) pair coul/slater/long, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 22.65 | 22.66 | 22.68 Mbytes +Step S/CPU Temp Press TotEng PotEng KinEng E_coul E_long E_vdwl + 0 0 0 23.709678 7.8987828 7.8987828 0 2.8532817e-05 -0.0091211487 7.9078754 + 10 17.569541 1.7790281 26.374992 7.5064872 4.8388345 2.6676527 9.9844199e-05 -0.0099367447 4.8486714 + 20 20.031454 1.5002692 25.759384 7.1718722 4.9222186 2.2496537 0.00036282778 -0.012042147 4.9338979 + 30 19.798839 1.3622045 24.737966 6.8990916 4.856466 2.0426256 0.00058998748 -0.0140032 4.8698792 + 40 20.054382 1.2724856 24.583275 6.6824302 4.774338 1.9080922 0.00090968293 -0.016391181 4.7898195 + 50 20.084003 1.2186257 24.424877 6.5368602 4.709531 1.8273292 0.001028852 -0.017524842 4.726027 + 60 19.935403 1.1542008 24.073261 6.4025557 4.6718316 1.7307241 0.00085025495 -0.01678293 4.6877643 + 70 20.160588 1.1294404 23.953567 6.3153328 4.6217369 1.6935959 0.00086908553 -0.016840848 4.6377087 + 80 19.756844 1.1028844 24.044958 6.271123 4.6173478 1.6537752 0.00099340445 -0.017997422 4.6343518 + 90 19.939125 1.0918347 24.335751 6.2262626 4.5890565 1.6372061 0.0014572469 -0.020252213 4.6078515 + 100 20.427477 1.0987806 23.981304 6.2401353 4.5925139 1.6476214 0.0016000656 -0.020685211 4.611599 + 110 19.826259 1.089493 24.004129 6.1996945 4.5659997 1.6336948 0.0016337289 -0.021118051 4.585484 + 120 19.9383 1.0713708 23.867734 6.1742533 4.5677327 1.6065206 0.0016310428 -0.020718338 4.58682 + 130 20.086792 1.0535647 24.231249 6.1716844 4.5918641 1.5798203 0.0014321718 -0.019394609 4.6098266 + 140 19.916983 1.0522327 24.022423 6.1522769 4.574454 1.5778229 0.0013298772 -0.01952675 4.5926509 + 150 20.247366 1.0600282 24.107764 6.1388985 4.5493862 1.5895123 0.0012754897 -0.019683927 4.5677946 + 160 20.131687 1.0482029 24.040332 6.1167675 4.5449873 1.5717802 0.0015089732 -0.020949103 4.5644274 + 170 20.347962 1.0267746 23.725364 6.1016092 4.5619607 1.5396484 0.0017636206 -0.022357462 4.5825546 + 180 20.044592 1.0413167 23.769122 6.1163015 4.5548471 1.5614544 0.0019050301 -0.023431206 4.5763733 + 190 20.169256 1.0574458 23.848936 6.1345013 4.5488613 1.5856399 0.0020967107 -0.024082696 4.5708473 + 200 20.313327 1.0813797 24.072612 6.1391115 4.5175827 1.6215288 0.0021318856 -0.02415731 4.5396081 + 210 20.502547 1.0589526 23.872439 6.1318395 4.5439401 1.5878994 0.0021140439 -0.023886297 4.5657124 + 220 20.02281 1.0177906 23.607793 6.0945259 4.568349 1.5261769 0.0020151523 -0.023649415 4.5899832 + 230 19.82144 1.0396332 23.679142 6.0900951 4.5311652 1.5589299 0.0020205339 -0.023837306 4.5529819 + 240 20.376959 1.0217382 23.556112 6.093491 4.5613946 1.5320964 0.0019577926 -0.023014322 4.5824512 + 250 19.982708 1.033377 23.947879 6.0865756 4.5370269 1.5495488 0.0020068783 -0.022979404 4.5579994 + 260 20.157351 1.009243 23.745468 6.0509247 4.5375648 1.5133599 0.0020583333 -0.023154716 4.5586612 + 270 20.375402 1.0134035 23.689967 6.0608723 4.5412738 1.5195985 0.0019543299 -0.02265718 4.5619766 + 280 20.243895 0.99951168 23.789506 6.0409869 4.5422191 1.4987678 0.0017787077 -0.021614999 4.5620554 + 290 20.257812 1.0196121 23.765889 6.0563207 4.5274123 1.5289084 0.0017444584 -0.021421781 4.5470896 + 300 19.860617 1.0363081 23.681076 6.0836673 4.5297233 1.553944 0.0017754871 -0.021633846 4.5495817 + 310 19.802983 1.0284379 23.829162 6.0897194 4.5475768 1.5421426 0.0019245786 -0.022727709 4.56838 + 320 19.976769 1.0120338 23.536548 6.0649237 4.547379 1.5175446 0.0018685193 -0.022566003 4.5680765 + 330 20.119657 1.0108692 23.546935 6.0798601 4.5640618 1.5157983 0.0018402376 -0.022619023 4.5848405 + 340 20.068881 1.0238065 23.853296 6.0737527 4.5385549 1.5351979 0.0019601747 -0.022823355 4.5594181 + 350 20.420941 1.0196714 23.56192 6.078893 4.5498957 1.5289973 0.0019167665 -0.0226736 4.5706525 + 360 19.959505 1.0156398 23.432356 6.0579495 4.5349976 1.5229518 0.0019197195 -0.022763663 4.5558416 + 370 20.088928 1.0012792 23.561575 6.0463294 4.5449113 1.5014181 0.0018510586 -0.022678502 4.5657388 + 380 20.178014 1.0121673 23.698657 6.0489355 4.5311907 1.5177448 0.0019512332 -0.023119281 4.5523587 + 390 20.256603 0.99833129 23.72817 6.0378828 4.540885 1.4969978 0.0018870155 -0.022763387 4.5617614 + 400 20.163587 1.00014 23.892306 6.0474526 4.5477426 1.49971 0.0016637755 -0.021797543 4.5678764 + 410 19.764462 1.0007022 23.763336 6.0372208 4.5366678 1.500553 0.0018544245 -0.022080571 4.5568939 + 420 19.817595 1.0030417 23.529407 6.0353029 4.5312419 1.504061 0.0018744347 -0.022197474 4.5515649 + 430 19.96785 0.99562252 23.617419 6.0242728 4.5313369 1.492936 0.001706477 -0.021437964 4.5510684 + 440 20.086509 0.97559743 23.533481 6.015453 4.5525446 1.4629083 0.0015346031 -0.020633083 4.5716431 + 450 20.264245 0.99284582 23.703902 6.0018678 4.5130955 1.4887723 0.0014337697 -0.020056354 4.5317181 + 460 20.350606 1.0009671 23.947347 6.0238797 4.5229295 1.5009502 0.0014818983 -0.020414812 4.5418624 + 470 20.246083 1.0030408 23.633574 6.0432614 4.5392017 1.5040596 0.001640374 -0.021112386 4.5586737 + 480 20.031936 1.0029914 23.939825 6.0477612 4.5437756 1.5039856 0.0016542589 -0.020872346 4.5629937 + 490 20.182181 1.0193123 23.832649 6.0626068 4.5341481 1.5284588 0.0016468582 -0.020491522 4.5529927 + 500 20.013054 1.0117453 23.813509 6.0533351 4.536223 1.517112 0.0016980106 -0.020721231 4.5552462 + 510 20.02909 1.0222326 23.91345 6.062037 4.5291992 1.5328379 0.0016401439 -0.020467155 4.5480262 + 520 20.182938 1.0013105 23.64064 6.0503499 4.5488848 1.5014651 0.0015837114 -0.020074454 4.5673755 + 530 19.78036 1.0088761 23.681679 6.0538014 4.5409917 1.5128097 0.0016118298 -0.020551991 4.5599319 + 540 20.231386 1.0077423 23.699246 6.0421999 4.5310902 1.5111096 0.0016414726 -0.020773913 4.5502227 + 550 20.180427 1.0214614 23.762014 6.065414 4.5337327 1.5316813 0.0016643588 -0.020917128 4.5529855 + 560 20.303335 0.98891912 23.920853 6.040023 4.5571388 1.4828842 0.0016893949 -0.021125901 4.5765753 + 570 20.279388 1.0085803 23.525604 6.0489494 4.5365832 1.5123662 0.001452098 -0.019992291 4.5551234 + 580 20.015732 1.0039313 23.556346 6.040577 4.535182 1.505395 0.0012209739 -0.018901336 4.5528624 + 590 20.158971 0.97825068 23.493599 6.0162257 4.5493388 1.4668869 0.0011653907 -0.018737263 4.5669107 + 600 20.083414 1.0042706 23.616431 6.0236842 4.5177804 1.5059038 0.001192702 -0.018628921 4.5352166 + 610 20.226394 0.98888954 23.466902 6.0194727 4.5366328 1.4828399 0.0012589321 -0.019118593 4.5544924 + 620 20.497774 0.99300361 23.559141 6.0390623 4.5500534 1.4890089 0.00131453 -0.019626799 4.5683657 + 630 20.345016 0.99104403 23.927047 6.0118214 4.5257508 1.4860705 0.0013262344 -0.019645776 4.5440704 + 640 20.405929 1.0019004 23.629469 6.0285419 4.5261922 1.5023496 0.0013592539 -0.019989745 4.5448227 + 650 19.678348 0.98993601 23.816384 6.0035387 4.5191296 1.4844091 0.0013978356 -0.020031633 4.5377634 + 660 19.794865 0.98762348 23.518556 5.9905672 4.5096258 1.4809414 0.0014888179 -0.020236983 4.528374 + 670 20.322889 0.99168945 23.625646 6.004989 4.5179507 1.4870383 0.0015246978 -0.020397024 4.536823 + 680 20.31147 0.98218447 23.735236 6.0059687 4.533183 1.4727856 0.0014087776 -0.020097914 4.5518722 + 690 20.439735 1.014918 23.649043 6.0494108 4.5275412 1.5218696 0.0015013336 -0.021079624 4.5471195 + 700 20.411154 0.99149989 23.619443 6.0207827 4.5340286 1.4867541 0.0015934843 -0.021764276 4.5541994 + 710 20.289574 0.98902538 23.931232 5.9970032 4.5139596 1.4830436 0.0017136042 -0.02246972 4.5347157 + 720 19.86192 1.0025517 23.883487 6.026656 4.5233298 1.5033262 0.0017585568 -0.022619362 4.5441906 + 730 19.702785 0.99505388 23.479099 6.0088152 4.5167319 1.4920833 0.001868408 -0.023334785 4.5381983 + 740 19.695781 1.0071439 23.776025 6.0386926 4.5284803 1.5102123 0.0019403103 -0.023661805 4.5502018 + 750 20.316196 1.0054501 23.845237 6.0384003 4.5307279 1.5076725 0.0017031702 -0.022597561 4.5516223 + 760 20.25838 0.98979904 23.548366 6.0151068 4.5309031 1.4842037 0.0014328943 -0.021572753 4.551043 + 770 20.225678 1.0118683 23.864783 6.0599562 4.5426596 1.5172966 0.001442126 -0.02165946 4.562877 + 780 20.198841 1.0146301 23.617622 6.0864074 4.5649697 1.5214378 0.0016728694 -0.022560071 4.5858569 + 790 20.060475 1.0241376 23.75804 6.0881138 4.5524194 1.5356944 0.0016187848 -0.021962665 4.5727633 + 800 19.830969 1.0456454 23.750719 6.097253 4.5293078 1.5679453 0.0017257156 -0.022027165 4.5496092 + 810 20.363968 1.0150981 23.506662 6.0753266 4.5531869 1.5221397 0.0016414421 -0.021092728 4.5726382 + 820 20.232053 1.0331003 23.722841 6.1025837 4.5534498 1.5491339 0.0017046441 -0.021009093 4.5727542 + 830 20.293506 1.026814 23.911795 6.0854888 4.5457813 1.5397075 0.0017228015 -0.021350839 4.5654093 + 840 19.751622 1.0351395 23.97236 6.088333 4.5361414 1.5521916 0.0015368866 -0.020904347 4.5555088 + 850 20.008232 1.0165624 23.669354 6.0662202 4.5418849 1.5243353 0.0014825203 -0.020563666 4.560966 + 860 19.856466 1.0152849 23.517364 6.0826036 4.5601839 1.5224197 0.0015147228 -0.020702607 4.5793718 + 870 20.263129 1.033739 23.650342 6.0804246 4.5303329 1.5500916 0.0015837304 -0.021503948 4.5502532 + 880 20.38537 1.0317177 23.907593 6.0928852 4.5458245 1.5470606 0.0016637806 -0.021758304 4.565919 + 890 20.086399 1.021706 23.707376 6.0882113 4.5561631 1.5320482 0.001654957 -0.021739098 4.5762473 + 900 19.856607 1.0179512 23.573177 6.0650896 4.5386718 1.5264178 0.0016837175 -0.022115639 4.5591037 + 910 20.258564 1.0161892 23.702731 6.0567145 4.5329387 1.5237757 0.0017040382 -0.022270815 4.5535055 + 920 20.47285 1.0230721 23.998275 6.0605891 4.5264926 1.5340966 0.0016382693 -0.021813331 4.5466676 + 930 20.214265 1.0158727 23.801805 6.0594787 4.5361776 1.5233011 0.0015291696 -0.02078426 4.5554327 + 940 20.260747 1.0318471 24.058856 6.0600079 4.5127531 1.5472548 0.0016072894 -0.020768665 4.5319145 + 950 20.324324 1.0364855 23.931794 6.0760985 4.5218884 1.55421 0.0017259535 -0.021799342 4.5419618 + 960 19.936481 1.0290842 23.761361 6.0606017 4.5174899 1.5431118 0.0016327976 -0.021106003 4.5369631 + 970 20.221066 1.0173232 24.048784 6.0644435 4.5389674 1.5254761 0.0015064475 -0.021230817 4.5586918 + 980 20.072042 1.019526 23.905845 6.065904 4.5371248 1.5287793 0.0016602653 -0.021930717 4.5573952 + 990 19.541991 1.0165858 23.996152 6.0342052 4.5098348 1.5243704 0.0017203889 -0.021863324 4.5299777 + 1000 20.165608 0.99838069 23.529442 6.0115368 4.5144649 1.4970718 0.0018775489 -0.022264264 4.5348516 + 1010 19.828921 1.0051979 23.547177 6.0369294 4.5296352 1.5072942 0.0019517996 -0.022504296 4.5501877 + 1020 20.195916 1.0133968 23.539991 6.049044 4.5294555 1.5195885 0.0017095559 -0.021422524 4.5491685 + 1030 20.002669 1.0022795 23.33566 6.056247 4.553329 1.5029181 0.0014704166 -0.020237593 4.5720962 + 1040 20.204298 1.0106216 23.801386 6.0737489 4.5583219 1.515427 0.001508019 -0.020388667 4.5772025 + 1050 20.4881 1.0263449 23.698326 6.0909074 4.5519032 1.5390041 0.0015057225 -0.020189463 4.570587 + 1060 20.464741 1.0312092 23.742946 6.0847107 4.5384125 1.5462983 0.0014810041 -0.020258996 4.5571905 + 1070 20.329995 1.0133931 23.688214 6.0687503 4.5491673 1.519583 0.0014938026 -0.020040925 4.5677145 + 1080 19.835524 1.0159006 23.973236 6.076406 4.553063 1.5233429 0.0015526884 -0.020309304 4.5718196 + 1090 19.991565 1.0045022 23.85003 6.0669776 4.5607266 1.506251 0.0014575863 -0.020197677 4.5794667 + 1100 20.204216 1.0043428 23.716554 6.0497582 4.5437462 1.506012 0.001605362 -0.021157181 4.5632981 + 1110 20.395082 0.99991045 23.768678 6.0349042 4.5355385 1.4993657 0.0014368243 -0.020839603 4.5549412 + 1120 20.162743 1.0125036 23.901915 6.0531818 4.5349327 1.5182491 0.0012196265 -0.020119304 4.5538324 + 1130 19.852719 0.99683164 23.770668 6.0405193 4.5457703 1.494749 0.0012736021 -0.020779796 4.5652765 + 1140 20.322277 1.0006898 23.464666 6.0285231 4.5279888 1.5005343 0.0014392159 -0.021416662 4.5479663 + 1150 20.246411 0.98711931 23.491067 6.007489 4.5273036 1.4801854 0.0014542261 -0.021364482 4.5472139 + 1160 20.485618 1.008019 23.783817 6.0077412 4.4962167 1.5115245 0.0014270701 -0.021030223 4.5158198 + 1170 20.274338 0.98493475 23.527866 6.0116186 4.5347089 1.4769097 0.0014417048 -0.020814572 4.5540818 + 1180 20.39316 0.98872234 23.573322 6.0243992 4.5418101 1.4825891 0.0014145239 -0.020591199 4.5609867 + 1190 20.121735 1.0058565 23.597932 6.0336307 4.5253488 1.5082818 0.0013824773 -0.02065071 4.5446171 + 1200 20.157602 1.0227999 23.697602 6.0458492 4.5121608 1.5336884 0.001371387 -0.020343341 4.5311328 + 1210 20.359516 1.0048194 23.554307 6.0426509 4.5359242 1.5067267 0.0015835347 -0.021412734 4.5557534 + 1220 20.305725 1.0093263 23.75165 6.0370961 4.5236114 1.5134847 0.0015811962 -0.021225208 4.5432554 + 1230 20.397362 0.98622762 23.254349 6.0305059 4.5516576 1.4788483 0.0015556637 -0.021402096 4.571504 + 1240 20.399965 1.013169 23.694711 6.0348219 4.515575 1.5192469 0.001750922 -0.022211002 4.5360351 + 1250 20.31915 1.0012034 23.59728 6.0271102 4.5258057 1.5013045 0.0017303175 -0.021918094 4.5459935 + 1260 20.111035 0.98879549 23.738964 6.0173107 4.5346119 1.4826988 0.0017101805 -0.021843802 4.5547455 + 1270 19.962296 0.99363866 23.681617 6.0376403 4.5476791 1.4899612 0.0015606983 -0.021281464 4.5673999 + 1280 20.214667 0.99190697 23.666607 6.0243017 4.5369372 1.4873645 0.0013971879 -0.020467016 4.5560071 + 1290 20.383582 1.003059 23.88756 6.0322537 4.5281667 1.504087 0.0014011992 -0.020446257 4.5472117 + 1300 19.881757 1.0029022 23.380119 6.0268012 4.5229494 1.5038518 0.0016120234 -0.021160441 4.5424978 + 1310 19.743049 1.0198295 23.82374 6.0734414 4.544207 1.5292344 0.0016862468 -0.021554918 4.5640757 + 1320 20.174004 1.0199786 23.723075 6.061808 4.53235 1.529458 0.0016189206 -0.021392856 4.552124 + 1330 20.339953 1.0052573 23.632593 6.0588114 4.5514282 1.5073832 0.001762657 -0.021938582 4.5716041 + 1340 20.486049 0.9951931 23.803473 6.0257342 4.5334421 1.4922921 0.0020485427 -0.023563052 4.5549566 + 1350 20.410147 0.99924802 23.449797 6.0437995 4.5454271 1.4983724 0.002010393 -0.023475773 4.5668924 + 1360 20.364126 1.0046912 23.542615 6.0565067 4.5499722 1.5065344 0.001927269 -0.02316167 4.5712066 + 1370 20.165348 1.0053128 23.446675 6.0367369 4.5292703 1.5074666 0.0019923886 -0.023413412 4.5506914 + 1380 20.013587 1.0198474 24.047123 6.0696353 4.5403741 1.5292612 0.0020538336 -0.023749436 4.5620697 + 1390 20.02326 0.99312218 23.53797 6.026323 4.5371363 1.4891867 0.001990696 -0.022978368 4.558124 + 1400 20.445736 1.0185843 23.973767 6.0410015 4.5136342 1.5273672 0.0018656125 -0.022712142 4.5344808 + 1410 20.352367 1.0143888 23.995063 6.0444468 4.5233709 1.5210759 0.0020717422 -0.023638894 4.544938 + 1420 20.411706 1.0260033 23.954531 6.0553378 4.5168459 1.538492 0.0021221427 -0.023467899 4.5381916 + 1430 20.01811 1.030367 23.824915 6.0755512 4.5305159 1.5450353 0.0021775871 -0.024013004 4.5523513 + 1440 20.146249 1.0075063 24.057025 6.0636996 4.5529439 1.5107557 0.0020714644 -0.024069121 4.5749416 + 1450 20.210774 1.0186809 23.612155 6.0827279 4.555216 1.5275119 0.0020065213 -0.023918934 4.5771284 + 1460 20.124529 1.050927 23.589248 6.1089396 4.5330745 1.5758651 0.0018469128 -0.023494647 4.5547223 + 1470 19.998079 1.0376979 23.523554 6.113931 4.5579029 1.556028 0.0019589466 -0.023604207 4.5795482 + 1480 20.301943 1.0313843 24.126929 6.0895722 4.5430115 1.5465607 0.0018425089 -0.023132005 4.564301 + 1490 20.224255 1.0193982 23.352702 6.0752911 4.5467035 1.5285876 0.0017633792 -0.022313878 4.567254 + 1500 20.148447 1.0305539 23.797152 6.0890791 4.5437636 1.5453155 0.0017485916 -0.022164059 4.5641791 + 1510 20.187788 1.0506218 24.201039 6.1393738 4.5639664 1.5754074 0.0018446177 -0.022288353 4.5844101 + 1520 20.290924 1.0340054 23.743909 6.103769 4.5532779 1.5504911 0.0017451143 -0.021957354 4.5734901 + 1530 20.07959 1.0298869 23.847486 6.0719264 4.5276111 1.5443153 0.0017763616 -0.02173713 4.5475718 + 1540 20.488884 1.0046688 23.861228 6.073712 4.5672111 1.5065009 0.0018516435 -0.021795934 4.5871554 + 1550 20.437002 1.0312818 23.854505 6.0717283 4.5253212 1.5464071 0.001686045 -0.021702941 4.5453381 + 1560 20.367477 1.0327625 23.646422 6.0750008 4.5263734 1.5486274 0.0017493964 -0.022041519 4.5466655 + 1570 20.358716 1.0319395 23.700225 6.0656968 4.5183036 1.5473932 0.0019256943 -0.022666723 4.5390446 + 1580 20.318517 1.0186999 24.117609 6.0512496 4.5237091 1.5275405 0.0019905669 -0.022814171 4.5445327 + 1590 20.109427 1.0216724 23.895383 6.049546 4.5175482 1.5319978 0.0018019321 -0.021876676 4.5376229 + 1600 20.262266 1.0180627 23.675826 6.0382708 4.5116857 1.526585 0.0014718219 -0.020622959 4.5308369 + 1610 20.323649 1.0021182 23.669424 6.0591411 4.5564649 1.5026762 0.0014150502 -0.019758683 4.5748085 + 1620 20.165766 1.0082154 23.607504 6.0738802 4.5620612 1.511819 0.00152017 -0.020379637 4.5809207 + 1630 20.121855 1.0083805 23.663074 6.0509157 4.5388492 1.5120665 0.0016548104 -0.021118517 4.5583129 + 1640 19.818833 1.0151994 23.753902 6.0629344 4.5406428 1.5222916 0.0018556631 -0.022231535 4.5610187 + 1650 19.896274 0.99991576 23.909943 6.0300776 4.5307039 1.4993737 0.0020260596 -0.023274378 4.5519522 + 1660 19.884546 1.0148587 23.708757 6.0507604 4.5289798 1.5217806 0.0020074749 -0.023418235 4.5503906 + 1670 20.041582 1.0081468 23.414578 6.0400643 4.5283482 1.5117161 0.0018551715 -0.022796894 4.5492899 + 1680 20.32354 1.0004035 23.93244 6.0324677 4.5323627 1.500105 0.0016362042 -0.021675136 4.5524016 + 1690 20.30974 0.9927811 23.700608 6.0605827 4.5719074 1.4886753 0.0013825236 -0.020245648 4.5907706 + 1700 20.359923 1.0172794 23.744487 6.09863 4.5732195 1.5254105 0.0014232743 -0.02028303 4.5920793 + 1710 19.842054 1.010151 23.436287 6.04097 4.5262486 1.5147214 0.0015549355 -0.02113645 4.5458301 + 1720 20.106727 1.0033926 23.623408 6.0469368 4.5423497 1.5045871 0.0018206107 -0.022463819 4.5629929 + 1730 20.361124 1.0264814 23.83875 6.0610271 4.5218183 1.5392088 0.0019338762 -0.022909109 4.5427935 + 1740 20.407986 1.0119539 23.713665 6.0720149 4.5545901 1.5174248 0.0020254769 -0.023168201 4.5757328 + 1750 20.177228 1.0058373 23.58136 6.0411591 4.532906 1.508253 0.0019748919 -0.023078755 4.5540099 + 1760 20.234782 0.99947692 23.475343 6.0630762 4.5643606 1.4987156 0.0016292796 -0.021334442 4.5840657 + 1770 20.033887 1.0138112 23.546265 6.0485033 4.5282934 1.52021 0.0016414172 -0.021303788 4.5479557 + 1780 20.168666 1.0010804 23.645649 6.036183 4.535063 1.50112 0.001589016 -0.021445872 4.5549199 + 1790 20.423215 1.0226772 23.601837 6.0455335 4.512029 1.5335045 0.0015104362 -0.02102547 4.5315441 + 1800 20.140277 0.9999371 23.753032 6.015773 4.5163673 1.4994057 0.0014207837 -0.0207459 4.5356924 + 1810 19.727346 0.98838742 23.736895 6.0041885 4.5221016 1.4820869 0.0014729824 -0.020912612 4.5415412 + 1820 20.07692 1.0091638 23.856939 6.0455794 4.5323383 1.5132411 0.0015579371 -0.021377654 4.552158 + 1830 20.46107 1.0178485 23.845018 6.0512939 4.5250301 1.5262638 0.0017809823 -0.022153613 4.5454027 + 1840 20.12227 1.0108549 23.644188 6.0652073 4.5494304 1.5157769 0.0019556032 -0.022863375 4.5703382 + 1850 20.238507 1.044026 23.781373 6.0974406 4.5319236 1.5655169 0.0021087906 -0.023333797 4.5531486 + 1860 19.953265 1.0179692 23.949776 6.059523 4.5330782 1.5264448 0.0020213093 -0.023114902 4.5541718 + 1870 20.327935 1.016315 23.694269 6.0510609 4.5270965 1.5239644 0.0019558101 -0.023115022 4.5482558 + 1880 20.248794 1.0289056 23.966187 6.0757055 4.5328615 1.542844 0.0018267982 -0.022629007 4.5536637 + 1890 20.121162 1.0059894 23.578128 6.0643189 4.5558378 1.508481 0.0016448915 -0.02170769 4.5759006 + 1900 19.92841 1.0162959 24.039481 6.0565854 4.5326497 1.5239357 0.0016353218 -0.021799345 4.5528138 + 1910 19.9838 1.0168836 24.089828 6.0567024 4.5318855 1.5248169 0.0017208525 -0.022168427 4.5523331 + 1920 20.156795 0.99950269 23.613347 6.0547947 4.5560404 1.4987543 0.0018491826 -0.02238479 4.576576 + 1930 19.869758 1.0200664 23.90545 6.031301 4.5017115 1.5295895 0.0019911383 -0.022991131 4.5227115 + 1940 20.139271 0.99563769 23.807313 6.0132875 4.5203288 1.4929587 0.001924573 -0.023039405 4.5414437 + 1950 20.200809 1.0023368 23.651074 6.0326889 4.529685 1.503004 0.0017155629 -0.022406593 4.550376 + 1960 20.291424 1.0016138 23.803326 6.0433527 4.5414328 1.5019198 0.0016362606 -0.021867443 4.561664 + 1970 20.228252 1.0138151 23.295746 6.0603052 4.5400895 1.5202157 0.0016443995 -0.022058616 4.5605037 + 1980 20.309531 1.0135552 23.888562 6.0808584 4.5610324 1.519826 0.0015084744 -0.021209604 4.5807335 + 1990 20.106425 1.0173676 23.689877 6.075133 4.5495902 1.5255427 0.0015491967 -0.021479364 4.5695204 + 2000 20.132693 1.0085872 23.341302 6.0462802 4.5339037 1.5123765 0.0016179097 -0.021803134 4.5540889 + 2010 20.433364 1.0168269 23.733078 6.0316504 4.5069185 1.524732 0.001782012 -0.022034832 4.5271713 + 2020 20.579894 1.0194653 23.422689 6.0447926 4.5161044 1.5286882 0.0018515839 -0.022340992 4.5365938 + 2030 20.231109 1.0175079 23.701986 6.0666981 4.5409451 1.5257531 0.0017750307 -0.021849284 4.5610193 + 2040 20.47517 1.010786 23.683411 6.0609991 4.5453255 1.5156736 0.0017988897 -0.02175155 4.5652781 + 2050 20.33691 1.0035173 23.660929 6.0373372 4.5325629 1.5047742 0.0017831434 -0.021851974 4.5526318 + 2060 20.346407 1.0026354 23.710928 6.0337431 4.5302913 1.5034518 0.0018729226 -0.021989589 4.550408 + 2070 20.523912 1.0172116 23.966336 6.0419045 4.5165957 1.5253088 0.0017198211 -0.021678876 4.5365547 + 2080 20.418452 1.0080582 23.639827 6.0366202 4.525037 1.5115833 0.0015714506 -0.021206816 4.5446723 + 2090 20.056415 1.0099312 23.766639 6.0337486 4.5193567 1.5143919 0.0016648028 -0.021468442 4.5391603 + 2100 20.29543 0.99820068 23.783994 6.0217597 4.5249578 1.4968019 0.0018359403 -0.022453265 4.5455751 + 2110 20.305 1.0004849 23.799499 6.036485 4.5362579 1.5002271 0.0019430153 -0.022958881 4.5572738 + 2120 20.601632 0.99028955 23.658699 6.0362019 4.5512627 1.4849392 0.0017574432 -0.021911033 4.5714163 + 2130 20.371119 1.0072677 23.546134 6.0509514 4.5405534 1.510398 0.0015430681 -0.020944484 4.5599549 + 2140 20.23982 1.0212312 23.680133 6.0598811 4.528545 1.5313361 0.0016334995 -0.021423417 4.5483349 + 2150 20.440816 1.0071693 23.59072 6.0288696 4.5186192 1.5102504 0.0016325018 -0.021503962 4.5384907 + 2160 20.206882 0.99682621 23.703635 6.0266413 4.5319004 1.4947409 0.0014562419 -0.020980389 4.5514246 + 2170 19.966949 0.99636846 23.631412 6.0444014 4.5503469 1.4940545 0.0013464569 -0.020600093 4.5696006 + 2180 20.105097 1.02891 23.926677 6.0591514 4.5163009 1.5428505 0.0011450636 -0.019492301 4.5346482 + 2190 20.244272 1.0272967 23.26635 6.0724248 4.5319934 1.5404314 0.0012485683 -0.01999494 4.5507398 + 2200 20.365539 1.0096198 23.386753 6.0628309 4.548906 1.5139249 0.001481191 -0.020995491 4.5684203 + 2210 20.233042 1.011286 23.611277 6.0471343 4.5307109 1.5164234 0.0017138925 -0.021904722 4.5509018 + 2220 20.375486 1.0210071 23.828152 6.0774292 4.546429 1.5310002 0.0018450328 -0.022577721 4.5671617 + 2230 20.201967 1.040763 23.782916 6.0963374 4.5357132 1.5606242 0.0016284547 -0.021904389 4.5559892 + 2240 20.233976 1.0190505 24.012804 6.0703273 4.542261 1.5280663 0.0014413296 -0.020924401 4.5617441 + 2250 20.303513 1.0069638 23.998604 6.0640657 4.5541236 1.5099422 0.0015207151 -0.021661978 4.5742648 + 2260 20.318662 1.0152463 23.859204 6.0737404 4.5513786 1.5223619 0.0016397541 -0.022492608 4.5722314 + 2270 20.374224 1.0317087 23.819433 6.0761303 4.5290831 1.5470472 0.0016684209 -0.02233018 4.5497449 + 2280 20.228415 1.0167281 23.895584 6.0548588 4.530275 1.5245838 0.0015003014 -0.021372904 4.5501476 + 2290 20.354302 1.0158421 23.853532 6.0528381 4.5295829 1.5232552 0.0014287371 -0.020694174 4.5488483 + 2300 20.263405 0.99258288 23.674329 6.0362835 4.5479054 1.488378 0.0013245488 -0.020252889 4.5668338 + 2310 20.317011 0.99464107 23.550361 6.031973 4.5405087 1.4914643 0.0013150413 -0.020115608 4.5593092 + 2320 20.169176 1.006547 23.851024 6.0475222 4.5382049 1.5093173 0.0013411708 -0.019964689 4.5568284 + 2330 20.192029 1.0007594 23.786412 6.0329425 4.5323038 1.5006388 0.0015926262 -0.021418485 4.5521296 + 2340 20.165873 0.99544112 23.604859 6.0456121 4.5529481 1.492664 0.0019586023 -0.023457556 4.5744471 + 2350 20.067412 1.0200141 23.785626 6.0631976 4.5336865 1.5295112 0.0021369629 -0.024315017 4.5558645 + 2360 20.255089 1.0098193 23.719647 6.0681613 4.5539372 1.5142241 0.0022028311 -0.024776203 4.5765105 + 2370 20.437756 1.0338124 23.935793 6.0638106 4.513609 1.5502017 0.0021104018 -0.024109675 4.5356082 + 2380 20.333429 1.0005501 23.719964 6.0565361 4.5562113 1.5003249 0.0020264733 -0.023544678 4.5777295 + 2390 20.250092 1.006554 23.673376 6.0439398 4.5346121 1.5093278 0.0021292623 -0.023384293 4.5558671 + 2400 19.820239 1.0093137 23.824881 6.0384123 4.5249464 1.5134659 0.0021458391 -0.023292053 4.5460927 + 2410 20.157523 0.99434444 23.432234 5.9976937 4.5066742 1.4910195 0.0019673234 -0.022425943 4.5271328 + 2420 20.449905 1.0026045 23.340147 6.0219823 4.5185769 1.5034054 0.0019608727 -0.02237193 4.5389879 + 2430 20.238652 0.99310431 23.943715 6.0205065 4.5313465 1.4891599 0.0018901909 -0.022306591 4.5517629 + 2440 20.150546 0.99357865 23.471988 6.0067572 4.516886 1.4898712 0.0018440129 -0.02222166 4.5372637 + 2450 20.048617 0.99283535 23.652753 6.0018862 4.5131296 1.4887566 0.002002107 -0.022994209 4.5341217 + 2460 20.124031 1.005017 23.719734 6.0291445 4.5221215 1.507023 0.0019349399 -0.022604733 4.5427913 + 2470 20.397614 1.0117397 23.668714 6.0311627 4.5140591 1.5171036 0.0018974774 -0.02239618 4.5345578 + 2480 20.443165 1.0190567 23.607778 6.0345083 4.5064328 1.5280756 0.001962308 -0.02273419 4.5272046 + 2490 20.216587 1.0024427 23.714074 6.0487056 4.5455428 1.5031628 0.0020821538 -0.023423723 4.5668844 + 2500 20.333185 0.99373818 23.478761 6.032684 4.5425736 1.4901104 0.0019806704 -0.023002691 4.5635957 + 2510 20.258133 1.0109234 23.781097 6.0603716 4.5444919 1.5158797 0.0018029576 -0.022071099 4.56476 + 2520 20.18178 1.0208666 23.745266 6.0638095 4.5330201 1.5307894 0.0016453098 -0.021321713 4.5526965 + 2530 20.057492 1.0118999 23.504536 6.0545648 4.5372209 1.5173439 0.0018277784 -0.022242759 4.5576359 + 2540 20.229988 0.99661525 23.445342 6.0643685 4.5699439 1.4944246 0.0019751836 -0.022542211 4.5905109 + 2550 20.212691 1.0257302 23.739433 6.0546378 4.5165554 1.5380825 0.0022355738 -0.023754246 4.538074 + 2560 20.269717 1.0219721 23.606462 6.0499351 4.5174879 1.5324472 0.0023025136 -0.02443755 4.5396229 + 2570 20.232715 1.0253733 23.700733 6.0620653 4.524518 1.5375473 0.0023542074 -0.024421238 4.546585 + 2580 19.981627 1.0235035 24.129355 6.0774954 4.5427519 1.5347435 0.002095096 -0.023306347 4.5639632 + 2590 19.696218 1.0228961 23.623707 6.0831832 4.5493505 1.5338327 0.001936449 -0.022577825 4.5699919 + 2600 20.061237 1.0245989 23.97006 6.0748586 4.5384726 1.536386 0.0020348224 -0.023396653 4.5598344 + 2610 20.46422 1.0208274 23.84233 6.043587 4.5128562 1.5307307 0.0021741627 -0.024022117 4.5347042 + 2620 20.141589 1.0024685 23.756912 6.0471791 4.5439776 1.5032015 0.0022456502 -0.024186325 4.5659183 + 2630 20.135721 1.0240285 23.563838 6.0969361 4.5614055 1.5355307 0.002224844 -0.02418842 4.583369 + 2640 20.156181 1.0301767 23.628465 6.0823805 4.5376305 1.54475 0.0021094439 -0.023413295 4.5589343 + 2650 19.9186 1.018806 23.475059 6.0565673 4.5288677 1.5276996 0.0019296737 -0.022400378 4.5493384 + 2660 20.447462 1.0068931 23.647854 6.0629708 4.5531347 1.5098362 0.0017723609 -0.021302977 4.5726653 + 2670 20.383884 1.0077703 23.717171 6.0456672 4.5345156 1.5111516 0.0017897057 -0.02116018 4.5538861 + 2680 20.140104 0.99382011 23.705492 6.0183942 4.528161 1.4902332 0.0017279722 -0.020753741 4.5471867 + 2690 19.922453 1.0071346 23.866088 6.033355 4.5231567 1.5101983 0.0020486302 -0.022584537 4.5436926 + 2700 20.241978 0.99179235 23.527469 6.0295368 4.5423442 1.4871926 0.0020199556 -0.022898736 4.563223 + 2710 20.236814 0.99827379 23.698283 6.0187905 4.521879 1.4969116 0.0019746592 -0.023355684 4.54326 + 2720 20.322662 0.9879061 23.529708 6.0109657 4.5296005 1.4813652 0.0018056315 -0.02272607 4.5505209 + 2730 20.094023 0.99146421 23.890676 6.0208887 4.5341881 1.4867006 0.0018170545 -0.022967654 4.5553387 + 2740 19.931049 1.0089343 23.698735 6.0398955 4.5269985 1.512897 0.0017650496 -0.022921944 4.5481554 + 2750 20.343134 1.0020754 23.898989 6.0322608 4.5296488 1.502612 0.0018032885 -0.02316036 4.5510058 + 2760 20.178875 0.99219528 24.032678 6.024672 4.5368752 1.4877968 0.0016903781 -0.022613104 4.5577979 + 2770 20.363953 0.96821267 23.614653 6.0008628 4.5490279 1.4518349 0.0015165247 -0.021627163 4.5691386 + 2780 20.273222 0.97030048 23.62651 5.9801734 4.5252078 1.4549656 0.0016071851 -0.021413697 4.5450144 + 2790 20.355464 0.99015971 23.694438 6.0113138 4.5265693 1.4847445 0.0017460421 -0.021383868 4.5462071 + 2800 20.228349 0.97463621 23.52592 5.993435 4.531968 1.461467 0.0016065575 -0.020605784 4.5509672 + 2810 20.10949 0.99593373 23.332425 6.0290304 4.5356278 1.4934026 0.0015257168 -0.020289063 4.5543911 + 2820 20.067106 1.0116875 23.55846 6.0576966 4.5406712 1.5170254 0.0016666517 -0.020280221 4.5592847 + 2830 19.848633 1.0323377 23.85421 6.0547914 4.506801 1.5479904 0.0018226099 -0.021274923 4.5262533 + 2840 20.267283 0.99752162 23.712296 6.0408631 4.5450794 1.4957837 0.0015077681 -0.020047534 4.5636192 + 2850 20.10135 1.023678 23.37046 6.0503093 4.5153041 1.5350052 0.0016221083 -0.020459904 4.5341419 + 2860 19.875722 1.0107221 23.315823 6.0683759 4.5527982 1.5155777 0.001534105 -0.019802326 4.5710664 + 2870 19.970258 1.0075165 24.048601 6.0347663 4.5239953 1.510771 0.0015376328 -0.019765567 4.5422232 + 2880 19.9291 1.0050967 23.531061 6.0497407 4.5425982 1.5071425 0.0015662482 -0.020388378 4.5614203 + 2890 20.120483 0.9987024 23.941549 6.0573609 4.5598067 1.4975543 0.0018000487 -0.021372617 4.5793793 + 2900 20.247456 1.0371857 23.910189 6.0840361 4.5287761 1.55526 0.0019236632 -0.022250262 4.5491027 + 2910 20.141721 1.0119424 23.982095 6.0644218 4.5470142 1.5174076 0.001728177 -0.021233047 4.5665191 + 2920 20.272939 1.0025289 23.766515 6.041691 4.538399 1.503292 0.0015230336 -0.020535323 4.5574113 + 2930 20.082261 0.99758447 23.858455 6.0387932 4.5429153 1.4958779 0.001678793 -0.021506421 4.5627429 + 2940 20.061674 1.0086575 23.898762 6.0459669 4.5334849 1.512482 0.0017894922 -0.02181691 4.5535123 + 2950 20.374928 1.0235129 23.584861 6.0730805 4.5383229 1.5347577 0.0017067297 -0.021528574 4.5581447 + 2960 19.816923 1.0336795 23.81017 6.0624953 4.5124929 1.5500024 0.0016988228 -0.021675312 4.5324693 + 2970 20.35156 1.0358275 23.837453 6.089007 4.5357836 1.5532234 0.0017405837 -0.022357942 4.556401 + 2980 20.06135 1.0344968 23.929858 6.1015093 4.5502814 1.5512279 0.0018983821 -0.023070184 4.5714532 + 2990 20.117724 1.0161656 23.785529 6.0613171 4.5375767 1.5237404 0.0019805248 -0.023630396 4.5592266 + 3000 20.331391 1.0128318 23.833739 6.0529186 4.5341773 1.5187413 0.0021480792 -0.024181432 4.5562106 + 3010 20.422349 1.0021222 23.882206 6.0524965 4.5498143 1.5026823 0.0019695849 -0.022912703 4.5707574 + 3020 20.33075 1.0184969 23.855482 6.047628 4.520392 1.5272361 0.0016788048 -0.021554548 4.5402677 + 3030 20.421613 1.0060846 23.588335 6.0444814 4.5358575 1.5086239 0.0016776129 -0.021275773 4.5554557 + 3040 20.245694 0.99707383 23.622872 6.0355944 4.5404822 1.4951122 0.0016652901 -0.021796944 4.5606139 + 3050 20.412693 1.0226365 23.874861 6.0601707 4.5267273 1.5334434 0.0017774186 -0.022258546 4.5472085 + 3060 20.317309 1.0382783 23.714202 6.0935122 4.5366139 1.5568984 0.0017309487 -0.022347408 4.5572303 + 3070 20.323334 1.0095157 23.867538 6.0669471 4.5531784 1.5137687 0.0017758428 -0.022625385 4.5740279 + 3080 20.183675 1.0161835 23.760488 6.0598595 4.5360924 1.5237671 0.0017679526 -0.021959506 4.5562839 + 3090 20.279699 1.0083237 23.663597 6.0534689 4.5414875 1.5119814 0.0017449902 -0.021951765 4.5616943 + 3100 20.311822 1.0162146 23.633661 6.0810775 4.5572637 1.5238138 0.0017197078 -0.021896693 4.5774407 + 3110 20.428846 1.0303083 23.986133 6.079392 4.5344447 1.5449473 0.0017427985 -0.022189561 4.5548914 + 3120 20.283794 1.0266828 23.820563 6.0859517 4.5464408 1.5395109 0.0019462844 -0.022868878 4.5673634 + 3130 20.268477 1.0137848 23.867297 6.065153 4.5449827 1.5201703 0.0018920438 -0.022783546 4.5658742 + 3140 20.279038 1.0077133 23.410317 6.0767519 4.5656859 1.511066 0.0019830177 -0.02316618 4.586869 + 3150 20.336201 1.0036458 23.624312 6.0533035 4.5483367 1.5049668 0.0020755414 -0.023395963 4.5696571 + 3160 20.075778 1.0274826 23.851019 6.0505841 4.5098739 1.5407102 0.0020501302 -0.023581097 4.5314049 + 3170 20.219846 1.0081177 23.971065 6.0451096 4.5334371 1.5116725 0.0018818841 -0.022405254 4.5539604 + 3180 20.291961 1.0394178 24.047801 6.0941927 4.5355857 1.5586071 0.0017025159 -0.021594178 4.5554773 + 3190 20.171896 1.0231701 23.926469 6.0858018 4.5515582 1.5342436 0.001635934 -0.021325809 4.5712481 + 3200 20.459051 1.0133448 23.911639 6.0516655 4.5321551 1.5195105 0.0016626249 -0.021392187 4.5518847 + 3210 20.095451 1.0229734 23.674607 6.0529526 4.519004 1.5339486 0.0016632438 -0.021180887 4.5385217 + 3220 20.238759 0.98759259 23.667996 6.0184471 4.537552 1.4808951 0.0017114137 -0.021165128 4.5570057 + 3230 20.332469 1.017709 23.743505 6.045858 4.5198034 1.5260547 0.0017765831 -0.021933183 4.53996 + 3240 20.480827 0.99238351 23.922353 6.0226435 4.5345644 1.4880791 0.0017106652 -0.021883743 4.5547375 + 3250 20.480836 1.0049834 23.70313 6.0206775 4.5137049 1.5069726 0.0015859464 -0.021542138 4.533661 + 3260 20.195021 0.99606001 23.935544 6.0271147 4.5335227 1.493592 0.0016400847 -0.021711326 4.5535939 + 3270 20.419599 0.98808658 23.656136 6.0291579 4.5475221 1.4816358 0.0016510107 -0.021317218 4.5671883 + 3280 20.292569 1.0288918 23.676037 6.0733903 4.530567 1.5428233 0.0016561077 -0.021383811 4.5502947 + 3290 20.262061 1.0051179 23.890845 6.0586757 4.5515014 1.5071743 0.0017764147 -0.022232955 4.5719579 + 3300 20.165966 1.0132524 23.830861 6.0549628 4.5355907 1.519372 0.0017872425 -0.022807169 4.5566107 + 3310 20.384279 1.0107719 23.67696 6.0420571 4.5264046 1.5156525 0.0016730293 -0.022438947 4.5471705 + 3320 20.104748 0.98508958 23.68537 6.0322844 4.5551426 1.4771418 0.0016617405 -0.022866808 4.5763477 + 3330 20.03328 1.0167157 23.674911 6.0513358 4.5267706 1.5245652 0.0015539772 -0.022325745 4.5475424 + 3340 20.178276 1.0200252 23.660695 6.0667096 4.5371818 1.5295278 0.0016179134 -0.022327915 4.5578918 + 3350 20.144619 0.99140774 23.554019 6.0265043 4.5398884 1.4866159 0.0017211352 -0.023003213 4.5611705 + 3360 20.519067 0.99262911 23.856421 6.0423902 4.5539429 1.4884474 0.0018574695 -0.023798842 4.5758842 + 3370 20.352193 1.0190661 23.563372 6.0550998 4.5270102 1.5280896 0.0018775834 -0.023658588 4.5487912 + 3380 19.765296 1.0260255 23.778289 6.0675878 4.5290626 1.5385252 0.0019641345 -0.024144962 4.5512434 + 3390 20.165301 1.0359543 23.518897 6.0878315 4.5344181 1.5534134 0.002012851 -0.023901518 4.5563068 + 3400 19.954829 1.0384914 23.92723 6.1041821 4.5469641 1.5572179 0.0020101588 -0.023738057 4.568692 + 3410 20.128565 1.0395691 23.893331 6.1160064 4.5571726 1.5588338 0.0018041372 -0.023025481 4.5783939 + 3420 19.757062 1.0209201 23.829866 6.0985056 4.5676359 1.5308697 0.001764494 -0.022983219 4.5888547 + 3430 19.997626 1.0383315 23.797266 6.0966456 4.5396675 1.5569781 0.0016602008 -0.022248517 4.5602558 + 3440 20.242643 0.99853128 23.699529 6.04264 4.5453424 1.4972976 0.001573447 -0.021751417 4.5655203 + 3450 20.430114 1.0186486 23.948753 6.0538794 4.5264158 1.5274636 0.0014849406 -0.021527948 4.5464588 + 3460 19.931005 1.006988 23.907544 6.0486224 4.538644 1.5099785 0.0015454459 -0.021938893 4.5590374 + 3470 20.14179 1.0166369 23.68294 6.0417428 4.5172959 1.524447 0.0013869424 -0.021331968 4.5372409 + 3480 20.325046 1.0012228 23.488869 6.0393841 4.5380504 1.5013336 0.0011443822 -0.019936425 4.5568425 + 3490 20.394288 1.0196275 23.585183 6.059409 4.5304777 1.5289314 0.0012464594 -0.019980036 4.5492112 + 3500 20.200316 0.99073988 23.665719 6.0271884 4.541574 1.4856144 0.0013429323 -0.020190459 4.5604215 + 3510 20.278212 0.98774044 23.381022 6.0231399 4.5420231 1.4811168 0.0014586032 -0.020263659 4.5608282 + 3520 20.336283 1.0263192 23.707576 6.0491803 4.5102147 1.5389656 0.0013296352 -0.0197707 4.5286557 + 3530 20.08582 0.99901282 23.707847 6.0346946 4.5366749 1.4980197 0.0013403066 -0.01964495 4.5549795 + 3540 20.444676 1.0030182 23.561504 6.0375205 4.5334947 1.5040258 0.0013557822 -0.019567665 4.5517066 + 3550 20.457162 1.001824 23.641061 6.0365738 4.5343387 1.5022351 0.0014824555 -0.020491384 4.5533476 + 3560 20.311039 1.0014702 23.577267 6.03508 4.5333754 1.5017046 0.0016753145 -0.021658964 4.553359 + 3570 20.221397 1.0161804 23.666645 6.0520218 4.5282593 1.5237625 0.0017786029 -0.022274797 4.5487555 + 3580 20.574439 1.0180643 24.099431 6.0586818 4.5320944 1.5265874 0.0017516363 -0.022641805 4.5529845 + 3590 20.181687 1.0205783 23.695535 6.0623482 4.531991 1.5303571 0.0017709002 -0.022730028 4.5529502 + 3600 19.977577 0.99981189 23.87203 6.0478578 4.5486399 1.4992179 0.0016481058 -0.021936286 4.5689281 + 3610 20.193126 1.0230888 23.81056 6.0618275 4.5277058 1.5341217 0.001676183 -0.022048231 4.5480779 + 3620 19.826034 1.0245697 23.668223 6.0631594 4.5268172 1.5363422 0.0017691783 -0.022091662 4.5471397 + 3630 20.143803 1.0150515 23.80234 6.0530205 4.5309508 1.5220698 0.0020737693 -0.023504598 4.5523816 + 3640 20.041362 1.0362965 23.869979 6.0664698 4.5125432 1.5539266 0.0021603545 -0.024238777 4.5346216 + 3650 20.001568 1.0068769 23.537713 6.0545042 4.5446923 1.509812 0.002238285 -0.024296208 4.5667502 + 3660 19.727009 1.0008579 23.680002 6.0238244 4.523038 1.5007865 0.0020499189 -0.023009446 4.5439975 + 3670 20.374034 1.0201135 23.572726 6.0470958 4.5174356 1.5296603 0.001952213 -0.022252689 4.5377361 + 3680 20.296894 1.0237809 23.90897 6.0598342 4.5246747 1.5351595 0.0016913824 -0.020915789 4.5438991 + 3690 20.316008 1.0148317 23.958155 6.0504215 4.5286813 1.5217402 0.0015051752 -0.020173117 4.5473493 + 3700 20.055079 1.0322813 23.78552 6.0671344 4.5192285 1.5479059 0.0015796613 -0.020618687 4.5382675 + 3710 20.054461 1.0116664 23.73721 6.0640621 4.5470684 1.5169937 0.0015963586 -0.020934991 4.566407 + 3720 20.357581 1.0346553 23.857699 6.0802083 4.5287427 1.5514656 0.0015314413 -0.020411221 4.5476225 + 3730 20.29551 1.0275362 24.039217 6.0740786 4.5332881 1.5407905 0.0015020074 -0.020508597 4.5522947 + 3740 20.275807 1.0281322 23.710995 6.0722898 4.5306055 1.5416843 0.0014596576 -0.020616316 4.5497622 + 3750 20.312561 1.0140023 23.802105 6.042665 4.5221686 1.5204964 0.0015166979 -0.020965892 4.5416178 + 3760 20.366681 1.0114703 23.617253 6.0516583 4.5349586 1.5166997 0.0014751232 -0.021016946 4.5545005 + 3770 19.998677 1.020904 23.585938 6.0530597 4.5222141 1.5308456 0.0015170879 -0.02179571 4.5424927 + 3780 19.883023 1.0239318 23.984436 6.0499942 4.5146084 1.5353858 0.0016238797 -0.022452967 4.5354375 + 3790 19.956034 0.99431251 23.428538 6.0385397 4.5475681 1.4909716 0.0017456741 -0.022877303 4.5686997 + 3800 20.219861 1.0282278 23.893084 6.0580303 4.5162027 1.5418276 0.0017234252 -0.022637446 4.5371167 + 3810 20.160137 1.0209515 23.524434 6.0796816 4.5487648 1.5309168 0.001721332 -0.02272116 4.5697646 + 3820 20.120903 1.0218998 23.884909 6.0559703 4.5236315 1.5323388 0.0016002481 -0.022096938 4.5441282 + 3830 20.380743 0.99973927 23.981799 6.03925 4.5401409 1.499109 0.0017694944 -0.022747992 4.5611194 + 3840 20.349023 1.0213274 23.620254 6.053797 4.5223166 1.5314805 0.0019228693 -0.0231328 4.5435265 + 3850 20.455187 1.0325207 23.73917 6.0690185 4.5207538 1.5482648 0.0018260342 -0.022421502 4.5413492 + 3860 20.472264 1.0263787 23.738683 6.0945296 4.5554748 1.5390549 0.0017426813 -0.021910846 4.5756429 + 3870 20.331024 1.0191243 23.872424 6.0630148 4.534838 1.5281768 0.0016375752 -0.021138765 4.5543392 + 3880 20.21689 0.99895581 23.720917 6.0384541 4.5405199 1.4979342 0.0012696083 -0.019429576 4.5586799 + 3890 20.04722 1.017153 23.717598 6.0635836 4.5383627 1.5252209 0.0011702597 -0.019464542 4.556657 + 3900 19.962447 1.0197195 23.734328 6.0563608 4.5272914 1.5290695 0.0011774951 -0.019726599 4.5458405 + 3910 20.347235 1.011076 23.850717 6.0472073 4.5310988 1.5161085 0.0014292758 -0.020831666 4.5505012 + 3920 20.287304 1.007203 23.636544 6.0275963 4.5172955 1.5103009 0.0016663481 -0.021973732 4.5376028 + 3930 20.275545 0.99321157 23.357857 6.0112799 4.5219591 1.4893208 0.0018983688 -0.023093064 4.5431538 + 3940 20.129516 0.97865145 23.763956 5.9752515 4.5077637 1.4674878 0.001879965 -0.023018873 4.5289026 + 3950 20.45958 0.98309044 23.449919 5.9856452 4.5115011 1.4741441 0.0017810155 -0.022162812 4.5318829 + 3960 20.146002 0.98426576 23.695273 5.9997487 4.5238422 1.4759065 0.0016826639 -0.02149739 4.5436569 + 3970 20.275259 1.0002999 23.659287 6.0253189 4.5253691 1.4999498 0.0015088387 -0.020567213 4.5444275 + 3980 20.375861 1.023953 23.909171 6.0546298 4.5192122 1.5354176 0.0014611227 -0.019789037 4.5375402 + 3990 20.399314 1.0014005 23.647646 6.0559523 4.5543523 1.5016 0.0015699841 -0.020299891 4.5730822 + 4000 20.102606 1.0034969 23.582197 6.0618479 4.5571043 1.5047436 0.001743879 -0.021573012 4.5769334 + 4010 20.178139 1.0292536 23.711951 6.0671575 4.5237916 1.5433658 0.0017249631 -0.021979185 4.5440458 + 4020 20.116776 1.0254835 23.543628 6.0696817 4.5319692 1.5377124 0.0016531088 -0.022086044 4.5524022 + 4030 20.421203 1.0096963 23.750336 6.0474477 4.5334081 1.5140396 0.0016983484 -0.022479151 4.5541889 + 4040 20.525112 1.0062133 23.732223 6.0515784 4.5427615 1.5088169 0.0016969875 -0.022622838 4.5636874 + 4050 20.378417 1.0010887 23.773433 6.0286535 4.5275209 1.5011325 0.0016313353 -0.022416607 4.5483062 + 4060 20.155485 0.9967565 23.779601 6.0458684 4.551232 1.4946364 0.001735347 -0.023017522 4.5725142 + 4070 20.142012 1.0153368 23.645577 6.0472991 4.5248015 1.5224976 0.0018863517 -0.023290492 4.5462056 + 4080 20.127851 1.0098013 23.69284 6.0227488 4.5085518 1.514197 0.0019245573 -0.022833662 4.529461 + 4090 20.595518 1.0164172 23.862189 6.0408034 4.5166859 1.5241175 0.0018423211 -0.022148131 4.5369917 + 4100 20.522923 1.0201014 23.832843 6.0626017 4.5329596 1.529642 0.0018747638 -0.022140368 4.5532252 + 4110 20.437792 1.0421809 23.943281 6.0869772 4.524227 1.5627503 0.0020256481 -0.022933697 4.545135 + 4120 20.40493 1.009251 23.701391 6.0467629 4.533391 1.5133718 0.0020237902 -0.023204789 4.554572 + 4130 20.256841 1.0186978 23.658029 6.0538465 4.5263092 1.5275373 0.0019707633 -0.023388271 4.5477267 + 4140 19.762145 1.0301741 23.855319 6.0778696 4.5331234 1.5447461 0.0019509269 -0.023279556 4.5544521 + 4150 20.247034 1.0249484 23.768964 6.0752528 4.5383427 1.5369101 0.0020919031 -0.023696619 4.5599474 + 4160 19.932551 1.0120151 23.777774 6.0463641 4.5288474 1.5175167 0.0020734138 -0.023629048 4.550403 + 4170 20.404964 0.99178321 23.565002 6.0181927 4.5310138 1.4871789 0.0018668958 -0.022811378 4.5519582 + 4180 20.522091 1.0079628 23.607408 6.0120195 4.5005793 1.5114402 0.0018482283 -0.022713823 4.5214449 + 4190 20.341024 0.99294659 23.609428 6.0140386 4.5251152 1.4889234 0.0017098246 -0.021996436 4.5454018 + 4200 20.333004 1.0107035 23.68449 6.0228366 4.5072867 1.5155498 0.0015269238 -0.021004704 4.5267645 + 4210 20.043492 1.0013012 23.614388 6.018083 4.5166318 1.5014512 0.0015057155 -0.020952722 4.5360788 + 4220 20.102977 1.0094603 24.00008 6.03398 4.5202942 1.5136857 0.0017034079 -0.021752341 4.5403432 + 4230 19.987327 1.0022762 23.840403 6.0320624 4.5291492 1.5029132 0.0017898468 -0.021879448 4.5492388 + 4240 19.716014 1.0181196 23.678387 6.0599817 4.5333114 1.5266703 0.0017918404 -0.021813925 4.5533335 + 4250 20.011092 1.021448 23.867789 6.0655325 4.5338712 1.5316613 0.0017634846 -0.02195334 4.554061 + 4260 20.171336 1.0207226 23.739029 6.0667828 4.5362093 1.5305735 0.001754246 -0.022095503 4.5565506 + 4270 20.225662 1.004737 23.565452 6.0359135 4.5293103 1.5066032 0.001978497 -0.023216431 4.5505483 + 4280 19.616572 0.99591448 23.794845 6.0453888 4.552015 1.4933738 0.0018879577 -0.02270041 4.5728275 + 4290 20.208954 0.99622883 23.890001 6.0358533 4.5420082 1.4938451 0.0017211064 -0.022045365 4.5623324 + 4300 20.189136 1.0165747 23.898191 6.0424254 4.5180716 1.5243538 0.001783418 -0.022201962 4.5384902 + 4310 20.327851 1.0010688 23.462407 6.0219799 4.5208773 1.5011026 0.0017513913 -0.021969863 4.5410958 + 4320 20.519596 0.99154544 23.36037 6.0125037 4.5256813 1.4868224 0.0016960878 -0.022195672 4.5461809 + 4330 20.133981 0.99804129 23.874668 6.0225336 4.5259707 1.4965629 0.0016724731 -0.022084502 4.5463828 + 4340 20.045973 0.9924146 23.57343 6.0217858 4.5336601 1.4881257 0.0016169698 -0.021762354 4.5538054 + 4350 20.227415 1.0054992 23.638736 6.0482613 4.5405153 1.5077461 0.0015232617 -0.020939491 4.5599315 + 4360 20.39007 1.0141049 23.859285 6.0550906 4.5344404 1.5206502 0.0015681456 -0.021450032 4.5543223 + 4370 20.315654 1.0258703 23.880387 6.087494 4.5492014 1.5382926 0.0015450314 -0.021095828 4.5687522 + 4380 20.182498 1.0158431 23.67433 6.0952383 4.5719816 1.5232567 0.0015928999 -0.02117999 4.5915687 + 4390 20.198141 1.0337074 23.944434 6.0635641 4.5135198 1.5500442 0.0019103647 -0.022918638 4.5345281 + 4400 20.177519 1.00972 23.613756 6.0296328 4.5155577 1.5140751 0.0020543182 -0.023408056 4.5369114 + 4410 20.230843 1.0160429 23.645615 6.0615452 4.537989 1.5235563 0.001929053 -0.022870935 4.5589309 + 4420 20.194135 0.99658256 23.508236 6.0428187 4.5484432 1.4943755 0.001874646 -0.022469326 4.5690379 + 4430 20.212127 0.99644564 23.812537 6.0342489 4.5400787 1.4941702 0.0017367983 -0.022116364 4.5604582 + 4440 20.291578 1.0212963 23.878987 6.0609613 4.5295275 1.5314338 0.0015542871 -0.0213334 4.5493066 + 4450 20.264387 1.0239287 23.72403 6.0729062 4.5375251 1.5353811 0.0016234283 -0.02172189 4.5576236 + 4460 20.389679 1.0176224 23.946717 6.0599036 4.5339788 1.5259247 0.0016242289 -0.021634365 4.553989 + 4470 20.358777 1.0105669 23.741037 6.0616717 4.5463267 1.515345 0.0015558567 -0.021316246 4.5660871 + 4480 20.077303 1.030594 23.800776 6.0860187 4.540643 1.5453757 0.0016456937 -0.021726214 4.5607235 + 4490 20.412666 0.99931505 23.753837 6.0485289 4.5500559 1.4984729 0.0017234546 -0.021546847 4.5698793 + 4500 20.027286 1.0293628 23.843617 6.0335819 4.4900524 1.5435295 0.0017892187 -0.021897372 4.5101605 + 4510 20.332896 1.0092151 23.995322 6.0309493 4.5176312 1.5133181 0.0016893983 -0.021646673 4.5375885 + 4520 20.378086 0.98812737 23.588051 6.0198629 4.5381659 1.481697 0.0015694147 -0.021498078 4.5580946 + 4530 20.059954 1.0057657 23.707487 6.0235616 4.515416 1.5081456 0.0016800902 -0.021856379 4.5355923 + 4540 20.019913 0.9919924 23.583798 6.006508 4.5190155 1.4874926 0.0016768993 -0.021792092 4.5391306 + 4550 20.322609 0.98927879 23.745142 6.0033807 4.5199571 1.4834235 0.00165119 -0.02165179 4.5399577 + 4560 20.400957 0.99263087 23.877678 6.0178034 4.5293534 1.48845 0.0016088226 -0.021339897 4.5490844 + 4570 19.973948 1.0112756 23.593127 6.0375297 4.5211219 1.5164078 0.0017655157 -0.021619486 4.5409758 + 4580 20.28867 1.0152653 23.726787 6.0351068 4.5127164 1.5223904 0.0017313947 -0.021870049 4.5328551 + 4590 20.144048 0.99666219 23.792145 6.0207015 4.5262066 1.494495 0.0017714725 -0.022246536 4.5466816 + 4600 19.948813 1.0220838 23.779912 6.0369173 4.5043027 1.5326146 0.0018589942 -0.022214009 4.5246577 + 4610 20.22739 0.99888802 23.378425 6.0492846 4.551452 1.4978326 0.0018315722 -0.021787707 4.5714081 + 4620 20.554447 0.97961763 23.812521 6.0041222 4.5351856 1.4689366 0.0015713439 -0.02071549 4.5543297 + 4630 20.209864 1.0002044 23.527775 6.0113891 4.5115827 1.4998065 0.0013450156 -0.019639882 4.5298775 + 4640 20.386247 0.97774299 23.62431 6.0130031 4.5468775 1.4661256 0.0011414713 -0.018610588 4.5643466 + 4650 20.15832 0.99424705 23.71465 6.0347966 4.5439232 1.4908734 0.0012041493 -0.018842929 4.5615619 + 4660 20.268328 0.99761657 23.618824 6.0404937 4.5445677 1.4959261 0.0012835686 -0.019877393 4.5631615 + 4670 20.293892 1.0014016 23.575299 6.0380516 4.5364498 1.5016017 0.001613988 -0.021426626 4.5562625 + 4680 20.281502 0.99971935 23.523847 6.0177967 4.5187175 1.4990792 0.0017789947 -0.021952721 4.5388913 + 4690 20.22411 0.9959397 23.659525 6.0011988 4.5077873 1.4934116 0.0018287015 -0.021740527 4.5276991 + 4700 20.354244 0.99515157 23.673874 5.9950922 4.5028624 1.4922298 0.0017350419 -0.020959034 4.5220864 + 4710 20.239314 1.0003638 23.413239 6.0360688 4.5360233 1.5000455 0.0015543981 -0.019922287 4.5543912 + 4720 20.23917 0.99888697 23.927168 6.0251818 4.5273508 1.497831 0.0016757192 -0.020821565 4.5464966 + 4730 20.206064 1.0081673 23.53158 6.0306459 4.518899 1.5117469 0.0017602729 -0.021417177 4.5385559 + 4740 20.469778 0.97294739 23.521365 5.9811034 4.5221688 1.4589346 0.0017680231 -0.02160143 4.5420022 + 4750 20.360928 0.97936634 23.706532 5.9820606 4.5135008 1.4685598 0.0017330035 -0.021748426 4.5335162 + 4760 20.279271 0.98074744 23.626393 6.0021402 4.5315094 1.4706308 0.001917502 -0.022800981 4.5523929 + 4770 20.019407 0.99174447 23.629402 6.0051863 4.5180654 1.4871208 0.0019275899 -0.022753463 4.5388913 + 4780 19.676801 0.976527 23.604438 5.9864585 4.5221562 1.4643022 0.0019940286 -0.023092431 4.5432546 + 4790 20.377514 0.98954155 23.740414 5.9951977 4.5113802 1.4838175 0.0019473559 -0.023163482 4.5325963 + 4800 20.233744 1.0018564 23.889247 6.0176432 4.5153595 1.5022837 0.0020067542 -0.02310706 4.5364598 + 4810 20.265788 0.98795783 23.806419 6.0122179 4.5307751 1.4814428 0.0018832274 -0.022202128 4.551094 + 4820 20.099476 0.9940881 23.812567 6.0395758 4.5489407 1.4906351 0.0018073804 -0.021694631 4.5688279 + 4830 19.804356 1.0060163 23.803257 6.0326243 4.5241029 1.5085214 0.0016898874 -0.021056729 4.5434697 + 4840 20.249631 1.0248437 23.978786 6.0511738 4.5144208 1.5367531 0.0014604693 -0.020174203 4.5331345 + 4850 20.227516 1.030456 23.590483 6.0722922 4.5271234 1.5451688 0.0015323351 -0.02063896 4.54623 + 4860 20.180285 1.0156868 23.256348 6.0904034 4.5673811 1.5230224 0.0017620265 -0.022019093 4.5876382 + 4870 20.442825 1.0409316 23.70419 6.1012835 4.5404066 1.5608769 0.0019013737 -0.022749328 4.5612546 + 4880 20.3029 1.0151492 23.534239 6.0578678 4.5356515 1.5222162 0.0019439684 -0.023352526 4.5570601 + 4890 20.312194 1.0174627 23.633515 6.061646 4.5359607 1.5256853 0.0019356419 -0.023503296 4.5575284 + 4900 19.80192 1.0314602 23.751607 6.0574433 4.5107686 1.5466746 0.0018877005 -0.022999251 4.5318802 + 4910 20.044066 1.0153091 23.788742 6.0692463 4.5467903 1.522456 0.0019228596 -0.023425803 4.5682933 + 4920 20.243162 1.0257634 24.017066 6.0623999 4.5242676 1.5381322 0.0018996994 -0.023083057 4.545451 + 4930 20.288856 1.0256303 24.009041 6.0588367 4.520904 1.5379327 0.0019124119 -0.022625782 4.5416174 + 4940 20.404328 0.99760719 23.640548 6.0117021 4.5157901 1.495912 0.0018696769 -0.022277889 4.5361983 + 4950 20.102476 1.0094722 23.387917 6.0367829 4.5230794 1.5137035 0.0017610387 -0.021522181 4.5428405 + 4960 20.100895 0.99916944 23.642693 6.0360635 4.5378089 1.4982546 0.0018274936 -0.021682047 4.5576635 + 4970 20.131621 1.0111816 23.90724 6.035589 4.5193223 1.5162668 0.0018769629 -0.021961696 4.539407 + 4980 20.001096 1.0032433 23.785376 6.0427639 4.5384006 1.5043633 0.0018961686 -0.022359033 4.5588634 + 4990 20.574539 1.0147723 23.617254 6.0566145 4.5349633 1.5216511 0.0018223175 -0.022254461 4.5553955 + 5000 20.390197 0.98644341 23.311789 6.0191862 4.5400144 1.4791719 0.0015891364 -0.02151768 4.5599429 + 5010 20.203858 1.0244147 23.408369 6.0582312 4.5221213 1.5361099 0.0013764787 -0.02101889 4.5417637 + 5020 19.940971 1.0159411 23.694402 6.0642715 4.5408678 1.5234037 0.0013651174 -0.020882347 4.560385 + 5030 20.08505 1.0072553 23.996958 6.0537634 4.5433841 1.5103793 0.0015347992 -0.02144306 4.5632924 + 5040 20.404274 0.98564784 23.772053 6.0269361 4.5489571 1.4779789 0.0015622712 -0.021164808 4.5685596 + 5050 20.262099 1.010804 23.75059 6.0444269 4.5287264 1.5157006 0.0016043245 -0.020947144 4.5480692 + 5060 20.081671 1.0020505 23.70978 6.0307255 4.5281507 1.5025748 0.0015201361 -0.020029403 4.54666 + 5070 20.27761 1.0148503 23.638579 6.0700464 4.5482784 1.521768 0.0013281956 -0.018834639 4.5657849 + 5080 20.291935 1.0225477 23.772451 6.0716525 4.5383423 1.5333103 0.0012543766 -0.018405665 4.5554936 + 5090 20.179643 1.0274745 23.674614 6.0769288 4.5362308 1.540698 0.0013817884 -0.01908549 4.5539345 + 5100 20.248495 1.0207147 23.5895 6.0557756 4.5252138 1.5305617 0.0016363988 -0.020339908 4.5439174 + 5110 20.20453 0.99758116 23.625617 6.0452392 4.5493663 1.495873 0.0018476192 -0.021697622 4.5692163 + 5120 20.142618 1.0070076 23.326249 6.0097112 4.4997033 1.5100079 0.0019747 -0.023169705 4.5208984 + 5130 20.313272 0.99521133 23.639807 6.0372294 4.54491 1.4923194 0.0019536858 -0.023267776 4.5662241 + 5140 20.140754 1.0119138 23.789476 6.0371765 4.5198118 1.5173647 0.0016442359 -0.021227216 4.5393948 + 5150 20.055663 0.99226779 23.696127 6.0297548 4.5418492 1.4879056 0.001582015 -0.020975024 4.5612422 + 5160 20.290942 0.99578579 23.759355 6.0141572 4.5209764 1.4931808 0.0016890387 -0.021871842 4.5411592 + 5170 20.097312 0.98868623 23.599431 6.0059563 4.5234213 1.482535 0.0016514448 -0.021538466 4.5433083 + 5180 20.098165 0.99653935 23.680945 6.0053558 4.511045 1.4943108 0.0016319741 -0.020930121 4.5303431 + 5190 20.190587 1.0115867 23.453665 6.0324743 4.5156 1.5168743 0.0016237169 -0.021049138 4.5350254 + 5200 20.090216 1.0050861 23.782974 6.0493831 4.5422565 1.5071266 0.0016364151 -0.021456507 4.5620766 + 5210 20.011476 1.0116311 23.828326 6.0547556 4.5378148 1.5169408 0.0014882648 -0.020977226 4.5573037 + 5220 20.160975 1.0059717 23.624243 6.0381801 4.5297254 1.5084546 0.0015015659 -0.020751896 4.5489758 + 5230 20.266032 1.0097556 23.555668 6.0642716 4.5501431 1.5141285 0.0016485562 -0.021578099 4.5700726 + 5240 20.117431 1.0256463 23.880783 6.0645185 4.5265619 1.5379566 0.001680464 -0.021987814 4.5468692 + 5250 20.192545 1.0266277 23.872175 6.0729298 4.5335016 1.5394282 0.0017813901 -0.02238359 4.5541038 + 5260 20.273298 1.0163914 23.66671 6.067606 4.5435271 1.5240788 0.0019412573 -0.023191318 4.5647772 + 5270 20.160627 1.0338042 23.623111 6.0774526 4.5272632 1.5501894 0.0019165347 -0.022632924 4.5479796 + 5280 20.136633 1.0075267 23.863173 6.0459876 4.5352012 1.5107863 0.0017673754 -0.021687262 4.5551211 + 5290 20.286334 0.99700227 23.607064 6.0222261 4.5272212 1.4950049 0.0017469468 -0.021390558 4.5468648 + 5300 20.337858 1.003088 23.394605 6.0153635 4.5112331 1.5041304 0.0017617525 -0.021719186 4.5311906 + 5310 20.178234 1.0126334 23.753863 6.0533134 4.5348695 1.5184438 0.0017315558 -0.021628842 4.5547668 + 5320 19.961427 1.0258203 23.94348 6.0456039 4.5073864 1.5382175 0.0014058198 -0.020302483 4.5262831 + 5330 20.200807 0.99789958 23.495749 5.9890286 4.4926782 1.4963504 0.0012109239 -0.019911645 4.5113789 + 5340 20.264344 0.98472866 23.51189 5.9866398 4.5100392 1.4766006 0.0012351096 -0.019854149 4.5286582 + 5350 20.360501 0.99113568 23.968789 5.99817 4.5119621 1.4862079 0.001463571 -0.02066918 4.5311677 + 5360 20.199887 1.0018342 23.799314 6.0304748 4.5282245 1.5022503 0.0015754555 -0.0214486 4.5480976 + 5370 20.241137 1.0117495 23.970139 6.0435444 4.526426 1.5171184 0.001578892 -0.021740206 4.5465873 + 5380 20.088276 1.000006 23.741582 6.0193515 4.5198425 1.499509 0.0014425422 -0.020818251 4.5392182 + 5390 20.281615 0.99489754 23.703819 6.0491377 4.5572888 1.4918489 0.0014429973 -0.020916322 4.5767621 + 5400 20.305196 0.99227567 23.585165 6.0226961 4.5347787 1.4879174 0.0014919687 -0.021031622 4.5543184 + 5410 19.991403 1.0091465 23.821842 6.0408903 4.5276752 1.5132151 0.0015209463 -0.021055601 4.5472099 + 5420 20.174616 1.014676 23.84495 6.0432442 4.5217376 1.5215066 0.0015836068 -0.021718936 4.5418729 + 5430 20.271262 1.0201324 23.805183 6.051526 4.5218374 1.5296886 0.0017219934 -0.02222279 4.5423382 + 5440 20.118054 0.98352837 23.655094 5.9983896 4.5235888 1.4748008 0.0018183989 -0.022788474 4.5445589 + 5450 20.045835 0.97642496 23.805637 5.9680726 4.5039234 1.4641492 0.0018129401 -0.022821093 4.5249315 + 5460 20.211421 0.96767299 23.638487 5.963269 4.5122434 1.4510256 0.0017237358 -0.022311952 4.5328316 + 5470 20.289746 0.97758393 23.964947 5.9945397 4.5286526 1.4658871 0.0016841709 -0.022261473 4.5492299 + 5480 20.392186 0.97247148 23.911556 5.9708782 4.5126573 1.458221 0.001725635 -0.022431489 4.5333631 + 5490 20.497315 0.97180592 23.23089 5.9750706 4.5178476 1.457223 0.0016679579 -0.022167363 4.538347 + 5500 20.156082 0.98453787 23.700198 6.0013674 4.5250529 1.4763145 0.0017076465 -0.022488629 4.5458339 + 5510 20.156927 1.0006969 23.6783 6.0270391 4.5264942 1.500545 0.0017822281 -0.022791328 4.5475033 + 5520 19.806102 1.0151135 23.976405 6.0610416 4.5388788 1.5221627 0.0018090706 -0.022998689 4.5600685 + 5530 20.115882 1.0188974 23.689725 6.0518095 4.5239728 1.5278367 0.0018426235 -0.023139544 4.5452697 + 5540 20.001102 0.99149819 23.664045 6.0246731 4.5379216 1.4867515 0.0018123 -0.022875455 4.5589848 + 5550 20.051078 1.000945 23.644006 6.0512657 4.5503487 1.5009171 0.0016834831 -0.022540932 4.5712061 + 5560 20.288717 1.0068226 23.48717 6.0336139 4.5238834 1.5097306 0.001704323 -0.02226492 4.544444 + 5570 20.357593 1.0138834 23.792894 6.0526276 4.5323094 1.5203182 0.0016842374 -0.022278091 4.5529033 + 5580 20.185731 1.0152856 24.017128 6.0696381 4.5472173 1.5224207 0.001730271 -0.022678361 4.5681654 + 5590 19.967997 1.0302259 23.850029 6.0696252 4.5248014 1.5448238 0.0017238202 -0.022726827 4.5458044 + 5600 20.088808 1.0215384 23.755598 6.0677701 4.5359733 1.5317968 0.0015265354 -0.021892015 4.5563388 + 5610 20.182278 1.0281058 23.721618 6.0899112 4.5482665 1.5416447 0.0013705257 -0.021143445 4.5680395 + 5620 20.240773 1.0306302 23.670038 6.094032 4.5486019 1.54543 0.0014247759 -0.021214365 4.5683915 + 5630 19.948794 1.0365514 23.757589 6.0956288 4.5413199 1.5543089 0.0012511753 -0.020059049 4.5601278 + 5640 20.465059 1.0250699 23.843376 6.0700045 4.5329123 1.5370923 0.0011080369 -0.019247797 4.551052 + 5650 20.46319 1.0198587 23.403759 6.0573414 4.5280633 1.5292781 0.0012126317 -0.019476954 4.5463276 + 5660 20.264393 1.0188441 23.701474 6.0479951 4.5202384 1.5277568 0.0011859978 -0.019096403 4.5381488 + 5670 20.362566 1.0016238 23.598462 6.0349929 4.533058 1.5019349 0.0013976742 -0.020119182 4.5517795 + 5680 20.426481 1.0119307 23.630514 6.0614782 4.5440881 1.5173901 0.0015974376 -0.02095203 4.5634427 + 5690 20.092615 1.0132786 23.977376 6.032398 4.5129868 1.5194112 0.001855234 -0.022344016 4.5334756 + 5700 19.873818 1.0131208 23.651853 6.0561993 4.5370246 1.5191747 0.001893937 -0.0228184 4.5579491 + 5710 20.100729 0.99682382 23.743357 6.0392991 4.5445618 1.4947373 0.0017323733 -0.022286023 4.5651155 + 5720 19.901806 0.98169012 23.601607 6.0028307 4.5307864 1.4720443 0.0015331404 -0.021648437 4.5509017 + 5730 20.048265 0.98899442 23.851659 5.9847293 4.5017321 1.4829971 0.0014446583 -0.021424276 4.5217118 + 5740 20.330305 0.9951691 23.714842 6.005635 4.513379 1.4922561 0.0013686689 -0.020823459 4.5328337 + 5750 20.35226 1.0235619 23.635802 6.065718 4.530887 1.534831 0.001623162 -0.021884191 4.551148 + 5760 20.427304 1.0402909 23.87086 6.0852682 4.5253519 1.5599163 0.0016633793 -0.022390435 4.546079 + 5770 20.358055 1.0233771 23.706909 6.0668237 4.5322698 1.5345539 0.0017572192 -0.022520657 4.5530332 + 5780 20.248181 1.0117661 23.787198 6.0782293 4.561086 1.5171433 0.0020313587 -0.023156818 4.5822114 + 5790 20.169604 1.0276295 23.791321 6.0963602 4.5554297 1.5409305 0.0020612406 -0.02280932 4.5761778 + 5800 20.158143 1.0258279 23.637906 6.0666155 4.5283866 1.5382289 0.002095481 -0.022659472 4.5489506 + 5810 19.987323 1.0265549 23.901792 6.08195 4.5426309 1.5393191 0.0020482495 -0.022581044 4.5631637 + 5820 19.948055 1.0303831 23.597615 6.0753065 4.5302471 1.5450594 0.0020370985 -0.022316096 4.5505261 + 5830 20.109377 1.0113339 23.939333 6.0586466 4.5421515 1.5164951 0.0018708025 -0.021857479 4.5621381 + 5840 20.284211 0.99731297 23.612985 6.03207 4.5365992 1.4954708 0.0016480554 -0.020941066 4.5558923 + 5850 20.289243 1.0040222 23.939887 6.0426127 4.5370815 1.5055312 0.0013961516 -0.019975638 4.555661 + 5860 20.122293 1.0139601 23.636759 6.0538632 4.53343 1.5204332 0.0011725291 -0.019007423 4.5512649 + 5870 20.020738 1.0028083 23.75918 6.0309 4.527189 1.503711 0.0011592168 -0.018549164 4.5445789 + 5880 19.844827 0.99463798 23.705036 6.0281482 4.5366886 1.4914596 0.0010195791 -0.017476602 4.5531456 + 5890 20.188925 0.99215233 23.582727 6.0288626 4.5411302 1.4877324 0.001008014 -0.017211634 4.5573338 + 5900 19.751303 1.0055314 23.663611 6.0374104 4.529616 1.5077944 0.0012644655 -0.018801447 4.547153 + 5910 20.298512 0.9886218 23.797941 6.0409893 4.5585509 1.4824384 0.0013190862 -0.019199569 4.5764314 + 5920 20.112756 1.014278 23.628136 6.0739293 4.5530195 1.5209098 0.0013818042 -0.019578737 4.5712165 + 5930 19.662675 1.0121418 23.602904 6.0861761 4.5684695 1.5177067 0.0014945923 -0.019953279 4.5869282 + 5940 20.27353 1.0448164 24.109943 6.1034183 4.5367161 1.5667022 0.0014087851 -0.019599578 4.5549069 + 5950 19.924874 1.0415608 23.804784 6.0838163 4.5219959 1.5618204 0.0013839663 -0.019125121 4.5397371 + 5960 20.11878 1.0018867 23.558041 6.0689428 4.5666137 1.5023291 0.001335868 -0.018790858 4.5840687 + 5970 20.202177 0.99975165 23.652035 6.0345905 4.5354629 1.4991276 0.0013695477 -0.019031959 4.5531253 + 5980 20.187988 0.99842663 23.542953 6.0496639 4.5525231 1.4971407 0.0014927401 -0.019275619 4.570306 + 5990 20.143192 1.0062075 23.615526 6.0515864 4.5427783 1.5088081 0.0015976173 -0.019850114 4.5610308 + 6000 20.313038 0.99062696 23.567003 6.0104993 4.5250542 1.4854451 0.0017142309 -0.020086814 4.5434268 + 6010 20.443106 0.98763708 23.677861 6.0028527 4.5218909 1.4809618 0.0016361214 -0.019408352 4.5396632 + 6020 20.415671 1.0148105 23.882214 6.0483009 4.5265926 1.5217083 0.0015045234 -0.018554632 4.5436427 + 6030 20.391724 1.0203523 23.691622 6.0501063 4.520088 1.5300183 0.0015789582 -0.018956336 4.5374654 + 6040 20.218272 1.0142608 23.821327 6.0527077 4.5318237 1.520884 0.0018167776 -0.020966289 4.5509732 + 6050 20.213238 1.0036392 23.650078 6.0121746 4.5072176 1.504957 0.0018518627 -0.021052101 4.5264178 + 6060 20.070538 1.000472 23.52432 5.9950045 4.4947967 1.5002078 0.001655652 -0.020370904 4.5135119 + 6070 20.35057 0.98955607 23.73273 6.0059882 4.5221489 1.4838393 0.0017125991 -0.020985628 4.5414219 + 6080 20.392662 0.9796934 23.535933 6.0026883 4.5336381 1.4690502 0.0016767934 -0.021210919 4.5531722 + 6090 20.108232 0.99220648 23.567414 6.0180688 4.5302552 1.4878136 0.0017061235 -0.021398493 4.5499476 + 6100 19.986333 0.98037492 23.632267 5.998636 4.5285638 1.4700722 0.0014562521 -0.020250037 4.5473576 + 6110 20.089134 0.98341106 23.581104 5.9825474 4.5079225 1.4746249 0.0013093146 -0.019556589 4.5261697 + 6120 20.454143 0.99004966 23.55894 6.0214331 4.5368536 1.4845795 0.0014415039 -0.020264175 4.5556763 + 6130 20.264044 0.99556611 23.759073 6.0214751 4.5286238 1.4928514 0.0015624095 -0.020809488 4.5478708 + 6140 20.247169 0.9971383 23.649169 6.0262185 4.5310096 1.4952089 0.0016315858 -0.020723196 4.5501012 + 6150 19.933737 1.0080889 23.724499 6.0325195 4.5208902 1.5116293 0.0015745821 -0.020533756 4.5398494 + 6160 20.352948 1.0028113 23.782207 6.0357648 4.5320492 1.5037156 0.0018201576 -0.0215284 4.5517575 + 6170 20.217598 0.99996716 23.711316 6.0283155 4.5288647 1.4994508 0.0018964273 -0.022125125 4.5490934 + 6180 20.467221 1.0129528 23.696519 6.0343629 4.5154402 1.5189227 0.0018081075 -0.022085839 4.5357179 + 6190 20.389425 1.0001323 23.575852 6.0388923 4.5391939 1.4996984 0.0017450545 -0.021649882 4.5590987 + 6200 20.409927 1.0221465 23.585262 6.0572599 4.5245512 1.5327087 0.0016551019 -0.021424638 4.5443208 + 6210 20.325426 1.0166256 23.892429 6.0500526 4.5256224 1.5244302 0.0013616241 -0.02012289 4.5443837 + 6220 19.954819 1.0119531 23.500087 6.0653427 4.547919 1.5174237 0.0010900986 -0.018896604 4.5657255 + 6230 20.1468 1.0130825 23.744038 6.0685233 4.5494062 1.5191171 0.0011312948 -0.019319449 4.5675943 + 6240 20.063766 1.0156222 23.714278 6.0781728 4.5552473 1.5229254 0.0013119308 -0.01998254 4.573918 + 6250 20.240895 1.0263227 23.842777 6.0838363 4.5448653 1.5389709 0.0013614003 -0.020512135 4.5640161 + 6260 20.439356 1.0140696 23.892372 6.0679206 4.5473232 1.5205974 0.0013837339 -0.021354982 4.5672944 + 6270 20.30724 1.020773 23.535961 6.0730373 4.5423881 1.5306492 0.0014677291 -0.021462893 4.5623833 + 6280 20.166189 1.0260848 23.500756 6.093055 4.5544408 1.5386141 0.001725448 -0.022096882 4.5748123 + 6290 19.748292 1.0287677 23.824927 6.0838528 4.5412156 1.5426372 0.0016997213 -0.021578791 4.5610947 + 6300 20.002884 1.0116436 23.672823 6.0578291 4.5408695 1.5169596 0.0017734301 -0.021769475 4.5608656 + 6310 20.285289 1.0144411 23.796838 6.0629512 4.5417967 1.5211544 0.0018453087 -0.021786604 4.561738 + 6320 20.371006 1.0308323 23.903828 6.068898 4.5231649 1.5457331 0.0017559594 -0.021199691 4.5426086 + 6330 20.123555 1.0241201 23.841677 6.0601038 4.5244357 1.5356681 0.0017053584 -0.021105598 4.5438359 + 6340 20.227862 1.0134243 23.868316 6.0543112 4.5346815 1.5196297 0.0017446376 -0.02196956 4.5549064 + 6350 20.271521 0.99165898 23.805615 6.0278452 4.5408526 1.4869926 0.0014968217 -0.021045159 4.5604009 + 6360 20.149114 1.0230449 23.563602 6.0513385 4.5172826 1.5340558 0.0012866822 -0.020205023 4.536201 + 6370 20.105471 1.0191812 23.806033 6.0573515 4.5290894 1.5282622 0.0011856591 -0.019318839 4.5472225 + 6380 20.376208 1.006594 23.720479 6.0485057 4.539118 1.5093877 0.00137425 -0.01969095 4.5574347 + 6390 20.465883 0.99611534 23.776915 6.0375648 4.5438899 1.493675 0.0015002658 -0.020306539 4.5626962 + 6400 20.296373 1.0096882 24.021933 6.0374483 4.5234209 1.5140274 0.0017845426 -0.022002724 4.5436391 + 6410 20.077165 1.0064459 23.305115 6.034965 4.5257994 1.5091656 0.001839035 -0.02281656 4.546777 + 6420 20.437982 1.0070123 23.91502 6.0195396 4.5095246 1.510015 0.0020897811 -0.024004995 4.5314398 + 6430 20.277506 0.98491262 23.576946 6.003389 4.5265126 1.4768765 0.0021868991 -0.024013523 4.5483392 + 6440 20.546042 0.99108205 23.601631 6.0065427 4.5204152 1.4861275 0.0021159228 -0.023627435 4.5419267 + 6450 20.450551 1.0177393 23.807933 6.0535148 4.5274147 1.5261001 0.0019663176 -0.022985524 4.5484339 + 6460 20.365917 1.0090331 23.904116 6.0538605 4.5408153 1.5130452 0.0019648895 -0.023082399 4.5619328 + 6470 20.449801 1.0275265 23.656998 6.0617812 4.5210051 1.540776 0.0021091835 -0.023225678 4.5421216 + 6480 20.422081 1.0267301 23.694611 6.0578014 4.5182196 1.5395818 0.0019930158 -0.022423404 4.5386499 + 6490 20.199729 0.99204561 23.755981 6.0274842 4.5399118 1.4875724 0.0020693188 -0.022513537 4.560356 + 6500 20.366597 0.9963363 23.646816 6.0309545 4.5369482 1.4940063 0.0019031329 -0.021416359 4.5564615 + 6510 20.231512 0.99883644 23.473042 6.0332732 4.5355179 1.4977552 0.0018092263 -0.021068717 4.5547774 + 6520 20.100158 1.0011611 23.777492 6.0190141 4.5177732 1.501241 0.001604033 -0.020462202 4.5366313 + 6530 20.265109 1.0120629 23.752152 6.0367979 4.5192095 1.5175884 0.0015501216 -0.02060045 4.5382599 + 6540 19.682966 0.99467716 23.646484 6.0194365 4.5279181 1.4915184 0.0016378419 -0.021028178 4.5473085 + 6550 20.108464 0.99707811 23.523496 6.0267697 4.531651 1.4951186 0.0015870097 -0.020477184 4.5505412 + 6560 20.273048 1.0092315 23.72888 6.0481637 4.534821 1.5133426 0.0016782751 -0.021035719 4.5541785 + 6570 20.251519 0.99724815 23.645216 6.0292393 4.5338657 1.4953736 0.0017205562 -0.021602453 4.5537476 + 6580 20.300023 1.0070103 23.790345 6.0545946 4.5445826 1.510012 0.0016662183 -0.021032429 4.5639488 + 6590 19.915952 1.0258242 24.043608 6.0785763 4.5403529 1.5382234 0.001701685 -0.021151124 4.5598024 + 6600 19.860226 1.0313891 23.84493 6.0738198 4.5272518 1.546568 0.0016709575 -0.021211942 4.5467928 + 6610 19.966762 1.0294366 23.635641 6.086347 4.5427068 1.5436402 0.0017851256 -0.021824843 4.5627465 + 6620 20.377807 1.0357482 23.538568 6.1026259 4.5495215 1.5531044 0.0015030118 -0.020366045 4.5683845 + 6630 20.120685 1.0193022 23.693471 6.0894788 4.5610351 1.5284437 0.0012733663 -0.019268663 4.5790304 + 6640 20.0122 1.0325257 23.978413 6.0979231 4.5496508 1.5482723 0.0015318683 -0.020338145 4.5684571 + 6650 20.16335 1.0492577 23.697901 6.1150626 4.5417007 1.5733619 0.0014876755 -0.020171385 4.5603844 + 6660 20.305236 1.0331508 23.639469 6.0933632 4.5441536 1.5492096 0.0014642708 -0.020552727 4.563242 + 6670 20.351426 1.0357327 23.820503 6.0981788 4.5450977 1.5530811 0.0014381935 -0.020543217 4.5642027 + 6680 20.557997 1.0409109 23.775694 6.1182829 4.5574371 1.5608458 0.0015145515 -0.020959535 4.5768821 + 6690 20.355416 1.0488573 23.791584 6.1221029 4.5493413 1.5727616 0.0014709178 -0.020595896 4.5684663 + 6700 20.386213 1.0458158 23.976992 6.1287748 4.560574 1.5682008 0.0014426092 -0.019999381 4.5791307 + 6710 20.37308 1.0590252 23.716872 6.132852 4.5448437 1.5880083 0.0014171389 -0.019475562 4.5629021 + 6720 20.069783 1.057089 23.882131 6.1382829 4.5531779 1.585105 0.0014522325 -0.020222102 4.5719478 + 6730 20.083205 1.0253859 23.914979 6.1001313 4.5625651 1.5375661 0.0014506325 -0.020196855 4.5813114 + 6740 20.191133 1.0431874 23.951006 6.120105 4.5558455 1.5642595 0.0014637194 -0.020198079 4.5745798 + 6750 20.154982 1.0371827 23.717081 6.0982172 4.5429618 1.5552554 0.0015362591 -0.020769141 4.5621947 + 6760 20.078014 1.0272418 23.973218 6.0875952 4.5472462 1.540349 0.0014306388 -0.020608427 4.566424 + 6770 20.099375 1.0286546 23.744949 6.0808649 4.5383973 1.5424676 0.0013898629 -0.020771963 4.5577794 + 6780 20.348075 1.0280256 23.580755 6.0743269 4.5328025 1.5415244 0.0014544739 -0.020523314 4.5518713 + 6790 20.157573 1.0041344 23.722357 6.022896 4.5171965 1.5056995 0.0014251579 -0.02038542 4.5361567 + 6800 20.096124 0.994148 23.681619 6.0328776 4.5421526 1.4907249 0.0015607414 -0.020778677 4.5613706 + 6810 20.310806 0.99665696 24.096925 6.029664 4.5351769 1.4944871 0.0015934771 -0.020788294 4.5543717 + 6820 20.196087 1.0095188 23.901206 6.0652598 4.5514863 1.5137735 0.0015926755 -0.02052248 4.5704161 + 6830 20.012898 1.0094027 23.7962 6.0711971 4.5575977 1.5135994 0.0014538456 -0.019967828 4.5761117 + 6840 20.230477 1.0216914 23.672898 6.0387026 4.5066763 1.5320263 0.0015650939 -0.020818272 4.5259295 + 6850 20.436988 1.0151306 23.680771 6.0409856 4.5187973 1.5221883 0.0018309391 -0.021906589 4.5388729 + 6860 19.840829 1.0049208 23.557406 6.0258831 4.5190044 1.5068787 0.0017598698 -0.021937323 4.5391819 + 6870 19.622374 0.98601518 23.760483 6.0140933 4.5355636 1.4785298 0.0016786596 -0.021815623 4.5557005 + 6880 19.991855 1.0002441 23.533089 6.0196642 4.5197982 1.499866 0.0017746051 -0.022292841 4.5403164 + 6890 20.258774 1.0013866 23.611701 6.0178615 4.5162824 1.5015792 0.0018341478 -0.022550438 4.5369986 + 6900 20.089141 1.0070321 23.679988 6.0409492 4.5309046 1.5100447 0.0017986984 -0.022417835 4.5515237 + 6910 20.325703 0.98128713 23.67095 5.997301 4.5258609 1.47144 0.0017641782 -0.022273782 4.5463705 + 6920 20.375425 1.0073604 23.739155 6.0098152 4.4992783 1.5105369 0.0016283048 -0.021783781 4.5194338 + 6930 20.247211 0.99023551 23.629456 6.008842 4.5239838 1.4848581 0.0014929327 -0.02105907 4.54355 + 6940 20.000378 0.99130694 23.720948 6.0152673 4.5288025 1.4864648 0.0016248044 -0.02139537 4.5485731 + 6950 20.318008 1.014661 23.890805 6.0487771 4.5272929 1.5214842 0.0015344285 -0.021343799 4.5471022 + 6960 20.110405 1.0068003 23.73154 6.0416868 4.5319898 1.5096971 0.0018065362 -0.022445876 4.5526291 + 6970 20.357626 0.99504587 23.681684 6.0307414 4.5386702 1.4920713 0.002018679 -0.023102902 4.5597544 + 6980 20.30144 0.99980652 23.634248 6.0509119 4.551702 1.4992099 0.0020301956 -0.0229374 4.5726092 + 6990 20.362615 0.99930056 23.787284 6.0482365 4.5497853 1.4984512 0.0019841409 -0.02265197 4.5704531 + 7000 20.54284 1.0203012 23.955776 6.0303671 4.5004254 1.5299417 0.0018391483 -0.022016413 4.5206027 + 7010 20.48236 1.0002388 23.687318 6.0404768 4.5406188 1.4998581 0.0016752264 -0.021443743 4.5603873 + 7020 20.339312 1.000219 24.039944 6.0379763 4.538148 1.4998283 0.001668909 -0.02147412 4.5579532 + 7030 20.424111 1.00697 23.712845 6.0382848 4.5283333 1.5099515 0.0017718447 -0.022198939 4.5487604 + 7040 20.418002 0.9980434 23.567774 6.0365184 4.5399523 1.4965661 0.0018031146 -0.022768456 4.5609177 + 7050 20.522785 1.0185196 23.588699 6.0788727 4.5516026 1.5272701 0.0018676301 -0.022780606 4.5725155 + 7060 20.415626 1.0242951 23.841767 6.0682866 4.5323561 1.5359305 0.0017708707 -0.022149101 4.5527344 + 7070 20.464836 1.0144638 23.550757 6.0751485 4.55396 1.5211885 0.0016964168 -0.021637218 4.5739008 + 7080 20.217165 1.0147727 24.049415 6.0620375 4.5403857 1.5216517 0.0015111362 -0.020905319 4.5597799 + 7090 20.330174 1.0242495 23.826712 6.0292044 4.4933423 1.5358621 0.0016712038 -0.02211684 4.513788 + 7100 20.479809 0.99631649 23.670011 6.0233126 4.529336 1.4939766 0.0020138703 -0.023558879 4.5508811 + 7110 20.484653 0.99043281 23.6889 6.0309811 4.5458271 1.485154 0.0019209662 -0.022871021 4.5667772 + 7120 20.196424 0.99964396 23.341655 6.0252735 4.5263074 1.4989661 0.0016166882 -0.021347962 4.5460387 + 7130 19.826641 0.99386929 23.474397 6.0231872 4.5328802 1.490307 0.0014183878 -0.020215723 4.5516775 + 7140 20.366353 0.99229212 23.610211 6.011352 4.5234099 1.487942 0.0013358399 -0.020244029 4.5423181 + 7150 20.315302 1.0048129 23.475086 6.0284047 4.5216878 1.5067169 0.0013339368 -0.020361297 4.5407152 + 7160 20.348106 1.0003306 23.72336 6.046031 4.5460353 1.4999958 0.0014629337 -0.021108274 4.5656806 + 7170 20.119809 1.0001369 23.69839 6.0527329 4.5530277 1.4997053 0.0015588073 -0.021695902 4.5731648 + 7180 20.063449 1.0259089 23.610805 6.0858582 4.5475078 1.5383504 0.0014969477 -0.020922628 4.5669335 + 7190 20.358339 1.0294773 23.852021 6.0815229 4.5378216 1.5437012 0.0016878673 -0.021597707 4.5577315 + 7200 20.101036 1.0193969 23.686886 6.0546076 4.526022 1.5285856 0.0018407955 -0.022230467 4.5464116 + 7210 20.213143 1.0237473 23.751549 6.084176 4.5490669 1.535109 0.0018024428 -0.022182114 4.5694466 + 7220 19.905919 1.0299157 23.412829 6.0875642 4.5432056 1.5443586 0.0017853804 -0.022729658 4.5641499 + 7230 19.889203 1.0246274 23.730162 6.0702075 4.5337787 1.5364288 0.0018951826 -0.022898081 4.5547816 + 7240 20.320658 1.0193234 23.912071 6.0608066 4.5323311 1.5284755 0.0019266528 -0.022740815 4.5531452 + 7250 20.259637 1.0133847 23.625711 6.0359529 4.5163825 1.5195704 0.0020863407 -0.023174575 4.5374708 + 7260 20.017035 0.9987762 23.756495 6.004242 4.5065771 1.4976649 0.0021449877 -0.023186429 4.5276185 + 7270 20.311701 0.99656205 23.741278 6.0049546 4.5106098 1.4943448 0.0021216384 -0.023291383 4.5317795 + 7280 20.136424 1.0035404 23.729866 6.0168301 4.5120212 1.5048089 0.0020660659 -0.023164004 4.5331191 + 7290 20.372086 1.0225353 23.759028 6.0433005 4.5100089 1.5332916 0.0018727542 -0.022211169 4.5303473 + 7300 20.22343 1.0132528 23.857525 6.0440482 4.5246757 1.5193725 0.0018052911 -0.02209984 4.5449702 + 7310 20.232898 1.029327 23.969062 6.0893466 4.5458707 1.5434759 0.0016875747 -0.021359328 4.5655424 + 7320 19.896565 1.0206385 23.749448 6.0860755 4.5556281 1.5304475 0.0016838219 -0.021138668 4.5750829 + 7330 20.060367 1.0246936 23.817434 6.0460091 4.5094812 1.536528 0.0017667672 -0.021466719 4.5291811 + 7340 20.019366 1.0109772 23.716661 6.0384089 4.5224485 1.5159604 0.0017748379 -0.021733255 4.5424069 + 7350 20.078879 1.015381 23.591002 6.0511598 4.528596 1.5225638 0.0015887752 -0.021160149 4.5481674 + 7360 20.138739 0.98982246 23.806433 6.0224299 4.5381911 1.4842388 0.0015166586 -0.021122091 4.5577966 + 7370 19.97909 1.0273592 23.868169 6.0665353 4.5260102 1.5405252 0.0015479645 -0.021131412 4.5455936 + 7380 19.99689 1.0161813 23.987359 6.0817518 4.5579879 1.5237639 0.0014177459 -0.020306703 4.5768769 + 7390 20.173673 1.0246782 23.746847 6.0613405 4.5248356 1.5365049 0.0012349623 -0.019241718 4.5428423 + 7400 20.182861 1.0278301 23.944057 6.0876187 4.5463874 1.5412312 0.0011496299 -0.018615694 4.5638535 + 7410 20.267768 1.031861 23.592466 6.084755 4.5374795 1.5472755 0.0012870718 -0.018926663 4.5551191 + 7420 20.094806 1.0313829 23.87017 6.088168 4.5416093 1.5465587 0.0012536827 -0.018953372 4.559309 + 7430 20.26342 1.0206415 23.601206 6.0770649 4.546613 1.530452 0.0013048668 -0.019467282 4.5647754 + 7440 20.209394 1.0242886 23.810895 6.0706147 4.534694 1.5359208 0.0012380626 -0.019060648 4.5525165 + 7450 20.073004 1.0119134 23.689113 6.0392697 4.5219056 1.5173641 0.0011892312 -0.018760678 4.5394771 + 7460 19.907712 1.0147788 23.790531 6.0538729 4.5322121 1.5216608 0.0011794324 -0.018481721 4.5495144 + 7470 20.054185 1.0174585 23.756573 6.0665793 4.5409002 1.525679 0.0013208807 -0.019549422 4.5591288 + 7480 20.036298 1.0156443 23.932702 6.0573041 4.5343455 1.5229586 0.0013546033 -0.019560494 4.5525514 + 7490 20.259517 1.0278587 23.754863 6.0722784 4.5310043 1.5412742 0.0014669391 -0.020598495 4.5501358 + 7500 20.171692 1.0076885 23.864595 6.0500947 4.5390658 1.5110289 0.0014989867 -0.021231996 4.5587988 + 7510 20.227234 1.0204676 23.70683 6.0680407 4.5378496 1.5301912 0.0015094381 -0.021596672 4.5579368 + 7520 20.062344 0.9982915 23.583425 6.0601301 4.563192 1.4969381 0.0014489215 -0.021604261 4.5833473 + 7530 20.14791 1.0005911 23.567952 6.0551687 4.5547824 1.5003863 0.0014736535 -0.021986571 4.5752953 + 7540 20.347729 1.0366708 23.902902 6.0566437 4.5021559 1.5544878 0.0015636343 -0.022311541 4.5229038 + 7550 20.286753 1.0118124 23.617577 6.056295 4.5390823 1.5172127 0.0014979512 -0.021505723 4.5590901 + 7560 20.247137 1.0135625 23.82788 6.0632105 4.5433736 1.5198369 0.0013733818 -0.020896899 4.5628971 + 7570 20.255857 1.003726 23.873634 6.0666309 4.5615438 1.5050871 0.0013959841 -0.020820559 4.5809684 + 7580 20.424413 1.0197698 23.86769 6.0681444 4.5389996 1.5291448 0.001733204 -0.022237377 4.5595038 + 7590 20.330671 1.0121234 23.74808 6.0636599 4.5459808 1.5176791 0.0017421265 -0.02205305 4.5662917 + 7600 20.310817 1.0173911 23.904905 6.0391045 4.5135266 1.5255779 0.0016172494 -0.021546787 4.5334562 + 7610 20.382761 1.0160613 23.537584 6.0500269 4.526443 1.5235839 0.0014923456 -0.020989934 4.5459406 + 7620 20.288065 1.0028858 23.648546 6.0241614 4.5203342 1.5038272 0.0015377251 -0.021175817 4.5399722 + 7630 20.023463 0.99621558 23.837606 6.0348042 4.540979 1.4938253 0.0018531994 -0.022296729 4.5614225 + 7640 20.226651 1.0199337 23.776899 6.0571264 4.5277359 1.5293905 0.0018459781 -0.022379268 4.5482692 + 7650 20.213154 1.0209588 23.550469 6.0653616 4.534434 1.5309277 0.0018655427 -0.022414508 4.5549829 + 7660 20.086717 1.016486 23.707471 6.0754215 4.5512007 1.5242208 0.0016660462 -0.021551673 4.5710863 + 7670 20.280263 1.0114834 23.790718 6.0758526 4.5591332 1.5167194 0.0016762708 -0.021550938 4.5790079 + 7680 20.191033 1.0250365 23.737746 6.0938198 4.5567775 1.5370423 0.0018658016 -0.022433196 4.5773449 + 7690 20.243083 1.0265568 23.910722 6.0724183 4.5330964 1.5393219 0.0020017332 -0.023046047 4.5541407 + 7700 20.489565 1.0282781 24.206786 6.091722 4.549819 1.541903 0.0021347007 -0.023595363 4.5712797 + 7710 20.060992 1.0500516 23.801761 6.1088361 4.5342837 1.5745524 0.0022190258 -0.024195282 4.55626 + 7720 20.303799 1.0359546 23.82185 6.0972092 4.5437953 1.553414 0.002237996 -0.024085716 4.565643 + 7730 19.997449 1.0409588 23.70258 6.1154489 4.5545312 1.5609177 0.0022368574 -0.024112222 4.5764066 + 7740 20.180183 1.0347608 23.714191 6.1077907 4.5561669 1.5516238 0.0023726555 -0.024444169 4.5782384 + 7750 19.999823 1.0115407 23.678634 6.0846374 4.5678322 1.5168053 0.0023494438 -0.024179592 4.5896623 + 7760 20.201615 1.0220423 23.74042 6.087801 4.5552486 1.5325524 0.0021490952 -0.023361752 4.5764613 + 7770 20.317778 1.0330721 23.772632 6.0966527 4.5475611 1.5490917 0.001963536 -0.022644064 4.5682416 + 7780 20.455894 1.0510646 23.979648 6.1156891 4.5396178 1.5760713 0.0017555688 -0.021995198 4.5598574 + 7790 20.313128 1.0406493 23.978369 6.1049941 4.5445405 1.5604536 0.0015702538 -0.021335499 4.5643057 + 7800 19.998469 1.0205729 23.721936 6.094721 4.5643719 1.5303491 0.0016180313 -0.021376331 4.5841302 + 7810 20.399083 1.0361081 23.963334 6.0714293 4.5177853 1.5536441 0.0017525465 -0.02208161 4.5381143 + 7820 20.563954 1.0231756 23.85961 6.0732791 4.5390274 1.5342518 0.0019633807 -0.023116321 4.5601803 + 7830 20.090271 1.0064376 23.77229 6.0668841 4.557731 1.5091531 0.0018672762 -0.023073347 4.5789371 + 7840 19.758963 1.0159435 23.773634 6.0573088 4.5339015 1.5234072 0.0017964326 -0.022448246 4.5545534 + 7850 19.894252 1.0092383 23.514329 6.0421054 4.5287526 1.5133528 0.0018548698 -0.023040152 4.5499379 + 7860 20.320243 1.0160239 23.455571 6.04609 4.5225621 1.5235279 0.0016991944 -0.02236373 4.5432266 + 7870 20.255113 1.002794 23.715701 6.0692009 4.5655114 1.5036896 0.0016279164 -0.021841299 4.5857247 + 7880 20.482512 1.0331062 23.958199 6.069626 4.5204833 1.5491427 0.0014992072 -0.021207053 4.5401911 + 7890 20.306477 1.0290768 23.982949 6.0739553 4.5308545 1.5431007 0.0014428157 -0.020728448 4.5501402 + 7900 20.224481 1.0244937 23.82157 6.0756878 4.5394594 1.5362284 0.0015170478 -0.020587682 4.5585301 + 7910 20.084069 1.0008151 23.479078 6.0497279 4.5490056 1.5007222 0.0015441592 -0.01992005 4.5673815 + 7920 20.224865 1.0178761 23.458375 6.0281904 4.5018851 1.5263053 0.0015988124 -0.019907293 4.5201936 + 7930 20.196492 0.99155256 23.783578 6.0231206 4.5362875 1.4868331 0.0018159169 -0.02119822 4.5556698 + 7940 20.369626 0.99175391 23.812727 6.0213101 4.5341751 1.487135 0.0018373977 -0.021543908 4.5538816 + 7950 20.270201 1.0325639 23.8609 6.0721075 4.5237779 1.5483296 0.0018692471 -0.021925344 4.543834 + 7960 20.182747 1.0121511 23.869935 6.0525454 4.5348249 1.5177205 0.0018334057 -0.022036649 4.5550281 + 7970 20.173229 0.99672965 23.876572 6.0599484 4.5653523 1.4945961 0.0018746431 -0.022113552 4.5855912 + 7980 20.19503 1.0153168 23.819226 6.0656693 4.5432017 1.5224676 0.0018683005 -0.022455936 4.5637893 + 7990 20.184031 1.0135713 23.473339 6.0549333 4.5350831 1.5198502 0.0019012143 -0.022605593 4.5557875 + 8000 20.320077 0.99363325 23.702198 6.0125433 4.5225902 1.4899531 0.0019073396 -0.022621439 4.5433043 + 8010 20.472691 1.0027627 23.794248 6.0260697 4.522427 1.5036426 0.0020243586 -0.022818884 4.5432215 + 8020 20.439088 1.0114056 23.67146 6.0188373 4.5022345 1.5166028 0.0021702415 -0.023928893 4.5239932 + 8030 20.172383 1.0036659 23.934398 6.0579463 4.5529492 1.5049971 0.0021599728 -0.023971878 4.5747612 + 8040 20.230478 1.0241954 23.83856 6.0705755 4.5347946 1.535781 0.0020621388 -0.023340535 4.556073 + 8050 19.982046 1.0238394 23.671999 6.0728894 4.5376422 1.5352472 0.0020116011 -0.022937372 4.5585679 + 8060 19.850382 1.0348708 23.91777 6.0771942 4.5254054 1.5517888 0.0019273978 -0.022811391 4.5462893 + 8070 20.115843 1.0135147 23.5309 6.0389239 4.5191587 1.5197652 0.0018534041 -0.022380335 4.5396856 + 8080 20.266987 1.0050906 23.733926 6.0205394 4.513406 1.5071334 0.0016928532 -0.02164283 4.533356 + 8090 20.259067 1.0026674 23.988753 6.0367149 4.5332152 1.5034998 0.0019276405 -0.023081557 4.5543691 + 8100 20.246195 1.0145708 23.982975 6.0386624 4.5173136 1.5213488 0.0020557066 -0.023621306 4.5388792 + 8110 20.248822 0.97417895 23.720781 6.0155189 4.5547376 1.4607813 0.0020777713 -0.02336018 4.57602 + 8120 20.293117 1.0192256 23.628158 6.0625335 4.5342047 1.5283288 0.0019268502 -0.022824652 4.5551025 + 8130 20.111499 1.0054462 23.697573 6.0610103 4.5533438 1.5076666 0.0017888692 -0.022182353 4.5737372 + 8140 19.565837 1.0267373 23.859878 6.0751907 4.5355981 1.5395926 0.0016044106 -0.021065027 4.5550587 + 8150 20.170304 1.0359741 23.671017 6.0824073 4.5289641 1.5534432 0.0014982989 -0.020518347 4.5479841 + 8160 19.985262 1.0470615 23.803944 6.0900985 4.5200297 1.5700688 0.0017143969 -0.02147239 4.5397877 + 8170 20.270802 1.0295185 23.708093 6.0904188 4.5466558 1.543763 0.0019757813 -0.022676459 4.5673565 + 8180 20.562371 1.0154554 23.532146 6.0692385 4.5465632 1.5226754 0.0021329542 -0.023629552 4.5680598 + 8190 20.292346 1.0017856 23.927778 6.0718751 4.5696977 1.5021775 0.0024545644 -0.025237535 4.5924806 + 8200 20.162104 1.0178771 23.891908 6.0503807 4.5240739 1.5263068 0.0024828394 -0.025466466 4.5470575 + 8210 20.077802 1.0111217 23.693586 6.0457441 4.5295671 1.516177 0.0022187681 -0.024088554 4.5514368 + 8220 19.725936 1.0149398 23.458261 6.0405981 4.5186959 1.5219022 0.0020816986 -0.023423741 4.5400379 + 8230 19.945147 1.0265444 23.662392 6.0671879 4.5278846 1.5393033 0.0019112235 -0.022504109 4.5484775 + 8240 19.906732 1.0259162 23.785372 6.0872733 4.548912 1.5383613 0.0016846033 -0.021619188 4.5688466 + 8250 20.208262 1.0244056 23.637781 6.0942657 4.5581695 1.5360962 0.0016394712 -0.02169973 4.5782297 + 8260 20.025886 1.0441032 23.926411 6.0865309 4.5208981 1.5656328 0.0016597111 -0.021999551 4.541238 + 8270 20.346198 1.0194514 23.668082 6.0604814 4.531814 1.5286673 0.0018308695 -0.022631778 4.552615 + 8280 20.288 1.0208269 23.464798 6.0625845 4.5318546 1.5307299 0.0018491791 -0.022629646 4.5526351 + 8290 20.320929 1.0227967 23.457948 6.0763835 4.5426998 1.5336837 0.0017247131 -0.022345364 4.5633204 + 8300 20.367577 1.0546132 23.87119 6.1160561 4.5346636 1.5813925 0.0015774282 -0.021850218 4.5549364 + 8310 20.1037 1.0142952 23.78218 6.1066273 4.5856917 1.5209357 0.001554821 -0.021393724 4.6055306 + 8320 19.958341 1.0299728 23.624034 6.112815 4.5683708 1.5444442 0.0015415368 -0.021111232 4.5879405 + 8330 20.182702 1.0370711 23.787515 6.1004834 4.5453954 1.5550881 0.0012708559 -0.019795308 4.5639198 + 8340 20.285677 1.0194572 23.464492 6.0746436 4.5459676 1.5286761 0.0012092834 -0.019131797 4.5638901 + 8350 20.248149 1.0195806 23.639986 6.0875405 4.5586794 1.5288611 0.0012478438 -0.019172224 4.5766038 + 8360 19.713273 1.0284209 23.900522 6.0794962 4.5373791 1.5421171 0.0012090102 -0.019031966 4.5552021 + 8370 20.035321 1.0091713 23.488772 6.0679476 4.5546953 1.5132523 0.0011221996 -0.019183811 4.5727569 + 8380 20.185335 1.0239389 23.639858 6.0651503 4.529754 1.5353963 0.0012006913 -0.020037401 4.5485907 + 8390 20.374778 1.0241903 23.804732 6.0865695 4.5507961 1.5357733 0.0014736841 -0.021323014 4.5706455 + 8400 20.460452 1.0348309 23.790812 6.0735977 4.5218687 1.551729 0.0018021684 -0.023002537 4.543069 + 8410 20.280135 1.0271503 23.717086 6.0892086 4.5489967 1.5402119 0.0019325195 -0.02354007 4.5706042 + 8420 20.496777 1.0265715 23.785821 6.0957965 4.5564526 1.5393439 0.0017584685 -0.022082719 4.5767768 + 8430 20.289034 1.0338321 23.684557 6.0749148 4.5246836 1.5502312 0.0017401876 -0.021837165 4.5447806 + 8440 20.226565 1.023511 24.039336 6.0589601 4.5242053 1.5347547 0.0019474567 -0.023070476 4.5453284 + 8450 20.306064 1.022245 24.034647 6.0793274 4.5464711 1.5328563 0.0020668632 -0.023742411 4.5681466 + 8460 20.05814 1.0232089 23.483717 6.0742733 4.5399715 1.5343018 0.0018338172 -0.022738101 4.5608758 + 8470 20.145926 1.017147 23.792164 6.073694 4.548482 1.525212 0.0015386235 -0.021138786 4.5680821 + 8480 19.865288 1.040543 23.868931 6.0926586 4.5323643 1.5602943 0.001620358 -0.02060341 4.5513473 + 8490 20.21084 1.0188409 23.601454 6.0661298 4.5383779 1.5277519 0.0017432143 -0.02083792 4.5574726 + 8500 20.28467 1.012716 23.722066 6.0492392 4.5306716 1.5185677 0.001979601 -0.022273805 4.5509658 + 8510 20.270166 1.0002128 23.695139 6.0212469 4.5214279 1.499819 0.0020761437 -0.023130148 4.5424819 + 8520 20.159215 1.0045734 23.631492 6.0291444 4.5227866 1.5063578 0.0018526426 -0.022166573 4.5431005 + 8530 20.293507 0.99697951 23.537262 6.0332362 4.5382655 1.4949708 0.0017798354 -0.021530476 4.5580161 + 8540 20.426671 1.0191893 23.847705 6.0584008 4.5301265 1.5282743 0.0018011648 -0.021301401 4.5496267 + 8550 20.250029 1.0339319 23.673779 6.07189 4.5215091 1.5503809 0.0018122687 -0.021484123 4.541181 + 8560 20.220383 1.0077466 23.857662 6.0371314 4.5260154 1.511116 0.001814872 -0.021358106 4.5455587 + 8570 20.300626 1.0185079 23.583946 6.0523486 4.5250959 1.5272526 0.0019024765 -0.022425119 4.5456186 + 8580 20.466432 0.99984 23.787389 6.028689 4.5294289 1.4992601 0.0019479042 -0.023350014 4.550831 + 8590 20.161694 1.0057959 23.790437 6.0509259 4.5427349 1.508191 0.0019639815 -0.023247121 4.5640181 + 8600 19.81856 1.0004803 23.655377 6.0528205 4.5526002 1.5002203 0.001842146 -0.022408654 4.5731667 + 8610 20.05598 1.0149431 23.940488 6.0488849 4.5269777 1.5219072 0.0020598695 -0.023019503 4.5479373 + 8620 19.953277 1.012096 23.775877 6.0366338 4.5189958 1.517638 0.0021073642 -0.023191696 4.5400801 + 8630 20.194413 0.99916488 23.591203 5.9954648 4.4972171 1.4982477 0.0019222148 -0.021768176 4.517063 + 8640 20.21829 0.97658446 23.54837 5.9933926 4.5290042 1.4643884 0.0015344886 -0.01993393 4.5474037 + 8650 20.413911 0.99121958 23.78295 6.0079915 4.5216577 1.4863338 0.0014428174 -0.019703311 4.5399182 + 8660 20.09207 1.0008534 23.612618 6.031219 4.5304394 1.5007796 0.0013913227 -0.019819689 4.5488678 + 8670 20.372284 1.0048355 23.774493 6.0486548 4.5419041 1.5067508 0.0014430319 -0.020552678 4.5610137 + 8680 20.21658 0.99101593 23.580058 6.03493 4.5489016 1.4860284 0.0017611072 -0.022055235 4.5691957 + 8690 20.272041 0.9972947 23.824705 6.0361946 4.5407512 1.4954434 0.002013668 -0.023499777 4.5622373 + 8700 20.271785 1.0315085 23.940733 6.0648448 4.5180978 1.546747 0.001922333 -0.023461137 4.5396366 + 8710 20.349159 1.0249399 23.729356 6.0791097 4.5422123 1.5368975 0.0019491338 -0.023590624 4.5638538 + 8720 20.107953 1.0466331 23.720172 6.108554 4.5391276 1.5694264 0.001941207 -0.023423001 4.5606094 + 8730 19.86757 1.0259019 23.493392 6.0758045 4.5374647 1.5383398 0.0018934196 -0.022858343 4.5584296 + 8740 20.377351 1.0161692 23.445802 6.0878117 4.5640659 1.5237458 0.0018705794 -0.022285402 4.5844807 + 8750 20.06483 1.0443751 23.818537 6.0975201 4.5314796 1.5660404 0.0019481039 -0.022527792 4.5520593 + 8760 20.425591 1.0192293 23.560214 6.1096359 4.5813016 1.5283343 0.0018852321 -0.02187214 4.6012885 + 8770 20.173643 1.0243682 23.810903 6.0894589 4.5534187 1.5360401 0.0016465255 -0.020695516 4.5724677 + 8780 20.179936 1.0071032 23.457063 6.0604438 4.5502926 1.5101513 0.0017159819 -0.020823619 4.5694002 + 8790 20.1793 0.99594567 23.540831 6.0382235 4.544803 1.4934205 0.0018299189 -0.021673808 4.5646469 + 8800 20.208862 1.0274755 23.841113 6.0515514 4.5108518 1.5406996 0.0017717983 -0.021221265 4.5303013 + 8810 20.133415 0.98812592 23.522356 6.029154 4.5474592 1.4816948 0.0019192416 -0.021561454 4.5671014 + 8820 20.267594 0.99889038 23.744529 6.0356237 4.5377876 1.4978361 0.0018223251 -0.021320967 4.5572863 + 8830 20.030985 1.0032187 23.664219 6.0182243 4.5138978 1.5043264 0.0017200284 -0.020709674 4.5328875 + 8840 20.348672 1.0067698 23.821772 6.0483893 4.5387381 1.5096513 0.0016382459 -0.020304279 4.5574041 + 8850 20.458249 1.0133075 23.919643 6.0739772 4.5545226 1.5194546 0.0016933102 -0.021007401 4.5738367 + 8860 20.069507 1.0072229 23.733972 6.0647773 4.5544466 1.5103307 0.0018265604 -0.021288333 4.5739083 + 8870 20.202311 1.0178019 23.460462 6.0762299 4.550036 1.526194 0.0016973422 -0.020933956 4.5692726 + 8880 20.3853 1.0282782 23.765409 6.0845451 4.5426419 1.5419032 0.0016275814 -0.020841082 4.5618554 + 8890 20.255963 1.0256506 23.573468 6.0897467 4.5517836 1.5379631 0.0017846486 -0.022154361 4.5721534 + 8900 20.224197 1.0262638 23.8951 6.0676973 4.5288148 1.5388825 0.001889247 -0.022688459 4.549614 + 8910 20.277878 1.0086736 23.899768 6.0535213 4.5410152 1.5125061 0.0017219451 -0.021953337 4.5612466 + 8920 20.212491 1.0045647 23.724084 6.0684167 4.5620719 1.5063448 0.0017681596 -0.021986003 4.5822898 + 8930 20.440163 1.031065 23.789092 6.080658 4.5345759 1.546082 0.0018416853 -0.022396466 4.5551307 + 8940 20.420082 1.0286128 23.844093 6.0781118 4.5357069 1.5424049 0.0017262277 -0.021639855 4.5556206 + 8950 20.150249 1.0154573 23.732329 6.0570163 4.5343381 1.5226782 0.0016546523 -0.021290363 4.5539738 + 8960 20.021476 1.0139788 23.74218 6.0634878 4.5430266 1.5204612 0.0017961604 -0.021938482 4.5631689 + 8970 19.800321 1.0100415 23.80023 6.0583548 4.5437976 1.5145572 0.0019723318 -0.022822469 4.5646478 + 8980 20.443934 1.005308 23.619646 6.0411932 4.5337338 1.5074594 0.0021154876 -0.023317003 4.5549353 + 8990 20.382694 1.0073871 23.815112 6.031407 4.52083 1.5105769 0.0020854242 -0.023345845 4.5420905 + 9000 20.206548 1.0256323 24.116455 6.063158 4.5252223 1.5379357 0.0020882041 -0.02331001 4.5464441 + 9010 20.549571 1.0137269 23.765281 6.0588944 4.538811 1.5200835 0.0018082501 -0.021890255 4.558893 + 9020 20.344528 1.0080434 23.670401 6.0373723 4.5258113 1.511561 0.0017295652 -0.021710922 4.5457926 + 9030 20.201007 1.008854 23.666831 6.0465914 4.5338148 1.5127766 0.0016701851 -0.021193073 4.5533377 + 9040 20.04509 0.98879014 23.571167 6.0345293 4.5518385 1.4826908 0.0015713845 -0.020562676 4.5708298 + 9050 20.435128 1.0106685 23.766757 6.0361833 4.520686 1.5154973 0.0016653092 -0.021363991 4.5403847 + 9060 20.544711 1.0114538 23.763348 6.0561351 4.5394602 1.5166749 0.001812839 -0.021971003 4.5596184 + 9070 20.388057 1.0394975 23.825098 6.0787821 4.5200557 1.5587264 0.001904412 -0.022027013 4.5401783 + 9080 20.194021 1.0250234 23.746201 6.069487 4.5324643 1.5370226 0.0018670228 -0.021890387 4.5524877 + 9090 20.293935 1.0055076 23.617623 6.0652376 4.5574789 1.5077586 0.001588704 -0.020874047 4.5767643 + 9100 20.268971 1.007783 23.792123 6.0643123 4.5531417 1.5111706 0.0014356398 -0.019961549 4.5716676 + 9110 20.100645 1.0197616 23.918066 6.0380434 4.5089109 1.5291325 0.0014562457 -0.020019002 4.5274737 + 9120 20.209968 0.99983888 23.446254 6.0299896 4.5307312 1.4992584 0.0013515932 -0.019875816 4.5492554 + 9130 20.163258 1.0054741 24.030398 6.0489166 4.5412082 1.5077084 0.0013209736 -0.020276701 4.5601639 + 9140 20.177736 1.0108855 23.61984 6.0445044 4.5286817 1.5158228 0.0014816078 -0.02126456 4.5484646 + 9150 20.250614 0.99996469 23.59947 6.0197885 4.5203414 1.4994471 0.0015138343 -0.021315048 4.5401426 + 9160 20.31932 0.98572281 23.807641 5.9905341 4.5124427 1.4780914 0.0015573065 -0.021194581 4.53208 + 9170 20.283345 0.9924521 23.750354 5.9989018 4.5107199 1.4881819 0.0015474247 -0.020782981 4.5299555 + 9180 20.441354 0.9924585 23.831823 6.0009546 4.5127631 1.4881915 0.0016211434 -0.020490064 4.531632 + 9190 20.093336 0.97727406 23.66871 5.9982473 4.5328248 1.4654225 0.0017117747 -0.020759865 4.5518729 + 9200 20.449845 0.9927324 23.81005 6.017333 4.5287308 1.4886022 0.001748483 -0.020533812 4.5475161 + 9210 20.323788 0.99665954 23.654214 6.0242519 4.5297609 1.494491 0.001704638 -0.02095745 4.5490137 + 9220 20.19486 1.0121245 23.702658 6.0427766 4.5250959 1.5176807 0.0014275953 -0.019955935 4.5436242 + 9230 20.157487 1.0125558 23.690014 6.043727 4.5253996 1.5183274 0.001317488 -0.019587009 4.5436691 + 9240 20.260973 0.99675809 23.952179 6.0290724 4.5344337 1.4946387 0.0012712665 -0.019543581 4.552706 + 9250 20.174139 1.0270598 23.710289 6.0582972 4.5182211 1.5400761 0.0013930508 -0.020156821 4.5369849 + 9260 20.207496 1.0125065 23.745571 6.0691444 4.5508909 1.5182535 0.0015064074 -0.020389434 4.5697739 + 9270 20.176908 1.012513 23.678714 6.0307132 4.51245 1.5182632 0.0015933565 -0.020220264 4.5310769 + 9280 20.223904 0.99936533 23.733098 6.0302779 4.5317295 1.4985483 0.0016999883 -0.02043673 4.5504663 + 9290 20.076664 1.0067829 23.639857 6.0341684 4.5244975 1.5096709 0.0018268249 -0.021609772 4.5442805 + 9300 20.484151 1.0227374 23.734905 6.0537866 4.5201919 1.5335948 0.0018347029 -0.022300642 4.5406578 + 9310 20.424544 0.99983393 23.569725 6.0494038 4.5501528 1.499251 0.001736916 -0.022286028 4.5707019 + 9320 20.42584 1.0089171 23.937471 6.0475813 4.5347101 1.5128711 0.0017466378 -0.022256044 4.5552195 + 9330 20.486514 1.0184353 23.676604 6.07104 4.5438963 1.5271437 0.001660657 -0.021721741 4.5639574 + 9340 20.212756 1.0158928 23.5315 6.0786546 4.5553233 1.5233313 0.0015518073 -0.021141757 4.5749132 + 9350 20.192772 1.0159353 23.595288 6.0426856 4.5192907 1.523395 0.0015955702 -0.021069322 4.5387644 + 9360 20.055645 0.99827355 23.880949 6.0441333 4.5472221 1.4969112 0.0016126122 -0.02066214 4.5662716 + 9370 20.359495 1.0082514 23.748909 6.0413224 4.5294494 1.511873 0.0015246509 -0.020454842 4.5483796 + 9380 20.047363 1.0038981 23.60932 6.030073 4.5247279 1.5053451 0.0016620617 -0.021436323 4.5445022 + 9390 19.765541 1.015604 24.089705 6.0397007 4.5168025 1.5228982 0.001785137 -0.022719059 4.5377364 + 9400 20.400023 1.0166013 23.61143 6.0608972 4.5365036 1.5243936 0.001792645 -0.022686607 4.5573975 + 9410 20.069654 1.0086228 23.61805 6.0319312 4.5195013 1.51243 0.0016652809 -0.022152407 4.5399884 + 9420 20.192086 1.0030979 23.892271 6.0130043 4.508859 1.5041453 0.0017101211 -0.022290359 4.5294393 + 9430 20.136611 0.99509294 23.598065 6.0269559 4.534814 1.4921419 0.0014593585 -0.021234321 4.554589 + 9440 20.301169 1.0053257 23.846483 6.0402359 4.53275 1.5074859 0.0013945753 -0.020579932 4.5519354 + 9450 20.366732 0.98042097 23.586672 6.0119099 4.5417687 1.4701412 0.0015151734 -0.020797528 4.561051 + 9460 20.24354 0.98036986 24.013047 6.0120837 4.5420191 1.4700646 0.0017506146 -0.021854814 4.5621233 + 9470 20.247632 1.0067399 23.713969 6.0185956 4.5089891 1.5096065 0.0020694395 -0.023561341 4.530481 + 9480 20.209336 0.99716187 23.763152 6.0201592 4.524915 1.4952442 0.0022826756 -0.024548556 4.5471809 + 9490 20.28983 0.99398815 23.751989 6.0070848 4.5165995 1.4904852 0.002197214 -0.024187131 4.5385894 + 9500 20.202123 1.0002283 23.52806 6.0326605 4.5328182 1.4998423 0.0021645303 -0.023971117 4.5546248 + 9510 20.264302 1.0005107 23.716422 6.0349213 4.5346555 1.5002658 0.0020707792 -0.023430296 4.556015 + 9520 20.307369 1.0210414 23.625806 6.0372327 4.5061812 1.5310515 0.0018307518 -0.022490446 4.5268409 + 9530 20.175663 0.9985369 23.927302 6.0442102 4.5469041 1.4973061 0.0018624413 -0.022617545 4.5676592 + 9540 20.404929 1.0127998 23.87934 6.0433867 4.5246935 1.5186932 0.0019931253 -0.02281565 4.545516 + 9550 20.096947 0.99771217 23.621879 6.0238613 4.5277919 1.4960694 0.002027767 -0.023291857 4.549056 + 9560 20.049249 0.99505244 23.993875 6.0237784 4.5316972 1.4920811 0.0019708653 -0.022477937 4.5522043 + 9570 20.051024 1.0132528 23.653665 6.0440202 4.5246477 1.5193725 0.0018299831 -0.021638671 4.5444564 + 9580 20.08786 1.0009842 23.828978 6.0453151 4.5443394 1.5009758 0.0017805083 -0.021229758 4.5637886 + 9590 20.326094 1.0295902 23.666951 6.0751934 4.5313228 1.5438705 0.0017009327 -0.020527966 4.5501499 + 9600 20.391051 1.0200446 23.695122 6.0906493 4.5610924 1.5295569 0.0017796341 -0.020365304 4.5796781 + 9610 20.260217 1.0305324 23.56321 6.0819429 4.5366595 1.5452834 0.0016605591 -0.019212403 4.5542114 + 9620 20.375826 1.0249967 23.981714 6.0660576 4.5290751 1.5369825 0.0015028593 -0.018435342 4.5460076 + 9630 20.336574 1.0260326 23.638424 6.0825609 4.544025 1.5385359 0.0014398814 -0.018488008 4.5610731 + 9640 19.947566 1.0572953 23.619626 6.1062499 4.5208356 1.5854143 0.0017115667 -0.02034586 4.5394698 + 9650 20.083384 1.0398048 23.873125 6.110607 4.5514198 1.5591873 0.0017888116 -0.021168763 4.5707997 + 9660 20.390976 1.0341462 23.805704 6.0890205 4.5383183 1.5507022 0.001662155 -0.020950059 4.5576062 + 9670 20.050192 1.0266586 23.596764 6.0854369 4.5459624 1.5394745 0.0015146441 -0.02060543 4.5650532 + 9680 20.39179 1.0154077 23.772005 6.0698064 4.5472025 1.5226038 0.0013500171 -0.020055716 4.5659082 + 9690 20.194127 1.0166908 23.788525 6.0615496 4.5370217 1.5245279 0.001304761 -0.019911646 4.5556286 + 9700 20.112162 1.0093147 23.660248 6.0421846 4.5287172 1.5134674 0.0013508729 -0.019635383 4.5470017 + 9710 20.442114 1.009164 23.77716 6.0582357 4.5449943 1.5132414 0.0012993685 -0.019432053 4.563127 + 9720 20.028339 1.0072967 23.54661 6.0382778 4.5278365 1.5104413 0.0012640054 -0.019152074 4.5457245 + 9730 19.938889 0.98853845 23.442573 6.0375632 4.5552497 1.4823134 0.0011354208 -0.018853691 4.572968 + 9740 20.360013 1.0020944 23.458821 6.0521537 4.5495132 1.5026405 0.0011293652 -0.018779418 4.5671632 + 9750 20.095111 1.0286048 23.898601 6.0749186 4.5325257 1.542393 0.0010215934 -0.018408728 4.5499128 + 9760 19.965932 1.0150931 23.890671 6.0580398 4.5359078 1.5221321 0.0011828764 -0.019437863 4.5541628 + 9770 20.115643 1.0179376 23.519189 6.0540992 4.5277017 1.5263975 0.0012386061 -0.020021146 4.5464842 + 9780 20.1738 1.0024105 23.769017 6.0393918 4.5362772 1.5031146 0.0013012563 -0.020503362 4.5554793 + 9790 20.313366 1.0142946 23.955313 6.0313783 4.5104435 1.5209348 0.0013552584 -0.020429961 4.5295182 + 9800 20.247187 0.99515909 23.608901 6.0294067 4.5371656 1.492241 0.0016803284 -0.021624642 4.5571099 + 9810 20.357734 0.99168069 23.779984 6.0095896 4.5225645 1.4870252 0.0019499503 -0.022438086 4.5430526 + 9820 20.132953 1.005836 23.754767 6.0262632 4.5180121 1.5082511 0.0021551174 -0.023745843 4.5396028 + 9830 20.082911 0.98054982 23.564066 5.9962501 4.5259156 1.4703345 0.002022283 -0.02316146 4.5470548 + 9840 20.154827 0.98260568 23.810745 6.0085249 4.5351077 1.4734172 0.0016090896 -0.02102099 4.5545196 + 9850 20.221295 0.98406533 23.679665 5.9917756 4.5161697 1.475606 0.0014672234 -0.020470339 4.5351728 + 9860 20.262508 0.98931028 23.546142 5.9840272 4.5005565 1.4834708 0.0011745487 -0.019067137 4.5184491 + 9870 20.429267 0.96975245 23.431297 5.9969225 4.5427788 1.4541438 0.001185783 -0.018727532 4.5603205 + 9880 20.3794 0.97430963 23.434988 5.9936898 4.5327125 1.4609773 0.0012971358 -0.019432874 4.5508482 + 9890 20.273881 1.0010524 23.828242 6.0062818 4.5052038 1.501078 0.0015237638 -0.020578184 4.5242582 + 9900 20.27885 0.99338803 23.639588 6.0238188 4.5342334 1.4895854 0.0015248038 -0.02064248 4.5533511 + 9910 20.297704 1.0112757 23.638974 6.0303206 4.5139127 1.5164079 0.0014822105 -0.020927017 4.5333575 + 9920 19.941052 1.0122877 23.925394 6.0480917 4.5301664 1.5179254 0.0014439296 -0.020842907 4.5495653 + 9930 20.093127 1.0197971 23.895577 6.0457662 4.5165805 1.5291857 0.0015446598 -0.020976162 4.536012 + 9940 20.095001 0.98477248 23.619137 6.0264156 4.5497492 1.4766663 0.0015675709 -0.021269234 4.5694509 + 9950 20.190655 1.021588 23.88313 6.0473623 4.5154911 1.5318712 0.001730713 -0.02206587 4.5358263 + 9960 20.303908 1.010353 23.786774 6.0664357 4.5514114 1.5150244 0.0017104738 -0.022159228 4.5718601 + 9970 20.195941 1.0156719 23.720378 6.0783373 4.5553373 1.523 0.0019897299 -0.023279582 4.5766271 + 9980 20.051309 1.0267431 23.868845 6.0748535 4.5352521 1.5396013 0.0022305337 -0.023947459 4.5569691 + 9990 20.476206 1.0227909 23.919769 6.0740423 4.5403674 1.5336749 0.0022884467 -0.024096262 4.5621752 + 10000 20.435951 1.0294231 23.56001 6.0908984 4.5472784 1.54362 0.0021509649 -0.023407121 4.5685346 + 10010 20.373525 1.0105229 23.609 6.0392683 4.5239892 1.5152791 0.0019686999 -0.022528417 4.5445489 + 10020 20.287414 1.0070445 24.049725 6.02667 4.5166068 1.5100632 0.001657248 -0.02126552 4.536215 + 10030 20.46244 0.99643655 23.582332 6.0173339 4.5231773 1.4941566 0.0014650383 -0.01993459 4.5416468 + 10040 20.245801 0.98181138 23.620169 5.9912431 4.519017 1.4722262 0.0014220774 -0.01993473 4.5375296 + 10050 20.081771 0.9802325 23.832575 5.9877524 4.5178938 1.4698586 0.0015984875 -0.021091576 4.5373869 + 10060 20.229731 0.97656366 23.628138 5.9833256 4.5189684 1.4643572 0.001847485 -0.022305188 4.5394261 + 10070 20.462839 1.0010309 23.658146 6.028158 4.5271121 1.5010459 0.0019509357 -0.022513843 4.5476751 + 10080 20.461519 1.0058936 23.655108 6.0367483 4.5284109 1.5083374 0.0020280095 -0.022764778 4.5491477 + 10090 20.492418 0.99418475 23.641025 6.015268 4.524488 1.49078 0.0020523911 -0.023205766 4.5456414 + 10100 20.302769 0.99024112 23.556869 6.0206279 4.5357614 1.4848666 0.0017965766 -0.022360043 4.5563248 + 10110 20.392412 1.0079967 23.495538 6.0505917 4.5391006 1.5114911 0.0018109164 -0.022301886 4.5595916 + 10120 20.319378 1.0222041 23.942945 6.0517105 4.5189155 1.532795 0.0019561446 -0.022832238 4.5397916 + 10130 20.076777 1.0116336 23.752144 6.0411422 4.5241976 1.5169446 0.0018143967 -0.021933618 4.5443169 + 10140 20.219257 1.0154599 23.467889 6.0606897 4.5380075 1.5226822 0.0016339289 -0.021169094 4.5575427 + 10150 20.18211 0.99690749 23.923691 6.02988 4.5350172 1.4948628 0.0017327296 -0.021393026 4.5546775 + 10160 20.401038 1.0187863 23.632493 6.0657988 4.5381288 1.52767 0.0017995793 -0.021701831 4.5580311 + 10170 20.161214 1.0311503 23.802543 6.0731396 4.5269297 1.5462099 0.0018346593 -0.022137063 4.5472321 + 10180 19.944487 1.0417591 23.714755 6.0863629 4.524245 1.5621178 0.0019281527 -0.022321397 4.5446383 + 10190 20.295387 1.015875 23.672555 6.0787884 4.5554839 1.5233045 0.001610457 -0.021609126 4.5754826 + 10200 20.327172 1.0069704 23.699374 6.0537919 4.5438398 1.5099521 0.0014524241 -0.020498917 4.5628863 + 10210 20.230363 1.0157771 23.994621 6.0407788 4.517621 1.5231577 0.0013143015 -0.01969599 4.5360027 + 10220 20.408858 1.0117077 23.596392 6.0491085 4.5320529 1.5170556 0.0012367961 -0.019832466 4.5506486 + 10230 20.514007 1.0268369 24.030937 6.0732601 4.5335182 1.5397419 0.0013112823 -0.019948367 4.5521553 + 10240 20.180577 1.028632 23.584291 6.0541382 4.5117044 1.5424337 0.0013630156 -0.019723785 4.5300652 + 10250 20.24022 1.0026281 23.848412 6.0187911 4.5153502 1.5034408 0.0013795938 -0.02011873 4.5340894 + 10260 20.229342 1.0027433 23.676015 6.0247804 4.5211669 1.5036135 0.0016912027 -0.021070098 4.5405458 + 10270 20.126914 0.99149283 23.779056 6.0070688 4.5203253 1.4867435 0.0017254529 -0.021074455 4.5396743 + 10280 20.145488 0.97646799 23.625613 5.9997332 4.5355195 1.4642137 0.0016439419 -0.02126244 4.555138 + 10290 19.891549 0.99616771 23.800481 6.0178583 4.5241048 1.4937535 0.0016136696 -0.021524226 4.5440154 + 10300 20.0855 1.0044306 23.359471 6.0160396 4.509896 1.5061437 0.0015140947 -0.021164179 4.5295461 + 10310 20.307405 0.98585924 23.573882 6.0147155 4.5364196 1.4782959 0.0016484698 -0.021956696 4.5567278 + 10320 20.193982 0.996816 23.847055 6.026557 4.5318314 1.4947256 0.0018869105 -0.022962795 4.5529073 + 10330 20.443974 0.99781066 23.687239 6.0086488 4.5124317 1.4962171 0.0018441005 -0.022752513 4.5333401 + 10340 20.34368 0.98539476 23.960775 6.027958 4.5503586 1.4775994 0.0018687435 -0.02287865 4.5713685 + 10350 20.464487 1.0022997 23.793131 6.0270419 4.5240935 1.5029484 0.0018446762 -0.02275958 4.5450084 + 10360 20.381334 0.99494743 23.458065 6.0147537 4.5228301 1.4919237 0.0018832949 -0.022578331 4.5435251 + 10370 20.212567 1.0036743 23.554601 6.0217423 4.5167328 1.5050096 0.0018905001 -0.022168286 4.5370105 + 10380 20.310719 1.0085671 23.528389 6.0185959 4.5062495 1.5123464 0.0015753103 -0.020780506 4.5254547 + 10390 20.132003 1.0151132 23.489315 6.0501129 4.5279506 1.5221622 0.0013886496 -0.019840859 4.5464028 + 10400 20.120922 1.0213352 24.156936 6.0428289 4.5113367 1.5314922 0.0014100404 -0.019977202 4.5299038 + 10410 20.161057 1.0069952 24.006875 6.0576202 4.5476309 1.5099893 0.0014509477 -0.020357328 4.5665372 + 10420 20.038025 0.99968417 23.899286 6.033266 4.5342396 1.4990264 0.0017201182 -0.021771268 4.5542907 + 10430 20.279754 1.0000916 23.522102 6.0246904 4.5250531 1.4996373 0.0018010668 -0.022503748 4.5457558 + 10440 20.397346 1.0144723 23.692056 6.0435841 4.5223829 1.5212012 0.0018091594 -0.022739386 4.5433131 + 10450 20.337386 0.98916682 23.528154 6.0171827 4.5339271 1.4832556 0.0021624358 -0.024225852 4.5559905 + 10460 20.195832 0.98428019 23.561339 5.9929929 4.5170647 1.4759281 0.0021639486 -0.024314687 4.5392155 + 10470 20.327535 0.97906271 23.539562 6.0001124 4.5320078 1.4681045 0.0021431871 -0.024477628 4.5543423 + 10480 19.761786 0.97318955 23.729785 6.0081377 4.54884 1.4592977 0.0022680737 -0.025059733 4.5716317 + 10490 20.3136 0.99997349 23.667548 6.0100305 4.5105703 1.4994603 0.0020926969 -0.023882165 4.5323598 + 10500 20.354792 0.99385145 23.513656 6.046177 4.5558967 1.4902802 0.0019899356 -0.023522508 4.5774293 + 10510 19.848331 0.99613958 23.660529 6.0335 4.5397887 1.4937113 0.0018310827 -0.022434369 4.560392 + 10520 20.276231 1.0181307 23.729573 6.0350072 4.5083202 1.5266871 0.0018568723 -0.022153924 4.5286172 + 10530 20.307859 0.99077418 23.707837 6.0280839 4.5424181 1.4856659 0.0019991568 -0.022644462 4.5630634 + 10540 19.811001 1.0049377 23.605325 6.0517363 4.5448323 1.506904 0.0019361273 -0.022609377 4.5655055 + 10550 20.072181 0.99779832 23.831861 6.0283352 4.5321366 1.4961986 0.0018889316 -0.021965181 4.5522129 + 10560 20.456206 1.0094008 23.676249 6.0288075 4.5152111 1.5135965 0.0017546813 -0.021023895 4.5344803 + 10570 20.429709 0.99943688 23.568203 6.0067132 4.5080576 1.4986556 0.0018452691 -0.021140305 4.5273526 + 10580 20.437974 0.99787882 23.774962 6.0506775 4.5543582 1.4963193 0.001942366 -0.021723808 4.5741396 + 10590 20.010869 0.97723298 23.360834 6.0293891 4.5640282 1.4653609 0.0018367311 -0.021522784 4.5837143 + 10600 20.03563 1.0289153 23.803323 6.0679428 4.5250844 1.5428584 0.0017401536 -0.02146912 4.5448134 + 10610 20.322892 0.99199976 23.453504 6.0265909 4.5390872 1.4875036 0.0015451814 -0.020510562 4.5580526 + 10620 19.834301 0.99774727 23.752033 6.0218226 4.5257006 1.496122 0.001505578 -0.020001676 4.5441967 + 10630 20.182417 0.99041923 23.720749 6.0218855 4.5367519 1.4851336 0.0015119339 -0.019992688 4.5552326 + 10640 20.377204 0.98914723 23.442489 6.0100015 4.5267753 1.4832263 0.0015989333 -0.020405645 4.545582 + 10650 20.225997 1.0003151 23.651507 6.0177853 4.5178129 1.4999724 0.0018567031 -0.021586546 4.5375427 + 10660 20.314865 0.9972715 23.700847 6.0356075 4.5401989 1.4954086 0.0018955887 -0.022303544 4.5606069 + 10670 20.286471 0.98325411 23.578924 6.0095075 4.535118 1.4743895 0.0016992801 -0.021482254 4.5549009 + 10680 20.279871 1.0075095 23.457854 6.0446761 4.5339156 1.5107605 0.0015101701 -0.020312282 4.5527177 + 10690 20.11017 1.0156149 23.72432 6.066547 4.5436325 1.5229145 0.0014793885 -0.019961027 4.5621141 + 10700 20.093211 1.0122532 23.778572 6.0540336 4.5361599 1.5178737 0.0015395328 -0.019851213 4.5544715 + 10710 20.279001 0.9990609 23.867179 6.046704 4.5486122 1.4980918 0.0016519888 -0.020461486 4.5674217 + 10720 20.128427 1.0047337 23.544436 6.0485045 4.5419063 1.5065982 0.0018679809 -0.021425522 4.5614638 + 10730 20.134132 0.99536259 23.963917 6.0235834 4.5310372 1.4925462 0.0020097444 -0.022325398 4.5513529 + 10740 20.320393 0.98741266 24.021789 5.9999683 4.519343 1.4806253 0.0020962355 -0.022698443 4.5399452 + 10750 20.250199 0.99190392 23.580024 6.0125181 4.5251582 1.4873599 0.0021505456 -0.023236851 4.5462445 + 10760 20.395573 0.99514757 23.633032 6.0336952 4.5414715 1.4922238 0.0021058724 -0.02405422 4.5634198 + 10770 20.025171 0.98684369 23.735303 6.0084507 4.5286786 1.4797721 0.0021871072 -0.024067912 4.5505594 + 10780 19.81398 1.0104701 23.703698 6.0388258 4.523626 1.5151999 0.0022926798 -0.024742948 4.5460762 + 10790 19.841372 1.0131462 23.615302 6.049474 4.5302613 1.5192127 0.002349805 -0.02498952 4.552901 + 10800 20.168623 1.0045172 23.745729 6.063679 4.5574055 1.5062735 0.0022485774 -0.02459163 4.5797485 + 10810 20.209469 1.0214022 23.842829 6.0673625 4.5357699 1.5315926 0.0021157541 -0.023880072 4.5575342 + 10820 20.049194 1.0397803 24.063457 6.0840707 4.5249201 1.5591505 0.0018815049 -0.022749094 4.5457877 + 10830 20.205837 1.0330047 23.745517 6.0782578 4.5292672 1.5489906 0.0016579189 -0.021446066 4.5490553 + 10840 20.265173 1.0352945 23.822971 6.0907003 4.5382762 1.5524241 0.0014415169 -0.020137457 4.5569722 + 10850 20.322622 1.0155765 23.717706 6.0799498 4.5570928 1.522857 0.0012574531 -0.019085685 4.574921 + 10860 20.317768 1.0138829 23.412505 6.0883818 4.5680643 1.5203175 0.0010546713 -0.018766769 4.5857764 + 10870 20.284334 1.0256831 23.665498 6.0793889 4.5413771 1.5380118 0.0013068446 -0.019703253 4.5597735 + 10880 20.142202 1.0079071 23.899754 6.0518306 4.5404739 1.5113567 0.0016202 -0.021082627 4.5599363 + 10890 19.877231 0.99455499 23.861595 6.0118298 4.5204946 1.4913352 0.0017041065 -0.021612645 4.5404031 + 10900 19.761606 1.0026724 23.436021 6.019438 4.5159308 1.5035072 0.0017834701 -0.022288567 4.5364359 + 10910 20.276285 1.0131511 23.641878 6.0276968 4.5084768 1.51922 0.0020455732 -0.023773027 4.5302043 + 10920 20.054319 1.0080131 23.421778 6.0340952 4.5225796 1.5115157 0.0019914682 -0.023366017 4.5439541 + 10930 20.197839 0.99715215 23.74035 6.0243068 4.5290771 1.4952296 0.0019008219 -0.023292995 4.5504693 + 10940 20.226913 1.0199414 23.883116 6.0753299 4.5459277 1.5294022 0.0018500344 -0.023045136 4.5671228 + 10950 20.048221 1.0290576 23.809431 6.0725806 4.5295088 1.5430718 0.0018233751 -0.02285349 4.5505389 + 10960 20.064925 1.0339978 23.525631 6.0861692 4.5356895 1.5504797 0.0019644644 -0.023260851 4.5569859 + 10970 20.219658 1.0527849 23.880201 6.0923687 4.5137177 1.578651 0.0017495898 -0.022157538 4.5341257 + 10980 20.337843 1.0136504 23.760383 6.0446293 4.5246606 1.5199687 0.0016840939 -0.021549404 4.5445259 + 10990 20.287304 1.0076107 23.996542 6.0653351 4.5544229 1.5109122 0.0017549835 -0.021598979 4.5742669 + 11000 20.267951 1.0026761 23.912757 6.0483683 4.5448554 1.5035129 0.0017207303 -0.021720388 4.5648551 + 11010 20.492681 1.0058615 23.608627 6.0463629 4.5380735 1.5082893 0.001829414 -0.022022809 4.5582669 + 11020 20.210361 1.0062533 23.589145 6.0386685 4.5297917 1.5088768 0.0018842449 -0.021994013 4.5499015 + 11030 20.270737 0.98453477 23.567741 6.0197183 4.5434084 1.4763099 0.0019487579 -0.021965282 4.5634249 + 11040 20.350343 1.000098 24.097772 6.0262729 4.5266259 1.499647 0.0018201175 -0.021762238 4.5465681 + 11050 20.546243 1.0096632 23.678905 6.0547937 4.5408038 1.51399 0.0018948592 -0.02252159 4.5614305 + 11060 19.999028 1.0278534 23.643123 6.054249 4.5129828 1.5412662 0.0019155015 -0.022570557 4.5336379 + 11070 20.220684 0.99416061 23.745396 6.0252145 4.5344706 1.4907438 0.0018227298 -0.022142443 4.5547903 + 11080 20.224325 1.0140511 23.795159 6.0400179 4.5194483 1.5205696 0.0017109748 -0.021994144 4.5397314 + 11090 20.412096 1.0103225 23.7457 6.0377704 4.5227918 1.5149785 0.0018575883 -0.022958049 4.5438923 + 11100 20.181194 1.0177325 23.831516 6.0520286 4.5259386 1.5260899 0.0020210356 -0.023701618 4.5476192 + 11110 20.413535 0.99067284 23.736592 6.0490279 4.563514 1.4855139 0.002008386 -0.023790488 4.5852961 + 11120 20.193091 1.0016085 23.564671 6.0572207 4.5553088 1.5019119 0.0020800959 -0.024130404 4.5773591 + 11130 20.163928 1.0040969 23.789786 6.0354952 4.5298518 1.5056433 0.0021576673 -0.024217762 4.5519119 + 11140 20.124373 1.0181091 23.794577 6.052675 4.5260205 1.5266546 0.002051154 -0.023444274 4.5474136 + 11150 20.224866 1.0064184 23.778594 6.0285314 4.519407 1.5091244 0.0021075515 -0.023825911 4.5411254 + 11160 20.047793 0.98539329 23.689771 6.0256017 4.5480044 1.4775972 0.0020682226 -0.023837604 4.5697738 + 11170 20.296965 0.9980717 23.886245 6.0126451 4.5160366 1.4966085 0.0017836141 -0.022510783 4.5367638 + 11180 20.187428 1.0036868 23.816888 6.0199792 4.5149508 1.5050284 0.0015990425 -0.021411745 4.5347635 + 11190 20.31575 0.97600542 23.428937 6.0028119 4.5392918 1.4635201 0.001521568 -0.020749553 4.5585197 + 11200 20.205933 0.98454736 23.815348 6.0086383 4.5323096 1.4763288 0.0015661268 -0.021094838 4.5518383 + 11210 19.936534 0.9981063 23.792557 6.0231973 4.5265369 1.4966604 0.0016779897 -0.021888697 4.5467476 + 11220 20.13604 1.002113 23.832095 6.0118154 4.5091469 1.5026685 0.001781752 -0.022352351 4.5297175 + 11230 20.359412 0.99308968 23.693353 6.0057724 4.5166344 1.489138 0.001666024 -0.021780485 4.5367489 + 11240 20.586093 1.0064281 23.96378 6.0432588 4.5341199 1.509139 0.0013959342 -0.020350882 4.5530748 + 11250 20.420404 0.98779518 23.596844 6.0284934 4.5472945 1.4811989 0.0014184957 -0.020215737 4.5660918 + 11260 20.385855 1.0085589 23.41894 6.053584 4.54125 1.512334 0.0013755699 -0.020297509 4.5601719 + 11270 20.362276 1.024143 23.746495 6.0311339 4.4954315 1.5357025 0.0014523136 -0.02055535 4.5145345 + 11280 20.308854 1.0262474 23.702755 6.0754883 4.5366303 1.538858 0.0013986613 -0.020363733 4.5555954 + 11290 20.149171 1.0058851 23.852997 6.0580685 4.5497438 1.5083247 0.0013071482 -0.020065491 4.5685022 + 11300 20.064356 1.0046704 23.779677 6.0551868 4.5486836 1.5065032 0.0013172947 -0.019510898 4.5668772 + 11310 20.369407 1.0153355 23.726762 6.0268193 4.5043237 1.5224956 0.0015042442 -0.020300505 4.5231199 + 11320 19.958811 0.99878993 23.82082 6.0327705 4.535085 1.4976855 0.0015413673 -0.020495857 4.5540394 + 11330 20.137897 1.0173038 23.75302 6.0500356 4.5245886 1.525447 0.0015285081 -0.020452499 4.5435126 + 11340 20.274325 1.0035791 23.639496 6.0307944 4.5259276 1.5048668 0.0013989597 -0.019936233 4.5444649 + 11350 19.999614 0.9957299 23.595703 6.0141162 4.5210192 1.493097 0.0013959572 -0.020050536 4.5396738 + 11360 20.094098 0.99930148 23.509824 6.0043067 4.5058541 1.4984526 0.0013734299 -0.020414109 4.5248948 + 11370 20.281496 0.98605343 23.464334 6.0084219 4.5298348 1.4785871 0.0014036406 -0.020840975 4.5492721 + 11380 20.535677 1.0099599 23.728257 6.0503068 4.535872 1.5144348 0.0015610711 -0.021769424 4.5560803 + 11390 20.376997 1.0124261 23.869446 6.0348835 4.5167505 1.5181329 0.0015374187 -0.02169552 4.5369086 + 11400 19.94008 1.0169563 23.846204 6.0527481 4.5278222 1.5249259 0.0016012477 -0.021524702 4.5477456 + 11410 20.061132 1.0100902 23.724534 6.0324404 4.5178102 1.5146302 0.0016010671 -0.021492576 4.5377017 + 11420 20.180879 1.00439 23.582817 6.0191183 4.5130356 1.5060827 0.0015835727 -0.021306295 4.5327583 + 11430 20.477034 1.0022301 23.985498 6.0249884 4.5221443 1.5028441 0.0016972657 -0.021748111 4.5421951 + 11440 20.267741 0.98580376 23.602067 6.0216819 4.5434692 1.4782127 0.0017539733 -0.021983872 4.5636991 + 11450 20.293314 1.0072279 23.414451 6.0297105 4.5193722 1.5103382 0.0016231946 -0.021184802 4.5389338 + 11460 20.354896 1.0212331 23.495164 6.057949 4.52661 1.5313391 0.0015422411 -0.020924135 4.5459918 + 11470 19.974018 1.0114357 23.607829 6.054656 4.5380082 1.5166478 0.0013850822 -0.020506925 4.5571301 + 11480 19.879246 1.0096744 23.755507 6.0464909 4.5324841 1.5140068 0.0014555046 -0.021060593 4.5520891 + 11490 20.221051 1.0055869 23.766319 6.0279014 4.5200238 1.5078775 0.0016663819 -0.021758286 4.5401158 + 11500 20.368941 0.99551835 23.376273 6.0178425 4.5250627 1.4927798 0.0017895332 -0.021887602 4.5451608 + 11510 19.840664 0.99859211 23.697296 6.0305406 4.5331517 1.4973889 0.001845907 -0.021586975 4.5528928 + 11520 20.234021 0.9884557 23.362005 6.0156641 4.5334747 1.4821893 0.0019137696 -0.021844237 4.5534052 + 11530 20.180839 0.9823354 23.575245 5.9966047 4.5235928 1.4730119 0.0019889462 -0.022284005 4.5438879 + 11540 20.383088 0.98421325 23.730438 5.9978656 4.5220379 1.4758278 0.0018778809 -0.021528302 4.5416883 + 11550 20.377962 1.0003095 23.842073 6.0230784 4.5231143 1.4999641 0.0017851167 -0.021742115 4.5430713 + 11560 20.228936 1.0014087 23.67862 6.0369065 4.5352942 1.5016123 0.0017922643 -0.022315916 4.5558179 + 11570 20.340348 1.0015544 23.682809 6.0312391 4.5294082 1.5018309 0.0019718893 -0.022811748 4.5502481 + 11580 19.921688 1.0028418 23.525397 6.0342056 4.5304443 1.5037613 0.0019128277 -0.022538565 4.55107 + 11590 19.815131 1.0051075 23.572244 6.0457017 4.538543 1.5071587 0.0017967451 -0.022143226 4.5588895 + 11600 19.923131 0.98508503 23.768907 6.015788 4.538653 1.477135 0.0017218063 -0.021773644 4.5587048 + 11610 20.119772 0.99762045 23.617389 6.0324501 4.5365182 1.4959319 0.0017265204 -0.021952905 4.5567446 + 11620 19.981563 0.98613898 23.763184 6.0290509 4.5503355 1.4787154 0.0014924628 -0.021316977 4.57016 + 11630 19.574907 0.99721344 23.804429 6.0599941 4.5646726 1.4953216 0.0014435205 -0.02058351 4.5838125 + 11640 20.395828 1.0101684 23.78432 6.050402 4.5356544 1.5147475 0.0014727838 -0.020695124 4.5548768 + 11650 20.314252 1.0097849 23.46091 6.0531045 4.538932 1.5141725 0.0015026982 -0.021062966 4.5584923 + 11660 20.238421 1.0099247 23.720041 6.0417617 4.5273796 1.514382 0.0016477865 -0.022056093 4.5477879 + 11670 20.227656 0.99781385 23.63919 6.0189484 4.5227266 1.4962219 0.0017182474 -0.022575518 4.5435838 + 11680 20.131888 1.0166333 23.734154 6.0257678 4.5013262 1.5244416 0.0017685577 -0.022789539 4.5223471 + 11690 19.949215 0.99683145 23.971018 6.032766 4.5380172 1.4947488 0.0018287601 -0.022482809 4.5586713 + 11700 20.156262 1.0165477 23.75031 6.0469708 4.5226575 1.5243133 0.001627742 -0.021274872 4.5423047 + 11710 20.264248 0.99903759 23.713248 6.0450624 4.5470056 1.4980569 0.0015089945 -0.020373665 4.5658702 + 11720 20.124838 1.0120769 23.72026 6.054549 4.5369397 1.5176093 0.0014468147 -0.020756574 4.5562495 + 11730 20.271538 0.99380141 23.560995 6.0159408 4.5257356 1.4902052 0.001298322 -0.020321075 4.5447583 + 11740 20.132702 0.99062392 23.694242 6.0184289 4.5329883 1.4854406 0.0012019501 -0.02010744 4.5518938 + 11750 19.976367 0.99653412 23.802831 6.014105 4.5198021 1.4943029 0.0010379271 -0.019756344 4.5385205 + 11760 20.201191 0.99355585 23.65942 6.0066141 4.5167771 1.489837 0.0011309247 -0.019741219 4.5353874 + 11770 20.144075 0.9794965 23.472891 6.0141684 4.5454134 1.468755 0.0011688793 -0.019694089 4.5639386 + 11780 20.325876 1.0018095 23.691481 6.0189797 4.5167663 1.5022133 0.0012566439 -0.020048232 4.5355579 + 11790 20.189961 1.010573 23.656296 6.0114868 4.4961326 1.5153543 0.0013043283 -0.020399076 4.5152273 + 11800 20.096729 0.99322879 23.77168 6.0194983 4.5301517 1.4893466 0.0013922984 -0.020825218 4.5495846 + 11810 20.141431 1.0230641 23.640912 6.0538597 4.519775 1.5340846 0.0015028473 -0.021426774 4.539699 + 11820 20.475032 1.0178595 23.744313 6.0587765 4.5324961 1.5262804 0.0016107236 -0.021790873 4.5526763 + 11830 20.256977 1.0313374 23.620536 6.0812868 4.5347964 1.5464905 0.0017600989 -0.022489158 4.5555254 + 11840 20.342434 1.0199137 23.638756 6.074458 4.5450974 1.5293606 0.0018236488 -0.022581564 4.5658553 + 11850 20.238443 1.0164556 23.510269 6.0639787 4.5398036 1.5241751 0.0017253408 -0.022293112 4.5603714 + 11860 20.37108 1.0230339 23.372236 6.0614664 4.5274271 1.5340393 0.0017433409 -0.022601089 4.5482848 + 11870 19.955882 1.0313034 23.866457 6.0786731 4.5322336 1.5464395 0.0018519401 -0.023337381 4.553719 + 11880 20.2539 1.0072979 23.598033 6.0625955 4.5521523 1.5104432 0.0020066992 -0.024032502 4.5741781 + 11890 20.09629 1.0265119 23.807705 6.0485127 4.509258 1.5392547 0.0020018476 -0.023772575 4.5310287 + 11900 20.346693 1.0175924 23.631406 6.0495411 4.5236613 1.5258798 0.0019596908 -0.023573953 4.5452756 + 11910 20.334151 1.0013839 23.885207 6.0478592 4.546284 1.5015752 0.0019165198 -0.023015755 4.5673833 + 11920 19.910256 1.0245451 23.580905 6.0600692 4.5237639 1.5363053 0.0017889387 -0.02254197 4.5445169 + 11930 20.042579 1.0098387 23.77897 6.0690388 4.5547856 1.5142532 0.0017671989 -0.022378613 4.575397 + 11940 20.247649 1.0282975 23.747202 6.0565866 4.5146546 1.541932 0.0019825808 -0.023184183 4.5358562 + 11950 20.173315 1.0200944 23.819282 6.0529509 4.5233193 1.5296315 0.002015391 -0.023385317 4.5446892 + 11960 20.359143 0.98263757 23.632078 6.0420528 4.5685878 1.473465 0.0020930054 -0.023219759 4.5897145 + 11970 20.191377 1.0055316 23.677599 6.0443303 4.5365357 1.5077946 0.0020726708 -0.023074706 4.5575378 + 11980 20.206462 1.0084397 23.691217 6.0665176 4.5543622 1.5121554 0.0020174789 -0.022568924 4.5749136 + 11990 20.482679 1.0113982 23.752662 6.0734642 4.5568726 1.5165916 0.0017348353 -0.021059883 4.5761977 + 12000 20.149787 1.0320961 23.650782 6.0892694 4.5416413 1.5476282 0.0014684549 -0.02051168 4.5606845 + 12010 20.280956 1.0307417 23.778387 6.0852474 4.5396503 1.5455971 0.0016088245 -0.021104024 4.5591455 + 12020 20.29887 1.0122684 23.689017 6.0443733 4.5264769 1.5178965 0.0014867106 -0.020601293 4.5455914 + 12030 20.239624 1.0166404 23.922341 6.0589632 4.5345109 1.5244523 0.0014989482 -0.020685149 4.5536971 + 12040 20.347788 1.0179172 23.770378 6.0631565 4.5367896 1.5263669 0.0016941159 -0.022291574 4.5573871 + 12050 20.481231 1.029917 23.697695 6.0825819 4.5382213 1.5443605 0.0019508566 -0.023781134 4.5600516 + 12060 20.344214 1.0358126 23.578353 6.0577046 4.5045037 1.5532009 0.001912436 -0.023559256 4.5261505 + 12070 20.413962 1.024944 24.007937 6.0564415 4.5195379 1.5369036 0.0018274416 -0.023446921 4.5411574 + 12080 20.31115 1.0295353 23.982892 6.0756909 4.5319028 1.5437882 0.0018215327 -0.023365057 4.5534463 + 12090 19.929465 1.0215969 23.779092 6.0763431 4.5444586 1.5318845 0.0018467084 -0.023438365 4.5660502 + 12100 20.303339 1.0397021 23.746378 6.0825801 4.5235469 1.5590332 0.0018876449 -0.023716826 4.5453761 + 12110 20.073911 1.03126 23.890163 6.0783781 4.5320037 1.5463744 0.0017567259 -0.023092615 4.5533396 + 12120 20.269341 1.0109534 23.818208 6.0511934 4.5352689 1.5159246 0.0014925153 -0.021717608 4.555494 + 12130 20.170481 1.0098277 23.822229 6.0592927 4.545056 1.5142367 0.0014603171 -0.021666588 4.5652622 + 12140 20.112777 1.013986 23.680174 6.0714549 4.550983 1.520472 0.0016904502 -0.022381453 4.571674 + 12150 20.185474 1.0333875 23.701151 6.09464 4.5450755 1.5495646 0.0017673546 -0.022328074 4.5656362 + 12160 20.263172 1.0190522 23.631139 6.0821956 4.5541268 1.5280688 0.0016739306 -0.021530672 4.5739836 + 12170 20.262563 1.0260003 23.709681 6.0761082 4.5376208 1.5384874 0.0015494377 -0.020766622 4.556838 + 12180 19.963222 1.0203459 23.567083 6.0772625 4.5472539 1.5300087 0.0017390085 -0.022114855 4.5676297 + 12190 19.9366 1.0308674 23.618252 6.067341 4.5215553 1.5457857 0.001717718 -0.02179281 4.5416304 + 12200 20.124812 1.0238226 23.544017 6.0848692 4.5496473 1.5352219 0.0018538609 -0.021886862 4.5696803 + 12210 19.91273 1.0340086 24.009359 6.0888929 4.5383969 1.550496 0.0016517932 -0.021117436 4.5578626 + 12220 19.911222 1.022005 23.865216 6.0845633 4.5520667 1.5324966 0.0012794064 -0.019270255 4.5700576 + 12230 20.473826 1.0268901 23.507694 6.0588387 4.5190169 1.5398217 0.0013271333 -0.019489195 4.537179 + 12240 20.464549 0.98942559 23.784636 6.0428649 4.5592212 1.4836437 0.0014767351 -0.019525572 4.5772701 + 12250 20.387502 1.0146792 23.656892 6.0421414 4.52063 1.5215115 0.0013371239 -0.01896952 4.5382624 + 12260 20.07271 1.0068333 23.938257 6.0403283 4.5305817 1.5097466 0.0013564398 -0.018913425 4.5481387 + 12270 20.433983 1.0165541 23.873983 6.0671857 4.5428627 1.5243229 0.0011812807 -0.018154909 4.5598364 + 12280 20.062519 1.0316858 23.941144 6.0727791 4.5257662 1.5470129 0.0012337223 -0.018795647 4.5433282 + 12290 19.928101 1.0109141 23.793078 6.0684554 4.5525896 1.5158657 0.0015678574 -0.021028967 4.5720508 + 12300 20.055777 1.0212428 23.484268 6.0549163 4.5235628 1.5313535 0.0016771877 -0.021962362 4.543848 + 12310 20.440862 1.0047783 23.562534 6.0270049 4.5203398 1.5066651 0.0016329315 -0.021550485 4.5402574 + 12320 20.082277 1.0213615 23.81358 6.074912 4.5433805 1.5315315 0.001864822 -0.022453329 4.563969 + 12330 19.736061 0.99763168 23.568394 6.0500069 4.5540582 1.4959487 0.0020142913 -0.023049177 4.5750931 + 12340 20.139459 1.0133 23.461216 6.0518729 4.5324295 1.5194434 0.0020295117 -0.022928888 4.5533289 + 12350 20.177343 0.99127635 23.443886 6.0424685 4.5560496 1.4864189 0.0017567104 -0.021606801 4.5758997 + 12360 20.356389 1.0182269 23.793101 6.0739661 4.5471349 1.5268312 0.0017735457 -0.02143821 4.5667995 + 12370 20.068898 1.0235226 23.617926 6.0796818 4.5449097 1.5347722 0.001820767 -0.022076586 4.5651655 + 12380 20.378402 1.0220451 23.795012 6.0621001 4.5295435 1.5325566 0.0018070405 -0.022740118 4.5504766 + 12390 20.601725 1.0264779 23.655477 6.077056 4.5378524 1.5392037 0.0016734066 -0.022272254 4.5584512 + 12400 19.975857 1.0261957 23.620135 6.0909752 4.5521947 1.5387805 0.0017921274 -0.023099688 4.5735023 + 12410 20.123504 1.048895 23.912186 6.1135458 4.5407277 1.5728181 0.0018228576 -0.022981649 4.5618865 + 12420 20.269942 1.0359799 23.664118 6.1119665 4.5585147 1.5534518 0.0018768187 -0.022913365 4.5795512 + 12430 20.208386 1.0524448 23.898024 6.1317766 4.5536355 1.5781411 0.0019859044 -0.02322772 4.5748774 + 12440 20.292067 1.0236802 23.417089 6.0782295 4.543221 1.5350085 0.0019891609 -0.023181077 4.564413 + 12450 20.423123 1.0171165 23.638203 6.0740875 4.5489213 1.5251662 0.0020579745 -0.023573327 4.5704366 + 12460 20.377367 1.0239309 23.514122 6.0563516 4.5209673 1.5353844 0.0022300213 -0.024485538 4.5432228 + 12470 20.161535 1.0230395 23.342361 6.0417768 4.507729 1.5340478 0.0022310423 -0.024511426 4.5300094 + 12480 20.314939 1.0130561 23.908161 6.0529563 4.5338788 1.5190776 0.0021587279 -0.024398836 4.5561189 + 12490 20.327961 1.0005634 23.796509 6.0401974 4.5398527 1.5003447 0.0020956784 -0.023674169 4.5614312 + 12500 20.339413 0.99756447 23.83811 6.0358976 4.5400497 1.4958479 0.0018565884 -0.022821758 4.5610149 + 12510 20.390978 0.99999129 23.442072 6.0228975 4.5234105 1.4994869 0.0016963451 -0.022095565 4.5438098 + 12520 20.247325 1.0006246 23.529698 6.0157509 4.5153143 1.5004366 0.0017098795 -0.022334285 4.5359387 + 12530 20.086731 1.0033821 23.504401 6.0225481 4.5179767 1.5045714 0.0017568313 -0.02264426 4.5388641 + 12540 19.86103 1.0132813 23.771176 6.0257101 4.5062949 1.5194153 0.0017152681 -0.022265189 4.5268448 + 12550 20.209978 1.0060387 23.648823 6.0333873 4.5248323 1.508555 0.0016900605 -0.021754748 4.544897 + 12560 20.356859 1.0037501 23.660437 6.038292 4.5331687 1.5051233 0.0016332258 -0.021650541 4.553186 + 12570 20.120968 1.0021602 23.75809 6.0274611 4.5247219 1.5027392 0.0016157655 -0.021328941 4.5444351 + 12580 20.2825 0.99162947 23.702614 6.0107842 4.5238358 1.4869484 0.0016291669 -0.021508641 4.5437152 + 12590 19.987892 0.99787422 23.720333 6.0165605 4.5202481 1.4963124 0.0018096398 -0.022052073 4.5404905 + 12600 20.190578 1.0265504 23.731456 6.0616016 4.5222894 1.5393123 0.001935664 -0.022272839 4.5426265 + 12610 20.114747 1.0185463 23.406662 6.0412179 4.5139078 1.5273101 0.001971133 -0.022469081 4.5344057 + 12620 19.972407 0.99075887 23.655423 6.0381003 4.5524574 1.4856429 0.002130057 -0.023353378 4.5736807 + 12630 20.115213 1.0035458 23.616341 6.0490324 4.5442156 1.5048169 0.0021114511 -0.023232332 4.5653364 + 12640 20.210873 0.99651782 23.576137 6.0364735 4.5421951 1.4942785 0.0020157385 -0.023110249 4.5632896 + 12650 20.066505 1.0079091 23.371717 6.0433458 4.5319862 1.5113596 0.0018366574 -0.02284552 4.5529951 + 12660 19.917928 1.0018854 23.721155 6.0486786 4.5463515 1.5023271 0.0017849828 -0.022352259 4.5669188 + 12670 20.257002 1.001973 24.072459 6.0504725 4.548014 1.5024586 0.0019781456 -0.023471074 4.5695069 + 12680 20.177193 0.99758565 23.487357 6.0413236 4.5454439 1.4958797 0.001845597 -0.022956042 4.5665544 + 12690 20.070517 1.0280617 23.814181 6.0803846 4.5388061 1.5415785 0.0017654956 -0.022543922 4.5595846 + 12700 20.251244 1.0363042 23.860923 6.0992664 4.5453282 1.5539382 0.0017349754 -0.022533685 4.5661269 + 12710 19.863346 1.007835 23.705867 6.0592002 4.5479515 1.5112486 0.0015781536 -0.021566245 4.5679396 + 12720 19.739718 1.0249399 23.710776 6.0662288 4.5293315 1.5368973 0.001310042 -0.020387748 4.5484092 + 12730 20.440761 1.018995 23.677506 6.0585187 4.5305357 1.527983 0.0012805819 -0.020065935 4.5493211 + 12740 20.224677 1.0277915 24.185083 6.0865656 4.5453922 1.5411733 0.0014637499 -0.020611088 4.5645396 + 12750 20.230354 1.0305641 23.824454 6.1003305 4.5549997 1.5453308 0.0014172253 -0.020149417 4.5737319 + 12760 20.236231 1.0373056 23.885968 6.1001213 4.5446816 1.5554397 0.0014452053 -0.020772884 4.5640092 + 12770 20.1725 1.0467902 23.779952 6.1052548 4.5355929 1.5696619 0.0016556012 -0.021686349 4.5556236 + 12780 20.113945 1.0260935 23.914911 6.0856412 4.5470141 1.5386271 0.0018743163 -0.022852137 4.5679919 + 12790 20.080512 1.0233777 23.672828 6.061528 4.5269732 1.5345548 0.0019266081 -0.023355986 4.5484025 + 12800 20.359211 1.0323399 23.662245 6.0817263 4.5337326 1.5479937 0.0017976853 -0.023147547 4.5550825 + 12810 20.377598 1.0161105 23.53272 6.0446127 4.520955 1.5236577 0.0018915285 -0.023692952 4.5427564 + 12820 20.483431 1.0019556 23.471388 6.0442776 4.5418452 1.5024324 0.0020365467 -0.023827396 4.5636361 + 12830 20.496132 1.0271369 23.810538 6.0535268 4.513335 1.5401918 0.0020420165 -0.023560187 4.5348532 + 12840 20.081073 1.0216181 23.737411 6.0503534 4.5184371 1.5319163 0.0019229252 -0.023131027 4.5396452 + 12850 20.093419 1.0171165 23.943554 6.0568676 4.5317015 1.5251662 0.0018731772 -0.022615052 4.5524434 + 12860 20.381122 1.0243017 23.884426 6.0641125 4.5281721 1.5359404 0.0018351027 -0.02241385 4.5487509 + 12870 20.31433 1.014424 23.80138 6.0597323 4.5386035 1.5211288 0.0018292158 -0.022681018 4.5594553 + 12880 20.175615 1.0026552 23.735386 6.0422824 4.5388009 1.5034815 0.0019423382 -0.02314976 4.5600083 + 12890 20.118417 1.0024728 24.05752 6.053204 4.549996 1.503208 0.0019815689 -0.02299501 4.5710094 + 12900 20.379464 1.0092072 23.722374 6.0477721 4.5344659 1.5133062 0.0018204047 -0.022331374 4.5549769 + 12910 20.183645 1.0000242 23.807123 6.0448002 4.545264 1.4995362 0.0018423698 -0.021791803 4.5652134 + 12920 20.425592 1.0250884 23.743603 6.0738441 4.536724 1.53712 0.0017527135 -0.021215837 4.5561872 + 12930 20.471521 1.0258001 23.851024 6.0832843 4.545097 1.5381872 0.0015837186 -0.02041505 4.5639284 + 12940 20.546593 1.0334262 24.064373 6.0977379 4.5481153 1.5496226 0.0016682094 -0.020601673 4.5670487 + 12950 20.186724 1.0248096 23.783904 6.0986137 4.5619117 1.5367021 0.001644526 -0.020739432 4.5810066 + 12960 19.962155 1.0296546 23.811928 6.0930301 4.5490629 1.5439671 0.0016246789 -0.020503077 4.5679413 + 12970 20.155087 1.0269411 23.603115 6.087047 4.5471488 1.5398982 0.0017016104 -0.020903054 4.5663503 + 12980 20.025107 1.0272601 23.575425 6.1002349 4.5598584 1.5403765 0.0017266516 -0.020769143 4.5789009 + 12990 20.146059 1.0174862 23.62041 6.0801245 4.554404 1.5257205 0.0016961875 -0.02087522 4.573583 + 13000 20.31275 1.0296673 23.784605 6.0864864 4.5425003 1.5439861 0.0017763503 -0.021312295 4.5620363 + 13010 20.278241 1.0444856 23.984906 6.1008898 4.5346836 1.5662061 0.0018300132 -0.021806181 4.5546598 + 13020 20.441747 1.0395062 23.930138 6.0842236 4.5254841 1.5587395 0.0018725437 -0.022206712 4.5458183 + 13030 20.318782 1.0284224 23.557778 6.0569336 4.5148143 1.5421193 0.0018580198 -0.022297965 4.5352542 + 13040 20.215858 1.0341701 23.462957 6.0650475 4.5143095 1.550738 0.0017997806 -0.022033227 4.5345429 + 13050 19.983162 1.0259399 23.362231 6.0645447 4.5261479 1.5383968 0.0017220087 -0.021915545 4.5463414 + 13060 19.968653 1.0143773 23.798367 6.046965 4.5259063 1.5210587 0.0016062963 -0.02100356 4.5453035 + 13070 20.161741 0.99405547 23.278261 6.0256152 4.535029 1.4905862 0.0015181154 -0.020892516 4.5544034 + 13080 20.250443 0.99449184 23.440624 6.0296258 4.5383853 1.4912405 0.00160103 -0.021206036 4.5579903 + 13090 20.459659 1.0172717 23.865652 6.0426491 4.5172501 1.525399 0.0017638798 -0.021859156 4.5373454 + 13100 20.523037 1.0201957 23.552299 6.0314887 4.5017052 1.5297835 0.0018433911 -0.022862643 4.5227245 + 13110 20.325338 1.0054672 23.59086 6.0419143 4.5342162 1.507698 0.0018930924 -0.02334745 4.5556706 + 13120 20.093012 1.0020728 23.666631 6.0286113 4.5260032 1.5026081 0.0019017572 -0.02336522 4.5474667 + 13130 20.252795 1.0173359 23.552568 6.0512179 4.5257227 1.5254952 0.0017702359 -0.02270091 4.5466533 + 13140 20.346501 1.0144124 23.810841 6.0603099 4.5391986 1.5211113 0.0017872185 -0.022459489 4.5598709 + 13150 20.480838 1.0119526 23.666592 6.0737061 4.5562831 1.517423 0.0017379722 -0.022305238 4.5768504 + 13160 20.391248 1.0299708 23.805447 6.0698934 4.5254522 1.5444412 0.0017180387 -0.02189625 4.5456304 + 13170 20.04531 1.0310454 23.614324 6.0935405 4.5474878 1.5460526 0.0016731598 -0.021634325 4.567449 + 13180 20.129281 1.037933 23.805003 6.0965475 4.540167 1.5563805 0.0015470225 -0.020755289 4.5593752 + 13190 20.256177 1.0290946 23.437968 6.078799 4.5356717 1.5431273 0.0015241631 -0.020150212 4.5542978 + 13200 20.21452 1.0106487 23.65515 6.0688616 4.5533939 1.5154678 0.0016913576 -0.021011145 4.5727137 + 13210 20.408098 1.0275172 23.784078 6.0583995 4.5176375 1.540762 0.0017658909 -0.021124878 4.5369965 + 13220 20.152451 1.0139052 24.079119 6.0477474 4.5273965 1.5203509 0.001679467 -0.020925025 4.5466421 + 13230 20.470366 1.0073356 23.641699 6.0259177 4.515418 1.5104997 0.0015770071 -0.020688303 4.5345293 + 13240 20.232973 1.0016318 23.726046 6.026052 4.5241051 1.5019469 0.0014110938 -0.019784686 4.5424787 + 13250 20.047421 1.017603 23.713557 6.0318107 4.5059149 1.5258958 0.0015849558 -0.02086635 4.5251963 + 13260 20.121348 1.0002454 23.760712 6.0162155 4.5163475 1.499868 0.0017655194 -0.022023609 4.5366055 + 13270 20.200453 0.98635039 23.861212 6.0217534 4.542721 1.4790324 0.001804639 -0.022077556 4.5629939 + 13280 20.430091 1.0012502 23.498446 6.018565 4.5171903 1.5013747 0.001868737 -0.022540755 4.5378624 + 13290 20.368487 1.0076117 23.659825 6.0217394 4.5108257 1.5109137 0.0018079529 -0.021916463 4.5309342 + 13300 20.393275 0.99458175 23.771981 6.0103415 4.5189662 1.4913753 0.0016766656 -0.021378142 4.5386676 + 13310 20.201438 0.99372676 23.571072 6.0124227 4.5223294 1.4900933 0.0013715982 -0.01988374 4.5408416 + 13320 20.148878 0.98969332 23.849262 6.0033071 4.5192619 1.4840451 0.0011333613 -0.018748717 4.5368773 + 13330 19.870814 0.97783202 23.468593 5.9968071 4.530548 1.4662591 0.001084655 -0.018564113 4.5480275 + 13340 20.227103 0.98269916 23.83814 5.9852455 4.5116882 1.4735574 0.0012236226 -0.019348975 4.5298135 + 13350 20.016911 0.97669115 23.760223 6.0151101 4.5505617 1.4645484 0.0014222765 -0.020398839 4.5695383 + 13360 19.907375 1.0001342 23.746209 6.0300652 4.5303639 1.4997012 0.0015453274 -0.021079354 4.549898 + 13370 20.05706 0.99745534 23.963739 6.0217283 4.526044 1.4956843 0.0017658282 -0.022288749 4.5465669 + 13380 20.295754 1.0190187 23.653838 6.0300367 4.5020181 1.5280186 0.0019085212 -0.02322723 4.5233368 + 13390 20.295847 0.9918641 23.809587 6.0092632 4.521963 1.4873002 0.0020029599 -0.023434124 4.5433942 + 13400 20.044715 0.99651558 23.820189 6.0076584 4.5133833 1.4942751 0.0021452937 -0.024043512 4.5352815 + 13410 20.108029 1.0026558 23.588048 6.0461201 4.5426378 1.5034823 0.0021017883 -0.023057151 4.5635931 + 13420 19.859505 1.0017948 23.836491 6.0391302 4.5369389 1.5021913 0.0020741634 -0.022975711 4.5578404 + 13430 20.09016 1.0048588 23.812891 6.0504111 4.5436253 1.5067858 0.0021036765 -0.023364281 4.5648859 + 13440 20.105338 0.99863325 23.934787 6.0453231 4.5478725 1.4974506 0.0019534782 -0.022721703 4.5686408 + 13450 20.131525 1.0068488 23.660441 6.047321 4.5375513 1.5097698 0.0018479826 -0.022645565 4.5583488 + 13460 20.303537 1.005607 23.643808 6.0558217 4.5479141 1.5079077 0.0018586961 -0.02261221 4.5686676 + 13470 20.234439 1.0413328 23.777285 6.0724781 4.5109995 1.5614786 0.0017305676 -0.022317038 4.531586 + 13480 20.275767 1.0320382 23.685891 6.1006224 4.5530811 1.5475413 0.0017096573 -0.021789399 4.5731609 + 13490 20.201814 1.0313479 23.610811 6.1006382 4.5541321 1.5465061 0.0017429398 -0.021751733 4.5741409 + 13500 20.31728 1.0307531 23.870617 6.094284 4.5486698 1.5456143 0.0016699599 -0.021112876 4.5681127 + 13510 20.367917 1.047248 23.897205 6.1229268 4.5525784 1.5703484 0.0015956667 -0.020892925 4.5718756 + 13520 20.048403 1.0392522 23.597149 6.1180385 4.5596799 1.5583586 0.0015742349 -0.021226818 4.5793325 + 13530 19.689573 1.0658947 24.018265 6.1292686 4.5309595 1.5983091 0.0015741464 -0.021039843 4.5504252 + 13540 20.000751 1.0271245 23.6472 6.098121 4.5579477 1.5401732 0.001560455 -0.020840045 4.5772273 + 13550 19.881547 1.0389575 23.688719 6.0949407 4.5370239 1.5579168 0.0013502795 -0.019992148 4.5556657 + 13560 19.848219 1.0324402 23.573684 6.0846227 4.5364787 1.548144 0.0013638624 -0.020043475 4.5551583 + 13570 20.198357 1.0032027 23.800255 6.0626956 4.5583931 1.5043025 0.0013551185 -0.020580193 4.5776182 + 13580 20.341075 1.0239742 23.818966 6.0705668 4.5351174 1.5354494 0.0013490184 -0.020655765 4.5544242 + 13590 20.11877 1.0305629 23.64936 6.0688022 4.5234732 1.545329 0.0012510081 -0.020436919 4.5426591 + 13600 19.882605 1.0046288 23.649027 6.0726093 4.5661683 1.506441 0.0011561269 -0.019881951 4.5848942 + 13610 19.670663 1.0212876 23.953397 6.0697844 4.5383636 1.5314208 0.0010483375 -0.019038893 4.5563542 + 13620 19.674753 1.0256906 23.554545 6.053591 4.515568 1.538023 0.0010706688 -0.018996515 4.5334938 + 13630 20.429843 1.0249526 23.857426 6.0477293 4.5108128 1.5369164 0.0010933567 -0.018756543 4.528476 + 13640 20.362852 1.0047569 23.738756 6.0331468 4.5265139 1.5066329 0.0013165371 -0.019837521 4.5450349 + 13650 20.325047 1.0031126 23.644439 6.0467786 4.5426112 1.5041673 0.0014988359 -0.020967245 4.5620797 + 13660 20.208831 1.0087584 23.680669 6.0499126 4.5372794 1.5126332 0.0017414485 -0.021741299 4.5572792 + 13670 20.303619 1.0314577 23.664641 6.0537717 4.507101 1.5466708 0.0018939272 -0.022359178 4.5275662 + 13680 20.06412 1.0173424 23.817625 6.0542945 4.5287896 1.5255049 0.0019489015 -0.022182637 4.5490233 + 13690 20.135515 1.0051847 23.658106 6.0419099 4.5346355 1.5072744 0.0018508268 -0.021687782 4.5544725 + 13700 20.05251 1.0249771 23.68044 6.0592851 4.522332 1.5369531 0.0017805021 -0.021470678 4.5420222 + 13710 20.343678 1.0239363 23.950815 6.0831672 4.5477747 1.5353925 0.0014838436 -0.019657166 4.565948 + 13720 20.483308 0.99689506 23.844083 6.0584228 4.5635786 1.4948441 0.0014257878 -0.018958298 4.5811111 + 13730 20.408337 0.98752137 23.507482 6.0215491 4.5407608 1.4807883 0.0015648993 -0.019597635 4.5587936 + 13740 20.139627 0.98463959 23.593622 5.9944208 4.5179537 1.4764671 0.0017949092 -0.021138128 4.5372969 + 13750 20.390776 0.99394229 23.782953 6.017966 4.5275495 1.4904165 0.0019130979 -0.022075008 4.5477114 + 13760 20.257078 1.0173534 23.731297 6.0424636 4.5169422 1.5255214 0.0017703845 -0.021591749 4.5367635 + 13770 20.26611 1.015305 23.985783 6.0460841 4.5236343 1.5224498 0.0014599316 -0.020139445 4.5423138 + 13780 20.179211 1.0168089 23.758761 6.0459674 4.5212624 1.5247049 0.0012793877 -0.019235354 4.5392184 + 13790 20.119622 1.0091942 23.909105 6.0522855 4.5389988 1.5132867 0.0013906246 -0.019459835 4.557068 + 13800 20.562993 1.024435 23.886234 6.0687015 4.5325612 1.5361403 0.0015576234 -0.020379743 4.5513833 + 13810 20.329419 1.0016701 23.754497 6.0312527 4.5292484 1.5020043 0.0018020924 -0.021690843 4.5491372 + 13820 20.333103 0.99049831 23.670525 6.0252539 4.5400016 1.4852522 0.0019517083 -0.022303858 4.5603538 + 13830 20.087107 1.0080466 23.75817 6.0357394 4.5241735 1.5115659 0.0017841974 -0.021359081 4.5437484 + 13840 20.322037 1.0111967 23.760768 6.0302338 4.5139445 1.5162894 0.0015388358 -0.020580482 4.5329861 + 13850 20.458377 1.0104088 23.768546 6.0464315 4.5313235 1.515108 0.0013887536 -0.019864916 4.5497996 + 13860 20.349844 1.0172291 24.049799 6.0375724 4.5122375 1.525335 0.0014404882 -0.020374751 4.5311717 + 13870 20.194627 1.0000892 23.899101 6.0387717 4.539138 1.4996338 0.0015250335 -0.020999897 4.5586128 + 13880 20.278816 0.99513511 23.772187 6.0477925 4.5555874 1.4922051 0.0017017767 -0.021790468 4.5756761 + 13890 20.171227 1.024556 23.736639 6.0806601 4.5443384 1.5363217 0.0018958947 -0.022767161 4.5652096 + 13900 20.076817 1.0156596 23.830995 6.0753835 4.5524019 1.5229816 0.0018828339 -0.022821657 4.5733407 + 13910 20.340298 1.0309842 24.065554 6.0647096 4.5187488 1.5459609 0.0017985451 -0.022520606 4.5394708 + 13920 20.263594 1.0278289 23.660942 6.083612 4.5423825 1.5412294 0.0017050657 -0.022157435 4.5628349 + 13930 20.272582 1.0152986 23.682525 6.0679888 4.5455486 1.5224402 0.0017268235 -0.021937133 4.5657589 + 13940 20.149154 0.99449367 23.939499 6.0284739 4.5372307 1.4912433 0.0016183674 -0.021673879 4.5572862 + 13950 20.159519 1.0138676 23.593226 6.0312617 4.5109671 1.5202945 0.0014333559 -0.021185102 4.5307189 + 13960 20.217892 1.0256222 23.8785 6.0409898 4.5030693 1.5379205 0.001305955 -0.020435463 4.5221988 + 13970 20.030911 1.0062213 23.938665 6.0523923 4.5435635 1.5088288 0.0012418653 -0.019912366 4.562234 + 13980 20.436487 0.99834109 23.78935 6.037816 4.5408035 1.4970125 0.0012252189 -0.019647407 4.5592257 + 13990 20.405184 1.01379 23.793829 6.0635383 4.5433602 1.5201782 0.0011829671 -0.019468316 4.5616455 + 14000 20.262239 1.0050422 23.662819 6.0351668 4.528106 1.5070608 0.0011282847 -0.018952889 4.5459306 + 14010 20.429268 1.0016171 23.654264 6.0479051 4.5459803 1.5019248 0.0012367309 -0.019458912 4.5642025 + 14020 20.37101 1.0152529 23.965519 6.063743 4.5413712 1.5223718 0.0013468414 -0.019524335 4.5595487 + 14030 20.522626 1.0210415 23.585858 6.058015 4.5269633 1.5310517 0.0014921132 -0.020168832 4.54564 + 14040 20.309866 1.0125519 23.598533 6.0607088 4.5423873 1.5183216 0.0014239076 -0.020122415 4.5610858 + 14050 20.021019 1.0126388 23.649297 6.0729825 4.5545306 1.5184518 0.0014486309 -0.020342327 4.5734243 + 14060 19.974297 1.0241197 23.938168 6.0912381 4.5555706 1.5356675 0.0013511584 -0.020009153 4.5742286 + 14070 20.114129 1.0177175 23.800753 6.05898 4.5329125 1.5260675 0.001330153 -0.019974268 4.5515566 + 14080 20.376475 1.0143537 23.629843 6.0639943 4.5429709 1.5210234 0.0013990653 -0.019656172 4.561228 + 14090 20.394608 1.0145926 23.732111 6.0555458 4.5341642 1.5213816 0.001384748 -0.019692791 4.5524723 + 14100 20.521971 1.0251391 23.710404 6.0747075 4.5375114 1.537196 0.0015183055 -0.020153751 4.5561469 + 14110 20.305311 1.0278209 23.707886 6.0782333 4.5370159 1.5412174 0.0016190142 -0.020842659 4.5562396 + 14120 20.007495 1.0242911 23.651958 6.0751315 4.5392069 1.5359246 0.0018911681 -0.022570993 4.5598868 + 14130 19.999745 1.0280177 23.472 6.0762043 4.5346917 1.5415126 0.0021339225 -0.023522944 4.5560807 + 14140 20.226017 1.0231422 23.792982 6.0866031 4.5524014 1.5342017 0.0021748535 -0.023638176 4.5738647 + 14150 20.320134 1.0057622 23.892316 6.0617603 4.5536199 1.5081404 0.0020247061 -0.023365406 4.5749606 + 14160 20.312304 1.0213609 23.792284 6.0598491 4.5283185 1.5315306 0.0017104571 -0.021729178 4.5483372 + 14170 20.031581 1.006598 23.802388 6.0572077 4.547814 1.5093938 0.0014926314 -0.021084664 4.567406 + 14180 20.345163 1.0239419 24.29919 6.0769505 4.5415497 1.5354008 0.0014162868 -0.02079257 4.560926 + 14190 20.022979 1.0128468 23.88884 6.0721013 4.5533374 1.5187638 0.0016204048 -0.021617973 4.573335 + 14200 20.17405 1.0075218 23.774424 6.0884015 4.5776225 1.510779 0.0017913561 -0.022227745 4.5980589 + 14210 20.30842 1.0228555 23.930255 6.0837392 4.5499674 1.5337719 0.0017534007 -0.021945919 4.5701599 + 14220 20.155831 1.0501524 23.837699 6.0847136 4.5100101 1.5747035 0.0019268332 -0.02277588 4.5308591 + 14230 20.116613 1.0160373 23.989024 6.0463235 4.5227756 1.5235479 0.0019533366 -0.023075968 4.5438983 + 14240 20.096489 1.0293797 23.802123 6.0857389 4.5421841 1.5435548 0.0016614469 -0.021966112 4.5624888 + 14250 20.070034 1.0288513 23.744947 6.0747801 4.5320176 1.5427625 0.0016721899 -0.021878235 4.5522237 + 14260 19.96577 1.0264123 23.706867 6.0858024 4.546697 1.5391053 0.0017408933 -0.022459883 4.567416 + 14270 20.38447 1.0449149 24.021074 6.0911746 4.5243247 1.5668499 0.0018917324 -0.022925174 4.5453582 + 14280 20.159086 1.017383 23.64745 6.0588117 4.5332458 1.5255659 0.002020328 -0.023461776 4.5546873 + 14290 20.330034 1.019974 23.594705 6.0485544 4.5191034 1.529451 0.0020826687 -0.023877817 4.5408985 + 14300 20.328412 1.0059506 23.498398 6.0563567 4.5479338 1.5084229 0.0020045565 -0.023658067 4.5695873 + 14310 20.297042 1.018762 23.751767 6.0530743 4.5254406 1.5276336 0.0020805332 -0.023793077 4.5471532 + 14320 20.133753 1.0413831 23.805354 6.0696767 4.5081228 1.5615539 0.0019930278 -0.0234734 4.5296032 + 14330 20.215088 1.0366197 23.419906 6.0796304 4.5252191 1.5544112 0.0020083037 -0.023332406 4.5465432 + 14340 20.410315 1.0199471 23.59118 6.0652926 4.5358819 1.5294107 0.0020087047 -0.023299599 4.5571728 + 14350 20.39774 1.0059333 23.652467 6.0199273 4.5115303 1.508397 0.0020972054 -0.023337916 4.5327711 + 14360 20.38636 0.9982415 23.512036 6.0182671 4.521404 1.4968631 0.0020839011 -0.023315245 4.5426354 + 14370 20.392255 0.99270217 23.795095 6.0132579 4.524701 1.4885569 0.0020377503 -0.023122873 4.5457861 + 14380 20.2683 1.0180789 24.087136 6.0239851 4.4973757 1.5266094 0.0020550138 -0.023355764 4.5186764 + 14390 20.463783 1.0184651 23.794583 6.038233 4.5110446 1.5271884 0.0018960695 -0.022857401 4.5320059 + 14400 20.136566 0.9965213 23.451251 6.0520366 4.557753 1.4942837 0.0016910939 -0.021640599 4.5777025 + 14410 19.952476 0.99352898 23.531033 6.022032 4.5322353 1.4897967 0.001357607 -0.020126221 4.5510039 + 14420 19.83049 1.0053408 23.67221 6.0391203 4.5316119 1.5075085 0.0013990676 -0.020096247 4.550309 + 14430 20.423376 1.0036485 23.690784 6.0516497 4.5466789 1.5049709 0.00144894 -0.020125438 4.5653554 + 14440 20.220191 1.0292242 23.81267 6.07296 4.5296384 1.5433216 0.0016054078 -0.020789465 4.5488224 + 14450 20.343373 1.0196031 23.766219 6.0718333 4.5429384 1.5288949 0.0018046603 -0.021555348 4.562689 + 14460 20.233422 1.0164975 23.824432 6.0647581 4.5405201 1.524238 0.0019979733 -0.022719729 4.5612418 + 14470 20.029798 1.0355711 23.736299 6.0808998 4.5280609 1.5528389 0.0018397343 -0.022810475 4.5490316 + 14480 20.422142 1.0192157 23.848422 6.0604953 4.5321814 1.528314 0.0014197876 -0.021217999 4.5519796 + 14490 20.306308 1.0344432 23.899626 6.08059 4.5294424 1.5511476 0.0013024666 -0.020260462 4.5484004 + 14500 19.688316 1.022092 23.606002 6.0766358 4.5440088 1.532627 0.0013524782 -0.019653714 4.56231 + 14510 20.085546 1.0257792 23.891522 6.0659627 4.5278067 1.5381559 0.0013722879 -0.019307177 4.5457416 + 14520 20.113101 1.0169716 23.615055 6.0502875 4.5253386 1.5249489 0.0013696114 -0.019218482 4.5431875 + 14530 19.822921 1.0179434 23.910855 6.0392256 4.5128194 1.5264062 0.0015523673 -0.020268065 4.5315351 + 14540 20.237557 1.0090051 23.760722 6.0630263 4.5500231 1.5130032 0.0016539862 -0.020903692 4.5692729 + 14550 20.163666 1.0108798 23.650193 6.0394066 4.5235923 1.5158143 0.0014987923 -0.020599798 4.5426933 + 14560 20.286429 1.0008318 23.712435 6.0156468 4.5148996 1.5007472 0.0015953792 -0.021166179 4.5344704 + 14570 20.53543 0.9960561 23.559775 6.0114248 4.5178387 1.4935861 0.0013838196 -0.020343888 4.5367988 + 14580 20.427245 0.99362302 23.670436 6.0119304 4.5219926 1.4899377 0.0013285341 -0.020235467 4.5408996 + 14590 20.142548 0.99062008 23.456608 6.0069338 4.5214989 1.4854348 0.0015383872 -0.021064534 4.5410251 + 14600 19.934488 0.98464087 23.483221 5.9999924 4.5235234 1.476469 0.00175966 -0.022091883 4.5438556 + 14610 20.482363 0.97300639 23.880015 5.9826167 4.5235937 1.4590231 0.0017972658 -0.02166924 4.5434656 + 14620 20.257739 1.0102089 23.970721 6.0068217 4.4920134 1.5148083 0.0017152403 -0.021379397 4.5116776 + 14630 20.523151 1.0093173 23.548555 6.0331182 4.519647 1.5134713 0.0017584138 -0.021859321 4.5397479 + 14640 20.440619 1.0048857 23.646773 6.0528628 4.5460368 1.506826 0.0017934616 -0.02199869 4.566242 + 14650 20.380173 1.0096621 23.812307 6.0711138 4.5571255 1.5139883 0.0018667991 -0.0224108 4.5776695 + 14660 20.052271 1.0080163 23.902795 6.0668096 4.5552892 1.5115205 0.0017780838 -0.021968419 4.5754795 + 14670 20.275715 1.0224196 23.468417 6.0643296 4.5312113 1.5331182 0.001602564 -0.021521006 4.5511298 + 14680 20.234415 1.0417547 23.822936 6.1048655 4.5427543 1.5621112 0.0016103 -0.021377205 4.5625212 + 14690 20.260977 1.0390392 23.647268 6.0887 4.5306607 1.5580394 0.0015745481 -0.020860738 4.5499469 + 14700 20.10192 1.0238381 23.780606 6.104143 4.5688977 1.5352453 0.001730378 -0.021677231 4.5888446 + 14710 20.423827 1.0131163 23.498571 6.0746608 4.5554929 1.5191679 0.0018722813 -0.021907615 4.5755282 + 14720 20.349591 1.0285135 23.79547 6.0988296 4.5565736 1.5422559 0.0018866989 -0.022088364 4.5767753 + 14730 19.719207 1.0214124 23.842121 6.0737535 4.5421455 1.5316079 0.001737139 -0.021477161 4.5618856 + 14740 20.243435 1.0170056 23.55263 6.0753427 4.5503428 1.5249999 0.0017100943 -0.021115903 4.5697486 + 14750 20.349464 1.0168578 23.676831 6.0539195 4.5291413 1.5247783 0.0016472621 -0.021016409 4.5485104 + 14760 20.20968 1.0083669 23.725544 6.0404119 4.5283657 1.5120462 0.0014789925 -0.020250959 4.5471377 + 14770 20.246097 1.0079654 23.926976 6.0438832 4.5324391 1.5114442 0.0013845963 -0.019606897 4.5506614 + 14780 20.347929 1.0049872 23.853146 6.0834187 4.5764403 1.5069783 0.0013922623 -0.019440195 4.5944883 + 14790 20.267728 1.0088973 23.989947 6.0677945 4.554953 1.5128415 0.0014611895 -0.019584672 4.5730765 + 14800 20.249851 0.9973285 23.585061 6.0435321 4.548038 1.4954941 0.001464315 -0.019002176 4.5655759 + 14810 20.309692 1.0043419 23.786736 6.0438658 4.5378551 1.5060107 0.0014583976 -0.018746311 4.555143 + 14820 20.175753 1.0076708 23.720507 6.0436391 4.5326368 1.5110023 0.0013952521 -0.018534918 4.5497764 + 14830 20.159473 1.0249789 23.331654 6.0461248 4.5091689 1.5369559 0.001359533 -0.01874454 4.5265539 + 14840 20.219891 1.0102857 23.738547 6.0598649 4.5449415 1.5149234 0.0012764109 -0.018315048 4.5619802 + 14850 20.31281 0.99304789 23.806688 6.0382274 4.549152 1.4890753 0.0014810631 -0.019645602 4.5673166 + 14860 20.354628 1.0100314 23.760971 6.0448439 4.5303019 1.514542 0.0016619211 -0.020894052 4.549534 + 14870 19.965649 1.0144882 23.934988 6.058458 4.5372329 1.5212251 0.001634602 -0.02130345 4.5569018 + 14880 20.457739 1.0129891 23.723918 6.0480883 4.5291111 1.5189772 0.001568249 -0.021483348 4.5490262 + 14890 20.492512 1.0074728 23.831536 6.0265757 4.5158702 1.5107055 0.0016633566 -0.022029677 4.5362365 + 14900 20.224374 1.0042849 23.619519 6.0484555 4.5425304 1.5059252 0.0017525295 -0.022824074 4.5636019 + 14910 20.418763 1.0212467 23.79295 6.0550153 4.5236558 1.5313594 0.0018275785 -0.023253809 4.5450821 + 14920 20.315453 0.99922307 23.799448 6.0442197 4.5458847 1.498335 0.0017307311 -0.022839478 4.5669934 + 14930 20.449646 1.00251 23.882229 6.0394608 4.536197 1.5032638 0.0017264422 -0.022614344 4.5570849 + 14940 20.020737 1.0137723 23.845772 6.0340976 4.5139461 1.5201515 0.0017031315 -0.022381342 4.5346244 + 14950 20.284788 1.0182255 23.515734 6.0627737 4.5359446 1.5268291 0.001865953 -0.022756226 4.5568348 + 14960 19.833724 1.0268274 23.692001 6.0599886 4.520261 1.5397276 0.0018100906 -0.02269185 4.5411427 + 14970 20.365879 1.0136715 23.564031 6.0377795 4.5177791 1.5200004 0.0018375721 -0.022803064 4.5387446 + 14980 20.289658 1.0073219 23.693094 6.0405439 4.5300647 1.5104792 0.0018187694 -0.022526461 4.5507724 + 14990 19.975911 1.0119382 24.052298 6.0183901 4.5009889 1.5174013 0.0017119778 -0.022101968 4.5213789 + 15000 19.997068 1.0091337 23.839942 6.037011 4.523815 1.5131959 0.0016445102 -0.021522579 4.5436931 + 15010 20.483231 1.015107 23.875029 6.0477593 4.5256064 1.522153 0.0017750845 -0.021879637 4.5457109 + 15020 20.530052 1.0110344 23.684352 6.0699442 4.5538981 1.5160461 0.0018540177 -0.022049542 4.5740936 + 15030 20.363449 1.0223864 23.627304 6.0789188 4.5458504 1.5330684 0.0016695703 -0.021430398 4.5656113 + 15040 20.307387 1.0274814 23.484697 6.0495886 4.5088803 1.5407083 0.0014192894 -0.02046048 4.5279215 + 15050 20.388148 0.99096314 23.56677 6.0238027 4.5378535 1.4859492 0.0013385475 -0.020365234 4.5568802 + 15060 20.427318 1.0019619 23.670942 6.0076265 4.5051846 1.5024419 0.0013828472 -0.02048441 4.5242861 + 15070 20.591199 0.99231619 23.637196 6.0052776 4.5172995 1.4879781 0.0014051836 -0.020306292 4.5362006 + 15080 20.326394 0.98426705 23.54683 6.0038353 4.5279269 1.4759084 0.0014891056 -0.020007394 4.5464451 + 15090 20.135202 0.97576564 24.002135 6.0011924 4.5380318 1.4631606 0.0013679461 -0.019457811 4.5561217 + 15100 20.379781 0.99244389 23.699453 5.9904086 4.502239 1.4881696 0.0014991496 -0.019996606 4.5207364 + 15110 20.330365 0.98366248 23.64745 6.0026258 4.5276239 1.4750019 0.0015546854 -0.020454335 4.5465236 + 15120 20.222139 0.99115895 23.642015 6.0202051 4.5339623 1.4862429 0.0017416881 -0.021364586 4.5535852 + 15130 20.266432 0.98260273 23.691918 6.0120195 4.5386067 1.4734128 0.0018505829 -0.02232941 4.5590856 + 15140 20.05258 1.0099169 23.818826 6.023809 4.5094386 1.5143704 0.0017514084 -0.021897513 4.5295847 + 15150 20.25355 0.9947939 23.8945 6.0147233 4.5230298 1.4916934 0.0016664251 -0.02157915 4.5429426 + 15160 20.157063 0.99867059 23.800603 6.0386226 4.5411161 1.4975065 0.00167868 -0.021546446 4.5609839 + 15170 20.2578 1.0120474 23.489134 6.0178397 4.5002746 1.5175651 0.0015528377 -0.021188029 4.5199098 + 15180 20.256499 0.99392197 24.005636 6.020975 4.530589 1.490386 0.0012246732 -0.019603169 4.5489675 + 15190 20.376705 0.99466022 23.782069 6.0363278 4.5448348 1.491493 0.0011300728 -0.019320512 4.5630252 + 15200 20.242522 1.015085 23.740642 6.0373398 4.5152199 1.5221199 0.001079802 -0.018823011 4.5329631 + 15210 20.15458 0.99268119 23.633128 6.035558 4.5470326 1.4885254 0.0011741447 -0.019841316 4.5656998 + 15220 20.277662 1.0017729 23.639225 6.0681081 4.5659496 1.5021585 0.001315919 -0.021100014 4.5857337 + 15230 20.149014 1.0261959 23.693086 6.0667415 4.5279607 1.5387808 0.0012331306 -0.020703447 4.547431 + 15240 20.199678 1.0146082 23.583693 6.0477262 4.5263212 1.521405 0.0013020303 -0.020950688 4.5459699 + 15250 20.338259 0.99695723 23.609727 6.0469606 4.5520233 1.4949374 0.0014983375 -0.021667395 4.5721923 + 15260 19.979618 1.0164515 23.464755 6.0651081 4.5409391 1.524169 0.0016462284 -0.022453619 4.5617464 + 15270 20.216014 1.0224266 23.954774 6.0746795 4.5415508 1.5331287 0.0017821162 -0.02273604 4.5625048 + 15280 20.303869 1.0244403 23.836571 6.0797167 4.5435684 1.5361483 0.0017951375 -0.022865368 4.5646387 + 15290 20.136384 1.0228034 23.845971 6.0581477 4.524454 1.5336937 0.0019286668 -0.023091115 4.5456165 + 15300 20.407015 1.0232169 23.7754 6.0484293 4.5141156 1.5343137 0.0019776938 -0.022914481 4.5350524 + 15310 20.26228 1.0060096 23.57633 6.0658699 4.5573585 1.5085113 0.0020998392 -0.023502969 4.5787617 + 15320 20.354106 1.0060809 23.686328 6.042565 4.5339468 1.5086183 0.0022373572 -0.024233458 4.5559429 + 15330 20.308254 1.0112252 23.762903 6.0511779 4.5348458 1.5163322 0.0020723482 -0.023828312 4.5566017 + 15340 20.300902 1.0214574 23.591953 6.0750341 4.5433587 1.5316754 0.0020063702 -0.02335167 4.564704 + 15350 20.191769 1.0210184 23.576116 6.0622493 4.5312323 1.531017 0.0017553617 -0.021947806 4.5514247 + 15360 20.470142 1.0030025 23.938754 6.0454725 4.5414702 1.5040023 0.0015823889 -0.020983824 4.5608716 + 15370 20.240815 1.0073252 23.812311 6.0596226 4.5491384 1.5104841 0.0016165206 -0.021025024 4.5685469 + 15380 20.205982 1.001354 23.580834 6.0342828 4.5327525 1.5015303 0.0016944281 -0.020698184 4.5517562 + 15390 20.345499 1.0158315 23.668477 6.0655935 4.5423542 1.5232393 0.0016384544 -0.019833923 4.5605497 + 15400 20.36007 1.0107992 23.836292 6.0710391 4.5553456 1.5156935 0.0016389663 -0.019981479 4.5736881 + 15410 20.18678 0.99138452 23.523908 6.0221361 4.535555 1.4865811 0.0014189832 -0.019093694 4.5532298 + 15420 20.291408 0.99637039 23.488253 6.010289 4.5162316 1.4940574 0.0015750537 -0.019785832 4.5344424 + 15430 20.480378 0.9870944 23.647327 6.0007953 4.5206472 1.4801481 0.001561364 -0.019871067 4.5389569 + 15440 20.399549 0.99346984 23.493016 6.0001554 4.5104473 1.489708 0.0015928254 -0.019972597 4.5288271 + 15450 20.202521 0.97379298 23.641261 6.0033263 4.5431238 1.4602026 0.0017516246 -0.021362916 4.562735 + 15460 20.136637 1.0008382 23.795229 6.0128962 4.5121394 1.5007569 0.0017129018 -0.02128767 4.5317141 + 15470 20.033046 0.99353769 23.595017 6.0139907 4.5241809 1.4898098 0.0017129046 -0.021353741 4.5438218 + 15480 20.377957 0.9961153 23.586288 6.0161762 4.5225013 1.4936749 0.0017857568 -0.021760887 4.5424764 + 15490 20.351866 1.0018026 23.512845 6.0381195 4.5359165 1.502203 0.0018906282 -0.02216463 4.5561905 + 15500 20.247713 1.0202259 23.53587 6.0538148 4.523986 1.5298288 0.0018742887 -0.022326439 4.5444381 + 15510 20.15804 1.0111346 23.90559 6.0533556 4.5371592 1.5161964 0.0019773938 -0.022881762 4.5580636 + 15520 20.536661 1.0031267 23.458503 6.0383176 4.5341291 1.5041885 0.0019842999 -0.023051994 4.5551968 + 15530 20.053986 1.0010454 23.60366 6.0193958 4.5183282 1.5010676 0.0019089993 -0.022711372 4.5391305 + 15540 20.422063 0.97813937 23.133515 5.9940434 4.5273234 1.46672 0.0017819356 -0.022061201 4.5476027 + 15550 20.35469 0.97680578 23.551854 5.9977648 4.5330445 1.4647203 0.0018834531 -0.022393061 4.5535541 + 15560 20.252578 0.97786972 23.557444 5.9974551 4.5311394 1.4663156 0.0019081733 -0.022740201 4.5519715 + 15570 19.862176 0.99292925 23.823939 6.0122074 4.52331 1.4888974 0.001918914 -0.022966443 4.5443575 + 15580 20.394853 1.0209335 23.731201 6.0534759 4.5225861 1.5308898 0.0019784908 -0.022936742 4.5435443 + 15590 20.526207 1.0024995 23.564518 6.0462177 4.5429697 1.503248 0.0018474194 -0.02234779 4.56347 + 15600 20.163149 0.98582017 23.770294 6.0103614 4.532124 1.4782373 0.0018420792 -0.022338756 4.5526207 + 15610 20.131793 1.0001781 23.54526 6.031804 4.5320369 1.4997671 0.0018140104 -0.022195753 4.5524186 + 15620 20.217061 0.99657688 23.663898 6.0182911 4.523924 1.494367 0.0017759423 -0.02204777 4.5441958 + 15630 20.071994 0.99789928 23.45695 6.0107192 4.5143692 1.49635 0.0016422297 -0.021340782 4.5340677 + 15640 20.333491 0.9836993 23.641729 5.9988856 4.5238285 1.4750571 0.0016471656 -0.021154938 4.5433362 + 15650 20.142275 0.98424078 23.517181 5.9925332 4.5166641 1.4758691 0.0017077902 -0.021490106 4.5364464 + 15660 20.249554 1.0020939 23.474018 6.0053169 4.5026772 1.5026398 0.0016614942 -0.021535605 4.5225513 + 15670 20.331198 0.9796384 23.646847 6.0126069 4.5436392 1.4689678 0.0016108269 -0.021650813 4.5636792 + 15680 20.257575 0.99618912 23.711798 6.0399995 4.5462139 1.4937856 0.0016276169 -0.021722695 4.566309 + 15690 20.531097 1.002513 23.842836 6.0189952 4.515727 1.5032682 0.0014846174 -0.020825231 4.5350676 + 15700 20.346874 1.0204462 23.806563 6.0805442 4.5503851 1.5301591 0.0015495301 -0.02068441 4.56952 + 15710 20.51374 1.018098 23.735245 6.0638253 4.5371874 1.5266379 0.0016884833 -0.021282389 4.5567813 + 15720 20.092249 1.0149671 23.709002 6.0437694 4.5218262 1.5219431 0.0016492869 -0.021086358 4.5412633 + 15730 20.371624 1.0109544 23.726862 6.045289 4.5293629 1.5159261 0.0016275889 -0.020635174 4.5483705 + 15740 20.52456 1.0164467 23.678027 6.0556988 4.5315369 1.5241618 0.0016449934 -0.020877507 4.5507694 + 15750 20.134872 1.0067893 23.883261 6.0197738 4.5100933 1.5096805 0.0018148004 -0.022184922 4.5304634 + 15760 20.048818 1.0057103 23.541088 6.055691 4.5476285 1.5080625 0.0018245164 -0.02230719 4.5681112 + 15770 20.079501 0.99288296 23.471643 6.0382016 4.5493736 1.488828 0.0017385815 -0.022192001 4.569827 + 15780 20.14364 0.99599415 23.505062 6.0271928 4.5336995 1.4934932 0.0016771156 -0.022241205 4.5542636 + 15790 20.269076 0.97768254 23.460885 6.0025229 4.536488 1.466035 0.0015579241 -0.021416043 4.5563461 + 15800 20.046845 0.99394392 23.756638 6.0107132 4.5202943 1.4904189 0.0014515666 -0.020822024 4.5396647 + 15810 20.34862 0.99270791 23.304251 6.0042293 4.5156638 1.4885655 0.001438877 -0.020402474 4.5346274 + 15820 20.183066 0.99765095 23.672085 6.0225162 4.5265386 1.4959776 0.0013695229 -0.020093054 4.5452621 + 15830 20.36965 0.9992199 23.691215 6.0284951 4.5301648 1.4983302 0.0014517129 -0.02041175 4.5491249 + 15840 20.333943 0.98833857 23.552923 6.0174699 4.5354562 1.4820137 0.0016180221 -0.021047676 4.5548859 + 15850 20.135935 1.0114088 23.956053 6.0514699 4.5348624 1.5166075 0.0017050056 -0.021381685 4.5545391 + 15860 20.229459 1.0293503 23.761863 6.0491986 4.5056877 1.5435108 0.0014837514 -0.020370576 4.5245746 + 15870 20.048297 1.0182501 23.364365 6.0634229 4.5365569 1.526866 0.0013559502 -0.020005103 4.555206 + 15880 20.233794 1.0073761 23.534552 6.0529412 4.5423808 1.5105604 0.0013616414 -0.020135134 4.5611543 + 15890 20.291684 1.0278538 24.13331 6.0682087 4.5269419 1.5412667 0.0014202997 -0.020342638 4.5458643 + 15900 19.960951 1.0044849 23.782529 6.0371814 4.5309563 1.5062251 0.0015258191 -0.020759528 4.55019 + 15910 19.96814 0.99842476 23.498984 6.0284952 4.5313572 1.4971379 0.0016911949 -0.021624874 4.5512909 + 15920 19.877896 1.0160012 23.520221 6.0277525 4.5042586 1.5234938 0.0017749585 -0.022078394 4.524562 + 15930 20.024448 1.0234049 23.402103 6.0388383 4.5042426 1.5345957 0.0017886661 -0.02239097 4.5248449 + 15940 20.261715 0.99581523 23.723675 6.0320453 4.5388203 1.4932249 0.00153766 -0.021507828 4.5587905 + 15950 20.153886 1.014659 23.647009 6.0586919 4.5372107 1.5214812 0.0015714923 -0.021630765 4.55727 + 15960 20.426579 1.0203225 23.765723 6.0658496 4.535876 1.5299736 0.0018249241 -0.02244946 4.5565006 + 15970 20.3653 1.01493 23.837013 6.0706882 4.5488007 1.5218875 0.0019366464 -0.022732441 4.5695965 + 15980 20.362029 1.0212676 23.788509 6.0611523 4.5297615 1.5313908 0.0019414916 -0.022626906 4.5504469 + 15990 20.217369 1.0041561 23.578719 6.0533196 4.5475875 1.5057321 0.0017965156 -0.021841009 4.567632 + 16000 19.725462 1.0381194 24.088478 6.0840585 4.5273985 1.5566601 0.0017746344 -0.021756636 4.5473805 + 16010 20.229161 1.0249298 24.018872 6.0923329 4.5554507 1.5368822 0.002001166 -0.022928159 4.5763777 + 16020 19.94768 1.0455669 23.937036 6.1077905 4.539963 1.5678275 0.0020432584 -0.023157095 4.5610768 + 16030 20.291323 1.0349634 23.60577 6.1046674 4.5527397 1.5519277 0.0020752379 -0.023220554 4.573885 + 16040 20.440754 1.0212211 23.759567 6.0809984 4.5496773 1.5313211 0.0020228653 -0.023011237 4.5706657 + 16050 20.203013 1.0383399 24.094393 6.0794155 4.5224248 1.5569907 0.0019116215 -0.022575139 4.5430883 + 16060 20.369325 1.0195774 23.673679 6.0434609 4.5146046 1.5288564 0.0018249262 -0.021888745 4.5346684 + 16070 20.141503 0.99435602 23.690581 6.0412434 4.5502066 1.4910369 0.0016835536 -0.02141951 4.5699425 + 16080 19.827636 1.006356 23.737779 6.0357162 4.5266854 1.5090308 0.0017583746 -0.021827377 4.5467544 + 16090 20.08588 1.011465 23.545122 6.0196236 4.5029318 1.5166918 0.0017328756 -0.021211981 4.5224109 + 16100 20.295011 1.0073031 23.66191 6.017408 4.5069569 1.510451 0.0017872648 -0.021383976 4.5265537 + 16110 20.631885 0.99735161 23.77791 6.0201775 4.5246487 1.4955287 0.0017949529 -0.021443687 4.5442975 + 16120 20.124564 0.99751541 23.757024 6.0145443 4.5187699 1.4957744 0.0016193809 -0.021070412 4.538221 + 16130 20.2986 1.0083061 23.899415 6.0229981 4.511043 1.5119551 0.0015065768 -0.020771973 4.5303084 + 16140 20.47056 1.0225016 23.876987 6.0619944 4.5287531 1.5332412 0.0017211643 -0.022117109 4.5491491 + 16150 20.41724 1.0190017 23.916527 6.0495366 4.5215435 1.5279931 0.0015820807 -0.021570585 4.541532 + 16160 20.064624 1.0118627 23.591727 6.0693738 4.5520856 1.5172882 0.0015323332 -0.02125848 4.5718118 + 16170 20.036576 1.0226161 23.872673 6.057934 4.5245212 1.5334129 0.0019171776 -0.022891288 4.5454953 + 16180 20.360752 1.0030266 23.763954 6.0424377 4.5383994 1.5040383 0.0019894492 -0.023345737 4.5597557 + 16190 20.063389 1.0102962 23.701565 6.0554692 4.54053 1.5149391 0.0018604251 -0.022741599 4.5614112 + 16200 20.317138 0.99862112 23.455238 6.0220467 4.5246143 1.4974324 0.0018767932 -0.022716624 4.5454541 + 16210 20.402199 1.0015244 23.769043 6.0262734 4.5244876 1.5017858 0.0018825718 -0.022463307 4.5450683 + 16220 20.335533 1.0208483 23.997961 6.0316298 4.5008677 1.530762 0.0019681777 -0.02296121 4.5218608 + 16230 20.312639 1.0111136 23.697445 6.0396987 4.5235338 1.5161649 0.0020622524 -0.023446102 4.5449176 + 16240 20.250141 1.0085549 23.812495 6.0356452 4.5233171 1.5123281 0.0021659385 -0.024058564 4.5452097 + 16250 20.42743 1.0051302 23.534279 6.0469832 4.5397905 1.5071927 0.0020847432 -0.023698865 4.5614046 + 16260 20.398591 1.0027437 23.349857 6.0440745 4.5404604 1.5036141 0.0021338474 -0.023840927 4.5621675 + 16270 20.503968 1.0027703 23.711407 6.0095811 4.5059271 1.503654 0.0020671559 -0.02348801 4.5273479 + 16280 20.316993 0.99463837 23.566332 6.0171855 4.5257253 1.4914602 0.0019560903 -0.02293084 4.5467 + 16290 20.111684 1.0154812 23.613084 6.0507454 4.5280313 1.5227141 0.0018148365 -0.022112212 4.5483287 + 16300 20.174855 1.0000247 23.60987 6.0426257 4.5430887 1.499537 0.0019106913 -0.022387494 4.5635655 + 16310 20.323942 1.0170612 23.633109 6.0456032 4.5205199 1.5250833 0.0018173405 -0.02166345 4.540366 + 16320 20.162949 1.0319672 23.722645 6.0829744 4.5355395 1.5474348 0.0017945214 -0.021359163 4.5551042 + 16330 20.364622 1.0132544 23.874614 6.058134 4.5387591 1.519375 0.0017528033 -0.02080171 4.557808 + 16340 20.211091 1.0106903 23.877707 6.0822983 4.5667682 1.5155301 0.001792538 -0.02089273 4.5858684 + 16350 20.291191 1.0405086 23.854397 6.1129646 4.5527219 1.5602427 0.0018061962 -0.021136646 4.5720524 + 16360 20.30213 1.0569902 23.762638 6.1129322 4.5279753 1.5849568 0.0017544699 -0.021495659 4.5477165 + 16370 20.392083 1.0171222 23.929853 6.0672079 4.5420332 1.5251747 0.0016825675 -0.021203034 4.5615537 + 16380 20.332756 1.0284218 23.804275 6.0486982 4.5065797 1.5421185 0.0016953557 -0.021202917 4.5260873 + 16390 20.140982 1.031676 23.54811 6.0644766 4.5174784 1.5469981 0.001622118 -0.020666016 4.5365223 + 16400 20.216163 1.0086311 23.400316 6.051394 4.5389517 1.5124424 0.0016519583 -0.020812712 4.5581124 + 16410 20.103032 0.99806946 23.628754 6.0509007 4.5542955 1.4966052 0.0015068024 -0.019876378 4.5726651 + 16420 20.199162 0.98838328 23.613616 6.0388964 4.5568156 1.4820807 0.0014811509 -0.019696329 4.5750308 + 16430 20.127043 1.0001095 23.725973 6.0272211 4.527557 1.4996641 0.0015141522 -0.020263147 4.546306 + 16440 20.385968 1.0090362 23.984519 6.0588859 4.5458361 1.5130498 0.0016295723 -0.020828666 4.5650352 + 16450 19.826661 1.0106394 23.729207 6.0430649 4.5276112 1.5154537 0.0015112633 -0.020393899 4.5464938 + 16460 19.78603 0.98537876 23.785168 6.0114235 4.5338481 1.4775754 0.0013119353 -0.018897341 4.5514335 + 16470 20.558191 0.98890247 23.785979 6.0175903 4.5347311 1.4828593 0.0014408102 -0.019619117 4.5529094 + 16480 20.371459 0.98934171 23.649028 6.0118463 4.5283284 1.4835179 0.0016778284 -0.020580627 4.5472312 + 16490 20.184848 1.001988 23.737823 6.0052556 4.5027746 1.502481 0.0018435748 -0.021146172 4.5220772 + 16500 20.269323 1.0069335 23.725948 6.0233173 4.5134205 1.5098968 0.0018033035 -0.020842905 4.5324601 + 16510 20.371016 0.99475438 23.69472 6.0375679 4.5459337 1.4916342 0.0017831385 -0.020638375 4.5647889 + 16520 20.177662 1.0090861 23.579136 6.0207581 4.5076335 1.5131246 0.0016463905 -0.020555298 4.5265424 + 16530 20.346211 0.98705765 23.653645 6.0071166 4.5270236 1.4800929 0.0019291229 -0.021999392 4.5470939 + 16540 20.380189 0.99038678 23.902308 6.0155201 4.5304352 1.485085 0.0020625401 -0.023144239 4.5515169 + 16550 20.162614 1.0049992 23.690076 6.0107738 4.5037775 1.5069963 0.0022854009 -0.024044353 4.5255364 + 16560 20.219028 0.99372109 23.858618 6.020629 4.5305442 1.4900848 0.002326814 -0.024661026 4.5528784 + 16570 20.005535 1.0029057 23.766268 6.0312826 4.5274256 1.5038571 0.0020947919 -0.023805632 4.5491364 + 16580 19.956803 0.9931175 23.532722 6.0341028 4.5449231 1.4891797 0.0020436398 -0.023329524 4.566209 + 16590 20.222464 1.017994 23.66108 6.0400399 4.5135579 1.526482 0.001989121 -0.022980243 4.5345491 + 16600 20.061326 1.0037343 23.87336 6.0402939 4.5351942 1.5050997 0.0019159057 -0.022850197 4.5561285 + 16610 20.391202 1.0062648 23.669012 6.0562172 4.5473231 1.508894 0.0017079673 -0.021730139 4.5673453 + 16620 20.401913 1.0319111 23.822952 6.085383 4.5380323 1.5473508 0.0016866889 -0.021402928 4.5577485 + 16630 20.063947 1.0223621 23.877951 6.0633073 4.5302753 1.533032 0.0017435596 -0.021717473 4.5502492 + 16640 20.183341 1.0156471 23.877535 6.0752239 4.552261 1.5229628 0.0016404668 -0.021646798 4.5722674 + 16650 20.071173 1.0230155 23.635638 6.0759511 4.5419393 1.5340118 0.0015955788 -0.021486251 4.56183 + 16660 20.216495 1.0361806 23.701486 6.1025405 4.5487877 1.5537528 0.0017081667 -0.021947186 4.5690267 + 16670 20.135433 1.0230232 23.729309 6.0722633 4.5382401 1.5340232 0.0018058668 -0.022547758 4.558982 + 16680 20.122238 1.0096563 23.663978 6.0509862 4.5370065 1.5139796 0.0018974514 -0.023048733 4.5581578 + 16690 20.166666 1.0151795 23.843312 6.0576319 4.5353702 1.5222617 0.0020425623 -0.023835368 4.557163 + 16700 20.050513 1.0387369 23.759565 6.0715062 4.5139202 1.557586 0.0020181414 -0.023293273 4.5351954 + 16710 20.092098 1.0057161 23.579887 6.0519136 4.5438422 1.5080714 0.0018907655 -0.022445432 4.5643969 + 16720 20.170722 1.0050866 23.697134 6.0279928 4.5208654 1.5071274 0.0020237672 -0.022665853 4.5415075 + 16730 20.297028 0.98464541 23.579689 6.0139077 4.5374319 1.4764758 0.0018638025 -0.022157911 4.557726 + 16740 20.441124 0.99742666 23.647484 6.0293394 4.5336981 1.4956413 0.0017632622 -0.021792136 4.553727 + 16750 20.201829 1.0012951 23.404146 6.0218995 4.5204574 1.5014421 0.0017318909 -0.021721124 4.5404467 + 16760 20.217867 1.011123 23.732473 6.0360288 4.5198499 1.5161789 0.0018640374 -0.022481316 4.5404672 + 16770 20.225253 0.99979886 23.60054 6.0151796 4.5159813 1.4991984 0.0018240066 -0.021920846 4.5360781 + 16780 20.165993 0.99648062 23.583388 6.0189228 4.5247001 1.4942227 0.0016995359 -0.021145065 4.5441456 + 16790 20.309164 1.0071407 23.610173 6.0369979 4.5267903 1.5102075 0.0017845543 -0.021455742 4.5464615 + 16800 20.198518 0.98821003 23.901223 6.0238487 4.5420278 1.4818209 0.0015350358 -0.020451382 4.5609441 + 16810 19.855754 0.99535074 23.59434 6.0122517 4.5197233 1.4925284 0.0014973492 -0.020577765 4.5388037 + 16820 20.265465 0.99314641 23.582032 6.0177637 4.5285406 1.489223 0.0015832961 -0.021350409 4.5483077 + 16830 20.124756 1.0276887 23.743043 6.0709321 4.5299128 1.5410193 0.0016407316 -0.021145731 4.5494178 + 16840 20.089507 0.998585 23.685026 6.0598043 4.5624261 1.4973782 0.0016388924 -0.020998361 4.5817855 + 16850 20.15829 1.0167302 23.36113 6.0627317 4.5381448 1.5245869 0.001526261 -0.020440973 4.5570595 + 16860 20.116272 1.0201162 23.943771 6.0643529 4.5346887 1.5296642 0.0014962654 -0.020483457 4.5536759 + 16870 20.220116 1.0287026 23.726381 6.0928792 4.5503396 1.5425396 0.001474732 -0.020564235 4.5694291 + 16880 20.175529 1.0139303 23.756982 6.0535366 4.5331481 1.5203885 0.0014722377 -0.020642923 4.5523188 + 16890 20.263455 1.0294806 23.492541 6.0738503 4.5301442 1.5437061 0.0012674801 -0.019862669 4.5487394 + 16900 20.359122 1.0267689 23.47732 6.0879513 4.5483113 1.53964 0.0013978253 -0.020362862 4.5672764 + 16910 19.994457 1.0284877 23.645746 6.1044513 4.562234 1.5422173 0.001586998 -0.02121292 4.5818599 + 16920 20.12003 1.0087655 23.562172 6.0881744 4.5755306 1.5126439 0.0019114598 -0.022240944 4.59586 + 16930 20.393978 1.0267134 23.505106 6.0794741 4.5399174 1.5395567 0.0019225945 -0.022577075 4.5605719 + 16940 20.243764 1.0344262 23.54892 6.0964175 4.5452953 1.5511221 0.0019489127 -0.02308431 4.5664307 + 16950 20.148224 1.0251311 23.699938 6.0739311 4.536747 1.5371841 0.0019610254 -0.02292712 4.5577131 + 16960 20.012084 1.0449623 23.975788 6.0896287 4.5227077 1.566921 0.001782828 -0.021964251 4.5428891 + 16970 20.165445 1.0341755 24.09059 6.1075209 4.5567747 1.5507461 0.0015536095 -0.020804798 4.5760259 + 16980 20.008885 1.0379242 23.845778 6.0970119 4.5406446 1.5563673 0.0016938079 -0.02102655 4.5599773 + 16990 20.238247 1.0393295 23.871239 6.1185478 4.5600732 1.5584746 0.0016239523 -0.019841281 4.5782906 + 17000 20.424351 1.0286467 23.97387 6.090861 4.5484053 1.5424557 0.0015266536 -0.018979659 4.5658583 + 17010 20.288364 1.049118 23.759931 6.1065582 4.5334058 1.5731524 0.0016770201 -0.019805852 4.5515346 + 17020 20.306871 1.0250025 23.603845 6.1004384 4.5634471 1.5369913 0.0016732383 -0.02009016 4.581864 + 17030 20.187116 1.0432236 23.899358 6.0924018 4.5280881 1.5643137 0.0014640814 -0.019626042 4.5462501 + 17040 20.143604 1.0048081 23.853787 6.0351231 4.5284134 1.5067098 0.001642006 -0.020783144 4.5475545 + 17050 20.65798 1.0226237 23.753985 6.0504939 4.5170697 1.5334243 0.0017921915 -0.021386864 4.5366643 + 17060 20.216496 1.0074733 23.789952 6.0815671 4.5708609 1.5107062 0.0017902793 -0.021167966 4.5902386 + 17070 20.362044 1.0142307 24.038247 6.0637645 4.5429256 1.5208389 0.001679679 -0.02082329 4.5620692 + 17080 19.911333 1.0225366 23.804348 6.070701 4.5374073 1.5332937 0.0015327125 -0.020726919 4.5566015 + 17090 20.201956 1.0277 24.06584 6.0664352 4.5253991 1.5410361 0.0016621494 -0.021554124 4.5452911 + 17100 20.322479 1.0091364 23.605675 6.0411605 4.5279605 1.5132 0.0017921313 -0.022345451 4.5485139 + 17110 20.313671 1.0017413 23.599283 6.033453 4.531342 1.502111 0.0018173237 -0.022685796 4.5522105 + 17120 20.055214 1.0068048 23.855988 6.0672128 4.557509 1.5097038 0.002031198 -0.023571295 4.579049 + 17130 20.506408 1.0095947 23.597503 6.042982 4.5290948 1.5138872 0.0019727099 -0.023377598 4.5504996 + 17140 20.318244 1.0123224 23.917755 6.0649194 4.546942 1.5179775 0.0020830358 -0.023632389 4.5684913 + 17150 20.083662 1.0230746 23.889256 6.0664819 4.5323815 1.5341004 0.0021354682 -0.024292967 4.554539 + 17160 20.148325 1.0013806 23.767346 6.0718887 4.5703185 1.5015702 0.002043971 -0.02402282 4.5922974 + 17170 20.520758 1.0243803 24.032427 6.0787473 4.5426891 1.5360582 0.0020477522 -0.024081272 4.5647226 + 17180 20.488283 1.0356676 23.876224 6.0884718 4.5354882 1.5529836 0.0020290813 -0.02406941 4.5575285 + 17190 20.549344 1.0130275 23.603266 6.0723484 4.5533137 1.5190347 0.0019145949 -0.023307272 4.5747064 + 17200 20.417182 1.0278531 24.098181 6.0961068 4.554841 1.5412658 0.0017057883 -0.022253868 4.5753891 + 17210 20.400637 1.0358415 23.801765 6.07092 4.5176756 1.5532443 0.0015982578 -0.021701764 4.5377792 + 17220 20.105129 1.0155825 23.188736 6.0672267 4.5443607 1.522866 0.0015647215 -0.021392866 4.5641888 + 17230 20.332274 1.0159685 23.730306 6.0469142 4.5234695 1.5234448 0.001665296 -0.021340149 4.5431443 + 17240 20.348322 0.99523592 23.580276 6.0301765 4.5378202 1.4923563 0.0018116211 -0.022205741 4.5582143 + 17250 19.817014 0.99644395 23.881495 6.0327612 4.5385935 1.4941677 0.0019227005 -0.022600679 4.5592714 + 17260 20.199943 1.0023264 23.704932 6.034623 4.5316345 1.5029885 0.0019331459 -0.022645482 4.5523469 + 17270 20.361675 1.0055991 23.718916 6.0374811 4.5295852 1.5078958 0.0017656389 -0.022028768 4.5498484 + 17280 20.182078 0.99359906 23.538329 6.030135 4.5402332 1.4899018 0.0015827447 -0.021495342 4.5601458 + 17290 20.48693 0.99903021 23.665574 6.0207039 4.5226581 1.4980458 0.001593612 -0.021468852 4.5425333 + 17300 20.571849 1.0117044 23.853289 6.046335 4.5292843 1.5170507 0.001598522 -0.020965697 4.5486515 + 17310 20.533123 1.002527 23.511686 6.0473621 4.5440728 1.5032892 0.0017069016 -0.021507084 4.563873 + 17320 20.26702 1.0156791 23.689593 6.0470895 4.5240787 1.5230108 0.001829763 -0.022454314 4.5447032 + 17330 20.333756 1.0138919 23.687531 6.0599267 4.5395958 1.5203309 0.001791565 -0.022223047 4.5600273 + 17340 19.636881 0.99579807 23.781792 6.0584407 4.5652415 1.4931992 0.0017660237 -0.021671973 4.5851474 + 17350 19.858667 1.0181745 23.644255 6.0517143 4.5249616 1.5267527 0.0015942361 -0.020396806 4.5437642 + 17360 20.087582 1.0199606 23.865183 6.0598784 4.5304475 1.5294309 0.0015037109 -0.020375994 4.5493198 + 17370 20.428664 1.0236967 23.679045 6.0274378 4.4924045 1.5350333 0.0016089004 -0.021097715 4.5118934 + 17380 20.273136 1.0116019 23.77549 6.0518063 4.5349093 1.516897 0.0016052794 -0.021514882 4.5548189 + 17390 20.303525 1.0122872 23.905437 6.0538117 4.5358871 1.5179246 0.0017114813 -0.021867156 4.5560428 + 17400 20.09579 1.0243884 23.855262 6.0589351 4.5228647 1.5360705 0.0018033676 -0.022056445 4.5431178 + 17410 20.158469 0.99893151 23.803774 6.0284663 4.5305685 1.4978978 0.0018077366 -0.022046587 4.5508074 + 17420 20.027398 0.99898209 23.874146 6.029673 4.5316994 1.4979737 0.0020109165 -0.022909221 4.5525977 + 17430 20.255685 0.99556633 23.750465 6.0150093 4.5221576 1.4928517 0.0021065814 -0.023530285 4.5435813 + 17440 20.300899 0.98996158 23.660161 6.0146641 4.5302167 1.4844474 0.0020754214 -0.02385642 4.5519977 + 17450 20.081657 0.98616401 23.794106 6.0191069 4.540354 1.4787529 0.0019660489 -0.023663176 4.5620511 + 17460 20.150348 0.99513531 23.74268 6.0320016 4.5397962 1.4922054 0.0019998236 -0.023870636 4.561667 + 17470 20.32972 0.99606904 23.800338 6.0336336 4.5400281 1.4936055 0.0021616959 -0.024472347 4.5623388 + 17480 20.292489 0.99021817 23.585346 6.0254021 4.54057 1.4848321 0.0023347212 -0.025108224 4.5633435 + 17490 20.36286 1.0055301 23.578046 6.0261269 4.5183346 1.5077924 0.0021101528 -0.024136614 4.540361 + 17500 20.34036 0.99234284 23.70008 6.0146689 4.5266509 1.4880181 0.0019635656 -0.023292416 4.5479797 + 17510 20.488695 0.99485783 23.978094 6.0078607 4.5160714 1.4917893 0.0020467765 -0.023631784 4.5376564 + 17520 20.214264 0.98241695 23.607687 6.0385331 4.5653989 1.4731342 0.0021095033 -0.023700473 4.5869898 + 17530 20.075408 0.99962016 23.548357 6.0195798 4.5206493 1.4989304 0.0020339738 -0.023454735 4.5420701 + 17540 20.375799 0.98521301 23.516586 6.0022559 4.524929 1.4773269 0.0018200022 -0.02258372 4.5456927 + 17550 20.35679 0.99951883 23.441449 6.0238821 4.5251036 1.4987785 0.0017520587 -0.022738398 4.54609 + 17560 20.190281 1.0026993 23.829925 6.0284138 4.5248662 1.5035476 0.0019875691 -0.023617464 4.5464961 + 17570 20.011664 0.98199653 23.948072 5.9984668 4.525963 1.4725038 0.0020267684 -0.023775581 4.5477118 + 17580 20.499449 1.0071553 23.768245 6.0072139 4.4969844 1.5102294 0.0019771975 -0.023657065 4.5186643 + 17590 20.200803 0.98772047 23.653793 6.0186213 4.5375344 1.4810868 0.0020122039 -0.023886524 4.5594088 + 17600 20.289475 1.0037996 23.911053 6.0066614 4.501464 1.5051975 0.0019866879 -0.023792701 4.52327 + 17610 20.406245 1.0044492 24.091044 6.0100663 4.5038947 1.5061715 0.0018568686 -0.023404847 4.5254427 + 17620 20.327595 0.99550971 23.646318 6.0202139 4.5274471 1.4927668 0.0020158654 -0.024159616 4.5495909 + 17630 20.307078 0.99720196 23.744347 6.0140578 4.5187535 1.4953043 0.0018633642 -0.022938881 4.539829 + 17640 19.999223 0.99874143 23.658574 6.043238 4.5456252 1.4976128 0.0015248955 -0.021183926 4.5652843 + 17650 20.215041 1.0191448 23.863075 6.0667876 4.53858 1.5282076 0.0013204412 -0.019594126 4.5568537 + 17660 20.163895 1.0188418 23.586584 6.0585355 4.5307821 1.5277533 0.0013179203 -0.019484979 4.5489492 + 17670 20.11399 1.0199653 23.672068 6.051245 4.5218071 1.5294379 0.0015075542 -0.020110894 4.5404104 + 17680 19.927472 0.99746006 23.792633 6.0551466 4.5594553 1.4956914 0.0015950148 -0.020650476 4.5785107 + 17690 20.401776 0.99219792 23.642624 6.033264 4.5454632 1.4878008 0.0016847485 -0.021378486 4.5651569 + 17700 20.40442 0.99975769 23.874888 6.0346815 4.5355448 1.4991367 0.001877031 -0.0220328 4.5557006 + 17710 20.243078 1.0052649 23.878688 6.0396813 4.5322867 1.5073946 0.0019354401 -0.022261564 4.5526128 + 17720 20.102733 1.0240982 23.834497 6.045307 4.5096717 1.5356353 0.0019273269 -0.021967156 4.5297115 + 17730 20.122183 1.0241051 23.513035 6.0518059 4.5161602 1.5356457 0.0018476412 -0.021416437 4.535729 + 17740 20.301091 1.002942 23.814648 6.0463478 4.5424363 1.5039116 0.0017358089 -0.021264206 4.5619647 + 17750 20.150075 1.0129385 23.464059 6.034583 4.5156817 1.5189013 0.0017594957 -0.021392035 4.5353142 + 17760 20.301707 1.0214295 23.886981 6.0763021 4.5446686 1.5316335 0.0018884308 -0.022001265 4.5647814 + 17770 20.467895 1.0297503 23.592806 6.0748135 4.5307029 1.5441106 0.0018309658 -0.021668109 4.55054 + 17780 20.201012 1.0257456 24.00053 6.0771298 4.5390243 1.5381056 0.0018491608 -0.022348024 4.5595231 + 17790 20.36776 1.011403 23.914094 6.0652697 4.5486709 1.5165988 0.0019825192 -0.022845069 4.5695335 + 17800 20.229495 1.0310499 23.948732 6.0626693 4.51661 1.5460594 0.0018604097 -0.022473505 4.5372231 + 17810 19.706944 1.0015299 24.019498 6.0422471 4.540453 1.5017941 0.0019979294 -0.022987602 4.5614427 + 17820 19.929657 1.0254856 23.685498 6.0637227 4.526007 1.5377157 0.0019853076 -0.022485965 4.5465077 + 17830 19.918409 1.0054872 23.622998 6.0469843 4.5392562 1.5077281 0.0018105793 -0.021791411 4.559237 + 17840 20.146675 1.0080536 23.841068 6.0303527 4.5187764 1.5115763 0.0018073912 -0.021683617 4.5386526 + 17850 20.211727 1.0025124 23.781371 6.0284526 4.5251853 1.5032673 0.0017543642 -0.021693554 4.5451245 + 17860 20.203553 0.99308002 23.807595 6.0189268 4.5298033 1.4891235 0.0018238288 -0.021665947 4.5496454 + 17870 20.278195 1.0115084 23.797972 6.0536936 4.5369368 1.5167568 0.0019919964 -0.022396028 4.5573408 + 17880 20.083069 0.99178888 23.591395 6.0153782 4.5281907 1.4871874 0.0020172707 -0.022931451 4.5491049 + 17890 20.092142 1.0066356 23.71419 6.0281495 4.5186995 1.5094501 0.0019722527 -0.022864251 4.5395915 + 17900 20.215166 1.0023274 23.769437 6.0284475 4.5254576 1.5029899 0.0018410843 -0.022624401 4.5462409 + 17910 20.461374 1.007288 23.589976 6.0270062 4.5165779 1.5104283 0.0018343095 -0.02263938 4.5373829 + 17920 20.468938 1.0093652 23.755694 6.0393126 4.5257695 1.5135431 0.0016706017 -0.021603067 4.545702 + 17930 20.276684 1.0014171 23.561698 6.0431213 4.5414963 1.501625 0.0016163844 -0.021481655 4.5613616 + 17940 20.126476 1.0052224 23.72013 6.0318549 4.5245239 1.507331 0.0015676148 -0.021315209 4.5442715 + 17950 20.269241 0.99122078 23.618767 6.0399949 4.5536594 1.4863356 0.0014845648 -0.02106343 4.5732382 + 17960 20.151602 1.0226127 23.620702 6.0492442 4.5158365 1.5334077 0.0014190181 -0.020761613 4.5351791 + 17970 20.147788 0.99652696 23.887395 6.0353279 4.5410357 1.4942922 0.0014077955 -0.020820915 4.5604488 + 17980 20.239878 1.0214905 23.754916 6.0586823 4.5269572 1.531725 0.0013810517 -0.020839375 4.5464156 + 17990 20.327531 1.0188576 23.695287 6.0496498 4.5218728 1.527777 0.0015084743 -0.021180443 4.5415448 + 18000 20.065922 1.010664 23.603665 6.0460515 4.5305609 1.5154906 0.001630391 -0.02151306 4.5504436 + 18010 20.271132 1.0096863 23.818622 6.0451133 4.5310887 1.5140246 0.0015775122 -0.020816291 4.5503275 + 18020 20.390699 1.0169258 23.791426 6.0672126 4.5423323 1.5248803 0.0015391109 -0.020725961 4.5615192 + 18030 20.502958 1.0155852 23.582955 6.0528006 4.5299306 1.52287 0.0014678724 -0.0204054 4.5488682 + 18040 20.402482 1.0259624 23.657012 6.0777448 4.5393143 1.5384306 0.0015297113 -0.020561941 4.5583465 + 18050 20.166586 1.0260622 23.825264 6.0828223 4.5442421 1.5385802 0.0016343188 -0.021538624 4.5641464 + 18060 20.130449 1.0031756 23.672978 6.047617 4.5433552 1.5042617 0.00154836 -0.021220013 4.5630269 + 18070 20.164173 0.98042603 23.55293 6.0246237 4.5544749 1.4701488 0.0015499185 -0.021242674 4.5741676 + 18080 20.229557 0.99742232 23.66768 6.0133693 4.5177345 1.4956348 0.0017307235 -0.021940366 4.5379441 + 18090 20.289907 0.97179144 23.519324 5.9886914 4.5314901 1.4572013 0.002018953 -0.023394026 4.5528652 + 18100 20.344499 0.98656677 23.631259 6.0193576 4.5400008 1.4793569 0.0019053201 -0.023146206 4.5612417 + 18110 20.412821 0.99119377 23.519016 6.018682 4.5323869 1.4862951 0.0018509894 -0.022919725 4.5534557 + 18120 20.320932 0.99432839 23.419105 6.0058704 4.514875 1.4909954 0.0018340961 -0.022917673 4.5359586 + 18130 20.38304 0.99967913 23.605924 6.0277089 4.52869 1.4990189 0.0017556866 -0.022706017 4.5496403 + 18140 19.773209 0.98675344 23.532618 6.0320914 4.5524546 1.4796368 0.0018274227 -0.023482195 4.5741094 + 18150 19.792301 0.99390722 23.339395 6.0143584 4.5239945 1.4903639 0.0017888188 -0.023183415 4.5453891 + 18160 20.241275 1.0024623 23.634853 6.0219034 4.5187112 1.5031922 0.0018603276 -0.023380944 4.5402318 + 18170 19.874499 0.98867478 23.62359 6.013815 4.5312972 1.4825178 0.001903632 -0.023235584 4.5526291 + 18180 20.013821 0.98137029 23.733059 6.0104163 4.5388515 1.4715648 0.0019421386 -0.023180512 4.5600899 + 18190 20.128727 1.006363 23.657504 6.0291217 4.5200804 1.5090413 0.0019248078 -0.02329218 4.5414478 + 18200 20.204451 0.97681951 23.515048 6.0129289 4.548188 1.4647409 0.0019322096 -0.023041986 4.5692978 + 18210 20.128036 0.99381104 23.64462 6.0374269 4.5472072 1.4902197 0.0018466701 -0.022615703 4.5679763 + 18220 20.075254 0.99613712 23.69135 6.0205669 4.5268593 1.4937076 0.0017738392 -0.022421381 4.5475068 + 18230 20.087384 0.99114021 23.745278 6.0176723 4.5314576 1.4862147 0.0017019641 -0.021801371 4.551557 + 18240 20.106957 0.975931 23.701715 6.0243069 4.5608984 1.4634085 0.001432442 -0.020978023 4.580444 + 18250 20.271973 0.9940492 23.832632 6.0170944 4.5265177 1.4905768 0.0013535485 -0.020361795 4.5455259 + 18260 20.211259 0.97871023 23.680474 5.9886918 4.5211158 1.467576 0.0015002394 -0.020852221 4.5404677 + 18270 20.19078 0.97985478 23.556509 5.991246 4.5219537 1.4692922 0.0016940566 -0.022325612 4.5425853 + 18280 20.047218 0.99327837 23.662778 6.0313047 4.5418838 1.4894209 0.0017327538 -0.022740499 4.5628915 + 18290 20.231716 0.99494388 23.653218 6.0259985 4.5340801 1.4919184 0.0018697896 -0.023360055 4.5555704 + 18300 19.945224 0.99443528 23.79237 6.0170538 4.5258981 1.4911557 0.0018552639 -0.023383594 4.5474265 + 18310 19.982395 1.0149666 23.760981 6.0521123 4.53017 1.5219424 0.0017654576 -0.022747742 4.5511522 + 18320 20.152406 1.0388477 23.767245 6.0926684 4.5349163 1.5577521 0.0016968831 -0.021950326 4.5551697 + 18330 20.322339 1.03332 23.264976 6.0757618 4.5262984 1.5494634 0.0015245913 -0.021358648 4.5461325 + 18340 20.377755 1.0202435 23.765347 6.0786053 4.5487502 1.5298551 0.0016311014 -0.021655474 4.5687746 + 18350 20.084699 1.0140517 23.584082 6.0809621 4.5603915 1.5205706 0.0016336418 -0.021354059 4.5801119 + 18360 19.930488 1.0090665 23.683794 6.0372255 4.5241303 1.5130952 0.0016323419 -0.020900048 4.543398 + 18370 20.122973 1.0158219 23.962444 6.0454449 4.52222 1.5232249 0.0015996129 -0.02079527 4.5414157 + 18380 20.521984 1.0035563 23.595573 6.044135 4.5393023 1.5048327 0.0015053461 -0.020483564 4.5582805 + 18390 20.16785 1.0139667 23.825434 6.0333669 4.5129238 1.5204431 0.001817292 -0.021758213 4.5328647 + 18400 20.025689 1.0092865 23.785955 6.0499447 4.5365197 1.513425 0.0020011191 -0.022507804 4.5570264 + 18410 20.063483 1.0008277 23.862667 6.0467974 4.5460562 1.5007412 0.0020789575 -0.022871659 4.5668489 + 18420 20.296008 0.99026182 23.666648 6.0342484 4.5493508 1.4848976 0.0019402973 -0.022596882 4.5700073 + 18430 20.105652 0.97893865 23.839583 6.0076869 4.5397684 1.4679185 0.0018576029 -0.022039702 4.5599505 + 18440 20.158677 1.0081074 23.925624 6.0359518 4.5242947 1.5116571 0.0018168233 -0.021768405 4.5442463 + 18450 20.260901 0.98576608 23.814839 6.0353392 4.5571829 1.4781562 0.0016671201 -0.021479084 4.5769949 + 18460 20.233418 1.0156626 23.489983 6.0238961 4.50091 1.5229861 0.0016484877 -0.021137638 4.5203992 + 18470 20.280501 0.99692627 23.338412 6.0316588 4.5367678 1.4948909 0.001711773 -0.021535566 4.5565916 + 18480 20.242191 0.999128 23.640161 6.036193 4.5380006 1.4981924 0.0018211576 -0.022068906 4.5582483 + 18490 20.247144 1.0095713 23.829499 6.0370078 4.5231556 1.5138521 0.0017675087 -0.022330503 4.5437186 + 18500 20.284638 0.99320803 23.57555 6.0194656 4.5301502 1.4893154 0.0018129025 -0.022422929 4.5507602 + 18510 20.188429 1.0152172 23.392484 6.0479148 4.5255966 1.5223182 0.0020019535 -0.022935476 4.5465301 + 18520 20.352643 0.99773762 23.671573 6.0291102 4.5330027 1.4961076 0.0019218264 -0.022326273 4.5534071 + 18530 20.063249 1.0053403 23.57436 6.0619193 4.5544115 1.5075078 0.0016624482 -0.021138805 4.5738878 + 18540 20.231982 1.0184339 23.721145 6.0555181 4.5283765 1.5271416 0.0015460776 -0.020219896 4.5470503 + 18550 20.248894 0.99582516 23.498132 6.0056264 4.5123866 1.4932398 0.001616954 -0.0201683 4.5309379 + 18560 20.264167 1.0213475 23.976136 6.0409095 4.5093989 1.5315106 0.0017317461 -0.020900986 4.5285681 + 18570 20.491336 1.0138179 23.634911 6.0488027 4.5285827 1.52022 0.0017929734 -0.021671909 4.5484617 + 18580 20.351618 1.0204824 23.701644 6.0641289 4.5339155 1.5302134 0.0017950338 -0.021857454 4.5539779 + 18590 20.063485 1.0185334 23.794409 6.0695501 4.5422592 1.5272909 0.0018500015 -0.022161352 4.5625705 + 18600 20.032485 1.0235738 23.873597 6.0885899 4.5537411 1.5348489 0.0019989532 -0.022822439 4.5745645 + 18610 19.893104 1.034546 23.8899 6.0766487 4.5253471 1.5513017 0.0018299804 -0.022098162 4.5456152 + 18620 20.061911 1.0337009 23.843745 6.0940853 4.5440508 1.5500345 0.0016599586 -0.020933664 4.5633245 + 18630 20.113244 1.0133442 23.637056 6.0590646 4.539555 1.5195096 0.0015883985 -0.020472177 4.5584388 + 18640 20.044375 1.0399767 23.747887 6.0846853 4.5252402 1.5594451 0.0015760687 -0.020501811 4.5441659 + 18650 20.226842 1.0290091 23.897919 6.0791367 4.5361375 1.5429992 0.0016983089 -0.021256947 4.5556961 + 18660 20.190774 1.0211006 23.574516 6.0732072 4.5420669 1.5311403 0.0019224332 -0.02243727 4.5625817 + 18670 20.072381 1.01579 23.619905 6.0373354 4.5141584 1.523177 0.0019681505 -0.022999104 4.5351893 + 18680 20.206638 1.0106675 23.794334 6.0452203 4.5297245 1.5154958 0.0018445078 -0.021963927 4.5498439 + 18690 20.223339 0.99588125 23.882535 6.01828 4.5249561 1.4933239 0.0017909716 -0.021948301 4.5451134 + 18700 20.162215 0.98966541 23.653351 6.0081979 4.5241946 1.4840033 0.0017399475 -0.022319349 4.544774 + 18710 20.411418 0.9986464 23.6904 6.0307609 4.5332906 1.4974703 0.001718106 -0.022305869 4.5538784 + 18720 20.351732 1.0151738 23.748683 6.0500857 4.5278326 1.5222531 0.0018384192 -0.022877377 4.5488716 + 18730 20.223946 1.0289398 23.893121 6.0704168 4.5275216 1.5428952 0.0019745605 -0.023508918 4.549056 + 18740 20.275387 1.021191 23.803789 6.0592209 4.5279449 1.531276 0.0020710016 -0.023866348 4.5497403 + 18750 20.325906 1.0191876 23.782244 6.0468601 4.5185883 1.5282718 0.0020785692 -0.024278145 4.5407879 + 18760 20.202004 1.0045469 23.559593 6.0420588 4.5357408 1.506318 0.0020980243 -0.024532092 4.5581748 + 18770 20.212682 1.0079935 23.618439 6.0505656 4.5390794 1.5114863 0.0022350165 -0.025051744 4.5618961 + 18780 19.755232 0.99995004 23.830803 6.0444916 4.5450665 1.4994251 0.0022219356 -0.024978099 4.5678227 + 18790 20.256796 1.0173419 23.878295 6.0420877 4.5165835 1.5255042 0.0020627407 -0.024010581 4.5385314 + 18800 19.951342 0.9978489 23.784547 6.0322165 4.5359421 1.4962744 0.0019926739 -0.023355689 4.5573051 + 18810 19.760177 1.0061805 23.452086 6.0526056 4.5438379 1.5087677 0.0018795014 -0.022879467 4.5648378 + 18820 19.612265 1.0113981 23.363188 6.0479334 4.5313419 1.5165915 0.001638759 -0.021788949 4.551492 + 18830 20.168371 1.0100221 23.703029 6.0599809 4.5454528 1.5145281 0.0015317917 -0.021370724 4.5652918 + 18840 20.146212 1.0238526 23.826168 6.0646357 4.5293688 1.535267 0.0014745767 -0.021083335 4.5489775 + 18850 20.195081 1.0061289 23.863314 6.038169 4.5294787 1.5086903 0.0014059876 -0.020890712 4.5489635 + 18860 20.367428 1.0234765 23.690744 6.060602 4.525899 1.534703 0.0017219089 -0.022180676 4.5463578 + 18870 19.980521 1.0118896 23.659193 6.0668106 4.5494822 1.5173284 0.001702425 -0.022031193 4.569811 + 18880 19.904075 1.0009288 23.829494 6.0395238 4.5386311 1.5008927 0.0015249225 -0.021014584 4.5581208 + 18890 20.471933 1.0174806 23.617876 6.0524798 4.5267676 1.5257122 0.0015820138 -0.020568807 4.5457544 + 18900 20.235798 0.99652802 23.593151 6.0289335 4.5346398 1.4942938 0.0015913592 -0.020689101 4.5537375 + 18910 20.271185 1.0056146 24.044873 6.0344232 4.5265041 1.5079191 0.0014827475 -0.020359225 4.5453806 + 18920 20.120722 1.0035435 23.781115 6.0427748 4.5379613 1.5048135 0.0016871695 -0.021519038 4.5577932 + 18930 20.130456 1.0132187 23.850139 6.0693565 4.5500351 1.5193214 0.001888139 -0.022608836 4.5707558 + 18940 20.027998 1.0205568 23.673463 6.059173 4.5288481 1.5303249 0.0018229579 -0.022589371 4.5496145 + 18950 20.163375 1.0167124 23.67677 6.0547987 4.5302385 1.5245602 0.0018872878 -0.02278966 4.5511409 + 18960 20.316087 1.0186827 23.715113 6.0757817 4.548267 1.5275148 0.0016697068 -0.021864617 4.5684619 + 18970 20.431398 1.0083707 23.580323 6.057817 4.545765 1.5120519 0.0018457492 -0.022826271 4.5667455 + 18980 19.849926 1.0194154 23.678109 6.0676304 4.539017 1.5286133 0.001754484 -0.022630578 4.5598931 + 18990 20.169028 1.0379106 23.755569 6.0934043 4.5370574 1.5563469 0.0016117381 -0.02233759 4.5577832 + 19000 19.890755 1.0409521 23.712285 6.0962016 4.535294 1.5609076 0.0018096972 -0.023268172 4.5567524 + 19010 20.136923 1.0259929 23.830921 6.0853988 4.5469224 1.5384764 0.0019496044 -0.02374132 4.5687141 + 19020 20.554234 1.0092973 23.37146 6.0410218 4.5275805 1.5134413 0.002010164 -0.023706221 4.5492765 + 19030 20.35144 1.018738 23.466661 6.0565443 4.5289467 1.5275976 0.0019053481 -0.023371554 4.5504129 + 19040 20.162524 1.0190909 23.678239 6.0571639 4.5290372 1.5281268 0.0017276089 -0.022394227 4.5497038 + 19050 20.428312 1.0181615 23.941912 6.0552636 4.5285305 1.5267331 0.0016745209 -0.022333143 4.5491891 + 19060 20.326699 1.0153301 23.680073 6.0577293 4.5352418 1.5224875 0.0017015507 -0.022439665 4.5559799 + 19070 20.373918 1.012219 23.773303 6.0754123 4.55759 1.5178223 0.0016600311 -0.022197674 4.5781276 + 19080 20.198716 1.0210228 23.863585 6.0595756 4.5285519 1.5310238 0.0017527577 -0.022623654 4.5494228 + 19090 20.218099 1.0093731 23.903711 6.0506355 4.5370805 1.513555 0.0016576378 -0.021946718 4.5573696 + 19100 19.997019 1.0216043 23.670864 6.0706386 4.538743 1.5318956 0.0016115919 -0.021567476 4.5586989 + 19110 20.181118 1.0524941 23.830479 6.1169116 4.5386967 1.5782149 0.0016481913 -0.021181267 4.5582298 + 19120 20.215235 1.038111 23.706028 6.1262804 4.5696329 1.5566475 0.0017024815 -0.021788672 4.5897191 + 19130 20.372952 1.0500217 23.918689 6.1023709 4.5278635 1.5745075 0.001773165 -0.022281629 4.5483719 + 19140 19.852089 1.0162822 23.906924 6.087342 4.5634268 1.5239152 0.0018015711 -0.022044789 4.58367 + 19150 19.943938 1.0290494 23.871238 6.0896586 4.546599 1.5430596 0.0016647435 -0.021679217 4.5666135 + 19160 20.202958 1.0086522 24.188658 6.0964291 4.5839551 1.5124739 0.0013803269 -0.020672878 4.6032477 + 19170 19.986082 1.0085237 23.705718 6.0490718 4.5367905 1.5122813 0.0013456205 -0.020408791 4.5558537 + 19180 20.323557 1.0156578 23.802006 6.0529786 4.5299998 1.5229789 0.0014936067 -0.020919564 4.5494257 + 19190 20.088772 1.0140756 23.864996 6.064175 4.5435687 1.5206063 0.0016989159 -0.021880639 4.5637504 + 19200 20.056933 1.014507 23.960761 6.0811782 4.5599249 1.5212532 0.0017504546 -0.022324648 4.5804991 + 19210 20.135114 1.0156503 23.675602 6.0753495 4.5523819 1.5229676 0.0017304563 -0.022163911 4.5728153 + 19220 20.235874 1.0506678 23.841874 6.1195261 4.5440498 1.5754763 0.0015991373 -0.022119723 4.5645704 + 19230 20.170248 1.0274662 23.800211 6.0874392 4.5467537 1.5406855 0.0016862442 -0.022557617 4.5676251 + 19240 20.150991 1.0435892 23.940762 6.0971904 4.5323284 1.564862 0.0017569352 -0.022835385 4.5534069 + 19250 20.15613 1.0288147 23.700721 6.0767703 4.5340627 1.5427076 0.0016575 -0.022232535 4.5546377 + 19260 20.280661 1.0020378 23.888749 6.0435585 4.5410028 1.5025557 0.0017368556 -0.022529443 4.5617954 + 19270 20.449703 1.0164157 23.742327 6.043632 4.5195167 1.5241153 0.0019101759 -0.023505357 4.5411118 + 19280 20.258733 1.0274418 23.639464 6.0560447 4.5153958 1.5406489 0.0020829505 -0.024151186 4.537464 + 19290 20.186986 1.0111186 23.861445 6.0633445 4.5471721 1.5161724 0.0021039544 -0.024288191 4.5693564 + 19300 20.216092 1.004781 23.976306 6.0419075 4.5352384 1.506669 0.0019895648 -0.023727973 4.5569768 + 19310 20.301831 0.99178473 23.55063 6.0309757 4.5437945 1.4871812 0.0019387687 -0.022972214 4.5648279 + 19320 20.195201 1.0003175 23.922299 6.0150594 4.5150832 1.4999761 0.0017553397 -0.022000154 4.535328 + 19330 20.28908 0.99213996 23.466253 6.0100179 4.522304 1.4877139 0.0017287185 -0.021428879 4.5420042 + 19340 20.395795 0.9882176 23.691823 6.028161 4.5463287 1.4818323 0.0016072081 -0.021035579 4.5657571 + 19350 19.943693 0.97755851 23.432456 6.0060976 4.5402486 1.465849 0.0017937461 -0.021803205 4.5602581 + 19360 19.98638 0.99769643 23.69112 6.0218039 4.5257581 1.4960458 0.0020926152 -0.023283486 4.5469489 + 19370 20.143351 0.99126011 23.466049 6.0143338 4.5279393 1.4863945 0.0020293754 -0.023342351 4.5492522 + 19380 20.015478 1.0060802 23.783919 6.026614 4.5179968 1.5086172 0.0019887783 -0.02294441 4.5389524 + 19390 19.94011 1.0086257 23.500311 6.0409812 4.528547 1.5124342 0.0018981836 -0.022581955 4.5492307 + 19400 20.348094 1.0026437 23.875136 6.0444756 4.5410113 1.5034643 0.0018755692 -0.022549183 4.5616849 + 19410 20.181728 1.0154051 23.799209 6.0486736 4.5260737 1.5225999 0.0019601173 -0.023088538 4.5472021 + 19420 19.811457 1.0141539 23.994179 6.0486654 4.5279417 1.5207237 0.0019641637 -0.023414367 4.5493919 + 19430 20.210717 1.0097168 23.550208 6.0575433 4.5434729 1.5140703 0.001969019 -0.023210277 4.5647142 + 19440 19.885036 1.0211767 23.99319 6.0559134 4.5246589 1.5312545 0.0020890316 -0.02361348 4.5461834 + 19450 20.289058 1.0127144 23.872175 6.0565388 4.5379736 1.5185652 0.0019650912 -0.023128655 4.5591372 + 19460 20.495546 1.0211588 23.816664 6.0654907 4.5342631 1.5312276 0.0019100639 -0.022647677 4.5550007 + 19470 20.182976 1.0268969 23.830056 6.0749863 4.5351544 1.5398319 0.0018904697 -0.022336099 4.5556001 + 19480 20.013387 1.0065463 23.887742 6.058844 4.5495278 1.5093162 0.0018667913 -0.022479896 4.5701409 + 19490 20.095468 1.0008374 23.649572 6.0319384 4.5311827 1.5007557 0.0017929392 -0.022178977 4.5515688 + 19500 20.21262 0.99071435 23.492279 6.0211117 4.5355355 1.4855762 0.0015913171 -0.021431252 4.5553755 + 19510 20.265909 1.0066912 23.566427 6.0384299 4.5288964 1.5095335 0.0017037389 -0.02198924 4.5491819 + 19520 20.390236 1.0147323 23.557592 6.0666666 4.5450755 1.521591 0.0018082079 -0.022242915 4.5655103 + 19530 20.315689 1.0239456 23.587296 6.0755572 4.5401507 1.5354065 0.0018906541 -0.022669413 4.5609294 + 19540 20.424935 1.0319756 24.046692 6.0688919 4.5214444 1.5474474 0.0019003987 -0.022428015 4.541972 + 19550 20.42532 1.0189036 23.7936 6.0604494 4.5326034 1.527846 0.0020493084 -0.023179731 4.5537338 + 19560 20.172061 1.0191909 23.60208 6.0685574 4.5402806 1.5282768 0.002263643 -0.024383787 4.5624007 + 19570 20.123727 1.0265523 23.602759 6.0856123 4.5462971 1.5393152 0.0021701386 -0.023892232 4.5680192 + 19580 19.987399 1.0166945 23.963 6.0650599 4.5405264 1.5245335 0.0021857959 -0.024256174 4.5625968 + 19590 20.32202 1.0072713 23.684153 6.0528879 4.5424847 1.5104033 0.0019813501 -0.02321819 4.5637215 + 19600 20.246704 1.0059022 23.844481 6.0504093 4.542059 1.5083503 0.0019496565 -0.022597075 4.5627064 + 19610 20.180826 0.99886334 23.468699 6.0495492 4.5517536 1.4977956 0.0021095021 -0.023612502 4.5732566 + 19620 20.192578 1.0305641 24.226122 6.0671378 4.521807 1.5453308 0.0021630085 -0.024210779 4.5438548 + 19630 20.20098 0.99303182 23.748271 6.052383 4.5633318 1.4890512 0.0020734603 -0.023766865 4.5850252 + 19640 20.209499 1.0153789 23.750185 6.0559341 4.5333735 1.5225607 0.0020630501 -0.024201058 4.5555115 + 19650 20.070891 0.99213718 23.669137 6.0082699 4.5205602 1.4877097 0.0022183618 -0.024619492 4.5429614 + 19660 20.223639 1.0070205 23.766326 6.0166633 4.506636 1.5100273 0.0020919568 -0.023917751 4.5284618 + 19670 20.104954 1.0116346 23.636964 6.0570258 4.5400798 1.516946 0.0020551729 -0.023808028 4.5618327 + 19680 20.135267 1.0056174 23.874376 6.0474281 4.5395049 1.5079232 0.0019796334 -0.023605866 4.5611311 + 19690 20.158607 0.98778021 23.494965 6.0445454 4.563369 1.4811764 0.002018731 -0.023928813 4.5852791 + 19700 20.208683 1.0276394 23.897488 6.0747719 4.5338266 1.5409453 0.0019318488 -0.02334052 4.5552353 + 19710 20.39481 0.98608298 23.484305 6.0354693 4.5568379 1.4786314 0.001773659 -0.022303701 4.5773679 + 19720 20.402959 1.0290248 23.848069 6.0516555 4.5086329 1.5430226 0.0017770844 -0.022441376 4.5292972 + 19730 20.31125 1.0078652 23.693818 6.0503396 4.5390457 1.5112939 0.0016821669 -0.022152909 4.5595164 + 19740 20.341752 1.0056714 23.80976 6.0302217 4.5222175 1.5080042 0.001843673 -0.023120956 4.5434948 + 19750 20.134672 0.99794836 23.588805 6.0363129 4.5398893 1.4964236 0.0018914039 -0.023272841 4.5612708 + 19760 20.002699 1.0115554 23.626861 6.0349935 4.5181662 1.5168273 0.0018887105 -0.023275781 4.5395533 + 19770 19.729241 1.0189788 24.045976 6.0590785 4.5311198 1.5279587 0.0019213611 -0.023267951 4.5524664 + 19780 20.093266 1.0190972 23.511641 6.0550546 4.5269183 1.5281363 0.0019105618 -0.023370508 4.5483783 + 19790 20.158483 1.0111163 23.751925 6.0517563 4.5355874 1.5161689 0.0018104296 -0.022754579 4.5565315 + 19800 19.645925 1.0124775 23.636062 6.0683073 4.5500973 1.51821 0.0016450052 -0.021464103 4.5699164 + 19810 19.95121 1.036534 23.773167 6.1040963 4.5498137 1.5542827 0.0016798409 -0.021510266 4.5696441 + 19820 20.358372 1.0440406 23.782471 6.1126603 4.5471214 1.5655388 0.0017916888 -0.021957128 4.5672869 + 19830 20.210875 1.0185987 23.868866 6.0967175 4.5693288 1.5273887 0.0020699452 -0.023249608 4.5905085 + 19840 20.484882 1.0308813 23.760163 6.0561466 4.5103401 1.5458065 0.002091829 -0.0238023 4.5320505 + 19850 20.077832 1.0395803 23.744023 6.1057489 4.5468983 1.5588506 0.0022277545 -0.024476783 4.5691473 + 19860 20.104774 1.0294598 23.796542 6.0785567 4.5348817 1.543675 0.0021185736 -0.023719769 4.5564829 + 19870 20.119504 1.035468 23.655447 6.0879828 4.5352985 1.5526843 0.0019236136 -0.022782935 4.5561578 + 19880 20.125708 1.0423202 23.896318 6.0891935 4.5262344 1.5629591 0.0017731801 -0.022550347 4.5470116 + 19890 20.308331 1.0392989 23.845915 6.1079177 4.5494891 1.5584287 0.0016802522 -0.02206895 4.5698778 + 19900 20.342428 1.0458912 23.941801 6.0994726 4.5311588 1.5683138 0.0015474072 -0.021614628 4.551226 + 19910 20.384262 1.0244179 23.810078 6.0824004 4.5462857 1.5361147 0.0015499411 -0.021575562 4.5663113 + 19920 20.346878 1.0163829 23.80793 6.0608422 4.536776 1.5240662 0.0018484993 -0.022854283 4.5577818 + 19930 20.257272 1.0172512 23.818756 6.0758975 4.5505294 1.5253681 0.0019989389 -0.023508848 4.5720393 + 19940 20.419245 1.02643 23.864922 6.1001824 4.5610505 1.5391318 0.0019360512 -0.023275343 4.5823898 + 19950 20.235167 1.0209999 23.943669 6.0830586 4.5520692 1.5309894 0.0017090607 -0.022134044 4.5724942 + 19960 20.21853 1.0196978 23.876747 6.0850282 4.5559914 1.5290368 0.0016266878 -0.021693576 4.5760583 + 19970 20.439603 1.0151267 23.440958 6.070689 4.5485066 1.5221825 0.0015996628 -0.021698172 4.5686051 + 19980 20.188537 1.0207588 23.95843 6.0461819 4.515554 1.5306279 0.0016162847 -0.021529389 4.5354671 + 19990 20.233206 0.98018336 23.650855 6.0214939 4.551709 1.4697849 0.0016181302 -0.021323498 4.5714144 + 20000 20.398641 1.007998 23.508061 6.0187832 4.5072902 1.511493 0.0015287962 -0.020723641 4.526485 + 20010 20.505923 1.0046148 23.955229 6.0279303 4.5215104 1.5064199 0.001508332 -0.020668838 4.5406709 + 20020 20.54434 0.99574733 23.590909 6.0161161 4.5229929 1.4931231 0.0015085384 -0.021030598 4.542515 + 20030 20.215377 1.0000483 23.930061 6.0259331 4.5263606 1.4995725 0.0016034355 -0.021999715 4.5467569 + 20040 20.096165 0.9901323 23.604618 6.0348647 4.5501613 1.4847034 0.0015415681 -0.021621634 4.5702413 + 20050 20.231676 0.9858099 23.684792 6.0234087 4.5451867 1.4782219 0.0014946849 -0.021255128 4.5649472 + 20060 20.2058 0.99996234 23.816323 5.9965263 4.4970828 1.4994435 0.0015750953 -0.021317586 4.5168253 + 20070 20.189696 0.99173276 23.756578 6.0091695 4.5220663 1.4871033 0.0016578546 -0.021737106 4.5421455 + 20080 20.322871 0.99437809 23.873193 6.0071986 4.5161286 1.4910699 0.00145993 -0.020864708 4.5355334 + 20090 20.100099 1.010578 23.754303 6.0410083 4.5256465 1.5153617 0.0013659002 -0.020099475 4.5443801 + 20100 20.331574 1.0103253 23.872218 6.0680259 4.5530431 1.5149829 0.0015338016 -0.020950488 4.5724598 + 20110 20.454089 1.0227566 23.619539 6.0549211 4.5212976 1.5336235 0.0014611209 -0.020655209 4.5404917 + 20120 20.306157 1.0088081 23.837326 6.0557371 4.5430293 1.5127078 0.0014486623 -0.020134506 4.5617152 + 20130 19.973532 1.0108735 23.757844 6.0463579 4.5305531 1.5158048 0.0015414133 -0.02085729 4.549869 + 20140 19.978029 1.0140981 23.858638 6.0505886 4.5299485 1.5206401 0.0013665328 -0.020082964 4.5486649 + 20150 19.748253 1.0348654 23.772488 6.0937396 4.541959 1.5517807 0.001251233 -0.019834469 4.5605422 + 20160 19.832825 1.0342098 23.658162 6.0961839 4.5453863 1.5507977 0.0015544371 -0.021236034 4.5650678 + 20170 20.19308 1.0306404 24.012309 6.0842709 4.5388257 1.5454453 0.001753635 -0.022243039 4.5593151 + 20180 20.028288 1.0237638 23.992566 6.078064 4.5429302 1.5351338 0.0016419636 -0.021515438 4.5628037 + 20190 19.918309 1.0295599 23.766806 6.0461191 4.502294 1.5438251 0.0015781419 -0.021305864 4.5220218 + 20200 19.814367 1.0048648 23.711497 6.0493943 4.5425995 1.5067948 0.0018736516 -0.023113038 4.5638389 + 20210 20.017315 1.0154943 23.884501 6.0626624 4.5399286 1.5227338 0.0017604799 -0.022408988 4.5605771 + 20220 19.976625 1.0036657 23.891859 6.0612407 4.556244 1.5049967 0.0018442141 -0.022747202 4.577147 + 20230 20.036476 1.0134276 23.592193 6.0639723 4.5443377 1.5196346 0.002013705 -0.023417412 4.5657414 + 20240 19.962378 1.0154222 23.855301 6.0528442 4.5302187 1.5226255 0.0021285272 -0.023939621 4.5520298 + 20250 19.902515 1.0056791 23.480075 6.0282199 4.5202041 1.5080158 0.0023340511 -0.024905469 4.5427756 + 20260 20.071738 0.98777533 23.68751 6.0100723 4.5289032 1.4811691 0.0024101343 -0.025120349 4.5516134 + 20270 20.450336 0.98604961 23.856945 6.0009778 4.5223964 1.4785814 0.0023027967 -0.024940004 4.5450336 + 20280 20.288143 0.9981824 23.574674 6.0101603 4.5133858 1.4967745 0.0022223477 -0.024175296 4.5353387 + 20290 20.289702 0.99029798 23.715782 6.0039304 4.5189786 1.4849518 0.002173998 -0.023929717 4.5407343 + 20300 20.244483 1.0027084 23.538799 5.9920373 4.488476 1.5035613 0.0021503776 -0.02423858 4.5105642 + 20310 20.461205 0.99009052 23.623376 6.0055603 4.5209196 1.4846407 0.0023662982 -0.024922767 4.5434761 + 20320 20.06264 0.99288996 23.800551 6.0150929 4.5262544 1.4888385 0.0023430011 -0.024492829 4.5484042 + 20330 19.927418 1.0003369 23.792958 6.0299829 4.5299777 1.5000052 0.0024084808 -0.024616002 4.5521852 + 20340 20.313336 1.0195963 24.032714 6.0475994 4.5187146 1.5288847 0.0023503127 -0.024243077 4.5406074 + 20350 20.345433 0.99350825 23.700564 6.0445892 4.5548236 1.4897656 0.002128785 -0.023317978 4.5760128 + 20360 20.266944 1.0194214 23.884716 6.0465028 4.5178805 1.5286223 0.0019954776 -0.022565406 4.5384504 + 20370 20.269353 1.0156903 23.70528 6.038143 4.5151154 1.5230276 0.0018341835 -0.022089114 4.5353703 + 20380 20.185083 1.0207703 23.76572 6.0412806 4.5106355 1.5306451 0.0017304048 -0.021695039 4.5306001 + 20390 20.238974 0.99292509 23.642384 6.0340098 4.5451186 1.4888912 0.0016957496 -0.021044255 4.5644671 + 20400 20.039617 1.0114737 23.881084 6.0416947 4.5249899 1.5167048 0.0018328867 -0.021165908 4.544323 + 20410 20.380564 1.0135922 23.398799 6.0602369 4.5403554 1.5198815 0.0017995526 -0.020892559 4.5594484 + 20420 20.32734 1.0399062 23.837648 6.0856562 4.5263169 1.5593393 0.0017625167 -0.020702213 4.5452566 + 20430 20.291131 1.0136753 23.627613 6.0653747 4.5453686 1.5200061 0.0016588923 -0.020323374 4.5640331 + 20440 20.238463 1.0270145 23.936761 6.0918695 4.5518613 1.5400082 0.0016280863 -0.021012739 4.5712459 + 20450 19.950783 1.0226211 23.615664 6.066381 4.5329606 1.5334203 0.0017034382 -0.021737335 4.5529945 + 20460 20.167759 1.0008724 23.67139 6.045053 4.5442449 1.5008082 0.0017778395 -0.022257887 4.5647249 + 20470 20.271546 1.002566 23.629119 6.0455532 4.5422055 1.5033477 0.0016118469 -0.021721063 4.5623148 + 20480 20.187391 1.0113926 23.562765 6.0323855 4.5158022 1.5165833 0.001626713 -0.022007844 4.5361834 + 20490 20.33041 0.98810388 23.670442 6.0078 4.5261382 1.4816618 0.0015806283 -0.021821584 4.5463791 + 20500 20.371099 1.0125788 23.672786 6.0401976 4.5218357 1.5183619 0.0014841112 -0.021400669 4.5417522 + 20510 20.203811 1.0324716 23.79761 6.0692616 4.5210704 1.5481912 0.0016000625 -0.021400374 4.5408707 + 20520 20.330235 1.026331 24.023388 6.0417688 4.5027854 1.5389834 0.0017133214 -0.021793991 4.522866 + 20530 20.393035 1.0068676 23.571027 6.0259788 4.5161809 1.509798 0.0017832095 -0.021711881 4.5361095 + 20540 20.247726 1.0059367 24.061154 6.018338 4.509936 1.508402 0.0019132054 -0.022406156 4.5304289 + 20550 20.385343 0.99838414 23.521411 6.0269681 4.5298911 1.497077 0.0018038547 -0.021529614 4.5496168 + 20560 20.25695 0.99759086 23.735504 6.0383976 4.5425101 1.4958875 0.0018198481 -0.021307084 4.5619973 + 20570 20.02836 1.0010114 23.445093 6.0589752 4.5579586 1.5010166 0.0017459224 -0.020984582 4.5771973 + 20580 19.990776 1.0275819 23.65548 6.0790818 4.5382228 1.540859 0.001896679 -0.02204446 4.5583706 + 20590 20.271225 1.017785 23.663824 6.0641781 4.5380095 1.5261686 0.0017943397 -0.02183591 4.5580511 + 20600 20.11117 1.0203255 23.515503 6.0671175 4.5371394 1.5299782 0.0016989218 -0.021486297 4.5569267 + 20610 20.202084 1.0347797 23.658684 6.0921333 4.5404811 1.5516522 0.0017197952 -0.021530632 4.560292 + 20620 20.393357 1.0365825 23.471774 6.0814602 4.5271047 1.5543555 0.0016431534 -0.021384127 4.5468457 + 20630 20.42646 1.0166021 23.763664 6.0610126 4.5366177 1.5243949 0.0015009398 -0.020917322 4.5560341 + 20640 20.10574 1.0193306 24.064694 6.0669128 4.5384266 1.5284862 0.0014189844 -0.020521736 4.5575294 + 20650 20.319667 1.0320024 23.915139 6.0615886 4.514101 1.5474877 0.0015146618 -0.020869186 4.5334555 + 20660 20.327571 1.0386985 23.552098 6.0850091 4.5274807 1.5575284 0.0016951636 -0.021207785 4.5469933 + 20670 20.479171 1.016597 23.815691 6.0745661 4.550179 1.5243871 0.0018039938 -0.02159358 4.5699686 + 20680 20.369272 1.0276612 23.727528 6.0693483 4.5283704 1.5409779 0.0020988674 -0.022916746 4.5491883 + 20690 20.073626 1.0258642 23.976037 6.0650337 4.5267503 1.5382834 0.0019322571 -0.022681317 4.5474993 + 20700 20.193528 0.98882831 23.643372 6.0358605 4.5531124 1.482748 0.0018911502 -0.02244455 4.5736658 + 20710 20.429264 0.99804491 23.621998 6.0516646 4.5550963 1.4965683 0.0018060705 -0.02219263 4.5754828 + 20720 20.22526 1.0232655 23.987315 6.0691387 4.5347521 1.5343866 0.0017902539 -0.022537366 4.5554992 + 20730 20.284123 1.0196951 23.632393 6.0411238 4.512091 1.5290328 0.0017339026 -0.022338486 4.5326956 + 20740 19.995409 1.0074668 23.936684 6.0402964 4.5295999 1.5106965 0.0016665293 -0.022189149 4.5501225 + 20750 20.004179 0.99531759 23.803215 6.0330293 4.5405506 1.4924787 0.0017750327 -0.022689987 4.5614655 + 20760 20.095866 1.0184565 23.996529 6.0655221 4.5383466 1.5271755 0.0016808619 -0.022145093 4.5588108 + 20770 20.071359 1.0061885 23.775344 6.0570582 4.5482785 1.5087797 0.0017710226 -0.022217542 4.568725 + 20780 20.274615 0.98847547 23.893349 6.0324887 4.5502697 1.482219 0.0018822955 -0.022580178 4.5709676 + 20790 20.217553 0.99983819 23.587002 6.0260571 4.5267997 1.4992574 0.0018892366 -0.022778592 4.5476891 + 20800 20.544873 0.99875624 23.69885 6.0316416 4.5340067 1.497635 0.0018140509 -0.0224289 4.5546215 + 20810 20.255159 1.0077997 23.790919 6.0253 4.5141043 1.5111957 0.0016310722 -0.021597706 4.5340709 + 20820 20.135537 1.0003968 23.916812 6.0021815 4.5020864 1.5000951 0.001418932 -0.020504111 4.5211716 + 20830 20.305658 0.99726626 23.88737 6.0256472 4.5302465 1.4954008 0.0013471182 -0.020028647 4.548928 + 20840 20.289493 1.0156718 23.92831 6.046136 4.5231361 1.5229999 0.001580222 -0.021155785 4.5427117 + 20850 20.28638 1.0090528 23.518779 6.0401476 4.5270729 1.5130747 0.0016899409 -0.021529419 4.5469124 + 20860 20.352842 1.0134562 23.755867 6.0473808 4.5277032 1.5196776 0.0016299201 -0.021147624 4.5472209 + 20870 20.190607 1.0141908 23.754364 6.0598251 4.539046 1.5207791 0.0015648885 -0.020474265 4.5579554 + 20880 20.343119 1.0046158 23.633629 6.0341022 4.5276808 1.5064214 0.0015571052 -0.020132011 4.5462557 + 20890 20.255142 1.0149973 23.836984 6.0279134 4.505925 1.5219884 0.0015265073 -0.019974504 4.524373 + 20900 20.331245 1.0113055 23.716946 6.0217835 4.5053309 1.5164526 0.0016422489 -0.020791598 4.5244802 + 20910 20.41374 1.0083772 24.130137 6.0195046 4.507443 1.5120616 0.0016698326 -0.021517223 4.5272903 + 20920 20.072337 0.99703252 23.747116 6.0233656 4.5283153 1.4950503 0.0014624671 -0.02122653 4.5480794 + 20930 20.312299 1.0018934 23.582654 6.0317787 4.5294395 1.5023392 0.0012994252 -0.020612816 4.5487529 + 20940 20.416169 0.99832041 23.499732 6.0418993 4.5449178 1.4969815 0.0012544638 -0.020722797 4.5643861 + 20950 19.994085 1.0037074 23.407932 6.0287096 4.5236504 1.5050592 0.0011248472 -0.020202857 4.5427284 + 20960 19.853443 1.0003299 23.599499 6.0076153 4.5076206 1.4999946 0.0013028188 -0.021055745 4.5273736 + 20970 20.436231 0.99349989 23.687168 6.0118195 4.5220664 1.4897531 0.0016350269 -0.022789336 4.5432207 + 20980 20.277177 1.0086487 23.863532 6.0393541 4.5268854 1.5124687 0.0019970623 -0.024183747 4.5490721 + 20990 20.064873 1.0121579 23.830553 6.0582632 4.5405323 1.5177308 0.0021203714 -0.024627003 4.563039 + 21000 20.181866 1.0018865 23.722026 6.0532555 4.5509268 1.5023288 0.0021305541 -0.024633156 4.5734294 + 21010 20.268191 1.0061773 23.619016 6.0519603 4.5431975 1.5087628 0.0022195639 -0.024622517 4.5656005 + 21020 20.367934 1.0225672 23.692641 6.0566068 4.5232673 1.5333395 0.0021524714 -0.024250378 4.5453652 + 21030 20.077948 1.0219139 23.82591 6.0631168 4.530757 1.5323599 0.0021168806 -0.0238376 4.5524777 + 21040 20.241658 1.0266968 23.883698 6.0738329 4.5343011 1.5395318 0.0018886128 -0.023145504 4.555558 + 21050 20.477809 1.0150652 23.871549 6.0605429 4.5384527 1.5220903 0.0021049708 -0.024153392 4.5605011 + 21060 20.370871 1.0164076 23.97551 6.0644656 4.5403623 1.5241033 0.0021596264 -0.024131311 4.562334 + 21070 20.322829 1.0285858 23.933769 6.0937337 4.5513693 1.5423644 0.0022054343 -0.024633429 4.5737973 + 21080 20.326224 1.0213829 23.797944 6.0632945 4.5317308 1.5315636 0.0023310705 -0.024792889 4.5541926 + 21090 20.384962 1.0223998 23.74577 6.0786589 4.5455704 1.5330885 0.0022626856 -0.024754556 4.5680623 + 21100 20.273047 1.0291368 23.64922 6.0788255 4.5356348 1.5431906 0.0020616164 -0.023766289 4.5573395 + 21110 20.096731 0.99872621 23.464435 6.0464837 4.5488938 1.49759 0.0020213688 -0.023301902 4.5701743 + 21120 20.077595 1.0074335 23.798566 6.0344187 4.5237722 1.5106465 0.0017398849 -0.021981382 4.5440137 + 21130 20.096746 1.0018843 23.75073 6.0344428 4.5321173 1.5023255 0.0016107069 -0.02134416 4.5518508 + 21140 19.938665 1.0170474 23.949935 6.0609997 4.5359371 1.5250626 0.0015778453 -0.021072023 4.5554313 + 21150 19.944329 1.0290728 23.750587 6.038075 4.4949804 1.5430946 0.0017105963 -0.021694404 4.5149642 + 21160 20.122729 1.0194844 23.788168 6.0853636 4.5566467 1.5287168 0.0018250679 -0.022322322 4.577144 + 21170 19.825179 1.0227827 23.466433 6.065186 4.5315233 1.5336627 0.0018372098 -0.022376881 4.552063 + 21180 20.204274 1.010992 23.530418 6.0456255 4.529643 1.5159826 0.0019919614 -0.023568177 4.5512192 + 21190 19.849452 1.0024016 23.679375 6.0483988 4.5452976 1.5031012 0.0021172122 -0.024071344 4.5672517 + 21200 19.917757 1.0116645 23.76722 6.045319 4.5283282 1.5169909 0.0023015893 -0.024798205 4.5508248 + 21210 20.218735 1.0247442 23.738836 6.0583536 4.5217497 1.5366039 0.0022160028 -0.024177439 4.5437111 + 21220 20.436012 1.0232327 23.563162 6.0923316 4.5579942 1.5343374 0.0020319908 -0.023237017 4.5791992 + 21230 20.303921 1.0028107 23.744213 6.0644674 4.5607527 1.5037147 0.0019661876 -0.023186552 4.5819731 + 21240 20.080238 1.0103281 23.636832 6.0702675 4.5552806 1.5149869 0.0018567668 -0.021974996 4.5753988 + 21250 20.1825 1.0114014 23.678692 6.0650387 4.5484424 1.5165963 0.001835093 -0.021402304 4.5680096 + 21260 20.238938 1.0179621 23.865164 6.057507 4.5310728 1.5264342 0.0017598011 -0.021314024 4.550627 + 21270 20.206579 1.0316572 24.262517 6.0658019 4.5188319 1.54697 0.0017630532 -0.020848694 4.5379176 + 21280 20.465777 1.0218299 23.622224 6.0770702 4.5448363 1.532234 0.0017296775 -0.020147857 4.5632544 + 21290 20.252156 1.043052 23.891072 6.0893378 4.5252813 1.5640565 0.0016295113 -0.019232197 4.542884 + 21300 20.369036 1.0254115 23.58124 6.1057669 4.5681623 1.5376045 0.0016565282 -0.019368393 4.5858742 + 21310 19.794967 1.0176125 23.993584 6.0696122 4.5437022 1.52591 0.0016392976 -0.019768499 4.5618314 + 21320 19.961925 1.0189854 23.673853 6.0773593 4.5493907 1.5279686 0.0016067832 -0.019950903 4.5677348 + 21330 20.311037 1.0143835 23.899078 6.0750709 4.5540028 1.5210681 0.0013564001 -0.019629437 4.5722759 + 21340 20.256914 1.0337025 23.881247 6.0574984 4.5074614 1.550037 0.0014049459 -0.019995839 4.5260523 + 21350 20.185199 1.0041862 23.790793 6.0578274 4.5520501 1.5057773 0.0014901171 -0.02026418 4.5708242 + 21360 20.117008 1.0195608 23.916206 6.0736503 4.5448188 1.5288314 0.0016713286 -0.021343597 4.5644911 + 21370 19.985662 1.0184638 23.842027 6.0797246 4.552538 1.5271865 0.0016644231 -0.021468121 4.5723417 + 21380 20.310104 1.0214187 23.698083 6.093453 4.5618357 1.5316174 0.0015079464 -0.020616869 4.5809446 + 21390 20.045848 1.0181461 23.933974 6.0700042 4.5432941 1.5267101 0.0013248906 -0.019746587 4.5617158 + 21400 20.42325 1.0264732 23.694327 6.0578445 4.5186478 1.5391966 0.0013004314 -0.019592465 4.5369399 + 21410 20.518487 0.99749388 23.614405 6.0355283 4.5397863 1.4957421 0.0014307319 -0.019999771 4.5583553 + 21420 20.324767 1.015492 23.611486 6.0284342 4.505704 1.5227302 0.0015040993 -0.020575417 4.5247753 + 21430 20.013686 1.0011935 23.841702 6.0132844 4.5119947 1.5012897 0.0017277985 -0.021799157 4.5320661 + 21440 20.06415 1.001238 23.668387 6.0378711 4.5365146 1.5013564 0.0019597378 -0.023034102 4.557589 + 21450 20.505124 0.99157558 23.77754 6.0213503 4.5344828 1.4868676 0.0022256767 -0.024176218 4.5564333 + 21460 20.295967 1.0074811 23.743708 6.0319781 4.5212602 1.5107179 0.0021364064 -0.023695522 4.5428193 + 21470 20.100798 1.0059577 23.585151 6.0532762 4.5448426 1.5084336 0.0020030223 -0.02295862 4.5657982 + 21480 20.150981 1.0094696 23.73257 6.0399858 4.5262861 1.5136997 0.0020337584 -0.023472256 4.5477246 + 21490 20.165645 1.0089587 23.890287 6.0292894 4.5163559 1.5129335 0.0022036853 -0.024483084 4.5386353 + 21500 19.793005 0.99567227 23.765292 6.0100254 4.5170148 1.4930106 0.0023205594 -0.024945915 4.5396402 + 21510 20.168061 0.99204842 23.610009 6.017423 4.5298464 1.4875766 0.002289817 -0.024905565 4.5524621 + 21520 20.510331 1.0192926 23.805741 6.0385677 4.5101384 1.5284293 0.0021395678 -0.02435439 4.5323533 + 21530 20.312158 1.0106887 23.864419 6.0416555 4.5261279 1.5155276 0.0020483182 -0.023908055 4.5479876 + 21540 20.350417 1.0108583 23.749355 6.0629604 4.5471784 1.5157821 0.0020508556 -0.024001242 4.5691288 + 21550 20.275423 1.0187662 23.844779 6.0566881 4.5290481 1.5276399 0.0020332936 -0.023370551 4.5503854 + 21560 20.368362 1.0175263 23.56909 6.0762795 4.5504988 1.5257806 0.0019617377 -0.022842818 4.5713799 + 21570 20.065984 1.0142603 23.66202 6.0698686 4.5489853 1.5208833 0.0021054455 -0.023484075 4.5703639 + 21580 20.552166 1.0166717 23.631735 6.0710695 4.5465703 1.5244992 0.0019920036 -0.023116107 4.5676944 + 21590 20.154933 1.0285673 23.80522 6.089806 4.5474693 1.5423367 0.0017429297 -0.0217579 4.5674843 + 21600 19.93077 1.036723 23.672675 6.0837783 4.5292121 1.5545661 0.0014568682 -0.020188475 4.5479437 + 21610 20.384156 1.0164461 23.715724 6.0677754 4.5436144 1.5241609 0.001141195 -0.019068488 4.5615417 + 21620 20.301812 0.99986282 23.793079 6.0380225 4.5387282 1.4992943 0.0011391068 -0.019032792 4.5566218 + 21630 20.359371 1.0112679 23.70023 6.04846 4.5320639 1.5163961 0.0013055636 -0.019490793 4.5502491 + 21640 19.984617 1.0098575 23.755901 6.0624523 4.5481711 1.5142813 0.0013122112 -0.019852323 4.5667112 + 21650 20.210797 1.0206169 23.960293 6.0554222 4.5250071 1.5304151 0.0012779475 -0.019609242 4.5433384 + 21660 20.263678 1.0024848 23.560225 6.0594278 4.5562019 1.5032259 0.0012955202 -0.018756073 4.5736624 + 21670 20.290085 0.99357272 23.762942 6.0249754 4.5351131 1.4898623 0.0012474574 -0.018164053 4.5520297 + 21680 20.384311 0.99657923 23.586371 6.0457135 4.551343 1.4943706 0.0011696028 -0.017684525 4.5678579 + 21690 20.06666 1.0114887 23.746927 6.0525072 4.5357799 1.5167272 0.0013511568 -0.019105233 4.553534 + 21700 20.389749 1.0200696 23.893525 6.0755033 4.5459089 1.5295944 0.0014038838 -0.019836789 4.5643418 + 21710 20.072918 1.0130148 23.641787 6.0430249 4.5240092 1.5190157 0.0015307704 -0.021304918 4.5437833 + 21720 19.85223 1.022075 23.828132 6.0414908 4.5088894 1.5326014 0.0015814373 -0.021146554 4.5284545 + 21730 20.046108 1.0042445 23.708963 6.0256206 4.519756 1.5058646 0.0014208114 -0.020019172 4.5383543 + 21740 20.26915 0.982157 23.274864 6.0082625 4.5355181 1.4727444 0.0016745708 -0.020980574 4.5548241 + 21750 20.086253 0.98167383 23.406928 6.0011704 4.5291505 1.4720199 0.0018024955 -0.02165034 4.5489984 + 21760 20.192145 0.99880433 23.772995 6.0271812 4.5294741 1.4977071 0.0017854057 -0.02162588 4.5493146 + 21770 19.97545 1.0005503 23.47064 6.0300336 4.5297084 1.5003252 0.0019993103 -0.022504139 4.5502132 + 21780 20.200169 1.0056872 23.784403 6.0465986 4.5385707 1.5080279 0.0020680534 -0.022794543 4.5592972 + 21790 20.334558 1.0235862 24.00394 6.053708 4.5188406 1.5348675 0.0019519265 -0.022197156 4.5390858 + 21800 20.366722 1.0246854 23.833651 6.0800508 4.543535 1.5365158 0.0017811118 -0.021439887 4.5631938 + 21810 20.031824 1.0111139 23.665419 6.0770743 4.560909 1.5161652 0.0016579177 -0.020614983 4.5798661 + 21820 20.299828 1.0105929 23.687367 6.0655085 4.5501244 1.5153841 0.0017620638 -0.021171013 4.5695334 + 21830 19.748385 1.0218492 23.639848 6.0789821 4.5467192 1.5322629 0.0017225905 -0.021459569 4.5664562 + 21840 20.178646 1.0083888 23.570686 6.0540244 4.5419455 1.5120789 0.0017145203 -0.021439023 4.56167 + 21850 20.2919 1.0137804 23.913551 6.0229559 4.5027922 1.5201637 0.0018282327 -0.02205276 4.5230167 + 21860 20.318487 1.0111579 23.987931 6.0350567 4.5188254 1.5162313 0.0018560887 -0.022674163 4.5396435 + 21870 20.355076 1.0130673 23.826892 6.0482617 4.5291673 1.5190944 0.0018569963 -0.022805735 4.550116 + 21880 20.189152 1.0097864 23.811198 6.058575 4.5444003 1.5141747 0.001959386 -0.023469292 4.5659102 + 21890 20.118531 1.0178187 23.582743 6.0538457 4.5276265 1.5262191 0.0017990499 -0.022926163 4.5487537 + 21900 20.294058 1.0335243 23.664943 6.0818486 4.5320789 1.5497698 0.0017051037 -0.022264459 4.5526382 + 21910 20.27866 1.0256732 23.741962 6.0996131 4.5616162 1.5379969 0.0017163538 -0.022057679 4.5819575 + 21920 20.408764 1.0323076 23.679785 6.1179628 4.5700176 1.5479453 0.0018618976 -0.022697761 4.5908534 + 21930 20.305515 1.045252 23.929551 6.1016736 4.5343183 1.5673553 0.0018081851 -0.022379256 4.5548893 + 21940 20.177246 1.0228261 23.745083 6.0818665 4.5481388 1.5337277 0.0018208576 -0.022136548 4.5684545 + 21950 20.12636 1.012271 23.775491 6.0414684 4.523568 1.5179004 0.0019757083 -0.02290995 4.5445022 + 21960 19.948076 0.99377541 23.633265 6.0421896 4.5520234 1.4901662 0.0019629204 -0.022459312 4.5725197 + 21970 20.008802 1.0304477 23.63091 6.0635549 4.5183985 1.5451564 0.0018194608 -0.022144128 4.5387231 + 21980 20.274688 1.0384951 23.895422 6.0847962 4.5275729 1.5572233 0.0016942532 -0.021911139 4.5477897 + 21990 20.217836 1.0334284 23.764713 6.0983289 4.548703 1.5496259 0.0017274449 -0.022064728 4.5690403 + 22000 20.150253 1.0137304 23.88265 6.0714512 4.5513625 1.5200888 0.001724744 -0.021863812 4.5715015 + 22010 20.203329 1.0245755 23.703289 6.0630052 4.5266542 1.536351 0.0018649593 -0.022161725 4.546951 + 22020 20.500685 1.0263831 23.483118 6.0684512 4.5293897 1.5390615 0.0017100208 -0.0214798 4.5491595 + 22030 20.330819 1.0229309 23.731863 6.0742066 4.5403217 1.5338849 0.0016700368 -0.02154641 4.5601981 + 22040 20.477331 1.0044022 23.680151 6.0510376 4.5449365 1.5061011 0.0016646906 -0.021324665 4.5645965 + 22050 20.17701 1.0363379 24.117775 6.0894492 4.5354605 1.5539887 0.00149019 -0.020420442 4.5543907 + 22060 19.781717 1.0162007 23.714899 6.0510574 4.5272644 1.523793 0.0014547634 -0.02025066 4.5460603 + 22070 20.254876 1.0030142 23.763981 6.0388529 4.5348331 1.5040198 0.001642871 -0.02156198 4.5547522 + 22080 20.332632 0.99098809 23.646336 6.0111898 4.5252032 1.4859866 0.0017411759 -0.02187704 4.545339 + 22090 20.299433 1.0111441 23.67418 6.030673 4.5144624 1.5162105 0.0017320366 -0.021782426 4.5345128 + 22100 20.221776 1.0055282 23.812638 6.0340638 4.5262744 1.5077895 0.0018035759 -0.022170359 4.5466411 + 22110 19.965077 1.0087975 23.857334 6.0291975 4.5165056 1.5126919 0.0019386623 -0.022764968 4.5373319 + 22120 20.171241 0.99736649 23.961173 6.0223742 4.5268231 1.495551 0.0018536605 -0.022499924 4.5474694 + 22130 20.168434 1.0081148 23.804901 6.0401476 4.5284794 1.5116682 0.0016112339 -0.021507898 4.5483761 + 22140 20.293242 0.99497059 23.464422 6.0374117 4.5454533 1.4919584 0.0015351685 -0.020939155 4.5648573 + 22150 20.304693 1.0047442 23.449554 6.0499945 4.5433806 1.5066139 0.0015510915 -0.021275058 4.5631046 + 22160 20.23187 1.0262928 23.699474 6.0599081 4.520982 1.5389261 0.001609476 -0.021311873 4.5406844 + 22170 20.28789 1.0024847 23.769631 6.036879 4.5336532 1.5032258 0.0015709202 -0.021176269 4.5532586 + 22180 20.149811 1.0327776 23.829869 6.054993 4.506343 1.54865 0.0016689525 -0.021903258 4.5265773 + 22190 20.404953 1.0210497 23.766376 6.0697822 4.5387182 1.531064 0.0016978716 -0.021991881 4.5590122 + 22200 20.069611 1.0397707 23.725117 6.0823519 4.5232157 1.5591362 0.0014903073 -0.02098527 4.5427107 + 22210 20.28449 1.0074315 23.81992 6.057046 4.5464025 1.5106436 0.0013890492 -0.020979155 4.5659926 + 22220 20.244634 1.0042245 23.674821 6.0448935 4.5390588 1.5058347 0.0013989097 -0.020893801 4.5585537 + 22230 20.117034 1.0035327 23.85837 6.0490886 4.5442914 1.5047973 0.0013662663 -0.020547255 4.5634723 + 22240 19.31268 1.0196781 23.846076 6.0466679 4.5176606 1.5290072 0.0015197412 -0.021377868 4.5375188 + 22250 20.144941 1.0017011 23.932816 6.0355714 4.5335206 1.5020508 0.0017512231 -0.02267159 4.554441 + 22260 19.952262 1.0129169 23.493329 6.0401724 4.5213036 1.5188688 0.0019662877 -0.023553747 4.542891 + 22270 20.052104 0.9940935 23.765343 5.9944757 4.5038325 1.4906432 0.0019891861 -0.023071641 4.5249149 + 22280 20.136835 0.99138825 23.639648 5.9970516 4.5104649 1.4865867 0.0020667184 -0.023197636 4.5315959 + 22290 20.302649 1.0135443 23.801457 6.0076599 4.4878503 1.5198096 0.0019361497 -0.022138325 4.5080525 + 22300 19.904448 0.97578635 23.693983 5.9704356 4.507244 1.4631916 0.0015445258 -0.020334236 4.5260337 + 22310 19.99692 0.99122547 23.547654 6.0199296 4.533587 1.4863426 0.0014553181 -0.019837509 4.5519692 + 22320 19.989141 0.99951363 23.460807 6.0191478 4.5203771 1.4987707 0.0014115553 -0.019418315 4.5383838 + 22330 20.333253 0.99604543 23.604891 6.0162834 4.5227133 1.4935701 0.0013831626 -0.019040489 4.5403706 + 22340 20.126598 0.98875264 23.664188 6.0227426 4.540108 1.4826346 0.0013255383 -0.019078704 4.5578612 + 22350 20.18238 0.97893702 23.663038 5.9872328 4.5193167 1.4679161 0.0013058587 -0.018584029 4.5365949 + 22360 20.063011 0.98558279 23.572954 5.9945442 4.5166628 1.4778814 0.0014453813 -0.019044506 4.5342619 + 22370 20.240589 0.98993321 23.824011 6.0200983 4.5356934 1.4844049 0.0014867913 -0.019342672 4.5535493 + 22380 20.131829 0.99003726 23.66009 6.0292133 4.5446524 1.4845609 0.0016031791 -0.019835569 4.5628848 + 22390 19.983828 0.98935004 23.52311 6.0439527 4.5604223 1.4835304 0.0016922764 -0.020151327 4.5788814 + 22400 20.322735 1.0180216 23.690726 6.0528623 4.5263389 1.5265234 0.0019745521 -0.021760584 4.5461249 + 22410 19.863569 1.0130297 23.914644 6.0435852 4.5245472 1.519038 0.0020686661 -0.022377506 4.544856 + 22420 20.185204 1.01091 23.708163 6.0636597 4.5478001 1.5158596 0.0019152093 -0.021718894 4.5676038 + 22430 20.189988 0.99584655 23.860822 6.0407433 4.5474714 1.4932719 0.001827756 -0.021435785 4.5670794 + 22440 20.205264 1.0118815 23.692153 6.0441154 4.5267991 1.5173163 0.0018748363 -0.021849954 4.5467742 + 22450 20.387768 1.0077514 23.556909 6.0289051 4.5177819 1.5111232 0.001847056 -0.021732616 4.5376674 + 22460 19.908398 1.0029964 23.672183 6.0442178 4.5402247 1.5039931 0.0019143584 -0.021472548 4.5597829 + 22470 20.467881 1.0210519 23.916567 6.0729855 4.5419182 1.5310673 0.0018021278 -0.020602766 4.5607189 + 22480 19.999581 1.0079637 24.127983 6.059888 4.5484465 1.5114415 0.0015294859 -0.019603233 4.5665202 + 22490 20.175428 1.0056965 23.679714 6.0610581 4.5530163 1.5080419 0.0016962956 -0.020289443 4.5716094 + 22500 20.264934 1.0281118 23.819192 6.0680851 4.5264315 1.5416536 0.001776106 -0.020790324 4.5454457 + 22510 20.326867 1.0106864 23.672656 6.0632923 4.5477681 1.5155242 0.0018912674 -0.021881317 4.5677581 + 22520 20.054358 1.0219341 23.659781 6.0724457 4.5400555 1.5323902 0.0019415126 -0.022453 4.560567 + 22530 20.214068 1.0057864 23.751665 6.0612857 4.553109 1.5081767 0.0018740711 -0.022243851 4.5734788 + 22540 20.597429 1.0283857 23.732305 6.0795491 4.5374848 1.5420643 0.001658538 -0.021602277 4.5574285 + 22550 20.29253 1.0162006 23.865746 6.0498646 4.5260718 1.5237929 0.001694691 -0.022107589 4.5464847 + 22560 20.261609 1.0118599 23.669543 6.0594133 4.5421294 1.5172839 0.0015539052 -0.021320708 4.5618962 + 22570 20.333885 1.0024921 23.820938 6.0349349 4.5316979 1.503237 0.0017191024 -0.022016606 4.5519954 + 22580 20.252019 1.0053453 23.660543 6.0352063 4.5276909 1.5075153 0.0017118621 -0.021851694 4.5478308 + 22590 20.575116 1.0219574 23.954089 6.060362 4.5279368 1.5324252 0.0019490141 -0.022342932 4.5483308 + 22600 20.411943 1.0096399 23.515484 6.0642015 4.5502464 1.5139551 0.0019981792 -0.023014478 4.5712627 + 22610 20.039817 1.002439 23.734047 6.0265942 4.5234369 1.5031573 0.0018580292 -0.022725744 4.5443046 + 22620 20.161258 1.001408 23.348748 6.0509487 4.5493375 1.5016113 0.0018928604 -0.022542096 4.5699867 + 22630 20.415432 1.0219102 23.802548 6.0753146 4.5429602 1.5323544 0.001967049 -0.022568016 4.5635612 + 22640 20.189808 1.0247205 23.970509 6.0660813 4.5295129 1.5365684 0.0019779609 -0.022276581 4.5498116 + 22650 20.311933 1.0073004 23.896822 6.0354164 4.5249695 1.5104469 0.0019550269 -0.022161446 4.5451759 + 22660 20.073538 1.0068107 23.663731 6.0479756 4.538263 1.5097126 0.0018991688 -0.021863332 4.5582272 + 22670 20.295365 1.0080874 23.758806 6.0257512 4.5141241 1.511627 0.0020416782 -0.022438712 4.5345212 + 22680 20.400397 0.98796786 23.797246 6.0116015 4.5301437 1.4814578 0.0019922725 -0.022498273 4.5506497 + 22690 20.304632 1.0162142 23.790698 6.0310557 4.5072425 1.5238132 0.0018869537 -0.02176259 4.5271181 + 22700 20.307724 1.0137359 23.686735 6.051879 4.5317821 1.5200969 0.0019369749 -0.022326903 4.552172 + 22710 20.200684 1.0162631 23.514394 6.0651344 4.5412479 1.5238865 0.001922324 -0.022187431 4.561513 + 22720 20.168397 1.021993 23.614966 6.0661224 4.5336438 1.5324786 0.001886963 -0.021898518 4.5536554 + 22730 20.281618 0.99696898 23.374429 6.0381645 4.5432095 1.494955 0.0019003829 -0.021676768 4.5629859 + 22740 20.419898 1.0166262 23.477015 6.0534049 4.528974 1.5244309 0.001863497 -0.021748876 4.5488594 + 22750 20.115876 1.0247773 23.951856 6.0762799 4.5396263 1.5366536 0.0019378605 -0.02195264 4.5596411 + 22760 20.109711 1.0211961 23.844822 6.0628677 4.5315842 1.5312835 0.0019026686 -0.021788337 4.5514699 + 22770 20.36246 1.0036243 23.606315 6.0512474 4.5463128 1.5049346 0.0017643064 -0.021372492 4.565921 + 22780 20.135751 1.0220537 23.613473 6.080852 4.5482825 1.5325696 0.001756366 -0.021473979 4.5680001 + 22790 20.063856 1.0381566 23.608385 6.0900397 4.5333238 1.5567159 0.0015929755 -0.020882759 4.5526136 + 22800 20.233199 1.0287941 23.48161 6.0615818 4.5189051 1.5426767 0.0015886508 -0.021259533 4.538576 + 22810 20.315682 1.0365991 23.886744 6.0881856 4.5338052 1.5543804 0.0015891522 -0.021382854 4.5535989 + 22820 20.242051 1.0235259 23.967806 6.0868563 4.5520793 1.534777 0.0016349034 -0.02129178 4.5717362 + 22830 20.244411 1.0155801 23.400287 6.0553539 4.5324915 1.5228624 0.0015682834 -0.020483866 4.5514071 + 22840 20.085936 0.99731616 23.557006 6.0208621 4.5253865 1.4954756 0.0018456765 -0.021575324 4.5451162 + 22850 20.07855 0.99671853 23.566452 6.0421272 4.5475478 1.4945794 0.0020840095 -0.022957397 4.5684212 + 22860 20.227184 0.99999116 23.672857 6.0394058 4.5399191 1.4994867 0.0021731193 -0.023353357 4.5610993 + 22870 20.396121 1.0188485 23.700629 6.056877 4.5291137 1.5277633 0.0021453203 -0.023078748 4.5500471 + 22880 20.334514 1.0225645 23.669572 6.0711435 4.537808 1.5333355 0.0018484863 -0.021922184 4.5578817 + 22890 20.364141 1.0419924 23.491416 6.0816042 4.5191367 1.5624676 0.0017503611 -0.021317401 4.5387037 + 22900 20.269013 1.016347 23.648112 6.0601588 4.5361466 1.5240123 0.0018507871 -0.021750928 4.5560467 + 22910 20.203501 1.0102068 23.59392 6.0798965 4.5650914 1.5148051 0.0019946234 -0.022460041 4.5855569 + 22920 20.208668 1.0080037 23.569603 6.0430159 4.5315143 1.5115016 0.0019922384 -0.022385317 4.5519074 + 22930 20.122912 1.0041827 23.573566 6.0350193 4.5292473 1.5057719 0.0018739649 -0.021686783 4.5490602 + 22940 19.918239 1.0078098 23.668441 6.0425311 4.5313203 1.5112108 0.0016753379 -0.020560401 4.5502054 + 22950 20.163427 1.0104106 23.726111 6.0142576 4.4991469 1.5151107 0.0015522779 -0.020222076 4.5178167 + 22960 20.31179 0.99643949 23.605019 6.0044506 4.5102896 1.494161 0.0016652035 -0.021286054 4.5299105 + 22970 20.344342 0.99664206 23.906364 6.0161248 4.52166 1.4944648 0.0019805844 -0.022928451 4.5426078 + 22980 20.417076 0.99371602 23.724031 6.0057707 4.5156935 1.4900772 0.0021357903 -0.023178838 4.5367365 + 22990 19.755945 0.99159534 23.413577 6.0126832 4.525786 1.4868972 0.0020941514 -0.022797212 4.5464891 + 23000 19.937979 0.98539856 23.687235 6.0110196 4.5334144 1.4776051 0.0019728314 -0.022836514 4.5542781 + 23010 20.372589 1.0079476 23.622525 6.0147726 4.5033551 1.5114175 0.0018691008 -0.022579097 4.5240651 + 23020 20.463418 1.0040991 23.810103 6.0389386 4.5332919 1.5056467 0.0017801594 -0.0221408 4.5536526 + 23030 20.358985 0.99668406 23.921954 6.0294093 4.5348816 1.4945278 0.0017540014 -0.022179364 4.5553069 + 23040 20.388499 1.005846 23.804487 6.0198161 4.51155 1.5082661 0.0018440764 -0.023089767 4.5327956 + 23050 20.321172 0.97605577 23.745711 5.9925407 4.528945 1.4635956 0.0020867556 -0.024229123 4.5510874 + 23060 20.27744 0.96943921 23.864396 5.9782183 4.5245442 1.4536741 0.0021264173 -0.024099358 4.5465172 + 23070 20.066456 0.97742001 23.287342 5.9845123 4.518871 1.4656413 0.0022830599 -0.024303492 4.5408915 + 23080 20.523539 0.98073135 23.737927 5.9922556 4.521649 1.4706067 0.0024589252 -0.024595879 4.5437859 + 23090 20.236887 0.97804357 23.375175 6.0055995 4.5390232 1.4665763 0.0023644582 -0.024592747 4.5612515 + 23100 20.153513 0.99203476 23.987471 6.0314062 4.5438501 1.4875561 0.0023915752 -0.025061761 4.5665202 + 23110 20.454971 1.0022113 23.752161 6.013156 4.5103401 1.5028159 0.0023760886 -0.025054516 4.5330185 + 23120 20.502668 0.9821091 23.790577 5.9953197 4.5226471 1.4726726 0.0023546769 -0.025305441 4.5455978 + 23130 20.44373 0.97764703 23.741302 5.9910224 4.5250407 1.4659817 0.0021555227 -0.024740051 4.5476252 + 23140 20.312627 0.99429897 23.564944 6.0058743 4.5149229 1.4909513 0.0019826912 -0.023975646 4.5369159 + 23150 20.10847 0.98772031 23.482344 6.0037824 4.5226958 1.4810866 0.0018299983 -0.023279745 4.5441455 + 23160 20.020376 0.99873788 23.34803 6.0170467 4.5194392 1.4976075 0.0017671806 -0.022821523 4.5404935 + 23170 20.14332 1.0024315 23.820526 6.0401645 4.5370184 1.5031461 0.0016639853 -0.022178139 4.5575326 + 23180 20.286491 1.0050483 23.638734 6.0459818 4.538912 1.5070699 0.0015573439 -0.021339292 4.5586939 + 23190 20.089417 1.0116248 23.971023 6.041684 4.5247526 1.5169313 0.001622761 -0.021617794 4.5447477 + 23200 20.319764 0.98693766 23.773045 6.038705 4.558792 1.479913 0.0015768683 -0.021045048 4.5782602 + 23210 20.392168 1.0277447 23.97434 6.0880758 4.5469726 1.5411032 0.0015229304 -0.020902224 4.5663519 + 23220 20.354154 1.0069194 23.470766 6.0691907 4.559315 1.5098757 0.0014817707 -0.020664486 4.5784977 + 23230 20.220357 1.0151928 23.755211 6.0619716 4.5396899 1.5222816 0.0015248689 -0.020627574 4.5587926 + 23240 20.341123 0.99740738 23.778339 6.0300856 4.5344732 1.4956124 0.0017569427 -0.021588424 4.5543047 + 23250 20.410378 1.0215098 23.523436 6.0526171 4.5208632 1.5317539 0.0019402107 -0.022235669 4.5411587 + 23260 20.201733 1.0158107 23.590662 6.0651661 4.541958 1.5232081 0.0018830484 -0.022074444 4.5621494 + 23270 20.018876 1.0109073 23.693698 6.065307 4.5494516 1.5158555 0.0018194272 -0.021961304 4.5695934 + 23280 20.165259 1.0089386 23.727915 6.0534681 4.5405647 1.5129034 0.0017757017 -0.022070505 4.5608595 + 23290 20.181013 1.0021824 23.644071 6.045813 4.5430405 1.5027725 0.0017847959 -0.022047656 4.5633033 + 23300 20.45934 1.0127519 23.805786 6.0237532 4.5051317 1.5186215 0.0016642831 -0.021535195 4.5250026 + 23310 20.207343 0.99535364 23.576936 6.038778 4.5462452 1.4925328 0.0017107313 -0.021720172 4.5662546 + 23320 20.336222 1.0119166 23.87021 6.0459052 4.5285363 1.517369 0.0018429457 -0.022176894 4.5488702 + 23330 20.296599 1.010335 23.748666 6.0639455 4.5489482 1.5149973 0.0019007611 -0.022223667 4.5692711 + 23340 20.203517 1.0154999 23.691326 6.0725336 4.5497915 1.5227421 0.001890215 -0.022188432 4.5700897 + 23350 20.182309 1.0342229 23.703362 6.0807475 4.5299302 1.5508173 0.0018247077 -0.021928562 4.550034 + 23360 20.307151 1.0124282 23.757305 6.0405782 4.5224421 1.5181361 0.0018216106 -0.021795917 4.5424164 + 23370 20.527577 0.98372727 23.590528 6.0202712 4.5451722 1.475099 0.0016954613 -0.021311521 4.5647883 + 23380 20.224991 1.0031558 23.752902 6.0261701 4.5219379 1.5042321 0.0016761226 -0.021251995 4.5415138 + 23390 20.52127 1.0002322 23.735492 6.0110034 4.5111553 1.4998482 0.0014929018 -0.020834189 4.5304966 + 23400 20.084594 0.99702704 23.665258 6.0212246 4.5261826 1.495042 0.0013159384 -0.020186627 4.5450533 + 23410 20.204276 0.99499911 23.753301 6.0260968 4.5340956 1.4920012 0.0013830055 -0.020552403 4.553265 + 23420 20.193805 1.0048255 23.608097 6.0527428 4.5460069 1.5067359 0.0012958329 -0.020358138 4.5650692 + 23430 20.344671 1.0149158 23.700148 6.0535914 4.5317251 1.5218663 0.0013358943 -0.020567479 4.5509567 + 23440 20.049944 1.0084026 23.523529 6.0429561 4.5308564 1.5120997 0.0014205349 -0.021135076 4.550571 + 23450 20.355921 0.99720394 23.679702 6.0394743 4.544167 1.4953073 0.0017812899 -0.022660428 4.5650462 + 23460 19.809969 1.0104516 23.752641 6.031303 4.5161308 1.5151722 0.0019480776 -0.023589483 4.5377722 + 23470 19.898534 1.0074961 23.788408 6.0433531 4.5326127 1.5107404 0.0018979344 -0.023212758 4.5539276 + 23480 20.015915 1.0190631 23.4234 6.0581223 4.5300371 1.5280851 0.001877362 -0.023115237 4.551275 + 23490 20.089237 1.0279172 23.944977 6.0748173 4.5334555 1.5413618 0.0018402712 -0.022948863 4.5545641 + 23500 20.336469 1.0150687 23.756757 6.0679483 4.5458527 1.5220956 0.0018198074 -0.022625823 4.5666588 + 23510 20.375334 1.0161835 23.482178 6.0561117 4.5323445 1.5237672 0.001840172 -0.022694582 4.553199 + 23520 20.138311 1.0122117 23.934224 6.0326088 4.5147974 1.5178114 0.001748995 -0.022256409 4.5353048 + 23530 20.189915 0.99303284 23.521761 6.0159507 4.5268979 1.4890527 0.0017227014 -0.022066579 4.5472418 + 23540 20.145552 0.98956224 23.764267 6.0257386 4.54189 1.4838486 0.0017526356 -0.022407793 4.5625451 + 23550 19.815203 1.0014007 23.624249 6.0318921 4.5302918 1.5016003 0.0019788336 -0.023455631 4.5517686 + 23560 20.330104 0.98824946 23.455735 6.0210336 4.5391535 1.4818801 0.0018341916 -0.022667472 4.5599868 + 23570 20.442491 0.98357644 23.776792 5.993123 4.5182501 1.4748729 0.0017551731 -0.022283413 4.5387783 + 23580 20.082004 0.99817028 23.543712 6.0374389 4.5406826 1.4967563 0.0019639209 -0.023034104 4.5617527 + 23590 19.913299 1.0025659 23.539521 6.0321425 4.5287949 1.5033476 0.0017752792 -0.022263913 4.5492835 + 23600 19.933921 1.0250531 23.755742 6.0403207 4.5032536 1.5370671 0.0018136273 -0.022395807 4.5238357 + 23610 19.960907 1.0067986 23.913638 6.0599802 4.5502857 1.5096945 0.0018748947 -0.022141878 4.5705527 + 23620 20.097452 1.0296254 23.751836 6.061017 4.5170937 1.5439232 0.0019965489 -0.022594739 4.5376919 + 23630 20.06295 1.0129138 23.683994 6.0491369 4.5302727 1.5188642 0.0019397942 -0.022175705 4.5505086 + 23640 19.321932 1.0069563 23.410589 6.0533312 4.5434002 1.509931 0.0016603555 -0.021354607 4.5630944 + 23650 20.210138 0.9993507 23.59231 6.0452023 4.546676 1.4985264 0.0015616386 -0.0212218 4.5663361 + 23660 20.159813 1.0239765 23.668089 6.0623721 4.5269193 1.5354528 0.0015769788 -0.021668288 4.5470106 + 23670 19.935762 1.0140955 23.730243 6.0458145 4.5251783 1.5206362 0.0017581202 -0.022507625 4.5459278 + 23680 20.028108 1.0138524 23.701589 6.0482266 4.5279549 1.5202717 0.0018337319 -0.022992341 4.5491135 + 23690 20.22628 0.98714616 23.607697 6.0248553 4.5446296 1.4802257 0.0018839821 -0.023492432 4.5662381 + 23700 20.261429 0.97927216 23.381335 5.9987795 4.5303609 1.4684186 0.0019659873 -0.023811135 4.552206 + 23710 20.212916 0.98785346 23.505425 6.0195926 4.5383063 1.4812863 0.0020424486 -0.024069753 4.5603336 + 23720 20.133999 1.0029274 23.590425 6.0465354 4.5426457 1.5038897 0.0019739383 -0.023525534 4.5641973 + 23730 20.302402 0.9984348 23.756984 6.0471427 4.5499898 1.497153 0.0017215009 -0.022169924 4.5704382 + 23740 20.509586 1.0090476 23.39426 6.0736741 4.5606072 1.5130669 0.0016583788 -0.021927036 4.5808759 + 23750 20.462974 1.0010604 24.099731 6.042916 4.541826 1.50109 0.0017514215 -0.022396158 4.5624707 + 23760 20.250502 1.0022378 23.677524 6.016941 4.5140855 1.5028555 0.0019003725 -0.023002585 4.5351877 + 23770 20.423073 0.99210927 23.611863 6.0254268 4.5377589 1.4876678 0.0019146134 -0.022737288 4.5585816 + 23780 20.306845 1.0052664 24.068752 6.0437332 4.5363363 1.5073969 0.0020004032 -0.022438208 4.5567741 + 23790 20.221755 0.997443 23.752954 6.0421335 4.5464677 1.4956658 0.0021804178 -0.022704328 4.5669916 + 23800 20.20379 0.99591921 23.538409 6.0117548 4.518374 1.4933809 0.0020602959 -0.022504619 4.5388183 + 23810 20.37116 0.99068423 23.692456 6.0199677 4.5344367 1.485531 0.0018805079 -0.022039089 4.5545953 + 23820 20.328314 1.003927 23.622848 6.0446528 4.5392642 1.5053886 0.0015901444 -0.020852287 4.5585264 + 23830 20.220608 0.99319273 23.678386 6.0372644 4.5479719 1.4892925 0.0015677901 -0.020633301 4.5670374 + 23840 20.310626 1.0199382 23.834727 6.0523385 4.5229412 1.5293973 0.0015312311 -0.020274321 4.5416843 + 23850 20.015921 1.0257457 23.849586 6.0549787 4.516873 1.5381057 0.001709549 -0.020711769 4.5358752 + 23860 19.947447 1.0195814 23.529635 6.0701765 4.5413142 1.5288624 0.0016914659 -0.020187404 4.5598101 + 23870 20.030122 1.0432282 23.863339 6.0752645 4.5109438 1.5643207 0.0015754334 -0.020260205 4.5296285 + 23880 20.187944 1.021343 23.898747 6.0795122 4.5480083 1.5315038 0.001699513 -0.020645999 4.5669548 + 23890 19.948342 1.0014293 23.589023 6.0496507 4.5480075 1.5016432 0.0020195126 -0.022353598 4.5683416 + 23900 20.32962 1.0322013 23.743018 6.0783053 4.5305195 1.5477858 0.0020983128 -0.02339074 4.5518119 + 23910 20.281093 1.0222308 23.918419 6.051883 4.5190479 1.5328351 0.0020678696 -0.023115259 4.5400953 + 23920 20.056837 1.0062705 23.622847 6.0552528 4.5463502 1.5089026 0.0018086652 -0.02205012 4.5665916 + 23930 20.234719 1.0136713 23.668393 6.0731438 4.5531437 1.5200001 0.0016559795 -0.021270489 4.5727582 + 23940 20.01513 1.0098924 23.423335 6.0511744 4.5368407 1.5143337 0.0017100004 -0.021530094 4.5566608 + 23950 20.108877 1.0124026 23.984277 6.0445353 4.5264375 1.5180977 0.0018466905 -0.022121359 4.5467122 + 23960 20.518357 1.0068178 23.785983 6.0540179 4.5442946 1.5097233 0.0018864802 -0.022492907 4.564901 + 23970 20.146539 1.0120818 23.736721 6.0323823 4.5147657 1.5176166 0.0020100453 -0.022779861 4.5355355 + 23980 19.85661 0.9861881 23.452708 6.0099621 4.531173 1.478789 0.0021431956 -0.023334368 4.5523642 + 23990 20.219742 1.017212 24.028372 6.0310706 4.5057611 1.5253094 0.0020364974 -0.023045076 4.5267697 + 24000 20.371341 1.0025838 23.938287 6.0366011 4.5332267 1.5033744 0.0020414407 -0.023102301 4.5542876 + 24010 20.483097 0.99372772 23.24688 6.0244295 4.5343348 1.4900947 0.0019018384 -0.022315459 4.5547484 + 24020 20.580102 0.99735954 23.849946 6.0317649 4.5362243 1.4955406 0.0016916079 -0.021807616 4.5563403 + 24030 20.359084 1.0117308 23.621408 6.0406048 4.5235144 1.5170904 0.0016401422 -0.02207385 4.5439481 + 24040 20.481886 0.99625273 23.793891 6.0278107 4.5339298 1.493881 0.0017276388 -0.022738991 4.5549411 + 24050 20.450733 0.99865193 23.900343 6.0258162 4.5283376 1.4974786 0.0017906946 -0.022339873 4.5488868 + 24060 20.356616 0.9868164 23.680855 6.0221103 4.5423791 1.4797312 0.0016468203 -0.021359595 4.5620919 + 24070 20.395222 0.99858476 23.491678 6.0164861 4.5191082 1.4973779 0.0013495633 -0.019702813 4.5374615 + 24080 20.033622 0.98269033 23.561608 5.9945975 4.5210533 1.4735442 0.0012425904 -0.019032474 4.5388432 + 24090 20.055942 0.99452838 23.911331 6.0024926 4.5111973 1.4912953 0.00143589 -0.020459369 4.5302208 + 24100 20.306081 0.98638432 23.696069 6.0044419 4.5253586 1.4790833 0.0015961982 -0.021630234 4.5453927 + 24110 20.201808 1.0054519 23.719993 6.0277922 4.520117 1.5076752 0.0017151247 -0.021444341 4.5398463 + 24120 20.076002 0.99249939 23.54113 6.021816 4.5335632 1.4882528 0.001533165 -0.020343812 4.5523738 + 24130 20.266598 1.013076 23.683007 6.0526347 4.5335272 1.5191075 0.0016690372 -0.021121909 4.55298 + 24140 20.342216 1.0008883 23.732273 6.0530825 4.5522505 1.5008321 0.0016982252 -0.021383872 4.5719361 + 24150 19.980161 1.019814 23.852266 6.0729221 4.5437109 1.5292112 0.0017388236 -0.02178912 4.5637612 + 24160 20.482599 1.0234883 23.799252 6.0576349 4.5229142 1.5347207 0.001969818 -0.022940959 4.5438853 + 24170 20.29483 1.0023455 23.487109 6.0363911 4.5333741 1.5030171 0.0021144286 -0.023884139 4.5551438 + 24180 19.968471 1.0193762 23.721699 6.03579 4.5072354 1.5285546 0.0019217971 -0.02321839 4.528532 + 24190 20.147915 0.99448961 23.739074 6.0106052 4.519368 1.4912372 0.0017795997 -0.022284414 4.5398728 + 24200 20.154346 1.0035012 23.634191 6.020985 4.516235 1.5047501 0.0017427337 -0.021627298 4.5361195 + 24210 20.26067 0.9931718 23.785708 6.0341938 4.5449327 1.4892611 0.001653026 -0.020915936 4.5641956 + 24220 20.219182 0.98590049 23.347193 6.0205957 4.5422379 1.4783578 0.001690746 -0.020909335 4.5614565 + 24230 20.15099 0.99190927 23.668924 5.994906 4.507538 1.487368 0.001965082 -0.022661238 4.5282342 + 24240 20.045976 0.98259161 23.891421 5.9992199 4.5258238 1.4733961 0.0021707288 -0.023387697 4.5470407 + 24250 20.122046 1.0143718 23.891882 6.0495604 4.5285098 1.5210505 0.0020810983 -0.022692848 4.5491216 + 24260 20.403774 1.007476 23.401581 6.0545221 4.5438119 1.5107102 0.0018306778 -0.022138665 4.5641199 + 24270 20.232923 1.0198852 23.763324 6.0574052 4.5280873 1.5293179 0.001880628 -0.02268606 4.5488928 + 24280 20.2091 1.0003575 23.770879 6.0400575 4.5400214 1.5000361 0.0019334529 -0.023165935 4.5612539 + 24290 20.101674 1.0150857 23.933335 6.0579994 4.5358784 1.522121 0.0018622067 -0.022935572 4.5569518 + 24300 20.016263 1.0171329 23.878749 6.0604629 4.5352721 1.5251908 0.0018966911 -0.023003949 4.5563794 + 24310 19.977607 1.013279 23.600627 6.0661891 4.5467773 1.5194118 0.0019666247 -0.023250796 4.5680615 + 24320 20.239675 1.0112294 23.684728 6.0552669 4.5389285 1.5163385 0.0019230771 -0.022806404 4.5598118 + 24330 20.173745 0.99446981 23.579075 6.0382531 4.5470456 1.4912075 0.0018293347 -0.022531984 4.5677483 + 24340 20.04324 0.99780254 23.584076 6.0127919 4.516587 1.4962049 0.0016591903 -0.021710926 4.5366387 + 24350 19.998913 0.9909856 23.564228 6.0180957 4.5321128 1.4859829 0.0014429054 -0.020547603 4.5512175 + 24360 20.278724 0.99181256 23.624269 6.0080165 4.5207935 1.4872229 0.0013865863 -0.019872189 4.5392791 + 24370 20.413235 0.9999033 23.402943 6.0202816 4.5209266 1.499355 0.0016117337 -0.021027523 4.5403424 + 24380 20.198597 0.99091756 23.757883 6.0337067 4.5478258 1.4858809 0.0017353227 -0.02126279 4.5673533 + 24390 19.979298 0.99636221 23.753745 6.0337158 4.5396707 1.4940451 0.0016470102 -0.020905242 4.5589289 + 24400 20.047668 1.0066986 23.663506 6.0505489 4.5410043 1.5095446 0.0017297571 -0.021026203 4.5603008 + 24410 20.443241 1.0060404 23.608964 6.0465369 4.5379793 1.5085576 0.0017276882 -0.020866751 4.5571184 + 24420 20.17949 1.0190705 23.537567 6.0625461 4.5344499 1.5280962 0.0018436587 -0.021135418 4.5537417 + 24430 20.189985 1.015127 24.040827 6.0663676 4.5441847 1.5221829 0.00188475 -0.021567229 4.5638671 + 24440 19.392368 1.0092381 23.889035 6.0414531 4.5281005 1.5133526 0.0018536215 -0.021578347 4.5478252 + 24450 19.753525 1.0138394 23.644912 6.0365325 4.5162803 1.5202522 0.0017567732 -0.021528746 4.5360523 + 24460 20.234212 0.99182396 23.593307 6.0291505 4.5419105 1.48724 0.0018908651 -0.022420409 4.56244 + 24470 20.118855 0.99926725 23.865718 6.024609 4.5262077 1.4984012 0.0020495997 -0.022993955 4.5471521 + 24480 20.117777 1.0007823 24.077386 6.0378929 4.5372199 1.500673 0.0020446195 -0.022980759 4.5581561 + 24490 20.16675 1.0174955 23.7426 6.0516519 4.5259173 1.5257346 0.0021130328 -0.023421701 4.547226 + 24500 19.983885 0.99982293 23.666569 6.0473099 4.5480754 1.4992345 0.0022483176 -0.024144223 4.5699713 + 24510 19.90722 1.0115911 23.506979 6.0527788 4.535898 1.5168808 0.0023278561 -0.024470086 4.5580402 + 24520 19.965426 0.98970047 23.32277 6.0415806 4.5575248 1.4840559 0.002234682 -0.024189502 4.5794796 + 24530 20.375971 1.0082893 23.621774 6.0327402 4.5208104 1.5119298 0.002283021 -0.024543066 4.5430705 + 24540 20.353748 1.006443 24.117107 6.0401712 4.5310099 1.5091612 0.0024129167 -0.024997991 4.553595 + 24550 20.458961 0.98563162 23.836059 6.004758 4.5268034 1.4779546 0.0028174566 -0.026708198 4.5506941 + 24560 20.326344 0.9787868 23.611414 5.9884484 4.5207576 1.4676908 0.0026802876 -0.02639606 4.5444733 + 24570 20.252399 0.98712504 23.674026 5.9927686 4.5125746 1.480194 0.0024381228 -0.025351412 4.5354879 + 24580 20.173422 1.0028187 23.882831 6.0002508 4.4965241 1.5037267 0.0023311142 -0.024669795 4.5188628 + 24590 20.030554 0.98504827 23.597889 6.0007247 4.5236448 1.4770799 0.0021373815 -0.023757322 4.5452647 + 24600 20.124768 1.0143158 23.732351 6.0486075 4.527641 1.5209665 0.0019174826 -0.022819903 4.5485434 + 24610 20.222026 1.0043875 23.87527 6.0381067 4.5320277 1.506079 0.0016854056 -0.021650243 4.5519925 + 24620 19.937478 1.0162452 23.508031 6.0450323 4.5211726 1.5238596 0.0016615254 -0.020903689 4.5404148 + 24630 20.269751 1.0011038 23.58564 6.0404851 4.53933 1.5011551 0.0015159422 -0.020087315 4.5579014 + 24640 20.060332 1.0273158 23.814442 6.0568305 4.5163705 1.5404601 0.0017047798 -0.021134985 4.5358007 + 24650 20.395184 1.0113913 23.736355 6.0534334 4.5368522 1.5165812 0.0017223741 -0.022032399 4.5571623 + 24660 20.349418 0.99960436 23.605445 6.051485 4.5525783 1.4989067 0.0017108458 -0.02246284 4.5733303 + 24670 20.115767 1.0209871 24.113517 6.0472669 4.5162968 1.5309701 0.0017889319 -0.022972428 4.5374803 + 24680 20.43213 1.0186191 23.832027 6.0585471 4.5311278 1.5274194 0.0019375896 -0.023679615 4.5528698 + 24690 20.363687 1.0215323 23.50834 6.0666883 4.5349006 1.5317877 0.0018262385 -0.02284055 4.5559149 + 24700 20.217513 1.0155312 23.595867 6.084924 4.562135 1.5227891 0.0018750212 -0.022613101 4.582873 + 24710 20.340695 1.0203299 23.789589 6.0676074 4.5376227 1.5299847 0.0015652596 -0.020761146 4.5568186 + 24720 20.443315 1.0170882 23.587909 6.0565457 4.531422 1.5251238 0.0015471964 -0.020628778 4.5505036 + 24730 20.182192 1.0173559 23.61138 6.0759115 4.5503863 1.5255252 0.001549381 -0.020416229 4.5692532 + 24740 20.078957 1.0082874 23.609037 6.0657225 4.5537955 1.511927 0.0012651178 -0.019094258 4.5716246 + 24750 20.269244 1.0084761 23.579328 6.0466504 4.5344405 1.5122098 0.0012937505 -0.019512745 4.5526595 + 24760 20.399827 1.0072992 23.845136 6.0197746 4.5093295 1.5104452 0.0013119913 -0.019788258 4.5278057 + 24770 20.297664 1.004741 23.752244 6.033411 4.526802 1.5066091 0.0011788314 -0.018906938 4.5445301 + 24780 20.192757 1.0231688 23.700149 6.0666479 4.5324063 1.5342416 0.0012121661 -0.019140896 4.5503351 + 24790 20.254254 1.0161173 23.984261 6.0570607 4.5333928 1.5236679 0.0011130972 -0.018785807 4.5510655 + 24800 20.306541 1.0001184 23.594268 6.0456608 4.5459833 1.4996775 0.0013110388 -0.019622468 4.5642947 + 24810 20.091068 1.0115016 23.652859 6.0504468 4.5337002 1.5167466 0.0013920802 -0.019856329 4.5521644 + 24820 20.18666 1.0123501 23.862254 6.0656788 4.5476597 1.518019 0.001488879 -0.02021639 4.5663873 + 24830 20.147359 0.99717924 23.659755 6.0427361 4.5474659 1.4952703 0.0015890384 -0.020176367 4.5660532 + 24840 20.452721 1.0181561 23.653848 6.0485909 4.5218659 1.526725 0.0015464772 -0.020208004 4.5405274 + 24850 20.099263 0.99565923 23.754587 6.0226451 4.5296541 1.492991 0.0015060136 -0.020330112 4.5484782 + 24860 19.891508 0.99273261 23.570189 6.0147834 4.5261809 1.4886025 0.0017409489 -0.021271841 4.5457118 + 24870 20.039301 1.0082941 23.700694 6.0340306 4.5220936 1.511937 0.0018550848 -0.022280045 4.5425186 + 24880 19.680543 1.0067243 24.046551 6.032361 4.5227779 1.5095831 0.0018726202 -0.022468846 4.5433741 + 24890 19.887381 1.0119995 23.393057 6.0668626 4.5493693 1.5174933 0.0017558245 -0.021719582 4.5693331 + 24900 19.97043 1.0335084 24.125735 6.1022092 4.5524634 1.5497458 0.0015063722 -0.019813399 4.5707704 + 24910 20.164749 1.0351509 23.787728 6.0897865 4.5375777 1.5522088 0.0010541387 -0.017630723 4.5541543 + 24920 20.54577 1.0320204 23.674955 6.0871825 4.5396679 1.5475146 0.00086676015 -0.016807035 4.5556082 + 24930 20.447021 1.035956 23.596779 6.0923723 4.5389562 1.553416 0.0010159619 -0.017726676 4.5556669 + 24940 20.271032 1.0176531 23.828792 6.0706966 4.5447257 1.5259708 0.0012217961 -0.018919402 4.5624233 + 24950 20.108607 1.004627 23.801055 6.0386967 4.5322585 1.5064382 0.0012606106 -0.019356925 4.5503548 + 24960 20.347531 1.0057054 23.590474 6.0141589 4.5061037 1.5080552 0.0013780664 -0.020140849 4.5248665 + 24970 20.11835 0.99586449 23.743675 6.0188106 4.5255118 1.4932988 0.0015233252 -0.020626777 4.5446152 + 24980 20.382326 1.009008 23.520243 6.0383929 4.5253854 1.5130076 0.0014176604 -0.020412609 4.5443803 + 24990 20.407107 0.99589519 23.520758 6.0408981 4.5475533 1.4933448 0.0013954817 -0.020294973 4.5664528 + 25000 20.269595 1.0056803 23.805905 6.0206856 4.512668 1.5080176 0.0013310086 -0.020496834 4.5318339 + 25010 20.242267 1.0026959 23.870943 6.0445122 4.5409696 1.5035426 0.0013156547 -0.020826191 4.5604801 + 25020 20.382995 1.0033332 23.462641 6.0236696 4.5191714 1.5044982 0.0014042865 -0.020828251 4.5385953 + 25030 20.474421 1.0081175 23.816673 6.043172 4.5314999 1.5116721 0.0013926248 -0.02054164 4.5506489 + 25040 19.9951 1.0003773 23.869077 6.0263088 4.5262431 1.5000657 0.0016339814 -0.021595405 4.5462045 + 25050 19.851642 1.0169617 23.786615 6.0323997 4.5074656 1.5249341 0.0018260641 -0.02216869 4.5278083 + 25060 20.268935 0.99752508 23.851185 6.0515631 4.5557742 1.4957889 0.0017890743 -0.021948809 4.575934 + 25070 20.307403 0.99371495 23.828906 6.0438037 4.5537281 1.4900756 0.0016400736 -0.021223861 4.5733119 + 25080 20.463321 1.0100989 23.546078 6.0190376 4.5043943 1.5146433 0.0016493834 -0.021526903 4.5242718 + 25090 20.139624 0.96558823 23.670539 5.9801386 4.5322391 1.4478995 0.0017581705 -0.021761974 4.5522429 + 25100 20.138019 1.004282 23.564949 6.0213759 4.515455 1.5059209 0.0018203146 -0.021351675 4.5349863 + 25110 20.118752 1.0082951 23.80162 6.0390946 4.527156 1.5119386 0.0019066845 -0.021619451 4.5468688 + 25120 20.14318 1.0090454 23.710715 6.0437441 4.5306805 1.5130635 0.0019876619 -0.02231059 4.5510035 + 25130 20.251132 1.022646 23.964819 6.0555817 4.5221241 1.5334576 0.0019913539 -0.02243826 4.542571 + 25140 20.439726 1.0191678 23.647904 6.0477206 4.5194784 1.5282422 0.0019978484 -0.023054503 4.5405351 + 25150 20.242716 1.0016118 23.741955 6.051886 4.5499691 1.501917 0.0018781285 -0.022465957 4.5705569 + 25160 20.200647 1.0146245 23.929072 6.0734035 4.5519741 1.5214294 0.0018886674 -0.022691698 4.5727771 + 25170 20.205374 1.0268008 24.003701 6.06203 4.5223422 1.5396879 0.0020543469 -0.023295434 4.5435833 + 25180 20.104456 1.0065203 23.645451 6.0590109 4.5497336 1.5092773 0.002107199 -0.023315299 4.5709417 + 25190 20.16058 1.0077608 23.755292 6.0561036 4.5449663 1.5111373 0.0019590738 -0.022665658 4.5656729 + 25200 20.244918 1.0248798 23.612745 6.0609893 4.5241821 1.5368072 0.0019404828 -0.023026394 4.545268 + 25210 20.107336 1.0340613 23.666263 6.0855908 4.5350158 1.550575 0.0017289583 -0.02271772 4.5560046 + 25220 20.470693 1.0162859 24.005884 6.0804942 4.5565735 1.5239208 0.0017125848 -0.02271439 4.5775753 + 25230 20.072387 1.0429181 23.712907 6.0941783 4.5303226 1.5638557 0.0015630355 -0.022035862 4.5507954 + 25240 20.4481 1.0120124 23.565143 6.0601166 4.5426041 1.5175126 0.001537782 -0.02147129 4.5625376 + 25250 20.107733 1.0369659 23.906266 6.0771158 4.5221854 1.5549304 0.0016330925 -0.021694906 4.5422472 + 25260 20.199781 1.0239771 23.75735 6.0620558 4.5266021 1.5354536 0.0017532849 -0.022143336 4.5469922 + 25270 20.153847 1.0142919 23.981477 6.0263677 4.505437 1.5209307 0.0019451488 -0.023020675 4.5265126 + 25280 20.274998 0.99996043 23.751521 6.0191788 4.5197382 1.4994407 0.0019132677 -0.022760209 4.5405851 + 25290 20.247917 1.0138259 23.656881 6.053351 4.533119 1.520232 0.0019472368 -0.022938719 4.5541105 + 25300 20.333509 1.0106058 23.657541 6.0394145 4.5240111 1.5154034 0.0018773123 -0.022869473 4.5450032 + 25310 20.449877 1.0068595 23.453933 6.0274668 4.517681 1.5097858 0.001716548 -0.022119706 4.5380841 + 25320 20.373945 0.99487252 23.571311 6.0436598 4.5518485 1.4918114 0.001627448 -0.021744712 4.5719658 + 25330 19.944463 1.0104201 23.716552 6.0491068 4.5339819 1.5151249 0.0017843566 -0.022597363 4.5547949 + 25340 20.154918 1.025192 23.768579 6.0689072 4.5316318 1.5372754 0.0019751014 -0.023528127 4.5531848 + 25350 20.131406 0.99465963 23.719234 6.0439862 4.552494 1.4914921 0.0019805647 -0.02333448 4.5738479 + 25360 19.885406 1.0084299 24.052215 6.0597791 4.5476384 1.5121407 0.0016993701 -0.022625035 4.5685641 + 25370 20.250152 1.007815 23.620014 6.0355836 4.524365 1.5112186 0.0018124513 -0.022963992 4.5455165 + 25380 20.36161 1.0028306 23.685029 6.0272597 4.5235152 1.5037445 0.0019672839 -0.023456772 4.5450047 + 25390 20.322194 1.0227593 23.88222 6.0639914 4.5303638 1.5336276 0.0019915081 -0.023788409 4.5521607 + 25400 20.37237 1.0138429 23.892522 6.060033 4.5397755 1.5202575 0.0019990545 -0.023785186 4.5615617 + 25410 19.99017 1.0126368 23.705512 6.0597446 4.5412957 1.5184489 0.0019626887 -0.023138683 4.5624717 + 25420 20.289788 1.0196748 23.772719 6.0427171 4.5137147 1.5290024 0.0018708666 -0.022893053 4.5347369 + 25430 20.44408 1.0188071 23.726483 6.0582452 4.5305439 1.5277012 0.0018893383 -0.023102332 4.5517569 + 25440 20.285275 1.0111149 23.863184 6.0524502 4.5362835 1.5161667 0.0018272742 -0.022489775 4.556946 + 25450 20.312881 1.0203449 23.875361 6.0464163 4.5164092 1.5300071 0.0017450964 -0.021915529 4.5365796 + 25460 20.255831 1.0149573 23.491529 6.0627703 4.5408418 1.5219285 0.0018697204 -0.022203406 4.5611755 + 25470 20.179611 1.0220289 23.72985 6.0501794 4.5176471 1.5325323 0.0018073499 -0.02229894 4.5381387 + 25480 20.187703 1.0020121 23.565955 6.0502752 4.5477581 1.5025171 0.0017095463 -0.021951918 4.5680005 + 25490 20.026514 1.0140066 23.590583 6.0506051 4.5301021 1.5205029 0.0017451331 -0.021983172 4.5503402 + 25500 20.379278 1.0152259 23.802799 6.0722439 4.5499127 1.5223312 0.001589983 -0.021285174 4.5696079 + 25510 20.24558 1.0272347 23.85208 6.070997 4.5306586 1.5403384 0.0014640591 -0.020401163 4.5495957 + 25520 20.254623 1.0061351 23.49545 6.0823962 4.5736967 1.5086996 0.0013876142 -0.020293977 4.592603 + 25530 20.076307 1.0283607 23.427893 6.0856225 4.5435957 1.5420268 0.0015108916 -0.020741151 4.5628259 + 25540 20.273226 1.0068704 23.967448 6.051698 4.5418958 1.5098022 0.0015356072 -0.021226181 4.5615864 + 25550 20.326864 1.0190121 23.54113 6.0527635 4.5247548 1.5280087 0.0017382014 -0.022012269 4.5450289 + 25560 20.280613 1.0130584 23.947293 6.0514234 4.5323423 1.5190811 0.0018181456 -0.022274664 4.5527988 + 25570 20.308914 1.0079203 23.821476 6.0295126 4.5181362 1.5113764 0.0019293143 -0.02290315 4.53911 + 25580 20.11643 1.0064478 23.57777 6.0434223 4.5342538 1.5091684 0.0021204678 -0.023635682 4.555769 + 25590 20.210984 1.0000781 23.789316 6.0164785 4.5168614 1.4996171 0.0022277129 -0.024164007 4.5387977 + 25600 20.098015 0.99138083 23.297913 6.0224846 4.5359091 1.4865756 0.0021541524 -0.024250555 4.5580055 + 25610 20.053783 1.0032343 23.677948 6.041363 4.5370131 1.5043499 0.0022831006 -0.024887871 4.5596179 + 25620 19.7333 1.0003906 23.467403 6.0374959 4.5374102 1.5000857 0.0022369521 -0.024871446 4.5600447 + 25630 20.265583 1.0287454 23.927614 6.0818527 4.539249 1.5426038 0.0021418288 -0.024580157 4.5616873 + 25640 20.114349 1.033674 23.633573 6.0858929 4.5358988 1.5499941 0.0020939636 -0.024607025 4.5584118 + 25650 20.331169 1.0182267 23.603857 6.0817605 4.5549295 1.526831 0.0020465716 -0.024347932 4.5772309 + 25660 20.302228 0.99635403 23.705158 6.0349391 4.5409062 1.4940329 0.0020639653 -0.024410865 4.5632531 + 25670 20.105353 1.0306539 23.682971 6.0578569 4.5123913 1.5454655 0.0019644198 -0.02388131 4.5343082 + 25680 20.311659 1.0108624 23.891867 6.0604131 4.5446249 1.5157881 0.0017521403 -0.022598087 4.5654709 + 25690 19.848101 1.0287252 23.763018 6.0855535 4.54298 1.5425735 0.0015102945 -0.021249639 4.5627194 + 25700 19.981782 1.0345696 23.737472 6.0769619 4.5256248 1.5513371 0.0015101849 -0.021066881 4.5451815 + 25710 20.235697 1.0281816 23.811028 6.071116 4.5293578 1.5417583 0.0018354936 -0.022394712 4.549917 + 25720 20.269726 1.0259966 23.882476 6.0656051 4.5271233 1.5384819 0.0017867417 -0.022056825 4.5473933 + 25730 19.9754 1.0333214 24.237997 6.0724353 4.5229699 1.5494654 0.0016410913 -0.021535526 4.5428644 + 25740 20.102606 1.0319555 23.941019 6.087264 4.5398468 1.5474172 0.0016280889 -0.021086877 4.5593056 + 25750 20.004846 1.0282067 23.730459 6.064432 4.5226361 1.5417959 0.0014085726 -0.019436584 4.5406641 + 25760 20.421342 1.0250504 23.928185 6.0644479 4.5273849 1.537063 0.001379401 -0.019207615 4.5452131 + 25770 20.158123 1.0025856 23.680816 6.0276916 4.5243144 1.5033772 0.0013878359 -0.019653885 4.5425804 + 25780 20.051071 1.0051133 23.658295 6.036618 4.5294506 1.5071674 0.0014323845 -0.019813338 4.5478316 + 25790 20.133687 0.99843842 23.581073 6.0184224 4.5212639 1.4971584 0.0012080504 -0.018812108 4.538868 + 25800 20.235057 0.99651498 23.748821 6.0166422 4.522368 1.4942742 0.0011413407 -0.018642113 4.5398687 + 25810 20.010247 0.97692585 23.647867 6.0114596 4.5465593 1.4649003 0.0014233461 -0.019921295 4.5650573 + 25820 20.078302 0.989559 23.943285 6.0114485 4.5276048 1.4838437 0.0016709848 -0.02113579 4.5470696 + 25830 20.373486 0.96836741 23.48843 6.003772 4.5517051 1.4520669 0.001625231 -0.021410767 4.5714906 + 25840 20.262724 0.99540713 23.666197 6.0289447 4.5363317 1.492613 0.0014403544 -0.020422799 4.5553141 + 25850 20.241073 0.96402169 23.340566 5.9820474 4.5364969 1.4455505 0.0014929533 -0.02049994 4.5555039 + 25860 20.253803 1.0010266 23.574284 6.0240689 4.5230295 1.5010394 0.0015467206 -0.02072367 4.5422064 + 25870 19.984499 1.0117336 23.579551 6.0387604 4.5216659 1.5170945 0.0016387018 -0.021471705 4.5414989 + 25880 19.591585 1.0061141 23.671553 6.0485894 4.5399213 1.5086682 0.0015801336 -0.020903166 4.5592443 + 25890 19.823102 1.0268911 23.86466 6.0665571 4.5267338 1.5398232 0.0013551033 -0.019925101 4.5453038 + 25900 20.032266 1.0086645 23.942229 6.0676936 4.5552011 1.5124925 0.0013161591 -0.020026664 4.5739116 + 25910 20.473218 1.0258388 23.662989 6.0635819 4.5253366 1.5382453 0.0013563158 -0.020316804 4.544297 + 25920 20.095017 1.0216921 23.573786 6.0734467 4.5414194 1.5320273 0.001458282 -0.021028543 4.5609897 + 25930 20.105327 1.0214791 24.022272 6.0694161 4.5377081 1.531708 0.0014959262 -0.021340878 4.5575531 + 25940 20.089785 1.0247964 23.720823 6.0598327 4.5231505 1.5366823 0.0015400855 -0.021458908 4.5430693 + 25950 19.737703 0.99719256 23.642884 6.0343935 4.5391032 1.4952902 0.0014776967 -0.021050241 4.5586758 + 25960 20.220075 0.98903943 23.473992 6.030062 4.5469973 1.4830646 0.0015196769 -0.020955363 4.566433 + 25970 20.224233 0.99610071 23.430553 6.0169962 4.5233432 1.493653 0.0016277776 -0.021044009 4.5427594 + 25980 20.356817 1.0010061 23.776896 6.0247289 4.5237203 1.5010086 0.0017586961 -0.021535465 4.543497 + 25990 20.385854 0.98890177 23.884682 6.0118181 4.5289599 1.4828582 0.0020128227 -0.022460585 4.5494076 + 26000 20.084132 1.0050031 23.734945 6.0292269 4.5222247 1.5070022 0.0020708401 -0.023365483 4.5435193 + 26010 20.341642 0.99535208 23.536534 6.0100271 4.5174966 1.4925305 0.0022078144 -0.024139482 4.5394283 + 26020 19.820542 1.0041645 23.465343 6.0395808 4.5338362 1.5057446 0.0022200839 -0.023926908 4.555543 + 26030 19.98108 1.0164904 23.711739 6.0545965 4.5303691 1.5242274 0.002123316 -0.023953121 4.5521989 + 26040 20.179504 1.0010601 23.658173 6.0427324 4.5416428 1.5010896 0.0020266092 -0.023503512 4.5631197 + 26050 20.257833 1.0071336 23.450683 6.0341809 4.5239841 1.5101968 0.0019831254 -0.023123566 4.5451246 + 26060 20.210094 1.0132233 23.93513 6.0343666 4.5150383 1.5193283 0.0018891789 -0.02249091 4.53564 + 26070 19.984596 1.017997 24.071838 6.0543616 4.5278752 1.5264864 0.0017522917 -0.022097315 4.5482202 + 26080 20.117787 1.0070741 23.595604 6.0618909 4.5517833 1.5101076 0.0017249053 -0.022183928 4.5722423 + 26090 20.176691 1.0178367 23.84841 6.0635779 4.5373317 1.5262462 0.0016579268 -0.021820117 4.5574939 + 26100 20.335145 1.0418323 23.88821 6.0829364 4.5207088 1.5622275 0.001858525 -0.022483355 4.5413336 + 26110 20.285117 1.0140885 23.731539 6.0749061 4.5542804 1.5206257 0.0018753014 -0.022880169 4.5752853 + 26120 20.443755 1.0120804 23.434011 6.0688128 4.5511983 1.5176146 0.0017796388 -0.022418808 4.5718374 + 26130 20.269421 1.0185981 23.782176 6.0759387 4.5485508 1.5273879 0.0016641709 -0.022039782 4.5689264 + 26140 20.23762 1.0147652 23.716499 6.0617962 4.5401558 1.5216404 0.001674669 -0.021724694 4.5602058 + 26150 20.168034 1.0261189 24.030586 6.0481264 4.5094611 1.5386653 0.0015788109 -0.021175941 4.5290582 + 26160 20.367354 0.99333615 23.592727 6.0331804 4.5436728 1.4895076 0.0017514946 -0.022004092 4.5639254 + 26170 19.845788 1.0096377 23.371302 6.0365469 4.5225951 1.5139517 0.0018982009 -0.022965942 4.5436629 + 26180 20.202192 0.9855733 23.459739 5.9983175 4.5204504 1.4778672 0.0020185602 -0.023409769 4.5418416 + 26190 19.950692 0.99781832 23.69184 6.001508 4.5052794 1.4962286 0.001924158 -0.023068565 4.5264238 + 26200 20.258764 0.99709976 23.561115 6.0295517 4.5344006 1.4951511 0.0020517147 -0.023612542 4.5559614 + 26210 20.259808 1.0050671 23.71325 6.0249815 4.5178833 1.5070982 0.0019425034 -0.023185742 4.5391266 + 26220 20.428428 1.0259328 23.864197 6.0335161 4.4951299 1.5383862 0.0019223048 -0.02319357 4.5164012 + 26230 20.400366 1.0072468 23.498927 6.0364876 4.526121 1.5103666 0.0018827586 -0.022761698 4.5469999 + 26240 20.339622 1.0243642 23.719384 6.0261986 4.4901645 1.5360341 0.0016884821 -0.021504348 4.5099803 + 26250 20.333588 0.98278982 23.701956 6.0095378 4.5358444 1.4736933 0.0015868135 -0.020916221 4.5551738 + 26260 19.767614 1.0032155 23.775571 6.0314041 4.5270825 1.5043216 0.0016716257 -0.021020299 4.5464311 + 26270 20.185248 1.0176524 23.768565 6.0376134 4.5116436 1.5259698 0.0016531939 -0.020649994 4.5306404 + 26280 20.536229 1.0049985 23.674709 6.0633029 4.5563077 1.5069952 0.0014542057 -0.020413776 4.5752673 + 26290 20.289792 0.99916303 23.80882 6.0447905 4.5465456 1.498245 0.0014226787 -0.020801429 4.5659243 + 26300 20.157439 1.008179 23.627029 6.0543667 4.5426023 1.5117644 0.0015489952 -0.02135139 4.5624047 + 26310 20.060288 1.009574 23.803703 6.0516989 4.5378427 1.5138562 0.0016956526 -0.022090093 4.5582372 + 26320 20.090041 1.0313008 23.687598 6.0568814 4.5104458 1.5464355 0.0018105158 -0.022234749 4.5308701 + 26330 20.359102 1.0189405 23.986816 6.0531933 4.525292 1.5279012 0.0018375064 -0.021799827 4.5452544 + 26340 19.700557 1.0120427 23.702811 6.063574 4.546016 1.517558 0.0017003915 -0.020423905 4.5647395 + 26350 20.368829 1.0143563 23.732327 6.0690031 4.5479757 1.5210273 0.0015324028 -0.019706231 4.5661495 + 26360 20.322158 1.0038344 23.608979 6.0600784 4.5548287 1.5052497 0.0015404512 -0.019766233 4.5730545 + 26370 19.903321 1.0187535 23.723788 6.0787712 4.5511504 1.5276208 0.0015389325 -0.020315503 4.5699269 + 26380 19.949415 1.0188908 24.020441 6.0386536 4.5108268 1.5278268 0.0017759701 -0.02192694 4.5309778 + 26390 19.817956 1.0060112 23.767686 6.0222127 4.5136989 1.5085138 0.0018040217 -0.022073283 4.5339682 + 26400 20.111097 1.0144187 23.555762 6.049328 4.5282072 1.5211209 0.0016026129 -0.021571293 4.5481759 + 26410 20.132947 1.0013426 23.892719 6.0332428 4.5317296 1.5015132 0.0015421156 -0.02139358 4.5515811 + 26420 20.289568 0.99539476 23.837573 6.0067348 4.5141403 1.4925944 0.0014261238 -0.020762691 4.5334769 + 26430 20.274778 1.0139726 23.840002 6.0488404 4.5283885 1.5204519 0.0012101962 -0.019615109 4.5467934 + 26440 19.990833 1.0102954 23.791355 6.0705811 4.555643 1.514938 0.0011453949 -0.019275497 4.5737731 + 26450 19.707655 1.0202483 23.897849 6.0702408 4.5403784 1.5298624 0.0012674528 -0.019581321 4.5586923 + 26460 19.866389 1.0157343 23.624818 6.0480295 4.5249359 1.5230936 0.0014916502 -0.020171082 4.5436153 + 26470 20.159785 1.041976 23.850996 6.0884642 4.5260212 1.5624431 0.0016703584 -0.020606553 4.5449574 + 26480 19.494424 1.0232232 23.559783 6.0688083 4.5344852 1.5343231 0.0017476871 -0.021390329 4.5541278 + 26490 20.116929 1.003601 23.488148 6.0435318 4.538632 1.5048998 0.0019189543 -0.02257175 4.5592848 + 26500 20.251972 1.0068214 23.653794 6.0514293 4.5417006 1.5097287 0.0020276345 -0.023065194 4.5627382 + 26510 20.031225 1.0041453 23.698444 6.0370776 4.5313617 1.5057159 0.0020352044 -0.023398418 4.5527249 + 26520 19.978664 0.99872918 24.066028 6.0514096 4.5538152 1.4975944 0.0019809111 -0.023496927 4.5753312 + 26530 20.430064 1.0102381 23.61462 6.0693158 4.5544639 1.514852 0.0017193799 -0.022236444 4.5749809 + 26540 20.564716 1.027976 23.955281 6.0695365 4.5280865 1.54145 0.001663282 -0.022083013 4.5485062 + 26550 20.329397 1.0256989 23.670453 6.0632113 4.5251758 1.5380355 0.0016179019 -0.022096252 4.5456542 + 26560 20.301825 1.0182097 23.704824 6.0699562 4.5431508 1.5268054 0.0015484433 -0.021846796 4.5634491 + 26570 20.331594 1.0355449 23.511736 6.0742893 4.5214897 1.5527996 0.0017800179 -0.022408323 4.542118 + 26580 20.255606 0.99910157 23.574645 6.0450525 4.5468996 1.4981528 0.0018453652 -0.022704425 4.5677587 + 26590 20.062372 1.0003201 23.78245 6.0293299 4.5293499 1.49998 0.0019229274 -0.023131239 4.5505582 + 26600 20.118459 1.0038434 23.673658 6.030913 4.5256499 1.5052631 0.0019290539 -0.022624512 4.5463453 + 26610 20.452277 0.99717509 23.62497 6.0212505 4.5259865 1.495264 0.0016902649 -0.021393063 4.5456893 + 26620 20.418427 0.9977923 23.841203 6.0210239 4.5248344 1.4961895 0.0017364327 -0.021472287 4.5445702 + 26630 20.269826 0.99480828 23.577837 6.0195236 4.5278086 1.491715 0.0018868973 -0.022103086 4.5480248 + 26640 20.207915 1.0026758 23.846955 6.0325278 4.5290153 1.5035124 0.0018165966 -0.021947933 4.5491467 + 26650 20.141996 0.990882 23.755635 6.0250458 4.5392183 1.4858276 0.0018958229 -0.021867832 4.5591903 + 26660 20.301732 1.0068017 24.059239 6.0337981 4.5240988 1.5096992 0.0018121215 -0.021694277 4.543981 + 26670 20.503658 1.00338 23.689501 6.022556 4.5179876 1.5045683 0.0018974881 -0.022217425 4.5383075 + 26680 20.199198 1.0116709 23.672898 6.0281409 4.5111405 1.5170005 0.0019414117 -0.022865006 4.532064 + 26690 20.163313 1.0231624 23.697841 6.0508459 4.5166139 1.534232 0.0020612225 -0.023389193 4.5379419 + 26700 20.254748 0.98952646 23.902454 6.0550585 4.5712636 1.4837949 0.0021423428 -0.023517164 4.5926384 + 26710 20.245141 1.0042656 23.649978 6.0419893 4.536093 1.5058963 0.0021717158 -0.023480257 4.5574016 + 26720 19.991628 1.0091762 23.749918 6.0426428 4.5293831 1.5132598 0.0021419595 -0.023557843 4.550799 + 26730 20.296043 1.031721 23.931898 6.0852832 4.5382175 1.5470657 0.0018847074 -0.022825241 4.559158 + 26740 19.848529 1.0212723 23.691413 6.0743347 4.5429369 1.5313978 0.0017997823 -0.022642121 4.5637792 + 26750 20.162172 1.0214205 23.672918 6.0916002 4.5599801 1.5316201 0.0019805167 -0.023393972 4.5813936 + 26760 20.142548 1.0328583 23.788335 6.0887825 4.5400115 1.548771 0.0020363664 -0.023545734 4.5615208 + 26770 20.082605 1.0233412 23.611105 6.0762472 4.541747 1.5345002 0.0020468507 -0.02386857 4.5635687 + 26780 20.088049 1.0257379 23.76365 6.0816931 4.5435991 1.538094 0.001951293 -0.023592369 4.5652402 + 26790 19.907201 1.0256856 23.969607 6.0431271 4.5051115 1.5380156 0.001957374 -0.024028201 4.5271824 + 26800 20.326895 1.0018461 23.749491 6.0421437 4.5398755 1.5022682 0.0018250585 -0.023471149 4.5615216 + 26810 20.051081 1.0175705 23.73798 6.0659906 4.5401437 1.525847 0.0016658819 -0.022494874 4.5609727 + 26820 20.03194 1.01405 23.548322 6.0717372 4.5511693 1.5205679 0.0017554405 -0.022607607 4.5720214 + 26830 20.024453 1.0138229 23.915691 6.0490567 4.5288293 1.5202274 0.0019535084 -0.023420321 4.5502961 + 26840 20.219267 1.0054215 23.868137 6.0528085 4.5451789 1.5076296 0.0020848386 -0.024103632 4.5671977 + 26850 20.241495 1.0289953 23.758766 6.0617566 4.5187781 1.5429784 0.002069653 -0.023776357 4.5404848 + 26860 20.432722 1.0230369 23.902395 6.0846158 4.550572 1.5340438 0.001876562 -0.022696939 4.5713924 + 26870 20.265014 1.0325873 23.67718 6.0918803 4.5435156 1.5483647 0.0018678767 -0.022467421 4.5641151 + 26880 20.170911 1.0259323 23.74595 6.0865191 4.5481336 1.5383855 0.0019957274 -0.022822009 4.5689599 + 26890 19.749635 1.0023806 23.607701 6.0477821 4.5447125 1.5030696 0.0019625583 -0.022596685 4.5653466 + 26900 20.17331 1.0045547 23.846189 6.053471 4.5471412 1.5063298 0.0019420905 -0.022146674 4.5673458 + 26910 20.324815 1.0103952 23.603711 6.052428 4.5373404 1.5150876 0.001912186 -0.021929963 4.5573582 + 26920 20.371935 1.023929 24.073523 6.0652567 4.5298751 1.5353816 0.002002949 -0.022647689 4.5505199 + 26930 20.03556 1.0187601 23.823366 6.0516754 4.5240446 1.5276308 0.0019670136 -0.022843343 4.5449209 + 26940 20.236701 1.0104867 23.782108 6.0424381 4.5272132 1.5152249 0.0018058612 -0.022236645 4.547644 + 26950 19.800786 1.025548 23.398668 6.0732306 4.5354214 1.5378092 0.0018209037 -0.022587119 4.5561876 + 26960 20.283951 1.0416045 24.05575 6.0961169 4.5342311 1.5618859 0.0017634289 -0.022496052 4.5549637 + 26970 20.333426 1.0132324 23.486893 6.0549256 4.5355836 1.5193419 0.0016388959 -0.022091912 4.5560366 + 26980 20.062567 1.001629 23.722551 6.056755 4.5548123 1.5019427 0.001508617 -0.02156558 4.5748693 + 26990 20.122231 1.0072264 23.815521 6.0418373 4.5315014 1.510336 0.0013649954 -0.020685428 4.5508218 + 27000 20.388435 1.0123249 23.516601 6.0499701 4.531989 1.5179811 0.0013715579 -0.020680248 4.5512977 + 27010 20.615816 1.0191986 23.69829 6.0677961 4.5395078 1.5282883 0.0014661964 -0.021454586 4.5594962 + 27020 20.45091 1.0438791 23.935507 6.1028813 4.5375846 1.5652967 0.0017282278 -0.02277426 4.5586306 + 27030 20.070089 1.033621 24.012846 6.062327 4.5124124 1.5499147 0.0018251969 -0.023027917 4.5336151 + 27040 20.13452 1.0330455 23.62709 6.0796452 4.5305935 1.5490518 0.0018705105 -0.023123382 4.5518463 + 27050 20.059447 1.0271728 23.500573 6.0820878 4.5418422 1.5402456 0.0018413169 -0.023298015 4.5632989 + 27060 20.166086 0.99752218 23.584356 6.0684057 4.5726212 1.4957845 0.0018913656 -0.023801405 4.5945312 + 27070 20.08212 1.0103311 23.904101 6.0433557 4.5283643 1.5149914 0.0018001961 -0.022987011 4.5495511 + 27080 20.069152 1.0253054 23.626452 6.0672397 4.5297942 1.5374454 0.0016247248 -0.021789564 4.5499591 + 27090 20.294516 1.004217 23.937323 6.029595 4.5237717 1.5058233 0.001655879 -0.021227945 4.5433438 + 27100 20.011372 1.0015847 23.80258 6.0176926 4.5158164 1.5018762 0.0015875456 -0.020654528 4.5348833 + 27110 20.245443 1.0044265 23.719521 6.0616993 4.5555618 1.5061375 0.0016339697 -0.020456336 4.5743842 + 27120 20.118939 1.0257058 23.682314 6.0691506 4.5311048 1.5380458 0.0015836438 -0.019959692 4.5494809 + 27130 20.490777 1.0207525 24.004767 6.0766066 4.5459883 1.5306183 0.00139386 -0.019198533 4.5637929 + 27140 20.147185 1.029012 23.742857 6.0728196 4.5298161 1.5430035 0.0015466945 -0.01961562 4.547885 + 27150 19.99685 0.9907331 23.721009 6.0536037 4.5679994 1.4856043 0.0016085263 -0.01985525 4.5862462 + 27160 20.202623 1.0110779 23.862531 6.0556662 4.5395549 1.5161113 0.0015501985 -0.020078961 4.5580837 + 27170 20.197341 1.0041632 23.657348 6.0623409 4.5565982 1.5057427 0.00152081 -0.020509321 4.5755868 + 27180 20.333654 1.0273453 23.561019 6.0811232 4.5406189 1.5405043 0.0014642705 -0.020222184 4.5593768 + 27190 20.353348 1.0306862 23.818154 6.0931887 4.5476747 1.545514 0.0015983272 -0.020714367 4.5667908 + 27200 20.151171 1.0194493 23.588139 6.0863885 4.5577243 1.5286642 0.0016583288 -0.021369289 4.5774353 + 27210 20.335746 1.0133287 23.821727 6.0876407 4.5681543 1.5194864 0.0017156473 -0.021314881 4.5877535 + 27220 20.542828 1.0074076 23.562987 6.0617298 4.5511221 1.5106077 0.0017804001 -0.021848609 4.5711903 + 27230 20.138465 1.0125952 23.757851 6.0605529 4.5421664 1.5183865 0.0017313245 -0.021989363 4.5624244 + 27240 20.144568 1.010461 23.749042 6.0516359 4.5364496 1.5151863 0.0016351086 -0.020953762 4.5557683 + 27250 19.821947 1.0123869 23.696107 6.0446972 4.526623 1.5180742 0.0018547604 -0.022115505 4.5468837 + 27260 20.364016 1.0105987 23.455447 6.0574732 4.5420805 1.5153927 0.002099129 -0.023636558 4.563618 + 27270 20.041184 1.0114665 23.612285 6.0539459 4.5372519 1.516694 0.002089319 -0.023326361 4.5584889 + 27280 20.122554 1.0181515 23.889074 6.0674752 4.540757 1.5267182 0.0020316816 -0.023008801 4.5617341 + 27290 20.407153 1.0112772 23.674127 6.0454161 4.5290059 1.5164102 0.0020415383 -0.023316061 4.5502804 + 27300 20.298409 1.0181062 23.447235 6.0459697 4.5193194 1.5266503 0.0021330991 -0.023889957 4.5410762 + 27310 20.202694 1.0056816 23.611276 6.0385665 4.5305468 1.5080196 0.0020216996 -0.023203909 4.5517291 + 27320 20.277867 0.99684699 23.557782 6.0326046 4.5378325 1.4947721 0.0020586069 -0.02324856 4.5590224 + 27330 19.803996 1.0029081 23.429126 6.0385453 4.5346845 1.5038607 0.002038613 -0.023164279 4.5558102 + 27340 20.07427 0.99970848 23.799055 6.0179091 4.5188462 1.4990629 0.0019127691 -0.022780567 4.539714 + 27350 19.638781 0.99339817 23.693113 6.0088491 4.5192485 1.4896005 0.0017947589 -0.02236773 4.5398215 + 27360 20.223112 1.0026965 23.782745 6.0346413 4.5310978 1.5035434 0.0016622181 -0.021667882 4.5511035 + 27370 20.366047 0.99994935 23.752432 6.0296018 4.5301778 1.4994241 0.0016188444 -0.021436578 4.5499955 + 27380 19.611871 1.0141586 23.477646 6.0456907 4.52496 1.5207308 0.0018208593 -0.022487908 4.545627 + 27390 19.675205 1.0114129 23.437369 6.0550894 4.5384757 1.5166136 0.001904802 -0.022862187 4.5594331 + 27400 20.249469 1.0124703 23.670769 6.0525227 4.5343235 1.5181992 0.0018122586 -0.022342495 4.5548537 + 27410 20.304 1.0097694 23.754338 6.0573114 4.5431623 1.5141492 0.0016122233 -0.02140169 4.5629517 + 27420 20.128857 1.0076695 23.661083 6.0307594 4.519759 1.5110004 0.0016991689 -0.02150283 4.5395627 + 27430 20.463786 1.0171126 23.883796 6.0450009 4.5198406 1.5251603 0.0017257672 -0.021860882 4.5399757 + 27440 20.314448 1.0169206 23.754644 6.0722175 4.547345 1.5248725 0.0017102529 -0.021456363 4.5670911 + 27450 19.920818 1.0171616 23.647723 6.0691858 4.5439519 1.5252339 0.0017933289 -0.02200861 4.5641672 + 27460 20.038156 1.0152946 23.724159 6.0695644 4.5471301 1.5224343 0.0018537439 -0.02241723 4.5676936 + 27470 20.033782 1.0039359 23.910569 6.0517169 4.546315 1.5054019 0.0016242648 -0.021513483 4.5662042 + 27480 20.308285 1.0184559 23.579634 6.0539155 4.5267408 1.5271747 0.001684523 -0.021879197 4.5469355 + 27490 19.924284 1.02068 23.742003 6.0510391 4.5205294 1.5305097 0.0017202202 -0.022036591 4.5408457 + 27500 20.126692 1.0197374 23.616018 6.0349164 4.5058201 1.5290962 0.001501995 -0.020907134 4.5252253 + 27510 20.079655 1.0148794 23.772829 6.0465888 4.5247771 1.5218116 0.0015680168 -0.021303596 4.5445127 + 27520 20.193949 1.0077198 23.892631 6.0514517 4.5403759 1.5110758 0.0015630833 -0.02141363 4.5602264 + 27530 19.867119 1.0154602 23.749554 6.0504413 4.5277588 1.5226825 0.0015780621 -0.021288184 4.5474689 + 27540 20.4037 1.0058452 23.847093 6.0394601 4.5311952 1.5082649 0.0018551696 -0.022625808 4.5519659 + 27550 20.163515 1.0196055 23.709154 6.0708135 4.5419151 1.5288984 0.0019014057 -0.022943793 4.5629575 + 27560 20.332806 1.0080704 23.73206 6.0535628 4.5419613 1.5116015 0.0019875576 -0.023026955 4.5630007 + 27570 20.088561 1.001806 23.97366 6.0368334 4.5346254 1.502208 0.0018992428 -0.022414652 4.5551408 + 27580 20.300993 0.99496817 23.807351 6.0198606 4.5279059 1.4919548 0.001969392 -0.022666179 4.5486027 + 27590 20.366374 1.0075069 23.767765 6.0315432 4.5207866 1.5107565 0.0020311174 -0.022963198 4.5417187 + 27600 19.822658 1.0123106 23.936388 6.0650387 4.547079 1.5179597 0.0020786072 -0.023531029 4.5685314 + 27610 20.294205 1.0237952 23.964702 6.0673955 4.5322147 1.5351808 0.0020334696 -0.023218291 4.5533995 + 27620 20.216712 1.0087906 23.991224 6.0313108 4.5186294 1.5126814 0.0018328584 -0.022531615 4.5393281 + 27630 20.484579 0.99324168 23.457477 6.0145537 4.5251878 1.4893659 0.0016855938 -0.022019525 4.5455217 + 27640 20.173596 0.98711402 23.518376 6.0428044 4.5626269 1.4801775 0.0017193975 -0.021934184 4.5828417 + 27650 20.228664 0.99363377 23.507866 6.0363066 4.5463528 1.4899538 0.0017488389 -0.021783622 4.5663875 + 27660 20.118094 1.0084623 23.983497 6.0547985 4.5426092 1.5121893 0.0017206348 -0.021500506 4.5623891 + 27670 20.098635 1.0190966 23.701373 6.0381718 4.5100364 1.5281354 0.0017725699 -0.021921944 4.5301858 + 27680 20.139573 1.0011017 23.70906 6.0474397 4.5462878 1.5011519 0.0017225209 -0.021892892 4.5664581 + 27690 20.039301 1.0102345 23.506177 6.0557617 4.5409151 1.5148466 0.0018224711 -0.022102323 4.5611949 + 27700 19.775468 1.0169915 23.91192 6.0462988 4.52132 1.5249788 0.0019659894 -0.022721563 4.5420756 + 27710 20.041678 1.0346965 23.719576 6.0812594 4.5297321 1.5515273 0.0019159772 -0.022671177 4.5504873 + 27720 20.109256 1.0067298 23.594128 6.0325457 4.5229543 1.5095913 0.0016555829 -0.021659249 4.542958 + 27730 20.144169 1.0218772 23.627421 6.0513139 4.5190091 1.5323049 0.0016334571 -0.021730869 4.5391065 + 27740 20.112887 1.0022584 23.610974 6.0392702 4.5363838 1.5028864 0.0017109179 -0.022497148 4.55717 + 27750 20.281705 1.0127216 23.607562 6.0597382 4.5411621 1.5185761 0.001644659 -0.022185267 4.5617027 + 27760 20.145294 1.0115647 23.881282 6.0466932 4.529852 1.5168413 0.0016463016 -0.021430529 4.5496362 + 27770 20.231315 1.004614 23.827165 6.0439073 4.5374885 1.5064187 0.0017364199 -0.021823746 4.5575759 + 27780 20.153943 1.0264644 23.792848 6.0715514 4.5323679 1.5391834 0.0018019607 -0.021927706 4.5524937 + 27790 20.477875 1.02474 23.641877 6.0973777 4.5607801 1.5365977 0.0019952639 -0.022636947 4.5814217 + 27800 20.208496 1.0313878 23.902742 6.0809271 4.5343611 1.546566 0.0020907178 -0.022921767 4.5551922 + 27810 19.663944 1.0279937 23.815827 6.0692209 4.5277443 1.5414766 0.0019585912 -0.022571035 4.5483567 + 27820 20.246318 1.0131034 23.742617 6.0563264 4.5371779 1.5191485 0.0018486268 -0.022351779 4.5576811 + 27830 20.544953 1.0114991 23.474659 6.0599283 4.5431854 1.5167429 0.0018248129 -0.022116319 4.5634769 + 27840 20.298271 1.0253195 23.822811 6.0682686 4.530802 1.5374666 0.0015684418 -0.020951994 4.5501855 + 27850 19.718355 1.0160653 23.684147 6.0650573 4.5414674 1.52359 0.0013568921 -0.019556757 4.5596673 + 27860 19.709409 1.0265826 23.840304 6.0954272 4.5560665 1.5393606 0.0015590777 -0.020722458 4.5752299 + 27870 20.107569 1.0229748 23.723469 6.0890676 4.5551169 1.5339508 0.0017455922 -0.021775135 4.5751464 + 27880 19.976845 1.0012993 23.820316 6.0488379 4.5473896 1.5014483 0.0017090909 -0.021273692 4.5669542 + 27890 20.194227 1.0180244 24.074071 6.0522892 4.5257616 1.5265276 0.0016290987 -0.021235934 4.5453684 + 27900 20.230676 1.028601 23.853139 6.0804511 4.5380639 1.5423872 0.0014458086 -0.020725416 4.5573436 + 27910 20.163434 1.0403847 23.864825 6.100371 4.5403142 1.5600568 0.0015647119 -0.02105108 4.5598005 + 27920 20.210472 1.0138426 23.520378 6.0867862 4.5665292 1.520257 0.0019733984 -0.022922987 4.5874788 + 27930 20.266482 1.0280795 23.954254 6.0973845 4.5557793 1.5416052 0.0021925525 -0.023672318 4.5772591 + 27940 20.178444 1.016477 23.716737 6.0896775 4.5654703 1.5242072 0.0022114197 -0.023752945 4.5870118 + 27950 20.391624 1.0303641 23.559733 6.0903083 4.5452773 1.545031 0.0020586309 -0.023104041 4.5663227 + 27960 20.326853 1.0400221 23.83952 6.1180892 4.558576 1.5595132 0.0019715403 -0.022664883 4.5792694 + 27970 20.126577 1.0202886 23.925061 6.0753392 4.5454165 1.5299227 0.0020335469 -0.022691237 4.5660742 + 27980 20.274817 1.023664 23.865875 6.0685549 4.5335707 1.5349842 0.0020339261 -0.022926345 4.5544631 + 27990 20.407492 1.0380255 23.562887 6.0678573 4.5113381 1.5565192 0.0019574968 -0.022720955 4.5321016 + 28000 20.371358 1.0198621 23.833629 6.0613004 4.5320171 1.5292833 0.0019758659 -0.022881455 4.5529227 + 28010 20.256614 1.0265022 24.043061 6.0777948 4.5385546 1.5392401 0.0020918691 -0.023612454 4.5600752 + 28020 20.235702 1.0139516 23.54953 6.0565899 4.5361695 1.5204205 0.0021836449 -0.024352781 4.5583386 + 28030 19.895689 1.0151072 23.87773 6.0750585 4.5529053 1.5221532 0.002039689 -0.023956263 4.5748218 + 28040 19.993457 1.0319418 23.986397 6.0823837 4.534987 1.5473967 0.0018079591 -0.02301131 4.5561904 + 28050 20.343095 1.0234318 23.568014 6.0784212 4.5437852 1.534636 0.0016172868 -0.022297686 4.5644656 + 28060 20.15654 1.0176013 23.540714 6.0583541 4.532461 1.5258931 0.0016935987 -0.022613613 4.553381 + 28070 20.248775 1.0094304 23.711696 6.0686479 4.555007 1.5136409 0.0015810407 -0.021924015 4.57535 + 28080 20.452451 1.0011004 23.489235 6.068625 4.567475 1.50115 0.0016394767 -0.021585004 4.5874205 + 28090 20.540515 1.0101405 23.814247 6.0666349 4.5519292 1.5147056 0.0016100421 -0.021139874 4.5714591 + 28100 20.52 1.0166367 23.742014 6.0762871 4.5518404 1.5244467 0.0015880329 -0.021111185 4.5713636 + 28110 20.177952 1.0440499 23.715788 6.0990259 4.5334731 1.5655529 0.0013738928 -0.020300471 4.5523996 + 28120 20.166263 1.022916 24.167747 6.0863717 4.5525092 1.5338626 0.0012407315 -0.019231708 4.5705002 + 28130 20.407818 1.0319134 23.813502 6.0694633 4.5221091 1.5473542 0.0012127494 -0.018979199 4.5398756 + 28140 20.26515 1.01531 23.580413 6.0698938 4.5474364 1.5224574 0.0013253455 -0.019501609 4.5656126 + 28150 19.907376 1.0342646 23.90685 6.0784817 4.5276019 1.5508798 0.0014780573 -0.020332514 4.5464564 + 28160 20.28344 1.026998 24.031852 6.0833157 4.5433322 1.5399835 0.0016238027 -0.021100737 4.5628091 + 28170 20.285053 1.0112089 23.89422 6.081837 4.5655293 1.5163077 0.0016623201 -0.021140006 4.585007 + 28180 20.319575 1.0361159 23.809705 6.0877439 4.5340881 1.5536559 0.001458215 -0.020365967 4.5529958 + 28190 20.346896 1.0523749 24.036426 6.1083647 4.5303286 1.5780361 0.0012633895 -0.018951933 4.5480171 + 28200 20.177613 1.0105243 23.618827 6.0680392 4.5527581 1.5152811 0.0013769988 -0.019390995 4.570772 + 28210 20.381237 1.0085196 24.02464 6.031431 4.5191558 1.5122752 0.0017086178 -0.020854921 4.5383021 + 28220 20.447559 1.0154094 23.79605 6.0613722 4.5387658 1.5226064 0.0017196752 -0.021128189 4.5581743 + 28230 20.070142 1.0174502 23.933027 6.0609026 4.535236 1.5256666 0.001775833 -0.021378599 4.5548388 + 28240 20.253383 1.0257189 23.613863 6.0679367 4.5298712 1.5380655 0.001819485 -0.021871177 4.5499229 + 28250 20.351084 1.0289203 23.674954 6.0637489 4.520883 1.5428659 0.0017192101 -0.021787573 4.5409513 + 28260 20.238417 1.0128262 23.823303 6.0386588 4.5199259 1.5187329 0.0017404304 -0.02231915 4.5405046 + 28270 20.192524 1.0050495 23.826474 6.0529354 4.5458636 1.5070718 0.002006794 -0.023560634 4.5674174 + 28280 19.896091 1.0248716 23.715856 6.0735083 4.5367134 1.5367949 0.0020150957 -0.023570033 4.5582683 + 28290 20.24824 1.030483 23.846036 6.0563036 4.5110944 1.5452092 0.0018952165 -0.022883968 4.5320831 + 28300 20.357135 1.0252712 24.229041 6.0834231 4.5460289 1.5373942 0.0019621809 -0.023208621 4.5672753 + 28310 20.208551 1.0220544 23.639129 6.0777385 4.5451679 1.5325706 0.0020369316 -0.023398272 4.5665293 + 28320 20.179665 1.0031461 23.812594 6.0448062 4.5405886 1.5042176 0.0019921065 -0.023323225 4.5619197 + 28330 20.117294 1.0150074 23.596972 6.0602519 4.5382483 1.5220036 0.0019511944 -0.023273742 4.5595709 + 28340 20.443741 1.0130197 23.466321 6.0557075 4.5366844 1.5190231 0.002073831 -0.0236986 4.5583091 + 28350 20.488388 1.0196413 23.624452 6.0634543 4.5345022 1.5289521 0.0021414661 -0.024035418 4.5563961 + 28360 20.218175 1.0261917 23.74347 6.0402833 4.5015089 1.5387744 0.002155244 -0.02444222 4.5237958 + 28370 20.412186 1.0079097 23.65534 6.0319147 4.5205542 1.5113605 0.0019633007 -0.023831346 4.5424222 + 28380 20.423093 0.9976846 23.644917 6.0263068 4.5302787 1.4960281 0.0017502206 -0.02256902 4.5510975 + 28390 20.033592 1.0137507 23.685973 6.0538961 4.533777 1.5201191 0.0013691162 -0.020730407 4.5531383 + 28400 20.287031 1.0212543 23.819779 6.054021 4.5226502 1.5313708 0.0014258455 -0.021095192 4.5423196 + 28410 20.285042 1.0039277 23.52916 6.0310055 4.5256159 1.5053896 0.0015617003 -0.021701714 4.5457559 + 28420 20.308992 1.0042472 23.730153 6.0256904 4.5198218 1.5058686 0.0016369696 -0.021497365 4.5396822 + 28430 20.45618 1.0193038 23.978718 6.0401426 4.5116966 1.528446 0.0015965178 -0.021106401 4.5312065 + 28440 20.500456 1.0026983 23.699416 6.0395469 4.5360008 1.5035461 0.0015060071 -0.020924717 4.5554195 + 28450 20.004423 0.98928241 23.639527 6.035781 4.552352 1.483429 0.0014303644 -0.020766733 4.5716884 + 28460 20.132001 0.98161356 23.553381 6.0225662 4.5506367 1.4719295 0.0016487508 -0.021941067 4.570929 + 28470 20.180301 1.000716 23.626634 6.0273609 4.5267873 1.5005736 0.0019840439 -0.023503169 4.5483064 + 28480 20.135638 1.0292724 23.450161 6.0550109 4.5116169 1.543394 0.001982211 -0.023460105 4.5330948 + 28490 19.801111 1.02489 23.787947 6.0668449 4.5300224 1.5368225 0.0020009016 -0.02339707 4.5514186 + 28500 20.12561 1.014402 23.838203 6.0507844 4.5296886 1.5210959 0.0019345983 -0.022955384 4.5507094 + 28510 20.268076 1.0225752 23.792402 6.072034 4.5386825 1.5333515 0.001956208 -0.02307972 4.559806 + 28520 20.376401 1.0325351 23.827271 6.0893999 4.5411135 1.5482865 0.0018865107 -0.022717401 4.5619443 + 28530 20.129332 1.008228 23.498755 6.0508505 4.5390125 1.5118379 0.0016206591 -0.021741418 4.5591333 + 28540 20.264307 1.0154489 23.921532 6.0474407 4.524775 1.5226657 0.0014948929 -0.021087144 4.5443673 + 28550 19.813225 0.99156953 23.608578 6.0327777 4.5459192 1.4868585 0.001448035 -0.020903339 4.5653745 + 28560 20.216012 1.0126643 23.5233 6.042119 4.5236288 1.5184902 0.0013587244 -0.020585059 4.5428551 + 28570 20.375989 1.004152 23.967935 6.0452939 4.539568 1.5057259 0.0013716981 -0.020644927 4.5588413 + 28580 20.42629 1.0206165 23.758017 6.0302962 4.4998818 1.5304144 0.0015839147 -0.021260329 4.5195582 + 28590 20.305482 1.0254064 24.115895 6.0562778 4.5186809 1.5375969 0.0018834607 -0.022412616 4.53921 + 28600 20.193175 1.0332818 23.895581 6.0580368 4.5086308 1.549406 0.0020344883 -0.023233312 4.5298297 + 28610 20.19954 1.0255644 23.852207 6.0639195 4.5260857 1.5378338 0.0019920727 -0.023351195 4.5474448 + 28620 20.18141 1.0085736 23.573001 6.034491 4.5221349 1.5123561 0.001986175 -0.023234839 4.5433836 + 28630 20.178191 0.99412951 23.82372 6.0097219 4.5190247 1.4906972 0.0019167474 -0.022897912 4.5400059 + 28640 20.28944 0.99923837 23.667934 6.0289899 4.530632 1.4983579 0.0018488482 -0.02255712 4.5513402 + 28650 20.164875 1.0179376 23.94078 6.0544827 4.5280853 1.5263974 0.001736328 -0.02174358 4.5480925 + 28660 20.062213 1.0246294 23.637116 6.0628478 4.526416 1.5364317 0.0017031008 -0.021669042 4.546382 + 28670 19.964774 1.0262812 23.535772 6.0692353 4.5303266 1.5389086 0.0017014919 -0.021860197 4.5504854 + 28680 19.96598 1.0235847 23.86302 6.0709742 4.536109 1.5348653 0.0016389358 -0.021531442 4.5560015 + 28690 20.282369 1.0206127 23.853985 6.0653089 4.5349001 1.5304088 0.0015187156 -0.02136389 4.5547453 + 28700 20.275208 1.0167576 23.762923 6.0728943 4.5482663 1.524628 0.001404164 -0.020769075 4.5676312 + 28710 20.269927 1.0179776 23.691838 6.0660851 4.5396277 1.5264574 0.0015592708 -0.021653261 4.5597217 + 28720 20.251886 1.0159954 23.68677 6.0640206 4.5405355 1.5234851 0.0018494442 -0.022815176 4.5615012 + 28730 20.244575 0.99847167 23.66399 6.0397253 4.542517 1.4972083 0.0018227712 -0.022255029 4.5629493 + 28740 20.367534 1.0143378 23.664358 6.0601942 4.5391947 1.5209995 0.0017371768 -0.022022943 4.5594805 + 28750 20.259447 0.99135759 23.632053 6.0217861 4.5352454 1.4865407 0.0015831834 -0.02135299 4.5550152 + 28760 20.216753 0.99728519 23.687012 6.0204211 4.524992 1.4954291 0.001457106 -0.020816035 4.5443509 + 28770 20.024385 1.0170591 23.446366 6.0242452 4.4991651 1.5250801 0.0013541912 -0.020518834 4.5183297 + 28780 19.984428 1.0001789 23.703704 6.0424991 4.5427308 1.4997683 0.0013600942 -0.020441215 4.5618119 + 28790 19.954545 1.0245903 23.661853 6.0560631 4.5196899 1.5363732 0.0013777763 -0.020596007 4.5389081 + 28800 20.200682 0.99717655 23.453672 6.0085459 4.5132797 1.4952662 0.001453497 -0.020572294 4.5323985 + 28810 20.104446 1.0029851 23.559561 6.0266678 4.5226917 1.5039762 0.0017764346 -0.022172606 4.5430878 + 28820 20.320903 0.9833852 23.783155 6.0060216 4.5314355 1.4745861 0.0018498389 -0.022332048 4.5519177 + 28830 20.30697 0.96762861 23.582392 5.9881209 4.5371618 1.4509591 0.0018064703 -0.021903263 4.5572586 + 28840 19.995414 0.99855232 23.412539 6.0027101 4.5053809 1.4973292 0.001832822 -0.022047948 4.525596 + 28850 20.220647 1.001567 23.825864 6.016496 4.5146462 1.5018498 0.0019037779 -0.022650532 4.535393 + 28860 20.328704 1.0081077 23.744433 6.0205079 4.5088504 1.5116575 0.0019256756 -0.023191291 4.530116 + 28870 20.449098 1.0098266 23.736952 6.046642 4.532407 1.514235 0.0018626234 -0.023108408 4.5536527 + 28880 20.287687 1.0052571 23.496668 6.0691619 4.5617789 1.507383 0.0016750243 -0.022063568 4.5821675 + 28890 19.469156 1.0162191 23.706803 6.0735005 4.54968 1.5238205 0.0017032732 -0.022027823 4.5700046 + 28900 20.137345 1.0024939 23.536122 6.0334656 4.530226 1.5032396 0.0015997836 -0.021539139 4.5501654 + 28910 20.352436 0.98872314 23.847126 6.0137632 4.5311728 1.4825904 0.0015366503 -0.02129597 4.5509322 + 28920 20.190489 0.973535 23.72439 6.0214007 4.561585 1.4598157 0.0018654485 -0.022568443 4.582288 + 28930 20.50213 0.98863641 23.962553 6.0347998 4.5523395 1.4824603 0.0019904975 -0.023160373 4.5735094 + 28940 20.261007 0.99893259 24.098479 6.0345675 4.5366681 1.4978994 0.0021812847 -0.023863764 4.5583506 + 28950 20.427314 1.0002565 23.662367 6.0236929 4.5238083 1.4998846 0.0022277769 -0.024049242 4.5456298 + 28960 20.162296 1.0037291 23.827922 6.0269046 4.5218128 1.5050918 0.002146719 -0.023413741 4.5430798 + 28970 20.24212 1.0209508 23.769654 6.0584103 4.5274946 1.5309157 0.001966451 -0.022211577 4.5477398 + 28980 19.963516 1.0059093 23.733022 6.0556894 4.5473284 1.5083611 0.0017577513 -0.021143605 4.5667142 + 28990 20.016313 1.0089908 23.981971 6.052647 4.5396653 1.5129817 0.0016733648 -0.021142747 4.5591347 + 29000 20.155903 1.0231393 24.135763 6.0799548 4.5457575 1.5341974 0.0017187074 -0.02151713 4.5655559 + 29010 20.263303 1.0053706 23.568244 6.0433644 4.5358112 1.5075532 0.001513747 -0.020396453 4.5546939 + 29020 20.247104 0.98904108 23.831901 6.0193461 4.5362789 1.4830671 0.0015160281 -0.020464286 4.5552272 + 29030 20.21304 0.9978525 23.50417 6.0244375 4.5281577 1.4962798 0.0016658102 -0.021026302 4.5475182 + 29040 20.325158 1.0067182 23.718379 6.0535949 4.544021 1.5095739 0.0018971396 -0.022059367 4.5641832 + 29050 20.349441 1.0243895 23.777832 6.0625736 4.5265016 1.536072 0.0020187164 -0.02273089 4.5472138 + 29060 20.441066 1.0128964 23.907794 6.0421721 4.523334 1.5188381 0.0021236383 -0.023294644 4.544505 + 29070 20.014115 1.0025072 23.694684 6.0347784 4.5315189 1.5032595 0.0020762217 -0.023128145 4.5525708 + 29080 20.167069 1.0224464 23.644912 6.0704647 4.5373062 1.5331584 0.002037502 -0.022828394 4.5580971 + 29090 20.000459 1.0142649 23.719834 6.0342623 4.5133721 1.5208902 0.0019666231 -0.022513619 4.5339191 + 29100 20.104532 1.00268 23.515622 6.0334489 4.5299302 1.5035187 0.0017554062 -0.021848186 4.550023 + 29110 19.887341 1.0014683 23.801401 6.0325648 4.5308631 1.5017018 0.0017891662 -0.021928402 4.5510023 + 29120 20.298378 1.0191787 23.587935 6.054854 4.5265954 1.5282585 0.0017811774 -0.021948217 4.5467625 + 29130 20.258533 1.0088072 23.725163 6.0493578 4.5366513 1.5127064 0.0018421293 -0.0221004 4.5569096 + 29140 20.189658 1.0106706 23.545605 6.0543133 4.5388126 1.5155006 0.0017411149 -0.022123869 4.5591954 + 29150 20.022471 1.0145398 23.997447 6.0688264 4.547524 1.5213024 0.0016453662 -0.022089335 4.5679679 + 29160 19.849243 1.0243402 23.78773 6.0868913 4.5508932 1.5359981 0.0014212318 -0.02088416 4.5703561 + 29170 19.99288 1.034394 23.914967 6.0906299 4.5395561 1.5510738 0.0014728976 -0.020938609 4.5590219 + 29180 20.324032 1.0411601 24.131789 6.0951917 4.5339721 1.5612196 0.0014151542 -0.020920317 4.5534772 + 29190 20.421755 1.0337155 23.884831 6.0908994 4.540843 1.5500564 0.0013005116 -0.020442982 4.5599855 + 29200 20.488061 1.0164226 23.836673 6.0891754 4.5650497 1.5241257 0.0013078502 -0.019967622 4.5837095 + 29210 20.229828 1.0223969 23.739743 6.0758406 4.5427564 1.5330841 0.0014921583 -0.020747904 4.5620122 + 29220 20.219162 1.0293252 23.886798 6.0565067 4.5130336 1.5434731 0.0014522281 -0.020449906 4.5320313 + 29230 19.962454 1.0002971 23.716541 6.0489881 4.5490425 1.4999456 0.0013480515 -0.019857153 4.5675516 + 29240 20.238782 1.0067439 23.847253 6.0518041 4.5421916 1.5096125 0.0012899254 -0.019442906 4.5603446 + 29250 20.409598 1.0058406 23.978886 6.0379277 4.5296696 1.508258 0.0014155668 -0.02014921 4.5484033 + 29260 20.346139 1.0061655 23.739112 6.012514 4.5037688 1.5087452 0.0015210198 -0.020383604 4.5226314 + 29270 20.41298 0.9934543 23.629913 6.0288765 4.5391918 1.4896847 0.0014224107 -0.020316171 4.5580856 + 29280 20.143687 1.0099828 23.474017 6.0357671 4.5212979 1.5144692 0.0013386668 -0.020219001 4.5401783 + 29290 20.148062 1.00333 23.650657 6.0325562 4.5280628 1.5044934 0.0012085128 -0.019967841 4.5468221 + 29300 20.129254 1.003139 23.600422 6.0455192 4.5413122 1.504207 0.0011699696 -0.020153696 4.560296 + 29310 20.283614 1.0134931 23.616417 6.0423875 4.5226546 1.519733 0.0013010158 -0.020703525 4.5420571 + 29320 20.031327 1.0041549 23.811985 6.0285111 4.5227808 1.5057303 0.0013178859 -0.020574361 4.5420372 + 29330 20.242933 1.0241661 23.771688 6.0552102 4.5194731 1.5357371 0.001345899 -0.020558625 4.5386859 + 29340 20.280166 1.0205014 23.936367 6.0811898 4.550948 1.5302418 0.0014169998 -0.021020548 4.5705515 + 29350 20.255188 1.0227878 23.710656 6.0867409 4.5530705 1.5336704 0.0015300292 -0.020932241 4.5724728 + 29360 20.099186 1.025832 23.734534 6.0898834 4.5516484 1.5382351 0.0015746201 -0.021123869 4.5711976 + 29370 20.230833 1.0241942 23.843379 6.0774965 4.5417173 1.5357792 0.0013883124 -0.020263116 4.5605922 + 29380 20.152093 1.0194626 24.021292 6.0676681 4.5389839 1.5286842 0.0013669273 -0.020216232 4.5578332 + 29390 20.15644 1.0299549 23.855613 6.0871047 4.5426873 1.5444174 0.001298141 -0.019997726 4.5613869 + 29400 20.354693 1.0263668 23.78785 6.0848736 4.5458365 1.5390371 0.0013428478 -0.020468485 4.5649622 + 29410 20.168376 1.0205375 23.697249 6.0541748 4.5238788 1.530296 0.0013764989 -0.020721823 4.5432242 + 29420 19.959524 1.0146342 23.785568 6.0655249 4.5440809 1.521444 0.0013812606 -0.020815312 4.563515 + 29430 19.866715 1.0007619 23.841698 6.0383536 4.5377111 1.5006425 0.001443895 -0.021039096 4.5573063 + 29440 20.38995 1.0207218 23.959995 6.070571 4.5399986 1.5305724 0.0015064359 -0.021042803 4.5595349 + 29450 20.265893 1.0377431 23.820949 6.0957851 4.5396893 1.5560958 0.0016783924 -0.021255923 4.5592668 + 29460 20.129113 1.0272682 23.825754 6.0726079 4.5322192 1.5403886 0.0018283958 -0.021760568 4.5521514 + 29470 20.395001 1.0176925 23.607417 6.0511809 4.525151 1.5260299 0.0019358212 -0.022376066 4.5455913 + 29480 20.037416 1.0166106 23.273508 6.0511352 4.5267276 1.5244076 0.0019071908 -0.022286677 4.5471071 + 29490 20.171536 0.99182804 23.637137 6.0459307 4.5586846 1.4872461 0.0017122808 -0.021396392 4.5783687 + 29500 20.187097 1.0029962 23.519738 6.0276739 4.523681 1.5039929 0.0018182644 -0.021689908 4.5435527 + 29510 19.813951 0.99954958 23.485618 6.0374839 4.5386593 1.4988246 0.0017574307 -0.021749465 4.5586514 + 29520 20.168279 1.001958 23.524072 6.020352 4.517916 1.502436 0.0017320504 -0.02207239 4.5382564 + 29530 20.013672 0.99255401 23.523969 6.0276151 4.5392803 1.4883347 0.001538554 -0.021501988 4.5592438 + 29540 20.454679 0.99493594 23.579039 6.0219753 4.5300689 1.4919064 0.0014731013 -0.021551818 4.5501476 + 29550 19.984707 0.99460712 23.517681 6.0179502 4.5265368 1.4914134 0.0014184667 -0.021116922 4.5462353 + 29560 20.175072 1.0163093 23.915434 6.0609399 4.5369842 1.5239557 0.001427346 -0.021207304 4.5567641 + 29570 20.26029 1.0160214 23.755365 6.055406 4.5318819 1.5235241 0.0015308624 -0.021656967 4.552008 + 29580 20.360527 1.0242704 23.896449 6.0665603 4.5306668 1.5358935 0.0015024383 -0.021106956 4.5502713 + 29590 20.188916 1.0186739 23.65207 6.0756067 4.5481052 1.5275015 0.0016106578 -0.021438963 4.5679335 + 29600 20.100409 1.0065363 23.919594 6.0580293 4.5487281 1.5093012 0.0016548946 -0.0214922 4.5685654 + 29610 20.159127 1.0176471 23.788967 6.0781015 4.5521396 1.5259619 0.001489968 -0.020617626 4.5712673 + 29620 20.378778 1.0181103 23.432072 6.0696927 4.5430363 1.5266564 0.0015533306 -0.020798193 4.5622812 + 29630 19.987295 1.0263518 23.616687 6.090585 4.5515704 1.5390145 0.0016045282 -0.021127662 4.5710936 + 29640 20.271169 1.0210684 23.818232 6.0611126 4.5300204 1.5310921 0.0018049889 -0.022094126 4.5503096 + 29650 20.11014 1.0190383 23.986403 6.070466 4.5424181 1.5280479 0.0017724164 -0.02192296 4.5625686 + 29660 20.118184 1.0260405 23.910554 6.0843374 4.5457897 1.5385477 0.0016550802 -0.021831271 4.5659659 + 29670 20.312605 1.0143697 23.579884 6.0589498 4.5379024 1.5210474 0.0017499858 -0.022426404 4.5585788 + 29680 20.454131 1.0128902 23.701052 6.0811286 4.5622997 1.5188289 0.0018947317 -0.022829957 4.5832349 + 29690 20.419688 1.039753 23.631986 6.0811223 4.5220127 1.5591096 0.0019349701 -0.022918554 4.5429963 + 29700 20.259552 1.0212961 23.92356 6.0683422 4.5369087 1.5314335 0.0019110771 -0.022672075 4.5576697 + 29710 20.131972 1.0298023 23.581693 6.0766957 4.5325072 1.5441885 0.0019290936 -0.022878907 4.553457 + 29720 20.314531 1.0284383 23.762099 6.063766 4.5216227 1.5421433 0.0018021731 -0.021900728 4.5417213 + 29730 20.310531 1.0020733 23.844916 6.0239744 4.5213655 1.5026089 0.0015374404 -0.020545855 4.5403739 + 29740 20.110947 0.99929037 23.649559 6.0306106 4.5321747 1.4984359 0.0014461023 -0.020043676 4.5507722 + 29750 20.279405 0.99786895 23.78209 6.0272236 4.5309191 1.4963045 0.0013689058 -0.020056936 4.5496072 + 29760 20.300094 1.0077229 23.916431 6.0399335 4.528853 1.5110805 0.001437298 -0.02062365 4.5480394 + 29770 20.380233 1.0053382 23.744907 6.0309889 4.5234843 1.5075047 0.0013118174 -0.019944103 4.5421166 + 29780 20.118459 1.0028471 23.453153 6.0384692 4.5347 1.5037692 0.0015205151 -0.020506186 4.5536857 + 29790 20.323074 1.0263315 23.673437 6.0756165 4.5366325 1.5389841 0.001709284 -0.021559807 4.556483 + 29800 20.301566 1.0164723 23.481294 6.0704157 4.5462155 1.5242002 0.0016476644 -0.021431064 4.5659989 + 29810 20.404489 1.0188681 23.697451 6.0538338 4.5260411 1.5277927 0.0013432043 -0.020245025 4.5449429 + 29820 20.427545 1.0300111 23.621679 6.0613641 4.5168624 1.5445017 0.00090335107 -0.018456326 4.5344154 + 29830 20.015075 1.026684 24.251512 6.1063001 4.5667873 1.5395127 0.00081182243 -0.018024075 4.5839996 + 29840 20.161321 1.0427915 23.822393 6.1022457 4.5385798 1.5636658 0.0011854562 -0.019490361 4.5568847 + 29850 20.047376 1.0308154 23.610221 6.0817816 4.5360738 1.5457078 0.0012637578 -0.019911643 4.5547217 + 29860 20.118954 1.0379719 24.03852 6.0928127 4.5363738 1.5564388 0.0014844007 -0.020614056 4.5555035 + 29870 20.31467 1.0360847 23.799496 6.0871387 4.5335297 1.553609 0.0015942842 -0.021338015 4.5532734 + 29880 20.144822 1.0231125 23.658517 6.0776454 4.5434883 1.5341571 0.0016755653 -0.021281874 4.5630946 + 29890 20.243238 1.0175965 23.905579 6.066898 4.541012 1.525886 0.0017918422 -0.021782445 4.5610026 + 29900 19.784544 1.0332758 23.90702 6.0736113 4.5242143 1.549397 0.002034655 -0.023045547 4.5452252 + 29910 20.270611 1.0292661 23.82927 6.0548211 4.5114366 1.5433845 0.0020632972 -0.023325426 4.5326987 + 29920 20.493151 1.0100131 23.725735 6.0588157 4.5443011 1.5145146 0.0020451514 -0.022985032 4.565241 + 29930 20.336191 1.0298409 23.515488 6.0904031 4.5461566 1.5442465 0.0019711672 -0.02259414 4.5667796 + 29940 20.113634 1.0124254 23.66333 6.0593414 4.5412096 1.5181318 0.0018350003 -0.02191969 4.5612943 + 29950 19.878832 1.0204734 23.699886 6.0875778 4.557378 1.5301999 0.0016518406 -0.021076903 4.576803 + 29960 20.231404 1.0381269 23.689952 6.0961702 4.539499 1.5566712 0.0015698718 -0.020651218 4.5585804 + 29970 20.129273 1.0344943 23.843366 6.0870427 4.5358184 1.5512243 0.0016639322 -0.020699773 4.5548543 + 29980 20.378193 1.0278951 23.717714 6.0931891 4.5518604 1.5413287 0.001718925 -0.020462694 4.5706041 + 29990 20.366157 1.0369576 23.686376 6.1164097 4.5614918 1.5549179 0.0016625744 -0.020182341 4.5800115 + 30000 20.340276 1.0378792 23.909563 6.1130349 4.556735 1.5562999 0.0017300101 -0.02093449 4.5759395 + 30010 20.222844 1.0637685 24.037961 6.1429759 4.547855 1.5951209 0.0017595108 -0.02078022 4.5668757 + 30020 19.771485 1.0379102 23.941677 6.1383834 4.582037 1.5563464 0.0017278028 -0.020580027 4.6008892 + 30030 20.298256 1.0466171 23.934767 6.1036338 4.5342315 1.5694023 0.001698934 -0.020712974 4.5532455 + 30040 20.184957 1.0281974 23.861329 6.1039599 4.5621779 1.541782 0.001781719 -0.021419167 4.5818154 + 30050 20.288677 1.0466938 23.921087 6.109562 4.5400446 1.5695174 0.0017504888 -0.02115661 4.5594508 + 30060 20.263144 1.0304819 23.872964 6.0996263 4.5544186 1.5452077 0.0015213088 -0.020288593 4.5731859 + 30070 20.56327 1.0046705 23.865678 6.0537797 4.5472763 1.5065034 0.0014106175 -0.019935057 4.5658008 + 30080 20.400783 0.99610109 23.636481 6.0132166 4.519563 1.4936536 0.0013744287 -0.020086099 4.5382747 + 30090 20.288502 0.99556968 23.902284 6.0077891 4.5149323 1.4928567 0.0010374843 -0.018693381 4.5325882 + 30100 19.994323 1.0013858 23.619737 6.0417969 4.5402189 1.5015781 0.00081116065 -0.01774232 4.55715 + 30110 20.002616 0.9819792 23.691862 6.0383857 4.5659079 1.4724778 0.000786828 -0.017776754 4.5828979 + 30120 20.191534 0.99999269 23.554805 6.0263889 4.5268999 1.499489 0.00071010915 -0.017648156 4.543838 + 30130 20.327161 1.01521 23.638175 6.0583074 4.536 1.5223074 0.0007653823 -0.017880854 4.5531155 + 30140 20.094009 1.0114446 23.780973 6.0570683 4.5404071 1.5166612 0.00096645458 -0.018369605 4.5578103 + 30150 20.386792 1.0200003 23.857672 6.0611266 4.5316361 1.5294904 0.0012096335 -0.018873962 4.5493004 + 30160 20.109748 1.023148 23.542493 6.0838157 4.5496052 1.5342105 0.0013377725 -0.019075615 4.567343 + 30170 20.319356 1.0197484 23.777084 6.0673828 4.5382701 1.5291127 0.0013942451 -0.019438892 4.5563147 + 30180 20.218152 1.0172956 23.795369 6.069048 4.5436133 1.5254347 0.0015698205 -0.02048472 4.5625282 + 30190 20.013524 1.0367616 23.719715 6.0892617 4.5346378 1.554624 0.001803334 -0.021530779 4.5543652 + 30200 20.296438 1.0363797 23.771762 6.1018253 4.5477739 1.5540514 0.0019657007 -0.022549982 4.5683582 + 30210 20.074027 1.0334452 24.122793 6.0818319 4.5321808 1.5496511 0.0018315201 -0.021997305 4.5523466 + 30220 20.370684 1.0317199 23.737539 6.0858941 4.53883 1.547064 0.0016922699 -0.021121653 4.5582594 + 30230 20.028746 1.0183728 23.790282 6.064903 4.537853 1.52705 0.0016652917 -0.020917777 4.5571055 + 30240 20.12296 1.0120538 23.996834 6.0727648 4.5551901 1.5175747 0.0016833468 -0.021252312 4.5747591 + 30250 20.169176 1.0163204 23.806092 6.040132 4.5161595 1.5239724 0.0017769763 -0.021918061 4.5363006 + 30260 20.176584 1.0009042 23.616254 6.011378 4.5105222 1.5008558 0.0018114187 -0.022005051 4.5307158 + 30270 19.784523 1.012354 23.7346 6.0075713 4.4895464 1.5180249 0.001878949 -0.022695633 4.5103631 + 30280 20.096129 0.99398726 23.974089 5.9975793 4.5070954 1.4904839 0.0019376807 -0.022794764 4.5279525 + 30290 20.179604 0.98106296 23.452603 5.9863125 4.5152086 1.4711039 0.0018733981 -0.022088708 4.5354239 + 30300 19.95925 0.99910088 23.732028 6.0282961 4.5301443 1.4981518 0.0018103953 -0.021754574 4.5500885 + 30310 20.093257 1.0029151 23.465918 6.0560767 4.5522055 1.5038712 0.001709622 -0.021536083 4.5720319 + 30320 20.287284 1.0106533 23.69905 6.0787289 4.5632542 1.5154746 0.0018179636 -0.021983005 4.5834193 + 30330 20.080693 1.0221864 23.379526 6.0523805 4.5196119 1.5327686 0.0018072468 -0.022139228 4.5399439 + 30340 20.339774 1.0034528 23.387706 6.0540985 4.5494211 1.5046774 0.0017276034 -0.021960343 4.5696538 + 30350 20.250982 1.0055126 23.947086 6.0314369 4.5236707 1.5077662 0.0017459039 -0.022560671 4.5444855 + 30360 20.370157 1.006605 23.554501 6.0510002 4.541596 1.5094043 0.0016254407 -0.022131599 4.5621021 + 30370 20.387228 1.0124936 23.773494 6.035119 4.5168848 1.5182342 0.0015286192 -0.021278992 4.5366351 + 30380 20.301563 1.0118486 23.889114 6.0566493 4.5393823 1.5172669 0.0016688119 -0.021879588 4.5595931 + 30390 19.95915 0.99507468 23.734 6.0137222 4.5216077 1.4921145 0.0018272882 -0.022468656 4.5422491 + 30400 20.190829 0.99736144 23.932746 6.0127655 4.517222 1.4955435 0.0019591089 -0.022968891 4.5382318 + 30410 20.241059 0.99591651 23.335414 6.0247186 4.5313418 1.4933768 0.0018405902 -0.022300405 4.5518016 + 30420 20.178631 1.0182262 23.613442 6.0353497 4.5085194 1.5268302 0.0017385423 -0.022227732 4.5290086 + 30430 20.075004 1.0184628 23.988675 6.0376301 4.5104452 1.5271849 0.0016909121 -0.022057343 4.5308116 + 30440 20.380041 1.0027546 23.39241 6.035499 4.5318685 1.5036305 0.0018558077 -0.022746556 4.5527592 + 30450 20.377394 1.0062637 23.921603 6.0591535 4.5502611 1.5088924 0.0021210548 -0.023848407 4.5719885 + 30460 20.133502 1.0119976 23.686855 6.0360269 4.5185365 1.5174904 0.0021912546 -0.024016817 4.5403621 + 30470 20.172184 1.0194143 23.599888 6.0412399 4.5126281 1.5286118 0.0019837678 -0.023449294 4.5340937 + 30480 20.09721 1.0117881 23.63942 6.02307 4.5058938 1.5171763 0.0018061894 -0.022545799 4.5266334 + 30490 19.837742 0.99457182 23.552014 6.0146825 4.5233221 1.4913604 0.0018043403 -0.022298788 4.5438165 + 30500 20.172661 0.98060523 23.56431 6.02019 4.5497724 1.4704175 0.0017256807 -0.021611382 4.5696581 + 30510 20.431696 1.0031016 23.997648 6.0240044 4.5198535 1.5041508 0.0018916453 -0.022391208 4.5403531 + 30520 20.198712 0.99093286 23.807401 5.9974375 4.5115337 1.4859038 0.0018346853 -0.022271205 4.5319702 + 30530 20.399105 0.98280969 23.859208 5.9941371 4.520414 1.4737231 0.0016453965 -0.021433646 4.5402023 + 30540 19.835332 0.97611813 23.398941 5.9902823 4.5265931 1.4636891 0.0016036564 -0.021371781 4.5463613 + 30550 20.22165 0.98795323 23.808553 6.0006541 4.5192182 1.4814359 0.0016715015 -0.021765288 4.539312 + 30560 20.054632 0.9883584 23.489045 5.9972893 4.5152459 1.4820434 0.0015947095 -0.021047823 4.534699 + 30570 20.642461 1.0176442 23.409273 6.0504934 4.524536 1.5259575 0.0015140796 -0.020199597 4.5432215 + 30580 20.329179 1.027966 23.887374 6.0555412 4.5141063 1.5414349 0.0016660648 -0.020952845 4.5333931 + 30590 20.035986 1.0207143 23.717504 6.0694662 4.538905 1.5305612 0.0018407572 -0.02217531 4.5592396 + 30600 20.292981 1.0209787 23.976376 6.0651564 4.5341989 1.5309575 0.0016845176 -0.021508947 4.5540233 + 30610 19.902635 1.0006203 23.832329 6.0477426 4.5473124 1.5004302 0.0018028457 -0.022204211 4.5677137 + 30620 20.270081 1.0040258 23.748136 6.0393264 4.5337897 1.5055368 0.0017784996 -0.022223172 4.5542343 + 30630 20.421875 1.0296331 23.919114 6.0741573 4.5302225 1.5439349 0.0017248599 -0.022315246 4.5508129 + 30640 20.117991 1.0096607 23.738612 6.0540231 4.5400369 1.5139862 0.0018948067 -0.022628876 4.560771 + 30650 20.475075 0.9941694 23.807863 6.0346533 4.5438963 1.490757 0.0020214335 -0.022365308 4.5642402 + 30660 20.186496 1.009253 23.565929 6.0326279 4.519253 1.5133749 0.0019608276 -0.02262019 4.5399124 + 30670 20.332404 1.0067189 23.822463 6.0237598 4.5141848 1.509575 0.0019174387 -0.022535387 4.5348028 + 30680 20.246955 1.003564 23.585445 6.0416047 4.5367605 1.5048442 0.002059661 -0.022872424 4.5575733 + 30690 20.206638 0.99822103 23.598819 6.0404449 4.5436125 1.4968324 0.0019068246 -0.022099403 4.563805 + 30700 20.420203 1.0210959 23.65569 6.061387 4.5302537 1.5311333 0.0018999872 -0.022215755 4.5505695 + 30710 20.007545 1.0352809 23.949332 6.0666392 4.5142356 1.5524037 0.0020548429 -0.023529892 4.5357106 + 30720 20.259265 1.0402397 23.608644 6.0861986 4.5263593 1.5598394 0.0022137955 -0.024272789 4.5484183 + 30730 20.290591 1.0396735 23.930189 6.0994592 4.5404689 1.5589903 0.0019915519 -0.023388756 4.5618661 + 30740 20.005232 1.0374277 23.760874 6.1088159 4.5531931 1.5556228 0.0019828834 -0.023582012 4.5747922 + 30750 20.395825 1.0374181 23.95242 6.103177 4.5475686 1.5556084 0.0019081802 -0.023625161 4.5692856 + 30760 20.352598 1.0401531 23.747477 6.0947622 4.5350526 1.5597096 0.0020408771 -0.024091936 4.5571037 + 30770 20.448525 1.044171 23.797095 6.1068941 4.5411597 1.5657344 0.0018864418 -0.023174704 4.562448 + 30780 20.060956 1.0384074 23.912591 6.1065323 4.5494404 1.5570919 0.0019413539 -0.022768171 4.5702672 + 30790 19.942294 1.0145606 23.748413 6.0965446 4.575211 1.5213336 0.0018504891 -0.02216184 4.5955224 + 30800 19.891407 1.0398037 24.048536 6.1330748 4.5738892 1.5591856 0.001987104 -0.022454749 4.5943568 + 30810 20.087601 1.0442559 23.843649 6.1158814 4.5500196 1.5658618 0.0020782844 -0.022882802 4.5708241 + 30820 20.38134 1.0329415 24.037798 6.0777157 4.5288199 1.5488958 0.0020686604 -0.023452484 4.5502037 + 30830 20.189188 1.0083696 23.64696 6.0413275 4.5292772 1.5120502 0.0019005947 -0.022977742 4.5503544 + 30840 20.22741 1.0178071 23.328086 6.0521239 4.5259222 1.5262018 0.0018108701 -0.023053406 4.5471647 + 30850 20.039055 1.0023036 24.077076 6.033035 4.5300807 1.5029543 0.0017730937 -0.022868969 4.5511766 + 30860 20.004005 1.0093942 23.654226 6.0411639 4.5275772 1.5135867 0.0018142397 -0.022990951 4.5487539 + 30870 20.303473 1.0052556 23.697437 6.0403323 4.5329516 1.5073808 0.0017621648 -0.022386873 4.5535763 + 30880 20.464999 1.0213659 23.754718 6.0531961 4.5216579 1.5315382 0.0018846454 -0.02293251 4.5427058 + 30890 20.035177 1.0016696 23.939021 6.034649 4.5326454 1.5020036 0.0019733692 -0.02318045 4.5538525 + 30900 19.915879 0.98747653 23.397735 6.014537 4.5338159 1.4807211 0.0019516802 -0.02274028 4.5546045 + 30910 20.308564 0.99874951 23.658309 6.0008325 4.5032076 1.4976249 0.0018744637 -0.022413494 4.5237466 + 30920 20.071274 0.97998429 23.292304 6.0012918 4.5318054 1.4694864 0.0017691415 -0.021582318 4.5516186 + 30930 20.434017 0.99294426 23.806417 5.9976654 4.5087455 1.4889199 0.0017998543 -0.021584865 4.5285305 + 30940 20.452054 1.0147183 23.66012 6.0293132 4.5077431 1.5215701 0.0016983972 -0.020995274 4.52704 + 30950 20.203752 0.97743217 23.496755 5.9998785 4.5342189 1.4656595 0.0016092669 -0.020160386 4.55277 + 30960 20.24328 0.98403249 23.606703 6.0018935 4.5263368 1.4755567 0.0015785082 -0.019330153 4.5440885 + 30970 20.445211 0.99564026 23.515698 6.0202354 4.5272728 1.4929626 0.0013542988 -0.018098142 4.5440167 + 30980 20.18833 0.99542424 23.925608 6.0191375 4.5264989 1.4926386 0.0012274279 -0.017547098 4.5428185 + 30990 20.336975 0.98633323 23.654758 6.0295526 4.5505459 1.4790067 0.0013329506 -0.018118051 4.567331 + 31000 20.124563 0.99973566 23.618339 6.0238836 4.52478 1.4991036 0.0013626218 -0.018575342 4.5419927 + 31010 20.542351 0.99188064 23.54696 5.9932207 4.5058957 1.487325 0.0016991691 -0.020469114 4.5246656 + 31020 20.50288 0.98671354 23.864521 5.9926675 4.5130905 1.4795769 0.001922981 -0.021894052 4.5330616 + 31030 20.465082 0.99580193 23.598675 6.0192414 4.5260364 1.493205 0.0019502449 -0.022546882 4.546633 + 31040 20.311885 1.0090962 23.920385 6.0341271 4.5209873 1.5131398 0.0019915697 -0.022955923 4.5419516 + 31050 20.465185 1.004341 23.621378 6.0368517 4.5308423 1.5060094 0.0019882578 -0.023020114 4.5518742 + 31060 20.213958 1.0046211 23.67147 6.0500492 4.5436199 1.5064293 0.0020881405 -0.023455065 4.5649868 + 31070 20.326661 1.0289205 23.459794 6.0631944 4.5203281 1.5428663 0.0020231386 -0.023164599 4.5414695 + 31080 20.11567 1.0053923 23.588068 6.0528738 4.5452881 1.5075858 0.0018927868 -0.022549497 4.5659448 + 31090 20.525525 1.0385301 23.876415 6.0766277 4.5193518 1.5572759 0.00191733 -0.022765411 4.5401999 + 31100 20.187133 1.020881 23.964731 6.0676745 4.5368634 1.5308111 0.001640133 -0.021349056 4.5565723 + 31110 20.336822 1.0276364 23.879274 6.0695126 4.5285718 1.5409408 0.0012762638 -0.01938991 4.5466855 + 31120 20.027632 1.0105081 23.766237 6.0579423 4.5426854 1.5152568 0.00095841414 -0.017560628 4.5592876 + 31130 19.983838 0.99072944 23.694719 6.0311244 4.5455256 1.4855988 0.0011083211 -0.018460009 4.5628773 + 31140 20.36517 1.0114588 24.037816 6.0429118 4.5262294 1.5166824 0.0011932425 -0.019158134 4.5441943 + 31150 20.159883 1.0031116 23.807938 6.0547245 4.5505587 1.5041658 0.0011716869 -0.019396017 4.568783 + 31160 20.335629 1.0032987 23.696704 6.0607863 4.55634 1.5044463 0.0014581843 -0.020549686 4.5754315 + 31170 19.993607 1.0220829 23.700481 6.0669812 4.534368 1.5326133 0.0017706972 -0.02162215 4.5542194 + 31180 20.29234 1.0188933 23.752839 6.074734 4.5469035 1.5278305 0.0018409038 -0.021629099 4.5666917 + 31190 20.291504 1.0246367 23.840451 6.0833725 4.5469298 1.5364427 0.0017239481 -0.021215154 4.566421 + 31200 20.299233 1.0206761 23.821956 6.085473 4.5549692 1.5305039 0.0017738095 -0.021663868 4.5748592 + 31210 20.232449 1.0178678 23.810898 6.0876533 4.5613605 1.5262927 0.0017330195 -0.021576975 4.5812045 + 31220 20.061768 1.0188366 23.860425 6.0626992 4.5349537 1.5277455 0.0016725335 -0.021153009 4.5544342 + 31230 20.196142 1.0125446 23.935702 6.0548869 4.5365763 1.5183106 0.001571599 -0.020905703 4.5559104 + 31240 20.320744 1.0235954 23.75114 6.0405011 4.5056198 1.5348812 0.0016453836 -0.021701797 4.5256762 + 31250 20.120269 1.0188293 23.791419 6.0734398 4.5457053 1.5277345 0.0015957044 -0.021460758 4.5655704 + 31260 20.271375 1.0202983 24.16443 6.0638263 4.5338889 1.5299373 0.0014163509 -0.020803974 4.5532766 + 31270 20.265278 1.0033666 23.494493 6.0410177 4.5364696 1.5045481 0.0016556392 -0.021652264 4.5564662 + 31280 19.722584 1.0129527 23.571707 6.0689811 4.5500586 1.5189225 0.0018715507 -0.022578722 4.5707658 + 31290 19.894656 1.0241523 23.846049 6.0619658 4.5262495 1.5357163 0.0018995197 -0.022654733 4.5470047 + 31300 20.144958 1.0241637 23.995628 6.0698056 4.5340721 1.5357335 0.0018917752 -0.022486364 4.5546667 + 31310 20.282901 1.031804 23.983357 6.08453 4.5373398 1.5471902 0.0017394449 -0.021972927 4.5575733 + 31320 20.295749 1.0263843 23.69564 6.0698773 4.5308141 1.5390632 0.0016474939 -0.021437704 4.5506043 + 31330 20.190579 1.0256956 24.050495 6.0866668 4.5486363 1.5380305 0.0015065534 -0.020589832 4.5677196 + 31340 20.05529 1.019105 23.533273 6.0752064 4.5470584 1.528148 0.0014249069 -0.019891303 4.5655248 + 31350 20.248993 1.0203802 23.832349 6.0539565 4.5238965 1.5300601 0.0015100251 -0.020272171 4.5426586 + 31360 20.151884 1.0142328 24.084845 6.0520314 4.5311893 1.5208421 0.001740416 -0.021378105 4.550827 + 31370 20.293274 1.0121784 23.66777 6.0456387 4.5278772 1.5177615 0.0019505788 -0.02269094 4.5486176 + 31380 20.254264 1.01895 23.532484 6.0353605 4.5074449 1.5279156 0.0018891656 -0.022330508 4.5278862 + 31390 20.319039 1.0039653 23.71374 6.0322432 4.5267973 1.5054459 0.0017618994 -0.021936265 4.5469716 + 31400 20.151169 1.0077162 23.891614 6.0297553 4.5186848 1.5110705 0.0016063413 -0.021050891 4.5381293 + 31410 20.262253 1.0198084 23.784826 6.0485012 4.5192985 1.5292028 0.0014769554 -0.020364828 4.5381863 + 31420 20.434126 0.99562007 23.522494 6.0182468 4.5253145 1.4929323 0.0014499994 -0.020449028 4.5443136 + 31430 20.0283 1.0190624 23.796746 6.0571132 4.5290292 1.528084 0.0015123055 -0.020730073 4.548247 + 31440 19.783353 1.0018552 23.885872 6.0348847 4.5326029 1.5022818 0.0015609075 -0.020875922 4.5519179 + 31450 20.300943 1.0097769 23.641316 6.0612982 4.5471377 1.5141605 0.0015367621 -0.020607982 4.566209 + 31460 20.290504 1.0203712 23.819084 6.0494095 4.519363 1.5300466 0.0015363033 -0.020450162 4.5382768 + 31470 20.241191 1.0142825 23.862268 6.0701837 4.5492671 1.5209166 0.0015536115 -0.020734541 4.568448 + 31480 20.245255 1.028448 23.893823 6.0817063 4.5395485 1.5421578 0.0018430988 -0.021985592 4.559691 + 31490 20.255704 1.0187554 23.939924 6.0630326 4.5354089 1.5276237 0.0020212683 -0.02284298 4.5562306 + 31500 20.191324 1.0126793 24.083495 6.0505171 4.5320046 1.5185126 0.0021035266 -0.023226335 4.5531274 + 31510 19.999016 1.0156931 23.790823 6.0640362 4.5410044 1.5230319 0.002191949 -0.023507096 4.5623195 + 31520 19.981806 1.0091781 23.777278 6.067993 4.5547304 1.5132626 0.0020804702 -0.022895995 4.5755459 + 31530 20.298706 1.0071545 23.583125 6.0452508 4.5350226 1.5102282 0.0019329645 -0.022497091 4.5555867 + 31540 19.867207 1.0232549 23.58969 6.046698 4.5123272 1.5343708 0.0020315754 -0.02316153 4.5334572 + 31550 20.112125 0.98693675 23.758855 6.0258088 4.5458972 1.4799117 0.0019440463 -0.022803891 4.566757 + 31560 19.900345 1.0115026 23.880584 6.0396373 4.5228892 1.5167481 0.0018674639 -0.022894539 4.5439163 + 31570 20.015188 1.0056027 23.735948 6.0507599 4.5428586 1.5079012 0.0018387393 -0.022826445 4.5638464 + 31580 20.121881 1.0033125 23.591286 6.0376649 4.5331978 1.5044671 0.0019828136 -0.023376402 4.5545914 + 31590 20.103343 1.0152245 23.577059 6.0680851 4.5457559 1.5223291 0.0020393276 -0.023750833 4.5674674 + 31600 20.111705 1.0242021 23.688713 6.0689961 4.5332051 1.535791 0.0020044195 -0.023587634 4.5547883 + 31610 20.460743 0.99791788 23.598209 6.0658261 4.5694483 1.4963779 0.0020157548 -0.02370412 4.5911367 + 31620 20.356085 1.0045588 23.512294 6.050646 4.5443101 1.5063359 0.0021547226 -0.024458505 4.5666138 + 31630 20.08585 1.0204557 23.739428 6.0660829 4.5359096 1.5301733 0.0020690064 -0.024021386 4.557862 + 31640 20.137889 1.0318393 23.759849 6.084109 4.536866 1.5472431 0.0020268205 -0.023637214 4.5584764 + 31650 20.10099 1.0252249 23.580283 6.081043 4.5437182 1.5373248 0.0019094793 -0.022974989 4.5647838 + 31660 20.301224 1.0261265 23.451752 6.0996141 4.5609374 1.5386767 0.001950481 -0.023121364 4.5821083 + 31670 20.107971 1.0488832 23.869226 6.0874255 4.5146251 1.5728004 0.0019808481 -0.023177414 4.5358217 + 31680 20.177409 1.0214027 23.735508 6.0736517 4.5420583 1.5315934 0.0020069471 -0.023124443 4.5631758 + 31690 20.054663 0.99066097 23.725389 6.0292771 4.543781 1.4854961 0.0021154824 -0.023947942 4.5656135 + 31700 20.286839 1.0098244 23.693502 6.0298449 4.5156132 1.5142317 0.0019967263 -0.023408568 4.5370251 + 31710 20.076474 0.98910098 23.759265 6.0237854 4.5406285 1.4831569 0.0020014465 -0.023251652 4.5618787 + 31720 20.059882 1.0092159 23.595802 6.0426605 4.5293413 1.5133192 0.0021029519 -0.023667284 4.5509057 + 31730 20.137824 1.0088518 23.851374 6.058068 4.5452947 1.5127733 0.0020932371 -0.023682348 4.5668838 + 31740 20.093092 1.0181214 23.741625 6.0591746 4.5325016 1.526673 0.0020576535 -0.023493162 4.5539371 + 31750 20.488168 1.0060909 23.931328 6.058896 4.5502628 1.5086332 0.0020623111 -0.023716889 4.5719174 + 31760 20.150714 1.0015413 23.696506 6.0241925 4.5223814 1.5018111 0.0020112167 -0.023801147 4.5441713 + 31770 19.908043 0.98872677 23.818737 6.0324416 4.5498458 1.4825958 0.0018908865 -0.023584625 4.5715396 + 31780 20.035828 0.99443103 23.626815 6.0207112 4.5295619 1.4911493 0.0019524138 -0.023668299 4.5512778 + 31790 19.982844 0.99680332 23.709126 6.0274455 4.5327389 1.4947066 0.0019975092 -0.023734499 4.5544759 + 31800 20.200609 1.0126046 23.73821 6.0284687 4.5100681 1.5184007 0.001903179 -0.023510734 4.5316756 + 31810 20.335054 1.0047788 23.45176 6.0375254 4.5308596 1.5066659 0.0017943393 -0.022469147 4.5515344 + 31820 20.376639 1.0067316 23.639538 6.0349461 4.525352 1.5095941 0.0017585154 -0.021818596 4.5454121 + 31830 20.178446 0.99899102 23.732443 6.0493762 4.5513892 1.497987 0.0017532693 -0.021763266 4.5713992 + 31840 19.998695 1.0201846 23.838859 6.0492822 4.5195154 1.5297668 0.0018347259 -0.021982332 4.539663 + 31850 20.312639 1.0369907 24.007808 6.1127791 4.5578116 1.5549675 0.0018469324 -0.021980076 4.5779447 + 31860 19.946928 1.0430171 23.849915 6.1023001 4.538296 1.5640042 0.0017110816 -0.021418864 4.5580038 + 31870 19.732769 1.0292957 23.812028 6.0893017 4.5458728 1.5434289 0.0017037415 -0.021300065 4.5654691 + 31880 20.139511 1.0278279 23.886703 6.0868259 4.5455979 1.5412279 0.0016594714 -0.021243286 4.5651817 + 31890 20.460033 1.0472869 23.920118 6.0989839 4.5285771 1.5704068 0.0017802988 -0.022214842 4.5490116 + 31900 20.1232 1.0235515 23.72364 6.0947225 4.559907 1.5348155 0.0018268106 -0.022668706 4.5807489 + 31910 20.060034 1.025217 23.562658 6.0881959 4.550883 1.5373129 0.0018733116 -0.023026807 4.5720365 + 31920 19.847691 1.0195252 23.630417 6.0670242 4.5382462 1.5287781 0.0018281193 -0.022789419 4.5592075 + 31930 20.389128 1.0094995 23.598209 6.0442006 4.530456 1.5137446 0.0016579759 -0.021910531 4.5507086 + 31940 20.318804 0.99321848 23.817731 6.049588 4.5602568 1.4893311 0.0014939458 -0.02075471 4.5795176 + 31950 20.287113 1.0246509 23.74988 6.0655746 4.5291105 1.5364641 0.0014032325 -0.02032255 4.5480298 + 31960 20.267545 1.0208373 23.799195 6.0874189 4.5566733 1.5307455 0.0014220997 -0.020889039 4.5761403 + 31970 20.376612 1.030083 23.936542 6.095196 4.5505866 1.5446095 0.0013504469 -0.020472407 4.5697085 + 31980 20.409905 1.029576 23.77385 6.0664052 4.522556 1.5438492 0.0013032696 -0.020135865 4.5413886 + 31990 20.175755 1.0342539 23.721033 6.0761944 4.5253307 1.5508637 0.0013704749 -0.020277461 4.5442377 + 32000 19.780761 1.011795 23.679764 6.0537043 4.5365177 1.5171867 0.0016379552 -0.021226771 4.5561065 + 32010 20.031801 1.0016072 23.689626 6.0406865 4.5387765 1.5019101 0.0017179882 -0.021536698 4.5585952 + 32020 20.604236 0.9889688 23.581109 6.0183685 4.5354098 1.4829587 0.0017135527 -0.021668844 4.5553651 + 32030 20.305259 1.004034 23.755904 6.0395175 4.5339685 1.505549 0.0016588753 -0.021545513 4.5538551 + 32040 20.185497 1.008138 23.439417 6.0295122 4.5178092 1.511703 0.0016639201 -0.021319972 4.5374653 + 32050 20.413218 0.97024856 23.522538 5.9875886 4.5327008 1.4548877 0.0016063449 -0.021059903 4.5521544 + 32060 20.319924 0.96561477 23.704025 5.9733584 4.5254191 1.4479393 0.0016604656 -0.021720103 4.5454787 + 32070 20.381856 1.0019484 23.534738 6.0050586 4.502637 1.5024216 0.0016833904 -0.021910107 4.5228637 + 32080 20.329956 1.001067 23.56396 6.0143287 4.5132288 1.5010999 0.0016740964 -0.021748537 4.5333032 + 32090 20.298102 0.99248782 23.678074 6.0094849 4.5212494 1.4882355 0.0015832681 -0.021411843 4.541078 + 32100 20.182624 1.0087134 23.79896 6.0423302 4.5297644 1.5125658 0.001589794 -0.021241787 4.5494164 + 32110 20.183888 0.99506227 23.569549 6.0183082 4.5262123 1.4920959 0.0016356309 -0.020938795 4.5455155 + 32120 19.972552 0.9964896 23.425804 6.0270625 4.5328263 1.4942362 0.0016818795 -0.021071865 4.5522163 + 32130 20.300861 1.0182239 23.594406 6.0554437 4.5286168 1.5268268 0.0017165174 -0.021783979 4.5486843 + 32140 20.159862 1.0066247 23.698678 6.0541382 4.5447045 1.5094338 0.001776141 -0.022341118 4.5652695 + 32150 20.290362 0.99172879 23.745517 6.0280834 4.5409861 1.4870973 0.0018055237 -0.022309031 4.5614896 + 32160 20.29021 1.0006045 23.290324 6.0417634 4.5413569 1.5004065 0.0018085361 -0.022741374 4.5622897 + 32170 20.030391 1.0151258 23.614563 6.0521413 4.5299602 1.5221811 0.0019109747 -0.023353171 4.5514024 + 32180 20.086399 1.0043494 23.64508 6.0316808 4.5256589 1.5060219 0.00182814 -0.02293414 4.5467649 + 32190 20.325746 1.0057081 23.596638 6.0387663 4.530707 1.5080593 0.001800968 -0.022328798 4.5512348 + 32200 20.299408 1.020095 24.094206 6.0474376 4.5178051 1.5296325 0.0017620044 -0.02254234 4.5385855 + 32210 20.387266 1.0317079 23.813956 6.068985 4.521939 1.547046 0.001932078 -0.023360042 4.5433669 + 32220 20.350243 1.0145819 23.703551 6.0628121 4.5414465 1.5213656 0.0019057191 -0.023305304 4.5628461 + 32230 19.788057 1.0334177 23.731351 6.0857555 4.5361456 1.5496099 0.0018347467 -0.022938368 4.5572492 + 32240 20.207949 1.0327978 23.922271 6.0707179 4.5220376 1.5486803 0.0017942126 -0.022750075 4.5429934 + 32250 20.463222 1.0110244 23.604318 6.0547799 4.5387489 1.516031 0.0017409173 -0.022338914 4.5593469 + 32260 20.235469 1.0006722 23.861006 6.0600603 4.5595523 1.500508 0.0016490829 -0.02175618 4.5796594 + 32270 20.123225 1.0132973 23.509811 6.0292957 4.5098564 1.5194393 0.0017664015 -0.022256573 4.5303466 + 32280 20.020233 1.0138583 23.715637 6.0626384 4.542358 1.5202805 0.0018866333 -0.022669775 4.5631411 + 32290 20.335936 1.0072561 23.712798 6.0548396 4.5444591 1.5103805 0.0017764239 -0.022135298 4.564818 + 32300 20.123152 1.0080944 23.481217 6.044678 4.5330404 1.5116376 0.0018397168 -0.022445393 4.553646 + 32310 20.267803 1.0005805 23.708352 6.0425629 4.5421924 1.5003704 0.0019107232 -0.022715613 4.5629973 + 32320 20.112534 0.99943912 23.847389 6.049881 4.551222 1.498659 0.0018089041 -0.021803715 4.5712168 + 32330 20.218874 1.0051943 23.826835 6.0321495 4.5248607 1.5072888 0.0016819384 -0.021064396 4.5442432 + 32340 20.350733 0.99602075 23.982977 6.0343786 4.5408455 1.4935331 0.0016170841 -0.020627153 4.5598556 + 32350 20.193851 1.002067 23.551734 6.0346432 4.5320438 1.5025994 0.0015009484 -0.020204544 4.5507474 + 32360 20.31245 0.99383655 23.667662 6.0291872 4.5389293 1.4902579 0.0017253974 -0.021527149 4.558731 + 32370 20.331155 1.0008297 23.367039 6.0261223 4.5253782 1.5007441 0.0018350192 -0.022397328 4.5459405 + 32380 20.318025 1.0073859 23.729922 6.032874 4.5222988 1.5105752 0.0018717414 -0.022776237 4.5432033 + 32390 20.286364 0.98587312 23.718547 6.0163166 4.5379999 1.4783167 0.0020144304 -0.023697496 4.559683 + 32400 20.318295 0.99855938 23.761933 6.0183721 4.5210323 1.4973398 0.0020667958 -0.023903558 4.5428691 + 32410 20.240957 1.0051288 23.761059 6.0274203 4.5202296 1.5071907 0.0019541879 -0.023282437 4.5415579 + 32420 20.36442 1.0063502 23.670041 6.0192803 4.5102582 1.5090221 0.0020492968 -0.023615147 4.5318241 + 32430 19.988364 0.98393534 23.90487 6.0036495 4.5282384 1.475411 0.0021725455 -0.024078784 4.5501446 + 32440 20.178019 0.98751188 23.662314 6.02044 4.539666 1.4807741 0.0021884947 -0.024098785 4.5615762 + 32450 20.27095 1.005196 23.434 6.0277783 4.5204869 1.5072914 0.0019130478 -0.022514472 4.5410883 + 32460 20.212189 0.99509802 23.307519 6.0183928 4.5262433 1.4921495 0.0018957678 -0.022097917 4.5464454 + 32470 20.134601 0.9798696 23.55797 6.002317 4.5330025 1.4693145 0.0019500862 -0.022027386 4.5530798 + 32480 20.275332 0.98915014 23.685836 5.9973041 4.5140735 1.4832306 0.0018938764 -0.021169319 4.5333489 + 32490 20.048053 0.98907864 23.917818 6.0012152 4.5180918 1.4831234 0.0017480369 -0.019909707 4.5362534 + 32500 19.986585 0.97305351 23.404805 5.9882105 4.5291168 1.4590937 0.0014882619 -0.018668003 4.5462966 + 32510 20.52003 0.98220167 23.506168 6.0130392 4.5402278 1.4728114 0.0015141098 -0.018791174 4.5575049 + 32520 20.367081 1.0084068 23.86421 6.01466 4.5025541 1.5121059 0.0016044869 -0.019969222 4.5209188 + 32530 20.329031 0.99696923 23.48359 6.0278309 4.5328756 1.4949554 0.0015305166 -0.019668116 4.5510132 + 32540 20.096686 1.0251783 23.976523 6.0459288 4.508674 1.5372548 0.0015414221 -0.019543061 4.5266756 + 32550 20.314951 1.0032626 23.356717 6.0365414 4.532149 1.5043923 0.0015597855 -0.020287734 4.550877 + 32560 20.244355 1.0213579 23.738995 6.0645776 4.5330514 1.5315262 0.0015787848 -0.020710244 4.5521829 + 32570 20.179261 1.0198661 23.705484 6.0711412 4.541852 1.5292892 0.001615911 -0.021402515 4.5616386 + 32580 20.461024 1.0093287 23.488726 6.0593831 4.5458948 1.5134883 0.0017516138 -0.022047651 4.5661908 + 32590 20.490937 0.99534241 23.400957 6.0306716 4.5381557 1.4925159 0.0019685321 -0.023298758 4.5594859 + 32600 20.174268 1.0131036 23.744778 6.0599793 4.5408305 1.5191488 0.0021600472 -0.0245544 4.5632249 + 32610 20.054066 1.0125881 23.68571 6.0493397 4.5309639 1.5183758 0.0022490385 -0.024682822 4.5533977 + 32620 20.062914 0.97201003 23.382354 5.9948966 4.5373675 1.457529 0.0021472467 -0.023994728 4.559215 + 32630 20.407324 0.97736939 23.381002 5.9904009 4.5248355 1.4655654 0.001988315 -0.023137583 4.5459847 + 32640 20.23563 0.9983952 23.939011 6.0038536 4.50676 1.4970936 0.0017059614 -0.021878875 4.5269329 + 32650 20.159227 0.99878539 23.740935 6.0046885 4.5070098 1.4976787 0.0015924523 -0.02138285 4.5268002 + 32660 20.219496 1.0050004 23.940791 6.0403495 4.5333514 1.5069981 0.0016862277 -0.021828486 4.5534936 + 32670 20.318148 0.99953818 23.965012 6.0447907 4.5459832 1.4988075 0.0016115677 -0.021618279 4.5659899 + 32680 20.346636 1.0342943 23.697716 6.0554741 4.5045498 1.5509243 0.0016524142 -0.021803492 4.5247009 + 32690 20.154615 1.0087017 23.63636 6.0468408 4.5342925 1.5125483 0.0017715339 -0.022183062 4.554704 + 32700 20.255546 1.0207424 23.80612 6.0619599 4.5313567 1.5306032 0.0019490268 -0.023377435 4.5527851 + 32710 20.519317 1.0182164 23.815812 6.0609318 4.5341163 1.5268155 0.002004135 -0.024148288 4.5562605 + 32720 20.349215 1.0159673 23.582128 6.0601771 4.5367342 1.523443 0.0020213672 -0.024197839 4.5589107 + 32730 20.129177 1.0101298 23.534549 6.0437846 4.5290949 1.5146897 0.0021676888 -0.024736932 4.5516641 + 32740 20.254483 1.0043168 23.381987 6.0494623 4.5434893 1.505973 0.0021427314 -0.024500606 4.5658471 + 32750 20.268857 1.0158609 23.665986 6.0521469 4.5288635 1.5232834 0.0021688491 -0.024103095 4.5507978 + 32760 20.194968 1.0018123 23.368819 6.035917 4.5336995 1.5022175 0.0021171402 -0.023645066 4.5552274 + 32770 20.284672 1.0362654 23.829429 6.0757107 4.5218307 1.55388 0.001977897 -0.022689499 4.5425423 + 32780 20.313267 1.0432909 24.000318 6.1175988 4.5531841 1.5644146 0.0018406042 -0.021824618 4.5731681 + 32790 20.447663 1.0316987 23.796423 6.0633007 4.5162684 1.5470322 0.001763713 -0.021902914 4.5364076 + 32800 20.259254 1.0154838 23.958848 6.0597412 4.5370233 1.5227179 0.0017864875 -0.021830085 4.5570668 + 32810 20.10398 1.0196842 23.59144 6.0545978 4.5255813 1.5290165 0.0018782782 -0.021934814 4.5456379 + 32820 20.0204 0.99908944 23.683573 6.029228 4.5310934 1.4981346 0.0015642099 -0.020517718 4.5500469 + 32830 19.89995 0.99881995 23.730521 6.0226044 4.5248739 1.4977305 0.0014645925 -0.01998229 4.5433916 + 32840 20.108441 1.0145777 23.702842 6.0424346 4.5210753 1.5213593 0.0016062507 -0.020786683 4.5402558 + 32850 20.315345 1.0058468 23.583639 6.0271208 4.5188535 1.5082673 0.0014196096 -0.020264067 4.537698 + 32860 20.31517 1.0100587 23.731539 6.0438912 4.5293082 1.514583 0.0014192919 -0.020141817 4.5480308 + 32870 20.447461 1.0109661 23.462077 6.0699432 4.5539995 1.5159436 0.0015883287 -0.020530487 4.5729417 + 32880 20.251521 1.0276084 23.969288 6.0694133 4.5285145 1.5408988 0.0016293312 -0.020890758 4.5477759 + 32890 20.263941 1.0159609 23.845709 6.0559023 4.5324689 1.5234334 0.0015880825 -0.020965288 4.5518461 + 32900 20.444635 1.0115262 23.582665 6.0656542 4.5488706 1.5167836 0.0016277509 -0.021280749 4.5685236 + 32910 19.960755 1.0358006 24.064776 6.0809042 4.5277213 1.5531829 0.0017205093 -0.021903516 4.5479043 + 32920 20.078767 1.0262318 23.79661 6.0992521 4.5604176 1.5388345 0.001861227 -0.022104942 4.5806613 + 32930 20.456939 1.012946 23.859856 6.0555348 4.5366222 1.5189126 0.0019600421 -0.022758721 4.5574209 + 32940 20.10185 1.0140813 23.557864 6.0598176 4.5392027 1.5206149 0.0018517231 -0.022078836 4.5594299 + 32950 20.406364 1.011374 23.899577 6.0507385 4.5341832 1.5165553 0.0017070259 -0.02116925 4.5536454 + 32960 20.440301 1.0197141 23.837391 6.0821132 4.5530518 1.5290614 0.0016537313 -0.020762605 4.5721607 + 32970 20.472951 1.0122054 23.515828 6.0825568 4.5647549 1.517802 0.001464917 -0.020163146 4.5834531 + 32980 20.26697 1.0081448 23.929181 6.0591621 4.5474489 1.5117132 0.0015005434 -0.020530124 4.5664785 + 32990 20.131694 0.98947291 23.745329 6.0157881 4.5320735 1.4837146 0.0014990946 -0.020247443 4.5508218 + 33000 20.431423 0.98428069 23.73715 6.0130791 4.5371502 1.4759289 0.0014787794 -0.019524957 4.5551964 + 33010 20.492573 0.99917209 24.132733 6.0216289 4.5233704 1.4982585 0.0012869694 -0.018392877 4.5404763 + 33020 20.335599 0.99437458 23.853323 6.0242864 4.5332217 1.4910647 0.001285048 -0.01866885 4.5506055 + 33030 20.299938 1.0031111 23.668071 6.0364801 4.532315 1.5041652 0.0013032013 -0.018793056 4.5498048 + 33040 20.156715 1.0084432 23.727621 6.0582251 4.5460645 1.5121606 0.0013160942 -0.019226106 4.5639745 + 33050 20.412347 1.0183983 23.758924 6.0750567 4.5479685 1.5270882 0.001469974 -0.019574655 4.5660732 + 33060 20.305837 1.0059865 23.683942 6.0444105 4.5359338 1.5084767 0.0012990466 -0.01919601 4.5538307 + 33070 20.410454 1.013954 23.744032 6.0456965 4.5252724 1.520424 0.0013811277 -0.019974138 4.5438655 + 33080 20.25604 1.0113678 23.989681 6.0379789 4.521433 1.5165459 0.0015937307 -0.021014646 4.5408539 + 33090 20.462763 0.99535018 23.813981 6.022413 4.5298854 1.4925276 0.0017711389 -0.022199822 4.5503141 + 33100 20.366736 0.99145276 23.773049 6.0177852 4.5311018 1.4866834 0.0019167108 -0.023106294 4.5522914 + 33110 20.244661 0.99783082 23.987219 6.0074228 4.5111755 1.4962473 0.0018226619 -0.022558018 4.5319108 + 33120 20.339401 0.98225275 23.488236 6.00035 4.527462 1.472888 0.0018195718 -0.022330733 4.5479732 + 33130 20.164447 1.0131788 24.054289 6.0223552 4.5030936 1.5192616 0.0019903673 -0.023424607 4.5245279 + 33140 20.22201 1.0083047 23.886395 6.0552743 4.5433213 1.511953 0.002016873 -0.023524415 4.5648288 + 33150 20.247636 1.0226747 23.665177 6.0612446 4.5277439 1.5335007 0.0021048792 -0.023770742 4.5494098 + 33160 20.00232 1.0051395 23.8647 6.0635699 4.5563632 1.5072067 0.0020086417 -0.023347803 4.5777023 + 33170 20.294807 1.0192039 23.65376 6.0669628 4.5386666 1.5282962 0.0021211264 -0.024027057 4.5605725 + 33180 20.167536 1.0156443 23.958241 6.0691068 4.5461481 1.5229587 0.0020327392 -0.023793022 4.5679084 + 33190 20.329603 1.0284735 23.807944 6.0749346 4.5327386 1.542196 0.0019243204 -0.023149756 4.553964 + 33200 20.285579 1.0270033 23.982134 6.0549898 4.5149983 1.5399915 0.0017349543 -0.022304051 4.5355674 + 33210 20.471766 0.99981668 23.575396 6.040003 4.5407779 1.4992251 0.0016801083 -0.022003267 4.561101 + 33220 20.339114 1.0040947 23.641056 6.0136158 4.5079757 1.5056401 0.0014406231 -0.021140841 4.5276759 + 33230 20.181368 0.96483136 23.402001 5.9965831 4.5498185 1.4467646 0.001315181 -0.020826643 4.56933 + 33240 20.229322 0.9899695 23.714941 5.9946603 4.5102011 1.4844593 0.0015590706 -0.021818077 4.5304601 + 33250 20.311341 0.97330448 23.772038 5.995838 4.5363679 1.4594701 0.0015504943 -0.021273883 4.5560913 + 33260 20.201053 0.98367611 23.662151 6.0025761 4.5275538 1.4750223 0.0014294073 -0.020881018 4.5470054 + 33270 20.449931 0.98831903 23.659264 6.0167434 4.534759 1.4819844 0.0014821797 -0.021090156 4.554367 + 33280 20.292733 1.0026391 23.559923 6.0030087 4.4995514 1.5034573 0.001602706 -0.021571213 4.5195199 + 33290 20.302647 0.97475975 23.702172 5.981569 4.5199168 1.4616522 0.0017724132 -0.022450422 4.5405948 + 33300 20.278976 0.98646387 23.697507 5.9658985 4.4866959 1.4792026 0.0019212599 -0.023524292 4.508299 + 33310 20.263766 0.97619168 23.725501 5.9705777 4.5067783 1.4637994 0.0018747365 -0.023104831 4.5280083 + 33320 20.003203 0.98039485 23.800119 5.9812598 4.5111577 1.4701021 0.00178675 -0.022300636 4.5316716 + 33330 19.747337 0.9881329 23.73422 6.0000872 4.518382 1.4817053 0.0016452903 -0.020767945 4.5375046 + 33340 20.360386 0.99421187 23.841204 6.0163958 4.5255751 1.4908207 0.0016360323 -0.020487631 4.5444267 + 33350 20.398749 1.0106148 23.506885 6.0304805 4.5150637 1.5154169 0.0016856263 -0.020988683 4.5343667 + 33360 20.43556 1.0067094 24.086286 6.0562058 4.546645 1.5095608 0.0016676598 -0.020913646 4.565891 + 33370 20.373778 0.99400143 23.789414 6.0479712 4.557466 1.4905051 0.0016498646 -0.020508115 4.5763243 + 33380 20.325384 0.99828711 23.5061 6.0176788 4.5207473 1.4969315 0.0014990004 -0.019862425 4.5391107 + 33390 20.366173 0.98748076 24.012943 6.0103902 4.5296628 1.4807274 0.0013487764 -0.01938101 4.5476951 + 33400 20.301316 0.99026592 23.585258 6.0240901 4.5391863 1.4849038 0.0013844565 -0.019414702 4.5572166 + 33410 20.375408 1.0067511 23.978017 6.0116919 4.5020685 1.5096233 0.0014011067 -0.019220343 4.5198878 + 33420 20.462852 1.0102302 23.720892 6.0272518 4.5124116 1.5148402 0.0015736863 -0.0200804 4.5309183 + 33430 20.065872 1.0018247 23.668384 6.0365961 4.53436 1.5022361 0.001799114 -0.021267347 4.5538282 + 33440 20.359348 1.0269444 23.593614 6.0553849 4.5154818 1.5399031 0.0019381801 -0.022102484 4.5356461 + 33450 20.28944 1.0191616 23.668741 6.046996 4.5187631 1.5282328 0.0018985998 -0.021909311 4.5387739 + 33460 20.112994 1.0117601 23.534582 6.0434491 4.5263149 1.5171342 0.0018407436 -0.021731834 4.546206 + 33470 20.29054 1.0135121 23.66804 6.0310987 4.5113374 1.5197613 0.0018120771 -0.021128687 4.530654 + 33480 20.289019 1.002245 23.5732 6.0119222 4.5090557 1.5028664 0.0017443379 -0.020840731 4.5281521 + 33490 20.359859 1.0050744 23.445149 6.0230822 4.5159731 1.5071091 0.0017470883 -0.021042262 4.5352683 + 33500 20.317342 1.0106048 23.883691 6.0325245 4.5171225 1.5154019 0.0017333469 -0.021111023 4.5365002 + 33510 20.313076 1.0105688 23.782554 6.0297663 4.5144184 1.515348 0.0018889989 -0.021731964 4.5342613 + 33520 20.272799 0.99995485 23.561403 6.0410322 4.5415999 1.4994323 0.0019940382 -0.022111515 4.5617174 + 33530 19.592664 1.004881 23.696088 6.0416982 4.5348791 1.5068191 0.0018504358 -0.02140313 4.5544318 + 33540 19.643581 1.0022168 23.576399 6.0315788 4.5287547 1.502824 0.0017694211 -0.021101039 4.5480864 + 33550 20.261746 0.99040722 23.691321 6.0279855 4.5428699 1.4851156 0.0017014605 -0.020905498 4.5620739 + 33560 20.472554 1.0131909 23.564384 6.0242296 4.5049498 1.5192797 0.0017560442 -0.021138411 4.5243322 + 33570 20.512122 0.99456299 23.636679 6.027596 4.5362488 1.4913472 0.0017008759 -0.020821207 4.5553691 + 33580 20.295302 0.9944788 23.720494 6.009268 4.518047 1.491221 0.0016587926 -0.020277829 4.5366661 + 33590 20.354144 0.98419388 23.460773 6.0017767 4.525978 1.4757987 0.0016516832 -0.020024177 4.5443505 + 33600 20.073967 0.98220978 23.636021 5.9984874 4.5256639 1.4728236 0.0014867557 -0.019997419 4.5441745 + 33610 20.203559 0.9854639 23.6415 5.9961224 4.5184193 1.4777031 0.0013894308 -0.019639136 4.536669 + 33620 20.128796 0.98434517 23.625923 5.9915871 4.5155615 1.4760256 0.0015199997 -0.020305863 4.5343473 + 33630 20.203859 0.99435042 23.465214 5.9757753 4.4847469 1.4910285 0.0015731102 -0.020714733 4.5038885 + 33640 20.268921 0.99140134 23.756353 5.9857273 4.4991209 1.4866063 0.0018335653 -0.022524524 4.5198119 + 33650 20.1721 0.98552657 23.823449 5.9986615 4.5208644 1.4777971 0.0019616241 -0.022861774 4.5417646 + 33660 20.03411 0.98921095 23.591755 6.0000579 4.5167361 1.4833218 0.0020823059 -0.023844236 4.538498 + 33670 20.094474 0.98917056 23.835837 6.0030287 4.5197674 1.4832613 0.0021572491 -0.024393043 4.5420032 + 33680 20.160103 0.99930752 23.40469 5.9915069 4.4930452 1.4984616 0.0022826978 -0.024819608 4.5155821 + 33690 20.347832 1.0084949 23.625177 6.0377182 4.5254802 1.512238 0.0022364342 -0.024450773 4.5476945 + 33700 20.482505 1.0153374 23.613143 6.0392883 4.5167899 1.5224984 0.0021257648 -0.023766001 4.5384301 + 33710 20.23521 0.99885708 23.792575 6.0161385 4.5183523 1.4977862 0.002029993 -0.023275474 4.5395977 + 33720 20.322645 0.99969152 23.731472 6.0199448 4.5209073 1.4990374 0.0018356504 -0.022326527 4.5413982 + 33730 20.20813 1.0050325 23.740092 6.0139701 4.5069239 1.5070463 0.0017033739 -0.021547018 4.5267675 + 33740 20.400983 1.0057194 23.757765 6.0311439 4.5230678 1.5080762 0.0015337788 -0.020875195 4.5424092 + 33750 20.192691 1.0226609 23.748125 6.0430449 4.5095649 1.53348 0.0016602834 -0.02172764 4.5296322 + 33760 20.154684 1.0111304 23.995556 6.0561744 4.5399844 1.51619 0.001818891 -0.022642063 4.5608076 + 33770 20.048795 1.0044873 23.712521 6.0464183 4.5401896 1.5062287 0.0019597787 -0.023153863 4.5613837 + 33780 20.159459 0.99628992 23.479821 6.052014 4.5580773 1.4939367 0.0019261036 -0.022917264 4.5790684 + 33790 20.036879 1.0228795 23.751131 6.0862352 4.5524274 1.5338078 0.0018967928 -0.023001277 4.5735319 + 33800 20.007818 1.0233156 23.718551 6.0578776 4.5234158 1.5344618 0.0017722117 -0.022602636 4.5442462 + 33810 19.975298 1.0180994 23.898043 6.0397889 4.5131488 1.5266401 0.0014707107 -0.021312174 4.5329902 + 33820 20.325449 1.0048665 23.547268 6.0443089 4.5375116 1.5067974 0.0015474267 -0.022047539 4.5580117 + 33830 20.352223 1.0116986 23.76176 6.0432504 4.5262084 1.5170421 0.0015856248 -0.02176757 4.5463903 + 33840 20.120358 1.0122856 23.68618 6.0363455 4.5184232 1.5179223 0.0016083325 -0.021523066 4.5383379 + 33850 20.361073 1.0155824 23.694764 6.0498929 4.5270271 1.5228658 0.0014722875 -0.020935221 4.5464901 + 33860 20.20593 1.0031542 24.025332 6.0308788 4.5266491 1.5042298 0.001168614 -0.01928471 4.5447652 + 33870 20.378368 1.0003341 23.486 6.0656307 4.5656298 1.5000009 0.0011109126 -0.01892424 4.5834431 + 33880 19.923924 1.0119791 23.431991 6.0599664 4.5425037 1.5174626 0.0012705105 -0.019396579 4.5606298 + 33890 20.202878 1.0327786 23.820403 6.0844146 4.5357631 1.5486515 0.0014324554 -0.019937666 4.5542683 + 33900 20.206521 1.0184816 23.959903 6.0666708 4.5394576 1.5272132 0.0015833079 -0.020434155 4.5583084 + 33910 20.310264 1.0122979 24.010429 6.0655453 4.5476045 1.5179408 0.0015789909 -0.020484353 4.5665099 + 33920 20.070495 1.0256154 23.75774 6.0780943 4.540184 1.5379103 0.0016529873 -0.020756248 4.5592873 + 33930 20.354381 1.0161221 23.752678 6.0621679 4.5384928 1.5236751 0.0016571792 -0.020895021 4.5577306 + 33940 20.420943 1.0027509 23.801867 6.0462709 4.542646 1.5036249 0.001626269 -0.020726413 4.5617462 + 33950 20.582155 1.0176982 23.925496 6.041472 4.5154334 1.5260385 0.0016459655 -0.020746522 4.534534 + 33960 20.34944 1.0082747 23.846478 6.0278353 4.5159275 1.5119079 0.0016725299 -0.020964012 4.5352189 + 33970 20.221076 1.0124904 23.589174 6.0458609 4.5276316 1.5182293 0.0015940437 -0.020405884 4.5464434 + 33980 19.872776 1.0051474 23.637891 6.0384739 4.5312554 1.5072185 0.0014913807 -0.019828964 4.549593 + 33990 20.298622 1.0055062 23.753595 6.0419613 4.5342047 1.5077566 0.0014785011 -0.020130139 4.5528564 + 34000 19.949703 1.0319408 23.492276 6.0595422 4.512147 1.5473952 0.0014337725 -0.019858257 4.5305715 + 34010 20.243443 1.0262069 23.64979 6.0589865 4.5201893 1.5387972 0.0015220131 -0.020446731 4.539114 + 34020 20.531072 1.029084 23.794455 6.0876562 4.5445447 1.5431115 0.0015469626 -0.020845769 4.5638435 + 34030 20.174737 1.0026577 23.794249 6.058133 4.5546478 1.5034853 0.0016121255 -0.02127909 4.5743147 + 34040 20.315924 1.0151146 23.647243 6.044346 4.5221817 1.5221643 0.0016315108 -0.021430328 4.5419805 + 34050 20.065334 1.0138343 23.656495 6.0479723 4.5277279 1.5202445 0.0016033092 -0.02173374 4.5478583 + 34060 20.2083 1.0049339 23.49171 6.044227 4.5373286 1.5068984 0.0015014214 -0.021431995 4.5572592 + 34070 20.341037 0.98925094 24.012877 6.0256464 4.5422646 1.4833818 0.0013611651 -0.020766569 4.56167 + 34080 19.959036 0.98934096 23.691642 5.9919143 4.5083975 1.4835168 0.0013374175 -0.020934069 4.5279942 + 34090 20.506806 0.97451839 23.72318 5.9895627 4.5282724 1.4612903 0.0014058836 -0.020843358 4.5477098 + 34100 20.432402 0.98069705 23.677849 5.9993458 4.5287906 1.4705552 0.0012196976 -0.019417825 4.5469887 + 34110 20.534115 0.98016714 23.715288 5.9908324 4.5210718 1.4697606 0.001034174 -0.018350038 4.5383877 + 34120 20.291372 0.97622042 23.696356 6.0061904 4.5423479 1.4638425 0.00084819029 -0.017348596 4.5588483 + 34130 20.294869 1.0106729 23.791005 6.0462475 4.5307435 1.515504 0.00092406185 -0.017513998 4.5473335 + 34140 20.196406 1.0108435 23.852669 6.0572906 4.5415308 1.5157598 0.0011254306 -0.018683812 4.5590892 + 34150 19.897588 1.0236997 23.815846 6.0577931 4.5227555 1.5350377 0.0013460871 -0.019252437 4.5406618 + 34160 20.248918 1.0026905 23.643339 6.076167 4.5726327 1.5035343 0.0014439684 -0.019439322 4.590628 + 34170 20.351595 1.0335095 23.770449 6.0747755 4.5250281 1.5497474 0.0014152875 -0.019473359 4.5430861 + 34180 19.987781 1.0280829 23.481274 6.0792809 4.5376706 1.5416103 0.0014705351 -0.019679782 4.5558799 + 34190 20.304568 1.0028558 23.728788 6.052975 4.5491928 1.5037822 0.0015188269 -0.020184347 4.5678583 + 34200 20.409735 1.0185943 23.809701 6.0608809 4.5334987 1.5273822 0.0014949096 -0.020280811 4.5522846 + 34210 20.578628 1.0203043 23.697361 6.0610201 4.5310738 1.5299463 0.0013927829 -0.020088475 4.5497695 + 34220 20.28355 1.0132479 23.918349 6.0596363 4.5402711 1.5193652 0.0011649661 -0.019173454 4.5582796 + 34230 20.153922 1.0214264 24.023173 6.0676036 4.5359747 1.5316289 0.0012309596 -0.019606031 4.5543498 + 34240 20.090333 1.0211137 23.946166 6.0805293 4.5493694 1.5311599 0.00146945 -0.02085939 4.5687593 + 34250 20.112009 1.0286508 23.619554 6.0838182 4.5413563 1.5424618 0.0016299899 -0.021531627 4.561258 + 34260 20.045455 1.0287141 23.533939 6.0914285 4.5488717 1.5425569 0.0016852986 -0.021809077 4.5689955 + 34270 20.282438 0.99670661 23.684791 6.0318627 4.5373011 1.4945616 0.0018207987 -0.022553211 4.5580335 + 34280 20.051338 1.0135549 23.718489 6.0549428 4.5351172 1.5198256 0.0018144988 -0.022777032 4.5560797 + 34290 20.024119 1.0213459 23.623497 6.0725058 4.5409976 1.5315082 0.0018428146 -0.023036064 4.5621909 + 34300 20.249342 1.0209459 23.851597 6.0770373 4.5461288 1.5309084 0.0019467133 -0.02303607 4.5672182 + 34310 20.336245 1.0219644 23.568055 6.0883321 4.5558964 1.5324357 0.0018525755 -0.02219599 4.5762398 + 34320 20.118052 1.0141997 23.635582 6.0473057 4.5265133 1.5207924 0.0019029244 -0.022244291 4.5468546 + 34330 20.124657 0.99430085 23.721732 6.0445695 4.5536154 1.4909541 0.0018709392 -0.022599299 4.5743438 + 34340 20.228955 1.0162955 23.556085 6.0590029 4.5350678 1.5239352 0.0015947348 -0.021466826 4.5549399 + 34350 19.924679 1.009268 23.830781 6.0644848 4.5510874 1.5133974 0.0014844262 -0.020666458 4.5702695 + 34360 20.278837 0.99427341 23.80689 6.0555158 4.5646028 1.490913 0.0015904809 -0.021143131 4.5841554 + 34370 20.195877 1.0179841 23.708359 6.0348118 4.5083446 1.5264672 0.0016582582 -0.021393372 4.5280797 + 34380 20.174723 1.0175281 23.680342 6.0470578 4.5212744 1.5257834 0.0017864549 -0.021912991 4.5414009 + 34390 20.186905 0.9790047 23.535184 6.0040227 4.5360051 1.4680175 0.0016951983 -0.021454369 4.5557643 + 34400 19.973033 0.99022579 23.759139 6.0067956 4.521952 1.4848436 0.0017481281 -0.021837895 4.5420417 + 34410 20.187392 0.99723326 23.439468 6.0168091 4.5214578 1.4953513 0.001744799 -0.02181545 4.5415285 + 34420 19.791828 1.0091852 23.775356 6.0364038 4.5231305 1.5132733 0.0017767625 -0.021946301 4.5433 + 34430 20.001663 1.0196098 23.901803 6.0538247 4.5249198 1.5289048 0.0017078524 -0.021499623 4.5447116 + 34440 20.281243 1.0068432 23.734472 6.0460863 4.5363249 1.5097614 0.001763673 -0.021796715 4.556358 + 34450 20.279815 0.98949928 23.58632 6.0381218 4.5543676 1.4837542 0.0018334792 -0.022350865 4.574885 + 34460 20.246927 1.0106777 23.746709 6.0641879 4.5486767 1.5155112 0.0018160173 -0.022326023 4.5691867 + 34470 20.169318 1.0284514 24.068975 6.080688 4.5385251 1.5421629 0.0018091941 -0.022078677 4.5587946 + 34480 20.383958 1.0406344 23.67497 6.0825691 4.5221378 1.5604313 0.0019840935 -0.022851307 4.543005 + 34490 20.023624 1.0196875 23.681352 6.0627653 4.5337439 1.5290215 0.0019513477 -0.02283073 4.5546232 + 34500 20.177461 1.0237329 23.64784 6.0629833 4.5278958 1.5350875 0.0018288954 -0.022639341 4.5487063 + 34510 19.921291 0.99768735 23.542924 6.0498108 4.5537786 1.4960322 0.0016754298 -0.021569267 4.5736724 + 34520 20.293858 1.0010307 23.710829 6.0294005 4.528355 1.5010456 0.0014262544 -0.020036162 4.5469649 + 34530 20.375633 1.0162683 23.719033 6.060805 4.5369107 1.5238943 0.0014733803 -0.019664357 4.5551017 + 34540 20.097745 1.0135407 23.761457 6.0790486 4.5592444 1.5198042 0.0016622048 -0.020253942 4.5778361 + 34550 20.082597 1.016951 23.710599 6.0707365 4.5458184 1.5249181 0.0017488356 -0.020731403 4.564801 + 34560 20.154186 1.0269518 23.929091 6.0756014 4.5356871 1.5399143 0.00182853 -0.020973304 4.5548318 + 34570 20.008518 1.0255854 24.094079 6.0621996 4.5243344 1.5378653 0.0016090879 -0.020358706 4.543084 + 34580 20.165947 1.0107661 23.721163 6.0650792 4.5494355 1.5156437 0.0014866968 -0.020255914 4.5682047 + 34590 19.927461 1.0370005 23.809974 6.0683759 4.5133937 1.5549822 0.0016239478 -0.020645811 4.5324155 + 34600 20.459555 1.0247584 23.395203 6.0771803 4.5405552 1.5366252 0.0017164446 -0.021181323 4.56002 + 34610 20.219195 1.024696 23.720084 6.0521265 4.5155948 1.5365317 0.0017969147 -0.021768532 4.5355664 + 34620 20.112656 0.99456529 23.678074 6.0200959 4.5287452 1.4913507 0.0017148782 -0.021256587 4.5482869 + 34630 20.173908 1.0100315 23.70695 6.042649 4.5281067 1.5145423 0.0015045528 -0.019748347 4.5463505 + 34640 20.055738 1.0226221 24.021523 6.0473153 4.5138935 1.5334219 0.0015456893 -0.020046913 4.5323947 + 34650 20.469477 0.98411167 23.59605 6.0139487 4.5382732 1.4756754 0.0016151098 -0.020087585 4.5567457 + 34660 20.321508 0.99901309 24.006371 6.022898 4.5248778 1.4980201 0.0017878946 -0.020461144 4.5435511 + 34670 20.530239 1.0085173 23.830899 6.0271831 4.5149113 1.5122718 0.0018811812 -0.020690665 4.5337208 + 34680 20.403673 1.0023744 24.101946 6.0367908 4.5337304 1.5030604 0.0018693069 -0.020715152 4.5525762 + 34690 20.297947 0.98820029 23.493911 6.0336206 4.5518143 1.4818063 0.0016568747 -0.01982368 4.5699811 + 34700 20.208297 0.99688318 23.881459 6.0090963 4.51427 1.4948263 0.0015443431 -0.019309978 4.5320356 + 34710 19.846292 0.98938529 23.497304 6.0248175 4.5412343 1.4835832 0.0015260513 -0.018973976 4.5586822 + 34720 19.955125 0.97734611 23.41333 6.0049183 4.5393878 1.4655305 0.0016264893 -0.019700252 4.5574616 + 34730 20.024058 0.97993495 23.431504 5.9896556 4.5202431 1.4694125 0.0014938732 -0.019403008 4.5381523 + 34740 20.308184 0.9955141 23.695345 6.0325542 4.5397808 1.4927734 0.0015877856 -0.019525905 4.5577189 + 34750 20.455201 1.0151684 23.611925 6.0423016 4.5200566 1.522245 0.0016682168 -0.019998006 4.5383864 + 34760 20.373967 0.9975406 23.687317 6.0267834 4.5309713 1.4958121 0.0016878307 -0.020098157 4.5493816 + 34770 20.472083 1.0109374 23.617639 6.0402603 4.5243597 1.5159006 0.0017952763 -0.020460093 4.5430245 + 34780 20.41914 1.0139556 23.930662 6.0480413 4.5276149 1.5204264 0.0016035451 -0.019284134 4.5452955 + 34790 20.360135 1.0091172 23.594762 6.0358448 4.5226736 1.5131712 0.0013856415 -0.018300911 4.5395889 + 34800 20.310393 1.0066565 24.100608 6.0540577 4.5445764 1.5094814 0.0015613865 -0.019777084 4.562792 + 34810 20.215376 1.022001 23.597981 6.0707279 4.5382374 1.5324905 0.0016791798 -0.020735604 4.5572938 + 34820 20.040924 1.0186592 23.720562 6.0558168 4.5283373 1.5274795 0.0017887016 -0.021718429 4.548267 + 34830 20.182564 0.9946753 23.987263 6.031678 4.5401624 1.4915156 0.0020964672 -0.023606393 4.5616723 + 34840 20.235349 1.014211 23.568028 6.0722429 4.5514335 1.5208093 0.0022086493 -0.024268155 4.573493 + 34850 20.271125 1.0171283 23.598968 6.0610791 4.5358953 1.5251838 0.0021538967 -0.024146094 4.5578875 + 34860 19.835075 1.0146037 23.569004 6.0490479 4.5276497 1.5213982 0.0020858431 -0.024113948 4.5496778 + 34870 20.285888 1.0205692 23.584164 6.0514575 4.521114 1.5303435 0.0019154638 -0.023424829 4.5426234 + 34880 20.162852 1.0150837 24.070676 6.0516511 4.5295331 1.522118 0.0018501225 -0.022992568 4.5506755 + 34890 20.199889 1.0122188 23.621065 6.0293642 4.5115421 1.5178222 0.0016183648 -0.022037166 4.5319609 + 34900 20.234858 1.0163557 23.632855 6.0429674 4.518942 1.5240254 0.0015021856 -0.02103388 4.5384737 + 34910 20.175951 1.0137788 24.007134 6.0691543 4.548993 1.5201613 0.0014536196 -0.020884509 4.5684239 + 34920 20.282825 1.0322261 23.805394 6.0679738 4.5201507 1.5478231 0.0015880767 -0.02138643 4.5399491 + 34930 20.421005 1.0023791 23.865292 6.055099 4.5520316 1.5030674 0.0017171945 -0.021914626 4.572229 + 34940 20.008221 1.0228815 23.817417 6.0730355 4.5392247 1.5338108 0.0016789057 -0.021702244 4.559248 + 34950 20.339979 1.0187547 23.435547 6.0532559 4.5256333 1.5276227 0.0016504774 -0.021971172 4.545954 + 34960 20.273263 1.0053993 23.779591 6.0302828 4.5226865 1.5075963 0.0017403117 -0.022341311 4.5432875 + 34970 20.093064 0.98482611 23.831185 6.0201213 4.5433745 1.4767468 0.0018017393 -0.022376113 4.5639489 + 34980 19.991227 0.97891088 23.560123 6.0167867 4.5489098 1.4678769 0.001678549 -0.021688223 4.5689195 + 34990 20.020421 1.0097625 23.633893 6.047011 4.5328721 1.5141388 0.0017096399 -0.021861351 4.5530238 + 35000 20.322588 1.0110035 23.730344 6.0550917 4.5390919 1.5159998 0.0015436821 -0.020662613 4.5582109 + 35010 20.462232 1.0025255 23.70027 6.0306017 4.5273148 1.503287 0.0014895057 -0.020066312 4.5458916 + 35020 20.395876 1.0073221 23.486276 6.0528134 4.5423338 1.5104796 0.0015366863 -0.020235882 4.561033 + 35030 20.246972 1.0140219 23.56394 6.0479282 4.5274023 1.5205259 0.0015414287 -0.020391699 4.5462526 + 35040 20.104842 0.97567254 23.679189 6.0101273 4.5471063 1.463021 0.0016353577 -0.021314826 4.5667858 + 35050 19.863195 0.98267339 23.579658 6.0128177 4.5392989 1.4735188 0.0018028442 -0.021684384 4.5591805 + 35060 20.216428 0.9951752 23.507377 6.0169449 4.5246797 1.4922652 0.0019056392 -0.021946731 4.5447207 + 35070 20.309217 1.0040915 23.600919 6.0382961 4.5326609 1.5056353 0.0019022991 -0.022357969 4.5531166 + 35080 20.032999 1.0146236 23.68171 6.0535092 4.5320811 1.521428 0.0017958853 -0.022208863 4.5524941 + 35090 20.100992 0.99642024 24.117433 6.0552886 4.5611564 1.4941321 0.0016804148 -0.021448209 4.5809242 + 35100 20.332979 1.0104718 23.597412 6.0515157 4.5363133 1.5152024 0.0016099534 -0.020548911 4.5552522 + 35110 20.446723 1.0013156 23.613183 6.0500173 4.5485445 1.5014728 0.0016659596 -0.020602887 4.5674815 + 35120 20.323617 1.0356207 23.751412 6.0844675 4.5315543 1.5529132 0.0019313927 -0.021524145 4.5511471 + 35130 20.221278 1.0347877 23.925171 6.0733911 4.521727 1.5516642 0.0021131344 -0.02253459 4.5421484 + 35140 20.511904 1.0227563 23.774938 6.0940792 4.5604562 1.533623 0.0022439515 -0.023466448 4.5816787 + 35150 20.45514 1.0322644 23.937579 6.1008425 4.552962 1.5478804 0.0021392942 -0.022832582 4.5736553 + 35160 20.325623 1.0397986 23.638282 6.0806098 4.5214319 1.5591779 0.0020036027 -0.022726657 4.5421549 + 35170 20.054289 1.0213059 23.406379 6.0516926 4.5202444 1.5314482 0.0019452718 -0.022266093 4.5405652 + 35180 20.289022 0.9920729 23.669222 6.0268733 4.53926 1.4876133 0.001834462 -0.021687675 4.5591132 + 35190 20.408007 0.99276653 23.634572 6.02746 4.5388065 1.4886534 0.0017148422 -0.021539195 4.5586309 + 35200 20.336021 0.99501895 23.724683 6.0397459 4.547715 1.4920309 0.0016858694 -0.021494591 4.5675237 + 35210 20.384827 1.0194641 23.796668 6.0500673 4.5213809 1.5286864 0.001597753 -0.020953007 4.5407362 + 35220 19.76394 1.0171942 23.581663 6.0694069 4.5441242 1.5252827 0.0016323958 -0.020926389 4.5634182 + 35230 20.288304 1.0139625 23.645401 6.0548249 4.5343881 1.5204368 0.001654929 -0.021232405 4.5539656 + 35240 20.077994 0.99893704 23.842525 6.0423674 4.5444613 1.4979061 0.0016549366 -0.020987685 4.563794 + 35250 20.23983 1.0069415 23.706901 6.0385637 4.528655 1.5099088 0.0015676419 -0.020689205 4.5477765 + 35260 20.10064 1.0153019 23.835651 6.0715103 4.5490651 1.5224453 0.0015474458 -0.02045942 4.567977 + 35270 20.092232 1.0141188 23.74533 6.0371303 4.5164591 1.5206712 0.0013373371 -0.01953727 4.534659 + 35280 20.467232 1.0007237 23.511801 6.0456717 4.5450865 1.5005852 0.0011774119 -0.018985007 4.5628941 + 35290 20.320369 1.0112701 23.613406 6.0597861 4.5433865 1.5163996 0.0012813143 -0.019570999 4.5616762 + 35300 20.058155 1.0005153 23.577636 6.0475809 4.5473082 1.5002726 0.0014762521 -0.020399529 4.5662315 + 35310 20.387638 1.00616 23.770482 6.0215388 4.5128019 1.5087369 0.0018507874 -0.022111706 4.5330628 + 35320 19.928297 0.99074679 23.610863 6.0274915 4.5418667 1.4856248 0.0020282969 -0.023150077 4.5629885 + 35330 20.160319 0.99511841 23.615556 6.0107221 4.5185421 1.4921801 0.0019648782 -0.022942698 4.5395199 + 35340 20.18348 1.001967 23.764374 6.0170764 4.5146269 1.5024495 0.0017916829 -0.022174432 4.5350096 + 35350 20.385982 0.99248369 23.728324 6.0226567 4.5344274 1.4882293 0.0016591248 -0.021423466 4.5541917 + 35360 20.360198 0.97777467 23.673428 6.0021866 4.5360135 1.4661731 0.0016370472 -0.021195744 4.5555722 + 35370 20.462317 1.0066854 23.864117 6.0316657 4.5221409 1.5095248 0.0016554522 -0.021223635 4.5417091 + 35380 20.049707 1.0049162 23.626528 6.0435981 4.5367262 1.5068719 0.0016465886 -0.021304589 4.5563842 + 35390 20.230159 1.0261467 23.760466 6.0853469 4.5466399 1.5387069 0.0017983574 -0.022446604 4.5672882 + 35400 20.111483 1.0370093 23.39395 6.0639554 4.5089599 1.5549955 0.0018308539 -0.022835312 4.5299644 + 35410 20.407823 0.98948005 23.681035 6.0264633 4.542738 1.4837253 0.0018242715 -0.02269055 4.5636042 + 35420 20.41638 1.0190123 23.535615 6.0637157 4.5357069 1.5280089 0.0018577533 -0.022972958 4.5568221 + 35430 20.213142 1.024834 23.643796 6.0694973 4.5327587 1.5367386 0.0016717212 -0.022098952 4.5531859 + 35440 20.180967 1.0185795 23.841486 6.0500205 4.5226607 1.5273599 0.0015641769 -0.021295004 4.5423915 + 35450 20.204468 1.0113983 23.562349 6.0625058 4.5459141 1.5165917 0.001628618 -0.021348122 4.5656336 + 35460 19.994134 1.0123861 23.918339 6.0617532 4.5436802 1.518073 0.0015744052 -0.020975302 4.5630811 + 35470 19.972681 1.0229153 23.784688 6.066567 4.5327055 1.5338615 0.0015950712 -0.021090298 4.5522008 + 35480 20.118737 1.0117574 23.496303 6.0526588 4.5355286 1.5171303 0.001523379 -0.020656195 4.5546614 + 35490 20.150402 1.0185887 23.503949 6.0556909 4.5283172 1.5273737 0.0013907013 -0.020211405 4.5471379 + 35500 20.099256 1.0022488 23.878593 6.0460199 4.5431479 1.502872 0.0014167056 -0.020004167 4.5617353 + 35510 20.215864 1.0246517 23.650646 6.0587629 4.5222976 1.5364652 0.0015744235 -0.020814133 4.5415374 + 35520 20.194208 1.0079578 23.48551 6.0701676 4.5587349 1.5114327 0.0016871368 -0.02169118 4.578739 + 35530 20.021836 1.0028568 23.402125 6.0478145 4.5440308 1.5037838 0.0017026102 -0.022063389 4.5643915 + 35540 20.270652 1.0197535 23.695357 6.0503043 4.5211839 1.5291204 0.0016571497 -0.021922335 4.5414491 + 35550 20.30126 1.0157749 23.837215 6.0550709 4.5319165 1.5231544 0.0015806806 -0.021634423 4.5519702 + 35560 20.155354 1.0304209 23.919695 6.0649918 4.5198757 1.5451161 0.0018676075 -0.022647666 4.5406558 + 35570 20.125084 0.99572021 23.530837 6.0393355 4.5462531 1.4930825 0.0020227078 -0.023442461 4.5676728 + 35580 19.971791 1.0161009 23.742544 6.0339665 4.5103231 1.5236434 0.001800866 -0.02225469 4.5307769 + 35590 20.097322 0.99085691 23.643675 6.0267342 4.5409443 1.4857899 0.0017337548 -0.021885815 4.5610963 + 35600 19.938481 1.0024806 23.822212 6.0327584 4.5295388 1.5032196 0.0017564473 -0.021731844 4.5495142 + 35610 19.978709 1.0034123 23.532504 6.0297346 4.5251178 1.5046167 0.0017729235 -0.021821901 4.5451668 + 35620 20.113887 1.001327 23.661831 6.0482468 4.546757 1.5014898 0.0015545997 -0.021049032 4.5662515 + 35630 20.129477 1.017913 23.681821 6.0738915 4.5475309 1.5263606 0.0015055509 -0.021016651 4.567042 + 35640 20.399357 1.0128652 24.019792 6.08108 4.5622886 1.5187914 0.0013233529 -0.020259564 4.5812248 + 35650 20.235191 1.0201347 23.795908 6.0820428 4.5523508 1.529692 0.0010921448 -0.01904107 4.5702997 + 35660 20.156725 1.0189111 23.680499 6.1010249 4.5731677 1.5278572 0.0011530358 -0.019383537 4.5913982 + 35670 20.085006 1.0263286 23.960467 6.0836433 4.5446635 1.5389798 0.0012607675 -0.020150297 4.563553 + 35680 20.159068 1.0270937 23.700564 6.0792469 4.5391198 1.5401271 0.0014889234 -0.021680964 4.5593119 + 35690 20.330615 1.0276956 23.864141 6.0626063 4.5215768 1.5410295 0.0015458742 -0.021509102 4.54154 + 35700 19.985436 1.0066706 24.044451 6.0327786 4.5232761 1.5095025 0.0014423274 -0.020713277 4.542547 + 35710 20.133305 1.0013734 23.802056 6.0408079 4.5392485 1.5015595 0.0013030819 -0.020058461 4.5580038 + 35720 19.993001 0.98284294 23.825826 6.0340089 4.5602359 1.473773 0.0012066869 -0.019429902 4.5784591 + 35730 20.364427 0.99685609 23.574278 6.0108548 4.5160691 1.4947857 0.00091658822 -0.017965446 4.533118 + 35740 20.155258 0.9891496 23.840184 6.0267768 4.543547 1.4832298 0.0009011152 -0.017824683 4.5604706 + 35750 19.952968 1.0172266 23.888751 6.0546504 4.529319 1.5253314 0.00077562114 -0.017137416 4.5456808 + 35760 20.409418 1.0198219 23.87033 6.0343993 4.5051764 1.529223 0.00089692036 -0.017186117 4.5214656 + 35770 20.289612 1.0060842 23.663851 6.0378402 4.5292169 1.5086233 0.00098434261 -0.017453581 4.5456862 + 35780 19.959423 1.0133885 23.848552 6.0544564 4.5348804 1.519576 0.0010641327 -0.017816707 4.551633 + 35790 19.748099 1.018126 23.512555 6.0488688 4.5221889 1.5266799 0.0011662786 -0.018798909 4.5398215 + 35800 20.136726 1.0093315 23.696436 6.0483498 4.5348572 1.5134926 0.0012073406 -0.01889282 4.5525426 + 35810 20.031048 1.0008632 23.795193 6.0424129 4.5416186 1.5007943 0.0011378953 -0.018675175 4.5591558 + 35820 20.284387 1.0348581 23.949755 6.0844358 4.5326661 1.5517698 0.0010639351 -0.018329475 4.5499316 + 35830 20.154261 1.0094317 23.611454 6.0804023 4.5667595 1.5136428 0.0013212865 -0.019327718 4.5847659 + 35840 20.141385 1.0234418 23.734829 6.0656055 4.5309545 1.534651 0.0014845107 -0.020134 4.549604 + 35850 20.103382 0.99730925 24.159603 6.0352414 4.5397762 1.4954652 0.0016670913 -0.021518446 4.5596276 + 35860 20.2451 0.99600253 23.706139 6.028012 4.5345062 1.4935058 0.0018226777 -0.022591737 4.5552753 + 35870 20.241839 0.99310421 23.499466 6.0080844 4.5189247 1.4891598 0.0018463678 -0.022814261 4.5398926 + 35880 20.284716 1.0155925 23.393185 6.0255812 4.5027003 1.522881 0.0016825879 -0.021714039 4.5227317 + 35890 20.009678 0.98722553 23.697459 6.0188404 4.5384957 1.4803447 0.0015668271 -0.020904475 4.5578333 + 35900 20.090796 0.99237431 23.649791 6.0156261 4.5275608 1.4880653 0.0016676069 -0.021103247 4.5469964 + 35910 20.446467 1.0029695 23.938647 6.0060805 4.5021278 1.5039527 0.0016417136 -0.021323333 4.5218094 + 35920 20.571634 0.99626058 23.904665 6.0121626 4.5182698 1.4938927 0.0013826728 -0.019930582 4.5368177 + 35930 19.825684 0.98410303 23.831883 6.0103625 4.5347 1.4756625 0.0013345933 -0.019424319 4.5527897 + 35940 20.053135 0.98990639 23.471283 6.0120104 4.5276457 1.4843646 0.0016520218 -0.020834972 4.5468287 + 35950 20.273561 1.0015578 23.860626 6.0112345 4.5093986 1.5018359 0.0019799648 -0.022560247 4.5299789 + 35960 20.339665 1.005572 23.701925 6.0449901 4.537135 1.5078551 0.0019379123 -0.022769113 4.5579662 + 35970 20.286493 1.005358 23.900541 6.0531203 4.545586 1.5075343 0.0021235035 -0.023642561 4.5671051 + 35980 20.222357 1.0223609 23.559238 6.0468427 4.5138125 1.5330301 0.0020631028 -0.023114617 4.5348641 + 35990 20.226443 1.0151659 23.753198 6.0400178 4.5177765 1.5222413 0.0020173185 -0.023233926 4.5389931 + 36000 20.048258 1.0206299 23.682335 6.071272 4.5408374 1.5304346 0.0019243458 -0.022616379 4.5615294 + 36010 20.297063 1.0069718 23.834938 6.0442408 4.5342866 1.5099542 0.0017221132 -0.021560903 4.5541254 + 36020 20.415943 1.0103913 23.75706 6.0427221 4.5276404 1.5150818 0.0016181866 -0.021043157 4.5470653 + 36030 20.357198 1.0202614 23.639913 6.0545889 4.524707 1.5298819 0.0015075541 -0.02051377 4.5437132 + 36040 20.098696 1.0113202 24.096927 6.0613138 4.5448392 1.5164746 0.0015261226 -0.020657932 4.563971 + 36050 19.875451 1.0182859 23.665564 6.0681618 4.5412421 1.5269198 0.0017651953 -0.021954623 4.5614315 + 36060 20.079536 1.0181797 23.544446 6.0501507 4.5233902 1.5267605 0.0018777038 -0.022443805 4.5439563 + 36070 20.436406 1.007567 23.778173 6.0462666 4.5354199 1.5108468 0.0017167911 -0.021726225 4.5554293 + 36080 20.310656 1.0083944 23.527093 6.0483424 4.536255 1.5120874 0.0016940229 -0.021500401 4.5560614 + 36090 20.332042 0.99956887 23.563086 6.0375779 4.5387243 1.4988535 0.0016199371 -0.021642019 4.5587464 + 36100 20.233631 0.98764779 23.988028 6.0177798 4.5368019 1.4809779 0.001854227 -0.023196257 4.558144 + 36110 20.182079 0.99240162 23.812829 6.0251532 4.537047 1.4881062 0.0016836342 -0.022785999 4.5581494 + 36120 19.863688 0.99313181 23.611071 6.025995 4.5367939 1.4892011 0.0014914518 -0.021814687 4.5571171 + 36130 20.29601 1.0155054 23.822995 6.04267 4.5199197 1.5227503 0.0013275896 -0.021110071 4.5397022 + 36140 20.070456 1.0223062 23.797739 6.0648121 4.531864 1.5329481 0.0011666606 -0.020220657 4.550918 + 36150 20.103083 0.98387939 23.771044 6.0303382 4.555011 1.4753271 0.0011492913 -0.019847642 4.5737094 + 36160 20.117894 1.0263905 23.882101 6.0507358 4.5116633 1.5390725 0.00098759445 -0.019095854 4.5297716 + 36170 20.000878 0.98822475 23.819552 6.0186202 4.5367772 1.481843 0.0011773684 -0.019763125 4.555363 + 36180 20.036279 1.0081004 23.653032 6.0484578 4.5368113 1.5116465 0.0014266712 -0.021123245 4.5565078 + 36190 20.255798 0.99740173 23.776392 6.0357363 4.5401324 1.4956039 0.0014279191 -0.021191504 4.559896 + 36200 20.104903 1.0171667 23.844132 6.0476167 4.5223752 1.5252415 0.0015432953 -0.021604196 4.5424361 + 36210 20.369214 0.99919499 23.577164 6.0257815 4.5274886 1.4982929 0.0015939661 -0.022127373 4.548022 + 36220 20.4308 1.0084943 23.954192 6.0674233 4.5551861 1.5122373 0.0016509897 -0.022296894 4.575832 + 36230 20.230524 1.0100726 23.709445 6.0583193 4.5437155 1.5146038 0.0018076397 -0.022914643 4.5648225 + 36240 20.226711 1.030956 23.820782 6.0737835 4.5278649 1.5459186 0.0017096853 -0.022048815 4.5482041 + 36250 20.174904 1.0323481 23.901786 6.0977682 4.5497621 1.548006 0.0017097093 -0.021515919 4.5695683 + 36260 20.093875 1.0434111 23.572348 6.1119163 4.5473214 1.5645949 0.00164249 -0.021143026 4.5668219 + 36270 19.889869 1.037676 23.666623 6.0964852 4.54049 1.5559951 0.0013752334 -0.01970542 4.5588202 + 36280 20.251585 1.0211029 23.740683 6.0609107 4.529767 1.5311437 0.0013513838 -0.019472962 4.5478886 + 36290 20.216001 1.0020357 23.784232 6.0507418 4.5481893 1.5025525 0.0014857773 -0.020361783 4.5670653 + 36300 20.298571 1.0088488 23.761534 6.0606188 4.54785 1.5127688 0.0014558046 -0.020097265 4.5664915 + 36310 20.059461 1.0100033 23.675649 6.0614744 4.5469745 1.5144999 0.0014845042 -0.020383969 4.565874 + 36320 20.040639 1.0272927 24.078346 6.0719607 4.5315354 1.5404254 0.0016371971 -0.0214892 4.5513874 + 36330 19.821052 1.0153658 24.101488 6.0727808 4.5502398 1.522541 0.0017967751 -0.022315566 4.5707586 + 36340 20.387645 1.0331842 23.896117 6.0773728 4.5281131 1.5492597 0.0019194117 -0.022634706 4.5488284 + 36350 20.165225 1.0160265 23.861422 6.0777042 4.5541725 1.5235317 0.0019831684 -0.023046492 4.5752358 + 36360 20.046548 1.0279101 23.918957 6.0848857 4.5435344 1.5413513 0.0021568265 -0.0238496 4.5652272 + 36370 19.782582 1.0283968 23.768654 6.088 4.545919 1.542081 0.0022464898 -0.024381229 4.5680538 + 36380 20.136938 1.0238889 23.633537 6.0674645 4.532143 1.5353215 0.0023257065 -0.024849341 4.5546666 + 36390 19.901922 1.0143692 23.786248 6.0514297 4.5303831 1.5210466 0.0022821915 -0.024837717 4.5529386 + 36400 20.064988 0.99955441 23.603915 6.0299883 4.5311565 1.4988318 0.0022210836 -0.024445233 4.5533806 + 36410 20.008929 1.0023966 23.76706 6.0450995 4.5420058 1.5030936 0.0021346398 -0.024004914 4.5638761 + 36420 20.44126 1.0094758 23.647642 6.0485432 4.5348343 1.5137089 0.0022095753 -0.024221743 4.5568465 + 36430 20.183546 1.0075779 23.710239 6.0387505 4.5278875 1.510863 0.0021664476 -0.02389445 4.5496155 + 36440 19.931366 1.0195642 23.712716 6.0504348 4.5215983 1.5288365 0.0019857276 -0.023227097 4.5428397 + 36450 20.105265 1.0082038 23.670229 6.0179009 4.5060993 1.5118016 0.0019740713 -0.023202032 4.5273272 + 36460 20.459845 1.0075357 23.893384 6.039082 4.5282822 1.5107998 0.0019948593 -0.023315094 4.5496024 + 36470 20.267893 1.0100523 23.798834 6.0527021 4.5381288 1.5145734 0.0018496297 -0.022610806 4.5588899 + 36480 20.044127 1.0184551 23.685278 6.0581919 4.5310185 1.5271734 0.00191895 -0.02270476 4.5518043 + 36490 20.295931 1.0059365 23.687039 6.0659589 4.5575572 1.5084018 0.0021095967 -0.023557707 4.5790053 + 36500 20.191053 1.0079963 23.876248 6.0627826 4.5512921 1.5114905 0.0019803302 -0.0229556 4.5722674 + 36510 20.163115 1.0231127 23.820039 6.0819608 4.5478034 1.5341575 0.0018923499 -0.022364839 4.5682759 + 36520 20.121318 1.0042629 23.683633 6.0429507 4.5370584 1.5058923 0.0018292899 -0.02194847 4.5571776 + 36530 20.388096 1.0085012 24.010051 6.0645671 4.5523195 1.5122476 0.0017891993 -0.022131945 4.5726623 + 36540 20.36248 1.0281202 23.680776 6.090753 4.5490868 1.5416663 0.0018220262 -0.022457062 4.5697218 + 36550 20.20742 1.0178299 23.774915 6.0801154 4.5538795 1.5262359 0.0016995061 -0.022180581 4.5743606 + 36560 20.432968 1.0305902 23.649858 6.0731182 4.5277482 1.54537 0.0017838098 -0.022640466 4.5486048 + 36570 20.243714 1.0103138 23.866481 6.0659124 4.5509468 1.5149656 0.0019206267 -0.023371381 4.5723975 + 36580 19.906228 1.0057221 23.897136 6.0683538 4.5602734 1.5080803 0.001875291 -0.023063428 4.5814616 + 36590 20.45648 1.0311903 23.54403 6.0860022 4.5397324 1.5462698 0.0016751243 -0.021723068 4.5597803 + 36600 20.257547 1.0118673 23.445506 6.0434432 4.5261482 1.517295 0.0016452129 -0.021921773 4.5464247 + 36610 20.254336 1.0053348 23.940805 6.0431413 4.5356418 1.5074995 0.0018509013 -0.022630083 4.556421 + 36620 20.458285 1.0005594 23.648846 6.0307376 4.5303988 1.5003388 0.0017230949 -0.022166523 4.5508422 + 36630 20.38506 0.99542657 23.723383 6.0227209 4.5300788 1.4926421 0.0015561529 -0.021610749 4.5501334 + 36640 20.458911 1.0125072 23.605286 6.026072 4.5078175 1.5182545 0.0015943828 -0.02178114 4.5280043 + 36650 20.371113 0.99901135 23.777588 6.0393669 4.5413494 1.4980175 0.0016612449 -0.021954354 4.5616425 + 36660 20.110481 0.99258142 23.786235 6.0340509 4.545675 1.4883758 0.0017102873 -0.022278718 4.5662435 + 36670 20.458054 1.0292048 23.768404 6.055186 4.5118934 1.5432926 0.0018531543 -0.022584577 4.5326248 + 36680 20.15878 1.0081769 23.909362 6.0454588 4.5336976 1.5117612 0.0019389247 -0.022706993 4.5544656 + 36690 20.245263 0.99449712 23.501457 6.0509774 4.559729 1.4912484 0.0018867114 -0.022511363 4.5803536 + 36700 20.397783 1.0168429 23.818535 6.0552381 4.5304821 1.524756 0.0018781453 -0.022167884 4.5507718 + 36710 20.216077 1.012153 23.41194 6.0399039 4.5221805 1.5177234 0.0018089132 -0.022220027 4.5425917 + 36720 20.275787 0.9975629 23.67236 6.0203086 4.5244631 1.4958456 0.0017935932 -0.022396616 4.5450661 + 36730 20.148163 0.98464289 23.592022 6.0136171 4.5371451 1.476472 0.0016880811 -0.022055029 4.557512 + 36740 20.222397 1.0154237 23.943185 6.0386096 4.5159818 1.5226278 0.001669769 -0.021714239 4.5360263 + 36750 20.173932 1.0097326 23.611757 6.0408039 4.5267099 1.514094 0.0016595564 -0.021495915 4.5465463 + 36760 20.20019 1.0112436 23.486969 6.0324316 4.5160719 1.5163597 0.001643066 -0.021252576 4.5356814 + 36770 20.372985 1.0109275 23.953288 6.0451674 4.5292815 1.5158859 0.0016698051 -0.02141583 4.5490275 + 36780 19.683149 1.023722 23.768781 6.0385403 4.5034692 1.5350711 0.0016994414 -0.021719862 4.5234897 + 36790 19.928149 1.0118157 23.899408 6.0455193 4.5283016 1.5172176 0.0017068768 -0.021966383 4.5485611 + 36800 20.201174 1.0168876 23.727401 6.0486911 4.5238682 1.5248229 0.0017484156 -0.022210628 4.5443304 + 36810 20.099748 1.0130346 23.730282 6.0637108 4.5446653 1.5190454 0.0016352123 -0.021866956 4.5648971 + 36820 20.287249 1.0142339 23.853078 6.0583164 4.5374726 1.5208437 0.0016641149 -0.022465196 4.5582737 + 36830 20.315544 1.0380975 24.010471 6.0718227 4.5151955 1.5566272 0.0016013909 -0.022101465 4.5356956 + 36840 20.19976 1.0228642 23.735286 6.0748067 4.5410218 1.5337849 0.0015913804 -0.021649672 4.5610801 + 36850 20.307039 1.0304926 23.702933 6.0851337 4.53991 1.5452237 0.001489802 -0.020695273 4.5591154 + 36860 20.030327 1.0274542 23.867567 6.0930573 4.5523898 1.5406675 0.0015119391 -0.021155432 4.5720333 + 36870 20.152618 1.0265811 23.914898 6.0880096 4.5486513 1.5393584 0.0015705798 -0.021110082 4.5681908 + 36880 20.563592 1.0121813 23.564881 6.0696909 4.551925 1.5177659 0.0016887997 -0.021760954 4.5719971 + 36890 20.172023 1.0266965 23.999074 6.0693124 4.5297811 1.5395313 0.0017038613 -0.022020938 4.5500982 + 36900 20.16835 1.0139681 23.740783 6.0478295 4.5273842 1.5204452 0.0017178763 -0.021900909 4.5475673 + 36910 20.158242 1.0261621 23.649415 6.0646889 4.5259587 1.5387301 0.0018338013 -0.022285822 4.5464107 + 36920 20.278409 1.0088995 23.729437 6.0451139 4.5322691 1.5128448 0.0017778163 -0.021925362 4.5524166 + 36930 20.105932 1.0253936 23.64781 6.0537252 4.5161475 1.5375776 0.0018681888 -0.022522678 4.536802 + 36940 20.028776 1.0307482 23.833201 6.076103 4.5304961 1.5456069 0.0018622623 -0.022315323 4.5509492 + 36950 19.969715 1.0279704 23.75467 6.0723032 4.5308616 1.5414416 0.0017809848 -0.022133667 4.5512143 + 36960 20.22673 1.024546 23.762767 6.0568437 4.5205371 1.5363067 0.0017592302 -0.022234905 4.5410127 + 36970 20.409274 1.002269 23.773984 6.0304924 4.52759 1.5029024 0.0018396795 -0.022694516 4.5484448 + 36980 20.38491 1.0240122 23.359589 6.0490828 4.5135765 1.5355063 0.0019586525 -0.023286161 4.534904 + 36990 20.377522 1.0193741 23.735888 6.073406 4.5448545 1.5285515 0.0020294647 -0.023560236 4.5663853 + 37000 20.284909 1.0343618 24.055623 6.0901094 4.5390838 1.5510256 0.0021010848 -0.023966159 4.5609489 + 37010 20.301436 1.0347293 23.450527 6.0771247 4.5255481 1.5515766 0.0022380576 -0.024375398 4.5476854 + 37020 20.163805 1.0241037 23.653453 6.0654346 4.5297911 1.5356435 0.0021898224 -0.023970031 4.5515713 + 37030 20.467971 1.0165994 23.783422 6.0472858 4.522895 1.5243908 0.0019975824 -0.023199132 4.5440965 + 37040 20.385639 1.0130134 23.564949 6.0270507 4.508037 1.5190136 0.0019947676 -0.023411925 4.5294542 + 37050 20.305547 0.9907677 23.645578 6.0142252 4.528569 1.4856562 0.0019989434 -0.023415666 4.5499857 + 37060 20.129671 0.98959741 23.493025 6.0349512 4.5510498 1.4839013 0.0020186386 -0.023459229 4.5724904 + 37070 20.446686 1.0080328 23.775057 6.0213021 4.5097569 1.5115452 0.0019725611 -0.023007165 4.5307915 + 37080 20.496847 1.008111 23.819798 6.02521 4.5135476 1.5116624 0.0016271194 -0.021710557 4.533631 + 37090 20.411051 0.98461605 23.726039 5.9960595 4.5196278 1.4764318 0.0016734751 -0.022043895 4.5399982 + 37100 20.176109 0.98271309 23.445336 5.9754678 4.5018895 1.4735783 0.0017897815 -0.022263466 4.5223632 + 37110 20.46222 1.000097 23.643638 6.0145562 4.5149108 1.4996454 0.0017568801 -0.022084491 4.5352384 + 37120 20.252801 1.0052507 23.676928 6.029294 4.5219205 1.5073735 0.0018856894 -0.022869014 4.5429038 + 37130 20.303883 0.98758887 23.617044 6.0238506 4.5429611 1.4808895 0.0018890516 -0.022931649 4.5640037 + 37140 20.446665 1.0125019 23.985973 6.0351884 4.5169417 1.5182467 0.0019530988 -0.023004186 4.5379928 + 37150 20.289956 0.99811987 23.9581 6.0293952 4.5327145 1.4966807 0.0016376721 -0.021887433 4.5529642 + 37160 20.408824 0.99770726 23.612251 6.0301681 4.5341061 1.496062 0.0017529872 -0.022482317 4.5548354 + 37170 20.300972 1.0108576 23.745647 6.0249487 4.5091678 1.5157809 0.001724534 -0.022226589 4.5296699 + 37180 19.881114 1.0063926 23.50157 6.0166654 4.5075798 1.5090856 0.0017490436 -0.021576877 4.5274076 + 37190 19.994683 1.0040269 23.954675 6.0300368 4.5244984 1.5055384 0.0016554239 -0.020474989 4.543318 + 37200 19.962162 1.0048695 23.411219 6.0260964 4.5192946 1.5068018 0.0016884819 -0.02034905 4.5379552 + 37210 20.267209 1.0084193 23.501663 6.0494474 4.5373226 1.5121248 0.0018810885 -0.021387105 4.5568286 + 37220 20.338822 1.0015088 23.657161 6.024992 4.5232295 1.5017625 0.0019020976 -0.021733944 4.5430613 + 37230 20.218732 1.011799 23.797534 6.0239672 4.5067747 1.5171926 0.001962549 -0.022148606 4.5269607 + 37240 20.438237 1.0200843 23.580681 6.0588579 4.5292415 1.5296165 0.0019721745 -0.02219468 4.549464 + 37250 20.492501 1.0115189 23.818088 6.0547864 4.5380138 1.5167726 0.0019839541 -0.022487275 4.5585171 + 37260 20.301346 1.0106008 23.718894 6.0277423 4.5123464 1.515396 0.0020226607 -0.022683708 4.5330074 + 37270 20.250545 0.9945112 23.65157 5.9905104 4.4992409 1.4912695 0.0021035869 -0.023530215 4.5206675 + 37280 20.211838 0.9978033 23.820474 5.9983799 4.5021738 1.4962061 0.0021464185 -0.024036352 4.5240638 + 37290 20.138926 0.97692659 23.413301 5.9778839 4.5129825 1.4649014 0.0021172354 -0.023870443 4.5347357 + 37300 19.932755 0.96396761 23.626546 5.9602657 4.5147963 1.4454694 0.0019583558 -0.02308885 4.5359268 + 37310 20.221309 0.96813865 23.605596 5.9750803 4.5233564 1.4517239 0.0017771813 -0.022050982 4.5436302 + 37320 20.509163 1.003508 23.662983 5.9928508 4.4880906 1.5047602 0.001602155 -0.020943093 4.5074315 + 37330 20.326413 0.99306171 23.770062 6.0305066 4.5414106 1.489096 0.0014780837 -0.020125644 4.5600582 + 37340 20.286606 1.007678 23.683125 6.0213768 4.5103637 1.5110131 0.0014274153 -0.020214634 4.5291509 + 37350 20.355744 1.0195049 23.768042 6.0453221 4.5165744 1.5287477 0.001500992 -0.020309985 4.5353834 + 37360 20.249947 1.0157562 23.558841 6.0677338 4.5446074 1.5231264 0.0017023138 -0.021615677 4.5645207 + 37370 20.07044 1.0132714 23.592189 6.084056 4.5646554 1.5194005 0.0017890283 -0.02225156 4.585118 + 37380 20.040501 1.029886 24.012985 6.0598016 4.5154875 1.5443141 0.0018573397 -0.022320923 4.5359511 + 37390 20.388737 1.0178021 23.839003 6.0629253 4.5367311 1.5261942 0.0016809949 -0.021627402 4.5566775 + 37400 20.362637 1.0127503 23.730255 6.0532089 4.5345897 1.5186191 0.0015405861 -0.0208273 4.5538764 + 37410 20.3971 1.0393546 23.884517 6.0718519 4.5133397 1.5585122 0.0015377225 -0.020987471 4.5327894 + 37420 20.211647 0.99770778 23.631503 6.0388178 4.542755 1.4960628 0.0015370812 -0.020329586 4.5615475 + 37430 20.294609 0.9818918 23.676533 6.0312558 4.558909 1.4723468 0.0015860375 -0.020957254 4.5782802 + 37440 20.347282 1.014528 23.914234 6.0504036 4.5291189 1.5212848 0.0017140871 -0.022320749 4.5497255 + 37450 19.978285 0.9915064 23.563703 6.0336584 4.5468946 1.4867638 0.0016086084 -0.021752806 4.5670388 + 37460 20.144304 1.0025797 23.667105 6.0338547 4.5304864 1.5033683 0.0014943104 -0.021186584 4.5501787 + 37470 19.864113 0.98640219 23.63898 6.0125914 4.5334813 1.4791101 0.0015827041 -0.021412999 4.5533116 + 37480 20.077288 0.99760088 23.694063 6.0519295 4.556027 1.4959025 0.0017044294 -0.021965599 4.5762882 + 37490 20.192413 1.0104031 23.749593 6.0541762 4.5390768 1.5150994 0.0017673018 -0.022003963 4.5593134 + 37500 20.15985 0.99182605 23.954514 6.0205396 4.5332965 1.4872432 0.0020146526 -0.023019161 4.554301 + 37510 20.084545 1.0007135 23.7973 6.0255543 4.5249844 1.5005698 0.0020810412 -0.023260684 4.5461641 + 37520 20.061404 1.003146 23.787461 6.0093506 4.5051332 1.5042174 0.0019330513 -0.022598989 4.5257992 + 37530 20.303946 1.0201207 23.74057 6.0456268 4.5159558 1.529671 0.0019022706 -0.022695765 4.5367493 + 37540 20.037123 1.0111593 23.86141 6.0497065 4.5334731 1.5162334 0.002087532 -0.023609461 4.5549951 + 37550 19.914318 1.0073718 23.749503 6.0459759 4.5354218 1.510554 0.0020199388 -0.023302536 4.5567044 + 37560 20.310733 0.99249578 23.777205 6.0276436 4.5393962 1.4882474 0.0019488022 -0.022928444 4.5603759 + 37570 20.390181 0.99747356 23.826948 6.0295793 4.5338677 1.4957116 0.0019023028 -0.022833666 4.5547991 + 37580 20.341128 1.0162998 23.761007 6.0342303 4.5102888 1.5239415 0.001676415 -0.021930995 4.5305434 + 37590 20.210499 1.0075536 23.695934 6.0530839 4.5422573 1.5108266 0.0015183426 -0.021295606 4.5620346 + 37600 20.404451 1.0161348 23.642311 6.0608628 4.5371686 1.5236942 0.0014121196 -0.020698506 4.556455 + 37610 20.374877 0.99356174 23.831868 6.0205153 4.5306694 1.4898458 0.0015364439 -0.021590135 4.5507231 + 37620 20.16642 0.97488063 23.551204 5.9691262 4.5072927 1.4618335 0.0017098218 -0.022578297 4.5281612 + 37630 20.14119 0.97518141 23.982755 5.9964263 4.5341418 1.4622845 0.0016814324 -0.022325973 4.5547863 + 37640 20.356914 0.98264934 23.625882 5.9877461 4.5142634 1.4734827 0.0016803953 -0.022184712 4.5347677 + 37650 20.338544 0.97488183 23.608365 5.9837981 4.5219628 1.4618353 0.0016086673 -0.021759128 4.5421133 + 37660 19.938302 0.98975906 23.84562 6.0100525 4.5259088 1.4841437 0.0016488178 -0.021646717 4.5459067 + 37670 18.898604 0.97780407 23.946852 5.9889862 4.522769 1.4662172 0.0016037506 -0.021375417 4.5425407 + 37680 20.117843 0.99260892 23.460383 6.0234569 4.5350398 1.4884171 0.0013225438 -0.020146332 4.5538636 + 37690 20.104436 0.98248064 23.507391 6.0221121 4.5488824 1.4732297 0.0011502218 -0.019142306 4.5668745 + 37700 19.758185 1.0137592 23.699999 6.0447762 4.5246443 1.520132 0.001230449 -0.018867204 4.542281 + 37710 19.928796 1.0227609 23.675507 6.0422648 4.5086349 1.5336299 0.0015221962 -0.020046276 4.527159 + 37720 20.082721 1.0237106 23.857287 6.0642629 4.5292089 1.535054 0.0016998541 -0.021015351 4.5485244 + 37730 20.104607 0.99560467 23.379095 6.0192496 4.5263404 1.4929092 0.0018489849 -0.021798674 4.5462901 + 37740 19.961937 1.005711 23.68822 6.0523702 4.5443066 1.5080636 0.0019037463 -0.022133474 4.5645363 + 37750 19.995313 1.024618 23.870619 6.0451727 4.508758 1.5364147 0.0017489995 -0.020997196 4.5280062 + 37760 20.205209 1.0023812 23.814822 6.0347843 4.5317137 1.5030707 0.001603287 -0.019709598 4.54982 + 37770 20.232253 0.99977074 23.558162 6.0410263 4.5418701 1.4991562 0.0015483156 -0.019574551 4.5598963 + 37780 20.21903 1.0204164 24.053368 6.0545886 4.5244742 1.5301144 0.0016685414 -0.020238084 4.5430438 + 37790 20.126248 1.0175835 23.877774 6.0497291 4.5238626 1.5258665 0.0016091643 -0.020271696 4.5425252 + 37800 19.892231 1.0249588 23.850901 6.0588441 4.5219183 1.5369258 0.0016359896 -0.020728512 4.5410108 + 37810 20.236403 1.0087728 23.723205 6.051924 4.5392693 1.5126547 0.0019040214 -0.022352751 4.559718 + 37820 20.09762 1.0089882 23.408093 6.0294579 4.5164801 1.5129778 0.0021102499 -0.023158359 4.5375282 + 37830 20.376913 1.0062492 23.7778 6.0371835 4.5283128 1.5088707 0.0023152275 -0.024109724 4.5501073 + 37840 20.190568 1.0098792 24.063542 6.047888 4.5335741 1.5143139 0.0022198224 -0.023714243 4.5550685 + 37850 19.953789 1.0174245 23.639565 6.0438545 4.5182264 1.525628 0.0017738666 -0.022018896 4.5384715 + 37860 20.178166 1.0167287 23.733127 6.0541048 4.5295201 1.5245847 0.00171699 -0.021962071 4.5497652 + 37870 20.047672 1.0141479 23.738955 6.063082 4.5423672 1.5207148 0.0015669202 -0.021474692 4.5622749 + 37880 20.197046 1.0157392 23.686353 6.0788365 4.5557356 1.5231009 0.0015966971 -0.021201206 4.5753401 + 37890 20.32792 1.0336474 23.513138 6.0823906 4.5324364 1.5499542 0.0015394406 -0.021348889 4.5522458 + 37900 20.254565 1.0091239 23.863375 6.0767828 4.5636015 1.5131813 0.0016747064 -0.022271629 4.5841984 + 37910 20.245845 1.0260743 23.86511 6.0733699 4.5347715 1.5385985 0.001778475 -0.023144051 4.556137 + 37920 20.209839 1.0190706 23.763026 6.0697282 4.5416319 1.5280963 0.0020188997 -0.024038657 4.5636517 + 37930 20.340467 1.0213096 23.447105 6.1009891 4.5695353 1.5314538 0.0021649669 -0.024262244 4.5916326 + 37940 20.191426 1.0175526 23.517213 6.0761444 4.5503242 1.5258202 0.0021376181 -0.023961695 4.5721483 + 37950 20.215452 1.0089218 23.523599 6.0644623 4.551584 1.5128783 0.0019603791 -0.023054744 4.5726784 + 37960 19.879253 1.0209662 23.794117 6.0769667 4.5460279 1.5309388 0.0020733674 -0.023631753 4.5675863 + 37970 20.044416 1.0302429 23.482448 6.0955825 4.5507332 1.5448492 0.00197264 -0.02280208 4.5715627 + 37980 19.721647 1.0247323 23.60467 6.0985133 4.5619273 1.536586 0.0017858579 -0.022089468 4.5822309 + 37990 20.234027 1.0362307 23.804683 6.097319 4.5434911 1.5538279 0.0017360151 -0.021676064 4.5634311 + 38000 20.267787 1.0390808 23.655461 6.1097388 4.5516371 1.5581017 0.0017091284 -0.021655927 4.5715839 + 38010 19.761014 1.0194554 23.840463 6.0803846 4.5517112 1.5286734 0.0015676601 -0.020495008 4.5706386 + 38020 20.09158 1.0428141 24.05003 6.1184848 4.5547851 1.5636997 0.0015437331 -0.020845653 4.574087 + 38030 20.46181 1.0206637 23.479999 6.0580271 4.5275419 1.5304852 0.0016891981 -0.021824644 4.5476774 + 38040 20.120876 1.0151945 23.721014 6.0500005 4.5277164 1.5222842 0.0018050917 -0.022329144 4.5482404 + 38050 20.474215 1.0020487 23.579298 6.0530219 4.5504499 1.502572 0.0019465686 -0.022903409 4.5714067 + 38060 20.196422 1.0085003 24.203207 6.0580392 4.5457929 1.5122463 0.0019809306 -0.022954194 4.5667662 + 38070 20.231061 0.99877018 23.68114 6.0308789 4.533223 1.4976559 0.001987273 -0.022911608 4.5541473 + 38080 20.127287 1.0107261 23.713138 6.0417501 4.5261663 1.5155838 0.0020910001 -0.023563602 4.5476389 + 38090 20.183179 0.9905981 23.865113 6.022176 4.5367741 1.4854019 0.0021639986 -0.024159743 4.5587698 + 38100 20.08829 0.99342588 23.83197 6.0013973 4.5117552 1.4896421 0.0018557404 -0.022900828 4.5328003 + 38110 20.05666 1.0092331 23.741147 6.0548214 4.5414763 1.513345 0.0018693192 -0.022888927 4.5624959 + 38120 20.323845 1.0115851 23.771432 6.03342 4.5165481 1.5168719 0.0020169646 -0.023693384 4.5382246 + 38130 20.261558 1.0022574 23.669874 6.024256 4.521371 1.502885 0.0019722583 -0.023305758 4.5427045 + 38140 19.90384 0.99163607 23.395801 5.9841143 4.497156 1.4869583 0.0019637456 -0.023645529 4.5188378 + 38150 20.218389 0.99871243 23.97527 6.0131597 4.5155904 1.4975693 0.0019166633 -0.02344556 4.5371193 + 38160 20.487953 1.0163022 23.568574 6.0446572 4.5207121 1.5239452 0.0017862893 -0.022491826 4.5414176 + 38170 20.108221 1.0234227 23.947314 6.0700011 4.5353787 1.5346224 0.0017291621 -0.022088003 4.5557376 + 38180 20.412782 1.0361777 24.047666 6.0863097 4.5325612 1.5537485 0.0016885364 -0.021673547 4.5525462 + 38190 20.355497 1.0096179 23.928386 6.0370898 4.5231677 1.5139221 0.0016221771 -0.021527538 4.5430731 + 38200 20.191377 1.0242479 23.768529 6.0539496 4.5180899 1.5358597 0.001498057 -0.021040685 4.5376325 + 38210 20.076033 1.0088812 23.767074 6.0378443 4.525027 1.5128173 0.0016056725 -0.021581093 4.5450024 + 38220 20.131081 1.0031076 23.372061 6.0422393 4.5380795 1.5041599 0.0018123568 -0.02268508 4.5589522 + 38230 20.457924 1.0004235 23.764612 6.0328481 4.5327131 1.500135 0.0019168882 -0.022914359 4.5537106 + 38240 20.252967 0.99359726 24.014359 6.0293074 4.5394083 1.4898991 0.0019673398 -0.022819997 4.5602609 + 38250 20.159677 0.98928781 23.843428 6.0426457 4.5592086 1.4834371 0.0019051435 -0.022387733 4.5796912 + 38260 20.232364 0.99619816 23.818718 6.0347163 4.5409172 1.4937991 0.0016488702 -0.021229786 4.5604981 + 38270 20.34754 0.99512918 23.461543 6.0224754 4.5302792 1.4921962 0.0018979398 -0.022062578 4.5504438 + 38280 20.169827 1.0113004 23.701413 6.0216897 4.5052448 1.5164449 0.0019972579 -0.022599201 4.5258467 + 38290 20.190766 1.0141927 23.691984 6.0448784 4.5240964 1.520782 0.0022224179 -0.023611627 4.5454856 + 38300 19.991377 1.0250114 23.79708 6.0427486 4.505744 1.5370046 0.0021799721 -0.023292736 4.5268568 + 38310 20.283457 1.0079837 23.7685 6.0376214 4.5261498 1.5114716 0.0020502921 -0.022737198 4.5468367 + 38320 20.091233 0.99210393 23.784934 6.0090341 4.5213743 1.4876598 0.0016682417 -0.021347718 4.5410538 + 38330 19.779506 0.9947195 23.57334 6.0122318 4.52065 1.4915819 0.0013599736 -0.020170165 4.5394602 + 38340 20.112311 0.98654303 23.575778 6.0123618 4.5330405 1.4793213 0.0011472583 -0.019226139 4.5511194 + 38350 19.859953 0.99608377 23.654939 6.0095927 4.5159651 1.4936276 0.0011502117 -0.019141175 4.5339561 + 38360 19.975345 1.0036889 23.830692 6.0130194 4.507988 1.5050314 0.0010308893 -0.018724663 4.5256818 + 38370 20.308695 1.0022543 23.662491 6.0177369 4.5148566 1.5028804 0.0011655443 -0.019579424 4.5332705 + 38380 20.246052 1.0048563 23.744754 6.0334952 4.5267132 1.506782 0.0014156447 -0.020981266 4.5462788 + 38390 20.100194 0.98092466 23.667257 6.0214845 4.550588 1.4708965 0.0015942186 -0.021547666 4.5705414 + 38400 20.374859 0.99413261 23.846448 6.006469 4.5157672 1.4907018 0.0018622061 -0.022857554 4.5367625 + 38410 20.247354 1.0059512 23.848824 5.9993217 4.4908979 1.5084238 0.001831402 -0.02247294 4.5115395 + 38420 20.20117 1.0127064 23.701007 6.0350739 4.5165205 1.5185533 0.0017052258 -0.022116772 4.5369321 + 38430 20.455773 0.99216647 23.918255 6.0033686 4.515615 1.4877536 0.0016927039 -0.021910897 4.5358332 + 38440 20.412387 0.9894185 23.595866 6.0117784 4.5281453 1.483633 0.0016210082 -0.020810595 4.5473349 + 38450 20.340805 0.99417842 23.515254 6.0317532 4.5409826 1.4907705 0.0017523126 -0.021333545 4.5605639 + 38460 20.218998 1.0162674 24.174165 6.0513006 4.5274076 1.523893 0.0017591709 -0.021486194 4.5471346 + 38470 20.182626 1.014939 23.674941 6.0506214 4.5287203 1.521901 0.001807259 -0.02189205 4.5488051 + 38480 19.959591 1.0088741 23.726414 6.0432999 4.5304932 1.5128067 0.0017980873 -0.02212466 4.5508198 + 38490 20.0683 1.0066666 23.777815 6.0391305 4.5296338 1.5094966 0.0017641034 -0.022279898 4.5501496 + 38500 20.111066 0.99927937 23.506676 6.0236597 4.5252403 1.4984194 0.0019199794 -0.022889342 4.5462096 + 38510 20.355535 1.0044829 23.666704 6.0218717 4.5156495 1.5062221 0.0020863478 -0.023585081 4.5371483 + 38520 19.88712 0.98893224 23.762899 6.0261454 4.5432415 1.4829039 0.0021069641 -0.023646003 4.5647805 + 38530 20.020167 0.99948046 23.647153 6.0273028 4.5285818 1.498721 0.0020745187 -0.023802263 4.5503095 + 38540 20.344666 0.99110168 23.655275 6.0155679 4.529411 1.486157 0.0021055962 -0.023816145 4.5511215 + 38550 20.240163 0.99226642 23.85021 6.0062112 4.5183077 1.4879035 0.0021619913 -0.023938497 4.5400842 + 38560 20.401663 0.9989368 23.59005 5.9950259 4.4971201 1.4979057 0.0021779716 -0.024314421 4.5192566 + 38570 20.356969 1.0102699 23.830677 6.0326039 4.5177042 1.5148997 0.0021797986 -0.024309475 4.5398339 + 38580 20.033069 1.0158351 23.424586 6.0510647 4.5278199 1.5232448 0.0021753671 -0.024491024 4.5501356 + 38590 20.112754 1.0292836 23.620712 6.0835597 4.5401489 1.5434108 0.0021454175 -0.024204478 4.5622079 + 38600 20.016203 1.0257173 23.584491 6.0717248 4.5336617 1.5380631 0.0019501371 -0.023483299 4.5551948 + 38610 20.134361 1.0199921 23.794942 6.0655139 4.5360358 1.5294781 0.0018651188 -0.022615995 4.5567867 + 38620 20.068101 1.0117882 23.633401 6.055687 4.5385107 1.5171763 0.0018413968 -0.022320299 4.5589896 + 38630 19.994349 1.0144506 23.518057 6.0333558 4.5121871 1.5211687 0.0020052807 -0.022801747 4.5329836 + 38640 20.299314 0.99872502 23.655263 6.0210793 4.5234912 1.4975882 0.0020262617 -0.022698511 4.5441634 + 38650 20.194633 0.98277637 23.76627 6.0194202 4.545747 1.4736732 0.001983251 -0.022346277 4.56611 + 38660 20.370496 0.97680698 23.74205 6.0044117 4.5396896 1.4647221 0.0017763424 -0.021752025 4.5596653 + 38670 19.943046 1.0104158 23.628666 6.0228032 4.5076846 1.5151186 0.0015041418 -0.02066502 4.5268455 + 38680 19.990317 0.98970938 23.577252 6.0253804 4.5413112 1.4840692 0.0014503174 -0.021076981 4.5609379 + 38690 20.36317 0.98120934 23.472242 6.0005737 4.5292503 1.4713234 0.0016375165 -0.021849389 4.5494621 + 38700 20.20276 0.98391934 23.687251 5.9940341 4.518647 1.475387 0.0017391897 -0.022537567 4.5394454 + 38710 20.01369 1.0055579 23.764314 6.0220276 4.5141935 1.5078341 0.0017030861 -0.022084969 4.5345754 + 38720 20.230119 1.0067908 23.688545 6.025254 4.5155713 1.5096828 0.0015362528 -0.021081615 4.5351166 + 38730 20.386002 0.98138486 23.549989 6.0234099 4.5518233 1.4715866 0.001810477 -0.022207801 4.5722206 + 38740 20.454358 0.99766509 23.893481 6.0314966 4.5354978 1.4959988 0.0015208741 -0.021160686 4.5551376 + 38750 20.156117 0.99500347 23.775158 6.0181109 4.5261032 1.4920077 0.0013127748 -0.020431937 4.5452224 + 38760 20.249661 0.99468455 23.927757 6.0207958 4.5292663 1.4915295 0.0014002091 -0.020621675 4.5484878 + 38770 20.218455 1.0032066 23.722126 6.0221494 4.5178411 1.5043083 0.0015773271 -0.021329524 4.5375933 + 38780 20.091313 0.99064725 23.800892 6.0065189 4.5210434 1.4854755 0.0018153661 -0.02208454 4.5413126 + 38790 20.180305 0.9870611 23.82785 6.0272299 4.5471318 1.4800981 0.001948022 -0.02277962 4.5679634 + 38800 19.976531 0.99597228 23.488756 6.0306061 4.5371457 1.4934604 0.0017671249 -0.021954882 4.5573335 + 38810 20.466213 1.0275223 23.794125 6.0740669 4.5332973 1.5407696 0.0017498718 -0.021756232 4.5533036 + 38820 20.191282 1.0224324 23.586839 6.0730981 4.5399607 1.5331374 0.0016802257 -0.021133669 4.5594141 + 38830 20.017958 1.0097275 23.526666 6.0455869 4.5315006 1.5140863 0.0015339518 -0.020533431 4.5505001 + 38840 20.182992 1.0010784 23.843145 6.0314403 4.5303232 1.5011171 0.0015183019 -0.020546949 4.5493518 + 38850 20.085194 1.008239 23.861623 6.0533482 4.5414939 1.5118544 0.0015151198 -0.020762741 4.5607415 + 38860 20.218154 1.002143 23.598501 6.0495849 4.5468715 1.5027134 0.0013849459 -0.020524377 4.5660109 + 38870 20.409171 1.0189943 23.812603 6.0571964 4.5292145 1.5279819 0.0014362986 -0.020942277 4.5487204 + 38880 20.403829 1.0257128 23.734781 6.0727031 4.5346467 1.5380564 0.0014783232 -0.021163348 4.5543317 + 38890 20.035411 1.0279741 23.907434 6.0796338 4.5381867 1.5414472 0.0017447256 -0.022732606 4.5591745 + 38900 20.037952 1.0217176 23.827736 6.0695478 4.5374823 1.5320655 0.0016878125 -0.022707596 4.5585021 + 38910 19.936292 1.0269444 23.606678 6.0621529 4.5222497 1.5399032 0.0016429496 -0.022734896 4.5433416 + 38920 20.234048 1.0124003 23.633388 6.0547762 4.5366819 1.5180943 0.0017554193 -0.023004667 4.5579312 + 38930 20.302625 1.0146942 23.679229 6.041398 4.519864 1.521534 0.0017284446 -0.022704523 4.5408401 + 38940 20.304304 1.0152992 23.623868 6.0596176 4.5371764 1.5224412 0.0017081969 -0.022333836 4.557802 + 38950 19.876964 1.0142262 23.550315 6.0525819 4.5317497 1.5208322 0.0016146887 -0.021855497 4.5519905 + 38960 20.265554 1.0036307 23.656333 6.0631245 4.5581804 1.5049442 0.0015129104 -0.021546201 4.5782137 + 38970 20.038586 1.0044576 23.531237 6.0490566 4.5428725 1.5061841 0.0014926457 -0.021273197 4.5626531 + 38980 20.398704 1.0332748 23.790423 6.0812136 4.5318181 1.5493955 0.001540854 -0.02106231 4.5513395 + 38990 20.574755 1.0190427 24.076956 6.0649087 4.5368542 1.5280545 0.0015233131 -0.020955993 4.5562869 + 39000 20.552576 1.0347409 23.941343 6.0989505 4.5473565 1.551594 0.001440345 -0.020314755 4.5662309 + 39010 20.222208 1.0222077 23.705381 6.0812129 4.5484125 1.5328004 0.0016191383 -0.021352308 4.5681457 + 39020 20.330537 1.0152109 23.762419 6.05664 4.5343313 1.5223088 0.0014777251 -0.021020157 4.5538737 + 39030 20.267762 1.0375441 23.796471 6.0733088 4.5175115 1.5557973 0.001377059 -0.020556919 4.5366914 + 39040 20.316903 1.0261775 23.878832 6.0746481 4.5358949 1.5387532 0.0015404607 -0.020886006 4.5552404 + 39050 20.393915 1.0224951 23.546593 6.0630876 4.5298561 1.5332314 0.001614145 -0.021121107 4.5493631 + 39060 20.535951 1.0173806 23.818685 6.0551927 4.5296305 1.5255622 0.0014977108 -0.020333336 4.5484661 + 39070 20.614581 1.0146542 23.685437 6.0536369 4.5321629 1.5214739 0.0013680529 -0.019902036 4.5506969 + 39080 20.366838 1.0177596 23.880577 6.0677319 4.5416014 1.5261305 0.0013309647 -0.02003598 4.5603064 + 39090 20.418226 1.0077605 23.512964 6.0634813 4.5523445 1.5111368 0.0014576373 -0.020723819 4.5716106 + 39100 20.298084 1.0239397 23.655489 6.0808086 4.545411 1.5353976 0.0017259096 -0.022056614 4.5657417 + 39110 20.177146 1.0254198 23.842447 6.086099 4.5484819 1.5376171 0.0018151472 -0.022217597 4.5688844 + 39120 19.961498 1.0396036 23.906927 6.0881617 4.5292761 1.5588856 0.0017767283 -0.021970165 4.5494695 + 39130 20.077995 1.0430371 24.221168 6.1128374 4.5488033 1.5640341 0.0017523254 -0.021879499 4.5689305 + 39140 20.412422 1.0349472 23.812411 6.0918853 4.5399819 1.5519034 0.0016326766 -0.021364615 4.5597139 + 39150 20.36109 1.0106635 23.704165 6.0459388 4.5304489 1.5154899 0.0015328213 -0.02115261 4.5500687 + 39160 20.482966 0.99759768 23.778005 6.0022909 4.5063932 1.4958977 0.0016756011 -0.021624793 4.5263424 + 39170 20.25859 0.99010672 23.912128 6.0202939 4.5356288 1.484665 0.0019252764 -0.022893174 4.5565967 + 39180 20.357577 1.0043616 24.032665 6.0200187 4.5139785 1.5060403 0.0019760735 -0.023070296 4.5350727 + 39190 20.059832 0.99269807 23.485698 6.0437984 4.5552477 1.4885508 0.0019498222 -0.022914378 4.5762122 + 39200 20.179526 1.0213888 23.634328 6.0684605 4.536888 1.5315725 0.0020894933 -0.023681673 4.5584802 + 39210 20.452798 1.0162943 23.794809 6.038208 4.5142747 1.5239333 0.0021874323 -0.02427971 4.536367 + 39220 20.227077 1.0247594 23.964999 6.0739423 4.5373156 1.5366268 0.0020930702 -0.024046299 4.5592688 + 39230 20.234664 1.0374901 24.315494 6.0780947 4.5223782 1.5557164 0.0020126518 -0.023259094 4.5436247 + 39240 20.3151 1.0213147 23.830434 6.0737659 4.5423045 1.5314614 0.0020021052 -0.022904469 4.5632069 + 39250 19.979329 1.0232646 23.505619 6.0635473 4.529162 1.5343853 0.0019420798 -0.022867028 4.550087 + 39260 20.141354 1.0220646 23.813319 6.0480252 4.5154393 1.5325859 0.0019581155 -0.023125878 4.5366071 + 39270 19.774826 1.008274 23.898535 6.0262438 4.514337 1.5119068 0.0018807274 -0.022777721 4.535234 + 39280 20.192605 1.00326 23.803155 6.0198184 4.5154301 1.5043883 0.0017406259 -0.02250303 4.5361925 + 39290 20.340306 1.0013038 23.70052 6.0289481 4.5274931 1.5014551 0.0016749784 -0.021676535 4.5474946 + 39300 20.207441 1.0188509 23.560179 6.0554664 4.5276994 1.527767 0.0016531146 -0.021555108 4.5476014 + 39310 20.126921 1.0293807 23.68226 6.0629332 4.5193768 1.5435563 0.0015331531 -0.021756217 4.5395999 + 39320 20.220233 1.0416395 23.807198 6.0826658 4.5207273 1.5619385 0.0016160929 -0.022182592 4.5412938 + 39330 20.0242 1.0218691 23.600417 6.0755677 4.543275 1.5322927 0.0014992469 -0.021701823 4.5634776 + 39340 20.423118 1.0025209 23.65918 6.0450158 4.5417357 1.5032801 0.0015823894 -0.022158075 4.5623114 + 39350 20.32081 1.0167104 23.678899 6.0511694 4.5266122 1.5245572 0.0015832425 -0.02225573 4.5472847 + 39360 20.231569 1.0113303 23.745094 6.0514663 4.5349764 1.5164899 0.0015812288 -0.022107003 4.5555022 + 39370 20.190099 1.0190424 23.757612 6.0563183 4.5282642 1.528054 0.0016457954 -0.022089004 4.5487074 + 39380 19.964996 1.0166277 23.775403 6.0475299 4.5230966 1.5244333 0.0017284719 -0.022514998 4.5438832 + 39390 20.030376 0.98311473 23.509901 6.0343713 4.5601907 1.4741805 0.001701793 -0.022443211 4.5809321 + 39400 20.316294 0.98946097 23.546079 6.0292932 4.5455965 1.4836967 0.0017303187 -0.022397952 4.5662641 + 39410 20.537048 1.0114482 23.876119 6.0334919 4.5168254 1.5166665 0.0018940632 -0.022998272 4.5379296 + 39420 20.379097 0.98879362 23.593858 6.0026748 4.5199787 1.482696 0.0017922331 -0.021952409 4.5401389 + 39430 20.494764 1.0058649 23.653577 6.0248993 4.5166048 1.5082945 0.0017550663 -0.021558885 4.5364086 + 39440 20.006581 0.99773742 23.484471 6.0394489 4.5433417 1.4961073 0.0018642211 -0.021932537 4.56341 + 39450 20.189641 1.0174574 23.884487 6.0451814 4.5195039 1.5256774 0.0017460054 -0.021050393 4.5388083 + 39460 20.063132 1.028854 23.765553 6.0551974 4.5124308 1.5427666 0.0019223941 -0.021724556 4.5322329 + 39470 19.985075 1.0123116 23.452234 6.0522841 4.5343228 1.5179613 0.0019900899 -0.022344463 4.5546772 + 39480 20.124074 1.0074148 23.580032 6.0186225 4.5080041 1.5106185 0.0019746021 -0.022484996 4.5285145 + 39490 20.231757 0.99242494 23.805309 6.0155343 4.5273932 1.4881412 0.0017802738 -0.022131027 4.5477439 + 39500 20.247752 0.99966362 23.765219 6.0243257 4.5253301 1.4989956 0.001617417 -0.021635786 4.5453485 + 39510 20.022679 0.99736994 23.825594 6.0404658 4.5449096 1.4955562 0.0016067115 -0.021565273 4.5648682 + 39520 20.225399 1.0077226 24.017843 6.0328768 4.5217968 1.51108 0.0017412861 -0.022223785 4.5422793 + 39530 20.191278 1.0143266 23.746533 6.0240921 4.5031093 1.5209828 0.0017865217 -0.022390612 4.5237134 + 39540 20.373873 1.0040659 23.501589 6.0487235 4.5431267 1.5055969 0.0018723002 -0.022659428 4.5639138 + 39550 20.184564 1.0202417 23.677263 6.0578452 4.5279928 1.5298524 0.0019122655 -0.022750932 4.5488315 + 39560 20.126669 1.0308333 23.964051 6.0764964 4.5307618 1.5457346 0.001899086 -0.022772292 4.551635 + 39570 20.275216 1.0149414 23.723542 6.0414529 4.5195483 1.5219046 0.0020789 -0.023807464 4.5412768 + 39580 20.41085 1.0126754 23.753984 6.0596268 4.54112 1.5185068 0.002093367 -0.024108844 4.5631355 + 39590 20.282445 1.0131636 23.889576 6.0674216 4.5481828 1.5192389 0.0021226594 -0.023829046 4.5698891 + 39600 20.453266 1.0355849 23.941071 6.0707456 4.517886 1.5528596 0.0020901997 -0.023680814 4.5394766 + 39610 20.20662 1.0093909 23.605743 6.0675302 4.5539486 1.5135817 0.0020430089 -0.02366148 4.5755671 + 39620 20.18662 1.041068 23.609707 6.0831402 4.5220586 1.5610815 0.0020512305 -0.023469464 4.5434769 + 39630 19.570221 1.0125133 23.753424 6.0671798 4.548916 1.5182637 0.0018101588 -0.022450237 4.5695561 + 39640 19.98462 1.0050024 23.761487 6.0541152 4.5471142 1.507001 0.0018066081 -0.022371085 4.5676787 + 39650 20.099585 1.0099733 23.485786 6.0445496 4.5300946 1.514455 0.0016269618 -0.021434572 4.5499022 + 39660 20.385954 1.0125557 23.726869 6.0311304 4.5128031 1.5183273 0.0015979475 -0.021166145 4.5323713 + 39670 19.806131 0.98134567 23.551397 6.0058308 4.534303 1.4715278 0.0015575085 -0.02081075 4.5535562 + 39680 20.014221 0.99717426 23.674963 6.0102227 4.5149599 1.4952628 0.0014255973 -0.020466294 4.5340006 + 39690 19.937954 0.99242185 23.557403 6.0072681 4.5191315 1.4881366 0.0013017403 -0.020155389 4.5379852 + 39700 20.228399 0.99019034 23.575766 6.0072972 4.5225067 1.4847904 0.001569437 -0.021380663 4.542318 + 39710 19.904096 1.0037197 23.529773 6.0336915 4.5286139 1.5050776 0.0018100687 -0.022329046 4.5491329 + 39720 19.451108 0.99430034 23.461298 6.0143714 4.523418 1.4909534 0.0018286348 -0.022846498 4.5444359 + 39730 20.213329 0.98924021 23.761371 6.0363252 4.5529595 1.4833657 0.0018059096 -0.022894777 4.5740484 + 39740 20.142143 1.0107069 23.57618 6.0204592 4.5049041 1.5155551 0.001502689 -0.021363096 4.5247646 + 39750 19.928855 0.99136462 23.741751 6.0437517 4.5572004 1.4865512 0.0012703865 -0.020317508 4.5762475 + 39760 20.204526 1.0181148 23.662398 6.0706559 4.5439927 1.5266632 0.0013698957 -0.020537994 4.5631608 + 39770 20.072866 1.0234005 23.652962 6.0727063 4.5381172 1.5345891 0.0014777633 -0.020933792 4.5575732 + 39780 20.189534 1.0192919 23.819966 6.0632917 4.5348635 1.5284282 0.0016266418 -0.021166234 4.5544031 + 39790 19.931155 1.012469 24.043181 6.0498092 4.5316119 1.5181973 0.0017646381 -0.022153656 4.552001 + 39800 19.945479 0.98962098 23.755063 6.0080478 4.5241112 1.4839367 0.0017174469 -0.021988245 4.544382 + 39810 20.115457 0.99472481 23.879598 6.0290484 4.5374585 1.4915899 0.0017945721 -0.022151205 4.5578152 + 39820 20.222446 1.0115851 23.824469 6.0260023 4.5091305 1.5168719 0.0019134545 -0.022270286 4.5294873 + 39830 19.97281 0.9986741 23.740192 6.0261215 4.5286097 1.4975118 0.0019850372 -0.022295235 4.5489199 + 39840 19.799556 1.0145852 23.716777 6.0412873 4.5199168 1.5213705 0.0020947538 -0.022683695 4.5405057 + 39850 20.009208 1.0063827 23.578909 6.021926 4.5128551 1.5090708 0.0022206052 -0.023128589 4.5337631 + 39860 20.140528 0.99380308 23.784033 6.0186391 4.5284314 1.4902077 0.0022227281 -0.023426228 4.5496349 + 39870 19.564824 1.0005851 23.399687 6.0401597 4.5397823 1.5003774 0.0021425626 -0.023319391 4.5609592 + 39880 19.820061 1.0068766 23.689477 6.0349999 4.5251885 1.5098115 0.0021196577 -0.023026324 4.5460951 + 39890 20.213299 0.99719785 23.582802 6.0449568 4.5496586 1.4952982 0.0019282026 -0.022078625 4.569809 + 39900 20.184566 1.0297396 23.762717 6.0795417 4.5354471 1.5440946 0.0017046517 -0.021319451 4.5550619 + 39910 20.214627 1.0074355 24.014443 6.0638756 4.5532262 1.5106495 0.0016984625 -0.021266723 4.5727944 + 39920 20.198245 1.0174789 23.782246 6.0539136 4.5282039 1.5257097 0.0016924692 -0.021443424 4.5479549 + 39930 19.833901 0.98293803 23.743033 5.9994654 4.5255498 1.4739156 0.0016017435 -0.021106195 4.5450543 + 39940 20.113094 0.98906307 24.037458 6.008826 4.5257259 1.4831001 0.0015848241 -0.020686416 4.5448275 + 39950 20.144406 0.9798903 23.485612 6.0269782 4.5576327 1.4693455 0.0017410342 -0.021496013 4.5773877 + 39960 19.737587 1.0243293 23.831234 6.0677073 4.5317254 1.5359819 0.0019574693 -0.02254255 4.5523105 + 39970 19.840254 1.0114132 23.944527 6.0423483 4.5257341 1.5166141 0.0018022526 -0.021761213 4.5456931 + 39980 19.927926 1.0169877 23.750244 6.0556808 4.5307078 1.524973 0.0016100715 -0.021065756 4.5501635 + 39990 20.121592 1.0055093 23.617198 6.0597478 4.5519866 1.5077612 0.0013263917 -0.019845548 4.5705058 + 40000 20.287704 0.99949877 23.714678 6.0415731 4.5428247 1.4987484 0.0013120453 -0.019462374 4.560975 + 40010 20.445959 1.0206285 23.682598 6.0621332 4.5317008 1.5304325 0.0014201138 -0.019608378 4.5498891 + 40020 20.162458 1.0170412 23.816061 6.0555422 4.5304889 1.5250533 0.00149878 -0.019874433 4.5488646 + 40030 20.223364 1.0086061 23.583699 6.0666596 4.5542547 1.5124048 0.0015775831 -0.020701475 4.5733786 + 40040 19.860349 1.0220394 23.800923 6.0389419 4.5063938 1.5325481 0.0016965184 -0.021530773 4.5262281 + 40050 20.197034 1.0069152 23.758598 6.0283091 4.5184398 1.5098693 0.0018080944 -0.02254166 4.5391734 + 40060 20.344679 1.0016025 23.635034 6.0411671 4.5392642 1.5019029 0.0018715357 -0.022914375 4.560307 + 40070 20.044638 1.0217231 23.549056 6.0445706 4.5124968 1.5320738 0.0019767569 -0.02330316 4.5338232 + 40080 20.543664 1.0030982 23.590928 6.0323968 4.528251 1.5041458 0.0020178419 -0.023938475 4.5501716 + 40090 20.109838 1.0073479 23.940532 6.0545814 4.5440633 1.5105182 0.0020696156 -0.023861581 4.5658552 + 40100 20.456197 1.0222519 23.819218 6.0550902 4.5222235 1.5328667 0.0021961368 -0.024584218 4.5446116 + 40110 20.156385 1.0222566 23.760763 6.0571018 4.5242281 1.5328738 0.0023138555 -0.024998478 4.5469127 + 40120 20.072595 1.0024888 23.548335 6.0495277 4.5462957 1.503232 0.0022019405 -0.024143447 4.5682372 + 40130 19.790335 1.0177464 23.546436 6.0459631 4.5198525 1.5261107 0.0021212034 -0.023710382 4.5414416 + 40140 20.119373 1.0459968 23.877327 6.0877056 4.5192335 1.5684722 0.001988473 -0.022657847 4.5399028 + 40150 20.196704 1.043936 23.812093 6.0983871 4.5330051 1.565382 0.0017458958 -0.021529982 4.5527892 + 40160 20.425048 1.0225628 23.680189 6.0804813 4.5471483 1.533333 0.001602244 -0.021109302 4.5666554 + 40170 20.291838 1.0242507 23.96865 6.0829583 4.5470943 1.535864 0.001751659 -0.021580657 4.5669233 + 40180 20.212194 1.0320192 23.522218 6.0837665 4.5362537 1.5475127 0.0017766125 -0.021681031 4.5561582 + 40190 20.251277 1.0003453 23.629785 6.0579675 4.5579496 1.5000178 0.0016837768 -0.021611793 4.5778777 + 40200 20.466747 1.0270274 23.862824 6.0695134 4.5294859 1.5400275 0.0017570841 -0.02223212 4.5499609 + 40210 20.495499 1.0350461 23.822268 6.0603507 4.5082991 1.5520516 0.0018673995 -0.022827339 4.529259 + 40220 19.702459 1.0135831 23.919868 6.0413144 4.5214465 1.5198679 0.0017297344 -0.022426485 4.5421433 + 40230 20.107873 1.0161017 23.628246 6.0514453 4.5278007 1.5236445 0.0015128171 -0.021238105 4.547526 + 40240 20.10996 1.0053595 23.989517 6.0322618 4.5247253 1.5075365 0.0012926092 -0.020085013 4.5435177 + 40250 20.157722 0.99833705 23.721428 6.028127 4.5311205 1.4970064 0.0013612083 -0.02029212 4.5500515 + 40260 20.16754 1.0030216 23.671374 6.0680532 4.5640222 1.5040309 0.0013416094 -0.020038895 4.5827195 + 40270 20.594352 1.0259259 23.598169 6.1027113 4.5643354 1.5383759 0.0012694246 -0.019866565 4.5829325 + 40280 20.431022 1.0479797 23.730784 6.1008842 4.5294386 1.5714456 0.0012875008 -0.020218125 4.5483693 + 40290 20.059577 1.0257142 23.735169 6.0731162 4.5350578 1.5380584 0.00118137 -0.019472013 4.5533484 + 40300 19.935399 1.0192448 23.887584 6.0571562 4.5287986 1.5283576 0.0013762934 -0.019909547 4.5473318 + 40310 20.120746 1.0100881 23.529777 6.0251513 4.5105242 1.514627 0.0015298431 -0.020047763 4.5290422 + 40320 20.218039 1.0063106 23.857627 6.0371861 4.5282234 1.5089627 0.0015245619 -0.019905334 4.5466042 + 40330 20.167489 1.0388948 23.932 6.0846085 4.5267857 1.5578228 0.0015473191 -0.020705701 4.5459441 + 40340 20.118194 1.0386382 24.026337 6.0674738 4.5100358 1.557438 0.0016998071 -0.021766511 4.5301025 + 40350 20.320773 1.0142306 23.520872 6.0768746 4.5560357 1.5208388 0.0018522762 -0.022376401 4.5765599 + 40360 20.248507 1.017182 24.008452 6.0589749 4.5337104 1.5252644 0.0018886662 -0.0225147 4.5543365 + 40370 19.810349 1.0074988 23.613409 6.0307223 4.5199779 1.5107444 0.0018767989 -0.022242065 4.5403432 + 40380 19.67256 0.99473314 23.459076 6.0304797 4.5388773 1.4916023 0.0019784595 -0.022879894 4.5597788 + 40390 20.076505 0.9949236 23.715646 6.0347908 4.5429028 1.4918879 0.0020535684 -0.022696821 4.5635461 + 40400 19.956263 1.0088005 23.704862 6.0407926 4.5280963 1.5126963 0.0021151667 -0.023115273 4.5490965 + 40410 20.217381 0.99924816 23.333749 6.0372015 4.5388289 1.4983726 0.0020138752 -0.023074836 4.5598899 + 40420 20.24149 1.008771 23.758147 6.0650153 4.5523632 1.5126521 0.0018262876 -0.02222273 4.5727597 + 40430 20.394195 1.0222377 23.719039 6.0663377 4.5334922 1.5328455 0.0016637691 -0.02165365 4.5534821 + 40440 20.424906 1.0214869 23.696334 6.0363321 4.5046125 1.5317195 0.0014997576 -0.020919887 4.5240327 + 40450 20.336503 1.0010426 23.573878 6.013824 4.5127606 1.5010634 0.0016977123 -0.021843207 4.5329061 + 40460 20.260783 1.009053 24.017758 6.0403281 4.5272531 1.513075 0.0014359323 -0.020732359 4.5465495 + 40470 20.357157 1.018335 23.805717 6.0287783 4.501785 1.5269933 0.0010096675 -0.018690146 4.5194655 + 40480 20.30018 1.0262357 23.871555 6.0628159 4.5239754 1.5388405 0.00096849029 -0.018353989 4.5413609 + 40490 20.240706 1.0265679 23.777526 6.0695593 4.5302208 1.5393385 0.0011248826 -0.019357125 4.548453 + 40500 20.250373 1.0163416 23.925896 6.0910966 4.5670923 1.5240043 0.0012798768 -0.020282122 4.5860946 + 40510 20.006875 1.0386308 23.810284 6.0897801 4.5323533 1.5574269 0.0014426795 -0.020779643 4.5516902 + 40520 20.420951 1.0321861 23.919755 6.0779541 4.530191 1.5477631 0.0016767357 -0.021863455 4.5503777 + 40530 20.137594 1.0045652 23.575001 6.0664281 4.5600826 1.5063455 0.0017826121 -0.022094364 4.5803943 + 40540 20.111668 1.0338408 23.818805 6.0849267 4.5346824 1.5502443 0.0017063737 -0.021706794 4.5546828 + 40550 20.284556 1.0280091 23.83434 6.0878319 4.5463322 1.5414997 0.0017795966 -0.022261747 4.5668144 + 40560 20.1447 1.0341553 23.623757 6.1065022 4.5557863 1.5507158 0.0017794094 -0.0225795 4.5765864 + 40570 20.183642 1.0404365 23.726481 6.1040779 4.5439433 1.5601346 0.0016198048 -0.022136074 4.5644596 + 40580 19.970497 1.0306572 24.157849 6.1015054 4.556035 1.5454704 0.0014527276 -0.02176663 4.5763489 + 40590 20.252012 1.038045 24.058984 6.0802356 4.5236871 1.5565485 0.0011574089 -0.020204411 4.5427341 + 40600 20.033552 1.0273464 23.576642 6.0886997 4.5481938 1.5405059 0.0011401506 -0.019695529 4.5667492 + 40610 20.318292 1.0467475 23.702266 6.1029961 4.5333982 1.5695979 0.0011567723 -0.019889361 4.5521308 + 40620 20.028865 1.0209085 23.848805 6.0619275 4.5310752 1.5308523 0.0014015266 -0.020804766 4.5504784 + 40630 20.012563 1.0267311 23.692137 6.0951757 4.5555924 1.5395833 0.0015642642 -0.021553231 4.5755814 + 40640 20.168087 1.0184635 24.090506 6.0692918 4.5421057 1.5271861 0.0014226216 -0.021458549 4.5621416 + 40650 20.345415 0.99731325 23.796201 6.0215038 4.5260326 1.4954712 0.0013765298 -0.021223363 4.5458794 + 40660 20.400704 1.0048103 23.4117 6.0316827 4.5249696 1.5067131 0.001555866 -0.021741281 4.545155 + 40670 19.994426 1.0082668 23.789038 6.0350984 4.5232023 1.5118961 0.0018966851 -0.023253058 4.5445587 + 40680 19.966165 1.0104549 24.11657 6.0354092 4.5202321 1.5151771 0.0020502413 -0.023960561 4.5421424 + 40690 20.041172 0.9764427 23.496482 6.0237901 4.5596143 1.4641758 0.0020523177 -0.023732788 4.5812948 + 40700 20.16462 1.0137426 23.860891 6.0414603 4.5213532 1.5201071 0.0018686196 -0.022834763 4.5423194 + 40710 19.884428 1.0147999 23.617887 6.0503425 4.52865 1.5216925 0.0015802287 -0.021371716 4.5484415 + 40720 20.297556 1.0114183 23.449769 6.0433929 4.5267711 1.5166217 0.0015674461 -0.021055901 4.5462596 + 40730 20.319354 0.99625388 23.598928 6.041408 4.5475253 1.4938827 0.0016030856 -0.02110888 4.5670311 + 40740 19.67785 1.0081975 23.360875 6.0379426 4.5261505 1.5117922 0.001579923 -0.020732551 4.5453031 + 40750 20.08799 0.97857516 23.400788 6.008041 4.5406676 1.4673735 0.001381742 -0.020445235 4.5597311 + 40760 19.94509 1.0098131 23.803778 6.0406912 4.5264765 1.5142148 0.0014121303 -0.020786727 4.5458511 + 40770 20.275358 1.005138 23.507276 6.0467244 4.5395199 1.5072045 0.001334156 -0.020212242 4.558398 + 40780 20.10438 1.0105157 23.706549 6.0809736 4.5657054 1.5152682 0.0013187193 -0.02009327 4.58448 + 40790 19.976926 1.0195846 23.719121 6.0644284 4.5355613 1.5288671 0.0015668867 -0.020924059 4.5549185 + 40800 20.096896 1.0179755 23.532857 6.0484475 4.5219933 1.5264542 0.0016325988 -0.020974331 4.541335 + 40810 20.168327 1.007296 23.764598 6.0521307 4.5416903 1.5104404 0.0016416956 -0.021029139 4.5610777 + 40820 20.032664 1.0098746 23.888435 6.0306859 4.516379 1.514307 0.0015613162 -0.020961917 4.5357796 + 40830 20.18894 1.0120122 24.101477 6.0503046 4.5327923 1.5175123 0.0016740658 -0.021121944 4.5522401 + 40840 20.293474 0.98903441 23.720843 6.0160257 4.5329686 1.4830571 0.0018372474 -0.021697113 4.5528285 + 40850 20.234254 1.0148478 23.447142 6.0520984 4.5303341 1.5217643 0.0017572643 -0.02167163 4.5502485 + 40860 19.8949 1.0016135 23.632082 6.0493175 4.5473981 1.5019195 0.0016334293 -0.021183504 4.5669482 + 40870 20.308794 1.0390997 23.932656 6.0744681 4.5163381 1.55813 0.0016214032 -0.021075324 4.535792 + 40880 20.041105 1.0143926 23.694892 6.0442715 4.5231897 1.5210817 0.0017249034 -0.021743409 4.5432082 + 40890 20.192584 0.98911244 23.385235 6.0131357 4.5299616 1.4831741 0.0016819138 -0.021726046 4.5500057 + 40900 19.890217 0.99102346 23.475991 6.0141617 4.528122 1.4860397 0.0017458241 -0.021969558 4.5483458 + 40910 20.468982 0.99983949 23.563009 6.0211361 4.5218768 1.4992593 0.0018026596 -0.022088212 4.5421624 + 40920 20.46803 0.98613564 23.791809 6.0002985 4.5215881 1.4787104 0.0017434384 -0.022212173 4.5420568 + 40930 19.515903 0.98082625 23.736387 5.9958633 4.5251144 1.470749 0.0018377874 -0.022914839 4.5461914 + 40940 19.601752 0.98949427 23.58645 6.0077836 4.524037 1.4837467 0.0020674732 -0.023796566 4.5457661 + 40950 20.157267 1.0056302 23.759236 6.0372589 4.5293164 1.5079424 0.0021468357 -0.023901576 4.5510712 + 40960 20.208477 1.0116942 23.695359 6.03613 4.5190945 1.5170355 0.0021943 -0.02416094 4.5410611 + 40970 20.25719 1.0142916 23.805003 6.0507999 4.5298696 1.5209303 0.0022147176 -0.024315185 4.55197 + 40980 20.252378 0.99586653 23.569254 6.0254448 4.532143 1.4933019 0.0023780146 -0.025053216 4.5548182 + 40990 20.157851 0.99232676 23.738397 5.9994294 4.5114354 1.487994 0.0024445031 -0.025003814 4.5339947 + 41000 20.205868 0.99544225 23.60894 6.0259159 4.5332503 1.4926657 0.0022577368 -0.024137637 4.5551302 + 41010 20.212176 1.0068801 23.8823 6.0619215 4.5521048 1.5098167 0.0020986128 -0.023250007 4.5732562 + 41020 20.349969 1.0149898 23.815047 6.0651771 4.5431999 1.5219772 0.0020110702 -0.022791297 4.5639801 + 41030 20.439888 1.0149884 23.46338 6.075873 4.5538979 1.5219752 0.0017459204 -0.021313201 4.5734652 + 41040 20.426132 1.0115587 23.87509 6.0800085 4.5631761 1.5168323 0.0016669355 -0.021153052 4.5826623 + 41050 20.188096 1.0184639 23.500502 6.067652 4.5404655 1.5271866 0.0018044191 -0.022134591 4.5607956 + 41060 20.31714 1.010095 23.932172 6.0641628 4.5495253 1.5146375 0.0017888934 -0.022342724 4.5700791 + 41070 20.179297 0.99957404 23.647908 6.0375828 4.5387215 1.4988613 0.0017023179 -0.022199741 4.559219 + 41080 20.251252 0.998137 23.708699 6.0157191 4.5190126 1.4967064 0.0018546356 -0.022576911 4.5397349 + 41090 20.247294 0.99461044 23.842406 6.025043 4.5336246 1.4914184 0.001824864 -0.022532866 4.5543326 + 41100 20.265725 0.99401513 23.875 6.01652 4.5259943 1.4905257 0.0018785576 -0.022701039 4.5468168 + 41110 20.160397 0.99519857 23.765228 6.0269259 4.5346257 1.4923003 0.0017783676 -0.022236813 4.5550841 + 41120 20.428138 1.0131158 23.712109 6.0563782 4.537211 1.5191672 0.0017717534 -0.022360629 4.5577999 + 41130 20.327667 1.0048359 23.827397 6.036444 4.5296926 1.5067514 0.0017193302 -0.022025872 4.5499992 + 41140 20.434743 1.0000097 23.48515 6.0251661 4.5256515 1.4995146 0.0016099228 -0.021304932 4.5453465 + 41150 20.422976 0.98941068 23.772944 6.0104302 4.5268088 1.4836213 0.0016147893 -0.02115891 4.546353 + 41160 20.093082 0.99624244 24.009731 6.0135548 4.5196893 1.4938655 0.0016412187 -0.021098147 4.5391462 + 41170 20.25757 1.000301 23.643233 6.0069209 4.5069696 1.4999514 0.0017711356 -0.021793246 4.5269917 + 41180 20.027007 0.99719978 23.749214 6.0364692 4.5411681 1.4953011 0.0018547629 -0.022025332 4.5613387 + 41190 19.964226 1.0129093 23.779996 6.0507828 4.5319254 1.5188574 0.0018398053 -0.021934121 4.5520197 + 41200 20.238776 1.0096772 23.522361 6.0367922 4.5227813 1.5140109 0.0018121817 -0.021693647 4.5426628 + 41210 20.285477 0.99597454 23.677284 6.0333887 4.5399249 1.4934638 0.0016919666 -0.020886302 4.5591192 + 41220 20.430427 1.012341 23.634833 6.0568949 4.5388895 1.5180053 0.0014574699 -0.020395063 4.5578271 + 41230 20.291851 1.0260195 23.963893 6.0726538 4.5341375 1.5385163 0.0012733645 -0.020220372 4.5530845 + 41240 20.090785 1.0153174 23.830043 6.0562869 4.5338186 1.5224684 0.0014155653 -0.02101037 4.5534134 + 41250 20.296442 0.99836072 23.653121 6.0124211 4.5153792 1.4970419 0.0015708941 -0.02173789 4.5355462 + 41260 20.364488 1.0050371 23.427356 6.0158742 4.5088211 1.5070531 0.0014935095 -0.021600677 4.5289282 + 41270 20.096874 1.0038121 23.811351 6.0583082 4.553092 1.5052162 0.0015398232 -0.021557149 4.5731094 + 41280 20.319983 1.0268378 23.871399 6.0826023 4.542859 1.5397432 0.0013751427 -0.020369745 4.5618536 + 41290 20.461235 1.04062 23.876265 6.1105563 4.5501466 1.5604097 0.0011990002 -0.01927832 4.5682259 + 41300 20.335266 1.0324781 23.808596 6.0927437 4.5445429 1.5482009 0.0013002318 -0.019755948 4.5629986 + 41310 19.875595 1.028697 23.960968 6.0980027 4.5554715 1.5425312 0.0016331957 -0.021179099 4.5750174 + 41320 19.789079 1.0286201 23.821262 6.0822187 4.5398028 1.5424159 0.0018020375 -0.022058747 4.5600595 + 41330 20.293248 1.0245661 23.659422 6.0727119 4.536375 1.5363368 0.0018218612 -0.022075876 4.556629 + 41340 19.952186 1.0241551 23.63613 6.0711485 4.535428 1.5357205 0.0019477698 -0.022940115 4.5564204 + 41350 20.10405 0.98735619 23.763558 6.0405938 4.5600532 1.4805406 0.0019871852 -0.023278789 4.5813448 + 41360 20.190311 1.0119367 23.758902 6.0338735 4.5164744 1.5173991 0.0020329463 -0.023594564 4.538036 + 41370 20.273713 1.0087671 23.642442 6.0462209 4.5335747 1.5126462 0.0019697604 -0.023367733 4.5549726 + 41380 20.060783 1.0142931 23.43249 6.0304052 4.5094726 1.5209326 0.0020051118 -0.023989245 4.5314567 + 41390 20.370835 1.0008435 23.969759 6.0238836 4.5231187 1.5007648 0.0020556475 -0.024657139 4.5457202 + 41400 20.162906 1.0039909 23.66408 6.0412123 4.5357279 1.5054844 0.0020155353 -0.024116297 4.5578287 + 41410 20.048541 0.99783566 23.799551 6.0310578 4.5348032 1.4962546 0.0019886943 -0.023597455 4.556412 + 41420 19.948265 1.0024899 23.649568 6.0603206 4.557087 1.5032336 0.0020039928 -0.023183292 4.5782663 + 41430 20.191152 1.0134252 23.648933 6.0584481 4.538817 1.5196311 0.002004256 -0.022880022 4.5596928 + 41440 20.289657 1.0060493 23.781789 6.0565178 4.5479468 1.508571 0.0019990531 -0.022762903 4.5687107 + 41450 19.984053 1.008629 23.80772 6.0273298 4.5148906 1.5124392 0.0019748241 -0.022816736 4.5357326 + 41460 19.654655 1.016638 23.523956 6.0389521 4.5145035 1.5244486 0.0018207498 -0.02218337 4.5348661 + 41470 20.309263 1.0043247 23.498842 6.0388287 4.5328439 1.5059848 0.0019124929 -0.022710161 4.5536415 + 41480 20.059396 1.0173409 23.635958 6.067522 4.5420193 1.5255027 0.001930002 -0.022936692 4.563026 + 41490 19.963374 1.0092712 23.848137 6.0439257 4.5305234 1.5134022 0.0018492039 -0.022539478 4.5512137 + 41500 20.110347 0.99968009 23.747378 6.0320302 4.5330099 1.4990203 0.0016980461 -0.021947456 4.5532594 + 41510 20.192746 0.98753831 23.51342 6.021778 4.5409643 1.4808137 0.0016624992 -0.021880495 4.5611823 + 41520 20.148806 1.0033339 23.487044 6.0239519 4.5194527 1.5044992 0.0017362917 -0.02206436 4.5397807 + 41530 20.197668 0.98509171 23.638545 6.0266242 4.5494792 1.477145 0.0016940187 -0.022226087 4.5700113 + 41540 20.196165 0.99652015 23.635124 6.0228692 4.5285872 1.494282 0.0015955429 -0.021761409 4.5487531 + 41550 20.436241 0.98694913 23.44373 6.0164453 4.5365151 1.4799302 0.0014986582 -0.02129685 4.5563133 + 41560 20.120335 1.0141474 23.3482 6.0188214 4.4981074 1.5207141 0.0014420645 -0.020720216 4.5173855 + 41570 20.354699 1.0055804 23.84653 6.0435514 4.5356836 1.5078678 0.0014504216 -0.020444041 4.5546772 + 41580 20.083035 0.99938401 23.847355 6.0277564 4.5291801 1.4985763 0.0015589881 -0.020991171 4.5486123 + 41590 20.114387 1.0004743 24.012514 6.0206974 4.5204863 1.5002111 0.0016638583 -0.021377015 4.5401995 + 41600 19.970471 0.98801068 23.381969 6.0206684 4.5391464 1.481522 0.0018165618 -0.02235118 4.559681 + 41610 19.735476 0.98412886 23.711938 6.0185972 4.542896 1.4757012 0.001758844 -0.021953278 4.5630904 + 41620 20.076472 0.99098907 23.724464 6.0280666 4.5420785 1.4859881 0.001678734 -0.020975746 4.5613755 + 41630 20.169775 0.99473482 23.608641 6.014908 4.5233031 1.4916049 0.0018223289 -0.021521982 4.5430028 + 41640 20.086228 1.0051485 23.877366 6.0059283 4.4987082 1.5072202 0.0017722232 -0.021408908 4.5183448 + 41650 20.104054 0.98993221 23.741022 6.0174403 4.5330369 1.4844033 0.0018166795 -0.022239028 4.5534593 + 41660 20.359305 0.98887384 23.847068 6.0058522 4.5230358 1.4828163 0.0019746756 -0.023084467 4.5441456 + 41670 20.177981 1.0071642 23.53329 6.0223003 4.5120575 1.5102428 0.0020521132 -0.023797569 4.533803 + 41680 19.857974 1.0104684 23.910724 6.0217831 4.5065857 1.5151974 0.0019428126 -0.023657286 4.5283001 + 41690 19.960396 0.98536399 24.006154 6.001074 4.5235207 1.4775533 0.001983438 -0.02377069 4.5453079 + 41700 19.887035 1.0151086 23.546055 6.0321958 4.5100405 1.5221553 0.0020354037 -0.023842104 4.5318472 + 41710 20.325097 0.98953279 23.662037 6.0271204 4.543316 1.4838044 0.0018637717 -0.022929354 4.5643816 + 41720 20.253225 0.97083151 23.584269 5.9990649 4.5433031 1.4557619 0.0015768455 -0.021131347 4.5628576 + 41730 20.274938 0.9989807 23.792921 6.0003182 4.5023466 1.4979716 0.0013771678 -0.019891505 4.520861 + 41740 20.207539 1.0046336 23.688038 6.0150538 4.5086056 1.5064481 0.0016072345 -0.021312343 4.5283108 + 41750 20.070816 1.0151561 23.397114 6.0354583 4.5132317 1.5222266 0.0017012064 -0.021976649 4.5335072 + 41760 20.367094 0.9847139 23.789601 6.0013889 4.5248104 1.4765785 0.001611782 -0.021345498 4.5445441 + 41770 19.925292 0.99103377 23.725528 5.9729443 4.4868892 1.4860551 0.0013612813 -0.020093498 4.5056214 + 41780 19.718657 0.98996842 23.694454 5.9982881 4.5138305 1.4844577 0.0013633028 -0.02013198 4.5325991 + 41790 19.877413 0.99186759 23.576698 6.0188686 4.5315632 1.4873055 0.0014813583 -0.020604289 4.5506861 + 41800 20.20979 0.9963897 23.800508 6.013478 4.5193916 1.4940864 0.0016188937 -0.021367924 4.5391407 + 41810 20.263549 0.99331359 23.749421 6.0262412 4.5367674 1.4894737 0.0017875143 -0.02222607 4.557206 + 41820 20.215442 0.98621442 23.493151 6.0229797 4.5441511 1.4788285 0.0018223509 -0.022681947 4.5650107 + 41830 20.19679 1.0312837 23.618191 6.0419331 4.4955232 1.5464099 0.0018407459 -0.022486013 4.5161685 + 41840 20.315437 1.0283854 23.839949 6.0748577 4.5327939 1.5420639 0.0019631438 -0.023115511 4.5539463 + 41850 20.190519 1.0359782 23.732744 6.0701942 4.5167449 1.5534493 0.0020600828 -0.023617379 4.5383022 + 41860 20.281606 1.0419484 23.809734 6.0814827 4.5190811 1.5624016 0.0020135514 -0.023405091 4.5404726 + 41870 20.151697 1.0301779 23.92954 6.0915558 4.5468041 1.5447517 0.0019197962 -0.02286546 4.5677497 + 41880 20.263014 1.0299692 23.854408 6.0796621 4.5352233 1.5444388 0.0016178612 -0.021595164 4.5552006 + 41890 20.295567 1.0168004 23.703335 6.0819967 4.5573044 1.5246923 0.0014796868 -0.020525436 4.5763502 + 41900 20.37271 1.0309934 23.90223 6.0856012 4.5396266 1.5459747 0.0014425651 -0.019846262 4.5580303 + 41910 20.241643 1.0380523 23.938258 6.0756425 4.519083 1.5565595 0.0014623084 -0.020694702 4.5383154 + 41920 20.428407 1.0194017 23.901506 6.0834251 4.5548322 1.5285929 0.001639479 -0.021546214 4.574739 + 41930 20.194241 1.0270127 23.768309 6.0749161 4.5349105 1.5400056 0.0018425392 -0.021817104 4.5548851 + 41940 20.098259 1.0153569 23.569847 6.0870857 4.5645581 1.5225277 0.0019584397 -0.022123747 4.5847234 + 41950 20.271631 1.0233979 23.854467 6.0518066 4.5172214 1.5345852 0.0021273095 -0.022872626 4.5379667 + 41960 20.397823 1.0218832 23.949523 6.0607008 4.5283869 1.5323138 0.0020986968 -0.023284072 4.5495723 + 41970 20.277731 1.0317944 23.722595 6.0871969 4.5400212 1.5471757 0.0019275513 -0.022663908 4.5607576 + 41980 20.313231 1.0225445 23.522283 6.0741593 4.5408538 1.5333055 0.0017757282 -0.022065126 4.5611432 + 41990 20.149051 1.0327477 23.782785 6.0623595 4.5137543 1.5486052 0.0018564773 -0.022245393 4.5341432 + 42000 20.078259 1.0164171 23.744123 6.0877761 4.5636586 1.5241175 0.002000214 -0.022698249 4.5843566 + 42010 20.430977 1.0134455 23.685454 6.0744169 4.5547554 1.5196615 0.0018993871 -0.022717791 4.5755738 + 42020 20.447111 1.0343107 23.87162 6.0651511 4.5142022 1.550949 0.0018604182 -0.022527703 4.5348695 + 42030 20.496811 0.99747484 23.502021 6.0516234 4.5559099 1.4957135 0.0018373631 -0.022368599 4.5764411 + 42040 20.390482 1.009111 23.721612 6.0478328 4.5346709 1.5131619 0.0017848492 -0.022434553 4.5553206 + 42050 20.42002 1.0180135 23.806633 6.0544066 4.5278954 1.5265112 0.0018600528 -0.022902465 4.5489378 + 42060 20.225839 1.046682 23.679598 6.0878726 4.5183729 1.5694997 0.0019057378 -0.022823031 4.5392902 + 42070 20.137119 1.0306126 23.629105 6.1018076 4.556404 1.5454035 0.0020077683 -0.022856573 4.5772528 + 42080 20.247423 1.0247605 23.844895 6.1017374 4.565109 1.5366284 0.0020039243 -0.022699736 4.5858048 + 42090 20.270489 1.0414095 23.823507 6.1130231 4.5514297 1.5615935 0.002052064 -0.023287837 4.5726654 + 42100 20.142207 1.0361084 24.006255 6.1011808 4.5475363 1.5536445 0.0019964511 -0.02299159 4.5685314 + 42110 19.985056 1.0428429 23.878828 6.1140866 4.5503436 1.563743 0.0018715728 -0.022147069 4.5706191 + 42120 20.399684 1.0329783 23.3951 6.1035409 4.55459 1.5489509 0.001875885 -0.021682097 4.5743962 + 42130 20.285401 1.0473285 23.723938 6.1288784 4.5584093 1.5704691 0.0020549679 -0.022224408 4.5785787 + 42140 20.425803 1.0338904 23.775633 6.1208014 4.5704827 1.5503187 0.0020432991 -0.022278258 4.5907176 + 42150 20.465448 1.031002 23.758213 6.1035345 4.5575469 1.5459875 0.0017789152 -0.020467199 4.5762352 + 42160 20.193339 1.0346741 23.766171 6.0903425 4.5388487 1.5514938 0.0014575756 -0.019594501 4.5569856 + 42170 19.858734 1.0155814 24.013576 6.0755166 4.5526523 1.5228643 0.0014305746 -0.018969057 4.5701908 + 42180 20.153909 1.0163025 23.6138 6.0514993 4.5275537 1.5239457 0.0014083952 -0.019291103 4.5454364 + 42190 20.324047 0.99765827 23.668275 6.0035147 4.5075262 1.4959886 0.0013598525 -0.019400349 4.5255667 + 42200 20.16865 0.98341014 23.746218 5.9902449 4.5156214 1.4746235 0.0013417965 -0.019308547 4.5335881 + 42210 20.324163 0.9715759 23.627311 5.9867997 4.5299217 1.4568781 0.0014999253 -0.019848756 4.5482705 + 42220 20.197454 1.0054055 23.99475 6.0283904 4.5207849 1.5076055 0.0015714005 -0.019917524 4.539131 + 42230 20.056187 1.005903 23.762749 6.0358955 4.527544 1.5083515 0.0017138072 -0.020648035 4.5464782 + 42240 20.069094 1.0026429 24.00654 6.0415077 4.5380448 1.503463 0.0018794693 -0.021334911 4.5575002 + 42250 20.281323 1.0136769 23.904374 6.0378292 4.5178207 1.5200085 0.0018209477 -0.021223417 4.5372232 + 42260 20.119719 1.0157948 23.676287 6.0265953 4.503411 1.5231843 0.0019424022 -0.022422349 4.5238909 + 42270 19.935856 1.0118734 23.753516 6.0489675 4.5316632 1.5173042 0.0018970093 -0.022259745 4.552026 + 42280 20.194111 1.000306 23.717048 6.0324853 4.5325266 1.4999588 0.0016054793 -0.021465137 4.5523862 + 42290 19.882568 1.0038226 23.582185 6.0373672 4.5321353 1.5052319 0.0016535551 -0.021630899 4.5521126 + 42300 19.904539 0.99468123 23.746759 6.0396344 4.5481099 1.4915245 0.0016818215 -0.021513721 4.5679418 + 42310 20.272093 0.9977326 23.599982 6.0342679 4.5381679 1.4961 0.0016392929 -0.021720039 4.5582486 + 42320 20.290892 1.0090117 23.969986 6.0477332 4.5347201 1.5130131 0.0017420418 -0.022316121 4.5552942 + 42330 20.155126 0.98762946 23.513068 6.0334107 4.5524604 1.4809504 0.0017393352 -0.022372874 4.5730939 + 42340 19.643759 1.0184312 23.822399 6.0339662 4.5068286 1.5271376 0.0017287617 -0.022110963 4.5272108 + 42350 20.103079 0.9935741 23.449465 6.0251267 4.5352623 1.4898644 0.0017247806 -0.022307017 4.5558446 + 42360 20.292008 1.0005434 23.724797 6.0562541 4.5559392 1.5003149 0.0015872459 -0.021419417 4.5757714 + 42370 20.171649 0.99979669 23.427879 6.0440636 4.5448685 1.4991951 0.0014801959 -0.020380934 4.5637692 + 42380 20.221874 1.0094749 23.821367 6.0318874 4.5181798 1.5137076 0.0014562243 -0.020092172 4.5368158 + 42390 20.411332 0.98989869 23.820332 6.0193296 4.5349765 1.4843531 0.0013171445 -0.018933358 4.5525927 + 42400 20.466789 0.99325722 23.567687 6.0122754 4.5228862 1.4893892 0.0013068471 -0.018923066 4.5405025 + 42410 19.996467 0.9975796 23.932974 6.0513838 4.5555132 1.4958706 0.0013753993 -0.020199219 4.574337 + 42420 20.326928 0.99935872 23.556549 6.0491626 4.5506242 1.4985384 0.0016629154 -0.021688795 4.5706501 + 42430 20.388669 0.99874289 23.933131 6.0338764 4.5362614 1.497615 0.0018431127 -0.02257653 4.5569948 + 42440 20.216385 1.0101421 23.726 6.0318884 4.5171804 1.514708 0.0018998496 -0.022920241 4.5382008 + 42450 20.112082 1.0043927 23.694941 6.0212753 4.5151885 1.5060868 0.0018412431 -0.022747505 4.5360948 + 42460 20.148382 0.99449585 23.527373 6.0042944 4.5130479 1.4912465 0.0016841179 -0.02237529 4.5337391 + 42470 20.334179 1.0051294 23.939019 6.0110115 4.50382 1.5071915 0.0016508395 -0.021699377 4.5238686 + 42480 20.251931 1.0164306 23.873561 6.0398382 4.5157006 1.5241376 0.0016065769 -0.020924664 4.5350187 + 42490 19.891331 1.0207266 23.577546 6.0590807 4.5285012 1.5305795 0.0015258448 -0.020903423 4.5478788 + 42500 20.37353 1.0347884 23.711877 6.0779838 4.5263186 1.5516652 0.0016165896 -0.021271337 4.5459733 + 42510 20.228403 1.0160981 23.776799 6.0532951 4.5296561 1.5236391 0.0016521709 -0.021638187 4.5496421 + 42520 20.252191 1.0335815 24.049843 6.0768258 4.5269703 1.5498555 0.0016065408 -0.021316406 4.5466801 + 42530 20.003227 1.0237041 23.549852 6.0832507 4.5482064 1.5350443 0.0014589285 -0.020889038 4.5676365 + 42540 20.239776 1.0200785 23.965168 6.0567991 4.5271914 1.5296077 0.0016210259 -0.021755637 4.547326 + 42550 20.368847 1.0041581 23.334278 6.0501277 4.5443926 1.5057351 0.0018576335 -0.022881886 4.5654169 + 42560 20.154929 1.0068132 23.565371 6.0269014 4.517185 1.5097163 0.0019833415 -0.023503146 4.5387048 + 42570 20.293801 1.0087082 23.657102 6.0245376 4.5119797 1.5125579 0.0020573141 -0.023968824 4.5338912 + 42580 20.123537 0.99690094 23.56164 6.0242826 4.5294297 1.494853 0.0020410305 -0.023818197 4.5512068 + 42590 19.918875 1.0196547 23.784623 6.0453888 4.5164166 1.5289722 0.0021555698 -0.024236628 4.5384977 + 42600 20.228092 1.0056577 23.84162 6.0423563 4.5343726 1.5079837 0.0023634953 -0.025120223 4.5571293 + 42610 20.169069 1.0082439 23.620746 6.0322838 4.5204222 1.5118617 0.0025193324 -0.025666113 4.5435689 + 42620 20.439626 1.0098318 23.745189 6.0231725 4.5089297 1.5142427 0.0025483341 -0.025526931 4.5319083 + 42630 20.593248 0.99839609 23.644539 6.0346423 4.5375474 1.4970949 0.0024073693 -0.024893005 4.560033 + 42640 20.330123 0.9956415 23.60844 6.0371552 4.5441907 1.4929644 0.0021752883 -0.024223147 4.5662386 + 42650 20.355194 1.0240149 23.73455 6.0584421 4.5229317 1.5355104 0.0020994835 -0.023733673 4.5445659 + 42660 20.03074 1.0094063 23.730758 6.050519 4.5369143 1.5136047 0.0021606114 -0.023748446 4.5585021 + 42670 20.141346 1.0227477 23.912682 6.0752439 4.5416336 1.5336102 0.0020651691 -0.023733002 4.5633015 + 42680 20.028386 0.99895849 23.875453 6.0516273 4.553689 1.4979383 0.0019244396 -0.023148432 4.574913 + 42690 20.265745 1.0112066 23.598693 6.0191675 4.5028632 1.5163044 0.001936041 -0.022873128 4.5238002 + 42700 20.028722 0.97519642 23.670353 6.0030027 4.5406957 1.462307 0.0017462509 -0.022199481 4.5611489 + 42710 20.022137 1.0131597 23.980393 6.0651482 4.5459152 1.519233 0.0016434605 -0.021749693 4.5660214 + 42720 20.282987 1.0227798 23.621774 6.0404758 4.5068174 1.5336583 0.0018105222 -0.022501525 4.5275084 + 42730 20.267022 1.0209091 23.753999 6.0524028 4.5215497 1.5308531 0.0017638478 -0.022286764 4.5420726 + 42740 20.108094 1.009068 23.763187 6.0502145 4.5371171 1.5130974 0.0018544552 -0.022666025 4.5579287 + 42750 19.665026 1.0341948 23.937879 6.0758781 4.5251029 1.5507752 0.0018885366 -0.022381554 4.545596 + 42760 19.993129 1.0208683 23.890237 6.0836547 4.5528627 1.530792 0.0017894109 -0.021803666 4.5728769 + 42770 19.941096 1.0091532 23.705443 6.0652447 4.5520194 1.5132252 0.0016309582 -0.021205976 4.5715945 + 42780 20.077282 1.0285359 23.846875 6.0681162 4.5258267 1.5422895 0.0016984572 -0.021816098 4.5459443 + 42790 20.457831 1.0085399 23.633055 6.0624643 4.5501587 1.5123056 0.001795452 -0.022428337 4.5707916 + 42800 20.192534 1.0129511 23.784324 6.0422548 4.5233346 1.5189202 0.0017578909 -0.022201085 4.5437778 + 42810 19.892638 1.0202876 23.794671 6.045946 4.5160248 1.5299212 0.0016047389 -0.02165436 4.5360745 + 42820 19.906216 1.0224583 23.972789 6.0825997 4.5494235 1.5331762 0.0016340302 -0.021645858 4.5694353 + 42830 20.242748 1.0203841 23.641533 6.0409119 4.510846 1.5300659 0.0014143887 -0.020484336 4.529916 + 42840 20.128622 0.99829484 23.678987 6.0383188 4.5413757 1.4969431 0.0014585344 -0.020649362 4.5605665 + 42850 20.175731 1.0145751 23.914408 6.044858 4.5235026 1.5213554 0.0013543141 -0.020470149 4.5426184 + 42860 20.262876 0.99811522 23.436633 6.0468843 4.5502106 1.4966738 0.0012910314 -0.020184147 4.5691037 + 42870 20.25746 0.99581799 24.038387 6.0427853 4.5495563 1.4932291 0.0013904816 -0.020141424 4.5683072 + 42880 20.104195 1.0005111 23.7164 6.0308244 4.530558 1.5002664 0.0011762916 -0.018729097 4.5481108 + 42890 20.073654 1.001362 23.569457 6.0366245 4.5350822 1.5015423 0.0013094253 -0.019382061 4.5531549 + 42900 20.311957 0.97969626 23.671619 6.0284096 4.559355 1.4690545 0.0013745463 -0.019509158 4.5774896 + 42910 20.26266 1.0256198 23.867745 6.0563571 4.5184401 1.5379169 0.0015602823 -0.019921278 4.5368011 + 42920 20.270648 1.0148107 23.415405 6.0722265 4.5505178 1.5217087 0.0017336521 -0.02125863 4.5700428 + 42930 20.166176 1.0232889 23.810287 6.0821224 4.5477006 1.5344217 0.0019732352 -0.022358327 4.5680857 + 42940 19.915453 1.0042187 23.786523 6.0585532 4.5527273 1.5058259 0.0019516365 -0.022303875 4.5730796 + 42950 19.903808 1.0050705 23.696952 6.0455292 4.538426 1.5071033 0.0017875324 -0.021967063 4.5586055 + 42960 20.139095 1.0079457 23.673703 6.051608 4.5401935 1.5114145 0.0017196561 -0.021991359 4.5604652 + 42970 20.131848 0.98855259 23.872717 5.9950245 4.5126899 1.4823346 0.0015065569 -0.021054598 4.5322379 + 42980 20.196913 0.99914906 23.41247 6.0200522 4.5218282 1.498224 0.001231047 -0.020129396 4.5407266 + 42990 20.160366 1.0000046 23.541287 6.0186136 4.5191067 1.4995069 0.0015236519 -0.020791344 4.5383744 + 43000 20.288707 1.0270112 23.673965 6.0509095 4.5109062 1.5400033 0.0018037694 -0.021995555 4.531098 + 43010 20.365155 0.99835734 23.81694 6.0550038 4.557967 1.4970368 0.0018654218 -0.022624125 4.5787257 + 43020 20.438574 1.0049173 23.792802 6.0374916 4.5306181 1.5068735 0.0019378577 -0.023052232 4.5517325 + 43030 20.408557 1.0080957 23.721355 6.0233433 4.5117038 1.5116395 0.0018921667 -0.02265626 4.5324679 + 43040 20.368064 1.0015679 24.040839 6.0304302 4.5285792 1.501851 0.0016673674 -0.021912 4.5488238 + 43050 20.482483 0.98729758 23.59613 6.0283245 4.5478717 1.4804527 0.0014609697 -0.021307203 4.567718 + 43060 20.326838 1.0185183 23.681197 6.0660254 4.5387571 1.5272683 0.0016179892 -0.021847571 4.5589867 + 43070 20.113219 1.0076044 23.355036 6.0305015 4.5195987 1.5109028 0.0017966207 -0.022775938 4.540578 + 43080 20.401336 1.0045343 23.765197 6.0223721 4.5160729 1.5062992 0.0018923029 -0.023036308 4.5372169 + 43090 20.430592 0.98003253 23.652424 6.0166341 4.5470753 1.4695588 0.0019838391 -0.023518876 4.5686104 + 43100 20.441024 0.9998826 23.63724 6.0060202 4.5066962 1.499324 0.001961484 -0.023529203 4.5282639 + 43110 20.300665 0.99738951 23.552704 6.0039254 4.5083398 1.4955856 0.0019331327 -0.02320226 4.5296089 + 43120 20.136749 0.99282536 23.571664 6.0262282 4.5374865 1.4887416 0.0018248739 -0.022819779 4.5584814 + 43130 20.072861 0.99336391 23.710374 6.0148479 4.5252987 1.4895492 0.0018584692 -0.022796431 4.5462367 + 43140 20.387242 1.0070559 24.036287 6.0457206 4.5356404 1.5100803 0.0017918777 -0.022295514 4.556144 + 43150 20.316916 1.0073136 23.768638 6.0402375 4.5297707 1.5104668 0.0018866564 -0.022123876 4.550008 + 43160 20.137834 1.0142148 23.745829 6.041351 4.520536 1.5208151 0.0018391058 -0.021802875 4.5404997 + 43170 20.177991 1.0100541 23.98077 6.0443601 4.529784 1.5145761 0.0019686303 -0.022585925 4.5504013 + 43180 19.918257 1.0310715 23.774865 6.0835482 4.5374565 1.5460917 0.0020712163 -0.023182028 4.5585674 + 43190 19.941905 1.0263738 23.942755 6.0869015 4.5478539 1.5390476 0.0020701614 -0.023319519 4.5691033 + 43200 20.328361 1.0215672 23.689204 6.0555362 4.5236961 1.53184 0.0022682153 -0.024258142 4.5456861 + 43210 20.436722 1.0102271 23.606372 6.0287804 4.5139448 1.5148355 0.0023667071 -0.024966501 4.5365446 + 43220 20.468657 1.0108211 23.328219 6.052781 4.5370547 1.5157263 0.0022804413 -0.024477336 4.5592516 + 43230 20.285147 1.0155006 23.523313 6.0423223 4.5195792 1.5227431 0.0021089549 -0.024137614 4.5416079 + 43240 20.346789 1.0022448 23.933441 6.060368 4.5575019 1.5028661 0.001867117 -0.022896907 4.5785317 + 43250 19.945527 1.0335933 23.558479 6.0809588 4.5310857 1.5498731 0.0018995929 -0.022897397 4.5520835 + 43260 20.252839 1.0379694 24.037355 6.0929358 4.5365007 1.5564351 0.0019054627 -0.023008994 4.5576043 + 43270 20.204069 1.0244726 23.779408 6.0676667 4.5314699 1.5361967 0.001673577 -0.02212454 4.5519209 + 43280 20.24754 0.99791271 23.520614 6.042081 4.5457109 1.4963701 0.0014499908 -0.020866783 4.5651277 + 43290 20.154972 0.99975703 23.919102 6.0463342 4.5471985 1.4991357 0.0014489213 -0.021042219 4.5667918 + 43300 20.027671 1.0022614 23.699409 6.0503234 4.5474325 1.5028909 0.0015194969 -0.021563506 4.5674765 + 43310 20.197899 1.0280662 23.678603 6.0654549 4.5238696 1.5415852 0.001654473 -0.021922268 4.5441374 + 43320 20.22415 1.0057813 23.794178 6.0601658 4.5519967 1.5081691 0.0015963704 -0.021402497 4.5718028 + 43330 19.993142 0.99805224 23.887081 6.0400118 4.5434324 1.4965793 0.0017031575 -0.021668687 4.563398 + 43340 20.038139 0.99389014 23.575296 6.0206936 4.5303554 1.4903383 0.0018036013 -0.022296074 4.5508478 + 43350 19.937502 1.0061044 23.801405 6.0048764 4.4962228 1.5086536 0.0016420655 -0.021313315 4.515894 + 43360 20.196292 1.0075795 23.886243 6.0368999 4.5260345 1.5108655 0.001721408 -0.021639987 4.5459531 + 43370 20.453458 0.99514867 23.928122 6.0289985 4.5367731 1.4922254 0.0017708086 -0.02224781 4.5572501 + 43380 20.430538 1.0027377 23.723963 6.0256692 4.522064 1.5036052 0.0018531487 -0.022858765 4.5430696 + 43390 20.491184 1.0092088 23.785787 6.0425328 4.5292242 1.5133086 0.0018822138 -0.023066754 4.5504088 + 43400 20.480988 1.0181356 23.82495 6.0678663 4.541172 1.5266943 0.0019596897 -0.023514805 4.5627271 + 43410 20.128298 1.0111896 23.834073 6.0648933 4.5486145 1.5162788 0.0018632884 -0.022720198 4.5694714 + 43420 20.101895 1.0190946 23.778834 6.0690043 4.5408719 1.5281323 0.0018636617 -0.022579284 4.5615876 + 43430 20.208137 0.99394287 23.669275 6.0417421 4.5513247 1.4904173 0.0020354328 -0.023275797 4.5725651 + 43440 19.791087 1.0053416 23.617741 6.0455958 4.5380861 1.5075097 0.0020764618 -0.023421625 4.5594313 + 43450 19.940539 1.014485 23.825494 6.0516699 4.5304496 1.5212203 0.0019596366 -0.022536694 4.5510267 + 43460 20.433257 0.98267203 23.685654 6.0158055 4.5422888 1.4735167 0.0017794923 -0.02178992 4.5622992 + 43470 20.370185 1.0035737 23.666145 6.0290589 4.5242002 1.5048587 0.0016241749 -0.020868556 4.5434446 + 43480 20.430219 0.99066437 23.569086 6.0019487 4.5164474 1.4855012 0.0015977563 -0.020860314 4.53571 + 43490 20.265303 0.97885249 23.654332 5.987309 4.5195197 1.4677893 0.001493703 -0.020486258 4.5385123 + 43500 20.42999 0.98084822 23.519017 6.003503 4.5327211 1.4707819 0.0017338381 -0.021405314 4.5523926 + 43510 20.340586 0.95716073 23.753632 5.9566543 4.5213917 1.4352625 0.0016563058 -0.021058764 4.5407942 + 43520 19.969464 0.9818301 23.656969 5.9930016 4.5207473 1.4722542 0.0016544311 -0.021423921 4.5405168 + 43530 20.176011 0.99800785 23.58331 6.0322914 4.5357787 1.4965128 0.0017763357 -0.022120337 4.5561227 + 43540 20.398662 1.0048897 23.488328 6.0400472 4.5332151 1.5068321 0.0019204125 -0.023172257 4.554467 + 43550 20.43867 1.0099249 23.934509 6.0374913 4.523109 1.5143823 0.0019342953 -0.023549392 4.5447241 + 43560 20.256702 0.99646488 23.891911 6.0153711 4.521172 1.4941991 0.0022236592 -0.024935841 4.5438842 + 43570 20.141155 1.0037078 23.797474 6.0282905 4.5232307 1.5050598 0.0024758651 -0.026051554 4.5468064 + 43580 20.443591 1.0176115 23.604098 6.0438519 4.5179434 1.5259084 0.0024467394 -0.02574008 4.5412368 + 43590 20.255229 1.004936 23.637065 6.0184647 4.5115632 1.5069015 0.0022599072 -0.024389545 4.5336929 + 43600 20.342228 0.98974947 23.845164 6.0039438 4.5198144 1.4841293 0.0021337666 -0.023858302 4.541539 + 43610 20.064676 0.98377235 24.048358 5.995303 4.5201364 1.4751666 0.0019950652 -0.023736463 4.5418778 + 43620 20.116942 0.98754851 23.627568 5.9998307 4.5190017 1.480829 0.0019639716 -0.023716329 4.5407541 + 43630 20.238674 0.99581128 23.857206 6.0246953 4.5314763 1.493219 0.0020225837 -0.023757226 4.5532109 + 43640 20.145801 0.99400091 23.405437 6.0128927 4.5223884 1.4905044 0.0019462574 -0.023531112 4.5439732 + 43650 20.05332 1.0010708 23.609783 6.0412868 4.5401812 1.5011056 0.0017110583 -0.022343439 4.5608136 + 43660 20.143764 1.0082375 23.991417 6.0353164 4.5234642 1.5118522 0.0016511314 -0.021601057 4.5434142 + 43670 20.2264 1.0151833 23.470124 6.0364319 4.5141645 1.5222674 0.0017359722 -0.021821165 4.5342497 + 43680 20.289748 1.0048648 23.82923 6.0357151 4.5289203 1.5067948 0.0016339113 -0.021332239 4.5486186 + 43690 20.465176 1.0188958 23.832389 6.0539232 4.5260889 1.5278342 0.0013748742 -0.020453732 4.5451678 + 43700 20.503218 1.0111939 23.726528 6.0500433 4.5337582 1.5162852 0.0014162064 -0.020650687 4.5529926 + 43710 20.358354 0.99763946 23.590519 6.0279311 4.5319708 1.4959604 0.0015505857 -0.021180531 4.5516007 + 43720 20.194601 1.0101068 23.636444 6.0436453 4.5289902 1.5146551 0.0017049168 -0.021849409 4.5491347 + 43730 20.126198 1.0225611 23.75999 6.0388775 4.5055471 1.5333304 0.0018173886 -0.022119746 4.5258495 + 43740 20.202431 0.99790777 23.618157 6.0362631 4.5399004 1.4963627 0.0018418531 -0.022333725 4.5603922 + 43750 19.843584 1.0320197 23.683074 6.0889507 4.5414371 1.5475136 0.0017252076 -0.022201931 4.5619138 + 43760 19.924037 1.0196313 23.732511 6.0728473 4.5439102 1.5289371 0.0017492333 -0.022510394 4.5646713 + 43770 20.373656 1.0153077 23.785286 6.0475749 4.525121 1.522454 0.001855871 -0.022823662 4.5460888 + 43780 20.485339 1.0141995 23.876736 6.044944 4.5241518 1.5207922 0.0017859578 -0.022325391 4.5446913 + 43790 20.198251 1.0036622 23.765278 6.0216968 4.5167053 1.5049914 0.0017698372 -0.022525698 4.5374612 + 43800 20.32016 1.0062342 23.471199 6.0405306 4.5316824 1.5088482 0.0017899685 -0.022618956 4.5525113 + 43810 20.260845 1.0034335 23.940266 6.0351986 4.5305501 1.5046486 0.0017423695 -0.022569064 4.5513767 + 43820 20.176566 1.0150457 23.867746 6.0268108 4.5047499 1.522061 0.0017051553 -0.022465917 4.5255107 + 43830 20.297107 0.99973288 23.32723 6.033912 4.5348126 1.4990995 0.0016890254 -0.022083008 4.5552066 + 43840 20.065714 1.0190973 23.697823 6.0723009 4.5441645 1.5281364 0.0018589201 -0.022332067 4.5646376 + 43850 20.317976 1.0230894 23.822577 6.0609825 4.5268599 1.5341226 0.0018286556 -0.022179245 4.5472105 + 43860 20.3763 1.0240914 23.64379 6.0714638 4.5358388 1.535625 0.0017089286 -0.021454251 4.5555841 + 43870 20.280215 1.0182882 23.525989 6.0787578 4.5518346 1.5269232 0.0015963394 -0.0208681 4.5711063 + 43880 20.304768 1.0419257 23.929659 6.0848781 4.5225105 1.5623676 0.0016760596 -0.021360605 4.5421951 + 43890 20.051761 1.0237753 23.749695 6.0568126 4.5216615 1.5351511 0.0017482431 -0.022070688 4.541984 + 43900 20.332003 1.0038951 23.826434 6.0533625 4.5480218 1.5053407 0.0020164135 -0.02313856 4.569144 + 43910 20.296564 0.99180857 23.792625 6.031001 4.543784 1.4872169 0.0020236063 -0.02297015 4.5647306 + 43920 20.436508 0.9825291 23.723307 6.0199019 4.5465996 1.4733024 0.0017405783 -0.021495433 4.5663544 + 43930 19.992095 0.99281696 23.698283 6.0110233 4.5222943 1.488729 0.001527926 -0.020727228 4.5414936 + 43940 20.206289 1.0008333 23.770931 6.0014541 4.5007045 1.5007496 0.0016106646 -0.021143383 4.5202372 + 43950 20.421348 1.0183566 23.727861 6.0433291 4.5163033 1.5270258 0.0016765746 -0.021575052 4.5362018 + 43960 20.416698 1.0165894 23.638554 6.0594069 4.5350311 1.5243758 0.0016459262 -0.021847737 4.5552329 + 43970 20.231932 1.0189834 23.909831 6.0541297 4.5261641 1.5279657 0.0016805968 -0.02200069 4.5464842 + 43980 20.190267 1.0068703 23.68246 6.0441972 4.5343952 1.509802 0.0016892522 -0.021746122 4.5544521 + 43990 20.173061 1.0017495 23.57848 6.0396861 4.5375627 1.5021234 0.0017565536 -0.021861047 4.5576672 + 44000 20.269711 1.007641 23.698751 6.0472317 4.536274 1.5109577 0.0018491607 -0.022243311 4.5566681 + 44010 20.533816 1.0009915 23.616191 6.0317328 4.5307461 1.5009867 0.0019259007 -0.022181158 4.5510013 + 44020 19.903781 1.0011476 23.821539 6.0565279 4.5553071 1.5012208 0.0019331439 -0.021790116 4.5751641 + 44030 20.333325 1.0090313 23.821179 6.0752128 4.5621704 1.5130424 0.0019908928 -0.022032485 4.582212 + 44040 20.308405 1.0311406 23.715946 6.0634916 4.5172963 1.5461953 0.0019043166 -0.021704766 4.5370967 + 44050 20.344794 1.0179223 23.639845 6.0645594 4.5381849 1.5263745 0.0018032407 -0.021890054 4.5582717 + 44060 19.900844 1.0099965 23.557616 6.0574547 4.5429649 1.5144898 0.0017689317 -0.021902514 4.5630985 + 44070 20.079347 1.0273768 23.459193 6.0359071 4.4953556 1.5405515 0.0017352367 -0.021754725 4.5153751 + 44080 19.841507 0.99746465 23.435802 6.0108742 4.515176 1.4956982 0.0019379059 -0.022242122 4.5354802 + 44090 20.275355 0.99909721 23.657442 6.0090535 4.5109073 1.4981463 0.0017729118 -0.02149398 4.5306283 + 44100 20.523178 1.0112408 23.761595 6.0192022 4.5028467 1.5163555 0.0017257722 -0.02178128 4.5229022 + 44110 20.393908 1.020024 23.886476 6.0425043 4.5129784 1.529526 0.0016549719 -0.021574241 4.5328976 + 44120 20.142884 1.0055308 23.766583 6.0141531 4.5063597 1.5077934 0.0017661915 -0.02233986 4.5269334 + 44130 20.265626 0.99560691 23.62658 6.0373663 4.5444537 1.4929126 0.0020121488 -0.023644876 4.5660865 + 44140 20.153364 1.0045604 23.741817 6.0176223 4.511284 1.5063383 0.0020290467 -0.023377716 4.5326327 + 44150 20.315304 1.001566 23.773731 6.0329948 4.5311466 1.5018482 0.0018647137 -0.022718552 4.5520004 + 44160 20.247544 1.0188804 23.830624 6.0447928 4.5169816 1.5278112 0.001736973 -0.022533169 4.5377778 + 44170 20.133906 1.0137771 24.088727 6.0377109 4.5175522 1.5201587 0.0017060296 -0.022449887 4.538296 + 44180 20.366741 1.0065558 23.918736 6.0402172 4.5308868 1.5093303 0.0016761868 -0.022329685 4.5515403 + 44190 20.281684 1.0055635 23.775561 6.0457494 4.5379069 1.5078425 0.0017066509 -0.02233219 4.5585324 + 44200 20.330536 1.006739 23.310534 6.0554066 4.5458014 1.5096052 0.0015842481 -0.02156383 4.565781 + 44210 20.222378 1.0266967 23.725172 6.072624 4.5330923 1.5395317 0.0016248181 -0.021532752 4.5530002 + 44220 20.143024 1.0150814 23.41154 6.0748339 4.5527194 1.5221145 0.0015605158 -0.02127538 4.5724342 + 44230 20.090926 1.0207063 23.863489 6.0578931 4.5273441 1.5305491 0.0015471646 -0.021345173 4.5471421 + 44240 20.317618 1.015666 23.631174 6.0459249 4.5229337 1.5229912 0.0017414066 -0.021837542 4.5430299 + 44250 20.26754 0.99995617 23.729951 6.0347863 4.535352 1.4994343 0.0017700002 -0.021924563 4.5555066 + 44260 20.246039 1.0076813 23.716708 6.0449081 4.5338899 1.5110181 0.0016932138 -0.021801525 4.5539983 + 44270 19.995841 1.0171907 23.681667 6.0518178 4.5265404 1.5252774 0.0018137829 -0.022145643 4.5468723 + 44280 20.188443 0.99518322 23.577837 6.0418596 4.5495824 1.4922772 0.0017193895 -0.021768695 4.5696317 + 44290 20.161 1.0047672 23.863593 6.0372986 4.5306502 1.5066484 0.0018012325 -0.022392567 4.5512415 + 44300 20.322606 0.99900094 23.71177 6.0263605 4.5283585 1.4980019 0.0019362011 -0.023335989 4.5497583 + 44310 20.426437 1.0173469 23.816115 6.0527141 4.5272024 1.5255117 0.0021275511 -0.024010056 4.5490849 + 44320 19.895288 1.0032787 23.582924 6.039612 4.5351956 1.5044164 0.0021529724 -0.024171277 4.5572139 + 44330 20.048339 0.99953064 23.589532 6.0618074 4.5630112 1.4987962 0.001805384 -0.02255532 4.5837611 + 44340 20.306671 1.0148019 23.64594 6.0503664 4.528671 1.5216954 0.0016177455 -0.021002856 4.5480561 + 44350 20.377291 1.0070023 23.744957 6.0416344 4.5316344 1.5099999 0.0016715036 -0.020729945 4.5506929 + 44360 20.171572 1.0156732 23.514161 6.06579 4.542788 1.523002 0.0018521177 -0.02169278 4.5626286 + 44370 20.233332 1.0146442 23.851873 6.0683279 4.546869 1.5214589 0.0018861462 -0.022465824 4.5674487 + 44380 20.05068 1.0236564 23.934328 6.0562318 4.521259 1.5349728 0.0020006305 -0.023382862 4.5426413 + 44390 20.038576 1.0198717 23.887324 6.0663738 4.5370763 1.5292975 0.0019795078 -0.023262358 4.5583591 + 44400 20.011991 1.0291379 23.90358 6.0805228 4.5373305 1.5431923 0.0021766374 -0.024102129 4.559256 + 44410 20.108092 1.0315125 23.99148 6.0838305 4.5370775 1.546753 0.0021320377 -0.02401651 4.558962 + 44420 20.241004 1.0219294 23.723293 6.081109 4.5487258 1.5323832 0.0021768232 -0.023679856 4.5702288 + 44430 20.370307 1.0247324 23.596941 6.0712905 4.5347042 1.5365863 0.0021636268 -0.023598104 4.5561387 + 44440 20.563631 1.0207837 23.735903 6.0702765 4.5396113 1.5306652 0.0020878986 -0.023125861 4.5606493 + 44450 20.357875 1.022078 23.820687 6.0629193 4.5303134 1.5326059 0.0017783797 -0.021828564 4.5503635 + 44460 20.091141 1.0206986 23.82447 6.0562161 4.5256785 1.5305375 0.0017833821 -0.021608478 4.5455036 + 44470 20.341536 1.0052063 23.783239 6.0221751 4.5148682 1.5073069 0.0017668915 -0.021772196 4.5348735 + 44480 20.241477 1.0010654 23.579888 6.0572637 4.5561661 1.5010975 0.0018060724 -0.02192486 4.5762849 + 44490 20.403272 0.98867357 23.438824 6.0269623 4.5444463 1.482516 0.0017159222 -0.02198246 4.5647128 + 44500 20.294331 0.98858195 23.441215 6.0039786 4.5216 1.4823786 0.0016309606 -0.021067623 4.5410367 + 44510 20.291634 0.98708601 23.488846 5.9929661 4.5128307 1.4801355 0.0014965047 -0.020478317 4.5318125 + 44520 20.225597 0.98532414 23.522337 6.0001149 4.5226214 1.4774935 0.0013267142 -0.020227154 4.5415218 + 44530 20.282479 0.99354414 23.786652 5.9935502 4.5037308 1.4898194 0.0012001074 -0.019350456 4.5218811 + 44540 20.558216 0.98884605 23.654727 6.0010314 4.5182567 1.4827747 0.0010940332 -0.018419854 4.5355826 + 44550 20.261652 1.0034766 23.641067 6.0337726 4.5290594 1.5047132 0.0010518547 -0.018171036 4.5461786 + 44560 20.081148 1.0062802 23.643713 6.0431918 4.5342746 1.5089172 0.00087616567 -0.017009923 4.5504084 + 44570 20.445567 0.99094454 23.765768 6.0212657 4.5353443 1.4859213 0.00091632761 -0.017291514 4.5517195 + 44580 20.330573 0.99507448 23.387857 5.9956966 4.5035824 1.4921142 0.00099808819 -0.017702132 4.5202864 + 44590 20.393624 0.97778729 23.454077 6.0018143 4.5356223 1.466192 0.0011756686 -0.018665042 4.5531117 + 44600 20.192534 1.0037424 23.716485 6.0176729 4.5125611 1.5051118 0.0014515813 -0.020062845 4.5311724 + 44610 20.351636 1.0059347 23.666193 6.0366071 4.5282081 1.508399 0.0017955185 -0.021956724 4.5483693 + 44620 20.222272 1.0014131 23.840127 6.0284167 4.5267978 1.501619 0.0019925474 -0.022716984 4.5475222 + 44630 20.224496 0.99399245 23.640809 6.0093804 4.5188887 1.4904917 0.0019390274 -0.022860019 4.5398097 + 44640 20.220994 1.0053876 23.834175 6.0483544 4.5407758 1.5075786 0.0018241393 -0.022251995 4.5612036 + 44650 20.277031 1.011526 23.68591 6.0379904 4.5212072 1.5167832 0.0016605736 -0.021527352 4.541074 + 44660 20.161214 1.0012925 23.808282 6.0516834 4.5502453 1.5014381 0.0014317671 -0.020286085 4.5690996 + 44670 20.312883 1.0160101 23.909027 6.043772 4.5202649 1.5235071 0.0014992474 -0.020491089 4.5392567 + 44680 20.281946 0.99004596 23.780131 6.0276516 4.5430776 1.4845739 0.0016009161 -0.021310626 4.5627874 + 44690 20.084593 0.97994648 23.846931 6.0154766 4.5460469 1.4694297 0.0015990336 -0.021189158 4.565637 + 44700 20.124946 0.991661 23.900656 6.0216578 4.5346621 1.4869957 0.0015685696 -0.02070791 4.5538014 + 44710 20.346751 1.0038314 23.835375 6.0242251 4.51898 1.5052451 0.001449142 -0.020726205 4.538257 + 44720 20.232024 0.98508734 23.67129 6.000872 4.5237335 1.4771385 0.0015611419 -0.020986345 4.5431587 + 44730 20.41249 0.98460828 23.816576 6.007908 4.5314879 1.4764201 0.0017506483 -0.021399152 4.5511364 + 44740 19.882214 0.99269458 23.55278 5.9927734 4.5042279 1.4885455 0.0019607526 -0.022177242 4.5244444 + 44750 20.005644 0.96958851 23.576085 5.987128 4.5332301 1.453898 0.0018939916 -0.02214798 4.553484 + 44760 20.203462 0.98100376 23.503218 5.9956825 4.5246673 1.4710151 0.0018717937 -0.022252052 4.5450476 + 44770 19.801704 0.99325971 23.487145 6.0062986 4.5169057 1.4893929 0.0016876468 -0.021095474 4.5363135 + 44780 20.166193 1.0183611 23.768133 6.0231376 4.4961051 1.5270325 0.0015082176 -0.020556582 4.5151535 + 44790 20.291828 0.99896779 23.625728 6.0207013 4.5227491 1.4979522 0.0015310545 -0.021032092 4.5422501 + 44800 19.941594 1.0141028 23.828407 6.0330966 4.5124494 1.5206472 0.0014450316 -0.020536975 4.5315414 + 44810 20.341428 1.0227223 23.332293 6.0639926 4.5304204 1.5335721 0.0013656934 -0.020015057 4.5490698 + 44820 20.389596 1.0257533 23.730324 6.0707959 4.5326789 1.538117 0.0013564857 -0.020227312 4.5515497 + 44830 20.347237 1.0119364 23.775839 6.0793115 4.5619129 1.5173986 0.0015941482 -0.021371861 4.5816906 + 44840 20.609293 1.0086237 23.776091 6.0432043 4.5307731 1.5124312 0.0017531229 -0.022231509 4.5512514 + 44850 20.485366 1.0033588 23.610596 6.035677 4.5311405 1.5045366 0.0018313483 -0.022500801 4.5518099 + 44860 20.276979 1.0094159 23.692743 6.0434881 4.5298689 1.5136192 0.0018688241 -0.022743308 4.5507434 + 44870 19.634036 1.0206501 23.7963 6.0531314 4.5226667 1.5304648 0.0018825911 -0.02323163 4.5440157 + 44880 19.755094 1.0169414 23.683737 6.0515879 4.5266843 1.5249036 0.0018786679 -0.023171282 4.5479769 + 44890 20.166447 1.0133906 23.719769 6.0506657 4.5310865 1.5195792 0.0017798085 -0.022492225 4.5517989 + 44900 19.845655 1.0112233 23.630273 6.0911224 4.5747931 1.5163293 0.0017493131 -0.022537781 4.5955815 + 44910 20.523049 1.0177707 23.694971 6.0910311 4.564884 1.5261471 0.0017421213 -0.022326376 4.5854682 + 44920 20.130721 1.0183857 23.464844 6.0615847 4.5345153 1.5270693 0.0017268943 -0.022533951 4.5553224 + 44930 20.38988 1.017549 23.730448 6.0668929 4.5410782 1.5258147 0.0019242191 -0.023167911 4.5623219 + 44940 20.262343 1.017668 23.603749 6.055063 4.5290699 1.5259932 0.0019236612 -0.023129986 4.5502762 + 44950 20.168422 1.0114955 23.529751 6.0206099 4.5038724 1.5167375 0.0018450137 -0.022717014 4.5247444 + 44960 20.068757 1.0072751 23.728908 6.0199748 4.5095658 1.510409 0.0016463741 -0.022095442 4.5300149 + 44970 20.044731 0.99206976 23.792847 6.0443044 4.5566958 1.4876086 0.0015601239 -0.021422419 4.5765581 + 44980 20.086039 1.0228242 23.617083 6.0518908 4.5181659 1.5337249 0.0014967138 -0.02093586 4.537605 + 44990 20.35346 1.0216621 23.842436 6.0517604 4.5197781 1.5319823 0.001419752 -0.020256882 4.5386153 + 45000 20.018753 1.0036837 23.623048 6.0388227 4.533799 1.5050236 0.0014450873 -0.019875686 4.5522296 + 45010 20.317072 1.0008236 23.764661 6.0448769 4.5441419 1.500735 0.0014500467 -0.020388223 4.5630801 + 45020 20.333659 1.0055414 23.824938 6.0680493 4.5602401 1.5078093 0.0013882292 -0.020268002 4.5791198 + 45030 20.147405 1.0151158 23.781715 6.0552615 4.5330954 1.5221661 0.0013241913 -0.01997803 4.5517493 + 45040 20.099059 1.0187238 23.822245 6.0579483 4.5303719 1.5275764 0.0015274727 -0.020862587 4.549707 + 45050 20.437718 1.0134865 23.853597 6.0619521 4.542229 1.519723 0.0015130446 -0.020788811 4.5615048 + 45060 20.515286 1.0119573 23.577379 6.0685969 4.5511669 1.5174299 0.0014562551 -0.020762884 4.5704736 + 45070 20.460253 1.0247923 23.60085 6.0779662 4.5412901 1.5366761 0.001497932 -0.021235454 4.5610276 + 45080 20.205548 1.0319882 23.832815 6.0894057 4.5419393 1.5474663 0.0014630687 -0.021177011 4.5616533 + 45090 19.626895 1.0276068 23.828455 6.0848555 4.5439592 1.5408963 0.0012852358 -0.020255114 4.5629291 + 45100 20.279163 1.0258365 23.777264 6.0939446 4.5557027 1.5382418 0.0015041281 -0.020946884 4.5751455 + 45110 20.343339 1.0370872 24.013419 6.0856306 4.5305183 1.5551123 0.0015682166 -0.021208207 4.5501583 + 45120 20.313717 1.0183276 23.895582 6.1013554 4.5743732 1.5269822 0.0016359757 -0.021932253 4.5946695 + 45130 20.002699 1.0193414 23.681912 6.0587704 4.5302679 1.5285025 0.0015976563 -0.021400327 4.5500706 + 45140 19.966479 1.015002 23.720741 6.0246737 4.5026783 1.5219955 0.0017022779 -0.021619945 4.5225959 + 45150 20.408733 1.0066774 23.757777 6.0046958 4.4951831 1.5095127 0.0017780899 -0.022349065 4.5157541 + 45160 20.355366 0.99530239 23.647702 5.9962104 4.5037545 1.4924559 0.0018782594 -0.022916978 4.5247932 + 45170 20.353777 1.0043816 23.582832 6.0151802 4.50911 1.5060702 0.0018254768 -0.022818873 4.5301034 + 45180 19.944494 0.99821783 23.646954 6.0270172 4.5301896 1.4968276 0.0018911357 -0.022873126 4.5511716 + 45190 19.989222 1.0061018 23.800224 6.053442 4.5447923 1.5086497 0.002065473 -0.023579073 4.5663059 + 45200 20.150553 1.0272044 23.861395 6.0953408 4.5550478 1.540293 0.0021690582 -0.024199859 4.5770786 + 45210 19.786704 1.0080007 23.276929 6.060018 4.5485209 1.5114971 0.0018530726 -0.023125049 4.5697928 + 45220 20.116985 1.0249808 23.886045 6.074971 4.5380122 1.5369587 0.0015737031 -0.021570211 4.5580087 + 45230 20.251897 1.0055215 23.906775 6.0635397 4.5557602 1.5077795 0.001713715 -0.021788704 4.5758352 + 45240 19.970928 1.0168697 23.546777 6.0783505 4.5535544 1.524796 0.0019245822 -0.022611111 4.574241 + 45250 20.346149 1.0168596 23.514954 6.0838181 4.5590372 1.524781 0.0019505316 -0.023126542 4.5802132 + 45260 20.425398 1.0062635 23.846853 6.072556 4.5636639 1.5088921 0.0018760191 -0.023354096 4.585142 + 45270 20.251689 0.98812428 23.690474 6.030587 4.5488946 1.4816924 0.001766052 -0.022948153 4.5700767 + 45280 20.250974 1.0053606 23.652088 6.0315086 4.5239704 1.5075382 0.0018981991 -0.023411801 4.545484 + 45290 20.288083 0.99765233 23.496401 6.0387223 4.5427427 1.4959797 0.002038811 -0.023865894 4.5645697 + 45300 20.336108 1.0152336 23.495101 6.0551555 4.5328126 1.5223428 0.0019949231 -0.023784387 4.5546021 + 45310 20.237128 1.0190188 23.917998 6.0588028 4.530784 1.5280188 0.001960441 -0.023347958 4.5521715 + 45320 20.167824 0.99688558 23.647442 6.0298786 4.5350487 1.4948299 0.0016337743 -0.021780972 4.5551958 + 45330 20.104914 0.97597962 23.86071 5.9707172 4.5072357 1.4634814 0.001434699 -0.020634574 4.5264356 + 45340 20.015794 0.98893656 23.652831 5.9911994 4.5082891 1.4829104 0.0012242736 -0.019392061 4.5264568 + 45350 20.407756 0.99740261 23.6292 6.0164218 4.5208166 1.4956052 0.0011562773 -0.019310059 4.5389704 + 45360 20.380069 0.98967328 23.477497 6.0193473 4.5353322 1.4840151 0.0012195037 -0.019102968 4.5532157 + 45370 20.276489 1.0054436 23.690567 6.0077304 4.5000677 1.5076627 0.0012717583 -0.018694862 4.5174908 + 45380 20.446543 0.98890973 23.782062 6.0009166 4.5180465 1.4828701 0.001333138 -0.018537678 4.535251 + 45390 20.387218 0.99362678 23.967697 5.9844422 4.4944988 1.4899434 0.0011156121 -0.017662908 4.5110461 + 45400 20.413357 0.97884725 23.868136 5.9980696 4.5302881 1.4677815 0.0011828605 -0.018231342 4.5473366 + 45410 20.403392 0.98931569 23.699197 6.0033778 4.5198989 1.4834789 0.0014529129 -0.01934981 4.5377958 + 45420 19.987437 0.9772901 23.551933 6.0041134 4.5386669 1.4654465 0.001440874 -0.019364023 4.55659 + 45430 20.331772 0.98796682 23.732267 6.0059219 4.5244656 1.4814562 0.001358948 -0.018895948 4.5420026 + 45440 20.346487 0.98684984 23.561601 6.0047515 4.5249702 1.4797813 0.0012581286 -0.018619363 4.5423314 + 45450 20.276342 0.97972579 23.950055 6.0223352 4.5532364 1.4690988 0.0012436527 -0.018554822 4.5705475 + 45460 20.332125 1.0105349 23.53114 6.0511055 4.5358084 1.5152971 0.0014058579 -0.01949145 4.553894 + 45470 20.349914 1.0083696 23.77952 6.0474412 4.535391 1.5120503 0.0013951493 -0.019340169 4.553336 + 45480 20.19126 1.0123515 23.578505 6.0538244 4.5358034 1.518021 0.0015740989 -0.020198631 4.5544279 + 45490 20.425133 1.0077739 23.690151 6.0417477 4.5305907 1.511157 0.0015860033 -0.020788345 4.549793 + 45500 20.107468 1.0286467 23.846241 6.0678129 4.5253572 1.5424557 0.0015010189 -0.020719465 4.5445757 + 45510 20.13644 1.0078321 23.568845 6.0561073 4.5448631 1.5112442 0.001450646 -0.020674368 4.5640868 + 45520 20.108029 1.0245268 23.712008 6.0697341 4.5334562 1.5362779 0.0014038515 -0.020496041 4.5525484 + 45530 20.005981 1.0267868 23.4543 6.0543679 4.5147011 1.5396668 0.0012790702 -0.020088566 4.5335106 + 45540 19.949095 1.0083203 23.443768 6.0587908 4.5468145 1.5119763 0.0012722698 -0.019981096 4.5655233 + 45550 20.380856 1.0179326 23.717588 6.0590155 4.5326256 1.5263899 0.0013458792 -0.019949929 4.5512297 + 45560 20.287012 0.99801831 23.592578 6.0370386 4.5405101 1.4965285 0.001362274 -0.020348049 4.5594959 + 45570 20.359998 1.002919 23.673101 6.0198092 4.5159323 1.503877 0.0016086893 -0.021968068 4.5362916 + 45580 20.435922 1.0277527 23.630478 6.0683859 4.5272707 1.5411152 0.0017666273 -0.022578692 4.5480828 + 45590 20.444889 1.0219921 23.864129 6.0691786 4.5367015 1.5324771 0.0017003562 -0.022280411 4.5572815 + 45600 20.266231 1.0276557 23.903824 6.0615135 4.5205437 1.5409698 0.0017813331 -0.022556338 4.5413188 + 45610 20.212159 1.0261079 23.854833 6.0695872 4.5309385 1.5386487 0.0017574358 -0.022540509 4.5517216 + 45620 20.24112 1.0018865 23.687697 6.0340011 4.5316723 1.5023288 0.0018326671 -0.023081244 4.5529209 + 45630 20.241456 1.0222783 23.629599 6.0546753 4.5217689 1.5329064 0.0017993169 -0.02289016 4.5428598 + 45640 20.155134 1.0071547 23.634026 6.0580122 4.5477838 1.5102284 0.0017636729 -0.022637309 4.5686575 + 45650 20.277697 1.0254981 24.006567 6.0649306 4.5271962 1.5377344 0.001941768 -0.023505038 4.5487595 + 45660 20.287654 1.0007133 23.878506 6.0463675 4.5457979 1.5005696 0.0021104891 -0.024103012 4.5677904 + 45670 20.50949 1.0041677 23.62339 6.0305898 4.5248404 1.5057495 0.0022555092 -0.024588876 4.5471737 + 45680 20.198893 1.0173669 23.518325 6.0529507 4.527409 1.5255417 0.0022809544 -0.024684811 4.5498129 + 45690 20.278897 1.0165168 23.736069 6.0358282 4.5115613 1.5242669 0.002267039 -0.024590755 4.533885 + 45700 20.383201 0.99682457 23.580417 6.0328357 4.5380973 1.4947384 0.0022109013 -0.024169431 4.5600558 + 45710 20.310757 0.99706786 23.764198 6.0334567 4.5383535 1.4951033 0.0021750237 -0.023937417 4.5601159 + 45720 20.224588 0.98916187 23.906062 6.0075405 4.5242923 1.4832482 0.0022336631 -0.024070163 4.5461288 + 45730 20.206004 0.9960851 23.786847 6.0089164 4.5152868 1.4936296 0.0021718795 -0.024209282 4.5373242 + 45740 20.251577 0.99974037 23.65089 6.0065368 4.5074262 1.4991107 0.0021355983 -0.02441188 4.5297024 + 45750 20.3653 1.0083524 23.884103 6.0583007 4.5462763 1.5120244 0.0020529758 -0.02414603 4.5683693 + 45760 20.133823 1.0309777 23.713839 6.0757676 4.5298165 1.5459511 0.00173962 -0.022890621 4.5509675 + 45770 19.927193 0.99979122 23.579157 6.0580683 4.5588813 1.4991869 0.0015909137 -0.022417922 4.5797084 + 45780 19.946204 1.0251049 23.770173 6.04898 4.5118352 1.5371448 0.0016036334 -0.022371442 4.532603 + 45790 19.820733 1.0041407 23.784964 6.0224908 4.5167817 1.5057091 0.0016167474 -0.021878373 4.5370433 + 45800 20.321879 0.99804163 23.709052 6.0381081 4.5415447 1.4965634 0.0014074229 -0.021030606 4.5611679 + 45810 20.377041 1.0083231 23.562746 6.0475561 4.5355757 1.5119805 0.0014164977 -0.020650139 4.5548093 + 45820 20.260407 1.0234801 23.618403 6.0514166 4.5167082 1.5347084 0.0014628986 -0.020794637 4.5360399 + 45830 20.176259 1.0053124 23.79256 6.04378 4.5363141 1.5074659 0.0014751858 -0.020998839 4.5558377 + 45840 20.119646 1.0202373 23.458887 6.0616939 4.5318481 1.5298459 0.0015220047 -0.020513412 4.5508395 + 45850 20.216196 1.018994 23.961452 6.0364589 4.5084774 1.5279815 0.001441924 -0.019419584 4.526455 + 45860 20.239245 0.99972875 23.473143 6.0358095 4.5367162 1.4990933 0.0014714051 -0.019625506 4.5548703 + 45870 20.234722 1.0078802 23.979298 6.0423334 4.5310171 1.5113163 0.0015131242 -0.019707389 4.5492113 + 45880 20.382228 1.0122221 23.809762 6.031945 4.514118 1.517827 0.0017001298 -0.020671847 4.5330897 + 45890 20.39718 1.0035584 23.658136 6.0366075 4.5317717 1.5048358 0.001627666 -0.020708109 4.5508522 + 45900 20.388407 0.99645437 23.629316 6.017268 4.5230847 1.4941833 0.0014678079 -0.020008583 4.5416255 + 45910 20.411851 0.99385211 23.885349 6.0339503 4.543669 1.4902812 0.0014558697 -0.020151743 4.5623649 + 45920 20.332304 0.99711729 23.79672 6.032868 4.5376906 1.4951774 0.0018345694 -0.02239196 4.558248 + 45930 20.198997 1.0034405 23.838306 6.0472194 4.5425604 1.504659 0.0019359984 -0.023013298 4.5636377 + 45940 20.159936 0.9961535 23.687424 6.0163894 4.5226572 1.4937322 0.0019600017 -0.023173364 4.5438706 + 45950 20.388853 0.99647284 23.837353 6.0212772 4.5270662 1.494211 0.001975502 -0.023084691 4.5481753 + 45960 20.325932 1.0159609 23.540687 6.0322624 4.508829 1.5234333 0.0017646643 -0.022077255 4.5291416 + 45970 20.32414 1.0058563 23.556094 6.0481593 4.5398778 1.5082815 0.0019199544 -0.022801246 4.5607591 + 45980 20.184781 1.0021996 23.826382 6.0393968 4.5365985 1.5027982 0.0018556564 -0.022816929 4.5575598 + 45990 20.423325 1.0109115 23.736769 6.0412078 4.525346 1.5158618 0.0017207213 -0.022399356 4.5460246 + 46000 20.354032 1.0188118 23.924261 6.0582699 4.5305616 1.5277083 0.001803057 -0.022358358 4.5511169 + 46010 20.547776 1.0087533 23.693311 6.0453065 4.5326809 1.5126256 0.0017931979 -0.022314162 4.5532019 + 46020 20.160359 0.99827043 23.740229 6.0256373 4.5287308 1.4969065 0.0016264769 -0.020997619 4.5481019 + 46030 20.133745 0.98027416 23.601693 6.0087586 4.5388375 1.4699211 0.0017663575 -0.021711966 4.5587832 + 46040 20.418165 1.002735 23.905243 6.0133488 4.5097477 1.5036012 0.0017161443 -0.021346365 4.5293779 + 46050 20.291495 0.98883659 23.57078 5.9981687 4.5154082 1.4827605 0.0016712242 -0.020786081 4.5345231 + 46060 20.269314 0.98013659 23.69455 5.9756422 4.5059274 1.4697148 0.0017101198 -0.020855062 4.5250723 + 46070 19.984255 0.98950677 23.879205 6.0092362 4.5254708 1.4837654 0.001606715 -0.01995134 4.5438154 + 46080 20.306756 0.99067847 23.503221 6.0235736 4.5380512 1.4855224 0.0016768979 -0.020020897 4.5563952 + 46090 20.264275 0.97613994 23.393453 5.988963 4.5252412 1.4637218 0.0016919923 -0.020411373 4.5439606 + 46100 20.039449 1.0012176 23.713581 6.0138001 4.5124744 1.5013257 0.0016179706 -0.020309459 4.5311658 + 46110 20.149722 1.010827 23.675237 6.0399887 4.5242536 1.5157351 0.0014019313 -0.019764111 4.5426158 + 46120 20.232769 0.99512744 23.731169 6.0331915 4.5409979 1.4921936 0.0012991271 -0.019957514 4.5596563 + 46130 20.172764 1.0204991 23.884651 6.0575057 4.5272673 1.5302384 0.0011826393 -0.019192316 4.5452769 + 46140 20.272679 1.0070129 23.431223 6.0195166 4.5095008 1.5100158 0.00098767359 -0.018158154 4.5266713 + 46150 20.126939 1.0088613 23.591249 6.0298709 4.5170833 1.5127876 0.0011185499 -0.018980852 4.5349456 + 46160 20.29609 1.0056999 23.903623 6.0338144 4.5257674 1.5080469 0.0014187466 -0.020222349 4.544571 + 46170 20.245946 1.0228317 23.895751 6.0574509 4.5237147 1.5337362 0.0017004272 -0.021726886 4.5437412 + 46180 20.219624 0.99172377 23.546331 6.0345841 4.5474943 1.4870898 0.0019815862 -0.02289469 4.5684074 + 46190 20.168748 1.0145075 23.787044 6.0506 4.529346 1.521254 0.0019954333 -0.0232265 4.5505771 + 46200 19.997857 1.0162405 23.641818 6.0514702 4.5276176 1.5238526 0.001837632 -0.022939638 4.5487196 + 46210 20.165497 1.0162987 23.936615 6.0562326 4.5322927 1.5239399 0.0016409646 -0.022236211 4.552888 + 46220 19.973796 1.007513 23.665093 6.0377165 4.5269509 1.5107657 0.0016417313 -0.022484211 4.5477933 + 46230 20.25002 1.0043985 23.565102 6.0559085 4.5498129 1.5060956 0.0016712163 -0.022429499 4.5705712 + 46240 20.295464 1.0179466 23.874449 6.0766255 4.5502146 1.5264109 0.0017975751 -0.022716086 4.5711332 + 46250 20.313259 1.0471035 23.842422 6.0850794 4.5149478 1.5701316 0.0019276282 -0.023331265 4.5363514 + 46260 20.101379 1.0340884 23.931402 6.0889579 4.5383423 1.5506156 0.0020285136 -0.023751787 4.5600656 + 46270 20.287529 1.035478 23.821059 6.0758978 4.5231986 1.5526992 0.0020944055 -0.024033144 4.5451373 + 46280 20.052388 1.010751 24.001801 6.0676842 4.5520631 1.5156211 0.0020752744 -0.023913816 4.5739016 + 46290 20.219656 1.0315572 24.042625 6.0980616 4.5512416 1.54682 0.0021141266 -0.023738224 4.5728657 + 46300 20.250187 1.0540256 24.128892 6.1071307 4.5266193 1.5805114 0.0020594499 -0.023741503 4.5483014 + 46310 20.620722 1.0423684 23.919457 6.1367233 4.5736919 1.5630314 0.0018979167 -0.023097616 4.5948916 + 46320 20.258514 1.0426135 23.762424 6.12932 4.565921 1.563399 0.001595618 -0.021643429 4.5859689 + 46330 20.387379 1.0136431 23.95242 6.0793337 4.5593758 1.5199578 0.0013842199 -0.020933574 4.5789252 + 46340 20.146226 1.022445 23.834422 6.085215 4.5520587 1.5331563 0.0012545297 -0.020457196 4.5712614 + 46350 20.106344 1.0167989 23.853957 6.0554325 4.5307425 1.52469 0.0012541836 -0.020654129 4.5501425 + 46360 20.100096 1.018206 23.72359 6.062831 4.5360311 1.5267999 0.001593458 -0.022101199 4.5565388 + 46370 20.167955 1.035235 23.712802 6.0858518 4.5335169 1.5523349 0.0016893494 -0.021983103 4.5538106 + 46380 20.204927 1.0062147 23.495558 6.0897244 4.5809054 1.5088189 0.0018317094 -0.022759786 4.6018335 + 46390 20.224974 1.0191252 23.779391 6.0725138 4.5443356 1.5281782 0.0018481028 -0.023094818 4.5655823 + 46400 20.349492 1.0261727 23.718865 6.0650835 4.5263376 1.5387459 0.0019406877 -0.023290733 4.5476876 + 46410 20.416909 1.0227715 23.71615 6.0661126 4.5324667 1.5336459 0.0019300793 -0.023201 4.5537376 + 46420 19.535083 1.0042739 23.598779 6.0616101 4.5557013 1.5059088 0.0020314871 -0.02377891 4.5774488 + 46430 20.212887 1.0191338 24.029558 6.0515357 4.5233445 1.5281911 0.0019968185 -0.023650224 4.5449979 + 46440 20.234365 1.0118928 23.899138 6.0472035 4.5298703 1.5173332 0.0020713328 -0.023878134 4.5516771 + 46450 19.994307 1.0073313 23.814522 6.0604535 4.5499602 1.5104933 0.0022188349 -0.024227607 4.571969 + 46460 20.319515 1.0177908 23.741252 6.0737828 4.5476054 1.5261774 0.0020884232 -0.023312898 4.5688299 + 46470 19.816833 1.0235777 23.620902 6.0621865 4.5273318 1.5348548 0.0020220987 -0.022999328 4.548309 + 46480 19.725651 1.0295335 23.83477 6.0914001 4.5476145 1.5437855 0.0020354564 -0.02250412 4.5680832 + 46490 19.97155 1.0233374 23.821064 6.0607008 4.5262064 1.5344944 0.0019687782 -0.022287195 4.5465248 + 46500 20.157072 0.99915495 23.601435 6.0413148 4.543082 1.4982328 0.0018423652 -0.021443934 4.5626836 + 46510 20.390398 1.0043227 24.005524 6.044016 4.5380341 1.5059819 0.0017178741 -0.020245067 4.5565613 + 46520 20.206964 1.0120308 23.805105 6.0462563 4.5287161 1.5175402 0.0015142168 -0.019692482 4.5468943 + 46530 20.246534 1.018964 23.756681 6.0568912 4.5289547 1.5279365 0.0014358024 -0.01951725 4.5470361 + 46540 19.984816 1.0249201 23.561673 6.0552032 4.5183356 1.5368677 0.0014749611 -0.019933395 4.536794 + 46550 20.205028 0.98146428 23.545318 6.0125887 4.540883 1.4717057 0.0015959096 -0.020640671 4.5599278 + 46560 20.568817 0.99956743 23.610315 6.0007605 4.5019092 1.4988514 0.0014914632 -0.020035706 4.5204534 + 46570 20.384373 0.99952289 23.829231 6.0308057 4.5320211 1.4987846 0.0014171301 -0.019704911 4.5503089 + 46580 20.40147 1.0034863 23.89774 6.0338758 4.5291481 1.5047277 0.0016618675 -0.02067595 4.5481622 + 46590 20.234417 1.0125658 23.778968 6.0518155 4.5334731 1.5183424 0.0017704313 -0.020975799 4.5526785 + 46600 20.116255 1.0209173 23.437261 6.0482934 4.5174279 1.5308655 0.0018919025 -0.021320369 4.5368564 + 46610 20.170374 1.0200273 23.770836 6.0566936 4.5271626 1.529531 0.0017622417 -0.020553814 4.5459542 + 46620 20.258464 1.0037065 23.498853 6.0306598 4.5256018 1.5050579 0.0018413993 -0.020777352 4.5445378 + 46630 20.141529 0.98643611 23.898438 6.0302318 4.5510708 1.4791609 0.0020482461 -0.022144819 4.5711674 + 46640 19.722062 1.0006779 23.379846 6.0345112 4.5339946 1.5005166 0.0020281968 -0.0220201 4.5539865 + 46650 20.059322 1.0104518 23.857697 6.0430047 4.5278321 1.5151725 0.001822416 -0.020718951 4.5467287 + 46660 20.527365 0.99538086 23.83482 6.0434488 4.5508752 1.4925736 0.0016909424 -0.019971577 4.5691558 + 46670 20.213873 0.99639386 23.693051 6.0146609 4.5205683 1.4940926 0.0016511325 -0.020152357 4.5390695 + 46680 20.366996 0.9992374 23.609716 6.0186643 4.5203078 1.4983565 0.0015931954 -0.019834783 4.5385494 + 46690 20.290831 0.98352756 23.387362 5.9993751 4.5245756 1.4747996 0.0015675946 -0.019893554 4.5429015 + 46700 20.272005 0.97894064 23.601528 5.9905322 4.5226107 1.4679215 0.0015429827 -0.019950366 4.5410181 + 46710 20.33819 0.98557772 23.605327 6.0040119 4.5261382 1.4778738 0.0015720206 -0.020132678 4.5446988 + 46720 19.904245 0.99288795 23.199262 6.0478225 4.5589871 1.4888355 0.0015761736 -0.020220983 4.5776319 + 46730 20.186293 0.9977901 23.763173 6.0488861 4.5526999 1.4961863 0.0014320499 -0.019974662 4.5712425 + 46740 20.349368 0.99679145 23.756102 6.0231499 4.5284611 1.4946888 0.0012244808 -0.019346662 4.5465833 + 46750 19.945429 1.0188064 23.948937 6.0561123 4.528412 1.5277002 0.001336484 -0.019927984 4.5470035 + 46760 20.003644 1.014415 23.726161 6.0273314 4.5062161 1.5211153 0.001621898 -0.021522853 4.526117 + 46770 20.192647 1.0228186 23.832994 6.0680901 4.5343735 1.5337165 0.0019006297 -0.022335367 4.5548083 + 46780 19.986613 1.0099654 23.788086 6.0375282 4.523085 1.5144432 0.0019498706 -0.022213559 4.5433487 + 46790 20.229675 0.99528146 23.618547 6.008289 4.5158644 1.4924245 0.0019277682 -0.022338736 4.5362754 + 46800 20.0485 0.99466991 23.871898 6.0162119 4.5247043 1.4915075 0.001835096 -0.021759122 4.5446284 + 46810 19.939202 1.015162 23.663489 6.0446383 4.5224029 1.5222354 0.0019700217 -0.022066487 4.5424994 + 46820 20.466262 1.0079055 23.801918 6.0315496 4.5201953 1.5113543 0.0019680067 -0.021529293 4.5397566 + 46830 20.366609 0.97921656 23.536008 6.0095914 4.5412561 1.4683352 0.0018965788 -0.021200808 4.5605604 + 46840 20.304585 0.99379903 23.44324 6.0097272 4.5195256 1.4902016 0.0019959986 -0.021937238 4.5394668 + 46850 20.383372 0.98615173 23.472805 5.9952907 4.5165561 1.4787345 0.002139458 -0.02249527 4.536912 + 46860 20.275793 1.0040549 23.61554 5.9959112 4.4903309 1.5055803 0.0020945565 -0.022835456 4.5110718 + 46870 20.203055 0.99876002 23.818707 6.0100744 4.5124337 1.4976406 0.0019050471 -0.022494247 4.5330229 + 46880 20.226975 1.0135693 23.607137 6.0309583 4.5111112 1.5198472 0.0016402859 -0.021631937 4.5311028 + 46890 20.00777 1.008458 23.704958 6.0456265 4.5334437 1.5121828 0.0011126724 -0.019525542 4.5518566 + 46900 20.209649 0.98548119 23.694035 6.0254077 4.5476787 1.477729 0.00092740461 -0.018890942 4.5656422 + 46910 20.129148 0.99679908 23.652999 6.0315393 4.5368391 1.4947002 0.00097495887 -0.018569506 4.5544337 + 46920 20.136125 1.0159723 23.727592 6.0509937 4.5275433 1.5234505 0.001107392 -0.019152799 4.5455887 + 46930 20.232441 1.0016478 23.792075 6.0300686 4.5280977 1.5019708 0.0012240872 -0.019618649 4.5464923 + 46940 20.425752 0.99865109 23.61989 6.0251606 4.5276833 1.4974773 0.0012436791 -0.019485238 4.5459248 + 46950 20.294658 0.99924883 24.054162 6.0422171 4.5438435 1.4983736 0.0013611515 -0.019840177 4.5623225 + 46960 20.363668 0.99609914 23.632394 6.0283374 4.5346868 1.4936507 0.0013909486 -0.019920582 4.5532164 + 46970 20.181854 0.99421051 23.742458 6.0488781 4.5580594 1.4908187 0.0014648419 -0.019871525 4.5764661 + 46980 20.354329 1.0204224 24.108324 6.0314017 4.5012783 1.5301234 0.0014265628 -0.019604295 4.519456 + 46990 20.317892 1.0038655 23.688165 6.0348683 4.5295719 1.5052964 0.0013219459 -0.01923132 4.5474813 + 47000 20.220307 1.0249363 23.712782 6.0587192 4.5218273 1.5368919 0.0014179278 -0.019824234 4.5402336 + 47010 20.50938 1.0122374 23.790398 6.0677997 4.5499496 1.51785 0.0015848155 -0.020627508 4.5689923 + 47020 20.424104 1.0189334 23.67525 6.0661661 4.5382754 1.5278907 0.0018029212 -0.021462779 4.5579352 + 47030 20.300339 1.0242588 23.942289 6.0829884 4.5471123 1.5358761 0.00186669 -0.021799844 4.5670454 + 47040 19.752023 1.025861 23.353689 6.0648251 4.5265465 1.5382786 0.0016443725 -0.020868633 4.5457707 + 47050 20.140405 1.0145686 23.760722 6.0548946 4.533549 1.5213456 0.0017240322 -0.021151884 4.5529768 + 47060 20.35175 1.013338 23.919537 6.0651233 4.545623 1.5195003 0.0015502052 -0.019834256 4.5639071 + 47070 19.978224 0.99021723 23.349448 6.0343893 4.5495586 1.4848307 0.0014931956 -0.0195834 4.5676488 + 47080 20.033795 1.0120477 23.774793 6.0462587 4.5286932 1.5175655 0.0013686415 -0.019553552 4.5468781 + 47090 20.201998 1.0280982 24.065536 6.0700607 4.5284274 1.5416332 0.0013913465 -0.020063018 4.5470991 + 47100 20.148119 1.0078634 23.958653 6.0330578 4.5217666 1.5112912 0.0015772835 -0.021243881 4.5414332 + 47110 20.280686 1.0014669 23.676764 6.028445 4.5267455 1.5016995 0.0017437941 -0.022006414 4.5470081 + 47120 20.134911 0.99906615 23.726233 6.0186042 4.5205045 1.4980997 0.0018740719 -0.022489723 4.5411202 + 47130 20.183772 0.99757744 23.666039 6.0153064 4.5194391 1.4958674 0.0019917908 -0.022972165 4.5404194 + 47140 19.8104 1.0147868 23.78567 6.0305342 4.5088614 1.5216728 0.0020237455 -0.023147479 4.5299851 + 47150 20.026401 0.99787869 23.40231 6.025765 4.5294459 1.4963191 0.00205452 -0.023095088 4.5504865 + 47160 20.135623 0.98694088 23.963585 6.0075706 4.5276527 1.4799179 0.0021742088 -0.023680553 4.549159 + 47170 20.353382 0.99319448 23.757894 6.0073661 4.518071 1.4892951 0.0020252797 -0.022615534 4.5386612 + 47180 20.27028 0.98419463 23.9502 5.9812208 4.505421 1.4757998 0.0018553346 -0.02172337 4.525289 + 47190 20.276674 0.9811793 23.603429 5.9702853 4.499007 1.4712784 0.0019631696 -0.022429357 4.5194731 + 47200 20.257207 0.9797498 23.755831 5.9891956 4.5200608 1.4691348 0.002023462 -0.022604947 4.5406422 + 47210 19.975639 0.9846563 23.531297 6.0056232 4.5291311 1.4764921 0.0020356712 -0.022774922 4.5498703 + 47220 20.083996 1.0087878 23.623522 6.0291212 4.5164439 1.5126773 0.0020917667 -0.022968349 4.5373205 + 47230 20.403805 1.0057014 23.441081 6.0255845 4.5175353 1.5080493 0.0020670604 -0.022511464 4.5379797 + 47240 20.270216 0.99019934 23.419546 6.0044448 4.5196409 1.4848039 0.002010036 -0.022286265 4.5399171 + 47250 20.345429 0.98763703 23.71086 5.9918372 4.5108755 1.4809617 0.0019484215 -0.022196636 4.5311237 + 47260 20.380076 0.97495489 23.629369 6.0051828 4.5432379 1.4619449 0.0019083523 -0.022230312 4.5635599 + 47270 20.395653 0.99423682 23.826459 6.0123023 4.5214442 1.4908581 0.0018837127 -0.022301439 4.5418619 + 47280 20.292505 1.0176935 23.954609 6.0064889 4.4804575 1.5260314 0.001845558 -0.022648167 4.5012601 + 47290 20.287084 0.98136044 23.584329 6.0115371 4.5399871 1.47155 0.001720436 -0.021878641 4.5601453 + 47300 20.187661 1.0015103 23.473539 6.0335293 4.5317646 1.5017647 0.0017531179 -0.022190817 4.5522023 + 47310 19.9103 1.0019472 23.730574 6.0012992 4.4988794 1.5024199 0.0018724174 -0.022659342 4.5196663 + 47320 20.028735 0.98244884 23.792616 5.9852068 4.5120248 1.473182 0.001734441 -0.021917965 4.5322083 + 47330 19.928813 0.99091737 23.84365 6.0052259 4.5193453 1.4858806 0.0017024607 -0.021204261 4.5388471 + 47340 20.262531 0.978819 23.831065 6.0115745 4.5438355 1.4677391 0.0017791233 -0.021810739 4.5638671 + 47350 20.068578 1.0070156 23.711599 6.048589 4.538569 1.51002 0.0018435743 -0.022191722 4.5589171 + 47360 20.148835 1.0173048 23.761685 6.0626154 4.5371668 1.5254486 0.0016969512 -0.021884246 4.5573541 + 47370 19.949613 1.0048624 24.018574 6.0639022 4.557111 1.5067912 0.001623409 -0.021632538 4.5771201 + 47380 19.932486 1.0175791 23.652211 6.069931 4.5440711 1.5258599 0.0015815914 -0.021147356 4.5636369 + 47390 20.246227 1.0108956 23.671451 6.0714989 4.555661 1.5158379 0.0016423569 -0.021404661 4.5754233 + 47400 20.293543 1.0261408 23.627805 6.0666797 4.5279817 1.5386981 0.0018230388 -0.022344476 4.5485031 + 47410 20.366185 1.0247733 23.72478 6.0703253 4.5336778 1.5366475 0.0017392795 -0.021913675 4.5538522 + 47420 20.370585 1.0004945 23.879403 6.0280601 4.5278185 1.5002415 0.0016045232 -0.021279918 4.5474939 + 47430 20.314694 1.0149392 23.57572 6.0649676 4.5430664 1.5219013 0.0017953625 -0.022444113 4.5637151 + 47440 20.351752 1.0356732 24.100429 6.0630465 4.5100545 1.552992 0.0018240065 -0.022779644 4.5310102 + 47450 20.110574 1.0197027 23.979727 6.0630525 4.5340083 1.5290442 0.0018708391 -0.023147794 4.5552853 + 47460 20.228573 1.0260573 23.922912 6.0833821 4.5448092 1.5385729 0.0018593821 -0.023247425 4.5661972 + 47470 19.943196 1.032424 23.700361 6.0853531 4.5372333 1.5481198 0.0016939937 -0.022521605 4.558061 + 47480 20.249074 1.0095992 23.699381 6.0464826 4.5325886 1.513894 0.0017155229 -0.022239707 4.5531127 + 47490 20.357758 1.0074554 23.756014 6.0484466 4.5377673 1.5106793 0.0018216553 -0.022457682 4.5584033 + 47500 20.059444 1.0128217 23.832363 6.0438875 4.5251614 1.5187261 0.0017414477 -0.022150112 4.5455701 + 47510 20.157198 1.0079509 23.741435 6.063106 4.5516837 1.5114223 0.0016220003 -0.021302975 4.5713647 + 47520 20.242684 1.0180534 23.459084 6.0718723 4.5453012 1.5265711 0.0016205269 -0.021025702 4.5647064 + 47530 20.113852 1.02045 23.735538 6.0844784 4.5543137 1.5301647 0.0015834834 -0.021048974 4.5737792 + 47540 20.003391 1.0186752 23.901987 6.0630849 4.5355814 1.5275034 0.0016357119 -0.021277875 4.5552236 + 47550 20.081926 1.0020056 23.627988 6.0470123 4.5445048 1.5025075 0.0015100092 -0.020439305 4.5634341 + 47560 19.926511 1.0065086 23.716054 6.0866542 4.5773947 1.5092596 0.0015348013 -0.020918213 4.5967781 + 47570 19.92044 1.0285891 23.628881 6.1088666 4.5664972 1.5423694 0.0014576333 -0.020837664 4.5858773 + 47580 20.211974 1.0177926 23.812434 6.085803 4.5596229 1.5261801 0.0013597619 -0.020497381 4.5787606 + 47590 20.361412 1.0169379 23.768567 6.063781 4.5388826 1.5248984 0.0011880367 -0.019888318 4.5575829 + 47600 20.389993 0.98769905 23.570466 6.0467232 4.5656685 1.4810547 0.0011244762 -0.01945627 4.5840003 + 47610 20.096996 1.0093527 23.739571 6.0481645 4.53464 1.5135244 0.0010388803 -0.018597343 4.5521985 + 47620 20.252465 0.99865518 23.721641 6.0407225 4.543239 1.4974834 0.0012865518 -0.019084194 4.5610367 + 47630 20.165988 0.9964592 23.804189 6.0472888 4.5530983 1.4941906 0.0014676059 -0.019571498 4.5712021 + 47640 19.877504 1.0086997 23.60986 6.0415869 4.5290417 1.5125452 0.001600347 -0.020187347 4.5476287 + 47650 20.414478 0.99776954 23.392208 6.0310882 4.5349327 1.4961554 0.0015545849 -0.019872118 4.5532503 + 47660 20.278605 1.0060207 23.88739 6.0194175 4.5108894 1.5085281 0.0013534058 -0.018771496 4.5283075 + 47670 20.305983 1.0094603 23.637552 6.0541352 4.5404494 1.5136858 0.001251912 -0.018151356 4.5573489 + 47680 20.098957 1.0177237 23.757708 6.0692736 4.5431969 1.5260767 0.0013394808 -0.019060336 4.5609177 + 47690 20.197541 1.0246072 23.492438 6.0744778 4.5380792 1.5363986 0.0013928709 -0.019501952 4.5561883 + 47700 20.120407 1.021446 23.805089 6.0641897 4.5325314 1.5316583 0.0015176354 -0.020194514 4.5512083 + 47710 20.429473 1.0185517 23.84279 6.0785868 4.5512685 1.5273182 0.0016324828 -0.020578361 4.5702144 + 47720 19.873779 1.048365 23.552284 6.1040784 4.5320551 1.5720233 0.0016705297 -0.021209947 4.5515945 + 47730 20.269215 1.0353619 23.92073 6.1027081 4.5501829 1.5525252 0.0017695572 -0.021311552 4.5697249 + 47740 20.245544 1.0239132 23.922762 6.07381 4.5384521 1.5353579 0.001866689 -0.021496845 4.5580822 + 47750 19.734743 1.0027269 23.973044 6.0720796 4.5684906 1.5035891 0.0019943951 -0.022143458 4.5886396 + 47760 20.069041 1.0227674 23.59911 6.0593986 4.525759 1.5336397 0.0021189924 -0.02307539 4.5467154 + 47770 20.025421 1.0100366 23.667041 6.0689003 4.5543504 1.5145499 0.0021540999 -0.023814837 4.5760112 + 47780 20.102166 1.0090331 23.985947 6.0212414 4.5081963 1.5130452 0.0022703504 -0.024710902 4.5306368 + 47790 20.255404 0.97137348 23.625444 5.9932773 4.5367028 1.4565745 0.0023491536 -0.025055897 4.5594095 + 47800 20.354769 0.97434014 23.53204 6.0043519 4.5433288 1.461023 0.0022762294 -0.024521624 4.5655742 + 47810 20.285638 1.0069276 23.599325 6.0200429 4.510155 1.5098879 0.0023442483 -0.024643548 4.5324543 + 47820 20.371202 0.99667405 23.557812 6.0208293 4.5263166 1.4945127 0.002507519 -0.025435551 4.5492446 + 47830 19.988538 0.98786777 23.652222 6.0302274 4.5489196 1.4813077 0.0023233095 -0.024947065 4.5715434 + 47840 20.11811 0.98836013 23.58244 6.0092357 4.5271897 1.482046 0.0020101901 -0.023696981 4.5488765 + 47850 20.001823 1.005781 23.793327 6.0080826 4.4999139 1.5081687 0.0017759881 -0.02269427 4.5208322 + 47860 20.127744 0.98684488 23.84958 6.0081241 4.5283502 1.4797739 0.0015813468 -0.022121565 4.5488904 + 47870 20.142337 1.0027677 23.600283 6.0264568 4.5228066 1.5036502 0.0014054967 -0.021373805 4.5427749 + 47880 20.095954 1.0004908 23.860064 6.025942 4.525706 1.500236 0.00137493 -0.021274466 4.5456056 + 47890 19.983811 1.0228399 23.737729 6.0571841 4.5234357 1.5337484 0.001361405 -0.021225095 4.5432994 + 47900 20.125679 1.0171233 23.560813 6.0471672 4.5219908 1.5251763 0.0015417183 -0.021797472 4.5422466 + 47910 20.268802 0.99877894 23.954014 6.021777 4.524108 1.497669 0.0017683683 -0.022716416 4.545056 + 47920 20.306393 0.99433371 23.751753 6.0246354 4.533632 1.4910034 0.0019525947 -0.023305072 4.5549845 + 47930 20.363269 1.0058582 23.481584 6.0280149 4.5197305 1.5082844 0.0020710157 -0.023711645 4.5413711 + 47940 20.023069 1.0079459 23.819847 6.043227 4.5318122 1.5114148 0.0019940129 -0.023234327 4.5530525 + 47950 19.658852 1.0253438 23.584125 6.0669426 4.5294395 1.5375031 0.0018770081 -0.022778527 4.550341 + 47960 20.24951 1.0128941 23.826854 6.0430693 4.5242346 1.5188347 0.0017941536 -0.022164021 4.5446045 + 47970 20.292848 0.98682901 23.493904 6.0112629 4.5315128 1.4797501 0.0019232562 -0.022174397 4.551764 + 47980 20.035003 0.99770386 23.855771 6.0384282 4.5423712 1.4960569 0.0017582802 -0.021226988 4.56184 + 47990 19.772585 1.0048355 23.865033 6.0568687 4.5501178 1.5067508 0.0018161444 -0.021654119 4.5699558 + 48000 20.08167 1.001627 23.875076 6.0686722 4.5667325 1.5019397 0.0018680824 -0.021814628 4.5866791 + 48010 20.092742 1.0019165 23.774655 6.0549702 4.5525965 1.5023737 0.0017192083 -0.020771392 4.5716486 + 48020 20.05018 0.99501817 23.65103 6.0162399 4.5242102 1.4920297 0.0016256647 -0.020476559 4.5430611 + 48030 20.358242 1.0007593 23.630229 6.0387276 4.5380891 1.5006385 0.0014748894 -0.020171524 4.5567857 + 48040 20.234779 0.99928325 23.64072 6.0419527 4.5435275 1.4984252 0.0012173925 -0.019469562 4.5617797 + 48050 20.124575 1.0024013 23.857708 6.0468533 4.5437525 1.5031008 0.0012882113 -0.0201132 4.5625775 + 48060 20.406104 0.99229689 23.840852 6.0166136 4.5286644 1.4879492 0.0014236845 -0.020860498 4.5481012 + 48070 20.348032 0.98884642 23.810213 6.0069842 4.524209 1.4827752 0.0013920752 -0.02021279 4.5430297 + 48080 20.274213 1.0103245 23.688854 6.0017072 4.4867255 1.5149817 0.0012837011 -0.019726937 4.5051688 + 48090 19.823823 0.97112024 23.856925 5.9954841 4.5392893 1.4561948 0.0014943629 -0.020783044 4.558578 + 48100 19.952048 0.9931754 23.467261 6.0106116 4.5213451 1.4892665 0.0016626164 -0.021195753 4.5408782 + 48110 20.258022 1.0017036 23.903545 6.0372146 4.5351601 1.5020546 0.0017066241 -0.021381974 4.5548354 + 48120 20.208705 0.99997129 23.20547 6.0338958 4.5344389 1.4994569 0.0018437104 -0.022273658 4.5548688 + 48130 20.312324 1.0084001 23.855871 6.0387411 4.5266452 1.512096 0.0019212357 -0.022528329 4.5472523 + 48140 19.904025 0.98450382 23.744397 6.0161818 4.5399183 1.4762635 0.001977147 -0.02292946 4.5608706 + 48150 20.034842 1.009382 23.685714 6.0494692 4.5359009 1.5135684 0.002170814 -0.024241616 4.5579717 + 48160 19.895368 1.0288368 23.842334 6.0588853 4.5161446 1.5427407 0.0022937893 -0.024834434 4.5386852 + 48170 20.279039 0.99689888 23.930235 6.0537406 4.5588907 1.4948499 0.0021504998 -0.024483456 4.5812236 + 48180 20.153317 1.0232138 23.759936 6.0572589 4.5229498 1.5343091 0.0021236599 -0.023869288 4.5446954 + 48190 20.265341 1.0014229 23.677 6.0584474 4.5568138 1.5016336 0.0019539212 -0.023257391 4.5781173 + 48200 20.307684 1.0158132 23.598992 6.0323309 4.5091189 1.5232119 0.0018435616 -0.023165975 4.5304413 + 48210 20.439757 1.0023508 23.639922 6.0291415 4.5261165 1.503025 0.0018501906 -0.022509662 4.5467759 + 48220 20.346699 0.99081355 23.636845 6.0260049 4.54028 1.4857249 0.0018077143 -0.022352317 4.5608246 + 48230 20.334696 0.99291667 23.863962 6.0134917 4.5246131 1.4888785 0.001970766 -0.022842018 4.5454844 + 48240 20.336072 1.0065954 23.721719 6.0305256 4.5211358 1.5093898 0.001865289 -0.022254133 4.5415246 + 48250 20.270716 1.0068986 23.761505 6.0257953 4.5159509 1.5098444 0.0017760313 -0.022248138 4.536423 + 48260 19.935017 0.98981074 23.577547 6.0165541 4.5323329 1.4842212 0.0019293455 -0.022836335 4.5532399 + 48270 20.165507 0.99595478 23.537893 6.0147312 4.521297 1.4934342 0.0020434145 -0.023345072 4.5425987 + 48280 20.351654 0.98667869 23.474786 6.0305603 4.5510357 1.4795247 0.0021698055 -0.023845293 4.5727111 + 48290 20.497111 1.0273275 23.823467 6.0808321 4.5403545 1.5404776 0.0022000071 -0.023867309 4.5620218 + 48300 20.243855 1.0342493 23.428377 6.0835859 4.5327291 1.5508568 0.0022359058 -0.024147464 4.5546407 + 48310 20.297498 0.99942764 23.60318 6.030615 4.5319733 1.4986417 0.0021033477 -0.024014869 4.5538848 + 48320 20.033728 1.0042015 23.835166 6.0584636 4.5526635 1.5058002 0.0021239163 -0.024090596 4.5746301 + 48330 20.232524 1.0019533 23.950586 6.0281649 4.5257359 1.502429 0.0020120001 -0.023153575 4.5468775 + 48340 20.420627 1.0109796 23.752241 6.0378248 4.5218609 1.5159638 0.0018401673 -0.022231211 4.542252 + 48350 20.49079 1.0204542 24.082493 6.0470199 4.5168488 1.5301711 0.0016579884 -0.021510869 4.5367017 + 48360 20.292197 1.0021468 23.671215 6.0394705 4.5367513 1.5027192 0.0015636062 -0.02069066 4.5558784 + 48370 20.284598 0.96863964 23.625656 6.0018656 4.5493904 1.4524751 0.0015330329 -0.020386201 4.5682436 + 48380 20.333894 0.99826914 23.911712 6.0050322 4.5081276 1.4969046 0.0014096506 -0.020329102 4.5270471 + 48390 20.127275 1.0013396 23.586619 6.0274144 4.5259058 1.5015087 0.0012970425 -0.019849215 4.5444579 + 48400 19.789527 1.0013442 23.943996 6.0186328 4.5171171 1.5015156 0.001219864 -0.019407341 4.5353046 + 48410 20.152979 0.99332714 23.901862 6.0140938 4.5245997 1.489494 0.0013076475 -0.019458725 4.5427508 + 48420 20.202981 0.99754939 23.771233 6.0074033 4.5115779 1.4958253 0.0015028139 -0.020625895 4.530701 + 48430 20.152511 0.99353146 23.589872 6.0175413 4.5277409 1.4898004 0.0016328992 -0.021020594 4.5471286 + 48440 19.945099 0.98943892 23.786557 6.0086405 4.5249768 1.4836637 0.0015554648 -0.020469302 4.5438907 + 48450 19.927989 0.99159604 24.093042 5.9955773 4.5086791 1.4868983 0.0012533378 -0.019239381 4.5266651 + 48460 20.25111 0.97489904 23.606288 5.9615354 4.4996743 1.4618611 0.0010295303 -0.018139235 4.516784 + 48470 20.088385 0.98196784 23.70195 5.978917 4.5064563 1.4724608 0.00094876287 -0.018104943 4.5236124 + 48480 20.311597 0.99131235 23.582277 6.0086072 4.5221343 1.4864729 0.00090683956 -0.018077638 4.5393051 + 48490 20.484543 1.0019601 23.5743 6.0289604 4.5265211 1.5024392 0.0010216926 -0.018320947 4.5438204 + 48500 20.044673 0.99392094 23.845885 6.0375796 4.5471951 1.4903845 0.0011666269 -0.018663362 4.5646918 + 48510 20.235941 1.0029812 23.710196 6.0250803 4.5211099 1.5039704 0.0011459188 -0.018660142 4.5386241 + 48520 20.048768 1.0091277 23.70086 6.0553306 4.5421437 1.5131869 0.0012148793 -0.018700679 4.5596295 + 48530 20.335223 0.99927343 24.106113 6.028004 4.5295935 1.4984105 0.0013766077 -0.019265038 4.547482 + 48540 20.26429 0.99158118 23.532455 6.0299034 4.5430274 1.486876 0.0014148893 -0.019301124 4.5609137 + 48550 19.957404 1.0150225 23.763387 6.0659911 4.5439649 1.5220262 0.0014828216 -0.020066725 4.5625488 + 48560 20.154192 1.0210738 23.775981 6.0603283 4.5292282 1.5311001 0.0015834165 -0.020924578 4.5485693 + 48570 20.246622 1.0117254 23.893881 6.0365481 4.5194659 1.5170822 0.0015225276 -0.021129844 4.5390732 + 48580 20.021251 1.0168515 23.432591 6.0714599 4.546691 1.5247689 0.0016655227 -0.022350914 4.5673764 + 48590 20.24879 1.0152238 23.914316 6.0590766 4.5367484 1.5223281 0.0017575185 -0.022976455 4.5579674 + 48600 20.112082 1.0106267 23.470063 6.0529588 4.5375241 1.5154347 0.0016122601 -0.02222541 4.5581373 + 48610 20.193931 1.0368325 23.558468 6.0484471 4.4937168 1.5547303 0.0014586661 -0.021128591 4.5133867 + 48620 20.279564 0.99583889 23.643697 6.0242447 4.5309843 1.4932604 0.0015481216 -0.020899508 4.5503357 + 48630 20.298103 0.97878083 23.707043 6.0199762 4.5522944 1.4676819 0.0016281088 -0.021126418 4.5717927 + 48640 20.351174 1.0145351 24.075695 6.0643696 4.5430743 1.5212954 0.0017177215 -0.021494692 4.5628513 + 48650 20.26275 1.0162282 23.83033 6.0483794 4.5245452 1.5238342 0.0017020723 -0.02181046 4.5446536 + 48660 20.256557 1.0203518 23.405658 6.0970211 4.5670036 1.5300175 0.0016982711 -0.021382198 4.5866875 + 48670 20.181789 1.0163377 23.847879 6.0622941 4.5382957 1.5239984 0.0017377737 -0.021363198 4.5579211 + 48680 20.385385 1.0208902 23.589861 6.0814025 4.5505777 1.5308248 0.0020091721 -0.022814541 4.5713831 + 48690 20.246982 1.0317702 24.100563 6.0722532 4.5251138 1.5471394 0.0019643146 -0.02320974 4.5463593 + 48700 19.796231 1.0244897 23.749544 6.0868021 4.5505798 1.5362223 0.0021851504 -0.024222167 4.5726168 + 48710 20.349551 1.0059472 23.438284 6.0306571 4.5222392 1.5084179 0.0018483705 -0.02286769 4.5432585 + 48720 20.254742 0.98535793 23.834619 6.0231486 4.5456044 1.4775442 0.001523 -0.021612827 4.5656942 + 48730 20.391908 1.0172019 23.745089 6.0389033 4.5136091 1.5252942 0.0015365906 -0.021498504 4.533571 + 48740 20.309668 0.99174604 23.504578 6.0384755 4.5513523 1.4871232 0.0016799015 -0.021718418 4.5713908 + 48750 20.218516 1.0363163 23.962222 6.0822847 4.5283284 1.5539563 0.0016808929 -0.021951124 4.5485986 + 48760 20.399416 1.011943 23.909258 6.0546801 4.5372716 1.5174085 0.00172953 -0.021749344 4.5572914 + 48770 20.20317 0.99865105 23.815747 6.0442422 4.5467649 1.4974772 0.001677998 -0.021519921 4.5666068 + 48780 20.249409 1.0159312 23.944545 6.0447671 4.5213782 1.5233889 0.001625015 -0.021705709 4.5414589 + 48790 20.063577 1.0181084 23.608338 6.0690206 4.542367 1.5266535 0.0017299225 -0.022246283 4.5628834 + 48800 19.678108 1.0312136 23.608535 6.0782452 4.5319404 1.5463048 0.0017686197 -0.022160777 4.5523325 + 48810 20.291697 1.0141484 23.511659 6.0544153 4.5336997 1.5207156 0.0019344633 -0.023042437 4.5548077 + 48820 19.824579 1.0084694 23.535487 6.0608118 4.5486119 1.5121999 0.001901511 -0.022997617 4.5697081 + 48830 20.273025 1.0204406 23.703441 6.0751378 4.5449871 1.5301507 0.0018578303 -0.022995408 4.5661246 + 48840 20.247285 1.0201648 23.70514 6.0520742 4.522337 1.5297372 0.0018488508 -0.023087468 4.5435756 + 48850 19.952398 1.0130224 23.74935 6.0357562 4.5167291 1.5190271 0.0017871611 -0.022355297 4.5372972 + 48860 19.928601 0.99666869 23.840669 6.042943 4.5484383 1.4945047 0.0017385015 -0.022274606 4.5689744 + 48870 19.942909 1.0105979 23.78034 6.0732917 4.5579001 1.5153916 0.0018957446 -0.022858684 4.5788631 + 48880 19.833689 1.013954 24.041497 6.0602716 4.5398476 1.5204241 0.0018989247 -0.022633051 4.5605817 + 48890 20.157293 1.0111803 23.912844 6.0539597 4.5376948 1.5162649 0.0018846388 -0.022709337 4.5585195 + 48900 20.19783 1.0115703 23.743349 6.0578052 4.5409555 1.5168496 0.0019293941 -0.022878355 4.5619045 + 48910 20.492498 1.0153801 23.755061 6.0444024 4.5218398 1.5225625 0.001846915 -0.022473605 4.5424665 + 48920 20.282658 1.0122768 23.777633 6.0574881 4.5395789 1.5179091 0.0017879111 -0.022286424 4.5600774 + 48930 20.103709 1.0180539 23.491373 6.0394463 4.5128746 1.5265718 0.0019108242 -0.022917561 4.5338813 + 48940 19.659699 1.0048792 23.761484 6.0234746 4.5166582 1.5068164 0.0020325576 -0.023155645 4.5377813 + 48950 19.246959 0.99742602 23.689223 6.0465909 4.5509506 1.4956403 0.0020053955 -0.023194715 4.5721399 + 48960 20.135706 0.98150986 23.737876 6.0213494 4.5495754 1.471774 0.0019047173 -0.022652097 4.5703228 + 48970 20.343295 0.97490556 23.863418 5.9857344 4.5238635 1.4618709 0.0018375077 -0.02225514 4.5442811 + 48980 20.02101 0.98178507 23.475156 5.9852687 4.513082 1.4721867 0.0018230064 -0.021956217 4.5332152 + 48990 20.226199 0.97361576 23.637462 6.0057737 4.5458369 1.4599368 0.0017361521 -0.021612769 4.5657135 + 49000 20.12915 0.9877275 23.515647 5.9953762 4.5142788 1.4810974 0.0017059363 -0.021112474 4.5336854 + 49010 20.421433 0.99821949 23.75771 6.0134637 4.5166336 1.4968301 0.0015165544 -0.020524927 4.535642 + 49020 20.321304 0.98876789 23.709311 6.0227552 4.5400977 1.4826574 0.0017052916 -0.021506045 4.5598985 + 49030 20.311897 1.0159276 23.960057 6.0470454 4.523662 1.5233834 0.001730819 -0.021497114 4.5434283 + 49040 20.556216 1.0113169 23.794557 6.0493454 4.5328757 1.5164697 0.0016356363 -0.020631665 4.5518717 + 49050 20.293715 1.0173596 23.636492 6.0477845 4.5222538 1.5255307 0.0015071761 -0.020192248 4.5409389 + 49060 20.337316 1.0150758 23.86284 6.0470064 4.5249002 1.5221062 0.0013771446 -0.01961251 4.5431355 + 49070 20.586078 1.010703 23.509753 6.0624415 4.5468924 1.5155491 0.0014557036 -0.020008454 4.5654452 + 49080 20.496464 1.0272357 23.663025 6.0663555 4.5260156 1.5403399 0.0015424834 -0.02045301 4.5449261 + 49090 20.287752 1.0127991 23.936894 6.0617244 4.5430321 1.5186922 0.0015837521 -0.020615319 4.5620637 + 49100 20.179987 1.0238202 23.789623 6.0560682 4.5208498 1.5352183 0.0015939612 -0.020745889 4.5400018 + 49110 20.330598 1.0066277 23.510065 6.0266251 4.5171869 1.5094382 0.0016062888 -0.02078812 4.5363688 + 49120 20.023947 1.0019052 23.770185 6.020732 4.5183752 1.5023568 0.0012940149 -0.019855132 4.5369363 + 49130 20.110319 1.0036891 23.624926 6.0326738 4.5276421 1.5050318 0.0011259168 -0.019217864 4.545734 + 49140 20.266865 1.0009169 23.61381 6.021361 4.520486 1.500875 0.0013468304 -0.020149604 4.5392888 + 49150 20.189154 1.0021998 23.515929 6.0280363 4.5252377 1.5027985 0.001554053 -0.021376888 4.5450606 + 49160 19.944241 1.0074794 23.87188 6.0668797 4.5561643 1.5107154 0.0016836812 -0.022036253 4.5765169 + 49170 19.686702 1.0342239 23.887574 6.0554757 4.504657 1.5508187 0.0016793557 -0.021646389 4.5246241 + 49180 20.154913 1.0217633 23.796527 6.070018 4.5378839 1.532134 0.0016186565 -0.020921973 4.5571873 + 49190 20.228545 0.99462325 23.614145 6.0490148 4.5575772 1.4914376 0.0014184503 -0.019796381 4.5759551 + 49200 20.149501 1.0124837 23.632356 6.0516763 4.533457 1.5182193 0.001408198 -0.020146922 4.5521957 + 49210 20.253961 0.9991946 23.523121 6.0478459 4.5495536 1.4982923 0.0015899399 -0.021389452 4.5693531 + 49220 20.578188 1.0013263 23.808185 6.0414632 4.5399745 1.5014887 0.0015940184 -0.021642935 4.5600234 + 49230 20.489377 0.99515994 23.99896 6.0449781 4.5527357 1.4922423 0.0015748083 -0.02114808 4.572309 + 49240 20.169756 1.0037784 23.704539 6.0320426 4.5268769 1.5051657 0.0016773638 -0.02164008 4.5468396 + 49250 20.274271 1.0168026 23.780086 6.0502321 4.5255366 1.5246954 0.0018283005 -0.022219024 4.5459274 + 49260 20.234852 0.99550943 23.700839 6.0157468 4.5229804 1.4927664 0.0016209732 -0.021647429 4.5430068 + 49270 19.951826 0.99778328 23.551597 6.0155048 4.5193288 1.496176 0.0013997358 -0.020839401 4.5387684 + 49280 20.193136 1.0004644 23.391275 6.0345273 4.5343309 1.5001964 0.0012465156 -0.020273882 4.5533583 + 49290 20.16189 0.98035293 23.286265 6.0178952 4.547856 1.4700392 0.0013306076 -0.020917519 4.5674429 + 49300 20.301786 1.0028633 23.595528 6.0079313 4.5041379 1.5037935 0.0014697267 -0.021342128 4.5240103 + 49310 20.197331 1.0153036 23.991268 6.0267441 4.5042964 1.5224477 0.0015924005 -0.021821722 4.5245257 + 49320 20.110518 0.98601974 23.562957 6.0221164 4.5435798 1.4785366 0.001638885 -0.021803681 4.5637446 + 49330 20.369831 1.0070654 23.721963 6.047095 4.5370005 1.5100945 0.0015416312 -0.02135188 4.5568107 + 49340 20.450949 1.0011549 23.384085 6.0368276 4.5355958 1.5012318 0.0014443102 -0.020909553 4.5550611 + 49350 20.395552 1.0138367 23.659703 6.0420287 4.5217805 1.5202482 0.0015169933 -0.021323142 4.5415867 + 49360 20.3724 1.0214411 23.523009 6.0492371 4.5175861 1.531651 0.0014281067 -0.021246497 4.5374044 + 49370 20.158336 1.0186807 23.677277 6.0665043 4.5389925 1.5275117 0.0016609928 -0.022174185 4.5595057 + 49380 20.452147 1.0229617 23.795312 6.0848358 4.5509048 1.533931 0.0017290726 -0.022122227 4.5712979 + 49390 20.252086 1.0261038 23.748581 6.0875935 4.5489508 1.5386427 0.0017841461 -0.022249776 4.5694164 + 49400 20.391977 1.0044695 23.570779 6.058467 4.552265 1.506202 0.0016614753 -0.021324994 4.5719285 + 49410 20.260026 0.96612619 23.569609 5.9842193 4.5355131 1.4487062 0.0015884598 -0.02120991 4.5551345 + 49420 20.371237 0.99861623 23.567279 5.9990798 4.5016548 1.497425 0.0015560108 -0.021245896 4.5213446 + 49430 20.419084 0.98282454 23.553037 5.9907816 4.5170363 1.4737454 0.0015954955 -0.021737291 4.537178 + 49440 20.217508 0.99307055 23.642426 5.9919764 4.5028671 1.4891093 0.0016607133 -0.021934643 4.5231411 + 49450 20.016646 0.97849253 23.802128 6.0011992 4.5339497 1.4672495 0.0017871771 -0.022289207 4.5544517 + 49460 20.419092 0.99620482 23.572354 6.0162048 4.5223957 1.4938091 0.0018905236 -0.022937351 4.5434425 + 49470 20.353931 0.98083154 23.673216 5.9999903 4.5292335 1.4707569 0.0019939404 -0.023201809 4.5504413 + 49480 20.143139 0.98409645 23.527164 6.0146689 4.5390163 1.4756526 0.0020375307 -0.023345402 4.5603242 + 49490 20.247725 1.0131899 23.921025 6.0273387 4.5080604 1.5192783 0.0020786431 -0.023699769 4.5296815 + 49500 20.001164 1.0166059 23.88134 6.0399856 4.515585 1.5244006 0.0018651451 -0.022708501 4.5364283 + 49510 20.187796 1.0066386 23.380853 6.0297901 4.5203354 1.5094547 0.0013603682 -0.020453472 4.5394285 + 49520 20.035165 1.0060428 23.900885 6.0194075 4.5108463 1.5085612 0.0013713369 -0.020722593 4.5301976 + 49530 20.161967 1.0044381 23.59164 6.0465345 4.5403795 1.5061549 0.0015329321 -0.021437451 4.5602841 + 49540 20.326417 0.99775365 23.658955 6.0632017 4.5670701 1.4961316 0.0015139343 -0.020929958 4.5864862 + 49550 20.422165 1.0199317 23.737265 6.0641224 4.5347349 1.5293875 0.0015590851 -0.02120534 4.5543812 + 49560 20.352315 1.0251985 23.707818 6.0876907 4.5504055 1.5372852 0.0016833398 -0.021878889 4.5706011 + 49570 20.308226 1.0333085 23.689489 6.0825021 4.533056 1.5494461 0.0018693984 -0.022818913 4.5540055 + 49580 20.244398 1.0166015 23.894117 6.0707639 4.54637 1.5243939 0.0018696006 -0.022407379 4.5669078 + 49590 20.327445 1.0283436 23.785233 6.0780648 4.5360636 1.5420013 0.001803078 -0.022079905 4.5563404 + 49600 20.2178 1.0476443 23.763777 6.0952589 4.5243162 1.5709427 0.001573043 -0.020888929 4.5436321 + 49610 20.223364 1.0375874 23.677047 6.0960719 4.5402096 1.5558623 0.0014702163 -0.020439035 4.5591784 + 49620 20.331084 1.0167826 23.956232 6.0544599 4.5297944 1.5246655 0.0017372775 -0.021718506 4.5497756 + 49630 20.365098 1.0068766 23.629201 6.0432985 4.5334871 1.5098114 0.0020585746 -0.023208323 4.5546368 + 49640 20.332175 0.99137073 23.529578 6.0351569 4.5485965 1.4865604 0.0021246313 -0.023365241 4.5698371 + 49650 20.036399 1.0117609 23.728483 6.0549685 4.537833 1.5171355 0.0019348587 -0.022553872 4.558452 + 49660 19.883148 1.0020744 23.441634 6.0275668 4.5249562 1.5026106 0.0018764935 -0.022430061 4.5455098 + 49670 20.152382 1.0045662 23.672501 6.0258117 4.5194646 1.506347 0.0019490492 -0.023101656 4.5406173 + 49680 20.084614 1.0162295 23.780029 6.0388918 4.5150557 1.5238361 0.0017976323 -0.022311943 4.53557 + 49690 20.289152 1.0049801 23.669072 6.0474696 4.540502 1.5069676 0.0019078654 -0.023074363 4.5616685 + 49700 20.329147 1.0100753 23.791167 6.0289011 4.5142931 1.5146079 0.0018790246 -0.023101137 4.5355153 + 49710 20.417034 1.0097238 23.960489 6.0422259 4.5281451 1.5140808 0.001837642 -0.022446997 4.5487545 + 49720 20.241195 1.0029771 23.856427 6.0303659 4.5264017 1.5039642 0.0016574553 -0.021187511 4.5459317 + 49730 20.249616 1.0142653 23.68421 6.0478237 4.5269328 1.5208909 0.0015762467 -0.020721838 4.5460784 + 49740 20.221873 1.0111096 23.660705 6.060148 4.5439892 1.5161588 0.0016651396 -0.020933744 4.5632578 + 49750 20.078585 1.0082958 23.76406 6.0344513 4.5225117 1.5119396 0.0017688952 -0.02153225 4.5422751 + 49760 20.280866 0.99882495 23.684516 6.0278345 4.5300965 1.497738 0.0019132943 -0.022086411 4.5502696 + 49770 19.907588 1.0070462 23.9037 6.0367673 4.5267015 1.5100658 0.0021930502 -0.023152488 4.5476609 + 49780 20.274468 0.9994429 23.542574 6.0291941 4.5305295 1.4986646 0.0021645705 -0.023282829 4.5516477 + 49790 20.266311 0.99426447 23.778971 6.0211002 4.5302006 1.4908996 0.0021759277 -0.02352001 4.5515447 + 49800 20.481745 1.0225019 23.673419 6.0427981 4.5095565 1.5332416 0.0019203527 -0.021984826 4.529621 + 49810 20.17896 1.0003297 23.551893 6.0416931 4.5416987 1.4999943 0.0017155182 -0.021064342 4.5610476 + 49820 20.137353 1.0005453 23.600793 6.0222946 4.5219769 1.5003177 0.0016506126 -0.020827637 4.5411539 + 49830 20.178748 0.99312983 23.474344 6.0079066 4.5187084 1.4891982 0.0017198067 -0.021390683 4.5383793 + 49840 19.969132 0.98638973 23.374545 6.0139061 4.5348147 1.4790914 0.0018845806 -0.022350718 4.5552809 + 49850 20.161297 1.001022 23.510106 6.0243441 4.5233117 1.5010324 0.0018485824 -0.02210462 4.5435678 + 49860 19.912237 1.0094274 23.902265 6.0234455 4.5098092 1.5136363 0.0018177507 -0.022021776 4.5300132 + 49870 20.372373 1.0068818 23.600284 6.0387805 4.5289612 1.5098193 0.0016351948 -0.02127823 4.5486042 + 49880 20.242769 1.0197636 23.496906 6.0557656 4.5266301 1.5291355 0.0016692667 -0.02121687 4.5461777 + 49890 20.30497 0.98416878 23.684104 6.0256568 4.5498957 1.4757611 0.0016934761 -0.021500502 4.5697027 + 49900 20.374907 0.99335733 23.718063 6.0187986 4.5292593 1.4895393 0.0017897648 -0.022098499 4.549568 + 49910 20.167003 1.0119458 23.640922 6.0393727 4.52196 1.5174127 0.0018120921 -0.021939059 4.542087 + 49920 20.138885 0.99005094 23.784998 6.0249141 4.5403327 1.4845814 0.0017151634 -0.021524261 4.5601418 + 49930 20.141934 1.0122558 23.80921 6.0456784 4.5278009 1.5178775 0.0016568094 -0.021416483 4.5475606 + 49940 20.017441 1.0003825 23.832093 6.0415218 4.5414482 1.5000736 0.001739496 -0.021720121 4.5614288 + 49950 20.129585 1.0103656 23.933006 6.0412711 4.5262279 1.5150433 0.0017483452 -0.021707981 4.5461875 + 49960 20.289892 1.0237963 23.90489 6.0506861 4.5155034 1.5351826 0.0018165489 -0.021626509 4.5353134 + 49970 20.107154 0.99919764 23.571025 6.044524 4.5462272 1.4982969 0.0017323985 -0.021278316 4.5657731 + 49980 19.868258 1.019971 24.054861 6.0512226 4.521776 1.5294466 0.001642951 -0.021018418 4.5411515 + 49990 20.238464 1.0132942 23.351265 6.068219 4.5487843 1.5194347 0.0015837934 -0.021431437 4.5686319 + 50000 20.32235 1.0319956 23.750933 6.0775592 4.5300818 1.5474774 0.0017452177 -0.022139025 4.5504756 + 50010 20.593832 1.0111384 23.817017 6.0602248 4.5440228 1.516202 0.0018103784 -0.022604425 4.5648168 + 50020 20.40593 1.0066375 23.45924 6.0309777 4.5215247 1.5094529 0.0015642414 -0.021230147 4.5411907 + 50030 20.393455 0.99669442 23.650083 6.0167279 4.5221846 1.4945433 0.0014489564 -0.020631299 4.5413669 + 50040 20.300218 1.0158052 23.914803 6.0203468 4.4971469 1.5231999 0.0014744984 -0.020558093 4.5162305 + 50050 20.143866 1.0046832 23.758339 6.0461934 4.539671 1.5065224 0.001659475 -0.021440259 4.5594518 + 50060 20.03324 1.0260203 23.871618 6.0504275 4.5119101 1.5385175 0.001721643 -0.021668294 4.5318567 + 50070 20.391516 0.99447147 23.581478 6.0482941 4.5570841 1.49121 0.001579867 -0.021021681 4.5765259 + 50080 20.424226 1.0111872 23.784145 6.0609508 4.5446757 1.5162752 0.0015886491 -0.021421161 4.5645082 + 50090 20.45298 1.0157324 23.970406 6.0576748 4.5345841 1.5230907 0.0016421251 -0.021509217 4.5544512 + 50100 20.146094 1.0074405 23.498345 6.0419323 4.5312752 1.510657 0.0017926657 -0.022095709 4.5515783 + 50110 20.254869 1.0165656 23.341154 6.0559216 4.5315814 1.5243402 0.0018857578 -0.022762768 4.5524585 + 50120 20.303344 0.99495113 23.54103 6.0453804 4.5534512 1.4919292 0.0019909382 -0.023203132 4.5746634 + 50130 20.091803 1.0117633 23.53821 6.0343619 4.5172228 1.5171391 0.0019765107 -0.022885779 4.5381321 + 50140 20.272552 1.0067256 23.9568 6.0341949 4.5246099 1.509585 0.0020357394 -0.023138402 4.5457126 + 50150 20.176029 0.99850459 23.457544 6.0222035 4.5249458 1.4972576 0.0020805138 -0.02345851 4.5463238 + 50160 20.424644 1.0016325 23.646187 6.0233855 4.5214375 1.501948 0.0021091269 -0.023838157 4.5431665 + 50170 20.102928 0.98006054 23.409981 5.9893858 4.5197851 1.4696008 0.002067219 -0.02351943 4.5412373 + 50180 20.302485 1.0037807 23.656431 6.0298884 4.5247193 1.5051691 0.0019541181 -0.023092154 4.5458573 + 50190 20.142859 1.0085549 23.914005 6.0346946 4.5223665 1.5123281 0.0018127029 -0.022277538 4.5428314 + 50200 20.279639 1.0024243 23.799334 6.0352859 4.5321507 1.5031352 0.0017503844 -0.021909779 4.5523101 + 50210 19.965931 1.0219634 23.693977 6.0517407 4.5193066 1.5324341 0.0016965197 -0.021684108 4.5392942 + 50220 20.245401 1.0139904 23.971868 6.0361654 4.5156868 1.5204786 0.0015774173 -0.020981216 4.5350906 + 50230 20.247545 0.99909519 23.467385 6.028492 4.5303488 1.4981432 0.0014176351 -0.020116134 4.5490473 + 50240 20.156064 1.0079691 23.889273 6.0307664 4.5193167 1.5114497 0.0014353776 -0.02045164 4.538333 + 50250 20.380884 0.98858497 23.747484 6.0358708 4.5534876 1.4823832 0.0016767317 -0.02151735 4.5733282 + 50260 20.228088 0.99343216 23.653372 6.0224096 4.5327581 1.4896515 0.0017875521 -0.021915843 4.5528864 + 50270 20.059821 1.0015003 23.323983 6.0234302 4.5216805 1.5017497 0.0017941177 -0.022331129 4.5422175 + 50280 20.223783 1.0202101 23.767623 6.0509419 4.5211368 1.529805 0.0017543795 -0.021864562 4.541247 + 50290 20.363716 1.0230419 23.60605 6.0602643 4.526213 1.5340513 0.0015532102 -0.020712242 4.545372 + 50300 20.232586 1.0041903 23.82473 6.0530918 4.5473085 1.5057833 0.0014729812 -0.020369131 4.5662046 + 50310 20.284476 1.0212588 23.964725 6.050896 4.5195184 1.5313776 0.0015046798 -0.021024982 4.5390387 + 50320 20.298691 1.0225421 23.863931 6.0463626 4.5130607 1.5333019 0.0017303403 -0.022048971 4.5333793 + 50330 20.107887 1.0213438 23.741328 6.0576141 4.5261091 1.531505 0.0018222646 -0.02235609 4.5466429 + 50340 20.1165 1.0178136 23.480002 6.0606709 4.5344594 1.5262115 0.0017868774 -0.022215178 4.5548877 + 50350 20.288156 1.0142569 23.840458 6.0491937 4.5283155 1.5208782 0.0018767829 -0.022717405 4.5491561 + 50360 20.398681 1.0258555 23.66249 6.0595763 4.521306 1.5382703 0.0018747764 -0.022812165 4.5422434 + 50370 20.089998 1.0159021 23.764975 6.0733507 4.5500056 1.5233452 0.001793111 -0.022549204 4.5707616 + 50380 20.22337 1.0284175 23.733239 6.0714186 4.5293065 1.5421121 0.0019206629 -0.023242382 4.5506282 + 50390 20.276761 1.0471726 23.784474 6.0996395 4.5294042 1.5702353 0.0018974737 -0.022960828 4.5504675 + 50400 20.41781 1.0254276 23.640535 6.0851908 4.5475622 1.5376286 0.0018718376 -0.022873014 4.5685633 + 50410 20.174664 1.0166121 23.787763 6.0854947 4.5610849 1.5244098 0.0017853754 -0.022235869 4.5815354 + 50420 19.81291 1.012346 23.861035 6.065803 4.5477902 1.5180128 0.001685514 -0.022059246 4.568164 + 50430 19.954865 1.0229544 23.658247 6.0628966 4.5289765 1.5339201 0.0018360563 -0.022704446 4.5498449 + 50440 20.051944 1.0068445 23.48383 6.0373275 4.5275641 1.5097634 0.0019078773 -0.023020202 4.5486764 + 50450 20.374939 0.99502927 23.565386 6.0147011 4.5226547 1.4920464 0.0018247862 -0.02269837 4.5435283 + 50460 20.337956 0.98611697 23.808326 6.0009627 4.5222803 1.4786824 0.0018678821 -0.022874274 4.5432867 + 50470 20.418607 0.98241884 23.521617 5.9732292 4.5000922 1.473137 0.0019115682 -0.023254333 4.521435 + 50480 20.4112 0.98806832 23.856616 5.9689965 4.4873881 1.4816084 0.0019351099 -0.023132338 4.5085853 + 50490 20.320728 0.96828092 23.616081 5.973543 4.5216057 1.4519372 0.0020101466 -0.023252062 4.5428477 + 50500 19.698318 1.0027715 23.790444 6.0042551 4.5005993 1.5036558 0.0019020961 -0.023065549 4.5217627 + 50510 20.01966 0.96861751 23.696866 6.0079724 4.5555304 1.4524419 0.0019588788 -0.023305301 4.5768769 + 50520 20.264752 0.9948114 23.624653 6.0265797 4.53486 1.4917197 0.0019150593 -0.022805467 4.5557504 + 50530 20.08087 1.0005401 23.845878 6.0361313 4.5358214 1.5003099 0.0020254032 -0.023330052 4.5571261 + 50540 19.968163 1.007577 23.67428 6.0298913 4.5190295 1.5108617 0.0019068028 -0.022821256 4.539944 + 50550 19.848676 1.0032239 23.432856 6.0222935 4.5179592 1.5043343 0.0021417805 -0.023843739 4.5396612 + 50560 20.136737 1.0120913 23.919785 6.0512043 4.5335734 1.5176309 0.0022175241 -0.024491073 4.5558469 + 50570 20.289444 0.9871894 24.001402 6.0163094 4.5360189 1.4802905 0.002206068 -0.024141926 4.5579547 + 50580 20.44309 1.0008716 23.797466 6.0143867 4.5135798 1.5008069 0.0020754082 -0.023219655 4.534724 + 50590 20.494589 0.98178248 23.562539 5.9892863 4.5171034 1.4721828 0.0020376806 -0.023488586 4.5385544 + 50600 20.29656 0.99451157 23.709121 6.0064792 4.5152091 1.4912701 0.0020394338 -0.023882343 4.537052 + 50610 20.299186 0.977854 23.767685 6.0045628 4.5382707 1.4662921 0.0021107359 -0.024493871 4.5606539 + 50620 20.160733 0.99362088 23.635507 6.0015002 4.5115657 1.4899345 0.0020350911 -0.024200294 4.5337309 + 50630 19.883801 0.98078935 23.775532 5.9922755 4.5215819 1.4706936 0.0019220299 -0.023796044 4.5434559 + 50640 19.827867 0.98926232 23.506207 6.0026623 4.5192635 1.4833989 0.0017623235 -0.023203519 4.5407047 + 50650 20.09157 1.0188863 23.799503 6.0413883 4.5135684 1.52782 0.0017703239 -0.023211457 4.5350095 + 50660 20.346393 0.99470228 23.70035 6.0127775 4.5212214 1.4915561 0.0018571502 -0.023387472 4.5427517 + 50670 20.460892 0.99429583 23.638867 6.0150861 4.5241395 1.4909466 0.0019291786 -0.023720856 4.5459312 + 50680 20.322544 1.0030098 23.767122 6.0315603 4.5275471 1.5040132 0.001932773 -0.023700626 4.5493149 + 50690 20.115873 1.0081921 23.564306 6.0425198 4.5307357 1.5117841 0.0018952734 -0.023186647 4.5520271 + 50700 20.137588 1.0246159 23.657943 6.0542787 4.5178672 1.5364115 0.0017548636 -0.022225567 4.5383379 + 50710 20.205948 1.0080286 23.891252 6.0501338 4.5385948 1.511539 0.0018264591 -0.022213834 4.5589822 + 50720 20.017374 1.0418255 24.193185 6.0828894 4.520672 1.5622173 0.0019662076 -0.022359025 4.5410649 + 50730 20.086309 1.0321413 23.726864 6.0920588 4.5443629 1.5476959 0.0019259014 -0.021900128 4.5643371 + 50740 19.701441 1.0169954 23.732862 6.0581797 4.5331951 1.5249846 0.0017887018 -0.02148768 4.552894 + 50750 19.774242 1.0196248 24.033693 6.0809608 4.5520334 1.5289273 0.0016508308 -0.020679044 4.5710616 + 50760 20.29995 1.0300687 23.826692 6.0636445 4.5190565 1.544588 0.00175709 -0.021130177 4.5384296 + 50770 20.441758 1.033867 23.738969 6.0820535 4.5317699 1.5502836 0.0016754349 -0.02072771 4.5508222 + 50780 20.340539 1.0173853 23.659072 6.0654637 4.5398945 1.5255692 0.0015859531 -0.020540423 4.558849 + 50790 20.270494 1.0315327 23.699086 6.0646604 4.5178771 1.5467833 0.001524556 -0.020535772 4.5368883 + 50800 20.333477 1.0245156 24.101488 6.0614194 4.5251582 1.5362612 0.0012967311 -0.019408123 4.5432696 + 50810 20.337024 1.0183149 23.636038 6.0427171 4.515754 1.5269631 0.0012123066 -0.019205998 4.5337477 + 50820 19.947891 1.009439 23.846963 6.0667355 4.5530818 1.5136537 0.0013517988 -0.019453537 4.5711835 + 50830 20.252347 1.0263918 23.76917 6.0622683 4.5231937 1.5390746 0.001545353 -0.020476394 4.5421248 + 50840 20.443331 1.0185553 23.917486 6.0494514 4.5221277 1.5273237 0.0018066378 -0.021820111 4.5421412 + 50850 19.942654 1.0113126 23.645406 6.0572469 4.5407837 1.5164632 0.0019105099 -0.022326432 4.5611996 + 50860 20.191577 1.0209579 23.522862 6.0797742 4.5488479 1.5309263 0.0019807785 -0.022827401 4.5696945 + 50870 19.730122 1.0201884 23.931788 6.0528668 4.5230942 1.5297725 0.0020548917 -0.023327954 4.5443673 + 50880 19.362007 1.0041245 24.003187 6.0569537 4.5512689 1.5056847 0.0021680607 -0.023869019 4.5729699 + 50890 19.707453 1.0097778 23.749241 6.0347771 4.5206153 1.5141619 0.0023434922 -0.024887633 4.5431594 + 50900 20.026521 1.0112591 23.74048 6.0373116 4.5209285 1.5163831 0.002133069 -0.024398779 4.5431942 + 50910 20.099394 1.0057456 23.542206 6.0236952 4.5155797 1.5081155 0.0021241564 -0.02407833 4.5375339 + 50920 20.118896 1.0017209 23.675181 6.0184126 4.5163322 1.5020805 0.0020668761 -0.024094533 4.5383598 + 50930 20.10367 1.002912 23.77415 6.0155464 4.5116799 1.5038665 0.0023776637 -0.025428514 4.5347307 + 50940 20.449522 0.99994562 23.509707 6.0354225 4.5360041 1.4994185 0.0024042678 -0.025679391 4.5592792 + 50950 20.570159 1.0020325 23.56575 6.0327071 4.5301594 1.5025477 0.0023622224 -0.025498042 4.5532952 + 50960 20.222422 0.99714437 23.915939 6.0150585 4.5198405 1.495218 0.0021779578 -0.025002249 4.5426648 + 50970 20.027422 0.99553896 23.762864 6.0256563 4.5328456 1.4928107 0.0019218044 -0.023626692 4.5545505 + 50980 20.215125 1.0025409 23.719731 6.0211777 4.5178677 1.5033101 0.0017009053 -0.022376067 4.5385428 + 50990 20.071752 0.99213819 23.544971 6.0302887 4.5425775 1.4877112 0.0015582667 -0.021329662 4.5623489 + 51000 20.088243 1.007193 23.856113 6.0143175 4.5040316 1.5102859 0.0015422458 -0.020923632 4.523413 + 51010 20.481292 0.98531454 23.689506 5.9839407 4.5064616 1.4774792 0.0015669617 -0.021040059 4.5259346 + 51020 20.181615 0.9909916 23.837873 5.9942995 4.5083076 1.4859919 0.0014092246 -0.020504988 4.5274033 + 51030 20.140417 0.99485734 23.672081 6.0199325 4.5281439 1.4917886 0.0013592142 -0.020046119 4.5468308 + 51040 20.057295 1.0044122 23.754362 6.0366362 4.5305201 1.5061161 0.0015794046 -0.021058173 4.5499988 + 51050 19.989194 1.0161265 23.896175 6.0638671 4.5401854 1.5236817 0.0017070267 -0.022034693 4.560513 + 51060 20.226049 1.0177982 23.955188 6.0581849 4.5319965 1.5261884 0.0017192117 -0.022233898 4.5525112 + 51070 20.212645 1.0066043 23.740848 6.0505831 4.5411798 1.5094032 0.0016036515 -0.022021728 4.5615979 + 51080 20.100334 1.0061591 23.62584 6.0428603 4.5341247 1.5087356 0.0014882736 -0.021595396 4.5542318 + 51090 20.395422 1.027844 23.944124 6.0744255 4.5331734 1.5412521 0.0016188292 -0.021769104 4.5533237 + 51100 20.500454 1.0248339 23.40033 6.0742693 4.5375308 1.5367384 0.0016502247 -0.021944674 4.5578253 + 51110 19.920343 1.0136568 23.923104 6.067047 4.5470686 1.5199784 0.0015997152 -0.021475021 4.5669439 + 51120 19.914392 1.0199084 23.907583 6.0437 4.5143473 1.5293527 0.0017198659 -0.022285688 4.5349131 + 51130 19.804154 1.0087475 23.365993 6.0418643 4.5292474 1.5126169 0.0018606812 -0.023401619 4.5507883 + 51140 19.797105 1.0136725 23.627455 6.062185 4.5421831 1.520002 0.0017538585 -0.022879744 4.5633089 + 51150 19.797618 1.0140188 23.686157 6.0546111 4.5340899 1.5205213 0.0017539593 -0.022682421 4.5550183 + 51160 20.159084 1.0076477 23.764335 6.0444811 4.5335134 1.5109677 0.0017207193 -0.022128068 4.5539208 + 51170 20.224024 1.0104313 23.602932 6.0402618 4.5251201 1.5151417 0.0017095535 -0.022306529 4.5457171 + 51180 20.07162 1.0090789 23.722168 6.0365418 4.523428 1.5131138 0.0017663665 -0.022298812 4.5439604 + 51190 20.415317 0.99922064 23.725519 6.0254398 4.5271084 1.4983313 0.0019154809 -0.022681438 4.5478744 + 51200 20.55344 0.99037479 23.488039 5.9991115 4.5140445 1.485067 0.0018829828 -0.022164147 4.5343257 + 51210 20.477546 0.98230699 23.510099 5.9920868 4.5191175 1.4729693 0.0017867751 -0.02157421 4.5389049 + 51220 20.22458 1.0026172 23.913801 6.0369016 4.533477 1.5034245 0.0016740654 -0.020772133 4.5525751 + 51230 20.205967 1.0204372 23.929062 6.0537146 4.5235691 1.5301456 0.0017101561 -0.020777584 4.5426365 + 51240 20.272149 1.0117425 23.620536 6.0441345 4.5270266 1.5171079 0.0018901372 -0.021643683 4.5467802 + 51250 20.037271 1.0233222 23.878577 6.049641 4.5151693 1.5344716 0.0019570084 -0.022287376 4.5354997 + 51260 20.184665 1.0061211 23.65271 6.0295345 4.5208558 1.5086787 0.0020349602 -0.022745476 4.5415663 + 51270 19.908592 0.99787492 23.637736 6.0176114 4.521298 1.4963134 0.002025707 -0.022684325 4.5419566 + 51280 20.271441 1.0121801 23.89374 6.0286311 4.510867 1.5177641 0.0018552855 -0.021859176 4.5308709 + 51290 20.197723 0.97663904 23.578527 6.0102771 4.5458068 1.4644702 0.0018542708 -0.021670449 4.565623 + 51300 20.223591 0.99001724 23.565435 5.9978916 4.5133607 1.4845309 0.001875218 -0.022057276 4.5335428 + 51310 20.100236 0.9998861 23.623865 6.0359971 4.5366679 1.4993292 0.0021102783 -0.023154345 4.5577119 + 51320 20.061447 0.98790022 23.64231 6.0288194 4.547463 1.4813564 0.0021450954 -0.023571458 4.5688893 + 51330 20.437 0.99939552 23.613561 6.0271122 4.5285186 1.4985936 0.0021051968 -0.023382184 4.5497956 + 51340 20.458747 1.0039131 23.712632 6.0356821 4.5303144 1.5053677 0.0020167401 -0.022922353 4.55122 + 51350 20.092569 0.99872606 23.623848 6.0145517 4.5169619 1.4975897 0.0019531249 -0.022582361 4.5375912 + 51360 20.215553 0.99151165 23.63468 6.017254 4.5304822 1.4867717 0.001952354 -0.022834924 4.5513648 + 51370 19.438428 1.0077994 23.943671 6.0294321 4.518237 1.5111952 0.0019015552 -0.022930466 4.5392659 + 51380 19.719204 1.022435 24.0469 6.0542239 4.5210826 1.5331413 0.0018489028 -0.022639364 4.541873 + 51390 20.360679 1.0095884 23.80549 6.0375257 4.5236478 1.5138778 0.0018454878 -0.022503569 4.5443059 + 51400 20.155828 1.0030949 23.391881 6.0319293 4.5277886 1.5041407 0.0018064925 -0.022082602 4.5480647 + 51410 20.029259 0.98940155 23.816503 6.0343623 4.5507547 1.4836076 0.0016096431 -0.020952755 4.5700978 + 51420 20.002336 1.0067426 23.690025 6.0387254 4.5291148 1.5096106 0.0016980736 -0.021608586 4.5490253 + 51430 19.921216 1.0107553 23.746277 6.0532081 4.5375805 1.5156276 0.001754426 -0.021986378 4.5578124 + 51440 20.223218 1.0218999 23.667974 6.0866024 4.5542635 1.532339 0.0018331685 -0.022634066 4.5750644 + 51450 20.452993 1.0213305 23.705104 6.069085 4.5375999 1.5314851 0.0017131546 -0.02197337 4.5578601 + 51460 20.362752 1.0292781 23.600097 6.0747608 4.5313583 1.5434025 0.001622712 -0.021135061 4.5508706 + 51470 20.26851 1.0281405 23.744262 6.0899545 4.5482578 1.5416967 0.0016243266 -0.02125505 4.5678885 + 51480 20.245234 1.0234525 23.601995 6.0525981 4.5179311 1.534667 0.0015275795 -0.021124873 4.5375284 + 51490 20.087564 1.0361796 23.704276 6.0889632 4.5352119 1.5537513 0.001326654 -0.020142477 4.5540277 + 51500 19.757521 1.029467 23.801036 6.0718564 4.5281706 1.5436857 0.0013337051 -0.020155598 4.5469925 + 51510 19.888832 1.0333476 23.447337 6.0782208 4.5287161 1.5495047 0.0013172394 -0.020077825 4.5474767 + 51520 19.976911 1.0224537 23.672001 6.0821409 4.5489716 1.5331693 0.0011905114 -0.01920887 4.5669899 + 51530 20.409057 1.0336704 23.564273 6.0999112 4.5499224 1.5499888 0.0013192334 -0.019501646 4.5681048 + 51540 20.388218 1.0248317 23.639609 6.0829556 4.5462204 1.5367352 0.0014321391 -0.019773116 4.5645614 + 51550 20.182516 1.0220664 23.680397 6.0980961 4.5655076 1.5325885 0.0017381583 -0.021399392 4.5851688 + 51560 20.307351 1.0367941 24.066901 6.0990087 4.5443359 1.5546728 0.0019589926 -0.023005806 4.5653827 + 51570 20.1299 1.0126319 23.626075 6.0588309 4.5403893 1.5184416 0.0019082968 -0.022783814 4.5612648 + 51580 20.33979 1.0184287 23.517486 6.0664133 4.5392795 1.5271339 0.0018841778 -0.022464112 4.5598594 + 51590 20.227117 1.0359144 23.851595 6.1159604 4.5626066 1.5533537 0.0019823044 -0.023097427 4.5837218 + 51600 20.04155 1.0525085 23.8877 6.1155131 4.5372766 1.5782364 0.0021258674 -0.023936665 4.5590874 + 51610 20.021688 1.0340203 23.767117 6.0925745 4.5420611 1.5505134 0.0020144868 -0.023599077 4.5636457 + 51620 20.242169 1.0074747 23.60015 6.0386933 4.527985 1.5107083 0.001733438 -0.022146187 4.5483978 + 51630 20.216724 1.0121377 23.971758 6.0258777 4.5081772 1.5177005 0.0014721711 -0.020403259 4.5271083 + 51640 20.296684 1.0077131 23.853241 6.0462925 4.5352267 1.5110658 0.0014592748 -0.019926436 4.5536939 + 51650 20.254974 0.99522443 23.917367 6.0469108 4.5545718 1.492339 0.0015673672 -0.020208244 4.5732127 + 51660 20.052901 0.99408835 23.676693 6.0430238 4.5523884 1.4906355 0.0015947481 -0.020751401 4.571545 + 51670 20.255143 0.99534811 23.605172 6.0147441 4.5222196 1.4925245 0.0015677462 -0.020946004 4.5415979 + 51680 20.218606 1.008879 23.678418 6.0383557 4.5255417 1.512814 0.0016712275 -0.021535677 4.5454061 + 51690 20.073493 1.0183151 23.631313 6.0487925 4.5218291 1.5269634 0.0018019632 -0.022156185 4.5421833 + 51700 20.214921 0.99832049 23.529244 6.0300327 4.5330511 1.4969816 0.0017770479 -0.021932411 4.5532065 + 51710 20.267691 1.0035882 23.78808 6.0334577 4.5285771 1.5048805 0.0019892995 -0.023226411 4.5498143 + 51720 20.177182 1.0065086 23.826483 6.0058522 4.4965926 1.5092596 0.0021811098 -0.024196593 4.5186081 + 51730 19.965524 0.99614362 23.733753 6.0274447 4.5337274 1.4937174 0.0021504347 -0.024102829 4.5556798 + 51740 19.844696 0.98343334 23.670852 6.0045198 4.5298615 1.4746583 0.0020593316 -0.023969535 4.5517717 + 51750 19.939943 0.99067329 23.66283 5.9979403 4.5124257 1.4855146 0.0020780327 -0.023922455 4.5342701 + 51760 20.159228 0.98939638 23.541989 5.9964101 4.5128102 1.4835999 0.0022575521 -0.024632922 4.5351856 + 51770 20.269746 1.014461 23.570314 6.0458505 4.5246662 1.5211843 0.0022419077 -0.024593589 4.5470179 + 51780 20.44734 1.0186471 23.667067 6.0431699 4.5157086 1.5274613 0.0022083485 -0.024453848 4.5379541 + 51790 20.212669 1.012728 23.703736 6.0430565 4.5244709 1.5185856 0.0020401686 -0.023755163 4.5461859 + 51800 20.222042 1.0185124 23.568289 6.044849 4.5175896 1.5272594 0.0018050596 -0.022667772 4.5384523 + 51810 20.181905 0.99982036 23.497483 6.033327 4.5340964 1.4992306 0.0017768796 -0.022500636 4.5548201 + 51820 20.263609 1.028619 23.684329 6.0849325 4.5425184 1.5424142 0.0018219758 -0.022535851 4.5632322 + 51830 20.17197 1.0261976 23.871446 6.0780501 4.5392668 1.5387833 0.0019181926 -0.022610219 4.5599589 + 51840 20.359101 1.0133678 24.0562 6.0660343 4.5464892 1.5195451 0.0018156976 -0.02184002 4.5665135 + 51850 20.253046 1.0137528 23.62203 6.0638034 4.543681 1.5201224 0.001827223 -0.02154362 4.5633974 + 51860 20.064638 1.0187583 24.020585 6.0523136 4.5246855 1.5276281 0.0022054862 -0.023427277 4.5459073 + 51870 20.041015 0.98870247 23.707935 6.0340811 4.5515218 1.4825594 0.0022946425 -0.023730899 4.572958 + 51880 20.292261 1.0026042 23.989072 6.0103539 4.506949 1.503405 0.00228154 -0.023554335 4.5282218 + 51890 20.1956 1.0082881 23.873288 6.0688229 4.5568949 1.511928 0.0022801357 -0.023392598 4.5780074 + 51900 20.08176 1.039639 23.78359 6.0754185 4.5164798 1.5589387 0.002232731 -0.023268345 4.5375154 + 51910 20.20846 1.0188494 24.015648 6.0589371 4.5311725 1.5277646 0.0022009078 -0.023833508 4.5528051 + 51920 20.247688 1.010874 23.546097 6.0540627 4.5382571 1.5158056 0.0022157945 -0.023903471 4.5599447 + 51930 20.120269 1.021941 23.578434 6.0744874 4.5420869 1.5324005 0.0021785185 -0.023641869 4.5635503 + 51940 20.127882 1.0203329 23.533641 6.0377347 4.5077454 1.5299893 0.0019995001 -0.023029299 4.5287752 + 51950 20.167839 0.99307171 23.55019 6.0321455 4.5430344 1.489111 0.0017968798 -0.02202815 4.5632657 + 51960 20.361813 0.99853704 23.596044 6.0215013 4.524195 1.4973063 0.0016970851 -0.021592261 4.5440902 + 51970 20.436361 1.0030383 23.628949 6.0274892 4.5234332 1.504056 0.0016074052 -0.020981244 4.542807 + 51980 20.374368 0.99615845 23.379863 6.0189636 4.525224 1.4937396 0.0015054259 -0.020326146 4.5440447 + 51990 20.018067 1.006338 23.756812 6.032536 4.5235322 1.5090038 0.001531012 -0.019863031 4.5418642 + 52000 19.976453 0.9890543 23.896822 6.031469 4.5483821 1.4830869 0.001614389 -0.02045341 4.5672211 + 52010 20.18891 1.0156891 23.431627 6.0398403 4.5168144 1.5230259 0.0017093112 -0.021285935 4.536391 + 52020 20.368684 0.97776542 23.4328 6.0221227 4.5559634 1.4661592 0.0017549629 -0.0215966 4.5758051 + 52030 20.273725 1.0064843 23.605025 6.0542622 4.545039 1.5092233 0.0017569347 -0.021654496 4.5649365 + 52040 20.149414 1.0212259 23.796898 6.0616954 4.5303672 1.5313282 0.0013859809 -0.020119642 4.5491009 + 52050 20.250779 1.007473 23.762717 6.0540483 4.5433425 1.5107057 0.0011311836 -0.019223625 4.561435 + 52060 20.239601 1.0135583 23.727539 6.0297986 4.5099679 1.5198307 0.0011159371 -0.019244754 4.5280967 + 52070 20.206558 1.0253451 23.699991 6.0602263 4.5227212 1.537505 0.0011333784 -0.019594803 4.5411826 + 52080 20.142676 1.0168217 23.664922 6.055103 4.5303788 1.5247242 0.0012796774 -0.02036695 4.5494661 + 52090 20.346548 1.0057203 23.707402 6.0346777 4.5266001 1.5080776 0.0011791262 -0.019373535 4.5447945 + 52100 20.058817 1.0228164 23.509049 6.0361262 4.502413 1.5337132 0.00099986836 -0.018539477 4.5199526 + 52110 20.199033 0.99533849 23.800697 6.0368885 4.5443785 1.4925101 0.00091981716 -0.018149807 4.5616085 + 52120 20.255404 1.0064551 23.793639 6.0549319 4.5457524 1.5091795 0.00071198678 -0.017626948 4.5626673 + 52130 20.212443 0.97997597 23.662197 6.0311909 4.5617169 1.469474 0.00085657631 -0.018669417 4.5795298 + 52140 20.337511 1.0001732 23.657631 6.0345182 4.5347585 1.4997598 0.00097393367 -0.01913811 4.5529227 + 52150 20.392293 0.9836572 23.601896 6.0299651 4.5549712 1.474994 0.0011278457 -0.019898713 4.573742 + 52160 20.395358 0.99080992 23.568605 6.0310115 4.5452921 1.4857195 0.001254239 -0.020458508 4.5644963 + 52170 20.364431 0.98906403 23.618005 6.0401372 4.5570357 1.4831015 0.0013708759 -0.020989804 4.5766546 + 52180 20.310477 1.0160867 23.327123 6.0494231 4.5258011 1.523622 0.0013288669 -0.020890065 4.5453623 + 52190 20.21664 1.0126987 23.664268 6.0520606 4.5335189 1.5185417 0.0014815946 -0.021324775 4.553362 + 52200 20.081185 1.0130669 23.457176 6.0488298 4.529736 1.5190938 0.0015729882 -0.021545495 4.5497085 + 52210 19.872798 1.0043136 23.860945 6.0475334 4.5415652 1.5059682 0.0017333214 -0.021691689 4.5615236 + 52220 20.273282 0.99550911 23.990595 6.0217832 4.5290173 1.4927659 0.0018598375 -0.021827843 4.5489853 + 52230 20.208401 0.99577169 23.718838 6.0467192 4.5535595 1.4931597 0.0019561329 -0.021887274 4.5734907 + 52240 20.033387 0.99685777 23.682195 6.0314505 4.5366622 1.4947882 0.0018900625 -0.021880586 4.5566527 + 52250 20.402489 0.99180555 23.677269 6.0185934 4.531381 1.4872124 0.0018165346 -0.021536719 4.5511011 + 52260 20.112105 0.99777104 23.945059 6.0405347 4.544377 1.4961577 0.0019698276 -0.022276845 4.564684 + 52270 19.988349 1.0103516 23.774531 6.0299926 4.5149704 1.5150222 0.0021262513 -0.023700351 4.5365445 + 52280 20.216386 0.99491152 23.418006 6.0476303 4.5557605 1.4918698 0.0019938713 -0.022680334 4.5764469 + 52290 20.047278 1.0230364 24.049817 6.0574667 4.5234236 1.5340431 0.0017821113 -0.021593265 4.5432348 + 52300 20.279196 1.0067304 23.732148 6.0641548 4.5545626 1.5095922 0.0017028076 -0.021326079 4.5741859 + 52310 20.222345 1.0294571 23.927395 6.0757821 4.5321113 1.5436709 0.0016731929 -0.021040665 4.5514788 + 52320 20.326186 1.0085703 23.919764 6.040941 4.5285899 1.5123511 0.0017653587 -0.021295991 4.5481205 + 52330 20.168541 1.0009301 23.881959 6.0385428 4.5376481 1.5008947 0.0018927064 -0.021964293 4.5577197 + 52340 19.835979 1.0116439 23.589482 6.063806 4.546846 1.51696 0.0017367317 -0.021451101 4.5665604 + 52350 19.91917 1.0017566 23.417488 6.0473964 4.5452624 1.502134 0.0018767605 -0.022468411 4.5658541 + 52360 20.32244 0.99216269 23.71612 6.0333401 4.5455922 1.4877479 0.002004871 -0.022909444 4.5664967 + 52370 20.12945 0.98182396 23.617055 6.0075202 4.5352751 1.472245 0.0021352978 -0.023870315 4.5570102 + 52380 20.091481 0.9907747 23.693079 5.9925267 4.5068601 1.4856667 0.0021834534 -0.024440308 4.5291169 + 52390 19.804571 0.99525321 23.395534 6.0107239 4.5183418 1.4923822 0.0020489312 -0.024109901 4.5404027 + 52400 20.151624 0.9806163 23.87449 5.9996624 4.5292282 1.4704341 0.0019615905 -0.023553836 4.5508205 + 52410 20.169394 1.0166563 23.65353 6.0336399 4.5091639 1.5244761 0.0018886402 -0.022953871 4.5302291 + 52420 20.218589 1.0086436 23.801773 6.0513006 4.5388396 1.512461 0.0020229579 -0.02320859 4.5600252 + 52430 20.180828 1.0075626 23.638378 6.0479844 4.5371442 1.5108402 0.0021565518 -0.023649148 4.5586368 + 52440 20.072655 1.0212842 23.806389 6.0456791 4.5142635 1.5314156 0.0022440029 -0.02380231 4.5358218 + 52450 20.070828 1.0416992 23.854733 6.0658923 4.5038643 1.562028 0.002196116 -0.023873816 4.525542 + 52460 20.308471 1.0008516 23.442076 6.0254716 4.5246947 1.5007769 0.0021356971 -0.023769608 4.5463286 + 52470 20.157065 1.0092851 23.754361 6.0277768 4.5143539 1.513423 0.0019347307 -0.023041124 4.5354603 + 52480 20.119971 1.0136809 23.737319 6.0603868 4.5403722 1.5200146 0.0019558794 -0.023189197 4.5616055 + 52490 20.142053 1.0083884 23.849238 6.0531465 4.5410682 1.5120783 0.0017970216 -0.022503631 4.5617748 + 52500 20.009497 1.0159478 23.661475 6.0679429 4.5445292 1.5234137 0.0018039295 -0.022026309 4.5647516 + 52510 20.03553 1.0144992 23.920043 6.0699931 4.5487515 1.5212416 0.001950126 -0.022458962 4.5692603 + 52520 20.211833 1.0271169 23.677645 6.078472 4.5383102 1.5401618 0.0020128424 -0.022668841 4.5589662 + 52530 19.697206 1.03598 23.932012 6.0863188 4.5328668 1.553452 0.0019342773 -0.022055339 4.5529878 + 52540 20.193515 1.0229918 23.70142 6.090314 4.5563377 1.5339762 0.0018632971 -0.02159663 4.5760711 + 52550 20.1457 1.025551 23.967092 6.0811943 4.5433806 1.5378137 0.0019561625 -0.021940336 4.5633647 + 52560 19.816006 1.0354785 23.640022 6.0955163 4.5428164 1.5527 0.002034933 -0.022402947 4.5631844 + 52570 20.247549 1.034362 23.831942 6.0861939 4.5351681 1.5510258 0.0020205621 -0.021827734 4.5549753 + 52580 19.837255 1.022634 23.964979 6.0647479 4.5313082 1.5334397 0.0020810963 -0.022141993 4.5513691 + 52590 20.260561 1.0100514 23.957031 6.0615733 4.5470012 1.514572 0.0019567421 -0.021893148 4.5669377 + 52600 19.886353 1.0204118 23.78709 6.0410305 4.510923 1.5301075 0.0018827968 -0.021522194 4.5305624 + 52610 20.288725 0.9968827 23.610381 6.0175891 4.5227635 1.4948256 0.0016453871 -0.020508719 4.5416269 + 52620 20.250038 0.99464688 23.752279 6.0213913 4.5299183 1.491473 0.0014185259 -0.019846842 4.5483466 + 52630 20.289262 0.98979474 23.544393 6.0184386 4.5342413 1.4841972 0.0010929963 -0.018810469 4.5519588 + 52640 20.215158 1.0120238 23.804049 6.0264052 4.5088754 1.5175297 0.0011689197 -0.019464564 4.5271711 + 52650 19.881064 1.0056521 23.713647 6.022842 4.5148666 1.5079753 0.0013534764 -0.020056138 4.5335693 + 52660 19.983003 0.97636623 23.47363 6.0061205 4.5420593 1.4640612 0.0013322526 -0.020014537 4.5607416 + 52670 20.011503 1.0160644 23.759169 6.0389782 4.5153896 1.5235885 0.0013294615 -0.019940974 4.5340011 + 52680 20.495184 0.99034109 23.878365 6.0220437 4.5370273 1.4850165 0.0013903923 -0.019975092 4.555612 + 52690 19.784714 0.99457874 23.61929 6.001833 4.5104621 1.4913708 0.0012342947 -0.019171477 4.5283993 + 52700 20.124993 1.0015909 23.799368 6.0127703 4.5108848 1.5018855 0.0011995622 -0.018460496 4.5281457 + 52710 20.213794 0.99403006 23.741198 6.0128852 4.5223371 1.4905481 0.0013567991 -0.019205853 4.5401862 + 52720 20.503093 0.98150961 23.418274 6.0066325 4.5348589 1.4717737 0.001374792 -0.019635534 4.5531196 + 52730 20.428309 1.0034993 23.608277 6.028921 4.5241739 1.5047471 0.0012590367 -0.01949803 4.5424129 + 52740 20.24096 0.99923119 23.766746 6.0085084 4.5101612 1.4983472 0.0012688488 -0.019703583 4.5285959 + 52750 19.901879 0.99459434 23.666736 6.007183 4.5157888 1.4913942 0.0013026074 -0.020321916 4.5348081 + 52760 20.031451 0.97418474 23.683778 5.987469 4.5266789 1.46079 0.0015411518 -0.02154961 4.5466874 + 52770 19.936332 0.97556235 23.68873 5.9967696 4.5339138 1.4628557 0.0017055449 -0.021952874 4.5541612 + 52780 20.075118 0.97823632 23.615009 5.987823 4.5209576 1.4668654 0.001527171 -0.021275512 4.540706 + 52790 19.981671 0.98770359 23.773071 5.9995954 4.5185339 1.4810615 0.0016853749 -0.02201107 4.5388596 + 52800 20.469441 0.99436459 23.772106 6.012241 4.5211914 1.4910497 0.0019331535 -0.022751768 4.54201 + 52810 20.292465 0.99890281 23.789995 6.0376565 4.5398017 1.4978548 0.0018524566 -0.022075179 4.5600244 + 52820 20.178212 0.99432977 23.875724 6.0425912 4.5515937 1.4909975 0.0017819459 -0.021779168 4.5715909 + 52830 20.248372 1.0064729 23.708511 6.0319634 4.5227573 1.5092061 0.001855234 -0.021802212 4.5427043 + 52840 20.189974 1.0018548 23.829942 6.0407363 4.5384551 1.5022813 0.001985156 -0.02208275 4.5585526 + 52850 19.819702 0.99475449 23.395655 6.0259509 4.5343165 1.4916344 0.0020703216 -0.022472846 4.5547191 + 52860 20.054322 1.0159034 23.796553 6.0545537 4.5312065 1.5233471 0.0022292234 -0.0233159 4.5522932 + 52870 20.004635 1.0037493 23.788214 6.0511892 4.5460671 1.5051221 0.0021922863 -0.022834345 4.5667091 + 52880 20.017676 0.99401759 23.472688 6.0220605 4.5315311 1.4905294 0.0021111784 -0.022817621 4.5522375 + 52890 20.25445 1.0031609 23.672298 6.0289817 4.524742 1.5042397 0.002215114 -0.023606769 4.5461337 + 52900 20.077096 0.9960063 23.574828 6.0307317 4.5372203 1.4935114 0.0021433315 -0.02370168 4.5587786 + 52910 20.08907 0.9842161 23.522564 6.0109835 4.5351514 1.475832 0.0020453541 -0.023094446 4.5562005 + 52920 20.358351 0.99138936 23.474321 6.0224539 4.5358655 1.4865884 0.0020378814 -0.02306565 4.5568933 + 52930 20.287628 1.0059017 23.685748 6.0345047 4.5261552 1.5083496 0.0019339337 -0.022888447 4.5471097 + 52940 19.83946 1.0101482 23.797068 6.0579113 4.5431942 1.5147172 0.0019592409 -0.022763545 4.5639985 + 52950 20.117358 1.0248031 23.447528 6.0706819 4.5339896 1.5366923 0.0019080482 -0.022437833 4.5545194 + 52960 20.26166 1.0073154 24.006808 6.0450266 4.5345571 1.5104695 0.0018224328 -0.02229851 4.5550332 + 52970 20.087999 1.022712 23.702131 6.0477729 4.5142163 1.5335566 0.0016821691 -0.021375875 4.53391 + 52980 20.465322 1.0131942 23.711443 6.0587539 4.5394692 1.5192847 0.0015984044 -0.020953628 4.5588244 + 52990 20.30294 1.0309287 23.572056 6.0578972 4.5120195 1.5458777 0.0015564174 -0.020619468 4.5310826 + 53000 20.350786 1.0041983 23.499649 6.0601946 4.5543992 1.5057954 0.0015240323 -0.020788374 4.5736635 + 53010 20.437736 1.0265021 23.420213 6.0659533 4.5267134 1.5392399 0.0013855162 -0.020340367 4.5456682 + 53020 20.19779 1.0071424 24.038298 6.0647235 4.5545134 1.51021 0.0014542822 -0.020852217 4.5739114 + 53030 19.95353 1.0118373 23.642499 6.0633884 4.5461383 1.5172501 0.0016904299 -0.021722531 4.5661704 + 53040 20.388561 0.99932965 23.488508 6.0518591 4.5533643 1.4984948 0.0016430558 -0.020949186 4.5726704 + 53050 20.320303 0.99679495 23.678235 6.0318167 4.5371227 1.494694 0.001660525 -0.020599453 4.5560616 + 53060 20.403038 1.0256276 23.883209 6.0478876 4.509959 1.5379286 0.0015641009 -0.019516259 4.5279112 + 53070 20.158553 1.0098354 23.820103 6.0453241 4.531076 1.5142481 0.0014886142 -0.019115934 4.5487033 + 53080 19.877398 0.99968787 23.597848 6.039325 4.5402931 1.499032 0.0014643059 -0.019084795 4.5579135 + 53090 19.623305 1.0255596 23.790789 6.0590481 4.5212214 1.5378267 0.0014361832 -0.018860216 4.5386455 + 53100 20.101338 1.0114486 23.702678 6.0570721 4.5404049 1.5166672 0.0015499859 -0.020026463 4.5588813 + 53110 20.25038 1.0074929 23.95139 6.0382055 4.5274699 1.5107356 0.0016168499 -0.020608129 4.5464612 + 53120 19.92821 1.0086222 23.713348 6.0375898 4.5251609 1.5124289 0.0015352716 -0.02095025 4.5445759 + 53130 20.141928 1.0100561 23.776807 6.0261934 4.5116143 1.5145791 0.0014682325 -0.020833887 4.5309799 + 53140 20.348616 0.98478707 23.452074 6.0296485 4.5529603 1.4766882 0.0015303485 -0.021165115 4.5725951 + 53150 19.921292 1.0077312 23.685977 6.0303042 4.5192112 1.5110929 0.0014415529 -0.020680662 4.5384504 + 53160 20.232016 1.0133339 23.782797 6.0227013 4.5032072 1.5194941 0.0013708417 -0.019988557 4.5218249 + 53170 20.034056 1.0062218 24.019724 6.0258044 4.5169748 1.5088296 0.0013228864 -0.019598282 4.5352502 + 53180 19.816579 1.0061093 23.2373 6.0373989 4.5287379 1.508661 0.0015291434 -0.020438762 4.5476475 + 53190 20.013095 1.0270653 23.811518 6.0539334 4.513849 1.5400844 0.0015207635 -0.020100501 4.5324287 + 53200 20.344463 1.0010942 23.590571 6.0379317 4.536791 1.5011407 0.0016504592 -0.020385634 4.5555261 + 53210 20.19958 0.98856599 23.540372 6.0238272 4.5414725 1.4823547 0.0017971986 -0.021176202 4.5608515 + 53220 20.271762 1.0067234 23.763808 6.0194882 4.5099065 1.5095817 0.0018784916 -0.021743522 4.5297715 + 53230 20.610899 1.0169944 23.814403 6.0288964 4.5039132 1.5249832 0.0018632554 -0.022355156 4.5244051 + 53240 20.19534 1.0029666 23.63428 6.0262642 4.5223157 1.5039484 0.0018129461 -0.02257069 4.5430735 + 53250 20.326958 0.98460052 23.205381 6.02265 4.5462415 1.4764085 0.0017538653 -0.022315652 4.5668033 + 53260 20.598453 1.0192703 23.795033 6.0337826 4.5053868 1.5283958 0.0018833643 -0.022814015 4.5263175 + 53270 20.285314 1.0169108 23.824755 6.0578262 4.5329685 1.5248577 0.0021728548 -0.024056962 4.5548526 + 53280 20.201272 1.0151924 23.798304 6.0847055 4.5624245 1.5222811 0.0021206589 -0.024034641 4.5843384 + 53290 20.328284 1.0343143 23.785691 6.0724887 4.5215343 1.5509543 0.0019849476 -0.023006188 4.5425555 + 53300 20.314535 0.99992768 23.610845 6.0467049 4.5473133 1.4993916 0.0018104228 -0.022428054 4.5679309 + 53310 20.26186 1.0010664 23.777835 6.0371365 4.5360375 1.5010991 0.0018484507 -0.022757609 4.5569466 + 53320 20.236767 1.0057472 23.549153 6.0396253 4.5315074 1.5081179 0.0017227029 -0.022319164 4.5521039 + 53330 20.436946 1.006148 23.737923 6.031701 4.5229821 1.5087189 0.0017245302 -0.021996593 4.5432541 + 53340 20.15817 1.0030877 23.894135 6.0478696 4.5437396 1.50413 0.0016933981 -0.021616346 4.5636625 + 53350 20.125215 1.0015849 24.175424 6.040303 4.5384265 1.5018765 0.0017996146 -0.022136654 4.5587635 + 53360 20.3679 1.0045489 23.76855 6.0468289 4.5405078 1.5063211 0.001858361 -0.022460661 4.5611101 + 53370 20.445593 1.0189559 23.63504 6.0454198 4.5174955 1.5279243 0.0017666785 -0.022452589 4.5381814 + 53380 20.043725 1.0131332 23.874273 6.0554485 4.5362552 1.5191933 0.0017697433 -0.022266137 4.5567516 + 53390 19.823522 1.0225755 23.653289 6.0885997 4.5552478 1.5333519 0.0017392522 -0.021818441 4.575327 + 53400 19.944794 1.0033011 23.636 6.073376 4.568926 1.50445 0.0019078125 -0.022441148 4.5894593 + 53410 20.024035 1.0152083 23.6475 6.0558411 4.5335362 1.5223049 0.002056299 -0.023355853 4.5548358 + 53420 20.352637 1.0095752 23.895233 6.0593669 4.5455089 1.513858 0.0020668297 -0.023219564 4.5666616 + 53430 20.18003 1.0188204 23.903128 6.0590815 4.5313602 1.5277212 0.0019586821 -0.022831109 4.5522327 + 53440 20.300138 0.99794642 23.583157 6.0562049 4.5597842 1.4964207 0.0018358647 -0.022580951 4.5805293 + 53450 20.110459 1.0123223 23.777426 6.0377265 4.5197493 1.5179772 0.0019123452 -0.023031049 4.540868 + 53460 20.176082 0.99889543 23.842912 6.0384725 4.5406288 1.4978437 0.0019739452 -0.023368037 4.5620229 + 53470 19.935873 1.0206816 23.745909 6.0731206 4.5426085 1.5305121 0.0020786986 -0.023757925 4.5642878 + 53480 19.997361 1.0186971 23.724446 6.0805977 4.5530615 1.5275362 0.0022712359 -0.024458881 4.5752491 + 53490 20.281657 1.0202533 23.730615 6.0880971 4.5582273 1.5298698 0.0021963055 -0.024114024 4.5801451 + 53500 20.206905 1.0252939 23.609286 6.0691614 4.5317332 1.5374283 0.0019276687 -0.022617152 4.5524227 + 53510 20.259309 1.0110706 23.937274 6.0513274 4.5352269 1.5161004 0.0018775337 -0.02211863 4.555468 + 53520 19.696592 1.0037369 23.834767 6.0287169 4.5236133 1.5051035 0.0019552694 -0.02253108 4.5441891 + 53530 19.846578 1.0043851 23.551908 6.0552573 4.5491819 1.5060754 0.0019748849 -0.02298227 4.5701893 + 53540 20.110101 1.0355784 24.046699 6.0807792 4.5279293 1.5528499 0.0020367036 -0.023043457 4.548936 + 53550 20.016292 1.0298174 24.072592 6.067511 4.5232998 1.5442112 0.0019001909 -0.022650589 4.5440502 + 53560 20.466863 1.001341 24.005095 6.0247842 4.5232735 1.5015108 0.0018926187 -0.022748778 4.5441296 + 53570 19.743201 0.99755856 23.697661 6.0117706 4.5159315 1.4958391 0.0019250659 -0.022894744 4.5369012 + 53580 19.965903 0.98884046 23.531841 6.0088758 4.5261096 1.4827663 0.0018786889 -0.022972002 4.5472029 + 53590 20.218946 0.98705451 23.686112 6.0223432 4.542255 1.4800882 0.0017434302 -0.022445088 4.5629566 + 53600 20.280485 1.009209 23.82313 6.0326435 4.5193346 1.5133089 0.0016411846 -0.02153791 4.5392313 + 53610 20.281083 1.0018538 23.85252 6.0359208 4.5336411 1.5022797 0.0014901404 -0.020660543 4.5528115 + 53620 20.319852 1.0221389 23.839456 6.0503406 4.5176433 1.5326973 0.0014836111 -0.020717976 4.5368777 + 53630 20.191359 1.0245162 23.856229 6.0608129 4.5245508 1.5362621 0.0014661514 -0.020104735 4.5431894 + 53640 20.128207 1.006742 23.662105 6.0412602 4.5316505 1.5096097 0.001445328 -0.020113605 4.5503188 + 53650 20.31713 1.0033595 23.546963 6.0376639 4.5331263 1.5045376 0.0015081725 -0.020750478 4.5523686 + 53660 20.378203 1.0146239 23.684688 6.0195109 4.4980824 1.5214286 0.0015690344 -0.021237236 4.5177506 + 53670 20.124785 0.99917478 23.574962 6.0324842 4.5342216 1.4982626 0.0015254451 -0.020745519 4.5534417 + 53680 20.329103 0.97922372 23.634443 5.9919438 4.5235978 1.468346 0.0012458839 -0.019458624 4.5418106 + 53690 20.000525 0.98479889 23.571624 5.9966107 4.5199048 1.4767059 0.0010629402 -0.01875177 4.5375936 + 53700 20.0702 0.9703372 23.683038 5.9868958 4.5318752 1.4550206 0.0011329513 -0.019307007 4.5500493 + 53710 20.117581 0.99512018 23.825772 6.0256747 4.5334919 1.4921827 0.0012429594 -0.019917739 4.5521667 + 53720 20.15606 1.0071702 23.52574 6.0380282 4.5277764 1.5102517 0.0014924375 -0.020980455 4.5472644 + 53730 20.256774 1.0032155 23.386795 6.0493294 4.5450078 1.5043217 0.0016745078 -0.021674067 4.5650073 + 53740 20.142922 0.98419981 23.436562 6.0268914 4.5510837 1.4758076 0.0016894392 -0.021886693 4.571281 + 53750 20.188769 0.99647909 23.688112 6.0374974 4.543277 1.4942204 0.0017875811 -0.022391761 4.5638811 + 53760 20.230391 1.0097033 23.734224 6.0470116 4.5329615 1.5140501 0.0018201618 -0.022388089 4.5535295 + 53770 20.084495 1.0122947 23.572407 6.0578643 4.5399284 1.5179359 0.0016785866 -0.021440424 4.5596902 + 53780 19.852317 1.0099047 23.728812 6.0495857 4.5352337 1.514352 0.0015304301 -0.020347649 4.5540509 + 53790 20.277133 1.0062074 23.768221 6.0596143 4.5508062 1.508808 0.0013448193 -0.018869255 4.5683307 + 53800 20.251767 1.0206785 23.597473 6.067371 4.5368636 1.5305074 0.0012226697 -0.018429239 4.5540702 + 53810 20.329398 1.0257723 23.672487 6.0777711 4.5396256 1.5381455 0.0015062181 -0.01991821 4.5580376 + 53820 19.910686 1.0128284 23.610754 6.0487957 4.5300595 1.5187362 0.0016606046 -0.020632597 4.5490314 + 53830 20.16373 0.9991475 23.954449 6.0395911 4.5413695 1.4982217 0.0014573449 -0.019479616 4.5593917 + 53840 19.930608 1.023516 23.384483 6.0507157 4.5159535 1.5347622 0.0012604752 -0.018984228 4.5336772 + 53850 19.858552 1.024914 23.75514 6.0614137 4.5245552 1.5368585 0.0013971182 -0.019826403 4.5429845 + 53860 20.120621 1.0154507 23.82045 6.0612791 4.5386107 1.5226684 0.0014434017 -0.020657264 4.5578246 + 53870 20.350834 1.0349017 23.970242 6.0793977 4.5275626 1.5518351 0.0014084247 -0.020866509 4.5470206 + 53880 20.372312 1.0438825 23.696167 6.1068446 4.5415429 1.5653018 0.0016960566 -0.022121532 4.5619683 + 53890 20.390981 1.0295683 23.939673 6.087052 4.5432143 1.5438377 0.0018916679 -0.023216432 4.5645391 + 53900 19.783588 1.0261948 23.574622 6.0782845 4.5395054 1.5387791 0.0020228251 -0.023675827 4.5611584 + 53910 19.995009 1.02259 23.802052 6.078572 4.5451982 1.5333738 0.0022451723 -0.024447724 4.5674007 + 53920 20.255425 1.031407 23.748788 6.0808633 4.5342685 1.5465948 0.0023386107 -0.024877084 4.5568069 + 53930 20.120763 1.0205355 23.742066 6.0824132 4.5521202 1.530293 0.0022994793 -0.024836406 4.5746571 + 53940 20.143254 1.0340447 23.938968 6.0654114 4.5148613 1.5505501 0.0021678093 -0.024407985 4.5371015 + 53950 20.048175 1.0236885 23.874356 6.0740162 4.5389953 1.5350209 0.0021479884 -0.024446877 4.5612942 + 53960 19.916381 1.0275322 23.759797 6.0947219 4.5539374 1.5407845 0.0022224829 -0.024317622 4.5760325 + 53970 20.171217 1.0492982 23.756851 6.119359 4.5459363 1.5734226 0.0023846308 -0.025135428 4.5686871 + 53980 20.136646 1.0445656 23.900007 6.1133892 4.547063 1.5663262 0.0021517874 -0.024718444 4.5696297 + 53990 19.913555 1.0439903 23.523226 6.1208005 4.555337 1.5654635 0.0020230599 -0.024372055 4.577686 + 54000 20.415748 1.0390965 23.798992 6.091495 4.5333699 1.5581251 0.002156783 -0.0248514 4.5560645 + 54010 20.333492 1.0392144 23.712057 6.0864299 4.5281279 1.558302 0.0020392578 -0.024235517 4.5503242 + 54020 20.204496 1.0316868 24.117902 6.1015247 4.5545104 1.5470143 0.0020169887 -0.023547352 4.5760407 + 54030 20.193688 1.0391691 23.640629 6.0987035 4.5404695 1.558234 0.001941598 -0.023528545 4.5620565 + 54040 20.497026 1.0382377 23.858463 6.0840725 4.527235 1.5568375 0.0018910477 -0.023188786 4.5485328 + 54050 20.419653 1.0269941 23.763883 6.0778938 4.5379161 1.5399777 0.0018335205 -0.023087775 4.5591703 + 54060 20.23918 1.0209214 23.358675 6.0827717 4.5519 1.5308717 0.0018533437 -0.023168688 4.5732154 + 54070 20.219679 1.0340319 23.784595 6.0915014 4.5409706 1.5505308 0.0017734395 -0.022566715 4.5617639 + 54080 20.073716 1.0370016 23.930383 6.0905378 4.5355539 1.5549839 0.0016433353 -0.02217059 4.5560811 + 54090 20.055856 1.0506354 24.173305 6.1114314 4.5360036 1.5754278 0.0016983386 -0.022363296 4.5566686 + 54100 20.136129 1.0344314 23.703452 6.1090342 4.5579043 1.5511299 0.0015032501 -0.021702599 4.5781036 + 54110 20.182651 1.0360691 24.181226 6.1116774 4.5580918 1.5535856 0.0012142862 -0.020465989 4.5773435 + 54120 20.327601 1.0307542 23.992651 6.0651725 4.5195566 1.5456159 0.0012703298 -0.020960852 4.5392471 + 54130 20.039677 1.0112995 23.605531 6.0575042 4.5410606 1.5164436 0.0015500224 -0.021738815 4.5612493 + 54140 20.418439 1.0009802 23.521889 6.0516345 4.5506647 1.5009697 0.001696111 -0.021415842 4.5703845 + 54150 20.143703 0.99471878 23.845518 6.0318598 4.540279 1.4915808 0.0017749076 -0.021553109 4.5600572 + 54160 20.161498 0.99562913 23.699374 6.0440636 4.5511177 1.4929459 0.0015198564 -0.020655699 4.5702536 + 54170 19.901049 1.0089963 23.663554 6.0663028 4.5533128 1.51299 0.0013647426 -0.019824793 4.5717728 + 54180 20.20759 1.0123934 23.772559 6.0561314 4.5380476 1.5180838 0.0014820809 -0.020125999 4.5566915 + 54190 20.167027 1.0209108 23.769418 6.0738572 4.5430015 1.5308557 0.0015525386 -0.020539907 4.5619889 + 54200 20.297976 1.0029813 23.611088 6.0491861 4.5452156 1.5039704 0.0013780489 -0.019634718 4.5634723 + 54210 19.889839 1.008379 23.92097 6.0354347 4.5233704 1.5120643 0.0014922061 -0.020459135 4.5423373 + 54220 20.213045 0.99713483 23.326211 6.0358485 4.5406449 1.4952037 0.0014657129 -0.020528223 4.5597074 + 54230 20.234493 1.0003169 23.55694 6.0435141 4.5435389 1.4999752 0.0015324655 -0.020901574 4.562908 + 54240 20.336016 1.0086997 23.838501 6.053121 4.5405758 1.5125453 0.0015831566 -0.021708741 4.5607013 + 54250 20.370973 1.0398018 23.714257 6.0837269 4.524544 1.5591829 0.0017116556 -0.022087746 4.5449201 + 54260 19.971035 1.0104406 23.770258 6.0401571 4.5250014 1.5151557 0.0018591036 -0.022844362 4.5459867 + 54270 20.396892 1.017852 23.965343 6.0623384 4.5360694 1.526269 0.0020258018 -0.023144809 4.5571884 + 54280 20.228241 0.99797821 23.656146 6.0364449 4.5399766 1.4964683 0.0019401594 -0.022433314 4.5604697 + 54290 20.446068 0.99465024 23.493761 6.0381431 4.5466651 1.491478 0.0019803493 -0.022739983 4.5674247 + 54300 20.326227 0.99554733 23.741063 6.0291246 4.5363014 1.4928232 0.0019185057 -0.022597026 4.5569799 + 54310 20.273564 1.0049843 23.549002 6.0151045 4.5081306 1.506974 0.001903401 -0.022701471 4.5289286 + 54320 20.24805 1.0020375 23.808942 6.0226513 4.520096 1.5025552 0.0018970603 -0.02245156 4.5406505 + 54330 20.389182 1.0069534 23.744179 6.0559076 4.545981 1.5099266 0.0018014821 -0.021625528 4.565805 + 54340 20.414129 1.0194315 23.747348 6.0746673 4.5460298 1.5286375 0.0017012139 -0.021295121 4.5656237 + 54350 20.376323 1.037721 23.878012 6.0873981 4.5313355 1.5560626 0.0017768074 -0.022148006 4.5517067 + 54360 20.428474 1.0038039 23.753621 6.0563068 4.5511029 1.5052039 0.0016079488 -0.021517006 4.571012 + 54370 20.213161 1.0186357 23.842822 6.0699881 4.5425438 1.5274442 0.0016359649 -0.02145526 4.5623631 + 54380 20.196438 1.0222602 23.846738 6.0804142 4.5475351 1.5328791 0.0017479623 -0.022041114 4.5678282 + 54390 20.346462 1.0293176 23.491476 6.0810434 4.5375817 1.5434617 0.0016338291 -0.021517789 4.5574657 + 54400 20.058841 1.0270055 23.813017 6.0794871 4.5394924 1.5399947 0.0016081345 -0.021730037 4.5596143 + 54410 20.390582 1.0111779 23.635898 6.0698524 4.5535911 1.5162613 0.0018148374 -0.022667134 4.5744434 + 54420 20.312 1.0277458 23.97718 6.0711563 4.5300515 1.5411048 0.0017584104 -0.022151603 4.5504447 + 54430 20.386528 1.015036 23.846313 6.0885245 4.566478 1.5220465 0.0018328511 -0.022523638 4.5871688 + 54440 20.270955 1.021622 23.905818 6.0774905 4.5455684 1.5319221 0.0018863364 -0.023065429 4.5667475 + 54450 20.282512 1.0041426 23.502447 6.0518657 4.5461539 1.5057119 0.002034314 -0.024096121 4.5682157 + 54460 20.441956 1.007589 23.72045 6.0260726 4.515193 1.5108796 0.0021513384 -0.024397762 4.5374394 + 54470 20.005927 0.98855016 23.599642 6.0207993 4.5384683 1.482331 0.0022440607 -0.024701073 4.5609253 + 54480 20.328109 0.99741881 23.744145 5.9907411 4.4951116 1.4956295 0.0021645769 -0.024055912 4.517003 + 54490 20.203767 0.97695724 23.638675 5.9983878 4.5334404 1.4649474 0.0020850508 -0.023324375 4.5546797 + 54500 20.191561 0.99532782 23.575778 6.0058952 4.5134011 1.4924941 0.0021060499 -0.023044085 4.5343391 + 54510 19.727713 1.0136585 23.860851 6.0378326 4.5178517 1.5199809 0.002113623 -0.023215602 4.5389537 + 54520 19.989606 0.99863747 24.014252 6.0468712 4.5494143 1.4974569 0.0021193253 -0.023473988 4.570769 + 54530 20.075037 1.0241573 23.940162 6.0669113 4.5311874 1.5357239 0.0020709146 -0.023035057 4.5521515 + 54540 20.452457 0.99489319 23.614496 6.0355213 4.543679 1.4918423 0.0018566471 -0.021952079 4.5637744 + 54550 20.382507 1.0029294 23.609567 6.0482661 4.5443735 1.5038926 0.0016476504 -0.021167976 4.5638938 + 54560 20.215478 1.0065119 23.605847 6.040202 4.5309375 1.5092645 0.0014193768 -0.020425671 4.5499437 + 54570 20.488809 1.0028542 24.058035 6.0515557 4.5477758 1.5037799 0.0012500074 -0.019653762 4.5661796 + 54580 20.268744 1.0221107 23.835261 6.0697859 4.5371309 1.5326551 0.0012616778 -0.019361484 4.5552307 + 54590 20.338567 1.0300115 23.87113 6.0785908 4.5340886 1.5445022 0.0013935823 -0.020221753 4.5529167 + 54600 20.415989 0.99558184 23.840643 6.0344968 4.5416218 1.492875 0.0013780735 -0.020341116 4.5605849 + 54610 20.108857 1.0048679 23.746592 6.0388388 4.5320394 1.5067994 0.00114446 -0.019567487 4.5504624 + 54620 20.201285 1.0103195 23.848955 6.0352044 4.5202303 1.5149741 0.0011377452 -0.019477248 4.5385698 + 54630 20.46857 1.0108587 23.607907 6.0679469 4.5521642 1.5157827 0.0010649044 -0.019109393 4.5702087 + 54640 20.268665 1.0231272 23.76379 6.0862444 4.5520652 1.5341793 0.0012883664 -0.020347092 4.5711239 + 54650 20.343822 1.0229641 23.550673 6.0866745 4.5527398 1.5339347 0.001566674 -0.02167895 4.5728521 + 54660 20.134766 1.0282864 23.970232 6.0814435 4.539528 1.5419155 0.0016582708 -0.021805476 4.5596752 + 54670 20.356572 1.0210105 23.815744 6.0767399 4.5457346 1.5310053 0.0013933684 -0.020475209 4.5648165 + 54680 20.138976 1.0211823 23.622548 6.0944745 4.5632117 1.5312628 0.0012744946 -0.02009863 4.5820358 + 54690 20.193651 1.0276371 23.49259 6.092695 4.5517531 1.5409419 0.0015827454 -0.021337992 4.5715084 + 54700 20.14358 1.03781 23.741003 6.0882208 4.5320247 1.5561961 0.0014463111 -0.020927617 4.551506 + 54710 20.214971 1.0027117 23.914317 6.0478351 4.5442689 1.5035662 0.0013539829 -0.020250686 4.5631656 + 54720 20.380811 1.0029117 23.740193 6.0455723 4.5417062 1.5038661 0.0013440705 -0.019444255 4.5598064 + 54730 20.08939 1.0099001 23.855041 6.0664776 4.5521324 1.5143452 0.0013955347 -0.019448801 4.5701857 + 54740 19.87253 1.0209938 23.941706 6.0795019 4.5485217 1.5309802 0.001374482 -0.01902913 4.5661764 + 54750 20.042394 1.0122966 23.60897 6.0455529 4.5276142 1.5179387 0.0014372597 -0.019574302 4.5457513 + 54760 20.379925 1.0137832 23.53514 6.0544642 4.5342963 1.520168 0.0015476668 -0.020387717 4.5531363 + 54770 19.871586 1.0019349 23.613583 6.0463661 4.5439648 1.5024013 0.0015080226 -0.020429794 4.5628866 + 54780 20.005487 1.0143624 23.966027 6.0565579 4.5355215 1.5210364 0.0013538369 -0.019845783 4.5540135 + 54790 19.789777 0.999071 23.486791 6.0470913 4.5489843 1.498107 0.0015013572 -0.020622318 4.5681053 + 54800 20.079442 0.9955471 23.77604 6.0273037 4.5344808 1.4928229 0.0015736484 -0.021151552 4.5540587 + 54810 20.182153 0.9955729 23.542261 6.0068457 4.5139841 1.4928616 0.0017339658 -0.022291854 4.534542 + 54820 20.212985 0.99635462 23.58979 6.0268976 4.5328638 1.4940338 0.0018484127 -0.022775809 4.5537912 + 54830 20.209058 1.0120407 23.700946 6.0235495 4.5059945 1.517555 0.0017905099 -0.022662747 4.5268667 + 54840 20.305687 1.0082179 23.714321 6.0329128 4.5210901 1.5118227 0.0020461987 -0.023370345 4.5424142 + 54850 20.080395 1.0219715 23.941903 6.0585655 4.5261192 1.5324462 0.0021738071 -0.02385877 4.5478042 + 54860 20.130389 1.0200697 23.894957 6.0259722 4.4963776 1.5295945 0.0021244212 -0.023612018 4.5178652 + 54870 20.365999 1.0077941 23.853951 6.0169752 4.505788 1.5111872 0.0018980263 -0.022750538 4.5266405 + 54880 19.986506 1.010894 23.818079 6.0309911 4.5151555 1.5158356 0.0018963969 -0.022475676 4.5357348 + 54890 20.233359 0.98950509 23.643176 5.9960411 4.5122782 1.4837629 0.0019020392 -0.022257605 4.5326338 + 54900 19.959591 0.9910014 23.967559 6.0233354 4.5373288 1.4860066 0.001894427 -0.022220787 4.5576552 + 54910 20.022937 0.99575429 23.895485 6.0372204 4.5440869 1.4931336 0.0018218892 -0.022164731 4.5644297 + 54920 20.187634 0.99340945 23.690686 6.0243587 4.5347413 1.4896175 0.001688077 -0.021778395 4.5548316 + 54930 20.214878 0.9945824 23.471446 6.0215441 4.5301678 1.4913763 0.0016660663 -0.021718202 4.55022 + 54940 20.140191 0.99057768 23.603744 6.0067848 4.5214136 1.4853712 0.0015603002 -0.021669816 4.5415231 + 54950 20.291995 1.0012804 23.645994 6.0093962 4.5079763 1.5014199 0.0017883859 -0.022763432 4.5289513 + 54960 20.34057 1.0086646 23.618988 6.0382541 4.5257615 1.5124926 0.0016792111 -0.021816219 4.5458985 + 54970 20.219729 1.0078725 23.538298 6.0488549 4.5375501 1.5113048 0.0016170256 -0.021127325 4.5570604 + 54980 20.251191 1.0238891 23.82218 6.0452473 4.5099256 1.5353216 0.0014414149 -0.01998301 4.5284672 + 54990 20.181787 1.0097797 23.696602 6.0508079 4.5366432 1.5141646 0.0012475708 -0.018946382 4.554342 + 55000 20.333351 0.99246857 23.733134 6.0293448 4.5411382 1.4882066 0.0013575669 -0.019465368 4.559246 + 55010 20.279189 1.0082543 23.582884 6.0529375 4.5410602 1.5118773 0.0012654557 -0.019306792 4.5591015 + 55020 20.337355 1.029696 23.851829 6.075604 4.5315749 1.5440291 0.0012718441 -0.01891474 4.5492178 + 55030 20.143285 1.0424168 23.691726 6.0899051 4.5268011 1.563104 0.0012368136 -0.018885017 4.5444493 + 55040 20.051644 1.0063728 23.562558 6.0700987 4.5610426 1.5090561 0.0011953005 -0.018422864 4.5782702 + 55050 20.168034 1.0157345 23.767234 6.0692992 4.5462054 1.5230939 0.0013559621 -0.019003744 4.5638531 + 55060 19.677041 1.0133779 23.79106 6.0830903 4.5635302 1.5195601 0.0016548002 -0.02042444 4.5822998 + 55070 20.146248 1.0185597 23.622722 6.0774454 4.5501151 1.5273303 0.0016286257 -0.020180712 4.5686672 + 55080 20.339336 1.0264792 23.686471 6.0807002 4.5414946 1.5392055 0.001663275 -0.02015891 4.5599903 + 55090 20.455807 1.0139854 23.597674 6.0785155 4.5580443 1.5204711 0.0017731165 -0.021654221 4.5779254 + 55100 20.309642 1.0272317 24.026627 6.0658425 4.5255086 1.540334 0.0017573479 -0.021867322 4.5456185 + 55110 20.266314 1.0079714 23.668617 6.0636974 4.5522443 1.5114531 0.0016823987 -0.0216673 4.5722292 + 55120 20.085886 1.0003205 23.64353 6.0487425 4.5487619 1.4999806 0.0018081619 -0.022522447 4.5694762 + 55130 20.420811 1.0153934 23.522481 6.0660948 4.5435124 1.5225824 0.0017688743 -0.022741103 4.5644846 + 55140 20.123178 1.0316325 23.648271 6.074073 4.5271401 1.546933 0.0017439137 -0.0222628 4.5476589 + 55150 20.167893 1.018057 23.871754 6.0660153 4.5394388 1.5265765 0.0018378145 -0.022718375 4.5603193 + 55160 20.190269 1.0027429 23.612611 6.0433342 4.5397213 1.503613 0.0019391841 -0.023230586 4.5610127 + 55170 20.125283 1.0094293 23.58104 6.0596947 4.5460555 1.5136392 0.0018657844 -0.022661668 4.5668514 + 55180 20.079138 1.0255037 23.922125 6.0715303 4.5337875 1.5377428 0.0015413086 -0.02140308 4.5536493 + 55190 20.071081 1.0374136 23.84258 6.0970495 4.5414477 1.5556018 0.0016691408 -0.021776141 4.5615547 + 55200 20.301434 1.0215924 23.809161 6.1000651 4.5681873 1.5318778 0.0015879885 -0.021197805 4.5877971 + 55210 19.796907 1.0056152 23.73799 6.0646593 4.5567393 1.50792 0.0016149748 -0.021228149 4.5763525 + 55220 19.700624 1.025177 23.43991 6.0650469 4.527794 1.5372529 0.0017300656 -0.022070444 4.5481344 + 55230 20.271342 1.0056292 23.733635 6.0574587 4.5495178 1.5079409 0.0015550487 -0.021164009 4.5691268 + 55240 19.888978 0.99518179 23.519757 6.0295256 4.5372505 1.4922751 0.0013726271 -0.020312629 4.5561905 + 55250 20.128202 1.0025852 23.677022 6.0319431 4.5285665 1.5033765 0.0014231387 -0.020204788 4.5473482 + 55260 20.168414 0.99902027 23.848251 6.0314057 4.5333748 1.4980309 0.0014063362 -0.019910213 4.5518787 + 55270 20.321994 0.99686545 23.614589 6.0371043 4.5423046 1.4947997 0.0016468899 -0.021105485 4.5617632 + 55280 20.468292 1.0061182 23.670354 6.0444186 4.5357444 1.5086742 0.0017419929 -0.021588803 4.5555912 + 55290 20.0121 1.0057007 23.650745 6.018812 4.5107638 1.5080482 0.0016969791 -0.021611445 4.5306782 + 55300 20.1034 0.98695204 23.875717 6.0258921 4.5459575 1.4799346 0.0018020489 -0.02197116 4.5661266 + 55310 20.215951 0.98858466 23.756565 6.004 4.5216173 1.4823827 0.0018739357 -0.02231128 4.5420547 + 55320 20.13099 1.0011675 23.725506 6.0162377 4.514987 1.5012507 0.0018268595 -0.022072681 4.5352328 + 55330 20.015112 1.0149445 23.746784 6.0558148 4.5339055 1.5219093 0.0017121802 -0.021678711 4.553872 + 55340 20.260469 1.0124947 23.842525 6.0444876 4.5262517 1.5182359 0.0016316167 -0.021555023 4.5461751 + 55350 19.728752 1.0202494 23.872374 6.0559998 4.5261358 1.529864 0.0017741665 -0.022252315 4.546614 + 55360 20.052127 1.0062768 24.144951 6.0582653 4.5493533 1.508912 0.0018478947 -0.022513669 4.570019 + 55370 20.515141 1.042215 23.858022 6.1023455 4.5395442 1.5628014 0.0019020683 -0.022393072 4.5600352 + 55380 20.383075 1.0182598 23.608948 6.0971561 4.5702755 1.5268806 0.0018591726 -0.022371017 4.5907874 + 55390 20.443864 1.0267401 23.862601 6.0901582 4.5505615 1.5395967 0.0017178003 -0.021756661 4.5706003 + 55400 20.392728 1.0215519 23.464386 6.076682 4.5448649 1.5318171 0.001447322 -0.020240357 4.563658 + 55410 20.167502 1.0070869 23.768245 6.0631924 4.5530655 1.5101269 0.0013388356 -0.019738945 4.5714657 + 55420 20.26531 1.0105405 23.583948 6.0883576 4.5730521 1.5153055 0.0014403042 -0.020495199 4.592107 + 55430 20.073655 1.0339471 23.855595 6.0640487 4.513645 1.5504037 0.001221634 -0.019473958 4.5318973 + 55440 20.321882 0.99929678 23.643656 6.0417754 4.5433299 1.4984455 0.0011943721 -0.019548636 4.5616841 + 55450 20.380573 0.99832407 23.798143 6.055576 4.558589 1.4969869 0.0012739421 -0.020181521 4.5774966 + 55460 20.291319 1.032284 23.730503 6.0605409 4.5126311 1.5479098 0.0014107887 -0.020781529 4.5320018 + 55470 20.180191 1.0075009 23.937331 6.0493614 4.5386138 1.5107477 0.0014837579 -0.021404585 4.5585346 + 55480 20.246773 1.0098401 23.55953 6.0527664 4.5385111 1.5142553 0.0016238625 -0.021749353 4.5586366 + 55490 20.291755 1.0013189 23.70256 6.0314481 4.5299704 1.5014776 0.0017463198 -0.022297737 4.5505218 + 55500 20.116718 0.99621741 23.623877 6.0131925 4.5193645 1.493828 0.0018778648 -0.022805989 4.5402926 + 55510 20.009509 0.97180984 23.568613 5.9849366 4.5277077 1.4572289 0.0018866397 -0.022571533 4.5483926 + 55520 20.388136 0.98030115 23.260819 5.9801721 4.5102106 1.4699616 0.0019568168 -0.02349162 4.5317454 + 55530 19.91382 0.98745173 23.78137 5.98283 4.5021461 1.4806839 0.0021418466 -0.024518066 4.5245223 + 55540 20.221338 0.97277866 23.672912 5.9815091 4.5228275 1.4586816 0.0021641456 -0.024236359 4.5448997 + 55550 20.20444 1.004752 23.725674 6.0145468 4.5079211 1.5066257 0.002233296 -0.024677479 4.5303653 + 55560 20.240183 1.0055572 23.801807 6.0279623 4.5201293 1.5078331 0.0020143737 -0.024039152 4.542154 + 55570 20.076896 0.99071993 23.884414 6.0008629 4.5152783 1.4855845 0.002077036 -0.024228814 4.5374301 + 55580 20.053477 0.98497633 23.728879 5.9771233 4.5001513 1.476972 0.0019238268 -0.023331611 4.5215591 + 55590 20.291079 0.98285304 23.68464 5.9964072 4.5226191 1.4737881 0.0018555884 -0.023611255 4.5443747 + 55600 20.331849 0.99581127 23.71418 6.0065393 4.5133203 1.493219 0.0018524721 -0.023244481 4.5347123 + 55610 20.048208 1.0033137 23.810039 6.0341765 4.5297076 1.504469 0.0018560565 -0.022857869 4.5507094 + 55620 20.238249 0.98146797 23.644076 5.9721062 4.500395 1.4717112 0.0019589564 -0.023217799 4.5216539 + 55630 20.305893 0.98897417 23.44849 5.9987639 4.5157971 1.4829668 0.0020092731 -0.023433416 4.5372213 + 55640 20.366378 0.99330757 23.863311 5.9949271 4.5054624 1.4894647 0.0022085629 -0.024109207 4.527363 + 55650 20.247131 0.99897955 23.56097 6.0066129 4.508643 1.4979698 0.0021453135 -0.023947279 4.530445 + 55660 20.25839 0.97365287 23.837182 5.98588 4.5258875 1.4599925 0.0020181553 -0.023131929 4.5470013 + 55670 20.052662 0.97874433 23.700679 6.021902 4.5542749 1.4676271 0.0020777115 -0.023625863 4.5758231 + 55680 20.016247 1.0088912 23.755106 6.0443546 4.5315222 1.5128324 0.0019224839 -0.02304297 4.5526427 + 55690 20.018308 1.0162746 23.718934 6.0261236 4.5022198 1.5239038 0.0017617943 -0.022021127 4.5224792 + 55700 20.282059 1.0146364 23.647991 6.0374518 4.5160045 1.5214473 0.0015928982 -0.021246734 4.5356583 + 55710 20.279153 1.0012074 23.609253 6.0443608 4.5430503 1.5013105 0.0015125024 -0.020817701 4.5623555 + 55720 20.304934 1.0013516 23.659275 6.0352111 4.5336843 1.5015268 0.0015227096 -0.020797096 4.5529587 + 55730 19.908961 1.0097038 23.801873 6.0298561 4.5158053 1.5140508 0.0017003461 -0.021526042 4.535631 + 55740 20.495517 0.99561396 23.863195 6.0097505 4.5168273 1.4929231 0.0015310847 -0.02082042 4.5361167 + 55750 20.252449 0.99260359 23.576444 6.0224849 4.5340758 1.4884091 0.0015215324 -0.02068509 4.5532393 + 55760 20.066494 1.0250331 23.957781 6.0661619 4.5291248 1.5370371 0.0015069521 -0.020807594 4.5484254 + 55770 20.23543 1.0221941 23.636207 6.0777685 4.5449885 1.53278 0.0014139961 -0.020885363 4.5644598 + 55780 20.100801 1.036357 23.511915 6.0986004 4.544583 1.5540173 0.0015454701 -0.021502772 4.5645403 + 55790 20.357805 1.0374938 23.881577 6.079717 4.523995 1.555722 0.0015923855 -0.021499651 4.5439023 + 55800 20.259542 1.0433215 23.910428 6.1198671 4.5554065 1.5644606 0.0015586359 -0.02117121 4.5750191 + 55810 20.353112 1.0357276 23.832799 6.0947701 4.5416965 1.5530735 0.001661357 -0.021627857 4.561663 + 55820 20.358214 1.020254 23.859088 6.0660878 4.5362169 1.5298709 0.0017620213 -0.021984649 4.5564395 + 55830 20.260609 1.0314942 23.810169 6.0971864 4.5504609 1.5467255 0.0017573316 -0.022089007 4.5707926 + 55840 19.908247 1.0156413 23.95256 6.073488 4.5505339 1.5229541 0.0017968562 -0.022690538 4.5714276 + 55850 19.954198 1.0436143 23.785984 6.0923831 4.5274835 1.5648997 0.0019587898 -0.023310382 4.5488351 + 55860 20.528303 1.0226854 23.911335 6.0649313 4.5314146 1.5335167 0.0020102506 -0.023387014 4.5527913 + 55870 20.413571 1.0208267 23.732636 6.0656539 4.5349243 1.5307296 0.0017774312 -0.022205917 4.5553528 + 55880 20.247402 1.015815 23.722521 6.0759293 4.5527147 1.5232146 0.0015938914 -0.021314289 4.5724351 + 55890 20.216745 1.0062485 23.991335 6.0274716 4.518602 1.5088696 0.0014028235 -0.020270827 4.53747 + 55900 20.170555 0.98199011 23.527916 6.0209092 4.548415 1.4724942 0.001529632 -0.020783332 4.5676687 + 55910 20.321216 1.0008258 23.580002 6.038283 4.5375448 1.5007382 0.001581223 -0.021052036 4.5570156 + 55920 20.462569 0.99306135 23.774007 6.0303222 4.5412267 1.4890955 0.0018239521 -0.02234246 4.5617452 + 55930 20.27847 1.0188254 23.631681 6.0431141 4.5153854 1.5277287 0.0018838043 -0.022699992 4.5362016 + 55940 20.184173 1.015324 23.967356 6.0570311 4.5345528 1.5224784 0.0020144425 -0.023853433 4.5563918 + 55950 20.384889 1.018399 23.667851 6.067446 4.5403567 1.5270893 0.0021079455 -0.024188233 4.562437 + 55960 19.877666 1.0346524 23.960197 6.0865194 4.5350581 1.5514613 0.0021740905 -0.024638419 4.5575225 + 55970 20.078911 1.0314505 23.917947 6.0801066 4.5334466 1.54666 0.0021787938 -0.024856901 4.5561247 + 55980 20.264159 1.0187703 23.608777 6.0557466 4.5281005 1.527646 0.0020827471 -0.02415829 4.5501761 + 55990 19.857738 1.01681 23.497977 6.0390007 4.5142941 1.5247065 0.0021382416 -0.024165099 4.536321 + 56000 19.890085 1.0150936 23.794663 6.0439808 4.5218479 1.5221329 0.0021184593 -0.02378097 4.5435104 + 56010 20.099981 0.99573146 23.641228 6.024154 4.5310547 1.4930993 0.0019618156 -0.0232383 4.5523312 + 56020 20.323993 1.010388 23.665228 6.0439919 4.528915 1.5150768 0.0018757076 -0.023108456 4.5501478 + 56030 20.283139 1.0161569 23.737223 6.0419633 4.5182361 1.5237272 0.0020250899 -0.023887106 4.5400981 + 56040 20.004921 0.99641999 23.520582 6.034266 4.5401342 1.4941318 0.0021839327 -0.024720838 4.5626711 + 56050 20.194417 1.0099636 23.808443 6.0372673 4.5228269 1.5144404 0.0022275958 -0.024821997 4.5454213 + 56060 20.135461 1.0027996 23.71002 6.0379603 4.5342623 1.503698 0.0021191209 -0.024359252 4.5565024 + 56070 20.257783 0.99539558 23.565191 6.0316663 4.5390706 1.4925957 0.0018765167 -0.023195978 4.56039 + 56080 20.161762 0.99219685 23.461064 6.0342857 4.5464865 1.4877992 0.0017264759 -0.022424784 4.5671848 + 56090 20.086242 1.0031232 23.623705 6.0426434 4.5384602 1.5041832 0.0015438364 -0.021337222 4.5582536 + 56100 19.9667 0.99756323 23.851509 6.0225073 4.5266613 1.4958461 0.0014210666 -0.020700965 4.5459412 + 56110 20.160442 1.0088656 23.820905 6.0373827 4.5245887 1.512794 0.0013878201 -0.0205891 4.54379 + 56120 20.399852 1.0028887 23.83249 6.037576 4.5337444 1.5038316 0.0014328149 -0.020699173 4.5530108 + 56130 19.865775 0.99003046 23.789543 6.0345996 4.5500489 1.4845507 0.0014828591 -0.020628481 4.5691946 + 56140 20.097803 1.0172584 23.701469 6.0610262 4.5356472 1.525379 0.0016548614 -0.02113157 4.5551239 + 56150 20.412338 1.014098 23.624271 6.0494685 4.5288286 1.5206399 0.0015976136 -0.020603708 4.5478347 + 56160 20.309164 1.0043823 23.653238 6.0541534 4.5480821 1.5060713 0.0014485956 -0.020312764 4.5669463 + 56170 20.48713 1.0013966 23.732625 6.0445076 4.5429134 1.5015943 0.0016163216 -0.021252216 4.5625493 + 56180 20.241927 1.0074629 23.832386 6.0374382 4.5267476 1.5106906 0.0017238832 -0.021841937 4.5468657 + 56190 20.446589 1.0039589 23.632197 6.0377434 4.5323071 1.5054363 0.0018838027 -0.022527407 4.5529507 + 56200 20.277245 0.99875454 23.211382 6.0156796 4.5180472 1.4976324 0.0018756963 -0.022869241 4.5390407 + 56210 20.246286 0.98912343 23.827103 6.0336133 4.5504227 1.4831906 0.0018711905 -0.022784652 4.5713361 + 56220 20.051191 0.99684147 23.546875 6.0219348 4.527171 1.4947638 0.0018058518 -0.022306354 4.5476715 + 56230 20.137166 1.0074268 23.701783 6.0250823 4.5144458 1.5106366 0.0019377812 -0.022857321 4.5353653 + 56240 20.167631 1.0007152 23.880979 6.0200495 4.5194771 1.5005724 0.0019577876 -0.023000902 4.5405202 + 56250 20.101879 0.97818943 23.543799 6.0147918 4.5479968 1.4667951 0.0018182255 -0.022066731 4.5682453 + 56260 20.282689 1.0117838 23.872325 6.0421192 4.5249494 1.5171699 0.0018134605 -0.022077784 4.5452137 + 56270 20.250538 1.0193809 23.713209 6.0543451 4.5257834 1.5285617 0.0015475614 -0.020641035 4.5448768 + 56280 20.354139 1.0168283 23.84483 6.0487016 4.5239675 1.5247341 0.0014157572 -0.019541556 4.5420933 + 56290 20.212619 1.0149706 23.735216 6.0623 4.5403515 1.5219484 0.0013521421 -0.018932094 4.5579315 + 56300 20.418568 1.0214054 23.699839 6.0812244 4.5496271 1.5315973 0.0013329808 -0.018740961 4.5670351 + 56310 20.265748 1.0159737 23.760101 6.0728356 4.549383 1.5234526 0.0013781494 -0.019000924 4.5670058 + 56320 20.404188 1.033765 23.764398 6.0725756 4.522445 1.5501306 0.0012918521 -0.018550165 4.5397033 + 56330 20.29932 1.0174368 23.499102 6.0691016 4.5434552 1.5256464 0.001523044 -0.019988604 4.5619208 + 56340 20.225896 1.0374633 23.634484 6.1083062 4.5526299 1.5556763 0.0016607471 -0.020989784 4.5719589 + 56350 20.356212 1.0344889 23.970953 6.0958764 4.5446602 1.5512162 0.0016537864 -0.021213663 4.5642201 + 56360 20.262941 1.0103178 23.894853 6.0868295 4.571858 1.5149715 0.0017101093 -0.021637635 4.5917856 + 56370 20.379963 1.0494583 23.921328 6.1183415 4.5446788 1.5736627 0.0019340708 -0.022738861 4.5654836 + 56380 20.397192 1.0221269 23.716734 6.0962094 4.5635302 1.5326793 0.0019984735 -0.023159271 4.584691 + 56390 20.285523 1.0338047 24.049461 6.0730826 4.5228924 1.5501902 0.0018234324 -0.022748209 4.5438172 + 56400 20.423404 1.0181343 23.674051 6.0738987 4.5472063 1.5266924 0.0016617134 -0.021714858 4.5672595 + 56410 20.445377 1.0181504 23.607079 6.0632628 4.5365462 1.5267166 0.0014555208 -0.020924787 4.5560155 + 56420 20.043375 0.99713928 23.643142 6.0354534 4.5402431 1.4952103 0.0014235169 -0.020751229 4.5595708 + 56430 20.144275 0.99229458 23.511749 6.0406479 4.5527021 1.4879457 0.0013774994 -0.020472557 4.5717972 + 56440 20.283623 1.0129062 23.841872 6.0275091 4.5086563 1.5188528 0.0014149532 -0.020816172 4.5280575 + 56450 20.433813 1.0051563 23.485014 6.036267 4.5290351 1.5072319 0.0014714262 -0.021004622 4.5485683 + 56460 20.149835 1.0158362 23.764782 6.0391675 4.5159212 1.5232463 0.0014181946 -0.020514414 4.5350174 + 56470 20.283444 0.9993059 23.65806 6.0117808 4.5133216 1.4984592 0.0012852736 -0.020137421 4.5321737 + 56480 20.114184 0.98002112 23.706504 6.0123997 4.5428581 1.4695417 0.0012904637 -0.020367793 4.5619354 + 56490 20.021757 0.99809279 23.891625 6.0079037 4.5112636 1.4966401 0.001438076 -0.020962846 4.5307883 + 56500 20.034791 0.99872258 23.571457 6.0165009 4.5189164 1.4975845 0.0016303081 -0.021790555 4.5390767 + 56510 20.281233 1.0144811 23.777834 6.0349633 4.5137489 1.5212144 0.0018043565 -0.022417421 4.534362 + 56520 20.211949 1.0148765 23.63938 6.048233 4.5264257 1.5218073 0.0018573621 -0.022669924 4.5472382 + 56530 20.295934 0.98354193 23.826528 6.0266476 4.5518265 1.4748211 0.0018969768 -0.023032798 4.5729623 + 56540 20.330213 0.99823945 23.607766 6.0340777 4.5372176 1.4968601 0.0019684674 -0.022744973 4.5579941 + 56550 20.265968 0.97624802 23.675835 6.0046912 4.5408073 1.4638839 0.0019758516 -0.022591133 4.5614226 + 56560 20.236764 0.99512901 23.775623 6.0060118 4.5138159 1.492196 0.0019638226 -0.022540966 4.534393 + 56570 20.022011 1.0022732 23.477208 6.0297372 4.5268285 1.5029087 0.0019682423 -0.022577995 4.5474383 + 56580 19.888396 1.0139889 23.851775 6.0457593 4.525283 1.5204763 0.0019456154 -0.022396486 4.5457339 + 56590 20.487911 1.0099912 23.842289 6.0396861 4.5252043 1.5144818 0.0020097326 -0.022720119 4.5459147 + 56600 20.293999 1.000759 23.732214 6.0392684 4.5386303 1.5006381 0.0021180012 -0.023649782 4.5601621 + 56610 20.327011 1.0204032 23.813482 6.0710133 4.5409187 1.5300946 0.0021446223 -0.02409665 4.5628707 + 56620 20.130125 1.009216 23.669858 6.0404123 4.527093 1.5133194 0.0020358564 -0.0234955 4.5485526 + 56630 19.506286 1.0131811 23.65631 6.0504739 4.5312088 1.5192651 0.0019379588 -0.022856179 4.552127 + 56640 20.27786 1.0157083 23.50236 6.0568133 4.5337586 1.5230546 0.0018311848 -0.02223141 4.5541588 + 56650 20.155331 0.99938663 23.52256 6.0397772 4.541197 1.4985803 0.0016362241 -0.021316309 4.560877 + 56660 20.444605 1.0214399 23.408599 6.0633668 4.5317177 1.5316491 0.001573891 -0.02098316 4.5511269 + 56670 20.307881 1.0249445 23.853956 6.0531397 4.5162354 1.5369043 0.0017282554 -0.021509588 4.5360167 + 56680 20.523174 1.0191372 23.805455 6.05481 4.5266137 1.5281963 0.0016686709 -0.021428361 4.5463734 + 56690 20.096007 1.0163555 23.575827 6.0684463 4.5444212 1.5240251 0.0014095225 -0.020102365 4.563114 + 56700 19.974876 1.0235691 23.685058 6.0722843 4.5374424 1.5348419 0.0010954439 -0.018893323 4.5552403 + 56710 20.425896 1.0134235 23.625229 6.0444621 4.5248335 1.5196286 0.0012341531 -0.019500372 4.5430997 + 56720 20.070674 1.0032674 23.668987 6.0469657 4.5425663 1.5043994 0.001308218 -0.020209854 4.5614679 + 56730 20.264387 1.0001395 23.777233 6.0520195 4.5523103 1.4997092 0.0015312271 -0.021502844 4.5722819 + 56740 20.195746 0.9997018 23.754559 6.0412793 4.5422264 1.4990529 0.0017490731 -0.022520855 4.5629982 + 56750 19.997931 1.0088434 23.532551 6.0369335 4.5241728 1.5127607 0.00194774 -0.023141511 4.5453666 + 56760 20.134096 0.99845475 23.752548 6.0450865 4.5479036 1.4971829 0.002091683 -0.023452427 4.5692643 + 56770 19.977543 1.03014 23.665524 6.0845485 4.5398535 1.544695 0.0021343193 -0.023672621 4.5613918 + 56780 20.124037 1.0094088 23.764321 6.0420571 4.5284487 1.5136084 0.0020863712 -0.02312581 4.5494881 + 56790 20.421897 1.0364762 23.751636 6.0747057 4.5205097 1.5541961 0.0021652866 -0.024055841 4.5424002 + 56800 19.948152 0.99809356 23.811399 6.0436694 4.5470281 1.4966413 0.0020980916 -0.024037233 4.5689673 + 56810 19.992749 0.99930932 23.897615 6.0193488 4.5208845 1.4984643 0.0019673732 -0.02329717 4.5422143 + 56820 20.407041 1.028652 24.067018 6.0623429 4.5198792 1.5424637 0.0019291161 -0.022781776 4.5407319 + 56830 20.435534 1.0184665 23.609496 6.0725433 4.5453527 1.5271906 0.0019375874 -0.022979861 4.5663949 + 56840 20.371564 1.0189137 23.728247 6.0445561 4.5166949 1.5278611 0.0019506324 -0.022518909 4.5372632 + 56850 20.042721 1.0275149 23.514743 6.0701471 4.5293886 1.5407585 0.0016940016 -0.021230865 4.5489254 + 56860 19.927024 1.0080151 23.878891 6.0607745 4.549256 1.5115186 0.0015021164 -0.020052605 4.5678064 + 56870 20.307945 1.0063787 23.916599 6.0495642 4.5404993 1.5090649 0.0016053321 -0.020420201 4.5593142 + 56880 20.328882 1.0273055 23.783084 6.0661299 4.5256853 1.5404446 0.0017910846 -0.021020688 4.5449149 + 56890 20.08602 1.000207 23.454692 6.051584 4.5517737 1.4998103 0.0016221157 -0.020222077 4.5703736 + 56900 20.202247 1.0225439 23.806361 6.0517522 4.5184475 1.5333047 0.0014349455 -0.019390144 4.5364027 + 56910 20.102255 1.0098499 23.902361 6.041515 4.5272451 1.51427 0.0014423857 -0.020269906 4.5460726 + 56920 20.230768 1.0034948 23.588567 6.0466183 4.5418779 1.5047404 0.0015283314 -0.02112712 4.5614767 + 56930 20.476387 1.0166335 23.523909 6.0863174 4.5618755 1.524442 0.0018285855 -0.022658722 4.5827056 + 56940 20.323737 1.0241474 23.515944 6.0652956 4.5295866 1.535709 0.001961216 -0.02351098 4.5511364 + 56950 20.352818 1.023951 23.805732 6.066479 4.5310645 1.5354145 0.0020358605 -0.023672987 4.5527016 + 56960 20.362181 1.0063291 24.099527 6.068698 4.5597076 1.5089904 0.0021000159 -0.023935462 4.581543 + 56970 20.298089 0.99304173 23.678823 6.052498 4.5634319 1.4890661 0.002063197 -0.023720186 4.5850889 + 56980 20.300108 1.0240105 23.958313 6.0560492 4.5205456 1.5355037 0.0019960623 -0.023229104 4.5417786 + 56990 20.533856 1.0271348 23.808557 6.0691541 4.5289654 1.5401887 0.0018037902 -0.022031965 4.5491935 + 57000 20.429345 0.99908194 23.552099 6.0638778 4.5657544 1.4981234 0.0015288299 -0.020357667 4.5845833 + 57010 20.362079 1.010047 23.839684 6.0655098 4.5509443 1.5145655 0.0014830188 -0.020028794 4.5694901 + 57020 20.42795 1.0106482 23.543514 6.0707974 4.5553304 1.515467 0.0015221446 -0.019725558 4.5735338 + 57030 20.439125 1.007825 23.637835 6.0564845 4.5452508 1.5112336 0.0015826813 -0.020234357 4.5639025 + 57040 20.170709 1.0223199 24.152792 6.0770287 4.5440599 1.5329688 0.0016488355 -0.020764122 4.5631752 + 57050 20.326184 1.0189917 23.463848 6.0644873 4.5365093 1.527978 0.001728559 -0.020852815 4.5556336 + 57060 20.34709 1.0108136 23.447362 6.0504957 4.5347807 1.515715 0.0016249247 -0.020316499 4.5534722 + 57070 20.539631 1.0078034 23.532647 6.0512442 4.5400429 1.5112012 0.0016493058 -0.020675246 4.5590689 + 57080 20.459216 1.0044101 23.660752 6.0466837 4.5405707 1.506113 0.0016544269 -0.020820611 4.5597369 + 57090 20.316482 1.016241 23.74565 6.0520721 4.5282187 1.5238534 0.0017340545 -0.021445568 4.5479303 + 57100 20.138639 1.0175531 23.439255 6.0596217 4.5338009 1.5258208 0.0018841789 -0.022260009 4.5541767 + 57110 19.964385 1.0100619 23.627402 6.0683036 4.5537157 1.5145878 0.0017765977 -0.021796507 4.5737356 + 57120 20.043261 1.0050374 23.634861 6.037213 4.5301594 1.5070536 0.0016247919 -0.020772125 4.5493067 + 57130 20.167487 1.0076976 23.938829 6.0510666 4.5400241 1.5110425 0.0015256558 -0.020480512 4.558979 + 57140 20.305228 1.0107573 23.889023 6.0629851 4.5473546 1.5156306 0.0015002427 -0.020287138 4.5661415 + 57150 20.040032 1.0245906 23.726727 6.0518442 4.5154706 1.5363736 0.0014791002 -0.020299736 4.5342913 + 57160 19.990143 0.99721971 23.775818 6.0181539 4.5228229 1.495331 0.0015329765 -0.020611846 4.5419018 + 57170 20.007357 0.98023572 23.665568 6.0047809 4.5349175 1.4698635 0.001844945 -0.021662159 4.5547347 + 57180 20.078918 0.98674849 23.501699 6.0010103 4.5213809 1.4796294 0.0016694016 -0.020648208 4.5403597 + 57190 20.290732 1.019758 23.87327 6.022547 4.4934198 1.5291272 0.0015164728 -0.020174979 4.5120783 + 57200 20.549063 1.0030255 23.651217 6.0424367 4.5383999 1.5040368 0.001434714 -0.019989206 4.5569544 + 57210 20.301182 1.0115666 23.671099 6.0360009 4.5191568 1.5168441 0.0012990881 -0.019329567 4.5371873 + 57220 20.093738 0.99097061 23.748509 6.0158066 4.5298462 1.4859604 0.001280136 -0.019462763 4.5480288 + 57230 20.050643 0.98789429 23.802414 6.0158072 4.5344597 1.4813475 0.0013433484 -0.019638375 4.5527547 + 57240 19.777568 0.98802899 23.595855 6.0267169 4.5451675 1.4815495 0.0015589377 -0.020878599 4.5644871 + 57250 20.059526 1.0126947 23.596929 6.0265968 4.5080611 1.5185357 0.0016166415 -0.021464416 4.5279089 + 57260 20.295745 0.98174062 23.644365 6.021091 4.5489709 1.4721201 0.0015078469 -0.021180807 4.5686439 + 57270 20.255366 0.9994555 23.696623 6.0359805 4.537297 1.4986835 0.00146811 -0.021039375 4.5568683 + 57280 20.378725 0.99389691 23.838525 6.0030698 4.5127214 1.4903484 0.0014783388 -0.020839979 4.532083 + 57290 20.246727 1.0013005 23.848911 6.0281315 4.5266814 1.5014502 0.0015231581 -0.021417575 4.5465758 + 57300 19.950523 0.99165157 23.753683 6.0250916 4.5381101 1.4869815 0.0016537775 -0.021756621 4.5582129 + 57310 20.094024 1.002604 23.923635 6.0135143 4.5101095 1.5034048 0.0019328984 -0.023108941 4.5312856 + 57320 20.202318 0.99717644 23.627437 6.0133869 4.5181208 1.4952661 0.0022143539 -0.02426782 4.5401743 + 57330 20.278901 1.0047041 23.911769 6.0235704 4.5170167 1.5065537 0.0022492495 -0.024321329 4.5390887 + 57340 20.262811 0.99177671 23.631051 6.0136787 4.5265095 1.4871692 0.0021613055 -0.023967914 4.5483161 + 57350 19.727126 0.99905113 23.659182 6.0446044 4.5465272 1.4980772 0.0020210676 -0.023271519 4.5677776 + 57360 19.882385 1.0084974 23.83479 6.0339739 4.5217321 1.5122419 0.0017914306 -0.022274222 4.5422148 + 57370 20.021275 1.0037805 23.66661 6.0081869 4.503018 1.5051689 0.0016154282 -0.021847829 4.5232504 + 57380 20.400921 1.0069222 23.827283 6.0265669 4.5166871 1.5098798 0.0016721377 -0.022036475 4.5370514 + 57390 20.347815 1.0208262 23.565345 6.0557196 4.5249907 1.5307289 0.0017659137 -0.022063707 4.5452884 + 57400 20.136893 0.99156292 23.719117 6.036227 4.5493784 1.4868486 0.0016347426 -0.021404024 4.5691477 + 57410 20.206769 1.0141819 23.841853 6.0545865 4.5338208 1.5207657 0.0016411297 -0.021799253 4.5539789 + 57420 20.252285 1.0066926 23.422288 6.0393702 4.5298346 1.5095356 0.0017662024 -0.022338934 4.5504074 + 57430 20.30983 1.0210205 23.419902 6.0610262 4.530006 1.5310202 0.0018754517 -0.023025103 4.5511556 + 57440 20.253164 1.0093266 23.638096 6.0357097 4.5222245 1.5134852 0.0020683122 -0.023854639 4.5440108 + 57450 20.054588 1.0149628 23.654669 6.0466311 4.5246943 1.5219368 0.0021295945 -0.024173749 4.5467384 + 57460 20.275832 1.0106011 23.705544 6.0457553 4.5303589 1.5153963 0.0020058328 -0.023343526 4.5516966 + 57470 20.306469 0.99774228 23.589992 6.0323556 4.536241 1.4961146 0.0020437463 -0.023273321 4.5574706 + 57480 20.486078 0.99221049 23.614056 6.005518 4.5176984 1.4878196 0.0019688653 -0.022788185 4.5385177 + 57490 20.036532 1.003632 23.801128 6.016817 4.5118708 1.5049461 0.0018657724 -0.022496166 4.5325012 + 57500 20.109815 1.0081044 23.944335 6.0214563 4.5098038 1.5116525 0.0019317342 -0.022637269 4.5305094 + 57510 20.041482 0.98982374 23.728928 6.0063852 4.5221445 1.4842407 0.0019029946 -0.023026804 4.5432683 + 57520 19.70351 0.99341236 23.682342 6.0128039 4.5231821 1.4896218 0.0019006409 -0.023050894 4.5443323 + 57530 20.014954 0.98744597 23.642614 6.0069507 4.5262755 1.4806752 0.0018149232 -0.023002824 4.5474634 + 57540 20.059545 0.99992368 23.671943 6.0153528 4.5159672 1.4993856 0.0019205522 -0.023234493 4.5372811 + 57550 19.992149 1.0011072 23.721368 6.0030964 4.5019361 1.5011603 0.0020884144 -0.024196915 4.5240446 + 57560 20.261819 0.99569937 23.355845 6.0149715 4.5219203 1.4930512 0.0021099936 -0.024362341 4.5441727 + 57570 20.337041 1.0071129 23.768472 6.0240077 4.513842 1.5101658 0.0021998051 -0.024933894 4.5365761 + 57580 20.328729 0.99707489 23.477117 6.0196591 4.5245453 1.4951138 0.0023256581 -0.025030177 4.5472498 + 57590 20.292845 1.0120455 23.693774 6.0108735 4.4933112 1.5175623 0.0022127985 -0.024099455 4.5151978 + 57600 20.348338 0.99661541 23.363586 5.999948 4.5055232 1.4944248 0.0021761703 -0.023562681 4.5269097 + 57610 20.266937 1.0026687 23.464754 6.0313651 4.5278634 1.5035018 0.0020845347 -0.023239367 4.5490182 + 57620 20.24435 0.99323825 23.589241 6.0242153 4.5348546 1.4893608 0.0022889703 -0.024046933 4.5566125 + 57630 20.086746 0.99866771 23.588423 6.0200329 4.5225307 1.4975022 0.0022528179 -0.024091806 4.5443697 + 57640 20.39787 0.99617758 23.676993 6.0124584 4.5186901 1.4937683 0.0021204215 -0.023204865 4.5397746 + 57650 20.221586 1.0145774 23.704517 6.0360827 4.5147239 1.5213588 0.0020348606 -0.023204341 4.5358934 + 57660 20.33392 1.005727 23.504971 6.0464272 4.5383396 1.5080876 0.0021032736 -0.023658473 4.5598948 + 57670 20.064296 1.0120168 23.769455 6.0527383 4.5352191 1.5175193 0.0019408879 -0.023355498 4.5566337 + 57680 20.08656 1.0151228 24.012686 6.0404274 4.5182507 1.5221767 0.0019714251 -0.023465181 4.5397444 + 57690 19.427385 1.0148948 23.732365 6.0503186 4.5284839 1.5218347 0.0018512977 -0.022939964 4.5495725 + 57700 19.956779 1.0219872 23.705686 6.0770022 4.5445323 1.5324699 0.0018410967 -0.022984582 4.5656758 + 57710 20.07015 1.0306942 23.719074 6.0784978 4.5329719 1.5455259 0.0019879459 -0.023618276 4.5546022 + 57720 20.139643 1.0177117 23.786088 6.0797022 4.5536435 1.5260587 0.0018241041 -0.022819853 4.5746393 + 57730 20.307267 1.0090891 23.792551 6.0468134 4.5336843 1.5131291 0.0017384989 -0.022124784 4.5540706 + 57740 19.994307 1.0187592 23.410593 6.0509565 4.5233271 1.5276294 0.0015579169 -0.021330779 4.5431 + 57750 20.443619 1.015238 23.845401 6.0661827 4.5438334 1.5223494 0.0015050937 -0.02105467 4.5633829 + 57760 20.490348 1.0188931 23.698518 6.0543764 4.5265462 1.5278302 0.0015346972 -0.020915733 4.5459272 + 57770 20.34308 1.0254073 23.99481 6.0576667 4.5200686 1.5375982 0.0018424548 -0.02256516 4.5407913 + 57780 20.364152 1.0026664 23.508935 6.0842014 4.5807032 1.5034982 0.0019515895 -0.023236254 4.6019878 + 57790 20.161607 1.0128275 23.715192 6.0584264 4.5396915 1.5187349 0.0019308373 -0.023503186 4.5612639 + 57800 20.289251 1.0107433 23.748139 6.0515312 4.5359217 1.5156095 0.0018859224 -0.023365626 4.5574014 + 57810 20.255606 0.99910608 23.761238 6.0269619 4.5288023 1.4981596 0.001756258 -0.022881147 4.5499272 + 57820 20.483798 1.004943 23.663089 6.0358445 4.5289325 1.506912 0.001670432 -0.022235278 4.5494973 + 57830 20.261073 1.0261755 23.68121 6.0602325 4.5214824 1.5387501 0.0017554872 -0.022557631 4.5422845 + 57840 20.219395 0.99808292 23.900683 6.0397677 4.5431424 1.4966253 0.0015985143 -0.02175215 4.563296 + 57850 20.272093 1.001184 23.736757 6.0049324 4.503657 1.5012754 0.0016814606 -0.021793494 4.5237691 + 57860 20.164822 0.99220315 23.820286 6.0236769 4.5358683 1.4878086 0.0017902694 -0.022209021 4.556287 + 57870 20.079187 1.0017852 23.682788 6.0254111 4.5232341 1.502177 0.0016968393 -0.021646679 4.543184 + 57880 20.279913 1.0157456 23.635757 6.0428546 4.519744 1.5231106 0.0016643179 -0.021524053 4.5396038 + 57890 20.408968 0.99286051 23.921636 6.0248553 4.536061 1.4887943 0.0018336804 -0.022270912 4.5564982 + 57900 20.09991 1.0148443 23.522039 6.0538196 4.5320606 1.521759 0.0019075172 -0.022297925 4.552451 + 57910 20.389003 0.99405968 23.837077 6.0553428 4.5647503 1.4905925 0.0018606627 -0.022361041 4.5852507 + 57920 20.26194 1.0154001 23.514425 6.0603315 4.537739 1.5225925 0.0019628726 -0.022622526 4.5583986 + 57930 20.294347 1.0219228 23.581947 6.0555218 4.5231486 1.5323732 0.00185953 -0.02234678 4.5436358 + 57940 20.484895 1.0141615 23.487151 6.0806707 4.5599355 1.5207352 0.0016672865 -0.021388578 4.5796568 + 57950 19.985252 1.0306456 23.799782 6.0805491 4.535096 1.5454531 0.0016688047 -0.02110061 4.5545278 + 57960 20.129077 1.0300346 23.695094 6.0814573 4.5369204 1.5445369 0.001783928 -0.021660261 4.5567967 + 57970 20.3972 1.0265903 23.804717 6.0785786 4.5392064 1.5393722 0.0020178696 -0.022814953 4.5600035 + 57980 20.378733 1.0098133 23.730246 6.0812881 4.5670731 1.514215 0.0022074738 -0.023851823 4.5887175 + 57990 20.392415 1.0373503 23.999335 6.0679411 4.5124343 1.5555067 0.0022548782 -0.024027852 4.5342073 + 58000 20.430895 1.0178556 23.803089 6.0572024 4.5309279 1.5262745 0.0021333372 -0.023513805 4.5523084 + 58010 20.614186 1.0181426 23.991671 6.0556818 4.528977 1.5267048 0.0020406653 -0.023353032 4.5502894 + 58020 19.951204 1.0044656 23.699116 6.0429522 4.5367561 1.5061961 0.0019951397 -0.023127803 4.5578887 + 58030 20.372033 1.021746 23.933117 6.0607801 4.528672 1.5321081 0.0017861802 -0.02240709 4.549293 + 58040 19.993577 1.0096431 23.797824 6.0411632 4.5272035 1.5139598 0.0016810713 -0.021915009 4.5474374 + 58050 20.46644 1.0234653 23.288664 6.0684322 4.5337459 1.5346862 0.0016988343 -0.022045106 4.5540922 + 58060 20.183372 1.0075084 23.786811 6.0524786 4.5417197 1.5107589 0.0017506911 -0.022141535 4.5621105 + 58070 20.463654 1.0053103 23.77542 6.0491039 4.5416411 1.5074628 0.0019172284 -0.023341701 4.5630656 + 58080 20.300814 1.0176204 23.727835 6.0462051 4.5202834 1.5259217 0.0020245144 -0.023771019 4.5420299 + 58090 20.370274 1.0198612 23.777244 6.0740367 4.5447547 1.5292819 0.0021119502 -0.023819086 4.5664619 + 58100 20.226096 1.0190379 23.81465 6.0950969 4.5670495 1.5280474 0.0019552005 -0.023015545 4.5881098 + 58110 20.177624 1.0202545 23.911846 6.057545 4.5276734 1.5298717 0.0019511215 -0.02351914 4.5492414 + 58120 20.364858 1.0140969 23.961543 6.0357955 4.5151571 1.5206384 0.0019127475 -0.023506859 4.5367512 + 58130 19.793519 1.0059285 23.664263 6.0311601 4.5227704 1.5083897 0.0019188115 -0.023465587 4.5443172 + 58140 20.26128 1.012449 23.751284 6.0261523 4.507985 1.5181673 0.0018304028 -0.022569434 4.528724 + 58150 20.521173 0.98879667 23.616528 6.0219573 4.5392567 1.4827006 0.0017492925 -0.021984849 4.5594923 + 58160 20.198273 0.98915873 23.806693 6.0202468 4.5370033 1.4832435 0.0019337438 -0.022996154 4.5580657 + 58170 20.187873 1.0038223 23.61381 6.0264145 4.521183 1.5052315 0.0018655898 -0.022307242 4.5416247 + 58180 20.452591 1.0185068 23.744457 6.0556688 4.5284178 1.527251 0.0017927569 -0.021873819 4.5484989 + 58190 20.060261 0.99608724 23.711127 6.0377592 4.5441264 1.4936328 0.0018389651 -0.022124297 4.5644117 + 58200 20.162955 1.0149241 23.620934 6.0516054 4.5297267 1.5218786 0.001899869 -0.021994133 4.549821 + 58210 19.861214 1.0246608 23.820716 6.066352 4.5298731 1.5364789 0.0018168006 -0.02182898 4.5498853 + 58220 20.379533 1.0272953 23.733712 6.0540292 4.5135999 1.5404293 0.0018911634 -0.021954415 4.5336632 + 58230 20.486389 1.0312616 23.815429 6.1073543 4.5609775 1.5463767 0.0020474465 -0.022423342 4.5813534 + 58240 20.255242 1.0223832 23.800601 6.0983198 4.5652562 1.5330635 0.0021279672 -0.022813673 4.5859419 + 58250 20.207535 1.0461847 23.761537 6.0967473 4.5279933 1.568754 0.0021643567 -0.023204805 4.5490338 + 58260 20.320378 1.0473821 24.060461 6.113822 4.5432726 1.5705494 0.0021820339 -0.023733385 4.5648239 + 58270 20.516472 1.0384618 23.708775 6.0751556 4.5179822 1.5571734 0.0020529432 -0.023239689 4.5391689 + 58280 20.083037 1.0402299 23.720627 6.0929008 4.5330761 1.5598247 0.0019321373 -0.022929009 4.554073 + 58290 20.046923 1.0350907 24.063883 6.0961073 4.5439889 1.5521184 0.0018147073 -0.022557917 4.5647321 + 58300 20.275147 1.0416165 23.893845 6.0747782 4.5128742 1.561904 0.0017845576 -0.022965498 4.5340551 + 58310 20.417054 1.0416556 23.813755 6.0999054 4.5379428 1.5619626 0.0018752474 -0.023519783 4.5595874 + 58320 20.20052 1.0243545 23.80509 6.0878 4.5517804 1.5360196 0.0018960951 -0.023134546 4.5730189 + 58330 20.260929 1.0359921 24.116539 6.0747745 4.5213044 1.5534701 0.0018028927 -0.023052143 4.5425536 + 58340 19.927168 1.012747 23.94413 6.0583122 4.5396981 1.5186141 0.0018805286 -0.023393033 4.5612106 + 58350 20.153929 1.0198288 23.61708 6.065066 4.5358328 1.5292332 0.0018909977 -0.02313207 4.5570738 + 58360 20.289069 1.029316 23.749943 6.0705963 4.5271369 1.5434593 0.0019097523 -0.023149945 4.5483771 + 58370 19.816007 1.0323992 23.735464 6.0767902 4.5287076 1.5480826 0.002007018 -0.02334722 4.5500478 + 58380 20.193284 1.0222703 23.523512 6.0533383 4.520444 1.5328943 0.0019466914 -0.023213111 4.5417104 + 58390 20.20237 1.0181978 23.777634 6.0635409 4.5367534 1.5267875 0.0018800821 -0.023099914 4.5579732 + 58400 20.142062 1.0070273 23.714483 6.0517401 4.5417026 1.5100375 0.0018027854 -0.022504745 4.5624046 + 58410 20.078898 0.9986408 23.760632 6.0365777 4.5391158 1.4974619 0.0018503842 -0.022364744 4.5596302 + 58420 20.216925 1.0103903 23.768062 6.0282788 4.5131985 1.5150803 0.0017601729 -0.021783179 4.5332215 + 58430 20.288643 1.0133718 23.680687 6.0498413 4.5302902 1.519551 0.0016949017 -0.021527221 4.5501225 + 58440 20.47934 1.0017372 23.704354 6.0594983 4.5573933 1.502105 0.0019444513 -0.022667836 4.5781167 + 58450 20.405442 0.99597043 23.665855 6.0432496 4.5497919 1.4934577 0.0022295038 -0.024404135 4.5719665 + 58460 20.282541 1.0121463 23.756103 6.0748248 4.5571115 1.5177133 0.0023078358 -0.024629044 4.5794327 + 58470 20.214444 1.014229 23.680806 6.0786248 4.5577884 1.5208364 0.0023554282 -0.025013725 4.5804467 + 58480 20.100859 1.0446859 23.747457 6.1001131 4.5336066 1.5665065 0.0024457642 -0.025494869 4.5566557 + 58490 20.171897 1.026612 23.950837 6.079409 4.5400043 1.5394047 0.0023774078 -0.025087353 4.5627143 + 58500 20.255337 1.0275903 23.895285 6.0784191 4.5375473 1.5408717 0.0022295263 -0.024545906 4.5598637 + 58510 19.89844 1.0304498 23.58714 6.0973032 4.5521438 1.5451594 0.0021544742 -0.024423902 4.5744132 + 58520 20.336022 1.0362682 23.70665 6.0997387 4.5458545 1.5538841 0.0021204144 -0.024142014 4.5678761 + 58530 20.285871 1.015135 23.448593 6.0663435 4.5441485 1.522195 0.0021597381 -0.024336891 4.5663256 + 58540 20.260195 1.01895 23.708332 6.0602831 4.5323675 1.5279156 0.0022334985 -0.024666572 4.5548006 + 58550 20.074779 0.99689697 23.805893 6.0291624 4.5343154 1.494847 0.0022304511 -0.024538156 4.5566231 + 58560 20.263172 0.98612336 23.665596 6.0307902 4.5520982 1.478692 0.0021908384 -0.024004101 4.5739115 + 58570 20.326284 1.0027147 23.647175 6.0275084 4.5239377 1.5035707 0.0021501972 -0.023968393 4.5457559 + 58580 19.713405 1.01181 23.814354 6.0410065 4.5237974 1.517209 0.0020930908 -0.024195054 4.5458994 + 58590 20.40734 1.003781 23.943905 6.0440392 4.5388696 1.5051696 0.0021449283 -0.024375111 4.5610997 + 58600 19.499989 1.0084907 23.798094 6.0579725 4.5457407 1.5122318 0.0020173815 -0.023865815 4.5675891 + 58610 19.989219 1.017235 23.739623 6.0701975 4.5448537 1.5253438 0.0020301543 -0.023751997 4.5665755 + 58620 19.715781 1.0138518 24.063337 6.0831265 4.5628558 1.5202707 0.0021532381 -0.023838725 4.5845413 + 58630 20.334379 1.0266684 23.564933 6.0778777 4.5383885 1.5394892 0.0021809548 -0.023837698 4.5600453 + 58640 20.226084 1.0195497 23.794556 6.0750443 4.5462296 1.5288147 0.0019683105 -0.022980206 4.5672415 + 58650 19.963427 1.026169 24.09369 6.0869755 4.548235 1.5387405 0.0021130415 -0.023958991 4.5700809 + 58660 20.160392 1.0250833 23.802708 6.0746438 4.5375315 1.5371123 0.002214329 -0.024259518 4.5595767 + 58670 20.009902 0.99471695 23.519586 6.0428437 4.5512657 1.4915781 0.0020921157 -0.02381428 4.5729878 + 58680 19.592145 1.0119212 23.539585 6.0518388 4.5344629 1.5173758 0.0018032813 -0.022630542 4.5552902 + 58690 20.322587 1.016137 23.662693 6.0596934 4.5359959 1.5236975 0.0015584218 -0.021648825 4.5560863 + 58700 20.343495 1.0137068 23.819094 6.0607784 4.540725 1.5200534 0.0016329633 -0.02203586 4.5611279 + 58710 20.170408 1.0272072 23.907667 6.075727 4.5354298 1.5402972 0.0017682926 -0.022443086 4.5561046 + 58720 20.330087 1.0153929 23.401097 6.0629802 4.5403986 1.5225816 0.0018319383 -0.023013171 4.5615798 + 58730 20.201951 1.015009 23.888547 6.0450022 4.5229963 1.5220059 0.0018055149 -0.023027439 4.5442182 + 58740 20.218999 0.98894959 23.460903 6.0238346 4.5409047 1.4829299 0.0016588935 -0.02254271 4.5617885 + 58750 20.258315 0.99498215 23.825711 6.0099283 4.5179526 1.4919757 0.0015759594 -0.022266894 4.5386435 + 58760 20.167125 1.0112372 23.981288 6.0519426 4.5355923 1.5163502 0.0015599968 -0.022167359 4.5561997 + 58770 20.141828 1.0188229 23.51183 6.0560076 4.5282827 1.5277249 0.0018509174 -0.023187897 4.5496197 + 58780 20.135211 1.0267302 23.618288 6.0839694 4.5443875 1.5395819 0.0018925378 -0.02333417 4.5658291 + 58790 20.246981 1.0101144 23.520912 6.0583152 4.5436487 1.5146666 0.001948452 -0.022943299 4.5646435 + 58800 20.391822 0.99938906 23.684263 6.0281385 4.5295546 1.4985839 0.0019966508 -0.022516804 4.5500747 + 58810 20.123546 1.000088 23.570827 6.0519966 4.5523647 1.4996319 0.0019540756 -0.022439496 4.5728501 + 58820 20.507959 1.0185139 23.876556 6.0643035 4.5370419 1.5272617 0.0020585522 -0.022849909 4.5578332 + 58830 20.342317 1.0160383 23.610171 6.0559713 4.5324219 1.5235494 0.0021291911 -0.023143937 4.5534366 + 58840 20.242276 1.0047414 23.760899 6.0479334 4.5413237 1.5066097 0.0022110095 -0.023663544 4.5627762 + 58850 20.381001 1.022714 23.38905 6.0690775 4.5355179 1.5335596 0.0021401184 -0.02300206 4.5563798 + 58860 20.167059 1.0295362 23.890267 6.0667507 4.5229612 1.5437895 0.0018423581 -0.021490105 4.5426089 + 58870 20.400126 1.017841 24.039154 6.0603015 4.534049 1.5262525 0.001727736 -0.021226393 4.5535476 + 58880 19.947881 0.98450551 23.620731 6.0144133 4.5381473 1.476266 0.0018224218 -0.021837866 4.5581627 + 58890 20.220138 0.9949206 23.622092 6.0327103 4.5408269 1.4918834 0.0017500325 -0.021338023 4.5604149 + 58900 20.192097 1.0053078 23.57203 6.0203494 4.5128903 1.5074591 0.0018100418 -0.021356323 4.5324365 + 58910 20.137469 1.0056638 23.762153 6.0356928 4.5276998 1.5079929 0.0018588976 -0.022284137 4.5481251 + 58920 20.067686 1.011866 23.496784 6.0440158 4.5267228 1.517293 0.0018908568 -0.023151465 4.5479834 + 58930 20.392519 1.010091 23.381255 6.0424658 4.5278343 1.5146315 0.0017659354 -0.022451536 4.5485199 + 58940 20.334345 1.0216818 23.948034 6.0571383 4.5251265 1.5320118 0.0017808598 -0.02237756 4.5457232 + 58950 20.196639 1.0058389 23.686272 6.0569589 4.5487035 1.5082554 0.0016924054 -0.022191428 4.5692025 + 58960 20.210815 1.0241395 23.942777 6.0867667 4.5510695 1.5356972 0.0013814541 -0.020912174 4.5706002 + 58970 20.22974 1.0206568 23.684837 6.0481097 4.5176349 1.5304749 0.0011259446 -0.019396078 4.535905 + 58980 20.384303 1.0114648 23.749071 6.0451081 4.5284165 1.5166915 0.0011088982 -0.019347568 4.5466552 + 58990 20.280998 1.0133636 23.526746 6.0459343 4.5263955 1.5195388 0.0010660347 -0.019569945 4.5448994 + 59000 20.3477 0.99313373 23.858073 6.0321473 4.5429433 1.489204 0.0012281556 -0.020350365 4.5620655 + 59010 20.313855 1.0135651 23.758764 6.0342414 4.5144004 1.5198409 0.0012798048 -0.020461723 4.5335823 + 59020 20.494565 0.99004859 23.810366 6.0296079 4.54503 1.4845779 0.0014210462 -0.020830632 4.5644396 + 59030 20.201158 0.98117079 23.917226 5.9978612 4.5265956 1.4712656 0.0015722554 -0.021481314 4.5465047 + 59040 19.907918 0.97860685 23.649245 5.9877534 4.5203324 1.467421 0.0016815012 -0.021517089 4.540168 + 59050 19.868107 0.96985286 23.745673 5.9713198 4.5170254 1.4542944 0.0016781007 -0.020842836 4.5361902 + 59060 20.103428 0.9880848 23.846032 6.0042581 4.522625 1.4816332 0.0015885441 -0.020556224 4.5415926 + 59070 20.121954 1.013032 23.667031 6.0294918 4.5104504 1.5190415 0.0015497269 -0.020555054 4.5294557 + 59080 20.176371 0.99520919 23.980601 6.0336178 4.5413016 1.4923162 0.001602478 -0.021109717 4.5608089 + 59090 20.528611 1.0024317 23.647798 6.0275153 4.524369 1.5031463 0.0016798073 -0.021129177 4.5438183 + 59100 20.579235 1.0030537 23.75728 6.0456786 4.5415996 1.504079 0.0017590969 -0.021771616 4.5616121 + 59110 20.183651 1.0173352 23.747942 6.0568232 4.5313291 1.5254941 0.0017278246 -0.021595376 4.5511967 + 59120 20.073158 1.0010444 23.771549 6.0487871 4.547721 1.5010661 0.0016857285 -0.02163238 4.5676676 + 59130 19.876683 1.0071171 23.681409 6.043212 4.5330399 1.5101721 0.0016423088 -0.021850786 4.5532484 + 59140 20.241107 1.0219992 23.706222 6.0225231 4.4900354 1.5324877 0.0016793 -0.022166935 4.510523 + 59150 20.194636 0.99651306 23.677819 6.0334483 4.539177 1.4942713 0.0015151873 -0.021382001 4.5590438 + 59160 20.444161 1.005434 23.802184 6.0277823 4.520134 1.5076483 0.0014877112 -0.021032739 4.539679 + 59170 20.443344 0.9932337 23.420686 6.0450989 4.5557449 1.4893539 0.0014501326 -0.020752961 4.5750478 + 59180 20.468518 0.99845991 23.935245 6.0253857 4.5281951 1.4971906 0.0013368945 -0.019847401 4.5467056 + 59190 20.272686 1.0144142 23.8738 6.0319856 4.5108716 1.5211141 0.0014208923 -0.020047319 4.529498 + 59200 20.241878 1.0088447 23.776681 6.0470592 4.5342966 1.5127626 0.0016054556 -0.020968682 4.5536598 + 59210 20.314393 1.0071881 23.395824 6.027552 4.5172735 1.5102786 0.0018108216 -0.021872781 4.5373354 + 59220 20.156668 1.0121705 23.724012 6.0443933 4.5266437 1.5177496 0.0017668943 -0.021254647 4.5461314 + 59230 20.074812 1.0147382 23.801461 6.059476 4.5378761 1.5215999 0.0018811561 -0.021662346 4.5576573 + 59240 20.187853 1.0114266 23.812216 6.0507378 4.5341036 1.5166342 0.0017503703 -0.020984728 4.5533379 + 59250 20.093575 0.99571769 23.61259 6.0565932 4.5635145 1.4930787 0.0015666303 -0.020288924 4.5822368 + 59260 20.244994 0.98630047 23.595032 6.0375049 4.5585474 1.4789576 0.0015770082 -0.020355017 4.5773254 + 59270 20.207233 1.0134737 23.351894 6.0612311 4.5415272 1.5197039 0.0016209169 -0.020800057 4.5607063 + 59280 20.006866 1.0131403 23.602844 6.0626179 4.543414 1.5192039 0.0016536971 -0.021187428 4.5629478 + 59290 20.023118 1.023429 23.664377 6.0674582 4.5328265 1.5346317 0.0017490357 -0.021607639 4.5526851 + 59300 20.035096 1.0189208 23.908326 6.0689162 4.5410443 1.5278718 0.0017947189 -0.022264055 4.5615137 + 59310 20.368141 0.99538467 23.882735 6.0321803 4.539601 1.4925793 0.0016976174 -0.021617172 4.5595205 + 59320 20.176441 1.0054716 23.486361 6.0714766 4.5637719 1.5077046 0.0014499961 -0.020456554 4.5827785 + 59330 20.053581 1.002779 23.560038 6.035621 4.531954 1.5036671 0.0014160415 -0.019989287 4.5505272 + 59340 20.140156 0.99265177 23.755611 6.0081637 4.5196824 1.4884813 0.0014197326 -0.019902806 4.5381655 + 59350 20.189943 0.9970124 23.550963 6.0167831 4.5217631 1.4950201 0.0015130662 -0.020384073 4.5406341 + 59360 20.268384 0.98105719 23.821535 5.9980728 4.5269775 1.4710953 0.0017871807 -0.021350849 4.5465412 + 59370 20.29932 0.98226933 23.609089 6.0033108 4.5303979 1.4729129 0.0017963157 -0.021571185 4.5501728 + 59380 20.049646 0.98982253 23.690052 6.0196775 4.5354386 1.4842389 0.0017845409 -0.021620513 4.5552746 + 59390 20.378594 1.0012236 23.437673 6.0427099 4.5413752 1.5013347 0.0017219391 -0.021622428 4.5612757 + 59400 20.253518 0.99807584 23.631198 6.0274068 4.530792 1.4966147 0.001650599 -0.021509833 4.5506513 + 59410 20.223012 0.98492902 23.645458 6.0059964 4.5290953 1.4769011 0.0016673179 -0.021300016 4.548728 + 59420 20.26226 0.98491049 23.981 6.0012651 4.5243919 1.4768733 0.0018083012 -0.021823843 4.5444074 + 59430 19.950454 0.98303562 23.864096 6.0006232 4.5265613 1.4740619 0.0017176163 -0.021125032 4.5459687 + 59440 20.259694 0.97245507 23.491345 5.986204 4.5280076 1.4581964 0.0018170579 -0.021719002 4.5479096 + 59450 20.211131 0.97915718 23.875976 6.0000414 4.5317952 1.4682462 0.0019069189 -0.022343796 4.5522321 + 59460 20.269809 1.0015264 23.762264 6.0047749 4.5029861 1.5017888 0.0018550211 -0.02228316 4.5234142 + 59470 20.068949 0.99516685 23.928871 6.0245949 4.5323422 1.4922527 0.0020236637 -0.022803021 4.5531216 + 59480 20.387285 1.0094523 23.748424 6.0203952 4.5067214 1.5136738 0.0020595402 -0.022830791 4.5274927 + 59490 20.122938 1.0063811 23.698202 6.0258742 4.5168057 1.5090685 0.0019161751 -0.022482921 4.5373724 + 59500 19.90075 1.0204774 23.695515 6.0448957 4.5146898 1.5302059 0.0015534522 -0.021199886 4.5343362 + 59510 20.128213 1.0198408 23.655229 6.0566289 4.5273777 1.5292513 0.0012767365 -0.020224679 4.5463256 + 59520 19.967052 1.0102866 23.746666 6.0631202 4.5481954 1.5149248 0.0015224121 -0.021033246 4.5677062 + 59530 19.781702 1.0180354 23.693904 6.0577977 4.5312536 1.526544 0.001756366 -0.022088102 4.5515854 + 59540 20.239591 1.0065886 24.063812 6.0762691 4.5668895 1.5093796 0.0017172872 -0.022511477 4.5876837 + 59550 20.374383 1.0431605 23.848598 6.0679016 4.5036824 1.5642192 0.0017035131 -0.022652225 4.5246311 + 59560 20.376303 1.0266102 23.731879 6.0788012 4.5393992 1.539402 0.0017379852 -0.022791573 4.5604528 + 59570 20.169737 1.0380125 23.736899 6.0871426 4.530643 1.5564997 0.001773182 -0.02237008 4.5512399 + 59580 20.114299 1.0274559 23.705777 6.0815086 4.5408384 1.5406701 0.0017512827 -0.022298958 4.5613861 + 59590 20.513862 1.0288633 23.640104 6.0785525 4.535772 1.5427806 0.0016447122 -0.021753667 4.5558809 + 59600 20.205175 1.0067729 23.969367 6.0585265 4.5488706 1.5096559 0.0016575452 -0.021685501 4.5688985 + 59610 20.34083 1.0016368 23.693754 6.0403428 4.5383884 1.5019543 0.0015817946 -0.021114272 4.5579209 + 59620 19.928393 0.99991515 23.674871 6.0306879 4.5313151 1.4993728 0.0015447827 -0.020994333 4.5507646 + 59630 20.23016 0.99469795 23.890045 6.0282519 4.5367024 1.4915496 0.0016142279 -0.021098408 4.5561865 + 59640 20.085328 0.99577637 23.613897 6.0229131 4.5297464 1.4931667 0.001731916 -0.02203879 4.5500533 + 59650 20.077777 1.004904 23.64161 6.0448149 4.5379614 1.5068535 0.0018644224 -0.02288488 4.5589818 + 59660 20.2352 1.0205078 23.799007 6.0638505 4.5335991 1.5302514 0.0018427697 -0.022844831 4.5546012 + 59670 20.082051 1.016122 23.720798 6.0650067 4.5413319 1.5236749 0.001835947 -0.022932383 4.5624283 + 59680 20.158828 1.0181568 23.549018 6.0581629 4.5314368 1.5267261 0.001734309 -0.022539451 4.5522419 + 59690 20.325443 1.0165507 23.834452 6.0670135 4.5426958 1.5243177 0.0018206185 -0.022850823 4.563726 + 59700 20.28079 1.013964 23.926338 6.0653471 4.544908 1.5204391 0.0019060539 -0.023056043 4.566058 + 59710 20.06921 1.0229839 23.741356 6.0691753 4.535211 1.5339643 0.0019636963 -0.023241729 4.556489 + 59720 20.202475 1.0143585 23.56646 6.0571077 4.5360772 1.5210305 0.0020925359 -0.023756008 4.5577407 + 59730 20.400008 1.0140977 23.729724 6.0594259 4.5387864 1.5206395 0.0021589372 -0.023758003 4.5603855 + 59740 20.013042 1.0204137 23.645364 6.0687478 4.5386375 1.5301103 0.0021833375 -0.023865132 4.5603193 + 59750 20.341895 1.0224711 23.80076 6.068443 4.5352475 1.5331955 0.002141558 -0.023604386 4.5567104 + 59760 19.956427 1.0114646 23.896868 6.0625875 4.5458962 1.5166912 0.0021152493 -0.023483159 4.5672642 + 59770 20.146667 1.004357 23.583729 6.0308229 4.5247896 1.5060334 0.0020756328 -0.023144659 4.5458586 + 59780 20.284594 0.99727287 23.631692 6.0124927 4.517082 1.4954107 0.0018855449 -0.022572894 4.5377694 + 59790 20.186642 0.98672779 23.801886 6.0196053 4.540007 1.4795983 0.0018269073 -0.022568033 4.5607481 + 59800 20.115957 1.0060553 23.402025 6.0337895 4.5252096 1.5085799 0.0019309126 -0.023114085 4.5463927 + 59810 20.375197 1.0211366 23.69454 6.0704843 4.53929 1.5311943 0.0018881517 -0.023310241 4.5607121 + 59820 20.078143 1.0180017 23.880949 6.0799376 4.553444 1.5264936 0.0020224673 -0.023771718 4.5751933 + 59830 20.19817 1.0096245 23.563698 6.0408232 4.5268914 1.5139319 0.0020923294 -0.023629116 4.5484281 + 59840 20.117169 1.0327224 23.717279 6.0584867 4.5099195 1.5485672 0.0019977589 -0.023273751 4.5311955 + 59850 20.407707 1.016797 23.605208 6.0546522 4.5299651 1.5246871 0.0018411339 -0.02221681 4.5503408 + 59860 20.39284 1.0301949 23.799635 6.0630694 4.5182922 1.5447772 0.0014631808 -0.020539892 4.5373689 + 59870 20.031552 1.0223166 23.852048 6.0644546 4.5314909 1.5329637 0.0011524258 -0.019504452 4.5498429 + 59880 19.574819 1.0172007 23.675813 6.0803296 4.5550372 1.5252924 0.001241883 -0.019541653 4.573337 + 59890 19.952288 1.0419655 23.831263 6.086909 4.5244817 1.5624272 0.0015732778 -0.020796735 4.5437052 + 59900 20.166778 1.0129064 23.536143 6.0573501 4.538497 1.5188531 0.0017070062 -0.021697135 4.5584871 + 59910 20.179325 1.0257012 23.582717 6.0851364 4.5470975 1.5380389 0.0018952166 -0.022778873 4.5679812 + 59920 19.881955 1.0307258 23.75739 6.0871158 4.5415424 1.5455734 0.0018364362 -0.02278574 4.5624917 + 59930 19.989452 1.0217019 23.75995 6.0622314 4.5301893 1.5320421 0.0016900129 -0.022130724 4.55063 + 59940 19.978192 1.008577 24.100328 6.0367883 4.5244271 1.5123612 0.0016270494 -0.021801428 4.5446015 + 59950 20.178632 1.0089723 23.781944 6.0484647 4.5355107 1.512954 0.0014097886 -0.020379297 4.5544802 + 59960 20.112177 1.0012848 23.659334 6.0394207 4.5379941 1.5014266 0.0011914699 -0.019683225 4.5564859 + 59970 20.100634 0.99875282 23.935469 6.0498665 4.5522366 1.4976299 0.0011687251 -0.019410309 4.5704782 + 59980 20.235214 1.0288368 23.770203 6.0799702 4.5372295 1.5427407 0.0012979435 -0.01948017 4.5554118 + 59990 20.313914 1.0225381 23.804017 6.0838602 4.5505644 1.5332958 0.0014939808 -0.020190995 4.5692614 + 60000 20.435292 1.0321708 23.86324 6.0844492 4.5367091 1.5477401 0.0018211105 -0.021792924 4.5566809 + 60010 20.291294 1.0333614 23.860569 6.096946 4.5474205 1.5495254 0.002010281 -0.022749971 4.5681602 + 60020 20.347312 1.0385326 23.855043 6.0882409 4.5309612 1.5572797 0.0020469769 -0.02254734 4.5514616 + 60030 20.065899 1.0206418 24.070973 6.0549329 4.5244806 1.5304523 0.0020155124 -0.022925485 4.5453906 + 60040 20.356691 1.0203505 23.686924 6.0439107 4.5138951 1.5300156 0.0020824463 -0.023544784 4.5353574 + 60050 20.265408 1.0114476 23.694813 6.0346117 4.517946 1.5166656 0.0021226512 -0.023588562 4.539412 + 60060 20.088686 1.0028006 23.500589 6.0308123 4.5271129 1.5036994 0.0019498111 -0.022786801 4.5479499 + 60070 20.115462 1.0164167 23.813724 6.056669 4.5325522 1.5241168 0.0019555321 -0.023433997 4.5540306 + 60080 20.150126 1.0071113 23.871736 6.0674483 4.5572848 1.5101634 0.0021368102 -0.024650193 4.5797982 + 60090 20.083956 1.0208899 23.864654 6.0704516 4.5396273 1.5308243 0.0021488092 -0.024533596 4.5620121 + 60100 20.083339 1.0242273 23.569587 6.0677115 4.5318827 1.5358288 0.0021405454 -0.024583794 4.554326 + 60110 20.42278 1.0208838 23.87578 6.0767078 4.5458925 1.5308153 0.0021402386 -0.024763923 4.5685162 + 60120 20.396044 1.0115414 23.84658 6.0294029 4.5125966 1.5168063 0.0020030392 -0.023658961 4.5342526 + 60130 20.442623 1.0092969 23.719938 6.0240366 4.5105958 1.5134408 0.0016808083 -0.021703461 4.5306184 + 60140 20.233364 0.97929875 23.632306 6.0017524 4.5332939 1.4684585 0.0013487716 -0.019718983 4.5516641 + 60150 20.179812 0.98225122 23.886755 6.0156689 4.5427832 1.4728857 0.0012761901 -0.018909552 4.5604165 + 60160 19.924725 0.97412678 23.703986 5.984274 4.5235709 1.4607031 0.0012161599 -0.018612617 4.5409673 + 60170 20.045203 0.96542383 23.699955 5.9982968 4.5506437 1.447653 0.0011445378 -0.018180138 4.5676793 + 60180 20.362911 0.98763576 23.863224 5.9941513 4.5131915 1.4809598 0.0010281658 -0.017448875 4.5296122 + 60190 20.569199 0.96928613 23.610061 5.9821624 4.5287179 1.4534445 0.0010201243 -0.017659866 4.5453576 + 60200 20.514112 0.9939258 23.609895 5.9945753 4.5041836 1.4903917 0.00083536848 -0.01706893 4.5204172 + 60210 20.475332 0.99958431 24.025217 6.022182 4.5233054 1.4988767 0.0010145552 -0.017969947 4.5402608 + 60220 20.240622 1.0053315 23.854073 6.0261037 4.518609 1.5074946 0.0011991933 -0.01902687 4.5364367 + 60230 20.217068 1.0053674 23.736237 6.0410614 4.533513 1.5075485 0.0012974675 -0.019710381 4.5519259 + 60240 20.370402 1.0019379 23.380138 6.020441 4.5180352 1.5024058 0.0014708451 -0.020629638 4.537194 + 60250 20.095601 0.99981879 23.710923 6.0182982 4.5190699 1.4992283 0.0017349648 -0.021819499 4.5391544 + 60260 20.167202 0.98250312 23.750846 6.0091266 4.5358632 1.4732634 0.0017228111 -0.021536678 4.5556771 + 60270 20.091833 1.0067002 23.709795 6.0284746 4.5189277 1.5095469 0.0015813705 -0.02009957 4.5374459 + 60280 20.323381 1.0233711 23.658895 6.0331566 4.4986117 1.534545 0.0015847022 -0.019632594 4.5166596 + 60290 20.332217 0.99429809 23.838012 6.0433135 4.5523635 1.49095 0.0016042615 -0.019451514 4.5702108 + 60300 20.004991 0.98160489 23.687088 6.0139401 4.5420235 1.4719165 0.001484368 -0.019673402 4.5602126 + 60310 19.959526 1.0073434 23.583633 6.047053 4.5365416 1.5105114 0.0014052907 -0.019629129 4.5547654 + 60320 20.205862 1.0092854 23.594246 6.0298732 4.5164497 1.5134235 0.0016042909 -0.020548237 4.5353937 + 60330 20.023719 1.022032 23.663377 6.0274194 4.4948824 1.532537 0.0018257824 -0.021217008 4.5142736 + 60340 20.341986 1.0059851 23.823754 6.0168974 4.5084227 1.5084747 0.0017738573 -0.021004796 4.5276537 + 60350 20.282312 0.9951525 23.650595 6.037394 4.5451629 1.4922312 0.0015963881 -0.020455437 4.5640219 + 60360 20.404171 1.0208763 23.635081 6.0835214 4.5527175 1.5308039 0.001850859 -0.021518056 4.5723847 + 60370 20.400793 1.0428339 23.66615 6.0777819 4.5140525 1.5637294 0.0018096916 -0.021602611 4.5338454 + 60380 20.016931 1.0338554 23.510202 6.0858243 4.535558 1.5502662 0.0017269034 -0.021771526 4.5556026 + 60390 20.522215 1.0156349 23.781686 6.0636825 4.5407379 1.5229446 0.0018861836 -0.02273229 4.561584 + 60400 20.17596 1.0149404 23.744342 6.0646576 4.5427544 1.5219032 0.0018814128 -0.022915473 4.5637885 + 60410 20.280086 1.0163677 23.891956 6.0474858 4.5234424 1.5240434 0.0019265363 -0.022867785 4.5443837 + 60420 20.45628 1.02266 23.629507 6.0595805 4.5261018 1.5334787 0.001922224 -0.022467071 4.5466467 + 60430 20.116102 1.0203381 23.773344 6.0741483 4.5441513 1.5299969 0.0019766592 -0.022741363 4.564916 + 60440 20.1792 1.0233242 23.694316 6.0891999 4.5547252 1.5344747 0.0018277291 -0.021906602 4.5748041 + 60450 19.803727 1.0231882 23.943284 6.0875033 4.5532326 1.5342708 0.0017871685 -0.021729023 4.5731745 + 60460 20.048422 1.027226 23.822932 6.0690629 4.5287375 1.5403253 0.0019037002 -0.022363455 4.5491973 + 60470 19.968216 1.0263672 23.790816 6.0695395 4.530502 1.5390376 0.0020736595 -0.023152163 4.5515805 + 60480 20.108103 1.026234 23.771577 6.0909142 4.5520762 1.5388379 0.0018935896 -0.022802518 4.5729852 + 60490 19.977111 1.0314896 23.615962 6.0733357 4.526617 1.5467186 0.0018944304 -0.0235202 4.5482428 + 60500 20.123386 1.0292206 23.780896 6.0754378 4.5321216 1.5433162 0.0018562296 -0.023316097 4.5535815 + 60510 20.302657 1.0139782 23.897812 6.0466206 4.5261603 1.5204603 0.0017664843 -0.022528266 4.5469221 + 60520 20.330965 1.0206967 23.743365 6.0578033 4.5272686 1.5305347 0.0018172213 -0.022799237 4.5482506 + 60530 20.223855 1.0193996 23.771916 6.0636932 4.5351034 1.5285898 0.0019831758 -0.022788418 4.5559086 + 60540 20.254282 0.99782292 23.82034 6.0226404 4.526405 1.4962355 0.0020587163 -0.023195535 4.5475418 + 60550 20.268351 1.0051837 23.538732 6.0424708 4.5351979 1.5072729 0.00176574 -0.021779753 4.555212 + 60560 20.016525 0.98316889 24.025198 6.0142277 4.539966 1.4742617 0.001598748 -0.0208331 4.5592003 + 60570 20.440578 0.97414608 23.745185 5.9927404 4.5320084 1.460732 0.0014019967 -0.019576913 4.5501833 + 60580 20.424468 0.99480486 23.682656 5.9822094 4.4904995 1.4917099 0.0015182852 -0.02005629 4.5090375 + 60590 20.10106 0.97564692 23.694377 5.9955286 4.5325461 1.4629826 0.0016269856 -0.020354811 4.5512739 + 60600 20.389215 1.01002 23.680256 6.0263136 4.5117886 1.514525 0.0017323325 -0.021117891 4.5311742 + 60610 20.408671 1.0206469 23.903373 6.077306 4.546846 1.5304601 0.0017700767 -0.021456818 4.5665327 + 60620 20.281547 1.0105356 23.83571 6.0416448 4.5263467 1.5152981 0.0018402402 -0.022008938 4.5465154 + 60630 20.401486 1.0083804 23.671659 6.0328062 4.5207398 1.5120664 0.0019295599 -0.022826408 4.5416366 + 60640 20.296683 1.0068782 23.589033 6.0465461 4.5367323 1.5098138 0.0018524162 -0.022494097 4.557374 + 60650 19.992235 1.0216431 23.807871 6.057059 4.5251052 1.5319538 0.001608844 -0.02121971 4.5447161 + 60660 20.20291 1.0099478 23.81566 6.0454542 4.5310375 1.5144167 0.0015250414 -0.020823757 4.5503362 + 60670 20.216371 1.0096973 23.36476 6.0424226 4.5283815 1.5140411 0.0012453281 -0.019652362 4.5467885 + 60680 20.066706 0.99622415 23.649676 6.0322193 4.5383812 1.4938381 0.0013306746 -0.019817384 4.5568679 + 60690 20.039245 0.97974652 23.723474 6.0330716 4.5639417 1.4691299 0.0012296343 -0.019347527 4.5820596 + 60700 20.398728 0.9982771 23.826499 6.0161554 4.5192389 1.4969165 0.0012213581 -0.018935819 4.5369533 + 60710 20.272673 1.0098205 23.544184 6.0275944 4.5133685 1.5142259 0.0012657845 -0.019014478 4.5311172 + 60720 20.495605 0.9803989 23.56953 6.0044403 4.5343322 1.4701082 0.0012304977 -0.019050082 4.5521518 + 60730 20.283583 0.98192956 23.294046 6.0109559 4.5385525 1.4724034 0.0011207205 -0.019413829 4.5568456 + 60740 20.256767 1.0213744 23.909798 6.0650668 4.5335159 1.5315509 0.0010062204 -0.018628543 4.5511382 + 60750 20.208462 1.0163296 23.863336 6.0500177 4.5260315 1.5239862 0.0010988021 -0.01883638 4.5437691 + 60760 20.376329 1.0204963 24.072986 6.060587 4.5303528 1.5302342 0.0011292466 -0.018936326 4.5481599 + 60770 19.937958 1.0036509 23.641562 6.044079 4.5391045 1.5049745 0.0011276694 -0.018711372 4.5566882 + 60780 20.206338 1.0098785 23.59325 6.0415999 4.5272871 1.5143129 0.0011835564 -0.018924091 4.5450276 + 60790 20.095831 1.0037922 23.593207 6.0490331 4.5438467 1.5051864 0.0012572389 -0.019760225 4.5623496 + 60800 20.335411 1.0185774 23.548852 6.0542588 4.526902 1.5273568 0.0011973324 -0.019546387 4.5452511 + 60810 20.018361 0.98535447 23.603231 6.0115693 4.5340302 1.477539 0.0013135955 -0.019950533 4.5526672 + 60820 20.409661 1.0060221 23.794456 6.0370574 4.5285273 1.5085302 0.0013432999 -0.019842516 4.5470265 + 60830 20.107651 1.0036574 23.602654 6.0387078 4.5337236 1.5049842 0.0014061233 -0.020278145 4.5525956 + 60840 19.998014 1.0115318 23.770975 6.0459212 4.5291294 1.5167919 0.0015670534 -0.020949982 4.5485123 + 60850 20.399084 1.0102804 23.984117 6.0597324 4.544817 1.5149155 0.0015380275 -0.020414485 4.5636934 + 60860 20.534028 1.0050314 23.586334 6.0244575 4.517413 1.5070446 0.0014237307 -0.019625988 4.5356152 + 60870 20.422669 0.98927655 23.949629 6.0225967 4.5391766 1.4834202 0.0013055665 -0.0189475 4.5568185 + 60880 19.886494 0.99289984 23.697476 6.0023683 4.513515 1.4888533 0.0014333921 -0.019767594 4.5318492 + 60890 20.300748 0.99322279 23.494733 6.019538 4.5302005 1.4893376 0.0014546265 -0.020246784 4.5489926 + 60900 20.323024 0.98928253 23.449945 6.0060892 4.5226601 1.4834292 0.0014236699 -0.020439747 4.5416762 + 60910 20.059483 0.98084435 23.614935 6.0133812 4.5426051 1.4707761 0.0015554249 -0.021692372 4.5627421 + 60920 20.249926 0.99078615 23.997215 6.0246118 4.5389279 1.4856838 0.0016348759 -0.021791826 4.5590849 + 60930 20.489191 0.99253019 23.871802 6.0245745 4.5362755 1.488299 0.0017076208 -0.0222354 4.5568033 + 60940 20.018116 1.014495 23.624067 6.0385214 4.5172862 1.5212352 0.0015948716 -0.021739045 4.5374303 + 60950 20.253504 1.0059371 23.404837 6.0541061 4.5457035 1.5084026 0.0014857831 -0.02137674 4.5655944 + 60960 20.009857 1.0173592 23.646116 6.0281498 4.5026197 1.5255301 0.0012581867 -0.020532783 4.5218943 + 60970 20.358929 1.0130653 23.652539 6.0510499 4.5319584 1.5190915 0.0010564182 -0.019946242 4.5508482 + 60980 20.055423 1.0119016 23.725331 6.0719394 4.5545929 1.5173465 0.0010930882 -0.020194434 4.5736942 + 60990 19.853957 1.0336636 23.629966 6.0676888 4.5177101 1.5499786 0.0012632653 -0.020682134 4.537129 + 61000 20.069418 1.0157917 23.823157 6.0745776 4.5513979 1.5231797 0.0013765297 -0.020775993 4.5707974 + 61010 20.3799 1.018879 23.653616 6.0906809 4.5628719 1.527809 0.0014533612 -0.021075096 4.5824936 + 61020 20.137457 1.0401563 23.716834 6.0991039 4.5393895 1.5597144 0.0016245997 -0.021798957 4.5595638 + 61030 20.315281 1.0382852 23.850176 6.0851248 4.5282162 1.5569086 0.0017774433 -0.022604891 4.5490436 + 61040 20.078406 1.0390828 23.995361 6.0896055 4.5315008 1.5581047 0.0016477208 -0.022215991 4.5520691 + 61050 20.220868 1.0377957 23.719597 6.1031767 4.547002 1.5561747 0.0015074034 -0.021817823 4.5673125 + 61060 20.300899 1.0195149 23.852528 6.0749661 4.5462035 1.5287626 0.00160731 -0.022046533 4.5666427 + 61070 20.28151 1.0264752 24.150919 6.0825291 4.5433295 1.5391995 0.0016726611 -0.021821027 4.5634779 + 61080 20.275319 1.0035271 23.664689 6.0731284 4.5683395 1.5047889 0.0017300767 -0.02196669 4.5885761 + 61090 20.135294 1.0353647 24.040549 6.097139 4.5446096 1.5525294 0.0018908927 -0.022794417 4.5655131 + 61100 20.247634 1.0344513 23.633832 6.0898222 4.5386625 1.5511597 0.0019243418 -0.022737746 4.5594759 + 61110 20.372726 1.0089178 23.718237 6.0401631 4.5272908 1.5128722 0.0018552311 -0.022343488 4.5477791 + 61120 20.35051 1.0094904 23.626006 6.0372368 4.523506 1.5137308 0.0015864458 -0.020872163 4.5427917 + 61130 19.743646 1.0085532 23.449377 6.0393793 4.5270538 1.5123255 0.0016203262 -0.020862131 4.5462956 + 61140 20.021865 1.010692 23.740152 6.0303901 4.5148574 1.5155327 0.001634053 -0.021095667 4.534319 + 61150 20.221091 1.0005243 23.423024 6.0380145 4.5377284 1.5002861 0.0016255804 -0.021429965 4.5575328 + 61160 20.328621 0.99687445 23.803237 6.0588035 4.5639902 1.4948132 0.0017248959 -0.022167388 4.5844327 + 61170 20.088371 1.0068339 23.669356 6.0379876 4.5282402 1.5097474 0.0014785752 -0.021330751 4.5480924 + 61180 20.353659 1.0052556 23.47368 6.050092 4.5427112 1.5073808 0.0013680638 -0.020750044 4.5620932 + 61190 20.517209 1.0195626 23.875428 6.0933133 4.5644791 1.5288342 0.0014266834 -0.020840853 4.5838933 + 61200 20.130645 1.0221445 23.345853 6.0794043 4.5466987 1.5327057 0.0015351867 -0.021338564 4.566502 + 61210 19.81297 1.0215137 23.973733 6.0680405 4.5362806 1.5317598 0.0016223 -0.021688645 4.556347 + 61220 20.177454 1.0234311 23.69828 6.0750904 4.5404554 1.534635 0.0017039657 -0.022293525 4.561045 + 61230 19.99226 1.0155638 23.699912 6.0789867 4.5561488 1.5228379 0.0018148528 -0.022879547 4.5772134 + 61240 20.299816 1.0170311 23.288755 6.0788795 4.5538414 1.5250381 0.0018714437 -0.023168602 4.5751385 + 61250 19.782939 1.0235921 23.708137 6.0634186 4.5285422 1.5348764 0.0017883805 -0.022698426 4.5494522 + 61260 20.169241 1.0270971 23.811445 6.0947274 4.5545953 1.5401322 0.0017096472 -0.022334859 4.5752205 + 61270 20.411236 1.0298447 23.963968 6.0739316 4.5296795 1.5442521 0.0014303404 -0.021110716 4.5493599 + 61280 20.02667 1.0217955 23.802971 6.0616788 4.5294964 1.5321824 0.001275029 -0.020234138 4.5484555 + 61290 20.124105 1.0308536 23.862204 6.0697692 4.5240043 1.5457649 0.0013912917 -0.020614824 4.5432278 + 61300 20.163222 1.0169455 23.813277 6.064691 4.5397813 1.5249097 0.001567183 -0.02130441 4.5595185 + 61310 20.320993 1.0163612 23.846887 6.0585458 4.5345122 1.5240336 0.0016755448 -0.021668462 4.5545051 + 61320 20.12813 1.0180423 24.088122 6.0605612 4.5340068 1.5265544 0.0016831827 -0.021668171 4.5539918 + 61330 20.231936 1.0291908 23.916641 6.0800647 4.536793 1.5432717 0.0015524374 -0.021360773 4.5566014 + 61340 20.533264 1.0177447 23.686052 6.0622345 4.5361264 1.5261081 0.0015463341 -0.021734403 4.5563145 + 61350 20.121959 1.033474 23.781367 6.0910568 4.5413625 1.5496943 0.0015772068 -0.022147916 4.5619332 + 61360 20.336339 1.0485781 23.870704 6.1141724 4.5418296 1.5723428 0.0018639689 -0.023312571 4.5632782 + 61370 20.066749 1.0616169 23.83425 6.135774 4.5438795 1.5918945 0.0019942676 -0.023600503 4.5654857 + 61380 20.031422 1.0510418 23.759245 6.1451594 4.5691223 1.5760371 0.0019371355 -0.023512742 4.5906979 + 61390 20.048521 1.0476611 23.996613 6.134605 4.5636372 1.5709679 0.0020179771 -0.023663252 4.5852824 + 61400 20.340712 1.0409714 24.099065 6.1182626 4.5573259 1.5609367 0.0020645902 -0.023609282 4.5788706 + 61410 19.957112 1.0519667 23.892752 6.1070776 4.5296536 1.577424 0.0020517515 -0.023254602 4.5508564 + 61420 20.303113 1.0254162 23.888773 6.0682708 4.5306592 1.5376116 0.0021086966 -0.023266916 4.5518174 + 61430 20.103388 1.0046125 23.895904 6.0298759 4.5234595 1.5064164 0.0021105826 -0.02337522 4.5447241 + 61440 20.097603 1.0106987 23.764042 6.0189598 4.5034171 1.5155426 0.0021108546 -0.023463219 4.5247695 + 61450 20.237252 1.0153993 23.609268 6.0421796 4.5195884 1.5225912 0.0020739267 -0.022981751 4.5404962 + 61460 20.477371 1.0019077 23.573632 6.0344893 4.5321287 1.5023606 0.0019449733 -0.022373589 4.5525573 + 61470 20.244293 1.0243402 24.158895 6.0595496 4.5235515 1.5359981 0.0018660151 -0.022175382 4.5438609 + 61480 20.435072 0.99687357 23.628527 6.0352214 4.5404095 1.4948119 0.0018581909 -0.022167402 4.5607187 + 61490 20.110906 1.0002428 23.789547 6.0400799 4.5402158 1.4998641 0.001831491 -0.022447342 4.5608317 + 61500 19.964545 1.0090168 23.638601 6.0313303 4.5183096 1.5130208 0.0017658602 -0.0221526 4.5386963 + 61510 19.82465 0.98921442 23.782097 6.0110124 4.5276854 1.483327 0.0018602342 -0.022489763 4.5483149 + 61520 20.235579 0.99637337 23.56533 6.0160286 4.5219668 1.4940619 0.0019956473 -0.023003757 4.5429749 + 61530 20.122176 1.0043873 23.515023 6.0503809 4.5443022 1.5060787 0.0019180616 -0.022530067 4.5649142 + 61540 20.39849 1.0099503 23.652238 6.0580185 4.543598 1.5144205 0.0017808673 -0.021984437 4.5638016 + 61550 20.414428 1.0009584 23.652209 6.0543645 4.5534274 1.5009371 0.0015531066 -0.020938546 4.5728129 + 61560 20.40363 0.99562734 23.701675 6.0477451 4.5548019 1.4929432 0.0014239895 -0.020535625 4.5739135 + 61570 20.202617 1.0051501 24.085385 6.045611 4.5383884 1.5072226 0.0013765421 -0.020415896 4.5574278 + 61580 20.195839 1.0142248 23.878858 6.0586191 4.537789 1.5208301 0.0015463256 -0.021012116 4.5572548 + 61590 20.264968 1.0108388 23.465373 6.0714504 4.5556976 1.5157528 0.0016442913 -0.021437335 4.5754906 + 61600 20.273477 1.0103826 23.879159 6.0492336 4.5341649 1.5150686 0.0016821299 -0.021733044 4.5542158 + 61610 20.095342 1.0129097 23.773143 6.0609441 4.542086 1.5188581 0.0018393939 -0.022253968 4.5625005 + 61620 20.247191 1.009264 23.63095 6.0603089 4.5469175 1.5133914 0.0016692057 -0.021615857 4.5668641 + 61630 20.308021 1.015751 23.888349 6.0512891 4.5281704 1.5231187 0.0015556024 -0.021354518 4.5479693 + 61640 20.321725 1.0086314 23.770011 6.0531439 4.5407012 1.5124427 0.0015796153 -0.021319274 4.5604408 + 61650 20.287469 1.0228142 23.810983 6.0672902 4.5335803 1.5337099 0.0014106264 -0.020516087 4.5526857 + 61660 20.247735 1.0069967 23.268653 6.0578416 4.5478502 1.5099915 0.0012149461 -0.019725348 4.5663606 + 61670 20.086742 0.99765571 23.812151 6.0710295 4.5750447 1.4959847 0.0012575618 -0.020034789 4.593822 + 61680 20.174093 1.0203331 23.784818 6.0577246 4.5277352 1.5299895 0.0013938617 -0.020935415 4.5472767 + 61690 19.709489 1.0123263 23.939453 6.0558913 4.537908 1.5179833 0.0015079301 -0.021755665 4.5581558 + 61700 20.144281 1.0126117 23.90073 6.0469693 4.528558 1.5184113 0.0015462069 -0.021372618 4.5483844 + 61710 19.72618 1.0116445 23.601977 6.0554024 4.5384415 1.5169609 0.001649711 -0.021686835 4.5584786 + 61720 20.236145 1.0172224 23.64524 6.0606202 4.5352952 1.525325 0.0016089231 -0.021335595 4.5550219 + 61730 20.348303 1.0189133 23.815654 6.0569795 4.5291189 1.5278606 0.0015372448 -0.020772674 4.5483543 + 61740 20.20395 1.0343513 23.423346 6.0843734 4.5333637 1.5510097 0.0017845346 -0.021682648 4.5532618 + 61750 20.423015 1.0403157 24.063929 6.0786746 4.5187213 1.5599533 0.0019685742 -0.022817629 4.5395703 + 61760 20.400803 1.0217622 23.504928 6.0633336 4.5312012 1.5321324 0.0021117575 -0.023740361 4.5528298 + 61770 19.953817 1.0051541 23.372351 6.0522343 4.5450056 1.5072286 0.0020695632 -0.023671929 4.566608 + 61780 20.24213 1.0175413 23.755291 6.0425332 4.51673 1.5258032 0.0019419426 -0.022724772 4.5375129 + 61790 20.378127 1.0061297 23.767591 6.0528265 4.5441351 1.5086914 0.0017874069 -0.022231938 4.5645796 + 61800 20.311147 1.0132136 23.345591 6.0513134 4.5319996 1.5193138 0.0016578004 -0.021762853 4.5521047 + 61810 20.299237 1.0085624 23.783777 6.059029 4.5466897 1.5123393 0.0017649341 -0.022076658 4.5670015 + 61820 20.25179 1.0315478 23.734576 6.0543202 4.5075142 1.546806 0.0018316794 -0.022634924 4.5283174 + 61830 20.422766 1.0220756 23.712861 6.0555298 4.5229274 1.5326024 0.0019953587 -0.023153205 4.5440852 + 61840 19.948614 1.0022369 23.643237 6.0559981 4.5531439 1.5028542 0.0020329658 -0.02365683 4.5747678 + 61850 20.191699 1.0129825 23.693933 6.045075 4.5261078 1.5189672 0.0020559496 -0.024264477 4.5483164 + 61860 20.084166 1.0068187 24.199977 6.0161623 4.5064376 1.5097247 0.0021957596 -0.024836117 4.529078 + 61870 19.964829 0.99925149 23.725471 6.0351062 4.5367286 1.4983776 0.0023864642 -0.025335603 4.5596777 + 61880 20.205607 1.0050806 23.919504 6.0285169 4.5213985 1.5071184 0.0023294761 -0.024841279 4.5439103 + 61890 20.23954 1.0004516 23.680562 6.0389989 4.5388218 1.5001771 0.0021672598 -0.023945685 4.5606002 + 61900 20.092792 1.0047024 23.912669 6.018253 4.5117017 1.5065513 0.0020859534 -0.023387026 4.5330028 + 61910 20.378583 0.9780781 23.417606 5.9973742 4.5307461 1.4666281 0.0019759478 -0.022911446 4.5516816 + 61920 20.292698 0.98230721 23.746536 6.0073259 4.5343562 1.4729697 0.0018720649 -0.022562086 4.5550462 + 61930 20.181959 0.97302776 23.633009 5.9990547 4.5399995 1.4590551 0.0017595408 -0.022336525 4.5605765 + 61940 20.161396 0.99007408 23.562883 6.0141719 4.5295558 1.4846161 0.0017161833 -0.02217605 4.5500157 + 61950 20.195576 1.0069794 23.632695 6.0342034 4.5242378 1.5099656 0.0016391063 -0.021609538 4.5442082 + 61960 19.970706 1.0037463 23.730685 6.0511069 4.5459893 1.5051176 0.001614143 -0.021204396 4.5655796 + 61970 20.136378 1.0247636 23.724787 6.0590499 4.522417 1.536633 0.0015935173 -0.020890548 4.541714 + 61980 20.205921 0.99508514 23.614132 6.0147388 4.5226087 1.4921302 0.0016874927 -0.021516577 4.5424377 + 61990 20.324951 1.0116819 23.757485 6.0218522 4.5048352 1.5170169 0.0017964721 -0.022397538 4.5254363 + 62000 20.461171 1.0128276 23.613489 6.0388507 4.5201157 1.518735 0.0016808404 -0.022076668 4.5405116 + 62010 20.431618 1.0000534 23.480556 6.0377973 4.5382173 1.49958 0.0015558164 -0.021474402 4.5581359 + 62020 20.283118 1.0063548 23.663107 6.0340847 4.5250556 1.509029 0.001645206 -0.022096082 4.5455065 + 62030 20.317964 1.0186726 23.804706 6.0643269 4.5368274 1.5274995 0.0018035182 -0.022673562 4.5576974 + 62040 20.496316 1.0011659 23.717811 6.0341357 4.5328874 1.5012483 0.0019418793 -0.023335763 4.5542813 + 62050 20.252838 0.99695627 23.679083 6.0303147 4.5353788 1.4949359 0.0017748704 -0.021934839 4.5555388 + 62060 19.920622 1.0228951 23.768625 6.0536239 4.5197927 1.5338312 0.001557853 -0.020916374 4.5391512 + 62070 20.425542 1.0208409 23.691438 6.0523308 4.5215799 1.5307509 0.0012685285 -0.019439115 4.5397505 + 62080 20.190523 0.99307367 23.683728 6.0201243 4.5310103 1.489114 0.0010962581 -0.018722029 4.5486361 + 62090 20.333614 1.0067742 23.666614 6.0243684 4.5147104 1.5096579 0.0011811769 -0.018453774 4.531983 + 62100 20.127313 0.99477134 23.525945 6.0358717 4.5442121 1.4916596 0.0013093934 -0.018710646 4.5616133 + 62110 20.390346 1.0053839 23.579468 6.0374337 4.5298606 1.5075732 0.0014898921 -0.019776958 4.5481476 + 62120 20.045069 1.0042116 23.7557 6.0336194 4.5278042 1.5058152 0.0015347958 -0.020133207 4.5464026 + 62130 19.911314 1.0039213 23.590449 6.0482719 4.5428919 1.50538 0.0014382547 -0.020117437 4.5615711 + 62140 20.064937 1.012756 23.540388 6.0307439 4.5121163 1.5186276 0.0017189908 -0.021432631 4.53183 + 62150 19.856926 1.0288489 23.759299 6.0788926 4.5361337 1.5427589 0.0018831198 -0.022036866 4.5562874 + 62160 20.193793 1.0186313 23.581913 6.0586266 4.5311889 1.5274376 0.0020195575 -0.02247401 4.5516434 + 62170 20.304179 1.0188095 23.669681 6.0561806 4.5284757 1.5277049 0.0018922907 -0.02195805 4.5485414 + 62180 20.211598 1.0052315 23.863069 6.0422824 4.5349378 1.5073446 0.0018781144 -0.022211374 4.555271 + 62190 20.365422 0.99408004 23.856632 6.0380499 4.5474269 1.490623 0.0018357088 -0.02235505 4.5679463 + 62200 20.29025 0.99188509 23.697452 6.022123 4.5347913 1.4873317 0.0015832952 -0.02142755 4.5546356 + 62210 20.267548 1.0167041 23.696019 6.0291597 4.5046118 1.5245478 0.0016065647 -0.021331641 4.5243369 + 62220 20.193084 1.0111566 23.785692 6.0686643 4.5524349 1.5162294 0.0016404313 -0.021537413 4.5723319 + 62230 20.084498 1.0131653 23.628983 6.0641459 4.5449045 1.5192414 0.0015973006 -0.02144504 4.5647522 + 62240 20.304818 1.0126924 23.426722 6.0597249 4.5411927 1.5185322 0.001544202 -0.021249009 4.5608975 + 62250 20.205091 1.0142065 23.765062 6.0616502 4.5408475 1.5208027 0.0015594345 -0.021405436 4.5606935 + 62260 20.127572 1.0084441 23.958667 6.0511595 4.5389976 1.5121619 0.0016101293 -0.021243279 4.5586307 + 62270 20.20753 1.0211075 23.95091 6.0591417 4.5279909 1.5311507 0.001748051 -0.022096406 4.5483393 + 62280 20.068259 1.0311227 23.779583 6.0746598 4.5284913 1.5461685 0.0017302406 -0.022229912 4.548991 + 62290 20.50291 1.0061919 23.754059 6.0558928 4.547108 1.5087848 0.0018157714 -0.022531292 4.5678235 + 62300 20.25524 1.0083301 23.726866 6.03628 4.524289 1.511991 0.001920405 -0.022551864 4.5449205 + 62310 20.225078 0.98999351 23.823346 6.0137344 4.5292391 1.4844953 0.0018996116 -0.022012335 4.5493518 + 62320 20.378629 1.0002704 23.880424 6.0058484 4.505943 1.4999055 0.0018773589 -0.021481521 4.5255471 + 62330 20.208991 0.98175118 23.710213 6.0084574 4.5363216 1.4721359 0.001936715 -0.021475059 4.5558599 + 62340 20.033867 0.98998917 23.764021 6.0118886 4.5273999 1.4844888 0.0018607319 -0.021463078 4.5470022 + 62350 19.759199 1.0044734 23.821391 6.0182169 4.512009 1.5062079 0.0018194735 -0.021226592 4.5314161 + 62360 20.089499 0.9814946 23.452861 5.9949269 4.5231758 1.4717512 0.0018319102 -0.021202559 4.5425464 + 62370 20.318345 0.9974453 23.622824 6.0110935 4.5154243 1.4956692 0.0019851198 -0.0220555 4.5354947 + 62380 20.25365 1.0058885 23.780947 6.0239029 4.5155731 1.5083299 0.0018590932 -0.021581469 4.5352954 + 62390 20.382649 1.007811 23.709084 6.033954 4.5227413 1.5112127 0.001817952 -0.021325999 4.5422494 + 62400 20.262277 1.0108468 23.545256 6.0672177 4.551453 1.5157648 0.0017974245 -0.021024936 4.5706805 + 62410 20.239617 1.0012363 23.750526 6.0217423 4.5203884 1.5013538 0.0017626145 -0.020448374 4.5390742 + 62420 20.377839 1.0065472 23.66696 6.0184446 4.509127 1.5093176 0.0016773127 -0.020472873 4.5279225 + 62430 20.258568 0.98266445 23.623982 6.008833 4.5353277 1.4735053 0.0016800495 -0.020767531 4.5544151 + 62440 20.286318 1.0093897 23.688114 6.0392572 4.5256773 1.5135799 0.0016179162 -0.020335223 4.5443946 + 62450 20.136318 1.00709 23.959857 6.0499693 4.5398378 1.5101315 0.0015938285 -0.020621931 4.5588659 + 62460 20.426086 1.0075548 23.65558 6.0308513 4.5200229 1.5108284 0.0019226379 -0.022055411 4.5401557 + 62470 20.124943 1.0085583 23.764081 6.0426869 4.5303537 1.5123332 0.0019456797 -0.022467091 4.5508751 + 62480 20.275072 1.0093464 23.830989 6.0269188 4.5134038 1.5135149 0.0018913486 -0.022417915 4.5339304 + 62490 20.420928 1.0146176 24.064014 6.0369133 4.5154941 1.5214191 0.0018338895 -0.022280615 4.5359409 + 62500 20.326386 0.99800856 23.666688 6.0426279 4.546114 1.4965138 0.0017720213 -0.021862894 4.5662049 + 62510 19.949868 1.0201335 23.650199 6.0688053 4.539115 1.5296903 0.0017292239 -0.021409256 4.5587951 + 62520 20.234893 1.0413424 23.756244 6.0784327 4.5169397 1.561493 0.0016598448 -0.021166849 4.5364467 + 62530 20.272015 1.0033859 23.676434 6.0479929 4.5434158 1.5045771 0.0016880343 -0.021532721 4.5632605 + 62540 20.192405 1.0106242 23.592249 6.0598753 4.5444443 1.515431 0.0015939213 -0.021220912 4.5640712 + 62550 20.221431 1.0000615 23.801739 6.0335978 4.5340055 1.4995922 0.0014341835 -0.020734896 4.5533063 + 62560 20.559751 0.99828374 23.594951 6.0250159 4.5280894 1.4969265 0.0015829779 -0.021235364 4.5477418 + 62570 20.50471 1.0060754 23.870916 6.031477 4.5228669 1.5086101 0.0017977902 -0.022024233 4.5430933 + 62580 20.197375 1.0125043 23.663354 6.0427955 4.5245452 1.5182502 0.0017723753 -0.021853736 4.5446266 + 62590 20.179293 1.00494 23.866694 6.0396621 4.5327545 1.5069075 0.0015979327 -0.021022318 4.5521789 + 62600 20.28446 0.9895754 24.004861 6.0278661 4.5439978 1.4838683 0.001508611 -0.0209265 4.5634157 + 62610 20.440734 1.0098513 23.862087 6.0468501 4.5325781 1.514272 0.0016736734 -0.021687785 4.5525922 + 62620 20.480351 0.99943781 23.777351 6.0164952 4.5178382 1.498657 0.0016181957 -0.021501048 4.537721 + 62630 20.077621 1.0000111 23.645159 6.02714 4.5276234 1.4995166 0.0017321904 -0.022043329 4.5479345 + 62640 19.980535 1.0094251 23.820571 6.0477821 4.5341491 1.513633 0.0018284181 -0.022494489 4.5548152 + 62650 19.836956 1.0229399 23.627469 6.0813844 4.547486 1.5338984 0.0019363892 -0.022888642 4.5684383 + 62660 19.986002 1.0181871 23.793091 6.0646882 4.5379165 1.5267716 0.0019116935 -0.022458822 4.5584637 + 62670 20.26034 1.0099926 23.547508 6.0540956 4.5396117 1.514484 0.0016816628 -0.021320887 4.5592509 + 62680 20.360704 1.0099243 23.827907 6.0557107 4.5413292 1.5143815 0.0015093086 -0.02070165 4.5605216 + 62690 20.320679 1.0051276 23.811151 6.0148679 4.5076791 1.5071888 0.0016255416 -0.021438186 4.5274917 + 62700 20.179999 0.97988885 23.542802 6.0210773 4.551734 1.4693433 0.0017535814 -0.022284134 4.5722645 + 62710 20.217911 1.01707 23.409101 6.0613809 4.5362845 1.5250964 0.0016276553 -0.021321509 4.5559784 + 62720 20.034126 1.0212576 23.895746 6.0914684 4.5600927 1.5313758 0.0015198134 -0.02074705 4.5793199 + 62730 20.296201 1.0043154 23.689234 6.0415091 4.5355382 1.5059709 0.0016451681 -0.021200743 4.5550938 + 62740 20.289895 0.98775111 23.313422 6.0263996 4.5452668 1.4811328 0.001724171 -0.022012721 4.5655553 + 62750 20.404427 0.99789294 23.602466 6.0260686 4.5297281 1.4963405 0.001869485 -0.023212435 4.5510711 + 62760 20.10331 1.0117279 23.592099 6.0387967 4.5217107 1.517086 0.0018966682 -0.023384964 4.543199 + 62770 20.264217 1.0012391 23.77427 6.0246776 4.5233195 1.5013581 0.0020171601 -0.024031961 4.5453343 + 62780 20.223886 1.016977 23.786654 6.0723231 4.547366 1.5249571 0.0022150982 -0.024536852 4.5696878 + 62790 20.243452 1.014675 23.734015 6.0553 4.5337949 1.5215051 0.0022867502 -0.025072368 4.5565805 + 62800 20.061077 1.0381147 23.927093 6.0729504 4.5162974 1.556653 0.0021872081 -0.024469619 4.5385798 + 62810 20.2133 1.0246356 23.504887 6.06753 4.5310889 1.5364411 0.0019467963 -0.023422624 4.5525647 + 62820 20.316821 0.99951131 23.855842 6.0433349 4.5445677 1.4987672 0.001796854 -0.022641555 4.5654124 + 62830 20.046028 0.99132534 23.774714 6.0492589 4.5627666 1.4864923 0.0016398052 -0.021806854 4.5829336 + 62840 20.237291 1.0183602 23.520612 6.0571771 4.530146 1.527031 0.0015970088 -0.021463301 4.5500123 + 62850 19.901892 0.99126405 24.124708 6.0352343 4.5488339 1.4864004 0.0016511735 -0.021859927 4.5690426 + 62860 20.244317 1.003612 23.858754 6.0356032 4.530687 1.5049162 0.0016608616 -0.021997987 4.5510241 + 62870 20.138705 0.99925153 23.588326 6.037969 4.5395913 1.4983777 0.0017891357 -0.022337347 4.5601396 + 62880 20.362112 1.005271 23.584534 6.0323808 4.524977 1.5074038 0.001994152 -0.02330365 4.5462865 + 62890 20.287523 1.0003978 23.577863 6.0289687 4.5288723 1.5000964 0.0020717715 -0.023359578 4.5501601 + 62900 19.788422 0.9973222 23.654173 6.019028 4.5235433 1.4954846 0.0020178508 -0.023080383 4.5446058 + 62910 20.203483 0.99573319 23.77074 6.0116832 4.5185813 1.4931019 0.0018165312 -0.022131626 4.5388964 + 62920 20.49475 0.99876263 23.90411 6.0189685 4.5213239 1.4976446 0.0016182689 -0.021436237 4.5411419 + 62930 20.345629 0.99279882 23.710209 6.0380223 4.5493204 1.4887018 0.0014161468 -0.020756831 4.5686611 + 62940 19.942619 1.0055502 24.020089 6.0364386 4.5286161 1.5078225 0.0015314024 -0.021300872 4.5483855 + 62950 20.042034 1.0138285 23.812358 6.0704564 4.5502206 1.5202358 0.0016933944 -0.021793005 4.5703202 + 62960 19.900826 1.0237035 23.689038 6.0746654 4.5396221 1.5350434 0.00170909 -0.022105525 4.5600185 + 62970 20.154249 1.0234783 23.718044 6.0590866 4.5243809 1.5347058 0.0017563777 -0.022052665 4.5446771 + 62980 20.394316 1.0080351 23.646873 6.0480781 4.5365295 1.5115486 0.0016590925 -0.021280025 4.5561504 + 62990 20.541843 1.0067564 23.75811 6.0547846 4.5451533 1.5096313 0.0015712269 -0.021264627 4.5648467 + 63000 20.177435 1.0251419 23.634739 6.0553902 4.51819 1.5372002 0.0015127782 -0.021311549 4.5379888 + 63010 20.10024 1.009012 23.621021 6.0435564 4.5305429 1.5130135 0.0013792535 -0.020460979 4.5496247 + 63020 20.026234 0.99320211 23.641983 6.0328348 4.5435283 1.4893066 0.0012159583 -0.019492814 4.5618051 + 63030 19.996301 1.001732 23.571962 6.0344394 4.5323422 1.5020972 0.001407585 -0.020233016 4.5511677 + 63040 20.171647 1.0063909 23.712419 6.0314871 4.5224039 1.5090831 0.0013800307 -0.020375688 4.5413996 + 63050 20.537809 0.98684102 23.756386 6.0095392 4.5297711 1.4797681 0.0013834825 -0.020845891 4.5492335 + 63060 20.197519 0.99443025 23.746372 6.0250616 4.5339135 1.4911482 0.0012805831 -0.020705541 4.5533384 + 63070 20.106533 1.0039032 23.737614 6.0450087 4.5396559 1.5053528 0.001318381 -0.02069362 4.5590311 + 63080 20.220323 1.0045511 23.992742 6.0306539 4.5243296 1.5063243 0.0015064483 -0.02133444 4.5441576 + 63090 20.212073 0.99128572 23.6238 6.0354216 4.5489887 1.4864329 0.0014678067 -0.020993095 4.5685139 + 63100 20.237071 1.0206943 23.816338 6.0482223 4.5176912 1.5305311 0.001369275 -0.020674969 4.5369969 + 63110 20.133915 1.0255703 23.794739 6.064747 4.5269042 1.5378427 0.0011265072 -0.020048214 4.5458259 + 63120 20.369956 1.018005 23.722042 6.0601241 4.5336257 1.5264985 0.0011803366 -0.020179527 4.5526249 + 63130 20.409891 1.0115435 23.151531 6.0583474 4.5415379 1.5168095 0.0012466331 -0.020401997 4.5606932 + 63140 20.082252 1.0240406 23.726304 6.0732869 4.5377381 1.5355488 0.0011895491 -0.020044149 4.5565927 + 63150 20.072994 1.038932 24.08214 6.0917429 4.5338644 1.5578786 0.0013048631 -0.020444933 4.5530045 + 63160 20.476456 1.0267537 23.648222 6.0872761 4.547659 1.5396172 0.0014723639 -0.021149313 4.5673359 + 63170 20.247139 1.0081386 23.819615 6.0565673 4.5448634 1.5117038 0.0014737094 -0.020952088 4.5643418 + 63180 20.333039 1.0114705 23.730412 6.0390971 4.5223972 1.5166999 0.0013937676 -0.020106457 4.5411099 + 63190 20.15053 1.0191576 23.722054 6.0502957 4.5220689 1.5282268 0.001506004 -0.020567599 4.5411305 + 63200 20.014754 1.0217346 24.032661 6.0841455 4.5520545 1.532091 0.001832683 -0.022578888 4.5728007 + 63210 20.114664 1.0207843 23.876352 6.0669279 4.5362619 1.530666 0.002072725 -0.024191349 4.5583805 + 63220 20.332939 1.0270484 23.792572 6.0445123 4.5044532 1.5400591 0.0022537884 -0.025309963 4.5275093 + 63230 20.09447 1.017864 23.739277 6.0413031 4.515016 1.5262871 0.0022984703 -0.025249421 4.537967 + 63240 20.453391 1.0147757 23.854279 6.0124937 4.4908376 1.5216561 0.002136262 -0.024258215 4.5129596 + 63250 20.344056 0.9832819 23.484344 6.0199694 4.5455382 1.4744312 0.0018253857 -0.022920667 4.5666335 + 63260 20.215883 0.98291581 23.358213 6.0145996 4.5407173 1.4738823 0.0015338705 -0.02163665 4.5608201 + 63270 20.309438 1.002834 23.701034 6.0302421 4.5264925 1.5037495 0.0015943861 -0.021633234 4.5465314 + 63280 20.094086 1.0095854 23.704741 6.06777 4.5538967 1.5138733 0.0017905595 -0.022530146 4.5746363 + 63290 20.243219 1.0172636 23.890971 6.0610628 4.535676 1.5253868 0.001850213 -0.022802797 4.5566286 + 63300 20.293125 1.0314727 23.689297 6.0691499 4.5224566 1.5466933 0.0019881753 -0.023368985 4.5438374 + 63310 20.106613 1.0208953 23.395797 6.0639726 4.5331402 1.5308324 0.0020064341 -0.023645631 4.5547794 + 63320 20.328111 0.99354489 23.820483 6.0420662 4.5522456 1.4898206 0.0018812638 -0.022697357 4.5730617 + 63330 20.41522 0.99449804 23.755621 6.01495 4.5237002 1.4912498 0.0018283163 -0.022507876 4.5443797 + 63340 20.248357 0.99335298 23.595101 6.0209545 4.5314217 1.4895328 0.0019128759 -0.022575448 4.5520843 + 63350 20.122184 0.98833446 23.747748 6.0139064 4.5318989 1.4820075 0.0020702519 -0.023399259 4.5532279 + 63360 20.164639 0.98843509 23.162327 6.0255612 4.5434028 1.4821584 0.0020594932 -0.023461668 4.564805 + 63370 20.090013 0.99424468 23.571368 6.0269469 4.536077 1.4908699 0.0020281111 -0.023338897 4.5573878 + 63380 20.115169 0.99105183 23.589485 6.0417322 4.55565 1.4860822 0.0020187322 -0.023350333 4.5769816 + 63390 20.116808 1.0192126 23.89279 6.0745557 4.5462464 1.5283093 0.0018655434 -0.022491656 4.5668725 + 63400 20.104813 1.0191631 23.623074 6.0625307 4.5342956 1.5282351 0.0019181252 -0.022661944 4.5550394 + 63410 20.015626 1.0198439 23.7477 6.0756972 4.5464413 1.529256 0.001803024 -0.022275451 4.5669137 + 63420 19.908336 1.0223582 23.657978 6.0669553 4.5339292 1.5330261 0.0016286664 -0.021626155 4.5539267 + 63430 19.73058 1.0152016 23.818684 6.0589159 4.5366211 1.5222947 0.0016629038 -0.021630366 4.5565886 + 63440 19.438961 1.0324388 23.970444 6.0714697 4.5233277 1.5481421 0.0013007275 -0.01998915 4.5420161 + 63450 20.052455 1.022859 24.079522 6.0684786 4.5347015 1.5337771 0.0012242776 -0.019240614 4.5527179 + 63460 20.234393 0.99927858 23.825366 6.0503953 4.5519771 1.4984182 0.0013758907 -0.020006699 4.5706079 + 63470 20.254709 1.0010391 23.504286 6.0384854 4.5374273 1.5010582 0.0015429894 -0.020696716 4.556581 + 63480 20.213079 0.99648392 23.975302 6.0317146 4.5374869 1.4942276 0.0015181056 -0.020925371 4.5568942 + 63490 20.397593 0.99451772 23.95152 6.0319308 4.5406515 1.4912793 0.001565314 -0.021037283 4.5601234 + 63500 20.35006 1.0020216 23.63688 6.0456161 4.5430846 1.5025314 0.0016618118 -0.021357566 4.5627804 + 63510 20.226618 1.0056393 23.755682 6.0627776 4.5548214 1.5079562 0.0016013841 -0.021430526 4.5746506 + 63520 20.346798 1.0308217 23.592272 6.07876 4.5330429 1.5457171 0.0015583205 -0.021086435 4.552571 + 63530 20.32081 1.0187005 23.909677 6.0726332 4.5450918 1.5275414 0.0017394151 -0.021897361 4.5652497 + 63540 20.549996 1.0351371 23.855966 6.0849512 4.5327632 1.552188 0.0018673364 -0.022443947 4.5533398 + 63550 19.805736 1.0135989 23.665915 6.0563853 4.5364938 1.5198915 0.0019530694 -0.02310628 4.557647 + 63560 20.053215 1.0127453 23.840621 6.0831046 4.564493 1.5186116 0.001988856 -0.022990196 4.5854943 + 63570 20.15784 1.0313705 23.674467 6.0712491 4.524709 1.54654 0.0019634107 -0.023141097 4.5458867 + 63580 20.086225 1.0312975 23.895901 6.1005052 4.5540746 1.5464306 0.0020816899 -0.023808581 4.5758015 + 63590 20.243962 1.0327585 23.962103 6.0821138 4.5334923 1.5486214 0.0020184603 -0.023412814 4.5548867 + 63600 20.314343 1.0285875 23.749895 6.0569193 4.5145524 1.5423669 0.001791339 -0.022575431 4.5353365 + 63610 20.092315 1.0196431 23.363155 6.0663668 4.5374119 1.5289549 0.0019368426 -0.022851908 4.558327 + 63620 20.036321 1.0157264 23.963759 6.0531621 4.5300803 1.5230818 0.0020610561 -0.023390523 4.5514098 + 63630 20.389321 1.0288576 23.730151 6.0715818 4.5288098 1.542772 0.0021312739 -0.023259704 4.5499382 + 63640 19.897911 1.0244623 23.705233 6.0650473 4.5288661 1.5361813 0.0022577048 -0.023376354 4.5499847 + 63650 20.122075 1.030087 23.778942 6.0683326 4.5237172 1.5446155 0.0022559824 -0.023545094 4.5450063 + 63660 20.266496 1.0272555 24.017011 6.0928505 4.5524809 1.5403696 0.0022288017 -0.023108906 4.573361 + 63670 20.505489 1.0235856 23.929624 6.0517121 4.5168456 1.5348665 0.0023137876 -0.023331253 4.5378631 + 63680 19.961948 1.0035708 23.645034 6.0377354 4.532881 1.5048544 0.0022981716 -0.023147764 4.5537306 + 63690 20.105947 1.0051358 23.865304 6.0436967 4.5364955 1.5072012 0.0022441029 -0.023247738 4.5574992 + 63700 20.117191 1.0204856 23.905604 6.068156 4.5379378 1.5302182 0.0019901105 -0.022206347 4.558154 + 63710 20.222951 1.0176801 23.902954 6.0563355 4.5303242 1.5260113 0.001901046 -0.022212864 4.5506361 + 63720 20.072535 1.0304017 23.916064 6.0533418 4.5082544 1.5450874 0.0020648282 -0.02306586 4.5292555 + 63730 20.182028 1.0167563 24.153435 6.0768847 4.5522587 1.524626 0.0020964899 -0.022656777 4.572819 + 63740 20.371363 1.0129585 23.875103 6.059065 4.5401337 1.5189312 0.0021254845 -0.02280524 4.5608135 + 63750 20.402141 1.0353394 23.934078 6.0647371 4.5122456 1.5524915 0.0019608374 -0.02218904 4.5324738 + 63760 20.324379 1.0252796 23.69635 6.0436635 4.5062567 1.5374068 0.0017299261 -0.021360426 4.5258872 + 63770 20.023587 0.99793758 23.722701 6.0322754 4.535868 1.4964074 0.0014205869 -0.019617696 4.5540651 + 63780 19.958208 0.98508489 23.599418 6.0232177 4.5460829 1.4771348 0.0014676798 -0.019676755 4.564292 + 63790 20.185014 0.97485959 23.515691 5.9925292 4.5307272 1.461802 0.0014708568 -0.020090673 4.549347 + 63800 20.365017 0.99540759 23.749075 6.0116818 4.5190681 1.4926137 0.001616889 -0.021342031 4.5387932 + 63810 20.399644 1.0072445 23.58631 6.0450151 4.534652 1.5103631 0.0018078962 -0.022260998 4.5551051 + 63820 20.246792 0.99697895 23.600799 6.0207892 4.5258193 1.4949699 0.0018140236 -0.02281848 4.5468238 + 63830 20.313389 1.006853 23.568667 6.0069785 4.4972025 1.509776 0.0017905677 -0.022266522 4.5176785 + 63840 19.982299 0.99518404 23.861076 6.0092319 4.5169534 1.4922785 0.0017891124 -0.022260024 4.5374243 + 63850 20.122188 1.0006227 23.849847 6.0343361 4.5339024 1.5004337 0.0018600495 -0.022437682 4.55448 + 63860 20.354164 1.0098862 23.663074 6.0415453 4.527221 1.5143243 0.0016441715 -0.02163288 4.5472097 + 63870 20.290059 1.0024722 23.695363 6.0501428 4.5469357 1.5032071 0.0016355715 -0.021702694 4.5670028 + 63880 20.293431 1.0285834 23.592245 6.0669845 4.5246237 1.5423608 0.001735669 -0.021984147 4.5448722 + 63890 19.981555 1.0167692 23.987593 6.075106 4.5504605 1.5246455 0.0016936585 -0.021466417 4.5702333 + 63900 20.338479 1.0225523 23.763972 6.0660793 4.5327621 1.5333172 0.0015454781 -0.020937192 4.5521538 + 63910 20.242686 1.0319645 23.997671 6.0780205 4.5305897 1.5474308 0.0015374825 -0.020391042 4.5494433 + 63920 20.096807 1.0152186 23.49292 6.0584752 4.536155 1.5223202 0.0014732232 -0.019551095 4.5542329 + 63930 20.16618 1.0083516 23.777027 6.0646726 4.5526494 1.5120232 0.001389657 -0.019524409 4.5707841 + 63940 20.103094 1.0349828 23.734732 6.0767654 4.5248086 1.5519568 0.0016157461 -0.020837082 4.5440299 + 63950 20.082422 1.019671 23.943274 6.07096 4.5419633 1.5289967 0.0016971741 -0.021141933 4.5614081 + 63960 20.058936 1.020921 23.772339 6.0588403 4.5279692 1.5308711 0.0017693386 -0.021748549 4.5479484 + 63970 19.922502 1.0069442 23.346136 6.0457379 4.535825 1.5099129 0.0018484762 -0.021903902 4.5558804 + 63980 20.188533 1.0109732 23.494773 6.056185 4.5402307 1.5159543 0.001837582 -0.021749875 4.560143 + 63990 20.135409 1.0218656 23.826503 6.0491808 4.5168934 1.5322874 0.0017315924 -0.020959446 4.5361213 + 64000 20.196627 1.000771 23.74526 6.0375957 4.5369397 1.5006561 0.0016622872 -0.020951932 4.5562293 + 64010 20.62181 1.004217 23.818874 6.054632 4.5488086 1.5058234 0.0016209496 -0.021043382 4.568231 + 64020 20.154657 1.0146294 23.776603 6.0605802 4.5391434 1.5214368 0.0017516618 -0.021958486 4.5593502 + 64030 20.448246 0.99883007 23.703166 6.0568022 4.5590566 1.4977457 0.0017598975 -0.022270251 4.5795669 + 64040 20.345482 1.0115526 23.863396 6.0534766 4.5366535 1.5168231 0.0015986677 -0.022017775 4.5570726 + 64050 20.178226 0.99315295 23.274431 6.0559392 4.5667063 1.4892329 0.0015081943 -0.021938995 4.5871371 + 64060 20.121088 1.0334441 23.717333 6.0787669 4.5291175 1.5496494 0.0017138738 -0.022447867 4.5498514 + 64070 20.067851 1.0310711 23.704794 6.0718785 4.5257874 1.5460911 0.0018189052 -0.022742771 4.5467113 + 64080 20.169871 1.0280031 23.836361 6.0638406 4.5223498 1.5414907 0.0018976738 -0.022856774 4.5433089 + 64090 20.314374 1.0090639 23.938686 6.0336714 4.5205801 1.5130913 0.001920435 -0.022777234 4.5414369 + 64100 20.416666 1.019467 23.951824 6.0648707 4.53618 1.5286907 0.0021125372 -0.023844315 4.5579117 + 64110 20.030387 1.020813 23.814646 6.0685564 4.5378472 1.5307092 0.0020638395 -0.023723931 4.5595073 + 64120 20.395452 1.003482 23.881744 6.0478531 4.5431319 1.5047212 0.0019484387 -0.023305798 4.5644893 + 64130 20.071373 0.99988761 23.654401 6.0273585 4.528027 1.4993315 0.001802172 -0.022346327 4.5485712 + 64140 20.047512 0.99291873 23.584421 6.0221135 4.5332319 1.4888816 0.0015691504 -0.021179626 4.5528423 + 64150 20.175713 0.9923822 23.440952 6.0079662 4.5198891 1.4880771 0.0014168499 -0.020427185 4.5388994 + 64160 20.350841 0.99732674 23.810292 6.0108732 4.5153818 1.4954914 0.0014384978 -0.020486114 4.5344294 + 64170 20.265403 0.9909452 23.568764 6.0182182 4.5322959 1.4859223 0.0013496227 -0.020166815 4.5511131 + 64180 20.096663 1.0035732 23.735842 6.0178356 4.5129776 1.504858 0.0012751474 -0.019585145 4.5312876 + 64190 20.219797 0.99808764 23.746988 6.0191783 4.5225459 1.4966324 0.00154775 -0.021141497 4.5421396 + 64200 19.838826 1.0168845 23.832419 6.0272618 4.5024435 1.5248183 0.0019773036 -0.023169903 4.5236361 + 64210 20.350659 1.0034641 23.635085 6.0341121 4.5294176 1.5046945 0.0021038949 -0.023627505 4.5509412 + 64220 20.340774 1.0076756 23.623975 6.037053 4.5260434 1.5110096 0.0021387885 -0.023629528 4.5475341 + 64230 19.974194 1.0082475 23.53813 6.0493656 4.5374985 1.5118671 0.0020191888 -0.023330647 4.5588099 + 64240 20.095258 1.0175905 23.659555 6.0839184 4.5580415 1.525877 0.0018904351 -0.022831714 4.5789828 + 64250 20.398222 1.0272588 23.688114 6.0763565 4.535982 1.5403745 0.0019703156 -0.023416296 4.557428 + 64260 20.370116 1.0142553 23.920279 6.0761336 4.5552578 1.5208758 0.0019446533 -0.023562354 4.5768755 + 64270 20.28823 1.038063 23.821486 6.0821276 4.5255522 1.5565754 0.0017572548 -0.022710422 4.5465053 + 64280 20.391607 1.0062013 23.78525 6.0443597 4.5355608 1.5087989 0.0015249093 -0.02143632 4.5554722 + 64290 20.35461 0.99936818 23.689129 6.0580147 4.5594621 1.4985526 0.0014635868 -0.020957682 4.5789562 + 64300 20.234741 1.0151598 23.982984 6.0639104 4.5416783 1.5222322 0.0015350916 -0.020957212 4.5611004 + 64310 20.347756 1.008249 23.718542 6.0673499 4.5554805 1.5118694 0.0013617831 -0.020170118 4.5742889 + 64320 20.290692 1.0181273 23.671275 6.0453062 4.5186243 1.5266819 0.0012671318 -0.019666242 4.5370234 + 64330 20.518485 1.0008554 23.874444 6.0310107 4.530228 1.5007827 0.0014686574 -0.020373174 4.5491325 + 64340 20.582604 1.0167954 23.94984 6.0487793 4.5240946 1.5246848 0.0015124072 -0.020307448 4.5428896 + 64350 20.179706 1.0194501 23.987854 6.0795657 4.5509002 1.5286654 0.0015627109 -0.020226372 4.5695639 + 64360 20.028511 1.0320439 23.846318 6.0639083 4.5163585 1.5475498 0.0015576139 -0.02091232 4.5357132 + 64370 20.222996 1.0291218 23.657872 6.0651746 4.5220065 1.5431681 0.0015427216 -0.02092972 4.5413935 + 64380 20.26456 1.0109737 23.615002 6.0619546 4.5459995 1.5159551 0.0017610654 -0.022066808 4.5663053 + 64390 20.265112 1.0332347 23.860059 6.0819881 4.5326527 1.5493354 0.0018902833 -0.022836595 4.553599 + 64400 20.324857 0.99583701 24.116393 6.0447878 4.5515302 1.4932576 0.0018915935 -0.02296202 4.5726007 + 64410 20.409703 1.0017411 23.831319 6.0261643 4.5240535 1.5021108 0.0017601306 -0.022016068 4.5443095 + 64420 20.087203 0.98788208 23.757811 6.0095996 4.5282704 1.4813292 0.001630515 -0.021617359 4.5482572 + 64430 20.068723 1.0122439 23.60451 6.0416059 4.5237462 1.5178597 0.001479924 -0.021213133 4.5434794 + 64440 20.500491 1.000096 23.673385 6.023948 4.5243041 1.4996439 0.0014469294 -0.020835506 4.5436926 + 64450 19.923435 0.98591771 23.481683 6.0025433 4.5241597 1.4783836 0.0016281974 -0.021786912 4.5443184 + 64460 19.897602 0.98917798 23.798469 6.0067925 4.5235202 1.4832724 0.0015958084 -0.021545822 4.5434702 + 64470 20.243046 0.98971403 23.564308 6.0230143 4.5389381 1.4840762 0.0013996126 -0.020645697 4.5581842 + 64480 20.364528 0.97939518 23.97603 6.0082264 4.5396234 1.4686031 0.0013131913 -0.020052909 4.5583631 + 64490 20.025823 0.98673377 23.588037 6.0299175 4.5503102 1.4796073 0.0015065548 -0.021384154 4.5701878 + 64500 20.250146 0.97896756 23.575301 6.0098477 4.5418859 1.4679618 0.0015468332 -0.02151627 4.5618553 + 64510 20.053184 0.99021134 23.745445 6.0157278 4.5309059 1.4848219 0.0016224283 -0.021740408 4.5510239 + 64520 20.326327 1.015802 23.614286 6.0497411 4.5265461 1.5231951 0.0015107208 -0.021175178 4.5462106 + 64530 20.110852 1.0069465 23.863557 6.0555288 4.5456126 1.5099162 0.0012956896 -0.020517369 4.5648343 + 64540 20.443676 1.0040946 23.748744 6.043657 4.5380173 1.5056398 0.0014127101 -0.020800588 4.5574051 + 64550 20.421613 1.032253 23.60519 6.0587188 4.5108554 1.5478633 0.0016388912 -0.0216686 4.5308852 + 64560 20.385832 1.0172241 23.793711 6.0571316 4.531804 1.5253275 0.0016160121 -0.021316234 4.5515043 + 64570 20.528163 0.99702718 23.822213 6.0374362 4.5423939 1.4950423 0.0016246898 -0.021250299 4.5620195 + 64580 20.323683 0.98925324 23.553782 6.0280804 4.5446952 1.4833852 0.0018946914 -0.022481675 4.5652822 + 64590 20.229711 1.001921 23.845306 6.0324738 4.5300933 1.5023805 0.0017946456 -0.022047534 4.5503462 + 64600 20.092044 0.99407568 23.602333 6.0136207 4.5230042 1.4906165 0.0017485361 -0.021971758 4.5432274 + 64610 20.043196 1.0162247 23.605078 6.0434169 4.5195879 1.523829 0.0017297111 -0.022014416 4.5398726 + 64620 19.983096 1.0161906 23.887371 6.0926521 4.5688744 1.5237778 0.0015451443 -0.021493579 4.5888228 + 64630 20.299188 1.044671 23.638797 6.1254561 4.5589719 1.5664842 0.0015399999 -0.021439215 4.5788711 + 64640 20.157144 1.0429597 23.827184 6.1157563 4.5518383 1.563918 0.001611768 -0.021540137 4.5717667 + 64650 20.068807 1.0192352 23.574566 6.0670154 4.5386722 1.5283433 0.001426625 -0.020544553 4.5577901 + 64660 20.136566 1.0195981 23.737893 6.0598615 4.5309741 1.5288874 0.0015734576 -0.020953936 4.5503545 + 64670 20.272424 0.99942258 23.436373 6.0423445 4.5437103 1.4986342 0.001648071 -0.021099109 4.5631614 + 64680 20.291484 1.0158446 23.745479 6.0534061 4.5301471 1.523259 0.0017507345 -0.021692799 4.5500891 + 64690 20.347477 1.0166182 23.535106 6.0659232 4.5415042 1.524419 0.0018693338 -0.022335278 4.5619701 + 64700 20.186905 0.9993966 23.782464 6.04086 4.5422648 1.4985952 0.0018961801 -0.022410151 4.5627788 + 64710 20.425847 0.99825721 23.805742 6.0133396 4.5164529 1.4968867 0.0018990735 -0.022442504 4.5369963 + 64720 20.315398 0.98776177 23.661177 6.0146071 4.5334583 1.4811488 0.0017286723 -0.021736895 4.5534665 + 64730 20.233596 1.0020051 23.804836 6.0331643 4.5306576 1.5025067 0.0016098393 -0.021202302 4.55025 + 64740 20.265102 1.0034105 23.93111 6.0264373 4.5218233 1.504614 0.0015770432 -0.021022524 4.5412687 + 64750 20.415773 0.99083706 23.861607 6.0284654 4.5427053 1.4857602 0.0013382115 -0.020147848 4.5615149 + 64760 20.026265 0.99604363 23.276329 6.0372796 4.5437122 1.4935674 0.0011633744 -0.019427727 4.5619765 + 64770 20.245653 0.99642704 23.596486 6.0247339 4.5305916 1.4941424 0.0013562833 -0.020356478 4.5495918 + 64780 20.328679 0.99788098 23.511095 6.0404135 4.5440909 1.4963225 0.0014721666 -0.02077054 4.5633893 + 64790 20.292302 1.00031 23.790153 6.0174129 4.5174481 1.4999649 0.0014094083 -0.020479422 4.5365181 + 64800 20.575649 0.99920386 23.670241 6.0214646 4.5231584 1.4983062 0.0015060825 -0.020940772 4.5425931 + 64810 20.31046 1.0036719 23.254 6.0300173 4.5250113 1.5050059 0.0018039539 -0.022205806 4.5454132 + 64820 20.095376 1.0009868 23.585789 6.0476549 4.5466753 1.5009796 0.0018295641 -0.022401337 4.567247 + 64830 20.118297 0.98134582 23.880428 6.0119038 4.5403757 1.4715281 0.0016616323 -0.021998516 4.5607126 + 64840 20.357161 0.97709407 23.856624 6.0040391 4.5388866 1.4651526 0.0015203304 -0.02102155 4.5583878 + 64850 20.195363 0.96732915 23.433113 5.9719925 4.5214824 1.4505101 0.0015463001 -0.020675485 4.5406116 + 64860 20.07081 0.99071607 23.403062 6.0117486 4.5261698 1.4855788 0.0015427485 -0.020333743 4.5449608 + 64870 20.240693 0.99256683 23.715206 6.0134286 4.5250747 1.488354 0.0013671149 -0.019711646 4.5434192 + 64880 20.318118 0.9915373 23.175905 6.0246172 4.537807 1.4868102 0.0015181929 -0.020303017 4.5565919 + 64890 20.370227 0.99292875 23.598569 6.035558 4.5466613 1.4888967 0.0015669159 -0.020796317 4.5658907 + 64900 20.249886 0.99274833 23.189481 6.0453811 4.556755 1.4886261 0.0014850263 -0.020507637 4.5757776 + 64910 20.102223 1.005254 23.613718 6.0308927 4.5235144 1.5073784 0.0014958123 -0.020546896 4.5425654 + 64920 20.185088 0.99415841 23.56643 6.0179445 4.5272039 1.4907405 0.0015802143 -0.020489966 4.5461137 + 64930 19.996941 1.0018314 23.678085 6.0292618 4.5270156 1.5022462 0.0015984234 -0.020591326 4.5460085 + 64940 20.124014 1.0086879 23.747852 6.0360301 4.5235026 1.5125275 0.0017284827 -0.021565364 4.5433395 + 64950 19.949655 1.0023959 23.725767 6.0475346 4.5444419 1.5030927 0.0017411167 -0.021867331 4.5645681 + 64960 20.164734 1.0059163 23.587897 6.0509914 4.5426199 1.5083715 0.0016673193 -0.021386726 4.5623393 + 64970 20.202098 0.99961828 23.723836 6.0559865 4.5570589 1.4989276 0.0016878577 -0.021302599 4.5766737 + 64980 20.051932 1.0118222 23.834447 6.0549848 4.5377574 1.5172274 0.0017086066 -0.021185258 4.5572341 + 64990 19.853565 1.0135636 23.644967 6.0395178 4.5196792 1.5198386 0.0015299227 -0.020284427 4.5384337 + 65000 20.168402 1.0138089 24.052664 6.0212813 4.5010749 1.5202064 0.0015641361 -0.020300276 4.5198111 + 65010 20.548245 1.0170534 23.586391 6.0350534 4.5099817 1.5250716 0.0017826486 -0.021428218 4.5296273 + 65020 20.511537 0.99693431 24.001856 6.0134706 4.5185676 1.494903 0.0019191772 -0.022325927 4.5389744 + 65030 20.271319 0.99695197 24.051484 6.0313753 4.5364458 1.4949295 0.0020381592 -0.022813938 4.5572216 + 65040 20.434657 1.0087536 23.745574 6.0544579 4.5418319 1.512626 0.0020358132 -0.023074318 4.5628705 + 65050 20.337451 1.0253763 23.557295 6.065879 4.5283271 1.5375518 0.0021670635 -0.023793766 4.5499538 + 65060 20.434889 1.0178678 23.726664 6.0572573 4.5309645 1.5262928 0.0021499757 -0.024008151 4.5528226 + 65070 20.585152 1.0180747 23.940164 6.0707907 4.5441877 1.526603 0.00199493 -0.023461719 4.5656544 + 65080 20.220404 0.99581992 23.826744 6.0422139 4.548982 1.493232 0.0019056829 -0.022783246 4.5698595 + 65090 19.735001 1.0074649 23.696781 6.023385 4.5126914 1.5106935 0.0019701695 -0.023322171 4.5340434 + 65100 19.823522 0.99023322 23.538421 6.0500963 4.5652416 1.4848547 0.0020375497 -0.023452026 4.5866561 + 65110 20.02254 1.0088587 23.707059 6.0438765 4.5310929 1.5127837 0.0021603695 -0.024329604 4.5532621 + 65120 20.181209 1.003304 23.982581 6.0325831 4.5281288 1.5044543 0.00220228 -0.024540381 4.5504669 + 65130 20.419051 1.0018583 23.646154 6.035565 4.5332786 1.5022865 0.0020483723 -0.023803542 4.5550337 + 65140 20.208702 0.99435913 23.974343 6.0244437 4.5334022 1.4910415 0.0018228859 -0.022758738 4.554338 + 65150 20.238278 1.0050903 23.809992 6.0417491 4.5346161 1.507133 0.0016660975 -0.02191214 4.5548621 + 65160 20.151427 1.0238717 24.001066 6.0683106 4.5330149 1.5352956 0.0014427965 -0.020869878 4.552442 + 65170 19.986723 1.0104117 23.787697 6.0520852 4.5369728 1.5151124 0.0014777944 -0.021117444 4.5566124 + 65180 20.318977 1.0063589 23.810099 6.0459555 4.5369203 1.5090352 0.0015496884 -0.021209399 4.55658 + 65190 20.194631 1.0087959 23.656724 6.0731638 4.5604743 1.5126894 0.0014442271 -0.020587932 4.579618 + 65200 19.983301 1.0223847 23.87541 6.0633159 4.53025 1.5330659 0.0014177445 -0.020198036 4.5490303 + 65210 20.25224 1.0047396 23.52999 6.0323823 4.5257752 1.5066071 0.0013888724 -0.019971875 4.5443582 + 65220 20.190769 0.99343086 23.549208 6.0385136 4.5488641 1.4896496 0.0012199174 -0.019203633 4.5668478 + 65230 20.239753 1.0066837 23.633786 6.0359114 4.5263892 1.5095222 0.001252575 -0.019584632 4.5447213 + 65240 20.304846 1.0127713 23.953737 6.0346959 4.5160454 1.5186505 0.0014767825 -0.020851557 4.5354202 + 65250 20.179749 0.99078604 23.787364 6.0298396 4.5441559 1.4856837 0.0015726478 -0.021061951 4.5636452 + 65260 20.135648 1.010598 23.698902 6.0343719 4.5189801 1.5153917 0.001717626 -0.021515599 4.5387781 + 65270 20.359634 1.0153795 23.465078 6.0516788 4.5291172 1.5225616 0.00180215 -0.021836535 4.5491516 + 65280 20.188634 1.0085162 23.543637 6.0628376 4.5505676 1.51227 0.0018676748 -0.022459028 4.5711589 + 65290 20.120858 1.0200764 23.910415 6.0539647 4.5243601 1.5296045 0.0020471546 -0.023321874 4.5456349 + 65300 20.005102 1.0169143 23.694768 6.0481471 4.5232841 1.524863 0.0022044552 -0.024042085 4.5451218 + 65310 20.307041 1.0014889 23.843443 6.044049 4.5423164 1.5017326 0.0020476107 -0.023207664 4.5634765 + 65320 20.22806 1.019181 23.856368 6.0531645 4.5249026 1.5282619 0.0018686209 -0.022818434 4.5458524 + 65330 20.187722 1.0157633 23.511226 6.0458384 4.5227013 1.5231371 0.001805308 -0.022357982 4.543254 + 65340 20.183655 0.99650455 23.335109 6.0375514 4.5432928 1.4942586 0.0017688155 -0.022101021 4.563625 + 65350 19.741167 1.0151734 23.942025 6.0456986 4.523446 1.5222526 0.0014729848 -0.021124406 4.5430974 + 65360 20.286266 0.9979905 23.554611 6.0355098 4.5390231 1.4964867 0.0014251937 -0.020539073 4.558137 + 65370 20.302032 1.0215149 23.665746 6.0437091 4.5119475 1.5317617 0.0015186732 -0.020610472 4.5310393 + 65380 20.08426 1.0187205 23.798767 6.0853134 4.557742 1.5275714 0.0016781016 -0.021271825 4.5773357 + 65390 19.835633 1.0136441 23.841085 6.071204 4.5512446 1.5199593 0.00172728 -0.021849186 4.5713666 + 65400 20.138164 1.0156892 23.608894 6.0735931 4.5505671 1.523026 0.0017842791 -0.021866183 4.570649 + 65410 20.267762 1.0100817 23.77523 6.0488022 4.5341846 1.5146175 0.0018438804 -0.022095892 4.5544366 + 65420 20.075285 0.9956558 23.765708 6.033972 4.5409862 1.4929859 0.0018202992 -0.022836433 4.5620023 + 65430 20.022932 1.0213692 23.833973 6.0510668 4.5195238 1.5315431 0.0017278387 -0.02276461 4.5405606 + 65440 20.278213 1.0155209 23.76181 6.0608612 4.5380875 1.5227736 0.0016963209 -0.022085371 4.5584766 + 65450 20.311676 1.0374477 23.683326 6.0739475 4.5182947 1.5556528 0.0017159227 -0.021874028 4.5384528 + 65460 20.271718 1.0275719 23.775032 6.080886 4.540042 1.5408441 0.0016819424 -0.022104615 4.5604646 + 65470 20.415838 1.020824 23.857537 6.0520114 4.5212859 1.5307255 0.0017962229 -0.022465402 4.5419551 + 65480 20.601875 1.0086156 23.94718 6.0340891 4.52167 1.5124191 0.0017778292 -0.022321373 4.5422136 + 65490 20.286654 1.0000214 23.681779 6.0288117 4.5292796 1.4995321 0.0019008381 -0.022973318 4.5503521 + 65500 20.29142 0.99269177 23.633336 6.004935 4.5163937 1.4885413 0.0020802945 -0.023629736 4.5379432 + 65510 20.340507 1.003297 23.575714 6.011749 4.5073051 1.5044439 0.0021243431 -0.024067651 4.5292484 + 65520 20.277791 0.98675093 23.556482 6.0030672 4.5234342 1.479633 0.0021549933 -0.024011141 4.5452903 + 65530 20.388145 0.99567056 23.815344 6.0214329 4.5284249 1.493008 0.0020103323 -0.023030802 4.5494453 + 65540 20.40873 1.0297653 23.630724 6.0805564 4.5364233 1.5441331 0.0021514521 -0.023340809 4.5576127 + 65550 19.978058 1.0333396 23.814585 6.0881176 4.5386248 1.5494928 0.0022396909 -0.023890723 4.5602758 + 65560 20.331666 1.0236918 23.852863 6.0823057 4.5472799 1.5350259 0.002164329 -0.02346648 4.568582 + 65570 20.103869 1.0195955 23.718011 6.0723897 4.5435063 1.5288834 0.0020282206 -0.022929144 4.5644072 + 65580 20.202183 1.0050772 23.70617 6.0515666 4.5444534 1.5071132 0.0019207365 -0.022439314 4.564972 + 65590 20.187133 1.0056616 23.759615 6.0373521 4.5293624 1.5079896 0.001836072 -0.02196335 4.5494897 + 65600 20.061473 1.0243772 23.830772 6.0712646 4.535211 1.5360535 0.0016827637 -0.020802526 4.5543308 + 65610 19.987377 1.0208109 23.735728 6.0546799 4.5239739 1.530706 0.0017271481 -0.020392214 4.5426389 + 65620 19.807589 1.0110087 23.65198 6.0574469 4.5414394 1.5160075 0.001693341 -0.020259509 4.5600056 + 65630 20.134057 1.0056089 23.848718 6.080089 4.5721784 1.5079106 0.0017518858 -0.020889734 4.5913163 + 65640 20.161873 1.0099084 23.59828 6.0537378 4.5393802 1.5143576 0.0018056897 -0.021475797 4.5590503 + 65650 20.072095 1.0171065 23.469102 6.0656559 4.5405047 1.5251512 0.0018173875 -0.021308354 4.5599956 + 65660 20.591932 0.97904051 23.391359 6.0100829 4.5420117 1.4680712 0.0017573004 -0.020522796 4.5607772 + 65670 20.448478 1.0003055 23.740308 6.0459977 4.5460396 1.4999581 0.0014697742 -0.01939361 4.5639635 + 65680 19.792471 1.0104823 23.667981 6.0577629 4.5425446 1.5152183 0.0014784145 -0.019025403 4.5600916 + 65690 19.839528 1.0058767 23.837655 6.0552979 4.5469858 1.5083121 0.0016312643 -0.020479903 4.5658344 + 65700 20.127723 1.0205172 23.928018 6.0753001 4.5450345 1.5302655 0.0015799627 -0.02062476 4.5640793 + 65710 20.158947 1.0297647 23.756121 6.061571 4.5174389 1.5441322 0.0015125616 -0.02019378 4.5361201 + 65720 20.176283 1.028929 23.940713 6.0713204 4.5284413 1.5428791 0.0017295988 -0.021455802 4.5481675 + 65730 19.808961 1.0188799 23.827071 6.0659301 4.5381197 1.5278105 0.0017359326 -0.022113968 4.5584977 + 65740 20.212404 1.0201093 23.928456 6.0540078 4.5243538 1.529654 0.0018198835 -0.022292166 4.5448261 + 65750 20.176712 1.0119886 23.713908 6.0531619 4.535685 1.5174769 0.0021614734 -0.023930227 4.5574537 + 65760 20.29984 0.98174234 23.672194 6.0126191 4.5404965 1.4721226 0.0021926363 -0.024223192 4.5625271 + 65770 20.157762 1.0022117 23.969881 6.0201971 4.5173806 1.5028165 0.002171586 -0.02391692 4.5391259 + 65780 20.036637 1.0117104 23.639816 6.0428004 4.5257406 1.5170598 0.0021769057 -0.023853316 4.547417 + 65790 20.250027 1.0108754 23.612201 6.0616675 4.5458597 1.5158077 0.0021134663 -0.023701543 4.5674478 + 65800 20.270558 1.0284504 23.942757 6.0756416 4.5334802 1.5421614 0.0019738084 -0.02304276 4.5545491 + 65810 20.061247 1.0113361 23.808888 6.0682863 4.5517878 1.5164985 0.0017405078 -0.022396813 4.5724441 + 65820 19.999057 1.0177756 23.877145 6.0759455 4.549791 1.5261546 0.0019132712 -0.022892444 4.5707701 + 65830 20.044517 1.0145595 23.853117 6.0685919 4.5472599 1.521332 0.0018197868 -0.022566068 4.5680062 + 65840 20.293713 0.99635311 23.686804 6.0410739 4.5470424 1.4940315 0.001848452 -0.022614106 4.5678081 + 65850 20.380133 1.0071935 23.958067 6.0227515 4.5124649 1.5102866 0.0019976694 -0.02310281 4.5335701 + 65860 20.36797 0.99399033 23.816691 6.0200262 4.5295377 1.4904885 0.0023055557 -0.024636873 4.551869 + 65870 20.416989 1.0062426 23.640467 6.0142372 4.5053765 1.5088608 0.0022498633 -0.024432277 4.5275589 + 65880 20.012459 0.99603683 23.439019 6.0204375 4.5268803 1.4935572 0.0020187958 -0.023411075 4.5482726 + 65890 20.120349 0.99051735 23.843185 6.0221407 4.5368599 1.4852808 0.0018038867 -0.022366206 4.5574222 + 65900 20.212397 0.99638981 23.899978 6.026488 4.5324014 1.4940865 0.0018859299 -0.022854286 4.5533698 + 65910 20.091342 0.99232339 23.882706 6.0187656 4.5307766 1.4879889 0.0018475122 -0.023112989 4.5520421 + 65920 20.108397 1.0095852 23.872807 6.0363576 4.5224846 1.513873 0.0017989574 -0.023148777 4.5438345 + 65930 20.054464 1.0181215 23.705006 6.049326 4.5226527 1.5266733 0.0017470691 -0.022740553 4.5436462 + 65940 20.401366 1.0074464 23.774715 6.0485277 4.5378618 1.5106659 0.0016545418 -0.022056327 4.5582636 + 65950 20.245302 1.0194806 23.511241 6.0642573 4.5355462 1.5287111 0.0015470373 -0.021888966 4.5558882 + 65960 20.331947 1.0221227 23.747936 6.0723151 4.5396421 1.5326729 0.0014803755 -0.021348876 4.5595106 + 65970 20.183323 1.0116689 23.429781 6.0682278 4.5512304 1.5169974 0.0013674693 -0.020796742 4.5706596 + 65980 20.349695 1.0238792 23.709644 6.0628914 4.5275845 1.5353068 0.0015877888 -0.021692861 4.5476896 + 65990 20.127269 0.99780807 23.762911 6.0339404 4.5377272 1.4962132 0.0017644822 -0.022229407 4.5581921 + 66000 20.054317 1.0053903 23.963506 6.0250797 4.5174969 1.5075827 0.0017108853 -0.02172215 4.5375082 + 66010 20.301496 1.0046924 23.819066 6.0818118 4.5752755 1.5065363 0.0018061953 -0.022157143 4.5956264 + 66020 20.318197 1.0289798 23.73857 6.0965127 4.5535575 1.5429552 0.0018186051 -0.022373224 4.5741121 + 66030 20.395561 1.0000384 23.341277 6.0338745 4.534317 1.4995575 0.001830634 -0.022563338 4.5550497 + 66040 20.287956 1.0088413 23.642313 6.0382907 4.5255332 1.5127575 0.0017439964 -0.022291245 4.5460804 + 66050 20.201932 1.0027421 23.708505 6.0397104 4.5360987 1.5036117 0.0015691198 -0.021812262 4.5563419 + 66060 20.246025 1.0125644 23.818765 6.0418017 4.5234614 1.5183403 0.0015914529 -0.021513515 4.5433835 + 66070 20.18513 1.003367 23.771687 6.0281997 4.5236508 1.5045488 0.0012554484 -0.019686528 4.5420819 + 66080 20.259154 1.0174516 23.655435 6.0646531 4.5389844 1.5256687 0.0011320819 -0.019079146 4.5569315 + 66090 20.25675 1.0261789 23.798633 6.0771636 4.5384083 1.5387552 0.0011732941 -0.019310707 4.5565458 + 66100 20.248202 1.0191056 23.772547 6.0777774 4.5496286 1.5281488 0.0012895911 -0.019824256 4.5681632 + 66110 20.301549 1.0169447 23.831386 6.078329 4.5534204 1.5249085 0.0013503014 -0.019819211 4.5718894 + 66120 20.170819 1.0295317 23.796399 6.0795502 4.5357674 1.5437828 0.0015647721 -0.021242816 4.5554455 + 66130 19.943115 1.0148893 23.614129 6.0801216 4.5582952 1.5218265 0.0017012405 -0.022192521 4.5787865 + 66140 20.009501 1.0236725 23.899223 6.0682258 4.5332289 1.534997 0.0017585027 -0.021766269 4.5532366 + 66150 20.143669 1.0104593 24.029956 6.0293916 4.5142079 1.5151837 0.0015798838 -0.020875311 4.5335034 + 66160 20.499519 1.0138751 23.556811 6.0493675 4.5290619 1.5203057 0.0014857192 -0.020740286 4.5483164 + 66170 20.184569 1.0005984 23.742466 6.052638 4.5522407 1.5003972 0.0015454807 -0.021022673 4.5717179 + 66180 20.432983 1.0115671 23.529018 6.0515376 4.5346927 1.5168449 0.0014382633 -0.020608883 4.5538634 + 66190 19.943616 1.0144441 23.715707 6.033607 4.5124481 1.5211589 0.0012993359 -0.020175983 4.5313247 + 66200 20.085617 0.99868573 23.673056 6.0485501 4.5510208 1.4975293 0.0011902937 -0.019545561 4.5693761 + 66210 20.271649 1.0059469 23.741646 6.0501577 4.5417403 1.5084174 0.0011464882 -0.019667927 4.5602617 + 66220 20.255306 1.0201609 23.678907 6.0437698 4.5140385 1.5297313 0.0010801801 -0.019080523 4.5320389 + 66230 20.292837 1.0122462 23.754745 6.0345032 4.51664 1.5178632 0.0010491432 -0.018821702 4.5344126 + 66240 19.980384 1.0064462 23.749596 6.0617247 4.5525587 1.509166 0.0012454091 -0.019490711 4.570804 + 66250 20.342433 1.0087794 23.772585 6.0354947 4.52283 1.5126647 0.0013912983 -0.020057495 4.5414962 + 66260 20.330282 0.99563985 23.704803 6.0125694 4.5196075 1.492962 0.0016446584 -0.020897737 4.5388606 + 66270 20.482859 0.98036966 23.814513 6.0135761 4.5435118 1.4700643 0.0017740079 -0.021719088 4.5634569 + 66280 19.915968 0.9803496 23.833673 5.9915881 4.5215539 1.4700342 0.0018332993 -0.021903789 4.5416244 + 66290 20.262779 0.99803339 23.457859 6.0226847 4.5261337 1.4965511 0.0018035175 -0.021752939 4.5460831 + 66300 20.363459 0.99988961 23.445939 6.0403581 4.5410237 1.4993345 0.0016075055 -0.020595989 4.5600121 + 66310 20.376319 1.0021987 23.941473 6.0615211 4.5587241 1.502797 0.0015021075 -0.020448512 4.5776705 + 66320 20.401096 1.0128932 23.586764 6.0490676 4.5302342 1.5188334 0.0016524554 -0.021379596 4.5499614 + 66330 20.022322 1.0115331 23.672586 6.0456743 4.5288804 1.5167939 0.001805341 -0.022107861 4.5491829 + 66340 19.69346 1.0018775 23.796097 6.0580692 4.5557539 1.5023153 0.0017494936 -0.021782943 4.5757873 + 66350 20.106427 0.99294609 23.62894 6.0275864 4.5386637 1.4889227 0.001617154 -0.02141441 4.558461 + 66360 20.279228 1.0194544 23.612775 6.0468027 4.5181309 1.5286718 0.0017348013 -0.022059435 4.5384555 + 66370 20.269424 1.0258663 23.63827 6.0652371 4.5269507 1.5382865 0.001871743 -0.023219662 4.5482986 + 66380 20.081626 1.0162039 23.730583 6.0544637 4.530666 1.5237977 0.0017025129 -0.022516797 4.5514803 + 66390 20.333586 1.0172074 23.714003 6.0548186 4.5295161 1.5253024 0.001663477 -0.022466425 4.5503191 + 66400 20.385689 1.0355496 23.7499 6.0868306 4.534024 1.5528067 0.0017500311 -0.022867015 4.555141 + 66410 20.292372 1.0215223 23.664496 6.0987101 4.5669373 1.5317728 0.0018061893 -0.02307867 4.5882098 + 66420 19.997547 1.0398171 23.499626 6.1065882 4.5473824 1.5592058 0.0016929409 -0.022557026 4.5682465 + 66430 20.063755 1.0294344 23.946564 6.0900888 4.5464519 1.5436369 0.001894733 -0.023634517 4.5681917 + 66440 20.091818 1.0430618 23.70602 6.0884873 4.5244161 1.5640712 0.0020788794 -0.024094839 4.5464321 + 66450 20.311135 1.0268759 23.878177 6.0864948 4.5466943 1.5398004 0.0019422309 -0.02325802 4.5680101 + 66460 19.940695 1.0202414 23.648254 6.0682327 4.5383807 1.5298519 0.001738452 -0.022303983 4.5589463 + 66470 19.927653 1.0132468 23.662354 6.0617012 4.5423376 1.5193636 0.0018316426 -0.022819265 4.5633252 + 66480 20.133462 1.0153145 23.601406 6.0470337 4.5245697 1.522464 0.0019844887 -0.023367843 4.545953 + 66490 20.491828 1.0126879 23.618245 6.038079 4.5195535 1.5185255 0.002121912 -0.023865806 4.5412974 + 66500 20.35973 0.99928847 23.639466 6.0546439 4.5562108 1.4984331 0.0019250596 -0.022887628 4.5771734 + 66510 19.97652 1.0162859 23.437278 6.0543489 4.5304281 1.5239207 0.0018936587 -0.022392287 4.5509268 + 66520 19.526527 1.0297039 23.675012 6.0701913 4.5261503 1.5440411 0.0019595601 -0.022745742 4.5469364 + 66530 20.353723 1.0267436 23.911392 6.067086 4.5274839 1.539602 0.0020633482 -0.023328894 4.5487495 + 66540 20.177042 1.0138739 23.722648 6.0666963 4.5463925 1.5203039 0.0022159134 -0.024197605 4.5683741 + 66550 20.349155 1.0291055 23.950378 6.0742486 4.5311048 1.5431437 0.0021350047 -0.023851717 4.5528216 + 66560 20.141941 1.0571489 23.641165 6.1189289 4.5337341 1.5851947 0.0020912797 -0.023865511 4.5555084 + 66570 20.151956 1.0495203 24.04884 6.1188882 4.5451326 1.5737557 0.0018868724 -0.022547841 4.5657935 + 66580 19.981628 1.0497649 24.127255 6.109316 4.5351935 1.5741224 0.0016497551 -0.021488184 4.555032 + 66590 20.045787 1.0237376 23.826015 6.0924365 4.557342 1.5350945 0.0016482762 -0.021573819 4.5772676 + 66600 19.863527 1.0210821 23.772882 6.0758274 4.5447149 1.5311125 0.0017289701 -0.021480543 4.5644665 + 66610 19.920659 1.0364498 23.683188 6.1055475 4.5513911 1.5541565 0.0017141859 -0.021133983 4.5708109 + 66620 20.229612 1.0335906 23.874074 6.0850846 4.5352154 1.5498691 0.0016339357 -0.020780262 4.5543618 + 66630 20.082484 1.0081678 23.649703 6.0562399 4.5444922 1.5117477 0.0017258952 -0.021145954 4.5639123 + 66640 20.014078 1.0201825 23.799251 6.0552929 4.5255292 1.5297636 0.001825879 -0.021739203 4.5454426 + 66650 19.848926 1.006817 23.624861 6.0366503 4.5269283 1.509722 0.0019363152 -0.022354357 4.5473463 + 66660 20.142184 0.98901157 23.543475 6.024316 4.5412931 1.4830228 0.0020187386 -0.022596125 4.5618705 + 66670 20.045776 1.0132825 23.763854 6.0552522 4.5358351 1.5194171 0.0021093734 -0.023160925 4.5568867 + 66680 20.42786 0.99685631 23.679428 6.0312033 4.5364173 1.494786 0.0019311527 -0.022128971 4.5566151 + 66690 20.169462 1.0258953 24.034174 6.0695702 4.5312403 1.53833 0.0017607722 -0.021313579 4.5507931 + 66700 20.320695 0.98892685 23.626616 6.0280005 4.5451047 1.4828958 0.0015365893 -0.020190059 4.5637581 + 66710 20.257445 1.0240204 23.814435 6.054274 4.5187553 1.5355187 0.0015197777 -0.020542719 4.5377782 + 66720 19.703925 1.0171556 23.615736 6.0831576 4.5579328 1.5252248 0.0016415852 -0.020993935 4.5772852 + 66730 19.980224 1.031628 23.769547 6.0817108 4.5347846 1.5469262 0.0017408722 -0.021960134 4.5550038 + 66740 20.244959 1.0463918 23.899994 6.0854797 4.5164151 1.5690645 0.0019101948 -0.023009639 4.5375146 + 66750 20.155802 1.0093729 23.753665 6.0472277 4.533673 1.5135546 0.0020671897 -0.023736397 4.5553422 + 66760 20.131579 1.0217101 23.802919 6.0740236 4.5419694 1.5320542 0.0021866145 -0.024298403 4.5640812 + 66770 20.126139 1.0349477 23.714978 6.0466481 4.494744 1.5519041 0.0022235815 -0.024439091 4.5169595 + 66780 20.188974 1.0120923 23.704971 6.0316784 4.514046 1.5176324 0.0020342084 -0.023591116 4.5356029 + 66790 20.077738 1.015535 23.592063 6.0256702 4.5028756 1.5227947 0.0019667002 -0.022498617 4.5234075 + 66800 20.172094 1.0210723 23.640441 6.0648792 4.5337812 1.5310979 0.0018434944 -0.021767026 4.5537048 + 66810 19.753165 1.011246 23.591942 6.0451589 4.5287955 1.5163634 0.0015415302 -0.020223084 4.547477 + 66820 20.099625 1.0262987 23.626518 6.0627115 4.5237765 1.5389349 0.0015925947 -0.020678227 4.5428622 + 66830 20.33505 1.0038829 23.765605 6.0282704 4.5229479 1.5053224 0.0017422897 -0.021157288 4.5423629 + 66840 20.091702 1.0087691 23.748607 6.0428094 4.5301601 1.5126493 0.0018518417 -0.021821681 4.55013 + 66850 19.690035 1.0102801 23.660465 6.0314569 4.5165418 1.514915 0.0019904704 -0.022593798 4.5371452 + 66860 19.623713 1.0164047 24.033986 6.0576614 4.5335626 1.5240988 0.0019173779 -0.022184864 4.5538301 + 66870 20.290547 1.0003027 23.620401 6.0468738 4.5469199 1.4999539 0.0018152255 -0.02197371 4.5670784 + 66880 20.51391 1.0234541 23.677442 6.0740939 4.5394245 1.5346694 0.0017819221 -0.022253939 4.5598965 + 66890 20.544371 1.0480316 23.861281 6.1096647 4.5381414 1.5715234 0.0016886612 -0.022017485 4.5584702 + 66900 20.337598 1.0289141 23.648519 6.097232 4.5543754 1.5428566 0.0014978748 -0.021081382 4.5739589 + 66910 20.454566 1.0485782 23.809801 6.1079998 4.5356568 1.572343 0.0014218646 -0.020830401 4.5550653 + 66920 20.509868 1.0317955 24.130979 6.0901045 4.5429272 1.5471773 0.0014746703 -0.020739538 4.5621921 + 66930 20.175311 1.0144417 24.026248 6.08003 4.5588746 1.5211554 0.0016287857 -0.021346883 4.5785927 + 66940 20.435316 1.0408206 23.701973 6.1026204 4.5419099 1.5607105 0.0017162172 -0.021292871 4.5614866 + 66950 20.437135 1.0161425 23.676595 6.1074661 4.5837604 1.5237057 0.001586313 -0.020620436 4.6027945 + 66960 20.275639 1.038674 23.739015 6.1150087 4.557517 1.5574917 0.0015548907 -0.020104728 4.5760668 + 66970 20.025378 1.0469896 23.768254 6.1040674 4.5341065 1.5699609 0.0014423227 -0.019559398 4.5522236 + 66980 20.43219 1.0334815 23.723438 6.0798333 4.5301279 1.5497054 0.0013745874 -0.019550099 4.5483034 + 66990 20.31567 1.0364136 23.692607 6.0909736 4.5368715 1.5541021 0.001337049 -0.019261759 4.5547962 + 67000 20.193419 1.0235561 23.532769 6.0827956 4.5479733 1.5348223 0.0013937147 -0.01980044 4.56638 + 67010 20.416709 1.0454596 23.523967 6.1131136 4.5454468 1.5676667 0.0017187621 -0.021245878 4.564974 + 67020 20.106471 1.0473238 23.862086 6.1085306 4.5380686 1.570462 0.0017096492 -0.021438769 4.5577977 + 67030 20.251606 1.0472006 23.695581 6.1168954 4.5466181 1.5702773 0.0018700741 -0.022517735 4.5672658 + 67040 20.404393 1.0306095 23.835806 6.0984109 4.5530119 1.545399 0.0019919059 -0.023299619 4.5743196 + 67050 19.959775 1.0505136 24.079525 6.1089082 4.533663 1.5752452 0.001898145 -0.022953975 4.5547189 + 67060 20.299691 1.0296718 23.738988 6.0787452 4.5347523 1.5439929 0.0020093242 -0.023441673 4.5561846 + 67070 20.447884 1.047762 23.657642 6.1142938 4.5431747 1.5711191 0.0020532858 -0.023369761 4.5644911 + 67080 20.330232 1.0306731 24.198295 6.0802288 4.5347345 1.5454943 0.0018977944 -0.022556402 4.5553931 + 67090 20.01482 1.0051411 23.882627 6.0482863 4.5410773 1.507209 0.002034599 -0.02321867 4.5622614 + 67100 20.082527 1.010677 23.869435 6.0404345 4.5249244 1.5155102 0.0019147528 -0.022958835 4.5459684 + 67110 19.968571 1.0131015 23.616322 6.050532 4.5313863 1.5191457 0.0017934745 -0.022469065 4.5520619 + 67120 20.271575 1.0118419 23.743175 6.0607191 4.5434622 1.517257 0.0017751523 -0.022474917 4.5641619 + 67130 20.176418 1.0101611 23.8578 6.049601 4.5348644 1.5147366 0.0016859742 -0.022083545 4.555262 + 67140 20.341606 1.0207099 23.854278 6.070524 4.5399695 1.5305545 0.0016497471 -0.021788817 4.5601085 + 67150 20.324948 1.0149133 23.695244 6.0875402 4.5656777 1.5218624 0.0015259828 -0.021150704 4.5853024 + 67160 20.279613 1.0139077 23.992385 6.0616617 4.541307 1.5203547 0.0014951044 -0.02133676 4.5611487 + 67170 19.606725 1.0109114 23.710481 6.065004 4.5491423 1.5158617 0.0014204694 -0.020948352 4.5686702 + 67180 20.057723 1.0348985 23.638152 6.0728975 4.5210671 1.5518304 0.0013807389 -0.020786582 4.5404729 + 67190 19.541381 1.0397545 23.719591 6.0664064 4.5072945 1.5591118 0.0012809721 -0.020621316 4.5266349 + 67200 20.163614 1.003895 23.499475 6.0559953 4.5506548 1.5053405 0.001310079 -0.020812111 4.5701568 + 67210 20.376653 0.98065891 23.831584 6.0048209 4.5343228 1.470498 0.0013925906 -0.0212512 4.5541814 + 67220 20.245514 0.98407723 23.324951 6.0406639 4.5650401 1.4756238 0.0014838679 -0.021569577 4.5851258 + 67230 20.210877 1.0248116 23.875096 6.0614352 4.5247302 1.536705 0.0016807096 -0.022685385 4.5457348 + 67240 20.178657 1.0242922 23.616949 6.0718018 4.5358757 1.5359261 0.0018483303 -0.022770736 4.5567981 + 67250 20.269171 1.0107955 23.780766 6.0313492 4.5156615 1.5156878 0.00167231 -0.022237954 4.5362271 + 67260 20.19225 1.0157795 23.832644 6.0395424 4.516381 1.5231614 0.0016086428 -0.022156177 4.5369286 + 67270 20.159386 1.018454 23.693894 6.0920159 4.5648441 1.5271718 0.0017547624 -0.022713513 4.5858029 + 67280 19.702687 1.0353614 23.776618 6.0822576 4.5297331 1.5525245 0.0018607 -0.023039277 4.5509117 + 67290 20.05459 1.0252566 23.608288 6.0887679 4.5513957 1.5373722 0.0019805198 -0.023115871 4.572531 + 67300 20.319495 1.0443678 23.667599 6.0876753 4.5216458 1.5660295 0.0020191925 -0.023197154 4.5428238 + 67310 20.100486 1.0135944 23.466698 6.0581628 4.5382779 1.5198848 0.0018240359 -0.021688466 4.5581424 + 67320 19.944021 1.0067257 23.7777 6.0398669 4.5302817 1.5095851 0.0017125083 -0.021133906 4.5497031 + 67330 19.825882 1.0053117 23.447949 6.0435138 4.5360489 1.5074649 0.0018574402 -0.022062916 4.5562544 + 67340 19.92195 1.0287465 23.731142 6.0624211 4.5198157 1.5426054 0.0018665237 -0.021955109 4.5399043 + 67350 19.910888 1.0004424 23.530673 6.039031 4.5388676 1.5001634 0.0016908618 -0.021190603 4.5583674 + 67360 20.35566 1.0042847 23.54579 6.0185018 4.512577 1.5059249 0.0015985934 -0.020663471 4.5316419 + 67370 20.389515 0.98351557 23.582588 6.0084977 4.5337161 1.4747816 0.0015809895 -0.020502664 4.5526378 + 67380 20.371259 1.0004312 23.652363 6.0167135 4.5165669 1.5001466 0.0014543642 -0.020139996 4.5352525 + 67390 20.138724 0.99349324 23.652654 6.0069839 4.5172408 1.4897431 0.001327946 -0.019985951 4.5358988 + 67400 19.9871 0.986122 23.610612 6.0439968 4.5653069 1.4786899 0.0012410027 -0.019807327 4.5838732 + 67410 20.020111 1.0173532 23.924947 6.0487839 4.5232627 1.5255212 0.0014407217 -0.020797681 4.5426197 + 67420 19.78124 1.0028995 23.808702 6.0226631 4.5188153 1.5038478 0.0014256803 -0.020975224 4.5383649 + 67430 20.345056 0.99080225 23.338453 6.0303792 4.5446712 1.485708 0.0016115657 -0.021929435 4.5649891 + 67440 20.423203 1.0184645 24.021492 6.0637394 4.5365519 1.5271875 0.0014751877 -0.020841985 4.5559187 + 67450 20.221572 1.0238849 23.738086 6.0746617 4.5393462 1.5353154 0.0012934809 -0.019707979 4.5577607 + 67460 20.002272 1.0162146 23.981345 6.0523694 4.5285556 1.5238138 0.0015599007 -0.020682976 4.5476786 + 67470 20.345135 1.0296767 23.90287 6.0706951 4.5266949 1.5440002 0.001606526 -0.020941467 4.5460298 + 67480 20.321342 1.0096977 23.631014 6.0641165 4.5500748 1.5140416 0.0015512216 -0.020900531 4.5694241 + 67490 20.21695 1.0170592 24.130675 6.0377339 4.5126536 1.5250803 0.0016799946 -0.021065247 4.5320388 + 67500 20.37225 0.9961781 23.579211 6.0327181 4.5389491 1.4937691 0.0016592902 -0.020699774 4.5579895 + 67510 19.983547 0.99946515 23.436638 6.0335245 4.5348265 1.498698 0.0017595887 -0.02104181 4.5541087 + 67520 19.959602 1.0026924 23.571065 6.0292121 4.5256749 1.5035372 0.0020694672 -0.022500889 4.5461063 + 67530 20.138968 1.0049474 23.598141 6.0455329 4.5386143 1.5069186 0.0019641974 -0.021725766 4.5583758 + 67540 20.49593 1.0240252 23.844995 6.0541524 4.5186265 1.5355258 0.001688963 -0.020558235 4.5374958 + 67550 20.287888 1.0151597 23.593804 6.037852 4.51562 1.522232 0.0014827363 -0.019389456 4.5335267 + 67560 20.226907 1.0105503 23.966781 6.0303161 4.514996 1.5153202 0.0014873218 -0.019532196 4.5330408 + 67570 20.176734 0.99757048 23.565784 6.0081523 4.5122954 1.4958569 0.0015694854 -0.019541115 4.530267 + 67580 20.459786 0.99040793 23.328707 6.0163744 4.5312577 1.4851167 0.001589022 -0.019321415 4.5489901 + 67590 19.729141 1.0063487 23.585829 6.036501 4.5274811 1.5090199 0.0016386484 -0.019721834 4.5455643 + 67600 20.193475 0.98453107 23.501669 6.0059792 4.5296749 1.4763043 0.0017643705 -0.020493587 4.5484041 + 67610 20.206971 0.97623653 23.91408 6.004181 4.5403143 1.4638667 0.0017767604 -0.020922356 4.5594599 + 67620 20.222954 0.99845467 23.583077 6.01018 4.5129972 1.4971828 0.0014816449 -0.019613944 4.5311295 + 67630 20.33765 1.0054118 23.66165 6.0259543 4.5183393 1.507615 0.0013830044 -0.01936888 4.5363252 + 67640 19.694873 0.985962 23.625986 6.0271014 4.5486514 1.47845 0.0013961365 -0.019935837 4.5671911 + 67650 20.119994 0.99032106 23.835672 6.0164612 4.5314748 1.4849864 0.0015127583 -0.02000798 4.54997 + 67660 20.104657 1.0040546 23.801247 6.0221516 4.5165718 1.5055799 0.0014206167 -0.019500713 4.5346519 + 67670 20.370908 0.99852454 23.719951 6.0225801 4.5252926 1.4972876 0.0014657942 -0.019650772 4.5434775 + 67680 20.054453 0.98862946 23.661874 6.01876 4.5363102 1.4824499 0.0015801686 -0.020765983 4.555496 + 67690 20.382914 1.0032478 23.75607 6.0427823 4.5384122 1.5043701 0.001814601 -0.022082678 4.5586803 + 67700 20.110807 1.0095726 23.590811 6.0229215 4.5090673 1.5138542 0.0020095302 -0.022929737 4.5299875 + 67710 20.130035 1.0132664 23.935754 6.0391196 4.5197266 1.519393 0.0019450741 -0.022907807 4.5406893 + 67720 20.220813 0.99037963 23.518207 6.0054274 4.5203531 1.4850743 0.0018607889 -0.022575375 4.5410677 + 67730 20.151794 0.99005403 23.526211 6.0354768 4.5508908 1.484586 0.0016310698 -0.02150194 4.5707617 + 67740 20.191488 1.0257648 23.7614 6.047849 4.5097147 1.5381343 0.0014229048 -0.020755934 4.5290477 + 67750 19.960059 1.0045739 23.632902 6.0585434 4.5521849 1.5063585 0.0012832162 -0.020510616 4.5714123 + 67760 20.386204 1.0302105 23.803013 6.0773633 4.5325627 1.5448006 0.0010826175 -0.019122503 4.5506026 + 67770 20.0958 1.0117714 23.438417 6.0536653 4.536514 1.5171513 0.0010731312 -0.018929826 4.5543707 + 67780 20.398649 1.0266196 23.338796 6.062273 4.522857 1.5394161 0.00073926947 -0.01726995 4.5393876 + 67790 20.150526 1.0252935 23.657322 6.0833169 4.5458893 1.5374276 0.00073642233 -0.017089286 4.5622422 + 67800 20.264139 1.0242909 23.488917 6.0804883 4.5445641 1.5359242 0.001242382 -0.019339199 4.5626609 + 67810 20.260433 1.0460474 23.671257 6.105564 4.5370159 1.5685481 0.0014953329 -0.02085277 4.5563734 + 67820 20.439915 1.0073431 23.626123 6.0615428 4.5510319 1.5105109 0.0014670093 -0.020807002 4.5703719 + 67830 20.042189 1.0062403 23.75617 6.0553741 4.5465168 1.5088573 0.0016430665 -0.021534617 4.5664084 + 67840 20.128617 1.0319084 23.806048 6.0885859 4.5412393 1.5473466 0.0016436489 -0.021057592 4.5606532 + 67850 19.958435 1.0559537 23.959558 6.1096227 4.5262202 1.5834025 0.0018524431 -0.0220133 4.5463811 + 67860 19.839479 1.0278083 23.678067 6.094193 4.5529945 1.5411985 0.0018553271 -0.022050669 4.5731898 + 67870 19.945379 1.0357012 23.789365 6.082737 4.5297031 1.5530339 0.0018969057 -0.022130881 4.5499371 + 67880 20.023665 1.0237084 23.604711 6.0779347 4.542884 1.5350507 0.0020358244 -0.022740871 4.5635891 + 67890 20.084088 1.0332253 23.801826 6.0941374 4.544816 1.5493214 0.0021338199 -0.023485338 4.5661675 + 67900 20.073466 1.0405499 23.802021 6.0978501 4.5375455 1.5603046 0.0021823436 -0.023824832 4.5591879 + 67910 20.166013 1.0131914 23.514113 6.0843142 4.5650337 1.5192805 0.0020992523 -0.023658504 4.5865929 + 67920 19.992693 1.0203784 23.506111 6.0576654 4.5276079 1.5300575 0.0020725762 -0.023792727 4.549328 + 67930 19.901399 1.0285679 23.857665 6.0632816 4.5209441 1.5423375 0.002159212 -0.023854248 4.5426391 + 67940 19.919999 1.0054599 23.764917 6.0636106 4.5559234 1.5076871 0.0021298813 -0.023732732 4.5775263 + 67950 20.185937 1.0216503 23.760986 6.0459728 4.5140082 1.5319646 0.0018283812 -0.022891 4.5350709 + 67960 20.023861 1.003693 23.745771 6.031972 4.5269344 1.5050376 0.0017897639 -0.022569373 4.547714 + 67970 20.390667 0.97770929 23.572792 5.9957595 4.5296845 1.4660751 0.0018651696 -0.022622912 4.5504422 + 67980 20.523232 0.97636508 23.531727 5.9932194 4.52916 1.4640594 0.0019784743 -0.023304358 4.5504859 + 67990 20.271194 0.99981727 23.830172 6.0033486 4.5041226 1.499226 0.0020115306 -0.023639268 4.5257504 + 68000 20.381772 1.0057026 23.913537 6.0303332 4.5222821 1.5080511 0.0019406739 -0.023214688 4.5435561 + 68010 20.376438 0.98303041 23.670312 6.0276043 4.5535502 1.4740541 0.0018796536 -0.022899912 4.5745705 + 68020 20.029818 1.0030602 23.930349 6.0285714 4.5244826 1.5040888 0.0019521708 -0.023226449 4.5457569 + 68030 19.872953 0.99554583 23.658445 6.0292625 4.5364415 1.492821 0.0018273542 -0.022637301 4.5572515 + 68040 19.996775 1.0178995 23.875202 6.0500863 4.523746 1.5263404 0.0017113837 -0.022027672 4.5440623 + 68050 19.636165 1.0057753 23.490252 6.0545354 4.5463754 1.5081601 0.0017818563 -0.02240944 4.5670029 + 68060 20.207465 1.0099203 23.616214 6.0393875 4.525012 1.5143754 0.0018447733 -0.022890666 4.5460579 + 68070 20.244115 0.99868212 23.587176 6.0343326 4.5368087 1.4975238 0.0020498806 -0.0237268 4.5584856 + 68080 20.042336 1.0225023 23.712261 6.0451 4.5118578 1.5332422 0.0022916202 -0.024449068 4.5340153 + 68090 20.050363 1.0194789 23.644478 6.0512031 4.5224945 1.5287086 0.0022567135 -0.024347245 4.544585 + 68100 20.349983 1.0092564 23.815843 6.0659828 4.5526029 1.5133799 0.0022910585 -0.024400466 4.5747123 + 68110 20.548763 1.015216 23.510552 6.060568 4.5382517 1.5223163 0.0022743175 -0.024229029 4.5602064 + 68120 20.264588 1.0061642 23.789711 6.0423209 4.5335777 1.5087432 0.0024046656 -0.024883337 4.5560564 + 68130 20.212591 1.0204573 23.635469 6.057016 4.5268402 1.5301758 0.0023462271 -0.024930168 4.5494241 + 68140 20.108227 1.0125684 23.752585 6.078935 4.5605888 1.5183463 0.0021965536 -0.024132437 4.5825247 + 68150 20.299381 1.0269994 23.863953 6.0495973 4.5096118 1.5399855 0.0021101058 -0.023308949 4.5308106 + 68160 20.459824 1.0187368 23.661518 6.0594024 4.5318066 1.5275958 0.0018053951 -0.022093381 4.5520946 + 68170 20.50406 1.0168457 23.907214 6.0745896 4.5498294 1.5247601 0.001665426 -0.021551573 4.5697156 + 68180 20.425614 1.0371915 23.837798 6.0896244 4.5343557 1.5552687 0.0018440649 -0.02252792 4.5550396 + 68190 20.4239 1.0229017 23.825579 6.0610137 4.5271726 1.5338411 0.0017933634 -0.022712862 4.5480921 + 68200 20.291614 1.0169042 23.838043 6.0399759 4.5151281 1.5248478 0.0019138068 -0.023302862 4.5365171 + 68210 20.211253 0.9984519 23.72342 6.0519166 4.554738 1.4971786 0.0017928918 -0.022534717 4.5754798 + 68220 20.044268 1.0135539 23.741484 6.0737288 4.5539048 1.519824 0.0017769979 -0.022259628 4.5743874 + 68230 20.140702 1.0171313 23.707444 6.0800489 4.5548605 1.5251884 0.0017343658 -0.021962449 4.5750886 + 68240 19.969846 1.0095404 23.82598 6.06065 4.5468442 1.5138058 0.0016987821 -0.021833113 4.5669786 + 68250 20.020422 1.00753 23.680922 6.0515363 4.5407451 1.5107912 0.0017313399 -0.021422595 4.5604364 + 68260 20.371593 0.99165255 23.505742 6.0482285 4.5612455 1.486983 0.0017234966 -0.020821768 4.5803438 + 68270 20.272803 1.0049184 23.616342 6.052263 4.5453878 1.5068752 0.0015675678 -0.020220985 4.5640413 + 68280 20.365472 1.0096278 23.667003 6.0459079 4.531971 1.5139369 0.0014634781 -0.019613748 4.5501212 + 68290 20.335086 1.0075372 23.690395 6.0435344 4.5327323 1.510802 0.0014073194 -0.019523071 4.5508481 + 68300 20.394992 1.0173681 23.58574 6.0290166 4.5034732 1.5255434 0.0012956148 -0.018892175 4.5210698 + 68310 20.228316 1.0073024 23.687308 6.0359325 4.5254825 1.51045 0.0010608385 -0.017446069 4.5418678 + 68320 19.981575 1.0153737 23.782701 6.0271663 4.5046134 1.5225528 0.0011534188 -0.018044902 4.5215049 + 68330 20.299895 1.0204022 23.811853 6.0468437 4.5167506 1.5300932 0.0014627174 -0.019454311 4.5347422 + 68340 20.242986 1.0144322 23.921705 6.0569848 4.5358437 1.5211411 0.0017506569 -0.020682555 4.5547756 + 68350 20.206482 1.0131525 23.84189 6.0553767 4.5361545 1.5192222 0.0018391946 -0.021412211 4.5557276 + 68360 20.289266 1.0084718 23.698455 6.0457718 4.5335683 1.5122035 0.0017511812 -0.021422584 4.5532397 + 68370 20.028915 1.0118319 23.826847 6.0507786 4.5335367 1.5172419 0.0016641921 -0.02125216 4.5531247 + 68380 20.469345 1.0193416 23.63276 6.0617111 4.5332083 1.5285027 0.0013844224 -0.020199982 4.5520239 + 68390 20.184322 1.0167671 23.604051 6.0365961 4.5119538 1.5246423 0.0011589343 -0.019156706 4.5299516 + 68400 20.242308 1.0172853 23.658275 6.040948 4.5155287 1.5254193 0.0012241077 -0.019388155 4.5336927 + 68410 20.397443 1.02456 23.704395 6.072392 4.5360642 1.5363277 0.0012448646 -0.019460362 4.5542797 + 68420 20.221767 1.0319881 23.657477 6.0931686 4.5457025 1.5474661 0.0011976555 -0.019035452 4.5635403 + 68430 20.033595 1.0171001 23.622432 6.0834087 4.5582671 1.5251417 0.0012169173 -0.019221925 4.5762721 + 68440 20.071244 1.0235391 23.815781 6.0870611 4.5522642 1.5347969 0.0013574472 -0.019928407 4.5708351 + 68450 20.112614 1.0273436 23.891914 6.067401 4.5268993 1.5405017 0.0013343163 -0.019506328 4.5450713 + 68460 20.269759 1.0121794 23.630462 6.0409486 4.5231856 1.517763 0.0016090802 -0.020416618 4.5419931 + 68470 20.194626 1.0085535 24.029749 6.0206389 4.5083129 1.5123259 0.001604678 -0.020592054 4.5273003 + 68480 20.304869 0.98801331 23.68329 6.0068533 4.5253274 1.481526 0.0015337322 -0.020483691 4.5442773 + 68490 20.417673 0.99078945 23.609112 6.004078 4.5183892 1.4856888 0.0014595353 -0.020833559 4.5377632 + 68500 20.37194 0.98365309 23.796184 6.0048181 4.5298303 1.4749878 0.0015461535 -0.021587891 4.549872 + 68510 20.35779 1.0067895 23.812008 6.0280879 4.518407 1.5096808 0.0015583564 -0.021410134 4.5382588 + 68520 20.444166 1.0026216 23.831071 6.0289436 4.5255126 1.5034311 0.0016825993 -0.021832704 4.5456627 + 68530 20.168565 1.0029402 23.892987 6.0306879 4.5267791 1.5039088 0.001536294 -0.021175201 4.546418 + 68540 20.369863 1.0040112 24.014828 6.0379275 4.5324127 1.5055148 0.0015984498 -0.02074207 4.5515563 + 68550 20.478491 0.98608847 23.521966 6.0207896 4.54215 1.4786397 0.001854932 -0.021358373 4.5616534 + 68560 20.400548 1.0102514 23.614943 6.035059 4.5201871 1.5148719 0.0020302 -0.022481008 4.5406379 + 68570 20.006129 0.99588051 23.765256 6.0431306 4.5498078 1.4933228 0.0020058499 -0.022643424 4.5704454 + 68580 20.263196 1.019621 23.861913 6.0595878 4.5306662 1.5289216 0.0019127136 -0.022477702 4.5512312 + 68590 19.972546 1.0340078 23.981291 6.0714048 4.5209101 1.5504947 0.0016496025 -0.021875901 4.5411364 + 68600 20.125843 1.0169101 23.63759 6.0644059 4.5395492 1.5248567 0.001618193 -0.021868362 4.5597993 + 68610 20.079833 1.0061778 23.627365 6.03977 4.5310065 1.5087636 0.0016344318 -0.021866805 4.5512388 + 68620 20.350487 0.9896582 23.571255 6.0407614 4.5567689 1.4839925 0.0017905237 -0.022538878 4.5775173 + 68630 20.305894 1.0237139 23.829152 6.0500262 4.5149672 1.5350591 0.0017800076 -0.022716142 4.5359033 + 68640 20.001059 1.0110298 23.93916 6.0555311 4.5394919 1.5160392 0.0019115805 -0.022928064 4.5605084 + 68650 20.108765 0.99186294 23.786996 6.0397007 4.5524022 1.4872985 0.0018421355 -0.022307515 4.5728676 + 68660 20.341172 1.0209649 23.565806 6.0394572 4.5085204 1.5309368 0.0018408009 -0.022091026 4.5287706 + 68670 20.291705 0.99171953 23.588673 6.040745 4.5536616 1.4870834 0.0019392993 -0.022311999 4.5740343 + 68680 20.25158 1.0066322 23.599746 6.0476676 4.5382226 1.5094449 0.0019468593 -0.02263866 4.5589144 + 68690 20.256992 0.9966253 23.862193 6.0373564 4.5429168 1.4944396 0.0020413856 -0.023174814 4.5640502 + 68700 20.29122 1.0265253 23.722707 6.0592647 4.51999 1.5392747 0.0021011937 -0.023685309 4.5415741 + 68710 20.033425 1.0083318 23.69016 6.0295354 4.5175418 1.5119936 0.002114854 -0.024026752 4.5394537 + 68720 20.182861 1.0034639 23.70858 6.0561776 4.5514835 1.5046941 0.0022230692 -0.024292677 4.5735531 + 68730 20.101431 1.0044401 23.759509 6.0503141 4.5441561 1.506158 0.0021638645 -0.023725379 4.5657176 + 68740 20.335394 1.0166997 23.66148 6.0741076 4.5495663 1.5245412 0.0020044853 -0.022779024 4.5703409 + 68750 20.499748 1.0211245 23.959997 6.0598443 4.5286681 1.5311762 0.0019286859 -0.022406172 4.5491456 + 68760 20.453201 1.031457 24.009376 6.053915 4.5072452 1.5466698 0.0019706134 -0.022914812 4.5281894 + 68770 20.111768 1.0111632 23.817491 6.0553146 4.5390753 1.5162393 0.0020803408 -0.023499072 4.560494 + 68780 19.931609 0.99484011 23.889578 6.0557315 4.5639688 1.4917628 0.0020786174 -0.023472013 4.5853621 + 68790 20.302886 1.0272374 23.836845 6.0793087 4.5389662 1.5403425 0.0019609521 -0.022849387 4.5598547 + 68800 20.459932 1.026267 23.720345 6.0731406 4.5342532 1.5388874 0.0018343157 -0.022204465 4.5546234 + 68810 20.334362 1.0186832 23.880878 6.0581029 4.5305874 1.5275155 0.0018489528 -0.021901055 4.5506395 + 68820 20.339584 0.99647797 23.692431 6.038889 4.5446703 1.4942187 0.0017130718 -0.021207235 4.5641645 + 68830 20.275197 0.99067015 23.617525 6.0193723 4.5338624 1.4855099 0.0016209494 -0.020778205 4.5530196 + 68840 20.199409 0.98829086 23.591102 5.9969204 4.5149782 1.4819421 0.0016334619 -0.020912598 4.5342574 + 68850 20.147971 0.98866794 23.711166 6.0141897 4.5316821 1.4825076 0.001689879 -0.021286246 4.5512785 + 68860 20.563455 0.99949807 23.699956 6.0403187 4.5415714 1.4987474 0.0016439803 -0.021052872 4.5609802 + 68870 20.362072 1.0034304 23.752316 6.0454242 4.5407804 1.5046438 0.0016318916 -0.020797179 4.5599456 + 68880 20.201691 1.0237424 23.783839 6.0440188 4.5089171 1.5351017 0.0014076924 -0.019439861 4.5269493 + 68890 19.804816 1.0016446 23.545899 6.042374 4.5404079 1.5019661 0.0014263638 -0.019645788 4.5586273 + 68900 19.922423 0.9981019 23.626484 6.0369312 4.5402774 1.4966538 0.0016645257 -0.020955765 4.5595687 + 68910 19.78208 1.0153231 24.000285 6.0517491 4.5292721 1.522477 0.0016171746 -0.021134378 4.5487893 + 68920 20.029366 1.0316771 23.718244 6.0538474 4.5068476 1.5469998 0.0015997265 -0.021393548 4.5266414 + 68930 20.166678 1.0082265 23.685202 6.046928 4.5350923 1.5118357 0.001639689 -0.021867852 4.5553205 + 68940 20.06143 1.0343531 23.660949 6.0589776 4.5079652 1.5510124 0.0016304413 -0.02192413 4.5282589 + 68950 20.030747 1.0178673 23.850309 6.0939132 4.5676212 1.5262919 0.0017910766 -0.022450937 4.5882811 + 68960 20.318347 1.0241985 23.918857 6.0681986 4.532413 1.5357856 0.001791394 -0.021958437 4.55258 + 68970 20.257309 1.0311104 23.756139 6.0825535 4.5364035 1.54615 0.001897311 -0.022357118 4.5568633 + 68980 20.231041 0.99375243 23.656335 6.0462482 4.5561164 1.4901318 0.0019228122 -0.022216017 4.5764096 + 68990 20.03099 0.99937307 23.51514 6.0260025 4.5274426 1.4985599 0.0019056621 -0.022056052 4.547593 + 69000 20.147923 0.98863918 23.732104 6.0265683 4.5441038 1.4824645 0.0018894887 -0.022152833 4.5643671 + 69010 20.246867 1.0022232 23.922161 6.0420578 4.5392242 1.5028336 0.0018384815 -0.021874358 4.5592601 + 69020 20.211165 1.0156805 23.603915 6.0541962 4.5311832 1.5230129 0.0016602039 -0.020646505 4.5501695 + 69030 20.30608 1.0136217 23.567575 6.0720881 4.5521624 1.5199257 0.001583013 -0.02033234 4.5709117 + 69040 20.124575 1.0167904 23.686533 6.0733693 4.5486921 1.5246772 0.0014536904 -0.020167559 4.567406 + 69050 20.313642 1.0029134 23.618015 6.0408779 4.5370092 1.5038687 0.0014472904 -0.020128083 4.55569 + 69060 19.825221 1.0274696 23.719063 6.0663664 4.5256758 1.5406906 0.0014588734 -0.020306134 4.5445231 + 69070 20.372011 1.0156068 23.895117 6.0745414 4.551639 1.5229024 0.0014809447 -0.020425443 4.5705835 + 69080 20.170462 1.0503579 23.57594 6.1211422 4.5461305 1.5750117 0.0015591182 -0.020770448 4.5653419 + 69090 20.266719 1.0406699 23.754247 6.1290843 4.5685998 1.5604845 0.0017481188 -0.021567022 4.5884187 + 69100 20.24658 1.0389553 23.79542 6.1186136 4.5607 1.5579135 0.0018265864 -0.022067119 4.5809406 + 69110 19.941982 1.0363286 23.794757 6.1078448 4.55387 1.5539748 0.0017547439 -0.021713668 4.5738289 + 69120 20.154907 1.0194591 23.903151 6.0779889 4.5493099 1.5286789 0.0019467205 -0.022575681 4.5699389 + 69130 20.249124 1.02033 23.788267 6.0785154 4.5485305 1.5299848 0.0019234588 -0.022781468 4.5693885 + 69140 20.253896 1.039332 23.714467 6.0971675 4.5386892 1.5584783 0.0019116812 -0.022980186 4.5597578 + 69150 19.839405 1.0580844 24.014993 6.1240389 4.5374414 1.5865975 0.0019241579 -0.023326723 4.5588439 + 69160 20.188729 1.0385412 23.790536 6.0950435 4.537751 1.5572925 0.0018195108 -0.022937464 4.5588689 + 69170 20.323774 1.0230725 23.780956 6.0708609 4.5367637 1.5340972 0.0018684039 -0.023334277 4.5582296 + 69180 20.165864 1.015127 23.795699 6.0416826 4.5194997 1.5221829 0.0018607124 -0.023467456 4.5411064 + 69190 19.924517 1.0102429 23.772932 6.0062853 4.4914261 1.5148592 0.0017518155 -0.022532107 4.5122064 + 69200 20.426938 0.98942615 23.734079 6.0133199 4.5296754 1.4836445 0.0017566367 -0.022261044 4.5501798 + 69210 20.189682 1.0030225 23.624916 6.0003957 4.4963635 1.5040322 0.0015689212 -0.021281821 4.5160764 + 69220 20.047015 0.99823428 23.726239 6.0069556 4.5101033 1.4968523 0.0013855026 -0.020615499 4.5293333 + 69230 20.179768 0.9866132 23.693621 6.0176149 4.5381884 1.4794265 0.0013220821 -0.020260205 4.5571266 + 69240 20.180206 1.0060957 23.595807 6.0356544 4.5270139 1.5086405 0.0012391082 -0.019623348 4.5453981 + 69250 20.224884 0.99639481 23.897249 6.0276208 4.5335268 1.494094 0.0011886854 -0.019177185 4.5515153 + 69260 20.420153 0.99083182 23.633307 6.0202994 4.5345471 1.4857523 0.0013876032 -0.019888887 4.5530483 + 69270 20.332978 0.9990159 23.588119 5.9921558 4.4941315 1.4980243 0.0015413107 -0.020694159 4.5132843 + 69280 20.211714 0.98993609 23.595921 5.9918533 4.5074441 1.4844092 0.0015123308 -0.020732087 4.5266638 + 69290 20.429201 1.0086668 23.879585 6.0097781 4.4972823 1.5124959 0.0017125777 -0.022010164 4.5175798 + 69300 20.334149 1.0189311 23.520331 6.0404471 4.5125599 1.5278872 0.0018167323 -0.02241087 4.533154 + 69310 20.122826 1.0158978 23.596902 6.0608699 4.537531 1.5233388 0.0018087474 -0.022683678 4.558406 + 69320 19.945154 1.0085742 23.750538 6.0270186 4.5146615 1.512357 0.001816604 -0.022685839 4.5355308 + 69330 20.253569 1.0182535 23.805437 6.0684823 4.5416111 1.5268712 0.0016928092 -0.022003711 4.561922 + 69340 20.447867 1.0230508 23.741611 6.0483193 4.5142547 1.5340646 0.0016503735 -0.021782694 4.534387 + 69350 20.100656 1.0243844 23.664079 6.0770831 4.5410187 1.5360645 0.0015982145 -0.021668666 4.5610891 + 69360 20.091367 1.0416064 23.737591 6.106853 4.5449642 1.5618888 0.0015844894 -0.021628787 4.5650085 + 69370 20.249045 1.0336684 23.838212 6.0874091 4.5374234 1.5499857 0.0015572539 -0.021205008 4.5570711 + 69380 20.014911 1.0437475 23.716001 6.0942269 4.5291275 1.5650994 0.0013193851 -0.020317232 4.5481253 + 69390 20.141484 1.0336254 23.759927 6.08409 4.5341687 1.5499213 0.0013624348 -0.020641007 4.5534472 + 69400 20.289577 1.0347915 23.81863 6.1061042 4.5544344 1.5516698 0.0015600821 -0.021684402 4.5745587 + 69410 20.429265 1.0203838 23.963292 6.0715922 4.5415266 1.5300655 0.0018070951 -0.022840656 4.5625602 + 69420 20.393254 1.0065307 23.680422 6.066217 4.5569242 1.5092928 0.0020616196 -0.02349677 4.5783594 + 69430 20.2107 1.0220021 23.794316 6.0681263 4.5356341 1.5324922 0.0021252446 -0.023627389 4.5571363 + 69440 20.357665 1.0140343 23.567048 6.0691107 4.5485662 1.5205444 0.0018014311 -0.022117672 4.5688825 + 69450 20.417613 1.0100425 23.703998 6.0683775 4.5538189 1.5145587 0.0014964169 -0.020691037 4.5730135 + 69460 20.262452 1.0201738 23.632164 6.069581 4.5398304 1.5297506 0.0014072486 -0.020024989 4.5584482 + 69470 20.220807 1.0202557 23.795304 6.0751038 4.5452304 1.5298734 0.0015572953 -0.020418158 4.5640912 + 69480 20.126689 1.0234499 23.741298 6.0774735 4.5428103 1.5346631 0.0015085557 -0.020007528 4.5613093 + 69490 20.575669 1.0090228 23.718617 6.0591284 4.5460987 1.5130297 0.0016902733 -0.021287088 4.5656955 + 69500 20.396285 1.0010325 23.466557 6.0455997 4.5445514 1.5010483 0.0018959717 -0.02234733 4.5650028 + 69510 19.984359 1.0064472 23.621323 6.0264301 4.5172625 1.5091676 0.0021742671 -0.02396289 4.5390511 + 69520 19.816821 1.0026549 23.498755 6.0098703 4.5063892 1.503481 0.0021460884 -0.024199747 4.5284429 + 69530 20.359196 0.96427096 23.530154 5.9777292 4.5318049 1.4459243 0.0020109135 -0.023721491 4.5535155 + 69540 20.20088 0.98798391 23.921259 5.9757244 4.4942425 1.4814819 0.0017792105 -0.022684519 4.5151478 + 69550 20.265629 0.98236749 23.67642 5.9906526 4.5175925 1.47306 0.0017907564 -0.022657291 4.5384591 + 69560 20.073042 1.0003772 23.298325 6.0215149 4.5214494 1.5000656 0.0018311525 -0.022144143 4.5417624 + 69570 20.387454 0.98731778 23.825553 5.9897433 4.5092603 1.480483 0.0015152972 -0.020516102 4.5282611 + 69580 20.361903 0.96764229 23.60444 5.9872699 4.5362902 1.4509796 0.0014145832 -0.019847782 4.5547234 + 69590 20.109128 0.97820424 23.502361 6.0012523 4.534435 1.4668173 0.0016453485 -0.021216127 4.5540058 + 69600 20.222011 0.98681842 23.643693 6.0226753 4.5429411 1.4797342 0.0018772025 -0.022296693 4.5633606 + 69610 20.387938 0.99778359 23.906825 6.0146338 4.5184573 1.4961765 0.0020704754 -0.023261381 4.5396483 + 69620 20.282345 1.0079031 23.656667 6.0082497 4.496899 1.5113507 0.002202714 -0.023711567 4.5184078 + 69630 20.320068 1.0027551 23.625005 6.0213908 4.5177595 1.5036313 0.0022041181 -0.023835358 4.5393908 + 69640 20.305505 1.0064841 23.830245 6.010884 4.5016611 1.5092229 0.0022314826 -0.024035955 4.5234655 + 69650 20.291327 1.0045753 23.685328 6.0012779 4.4949172 1.5063606 0.002179784 -0.024005352 4.5167428 + 69660 20.271046 1.0000043 23.519051 6.00663 4.5071235 1.4995065 0.0020540823 -0.023192606 4.528262 + 69670 20.322649 0.9973275 23.857446 5.9998843 4.5043917 1.4954926 0.0018777192 -0.022641422 4.5251554 + 69680 20.326141 1.0133864 24.067536 6.047643 4.5280701 1.5195729 0.0016464497 -0.021085892 4.5475095 + 69690 20.069498 1.0133197 23.711466 6.0580105 4.5385376 1.5194729 0.001543965 -0.020450791 4.5574444 + 69700 20.174978 1.0169147 23.65699 6.0541348 4.5292712 1.5248636 0.0016077612 -0.021077184 4.5487406 + 69710 20.079593 1.020546 23.805108 6.0707501 4.5404414 1.5303087 0.0018205916 -0.022072742 4.5606936 + 69720 20.133673 1.0286682 23.695961 6.0781075 4.5356196 1.542488 0.0018711096 -0.021999283 4.5557478 + 69730 20.177632 1.0192421 23.58131 6.0776197 4.5492662 1.5283535 0.0019773639 -0.022646965 4.5699358 + 69740 20.241503 1.0180853 23.941874 6.0731006 4.5464817 1.5266189 0.0018591886 -0.02199637 4.5666189 + 69750 20.189045 1.0272821 23.922256 6.0586361 4.5182266 1.5404095 0.0015939566 -0.020756182 4.5373889 + 69760 19.959775 1.0177412 24.070344 6.0603219 4.5342189 1.526103 0.0013752438 -0.01981823 4.5526619 + 69770 20.387863 1.0112972 23.88234 6.0535186 4.5370784 1.5164402 0.0010175157 -0.018023156 4.554084 + 69780 20.358441 1.0148264 23.543336 6.0628723 4.54114 1.5217323 0.0011738401 -0.0184359 4.5584021 + 69790 20.101958 0.99620496 23.879921 6.045668 4.5518586 1.4938093 0.0014361123 -0.019856597 4.5702791 + 69800 20.19317 0.98106693 23.462799 6.012376 4.5412661 1.4711099 0.0014254709 -0.019533684 4.5593743 + 69810 20.326632 0.99771814 23.750525 6.0163785 4.5203001 1.4960783 0.0013825832 -0.01958803 4.5385056 + 69820 20.282324 0.99437902 23.885498 6.0225126 4.5314413 1.4910713 0.0014577644 -0.020101533 4.5500851 + 69830 20.215564 1.0166688 23.901736 6.0442092 4.5197143 1.5244949 0.0014567666 -0.019966449 4.538224 + 69840 20.364397 1.0064982 23.945878 6.0362673 4.5270232 1.5092441 0.0015838629 -0.021014853 4.5464542 + 69850 20.388542 1.0053705 23.863907 6.0379322 4.5303791 1.5075531 0.0015616565 -0.02115618 4.5499736 + 69860 20.372015 1.0321291 23.859903 6.0839475 4.53627 1.5476775 0.0015391691 -0.021104863 4.5558357 + 69870 20.424479 1.022499 23.845342 6.0867191 4.5534818 1.5332373 0.0017514038 -0.022210529 4.5739409 + 69880 20.407722 1.0319607 23.733107 6.0801789 4.5327539 1.547425 0.0020631955 -0.023788357 4.5544791 + 69890 20.121762 1.0207356 23.745081 6.063217 4.5326239 1.530593 0.0021580119 -0.024155272 4.5546212 + 69900 20.4559 1.0067849 23.569697 6.0377591 4.528085 1.509674 0.002176611 -0.024405834 4.5503143 + 69910 20.065806 1.0040771 24.032987 6.0441726 4.538559 1.5056136 0.0023469887 -0.02494462 4.5611566 + 69920 20.337064 0.99815158 23.619281 6.0420553 4.545327 1.4967283 0.0022703763 -0.02493996 4.5679965 + 69930 20.220091 1.0066653 23.804035 6.033155 4.5236603 1.5094947 0.002255614 -0.025127037 4.5465317 + 69940 20.154336 1.0012661 23.861102 6.0382193 4.5368208 1.5013985 0.0021387269 -0.024424128 4.5591062 + 69950 19.884682 0.99190163 23.843767 6.0129339 4.5255774 1.4873565 0.0019404602 -0.0235901 4.547227 + 69960 20.256688 1.0105872 23.728289 6.029582 4.5142065 1.5153755 0.0018484473 -0.023011885 4.5353699 + 69970 20.29594 1.0072832 23.692289 6.0470448 4.5366237 1.5104211 0.0019134072 -0.022952846 4.5576631 + 69980 20.132664 1.0202639 23.874174 6.0626276 4.5327419 1.5298857 0.0018412735 -0.022246885 4.5531475 + 69990 20.509329 0.99375834 23.766664 6.0346363 4.5444957 1.4901406 0.0017777271 -0.021688422 4.5644064 + 70000 20.275567 1.0188939 23.876934 6.0366366 4.5088053 1.5278314 0.0017293336 -0.021850003 4.528926 + 70010 20.190985 1.0026843 23.833813 6.0253016 4.5217765 1.5035251 0.001704084 -0.021745026 4.5418174 + 70020 20.394816 1.0039988 23.479388 6.0243916 4.5188954 1.5054962 0.0018314807 -0.022627363 4.5396913 + 70030 19.756957 1.0085057 23.552409 6.0523185 4.5400642 1.5122543 0.0018971382 -0.023105511 4.5612726 + 70040 20.186213 1.0183631 23.952692 6.0419888 4.5149533 1.5270355 0.0017314751 -0.022078776 4.5353006 + 70050 20.238426 0.99862565 23.799342 6.0189801 4.5215409 1.4974392 0.0015892522 -0.02130146 4.5412532 + 70060 20.411881 0.98992856 23.709188 6.0149973 4.5305994 1.4843979 0.0014391868 -0.020746693 4.5499069 + 70070 20.286071 0.99356308 23.833363 6.0160392 4.5261913 1.4898478 0.0015180099 -0.020994741 4.5456681 + 70080 20.047467 1.0088667 23.759694 6.0292377 4.5164421 1.5127956 0.0014568153 -0.020518854 4.5355042 + 70090 20.14954 1.0047965 23.789947 6.0407793 4.534087 1.5066923 0.0014256736 -0.020299054 4.5529604 + 70100 19.99783 0.97841579 23.782016 5.9973414 4.5302069 1.4671345 0.0014502721 -0.020355325 4.549112 + 70110 20.335237 0.99052468 23.618163 6.0226193 4.5373275 1.4852918 0.0011885543 -0.018967864 4.5551069 + 70120 20.101912 0.99746723 23.609178 6.0327846 4.5370824 1.4957021 0.0011963152 -0.019121512 4.5550076 + 70130 20.199099 1.0078506 23.699973 6.0339548 4.5226829 1.511272 0.0014571315 -0.020552381 4.5417781 + 70140 20.270536 1.0037107 23.809497 6.0492465 4.5441824 1.5050641 0.0015794982 -0.02082888 4.5634318 + 70150 20.296666 1.0073782 23.874263 6.0332124 4.5226487 1.5105637 0.0017132666 -0.021110772 4.5420462 + 70160 20.405884 0.99382357 23.501031 6.0214627 4.5312242 1.4902384 0.0017864648 -0.021620007 4.5510578 + 70170 19.887755 0.99621293 23.869084 6.0143285 4.5205072 1.4938213 0.0017375558 -0.021694358 4.540464 + 70180 20.512668 0.99899375 23.570429 6.0212726 4.5232815 1.4979911 0.0019011971 -0.022406242 4.5437865 + 70190 20.299937 0.99293222 23.626293 6.0221647 4.5332628 1.4889019 0.0020239743 -0.023029753 4.5542686 + 70200 19.886833 0.99600847 23.715653 6.0156761 4.5221614 1.4935147 0.0020478687 -0.023389677 4.5435033 + 70210 20.009124 0.9965118 23.528123 6.0127392 4.5184698 1.4942694 0.002004776 -0.023389293 4.5398543 + 70220 20.357812 0.98585383 23.76163 6.0067531 4.5284653 1.4782878 0.0020511318 -0.024121003 4.5505352 + 70230 20.416297 0.98403146 23.575283 5.9997328 4.5241776 1.4755552 0.0019046107 -0.023360202 4.5456332 + 70240 20.009872 1.0055322 23.926501 6.020541 4.5127455 1.5077955 0.0019190527 -0.02335215 4.5341786 + 70250 20.32192 1.0072909 23.940162 6.0366932 4.5262605 1.5104327 0.0019427765 -0.023319986 4.5476377 + 70260 20.207276 0.99394862 23.841657 6.018747 4.5283211 1.490426 0.0019722466 -0.023392117 4.5497409 + 70270 20.018161 0.97419936 23.38746 6.0111207 4.5503088 1.4608119 0.0019736708 -0.023869569 4.5722047 + 70280 20.412865 0.99955439 23.745205 6.0351535 4.5363217 1.4988318 0.0018061081 -0.022764324 4.5572799 + 70290 20.01771 1.012074 23.720943 6.0456363 4.5280313 1.517605 0.0015637791 -0.021641037 4.5481086 + 70300 20.256318 0.98759018 23.526702 6.0259866 4.5450951 1.4808915 0.0014383373 -0.02125733 4.5649141 + 70310 20.250569 0.99005244 23.673318 6.0176363 4.5330527 1.4845836 0.001312985 -0.020763676 4.5525034 + 70320 20.306484 0.99172159 23.666698 5.9866512 4.4995647 1.4870865 0.0013749228 -0.020837141 4.5190269 + 70330 20.067276 0.9936012 23.683034 6.0076704 4.5177654 1.489905 0.0015655451 -0.021848431 4.5380483 + 70340 20.146242 0.99854938 23.678773 6.0344806 4.5371558 1.4973248 0.0015902468 -0.021699257 4.5572648 + 70350 20.270015 1.0065819 23.554925 6.0390815 4.5297118 1.5093696 0.0015516761 -0.020847106 4.5490073 + 70360 20.30372 0.98334749 23.450241 6.0169703 4.5424407 1.4745296 0.0014754841 -0.020085233 4.5610505 + 70370 20.144825 1.0091428 23.901994 6.0472874 4.5340778 1.5132096 0.0015622545 -0.020357138 4.5528727 + 70380 20.242485 1.0168952 23.89999 6.0656924 4.5408581 1.5248343 0.0015374768 -0.020708128 4.5600288 + 70390 20.286699 1.0383774 23.900621 6.0857963 4.5287493 1.557047 0.0017873439 -0.022121615 4.5490836 + 70400 20.081222 1.0351929 23.651659 6.0909051 4.5386333 1.5522718 0.0020730373 -0.024026702 4.560587 + 70410 20.493329 1.0322468 23.573174 6.0880287 4.5401746 1.5478541 0.0021487502 -0.024377449 4.5624033 + 70420 20.480036 1.0329 23.726582 6.0854543 4.5366207 1.5488336 0.0020998741 -0.02367027 4.5581911 + 70430 20.21072 1.026753 23.850012 6.0484924 4.5088763 1.5396161 0.0017686782 -0.022436938 4.5295445 + 70440 20.116005 1.0281958 23.535301 6.076365 4.5345854 1.5417796 0.0014197468 -0.020675089 4.5538408 + 70450 19.953511 1.0268632 23.908289 6.0626658 4.5228844 1.5397814 0.001220528 -0.019567108 4.5412309 + 70460 20.133781 1.019312 23.725119 6.0564785 4.5280201 1.5284584 0.00102338 -0.018046246 4.545043 + 70470 20.386945 0.99891308 23.535747 6.0274029 4.5295328 1.4978702 0.0010195812 -0.017789906 4.5463031 + 70480 20.230864 1.0188026 23.892954 6.0198961 4.4922016 1.5276945 0.001115146 -0.018532565 4.509619 + 70490 20.146122 1.0128974 23.464496 6.0373298 4.51849 1.5188397 0.0011738428 -0.019222476 4.5365387 + 70500 20.267345 0.99092348 23.354481 6.0069741 4.5210844 1.4858898 0.00096584853 -0.018313843 4.5384324 + 70510 20.467409 0.99059838 23.628779 5.9931575 4.5077552 1.4854023 0.00091226432 -0.018238396 4.5250813 + 70520 20.361842 0.97186999 23.459697 6.015031 4.557712 1.457319 0.00094609084 -0.018361307 4.5751272 + 70530 20.306792 0.99211709 23.337264 6.0366525 4.5489729 1.4876796 0.0010215911 -0.018464109 4.5664154 + 70540 20.493901 1.0058969 23.834186 6.0466215 4.5382791 1.5083424 0.0011199082 -0.018662492 4.5558217 + 70550 20.068147 1.0038968 23.881055 6.0205328 4.5151895 1.5053433 0.0012027364 -0.018610358 4.5325971 + 70560 20.212505 1.0059134 23.652097 6.0269025 4.5185354 1.5083671 0.0012175127 -0.018076502 4.5353944 + 70570 20.259789 0.99642077 23.732461 6.0343455 4.5402126 1.4941329 0.0012743057 -0.017789296 4.5567276 + 70580 20.410547 0.99686762 23.683175 6.0268807 4.5320777 1.494803 0.001266491 -0.018311386 4.5491226 + 70590 20.163466 0.99692312 23.59496 6.0274238 4.5325376 1.4948862 0.0013580016 -0.019334604 4.5505142 + 70600 20.298266 1.00808 23.675216 6.0410335 4.5294175 1.5116159 0.001535937 -0.020455897 4.5483375 + 70610 20.278878 1.0019 23.502812 6.0265179 4.5241689 1.5023491 0.0017440227 -0.021503203 4.543928 + 70620 20.275163 1.0101079 23.753367 6.0472361 4.5325793 1.5146568 0.0018853872 -0.021753096 4.552447 + 70630 20.36934 1.0282986 23.733454 6.0695692 4.5276354 1.5419338 0.0017950772 -0.021165628 4.5470059 + 70640 20.557008 1.0124605 23.554568 6.0490667 4.5308822 1.5181844 0.0016714592 -0.020393677 4.5496044 + 70650 20.187432 1.0113366 23.811111 6.0321769 4.5156776 1.5164993 0.0016061832 -0.01936441 4.5334358 + 70660 20.171009 1.0101624 23.654553 6.048876 4.5341374 1.5147385 0.0014976573 -0.018736023 4.5513758 + 70670 19.57283 1.0093048 23.672761 6.052264 4.5388114 1.5134526 0.0014754205 -0.019219308 4.5565553 + 70680 19.76826 1.0150547 23.791391 6.0513388 4.5292642 1.5220746 0.0016524756 -0.020505187 4.5481169 + 70690 19.695612 1.0069415 23.720823 6.0448346 4.5349258 1.5099088 0.0018525791 -0.021351255 4.5544245 + 70700 20.012243 1.0113092 23.798236 6.0493596 4.5329013 1.5164582 0.0019211612 -0.021999442 4.5529796 + 70710 20.263814 1.0188419 23.658508 6.0754955 4.5477421 1.5277534 0.0020090036 -0.022784784 4.5685178 + 70720 20.154866 1.006217 23.701106 6.0493608 4.5405384 1.5088224 0.0021252286 -0.023955707 4.5623689 + 70730 20.611095 1.0091459 23.665707 6.0582005 4.5449862 1.5132143 0.0020410686 -0.024126167 4.5670713 + 70740 20.172013 1.0012472 23.388759 6.0203114 4.5189413 1.5013702 0.0017577701 -0.023133291 4.5403168 + 70750 20.092079 1.002256 23.834487 6.0444024 4.5415196 1.5028829 0.0016602657 -0.022551663 4.5624109 + 70760 20.268283 1.0076705 23.679995 6.0542152 4.5432132 1.511002 0.0017948632 -0.022886975 4.5643053 + 70770 20.08603 1.012478 23.735782 6.0646066 4.5463958 1.5182108 0.001724184 -0.022424611 4.5670962 + 70780 20.283961 1.0176815 23.872211 6.0569751 4.5309617 1.5260135 0.0015493225 -0.021656742 4.5510691 + 70790 20.467162 1.0139158 23.917214 6.0583649 4.5379982 1.5203667 0.0013868007 -0.020849092 4.5574605 + 70800 20.145027 1.0368349 23.751794 6.0777544 4.5230204 1.554734 0.0013128452 -0.020671576 4.5423791 + 70810 20.053277 1.0333669 23.685669 6.0872665 4.5377329 1.5495336 0.0012560552 -0.02039446 4.5568713 + 70820 20.409974 1.0208655 23.845446 6.0962586 4.5654708 1.5307878 0.0012089259 -0.020295259 4.5845571 + 70830 20.510523 1.0323468 23.915032 6.0846407 4.5366367 1.548004 0.0014537864 -0.02125764 4.5564405 + 70840 20.356183 1.0238385 23.570373 6.0951433 4.5598975 1.5352458 0.0016621844 -0.022352187 4.5805875 + 70850 20.008541 1.0099547 23.914109 6.0442748 4.5298477 1.5144271 0.0018056332 -0.02298801 4.5510301 + 70860 20.011466 1.0096338 23.702889 6.0424569 4.528511 1.5139459 0.001861244 -0.023160729 4.5498105 + 70870 19.989935 1.0367439 23.835378 6.0898453 4.5352479 1.5545975 0.0015406471 -0.021693613 4.5554008 + 70880 20.136753 1.0305969 23.958733 6.0748076 4.5294276 1.54538 0.0013557834 -0.020878143 4.5489499 + 70890 20.369922 1.0281186 23.515696 6.0954892 4.5538253 1.5416639 0.0012959863 -0.021090842 4.5736202 + 70900 20.216738 1.0326736 23.678358 6.1059012 4.5574072 1.548494 0.0012494503 -0.020884813 4.5770425 + 70910 20.456499 1.025764 23.677561 6.0961011 4.557968 1.5381331 0.0012881641 -0.02072217 4.577402 + 70920 20.17668 1.0438608 23.959885 6.1273227 4.5620535 1.5652692 0.001417982 -0.021323161 4.5819587 + 70930 19.987494 1.0211358 23.971162 6.0926403 4.5614472 1.5311931 0.0014421373 -0.02146335 4.5814684 + 70940 20.339184 1.0270434 23.613802 6.0779406 4.5378891 1.5400515 0.0017266484 -0.022470267 4.5586327 + 70950 19.975094 1.0104116 23.769721 6.0533051 4.5381929 1.5151122 0.0018153581 -0.02239963 4.5587772 + 70960 20.390058 1.0121623 23.796586 6.0594824 4.5417451 1.5177373 0.0017326708 -0.021865011 4.5618774 + 70970 20.346911 1.0174867 23.514431 6.0736495 4.5479282 1.5257213 0.0017785981 -0.021378616 4.5675282 + 70980 20.300283 1.0276031 23.905185 6.0758171 4.5349262 1.5408908 0.0018637114 -0.021742719 4.5548052 + 70990 20.364197 1.0311563 23.718288 6.0925303 4.5463114 1.5462189 0.001689088 -0.020863798 4.5654861 + 71000 20.410979 1.0327138 23.931728 6.0883312 4.5397769 1.5485543 0.0014958663 -0.019822258 4.5581033 + 71010 20.1255 1.0245973 24.013349 6.0701653 4.5337816 1.5363836 0.001371155 -0.019468848 4.5518793 + 71020 20.292896 0.9882366 23.579592 6.02414 4.5422792 1.4818608 0.0013019275 -0.019331077 4.5603084 + 71030 20.27059 1.0040769 23.699969 6.0346299 4.5290166 1.5056133 0.0014739959 -0.019742263 4.5472849 + 71040 20.080508 1.0044089 23.817339 6.0741028 4.5679917 1.5061111 0.0017297081 -0.021170915 4.5874329 + 71050 19.986564 1.0100975 24.109795 6.0764402 4.561799 1.5146412 0.001701852 -0.020925436 4.5810226 + 71060 19.963288 1.0296852 23.787314 6.0958132 4.5518002 1.5440129 0.0014739944 -0.019645558 4.5699718 + 71070 19.726908 1.0258551 23.632727 6.0691356 4.5308659 1.5382697 0.0016572441 -0.020931313 4.55014 + 71080 19.805997 1.0186256 23.81057 6.0793038 4.5518747 1.5274291 0.0017397023 -0.021820964 4.5719559 + 71090 20.061659 1.0273015 23.681061 6.079654 4.5392155 1.5404385 0.0016813831 -0.021831239 4.5593654 + 71100 20.26719 1.0257659 23.651462 6.0790615 4.5409255 1.5381359 0.0015975443 -0.021380951 4.5607089 + 71110 20.331609 1.0301346 23.555531 6.0972738 4.552587 1.5446868 0.001597835 -0.021269916 4.5722591 + 71120 20.474958 0.999863 23.808497 6.0556184 4.5563238 1.4992946 0.0015323567 -0.020578081 4.5753696 + 71130 20.491534 0.99754031 23.262898 6.0301963 4.5343846 1.4958117 0.0013352004 -0.020014265 4.5530636 + 71140 20.381062 1.0209368 23.670414 6.0423197 4.511425 1.5308947 0.0012464787 -0.019800787 4.5299793 + 71150 20.145064 0.99577143 23.520151 6.0505744 4.5574151 1.4931593 0.0013087598 -0.020254846 4.5763612 + 71160 20.360625 0.99871566 23.768347 6.0318821 4.534308 1.4975741 0.0014176916 -0.021053842 4.5539441 + 71170 20.140436 1.0152144 23.565333 6.0423914 4.5200774 1.522314 0.0015269574 -0.021724751 4.5402752 + 71180 20.352263 1.003882 24.140043 6.0204457 4.5151247 1.505321 0.0015647244 -0.021723963 4.5352839 + 71190 20.229908 1.0130291 23.566026 6.046631 4.5275938 1.5190372 0.0016046587 -0.022152889 4.548142 + 71200 20.397571 0.98509939 23.779038 6.0064803 4.5293238 1.4771565 0.0017275332 -0.022645771 4.550242 + 71210 20.419594 0.97419751 23.614452 5.9901326 4.5293234 1.4608092 0.0017177585 -0.022259194 4.5498649 + 71220 20.456627 0.97433286 23.493331 5.9911239 4.5301118 1.4610121 0.0018251368 -0.022355848 4.5506425 + 71230 20.451434 1.0268728 23.612188 6.0556352 4.5158394 1.5397957 0.0019634078 -0.022474183 4.5363502 + 71240 20.299763 1.0113684 23.591595 6.0587853 4.5422384 1.5165469 0.0017452159 -0.021651533 4.5621447 + 71250 20.357792 1.0307685 23.473247 6.0837805 4.5381432 1.5456373 0.0018208051 -0.0224119 4.5587343 + 71260 20.194717 1.0352374 23.845256 6.0806894 4.528351 1.5523385 0.001794916 -0.022364399 4.5489204 + 71270 20.312652 1.0119445 23.722083 6.0792247 4.5618139 1.5174108 0.0017875573 -0.022473399 4.5824997 + 71280 20.421436 1.0274801 23.840663 6.0755096 4.5348033 1.5407063 0.0018133056 -0.022421579 4.5554115 + 71290 20.372714 1.042705 23.754857 6.093376 4.5298398 1.5635362 0.0017824796 -0.022127675 4.550185 + 71300 20.466926 1.0355528 23.913026 6.0907346 4.5379231 1.5528115 0.0017388919 -0.022251366 4.5584356 + 71310 20.315451 1.0378269 23.809352 6.093531 4.5373095 1.5562215 0.0017519938 -0.022072841 4.5576304 + 71320 20.390238 1.0486789 23.688895 6.0988862 4.5263921 1.572494 0.0015619681 -0.020865074 4.5456953 + 71330 20.215387 1.0141035 23.679757 6.0714103 4.5507621 1.5206482 0.0016132639 -0.021303758 4.5704526 + 71340 20.223368 1.0320555 23.83594 6.0801037 4.5325365 1.5475672 0.0018885389 -0.02302926 4.5536772 + 71350 20.074645 1.0155159 23.355153 6.0753046 4.5525385 1.5227661 0.0017671487 -0.022281547 4.5730529 + 71360 20.290303 1.0079971 23.783976 6.0359255 4.5244338 1.5114917 0.0017554155 -0.021819068 4.5444975 + 71370 20.024043 0.99804623 24.11531 6.0558681 4.5592978 1.4965703 0.001575992 -0.020560498 4.5782823 + 71380 20.075641 1.0145326 23.352398 6.0440167 4.5227251 1.5212916 0.001592407 -0.02057248 4.5417052 + 71390 20.284789 1.0366489 23.680303 6.0871216 4.5326666 1.554455 0.0017291401 -0.021271266 4.5522087 + 71400 20.267533 1.0105929 23.655907 6.0535509 4.5381669 1.5153841 0.0018485749 -0.022073111 4.5583914 + 71410 20.499218 1.02599 23.668914 6.054669 4.5161971 1.5384719 0.0018703994 -0.02240524 4.5367319 + 71420 20.083005 1.0224634 23.531911 6.0407705 4.5075866 1.5331839 0.0018662163 -0.022325415 4.5280458 + 71430 20.210194 1.0046998 23.841159 6.0521457 4.5455984 1.5065473 0.0017276267 -0.021883821 4.5657546 + 71440 20.373329 1.0131049 23.71974 6.073675 4.5545242 1.5191508 0.0015970688 -0.021477483 4.5744046 + 71450 20.626329 1.0398031 23.780984 6.0762726 4.5170879 1.5591847 0.0015872108 -0.02111822 4.5366189 + 71460 20.585889 1.0373542 23.879402 6.0647749 4.5092623 1.5555126 0.0018793109 -0.022350426 4.5297334 + 71470 19.988936 1.0176159 23.611805 6.0577946 4.5318796 1.525915 0.0019998339 -0.023174745 4.5530545 + 71480 19.969738 1.0161483 23.671087 6.0420128 4.5182984 1.5237144 0.0019467588 -0.023276583 4.5396282 + 71490 20.123731 1.0131116 23.800707 6.0443218 4.5251609 1.5191609 0.0017485951 -0.022547103 4.5459594 + 71500 20.260973 1.0256227 23.834926 6.0714145 4.5334933 1.5379213 0.0016985715 -0.022261001 4.5540557 + 71510 20.230772 1.0183256 23.621566 6.0304098 4.5034305 1.5269793 0.0016599728 -0.02205481 4.5238253 + 71520 20.166446 0.99861872 23.536258 6.0291219 4.5316931 1.4974288 0.0016882856 -0.022196777 4.5522016 + 71530 20.225702 0.99348511 23.889514 6.0285841 4.5388532 1.4897309 0.0016041501 -0.021858935 4.559108 + 71540 20.088792 0.97420928 23.51749 6.0177008 4.556874 1.4608268 0.0015737868 -0.021653069 4.5769533 + 71550 20.004447 1.0006032 23.749563 6.0518568 4.5514522 1.5004046 0.0016574808 -0.022150245 4.571945 + 71560 20.526078 1.0133887 23.696991 6.0366069 4.5170305 1.5195764 0.0016118816 -0.021604518 4.5370231 + 71570 20.234153 1.0147672 23.918624 6.0328714 4.511228 1.5216434 0.0016216874 -0.022074184 4.5316805 + 71580 20.162692 1.0070764 23.802095 6.0259152 4.5158041 1.5101111 0.0017281358 -0.022345552 4.5364215 + 71590 20.312452 1.0060773 23.476105 6.0280285 4.5194156 1.5086129 0.0017434447 -0.022363677 4.5400358 + 71600 20.192309 1.0260719 23.679564 6.0549789 4.5163841 1.5385948 0.0016802567 -0.022166646 4.5368705 + 71610 20.092808 1.0096486 23.822245 6.0307627 4.5167946 1.5139681 0.001681143 -0.022261346 4.5373748 + 71620 20.277168 1.0118987 23.644107 6.0431828 4.5258406 1.5173422 0.0015578272 -0.021578205 4.545861 + 71630 20.235945 1.0156774 23.936269 6.0335538 4.5105457 1.5230082 0.0015034514 -0.021443819 4.530486 + 71640 20.06079 1.0013478 23.591228 6.0261828 4.5246618 1.501521 0.0017840694 -0.022710502 4.5455883 + 71650 20.16905 0.98692091 23.612452 6.0152003 4.5353124 1.4798879 0.0019934757 -0.023559701 4.5568786 + 71660 20.348768 0.98365636 23.845892 6.018768 4.5437753 1.4749927 0.0019444529 -0.022671235 4.564502 + 71670 20.350974 1.0138427 23.674136 6.0273988 4.5071417 1.5202571 0.0020796495 -0.022663202 4.5277252 + 71680 20.317482 0.99970921 23.743926 6.0330381 4.5339741 1.499064 0.001930088 -0.022073584 4.5541176 + 71690 20.454075 0.97705363 23.31883 5.9966666 4.5315747 1.4650919 0.0018151229 -0.021628926 4.5513885 + 71700 20.361817 0.98521598 23.525835 5.9924035 4.5150721 1.4773314 0.0018152766 -0.021727579 4.5349844 + 71710 20.379587 0.98731392 23.787497 5.9994517 4.5189745 1.4804772 0.0018419328 -0.02154181 4.5386744 + 71720 20.361336 0.99840734 23.712546 6.011234 4.5141221 1.4971118 0.0017345462 -0.021596577 4.5339842 + 71730 20.385202 1.0053781 23.782624 6.0352951 4.5277306 1.5075645 0.0018429331 -0.022597794 4.5484854 + 71740 20.239107 1.0186937 23.933837 6.0360675 4.5085362 1.5275313 0.0019632968 -0.023258652 4.5298316 + 71750 20.142911 0.97846491 23.516744 6.0208506 4.5536425 1.4672081 0.0019981514 -0.023142594 4.5747869 + 71760 20.065434 1.0171771 23.876823 6.0443618 4.5191047 1.5252571 0.0019469424 -0.023114878 4.5402727 + 71770 20.213855 1.0102474 23.783123 6.0398746 4.5250087 1.5148659 0.002089514 -0.023651115 4.5465703 + 71780 20.184133 1.0084514 23.776612 6.0340305 4.5218576 1.5121729 0.0021604846 -0.02418961 4.5438867 + 71790 20.320419 0.99079253 23.448467 6.0115114 4.525818 1.4856934 0.0021890875 -0.024050805 4.5476797 + 71800 20.332009 0.98688645 23.609868 6.0148538 4.5350176 1.4798362 0.0021268794 -0.023521389 4.5564121 + 71810 19.946446 0.98856799 23.463316 6.0153523 4.5329946 1.4823577 0.002026754 -0.023147279 4.5541151 + 71820 20.049363 0.99872932 23.890322 6.0015126 4.503918 1.4975946 0.0019154106 -0.022834593 4.5248372 + 71830 20.13098 1.0010844 23.694094 6.0398238 4.5386978 1.5011261 0.0017624263 -0.022321036 4.5592564 + 71840 20.143632 1.0161212 23.595368 6.0500872 4.5264135 1.5236737 0.0017908777 -0.022198016 4.5468207 + 71850 20.118905 0.98942083 23.618235 6.0249223 4.5412857 1.4836365 0.0017626862 -0.021710594 4.5612337 + 71860 19.996311 1.008006 23.51251 6.0459273 4.5344223 1.5115051 0.0016450719 -0.020884232 4.5536614 + 71870 20.208685 1.0056908 23.76659 6.0547117 4.5466784 1.5080333 0.0016757823 -0.021207204 4.5662098 + 71880 20.409253 1.0064071 23.685656 6.049068 4.5399607 1.5091074 0.0017936573 -0.021724852 4.5598918 + 71890 20.465108 1.0072948 23.672274 6.0590587 4.5486202 1.5104386 0.0018392291 -0.021744855 4.5685258 + 71900 20.182747 1.0248919 23.663005 6.0713704 4.534545 1.5368253 0.0017942037 -0.021569256 4.5543201 + 71910 20.151095 1.0320562 24.062496 6.0909511 4.5433829 1.5475682 0.0017722759 -0.021817798 4.5634284 + 71920 19.969827 1.0147929 23.932784 6.0572002 4.5355183 1.5216819 0.0017934806 -0.021846234 4.555571 + 71930 20.261205 1.0014068 23.529788 6.0244177 4.5228082 1.5016095 0.0016729816 -0.02143317 4.5425684 + 71940 20.299061 1.0082933 23.67934 6.0118023 4.4998664 1.5119359 0.0018124977 -0.022045317 4.5200992 + 71950 20.37106 0.99776202 23.814227 6.0154415 4.5192973 1.4961442 0.0019788121 -0.022907137 4.5402256 + 71960 19.960306 0.98946858 23.645634 6.0260064 4.5422982 1.4837081 0.0019076388 -0.02267333 4.5630639 + 71970 20.09964 0.9810057 23.635134 6.0228422 4.5518242 1.471018 0.0020646915 -0.023175138 4.5729346 + 71980 20.435861 1.0136505 23.439303 6.0363057 4.5163368 1.5199689 0.0020867011 -0.023669346 4.5379194 + 71990 20.239182 1.008206 23.571795 6.012655 4.5008501 1.5118049 0.0020206553 -0.02370808 4.5225376 + 72000 20.145336 0.99181713 23.650801 6.0184166 4.5311868 1.4872298 0.0020345645 -0.02382085 4.5529731 + 72010 19.983471 0.98846061 23.474863 6.0191763 4.5369796 1.4821967 0.0019795435 -0.023278097 4.5582781 + 72020 20.233784 1.0019009 23.699363 6.026204 4.5238535 1.5023505 0.0018057925 -0.022759792 4.5448075 + 72030 20.357304 1.007962 23.752921 6.0414509 4.5300119 1.511439 0.001910159 -0.023049908 4.5511516 + 72040 20.351189 0.99985025 23.57266 6.0378895 4.538614 1.4992755 0.0021172634 -0.023827516 4.5603243 + 72050 20.375748 0.99666865 23.792291 6.0292619 4.5347572 1.4945046 0.0021472325 -0.023929973 4.55654 + 72060 20.343879 0.99104271 23.474972 6.0355788 4.5495103 1.4860685 0.0018818832 -0.023076683 4.5707051 + 72070 20.351031 0.99343869 23.759501 6.0148951 4.5252337 1.4896613 0.0017422976 -0.022839335 4.5463308 + 72080 20.474271 0.99848899 23.716837 6.0207854 4.5235512 1.4972342 0.0017961327 -0.023048669 4.5448037 + 72090 20.371706 0.99366144 23.752858 6.0400189 4.5500236 1.4899953 0.0016169151 -0.021968177 4.5703748 + 72100 20.333932 0.9738748 23.397131 6.0445433 4.584218 1.4603253 0.001631528 -0.021801986 4.6043885 + 72110 20.415372 0.98148694 23.596298 6.0056809 4.5339412 1.4717397 0.0016556815 -0.021995402 4.5542809 + 72120 20.111019 0.99129606 23.469045 6.0232299 4.5367814 1.4864484 0.0017528316 -0.022103582 4.5571322 + 72130 20.182301 1.0145512 23.812604 6.0276954 4.5063758 1.5213196 0.0019350983 -0.022660178 4.5271009 + 72140 20.428026 1.0115314 23.585192 6.0627709 4.5459796 1.5167913 0.0020712813 -0.02296077 4.5668691 + 72150 20.427158 0.99818266 23.636149 6.0400583 4.5432834 1.4967749 0.0020342258 -0.022896036 4.5641452 + 72160 20.497098 1.0226039 23.801025 6.078588 4.5451935 1.5333945 0.0018286924 -0.021842437 4.5652072 + 72170 20.235769 1.0176367 23.618728 6.0621097 4.5361635 1.5259462 0.0016442436 -0.020961568 4.5554808 + 72180 20.147246 1.0279109 23.437896 6.077103 4.5357507 1.5413523 0.0018554689 -0.021984137 4.5558793 + 72190 20.349043 1.010648 23.780073 6.0746809 4.5592143 1.5154666 0.0016909927 -0.021276278 4.5787996 + 72200 20.031904 1.0226866 23.897614 6.0879826 4.554464 1.5335186 0.0016154632 -0.021146338 4.5739949 + 72210 20.205235 1.0286163 23.694264 6.091579 4.5491688 1.5424102 0.0016133721 -0.02122878 4.5687842 + 72220 19.978695 1.0459855 23.803299 6.11949 4.5510348 1.5684552 0.0017328272 -0.022068266 4.5713702 + 72230 20.056324 1.0444406 24.042788 6.1186829 4.5525441 1.5661387 0.0018311395 -0.022474849 4.5731878 + 72240 19.99051 1.0476178 23.867787 6.1026297 4.5317268 1.5709029 0.0019185947 -0.022550698 4.5523589 + 72250 20.289096 1.0048553 23.729144 6.0419282 4.5351477 1.5067805 0.0019247894 -0.022352331 4.5555752 + 72260 20.080944 1.0077766 23.543019 6.0358071 4.5246461 1.511161 0.0018618098 -0.022338697 4.545123 + 72270 20.175917 1.0071439 23.657613 6.0367376 4.5265254 1.5102122 0.0017909037 -0.022421825 4.5471563 + 72280 20.200385 1.0154939 23.717543 6.0314768 4.5087437 1.5227331 0.0017259311 -0.022186986 4.5292047 + 72290 20.211536 0.99425255 23.782229 6.0086172 4.5177355 1.4908817 0.0016954126 -0.021895128 4.5379352 + 72300 20.13838 1.0073865 23.446967 6.0472364 4.5366604 1.510576 0.0016909767 -0.021646283 4.5566157 + 72310 19.776825 1.004854 23.766441 6.0451007 4.5383221 1.5067786 0.0015020657 -0.021094073 4.5579141 + 72320 20.149841 0.9984483 23.468508 6.0426992 4.5455259 1.4971732 0.001645082 -0.022166759 4.5660476 + 72330 19.829372 1.0045427 23.609456 6.0494425 4.5431308 1.5063117 0.0018413461 -0.022836556 4.564126 + 72340 19.747837 1.0033645 23.841976 6.0313878 4.5268428 1.504545 0.0017147794 -0.021969592 4.5470976 + 72350 20.21876 1.0113806 23.834535 6.0488202 4.5322549 1.5165653 0.0016108711 -0.021389321 4.5520334 + 72360 20.375302 0.99365797 23.944459 6.0049167 4.5149265 1.4899901 0.0015999691 -0.021483073 4.5348096 + 72370 19.868491 1.0111518 23.856061 6.0280477 4.5118256 1.5162221 0.0017255579 -0.021756102 4.5318562 + 72380 20.269708 1.0180469 23.664517 6.0491971 4.5226357 1.5265614 0.0019824694 -0.023079503 4.5437327 + 72390 20.290961 1.0339525 23.792488 6.0733776 4.5229659 1.5504117 0.0021358082 -0.023524314 4.5443544 + 72400 20.549498 1.0349778 23.826009 6.0772225 4.5252733 1.5519492 0.0020892578 -0.023608565 4.5467926 + 72410 19.954601 1.0172369 23.664546 6.0484225 4.5230757 1.5253468 0.0019833941 -0.023001582 4.5440939 + 72420 19.850358 1.0074817 23.779465 6.0358605 4.5251417 1.5107188 0.0016146222 -0.021030917 4.544558 + 72430 19.855167 0.99749064 23.821997 6.0248755 4.5291382 1.4957372 0.0014996308 -0.020435214 4.5480738 + 72440 20.481284 1.0331883 23.81987 6.0382252 4.4889594 1.5492658 0.0014349764 -0.020378283 4.5079027 + 72450 20.345547 1.0086846 23.665716 6.0635322 4.5510096 1.5125225 0.0015398952 -0.021471425 4.5709412 + 72460 20.004945 1.0183696 24.237829 6.0683174 4.5412722 1.5270453 0.0017816855 -0.022675127 4.5621656 + 72470 20.126667 1.0168236 23.75802 6.0560766 4.5313495 1.524727 0.0018527764 -0.023197545 4.5526943 + 72480 20.272862 1.0116885 23.452223 6.0558903 4.5388633 1.517027 0.0017595327 -0.022985053 4.5600888 + 72490 20.198602 0.98036204 23.556278 6.0086859 4.538633 1.4700529 0.0016398937 -0.022260369 4.5592535 + 72500 19.917873 1.0011495 23.551812 6.0329583 4.5317347 1.5012236 0.0018372077 -0.023007078 4.5529046 + 72510 20.395962 1.0158898 23.72048 6.0427246 4.5193978 1.5233268 0.0018638104 -0.022957481 4.5404915 + 72520 20.229921 1.0097658 23.714325 6.0550304 4.5408866 1.5141438 0.0019773407 -0.023333632 4.5622429 + 72530 20.221325 1.0157818 23.69444 6.0654872 4.5423224 1.5231648 0.0020589859 -0.023649347 4.5639128 + 72540 20.053518 1.0021903 23.760622 6.0445176 4.5417333 1.5027843 0.0021612612 -0.023914211 4.5634862 + 72550 20.185291 1.0056637 23.522666 6.0309379 4.5229452 1.5079927 0.0019712755 -0.022773718 4.5437476 + 72560 20.342955 1.0106109 23.624132 6.030433 4.515022 1.515411 0.001800758 -0.022062129 4.5352834 + 72570 20.338833 1.0137504 23.67133 6.0526306 4.5325118 1.5201188 0.0017308176 -0.021819658 4.5526007 + 72580 20.315113 1.0149087 23.668389 6.0545302 4.5326746 1.5218556 0.0016115231 -0.020956265 4.5520194 + 72590 20.375296 1.0218988 23.487068 6.0649109 4.5325736 1.5323373 0.0016239757 -0.020591529 4.5515412 + 72600 20.042229 1.0217476 23.778217 6.0579322 4.5258217 1.5321106 0.0017688185 -0.021016395 4.5450692 + 72610 20.063335 1.0209802 23.823308 6.0680301 4.5370702 1.5309599 0.0019037187 -0.022392933 4.5575594 + 72620 20.385894 0.99151436 23.359334 6.037415 4.5506392 1.4867758 0.0019616778 -0.022671039 4.5713486 + 72630 20.238735 0.99894397 23.477337 6.0283663 4.5304499 1.4979165 0.0018173229 -0.021141339 4.5497739 + 72640 20.068302 1.005805 23.58076 6.0271012 4.5188966 1.5082046 0.0016743732 -0.020287995 4.5375102 + 72650 20.404368 0.97177341 23.547027 6.0012134 4.5440392 1.4571742 0.001606665 -0.019930374 4.5623629 + 72660 20.088405 0.99921087 23.598982 6.016312 4.5179953 1.4983167 0.0012747932 -0.018746026 4.5354665 + 72670 19.895917 0.99114869 23.769549 5.994672 4.5084445 1.4862275 0.0012766794 -0.019034562 4.5262024 + 72680 19.760915 0.96963622 23.343877 5.98174 4.5277705 1.4539695 0.0013966997 -0.019636424 4.5460102 + 72690 20.059736 0.99297629 23.677481 6.0021078 4.5131398 1.488968 0.0012948036 -0.019644545 4.5314896 + 72700 20.420986 0.99997977 23.636329 6.0273406 4.527871 1.4994697 0.0014722092 -0.020436197 4.5468349 + 72710 20.354402 0.99359741 23.727502 6.0199352 4.5300359 1.4898993 0.0014622491 -0.020420068 4.5489937 + 72720 20.32264 0.99299149 24.056969 6.0126604 4.5236697 1.4889907 0.0014157285 -0.020211357 4.5424653 + 72730 20.111543 1.0145889 23.85557 6.0630425 4.5416664 1.5213761 0.0015079693 -0.020580475 4.560739 + 72740 20.217203 1.0100985 23.62293 6.0686061 4.5539635 1.5146427 0.0017338544 -0.021456306 4.5736859 + 72750 20.096923 1.0376231 23.846692 6.098082 4.5421661 1.5559159 0.0016698637 -0.020970835 4.561467 + 72760 20.230972 1.0387226 23.861768 6.1145977 4.5570331 1.5575646 0.0017253698 -0.020973077 4.5762808 + 72770 20.459386 1.0565193 23.783288 6.1134674 4.5292168 1.5842507 0.0017707882 -0.02110779 4.5485538 + 72780 20.386028 1.0329557 23.746393 6.1087751 4.559858 1.5489171 0.001744951 -0.021231511 4.5793445 + 72790 20.254132 1.0301516 23.56199 6.1021169 4.5574045 1.5447124 0.0017104134 -0.021211328 4.5769054 + 72800 20.028547 1.0278314 23.848174 6.0697295 4.5284963 1.5412331 0.00188569 -0.022045871 4.5486565 + 72810 19.961287 1.0117748 23.805323 6.0415946 4.5244382 1.5171564 0.0018847713 -0.02223035 4.5447838 + 72820 20.138357 0.98630124 23.454791 6.0225183 4.5435596 1.4789587 0.0016933882 -0.021886965 4.5637532 + 72830 20.350811 1.0050028 23.730918 6.054288 4.5472863 1.5070018 0.0017667972 -0.022206548 4.567726 + 72840 19.75986 1.0333893 23.817933 6.0789875 4.5294202 1.5495673 0.0020246567 -0.023023087 4.5504187 + 72850 20.210977 1.0072328 23.978754 6.063281 4.5529354 1.5103457 0.0021658798 -0.023864546 4.574634 + 72860 20.145886 1.023217 23.75444 6.0617753 4.5274614 1.5343139 0.0024009924 -0.024346236 4.5494067 + 72870 20.041879 1.0260785 23.926736 6.0909836 4.5523789 1.5386047 0.0023098071 -0.023878001 4.5739471 + 72880 20.162868 1.0260487 23.878297 6.0885558 4.5499957 1.5385601 0.0020841266 -0.023431533 4.5713431 + 72890 19.6197 1.018893 23.754933 6.0835995 4.5557696 1.52783 0.0021227435 -0.023921522 4.5775683 + 72900 20.05098 1.0091733 23.6148 6.0440713 4.530816 1.5132553 0.0022179681 -0.024425139 4.5530232 + 72910 19.677339 1.01923 23.781616 6.0658387 4.5375033 1.5283354 0.002243387 -0.024721037 4.559981 + 72920 20.034625 1.0211108 23.615013 6.0815555 4.5503998 1.5311557 0.0020889764 -0.023862463 4.5721733 + 72930 20.027247 1.0204593 23.819918 6.0592452 4.5290665 1.5301787 0.0019042123 -0.023216141 4.5503784 + 72940 19.613748 1.0253482 23.882051 6.0730433 4.5355336 1.5375097 0.0018181818 -0.022584389 4.5562998 + 72950 20.215622 1.020342 23.803762 6.0563968 4.5263939 1.5300029 0.0018517481 -0.022395937 4.5469381 + 72960 20.18175 1.0184437 23.635328 6.0494305 4.5222742 1.5271564 0.0020229365 -0.023586551 4.5438378 + 72970 20.232847 1.0363056 24.074814 6.0961376 4.5421974 1.5539402 0.0021523286 -0.024145655 4.5641907 + 72980 20.497514 1.0141346 23.668143 6.0489004 4.5282056 1.5206949 0.0020465904 -0.023448691 4.5496077 + 72990 20.129368 1.0111457 23.94071 6.0449892 4.5287762 1.516213 0.0019184745 -0.022512469 4.5493702 + 73000 20.288652 1.018808 23.699543 6.0420976 4.514395 1.5277026 0.0020816474 -0.022887508 4.5352009 + 73010 20.601932 1.0339996 23.836686 6.079199 4.5287167 1.5504824 0.0020418132 -0.022548113 4.549223 + 73020 20.530852 1.0059233 23.985192 6.0699605 4.5615786 1.5083819 0.0020016795 -0.022883434 4.5824604 + 73030 20.448133 1.0038991 23.75144 6.0535313 4.5481846 1.5053467 0.0019052108 -0.022789902 4.5690693 + 73040 20.354666 1.0121854 23.578766 6.0540409 4.5362688 1.5177721 0.0016737259 -0.022300165 4.5568953 + 73050 20.407998 1.0279324 23.87698 6.0774632 4.5360785 1.5413847 0.0017284899 -0.022309938 4.55666 + 73060 20.360983 1.0104286 23.587367 6.0503542 4.5352166 1.5151377 0.0019178961 -0.023088259 4.5563869 + 73070 20.305219 0.99950165 23.787918 6.0282275 4.5294748 1.4987527 0.0020746421 -0.023483587 4.5508837 + 73080 20.384129 1.0034795 23.675039 6.0199017 4.5151842 1.5047175 0.0020538816 -0.023553086 4.5366834 + 73090 20.421699 1.003851 23.914419 6.0258008 4.5205262 1.5052746 0.0019027638 -0.023023556 4.541647 + 73100 20.16243 0.98974536 23.441963 6.0234861 4.5393629 1.4841232 0.001927276 -0.023092793 4.5605284 + 73110 20.180629 0.99249652 23.787256 6.0191405 4.530892 1.4882485 0.001749262 -0.022550973 4.5516937 + 73120 20.398195 0.98802343 23.671519 6.0238915 4.5423503 1.4815411 0.0015854756 -0.021903067 4.5626679 + 73130 20.286712 0.9956483 23.723572 6.014364 4.5213894 1.4929746 0.0016206614 -0.021641032 4.5414098 + 73140 20.325005 1.0008914 23.713394 6.0219086 4.5210719 1.5008367 0.0017382893 -0.022131781 4.5414654 + 73150 20.186698 1.0085918 23.843571 6.0447992 4.5324158 1.5123834 0.0018287643 -0.022656229 4.5532433 + 73160 20.152768 1.0194531 23.732249 6.0470896 4.5184197 1.5286699 0.0018748398 -0.023025139 4.53957 + 73170 20.268611 1.0158381 23.837297 6.051474 4.5282248 1.5232492 0.0017909314 -0.022988422 4.5494223 + 73180 19.94118 0.97270187 23.492769 6.0193557 4.5607893 1.4585664 0.0016130423 -0.022207718 4.5813839 + 73190 19.965268 1.0321934 23.715554 6.0581245 4.5103505 1.547774 0.0016160825 -0.021761847 4.5304963 + 73200 20.494312 1.0021151 23.822558 6.0749578 4.5722863 1.5026716 0.001563444 -0.021399474 4.5921223 + 73210 20.442769 1.0148314 23.711973 6.0748805 4.5531408 1.5217397 0.0015254659 -0.020736503 4.5723519 + 73220 20.18588 1.0143566 23.793092 6.057819 4.5367913 1.5210277 0.0015498439 -0.020921709 4.5561631 + 73230 20.14904 1.017277 23.691499 6.0434081 4.5180013 1.5254068 0.0016145317 -0.021171438 4.5375582 + 73240 19.870915 1.0227272 23.736858 6.0770616 4.5434822 1.5335794 0.0016122565 -0.021789145 4.5636591 + 73250 20.266695 1.0076084 23.649061 6.0652527 4.5543439 1.5109088 0.0015053007 -0.021118238 4.5739568 + 73260 20.312866 1.0273724 23.808916 6.0650655 4.5245206 1.540545 0.0015088305 -0.020880791 4.5438925 + 73270 20.291268 1.0325728 23.776916 6.0966946 4.5483516 1.548343 0.0017457795 -0.022108746 4.5687146 + 73280 20.166443 1.0364093 23.976539 6.0940233 4.5399276 1.5540957 0.0020800881 -0.023648773 4.5614963 + 73290 20.100721 1.0304788 23.949042 6.072475 4.527272 1.545203 0.0021298491 -0.023605465 4.5487476 + 73300 20.153452 1.0318712 23.92405 6.0744404 4.5271495 1.5472909 0.0018587589 -0.022361336 4.5476521 + 73310 20.029471 1.0213459 23.599585 6.0588042 4.527296 1.5315082 0.0017511195 -0.021803444 4.5473483 + 73320 20.098036 1.0240105 23.582278 6.083414 4.5479102 1.5355038 0.0017330781 -0.02235026 4.5685274 + 73330 20.31929 1.0290218 23.859173 6.0742355 4.5312174 1.5430182 0.0018721439 -0.022996551 4.5523418 + 73340 20.121093 1.0153793 23.447376 6.057411 4.5348498 1.5225612 0.0018869518 -0.02325661 4.5562195 + 73350 20.146137 1.0140011 23.697888 6.049093 4.5285983 1.5204946 0.0019700673 -0.023505959 4.5501342 + 73360 20.001098 1.0093916 23.774907 6.0393039 4.5257212 1.5135827 0.0021806447 -0.024568642 4.5481092 + 73370 20.403162 1.0104159 23.899252 6.0439171 4.5287984 1.5151187 0.001992933 -0.023574646 4.5503801 + 73380 20.198649 1.0242534 23.987551 6.0472368 4.5113689 1.535868 0.0016310165 -0.022040935 4.5317788 + 73390 20.345089 1.0109502 23.680208 6.0364117 4.5204919 1.5159198 0.0015915978 -0.021678852 4.5405791 + 73400 20.086754 1.0202799 24.06459 6.0698421 4.5399323 1.5299098 0.0016168011 -0.022168603 4.5604841 + 73410 20.396222 1.025228 23.721364 6.0794287 4.5420993 1.5373294 0.0016272707 -0.022054328 4.5625264 + 73420 20.19281 1.0076887 24.055562 6.0355447 4.5245155 1.5110292 0.0015736463 -0.022016336 4.5449582 + 73430 20.518224 0.99949363 23.781987 6.0137829 4.5150422 1.4987407 0.0016064194 -0.022164145 4.5355999 + 73440 20.0317 0.97078836 23.509319 6.0188781 4.563181 1.4556971 0.0016563437 -0.022713894 4.5842385 + 73450 20.01684 1.0143786 23.861454 6.0380266 4.5169658 1.5210607 0.0018004883 -0.022960106 4.5381254 + 73460 20.181268 1.0015069 23.782592 6.0338299 4.5320704 1.5017595 0.0017785705 -0.022641736 4.5529335 + 73470 20.167357 1.0130683 23.846696 6.0317875 4.5126916 1.519096 0.0016616485 -0.022254964 4.5332849 + 73480 20.431202 1.0132114 23.854681 6.0504186 4.531108 1.5193105 0.0017780459 -0.022696533 4.5520265 + 73490 20.393981 1.0086915 23.608749 6.038135 4.5256021 1.5125329 0.0019476815 -0.023567654 4.547222 + 73500 20.266359 0.99777814 23.673559 6.0239705 4.5278021 1.4961683 0.0017638155 -0.02275353 4.5487919 + 73510 20.07329 1.0104786 23.437151 6.0382511 4.5230384 1.5152127 0.0017351542 -0.022777612 4.5440809 + 73520 20.492732 1.0045292 23.738242 6.0365225 4.5302309 1.5062916 0.0017292827 -0.022230021 4.5507317 + 73530 20.270215 0.99211335 23.840884 6.0521876 4.5645137 1.487674 0.0017055495 -0.022079949 4.5848881 + 73540 20.421157 0.99372619 23.793615 6.0253644 4.535272 1.4900924 0.0016142453 -0.021439609 4.5550973 + 73550 20.388791 0.99318028 23.706063 6.0292744 4.5400005 1.4892738 0.0017021724 -0.0216114 4.5599098 + 73560 20.377391 1.0184122 23.542668 6.058479 4.5313699 1.5271091 0.001778953 -0.021869008 4.5514599 + 73570 20.521712 1.0014975 23.780654 6.0361401 4.5343946 1.5017455 0.0017886572 -0.021874447 4.5544804 + 73580 20.206913 1.0064601 23.512977 6.0234823 4.5142953 1.5091869 0.0017085064 -0.021488672 4.5340755 + 73590 19.898765 1.0071753 23.768645 6.0440871 4.5338277 1.5102594 0.0014071846 -0.020255749 4.5526763 + 73600 19.713782 1.0021857 23.873676 6.0282585 4.5254811 1.5027774 0.001537131 -0.020692242 4.5446362 + 73610 20.223579 1.0117325 23.830027 6.0607192 4.5436263 1.5170929 0.0015030313 -0.020123648 4.5622469 + 73620 19.88078 1.0073488 23.622439 6.0649142 4.5543946 1.5105196 0.0015596524 -0.020797893 4.5736329 + 73630 20.002016 1.0243701 23.70335 6.0597738 4.5237308 1.536043 0.0015972552 -0.021307261 4.5434408 + 73640 20.182663 1.0112102 23.809448 6.0455163 4.5292066 1.5163097 0.0014763271 -0.020895357 4.5486256 + 73650 20.266028 1.0100647 23.933038 6.0408018 4.5262098 1.514592 0.0014700374 -0.020793357 4.5455332 + 73660 20.4086 1.006948 23.786631 6.0311612 4.5212427 1.5099185 0.0013952565 -0.020120956 4.5399684 + 73670 20.203691 1.0200392 23.688038 6.0826351 4.5530863 1.5295488 0.0014498406 -0.020062625 4.5716991 + 73680 19.976588 1.0154079 23.683243 6.0576837 4.5350796 1.5226041 0.0015829895 -0.020926714 4.5544233 + 73690 19.919572 1.0197127 23.56715 6.0271244 4.4980652 1.5290592 0.001809535 -0.021664074 4.5179198 + 73700 20.124515 0.98724864 23.785681 6.0095931 4.5292137 1.4803793 0.0019135885 -0.022310046 4.5496102 + 73710 20.180257 0.98084641 23.538541 5.9948908 4.5241116 1.4707792 0.0018279505 -0.022095131 4.5443788 + 73720 20.450957 0.9980044 23.74865 6.0200355 4.5235279 1.4965076 0.0018543326 -0.022501624 4.5441752 + 73730 20.444677 1.0031539 23.736444 6.0225699 4.5183406 1.5042293 0.0018415564 -0.022814115 4.5393132 + 73740 20.249748 0.99239338 23.766395 6.0114143 4.5233205 1.4880939 0.0016047997 -0.021899485 4.5436152 + 73750 19.99458 1.004479 23.82076 6.0041854 4.497969 1.5062163 0.0016109188 -0.022034487 4.5183926 + 73760 19.897934 0.99669252 23.41505 6.0127714 4.518231 1.4945404 0.0017064712 -0.022044708 4.5385693 + 73770 20.425447 0.98160732 23.653591 6.0110563 4.5391362 1.4719202 0.0017126639 -0.021997878 4.5594214 + 73780 20.153818 1.0053389 23.916252 6.0037773 4.4962717 1.5075056 0.001695376 -0.022177683 4.516754 + 73790 19.842824 1.0049471 23.62222 6.0237213 4.5168032 1.5069181 0.0017705076 -0.022507067 4.5375397 + 73800 20.277026 0.99520135 23.679602 6.0327385 4.5404341 1.4923044 0.0019155109 -0.022785303 4.5613039 + 73810 20.468748 1.0131584 23.827076 6.0637104 4.5444793 1.519231 0.0020706916 -0.023290473 4.5656991 + 73820 20.273601 1.0062361 23.438836 6.0430315 4.5341805 1.508851 0.0023538378 -0.024346304 4.556173 + 73830 20.215587 1.0055571 23.325671 6.0428454 4.5350125 1.5078329 0.002155789 -0.0239249 4.5567816 + 73840 20.264118 1.0202683 23.575988 6.0547069 4.5248147 1.5298923 0.001819897 -0.022639276 4.545634 + 73850 20.310634 0.99013177 23.477302 6.0089691 4.5242665 1.4847026 0.0015254299 -0.021632721 4.5443738 + 73860 20.261773 0.991944 23.620957 6.0242863 4.5368663 1.48742 0.0015633003 -0.021635649 4.5569386 + 73870 20.30554 1.0148044 23.987179 6.0465744 4.5248751 1.5216992 0.001644913 -0.021404147 4.5446344 + 73880 20.263573 1.0148707 23.71388 6.0546836 4.532885 1.5217987 0.0016330075 -0.021119181 4.5523711 + 73890 20.241819 0.9923562 23.824643 6.0410275 4.5529894 1.4880381 0.0015804507 -0.020923316 4.5723322 + 73900 20.340297 1.0161902 23.760441 6.0555179 4.5317407 1.5237772 0.0015593746 -0.021142343 4.5513237 + 73910 20.339022 1.0035902 23.711907 6.0424455 4.5375621 1.5048835 0.0017081087 -0.022224051 4.558078 + 73920 20.198288 1.0145416 23.559063 6.0326638 4.5113587 1.5213051 0.0019468875 -0.023186321 4.5325981 + 73930 20.176519 1.0179455 24.133934 6.0630708 4.5366615 1.5264093 0.0020175073 -0.023396185 4.5580402 + 73940 20.39039 1.0244082 23.542128 6.0496452 4.5135451 1.5361001 0.0017904693 -0.02237986 4.5341345 + 73950 19.983416 1.0106494 23.80813 6.0575683 4.5420996 1.5154687 0.0016191923 -0.021874729 4.5623551 + 73960 20.35242 1.0192586 23.772978 6.0586693 4.530291 1.5283783 0.0015961128 -0.021648207 4.5503431 + 73970 20.321465 1.004497 23.454837 6.0506574 4.5444142 1.5062432 0.001681821 -0.021851321 4.5645837 + 73980 20.38572 0.99400079 23.758886 6.0278089 4.5373047 1.4905042 0.0017383279 -0.0212675 4.5568338 + 73990 20.360338 1.0044342 23.781146 6.0466932 4.5405441 1.5061491 0.0016485627 -0.020646569 4.5595421 + 74000 20.334926 1.0123522 23.614331 6.0487902 4.5307681 1.5180221 0.0015909964 -0.020664572 4.5498417 + 74010 20.625604 1.0058494 23.867882 6.0573766 4.5491054 1.5082712 0.0015158112 -0.020701822 4.5682914 + 74020 20.33442 1.0093208 23.509797 6.0539235 4.540447 1.5134766 0.0016606419 -0.021344463 4.5601308 + 74030 20.050283 1.0126632 23.657429 6.0342143 4.5157258 1.5184885 0.0016913363 -0.021573153 4.5356076 + 74040 20.319048 0.99789294 23.899423 6.0320778 4.5357373 1.4963405 0.0017908581 -0.021779373 4.5557258 + 74050 20.446164 1.0092959 24.019163 6.0217971 4.5083578 1.5134393 0.0019138554 -0.0223198 4.5287638 + 74060 20.285894 0.98229106 23.480925 5.9848059 4.5118605 1.4729454 0.0019336495 -0.022387636 4.5323145 + 74070 20.255137 0.97299123 23.491619 5.9903661 4.5313658 1.4590004 0.001659942 -0.021068586 4.5507744 + 74080 20.16883 0.97066974 23.39393 5.9930486 4.5375293 1.4555193 0.0016025632 -0.020714653 4.5566414 + 74090 19.766267 1.0024229 23.578788 6.0111777 4.5080445 1.5031332 0.0016070425 -0.021242747 4.5276802 + 74100 20.029202 1.0097388 23.611902 6.0225486 4.5084452 1.5141033 0.0015523913 -0.020711429 4.5276043 + 74110 20.18867 0.98670241 23.638777 6.007631 4.5280707 1.4795603 0.0015811277 -0.021118058 4.5476076 + 74120 20.349567 0.98522279 23.53457 6.002951 4.5256094 1.4773416 0.0015531947 -0.021156602 4.5452129 + 74130 20.026477 0.98255349 23.474014 5.9885794 4.5152405 1.473339 0.0015580766 -0.020875683 4.5345581 + 74140 20.265238 0.97744638 23.731596 5.9923461 4.5266653 1.4656808 0.0016675466 -0.021584027 4.5465818 + 74150 20.368305 0.98704704 23.848994 5.9794524 4.4993753 1.480077 0.0016624353 -0.021936096 4.519649 + 74160 20.257545 0.99941486 23.710108 6.0176045 4.518982 1.4986226 0.0016276933 -0.021849534 4.5392038 + 74170 19.98293 1.0147996 23.711982 6.0418789 4.520187 1.521692 0.001393305 -0.020800836 4.5395945 + 74180 20.245557 1.0110598 23.687203 6.0449833 4.5288991 1.5160842 0.0014455619 -0.021010243 4.5484638 + 74190 20.319318 1.0208385 23.63889 6.0583875 4.5276401 1.5307474 0.0013708076 -0.020704195 4.5469735 + 74200 20.009729 1.0015593 23.759523 6.0349655 4.5331272 1.5018382 0.0013234069 -0.020118427 4.5519223 + 74210 20.24283 0.98867485 23.790499 6.0188417 4.5363238 1.4825179 0.0012587172 -0.019751803 4.5548169 + 74220 20.405091 1.0239474 23.85055 6.0487804 4.5133712 1.5354091 0.0011676279 -0.019200843 4.5314044 + 74230 20.002731 0.99895346 23.764247 6.0047605 4.5068298 1.4979307 0.0013158591 -0.019570619 4.5250846 + 74240 20.498692 1.008941 23.628223 6.0304671 4.51756 1.5129071 0.0014646759 -0.020073801 4.5361692 + 74250 20.469094 0.99328856 23.514347 6.0059514 4.5165152 1.4894362 0.0015873997 -0.020924871 4.5358527 + 74260 20.140689 0.97793668 23.969741 5.9991201 4.532704 1.466416 0.0016323249 -0.021367707 4.5524394 + 74270 20.361611 0.98616537 23.481702 6.0136095 4.5348545 1.478755 0.001617813 -0.021578524 4.5548152 + 74280 20.180476 0.99680202 23.579145 6.0063738 4.5116692 1.4947046 0.0016094513 -0.021351832 4.5314116 + 74290 20.307614 0.97117252 23.881436 5.9763022 4.5200291 1.4562732 0.0017632035 -0.022291713 4.5405576 + 74300 20.165864 0.99804325 23.837256 6.0189389 4.5223731 1.4965659 0.001743895 -0.022211907 4.5428411 + 74310 20.158132 1.0113828 23.823237 6.0351343 4.5185657 1.5165685 0.0017277765 -0.021882665 4.5387206 + 74320 20.273038 1.0091037 23.897586 6.025912 4.512761 1.513151 0.0019178738 -0.022449159 4.5332923 + 74330 20.268598 1.009418 23.721523 6.0311968 4.5175745 1.5136223 0.0019729742 -0.023069754 4.5386713 + 74340 20.316458 0.9923239 23.502144 6.0447598 4.5567701 1.4879897 0.0021066379 -0.02396526 4.5786287 + 74350 20.271014 1.0238176 23.691244 6.0577691 4.5225546 1.5352145 0.0021712193 -0.024261257 4.5446447 + 74360 20.435667 0.99532135 23.56975 6.0452154 4.552731 1.4924844 0.0021840953 -0.023829293 4.5743762 + 74370 20.302051 1.006847 23.648878 6.060679 4.550912 1.509767 0.0020907032 -0.023602374 4.5724236 + 74380 20.223773 1.0169021 23.575754 6.055787 4.5309423 1.5248448 0.0021000204 -0.023853033 4.5526953 + 74390 19.977437 1.0024731 23.735591 6.0503944 4.547186 1.5032085 0.0022191143 -0.024178107 4.5691449 + 74400 20.200928 1.0109809 23.647015 6.0235439 4.5075782 1.5159658 0.0022838352 -0.024565318 4.5298596 + 74410 19.945288 1.0208442 23.838116 6.0611952 4.5304393 1.5307559 0.0024193087 -0.025223024 4.553243 + 74420 20.220937 1.0237595 23.939435 6.067777 4.5326496 1.5351274 0.0025198403 -0.025282488 4.5554122 + 74430 20.517566 1.0304223 23.801652 6.0864086 4.5412903 1.5451182 0.0023262356 -0.024501607 4.5634657 + 74440 20.33086 1.0194945 23.530164 6.0819801 4.5532481 1.5287321 0.0022140446 -0.023794232 4.5748283 + 74450 20.374671 1.0161876 23.812392 6.0678828 4.5441095 1.5237734 0.002260173 -0.023935964 4.5657853 + 74460 20.364813 1.0358478 23.751315 6.0902234 4.5369696 1.5532537 0.0023048437 -0.024482592 4.5591474 + 74470 20.162537 1.0235861 23.473495 6.0608779 4.5260106 1.5348673 0.0023211425 -0.024809935 4.5484993 + 74480 20.150925 1.0080056 23.807484 6.0512008 4.5396965 1.5115044 0.0023012091 -0.024903155 4.5622984 + 74490 20.183688 0.99734218 23.648245 6.0369359 4.5414213 1.4955146 0.0023946791 -0.025693293 4.5647199 + 74500 20.410189 1.0064121 23.636308 6.061163 4.5520481 1.5091149 0.0024347085 -0.025862202 4.5754756 + 74510 20.266593 1.0304397 23.737593 6.076778 4.5316337 1.5451443 0.002389405 -0.025525076 4.5547694 + 74520 20.223757 1.0024314 23.662043 6.0388993 4.5357534 1.5031459 0.0022975752 -0.024891266 4.5583471 + 74530 20.26121 1.0042903 23.480744 6.0399643 4.534031 1.5059333 0.0021562177 -0.024281376 4.5561562 + 74540 20.316574 1.0024666 23.798413 6.0445265 4.5413278 1.5031987 0.0022092331 -0.024797716 4.5639162 + 74550 20.488171 1.0119927 23.936648 6.0408778 4.5233947 1.5174831 0.0021810787 -0.024861829 4.5460754 + 74560 20.151115 1.0059509 23.656728 6.0665852 4.5581619 1.5084233 0.0019637437 -0.024025968 4.5802241 + 74570 19.939436 1.0130121 23.688147 6.0670177 4.548006 1.5190116 0.0017137691 -0.022767546 4.5690598 + 74580 19.957877 1.0242212 23.907505 6.0619376 4.5261179 1.5358198 0.0015434826 -0.021791971 4.5463664 + 74590 19.984469 0.99894619 23.605601 6.0373301 4.5394103 1.4979198 0.0015997486 -0.022124934 4.5599355 + 74600 20.06696 1.0132498 23.84912 6.050069 4.530701 1.519368 0.0018150339 -0.022655661 4.5515416 + 74610 20.313916 1.0086691 23.648589 6.0580509 4.5455515 1.5124994 0.0016189261 -0.021868409 4.565801 + 74620 20.376964 1.0303422 23.54186 6.0647005 4.5197024 1.5449981 0.0016463934 -0.021681683 4.5397377 + 74630 20.278499 1.0126899 23.922049 6.0570391 4.5385106 1.5185285 0.0016243114 -0.021202474 4.5580888 + 74640 20.043652 1.0178888 23.921572 6.0634346 4.5371103 1.5263242 0.0016542699 -0.021396929 4.556853 + 74650 20.068455 0.9954465 23.352174 6.0380315 4.5453595 1.492672 0.0017159234 -0.021982695 4.5656263 + 74660 20.233328 1.0178863 23.970106 6.0317001 4.5053796 1.5263205 0.0017577089 -0.022230254 4.5258522 + 74670 20.142708 1.0039966 23.793241 6.0507901 4.5452972 1.5054929 0.001720779 -0.021820049 4.5653965 + 74680 20.279577 1.0339067 23.797813 6.0808906 4.5305475 1.5503431 0.0019513705 -0.02297432 4.5515704 + 74690 20.396523 1.0235273 23.72972 6.0677915 4.5330123 1.5347792 0.0020946765 -0.023509815 4.5544274 + 74700 20.40692 1.0130174 23.758416 6.0741699 4.5551504 1.5190195 0.0020738526 -0.023411897 4.5764884 + 74710 20.016951 1.0261622 23.989037 6.0871239 4.5483937 1.5387302 0.0019535836 -0.022701804 4.5691419 + 74720 20.189979 1.0058342 23.823696 6.067759 4.5595105 1.5082484 0.0018440029 -0.022373749 4.5800403 + 74730 20.378602 1.0146272 23.504829 6.0531208 4.5316873 1.5214335 0.0016966853 -0.021630596 4.5516212 + 74740 20.280272 0.99969316 23.65755 6.0606242 4.5615843 1.4990399 0.0015277849 -0.021211176 4.5812677 + 74750 20.368764 1.0159779 23.54816 6.0894629 4.566004 1.5234589 0.0017490428 -0.022479873 4.5867348 + 74760 20.195694 1.0109332 23.937848 6.0745394 4.5586451 1.5158943 0.0020160888 -0.023594586 4.5802236 + 74770 20.111982 1.013904 23.747354 6.062126 4.5417769 1.5203491 0.0018348571 -0.02276859 4.5627107 + 74780 20.057647 1.0121941 23.635469 6.0862473 4.5684623 1.517785 0.001639645 -0.02170259 4.5885252 + 74790 20.23651 1.0277584 23.842985 6.0822254 4.5411017 1.5411237 0.0016316628 -0.021869006 4.5613391 + 74800 20.297717 1.0205298 23.799312 6.0613832 4.5310988 1.5302844 0.0016772357 -0.022213025 4.5516346 + 74810 20.289577 1.0042479 23.757882 6.0536112 4.5477415 1.5058697 0.0016207443 -0.02173257 4.5678533 + 74820 20.270765 1.004407 23.71522 6.0489977 4.5428893 1.5061083 0.0014815513 -0.021192331 4.5626001 + 74830 20.298236 1.0220495 23.8382 6.0770911 4.5445278 1.5325633 0.0014421037 -0.020983567 4.5640693 + 74840 20.459843 1.0178885 23.852245 6.0440743 4.5177504 1.5263239 0.0014523939 -0.020889052 4.5371871 + 74850 20.0404 1.0135496 23.767446 6.0334663 4.5136486 1.5198177 0.0014861228 -0.02093578 4.5330983 + 74860 20.214117 1.0168094 23.713138 6.0428649 4.5181593 1.5247057 0.0014856944 -0.021106338 4.5377799 + 74870 20.268007 1.0160202 23.548382 6.0526211 4.5290988 1.5235223 0.0016270874 -0.021892728 4.5493644 + 74880 20.443533 1.0083734 23.646133 6.0442415 4.5321856 1.5120559 0.0016186605 -0.022460564 4.5530275 + 74890 20.301968 0.99936099 23.597285 6.0508921 4.5523503 1.4985418 0.0017277283 -0.022778073 4.5734007 + 74900 20.322189 0.99681115 23.704977 6.0263189 4.5316006 1.4947183 0.0018433218 -0.023300912 4.5530581 + 74910 20.269245 1.025287 23.664396 6.0554694 4.5180515 1.5374178 0.0018485392 -0.023617673 4.5398207 + 74920 19.913963 0.99527556 23.70954 6.0348874 4.5424717 1.4924157 0.0018081231 -0.023034439 4.563698 + 74930 20.273685 0.99328528 23.958085 6.0102892 4.5208579 1.4894313 0.0017726736 -0.022442117 4.5415274 + 74940 20.120763 1.0054401 23.749695 6.0352842 4.5276267 1.5076575 0.0017031316 -0.022127433 4.548051 + 74950 20.180539 0.99968037 23.583973 6.0319148 4.532894 1.4990207 0.0016819103 -0.021559531 4.5527717 + 74960 20.422952 1.0182284 23.655775 6.0605251 4.5336916 1.5268335 0.0017715731 -0.021967277 4.5538873 + 74970 19.939284 1.020365 23.89736 6.0667752 4.5367379 1.5300373 0.0019999585 -0.023108581 4.5578465 + 74980 20.407493 0.99735195 23.792767 6.0310545 4.5355253 1.4955292 0.001974171 -0.023437007 4.5569881 + 74990 20.191201 1.007059 23.7198 6.054566 4.5444811 1.5100849 0.0018298631 -0.022838317 4.5654895 + 75000 20.376819 0.99432713 23.658012 6.0129697 4.5219762 1.4909935 0.0017851267 -0.022681343 4.5428724 + 75010 20.004068 0.99430494 23.625175 6.0224855 4.5315253 1.4909603 0.0017026841 -0.022277007 4.5520996 + 75020 20.248903 0.99117087 23.67108 6.015064 4.5288032 1.4862607 0.0015207657 -0.02152091 4.5488034 + 75030 20.165724 1.0012705 23.681609 6.0319252 4.53052 1.5014051 0.0014626004 -0.021080113 4.5501375 + 75040 20.058609 1.0097083 23.804075 6.044071 4.5300134 1.5140576 0.001362668 -0.020773173 4.5494239 + 75050 20.111296 1.0145176 23.647309 6.0629716 4.5417024 1.5212692 0.0012924485 -0.020416999 4.560827 + 75060 20.137284 1.0220779 23.793533 6.0597883 4.5271825 1.5326058 0.001259373 -0.020256571 4.5461797 + 75070 20.276805 1.0225765 23.730073 6.0516127 4.5182592 1.5333535 0.0014359078 -0.020870066 4.5376933 + 75080 20.372915 1.0065482 23.787069 6.0502029 4.540884 1.509319 0.0015459283 -0.020973611 4.5603116 + 75090 20.381758 1.010635 23.764665 6.0518001 4.536353 1.5154471 0.0016085782 -0.021600386 4.5563448 + 75100 20.218994 1.0075737 23.658565 6.0298954 4.5190386 1.5108568 0.0017523541 -0.02221187 4.5394982 + 75110 19.975767 1.0063099 23.85687 6.0393953 4.5304336 1.5089617 0.0018737115 -0.022632664 4.5511925 + 75120 20.081395 0.99518899 23.361269 6.0090567 4.5167708 1.4922859 0.0019473211 -0.023010802 4.5378343 + 75130 20.089597 1.0012744 23.666095 6.0335766 4.5321656 1.501411 0.0020369262 -0.022788929 4.5529176 + 75140 20.016239 1.0165886 23.858979 6.06415 4.5397755 1.5243746 0.0019715192 -0.022413899 4.5602179 + 75150 20.3436 1.0208102 24.161542 6.043455 4.5127502 1.5307048 0.0019060801 -0.022712306 4.5335564 + 75160 20.231473 1.0041526 23.688359 6.0530115 4.5472847 1.5057268 0.0020451405 -0.023488313 4.5687278 + 75170 20.13434 1.0091165 23.587495 6.0423978 4.5292277 1.5131702 0.002179181 -0.02424012 4.5512886 + 75180 20.260487 1.0024425 23.710147 6.0323884 4.5292258 1.5031626 0.0019593747 -0.022856856 4.5501233 + 75190 20.062245 1.0013494 23.695316 6.024952 4.5234287 1.5015234 0.0018889538 -0.022198772 4.5437385 + 75200 19.664948 0.98975831 23.744188 6.0383793 4.5542367 1.4841426 0.001850237 -0.021846377 4.5742328 + 75210 20.08607 0.99795284 23.719365 6.0170064 4.5205761 1.4964303 0.0018820033 -0.022283444 4.5409775 + 75220 20.264623 0.9948304 23.627494 6.0374883 4.5457402 1.4917482 0.0019905183 -0.022923085 4.5666727 + 75230 20.323014 1.000977 23.592463 6.0086247 4.5076597 1.500965 0.0019760507 -0.023073304 4.528757 + 75240 20.23551 0.98254676 23.62559 6.000237 4.5269082 1.4733289 0.0019386024 -0.022979773 4.5479494 + 75250 20.145526 1.000403 24.139771 6.00895 4.5088457 1.5001043 0.0019607379 -0.022965766 4.5298507 + 75260 20.285288 0.971555 23.720477 5.9967241 4.5398774 1.4568467 0.0017351 -0.021578297 4.5597206 + 75270 20.380059 0.98656482 23.498953 5.9860273 4.5066734 1.4793539 0.0015813658 -0.021142973 4.526235 + 75280 20.114577 1.0081161 23.87358 6.021335 4.5096649 1.5116701 0.0015622881 -0.020950687 4.5290533 + 75290 20.050472 1.0096367 23.71373 6.0407938 4.5268436 1.5139502 0.0014874581 -0.020473706 4.5458299 + 75300 20.280233 0.99351923 23.382743 6.0216488 4.5318667 1.4897821 0.0015279878 -0.020683061 4.5510217 + 75310 20.255905 1.0081055 23.7155 6.0328079 4.5211537 1.5116542 0.0013319918 -0.019742941 4.5395647 + 75320 19.952792 1.0014319 23.258166 6.0431366 4.5414895 1.5016471 0.0013564344 -0.020118146 4.5602512 + 75330 20.416047 1.0096227 23.764263 6.0626128 4.5486836 1.5139292 0.0014875097 -0.020985991 4.5681821 + 75340 20.415238 1.004298 23.738547 6.0577768 4.5518319 1.5059449 0.0017460344 -0.022319868 4.5724057 + 75350 20.33873 1.0129037 23.634235 6.0581345 4.5392854 1.5188491 0.0016567832 -0.021872326 4.559501 + 75360 20.292006 1.0230169 23.566842 6.0473581 4.5133442 1.5340139 0.0016844795 -0.022123737 4.5337834 + 75370 20.325912 1.0205684 23.879392 6.0430787 4.5127365 1.5303422 0.001609846 -0.021620564 4.5327472 + 75380 20.275441 1.0109342 23.688622 6.0567487 4.5408529 1.5158958 0.0014301854 -0.020335637 4.5597584 + 75390 20.23707 1.0108764 23.587521 6.0758148 4.5600057 1.5158091 0.0014682795 -0.020207192 4.5787446 + 75400 20.371886 1.0338358 23.922169 6.0816237 4.5313869 1.5502368 0.0015055498 -0.020052502 4.5499339 + 75410 20.372215 1.0050981 23.643286 6.0339803 4.5268357 1.5071445 0.0015404588 -0.020117886 4.5454131 + 75420 20.390218 1.01984 23.702202 6.0496663 4.5204163 1.52925 0.0014785954 -0.019888467 4.5388262 + 75430 20.14072 1.0120468 23.864025 6.0496383 4.5320741 1.5175642 0.0014963709 -0.020297649 4.5508753 + 75440 20.215469 1.0098331 23.794137 6.0665594 4.5523146 1.5142448 0.0014447476 -0.020004524 4.5708743 + 75450 20.206997 1.0181856 23.526554 6.0423347 4.5155653 1.5267693 0.0014711625 -0.019990058 4.5340842 + 75460 20.313172 1.0185381 23.810286 6.0745402 4.5472423 1.5272978 0.0014888893 -0.019817698 4.5655711 + 75470 20.260436 1.0446738 23.638615 6.0852941 4.5188057 1.5664884 0.0016456225 -0.020747461 4.5379076 + 75480 20.369681 1.0360388 23.790155 6.1005989 4.5470587 1.5535402 0.0017273381 -0.021396803 4.5667281 + 75490 20.232861 1.0397144 24.022056 6.0966196 4.5375678 1.5590517 0.0016006744 -0.02046802 4.5564352 + 75500 20.46469 1.0542095 23.97086 6.1119022 4.5311151 1.5807871 0.0016273478 -0.019879862 4.5493676 + 75510 20.15635 1.0080369 23.945272 6.0774729 4.5659216 1.5115513 0.0015548281 -0.01908405 4.5834509 + 75520 20.268954 1.0184419 23.630898 6.0720724 4.5449188 1.5271536 0.0015767465 -0.019365491 4.5627075 + 75530 20.085571 1.0104516 23.683122 6.0649011 4.549729 1.5151721 0.0017272501 -0.020103975 4.5681057 + 75540 20.279364 1.0094495 23.897558 6.0473105 4.533641 1.5136696 0.0016031012 -0.020087456 4.5521253 + 75550 20.260347 0.98868421 23.378678 6.0359736 4.5534416 1.482532 0.0014518665 -0.019604132 4.5715939 + 75560 19.937908 1.0048624 23.722308 6.0502502 4.543459 1.5067912 0.0014826836 -0.0199498 4.5619261 + 75570 20.402857 0.99117302 23.352168 6.0213151 4.5350512 1.4862639 0.0015788477 -0.020823324 4.5542956 + 75580 20.060931 0.99403292 23.839619 6.0072761 4.5167238 1.4905524 0.001819902 -0.021957948 4.5368618 + 75590 20.162674 0.99575631 23.729561 6.0220975 4.5289609 1.4931366 0.0019889603 -0.022645722 4.5496177 + 75600 19.96883 0.99295314 23.612223 6.0108489 4.5219157 1.4889332 0.0021428246 -0.023382623 4.5431554 + 75610 20.260023 1.0014564 23.32276 6.0374352 4.5357514 1.5016838 0.0020802542 -0.022996587 4.5566677 + 75620 20.24483 1.0157407 23.446616 6.0544735 4.5313703 1.5231032 0.0018660078 -0.022379955 4.5518842 + 75630 20.491102 1.0088874 23.665269 6.0493663 4.5365396 1.5128267 0.0017575028 -0.022312509 4.5570946 + 75640 20.300003 1.002394 23.671466 6.0568178 4.5537281 1.5030897 0.0016836532 -0.021883212 4.5739276 + 75650 20.031647 1.0053887 23.714673 6.0478822 4.5403019 1.5075803 0.0017105831 -0.021908038 4.5604994 + 75660 20.120091 1.0050783 23.685138 6.0509276 4.5438127 1.5071149 0.0016483628 -0.021553814 4.5637181 + 75670 20.4075 1.0079114 23.633726 6.043585 4.5322219 1.5113631 0.0014121955 -0.020359415 4.5511691 + 75680 20.208986 1.0236413 23.775049 6.0604821 4.5255319 1.5349502 0.0014078481 -0.02035511 4.5444792 + 75690 20.235773 1.0072984 23.961839 6.0533952 4.5429512 1.510444 0.0014803528 -0.020712251 4.5621831 + 75700 20.52011 1.0243948 23.553679 6.0552217 4.5191417 1.53608 0.001559351 -0.020985817 4.5385682 + 75710 20.340612 1.0286639 23.932753 6.0677934 4.5253119 1.5424815 0.0015281604 -0.020885506 4.5446693 + 75720 20.142955 1.0018391 23.714541 6.0395893 4.5373316 1.5022577 0.0014315711 -0.020681544 4.5565816 + 75730 19.854463 1.0110839 23.319193 6.0569774 4.5408571 1.5161203 0.0014612493 -0.020555844 4.5599517 + 75740 20.01946 1.014115 23.878473 6.0602561 4.5395908 1.5206654 0.001390854 -0.01999337 4.5581933 + 75750 20.175167 1.0107899 23.931096 6.0422047 4.5265253 1.5156794 0.0014000102 -0.019877663 4.5450029 + 75760 19.942033 0.98983147 23.519103 6.0239048 4.5396525 1.4842523 0.0017072756 -0.021400698 4.5593459 + 75770 20.142803 1.002259 23.786614 6.0444389 4.5415515 1.5028874 0.0017856905 -0.022267202 4.562033 + 75780 19.840697 1.0047398 23.883331 6.0450997 4.5384923 1.5066074 0.0018446345 -0.023089222 4.5597369 + 75790 20.332441 0.98563804 23.705509 6.0322172 4.5542529 1.4779642 0.0016427626 -0.022018092 4.5746283 + 75800 20.437642 0.98015672 23.502784 6.0448759 4.5751309 1.469745 0.0014448213 -0.020967585 4.5946537 + 75810 20.638413 1.0040555 23.975562 6.0345975 4.5290163 1.5055812 0.0013655116 -0.020647729 4.5482985 + 75820 20.196566 1.0094645 23.63874 6.0478864 4.5341944 1.513692 0.0015198139 -0.021083527 4.5537581 + 75830 20.387161 0.99302146 23.733777 6.0278911 4.5388554 1.4890357 0.0016057341 -0.021373326 4.558623 + 75840 20.014107 0.98715182 23.489487 6.0149861 4.5347519 1.4802342 0.0017019251 -0.02196764 4.5550176 + 75850 20.012759 1.0080748 23.822402 6.0380314 4.5264232 1.5116082 0.0017929274 -0.022269786 4.5469001 + 75860 20.173142 1.0157597 23.706829 6.0459731 4.5228415 1.5231316 0.0019235362 -0.023167159 4.5440852 + 75870 20.475641 1.0203307 23.576848 6.0435759 4.5135899 1.529986 0.0019131129 -0.023147945 4.5348248 + 75880 20.31351 0.9967029 23.792735 6.0229651 4.5284091 1.494556 0.0019472213 -0.023278221 4.5497401 + 75890 20.249515 0.99823754 23.582541 6.0374583 4.5406011 1.4968572 0.0019286978 -0.0231694 4.5618418 + 75900 20.452577 0.98632887 23.538242 6.0022178 4.5232177 1.4790001 0.0020082647 -0.023527963 4.5447374 + 75910 20.294578 1.0006875 23.586512 6.0364744 4.5359436 1.5005309 0.0020059825 -0.023856357 4.5577939 + 75920 20.394101 1.0096048 23.563868 6.0258371 4.5119346 1.5139024 0.0021930666 -0.024669138 4.5344107 + 75930 20.386168 1.0129894 23.767702 6.0391946 4.5202171 1.5189775 0.0021170103 -0.024390664 4.5424908 + 75940 20.249638 1.0296536 23.584301 6.0657699 4.5218044 1.5439655 0.0019734005 -0.023463789 4.5432948 + 75950 20.49531 1.0230888 23.440443 6.0627733 4.5286516 1.5341217 0.0018931858 -0.022836134 4.5495945 + 75960 20.124307 1.0109759 23.756134 6.0506414 4.534683 1.5159584 0.0016347461 -0.021441293 4.5544895 + 75970 20.327059 1.0219941 23.581541 6.0632527 4.5307726 1.5324801 0.0013795951 -0.020052435 4.5494455 + 75980 20.37559 1.0042912 23.617178 6.0588739 4.5529393 1.5059346 0.0013807938 -0.02005689 4.5716154 + 75990 20.131266 1.0475476 23.744655 6.1042914 4.5334938 1.5707976 0.001601658 -0.020744803 4.552637 + 76000 19.941457 1.0401581 23.787809 6.0904631 4.530746 1.559717 0.0016817629 -0.02123198 4.5502962 + 76010 20.441592 1.0398678 23.826637 6.0948816 4.5355999 1.5592818 0.0017442276 -0.021664519 4.5555202 + 76020 19.992547 1.0258829 23.833528 6.0826484 4.544337 1.5383113 0.0018491729 -0.022508154 4.564996 + 76030 20.223379 1.0257931 23.560003 6.0675619 4.5293852 1.5381767 0.0019224051 -0.023034369 4.5504972 + 76040 20.234416 1.0263292 23.699366 6.0665301 4.5275494 1.5389806 0.0018589055 -0.023385237 4.5490758 + 76050 20.27658 1.0040954 23.66121 6.0620759 4.5564348 1.505641 0.0019274413 -0.02365905 4.5781665 + 76060 19.937309 1.0095131 23.701693 6.0652181 4.5514532 1.5137649 0.002046341 -0.023958481 4.5733653 + 76070 19.961164 1.0239495 23.726909 6.0651867 4.5297745 1.5354122 0.0020378292 -0.023984322 4.551721 + 76080 20.254503 1.014403 23.905274 6.0613709 4.5402737 1.5210973 0.0019697489 -0.023865251 4.5621692 + 76090 20.250834 1.0376212 23.894366 6.1001379 4.5442249 1.555913 0.0020964337 -0.024381856 4.5665103 + 76100 20.411743 1.0394348 24.061973 6.0999348 4.5413023 1.5586325 0.0022182009 -0.024975408 4.5640595 + 76110 20.406104 1.0224255 24.045063 6.0749371 4.5418101 1.533127 0.0023151948 -0.025269409 4.5647643 + 76120 20.04831 1.0220768 23.678617 6.0716269 4.5390227 1.5326042 0.0022874205 -0.025485572 4.5622209 + 76130 20.103967 1.0361574 23.812936 6.0939128 4.5401948 1.553718 0.0021834174 -0.02476899 4.5627804 + 76140 20.295008 1.0270321 23.738954 6.0744198 4.5343852 1.5400346 0.0021035299 -0.023997343 4.556279 + 76150 20.176489 1.0146755 23.753296 6.056702 4.5351961 1.5215059 0.0020949186 -0.023489896 4.5565911 + 76160 20.104395 1.0037379 23.272345 6.0431542 4.5380493 1.5051049 0.0022875631 -0.024299434 4.5600612 + 76170 20.13666 1.016954 23.706346 6.0720919 4.5471693 1.5249226 0.002223837 -0.024341986 4.5692875 + 76180 20.524005 1.0303339 23.828227 6.0749276 4.5299419 1.5449857 0.0019080144 -0.022999039 4.5510329 + 76190 20.395251 1.0016696 23.930594 6.0485452 4.5465417 1.5020035 0.0016229444 -0.021687115 4.5666059 + 76200 20.097555 1.0216765 23.761814 6.0736153 4.5416115 1.5320038 0.0016014095 -0.021679116 4.5616892 + 76210 20.129963 1.0289695 23.598793 6.0597398 4.5168 1.5429397 0.0017800315 -0.022661988 4.537682 + 76220 20.294937 1.0119668 23.536127 6.0492817 4.5318374 1.5174442 0.0018254996 -0.022875257 4.5528872 + 76230 20.379653 0.99966577 23.81316 6.0357219 4.5367231 1.4989988 0.0017224193 -0.022283223 4.5572839 + 76240 20.224187 1.0064777 23.594321 6.0446165 4.5354032 1.5092133 0.0018409128 -0.022796491 4.5563587 + 76250 20.381712 1.0266157 23.658771 6.0627665 4.5233562 1.5394103 0.0020337556 -0.023785346 4.5451078 + 76260 20.409061 1.0204005 23.894716 6.0547534 4.5246628 1.5300906 0.0020540879 -0.023928648 4.5465374 + 76270 20.359167 1.0154313 23.726309 6.0548758 4.5322366 1.5226392 0.0019419405 -0.023420646 4.5537153 + 76280 20.225192 0.99761777 23.455945 6.0113439 4.5154161 1.4959279 0.0018543197 -0.023025121 4.5365869 + 76290 20.231211 1.0012532 23.785079 6.0107322 4.5093531 1.5013791 0.0019082338 -0.023181308 4.5306262 + 76300 20.428267 0.98673274 23.96823 6.0193531 4.5397473 1.4796057 0.0018260685 -0.022429945 4.5603512 + 76310 20.130572 1.0106827 23.591789 6.0396575 4.5241389 1.5155186 0.0019125633 -0.022677508 4.5449038 + 76320 20.253262 0.98585531 23.719142 6.0268942 4.5486042 1.47829 0.0019008741 -0.022465808 4.5691691 + 76330 20.279572 1.0170522 23.489941 6.0535188 4.5284491 1.5250697 0.0018943708 -0.022422969 4.5489777 + 76340 20.28242 1.0108038 23.709546 6.0635743 4.547874 1.5157003 0.0018365229 -0.022584459 4.5686219 + 76350 20.083336 1.0026358 23.779174 6.0385391 4.5350867 1.5034524 0.0018771721 -0.022536684 4.5557463 + 76360 20.192443 1.0015851 23.793778 6.0356711 4.5337942 1.5018768 0.0017919561 -0.021854281 4.5538566 + 76370 20.327309 0.99601545 23.55909 6.0204604 4.5269352 1.4935252 0.0016688022 -0.021005624 4.5462721 + 76380 20.55052 0.99483222 23.844485 6.0022568 4.5105059 1.4917509 0.0018480671 -0.022085361 4.5307432 + 76390 19.993887 0.99721154 24.247425 6.015476 4.5201573 1.4953187 0.0019407213 -0.022625746 4.5408423 + 76400 20.315689 0.98507314 23.863028 6.0185429 4.5414257 1.4771172 0.0018150082 -0.022070502 4.5616812 + 76410 20.383296 0.99118077 23.564443 6.013946 4.5276704 1.4862756 0.0016316221 -0.021350646 4.5473895 + 76420 20.313807 1.0114914 23.686168 6.0204857 4.5037544 1.5167313 0.0015788085 -0.021167812 4.5233434 + 76430 20.082123 1.006728 23.696024 6.0500173 4.5404286 1.5095886 0.0015701712 -0.021234336 4.5600928 + 76440 20.160925 1.0047143 23.724601 6.0423504 4.5357813 1.5065691 0.0016383146 -0.021715865 4.5558588 + 76450 20.448632 1.0123746 23.793092 6.0572506 4.5391949 1.5180558 0.0017794243 -0.022238077 4.5596535 + 76460 20.131331 1.0298862 23.923471 6.07624 4.5319257 1.5443143 0.0017986687 -0.022150245 4.5522773 + 76470 20.142008 1.0226271 23.720695 6.0645576 4.5311281 1.5334294 0.0018453407 -0.022287614 4.5515704 + 76480 20.445029 1.0355023 23.809831 6.0745241 4.5217884 1.5527357 0.0018146123 -0.022159111 4.5421329 + 76490 20.34869 1.0157459 23.623432 6.0734164 4.5503055 1.5231109 0.0018730911 -0.02248538 4.5709178 + 76500 20.535287 1.0270724 23.859799 6.0973978 4.5573027 1.540095 0.0020894925 -0.023265693 4.5784789 + 76510 20.502184 1.0110902 23.74496 6.0593303 4.5432005 1.5161298 0.0021042607 -0.022837024 4.5639333 + 76520 20.387849 1.0201439 23.789847 6.0688359 4.5391302 1.5297058 0.0019482269 -0.022188257 4.5593702 + 76530 20.430098 1.016272 24.068734 6.0512058 4.5273059 1.5238998 0.0019274502 -0.022330001 4.5477085 + 76540 20.264071 1.018466 23.60017 6.0624631 4.5352734 1.5271897 0.0018121628 -0.021526625 4.5549878 + 76550 20.399806 1.0189916 23.795513 6.0785468 4.5505688 1.527978 0.0017117452 -0.020913368 4.5697704 + 76560 20.279254 1.0393863 23.82662 6.086823 4.5282633 1.5585597 0.0014533255 -0.020044262 4.5468542 + 76570 20.312423 1.0203038 23.898389 6.0975619 4.5676164 1.5299455 0.0015751378 -0.020416517 4.5864578 + 76580 20.390702 1.0434519 23.777574 6.1179656 4.5533095 1.5646561 0.0015805713 -0.020801936 4.5725309 + 76590 20.364483 1.0415318 23.816588 6.1307764 4.5689995 1.5617769 0.0017449453 -0.021894167 4.5891488 + 76600 20.458049 1.0670824 23.91065 6.1573217 4.5572317 1.60009 0.001927317 -0.022889752 4.5781941 + 76610 20.199927 1.0444118 23.940168 6.1241406 4.5580452 1.5660954 0.0022125408 -0.02419587 4.5800285 + 76620 20.471406 1.0417751 23.877671 6.1196245 4.5574828 1.5621417 0.0023185559 -0.024758966 4.5799232 + 76630 20.141207 1.0249184 24.072531 6.1178481 4.580983 1.5368651 0.0020590755 -0.023688245 4.6026121 + 76640 20.004292 1.0409609 23.856332 6.1110908 4.55017 1.5609208 0.0019086568 -0.022770077 4.5710314 + 76650 20.224292 1.031352 23.674111 6.0925198 4.5460075 1.5465123 0.0018526911 -0.022660074 4.5668149 + 76660 20.227523 0.99482237 23.900728 6.0649889 4.5732527 1.4917361 0.0019311433 -0.023224407 4.594546 + 76670 20.266577 1.0429638 23.638873 6.0886736 4.5247493 1.5639242 0.002030823 -0.023851562 4.5465701 + 76680 20.278435 1.0242781 23.546998 6.0862139 4.550309 1.535905 0.002123781 -0.024025598 4.5722108 + 76690 20.261674 1.0389761 23.794537 6.0949087 4.5369639 1.5579447 0.002230332 -0.024519572 4.5592532 + 76700 20.00567 1.0198757 23.698367 6.0802123 4.5509087 1.5293036 0.0020093348 -0.023613627 4.572513 + 76710 20.324037 1.0293062 23.764896 6.0813754 4.5379308 1.5434446 0.0016676638 -0.022167238 4.5584303 + 76720 20.211941 1.0312173 23.91661 6.0919773 4.5456669 1.5463104 0.0014330467 -0.021029674 4.5652635 + 76730 20.271208 1.0320477 23.842779 6.0843072 4.5367517 1.5475555 0.0016183887 -0.021965766 4.5570991 + 76740 20.159889 1.0219644 24.007669 6.0599573 4.5275217 1.5324357 0.0015939573 -0.02163462 4.5475623 + 76750 20.222576 1.0264765 23.847907 6.0653573 4.5261557 1.5392016 0.0014974898 -0.02063506 4.5452933 + 76760 19.976159 1.0294313 23.66121 6.0800378 4.5364055 1.5436323 0.0014582576 -0.020736672 4.5556839 + 76770 20.314795 1.0206045 23.86783 6.0624648 4.5320683 1.5303965 0.0015411737 -0.020708308 4.5512354 + 76780 20.370093 1.0274672 24.192039 6.0744734 4.5337864 1.540687 0.0015812648 -0.020676085 4.5528812 + 76790 20.446358 1.0149518 23.758247 6.0585429 4.5366228 1.5219202 0.001719653 -0.021144286 4.5560474 + 76800 20.306211 1.0183567 23.726631 6.0756494 4.5486234 1.5270259 0.0017585717 -0.021486722 4.5683516 + 76810 19.848935 1.0242824 23.632053 6.0838875 4.547976 1.5359115 0.001818422 -0.022354046 4.5685117 + 76820 20.286016 1.0157953 23.450257 6.0458015 4.5226165 1.523185 0.0017883103 -0.022175711 4.5430039 + 76830 20.324382 1.021611 23.663653 6.0340703 4.5021646 1.5319056 0.0016768806 -0.021830274 4.522318 + 76840 20.239459 1.0253994 23.793077 6.047761 4.5101745 1.5375864 0.0015071573 -0.020848282 4.5295157 + 76850 20.234493 1.0275699 23.63656 6.0567468 4.5159056 1.5408411 0.0013456741 -0.0198859 4.5344459 + 76860 20.324591 1.0134135 23.642452 6.0459981 4.5263845 1.5196136 0.0014223696 -0.020455335 4.5454174 + 76870 20.155231 1.0109897 23.687227 6.0592593 4.5432802 1.5159791 0.0016303178 -0.021163653 4.5628135 + 76880 20.040413 1.0242601 23.784976 6.05972 4.5238421 1.535878 0.0018709842 -0.022443261 4.5444144 + 76890 20.146772 1.0098956 23.755115 6.0621476 4.5478091 1.5143385 0.002033753 -0.023390002 4.5691654 + 76900 20.132625 1.0202296 23.596791 6.0666623 4.536828 1.5298343 0.0018973782 -0.022869115 4.5577998 + 76910 19.998529 1.0306434 23.757759 6.0765996 4.5311498 1.5454498 0.0017998188 -0.022201694 4.5515517 + 76920 19.873319 1.0099341 23.698058 6.0426446 4.5282485 1.5143962 0.0017356424 -0.021918461 4.5484313 + 76930 20.407768 1.0287315 23.686178 6.0553113 4.5127284 1.5425829 0.00157395 -0.021308384 4.5324628 + 76940 20.307731 1.0051209 23.039333 6.0404072 4.5332284 1.5071788 0.0014619585 -0.020697896 4.5524644 + 76950 20.093459 1.0086431 23.83849 6.049116 4.5366556 1.5124604 0.0015408325 -0.020926419 4.5560412 + 76960 20.288475 1.0182945 23.625286 6.0817208 4.5547881 1.5269326 0.0016224093 -0.02143246 4.5745982 + 76970 20.230964 1.0161377 23.663365 6.0713809 4.5476825 1.5236984 0.0016257053 -0.021237729 4.5672945 + 76980 20.378146 1.0336764 23.772322 6.081904 4.5319062 1.5499978 0.0016809219 -0.021813699 4.552039 + 76990 20.20606 1.0219859 23.643249 6.0776226 4.5451548 1.5324678 0.0017315185 -0.022303318 4.5657266 + 77000 20.118543 1.018308 23.592126 6.0464049 4.519452 1.5269529 0.001821052 -0.022845292 4.5404762 + 77010 20.483777 1.0295934 23.727475 6.0677157 4.5238404 1.5438753 0.0018963477 -0.023440194 4.5453843 + 77020 20.341443 1.0137223 23.736417 6.0592371 4.5391605 1.5200767 0.0018270489 -0.022893775 4.5602272 + 77030 20.213008 0.99884148 23.697002 6.0468736 4.5491108 1.4977628 0.0017734893 -0.022591633 4.5699289 + 77040 20.225803 0.99605987 23.9069 6.025201 4.5316092 1.4935918 0.0015984569 -0.022205777 4.5522165 + 77050 20.3927 0.99053322 23.787212 6.0158103 4.5305058 1.4853046 0.0014678855 -0.021694707 4.5507326 + 77060 20.167509 0.99313556 23.52628 6.0294461 4.5402393 1.4892068 0.0014125076 -0.021212963 4.5600398 + 77070 20.402054 1.0055613 24.001875 6.0292151 4.5213759 1.5078391 0.0015112948 -0.021458954 4.5413236 + 77080 20.407601 1.000154 23.720958 6.030297 4.5305661 1.499731 0.001550179 -0.021345354 4.5503613 + 77090 20.265331 1.0308947 24.088676 6.0639272 4.5181007 1.5458265 0.0017111309 -0.022296449 4.538686 + 77100 20.317342 1.0166886 23.81175 6.0604948 4.5359703 1.5245246 0.0018857067 -0.022848297 4.5569329 + 77110 20.44771 1.0152526 23.833319 6.0531846 4.5308133 1.5223712 0.0017314944 -0.021728341 4.5508102 + 77120 20.365783 1.0286611 23.850823 6.0623395 4.5198621 1.5424774 0.0015511463 -0.020952451 4.5392634 + 77130 20.25622 1.0106397 23.966376 6.0512993 4.535845 1.5154543 0.0013445193 -0.020081855 4.5545824 + 77140 19.876215 1.0068656 23.391431 6.0256293 4.5158343 1.509795 0.0012362597 -0.019046679 4.5336447 + 77150 19.418936 0.99321073 23.79301 6.0104757 4.5211562 1.4893195 0.001488691 -0.019845365 4.5395129 + 77160 20.210745 1.0064696 23.627858 6.0258643 4.5166631 1.5092012 0.0015074552 -0.019884874 4.5350405 + 77170 20.409723 0.98900173 23.899253 6.0209884 4.5379803 1.4830081 0.0017498873 -0.02131098 4.5575414 + 77180 20.276649 1.0118289 23.68664 6.0223593 4.5051219 1.5172374 0.0017102207 -0.021767597 4.5251793 + 77190 20.314408 1.0114198 23.643662 6.0401156 4.5234916 1.516624 0.0019969783 -0.0231674 4.544662 + 77200 20.268298 1.0079793 23.648223 6.0560759 4.5446109 1.511465 0.0020737473 -0.02370779 4.5662449 + 77210 19.85883 1.0264701 23.806159 6.0601579 4.5209661 1.5391918 0.002213133 -0.024296447 4.5430494 + 77220 20.214896 1.015193 23.743386 6.0542095 4.5319275 1.5222819 0.0021404732 -0.023713947 4.553501 + 77230 20.200485 1.0321059 23.812685 6.0701118 4.522469 1.5476428 0.0020741145 -0.02301432 4.5434092 + 77240 20.246106 1.0148503 23.600322 6.0453871 4.523619 1.5217681 0.001863428 -0.022366059 4.5441216 + 77250 20.246498 1.0179381 23.616153 6.047923 4.5215247 1.5263982 0.001830634 -0.02239871 4.5420928 + 77260 19.849443 1.0197488 23.704941 6.0700617 4.5409484 1.5291133 0.0018220332 -0.022103286 4.5612297 + 77270 20.439938 1.014795 23.803519 6.0566908 4.5350056 1.5216852 0.0016298503 -0.02131404 4.5546898 + 77280 20.282061 0.99850562 23.820267 6.0380265 4.5407674 1.4972592 0.0016081964 -0.021264345 4.5604235 + 77290 20.377196 1.0120568 23.803021 6.0640867 4.5465076 1.5175791 0.001644406 -0.021587806 4.566451 + 77300 20.240989 1.0275652 23.703669 6.0848616 4.5440275 1.5408341 0.0015895162 -0.021797035 4.564235 + 77310 19.78318 1.0221315 23.36768 6.071477 4.5387909 1.5326861 0.0015462712 -0.021547066 4.5587917 + 77320 20.263074 1.0232489 23.879367 6.0861115 4.5517497 1.5343617 0.001613039 -0.02174893 4.5718856 + 77330 20.067993 1.0193702 23.598528 6.0633866 4.534841 1.5285455 0.0016305701 -0.02161901 4.5548295 + 77340 20.29372 0.99684144 23.730745 5.993548 4.4987842 1.4947637 0.0017447247 -0.022353031 4.5193925 + 77350 20.188494 0.97841266 23.304575 6.0089919 4.5418621 1.4671298 0.0019273234 -0.023082965 4.5630177 + 77360 20.058075 0.97853447 23.426331 6.0063737 4.5390613 1.4673124 0.0017543303 -0.022306384 4.5596134 + 77370 20.29181 0.99522492 23.585403 6.0172384 4.5248986 1.4923398 0.0017467438 -0.022208066 4.5453599 + 77380 20.154146 0.98803073 23.537582 6.0035171 4.521965 1.4815521 0.001791733 -0.021879014 4.5420523 + 77390 20.1882 0.99786213 23.435647 6.0164509 4.5201566 1.4962943 0.0018225814 -0.02172154 4.5400556 + 77400 20.071138 0.99293176 23.506833 6.0216971 4.5327959 1.4889012 0.0020131769 -0.022231058 4.5530138 + 77410 20.347753 0.99803978 23.615878 6.0186758 4.5221151 1.4965607 0.0020889077 -0.023005155 4.5430314 + 77420 20.361618 0.99459938 23.703126 6.0157168 4.5243151 1.4914018 0.0019718116 -0.022810136 4.5451534 + 77430 20.026782 0.99478851 23.885335 6.0015206 4.5098352 1.4916854 0.0018169932 -0.022329506 4.5303477 + 77440 20.203739 0.99517559 23.585022 6.0103938 4.518128 1.4922658 0.0017631269 -0.022762983 4.5391279 + 77450 20.484102 0.99162334 23.776173 6.0201249 4.5331857 1.4869392 0.0016348148 -0.022036784 4.5535877 + 77460 19.943175 1.0177215 23.813757 6.0358825 4.5098092 1.5260734 0.0016457376 -0.021806057 4.5299695 + 77470 20.305467 1.010176 23.781197 6.0490096 4.5342507 1.5147589 0.0016194513 -0.021607569 4.5542388 + 77480 20.313339 1.0000291 23.601747 6.0269015 4.5273579 1.4995436 0.0016944941 -0.022064792 4.5477282 + 77490 20.390809 0.9977175 23.718736 6.0193036 4.5232262 1.4960774 0.0017470164 -0.022465098 4.5439443 + 77500 20.469523 1.0152594 24.042007 6.0311541 4.5087726 1.5223814 0.0018553969 -0.02315576 4.530073 + 77510 20.271806 1.0352921 23.880019 6.0690386 4.5166181 1.5524205 0.0016939702 -0.02211233 4.5370365 + 77520 20.089288 1.0045622 23.575921 6.0815825 4.5752414 1.5063411 0.0015913692 -0.021316678 4.5949667 + 77530 20.165081 1.0296016 23.885632 6.0717399 4.5278522 1.5438876 0.0016658627 -0.021862379 4.5480488 + 77540 20.155137 1.0170864 23.805733 6.0360129 4.5108918 1.525121 0.0017016418 -0.02166911 4.5308593 + 77550 20.197908 1.0100815 23.487115 6.0162326 4.5016154 1.5146172 0.0018753644 -0.022348627 4.5220887 + 77560 19.965563 0.99906206 23.714911 6.0205165 4.5224229 1.4980936 0.0019265106 -0.022703797 4.5432002 + 77570 19.97153 1.0146913 24.012345 6.0532256 4.531696 1.5215296 0.0020584342 -0.023550962 4.5531886 + 77580 20.059348 1.0069618 23.78029 6.0490515 4.5391123 1.5099392 0.0018358953 -0.022533104 4.5598095 + 77590 20.228627 1.0117503 23.818799 6.0384007 4.5212812 1.5171195 0.0016663473 -0.02147263 4.5410875 + 77600 20.31823 0.99929545 23.319602 6.0332108 4.5347673 1.4984435 0.0016667292 -0.021442428 4.554543 + 77610 20.196767 0.994389 23.649278 6.0231626 4.5320763 1.4910863 0.0017573232 -0.021665197 4.5519842 + 77620 20.077045 0.99803032 23.452692 6.0211314 4.5245849 1.4965465 0.0017210724 -0.021645981 4.5445098 + 77630 20.4778 0.98892205 23.468072 6.0014018 4.5185132 1.4828886 0.0017883168 -0.021479474 4.5382044 + 77640 20.476846 0.98930128 23.742865 5.9946536 4.5111964 1.4834573 0.0018696185 -0.021849504 4.5311762 + 77650 20.459772 0.98424682 23.403853 6.0101241 4.534246 1.4758781 0.0018886565 -0.021792969 4.5541503 + 77660 20.043425 1.0059665 23.789864 6.0347149 4.5262681 1.5084468 0.0018877797 -0.021688956 4.5460693 + 77670 20.300363 1.0240903 23.599785 6.064264 4.5286406 1.5356234 0.0020478302 -0.022094938 4.5486877 + 77680 20.160068 1.028335 23.78715 6.0618007 4.5198123 1.5419884 0.0022539515 -0.022976602 4.5405349 + 77690 20.214914 1.0180796 23.703119 6.055091 4.5284806 1.5266104 0.0021178494 -0.02237235 4.5487351 + 77700 20.562908 0.99574736 23.655679 6.0475814 4.5544582 1.4931232 0.0021071274 -0.022093464 4.5744446 + 77710 20.223731 1.0072436 23.855909 6.0521614 4.5417996 1.5103618 0.0018891763 -0.02116555 4.561076 + 77720 19.939714 1.0290023 23.823019 6.0868155 4.5438265 1.542989 0.0016217478 -0.020304899 4.5625097 + 77730 20.226366 1.0210272 23.945864 6.0631133 4.532083 1.5310304 0.0016330607 -0.020896764 4.5513467 + 77740 19.951901 1.0152827 23.633036 6.0760786 4.5536622 1.5224164 0.0017767301 -0.021715859 4.5736013 + 77750 20.520577 1.0150336 23.669246 6.0365643 4.5145213 1.5220429 0.0018897424 -0.022489185 4.5351208 + 77760 20.219331 1.0069808 23.764691 6.0500058 4.5400381 1.5099677 0.0018782219 -0.022262897 4.5604227 + 77770 20.068552 1.0122379 23.610468 6.0611329 4.5432821 1.5178508 0.0018953825 -0.022457335 4.5638441 + 77780 20.204951 1.0095098 23.666568 6.0453803 4.5316203 1.51376 0.0019182318 -0.02314734 4.5528494 + 77790 20.258032 1.0112994 23.723396 6.0524503 4.5360069 1.5164434 0.0017904415 -0.022060815 4.5562773 + 77800 20.281785 1.0238825 23.979643 6.0419142 4.5066023 1.5353119 0.0016185166 -0.020997199 4.525981 + 77810 20.274719 1.018549 23.684341 6.0885534 4.5612392 1.5273142 0.0016105926 -0.021152731 4.5807813 + 77820 20.31501 1.0139186 23.863184 6.0589322 4.5385612 1.520371 0.0016994965 -0.021168785 4.5580305 + 77830 20.346926 1.0204075 23.914993 6.07904 4.5489389 1.5301011 0.0014930855 -0.020071121 4.5675169 + 77840 20.493256 1.0188064 23.839682 6.0740994 4.5463992 1.5277002 0.0014320454 -0.019790057 4.5647572 + 77850 20.438423 1.0255789 23.801482 6.0805855 4.54273 1.5378555 0.0016220988 -0.020770588 4.5618785 + 77860 20.390259 1.0305692 23.776631 6.0703825 4.525044 1.5453385 0.0016986353 -0.021506366 4.5448517 + 77870 20.257808 1.0224524 23.841962 6.0674217 4.5342544 1.5331673 0.0016874818 -0.021624396 4.5541913 + 77880 20.228917 1.0167248 23.738252 6.0479567 4.5233779 1.5245789 0.0015032007 -0.021034245 4.5429089 + 77890 20.473358 1.0175315 23.62142 6.0481134 4.5223249 1.5257885 0.0015325722 -0.021397949 4.5421903 + 77900 20.295437 1.0003577 23.836513 6.0506967 4.5506603 1.5000364 0.0018115247 -0.022252304 4.5711011 + 77910 20.095144 1.0025235 23.610426 6.0338642 4.5305802 1.503284 0.00170525 -0.021738776 4.5506137 + 77920 20.18466 1.0140446 23.872587 6.0427406 4.5221807 1.5205599 0.0015793927 -0.021163709 4.541765 + 77930 20.367332 1.0152334 23.870482 6.045126 4.5227835 1.5223425 0.0017025308 -0.021630782 4.5427117 + 77940 20.451634 1.0086408 23.542756 6.0374192 4.5249623 1.5124569 0.0016564964 -0.021949238 4.545255 + 77950 20.262428 1.0001099 23.689916 6.0227634 4.5230986 1.4996647 0.0016690256 -0.021907895 4.5433375 + 77960 20.176301 1.0070461 23.609863 6.0398597 4.5297941 1.5100656 0.0015361017 -0.021456219 4.5497143 + 77970 20.249506 1.0031579 23.747064 6.0496595 4.5454243 1.5042353 0.0015164573 -0.021169967 4.5650778 + 77980 20.520749 1.0079695 23.612503 6.0297514 4.5183012 1.5114502 0.0017801251 -0.022379148 4.5389003 + 77990 20.440834 1.019877 23.880207 6.0490269 4.5197214 1.5293055 0.0017280939 -0.022210626 4.5402039 + 78000 20.318452 1.0085673 23.775114 6.0641539 4.5518072 1.5123466 0.0018015393 -0.022722411 4.5727281 + 78010 20.38361 1.0272797 23.980802 6.0816177 4.5412118 1.5404059 0.002002633 -0.023684496 4.5628937 + 78020 20.390213 1.0099034 23.670728 6.0611725 4.5468223 1.5143502 0.0019945812 -0.023883695 4.5687114 + 78030 20.594544 1.0099102 23.938387 6.0362678 4.5219075 1.5143603 0.0020823107 -0.024043936 4.5438691 + 78040 20.4477 0.99432327 23.639514 6.0270172 4.5360294 1.4909877 0.0020332223 -0.023810221 4.5578064 + 78050 20.403961 1.0182084 23.742204 6.0380305 4.511227 1.5268035 0.0020198384 -0.023426245 4.5326334 + 78060 20.052184 0.98563019 23.701229 6.010032 4.5320795 1.4779525 0.00202915 -0.023497722 4.5535481 + 78070 20.325253 1.0027955 23.762765 6.0299744 4.5262825 1.5036919 0.0020563839 -0.024114172 4.5483402 + 78080 20.474502 1.0100386 23.782394 6.0261163 4.5115634 1.5145529 0.0019140898 -0.023555517 4.5332049 + 78090 20.120202 1.0209888 23.804188 6.0629606 4.5319879 1.5309727 0.0018652284 -0.02295548 4.5530781 + 78100 20.296198 1.0142401 23.795672 6.0546525 4.5337994 1.520853 0.0019526579 -0.023178135 4.5550249 + 78110 19.712232 1.0195351 23.983349 6.0576849 4.528892 1.5287929 0.0019502897 -0.023410868 4.5503526 + 78120 20.042653 1.0047046 23.672323 6.0615028 4.5549483 1.5065545 0.0017538701 -0.022179221 4.5753737 + 78130 20.253489 1.0067745 23.637694 6.0497068 4.5400485 1.5096583 0.0016575061 -0.021597567 4.5599886 + 78140 20.157643 0.99930636 23.786979 6.0313875 4.5329276 1.4984599 0.0016683372 -0.021554306 4.5528136 + 78150 20.159011 0.99409722 23.329421 6.0011801 4.5105313 1.4906488 0.0015457938 -0.020913499 4.529899 + 78160 20.347305 0.99050191 23.574497 6.020067 4.5348093 1.4852576 0.0014559618 -0.020785841 4.5541392 + 78170 20.111894 1.0223473 23.756543 6.0541491 4.5211392 1.5330098 0.001476821 -0.021026831 4.5406892 + 78180 19.796821 1.0323109 24.152488 6.0939915 4.5460414 1.5479501 0.00146363 -0.021166624 4.5657444 + 78190 19.968942 1.0249517 23.812782 6.0865194 4.5496043 1.5369151 0.0014560434 -0.021234236 4.5693825 + 78200 20.183393 1.0306168 23.888685 6.0841411 4.5387312 1.5454099 0.0014698091 -0.021201805 4.5584632 + 78210 20.223392 1.0196553 23.532243 6.067068 4.5380949 1.5289731 0.0015845207 -0.021584223 4.5580947 + 78220 20.314955 1.0350704 23.621818 6.0902144 4.5381263 1.5520881 0.0014896822 -0.020842263 4.5574789 + 78230 20.34245 1.0107469 23.749963 6.0512982 4.5356832 1.515615 0.0014422123 -0.020558924 4.5547999 + 78240 20.287097 0.99818837 23.93529 6.049045 4.5522616 1.4967835 0.0013950578 -0.020230938 4.5710974 + 78250 20.402882 1.0071653 23.659641 6.0233426 4.5130983 1.5102443 0.0014743849 -0.020575471 4.5321994 + 78260 20.453748 1.021214 23.705717 6.0381424 4.506832 1.5313104 0.0016083905 -0.021200805 4.5264245 + 78270 20.298545 1.0036226 23.798918 6.0309769 4.5260449 1.5049321 0.0016710073 -0.021608708 4.5459826 + 78280 20.229542 0.98470826 23.663539 6.0039446 4.5273745 1.47657 0.0016893986 -0.021830695 4.5475158 + 78290 20.158129 0.97485422 23.512188 5.9819083 4.5201144 1.4617939 0.0019305176 -0.023129843 4.5413137 + 78300 20.290469 0.98731923 23.838515 6.0044668 4.5239816 1.4804852 0.0019643292 -0.023177967 4.5451952 + 78310 20.166253 0.98464201 23.554161 6.0200964 4.5436257 1.4764707 0.0018924888 -0.022959051 4.5646923 + 78320 19.977683 1.0217451 23.547614 6.0501927 4.5180859 1.5321068 0.0021722726 -0.023837356 4.539751 + 78330 19.87204 1.0179649 24.116189 6.0480538 4.5216155 1.5264383 0.0020723772 -0.023891289 4.5434344 + 78340 20.159268 1.0165811 23.571701 6.060148 4.5357847 1.5243633 0.0019439956 -0.02342307 4.5572638 + 78350 20.036431 0.99604623 23.779886 6.0330406 4.5394693 1.4935713 0.001923251 -0.023431479 4.5609775 + 78360 20.321806 0.99180848 23.846096 6.017904 4.5306872 1.4872168 0.0021122859 -0.024115815 4.5526908 + 78370 20.384431 1.0026324 23.592068 6.0131275 4.5096803 1.5034472 0.0021383002 -0.023969068 4.5315111 + 78380 20.041815 0.99035074 23.61437 6.0069334 4.5219025 1.4850309 0.0018761417 -0.022558591 4.5425849 + 78390 19.824315 0.97963598 23.575888 5.9859177 4.5169535 1.4689642 0.001659085 -0.021575568 4.53687 + 78400 20.272684 0.98024734 23.511128 5.9895847 4.5197038 1.4698809 0.0014917329 -0.020920963 4.5391331 + 78410 20.336856 0.98925143 23.947371 6.003564 4.5201814 1.4833825 0.0013573855 -0.020127366 4.5389514 + 78420 20.401049 0.97236099 23.411998 6.0108444 4.5527891 1.4580553 0.0012652809 -0.019593942 4.5711178 + 78430 20.40963 1.0167927 23.697129 6.0422927 4.517612 1.5246807 0.0015685592 -0.021234489 4.537278 + 78440 19.964613 1.0058905 23.645143 6.0448927 4.5365599 1.5083328 0.001608229 -0.021290522 4.5562422 + 78450 19.814119 1.0065893 23.964419 6.0408235 4.5314428 1.5093807 0.0015784046 -0.021245832 4.5511103 + 78460 19.980196 1.019407 24.02234 6.0694208 4.54082 1.5286008 0.0015079097 -0.020986524 4.5602986 + 78470 20.278028 1.0265482 23.745608 6.0825823 4.5432733 1.539309 0.0016733436 -0.021664687 4.5632646 + 78480 20.140048 1.0347051 23.791642 6.0842345 4.5326943 1.5515402 0.0017488451 -0.022132563 4.553078 + 78490 20.398392 1.0219376 23.749278 6.0643193 4.5319238 1.5323955 0.0017412538 -0.021771069 4.5519536 + 78500 20.192423 1.0113564 23.709128 6.0369702 4.5204413 1.5165289 0.0019399147 -0.023132616 4.541634 + 78510 20.051667 0.99252273 23.60841 6.0195282 4.5312404 1.4882878 0.0019099667 -0.022975112 4.5523055 + 78520 20.062597 0.98654567 23.530016 5.9917048 4.5123796 1.4793252 0.0020031636 -0.023054214 4.5334306 + 78530 20.141541 0.98288289 23.681589 6.0112765 4.5374436 1.4738329 0.0021417093 -0.023490231 4.5587922 + 78540 20.317872 1.0069313 23.961003 6.0228823 4.5129887 1.5098935 0.0021339757 -0.023378756 4.5342335 + 78550 20.464114 0.99862012 23.592603 6.0340472 4.5366163 1.4974309 0.002016363 -0.022639415 4.5572394 + 78560 20.404695 1.0130487 23.662403 6.0443915 4.525325 1.5190665 0.0018705884 -0.021987883 4.5454423 + 78570 20.353277 1.0110155 23.712479 6.0412947 4.525277 1.5160177 0.0016956145 -0.021260272 4.5448417 + 78580 20.16759 1.0017234 23.47941 6.0501074 4.5480231 1.5020843 0.0015893516 -0.020855215 4.567289 + 78590 20.378109 1.013306 23.74561 6.0540566 4.5346043 1.5194523 0.0015615293 -0.020829893 4.5538726 + 78600 20.329658 1.0184279 23.716892 6.0340855 4.5069529 1.5271326 0.0015189749 -0.020673604 4.5261076 + 78610 20.277664 1.0087453 23.788983 6.0499571 4.5373436 1.5126135 0.0014770782 -0.020467888 4.5563344 + 78620 20.198099 1.0052611 23.739316 6.0265183 4.5191293 1.507389 0.0014028152 -0.020353312 4.5380798 + 78630 20.41673 1.010777 23.633055 6.0295246 4.5138645 1.5156601 0.0014504382 -0.020958332 4.5333724 + 78640 20.485274 1.0080621 23.768328 6.0357286 4.5241394 1.5115891 0.0017347645 -0.0221789 4.5445836 + 78650 20.347403 0.99807274 23.881663 6.0213207 4.5247106 1.4966101 0.0019132618 -0.022886012 4.5456834 + 78660 20.241895 0.98937903 23.615907 6.006906 4.5233321 1.4835739 0.0018059662 -0.022698877 4.5442251 + 78670 20.08364 0.98681929 23.56187 6.000441 4.5207055 1.4797355 0.0015966224 -0.021641185 4.5407501 + 78680 20.417873 0.99127646 23.720181 5.9961347 4.5097157 1.4864191 0.0014665503 -0.021273538 4.5295227 + 78690 20.252697 0.99726422 23.701062 6.0013556 4.5059579 1.4953977 0.0016019516 -0.021764067 4.5261201 + 78700 19.830729 0.98814287 23.745369 6.0083654 4.5266452 1.4817202 0.0018844461 -0.022753361 4.5475141 + 78710 20.271541 0.98846188 23.6762 6.0252441 4.5430455 1.4821986 0.0019568591 -0.022904913 4.5639935 + 78720 20.356305 0.97698297 23.36832 6.0170514 4.5520655 1.464986 0.0019471907 -0.022814951 4.5729332 + 78730 20.254756 0.99688212 23.430959 6.0268799 4.5320552 1.4948247 0.0018878387 -0.021951663 4.552119 + 78740 20.289303 0.98964274 23.659092 6.0057296 4.5217603 1.4839693 0.0018647695 -0.021527745 4.5414233 + 78750 20.372315 1.0018824 23.659163 6.0266862 4.5243635 1.5023227 0.0018183881 -0.021190598 4.5437358 + 78760 19.7618 1.0292797 23.749692 6.0402496 4.4968447 1.5434049 0.0018985122 -0.021585374 4.5165316 + 78770 20.054503 0.99560567 23.450405 6.0240411 4.5311304 1.4929107 0.0018325303 -0.02131863 4.5506165 + 78780 20.053054 0.99763726 23.757324 6.0371364 4.5411793 1.4959571 0.0018510314 -0.02141613 4.5607444 + 78790 19.919287 0.99445964 23.628053 6.0335492 4.542357 1.4911922 0.0019372523 -0.022114099 4.5625338 + 78800 20.282267 1.0004899 23.758326 6.0362359 4.5360014 1.5002346 0.0019938441 -0.022438474 4.556446 + 78810 20.263619 0.98996371 23.601924 6.01017 4.5257194 1.4844506 0.0020197475 -0.022756012 4.5464556 + 78820 20.510001 0.99453856 23.685176 6.0080396 4.516729 1.4913106 0.0019196515 -0.022133055 4.5369424 + 78830 20.181668 1.0084167 23.812788 6.0382126 4.5260918 1.5121208 0.0018487824 -0.021483111 4.5457261 + 78840 20.341186 1.0041705 23.644526 6.0298408 4.5240872 1.5057536 0.00181468 -0.021984841 4.5442573 + 78850 20.224449 0.99964011 23.575169 6.0461668 4.5472064 1.4989603 0.0015862586 -0.021126145 4.5667463 + 78860 20.090736 0.98823483 23.567395 6.0533114 4.5714532 1.4818581 0.0013696788 -0.020214459 4.590298 + 78870 19.965937 1.0155752 23.841858 6.0454338 4.5225788 1.522855 0.0012881146 -0.020098489 4.5413892 + 78880 19.722064 1.0174348 23.911349 6.0436007 4.5179572 1.5256435 0.0013159549 -0.020284881 4.5369261 + 78890 20.463848 1.0105162 23.709325 6.0405413 4.5252722 1.5152691 0.0015275396 -0.021296442 4.5450411 + 78900 20.386634 0.99925607 23.791295 6.0322609 4.5338764 1.4983845 0.001671331 -0.021973292 4.5541784 + 78910 20.185769 1.018269 23.703829 6.0681591 4.5412647 1.5268944 0.0013819043 -0.020314418 4.5601972 + 78920 20.059249 1.0309112 23.794862 6.0795612 4.5337098 1.5458514 0.0012969793 -0.019532122 4.551945 + 78930 20.104674 1.0106516 23.90688 6.0910106 4.5755385 1.5154721 0.0011633078 -0.018789304 4.5931645 + 78940 20.467706 1.0133393 23.818869 6.0529034 4.533401 1.5195023 0.0010515364 -0.017997166 4.5503467 + 78950 20.239848 1.0335555 23.777001 6.0847047 4.5348882 1.5498165 0.0010574131 -0.018265707 4.5520965 + 78960 19.960409 1.0275601 24.217947 6.0844719 4.5436455 1.5408264 0.0011657841 -0.018912818 4.5613925 + 78970 19.997324 1.0311714 23.906284 6.0966204 4.5503789 1.5462415 0.0012421243 -0.018961697 4.5680984 + 78980 20.149296 1.0270376 23.839271 6.1074535 4.5674106 1.5400429 0.0013021079 -0.019190693 4.5852992 + 78990 20.240232 1.0413722 23.891691 6.0975666 4.536029 1.5615376 0.0013174457 -0.019371041 4.5540826 + 79000 20.281676 1.0386186 23.69663 6.1062232 4.5488146 1.5574086 0.0013749701 -0.019974768 4.5674144 + 79010 20.51567 1.0411662 23.948939 6.0929366 4.5317079 1.5612287 0.0016491959 -0.021130502 4.5511892 + 79020 20.583494 1.0126514 23.814632 6.0647753 4.5463045 1.5184708 0.0016827445 -0.021447824 4.5660696 + 79030 20.322961 1.0052842 23.41091 6.0440568 4.5366331 1.5074237 0.0017179491 -0.022004689 4.5569198 + 79040 20.264886 1.0033908 23.782461 6.0341388 4.5295544 1.5045845 0.0017453269 -0.021861143 4.5496702 + 79050 20.175872 1.0057567 23.542214 6.0399242 4.5317921 1.5081321 0.0016526922 -0.021473951 4.5516133 + 79060 20.357267 1.0157848 23.662578 6.0535769 4.5304076 1.5231693 0.0017533853 -0.021990268 4.5506445 + 79070 20.380144 1.0039985 23.620282 6.0559793 4.5504836 1.5054957 0.0016307319 -0.021438805 4.5702917 + 79080 20.508414 1.0141748 23.886249 6.0672243 4.5464692 1.5207551 0.0017927043 -0.022287252 4.5669638 + 79090 20.278124 1.019006 23.616405 6.0636121 4.5356126 1.5279994 0.0019453528 -0.022915755 4.556583 + 79100 20.102215 1.0085217 24.003737 6.0736015 4.5613232 1.5122783 0.0019427268 -0.023395244 4.5827757 + 79110 20.525887 1.0205276 23.95321 6.0844316 4.5541504 1.5302812 0.0018393409 -0.022918601 4.5752297 + 79120 19.965157 1.0375045 23.817074 6.079869 4.524131 1.555738 0.0017219684 -0.022393327 4.5448024 + 79130 20.286988 1.0282601 23.727382 6.0694228 4.5275468 1.541876 0.0017299581 -0.022099264 4.5479161 + 79140 20.132918 0.98503186 23.904911 6.0363173 4.559262 1.4770553 0.0018298474 -0.02212231 4.5795545 + 79150 20.239638 0.98893326 23.704753 6.0187583 4.5358529 1.4829054 0.0019863713 -0.022916729 4.5567833 + 79160 19.958756 1.0009543 23.808549 5.9871483 4.4862173 1.500931 0.0019495741 -0.022560342 4.506828 + 79170 20.231542 0.982538 23.58716 5.996163 4.5228473 1.4733157 0.0018909214 -0.022421079 4.5433775 + 79180 20.264891 0.98668878 23.460393 6.0099255 4.5303857 1.4795398 0.001798325 -0.022317507 4.5509049 + 79190 20.173647 0.99131573 23.813896 6.0144546 4.5279767 1.4864779 0.0016274566 -0.021127851 4.547477 + 79200 20.516279 0.98485311 23.682459 6.0119974 4.5352102 1.4767872 0.0015467005 -0.020785657 4.5544491 + 79210 20.16173 1.0034864 23.584574 6.0170332 4.5123053 1.5047279 0.0014302281 -0.020457755 4.5313329 + 79220 20.111508 0.99124783 23.704777 6.0077231 4.521347 1.4863761 0.0012662369 -0.019818957 4.5398997 + 79230 20.01007 0.98077369 23.560661 6.0085585 4.5378883 1.4706701 0.0012278838 -0.019744571 4.556405 + 79240 20.21824 0.99309341 23.501737 6.0219853 4.5328417 1.4891436 0.0012916907 -0.020002106 4.5515521 + 79250 20.310251 0.99024902 23.411964 5.9962176 4.5113392 1.4848784 0.0015822853 -0.020876332 4.5306332 + 79260 19.680983 0.99211119 23.678102 6.0212688 4.5335981 1.4876707 0.0017086821 -0.021464928 4.5533543 + 79270 20.165545 1.003569 23.524172 6.0488906 4.5440388 1.5048518 0.0016134519 -0.020842063 4.5632675 + 79280 20.166326 1.0144268 23.866652 6.0517558 4.5306227 1.5211331 0.001679219 -0.02101468 4.5499582 + 79290 20.230735 1.0076412 23.640949 6.0396218 4.5286638 1.510958 0.0019083487 -0.022133664 4.5488891 + 79300 20.340115 1.0038565 23.741832 6.0480558 4.542773 1.5052828 0.002071035 -0.023139453 4.5638414 + 79310 20.317462 1.0179976 23.827843 6.0193791 4.4928917 1.5264874 0.0022446865 -0.024143249 4.5147902 + 79320 20.256199 0.99173409 23.795026 6.0087572 4.5216519 1.4871053 0.0023275344 -0.024029488 4.5433539 + 79330 20.038151 1.0012497 23.71454 6.0489208 4.5475469 1.5013739 0.0023205505 -0.024177148 4.5694035 + 79340 20.100517 1.0216253 23.890619 6.0485661 4.516639 1.5319272 0.0020542183 -0.022898028 4.5374828 + 79350 20.464024 1.0005918 23.746084 6.0259499 4.5255626 1.5003873 0.0019799882 -0.022758942 4.5463415 + 79360 20.388781 0.99493241 23.687201 6.0137886 4.5218875 1.4919011 0.0019522492 -0.023056302 4.5429915 + 79370 20.204719 0.9941707 23.751335 6.0136922 4.5229332 1.490759 0.0019863473 -0.023194779 4.5441416 + 79380 20.293392 0.99587308 23.83879 6.0246323 4.5313206 1.4933117 0.0021067707 -0.023893028 4.5531069 + 79390 20.327499 0.98408657 23.449658 5.9877966 4.5121588 1.4756378 0.0019706032 -0.023276364 4.5334646 + 79400 20.253799 0.9866627 23.378354 6.0032467 4.523746 1.4795007 0.0019638137 -0.023501063 4.5452833 + 79410 20.165708 0.98315768 23.644792 6.0132931 4.5390481 1.4742449 0.0019132707 -0.023132404 4.5602673 + 79420 20.252329 1.0011508 23.640845 6.0284574 4.5272317 1.5012257 0.0017976657 -0.022819331 4.5482534 + 79430 19.91323 1.0035306 23.724475 6.0151728 4.5103787 1.5047941 0.0018073783 -0.022732593 4.5313039 + 79440 20.027745 1.0098441 23.891565 6.0536882 4.539427 1.5142613 0.0019369474 -0.023038541 4.5605286 + 79450 20.12434 1.0237821 23.943409 6.0607214 4.52556 1.5351613 0.0021473165 -0.023853908 4.5472666 + 79460 20.389505 1.004822 23.845385 6.0625206 4.5557899 1.5067306 0.0022293743 -0.024616549 4.5781771 + 79470 20.295156 1.0190789 24.05763 6.0596687 4.5315599 1.5281087 0.0021255831 -0.023822676 4.553257 + 79480 20.070581 1.0126658 23.715618 6.0464638 4.5279714 1.5184924 0.0021845824 -0.024070582 4.5498574 + 79490 20.309412 1.0118621 23.684838 6.0467986 4.5295113 1.5172873 0.0020939663 -0.023502765 4.5509201 + 79500 20.309688 0.99728962 23.365422 6.0336907 4.5382549 1.4954358 0.0020615472 -0.023860703 4.5600541 + 79510 20.161072 0.96501805 23.699966 6.0136814 4.5666368 1.4470446 0.0019364478 -0.023572098 4.5882725 + 79520 19.844119 0.98696729 23.784271 6.0135982 4.5336407 1.4799575 0.00172703 -0.02210343 4.5540171 + 79530 20.339613 0.99144907 24.107634 6.038393 4.5517152 1.4866779 0.0018073442 -0.021589203 4.571497 + 79540 20.322033 1.0014561 23.740793 6.0418326 4.5401491 1.5016835 0.0019544439 -0.022124868 4.5603195 + 79550 20.205845 1.004123 23.685041 6.0175459 4.5118635 1.5056824 0.0019566454 -0.021748045 4.5316549 + 79560 20.337368 1.0078669 23.5266 6.0394767 4.5281804 1.5112964 0.0019985875 -0.022456835 4.5486386 + 79570 20.415024 1.0193306 23.849299 6.0561677 4.5276815 1.5284862 0.0021604695 -0.023608315 4.5491294 + 79580 19.869613 1.0129157 23.363843 6.0690141 4.5501471 1.518867 0.0021356546 -0.023860911 4.5718723 + 79590 20.147268 1.03445 23.829634 6.0863046 4.5351469 1.5511577 0.0018947678 -0.023014638 4.5562667 + 79600 20.192687 1.0357386 23.845601 6.0945983 4.5415083 1.55309 0.0015420787 -0.02148486 4.5614511 + 79610 20.212048 1.0254322 23.838187 6.0893922 4.5517567 1.5376355 0.0012292561 -0.019719664 4.5702471 + 79620 20.159345 1.0195765 23.61172 6.0695838 4.5407289 1.528855 0.0011938992 -0.019235637 4.5587706 + 79630 19.959407 1.0320585 23.948172 6.0780476 4.5304758 1.5475717 0.0012856025 -0.019294415 4.5484847 + 79640 20.325286 1.0140441 24.169757 6.0736363 4.5530773 1.5205591 0.0016050194 -0.020827305 4.5722995 + 79650 20.048327 1.0163903 23.771951 6.062428 4.5383507 1.5240773 0.0016493128 -0.021179063 4.5578804 + 79660 20.04052 1.0198554 23.75593 6.0367795 4.5075064 1.5292731 0.0017619279 -0.021922488 4.527667 + 79670 20.2165 0.99130998 23.677345 6.0389013 4.552432 1.4864693 0.0019146403 -0.022776825 4.5732942 + 79680 20.398144 1.0083634 23.859641 6.0715055 4.5594646 1.5120409 0.001973668 -0.022910257 4.5804012 + 79690 20.170262 1.0130116 23.783587 6.0493273 4.5303163 1.519011 0.0021557106 -0.023290875 4.5514515 + 79700 20.369692 1.009968 23.783894 6.0465849 4.5321379 1.514447 0.0023121728 -0.024071655 4.5538974 + 79710 20.348484 0.99702727 23.830973 6.0222457 4.5272033 1.4950424 0.0024024154 -0.024844584 4.5496454 + 79720 20.226294 1.0203486 23.826638 6.0187348 4.4887221 1.5300127 0.0023628221 -0.024960645 4.5113199 + 79730 20.061811 1.0070784 23.672615 6.0211501 4.5110361 1.510114 0.0022677361 -0.024235754 4.5330041 + 79740 20.042991 0.9930783 23.722248 6.0028909 4.51377 1.4891209 0.0021697968 -0.023803443 4.5354036 + 79750 20.187665 0.99740129 23.916066 6.0207209 4.5251177 1.4956032 0.0020957339 -0.02389504 4.546917 + 79760 20.207806 1.0062663 23.559194 6.0198704 4.5109741 1.5088963 0.0021811282 -0.024143901 4.5329369 + 79770 20.353994 1.0043423 23.734247 6.0200809 4.5140696 1.5060113 0.002146354 -0.024329844 4.5362531 + 79780 20.185058 0.99361491 23.54279 6.0354042 4.5454786 1.4899256 0.0020947819 -0.02383662 4.5672205 + 79790 20.245301 1.0039674 23.719098 6.0399518 4.5345027 1.5054492 0.0019681125 -0.0227621 4.5552967 + 79800 20.404046 1.0082529 23.695244 6.0309925 4.5191173 1.5118752 0.0016705091 -0.021467093 4.5389139 + 79810 20.367165 1.0030135 23.407917 6.0516457 4.5476269 1.5040187 0.0015833735 -0.020892213 4.5669358 + 79820 20.232406 1.0122403 23.625826 6.0689554 4.5511011 1.5178543 0.0017678947 -0.021862581 4.5711958 + 79830 20.175504 1.0241562 23.87157 6.0616082 4.5258859 1.5357223 0.0017689504 -0.021979592 4.5460965 + 79840 20.087654 1.0105085 23.49977 6.0406002 4.5253427 1.5152575 0.0017083409 -0.021671757 4.5453061 + 79850 20.281283 1.0055486 23.663332 6.0503745 4.5425544 1.5078201 0.0017207989 -0.021846879 4.5626805 + 79860 20.192957 1.0299798 23.932593 6.0758416 4.5313869 1.5444547 0.0016681978 -0.02135851 4.5510772 + 79870 20.30506 1.0219298 24.114201 6.0606163 4.5282327 1.5323837 0.0018144836 -0.021896494 4.5483147 + 79880 20.411008 1.0206778 24.09652 6.0745489 4.5440425 1.5305064 0.001854012 -0.022514628 4.5647031 + 79890 20.335395 1.0277966 23.652568 6.0611532 4.5199722 1.541181 0.0018411806 -0.022944572 4.5410756 + 79900 20.368949 1.0236247 23.636152 6.0954725 4.5605472 1.5349253 0.0019749126 -0.023133686 4.581706 + 79910 20.057606 1.0275506 23.611358 6.0897947 4.5489827 1.5408121 0.0020762431 -0.023480638 4.5703871 + 79920 20.187367 1.0203618 23.915147 6.0802691 4.5502365 1.5300326 0.0021057001 -0.023543366 4.5716742 + 79930 20.387493 1.0254352 23.694437 6.0937713 4.5561313 1.5376401 0.0022310642 -0.023854253 4.5777545 + 79940 20.387437 1.0373723 23.48423 6.1027183 4.5471786 1.5555397 0.002186976 -0.023918338 4.5689099 + 79950 20.38947 1.0147716 23.556122 6.086472 4.564822 1.5216501 0.0017955289 -0.021764762 4.5847912 + 79960 20.296184 1.025023 23.88917 6.081558 4.544536 1.537022 0.0014903598 -0.020069269 4.5631149 + 79970 20.241996 1.0124363 23.891405 6.0580458 4.5398976 1.5181482 0.0014453095 -0.020161369 4.5586136 + 79980 20.333934 1.01599 23.692825 6.0690028 4.5455257 1.5234771 0.0015865574 -0.020898823 4.564838 + 79990 20.209063 1.0352505 23.933775 6.0770755 4.5247174 1.5523581 0.0016663154 -0.021635154 4.5446863 + 80000 20.315463 1.0155674 23.512523 6.0731175 4.5502741 1.5228434 0.0017305778 -0.022313755 4.5708573 + 80010 20.293648 1.0381442 23.868314 6.0687098 4.5120126 1.5566973 0.0019774005 -0.023294201 4.5333294 + 80020 20.126552 1.0201416 23.848749 6.069595 4.5398927 1.5297024 0.0021381345 -0.023860245 4.5616148 + 80030 20.351972 1.0303937 23.906545 6.085393 4.5403177 1.5450753 0.0023376347 -0.024665231 4.5626453 + 80040 20.319493 1.035601 23.857635 6.0904814 4.5375976 1.5528838 0.0026953601 -0.026102735 4.561005 + 80050 20.452328 1.0253568 23.841392 6.0748731 4.5373506 1.5375225 0.0026249119 -0.026144159 4.5608698 + 80060 20.416518 1.0098924 23.833011 6.0515209 4.5371872 1.5143337 0.0025325029 -0.025753274 4.560408 + 80070 20.093111 1.0207454 23.623196 6.0625036 4.5318958 1.5306078 0.0023996902 -0.024533365 4.5540295 + 80080 20.112251 1.0022962 23.794357 6.0523577 4.5494145 1.5029432 0.0021810879 -0.023338052 4.5705715 + 80090 20.351863 1.014078 23.651697 6.0302543 4.5096444 1.5206099 0.0020351974 -0.022502091 4.5301113 + 80100 20.303027 1.0166591 23.865252 6.0316793 4.5071989 1.5244804 0.0020157152 -0.02240774 4.527591 + 80110 20.19369 0.98502404 23.180176 6.0101717 4.5331281 1.4770435 0.00199674 -0.02240964 4.553541 + 80120 20.191469 0.99109551 23.693882 6.0166806 4.5305329 1.4861477 0.0019201292 -0.022118483 4.5507313 + 80130 20.383597 0.99964125 23.423073 6.0464605 4.5474985 1.4989621 0.0018104581 -0.021945418 4.5676334 + 80140 20.265843 1.014209 23.92623 6.0602664 4.5394601 1.5208063 0.001818144 -0.02211878 4.5597607 + 80150 20.337019 1.0095755 23.646973 6.0494919 4.5356334 1.5138585 0.0017979184 -0.022238413 4.5560739 + 80160 20.149511 1.0075259 23.44484 6.0424674 4.5316822 1.5107852 0.0017392849 -0.022197125 4.5521401 + 80170 20.352727 1.0165504 23.59309 6.0808515 4.5565342 1.5243173 0.0018159708 -0.022430502 4.5771487 + 80180 20.035741 1.037165 23.893751 6.0599085 4.5046796 1.5552289 0.0018827043 -0.022601255 4.5253982 + 80190 20.155628 1.0165048 23.448506 6.0396341 4.5153851 1.524249 0.0019274121 -0.023050481 4.5365082 + 80200 20.097038 1.0096423 23.720773 6.0301982 4.5162396 1.5139586 0.001908841 -0.022988748 4.5373195 + 80210 20.053107 1.0168113 23.601961 6.0513048 4.5265962 1.5247086 0.0015985586 -0.021411997 4.5464097 + 80220 20.176051 1.0047281 23.827682 6.0403764 4.5337866 1.5065898 0.0013539953 -0.020887268 4.5533199 + 80230 20.078107 0.99418367 23.729212 6.0292193 4.5384409 1.4907784 0.0014304357 -0.021384647 4.5583951 + 80240 20.020701 1.0070203 23.7318 6.0557375 4.5457106 1.5100269 0.0015740975 -0.021751963 4.5658884 + 80250 19.843764 1.0081863 23.742001 6.0441557 4.5323804 1.5117753 0.0017402749 -0.022055411 4.5526955 + 80260 20.29303 1.0086674 23.56315 6.0377631 4.5252663 1.5124968 0.0017431757 -0.022248159 4.5457713 + 80270 20.232514 1.007136 23.585963 6.0225715 4.512371 1.5102005 0.0015751944 -0.02143739 4.5322332 + 80280 19.994101 0.99333933 23.687945 6.0213344 4.5318221 1.4895123 0.0014610305 -0.020641203 4.5510023 + 80290 19.897238 0.99619432 23.917608 6.0138994 4.520106 1.4937934 0.0014682607 -0.020056884 4.5386946 + 80300 20.380133 0.99971551 23.479917 6.0124555 4.5133821 1.4990734 0.0011880173 -0.018790733 4.5309849 + 80310 20.257674 0.99452939 23.6397 6.0099787 4.5186819 1.4912968 0.0012347039 -0.018476857 4.5359241 + 80320 20.426147 0.98605138 23.718825 5.9929035 4.5143195 1.478584 0.0013369715 -0.018536987 4.5315195 + 80330 20.31631 0.98968986 23.913 6.0049999 4.52096 1.4840399 0.0012150168 -0.018519374 4.5382643 + 80340 20.477971 0.99088626 23.67843 6.0218762 4.5360422 1.485834 0.0013036992 -0.018825679 4.5535642 + 80350 20.086505 1.0053465 23.823826 6.0281169 4.5205998 1.5075171 0.0015681655 -0.02057191 4.5396036 + 80360 20.30824 0.97144332 23.53916 6.0080048 4.5513256 1.4566793 0.0019059172 -0.022515362 4.571935 + 80370 19.903491 0.98709409 23.835609 6.0105696 4.5304221 1.4801476 0.0019420118 -0.022941772 4.5514218 + 80380 20.160444 0.99926904 23.699661 6.0028731 4.5044691 1.4984039 0.0018384372 -0.022978025 4.5256087 + 80390 20.3566 1.0075048 23.58128 6.0407287 4.5299752 1.5107534 0.0018930511 -0.022947824 4.55103 + 80400 20.348977 0.99362864 23.820077 6.0363267 4.5463806 1.4899462 0.0019640076 -0.023202948 4.5676195 + 80410 20.421522 1.017168 23.591277 6.0629184 4.537675 1.5252435 0.0018291802 -0.022508089 4.5583539 + 80420 20.291542 1.0110809 23.614607 6.0463679 4.5302521 1.5161158 0.001548352 -0.020721738 4.5494255 + 80430 20.249896 1.0057031 23.856564 6.0600114 4.5519596 1.5080517 0.0012909579 -0.01939379 4.5700625 + 80440 20.025282 1.0134723 23.790564 6.0572274 4.5375257 1.5197017 0.0012512208 -0.019196187 4.5554707 + 80450 20.208293 1.0307035 24.006387 6.0788023 4.5332624 1.5455399 0.0013935053 -0.019586584 4.5514555 + 80460 20.292737 1.0137893 23.83763 6.0831923 4.5630153 1.520177 0.0013982208 -0.019415489 4.5810326 + 80470 20.321896 1.0188283 23.474482 6.0851482 4.5574151 1.527733 0.0014387438 -0.019669271 4.5756457 + 80480 20.231992 1.0172231 23.785135 6.0892819 4.5639559 1.525326 0.0015592163 -0.020428916 4.5828256 + 80490 19.925828 1.0083999 23.835383 6.0696989 4.5576033 1.5120956 0.0016939435 -0.021412888 4.5773222 + 80500 20.290494 1.0285047 23.855765 6.0766168 4.534374 1.5422428 0.0018485762 -0.022042133 4.5545676 + 80510 19.781773 1.0334104 23.758841 6.0935845 4.5439856 1.5495989 0.0018027982 -0.02192784 4.5641107 + 80520 19.90069 1.0430136 23.94562 6.1108726 4.5468737 1.5639989 0.0019030129 -0.022395946 4.5673667 + 80530 20.265305 1.0189814 23.842154 6.0640209 4.5360582 1.5279627 0.0019030652 -0.022711287 4.5568664 + 80540 20.212556 1.0297549 24.099659 6.0687135 4.524596 1.5441175 0.001901164 -0.022872907 4.5455677 + 80550 20.171156 1.0154543 23.616506 6.064247 4.5415734 1.5226737 0.001824525 -0.022668066 4.5624169 + 80560 20.135902 1.0131851 23.507019 6.0573559 4.5380848 1.5192711 0.0019756392 -0.023616601 4.5597258 + 80570 20.306899 1.0186561 23.699513 6.0759027 4.5484279 1.5274748 0.0019830351 -0.023617997 4.5700629 + 80580 20.439688 1.0268804 24.099632 6.0512682 4.5114611 1.5398071 0.0017277951 -0.022212028 4.5319453 + 80590 20.663185 1.012833 23.75481 6.0678092 4.5490661 1.5187431 0.0015926209 -0.021573347 4.5690468 + 80600 20.455264 1.0150585 23.730068 6.0622049 4.5401247 1.5220803 0.0016598632 -0.021660478 4.5601253 + 80610 20.062118 1.0259221 23.794261 6.0553604 4.5169902 1.5383703 0.0014454618 -0.020600123 4.5361448 + 80620 19.981752 1.0034593 23.580999 6.0464719 4.5417847 1.5046872 0.001276749 -0.019886506 4.5603945 + 80630 20.129139 1.0230855 23.700583 6.0423428 4.5082261 1.5341167 0.0012125415 -0.019514304 4.5265278 + 80640 19.779734 0.99648176 23.652569 6.030498 4.5362736 1.4942244 0.0011867159 -0.019156286 4.5542432 + 80650 20.007062 1.0033889 23.810041 6.0221343 4.5175527 1.5045816 0.001336529 -0.019160882 4.535377 + 80660 20.183115 1.002535 23.63609 6.0178631 4.5145619 1.5033012 0.0012992381 -0.018217307 4.53148 + 80670 20.070498 1.0067868 23.920395 6.0427732 4.5330963 1.5096769 0.001399196 -0.018144451 4.5498416 + 80680 20.09105 1.0019204 23.552635 6.0603216 4.5579421 1.5023796 0.0012864507 -0.017894162 4.5745498 + 80690 19.913989 0.99397375 23.688544 6.0405594 4.5500958 1.4904636 0.001206264 -0.017804472 4.566694 + 80700 20.065046 1.0058807 23.872153 6.0375823 4.5292642 1.5083181 0.0012349105 -0.018284089 4.5463134 + 80710 19.753784 1.0139603 23.599223 6.0470726 4.5266392 1.5204334 0.0015311304 -0.019936365 4.5450444 + 80720 19.366168 1.0053157 23.754268 6.0386803 4.5312095 1.5074708 0.0017542134 -0.021175785 4.5506311 + 80730 20.236543 1.0123555 23.516188 6.0352614 4.5172343 1.5180271 0.001769304 -0.021142247 4.5366072 + 80740 20.273054 0.998073 23.679396 6.0330498 4.5364393 1.4966105 0.0015240526 -0.020247165 4.5551624 + 80750 20.200468 1.0061008 23.498916 6.0483564 4.5397084 1.5086481 0.0012236926 -0.01910691 4.5575916 + 80760 20.147708 1.0073798 23.840509 6.0379333 4.5273672 1.510566 0.0011200977 -0.018721152 4.5449683 + 80770 20.313388 1.0026429 23.669985 6.0500709 4.5466078 1.503463 0.0010882768 -0.01833884 4.5638584 + 80780 20.362206 1.0178787 23.85688 6.0561879 4.5298788 1.5263091 0.0011170213 -0.018218484 4.5469802 + 80790 20.179682 0.98728507 23.45743 6.0178786 4.5374446 1.480434 0.0010319887 -0.017871421 4.5542841 + 80800 20.248366 0.98696617 23.407112 6.0170115 4.5370557 1.4799558 0.00099260917 -0.018001072 4.5540642 + 80810 20.209921 0.9999912 23.794463 6.0205552 4.5210684 1.4994868 0.0012181302 -0.01912992 4.5389802 + 80820 20.10717 0.9964804 23.620525 6.0189242 4.5247019 1.4942224 0.0011600685 -0.018606089 4.5421479 + 80830 20.276525 0.9846726 23.550571 6.0028864 4.5263698 1.4765166 0.0011491819 -0.018426361 4.543647 + 80840 20.258741 0.99037029 23.66281 6.0078264 4.5227662 1.4850603 0.0013027586 -0.019051949 4.5405153 + 80850 20.064143 0.98528591 23.476306 5.9960266 4.5185904 1.4774362 0.0014527008 -0.020033771 4.5371714 + 80860 20.251431 0.99268175 23.417106 5.9919312 4.5034049 1.4885263 0.0015052506 -0.02084226 4.5227419 + 80870 20.388011 0.99246403 23.648552 6.0079902 4.5197903 1.4881998 0.0014223967 -0.020684066 4.539052 + 80880 20.257359 1.0001223 23.881688 6.0148011 4.5151176 1.4996835 0.001303495 -0.020014067 4.5338282 + 80890 20.203189 1.0015694 23.895175 5.9975229 4.4956695 1.5018533 0.001137871 -0.019255042 4.5137867 + 80900 20.028394 1.0052167 23.520951 6.0172821 4.5099596 1.5073225 0.00118112 -0.019478548 4.5282571 + 80910 20.113188 1.0171682 23.793812 6.0642363 4.5389925 1.5252437 0.0013954183 -0.020589419 4.5581865 + 80920 20.269509 1.0104655 23.893515 6.0617969 4.5466039 1.515193 0.0015050906 -0.021494052 4.5665928 + 80930 20.225468 1.0170197 23.834875 6.051134 4.526113 1.525021 0.001492525 -0.021338175 4.5459587 + 80940 20.145514 1.0009849 23.618427 6.0581246 4.5571478 1.5009768 0.0015939942 -0.021770344 4.5773241 + 80950 20.033225 1.0086698 23.661029 6.071703 4.5592026 1.5125004 0.0017646966 -0.022516513 4.5799544 + 80960 20.32443 1.0268928 23.822429 6.0725754 4.5327497 1.5398257 0.0019053421 -0.023127831 4.5539722 + 80970 20.334898 1.0004965 23.833987 6.058632 4.5583875 1.5002445 0.0019638254 -0.02285304 4.5792767 + 80980 20.296827 1.0217681 23.870086 6.0577754 4.5256341 1.5321413 0.0020082093 -0.022934012 4.5465599 + 80990 19.789152 1.0224567 23.620202 6.076954 4.5437802 1.5331738 0.002092921 -0.023377545 4.5650648 + 81000 20.166825 1.0361276 23.849849 6.0776996 4.5240262 1.5536733 0.001886008 -0.02242462 4.5445649 + 81010 20.307985 1.0303158 23.621153 6.0753222 4.5303636 1.5449585 0.0015428074 -0.02061124 4.5494321 + 81020 20.501708 1.0099679 23.707094 6.0572537 4.5428068 1.5144469 0.0014618253 -0.020349749 4.5616947 + 81030 20.370226 1.0211481 23.616345 6.0535585 4.5223469 1.5312116 0.0014966155 -0.020706044 4.5415563 + 81040 20.309594 1.0088905 23.633763 6.0605455 4.5477141 1.5128313 0.001494012 -0.020613323 4.5668335 + 81050 20.400842 1.0029375 23.805234 6.0413547 4.5374498 1.5039048 0.0015323079 -0.020814933 4.5567325 + 81060 20.121723 0.98026469 23.757879 6.0130432 4.5431363 1.4699069 0.0016888094 -0.021533225 4.5629807 + 81070 20.35474 1.0011242 23.616373 6.0208991 4.5197134 1.5011857 0.0016773492 -0.021657918 4.539694 + 81080 20.111075 1.0014244 23.800279 6.0273864 4.5257504 1.5016359 0.0015303957 -0.021178465 4.5453985 + 81090 20.374616 1.0038865 23.592617 6.0478393 4.5425116 1.5053278 0.0015551825 -0.020860949 4.5618173 + 81100 20.311644 1.0034105 23.406554 6.0335573 4.5289433 1.504614 0.0015862955 -0.020656014 4.548013 + 81110 20.244435 1.0132807 23.962251 6.0341895 4.5147752 1.5194143 0.0016856947 -0.021756982 4.5348465 + 81120 20.004188 1.039809 24.133397 6.0787716 4.5195779 1.5591936 0.0018404184 -0.022713886 4.5404514 + 81130 20.318008 1.019426 23.774293 6.0950127 4.5663833 1.5286293 0.0018697356 -0.023087969 4.5876016 + 81140 20.340013 1.0340788 23.895457 6.0777011 4.5270998 1.5506012 0.0018704041 -0.023376141 4.5486056 + 81150 19.955189 1.0212423 23.71038 6.0831973 4.5518445 1.5313528 0.0018278004 -0.02335994 4.5733766 + 81160 20.240855 1.0205702 23.754608 6.0583903 4.5280453 1.530345 0.0018005979 -0.022996006 4.5492407 + 81170 19.985333 0.99208798 23.80701 6.0258085 4.5381725 1.4876359 0.0017595567 -0.02268202 4.559095 + 81180 20.232778 1.0113788 23.846098 6.0251252 4.5085628 1.5165624 0.0017840396 -0.022471 4.5292498 + 81190 20.28829 0.98654464 23.692608 6.0129935 4.5336698 1.4793237 0.0017795664 -0.022179551 4.5540698 + 81200 20.315979 0.99023674 23.548216 6.013938 4.529078 1.48486 0.0018022107 -0.022048368 4.5493241 + 81210 20.056364 0.98747201 23.604399 6.0273412 4.5466269 1.4807143 0.0018715905 -0.021862587 4.5666179 + 81220 20.348566 1.0150882 24.016916 6.0584491 4.5363244 1.5221247 0.0017516102 -0.021461139 4.5560339 + 81230 20.33562 1.0122288 24.03992 6.0677919 4.5499548 1.5178371 0.0015384389 -0.020133609 4.56855 + 81240 20.136978 1.0272295 23.698914 6.0865273 4.5461967 1.5403306 0.0015216827 -0.019453798 4.5641288 + 81250 19.897125 1.0189868 23.707322 6.0773042 4.5493334 1.5279708 0.0015457037 -0.019705429 4.5674931 + 81260 20.032845 1.0274147 23.86421 6.0997369 4.5591286 1.5406083 0.0013932752 -0.018995038 4.5767304 + 81270 20.229283 1.0060691 23.802013 6.0744803 4.5658797 1.5086006 0.0012115977 -0.018318075 4.5829862 + 81280 20.078121 1.0259031 23.954416 6.0620227 4.523681 1.5383416 0.0011485271 -0.018479709 4.5410122 + 81290 20.248255 0.99822697 23.602651 6.0390957 4.5422543 1.4968413 0.0012324729 -0.019169939 4.5601918 + 81300 20.252944 1.0161762 23.685669 6.059038 4.5352817 1.5237562 0.0014605615 -0.020434581 4.5542558 + 81310 20.143385 1.0010105 23.689492 6.0425093 4.5414941 1.5010152 0.0016204019 -0.020909402 4.5607831 + 81320 20.059556 1.0260634 23.898056 6.0722947 4.5337125 1.5385821 0.0016896983 -0.021576837 4.5535997 + 81330 20.284704 1.0158693 23.88706 6.0528351 4.5295391 1.523296 0.0015041224 -0.02114875 4.5491837 + 81340 20.009605 0.99277683 23.740276 6.0487918 4.560123 1.4886689 0.0016149306 -0.021536348 4.5800444 + 81350 20.318913 1.0053321 23.68887 6.0435529 4.5360574 1.5074955 0.0018182514 -0.022354489 4.5565936 + 81360 20.244388 1.0149068 23.906844 6.0651743 4.5433215 1.5218528 0.0017180634 -0.022022446 4.5636258 + 81370 20.32941 1.00869 23.861835 6.0524481 4.5399175 1.5125306 0.0016123564 -0.021873842 4.560179 + 81380 20.425916 1.0146657 23.821159 6.0660668 4.5445756 1.5214911 0.0017334549 -0.022289049 4.5651312 + 81390 20.220907 1.0295297 23.694689 6.0722278 4.528448 1.5437799 0.0017247922 -0.022489281 4.5492125 + 81400 20.312109 1.0251564 24.031048 6.076854 4.539632 1.537222 0.0017971192 -0.022862828 4.5606977 + 81410 20.081639 1.0000845 23.642032 6.0303876 4.5307608 1.4996268 0.0015329584 -0.021159223 4.5503871 + 81420 20.216754 0.99994986 23.798912 6.0238292 4.5244043 1.4994248 0.0013848545 -0.020589152 4.5436086 + 81430 19.883392 1.0020747 23.688555 6.0399998 4.5373887 1.5026111 0.001536808 -0.021587363 4.5574393 + 81440 19.877661 0.99978947 23.573576 6.0224598 4.5232755 1.4991843 0.001642852 -0.022105406 4.543738 + 81450 19.945575 0.98813153 23.442564 6.0312509 4.5495477 1.4817032 0.0017639909 -0.022764369 4.5705481 + 81460 20.145952 1.0040888 23.679917 6.0288131 4.523182 1.5056311 0.0017495729 -0.022386123 4.5438185 + 81470 20.277953 1.0000359 23.916313 6.0384946 4.5389408 1.4995538 0.0017256433 -0.022300539 4.5595157 + 81480 20.023447 0.9856971 23.36311 6.0372161 4.5591633 1.4780528 0.0017224909 -0.022173807 4.5796146 + 81490 20.26099 1.0012611 23.638412 6.0483947 4.5470036 1.501391 0.0017663355 -0.022183806 4.5674211 + 81500 20.148143 1.0123976 23.860307 6.0542711 4.5361809 1.5180902 0.0017710891 -0.022016623 4.5564265 + 81510 20.241176 1.015572 23.500704 6.0525501 4.5296998 1.5228502 0.0017992514 -0.022040608 4.5499412 + 81520 20.286063 1.0243212 23.839708 6.0434115 4.5074418 1.5359697 0.0017834752 -0.021474797 4.5271332 + 81530 20.473139 1.049318 23.888387 6.0797386 4.5062863 1.5734524 0.0016978474 -0.021215404 4.5258038 + 81540 20.27606 1.0131328 23.671381 6.0666108 4.5474182 1.5191926 0.0016548031 -0.0214218 4.5671852 + 81550 20.215611 1.028031 23.946839 6.0631533 4.5216208 1.5415325 0.0017268771 -0.021849282 4.5417432 + 81560 19.8557 1.0321753 23.690587 6.0956513 4.5479044 1.5477468 0.0016818437 -0.021779636 4.5680022 + 81570 20.198444 1.0300184 23.694315 6.1007477 4.5562352 1.5445125 0.0016169362 -0.021514825 4.5761331 + 81580 20.324583 1.0578487 23.971923 6.1068302 4.520586 1.5862442 0.0015066666 -0.020877257 4.5399566 + 81590 20.309187 1.0488463 23.75532 6.1002599 4.5275149 1.5727451 0.0015994982 -0.021130561 4.5470459 + 81600 19.929478 1.0294725 23.832824 6.0903271 4.546633 1.5436941 0.0016037314 -0.020543581 4.5655728 + 81610 20.094663 1.0260459 24.045925 6.0763469 4.5377911 1.5385558 0.0017719575 -0.021488385 4.5575075 + 81620 19.97145 1.0252272 23.753605 6.0747247 4.5373965 1.5373282 0.0019219068 -0.02247296 4.5579476 + 81630 20.272932 0.99982031 23.936639 6.0632787 4.5640482 1.4992306 0.0020060274 -0.022974935 4.5850171 + 81640 19.775454 1.0293202 23.518816 6.0750548 4.5315892 1.5434657 0.0019112644 -0.02270045 4.5523783 + 81650 20.221162 1.0259552 23.688387 6.0631684 4.5247486 1.5384198 0.0018387804 -0.022586116 4.5454959 + 81660 20.379892 1.0228745 23.809755 6.0765023 4.5427019 1.5338004 0.0019521075 -0.023079367 4.5638292 + 81670 20.288419 1.0382417 23.656593 6.0832112 4.5263678 1.5568434 0.0020379215 -0.023052192 4.5473821 + 81680 20.163849 1.0485955 23.902384 6.0895641 4.5171951 1.572369 0.0020550282 -0.023148674 4.5382887 + 81690 20.465332 1.0291833 23.681563 6.0878265 4.5445662 1.5432603 0.0020858912 -0.023421415 4.5659017 + 81700 20.59926 1.0280377 24.141291 6.0709308 4.5293883 1.5415425 0.0022745526 -0.024786163 4.5518999 + 81710 20.447702 1.0266613 23.720847 6.067952 4.5284734 1.5394786 0.0023476597 -0.025492498 4.5516182 + 81720 20.274456 1.0009955 23.788209 6.0678818 4.5668891 1.5009927 0.0023133742 -0.025308499 4.5898842 + 81730 20.055588 1.0172336 23.805675 6.0478269 4.5224851 1.5253418 0.0021970895 -0.024703805 4.5449918 + 81740 20.28652 1.02751 23.665501 6.0679273 4.5271761 1.5407512 0.0019940403 -0.023608771 4.5487908 + 81750 19.974096 1.0230121 23.901696 6.0679122 4.5339056 1.5340067 0.0018708669 -0.022604454 4.5546391 + 81760 19.839737 1.0128323 23.793723 6.0407732 4.5220311 1.5187421 0.0017220719 -0.021802843 4.5421119 + 81770 20.226457 1.0057008 23.380604 6.0526891 4.5446408 1.5080483 0.0017649018 -0.022417146 4.565293 + 81780 20.349378 0.99781353 23.628338 6.0293932 4.5331718 1.4962214 0.0018755055 -0.0231364 4.5544327 + 81790 20.293471 1.0261964 23.803397 6.0442615 4.50548 1.5387815 0.0020902591 -0.024027028 4.5274167 + 81800 19.927273 0.99653319 23.741321 6.0452008 4.5508992 1.4943015 0.0021568198 -0.024122054 4.5728645 + 81810 20.380794 1.0023567 23.713969 6.0455762 4.5425424 1.5030338 0.0020378064 -0.023687223 4.5641918 + 81820 20.398714 1.0132609 23.549718 6.0216923 4.5023075 1.5193848 0.0019898108 -0.023358022 4.5236757 + 81830 20.04797 0.99588286 23.565054 6.0280384 4.5347121 1.4933263 0.0020632563 -0.023516503 4.5561653 + 81840 19.978225 1.0000052 23.788431 6.028624 4.5291162 1.4995078 0.0021828427 -0.023881857 4.5508152 + 81850 20.265029 1.0008431 23.549606 6.0315212 4.5307569 1.5007643 0.00209362 -0.023443295 4.5521066 + 81860 20.188409 0.99914409 23.822696 6.0210405 4.5228239 1.4982166 0.0019674368 -0.023178344 4.5440348 + 81870 20.265316 1.0172812 23.827573 6.0410164 4.5156032 1.5254131 0.0018751301 -0.023161732 4.5368898 + 81880 20.244612 0.9962517 23.720731 6.0302533 4.5363739 1.4938794 0.0017767668 -0.022468502 4.5570656 + 81890 20.077113 1.0148965 23.671019 6.0343239 4.5124865 1.5218374 0.0015378028 -0.021465968 4.5324147 + 81900 20.081635 0.99230466 23.796044 6.0305833 4.5426225 1.4879608 0.0012289782 -0.02033959 4.5617331 + 81910 20.183144 1.0081106 23.866471 6.0161564 4.5044945 1.5116619 0.0011527703 -0.019997932 4.5233397 + 81920 19.857799 0.99612731 23.973148 6.0298604 4.5361675 1.4936929 0.0011411019 -0.019962383 4.5549888 + 81930 19.846691 1.0032014 23.696753 6.0184802 4.5141797 1.5043005 0.0011215551 -0.019870482 4.5329287 + 81940 20.339774 0.98796372 23.530453 6.0065886 4.525137 1.4814516 0.0010688195 -0.019614873 4.543683 + 81950 20.329074 0.99458798 23.737949 6.0069572 4.5155726 1.4913847 0.0013856302 -0.021039216 4.5352261 + 81960 20.185081 0.97917385 23.491041 5.9891853 4.5209141 1.4682712 0.0016302294 -0.022082329 4.5413662 + 81970 20.381547 0.99952861 23.662116 6.0088097 4.5100165 1.4987931 0.0018242061 -0.022765543 4.5309579 + 81980 20.468928 0.98421697 23.708726 6.01381 4.5379766 1.4758334 0.0019889928 -0.02360188 4.5595895 + 81990 20.317514 1.0008382 23.801988 6.0179131 4.5171562 1.5007569 0.0019591374 -0.023736219 4.5389333 + 82000 20.187634 1.0016471 23.827559 6.0187705 4.5168007 1.5019699 0.0019660407 -0.023566746 4.5384014 + 82010 20.149369 0.99291842 23.47085 6.0205957 4.5317145 1.4888812 0.0020420945 -0.023285311 4.5529577 + 82020 20.281927 1.0062751 23.826833 6.0281724 4.5192629 1.5089095 0.0021347185 -0.023511649 4.5406398 + 82030 20.325697 1.0032994 23.638472 6.0370764 4.5326288 1.5044475 0.0021203599 -0.023360189 4.5538687 + 82040 19.973464 0.99645117 23.771964 6.0338634 4.5396849 1.4941785 0.0017807074 -0.021779236 4.5596834 + 82050 20.306469 0.99490166 23.750535 6.0130823 4.5212272 1.491855 0.0016595078 -0.020962969 4.5405307 + 82060 20.451372 0.98700996 23.507368 6.0140412 4.5340198 1.4800214 0.0016727847 -0.021254766 4.5536018 + 82070 19.844665 0.96805007 23.977382 5.9822785 4.5306874 1.4515911 0.0017722308 -0.021713944 4.5506292 + 82080 19.330731 0.9875473 23.482162 6.0023402 4.521513 1.4808272 0.0017170531 -0.021198575 4.5409945 + 82090 19.945016 0.98940832 24.050397 6.0049875 4.5213697 1.4836178 0.0017789408 -0.021814231 4.541405 + 82100 20.36962 0.98469558 23.644406 6.0440772 4.5675262 1.476551 0.0018224764 -0.022301276 4.588005 + 82110 19.925208 1.011506 23.897924 6.050111 4.5333578 1.5167532 0.0016401063 -0.021117761 4.5528354 + 82120 20.372005 1.0020406 23.66534 6.0336131 4.5310532 1.5025599 0.00183658 -0.021919247 4.5511359 + 82130 20.33232 1.0105415 24.146235 6.031338 4.5160311 1.5153069 0.0017898277 -0.022313733 4.536555 + 82140 20.278543 0.99441815 23.498516 6.0232202 4.5320901 1.49113 0.0019092089 -0.023175007 4.5533559 + 82150 19.923079 1.0078788 23.624036 6.0314373 4.520123 1.5113142 0.0021091204 -0.024502073 4.542516 + 82160 19.582018 1.0047903 23.555209 6.0561178 4.5494348 1.5066831 0.0021530466 -0.024745913 4.5720276 + 82170 20.073645 1.0231105 23.6295 6.047871 4.5137168 1.5341542 0.0020902537 -0.024375916 4.5360024 + 82180 19.916881 1.0167426 23.548038 6.0620669 4.5374613 1.5246055 0.0020779119 -0.023973275 4.5593567 + 82190 20.364151 1.0313073 23.654631 6.103205 4.5567597 1.5464453 0.0019133878 -0.023006997 4.5778533 + 82200 20.15101 1.0513302 23.811569 6.0937787 4.5173092 1.5764696 0.001793568 -0.022569145 4.5380847 + 82210 19.755842 1.0235146 23.620455 6.0753237 4.5405636 1.5347601 0.0015057193 -0.021094634 4.5601525 + 82220 19.588889 1.0184026 23.617908 6.0851359 4.5580413 1.5270946 0.0015523628 -0.021216903 4.5777058 + 82230 19.938809 1.0497136 23.900828 6.0888177 4.5147721 1.5740456 0.0017292943 -0.021971208 4.535014 + 82240 20.397779 1.0279634 23.54678 6.0644544 4.5230233 1.5414311 0.0017273154 -0.021732426 4.5430284 + 82250 20.422853 1.0103292 23.728879 6.0454798 4.5304912 1.5149886 0.0016121623 -0.02090279 4.5497818 + 82260 20.176405 1.0197099 23.694447 6.049571 4.520516 1.529055 0.0013821989 -0.020025709 4.5391595 + 82270 20.110837 1.0010453 23.791169 6.0350085 4.5339411 1.5010674 0.0015192115 -0.020179061 4.5526009 + 82280 20.274698 1.0128831 23.847481 6.0504408 4.5316227 1.5188182 0.001576079 -0.020740061 4.5507866 + 82290 20.037905 1.015842 23.919787 6.0491037 4.5258486 1.523255 0.0018338864 -0.022349032 4.5463638 + 82300 20.420099 1.0126792 23.779926 6.0642489 4.5457365 1.5185124 0.001744535 -0.022116885 4.5661088 + 82310 20.297159 1.0193714 23.679065 6.0474175 4.51887 1.5285475 0.0015561045 -0.021006739 4.5383206 + 82320 20.115746 1.0143239 23.778556 6.0575303 4.5365516 1.5209787 0.0016039559 -0.020894477 4.5558422 + 82330 20.376668 1.0094715 23.765455 6.07216 4.5584575 1.5137025 0.0015604698 -0.020305148 4.5772022 + 82340 20.392733 1.0309524 23.769175 6.0741865 4.5282734 1.5459132 0.0017170346 -0.020633778 4.5471901 + 82350 20.191597 1.0056251 23.752408 6.0427521 4.5348173 1.5079348 0.0016701713 -0.020287407 4.5534346 + 82360 20.173293 1.002539 23.770622 6.0493428 4.5460355 1.5033073 0.0015031147 -0.019115671 4.563648 + 82370 20.092451 1.0102514 23.867113 6.0565921 4.5417201 1.5148719 0.0014365419 -0.018491746 4.5587753 + 82380 19.862742 1.0016495 23.667691 6.0410341 4.5390606 1.5019735 0.0015119185 -0.018905984 4.5564547 + 82390 20.378577 1.0152385 23.646105 6.0682969 4.5459469 1.5223501 0.0015424749 -0.019542818 4.5639472 + 82400 20.275469 1.0300361 23.785591 6.0783166 4.5337774 1.5445391 0.0016519207 -0.020622792 4.5527483 + 82410 20.369694 1.0141061 23.88754 6.0683461 4.5476941 1.5206521 0.0016190678 -0.020911682 4.5669867 + 82420 20.621514 0.97917499 23.87621 6.0067732 4.5385003 1.4682729 0.0014747781 -0.020111265 4.5571368 + 82430 20.346498 0.99732903 23.865794 6.0170992 4.5216043 1.4954949 0.0014532305 -0.020018064 4.5401691 + 82440 20.313402 1.0140509 23.978719 6.0372494 4.5166801 1.5205693 0.0015926832 -0.020852029 4.5359395 + 82450 20.320589 1.0096324 23.642088 6.0508298 4.536886 1.5139437 0.0019485829 -0.022793728 4.5577312 + 82460 20.192175 0.99527101 23.482452 6.0269349 4.5345261 1.4924089 0.0019773811 -0.023089012 4.5556377 + 82470 20.371251 1.006078 23.656003 6.0566225 4.5480085 1.508614 0.0017129497 -0.022212906 4.5685084 + 82480 20.295588 0.99374447 23.763131 6.0188508 4.5287309 1.4901198 0.0016690762 -0.022174849 4.5492367 + 82490 19.965146 0.98906069 23.506114 6.007041 4.5239444 1.4830965 0.0016714099 -0.022509127 4.5447822 + 82500 20.25685 0.98436069 23.871196 6.0378342 4.5617853 1.4760489 0.0017179164 -0.022489222 4.5825566 + 82510 20.063769 1.0164131 23.617209 6.0650358 4.5409243 1.5241115 0.0016478151 -0.022427402 4.5617039 + 82520 20.339327 1.0160662 23.504625 6.0482516 4.5246604 1.5235912 0.0016007204 -0.02238966 4.5454493 + 82530 20.470212 1.0009804 23.720068 6.0220565 4.5210865 1.5009701 0.0015390925 -0.022161293 4.5417087 + 82540 20.452967 1.0076571 23.630548 6.054613 4.5436311 1.5109818 0.0014476037 -0.021590787 4.5637743 + 82550 20.012595 0.99450011 23.422666 6.0397699 4.548517 1.4912529 0.0014004933 -0.021389587 4.5685061 + 82560 20.191013 0.99121663 23.650816 6.0310046 4.5446753 1.4863293 0.0014423597 -0.02126618 4.5644991 + 82570 20.145429 1.0061084 23.760607 6.0482322 4.5395726 1.5086596 0.0014297934 -0.021153568 4.5592964 + 82580 19.936221 1.0053089 23.824619 6.0485254 4.5410647 1.5074607 0.001312641 -0.020807442 4.5605595 + 82590 20.020633 1.0157025 23.911625 6.0373394 4.5142935 1.5230459 0.0013202544 -0.02070642 4.5336797 + 82600 20.122971 0.9992479 24.156168 6.0227027 4.5243305 1.4983722 0.0012915116 -0.020603454 4.5436424 + 82610 19.935341 0.99235099 23.544014 6.0199283 4.531898 1.4880303 0.0013760689 -0.020764357 4.5512863 + 82620 20.343534 0.99516422 23.618192 6.0248496 4.5326009 1.4922487 0.0014489069 -0.020475639 4.5516276 + 82630 20.102202 1.002208 23.584983 6.0336158 4.5308048 1.5028109 0.0015187909 -0.020617826 4.5499039 + 82640 20.125881 1.0084461 23.986063 6.0542038 4.5420388 1.512165 0.0014677731 -0.02046472 4.5610358 + 82650 20.427794 1.0026219 23.485561 6.0341801 4.5307486 1.5034315 0.0013727484 -0.020514282 4.5498902 + 82660 20.072031 1.0146515 23.610905 6.0478603 4.5263904 1.5214699 0.001287024 -0.020369955 4.5454733 + 82670 20.288046 1.016483 23.721412 6.0535924 4.5293761 1.5242163 0.0013408082 -0.02043234 4.5484676 + 82680 20.16665 1.0001595 23.812739 6.0332677 4.5335286 1.4997392 0.0014808874 -0.021073185 4.5531209 + 82690 20.380046 1.0063511 23.537018 6.0339933 4.5249697 1.5090235 0.0015617944 -0.02119167 4.5445996 + 82700 20.257551 1.0213751 23.851198 6.0646833 4.5331312 1.531552 0.0014076571 -0.020326919 4.5520505 + 82710 20.208783 1.0110219 23.706268 6.0873545 4.5713272 1.5160273 0.001200468 -0.019491942 4.5896186 + 82720 20.418201 0.99721722 24.006301 6.0583675 4.5630403 1.4953272 0.0012923411 -0.019805192 4.5815532 + 82730 20.314924 1.0090607 23.659547 6.0547898 4.5417032 1.5130866 0.0014194217 -0.020069903 4.5603537 + 82740 19.979472 1.0299802 23.778954 6.1033739 4.5589186 1.5444553 0.0014340428 -0.020247006 4.5777315 + 82750 20.258975 1.0311086 24.117266 6.1093092 4.5631618 1.5461474 0.0013617245 -0.020535592 4.5823357 + 82760 20.248905 1.0242807 23.962829 6.100578 4.564669 1.535909 0.0012861666 -0.019977592 4.5833605 + 82770 20.041997 1.0378419 23.727581 6.087675 4.5314311 1.556244 0.0014543455 -0.021103343 4.5510801 + 82780 20.331378 1.0243532 23.785927 6.0788565 4.5428389 1.5360176 0.0016680372 -0.022312938 4.5634838 + 82790 20.079224 1.0297478 23.822275 6.0732289 4.5291221 1.5441069 0.0016481774 -0.022051867 4.5495258 + 82800 20.430686 1.0112748 23.328158 6.0490674 4.5326609 1.5164065 0.0016930783 -0.022454373 4.5534222 + 82810 20.144959 0.9950472 23.58083 6.0245822 4.5325089 1.4920733 0.001637409 -0.02213716 4.5530087 + 82820 20.163197 0.99814425 23.571838 6.0206715 4.5239542 1.4967173 0.0016563474 -0.021885917 4.5441838 + 82830 20.189566 1.0192616 23.738856 6.0353946 4.5070119 1.5283827 0.0017052204 -0.022021308 4.527328 + 82840 20.132281 0.99789635 23.63514 6.0301485 4.533803 1.4963456 0.0016565444 -0.021824868 4.5539713 + 82850 20.259733 0.99630128 23.924632 6.0273985 4.5334448 1.4939538 0.0015248353 -0.021240113 4.55316 + 82860 20.016078 0.99488812 23.798647 6.0116578 4.5198231 1.4918347 0.0016181406 -0.021713951 4.5399189 + 82870 20.222665 0.99704939 23.701742 6.0117033 4.5166278 1.4950756 0.0016449348 -0.02161689 4.5365997 + 82880 20.260993 0.99541328 23.708858 6.0212794 4.5286572 1.4926222 0.0016076896 -0.02156676 4.5486163 + 82890 20.139735 0.99792163 23.691705 6.0032169 4.5068334 1.4963835 0.0016517354 -0.021794282 4.526976 + 82900 20.335839 1.0130562 23.642851 6.0268948 4.5078171 1.5190778 0.0016782831 -0.021850374 4.5279891 + 82910 20.229761 1.004789 23.782623 6.0226447 4.5159636 1.5066811 0.0016196411 -0.021581362 4.5359253 + 82920 20.461859 1.0035653 23.991219 6.0243114 4.5194653 1.5048461 0.0017666808 -0.022197616 4.5398962 + 82930 20.337108 1.0002321 23.658378 6.0337232 4.5338752 1.499848 0.0020060458 -0.022923435 4.5547926 + 82940 19.808713 0.98902895 23.745661 6.0413861 4.5583372 1.4830489 0.0021212934 -0.023600212 4.5798161 + 82950 20.420182 1.0081585 23.776252 6.0455616 4.533828 1.5117336 0.0021263596 -0.023954213 4.5556558 + 82960 19.789083 1.0168474 23.904954 6.0492129 4.5244502 1.5247627 0.0019937059 -0.023218649 4.5456751 + 82970 19.91605 1.0124005 23.920425 6.0512943 4.5331998 1.5180946 0.0018366118 -0.022308013 4.5536712 + 82980 20.277286 0.9840871 23.863364 6.0255193 4.5498807 1.4756386 0.0018271615 -0.021987518 4.570041 + 82990 20.492829 1.003455 23.697572 6.0294251 4.5247444 1.5046807 0.001921392 -0.022860581 4.5456836 + 83000 20.413246 0.99876495 23.532769 6.0305243 4.5328762 1.497648 0.0021022546 -0.023578891 4.5543528 + 83010 20.444573 0.99906264 23.426425 6.0479307 4.5498363 1.4980944 0.0020184218 -0.023467668 4.5712855 + 83020 20.340875 1.0042369 23.890083 6.0416267 4.5357735 1.5058532 0.002157886 -0.02397434 4.55759 + 83030 20.476008 1.028695 23.843897 6.0898333 4.5473051 1.5425282 0.00231218 -0.024623646 4.5696166 + 83040 20.41667 1.0208432 23.758201 6.0729068 4.5421524 1.5307544 0.0020769621 -0.022929712 4.5630052 + 83050 20.176768 1.0215815 23.591147 6.0742667 4.5424053 1.5318614 0.0019141045 -0.022127638 4.5626189 + 83060 20.295573 1.0326832 23.560362 6.0502612 4.5017528 1.5485084 0.0020251382 -0.02250419 4.5222318 + 83070 20.360841 0.98901073 23.960855 6.0263266 4.543305 1.4830216 0.00202614 -0.022423424 4.5637023 + 83080 20.44144 0.99947597 24.038239 6.0309833 4.5322691 1.4987142 0.001777384 -0.021074833 4.5515665 + 83090 20.206272 1.0177509 23.473867 6.0655155 4.539398 1.5261174 0.0017191801 -0.021266006 4.5589449 + 83100 20.072663 1.000343 23.666542 6.0681009 4.5680866 1.5000143 0.0017321726 -0.021935165 4.5882896 + 83110 20.215837 1.0194295 23.71844 6.0722258 4.5435913 1.5286345 0.0015491998 -0.021105494 4.5631476 + 83120 20.034907 1.0307305 23.386426 6.0623202 4.5167398 1.5455805 0.0014249313 -0.020645457 4.5359603 + 83130 19.986427 1.0187432 23.628937 6.0711854 4.54358 1.5276054 0.0013933567 -0.020783813 4.5629705 + 83140 19.958405 1.0295024 23.517788 6.0840796 4.5403408 1.5437388 0.0016036526 -0.021688162 4.5604253 + 83150 20.262842 1.0323301 23.78815 6.0773526 4.5293736 1.547979 0.0016441978 -0.021787119 4.5495165 + 83160 20.433834 1.0217505 23.74017 6.083584 4.5514691 1.5321149 0.0015782892 -0.021354948 4.5712458 + 83170 20.019833 1.0185438 23.793037 6.0744441 4.5471377 1.5273064 0.0014618679 -0.021137077 4.5668129 + 83180 20.15602 1.0196632 23.684643 6.0801661 4.5511811 1.5289849 0.0015856416 -0.021122291 4.5707178 + 83190 20.179173 1.0335187 23.6039 6.090878 4.5411168 1.5497613 0.0014685856 -0.020057867 4.559706 + 83200 20.156584 1.0198751 23.729659 6.0718471 4.5425445 1.5293027 0.0014671486 -0.019765545 4.5608429 + 83210 20.26374 1.0151022 23.476468 6.0475237 4.525378 1.5221457 0.0016173912 -0.020152797 4.5439134 + 83220 20.069079 0.99925117 23.700875 6.0318753 4.5334982 1.4983771 0.0017515711 -0.021200533 4.5529472 + 83230 20.123775 0.99914161 23.831541 6.0637492 4.5655364 1.4982128 0.0018270518 -0.02202472 4.585734 + 83240 20.191402 1.0369606 23.55459 6.0743969 4.5194744 1.5549225 0.0016166291 -0.021313997 4.5391718 + 83250 20.332656 0.99916814 23.631932 6.0500021 4.5517494 1.4982526 0.0015272377 -0.021051034 4.5712732 + 83260 20.382246 1.0255564 23.342771 6.0818317 4.5440099 1.5378218 0.0012882057 -0.020081357 4.562803 + 83270 20.483304 1.0073778 23.447083 6.0685193 4.5579562 1.5105631 0.0010421195 -0.018571311 4.5754854 + 83280 19.904131 1.0114492 23.662849 6.0352887 4.5186205 1.5166681 0.0010565811 -0.018651826 4.5362158 + 83290 20.192009 1.0013209 23.474595 6.0156862 4.5142055 1.5014807 0.0012683089 -0.020180523 4.5331177 + 83300 20.293856 1.0114173 23.858852 6.050953 4.5343328 1.5166202 0.0015206554 -0.021048533 4.5538607 + 83310 20.410386 1.0007486 23.796094 6.034121 4.5334984 1.5006225 0.0015372929 -0.021008871 4.55297 + 83320 19.85204 0.99217934 23.556622 6.0187991 4.5310262 1.4877729 0.0016217802 -0.02104054 4.550445 + 83330 19.978984 1.0039654 23.643216 6.0383414 4.5328953 1.505446 0.0016978431 -0.021233475 4.5524309 + 83340 20.151879 1.0002046 23.260315 6.0405601 4.5407533 1.4998068 0.0014727961 -0.020252986 4.5595335 + 83350 20.3209 1.0103955 23.644352 6.052478 4.5373899 1.5150881 0.0013669385 -0.019900279 4.5559232 + 83360 20.106288 1.0244639 23.642081 6.0719211 4.5357375 1.5361836 0.0012504608 -0.019534233 4.5540213 + 83370 20.339265 1.0262398 23.908421 6.0699357 4.5310891 1.5388466 0.0011214767 -0.018835533 4.5488031 + 83380 20.126943 1.0178409 23.719631 6.0717384 4.5454859 1.5262525 0.0013736458 -0.020132398 4.5642446 + 83390 20.293478 1.0299823 23.945756 6.0508135 4.506355 1.5444585 0.0015489711 -0.021164173 4.5259702 + 83400 20.350286 1.0218904 23.683735 6.0718929 4.5395682 1.5323247 0.0016575495 -0.02166988 4.5595805 + 83410 20.319536 1.0100387 23.881923 6.0386819 4.5241289 1.514553 0.0016713882 -0.021845651 4.5443032 + 83420 20.378879 1.018312 23.769864 6.0515979 4.5246391 1.5269588 0.0017063485 -0.02185931 4.5447921 + 83430 20.107996 1.0213588 23.622479 6.0785025 4.546975 1.5315275 0.0018321972 -0.022352337 4.5674951 + 83440 20.044169 1.0311238 23.914697 6.0841054 4.5379352 1.5461702 0.0019327119 -0.022778188 4.5587807 + 83450 20.418711 1.0284971 23.990779 6.0726985 4.5304672 1.5422313 0.0019991402 -0.02290322 4.5513712 + 83460 20.275335 1.0379503 23.985811 6.074964 4.5185575 1.5564065 0.0016462217 -0.021251834 4.5381631 + 83470 20.033367 1.0248534 23.685085 6.0722066 4.5354389 1.5367677 0.0014865132 -0.020052404 4.5540048 + 83480 20.363432 1.0449722 23.822518 6.0865743 4.5196384 1.5669359 0.0014009772 -0.019371122 4.5376086 + 83490 20.243877 1.0149851 23.800353 6.0606395 4.5386694 1.5219701 0.0012975084 -0.018773577 4.5561454 + 83500 20.138657 1.0065708 23.502981 6.0617326 4.5523796 1.5093529 0.0013057429 -0.018635044 4.5697089 + 83510 20.174745 1.0218836 23.741939 6.0833778 4.5510633 1.5323145 0.001472085 -0.020080845 4.5696721 + 83520 20.306374 1.0078064 23.598516 6.0568156 4.5456099 1.5112057 0.0017449493 -0.021817498 4.5656825 + 83530 20.12628 1.0199592 23.780045 6.050752 4.5213232 1.5294288 0.00190103 -0.022690697 4.5421129 + 83540 20.200115 1.0317096 23.940985 6.0594549 4.5124063 1.5470486 0.0019624769 -0.023314753 4.5337586 + 83550 20.382867 1.0154347 23.792797 6.0523162 4.5296718 1.5226444 0.0019473691 -0.0229622 4.5506867 + 83560 20.347001 1.0074872 23.884852 6.0566763 4.5459493 1.510727 0.001759102 -0.022115801 4.566306 + 83570 20.255798 1.020585 23.792032 6.0647836 4.5344163 1.5303672 0.0017345058 -0.02188455 4.5545664 + 83580 20.310829 1.0296973 24.003853 6.0836055 4.5395744 1.5440311 0.0018012054 -0.022111184 4.5598843 + 83590 20.118327 1.0268208 23.859523 6.1097154 4.5699975 1.5397178 0.0015874789 -0.020893139 4.5893032 + 83600 20.56564 1.0426906 23.976894 6.1059941 4.5424796 1.5635145 0.0013335376 -0.020142451 4.5612885 + 83610 20.228491 1.0376599 23.966615 6.1077494 4.5517784 1.555971 0.001419696 -0.02127017 4.5716289 + 83620 20.198851 1.0324498 23.932601 6.1052821 4.5571236 1.5481585 0.0013852123 -0.020887577 4.576626 + 83630 20.265413 1.041649 24.017628 6.096294 4.5343412 1.5619527 0.0013049889 -0.020577014 4.5536133 + 83640 20.103248 1.0331818 24.069095 6.0665871 4.517331 1.5492562 0.0013154513 -0.020200839 4.5362163 + 83650 20.207864 1.0164221 23.805741 6.0656579 4.5415329 1.524125 0.0012535954 -0.01943834 4.5597177 + 83660 19.996839 1.0331736 24.088439 6.0712934 4.5220497 1.5492438 0.0012211423 -0.01936706 4.5401956 + 83670 20.290973 1.0307911 23.716901 6.0817035 4.5360322 1.5456713 0.0011785089 -0.019130738 4.5539844 + 83680 20.081341 1.0318805 23.856873 6.0725628 4.525258 1.5473048 0.0010544844 -0.018595197 4.5427987 + 83690 20.30008 1.0321579 23.569671 6.0863926 4.5386718 1.5477208 0.001173224 -0.019001735 4.5565003 + 83700 20.070864 1.0266947 23.202673 6.0815323 4.5420036 1.5395286 0.001412627 -0.019960181 4.5605512 + 83710 19.98278 1.0174524 23.844757 6.068808 4.5431382 1.5256699 0.0016048311 -0.020686238 4.5622196 + 83720 20.377624 1.019336 23.870649 6.0596618 4.5311675 1.5284943 0.0016606965 -0.021128332 4.5506351 + 83730 20.500448 1.0217372 23.968781 6.0691774 4.5370824 1.532095 0.0016790895 -0.021439682 4.556843 + 83740 20.299942 1.0094456 23.556153 6.063244 4.5495803 1.5136637 0.0016956561 -0.022056306 4.5699409 + 83750 20.323456 1.02319 23.841981 6.0670042 4.5327308 1.5342733 0.001901296 -0.023432945 4.5542625 + 83760 20.438178 1.0344817 23.571909 6.0798956 4.5286903 1.5512053 0.002027484 -0.024187714 4.5508506 + 83770 19.990236 1.0307906 23.684367 6.0861246 4.5404542 1.5456705 0.0020035169 -0.023780834 4.5622315 + 83780 19.992086 1.0333872 23.944908 6.0835919 4.5340277 1.5495641 0.0020119691 -0.023813892 4.5558297 + 83790 20.004999 1.0299458 23.904406 6.0950194 4.5506158 1.5444037 0.0020066407 -0.023904414 4.5725135 + 83800 20.129755 1.0155967 23.665574 6.0618247 4.5389375 1.5228872 0.0018813522 -0.022751123 4.5598073 + 83810 20.355286 1.0216769 23.789792 6.0452629 4.5132583 1.5320046 0.0016945462 -0.021989334 4.5335531 + 83820 20.302072 1.0098875 23.561552 6.0409542 4.526628 1.5143262 0.0015501369 -0.020995866 4.5460737 + 83830 19.686536 1.0386513 23.736081 6.0845772 4.5271195 1.5574577 0.00168588 -0.021826599 4.5472602 + 83840 20.015407 1.0264146 23.755435 6.0881122 4.5490035 1.5391086 0.0018384757 -0.022699763 4.5698648 + 83850 20.004275 1.0194167 23.668247 6.0698942 4.5412789 1.5286153 0.0019883938 -0.023396323 4.5626868 + 83860 20.305677 1.0213071 23.761276 6.0556184 4.5241684 1.53145 0.0019001379 -0.023406322 4.5456746 + 83870 20.319242 1.0215849 23.705094 6.0556467 4.5237801 1.5318666 0.0017797338 -0.022791516 4.5447919 + 83880 20.2631 1.0022457 23.676728 6.0692166 4.5663492 1.5028674 0.001869802 -0.023153498 4.5876329 + 83890 20.106522 0.99346987 23.686394 6.0394637 4.5497556 1.4897081 0.0017824707 -0.022750501 4.5707237 + 83900 19.898467 0.99967111 23.598528 6.0281729 4.5291661 1.4990068 0.0017747698 -0.022456302 4.5498476 + 83910 20.165815 1.0052151 23.775432 6.060713 4.5533929 1.5073201 0.0018027523 -0.022421906 4.5740121 + 83920 20.269286 1.0027614 23.939119 6.0231147 4.5194741 1.5036407 0.0019582098 -0.022688684 4.5402045 + 83930 20.330007 1.0019244 23.987391 6.0359579 4.5335722 1.5023856 0.0019146148 -0.022107638 4.5537653 + 83940 20.424426 1.0045522 23.905849 6.0375695 4.5312434 1.506326 0.0018174651 -0.02138851 4.5508145 + 83950 20.266232 1.0093807 23.683006 6.0370961 4.5235298 1.5135663 0.0017931082 -0.021250853 4.5429876 + 83960 20.163865 1.0114044 23.699172 6.0605295 4.5439286 1.5166009 0.0016350383 -0.020973212 4.5632668 + 83970 20.493806 1.0240659 23.634884 6.0566768 4.52109 1.5355868 0.0014691986 -0.020723641 4.5403444 + 83980 20.433688 1.0172693 23.621499 6.0767808 4.5513855 1.5253953 0.0015310401 -0.021277895 4.5711324 + 83990 20.248662 1.0231257 23.709527 6.0778899 4.543713 1.534177 0.0016658145 -0.021897671 4.5639448 + 84000 20.376732 1.0226029 23.737312 6.0713083 4.5379152 1.5333931 0.0018512654 -0.022478015 4.5585419 + 84010 20.03638 1.0134983 23.538174 6.0519969 4.5322562 1.5197407 0.0019294248 -0.022123917 4.5524507 + 84020 20.106421 0.98877948 23.775162 6.0099371 4.5272623 1.4826748 0.0019573529 -0.0222238 4.5475287 + 84030 19.86288 1.000734 23.471025 6.0252968 4.5246961 1.5006007 0.0018706266 -0.022109356 4.5449348 + 84040 20.20258 0.99700413 23.621112 6.0234342 4.5284265 1.4950077 0.0017132102 -0.021407468 4.5481208 + 84050 20.454985 0.99959176 23.762482 6.0500892 4.5512014 1.4988878 0.0018240372 -0.021497522 4.5708749 + 84060 20.456312 1.0063371 23.800501 6.0291471 4.5201446 1.5090025 0.0019024082 -0.021798707 4.5400409 + 84070 20.300126 1.0013825 23.629292 6.0091374 4.5075643 1.5015731 0.001999968 -0.022511231 4.5280756 + 84080 20.230035 0.98098957 23.731365 5.994662 4.5236682 1.4709939 0.0020714101 -0.023072272 4.544669 + 84090 20.326763 0.9866204 23.810299 6.009485 4.5300477 1.4794373 0.0022021294 -0.023953572 4.5517991 + 84100 20.293466 1.0026994 23.90743 6.0071871 4.5036394 1.5035477 0.0022565193 -0.024176172 4.5255591 + 84110 20.20146 0.99238855 24.067939 5.9925499 4.5044633 1.4880866 0.0019906796 -0.023071914 4.5255445 + 84120 20.399876 0.98476552 23.617483 6.0144728 4.5378169 1.4766559 0.0017698665 -0.021392344 4.5574394 + 84130 20.250991 1.0069602 23.904775 6.0376414 4.5277045 1.5099369 0.0014185128 -0.019044666 4.5453307 + 84140 20.23379 0.9988188 23.444165 6.0411507 4.5434219 1.4977288 0.0015037551 -0.019615774 4.5615339 + 84150 20.414929 1.006237 23.764697 6.0353602 4.5265079 1.5088523 0.0015331465 -0.020494916 4.5454696 + 84160 20.44743 0.99477173 23.760621 6.0211761 4.5295159 1.4916602 0.0015962866 -0.021276639 4.5491963 + 84170 20.295951 0.98688644 23.51733 5.9981418 4.5183055 1.4798362 0.0015897921 -0.021366558 4.5380823 + 84180 20.334593 0.99362335 23.577237 6.009777 4.5198388 1.4899382 0.0014680686 -0.020599327 4.5389701 + 84190 20.139178 0.99100223 23.407694 6.0058502 4.5198423 1.4860079 0.0013463266 -0.020187455 4.5386835 + 84200 20.123729 0.99881954 23.782941 6.0463941 4.5486642 1.4977299 0.001395143 -0.020762455 4.5680316 + 84210 20.067252 1.0237763 23.512987 6.0637874 4.5286348 1.5351526 0.001483436 -0.020986532 4.5481379 + 84220 20.101215 1.010426 23.902846 6.065981 4.5508473 1.5151338 0.0015706218 -0.021678555 4.5709552 + 84230 20.318096 1.0444191 23.994222 6.1073646 4.5412581 1.5661065 0.0016802662 -0.0219587 4.5615365 + 84240 20.387912 1.0468344 24.02206 6.1127564 4.5430282 1.5697282 0.0016784001 -0.022430479 4.5637803 + 84250 20.513304 1.0325569 23.900526 6.1081308 4.5598118 1.548319 0.0016702042 -0.022073249 4.5802148 + 84260 20.322659 1.0398756 23.914933 6.1146105 4.5553171 1.5592934 0.0018366621 -0.02262941 4.5761099 + 84270 19.968395 1.0513709 23.93578 6.1006075 4.5240768 1.5765307 0.0016959359 -0.022028188 4.544409 + 84280 20.018666 1.0337271 23.734961 6.1149485 4.5648747 1.5500738 0.0017133865 -0.021840727 4.585002 + 84290 20.182286 1.0388056 23.921586 6.0995803 4.5418913 1.557689 0.0016219639 -0.021234022 4.5615034 + 84300 20.369332 1.0299047 23.519292 6.0929145 4.5485723 1.5443421 0.0016856808 -0.021649681 4.5685363 + 84310 20.07181 1.040398 23.828751 6.0858233 4.5257464 1.5600768 0.0017321559 -0.021691342 4.5457056 + 84320 20.117814 1.0309195 24.037946 6.0834009 4.537537 1.5458638 0.0016283798 -0.021362389 4.557271 + 84330 20.383576 1.008264 23.623762 6.063487 4.5515952 1.5118919 0.0018234214 -0.022256358 4.5720281 + 84340 20.39363 0.99911524 23.553076 6.0416167 4.5434433 1.4981733 0.0017057715 -0.022009413 4.563747 + 84350 19.564988 1.0266104 23.955082 6.0598877 4.5204854 1.5394023 0.001571279 -0.021643192 4.5405573 + 84360 20.205714 1.0107862 23.480331 6.0498097 4.5341358 1.515674 0.0015083641 -0.02193258 4.55456 + 84370 20.234515 0.99322794 23.850817 6.0244095 4.5350642 1.4893453 0.0015349586 -0.021856028 4.5553852 + 84380 20.123667 0.99778093 23.736941 6.0363212 4.5401487 1.4961725 0.0016883438 -0.022501096 4.5609614 + 84390 20.360394 0.99241276 23.426938 6.0106182 4.5224953 1.4881229 0.0016542296 -0.022583232 4.5434243 + 84400 20.492609 0.98324844 23.685455 6.0008543 4.5264732 1.474381 0.0016848299 -0.022488558 4.547277 + 84410 20.294796 0.98407484 23.759041 5.9824895 4.5068693 1.4756202 0.0017247003 -0.022838831 4.5279834 + 84420 20.22105 0.96730883 23.753618 5.9610368 4.5105572 1.4504796 0.0017930593 -0.023129575 4.5318937 + 84430 20.081055 0.98262677 23.617129 5.9981977 4.5247489 1.4734488 0.001724033 -0.022559276 4.5455841 + 84440 20.224472 0.99437393 23.444263 6.0199084 4.5288447 1.4910637 0.0017886788 -0.022842138 4.5498982 + 84450 20.200747 0.99478011 23.747731 6.0217644 4.5300916 1.4916728 0.0018317509 -0.022909441 4.5511693 + 84460 20.208677 1.0053631 23.843115 6.0154939 4.5079519 1.507542 0.0019513261 -0.023172048 4.5291726 + 84470 19.922672 0.99492685 23.643739 6.0195692 4.5276764 1.4918928 0.0018729577 -0.022841623 4.548645 + 84480 20.144529 0.99827385 23.728399 6.0443071 4.5473954 1.4969116 0.0018431051 -0.022490761 4.5680431 + 84490 20.254961 1.0092699 23.93119 6.0323395 4.5189393 1.5134002 0.0019741402 -0.023253043 4.5402182 + 84500 20.355794 0.99124778 23.576211 6.0059788 4.5196028 1.486376 0.0021278181 -0.024050767 4.5415257 + 84510 20.463387 0.99218316 23.694782 6.013542 4.5257633 1.4877787 0.0021703278 -0.023901859 4.5474949 + 84520 20.255874 0.98576302 23.530351 5.9879707 4.509819 1.4781517 0.0022062131 -0.023913245 4.5315261 + 84530 20.317189 0.97677825 23.726614 5.9880442 4.5233652 1.464679 0.0021859986 -0.023402921 4.5445821 + 84540 20.159145 0.98037402 23.603207 6.0092231 4.5391522 1.4700708 0.0021342469 -0.023367938 4.5603859 + 84550 20.114154 0.97903408 23.359186 5.9815758 4.5135142 1.4680616 0.0019812506 -0.022455016 4.533988 + 84560 20.331826 0.97085018 23.48296 5.9960606 4.5402707 1.4557899 0.0019971726 -0.022739404 4.561013 + 84570 20.381476 0.98605373 23.466405 6.0012739 4.5226863 1.4785876 0.0020240819 -0.022643944 4.5433062 + 84580 20.094419 0.99111619 23.807288 6.0012499 4.5150712 1.4861787 0.0020435135 -0.022269361 4.5352971 + 84590 20.177044 0.99090845 23.580709 6.0202625 4.5343953 1.4858672 0.0021167471 -0.022498472 4.554777 + 84600 20.189482 0.99717836 23.657455 6.0090601 4.5137911 1.4952689 0.0018894887 -0.021898892 4.5338005 + 84610 20.25673 1.0007947 23.904446 6.018541 4.5178493 1.5006917 0.0016702327 -0.020562239 4.5367413 + 84620 20.274012 1.0002401 23.787732 6.0038193 4.5039593 1.49986 0.0018072397 -0.021008832 4.5231609 + 84630 20.099318 0.98246552 23.693831 6.0031368 4.5299298 1.473207 0.0019222661 -0.021531646 4.5495391 + 84640 20.247967 0.98324009 23.606443 6.022636 4.5482675 1.4743685 0.002006686 -0.022463749 4.5687245 + 84650 20.133715 1.0064755 23.651867 6.0568812 4.5476713 1.50921 0.0020907092 -0.022587797 4.5681684 + 84660 20.14517 1.0062107 23.96928 6.0535852 4.5447723 1.5088129 0.0019031746 -0.021867231 4.5647363 + 84670 20.327735 1.015913 23.601675 6.060172 4.5368104 1.5233616 0.0016851482 -0.021188876 4.5563142 + 84680 20.419724 0.99871565 23.907426 6.049408 4.5518338 1.4975741 0.0018037096 -0.021514695 4.5715448 + 84690 20.189386 0.99507243 23.733844 6.0340725 4.5419614 1.4921111 0.0018102982 -0.021281012 4.5614321 + 84700 20.074085 1.0014778 23.823012 6.0157919 4.5140759 1.5017159 0.0016475075 -0.020510772 4.5329392 + 84710 20.359903 1.0036556 23.575926 6.0288838 4.5239023 1.5049816 0.0015774106 -0.020038098 4.542363 + 84720 20.2381 0.98684831 23.515802 6.0198967 4.5401177 1.479779 0.0016419065 -0.02029969 4.5587754 + 84730 20.343081 1.0111753 23.793588 6.0576195 4.5413622 1.5162573 0.0015346743 -0.019530358 4.5593579 + 84740 20.418263 1.0001707 23.517167 6.047399 4.547643 1.499756 0.0013572505 -0.01904721 4.565333 + 84750 20.193863 1.0059758 23.712343 6.0290485 4.5205878 1.5084608 0.0012869295 -0.018569105 4.5378699 + 84760 20.192629 0.98868957 23.489227 6.0192471 4.5367071 1.48254 0.0012671504 -0.018617158 4.5540571 + 84770 20.415395 0.98641295 23.588072 6.0440894 4.5649632 1.4791262 0.0013031607 -0.019215307 4.5828753 + 84780 20.057375 1.0111714 23.68572 6.0450033 4.5287517 1.5162516 0.0012741556 -0.019051233 4.5465288 + 84790 20.153787 1.0018181 23.669391 6.0289513 4.5267251 1.5022262 0.001100132 -0.018740476 4.5443655 + 84800 20.180575 1.0060382 23.955402 6.050183 4.5416287 1.5085543 0.0012248955 -0.019897901 4.5603017 + 84810 20.311522 1.0200234 23.769696 6.0592989 4.5297738 1.5295251 0.0014091399 -0.020828378 4.5491931 + 84820 20.163926 1.015973 23.674169 6.0658305 4.542379 1.5234515 0.0016245182 -0.021759109 4.5625136 + 84830 20.163067 1.0235661 23.690968 6.0624752 4.5276378 1.5348374 0.0016906679 -0.021911342 4.5478585 + 84840 20.174383 1.0153025 23.733011 6.0623663 4.5399203 1.522446 0.0018331723 -0.022297961 4.5603851 + 84850 20.112312 1.0267315 23.749437 6.0845252 4.5449414 1.5395839 0.0018933825 -0.02219356 4.5652415 + 84860 20.349966 1.0135701 23.593631 6.0485223 4.5286739 1.5198484 0.0017603414 -0.021577037 4.5484906 + 84870 20.347235 1.0283986 23.804636 6.0579001 4.5158163 1.5420837 0.0015888506 -0.020985353 4.5352128 + 84880 20.329972 1.0320988 24.016954 6.0955009 4.5478688 1.5476321 0.0013449649 -0.020235097 4.566759 + 84890 20.106197 1.04605 23.772683 6.1017744 4.5332224 1.568552 0.0012629754 -0.01969689 4.5516563 + 84900 20.193396 1.0223334 23.789102 6.0694358 4.536447 1.5329889 0.0011285021 -0.01895391 4.5542724 + 84910 20.490652 0.99701656 23.491109 6.0315882 4.5365619 1.4950263 0.0010907378 -0.018571404 4.5540425 + 84920 20.399021 0.99648728 23.662513 6.021584 4.5273513 1.4942327 0.0010772494 -0.018512205 4.5447862 + 84930 20.486968 0.99011481 23.917857 6.0155872 4.53091 1.4846772 0.0012376156 -0.019762116 4.5494345 + 84940 20.002434 1.0023106 23.684047 6.0020731 4.4991083 1.5029647 0.0013165055 -0.020123314 4.5179151 + 84950 20.385137 0.96580888 23.197266 5.9774311 4.5292007 1.4482304 0.0012437856 -0.019771881 4.5477288 + 84960 20.351494 0.98716699 23.416473 5.9971637 4.5169068 1.4802569 0.0013698032 -0.020216967 4.5357539 + 84970 20.083123 0.98843226 23.545118 6.001199 4.5190449 1.4821542 0.0014734655 -0.020783221 4.5383546 + 84980 20.270902 0.98626024 23.639245 5.9917267 4.5128295 1.4788972 0.0015597601 -0.021707603 4.5329773 + 84990 20.003907 1.0008909 23.757281 6.0331976 4.5323616 1.500836 0.0016003911 -0.021957832 4.5527191 + 85000 20.087903 1.0289644 23.724912 6.0443363 4.5014043 1.5429321 0.0017748163 -0.022624135 4.5222536 + 85010 20.115668 1.0143402 23.651761 6.0490094 4.5280063 1.5210031 0.0019960749 -0.023829442 4.5498396 + 85020 20.273917 0.99179341 23.874608 6.0182951 4.5311008 1.4871942 0.0019824909 -0.023615465 4.5527338 + 85030 20.460137 0.99926772 23.573238 6.0212339 4.522832 1.498402 0.001941091 -0.023420312 4.5443112 + 85040 20.228054 0.99551207 23.660885 6.014966 4.5221956 1.4927704 0.0020232456 -0.02371294 4.5438853 + 85050 20.484512 1.023458 23.752616 6.0300106 4.4953354 1.5346753 0.0020132191 -0.023803044 4.5171252 + 85060 20.267567 0.99498268 23.851894 6.0290666 4.53709 1.4919765 0.0018987553 -0.023285692 4.558477 + 85070 20.481549 0.99258345 23.823104 6.022693 4.5343141 1.4883789 0.0016446118 -0.022228442 4.5548979 + 85080 20.084211 0.99910858 23.609204 6.0212001 4.5230368 1.4981633 0.0015766231 -0.021480237 4.5429404 + 85090 20.177669 1.0195064 23.717542 6.0498935 4.5211437 1.5287498 0.0016322654 -0.021690931 4.5412024 + 85100 20.247752 1.0125866 23.619686 6.0508194 4.5324458 1.5183736 0.0014801174 -0.020994552 4.5519602 + 85110 20.166336 1.0046917 23.791519 6.0494718 4.5429366 1.5065353 0.0014108373 -0.020400848 4.5619266 + 85120 20.21789 0.99574242 23.495244 6.0357427 4.5426269 1.4931158 0.0014153761 -0.020223032 4.5614346 + 85130 19.818877 1.0083873 23.728804 6.0338276 4.5217509 1.5120768 0.0013615818 -0.02022046 4.5406097 + 85140 20.39791 1.0154451 23.553313 6.0515218 4.5288619 1.52266 0.0013159802 -0.020001463 4.5475474 + 85150 20.16388 1.0241032 23.939207 6.054946 4.5193032 1.5356427 0.0014892598 -0.020920127 4.5387341 + 85160 20.148999 1.0087767 23.502172 6.0602286 4.5475679 1.5126607 0.0015592118 -0.021345661 4.5673544 + 85170 20.509606 1.0040191 23.63744 6.0645678 4.5590412 1.5055266 0.0017886498 -0.02260448 4.579857 + 85180 20.347459 1.0144661 23.837642 6.051717 4.5305251 1.5211919 0.0018741487 -0.022983609 4.5516346 + 85190 20.451888 1.0111146 23.583087 6.0510324 4.5348661 1.5161663 0.0019400578 -0.023279862 4.5562059 + 85200 20.334341 1.0201629 23.857271 6.0637859 4.5340517 1.5297342 0.0019776916 -0.023299249 4.5553732 + 85210 19.952239 1.0196456 23.879572 6.0663338 4.5373752 1.5289586 0.0019063343 -0.022637489 4.5581063 + 85220 20.322766 1.0057067 23.61251 6.0773615 4.5693043 1.5080572 0.0017315184 -0.021873051 4.5894458 + 85230 20.18949 1.0033506 23.620563 6.0648701 4.5603459 1.5045242 0.0016255547 -0.021840908 4.5805613 + 85240 20.249956 1.0032111 23.775199 6.028737 4.5244219 1.5043151 0.0014911322 -0.021061591 4.5439923 + 85250 20.402833 1.0177613 23.619769 6.0326739 4.5065408 1.526133 0.0015414451 -0.020602096 4.5256015 + 85260 20.245703 0.99686231 23.523276 6.0329119 4.5381168 1.494795 0.0017307475 -0.02117656 4.5575626 + 85270 20.202134 1.0072594 23.730149 6.0369689 4.5265834 1.5103855 0.0017250212 -0.020967936 4.5458263 + 85280 20.47943 1.0080578 23.52902 6.0329088 4.5213261 1.5115827 0.0018752849 -0.021554851 4.5410057 + 85290 20.264147 0.99257128 23.666767 5.9875709 4.4992102 1.4883606 0.0017947755 -0.021108477 4.5185239 + 85300 20.172709 0.99421738 23.519067 6.0146255 4.5237966 1.490829 0.0016434965 -0.020564213 4.5427173 + 85310 20.351468 1.0176131 23.78026 6.0557165 4.5298056 1.5259109 0.0014856749 -0.019557219 4.5478772 + 85320 20.330445 1.013727 23.8717 6.0698636 4.54978 1.5200836 0.001497004 -0.019797261 4.5680802 + 85330 19.756195 1.0338671 23.984288 6.0954982 4.5452145 1.5502837 0.001590026 -0.020645129 4.5642696 + 85340 19.776369 1.0211295 24.022565 6.0845323 4.5533486 1.5311837 0.0017531036 -0.021611985 4.5732075 + 85350 20.203049 1.0106848 23.781941 6.0717489 4.5562271 1.5155218 0.0018498048 -0.022665178 4.5770425 + 85360 20.317732 1.0058178 23.834993 6.0509021 4.5426784 1.5082238 0.0019785802 -0.023222626 4.5639224 + 85370 20.17611 1.0064051 23.509781 6.0383502 4.5292457 1.5091044 0.0018406078 -0.022749005 4.5501541 + 85380 19.601196 1.0128919 23.971678 6.0337642 4.5149329 1.5188313 0.0018350212 -0.02246005 4.5355579 + 85390 19.771844 0.9905133 23.826084 6.0251981 4.5399234 1.4852747 0.0018475295 -0.023121327 4.5611972 + 85400 20.035806 1.0082787 23.936819 6.0302325 4.5183186 1.5119138 0.0018062532 -0.02302578 4.5395382 + 85410 20.078814 0.99821671 23.835896 6.0342452 4.5374193 1.496826 0.0017628731 -0.022611151 4.5582676 + 85420 20.255532 1.0026502 23.69158 6.0398817 4.5364076 1.503474 0.0016799567 -0.022166212 4.5568939 + 85430 20.234077 1.0014036 23.786401 6.0207189 4.5191141 1.5016047 0.0017257333 -0.022280302 4.5396687 + 85440 20.038121 0.99703307 23.911331 6.0060546 4.5110036 1.4950511 0.0017470536 -0.021963126 4.5312196 + 85450 20.30421 0.99807504 23.772743 6.0347174 4.5381039 1.4966135 0.0019019236 -0.02202162 4.5582236 + 85460 20.082687 1.0187907 23.883683 6.0394716 4.511795 1.5276766 0.0018493499 -0.021712427 4.5316581 + 85470 20.375098 1.0176607 23.758921 6.0599133 4.5339311 1.5259822 0.0017022815 -0.021541304 4.5537701 + 85480 20.399547 1.0159299 23.90399 6.0425753 4.5191884 1.5233869 0.0018591708 -0.022378547 4.5397078 + 85490 20.182461 0.99963375 23.636243 6.0396521 4.5407013 1.4989508 0.0020310755 -0.023154862 4.5618251 + 85500 20.421565 1.0026579 24.000994 6.0146348 4.5111492 1.5034856 0.0019397516 -0.022810089 4.5320195 + 85510 20.352608 0.99525201 23.647763 6.0160481 4.5236677 1.4923804 0.0016835388 -0.021313404 4.5432976 + 85520 20.522135 0.98122731 23.524678 5.9938024 4.522452 1.4713503 0.0015082517 -0.020433034 4.5413768 + 85530 20.419766 0.96743114 23.578265 5.9644077 4.5137447 1.450663 0.0016032854 -0.021047587 4.533189 + 85540 20.146561 0.97113931 23.586317 5.9606382 4.5044148 1.4562234 0.0019021406 -0.022176482 4.5246891 + 85550 20.361308 0.97380802 23.813712 5.9777334 4.5175083 1.4602251 0.0019799048 -0.022877373 4.5384058 + 85560 20.365133 0.98113847 23.830405 5.9985004 4.5272833 1.4712171 0.001692041 -0.021502421 4.5470937 + 85570 20.370864 0.99969743 23.603736 6.0120465 4.5130002 1.4990463 0.001422509 -0.020611662 4.5321894 + 85580 20.423818 0.99358243 23.707729 6.0309448 4.541068 1.4898768 0.0014602782 -0.02084561 4.5604533 + 85590 19.974095 1.0214869 23.550512 6.0396255 4.5079058 1.5317196 0.0017127303 -0.021948514 4.5281416 + 85600 20.430061 1.027634 23.799177 6.0742868 4.5333495 1.5409372 0.0018402353 -0.022615503 4.5541248 + 85610 20.515526 1.0204637 23.642588 6.0900149 4.5598295 1.5301853 0.0020534062 -0.022973504 4.5807496 + 85620 20.046446 1.0282175 23.897159 6.0649264 4.5231143 1.5418121 0.0020331477 -0.022760943 4.5438421 + 85630 20.1013 0.99110467 23.609 6.0474711 4.5613097 1.4861614 0.0020022333 -0.022488759 4.5817962 + 85640 20.19885 1.0087712 23.582322 6.034592 4.5219396 1.5126524 0.0020012223 -0.023185337 4.5431238 + 85650 20.074652 0.99952845 23.893629 6.0282632 4.5294703 1.4987929 0.0019201889 -0.022988391 4.5505385 + 85660 20.230356 0.99083953 23.705335 6.0040252 4.5182614 1.4857639 0.0017106449 -0.022079686 4.5386304 + 85670 20.389533 0.9695657 23.58159 6.0137718 4.559908 1.4538638 0.0018116094 -0.022239964 4.5803364 + 85680 20.326699 1.0028444 23.812795 6.0304916 4.5267265 1.5037651 0.001897048 -0.022354325 4.5471838 + 85690 20.501909 0.98995425 23.584401 6.0287778 4.5443414 1.4844364 0.0017817012 -0.021782652 4.5643423 + 85700 20.144396 1.0198619 23.891806 6.0460955 4.5168125 1.529283 0.0017056958 -0.021068257 4.5361751 + 85710 20.467306 1.0126744 23.734896 6.0459105 4.5274052 1.5185053 0.0017217718 -0.021569301 4.5472527 + 85720 20.360814 1.0115553 23.694807 6.0585891 4.5417619 1.5168272 0.0015356679 -0.020970995 4.5611973 + 85730 20.222338 0.99661704 23.763911 6.0600265 4.5655992 1.4944273 0.0014066868 -0.020375026 4.5845676 + 85740 20.47249 0.99062889 23.891945 6.0415916 4.5561436 1.485448 0.00098314317 -0.017840333 4.5730008 + 85750 20.529129 1.0149134 23.687588 6.0591785 4.5373158 1.5218626 0.0010183378 -0.017816527 4.554114 + 85760 20.395148 1.0251029 23.713667 6.0659714 4.5288297 1.5371418 0.0011905183 -0.018681359 4.5463205 + 85770 20.214498 1.0316323 23.818363 6.0845448 4.5376122 1.5469326 0.00111368 -0.018520543 4.5550191 + 85780 19.990535 1.0248148 23.835543 6.0868344 4.5501246 1.5367098 0.0011370783 -0.018348851 4.5673364 + 85790 20.387878 1.0141058 23.958529 6.0618495 4.5411978 1.5206517 0.0012863685 -0.019572939 4.5594843 + 85800 19.953771 1.0154966 23.844957 6.0713602 4.548623 1.5227372 0.0014178001 -0.020182166 4.5673874 + 85810 20.100959 1.0092201 23.851916 6.0339749 4.5206493 1.5133255 0.0015194447 -0.020589752 4.5397196 + 85820 20.112008 1.0056571 23.595251 6.0333514 4.5253686 1.5079829 0.0015914418 -0.020904753 4.5446819 + 85830 20.091533 1.0141419 23.748414 6.0709245 4.5502187 1.5207058 0.0017357981 -0.02118567 4.5696685 + 85840 20.030606 1.0125653 23.851538 6.0721739 4.5538323 1.5183416 0.0017330356 -0.02093363 4.5730329 + 85850 20.261661 1.0182914 23.83506 6.0689882 4.5420603 1.5269279 0.0017347596 -0.02124239 4.5615679 + 85860 20.132485 1.0245554 23.721049 6.0789843 4.5426635 1.5363209 0.0017755886 -0.021775887 4.5626638 + 85870 20.369595 1.0056504 24.049919 6.0416686 4.5336958 1.5079728 0.0018002152 -0.022355166 4.5542507 + 85880 19.984426 0.9989846 23.765896 6.0087664 4.510789 1.4979774 0.0019127369 -0.023063552 4.5319398 + 85890 19.869703 0.99898955 23.674397 6.0299299 4.531945 1.4979848 0.0019084547 -0.022885656 4.5529222 + 85900 19.846408 1.0012107 23.777283 6.0246435 4.523328 1.5013155 0.0017142811 -0.021757556 4.5433713 + 85910 20.108599 1.0097658 24.055475 6.0349193 4.5207755 1.5141438 0.0017742039 -0.022219156 4.5412205 + 85920 19.991625 0.99446488 23.569532 6.0188835 4.5276834 1.4912001 0.0017711792 -0.022215767 4.548128 + 85930 19.882728 0.99669524 23.548082 6.0149793 4.5204348 1.4945445 0.0017307354 -0.021743517 4.5404476 + 85940 20.161638 1.0053343 23.547762 6.038881 4.5313822 1.5074988 0.001837058 -0.021927804 4.551473 + 85950 20.146241 0.99833245 23.43763 6.0224226 4.5254231 1.4969995 0.0020914923 -0.02290153 4.5462332 + 85960 20.394602 0.98564591 23.693042 6.0218813 4.5439053 1.477976 0.0022138991 -0.023628565 4.5653199 + 85970 20.390863 1.0205382 23.709244 6.0558545 4.5255574 1.5302971 0.0021333246 -0.023775225 4.5471993 + 85980 20.103177 1.025655 23.714196 6.0745878 4.536618 1.5379697 0.0022111792 -0.024126717 4.5585336 + 85990 19.852288 1.0278576 23.956671 6.0670526 4.5257801 1.5412725 0.0021427513 -0.023565396 4.5472027 + 86000 20.018071 1.0229344 23.639466 6.0628468 4.5289567 1.5338901 0.0019491603 -0.02310451 4.550112 + 86010 20.366868 1.0218413 24.009266 6.0297069 4.4974559 1.5322511 0.0020602818 -0.023289879 4.5186855 + 86020 20.462159 1.0055915 23.66429 6.0419993 4.5341149 1.5078845 0.0019781412 -0.022578636 4.5547154 + 86030 20.331227 1.0034504 23.498137 6.0477731 4.5430992 1.5046739 0.0017402432 -0.021368393 4.5627273 + 86040 20.189735 1.0193057 23.713078 6.0451496 4.5167007 1.5284489 0.0015765355 -0.020846318 4.5359704 + 86050 20.247968 1.0125977 23.860591 6.0245367 4.5061465 1.5183902 0.0017306004 -0.021648884 4.5260648 + 86060 20.338404 1.0031351 23.922897 6.0388475 4.5346465 1.5042011 0.0018233894 -0.02173005 4.5545531 + 86070 20.245407 1.0098823 23.97543 6.0456615 4.5313429 1.5143186 0.0018077933 -0.021905068 4.5514402 + 86080 20.205128 1.0214014 23.65542 6.0703293 4.5387378 1.5315915 0.0018639851 -0.022434245 4.559308 + 86090 20.308252 1.0143048 23.270835 6.0554713 4.5345214 1.52095 0.0016369204 -0.021560904 4.5544454 + 86100 20.342076 1.013311 23.782771 6.0559505 4.5364906 1.5194598 0.0016217193 -0.02129367 4.5561626 + 86110 20.39767 0.99911892 23.802373 6.0489344 4.5507556 1.4981788 0.0018208819 -0.02224781 4.5711825 + 86120 20.148854 0.99912527 23.518062 6.0447985 4.5466101 1.4981883 0.0019419829 -0.022420362 4.5670885 + 86130 19.734735 1.0207568 23.802378 6.0677939 4.5371691 1.5306248 0.0017495058 -0.022157698 4.5575773 + 86140 20.1791 1.0159508 23.796188 6.0656031 4.5421849 1.5234182 0.0018698116 -0.023127154 4.5634422 + 86150 20.142235 1.0210529 23.791131 6.0579373 4.5268684 1.5310689 0.0019487124 -0.023332088 4.5482518 + 86160 20.103261 1.0015053 23.853019 6.0203472 4.51859 1.5017572 0.0021112683 -0.023924321 4.540403 + 86170 20.310883 0.98739233 23.671335 6.0165411 4.5359463 1.4805948 0.0020620841 -0.023819534 4.5577038 + 86180 20.140401 0.97856757 23.721363 5.9978766 4.5305146 1.4673621 0.0018178005 -0.022795731 4.5514925 + 86190 20.339049 0.98832043 23.545559 6.0150124 4.5330259 1.4819865 0.0020110602 -0.023345955 4.5543608 + 86200 20.126282 0.98890537 23.5651 6.0259655 4.5431019 1.4828636 0.0017848464 -0.022279975 4.563597 + 86210 20.272534 1.0020515 23.636982 6.0415398 4.5389636 1.5025762 0.0015778821 -0.021335694 4.5587214 + 86220 20.246131 1.0057125 23.629269 6.0368908 4.5288249 1.5080659 0.0016244313 -0.021842167 4.5490426 + 86230 19.705964 1.0281977 23.98847 6.0582248 4.5164423 1.5417825 0.0018146987 -0.022794815 4.5374224 + 86240 19.90293 1.0269134 23.891792 6.0725241 4.5326674 1.5398566 0.0020452435 -0.023831935 4.5544541 + 86250 20.263623 1.009414 23.721054 6.0571006 4.5434843 1.5136163 0.0018850626 -0.023356545 4.5649558 + 86260 19.961588 1.0020624 23.860285 6.052038 4.5494454 1.5025926 0.0018032043 -0.022560961 4.5702032 + 86270 20.148505 1.0184973 23.649654 6.0657639 4.5385272 1.5272368 0.0016505937 -0.021882166 4.5587587 + 86280 20.311118 1.0235472 23.730139 6.0572147 4.5224057 1.534809 0.0014982266 -0.02123832 4.5421458 + 86290 20.121082 1.0128175 23.601522 6.0668536 4.5481338 1.5187198 0.0015127571 -0.020707336 4.5673284 + 86300 20.104377 1.0163262 23.651275 6.0684362 4.5444551 1.5239811 0.0015228212 -0.02099181 4.5639241 + 86310 20.444968 1.0115727 23.576682 6.0477433 4.53089 1.5168533 0.001480092 -0.020556018 4.549966 + 86320 20.051902 1.0290042 23.963318 6.0493607 4.5063688 1.5429918 0.0015422029 -0.02038292 4.5252095 + 86330 20.376654 1.0269519 23.536675 6.0678149 4.5279004 1.5399144 0.001732699 -0.021017803 4.5471856 + 86340 20.382718 1.007777 23.805802 6.0332621 4.5221005 1.5111616 0.0016625463 -0.020581152 4.5410191 + 86350 20.106674 0.9971934 23.812371 6.0222451 4.5269536 1.4952915 0.0015749279 -0.020386828 4.5457655 + 86360 20.131015 1.0054298 23.756836 6.0349048 4.5272627 1.507642 0.0016117287 -0.020717079 4.5463681 + 86370 20.129264 0.99830297 23.699012 6.0238177 4.5268624 1.4969553 0.001671792 -0.021096748 4.5462873 + 86380 20.07888 0.98796753 23.70778 6.0187982 4.5373409 1.4814573 0.00182606 -0.021888781 4.5574036 + 86390 20.036028 1.0005586 23.745205 6.0157927 4.5154552 1.5003376 0.0018660812 -0.022529959 4.5361191 + 86400 20.264582 0.98317436 23.613425 6.0107765 4.5365065 1.47427 0.0020832387 -0.023561169 4.5579844 + 86410 20.370336 0.99299491 23.91198 6.006746 4.5177502 1.4889959 0.0021976362 -0.02367541 4.5392279 + 86420 20.498751 0.9968227 23.587345 6.0297944 4.5350588 1.4947356 0.0023227425 -0.023775289 4.5565113 + 86430 20.233507 1.0070841 23.671201 6.0451637 4.5350411 1.5101226 0.0022910727 -0.023864416 4.5566144 + 86440 19.85156 0.98495922 23.745459 6.0372264 4.5602801 1.4769463 0.0020966766 -0.023134677 4.5813181 + 86450 19.669615 1.0127367 23.698464 6.0454899 4.5268912 1.5185987 0.0020333789 -0.023151031 4.5480089 + 86460 20.09746 1.0114043 23.764046 6.0467221 4.5301214 1.5166007 0.0020910869 -0.02315218 4.5511825 + 86470 20.143583 0.99376131 23.677306 6.0194136 4.5292685 1.4901451 0.0022834505 -0.024222923 4.5512079 + 86480 20.401531 0.99362263 23.845424 6.0208802 4.5309431 1.4899371 0.0022103666 -0.023763311 4.552496 + 86490 20.375686 0.98063503 23.897967 6.0016995 4.5312373 1.4704622 0.0022041866 -0.023758631 4.5527917 + 86500 20.032823 1.0054304 23.776078 6.0448396 4.5371967 1.5076429 0.0020250694 -0.023348552 4.5585202 + 86510 20.240244 0.99180006 23.456366 6.0400119 4.5528078 1.4872042 0.0020594073 -0.023496287 4.5742446 + 86520 20.317292 1.0166911 23.487048 6.0510573 4.5265289 1.5245284 0.0018178366 -0.022575263 4.5472864 + 86530 20.441634 0.99954316 23.683825 6.0327365 4.5339215 1.498815 0.0014330089 -0.020666345 4.5531549 + 86540 20.275973 1.0062359 23.891629 6.0546682 4.5458175 1.5088507 0.0016242574 -0.02139992 4.5655931 + 86550 20.277012 1.0111832 23.913643 6.0663443 4.5500751 1.5162692 0.0016958957 -0.021295412 4.5696746 + 86560 20.186549 1.0015849 23.662264 6.0303733 4.5284968 1.5018765 0.0019147611 -0.022653038 4.549235 + 86570 20.129751 1.0055405 23.51973 6.0391327 4.5313247 1.507808 0.0019671265 -0.022943281 4.5523009 + 86580 20.492957 1.0150106 23.644178 6.0678925 4.545884 1.5220084 0.0019623796 -0.022856404 4.566778 + 86590 20.452309 1.0188433 23.927494 6.0467454 4.5189899 1.5277555 0.0018640959 -0.022651483 4.5397773 + 86600 20.18032 1.0103481 23.846789 6.0688508 4.5538339 1.5150169 0.0016875433 -0.021722455 4.5738688 + 86610 20.318506 1.0240516 23.862264 6.0461049 4.5105395 1.5355653 0.0018608717 -0.022655265 4.5313339 + 86620 20.378625 1.0182742 23.764641 6.054426 4.5275238 1.5269022 0.0019138035 -0.022132118 4.5477421 + 86630 20.312705 1.0108173 23.530031 6.0380856 4.5223651 1.5157205 0.0016497512 -0.021037801 4.5417531 + 86640 20.42824 1.0081359 23.864702 6.0241883 4.5124885 1.5116998 0.0012715887 -0.019346998 4.5305639 + 86650 19.891833 0.99632677 23.709767 6.0408856 4.5468936 1.493992 0.0011232958 -0.018654261 4.5644246 + 86660 20.441746 1.0217877 23.811556 6.0601738 4.5280033 1.5321706 0.0012384203 -0.019338331 4.5461032 + 86670 20.386151 1.0078577 23.45349 6.0761585 4.5648758 1.5112826 0.0014544838 -0.020281634 4.583703 + 86680 20.113101 1.0291422 23.875763 6.0768618 4.533663 1.5431987 0.001509799 -0.020599798 4.552753 + 86690 20.026803 1.0205206 23.867465 6.0689216 4.5386509 1.5302706 0.0017123483 -0.02179568 4.5587343 + 86700 20.402495 1.0097566 23.763716 6.0494422 4.5353121 1.5141301 0.0016423186 -0.021279797 4.5549496 + 86710 20.264738 1.0178522 23.843698 6.0615565 4.5352871 1.5262694 0.0016652219 -0.020450549 4.5540724 + 86720 20.075926 1.0235073 23.598658 6.0575661 4.522817 1.5347491 0.0015367441 -0.019739799 4.54102 + 86730 20.36231 1.0181886 23.862722 6.0710988 4.544325 1.5267739 0.0015700024 -0.020182725 4.5629377 + 86740 20.245751 1.0222642 23.783742 6.0617613 4.5288762 1.5328852 0.0015509636 -0.020232399 4.5475576 + 86750 20.554774 1.0455798 23.810441 6.0776842 4.5098373 1.5678469 0.0016348002 -0.021092869 4.5292953 + 86760 20.408695 1.0165174 23.874988 6.0610748 4.5368069 1.5242679 0.001946521 -0.022835692 4.5576961 + 86770 20.264474 0.9987546 23.775436 6.0269324 4.5292999 1.4976325 0.0021607189 -0.023763896 4.5509031 + 86780 20.286364 0.99748976 23.648256 6.0259401 4.5302042 1.4957359 0.0021531105 -0.023431134 4.5514822 + 86790 20.201696 1.0086554 23.987899 6.0517216 4.5392428 1.5124788 0.0020561284 -0.02281525 4.5600019 + 86800 20.341987 1.0100293 23.91177 6.036373 4.521834 1.514539 0.0019169342 -0.02202579 4.5419429 + 86810 20.049645 0.99637669 23.889564 6.0327476 4.5386807 1.4940668 0.0016516704 -0.020927687 4.5579567 + 86820 20.154313 0.99458407 23.602166 6.0232927 4.5319138 1.4913788 0.0014993327 -0.020588362 4.5510029 + 86830 20.424565 1.0020575 23.773205 6.0302584 4.5276733 1.5025852 0.0015317977 -0.020970105 4.5471116 + 86840 20.455571 1.0156895 23.629074 6.0547302 4.5317037 1.5230265 0.0016554642 -0.021452322 4.5515006 + 86850 20.326766 1.0101211 23.733527 6.0426002 4.5279236 1.5146766 0.0017991852 -0.022294157 4.5484186 + 86860 20.357907 1.0179995 23.488451 6.0224549 4.4959647 1.5264902 0.001747383 -0.021961286 4.5161786 + 86870 20.248021 1.014094 23.533648 6.0247968 4.5041628 1.520634 0.0016292884 -0.02133977 4.5238733 + 86880 20.125593 0.98524117 23.686514 6.0110398 4.5336706 1.4773691 0.0015407325 -0.021240155 4.5533701 + 86890 20.108751 1.0032044 23.861749 6.0299493 4.5256443 1.5043051 0.0018207642 -0.02286105 4.5466845 + 86900 20.057566 0.98728658 23.659911 5.9721836 4.4917474 1.4804362 0.0020746166 -0.023572454 4.5132452 + 86910 20.023174 0.9766985 23.906925 5.9965311 4.5319717 1.4645594 0.0020641013 -0.023431229 4.5533388 + 86920 20.094977 1.0041905 23.745962 6.0184485 4.5126648 1.5057837 0.0020186146 -0.023361917 4.5340081 + 86930 20.424503 0.99781031 23.759877 6.0355231 4.5393066 1.4962166 0.0020660485 -0.02364781 4.5608884 + 86940 20.382791 1.0149248 23.830486 6.0585586 4.5366789 1.5218797 0.0019839687 -0.023101472 4.5577964 + 86950 19.856087 1.011011 23.57249 6.0689177 4.5529067 1.516011 0.001814778 -0.022253014 4.573345 + 86960 20.296745 1.0113579 23.988428 6.0544016 4.5378705 1.5165311 0.0014337826 -0.02021577 4.5566524 + 86970 20.416595 1.0007611 23.867791 6.0253873 4.524746 1.5006413 0.0013087615 -0.019200731 4.542638 + 86980 20.216179 1.0214938 23.554658 6.0418855 4.5101556 1.5317299 0.0012640289 -0.018824022 4.5277156 + 86990 19.915299 1.0057638 23.834763 6.0347101 4.5265672 1.5081429 0.0014191895 -0.019382661 4.5445307 + 87000 20.001532 1.0011493 23.969456 6.0226456 4.5214222 1.5012234 0.0014579079 -0.019262204 4.5392265 + 87010 20.318565 0.98537445 23.696746 6.0021075 4.5245386 1.477569 0.0015046591 -0.019596046 4.5426299 + 87020 20.550294 0.98474311 23.924268 6.0214771 4.5448548 1.4766223 0.0016524193 -0.020295375 4.5634978 + 87030 20.401133 0.99088708 23.682875 6.0006062 4.514771 1.4858352 0.0019904282 -0.022058507 4.5348391 + 87040 20.322676 0.96646407 23.659513 6.0084329 4.5592201 1.4492129 0.0020866553 -0.022590567 4.579724 + 87050 20.352702 0.97702766 23.703683 5.9999775 4.5349245 1.465053 0.0021780854 -0.023385292 4.5561317 + 87060 20.473645 0.99652653 23.828885 5.9942705 4.499979 1.4942915 0.0022004858 -0.023696184 4.5214747 + 87070 20.30275 1.0003793 23.35429 6.0315246 4.5314559 1.5000687 0.0022739712 -0.023879132 4.553061 + 87080 20.29835 1.010411 23.57162 6.0360132 4.5209018 1.5151113 0.002237293 -0.023965082 4.5426296 + 87090 19.980818 0.99469081 23.455846 6.0327461 4.5412073 1.4915389 0.0021945122 -0.02383794 4.5628507 + 87100 20.071491 1.0140253 23.642944 6.0451321 4.5246012 1.5205309 0.0020767485 -0.023546888 4.5460714 + 87110 20.262247 1.0019773 23.472396 6.03706 4.534595 1.502465 0.0018779967 -0.02303128 4.5557483 + 87120 20.528578 1.0100101 23.737808 6.0417998 4.5272897 1.5145101 0.0017441964 -0.022556847 4.5481023 + 87130 20.354736 1.0244624 23.708655 6.0607067 4.5245253 1.5361814 0.0017087853 -0.022064926 4.5448814 + 87140 20.045169 1.0091878 23.82907 6.0467682 4.5334911 1.5132771 0.0016981338 -0.0217622 4.5535551 + 87150 19.841792 0.98573838 23.755475 6.0294862 4.5513715 1.4781147 0.0015074421 -0.020944033 4.5708081 + 87160 20.229161 0.99344013 23.527249 6.0185154 4.528852 1.4896635 0.0017660738 -0.022119177 4.5492051 + 87170 20.373813 1.0007034 23.462142 6.0278662 4.5273115 1.5005547 0.0019287614 -0.022587242 4.54797 + 87180 20.443382 0.99193447 23.59008 6.0126884 4.5252827 1.4874057 0.0020308213 -0.02326615 4.546518 + 87190 20.060653 1.0043872 23.76887 6.0334503 4.5273716 1.5060787 0.0020136361 -0.02318205 4.54854 + 87200 20.094852 1.018707 23.689076 6.0529225 4.5253714 1.5275511 0.0018939537 -0.022450849 4.5459283 + 87210 20.142599 1.0210419 23.833845 6.0494931 4.5184408 1.5310523 0.0018587293 -0.021989495 4.5385715 + 87220 20.040324 1.0181253 23.725519 6.0401032 4.5134243 1.5266789 0.0017931498 -0.022169983 4.5338012 + 87230 19.976624 1.0170763 23.851523 6.048848 4.5237421 1.5251059 0.001825356 -0.022837485 4.5447542 + 87240 20.079935 1.0131039 23.562579 6.0430162 4.5238668 1.5191493 0.0017751474 -0.022471095 4.5445628 + 87250 20.215541 1.0230904 23.795992 6.0499681 4.5158439 1.5341241 0.0017510201 -0.021946492 4.5360394 + 87260 20.214146 1.0133321 23.522638 6.0555555 4.536064 1.5194915 0.0018490924 -0.022490574 4.5567055 + 87270 20.326175 1.0121168 23.901901 6.0408036 4.5231344 1.5176692 0.0019033121 -0.022850834 4.5440819 + 87280 20.270836 0.99426715 23.491765 6.021747 4.5308434 1.4909036 0.0020153226 -0.023278822 4.5521069 + 87290 20.401097 0.97668474 23.857629 6.0054016 4.5408628 1.4645388 0.0019986309 -0.023046403 4.5619106 + 87300 20.183264 0.98103665 23.737373 5.9865658 4.5155014 1.4710645 0.0019211924 -0.022999098 4.5365793 + 87310 20.095765 0.97907157 23.386362 5.9812146 4.5130968 1.4681178 0.0018444505 -0.022700636 4.533953 + 87320 20.092078 0.97886198 23.697045 5.9863593 4.5185558 1.4678035 0.0017450653 -0.022178381 4.5389891 + 87330 20.086407 0.9859697 23.722282 5.9789406 4.500479 1.4784616 0.0015975333 -0.021628047 4.5205095 + 87340 20.091234 0.96123809 23.746956 5.9838015 4.542425 1.4413765 0.0012917226 -0.020247377 4.5613806 + 87350 20.018569 0.99009203 23.7188 5.9835382 4.4988952 1.484643 0.001152321 -0.019379386 4.5171223 + 87360 20.444587 1.0088238 23.591665 6.0294714 4.5167401 1.5127313 0.0012080685 -0.01960248 4.5351345 + 87370 20.306848 1.0094458 23.685649 6.0338593 4.5201953 1.513664 0.0013383178 -0.019808165 4.5386651 + 87380 20.341079 0.99705046 23.972686 6.0306469 4.5355698 1.4950772 0.0014002286 -0.019939123 4.5541087 + 87390 20.118253 1.0028318 23.465737 6.0196511 4.5159047 1.5037463 0.0014540087 -0.020273268 4.534724 + 87400 19.97754 0.99606629 23.796579 6.0067724 4.513171 1.4936014 0.0015521968 -0.020623046 4.5322419 + 87410 20.356805 1.013413 23.86617 6.0712683 4.5516555 1.5196128 0.0016824605 -0.021434864 4.5714079 + 87420 19.988699 1.016426 23.911354 6.0740604 4.5499297 1.5241308 0.0017008823 -0.021577572 4.5698064 + 87430 20.158651 1.0270835 23.674523 6.0669809 4.5268692 1.5401117 0.0016455785 -0.021141027 4.5463646 + 87440 20.114048 1.0351247 23.668239 6.078291 4.5261215 1.5521696 0.0015452392 -0.021478241 4.5460545 + 87450 20.371727 1.0366465 23.776643 6.0958389 4.5413875 1.5544514 0.0016917689 -0.02187441 4.5615702 + 87460 19.802974 1.0377713 23.923602 6.1061367 4.5499986 1.5561381 0.0017388247 -0.022317312 4.5705771 + 87470 20.078836 1.0515986 24.169488 6.1045924 4.5277203 1.5768721 0.0019904165 -0.023640272 4.5493701 + 87480 20.342418 1.0382122 23.959437 6.0758082 4.519009 1.5567992 0.0021383917 -0.024284739 4.5411553 + 87490 19.996853 1.0157133 23.678415 6.0785955 4.5555335 1.523062 0.0022220852 -0.024580953 4.5778924 + 87500 20.096188 1.0097817 23.876956 6.0696147 4.555447 1.5141677 0.0021176536 -0.023788051 4.5771174 + 87510 20.108152 1.0378908 23.788174 6.0734393 4.5171221 1.5563172 0.0020922647 -0.023772718 4.5388025 + 87520 20.39156 1.0244457 23.730681 6.0647552 4.5285988 1.5361563 0.0021971708 -0.024017364 4.550419 + 87530 20.487448 1.0093827 23.94261 6.0196051 4.5060357 1.5135693 0.002167948 -0.024181302 4.5280491 + 87540 20.480344 1.005557 23.808205 6.0359633 4.5281306 1.5078327 0.0021509056 -0.024288083 4.5502678 + 87550 19.652827 1.0234529 23.544026 6.0532613 4.5185936 1.5346677 0.0021696535 -0.024335147 4.5407591 + 87560 20.268839 1.0212716 23.63723 6.0671292 4.5357324 1.5313968 0.0019474755 -0.023833132 4.557618 + 87570 20.338358 1.0295919 23.624556 6.0618217 4.5179487 1.543873 0.0019873853 -0.023741355 4.5397026 + 87580 20.169921 0.99887318 23.938346 6.0140869 4.5162766 1.4978103 0.0019473376 -0.023314908 4.5376441 + 87590 20.478075 0.98009961 23.391968 5.9987338 4.5290744 1.4696594 0.0017142727 -0.022048272 4.5494084 + 87600 20.182287 0.98901491 23.665004 6.0025255 4.5194977 1.4830279 0.0018110464 -0.022122865 4.5398095 + 87610 20.313827 1.0109088 23.569657 6.0422841 4.5264264 1.5158577 0.0017242441 -0.021742326 4.5464444 + 87620 20.197651 1.0014698 23.95098 6.045146 4.5434421 1.5017039 0.0019019649 -0.022691363 4.5642315 + 87630 20.300182 0.98236059 23.524886 5.9810056 4.5079559 1.4730497 0.0021144738 -0.02386094 4.5297023 + 87640 20.497909 0.99014394 23.609654 5.993277 4.5085561 1.4847208 0.0020946138 -0.023472955 4.5299345 + 87650 20.273852 0.99582425 23.966941 5.9810693 4.4878308 1.4932385 0.0019662712 -0.022629716 4.5084943 + 87660 20.342042 1.007414 23.724054 6.0180628 4.5074456 1.5106173 0.0018237198 -0.02175338 4.5273752 + 87670 20.420321 1.0002425 23.494754 6.0199791 4.5201154 1.4998637 0.0015785976 -0.020495509 4.5390324 + 87680 20.356573 1.0212616 23.760879 6.0445542 4.5131724 1.5313818 0.0014986163 -0.020947462 4.5326213 + 87690 20.482006 1.0103708 23.815328 6.0454621 4.5304111 1.515051 0.0015849106 -0.021197219 4.5500234 + 87700 20.114419 1.0070676 23.739279 6.0449788 4.5348809 1.5100979 0.0017158453 -0.021682377 4.5548475 + 87710 19.547034 1.0069205 23.61948 6.0376279 4.5277505 1.5098774 0.0018454957 -0.0225577 4.5484627 + 87720 20.306558 1.0171563 23.414914 6.0634751 4.5382492 1.5252259 0.0017600942 -0.022203631 4.5586927 + 87730 20.297784 1.0228574 23.778895 6.0645619 4.5307872 1.5337747 0.0018413466 -0.022484255 4.5514301 + 87740 20.410854 1.0255665 23.686195 6.0663174 4.5284804 1.537837 0.0018454161 -0.022547638 4.5491826 + 87750 20.344225 1.0079446 23.779843 6.0484621 4.5370492 1.5114129 0.0017828482 -0.022044987 4.5573113 + 87760 20.270152 1.0132293 23.705093 6.0424277 4.5230903 1.5193374 0.0016168028 -0.021100876 4.5425744 + 87770 20.110203 1.0166171 23.763637 6.0608671 4.5364497 1.5244174 0.0016665967 -0.020729015 4.5555121 + 87780 19.513133 1.0064833 23.551452 6.0469046 4.5376829 1.5092218 0.0017296161 -0.021240197 4.5571934 + 87790 20.117621 1.0093321 23.601882 6.0458857 4.5323922 1.5134935 0.0017251617 -0.021240281 4.5519073 + 87800 20.179867 1.0130705 23.54238 6.0651804 4.5460812 1.5190992 0.0017232323 -0.021259712 4.5656177 + 87810 20.318565 1.0278125 23.837306 6.0652996 4.5240948 1.5412048 0.001610813 -0.02072304 4.543207 + 87820 20.044206 1.0189854 23.789158 6.0605369 4.5325682 1.5279687 0.0017779605 -0.021762937 4.5525532 + 87830 20.067783 1.0214374 23.868136 6.0404622 4.5088169 1.5316453 0.0017931791 -0.022435208 4.5294589 + 87840 19.915722 1.0379768 23.941437 6.0818842 4.525438 1.5564463 0.0017325788 -0.022066905 4.5457723 + 87850 20.160163 1.0148377 23.666662 6.0643641 4.542615 1.5217491 0.0016170308 -0.021672871 4.5626708 + 87860 20.217726 1.0008446 23.903681 6.0444845 4.5437181 1.5007665 0.0016595891 -0.021930816 4.5639893 + 87870 20.308801 1.0152871 23.537896 6.0690139 4.5465908 1.5224231 0.0017825817 -0.022798031 4.5676063 + 87880 20.320358 1.022945 23.741198 6.074134 4.540228 1.533906 0.0019879189 -0.023709063 4.5619492 + 87890 20.30321 1.0167955 23.805443 6.0636186 4.5389338 1.5246848 0.0020587982 -0.024112111 4.5609871 + 87900 20.452672 1.0304894 23.747264 6.0763069 4.531088 1.5452188 0.0020230609 -0.023631723 4.5526967 + 87910 20.28434 1.0125893 23.764643 6.0722832 4.5539055 1.5183777 0.00191294 -0.02276089 4.5747535 + 87920 20.335729 1.0132884 23.686373 6.0459737 4.5265478 1.519426 0.0020568984 -0.023793052 4.5482839 + 87930 20.071515 1.0015063 23.689676 6.0381817 4.536423 1.5017588 0.0020955746 -0.023886464 4.5582139 + 87940 20.229839 1.0109427 23.648227 6.0406156 4.524707 1.5159086 0.002064867 -0.023617599 4.5462597 + 87950 20.514556 0.99487906 23.754203 6.0287752 4.536954 1.4918212 0.0019131184 -0.022299228 4.5573401 + 87960 20.180684 0.99878789 23.660122 6.029469 4.5317866 1.4976824 0.0018482829 -0.02219237 4.5521307 + 87970 20.198738 0.99306262 23.579978 6.039536 4.5504386 1.4890974 0.0020377715 -0.022937935 4.5713388 + 87980 20.351567 1.0131973 23.959037 6.0275731 4.5082838 1.5192893 0.0018821656 -0.022373097 4.5287748 + 87990 20.30862 1.0043373 23.557749 6.0340916 4.5280877 1.5060039 0.0015928229 -0.021048531 4.5475434 + 88000 20.415974 1.0212855 23.652235 6.0536083 4.5221907 1.5314177 0.0015066343 -0.020437189 4.5411212 + 88010 20.724058 1.0048322 23.951551 6.0427886 4.5360428 1.5067459 0.0015254055 -0.020689828 4.5552072 + 88020 20.472006 1.0238211 23.767179 6.0631006 4.5278809 1.5352197 0.0017364881 -0.021754483 4.5478989 + 88030 20.311058 1.0137056 23.790859 6.0605796 4.540528 1.5200516 0.001869758 -0.022309345 4.5609676 + 88040 20.013796 1.0159231 23.614986 6.0785131 4.5551364 1.5233768 0.0018180504 -0.021743702 4.575062 + 88050 20.297277 1.0213902 23.875929 6.0697916 4.538217 1.5315746 0.0018419578 -0.02181861 4.5581937 + 88060 19.87456 1.006611 23.827818 6.0545718 4.5451585 1.5094132 0.0016568723 -0.021228168 4.5647298 + 88070 20.125105 1.005401 23.751578 6.0269692 4.5193704 1.5075988 0.0014944066 -0.020694498 4.5385705 + 88080 19.902615 0.99290631 23.744103 6.0245273 4.5356643 1.488863 0.0014575204 -0.020362637 4.5545694 + 88090 19.94115 1.007563 23.80186 6.0288933 4.5180526 1.5108407 0.0016931398 -0.021459029 4.5378185 + 88100 20.067755 0.9852243 23.637766 6.0123643 4.5350204 1.4773438 0.0018064044 -0.022095373 4.5553094 + 88110 20.084972 1.001138 23.683257 6.0314643 4.5302578 1.5012065 0.0016751992 -0.021802821 4.5503855 + 88120 20.012855 1.0186958 23.329703 6.0656162 4.5380819 1.5275343 0.001782984 -0.022600278 4.5588992 + 88130 20.198419 1.0132772 23.706844 6.0614976 4.5420884 1.5194092 0.001951201 -0.023214169 4.5633513 + 88140 20.631114 1.0261494 23.64217 6.0717652 4.5330542 1.538711 0.0018746983 -0.022869829 4.5540493 + 88150 20.485701 1.0335601 23.864491 6.0867756 4.5369523 1.5498233 0.0017541335 -0.022455985 4.5576541 + 88160 20.331454 1.014445 23.781922 6.0639915 4.5428311 1.5211603 0.0015924477 -0.021782889 4.5630216 + 88170 20.299315 1.0129849 23.702522 6.053813 4.5348423 1.5189708 0.0017471681 -0.022194171 4.5552893 + 88180 20.272379 1.0130574 23.892599 6.0308515 4.511772 1.5190795 0.0016718437 -0.021650505 4.5317506 + 88190 20.302866 1.021793 23.995121 6.0485274 4.5163489 1.5321786 0.001540798 -0.021151559 4.5359596 + 88200 20.076698 1.0102942 23.840559 6.0168266 4.5018904 1.5149362 0.0016970848 -0.021470959 4.5216643 + 88210 19.870515 0.98996555 23.487744 6.0035207 4.5190674 1.4844533 0.0017380886 -0.021351112 4.5386804 + 88220 20.339625 0.99549108 23.612485 6.0034205 4.5106817 1.4927389 0.0016572805 -0.021491677 4.530516 + 88230 20.139722 1.0107389 23.616276 6.0291125 4.5135096 1.5156029 0.0014600898 -0.021106107 4.5331556 + 88240 20.271208 0.98742014 23.507502 6.0155112 4.5348747 1.4806365 0.0012817338 -0.020537756 4.5541308 + 88250 20.018115 0.99799234 23.548926 6.0436956 4.5472061 1.4964895 0.0013750794 -0.020691907 4.5665229 + 88260 20.185085 1.0000244 23.712561 6.0356799 4.5361434 1.4995365 0.0015706943 -0.02155255 4.5561252 + 88270 19.731805 0.98811132 23.625745 6.0179825 4.5363096 1.4816729 0.0015122274 -0.021640241 4.5564376 + 88280 20.014265 0.99753967 23.420567 6.0382159 4.5424052 1.4958107 0.0014089053 -0.020840371 4.5618366 + 88290 20.057723 0.99460253 23.531358 6.0114205 4.5200141 1.4914065 0.0014537544 -0.021307721 4.539868 + 88300 19.761425 1.0006112 23.696229 5.9878248 4.4874083 1.5004165 0.0016753773 -0.022225523 4.5079584 + 88310 20.261625 1.0036713 24.011015 6.0180766 4.5130715 1.5050051 0.0018539641 -0.022944154 4.5341617 + 88320 20.302608 0.99547098 23.63705 6.019349 4.5266403 1.4927087 0.0018690581 -0.023031791 4.547803 + 88330 20.320279 0.98667851 23.562183 5.9984856 4.5189611 1.4795244 0.001688605 -0.022229608 4.5395021 + 88340 20.022116 0.98885765 23.772846 5.9935995 4.5108075 1.482792 0.0018155444 -0.022601155 4.5315931 + 88350 20.258834 0.99263904 23.837179 6.0041858 4.5157236 1.4884622 0.0017494918 -0.021859222 4.5358333 + 88360 20.060066 1.0060503 23.736868 6.0301687 4.5215963 1.5085724 0.0015416196 -0.021030272 4.541085 + 88370 20.421621 1.0204184 23.682981 6.0400873 4.5099699 1.5301174 0.0015026103 -0.020731472 4.5291988 + 88380 20.201356 0.98747611 23.840455 6.0222587 4.5415383 1.4807204 0.0015680351 -0.020490797 4.5604611 + 88390 20.328224 0.99933916 23.478175 6.0148714 4.5163624 1.4985091 0.0015778019 -0.01993747 4.534722 + 88400 20.253509 1.0083891 23.875045 6.0403048 4.5282253 1.5120795 0.0014994659 -0.019804981 4.5465308 + 88410 20.235328 1.0004782 23.964631 6.0150152 4.5147982 1.5002171 0.0015750786 -0.020238004 4.5334611 + 88420 20.558311 1.0137651 23.871765 6.0396191 4.5194783 1.5201408 0.0017277019 -0.02081363 4.5385643 + 88430 20.45113 0.99891681 23.752513 6.0228612 4.5249854 1.4978758 0.0016779676 -0.021408909 4.5447163 + 88440 20.386446 1.0177172 23.766113 6.0503552 4.5242883 1.5260669 0.0016091596 -0.021589219 4.5442683 + 88450 20.432514 0.9955822 23.570223 6.0458506 4.5529751 1.4928755 0.0017207551 -0.021855565 4.5731099 + 88460 20.424751 1.021709 23.860079 6.0598829 4.5278303 1.5320527 0.0017472123 -0.02189087 4.5479739 + 88470 19.948397 1.0128666 23.660926 6.0417679 4.5229744 1.5187935 0.0017095017 -0.02165354 4.5429184 + 88480 20.121074 0.99256464 23.494805 6.0207702 4.5324195 1.4883507 0.0017066262 -0.021472908 4.5521858 + 88490 20.450176 1.0014957 23.867222 6.0458991 4.5441562 1.5017429 0.001502367 -0.020199881 4.5628537 + 88500 20.170932 1.0058975 23.9908 6.0212282 4.512885 1.5083432 0.0014149795 -0.019370723 4.5308407 + 88510 20.32755 0.99967067 23.68429 6.0226171 4.523611 1.4990062 0.0013497971 -0.018770966 4.5410321 + 88520 20.191604 1.0002149 23.813699 6.0235346 4.5237123 1.4998223 0.0013591905 -0.018991282 4.5413444 + 88530 20.179963 1.00436 23.867431 6.0510582 4.5450204 1.5060378 0.0012909412 -0.018380851 4.5621103 + 88540 20.243944 0.99983798 23.699807 6.0467897 4.5475326 1.4992571 0.001287974 -0.018325489 4.5645701 + 88550 20.274005 1.0088177 23.575262 6.0649396 4.5522174 1.5127222 0.001494444 -0.019089827 4.5698128 + 88560 20.202 1.0116258 23.753358 6.0844626 4.5675297 1.5169329 0.0014127738 -0.01909444 4.5852114 + 88570 20.314691 1.0340195 24.071184 6.07585 4.5253378 1.5505122 0.0014578507 -0.01955761 4.5434376 + 88580 20.201687 1.0192999 23.873569 6.0617162 4.5332759 1.5284403 0.001521768 -0.019945728 4.5516998 + 88590 20.065538 1.0135606 23.706746 6.0523866 4.5325525 1.5198341 0.0014084326 -0.019938628 4.5510827 + 88600 20.073807 1.0170673 23.795038 6.0369199 4.5118275 1.5250924 0.0013625566 -0.020087221 4.5305522 + 88610 20.298995 0.98368611 23.516992 5.9975447 4.5225074 1.4750373 0.0014716927 -0.020879003 4.5419147 + 88620 20.461123 0.99110323 23.664167 6.0158599 4.5297006 1.4861593 0.0015469691 -0.021246016 4.5493997 + 88630 20.209691 1.0012432 23.705461 6.0064168 4.5050526 1.5013642 0.0017546012 -0.022187783 4.5254858 + 88640 20.349177 0.99643809 23.50926 6.0273952 4.5332362 1.4941589 0.0016852363 -0.022253046 4.553804 + 88650 20.283347 1.0013744 23.450858 6.0375714 4.5360105 1.5015609 0.0017005002 -0.022213729 4.5565238 + 88660 20.135367 1.0227928 24.07647 6.0267018 4.4930239 1.5336779 0.0018111607 -0.022382631 4.5135954 + 88670 20.366375 0.99793448 23.708736 6.0473482 4.5509454 1.4964027 0.0019768386 -0.023239042 4.5722076 + 88680 20.369433 1.0144565 23.813583 6.0371681 4.5159906 1.5211775 0.0020260974 -0.023191706 4.5371562 + 88690 20.143343 1.0113899 23.630379 6.0338184 4.5172392 1.5165792 0.0021015816 -0.023767025 4.5389046 + 88700 19.955174 0.99797936 23.653262 6.042431 4.545961 1.4964701 0.0020734038 -0.023476451 4.567364 + 88710 20.121004 1.0180599 23.836105 6.0437365 4.5171557 1.5265808 0.0017982682 -0.022352855 4.5377103 + 88720 20.293318 1.0142317 23.716399 6.0635746 4.5427341 1.5208405 0.0018441935 -0.022158941 4.5630488 + 88730 20.274937 1.022863 23.836406 6.0573606 4.5235776 1.533783 0.0018811726 -0.021877107 4.5435736 + 88740 19.979469 1.0236769 23.763337 6.0593879 4.5243844 1.5350035 0.0016826623 -0.02079175 4.5434934 + 88750 20.445113 1.0175912 23.617923 6.0472113 4.5213333 1.5258781 0.0016751604 -0.0213564 4.5410145 + 88760 20.547676 1.0009287 23.546305 6.0620273 4.5611348 1.5008925 0.0018310259 -0.021803688 4.5811074 + 88770 20.105118 1.0219073 23.665723 6.0484583 4.5161084 1.53235 0.0018196077 -0.022205221 4.536494 + 88780 20.418811 1.0043055 23.580738 6.0217889 4.5158329 1.505956 0.0018161634 -0.022019482 4.5360362 + 88790 20.521022 1.0105149 23.702272 6.0313894 4.5161224 1.5152671 0.0017170615 -0.021702258 4.5361076 + 88800 20.558547 0.99378709 23.651989 6.0118956 4.5217118 1.4901837 0.0017958538 -0.022154546 4.5420705 + 88810 19.934941 0.98964266 23.320571 6.0189434 4.5349743 1.4839692 0.0017289966 -0.021702471 4.5549477 + 88820 19.998791 1.0095216 23.893942 6.0564548 4.5426772 1.5137776 0.0016740185 -0.021393744 4.5623969 + 88830 20.318893 1.0010267 23.960305 6.0408478 4.5398082 1.5010396 0.0018309969 -0.022541204 4.5605184 + 88840 20.151263 1.0191896 23.901845 6.0380603 4.5097855 1.5282747 0.001843741 -0.022507065 4.5304489 + 88850 20.160709 0.99973923 23.694273 6.0152937 4.5161847 1.499109 0.0018031486 -0.022407917 4.5367895 + 88860 20.049444 1.0043153 23.711373 6.0182945 4.5123236 1.5059709 0.0019608461 -0.023301703 4.5336645 + 88870 20.097199 1.0203114 23.447803 6.0524911 4.5225341 1.529957 0.0019663029 -0.023437533 4.5440053 + 88880 20.111972 1.0110846 23.787806 6.0442275 4.5281061 1.5161214 0.0019203889 -0.02319916 4.5493849 + 88890 20.099178 1.0159754 23.721315 6.0475925 4.5241373 1.5234552 0.0018541457 -0.022931017 4.5452141 + 88900 19.602022 1.0125422 23.697627 6.0372319 4.5189248 1.5183071 0.0020145337 -0.023531273 4.5404415 + 88910 19.862785 1.015886 23.492849 6.0505788 4.5272578 1.523321 0.002095603 -0.023815503 4.5489777 + 88920 20.411954 0.99943594 23.954075 6.0433825 4.5447283 1.4986542 0.0020718274 -0.023344726 4.5660012 + 88930 20.175196 0.99189897 23.844151 6.0310965 4.543744 1.4873525 0.0020579573 -0.023247795 4.5649338 + 88940 20.06193 0.99387681 23.48847 6.0217943 4.531476 1.4903183 0.0018794084 -0.022496419 4.552093 + 88950 20.149994 1.0002753 23.758199 6.0286383 4.5287254 1.4999129 0.0016604673 -0.020994775 4.5480597 + 88960 20.364071 1.0204808 23.383163 6.0548745 4.5246636 1.5302109 0.0016925286 -0.021393568 4.5443646 + 88970 20.471831 1.0033347 23.753005 6.0349148 4.5304145 1.5045003 0.0017665129 -0.021584048 4.550232 + 88980 20.206255 1.0036619 23.581527 6.034648 4.5296571 1.5049909 0.0016494799 -0.020540669 4.5485483 + 88990 20.378439 1.0203121 23.957206 6.0620304 4.5320725 1.5299579 0.0016087568 -0.019974063 4.5504378 + 89000 20.363019 0.9990058 23.743548 6.0373131 4.5393039 1.4980092 0.0015704834 -0.020080524 4.557814 + 89010 20.443123 1.013898 23.600993 6.039507 4.5191669 1.5203401 0.0017939856 -0.021184212 4.5385572 + 89020 20.232783 1.0166882 23.724896 6.0737039 4.54918 1.5245239 0.0019642282 -0.022203485 4.5694192 + 89030 20.049703 1.0092962 23.574175 6.0638691 4.5504295 1.5134396 0.0020632349 -0.022716793 4.5710831 + 89040 20.404037 0.9970282 23.874223 6.0433054 4.5482616 1.4950438 0.0019078236 -0.022049672 4.5684035 + 89050 19.510904 0.9902153 23.421738 6.0192364 4.5344085 1.4848278 0.0017677271 -0.021643286 4.5542841 + 89060 20.048737 1.0202073 23.818182 6.0521459 4.5223452 1.5298008 0.001887115 -0.022079946 4.542538 + 89070 20.106086 1.0159648 23.533743 6.0689129 4.5454736 1.5234392 0.0018493748 -0.022278838 4.5659031 + 89080 20.059907 0.99743979 23.504406 6.0625706 4.5669096 1.495661 0.001865681 -0.022600946 4.5876449 + 89090 19.900031 1.0105253 23.820627 6.0667993 4.5515166 1.5152827 0.001803448 -0.022400157 4.5721134 + 89100 19.789603 1.0245181 23.786417 6.0716206 4.5353558 1.5362648 0.0016495873 -0.021575573 4.5552817 + 89110 20.359663 1.0079771 24.007767 6.0653295 4.5538678 1.5114617 0.0015973282 -0.021307931 4.5735784 + 89120 20.17529 1.0189319 23.901352 6.0699942 4.5421058 1.5278884 0.0014337125 -0.020737881 4.56141 + 89130 20.15745 1.0347214 23.604513 6.0868779 4.5353131 1.5515648 0.0011820485 -0.019895858 4.5540269 + 89140 19.709987 1.0131789 23.675014 6.0536429 4.5343812 1.5192617 0.0011170284 -0.019662024 4.5529262 + 89150 20.230509 1.012607 23.678087 6.0276003 4.5091961 1.5184042 0.0013135924 -0.020469149 4.5283517 + 89160 20.363434 1.004006 23.727708 6.0351827 4.5296756 1.505507 0.0014991847 -0.021308318 4.5494848 + 89170 20.170297 1.0258833 23.532918 6.0532553 4.5149432 1.5383121 0.0016963074 -0.022448638 4.5356956 + 89180 20.362289 1.0094749 23.831779 6.0303772 4.5166696 1.5137076 0.0016387864 -0.022185247 4.5372161 + 89190 20.291134 1.0105596 23.519624 6.0516279 4.5362937 1.5153341 0.0018450227 -0.022633726 4.5570824 + 89200 20.225399 1.0066974 23.862028 6.0380572 4.5285144 1.5095428 0.0019684855 -0.023025784 4.5495717 + 89210 19.807501 1.0075215 23.526242 6.0509929 4.5402144 1.5107785 0.0019254604 -0.022964005 4.5612529 + 89220 20.069062 1.0266698 23.897054 6.0663369 4.5268455 1.5394914 0.0020620383 -0.0239379 4.5487213 + 89230 20.042967 1.020827 23.63292 6.0621165 4.5313863 1.5307301 0.0021533544 -0.024423178 4.5536561 + 89240 20.081532 1.0196433 23.762253 6.062043 4.5330879 1.5289551 0.0021699736 -0.024467661 4.5553856 + 89250 20.212644 1.0164847 23.821747 6.0566675 4.5324487 1.5242188 0.0021515425 -0.024236501 4.5545337 + 89260 20.210073 1.0167619 24.033758 6.0573214 4.5326869 1.5246345 0.0019989505 -0.023359143 4.5540471 + 89270 20.004879 0.99329734 23.599275 6.0466099 4.5571606 1.4894494 0.0018713354 -0.022709654 4.5779989 + 89280 19.916838 1.0119163 23.627175 6.0550996 4.5377312 1.5173685 0.001966464 -0.023106138 4.5588708 + 89290 20.097222 1.0182924 23.7955 6.039476 4.5125466 1.5269295 0.0021175571 -0.023835596 4.5342646 + 89300 19.898924 1.0010622 23.639849 6.0411382 4.5400454 1.5010927 0.0020109352 -0.023279635 4.5613141 + 89310 19.768864 1.0234843 23.879922 6.0580263 4.5233116 1.5347147 0.0018229508 -0.022574234 4.5440628 + 89320 19.96679 1.0090688 23.819746 6.0614718 4.5483731 1.5130987 0.0015490463 -0.021713966 4.568538 + 89330 19.952724 1.0155006 23.721873 6.0631895 4.5404463 1.5227432 0.0012844999 -0.019957111 4.5591189 + 89340 20.293085 1.0170463 23.499874 6.0670844 4.5420235 1.525061 0.0013068968 -0.019602461 4.560319 + 89350 20.203402 1.0188554 23.760127 6.0595683 4.5317946 1.5277737 0.001289357 -0.019748441 4.5502537 + 89360 20.242342 0.98766312 23.551243 6.0503995 4.5693987 1.4810009 0.0012570333 -0.019290548 4.5874322 + 89370 20.437626 0.99889488 23.768306 6.0391891 4.5413462 1.4978429 0.0013430629 -0.019870543 4.5598737 + 89380 20.324294 1.0086478 23.771255 6.0472866 4.5348193 1.5124673 0.0014710761 -0.020319966 4.5536682 + 89390 20.143203 1.0063292 23.721173 6.0224606 4.5134699 1.5089906 0.0014916753 -0.020430977 4.5324093 + 89400 20.107623 0.97769473 23.746028 5.9986296 4.5325764 1.4660533 0.0017744772 -0.021966885 4.5527688 + 89410 20.172164 0.99913365 23.96118 5.999625 4.5014241 1.4982009 0.002031279 -0.023104626 4.5224974 + 89420 20.245187 0.98002684 23.411015 6.0140781 4.5445279 1.4695502 0.00189763 -0.022172641 4.5648029 + 89430 20.267132 1.0097824 23.691785 6.0509122 4.5367435 1.5141688 0.001755813 -0.021188582 4.5561762 + 89440 19.934437 1.0128911 23.539705 6.0501569 4.5313267 1.5188302 0.001581386 -0.020494309 4.5502396 + 89450 19.667514 1.0099422 23.743985 6.0492737 4.5348654 1.5144084 0.0014007623 -0.019915949 4.5533806 + 89460 19.703627 0.99203952 23.52184 6.0428266 4.5552634 1.4875633 0.0012335126 -0.019178515 4.5732084 + 89470 19.7446 1.0081125 23.874674 6.0288772 4.5172126 1.5116647 0.0012509817 -0.018690495 4.5346521 + 89480 20.194646 1.0325606 23.705717 6.0465399 4.4982153 1.5483246 0.0014936706 -0.019646885 4.5163685 + 89490 20.031368 1.0135122 23.798355 6.0796417 4.5598802 1.5197615 0.0016177196 -0.020537713 4.5788002 + 89500 19.736774 1.0035191 23.602631 6.0610335 4.5562565 1.5047769 0.0015459014 -0.020455305 4.5751659 + 89510 20.098017 1.0147546 23.757873 6.0559459 4.5343214 1.5216245 0.0015243726 -0.020666177 4.5534632 + 89520 20.151422 1.0187662 23.547498 6.0645029 4.536863 1.5276399 0.0015781487 -0.020824114 4.556109 + 89530 20.310871 1.0221234 23.92891 6.0678317 4.5351576 1.5326741 0.00177463 -0.022141322 4.5555243 + 89540 20.275757 1.0295086 24.122209 6.0821525 4.5384044 1.5437482 0.0018959763 -0.022835473 4.5593439 + 89550 20.219683 1.0075226 23.532025 6.0484528 4.5376727 1.5107801 0.0018554784 -0.022378196 4.5581954 + 89560 19.97 1.0035187 23.789955 6.0185057 4.5137293 1.5047764 0.0016875437 -0.021819125 4.5338609 + 89570 19.918637 1.0017657 23.761023 6.0128696 4.510722 1.5021477 0.0017152855 -0.022009217 4.5310159 + 89580 20.141625 0.97626908 23.57516 5.9910182 4.5271027 1.4639155 0.0017300831 -0.021788253 4.5471609 + 89590 19.877562 0.99483868 23.704988 5.99673 4.5049694 1.4917606 0.0016359702 -0.021478321 4.5248118 + 89600 20.353421 0.98990254 23.742281 6.0071189 4.5227601 1.4843589 0.0016107887 -0.021821164 4.5429705 + 89610 20.28163 1.0093485 23.465803 6.0581814 4.5446633 1.5135181 0.0017239074 -0.02276196 4.5657014 + 89620 20.433722 1.0156991 23.655711 6.0404315 4.5173906 1.5230408 0.0015528595 -0.022300936 4.5381387 + 89630 20.055233 1.0069599 23.609526 6.0466947 4.5367583 1.5099363 0.0014012404 -0.021372775 4.5567299 + 89640 20.007394 1.0072317 23.670183 6.0409966 4.5306526 1.5103439 0.0013112747 -0.020416727 4.5497581 + 89650 19.83313 1.0177209 23.87245 6.0649748 4.5389024 1.5260724 0.0012879398 -0.019512874 4.5571273 + 89660 20.270902 1.0300246 23.718185 6.0684982 4.5239763 1.5445219 0.0013304319 -0.019527551 4.5421734 + 89670 19.690218 1.0244932 23.665929 6.0687273 4.5324998 1.5362276 0.0014696766 -0.019882448 4.5509125 + 89680 20.060752 1.0227181 23.846436 6.0756015 4.5420357 1.5335658 0.0014820652 -0.019859696 4.5604133 + 89690 20.027284 1.0082452 23.576499 6.0641717 4.552308 1.5118637 0.0014057275 -0.019677512 4.5705798 + 89700 20.032813 1.0070875 23.772822 6.050205 4.5400772 1.5101277 0.0014070372 -0.019988226 4.5586584 + 89710 20.224367 1.0084333 23.931325 6.0599006 4.5477549 1.5121458 0.0014392155 -0.020546042 4.5668617 + 89720 20.106696 0.99441167 23.713843 6.0549675 4.5638472 1.4911203 0.0014917318 -0.020808432 4.5831639 + 89730 20.342589 1.0111108 23.461408 6.0516037 4.535443 1.5161607 0.0015473013 -0.020888075 4.5547838 + 89740 20.437727 1.0102131 23.845908 6.0527892 4.5379747 1.5148145 0.0015632356 -0.020562895 4.5569744 + 89750 20.290269 1.0318346 23.881224 6.0513526 4.5041165 1.547236 0.0015947881 -0.021030123 4.5235519 + 89760 19.975791 1.0183766 23.846749 6.0531216 4.5260658 1.5270558 0.0016971505 -0.021745473 4.5461141 + 89770 19.805088 1.0059229 23.618314 6.0518672 4.5434859 1.5083813 0.0018476325 -0.022519993 4.5641582 + 89780 20.265927 1.0104897 23.890124 6.0538147 4.5385854 1.5152294 0.0017950583 -0.022443071 4.5592334 + 89790 20.071564 1.0058188 23.5671 6.0294243 4.521199 1.5082252 0.0016394859 -0.021974137 4.5415337 + 89800 20.296656 1.0008498 23.762393 6.005073 4.5042988 1.5007742 0.0016945151 -0.02211092 4.5247152 + 89810 20.363257 0.99307608 23.696574 6.0067649 4.5176473 1.4891176 0.0017537677 -0.022184859 4.5380784 + 89820 20.11598 0.97574807 23.69319 5.9773155 4.5141813 1.4631342 0.0017782158 -0.022352657 4.5347557 + 89830 20.175413 0.98826432 23.428949 5.9982511 4.5163487 1.4819023 0.0020230344 -0.023387554 4.5377132 + 89840 19.643151 0.97195366 23.75258 5.9809005 4.5234559 1.4574445 0.0020696649 -0.023414881 4.5448012 + 89850 19.812583 0.99014162 23.511027 6.0076383 4.5229209 1.4847174 0.0018270492 -0.022187691 4.5432815 + 89860 20.095013 0.99138988 23.873586 6.0082737 4.5216846 1.4865891 0.0017506457 -0.022389202 4.5423232 + 89870 20.133352 0.99105131 23.628768 5.9928177 4.5067363 1.4860814 0.001878076 -0.022988564 4.5278468 + 89880 20.420871 0.97268819 23.725322 5.9872168 4.5286708 1.4585459 0.002046987 -0.023846153 4.55047 + 89890 20.0347 1.0116057 23.753575 6.0169842 4.5000815 1.5169027 0.0020937613 -0.024383756 4.5223715 + 89900 20.180165 0.99669325 23.797665 6.0171788 4.5226372 1.4945415 0.0019219618 -0.023417232 4.5441325 + 89910 20.306377 0.99091598 23.738689 5.9941997 4.5083212 1.4858785 0.0018791327 -0.02324724 4.5296893 + 89920 20.31465 0.99179921 23.740559 6.0132512 4.5260483 1.4872029 0.0017053949 -0.022571494 4.5469144 + 89930 20.287885 1.0186794 23.494312 6.0535081 4.5259983 1.5275098 0.0016431828 -0.022577747 4.5469328 + 89940 20.516778 1.0241319 23.473787 6.0702757 4.5345899 1.5356858 0.0016031746 -0.022205897 4.5551926 + 89950 20.369937 1.0248528 23.980537 6.067412 4.5306452 1.5367668 0.0014927368 -0.021193717 4.5503462 + 89960 20.362916 1.0255688 23.828308 6.0461723 4.5083318 1.5378405 0.0014465679 -0.020676329 4.5275616 + 89970 20.0678 1.0033814 23.674766 6.0678527 4.5632824 1.5045703 0.0014623226 -0.020784242 4.5826043 + 89980 20.375768 1.0138566 23.829101 6.0386964 4.5184183 1.520278 0.0016786711 -0.021528198 4.5382679 + 89990 20.206088 1.0193896 23.521407 6.0497396 4.5211649 1.5285747 0.0017531684 -0.022036027 4.5414477 + 90000 19.427738 1.0316518 23.740367 6.0713823 4.5244205 1.5469619 0.0019070642 -0.022479255 4.5449926 + 90010 20.061017 1.0021963 23.722915 6.0340061 4.5312127 1.5027934 0.0018501255 -0.02220921 4.5515718 + 90020 20.412926 1.0095257 23.915358 6.0406205 4.5268368 1.5137838 0.0016579626 -0.021350726 4.5465295 + 90030 20.082276 1.0139214 23.893386 6.029595 4.5092198 1.5203752 0.0016748937 -0.021083587 4.5286285 + 90040 20.171962 1.0169648 23.864229 6.0678143 4.5428755 1.5249388 0.0015371924 -0.020879081 4.5622174 + 90050 20.074398 1.0323086 23.984709 6.0877831 4.5398364 1.5479467 0.0015894354 -0.021318932 4.5595659 + 90060 20.05497 1.0368727 23.698756 6.0843608 4.5295702 1.5547907 0.001611073 -0.021548382 4.5495075 + 90070 20.221727 1.0257324 23.558091 6.0583868 4.5203011 1.5380857 0.001695846 -0.021509516 4.5401148 + 90080 20.325188 0.99941774 23.760754 6.0283592 4.5297323 1.4986269 0.0019149105 -0.02280576 4.5506232 + 90090 20.328073 1.0104456 23.670157 6.0227636 4.5076004 1.5151631 0.0020085157 -0.023563114 4.529155 + 90100 20.456212 0.98479114 23.225869 6.0071399 4.5304456 1.4766943 0.0020300076 -0.023309216 4.5517248 + 90110 20.380608 0.99154897 23.433637 6.019108 4.5322803 1.4868277 0.0020175983 -0.022684451 4.5529472 + 90120 19.976123 0.982028 23.785266 6.0271417 4.5545907 1.472551 0.0020654583 -0.022926005 4.5754513 + 90130 20.25964 0.9985469 23.726751 6.0302014 4.5328803 1.4973211 0.0020130579 -0.02245503 4.5533223 + 90140 20.209166 1.017294 23.800903 6.0307589 4.5053266 1.5254323 0.0019852397 -0.022266856 4.5256082 + 90150 20.199066 1.014164 23.600151 6.0427587 4.5220198 1.520739 0.0018179375 -0.021313652 4.5415155 + 90160 20.036608 1.0300956 23.781791 6.0619735 4.5173452 1.5446283 0.0015936655 -0.020424232 4.5361758 + 90170 20.450896 0.99976699 23.724306 6.0515808 4.5524302 1.4991506 0.0015424656 -0.01964154 4.5705293 + 90180 20.220265 1.0107812 23.653712 6.0445827 4.5289162 1.5156665 0.00153259 -0.020230087 4.5476137 + 90190 20.204454 1.0029517 23.56477 6.0519444 4.5480183 1.5039261 0.0016880887 -0.020883733 4.567214 + 90200 20.097027 1.0042796 23.680188 6.0262704 4.5203532 1.5059172 0.0019018372 -0.021713785 4.5401651 + 90210 20.285476 1.0127392 23.588348 6.0482727 4.5296703 1.5186025 0.0020556179 -0.022188246 4.5498029 + 90220 19.752988 1.0208278 23.820262 6.0561214 4.5253901 1.5307312 0.0020163187 -0.021798387 4.5451722 + 90230 20.086056 1.0133405 23.855031 6.071603 4.5520988 1.5195041 0.0017597835 -0.020735875 4.5710749 + 90240 20.123426 1.015726 23.609368 6.0569009 4.5338198 1.5230811 0.0018052606 -0.021406788 4.5534213 + 90250 20.453171 1.0221517 23.701737 6.0535404 4.5208239 1.5327165 0.0017978571 -0.021584739 4.5406108 + 90260 20.26421 0.99982424 23.656891 6.0433337 4.5440972 1.4992365 0.0016889461 -0.021005634 4.5634139 + 90270 19.850932 1.0214233 23.829651 6.0510987 4.5194744 1.5316242 0.0017250295 -0.020412363 4.5381618 + 90280 20.121473 1.0243705 23.842227 6.0755296 4.539486 1.5360436 0.0018442252 -0.020615782 4.5582576 + 90290 20.271006 1.0204193 23.837053 6.0593527 4.529234 1.5301187 0.0017850803 -0.020350758 4.5477997 + 90300 20.559092 0.99182254 23.703669 6.0416528 4.5544149 1.4872379 0.0016740836 -0.020519491 4.5732603 + 90310 20.241087 1.0230019 23.651752 6.0625567 4.5285653 1.5339914 0.0015612431 -0.019528147 4.5465322 + 90320 19.933227 1.0114944 23.635056 6.0456861 4.5289502 1.5167359 0.0013952061 -0.01847497 4.54603 + 90330 19.647435 1.006748 23.886728 6.0481026 4.5384839 1.5096187 0.0012101713 -0.017243972 4.5545177 + 90340 19.835961 1.00024 23.921771 6.0317551 4.5318952 1.49986 0.0011188191 -0.016988278 4.5477646 + 90350 20.242653 1.010166 23.582221 6.0333962 4.5186522 1.514744 0.0011391212 -0.017488466 4.5350015 + 90360 19.976565 0.98978419 23.697275 6.0310851 4.5469037 1.4841814 0.0013315699 -0.018868359 4.5644405 + 90370 20.341117 0.99728112 23.708278 6.0148463 4.5194233 1.495423 0.0014313529 -0.019940473 4.5379324 + 90380 20.313862 1.0052113 23.585435 6.0219736 4.5146593 1.5073143 0.0015502369 -0.020433524 4.5335426 + 90390 20.445169 1.0033362 23.803718 6.0429947 4.538492 1.5045027 0.0014996671 -0.020239243 4.5572316 + 90400 20.126894 1.0264298 23.714367 6.0644092 4.5252776 1.5391315 0.001594664 -0.021342499 4.5450255 + 90410 19.876606 1.0035993 23.592407 6.0698246 4.5649275 1.5048971 0.0017345357 -0.02192239 4.5851153 + 90420 20.093293 1.0092551 23.587797 6.053573 4.5401949 1.5133781 0.0016764762 -0.021512455 4.5600309 + 90430 20.406809 0.98831177 23.531446 6.0160874 4.5341139 1.4819735 0.0017372666 -0.021837565 4.5542142 + 90440 20.097895 1.0060848 23.658597 6.055345 4.5467209 1.5086241 0.0017406786 -0.021821906 4.5668021 + 90450 20.201478 1.0231312 23.693624 6.0593438 4.5251585 1.5341853 0.0017268328 -0.021714983 4.5451467 + 90460 20.223177 1.0140189 23.680664 6.054354 4.5338327 1.5205213 0.0017778248 -0.021901072 4.553956 + 90470 20.281661 0.99967437 23.933084 6.0251323 4.5261206 1.4990117 0.0017506557 -0.021761237 4.5461312 + 90480 20.274447 1.0010207 23.785659 6.0427822 4.5417517 1.5010305 0.0016595081 -0.021328554 4.5614207 + 90490 20.41284 1.0167092 23.948653 6.0455278 4.5209724 1.5245554 0.0015440218 -0.021052042 4.5404804 + 90500 20.23956 1.017472 23.729924 6.0683503 4.542651 1.5256993 0.0014846403 -0.020783712 4.5619501 + 90510 20.015949 1.024162 23.446873 6.0762539 4.5405229 1.535731 0.0015390345 -0.021210815 4.5601947 + 90520 20.134237 1.0085249 23.368792 6.050579 4.5382959 1.5122831 0.0015953307 -0.021267549 4.5579681 + 90530 20.260762 1.0045395 23.867183 6.0399392 4.5336322 1.506307 0.0014986899 -0.021010346 4.5531438 + 90540 19.879607 1.0167107 23.46325 6.0700351 4.5454775 1.5245576 0.0014173001 -0.020833729 4.5648939 + 90550 19.890148 0.99803328 23.873029 6.0343292 4.5377783 1.4965509 0.0013980019 -0.020638909 4.5570192 + 90560 20.323411 0.99879773 23.730214 6.0267656 4.5290684 1.4976972 0.0014690461 -0.02045544 4.5480548 + 90570 20.03348 1.00324 23.649414 6.0392548 4.5348964 1.5043584 0.0015851449 -0.02102648 4.5543377 + 90580 20.244358 1.0107194 23.810903 6.0320379 4.5164643 1.5155737 0.0016398006 -0.020810192 4.5356346 + 90590 20.111719 1.0085903 23.383784 6.0292651 4.516884 1.5123811 0.0016480149 -0.020168862 4.5354049 + 90600 20.292078 1.0028575 23.764997 6.0382111 4.5344262 1.5037848 0.0017268507 -0.020180609 4.55288 + 90610 20.337367 0.99350868 23.760902 6.0551721 4.5654058 1.4897663 0.0016477423 -0.019883022 4.5836411 + 90620 20.232963 1.0103154 23.586655 6.0479425 4.5329745 1.514968 0.0015465089 -0.019147593 4.5505756 + 90630 20.058259 1.0096655 23.999268 6.0486803 4.5346869 1.5139934 0.0016030685 -0.019255366 4.5523392 + 90640 20.4286 1.0047993 23.557121 6.023498 4.5168014 1.5066966 0.0016101163 -0.019735785 4.5349271 + 90650 20.526222 1.0126151 23.670726 6.0534001 4.5349837 1.5184164 0.0015854123 -0.020256329 4.5536547 + 90660 20.305254 0.99744418 23.272131 6.0308078 4.5351402 1.4956675 0.0015765215 -0.020827292 4.554391 + 90670 20.338496 1.0180205 23.829834 6.0419756 4.5154538 1.5265218 0.0015583185 -0.020864957 4.5347604 + 90680 20.509738 1.016189 23.845922 6.0507222 4.5269467 1.5237755 0.0015931239 -0.021111195 4.5464648 + 90690 20.160214 1.0019496 23.518874 6.0603057 4.5578823 1.5024234 0.0013952298 -0.020527373 4.5770144 + 90700 19.930926 1.0186695 23.841071 6.0441446 4.5166497 1.5274949 0.0012492162 -0.020067419 4.5354679 + 90710 20.483083 1.0068482 23.782313 6.0609878 4.551219 1.5097689 0.0012183966 -0.020018469 4.570019 + 90720 20.463711 1.0318588 23.96892 6.0605752 4.5133029 1.5472723 0.0013518002 -0.020783119 4.5327342 + 90730 20.404366 1.0179 23.937192 6.054136 4.527795 1.526341 0.0014837707 -0.021314454 4.5476256 + 90740 20.27904 1.0100301 23.474994 6.0619361 4.5473959 1.5145402 0.001661018 -0.021727637 4.5674625 + 90750 20.267111 1.0189951 23.746568 6.0834636 4.5554805 1.5279831 0.0017792417 -0.021976741 4.575678 + 90760 20.130929 1.0206613 24.071322 6.0832623 4.5527806 1.5304817 0.001788014 -0.022255204 4.5732478 + 90770 20.026162 1.0216503 23.733078 6.0785113 4.5465467 1.5319646 0.001772676 -0.022427288 4.5672013 + 90780 20.097217 1.018407 23.623516 6.0658496 4.5387483 1.5271013 0.0017945356 -0.022633184 4.559587 + 90790 20.147358 1.010559 24.017804 6.0541141 4.5387809 1.5153332 0.0017551379 -0.022624949 4.5596507 + 90800 20.362175 1.0217001 23.657553 6.0630264 4.5309871 1.5320393 0.0017487665 -0.022540497 4.5517788 + 90810 20.33207 1.0227535 23.871184 6.0811799 4.5475611 1.5336188 0.0017460352 -0.022228738 4.5680438 + 90820 19.993207 1.0161184 23.848142 6.054072 4.5304025 1.5236695 0.001770715 -0.022023134 4.5506549 + 90830 20.144113 1.001977 23.787742 6.0202481 4.5177837 1.5024645 0.0020532974 -0.023000119 4.5387305 + 90840 20.401918 0.98521489 23.525905 6.0112009 4.5338711 1.4773297 0.0020961274 -0.023488668 4.5552637 + 90850 20.439803 0.99770434 23.895416 6.029864 4.5338063 1.4960577 0.0022320941 -0.024464915 4.5560391 + 90860 20.13157 0.97885573 23.860246 6.0143558 4.5465616 1.4677942 0.0021959791 -0.024279032 4.5686446 + 90870 20.05776 1.0064667 23.7878 6.0092541 4.5000573 1.5091968 0.0021546748 -0.023990023 4.5218927 + 90880 19.860134 1.0019076 23.549088 6.0269578 4.5245973 1.5023605 0.0020971316 -0.023880694 4.5463808 + 90890 20.084208 0.99976473 23.784234 6.0307211 4.5315738 1.4991472 0.0018847044 -0.022632401 4.5523215 + 90900 20.306352 0.9962963 23.651562 6.0237699 4.5298236 1.4939463 0.0017163189 -0.021713361 4.5498206 + 90910 20.425603 0.98469663 23.374704 5.9986731 4.5221205 1.4765526 0.0017842401 -0.022230561 4.5425669 + 90920 20.308623 0.97878794 23.40472 5.9918936 4.5242011 1.4676925 0.0016661885 -0.021716185 4.5442511 + 90930 20.277255 1.0005751 23.458059 6.0167018 4.5163395 1.5003623 0.0015268629 -0.020999591 4.5358122 + 90940 20.339661 1.0035961 23.891833 6.0430671 4.5381748 1.5048923 0.0014552745 -0.020753189 4.5574727 + 90950 20.196218 1.0106038 23.573446 6.0551173 4.5397169 1.5154004 0.001560822 -0.021308152 4.5594642 + 90960 20.254197 1.009247 24.11518 6.0392339 4.5258679 1.5133659 0.0016924947 -0.02235559 4.546531 + 90970 20.323139 1.0334809 23.786649 6.0617527 4.5120481 1.5497046 0.0018859138 -0.022828448 4.5329907 + 90980 20.343763 1.0155275 23.574394 6.0650526 4.5422692 1.5227835 0.0020422552 -0.023116894 4.5633438 + 90990 20.225631 1.0244352 23.65986 6.083966 4.5478254 1.5361406 0.0021808471 -0.023383777 4.5690283 + 91000 20.338638 1.0169137 23.711 6.0578359 4.5329738 1.5248621 0.0022719185 -0.02394592 4.5546478 + 91010 20.378116 1.0218563 23.826237 6.0712918 4.5390183 1.5322735 0.002119469 -0.02346061 4.5603594 + 91020 20.566685 1.0263208 23.796025 6.0688706 4.5299025 1.5389681 0.0019514557 -0.023145811 4.5510969 + 91030 20.310946 1.0373568 23.763365 6.1027566 4.5472401 1.5555165 0.0016426284 -0.02143249 4.5670299 + 91040 20.181611 1.0271173 23.55748 6.0983167 4.5581543 1.5401625 0.0016448602 -0.021296712 4.5778061 + 91050 20.25717 1.038389 23.752689 6.080288 4.5232236 1.5570644 0.0019125498 -0.022230702 4.5435417 + 91060 19.895871 1.0031614 23.690339 6.0443492 4.5401087 1.5042405 0.0020567325 -0.022899734 4.5609517 + 91070 20.186418 1.0193247 23.847421 6.0672874 4.53881 1.5284774 0.0022421052 -0.023755699 4.5603236 + 91080 20.334941 1.0028202 23.808222 6.0475355 4.5438066 1.5037289 0.0024226355 -0.024841385 4.5662253 + 91090 20.34436 1.0162356 23.980485 6.0469835 4.5231382 1.5238452 0.0024994268 -0.025264564 4.5459034 + 91100 20.444085 1.0272911 23.8413 6.0707205 4.5302975 1.540423 0.0023395114 -0.024500078 4.5524581 + 91110 20.138102 1.0386621 23.844629 6.0990748 4.5416011 1.5574738 0.0021317963 -0.023526378 4.5629957 + 91120 20.25326 1.0568587 23.590556 6.1351727 4.5504131 1.5847596 0.0018762913 -0.022663903 4.5712007 + 91130 20.236829 1.0182441 23.852643 6.1143188 4.5874618 1.526857 0.0017108096 -0.021821452 4.6075724 + 91140 20.439159 1.0361264 23.700941 6.0878622 4.5341907 1.5536715 0.0018634717 -0.022375732 4.554703 + 91150 20.255808 1.0003149 23.598799 6.0269326 4.5269604 1.4999722 0.0017905663 -0.022131629 4.5473015 + 91160 20.181284 0.99202325 23.770751 6.0173772 4.5298384 1.4875389 0.0019767086 -0.022709285 4.550571 + 91170 20.290458 0.98742731 23.637979 6.009551 4.5289038 1.4806473 0.0021462863 -0.023135988 4.5498935 + 91180 20.401812 0.99323343 23.618653 6.0289866 4.5396331 1.4893535 0.0022076065 -0.023265189 4.5606906 + 91190 20.620386 0.9991747 23.794188 6.0522089 4.5539464 1.4982625 0.0021995341 -0.02393755 4.5756844 + 91200 20.233457 1.0019208 23.861174 6.048835 4.5464548 1.5023802 0.0018916318 -0.022747461 4.5673106 + 91210 20.116099 1.0035271 23.694609 6.0439248 4.539136 1.5047888 0.0017026829 -0.021648508 4.5590818 + 91220 20.188859 1.0100596 23.907762 6.03331 4.5187257 1.5145843 0.001781599 -0.021657011 4.5386011 + 91230 20.275215 0.98248756 23.864589 5.9990625 4.5258224 1.4732401 0.0019880286 -0.022331003 4.5461654 + 91240 20.472294 1.0029819 23.624024 6.0280364 4.524065 1.5039714 0.0018771465 -0.02189319 4.544081 + 91250 20.093048 0.99527527 23.580292 6.0149245 4.5225093 1.4924153 0.0015034583 -0.020123431 4.5411292 + 91260 20.234355 0.99764833 23.837006 6.0205228 4.5245491 1.4959737 0.0015356955 -0.020280365 4.5432938 + 91270 20.197836 0.99718388 23.423952 6.0182989 4.5230217 1.4952772 0.0015588041 -0.020566723 4.5420296 + 91280 20.476404 1.0042912 23.72358 6.0350404 4.5291057 1.5059347 0.0015152262 -0.020413704 4.5480042 + 91290 20.490208 1.0025965 23.707604 6.0473023 4.5439089 1.5033934 0.0015025535 -0.020336436 4.5627428 + 91300 20.209802 1.0018702 23.892035 6.0132461 4.5109417 1.5023044 0.0015653567 -0.020382178 4.5297585 + 91310 20.330081 0.99519517 23.704877 6.0320185 4.5397233 1.4922952 0.0016496863 -0.020594748 4.5586684 + 91320 20.370919 1.0175917 23.582588 6.0604737 4.5345949 1.5258788 0.001659035 -0.020400159 4.5533361 + 91330 20.40935 1.029028 24.137935 6.0798661 4.5368385 1.5430275 0.0016247877 -0.021216879 4.5564306 + 91340 20.315103 1.0032276 23.714789 6.0542053 4.5498655 1.5043398 0.0017901674 -0.022456003 4.5705313 + 91350 20.073189 1.0141673 23.600404 6.0370627 4.5163189 1.5207438 0.0018010333 -0.022656672 4.5371746 + 91360 20.199906 1.0055364 23.691977 6.0204446 4.5126427 1.5078019 0.001836479 -0.021996367 4.5328026 + 91370 20.170409 1.0060862 23.544045 6.032264 4.5236377 1.5086262 0.0019323207 -0.022556906 4.5442623 + 91380 20.068809 0.99613448 23.777655 6.0278504 4.5341468 1.4937037 0.0019430499 -0.022819513 4.5550232 + 91390 20.250286 1.0007046 23.937358 6.0252108 4.5246542 1.5005566 0.0019756397 -0.022854495 4.5455331 + 91400 20.037652 0.97954154 23.609723 6.0065778 4.5377553 1.4688225 0.0020342123 -0.022918801 4.5586398 + 91410 20.228673 0.99451937 23.647835 6.0238903 4.5326085 1.4912818 0.0019246446 -0.022149679 4.5528335 + 91420 20.229151 0.98989742 23.758269 6.0266016 4.5422505 1.4843512 0.0019606012 -0.022625214 4.5629151 + 91430 20.25613 1.004552 23.991879 6.0159451 4.5096193 1.5063257 0.0017073604 -0.021920132 4.5298321 + 91440 20.294674 0.98189017 23.634775 5.9946625 4.5223182 1.4723443 0.0017472409 -0.022321712 4.5428927 + 91450 20.274317 1.0023907 23.67508 6.0373473 4.5342625 1.5030848 0.0017751697 -0.022342313 4.5548297 + 91460 20.007696 0.99876451 24.070791 6.0511454 4.5534981 1.4976474 0.001585097 -0.021027423 4.5729404 + 91470 20.173649 1.0161927 23.831098 6.066274 4.542493 1.523781 0.0014846681 -0.020543685 4.561552 + 91480 20.287118 1.0077294 23.643948 6.0488698 4.5377796 1.5110902 0.0014429236 -0.020373564 4.5567102 + 91490 20.262045 1.0163186 24.182088 6.0616066 4.5376369 1.5239697 0.0014752667 -0.020420535 4.5565822 + 91500 20.527717 1.0457763 23.717058 6.0763244 4.5081827 1.5681416 0.0015696436 -0.020944266 4.5275574 + 91510 20.028681 1.0173536 23.529835 6.0583049 4.5327832 1.5255217 0.0016625649 -0.021606866 4.5527275 + 91520 20.158761 1.0145857 23.70294 6.0617007 4.5403294 1.5213713 0.0016875553 -0.02167384 4.5603157 + 91530 20.230117 1.0188048 23.723152 6.0518995 4.5242017 1.5276978 0.0015667009 -0.020689522 4.5433245 + 91540 20.194079 1.0099391 23.677275 6.0564443 4.5420406 1.5144036 0.00135287 -0.019827264 4.560515 + 91550 20.397672 0.99427823 23.606263 6.0381678 4.5472476 1.4909202 0.0013037759 -0.019812479 4.5657563 + 91560 20.446746 0.98796964 23.856708 6.0063727 4.5249122 1.4814605 0.0013256817 -0.019690849 4.5432774 + 91570 20.420406 1.0091644 23.733786 6.0524152 4.5391732 1.513242 0.001381303 -0.019850709 4.5576426 + 91580 19.921091 1.01513 23.696602 6.0494562 4.5272687 1.5221875 0.0015511532 -0.020280579 4.5459981 + 91590 19.817356 0.98323364 23.55489 6.0308124 4.5564535 1.4743588 0.0016128315 -0.020879271 4.57572 + 91600 20.189418 0.98745069 23.634719 6.0113921 4.5307098 1.4806823 0.0019050041 -0.022113432 4.5509182 + 91610 20.186744 0.99483343 23.803548 6.0055577 4.513805 1.4917527 0.0019886691 -0.022630807 4.5344471 + 91620 20.307873 0.99373103 23.69231 6.0015854 4.5114857 1.4900997 0.0017748515 -0.021741818 4.5314527 + 91630 20.403076 0.97440025 23.75687 6.0107278 4.5496146 1.4611132 0.0018393074 -0.022463748 4.570239 + 91640 20.241273 0.99490937 23.997302 6.0210821 4.5292155 1.4918666 0.0018286788 -0.022387478 4.5497743 + 91650 20.113023 1.0046177 23.993063 6.0448796 4.5384553 1.5064243 0.0017802379 -0.022443101 4.5591182 + 91660 20.447904 1.0213941 23.646799 6.0515054 4.519925 1.5315804 0.0019047295 -0.023129192 4.5411494 + 91670 20.168846 0.99987567 23.937032 6.0383214 4.5390078 1.4993136 0.0020332941 -0.023569516 4.560544 + 91680 20.157129 1.0179338 23.726442 6.0444453 4.5180537 1.5263917 0.0019164761 -0.022962165 4.5390993 + 91690 20.411606 1.0309644 24.336148 6.066745 4.5208139 1.5459311 0.0017511305 -0.022189807 4.5412526 + 91700 19.845122 1.008395 23.771258 6.0578833 4.545795 1.5120884 0.0019197864 -0.022859803 4.566735 + 91710 19.87522 1.025945 23.79031 6.0727338 4.5343293 1.5384045 0.0017114955 -0.021880389 4.5544982 + 91720 19.846014 1.0310153 23.566532 6.1006955 4.5546881 1.5460074 0.0017567644 -0.022102741 4.5750341 + 91730 20.317358 1.0257004 23.838413 6.080856 4.5428182 1.5380378 0.0016273395 -0.02101053 4.5622014 + 91740 20.232612 1.0294594 23.577029 6.0933909 4.5497165 1.5436744 0.0017640362 -0.021179828 4.5691323 + 91750 19.890935 1.0084957 23.701769 6.0435505 4.5313112 1.5122393 0.0017826146 -0.021106731 4.5506353 + 91760 20.106138 1.0101449 23.814723 6.0541822 4.53947 1.5147122 0.0018500239 -0.021797629 4.5594176 + 91770 20.316081 0.99214421 23.642006 6.0215458 4.5338256 1.4877202 0.0018113065 -0.021268947 4.5532832 + 91780 20.123898 0.98653913 23.475186 6.0022822 4.5229667 1.4793154 0.0016421636 -0.020862958 4.5421875 + 91790 20.12884 0.99016673 23.842844 6.0126925 4.5279374 1.484755 0.0015516435 -0.020459592 4.5468454 + 91800 20.260464 1.0067989 23.770461 6.0111638 4.5014689 1.5096949 0.0016223874 -0.020797183 4.5206437 + 91810 20.402627 0.99112611 23.552292 5.9929404 4.5067468 1.4861936 0.0016058328 -0.021057864 4.5261988 + 91820 20.050403 0.98485222 23.581405 6.0025509 4.525765 1.4767859 0.0016317083 -0.021407254 4.5455405 + 91830 20.172984 1.013733 23.699518 6.0471337 4.5270411 1.5200927 0.0016399073 -0.021416413 4.5468176 + 91840 20.448965 1.0086789 23.551801 6.0410441 4.52853 1.512514 0.0016424145 -0.021407021 4.5482947 + 91850 20.146052 1.0007866 23.762033 6.0481422 4.5474627 1.5006795 0.0017963792 -0.021987334 4.5676536 + 91860 20.276325 1.0015915 23.596206 6.030941 4.5290545 1.5018864 0.0019565174 -0.022614443 4.5497125 + 91870 20.203599 1.0241476 24.058451 6.0599174 4.5242081 1.5357093 0.0017758195 -0.021970149 4.5444024 + 91880 19.906199 0.99732974 23.510741 6.0407468 4.5452509 1.4954959 0.0014978683 -0.020727077 4.5644801 + 91890 19.828233 1.0101593 23.808219 6.0253979 4.510664 1.5147339 0.0016479931 -0.021440451 4.5304564 + 91900 20.217935 0.98923371 23.679118 6.0120952 4.5287392 1.483356 0.0020430965 -0.023552878 4.550249 + 91910 20.328983 1.0164228 23.641461 6.0498476 4.5257217 1.524126 0.0022903518 -0.024731268 4.5481626 + 91920 20.301193 1.0093404 23.525452 6.0319952 4.5184892 1.513506 0.0022905521 -0.024516206 4.5407149 + 91930 20.328828 0.98857594 23.509947 6.0205904 4.5382207 1.4823696 0.0021610784 -0.023756344 4.559816 + 91940 20.340514 1.0107423 23.702999 6.0448958 4.5292878 1.515608 0.0019256257 -0.022674897 4.550037 + 91950 19.844803 0.99026479 23.51681 6.0277644 4.5428624 1.484902 0.001807262 -0.021834355 4.5628895 + 91960 19.958542 0.99418374 23.978001 5.9880429 4.4972644 1.4907785 0.0018614658 -0.022178166 4.5175811 + 91970 19.800836 0.97550142 23.739672 5.9963867 4.5336223 1.4627644 0.0018641051 -0.02241524 4.5541734 + 91980 19.793976 0.98945285 23.919077 6.004112 4.5204274 1.4836846 0.001644323 -0.021725416 4.5405085 + 91990 19.991698 0.99638995 23.683704 6.0260113 4.5319246 1.4940867 0.0014990934 -0.020812814 4.5512383 + 92000 20.367811 1.0037779 23.358216 6.0271124 4.5219475 1.5051649 0.001508207 -0.020720082 4.5411594 + 92010 20.461416 0.99539933 23.67222 6.0339283 4.541327 1.4926013 0.0013066141 -0.019687776 4.5597082 + 92020 20.451574 1.0143088 23.755454 6.0675312 4.5465752 1.520956 0.00099480935 -0.017892898 4.5634733 + 92030 20.492167 1.0062282 23.614614 6.0417108 4.5328716 1.5088392 0.0011241655 -0.018149587 4.549897 + 92040 20.326432 1.0048615 23.71966 6.0282156 4.5214257 1.5067899 0.0011167988 -0.018350145 4.538659 + 92050 20.281753 0.99927953 23.598956 6.0437024 4.5452827 1.4984197 0.0010031375 -0.017949248 4.5622289 + 92060 20.397845 0.99932208 23.477231 6.0353692 4.5368858 1.4984835 0.0010091326 -0.018147527 4.5540241 + 92070 20.056203 1.0032188 23.644817 6.0238416 4.519515 1.5043266 0.001154956 -0.018809782 4.5371698 + 92080 19.082291 0.98785996 23.642958 6.020176 4.53888 1.481296 0.0011940077 -0.01913859 4.5568246 + 92090 19.83509 0.99398558 23.917316 6.0324828 4.5420014 1.4904814 0.0012244361 -0.019353642 4.5601306 + 92100 20.256228 1.0115657 23.591682 6.0427837 4.5259409 1.5168428 0.0011242787 -0.019358577 4.5441752 + 92110 20.198666 1.0052617 23.553708 6.0279547 4.5205648 1.50739 0.0012898549 -0.020332633 4.5396075 + 92120 20.303543 0.99740216 23.736584 6.0062085 4.5106039 1.4956045 0.0014208638 -0.020490611 4.5296737 + 92130 20.387047 0.9771755 23.539129 5.9934123 4.5281377 1.4652747 0.0015149824 -0.021002799 4.5476255 + 92140 20.47061 1.0050473 23.715927 5.995075 4.4880066 1.5070684 0.0016737007 -0.021790403 4.5081233 + 92150 20.033537 0.99660611 23.77328 6.0199136 4.5255027 1.4944109 0.0017593048 -0.022288859 4.5460323 + 92160 20.173114 1.0072518 23.61494 6.0473001 4.5369259 1.5103741 0.0015588073 -0.021297131 4.5566642 + 92170 20.018046 1.0138599 23.768101 6.0555608 4.5352778 1.520283 0.00142114 -0.020344673 4.5542013 + 92180 20.433638 1.0210856 23.69445 6.0777304 4.5466125 1.5311179 0.0015142279 -0.020988011 4.5660863 + 92190 20.375832 1.0050675 23.842376 6.0642222 4.5571234 1.5070988 0.0016338161 -0.021756327 4.5772459 + 92200 19.970109 1.0132031 23.884077 6.0571394 4.5378414 1.519298 0.0016654313 -0.021637138 4.5578131 + 92210 19.863095 1.0144302 23.980569 6.0546129 4.5334748 1.5211381 0.0017542606 -0.022042328 4.5537629 + 92220 20.17273 1.0238315 23.862382 6.0748512 4.5396158 1.5352354 0.0018965043 -0.02268257 4.5604018 + 92230 20.28234 1.0198278 23.868966 6.0542526 4.5250207 1.5292319 0.0020466403 -0.02318197 4.5461561 + 92240 20.212886 1.0027649 23.67924 6.0472928 4.5436467 1.503646 0.0018477407 -0.022576745 4.5643758 + 92250 20.051164 1.004673 24.128113 6.0292492 4.522742 1.5065072 0.0018731269 -0.023030312 4.5438992 + 92260 20.415976 1.0205165 23.670703 6.0577534 4.5274889 1.5302645 0.0020372416 -0.0236326 4.5490842 + 92270 20.177155 1.0395465 23.788917 6.1040553 4.5452553 1.5588 0.002111712 -0.023584186 4.5667277 + 92280 19.748921 1.0078276 23.795771 6.0940421 4.5828046 1.5112375 0.0022206528 -0.023891046 4.604475 + 92290 20.214264 1.0383563 23.650535 6.0868397 4.5298245 1.5570152 0.0022369304 -0.023855561 4.5514431 + 92300 20.25995 1.0283916 23.63453 6.0754216 4.5333484 1.5420732 0.0021102668 -0.02372116 4.5549593 + 92310 20.376886 0.99450052 23.510563 6.0448253 4.5535718 1.4912535 0.0018496695 -0.02242119 4.5741433 + 92320 20.236454 1.0094944 23.681676 6.0314595 4.5177226 1.5137369 0.0017049358 -0.021958101 4.5379757 + 92330 20.13246 1.0127475 23.665626 6.0476451 4.5290303 1.5186148 0.0017907355 -0.022299882 4.5495395 + 92340 20.35453 1.0156018 23.590726 6.050438 4.5275432 1.5228948 0.0018658132 -0.022840136 4.5485175 + 92350 20.268502 1.0064746 23.61286 6.0588673 4.5496586 1.5092087 0.0016721677 -0.022101061 4.5700875 + 92360 20.362094 1.0295453 23.847735 6.0933463 4.5495432 1.5438032 0.0015626004 -0.02142374 4.5694043 + 92370 20.298226 1.0384948 23.650591 6.0972737 4.5400507 1.557223 0.0015034244 -0.020905788 4.5594531 + 92380 20.310435 1.0381733 23.754229 6.0990894 4.5423485 1.5567409 0.0015213007 -0.021101246 4.5619285 + 92390 20.162459 1.0050273 23.700162 6.0874164 4.580378 1.5070384 0.0016114331 -0.021886061 4.6006526 + 92400 19.918331 1.0400431 23.757882 6.0918955 4.5323509 1.5595446 0.0016444798 -0.022161002 4.5528674 + 92410 20.272895 1.0244717 23.726069 6.0869734 4.5507781 1.5361953 0.0017563573 -0.022382929 4.5714047 + 92420 20.272473 1.0257271 23.642788 6.0947589 4.5566811 1.5380778 0.0018644979 -0.022707391 4.577524 + 92430 20.3137 1.0433724 23.973692 6.1091052 4.5445683 1.5645369 0.0021062929 -0.023565357 4.5660274 + 92440 19.935266 1.0248073 23.989959 6.0829158 4.5462172 1.5366986 0.0021168121 -0.023760242 4.5678606 + 92450 20.323277 1.0145741 24.022807 6.0628453 4.5414915 1.5213539 0.0019568814 -0.023381319 4.5629159 + 92460 20.280538 1.0288135 23.925062 6.0715176 4.5288118 1.5427058 0.0016734423 -0.022063019 4.5492014 + 92470 20.357523 1.004199 23.748591 6.0506924 4.5448959 1.5057965 0.0016247581 -0.021849535 4.5651207 + 92480 20.217933 1.016658 23.624266 6.0472659 4.5227873 1.5244787 0.0015419557 -0.021708553 4.5429539 + 92490 20.42016 1.0032041 23.86668 6.036405 4.5321005 1.5043045 0.0013210581 -0.020301599 4.551081 + 92500 20.108929 0.99842726 23.619983 6.0335418 4.5364001 1.4971417 0.0013701495 -0.019836939 4.5548669 + 92510 20.195825 1.0016109 23.576455 6.0180533 4.5161378 1.5019155 0.0014489757 -0.019985374 4.5346742 + 92520 20.236182 1.0089411 23.689147 6.0298511 4.5169439 1.5129072 0.0014212221 -0.019652332 4.5351751 + 92530 20.162442 0.98054126 23.523517 6.02125 4.5509284 1.4703216 0.0012912498 -0.018826442 4.5684636 + 92540 20.310634 1.0202218 23.861222 6.0291581 4.4993355 1.5298226 0.0012219725 -0.018973036 4.5170866 + 92550 20.29193 1.0028906 23.810363 6.0315148 4.5276804 1.5038344 0.0011469833 -0.019154701 4.5456881 + 92560 20.171478 1.0028215 23.57718 6.0308536 4.5271228 1.5037308 0.0011324451 -0.01954467 4.545535 + 92570 20.293985 0.99931557 23.533016 6.0333368 4.5348631 1.4984737 0.0011685037 -0.019542894 4.5532375 + 92580 20.270994 1.0129726 23.73776 6.0314835 4.5125311 1.5189524 0.0013990663 -0.020661742 4.5317938 + 92590 20.306933 1.0257548 23.590511 6.0503616 4.5122424 1.5381193 0.0018272517 -0.022380898 4.532796 + 92600 20.37149 1.0278159 23.925117 6.0728814 4.5316715 1.5412099 0.0019960558 -0.022931067 4.5526065 + 92610 20.049974 1.0137823 23.745516 6.0576725 4.5375059 1.5201666 0.0019053063 -0.022755414 4.558356 + 92620 20.105426 0.98461805 23.618037 6.0360876 4.5596528 1.4764348 0.0016839111 -0.021553102 4.579522 + 92630 20.164913 1.0043383 23.657286 6.057684 4.5516788 1.5060052 0.0015247387 -0.020713319 4.5708674 + 92640 20.498371 1.0186751 23.55665 6.0515752 4.5240719 1.5275033 0.0016998301 -0.02157482 4.5439469 + 92650 20.412018 1.0064719 23.653427 6.0412935 4.5320888 1.5092046 0.0019147298 -0.023170938 4.553345 + 92660 20.207918 0.99575558 23.827388 6.0102989 4.5171634 1.4931355 0.0021612532 -0.024140747 4.5391429 + 92670 20.266818 0.97851199 23.507304 5.9869312 4.5196525 1.4672787 0.0022113052 -0.024336319 4.5417775 + 92680 20.37425 0.97170014 23.584906 5.9684326 4.5113682 1.4570644 0.0023083434 -0.024628625 4.5336885 + 92690 20.035879 0.9868024 23.498618 6.0302525 4.5505423 1.4797102 0.0023180989 -0.024534979 4.5727592 + 92700 20.370685 1.0073306 23.379216 6.016673 4.5061808 1.5104923 0.0023288143 -0.024512977 4.5283649 + 92710 20.527944 1.027478 23.620256 6.0539604 4.5132572 1.5407032 0.0021704371 -0.023871797 4.5349585 + 92720 20.325777 1.0073839 23.508361 6.0671698 4.5565976 1.5105722 0.0018839988 -0.022310095 4.5770237 + 92730 20.066906 1.0170678 23.852468 6.0777165 4.5526234 1.5250932 0.0017608227 -0.02161906 4.5724816 + 92740 20.139886 1.0296324 23.896098 6.0617769 4.5178431 1.5439338 0.0016497849 -0.021450512 4.5376438 + 92750 20.107006 1.0168785 23.579526 6.07221 4.5474008 1.5248093 0.0016859139 -0.021646036 4.5673609 + 92760 20.514868 1.020123 23.925236 6.0744122 4.5447377 1.5296745 0.0017183566 -0.022147599 4.5651669 + 92770 20.545524 1.0394814 23.759893 6.0815048 4.5228024 1.5587023 0.0019690676 -0.023287278 4.5441206 + 92780 20.40034 1.0403834 23.822897 6.0999304 4.5398755 1.560055 0.0021259218 -0.023630673 4.5613802 + 92790 20.234866 1.0281305 23.561809 6.0623067 4.520625 1.5416817 0.0021755068 -0.024068004 4.5425175 + 92800 20.210756 1.0245435 23.841667 6.05453 4.518227 1.5363029 0.002142915 -0.023962181 4.5400463 + 92810 19.875605 1.0109854 23.984983 6.0224662 4.5064935 1.5159726 0.001995212 -0.023415082 4.5279134 + 92820 19.93489 1.0170943 23.821629 6.0538334 4.5287004 1.5251329 0.0018361182 -0.022608527 4.5494728 + 92830 20.377613 1.0242984 23.824947 6.0683762 4.5324407 1.5359355 0.0019263475 -0.02319977 4.5537141 + 92840 20.31307 1.0269945 23.844259 6.0859287 4.5459505 1.5399782 0.0022002213 -0.024118709 4.567869 + 92850 20.101906 1.0303867 23.989853 6.0717683 4.5267035 1.5450648 0.0023767464 -0.024749956 4.5490767 + 92860 20.074911 1.0146147 23.688533 6.055226 4.5338113 1.5214147 0.0022525813 -0.024716225 4.5562749 + 92870 19.801599 1.0369362 23.786468 6.0845395 4.5296537 1.5548858 0.0020887776 -0.024385975 4.5519509 + 92880 20.082872 1.0184563 23.595102 6.0804054 4.5532301 1.5271753 0.0017302488 -0.022805287 4.5743052 + 92890 20.128653 1.0265729 23.897543 6.0517133 4.5123672 1.5393461 0.0015186245 -0.0216945 4.5325431 + 92900 19.723385 1.0177363 23.895799 6.0562317 4.5301361 1.5260956 0.0015115677 -0.021318301 4.5499428 + 92910 20.318406 1.0021838 23.556278 6.062842 4.5600673 1.5027747 0.0014985006 -0.021423354 4.5799922 + 92920 19.921321 0.99216323 23.543477 6.0371035 4.5493547 1.4877488 0.0014601736 -0.02087031 4.5687649 + 92930 20.025819 1.0059102 23.766878 6.0438315 4.535469 1.5083624 0.0016268113 -0.021626709 4.5554689 + 92940 20.342386 1.0044294 23.865842 6.0280228 4.5218809 1.5061419 0.0015790107 -0.020850955 4.5411528 + 92950 20.158709 0.99531726 23.345843 6.0241981 4.5317198 1.4924782 0.0015784141 -0.020631762 4.5507732 + 92960 20.135949 1.0096502 23.695938 6.0342762 4.5203058 1.5139705 0.0016350233 -0.021293102 4.5399639 + 92970 19.917968 1.0063701 23.580428 6.0250903 4.5160383 1.509052 0.0016736993 -0.021386433 4.535751 + 92980 20.187327 1.0139018 23.729119 6.0480817 4.5277359 1.5203458 0.0016534712 -0.021179967 4.5472624 + 92990 20.173572 1.0136917 23.836279 6.0487365 4.5287057 1.5200308 0.001702978 -0.021137858 4.5481406 + 93000 20.285123 1.0054422 23.737835 6.0470624 4.5394018 1.5076606 0.0017322549 -0.020596513 4.558266 + 93010 20.268563 1.0101702 23.722255 6.0504399 4.5356897 1.5147502 0.001670632 -0.019932519 4.5539516 + 93020 20.076756 1.0119816 23.661938 6.0451406 4.5276742 1.5174663 0.0016582531 -0.019555016 4.545571 + 93030 20.152332 1.0165496 23.754306 6.0462805 4.5219645 1.5243161 0.001551434 -0.01944066 4.5398537 + 93040 20.544631 1.0170395 23.594011 6.0698232 4.5447725 1.5250507 0.001395236 -0.018632712 4.56201 + 93050 20.257849 0.99908073 23.850215 6.0483357 4.5502141 1.4981216 0.0011149406 -0.017568573 4.5666677 + 93060 20.429229 1.0176631 23.797446 6.0462927 4.5203069 1.5259858 0.00097682858 -0.017037919 4.536368 + 93070 20.495559 1.0152981 23.718972 6.0542577 4.5318183 1.5224394 0.0012433244 -0.018134669 4.5487096 + 93080 20.093153 1.0349745 24.001032 6.0569356 4.5049914 1.5519442 0.0013470127 -0.019171873 4.5228163 + 93090 19.913607 1.0182224 23.67073 6.0660324 4.5392079 1.5268246 0.0013760679 -0.01971114 4.5575429 + 93100 20.204158 1.0066036 23.573434 6.0466044 4.5372023 1.5094021 0.001505301 -0.020392121 4.5560891 + 93110 19.644613 1.0178694 23.947059 6.0440137 4.5177186 1.5262951 0.001615697 -0.020851512 4.5369544 + 93120 20.286158 1.011749 23.769234 6.0458319 4.5287142 1.5171176 0.0017638065 -0.021543905 4.5484943 + 93130 20.30155 1.0108932 23.792123 6.0391903 4.5233559 1.5158344 0.0019769162 -0.022510096 4.543889 + 93140 20.199868 1.0079954 23.918011 6.0250482 4.5135591 1.5114891 0.0021459706 -0.023353221 4.5347664 + 93150 20.034955 1.0062345 23.663784 6.0205473 4.5116987 1.5088487 0.002098128 -0.02326461 4.5328652 + 93160 19.958278 1.0089054 23.568527 6.0320736 4.51922 1.5128537 0.0021740113 -0.023841839 4.5408878 + 93170 20.128224 0.9990399 23.84466 6.0265761 4.5285158 1.4980603 0.0021932858 -0.024412637 4.5507352 + 93180 20.022313 1.0061506 23.678396 6.0548097 4.5460868 1.5087228 0.0020357081 -0.023574729 4.5676259 + 93190 20.401902 1.0208906 23.851191 6.0744815 4.5436561 1.5308254 0.0019217451 -0.023156172 4.5648905 + 93200 20.408668 1.0263589 23.688733 6.0773808 4.5383556 1.5390252 0.0016219858 -0.021679704 4.5584133 + 93210 20.090897 1.0166149 23.546295 6.0583649 4.5339508 1.5244141 0.0016344065 -0.021543166 4.5538596 + 93220 20.37369 1.0210732 23.7265 6.074575 4.5434757 1.5310993 0.0014633823 -0.02083944 4.5628517 + 93230 20.45913 1.001596 23.595494 6.0531251 4.5512319 1.5018932 0.0016229283 -0.021605557 4.5712145 + 93240 20.309028 1.013312 23.939192 6.062325 4.5428637 1.5194613 0.0016713669 -0.0215164 4.5627087 + 93250 20.066256 1.0219217 23.858783 6.0426504 4.5102788 1.5323716 0.0015817492 -0.020882912 4.52958 + 93260 19.982766 1.0216326 23.882595 6.0720123 4.5400742 1.5319381 0.0015204377 -0.020813062 4.5593668 + 93270 20.09335 1.0056839 23.772205 6.0856312 4.5776082 1.508023 0.0015931036 -0.021486638 4.5975018 + 93280 20.315075 1.0305069 23.857674 6.0727185 4.5274733 1.5452451 0.0015954186 -0.021412041 4.54729 + 93290 20.411694 1.0247198 23.922922 6.092088 4.5555208 1.5365673 0.0015996572 -0.021384747 4.5753059 + 93300 20.17863 1.0238163 23.954696 6.0841938 4.5489814 1.5352125 0.0015653975 -0.021368725 4.5687847 + 93310 20.129165 1.0350898 24.001221 6.075125 4.5230078 1.5521171 0.0017749878 -0.022388422 4.5436213 + 93320 20.023193 1.0265084 23.696103 6.0835403 4.544291 1.5392493 0.0016341619 -0.021861573 4.5645184 + 93330 20.081765 1.0215961 23.656021 6.0771626 4.5452793 1.5318833 0.0014982637 -0.021293689 4.5650748 + 93340 20.183949 0.99741538 23.472328 6.0345061 4.5388818 1.4956244 0.0014798087 -0.021116223 4.5585182 + 93350 20.227638 1.0026275 23.762724 6.0506582 4.5472182 1.50344 0.0015193475 -0.021116631 4.5668154 + 93360 20.29649 1.0049677 23.739901 6.0454923 4.5385431 1.5069491 0.0015607755 -0.021370761 4.5583531 + 93370 20.01774 1.0037894 23.578751 6.0556115 4.5504294 1.5051822 0.0016917436 -0.02147124 4.5702088 + 93380 20.317039 1.0303287 23.860985 6.0715468 4.526569 1.5449778 0.0015466142 -0.020434951 4.5454573 + 93390 19.891674 1.0053602 23.487593 6.049834 4.5422964 1.5075376 0.0013256925 -0.019373995 4.5603447 + 93400 20.098238 0.9947598 23.627026 6.0104588 4.5188165 1.4916423 0.0014887194 -0.020661636 4.5379894 + 93410 19.819114 0.96770139 23.634104 5.9801529 4.5290846 1.4510682 0.0016619809 -0.021643511 4.5490662 + 93420 20.240758 0.98642213 23.179452 5.985942 4.506802 1.47914 0.0015273264 -0.021328144 4.5266028 + 93430 20.174447 0.9966039 23.732922 6.0180289 4.5236214 1.4944075 0.001304419 -0.020573789 4.5428907 + 93440 20.060811 0.99291029 23.665478 6.0237451 4.5348761 1.488869 0.0013684674 -0.021063075 4.5545708 + 93450 20.097314 1.002292 23.904815 6.0484907 4.5455539 1.5029369 0.0015176359 -0.021960934 4.5659972 + 93460 20.102593 1.0219417 23.523046 6.0610286 4.528627 1.5324016 0.0017043078 -0.022383385 4.5493061 + 93470 20.102175 1.0107138 23.604108 6.0519872 4.5364219 1.5155653 0.0016902402 -0.021850974 4.5565826 + 93480 20.270263 0.99920895 23.554748 6.03115 4.5328362 1.4983138 0.0017637148 -0.021732699 4.5528052 + 93490 20.392647 1.0130426 23.715201 6.0110837 4.4920262 1.5190575 0.0018014414 -0.021813803 4.5120386 + 93500 20.015281 0.99373512 23.606848 6.009305 4.5191992 1.4901058 0.001825296 -0.0219107 4.5392846 + 93510 19.90847 0.99113861 23.677816 5.9954498 4.5092375 1.4862123 0.0017504257 -0.021112503 4.5285995 + 93520 20.347441 0.99898068 23.691213 6.0159489 4.5179774 1.4979715 0.0020934502 -0.023390451 4.5392744 + 93530 20.149705 1.0021055 23.584252 6.0145639 4.5119068 1.5026572 0.0020935201 -0.023636956 4.5334502 + 93540 20.179495 0.9965363 23.708794 6.0063308 4.5120246 1.4943062 0.0018691949 -0.022277804 4.5324332 + 93550 20.054828 0.99407725 23.750089 6.034633 4.5440142 1.4906188 0.001606619 -0.021037131 4.5634447 + 93560 20.293359 0.99976043 23.754634 6.0472297 4.5480889 1.4991408 0.0015489949 -0.020341417 4.5668813 + 93570 20.208462 1.0183062 23.882312 6.0701582 4.543208 1.5269502 0.0016001688 -0.020928029 4.5625359 + 93580 20.325754 1.0013686 23.937446 6.0429856 4.5414335 1.5015521 0.0015584402 -0.020717834 4.5605929 + 93590 20.264875 0.99167437 23.632424 6.0468935 4.5598778 1.4870157 0.0015457497 -0.020424007 4.578756 + 93600 20.234067 1.0076262 23.762834 6.0454547 4.5345192 1.5109354 0.0015951979 -0.020410407 4.5533344 + 93610 19.931609 1.0180975 23.77118 6.0550854 4.5284483 1.5266371 0.0016810477 -0.020784428 4.5475517 + 93620 20.44641 1.0121137 23.616385 6.0781549 4.5604904 1.5176645 0.0016184419 -0.020652702 4.5795247 + 93630 20.420372 1.0351667 23.814833 6.1048349 4.5526025 1.5522324 0.0015768093 -0.020629013 4.5716547 + 93640 20.29649 1.0300603 23.868487 6.0880551 4.5434798 1.5445753 0.0015605582 -0.020793443 4.5627127 + 93650 20.257208 1.0307441 23.653184 6.0881321 4.5425313 1.5456008 0.0015598966 -0.020922635 4.561894 + 93660 20.412161 1.0179806 23.512822 6.0966992 4.5702372 1.5264619 0.0017124305 -0.021615828 4.5901406 + 93670 20.478069 1.0355557 23.76632 6.0927911 4.5399754 1.5528157 0.0018372848 -0.022205095 4.5603432 + 93680 20.313935 1.0283542 23.943909 6.0768305 4.5348135 1.5420171 0.0020567356 -0.023228366 4.5559851 + 93690 20.067642 1.0129517 23.890354 6.0349576 4.5160364 1.5189211 0.0021100027 -0.023511643 4.5374381 + 93700 20.225899 1.0242649 23.890721 6.0481368 4.5122516 1.5358852 0.0021087129 -0.023315994 4.5334589 + 93710 20.228223 1.0112355 23.754088 6.0414389 4.5250912 1.5163477 0.0020694952 -0.022657932 4.5456796 + 93720 20.371051 1.0115245 23.640906 6.0200887 4.5033078 1.5167809 0.0019751304 -0.022231519 4.5235642 + 93730 19.915073 0.99659322 23.739443 6.0324656 4.5380741 1.4943915 0.0019224559 -0.021892982 4.5580446 + 93740 19.875538 1.0300786 23.706859 6.0583273 4.5137245 1.5446029 0.0019782591 -0.022353558 4.5340998 + 93750 20.174586 1.0153029 23.796325 6.0732464 4.5507996 1.5224467 0.0019169535 -0.02235918 4.5712419 + 93760 19.847311 1.0341295 23.836759 6.091091 4.5404138 1.5506772 0.0018128464 -0.021998763 4.5605998 + 93770 20.159863 1.0239872 23.845652 6.0944903 4.5590216 1.5354687 0.0018703542 -0.021776425 4.5789277 + 93780 19.959597 1.0291986 23.908094 6.0871893 4.543906 1.5432833 0.001673637 -0.020536114 4.5627685 + 93790 20.060516 1.0501214 23.961175 6.107613 4.5329559 1.5746571 0.0015063546 -0.019713353 4.5511629 + 93800 20.103582 1.0350476 23.815613 6.0900808 4.538027 1.5520539 0.0014816175 -0.019773939 4.5563193 + 93810 20.279114 1.0206313 23.763199 6.0965583 4.5661216 1.5304366 0.0012876945 -0.018651187 4.5834851 + 93820 20.285619 1.0322423 23.925736 6.0943466 4.5464992 1.5478473 0.0011805742 -0.018770132 4.5640888 + 93830 20.135089 1.0310549 23.691954 6.1043078 4.5582411 1.5460668 0.0012444308 -0.019894169 4.5768908 + 93840 20.103063 1.034052 23.706014 6.0976668 4.5471058 1.5505609 0.0014674731 -0.021226582 4.566865 + 93850 19.932525 1.0089332 23.500578 6.0835478 4.5706524 1.5128953 0.0015797642 -0.021110464 4.5901831 + 93860 20.169666 1.0174635 23.652618 6.0748297 4.5491433 1.5256865 0.0014810102 -0.020770697 4.568433 + 93870 20.223971 1.0103793 23.414097 6.0732616 4.5581978 1.5150638 0.0014929913 -0.021104256 4.577809 + 93880 20.102162 1.0287097 23.908334 6.0898167 4.5472665 1.5425502 0.0016620697 -0.0222107 4.5678151 + 93890 20.344791 1.012402 23.653357 6.0940291 4.5759324 1.5180967 0.001732376 -0.022563863 4.5967639 + 93900 20.075145 1.0380229 24.127711 6.093742 4.5372266 1.5565153 0.0018238124 -0.023172815 4.5585756 + 93910 20.094749 1.0438596 23.695778 6.0964768 4.5312093 1.5652675 0.0017197932 -0.022576558 4.552066 + 93920 20.322432 1.0336399 23.924438 6.0890714 4.5391284 1.549943 0.0015688978 -0.021317871 4.5588774 + 93930 20.090611 1.0059356 23.972233 6.0522546 4.5438541 1.5084005 0.0016110268 -0.021110814 4.5633539 + 93940 20.172974 1.011323 23.674964 6.048667 4.5321882 1.5164789 0.0016048731 -0.021227125 4.5518104 + 93950 20.217921 0.992274 23.727581 6.0434753 4.5555604 1.4879149 0.001756758 -0.021980949 4.5757846 + 93960 20.252861 0.99855244 23.731374 6.0272197 4.5298903 1.4973294 0.0019336589 -0.022889506 4.5508462 + 93970 20.179245 0.98373168 23.489771 6.0178186 4.5427129 1.4751057 0.001937219 -0.022903894 4.5636796 + 93980 20.392154 0.99370977 23.817572 6.0152959 4.5252281 1.4900678 0.0019427181 -0.022689459 4.5459748 + 93990 20.180185 1.0140149 23.786199 6.037486 4.5169707 1.5205154 0.0019563318 -0.022645381 4.5376597 + 94000 20.36614 1.0048883 24.090427 6.0345267 4.5276967 1.5068301 0.0021147261 -0.023646816 4.5492287 + 94010 20.177273 1.0151971 23.622081 6.027768 4.50548 1.5222881 0.0022515653 -0.024475065 4.5277035 + 94020 20.234009 1.0065649 23.852113 6.0149318 4.5055878 1.509344 0.0021237812 -0.024274679 4.5277387 + 94030 20.292039 0.98128125 23.781271 6.007774 4.5363427 1.4714312 0.0019184323 -0.023196323 4.5576206 + 94040 20.067003 0.9884291 23.84833 6.0041259 4.5219765 1.4821494 0.0018704488 -0.022943742 4.5430498 + 94050 20.32027 0.97508715 23.67094 5.9863088 4.5241656 1.4621432 0.0017921363 -0.022910408 4.5452839 + 94060 20.12737 0.98210833 24.001216 6.0004476 4.5277761 1.4726714 0.0018541719 -0.023324615 4.5492466 + 94070 20.237727 0.9881479 23.753843 6.0165065 4.5347787 1.4817278 0.0018430615 -0.023090954 4.5560266 + 94080 19.984034 0.99936854 23.691836 6.0201969 4.5216438 1.4985531 0.0019319064 -0.023178684 4.5428905 + 94090 20.157593 0.99170255 23.741386 6.0114832 4.5244253 1.487058 0.002105598 -0.023736034 4.5460557 + 94100 20.358951 0.99974671 24.011932 6.0028089 4.5036887 1.4991202 0.0021037744 -0.023790732 4.5253757 + 94110 20.340451 0.98869836 23.680285 6.0010869 4.5185337 1.4825532 0.0018360659 -0.022703464 4.5394011 + 94120 20.222065 0.99791587 23.769806 6.0201951 4.5238203 1.4963748 0.0016985052 -0.021327711 4.5434495 + 94130 20.345217 1.0084268 23.659365 6.0334591 4.5213232 1.5121359 0.0015846236 -0.020788933 4.5405275 + 94140 20.277128 0.99776629 23.488426 6.0254931 4.5293426 1.4961506 0.0017328557 -0.02123922 4.548849 + 94150 20.339588 1.0146597 23.911013 6.0335978 4.5121155 1.5214823 0.0015570209 -0.02030513 4.5308636 + 94160 20.050596 1.0107056 23.674412 6.0500735 4.5345204 1.5155531 0.0015589335 -0.019985188 4.5529466 + 94170 20.061817 1.0133184 23.878553 6.0342736 4.5148026 1.519471 0.0014091187 -0.018839506 4.532233 + 94180 20.046645 1.0126408 23.664213 6.0602406 4.5417857 1.5184549 0.0013060355 -0.018034652 4.5585143 + 94190 20.197718 1.0119182 23.647669 6.073198 4.5558267 1.5173713 0.0013223261 -0.018122004 4.5726264 + 94200 19.832425 1.0135568 23.89545 6.0665485 4.5467201 1.5198285 0.0013901198 -0.018525539 4.5638555 + 94210 19.933326 1.0395898 23.826891 6.0936685 4.5348037 1.5588648 0.001282578 -0.018489191 4.5520103 + 94220 20.036545 1.0516464 23.637852 6.11638 4.5394362 1.5769437 0.0013948007 -0.019183855 4.5572253 + 94230 20.18448 1.023241 23.838624 6.0968362 4.5624863 1.5343499 0.0016050685 -0.020507592 4.5813889 + 94240 20.352653 1.0502722 23.982195 6.1206975 4.5458144 1.5748831 0.0017922583 -0.021666247 4.5656884 + 94250 20.054666 1.0389982 23.682839 6.115537 4.5575592 1.5579778 0.0016311713 -0.021161181 4.5770892 + 94260 20.019498 1.0401377 23.633675 6.1167519 4.5570655 1.5596865 0.0016526824 -0.021765424 4.5771782 + 94270 20.214752 1.0156095 23.666818 6.0701134 4.547207 1.5229064 0.0018533721 -0.022425575 4.5677792 + 94280 20.429024 1.0245966 23.64644 6.0925955 4.556213 1.5363826 0.0018810447 -0.022408394 4.5767403 + 94290 20.192279 1.0239872 23.687856 6.0783265 4.5428577 1.5354689 0.0019305073 -0.022940253 4.5638674 + 94300 20.136891 1.0181307 23.807474 6.0485295 4.5218425 1.526687 0.0019998611 -0.023216642 4.5430593 + 94310 20.054154 1.0062184 23.726865 6.0451135 4.5362891 1.5088245 0.0019023764 -0.022696458 4.5570832 + 94320 20.01268 0.98985697 23.624769 6.0322485 4.5479579 1.4842905 0.0016749984 -0.020898732 4.5671817 + 94330 20.453561 1.0115223 23.736147 6.0513356 4.5345579 1.5167777 0.0015994042 -0.020121596 4.5530801 + 94340 20.093925 1.0166823 23.635311 6.0551765 4.5306614 1.5245151 0.0017280558 -0.020765807 4.5496991 + 94350 20.247679 1.0173165 23.735405 6.0539429 4.5284767 1.5254662 0.0017946503 -0.021241861 4.5479239 + 94360 20.163584 1.0135366 23.660518 6.0528244 4.5330262 1.5197982 0.0017949764 -0.021691294 4.5529225 + 94370 20.15362 1.0069374 23.96682 6.0534408 4.5435382 1.5099026 0.0017353587 -0.021811502 4.5636143 + 94380 20.572726 1.019708 23.858004 6.0721867 4.5431346 1.5290521 0.0017482665 -0.02179859 4.5631849 + 94390 20.492008 1.0133327 23.702804 6.0502168 4.5307245 1.5194923 0.0015990375 -0.020966721 4.5500922 + 94400 20.318243 1.0264396 23.839683 6.0894226 4.5502764 1.5391462 0.001649662 -0.021417149 4.5700439 + 94410 20.267851 1.0155214 23.546837 6.0622661 4.5394918 1.5227743 0.0017968844 -0.022299919 4.5599949 + 94420 20.385851 1.0132674 24.051157 6.0435735 4.524179 1.5193945 0.0020648997 -0.02341501 4.5455292 + 94430 20.276568 1.0008529 23.993215 6.0223091 4.5215301 1.500779 0.002147032 -0.023923142 4.5433062 + 94440 19.922002 0.99549636 23.757938 6.0069425 4.5141957 1.4927468 0.0021327433 -0.02387634 4.5359393 + 94450 20.07539 1.0035 23.632409 6.0318464 4.5270983 1.5047482 0.0020236277 -0.023497122 4.5485717 + 94460 20.482615 0.99284331 23.440031 6.0063049 4.5175363 1.4887685 0.0020166046 -0.023398769 4.5389185 + 94470 20.01997 0.9948731 23.886091 6.0100631 4.5182509 1.4918122 0.0020150918 -0.023331873 4.5395677 + 94480 19.918342 0.99879979 23.636164 6.0310818 4.5333815 1.4977003 0.0021489218 -0.023943998 4.5551766 + 94490 19.950915 1.0002533 23.679454 6.0221368 4.5222569 1.4998799 0.0022369611 -0.024302192 4.5443222 + 94500 20.262427 0.98219602 23.650276 6.0247597 4.5519568 1.4728029 0.0021152281 -0.023431486 4.5732731 + 94510 20.274661 1.0225409 23.702712 6.0607294 4.5274293 1.5333001 0.0021909605 -0.023747165 4.5489855 + 94520 20.184727 1.0296242 23.855617 6.0579885 4.514067 1.5439214 0.0020411545 -0.023173901 4.5351998 + 94530 20.358408 1.0177143 23.805568 6.0557452 4.5296826 1.5260626 0.0020274402 -0.022859903 4.5505151 + 94540 20.120902 1.0104228 23.95124 6.0649986 4.5498696 1.5151291 0.0020403894 -0.022864293 4.5706935 + 94550 20.284752 1.0190704 23.927799 6.0507663 4.5226702 1.5280961 0.0018366969 -0.022019629 4.5428531 + 94560 20.222081 1.0175761 23.694744 6.0565153 4.53066 1.5258554 0.0015938844 -0.020686946 4.549753 + 94570 20.257802 1.0180539 23.60241 6.0543197 4.5277479 1.5265718 0.0014208774 -0.020157249 4.5464842 + 94580 20.162479 1.0252123 23.5203 6.0879982 4.5506923 1.5373059 0.0011393737 -0.019238984 4.5687919 + 94590 20.13254 1.0278584 23.857946 6.068504 4.5272303 1.5412737 0.0011152335 -0.019072995 4.5451881 + 94600 20.021095 1.0137889 23.93766 6.0647623 4.5445859 1.5201764 0.001056377 -0.018676661 4.5622061 + 94610 20.22077 1.0089262 23.938373 6.0505677 4.5376829 1.5128848 0.0013965492 -0.020079598 4.556366 + 94620 20.152885 1.0061261 23.4991 6.0462079 4.5375218 1.508686 0.0012713274 -0.019529252 4.5557797 + 94630 19.920614 1.0244822 23.742269 6.0682495 4.5320384 1.5362111 0.0014090268 -0.020131611 4.550761 + 94640 19.953967 1.0109365 23.433046 6.0418749 4.5259756 1.5158993 0.0015565466 -0.021026947 4.545446 + 94650 20.086898 1.0189003 24.038715 6.0488956 4.5210546 1.5278409 0.0016090222 -0.021277956 4.5407236 + 94660 20.281102 1.0205422 23.551937 6.0672772 4.5369741 1.530303 0.0016840228 -0.02204516 4.5573353 + 94670 20.059754 1.0144259 23.686047 6.0781296 4.556998 1.5211316 0.0015994675 -0.02203464 4.5774332 + 94680 19.948465 1.0406576 23.575257 6.0865842 4.5261182 1.560466 0.0016759727 -0.02254053 4.5469828 + 94690 20.379061 1.0188044 23.651715 6.0833246 4.5556274 1.5276972 0.0017637266 -0.022813099 4.5766767 + 94700 20.373263 1.0172294 23.590025 6.0657078 4.5403724 1.5253355 0.0017606555 -0.022517275 4.561129 + 94710 20.255578 1.0136656 23.358117 6.0499455 4.529954 1.5199916 0.0019565891 -0.023325745 4.5513231 + 94720 20.428354 1.0052361 23.622257 6.0336273 4.5262758 1.5073515 0.0020062409 -0.023434872 4.5477045 + 94730 20.032558 1.0039544 23.810691 6.0266031 4.5211735 1.5054296 0.0018355515 -0.022907026 4.542245 + 94740 20.085205 0.99715583 23.898076 6.0179843 4.5227491 1.4952352 0.0019283476 -0.023426108 4.5442469 + 94750 20.450079 0.99192608 23.611516 6.0187852 4.5313921 1.4873932 0.0019505729 -0.022938574 4.5523801 + 94760 20.566955 1.0251212 23.781102 6.0631498 4.5259806 1.5371693 0.0017378754 -0.02215162 4.5463943 + 94770 20.251411 1.0364205 23.682206 6.1126561 4.5585436 1.5541125 0.0016620036 -0.022052966 4.5789345 + 94780 19.840627 1.0375879 23.723632 6.1092379 4.5533748 1.555863 0.0015253517 -0.021179938 4.5730294 + 94790 19.987054 1.0343315 23.680881 6.0931391 4.542159 1.5509801 0.0015961392 -0.021331154 4.561894 + 94800 19.841742 1.0313182 23.593198 6.0932888 4.5468272 1.5464616 0.0017281921 -0.021996627 4.5670956 + 94810 19.778186 1.0281001 24.028127 6.0793794 4.5377433 1.5416361 0.0017516142 -0.022151645 4.5581433 + 94820 20.302484 1.024614 23.881752 6.0773578 4.5409492 1.5364086 0.0017239616 -0.021750651 4.5609759 + 94830 20.354972 1.0468116 24.170059 6.0977215 4.5280275 1.569694 0.0018500283 -0.022091126 4.5482686 + 94840 20.237153 1.0342715 23.792215 6.1043929 4.5535028 1.5508901 0.0017307576 -0.022133841 4.5739059 + 94850 20.401647 1.0217168 23.787891 6.0775763 4.545512 1.5320643 0.0016741398 -0.021679657 4.5655175 + 94860 20.196323 1.0323093 23.737711 6.0664919 4.5185441 1.5479477 0.0015253322 -0.021109593 4.5381284 + 94870 20.139498 1.0217329 23.875482 6.089174 4.5570854 1.5320885 0.0014617507 -0.020521141 4.5761448 + 94880 20.211731 1.0212338 24.023816 6.0994572 4.5681171 1.5313401 0.0013790313 -0.019359939 4.5860981 + 94890 20.038838 1.0275226 23.891145 6.0743878 4.5336177 1.5407702 0.0014226896 -0.019387231 4.5515822 + 94900 20.22663 1.0337424 23.762742 6.0843299 4.5342332 1.5500967 0.0013613972 -0.019204573 4.5520764 + 94910 19.932272 1.0381687 23.650248 6.0910872 4.5343532 1.556734 0.001159409 -0.018546158 4.5517399 + 94920 20.092364 1.0123113 23.887854 6.071262 4.5533012 1.5179608 0.0010492342 -0.017955565 4.5702075 + 94930 20.184433 1.0268376 23.628681 6.0953237 4.5555807 1.539743 0.00087280553 -0.017063861 4.5717718 + 94940 19.945809 1.0344727 23.94762 6.0881446 4.5369528 1.5511918 0.00094016327 -0.01761554 4.5536282 + 94950 20.141405 1.026276 23.641077 6.089751 4.5508501 1.5389009 0.0011112472 -0.018690963 4.5684298 + 94960 20.285311 1.0166777 23.716757 6.0584548 4.5339466 1.5245082 0.0012625475 -0.019409273 4.5520933 + 94970 20.323945 1.0084056 23.811574 6.0555104 4.5434062 1.5121042 0.0013233848 -0.019565168 4.561648 + 94980 20.474888 1.0182819 23.517108 6.0522591 4.5253454 1.5269137 0.0013153453 -0.019619757 4.5436498 + 94990 20.432267 0.99826488 23.765332 6.0621035 4.5652054 1.4968982 0.0016033087 -0.021094624 4.5846967 + 95000 20.197803 1.0154294 23.791503 6.0561937 4.5335573 1.5226364 0.0016453647 -0.021796856 4.5537088 + 95010 20.397008 1.0114384 23.691109 6.0637329 4.5470811 1.5166518 0.001690254 -0.022285763 4.5676766 + 95020 20.579046 1.0334191 23.65287 6.0957867 4.5461747 1.549612 0.0016624107 -0.021884554 4.5663968 + 95030 20.341641 1.0422772 23.7712 6.1168821 4.5539874 1.5628947 0.0014619369 -0.021310318 4.5738358 + 95040 20.422256 1.0375816 23.881189 6.1050724 4.5492187 1.5558537 0.0015300397 -0.021498137 4.5691868 + 95050 20.027686 1.0335696 23.903304 6.0980675 4.5482299 1.5498376 0.0015945636 -0.021567058 4.5682024 + 95060 19.997418 1.0223297 23.688138 6.0681242 4.5351407 1.5329835 0.0015452002 -0.021758563 4.5553541 + 95070 20.387293 1.0066261 23.829 6.0569823 4.5475464 1.5094359 0.0014727822 -0.021659764 4.5677334 + 95080 20.393031 1.0031253 23.481583 6.0552221 4.5510357 1.5041864 0.0016181187 -0.021693272 4.5711108 + 95090 20.318469 1.0079837 23.734239 6.0736856 4.562214 1.5114715 0.001493577 -0.020894375 4.5816148 + 95100 20.225333 1.0125927 23.743984 6.0471372 4.5287544 1.5183828 0.0013883562 -0.02034066 4.5477067 + 95110 20.38963 1.0054473 23.58171 6.0569052 4.5492369 1.5076683 0.001206741 -0.019737652 4.5677678 + 95120 20.391853 1.0155015 23.988051 6.0547539 4.5320094 1.5227445 0.0012080865 -0.019950548 4.5507519 + 95130 20.244186 0.99673488 23.210581 6.0348298 4.5402258 1.4946039 0.0012975529 -0.020083907 4.5590122 + 95140 19.614737 1.0029125 23.932611 6.0362278 4.5323605 1.5038672 0.0012515856 -0.019449437 4.5505584 + 95150 20.422003 0.99637442 24.109251 6.0337001 4.5396367 1.4940634 0.001599494 -0.021043363 4.5590806 + 95160 20.064006 0.99945046 23.465201 6.0417122 4.5430362 1.498676 0.0017807507 -0.022081376 4.5633369 + 95170 20.281841 1.0115791 23.638295 6.0520187 4.5351559 1.5168628 0.0018618681 -0.022544893 4.555839 + 95180 20.361306 1.0102264 23.753745 6.042798 4.5279635 1.5148344 0.0018935874 -0.022587744 4.5486577 + 95190 20.365595 0.99033404 23.661367 6.0234261 4.5384202 1.4850059 0.001817561 -0.02247041 4.5590731 + 95200 20.272281 1.0105823 23.468423 6.0242898 4.5089217 1.5153681 0.0017235651 -0.022187449 4.5293856 + 95210 20.218907 1.0002368 23.579037 6.0180842 4.5182291 1.4998551 0.0016813126 -0.022122642 4.5386704 + 95220 20.215358 0.99320013 23.843736 6.0076212 4.5183177 1.4893036 0.0017943191 -0.022272215 4.5387956 + 95230 20.335784 0.98468845 23.689896 6.0070497 4.5305093 1.4765403 0.0019138091 -0.022869507 4.551465 + 95240 20.311163 0.98073975 23.462823 6.0013882 4.5307689 1.4706193 0.0020293507 -0.023713535 4.5524531 + 95250 20.260951 0.99731039 23.539746 6.0119594 4.5164925 1.4954669 0.0020402641 -0.023398087 4.5378503 + 95260 20.39157 1.0141295 23.699686 6.0534377 4.5327505 1.5206872 0.0020247433 -0.02304167 4.5537674 + 95270 20.357521 0.99874734 23.64174 6.0470981 4.5494765 1.4976216 0.0016937613 -0.021601125 4.5693839 + 95280 20.546626 1.021335 23.792665 6.0571055 4.5256137 1.5314918 0.0012896762 -0.019301927 4.543626 + 95290 20.269268 1.0217146 23.567784 6.0703134 4.5382522 1.5320611 0.0011171187 -0.018721435 4.5558566 + 95300 20.364458 1.0237954 23.694826 6.1024211 4.56724 1.5351811 0.0012126747 -0.019262863 4.5852902 + 95310 20.368824 1.0309616 23.806191 6.078557 4.5326301 1.5459269 0.0014259745 -0.020669267 4.5518733 + 95320 20.124072 1.0346017 23.755431 6.0747111 4.5233258 1.5513853 0.0015868161 -0.021269466 4.5430084 + 95330 20.397966 1.0327739 23.756278 6.0752807 4.5266363 1.5486444 0.0016717766 -0.021764927 4.5467294 + 95340 20.2656 1.033969 23.921279 6.0789094 4.5284729 1.5504365 0.0016376105 -0.022079685 4.548915 + 95350 20.141707 1.0334127 24.086365 6.0675662 4.5179637 1.5496024 0.0015613993 -0.021604141 4.5380065 + 95360 20.38236 1.0222436 23.631331 6.0751842 4.5423299 1.5328543 0.0017712684 -0.02212614 4.5626848 + 95370 20.283567 1.0302862 23.794031 6.0636061 4.518692 1.5449141 0.0017387601 -0.022013333 4.5389666 + 95380 20.108059 1.0023431 23.568721 6.0517461 4.5487326 1.5030136 0.0016851081 -0.021260512 4.568308 + 95390 20.340927 1.0044163 23.672174 6.0560738 4.5499516 1.5061222 0.001639113 -0.020973098 4.5692856 + 95400 20.120948 1.010867 23.502577 6.0522896 4.5364945 1.515795 0.0016740395 -0.021133274 4.5559538 + 95410 20.153997 1.0157739 23.500809 6.0460518 4.5228988 1.523153 0.0018306629 -0.021610603 4.5426787 + 95420 20.168568 1.0267102 23.748299 6.0648393 4.5252874 1.5395519 0.0018398688 -0.021533476 4.544981 + 95430 19.61209 1.0242591 23.562147 6.0732033 4.5373268 1.5358765 0.0018803441 -0.021816871 4.5572633 + 95440 19.655395 0.99569375 23.685442 6.0175503 4.5245075 1.4930428 0.0017678947 -0.021016682 4.5437563 + 95450 20.18854 0.98694267 23.785068 6.0186023 4.5386818 1.4799205 0.0017263316 -0.020739041 4.5576945 + 95460 20.316286 0.98493663 23.72468 6.0166726 4.5397601 1.4769125 0.0017061409 -0.021302582 4.5593566 + 95470 20.339867 0.9739807 23.480022 5.9925521 4.532068 1.4604841 0.0016588709 -0.021430411 4.5518396 + 95480 20.361164 0.99561174 23.446221 5.9969233 4.5040035 1.4929198 0.0015979398 -0.021352926 4.5237585 + 95490 20.371302 0.99107085 23.653269 6.0274452 4.5413345 1.4861107 0.0016712369 -0.021788127 4.5614514 + 95500 20.148623 0.99828473 23.926189 6.0305155 4.5335876 1.496928 0.0016167391 -0.021630807 4.5536016 + 95510 20.188965 0.99291993 23.910503 6.012817 4.5239336 1.4888834 0.0016267319 -0.021528007 4.5438348 + 95520 19.99945 1.015498 23.953961 6.0721467 4.5494073 1.5227393 0.0016324668 -0.021566056 4.5693409 + 95530 20.411956 1.0111345 23.501368 6.0508404 4.5346442 1.5161962 0.0016708909 -0.021686622 4.5546599 + 95540 20.163186 1.0166575 23.948355 6.0523116 4.5278338 1.5244779 0.001636778 -0.021498022 4.547695 + 95550 20.139381 1.0173963 23.863836 6.0619791 4.5363934 1.5255857 0.0015334928 -0.020763935 4.5556239 + 95560 19.694594 1.0385427 23.608221 6.0894099 4.5321151 1.5572948 0.0016374924 -0.021326341 4.551804 + 95570 20.084119 1.0485439 23.788361 6.1255308 4.5532393 1.5722915 0.0013524941 -0.020273553 4.5721603 + 95580 20.323929 1.0434958 24.123291 6.0918765 4.5271545 1.564722 0.0014912786 -0.020902892 4.5465661 + 95590 19.959636 1.0212434 23.671078 6.0655403 4.5341859 1.5313545 0.0015123944 -0.020838395 4.5535119 + 95600 20.029884 1.0024582 23.731599 6.0489652 4.5457792 1.5031861 0.0015281215 -0.020937538 4.5651886 + 95610 20.433897 1.0192173 23.67494 6.0869024 4.5585861 1.5283164 0.0016229816 -0.021324403 4.5782875 + 95620 20.249601 1.0169998 23.862343 6.0643642 4.5393729 1.5249913 0.0015052495 -0.021046402 4.5589141 + 95630 20.363479 1.0276952 23.89724 6.0765157 4.5354868 1.5410289 0.0014408488 -0.020884233 4.5549301 + 95640 20.191442 1.0316204 23.762693 6.098379 4.5514642 1.5469148 0.0014098551 -0.020696247 4.5707506 + 95650 20.583781 1.0173169 23.689147 6.0761961 4.5507294 1.5254667 0.0016739051 -0.021634151 4.5706897 + 95660 20.26664 1.0183508 23.927264 6.062703 4.5356859 1.5270171 0.001944511 -0.022907952 4.5566494 + 95670 20.209581 1.0156147 23.882509 6.0406684 4.5177542 1.5229142 0.0019322803 -0.022661904 4.5384839 + 95680 20.154282 0.97983482 23.5422 6.0177784 4.548516 1.4692623 0.0017757837 -0.021877758 4.568618 + 95690 20.199492 0.97553087 23.615661 5.9786001 4.5157916 1.4628085 0.0017394372 -0.021819946 4.5358721 + 95700 20.22546 1.0026368 23.683576 5.9955361 4.4920821 1.5034539 0.0018079627 -0.021985906 4.5122601 + 95710 20.172277 1.0020105 23.820683 6.041722 4.5392072 1.5025148 0.0017967041 -0.022133799 4.5595443 + 95720 20.262873 0.98856762 23.690591 6.0195721 4.537215 1.4823572 0.0016057085 -0.021035498 4.5566448 + 95730 19.694161 1.0015013 23.547241 6.0088951 4.507144 1.5017512 0.0014570343 -0.020658351 4.5263453 + 95740 20.125053 0.98092806 23.491593 6.0161374 4.5452357 1.4709016 0.0015029988 -0.021193132 4.5649259 + 95750 19.84457 1.0053112 23.481383 6.0287133 4.5212493 1.5074641 0.0015836526 -0.021680785 4.5413464 + 95760 19.424957 0.99396278 23.360413 6.0196477 4.5292005 1.4904472 0.00154705 -0.021617997 4.5492715 + 95770 20.052221 1.0032308 23.877907 6.0168266 4.512482 1.5043446 0.0015047813 -0.021611999 4.5325892 + 95780 20.25529 1.0171274 23.591112 6.0796754 4.5544929 1.5251825 0.001751802 -0.022396291 4.5751374 + 95790 20.409904 1.0083653 23.872384 6.0982432 4.5861994 1.5120437 0.0018100424 -0.022573886 4.6069633 + 95800 20.272334 1.0348179 23.553821 6.0911123 4.539403 1.5517094 0.0018476763 -0.022709687 4.560265 + 95810 20.472614 1.0200518 23.561685 6.0822416 4.552674 1.5295676 0.0017744083 -0.022555134 4.5734547 + 95820 20.272231 1.0140006 23.717258 6.0611778 4.540684 1.5204939 0.0019393934 -0.02311399 4.5618586 + 95830 20.013192 1.0155862 23.60121 6.0874037 4.5645322 1.5228715 0.0020926366 -0.023832513 4.586272 + 95840 20.064847 1.0298086 23.957075 6.0744582 4.5302603 1.5441979 0.0021082943 -0.024023211 4.5521752 + 95850 20.103053 1.0101241 23.618175 6.0491396 4.5344585 1.5146811 0.0021691918 -0.024401169 4.5566905 + 95860 20.082278 1.0196796 23.912526 6.0515059 4.5224963 1.5290095 0.0023210319 -0.024630077 4.5448054 + 95870 20.018975 1.0237587 23.993992 6.0556738 4.5205476 1.5351262 0.0021968899 -0.023985788 4.5423365 + 95880 20.087923 1.0087098 23.60145 6.0353859 4.5228256 1.5125603 0.0019629483 -0.02296698 4.5438296 + 95890 20.284193 0.99731103 23.592897 6.0233509 4.527883 1.4954679 0.0020044652 -0.023556681 4.5494352 + 95900 20.250389 1.014014 23.61527 6.0380455 4.5175316 1.520514 0.0022017365 -0.024389886 4.5397197 + 95910 20.308973 1.0088938 23.593487 6.0476694 4.5348332 1.5128362 0.0021939237 -0.024656642 4.5572959 + 95920 20.238246 1.0011422 23.91193 6.0361966 4.5349838 1.5012127 0.0020414509 -0.024356782 4.5572992 + 95930 20.318237 1.0034002 23.633301 6.0241247 4.5195261 1.5045986 0.0018927258 -0.023635552 4.5412689 + 95940 20.253053 0.98916374 23.550538 6.0212922 4.5380412 1.483251 0.0017985644 -0.022809088 4.5590517 + 95950 19.937847 1.0076836 23.936868 6.0316715 4.5206499 1.5110216 0.0018140436 -0.022784882 4.5416207 + 95960 20.113456 1.0131196 23.992274 6.0403628 4.5211899 1.5191729 0.0020168147 -0.023590857 4.5427639 + 95970 20.201259 1.01459 23.441204 6.0483071 4.5269293 1.5213778 0.0021590447 -0.02417195 4.5489422 + 95980 20.106835 0.99887497 23.657167 6.0363569 4.5385438 1.497813 0.002089011 -0.024162318 4.5606172 + 95990 20.155492 1.0165554 23.853713 6.0536889 4.5293642 1.5243248 0.001906691 -0.023418265 4.5508757 + 96000 20.457147 1.0066647 23.609201 6.0375788 4.5280851 1.5094937 0.0018206306 -0.022644492 4.548909 + 96010 20.595658 1.0037802 23.935454 6.0365086 4.5313402 1.5051685 0.0017440621 -0.022104125 4.5517002 + 96020 20.170421 1.0093735 24.102355 6.0441118 4.5305561 1.5135556 0.0017058095 -0.022213226 4.5510636 + 96030 20.123726 1.025547 23.656504 6.0652462 4.5274385 1.5378077 0.0016751512 -0.021982999 4.5477463 + 96040 20.096552 1.0032395 23.908396 6.0424347 4.538077 1.5043577 0.0016548341 -0.021865606 4.5582877 + 96050 20.516306 1.0040637 23.541904 6.0263145 4.520721 1.5055935 0.0013806498 -0.020890113 4.5402305 + 96060 20.387673 1.0217728 23.926141 6.0490158 4.5168676 1.5321483 0.0013164186 -0.020546463 4.5360976 + 96070 20.30708 1.0299108 23.940114 6.062343 4.5179917 1.5443513 0.0014234625 -0.021034996 4.5376033 + 96080 20.12685 1.0170518 23.668224 6.0531377 4.5280684 1.5250692 0.0015271964 -0.021210113 4.5477514 + 96090 20.263193 1.0159794 23.687697 6.0627458 4.5392847 1.5234611 0.0015715196 -0.020907615 4.5586208 + 96100 19.797886 1.030253 23.665976 6.094041 4.5491765 1.5448644 0.0015136562 -0.020535691 4.5681986 + 96110 20.018803 1.023072 23.895558 6.1021743 4.5680778 1.5340965 0.0011899574 -0.019285812 4.5861737 + 96120 20.077878 1.0397886 23.969531 6.0797958 4.5206329 1.559163 0.0011585843 -0.019273147 4.5387474 + 96130 20.16267 1.0068607 23.475137 6.0714333 4.5616457 1.5097876 0.0012205628 -0.019434697 4.5798598 + 96140 19.784415 1.0065099 23.800056 6.0439064 4.5346447 1.5092617 0.0013337948 -0.019595242 4.5529061 + 96150 20.129274 1.0147152 23.838262 6.0566479 4.5350824 1.5215655 0.001483085 -0.020406489 4.5540058 + 96160 20.340584 1.0184986 23.922005 6.0697688 4.5425303 1.5272386 0.0015994214 -0.021068743 4.5619996 + 96170 19.890999 1.0107439 23.461749 6.0514196 4.5358091 1.5156104 0.0016374787 -0.021400782 4.5555724 + 96180 20.03776 1.0129415 23.7379 6.0661945 4.5472887 1.5189058 0.0016865099 -0.02167369 4.5672759 + 96190 20.516119 1.0191294 23.801256 6.0551101 4.5269256 1.5281845 0.0019794921 -0.023065739 4.5480119 + 96200 20.027169 1.0099652 23.689615 6.0546924 4.5402496 1.5144428 0.0020076247 -0.02319459 4.5614366 + 96210 20.310152 1.0189917 23.639709 6.0637361 4.535758 1.5279781 0.0020124332 -0.023259825 4.5570054 + 96220 20.356025 1.0074739 23.633077 6.0580865 4.5473794 1.5107072 0.0020051747 -0.023297699 4.5686719 + 96230 20.142542 0.98989642 23.582807 6.0336789 4.5493292 1.4843497 0.0018731725 -0.023134434 4.5705905 + 96240 20.301515 1.0228279 23.798119 6.0379026 4.5041721 1.5337305 0.0018225052 -0.022864726 4.5252143 + 96250 20.380007 0.9929632 23.702602 6.0334732 4.5445249 1.4889483 0.0016725785 -0.022174519 4.5650269 + 96260 20.299854 1.014727 23.77701 6.0423637 4.5207807 1.5215831 0.0015283639 -0.021054653 4.5403069 + 96270 19.957356 0.9930395 23.8214 6.0462387 4.557176 1.4890627 0.0012640676 -0.019959264 4.5758712 + 96280 20.440419 1.0179746 23.534952 6.0701232 4.5436703 1.5264528 0.0011971939 -0.019636434 4.5621096 + 96290 20.190894 0.99920228 23.723747 6.0325338 4.5342299 1.4983038 0.0011806671 -0.019460499 4.5525098 + 96300 20.356792 1.0084776 23.409437 6.014567 4.5023548 1.5122122 0.0010980846 -0.019153342 4.5204101 + 96310 20.015744 0.98213631 23.659695 6.00048 4.5277667 1.4727134 0.0011262747 -0.019167306 4.5458077 + 96320 20.051949 1.0074743 23.352846 6.0030359 4.4923281 1.5107077 0.0013374088 -0.019796866 4.5107876 + 96330 19.993092 1.0066746 23.844055 6.0091963 4.4996876 1.5095086 0.0012963763 -0.019407968 4.5177992 + 96340 20.084855 1.0198886 23.876711 6.051386 4.5220631 1.529323 0.0014533345 -0.019958135 4.5405679 + 96350 19.855386 1.0062052 23.838335 6.050513 4.5417083 1.5088047 0.0015450252 -0.020346982 4.5605102 + 96360 20.031684 1.0021984 23.816643 6.0451544 4.5423579 1.5027965 0.0016618659 -0.020999645 4.5616957 + 96370 20.584562 1.0124858 23.589809 6.0619048 4.5436823 1.5182225 0.0017992702 -0.02156099 4.563444 + 96380 20.25277 1.0233658 23.626093 6.0633565 4.5288195 1.534537 0.0016697354 -0.021020679 4.5481704 + 96390 19.97371 1.0059226 23.67729 6.0703247 4.5619438 1.5083809 0.0015761858 -0.020690065 4.5810577 + 96400 20.093199 1.0072602 23.852222 6.0536416 4.5432549 1.5103866 0.0014839533 -0.020534443 4.5623054 + 96410 20.276004 1.018189 23.631523 6.0550245 4.52825 1.5267744 0.0014494592 -0.02066211 4.5474627 + 96420 20.263264 0.99978788 23.643618 6.0354923 4.5363104 1.4991819 0.0013004861 -0.019791289 4.5548012 + 96430 19.974987 1.0045542 23.69539 6.0497093 4.5433803 1.506329 0.0011618204 -0.019046168 4.5612646 + 96440 20.211536 1.011167 23.836642 6.0502354 4.5339904 1.516245 0.0014554869 -0.020459365 4.5529943 + 96450 20.155353 0.99207312 23.401944 6.0217066 4.534093 1.4876136 0.0017416319 -0.021823283 4.5541746 + 96460 20.103429 1.0090759 23.781896 6.0459624 4.5328531 1.5131093 0.0017769052 -0.022190418 4.5532666 + 96470 20.221861 1.0082108 23.549333 6.0530783 4.5412662 1.5118121 0.0017184419 -0.021453412 4.5610012 + 96480 20.168235 1.0130344 23.367678 6.055074 4.5360289 1.5190451 0.0017052612 -0.021690948 4.5560146 + 96490 20.318758 1.0085622 23.838012 6.0605407 4.5482016 1.512339 0.001713934 -0.0222068 4.5686945 + 96500 19.931708 1.0086781 23.861004 6.0717989 4.559286 1.5125129 0.0017946588 -0.022574007 4.5800653 + 96510 19.983688 1.0381326 23.756506 6.11258 4.5559002 1.5566799 0.0018471373 -0.022314752 4.5763678 + 96520 20.185847 1.020346 23.778406 6.0807958 4.550787 1.5300088 0.0017049988 -0.021695677 4.5707777 + 96530 20.464339 1.0113538 23.677719 6.0540121 4.537487 1.516525 0.0017896483 -0.02201871 4.5577161 + 96540 20.246244 1.0137047 23.568182 6.0533381 4.5332879 1.5200502 0.0017931547 -0.021960459 4.5534552 + 96550 20.3217 1.0288685 23.337559 6.0572261 4.5144378 1.5427884 0.001822697 -0.022539649 4.5351547 + 96560 20.239312 1.01969 23.808624 6.0609917 4.5319666 1.5290251 0.0017922417 -0.022419969 4.5525943 + 96570 20.173091 1.0106326 23.855762 6.0505081 4.5350646 1.5154436 0.0016647956 -0.022221061 4.5556208 + 96580 19.936286 1.0284329 23.95966 6.0674775 4.5253424 1.5421351 0.0015454814 -0.021431386 4.5452283 + 96590 20.48017 1.0305577 23.858526 6.0769406 4.5316193 1.5453213 0.0015059662 -0.02142406 4.5515374 + 96600 19.750671 1.0101207 23.650879 6.0702732 4.5555972 1.514676 0.001549397 -0.021831681 4.5758795 + 96610 20.415849 1.0197838 23.599983 6.0629362 4.5337704 1.5291658 0.0016110818 -0.022037925 4.5541972 + 96620 19.808398 1.0210927 23.892007 6.0735729 4.5424444 1.5311285 0.0018405662 -0.022959807 4.5635637 + 96630 20.168691 1.014176 23.428316 6.0825487 4.5617918 1.520757 0.0019867517 -0.02330392 4.5831089 + 96640 20.13737 1.0271626 23.907856 6.0755587 4.5353283 1.5402304 0.0019407808 -0.023141495 4.5565291 + 96650 20.342058 1.0066718 23.771126 6.0639155 4.5544111 1.5095044 0.0019272956 -0.022725069 4.5752088 + 96660 20.35053 1.0173132 23.77562 6.0493988 4.5239376 1.5254612 0.0019902902 -0.022759347 4.5447067 + 96670 20.240959 1.0151462 23.757789 6.0379592 4.5157475 1.5222118 0.0019519342 -0.022766285 4.5365618 + 96680 20.199617 1.0109717 23.373716 6.0471923 4.5312401 1.5159521 0.0018551096 -0.022212416 4.5515975 + 96690 20.202046 1.0194659 23.838747 6.0665242 4.537835 1.5286892 0.001728914 -0.021785862 4.557892 + 96700 20.179002 1.0008069 23.725677 6.0526528 4.551943 1.5007099 0.0017072914 -0.02147902 4.5717147 + 96710 20.363906 1.0161827 23.572883 6.0493049 4.5255389 1.523766 0.0017357494 -0.021418066 4.5452212 + 96720 20.360768 1.0039268 23.494922 6.0441594 4.5387711 1.5053883 0.0015370495 -0.020067452 4.5573015 + 96730 20.59344 0.99976679 23.876627 6.0358013 4.536651 1.4991503 0.0012393804 -0.018794901 4.5542065 + 96740 20.423892 1.0016339 23.817867 6.0289504 4.5270003 1.5019501 0.0012790902 -0.018996311 4.5447175 + 96750 20.104473 1.0163349 23.54357 6.0655095 4.5415153 1.5239942 0.0012396271 -0.019485605 4.5597613 + 96760 20.14302 1.0174835 23.904082 6.050585 4.5248685 1.5257165 0.0011444047 -0.01940649 4.5431306 + 96770 20.361072 1.0147787 23.41754 6.0397434 4.5180827 1.5216607 0.0013035803 -0.019888041 4.5366672 + 96780 20.306583 1.0116348 23.732864 6.05897 4.5420236 1.5169464 0.0014662051 -0.020802051 4.5613594 + 96790 20.455846 1.0102558 23.507952 6.044015 4.5291364 1.5148785 0.0015289854 -0.021112337 4.5487198 + 96800 20.397844 1.0126705 23.999961 6.0421155 4.5236161 1.5184994 0.001452387 -0.020835004 4.5429987 + 96810 20.143127 1.0044286 23.70203 6.0518613 4.5457207 1.5061406 0.0015806002 -0.021179509 4.5653196 + 96820 20.436425 1.0241049 23.64798 6.0735687 4.5379233 1.5356454 0.0015076957 -0.020651777 4.5570674 + 96830 20.45922 1.0170865 23.645135 6.0589987 4.5338775 1.5251212 0.0014593693 -0.020682534 4.5531007 + 96840 20.422497 1.041615 23.63297 6.1050914 4.5431897 1.5619017 0.0013434572 -0.019932238 4.5617785 + 96850 20.274096 1.0258282 23.796376 6.085081 4.5468516 1.5382294 0.00096481248 -0.018651979 4.5645387 + 96860 20.23183 1.0105519 23.546155 6.0826235 4.5673008 1.5153226 0.0008880413 -0.018151426 4.5845642 + 96870 20.24041 1.0109414 23.632898 6.0678855 4.5519788 1.5159067 0.00074261987 -0.017069551 4.5683057 + 96880 20.353147 1.0138769 23.284567 6.0494676 4.5291592 1.5203084 0.00079112017 -0.017524233 4.5458923 + 96890 20.537907 0.99612374 23.346832 6.0572107 4.5635232 1.4936875 0.00086666805 -0.017616887 4.5802734 + 96900 20.363807 0.98545436 23.733569 6.0259422 4.5482534 1.4776888 0.00086002418 -0.017738294 4.5651317 + 96910 20.168932 1.0060508 23.729816 6.0660237 4.5574506 1.5085732 0.00094025578 -0.018051214 4.5745615 + 96920 20.319109 1.0224626 23.613065 6.0686114 4.5354287 1.5331827 0.00088697604 -0.017926498 4.5524682 + 96930 20.216971 1.0044539 23.846834 6.0767317 4.5705531 1.5061786 0.00086917034 -0.017843444 4.5875273 + 96940 20.41816 0.99948515 23.751125 6.048803 4.550075 1.498728 0.0010340002 -0.018594108 4.5676351 + 96950 20.480215 1.0138546 23.64549 6.0514493 4.5311743 1.520275 0.0012201859 -0.01954244 4.5494966 + 96960 20.438611 1.0265464 23.77064 6.0653478 4.5260415 1.5393063 0.0014759063 -0.020613913 4.5451795 + 96970 20.565244 1.012615 23.58738 6.0501373 4.5317211 1.5184162 0.0018582996 -0.022217408 4.5520802 + 96980 20.462859 0.99907255 23.479196 6.0289051 4.5307958 1.4981093 0.0020281899 -0.0232916 4.5520592 + 96990 20.501901 1.0199243 23.805966 6.0504581 4.5210816 1.5293765 0.0022175831 -0.024200196 4.5430642 + 97000 20.4492 0.98542559 23.517382 6.0220194 4.5443738 1.4776457 0.0020375722 -0.023299265 4.5656355 + 97010 20.56884 1.0115111 23.60937 6.0323803 4.5156194 1.5167609 0.0017762097 -0.02221197 4.5360552 + 97020 20.423152 0.99799395 23.482459 6.0249413 4.5284493 1.4964919 0.0014792049 -0.021096891 4.548067 + 97030 20.518877 0.98748377 23.791062 5.998629 4.5178971 1.4807319 0.0015861258 -0.021686603 4.5379975 + 97040 20.273831 0.98035671 23.827748 5.9985098 4.5284649 1.4700449 0.0017160464 -0.022022636 4.5487715 + 97050 20.291267 1.0040008 23.41845 6.0080556 4.5025564 1.5054992 0.0017643266 -0.02194499 4.522737 + 97060 20.14757 0.99820393 23.812902 6.0265012 4.5296944 1.4968068 0.0016785311 -0.021424622 4.5494405 + 97070 20.169494 0.99978227 23.858354 6.0468 4.5476265 1.4991735 0.0016318741 -0.021423494 4.5674181 + 97080 20.301978 1.0189108 23.642016 6.0604286 4.5325719 1.5278567 0.0016552454 -0.021382116 4.5522988 + 97090 20.26626 1.0338855 23.759021 6.0706555 4.5203442 1.5503113 0.0016918365 -0.021566568 4.540219 + 97100 20.231035 1.0160304 23.694084 6.0621387 4.5386011 1.5235376 0.0016639432 -0.021814104 4.5587513 + 97110 20.229618 0.98613008 23.556067 6.0337485 4.5550464 1.4787021 0.0016201404 -0.021459929 4.5748862 + 97120 20.347717 0.98412464 23.626127 6.0159411 4.5402462 1.4756949 0.0016210441 -0.021407351 4.5600325 + 97130 19.959805 1.0216375 23.507864 6.06541 4.5334645 1.5319454 0.0017777694 -0.022668553 4.5543553 + 97140 20.350725 1.0364547 23.836544 6.0585013 4.5043375 1.5541639 0.0018256406 -0.022698952 4.5252108 + 97150 20.296872 1.0260781 23.727034 6.0691185 4.5305143 1.5386042 0.0018048053 -0.022287486 4.550997 + 97160 20.443091 1.0221063 23.919458 6.0562631 4.5236147 1.5326483 0.0016924529 -0.021563968 4.5434862 + 97170 19.96462 1.0140393 23.856523 6.0731736 4.5526216 1.520552 0.0016871653 -0.021464284 4.5723988 + 97180 20.332622 1.0057571 23.674422 6.0308331 4.5227004 1.5081327 0.0016760957 -0.021118914 4.5421432 + 97190 20.213599 1.0076453 23.680767 6.0275248 4.5165606 1.5109642 0.0014799164 -0.020086173 4.5351669 + 97200 20.388429 1.0120586 23.777736 6.0745893 4.5570075 1.5175819 0.0014181092 -0.020097688 4.575687 + 97210 20.225511 1.0139459 23.339006 6.0460182 4.5256063 1.5204119 0.0015494707 -0.020544631 4.5446014 + 97220 20.038388 1.0044396 23.719414 6.0430144 4.5368573 1.5061571 0.0015695318 -0.020726585 4.5560143 + 97230 20.415922 1.0234557 23.248634 6.0628947 4.5282228 1.5346719 0.0016154819 -0.021373326 4.5479807 + 97240 20.144258 1.0159763 23.717472 6.0655769 4.5421204 1.5234565 0.0016146529 -0.021362788 4.5618686 + 97250 20.116305 1.0353447 24.016193 6.0789887 4.5264893 1.5524994 0.0014115902 -0.020178173 4.5452559 + 97260 20.129895 1.0188373 23.679423 6.062723 4.5349764 1.5277466 0.001385475 -0.020047154 4.5536381 + 97270 19.976537 1.0296405 23.723339 6.0664443 4.5224983 1.5439459 0.0012330275 -0.019387505 4.5406528 + 97280 19.998245 1.0139139 23.702421 6.0633272 4.5429633 1.5203639 0.0012718176 -0.019881045 4.5615725 + 97290 20.189365 1.0140368 23.748807 6.0733637 4.5528155 1.5205482 0.0014631624 -0.02102898 4.5723813 + 97300 20.165867 1.0098622 23.557458 6.0696202 4.5553319 1.5142883 0.0014658277 -0.021043027 4.5749091 + 97310 20.056453 1.0083787 23.697302 6.0480121 4.5359482 1.5120639 0.0014989307 -0.021025719 4.555475 + 97320 20.3135 1.0029308 23.782346 6.0680594 4.5641646 1.5038948 0.0015194037 -0.021423997 4.5840692 + 97330 19.870769 1.0396727 23.863101 6.0857678 4.5267786 1.5589892 0.0017105728 -0.022065009 4.5471331 + 97340 20.144214 1.0498122 23.95631 6.1385296 4.5643362 1.5741934 0.0018304206 -0.023063797 4.5855696 + 97350 20.027386 1.0407693 23.611198 6.1266924 4.5660589 1.5606336 0.001849501 -0.023271887 4.5874813 + 97360 20.07134 1.0294396 23.848335 6.0799913 4.5363466 1.5436447 0.0017667606 -0.022760093 4.55734 + 97370 20.36119 1.0146595 23.955477 6.0606007 4.5391188 1.5214819 0.0015000158 -0.021192475 4.5588113 + 97380 20.112145 0.98998355 23.589789 6.0397636 4.5552833 1.4844803 0.0014108016 -0.020837419 4.5747099 + 97390 20.054592 1.0075788 23.489372 6.0360522 4.5251877 1.5108644 0.0014107639 -0.020649697 4.5444267 + 97400 20.152325 0.98642508 23.559713 6.0115356 4.5323912 1.4791444 0.0015225317 -0.021064917 4.5519336 + 97410 20.431015 0.99114801 23.558577 5.9979585 4.511732 1.4862264 0.0015344946 -0.021379584 4.5315771 + 97420 20.475725 1.0006823 23.599064 6.0148376 4.5143145 1.5005231 0.0015230296 -0.021249162 4.5340407 + 97430 20.409332 1.0038324 23.948719 6.0282661 4.5230194 1.5052467 0.0016514859 -0.021356704 4.5427246 + 97440 20.307207 1.0068069 23.525857 6.0365749 4.5268678 1.509707 0.001728732 -0.022083812 4.5472229 + 97450 20.274784 0.9916829 23.809455 6.0244825 4.537454 1.4870285 0.0017967956 -0.022025282 4.5576825 + 97460 19.953927 1.0024491 23.599031 6.0338721 4.5306996 1.5031725 0.0019327806 -0.022551128 4.551318 + 97470 19.806332 1.0061798 23.566609 6.0386489 4.5298823 1.5087666 0.0021099799 -0.023113784 4.5508861 + 97480 20.171978 1.014246 23.630689 6.047328 4.5264662 1.5208618 0.0020382562 -0.022963322 4.5473912 + 97490 20.307622 1.0052321 23.525315 6.034418 4.5270725 1.5073455 0.0020177697 -0.022929753 4.5479845 + 97500 20.386926 0.99970494 23.466632 6.0352763 4.5362187 1.4990576 0.0018973455 -0.022209622 4.556531 + 97510 20.217345 1.0145994 23.617187 6.0411896 4.5197978 1.5213919 0.0016030606 -0.02096391 4.5391586 + 97520 19.957363 0.99914714 23.488601 6.0322857 4.5340645 1.4982211 0.0015624402 -0.020709276 4.5532114 + 97530 20.361511 1.0063849 23.686586 6.0185884 4.5095142 1.5090742 0.0016753245 -0.021908178 4.529747 + 97540 20.367532 1.0005503 23.65689 6.0397559 4.5394307 1.5003252 0.0016712919 -0.021977774 4.5597372 + 97550 20.245171 1.0299124 23.926452 6.0710284 4.5266747 1.5443536 0.0017225756 -0.022053216 4.5470054 + 97560 20.175203 1.0175652 24.076038 6.0663651 4.540526 1.525839 0.0016855404 -0.022420902 4.5612614 + 97570 20.110022 1.0321296 23.807634 6.0776922 4.5300138 1.5476783 0.0018196858 -0.022893547 4.5510877 + 97580 20.091591 1.037267 23.738926 6.0788807 4.5234989 1.5553818 0.0018699827 -0.022522297 4.5441512 + 97590 20.352004 1.0406896 23.837544 6.0738865 4.5133725 1.560514 0.0019153681 -0.022474154 4.5339312 + 97600 20.284128 1.0181631 23.586934 6.0623027 4.5355671 1.5267356 0.0017245783 -0.021524976 4.5553675 + 97610 19.985631 1.0105129 23.824829 6.0476365 4.5323725 1.515264 0.0016053619 -0.020641347 4.5514085 + 97620 20.207519 1.0115956 23.75463 6.0478406 4.530953 1.5168876 0.0013823455 -0.019820906 4.5493915 + 97630 20.323639 1.0233267 23.900836 6.0574919 4.5230136 1.5344783 0.0014773383 -0.020218776 4.541755 + 97640 20.205481 0.99776812 24.054634 6.0437006 4.5475473 1.4961533 0.0016043049 -0.020544954 4.5664879 + 97650 20.185314 1.0058655 23.624627 6.0475995 4.5393041 1.5082954 0.0015887305 -0.020893761 4.5586091 + 97660 20.127006 1.0174689 23.814959 6.0575114 4.5318168 1.5256947 0.0016486386 -0.021083781 4.5512519 + 97670 20.078646 1.0112075 23.674673 6.0554232 4.5391175 1.5163057 0.0018876719 -0.022100208 4.55933 + 97680 20.240619 1.0004204 23.902426 6.032878 4.5327476 1.5001304 0.0018277 -0.022127487 4.5530474 + 97690 20.044514 1.0195573 23.747952 6.049961 4.5211349 1.5288262 0.0016426155 -0.021164049 4.5406563 + 97700 20.339005 1.0032338 23.728695 6.0245393 4.5201902 1.5043491 0.0014237503 -0.020284599 4.5390511 + 97710 20.12271 1.000368 24.18665 6.0156769 4.5156251 1.5000518 0.0013795146 -0.020202115 4.5344477 + 97720 20.22608 0.97240957 23.723811 6.0054193 4.5472911 1.4581282 0.0012977608 -0.019732384 4.5657257 + 97730 20.376704 0.98258734 23.681413 6.0271142 4.5537244 1.4733897 0.0013030746 -0.019768959 4.5721903 + 97740 20.174349 1.006226 23.753326 6.0254853 4.5166495 1.5088359 0.0015421293 -0.02124395 4.5363513 + 97750 20.057064 0.99124591 23.643827 6.0227844 4.5364112 1.4863732 0.001670421 -0.021759011 4.5564998 + 97760 20.240743 0.98153367 23.674319 6.007443 4.5356332 1.4718097 0.0017039244 -0.021772851 4.5557022 + 97770 20.274037 1.0122698 23.69134 6.0385423 4.5206438 1.5178985 0.0017734277 -0.021867408 4.5407378 + 97780 20.276452 0.99830176 23.770856 6.0326356 4.5356821 1.4969535 0.0019614911 -0.022122972 4.5558436 + 97790 20.249285 1.0285058 23.789598 6.0590916 4.5168471 1.5422444 0.0017480723 -0.02130594 4.536405 + 97800 20.365482 0.99006137 23.860954 6.011147 4.52655 1.484597 0.0016629706 -0.020926056 4.5458131 + 97810 20.26743 1.0152252 23.800217 6.0440964 4.5217663 1.5223302 0.001635126 -0.020533757 4.5406649 + 97820 20.280575 0.99660719 23.618456 5.9953925 4.50098 1.4944125 0.0015813909 -0.020533451 4.5199321 + 97830 20.317268 0.9974252 23.722852 6.0143755 4.5187365 1.4956391 0.0017259281 -0.021633083 4.5386436 + 97840 20.1633 0.98513963 23.468011 6.0114848 4.5342679 1.4772169 0.0018101161 -0.022341555 4.5547994 + 97850 20.203121 1.0008845 23.628445 6.0358445 4.5350181 1.5008264 0.0016496168 -0.021120169 4.5544887 + 97860 20.047404 1.0097455 23.746511 6.0417461 4.5276327 1.5141133 0.0016468475 -0.021087654 4.5470735 + 97870 20.100291 1.0091975 23.712676 6.0250253 4.5117337 1.5132916 0.0017766658 -0.022093141 4.5320502 + 97880 20.29824 1.0085091 23.521812 6.0680715 4.5558121 1.5122594 0.0017228622 -0.021846262 4.5759355 + 97890 19.706234 1.0171543 23.588967 6.0707107 4.5454878 1.5252228 0.0016786204 -0.021840067 4.5656493 + 97900 20.39594 1.017126 23.751835 6.067182 4.5420017 1.5251804 0.0018366418 -0.022529078 4.5626941 + 97910 20.46251 1.0419122 23.667925 6.1033499 4.5410026 1.5623473 0.0018281719 -0.022540974 4.5617154 + 97920 20.428841 1.0465684 23.598813 6.096164 4.5268347 1.5693293 0.0017698313 -0.022425097 4.54749 + 97930 20.140726 1.0274009 23.785502 6.0920841 4.5514964 1.5405877 0.001718384 -0.022154291 4.5719323 + 97940 20.37121 1.0370408 23.733698 6.1029312 4.5478885 1.5550427 0.0017686802 -0.022306629 4.5684265 + 97950 20.127101 1.0423476 23.705306 6.1066285 4.5436283 1.5630002 0.0017747986 -0.021934573 4.5637881 + 97960 20.305493 1.0315375 23.652896 6.0890916 4.5423011 1.5467905 0.0018119157 -0.021713405 4.5622026 + 97970 20.219477 1.0226981 23.447272 6.1001868 4.566651 1.5335358 0.0017535271 -0.021586725 4.5864842 + 97980 20.273224 1.0362239 23.85855 6.1080962 4.5542785 1.5538177 0.001991478 -0.022985198 4.5752722 + 97990 20.219189 1.0261067 23.642386 6.0956525 4.5570056 1.5386469 0.0021289015 -0.023641827 4.5785185 + 98000 20.169455 1.0375684 23.737724 6.0999928 4.544159 1.5558338 0.0020742334 -0.023135768 4.5652205 + 98010 20.519096 1.036108 23.78874 6.0845786 4.5309347 1.5536439 0.0019716908 -0.023242142 4.5522051 + 98020 20.510492 1.0107146 23.975502 6.0602776 4.544711 1.5155665 0.0019523002 -0.023209508 4.5659682 + 98030 20.51323 1.0138855 23.688206 6.0517821 4.5314608 1.5203213 0.0019238491 -0.023155041 4.552692 + 98040 20.174503 1.0244171 23.71058 6.0486948 4.5125812 1.5361135 0.0019322565 -0.023233893 4.5338829 + 98050 20.212319 1.0178373 23.602541 6.0516207 4.5253736 1.5262471 0.00218143 -0.024215459 4.5474077 + 98060 20.292948 1.000696 23.368247 6.0369322 4.5363885 1.5005437 0.0023361622 -0.024382696 4.558435 + 98070 20.347496 1.0377951 23.677383 6.0805483 4.5243746 1.5561737 0.0022333195 -0.024107367 4.5462486 + 98080 20.383291 1.0004635 23.859181 6.0486393 4.5484443 1.500195 0.0021120894 -0.023352622 4.5696848 + 98090 20.16357 1.0224852 23.513688 6.0516707 4.5184542 1.5332165 0.0019609778 -0.022296395 4.5387896 + 98100 19.960835 1.0237591 23.709583 6.0484238 4.5132971 1.5351268 0.0019109041 -0.022657538 4.5340437 + 98110 19.93908 0.98385174 23.72454 6.0222286 4.5469429 1.4752857 0.0019415338 -0.022648868 4.5676502 + 98120 20.266164 0.97592499 23.576515 6.0208349 4.5574354 1.4633995 0.0019669046 -0.022310919 4.5777794 + 98130 20.390584 1.00131 23.638376 6.0269402 4.5254759 1.5014644 0.0019180369 -0.021871063 4.5454289 + 98140 20.175646 1.0292116 23.884729 6.0707866 4.5274838 1.5433028 0.001894971 -0.021558556 4.5471474 + 98150 20.038978 1.0270701 23.597351 6.0703303 4.5302387 1.5400916 0.0019167726 -0.022075368 4.5503973 + 98160 20.301206 1.0284731 23.817621 6.0708754 4.52868 1.5421954 0.0017437125 -0.02168338 4.5486196 + 98170 20.366635 1.0318885 23.928984 6.0594859 4.512169 1.5473168 0.0017466243 -0.021361312 4.5317837 + 98180 20.091712 1.0233455 23.785467 6.0535911 4.5190845 1.5345066 0.001620645 -0.021164231 4.5386281 + 98190 20.232859 1.0018986 23.849422 6.0323312 4.5299842 1.502347 0.0014141623 -0.020262188 4.5488323 + 98200 20.232291 1.0088042 23.874217 6.0544868 4.5417848 1.5127019 0.0014622627 -0.020337427 4.56066 + 98210 20.330201 1.0083921 23.692188 6.0458224 4.5337384 1.512084 0.0016129929 -0.021185573 4.553311 + 98220 20.298619 1.0142666 23.628575 6.0560589 4.5351661 1.5208928 0.0016942249 -0.021045068 4.554517 + 98230 20.18397 1.0321698 23.813972 6.0664843 4.5187457 1.5477386 0.0017363872 -0.021567332 4.5385766 + 98240 20.061027 1.0053277 24.016396 6.047494 4.5400052 1.5074888 0.0018734661 -0.022049228 4.5601809 + 98250 20.208437 1.0357009 23.441501 6.0816091 4.5285756 1.5530335 0.0018443131 -0.021772219 4.5485035 + 98260 20.025095 1.0141685 23.971627 6.0756989 4.5549532 1.5207457 0.001774391 -0.021386463 4.5745652 + 98270 20.318165 1.0267776 23.738245 6.0710261 4.5313732 1.539653 0.0017548665 -0.02185938 4.5514777 + 98280 20.424312 1.0352212 23.645717 6.0839503 4.5316361 1.5523142 0.0019121075 -0.022717126 4.5524411 + 98290 20.135811 1.0055347 23.796451 6.0518478 4.5440484 1.5077993 0.0018653278 -0.022461225 4.5646443 + 98300 20.141929 1.0098586 23.46714 6.0524227 4.5381398 1.5142829 0.0018458977 -0.021873525 4.5581674 + 98310 20.027246 0.99978346 23.92748 6.0297035 4.5305282 1.4991753 0.0017527947 -0.021396447 4.5501718 + 98320 20.089693 1.0037539 23.582766 6.0229568 4.5178278 1.5051289 0.0017901565 -0.020847244 4.5368849 + 98330 19.839328 1.0195131 23.590213 6.0465295 4.5177697 1.5287598 0.0016907291 -0.020214194 4.5362932 + 98340 20.070098 1.007896 23.97587 6.0282136 4.5168736 1.51134 0.0015694167 -0.019439402 4.5347436 + 98350 20.399556 1.0011338 23.552972 6.0411595 4.5399594 1.5012001 0.001572008 -0.019789908 4.5581773 + 98360 20.259231 1.0258132 23.677807 6.0578104 4.5196035 1.5382069 0.0015016668 -0.019866395 4.5379682 + 98370 20.163852 0.97371633 23.691952 6.0082694 4.5481817 1.4600876 0.0016140343 -0.021138016 4.5677057 + 98380 20.195051 0.99375805 23.850565 6.0059897 4.5158495 1.4901402 0.001615979 -0.021143264 4.5353768 + 98390 20.248511 0.98973623 23.696462 6.0026371 4.5185276 1.4841095 0.0016151399 -0.020853918 4.5377664 + 98400 20.394438 0.98839141 23.629328 5.9960532 4.5139603 1.4820929 0.0017591651 -0.021720298 4.5339214 + 98410 20.307885 0.99991598 23.547765 6.0187805 4.5194065 1.499374 0.0017492715 -0.021788189 4.5394454 + 98420 20.431353 0.99194363 23.658055 6.0380742 4.5506547 1.4874195 0.0017986184 -0.02204264 4.5708988 + 98430 20.242071 0.99958055 23.896626 6.041847 4.5429759 1.498871 0.001855689 -0.022116797 4.563237 + 98440 20.130896 1.0118907 23.876937 6.0591789 4.5418488 1.5173301 0.0017729153 -0.022229693 4.5623056 + 98450 19.930244 1.0253169 23.728869 6.0639659 4.5265032 1.5374627 0.0019827435 -0.023251258 4.5477717 + 98460 20.036493 1.0074511 23.901166 6.0384943 4.5278213 1.510673 0.0021453802 -0.023996539 4.5496725 + 98470 20.055706 0.97980332 23.461318 6.0185109 4.5492958 1.4692151 0.0021890688 -0.024317659 4.5714244 + 98480 20.198339 0.99296111 23.471567 6.0292433 4.5402981 1.4889452 0.0021735723 -0.024120476 4.562245 + 98490 20.089147 1.008519 23.69104 6.0235375 4.5112632 1.5122743 0.002032882 -0.022976021 4.5322064 + 98500 20.400834 0.9902726 23.719101 6.0127489 4.5278352 1.4849138 0.001743883 -0.021474371 4.5475657 + 98510 20.413741 0.98484542 23.5995 6.0089319 4.5321562 1.4767757 0.0018548243 -0.022069566 4.552371 + 98520 20.295849 0.98445771 23.566892 6.0120056 4.5358113 1.4761943 0.0019225761 -0.022640339 4.5565291 + 98530 20.09712 1.0101746 23.625745 6.0415069 4.5267501 1.5147569 0.001880507 -0.022772741 4.5476423 + 98540 19.933651 1.0019497 23.784752 6.0366784 4.5342549 1.5024235 0.0017927274 -0.022213858 4.554676 + 98550 20.372942 1.0075937 23.611278 6.0265584 4.5156716 1.5108867 0.0016007184 -0.021458048 4.535529 + 98560 20.357175 0.99678151 23.928323 6.0063148 4.511641 1.4946739 0.0014369532 -0.020456893 4.5306609 + 98570 20.263446 0.99452914 23.65621 6.0137338 4.5224374 1.4912964 0.0014078492 -0.019896143 4.5409257 + 98580 20.51245 0.9907154 23.762444 6.0179141 4.5323364 1.4855777 0.0014919448 -0.020054043 4.5508984 + 98590 20.340373 1.003337 23.445408 6.0558346 4.5513308 1.5045038 0.0016842012 -0.020501516 4.5701481 + 98600 20.100258 1.0050403 23.813936 6.048774 4.5417161 1.5070579 0.0018239506 -0.021255034 4.5611472 + 98610 20.044644 1.018335 23.799901 6.0476979 4.5207046 1.5269934 0.0017406295 -0.021363796 4.5403277 + 98620 20.071892 1.0182912 23.578667 6.0678517 4.540924 1.5269277 0.0019394338 -0.022723416 4.561708 + 98630 20.417135 1.0096444 23.534724 6.03996 4.5259982 1.5139618 0.0018318447 -0.022502973 4.5466693 + 98640 20.376166 1.0169936 23.460582 6.0561589 4.531177 1.5249819 0.0015883139 -0.021425397 4.5510141 + 98650 20.182056 1.0137822 23.964377 6.0550291 4.5348628 1.5201664 0.0014476839 -0.0207712 4.5541863 + 98660 20.338945 1.00298 23.683912 6.0435269 4.5395585 1.5039684 0.0016129453 -0.021868669 4.5598142 + 98670 20.264237 1.0015593 23.682795 6.0390604 4.5372222 1.5018382 0.0019020447 -0.023284504 4.5586047 + 98680 20.106486 1.0275008 23.545366 6.0694725 4.528735 1.5407375 0.002067117 -0.024000606 4.5506684 + 98690 20.297472 1.0034789 23.786761 6.0212965 4.5165799 1.5047166 0.002099984 -0.024052312 4.5385322 + 98700 20.251693 1.0118441 23.401649 6.0383707 4.5211104 1.5172602 0.0020062796 -0.023865173 4.5429693 + 98710 20.095895 1.0146235 23.745471 6.0478705 4.5264427 1.5214279 0.0018750378 -0.023458045 4.5480257 + 98720 20.232969 1.0207115 23.595859 6.088922 4.5583652 1.5305568 0.001844911 -0.023054449 4.5795747 + 98730 20.124954 1.0279197 23.873737 6.073916 4.5325504 1.5413656 0.0018292164 -0.0224947 4.5532159 + 98740 20.140444 1.0041816 23.59152 6.0578216 4.5520513 1.5057703 0.0016799063 -0.021792099 4.5721635 + 98750 20.248845 1.0024637 23.57937 6.053513 4.5503187 1.5031943 0.0015493662 -0.021366524 4.5701359 + 98760 20.462094 0.99968963 23.53369 6.0676174 4.5685828 1.4990346 0.0014301255 -0.020541014 4.5876937 + 98770 20.36347 1.022266 23.631427 6.0502149 4.517327 1.5328878 0.0015399673 -0.021011651 4.5367987 + 98780 20.451734 0.9989099 23.733014 6.0287417 4.5308763 1.4978654 0.0015587325 -0.021062723 4.5503803 + 98790 20.373269 1.0136921 23.715996 6.0422643 4.522233 1.5200313 0.0015880271 -0.021429705 4.5420747 + 98800 20.098822 1.0231089 23.839988 6.0275496 4.4933979 1.5341517 0.001608783 -0.021814542 4.5136036 + 98810 20.157305 1.0102109 23.98285 6.0327385 4.5179272 1.5148113 0.0017542264 -0.022342157 4.5385151 + 98820 20.371189 1.00577 23.832056 6.0393669 4.5312148 1.5081521 0.0015619324 -0.021317212 4.5509701 + 98830 20.156667 0.99459534 23.638189 6.0599208 4.5685251 1.4913957 0.0011572686 -0.019227149 4.586595 + 98840 20.044226 1.0054082 23.625109 6.0615373 4.5539277 1.5076096 0.00096841169 -0.018365982 4.5713253 + 98850 20.494323 1.025663 23.759808 6.0641797 4.5261981 1.5379817 0.00095850733 -0.018461801 4.5437014 + 98860 20.169328 1.0009093 23.575907 6.0481391 4.5472756 1.5008635 0.0011355316 -0.019191712 4.5653318 + 98870 20.263579 1.0115883 23.642447 6.0561945 4.5393179 1.5168767 0.0011084532 -0.018994838 4.5572042 + 98880 20.31998 1.0088677 23.477137 6.0529771 4.54018 1.5127971 0.0011005671 -0.018992053 4.5580715 + 98890 20.414769 1.0061948 23.506834 6.0454197 4.5366306 1.5087891 0.0014556424 -0.020489403 4.5556643 + 98900 20.281852 1.0133435 23.553945 6.0502544 4.5307459 1.5195085 0.0015707859 -0.021100753 4.5502759 + 98910 20.29678 1.0143172 23.517946 6.0656691 4.5447005 1.5209686 0.0016221932 -0.021169751 4.5642481 + 98920 20.403482 1.0069889 23.496295 6.030628 4.5206481 1.5099798 0.0017312812 -0.02177024 4.5406871 + 98930 20.346832 0.99950932 23.680011 6.0245584 4.5257942 1.4987642 0.001869135 -0.022149446 4.5460745 + 98940 20.247311 1.0146182 23.714133 6.045218 4.523798 1.52142 0.0018755779 -0.022711534 4.5446339 + 98950 20.159752 1.0152562 23.7559 6.0565763 4.5341996 1.5223767 0.0017660095 -0.022397801 4.5548313 + 98960 19.994703 1.0045229 23.601937 6.043712 4.5374299 1.5062821 0.0016350118 -0.0217304 4.5575253 + 98970 20.182401 1.008297 23.86376 6.0355788 4.5236375 1.5119413 0.001443105 -0.020611327 4.5428057 + 98980 20.203032 1.01847 23.640134 6.0371702 4.5099744 1.5271958 0.0014884104 -0.020586035 4.529072 + 98990 20.074248 1.0084927 23.867972 6.0413808 4.529146 1.5122348 0.0015492017 -0.020871779 4.5484686 + 99000 20.255232 1.0035478 23.752527 6.0324741 4.5276541 1.50482 0.0015035483 -0.020909278 4.5470599 + 99010 20.247589 0.99564552 23.518486 6.027792 4.5348215 1.4929705 0.0015635657 -0.021173048 4.554431 + 99020 20.345784 1.0168352 23.619587 6.059054 4.5343097 1.5247443 0.0016694736 -0.021779658 4.5544199 + 99030 19.993087 0.99618071 23.83474 6.036946 4.543173 1.493773 0.0017589271 -0.022362933 4.563777 + 99040 20.094242 0.98354419 23.607929 6.0007012 4.5258767 1.4748245 0.0018670145 -0.022895279 4.546905 + 99050 20.063104 0.99089398 23.861853 6.0147831 4.5289376 1.4858455 0.0018744181 -0.022849601 4.5499128 + 99060 20.129625 1.0044366 23.739895 6.0232797 4.5171271 1.5061527 0.0016830565 -0.021557522 4.5370015 + 99070 19.754992 0.99790562 24.065963 6.0280032 4.5316437 1.4963595 0.001488885 -0.020611306 4.5507661 + 99080 20.020661 1.0017655 23.684514 6.0354958 4.5333484 1.5021474 0.0015818016 -0.021086404 4.552853 + 99090 20.112114 1.008452 23.883842 6.0396418 4.5274679 1.5121738 0.0014714712 -0.020661398 4.5466579 + 99100 20.343425 0.99050246 23.627172 6.0437123 4.5584538 1.4852584 0.0015289546 -0.021152692 4.5780776 + 99110 20.162064 1.0098211 23.65904 6.0412957 4.5270689 1.5142267 0.0015984731 -0.021435546 4.546906 + 99120 20.351192 1.0140679 23.471809 6.0392283 4.5186335 1.5205948 0.0015217096 -0.020946744 4.5380586 + 99130 20.372812 1.0137113 23.978914 6.0366142 4.5165541 1.5200601 0.0015273747 -0.020736521 4.5357632 + 99140 20.143251 1.0182532 23.579348 6.0470275 4.5201568 1.5268707 0.0015523637 -0.021116921 4.5397213 + 99150 20.046336 1.0220261 23.735728 6.0523172 4.519789 1.5325282 0.0016540507 -0.021902353 4.5400373 + 99160 19.938765 1.0040072 23.832454 6.0527249 4.5472161 1.5055088 0.0016917064 -0.02242572 4.5679501 + 99170 20.015361 1.0340695 23.73893 6.0819004 4.5313131 1.5505873 0.0018030049 -0.022661943 4.552172 + 99180 19.939851 1.0359234 23.728829 6.0977781 4.544411 1.5533672 0.0018681397 -0.022846328 4.5653892 + 99190 20.032742 1.0137895 23.848753 6.0657745 4.5455972 1.5201774 0.0018031991 -0.022412723 4.5662067 + 99200 20.29224 1.011865 23.85971 6.055591 4.5382995 1.5172916 0.0018178357 -0.022384806 4.5588664 + 99210 20.049389 1.0100985 23.713179 6.054928 4.5402853 1.5146427 0.0016129801 -0.021348876 4.5600212 + 99220 19.54265 1.0097165 23.881102 6.0747672 4.5606974 1.5140698 0.00142484 -0.020797306 4.5800698 + 99230 20.097431 1.0129402 23.676176 6.0231728 4.5042691 1.5189038 0.0014654609 -0.020977098 4.5237807 + 99240 19.810638 0.98506733 23.544163 6.0407247 4.5636162 1.4771085 0.0015096937 -0.02117992 4.5832864 + 99250 20.285658 1.0041905 23.620204 6.0449328 4.5391491 1.5057837 0.0015600764 -0.021092904 4.5586819 + 99260 19.996006 1.0161943 23.63437 6.0677506 4.5439673 1.5237833 0.0016669173 -0.021456412 4.5637568 + 99270 20.144361 1.0199322 23.906487 6.0510926 4.5217043 1.5293883 0.0016729443 -0.021249788 4.5412811 + 99280 20.1395 1.0084541 23.956661 6.055549 4.5433721 1.5121769 0.0015318837 -0.020858566 4.5626988 + 99290 19.93911 0.99878029 23.747523 6.0246751 4.527004 1.497671 0.0013955846 -0.020323544 4.545932 + 99300 20.198744 1.0182691 23.654057 6.0478422 4.5209477 1.5268945 0.0015098441 -0.020435819 4.5398737 + 99310 20.209928 1.0098811 23.98734 6.0507097 4.5363929 1.5143168 0.0013543833 -0.020001593 4.5550401 + 99320 20.303609 1.0204746 24.001664 6.0607844 4.5305828 1.5302016 0.0012846171 -0.019875312 4.5491735 + 99330 20.355091 1.0387961 23.72752 6.0746679 4.5169931 1.5576748 0.0013299248 -0.020206198 4.5358693 + 99340 20.135188 1.0001004 23.836914 6.0487452 4.5490947 1.4996505 0.0013318245 -0.020210757 4.5679736 + 99350 20.251264 1.0298356 24.019278 6.0561978 4.5119594 1.5442385 0.0013476132 -0.01986615 4.5304779 + 99360 20.357961 1.0135573 23.840802 6.0430335 4.5232043 1.5198291 0.0015261864 -0.020729532 4.5424077 + 99370 20.22699 1.0014625 23.791801 6.017184 4.5154909 1.501693 0.0015592646 -0.020439583 4.5343713 + 99380 19.563472 0.98874269 23.456571 6.019999 4.5373793 1.4826197 0.0014259738 -0.019190612 4.555144 + 99390 20.360146 0.9813492 23.429043 5.9985137 4.5269806 1.4715331 0.0011556135 -0.018200115 4.5440251 + 99400 20.468939 0.98659003 23.494012 6.000299 4.5209073 1.4793917 0.0011250709 -0.0183311 4.5381133 + 99410 20.26064 0.99176916 23.825278 5.9893611 4.5022033 1.4871579 0.0013094398 -0.019201922 4.5200957 + 99420 20.197118 0.97902021 23.380064 6.0102649 4.5422241 1.4680408 0.0010645716 -0.018569676 4.5597292 + 99430 20.380681 0.97418065 23.2754 5.9920497 4.5312658 1.4607839 0.00098822476 -0.018383886 4.5486615 + 99440 20.51363 1.0012985 23.779852 6.0164619 4.5150148 1.5014471 0.00086309001 -0.018035706 4.5321875 + 99450 20.29361 0.99347016 23.436944 6.0285145 4.538806 1.4897085 0.00097679113 -0.018731824 4.5565611 + 99460 20.181929 0.99084566 23.902618 6.0217819 4.5360088 1.4857731 0.0011181832 -0.019716716 4.5546073 + 99470 19.966265 1.0029964 23.54713 6.0284214 4.5244283 1.5039931 0.0010376605 -0.019081426 4.5424721 + 99480 19.930478 0.99955223 23.71016 6.0362696 4.5374411 1.4988286 0.000829009 -0.017849349 4.5544614 + 99490 20.354776 1.0071265 23.471652 6.0122906 4.5021044 1.5101862 0.00078673699 -0.01759261 4.5189103 + 99500 20.446614 0.99394614 23.561399 6.0251937 4.5347715 1.4904222 0.00074265701 -0.01773094 4.5517598 + 99510 20.362799 1.0097906 23.943338 6.053808 4.539627 1.514181 0.00092328026 -0.018466079 4.5571698 + 99520 20.16453 1.0010798 23.339411 6.0333062 4.532187 1.5011192 0.0011085062 -0.019388048 4.5504666 + 99530 20.251096 1.0045701 23.645865 6.026504 4.520151 1.5063529 0.0013791596 -0.020302911 4.5390748 + 99540 20.355161 0.98711987 23.863201 6.0346926 4.5545064 1.4801862 0.0015720205 -0.021649891 4.5745842 + 99550 20.42674 1.0164817 23.620615 6.0367925 4.5125782 1.5242143 0.0014930953 -0.021454916 4.53254 + 99560 20.269545 0.99789319 23.781736 6.0459843 4.5496435 1.4963408 0.0013773237 -0.020864374 4.5691305 + 99570 20.236916 0.9896056 23.554981 6.0332231 4.5493095 1.4839136 0.0013376879 -0.020359845 4.5683317 + 99580 20.016367 1.0182084 23.765035 6.0554299 4.5286265 1.5268034 0.0014071325 -0.020327328 4.5475467 + 99590 19.998974 1.040452 23.716758 6.1035164 4.5433587 1.5601577 0.0012320364 -0.019319175 4.5614458 + 99600 20.130153 1.0321821 23.915594 6.1074912 4.5597341 1.5477571 0.0012163895 -0.019505783 4.5780235 + 99610 20.416575 1.0569011 23.71925 6.1187766 4.5339534 1.5848232 0.0010340495 -0.018667373 4.5515867 + 99620 20.185511 1.0397676 23.763968 6.12906 4.5699284 1.5591316 0.0010068483 -0.018704077 4.5876256 + 99630 20.205808 1.0439791 23.57871 6.1141815 4.5487348 1.5654467 0.0011824516 -0.019154295 4.5667066 + 99640 20.141651 1.042729 23.827063 6.124416 4.5608438 1.5635721 0.0012206596 -0.018950822 4.578574 + 99650 20.460211 1.0388108 23.809896 6.0965573 4.5388604 1.5576969 0.0011716689 -0.018294372 4.5559832 + 99660 20.377082 1.0200422 23.626161 6.0706909 4.5411377 1.5295532 0.0012191227 -0.01865624 4.5585748 + 99670 20.450838 1.0213696 24.030601 6.069749 4.5382052 1.5315437 0.0012547872 -0.019323333 4.5562738 + 99680 20.301534 1.0262152 23.837885 6.0669406 4.5281309 1.5388097 0.0013131806 -0.019886125 4.5467038 + 99690 20.170228 1.0107601 23.793283 6.0410099 4.525375 1.5156348 0.0012671119 -0.019829076 4.543937 + 99700 20.376455 1.0234147 23.962016 6.0745193 4.539909 1.5346104 0.001357675 -0.02046867 4.55902 + 99710 19.99299 1.0194102 23.762924 6.0679283 4.5393228 1.5286056 0.001620767 -0.021706942 4.5594089 + 99720 20.039707 1.0242584 23.508216 6.0648399 4.5289644 1.5358755 0.0018069376 -0.0226592 4.5498167 + 99730 20.068107 1.0196275 23.725049 6.0314272 4.5024957 1.5289315 0.0021129134 -0.024067829 4.5244506 + 99740 20.233194 0.99860497 23.58801 6.0570692 4.5596611 1.4974082 0.0022205249 -0.024219076 4.5816596 + 99750 20.249771 1.0075597 23.683866 6.0409945 4.5301587 1.5108358 0.0022758247 -0.024414142 4.552297 + 99760 20.652657 0.99557737 23.648319 6.0087709 4.5159027 1.4928683 0.0021689865 -0.023689272 4.5374229 + 99770 20.160876 0.98846972 23.588866 6.0005469 4.5183365 1.4822103 0.0021146065 -0.023329635 4.5395515 + 99780 20.301274 0.98976736 23.274513 5.9901978 4.5060416 1.4841561 0.0020621856 -0.023212598 4.527192 + 99790 20.068179 0.99212451 23.725046 5.9848682 4.4971775 1.4876907 0.002041177 -0.02316187 4.5182982 + 99800 19.946383 0.97921617 23.616662 5.9826315 4.5142968 1.4683346 0.0020895912 -0.023504725 4.535712 + 99810 20.265232 0.97618416 23.671381 5.9848048 4.5210167 1.4637881 0.0019748606 -0.023190449 4.5422323 + 99820 20.236871 1.0110412 23.647985 6.019102 4.5030458 1.5160562 0.0018115845 -0.022360473 4.5235947 + 99830 19.948172 0.98744121 23.857315 6.0011876 4.5205195 1.4806681 0.0019161526 -0.022869647 4.541473 + 99840 19.556997 1.0150382 23.734105 6.0388892 4.5168394 1.5220498 0.0019671982 -0.023268952 4.5381412 + 99850 20.345155 1.019062 23.994818 6.0477917 4.5197082 1.5280835 0.0019513465 -0.023017842 4.5407747 + 99860 19.998709 1.007597 23.805751 6.0540125 4.5431208 1.5108916 0.0017083496 -0.02191024 4.5633227 + 99870 20.390976 1.0111698 23.625973 6.0746654 4.5584162 1.5162491 0.001513802 -0.020674917 4.5775774 + 99880 20.461892 1.0247388 24.081043 6.0649718 4.528376 1.5365958 0.0015224137 -0.020899781 4.5477533 + 99890 20.180536 1.0137903 24.071303 6.0532695 4.5330909 1.5201785 0.0015874552 -0.021783885 4.5532874 + 99900 20.06415 1.0191158 23.476603 6.0595115 4.5313474 1.5281641 0.0018114323 -0.022494768 4.5520308 + 99910 19.827289 1.046029 23.831498 6.087581 4.5190605 1.5685205 0.00195121 -0.02287849 4.5399877 + 99920 19.375593 1.0223434 23.774564 6.0774507 4.5444468 1.5330039 0.0020650467 -0.023477686 4.5658595 + 99930 19.806542 1.0203515 23.616566 6.0698598 4.5398427 1.530017 0.0020037891 -0.023109237 4.5609482 + 99940 20.267806 1.0117269 23.832519 6.0454697 4.5283852 1.5170845 0.0019834899 -0.023178378 4.5495801 + 99950 20.441342 1.0172583 24.023704 6.0456096 4.5202307 1.5253788 0.001970362 -0.023346696 4.5416071 + 99960 20.327734 1.010363 23.901296 6.0566059 4.5415665 1.5150394 0.0019546392 -0.023289021 4.5629009 + 99970 20.270376 1.0025888 23.694412 6.0377852 4.5344033 1.5033818 0.0020423349 -0.023671602 4.5560326 + 99980 20.235689 0.99306522 23.752102 6.0156487 4.5265474 1.4891013 0.0023670429 -0.025027042 4.5492074 + 99990 20.044095 0.98917308 23.751054 6.004714 4.521449 1.483265 0.0023071079 -0.024838978 4.5439808 + 100000 20.292775 1.0022223 23.657115 6.013796 4.5109637 1.5028324 0.0020964133 -0.023559824 4.5324271 +Loop time of 4950.2 on 16 procs for 100000 steps with 3000 atoms + +Performance: 34907.695 tau/day, 20.201 timesteps/s +99.6% CPU use with 16 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 772.18 | 774.6 | 779.49 | 7.2 | 15.65 +Kspace | 3156.2 | 3191 | 3220.8 | 33.5 | 64.46 +Neigh | 744.23 | 751.68 | 762.3 | 25.1 | 15.18 +Comm | 207.75 | 229.28 | 255.27 | 99.7 | 4.63 +Output | 0.33493 | 0.35069 | 0.49687 | 6.4 | 0.01 +Modify | 0.70441 | 0.7237 | 0.74761 | 1.3 | 0.01 +Other | | 2.585 | | | 0.05 + +Nlocal: 187.5 ave 193 max 184 min +Histogram: 3 2 2 3 0 2 0 2 1 1 +Nghost: 8250 ave 8298 max 8203 min +Histogram: 2 1 3 1 1 3 0 1 1 3 +Neighs: 147172 ave 152224 max 142960 min +Histogram: 2 3 1 1 2 0 3 2 1 1 + +Total # of neighbors = 2354760 +Ave neighs/atom = 784.92 +Neighbor list builds = 100000 +Dangerous builds not checked +write_data data.after_equilibration +Ewald initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:321) + G vector (1/distance) = 1.0262 + estimated absolute RMS force accuracy = 1.01103e-05 + estimated relative force accuracy = 1.01103e-05 + KSpace vectors: actual max1d max3d = 2787 11 6083 + kxmax kymax kzmax = 11 11 11 + +compute RDF_1_1 all rdf 50 1 1 cutoff 3.0 +compute RDF_1_2 all rdf 50 1 2 cutoff 3.0 +compute RDF_1_3 all rdf 50 1 3 cutoff 3.0 +compute RDF_2_2 all rdf 50 2 2 cutoff 3.0 +compute RDF_2_3 all rdf 50 2 3 cutoff 3.0 +compute RDF_3_3 all rdf 50 3 3 cutoff 3.0 + +fix 11 all ave/time 50 1 50 c_RDF_1_1[*] file tmp_1_1.rdf mode vector +fix 12 all ave/time 50 1 50 c_RDF_1_2[*] file tmp_1_2.rdf mode vector +fix 13 all ave/time 50 1 50 c_RDF_1_3[*] file tmp_1_3.rdf mode vector +fix 14 all ave/time 50 1 50 c_RDF_2_2[*] file tmp_2_2.rdf mode vector +fix 15 all ave/time 50 1 50 c_RDF_2_3[*] file tmp_2_3.rdf mode vector +fix 16 all ave/time 50 1 50 c_RDF_3_3[*] file tmp_3_3.rdf mode vector + +run 10000 +Ewald initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:321) + G vector (1/distance) = 1.0262 + estimated absolute RMS force accuracy = 1.01103e-05 + estimated relative force accuracy = 1.01103e-05 + KSpace vectors: actual max1d max3d = 2787 11 6083 + kxmax kymax kzmax = 11 11 11 +Neighbor list info ... + update every 1 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5 + ghost atom cutoff = 5 + binsize = 2.5, bins = 4 4 4 + 8 neighbor lists, perpetual/occasional/extra = 2 6 0 + (1) pair dpd, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (2) pair coul/slater/long, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none + (3) compute rdf, occasional + attributes: half, newton on, cut 5 + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (4) compute rdf, occasional + attributes: half, newton on, cut 5 + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (5) compute rdf, occasional + attributes: half, newton on, cut 5 + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (6) compute rdf, occasional + attributes: half, newton on, cut 5 + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (7) compute rdf, occasional + attributes: half, newton on, cut 5 + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard + (8) compute rdf, occasional + attributes: half, newton on, cut 5 + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 29.15 | 29.16 | 29.18 Mbytes +Step S/CPU Temp Press TotEng PotEng KinEng E_coul E_long E_vdwl + 100000 0 1.0022223 23.472371 6.013796 4.5109637 1.5028324 0.0020964133 -0.023559824 4.5324271 + 100010 19.569819 0.97216506 23.477876 5.9684308 4.5106693 1.4577615 0.0020390205 -0.023342887 4.5319732 + 100020 19.37828 0.98276722 23.62578 5.9958728 4.5222134 1.4736594 0.0019703097 -0.022948484 4.5431916 + 100030 19.709695 0.99959239 23.614486 6.0316046 4.5327158 1.4988888 0.001958929 -0.023013037 4.5537699 + 100040 19.370216 0.99531442 23.377328 6.0256373 4.5331633 1.492474 0.0020584622 -0.023273665 4.5543785 + 100050 17.257112 0.99659312 23.63454 6.0267988 4.5324074 1.4943914 0.0020354765 -0.023140725 4.5535126 + 100060 19.436797 1.0048298 23.741733 6.0130251 4.5062829 1.5067422 0.0017878032 -0.022015344 4.5265104 + 100070 19.128089 0.98783522 23.517865 6.0281249 4.546866 1.4812589 0.0016514375 -0.021484108 4.5666987 + 100080 19.030309 0.99275624 23.314959 6.029674 4.541036 1.488638 0.0015899964 -0.02107503 4.560521 + 100090 19.600643 1.0025629 23.726415 6.0322338 4.5288907 1.5033431 0.0016207513 -0.02099804 4.548268 + 100100 17.332229 1.0021937 23.631651 6.0218186 4.5190292 1.5027894 0.0015234373 -0.021081195 4.5385869 + 100110 19.338751 1.0100278 23.767255 6.0367576 4.5222209 1.5145366 0.0013581002 -0.020534498 4.5413973 + 100120 19.575033 1.0090148 23.585814 6.0598729 4.5468553 1.5130176 0.0013217132 -0.020188438 4.565722 + 100130 19.256373 0.99235505 23.513225 6.0502233 4.5621869 1.4880364 0.0015378942 -0.021043694 4.5816927 + 100140 19.724025 1.0106498 23.441536 6.0484393 4.5329699 1.5154693 0.0018816744 -0.022934352 4.5540226 + 100150 17.586667 1.0133217 23.660575 6.0554521 4.5359761 1.519476 0.0022138849 -0.024796585 4.5585588 + 100160 19.598999 1.0244952 23.817012 6.0829135 4.546683 1.5362305 0.0023551573 -0.025417268 4.5697451 + 100170 19.272888 1.0223978 23.772659 6.0782405 4.545155 1.5330855 0.002393806 -0.0256195 4.5683807 + 100180 19.563293 1.0347264 24.034404 6.0746941 4.5231219 1.5515722 0.0022419268 -0.024530184 4.5454101 + 100190 19.432643 1.0470759 24.003539 6.1089427 4.5388524 1.5700903 0.0020342798 -0.023460037 4.5602781 + 100200 17.274152 1.028155 23.740839 6.0664449 4.5247265 1.5417184 0.0021688375 -0.024631611 4.5471893 + 100210 19.757513 1.019781 24.086753 6.0632097 4.5340481 1.5291616 0.0021322562 -0.024418299 4.5563342 + 100220 19.592496 1.0054698 23.843857 6.0524226 4.5447206 1.507702 0.0021204011 -0.024120838 4.5667211 + 100230 19.582222 1.020147 23.87311 6.0844337 4.5547232 1.5297105 0.0021262991 -0.024221728 4.5768186 + 100240 19.333012 1.0040767 23.775207 6.024738 4.519125 1.5056129 0.0020069807 -0.023918564 4.5410366 + 100250 17.361174 0.97053471 23.619343 5.9892114 4.5338946 1.4553168 0.0019163935 -0.023374847 4.5553531 + 100260 19.603516 0.98916771 23.837027 5.9965671 4.5133101 1.483257 0.0019039052 -0.022848823 4.5342551 + 100270 19.046961 0.99018172 23.913302 6.0218451 4.5370676 1.4847775 0.001602253 -0.021167438 4.5566328 + 100280 19.699801 1.0343188 23.81986 6.0840388 4.5330777 1.5509611 0.0016332862 -0.021230123 4.5526746 + 100290 19.698627 1.0230591 23.732763 6.0737726 4.5396954 1.5340772 0.001693914 -0.021471698 4.5594732 + 100300 17.334993 1.0191783 23.71097 6.0569807 4.5287228 1.5282579 0.0016367914 -0.021346323 4.5484324 + 100310 19.644981 1.0097805 23.772322 6.0613659 4.5472001 1.5141658 0.0015753316 -0.02099383 4.5666186 + 100320 19.23431 0.99960913 23.779521 6.0499136 4.5509998 1.4989139 0.001391955 -0.019574187 4.569182 + 100330 19.066353 1.022172 23.862818 6.0581673 4.5254204 1.5327469 0.0013428616 -0.018842414 4.54292 + 100340 19.382821 1.017864 24.039807 6.0711517 4.5448646 1.5262871 0.0014022527 -0.018551652 4.562014 + 100350 17.385617 1.0284472 23.892924 6.075039 4.5328823 1.5421566 0.0014975833 -0.019086228 4.550471 + 100360 19.662996 1.0487965 23.508855 6.0721379 4.4994675 1.5726704 0.0016069241 -0.019868619 4.5177292 + 100370 19.662297 1.0323194 23.873416 6.0561063 4.5081434 1.5479629 0.0015289583 -0.020044417 4.5266589 + 100380 19.610971 1.0069326 23.943231 6.0434702 4.5335747 1.5098955 0.0014353814 -0.019425123 4.5515645 + 100390 19.617764 1.0053051 23.541406 6.0461238 4.5386687 1.507455 0.0014151562 -0.01909264 4.5563462 + 100400 17.300073 1.0119592 23.576899 6.0479695 4.5305368 1.5174328 0.0014592067 -0.019789847 4.5488674 + 100410 19.419914 1.0123352 23.621636 6.0321477 4.5141511 1.5179966 0.0014722683 -0.019516843 4.5321957 + 100420 19.808358 1.0136736 23.610419 6.0259711 4.5059676 1.5200035 0.0014153941 -0.019649587 4.5242018 + 100430 19.833026 1.0015804 23.660709 6.0427325 4.5408626 1.5018698 0.0011462677 -0.018638765 4.5583551 + 100440 19.639464 1.0049226 23.646186 6.0476186 4.5407372 1.5068814 0.00090400492 -0.017528423 4.5573616 + 100450 17.524164 1.0046358 23.868925 6.0573288 4.5508774 1.5064514 0.00068722227 -0.016410697 4.5666009 + 100460 19.400101 1.0014656 23.665716 6.0278746 4.5261769 1.5016977 0.00065024497 -0.016262381 4.541789 + 100470 19.117562 0.9955093 23.779793 6.0405433 4.5477771 1.4927662 0.00079965671 -0.016429225 4.5634067 + 100480 19.5978 1.0081594 23.681592 6.0591446 4.5474095 1.5117351 0.00099108366 -0.017241166 4.5636596 + 100490 19.373331 1.0244905 23.665058 6.0898425 4.553619 1.5362234 0.0011912743 -0.018407273 4.570835 + 100500 17.24742 1.0284464 24.079593 6.0818662 4.5397108 1.5421554 0.0013971141 -0.019477675 4.5577913 + 100510 19.161022 1.0277754 23.784387 6.0861223 4.5449731 1.5411492 0.001441475 -0.020089269 4.5636209 + 100520 19.363128 1.0266733 23.65046 6.1039686 4.5644719 1.5394967 0.0016100766 -0.02052705 4.5833889 + 100530 19.596017 1.0375812 23.773918 6.1017871 4.5459341 1.555853 0.0015009914 -0.020474986 4.5649081 + 100540 19.632659 1.0375929 24.174234 6.1224016 4.5665309 1.5558706 0.0015271555 -0.020757856 4.5857616 + 100550 17.376691 1.0141911 23.743063 6.070954 4.5501745 1.5207795 0.0013206738 -0.019781516 4.5686353 + 100560 19.279893 1.011258 23.487959 6.0600003 4.5436189 1.5163814 0.0011838754 -0.018882354 4.5613173 + 100570 19.300968 1.0270911 23.633388 6.0934317 4.5533085 1.5401232 0.0012855485 -0.019465861 4.5714888 + 100580 19.371345 1.0642705 23.662284 6.1024258 4.5065522 1.5958736 0.0014149025 -0.020098273 4.5252356 + 100590 19.608825 1.0486053 23.752655 6.0958873 4.5235038 1.5723836 0.0017023236 -0.021413594 4.543215 + 100600 17.186547 1.0313435 23.58002 6.0898055 4.5433059 1.5464996 0.0017727923 -0.021772832 4.5633059 + 100610 19.548235 1.0204049 23.701464 6.1031366 4.5730394 1.5300972 0.0018465665 -0.022292735 4.5934856 + 100620 19.328086 1.0255805 23.662931 6.0789168 4.5410588 1.537858 0.0017603025 -0.022041454 4.56134 + 100630 19.615557 1.0237862 23.943864 6.0905119 4.5553444 1.5351674 0.0018652565 -0.022393436 4.5758726 + 100640 19.525879 1.0178262 24.016318 6.0665571 4.5403267 1.5262304 0.0020913834 -0.02368099 4.5619163 + 100650 17.343354 1.0000745 23.603248 6.030207 4.5305953 1.4996117 0.0021324371 -0.023964723 4.5524276 + 100660 19.236045 1.0089331 23.719747 6.0534682 4.540573 1.5128952 0.0020979924 -0.023663575 4.5621386 + 100670 19.56755 1.0166709 23.495162 6.0472748 4.5227768 1.524498 0.0019963791 -0.023359287 4.5441397 + 100680 19.673917 0.99866245 23.571007 6.0336561 4.5361617 1.4974943 0.0019914011 -0.022896087 4.5570664 + 100690 19.759347 1.0115146 23.678818 6.0525752 4.5358091 1.5167661 0.0019085328 -0.022452444 4.556353 + 100700 17.163016 1.0082476 23.774595 6.0457639 4.5338966 1.5118673 0.0018098661 -0.021872579 4.5539593 + 100710 19.243883 0.99292329 23.516014 6.0382328 4.5493443 1.4888885 0.001507846 -0.019630142 4.5674666 + 100720 19.508929 0.98472848 23.65436 6.0264386 4.5498382 1.4766003 0.0014066357 -0.019283393 4.567715 + 100730 19.376681 0.9833702 23.71161 5.995873 4.5213094 1.4745636 0.0017037601 -0.020983963 4.5405896 + 100740 19.731057 1.0056266 23.949773 6.0327345 4.5247975 1.507937 0.0018238882 -0.021793231 4.5447668 + 100750 17.348376 0.99982237 23.942886 6.0312166 4.5319829 1.4992336 0.0020090953 -0.022445359 4.5524192 + 100760 19.666003 0.99081722 23.760098 6.0184031 4.5326727 1.4857304 0.0020349871 -0.022550469 4.5531881 + 100770 19.739473 1.007192 23.586378 6.0319672 4.5216828 1.5102843 0.0017870594 -0.021158777 4.5410545 + 100780 19.663785 1.0153044 23.614135 6.0555012 4.5330522 1.522449 0.0015219328 -0.019868924 4.5513992 + 100790 19.646613 1.0118955 23.527789 6.0795024 4.5621651 1.5173373 0.0015742636 -0.020052091 4.580643 + 100800 17.273434 1.0278101 23.676521 6.0792124 4.5380112 1.5412012 0.0017007304 -0.020995023 4.5573055 + 100810 19.471995 1.0266055 23.615708 6.0831347 4.5437397 1.5393949 0.0017032739 -0.021268643 4.5633051 + 100820 19.469259 1.0159297 23.879577 6.0625319 4.5391452 1.5233866 0.0017080865 -0.021612371 4.5590495 + 100830 19.707231 1.0225846 23.81991 6.0736213 4.5402557 1.5333656 0.0018424441 -0.022088892 4.5605022 + 100840 19.378522 1.036478 23.662482 6.1099563 4.5557575 1.5541988 0.0018373494 -0.02210266 4.5760228 + 100850 16.973116 1.0410732 23.729524 6.1127744 4.5516852 1.5610892 0.0018653117 -0.02252562 4.5723455 + 100860 19.331402 1.0319529 23.890929 6.1039855 4.5565722 1.5474133 0.0019444061 -0.02302212 4.5776499 + 100870 19.417758 1.0196424 23.939784 6.0815382 4.5525844 1.5289538 0.0019122529 -0.022989358 4.5736615 + 100880 19.821631 1.0263889 23.517038 6.0716581 4.5325879 1.5390702 0.001945916 -0.023201535 4.5538435 + 100890 19.481672 1.0244129 23.50143 6.0626948 4.5265877 1.5361071 0.0018223161 -0.022753607 4.5475189 + 100900 17.236633 1.00041 23.640433 6.0324484 4.5323337 1.5001148 0.0018661467 -0.022972866 4.5534404 + 100910 19.437795 1.0165835 23.617036 6.0774069 4.55304 1.5243669 0.0019283651 -0.023051788 4.5741634 + 100920 19.775945 1.0204216 23.675356 6.1011763 4.5710542 1.5301221 0.0016419718 -0.022126152 4.5915384 + 100930 19.683334 1.0314568 23.572393 6.1039957 4.5573263 1.5466694 0.0015082493 -0.021174542 4.5769926 + 100940 19.471212 1.0321332 23.749393 6.1017689 4.5540853 1.5476837 0.0013958837 -0.020131778 4.5728212 + 100950 17.313139 1.0272348 23.611722 6.0771191 4.5367805 1.5403386 0.0015856628 -0.020956963 4.5561518 + 100960 19.43958 1.0240735 23.615326 6.0785955 4.5429972 1.5355983 0.0017631861 -0.022016081 4.5632501 + 100970 19.445565 1.0210801 23.78457 6.0578286 4.526719 1.5311096 0.0019959284 -0.022681256 4.5474043 + 100980 19.649549 1.0148516 23.583107 6.057873 4.5361031 1.5217699 0.0021816073 -0.023335882 4.5572574 + 100990 19.46881 1.0317427 23.928226 6.0771167 4.5300185 1.5470982 0.0023252025 -0.024002995 4.5516963 + 101000 17.447126 1.0226768 23.82908 6.0777003 4.5441964 1.5335039 0.0022242927 -0.023464513 4.5654366 + 101010 19.261433 1.028573 23.778672 6.0808329 4.5384877 1.5423452 0.0019152948 -0.022481571 4.559054 + 101020 19.769758 1.036128 23.903018 6.08889 4.5352161 1.5536739 0.0017502236 -0.021808245 4.5552741 + 101030 19.6357 1.0255107 23.65196 6.0833645 4.5456112 1.5377533 0.0016039774 -0.020797382 4.5648046 + 101040 19.562967 1.0484449 23.914717 6.0679301 4.495787 1.5721431 0.001589606 -0.020752171 4.5149495 + 101050 17.60348 1.0168368 23.631962 6.0809331 4.5561863 1.5247468 0.0016946685 -0.020997805 4.5754894 + 101060 19.80351 1.0440445 23.785561 6.0690912 4.5035465 1.5655447 0.0016267567 -0.0207939 4.5227136 + 101070 19.486207 1.0172468 23.634313 6.0644514 4.5390897 1.5253616 0.0015845053 -0.020356418 4.5578617 + 101080 19.162933 1.0186447 23.729926 6.0764666 4.5490089 1.5274577 0.0017709721 -0.021200623 4.5684385 + 101090 19.269166 1.0118463 23.522409 6.0643652 4.5471018 1.5172635 0.0018138104 -0.021236755 4.5665247 + 101100 17.445366 1.0170644 23.745664 6.0540046 4.5289166 1.525088 0.0016877059 -0.020730966 4.5479598 + 101110 19.440439 1.0114128 23.489396 6.0270657 4.5104522 1.5166135 0.0015966461 -0.020664878 4.5295204 + 101120 19.742162 0.99884353 23.514753 6.0254341 4.5276682 1.4977659 0.0015487989 -0.020296337 4.5464157 + 101130 19.819676 0.99535728 23.717874 6.0153329 4.5227946 1.4925382 0.0015300269 -0.019999515 4.5412641 + 101140 19.482164 0.99710427 23.822134 6.0189307 4.5237728 1.4951579 0.001535938 -0.019546139 4.541783 + 101150 17.499126 0.99524028 23.776171 6.0168552 4.5244924 1.4923628 0.0016639508 -0.020273552 4.543102 + 101160 19.584999 0.98399503 23.782545 6.0138436 4.538343 1.4755005 0.0017232624 -0.020482743 4.5571025 + 101170 19.527634 0.98558148 23.772 6.0014173 4.5235379 1.4778794 0.0015634923 -0.019757171 4.5417315 + 101180 19.772552 0.98620152 23.781684 6.0133091 4.5344999 1.4788092 0.001600096 -0.020208987 4.5531088 + 101190 19.602869 0.9940359 23.440659 6.0196834 4.5291265 1.4905568 0.0015668415 -0.020665845 4.5482256 + 101200 17.429096 0.99087329 23.745003 6.0119136 4.5260991 1.4858145 0.001551836 -0.021107222 4.5456545 + 101210 19.416654 1.0025881 23.629908 6.0185806 4.5151997 1.5033809 0.0015929903 -0.021698642 4.5353054 + 101220 19.597467 0.98818815 23.652485 6.0119257 4.5301376 1.4817881 0.0015359658 -0.020988944 4.5495906 + 101230 19.364722 0.98851029 23.708237 6.0081254 4.5258542 1.4822712 0.001542709 -0.021019157 4.5453306 + 101240 19.518162 0.99189111 23.290412 6.030252 4.5429113 1.4873407 0.0017153812 -0.021737218 4.5629331 + 101250 17.641157 1.0029819 24.149621 6.0245274 4.5205559 1.5039714 0.001727925 -0.022072308 4.5409003 + 101260 19.720188 1.0173598 23.594271 6.0602588 4.5347278 1.525531 0.0018534691 -0.022120875 4.5549952 + 101270 19.460336 1.0084076 23.939828 6.0461791 4.5340719 1.5121071 0.0017641394 -0.021606446 4.5539142 + 101280 19.384813 1.0000657 23.60283 6.0313445 4.5317459 1.4995986 0.0015402311 -0.020607818 4.5508135 + 101290 19.440014 1.0020632 23.622796 6.0470365 4.5444428 1.5025937 0.0014542101 -0.020141616 4.5631302 + 101300 17.366066 1.0235551 23.816402 6.0531417 4.5183208 1.5348208 0.0013999943 -0.019682568 4.5366034 + 101310 19.665465 1.014632 23.951708 6.0743684 4.5529278 1.5214406 0.0012990778 -0.019499504 4.5711282 + 101320 19.185796 1.0243023 23.708299 6.0661772 4.5302358 1.5359414 0.0015743646 -0.020709671 4.5493711 + 101330 18.756887 1.0315755 23.58363 6.0820935 4.535246 1.5468475 0.0015076496 -0.020262289 4.5540006 + 101340 19.060075 1.0199804 23.818836 6.0609205 4.5314599 1.5294606 0.0016732708 -0.021085714 4.5508723 + 101350 17.265814 1.0117565 23.767315 6.0553737 4.5382449 1.5171289 0.0016257845 -0.021245624 4.5578647 + 101360 19.594195 1.0195596 23.804573 6.0565544 4.5277248 1.5288296 0.0016333984 -0.020947307 4.5470388 + 101370 19.313292 1.0184006 23.620686 6.0610178 4.5339261 1.5270917 0.0017722225 -0.021462794 4.5536167 + 101380 19.657518 1.0164923 23.313994 6.0527335 4.5285033 1.5242303 0.00181483 -0.021691445 4.5483799 + 101390 19.644804 1.0268773 23.454294 6.0640379 4.5242353 1.5398026 0.0017875662 -0.021227479 4.5436752 + 101400 17.413522 1.0062752 23.780078 6.0456533 4.5367437 1.5089096 0.0018203351 -0.021386698 4.5563101 + 101410 19.70003 1.0291415 23.675355 6.0414919 4.4982941 1.5431977 0.0017461537 -0.021619692 4.5181677 + 101420 19.496723 1.0145901 23.910261 6.0194584 4.4980806 1.5213778 0.0016680108 -0.021375115 4.5177877 + 101430 19.560147 0.9892732 23.958419 6.0145743 4.5311591 1.4834152 0.0015730969 -0.020910567 4.5504966 + 101440 19.722955 0.98787506 23.619887 6.0070343 4.5257157 1.4813187 0.0014849489 -0.020112801 4.5443435 + 101450 17.469076 0.98770242 23.64673 6.0025561 4.5214963 1.4810598 0.0014303999 -0.019631203 4.5396971 + 101460 19.677069 1.0081527 23.392997 6.0182056 4.5064807 1.511725 0.0012046691 -0.018799973 4.524076 + 101470 19.73076 0.97955759 23.743083 6.0168672 4.5480206 1.4688466 0.0011995343 -0.019433322 4.5662544 + 101480 19.499258 0.99311468 23.970745 6.0222243 4.5330489 1.4891755 0.0014478131 -0.020336609 4.5519377 + 101490 19.505244 0.99873236 23.426263 6.0299553 4.5323561 1.4975992 0.0017500113 -0.022262335 4.5528684 + 101500 17.089214 1.0083789 23.53193 6.0505337 4.5384695 1.5120642 0.0020501244 -0.023770922 4.5601903 + 101510 19.325223 1.0081717 23.775338 6.0366732 4.5249197 1.5117535 0.0020744159 -0.023931171 4.5467765 + 101520 19.866294 1.0036457 23.796767 6.051863 4.5468963 1.5049667 0.0019802304 -0.023570079 4.5684862 + 101530 19.547894 1.0128576 24.007284 6.0436459 4.5248659 1.5187799 0.0018764947 -0.023099807 4.5460893 + 101540 19.351822 1.0047327 23.606806 6.0640051 4.5574084 1.5065967 0.0019290044 -0.023180764 4.5786602 + 101550 17.568929 1.001285 23.755367 6.0401735 4.5387466 1.5014269 0.0018152277 -0.022503883 4.5594352 + 101560 19.473814 1.0077875 23.737109 6.0391509 4.5279736 1.5111773 0.0016539031 -0.02219789 4.5485176 + 101570 19.453298 1.0003571 23.680917 6.0354926 4.5354572 1.5000354 0.0016282507 -0.021302927 4.5551318 + 101580 19.763421 1.0140053 23.837126 6.0484948 4.5279938 1.520501 0.0014327255 -0.020462391 4.5470235 + 101590 19.477461 1.0059343 23.690294 6.0396494 4.5312508 1.5083986 0.0011972629 -0.019120904 4.5491745 + 101600 17.323852 1.011791 23.959716 6.0464633 4.5292827 1.5171806 0.0012800449 -0.01924133 4.547244 + 101610 19.658683 1.008097 23.804233 6.0457764 4.5341349 1.5116415 0.001528751 -0.02033163 4.5529378 + 101620 19.31306 1.023787 23.75868 6.043206 4.5080374 1.5351686 0.0016272628 -0.020743835 4.527154 + 101630 19.490492 1.0081984 23.819165 6.0332415 4.521448 1.5117935 0.0016496385 -0.02083356 4.540632 + 101640 19.634347 1.0174599 23.831236 6.0642143 4.5385332 1.5256811 0.0018241109 -0.021688887 4.558398 + 101650 17.568267 1.022061 23.614843 6.0687945 4.536214 1.5325805 0.0015723262 -0.020550026 4.5551917 + 101660 19.552762 1.0038583 23.861322 6.0455396 4.5402541 1.5052855 0.0014526831 -0.019867101 4.5586685 + 101670 19.075636 0.99514714 23.696026 6.0319254 4.5397023 1.4922231 0.0015202715 -0.020252861 4.5584349 + 101680 19.144664 0.99678461 23.689986 6.0281008 4.5334223 1.4946785 0.0014669023 -0.02029886 4.5522543 + 101690 18.921287 1.0060209 23.866715 6.0357564 4.5272281 1.5085283 0.0016528388 -0.021343393 4.5469187 + 101700 16.986092 1.0048402 23.501537 6.0348863 4.5281284 1.5067579 0.0016803859 -0.021939744 4.5483877 + 101710 19.477636 1.0055768 23.80877 6.0582654 4.5504029 1.5078624 0.0017387498 -0.022300878 4.570965 + 101720 19.461472 1.0012824 23.696142 6.0509811 4.5495581 1.501423 0.001864475 -0.022975127 4.5706687 + 101730 19.383525 1.0115918 23.70588 6.0564787 4.5395967 1.5168819 0.0019917018 -0.023693381 4.5612984 + 101740 19.195323 1.0141369 23.635965 6.0498148 4.5291165 1.5206983 0.0018332444 -0.022795879 4.5500791 + 101750 17.070426 1.0154587 23.594755 6.061917 4.5392367 1.5226803 0.0017960615 -0.022699971 4.5601406 + 101760 19.710084 0.9951873 23.437506 6.0427953 4.5505119 1.4922834 0.0017570267 -0.022548988 4.5713039 + 101770 19.723731 1.0019304 23.907175 6.0235298 4.5211351 1.5023947 0.0018141997 -0.022582199 4.5419031 + 101780 19.533805 1.0008888 23.745144 6.0435759 4.5427431 1.5008328 0.0018993137 -0.022776366 4.5636202 + 101790 19.536085 0.99407829 23.582414 6.0413903 4.5507699 1.4906204 0.0018304393 -0.022185743 4.5711252 + 101800 17.467842 0.99768842 23.503088 6.0243164 4.5282826 1.4960338 0.001719386 -0.021478538 4.5480417 + 101810 19.218983 1.0098807 23.843428 6.0014648 4.4871487 1.514316 0.0015944313 -0.020506035 4.5060603 + 101820 19.631028 0.98207657 23.745218 6.0247467 4.5521229 1.4726238 0.0015358613 -0.020212161 4.5707992 + 101830 19.758229 0.99160077 23.431596 6.0377496 4.5508442 1.4869054 0.0015915166 -0.02019255 4.5694453 + 101840 19.64132 1.0152975 23.522052 6.032479 4.5100404 1.5224385 0.001541831 -0.020248772 4.5287474 + 101850 17.52901 0.97904415 23.376345 6.0001292 4.5320525 1.4680767 0.0014987894 -0.020323065 4.5508768 + 101860 19.325903 0.99886876 23.607157 6.0153878 4.5175841 1.4978037 0.0015849613 -0.020499218 4.5364984 + 101870 19.548237 0.99823035 23.494579 6.0455782 4.5487318 1.4968464 0.001632517 -0.020927804 4.5680271 + 101880 19.682552 0.97713919 23.872674 6.009548 4.5443278 1.4652202 0.0018661948 -0.022170753 4.5646324 + 101890 19.630885 0.98363929 23.550567 6.0134435 4.5384764 1.4749671 0.0020829849 -0.023092438 4.5594858 + 101900 17.38232 0.99087803 23.520907 6.0074847 4.5216631 1.4858216 0.0020106358 -0.022575294 4.5422278 + 101910 19.445842 1.0111868 23.822501 6.0421877 4.525913 1.5162747 0.0018649511 -0.021890736 4.5459388 + 101920 19.005497 1.0131324 23.666339 6.0562579 4.5370659 1.519192 0.0016648565 -0.02134255 4.5567436 + 101930 19.260625 1.0204045 23.812011 6.0634049 4.5333084 1.5300965 0.0018081654 -0.021773654 4.5532739 + 101940 19.348838 1.0263564 23.939884 6.0552091 4.5161877 1.5390214 0.0017403664 -0.021199868 4.5356472 + 101950 17.250978 0.98576355 23.559875 6.0273882 4.5492357 1.4781524 0.0014464593 -0.020108141 4.5678974 + 101960 19.721936 0.99813178 23.757529 6.0344219 4.5377233 1.4966986 0.0013368201 -0.019779767 4.5561662 + 101970 19.497534 0.99954129 23.772618 6.0347969 4.5359847 1.4988122 0.0012097656 -0.019158667 4.5539336 + 101980 19.473095 1.0119843 23.564595 6.0465001 4.5290297 1.5174704 0.0012275243 -0.019060725 4.5468629 + 101990 19.470469 1.0142773 23.838144 6.0634599 4.5425511 1.5209088 0.0013098553 -0.020156531 4.5613978 + 102000 17.547634 1.0237264 23.909395 6.067786 4.5327083 1.5350777 0.0015535427 -0.021291868 4.5524466 + 102010 19.798396 1.0173921 23.582759 6.0644201 4.5388407 1.5255794 0.0018268136 -0.022522146 4.559536 + 102020 19.842886 1.0249731 23.722026 6.0564955 4.5195483 1.5369472 0.00187888 -0.022794485 4.5404639 + 102030 19.614147 1.012187 23.688924 6.0559258 4.5381514 1.5177744 0.0016674293 -0.02178078 4.5582647 + 102040 19.385563 1.0033564 23.704506 6.0420628 4.53753 1.5045329 0.0015992605 -0.021224675 4.5571554 + 102050 17.357505 1.0208829 23.823541 6.0590106 4.5281966 1.5308139 0.0015484563 -0.020824613 4.5474728 + 102060 19.514851 1.0172268 24.062182 6.0577154 4.5323838 1.5253316 0.0016148705 -0.021275025 4.5520439 + 102070 19.496498 1.0141114 23.549155 6.04839 4.5277299 1.5206601 0.0018511593 -0.021885427 4.5477642 + 102080 19.680377 0.99302402 23.644846 6.057221 4.5681815 1.4890395 0.0019792038 -0.022393705 4.588596 + 102090 19.632292 1.0222115 23.879295 6.0544745 4.5216684 1.5328061 0.0019714882 -0.022402561 4.5420994 + 102100 17.426213 1.000041 23.518428 6.0423203 4.5427589 1.4995614 0.0020262705 -0.022750707 4.5634833 + 102110 19.549037 0.99354499 23.56906 6.0136484 4.5238276 1.4898207 0.0022625921 -0.024102386 4.5456674 + 102120 19.357082 1.0042529 24.069088 6.031897 4.5260198 1.5058772 0.0023381732 -0.024380961 4.5480626 + 102130 19.3866 1.0020825 23.814522 6.0267159 4.5240933 1.5026226 0.0021298562 -0.023284485 4.5452479 + 102140 19.534279 1.0052866 23.553678 6.0356149 4.5281875 1.5074273 0.0019835197 -0.023059472 4.5492635 + 102150 16.893888 1.011074 24.058497 6.0489458 4.5328403 1.5161055 0.001956542 -0.023024688 4.5539084 + 102160 19.310553 0.99958698 23.512488 6.0482154 4.5493347 1.4988807 0.0020455176 -0.023268309 4.5705575 + 102170 19.178677 1.0122733 23.861329 6.0576057 4.5397019 1.5179038 0.0019581866 -0.022858366 4.560602 + 102180 19.782527 1.0153346 23.803687 6.0543888 4.5318946 1.5224943 0.0017782556 -0.022102133 4.5522184 + 102190 19.601432 1.0130493 23.827157 6.0212194 4.502152 1.5190674 0.0014569705 -0.020651171 4.5213462 + 102200 17.527719 0.98501495 24.193641 6.0066367 4.5296067 1.4770299 0.001311141 -0.020046547 4.5483421 + 102210 19.409493 1.0004644 23.575085 6.0211036 4.5209072 1.5001964 0.0012420847 -0.019835873 4.5395009 + 102220 19.458324 0.99367593 23.752696 6.0153902 4.5253732 1.4900171 0.0011191157 -0.01914042 4.5433945 + 102230 19.301361 1.0038575 23.847557 6.0266541 4.5213697 1.5052844 0.0012301364 -0.019708626 4.5398482 + 102240 19.044579 1.0057805 23.508062 6.0370146 4.5288468 1.5081678 0.0016958011 -0.022142307 4.5492933 + 102250 17.088585 1.0147188 23.623567 6.0696764 4.5481056 1.5215708 0.0017654697 -0.022125225 4.5684654 + 102260 19.365846 1.0401954 23.672885 6.0910419 4.5312688 1.5597731 0.0018546674 -0.022643862 4.552058 + 102270 19.094081 1.0026103 23.694055 6.0688017 4.5653875 1.5034142 0.0020250416 -0.023627686 4.5869902 + 102280 19.138811 1.0053609 24.087485 6.0500157 4.542477 1.5075387 0.0019345232 -0.023512762 4.5640552 + 102290 19.510097 1.0022719 23.741009 6.052703 4.5497962 1.5029067 0.0019890052 -0.023653081 4.5714603 + 102300 17.563348 1.0144308 23.64427 6.0470075 4.5258685 1.5211389 0.0019968912 -0.023875077 4.5477467 + 102310 19.580309 0.98162503 23.770089 6.0102562 4.5383094 1.4719467 0.0018934316 -0.023306076 4.5597221 + 102320 19.667073 0.99891401 24.049678 6.022515 4.5246435 1.4978716 0.0017680651 -0.022803552 4.5456789 + 102330 19.4471 0.98949898 23.637058 6.0136816 4.5299279 1.4837537 0.0016427698 -0.022020824 4.5503059 + 102340 19.531094 1.004338 23.475569 6.0373455 4.5313407 1.5060048 0.0016164053 -0.021452333 4.5511766 + 102350 17.250595 1.0223777 23.840596 6.0630301 4.5299748 1.5330553 0.0016229015 -0.021159731 4.5495116 + 102360 19.705445 1.0210668 23.8132 6.0532229 4.5221332 1.5310897 0.0015339261 -0.021088045 4.5416873 + 102370 19.343877 1.004647 23.817056 6.0535417 4.5470735 1.5064682 0.0012422481 -0.020004333 4.5658356 + 102380 19.456976 1.0093264 23.671517 6.0689224 4.5554374 1.513485 0.0010996066 -0.019515497 4.5738533 + 102390 19.486242 1.0209354 23.956581 6.0701201 4.5392275 1.5308926 0.0012573319 -0.020311617 4.5582817 + 102400 17.522957 1.025506 24.050461 6.0713024 4.5335562 1.5377462 0.0014447733 -0.020901233 4.5530127 + 102410 19.762555 1.0265092 23.899831 6.0895335 4.5502829 1.5392505 0.0014405103 -0.020998374 4.5698408 + 102420 19.841149 1.0106259 23.701239 6.0597334 4.5442999 1.5154335 0.0015943889 -0.0217701 4.5644756 + 102430 19.334148 1.006563 23.914708 6.062355 4.5530138 1.5093413 0.0017154995 -0.02234773 4.573646 + 102440 19.495952 1.0259278 23.88848 6.075496 4.5371173 1.5383788 0.0016407207 -0.022150638 4.5576272 + 102450 17.666207 1.0388812 23.791695 6.074655 4.5168526 1.5578023 0.0015967317 -0.022089188 4.5373451 + 102460 19.673559 1.0102698 23.644698 6.0644493 4.5495497 1.5148995 0.0015432418 -0.021832375 4.5698389 + 102470 19.600927 0.99061417 23.577058 6.0392865 4.5538606 1.4854259 0.0016128611 -0.022144803 4.5743925 + 102480 19.676335 1.0041419 23.520087 6.0431586 4.5374478 1.5057108 0.0014375464 -0.020800574 4.5568108 + 102490 19.635016 1.0120281 23.580256 6.0290019 4.5114657 1.5175362 0.0014240211 -0.020239635 4.5302814 + 102500 17.432552 1.0256258 23.791484 6.06282 4.5248941 1.5379259 0.0015839002 -0.020521487 4.5438317 + 102510 19.674874 1.0176601 23.663899 6.063499 4.5375176 1.5259814 0.0016197895 -0.020545721 4.5564436 + 102520 19.579093 1.0031422 23.747621 6.0395543 4.5353426 1.5042117 0.0016213296 -0.020819339 4.5545406 + 102530 19.606589 1.0230813 23.515793 6.0770648 4.5429544 1.5341104 0.0015322023 -0.020830614 4.5622528 + 102540 19.641879 1.0366898 23.663188 6.0926002 4.5380838 1.5545163 0.0014082586 -0.020523003 4.5571986 + 102550 17.341123 1.0440137 24.075814 6.1098989 4.5444003 1.5654985 0.001569443 -0.021068162 4.563899 + 102560 19.506548 1.0293763 23.499716 6.0957457 4.552196 1.5435497 0.0015804244 -0.020310098 4.5709257 + 102570 19.016091 1.0181143 23.80778 6.0834899 4.5568275 1.5266624 0.0016097801 -0.020236956 4.5754547 + 102580 19.249496 1.022202 23.618239 6.0891864 4.5563945 1.5327919 0.0016989916 -0.020983951 4.5756795 + 102590 19.711675 1.0378314 23.781364 6.1050604 4.5488323 1.5562282 0.0015725138 -0.020625806 4.5678856 + 102600 17.428948 1.0169789 23.69299 6.0654075 4.5404477 1.5249598 0.0015112874 -0.01994101 4.5588774 + 102610 19.605184 1.0059275 23.465499 6.0630856 4.5546972 1.5083883 0.0013369945 -0.019101863 4.5724621 + 102620 19.621076 0.9981734 23.530818 6.0599874 4.5632264 1.496761 0.0014361481 -0.019750937 4.5815412 + 102630 19.47949 1.0242752 23.88645 6.0534473 4.5175466 1.5359007 0.0015361528 -0.020119136 4.5361296 + 102640 19.437076 1.0121234 23.870492 6.0317089 4.51403 1.517679 0.0017251605 -0.021080664 4.5333855 + 102650 17.486804 1.0081432 23.888869 6.0391005 4.5273898 1.5117107 0.0016209004 -0.020436959 4.5462059 + 102660 19.448855 0.99436224 23.521552 6.0237156 4.5326695 1.4910462 0.001401619 -0.019234928 4.5505028 + 102670 19.406224 1.0204072 24.008952 6.0590987 4.528998 1.5301007 0.0012731194 -0.018278235 4.5460031 + 102680 19.6083 0.99079009 23.335699 6.0479209 4.5622311 1.4856897 0.00094780248 -0.016864145 4.5781475 + 102690 19.409097 1.013675 23.798373 6.0561438 4.5361381 1.5200057 0.0012170687 -0.018062172 4.5529832 + 102700 17.454558 1.0083561 23.536732 6.0343671 4.5223372 1.5120299 0.0013402961 -0.019104013 4.5401009 + 102710 19.369109 1.0112068 23.905516 6.0418109 4.5255063 1.5163046 0.0015091835 -0.019775347 4.5437725 + 102720 19.517985 1.006 23.73037 6.0138564 4.5053593 1.508497 0.001497006 -0.019901779 4.5237641 + 102730 19.701321 1.0067612 23.596258 6.0250833 4.5154448 1.5096384 0.0014644215 -0.019758365 4.5337388 + 102740 19.54751 0.99295481 23.780165 6.0245666 4.5356309 1.4889357 0.0015588754 -0.020602186 4.5546742 + 102750 17.193074 1.0146083 23.913609 6.0323136 4.5109085 1.5214052 0.0015604386 -0.020601697 4.5299497 + 102760 19.32962 1.0016233 23.617631 6.0537617 4.5518277 1.5019341 0.0014213845 -0.019974011 4.5703803 + 102770 19.417477 1.0046039 23.817813 6.0498044 4.5434008 1.5064035 0.0013839332 -0.019953237 4.5619701 + 102780 19.704981 1.0475707 24.025844 6.1115375 4.5407052 1.5708323 0.001422952 -0.020253786 4.5595361 + 102790 19.714139 1.036365 23.989049 6.1044523 4.550423 1.5540294 0.0016131459 -0.020956966 4.5697668 + 102800 17.463648 1.0337258 23.710437 6.086385 4.5363131 1.5500719 0.0016492199 -0.021585433 4.5562493 + 102810 19.362512 1.0103216 23.982067 6.0531357 4.5381585 1.5149772 0.0017245964 -0.022044403 4.5584783 + 102820 19.473227 0.9960586 23.550458 6.0382749 4.5446851 1.4935899 0.0017746217 -0.022045852 4.5649563 + 102830 19.611988 0.99726898 23.652888 6.0431813 4.5477764 1.4954048 0.001710683 -0.021664394 4.5677301 + 102840 19.360803 0.99921454 23.833393 6.0222125 4.5238903 1.4983222 0.0017062915 -0.021452219 4.5436362 + 102850 17.429243 1.0011252 23.666291 6.0455709 4.5443837 1.5011872 0.0016777981 -0.021231692 4.5639376 + 102860 19.631275 1.006164 23.579717 6.04064 4.5318971 1.5087429 0.0015439375 -0.02066437 4.5510175 + 102870 19.842619 1.0128134 23.647399 6.0279913 4.5092776 1.5187137 0.0015317284 -0.020670874 4.5284168 + 102880 19.807298 1.0092215 23.970998 6.066938 4.5536103 1.5133277 0.0015530718 -0.020752114 4.5728093 + 102890 19.446871 1.028831 23.841022 6.0623671 4.5196351 1.5427321 0.0015369426 -0.020680553 4.5387787 + 102900 17.464304 0.99648272 23.405827 6.0515291 4.5573033 1.4942258 0.0014716751 -0.020492095 4.5763237 + 102910 19.662121 1.0036083 23.92532 6.0496587 4.5447481 1.5049106 0.0016547645 -0.02169782 4.5647912 + 102920 19.616503 1.0160164 23.701874 6.0510651 4.5275485 1.5235166 0.0018089535 -0.022255225 4.5479948 + 102930 19.559031 1.0100302 23.802403 6.0532612 4.5387209 1.5145403 0.0017516594 -0.022429401 4.5593986 + 102940 19.876326 1.027291 23.872114 6.0697054 4.5292826 1.5404228 0.0017457586 -0.022567598 4.5501044 + 102950 17.306868 1.013925 23.660188 6.0549375 4.534557 1.5203806 0.0015228972 -0.021725966 4.55476 + 102960 19.42961 1.0167239 23.946102 6.0616454 4.5370679 1.5245775 0.0015324901 -0.021732567 4.557268 + 102970 19.306952 1.0129732 23.651191 6.0460273 4.527074 1.5189533 0.0016087395 -0.021734509 4.5471998 + 102980 19.302691 1.006974 23.846629 6.0605894 4.5506318 1.5099576 0.0017767778 -0.022496486 4.5713515 + 102990 19.61772 1.0142101 23.716824 6.0480307 4.5272227 1.520808 0.0019809959 -0.023336951 4.5485786 + 103000 17.495468 1.0114885 23.601384 6.0384698 4.5217427 1.5167271 0.0019920155 -0.023396554 4.5431473 + 103010 19.527173 1.0216949 23.882286 6.0712945 4.5392629 1.5320315 0.0020295159 -0.023698734 4.5609321 + 103020 19.581142 1.0313436 24.120266 6.0741466 4.5276469 1.5464998 0.001980032 -0.023303578 4.5489704 + 103030 19.849241 1.0437601 23.854283 6.084913 4.5197948 1.5651182 0.001720513 -0.02172275 4.539797 + 103040 19.791659 1.0302618 23.810707 6.085105 4.5402275 1.5448775 0.0016458614 -0.020945915 4.5595276 + 103050 17.577528 1.0314304 23.492071 6.0783911 4.5317611 1.5466299 0.0016810347 -0.021493599 4.5515737 + 103060 19.580263 1.0316855 23.739825 6.0799484 4.532936 1.5470124 0.0015841882 -0.021602675 4.5529545 + 103070 19.767075 1.0046858 23.770233 6.0441286 4.5376022 1.5065264 0.0016641904 -0.022106165 4.5580442 + 103080 19.690321 0.99954886 23.79972 6.0432028 4.5443792 1.4988235 0.0016989924 -0.022059158 4.5647394 + 103090 19.739405 1.0107951 23.619093 6.0323002 4.516613 1.5156873 0.0016053126 -0.021443477 4.5364511 + 103100 17.494734 1.0087451 23.555083 6.0470729 4.5344597 1.5126133 0.0014820508 -0.020839996 4.5538176 + 103110 19.496553 1.0221645 23.77935 6.0648679 4.5321322 1.5327357 0.0017011079 -0.021535006 4.5519661 + 103120 19.390316 1.0159548 23.801058 6.0464195 4.5229953 1.5234242 0.0016396796 -0.021335243 4.5426909 + 103130 19.450701 0.99124919 23.849743 6.0143508 4.5279726 1.4863782 0.0016123284 -0.021480234 4.5478405 + 103140 19.681415 1.0049233 23.528166 6.0287806 4.5218981 1.5068825 0.0016863903 -0.022161397 4.5423731 + 103150 17.475228 0.9972346 23.832625 6.0223585 4.5270053 1.4953533 0.0016906416 -0.022294065 4.5476087 + 103160 19.641449 0.98952858 23.779565 6.0195129 4.5357148 1.4837981 0.0017320162 -0.022395399 4.5563782 + 103170 19.663562 0.98115114 23.460274 5.9942937 4.5230575 1.4712361 0.0019872486 -0.023445871 4.5445162 + 103180 19.586429 0.98327201 23.653405 5.9795668 4.5051504 1.4744164 0.002039677 -0.023264278 4.526375 + 103190 19.593011 0.96091941 23.495892 5.9710405 4.5301419 1.4408986 0.0020190518 -0.022723741 4.5508465 + 103200 17.33339 0.97405803 23.574367 6.0046842 4.5440842 1.4606 0.0020079105 -0.022658672 4.5647349 + 103210 19.107103 0.98280094 23.795008 5.9945263 4.5208163 1.47371 0.0020562033 -0.022927482 4.5416875 + 103220 19.06354 0.99676194 23.447437 6.0118209 4.5171764 1.4946445 0.0019555278 -0.022952527 4.5381734 + 103230 19.650681 0.9954365 23.794454 6.0318987 4.5392416 1.492657 0.0018409696 -0.02243941 4.5598401 + 103240 19.460732 0.97731178 23.912176 6.0186029 4.5531239 1.465479 0.0018987192 -0.022067863 4.573293 + 103250 17.088518 0.99933359 23.744506 6.0135915 4.5150908 1.4985007 0.0016870459 -0.021123776 4.5345275 + 103260 19.038247 0.9901871 23.774822 6.0142627 4.5294771 1.4847856 0.0017207578 -0.021734664 4.549491 + 103270 19.727328 0.9864441 23.720832 6.0044306 4.5252577 1.4791729 0.0018202661 -0.022060536 4.5454979 + 103280 19.864023 0.99869912 23.814978 6.0187233 4.521174 1.4975493 0.0020103239 -0.022849999 4.5420137 + 103290 19.719464 1.0225317 23.74951 6.0424678 4.5091814 1.5332863 0.0021404444 -0.02352548 4.5305665 + 103300 17.277808 0.98496978 23.516749 5.9982581 4.5212959 1.4769622 0.0019714901 -0.022884743 4.5422091 + 103310 19.558622 1.0030057 23.854058 6.0366326 4.5326256 1.504007 0.0019234584 -0.022673723 4.5533759 + 103320 19.445899 0.99070751 23.751813 6.0241582 4.5385923 1.4855659 0.0019109555 -0.022501654 4.559183 + 103330 19.437269 0.99294771 23.889225 5.9906251 4.5017 1.4889251 0.0017535435 -0.021916605 4.521863 + 103340 19.716314 0.99106266 23.667272 5.9908751 4.5047766 1.4860985 0.0015251586 -0.021282371 4.5245339 + 103350 17.538143 0.98325105 23.655635 5.9807502 4.5063652 1.474385 0.0012753583 -0.020635246 4.5257251 + 103360 19.6508 1.0024921 23.557734 6.010477 4.5072401 1.5032369 0.001493194 -0.021361818 4.5271087 + 103370 19.554376 0.99881791 23.769433 6.0122761 4.5145486 1.4977275 0.0015300416 -0.021065632 4.5340842 + 103380 19.381097 0.97689608 23.378123 5.9919358 4.5270801 1.4648557 0.0013103291 -0.020013459 4.5457832 + 103390 19.532696 0.979331 23.742839 6.006338 4.5378312 1.4685068 0.0013017467 -0.019834717 4.5563642 + 103400 17.570139 0.99402822 23.613831 6.0071173 4.516572 1.4905453 0.0014828448 -0.020961997 4.5360511 + 103410 19.604994 1.0061724 23.860535 6.0505176 4.541762 1.5087555 0.0015617314 -0.021232204 4.5614325 + 103420 19.819135 1.0026418 23.867243 6.0415946 4.5381332 1.5034614 0.001584595 -0.021378075 4.5579267 + 103430 19.473607 0.9949312 23.75738 6.0371859 4.5452865 1.4918993 0.00155813 -0.021375898 4.5651043 + 103440 19.380216 1.0089307 23.804818 6.0556946 4.542803 1.5128916 0.0015444469 -0.021036036 4.5622946 + 103450 17.384183 1.0046629 23.5784 6.0356193 4.5291273 1.506492 0.0017643777 -0.021970047 4.549333 + 103460 19.532317 1.0073133 23.580997 6.0323287 4.5218623 1.5104663 0.0018100227 -0.022347371 4.5423997 + 103470 19.686601 1.0201761 23.763205 6.0348769 4.5051229 1.529754 0.0017649043 -0.022386699 4.5257447 + 103480 19.574668 1.0084016 23.590783 6.0563368 4.5442386 1.5120982 0.0017819926 -0.022356564 4.5648131 + 103490 19.408264 1.0295229 24.031341 6.0770571 4.5332875 1.5437696 0.0018462302 -0.022519533 4.5539608 + 103500 17.564925 1.0134164 23.795855 6.0696675 4.5500497 1.5196179 0.0017654201 -0.022288123 4.5705724 + 103510 19.678262 1.0258575 23.891606 6.0857118 4.5474385 1.5382733 0.0018081382 -0.022514651 4.568145 + 103520 19.461978 1.0360164 23.906445 6.0901513 4.5366447 1.5535066 0.0019168542 -0.02271756 4.5574454 + 103530 19.276929 1.0331392 23.626626 6.1015223 4.5523301 1.5491923 0.0020561704 -0.023298582 4.5735725 + 103540 19.342772 1.0208193 23.877393 6.0880898 4.5573712 1.5307186 0.0020905872 -0.023845434 4.579126 + 103550 17.410539 1.0193595 23.435173 6.0766524 4.5481227 1.5285296 0.0020790435 -0.023637073 4.5696808 + 103560 19.562003 1.0301909 23.853622 6.0704328 4.5256615 1.5447712 0.0018823791 -0.02311421 4.5468934 + 103570 19.730382 1.0098467 23.916386 6.0477562 4.5334911 1.5142651 0.0018103724 -0.022677859 4.5543586 + 103580 19.544029 1.0338395 23.783027 6.085135 4.5348926 1.5502423 0.0018018798 -0.022407103 4.5554978 + 103590 19.517699 1.03613 23.873385 6.0815356 4.5278587 1.553677 0.001798945 -0.022328884 4.5483886 + 103600 17.576535 1.0205422 23.777422 6.0531965 4.5228935 1.530303 0.0016536002 -0.021718005 4.5429579 + 103610 19.53784 1.0156278 23.665304 6.0922935 4.5693596 1.5229338 0.0013700691 -0.02023364 4.5882232 + 103620 19.22711 1.0112667 23.735096 6.0601606 4.5437662 1.5163944 0.0012744035 -0.019972389 4.5624642 + 103630 19.130148 1.0074762 23.703202 6.0474509 4.5367403 1.5107106 0.001301597 -0.02020424 4.555643 + 103640 19.833471 1.0207401 23.783645 6.0723315 4.5417317 1.5305998 0.0013661158 -0.020799807 4.5611654 + 103650 17.335463 1.0300509 23.830944 6.0817336 4.5371724 1.5445613 0.001444403 -0.021112347 4.5568403 + 103660 19.434091 1.030241 23.950842 6.0775569 4.5327106 1.5448464 0.0014703203 -0.021534998 4.5527752 + 103670 19.523764 1.0271189 23.788702 6.1055689 4.5654041 1.5401648 0.0013965631 -0.021464052 4.5854716 + 103680 19.524396 1.0128286 24.006602 6.0709184 4.552182 1.5187364 0.0012684509 -0.02069121 4.5716048 + 103690 19.660281 1.0343284 23.855826 6.0882643 4.5372889 1.5509754 0.0013152618 -0.020493428 4.5564671 + 103700 17.484564 1.0314939 23.755327 6.0915692 4.5448441 1.5467251 0.0013448809 -0.020471657 4.5639709 + 103710 19.593737 1.0236782 23.865005 6.0865456 4.5515402 1.5350054 0.0014165107 -0.020745933 4.5708696 + 103720 19.669964 1.0203722 23.391447 6.1041158 4.5740677 1.5300481 0.0016415595 -0.021423934 4.5938501 + 103730 19.53245 1.0369614 23.599139 6.0814026 4.5264789 1.5549236 0.0017731116 -0.021880419 4.5465863 + 103740 19.381874 1.0062055 23.533344 6.0695071 4.560702 1.5088051 0.0018282866 -0.02272609 4.5815998 + 103750 17.406336 1.0260799 23.7545 6.080572 4.5419652 1.5386068 0.0018478885 -0.022832261 4.5629496 + 103760 19.339119 1.0297615 23.71233 6.0873279 4.5432006 1.5441274 0.0018882352 -0.022890718 4.5642031 + 103770 19.610463 1.0069259 24.033206 6.0609338 4.5510484 1.5098854 0.0017187621 -0.021903218 4.5712329 + 103780 19.780777 1.0169275 23.867667 6.0725788 4.5476961 1.5248827 0.0017167671 -0.021610584 4.5675899 + 103790 19.561261 1.0124247 23.591991 6.049296 4.5311652 1.5181309 0.0016775525 -0.021609138 4.5510968 + 103800 17.257525 1.0013604 23.625853 6.0355712 4.5340312 1.5015399 0.0017842124 -0.021977012 4.554224 + 103810 19.347807 1.0150624 23.580705 6.0448875 4.5228015 1.522086 0.0017766059 -0.021964299 4.5429892 + 103820 19.349293 1.004185 23.920591 6.0516308 4.5458555 1.5057753 0.0016597828 -0.021513866 4.5657096 + 103830 19.22095 1.0096815 23.812218 6.0505885 4.5365711 1.5140174 0.0016190631 -0.021683253 4.5566353 + 103840 19.590335 1.0093616 23.561617 6.0611019 4.5475641 1.5135377 0.0017942019 -0.022597456 4.5683674 + 103850 17.422656 1.0197539 23.860802 6.0730616 4.5439407 1.529121 0.001835822 -0.022983286 4.5650881 + 103860 19.714613 1.02338 23.706309 6.088056 4.5534977 1.5345583 0.0016981088 -0.022535956 4.5743356 + 103870 19.357089 1.014524 23.883481 6.0741817 4.552903 1.5212787 0.0017488571 -0.022726266 4.5738804 + 103880 19.742065 1.0108646 23.606419 6.0826668 4.5668753 1.5157915 0.0018897587 -0.023116147 4.5881017 + 103890 19.708331 1.0277625 23.727266 6.0848829 4.543753 1.5411299 0.0020016239 -0.023523268 4.5652747 + 103900 17.14657 1.0043878 23.729887 6.0583852 4.5523057 1.5060795 0.0019379215 -0.02335337 4.5737211 + 103910 19.516173 0.99597445 23.86743 6.0308253 4.5373616 1.4934637 0.001805871 -0.022890363 4.5584461 + 103920 19.567164 1.0075898 23.936819 6.0419027 4.5310219 1.5108809 0.0017726923 -0.02265243 4.5519016 + 103930 19.754203 1.0047004 23.633201 6.0504637 4.5439154 1.5065482 0.0017488972 -0.022419033 4.5645856 + 103940 19.614351 1.0111578 23.696755 6.0482808 4.5320497 1.5162312 0.001657544 -0.022354389 4.5527465 + 103950 17.419718 1.0324732 23.840329 6.0489112 4.5007176 1.5481936 0.0017310929 -0.0226985 4.521685 + 103960 19.435028 1.0137935 23.635313 6.042902 4.5227186 1.5201834 0.0016524661 -0.022005097 4.5430712 + 103970 19.609332 0.99838763 23.666417 6.0040331 4.5069508 1.4970822 0.0017137315 -0.022037297 4.5272744 + 103980 19.46134 0.99006561 23.640804 6.0159018 4.5312984 1.4846034 0.0020140023 -0.023358176 4.5526426 + 103990 19.395207 1.0090628 23.692012 6.0240652 4.5109756 1.5130896 0.0022084956 -0.024093717 4.5328608 + 104000 17.294085 1.0177926 23.893879 6.0566815 4.5305014 1.5261801 0.0023711269 -0.025059963 4.5531902 + 104010 19.432384 1.0193525 23.642782 6.0669906 4.5384715 1.5285191 0.0022665278 -0.02480295 4.561008 + 104020 19.550241 1.0214761 23.82076 6.0703969 4.5386934 1.5317034 0.0021777036 -0.024295448 4.5608112 + 104030 19.815881 1.0233908 23.952572 6.0718513 4.5372768 1.5345744 0.0020446328 -0.023651803 4.558884 + 104040 19.399389 1.0273725 23.694933 6.066425 4.52588 1.540545 0.0018447039 -0.022991159 4.5470265 + 104050 17.521576 1.012924 23.486051 6.0496211 4.5307416 1.5188795 0.0018961285 -0.023080606 4.5519261 + 104060 19.541167 1.0146413 23.720095 6.0600862 4.5386316 1.5214546 0.0019906093 -0.023380983 4.5600219 + 104070 19.525169 1.0101625 23.611096 6.0636251 4.5488864 1.5147387 0.0020156388 -0.023526334 4.5703971 + 104080 19.697213 1.0010211 23.619607 6.0298713 4.5288403 1.5010311 0.0021653964 -0.024274823 4.5509497 + 104090 19.306259 0.99768286 23.635191 6.0435939 4.5475684 1.4960254 0.0021514766 -0.024316116 4.5697331 + 104100 17.558404 1.0065738 23.949968 6.0433928 4.5340354 1.5093574 0.002130458 -0.023377672 4.5552827 + 104110 19.567304 1.0221315 23.631516 6.0609399 4.5282538 1.5326861 0.0021011641 -0.02315481 4.5493075 + 104120 19.457597 1.0130445 23.654451 6.0586479 4.5395877 1.5190602 0.0021525926 -0.02357122 4.5610063 + 104130 19.763855 1.0014455 23.923431 6.0433058 4.5416383 1.5016675 0.0019364239 -0.022948882 4.5626507 + 104140 19.605218 1.0254619 23.933167 6.0594604 4.5217803 1.5376801 0.0018279724 -0.022562565 4.5425149 + 104150 17.550675 0.99646957 23.585677 6.0371175 4.5429114 1.4942061 0.0018245566 -0.022676271 4.5637631 + 104160 19.287226 1.001335 23.941567 6.0285249 4.5270231 1.5015019 0.0019447916 -0.023287453 4.5483657 + 104170 19.230651 1.0010856 23.698375 6.0118647 4.5107368 1.5011279 0.0019526285 -0.022978573 4.5317627 + 104180 19.545719 1.0077542 23.480413 6.0391899 4.5280625 1.5111274 0.0019837885 -0.023158108 4.5492368 + 104190 19.038966 1.0128664 23.50069 6.0460351 4.527242 1.5187932 0.0021160999 -0.023836348 4.5489622 + 104200 16.763653 1.0163223 23.858066 6.031138 4.5071627 1.5239753 0.0021085077 -0.02359203 4.5286462 + 104210 19.29493 1.009057 23.640552 6.0442565 4.5311755 1.513081 0.0023682067 -0.024748682 4.553556 + 104220 19.676686 1.0073121 23.630844 6.0317012 4.5212367 1.5104645 0.0022916033 -0.024365622 4.5433107 + 104230 19.792853 1.0107117 23.694776 6.0413437 4.5257815 1.5155622 0.0021835994 -0.023858015 4.5474559 + 104240 19.647306 1.0112301 23.785686 6.0332549 4.5169153 1.5163395 0.0019585601 -0.023133682 4.5380905 + 104250 17.479443 1.0184295 23.724318 6.0647443 4.5376093 1.527135 0.0018275467 -0.022031258 4.5578131 + 104260 19.486928 0.99549362 23.968478 6.0428252 4.5500825 1.4927427 0.0016951265 -0.020557557 4.5689449 + 104270 19.476863 0.98243015 23.949298 6.0178719 4.5447179 1.473154 0.0017380844 -0.020364261 4.563344 + 104280 19.64578 1.0040723 23.715754 6.0066325 4.501026 1.5056065 0.0016961277 -0.020796123 4.520126 + 104290 19.564272 0.99640632 23.654166 6.0112641 4.5171528 1.4941113 0.0015547819 -0.020704353 4.5363024 + 104300 17.461147 0.99388654 23.680029 6.0146852 4.5243523 1.4903329 0.0015272659 -0.020721409 4.5435465 + 104310 19.491804 1.0006738 23.831794 6.0267448 4.5262344 1.5005104 0.0016023558 -0.021312629 4.5459447 + 104320 19.389282 1.0014724 23.694148 6.028405 4.5266971 1.5017078 0.0017045997 -0.02154858 4.5465411 + 104330 19.482328 1.0046238 23.717495 6.0464746 4.5400412 1.5064334 0.0015244992 -0.020575226 4.5590919 + 104340 19.305241 0.99113733 23.665405 6.0534467 4.5672363 1.4862104 0.001525774 -0.020411966 4.5861225 + 104350 17.372759 1.0141142 23.948246 6.0583289 4.5376646 1.5206643 0.0014023571 -0.020236389 4.5564986 + 104360 19.420664 0.9946115 23.569487 6.0470186 4.5555987 1.4914199 0.0014043606 -0.020226419 4.5744208 + 104370 19.559088 1.0179911 23.605106 6.0610586 4.534581 1.5264776 0.0015018062 -0.020949121 4.5540283 + 104380 19.714448 1.0270605 23.532727 6.0596884 4.5196113 1.5400772 0.0014902103 -0.02115519 4.5392762 + 104390 19.440313 1.0319718 23.487754 6.0987479 4.5513061 1.5474417 0.0014987037 -0.02119111 4.5709985 + 104400 17.330692 1.0119185 23.594708 6.0567061 4.5393343 1.5173719 0.001556743 -0.020709957 4.5584875 + 104410 19.302246 1.0074655 23.814144 6.0750676 4.5643731 1.5106945 0.0016229204 -0.021039832 4.58379 + 104420 19.350987 1.0167365 23.45664 6.0559214 4.531325 1.5245963 0.0018748971 -0.022074268 4.5515244 + 104430 19.626574 1.0000592 23.621376 6.0355057 4.5359169 1.4995888 0.0019069826 -0.022309783 4.5563197 + 104440 19.62816 1.0057866 23.200457 6.0473285 4.5391514 1.5081771 0.0018892268 -0.022594882 4.5598571 + 104450 17.019483 1.0223527 23.744698 6.0543884 4.5213705 1.5330178 0.0016703386 -0.02192421 4.5416244 + 104460 19.298156 1.0009115 23.642991 6.0427163 4.5418495 1.5008669 0.0013679607 -0.020697285 4.5611788 + 104470 19.680072 1.0115971 23.922621 6.0716959 4.5548061 1.5168898 0.001312075 -0.020045545 4.5735396 + 104480 19.589244 1.0279121 24.139435 6.0685653 4.5272111 1.5413542 0.0016065239 -0.021197243 4.5468018 + 104490 19.417663 1.0092459 23.884957 6.0712469 4.5578826 1.5133643 0.0018900679 -0.022674727 4.5786673 + 104500 17.421795 1.0268771 23.823265 6.0573425 4.5175403 1.5398022 0.0019323612 -0.022571793 4.5381798 + 104510 19.624065 1.0096731 23.906813 6.0569186 4.5429138 1.5140048 0.0018679011 -0.022124843 4.5631707 + 104520 19.643278 1.0087333 23.769578 6.0534131 4.5408176 1.5125955 0.001743566 -0.021465316 4.5605394 + 104530 19.452421 1.0037253 23.808101 6.0282595 4.5231734 1.5050861 0.001733695 -0.02137485 4.5428145 + 104540 19.480903 1.0017611 23.981223 6.0665255 4.5643847 1.5021407 0.0015823869 -0.020726339 4.5835287 + 104550 17.468052 1.0128492 23.853647 6.0634964 4.544729 1.5187674 0.0014889158 -0.020178209 4.5634183 + 104560 19.667736 1.0119973 24.046213 6.0626843 4.5451943 1.5174899 0.001353632 -0.019792873 4.5636336 + 104570 19.723323 1.0218565 23.639868 6.0592758 4.527002 1.5322738 0.0013653943 -0.020023125 4.5456597 + 104580 19.325787 1.0176892 23.779266 6.0670767 4.5410518 1.526025 0.0014557967 -0.019739663 4.5593356 + 104590 19.315168 1.0138811 23.47283 6.0452547 4.5249399 1.5203147 0.0015368754 -0.01989401 4.5432971 + 104600 17.622339 1.0071333 23.556087 6.0694162 4.5592198 1.5101964 0.0013421859 -0.018639634 4.5765173 + 104610 19.821168 1.0147141 23.818188 6.0649048 4.543341 1.5215638 0.0012424004 -0.018204953 4.5603036 + 104620 19.77507 1.0139718 23.574946 6.0715103 4.5510596 1.5204507 0.0012700547 -0.018745666 4.5685352 + 104630 19.547219 1.0223121 23.821496 6.0643279 4.5313709 1.532957 0.0012588505 -0.018522068 4.5486341 + 104640 19.659899 1.0210787 24.048409 6.0437012 4.5125936 1.5311076 0.0012584687 -0.018559767 4.5298949 + 104650 17.236459 1.0037159 23.909973 6.0477255 4.5426536 1.505072 0.0013820605 -0.019007855 4.5602794 + 104660 19.298832 1.0092854 23.629201 6.0512717 4.5378483 1.5134234 0.0013901947 -0.018929812 4.555388 + 104670 19.50771 1.0160802 23.750845 6.0606588 4.5370465 1.5236123 0.0013947774 -0.019458202 4.5551099 + 104680 19.531837 1.0100633 23.643257 6.0576113 4.5430213 1.51459 0.0013563131 -0.019373513 4.5610385 + 104690 18.661697 1.0138781 23.885426 6.0479534 4.5276431 1.5203103 0.0011046714 -0.018063274 4.5446017 + 104700 15.771224 0.97995067 23.584883 6.0183892 4.5489532 1.469436 0.00099559256 -0.018145127 4.5661027 + 104710 19.332128 1.0122007 23.812516 6.027336 4.509541 1.517795 0.0010895151 -0.018434043 4.5268855 + 104720 19.583345 0.9875154 23.442254 6.0145957 4.5338164 1.4807793 0.0012284287 -0.019309621 4.5518976 + 104730 19.334879 0.9965441 23.69275 6.0220128 4.527695 1.4943179 0.0012808077 -0.019891887 4.546306 + 104740 19.606056 1.0068152 23.841767 6.0515728 4.5418534 1.5097194 0.0011941264 -0.019753514 4.5604128 + 104750 17.32714 1.0298166 23.572976 6.0716453 4.5274353 1.54421 0.0013340092 -0.020356826 4.5464581 + 104760 19.412813 1.020822 23.506862 6.0917988 4.5610761 1.5307227 0.0012386453 -0.01953107 4.5793686 + 104770 19.46636 1.0350417 23.878605 6.083284 4.531239 1.552045 0.0010091681 -0.018480419 4.5487103 + 104780 19.481703 1.0024618 23.798855 6.0669815 4.56379 1.5031915 0.00096147335 -0.017935587 4.5807641 + 104790 19.387212 1.0176024 23.691768 6.0707067 4.5448119 1.5258948 0.00095123709 -0.017732692 4.5615933 + 104800 17.192082 0.99797381 23.651288 6.0524306 4.5559688 1.4964617 0.0010161711 -0.017791515 4.5727442 + 104810 19.039932 1.012767 23.841242 6.0538998 4.5352557 1.5186441 0.0011984481 -0.018885978 4.5529433 + 104820 19.31594 0.99936365 23.701527 6.0464403 4.5478945 1.4985458 0.0017297925 -0.021342559 4.5675072 + 104830 19.46893 1.0213737 23.836495 6.0853705 4.5538206 1.5315499 0.0020311842 -0.022175462 4.5739649 + 104840 19.80114 1.0227079 23.819391 6.0841677 4.5506173 1.5335504 0.0019972789 -0.021814727 4.5704347 + 104850 17.481759 1.0142794 23.568845 6.0657058 4.5447938 1.520912 0.0021437277 -0.022920044 4.5655701 + 104860 19.586758 1.0315578 23.663962 6.1036355 4.5568145 1.5468209 0.0021972306 -0.023594395 4.5782117 + 104870 19.448291 1.0372749 23.648605 6.1019207 4.546527 1.5553937 0.0020331827 -0.02330383 4.5677976 + 104880 19.687961 1.0321713 23.619758 6.0949113 4.5471704 1.5477409 0.0019588872 -0.023378245 4.5685898 + 104890 19.623359 1.0157775 23.617681 6.0793812 4.5562229 1.5231583 0.0018750232 -0.022755716 4.5771036 + 104900 17.265444 1.0169668 23.686901 6.0473704 4.5224286 1.5249418 0.001884114 -0.022489642 4.5430341 + 104910 19.5242 1.0295916 23.69998 6.0758198 4.5319471 1.5438727 0.0018829986 -0.022215484 4.5522796 + 104920 19.932216 1.0283105 23.553029 6.0764975 4.5345458 1.5419517 0.0018995365 -0.022465771 4.555112 + 104930 19.754834 1.0277037 24.069022 6.0710892 4.5300476 1.5410416 0.0018358283 -0.022296796 4.5505086 + 104940 19.766 1.0219864 23.675344 6.0864442 4.5539756 1.5324686 0.0019010685 -0.022701377 4.5747759 + 104950 17.356305 1.021669 23.620476 6.0835724 4.5515797 1.5319927 0.0019191502 -0.023065057 4.5727256 + 104960 19.31222 1.0170203 23.963818 6.0693648 4.5443429 1.525022 0.0019556652 -0.022938447 4.5653257 + 104970 19.235086 1.0215565 23.852205 6.0848071 4.5529831 1.531824 0.0018705736 -0.022616618 4.5737291 + 104980 19.659649 1.0206844 23.619736 6.0556075 4.5250913 1.5305162 0.0018188667 -0.022441911 4.5457143 + 104990 19.440088 1.0212823 23.904029 6.0449821 4.5135693 1.5314128 0.0019135592 -0.022724238 4.53438 + 105000 17.469715 1.0174279 23.906307 6.0185425 4.4929094 1.5256331 0.0019864981 -0.023181289 4.5141042 + 105010 19.912843 0.99688185 23.791606 6.0139946 4.5191703 1.4948243 0.0020709273 -0.023555032 4.5406544 + 105020 19.853577 1.0200277 23.762644 6.0635135 4.5339819 1.5295315 0.0021140502 -0.023894692 4.5557626 + 105030 19.66024 1.0463517 23.806758 6.1049131 4.5359087 1.5690044 0.002076741 -0.024212283 4.5580443 + 105040 19.741656 1.0209938 23.761574 6.0600678 4.5290877 1.5309801 0.001998713 -0.023956104 4.551045 + 105050 17.745309 1.001621 23.768437 6.060012 4.5580812 1.5019308 0.0020550541 -0.023881625 4.5799078 + 105060 19.610922 1.0278824 23.920918 6.0535433 4.5122337 1.5413096 0.0018372348 -0.022772198 4.5331687 + 105070 19.492739 1.009987 23.855312 6.0458647 4.5313892 1.5144755 0.0018168049 -0.022699594 4.552272 + 105080 19.475427 1.0176017 23.800566 6.0575865 4.5316928 1.5258937 0.001919948 -0.02322445 4.5529973 + 105090 19.292479 1.0295187 23.860255 6.0812224 4.5374591 1.5437633 0.0020330811 -0.023659502 4.5590856 + 105100 17.416417 1.0178108 23.825614 6.0769981 4.5507908 1.5262073 0.0019796198 -0.023418226 4.5722294 + 105110 19.557871 1.0007434 23.83759 6.0546571 4.5540424 1.5006147 0.001915759 -0.022793433 4.5749201 + 105120 19.808984 1.0231498 23.891553 6.0387108 4.5044977 1.5342131 0.0018854123 -0.022243018 4.5248553 + 105130 19.715457 0.99082427 23.521437 6.0095494 4.5238084 1.485741 0.0019286117 -0.022170039 4.5440498 + 105140 19.381443 0.99450033 23.736132 6.0094867 4.5182335 1.4912532 0.001772448 -0.021842556 4.5383036 + 105150 17.13709 1.0066326 23.881914 6.0183698 4.5089242 1.5094456 0.0015953971 -0.021144547 4.5284734 + 105160 19.666939 0.99230424 23.592848 6.029792 4.5418318 1.4879602 0.0017596826 -0.021867727 4.5619398 + 105170 19.473685 0.98857113 23.656209 6.0157491 4.5333867 1.4823624 0.0017207235 -0.021806967 4.5534729 + 105180 19.53061 1.0210608 23.623752 6.040661 4.5095803 1.5310807 0.0016034686 -0.02113873 4.5291156 + 105190 19.327311 1.0000892 23.322805 6.0506104 4.5509766 1.4996338 0.0015413692 -0.020575757 4.570011 + 105200 17.610294 1.0123324 23.482905 6.050493 4.5325006 1.5179925 0.0015146268 -0.020438069 4.551424 + 105210 19.501229 1.0068304 24.025296 6.0443949 4.5346527 1.5097422 0.001517394 -0.020736353 4.5538717 + 105220 19.571815 0.985966 23.723915 6.0097997 4.5313437 1.478456 0.0015980176 -0.021410828 4.5511565 + 105230 19.60821 0.99562644 23.724183 6.0206699 4.5277281 1.4929418 0.0017590644 -0.022159522 4.5481285 + 105240 19.664991 1.0026805 23.433805 6.0273075 4.523788 1.5035195 0.0018460371 -0.022304292 4.5442462 + 105250 17.454197 0.99146037 23.452848 6.0258355 4.5391407 1.4866948 0.0016683512 -0.021593232 4.5590656 + 105260 19.515915 0.9907244 23.775617 6.0227733 4.5371821 1.4855912 0.0015039257 -0.021175555 4.5568537 + 105270 19.587766 0.99716867 23.729276 6.0437686 4.5485142 1.4952544 0.0014394159 -0.020635434 4.5677102 + 105280 19.341394 1.0047214 23.831074 6.0600837 4.5535039 1.5065798 0.0014385861 -0.020354356 4.5724196 + 105290 19.453758 1.0313906 23.698652 6.0560276 4.5094575 1.5465701 0.0013611527 -0.020244355 4.5283407 + 105300 17.43134 1.0021456 23.715849 6.0308018 4.5280844 1.5027173 0.0014340991 -0.020689476 4.5473398 + 105310 19.736872 1.0226646 24.043614 6.0690747 4.5355891 1.5334856 0.0015170915 -0.02121165 4.5552837 + 105320 19.759923 1.030494 23.633339 6.0670163 4.5217905 1.5452257 0.001535775 -0.021219777 4.5414746 + 105330 19.554051 1.0250812 23.458 6.0616602 4.5245509 1.5371093 0.0016889187 -0.021659279 4.5445213 + 105340 19.534814 1.0036169 23.998414 6.0579423 4.5530188 1.5049235 0.001869069 -0.022299164 4.5734489 + 105350 17.333011 1.0292007 23.851393 6.0581844 4.514898 1.5432865 0.0016831886 -0.021420979 4.5346358 + 105360 19.351057 1.0017347 23.942827 6.0392932 4.537192 1.5021012 0.0017103772 -0.021454706 4.5569364 + 105370 19.403709 0.99761415 23.590947 6.0408283 4.5449058 1.4959224 0.0016404665 -0.021290523 4.5645559 + 105380 19.538031 1.0224367 23.847743 6.0618968 4.528753 1.5331438 0.0016297924 -0.021065364 4.5481886 + 105390 19.373062 1.0086746 23.542412 6.0592615 4.5467539 1.5125075 0.0015002937 -0.020330761 4.5655844 + 105400 17.346343 1.0175727 23.933392 6.0734508 4.5476006 1.5258503 0.001589211 -0.02064575 4.5666571 + 105410 19.656611 1.0317245 23.678815 6.0832087 4.5361377 1.547071 0.0017591366 -0.021060644 4.5554392 + 105420 19.6482 1.0075552 23.766286 6.0397437 4.5289146 1.5108291 0.0018860443 -0.02179558 4.5488241 + 105430 19.656582 1.0179057 23.676869 6.0365445 4.510195 1.5263496 0.0019777233 -0.02254124 4.5307585 + 105440 19.60343 0.99516416 23.762738 6.0435917 4.5513431 1.4922487 0.0017940941 -0.021563648 4.5711126 + 105450 17.304332 1.0173557 23.783155 6.0448443 4.5193193 1.5255249 0.0013580076 -0.019762982 4.5377243 + 105460 19.531241 1.0017245 23.61898 6.0451105 4.5430246 1.5020859 0.0013584384 -0.01971279 4.561379 + 105470 19.34548 1.0090566 23.914263 6.0404035 4.5273231 1.5130803 0.0015224258 -0.020293542 4.5460942 + 105480 19.250154 1.0205597 23.574264 6.0516739 4.5213447 1.5303292 0.0017008027 -0.021004228 4.5406481 + 105490 19.398538 1.0183837 23.775015 6.04811 4.5210437 1.5270663 0.0019603572 -0.022072404 4.5411557 + 105500 17.551981 0.99821866 23.820837 6.0187015 4.5218726 1.4968289 0.002110651 -0.023245713 4.5430077 + 105510 19.774669 1.0024932 23.967562 6.0175198 4.5142812 1.5032386 0.0021194988 -0.023179559 4.5353413 + 105520 19.550577 0.98775664 23.824128 6.0013514 4.5202103 1.4811411 0.0020014763 -0.022693598 4.5409024 + 105530 19.49556 0.99900863 23.856736 6.0270837 4.5290702 1.4980134 0.0018695724 -0.022264145 4.5494648 + 105540 19.575867 1.0162922 23.692663 6.0529905 4.5290604 1.5239301 0.001796298 -0.022204394 4.5494685 + 105550 17.561177 1.0054739 23.837439 6.0448112 4.5371031 1.5077081 0.0016414788 -0.021272893 4.5567345 + 105560 19.377327 1.0016153 23.756337 6.0280376 4.5261155 1.5019221 0.0014696012 -0.020434801 4.5450807 + 105570 19.55472 1.0029608 23.474593 6.0362596 4.5323199 1.5039397 0.0012593918 -0.019325474 4.550386 + 105580 19.728313 1.0067251 23.692807 6.0334072 4.5238229 1.5095843 0.0013467149 -0.01965083 4.542127 + 105590 19.760035 1.010716 23.573352 6.0411181 4.5255495 1.5155686 0.0015874536 -0.020763663 4.5447257 + 105600 17.414395 0.99938704 23.288786 6.024419 4.5258381 1.4985809 0.0017207364 -0.021222294 4.5453397 + 105610 19.642514 0.97758229 23.999186 6.0105948 4.5447101 1.4658846 0.0019967194 -0.022974243 4.5656876 + 105620 19.628257 0.9953675 23.514956 6.01219 4.5196365 1.4925536 0.0020459794 -0.02309581 4.5406863 + 105630 19.461821 1.0065416 23.684968 6.0253944 4.5160853 1.5093091 0.0019152328 -0.02241369 4.5365838 + 105640 19.565259 0.97540659 23.574765 6.0052617 4.5426395 1.4626222 0.0018622317 -0.022099072 4.5628764 + 105650 17.186934 0.98051994 23.82787 6.0100902 4.5398006 1.4702896 0.0017902189 -0.021758502 4.5597689 + 105660 19.340715 0.9789612 23.62761 5.9887915 4.5208391 1.4679523 0.0017859299 -0.022386534 4.5414397 + 105670 19.264508 0.99210019 23.472424 5.9931753 4.5055211 1.4876542 0.001832422 -0.022567028 4.5262557 + 105680 19.643467 1.0059805 23.724624 6.0186009 4.5101331 1.5084677 0.0018044342 -0.022715172 4.5310439 + 105690 19.756781 0.99885004 23.777817 6.0315506 4.533775 1.4977756 0.0020844016 -0.02406447 4.5557551 + 105700 17.658685 1.0150484 23.790137 6.0587932 4.5367281 1.522065 0.0019340854 -0.023440933 4.558235 + 105710 19.55998 1.0040861 23.661484 6.0381156 4.5324885 1.5056271 0.0016960863 -0.022447109 4.5532395 + 105720 19.263698 1.0231604 23.675058 6.0506572 4.5164282 1.534229 0.0017977155 -0.022754059 4.5373845 + 105730 19.646663 0.99211426 23.628259 6.01326 4.5255846 1.4876753 0.0019652267 -0.022955005 4.5465744 + 105740 19.341845 0.99265046 23.729738 6.023272 4.5347926 1.4884794 0.0019023976 -0.022782792 4.555673 + 105750 17.499811 0.99280984 23.721191 5.9956753 4.506957 1.4887184 0.0019601285 -0.023096116 4.5280929 + 105760 19.659399 0.97930278 23.813157 5.9880263 4.5195618 1.4684645 0.0021097386 -0.023653284 4.5411053 + 105770 19.364287 1.0048881 23.824245 6.0183748 4.5115451 1.5068297 0.002031926 -0.023275094 4.5327882 + 105780 19.605452 1.0217966 23.737541 6.0566243 4.5244402 1.532184 0.0019677568 -0.022691547 4.545164 + 105790 19.591524 1.0022783 23.737387 6.0415721 4.5386558 1.5029163 0.0018692173 -0.022228054 4.5590146 + 105800 17.443984 1.0031604 23.6531 6.0399078 4.5356688 1.504239 0.0019439955 -0.02219989 4.5559247 + 105810 19.135992 1.0190248 24.109737 6.0618265 4.5337988 1.5280277 0.0019148912 -0.02199572 4.5538797 + 105820 19.717552 1.021691 23.900309 6.0549571 4.5229315 1.5320256 0.0019033683 -0.021950287 4.5429784 + 105830 19.595696 1.0243589 23.905336 6.0627244 4.5266982 1.5360262 0.0019085471 -0.022424064 4.5472137 + 105840 19.529595 1.0046147 23.454938 6.0546711 4.5482513 1.5064198 0.0020757697 -0.023204717 4.5693803 + 105850 17.490876 1.0216772 23.74454 6.0666656 4.5346606 1.532005 0.0021727324 -0.024115332 4.5566032 + 105860 19.523063 1.0230557 23.896069 6.0835058 4.5494338 1.534072 0.0021931415 -0.024438213 4.5716789 + 105870 18.961391 1.0348584 23.866897 6.0725794 4.5208092 1.5517702 0.0022213174 -0.02457425 4.5431621 + 105880 19.4219 0.99815904 23.898071 6.0430244 4.546285 1.4967395 0.0019175045 -0.022996349 4.5673638 + 105890 19.608783 1.0160743 23.518474 6.0602005 4.5365971 1.5236034 0.0017747361 -0.022278212 4.5571006 + 105900 17.466704 1.0109851 23.629301 6.0674288 4.5514566 1.5159722 0.0016616957 -0.021996597 4.5717915 + 105910 19.25935 1.0149098 23.779829 6.0565659 4.5347086 1.5218572 0.0017196683 -0.022137806 4.5551268 + 105920 19.123149 1.0034257 23.522578 6.0491869 4.5445501 1.5046368 0.0016109893 -0.021390964 4.5643301 + 105930 19.071733 1.0187966 24.062962 6.0699065 4.5422211 1.5276854 0.0014869498 -0.020565227 4.5612994 + 105940 19.178062 1.0124729 23.780851 6.0552824 4.5370793 1.5182031 0.0015392062 -0.020605896 4.556146 + 105950 17.142271 1.0073103 23.58617 6.07191 4.5614483 1.5104618 0.0015464995 -0.020744384 4.5806462 + 105960 19.493919 1.0421125 23.925429 6.0795962 4.5169485 1.5626477 0.0016722599 -0.021611428 4.5368877 + 105970 19.446076 1.0254075 24.028893 6.0723016 4.5347031 1.5375985 0.0019785563 -0.022772451 4.555497 + 105980 19.666566 1.0090304 23.813721 6.0379013 4.5248602 1.5130411 0.0020834498 -0.02334418 4.5461209 + 105990 19.739719 1.0138673 23.820634 6.0660483 4.5457542 1.5202941 0.0019243742 -0.022641584 4.5664714 + 106000 17.372515 1.0068383 23.666524 6.0473782 4.5376242 1.509754 0.0017956737 -0.022651334 4.5584799 + 106010 19.120764 1.0228099 24.002643 6.0493346 4.5156311 1.5337035 0.0017007736 -0.022402443 4.5363328 + 106020 19.371542 1.0062576 23.9002 6.0528018 4.5439184 1.5088833 0.0017421089 -0.022134974 4.5643113 + 106030 19.625141 0.98158054 23.675695 6.0234988 4.5516188 1.47188 0.0018236432 -0.022019012 4.5718141 + 106040 19.576294 0.99383941 23.8222 6.0363741 4.5461119 1.4902622 0.0017447376 -0.021801834 4.566169 + 106050 17.65844 1.0160328 23.901844 6.0308731 4.5073319 1.5235413 0.0017258186 -0.021837605 4.5274437 + 106060 19.616292 1.0270261 24.077746 6.062916 4.5228904 1.5400257 0.0015934388 -0.02113393 4.5424308 + 106070 19.609889 1.0058887 23.729131 6.050915 4.5425848 1.5083301 0.0015466523 -0.021326061 4.5623642 + 106080 19.357567 1.0035997 23.603104 6.0461838 4.541286 1.5048978 0.0017679672 -0.022492407 4.5620104 + 106090 19.402265 1.0227019 23.790593 6.0589581 4.5254166 1.5335415 0.0018264653 -0.022434563 4.5460247 + 106100 16.964095 1.007168 23.529077 6.0659423 4.5556939 1.5102484 0.0017915224 -0.022056505 4.5759589 + 106110 18.887285 1.0181427 23.796341 6.0736845 4.5469795 1.526705 0.0017645506 -0.021872975 4.5670879 + 106120 19.403792 1.030009 23.841423 6.0896984 4.5451999 1.5444985 0.0018935508 -0.022832155 4.5661385 + 106130 19.628366 1.0267792 23.38927 6.0776462 4.5379908 1.5396555 0.0018434762 -0.022338545 4.5584858 + 106140 19.624314 1.0238598 23.69011 6.072022 4.5367442 1.5352778 0.0017373964 -0.021985406 4.5569922 + 106150 17.400929 1.0033276 23.657875 6.042721 4.5382312 1.5044898 0.0015909368 -0.021220188 4.5578604 + 106160 19.458957 0.99053047 23.530676 6.0253297 4.5400292 1.4853004 0.0016921311 -0.021700941 4.560038 + 106170 19.456998 0.98541709 23.605606 6.0048196 4.5271867 1.4776329 0.0018245602 -0.022352699 4.5477148 + 106180 19.363827 0.98266665 23.736298 6.0137968 4.5402882 1.4735086 0.0019728458 -0.022847028 4.5611623 + 106190 19.808725 0.98154547 23.707479 5.986334 4.5145065 1.4718274 0.0019157053 -0.022891477 4.5354823 + 106200 17.4597 0.98596868 23.931808 5.9950427 4.5165827 1.47846 0.001656426 -0.021298058 4.5362243 + 106210 19.364623 0.97479851 23.921416 5.9876058 4.5258955 1.4617104 0.0013770542 -0.020342183 4.5448606 + 106220 19.343331 0.97988388 23.807491 5.9899748 4.5206389 1.4693359 0.0011169726 -0.019291521 4.5388134 + 106230 19.498932 0.99624758 23.797059 6.0191559 4.5252826 1.4938733 0.0011791977 -0.019242847 4.5433463 + 106240 19.477287 0.99841472 24.011909 6.02355 4.5264272 1.4971229 0.0012503978 -0.019574629 4.5447514 + 106250 17.534508 1.0053882 23.884225 6.046105 4.5385253 1.5075797 0.0013881959 -0.020511334 4.5576484 + 106260 19.797876 1.0113708 23.801336 6.0308092 4.5142587 1.5165505 0.0015015907 -0.020933683 4.5336908 + 106270 19.716572 1.0105907 23.807877 6.0390043 4.5236235 1.5153808 0.0015569541 -0.021145644 4.5432122 + 106280 19.716676 1.0056812 23.592391 6.049772 4.5417531 1.5080189 0.0015244072 -0.021357001 4.5615857 + 106290 19.400926 1.0231075 23.501219 6.0552521 4.5211023 1.5341497 0.0015252124 -0.021134874 4.540712 + 106300 17.282148 1.0015095 23.726701 6.060285 4.5585216 1.5017634 0.0016553676 -0.021637832 4.578504 + 106310 19.250694 0.99116177 23.631405 6.0211657 4.5349186 1.4862471 0.0015381134 -0.021284021 4.5546645 + 106320 19.571909 1.0002356 23.532192 6.0283477 4.5284945 1.4998532 0.0016588028 -0.021650086 4.5484858 + 106330 19.557045 0.98804401 23.996676 6.0265842 4.5450122 1.481572 0.0016666109 -0.021911365 4.5652569 + 106340 19.068177 0.98769813 23.680605 6.0110796 4.5300263 1.4810533 0.0015496523 -0.021223067 4.5496997 + 106350 17.130064 1.0059656 23.583014 6.040158 4.5317125 1.5084455 0.001414264 -0.020619744 4.550918 + 106360 19.570317 1.0066313 23.800717 6.0548625 4.5454188 1.5094437 0.0013334265 -0.020054194 4.5641396 + 106370 19.398988 1.0271501 23.984866 6.0709977 4.5307862 1.5402115 0.0014462502 -0.020213248 4.5495532 + 106380 19.535098 1.0180631 23.72966 6.0645094 4.5379238 1.5265857 0.0015404848 -0.020621995 4.5570053 + 106390 19.725121 1.0081426 23.679653 6.0655023 4.5537925 1.5117098 0.0015337433 -0.020882844 4.5731416 + 106400 17.33229 1.0004502 23.754375 6.0382265 4.5380514 1.500175 0.0017140816 -0.021259547 4.5575969 + 106410 19.67007 1.0124551 23.608343 6.0516881 4.5335116 1.5181764 0.001782284 -0.021426206 4.5531556 + 106420 19.722093 1.0139863 23.718959 6.0504309 4.5299585 1.5204724 0.0017205166 -0.021082484 4.5493205 + 106430 19.591077 1.0041208 24.089714 6.0486968 4.5430177 1.5056791 0.0016627099 -0.020935215 4.5622902 + 106440 19.961073 1.016408 23.549536 6.0304627 4.5063589 1.5241038 0.0015630332 -0.020387841 4.5251837 + 106450 17.601061 1.0064439 23.57865 6.0436507 4.5344881 1.5091626 0.0016570907 -0.020805887 4.5536369 + 106460 19.740535 1.002237 23.684623 6.0507193 4.547865 1.5028543 0.0017592532 -0.021848863 4.5679546 + 106470 19.708004 0.99511678 23.664551 6.0446919 4.5525142 1.4921776 0.001825324 -0.021999384 4.5726883 + 106480 19.676307 1.0139349 23.919784 6.0264508 4.5060554 1.5203954 0.0017964927 -0.021676695 4.5259356 + 106490 19.367898 0.98705459 23.810853 6.0367777 4.5566893 1.4800884 0.0016983766 -0.021377453 4.5763684 + 106500 17.473765 1.018623 23.696785 6.0442986 4.5168734 1.5274252 0.0017070368 -0.021656518 4.5368228 + 106510 19.608028 1.0210796 23.823616 6.0540204 4.5229116 1.5311088 0.0016216411 -0.021822915 4.5431128 + 106520 19.302393 1.0108727 23.540247 6.0419452 4.5261417 1.5158035 0.0016910176 -0.021869401 4.54632 + 106530 19.620998 1.0275201 23.688014 6.0805067 4.5397403 1.5407663 0.0018811392 -0.022536048 4.5603953 + 106540 19.816837 1.0298726 23.863234 6.0620828 4.5177888 1.544294 0.0018136365 -0.022265103 4.5382402 + 106550 17.455205 1.0020499 23.883851 6.0619073 4.5593334 1.5025739 0.0016028021 -0.021446615 4.5791772 + 106560 19.545017 1.0221529 23.798248 6.0668196 4.5341013 1.5327183 0.0016323822 -0.021484997 4.5539539 + 106570 19.351211 1.023911 23.728427 6.076906 4.5415514 1.5353546 0.0017361679 -0.022166751 4.561982 + 106580 19.238578 1.0304039 23.595373 6.0897895 4.5446989 1.5450906 0.0016836101 -0.022358755 4.5653741 + 106590 19.259828 1.0371072 23.956717 6.1135579 4.5584156 1.5551423 0.0015003328 -0.021524415 4.5784397 + 106600 17.206942 1.0335587 23.802758 6.0902831 4.5404619 1.5498212 0.0015649475 -0.02154835 4.5604453 + 106610 19.615138 1.0312258 23.712416 6.085234 4.5389109 1.5463231 0.001639511 -0.02166566 4.558937 + 106620 19.635607 1.0276695 23.688645 6.0808043 4.539814 1.5409904 0.001813556 -0.022903166 4.5609036 + 106630 19.536544 1.0129338 23.762247 6.0904296 4.5715354 1.5188942 0.0021014504 -0.023893332 4.5933273 + 106640 19.704723 1.0218671 23.65236 6.0540054 4.5217157 1.5322897 0.0022429652 -0.024012616 4.5434854 + 106650 17.524407 0.99765425 23.656754 6.0302535 4.5342709 1.4959826 0.0022552701 -0.024041519 4.5560572 + 106660 19.682954 1.0165192 23.876322 6.0508603 4.5265898 1.5242705 0.0024214374 -0.024628214 4.5487965 + 106670 19.349023 1.0231466 24.025319 6.0482167 4.5140085 1.5342083 0.0022836505 -0.023905769 4.5356306 + 106680 19.451752 1.0241162 23.858162 6.079596 4.5439338 1.5356622 0.0021713931 -0.023683585 4.565446 + 106690 19.236439 1.0323591 23.794423 6.0929012 4.5448787 1.5480225 0.0019130945 -0.02232621 4.5652918 + 106700 17.484048 1.0302117 23.649078 6.0625758 4.5177735 1.5448024 0.0018322038 -0.021513267 4.5374545 + 106710 19.461449 1.013293 23.789173 6.0679859 4.5485531 1.5194328 0.0016844569 -0.020843801 4.5677124 + 106720 19.50567 1.0276915 24.195117 6.0497313 4.5087079 1.5410235 0.0015514826 -0.020357959 4.5275144 + 106730 19.45317 1.0323312 23.751294 6.088652 4.5406714 1.5479807 0.0016211892 -0.021212049 4.5602622 + 106740 19.398354 1.0208645 23.743396 6.0945876 4.5638014 1.5307863 0.0014550672 -0.021022735 4.583369 + 106750 17.514329 1.0309325 23.714955 6.0776641 4.5317807 1.5458833 0.0013375522 -0.020752412 4.5511956 + 106760 19.417767 1.028838 23.790964 6.084191 4.5414484 1.5427426 0.0014150369 -0.021477211 4.5615106 + 106770 19.387045 1.023969 23.486118 6.0831935 4.547752 1.5354415 0.0016279562 -0.022507916 4.5686319 + 106780 19.499724 1.018814 24.137486 6.0802398 4.5525282 1.5277116 0.0016280189 -0.022149385 4.5730495 + 106790 19.599396 1.0311897 23.630417 6.1084437 4.5621748 1.546269 0.0015801532 -0.021924394 4.582519 + 106800 17.347842 1.0086176 23.679045 6.069851 4.557429 1.512422 0.0014683291 -0.021251424 4.5772121 + 106810 19.71678 1.0235655 23.721726 6.0955283 4.5606918 1.5348364 0.0013860412 -0.020978848 4.5802847 + 106820 19.520194 1.0480083 23.682053 6.1230096 4.5515212 1.5714884 0.0012248564 -0.020264434 4.5705608 + 106830 19.375034 1.0475519 23.781627 6.1112275 4.5404234 1.5708041 0.0013106862 -0.02043759 4.5595503 + 106840 19.714239 1.0392257 24.025022 6.1188929 4.560574 1.5583189 0.0015236284 -0.021256624 4.5803069 + 106850 17.336292 1.0499276 23.950001 6.1304816 4.5561152 1.5743664 0.0015629467 -0.021310837 4.5758631 + 106860 19.686616 1.0282755 23.837007 6.0925325 4.5506334 1.5418991 0.0016273665 -0.021932946 4.570939 + 106870 19.762132 1.0166421 23.362372 6.0731442 4.5486894 1.5244548 0.0016051667 -0.021848401 4.5689326 + 106880 19.756552 1.0053784 23.754041 6.0596083 4.5520434 1.5075649 0.0016752725 -0.02204557 4.5724137 + 106890 19.5676 1.0283915 23.676703 6.0715438 4.5294707 1.542073 0.0016479477 -0.021689042 4.5495118 + 106900 17.234089 1.0077583 23.917354 6.0569956 4.545862 1.5111336 0.0016657676 -0.021368687 4.5655649 + 106910 19.396453 1.0051297 23.58171 6.0510753 4.5438833 1.507192 0.0019034593 -0.022369771 4.5643496 + 106920 19.525443 1.0163904 24.053648 6.0383581 4.5142807 1.5240774 0.0020252406 -0.023527034 4.5357825 + 106930 19.387012 1.000455 23.745624 6.0405369 4.5403547 1.5001822 0.0020906808 -0.023982623 4.5622466 + 106940 19.247798 1.0217268 24.011146 6.057605 4.5255256 1.5320794 0.0021267182 -0.024360676 4.5477595 + 106950 17.393826 1.0207833 23.92778 6.0472843 4.5166198 1.5306645 0.0020497815 -0.023299096 4.5378691 + 106960 19.72573 1.0169192 23.690391 6.0594106 4.5345402 1.5248704 0.0019406875 -0.022637716 4.5552372 + 106970 19.600119 1.0236721 23.552042 6.0787839 4.5437877 1.5349963 0.0021510958 -0.023396116 4.5650327 + 106980 19.272463 1.0227345 23.963531 6.0863675 4.5527772 1.5335904 0.0021868555 -0.02359226 4.5741826 + 106990 19.66487 1.0058974 23.746715 6.0535891 4.5452459 1.5083432 0.002046229 -0.022818936 4.5660186 + 107000 17.205668 1.0176666 23.757943 6.0518207 4.5258296 1.5259911 0.001916045 -0.022401461 4.546315 + 107010 19.522217 1.0202342 23.886415 6.0496397 4.5197985 1.5298412 0.0019918053 -0.022647931 4.5404547 + 107020 19.205838 1.00297 23.425395 6.0159669 4.5120134 1.5039536 0.0018702156 -0.022098546 4.5322417 + 107030 19.60023 1.0110232 23.81276 6.0459678 4.5299385 1.5160293 0.0018328728 -0.022124262 4.5502299 + 107040 19.300266 1.0217795 23.746097 6.0542458 4.5220875 1.5321583 0.0017078032 -0.02154795 4.5419276 + 107050 17.650838 1.0138391 23.942306 6.080087 4.5598353 1.5202517 0.001742189 -0.021827509 4.5799206 + 107060 19.659168 1.0146145 23.358029 6.053229 4.5318145 1.5214144 0.0017460315 -0.022157988 4.5522265 + 107070 19.417684 1.0043917 23.657463 6.0588067 4.5527214 1.5060853 0.0017043126 -0.021845288 4.5728624 + 107080 19.495031 0.99840642 23.66984 6.0317346 4.5346241 1.4971104 0.0017140807 -0.021938999 4.5548491 + 107090 19.579093 0.98974268 23.91608 6.0283295 4.5442104 1.4841191 0.0016210775 -0.02131282 4.5639021 + 107100 17.561302 0.98244239 23.666184 5.9995901 4.5264177 1.4731724 0.0015681802 -0.02114999 4.5459995 + 107110 19.6015 0.99625344 23.856325 6.0149714 4.5210894 1.493882 0.0016285573 -0.021368651 4.5408295 + 107120 19.60692 0.97918907 23.524451 6.0061236 4.5378296 1.468294 0.0016252507 -0.021336459 4.5575408 + 107130 19.489863 0.99875516 23.821031 6.0247131 4.5270797 1.4976334 0.001509768 -0.020783218 4.5463531 + 107140 19.391504 1.0114229 23.842624 6.0348862 4.5182576 1.5166286 0.0015377788 -0.021048378 4.5377682 + 107150 17.274398 1.0193988 23.596166 6.0613857 4.5327972 1.5285885 0.0017277512 -0.022246491 4.5533159 + 107160 19.627887 1.0077596 23.611501 6.0488446 4.5377091 1.5111355 0.0017564264 -0.02228714 4.5582399 + 107170 19.472143 1.0038659 23.76789 6.0332742 4.5279772 1.5052969 0.001704806 -0.021653895 4.5479263 + 107180 19.407869 0.99136045 23.501198 6.0255665 4.5390215 1.486545 0.0016630042 -0.021554882 4.5589133 + 107190 19.670988 1.0121883 23.76019 6.0517366 4.5339602 1.5177764 0.0016502531 -0.022022856 4.5543328 + 107200 17.604472 1.0095213 23.838103 6.0366085 4.5228314 1.5137771 0.0017294948 -0.022226483 4.5433284 + 107210 19.516535 0.99808503 23.635727 6.007344 4.5107155 1.4966285 0.0016864918 -0.021255407 4.5302844 + 107220 19.464111 0.97180133 23.852765 5.9817122 4.5244961 1.4572161 0.0015871495 -0.020823373 4.5437323 + 107230 19.301447 0.98861204 23.56749 6.0144211 4.5319973 1.4824238 0.0016816761 -0.021227963 4.5515436 + 107240 19.505331 0.97923926 23.593723 6.0008827 4.5325134 1.4683693 0.0017376866 -0.021580407 4.5523561 + 107250 17.579307 0.97435102 23.701204 5.9988114 4.537772 1.4610393 0.0019822784 -0.022988236 4.558778 + 107260 19.753361 1.007503 23.787614 6.0300093 4.5192585 1.5107507 0.0021240696 -0.0238368 4.5409713 + 107270 19.349993 1.0091112 23.760203 6.0401671 4.5270048 1.5131622 0.0020784957 -0.02401641 4.5489428 + 107280 19.736435 1.0032746 23.805448 6.0377297 4.5333193 1.5044103 0.0020352475 -0.02420997 4.555494 + 107290 19.509151 1.0078202 23.70493 6.0391469 4.5279206 1.5112263 0.0020073728 -0.024081834 4.549995 + 107300 17.576921 1.0137446 23.885846 6.0366438 4.5165338 1.52011 0.0018319931 -0.022975987 4.5376778 + 107310 19.53722 1.0123279 23.649022 6.0405875 4.5226018 1.5179857 0.0020368544 -0.023813815 4.5443787 + 107320 19.459117 1.016853 23.452994 6.0636841 4.5389131 1.524771 0.0022468552 -0.024568579 4.5612348 + 107330 19.56931 0.99979496 23.937435 6.047942 4.5487494 1.4991925 0.0022470591 -0.024386719 4.5708891 + 107340 19.731588 1.0126641 23.728422 6.045331 4.5268412 1.5184898 0.002309687 -0.024507216 4.5490388 + 107350 17.450927 1.0006193 23.754213 6.0534548 4.5530261 1.5004287 0.0022561735 -0.024038591 4.5748085 + 107360 19.58975 1.0181604 23.878004 6.0593973 4.5326659 1.5267315 0.0020602246 -0.022815703 4.5534213 + 107370 19.512821 1.0136835 23.735887 6.050856 4.5308376 1.5200184 0.0022511215 -0.02310716 4.5516937 + 107380 19.555112 1.008316 23.585372 6.0607305 4.5487607 1.5119698 0.0022038726 -0.023104678 4.5696615 + 107390 19.319269 1.0281385 23.849779 6.0913598 4.549666 1.5416937 0.0022303804 -0.023181342 4.570617 + 107400 17.092132 1.031924 23.873533 6.0851338 4.5377637 1.5473701 0.0021566223 -0.022970194 4.5585773 + 107410 19.586999 1.0386942 23.836549 6.090802 4.53328 1.557522 0.0019481247 -0.022308366 4.5536403 + 107420 19.684698 1.0231053 23.750271 6.074914 4.5407676 1.5341464 0.0021603352 -0.02308588 4.5616932 + 107430 19.372914 1.0012456 23.654748 6.0731161 4.5717483 1.5013677 0.0021684869 -0.02349689 4.5930767 + 107440 19.569391 0.99520244 23.46717 6.0792131 4.586907 1.4923061 0.0021022347 -0.023415876 4.6082207 + 107450 17.361317 1.0274043 23.725889 6.0880059 4.5474132 1.5405927 0.0020866658 -0.023418358 4.5687449 + 107460 19.560651 1.0291476 23.583054 6.0718817 4.5286748 1.5432069 0.0021390597 -0.024050567 4.5505863 + 107470 19.687142 1.0088178 23.770164 6.0690487 4.5563264 1.5127223 0.0022754411 -0.024656978 4.5787079 + 107480 19.618056 1.006756 23.579968 6.0588902 4.5492597 1.5096306 0.0020392216 -0.023837345 4.5710578 + 107490 19.61262 1.0200354 23.782105 6.067599 4.538056 1.529543 0.0018219144 -0.022618795 4.5588528 + 107500 17.455244 1.0098249 23.585577 6.054986 4.5407536 1.5142324 0.001753752 -0.022444332 4.5614442 + 107510 19.373899 1.0165055 23.804078 6.0565629 4.5323128 1.5242501 0.0017006689 -0.021864308 4.5524765 + 107520 19.406174 1.0174692 23.785713 6.0410179 4.5153229 1.525695 0.0017837551 -0.022468215 4.5360073 + 107530 19.094302 1.0187912 23.514066 6.0783634 4.550686 1.5276774 0.00185853 -0.02301096 4.5718384 + 107540 19.286757 1.0218492 23.653263 6.0618382 4.5295753 1.5322629 0.0018455286 -0.022846426 4.5505762 + 107550 17.531988 1.0031682 23.688134 6.0543503 4.5500996 1.5042507 0.0017588791 -0.022473297 4.570814 + 107560 19.894661 1.0135302 23.523236 6.0577809 4.5379924 1.5197885 0.0015951752 -0.021260015 4.5576573 + 107570 19.783977 1.0087946 23.728542 6.0791143 4.5664268 1.5126874 0.0015755881 -0.020556923 4.5854082 + 107580 19.600789 1.0084669 23.730026 6.0458916 4.5336954 1.5121961 0.0015865663 -0.020769663 4.5528785 + 107590 19.664944 1.0091933 23.740033 6.0192649 4.5059796 1.5132853 0.0016677481 -0.020972455 4.5252843 + 107600 17.152371 1.0248516 23.776954 6.0539659 4.5172009 1.536765 0.0016500273 -0.020851928 4.5364028 + 107610 19.32722 1.0028403 23.833249 6.062274 4.5585149 1.5037591 0.0015836184 -0.020574542 4.5775058 + 107620 19.494005 1.0079711 24.05859 6.0663166 4.5548639 1.5114527 0.0015448288 -0.020531425 4.5738505 + 107630 19.669281 1.0224675 23.773824 6.0726746 4.5394846 1.53319 0.0015130169 -0.020737942 4.5587096 + 107640 19.68743 1.0381013 24.072297 6.0804047 4.5237719 1.5566329 0.0016994587 -0.021784643 4.543857 + 107650 17.118304 1.017709 23.820093 6.0802276 4.5541729 1.5260547 0.0017921767 -0.022869585 4.5752503 + 107660 19.495541 1.0198058 23.857648 6.0473433 4.5181445 1.5291987 0.0019541169 -0.02363569 4.5398261 + 107670 19.457911 1.009308 23.667177 6.0540318 4.5405746 1.5134573 0.0019968167 -0.023546352 4.5621241 + 107680 19.593463 0.99410962 23.646649 6.046078 4.5554106 1.4906674 0.0019943417 -0.023623137 4.5770394 + 107690 19.539325 1.0219116 23.50439 6.0717646 4.5394081 1.5323565 0.0021423664 -0.024024782 4.5612905 + 107700 17.503913 1.0104322 23.791144 6.0607293 4.5455863 1.515143 0.00214802 -0.024183048 4.5676214 + 107710 19.391867 1.0169994 23.592067 6.0549058 4.5299152 1.5249906 0.0020057565 -0.023697917 4.5516074 + 107720 19.354262 1.0272727 23.9007 6.0699877 4.5295923 1.5403954 0.001985938 -0.023589967 4.5511963 + 107730 19.401147 1.0135885 23.681891 6.0584659 4.53859 1.519876 0.0017436824 -0.022412684 4.559259 + 107740 18.518729 1.0074765 23.728786 6.020198 4.5094869 1.5107111 0.0016962424 -0.021967983 4.5297586 + 107750 15.234914 0.99676952 23.802935 6.0138638 4.5192079 1.4946559 0.0015823533 -0.021347754 4.5389733 + 107760 19.674487 1.0060224 23.3631 6.0360419 4.5275113 1.5085306 0.0015806443 -0.020977687 4.5469084 + 107770 19.503786 1.0051813 23.882164 6.0232809 4.5160116 1.5072694 0.0016518811 -0.020994795 4.5353545 + 107780 19.649066 0.98307228 23.488071 6.0117832 4.5376663 1.4741169 0.0017401693 -0.021108166 4.5570343 + 107790 19.515445 0.99753138 23.879024 6.0105727 4.5147744 1.4957983 0.0017718724 -0.021539667 4.5345422 + 107800 17.367498 0.99049005 23.705523 6.0187379 4.5334981 1.4852398 0.001818579 -0.021457038 4.5531365 + 107810 19.504884 0.99920467 23.556789 6.0314854 4.533178 1.4983074 0.0017016087 -0.021304626 4.552781 + 107820 19.712073 1.0117687 24.039718 6.0380703 4.5209232 1.5171472 0.001676681 -0.021015794 4.5402623 + 107830 19.593904 1.0173818 23.87365 6.0415181 4.5159542 1.5255639 0.0016861479 -0.021293618 4.5355616 + 107840 19.459549 1.0202077 23.557381 6.0422097 4.5124083 1.5298014 0.0017014037 -0.021614238 4.5323211 + 107850 17.379611 1.0073511 23.54394 6.0335599 4.523037 1.5105229 0.0017812365 -0.022316416 4.5435722 + 107860 19.409335 0.99773499 23.841022 6.0287208 4.5326172 1.4961036 0.0016945199 -0.021566931 4.5524896 + 107870 19.524815 0.98728663 23.618636 5.9986242 4.5181879 1.4804363 0.0015288872 -0.020802985 4.537462 + 107880 19.498337 1.010048 23.551902 6.0000732 4.4855063 1.5145669 0.0014632806 -0.020586647 4.5046297 + 107890 19.545455 0.99916157 24.04027 6.0322842 4.5340414 1.4982428 0.0014771512 -0.020591716 4.553156 + 107900 17.406545 1.0237007 23.578783 6.0797802 4.544741 1.5350393 0.0018216766 -0.021939339 4.5648586 + 107910 19.587202 1.0431545 24.022005 6.1023641 4.5381538 1.5642102 0.002133654 -0.023266672 4.5592868 + 107920 19.592344 1.0248059 23.732522 6.0892997 4.5526032 1.5366965 0.002147065 -0.023733998 4.5741902 + 107930 19.653942 1.0303212 23.804796 6.0675156 4.522549 1.5449666 0.0020416973 -0.023509315 4.5440166 + 107940 19.719829 1.028412 23.626578 6.0837212 4.5416173 1.5421039 0.0019915593 -0.023167694 4.5627934 + 107950 17.131152 1.0318334 23.657801 6.0943627 4.5471285 1.5472343 0.0017876535 -0.022277636 4.5676185 + 107960 19.19417 1.0303821 23.910139 6.0731496 4.5280915 1.545058 0.0017810416 -0.022270156 4.5485807 + 107970 19.203852 1.0142688 23.78051 6.0488651 4.5279691 1.520896 0.0017340415 -0.021858064 4.5480931 + 107980 19.371246 0.99689573 24.002773 6.0482911 4.553446 1.4948452 0.0016933314 -0.021458483 4.5732111 + 107990 19.456068 1.0114335 23.813247 6.0649364 4.5482918 1.5166446 0.0016648942 -0.02114596 4.5677729 + 108000 17.315514 1.0248404 24.318919 6.0778243 4.5410761 1.5367481 0.0015750113 -0.020807496 4.5603086 + 108010 19.559047 1.0100926 23.577413 6.0885288 4.573895 1.5146338 0.001358591 -0.019890351 4.5924268 + 108020 19.72412 1.0104523 23.74385 6.0635467 4.5483735 1.5151732 0.0012140475 -0.019372909 4.5665323 + 108030 19.598279 1.0477972 23.864211 6.0842975 4.5131256 1.5711719 0.0012863341 -0.019629311 4.5314686 + 108040 19.531358 1.0172885 23.830221 6.0674348 4.5420107 1.5254241 0.0013661329 -0.019820858 4.5604654 + 108050 17.198761 1.0170362 23.59234 6.0682059 4.5431601 1.5250458 0.0013794474 -0.019581594 4.5613622 + 108060 19.57273 1.028557 23.764273 6.0543565 4.5120353 1.5423212 0.0012376266 -0.018578526 4.5293762 + 108070 19.545761 0.99787711 23.547371 6.0745845 4.5782677 1.4963167 0.0012889354 -0.018689832 4.5956686 + 108080 19.786973 1.0266146 23.824567 6.0850375 4.5456288 1.5394086 0.0013745228 -0.018994397 4.5632487 + 108090 19.598402 1.007902 23.831138 6.0689802 4.5576312 1.511349 0.0012596284 -0.018892943 4.5752645 + 108100 17.398721 1.0165318 23.641735 6.0497378 4.5254483 1.5242895 0.001183819 -0.018711279 4.5429758 + 108110 19.804995 0.9930219 23.520433 6.031025 4.5419886 1.4890363 0.0012990913 -0.019314728 4.5600043 + 108120 19.576121 0.97492086 23.494197 6.009339 4.5474451 1.4618938 0.0013997457 -0.020157735 4.5662031 + 108130 19.744165 0.98025275 23.663087 5.9883555 4.5184665 1.469889 0.0013384745 -0.019715939 4.536844 + 108140 19.531685 1.0022024 23.383467 6.0125436 4.509741 1.5028025 0.0013335713 -0.019804331 4.5282118 + 108150 17.198875 0.99173766 23.676484 6.0389775 4.5518669 1.4871106 0.0013241301 -0.019768586 4.5703113 + 108160 19.748622 0.99997155 23.520914 6.035659 4.5362017 1.4994573 0.0011567164 -0.019153634 4.5541986 + 108170 19.884014 1.0237135 23.591258 6.0428379 4.5077795 1.5350584 0.0011522796 -0.01875294 4.5253802 + 108180 19.379706 1.0112385 23.6592 6.0606611 4.544309 1.5163521 0.0011429077 -0.018537323 4.5617034 + 108190 19.604939 1.0197322 23.825018 6.0699273 4.5408389 1.5290884 0.0010097322 -0.017979629 4.5578088 + 108200 17.403581 1.0346737 23.632255 6.0821544 4.5306612 1.5514932 0.0010316837 -0.018207931 4.5478374 + 108210 19.574027 1.0144202 23.634958 6.0609808 4.5398578 1.521123 0.0011153907 -0.019410117 4.5581525 + 108220 19.387558 1.0088793 23.527105 6.0460463 4.5332317 1.5128146 0.0010828586 -0.0195809 4.5517298 + 108230 19.567706 1.0366474 23.668864 6.0880172 4.5335644 1.5544528 0.0012786056 -0.020585234 4.5528711 + 108240 19.81564 1.0079651 23.609521 6.0643451 4.5529014 1.5114436 0.0016468988 -0.022051248 4.5733058 + 108250 17.336972 1.0028711 23.642884 6.0501418 4.5463366 1.5038052 0.0017344356 -0.022267247 4.5668694 + 108260 19.545016 1.0225674 23.760526 6.0623702 4.5290304 1.5333397 0.0017095736 -0.021741927 4.5490628 + 108270 19.540226 1.0118937 23.678663 6.052955 4.5356203 1.5173346 0.0018205185 -0.022156348 4.5559562 + 108280 19.555685 1.0100483 23.559672 6.0732807 4.5587133 1.5145674 0.0019195899 -0.022710534 4.5795043 + 108290 19.47474 1.024267 23.703489 6.0806297 4.5447413 1.5358884 0.0018158405 -0.022470307 4.5653958 + 108300 17.631036 1.0172676 23.582454 6.0733329 4.5479402 1.5253927 0.0017738602 -0.021867376 4.5680337 + 108310 19.407132 1.0099008 23.745106 6.050857 4.5365108 1.5143462 0.0018096708 -0.021645999 4.5563471 + 108320 19.437198 1.0213797 23.771159 6.0610914 4.5295326 1.5315589 0.0018789408 -0.021896789 4.5495504 + 108330 19.54336 1.0233831 23.709119 6.0735495 4.5389866 1.5345629 0.0019596412 -0.022666849 4.5596938 + 108340 19.217955 1.0277816 23.743149 6.0845442 4.5433857 1.5411585 0.0019459105 -0.022764754 4.5642046 + 108350 17.37057 1.0298291 24.220674 6.0941942 4.5499655 1.5442287 0.0018330199 -0.022376592 4.570509 + 108360 19.382112 1.0101601 23.891488 6.097608 4.5828728 1.5147351 0.0017585259 -0.02190632 4.6030206 + 108370 19.63657 1.0485224 23.977966 6.1219739 4.5497146 1.5722593 0.0015503483 -0.020828414 4.5689927 + 108380 19.547335 1.0557591 23.750278 6.1280127 4.5449019 1.5831108 0.0014485448 -0.019975905 4.5634293 + 108390 19.721012 1.0535974 23.647306 6.1442106 4.5643414 1.5798693 0.0014759345 -0.020374507 4.5832399 + 108400 17.563236 1.0420981 23.915015 6.1387108 4.5760846 1.5626261 0.0016128946 -0.020950486 4.5954222 + 108410 19.730751 1.0389328 23.615897 6.1178649 4.5599851 1.5578798 0.001874795 -0.021800255 4.5799106 + 108420 19.714762 1.039886 23.68239 6.1265768 4.5672678 1.559309 0.0019641735 -0.022029203 4.5873328 + 108430 19.691704 1.0191871 23.738952 6.0992262 4.5709552 1.5282711 0.0020742552 -0.022999891 4.5918808 + 108440 19.54553 1.0142757 23.546192 6.0593803 4.5384739 1.5209064 0.0021626193 -0.023686959 4.5599983 + 108450 17.323562 1.0062185 23.846714 6.0322808 4.5234561 1.5088247 0.0021372906 -0.023176489 4.5444953 + 108460 19.725834 1.0110765 23.760656 6.0425543 4.5264451 1.5161092 0.0021196728 -0.022944737 4.5472702 + 108470 19.456229 1.0224152 23.763226 6.0494932 4.5163816 1.5331115 0.0019891122 -0.022435787 4.5368283 + 108480 19.715905 1.0281835 23.467505 6.0827702 4.541009 1.5417612 0.001828382 -0.021971014 4.5611516 + 108490 19.721068 1.0299643 23.545067 6.0912888 4.5468574 1.5444314 0.0016670077 -0.021374727 4.5665651 + 108500 17.140439 1.0254662 23.679825 6.1026747 4.5649882 1.5376865 0.001245723 -0.019454978 4.5831974 + 108510 19.561837 1.0267299 23.434792 6.0977875 4.558206 1.5395815 0.0012360682 -0.019096079 4.576066 + 108520 19.322783 1.0480658 23.88716 6.1009917 4.5294171 1.5715746 0.0013460563 -0.019617935 4.547689 + 108530 19.445687 1.0329062 23.585391 6.0981522 4.5493094 1.5488428 0.0013859577 -0.019878915 4.5678023 + 108540 19.436974 1.023919 23.793733 6.0886598 4.5532933 1.5353665 0.0014492944 -0.020320772 4.5721647 + 108550 17.496463 1.0300981 23.862948 6.0672411 4.522609 1.5446321 0.0016078664 -0.020833543 4.5418347 + 108560 19.647954 1.0277383 24.024247 6.0904715 4.5493779 1.5410936 0.0015481675 -0.020567739 4.5683975 + 108570 19.558019 1.0163035 23.692217 6.1023087 4.5783616 1.5239471 0.0017558484 -0.021838759 4.5984445 + 108580 19.52338 1.0352474 23.648489 6.1000397 4.5476862 1.5523535 0.0019284558 -0.022614042 4.5683717 + 108590 19.353932 1.0179045 23.769495 6.0693887 4.5430409 1.5263478 0.0021423839 -0.02346202 4.5643605 + 108600 17.155075 1.0202416 23.946547 6.0723552 4.542503 1.5298522 0.0020566439 -0.022856854 4.5633032 + 108610 19.443471 1.021533 23.681236 6.0462357 4.5144469 1.5317888 0.0018488498 -0.022383639 4.5349817 + 108620 19.393054 1.0155595 23.744082 6.0642221 4.5413905 1.5228315 0.0017247614 -0.021521484 4.5611873 + 108630 19.379071 1.0323845 23.861018 6.075604 4.5275435 1.5480605 0.001557635 -0.020896613 4.5468825 + 108640 19.581948 1.0139707 23.515067 6.0600968 4.5396478 1.520449 0.0014300997 -0.020462436 4.5586801 + 108650 17.498552 1.0070043 23.478164 6.0544295 4.5444265 1.510003 0.0015312241 -0.020939568 4.5638348 + 108660 19.596691 1.0154757 23.698864 6.046587 4.5238812 1.5227058 0.0014484607 -0.020399184 4.5428319 + 108670 19.753349 1.0162596 23.624847 6.0645065 4.5406252 1.5238812 0.0014030493 -0.019829368 4.5590516 + 108680 19.732657 1.0078147 23.866591 6.0396332 4.528415 1.5112182 0.0013091783 -0.019266782 4.5463726 + 108690 19.682873 1.0088232 23.751135 6.0486239 4.5358935 1.5127304 0.0014440498 -0.019710307 4.5541597 + 108700 17.495237 1.0137437 23.983403 6.0446592 4.5245506 1.5201086 0.0012992737 -0.018943421 4.5421947 + 108710 19.51386 0.99409985 23.739359 6.054332 4.5636793 1.4906527 0.0012745537 -0.018969626 4.5813744 + 108720 19.636633 1.0386186 23.746612 6.0895163 4.5321076 1.5574087 0.0013765805 -0.019998237 4.5507293 + 108730 19.720978 1.0191923 23.667792 6.0855284 4.5572495 1.5282788 0.0013971116 -0.020237824 4.5760902 + 108740 19.762183 1.0088608 23.651389 6.0861749 4.5733881 1.5127867 0.0013160512 -0.020359872 4.592432 + 108750 17.349858 1.025833 23.52833 6.0534577 4.5152211 1.5382367 0.0012977144 -0.020203351 4.5341267 + 108760 19.556501 1.0219749 23.634177 6.0672741 4.5348227 1.5324513 0.0012212924 -0.020024883 4.5536263 + 108770 19.499573 1.0300467 23.917228 6.0567169 4.5121619 1.544555 0.0012109301 -0.019959989 4.530911 + 108780 19.609645 1.0133548 23.718032 6.0540708 4.5345453 1.5195255 0.0012619293 -0.020168412 4.5534518 + 108790 19.457771 1.0101094 23.693992 6.0566723 4.5420132 1.514659 0.0014970276 -0.021077886 4.5615941 + 108800 17.369597 1.0046817 23.950449 6.0380453 4.531525 1.5065203 0.0016459651 -0.021377833 4.5512569 + 108810 19.617013 1.0094439 23.45902 6.0246036 4.5109426 1.5136611 0.0018608346 -0.022321525 4.5314033 + 108820 19.693771 0.99117495 23.499757 6.0128907 4.5266238 1.4862668 0.0021911388 -0.02420529 4.548638 + 108830 19.340082 1.0189418 23.987085 6.0491616 4.5212583 1.5279033 0.0022306165 -0.024556692 4.5435843 + 108840 19.590152 1.0268491 23.79258 6.058041 4.5182809 1.5397602 0.0022380728 -0.024546174 4.540589 + 108850 17.578972 1.0126152 24.112745 6.0532051 4.5347886 1.5184165 0.0023332749 -0.024953764 4.5574091 + 108860 19.729711 1.0139193 23.585569 6.0555177 4.5351457 1.520372 0.0021995493 -0.024313024 4.5572592 + 108870 19.543025 1.0123805 23.82233 6.0312351 4.5131705 1.5180645 0.0020206607 -0.023300952 4.5344508 + 108880 19.442389 1.0077543 23.766277 6.0436029 4.5324753 1.5111276 0.0018866977 -0.022260248 4.5528489 + 108890 19.55859 1.0083484 23.55192 6.0418842 4.5298657 1.5120184 0.0018978888 -0.021917629 4.5498854 + 108900 17.355396 1.003102 23.553831 6.0435192 4.5393677 1.5041515 0.0019489909 -0.022208533 4.5596273 + 108910 19.330039 1.0057944 23.571838 6.0394587 4.53127 1.5081887 0.0021549077 -0.022894072 4.5520091 + 108920 19.38233 1.0035883 23.512976 6.0247267 4.5198461 1.5048806 0.0021267871 -0.022594181 4.5403135 + 108930 19.013071 1.0119551 23.601139 6.046445 4.5290183 1.5174267 0.0019769044 -0.021997104 4.5490385 + 108940 19.402898 0.98703288 23.592265 6.0241737 4.5441179 1.4800558 0.0018815994 -0.021383407 4.5636197 + 108950 17.228279 1.0116266 23.873713 6.0345302 4.5175962 1.516934 0.0018900156 -0.021530683 4.5372369 + 108960 19.532868 1.0137482 23.666067 6.0439996 4.5238842 1.5201154 0.0019714197 -0.021923592 4.5438364 + 108970 19.602646 1.0262359 23.627481 6.059935 4.5210942 1.5388407 0.0021946248 -0.02303725 4.5419369 + 108980 19.331607 1.0210695 23.911731 6.0503162 4.5192226 1.5310937 0.0022355315 -0.023591025 4.5405781 + 108990 19.512434 1.0164306 23.624151 6.0650671 4.5409294 1.5241377 0.0022044552 -0.023348396 4.5620733 + 109000 17.464884 1.0076453 23.317095 6.0632055 4.5522413 1.5109642 0.002110393 -0.022980788 4.5731117 + 109010 19.701381 1.0120232 23.957566 6.0662503 4.5487215 1.5175288 0.0021228069 -0.022859291 4.569458 + 109020 19.76062 1.0127543 23.554097 6.0591117 4.5404866 1.5186251 0.0021382507 -0.022854384 4.5612028 + 109030 19.459414 1.0208129 23.902877 6.0619748 4.5312659 1.5307089 0.0019925483 -0.022414509 4.5516879 + 109040 19.780789 0.99724506 23.623369 6.028937 4.5335681 1.495369 0.0017747071 -0.021807726 4.5536011 + 109050 17.383174 1.0047037 24.008114 6.0458432 4.5392901 1.5065531 0.0015028882 -0.020825791 4.558613 + 109060 19.524299 0.99010652 23.542304 6.0295431 4.5448784 1.4846647 0.0014566867 -0.020296054 4.5637178 + 109070 19.785864 1.0006024 23.536147 6.0252576 4.5248543 1.5004033 0.0014875573 -0.020439743 4.5438065 + 109080 19.62013 1.0095711 23.661169 6.0246705 4.5108187 1.5138518 0.0015021045 -0.020418379 4.5297349 + 109090 19.694543 1.0077367 23.65646 6.0464006 4.5352994 1.5111012 0.0014832664 -0.020111181 4.5539273 + 109100 17.334988 1.0075309 23.410504 6.0562612 4.5454685 1.5107926 0.0013264549 -0.019193242 4.5633353 + 109110 19.432625 1.0124247 23.41613 6.0798535 4.5617227 1.5181308 0.0013699507 -0.019343586 4.5796963 + 109120 19.561848 1.026341 23.871217 6.0638173 4.5248189 1.5389984 0.0017271858 -0.021608841 4.5447005 + 109130 19.253373 1.0273117 23.623925 6.0953083 4.5548544 1.5404539 0.0017878215 -0.022436746 4.5755033 + 109140 19.175051 1.0231802 23.793673 6.0672277 4.5329689 1.5342587 0.0017510216 -0.022338798 4.5535567 + 109150 17.568728 1.0424857 23.803212 6.0822224 4.5190151 1.5632073 0.001878025 -0.022504542 4.5396416 + 109160 19.625397 1.0182323 23.530178 6.0729757 4.5461365 1.5268393 0.0021539632 -0.023658778 4.5676413 + 109170 19.459592 1.0152538 23.725531 6.0431553 4.5207823 1.522373 0.0021144204 -0.023374996 4.5420429 + 109180 19.508428 1.0002775 23.587365 6.0272989 4.5273828 1.499916 0.0020958032 -0.02346714 4.5487542 + 109190 19.378122 0.99859295 23.550684 6.0308501 4.53346 1.4973901 0.0020485706 -0.022990489 4.5544019 + 109200 17.54326 1.0083843 23.7539 6.0627071 4.5506349 1.5120722 0.001892068 -0.02276095 4.5715037 + 109210 19.656923 1.0051106 23.843521 6.0516193 4.5444559 1.5071634 0.0018212997 -0.022326028 4.5649606 + 109220 19.551894 1.0194241 23.614218 6.0726118 4.5439853 1.5286265 0.0019061421 -0.022398104 4.5644773 + 109230 19.648575 1.0114375 23.7218 6.0572997 4.5406491 1.5166506 0.0017523894 -0.021643295 4.56054 + 109240 19.675301 1.0098953 23.818406 6.0737535 4.5594155 1.514338 0.0018060938 -0.022281661 4.579891 + 109250 17.34761 1.0327426 23.627177 6.0966931 4.5480956 1.5485975 0.0018437377 -0.022730795 4.5689826 + 109260 19.59703 1.0322153 23.86119 6.1012305 4.5534236 1.5478069 0.0016656626 -0.02210372 4.5738617 + 109270 19.543829 1.0363377 23.792717 6.0973283 4.54334 1.5539883 0.0015527336 -0.021532177 4.5633194 + 109280 19.799441 1.03363 23.455318 6.0972476 4.5473194 1.5499281 0.0016503791 -0.022269257 4.5679383 + 109290 19.782561 1.0232651 23.933803 6.1016623 4.5672762 1.5343861 0.0017401707 -0.022689522 4.5882256 + 109300 17.264384 1.0141626 23.684973 6.0732865 4.5525497 1.5207368 0.0016914649 -0.022464198 4.5733224 + 109310 19.775557 1.0137244 23.542253 6.0692924 4.5492127 1.5200797 0.001917747 -0.023190324 4.5704853 + 109320 19.74266 1.0052451 23.833385 6.0484323 4.5410673 1.507365 0.0019988399 -0.023596037 4.5626645 + 109330 19.804503 1.0143287 23.79748 6.0520297 4.5310438 1.5209859 0.0019122399 -0.023084129 4.5522157 + 109340 19.79391 1.0238752 23.856976 6.0799375 4.5446366 1.5353009 0.0016839173 -0.02232507 4.5652777 + 109350 17.536692 1.0345892 23.786877 6.0627093 4.5113428 1.5513665 0.0013761394 -0.020919653 4.5308863 + 109360 19.692736 1.0088422 23.700429 6.0549803 4.5422214 1.5127589 0.0012873364 -0.020418387 4.5613524 + 109370 19.473835 1.028856 23.604675 6.0840439 4.5412743 1.5427696 0.0013387151 -0.020306388 4.560242 + 109380 19.495974 1.0448885 23.363523 6.0941381 4.5273277 1.5668104 0.0012906668 -0.020037907 4.546075 + 109390 19.680202 1.0173206 23.586101 6.0817117 4.5562394 1.5254723 0.0014257434 -0.020378487 4.5751922 + 109400 17.445333 1.0362417 23.75722 6.093819 4.5399746 1.5538444 0.0016812449 -0.021207188 4.5595006 + 109410 19.040206 1.0104955 23.577009 6.0480558 4.5328178 1.515238 0.0017356218 -0.021635171 4.5527174 + 109420 19.181956 1.0137976 23.962729 6.0512367 4.5310473 1.5201895 0.0018000798 -0.02211504 4.5513622 + 109430 19.587181 1.0017795 23.702462 6.0418045 4.5396361 1.5021683 0.0017454712 -0.021743865 4.5596345 + 109440 19.504302 0.99972003 23.952479 6.0594888 4.5604086 1.4990802 0.0015581611 -0.020905891 4.5797564 + 109450 17.290454 1.0028194 23.950908 6.0151053 4.5113776 1.5037277 0.001585161 -0.020879292 4.5306717 + 109460 19.271733 1.0073248 23.713776 6.0297217 4.5192381 1.5104835 0.0017282836 -0.021881135 4.539391 + 109470 19.396197 1.0016148 23.665637 6.0373902 4.5354688 1.5019215 0.0019531133 -0.023079673 4.5565953 + 109480 19.641451 1.0234069 23.775386 6.0407093 4.5061106 1.5345987 0.0017825512 -0.022769355 4.5270974 + 109490 19.737967 1.0123566 23.925904 6.0470347 4.5290061 1.5180287 0.00167673 -0.022241628 4.549571 + 109500 17.560178 0.998362 23.686736 6.0419699 4.5449261 1.4970438 0.0017176394 -0.022204443 4.5654129 + 109510 19.328696 0.98172678 23.718311 6.0184567 4.5463574 1.4720993 0.001751661 -0.022061119 4.5666669 + 109520 19.013913 0.99256722 23.708563 6.0286829 4.5403284 1.4883545 0.0017136645 -0.022045643 4.5606603 + 109530 19.400702 1.0052482 23.662992 6.0103495 4.5029798 1.5073697 0.0016765418 -0.021708201 4.5230115 + 109540 19.587599 0.9949178 23.658644 6.0178758 4.5259966 1.4918792 0.0014665803 -0.020458911 4.5449889 + 109550 17.458784 0.99545982 24.006434 5.9920451 4.4993531 1.492692 0.0013800897 -0.020561669 4.5185347 + 109560 19.521276 1.0045066 23.918562 6.0258228 4.5195652 1.5062576 0.0014499499 -0.02075921 4.5388745 + 109570 19.793408 1.0180256 23.687822 6.0474269 4.5208975 1.5265293 0.0014356918 -0.020431775 4.5398936 + 109580 19.719067 1.0089688 23.845968 6.043872 4.5309233 1.5129487 0.0014331319 -0.020837594 4.5503277 + 109590 19.561411 1.0194691 23.671897 6.0655175 4.5368236 1.5286939 0.0015637555 -0.0212939 4.5565538 + 109600 17.446102 1.0080593 23.877667 6.0562972 4.5447123 1.5115849 0.001676641 -0.02157176 4.5646075 + 109610 19.568013 1.0236868 23.708216 6.0707946 4.5357763 1.5350183 0.0016977584 -0.0218993 4.5559779 + 109620 19.656028 1.0084895 23.742655 6.0499711 4.537741 1.5122301 0.0017462981 -0.022365059 4.5583598 + 109630 19.621037 1.0143142 23.675243 6.0421556 4.5211914 1.5209642 0.0016644826 -0.021793118 4.5413201 + 109640 19.262851 1.0052254 23.920615 6.0383251 4.5309895 1.5073355 0.0015170732 -0.021101625 4.5505741 + 109650 17.158296 1.0155648 23.829396 6.0382813 4.5154419 1.5228394 0.0017331192 -0.021734944 4.5354438 + 109660 19.711846 1.0090223 24.05423 6.0488129 4.535784 1.5130289 0.0017222802 -0.021555798 4.5556175 + 109670 19.74784 0.99655896 23.804934 6.0335562 4.539216 1.4943402 0.0017190235 -0.021466221 4.5589632 + 109680 19.574183 0.99740736 23.599282 5.9984646 4.5028522 1.4956123 0.0018649308 -0.021771424 4.5227587 + 109690 19.638075 0.97775736 23.725215 5.9827661 4.516619 1.4661472 0.0018200342 -0.021622598 4.5364215 + 109700 17.332946 0.98981199 23.758932 6.0026189 4.5183958 1.4842231 0.0017795888 -0.021496986 4.5381132 + 109710 19.573693 0.98966616 23.61776 5.9897084 4.505704 1.4840044 0.0018874145 -0.022024084 4.5258407 + 109720 19.510379 0.98615591 23.741843 5.9979786 4.5192378 1.4787408 0.0016378566 -0.02128464 4.5388846 + 109730 19.127755 0.97606903 23.694643 5.9898015 4.526186 1.4636155 0.0013376929 -0.020068606 4.5449169 + 109740 19.503239 1.0046749 24.06383 6.0009579 4.4944479 1.50651 0.0011737535 -0.018833878 4.512108 + 109750 17.302852 0.98077948 23.889579 5.9832182 4.5125393 1.4706788 0.0010665859 -0.018210975 4.5296837 + 109760 19.302984 0.99034123 23.712324 6.001201 4.5161843 1.4850167 0.0012624438 -0.019440837 4.5343627 + 109770 19.450835 0.9980853 23.734459 5.9987679 4.502139 1.4966289 0.0014177345 -0.02005152 4.5207728 + 109780 19.521713 1.0029463 23.76402 6.0294826 4.5255647 1.503918 0.0014697234 -0.020014647 4.5441096 + 109790 19.397151 1.0156657 23.86267 6.0438487 4.5208579 1.5229908 0.0015103783 -0.020328479 4.539676 + 109800 17.499645 1.0157693 23.770817 6.0519334 4.5287874 1.523146 0.0015037254 -0.020191705 4.5474754 + 109810 19.756196 1.0250417 23.72677 6.0793014 4.5422514 1.53705 0.001468554 -0.01978624 4.5605691 + 109820 19.654902 1.0390618 23.965474 6.0785627 4.5204896 1.5580731 0.0013013566 -0.019608795 4.538797 + 109830 19.649625 1.0206497 23.652616 6.0677503 4.5372861 1.5304642 0.00128314 -0.019596268 4.5555992 + 109840 19.714351 1.0142587 23.734763 6.0498431 4.5289622 1.5208809 0.0014873563 -0.021111183 4.548586 + 109850 17.274679 1.00297 23.556066 6.0432362 4.5392827 1.5039535 0.0016429132 -0.02185095 4.5594908 + 109860 19.661368 1.0097925 23.720189 6.0353582 4.5211744 1.5141838 0.001579574 -0.020965092 4.5405599 + 109870 19.602927 1.0148735 23.327771 6.031846 4.5100433 1.5218027 0.001410087 -0.020138408 4.5287716 + 109880 19.503178 1.0165581 23.718826 6.0387698 4.5144409 1.5243289 0.0015696451 -0.020702431 4.5335737 + 109890 19.792094 1.0039223 23.542534 6.0218956 4.5165141 1.5053815 0.001756241 -0.021501782 4.5362596 + 109900 17.204613 0.97978181 23.734286 6.0081716 4.5389888 1.4691828 0.0018183453 -0.021933883 4.5591043 + 109910 19.112287 1.0153103 23.651999 6.0538622 4.5314045 1.5224578 0.0018962317 -0.022797162 4.5523054 + 109920 19.395097 1.0340971 23.776639 6.0779379 4.5273092 1.5506287 0.0018793498 -0.022933501 4.5483634 + 109930 19.488394 1.0277157 23.948518 6.0611576 4.520098 1.5410596 0.0018678198 -0.023037619 4.5412678 + 109940 19.578822 1.020977 23.723486 6.0685162 4.5375611 1.530955 0.0017648225 -0.022320436 4.5581168 + 109950 17.452493 1.0160453 23.790701 6.0685 4.5449401 1.5235599 0.001449306 -0.020621341 4.5641121 + 109960 19.674913 1.0075557 23.731245 6.0579629 4.5471331 1.5108297 0.0014293254 -0.020743636 4.5664475 + 109970 19.715002 1.0224029 23.892133 6.0637008 4.5306076 1.5330932 0.0014657369 -0.02115211 4.550294 + 109980 19.02083 1.0144547 23.631891 6.0520466 4.5308718 1.5211748 0.0014891567 -0.021133485 4.5505161 + 109990 19.186055 1.0102697 23.942081 6.0545916 4.5396922 1.5148995 0.0016368168 -0.0217256 4.5597809 + 110000 17.635277 0.99508236 23.495257 6.0282044 4.5360784 1.492126 0.0016780979 -0.021861709 4.556262 +Loop time of 525.071 on 16 procs for 10000 steps with 3000 atoms + +Performance: 32909.810 tau/day, 19.045 timesteps/s +99.6% CPU use with 16 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 77.195 | 77.454 | 77.948 | 2.2 | 14.75 +Kspace | 316.71 | 319.8 | 322.73 | 9.7 | 60.91 +Neigh | 91.009 | 91.602 | 93.194 | 5.6 | 17.45 +Comm | 21.181 | 23.262 | 25.834 | 30.5 | 4.43 +Output | 0.046175 | 0.04717 | 0.054478 | 0.9 | 0.01 +Modify | 12.64 | 12.643 | 12.651 | 0.1 | 2.41 +Other | | 0.2675 | | | 0.05 + +Nlocal: 187.5 ave 193 max 176 min +Histogram: 1 0 1 0 0 3 3 1 4 3 +Nghost: 8250 ave 8306 max 8195 min +Histogram: 3 1 0 1 2 3 2 1 1 2 +Neighs: 147148 ave 152801 max 137611 min +Histogram: 1 0 1 0 1 3 2 6 1 1 + +Total # of neighbors = 2354367 +Ave neighs/atom = 784.789 +Neighbor list builds = 10000 +Dangerous builds not checked +write_data data.after_production_run +Ewald initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:321) + G vector (1/distance) = 1.0262 + estimated absolute RMS force accuracy = 1.01103e-05 + estimated relative force accuracy = 1.01103e-05 + KSpace vectors: actual max1d max3d = 2787 11 6083 + kxmax kymax kzmax = 11 11 11 + +Total wall time: 1:31:15 diff --git a/examples/USER/misc/slater/tmp_1_1.rdf b/examples/USER/misc/slater/tmp_1_1.rdf new file mode 100644 index 0000000000000000000000000000000000000000..d04eca1fcf181d0401951ce206fdf32f7f6208f0 --- /dev/null +++ b/examples/USER/misc/slater/tmp_1_1.rdf @@ -0,0 +1,10254 @@ +# Time-averaged data for fix 11 +# TimeStep Number-of-rows +# Row c_RDF_1_1[1] c_RDF_1_1[2] c_RDF_1_1[3] +100000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.030405 0.00285307 +5 0.27 0.0829907 0.0156919 +6 0.33 0.163803 0.053495 +7 0.39 0.305606 0.151926 +8 0.45 0.477619 0.356633 +9 0.51 0.574157 0.672611 +10 0.57 0.816755 1.23395 +11 0.63 0.883674 1.97575 +12 0.69 0.988258 2.97076 +13 0.75 1.11539 4.29743 +14 0.81 1.14349 5.88374 +15 0.87 1.17401 7.76248 +16 0.93 1.10587 9.78459 +17 0.99 1.07232 12.0064 +18 1.05 0.986657 14.306 +19 1.11 0.983677 16.868 +20 1.17 0.946279 19.6063 +21 1.23 0.944773 22.6277 +22 1.29 0.952425 25.9779 +23 1.35 0.994267 29.8081 +24 1.41 1.00668 34.0385 +25 1.47 0.995995 38.5877 +26 1.53 0.998849 43.53 +27 1.59 1.01633 48.9608 +28 1.65 1.01913 54.8252 +29 1.71 1.02112 61.1362 +30 1.77 1.0107 67.8288 +31 1.83 0.980583 74.7696 +32 1.89 0.998013 82.3046 +33 1.95 0.995854 90.3081 +34 2.01 1.00052 98.8516 +35 2.07 0.997081 107.882 +36 2.13 0.998829 117.459 +37 2.19 0.996359 127.559 +38 2.25 0.994861 138.204 +39 2.31 1.00147 149.499 +40 2.37 1.00842 161.47 +41 2.43 1.01137 174.092 +42 2.49 1.0072 187.29 +43 2.55 0.990044 200.897 +44 2.61 1.00316 215.34 +45 2.67 0.99622 230.35 +46 2.73 0.99258 245.984 +47 2.79 0.999514 262.428 +48 2.85 0.995767 279.522 +49 2.91 0.994066 297.313 +50 2.97 0.998039 315.919 +100050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.06081 0.00570613 +5 0.27 0.101433 0.021398 +6 0.33 0.210162 0.0699001 +7 0.39 0.290104 0.163338 +8 0.45 0.407724 0.338088 +9 0.51 0.575453 0.654779 +10 0.57 0.807415 1.2097 +11 0.63 0.924459 1.98573 +12 0.69 1.05414 3.04708 +13 0.75 1.06921 4.31883 +14 0.81 1.13681 5.89586 +15 0.87 1.13434 7.71113 +16 0.93 1.12342 9.76534 +17 0.99 1.06956 11.9815 +18 1.05 1.0194 14.3573 +19 1.11 0.977378 16.903 +20 1.17 0.94825 19.6469 +21 1.23 0.96953 22.7475 +22 1.29 0.957291 26.1148 +23 1.35 0.957977 29.8053 +24 1.41 0.97562 33.9051 +25 1.47 1.00786 38.5086 +26 1.53 1.0098 43.505 +27 1.59 1.01259 48.9158 +28 1.65 1.0319 54.8538 +29 1.71 1.02135 61.1662 +30 1.77 0.996156 67.7625 +31 1.83 1.00376 74.8673 +32 1.89 0.993195 82.3659 +33 1.95 1.00748 90.4629 +34 2.01 0.990919 98.9244 +35 2.07 0.990229 107.892 +36 2.13 0.984473 117.332 +37 2.19 1.00522 127.522 +38 2.25 0.99806 138.201 +39 2.31 0.992615 149.396 +40 2.37 1.01173 161.407 +41 2.43 1.01377 174.058 +42 2.49 1.00622 187.244 +43 2.55 0.995753 200.929 +44 2.61 0.991471 215.203 +45 2.67 0.998492 230.248 +46 2.73 1.00743 246.116 +47 2.79 1.00142 262.591 +48 2.85 0.995226 279.676 +49 2.91 0.993069 297.449 +50 2.97 1.00401 316.167 +100100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.0456075 0.0064194 +5 0.27 0.106044 0.0228245 +6 0.33 0.176165 0.0634807 +7 0.39 0.272388 0.151213 +8 0.45 0.46597 0.350927 +9 0.51 0.624703 0.694722 +10 0.57 0.717126 1.18759 +11 0.63 0.898968 1.94223 +12 0.69 0.984716 2.93367 +13 0.75 1.14357 4.29387 +14 0.81 1.14195 5.87803 +15 0.87 1.17268 7.75464 +16 0.93 1.13981 9.8388 +17 0.99 1.04133 11.9964 +18 1.05 1.00073 14.3288 +19 1.11 0.96971 16.8545 +20 1.17 0.937651 19.5678 +21 1.23 0.939866 22.5735 +22 1.29 0.975338 26.0043 +23 1.35 0.970382 29.7425 +24 1.41 0.997516 33.9344 +25 1.47 1.02145 38.5999 +26 1.53 1.01326 43.6134 +27 1.59 1.01273 49.025 +28 1.65 1.01281 54.8531 +29 1.71 1.02458 61.1854 +30 1.77 1.0038 67.8324 +31 1.83 0.984311 74.7996 +32 1.89 0.993761 82.3024 +33 1.95 0.985027 90.219 +34 2.01 0.999689 98.7553 +35 2.07 1.00559 107.862 +36 2.13 1.00597 117.509 +37 2.19 0.999806 127.643 +38 2.25 1.00693 138.417 +39 2.31 1.00052 149.701 +40 2.37 0.99082 161.464 +41 2.43 1.00782 174.041 +42 2.49 1.00687 187.235 +43 2.55 0.998608 200.959 +44 2.61 0.98939 215.204 +45 2.67 1.00138 230.292 +46 2.73 0.994799 245.961 +47 2.79 0.999731 262.409 +48 2.85 1.00399 279.644 +49 2.91 1.00893 297.701 +50 2.97 0.999876 316.342 +100150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0152025 0.00142653 +5 0.27 0.106044 0.0178317 +6 0.33 0.191618 0.0620542 +7 0.39 0.285675 0.154066 +8 0.45 0.472627 0.356633 +9 0.51 0.619519 0.697575 +10 0.57 0.763827 1.22254 +11 0.63 0.875177 1.9572 +12 0.69 1.07469 3.03923 +13 0.75 1.07701 4.32026 +14 0.81 1.11573 5.86805 +15 0.87 1.16644 7.73466 +16 0.93 1.11484 9.77318 +17 0.99 1.09228 12.0364 +18 1.05 0.996756 14.3595 +19 1.11 0.972997 16.8937 +20 1.17 0.943074 19.6227 +21 1.23 0.929383 22.5949 +22 1.29 0.954452 25.9522 +23 1.35 0.990379 29.7675 +24 1.41 1.00227 33.9793 +25 1.47 1.01489 38.6148 +26 1.53 1.0222 43.6726 +27 1.59 1.01059 49.0728 +28 1.65 1.00909 54.8795 +29 1.71 1.01339 61.1427 +30 1.77 0.997557 67.7482 +31 1.83 1.00436 74.8573 +32 1.89 0.990833 82.3381 +33 1.95 0.990441 90.2981 +34 2.01 0.99451 98.7903 +35 2.07 1.00716 107.912 +36 2.13 0.981126 117.32 +37 2.19 0.998399 127.44 +38 2.25 1.00013 138.141 +39 2.31 1.00545 149.481 +40 2.37 1.01029 161.474 +41 2.43 1.00754 174.049 +42 2.49 0.995874 187.098 +43 2.55 1.00203 200.869 +44 2.61 0.988548 215.102 +45 2.67 0.99996 230.168 +46 2.73 0.996203 245.86 +47 2.79 1.00719 262.43 +48 2.85 1.00325 279.653 +49 2.91 0.993548 297.434 +50 2.97 1.00175 316.11 +100200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0380062 0.00356633 +5 0.27 0.101433 0.0192582 +6 0.33 0.145259 0.0527817 +7 0.39 0.323322 0.156919 +8 0.45 0.470962 0.358773 +9 0.51 0.59619 0.686876 +10 0.57 0.763827 1.21184 +11 0.63 0.897269 1.96505 +12 0.69 1.0173 2.9893 +13 0.75 1.0908 4.28673 +14 0.81 1.11933 5.83951 +15 0.87 1.1388 7.66191 +16 0.93 1.15268 9.76961 +17 0.99 1.07645 12 +18 1.05 1.02858 14.3973 +19 1.11 0.947802 16.8659 +20 1.17 0.953673 19.6255 +21 1.23 0.948787 22.6598 +22 1.29 0.9506 26.0036 +23 1.35 0.986861 29.8053 +24 1.41 0.990557 33.9679 +25 1.47 1.01052 38.5835 +26 1.53 1.00087 43.5357 +27 1.59 1.01166 48.9415 +28 1.65 1.0221 54.8231 +29 1.71 1.0195 61.1241 +30 1.77 1.0009 67.7518 +31 1.83 0.999729 74.8281 +32 1.89 0.990833 82.3088 +33 1.95 1.00145 90.3573 +34 2.01 1.00412 98.9315 +35 2.07 0.991725 107.913 +36 2.13 0.993994 117.444 +37 2.19 1.00128 127.594 +38 2.25 1.00099 138.305 +39 2.31 0.994133 149.516 +40 2.37 1.0065 161.465 +41 2.43 1.01308 174.108 +42 2.49 1.0036 187.26 +43 2.55 0.989577 200.859 +44 2.61 0.999447 215.249 +45 2.67 1.00493 230.39 +46 2.73 0.993486 246.039 +47 2.79 0.997216 262.445 +48 2.85 1.00121 279.633 +49 2.91 0.996337 297.464 +50 2.97 1.00749 316.247 +100250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0684112 0.00784593 +5 0.27 0.119875 0.0263909 +6 0.33 0.160712 0.0634807 +7 0.39 0.33218 0.170471 +8 0.45 0.462642 0.368759 +9 0.51 0.581933 0.689016 +10 0.57 0.744109 1.20043 +11 0.63 0.914262 1.9679 +12 0.69 1.0173 2.99215 +13 0.75 1.08061 4.27746 +14 0.81 1.15378 5.87803 +15 0.87 1.17178 7.75321 +16 0.93 1.1402 9.83809 +17 0.99 1.03617 11.985 +18 1.05 1.00104 14.3181 +19 1.11 0.963412 16.8274 +20 1.17 0.964272 19.6177 +21 1.23 0.949234 22.6534 +22 1.29 0.978988 26.097 +23 1.35 0.962976 29.8067 +24 1.41 0.996667 33.995 +25 1.47 1.01302 38.622 +26 1.53 0.984145 43.4914 +27 1.59 1.03088 49 +28 1.65 1.00649 54.7917 +29 1.71 1.02389 61.1198 +30 1.77 1.02115 67.8816 +31 1.83 0.998822 74.9515 +32 1.89 0.991116 82.4344 +33 1.95 0.992659 90.4123 +34 2.01 0.997517 98.9301 +35 2.07 0.990465 107.9 +36 2.13 0.999796 117.487 +37 2.19 0.986719 127.489 +38 2.25 1.00866 138.282 +39 2.31 1.01386 149.716 +40 2.37 1.00596 161.658 +41 2.43 0.996906 174.1 +42 2.49 1.00681 187.293 +43 2.55 0.994508 200.961 +44 2.61 0.989786 215.211 +45 2.67 0.99906 230.264 +46 2.73 1.00241 246.053 +47 2.79 1.00003 262.506 +48 2.85 1.00715 279.795 +49 2.91 1.00463 297.775 +50 2.97 0.997695 316.375 +100300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.0876012 0.0178317 +6 0.33 0.157621 0.0542083 +7 0.39 0.316679 0.156205 +8 0.45 0.447664 0.348074 +9 0.51 0.646736 0.703994 +10 0.57 0.750336 1.21969 +11 0.63 0.876026 1.95506 +12 0.69 1.00668 2.96862 +13 0.75 1.092 4.26748 +14 0.81 1.14144 5.85093 +15 0.87 1.14727 7.68688 +16 0.93 1.14566 9.78174 +17 0.99 1.07541 12.01 +18 1.05 0.99951 14.3395 +19 1.11 0.949993 16.8138 +20 1.17 0.94899 19.5599 +21 1.23 0.941204 22.5699 +22 1.29 0.977974 26.01 +23 1.35 0.983899 29.8003 +24 1.41 1.00991 34.0442 +25 1.47 1.01036 38.6591 +26 1.53 1.00865 43.6498 +27 1.59 1.0202 49.1013 +28 1.65 1.00066 54.8595 +29 1.71 1.00161 61.0499 +30 1.77 1.0037 67.6961 +31 1.83 0.998519 74.7639 +32 1.89 0.998769 82.3046 +33 1.95 0.989908 90.2603 +34 2.01 0.99994 98.7989 +35 2.07 0.997553 107.833 +36 2.13 0.999424 117.417 +37 2.19 1.01536 127.709 +38 2.25 1.00066 138.416 +39 2.31 0.992804 149.613 +40 2.37 0.995807 161.434 +41 2.43 1.00576 173.986 +42 2.49 0.997017 187.051 +43 2.55 1.00473 200.859 +44 2.61 0.998555 215.236 +45 2.67 0.997167 230.26 +46 2.73 0.999418 246.003 +47 2.79 1.00433 262.526 +48 2.85 0.998218 279.662 +49 2.91 1.00319 297.616 +50 2.97 0.993831 316.144 +100350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.0737695 0.0142653 +6 0.33 0.219434 0.0649073 +7 0.39 0.290104 0.158345 +8 0.45 0.429358 0.342368 +9 0.51 0.615631 0.68117 +10 0.57 0.804302 1.23395 +11 0.63 0.876876 1.97004 +12 0.69 1.01022 2.98716 +13 0.75 1.095 4.28959 +14 0.81 1.14401 5.8766 +15 0.87 1.1388 7.699 +16 0.93 1.14332 9.78959 +17 0.99 1.08884 12.0456 +18 1.05 0.991247 14.3559 +19 1.11 0.949445 16.8288 +20 1.17 0.941595 19.5535 +21 1.23 0.938528 22.5549 +22 1.29 0.975541 25.9864 +23 1.35 0.986861 29.7882 +24 1.41 0.989878 33.9479 +25 1.47 1.01489 38.5835 +26 1.53 1.01672 43.6141 +27 1.59 1.00085 48.9622 +28 1.65 1.00574 54.7496 +29 1.71 1.01685 61.0342 +30 1.77 1.00941 67.7183 +31 1.83 1.00648 74.8424 +32 1.89 0.987148 82.2953 +33 1.95 0.988488 90.2397 +34 2.01 0.994343 98.7304 +35 2.07 1.007 107.85 +36 2.13 0.999945 117.439 +37 2.19 1.00522 127.628 +38 2.25 0.989928 138.22 +39 2.31 0.989579 149.381 +40 2.37 1.00818 161.35 +41 2.43 1.00199 173.854 +42 2.49 1.0079 187.062 +43 2.55 1.00172 200.829 +44 2.61 0.997515 215.19 +45 2.67 0.994042 230.168 +46 2.73 1.00232 245.956 +47 2.79 1.0097 262.567 +48 2.85 1.00133 279.757 +49 2.91 0.992671 297.523 +50 2.97 0.994978 316.072 +100400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.030405 0.0042796 +5 0.27 0.0829907 0.0171184 +6 0.33 0.228706 0.0699001 +7 0.39 0.281246 0.160485 +8 0.45 0.455985 0.35592 +9 0.51 0.584525 0.677603 +10 0.57 0.730617 1.17974 +11 0.63 0.907465 1.94151 +12 0.69 1.03785 2.98645 +13 0.75 1.0956 4.28959 +14 0.81 1.13887 5.86947 +15 0.87 1.1963 7.78388 +16 0.93 1.12889 9.84807 +17 0.99 1.05373 12.0314 +18 1.05 0.987881 14.3338 +19 1.11 0.94123 16.7853 +20 1.17 0.956878 19.5542 +21 1.23 0.950126 22.5927 +22 1.29 0.962766 25.9793 +23 1.35 0.990379 29.7946 +24 1.41 0.998025 33.9886 +25 1.47 1.02098 38.6519 +26 1.53 0.991065 43.5556 +27 1.59 1.01593 48.9843 +28 1.65 1.01392 54.8188 +29 1.71 1.01258 61.077 +30 1.77 1.00704 67.7454 +31 1.83 1.00819 74.8816 +32 1.89 0.988565 82.3452 +33 1.95 0.991239 90.3117 +34 2.01 0.979893 98.679 +35 2.07 1.00244 107.757 +36 2.13 1.00798 117.423 +37 2.19 0.994599 127.505 +38 2.25 1.00733 138.283 +39 2.31 1.00716 149.642 +40 2.37 1.0071 161.598 +41 2.43 1.00479 174.138 +42 2.49 0.989451 187.103 +43 2.55 0.995909 200.79 +44 2.61 0.992957 215.086 +45 2.67 0.995699 230.088 +46 2.73 1.00209 245.873 +47 2.79 1.01239 262.529 +48 2.85 0.999589 279.688 +49 2.91 0.998609 297.561 +50 2.97 1.00607 316.317 +100450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.115265 0.0206847 +6 0.33 0.188528 0.064194 +7 0.39 0.292319 0.158345 +8 0.45 0.462642 0.356633 +9 0.51 0.609151 0.691869 +10 0.57 0.788734 1.23395 +11 0.63 0.871778 1.96576 +12 0.69 1.02439 2.99715 +13 0.75 1.05722 4.25464 +14 0.81 1.17177 5.88017 +15 0.87 1.13613 7.69829 +16 0.93 1.13981 9.78245 +17 0.99 1.06164 11.9822 +18 1.05 0.989411 14.2882 +19 1.11 0.954648 16.7746 +20 1.17 0.94406 19.5064 +21 1.23 0.967299 22.5999 +22 1.29 0.995615 26.102 +23 1.35 0.996304 29.9401 +24 1.41 0.973583 34.0314 +25 1.47 0.995215 38.577 +26 1.53 1.01197 43.5842 +27 1.59 1.01086 48.9857 +28 1.65 1.0045 54.766 +29 1.71 1.02008 61.0706 +30 1.77 1.001 67.699 +31 1.83 0.995295 74.7439 +32 1.89 0.995084 82.2568 +33 1.95 1.00517 90.3352 +34 2.01 0.998019 98.8573 +35 2.07 0.998735 107.902 +36 2.13 0.998903 117.481 +37 2.19 1.00607 127.679 +38 2.25 0.992794 138.302 +39 2.31 0.992109 149.491 +40 2.37 1.00031 161.366 +41 2.43 0.996906 173.807 +42 2.49 1.00948 187.036 +43 2.55 1.00432 200.838 +44 2.61 1.00113 215.252 +45 2.67 1.00218 230.352 +46 2.73 1.00793 246.228 +47 2.79 0.997303 262.636 +48 2.85 0.997553 279.76 +49 2.91 0.994624 297.561 +50 2.97 0.995131 316.113 +100500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.06081 0.00784593 +5 0.27 0.0783801 0.0199715 +6 0.33 0.194709 0.0649073 +7 0.39 0.307821 0.164051 +8 0.45 0.46597 0.363766 +9 0.51 0.572861 0.67903 +10 0.57 0.754487 1.19757 +11 0.63 0.887072 1.94223 +12 0.69 1.04352 2.99287 +13 0.75 1.12678 4.3331 +14 0.81 1.12498 5.89372 +15 0.87 1.1651 7.7582 +16 0.93 1.148 9.85735 +17 0.99 1.0372 12.0064 +18 1.05 0.994614 14.3245 +19 1.11 0.964233 16.8359 +20 1.17 0.931243 19.5307 +21 1.23 0.9615 22.6056 +22 1.29 0.961752 25.9886 +23 1.35 0.989083 29.7989 +24 1.41 0.982919 33.9294 +25 1.47 1.02239 38.5991 +26 1.53 1.01831 43.6377 +27 1.59 1.02461 49.1127 +28 1.65 1.00797 54.913 +29 1.71 0.996306 61.0706 +30 1.77 1.00639 67.7347 +31 1.83 1.00235 74.8295 +32 1.89 0.989699 82.3017 +33 1.95 0.998517 90.3267 +34 2.01 0.995179 98.8245 +35 2.07 1.01039 107.975 +36 2.13 0.982093 117.392 +37 2.19 0.998821 127.517 +38 2.25 0.998994 138.206 +39 2.31 1.00577 149.549 +40 2.37 0.986074 161.255 +41 2.43 1.01222 173.888 +42 2.49 1.00393 187.044 +43 2.55 1.0025 200.821 +44 2.61 1.00232 215.252 +45 2.67 0.997546 230.282 +46 2.73 1.00073 246.045 +47 2.79 1.00259 262.539 +48 2.85 1.00744 279.834 +49 2.91 0.985418 297.47 +50 2.97 1.00489 316.204 +100550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.06081 0.00570613 +5 0.27 0.0968224 0.0206847 +6 0.33 0.20089 0.0670471 +7 0.39 0.327751 0.172611 +8 0.45 0.424365 0.354494 +9 0.51 0.605262 0.687589 +10 0.57 0.756562 1.20756 +11 0.63 0.89387 1.95792 +12 0.69 1.01659 2.98146 +13 0.75 1.12618 4.32097 +14 0.81 1.10236 5.85021 +15 0.87 1.14816 7.68759 +16 0.93 1.11874 9.73324 +17 0.99 1.07541 11.9615 +18 1.05 1.01573 14.3288 +19 1.11 0.97108 16.8581 +20 1.17 0.983006 19.7026 +21 1.23 0.945219 22.7254 +22 1.29 0.943908 26.0456 +23 1.35 0.981492 29.8267 +24 1.41 0.984277 33.9629 +25 1.47 0.996464 38.5143 +26 1.53 0.989767 43.4116 +27 1.59 1.03141 48.923 +28 1.65 1.02458 54.8188 +29 1.71 1.00588 61.0357 +30 1.77 1.00111 67.6648 +31 1.83 0.991869 74.6854 +32 1.89 1.00198 82.2504 +33 1.95 0.999848 90.286 +34 2.01 1.00946 98.9058 +35 2.07 0.998183 107.946 +36 2.13 0.98358 117.377 +37 2.19 0.996499 127.479 +38 2.25 1.00353 138.216 +39 2.31 1.00014 149.496 +40 2.37 1.00164 161.387 +41 2.43 0.999592 173.862 +42 2.49 1.00257 186.999 +43 2.55 1.01584 200.96 +44 2.61 0.99261 215.251 +45 2.67 0.993569 230.221 +46 2.73 1.00503 246.052 +47 2.79 0.993791 262.402 +48 2.85 1.00628 279.676 +49 2.91 1.00511 297.665 +50 2.97 0.993945 316.195 +100600 50 +1 0.03 0 0 +2 0.09 0.080356 0.00142653 +3 0.15 0.0296049 0.00285307 +4 0.21 0.0456075 0.00713267 +5 0.27 0.101433 0.0228245 +6 0.33 0.142168 0.0556348 +7 0.39 0.298962 0.151926 +8 0.45 0.514231 0.372325 +9 0.51 0.620815 0.71398 +10 0.57 0.760714 1.2368 +11 0.63 0.870079 1.96719 +12 0.69 1.00739 2.98146 +13 0.75 1.10639 4.29743 +14 0.81 1.11419 5.84308 +15 0.87 1.14638 7.6776 +16 0.93 1.14566 9.77247 +17 0.99 1.06646 11.9822 +18 1.05 1.01236 14.3417 +19 1.11 0.979295 16.8923 +20 1.17 0.95392 19.6526 +21 1.23 0.933621 22.6384 +22 1.29 0.977163 26.0756 +23 1.35 0.982788 29.8616 +24 1.41 0.985634 34.0036 +25 1.47 0.995527 38.5506 +26 1.53 1.01629 43.5792 +27 1.59 1.01553 49.0057 +28 1.65 1.02297 54.8923 +29 1.71 1.00104 61.0792 +30 1.77 1.00499 67.734 +31 1.83 0.994892 74.776 +32 1.89 1.00075 82.3317 +33 1.95 0.997274 90.3466 +34 2.01 0.989749 98.7981 +35 2.07 0.99267 107.788 +36 2.13 1.00396 117.415 +37 2.19 1.00987 127.652 +38 2.25 0.99846 138.335 +39 2.31 0.996662 149.576 +40 2.37 1.00728 161.534 +41 2.43 0.99462 173.947 +42 2.49 1.00888 187.167 +43 2.55 1.00406 200.966 +44 2.61 0.996623 215.315 +45 2.67 0.993569 230.285 +46 2.73 1.00159 246.061 +47 2.79 1.00186 262.544 +48 2.85 0.994354 279.613 +49 2.91 1.01343 297.751 +50 2.97 0.999034 316.376 +100650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.030405 0.00356633 +5 0.27 0.0691589 0.0142653 +6 0.33 0.160712 0.0513552 +7 0.39 0.325537 0.156205 +8 0.45 0.446 0.347361 +9 0.51 0.644144 0.701854 +10 0.57 0.714012 1.19258 +11 0.63 0.953348 1.99287 +12 0.69 1.02085 3.02068 +13 0.75 1.07221 4.29601 +14 0.81 1.1255 5.85735 +15 0.87 1.13301 7.67047 +16 0.93 1.1363 9.74822 +17 0.99 1.06818 11.9615 +18 1.05 1.02093 14.3409 +19 1.11 0.952731 16.8224 +20 1.17 0.951208 19.5749 +21 1.23 0.938974 22.5777 +22 1.29 0.967835 25.9822 +23 1.35 0.99149 29.8017 +24 1.41 0.980712 33.923 +25 1.47 1.00677 38.5214 +26 1.53 1.02235 43.5799 +27 1.59 1.01206 48.9879 +28 1.65 1.01591 54.8338 +29 1.71 1.01396 61.1006 +30 1.77 1.00811 67.776 +31 1.83 0.999023 74.8474 +32 1.89 0.995367 82.3623 +33 1.95 0.975087 90.199 +34 2.01 1.00186 98.7539 +35 2.07 1.00574 107.862 +36 2.13 0.987597 117.332 +37 2.19 1.0181 127.653 +38 2.25 0.993661 138.285 +39 2.31 1.00741 149.646 +40 2.37 1.00266 161.549 +41 2.43 1.00416 174.081 +42 2.49 1.00197 187.211 +43 2.55 0.994404 200.877 +44 2.61 0.998159 215.248 +45 2.67 0.99035 230.17 +46 2.73 1.00449 245.992 +47 2.79 0.994702 262.357 +48 2.85 1.00732 279.649 +49 2.91 1.00622 297.658 +50 2.97 1.00213 316.34 +100700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0836137 0.0085592 +5 0.27 0.0876012 0.0221113 +6 0.33 0.160712 0.0592011 +7 0.39 0.316679 0.161198 +8 0.45 0.482612 0.368046 +9 0.51 0.583229 0.689016 +10 0.57 0.761751 1.21255 +11 0.63 0.873477 1.94579 +12 0.69 1.03572 2.98859 +13 0.75 1.0992 4.29601 +14 0.81 1.14247 5.88088 +15 0.87 1.15039 7.72183 +16 0.93 1.10665 9.74536 +17 0.99 1.06991 11.9622 +18 1.05 1.00318 14.3003 +19 1.11 0.987237 16.8716 +20 1.17 0.957617 19.6427 +21 1.23 0.953694 22.6926 +22 1.29 0.944922 26.0164 +23 1.35 1.00056 29.8709 +24 1.41 0.976808 33.9757 +25 1.47 0.988968 38.4929 +26 1.53 1.02191 43.5492 +27 1.59 1.02074 49.0036 +28 1.65 1.01355 54.8359 +29 1.71 1.01362 61.1006 +30 1.77 0.993033 67.6762 +31 1.83 0.997008 74.7332 +32 1.89 1.00567 82.326 +33 1.95 0.990618 90.2874 +34 2.01 1.00888 98.9023 +35 2.07 0.995506 107.918 +36 2.13 0.998755 117.495 +37 2.19 0.99861 127.618 +38 2.25 1.00893 138.413 +39 2.31 0.992678 149.608 +40 2.37 1.01545 161.663 +41 2.43 0.995306 174.085 +42 2.49 1.00317 187.23 +43 2.55 0.994196 200.894 +44 2.61 1.00321 215.337 +45 2.67 1.00039 230.41 +46 2.73 1.00263 246.203 +47 2.79 0.993878 262.554 +48 2.85 1.00744 279.849 +49 2.91 0.995221 297.66 +50 2.97 0.991497 316.145 +100750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0532087 0.00499287 +5 0.27 0.147539 0.0278174 +6 0.33 0.173075 0.0677603 +7 0.39 0.281246 0.158345 +8 0.45 0.46597 0.35806 +9 0.51 0.575453 0.67475 +10 0.57 0.762789 1.199 +11 0.63 0.906615 1.96006 +12 0.69 0.9918 2.95863 +13 0.75 1.08601 4.25036 +14 0.81 1.19028 5.90157 +15 0.87 1.16332 7.7632 +16 0.93 1.14098 9.8495 +17 0.99 1.1002 12.1291 +18 1.05 0.972885 14.3966 +19 1.11 0.953827 16.8809 +20 1.17 0.940116 19.6013 +21 1.23 0.935851 22.5942 +22 1.29 0.975541 26.0257 +23 1.35 0.962791 29.7347 +24 1.41 1.0004 33.9387 +25 1.47 1.01208 38.5613 +26 1.53 1.02119 43.6141 +27 1.59 1.02581 49.0956 +28 1.65 1.00128 54.8573 +29 1.71 1.01385 61.1234 +30 1.77 1.00736 67.7939 +31 1.83 0.994489 74.8331 +32 1.89 0.992155 82.3238 +33 1.95 1.00322 90.3866 +34 2.01 0.998854 98.9158 +35 2.07 0.995899 107.935 +36 2.13 1.00054 117.529 +37 2.19 0.981089 127.474 +38 2.25 1.00753 138.255 +39 2.31 1.00046 149.538 +40 2.37 1.00842 161.509 +41 2.43 1.01017 174.116 +42 2.49 0.993424 187.134 +43 2.55 1.00084 200.889 +44 2.61 0.993799 215.197 +45 2.67 1.00938 230.405 +46 2.73 1.00299 246.204 +47 2.79 0.993314 262.546 +48 2.85 0.987291 279.494 +49 2.91 0.993069 297.267 +50 2.97 1.00707 316.042 +100800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0532087 0.00570613 +5 0.27 0.0922118 0.0199715 +6 0.33 0.222524 0.0713267 +7 0.39 0.316679 0.173324 +8 0.45 0.449328 0.365906 +9 0.51 0.592302 0.691869 +10 0.57 0.718164 1.18545 +11 0.63 0.921909 1.95934 +12 0.69 1.01376 2.98003 +13 0.75 1.08601 4.27175 +14 0.81 1.15532 5.87447 +15 0.87 1.15841 7.72825 +16 0.93 1.13825 9.80956 +17 0.99 1.07851 12.0442 +18 1.05 0.990941 14.3538 +19 1.11 0.979843 16.9058 +20 1.17 0.911523 19.5435 +21 1.23 0.956371 22.602 +22 1.29 0.957088 25.9686 +23 1.35 0.981121 29.7482 +24 1.41 0.98207 33.8752 +25 1.47 1.02098 38.5385 +26 1.53 1.03359 43.6526 +27 1.59 1.00605 49.0285 +28 1.65 1.01938 54.8944 +29 1.71 1.00185 61.0863 +30 1.77 1.00154 67.7183 +31 1.83 0.997814 74.781 +32 1.89 1.00803 82.3916 +33 1.95 0.985826 90.3146 +34 2.01 1.00169 98.868 +35 2.07 1.00078 107.932 +36 2.13 0.987746 117.403 +37 2.19 0.997766 127.517 +38 2.25 1.00939 138.317 +39 2.31 1.0016 149.613 +40 2.37 1.01125 161.618 +41 2.43 1.00514 174.163 +42 2.49 0.993751 187.185 +43 2.55 0.998089 200.902 +44 2.61 1.00138 215.319 +45 2.67 0.998445 230.362 +46 2.73 0.996293 246.056 +47 2.79 1.00467 262.584 +48 2.85 0.990157 279.582 +49 2.91 0.999844 297.476 +50 2.97 1.00141 316.146 +100850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.030405 0.0042796 +5 0.27 0.110654 0.021398 +6 0.33 0.179256 0.0627675 +7 0.39 0.338824 0.171897 +8 0.45 0.459313 0.368759 +9 0.51 0.628592 0.714693 +10 0.57 0.807415 1.26961 +11 0.63 0.883674 2.01141 +12 0.69 0.957795 2.97575 +13 0.75 1.08061 4.26106 +14 0.81 1.10596 5.79529 +15 0.87 1.15886 7.64979 +16 0.93 1.14293 9.73966 +17 0.99 1.10192 12.0228 +18 1.05 1.01848 14.3966 +19 1.11 0.98176 16.9536 +20 1.17 0.942581 19.6812 +21 1.23 0.945442 22.7047 +22 1.29 0.942286 26.0193 +23 1.35 0.970753 29.7589 +24 1.41 0.986313 33.9037 +25 1.47 1.01146 38.5235 +26 1.53 1.01471 43.5442 +27 1.59 1.02367 49.0143 +28 1.65 1.00512 54.7981 +29 1.71 1.00958 61.0378 +30 1.77 1.01985 67.791 +31 1.83 1.01857 75.0007 +32 1.89 0.982519 82.4187 +33 1.95 0.993813 90.4058 +34 2.01 0.984236 98.8103 +35 2.07 0.995191 107.823 +36 2.13 1.00627 117.472 +37 2.19 0.991785 127.526 +38 2.25 1.00433 138.272 +39 2.31 0.998686 149.535 +40 2.37 1.00686 161.488 +41 2.43 1.00474 174.027 +42 2.49 1.00671 187.219 +43 2.55 1.01911 201.225 +44 2.61 0.997316 215.583 +45 2.67 0.990019 230.5 +46 2.73 0.98932 246.083 +47 2.79 0.994225 262.44 +48 2.85 0.99855 279.582 +49 2.91 0.998649 297.455 +50 2.97 1.01216 316.325 +100900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.030405 0.00285307 +5 0.27 0.110654 0.0199715 +6 0.33 0.142168 0.0527817 +7 0.39 0.314464 0.154066 +8 0.45 0.489268 0.363766 +9 0.51 0.598782 0.693295 +10 0.57 0.762789 1.21755 +11 0.63 0.889621 1.96434 +12 0.69 1.03501 3.00642 +13 0.75 1.08481 4.29672 +14 0.81 1.14555 5.88588 +15 0.87 1.13568 7.70328 +16 0.93 1.19442 9.8873 +17 0.99 1.04787 12.0585 +18 1.05 0.983596 14.3509 +19 1.11 0.960673 16.8531 +20 1.17 0.961561 19.6355 +21 1.23 0.928268 22.6041 +22 1.29 0.964185 25.9957 +23 1.35 0.971678 29.7389 +24 1.41 0.99446 33.918 +25 1.47 1.02129 38.5827 +26 1.53 1.01125 43.5863 +27 1.59 1.01486 49.0093 +28 1.65 1.01888 54.8723 +29 1.71 1.02043 61.179 +30 1.77 1.00391 67.8267 +31 1.83 1.00285 74.9251 +32 1.89 0.988849 82.3909 +33 1.95 0.992837 90.3702 +34 2.01 0.981229 98.7489 +35 2.07 1.00543 107.854 +36 2.13 0.99087 117.356 +37 2.19 1.01233 127.618 +38 2.25 1.01059 138.431 +39 2.31 0.997801 149.684 +40 2.37 1.01017 161.676 +41 2.43 1.00079 174.166 +42 2.49 1.00344 187.315 +43 2.55 0.987968 200.893 +44 2.61 0.999546 215.284 +45 2.67 0.995179 230.278 +46 2.73 1.00395 246.092 +47 2.79 0.992794 262.425 +48 2.85 1.00291 279.642 +49 2.91 1.00558 297.639 +50 2.97 0.994634 316.182 +100950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0456075 0.0042796 +5 0.27 0.0691589 0.0149786 +6 0.33 0.176165 0.0556348 +7 0.39 0.318893 0.158345 +8 0.45 0.457649 0.354494 +9 0.51 0.655809 0.715407 +10 0.57 0.719201 1.2097 +11 0.63 0.917661 1.98003 +12 0.69 1.00951 2.99643 +13 0.75 1.07401 4.27389 +14 0.81 1.15635 5.87803 +15 0.87 1.14727 7.71398 +16 0.93 1.10587 9.73609 +17 0.99 1.09366 12.0021 +18 1.05 1.01022 14.3566 +19 1.11 0.957935 16.8516 +20 1.17 0.952441 19.6077 +21 1.23 0.943658 22.6255 +22 1.29 0.990546 26.1098 +23 1.35 0.978714 29.8802 +24 1.41 0.991914 34.0485 +25 1.47 1.00786 38.6519 +26 1.53 1.00404 43.6198 +27 1.59 1.01219 49.0285 +28 1.65 1.01008 54.8409 +29 1.71 1.00427 61.0478 +30 1.77 1.02944 67.8645 +31 1.83 0.993884 74.8994 +32 1.89 0.992061 82.3894 +33 1.95 1.00411 90.4593 +34 2.01 0.992339 98.933 +35 2.07 0.996293 107.956 +36 2.13 0.98663 117.417 +37 2.19 1.00255 127.579 +38 2.25 1.00013 138.28 +39 2.31 1.00356 149.598 +40 2.37 1.01089 161.599 +41 2.43 0.998792 174.064 +42 2.49 0.999139 187.157 +43 2.55 1.00271 200.937 +44 2.61 0.99801 215.306 +45 2.67 1.00332 230.423 +46 2.73 1.00558 246.262 +47 2.79 1.00394 262.779 +48 2.85 0.99452 279.852 +49 2.91 0.989522 297.561 +50 2.97 1.00248 316.25 +101000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.030405 0.00356633 +5 0.27 0.115265 0.021398 +6 0.33 0.163803 0.0592011 +7 0.39 0.307821 0.158345 +8 0.45 0.480947 0.364479 +9 0.51 0.580637 0.684023 +10 0.57 0.760714 1.20685 +11 0.63 0.937204 1.99358 +12 0.69 1.0003 3.00071 +13 0.75 1.05962 4.26106 +14 0.81 1.12396 5.82026 +15 0.87 1.16911 7.69116 +16 0.93 1.17764 9.84451 +17 0.99 1.05958 12.0399 +18 1.05 1.00012 14.3709 +19 1.11 0.948898 16.8424 +20 1.17 0.942581 19.5699 +21 1.23 0.934959 22.5599 +22 1.29 0.990343 26.0435 +23 1.35 0.962976 29.7532 +24 1.41 1.01109 34.0021 +25 1.47 1.01239 38.6262 +26 1.53 1.02134 43.6797 +27 1.59 1.00405 49.0449 +28 1.65 1.00202 54.811 +29 1.71 1.01212 61.0663 +30 1.77 1.01037 67.7568 +31 1.83 0.998721 74.826 +32 1.89 0.984125 82.2561 +33 1.95 1.00926 90.3673 +34 2.01 1.00788 98.9736 +35 2.07 1.00448 108.071 +36 2.13 0.987002 117.535 +37 2.19 0.989744 127.568 +38 2.25 0.983928 138.096 +39 2.31 1.00008 149.374 +40 2.37 1.0077 161.337 +41 2.43 1.01571 174.014 +42 2.49 1.00235 187.148 +43 2.55 1.00068 200.901 +44 2.61 0.996227 215.244 +45 2.67 1.00545 230.393 +46 2.73 0.993486 246.042 +47 2.79 1.00411 262.561 +48 2.85 1.00823 279.869 +49 2.91 0.992432 297.631 +50 2.97 0.999263 316.26 +101050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0760125 0.00713267 +5 0.27 0.119875 0.0256776 +6 0.33 0.194709 0.0706134 +7 0.39 0.307821 0.169757 +8 0.45 0.450992 0.363053 +9 0.51 0.607855 0.697575 +10 0.57 0.760714 1.2204 +11 0.63 0.859882 1.94223 +12 0.69 1.01376 2.96291 +13 0.75 1.11659 4.29101 +14 0.81 1.12498 5.85164 +15 0.87 1.17802 7.7368 +16 0.93 1.16984 9.87589 +17 0.99 1.02068 11.9907 +18 1.05 1.01389 14.3538 +19 1.11 0.966972 16.8723 +20 1.17 0.931489 19.5678 +21 1.23 0.971537 22.6748 +22 1.29 0.942286 25.9893 +23 1.35 0.971864 29.7332 +24 1.41 0.980542 33.8538 +25 1.47 1.01114 38.4722 +26 1.53 1.02134 43.5257 +27 1.59 1.02728 49.015 +28 1.65 1.00401 54.7924 +29 1.71 1.02839 61.1484 +30 1.77 0.99174 67.7154 +31 1.83 1.00255 74.8117 +32 1.89 0.995934 82.331 +33 1.95 0.986536 90.2596 +34 2.01 1.00044 98.8024 +35 2.07 0.996372 107.826 +36 2.13 1.00047 117.419 +37 2.19 0.995584 127.511 +38 2.25 1.00939 138.312 +39 2.31 1.00488 149.645 +40 2.37 1.00656 161.594 +41 2.43 1.00576 174.146 +42 2.49 0.987056 187.081 +43 2.55 0.995183 200.757 +44 2.61 0.993898 215.067 +45 2.67 1.00512 230.211 +46 2.73 0.999055 245.948 +47 2.79 1.0182 262.699 +48 2.85 0.997636 279.825 +49 2.91 0.990798 297.558 +50 2.97 0.997121 316.147 +101100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0380062 0.00356633 +5 0.27 0.101433 0.0192582 +6 0.33 0.210162 0.0677603 +7 0.39 0.31225 0.168331 +8 0.45 0.437679 0.35592 +9 0.51 0.609151 0.691155 +10 0.57 0.770054 1.2204 +11 0.63 0.855634 1.93866 +12 0.69 1.04989 2.99572 +13 0.75 1.0986 4.30243 +14 0.81 1.15069 5.89872 +15 0.87 1.1905 7.80385 +16 0.93 1.10626 9.82668 +17 0.99 1.04787 11.9979 +18 1.05 0.976251 14.2732 +19 1.11 0.956839 16.7653 +20 1.17 0.955645 19.5307 +21 1.23 0.99161 22.7019 +22 1.29 0.96743 26.1049 +23 1.35 0.943906 29.7411 +24 1.41 0.993103 33.9144 +25 1.47 1.00552 38.5071 +26 1.53 1.03345 43.6205 +27 1.59 1.01419 49.0399 +28 1.65 1.0138 54.8738 +29 1.71 1.01673 61.1576 +30 1.77 0.997341 67.7618 +31 1.83 0.98814 74.7561 +32 1.89 1.00387 82.3352 +33 1.95 0.997274 90.3502 +34 2.01 0.995596 98.8516 +35 2.07 1.00685 107.97 +36 2.13 0.998903 117.549 +37 2.19 0.982567 127.509 +38 2.25 1.00419 138.253 +39 2.31 1.00615 149.601 +40 2.37 0.995687 161.421 +41 2.43 1.01171 174.047 +42 2.49 0.997942 187.124 +43 2.55 0.997881 200.838 +44 2.61 0.999447 215.228 +45 2.67 1.00427 230.359 +46 2.73 1.0044 246.18 +47 2.79 0.995048 262.55 +48 2.85 0.992069 279.581 +49 2.91 1.00036 297.484 +50 2.97 1.00286 316.18 +101150 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.0968224 0.0192582 +6 0.33 0.163803 0.0570613 +7 0.39 0.385329 0.18117 +8 0.45 0.409388 0.356633 +9 0.51 0.571565 0.671184 +10 0.57 0.767978 1.199 +11 0.63 0.883674 1.9408 +12 0.69 1.04989 2.99786 +13 0.75 1.07281 4.27389 +14 0.81 1.17177 5.89943 +15 0.87 1.14905 7.73823 +16 0.93 1.12615 9.79743 +17 0.99 1.06233 11.9986 +18 1.05 0.979924 14.2825 +19 1.11 0.968341 16.8046 +20 1.17 0.943814 19.5357 +21 1.23 0.955702 22.592 +22 1.29 0.959116 25.9658 +23 1.35 0.974456 29.7197 +24 1.41 0.984955 33.8588 +25 1.47 1.00068 38.4294 +26 1.53 1.03993 43.5749 +27 1.59 1.01913 49.0207 +28 1.65 1.01603 54.8673 +29 1.71 1.01316 61.1291 +30 1.77 1.0024 67.7668 +31 1.83 1.0095 74.9123 +32 1.89 0.981952 82.326 +33 1.95 0.994789 90.321 +34 2.01 0.993341 98.8031 +35 2.07 0.987 107.742 +36 2.13 0.995036 117.283 +37 2.19 1.00304 127.451 +38 2.25 1.00199 138.172 +39 2.31 1.0231 149.71 +40 2.37 0.996588 161.541 +41 2.43 0.999993 174.021 +42 2.49 0.990539 187.001 +43 2.55 1.00307 200.787 +44 2.61 1.01144 215.349 +45 2.67 0.995841 230.353 +46 2.73 1.00037 246.111 +47 2.79 0.988068 262.366 +48 2.85 1.01014 279.707 +49 2.91 1.0075 297.738 +50 2.97 0.998919 316.361 +101200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.0532087 0.00713267 +5 0.27 0.106044 0.0235378 +6 0.33 0.188528 0.0670471 +7 0.39 0.316679 0.169044 +8 0.45 0.424365 0.350927 +9 0.51 0.587117 0.674037 +10 0.57 0.747222 1.18759 +11 0.63 0.915962 1.95649 +12 0.69 0.987549 2.95078 +13 0.75 1.10699 4.26748 +14 0.81 1.18206 5.90728 +15 0.87 1.17045 7.78031 +16 0.93 1.13942 9.86377 +17 0.99 1.04478 12.0285 +18 1.05 1.00135 14.3623 +19 1.11 0.952458 16.8431 +20 1.17 0.940609 19.5649 +21 1.23 0.947449 22.5949 +22 1.29 0.95425 25.9515 +23 1.35 0.972604 29.6983 +24 1.41 0.997516 33.8902 +25 1.47 1.03035 38.5963 +26 1.53 1.01298 43.6084 +27 1.59 1.0174 49.0449 +28 1.65 1.0133 54.8759 +29 1.71 0.995614 61.0292 +30 1.77 1.01975 67.7817 +31 1.83 1.00376 74.8866 +32 1.89 0.985164 82.3245 +33 1.95 0.994257 90.3153 +34 2.01 0.990167 98.7703 +35 2.07 0.992749 107.761 +36 2.13 1.00515 117.399 +37 2.19 0.997203 127.508 +38 2.25 1.00146 138.223 +39 2.31 1.00413 149.548 +40 2.37 1.00248 161.449 +41 2.43 1.00908 174.042 +42 2.49 1.00066 187.155 +43 2.55 0.993885 200.814 +44 2.61 0.999496 215.204 +45 2.67 0.998682 230.251 +46 2.73 0.994391 245.914 +47 2.79 1.00814 262.5 +48 2.85 1.00233 279.707 +49 2.91 1.00766 297.741 +50 2.97 0.991765 316.23 +101250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0152025 0.0021398 +5 0.27 0.106044 0.0185449 +6 0.33 0.157621 0.0549215 +7 0.39 0.305606 0.153352 +8 0.45 0.454321 0.348074 +9 0.51 0.600078 0.678317 +10 0.57 0.791848 1.22254 +11 0.63 0.922759 1.99715 +12 0.69 1.00101 3.00499 +13 0.75 1.05482 4.25963 +14 0.81 1.14812 5.85235 +15 0.87 1.19897 7.77104 +16 0.93 1.14137 9.85806 +17 0.99 1.04581 12.025 +18 1.05 1.0041 14.3652 +19 1.11 0.953553 16.8488 +20 1.17 0.921629 19.5157 +21 1.23 0.955255 22.5706 +22 1.29 0.972296 25.9907 +23 1.35 0.978159 29.7589 +24 1.41 0.997685 33.9515 +25 1.47 1.01021 38.5656 +26 1.53 1.01326 43.5792 +27 1.59 1.02287 49.0449 +28 1.65 1.03078 54.9765 +29 1.71 0.988689 61.087 +30 1.77 0.995402 67.6783 +31 1.83 1.00074 74.7618 +32 1.89 0.999997 82.3117 +33 1.95 0.996032 90.3167 +34 2.01 0.99426 98.8067 +35 2.07 1.00574 107.915 +36 2.13 0.996672 117.472 +37 2.19 0.993896 127.547 +38 2.25 0.986795 138.106 +39 2.31 1.00008 149.384 +40 2.37 1.01305 161.411 +41 2.43 1.01308 174.054 +42 2.49 1.00072 187.168 +43 2.55 0.992484 200.807 +44 2.61 1.00509 215.278 +45 2.67 1.00005 230.346 +46 2.73 1.00241 246.136 +47 2.79 0.998474 262.562 +48 2.85 0.993191 279.612 +49 2.91 1.00789 297.65 +50 2.97 0.992071 316.146 +101300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.0783801 0.0171184 +6 0.33 0.176165 0.0577746 +7 0.39 0.343253 0.168331 +8 0.45 0.42603 0.350927 +9 0.51 0.565084 0.661912 +10 0.57 0.788734 1.20399 +11 0.63 0.883674 1.94579 +12 0.69 0.998884 2.9515 +13 0.75 1.11779 4.28103 +14 0.81 1.17177 5.90656 +15 0.87 1.16332 7.76819 +16 0.93 1.10353 9.78602 +17 0.99 1.08471 12.0335 +18 1.05 1.01298 14.3944 +19 1.11 0.939313 16.8409 +20 1.17 0.952687 19.5977 +21 1.23 0.939197 22.6013 +22 1.29 0.970269 26.0143 +23 1.35 0.987787 29.8195 +24 1.41 0.970698 33.8987 +25 1.47 1.01583 38.5385 +26 1.53 1.01586 43.5649 +27 1.59 1.01313 48.9786 +28 1.65 1.0221 54.8602 +29 1.71 1.01904 61.1583 +30 1.77 0.992709 67.7318 +31 1.83 0.996605 74.786 +32 1.89 1.00226 82.3531 +33 1.95 0.995056 90.3502 +34 2.01 0.997768 98.8702 +35 2.07 1.00078 107.934 +36 2.13 0.997639 117.5 +37 2.19 0.994318 127.579 +38 2.25 0.985061 138.119 +39 2.31 1.01058 149.516 +40 2.37 1.00644 161.464 +41 2.43 1.00022 173.947 +42 2.49 0.99816 187.027 +43 2.55 1.00016 200.772 +44 2.61 1.00118 215.187 +45 2.67 1.00881 230.387 +46 2.73 1.00413 246.203 +47 2.79 0.989759 262.486 +48 2.85 1.00952 279.817 +49 2.91 0.99554 297.634 +50 2.97 0.995399 316.191 +101350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.06081 0.00570613 +5 0.27 0.115265 0.0235378 +6 0.33 0.203981 0.0706134 +7 0.39 0.33661 0.17903 +8 0.45 0.487604 0.388017 +9 0.51 0.565084 0.699001 +10 0.57 0.719201 1.1933 +11 0.63 0.890471 1.9408 +12 0.69 1.02368 2.97147 +13 0.75 1.08001 4.25606 +14 0.81 1.13887 5.83595 +15 0.87 1.16956 7.70756 +16 0.93 1.13825 9.78887 +17 0.99 1.09159 12.0506 +18 1.05 1.00349 14.3894 +19 1.11 0.94835 16.8595 +20 1.17 0.954659 19.622 +21 1.23 0.938082 22.622 +22 1.29 0.975744 26.0542 +23 1.35 0.982417 29.8388 +24 1.41 0.976808 33.9437 +25 1.47 1.01567 38.5827 +26 1.53 0.991209 43.4872 +27 1.59 1.00912 48.8795 +28 1.65 1.02235 54.7625 +29 1.71 1.01581 61.0407 +30 1.77 1.01425 67.7568 +31 1.83 1.00688 74.8837 +32 1.89 0.990738 82.3638 +33 1.95 0.993192 90.3459 +34 2.01 0.979809 98.7126 +35 2.07 1.00259 107.792 +36 2.13 0.992953 117.314 +37 2.19 1.00311 127.482 +38 2.25 1.00219 138.205 +39 2.31 1.01317 149.632 +40 2.37 1.00464 161.558 +41 2.43 0.995592 173.984 +42 2.49 1.01345 187.264 +43 2.55 0.999335 200.998 +44 2.61 1.00252 215.432 +45 2.67 0.984243 230.261 +46 2.73 0.993078 245.904 +47 2.79 0.996436 262.297 +48 2.85 0.997719 279.424 +49 2.91 1.00566 297.423 +50 2.97 1.00963 316.245 +101400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.0456075 0.0064194 +5 0.27 0.101433 0.0221113 +6 0.33 0.228706 0.074893 +7 0.39 0.283461 0.166191 +8 0.45 0.460977 0.363766 +9 0.51 0.637664 0.714693 +10 0.57 0.706748 1.20043 +11 0.63 0.902367 1.95792 +12 0.69 1.01022 2.97504 +13 0.75 1.08361 4.26391 +14 0.81 1.14709 5.85521 +15 0.87 1.16599 7.72111 +16 0.93 1.14761 9.81954 +17 0.99 1.07851 12.0542 +18 1.05 1.0093 14.4066 +19 1.11 0.948076 16.8759 +20 1.17 0.950962 19.6277 +21 1.23 0.946334 22.6541 +22 1.29 0.955669 26.0157 +23 1.35 0.96742 29.7425 +24 1.41 0.991745 33.9101 +25 1.47 1.01255 38.535 +26 1.53 1.01716 43.5678 +27 1.59 1.02314 49.035 +28 1.65 1.02867 54.9544 +29 1.71 0.999422 61.1312 +30 1.77 1.00262 67.7703 +31 1.83 0.994589 74.8103 +32 1.89 1.0051 82.3987 +33 1.95 1.00429 90.47 +34 2.01 0.960597 98.6726 +35 2.07 1.00606 107.784 +36 2.13 1.00374 117.409 +37 2.19 0.993474 127.479 +38 2.25 0.996994 138.147 +39 2.31 1.01671 149.613 +40 2.37 1.00145 161.502 +41 2.43 1.00074 173.991 +42 2.49 1.00725 187.19 +43 2.55 0.996791 200.889 +44 2.61 1.00653 215.381 +45 2.67 0.989734 230.293 +46 2.73 1.01047 246.21 +47 2.79 0.993791 262.559 +48 2.85 0.998426 279.699 +49 2.91 0.993229 297.475 +50 2.97 1.00309 316.175 +101450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.06081 0.00784593 +5 0.27 0.115265 0.0256776 +6 0.33 0.188528 0.0691869 +7 0.39 0.279032 0.159058 +8 0.45 0.447664 0.350927 +9 0.51 0.600078 0.68117 +10 0.57 0.795999 1.22825 +11 0.63 0.905765 1.98859 +12 0.69 1.01376 3.00927 +13 0.75 1.05422 4.2632 +14 0.81 1.14401 5.85021 +15 0.87 1.16287 7.71113 +16 0.93 1.15229 9.81812 +17 0.99 1.05441 12.0029 +18 1.05 1.00073 14.3352 +19 1.11 0.966972 16.8538 +20 1.17 0.952194 19.6091 +21 1.23 0.937636 22.6077 +22 1.29 0.948369 25.9437 +23 1.35 1.00464 29.8138 +24 1.41 0.990896 33.9779 +25 1.47 1.0163 38.6198 +26 1.53 1.00058 43.5706 +27 1.59 1.01606 49 +28 1.65 1.02533 54.9001 +29 1.71 1.01569 61.1776 +30 1.77 0.987324 67.7154 +31 1.83 0.998116 74.7803 +32 1.89 0.999713 82.3281 +33 1.95 0.987423 90.2639 +34 2.01 1.00871 98.8773 +35 2.07 0.97558 107.713 +36 2.13 0.99816 117.284 +37 2.19 1.0048 127.469 +38 2.25 1.00866 138.262 +39 2.31 0.996536 149.501 +40 2.37 1.0071 161.456 +41 2.43 1.00136 173.954 +42 2.49 0.997234 187.021 +43 2.55 0.995234 200.699 +44 2.61 1.00827 215.215 +45 2.67 1.00308 230.329 +46 2.73 1.00069 246.091 +47 2.79 0.99843 262.517 +48 2.85 1.0015 279.71 +49 2.91 0.994345 297.506 +50 2.97 1.0003 316.154 +101500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0888146 0.0042796 +4 0.21 0.0228037 0.0064194 +5 0.27 0.0968224 0.021398 +6 0.33 0.173075 0.0613409 +7 0.39 0.296748 0.156919 +8 0.45 0.499253 0.370899 +9 0.51 0.585821 0.693295 +10 0.57 0.776281 1.22682 +11 0.63 0.898118 1.98074 +12 0.69 1.04706 3.03495 +13 0.75 1.0968 4.33951 +14 0.81 1.12704 5.903 +15 0.87 1.14772 7.73966 +16 0.93 1.12537 9.79743 +17 0.99 1.08195 12.0392 +18 1.05 0.995226 14.3588 +19 1.11 0.945611 16.8217 +20 1.17 0.98128 19.6612 +21 1.23 0.943212 22.6776 +22 1.29 0.966213 26.0763 +23 1.35 0.972975 29.8245 +24 1.41 0.984107 33.9601 +25 1.47 1.02567 38.6448 +26 1.53 1.00836 43.6341 +27 1.59 1.01099 49.0364 +28 1.65 1.00797 54.8367 +29 1.71 1.00438 61.0442 +30 1.77 1.00553 67.7026 +31 1.83 1.00789 74.8367 +32 1.89 1.01218 82.4786 +33 1.95 0.998251 90.5014 +34 2.01 1.00002 99.0407 +35 2.07 0.977943 107.897 +36 2.13 0.985589 117.348 +37 2.19 1.00037 127.489 +38 2.25 1.00413 138.233 +39 2.31 1.00172 149.53 +40 2.37 1.00314 161.439 +41 2.43 1.00445 173.974 +42 2.49 1.01808 187.315 +43 2.55 0.994819 200.987 +44 2.61 1.00316 215.43 +45 2.67 0.995037 230.422 +46 2.73 0.989456 246.008 +47 2.79 1.00034 262.465 +48 2.85 0.998717 279.61 +49 2.91 0.992113 297.366 +50 2.97 1.00875 316.172 +101550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0684112 0.00713267 +5 0.27 0.101433 0.0228245 +6 0.33 0.188528 0.0663338 +7 0.39 0.33218 0.173324 +8 0.45 0.450992 0.366619 +9 0.51 0.574157 0.682596 +10 0.57 0.767978 1.21041 +11 0.63 0.876026 1.94579 +12 0.69 0.990383 2.94294 +13 0.75 1.12858 4.28531 +14 0.81 1.18463 5.92867 +15 0.87 1.17401 7.80742 +16 0.93 1.1086 9.83452 +17 0.99 1.0613 12.0335 +18 1.05 0.974109 14.3039 +19 1.11 0.943421 16.7611 +20 1.17 0.955399 19.5257 +21 1.23 0.966853 22.6177 +22 1.29 0.958102 25.9879 +23 1.35 0.996119 29.8252 +24 1.41 0.979863 33.9429 +25 1.47 1.01052 38.5585 +26 1.53 1.02494 43.6298 +27 1.59 1.01233 49.0392 +28 1.65 1.02173 54.9187 +29 1.71 1.00992 61.1605 +30 1.77 1.01081 67.8538 +31 1.83 0.987233 74.8417 +32 1.89 0.996218 82.3631 +33 1.95 0.988399 90.3067 +34 2.01 0.99593 98.811 +35 2.07 0.992119 107.796 +36 2.13 0.999275 117.378 +37 2.19 0.998258 127.497 +38 2.25 1.00859 138.289 +39 2.31 1.00975 149.677 +40 2.37 1.0023 161.576 +41 2.43 0.989305 173.922 +42 2.49 0.998269 187.004 +43 2.55 0.997362 200.71 +44 2.61 0.996326 215.055 +45 2.67 1.00583 230.21 +46 2.73 0.996293 245.903 +47 2.79 0.995048 262.273 +48 2.85 1.01343 279.67 +49 2.91 0.994544 297.47 +50 2.97 0.994328 316.007 +101600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0152025 0.00142653 +5 0.27 0.0922118 0.0156919 +6 0.33 0.222524 0.0670471 +7 0.39 0.323322 0.171184 +8 0.45 0.392746 0.339515 +9 0.51 0.583229 0.660485 +10 0.57 0.775243 1.1933 +11 0.63 0.904916 1.95292 +12 0.69 1.03218 2.99215 +13 0.75 1.11299 4.31598 +14 0.81 1.12756 5.88017 +15 0.87 1.16465 7.74394 +16 0.93 1.14878 9.84451 +17 0.99 1.03755 11.9943 +18 1.05 1.00685 14.3409 +19 1.11 0.953553 16.8245 +20 1.17 0.946525 19.5635 +21 1.23 0.970868 22.6683 +22 1.29 0.964591 26.0613 +23 1.35 1.00056 29.9158 +24 1.41 0.989029 34.072 +25 1.47 1.01005 38.6854 +26 1.53 0.996254 43.6148 +27 1.59 1.01393 49.0328 +28 1.65 1.02099 54.908 +29 1.71 1.00923 61.1455 +30 1.77 1.01199 67.8466 +31 1.83 0.995295 74.8916 +32 1.89 0.99858 82.4308 +33 1.95 0.984051 90.3395 +34 2.01 1.0022 98.8973 +35 2.07 0.996293 107.92 +36 2.13 1.00999 117.605 +37 2.19 0.989815 127.638 +38 2.25 1.00786 138.422 +39 2.31 0.996156 149.657 +40 2.37 1.0032 161.566 +41 2.43 0.996906 174.008 +42 2.49 1.00741 187.209 +43 2.55 0.999283 200.942 +44 2.61 1.00128 215.358 +45 2.67 1.00375 230.481 +46 2.73 0.997063 246.187 +47 2.79 1.00298 262.688 +48 2.85 0.998841 279.835 +49 2.91 1.00267 297.78 +50 2.97 1.00164 316.453 +101650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0228037 0.00356633 +5 0.27 0.119875 0.0221113 +6 0.33 0.194709 0.0670471 +7 0.39 0.316679 0.169044 +8 0.45 0.459313 0.365906 +9 0.51 0.601374 0.696862 +10 0.57 0.727504 1.19686 +11 0.63 0.913413 1.96362 +12 0.69 1.00668 2.97718 +13 0.75 1.05542 4.23252 +14 0.81 1.15583 5.83595 +15 0.87 1.16956 7.70756 +16 0.93 1.13045 9.77461 +17 0.99 1.08333 12.0193 +18 1.05 0.983902 14.3124 +19 1.11 0.969984 16.8388 +20 1.17 0.932229 19.5364 +21 1.23 0.944996 22.5585 +22 1.29 0.985882 26.0264 +23 1.35 0.989453 29.8381 +24 1.41 0.989199 33.995 +25 1.47 0.97507 38.4486 +26 1.53 1.02206 43.5057 +27 1.59 1.02247 48.9693 +28 1.65 1.01653 54.8188 +29 1.71 1.01269 61.0777 +30 1.77 1.01134 67.7746 +31 1.83 0.991869 74.7953 +32 1.89 0.986959 82.2468 +33 1.95 1.00775 90.3459 +34 2.01 0.987828 98.781 +35 2.07 0.994088 107.784 +36 2.13 1.00255 117.397 +37 2.19 0.996429 127.498 +38 2.25 1.00699 138.272 +39 2.31 0.992046 149.461 +40 2.37 1.00164 161.352 +41 2.43 1.00525 173.897 +42 2.49 0.994676 186.932 +43 2.55 1.00894 200.797 +44 2.61 1.00688 215.294 +45 2.67 0.991297 230.23 +46 2.73 1.00132 246.002 +47 2.79 1.00103 262.471 +48 2.85 1.00146 279.663 +49 2.91 0.999008 297.542 +50 2.97 1.00229 316.228 +101700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0532087 0.0064194 +5 0.27 0.0829907 0.0192582 +6 0.33 0.213253 0.0684736 +7 0.39 0.316679 0.170471 +8 0.45 0.401067 0.342368 +9 0.51 0.60267 0.674037 +10 0.57 0.74826 1.1883 +11 0.63 0.92106 1.96148 +12 0.69 0.987549 2.95578 +13 0.75 1.14417 4.31669 +14 0.81 1.12858 5.88231 +15 0.87 1.17134 7.75678 +16 0.93 1.12615 9.81598 +17 0.99 1.04065 11.9722 +18 1.05 1.00318 14.3103 +19 1.11 0.979295 16.8609 +20 1.17 0.942828 19.5892 +21 1.23 0.942542 22.6034 +22 1.29 0.94553 25.9294 +23 1.35 1.00241 29.791 +24 1.41 1.00414 34.0107 +25 1.47 0.994746 38.5542 +26 1.53 1.02047 43.6034 +27 1.59 1.01646 49.035 +28 1.65 1.02049 54.9073 +29 1.71 0.993882 61.0499 +30 1.77 1.00844 67.7275 +31 1.83 0.982094 74.679 +32 1.89 1.01823 82.3666 +33 1.95 0.999227 90.3973 +34 2.01 0.99852 98.9237 +35 2.07 0.993458 107.921 +36 2.13 0.987671 117.392 +37 2.19 1.01402 127.67 +38 2.25 1.00473 138.421 +39 2.31 0.993943 149.631 +40 2.37 0.994365 161.435 +41 2.43 1.00376 173.962 +42 2.49 1.01248 187.23 +43 2.55 1.00141 200.992 +44 2.61 0.9937 215.299 +45 2.67 0.995131 230.292 +46 2.73 1.00992 246.2 +47 2.79 0.992577 262.53 +48 2.85 0.998467 279.67 +49 2.91 1.00335 297.628 +50 2.97 1.00301 316.327 +101750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0380062 0.00356633 +5 0.27 0.0876012 0.0171184 +6 0.33 0.173075 0.0570613 +7 0.39 0.329966 0.163338 +8 0.45 0.462642 0.361626 +9 0.51 0.613039 0.699001 +10 0.57 0.735806 1.20471 +11 0.63 0.895569 1.95649 +12 0.69 1.03785 3.00143 +13 0.75 1.07881 4.28459 +14 0.81 1.16355 5.89872 +15 0.87 1.1544 7.74608 +16 0.93 1.11172 9.77889 +17 0.99 1.07713 12.0107 +18 1.05 0.994001 14.3274 +19 1.11 0.963412 16.8367 +20 1.17 0.948497 19.5813 +21 1.23 0.964177 22.6648 +22 1.29 0.960738 26.0442 +23 1.35 0.986676 29.8452 +24 1.41 1.00855 34.0835 +25 1.47 1.00037 38.6526 +26 1.53 1.01744 43.6869 +27 1.59 0.999111 49.0257 +28 1.65 1.00314 54.7981 +29 1.71 1.01431 61.067 +30 1.77 1.00154 67.699 +31 1.83 1.00074 74.7825 +32 1.89 0.987904 82.2411 +33 1.95 1.00615 90.3274 +34 2.01 0.999355 98.8609 +35 2.07 1.00763 107.986 +36 2.13 0.991539 117.494 +37 2.19 1.00579 127.69 +38 2.25 0.999127 138.38 +39 2.31 0.992994 149.579 +40 2.37 0.9907 161.34 +41 2.43 0.995077 173.759 +42 2.49 1.01547 187.066 +43 2.55 0.994612 200.735 +44 2.61 1.00366 215.185 +45 2.67 1.00162 230.276 +46 2.73 1.00227 246.063 +47 2.79 0.99882 262.496 +48 2.85 1.00399 279.731 +49 2.91 0.99279 297.499 +50 2.97 0.992377 316 +101800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.0968224 0.0192582 +6 0.33 0.191618 0.0634807 +7 0.39 0.31225 0.164051 +8 0.45 0.462642 0.36234 +9 0.51 0.625999 0.706847 +10 0.57 0.769016 1.23538 +11 0.63 0.89472 1.98645 +12 0.69 1.00739 3.00071 +13 0.75 1.05542 4.25606 +14 0.81 1.14195 5.84023 +15 0.87 1.17802 7.72539 +16 0.93 1.12654 9.78531 +17 0.99 1.05579 11.9729 +18 1.05 0.989717 14.2796 +19 1.11 0.97327 16.8146 +20 1.17 0.962547 19.5999 +21 1.23 0.969084 22.699 +22 1.29 0.945328 26.0243 +23 1.35 0.988342 29.8317 +24 1.41 0.996158 34.0178 +25 1.47 0.997869 38.5756 +26 1.53 1.00937 43.5699 +27 1.59 1.01526 48.995 +28 1.65 1.01256 54.8217 +29 1.71 1.01604 61.1013 +30 1.77 1.00176 67.7347 +31 1.83 1.00779 74.868 +32 1.89 0.985542 82.3088 +33 1.95 1.00429 90.3802 +34 2.01 0.987327 98.811 +35 2.07 1.0048 107.911 +36 2.13 1.00277 117.526 +37 2.19 1.00677 127.732 +38 2.25 0.993927 138.367 +39 2.31 0.988441 149.514 +40 2.37 1.00314 161.423 +41 2.43 1.00445 173.959 +42 2.49 0.995601 187.005 +43 2.55 1.00717 200.847 +44 2.61 1.01079 215.399 +45 2.67 1.00058 230.475 +46 2.73 0.999508 246.219 +47 2.79 0.996609 262.615 +48 2.85 0.9988 279.761 +49 2.91 1.00048 297.667 +50 2.97 0.992912 316.178 +101850 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0228037 0.00356633 +5 0.27 0.0968224 0.0185449 +6 0.33 0.166893 0.0570613 +7 0.39 0.307821 0.156205 +8 0.45 0.469298 0.357347 +9 0.51 0.572861 0.672611 +10 0.57 0.775243 1.20542 +11 0.63 0.907465 1.96719 +12 0.69 1.02368 2.99786 +13 0.75 1.0986 4.30456 +14 0.81 1.09928 5.82953 +15 0.87 1.15351 7.67546 +16 0.93 1.16282 9.80171 +17 0.99 1.0823 12.0442 +18 1.05 0.996756 14.3673 +19 1.11 0.947528 16.8352 +20 1.17 0.948497 19.5799 +21 1.23 0.951687 22.6234 +22 1.29 0.965605 26.02 +23 1.35 0.985935 29.8181 +24 1.41 1.0004 34.0221 +25 1.47 1.00193 38.5984 +26 1.53 1.00937 43.5927 +27 1.59 1.01299 49.0057 +28 1.65 1.01739 54.8602 +29 1.71 1.02123 61.1719 +30 1.77 1.0024 67.8096 +31 1.83 0.999326 74.883 +32 1.89 0.99499 82.3951 +33 1.95 0.999049 90.4244 +34 2.01 0.990167 98.8795 +35 2.07 0.997475 107.913 +36 2.13 0.990275 117.409 +37 2.19 1.00466 127.593 +38 2.25 0.999994 138.292 +39 2.31 1.00413 149.617 +40 2.37 1.00109 161.501 +41 2.43 1.02074 174.24 +42 2.49 0.987165 187.176 +43 2.55 0.990512 200.789 +44 2.61 0.995236 215.118 +45 2.67 1.00607 230.276 +46 2.73 0.991856 245.899 +47 2.79 1.00142 262.374 +48 2.85 1.0133 279.77 +49 2.91 0.999406 297.656 +50 2.97 1.00412 316.376 +101900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.0456075 0.0064194 +5 0.27 0.0783801 0.0185449 +6 0.33 0.176165 0.0592011 +7 0.39 0.310035 0.159058 +8 0.45 0.417709 0.338088 +9 0.51 0.607855 0.672611 +10 0.57 0.755525 1.19187 +11 0.63 0.934655 1.97646 +12 0.69 1.0003 2.98359 +13 0.75 1.0998 4.29173 +14 0.81 1.16303 5.90514 +15 0.87 1.16822 7.77461 +16 0.93 1.09378 9.77461 +17 0.99 1.05097 11.9522 +18 1.05 1.00073 14.2846 +19 1.11 0.944242 16.7439 +20 1.17 0.965505 19.5378 +21 1.23 0.947449 22.5678 +22 1.29 0.993182 26.0613 +23 1.35 0.984639 29.8545 +24 1.41 0.993272 34.0285 +25 1.47 0.987875 38.5407 +26 1.53 1.01672 43.5713 +27 1.59 1.01032 48.97 +28 1.65 1.01938 54.8359 +29 1.71 0.999076 61.0107 +30 1.77 1.02653 67.8081 +31 1.83 0.991566 74.8267 +32 1.89 0.999997 82.3766 +33 1.95 0.997452 90.393 +34 2.01 0.986157 98.8138 +35 2.07 0.980148 107.69 +36 2.13 1.00917 117.367 +37 2.19 1.00959 127.601 +38 2.25 0.995261 138.25 +39 2.31 1.00767 149.615 +40 2.37 0.998931 161.474 +41 2.43 0.998907 173.94 +42 2.49 1.00725 187.139 +43 2.55 0.997207 200.844 +44 2.61 0.998753 215.223 +45 2.67 1.00805 230.412 +46 2.73 0.991946 246.036 +47 2.79 1.00697 262.603 +48 2.85 0.986709 279.541 +49 2.91 1.00383 297.507 +50 2.97 1.00121 316.173 +101950 50 +1 0.03 0.281246 0.000713267 +2 0.09 0 0.000713267 +3 0.15 0.0444073 0.00285307 +4 0.21 0.06081 0.0085592 +5 0.27 0.0922118 0.0228245 +6 0.33 0.166893 0.0613409 +7 0.39 0.285675 0.153352 +8 0.45 0.444336 0.343795 +9 0.51 0.640256 0.696148 +10 0.57 0.750336 1.21184 +11 0.63 0.930406 1.99287 +12 0.69 1.05131 3.05136 +13 0.75 1.08301 4.33951 +14 0.81 1.15429 5.9408 +15 0.87 1.1027 7.70542 +16 0.93 1.11835 9.75036 +17 0.99 1.09676 12.0228 +18 1.05 0.995226 14.3424 +19 1.11 0.956292 16.8331 +20 1.17 0.942335 19.5599 +21 1.23 0.95704 22.6205 +22 1.29 0.985071 26.0856 +23 1.35 0.977048 29.8495 +24 1.41 0.998364 34.0449 +25 1.47 0.997713 38.602 +26 1.53 1.00822 43.5906 +27 1.59 1.01326 49.005 +28 1.65 1.01244 54.831 +29 1.71 1.00427 61.0378 +30 1.77 1.0135 67.7489 +31 1.83 0.999225 74.8217 +32 1.89 1.01086 82.4536 +33 1.95 0.982631 90.3509 +34 2.01 0.998269 98.8752 +35 2.07 0.990938 107.85 +36 2.13 0.996598 117.406 +37 2.19 0.997836 127.521 +38 2.25 1.00226 138.245 +39 2.31 1.00849 149.618 +40 2.37 0.985173 161.314 +41 2.43 1.00874 173.903 +42 2.49 1.00464 187.068 +43 2.55 1.00707 200.908 +44 2.61 1.00653 215.399 +45 2.67 0.997309 230.426 +46 2.73 1.00866 246.314 +47 2.79 0.992967 262.65 +48 2.85 0.990739 279.658 +49 2.91 1.00471 297.639 +50 2.97 0.996394 316.215 +102000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.110654 0.0199715 +6 0.33 0.179256 0.0613409 +7 0.39 0.274603 0.149786 +8 0.45 0.449328 0.342368 +9 0.51 0.666177 0.708987 +10 0.57 0.727504 1.20899 +11 0.63 0.89302 1.95863 +12 0.69 1.01872 2.98431 +13 0.75 1.11959 4.31598 +14 0.81 1.15172 5.91369 +15 0.87 1.14549 7.74679 +16 0.93 1.12771 9.80884 +17 0.99 1.06922 12.0243 +18 1.05 0.99798 14.3502 +19 1.11 0.953279 16.8331 +20 1.17 0.959589 19.6098 +21 1.23 0.958378 22.6748 +22 1.29 0.972702 26.0963 +23 1.35 0.966865 29.821 +24 1.41 0.991575 33.9879 +25 1.47 1.00771 38.5906 +26 1.53 1.01326 43.6041 +27 1.59 1.01206 49.0121 +28 1.65 1.02781 54.9265 +29 1.71 1.00658 61.1476 +30 1.77 1.01576 67.8738 +31 1.83 0.986125 74.8538 +32 1.89 1.0102 82.4807 +33 1.95 0.988843 90.428 +34 2.01 0.985573 98.8438 +35 2.07 0.998105 107.883 +36 2.13 0.999424 117.466 +37 2.19 1.00157 127.619 +38 2.25 0.993127 138.245 +39 2.31 1.0028 149.555 +40 2.37 1.02062 161.671 +41 2.43 1.00885 174.262 +42 2.49 1.00072 187.375 +43 2.55 0.996947 201.076 +44 2.61 0.991867 215.357 +45 2.67 0.995463 230.355 +46 2.73 1.00055 246.116 +47 2.79 1.00025 262.571 +48 2.85 1.00192 279.771 +49 2.91 1.00403 297.74 +50 2.97 0.989125 316.18 +102050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.106044 0.0192582 +6 0.33 0.20089 0.0656205 +7 0.39 0.307821 0.164765 +8 0.45 0.459313 0.361626 +9 0.51 0.609151 0.696862 +10 0.57 0.714012 1.18759 +11 0.63 0.933805 1.97147 +12 0.69 0.963463 2.94151 +13 0.75 1.13218 4.28816 +14 0.81 1.14092 5.8709 +15 0.87 1.1651 7.73538 +16 0.93 1.13786 9.81598 +17 0.99 1.05992 12.0121 +18 1.05 1.02889 14.4101 +19 1.11 0.940956 16.8609 +20 1.17 0.950222 19.6106 +21 1.23 0.947449 22.6405 +22 1.29 0.996426 26.1455 +23 1.35 0.978899 29.9165 +24 1.41 0.997685 34.1091 +25 1.47 1.00646 38.7061 +26 1.53 0.987461 43.592 +27 1.59 0.983627 48.8481 +28 1.65 1.04157 54.8417 +29 1.71 1.01027 61.0856 +30 1.77 0.995725 67.679 +31 1.83 1.01031 74.8302 +32 1.89 0.994328 82.3374 +33 1.95 1.00837 90.4415 +34 2.01 1.00303 99.0064 +35 2.07 0.98952 107.968 +36 2.13 0.989829 117.459 +37 2.19 0.995584 127.551 +38 2.25 1.00593 138.315 +39 2.31 1.00887 149.693 +40 2.37 0.989979 161.445 +41 2.43 1.00799 174.025 +42 2.49 0.997833 187.101 +43 2.55 0.993158 200.75 +44 2.61 1.01129 215.31 +45 2.67 0.999108 230.363 +46 2.73 0.996021 246.052 +47 2.79 0.995352 262.427 +48 2.85 1.00308 279.647 +49 2.91 1.00965 297.717 +50 2.97 0.997465 316.312 +102100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0532087 0.00499287 +5 0.27 0.110654 0.0221113 +6 0.33 0.194709 0.0670471 +7 0.39 0.307821 0.166191 +8 0.45 0.482612 0.373039 +9 0.51 0.561196 0.681883 +10 0.57 0.749298 1.19686 +11 0.63 0.912563 1.96291 +12 0.69 0.991091 2.96077 +13 0.75 1.12438 4.29815 +14 0.81 1.14812 5.89087 +15 0.87 1.14727 7.72682 +16 0.93 1.12732 9.78816 +17 0.99 1.07025 12.0057 +18 1.05 1.01022 14.3602 +19 1.11 0.951636 16.8388 +20 1.17 0.965998 19.6341 +21 1.23 0.944996 22.6562 +22 1.29 0.969052 26.0649 +23 1.35 0.972419 29.811 +24 1.41 1.00583 34.0378 +25 1.47 1.00068 38.6084 +26 1.53 1.00361 43.5742 +27 1.59 1.00405 48.9394 +28 1.65 1.04033 54.9258 +29 1.71 1.00046 61.1091 +30 1.77 1.0121 67.811 +31 1.83 0.998822 74.8809 +32 1.89 0.994706 82.3909 +33 1.95 1.01192 90.5235 +34 2.01 0.975048 98.8495 +35 2.07 0.991253 107.827 +36 2.13 0.99935 117.409 +37 2.19 1.01437 127.692 +38 2.25 1.00106 138.403 +39 2.31 0.994069 149.614 +40 2.37 1.00013 161.487 +41 2.43 1.00759 174.062 +42 2.49 0.993533 187.081 +43 2.55 1.01221 200.992 +44 2.61 0.995533 215.325 +45 2.67 0.999913 230.391 +46 2.73 1.00485 246.219 +47 2.79 1.00849 262.81 +48 2.85 0.994229 279.878 +49 2.91 0.992591 297.643 +50 2.97 1.00087 316.302 +102150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0532087 0.00570613 +5 0.27 0.106044 0.0221113 +6 0.33 0.188528 0.0656205 +7 0.39 0.301177 0.162625 +8 0.45 0.412716 0.339515 +9 0.51 0.618223 0.679743 +10 0.57 0.725428 1.17832 +11 0.63 0.908314 1.9408 +12 0.69 1.0173 2.96505 +13 0.75 1.0908 4.26248 +14 0.81 1.16817 5.88302 +15 0.87 1.16332 7.74465 +16 0.93 1.12381 9.79957 +17 0.99 1.10399 12.087 +18 1.05 0.976251 14.3623 +19 1.11 0.963138 16.8709 +20 1.17 0.940116 19.5913 +21 1.23 0.962616 22.6698 +22 1.29 0.951208 26.0157 +23 1.35 0.977048 29.7796 +24 1.41 1.00481 34.0021 +25 1.47 1.01458 38.6362 +26 1.53 1.0026 43.597 +27 1.59 1.0194 49.0442 +28 1.65 1.00859 54.8481 +29 1.71 0.993075 60.9857 +30 1.77 1.00822 67.6619 +31 1.83 1.02079 74.8873 +32 1.89 0.997635 82.4194 +33 1.95 0.988577 90.3645 +34 2.01 0.998353 98.8894 +35 2.07 0.999522 107.942 +36 2.13 0.997267 117.504 +37 2.19 0.994529 127.586 +38 2.25 0.99966 138.282 +39 2.31 0.996915 149.525 +40 2.37 1.01245 161.544 +41 2.43 0.997421 173.992 +42 2.49 0.99337 187.009 +43 2.55 1.00499 200.821 +44 2.61 1.00534 215.295 +45 2.67 0.997924 230.331 +46 2.73 0.988641 245.904 +47 2.79 0.999731 262.351 +48 2.85 0.991861 279.378 +49 2.91 1.01308 297.509 +50 2.97 1.00064 316.164 +102200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.030405 0.00356633 +5 0.27 0.0829907 0.0164051 +6 0.33 0.157621 0.0527817 +7 0.39 0.296748 0.148359 +8 0.45 0.449328 0.340942 +9 0.51 0.637664 0.691869 +10 0.57 0.791848 1.23609 +11 0.63 0.876026 1.97147 +12 0.69 0.986132 2.96434 +13 0.75 1.12199 4.29886 +14 0.81 1.13578 5.87447 +15 0.87 1.18204 7.76605 +16 0.93 1.09885 9.77532 +17 0.99 1.06302 11.9779 +18 1.05 1.00073 14.3103 +19 1.11 0.954922 16.7974 +20 1.17 0.931489 19.4929 +21 1.23 0.959939 22.5628 +22 1.29 0.987099 26.035 +23 1.35 0.991305 29.8538 +24 1.41 0.982919 33.9843 +25 1.47 1.00443 38.572 +26 1.53 1.00923 43.5656 +27 1.59 1.01927 49.0121 +28 1.65 1.00921 54.8195 +29 1.71 1.01673 61.1034 +30 1.77 1.00617 67.766 +31 1.83 1.00527 74.8816 +32 1.89 1.00019 82.433 +33 1.95 0.973401 90.2561 +34 2.01 0.99284 98.734 +35 2.07 0.998341 107.775 +36 2.13 1.00515 117.414 +37 2.19 1.00044 127.555 +38 2.25 0.997794 138.231 +39 2.31 0.996599 149.471 +40 2.37 1.00248 161.372 +41 2.43 1.00399 173.902 +42 2.49 1.00714 187.099 +43 2.55 1.00613 200.927 +44 2.61 1.00262 215.362 +45 2.67 0.998445 230.405 +46 2.73 0.996429 246.101 +47 2.79 0.991363 262.41 +48 2.85 1.00632 279.685 +49 2.91 1.00168 297.613 +50 2.97 0.996662 316.193 +102250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0684112 0.00784593 +5 0.27 0.110654 0.0249643 +6 0.33 0.176165 0.0656205 +7 0.39 0.310035 0.165478 +8 0.45 0.459313 0.36234 +9 0.51 0.571565 0.67689 +10 0.57 0.762789 1.20114 +11 0.63 0.885373 1.94437 +12 0.69 1.04777 2.99929 +13 0.75 1.0926 4.29886 +14 0.81 1.14607 5.88873 +15 0.87 1.17089 7.76248 +16 0.93 1.11289 9.79743 +17 0.99 1.06199 11.9979 +18 1.05 1.00043 14.3295 +19 1.11 0.971353 16.8595 +20 1.17 0.975118 19.6812 +21 1.23 0.939197 22.6847 +22 1.29 0.954858 26.0435 +23 1.35 0.978899 29.8146 +24 1.41 0.995988 34 +25 1.47 1.00802 38.6041 +26 1.53 1.01975 43.6498 +27 1.59 1.02914 49.1491 +28 1.65 1.00822 54.9508 +29 1.71 1.00208 61.1441 +30 1.77 1.00908 67.826 +31 1.83 0.974033 74.7204 +32 1.89 1.00179 82.2839 +33 1.95 0.990529 90.2447 +34 2.01 1.00512 98.8274 +35 2.07 0.998183 107.867 +36 2.13 1.00337 117.489 +37 2.19 1.00501 127.676 +38 2.25 1.00193 138.397 +39 2.31 1.00153 149.692 +40 2.37 1.00314 161.601 +41 2.43 1.00702 174.168 +42 2.49 0.995765 187.217 +43 2.55 1.00561 201.037 +44 2.61 0.986467 215.24 +45 2.67 1.0028 230.349 +46 2.73 0.993622 246 +47 2.79 1.00706 262.568 +48 2.85 0.995434 279.656 +49 2.91 1.00192 297.588 +50 2.97 1.00975 316.412 +102300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0592097 0.00285307 +4 0.21 0.0456075 0.00713267 +5 0.27 0.147539 0.0299572 +6 0.33 0.191618 0.0741797 +7 0.39 0.283461 0.165478 +8 0.45 0.427694 0.348787 +9 0.51 0.593598 0.675464 +10 0.57 0.743071 1.18616 +11 0.63 0.953348 1.98645 +12 0.69 0.994634 2.98787 +13 0.75 1.07581 4.26748 +14 0.81 1.11881 5.81954 +15 0.87 1.16688 7.68688 +16 0.93 1.14449 9.7796 +17 0.99 1.07713 12.0114 +18 1.05 1.01267 14.3716 +19 1.11 0.952458 16.8524 +20 1.17 0.955152 19.6163 +21 1.23 0.962169 22.6933 +22 1.29 0.964794 26.087 +23 1.35 0.977603 29.8531 +24 1.41 0.988859 34.0086 +25 1.47 0.974133 38.4579 +26 1.53 1.01961 43.5029 +27 1.59 1.01219 48.9116 +28 1.65 1.03152 54.8474 +29 1.71 1.00727 61.0728 +30 1.77 1.0038 67.7197 +31 1.83 0.995899 74.7689 +32 1.89 0.987999 82.2282 +33 1.95 0.999493 90.2611 +34 2.01 1.00136 98.8117 +35 2.07 1.00685 107.93 +36 2.13 0.992953 117.451 +37 2.19 1.00354 127.624 +38 2.25 0.995527 138.276 +39 2.31 0.979207 149.32 +40 2.37 1.01107 161.322 +41 2.43 0.996392 173.757 +42 2.49 1.0091 186.981 +43 2.55 1.00831 200.838 +44 2.61 1.0099 215.378 +45 2.67 1.00867 230.576 +46 2.73 0.998421 246.302 +47 2.79 0.99158 262.616 +48 2.85 0.989451 279.601 +49 2.91 0.994424 297.399 +50 2.97 1.00282 316.094 +102350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0228037 0.0021398 +5 0.27 0.119875 0.0206847 +6 0.33 0.20089 0.0670471 +7 0.39 0.303391 0.164765 +8 0.45 0.421037 0.345221 +9 0.51 0.583229 0.666191 +10 0.57 0.762789 1.19044 +11 0.63 0.902367 1.94793 +12 0.69 1.01943 2.97432 +13 0.75 1.0944 4.27603 +14 0.81 1.17177 5.90157 +15 0.87 1.16956 7.77318 +16 0.93 1.11367 9.80956 +17 0.99 1.05338 11.9922 +18 1.05 0.982372 14.2817 +19 1.11 0.977104 16.8267 +20 1.17 0.951208 19.5792 +21 1.23 0.941204 22.5892 +22 1.29 0.975338 26.02 +23 1.35 0.967975 29.7489 +24 1.41 0.999552 33.9494 +25 1.47 1.02582 38.6348 +26 1.53 1.02552 43.709 +27 1.59 1.00739 49.092 +28 1.65 0.993968 54.8117 +29 1.71 1.00035 60.9943 +30 1.77 1.0038 67.6412 +31 1.83 1.00628 74.7639 +32 1.89 1.00122 82.3231 +33 1.95 0.985293 90.2418 +34 2.01 0.995262 98.7404 +35 2.07 1.01086 107.895 +36 2.13 0.997639 117.461 +37 2.19 1.00044 127.603 +38 2.25 1.00406 138.346 +39 2.31 0.992425 149.539 +40 2.37 0.993284 161.33 +41 2.43 1.00576 173.882 +42 2.49 1.00502 187.052 +43 2.55 0.990719 200.668 +44 2.61 1.00851 215.188 +45 2.67 1.00427 230.319 +46 2.73 1.00236 246.108 +47 2.79 1.00238 262.598 +48 2.85 1.00262 279.81 +49 2.91 0.995022 297.618 +50 2.97 0.994098 316.151 +102400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0456075 0.00570613 +5 0.27 0.0876012 0.0192582 +6 0.33 0.194709 0.064194 +7 0.39 0.294533 0.159058 +8 0.45 0.439343 0.347361 +9 0.51 0.623407 0.690442 +10 0.57 0.7576 1.21113 +11 0.63 0.902367 1.96862 +12 0.69 0.986132 2.96148 +13 0.75 1.07401 4.23894 +14 0.81 1.18051 5.8766 +15 0.87 1.18605 7.77461 +16 0.93 1.09963 9.78531 +17 0.99 1.08643 12.0364 +18 1.05 0.990023 14.3438 +19 1.11 0.970806 16.8723 +20 1.17 0.959343 19.6484 +21 1.23 0.959493 22.7168 +22 1.29 0.961549 26.0991 +23 1.35 0.971493 29.8417 +24 1.41 0.987671 33.9922 +25 1.47 0.993809 38.5314 +26 1.53 1.01298 43.5435 +27 1.59 1.01139 48.9479 +28 1.65 1.01355 54.7803 +29 1.71 1.03601 61.1833 +30 1.77 1.00585 67.8438 +31 1.83 1.00467 74.9551 +32 1.89 0.981385 82.3645 +33 1.95 0.992038 90.3374 +34 2.01 0.995346 98.8367 +35 2.07 0.996057 107.857 +36 2.13 0.98968 117.347 +37 2.19 1.01958 127.683 +38 2.25 0.999327 138.375 +39 2.31 1.00387 149.697 +40 2.37 0.997129 161.534 +41 2.43 1.00805 174.115 +42 2.49 0.994839 187.151 +43 2.55 0.999802 200.892 +44 2.61 0.991916 215.173 +45 2.67 0.999297 230.229 +46 2.73 0.999599 245.974 +47 2.79 1.01005 262.591 +48 2.85 1.00487 279.842 +49 2.91 0.998051 297.704 +50 2.97 0.998919 316.327 +102450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0532087 0.00570613 +5 0.27 0.101433 0.021398 +6 0.33 0.176165 0.0620542 +7 0.39 0.281246 0.152639 +8 0.45 0.469298 0.35378 +9 0.51 0.622111 0.696148 +10 0.57 0.740995 1.20542 +11 0.63 0.905765 1.96576 +12 0.69 1.03572 3.00856 +13 0.75 1.06682 4.27746 +14 0.81 1.1183 5.82882 +15 0.87 1.1495 7.66833 +16 0.93 1.17101 9.80956 +17 0.99 1.07335 12.0335 +18 1.05 0.986657 14.3331 +19 1.11 0.953827 16.8174 +20 1.17 0.955892 19.5835 +21 1.23 0.965738 22.6719 +22 1.29 0.94695 26.0029 +23 1.35 0.983343 29.791 +24 1.41 0.992933 33.9636 +25 1.47 0.980692 38.4429 +26 1.53 1.02624 43.5207 +27 1.59 1.03128 49.0314 +28 1.65 1.01219 54.8559 +29 1.71 1.00715 61.0806 +30 1.77 1.01037 67.771 +31 1.83 0.984513 74.7397 +32 1.89 1.00897 82.3573 +33 1.95 0.993991 90.3459 +34 2.01 0.985823 98.7639 +35 2.07 0.991016 107.739 +36 2.13 1.01549 117.476 +37 2.19 1.0015 127.628 +38 2.25 0.99806 138.307 +39 2.31 1.00703 149.665 +40 2.37 0.99791 161.511 +41 2.43 0.99502 173.929 +42 2.49 1.00605 187.113 +43 2.55 0.9943 200.777 +44 2.61 0.999744 215.171 +45 2.67 0.994705 230.158 +46 2.73 0.999372 245.9 +47 2.79 1.00112 262.37 +48 2.85 1.01264 279.754 +49 2.91 1.0008 297.665 +50 2.97 1.00213 316.348 +102500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.0829907 0.0178317 +6 0.33 0.225615 0.0699001 +7 0.39 0.310035 0.169757 +8 0.45 0.429358 0.35378 +9 0.51 0.605262 0.686876 +10 0.57 0.739957 1.19544 +11 0.63 0.896419 1.94793 +12 0.69 0.991091 2.94579 +13 0.75 1.15377 4.31812 +14 0.81 1.11213 5.86091 +15 0.87 1.17535 7.7418 +16 0.93 1.1242 9.79743 +17 0.99 1.06199 11.9979 +18 1.05 1.00777 14.3466 +19 1.11 0.9782 16.8944 +20 1.17 0.963779 19.6833 +21 1.23 0.926484 22.6462 +22 1.29 0.969458 26.0563 +23 1.35 0.993156 29.8823 +24 1.41 0.980542 34.0029 +25 1.47 1.00833 38.6084 +26 1.53 1.00173 43.5649 +27 1.59 1.02114 49.0214 +28 1.65 0.991613 54.7275 +29 1.71 1.02458 61.0599 +30 1.77 0.994433 67.6448 +31 1.83 1.01283 74.8138 +32 1.89 0.998769 82.3545 +33 1.95 1.00872 90.4615 +34 2.01 1.00487 99.0421 +35 2.07 0.981093 107.927 +36 2.13 0.991986 117.439 +37 2.19 1.00783 127.655 +38 2.25 0.986661 138.213 +39 2.31 1.00469 149.544 +40 2.37 1.00812 161.511 +41 2.43 1.00571 174.063 +42 2.49 1.00094 187.179 +43 2.55 0.996532 200.874 +44 2.61 0.99905 215.258 +45 2.67 0.995841 230.262 +46 2.73 0.999508 246.006 +47 2.79 1.00853 262.598 +48 2.85 1.0032 279.82 +49 2.91 0.991834 297.571 +50 2.97 1.00355 316.28 +102550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.0968224 0.0192582 +6 0.33 0.160712 0.0563481 +7 0.39 0.28789 0.149073 +8 0.45 0.454321 0.343795 +9 0.51 0.60267 0.675464 +10 0.57 0.79081 1.21897 +11 0.63 0.889621 1.96576 +12 0.69 1.04706 3.01997 +13 0.75 1.0992 4.32739 +14 0.81 1.15069 5.92368 +15 0.87 1.16376 7.78602 +16 0.93 1.11523 9.82525 +17 0.99 1.0551 12.0114 +18 1.05 0.976251 14.2867 +19 1.11 0.943147 16.7432 +20 1.17 0.940116 19.4636 +21 1.23 0.961946 22.5399 +22 1.29 0.971283 25.9565 +23 1.35 1.00204 29.8167 +24 1.41 0.998873 34.0143 +25 1.47 1.00552 38.607 +26 1.53 1.01672 43.6377 +27 1.59 1.02768 49.1291 +28 1.65 0.982812 54.7846 +29 1.71 0.996537 60.9437 +30 1.77 1.03063 67.7682 +31 1.83 0.97504 74.6698 +32 1.89 1.0017 82.2325 +33 1.95 0.996121 90.2382 +34 2.01 0.997684 98.7575 +35 2.07 0.998499 107.8 +36 2.13 1.00091 117.398 +37 2.19 1.00874 127.623 +38 2.25 0.992927 138.248 +39 2.31 0.998496 149.509 +40 2.37 1.00001 161.38 +41 2.43 1.00051 173.867 +42 2.49 1.00556 187.044 +43 2.55 0.997259 200.749 +44 2.61 0.993403 215.051 +45 2.67 1.00663 230.218 +46 2.73 1.00064 245.98 +47 2.79 1.00615 262.533 +48 2.85 0.995684 279.626 +49 2.91 1.00188 297.556 +50 2.97 1.00443 316.282 +102600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0684112 0.00713267 +5 0.27 0.0876012 0.0206847 +6 0.33 0.185437 0.0634807 +7 0.39 0.318893 0.166191 +8 0.45 0.484276 0.373752 +9 0.51 0.556012 0.679743 +10 0.57 0.7576 1.20043 +11 0.63 0.913413 1.96719 +12 0.69 1.02864 3.00285 +13 0.75 1.08001 4.28745 +14 0.81 1.15121 5.88445 +15 0.87 1.1749 7.76462 +16 0.93 1.13084 9.83238 +17 0.99 1.05648 12.0214 +18 1.05 1.01389 14.3845 +19 1.11 0.954375 16.8702 +20 1.17 0.933708 19.572 +21 1.23 0.959493 22.6405 +22 1.29 0.969458 26.0506 +23 1.35 0.987787 29.8559 +24 1.41 0.992424 34.0264 +25 1.47 1.00146 38.6006 +26 1.53 0.992074 43.5093 +27 1.59 1.02901 49.0078 +28 1.65 1.03723 54.9765 +29 1.71 1.00254 61.1726 +30 1.77 0.988293 67.7168 +31 1.83 0.990861 74.7304 +32 1.89 1.00019 82.2817 +33 1.95 1.00508 90.3595 +34 2.01 0.995179 98.8573 +35 2.07 0.997632 107.892 +36 2.13 1.00352 117.515 +37 2.19 1.006 127.713 +38 2.25 1.00166 138.43 +39 2.31 0.999888 149.707 +40 2.37 0.992683 161.491 +41 2.43 0.995478 173.915 +42 2.49 1.00311 187.06 +43 2.55 1.00847 200.919 +44 2.61 0.994344 215.235 +45 2.67 1.00346 230.354 +46 2.73 0.999916 246.105 +47 2.79 0.995655 262.485 +48 2.85 1.00075 279.665 +49 2.91 1.01084 297.756 +50 2.97 0.99999 316.399 +102650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.030405 0.00356633 +5 0.27 0.129097 0.0235378 +6 0.33 0.166893 0.0620542 +7 0.39 0.294533 0.156919 +8 0.45 0.436015 0.343795 +9 0.51 0.603966 0.676177 +10 0.57 0.778356 1.21113 +11 0.63 0.878575 1.94864 +12 0.69 1.02368 2.97932 +13 0.75 1.13158 4.32525 +14 0.81 1.13578 5.90086 +15 0.87 1.14727 7.7368 +16 0.93 1.12186 9.78816 +17 0.99 1.05166 11.9672 +18 1.05 1.00777 14.316 +19 1.11 0.973818 16.8524 +20 1.17 0.9448 19.5863 +21 1.23 0.943881 22.6049 +22 1.29 0.962361 25.99 +23 1.35 0.981306 29.7703 +24 1.41 0.9948 33.9508 +25 1.47 0.998494 38.5114 +26 1.53 1.01355 43.5264 +27 1.59 1.03675 49.0663 +28 1.65 1.00178 54.831 +29 1.71 1.01281 61.0906 +30 1.77 1.01307 67.7989 +31 1.83 0.994791 74.8402 +32 1.89 0.994612 82.3495 +33 1.95 0.988843 90.2967 +34 2.01 0.989833 98.7489 +35 2.07 1.00102 107.815 +36 2.13 1.00113 117.414 +37 2.19 0.993192 127.482 +38 2.25 1.00279 138.212 +39 2.31 1.00463 149.542 +40 2.37 0.999352 161.406 +41 2.43 1.00508 173.949 +42 2.49 0.993424 186.967 +43 2.55 1.00042 200.716 +44 2.61 1.01401 215.315 +45 2.67 0.994184 230.295 +46 2.73 1.0049 246.123 +47 2.79 0.989065 262.395 +48 2.85 1.0047 279.643 +49 2.91 1.0067 297.66 +50 2.97 0.993869 316.188 +102700 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0760125 0.0085592 +5 0.27 0.110654 0.0256776 +6 0.33 0.173075 0.0656205 +7 0.39 0.298962 0.161912 +8 0.45 0.437679 0.349501 +9 0.51 0.607855 0.684023 +10 0.57 0.74826 1.19829 +11 0.63 0.898118 1.95221 +12 0.69 1.0173 2.97646 +13 0.75 1.08661 4.2689 +14 0.81 1.13424 5.84237 +15 0.87 1.20209 7.76605 +16 0.93 1.11406 9.80314 +17 0.99 1.08781 12.0571 +18 1.05 0.988799 14.3616 +19 1.11 0.972723 16.8951 +20 1.17 0.947511 19.6369 +21 1.23 0.950349 22.6762 +22 1.29 0.951208 26.0221 +23 1.35 0.971123 29.7632 +24 1.41 1.01771 34.0399 +25 1.47 0.99662 38.592 +26 1.53 1.0222 43.6498 +27 1.59 1.02274 49.1148 +28 1.65 1.01182 54.9372 +29 1.71 1.01812 61.2297 +30 1.77 0.989693 67.7832 +31 1.83 1.00497 74.8966 +32 1.89 0.98507 82.3338 +33 1.95 0.992837 90.3131 +34 2.01 0.994677 98.8067 +35 2.07 1.01086 107.961 +36 2.13 0.996002 117.512 +37 2.19 0.995584 127.604 +38 2.25 0.999994 138.304 +39 2.31 0.999508 149.576 +40 2.37 1.01714 161.651 +41 2.43 0.98639 173.961 +42 2.49 1.00387 187.116 +43 2.55 1.00084 200.871 +44 2.61 1.00618 215.357 +45 2.67 0.996125 230.366 +46 2.73 0.99738 246.076 +47 2.79 1.00819 262.663 +48 2.85 1.001 279.847 +49 2.91 0.995779 297.668 +50 2.97 0.987633 316.081 +102750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0380062 0.00499287 +5 0.27 0.0968224 0.0199715 +6 0.33 0.157621 0.0563481 +7 0.39 0.285675 0.148359 +8 0.45 0.42603 0.330956 +9 0.51 0.574157 0.646933 +10 0.57 0.798075 1.19544 +11 0.63 0.930406 1.97646 +12 0.69 1.02439 3.00785 +13 0.75 1.0992 4.31526 +14 0.81 1.11624 5.86377 +15 0.87 1.15886 7.71826 +16 0.93 1.12108 9.76819 +17 0.99 1.07886 12.0036 +18 1.05 0.9787 14.2846 +19 1.11 1.00312 16.8973 +20 1.17 0.956385 19.6648 +21 1.23 0.913102 22.5849 +22 1.29 0.972905 26.0071 +23 1.35 0.969642 29.7425 +24 1.41 0.99463 33.9223 +25 1.47 1.00427 38.5093 +26 1.53 1.04051 43.6576 +27 1.59 1.01086 49.0592 +28 1.65 1.01578 54.9044 +29 1.71 1.00612 61.1227 +30 1.77 1.00187 67.7568 +31 1.83 0.988846 74.7561 +32 1.89 0.99858 82.2953 +33 1.95 0.983873 90.2026 +34 2.01 1.0037 98.7732 +35 2.07 1.00023 107.832 +36 2.13 1.00061 117.427 +37 2.19 1.0067 127.631 +38 2.25 0.999994 138.331 +39 2.31 1.00899 149.71 +40 2.37 1.00446 161.635 +41 2.43 0.992677 174.024 +42 2.49 0.98809 186.971 +43 2.55 1.00873 200.835 +44 2.61 0.999645 215.227 +45 2.67 0.999818 230.291 +46 2.73 1.00313 246.092 +47 2.79 1.0042 262.613 +48 2.85 1.00333 279.837 +49 2.91 0.996178 297.665 +50 2.97 0.999608 316.301 +102800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0228037 0.00356633 +5 0.27 0.0783801 0.0156919 +6 0.33 0.213253 0.0649073 +7 0.39 0.296748 0.160485 +8 0.45 0.447664 0.352354 +9 0.51 0.616927 0.691869 +10 0.57 0.755525 1.21113 +11 0.63 0.922759 1.98573 +12 0.69 1.01872 3.01141 +13 0.75 1.06682 4.28031 +14 0.81 1.16252 5.89301 +15 0.87 1.14549 7.72611 +16 0.93 1.14644 9.8224 +17 0.99 1.06337 12.0257 +18 1.05 0.982678 14.316 +19 1.11 0.942873 16.7718 +20 1.17 0.966491 19.5685 +21 1.23 0.970199 22.6712 +22 1.29 0.952425 26.0214 +23 1.35 0.990564 29.8374 +24 1.41 0.974941 33.9344 +25 1.47 1.00646 38.5314 +26 1.53 1.01427 43.5499 +27 1.59 1.00832 48.9379 +28 1.65 1.01901 54.8017 +29 1.71 1.02481 61.1355 +30 1.77 1.00574 67.7953 +31 1.83 0.983102 74.7539 +32 1.89 1.00028 82.306 +33 1.95 1.01343 90.4508 +34 2.01 0.987828 98.8859 +35 2.07 0.992985 107.879 +36 2.13 0.998606 117.454 +37 2.19 1.00339 127.626 +38 2.25 1.00379 138.366 +39 2.31 0.994069 149.577 +40 2.37 0.996588 161.408 +41 2.43 1.00051 173.894 +42 2.49 1.00534 187.068 +43 2.55 1.00427 200.87 +44 2.61 1.01188 215.439 +45 2.67 0.996125 230.447 +46 2.73 0.999644 246.193 +47 2.79 0.997737 262.608 +48 2.85 0.993772 279.668 +49 2.91 0.993109 297.442 +50 2.97 0.992645 315.947 +102850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.0829907 0.0178317 +6 0.33 0.210162 0.0663338 +7 0.39 0.303391 0.164051 +8 0.45 0.436015 0.350927 +9 0.51 0.624703 0.694722 +10 0.57 0.769016 1.22325 +11 0.63 0.890471 1.97076 +12 0.69 1.05272 3.03067 +13 0.75 1.0992 4.33809 +14 0.81 1.10647 5.87304 +15 0.87 1.15708 7.72468 +16 0.93 1.15814 9.84237 +17 0.99 1.04202 12.0014 +18 1.05 1.00563 14.3452 +19 1.11 0.965329 16.8595 +20 1.17 0.927299 19.5428 +21 1.23 0.959047 22.6098 +22 1.29 0.959927 25.9864 +23 1.35 0.978344 29.7553 +24 1.41 1.01194 34.0078 +25 1.47 1.01364 38.6377 +26 1.53 1.00216 43.5963 +27 1.59 1.02274 49.0613 +28 1.65 1.00599 54.8502 +29 1.71 1.01858 61.1455 +30 1.77 0.996479 67.7439 +31 1.83 1.00305 74.8438 +32 1.89 1.00122 82.403 +33 1.95 0.986447 90.331 +34 2.01 0.996014 98.8359 +35 2.07 0.986133 107.767 +36 2.13 1.01467 117.496 +37 2.19 0.997977 127.613 +38 2.25 1.00673 138.384 +39 2.31 0.990275 149.553 +40 2.37 1.00572 161.492 +41 2.43 1.00474 174.031 +42 2.49 0.988144 186.98 +43 2.55 1.00359 200.772 +44 2.61 1.00113 215.186 +45 2.67 1.01037 230.409 +46 2.73 1.00449 246.232 +47 2.79 0.998257 262.655 +48 2.85 0.991695 279.679 +49 2.91 0.997892 297.539 +50 2.97 1.00125 316.205 +102900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0532087 0.0064194 +5 0.27 0.119875 0.0249643 +6 0.33 0.166893 0.0634807 +7 0.39 0.305606 0.161912 +8 0.45 0.452656 0.35592 +9 0.51 0.598782 0.685449 +10 0.57 0.785621 1.22539 +11 0.63 0.899818 1.98074 +12 0.69 1.03572 3.02354 +13 0.75 1.08421 4.31312 +14 0.81 1.13938 5.89372 +15 0.87 1.14192 7.72111 +16 0.93 1.12342 9.77532 +17 0.99 1.09194 12.0378 +18 1.05 0.96707 14.2917 +19 1.11 0.92918 16.7118 +20 1.17 0.976597 19.5378 +21 1.23 0.970199 22.6405 +22 1.29 0.940664 25.9494 +23 1.35 0.986491 29.7496 +24 1.41 1.03248 34.0884 +25 1.47 0.991467 38.617 +26 1.53 1.01312 43.6298 +27 1.59 1.00886 49.0207 +28 1.65 1.00264 54.7903 +29 1.71 1.00819 61.0214 +30 1.77 1.0051 67.6769 +31 1.83 1.00114 74.7632 +32 1.89 0.984787 82.1983 +33 1.95 0.992571 90.1755 +34 2.01 1.01088 98.8074 +35 2.07 0.992198 107.793 +36 2.13 1.0021 117.402 +37 2.19 1.00283 127.568 +38 2.25 0.990661 138.168 +39 2.31 1.01393 149.603 +40 2.37 1.01041 161.598 +41 2.43 0.996735 174.037 +42 2.49 0.992063 187.037 +43 2.55 0.990148 200.645 +44 2.61 1.00787 215.155 +45 2.67 1.01255 230.412 +46 2.73 0.997652 246.126 +47 2.79 0.996869 262.526 +48 2.85 0.99801 279.659 +49 2.91 0.997294 297.508 +50 2.97 1.00083 316.166 +102950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0380062 0.00499287 +5 0.27 0.106044 0.021398 +6 0.33 0.173075 0.0613409 +7 0.39 0.301177 0.158345 +8 0.45 0.411052 0.334522 +9 0.51 0.64544 0.689729 +10 0.57 0.811566 1.2475 +11 0.63 0.861582 1.97076 +12 0.69 1.02793 3.00571 +13 0.75 1.0896 4.30171 +14 0.81 1.13167 5.87161 +15 0.87 1.14281 7.70043 +16 0.93 1.12732 9.76177 +17 0.99 1.07232 11.9836 +18 1.05 1.00716 14.331 +19 1.11 0.966424 16.8481 +20 1.17 0.945046 19.5827 +21 1.23 0.942096 22.5956 +22 1.29 0.959927 25.9722 +23 1.35 0.992045 29.7939 +24 1.41 0.999213 33.9929 +25 1.47 0.995215 38.5385 +26 1.53 1.01067 43.5392 +27 1.59 1.0222 49.0014 +28 1.65 1.00413 54.7796 +29 1.71 1.01708 61.0656 +30 1.77 0.999926 67.6869 +31 1.83 0.996706 74.7418 +32 1.89 1.01247 82.3859 +33 1.95 0.998162 90.408 +34 2.01 0.992339 98.8816 +35 2.07 0.990071 107.848 +36 2.13 0.994961 117.389 +37 2.19 1.00037 127.529 +38 2.25 0.999727 138.226 +39 2.31 0.997295 149.474 +40 2.37 1.01107 161.476 +41 2.43 1.00194 173.981 +42 2.49 0.990158 186.956 +43 2.55 1.00561 200.776 +44 2.61 1.00504 215.246 +45 2.67 1.00076 230.325 +46 2.73 0.999146 246.063 +47 2.79 0.996869 262.463 +48 2.85 1.00096 279.646 +49 2.91 1.00008 297.545 +50 2.97 1.0003 316.193 +103000 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0444073 0.00285307 +4 0.21 0.030405 0.00570613 +5 0.27 0.0783801 0.0178317 +6 0.33 0.169984 0.0570613 +7 0.39 0.325537 0.161912 +8 0.45 0.480947 0.368046 +9 0.51 0.578045 0.686163 +10 0.57 0.811566 1.24394 +11 0.63 0.881125 1.98359 +12 0.69 1.01022 3.00071 +13 0.75 1.06622 4.2689 +14 0.81 1.14504 5.85735 +15 0.87 1.17936 7.74465 +16 0.93 1.10275 9.76106 +17 0.99 1.06922 11.9765 +18 1.05 1.01848 14.3502 +19 1.11 0.979569 16.9016 +20 1.17 0.920151 19.5642 +21 1.23 0.935628 22.5563 +22 1.29 0.970471 25.97 +23 1.35 1.00741 29.8509 +24 1.41 0.981561 33.9757 +25 1.47 1.01676 38.6198 +26 1.53 0.999137 43.5635 +27 1.59 1.0194 49.0107 +28 1.65 1.01901 54.8745 +29 1.71 1.02008 61.179 +30 1.77 0.985169 67.7026 +31 1.83 1.00255 74.7989 +32 1.89 0.99499 82.311 +33 1.95 1.00082 90.3545 +34 2.01 0.997016 98.868 +35 2.07 0.998735 107.913 +36 2.13 1.00285 117.529 +37 2.19 0.977853 127.442 +38 2.25 1.00266 138.17 +39 2.31 1.00735 149.531 +40 2.37 1.00909 161.51 +41 2.43 0.994334 173.919 +42 2.49 1.00094 187.036 +43 2.55 1.00307 200.821 +44 2.61 0.988845 215.058 +45 2.67 1.01572 230.362 +46 2.73 1.00182 246.142 +47 2.79 0.997823 262.558 +48 2.85 1.00607 279.829 +49 2.91 0.997413 297.68 +50 2.97 0.9967 316.261 +103050 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.06081 0.00713267 +5 0.27 0.0553271 0.0156919 +6 0.33 0.154531 0.0513552 +7 0.39 0.323322 0.155492 +8 0.45 0.50591 0.372325 +9 0.51 0.568973 0.685449 +10 0.57 0.764865 1.21113 +11 0.63 0.887922 1.95649 +12 0.69 1.0003 2.96362 +13 0.75 1.13458 4.31312 +14 0.81 1.14144 5.89658 +15 0.87 1.17045 7.76961 +16 0.93 1.1285 9.8331 +17 0.99 1.05441 12.0178 +18 1.05 0.984208 14.3117 +19 1.11 0.964233 16.8231 +20 1.17 0.953673 19.5827 +21 1.23 0.957486 22.6448 +22 1.29 0.962158 26.0292 +23 1.35 0.977048 29.7932 +24 1.41 0.990896 33.9572 +25 1.47 1.00927 38.567 +26 1.53 0.993659 43.4836 +27 1.59 1.04236 49.0535 +28 1.65 1.01801 54.9116 +29 1.71 0.999422 61.0884 +30 1.77 1.0037 67.7347 +31 1.83 0.99862 74.8031 +32 1.89 0.997635 82.3352 +33 1.95 0.993192 90.3174 +34 2.01 0.993174 98.7981 +35 2.07 1.00464 107.897 +36 2.13 0.995407 117.442 +37 2.19 0.991363 127.491 +38 2.25 1.00433 138.237 +39 2.31 1.00318 149.551 +40 2.37 1.00716 161.507 +41 2.43 1.00216 174.014 +42 2.49 0.999303 187.109 +43 2.55 1.00411 200.909 +44 2.61 1.00019 215.309 +45 2.67 0.996551 230.324 +46 2.73 0.996746 246.024 +47 2.79 0.987114 262.264 +48 2.85 1.00399 279.499 +49 2.91 1.00897 297.557 +50 2.97 1.00294 316.255 +103100 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0444073 0.00285307 +4 0.21 0.0760125 0.00998573 +5 0.27 0.119875 0.0285307 +6 0.33 0.194709 0.0734665 +7 0.39 0.301177 0.170471 +8 0.45 0.452656 0.364479 +9 0.51 0.575453 0.68117 +10 0.57 0.776281 1.21469 +11 0.63 0.880275 1.95364 +12 0.69 1.00668 2.96719 +13 0.75 1.1004 4.27603 +14 0.81 1.13167 5.84593 +15 0.87 1.15529 7.69472 +16 0.93 1.14839 9.79458 +17 0.99 1.06577 12.0029 +18 1.05 0.999204 14.3317 +19 1.11 0.948898 16.8031 +20 1.17 0.984978 19.6534 +21 1.23 0.935628 22.6455 +22 1.29 0.946341 25.9743 +23 1.35 0.978344 29.7432 +24 1.41 0.99446 33.9223 +25 1.47 1.02286 38.5942 +26 1.53 1.0049 43.5663 +27 1.59 1.03101 49.0756 +28 1.65 1.00773 54.8745 +29 1.71 1.01604 61.1541 +30 1.77 1.0052 67.8103 +31 1.83 0.986729 74.7946 +32 1.89 0.992439 82.2874 +33 1.95 1.0105 90.4087 +34 2.01 0.984737 98.8174 +35 2.07 0.988496 107.77 +36 2.13 0.994515 117.306 +37 2.19 1.01733 127.618 +38 2.25 1.01713 138.501 +39 2.31 0.997738 149.754 +40 2.37 0.992202 161.533 +41 2.43 1.00811 174.114 +42 2.49 0.994785 187.15 +43 2.55 0.998867 200.877 +44 2.61 1.00192 215.302 +45 2.67 0.997119 230.326 +46 2.73 0.999237 246.066 +47 2.79 1.00147 262.541 +48 2.85 0.990781 279.55 +49 2.91 1.00817 297.593 +50 2.97 1.0029 316.29 +103150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0684112 0.0064194 +5 0.27 0.0783801 0.0185449 +6 0.33 0.179256 0.0599144 +7 0.39 0.35654 0.17475 +8 0.45 0.475955 0.378745 +9 0.51 0.635072 0.728245 +10 0.57 0.730617 1.23039 +11 0.63 0.871778 1.9622 +12 0.69 1.0088 2.97789 +13 0.75 1.08601 4.26961 +14 0.81 1.10956 5.80884 +15 0.87 1.15708 7.66049 +16 0.93 1.17335 9.80599 +17 0.99 1.08953 12.0635 +18 1.05 0.975945 14.3381 +19 1.11 0.982034 16.8959 +20 1.17 0.975364 19.7183 +21 1.23 0.936521 22.7133 +22 1.29 0.967835 26.1177 +23 1.35 0.966679 29.8417 +24 1.41 0.972056 33.9265 +25 1.47 1.01067 38.5428 +26 1.53 1.00231 43.5021 +27 1.59 1.01686 48.9358 +28 1.65 1.03029 54.8645 +29 1.71 1.02493 61.199 +30 1.77 0.991201 67.7625 +31 1.83 1.01464 74.9444 +32 1.89 1.00349 82.5207 +33 1.95 0.981921 90.4123 +34 2.01 0.999355 98.9458 +35 2.07 0.982511 107.844 +36 2.13 0.999201 117.425 +37 2.19 1.01184 127.682 +38 2.25 0.992994 138.307 +39 2.31 0.989895 149.471 +40 2.37 1.0071 161.427 +41 2.43 1.00942 174.024 +42 2.49 1.0036 187.175 +43 2.55 0.999179 200.907 +44 2.61 1.00495 215.376 +45 2.67 1.01014 230.596 +46 2.73 0.99249 246.229 +47 2.79 0.986898 262.465 +48 2.85 1.00549 279.726 +49 2.91 0.998808 297.602 +50 2.97 1.00221 316.286 +103200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.06081 0.0064194 +5 0.27 0.0829907 0.0192582 +6 0.33 0.197799 0.0649073 +7 0.39 0.343253 0.175464 +8 0.45 0.470962 0.377318 +9 0.51 0.546939 0.678317 +10 0.57 0.761751 1.20185 +11 0.63 0.914262 1.96933 +12 0.69 1.03501 3.01141 +13 0.75 1.05422 4.26534 +14 0.81 1.1399 5.84665 +15 0.87 1.13746 7.6669 +16 0.93 1.12381 9.72183 +17 0.99 1.07094 11.9408 +18 1.05 1.05001 14.388 +19 1.11 0.984498 16.9522 +20 1.17 0.932968 19.6519 +21 1.23 0.931168 22.6298 +22 1.29 0.964388 26.0221 +23 1.35 0.979825 29.7967 +24 1.41 0.998873 33.9943 +25 1.47 0.992091 38.5257 +26 1.53 1.01298 43.5378 +27 1.59 1.01379 48.9551 +28 1.65 1.0045 54.7354 +29 1.71 1.02031 61.0414 +30 1.77 1.00133 67.6719 +31 1.83 1.01353 74.8459 +32 1.89 0.999619 82.393 +33 1.95 0.997984 90.4137 +34 2.01 0.984153 98.8174 +35 2.07 0.994324 107.822 +36 2.13 1.01623 117.567 +37 2.19 0.990166 127.604 +38 2.25 1.00339 138.34 +39 2.31 0.996915 149.583 +40 2.37 0.991721 161.357 +41 2.43 1.01211 173.988 +42 2.49 1.00181 187.116 +43 2.55 0.991913 200.748 +44 2.61 1.0153 215.365 +45 2.67 0.991533 230.305 +46 2.73 1.00232 246.093 +47 2.79 1.00086 262.558 +48 2.85 0.997345 279.68 +49 2.91 1.00467 297.66 +50 2.97 1.00225 316.345 +103250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.030405 0.00356633 +5 0.27 0.106044 0.0199715 +6 0.33 0.173075 0.0599144 +7 0.39 0.259101 0.143367 +8 0.45 0.411052 0.319544 +9 0.51 0.63896 0.671184 +10 0.57 0.764865 1.19686 +11 0.63 0.910014 1.96077 +12 0.69 1.03643 3.00428 +13 0.75 1.08721 4.29743 +14 0.81 1.15635 5.90157 +15 0.87 1.16644 7.76819 +16 0.93 1.148 9.86733 +17 0.99 1.04581 12.0342 +18 1.05 0.999816 14.3645 +19 1.11 0.958756 16.8616 +20 1.17 0.954413 19.6234 +21 1.23 0.930722 22.5999 +22 1.29 0.979191 26.0442 +23 1.35 0.97927 29.8167 +24 1.41 0.984955 33.9558 +25 1.47 1.01114 38.5742 +26 1.53 1.00822 43.5628 +27 1.59 1.00699 48.9437 +28 1.65 1.01628 54.7917 +29 1.71 1.01015 61.035 +30 1.77 1.00467 67.6876 +31 1.83 1.00215 74.781 +32 1.89 1.01114 82.4151 +33 1.95 0.993902 90.403 +34 2.01 0.998854 98.9322 +35 2.07 0.987709 107.877 +36 2.13 0.990572 117.376 +37 2.19 1.00522 127.566 +38 2.25 0.995727 138.22 +39 2.31 1.01715 149.691 +40 2.37 0.994846 161.501 +41 2.43 0.996906 173.943 +42 2.49 0.998976 187.034 +43 2.55 1.00058 200.785 +44 2.61 1.0044 215.245 +45 2.67 0.996693 230.262 +46 2.73 0.99335 245.909 +47 2.79 1.0143 262.596 +48 2.85 0.994063 279.661 +49 2.91 0.996377 297.494 +50 2.97 1.00776 316.281 +103300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0760125 0.00713267 +5 0.27 0.0737695 0.0185449 +6 0.33 0.157621 0.0549215 +7 0.39 0.31225 0.155492 +8 0.45 0.424365 0.337375 +9 0.51 0.614335 0.675464 +10 0.57 0.799113 1.22468 +11 0.63 0.856484 1.94365 +12 0.69 1.02297 2.97361 +13 0.75 1.1022 4.28459 +14 0.81 1.1327 5.85592 +15 0.87 1.20655 7.78673 +16 0.93 1.10899 9.81455 +17 0.99 1.08368 12.0599 +18 1.05 0.98482 14.3552 +19 1.11 0.923703 16.7611 +20 1.17 0.951701 19.515 +21 1.23 0.961054 22.5884 +22 1.29 0.976555 26.0235 +23 1.35 0.96742 29.7504 +24 1.41 0.999892 33.9522 +25 1.47 1.02083 38.6148 +26 1.53 1.01672 43.6455 +27 1.59 1.00231 49.0014 +28 1.65 1.00748 54.7989 +29 1.71 1.00311 60.9986 +30 1.77 1.01005 67.6869 +31 1.83 0.998519 74.7546 +32 1.89 1.01011 82.3809 +33 1.95 0.995766 90.3837 +34 2.01 0.995011 98.8802 +35 2.07 0.985346 107.804 +36 2.13 1.00247 117.417 +37 2.19 0.986367 127.415 +38 2.25 1.01513 138.277 +39 2.31 1.00318 149.591 +40 2.37 1.01011 161.582 +41 2.43 1.00234 174.091 +42 2.49 1.00692 187.286 +43 2.55 0.991082 200.907 +44 2.61 0.997663 215.27 +45 2.67 0.995084 230.263 +46 2.73 1.00059 246.024 +47 2.79 0.993618 262.371 +48 2.85 1.00167 279.566 +49 2.91 1.00762 297.6 +50 2.97 0.99406 316.132 +103350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.06081 0.00713267 +5 0.27 0.106044 0.0235378 +6 0.33 0.142168 0.0563481 +7 0.39 0.301177 0.153352 +8 0.45 0.434351 0.339515 +9 0.51 0.633776 0.688302 +10 0.57 0.760714 1.21113 +11 0.63 0.876026 1.9465 +12 0.69 1.04564 2.99929 +13 0.75 1.06622 4.26748 +14 0.81 1.13784 5.84593 +15 0.87 1.18248 7.73823 +16 0.93 1.1203 9.78673 +17 0.99 1.06577 11.995 +18 1.05 1.02154 14.3759 +19 1.11 0.968341 16.898 +20 1.17 0.938637 19.6141 +21 1.23 0.927599 22.5806 +22 1.29 0.972499 26.0014 +23 1.35 0.951497 29.6669 +24 1.41 0.998025 33.8609 +25 1.47 1.00802 38.465 +26 1.53 1.00966 43.4608 +27 1.59 1.03355 48.9836 +28 1.65 1.02347 54.873 +29 1.71 1.00381 61.077 +30 1.77 1.0093 67.7603 +31 1.83 1.0086 74.8994 +32 1.89 0.994517 82.408 +33 1.95 1.00029 90.4472 +34 2.01 0.979308 98.8096 +35 2.07 0.98826 107.76 +36 2.13 0.98901 117.243 +37 2.19 1.01296 127.511 +38 2.25 1.00159 138.228 +39 2.31 1.00115 149.519 +40 2.37 1.00915 161.499 +41 2.43 0.999764 173.976 +42 2.49 1.00828 187.189 +43 2.55 1.00115 200.948 +44 2.61 1.00197 215.374 +45 2.67 0.999913 230.439 +46 2.73 0.987146 245.989 +47 2.79 0.995872 262.372 +48 2.85 0.993731 279.432 +49 2.91 1.00232 297.37 +50 2.97 0.99781 315.972 +103400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0532087 0.00499287 +5 0.27 0.101433 0.0206847 +6 0.33 0.142168 0.053495 +7 0.39 0.272388 0.141227 +8 0.45 0.454321 0.335949 +9 0.51 0.701171 0.721826 +10 0.57 0.692218 1.19757 +11 0.63 0.903216 1.95578 +12 0.69 1.00455 2.96719 +13 0.75 1.08301 4.25535 +14 0.81 1.14144 5.8388 +15 0.87 1.16242 7.699 +16 0.93 1.15073 9.80314 +17 0.99 1.07404 12.0285 +18 1.05 0.98329 14.3203 +19 1.11 0.968341 16.8424 +20 1.17 0.952194 19.5977 +21 1.23 0.944327 22.6177 +22 1.29 0.97331 26.0414 +23 1.35 0.978159 29.8096 +24 1.41 0.988011 33.9615 +25 1.47 1.01801 38.6113 +26 1.53 0.979965 43.4601 +27 1.59 1.00872 48.8502 +28 1.65 1.02967 54.7753 +29 1.71 1.02458 61.1077 +30 1.77 1.0065 67.7725 +31 1.83 1.01484 74.9558 +32 1.89 0.978079 82.3402 +33 1.95 0.997097 90.3538 +34 2.01 1.00938 98.9729 +35 2.07 0.992513 107.961 +36 2.13 0.992358 117.477 +37 2.19 1.00297 127.644 +38 2.25 0.986195 138.196 +39 2.31 0.994575 149.413 +40 2.37 1.00608 161.357 +41 2.43 1.01114 173.976 +42 2.49 1.00622 187.161 +43 2.55 1.00292 200.944 +44 2.61 0.993056 215.242 +45 2.67 0.997262 230.267 +46 2.73 1.00884 246.158 +47 2.79 0.997346 262.566 +48 2.85 0.997429 279.689 +49 2.91 1.00024 297.591 +50 2.97 0.99429 316.127 +103450 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0836137 0.00927247 +5 0.27 0.101433 0.0249643 +6 0.33 0.185437 0.0677603 +7 0.39 0.31225 0.168331 +8 0.45 0.439343 0.356633 +9 0.51 0.593598 0.68331 +10 0.57 0.763827 1.20827 +11 0.63 0.92021 1.98074 +12 0.69 0.999593 2.98716 +13 0.75 1.06742 4.25678 +14 0.81 1.15069 5.85307 +15 0.87 1.15841 7.70685 +16 0.93 1.17608 9.85735 +17 0.99 1.05648 12.0464 +18 1.05 1.02675 14.4394 +19 1.11 0.962864 16.9472 +20 1.17 0.932968 19.6469 +21 1.23 0.91444 22.5713 +22 1.29 0.967835 25.9757 +23 1.35 0.96705 29.7011 +24 1.41 1.00295 33.9158 +25 1.47 1.00771 38.5185 +26 1.53 1.01788 43.5549 +27 1.59 1.00392 48.9194 +28 1.65 1.0226 54.8039 +29 1.71 1.03127 61.1776 +30 1.77 0.99928 67.7946 +31 1.83 1.01031 74.9458 +32 1.89 0.989416 82.4158 +33 1.95 0.996476 90.4244 +34 2.01 1.00211 98.9815 +35 2.07 0.985976 107.911 +36 2.13 0.99868 117.487 +37 2.19 0.994881 127.572 +38 2.25 0.99706 138.24 +39 2.31 1.00261 149.548 +40 2.37 0.995927 161.371 +41 2.43 1.01268 174.009 +42 2.49 1.014 187.297 +43 2.55 0.994975 200.971 +44 2.61 0.991421 215.245 +45 2.67 1.00526 230.391 +46 2.73 1.00336 246.195 +47 2.79 0.994442 262.556 +48 2.85 1.00395 279.79 +49 2.91 0.99829 297.657 +50 2.97 0.992721 316.164 +103500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0532087 0.00570613 +5 0.27 0.138318 0.0271041 +6 0.33 0.179256 0.0684736 +7 0.39 0.252457 0.149786 +8 0.45 0.475955 0.35378 +9 0.51 0.636368 0.703994 +10 0.57 0.755525 1.22325 +11 0.63 0.900667 1.97932 +12 0.69 0.993217 2.97932 +13 0.75 1.0914 4.27746 +14 0.81 1.1291 5.84379 +15 0.87 1.15841 7.69757 +16 0.93 1.14605 9.79315 +17 0.99 1.05579 11.9807 +18 1.05 1.01328 14.3424 +19 1.11 0.959578 16.8417 +20 1.17 0.951208 19.5942 +21 1.23 0.926707 22.5578 +22 1.29 0.977568 25.9964 +23 1.35 0.988712 29.8053 +24 1.41 1.0004 34.0093 +25 1.47 0.996152 38.5592 +26 1.53 1.01701 43.5913 +27 1.59 1.01259 49.0021 +28 1.65 0.990249 54.7004 +29 1.71 1.01073 60.9472 +30 1.77 1.01641 67.6776 +31 1.83 0.995496 74.724 +32 1.89 1.00085 82.2803 +33 1.95 1.00784 90.3802 +34 2.01 0.992923 98.8588 +35 2.07 1.00173 107.931 +36 2.13 0.982465 117.352 +37 2.19 0.99277 127.415 +38 2.25 1.00853 138.206 +39 2.31 1.0033 149.521 +40 2.37 1.00242 161.422 +41 2.43 0.99622 173.854 +42 2.49 1.0054 187.029 +43 2.55 0.998037 200.745 +44 2.61 1.00475 215.211 +45 2.67 0.997924 230.247 +46 2.73 1.00757 246.118 +47 2.79 1.00606 262.669 +48 2.85 0.988371 279.636 +49 2.91 1.002 297.569 +50 2.97 0.999608 316.205 +103550 50 +1 0.03 0.281246 0.000713267 +2 0.09 0 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0228037 0.00356633 +5 0.27 0.138318 0.0249643 +6 0.33 0.188528 0.0684736 +7 0.39 0.283461 0.159772 +8 0.45 0.439343 0.348074 +9 0.51 0.635072 0.697575 +10 0.57 0.791848 1.2418 +11 0.63 0.887922 1.98716 +12 0.69 0.997467 2.99144 +13 0.75 1.0938 4.29244 +14 0.81 1.13732 5.87019 +15 0.87 1.15262 7.71469 +16 0.93 1.14917 9.81598 +17 0.99 1.06646 12.0257 +18 1.05 0.977782 14.3046 +19 1.11 0.964781 16.8174 +20 1.17 0.94825 19.5613 +21 1.23 0.955255 22.6163 +22 1.29 0.951411 25.9629 +23 1.35 0.99797 29.8074 +24 1.41 1.01143 34.0578 +25 1.47 1.0063 38.6541 +26 1.53 1.00707 43.6369 +27 1.59 0.999912 48.98 +28 1.65 1.02595 54.8837 +29 1.71 1.006 61.1013 +30 1.77 0.994971 67.6897 +31 1.83 0.999326 74.7632 +32 1.89 0.999713 82.311 +33 1.95 0.989731 90.2653 +34 2.01 0.992756 98.7425 +35 2.07 0.988024 107.69 +36 2.13 1.00865 117.362 +37 2.19 1.00783 127.578 +38 2.25 1.00519 138.334 +39 2.31 1.00773 149.699 +40 2.37 1.00578 161.639 +41 2.43 1.00451 174.175 +42 2.49 0.985586 187.091 +43 2.55 0.999802 200.831 +44 2.61 0.997019 215.185 +45 2.67 1.00512 230.33 +46 2.73 0.99901 246.066 +47 2.79 0.99791 262.483 +48 2.85 0.997138 279.601 +49 2.91 1.00192 297.532 +50 2.97 1.00408 316.251 +103600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0380062 0.00356633 +5 0.27 0.0922118 0.0178317 +6 0.33 0.216343 0.0677603 +7 0.39 0.290104 0.161198 +8 0.45 0.48594 0.369472 +9 0.51 0.580637 0.689016 +10 0.57 0.708823 1.17618 +11 0.63 0.921909 1.95007 +12 0.69 1.00668 2.96362 +13 0.75 1.13758 4.31669 +14 0.81 1.16869 5.93795 +15 0.87 1.15039 7.77889 +16 0.93 1.1164 9.82026 +17 0.99 1.06061 12.0178 +18 1.05 1.00716 14.3652 +19 1.11 0.942051 16.8188 +20 1.17 0.938391 19.5342 +21 1.23 0.957709 22.597 +22 1.29 0.958913 25.97 +23 1.35 0.991305 29.7889 +24 1.41 1.00821 34.0257 +25 1.47 1.00521 38.617 +26 1.53 1.01413 43.6348 +27 1.59 1.0158 49.0628 +28 1.65 1.00078 54.8217 +29 1.71 1.02135 61.1341 +30 1.77 0.995079 67.7233 +31 1.83 0.984412 74.6912 +32 1.89 1.00774 82.2996 +33 1.95 0.991683 90.2696 +34 2.01 1.00311 98.8352 +35 2.07 0.999837 107.89 +36 2.13 0.996374 117.444 +37 2.19 0.997555 127.556 +38 2.25 0.993794 138.19 +39 2.31 1.0119 149.602 +40 2.37 1.01215 161.618 +41 2.43 1.00125 174.113 +42 2.49 0.998541 187.198 +43 2.55 0.980599 200.675 +44 2.61 0.9991 215.059 +45 2.67 1.01336 230.327 +46 2.73 1.00431 246.147 +47 2.79 1.00168 262.626 +48 2.85 0.986709 279.565 +49 2.91 1.00467 297.546 +50 2.97 1.00389 316.261 +103650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0152025 0.00142653 +5 0.27 0.0783801 0.0135521 +6 0.33 0.169984 0.0527817 +7 0.39 0.298962 0.149073 +8 0.45 0.447664 0.340942 +9 0.51 0.646736 0.696862 +10 0.57 0.751373 1.21327 +11 0.63 0.907465 1.97504 +12 0.69 1.03856 3.02068 +13 0.75 1.07821 4.30314 +14 0.81 1.1327 5.87447 +15 0.87 1.14014 7.699 +16 0.93 1.15502 9.81098 +17 0.99 1.07197 12.0321 +18 1.05 1.00073 14.3645 +19 1.11 0.956565 16.8559 +20 1.17 0.952687 19.6127 +21 1.23 0.951241 22.6548 +22 1.29 0.949586 25.995 +23 1.35 0.990009 29.8088 +24 1.41 0.978166 33.9194 +25 1.47 1.02176 38.5863 +26 1.53 1.02206 43.6434 +27 1.59 1.02621 49.127 +28 1.65 0.981696 54.776 +29 1.71 1.00554 60.9907 +30 1.77 1.00283 67.6312 +31 1.83 1.00527 74.7468 +32 1.89 0.994139 82.2525 +33 1.95 1.01733 90.4287 +34 2.01 0.99309 98.9087 +35 2.07 1.00433 108.004 +36 2.13 0.991911 117.516 +37 2.19 0.993192 127.583 +38 2.25 0.994994 138.23 +39 2.31 0.987745 149.369 +40 2.37 1.00981 161.357 +41 2.43 0.998449 173.818 +42 2.49 1.00959 187.048 +43 2.55 0.997103 200.751 +44 2.61 1.00628 215.239 +45 2.67 1.00365 230.361 +46 2.73 1.00177 246.141 +47 2.79 0.995135 262.512 +48 2.85 0.991404 279.531 +49 2.91 1.01276 297.657 +50 2.97 0.990846 316.129 +103700 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0532087 0.0064194 +5 0.27 0.101433 0.0221113 +6 0.33 0.142168 0.0549215 +7 0.39 0.283461 0.14622 +8 0.45 0.470962 0.348074 +9 0.51 0.609151 0.68331 +10 0.57 0.74826 1.19757 +11 0.63 0.909164 1.96077 +12 0.69 1.03572 3.00357 +13 0.75 1.07281 4.2796 +14 0.81 1.12961 5.84665 +15 0.87 1.16242 7.70685 +16 0.93 1.14527 9.801 +17 0.99 1.06715 12.0121 +18 1.05 0.994308 14.3295 +19 1.11 0.940682 16.7796 +20 1.17 0.969695 19.5856 +21 1.23 0.964623 22.6705 +22 1.29 0.95425 26.0271 +23 1.35 0.978714 29.7974 +24 1.41 0.988011 33.9494 +25 1.47 1.00849 38.5556 +26 1.53 1.00101 43.5086 +27 1.59 1.02327 48.9765 +28 1.65 1.00847 54.7796 +29 1.71 1.02193 61.0956 +30 1.77 1.01091 67.7896 +31 1.83 1.00396 74.8959 +32 1.89 0.988471 82.3588 +33 1.95 0.994346 90.3502 +34 2.01 0.998186 98.8738 +35 2.07 1.00504 107.976 +36 2.13 1.0018 117.582 +37 2.19 0.993122 127.649 +38 2.25 0.985528 138.194 +39 2.31 1.01317 149.621 +40 2.37 0.991421 161.39 +41 2.43 1.01182 174.018 +42 2.49 1.00268 187.157 +43 2.55 1.00115 200.916 +44 2.61 1.00202 215.342 +45 2.67 1.00247 230.447 +46 2.73 1.00911 246.342 +47 2.79 0.992881 262.676 +48 2.85 0.997055 279.792 +49 2.91 1.00447 297.77 +50 2.97 0.993563 316.292 +103750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0532087 0.00570613 +5 0.27 0.106044 0.0221113 +6 0.33 0.194709 0.0670471 +7 0.39 0.305606 0.165478 +8 0.45 0.467634 0.365906 +9 0.51 0.628592 0.71184 +10 0.57 0.7576 1.23252 +11 0.63 0.880275 1.97147 +12 0.69 1.01589 2.99429 +13 0.75 1.0896 4.2903 +14 0.81 1.11007 5.83024 +15 0.87 1.14192 7.65763 +16 0.93 1.15814 9.77532 +17 0.99 1.06956 11.9914 +18 1.05 0.975639 14.2653 +19 1.11 0.976009 16.8074 +20 1.17 0.961561 19.5899 +21 1.23 0.942766 22.6049 +22 1.29 0.952019 25.9536 +23 1.35 0.976492 29.7154 +24 1.41 1.01754 33.9914 +25 1.47 1.00209 38.5685 +26 1.53 1.02307 43.6305 +27 1.59 0.982559 48.8809 +28 1.65 1.02917 54.8031 +29 1.71 0.996883 60.9643 +30 1.77 1.01339 67.6748 +31 1.83 1.01353 74.8488 +32 1.89 1.00463 82.4337 +33 1.95 0.984406 90.3452 +34 2.01 0.986157 98.766 +35 2.07 0.9933 107.762 +36 2.13 1.00024 117.353 +37 2.19 1.00741 127.565 +38 2.25 1.00659 138.335 +39 2.31 1.00001 149.613 +40 2.37 0.998631 161.469 +41 2.43 0.999192 173.939 +42 2.49 1.00583 187.119 +43 2.55 1.00183 200.887 +44 2.61 0.99806 215.257 +45 2.67 1.00034 230.329 +46 2.73 0.990044 245.924 +47 2.79 1.00303 262.425 +48 2.85 0.998301 279.563 +49 2.91 1.00088 297.476 +50 2.97 0.995744 316.039 +103800 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0456075 0.00570613 +5 0.27 0.0829907 0.0185449 +6 0.33 0.145259 0.0520685 +7 0.39 0.323322 0.156205 +8 0.45 0.447664 0.348074 +9 0.51 0.671362 0.717546 +10 0.57 0.793924 1.2632 +11 0.63 0.887072 2.00785 +12 0.69 1.02368 3.03852 +13 0.75 1.03803 4.27318 +14 0.81 1.15789 5.87946 +15 0.87 1.13479 7.69544 +16 0.93 1.16126 9.81883 +17 0.99 1.07886 12.0542 +18 1.05 0.960032 14.2917 +19 1.11 0.976557 16.8352 +20 1.17 0.946772 19.5749 +21 1.23 0.961946 22.6512 +22 1.29 0.964794 26.0449 +23 1.35 0.987231 29.8481 +24 1.41 1.00023 34.0514 +25 1.47 1.00911 38.6605 +26 1.53 1.00462 43.6312 +27 1.59 1.01847 49.0735 +28 1.65 0.994463 54.796 +29 1.71 1.00519 61.0086 +30 1.77 1.00941 67.6926 +31 1.83 1.0089 74.8338 +32 1.89 1.00557 82.4258 +33 1.95 0.991417 90.3937 +34 2.01 0.978807 98.7518 +35 2.07 0.993931 107.753 +36 2.13 1.00716 117.411 +37 2.19 1.00994 127.648 +38 2.25 1.00806 138.434 +39 2.31 1.00975 149.822 +40 2.37 0.998931 161.681 +41 2.43 0.988276 174.015 +42 2.49 0.994023 187.041 +43 2.55 0.99731 200.747 +44 2.61 0.991867 215.027 +45 2.67 1.00768 230.21 +46 2.73 1.01029 246.123 +47 2.79 0.995092 262.494 +48 2.85 1.00557 279.757 +49 2.91 0.998091 297.62 +50 2.97 1.00194 316.299 +103850 50 +1 0.03 0.281246 0.000713267 +2 0.09 0 0.000713267 +3 0.15 0 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.133707 0.0256776 +6 0.33 0.197799 0.0713267 +7 0.39 0.323322 0.175464 +8 0.45 0.460977 0.373039 +9 0.51 0.562492 0.682596 +10 0.57 0.74826 1.19686 +11 0.63 0.914262 1.96434 +12 0.69 1.0258 2.99715 +13 0.75 1.08721 4.2903 +14 0.81 1.16098 5.90086 +15 0.87 1.1544 7.74822 +16 0.93 1.10353 9.76605 +17 0.99 1.09469 12.0342 +18 1.05 1.00624 14.3795 +19 1.11 0.968067 16.9009 +20 1.17 0.945046 19.6355 +21 1.23 0.934067 22.6227 +22 1.29 0.9506 25.9665 +23 1.35 0.983158 29.7539 +24 1.41 1.01941 34.0378 +25 1.47 0.998182 38.597 +26 1.53 1.0186 43.6369 +27 1.59 1.0146 49.0585 +28 1.65 1.00351 54.8331 +29 1.71 1.01327 61.0956 +30 1.77 0.996587 67.6947 +31 1.83 1.01817 74.9016 +32 1.89 0.996218 82.423 +33 1.95 0.993192 90.4051 +34 2.01 0.990584 98.8638 +35 2.07 0.986291 107.796 +36 2.13 0.992135 117.31 +37 2.19 0.998258 127.429 +38 2.25 0.99966 138.125 +39 2.31 1.01412 149.562 +40 2.37 1.01395 161.599 +41 2.43 0.99182 173.977 +42 2.49 0.999085 187.069 +43 2.55 1.0093 200.94 +44 2.61 0.996078 215.281 +45 2.67 0.995557 230.281 +46 2.73 0.999282 246.021 +47 2.79 0.995872 262.405 +48 2.85 0.997179 279.524 +49 2.91 0.999366 297.409 +50 2.97 1.0073 316.188 +103900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.030405 0.00285307 +5 0.27 0.124486 0.0221113 +6 0.33 0.185437 0.0649073 +7 0.39 0.318893 0.167618 +8 0.45 0.444336 0.35806 +9 0.51 0.616927 0.697575 +10 0.57 0.784583 1.2368 +11 0.63 0.876026 1.97218 +12 0.69 0.998884 2.97789 +13 0.75 1.0956 4.28103 +14 0.81 1.14812 5.87375 +15 0.87 1.15128 7.71612 +16 0.93 1.0969 9.72183 +17 0.99 1.05338 11.9044 +18 1.05 1.03103 14.3074 +19 1.11 0.985594 16.8745 +20 1.17 0.956138 19.6412 +21 1.23 0.962616 22.7197 +22 1.29 0.960536 26.0984 +23 1.35 0.963717 29.811 +24 1.41 0.991914 33.9793 +25 1.47 1.00552 38.572 +26 1.53 1.00072 43.5235 +27 1.59 1.00899 48.9151 +28 1.65 1.01826 54.7746 +29 1.71 0.995152 60.9251 +30 1.77 1.0219 67.6919 +31 1.83 1.01303 74.8623 +32 1.89 0.991494 82.3481 +33 1.95 0.982542 90.2447 +34 2.01 1.00078 98.7903 +35 2.07 1.00417 107.884 +36 2.13 1.00552 117.526 +37 2.19 0.989674 127.558 +38 2.25 0.996127 138.217 +39 2.31 1.00868 149.593 +40 2.37 1.00224 161.491 +41 2.43 0.990448 173.852 +42 2.49 1.00257 186.989 +43 2.55 1.01179 200.894 +44 2.61 1.00252 215.328 +45 2.67 0.995463 230.327 +46 2.73 1.00032 246.083 +47 2.79 1.00255 262.577 +48 2.85 1.0032 279.799 +49 2.91 0.984142 297.412 +50 2.97 1.0032 316.115 +103950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.106044 0.0192582 +6 0.33 0.179256 0.0606277 +7 0.39 0.267959 0.146933 +8 0.45 0.419373 0.326676 +9 0.51 0.60267 0.658345 +10 0.57 0.769016 1.18688 +11 0.63 0.91936 1.95863 +12 0.69 1.03572 3.00143 +13 0.75 1.0908 4.29886 +14 0.81 1.13835 5.87803 +15 0.87 1.18337 7.77175 +16 0.93 1.13006 9.83809 +17 0.99 1.08712 12.0906 +18 1.05 0.989717 14.3973 +19 1.11 0.958756 16.8944 +20 1.17 0.951455 19.6476 +21 1.23 0.945665 22.6719 +22 1.29 0.950802 26.0164 +23 1.35 0.981862 29.7989 +24 1.41 0.989538 33.9572 +25 1.47 1.01224 38.5806 +26 1.53 1.00245 43.5407 +27 1.59 1.02821 49.035 +28 1.65 1.03103 54.9679 +29 1.71 1.00554 61.1826 +30 1.77 1.00639 67.8466 +31 1.83 0.990659 74.8588 +32 1.89 0.997824 82.3923 +33 1.95 0.991594 90.3616 +34 2.01 1.00854 98.9736 +35 2.07 0.979518 107.845 +36 2.13 1.00768 117.507 +37 2.19 0.982426 127.466 +38 2.25 1.00126 138.179 +39 2.31 0.995777 149.409 +40 2.37 1.00608 161.353 +41 2.43 1.01708 174.046 +42 2.49 0.993043 187.059 +43 2.55 1.01049 200.947 +44 2.61 1.00693 215.444 +45 2.67 0.999676 230.506 +46 2.73 0.994165 246.165 +47 2.79 0.992491 262.494 +48 2.85 1.00474 279.742 +49 2.91 0.988925 297.441 +50 2.97 0.997389 316.035 +104000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0456075 0.00570613 +5 0.27 0.0829907 0.0185449 +6 0.33 0.135987 0.0499287 +7 0.39 0.347682 0.161912 +8 0.45 0.437679 0.349501 +9 0.51 0.63248 0.697575 +10 0.57 0.747222 1.21113 +11 0.63 0.879425 1.94936 +12 0.69 1.03218 2.98859 +13 0.75 1.0932 4.28887 +14 0.81 1.15789 5.89515 +15 0.87 1.13657 7.71398 +16 0.93 1.16009 9.83524 +17 0.99 1.06784 12.0478 +18 1.05 1.009 14.3994 +19 1.11 0.94479 16.8602 +20 1.17 0.957124 19.6298 +21 1.23 0.944996 22.6519 +22 1.29 0.944922 25.9757 +23 1.35 0.970938 29.7161 +24 1.41 0.9948 33.8966 +25 1.47 1.01411 38.5285 +26 1.53 1.02955 43.6227 +27 1.59 1.02114 49.0792 +28 1.65 1.03078 55.0107 +29 1.71 1.00935 61.2489 +30 1.77 0.994971 67.8374 +31 1.83 1.01071 74.9914 +32 1.89 0.989321 82.4608 +33 1.95 0.997807 90.48 +34 2.01 0.98858 98.9215 +35 2.07 0.992355 107.909 +36 2.13 0.983729 117.342 +37 2.19 0.995584 127.434 +38 2.25 1.01099 138.251 +39 2.31 0.999192 149.52 +40 2.37 1.00776 161.484 +41 2.43 1.00599 174.039 +42 2.49 1.00975 187.27 +43 2.55 1.01231 201.183 +44 2.61 0.988944 215.421 +45 2.67 0.98964 230.332 +46 2.73 1.00195 246.114 +47 2.79 1.00225 262.603 +48 2.85 0.993772 279.663 +49 2.91 1.00423 297.636 +50 2.97 0.9923 316.135 +104050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0456075 0.00570613 +5 0.27 0.0829907 0.0185449 +6 0.33 0.191618 0.0627675 +7 0.39 0.285675 0.154779 +8 0.45 0.459313 0.351641 +9 0.51 0.603966 0.684023 +10 0.57 0.79081 1.22753 +11 0.63 0.924459 2.00357 +12 0.69 1.00739 3.01783 +13 0.75 1.03923 4.25392 +14 0.81 1.17023 5.87732 +15 0.87 1.14415 7.70827 +16 0.93 1.15268 9.81598 +17 0.99 1.06922 12.0314 +18 1.05 0.992471 14.3445 +19 1.11 0.97464 16.883 +20 1.17 0.950469 19.6334 +21 1.23 0.927153 22.5984 +22 1.29 0.979596 26.0442 +23 1.35 0.99223 29.8666 +24 1.41 0.985804 34.0093 +25 1.47 0.98647 38.515 +26 1.53 1.01413 43.5328 +27 1.59 1.0182 48.9736 +28 1.65 1.02818 54.8902 +29 1.71 0.997691 61.0563 +30 1.77 1.00951 67.7411 +31 1.83 1.00285 74.8395 +32 1.89 1.00973 82.4629 +33 1.95 0.983341 90.3659 +34 2.01 0.997935 98.8873 +35 2.07 0.990386 107.857 +36 2.13 0.994515 117.393 +37 2.19 0.996007 127.489 +38 2.25 1.00073 138.197 +39 2.31 1.00134 149.49 +40 2.37 1.00656 161.439 +41 2.43 0.998507 173.901 +42 2.49 1.00241 187.036 +43 2.55 1.00946 200.909 +44 2.61 1.00197 215.335 +45 2.67 1.0011 230.419 +46 2.73 0.999101 246.156 +47 2.79 0.993878 262.507 +48 2.85 0.994977 279.588 +49 2.91 1.01072 297.677 +50 2.97 0.989431 316.123 +104100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.030405 0.00285307 +5 0.27 0.115265 0.0206847 +6 0.33 0.163803 0.0584879 +7 0.39 0.292319 0.152639 +8 0.45 0.480947 0.358773 +9 0.51 0.594894 0.686163 +10 0.57 0.759676 1.20827 +11 0.63 0.935504 1.99358 +12 0.69 0.963463 2.96362 +13 0.75 1.13518 4.31384 +14 0.81 1.17332 5.94151 +15 0.87 1.14549 7.77461 +16 0.93 1.11562 9.81455 +17 0.99 1.08609 12.0649 +18 1.05 0.974721 14.3367 +19 1.11 0.956292 16.8274 +20 1.17 0.933215 19.5278 +21 1.23 0.971983 22.6362 +22 1.29 0.959319 26.0107 +23 1.35 0.995933 29.8474 +24 1.41 0.993951 34.0243 +25 1.47 1.00209 38.6013 +26 1.53 1.02307 43.6633 +27 1.59 0.986697 48.9358 +28 1.65 1.03041 54.8652 +29 1.71 0.99042 60.9864 +30 1.77 1.00844 67.6641 +31 1.83 1.01424 74.8431 +32 1.89 0.997635 82.3752 +33 1.95 0.993547 90.3602 +34 2.01 0.993759 98.8459 +35 2.07 0.998499 107.889 +36 2.13 1.00976 117.571 +37 2.19 0.991785 127.625 +38 2.25 1.00039 138.329 +39 2.31 0.993057 149.529 +40 2.37 1.00392 161.447 +41 2.43 1.00279 173.961 +42 2.49 0.994622 186.995 +43 2.55 1.00769 200.844 +44 2.61 1.00321 215.287 +45 2.67 1.00597 230.444 +46 2.73 0.99652 246.141 +47 2.79 1.00094 262.608 +48 2.85 0.996473 279.715 +49 2.91 1.00192 297.646 +50 2.97 0.997274 316.238 +104150 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0444073 0.00285307 +4 0.21 0.0380062 0.0064194 +5 0.27 0.0783801 0.0185449 +6 0.33 0.179256 0.0599144 +7 0.39 0.292319 0.154066 +8 0.45 0.437679 0.341655 +9 0.51 0.627295 0.686876 +10 0.57 0.816755 1.24822 +11 0.63 0.868379 1.97718 +12 0.69 1.00668 2.99073 +13 0.75 1.08061 4.27603 +14 0.81 1.15069 5.87233 +15 0.87 1.14504 7.70471 +16 0.93 1.12771 9.76676 +17 0.99 1.08127 12.0071 +18 1.05 0.983596 14.2996 +19 1.11 0.979021 16.8495 +20 1.17 0.952441 19.6056 +21 1.23 0.964177 22.689 +22 1.29 0.953236 26.0421 +23 1.35 0.970012 29.7789 +24 1.41 0.991405 33.9451 +25 1.47 0.997869 38.5029 +26 1.53 1.01355 43.5178 +27 1.59 1.01927 48.9643 +28 1.65 1.02681 54.873 +29 1.71 1.01558 61.1498 +30 1.77 0.994756 67.7368 +31 1.83 0.993985 74.7725 +32 1.89 1.00765 82.3802 +33 1.95 1.00358 90.4458 +34 2.01 0.979893 98.8131 +35 2.07 0.992434 107.801 +36 2.13 1.0085 117.471 +37 2.19 0.98883 127.495 +38 2.25 0.99766 138.17 +39 2.31 1.00899 149.549 +40 2.37 0.99779 161.394 +41 2.43 1.00542 173.942 +42 2.49 1.00883 187.162 +43 2.55 1.00572 200.984 +44 2.61 1.00351 215.432 +45 2.67 0.997309 230.458 +46 2.73 1.00277 246.253 +47 2.79 0.995309 262.628 +48 2.85 1.00395 279.862 +49 2.91 0.99829 297.729 +50 2.97 0.995629 316.29 +104200 50 +1 0.03 0.281246 0.000713267 +2 0.09 0 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0760125 0.0085592 +5 0.27 0.110654 0.0256776 +6 0.33 0.126715 0.0549215 +7 0.39 0.33661 0.163338 +8 0.45 0.431022 0.348074 +9 0.51 0.625999 0.692582 +10 0.57 0.728542 1.1933 +11 0.63 0.89217 1.94223 +12 0.69 1.01447 2.96362 +13 0.75 1.07161 4.23823 +14 0.81 1.16817 5.85877 +15 0.87 1.13122 7.66904 +16 0.93 1.1636 9.79672 +17 0.99 1.07679 12.0278 +18 1.05 0.997062 14.3516 +19 1.11 0.962864 16.8595 +20 1.17 0.937405 19.572 +21 1.23 0.956594 22.6312 +22 1.29 0.950194 25.9736 +23 1.35 0.986491 29.7739 +24 1.41 0.995649 33.9579 +25 1.47 1.01442 38.5913 +26 1.53 1.01399 43.6084 +27 1.59 1.00792 48.9943 +28 1.65 0.995207 54.7211 +29 1.71 1.0135 60.985 +30 1.77 1.01759 67.7233 +31 1.83 1.00819 74.8595 +32 1.89 0.99943 82.4051 +33 1.95 0.999049 90.4344 +34 2.01 0.999104 98.9658 +35 2.07 0.993458 107.963 +36 2.13 0.987151 117.429 +37 2.19 1.00656 127.632 +38 2.25 0.989328 138.218 +39 2.31 0.999508 149.49 +40 2.37 1.00025 161.364 +41 2.43 0.997649 173.815 +42 2.49 0.993751 186.837 +43 2.55 1.01797 200.827 +44 2.61 0.996276 215.171 +45 2.67 1.00072 230.249 +46 2.73 1.01196 246.189 +47 2.79 0.984773 262.39 +48 2.85 1.00349 279.617 +49 2.91 1.00228 297.555 +50 2.97 0.995361 316.111 +104250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.142928 0.0263909 +6 0.33 0.207071 0.0741797 +7 0.39 0.303391 0.171897 +8 0.45 0.446 0.363053 +9 0.51 0.58971 0.687589 +10 0.57 0.746184 1.20043 +11 0.63 0.876876 1.93652 +12 0.69 1.00243 2.94579 +13 0.75 1.0992 4.25321 +14 0.81 1.13887 5.8331 +15 0.87 1.17847 7.71897 +16 0.93 1.10275 9.73538 +17 0.99 1.08127 11.9757 +18 1.05 1.03348 14.3845 +19 1.11 0.95191 16.8638 +20 1.17 0.950715 19.6148 +21 1.23 0.953471 22.6641 +22 1.29 0.943705 25.9836 +23 1.35 0.981862 29.766 +24 1.41 0.999892 33.9679 +25 1.47 1.01489 38.6034 +26 1.53 1.01456 43.6234 +27 1.59 1.0186 49.0663 +28 1.65 1.01578 54.9116 +29 1.71 0.993998 61.0549 +30 1.77 0.987539 67.5942 +31 1.83 1.01374 74.7696 +32 1.89 1.00878 82.3859 +33 1.95 0.991062 90.3509 +34 2.01 1.0042 98.9258 +35 2.07 1.00157 107.996 +36 2.13 0.998829 117.574 +37 2.19 0.991292 127.623 +38 2.25 0.994461 138.263 +39 2.31 1.00216 149.566 +40 2.37 1.00212 161.462 +41 2.43 1.00662 174.025 +42 2.49 1.00469 187.19 +43 2.55 1.00769 201.039 +44 2.61 0.992065 215.322 +45 2.67 1.00209 230.421 +46 2.73 0.997199 246.128 +47 2.79 0.994745 262.494 +48 2.85 0.997886 279.624 +49 2.91 0.996497 297.459 +50 2.97 1.00443 316.184 +104300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.06081 0.0064194 +5 0.27 0.0691589 0.0171184 +6 0.33 0.179256 0.0584879 +7 0.39 0.294533 0.153352 +8 0.45 0.409388 0.328816 +9 0.51 0.576749 0.64622 +10 0.57 0.797037 1.19401 +11 0.63 0.932955 1.97718 +12 0.69 0.992508 2.97646 +13 0.75 1.12918 4.31954 +14 0.81 1.1219 5.87589 +15 0.87 1.15173 7.71897 +16 0.93 1.12108 9.7689 +17 0.99 1.08161 12.01 +18 1.05 1.00349 14.3488 +19 1.11 0.958209 16.8445 +20 1.17 0.966491 19.6412 +21 1.23 0.944104 22.6605 +22 1.29 0.941272 25.9715 +23 1.35 1.00704 29.8509 +24 1.41 0.960344 33.8866 +25 1.47 1.01911 38.5414 +26 1.53 1.0209 43.5927 +27 1.59 1.02207 49.0542 +28 1.65 1.00512 54.8381 +29 1.71 1.0165 61.1205 +30 1.77 1.00574 67.7803 +31 1.83 0.983606 74.7425 +32 1.89 1.01445 82.4016 +33 1.95 1.00792 90.5021 +34 2.01 0.991169 98.9658 +35 2.07 0.987551 107.909 +36 2.13 0.984324 117.348 +37 2.19 1.00016 127.486 +38 2.25 1.01639 138.362 +39 2.31 0.994575 149.578 +40 2.37 1.00386 161.496 +41 2.43 0.998049 173.951 +42 2.49 0.998269 187.033 +43 2.55 1.00946 200.906 +44 2.61 0.997118 215.262 +45 2.67 0.999865 230.327 +46 2.73 0.996927 246.03 +47 2.79 0.999124 262.467 +48 2.85 0.996722 279.578 +49 2.91 0.994664 297.379 +50 2.97 1.00864 316.183 +104350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0740121 0.00356633 +4 0.21 0.0380062 0.00713267 +5 0.27 0.0876012 0.0206847 +6 0.33 0.179256 0.0620542 +7 0.39 0.298962 0.158345 +8 0.45 0.447664 0.350214 +9 0.51 0.623407 0.693295 +10 0.57 0.754487 1.21184 +11 0.63 0.86753 1.94009 +12 0.69 1.01164 2.95863 +13 0.75 1.11659 4.28673 +14 0.81 1.14298 5.87233 +15 0.87 1.14861 7.71041 +16 0.93 1.13396 9.78388 +17 0.99 1.08677 12.0357 +18 1.05 1.00747 14.3837 +19 1.11 0.944242 16.8431 +20 1.17 0.947757 19.5856 +21 1.23 0.940535 22.5934 +22 1.29 0.965402 25.9893 +23 1.35 0.970753 29.729 +24 1.41 0.992084 33.898 +25 1.47 1.01989 38.5563 +26 1.53 1.03647 43.6847 +27 1.59 1.00405 49.0499 +28 1.65 1.00797 54.8502 +29 1.71 1.01777 61.1405 +30 1.77 0.986246 67.6712 +31 1.83 1.01484 74.8545 +32 1.89 0.999146 82.398 +33 1.95 0.987423 90.3338 +34 2.01 0.986575 98.7582 +35 2.07 0.994797 107.767 +36 2.13 1.00746 117.428 +37 2.19 0.999666 127.561 +38 2.25 1.01013 138.369 +39 2.31 0.999319 149.64 +40 2.37 1.00794 161.606 +41 2.43 0.992506 173.992 +42 2.49 1.0091 187.215 +43 2.55 0.995183 200.892 +44 2.61 0.999645 215.285 +45 2.67 0.995321 230.281 +46 2.73 1.00372 246.091 +47 2.79 1.00285 262.59 +48 2.85 0.99934 279.745 +49 2.91 0.999207 297.628 +50 2.97 0.997197 316.219 +104400 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.030405 0.0042796 +5 0.27 0.106044 0.0206847 +6 0.33 0.182346 0.0627675 +7 0.39 0.272388 0.150499 +8 0.45 0.417709 0.329529 +9 0.51 0.588414 0.653352 +10 0.57 0.837511 1.22896 +11 0.63 0.94825 2.02496 +12 0.69 0.9918 3.02354 +13 0.75 1.08481 4.31384 +14 0.81 1.13424 5.8873 +15 0.87 1.17223 7.7632 +16 0.93 1.13357 9.83595 +17 0.99 1.02756 11.965 +18 1.05 1.0041 14.3053 +19 1.11 0.963959 16.816 +20 1.17 0.933708 19.5178 +21 1.23 0.957709 22.5806 +22 1.29 0.961347 25.9622 +23 1.35 0.969642 29.6976 +24 1.41 1.01126 33.9472 +25 1.47 1.01583 38.587 +26 1.53 1.01817 43.6248 +27 1.59 1.00312 48.985 +28 1.65 1.01169 54.8067 +29 1.71 1.00831 61.0385 +30 1.77 0.990016 67.5942 +31 1.83 1.00497 74.7076 +32 1.89 1.0102 82.3345 +33 1.95 0.997807 90.3538 +34 2.01 0.997601 98.8723 +35 2.07 1.00149 107.942 +36 2.13 0.999052 117.522 +37 2.19 0.988689 127.544 +38 2.25 1.00366 138.283 +39 2.31 0.985089 149.393 +40 2.37 1.00608 161.337 +41 2.43 1.00531 173.883 +42 2.49 1.01786 187.221 +43 2.55 1.00738 201.066 +44 2.61 0.988102 215.292 +45 2.67 1.00043 230.365 +46 2.73 0.993123 246.009 +47 2.79 0.987505 262.255 +48 2.85 1.00707 279.543 +49 2.91 1.00343 297.501 +50 2.97 1.00596 316.255 +104450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.106044 0.021398 +6 0.33 0.247249 0.0784593 +7 0.39 0.310035 0.178317 +8 0.45 0.409388 0.35378 +9 0.51 0.606558 0.687589 +10 0.57 0.755525 1.20685 +11 0.63 0.899818 1.9622 +12 0.69 0.998884 2.9679 +13 0.75 1.07161 4.24251 +14 0.81 1.15121 5.83951 +15 0.87 1.1651 7.70399 +16 0.93 1.1402 9.78887 +17 0.99 1.08436 12.0357 +18 1.05 1.01634 14.4044 +19 1.11 0.938491 16.8488 +20 1.17 0.957617 19.6198 +21 1.23 0.940535 22.6277 +22 1.29 0.970877 26.0428 +23 1.35 0.982973 29.8295 +24 1.41 0.98869 33.9843 +25 1.47 1.00115 38.5571 +26 1.53 1.00692 43.5392 +27 1.59 1.0206 48.9929 +28 1.65 1.00797 54.7932 +29 1.71 1.0135 61.0571 +30 1.77 1.02018 67.8124 +31 1.83 0.997008 74.8695 +32 1.89 0.996501 82.393 +33 1.95 0.990796 90.3559 +34 2.01 0.99451 98.8481 +35 2.07 0.989835 107.812 +36 2.13 0.998829 117.39 +37 2.19 1.00987 127.627 +38 2.25 0.985861 138.175 +39 2.31 0.998813 149.44 +40 2.37 1.00728 161.398 +41 2.43 1.00668 173.961 +42 2.49 1.01079 187.207 +43 2.55 0.985114 200.745 +44 2.61 1.01025 215.29 +45 2.67 0.999581 230.351 +46 2.73 0.990271 245.949 +47 2.79 0.997346 262.357 +48 2.85 1.00557 279.62 +49 2.91 0.991236 297.36 +50 2.97 1.00558 316.107 +104500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.030405 0.00356633 +5 0.27 0.0922118 0.0178317 +6 0.33 0.191618 0.0620542 +7 0.39 0.305606 0.160485 +8 0.45 0.42603 0.343081 +9 0.51 0.613039 0.680456 +10 0.57 0.74826 1.19472 +11 0.63 0.876876 1.93081 +12 0.69 1.0088 2.9465 +13 0.75 1.11659 4.27461 +14 0.81 1.19851 5.93723 +15 0.87 1.14905 7.77603 +16 0.93 1.12732 9.83738 +17 0.99 1.03514 11.9822 +18 1.05 1.01573 14.3495 +19 1.11 0.941777 16.8024 +20 1.17 0.937158 19.5143 +21 1.23 0.964846 22.5999 +22 1.29 0.973513 26.0243 +23 1.35 0.978344 29.7932 +24 1.41 1.00363 34.0107 +25 1.47 1.02364 38.6862 +26 1.53 0.989623 43.5827 +27 1.59 1.01006 48.98 +28 1.65 1.01033 54.7939 +29 1.71 0.993536 60.9344 +30 1.77 1.02869 67.7461 +31 1.83 0.993279 74.7767 +32 1.89 0.991778 82.2646 +33 1.95 0.998162 90.2867 +34 2.01 1.00144 98.8381 +35 2.07 0.997475 107.872 +36 2.13 0.993176 117.395 +37 2.19 1.01641 127.698 +38 2.25 0.99786 138.375 +39 2.31 0.995081 149.598 +40 2.37 1.00332 161.509 +41 2.43 0.99462 173.922 +42 2.49 1.0005 187.032 +43 2.55 0.989733 200.634 +44 2.61 1.00713 215.134 +45 2.67 1.00678 230.303 +46 2.73 1.00345 246.109 +47 2.79 1.0022 262.597 +48 2.85 1.0047 279.845 +49 2.91 1.0008 297.756 +50 2.97 1.00363 316.466 +104550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0760125 0.00784593 +5 0.27 0.133707 0.0285307 +6 0.33 0.213253 0.0777461 +7 0.39 0.283461 0.169044 +8 0.45 0.427694 0.352354 +9 0.51 0.587117 0.675464 +10 0.57 0.698445 1.15549 +11 0.63 0.943152 1.94722 +12 0.69 1.03572 2.99001 +13 0.75 1.11959 4.32168 +14 0.81 1.15635 5.92582 +15 0.87 1.15396 7.77247 +16 0.93 1.13942 9.85592 +17 0.99 1.03548 12.0014 +18 1.05 0.98329 14.2932 +19 1.11 0.971901 16.8245 +20 1.17 0.965998 19.6198 +21 1.23 0.94165 22.6312 +22 1.29 0.937014 25.9272 +23 1.35 0.99223 29.7496 +24 1.41 1.01347 34.0086 +25 1.47 1.00708 38.6084 +26 1.53 1.03172 43.7133 +27 1.59 1.01767 49.1512 +28 1.65 0.997686 54.8923 +29 1.71 1.01639 61.174 +30 1.77 0.994002 67.7561 +31 1.83 0.988039 74.7496 +32 1.89 0.992061 82.2397 +33 1.95 0.994523 90.2325 +34 2.01 1.00044 98.7753 +35 2.07 0.999444 107.827 +36 2.13 0.998532 117.402 +37 2.19 1.00389 127.578 +38 2.25 1.00913 138.375 +39 2.31 1.00653 149.727 +40 2.37 1.00891 161.704 +41 2.43 0.988505 174.041 +42 2.49 0.999085 187.133 +43 2.55 0.993574 200.787 +44 2.61 1.00534 215.262 +45 2.67 1.00034 230.334 +46 2.73 0.992263 245.964 +47 2.79 1.00901 262.563 +48 2.85 0.992526 279.602 +49 2.91 1.01076 297.692 +50 2.97 0.992721 316.199 +104600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0988162 0.010699 +5 0.27 0.0922118 0.0249643 +6 0.33 0.20089 0.0713267 +7 0.39 0.323322 0.175464 +8 0.45 0.480947 0.381598 +9 0.51 0.567676 0.694009 +10 0.57 0.731655 1.19686 +11 0.63 0.902367 1.95435 +12 0.69 1.02864 2.99001 +13 0.75 1.1046 4.30385 +14 0.81 1.15995 5.91298 +15 0.87 1.13746 7.73324 +16 0.93 1.11055 9.76391 +17 0.99 1.07163 11.9843 +18 1.05 1.01971 14.3609 +19 1.11 0.94835 16.831 +20 1.17 0.941349 19.5549 +21 1.23 0.952133 22.5999 +22 1.29 0.972094 26.0193 +23 1.35 0.990194 29.8338 +24 1.41 1.00023 34.0371 +25 1.47 0.98928 38.5556 +26 1.53 0.996831 43.4879 +27 1.59 1.01686 48.9215 +28 1.65 1.01702 54.7739 +29 1.71 1.00635 60.9936 +30 1.77 1.01048 67.6847 +31 1.83 1.01515 74.8702 +32 1.89 0.990077 82.3452 +33 1.95 1.00659 90.4351 +34 2.01 0.992589 98.9108 +35 2.07 1.00346 107.999 +36 2.13 0.982539 117.42 +37 2.19 0.997344 127.53 +38 2.25 1.00626 138.297 +39 2.31 0.999129 149.565 +40 2.37 1.00716 161.521 +41 2.43 0.998678 173.985 +42 2.49 0.994894 187.022 +43 2.55 1.00172 200.789 +44 2.61 1.00896 215.315 +45 2.67 1.00233 230.417 +46 2.73 0.999146 246.155 +47 2.79 0.998864 262.588 +48 2.85 1.00349 279.815 +49 2.91 0.995341 297.629 +50 2.97 1.00083 316.287 +104650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0456075 0.0042796 +5 0.27 0.0737695 0.0156919 +6 0.33 0.207071 0.0634807 +7 0.39 0.28789 0.156205 +8 0.45 0.42603 0.338802 +9 0.51 0.591006 0.664051 +10 0.57 0.832322 1.23609 +11 0.63 0.915112 2.00428 +12 0.69 0.993217 3.00428 +13 0.75 1.1052 4.31883 +14 0.81 1.11676 5.86805 +15 0.87 1.13836 7.68973 +16 0.93 1.15385 9.79957 +17 0.99 1.07163 12.02 +18 1.05 0.975945 14.2946 +19 1.11 0.943968 16.7532 +20 1.17 0.982759 19.597 +21 1.23 0.941427 22.6077 +22 1.29 0.979799 26.0542 +23 1.35 0.966494 29.7775 +24 1.41 0.98869 33.9322 +25 1.47 1.01239 38.5563 +26 1.53 1.03215 43.6633 +27 1.59 1.023 49.1298 +28 1.65 1.00822 54.9315 +29 1.71 1.00196 61.1241 +30 1.77 1.01673 67.8566 +31 1.83 0.98945 74.8602 +32 1.89 1.005 82.4479 +33 1.95 0.994523 90.4408 +34 2.01 0.993007 98.9201 +35 2.07 0.994088 107.923 +36 2.13 1.0024 117.535 +37 2.19 0.988126 127.551 +38 2.25 0.998127 138.231 +39 2.31 1.00754 149.594 +40 2.37 1.00752 161.555 +41 2.43 1.00576 174.107 +42 2.49 1.00823 187.319 +43 2.55 1.00151 201.083 +44 2.61 0.997515 215.444 +45 2.67 0.997214 230.469 +46 2.73 0.995523 246.15 +47 2.79 1.00541 262.691 +48 2.85 1.00437 279.933 +49 2.91 0.993946 297.722 +50 2.97 0.998422 316.335 +104700 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0444073 0.00285307 +4 0.21 0.0456075 0.00713267 +5 0.27 0.101433 0.0228245 +6 0.33 0.188528 0.0663338 +7 0.39 0.301177 0.163338 +8 0.45 0.442671 0.353067 +9 0.51 0.591006 0.678317 +10 0.57 0.77213 1.20899 +11 0.63 0.949099 2.00571 +12 0.69 0.985424 2.99786 +13 0.75 1.08241 4.28531 +14 0.81 1.1111 5.82668 +15 0.87 1.18516 7.72325 +16 0.93 1.1402 9.80813 +17 0.99 1.06405 12.0128 +18 1.05 0.988493 14.3167 +19 1.11 0.953005 16.7989 +20 1.17 0.947265 19.5399 +21 1.23 0.951464 22.5827 +22 1.29 0.965808 25.98 +23 1.35 0.984824 29.7739 +24 1.41 1.00006 33.9765 +25 1.47 1.00084 38.5478 +26 1.53 1.02782 43.6334 +27 1.59 1.02461 49.1084 +28 1.65 1.01492 54.9486 +29 1.71 0.983611 61.0278 +30 1.77 1.01619 67.7568 +31 1.83 0.986326 74.7382 +32 1.89 1.00614 82.3345 +33 1.95 0.996387 90.3424 +34 2.01 0.994594 98.8352 +35 2.07 0.991883 107.818 +36 2.13 1.00128 117.419 +37 2.19 1.00114 127.568 +38 2.25 1.00586 138.33 +39 2.31 1.0016 149.626 +40 2.37 1.00476 161.554 +41 2.43 1.00188 174.058 +42 2.49 1.00556 187.235 +43 2.55 0.998193 200.953 +44 2.61 1.00371 215.404 +45 2.67 0.990208 230.323 +46 2.73 0.989365 245.907 +47 2.79 1.01057 262.533 +48 2.85 1.00582 279.8 +49 2.91 0.99845 297.669 +50 2.97 1.00428 316.392 +104750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0152025 0.0021398 +5 0.27 0.0737695 0.0135521 +6 0.33 0.191618 0.0577746 +7 0.39 0.31225 0.158345 +8 0.45 0.455985 0.35378 +9 0.51 0.648033 0.710414 +10 0.57 0.722315 1.20685 +11 0.63 0.890471 1.95435 +12 0.69 1.04918 3.0107 +13 0.75 1.11359 4.33524 +14 0.81 1.12961 5.90228 +15 0.87 1.13167 7.71327 +16 0.93 1.148 9.81241 +17 0.99 1.06096 12.0107 +18 1.05 1.00808 14.3602 +19 1.11 0.97108 16.8894 +20 1.17 0.946772 19.6291 +21 1.23 0.942766 22.6441 +22 1.29 0.95425 26.0007 +23 1.35 0.963347 29.7118 +24 1.41 1.02077 34.0014 +25 1.47 1.02286 38.6733 +26 1.53 1.02436 43.7418 +27 1.59 1.01072 49.1427 +28 1.65 0.995331 54.8702 +29 1.71 1.00427 61.077 +30 1.77 1.00294 67.7183 +31 1.83 1.00184 74.8096 +32 1.89 1.00803 82.4201 +33 1.95 1.00446 90.4929 +34 2.01 0.996014 98.9979 +35 2.07 0.970854 107.79 +36 2.13 0.997341 117.354 +37 2.19 1.00424 127.534 +38 2.25 1.00553 138.292 +39 2.31 0.997611 149.544 +40 2.37 1.01065 161.541 +41 2.43 1.00988 174.145 +42 2.49 1.00061 187.257 +43 2.55 1.01003 201.138 +44 2.61 1.0047 215.603 +45 2.67 0.988078 230.49 +46 2.73 1.00005 246.243 +47 2.79 0.99106 262.547 +48 2.85 0.999174 279.7 +49 2.91 0.999087 297.581 +50 2.97 0.997695 316.18 +104800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.030405 0.00499287 +5 0.27 0.0922118 0.0192582 +6 0.33 0.169984 0.0584879 +7 0.39 0.301177 0.155492 +8 0.45 0.474291 0.358773 +9 0.51 0.628592 0.704708 +10 0.57 0.809491 1.26106 +11 0.63 0.905765 2.0214 +12 0.69 0.979048 3.00713 +13 0.75 1.07881 4.2903 +14 0.81 1.17074 5.91441 +15 0.87 1.12588 7.71612 +16 0.93 1.1363 9.79387 +17 0.99 1.0582 11.9864 +18 1.05 1.01634 14.3552 +19 1.11 0.967246 16.8745 +20 1.17 0.950715 19.6255 +21 1.23 0.94455 22.6462 +22 1.29 0.970066 26.0585 +23 1.35 0.965198 29.7767 +24 1.41 0.999213 33.9757 +25 1.47 1.01708 38.6213 +26 1.53 1.0075 43.6063 +27 1.59 1.0234 49.0749 +28 1.65 0.986407 54.7511 +29 1.71 1.0135 61.015 +30 1.77 1.0233 67.791 +31 1.83 1.02593 75.0528 +32 1.89 0.984031 82.4822 +33 1.95 0.97136 90.2889 +34 2.01 0.999522 98.8238 +35 2.07 0.998656 107.868 +36 2.13 1.00686 117.523 +37 2.19 0.993403 127.593 +38 2.25 1.00599 138.357 +39 2.31 0.992488 149.55 +40 2.37 1.01107 161.553 +41 2.43 0.996106 173.984 +42 2.49 1.01177 187.243 +43 2.55 0.997518 200.951 +44 2.61 0.998406 215.326 +45 2.67 1.00725 230.502 +46 2.73 0.997199 246.21 +47 2.79 0.995655 262.59 +48 2.85 0.997927 279.721 +49 2.91 0.99837 297.589 +50 2.97 0.997351 316.183 +104850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0592097 0.00285307 +4 0.21 0.0380062 0.0064194 +5 0.27 0.0876012 0.0199715 +6 0.33 0.163803 0.0577746 +7 0.39 0.316679 0.159772 +8 0.45 0.417709 0.338802 +9 0.51 0.574157 0.654779 +10 0.57 0.792886 1.19971 +11 0.63 0.923609 1.97504 +12 0.69 1.03714 3.01926 +13 0.75 1.06921 4.29101 +14 0.81 1.15635 5.89515 +15 0.87 1.14994 7.73538 +16 0.93 1.15775 9.85235 +17 0.99 1.03238 11.9914 +18 1.05 1.00257 14.3281 +19 1.11 0.942325 16.7825 +20 1.17 0.942088 19.5086 +21 1.23 0.958601 22.5742 +22 1.29 0.963983 25.965 +23 1.35 0.997415 29.8074 +24 1.41 1.01194 34.0599 +25 1.47 1.00021 38.6284 +26 1.53 1.00836 43.6177 +27 1.59 1.01753 49.0549 +28 1.65 1.01529 54.8973 +29 1.71 1.01339 61.1605 +30 1.77 0.992279 67.7311 +31 1.83 0.993985 74.7668 +32 1.89 1.00321 82.3409 +33 1.95 0.993636 90.3267 +34 2.01 0.991503 98.7932 +35 2.07 0.989914 107.758 +36 2.13 1.00887 117.432 +37 2.19 1.00445 127.614 +38 2.25 1.00359 138.352 +39 2.31 0.994892 149.573 +40 2.37 0.998331 161.424 +41 2.43 1.00902 174.017 +42 2.49 1.0005 187.128 +43 2.55 1.00115 200.887 +44 2.61 1.00455 215.35 +45 2.67 0.994563 230.335 +46 2.73 0.997289 246.044 +47 2.79 1.0048 262.574 +48 2.85 1.00038 279.748 +49 2.91 1.00762 297.781 +50 2.97 0.996777 316.364 +104900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.0876012 0.0178317 +6 0.33 0.154531 0.053495 +7 0.39 0.305606 0.151926 +8 0.45 0.489268 0.361626 +9 0.51 0.598782 0.691155 +10 0.57 0.752411 1.20827 +11 0.63 0.876876 1.94437 +12 0.69 1.02439 2.97575 +13 0.75 1.11299 4.29957 +14 0.81 1.16098 5.91013 +15 0.87 1.15262 7.75464 +16 0.93 1.12732 9.81598 +17 0.99 1.08505 12.0642 +18 1.05 0.985433 14.3609 +19 1.11 0.945885 16.8245 +20 1.17 0.946525 19.5635 +21 1.23 0.963508 22.6448 +22 1.29 0.947355 25.9772 +23 1.35 0.976122 29.7375 +24 1.41 1.01483 34.0021 +25 1.47 0.995995 38.5514 +26 1.53 1.03546 43.6748 +27 1.59 1.0154 49.1006 +28 1.65 0.996199 54.8331 +29 1.71 1.02146 61.1462 +30 1.77 1.01027 67.8359 +31 1.83 0.992675 74.8623 +32 1.89 0.989888 82.3359 +33 1.95 1.00934 90.4479 +34 2.01 0.992004 98.9187 +35 2.07 0.996687 107.945 +36 2.13 0.989605 117.434 +37 2.19 1.00642 127.636 +38 2.25 1.00326 138.371 +39 2.31 0.987808 149.511 +40 2.37 0.994305 161.315 +41 2.43 1.01417 173.972 +42 2.49 1.00257 187.11 +43 2.55 1.00048 200.859 +44 2.61 1.01277 215.441 +45 2.67 1.00621 230.601 +46 2.73 0.987463 246.155 +47 2.79 0.998343 262.58 +48 2.85 1.00345 279.806 +49 2.91 0.997493 297.658 +50 2.97 0.993907 316.188 +104950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.030405 0.0042796 +5 0.27 0.0645483 0.0142653 +6 0.33 0.194709 0.0592011 +7 0.39 0.290104 0.152639 +8 0.45 0.517559 0.374465 +9 0.51 0.625999 0.718973 +10 0.57 0.80015 1.2689 +11 0.63 0.89217 2.01783 +12 0.69 0.991091 3.01569 +13 0.75 1.10579 4.33096 +14 0.81 1.12087 5.88588 +15 0.87 1.13301 7.699 +16 0.93 1.14566 9.79387 +17 0.99 1.06612 12.0029 +18 1.05 1.02736 14.3973 +19 1.11 0.933288 16.8281 +20 1.17 0.933708 19.53 +21 1.23 0.934736 22.5193 +22 1.29 0.973919 25.9451 +23 1.35 0.996859 29.7853 +24 1.41 1.02026 34.0728 +25 1.47 0.997713 38.6298 +26 1.53 1.0111 43.6327 +27 1.59 1.02194 49.0934 +28 1.65 1.00872 54.898 +29 1.71 1.00577 61.1141 +30 1.77 1.00564 67.7732 +31 1.83 0.985621 74.7496 +32 1.89 0.992817 82.2454 +33 1.95 0.991772 90.2161 +34 2.01 1.0042 98.791 +35 2.07 0.987315 107.733 +36 2.13 0.991242 117.238 +37 2.19 1.01303 127.506 +38 2.25 1.01233 138.338 +39 2.31 0.999508 149.611 +40 2.37 1.00254 161.512 +41 2.43 0.998849 173.978 +42 2.49 1.00186 187.106 +43 2.55 1.01304 201.029 +44 2.61 0.998902 215.41 +45 2.67 0.995131 230.404 +46 2.73 0.988369 245.972 +47 2.79 0.988675 262.238 +48 2.85 0.997138 279.355 +49 2.91 1.00291 297.305 +50 2.97 1.00412 316.024 +105000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.0737695 0.0164051 +6 0.33 0.176165 0.0570613 +7 0.39 0.314464 0.158345 +8 0.45 0.424365 0.340228 +9 0.51 0.585821 0.662625 +10 0.57 0.776281 1.19615 +11 0.63 0.870079 1.92653 +12 0.69 1.04493 2.9786 +13 0.75 1.12978 4.3224 +14 0.81 1.16252 5.93509 +15 0.87 1.1544 7.78245 +16 0.93 1.12889 9.84665 +17 0.99 1.07128 12.0663 +18 1.05 0.964622 14.3146 +19 1.11 0.929728 16.7361 +20 1.17 0.969942 19.5428 +21 1.23 0.955702 22.5991 +22 1.29 0.956075 25.9622 +23 1.35 0.976863 29.7254 +24 1.41 1.00668 33.9558 +25 1.47 1.01692 38.6006 +26 1.53 1.01283 43.612 +27 1.59 1.01793 49.0514 +28 1.65 1.0055 54.8374 +29 1.71 1.02447 61.169 +30 1.77 0.999495 67.7874 +31 1.83 0.998923 74.8581 +32 1.89 0.990077 82.3331 +33 1.95 0.986447 90.2611 +34 2.01 1.00512 98.8438 +35 2.07 0.995506 107.859 +36 2.13 1.00448 117.491 +37 2.19 1.00332 127.662 +38 2.25 1.00046 138.367 +39 2.31 0.997548 149.617 +40 2.37 0.996288 161.444 +41 2.43 1.00759 174.019 +42 2.49 1.01133 187.272 +43 2.55 1.00722 201.114 +44 2.61 0.996871 215.466 +45 2.67 0.998966 230.518 +46 2.73 0.99344 246.166 +47 2.79 0.994268 262.524 +48 2.85 0.997221 279.643 +49 2.91 0.990877 297.377 +50 2.97 1.01135 316.231 +105050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.030405 0.00356633 +5 0.27 0.106044 0.0199715 +6 0.33 0.179256 0.0613409 +7 0.39 0.314464 0.162625 +8 0.45 0.42603 0.345221 +9 0.51 0.609151 0.680456 +10 0.57 0.776281 1.21398 +11 0.63 0.887072 1.95863 +12 0.69 1.04422 3.00999 +13 0.75 1.12319 4.34593 +14 0.81 1.14915 5.94009 +15 0.87 1.16733 7.80813 +16 0.93 1.07193 9.76819 +17 0.99 1.06956 11.9843 +18 1.05 0.974721 14.2561 +19 1.11 0.957113 16.7489 +20 1.17 0.953673 19.5086 +21 1.23 0.951687 22.5521 +22 1.29 0.980002 25.9993 +23 1.35 0.982602 29.7846 +24 1.41 0.998364 33.98 +25 1.47 1.01036 38.5949 +26 1.53 1.00966 43.5906 +27 1.59 1.02033 49.0428 +28 1.65 1.01144 54.8631 +29 1.71 1.00011 61.0442 +30 1.77 1.00057 67.6698 +31 1.83 1.00658 74.7946 +32 1.89 0.983936 82.2233 +33 1.95 0.997008 90.2361 +34 2.01 1.00169 98.7896 +35 2.07 0.997317 107.822 +36 2.13 0.997713 117.389 +37 2.19 0.999595 127.521 +38 2.25 0.992194 138.138 +39 2.31 1.01279 149.56 +40 2.37 0.991601 161.332 +41 2.43 1.00742 173.904 +42 2.49 1.00017 187.011 +43 2.55 0.998504 200.733 +44 2.61 0.997118 215.089 +45 2.67 0.998208 230.129 +46 2.73 0.997199 245.837 +47 2.79 1.0107 262.464 +48 2.85 1.00229 279.67 +49 2.91 0.99837 297.539 +50 2.97 0.999799 316.178 +105100 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0 0.000713267 +4 0.21 0.06081 0.0064194 +5 0.27 0.101433 0.0221113 +6 0.33 0.185437 0.0649073 +7 0.39 0.26353 0.149786 +8 0.45 0.421037 0.330243 +9 0.51 0.637664 0.68117 +10 0.57 0.792886 1.22611 +11 0.63 0.89217 1.97504 +12 0.69 1.05414 3.03638 +13 0.75 1.0992 4.34379 +14 0.81 1.12241 5.90086 +15 0.87 1.15084 7.74251 +16 0.93 1.13825 9.82382 +17 0.99 1.06681 12.0342 +18 1.05 0.993083 14.3488 +19 1.11 0.965876 16.8645 +20 1.17 0.919165 19.5243 +21 1.23 0.956371 22.5827 +22 1.29 0.959724 25.9586 +23 1.35 0.99834 29.8046 +24 1.41 1.00481 34.0271 +25 1.47 1.00708 38.627 +26 1.53 1.02062 43.6769 +27 1.59 1.01993 49.127 +28 1.65 1.00488 54.9094 +29 1.71 1.006 61.127 +30 1.77 1.00876 67.8067 +31 1.83 0.992574 74.8324 +32 1.89 1.00047 82.3859 +33 1.95 1.01245 90.5228 +34 2.01 0.986074 98.9429 +35 2.07 0.986606 107.878 +36 2.13 0.983729 117.311 +37 2.19 1.00551 127.504 +38 2.25 1.00793 138.288 +39 2.31 1.00469 149.619 +40 2.37 1.01029 161.613 +41 2.43 1.00668 174.176 +42 2.49 0.992172 187.178 +43 2.55 0.996895 200.878 +44 2.61 1.00039 215.281 +45 2.67 1.00029 230.352 +46 2.73 0.998512 246.081 +47 2.79 0.994962 262.449 +48 2.85 1.00374 279.68 +49 2.91 0.99554 297.498 +50 2.97 0.99693 316.083 +105150 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0296049 0.0021398 +4 0.21 0.0380062 0.00570613 +5 0.27 0.106044 0.0221113 +6 0.33 0.14835 0.0563481 +7 0.39 0.318893 0.159058 +8 0.45 0.436015 0.345934 +9 0.51 0.565084 0.656919 +10 0.57 0.80015 1.20685 +11 0.63 0.911713 1.97218 +12 0.69 1.02368 3.00285 +13 0.75 1.0926 4.30243 +14 0.81 1.14195 5.88659 +15 0.87 1.15663 7.73752 +16 0.93 1.148 9.83666 +17 0.99 1.05201 12.0164 +18 1.05 0.978088 14.296 +19 1.11 0.984772 16.8609 +20 1.17 0.922122 19.5292 +21 1.23 0.949903 22.567 +22 1.29 0.985679 26.0342 +23 1.35 0.948349 29.6876 +24 1.41 1.00838 33.9251 +25 1.47 1.03176 38.6377 +26 1.53 1.0062 43.6163 +27 1.59 1.01273 49.0278 +28 1.65 1.00859 54.8317 +29 1.71 0.993421 60.9715 +30 1.77 1.02039 67.7282 +31 1.83 1.00537 74.8445 +32 1.89 0.989699 82.3167 +33 1.95 0.996919 90.3288 +34 2.01 1.00829 98.9387 +35 2.07 0.985267 107.862 +36 2.13 1.00389 117.488 +37 2.19 0.995725 127.581 +38 2.25 1.00019 138.283 +39 2.31 0.999825 149.559 +40 2.37 0.999052 161.419 +41 2.43 1.00011 173.901 +42 2.49 1.00475 187.067 +43 2.55 1.00795 200.919 +44 2.61 1.00272 215.356 +45 2.67 0.998918 230.407 +46 2.73 1.00236 246.195 +47 2.79 0.999774 262.643 +48 2.85 0.993565 279.7 +49 2.91 1.00622 297.708 +50 2.97 0.993869 316.237 +105200 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0 0.000713267 +4 0.21 0.06081 0.0064194 +5 0.27 0.0691589 0.0171184 +6 0.33 0.142168 0.0499287 +7 0.39 0.363184 0.166904 +8 0.45 0.46597 0.366619 +9 0.51 0.628592 0.712553 +10 0.57 0.69637 1.19116 +11 0.63 0.928707 1.97076 +12 0.69 1.01234 2.99001 +13 0.75 1.11179 4.31241 +14 0.81 1.15429 5.91369 +15 0.87 1.12409 7.71255 +16 0.93 1.13474 9.78745 +17 0.99 1.07197 12.0086 +18 1.05 0.995838 14.3295 +19 1.11 0.952184 16.8096 +20 1.17 0.963286 19.597 +21 1.23 0.970422 22.7004 +22 1.29 0.979393 26.1455 +23 1.35 0.964272 29.8602 +24 1.41 0.99497 34.0414 +25 1.47 0.991623 38.5706 +26 1.53 1.01471 43.5913 +27 1.59 1.0202 49.0428 +28 1.65 1.00859 54.8466 +29 1.71 1.00981 61.0877 +30 1.77 1.00887 67.7682 +31 1.83 0.981893 74.7183 +32 1.89 1.0051 82.3067 +33 1.95 0.998606 90.3324 +34 2.01 0.999439 98.8666 +35 2.07 0.995112 107.879 +36 2.13 0.993548 117.406 +37 2.19 1.00741 127.618 +38 2.25 1.00099 138.328 +39 2.31 0.999129 149.596 +40 2.37 1.0047 161.524 +41 2.43 0.999821 174.001 +42 2.49 1.00529 187.175 +43 2.55 1.00375 200.969 +44 2.61 0.997019 215.324 +45 2.67 0.987983 230.21 +46 2.73 0.99738 245.92 +47 2.79 1.00281 262.418 +48 2.85 1.00304 279.637 +49 2.91 0.998689 297.511 +50 2.97 1.0107 316.353 +105250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.110654 0.0221113 +6 0.33 0.135987 0.053495 +7 0.39 0.341039 0.163338 +8 0.45 0.441007 0.352354 +9 0.51 0.588414 0.676177 +10 0.57 0.784583 1.21541 +11 0.63 0.944001 2.00785 +12 0.69 0.971964 2.98645 +13 0.75 1.08541 4.27746 +14 0.81 1.15995 5.88659 +15 0.87 1.14058 7.71184 +16 0.93 1.12147 9.76248 +17 0.99 1.10192 12.0456 +18 1.05 0.988493 14.3495 +19 1.11 0.955744 16.8388 +20 1.17 0.947757 19.5813 +21 1.23 0.964177 22.6648 +22 1.29 0.955669 26.0264 +23 1.35 0.982232 29.8103 +24 1.41 0.985804 33.9529 +25 1.47 1.02223 38.622 +26 1.53 1.00995 43.6191 +27 1.59 1.00552 48.9922 +28 1.65 1.00078 54.7511 +29 1.71 1.02193 61.067 +30 1.77 1.00962 67.7525 +31 1.83 0.995799 74.801 +32 1.89 0.985826 82.2439 +33 1.95 0.997807 90.2632 +34 2.01 0.99142 98.729 +35 2.07 0.997947 107.767 +36 2.13 0.999052 117.347 +37 2.19 1.01247 127.61 +38 2.25 0.999794 138.307 +39 2.31 1.01424 149.746 +40 2.37 0.994545 161.553 +41 2.43 0.991648 173.929 +42 2.49 1.00567 187.107 +43 2.55 0.990356 200.718 +44 2.61 0.999893 215.113 +45 2.67 1.0054 230.262 +46 2.73 1.00734 246.129 +47 2.79 0.996046 262.516 +48 2.85 1.00919 279.84 +49 2.91 0.99845 297.71 +50 2.97 0.992568 316.214 +105300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0456075 0.00570613 +5 0.27 0.0876012 0.0192582 +6 0.33 0.185437 0.0620542 +7 0.39 0.298962 0.158345 +8 0.45 0.431022 0.343081 +9 0.51 0.629888 0.689729 +10 0.57 0.753449 1.20756 +11 0.63 0.901517 1.96434 +12 0.69 1.0088 2.98003 +13 0.75 1.0974 4.28531 +14 0.81 1.13938 5.86591 +15 0.87 1.18516 7.76248 +16 0.93 1.11796 9.8067 +17 0.99 1.05097 11.9843 +18 1.05 0.989411 14.2903 +19 1.11 0.983677 16.8524 +20 1.17 0.941595 19.577 +21 1.23 0.963508 22.6583 +22 1.29 0.964388 26.0506 +23 1.35 0.98001 29.826 +24 1.41 0.974602 33.9215 +25 1.47 1.0113 38.5407 +26 1.53 1.02854 43.6298 +27 1.59 1.00485 48.9993 +28 1.65 1.0076 54.7974 +29 1.71 1.00819 61.0285 +30 1.77 1.01447 67.7461 +31 1.83 1.00275 74.8438 +32 1.89 1.0017 82.4066 +33 1.95 0.983075 90.3074 +34 2.01 0.99994 98.8459 +35 2.07 1.01527 108.041 +36 2.13 0.982985 117.466 +37 2.19 0.991785 127.52 +38 2.25 1.00313 138.253 +39 2.31 1.00444 149.581 +40 2.37 1.00806 161.549 +41 2.43 1.00371 174.075 +42 2.49 0.997888 187.151 +43 2.55 0.996428 200.845 +44 2.61 1.0044 215.306 +45 2.67 1.00185 230.401 +46 2.73 0.992716 246.038 +47 2.79 1.00524 262.576 +48 2.85 0.993689 279.634 +49 2.91 1.00088 297.547 +50 2.97 0.993295 316.065 +105350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.030405 0.00285307 +5 0.27 0.0737695 0.0142653 +6 0.33 0.197799 0.0599144 +7 0.39 0.276817 0.149073 +8 0.45 0.452656 0.343081 +9 0.51 0.603966 0.675464 +10 0.57 0.782508 1.21327 +11 0.63 0.909164 1.97646 +12 0.69 1.00809 2.99144 +13 0.75 1.11659 4.31954 +14 0.81 1.13732 5.89729 +15 0.87 1.16198 7.75678 +16 0.93 1.12069 9.80599 +17 0.99 1.06991 12.0228 +18 1.05 0.995226 14.3424 +19 1.11 0.927537 16.7582 +20 1.17 0.964272 19.5485 +21 1.23 0.955702 22.6049 +22 1.29 0.958913 25.9779 +23 1.35 0.992971 29.8031 +24 1.41 0.998873 34.0007 +25 1.47 1.00287 38.5813 +26 1.53 1.00577 43.5578 +27 1.59 1.02047 49.0107 +28 1.65 1.01058 54.826 +29 1.71 1.02043 61.1327 +30 1.77 0.999819 67.7532 +31 1.83 1.00205 74.8459 +32 1.89 1.00595 82.4408 +33 1.95 0.987512 90.3773 +34 2.01 0.993591 98.8616 +35 2.07 0.992119 107.847 +36 2.13 0.998829 117.424 +37 2.19 1.00551 127.617 +38 2.25 1.00206 138.339 +39 2.31 0.995714 149.568 +40 2.37 0.992202 161.347 +41 2.43 1.01142 173.97 +42 2.49 0.99865 187.056 +43 2.55 1.00535 200.873 +44 2.61 1.00257 215.307 +45 2.67 0.999297 230.364 +46 2.73 0.992716 246.001 +47 2.79 0.996089 262.388 +48 2.85 1.00113 279.574 +49 2.91 1.00885 297.63 +50 2.97 0.996853 316.214 +105400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.06081 0.00784593 +5 0.27 0.0922118 0.0221113 +6 0.33 0.20089 0.0684736 +7 0.39 0.305606 0.166904 +8 0.45 0.460977 0.364479 +9 0.51 0.603966 0.696862 +10 0.57 0.799113 1.24608 +11 0.63 0.904916 2.00571 +12 0.69 1.01943 3.0321 +13 0.75 1.08421 4.32168 +14 0.81 1.10236 5.85093 +15 0.87 1.15975 7.70685 +16 0.93 1.11055 9.73752 +17 0.99 1.09504 12.0064 +18 1.05 1.02858 14.4037 +19 1.11 0.94835 16.8738 +20 1.17 0.934693 19.5785 +21 1.23 0.967745 22.6733 +22 1.29 0.977366 26.1113 +23 1.35 0.972604 29.8581 +24 1.41 0.991745 34.0257 +25 1.47 0.993341 38.5628 +26 1.53 1.03446 43.6812 +27 1.59 1.01566 49.1084 +28 1.65 1.00599 54.8973 +29 1.71 0.988689 61.0078 +30 1.77 1.0009 67.6355 +31 1.83 1.00305 74.7354 +32 1.89 1.00434 82.3181 +33 1.95 1.01139 90.4465 +34 2.01 0.983317 98.8431 +35 2.07 1.00771 107.969 +36 2.13 1.00404 117.597 +37 2.19 0.993825 127.671 +38 2.25 1.00246 138.397 +39 2.31 0.997232 149.644 +40 2.37 0.99809 161.493 +41 2.43 1.00919 174.088 +42 2.49 1.00083 187.203 +43 2.55 0.988695 200.79 +44 2.61 0.991025 215.058 +45 2.67 1.01402 230.337 +46 2.73 1.00281 246.133 +47 2.79 0.996262 262.523 +48 2.85 0.99639 279.628 +49 2.91 1.00825 297.673 +50 2.97 1.00171 316.347 +105450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0836137 0.0085592 +5 0.27 0.0368847 0.0142653 +6 0.33 0.185437 0.0570613 +7 0.39 0.345468 0.168331 +8 0.45 0.409388 0.343795 +9 0.51 0.614335 0.681883 +10 0.57 0.755525 1.20114 +11 0.63 0.890471 1.94864 +12 0.69 1.01589 2.97147 +13 0.75 1.08421 4.26106 +14 0.81 1.18154 5.90014 +15 0.87 1.15574 7.74964 +16 0.93 1.10704 9.77389 +17 0.99 1.05855 11.9672 +18 1.05 1.01971 14.3438 +19 1.11 0.971901 16.8752 +20 1.17 0.92508 19.5521 +21 1.23 0.949457 22.5884 +22 1.29 0.97108 26.0043 +23 1.35 0.971864 29.7482 +24 1.41 0.985125 33.888 +25 1.47 1.01067 38.5043 +26 1.53 1.02047 43.5535 +27 1.59 1.02474 49.0292 +28 1.65 1.00661 54.8217 +29 1.71 1.01696 61.107 +30 1.77 1.01468 67.826 +31 1.83 1.00205 74.9187 +32 1.89 0.997635 82.4508 +33 1.95 0.986536 90.3795 +34 2.01 0.985489 98.7946 +35 2.07 1.00275 107.876 +36 2.13 1.00002 117.465 +37 2.19 1.00121 127.614 +38 2.25 1.00106 138.325 +39 2.31 0.995208 149.549 +40 2.37 1.00933 161.531 +41 2.43 0.994677 173.945 +42 2.49 0.996799 187.007 +43 2.55 0.999698 200.746 +44 2.61 1.0097 215.283 +45 2.67 0.990776 230.211 +46 2.73 1.00626 246.061 +47 2.79 0.994528 262.423 +48 2.85 1.00246 279.632 +49 2.91 1.00068 297.541 +50 2.97 1.00278 316.236 +105500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.030405 0.00356633 +5 0.27 0.0414953 0.00998573 +6 0.33 0.182346 0.0520685 +7 0.39 0.33661 0.160485 +8 0.45 0.41438 0.338088 +9 0.51 0.606558 0.671897 +10 0.57 0.773167 1.20328 +11 0.63 0.907465 1.96505 +12 0.69 1.05131 3.02354 +13 0.75 1.0962 4.32739 +14 0.81 1.14452 5.91512 +15 0.87 1.17669 7.79815 +16 0.93 1.11055 9.82882 +17 0.99 1.06853 12.0428 +18 1.05 0.972579 14.3096 +19 1.11 0.968341 16.8317 +20 1.17 0.97635 19.6569 +21 1.23 0.940535 22.6648 +22 1.29 0.951614 26.0121 +23 1.35 0.975011 29.7682 +24 1.41 1.00804 34.0043 +25 1.47 1.01567 38.6434 +26 1.53 1.01499 43.6655 +27 1.59 1.0202 49.117 +28 1.65 1.00797 54.9173 +29 1.71 1.00877 61.1519 +30 1.77 1.0079 67.826 +31 1.83 0.998923 74.8966 +32 1.89 0.989321 82.3659 +33 1.95 1.00393 90.4344 +34 2.01 0.983986 98.8367 +35 2.07 1.00362 107.926 +36 2.13 0.994738 117.464 +37 2.19 1.00438 127.646 +38 2.25 1.00446 138.393 +39 2.31 0.997801 149.646 +40 2.37 0.999352 161.51 +41 2.43 1.00319 174.03 +42 2.49 0.997779 187.105 +43 2.55 0.996947 200.806 +44 2.61 1.00881 215.33 +45 2.67 1.00147 230.419 +46 2.73 1.00173 246.198 +47 2.79 0.995222 262.571 +48 2.85 0.992069 279.602 +49 2.91 0.999805 297.496 +50 2.97 1.005 316.232 +105550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0152025 0.00285307 +5 0.27 0.110654 0.0199715 +6 0.33 0.182346 0.0620542 +7 0.39 0.318893 0.164765 +8 0.45 0.454321 0.359486 +9 0.51 0.576749 0.67689 +10 0.57 0.761751 1.20043 +11 0.63 0.929557 1.98074 +12 0.69 1.01234 3 +13 0.75 1.0908 4.29743 +14 0.81 1.14812 5.89016 +15 0.87 1.14326 7.71969 +16 0.93 1.1047 9.73966 +17 0.99 1.08643 11.9907 +18 1.05 0.971661 14.2553 +19 1.11 0.995179 16.8474 +20 1.17 0.972653 19.6619 +21 1.23 0.942766 22.6769 +22 1.29 0.955263 26.0371 +23 1.35 0.987972 29.8431 +24 1.41 0.99463 34.0228 +25 1.47 1.00333 38.6056 +26 1.53 1.01932 43.6491 +27 1.59 1.0162 49.0792 +28 1.65 0.991984 54.7874 +29 1.71 1.01419 61.0556 +30 1.77 1.00984 67.7425 +31 1.83 1.00376 74.8474 +32 1.89 0.97704 82.224 +33 1.95 0.988843 90.1712 +34 2.01 1.01957 98.8773 +35 2.07 1.00338 107.964 +36 2.13 1.01162 117.665 +37 2.19 0.989604 127.696 +38 2.25 0.995261 138.345 +39 2.31 0.99388 149.554 +40 2.37 1.00866 161.529 +41 2.43 0.99502 173.947 +42 2.49 0.997126 187.013 +43 2.55 1.00338 200.802 +44 2.61 0.996871 215.155 +45 2.67 1.00129 230.241 +46 2.73 0.992852 245.88 +47 2.79 1.00584 262.428 +48 2.85 0.998634 279.571 +49 2.91 1.00375 297.536 +50 2.97 1.00676 316.305 +105600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0760125 0.00784593 +5 0.27 0.0829907 0.0206847 +6 0.33 0.179256 0.0620542 +7 0.39 0.307821 0.161198 +8 0.45 0.442671 0.350927 +9 0.51 0.625999 0.695435 +10 0.57 0.740995 1.20471 +11 0.63 0.883674 1.9465 +12 0.69 1.0003 2.95364 +13 0.75 1.0926 4.25321 +14 0.81 1.13373 5.82596 +15 0.87 1.17535 7.70685 +16 0.93 1.14683 9.80385 +17 0.99 1.07748 12.0364 +18 1.05 0.970743 14.2989 +19 1.11 0.999012 16.9009 +20 1.17 0.953427 19.6598 +21 1.23 0.960608 22.7318 +22 1.29 0.938028 26.0314 +23 1.35 0.970382 29.7696 +24 1.41 1.00481 33.9922 +25 1.47 1.00349 38.5756 +26 1.53 1.0333 43.6883 +27 1.59 0.985763 48.9558 +28 1.65 0.994587 54.679 +29 1.71 1.00196 60.8716 +30 1.77 1.02362 67.6498 +31 1.83 1.00225 74.7439 +32 1.89 1.00652 82.3431 +33 1.95 1.01103 90.4686 +34 2.01 1.00462 99.0471 +35 2.07 1.0011 108.113 +36 2.13 0.984473 117.553 +37 2.19 0.988056 127.569 +38 2.25 0.992727 138.191 +39 2.31 0.981357 149.259 +40 2.37 1.02086 161.378 +41 2.43 1.00165 173.879 +42 2.49 1.00524 187.051 +43 2.55 1.00136 200.813 +44 2.61 1.00336 215.259 +45 2.67 1.00218 230.359 +46 2.73 1.00707 246.222 +47 2.79 1.00472 262.751 +48 2.85 0.994977 279.832 +49 2.91 0.994265 297.626 +50 2.97 0.993563 316.149 +105650 50 +1 0.03 0 0 +2 0.09 0.080356 0.00142653 +3 0.15 0 0.00142653 +4 0.21 0.0532087 0.0064194 +5 0.27 0.119875 0.0249643 +6 0.33 0.176165 0.0656205 +7 0.39 0.307821 0.164765 +8 0.45 0.427694 0.348074 +9 0.51 0.623407 0.691155 +10 0.57 0.797037 1.23894 +11 0.63 0.887072 1.98359 +12 0.69 0.966296 2.95649 +13 0.75 1.0908 4.25392 +14 0.81 1.15378 5.85449 +15 0.87 1.17357 7.73252 +16 0.93 1.15307 9.84094 +17 0.99 1.06543 12.0485 +18 1.05 0.986963 14.3488 +19 1.11 0.95547 16.8374 +20 1.17 0.972407 19.6512 +21 1.23 0.940089 22.6576 +22 1.29 0.979191 26.102 +23 1.35 0.958162 29.7932 +24 1.41 1.00193 34.0036 +25 1.47 0.996776 38.5563 +26 1.53 1.01182 43.5628 +27 1.59 1.00592 48.9379 +28 1.65 1.01987 54.8067 +29 1.71 1.00496 61.0178 +30 1.77 1.02879 67.8302 +31 1.83 0.996706 74.8852 +32 1.89 0.993856 82.3887 +33 1.95 0.991239 90.3552 +34 2.01 1.00061 98.8994 +35 2.07 0.997081 107.929 +36 2.13 0.998383 117.503 +37 2.19 1.00417 127.682 +38 2.25 0.996261 138.342 +39 2.31 0.99818 149.599 +40 2.37 0.996889 161.434 +41 2.43 1.01479 174.098 +42 2.49 0.989342 187.063 +43 2.55 1.00115 200.822 +44 2.61 0.995236 215.15 +45 2.67 1.0002 230.22 +46 2.73 1.00612 246.068 +47 2.79 1.00285 262.567 +48 2.85 0.994811 279.645 +49 2.91 0.999725 297.537 +50 2.97 1.01101 316.385 +105700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.00760125 0.0021398 +5 0.27 0.0968224 0.0171184 +6 0.33 0.163803 0.0549215 +7 0.39 0.305606 0.153352 +8 0.45 0.477619 0.35806 +9 0.51 0.620815 0.699715 +10 0.57 0.754487 1.21826 +11 0.63 0.884523 1.96077 +12 0.69 0.984007 2.9515 +13 0.75 1.14837 4.3174 +14 0.81 1.12858 5.88302 +15 0.87 1.18293 7.77603 +16 0.93 1.14059 9.86163 +17 0.99 1.05682 12.0514 +18 1.05 0.992777 14.3652 +19 1.11 0.948624 16.8359 +20 1.17 0.94825 19.5799 +21 1.23 0.947895 22.6113 +22 1.29 0.947558 25.9444 +23 1.35 0.995378 29.7789 +24 1.41 1.00193 33.9893 +25 1.47 1.01895 38.6434 +26 1.53 1.01788 43.6797 +27 1.59 0.993905 48.9907 +28 1.65 1.0314 54.9258 +29 1.71 0.987766 61.0307 +30 1.77 1.00025 67.6541 +31 1.83 1.00678 74.7803 +32 1.89 1.00019 82.3317 +33 1.95 0.993369 90.3153 +34 2.01 0.994761 98.8096 +35 2.07 0.997711 107.845 +36 2.13 0.989382 117.332 +37 2.19 1.01071 127.578 +38 2.25 1.01379 138.425 +39 2.31 0.995208 149.649 +40 2.37 0.99767 161.493 +41 2.43 1.00016 173.975 +42 2.49 0.999303 187.07 +43 2.55 0.992276 200.707 +44 2.61 1.00395 215.161 +45 2.67 1.00469 230.299 +46 2.73 0.999237 246.039 +47 2.79 1.00992 262.653 +48 2.85 1.0015 279.846 +49 2.91 0.995939 297.67 +50 2.97 1.00275 316.364 +105750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.06081 0.00570613 +5 0.27 0.0829907 0.0185449 +6 0.33 0.191618 0.0627675 +7 0.39 0.281246 0.153352 +8 0.45 0.389418 0.320257 +9 0.51 0.570269 0.634094 +10 0.57 0.830247 1.20471 +11 0.63 0.942302 1.99572 +12 0.69 0.992508 2.99501 +13 0.75 1.08721 4.28816 +14 0.81 1.12241 5.84522 +15 0.87 1.13836 7.6669 +16 0.93 1.16165 9.79101 +17 0.99 1.09331 12.0563 +18 1.05 1.01145 14.4137 +19 1.11 0.953005 16.8959 +20 1.17 0.9448 19.6298 +21 1.23 0.93206 22.6106 +22 1.29 0.962969 25.9979 +23 1.35 0.956311 29.6819 +24 1.41 1.01126 33.9315 +25 1.47 1.01833 38.5827 +26 1.53 0.997263 43.5171 +27 1.59 1.03101 49.0264 +28 1.65 1.02037 54.898 +29 1.71 1.00762 61.1255 +30 1.77 1.0177 67.8645 +31 1.83 0.989249 74.8666 +32 1.89 0.987715 82.3238 +33 1.95 0.993369 90.3074 +34 2.01 1.00428 98.883 +35 2.07 0.985503 107.808 +36 2.13 0.99868 117.384 +37 2.19 1.00016 127.523 +38 2.25 1.00406 138.266 +39 2.31 1.00229 149.57 +40 2.37 1.00121 161.456 +41 2.43 1.01177 174.083 +42 2.49 1.00823 187.295 +43 2.55 0.989162 200.889 +44 2.61 0.996871 215.241 +45 2.67 1.00081 230.32 +46 2.73 0.99335 245.967 +47 2.79 0.99856 262.395 +48 2.85 1.00021 279.566 +49 2.91 1.00036 297.469 +50 2.97 1.00305 316.169 +105800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0456075 0.0042796 +5 0.27 0.101433 0.0199715 +6 0.33 0.14835 0.0542083 +7 0.39 0.303391 0.151926 +8 0.45 0.444336 0.342368 +9 0.51 0.64544 0.697575 +10 0.57 0.78147 1.23466 +11 0.63 0.89387 1.98502 +12 0.69 1.02651 3.01854 +13 0.75 1.0884 4.31312 +14 0.81 1.15275 5.91227 +15 0.87 1.12989 7.7204 +16 0.93 1.14176 9.80813 +17 0.99 1.08712 12.0606 +18 1.05 0.973497 14.3295 +19 1.11 0.963412 16.8388 +20 1.17 0.940856 19.5613 +21 1.23 0.964177 22.6448 +22 1.29 0.951816 25.9929 +23 1.35 0.97964 29.7668 +24 1.41 0.998195 33.9615 +25 1.47 1.01583 38.6013 +26 1.53 1.00779 43.5877 +27 1.59 1.01686 49.0214 +28 1.65 1.00463 54.8024 +29 1.71 1.00358 61.005 +30 1.77 1.00908 67.6869 +31 1.83 1.0089 74.8281 +32 1.89 0.990077 82.3031 +33 1.95 0.992482 90.2796 +34 2.01 0.996766 98.791 +35 2.07 0.994954 107.802 +36 2.13 0.998903 117.38 +37 2.19 0.994881 127.465 +38 2.25 1.00646 138.234 +39 2.31 1.00665 149.587 +40 2.37 0.995927 161.41 +41 2.43 1.00171 173.912 +42 2.49 1.00121 187.031 +43 2.55 0.995909 200.718 +44 2.61 1.00841 215.237 +45 2.67 0.999676 230.299 +46 2.73 0.992897 245.939 +47 2.79 1.00801 262.522 +48 2.85 1.00649 279.8 +49 2.91 0.997812 297.658 +50 2.97 0.997006 316.245 +105850 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0 0.000713267 +4 0.21 0.0760125 0.00784593 +5 0.27 0.138318 0.0292439 +6 0.33 0.20089 0.0756063 +7 0.39 0.241384 0.153352 +8 0.45 0.39441 0.322397 +9 0.51 0.651921 0.68117 +10 0.57 0.727504 1.18117 +11 0.63 0.927857 1.96006 +12 0.69 1.04777 3.01498 +13 0.75 1.06202 4.27817 +14 0.81 1.16715 5.89729 +15 0.87 1.18248 7.78959 +16 0.93 1.12342 9.84379 +17 0.99 1.04615 12.0114 +18 1.05 1.00226 14.3474 +19 1.11 0.951636 16.826 +20 1.17 0.939623 19.5449 +21 1.23 0.955925 22.602 +22 1.29 0.949991 25.9437 +23 1.35 0.981306 29.724 +24 1.41 1.01703 33.9979 +25 1.47 1.02114 38.6619 +26 1.53 0.999137 43.6056 +27 1.59 1.01193 49.0128 +28 1.65 1.00277 54.7832 +29 1.71 1.01304 61.0442 +30 1.77 1.01608 67.7725 +31 1.83 1.00517 74.8873 +32 1.89 0.993761 82.3902 +33 1.95 0.987246 90.3245 +34 2.01 0.992506 98.7996 +35 2.07 0.978336 107.66 +36 2.13 1.00218 117.27 +37 2.19 0.993403 127.34 +38 2.25 1.01933 138.246 +39 2.31 1.00899 149.626 +40 2.37 1.00272 161.529 +41 2.43 1.00731 174.101 +42 2.49 0.994731 187.136 +43 2.55 1.00245 200.912 +44 2.61 1.00524 215.385 +45 2.67 1.00185 230.48 +46 2.73 0.988958 246.058 +47 2.79 0.988068 262.313 +48 2.85 1.01035 279.658 +49 2.91 0.993627 297.441 +50 2.97 1.00156 316.113 +105900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.06081 0.0064194 +5 0.27 0.110654 0.0235378 +6 0.33 0.197799 0.0691869 +7 0.39 0.272388 0.156919 +8 0.45 0.469298 0.35806 +9 0.51 0.613039 0.695435 +10 0.57 0.787697 1.2368 +11 0.63 0.904066 1.99572 +12 0.69 1.0003 3.00285 +13 0.75 1.08721 4.29601 +14 0.81 1.11676 5.84522 +15 0.87 1.14727 7.68117 +16 0.93 1.13435 9.75535 +17 0.99 1.07989 11.9929 +18 1.05 1.02154 14.3738 +19 1.11 0.983677 16.9358 +20 1.17 0.914974 19.5835 +21 1.23 0.925369 22.5428 +22 1.29 0.970674 25.9572 +23 1.35 0.971493 29.6997 +24 1.41 1.00855 33.9379 +25 1.47 1.01208 38.5606 +26 1.53 1.01485 43.582 +27 1.59 1.02074 49.0364 +28 1.65 1.03091 54.9686 +29 1.71 0.990882 61.0927 +30 1.77 1.01059 67.7846 +31 1.83 0.98945 74.7882 +32 1.89 0.980252 82.189 +33 1.95 0.998073 90.2104 +34 2.01 1.00111 98.7589 +35 2.07 0.996215 107.781 +36 2.13 1.01408 117.505 +37 2.19 0.993896 127.58 +38 2.25 0.994594 138.222 +39 2.31 0.999129 149.49 +40 2.37 1.0175 161.569 +41 2.43 1.00651 174.131 +42 2.49 0.996908 187.194 +43 2.55 0.996532 200.889 +44 2.61 0.995781 215.226 +45 2.67 1.00266 230.333 +46 2.73 1.00499 246.163 +47 2.79 1.00086 262.629 +48 2.85 0.9956 279.72 +49 2.91 0.993946 297.509 +50 2.97 1.00091 316.169 +105950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.106044 0.0192582 +6 0.33 0.160712 0.0563481 +7 0.39 0.325537 0.161198 +8 0.45 0.449328 0.35378 +9 0.51 0.597486 0.682596 +10 0.57 0.801188 1.23324 +11 0.63 0.902367 1.99073 +12 0.69 1.06477 3.06277 +13 0.75 1.06502 4.32953 +14 0.81 1.10956 5.86876 +15 0.87 1.14504 7.70114 +16 0.93 1.15268 9.80884 +17 0.99 1.0644 12.0143 +18 1.05 0.966764 14.2675 +19 1.11 0.974913 16.8067 +20 1.17 0.950715 19.5578 +21 1.23 0.955255 22.6127 +22 1.29 0.961144 25.9936 +23 1.35 0.997785 29.8374 +24 1.41 0.995309 34.02 +25 1.47 1.0127 38.6455 +26 1.53 1.00202 43.6034 +27 1.59 1.01286 49.0157 +28 1.65 1.00748 54.8131 +29 1.71 1.0217 61.1277 +30 1.77 1.00553 67.786 +31 1.83 0.994287 74.8238 +32 1.89 1.00236 82.3916 +33 1.95 0.988222 90.3338 +34 2.01 1.00788 98.9401 +35 2.07 0.995821 107.959 +36 2.13 1.00738 117.618 +37 2.19 0.991292 127.667 +38 2.25 0.990728 138.267 +39 2.31 1.00893 149.646 +40 2.37 1.01768 161.728 +41 2.43 0.982961 173.995 +42 2.49 1.00578 187.175 +43 2.55 1.00421 200.976 +44 2.61 0.995483 215.308 +45 2.67 0.9939 230.283 +46 2.73 1.00358 246.091 +47 2.79 1.01144 262.731 +48 2.85 0.997553 279.856 +49 2.91 1.00925 297.919 +50 2.97 0.998384 316.531 +106000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.0876012 0.0164051 +6 0.33 0.145259 0.0499287 +7 0.39 0.318893 0.152639 +8 0.45 0.464306 0.351641 +9 0.51 0.615631 0.690442 +10 0.57 0.749298 1.20542 +11 0.63 0.935504 1.99073 +12 0.69 1.03501 3.03281 +13 0.75 1.07281 4.30884 +14 0.81 1.11059 5.8495 +15 0.87 1.14816 7.68688 +16 0.93 1.12225 9.73894 +17 0.99 1.09159 12.0007 +18 1.05 1.009 14.3524 +19 1.11 0.934931 16.7874 +20 1.17 0.947018 19.5278 +21 1.23 0.978674 22.6576 +22 1.29 0.972905 26.0799 +23 1.35 0.972604 29.8267 +24 1.41 1.02433 34.1312 +25 1.47 0.992872 38.6662 +26 1.53 1.00332 43.6305 +27 1.59 1.01673 49.0635 +28 1.65 1.00785 54.8631 +29 1.71 1.00058 61.0471 +30 1.77 0.994002 67.6291 +31 1.83 1.02391 74.8766 +32 1.89 0.986393 82.3238 +33 1.95 0.998251 90.3466 +34 2.01 0.987911 98.7825 +35 2.07 1.01291 107.956 +36 2.13 1.00099 117.554 +37 2.19 0.997625 127.667 +38 2.25 1.00046 138.372 +39 2.31 1.00526 149.709 +40 2.37 0.995507 161.527 +41 2.43 0.994277 173.936 +42 2.49 1.00992 187.17 +43 2.55 0.993262 200.82 +44 2.61 0.995384 215.151 +45 2.67 1.01189 230.397 +46 2.73 0.996972 246.101 +47 2.79 1.00736 262.674 +48 2.85 0.999257 279.828 +49 2.91 0.996855 297.669 +50 2.97 0.995552 316.229 +106050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0532087 0.00499287 +5 0.27 0.0876012 0.0185449 +6 0.33 0.142168 0.0513552 +7 0.39 0.292319 0.145506 +8 0.45 0.474291 0.348787 +9 0.51 0.592302 0.67475 +10 0.57 0.744109 1.18616 +11 0.63 0.89302 1.93581 +12 0.69 1.02368 2.96648 +13 0.75 1.13938 4.32168 +14 0.81 1.17691 5.95435 +15 0.87 1.1593 7.80956 +16 0.93 1.12186 9.86091 +17 0.99 1.05751 12.0521 +18 1.05 0.992471 14.3652 +19 1.11 0.964781 16.878 +20 1.17 0.9342 19.5813 +21 1.23 0.950795 22.622 +22 1.29 0.96966 26.0328 +23 1.35 0.971864 29.7767 +24 1.41 1.00397 33.9957 +25 1.47 0.999587 38.5613 +26 1.53 1.00966 43.5571 +27 1.59 1.0206 49.0107 +28 1.65 1.02359 54.9009 +29 1.71 1.02423 61.2311 +30 1.77 0.999819 67.8516 +31 1.83 0.977559 74.771 +32 1.89 1.00784 82.3802 +33 1.95 0.990086 90.3374 +34 2.01 1.00412 98.9116 +35 2.07 0.98826 107.862 +36 2.13 1.00463 117.495 +37 2.19 1.00642 127.697 +38 2.25 1.00293 138.428 +39 2.31 0.99603 149.661 +40 2.37 0.997309 161.501 +41 2.43 0.995592 173.926 +42 2.49 0.996146 186.979 +43 2.55 1.00738 200.824 +44 2.61 0.999744 215.218 +45 2.67 1.00086 230.297 +46 2.73 0.999735 246.045 +47 2.79 1.00736 262.618 +48 2.85 0.998841 279.765 +49 2.91 1.0002 297.665 +50 2.97 1.0081 316.459 +106100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.06081 0.00570613 +5 0.27 0.106044 0.0221113 +6 0.33 0.194709 0.0670471 +7 0.39 0.296748 0.162625 +8 0.45 0.475955 0.366619 +9 0.51 0.593598 0.693295 +10 0.57 0.779394 1.22896 +11 0.63 0.902367 1.98645 +12 0.69 1.02085 3.01427 +13 0.75 1.06562 4.28174 +14 0.81 1.15223 5.88017 +15 0.87 1.1651 7.74465 +16 0.93 1.13123 9.81312 +17 0.99 1.08815 12.0678 +18 1.05 0.979618 14.3509 +19 1.11 0.930276 16.7739 +20 1.17 0.951948 19.5285 +21 1.23 0.978674 22.6583 +22 1.29 0.959724 26.0342 +23 1.35 0.990934 29.8516 +24 1.41 0.990217 34.0128 +25 1.47 1.00755 38.6148 +26 1.53 1.01427 43.6334 +27 1.59 1.01152 49.0385 +28 1.65 1.03772 55.01 +29 1.71 0.992036 61.1412 +30 1.77 1.00025 67.7646 +31 1.83 0.995396 74.8103 +32 1.89 1.01351 82.4622 +33 1.95 0.990174 90.4201 +34 2.01 1.01046 99.0485 +35 2.07 0.989205 108.007 +36 2.13 0.994961 117.548 +37 2.19 0.995162 127.636 +38 2.25 0.990728 138.236 +39 2.31 1.00615 149.583 +40 2.37 1.00049 161.461 +41 2.43 1.00039 173.946 +42 2.49 1.0103 187.185 +43 2.55 1.00302 200.969 +44 2.61 1.00192 215.394 +45 2.67 1.0108 230.624 +46 2.73 0.99258 246.259 +47 2.79 1.00329 262.765 +48 2.85 0.994853 279.843 +49 2.91 1.0014 297.765 +50 2.97 1.00519 316.505 +106150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.0968224 0.0178317 +6 0.33 0.163803 0.0556348 +7 0.39 0.303391 0.153352 +8 0.45 0.444336 0.343795 +9 0.51 0.660993 0.707561 +10 0.57 0.752411 1.22468 +11 0.63 0.917661 1.99501 +12 0.69 1.01305 3.01498 +13 0.75 1.07881 4.29815 +14 0.81 1.13321 5.87019 +15 0.87 1.14192 7.69757 +16 0.93 1.14254 9.78673 +17 0.99 1.08195 12.0285 +18 1.05 1.00257 14.3652 +19 1.11 0.934383 16.7989 +20 1.17 0.957124 19.5685 +21 1.23 0.959047 22.6355 +22 1.29 0.955263 25.9957 +23 1.35 0.981492 29.7767 +24 1.41 0.989029 33.933 +25 1.47 1.00537 38.525 +26 1.53 1.01226 43.5335 +27 1.59 1.0214 48.9914 +28 1.65 1.01268 54.8188 +29 1.71 1.01154 61.0706 +30 1.77 1.01479 67.7903 +31 1.83 1.00729 74.9201 +32 1.89 0.988376 82.3823 +33 1.95 1.00118 90.4287 +34 2.01 0.991587 98.8959 +35 2.07 0.98889 107.852 +36 2.13 1.00389 117.478 +37 2.19 0.991292 127.526 +38 2.25 1.00473 138.277 +39 2.31 1.01235 149.694 +40 2.37 0.995687 161.514 +41 2.43 0.996506 173.951 +42 2.49 1.0097 187.182 +43 2.55 0.991186 200.804 +44 2.61 1.00435 215.264 +45 2.67 0.994516 230.248 +46 2.73 1.01042 246.164 +47 2.79 0.993965 262.516 +48 2.85 1.00084 279.698 +49 2.91 1.00403 297.667 +50 2.97 0.996509 316.245 +106200 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0444073 0.00285307 +4 0.21 0.0152025 0.0042796 +5 0.27 0.0876012 0.0178317 +6 0.33 0.154531 0.053495 +7 0.39 0.298962 0.149786 +8 0.45 0.412716 0.326676 +9 0.51 0.627295 0.671897 +10 0.57 0.753449 1.18973 +11 0.63 0.939753 1.9786 +12 0.69 1.00384 2.9893 +13 0.75 1.05122 4.23966 +14 0.81 1.17846 5.87447 +15 0.87 1.19229 7.78245 +16 0.93 1.11016 9.81241 +17 0.99 1.08161 12.0535 +18 1.05 1.02032 14.4315 +19 1.11 0.930002 16.8538 +20 1.17 0.927299 19.5371 +21 1.23 0.953248 22.5856 +22 1.29 0.980407 26.0342 +23 1.35 0.990934 29.8516 +24 1.41 0.992933 34.0243 +25 1.47 1.00552 38.617 +26 1.53 1.02235 43.6755 +27 1.59 1.00432 49.0421 +28 1.65 1.01033 54.8559 +29 1.71 1.00173 61.0471 +30 1.77 1.00833 67.724 +31 1.83 1.01041 74.8759 +32 1.89 1.00444 82.4593 +33 1.95 0.992748 90.4379 +34 2.01 0.990083 98.8923 +35 2.07 0.994954 107.903 +36 2.13 0.983208 117.331 +37 2.19 0.997273 127.44 +38 2.25 1.01693 138.321 +39 2.31 1.004 149.644 +40 2.37 0.996228 161.471 +41 2.43 1.01525 174.141 +42 2.49 1.0097 187.372 +43 2.55 0.988384 200.956 +44 2.61 0.992461 215.245 +45 2.67 1.00749 230.424 +46 2.73 0.991901 246.049 +47 2.79 1.00355 262.558 +48 2.85 1.00345 279.785 +49 2.91 1.01316 297.917 +50 2.97 0.996662 316.498 +106250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.06081 0.00713267 +5 0.27 0.106044 0.0235378 +6 0.33 0.169984 0.0627675 +7 0.39 0.31225 0.163338 +8 0.45 0.42603 0.345934 +9 0.51 0.64544 0.701141 +10 0.57 0.739957 1.2097 +11 0.63 0.929557 1.99001 +12 0.69 1.01589 3.01284 +13 0.75 1.07401 4.2903 +14 0.81 1.11367 5.83524 +15 0.87 1.16733 7.70328 +16 0.93 1.14644 9.79957 +17 0.99 1.0644 12.005 +18 1.05 1.0243 14.3923 +19 1.11 0.946433 16.8573 +20 1.17 0.948497 19.602 +21 1.23 0.938528 22.6034 +22 1.29 0.956277 25.9672 +23 1.35 0.981677 29.7489 +24 1.41 0.99497 33.9301 +25 1.47 1.00708 38.53 +26 1.53 1.03806 43.6662 +27 1.59 1.01913 49.112 +28 1.65 1.00921 54.9194 +29 1.71 0.990074 61.0385 +30 1.77 1.01156 67.7368 +31 1.83 0.995093 74.7803 +32 1.89 0.988471 82.2432 +33 1.95 0.996032 90.2482 +34 2.01 1.00245 98.8081 +35 2.07 1.00118 107.875 +36 2.13 0.992953 117.397 +37 2.19 1.00318 127.566 +38 2.25 0.999794 138.263 +39 2.31 1.00545 149.603 +40 2.37 1.00939 161.586 +41 2.43 1.00245 174.096 +42 2.49 0.988308 187.047 +43 2.55 1.00183 200.815 +44 2.61 1.00019 215.215 +45 2.67 0.997356 230.243 +46 2.73 1.00164 246.02 +47 2.79 1.00173 262.5 +48 2.85 1.0037 279.73 +49 2.91 0.990917 297.465 +50 2.97 1.00967 316.288 +106300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0532087 0.00499287 +5 0.27 0.101433 0.0206847 +6 0.33 0.182346 0.0627675 +7 0.39 0.279032 0.152639 +8 0.45 0.495925 0.365193 +9 0.51 0.636368 0.715407 +10 0.57 0.746184 1.22825 +11 0.63 0.936354 2.01427 +12 0.69 1.0251 3.04636 +13 0.75 1.06322 4.31098 +14 0.81 1.11316 5.85521 +15 0.87 1.15128 7.69757 +16 0.93 1.13435 9.77175 +17 0.99 1.09125 12.0328 +18 1.05 1.00624 14.378 +19 1.11 0.970532 16.9058 +20 1.17 0.954906 19.669 +21 1.23 0.943212 22.6854 +22 1.29 0.959522 26.0606 +23 1.35 0.96705 29.786 +24 1.41 1.00006 33.9886 +25 1.47 1.01723 38.6348 +26 1.53 1.00995 43.632 +27 1.59 1.01513 49.0563 +28 1.65 1.02805 54.9722 +29 1.71 1.00785 61.2011 +30 1.77 1.01274 67.9073 +31 1.83 0.986931 74.893 +32 1.89 0.989888 82.3666 +33 1.95 0.993458 90.3509 +34 2.01 0.997852 98.8716 +35 2.07 0.987945 107.819 +36 2.13 1.01319 117.534 +37 2.19 1.01198 127.792 +38 2.25 0.991261 138.399 +39 2.31 0.994259 149.612 +40 2.37 1.01744 161.69 +41 2.43 0.998964 174.158 +42 2.49 0.993696 187.179 +43 2.55 1.00613 201.006 +44 2.61 0.994592 215.326 +45 2.67 0.998824 230.375 +46 2.73 0.997244 246.083 +47 2.79 1.00138 262.558 +48 2.85 1.00449 279.802 +49 2.91 0.997613 297.656 +50 2.97 1.00397 316.373 +106350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.030405 0.00285307 +5 0.27 0.0829907 0.0156919 +6 0.33 0.176165 0.0563481 +7 0.39 0.325537 0.161198 +8 0.45 0.441007 0.350214 +9 0.51 0.622111 0.692582 +10 0.57 0.769016 1.22111 +11 0.63 0.880275 1.96006 +12 0.69 1.02651 2.99358 +13 0.75 1.07941 4.27746 +14 0.81 1.13681 5.85449 +15 0.87 1.16733 7.72254 +16 0.93 1.10509 9.74322 +17 0.99 1.08987 12.0014 +18 1.05 1.01206 14.3602 +19 1.11 0.97327 16.8951 +20 1.17 0.941102 19.6184 +21 1.23 0.945442 22.6419 +22 1.29 0.947558 25.975 +23 1.35 0.97927 29.7475 +24 1.41 0.995479 33.9308 +25 1.47 1.01317 38.5585 +26 1.53 1.02047 43.6077 +27 1.59 1.01072 49.0086 +28 1.65 1.00165 54.7725 +29 1.71 1.01558 61.0492 +30 1.77 1.01996 67.8031 +31 1.83 1.00819 74.9394 +32 1.89 0.987432 82.3944 +33 1.95 0.985648 90.316 +34 2.01 1.00111 98.8645 +35 2.07 0.993931 107.866 +36 2.13 0.994664 117.404 +37 2.19 1.00473 127.588 +38 2.25 1.00433 138.335 +39 2.31 1.00096 149.623 +40 2.37 1.01005 161.614 +41 2.43 1.00445 174.15 +42 2.49 0.986675 187.079 +43 2.55 1.01039 200.965 +44 2.61 0.992016 215.248 +45 2.67 1.0037 230.37 +46 2.73 1.00503 246.201 +47 2.79 0.996176 262.59 +48 2.85 1.01035 279.934 +49 2.91 0.993109 297.708 +50 2.97 1.00141 316.377 +106400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.138318 0.0256776 +6 0.33 0.179256 0.0670471 +7 0.39 0.301177 0.164051 +8 0.45 0.457649 0.3602 +9 0.51 0.594894 0.687589 +10 0.57 0.773167 1.21897 +11 0.63 0.89387 1.96933 +12 0.69 0.998176 2.97432 +13 0.75 1.07641 4.25464 +14 0.81 1.18463 5.898 +15 0.87 1.16733 7.76605 +16 0.93 1.10392 9.78459 +17 0.99 1.08333 12.0292 +18 1.05 0.972579 14.296 +19 1.11 0.961769 16.801 +20 1.17 0.969942 19.6077 +21 1.23 0.955255 22.6626 +22 1.29 0.928497 25.9287 +23 1.35 0.9976 29.7718 +24 1.41 1.006 33.9993 +25 1.47 1.01005 38.6127 +26 1.53 1.00764 43.5984 +27 1.59 1.01673 49.0314 +28 1.65 1.00153 54.7946 +29 1.71 0.999999 60.975 +30 1.77 0.999711 67.5949 +31 1.83 1.01132 74.7532 +32 1.89 1.00746 82.3595 +33 1.95 0.993636 90.3452 +34 2.01 0.997601 98.8638 +35 2.07 1.00181 107.937 +36 2.13 0.99206 117.449 +37 2.19 1.00248 127.611 +38 2.25 0.995461 138.262 +39 2.31 1.00469 149.593 +40 2.37 0.999172 161.455 +41 2.43 1.00119 173.95 +42 2.49 1.00066 187.063 +43 2.55 1.00774 200.912 +44 2.61 0.996326 215.257 +45 2.67 1.00242 230.36 +46 2.73 0.998331 246.086 +47 2.79 0.996826 262.485 +48 2.85 0.999257 279.639 +49 2.91 1.00786 297.677 +50 2.97 1.00255 316.367 +106450 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0532087 0.0064194 +5 0.27 0.106044 0.0228245 +6 0.33 0.194709 0.0677603 +7 0.39 0.316679 0.169757 +8 0.45 0.431022 0.354494 +9 0.51 0.575453 0.671184 +10 0.57 0.802226 1.22254 +11 0.63 0.859882 1.94437 +12 0.69 1.03785 2.9893 +13 0.75 1.101 4.29886 +14 0.81 1.12961 5.86591 +15 0.87 1.16064 7.72325 +16 0.93 1.1164 9.76462 +17 0.99 1.1033 12.0506 +18 1.05 0.995532 14.3709 +19 1.11 0.957661 16.8652 +20 1.17 0.943814 19.5963 +21 1.23 0.950126 22.6348 +22 1.29 0.964997 26.0292 +23 1.35 0.970568 29.7682 +24 1.41 0.97545 33.8673 +25 1.47 1.0138 38.4979 +26 1.53 1.02653 43.577 +27 1.59 1.02981 49.0799 +28 1.65 1.00339 54.8538 +29 1.71 1.00669 61.0756 +30 1.77 0.997449 67.6805 +31 1.83 1.00981 74.8281 +32 1.89 0.993006 82.3252 +33 1.95 0.995588 90.3267 +34 2.01 0.985238 98.7397 +35 2.07 1.01102 107.896 +36 2.13 0.984994 117.341 +37 2.19 1.0105 127.584 +38 2.25 1.00153 138.3 +39 2.31 0.987492 149.437 +40 2.37 1.00854 161.41 +41 2.43 1.00679 173.975 +42 2.49 1.00807 187.185 +43 2.55 0.999335 200.919 +44 2.61 1.00831 215.436 +45 2.67 0.992764 230.394 +46 2.73 0.995705 246.078 +47 2.79 0.990583 262.374 +48 2.85 1.0052 279.631 +49 2.91 1.00566 297.629 +50 2.97 0.992415 316.131 +106500 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0456075 0.00570613 +5 0.27 0.0968224 0.0206847 +6 0.33 0.15144 0.0556348 +7 0.39 0.296748 0.151213 +8 0.45 0.41438 0.328816 +9 0.51 0.615631 0.667618 +10 0.57 0.786659 1.20827 +11 0.63 0.923609 1.98359 +12 0.69 1.01093 3.00143 +13 0.75 1.07941 4.28531 +14 0.81 1.11727 5.83524 +15 0.87 1.17446 7.71469 +16 0.93 1.13474 9.78959 +17 0.99 1.09538 12.0592 +18 1.05 0.973191 14.3274 +19 1.11 0.961221 16.831 +20 1.17 0.982759 19.6748 +21 1.23 0.938974 22.6776 +22 1.29 0.971891 26.0963 +23 1.35 0.969271 29.8302 +24 1.41 1.00566 34.0563 +25 1.47 0.985376 38.5571 +26 1.53 1.01139 43.5613 +27 1.59 1.00272 48.9194 +28 1.65 1.03462 54.873 +29 1.71 1.00531 61.0863 +30 1.77 1.01124 67.7825 +31 1.83 0.999628 74.8581 +32 1.89 0.996123 82.3787 +33 1.95 0.981832 90.2696 +34 2.01 0.996933 98.7825 +35 2.07 1.00204 107.857 +36 2.13 0.991986 117.369 +37 2.19 0.992348 127.429 +38 2.25 1.00419 138.173 +39 2.31 1.00703 149.531 +40 2.37 0.997429 161.372 +41 2.43 1.00868 173.96 +42 2.49 1.00475 187.126 +43 2.55 0.993055 200.774 +44 2.61 1.00078 215.183 +45 2.67 1.00389 230.308 +46 2.73 1.00023 246.063 +47 2.79 0.994918 262.432 +48 2.85 0.994894 279.511 +49 2.91 1.00678 297.529 +50 2.97 0.996126 316.1 +106550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.0968224 0.0192582 +6 0.33 0.169984 0.0584879 +7 0.39 0.31225 0.159058 +8 0.45 0.524216 0.383738 +9 0.51 0.633776 0.732525 +10 0.57 0.729579 1.23395 +11 0.63 0.881974 1.97432 +12 0.69 1.02864 3.00999 +13 0.75 1.1004 4.31883 +14 0.81 1.11162 5.86091 +15 0.87 1.14504 7.6933 +16 0.93 1.14956 9.79529 +17 0.99 1.08402 12.0414 +18 1.05 0.999204 14.3702 +19 1.11 0.955744 16.8595 +20 1.17 0.942581 19.587 +21 1.23 0.959493 22.6555 +22 1.29 0.970066 26.0678 +23 1.35 0.972975 29.816 +24 1.41 0.986313 33.9608 +25 1.47 1.00599 38.5556 +26 1.53 1.01817 43.5934 +27 1.59 1.03208 49.1084 +28 1.65 1.00884 54.9137 +29 1.71 1.01627 61.1947 +30 1.77 0.995941 67.7896 +31 1.83 0.992977 74.8181 +32 1.89 0.989699 82.2903 +33 1.95 0.995766 90.2932 +34 2.01 0.995847 98.7967 +35 2.07 1.00094 107.862 +36 2.13 0.999796 117.449 +37 2.19 0.982637 127.409 +38 2.25 0.99926 138.101 +39 2.31 1.00918 149.483 +40 2.37 1.0026 161.385 +41 2.43 1.00228 173.894 +42 2.49 1.00964 187.124 +43 2.55 1.00375 200.919 +44 2.61 0.990579 215.18 +45 2.67 1.00294 230.292 +46 2.73 1.00503 246.123 +47 2.79 0.996219 262.512 +48 2.85 0.998467 279.653 +49 2.91 0.999247 297.536 +50 2.97 0.998001 316.142 +106600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.0922118 0.0192582 +6 0.33 0.182346 0.0613409 +7 0.39 0.334395 0.169044 +8 0.45 0.404395 0.342368 +9 0.51 0.581933 0.662625 +10 0.57 0.792886 1.20756 +11 0.63 0.921909 1.98146 +12 0.69 1.0003 2.98859 +13 0.75 1.11239 4.3117 +14 0.81 1.15738 5.91726 +15 0.87 1.129 7.72397 +16 0.93 1.12889 9.78816 +17 0.99 1.06715 11.9993 +18 1.05 1.00869 14.3502 +19 1.11 0.959578 16.8495 +20 1.17 0.932968 19.5492 +21 1.23 0.940535 22.5571 +22 1.29 0.983246 26.0157 +23 1.35 0.991675 29.8359 +24 1.41 0.98869 33.9907 +25 1.47 1.00943 38.6013 +26 1.53 1.00116 43.5549 +27 1.59 1.01286 48.9672 +28 1.65 1.01417 54.8031 +29 1.71 1.01489 61.0756 +30 1.77 1.00467 67.7282 +31 1.83 0.993179 74.7582 +32 1.89 1.00047 82.3117 +33 1.95 0.995854 90.3153 +34 2.01 1.00086 98.8616 +35 2.07 0.998892 107.908 +36 2.13 0.988415 117.386 +37 2.19 1.00262 127.549 +38 2.25 1.00239 138.275 +39 2.31 1.01614 149.735 +40 2.37 1.00206 161.631 +41 2.43 0.986962 173.948 +42 2.49 1.00387 187.103 +43 2.55 0.988539 200.688 +44 2.61 1.00405 215.144 +45 2.67 1.01482 230.434 +46 2.73 0.99498 246.107 +47 2.79 1.00359 262.618 +48 2.85 0.999922 279.783 +49 2.91 0.995301 297.596 +50 2.97 1.00252 316.286 +106650 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.030405 0.0042796 +5 0.27 0.0922118 0.0185449 +6 0.33 0.182346 0.0606277 +7 0.39 0.296748 0.156205 +8 0.45 0.480947 0.36234 +9 0.51 0.584525 0.684023 +10 0.57 0.773167 1.21541 +11 0.63 0.906615 1.97646 +12 0.69 1.01518 2.99857 +13 0.75 1.0968 4.30314 +14 0.81 1.16355 5.91726 +15 0.87 1.13345 7.7311 +16 0.93 1.10938 9.75963 +17 0.99 1.05201 11.9394 +18 1.05 1.05307 14.3937 +19 1.11 0.945337 16.8559 +20 1.17 0.95318 19.6141 +21 1.23 0.942766 22.6291 +22 1.29 0.950802 25.9736 +23 1.35 0.979455 29.7468 +24 1.41 0.976808 33.8516 +25 1.47 1.02676 38.5414 +26 1.53 1.03907 43.6826 +27 1.59 1.00712 49.0642 +28 1.65 1.02533 54.9643 +29 1.71 0.992498 61.0984 +30 1.77 1.01727 67.8345 +31 1.83 0.997209 74.893 +32 1.89 0.98866 82.3573 +33 1.95 0.976507 90.2054 +34 2.01 0.996933 98.7183 +35 2.07 1.00653 107.834 +36 2.13 0.987076 117.299 +37 2.19 1.00142 127.45 +38 2.25 1.00106 138.161 +39 2.31 1.00937 149.545 +40 2.37 1.00338 161.456 +41 2.43 1.00737 174.029 +42 2.49 1.0159 187.341 +43 2.55 0.997155 201.045 +44 2.61 0.99256 215.335 +45 2.67 0.99461 230.321 +46 2.73 0.99249 245.954 +47 2.79 1.00021 262.409 +48 2.85 1.00009 279.578 +49 2.91 0.996656 297.415 +50 2.97 0.991956 315.908 +106700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.06081 0.00713267 +5 0.27 0.0783801 0.0192582 +6 0.33 0.157621 0.0556348 +7 0.39 0.323322 0.159772 +8 0.45 0.447664 0.351641 +9 0.51 0.607855 0.686163 +10 0.57 0.79081 1.22967 +11 0.63 0.862431 1.95364 +12 0.69 0.971964 2.93224 +13 0.75 1.13278 4.2796 +14 0.81 1.16098 5.89016 +15 0.87 1.15708 7.7418 +16 0.93 1.13942 9.82525 +17 0.99 1.06681 12.0357 +18 1.05 1.01083 14.3916 +19 1.11 0.93274 16.821 +20 1.17 0.950962 19.5728 +21 1.23 0.940312 22.5799 +22 1.29 0.985071 26.0449 +23 1.35 1.01482 29.9544 +24 1.41 0.961872 33.9964 +25 1.47 0.974289 38.4465 +26 1.53 1.02062 43.4964 +27 1.59 1.03395 49.0214 +28 1.65 1.02235 54.9044 +29 1.71 1.00842 61.1369 +30 1.77 0.99314 67.7133 +31 1.83 0.998721 74.7825 +32 1.89 0.998202 82.3188 +33 1.95 1.00003 90.3559 +34 2.01 0.990083 98.8103 +35 2.07 1.01141 107.97 +36 2.13 0.99206 117.483 +37 2.19 0.997484 127.594 +38 2.25 0.987261 138.158 +39 2.31 0.995271 149.382 +40 2.37 1.00362 161.297 +41 2.43 1.0168 173.986 +42 2.49 0.997833 187.062 +43 2.55 1.00042 200.811 +44 2.61 0.999694 215.204 +45 2.67 1.00247 230.308 +46 2.73 1.00807 246.187 +47 2.79 0.995916 262.571 +48 2.85 0.994271 279.64 +49 2.91 0.991953 297.393 +50 2.97 1.0078 316.181 +106750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.091215 0.00927247 +5 0.27 0.0599377 0.0185449 +6 0.33 0.176165 0.0592011 +7 0.39 0.325537 0.164051 +8 0.45 0.407724 0.338802 +9 0.51 0.649329 0.696148 +10 0.57 0.761751 1.21969 +11 0.63 0.890471 1.96719 +12 0.69 1.01234 2.98645 +13 0.75 1.10999 4.3067 +14 0.81 1.13681 5.88374 +15 0.87 1.14816 7.72111 +16 0.93 1.12928 9.78602 +17 0.99 1.05269 11.9672 +18 1.05 1.02154 14.3481 +19 1.11 0.934383 16.7817 +20 1.17 0.976104 19.6063 +21 1.23 0.961946 22.6826 +22 1.29 0.948775 26.02 +23 1.35 0.980751 29.7981 +24 1.41 0.986653 33.9444 +25 1.47 1.00755 38.5464 +26 1.53 1.00836 43.5357 +27 1.59 1.01406 48.9544 +28 1.65 1.00326 54.7275 +29 1.71 1.02377 61.0549 +30 1.77 1.00941 67.7389 +31 1.83 1.01656 74.9344 +32 1.89 0.980724 82.3388 +33 1.95 0.998251 90.3616 +34 2.01 1.00938 98.9807 +35 2.07 0.982747 107.881 +36 2.13 0.988713 117.362 +37 2.19 1.00192 127.518 +38 2.25 0.992994 138.143 +39 2.31 0.993374 149.346 +40 2.37 1.00296 161.252 +41 2.43 1.00428 173.786 +42 2.49 1.0116 187.042 +43 2.55 1.00946 200.915 +44 2.61 1.00623 215.402 +45 2.67 0.999155 230.456 +46 2.73 0.992806 246.095 +47 2.79 1.0009 262.561 +48 2.85 0.987291 279.51 +49 2.91 1.00375 297.474 +50 2.97 1.00309 316.175 +106800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.030405 0.00285307 +5 0.27 0.0922118 0.0171184 +6 0.33 0.197799 0.0627675 +7 0.39 0.307821 0.161912 +8 0.45 0.431022 0.346648 +9 0.51 0.64544 0.701854 +10 0.57 0.798075 1.25036 +11 0.63 0.922759 2.02496 +12 0.69 0.968422 3 +13 0.75 1.0908 4.29743 +14 0.81 1.11573 5.84522 +15 0.87 1.18649 7.74394 +16 0.93 1.13162 9.81312 +17 0.99 1.03238 11.9522 +18 1.05 1.00135 14.286 +19 1.11 0.993535 16.8738 +20 1.17 0.976104 19.6983 +21 1.23 0.92983 22.6719 +22 1.29 0.971891 26.0906 +23 1.35 0.964643 29.8067 +24 1.41 0.988859 33.9622 +25 1.47 0.995058 38.5071 +26 1.53 1.01499 43.5292 +27 1.59 1.01967 48.9779 +28 1.65 1.01665 54.8281 +29 1.71 1.01212 61.0835 +30 1.77 1.00854 67.7618 +31 1.83 1.01505 74.9465 +32 1.89 0.991683 82.4337 +33 1.95 0.999404 90.4658 +34 2.01 0.999522 99.0007 +35 2.07 0.988496 107.953 +36 2.13 0.996151 117.505 +37 2.19 0.994248 127.583 +38 2.25 0.998994 138.272 +39 2.31 0.985848 149.391 +40 2.37 1.0163 161.456 +41 2.43 0.995249 173.877 +42 2.49 0.999357 186.972 +43 2.55 1.00894 200.838 +44 2.61 1.0104 215.385 +45 2.67 1.00611 230.544 +46 2.73 0.992671 246.18 +47 2.79 0.99817 262.602 +48 2.85 0.998384 279.741 +49 2.91 1.00483 297.725 +50 2.97 0.994558 316.266 +106850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0532087 0.0064194 +5 0.27 0.0737695 0.0178317 +6 0.33 0.169984 0.0570613 +7 0.39 0.365398 0.17475 +8 0.45 0.41438 0.352354 +9 0.51 0.619519 0.693295 +10 0.57 0.797037 1.24108 +11 0.63 0.869229 1.97076 +12 0.69 1.01943 2.99715 +13 0.75 1.04523 4.24037 +14 0.81 1.17229 5.86662 +15 0.87 1.17223 7.74251 +16 0.93 1.11367 9.77889 +17 0.99 1.09676 12.0514 +18 1.05 0.979312 14.3338 +19 1.11 0.963412 16.8431 +20 1.17 0.938144 19.5578 +21 1.23 0.937413 22.5556 +22 1.29 0.972702 25.9772 +23 1.35 0.985935 29.7753 +24 1.41 1.00753 34.0093 +25 1.47 1.00708 38.6091 +26 1.53 1.00894 43.6013 +27 1.59 1.02074 49.0556 +28 1.65 1.02248 54.9394 +29 1.71 1.00415 61.1455 +30 1.77 1.00499 67.8003 +31 1.83 0.995698 74.8481 +32 1.89 0.985164 82.286 +33 1.95 0.988044 90.2268 +34 2.01 0.990167 98.6819 +35 2.07 1.00472 107.781 +36 2.13 1.00344 117.403 +37 2.19 0.989322 127.432 +38 2.25 1.01379 138.279 +39 2.31 0.996852 149.521 +40 2.37 1.01281 161.545 +41 2.43 0.996392 173.98 +42 2.49 1.0152 187.283 +43 2.55 0.981273 200.769 +44 2.61 0.998555 215.146 +45 2.67 1.00848 230.34 +46 2.73 1.00259 246.133 +47 2.79 0.998257 262.556 +48 2.85 0.988163 279.519 +49 2.91 1.00176 297.448 +50 2.97 1.00818 316.243 +106900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.030405 0.0042796 +5 0.27 0.0599377 0.0135521 +6 0.33 0.157621 0.0499287 +7 0.39 0.298962 0.14622 +8 0.45 0.421037 0.326676 +9 0.51 0.623407 0.669757 +10 0.57 0.851003 1.25464 +11 0.63 0.913413 2.0214 +12 0.69 1.03785 3.06633 +13 0.75 1.05842 4.32525 +14 0.81 1.1327 5.89658 +15 0.87 1.17178 7.77175 +16 0.93 1.09807 9.7796 +17 0.99 1.03583 11.9258 +18 1.05 1.0041 14.266 +19 1.11 0.986689 16.8359 +20 1.17 0.965258 19.6291 +21 1.23 0.9218 22.577 +22 1.29 0.970066 25.9893 +23 1.35 0.985195 29.7846 +24 1.41 1.00583 34.0114 +25 1.47 1.01192 38.6334 +26 1.53 1.01125 43.6369 +27 1.59 1.01379 49.0542 +28 1.65 1.01839 54.9144 +29 1.71 1.01846 61.209 +30 1.77 0.99551 67.801 +31 1.83 0.978869 74.7297 +32 1.89 0.999524 82.276 +33 1.95 0.993724 90.2625 +34 2.01 0.989666 98.7133 +35 2.07 0.999129 107.762 +36 2.13 1.01155 117.461 +37 2.19 1.00846 127.684 +38 2.25 1.00026 138.387 +39 2.31 0.999129 149.655 +40 2.37 0.996468 161.484 +41 2.43 0.997535 173.934 +42 2.49 1.00589 187.115 +43 2.55 1.00603 200.941 +44 2.61 0.991124 215.21 +45 2.67 0.998445 230.254 +46 2.73 0.999599 245.999 +47 2.79 0.992881 262.334 +48 2.85 1.00046 279.509 +49 2.91 1.0057 297.508 +50 2.97 0.998843 316.129 +106950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.0691589 0.0156919 +6 0.33 0.173075 0.0556348 +7 0.39 0.334395 0.163338 +8 0.45 0.444336 0.35378 +9 0.51 0.585821 0.676177 +10 0.57 0.734768 1.18117 +11 0.63 0.905765 1.94151 +12 0.69 1.04422 2.99287 +13 0.75 1.10639 4.30884 +14 0.81 1.15738 5.91441 +15 0.87 1.13969 7.73823 +16 0.93 1.12615 9.79743 +17 0.99 1.05407 11.9815 +18 1.05 0.98176 14.2696 +19 1.11 0.964781 16.7825 +20 1.17 0.950222 19.5321 +21 1.23 0.941873 22.5442 +22 1.29 0.989127 26.0235 +23 1.35 0.986861 29.8252 +24 1.41 0.996497 34.0128 +25 1.47 0.974757 38.465 +26 1.53 1.01961 43.51 +27 1.59 1.02634 48.9943 +28 1.65 1.01132 54.8138 +29 1.71 1.00381 61.0178 +30 1.77 1.01037 67.7083 +31 1.83 0.997915 74.7718 +32 1.89 1.00113 82.3302 +33 1.95 0.999582 90.3638 +34 2.01 0.980811 98.7389 +35 2.07 1.00047 107.8 +36 2.13 1.00329 117.42 +37 2.19 1.00748 127.633 +38 2.25 0.987728 138.201 +39 2.31 1.00299 149.513 +40 2.37 1.00686 161.466 +41 2.43 0.994792 173.881 +42 2.49 1.00502 187.051 +43 2.55 0.992536 200.691 +44 2.61 0.996078 215.032 +45 2.67 1.00067 230.109 +46 2.73 1.00698 245.971 +47 2.79 1.00268 262.466 +48 2.85 0.993938 279.529 +49 2.91 1.00578 297.53 +50 2.97 0.997006 316.117 +107000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.06081 0.00713267 +5 0.27 0.0645483 0.0171184 +6 0.33 0.194709 0.0620542 +7 0.39 0.334395 0.169757 +8 0.45 0.399403 0.340942 +9 0.51 0.631184 0.688302 +10 0.57 0.828171 1.25749 +11 0.63 0.831843 1.95578 +12 0.69 1.01659 2.97932 +13 0.75 1.05122 4.22967 +14 0.81 1.15943 5.83809 +15 0.87 1.15708 7.68973 +16 0.93 1.12264 9.74251 +17 0.99 1.11948 12.0621 +18 1.05 1.00441 14.403 +19 1.11 0.960399 16.9044 +20 1.17 0.943567 19.6348 +21 1.23 0.941204 22.6448 +22 1.29 0.963374 26.0335 +23 1.35 0.986305 29.8331 +24 1.41 0.984107 33.9686 +25 1.47 1.0227 38.6398 +26 1.53 1.00894 43.632 +27 1.59 1.01219 49.0407 +28 1.65 1.00934 54.8488 +29 1.71 1.0255 61.1869 +30 1.77 0.996587 67.786 +31 1.83 0.998016 74.8502 +32 1.89 0.993478 82.3509 +33 1.95 0.993636 90.3367 +34 2.01 0.995429 98.8367 +35 2.07 0.996608 107.862 +36 2.13 0.99273 117.382 +37 2.19 0.999314 127.511 +38 2.25 1.00179 138.23 +39 2.31 1.00855 149.605 +40 2.37 1.00133 161.492 +41 2.43 1.00022 173.975 +42 2.49 1.00246 187.111 +43 2.55 1.00587 200.935 +44 2.61 0.989192 215.177 +45 2.67 1.01525 230.474 +46 2.73 0.99344 246.122 +47 2.79 0.996219 262.511 +48 2.85 0.991279 279.529 +49 2.91 0.996178 297.357 +50 2.97 1.01265 316.236 +107050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.133707 0.0235378 +6 0.33 0.182346 0.0656205 +7 0.39 0.327751 0.171184 +8 0.45 0.46597 0.370899 +9 0.51 0.598782 0.700428 +10 0.57 0.784583 1.23966 +11 0.63 0.856484 1.95863 +12 0.69 1.04847 3.01427 +13 0.75 1.08541 4.30528 +14 0.81 1.13218 5.87589 +15 0.87 1.14816 7.71327 +16 0.93 1.14137 9.80029 +17 0.99 1.07232 12.0221 +18 1.05 0.999204 14.3509 +19 1.11 0.946981 16.8174 +20 1.17 0.93913 19.535 +21 1.23 0.964177 22.6184 +22 1.29 0.974527 26.0464 +23 1.35 0.997229 29.888 +24 1.41 0.985634 34.03 +25 1.47 0.997713 38.587 +26 1.53 1.00418 43.5556 +27 1.59 1.02314 49.0228 +28 1.65 1.01169 54.8445 +29 1.71 0.995614 60.9979 +30 1.77 1.00402 67.6462 +31 1.83 1.00779 74.7796 +32 1.89 0.995745 82.2974 +33 1.95 0.987512 90.234 +34 2.01 1.00019 98.7746 +35 2.07 1.00283 107.857 +36 2.13 0.994738 117.395 +37 2.19 1.01522 127.686 +38 2.25 0.989461 138.273 +39 2.31 1.00647 149.624 +40 2.37 1.0044 161.548 +41 2.43 0.992791 173.938 +42 2.49 0.996799 187 +43 2.55 1.00805 200.854 +44 2.61 0.994542 215.173 +45 2.67 0.999439 230.231 +46 2.73 0.999191 245.97 +47 2.79 1.00558 262.514 +48 2.85 1.00108 279.699 +49 2.91 0.998569 297.571 +50 2.97 1.00523 316.311 +107100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.030405 0.00285307 +5 0.27 0.142928 0.0249643 +6 0.33 0.182346 0.0670471 +7 0.39 0.294533 0.161912 +8 0.45 0.437679 0.349501 +9 0.51 0.619519 0.690442 +10 0.57 0.736844 1.19686 +11 0.63 0.918511 1.9679 +12 0.69 1.0173 2.99215 +13 0.75 1.098 4.29815 +14 0.81 1.12036 5.85235 +15 0.87 1.16644 7.71897 +16 0.93 1.15346 9.8281 +17 0.99 1.07782 12.0613 +18 1.05 1.01451 14.4258 +19 1.11 0.926168 16.8381 +20 1.17 0.938391 19.5535 +21 1.23 0.943212 22.5699 +22 1.29 0.971485 25.9872 +23 1.35 0.98612 29.786 +24 1.41 1.00244 33.9986 +25 1.47 1.02364 38.674 +26 1.53 0.999137 43.6177 +27 1.59 1.01379 49.035 +28 1.65 1.03078 54.9665 +29 1.71 0.995844 61.1213 +30 1.77 0.995833 67.7154 +31 1.83 1.0095 74.8609 +32 1.89 0.990927 82.3424 +33 1.95 0.992393 90.3181 +34 2.01 1.00587 98.9073 +35 2.07 1.00315 107.992 +36 2.13 1.00404 117.62 +37 2.19 0.990307 127.658 +38 2.25 0.991128 138.263 +39 2.31 0.997358 149.511 +40 2.37 1.00891 161.489 +41 2.43 1.00719 174.058 +42 2.49 0.997833 187.134 +43 2.55 0.998608 200.858 +44 2.61 0.998605 215.235 +45 2.67 0.998918 230.286 +46 2.73 1.00571 246.128 +47 2.79 1.00155 262.605 +48 2.85 1.00624 279.879 +49 2.91 0.996736 297.718 +50 2.97 1.00175 316.393 +107150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.0968224 0.0192582 +6 0.33 0.207071 0.0670471 +7 0.39 0.314464 0.168331 +8 0.45 0.406059 0.342368 +9 0.51 0.622111 0.684736 +10 0.57 0.807415 1.23966 +11 0.63 0.847987 1.9515 +12 0.69 1.02439 2.98288 +13 0.75 1.11059 4.30385 +14 0.81 1.13578 5.87946 +15 0.87 1.16465 7.74322 +16 0.93 1.13162 9.81241 +17 0.99 1.04443 11.9765 +18 1.05 1.00318 14.3146 +19 1.11 0.958482 16.811 +20 1.17 0.936912 19.5221 +21 1.23 0.945665 22.5464 +22 1.29 0.981421 25.9986 +23 1.35 0.971864 29.7425 +24 1.41 0.999043 33.9408 +25 1.47 1.03019 38.6462 +26 1.53 1.00692 43.6284 +27 1.59 0.997643 48.9593 +28 1.65 1.00673 54.7525 +29 1.71 1.00138 60.9415 +30 1.77 1.02255 67.7126 +31 1.83 0.989249 74.7147 +32 1.89 1.0033 82.2896 +33 1.95 1.00633 90.3773 +34 2.01 0.996432 98.8859 +35 2.07 0.998341 107.927 +36 2.13 1.00352 117.55 +37 2.19 0.991855 127.604 +38 2.25 0.989128 138.188 +39 2.31 1.015 149.635 +40 2.37 1.00506 161.566 +41 2.43 0.997764 174.019 +42 2.49 0.994731 187.053 +43 2.55 0.993158 200.703 +44 2.61 1.005 215.172 +45 2.67 0.998776 230.22 +46 2.73 0.996157 245.912 +47 2.79 1.0074 262.485 +48 2.85 0.997179 279.603 +49 2.91 0.994743 297.407 +50 2.97 1.00401 316.124 +107200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.06081 0.0064194 +5 0.27 0.115265 0.0242511 +6 0.33 0.20089 0.0706134 +7 0.39 0.254672 0.152639 +8 0.45 0.434351 0.338802 +9 0.51 0.623407 0.681883 +10 0.57 0.804302 1.23466 +11 0.63 0.888772 1.98074 +12 0.69 0.989675 2.97718 +13 0.75 1.0884 4.27175 +14 0.81 1.1327 5.84308 +15 0.87 1.13746 7.66334 +16 0.93 1.14605 9.75892 +17 0.99 1.08849 12.0143 +18 1.05 1.00349 14.3531 +19 1.11 0.972997 16.8873 +20 1.17 0.955892 19.6534 +21 1.23 0.938082 22.6534 +22 1.29 0.976555 26.0884 +23 1.35 0.972234 29.8338 +24 1.41 0.966794 33.8966 +25 1.47 1.0013 38.47 +26 1.53 1.01326 43.4836 +27 1.59 1.03141 48.995 +28 1.65 1.00983 54.806 +29 1.71 1.01246 61.0635 +30 1.77 1.03924 67.9451 +31 1.83 0.975443 74.8495 +32 1.89 0.990833 82.3302 +33 1.95 0.98485 90.2454 +34 2.01 0.989749 98.6969 +35 2.07 0.991725 107.678 +36 2.13 0.998085 117.249 +37 2.19 1.00783 127.465 +38 2.25 1.01219 138.295 +39 2.31 0.996473 149.534 +40 2.37 1.00278 161.438 +41 2.43 1.00668 174.001 +42 2.49 1.00556 187.178 +43 2.55 0.992432 200.817 +44 2.61 1.00118 215.232 +45 2.67 1.00275 230.34 +46 2.73 1.00616 246.189 +47 2.79 1.00389 262.705 +48 2.85 0.987914 279.664 +49 2.91 0.999765 297.557 +50 2.97 0.99934 316.188 +107250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.030405 0.00285307 +5 0.27 0.0968224 0.0178317 +6 0.33 0.197799 0.0634807 +7 0.39 0.294533 0.158345 +8 0.45 0.470962 0.3602 +9 0.51 0.598782 0.689729 +10 0.57 0.723353 1.18688 +11 0.63 0.963544 1.99572 +12 0.69 0.996759 2.99929 +13 0.75 1.08601 4.29101 +14 0.81 1.14298 5.8766 +15 0.87 1.14504 7.70899 +16 0.93 1.1324 9.7796 +17 0.99 1.07404 12.005 +18 1.05 1.01206 14.3638 +19 1.11 0.954922 16.8509 +20 1.17 0.929517 19.5407 +21 1.23 0.959939 22.6106 +22 1.29 0.950194 25.9529 +23 1.35 0.996859 29.7932 +24 1.41 1.00329 34.0093 +25 1.47 0.997245 38.5642 +26 1.53 0.990056 43.4629 +27 1.59 1.0174 48.8994 +28 1.65 1.03264 54.8417 +29 1.71 1.00635 61.0613 +30 1.77 1.01555 67.786 +31 1.83 1.00084 74.8702 +32 1.89 0.99036 82.3474 +33 1.95 0.993813 90.3345 +34 2.01 0.976885 98.6762 +35 2.07 1.01331 107.853 +36 2.13 0.98782 117.325 +37 2.19 1.01705 127.635 +38 2.25 1.00253 138.362 +39 2.31 1.00141 149.655 +40 2.37 0.989378 161.401 +41 2.43 0.997478 173.85 +42 2.49 1.00023 186.956 +43 2.55 0.998297 200.676 +44 2.61 1.0044 215.137 +45 2.67 1.00938 230.345 +46 2.73 1.00684 246.205 +47 2.79 0.99778 262.62 +48 2.85 0.99693 279.734 +49 2.91 0.993149 297.509 +50 2.97 1.00493 316.243 +107300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.06081 0.0064194 +5 0.27 0.0691589 0.0171184 +6 0.33 0.166893 0.0556348 +7 0.39 0.31225 0.156205 +8 0.45 0.482612 0.363053 +9 0.51 0.585821 0.685449 +10 0.57 0.765903 1.21184 +11 0.63 0.898118 1.96576 +12 0.69 0.992508 2.96505 +13 0.75 1.13698 4.3174 +14 0.81 1.14966 5.91227 +15 0.87 1.18426 7.80742 +16 0.93 1.1242 9.86305 +17 0.99 1.03479 12.0071 +18 1.05 0.983596 14.2996 +19 1.11 0.966698 16.8174 +20 1.17 0.949729 19.5656 +21 1.23 0.982466 22.7076 +22 1.29 0.95648 26.072 +23 1.35 0.978714 29.8424 +24 1.41 1.00447 34.0635 +25 1.47 0.996776 38.6163 +26 1.53 1.00144 43.5713 +27 1.59 1.00886 48.9622 +28 1.65 1.0014 54.7247 +29 1.71 1.021 61.035 +30 1.77 1.01134 67.7318 +31 1.83 0.997713 74.7939 +32 1.89 0.997351 82.3238 +33 1.95 1.00366 90.3902 +34 2.01 0.990919 98.8516 +35 2.07 1.00945 107.994 +36 2.13 0.994292 117.528 +37 2.19 0.984959 127.512 +38 2.25 0.99806 138.191 +39 2.31 1.0009 149.479 +40 2.37 1.00662 161.429 +41 2.43 1.00514 173.974 +42 2.49 1.00436 187.135 +43 2.55 1.00707 200.975 +44 2.61 1.0042 215.433 +45 2.67 0.997688 230.465 +46 2.73 0.997561 246.178 +47 2.79 0.991884 262.496 +48 2.85 0.995268 279.582 +49 2.91 1.00674 297.6 +50 2.97 1.00389 316.315 +107350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0760125 0.0085592 +5 0.27 0.0922118 0.0228245 +6 0.33 0.197799 0.0684736 +7 0.39 0.321108 0.171897 +8 0.45 0.472627 0.374465 +9 0.51 0.592302 0.700428 +10 0.57 0.72439 1.19829 +11 0.63 0.932106 1.98074 +12 0.69 1.01022 2.99786 +13 0.75 1.0938 4.29886 +14 0.81 1.17074 5.92297 +15 0.87 1.17223 7.79886 +16 0.93 1.07583 9.76605 +17 0.99 1.07954 12.0029 +18 1.05 1.03532 14.4158 +19 1.11 0.949993 16.8902 +20 1.17 0.940363 19.6113 +21 1.23 0.955702 22.6676 +22 1.29 0.955872 26.03 +23 1.35 0.97964 29.8039 +24 1.41 1.00889 34.0435 +25 1.47 0.989905 38.5649 +26 1.53 1.00317 43.5285 +27 1.59 1.01713 48.9636 +28 1.65 1.02756 54.8766 +29 1.71 1.00692 61.0999 +30 1.77 1.01511 67.8217 +31 1.83 0.99469 74.8623 +32 1.89 0.995273 82.3766 +33 1.95 1.00118 90.423 +34 2.01 0.990083 98.8773 +35 2.07 0.993537 107.875 +36 2.13 0.992878 117.396 +37 2.19 0.997766 127.51 +38 2.25 1.00459 138.259 +39 2.31 1.00413 149.583 +40 2.37 0.998331 161.435 +41 2.43 1.00411 173.966 +42 2.49 1.00442 187.128 +43 2.55 0.997829 200.842 +44 2.61 0.994542 215.16 +45 2.67 1.00105 230.243 +46 2.73 1.00173 246.022 +47 2.79 1.00519 262.559 +48 2.85 0.997678 279.686 +49 2.91 0.99833 297.553 +50 2.97 1.00466 316.283 +107400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.119875 0.0228245 +6 0.33 0.163803 0.0606277 +7 0.39 0.325537 0.165478 +8 0.45 0.396074 0.335235 +9 0.51 0.63248 0.68331 +10 0.57 0.784583 1.22254 +11 0.63 0.872628 1.95506 +12 0.69 1.02439 2.98645 +13 0.75 1.0956 4.28959 +14 0.81 1.13784 5.86805 +15 0.87 1.19273 7.77675 +16 0.93 1.15151 9.88231 +17 0.99 1.05476 12.0678 +18 1.05 0.973191 14.3359 +19 1.11 0.961769 16.8409 +20 1.17 0.926559 19.5221 +21 1.23 0.964177 22.6056 +22 1.29 0.964794 25.9993 +23 1.35 0.981306 29.7796 +24 1.41 1.01025 34.025 +25 1.47 0.993653 38.5635 +26 1.53 1.03446 43.6819 +27 1.59 1.02234 49.1448 +28 1.65 1.01417 54.9807 +29 1.71 1.00612 61.199 +30 1.77 1.00057 67.8245 +31 1.83 1.00104 74.9101 +32 1.89 0.981385 82.3195 +33 1.95 0.982453 90.2154 +34 2.01 0.999439 98.7496 +35 2.07 1.00031 107.809 +36 2.13 1.01333 117.526 +37 2.19 1.00227 127.685 +38 2.25 1.00726 138.463 +39 2.31 0.987113 149.596 +40 2.37 1.01329 161.625 +41 2.43 0.99622 174.058 +42 2.49 0.9962 187.112 +43 2.55 1.00535 200.929 +44 2.61 0.991817 215.208 +45 2.67 0.990208 230.128 +46 2.73 0.999055 245.864 +47 2.79 0.995309 262.239 +48 2.85 1.00919 279.563 +49 2.91 1.01256 297.685 +50 2.97 1.00106 316.348 +107450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.030405 0.0042796 +5 0.27 0.0737695 0.0156919 +6 0.33 0.197799 0.0613409 +7 0.39 0.296748 0.156919 +8 0.45 0.459313 0.35378 +9 0.51 0.613039 0.691155 +10 0.57 0.769016 1.21969 +11 0.63 0.896419 1.97218 +12 0.69 1.02085 3 +13 0.75 1.08181 4.28673 +14 0.81 1.14452 5.87447 +15 0.87 1.15797 7.72753 +16 0.93 1.13825 9.80884 +17 0.99 1.0551 11.995 +18 1.05 0.986351 14.2939 +19 1.11 0.965876 16.8096 +20 1.17 0.971174 19.6198 +21 1.23 0.977559 22.7461 +22 1.29 0.951816 26.0942 +23 1.35 0.985195 29.8894 +24 1.41 0.972565 33.9765 +25 1.47 0.984596 38.4736 +26 1.53 1.01586 43.5 +27 1.59 1.00926 48.893 +28 1.65 1.02 54.7625 +29 1.71 1.0135 61.0264 +30 1.77 1.01824 67.7689 +31 1.83 0.999426 74.8431 +32 1.89 0.997918 82.3773 +33 1.95 1.00136 90.4251 +34 2.01 0.978305 98.7789 +35 2.07 0.994797 107.788 +36 2.13 1.00664 117.441 +37 2.19 1.00712 127.65 +38 2.25 0.987528 138.216 +39 2.31 0.997485 149.466 +40 2.37 1.00969 161.452 +41 2.43 0.99965 173.928 +42 2.49 1.00099 187.045 +43 2.55 1.00613 200.872 +44 2.61 1.01178 215.439 +45 2.67 1.00682 230.609 +46 2.73 0.992037 246.235 +47 2.79 0.993011 262.572 +48 2.85 0.986335 279.504 +49 2.91 1.00634 297.515 +50 2.97 1.00259 316.206 +107500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.0380062 0.00570613 +5 0.27 0.119875 0.0242511 +6 0.33 0.176165 0.0649073 +7 0.39 0.314464 0.166191 +8 0.45 0.450992 0.359486 +9 0.51 0.597486 0.688302 +10 0.57 0.760714 1.21113 +11 0.63 0.923609 1.98645 +12 0.69 1.01872 3.01213 +13 0.75 1.08661 4.30456 +14 0.81 1.13732 5.88231 +15 0.87 1.129 7.68902 +16 0.93 1.13474 9.76391 +17 0.99 1.10364 12.0506 +18 1.05 0.991859 14.3623 +19 1.11 0.957387 16.8559 +20 1.17 0.930503 19.5485 +21 1.23 0.948564 22.582 +22 1.29 0.957291 25.9494 +23 1.35 1.00093 29.8053 +24 1.41 0.991914 33.9736 +25 1.47 1.00755 38.5756 +26 1.53 0.998849 43.5178 +27 1.59 1.01032 48.9165 +28 1.65 1.01876 54.7789 +29 1.71 1.02377 61.1063 +30 1.77 1.00348 67.7511 +31 1.83 1.00154 74.8402 +32 1.89 0.984692 82.2746 +33 1.95 0.995322 90.2739 +34 2.01 0.986491 98.6976 +35 2.07 1.00228 107.775 +36 2.13 1.00731 117.434 +37 2.19 1.00241 127.595 +38 2.25 0.99886 138.282 +39 2.31 1.00122 149.574 +40 2.37 0.996047 161.399 +41 2.43 0.997535 173.848 +42 2.49 0.994513 186.88 +43 2.55 1.01112 200.776 +44 2.61 0.998109 215.146 +45 2.67 1.0001 230.215 +46 2.73 0.999418 245.957 +47 2.79 1.00745 262.531 +48 2.85 1.00212 279.735 +49 2.91 1.0004 297.639 +50 2.97 0.993754 316.165 +107550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.06081 0.0064194 +5 0.27 0.15676 0.0306705 +6 0.33 0.191618 0.074893 +7 0.39 0.26353 0.159772 +8 0.45 0.489268 0.369472 +9 0.51 0.613039 0.706847 +10 0.57 0.739957 1.21541 +11 0.63 0.903216 1.97361 +12 0.69 1.00526 2.98573 +13 0.75 1.0968 4.2903 +14 0.81 1.17743 5.92368 +15 0.87 1.12677 7.72682 +16 0.93 1.1242 9.78245 +17 0.99 1.06337 11.9857 +18 1.05 0.99645 14.3081 +19 1.11 0.988058 16.8816 +20 1.17 0.959589 19.6583 +21 1.23 0.937636 22.6569 +22 1.29 0.958508 26.0285 +23 1.35 0.969642 29.7639 +24 1.41 0.992424 33.9344 +25 1.47 1.01208 38.5571 +26 1.53 1.00375 43.5235 +27 1.59 1.03462 49.0521 +28 1.65 1.01169 54.8738 +29 1.71 1.00773 61.102 +30 1.77 1.01231 67.8053 +31 1.83 1.00779 74.9387 +32 1.89 0.981291 82.3474 +33 1.95 1.00393 90.4158 +34 2.01 0.990417 98.873 +35 2.07 0.988181 107.822 +36 2.13 0.994069 117.354 +37 2.19 0.998892 127.48 +38 2.25 1.00559 138.24 +39 2.31 1.00216 149.542 +40 2.37 1.005 161.473 +41 2.43 0.996906 173.914 +42 2.49 1.00562 187.092 +43 2.55 0.998764 200.818 +44 2.61 1.00371 215.269 +45 2.67 1.00185 230.364 +46 2.73 1.00082 246.128 +47 2.79 0.981955 262.283 +48 2.85 1.00121 279.471 +49 2.91 0.994982 297.278 +50 2.97 1.00171 315.953 +107600 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0 0.000713267 +4 0.21 0.0532087 0.00570613 +5 0.27 0.106044 0.0221113 +6 0.33 0.188528 0.0656205 +7 0.39 0.290104 0.159058 +8 0.45 0.436015 0.345934 +9 0.51 0.600078 0.676177 +10 0.57 0.73892 1.18402 +11 0.63 0.89472 1.93509 +12 0.69 1.04706 2.9893 +13 0.75 1.1052 4.30385 +14 0.81 1.13218 5.87447 +15 0.87 1.16688 7.7418 +16 0.93 1.13396 9.81526 +17 0.99 1.06853 12.0292 +18 1.05 0.994614 14.3474 +19 1.11 0.956018 16.8374 +20 1.17 0.947018 19.5777 +21 1.23 0.931837 22.5578 +22 1.29 0.977568 25.9964 +23 1.35 0.968346 29.7268 +24 1.41 1.01126 33.9765 +25 1.47 1.00833 38.582 +26 1.53 1.01716 43.6148 +27 1.59 0.994973 48.9315 +28 1.65 1.03066 54.8623 +29 1.71 1.01512 61.1362 +30 1.77 1.00844 67.8138 +31 1.83 0.982699 74.7696 +32 1.89 0.995462 82.2853 +33 1.95 0.992748 90.2639 +34 2.01 1.00036 98.806 +35 2.07 0.990465 107.776 +36 2.13 1.00902 117.451 +37 2.19 1.00677 127.657 +38 2.25 0.993061 138.282 +39 2.31 1.00324 149.597 +40 2.37 1.0065 161.546 +41 2.43 0.998049 174.001 +42 2.49 1.00322 187.148 +43 2.55 1.00125 200.908 +44 2.61 1.00242 215.34 +45 2.67 0.996409 230.353 +46 2.73 0.99181 245.976 +47 2.79 1.00411 262.495 +48 2.85 0.996431 279.601 +49 2.91 0.995979 297.426 +50 2.97 1.01373 316.325 +107650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.124486 0.0235378 +6 0.33 0.231796 0.0770328 +7 0.39 0.272388 0.164765 +8 0.45 0.462642 0.363053 +9 0.51 0.59619 0.691155 +10 0.57 0.765903 1.21755 +11 0.63 0.887072 1.9622 +12 0.69 1.02085 2.99001 +13 0.75 1.11299 4.31384 +14 0.81 1.14401 5.90086 +15 0.87 1.15618 7.75107 +16 0.93 1.10782 9.77675 +17 0.99 1.08712 12.0292 +18 1.05 1.00165 14.3638 +19 1.11 0.928906 16.7832 +20 1.17 0.965505 19.577 +21 1.23 0.961054 22.6505 +22 1.29 0.966822 26.0514 +23 1.35 0.96779 29.7796 +24 1.41 1.00787 34.015 +25 1.47 0.986313 38.52 +26 1.53 1.01672 43.5506 +27 1.59 1.01393 48.9686 +28 1.65 1.02148 54.8466 +29 1.71 1.00612 61.0649 +30 1.77 1.00283 67.7054 +31 1.83 1.01132 74.8638 +32 1.89 0.993478 82.3645 +33 1.95 0.986536 90.2932 +34 2.01 0.977888 98.6434 +35 2.07 1.01386 107.825 +36 2.13 1.01036 117.514 +37 2.19 0.992277 127.572 +38 2.25 0.991061 138.176 +39 2.31 0.994133 149.388 +40 2.37 1.00386 161.305 +41 2.43 1.00777 173.882 +42 2.49 0.996255 186.937 +43 2.55 1.02087 200.967 +44 2.61 0.984832 215.146 +45 2.67 1.0073 230.323 +46 2.73 1.00191 246.105 +47 2.79 0.99817 262.526 +48 2.85 0.994479 279.598 +49 2.91 1.00566 297.597 +50 2.97 0.990923 316.071 +107700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.0968224 0.0199715 +6 0.33 0.210162 0.0684736 +7 0.39 0.248028 0.148359 +8 0.45 0.467634 0.348787 +9 0.51 0.670066 0.717546 +10 0.57 0.758638 1.23894 +11 0.63 0.899818 1.99429 +12 0.69 1.00668 3.00785 +13 0.75 1.07221 4.28317 +14 0.81 1.13475 5.85735 +15 0.87 1.16644 7.72397 +16 0.93 1.13786 9.80456 +17 0.99 1.0675 12.0164 +18 1.05 0.978088 14.296 +19 1.11 0.989154 16.8723 +20 1.17 0.929024 19.5606 +21 1.23 0.960162 22.6312 +22 1.29 0.970066 26.0435 +23 1.35 0.982602 29.8288 +24 1.41 0.981221 33.9522 +25 1.47 1.02004 38.6113 +26 1.53 0.993804 43.5285 +27 1.59 1.0234 48.9971 +28 1.65 1.01268 54.8245 +29 1.71 0.997345 60.9886 +30 1.77 1.02481 67.7746 +31 1.83 1.01767 74.9779 +32 1.89 0.992722 82.4729 +33 1.95 0.987334 90.408 +34 2.01 0.987577 98.8409 +35 2.07 1.00732 107.964 +36 2.13 0.996077 117.515 +37 2.19 0.987704 127.527 +38 2.25 1.00726 138.305 +39 2.31 1.00033 149.586 +40 2.37 1.00206 161.482 +41 2.43 1.00748 174.056 +42 2.49 1.00529 187.229 +43 2.55 0.993885 200.888 +44 2.61 0.999794 215.282 +45 2.67 0.998492 230.327 +46 2.73 1.00186 246.108 +47 2.79 0.998994 262.543 +48 2.85 1.00482 279.792 +49 2.91 0.999406 297.679 +50 2.97 0.992951 316.19 +107750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.030405 0.00285307 +5 0.27 0.0922118 0.0171184 +6 0.33 0.203981 0.064194 +7 0.39 0.292319 0.158345 +8 0.45 0.449328 0.350927 +9 0.51 0.623407 0.694009 +10 0.57 0.71505 1.18545 +11 0.63 0.89387 1.93581 +12 0.69 1.03997 2.98288 +13 0.75 1.11719 4.3117 +14 0.81 1.14658 5.90228 +15 0.87 1.14905 7.74108 +16 0.93 1.1402 9.82596 +17 0.99 1.0675 12.0378 +18 1.05 0.985126 14.3338 +19 1.11 0.954648 16.8203 +20 1.17 0.959343 19.5963 +21 1.23 0.937636 22.5949 +22 1.29 0.973919 26.0207 +23 1.35 0.976307 29.7817 +24 1.41 0.983598 33.9151 +25 1.47 1.01895 38.5692 +26 1.53 1.01254 43.5792 +27 1.59 1.01433 48.9993 +28 1.65 0.999917 54.7532 +29 1.71 1.0232 61.077 +30 1.77 1.00456 67.729 +31 1.83 0.987334 74.7175 +32 1.89 1.00888 82.3345 +33 1.95 0.983785 90.2411 +34 2.01 1.00345 98.8096 +35 2.07 0.998341 107.851 +36 2.13 0.997267 117.414 +37 2.19 1.00628 127.614 +38 2.25 1.00166 138.332 +39 2.31 0.983255 149.421 +40 2.37 0.999893 161.291 +41 2.43 1.00971 173.892 +42 2.49 0.998269 186.974 +43 2.55 1.00063 200.725 +44 2.61 1.0104 215.272 +45 2.67 0.994516 230.257 +46 2.73 0.995161 245.932 +47 2.79 1.00181 262.414 +48 2.85 0.992152 279.446 +49 2.91 1.00196 297.378 +50 2.97 1.00485 316.111 +107800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.119875 0.021398 +6 0.33 0.142168 0.0542083 +7 0.39 0.292319 0.148359 +8 0.45 0.436015 0.335235 +9 0.51 0.667473 0.702568 +10 0.57 0.733731 1.20685 +11 0.63 0.916811 1.97646 +12 0.69 1.00243 2.98573 +13 0.75 1.0884 4.28031 +14 0.81 1.13218 5.85093 +15 0.87 1.17892 7.73752 +16 0.93 1.12615 9.79672 +17 0.99 1.06302 11.9993 +18 1.05 1.00992 14.3531 +19 1.11 0.939313 16.7996 +20 1.17 0.928285 19.4857 +21 1.23 0.972429 22.5956 +22 1.29 0.982435 26.0514 +23 1.35 0.978159 29.8195 +24 1.41 0.977827 33.9287 +25 1.47 1.00989 38.5414 +26 1.53 1.00735 43.5257 +27 1.59 1.02634 49.01 +28 1.65 1.01665 54.8602 +29 1.71 1.00912 61.097 +30 1.77 0.996803 67.6976 +31 1.83 0.996101 74.7482 +32 1.89 0.990171 82.224 +33 1.95 1.00491 90.3003 +34 2.01 1.00019 98.8409 +35 2.07 0.992277 107.827 +36 2.13 0.989308 117.314 +37 2.19 1.00079 127.459 +38 2.25 1.00599 138.223 +39 2.31 1.00539 149.561 +40 2.37 1.00512 161.494 +41 2.43 1.00611 174.05 +42 2.49 1.00137 187.172 +43 2.55 0.999594 200.909 +44 2.61 1.00138 215.327 +45 2.67 0.994752 230.315 +46 2.73 1.00023 246.07 +47 2.79 0.995525 262.448 +48 2.85 1.00295 279.665 +49 2.91 0.990917 297.4 +50 2.97 1.00416 316.121 +107850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.0532087 0.00713267 +5 0.27 0.110654 0.0242511 +6 0.33 0.145259 0.0577746 +7 0.39 0.292319 0.151926 +8 0.45 0.450992 0.345221 +9 0.51 0.654513 0.705421 +10 0.57 0.775243 1.23823 +11 0.63 0.86753 1.96648 +12 0.69 0.993925 2.96719 +13 0.75 1.04823 4.21398 +14 0.81 1.16869 5.83524 +15 0.87 1.15975 7.69116 +16 0.93 1.16633 9.82382 +17 0.99 1.06681 12.0342 +18 1.05 1.01022 14.3887 +19 1.11 0.92918 16.8088 +20 1.17 0.959589 19.5856 +21 1.23 0.961946 22.6619 +22 1.29 0.962766 26.0485 +23 1.35 0.971678 29.7917 +24 1.41 1.00566 34.0178 +25 1.47 1.01911 38.6726 +26 1.53 0.998561 43.6134 +27 1.59 1.02047 49.0663 +28 1.65 1.00611 54.8559 +29 1.71 1.00265 61.0528 +30 1.77 0.998418 67.6641 +31 1.83 1.01283 74.8331 +32 1.89 0.97704 82.2097 +33 1.95 1.00491 90.286 +34 2.01 0.98858 98.7275 +35 2.07 1.00574 107.836 +36 2.13 0.998606 117.412 +37 2.19 1.00853 127.635 +38 2.25 0.989661 138.224 +39 2.31 1.01146 149.631 +40 2.37 0.998571 161.486 +41 2.43 1.00719 174.056 +42 2.49 0.996962 187.12 +43 2.55 0.999905 200.862 +44 2.61 0.995335 215.192 +45 2.67 0.987367 230.068 +46 2.73 1.00105 245.837 +47 2.79 1.00485 262.368 +48 2.85 1.00358 279.596 +49 2.91 1.00714 297.621 +50 2.97 0.999225 316.25 +107900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.06081 0.0064194 +5 0.27 0.124486 0.0256776 +6 0.33 0.169984 0.0649073 +7 0.39 0.290104 0.158345 +8 0.45 0.474291 0.361626 +9 0.51 0.637664 0.712553 +10 0.57 0.71505 1.20399 +11 0.63 0.912563 1.97004 +12 0.69 1.02297 3 +13 0.75 1.06322 4.26462 +14 0.81 1.13938 5.84522 +15 0.87 1.14905 7.68402 +16 0.93 1.11523 9.72325 +17 0.99 1.08368 11.9686 +18 1.05 1.01604 14.3367 +19 1.11 0.96259 16.8438 +20 1.17 0.950222 19.5934 +21 1.23 0.958601 22.6591 +22 1.29 0.964997 26.0535 +23 1.35 0.976492 29.8153 +24 1.41 0.991405 33.9815 +25 1.47 0.997401 38.5371 +26 1.53 1.02105 43.5892 +27 1.59 1.0198 49.0385 +28 1.65 1.01702 54.8909 +29 1.71 1.00496 61.102 +30 1.77 0.988293 67.6462 +31 1.83 1.00769 74.7789 +32 1.89 1.00255 82.3481 +33 1.95 0.98414 90.2575 +34 2.01 1.00136 98.8081 +35 2.07 0.998735 107.853 +36 2.13 1.00552 117.495 +37 2.19 0.991363 127.544 +38 2.25 0.997394 138.216 +39 2.31 1.00179 149.514 +40 2.37 1.00638 161.461 +41 2.43 1.00594 174.016 +42 2.49 1.00915 187.24 +43 2.55 0.99238 200.878 +44 2.61 0.995335 215.208 +45 2.67 0.999913 230.274 +46 2.73 0.999418 246.016 +47 2.79 1.00229 262.506 +48 2.85 0.999423 279.663 +49 2.91 0.990997 297.399 +50 2.97 0.997504 315.995 +107950 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0296049 0.0021398 +4 0.21 0.0760125 0.00927247 +5 0.27 0.0829907 0.0221113 +6 0.33 0.188528 0.0656205 +7 0.39 0.318893 0.168331 +8 0.45 0.494261 0.380171 +9 0.51 0.539163 0.67689 +10 0.57 0.780432 1.21327 +11 0.63 0.899818 1.96862 +12 0.69 1.01376 2.9893 +13 0.75 1.104 4.30243 +14 0.81 1.13887 5.88231 +15 0.87 1.15084 7.72397 +16 0.93 1.12186 9.77532 +17 0.99 1.06405 11.98 +18 1.05 1.00685 14.3267 +19 1.11 0.960947 16.8295 +20 1.17 0.951208 19.582 +21 1.23 0.944327 22.602 +22 1.29 0.961347 25.9836 +23 1.35 0.986491 29.7839 +24 1.41 1.00583 34.0107 +25 1.47 0.991779 38.5407 +26 1.53 1.0271 43.6227 +27 1.59 1.02901 49.1213 +28 1.65 1.02644 55.0278 +29 1.71 0.98765 61.132 +30 1.77 1.0051 67.7874 +31 1.83 0.995698 74.8352 +32 1.89 0.998202 82.3716 +33 1.95 0.997541 90.3887 +34 2.01 0.992088 98.8602 +35 2.07 0.995742 107.878 +36 2.13 0.994961 117.419 +37 2.19 1.00171 127.573 +38 2.25 1.00686 138.346 +39 2.31 1.00223 149.649 +40 2.37 1.01095 161.65 +41 2.43 0.997878 174.104 +42 2.49 0.9876 187.046 +43 2.55 1.00956 200.92 +44 2.61 0.994394 215.237 +45 2.67 1.00195 230.333 +46 2.73 1.00693 246.194 +47 2.79 1.00216 262.681 +48 2.85 0.994562 279.755 +49 2.91 0.993747 297.54 +50 2.97 1.00171 316.215 +108000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0380062 0.00499287 +5 0.27 0.110654 0.0221113 +6 0.33 0.194709 0.0670471 +7 0.39 0.298962 0.163338 +8 0.45 0.436015 0.350214 +9 0.51 0.593598 0.67689 +10 0.57 0.725428 1.17546 +11 0.63 0.929557 1.95578 +12 0.69 1.01943 2.98217 +13 0.75 1.12438 4.31954 +14 0.81 1.1584 5.92653 +15 0.87 1.15396 7.77318 +16 0.93 1.11211 9.8067 +17 0.99 1.05614 11.995 +18 1.05 0.977476 14.2732 +19 1.11 0.983403 16.8345 +20 1.17 0.947511 19.5763 +21 1.23 0.927599 22.5428 +22 1.29 0.979799 25.9893 +23 1.35 0.988712 29.7981 +24 1.41 1.00719 34.0307 +25 1.47 0.997401 38.5863 +26 1.53 1.01226 43.5949 +27 1.59 1.00685 48.975 +28 1.65 1.02434 54.8695 +29 1.71 1.00069 61.0542 +30 1.77 1.00919 67.7368 +31 1.83 1.01091 74.8923 +32 1.89 0.986487 82.3402 +33 1.95 0.990707 90.3024 +34 2.01 0.987995 98.7389 +35 2.07 1.00346 107.827 +36 2.13 0.994217 117.36 +37 2.19 1.00171 127.514 +38 2.25 0.998327 138.196 +39 2.31 1.00115 149.487 +40 2.37 1.0038 161.404 +41 2.43 1.00525 173.949 +42 2.49 1.00698 187.145 +43 2.55 1.00686 200.982 +44 2.61 1.00291 215.422 +45 2.67 0.994752 230.409 +46 2.73 0.99652 246.106 +47 2.79 1.00099 262.574 +48 2.85 0.999049 279.725 +49 2.91 0.987928 297.406 +50 2.97 1.0011 316.069 +108050 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0760125 0.0085592 +5 0.27 0.0922118 0.0228245 +6 0.33 0.169984 0.0620542 +7 0.39 0.298962 0.158345 +8 0.45 0.411052 0.334522 +9 0.51 0.631184 0.681883 +10 0.57 0.793924 1.22753 +11 0.63 0.887922 1.9729 +12 0.69 0.976214 2.95578 +13 0.75 1.11419 4.28103 +14 0.81 1.15172 5.87874 +15 0.87 1.18337 7.77247 +16 0.93 1.13864 9.85449 +17 0.99 1.04409 12.0178 +18 1.05 0.969519 14.2775 +19 1.11 0.965876 16.7932 +20 1.17 0.948743 19.5385 +21 1.23 0.973321 22.6512 +22 1.29 0.955263 26.0114 +23 1.35 0.985009 29.806 +24 1.41 0.998704 34.0029 +25 1.47 0.987094 38.5114 +26 1.53 1.01168 43.5171 +27 1.59 1.02314 48.9843 +28 1.65 1.00698 54.7789 +29 1.71 1.02758 61.1298 +30 1.77 1.00973 67.816 +31 1.83 1.00386 74.9215 +32 1.89 0.991683 82.4087 +33 1.95 0.988311 90.3516 +34 2.01 1.00011 98.8916 +35 2.07 1.0063 108.005 +36 2.13 0.988564 117.484 +37 2.19 1.0048 127.67 +38 2.25 0.994661 138.312 +39 2.31 0.998307 149.571 +40 2.37 1.00674 161.523 +41 2.43 0.992448 173.909 +42 2.49 0.995874 186.959 +43 2.55 1.00079 200.713 +44 2.61 1.00906 215.24 +45 2.67 1.00886 230.441 +46 2.73 0.993803 246.095 +47 2.79 0.999211 262.534 +48 2.85 0.998467 279.674 +49 2.91 1.00116 297.592 +50 2.97 0.996088 316.162 +108100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0836137 0.00784593 +5 0.27 0.124486 0.0271041 +6 0.33 0.163803 0.0649073 +7 0.39 0.301177 0.161912 +8 0.45 0.419373 0.341655 +9 0.51 0.593598 0.668331 +10 0.57 0.766941 1.19544 +11 0.63 0.882824 1.93652 +12 0.69 1.03997 2.98359 +13 0.75 1.0902 4.28031 +14 0.81 1.13013 5.84807 +15 0.87 1.17045 7.72111 +16 0.93 1.12225 9.77318 +17 0.99 1.06922 11.9886 +18 1.05 1.00012 14.3195 +19 1.11 0.974092 16.8566 +20 1.17 0.959096 19.632 +21 1.23 0.947895 22.6633 +22 1.29 0.958711 26.0357 +23 1.35 0.982602 29.821 +24 1.41 0.95695 33.8424 +25 1.47 0.99256 38.3759 +26 1.53 1.04455 43.5442 +27 1.59 1.02474 49.02 +28 1.65 1.00859 54.8238 +29 1.71 0.994113 60.9679 +30 1.77 1.01824 67.7104 +31 1.83 1.0094 74.8552 +32 1.89 1.0051 82.4437 +33 1.95 0.979436 90.3153 +34 2.01 1.0133 98.9679 +35 2.07 0.991883 107.951 +36 2.13 0.994589 117.488 +37 2.19 0.993333 127.557 +38 2.25 0.989261 138.142 +39 2.31 1.00741 149.504 +40 2.37 1.00127 161.39 +41 2.43 0.993877 173.794 +42 2.49 1.00986 187.027 +43 2.55 1.00935 200.899 +44 2.61 0.99583 215.236 +45 2.67 1.00948 230.446 +46 2.73 0.999372 246.188 +47 2.79 1.01048 262.812 +48 2.85 0.998717 279.956 +49 2.91 0.977885 297.458 +50 2.97 0.993486 315.979 +108150 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.106044 0.0206847 +6 0.33 0.241068 0.0763195 +7 0.39 0.314464 0.177603 +8 0.45 0.449328 0.370185 +9 0.51 0.580637 0.689729 +10 0.57 0.771092 1.21969 +11 0.63 0.869229 1.94936 +12 0.69 1.06973 3.02639 +13 0.75 1.07581 4.30599 +14 0.81 1.11419 5.85164 +15 0.87 1.14014 7.67618 +16 0.93 1.13942 9.75963 +17 0.99 1.09263 12.0235 +18 1.05 0.986351 14.3224 +19 1.11 0.963138 16.831 +20 1.17 0.960329 19.6098 +21 1.23 0.935851 22.6027 +22 1.29 0.974527 26.0307 +23 1.35 0.982788 29.8167 +24 1.41 0.980542 33.9372 +25 1.47 1.01879 38.5906 +26 1.53 1.00159 43.5464 +27 1.59 1.02487 49.0228 +28 1.65 1.01045 54.8374 +29 1.71 1.01939 61.1377 +30 1.77 0.997233 67.7411 +31 1.83 1.00446 74.8509 +32 1.89 0.984975 82.2874 +33 1.95 0.994257 90.2782 +34 2.01 1.01397 98.9365 +35 2.07 0.988417 107.888 +36 2.13 0.988341 117.365 +37 2.19 1.0079 127.582 +38 2.25 0.984661 138.118 +39 2.31 1.00975 149.506 +40 2.37 0.987095 161.224 +41 2.43 1.01279 173.864 +42 2.49 1.00017 186.97 +43 2.55 1.00873 200.833 +44 2.61 1.00727 215.335 +45 2.67 0.999676 230.397 +46 2.73 1.00046 246.156 +47 2.79 0.993921 262.508 +48 2.85 0.996805 279.62 +49 2.91 0.995859 297.443 +50 2.97 1.00539 316.186 +108200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0532087 0.00499287 +5 0.27 0.0599377 0.0142653 +6 0.33 0.169984 0.053495 +7 0.39 0.378686 0.175464 +8 0.45 0.446 0.366619 +9 0.51 0.624703 0.710414 +10 0.57 0.765903 1.2368 +11 0.63 0.854784 1.95435 +12 0.69 0.99605 2.9572 +13 0.75 1.10699 4.27389 +14 0.81 1.12756 5.83809 +15 0.87 1.17089 7.71184 +16 0.93 1.1402 9.79672 +17 0.99 1.07576 12.0257 +18 1.05 0.970131 14.2867 +19 1.11 0.967793 16.8074 +20 1.17 0.9623 19.592 +21 1.23 0.943212 22.6084 +22 1.29 0.973919 26.0342 +23 1.35 0.976678 29.7967 +24 1.41 0.96323 33.8445 +25 1.47 1.0038 38.4294 +26 1.53 1.02869 43.5193 +27 1.59 1.01887 48.9636 +28 1.65 1.0195 54.8302 +29 1.71 1.00992 61.072 +30 1.77 1.00844 67.7496 +31 1.83 0.995396 74.7953 +32 1.89 0.980346 82.1969 +33 1.95 0.991328 90.1641 +34 2.01 1.00629 98.7568 +35 2.07 0.996687 107.783 +36 2.13 1.00917 117.46 +37 2.19 1.00396 127.637 +38 2.25 0.989728 138.227 +39 2.31 1.01342 149.656 +40 2.37 1.0029 161.562 +41 2.43 0.995706 173.989 +42 2.49 0.99043 186.967 +43 2.55 1.00219 200.74 +44 2.61 1.00604 215.225 +45 2.67 0.996078 230.233 +46 2.73 1.01173 246.169 +47 2.79 0.993271 262.51 +48 2.85 0.994977 279.591 +49 2.91 1.00192 297.522 +50 2.97 1.0094 316.34 +108250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.06081 0.00570613 +5 0.27 0.0968224 0.0206847 +6 0.33 0.197799 0.0663338 +7 0.39 0.296748 0.161912 +8 0.45 0.447664 0.35378 +9 0.51 0.622111 0.696148 +10 0.57 0.759676 1.21826 +11 0.63 0.925308 1.99501 +12 0.69 0.99605 2.99786 +13 0.75 1.0932 4.29815 +14 0.81 1.15789 5.90442 +15 0.87 1.12498 7.70471 +16 0.93 1.10431 9.72397 +17 0.99 1.0792 11.9601 +18 1.05 0.994614 14.2782 +19 1.11 0.958209 16.7739 +20 1.17 0.9729 19.5892 +21 1.23 0.973767 22.7033 +22 1.29 0.938636 26.005 +23 1.35 0.980936 29.7839 +24 1.41 0.976808 33.8887 +25 1.47 1.01801 38.5385 +26 1.53 1.01917 43.5813 +27 1.59 1.01032 48.98 +28 1.65 1.00971 54.7903 +29 1.71 1.00958 61.03 +30 1.77 1.00122 67.6598 +31 1.83 0.996504 74.7133 +32 1.89 1.00519 82.3024 +33 1.95 1.005 90.3795 +34 2.01 0.985573 98.7953 +35 2.07 0.996845 107.823 +36 2.13 1.00515 117.461 +37 2.19 0.991503 127.512 +38 2.25 0.994327 138.151 +39 2.31 0.998117 149.408 +40 2.37 1.00842 161.379 +41 2.43 1.00319 173.899 +42 2.49 1.00104 187.017 +43 2.55 1.01158 200.919 +44 2.61 1.00698 215.417 +45 2.67 0.985616 230.267 +46 2.73 1.00345 246.073 +47 2.79 0.993054 262.411 +48 2.85 0.992235 279.444 +49 2.91 1.00036 297.348 +50 2.97 0.996738 315.93 +108300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.119875 0.0228245 +6 0.33 0.182346 0.0649073 +7 0.39 0.272388 0.152639 +8 0.45 0.427694 0.335949 +9 0.51 0.659697 0.699001 +10 0.57 0.734768 1.20399 +11 0.63 0.906615 1.96505 +12 0.69 1.04918 3.0214 +13 0.75 1.13038 4.36591 +14 0.81 1.10185 5.89444 +15 0.87 1.12766 7.699 +16 0.93 1.13474 9.77389 +17 0.99 1.07025 11.9914 +18 1.05 1.00992 14.3452 +19 1.11 0.966424 16.8623 +20 1.17 0.934447 19.5663 +21 1.23 0.961946 22.6427 +22 1.29 0.966416 26.0421 +23 1.35 0.967235 29.7682 +24 1.41 1.01109 34.0171 +25 1.47 1.00615 38.6127 +26 1.53 1.01038 43.612 +27 1.59 1.01833 49.0535 +28 1.65 0.999422 54.8046 +29 1.71 1.03693 61.2133 +30 1.77 0.986893 67.7482 +31 1.83 0.990256 74.7575 +32 1.89 1.01388 82.4123 +33 1.95 0.997718 90.4308 +34 2.01 1.00278 98.9936 +35 2.07 0.98952 107.955 +36 2.13 0.995184 117.498 +37 2.19 0.987422 127.507 +38 2.25 1.00086 138.216 +39 2.31 1.0009 149.504 +40 2.37 1.00512 161.437 +41 2.43 1.00096 173.929 +42 2.49 1.00295 187.071 +43 2.55 1.00748 200.917 +44 2.61 0.993304 215.218 +45 2.67 0.994847 230.208 +46 2.73 0.999961 245.959 +47 2.79 1.00953 262.567 +48 2.85 0.99855 279.709 +49 2.91 0.998689 297.583 +50 2.97 0.997274 316.175 +108350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0228037 0.00356633 +5 0.27 0.119875 0.0221113 +6 0.33 0.145259 0.0556348 +7 0.39 0.318893 0.158345 +8 0.45 0.467634 0.358773 +9 0.51 0.637664 0.7097 +10 0.57 0.765903 1.23609 +11 0.63 0.908314 1.99857 +12 0.69 0.951419 2.95649 +13 0.75 1.13998 4.31241 +14 0.81 1.14092 5.89515 +15 0.87 1.13167 7.70613 +16 0.93 1.13396 9.7796 +17 0.99 1.05476 11.965 +18 1.05 1.0142 14.3288 +19 1.11 0.971901 16.8602 +20 1.17 0.93987 19.5799 +21 1.23 0.954809 22.6334 +22 1.29 0.957494 26.0014 +23 1.35 1.00038 29.8552 +24 1.41 0.965267 33.9116 +25 1.47 1.01567 38.5506 +26 1.53 1.00389 43.5178 +27 1.59 1.02087 48.9729 +28 1.65 1.01715 54.826 +29 1.71 1.00773 61.0542 +30 1.77 1.02018 67.8096 +31 1.83 0.994388 74.8481 +32 1.89 0.977796 82.2304 +33 1.95 0.997097 90.2439 +34 2.01 1.00203 98.8003 +35 2.07 1.0033 107.887 +36 2.13 0.997416 117.451 +37 2.19 1.01015 127.69 +38 2.25 0.991728 138.302 +39 2.31 1.00077 149.588 +40 2.37 1.00921 161.569 +41 2.43 0.998392 174.029 +42 2.49 1.00012 187.135 +43 2.55 0.995442 200.815 +44 2.61 1.0049 215.283 +45 2.67 0.993853 230.257 +46 2.73 1.00811 246.137 +47 2.79 1.00424 262.658 +48 2.85 1.00196 279.859 +49 2.91 0.99028 297.582 +50 2.97 0.993104 316.096 +108400 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0296049 0.0021398 +4 0.21 0.030405 0.00499287 +5 0.27 0.0691589 0.0156919 +6 0.33 0.188528 0.0592011 +7 0.39 0.352111 0.172611 +8 0.45 0.439343 0.360913 +9 0.51 0.609151 0.696148 +10 0.57 0.743071 1.20685 +11 0.63 0.909164 1.97004 +12 0.69 1.03926 3.01641 +13 0.75 1.10999 4.33666 +14 0.81 1.16457 5.95221 +15 0.87 1.12498 7.7525 +16 0.93 1.10002 9.76391 +17 0.99 1.04168 11.9223 +18 1.05 1.01848 14.296 +19 1.11 0.987511 16.868 +20 1.17 0.949236 19.6148 +21 1.23 0.944327 22.6348 +22 1.29 0.967227 26.0371 +23 1.35 0.972604 29.7839 +24 1.41 1.01432 34.0464 +25 1.47 1.00427 38.6334 +26 1.53 1.00462 43.6041 +27 1.59 1.01139 49.0086 +28 1.65 1.0371 54.9765 +29 1.71 1.00335 61.1776 +30 1.77 0.985708 67.7047 +31 1.83 0.984412 74.6726 +32 1.89 1.01615 82.3445 +33 1.95 1.00828 90.4479 +34 2.01 0.98858 98.8894 +35 2.07 0.98826 107.84 +36 2.13 0.999722 117.426 +37 2.19 0.997766 127.54 +38 2.25 1.00279 138.27 +39 2.31 1.01418 149.708 +40 2.37 0.998331 161.559 +41 2.43 0.995992 173.989 +42 2.49 0.997507 187.061 +43 2.55 0.994093 200.723 +44 2.61 1.00866 215.245 +45 2.67 0.997735 230.277 +46 2.73 0.999599 246.023 +47 2.79 0.99804 262.442 +48 2.85 0.994603 279.516 +49 2.91 1.00196 297.449 +50 2.97 0.999531 316.083 +108450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0228037 0.0021398 +5 0.27 0.0645483 0.0121255 +6 0.33 0.197799 0.0577746 +7 0.39 0.265744 0.143367 +8 0.45 0.472627 0.345934 +9 0.51 0.60267 0.677603 +10 0.57 0.792886 1.22254 +11 0.63 0.905765 1.98288 +12 0.69 1.00455 2.99429 +13 0.75 1.10759 4.3117 +14 0.81 1.13835 5.89087 +15 0.87 1.13613 7.70899 +16 0.93 1.12069 9.7582 +17 0.99 1.0792 11.9943 +18 1.05 0.985739 14.2917 +19 1.11 0.982855 16.8516 +20 1.17 0.9448 19.5856 +21 1.23 0.952133 22.6305 +22 1.29 0.953641 25.985 +23 1.35 0.977418 29.7504 +24 1.41 0.996837 33.9394 +25 1.47 1.00583 38.5335 +26 1.53 1.02566 43.6084 +27 1.59 1.00886 48.9993 +28 1.65 1.01913 54.8638 +29 1.71 1.0105 61.1091 +30 1.77 1.01134 67.806 +31 1.83 0.996403 74.8588 +32 1.89 0.990833 82.3395 +33 1.95 0.996742 90.3502 +34 2.01 0.993675 98.8352 +35 2.07 1.01472 108.025 +36 2.13 1.00225 117.636 +37 2.19 0.991292 127.684 +38 2.25 0.990128 138.278 +39 2.31 0.993943 149.488 +40 2.37 1.00662 161.438 +41 2.43 1.01657 174.125 +42 2.49 1.00578 187.305 +43 2.55 0.989993 200.91 +44 2.61 1.00296 215.35 +45 2.67 0.989403 230.257 +46 2.73 1.00336 246.062 +47 2.79 0.999948 262.513 +48 2.85 0.996639 279.622 +49 2.91 0.997653 297.477 +50 2.97 0.998269 316.088 +108500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0836137 0.00784593 +5 0.27 0.0507165 0.0156919 +6 0.33 0.194709 0.0606277 +7 0.39 0.28789 0.153352 +8 0.45 0.450992 0.346648 +9 0.51 0.628592 0.692582 +10 0.57 0.830247 1.2632 +11 0.63 0.907465 2.02496 +12 0.69 0.980465 3.01213 +13 0.75 1.04823 4.25892 +14 0.81 1.1836 5.90086 +15 0.87 1.11161 7.67974 +16 0.93 1.14566 9.77461 +17 0.99 1.0496 11.9494 +18 1.05 1.00594 14.2939 +19 1.11 0.988332 16.868 +20 1.17 0.939377 19.5863 +21 1.23 0.971537 22.6933 +22 1.29 0.983449 26.1526 +23 1.35 0.972234 29.898 +24 1.41 0.976129 34 +25 1.47 0.999899 38.567 +26 1.53 1.02148 43.6213 +27 1.59 1.00125 48.9715 +28 1.65 1.01715 54.8245 +29 1.71 1.01408 61.092 +30 1.77 1.0066 67.7575 +31 1.83 1.00285 74.8559 +32 1.89 1.00293 82.428 +33 1.95 1.01121 90.5549 +34 2.01 0.989164 99.0014 +35 2.07 0.99141 107.98 +36 2.13 1.00374 117.605 +37 2.19 0.981441 127.553 +38 2.25 0.997794 138.23 +39 2.31 1.00868 149.606 +40 2.37 1.00704 161.561 +41 2.43 1.00434 174.095 +42 2.49 1.00132 187.216 +43 2.55 1.00598 201.041 +44 2.61 1.00004 215.439 +45 2.67 0.992954 230.4 +46 2.73 1.00336 246.205 +47 2.79 1.00931 262.81 +48 2.85 0.995476 279.899 +49 2.91 0.994863 297.704 +50 2.97 0.996891 316.289 +108550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.0829907 0.0156919 +6 0.33 0.176165 0.0563481 +7 0.39 0.274603 0.144793 +8 0.45 0.520888 0.368046 +9 0.51 0.579341 0.686876 +10 0.57 0.745147 1.199 +11 0.63 0.896419 1.9515 +12 0.69 1.02651 2.98502 +13 0.75 1.06442 4.25107 +14 0.81 1.17794 5.88516 +15 0.87 1.16956 7.75678 +16 0.93 1.15697 9.87233 +17 0.99 1.0551 12.0585 +18 1.05 0.979006 14.3402 +19 1.11 0.943694 16.7981 +20 1.17 0.949729 19.5464 +21 1.23 0.961054 22.6198 +22 1.29 0.987302 26.0927 +23 1.35 0.956311 29.7767 +24 1.41 0.995649 33.9608 +25 1.47 0.999587 38.5264 +26 1.53 0.995101 43.4501 +27 1.59 1.017 48.8845 +28 1.65 1.01578 54.7297 +29 1.71 1.03139 61.1041 +30 1.77 0.980107 67.5942 +31 1.83 1.01172 74.7553 +32 1.89 1.01058 82.3852 +33 1.95 0.986979 90.3174 +34 2.01 0.98173 98.7004 +35 2.07 1.00007 107.757 +36 2.13 0.995854 117.307 +37 2.19 0.992981 127.372 +38 2.25 1.00573 138.133 +39 2.31 1.01089 149.534 +40 2.37 0.996829 161.368 +41 2.43 1.01045 173.979 +42 2.49 1.01095 187.226 +43 2.55 0.993522 200.88 +44 2.61 0.999199 215.266 +45 2.67 0.996504 230.28 +46 2.73 0.994663 245.948 +47 2.79 1.00897 262.547 +48 2.85 1.00075 279.727 +49 2.91 0.99024 297.449 +50 2.97 1.00493 316.184 +108600 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0296049 0.0021398 +4 0.21 0.030405 0.00499287 +5 0.27 0.106044 0.021398 +6 0.33 0.197799 0.0670471 +7 0.39 0.270173 0.154066 +8 0.45 0.462642 0.352354 +9 0.51 0.571565 0.666904 +10 0.57 0.743071 1.1776 +11 0.63 0.912563 1.94365 +12 0.69 1.02085 2.97147 +13 0.75 1.12139 4.30528 +14 0.81 1.14966 5.90014 +15 0.87 1.12454 7.69971 +16 0.93 1.15931 9.81954 +17 0.99 1.06337 12.0228 +18 1.05 0.989411 14.3288 +19 1.11 0.937122 16.7696 +20 1.17 0.945539 19.5057 +21 1.23 0.982466 22.6476 +22 1.29 0.963983 26.0385 +23 1.35 0.979825 29.8131 +24 1.41 0.978506 33.9251 +25 1.47 1.02785 38.6198 +26 1.53 1.01917 43.6626 +27 1.59 1.01433 49.0827 +28 1.65 1.00438 54.8623 +29 1.71 1.00565 61.0777 +30 1.77 0.998418 67.689 +31 1.83 0.999628 74.7646 +32 1.89 0.999997 82.3146 +33 1.95 0.983607 90.2197 +34 2.01 0.996849 98.7318 +35 2.07 1.00322 107.817 +36 2.13 1.00262 117.432 +37 2.19 1.00656 127.635 +38 2.25 0.994594 138.277 +39 2.31 1.00716 149.636 +40 2.37 1.00254 161.537 +41 2.43 1.00708 174.106 +42 2.49 0.999793 187.207 +43 2.55 0.996688 200.904 +44 2.61 0.997663 215.268 +45 2.67 0.998208 230.308 +46 2.73 0.994437 245.972 +47 2.79 0.996262 262.362 +48 2.85 0.994229 279.43 +49 2.91 1.00164 297.357 +50 2.97 1.01009 316.188 +108650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.06081 0.0064194 +5 0.27 0.106044 0.0228245 +6 0.33 0.15144 0.0577746 +7 0.39 0.281246 0.148359 +8 0.45 0.467634 0.348787 +9 0.51 0.619519 0.689729 +10 0.57 0.773167 1.22111 +11 0.63 0.927008 1.99929 +12 0.69 0.998884 3.00499 +13 0.75 1.06502 4.27175 +14 0.81 1.12344 5.83024 +15 0.87 1.16198 7.68973 +16 0.93 1.14878 9.7903 +17 0.99 1.05923 11.985 +18 1.05 0.987881 14.2874 +19 1.11 0.975187 16.8274 +20 1.17 0.953673 19.587 +21 1.23 0.956371 22.6455 +22 1.29 0.953844 26.0007 +23 1.35 0.985009 29.7953 +24 1.41 1.00244 34.0078 +25 1.47 0.98116 38.4893 +26 1.53 1.01658 43.5193 +27 1.59 1.0218 48.9793 +28 1.65 1.03388 54.9287 +29 1.71 1.00646 61.1491 +30 1.77 0.989909 67.704 +31 1.83 0.993683 74.7375 +32 1.89 0.998391 82.2753 +33 1.95 1.00491 90.3516 +34 2.01 0.998687 98.8795 +35 2.07 0.993852 107.88 +36 2.13 1.00642 117.531 +37 2.19 0.990096 127.567 +38 2.25 0.992794 138.19 +39 2.31 0.990211 149.357 +40 2.37 1.01816 161.444 +41 2.43 1.00931 174.041 +42 2.49 0.998922 187.131 +43 2.55 1.00873 200.994 +44 2.61 0.988003 215.218 +45 2.67 1.00005 230.286 +46 2.73 0.994572 245.952 +47 2.79 0.999991 262.404 +48 2.85 0.998592 279.546 +49 2.91 0.997971 297.407 +50 2.97 1.00454 316.135 +108700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.06081 0.00570613 +5 0.27 0.110654 0.0228245 +6 0.33 0.176165 0.0634807 +7 0.39 0.274603 0.151926 +8 0.45 0.429358 0.335949 +9 0.51 0.640256 0.688302 +10 0.57 0.747222 1.20185 +11 0.63 0.921909 1.97575 +12 0.69 1.01872 3.00143 +13 0.75 1.06802 4.27175 +14 0.81 1.16355 5.88588 +15 0.87 1.16153 7.74465 +16 0.93 1.1324 9.81526 +17 0.99 1.04787 11.9864 +18 1.05 1.0194 14.3623 +19 1.11 0.935753 16.7996 +20 1.17 0.964272 19.5899 +21 1.23 0.937859 22.5892 +22 1.29 0.948775 25.9265 +23 1.35 0.97964 29.7004 +24 1.41 1.0133 33.9586 +25 1.47 1.02192 38.6262 +26 1.53 0.99784 43.5635 +27 1.59 1.01206 48.9715 +28 1.65 1.02372 54.8623 +29 1.71 1.01073 61.1091 +30 1.77 0.998634 67.7218 +31 1.83 0.983404 74.6826 +32 1.89 1.01124 82.3174 +33 1.95 1.0026 90.3752 +34 2.01 0.992923 98.8538 +35 2.07 1.00047 107.914 +36 2.13 0.994515 117.451 +37 2.19 0.998118 127.568 +38 2.25 1.00573 138.33 +39 2.31 0.995461 149.556 +40 2.37 1.00722 161.514 +41 2.43 0.988962 173.856 +42 2.49 1.00698 187.051 +43 2.55 1.01558 201.009 +44 2.61 0.994691 215.33 +45 2.67 1.00053 230.404 +46 2.73 0.993939 246.061 +47 2.79 1.00177 262.541 +48 2.85 0.9956 279.633 +49 2.91 0.99845 297.502 +50 2.97 0.993907 316.031 +108750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0456075 0.00570613 +5 0.27 0.0645483 0.0156919 +6 0.33 0.182346 0.0577746 +7 0.39 0.31225 0.158345 +8 0.45 0.434351 0.344508 +9 0.51 0.603966 0.67689 +10 0.57 0.767978 1.20471 +11 0.63 0.92106 1.97789 +12 0.69 1.03643 3.0214 +13 0.75 1.04943 4.26961 +14 0.81 1.14504 5.85806 +15 0.87 1.1134 7.6398 +16 0.93 1.15424 9.75036 +17 0.99 1.08436 11.9971 +18 1.05 1.01695 14.3673 +19 1.11 0.958209 16.8631 +20 1.17 0.944307 19.5956 +21 1.23 0.958378 22.6605 +22 1.29 0.968646 26.0678 +23 1.35 0.956681 29.7532 +24 1.41 1.0043 33.9736 +25 1.47 1.00818 38.5785 +26 1.53 1.01788 43.6148 +27 1.59 1.00779 49 +28 1.65 1.00822 54.8017 +29 1.71 1.00115 60.9893 +30 1.77 1.01555 67.714 +31 1.83 1.01071 74.868 +32 1.89 0.999902 82.4173 +33 1.95 0.995943 90.4215 +34 2.01 0.987744 98.8559 +35 2.07 0.982432 107.753 +36 2.13 1.00076 117.35 +37 2.19 1.01578 127.646 +38 2.25 0.993727 138.279 +39 2.31 1.00027 149.56 +40 2.37 1.00278 161.464 +41 2.43 1.00085 173.955 +42 2.49 0.999085 187.047 +43 2.55 0.99674 200.745 +44 2.61 1.00232 215.176 +45 2.67 0.995652 230.178 +46 2.73 1.01884 246.226 +47 2.79 0.9983 262.65 +48 2.85 0.990573 279.655 +49 2.91 1.00064 297.563 +50 2.97 1.00439 316.288 +108800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.0532087 0.00713267 +5 0.27 0.0783801 0.0192582 +6 0.33 0.179256 0.0606277 +7 0.39 0.323322 0.164765 +8 0.45 0.469298 0.365906 +9 0.51 0.607855 0.700428 +10 0.57 0.770054 1.22967 +11 0.63 0.906615 1.99073 +12 0.69 0.995342 2.99287 +13 0.75 1.08421 4.28245 +14 0.81 1.15686 5.8873 +15 0.87 1.1446 7.71897 +16 0.93 1.13708 9.79815 +17 0.99 1.04994 11.9736 +18 1.05 1.00379 14.3131 +19 1.11 0.979569 16.8645 +20 1.17 0.967723 19.6648 +21 1.23 0.950349 22.704 +22 1.29 0.955263 26.0642 +23 1.35 0.971493 29.8067 +24 1.41 1.01432 34.0692 +25 1.47 1.00646 38.6662 +26 1.53 0.993804 43.5835 +27 1.59 0.984695 48.8452 +28 1.65 1.02892 54.766 +29 1.71 1.01858 61.0613 +30 1.77 1.00876 67.7411 +31 1.83 0.999326 74.8146 +32 1.89 1.00151 82.3759 +33 1.95 0.994967 90.3723 +34 2.01 0.996432 98.8809 +35 2.07 1.00834 108.013 +36 2.13 0.993102 117.536 +37 2.19 0.9832 127.502 +38 2.25 0.99846 138.185 +39 2.31 1.00134 149.479 +40 2.37 0.996047 161.303 +41 2.43 1.00131 173.8 +42 2.49 1.01536 187.105 +43 2.55 1.00774 200.954 +44 2.61 0.998704 215.333 +45 2.67 0.995037 230.325 +46 2.73 0.996837 246.027 +47 2.79 0.999254 262.466 +48 2.85 1.00117 279.653 +49 2.91 1.00076 297.564 +50 2.97 1.00064 316.219 +108850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0684112 0.00784593 +5 0.27 0.101433 0.0235378 +6 0.33 0.188528 0.0670471 +7 0.39 0.261315 0.151213 +8 0.45 0.482612 0.35806 +9 0.51 0.620815 0.699715 +10 0.57 0.709861 1.18759 +11 0.63 0.949949 1.98502 +12 0.69 0.998884 2.99073 +13 0.75 1.1022 4.30171 +14 0.81 1.14709 5.89301 +15 0.87 1.16599 7.75892 +16 0.93 1.13279 9.83024 +17 0.99 1.06681 12.0407 +18 1.05 1.01389 14.4037 +19 1.11 0.933288 16.8345 +20 1.17 0.96304 19.6213 +21 1.23 0.945888 22.6462 +22 1.29 0.931133 25.9215 +23 1.35 1.00797 29.8046 +24 1.41 1.00651 34.0342 +25 1.47 0.999587 38.5999 +26 1.53 1.01759 43.6348 +27 1.59 1.01887 49.0792 +28 1.65 0.998802 54.8267 +29 1.71 1.01973 61.1291 +30 1.77 1.001 67.7575 +31 1.83 0.98552 74.7332 +32 1.89 1.00699 82.3359 +33 1.95 0.98556 90.2568 +34 2.01 0.997852 98.7775 +35 2.07 1.00464 107.876 +36 2.13 1.00329 117.496 +37 2.19 0.991996 127.552 +38 2.25 0.999194 138.243 +39 2.31 1.00286 149.553 +40 2.37 1.00374 161.469 +41 2.43 0.989991 173.825 +42 2.49 1.00224 186.958 +43 2.55 1.01143 200.858 +44 2.61 0.998803 215.238 +45 2.67 1.00327 230.354 +46 2.73 0.992218 245.984 +47 2.79 0.999471 262.427 +48 2.85 1.00644 279.704 +49 2.91 0.996098 297.531 +50 2.97 1.00638 316.293 +108900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0456075 0.0042796 +5 0.27 0.165981 0.0299572 +6 0.33 0.169984 0.0691869 +7 0.39 0.301177 0.166191 +8 0.45 0.460977 0.363766 +9 0.51 0.610447 0.699715 +10 0.57 0.740995 1.20899 +11 0.63 0.873477 1.94223 +12 0.69 1.00951 2.95863 +13 0.75 1.1004 4.26748 +14 0.81 1.13835 5.84665 +15 0.87 1.16599 7.71255 +16 0.93 1.15112 9.8174 +17 0.99 1.06096 12.0157 +18 1.05 1.05245 14.4686 +19 1.11 0.940956 16.9194 +20 1.17 0.915221 19.5678 +21 1.23 0.956594 22.627 +22 1.29 0.955061 25.9864 +23 1.35 0.982417 29.771 +24 1.41 0.99446 33.9501 +25 1.47 1.01364 38.5799 +26 1.53 1.03561 43.704 +27 1.59 0.99831 49.0385 +28 1.65 0.995331 54.766 +29 1.71 1.00923 61.0036 +30 1.77 1.01759 67.7418 +31 1.83 0.99076 74.7546 +32 1.89 0.988565 82.2183 +33 1.95 1.01423 90.3695 +34 2.01 0.978723 98.7268 +35 2.07 0.985346 107.65 +36 2.13 0.999127 117.231 +37 2.19 1.01198 127.489 +38 2.25 1.00953 138.291 +39 2.31 1.00817 149.661 +40 2.37 0.996047 161.486 +41 2.43 0.99542 173.909 +42 2.49 0.993043 186.922 +43 2.55 1.00691 200.76 +44 2.61 1.00361 215.209 +45 2.67 1.00441 230.342 +46 2.73 0.999282 246.083 +47 2.79 0.996176 262.471 +48 2.85 1.00416 279.71 +49 2.91 0.995301 297.523 +50 2.97 0.997044 316.111 +108950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0444073 0.0021398 +4 0.21 0.06081 0.00784593 +5 0.27 0.101433 0.0235378 +6 0.33 0.191618 0.0677603 +7 0.39 0.254672 0.149786 +8 0.45 0.437679 0.337375 +9 0.51 0.579341 0.656205 +10 0.57 0.760714 1.17903 +11 0.63 0.924459 1.95506 +12 0.69 1.0336 2.99572 +13 0.75 1.11179 4.31812 +14 0.81 1.15635 5.92225 +15 0.87 1.15039 7.7632 +16 0.93 1.11913 9.80956 +17 0.99 1.07438 12.0357 +18 1.05 1.00777 14.3845 +19 1.11 0.927537 16.8003 +20 1.17 0.934447 19.5043 +21 1.23 0.936074 22.4979 +22 1.29 0.972296 25.918 +23 1.35 0.998155 29.7632 +24 1.41 0.989708 33.9223 +25 1.47 1.02129 38.587 +26 1.53 1.04267 43.7461 +27 1.59 1.03035 49.2518 +28 1.65 0.993596 54.9693 +29 1.71 1.00046 61.1526 +30 1.77 0.992171 67.7225 +31 1.83 0.99862 74.791 +32 1.89 0.984314 82.2225 +33 1.95 0.992216 90.1969 +34 2.01 1.00679 98.7939 +35 2.07 1.01086 107.949 +36 2.13 0.992506 117.466 +37 2.19 1.00135 127.616 +38 2.25 1.00733 138.394 +39 2.31 1.00609 149.741 +40 2.37 0.996468 161.571 +41 2.43 1.00085 174.061 +42 2.49 1.00583 187.242 +43 2.55 0.999335 200.976 +44 2.61 0.999149 215.361 +45 2.67 0.990066 230.278 +46 2.73 1.00521 246.112 +47 2.79 0.995829 262.495 +48 2.85 1.00669 279.777 +49 2.91 1.0063 297.787 +50 2.97 1.0032 316.489 +109000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0456075 0.00570613 +5 0.27 0.0553271 0.0142653 +6 0.33 0.225615 0.0663338 +7 0.39 0.327751 0.171897 +8 0.45 0.402731 0.344508 +9 0.51 0.60267 0.676177 +10 0.57 0.776281 1.2097 +11 0.63 0.927857 1.98859 +12 0.69 1.02651 3.02211 +13 0.75 1.07521 4.301 +14 0.81 1.15429 5.90228 +15 0.87 1.14549 7.73538 +16 0.93 1.10743 9.76034 +17 0.99 1.07782 11.9936 +18 1.05 0.990635 14.3024 +19 1.11 0.963412 16.8117 +20 1.17 0.949236 19.5585 +21 1.23 0.943435 22.5756 +22 1.29 0.956075 25.9387 +23 1.35 0.998155 29.7839 +24 1.41 0.986992 33.9315 +25 1.47 1.01505 38.5678 +26 1.53 1.03273 43.6776 +27 1.59 1.00779 49.0628 +28 1.65 1.01777 54.9194 +29 1.71 1.00496 61.1305 +30 1.77 0.995725 67.724 +31 1.83 0.990659 74.7361 +32 1.89 1.00822 82.3481 +33 1.95 1.00375 90.4151 +34 2.01 0.995346 98.9144 +35 2.07 0.999759 107.969 +36 2.13 1.00619 117.617 +37 2.19 0.992911 127.682 +38 2.25 1.00079 138.39 +39 2.31 0.995271 149.615 +40 2.37 1.00818 161.583 +41 2.43 0.988391 173.919 +42 2.49 0.992009 186.918 +43 2.55 0.997207 200.623 +44 2.61 1.0103 215.168 +45 2.67 1.00398 230.295 +46 2.73 1.0145 246.275 +47 2.79 0.99843 262.701 +48 2.85 1.00163 279.896 +49 2.91 0.989522 297.606 +50 2.97 1.00271 316.299 +109050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0592097 0.00285307 +4 0.21 0.0532087 0.00784593 +5 0.27 0.106044 0.0242511 +6 0.33 0.160712 0.0613409 +7 0.39 0.301177 0.158345 +8 0.45 0.450992 0.351641 +9 0.51 0.610447 0.687589 +10 0.57 0.784583 1.22682 +11 0.63 0.900667 1.98288 +12 0.69 0.974798 2.96434 +13 0.75 1.07401 4.2418 +14 0.81 1.15378 5.84237 +15 0.87 1.16287 7.70328 +16 0.93 1.16126 9.82668 +17 0.99 1.0644 12.0321 +18 1.05 0.988799 14.3367 +19 1.11 0.952731 16.8181 +20 1.17 0.947018 19.5585 +21 1.23 0.935628 22.5506 +22 1.29 0.97331 25.9743 +23 1.35 0.991675 29.7946 +24 1.41 0.99446 33.9736 +25 1.47 1.00724 38.5742 +26 1.53 1.0098 43.5706 +27 1.59 1.02781 49.0628 +28 1.65 1.02706 54.9729 +29 1.71 1.0015 61.1626 +30 1.77 0.990124 67.719 +31 1.83 0.997512 74.7796 +32 1.89 1.01445 82.4387 +33 1.95 0.986891 90.3702 +34 2.01 0.991002 98.8324 +35 2.07 0.998577 107.876 +36 2.13 1.00731 117.535 +37 2.19 0.991855 127.589 +38 2.25 0.987195 138.152 +39 2.31 1.00185 149.451 +40 2.37 1.01167 161.461 +41 2.43 1.00902 174.053 +42 2.49 1.00589 187.235 +43 2.55 0.99129 200.858 +44 2.61 0.998258 215.23 +45 2.67 1.01146 230.47 +46 2.73 1.00118 246.24 +47 2.79 0.995005 262.61 +48 2.85 0.998467 279.75 +49 2.91 1.01706 297.953 +50 2.97 0.992683 316.459 +109100 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0532087 0.0064194 +5 0.27 0.0968224 0.021398 +6 0.33 0.207071 0.0691869 +7 0.39 0.310035 0.169044 +8 0.45 0.432686 0.354494 +9 0.51 0.60267 0.686163 +10 0.57 0.732693 1.18973 +11 0.63 0.907465 1.9515 +12 0.69 1.04989 3.00856 +13 0.75 1.12438 4.34593 +14 0.81 1.1075 5.88231 +15 0.87 1.13434 7.69757 +16 0.93 1.14605 9.79315 +17 0.99 1.08884 12.0492 +18 1.05 1.00685 14.3959 +19 1.11 0.968067 16.9173 +20 1.17 0.926313 19.5977 +21 1.23 0.949234 22.6334 +22 1.29 0.964997 26.0278 +23 1.35 0.98001 29.8031 +24 1.41 0.996837 33.9922 +25 1.47 0.99662 38.5442 +26 1.53 1.0199 43.5906 +27 1.59 1.0158 49.0185 +28 1.65 1.00909 54.8252 +29 1.71 1.009 61.0613 +30 1.77 1.01037 67.7518 +31 1.83 1.01142 74.9108 +32 1.89 1.00151 82.4722 +33 1.95 0.978992 90.3402 +34 2.01 0.995763 98.8431 +35 2.07 1.00338 107.93 +36 2.13 1.00047 117.524 +37 2.19 1.01261 127.788 +38 2.25 0.989394 138.374 +39 2.31 0.989706 149.536 +40 2.37 0.994786 161.346 +41 2.43 1.00485 173.887 +42 2.49 1.00556 187.063 +43 2.55 1.00561 200.884 +44 2.61 0.992759 215.177 +45 2.67 1.00261 230.283 +46 2.73 1.01119 246.211 +47 2.79 0.989586 262.491 +48 2.85 1.00142 279.683 +49 2.91 1.00347 297.642 +50 2.97 0.995705 316.205 +109150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0592097 0.00285307 +4 0.21 0.0532087 0.00784593 +5 0.27 0.0691589 0.0185449 +6 0.33 0.166893 0.0570613 +7 0.39 0.334395 0.164765 +8 0.45 0.457649 0.360913 +9 0.51 0.562492 0.670471 +10 0.57 0.734768 1.17546 +11 0.63 0.907465 1.93723 +12 0.69 1.03289 2.97718 +13 0.75 1.07821 4.25963 +14 0.81 1.19491 5.91726 +15 0.87 1.14237 7.74536 +16 0.93 1.14371 9.83666 +17 0.99 1.06715 12.0478 +18 1.05 1.00594 14.3923 +19 1.11 0.952184 16.8723 +20 1.17 0.928285 19.5585 +21 1.23 0.973098 22.6705 +22 1.29 0.944517 25.9929 +23 1.35 0.970568 29.7318 +24 1.41 0.97562 33.8317 +25 1.47 1.0113 38.4508 +26 1.53 1.02681 43.5314 +27 1.59 1.03021 49.0364 +28 1.65 1.00872 54.8409 +29 1.71 1.0247 61.174 +30 1.77 0.998095 67.7832 +31 1.83 0.989853 74.7896 +32 1.89 1.00283 82.3609 +33 1.95 0.990441 90.321 +34 2.01 1.00027 98.8623 +35 2.07 0.982983 107.765 +36 2.13 0.988936 117.248 +37 2.19 0.999877 127.383 +38 2.25 1.00659 138.153 +39 2.31 1.00356 149.471 +40 2.37 1.00254 161.373 +41 2.43 0.999821 173.851 +42 2.49 1.00676 187.044 +43 2.55 1.01132 200.942 +44 2.61 0.994493 215.26 +45 2.67 0.993522 230.23 +46 2.73 0.999689 245.976 +47 2.79 0.995265 262.35 +48 2.85 1.00088 279.532 +49 2.91 1.00407 297.502 +50 2.97 1.0016 316.175 +109200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0228037 0.0021398 +5 0.27 0.0968224 0.0171184 +6 0.33 0.163803 0.0549215 +7 0.39 0.391973 0.18117 +8 0.45 0.42603 0.363766 +9 0.51 0.585821 0.686163 +10 0.57 0.775243 1.21897 +11 0.63 0.928707 1.99857 +12 0.69 1.01022 3.01569 +13 0.75 1.10579 4.33096 +14 0.81 1.14864 5.92439 +15 0.87 1.12454 7.72397 +16 0.93 1.13591 9.801 +17 0.99 1.0551 11.9872 +18 1.05 1.00104 14.3203 +19 1.11 0.943694 16.7782 +20 1.17 0.972653 19.5927 +21 1.23 0.965738 22.6812 +22 1.29 0.943908 26.0014 +23 1.35 0.966309 29.724 +24 1.41 0.99497 33.9051 +25 1.47 1.01005 38.5185 +26 1.53 1.00952 43.5136 +27 1.59 1.0182 48.9544 +28 1.65 1.01603 54.801 +29 1.71 1.00739 61.0271 +30 1.77 1.00197 67.6619 +31 1.83 1.00436 74.771 +32 1.89 1.01351 82.423 +33 1.95 0.982098 90.316 +34 2.01 0.987661 98.7496 +35 2.07 1.00685 107.868 +36 2.13 0.990796 117.369 +37 2.19 1.00769 127.583 +38 2.25 1.00566 138.344 +39 2.31 1.0033 149.659 +40 2.37 0.998931 161.518 +41 2.43 1.00622 174.076 +42 2.49 0.997779 187.15 +43 2.55 0.994664 200.82 +44 2.61 1.0045 215.282 +45 2.67 1.00455 230.418 +46 2.73 1.00227 246.205 +47 2.79 0.988892 262.474 +48 2.85 0.997927 279.606 +49 2.91 1.0071 297.63 +50 2.97 0.995476 316.188 +109250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0228037 0.00356633 +5 0.27 0.115265 0.021398 +6 0.33 0.169984 0.0606277 +7 0.39 0.314464 0.161912 +8 0.45 0.452656 0.35592 +9 0.51 0.635072 0.705421 +10 0.57 0.758638 1.22682 +11 0.63 0.930406 2.00785 +12 0.69 1.00526 3.01997 +13 0.75 1.06382 4.28531 +14 0.81 1.15995 5.89444 +15 0.87 1.14281 7.72325 +16 0.93 1.11601 9.76391 +17 0.99 1.07094 11.9829 +18 1.05 1.00716 14.3302 +19 1.11 0.971353 16.8602 +20 1.17 0.946772 19.5999 +21 1.23 0.9218 22.5478 +22 1.29 0.988721 26.0257 +23 1.35 0.992971 29.8509 +24 1.41 0.989029 34.0071 +25 1.47 0.997713 38.5642 +26 1.53 1.02725 43.6469 +27 1.59 1.01086 49.0485 +28 1.65 1.01368 54.8816 +29 1.71 1.00762 61.1091 +30 1.77 1.01167 67.8081 +31 1.83 0.985419 74.7832 +32 1.89 0.998202 82.3195 +33 1.95 0.998339 90.3431 +34 2.01 0.988246 98.7817 +35 2.07 0.993537 107.78 +36 2.13 0.991614 117.288 +37 2.19 1.00579 127.484 +38 2.25 1.00326 138.218 +39 2.31 1.00982 149.607 +40 2.37 1.00176 161.499 +41 2.43 1.00822 174.082 +42 2.49 0.990648 187.063 +43 2.55 0.99866 200.788 +44 2.61 0.993799 215.096 +45 2.67 1.00351 230.216 +46 2.73 1.00417 246.034 +47 2.79 0.99882 262.466 +48 2.85 1.00549 279.727 +49 2.91 1.00108 297.643 +50 2.97 0.989431 316.089 +109300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.0783801 0.0164051 +6 0.33 0.210162 0.0649073 +7 0.39 0.290104 0.158345 +8 0.45 0.450992 0.351641 +9 0.51 0.628592 0.697575 +10 0.57 0.78147 1.23466 +11 0.63 0.92106 2.00785 +12 0.69 0.99605 3.0107 +13 0.75 1.1046 4.32454 +14 0.81 1.14092 5.90728 +15 0.87 1.14994 7.7475 +16 0.93 1.12889 9.8117 +17 0.99 1.08092 12.0514 +18 1.05 1.01848 14.4251 +19 1.11 0.953827 16.9094 +20 1.17 0.949483 19.6569 +21 1.23 0.941873 22.669 +22 1.29 0.959116 26.0428 +23 1.35 0.969086 29.776 +24 1.41 0.986653 33.9223 +25 1.47 0.998338 38.4822 +26 1.53 1.03042 43.5806 +27 1.59 1.01807 49.0207 +28 1.65 1.01281 54.8488 +29 1.71 1.02862 61.2061 +30 1.77 1.00176 67.8395 +31 1.83 1.00225 74.9337 +32 1.89 0.987999 82.393 +33 1.95 0.982897 90.2924 +34 2.01 0.992171 98.7646 +35 2.07 0.995348 107.779 +36 2.13 0.994292 117.313 +37 2.19 0.998821 127.438 +38 2.25 1.00759 138.219 +39 2.31 1.00406 149.543 +40 2.37 1.00422 161.464 +41 2.43 1.01651 174.15 +42 2.49 0.997507 187.222 +43 2.55 1.00177 200.989 +44 2.61 0.99796 215.357 +45 2.67 1.00162 230.449 +46 2.73 0.994935 246.121 +47 2.79 0.990756 262.42 +48 2.85 0.999257 279.574 +49 2.91 0.992711 297.341 +50 2.97 1.00424 316.063 +109350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0532087 0.00499287 +5 0.27 0.0783801 0.0171184 +6 0.33 0.176165 0.0577746 +7 0.39 0.301177 0.154779 +8 0.45 0.442671 0.344508 +9 0.51 0.611743 0.68117 +10 0.57 0.752411 1.19829 +11 0.63 0.886223 1.94223 +12 0.69 1.02793 2.97718 +13 0.75 1.0914 4.27532 +14 0.81 1.16252 5.88802 +15 0.87 1.1437 7.71826 +16 0.93 1.15502 9.83024 +17 0.99 1.06681 12.0407 +18 1.05 0.986045 14.3388 +19 1.11 0.939039 16.7846 +20 1.17 0.943074 19.5136 +21 1.23 0.964623 22.5984 +22 1.29 0.962158 25.9829 +23 1.35 0.977233 29.7475 +24 1.41 1.01687 34.0207 +25 1.47 1.00162 38.5956 +26 1.53 1.00678 43.577 +27 1.59 1.00792 48.9629 +28 1.65 1.02644 54.8695 +29 1.71 1.02181 61.1847 +30 1.77 0.99691 67.786 +31 1.83 0.998721 74.8552 +32 1.89 0.998107 82.3909 +33 1.95 0.984583 90.3039 +34 2.01 0.985238 98.7168 +35 2.07 0.995269 107.73 +36 2.13 1.00932 117.409 +37 2.19 1.00656 127.612 +38 2.25 0.995461 138.263 +39 2.31 1.00583 149.607 +40 2.37 0.999592 161.474 +41 2.43 1.01234 174.108 +42 2.49 0.995819 187.157 +43 2.55 0.997726 200.869 +44 2.61 0.994294 215.184 +45 2.67 1.0064 230.347 +46 2.73 0.988867 245.924 +47 2.79 0.99856 262.352 +48 2.85 1.0003 279.524 +49 2.91 1.00271 297.469 +50 2.97 1.00477 316.201 +109400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0684112 0.0064194 +5 0.27 0.142928 0.0285307 +6 0.33 0.145259 0.0620542 +7 0.39 0.281246 0.152639 +8 0.45 0.469298 0.35378 +9 0.51 0.588414 0.677603 +10 0.57 0.758638 1.199 +11 0.63 0.913413 1.96576 +12 0.69 1.06477 3.0378 +13 0.75 1.05782 4.29601 +14 0.81 1.15481 5.898 +15 0.87 1.17446 7.77746 +16 0.93 1.11289 9.81241 +17 0.99 1.05682 12.0021 +18 1.05 1.01114 14.3588 +19 1.11 0.967246 16.878 +20 1.17 0.9167 19.5307 +21 1.23 0.971314 22.6369 +22 1.29 0.936608 25.9315 +23 1.35 0.993526 29.7589 +24 1.41 0.993951 33.9358 +25 1.47 0.996932 38.4893 +26 1.53 1.02235 43.5478 +27 1.59 1.01246 48.9579 +28 1.65 1.03958 54.9401 +29 1.71 1.00635 61.1598 +30 1.77 1.00477 67.8131 +31 1.83 0.99338 74.8445 +32 1.89 0.998485 82.383 +33 1.95 0.998251 90.4058 +34 2.01 0.989081 98.8516 +35 2.07 0.98125 107.738 +36 2.13 1.00582 117.383 +37 2.19 0.999525 127.515 +38 2.25 1.01533 138.379 +39 2.31 0.997105 149.624 +40 2.37 1.0041 161.544 +41 2.43 0.992448 173.93 +42 2.49 1.00104 187.048 +43 2.55 1.00494 200.859 +44 2.61 1.00762 215.366 +45 2.67 0.990965 230.297 +46 2.73 1.00318 246.098 +47 2.79 0.985684 262.315 +48 2.85 1.00674 279.597 +49 2.91 1.00742 297.627 +50 2.97 1.0037 316.339 +109450 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0 0.000713267 +4 0.21 0.0760125 0.00784593 +5 0.27 0.106044 0.0242511 +6 0.33 0.160712 0.0613409 +7 0.39 0.294533 0.156205 +8 0.45 0.422701 0.337375 +9 0.51 0.583229 0.658345 +10 0.57 0.774205 1.19044 +11 0.63 0.896419 1.94294 +12 0.69 1.01022 2.96006 +13 0.75 1.11359 4.28459 +14 0.81 1.15018 5.88017 +15 0.87 1.16109 7.73823 +16 0.93 1.13825 9.81954 +17 0.99 1.04856 11.9922 +18 1.05 1.00747 14.3402 +19 1.11 0.963686 16.8502 +20 1.17 0.941842 19.5756 +21 1.23 0.961946 22.6519 +22 1.29 0.938839 25.9544 +23 1.35 0.98001 29.7297 +24 1.41 1.00006 33.9322 +25 1.47 1.02067 38.5942 +26 1.53 1.00735 43.5785 +27 1.59 1.01099 48.9807 +28 1.65 1.0221 54.8623 +29 1.71 1.01535 61.1377 +30 1.77 0.993787 67.7183 +31 1.83 1.00053 74.8003 +32 1.89 1.00387 82.3795 +33 1.95 1.00003 90.4165 +34 2.01 0.997267 98.9322 +35 2.07 0.996136 107.954 +36 2.13 0.985366 117.402 +37 2.19 0.995303 127.491 +38 2.25 1.00259 138.219 +39 2.31 0.999002 149.486 +40 2.37 1.00055 161.364 +41 2.43 1.00142 173.862 +42 2.49 1.00671 187.053 +43 2.55 1.01096 200.947 +44 2.61 0.998159 215.318 +45 2.67 1.00332 230.435 +46 2.73 1.00078 246.199 +47 2.79 0.994138 262.554 +48 2.85 0.998841 279.701 +49 2.91 0.990838 297.434 +50 2.97 0.996164 316.006 +109500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0456075 0.00499287 +5 0.27 0.110654 0.0221113 +6 0.33 0.182346 0.064194 +7 0.39 0.292319 0.158345 +8 0.45 0.460977 0.35592 +9 0.51 0.637664 0.706847 +10 0.57 0.809491 1.2632 +11 0.63 0.837791 1.96648 +12 0.69 1.00384 2.97718 +13 0.75 1.07761 4.25892 +14 0.81 1.14761 5.85093 +15 0.87 1.13434 7.66619 +16 0.93 1.15151 9.77175 +17 0.99 1.08195 12.0136 +18 1.05 1.01175 14.3716 +19 1.11 0.958482 16.868 +20 1.17 0.929024 19.5563 +21 1.23 0.970422 22.6598 +22 1.29 0.962563 26.0456 +23 1.35 0.995008 29.8787 +24 1.41 1.00091 34.0849 +25 1.47 0.963514 38.4857 +26 1.53 0.99611 43.4144 +27 1.59 1.02688 48.9016 +28 1.65 1.05012 54.9444 +29 1.71 1.0045 61.1526 +30 1.77 1.00154 67.7846 +31 1.83 0.991566 74.8031 +32 1.89 0.993006 82.3003 +33 1.95 0.997363 90.316 +34 2.01 0.996599 98.826 +35 2.07 1.00267 107.907 +36 2.13 1.0056 117.549 +37 2.19 0.991996 127.605 +38 2.25 0.994527 138.246 +39 2.31 1.00691 149.602 +40 2.37 1.00284 161.507 +41 2.43 1.00074 173.996 +42 2.49 1.00491 187.165 +43 2.55 1.00318 200.951 +44 2.61 0.996821 215.303 +45 2.67 0.992859 230.262 +46 2.73 1.00761 246.134 +47 2.79 1.01118 262.77 +48 2.85 1.00308 279.989 +49 2.91 0.991953 297.743 +50 2.97 0.993065 316.256 +109550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.0152025 0.00285307 +5 0.27 0.0553271 0.0114123 +6 0.33 0.145259 0.0449358 +7 0.39 0.290104 0.138374 +8 0.45 0.424365 0.320257 +9 0.51 0.614335 0.658345 +10 0.57 0.779394 1.19401 +11 0.63 0.928707 1.97361 +12 0.69 1.01447 2.99501 +13 0.75 1.0998 4.30314 +14 0.81 1.12447 5.86305 +15 0.87 1.12766 7.66762 +16 0.93 1.15229 9.77461 +17 0.99 1.10949 12.0735 +18 1.05 0.9787 14.3545 +19 1.11 0.976557 16.898 +20 1.17 0.943074 19.627 +21 1.23 0.956371 22.6854 +22 1.29 0.934175 25.9715 +23 1.35 0.974826 29.7268 +24 1.41 0.990726 33.8902 +25 1.47 1.02364 38.5656 +26 1.53 1.01831 43.6041 +27 1.59 1.02567 49.0849 +28 1.65 0.993596 54.8024 +29 1.71 1.02689 61.1491 +30 1.77 0.995725 67.7425 +31 1.83 0.999326 74.816 +32 1.89 0.999808 82.3645 +33 1.95 1.0042 90.4351 +34 2.01 0.984153 98.8388 +35 2.07 0.999207 107.888 +36 2.13 1.00723 117.546 +37 2.19 0.984608 127.527 +38 2.25 1.00019 138.229 +39 2.31 1.01007 149.621 +40 2.37 1.00061 161.499 +41 2.43 0.999192 173.969 +42 2.49 0.997343 187.039 +43 2.55 1.00177 200.806 +44 2.61 1.0048 215.272 +45 2.67 1.01482 230.563 +46 2.73 0.993531 246.213 +47 2.79 1.00303 262.714 +48 2.85 0.991196 279.73 +49 2.91 1.0055 297.725 +50 2.97 0.990311 316.188 +109600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.0922118 0.0185449 +6 0.33 0.191618 0.0627675 +7 0.39 0.298962 0.159058 +8 0.45 0.460977 0.356633 +9 0.51 0.615631 0.695435 +10 0.57 0.774205 1.22753 +11 0.63 0.907465 1.9893 +12 0.69 1.03856 3.03495 +13 0.75 1.07701 4.31598 +14 0.81 1.13475 5.89016 +15 0.87 1.10537 7.65906 +16 0.93 1.15697 9.77461 +17 0.99 1.05579 11.9622 +18 1.05 1.0093 14.3146 +19 1.11 0.98532 16.8809 +20 1.17 0.937651 19.5942 +21 1.23 0.95414 22.6455 +22 1.29 0.953439 25.9993 +23 1.35 0.985009 29.7939 +24 1.41 0.996837 33.9829 +25 1.47 1.00661 38.5806 +26 1.53 1.0173 43.6141 +27 1.59 1.00125 48.9643 +28 1.65 1.01987 54.8331 +29 1.71 1.01523 61.1077 +30 1.77 1.00779 67.781 +31 1.83 0.991969 74.8024 +32 1.89 0.991116 82.2853 +33 1.95 0.995322 90.2846 +34 2.01 0.992506 98.7596 +35 2.07 0.994009 107.762 +36 2.13 1.0024 117.374 +37 2.19 0.999877 127.509 +38 2.25 0.998394 138.192 +39 2.31 0.998876 149.457 +40 2.37 1.00344 161.369 +41 2.43 0.999421 173.842 +42 2.49 1.01286 187.115 +43 2.55 1.001 200.872 +44 2.61 1.00698 215.369 +45 2.67 1.00124 230.455 +46 2.73 0.993984 246.112 +47 2.79 1.00415 262.632 +48 2.85 0.990905 279.643 +49 2.91 0.985577 297.282 +50 2.97 1.01736 316.248 +109650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.101433 0.0185449 +6 0.33 0.197799 0.064194 +7 0.39 0.292319 0.158345 +8 0.45 0.432686 0.343795 +9 0.51 0.585821 0.666191 +10 0.57 0.808453 1.22183 +11 0.63 0.86753 1.95007 +12 0.69 1.05839 3.01569 +13 0.75 1.0914 4.31384 +14 0.81 1.12601 5.87589 +15 0.87 1.17758 7.76034 +16 0.93 1.10587 9.78245 +17 0.99 1.06027 11.9793 +18 1.05 1.00961 14.3324 +19 1.11 0.96259 16.8395 +20 1.17 0.983006 19.684 +21 1.23 0.941427 22.6947 +22 1.29 0.96378 26.0849 +23 1.35 0.959273 29.7803 +24 1.41 0.998364 33.9757 +25 1.47 0.999587 38.5414 +26 1.53 1.00216 43.5 +27 1.59 1.03048 49.0064 +28 1.65 1.0221 54.888 +29 1.71 0.998845 61.0613 +30 1.77 1.00413 67.7104 +31 1.83 1.00184 74.8017 +32 1.89 1.00189 82.3659 +33 1.95 0.990441 90.326 +34 2.01 0.986241 98.7475 +35 2.07 0.996451 107.772 +36 2.13 0.992209 117.286 +37 2.19 1.01311 127.556 +38 2.25 1.01379 138.403 +39 2.31 1.00001 149.681 +40 2.37 1.00416 161.602 +41 2.43 0.997021 174.045 +42 2.49 0.992172 187.046 +43 2.55 0.996221 200.738 +44 2.61 1.00708 215.237 +45 2.67 1.01108 230.471 +46 2.73 0.992761 246.108 +47 2.79 1.00242 262.6 +48 2.85 1.00125 279.788 +49 2.91 0.983943 297.398 +50 2.97 1.00975 316.223 +109700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0228037 0.00285307 +5 0.27 0.106044 0.0192582 +6 0.33 0.176165 0.0599144 +7 0.39 0.323322 0.164051 +8 0.45 0.459313 0.360913 +9 0.51 0.598782 0.690442 +10 0.57 0.767978 1.21826 +11 0.63 0.862431 1.94223 +12 0.69 1.0591 3.00856 +13 0.75 1.03983 4.24536 +14 0.81 1.13373 5.81812 +15 0.87 1.18025 7.70685 +16 0.93 1.11952 9.75392 +17 0.99 1.0551 11.9401 +18 1.05 1.01267 14.3003 +19 1.11 0.972175 16.8324 +20 1.17 0.951208 19.5849 +21 1.23 0.951241 22.627 +22 1.29 0.965808 26.0243 +23 1.35 0.982973 29.811 +24 1.41 0.999892 34.0128 +25 1.47 1.00724 38.6134 +26 1.53 1.00159 43.5692 +27 1.59 1.01059 48.9693 +28 1.65 1.0138 54.8031 +29 1.71 1.01719 61.0899 +30 1.77 0.998203 67.6997 +31 1.83 1.00084 74.7839 +32 1.89 0.991116 82.2668 +33 1.95 0.999848 90.3024 +34 2.01 1.00261 98.8638 +35 2.07 1.00259 107.944 +36 2.13 0.996151 117.496 +37 2.19 0.989744 127.529 +38 2.25 1.00126 138.242 +39 2.31 0.997105 149.487 +40 2.37 0.992623 161.271 +41 2.43 1.00479 173.811 +42 2.49 1.01362 187.093 +43 2.55 1.00333 200.882 +44 2.61 0.998902 215.264 +45 2.67 0.994516 230.248 +46 2.73 1.00046 246.007 +47 2.79 1.00199 262.491 +48 2.85 1.0003 279.663 +49 2.91 1.00164 297.59 +50 2.97 1.00428 316.312 +109750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.0152025 0.00142653 +5 0.27 0.115265 0.0192582 +6 0.33 0.182346 0.0613409 +7 0.39 0.294533 0.156205 +8 0.45 0.431022 0.340942 +9 0.51 0.619519 0.681883 +10 0.57 0.769016 1.21041 +11 0.63 0.891321 1.95863 +12 0.69 0.992508 2.95792 +13 0.75 1.11119 4.2796 +14 0.81 1.13887 5.85949 +15 0.87 1.17 7.73181 +16 0.93 1.12459 9.78816 +17 0.99 1.09435 12.0556 +18 1.05 0.982984 14.3466 +19 1.11 0.951636 16.8252 +20 1.17 0.926559 19.5064 +21 1.23 0.982689 22.6491 +22 1.29 0.969458 26.0592 +23 1.35 0.977603 29.8252 +24 1.41 0.986483 33.9708 +25 1.47 1.00693 38.5699 +26 1.53 1.00116 43.5235 +27 1.59 1.02407 48.9957 +28 1.65 1.0138 54.8295 +29 1.71 1.00773 61.0578 +30 1.77 1.01608 67.786 +31 1.83 1.00366 74.8902 +32 1.89 0.989038 82.3573 +33 1.95 0.98556 90.2782 +34 2.01 0.992339 98.7518 +35 2.07 1.00189 107.825 +36 2.13 0.993399 117.351 +37 2.19 1.00586 127.547 +38 2.25 1.00239 138.272 +39 2.31 0.995334 149.498 +40 2.37 0.997129 161.335 +41 2.43 1.00879 173.925 +42 2.49 1.00937 187.152 +43 2.55 0.999231 200.884 +44 2.61 0.998357 215.258 +45 2.67 1.00976 230.472 +46 2.73 0.996248 246.165 +47 2.79 0.996696 262.562 +48 2.85 0.993814 279.623 +49 2.91 0.998131 297.486 +50 2.97 0.998613 316.103 +109800 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0148024 0.00142653 +4 0.21 0.0684112 0.00784593 +5 0.27 0.0645483 0.0178317 +6 0.33 0.182346 0.0599144 +7 0.39 0.321108 0.163338 +8 0.45 0.460977 0.360913 +9 0.51 0.607855 0.695435 +10 0.57 0.752411 1.21255 +11 0.63 0.942302 2.00357 +12 0.69 0.999593 3.00999 +13 0.75 1.04523 4.25321 +14 0.81 1.18051 5.89087 +15 0.87 1.13345 7.70471 +16 0.93 1.1402 9.78959 +17 0.99 1.1033 12.0756 +18 1.05 0.973191 14.3438 +19 1.11 0.946981 16.8103 +20 1.17 0.923601 19.4829 +21 1.23 0.971983 22.5913 +22 1.29 0.985477 26.0578 +23 1.35 0.982788 29.8438 +24 1.41 0.979524 33.9601 +25 1.47 0.99662 38.5121 +26 1.53 1.02235 43.5706 +27 1.59 1.01366 48.9872 +28 1.65 1.00711 54.7825 +29 1.71 1.01304 61.0435 +30 1.77 1.00564 67.7026 +31 1.83 0.992373 74.7268 +32 1.89 0.998485 82.2653 +33 1.95 0.994168 90.2553 +34 2.01 0.982231 98.6427 +35 2.07 1.02118 107.891 +36 2.13 1.00352 117.514 +37 2.19 0.997484 127.625 +38 2.25 1.00026 138.327 +39 2.31 0.992425 149.52 +40 2.37 1.00746 161.48 +41 2.43 0.992563 173.867 +42 2.49 0.99952 186.965 +43 2.55 0.999698 200.704 +44 2.61 1.00336 215.15 +45 2.67 1.00294 230.261 +46 2.73 1.00372 246.071 +47 2.79 0.998777 262.503 +48 2.85 0.990988 279.515 +49 2.91 1.0014 297.437 +50 2.97 1.00714 316.213 +109850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0148024 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.110654 0.021398 +6 0.33 0.173075 0.0613409 +7 0.39 0.290104 0.154779 +8 0.45 0.452656 0.348787 +9 0.51 0.594894 0.676177 +10 0.57 0.746184 1.18902 +11 0.63 0.881125 1.92867 +12 0.69 1.02864 2.96434 +13 0.75 1.1028 4.27603 +14 0.81 1.16509 5.8923 +15 0.87 1.16733 7.76034 +16 0.93 1.11835 9.80528 +17 0.99 1.06612 12.0143 +18 1.05 0.986963 14.3146 +19 1.11 0.966972 16.8331 +20 1.17 0.951948 19.5877 +21 1.23 0.96953 22.6883 +22 1.29 0.933364 25.9715 +23 1.35 0.985009 29.766 +24 1.41 0.987671 33.9165 +25 1.47 0.999275 38.4807 +26 1.53 1.02854 43.5699 +27 1.59 1.02394 49.0414 +28 1.65 1.0164 54.8902 +29 1.71 1.003 61.0892 +30 1.77 0.998203 67.699 +31 1.83 1.01787 74.9037 +32 1.89 0.998957 82.4458 +33 1.95 0.983341 90.3488 +34 2.01 1.00863 98.9615 +35 2.07 0.98826 107.912 +36 2.13 1.0027 117.526 +37 2.19 0.986015 127.521 +38 2.25 0.989594 138.11 +39 2.31 1.00216 149.412 +40 2.37 0.999893 161.282 +41 2.43 1.00885 173.873 +42 2.49 1.01993 187.238 +43 2.55 0.991186 200.86 +44 2.61 1.00935 215.392 +45 2.67 1.00361 230.514 +46 2.73 0.997018 246.218 +47 2.79 0.995655 262.598 +48 2.85 1.00865 279.914 +49 2.91 0.996298 297.745 +50 2.97 0.990923 316.218 +109900 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0 0.000713267 +4 0.21 0.0380062 0.0042796 +5 0.27 0.119875 0.0228245 +6 0.33 0.173075 0.0627675 +7 0.39 0.323322 0.166904 +8 0.45 0.439343 0.355207 +9 0.51 0.620815 0.696862 +10 0.57 0.762789 1.22111 +11 0.63 0.934655 2.00571 +12 0.69 0.977631 2.99001 +13 0.75 1.10999 4.31027 +14 0.81 1.15326 5.91013 +15 0.87 1.11072 7.68759 +16 0.93 1.15892 9.8067 +17 0.99 1.0434 11.9686 +18 1.05 0.991859 14.2803 +19 1.11 0.997369 16.878 +20 1.17 0.930503 19.5706 +21 1.23 0.971983 22.679 +22 1.29 0.971485 26.0963 +23 1.35 0.996119 29.9337 +24 1.41 0.963909 33.9843 +25 1.47 1.00068 38.5549 +26 1.53 0.989767 43.4522 +27 1.59 1.0174 48.8887 +28 1.65 1.02186 54.7689 +29 1.71 1.00773 60.9971 +30 1.77 1.00402 67.6455 +31 1.83 1.00618 74.7675 +32 1.89 1.00359 82.3445 +33 1.95 0.998783 90.3716 +34 2.01 1.01631 99.0499 +35 2.07 0.981959 107.943 +36 2.13 0.990647 117.442 +37 2.19 0.990729 127.485 +38 2.25 1.00286 138.215 +39 2.31 0.995208 149.439 +40 2.37 1.00722 161.397 +41 2.43 0.997535 173.846 +42 2.49 1.00954 187.075 +43 2.55 1.01008 200.956 +44 2.61 0.999447 215.346 +45 2.67 0.995936 230.352 +46 2.73 1.00789 246.228 +47 2.79 0.992057 262.549 +48 2.85 1.00204 279.75 +49 2.91 1.00403 297.72 +50 2.97 0.995093 316.271 +109950 50 +1 0.03 0 0 +2 0.09 0.040178 0.000713267 +3 0.15 0.0444073 0.00285307 +4 0.21 0.0380062 0.0064194 +5 0.27 0.106044 0.0228245 +6 0.33 0.166893 0.0613409 +7 0.39 0.294533 0.156205 +8 0.45 0.41438 0.333809 +9 0.51 0.622111 0.676177 +10 0.57 0.775243 1.20899 +11 0.63 0.966943 2.02068 +12 0.69 0.974089 3.00143 +13 0.75 1.08601 4.29315 +14 0.81 1.1728 5.92011 +15 0.87 1.13301 7.73324 +16 0.93 1.14722 9.83096 +17 0.99 1.0286 11.9622 +18 1.05 1.00104 14.2953 +19 1.11 0.951362 16.7732 +20 1.17 0.970435 19.5813 +21 1.23 0.952802 22.6284 +22 1.29 0.962361 26.0136 +23 1.35 0.981306 29.7939 +24 1.41 0.990047 33.9544 +25 1.47 1.00615 38.5499 +26 1.53 1.01499 43.572 +27 1.59 1.017 49.0064 +28 1.65 1.01913 54.8709 +29 1.71 1.01189 61.1248 +30 1.77 0.983446 67.6369 +31 1.83 1.01847 74.8459 +32 1.89 0.989983 82.3203 +33 1.95 0.987778 90.2589 +34 2.01 1.01882 98.9586 +35 2.07 0.991568 107.939 +36 2.13 0.998011 117.509 +37 2.19 0.999314 127.638 +38 2.25 0.996261 138.298 +39 2.31 0.998749 149.562 +40 2.37 1.0068 161.514 +41 2.43 1.00302 174.032 +42 2.49 1.0116 187.288 +43 2.55 0.989006 200.88 +44 2.61 1.00668 215.374 +45 2.67 0.996315 230.385 +46 2.73 0.998784 246.118 +47 2.79 0.999731 262.565 +48 2.85 1.00379 279.797 +49 2.91 1.00666 297.813 +50 2.97 0.996585 316.392 +110000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.0296049 0.00142653 +4 0.21 0.030405 0.0042796 +5 0.27 0.0922118 0.0185449 +6 0.33 0.234887 0.0727532 +7 0.39 0.279032 0.162625 +8 0.45 0.42603 0.345221 +9 0.51 0.653217 0.704708 +10 0.57 0.788734 1.24679 +11 0.63 0.897269 2 +12 0.69 0.992508 2.99929 +13 0.75 1.0902 4.29601 +14 0.81 1.12344 5.85449 +15 0.87 1.13434 7.66976 +16 0.93 1.13981 9.75392 +17 0.99 1.08918 12.0107 +18 1.05 1.00165 14.3452 +19 1.11 0.971901 16.8766 +20 1.17 0.93075 19.5699 +21 1.23 0.944996 22.592 +22 1.29 0.963983 25.9829 +23 1.35 0.991119 29.801 +24 1.41 0.993951 33.9779 +25 1.47 1.00818 38.5827 +26 1.53 0.995101 43.5064 +27 1.59 1.01486 48.9294 +28 1.65 1.03115 54.8631 +29 1.71 1.01004 61.1056 +30 1.77 1.01199 67.8067 +31 1.83 1.01021 74.9572 +32 1.89 0.991966 82.4465 +33 1.95 0.994434 90.4387 +34 2.01 0.99994 98.9772 +35 2.07 0.991647 107.958 +36 2.13 0.994961 117.499 +37 2.19 0.990518 127.539 +38 2.25 1.00039 138.243 +39 2.31 0.994575 149.46 +40 2.37 1.01113 161.464 +41 2.43 1.01828 174.172 +42 2.49 0.998269 187.253 +43 2.55 1.01195 201.16 +44 2.61 0.989935 215.413 +45 2.67 1.00375 230.536 +46 2.73 0.997018 246.241 +47 2.79 0.993097 262.579 +48 2.85 0.99855 279.721 +49 2.91 0.995182 297.532 +50 2.97 0.997044 316.12 diff --git a/examples/USER/misc/slater/tmp_1_2.rdf b/examples/USER/misc/slater/tmp_1_2.rdf new file mode 100644 index 0000000000000000000000000000000000000000..972678cd472195dd98863ac3d19d326a150dbf43 --- /dev/null +++ b/examples/USER/misc/slater/tmp_1_2.rdf @@ -0,0 +1,10254 @@ +# Time-averaged data for fix 12 +# TimeStep Number-of-rows +# Row c_RDF_1_2[1] c_RDF_1_2[2] c_RDF_1_2[3] +100000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.285031 0.00570613 +8 0.45 0.380791 0.0114123 +9 0.51 0.426306 0.0196148 +10 0.57 0.875662 0.0406562 +11 0.63 0.838445 0.0652639 +12 0.69 0.9726 0.0995007 +13 0.75 1.14917 0.14729 +14 0.81 1.15443 0.203281 +15 0.87 1.04537 0.261769 +16 0.93 1.24401 0.341298 +17 0.99 1.00922 0.414408 +18 1.05 0.949725 0.491797 +19 1.11 1.00651 0.583452 +20 1.17 0.920044 0.676534 +21 1.23 0.982402 0.786377 +22 1.29 0.985953 0.907632 +23 1.35 0.974414 1.03887 +24 1.41 1.00977 1.18723 +25 1.47 0.969236 1.34201 +26 1.53 1.06583 1.52639 +27 1.59 0.956372 1.70506 +28 1.65 1.01572 1.90942 +29 1.71 1.04307 2.13481 +30 1.77 0.979724 2.36163 +31 1.83 0.974183 2.60271 +32 1.89 1.00789 2.86876 +33 1.95 0.981094 3.14444 +34 2.01 1.04644 3.45685 +35 2.07 1.02158 3.78031 +36 2.13 1.0159 4.1209 +37 2.19 1.04955 4.49287 +38 2.25 0.986698 4.86198 +39 2.31 0.997613 5.25535 +40 2.37 1.01648 5.67725 +41 2.43 0.988976 6.10877 +42 2.49 1.02907 6.58024 +43 2.55 1.00423 7.06277 +44 2.61 0.990471 7.56134 +45 2.67 0.97083 8.07275 +46 2.73 0.97331 8.60877 +47 2.79 1.0001 9.18402 +48 2.85 1.00775 9.78887 +49 2.91 0.983156 10.4041 +50 2.97 1.03138 11.0763 +100050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.316701 0.00499287 +8 0.45 0.309393 0.0096291 +9 0.51 0.685797 0.0228245 +10 0.57 0.742086 0.0406562 +11 0.63 0.850597 0.0656205 +12 0.69 1.10431 0.104494 +13 0.75 0.934775 0.143367 +14 0.81 1.29413 0.206134 +15 0.87 1.19197 0.272825 +16 0.93 0.987396 0.335949 +17 0.99 1.10276 0.415835 +18 1.05 1.03288 0.5 +19 1.11 0.979091 0.589158 +20 1.17 0.888318 0.67903 +21 1.23 1.02387 0.793509 +22 1.29 0.919256 0.906562 +23 1.35 1.01943 1.04387 +24 1.41 0.934527 1.18117 +25 1.47 0.971469 1.33631 +26 1.53 1.05346 1.51854 +27 1.59 1.04991 1.71469 +28 1.65 0.953677 1.90656 +29 1.71 1.04803 2.13302 +30 1.77 1.01824 2.36876 +31 1.83 1.04336 2.62696 +32 1.89 1.00519 2.8923 +33 1.95 0.976018 3.16655 +34 2.01 0.99149 3.46255 +35 2.07 1.03284 3.78959 +36 2.13 0.963774 4.1127 +37 2.19 0.992193 4.46434 +38 2.25 1.01339 4.84344 +39 2.31 0.979524 5.22967 +40 2.37 0.988986 5.64016 +41 2.43 0.998784 6.07596 +42 2.49 0.989374 6.52924 +43 2.55 0.992352 7.00606 +44 2.61 1.04077 7.52996 +45 2.67 0.994525 8.05385 +46 2.73 1.03612 8.62447 +47 2.79 1.01064 9.20578 +48 2.85 1.01429 9.81455 +49 2.91 0.972897 10.4233 +50 2.97 0.965174 11.0524 +100100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.190021 0.0042796 +8 0.45 0.547387 0.0124822 +9 0.51 0.463376 0.021398 +10 0.57 0.831136 0.0413695 +11 0.63 1.13008 0.0745364 +12 0.69 1.03339 0.110913 +13 0.75 1.18348 0.160128 +14 0.81 1.00736 0.208987 +15 0.87 1.20472 0.276391 +16 0.93 1.16033 0.350571 +17 0.99 1.02891 0.425107 +18 1.05 0.984738 0.50535 +19 1.11 0.986924 0.595221 +20 1.17 0.930619 0.689372 +21 1.23 0.976023 0.798502 +22 1.29 0.962754 0.916904 +23 1.35 0.969118 1.04743 +24 1.41 0.983074 1.19187 +25 1.47 0.962536 1.34558 +26 1.53 1.04727 1.52675 +27 1.59 1.00409 1.71434 +28 1.65 1.05117 1.92582 +29 1.71 1.00181 2.1423 +30 1.77 0.984345 2.37019 +31 1.83 1.03759 2.62696 +32 1.89 0.982221 2.88623 +33 1.95 1.01029 3.17011 +34 2.01 0.987907 3.46505 +35 2.07 0.963008 3.76997 +36 2.13 0.982922 4.0995 +37 2.19 1.01433 4.45899 +38 2.25 0.980025 4.82561 +39 2.31 0.990377 5.21612 +40 2.37 0.991564 5.62767 +41 2.43 0.960369 6.04672 +42 2.49 0.995602 6.50285 +43 2.55 1.05544 7.00999 +44 2.61 1.01881 7.52282 +45 2.67 1.01213 8.05599 +46 2.73 0.983023 8.59736 +47 2.79 0.96848 9.15442 +48 2.85 0.984581 9.74536 +49 2.91 1.04528 10.3994 +50 2.97 1.02317 11.0663 +100150 50 +1 0.03 0 0 +2 0.09 0.574587 0.000356633 +3 0.15 0 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0.131872 0.00142653 +6 0.33 0.265194 0.00356633 +7 0.39 0.221691 0.00606277 +8 0.45 0.547387 0.0142653 +9 0.51 0.518981 0.0242511 +10 0.57 0.786611 0.0431526 +11 0.63 0.911353 0.0699001 +12 0.69 0.871288 0.100571 +13 0.75 0.926199 0.139087 +14 0.81 1.15443 0.195078 +15 0.87 1.04537 0.253566 +16 0.93 1.15475 0.327389 +17 0.99 1.15199 0.410842 +18 1.05 0.905959 0.484665 +19 1.11 0.959509 0.57204 +20 1.17 0.96587 0.669757 +21 1.23 0.956885 0.776748 +22 1.29 0.962754 0.89515 +23 1.35 0.939992 1.02175 +24 1.41 1.02434 1.17225 +25 1.47 0.96477 1.32632 +26 1.53 0.993673 1.49822 +27 1.59 1.03846 1.69223 +28 1.65 1.07776 1.90906 +29 1.71 1.01007 2.12732 +30 1.77 0.968941 2.35164 +31 1.83 1.03327 2.60735 +32 1.89 1.01465 2.87518 +33 1.95 1.00902 3.1587 +34 2.01 1.00702 3.45934 +35 2.07 1.01369 3.78031 +36 2.13 0.973348 4.10663 +37 2.19 1.01534 4.46648 +38 2.25 1.001 4.84094 +39 2.31 0.990377 5.23146 +40 2.37 0.942587 5.62268 +41 2.43 0.988976 6.05421 +42 2.49 1.04075 6.53103 +43 2.55 1.03911 7.03031 +44 2.61 1.04361 7.55563 +45 2.67 0.99791 8.08131 +46 2.73 1.03742 8.65264 +47 2.79 0.97034 9.21077 +48 2.85 1.01845 9.82204 +49 2.91 0.962638 10.4244 +50 2.97 1.00347 11.0785 +100200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.397791 0.0032097 +7 0.39 0.316701 0.00677603 +8 0.45 0.380791 0.0124822 +9 0.51 0.574587 0.0235378 +10 0.57 0.905345 0.0452924 +11 0.63 0.923505 0.0723966 +12 0.69 1.01313 0.10806 +13 0.75 0.917623 0.14622 +14 0.81 1.02942 0.196148 +15 0.87 1.1601 0.261056 +16 0.93 1.09897 0.331312 +17 0.99 1.11753 0.412268 +18 1.05 1.01537 0.495007 +19 1.11 1.08483 0.593795 +20 1.17 0.909468 0.685806 +21 1.23 0.899472 0.786377 +22 1.29 1.00335 0.909772 +23 1.35 0.945288 1.03709 +24 1.41 0.927245 1.17332 +25 1.47 1.00274 1.33345 +26 1.53 1.04521 1.51427 +27 1.59 1.08045 1.71612 +28 1.65 0.964313 1.91013 +29 1.71 1.04803 2.13659 +30 1.77 1.01053 2.37054 +31 1.83 1.00733 2.61983 +32 1.89 0.98087 2.87874 +33 1.95 0.953172 3.14658 +34 2.01 1.056 3.46184 +35 2.07 0.935976 3.7582 +36 2.13 1.00739 4.09593 +37 2.19 0.935842 4.4276 +38 2.25 1.0172 4.80813 +39 2.31 0.978619 5.19401 +40 2.37 0.996719 5.6077 +41 2.43 1.00042 6.04422 +42 2.49 1.04542 6.52318 +43 2.55 1.04802 7.02675 +44 2.61 1.03936 7.54993 +45 2.67 0.961352 8.05635 +46 2.73 0.998565 8.60628 +47 2.79 1.0187 9.19223 +48 2.85 0.988741 9.78566 +49 2.91 0.991705 10.4062 +50 2.97 0.995268 11.0549 +100250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.190021 0.0042796 +8 0.45 0.380791 0.00998573 +9 0.51 0.648727 0.0224679 +10 0.57 0.831136 0.0424394 +11 0.63 0.887051 0.0684736 +12 0.69 1.10431 0.107347 +13 0.75 1.16633 0.155849 +14 0.81 1.0809 0.208274 +15 0.87 1.09636 0.269615 +16 0.93 0.987396 0.332739 +17 0.99 1.08799 0.411555 +18 1.05 1.12041 0.502853 +19 1.11 0.975175 0.591655 +20 1.17 0.902418 0.682953 +21 1.23 0.976023 0.792083 +22 1.29 0.980153 0.912625 +23 1.35 1.02472 1.05064 +24 1.41 0.963655 1.19223 +25 1.47 0.967003 1.34665 +26 1.53 0.995734 1.5189 +27 1.59 1.01555 1.70863 +28 1.65 1.0299 1.91583 +29 1.71 0.977057 2.12696 +30 1.77 1.03056 2.36555 +31 1.83 1.03615 2.62197 +32 1.89 0.951146 2.87304 +33 1.95 0.983633 3.14943 +34 2.01 0.973572 3.44009 +35 2.07 0.964134 3.74536 +36 2.13 0.990368 4.07739 +37 2.19 1.03244 4.4433 +38 2.25 0.990512 4.81384 +39 2.31 0.997613 5.2072 +40 2.37 0.974379 5.61163 +41 2.43 0.977533 6.03816 +42 2.49 1.04386 6.51641 +43 2.55 1.00571 6.99964 +44 2.61 0.981261 7.49358 +45 2.67 1.004 8.02247 +46 2.73 1.03159 8.59058 +47 2.79 1.01064 9.1719 +48 2.85 1.00716 9.77639 +49 2.91 0.965488 10.3805 +50 2.97 0.997456 11.0307 +100300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.285031 0.00606277 +8 0.45 0.42839 0.0124822 +9 0.51 0.481911 0.0217546 +10 0.57 0.875662 0.042796 +11 0.63 0.996413 0.0720399 +12 0.69 1.14483 0.11234 +13 0.75 1.1749 0.161198 +14 0.81 0.955894 0.207561 +15 0.87 1.05174 0.266405 +16 0.93 1.11012 0.337375 +17 0.99 1.05845 0.414051 +18 1.05 1.12041 0.50535 +19 1.11 0.994757 0.595934 +20 1.17 0.958819 0.692939 +21 1.23 0.947316 0.798859 +22 1.29 0.849659 0.903352 +23 1.35 0.974414 1.03459 +24 1.41 0.946664 1.17368 +25 1.47 1.0742 1.34522 +26 1.53 1.01017 1.51997 +27 1.59 1.07473 1.72076 +28 1.65 0.990902 1.92011 +29 1.71 1.00181 2.13659 +30 1.77 0.973562 2.36198 +31 1.83 1.00733 2.61127 +32 1.89 0.99438 2.87375 +33 1.95 1.02679 3.16227 +34 2.01 0.962821 3.44971 +35 2.07 0.995671 3.76498 +36 2.13 0.958455 4.08631 +37 2.19 1.02339 4.449 +38 2.25 0.985745 4.81776 +39 2.31 1.04193 5.2286 +40 2.37 0.959772 5.62696 +41 2.43 1.02576 6.07454 +42 2.49 0.997937 6.53174 +43 2.55 1.02724 7.02532 +44 2.61 0.970633 7.51391 +45 2.67 0.985047 8.03281 +46 2.73 1.02576 8.59772 +47 2.79 1.05094 9.20221 +48 2.85 0.953089 9.77425 +49 2.91 1.05041 10.4315 +50 2.97 0.998003 11.082 +100350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.380042 0.0074893 +8 0.45 0.452189 0.0142653 +9 0.51 0.611657 0.0260342 +10 0.57 0.608511 0.0406562 +11 0.63 0.887051 0.0666904 +12 0.69 0.9726 0.100927 +13 0.75 1.13202 0.148003 +14 0.81 1.17648 0.205064 +15 0.87 1.11548 0.267475 +16 0.93 1.11012 0.338445 +17 0.99 1.00922 0.411555 +18 1.05 1.15105 0.50535 +19 1.11 1.02217 0.598431 +20 1.17 0.98702 0.698288 +21 1.23 0.963264 0.805991 +22 1.29 0.901857 0.916904 +23 1.35 0.926753 1.04173 +24 1.41 1.00492 1.18937 +25 1.47 0.993802 1.34807 +26 1.53 0.997796 1.52068 +27 1.59 1.05564 1.7179 +28 1.65 0.987357 1.91655 +29 1.71 1.04472 2.1423 +30 1.77 1.02902 2.38053 +31 1.83 1.01309 2.63124 +32 1.89 0.966008 2.88623 +33 1.95 1.01917 3.17261 +34 2.01 1.00105 3.47147 +35 2.07 0.94386 3.77033 +36 2.13 1.00313 4.10663 +37 2.19 0.998231 4.46041 +38 2.25 0.982885 4.8281 +39 2.31 0.986759 5.21719 +40 2.37 1.02422 5.6423 +41 2.43 0.995514 6.07668 +42 2.49 1.00416 6.53673 +43 2.55 1.00645 7.02033 +44 2.61 1.03723 7.54244 +45 2.67 0.993171 8.06562 +46 2.73 1.02771 8.6316 +47 2.79 0.999481 9.20649 +48 2.85 0.964973 9.78566 +49 2.91 1.02476 10.4269 +50 2.97 0.954231 11.0489 +100400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.348371 0.0064194 +8 0.45 0.309393 0.0110556 +9 0.51 0.741402 0.025321 +10 0.57 0.875662 0.0463623 +11 0.63 0.862748 0.0716833 +12 0.69 0.830763 0.100927 +13 0.75 1.18348 0.150143 +14 0.81 0.904422 0.194009 +15 0.87 1.12186 0.256776 +16 0.93 1.18822 0.332739 +17 0.99 1.16676 0.417261 +18 1.05 1.05914 0.503566 +19 1.11 1.04959 0.599144 +20 1.17 0.923569 0.692582 +21 1.23 0.969643 0.800999 +22 1.29 0.951154 0.917974 +23 1.35 0.955879 1.04672 +24 1.41 0.927245 1.18295 +25 1.47 0.978169 1.33916 +26 1.53 1.00604 1.5132 +27 1.59 0.983097 1.69686 +28 1.65 1.03522 1.90514 +29 1.71 0.993561 2.11983 +30 1.77 1.01053 2.35378 +31 1.83 0.988594 2.59843 +32 1.89 0.963306 2.85271 +33 1.95 1.02552 3.14087 +34 2.01 1.01538 3.44401 +35 2.07 0.984408 3.75571 +36 2.13 1.00632 4.09308 +37 2.19 1.0415 4.4622 +38 2.25 0.980978 4.82917 +39 2.31 1.00666 5.22611 +40 2.37 0.997579 5.64016 +41 2.43 0.99061 6.0724 +42 2.49 1.00494 6.53281 +43 2.55 0.953757 6.99108 +44 2.61 1.0181 7.50357 +45 2.67 0.993171 8.02675 +46 2.73 1.00245 8.57882 +47 2.79 1.0218 9.16655 +48 2.85 1.0137 9.77496 +49 2.91 0.987146 10.3927 +50 2.97 1.01223 11.0524 +100450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.132597 0.0010699 +7 0.39 0.411712 0.00570613 +8 0.45 0.380791 0.0114123 +9 0.51 0.759937 0.0260342 +10 0.57 0.667877 0.0420827 +11 0.63 0.862748 0.0674037 +12 0.69 1.11444 0.106633 +13 0.75 1.04626 0.150143 +14 0.81 1.15443 0.206134 +15 0.87 1.09636 0.267475 +16 0.93 1.19938 0.344151 +17 0.99 1.06337 0.421184 +18 1.05 1.06789 0.508203 +19 1.11 0.889015 0.589158 +20 1.17 0.951769 0.685449 +21 1.23 0.960075 0.792796 +22 1.29 0.956954 0.910485 +23 1.35 0.924105 1.03495 +24 1.41 1.00735 1.18295 +25 1.47 1.05633 1.35164 +26 1.53 0.946257 1.51534 +27 1.59 1.07282 1.71576 +28 1.65 1.01749 1.92047 +29 1.71 1.00346 2.1373 +30 1.77 0.973562 2.3627 +31 1.83 0.971301 2.60307 +32 1.89 1.04977 2.88017 +33 1.95 1.02552 3.16833 +34 2.01 1.01658 3.47183 +35 2.07 1.01257 3.79244 +36 2.13 0.977603 4.12019 +37 2.19 0.977099 4.46648 +38 2.25 0.960958 4.82596 +39 2.31 1.04374 5.23752 +40 2.37 1.0139 5.65835 +41 2.43 0.998784 6.09415 +42 2.49 0.961351 6.53459 +43 2.55 1.02278 7.02603 +44 2.61 1.0096 7.53424 +45 2.67 0.998587 8.06027 +46 2.73 0.979138 8.5995 +47 2.79 1.0001 9.17475 +48 2.85 0.981016 9.76355 +49 2.91 0.961498 10.3652 +50 2.97 1.07515 11.066 +100500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.348371 0.0064194 +8 0.45 0.309393 0.0110556 +9 0.51 0.759937 0.0256776 +10 0.57 0.890503 0.0470756 +11 0.63 0.97211 0.0756063 +12 0.69 0.851025 0.105563 +13 0.75 1.09772 0.151213 +14 0.81 1.02942 0.201141 +15 0.87 1.1346 0.264622 +16 0.93 1.10455 0.335235 +17 0.99 1.08306 0.413695 +18 1.05 0.997868 0.495007 +19 1.11 1.01434 0.587375 +20 1.17 0.96587 0.685093 +21 1.23 0.982402 0.794936 +22 1.29 0.956954 0.912625 +23 1.35 0.945288 1.03994 +24 1.41 0.985501 1.18474 +25 1.47 1.0072 1.34558 +26 1.53 0.981303 1.51534 +27 1.59 1.03082 1.70792 +28 1.65 1.04408 1.91797 +29 1.71 1.01172 2.13659 +30 1.77 0.941213 2.35449 +31 1.83 0.987153 2.59879 +32 1.89 1.03897 2.87304 +33 1.95 1.05852 3.17047 +34 2.01 1.02613 3.47682 +35 2.07 1.05311 3.81027 +36 2.13 0.993559 4.14337 +37 2.19 0.994206 4.49572 +38 2.25 0.944752 4.84914 +39 2.31 0.959626 5.22753 +40 2.37 1.03367 5.65656 +41 2.43 0.97835 6.08345 +42 2.49 0.998715 6.54101 +43 2.55 1.02204 7.0321 +44 2.61 1.00181 7.53638 +45 2.67 1.02905 8.07846 +46 2.73 1.02641 8.64372 +47 2.79 1.01374 9.22682 +48 2.85 0.930509 9.78531 +49 2.91 0.972897 10.3941 +50 2.97 1.00512 11.0492 +100550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.044199 0.00142653 +7 0.39 0.538392 0.0074893 +8 0.45 0.309393 0.0121255 +9 0.51 0.815542 0.0278174 +10 0.57 0.727244 0.0452924 +11 0.63 0.959959 0.0734665 +12 0.69 1.04352 0.1102 +13 0.75 1.09772 0.155849 +14 0.81 1.13237 0.21077 +15 0.87 1.23022 0.279601 +16 0.93 1.01529 0.344508 +17 0.99 1.03876 0.419757 +18 1.05 0.997868 0.50107 +19 1.11 0.971258 0.589515 +20 1.17 0.948244 0.685449 +21 1.23 0.909041 0.78709 +22 1.29 0.962754 0.905492 +23 1.35 1.01943 1.0428 +24 1.41 1.0122 1.19151 +25 1.47 0.998268 1.35093 +26 1.53 0.93801 1.5132 +27 1.59 1.04227 1.70792 +28 1.65 1.04585 1.91833 +29 1.71 1.04637 2.14444 +30 1.77 0.99975 2.37589 +31 1.83 1.00012 2.6234 +32 1.89 0.991678 2.88516 +33 1.95 0.950634 3.15228 +34 2.01 0.983128 3.44579 +35 2.07 0.992292 3.75999 +36 2.13 1.08079 4.12233 +37 2.19 1.02037 4.48395 +38 2.25 1.001 4.85842 +39 2.31 1.03379 5.26605 +40 2.37 0.989845 5.67689 +41 2.43 0.985706 6.10699 +42 2.49 0.979255 6.55563 +43 2.55 1.01017 7.04101 +44 2.61 1.00889 7.54886 +45 2.67 1.03718 8.09522 +46 2.73 1.00245 8.64729 +47 2.79 1.04102 9.24608 +48 2.85 0.979233 9.83381 +49 2.91 0.951239 10.429 +50 2.97 1.02044 11.0942 +100600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.380042 0.00606277 +8 0.45 0.547387 0.0142653 +9 0.51 0.556052 0.0249643 +10 0.57 0.742086 0.042796 +11 0.63 0.959959 0.07097 +12 0.69 0.871288 0.101641 +13 0.75 1.07199 0.14622 +14 0.81 1.0956 0.199358 +15 0.87 1.24934 0.269258 +16 0.93 1.13244 0.341655 +17 0.99 1.08799 0.420471 +18 1.05 0.993491 0.501427 +19 1.11 0.963426 0.589158 +20 1.17 0.902418 0.680456 +21 1.23 1.0143 0.793866 +22 1.29 0.936655 0.909058 +23 1.35 0.945288 1.03638 +24 1.41 0.985501 1.18117 +25 1.47 0.975936 1.33702 +26 1.53 0.948318 1.50107 +27 1.59 1.00028 1.68795 +28 1.65 1.00686 1.89051 +29 1.71 1.03317 2.11377 +30 1.77 1.01978 2.34986 +31 1.83 1.003 2.59807 +32 1.89 1.04707 2.87447 +33 1.95 1.02044 3.1612 +34 2.01 0.981934 3.45435 +35 2.07 1.02045 3.77746 +36 2.13 0.91484 4.08417 +37 2.19 0.933829 4.41512 +38 2.25 1.05724 4.81063 +39 2.31 0.991281 5.2015 +40 2.37 1.0225 5.62589 +41 2.43 0.957917 6.04387 +42 2.49 1.00806 6.50571 +43 2.55 1.05173 7.01106 +44 2.61 1.01102 7.51997 +45 2.67 1.01348 8.05385 +46 2.73 1.02317 8.61733 +47 2.79 0.995761 9.19009 +48 2.85 1.0131 9.79815 +49 2.91 0.972897 10.4069 +50 2.97 0.972287 11.0407 +100650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.190021 0.00463623 +8 0.45 0.475989 0.0117689 +9 0.51 0.630192 0.0238944 +10 0.57 0.890503 0.0452924 +11 0.63 0.826294 0.0695435 +12 0.69 0.89155 0.100927 +13 0.75 1.13202 0.148003 +14 0.81 1.17648 0.205064 +15 0.87 1.12186 0.267832 +16 0.93 1.31095 0.351641 +17 0.99 1.0683 0.42903 +18 1.05 0.910335 0.50321 +19 1.11 0.967342 0.591298 +20 1.17 0.888318 0.68117 +21 1.23 1.02068 0.795292 +22 1.29 0.936655 0.910485 +23 1.35 0.926753 1.03531 +24 1.41 1.03648 1.18759 +25 1.47 0.913405 1.33345 +26 1.53 1.04727 1.51462 +27 1.59 1.09 1.71826 +28 1.65 1.02104 1.92368 +29 1.71 1.06618 2.15407 +30 1.77 1.00745 2.3873 +31 1.83 1.07218 2.65264 +32 1.89 0.991678 2.91441 +33 1.95 0.981094 3.19009 +34 2.01 0.941319 3.47111 +35 2.07 0.981029 3.78174 +36 2.13 1.01696 4.12268 +37 2.19 0.982131 4.47076 +38 2.25 1.02388 4.85378 +39 2.31 1.02565 5.2582 +40 2.37 1.01476 5.67939 +41 2.43 0.936666 6.08809 +42 2.49 0.955124 6.52568 +43 2.55 1.01165 7.01177 +44 2.61 1.01952 7.52496 +45 2.67 1.02431 8.06455 +46 2.73 1.01087 8.62126 +47 2.79 1.0342 9.21612 +48 2.85 0.96735 9.79672 +49 2.91 1.00937 10.4283 +50 2.97 1.00129 11.081 +100700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.158351 0.00392297 +8 0.45 0.356992 0.00927247 +9 0.51 0.759937 0.0238944 +10 0.57 0.593669 0.0381598 +11 0.63 0.959959 0.0663338 +12 0.69 1.00299 0.101641 +13 0.75 1.20063 0.151569 +14 0.81 1.19854 0.2097 +15 0.87 1.17285 0.275321 +16 0.93 1.09339 0.345221 +17 0.99 0.969835 0.415478 +18 1.05 1.01975 0.498573 +19 1.11 0.951677 0.585235 +20 1.17 0.99407 0.685806 +21 1.23 1.01111 0.798859 +22 1.29 0.893157 0.908702 +23 1.35 0.953231 1.03709 +24 1.41 0.96851 1.17939 +25 1.47 1.04517 1.34629 +26 1.53 0.995734 1.51854 +27 1.59 1.02891 1.71077 +28 1.65 1.02104 1.91619 +29 1.71 1.03482 2.1398 +30 1.77 1.01207 2.37411 +31 1.83 0.98427 2.61769 +32 1.89 0.964657 2.87233 +33 1.95 0.974748 3.14622 +34 2.01 0.944902 3.42832 +35 2.07 1.00018 3.74501 +36 2.13 0.981858 4.07418 +37 2.19 1.00628 4.43081 +38 2.25 1.01339 4.80991 +39 2.31 0.989473 5.20007 +40 2.37 0.978675 5.60628 +41 2.43 1.00042 6.0428 +42 2.49 1.00261 6.50214 +43 2.55 1.01017 6.98752 +44 2.61 0.960006 7.47076 +45 2.67 1.00671 8.00107 +46 2.73 1.03807 8.57275 +47 2.79 0.982121 9.13766 +48 2.85 0.997059 9.73609 +49 2.91 1.02191 10.3755 +50 2.97 1.00402 11.03 +100750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.443382 0.0074893 +8 0.45 0.404591 0.0135521 +9 0.51 0.500446 0.0231812 +10 0.57 0.653036 0.038873 +11 0.63 1.04502 0.0695435 +12 0.69 1.07391 0.107347 +13 0.75 1.01196 0.149429 +14 0.81 1.02207 0.199001 +15 0.87 1.24296 0.268545 +16 0.93 1.04876 0.335592 +17 0.99 1.11753 0.416548 +18 1.05 1.011 0.49893 +19 1.11 0.885098 0.579529 +20 1.17 0.920044 0.672611 +21 1.23 0.928178 0.776391 +22 1.29 1.01495 0.901213 +23 1.35 1.06444 1.04458 +24 1.41 0.910253 1.17832 +25 1.47 1.04963 1.34593 +26 1.53 1.01223 1.52104 +27 1.59 0.998368 1.70756 +28 1.65 1.03876 1.91655 +29 1.71 1.06948 2.14765 +30 1.77 1.00745 2.38088 +31 1.83 1.04336 2.63909 +32 1.89 0.890349 2.87411 +33 1.95 0.934134 3.13659 +34 2.01 1.01419 3.43937 +35 2.07 1.01932 3.76213 +36 2.13 1.05313 4.11519 +37 2.19 0.994206 4.46755 +38 2.25 0.961912 4.82739 +39 2.31 0.987664 5.21683 +40 2.37 0.99586 5.63017 +41 2.43 1.01676 6.07382 +42 2.49 0.970692 6.51854 +43 2.55 1.05618 7.02603 +44 2.61 1.03086 7.54494 +45 2.67 0.997233 8.07026 +46 2.73 1.00504 8.62375 +47 2.79 1.00196 9.20007 +48 2.85 1.00538 9.8035 +49 2.91 0.967198 10.4087 +50 2.97 0.953684 11.0303 +100800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.132597 0.0010699 +7 0.39 0.190021 0.0032097 +8 0.45 0.523588 0.0110556 +9 0.51 0.556052 0.0217546 +10 0.57 0.563985 0.0353067 +11 0.63 0.923505 0.0624108 +12 0.69 1.09418 0.100927 +13 0.75 1.09772 0.146576 +14 0.81 1.17648 0.203638 +15 0.87 1.10273 0.265335 +16 0.93 1.08223 0.334522 +17 0.99 1.01906 0.408345 +18 1.05 1.14667 0.501783 +19 1.11 1.00651 0.593438 +20 1.17 0.99407 0.694009 +21 1.23 0.921799 0.797076 +22 1.29 0.959854 0.915121 +23 1.35 0.945288 1.04244 +24 1.41 0.990356 1.18795 +25 1.47 0.949137 1.33951 +26 1.53 1.02666 1.51712 +27 1.59 1.10145 1.7229 +28 1.65 1.0494 1.93402 +29 1.71 0.993561 2.14872 +30 1.77 1.00129 2.38053 +31 1.83 0.979947 2.62304 +32 1.89 0.993029 2.88516 +33 1.95 0.965864 3.15656 +34 2.01 0.966405 3.44508 +35 2.07 0.950618 3.74608 +36 2.13 0.987177 4.07703 +37 2.19 1.06062 4.45292 +38 2.25 0.967632 4.81491 +39 2.31 1.04736 5.22789 +40 2.37 0.987268 5.63766 +41 2.43 1.00859 6.07775 +42 2.49 1.03686 6.55278 +43 2.55 0.984188 7.02568 +44 2.61 0.994014 7.52603 +45 2.67 0.959321 8.03138 +46 2.73 1.00439 8.58452 +47 2.79 0.97716 9.14658 +48 2.85 1.05291 9.77853 +49 2.91 0.963778 10.3816 +50 2.97 1.02153 11.0474 +100850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.285031 0.00606277 +8 0.45 0.404591 0.0121255 +9 0.51 0.407771 0.0199715 +10 0.57 0.86082 0.0406562 +11 0.63 0.923505 0.0677603 +12 0.69 0.921944 0.100214 +13 0.75 1.10629 0.14622 +14 0.81 1.13972 0.201498 +15 0.87 1.24296 0.271041 +16 0.93 1.21054 0.348431 +17 0.99 1.14214 0.43117 +18 1.05 0.962855 0.509629 +19 1.11 0.908597 0.592368 +20 1.17 0.930619 0.686519 +21 1.23 0.953695 0.793153 +22 1.29 0.968553 0.912268 +23 1.35 0.900274 1.03352 +24 1.41 1.03648 1.18581 +25 1.47 1.0072 1.34665 +26 1.53 1.01635 1.52247 +27 1.59 1.03655 1.71612 +28 1.65 0.967858 1.91084 +29 1.71 1.01172 2.12946 +30 1.77 0.998209 2.36056 +31 1.83 1.03327 2.61626 +32 1.89 0.922774 2.85984 +33 1.95 1.05979 3.15763 +34 2.01 1.00702 3.45827 +35 2.07 0.994545 3.77318 +36 2.13 0.978666 4.10128 +37 2.19 0.989175 4.45185 +38 2.25 0.946658 4.80599 +39 2.31 1.01751 5.2072 +40 2.37 1.00703 5.62518 +41 2.43 1.04619 6.08167 +42 2.49 0.964465 6.52354 +43 2.55 1.02575 7.01641 +44 2.61 0.97701 7.5082 +45 2.67 0.994525 8.0321 +46 2.73 0.995975 8.5806 +47 2.79 1.0063 9.15942 +48 2.85 1.04816 9.78852 +49 2.91 1.00196 10.4155 +50 2.97 0.993079 11.0628 +100900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.253361 0.00463623 +8 0.45 0.285593 0.00891583 +9 0.51 0.722867 0.0228245 +10 0.57 0.86082 0.0435093 +11 0.63 0.899202 0.0699001 +12 0.69 0.840894 0.0995007 +13 0.75 0.891896 0.136591 +14 0.81 1.0956 0.189729 +15 0.87 1.14735 0.253923 +16 0.93 1.15475 0.327746 +17 0.99 1.05353 0.404066 +18 1.05 1.04601 0.489301 +19 1.11 0.967342 0.577389 +20 1.17 0.941194 0.672611 +21 1.23 0.909041 0.774251 +22 1.29 0.956954 0.89194 +23 1.35 1.03002 1.03067 +24 1.41 1.03162 1.18224 +25 1.47 0.942437 1.33274 +26 1.53 1.0081 1.50713 +27 1.59 1.11481 1.71541 +28 1.65 0.966085 1.90977 +29 1.71 1.04142 2.13481 +30 1.77 0.945834 2.35378 +31 1.83 0.98427 2.59736 +32 1.89 0.99438 2.85984 +33 1.95 0.986171 3.13695 +34 2.01 1.04286 3.44829 +35 2.07 0.94386 3.74715 +36 2.13 0.995687 4.08096 +37 2.19 1.02138 4.44294 +38 2.25 0.989558 4.81312 +39 2.31 0.993995 5.20506 +40 2.37 1.06975 5.64907 +41 2.43 0.970994 6.07275 +42 2.49 0.979255 6.5214 +43 2.55 1.00571 7.00464 +44 2.61 1.04361 7.52996 +45 2.67 1.0013 8.05742 +46 2.73 0.990147 8.60271 +47 2.79 1.0001 9.17796 +48 2.85 0.994683 9.77496 +49 2.91 0.999115 10.4001 +50 2.97 1.01168 11.0596 +100950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.285031 0.00606277 +8 0.45 0.333192 0.0110556 +9 0.51 0.593122 0.0224679 +10 0.57 0.727244 0.0399429 +11 0.63 0.947808 0.0677603 +12 0.69 1.08404 0.10592 +13 0.75 1.00338 0.147646 +14 0.81 1.23531 0.207561 +15 0.87 1.03262 0.265335 +16 0.93 1.16033 0.339515 +17 0.99 1.1126 0.420114 +18 1.05 0.997868 0.501427 +19 1.11 0.924262 0.585592 +20 1.17 1.0399 0.690799 +21 1.23 0.937747 0.795649 +22 1.29 0.910556 0.907632 +23 1.35 1.01678 1.04458 +24 1.41 0.915108 1.17903 +25 1.47 1.0139 1.34094 +26 1.53 0.968934 1.50856 +27 1.59 1.02128 1.69936 +28 1.65 0.985584 1.89765 +29 1.71 0.991911 2.11198 +30 1.77 1.01669 2.34736 +31 1.83 1.01886 2.5995 +32 1.89 1.03626 2.87304 +33 1.95 0.977287 3.14765 +34 2.01 0.917427 3.42154 +35 2.07 1.01482 3.74287 +36 2.13 0.989304 4.07454 +37 2.19 1.07873 4.45685 +38 2.25 1.00576 4.8331 +39 2.31 0.988568 5.2229 +40 2.37 1.0139 5.64372 +41 2.43 0.979985 6.07133 +42 2.49 1.01506 6.53638 +43 2.55 1.00274 7.01819 +44 2.61 1.00252 7.52282 +45 2.67 1.03311 8.06705 +46 2.73 0.975252 8.60414 +47 2.79 1.04908 9.20756 +48 2.85 0.970321 9.78994 +49 2.91 1.01165 10.423 +50 2.97 0.96408 11.0514 +101000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.132597 0.0021398 +7 0.39 0.411712 0.00677603 +8 0.45 0.571187 0.0153352 +9 0.51 0.593122 0.0267475 +10 0.57 0.667877 0.042796 +11 0.63 0.741234 0.0645506 +12 0.69 1.12457 0.104137 +13 0.75 1.04626 0.147646 +14 0.81 1.21325 0.206491 +15 0.87 1.12186 0.269258 +16 0.93 1.10455 0.339872 +17 0.99 1.0486 0.415835 +18 1.05 0.967231 0.49465 +19 1.11 0.975175 0.583452 +20 1.17 1.01875 0.686519 +21 1.23 0.956885 0.793509 +22 1.29 0.980153 0.914051 +23 1.35 1.04061 1.05421 +24 1.41 1.0122 1.20292 +25 1.47 0.962536 1.35663 +26 1.53 1.01223 1.53174 +27 1.59 0.985006 1.71576 +28 1.65 0.953677 1.90763 +29 1.71 1.04637 2.13374 +30 1.77 0.972022 2.35877 +31 1.83 0.981388 2.60164 +32 1.89 0.966008 2.85663 +33 1.95 1.02805 3.14551 +34 2.01 0.99388 3.44223 +35 2.07 1.05987 3.77782 +36 2.13 0.978666 4.10592 +37 2.19 1.00729 4.46291 +38 2.25 1.00195 4.83773 +39 2.31 1.03108 5.24429 +40 2.37 0.995001 5.65728 +41 2.43 0.988158 6.08845 +42 2.49 0.986261 6.5403 +43 2.55 0.979734 7.01106 +44 2.61 0.967799 7.49822 +45 2.67 1.01213 8.03138 +46 2.73 1.00634 8.58559 +47 2.79 1.00692 9.16476 +48 2.85 1.03865 9.78816 +49 2.91 1.0031 10.4158 +50 2.97 0.997456 11.066 +101050 50 +1 0.03 0 0 +2 0.09 0.574587 0.000356633 +3 0.15 0 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0.131872 0.00142653 +6 0.33 0.0883979 0.0021398 +7 0.39 0.190021 0.0042796 +8 0.45 0.404591 0.0103424 +9 0.51 0.648727 0.0228245 +10 0.57 0.771769 0.0413695 +11 0.63 0.923505 0.0684736 +12 0.69 0.871288 0.0991441 +13 0.75 1.28639 0.152639 +14 0.81 1.01472 0.201854 +15 0.87 1.09636 0.263195 +16 0.93 1.13244 0.335592 +17 0.99 1.02399 0.409772 +18 1.05 1.01975 0.492867 +19 1.11 0.975175 0.581669 +20 1.17 1.00465 0.68331 +21 1.23 0.921799 0.786377 +22 1.29 1.03525 0.913695 +23 1.35 0.926753 1.03852 +24 1.41 1.0122 1.18723 +25 1.47 0.942437 1.33773 +26 1.53 0.966872 1.50499 +27 1.59 1.03082 1.69757 +28 1.65 1.05294 1.90942 +29 1.71 1.02987 2.13195 +30 1.77 0.99975 2.36341 +31 1.83 0.994358 2.60949 +32 1.89 0.983572 2.86912 +33 1.95 1.00394 3.15121 +34 2.01 1.01777 3.45506 +35 2.07 0.984408 3.76676 +36 2.13 0.973348 4.09308 +37 2.19 0.999237 4.44722 +38 2.25 0.969538 4.80991 +39 2.31 1.0555 5.22611 +40 2.37 1.00016 5.64123 +41 2.43 1.00369 6.07917 +42 2.49 1.01195 6.5428 +43 2.55 1.00942 7.02782 +44 2.61 1.01102 7.53673 +45 2.67 1.02025 8.07418 +46 2.73 1.02382 8.63802 +47 2.79 1.00134 9.21398 +48 2.85 0.978639 9.80136 +49 2.91 0.993415 10.423 +50 2.97 0.969004 11.0546 +101100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.190021 0.00356633 +8 0.45 0.475989 0.010699 +9 0.51 0.759937 0.025321 +10 0.57 0.653036 0.0410128 +11 0.63 0.911353 0.0677603 +12 0.69 1.11444 0.10699 +13 0.75 1.20063 0.156919 +14 0.81 0.992659 0.205064 +15 0.87 1.1856 0.271398 +16 0.93 1.1157 0.342725 +17 0.99 1.08799 0.421541 +18 1.05 0.932218 0.497504 +19 1.11 0.873349 0.577033 +20 1.17 0.997595 0.67796 +21 1.23 1.02068 0.792083 +22 1.29 1.00625 0.915835 +23 1.35 1.02208 1.0535 +24 1.41 0.941809 1.19187 +25 1.47 0.962536 1.34558 +26 1.53 1.02047 1.52211 +27 1.59 1.006 1.71006 +28 1.65 1.02813 1.9169 +29 1.71 1.04968 2.14372 +30 1.77 0.978184 2.37019 +31 1.83 0.987153 2.61448 +32 1.89 1.00924 2.88088 +33 1.95 0.98744 3.15835 +34 2.01 1.02613 3.46469 +35 2.07 1.01144 3.78495 +36 2.13 1.03717 4.13267 +37 2.19 0.960999 4.47325 +38 2.25 0.979072 4.83951 +39 2.31 0.979524 5.22575 +40 2.37 0.991564 5.6373 +41 2.43 0.994697 6.07133 +42 2.49 0.997937 6.52853 +43 2.55 1.03317 7.02496 +44 2.61 0.977718 7.51712 +45 2.67 1.00468 8.04636 +46 2.73 1.0018 8.59807 +47 2.79 0.995761 9.17083 +48 2.85 1.00597 9.77461 +49 2.91 0.997405 10.3987 +50 2.97 0.995268 11.0474 +101150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.506722 0.00784593 +8 0.45 0.499788 0.0153352 +9 0.51 0.648727 0.0278174 +10 0.57 0.831136 0.0477889 +11 0.63 0.680477 0.0677603 +12 0.69 1.01313 0.103424 +13 0.75 0.994807 0.144793 +14 0.81 1.0956 0.197932 +15 0.87 1.1346 0.261412 +16 0.93 1.21054 0.338802 +17 0.99 1.09783 0.418331 +18 1.05 1.011 0.500713 +19 1.11 0.983008 0.590228 +20 1.17 0.912993 0.682596 +21 1.23 1.03663 0.798502 +22 1.29 0.951154 0.915478 +23 1.35 1.01943 1.05278 +24 1.41 0.929672 1.18937 +25 1.47 0.962536 1.34308 +26 1.53 0.995734 1.51534 +27 1.59 1.03273 1.70827 +28 1.65 0.978494 1.90514 +29 1.71 1.06123 2.13445 +30 1.77 1.05213 2.37803 +31 1.83 1.06209 2.64087 +32 1.89 1.016 2.90906 +33 1.95 1.01409 3.19401 +34 2.01 0.943708 3.47575 +35 2.07 0.96526 3.78138 +36 2.13 0.965901 4.10521 +37 2.19 0.964017 4.44686 +38 2.25 0.986698 4.81598 +39 2.31 1.0157 5.21648 +40 2.37 1.03968 5.648 +41 2.43 1.02984 6.09736 +42 2.49 1.01351 6.5617 +43 2.55 0.955241 7.02068 +44 2.61 1.00039 7.52425 +45 2.67 0.993171 8.04743 +46 2.73 0.995975 8.59593 +47 2.79 0.96786 9.15264 +48 2.85 1.01251 9.76034 +49 2.91 1.02362 10.4009 +50 2.97 1.03904 11.0781 +101200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.329681 0.00178317 +6 0.33 0.220995 0.00356633 +7 0.39 0.253361 0.0064194 +8 0.45 0.42839 0.0128388 +9 0.51 0.648727 0.025321 +10 0.57 0.682719 0.0417261 +11 0.63 0.959959 0.0699001 +12 0.69 1.05365 0.10699 +13 0.75 1.14917 0.154779 +14 0.81 1.17648 0.21184 +15 0.87 1.19197 0.278531 +16 0.93 1.17149 0.353424 +17 0.99 0.925528 0.420471 +18 1.05 0.914712 0.495007 +19 1.11 0.932095 0.579886 +20 1.17 0.96587 0.677603 +21 1.23 0.953695 0.784237 +22 1.29 0.945354 0.900499 +23 1.35 0.947936 1.02817 +24 1.41 0.978219 1.1719 +25 1.47 1.02283 1.33524 +26 1.53 1.0514 1.51712 +27 1.59 0.97737 1.69971 +28 1.65 1.09549 1.92011 +29 1.71 0.940747 2.1234 +30 1.77 1.04134 2.36448 +31 1.83 0.95689 2.60128 +32 1.89 1.01735 2.86983 +33 1.95 1.0344 3.16049 +34 2.01 0.972377 3.45078 +35 2.07 0.979903 3.76106 +36 2.13 0.980794 4.08987 +37 2.19 0.973074 4.43474 +38 2.25 1.03246 4.82097 +39 2.31 0.977715 5.20649 +40 2.37 1.00187 5.62233 +41 2.43 1.02984 6.07168 +42 2.49 1.04853 6.55207 +43 2.55 1.04357 7.0535 +44 2.61 0.952213 7.53281 +45 2.67 1.00603 8.06277 +46 2.73 0.970072 8.597 +47 2.79 0.993901 9.16869 +48 2.85 1.02915 9.78638 +49 2.91 1.02932 10.4305 +50 2.97 0.989249 11.0752 +101250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.506722 0.0074893 +8 0.45 0.452189 0.0142653 +9 0.51 0.648727 0.0267475 +10 0.57 0.593669 0.0410128 +11 0.63 0.716931 0.0620542 +12 0.69 0.952338 0.0955777 +13 0.75 1.07199 0.140157 +14 0.81 1.07354 0.192225 +15 0.87 1.30671 0.265335 +16 0.93 1.18822 0.341298 +17 0.99 1.0683 0.418688 +18 1.05 0.884076 0.490728 +19 1.11 1.12791 0.593438 +20 1.17 0.898893 0.684379 +21 1.23 0.969643 0.792796 +22 1.29 0.936655 0.907989 +23 1.35 1.00619 1.04351 +24 1.41 0.980646 1.18759 +25 1.47 1.0273 1.35164 +26 1.53 0.95038 1.51605 +27 1.59 0.99455 1.70185 +28 1.65 1.01749 1.90656 +29 1.71 1.07773 2.13944 +30 1.77 1.0891 2.39158 +31 1.83 0.987153 2.63588 +32 1.89 0.991678 2.89765 +33 1.95 0.976018 3.1719 +34 2.01 1.03808 3.48181 +35 2.07 0.994545 3.79672 +36 2.13 0.985049 4.12696 +37 2.19 0.985149 4.47611 +38 2.25 0.980978 4.84308 +39 2.31 1.01118 5.2418 +40 2.37 0.961491 5.64087 +41 2.43 0.997149 6.07596 +42 2.49 1.04464 6.55456 +43 2.55 1.02353 7.04636 +44 2.61 0.990471 7.54494 +45 2.67 0.995879 8.06954 +46 2.73 0.97849 8.60842 +47 2.79 0.990801 9.17832 +48 2.85 0.994683 9.77532 +49 2.91 1.04585 10.4297 +50 2.97 0.982683 11.0703 +101300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.285031 0.0064194 +8 0.45 0.499788 0.0139087 +9 0.51 0.537517 0.0242511 +10 0.57 0.638194 0.0395863 +11 0.63 0.887051 0.0656205 +12 0.69 0.881419 0.0966476 +13 0.75 1.1749 0.145506 +14 0.81 1.13237 0.200428 +15 0.87 1.23022 0.269258 +16 0.93 1.0655 0.337375 +17 0.99 1.10276 0.417261 +18 1.05 1.09853 0.506776 +19 1.11 0.955593 0.593795 +20 1.17 0.962344 0.691155 +21 1.23 0.861196 0.787447 +22 1.29 0.916356 0.900143 +23 1.35 1.0512 1.04173 +24 1.41 1.0122 1.19044 +25 1.47 0.946903 1.34165 +26 1.53 0.973057 1.50999 +27 1.59 1.05754 1.70756 +28 1.65 0.982039 1.90514 +29 1.71 1.02822 2.12732 +30 1.77 1.0244 2.36448 +31 1.83 1.00733 2.61377 +32 1.89 1.00519 2.8791 +33 1.95 1.01156 3.16334 +34 2.01 0.985518 3.45756 +35 2.07 0.950618 3.75856 +36 2.13 1.00739 4.09629 +37 2.19 1.02842 4.46077 +38 2.25 1.00386 4.83631 +39 2.31 1.02836 5.2418 +40 2.37 1.01734 5.66405 +41 2.43 0.982437 6.09272 +42 2.49 1.01039 6.55563 +43 2.55 0.980477 7.02675 +44 2.61 0.986929 7.52354 +45 2.67 1.0602 8.08203 +46 2.73 0.95194 8.60628 +47 2.79 1.01436 9.18973 +48 2.85 0.982799 9.7796 +49 2.91 0.995695 10.4026 +50 2.97 1.00676 11.0588 +101350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.570062 0.0085592 +8 0.45 0.499788 0.0160485 +9 0.51 0.518981 0.0260342 +10 0.57 0.816295 0.0456491 +11 0.63 0.753385 0.0677603 +12 0.69 0.72945 0.0934379 +13 0.75 1.25208 0.145506 +14 0.81 1.12501 0.200071 +15 0.87 1.19835 0.267118 +16 0.93 1.12128 0.338802 +17 0.99 0.999373 0.411198 +18 1.05 1.01537 0.493937 +19 1.11 1.01825 0.586662 +20 1.17 0.905943 0.678317 +21 1.23 0.931368 0.782454 +22 1.29 0.971453 0.901926 +23 1.35 1.0512 1.04351 +24 1.41 0.975792 1.18688 +25 1.47 1.06527 1.35699 +26 1.53 0.956565 1.52247 +27 1.59 0.998368 1.70899 +28 1.65 1.06004 1.92225 +29 1.71 1.02162 2.14301 +30 1.77 0.962779 2.36591 +31 1.83 1.07506 2.63195 +32 1.89 1.00789 2.898 +33 1.95 1.01409 3.18295 +34 2.01 0.949681 3.46648 +35 2.07 0.96526 3.77211 +36 2.13 1.01696 4.11305 +37 2.19 0.928798 4.44223 +38 2.25 0.966678 4.80385 +39 2.31 1.03289 5.21113 +40 2.37 1.00531 5.62839 +41 2.43 1.07071 6.09558 +42 2.49 0.999494 6.5535 +43 2.55 1.00274 7.03531 +44 2.61 0.951504 7.51427 +45 2.67 1.00942 8.04601 +46 2.73 0.986909 8.58951 +47 2.79 1.00568 9.16797 +48 2.85 0.987552 9.7607 +49 2.91 1.03274 10.4069 +50 2.97 1.01004 11.0653 +101400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.316701 0.0053495 +8 0.45 0.452189 0.0121255 +9 0.51 0.648727 0.0246077 +10 0.57 0.563985 0.0381598 +11 0.63 0.935656 0.0656205 +12 0.69 1.19549 0.107703 +13 0.75 0.934775 0.146576 +14 0.81 1.03678 0.196862 +15 0.87 1.23659 0.266049 +16 0.93 1.12686 0.338088 +17 0.99 1.0486 0.414051 +18 1.05 1.05039 0.499643 +19 1.11 0.857684 0.577746 +20 1.17 0.955294 0.674394 +21 1.23 0.966454 0.782454 +22 1.29 0.956954 0.900143 +23 1.35 1.06179 1.04315 +24 1.41 0.953946 1.18331 +25 1.47 0.975936 1.33916 +26 1.53 1.01841 1.51534 +27 1.59 0.992641 1.70078 +28 1.65 0.999766 1.90193 +29 1.71 0.996862 2.11733 +30 1.77 1.00591 2.35021 +31 1.83 0.972742 2.59094 +32 1.89 1.10382 2.88231 +33 1.95 1.02805 3.17118 +34 2.01 0.997463 3.46897 +35 2.07 0.970892 3.77639 +36 2.13 0.991432 4.10877 +37 2.19 1.00226 4.46398 +38 2.25 1.01053 4.84201 +39 2.31 0.99309 5.23359 +40 2.37 1.01992 5.65692 +41 2.43 0.985706 6.08702 +42 2.49 1.0283 6.55813 +43 2.55 0.955983 7.01748 +44 2.61 0.984095 7.51284 +45 2.67 1.01145 8.04565 +46 2.73 0.988204 8.58987 +47 2.79 1.00506 9.16797 +48 2.85 1.01548 9.77746 +49 2.91 1.0088 10.4087 +50 2.97 1.02263 11.0752 +101450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.263745 0.00142653 +6 0.33 0.132597 0.00249643 +7 0.39 0.253361 0.0053495 +8 0.45 0.190396 0.00820257 +9 0.51 0.593122 0.0196148 +10 0.57 0.816295 0.0392297 +11 0.63 0.887051 0.0652639 +12 0.69 0.962469 0.0991441 +13 0.75 1.19205 0.148716 +14 0.81 1.07354 0.200785 +15 0.87 1.20472 0.268188 +16 0.93 1.04318 0.334879 +17 0.99 1.1126 0.415478 +18 1.05 1.05914 0.501783 +19 1.11 0.99084 0.592011 +20 1.17 0.895368 0.682596 +21 1.23 0.944126 0.78816 +22 1.29 1.02075 0.913695 +23 1.35 0.982358 1.04601 +24 1.41 0.924817 1.18188 +25 1.47 0.996035 1.34094 +26 1.53 1.02253 1.51783 +27 1.59 1.02318 1.70899 +28 1.65 1.0494 1.92011 +29 1.71 1.01832 2.14016 +30 1.77 0.988967 2.36912 +31 1.83 0.998681 2.61626 +32 1.89 1.04437 2.89194 +33 1.95 0.973479 3.16548 +34 2.01 1.02733 3.47218 +35 2.07 1.01257 3.7928 +36 2.13 0.960582 4.11484 +37 2.19 0.964017 4.45649 +38 2.25 0.953332 4.81312 +39 2.31 1.01661 5.21398 +40 2.37 1.04827 5.64907 +41 2.43 1.01922 6.09379 +42 2.49 1.00572 6.55456 +43 2.55 0.976023 7.02354 +44 2.61 0.974176 7.51391 +45 2.67 1.004 8.0428 +46 2.73 0.960358 8.57168 +47 2.79 1.0187 9.15763 +48 2.85 1.02617 9.77354 +49 2.91 0.994555 10.3959 +50 2.97 0.966269 11.0257 +101500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.126681 0.0032097 +8 0.45 0.42839 0.0096291 +9 0.51 0.704332 0.0231812 +10 0.57 0.682719 0.0395863 +11 0.63 0.814142 0.0634807 +12 0.69 0.820631 0.092368 +13 0.75 1.08057 0.137304 +14 0.81 1.11031 0.191155 +15 0.87 1.1856 0.257489 +16 0.93 1.11012 0.328459 +17 0.99 1.04368 0.404066 +18 1.05 0.980361 0.483951 +19 1.11 1.19057 0.592368 +20 1.17 0.930619 0.686519 +21 1.23 0.838869 0.780314 +22 1.29 0.980153 0.900856 +23 1.35 0.947936 1.02853 +24 1.41 0.985501 1.17332 +25 1.47 0.975936 1.32917 +26 1.53 1.09881 1.51926 +27 1.59 1.01555 1.70899 +28 1.65 0.978494 1.90585 +29 1.71 0.947349 2.11056 +30 1.77 1.06753 2.3577 +31 1.83 1.03183 2.61305 +32 1.89 0.970061 2.86912 +33 1.95 0.968402 3.14123 +34 2.01 1.01777 3.44508 +35 2.07 1.00919 3.76462 +36 2.13 0.933988 4.07775 +37 2.19 0.996218 4.43081 +38 2.25 1.02197 4.81312 +39 2.31 0.927065 5.17867 +40 2.37 1.00617 5.59629 +41 2.43 1.08215 6.06847 +42 2.49 1.02362 6.53745 +43 2.55 0.979734 7.0082 +44 2.61 1.01031 7.51676 +45 2.67 1.00197 8.04458 +46 2.73 1.04325 8.61912 +47 2.79 0.97096 9.1776 +48 2.85 0.96319 9.75571 +49 2.91 1.03103 10.4009 +50 2.97 0.981042 11.0403 +101550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.348371 0.00677603 +8 0.45 0.380791 0.0124822 +9 0.51 0.593122 0.0238944 +10 0.57 0.771769 0.0424394 +11 0.63 1.11793 0.0752496 +12 0.69 0.89155 0.106633 +13 0.75 1.06341 0.150856 +14 0.81 1.12501 0.205421 +15 0.87 0.975249 0.259986 +16 0.93 1.2719 0.341298 +17 0.99 0.999373 0.413695 +18 1.05 1.0854 0.50214 +19 1.11 0.928178 0.586662 +20 1.17 0.884793 0.676177 +21 1.23 0.956885 0.783167 +22 1.29 0.962754 0.901569 +23 1.35 0.90557 1.02354 +24 1.41 1.02677 1.17439 +25 1.47 1.02953 1.3388 +26 1.53 1.0081 1.5132 +27 1.59 1.04036 1.70756 +28 1.65 1.05649 1.92011 +29 1.71 0.925893 2.12019 +30 1.77 1.04596 2.36234 +31 1.83 0.958331 2.5995 +32 1.89 0.984923 2.85949 +33 1.95 1.02805 3.14836 +34 2.01 1.00463 3.44829 +35 2.07 1.03171 3.77496 +36 2.13 1.00632 4.11234 +37 2.19 0.9932 4.46434 +38 2.25 1.00767 4.8413 +39 2.31 1.03379 5.24893 +40 2.37 0.974379 5.65335 +41 2.43 0.987341 6.08417 +42 2.49 1.03219 6.55706 +43 2.55 1.00868 7.04173 +44 2.61 0.967091 7.52853 +45 2.67 1.02431 8.06812 +46 2.73 1.01929 8.62946 +47 2.79 1.00816 9.20934 +48 2.85 1.00062 9.80991 +49 2.91 0.968908 10.4162 +50 2.97 1.00183 11.0692 +101600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.285031 0.0053495 +8 0.45 0.285593 0.0096291 +9 0.51 0.537517 0.0199715 +10 0.57 0.682719 0.0363766 +11 0.63 0.959959 0.0645506 +12 0.69 1.06378 0.101997 +13 0.75 1.14917 0.149786 +14 0.81 1.0956 0.202924 +15 0.87 1.26209 0.273538 +16 0.93 1.18822 0.349501 +17 0.99 1.01906 0.423324 +18 1.05 0.919089 0.498217 +19 1.11 0.936011 0.583452 +20 1.17 0.962344 0.680813 +21 1.23 0.944126 0.786377 +22 1.29 0.965654 0.905136 +23 1.35 1.01148 1.04137 +24 1.41 1.02919 1.19258 +25 1.47 1.05187 1.36056 +26 1.53 0.913272 1.51854 +27 1.59 1.08045 1.7204 +28 1.65 0.948359 1.9112 +29 1.71 0.995211 2.12625 +30 1.77 0.924268 2.34023 +31 1.83 1.00445 2.5888 +32 1.89 1.02816 2.8602 +33 1.95 1.01536 3.14551 +34 2.01 0.960432 3.43224 +35 2.07 1.04072 3.76177 +36 2.13 1.00526 4.09879 +37 2.19 1.02339 4.46148 +38 2.25 1.02769 4.84593 +39 2.31 0.930683 5.21291 +40 2.37 0.979535 5.61947 +41 2.43 0.954647 6.03602 +42 2.49 1.04153 6.5132 +43 2.55 0.999032 6.99322 +44 2.61 1.03723 7.51534 +45 2.67 0.987755 8.03566 +46 2.73 0.977843 8.57418 +47 2.79 1.0125 9.15656 +48 2.85 0.963784 9.73502 +49 2.91 1.02305 10.3752 +50 2.97 1.02591 11.0439 +101650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.411712 0.0074893 +8 0.45 0.571187 0.0160485 +9 0.51 0.611657 0.0278174 +10 0.57 0.786611 0.046719 +11 0.63 0.862748 0.0720399 +12 0.69 1.00299 0.107347 +13 0.75 1.19205 0.156919 +14 0.81 1.11766 0.211127 +15 0.87 1.37045 0.287803 +16 0.93 1.0655 0.35592 +17 0.99 1.01414 0.429387 +18 1.05 0.888452 0.501783 +19 1.11 0.963426 0.589515 +20 1.17 0.891843 0.679743 +21 1.23 0.924989 0.783167 +22 1.29 1.00335 0.906562 +23 1.35 0.955879 1.03531 +24 1.41 1.07531 1.1933 +25 1.47 0.973703 1.34879 +26 1.53 1.04727 1.52996 +27 1.59 1.04036 1.72432 +28 1.65 1.03699 1.93295 +29 1.71 0.977057 2.14408 +30 1.77 0.939673 2.36163 +31 1.83 1.003 2.60984 +32 1.89 0.961955 2.86377 +33 1.95 1.02425 3.15157 +34 2.01 0.96521 3.43973 +35 2.07 1.0441 3.77033 +36 2.13 1.05739 4.12482 +37 2.19 1.00528 4.4811 +38 2.25 1.00862 4.85842 +39 2.31 1.00213 5.25357 +40 2.37 1.00617 5.67118 +41 2.43 0.950561 6.08595 +42 2.49 1.04309 6.56384 +43 2.55 0.934459 7.01284 +44 2.61 0.998265 7.51534 +45 2.67 1.03988 8.06312 +46 2.73 0.985614 8.60592 +47 2.79 1.03172 9.19936 +48 2.85 1.05588 9.8331 +49 2.91 0.982586 10.4479 +50 2.97 1.01825 11.1116 +101700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.253361 0.0053495 +8 0.45 0.499788 0.0128388 +9 0.51 0.500446 0.0224679 +10 0.57 0.905345 0.0442225 +11 0.63 0.97211 0.0727532 +12 0.69 1.08404 0.110913 +13 0.75 1.05484 0.154779 +14 0.81 1.16913 0.211484 +15 0.87 1.01987 0.268545 +16 0.93 1.13244 0.340942 +17 0.99 1.10768 0.421184 +18 1.05 0.984738 0.501427 +19 1.11 0.936011 0.586662 +20 1.17 0.941194 0.681883 +21 1.23 0.902661 0.78281 +22 1.29 0.954054 0.900143 +23 1.35 1.04326 1.04066 +24 1.41 0.934527 1.17796 +25 1.47 1.00274 1.33809 +26 1.53 1.04727 1.51926 +27 1.59 0.998368 1.70578 +28 1.65 1.03699 1.91441 +29 1.71 0.983658 2.12696 +30 1.77 1.02902 2.36519 +31 1.83 1.09812 2.63695 +32 1.89 0.932232 2.88302 +33 1.95 0.907481 3.13802 +34 2.01 0.983128 3.43153 +35 2.07 1.00356 3.74929 +36 2.13 0.983985 4.07917 +37 2.19 1.00125 4.43402 +38 2.25 1.0296 4.81919 +39 2.31 1.00575 5.21576 +40 2.37 1.02765 5.6423 +41 2.43 0.984889 6.07204 +42 2.49 1.01039 6.53495 +43 2.55 0.993094 7.01213 +44 2.61 1.01739 7.52425 +45 2.67 0.996556 8.04922 +46 2.73 1.0018 8.60093 +47 2.79 1.01064 9.18224 +48 2.85 1.01489 9.79137 +49 2.91 1.00253 10.4187 +50 2.97 0.973381 11.0531 +101750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.316701 0.00606277 +8 0.45 0.452189 0.0128388 +9 0.51 0.611657 0.0246077 +10 0.57 0.697561 0.0413695 +11 0.63 0.923505 0.0684736 +12 0.69 1.02326 0.104494 +13 0.75 1.04626 0.148003 +14 0.81 1.06619 0.199715 +15 0.87 1.07086 0.259629 +16 0.93 1.14359 0.332739 +17 0.99 1.16183 0.416904 +18 1.05 0.971608 0.496077 +19 1.11 0.959509 0.583452 +20 1.17 0.909468 0.675464 +21 1.23 0.899472 0.776034 +22 1.29 0.968553 0.89515 +23 1.35 1.03532 1.03459 +24 1.41 0.978219 1.17832 +25 1.47 1.05633 1.347 +26 1.53 1.0885 1.53531 +27 1.59 1.006 1.72325 +28 1.65 0.964313 1.91726 +29 1.71 0.982008 2.12946 +30 1.77 1.06445 2.37589 +31 1.83 0.945361 2.60984 +32 1.89 0.979519 2.8684 +33 1.95 0.992517 3.14729 +34 2.01 0.986712 3.44187 +35 2.07 1.03171 3.76854 +36 2.13 1.01271 4.10806 +37 2.19 1.07169 4.48787 +38 2.25 0.973352 4.852 +39 2.31 0.994899 5.24429 +40 2.37 0.976957 5.64979 +41 2.43 1.03556 6.10164 +42 2.49 0.998715 6.5592 +43 2.55 1.02501 7.05171 +44 2.61 1.03652 7.57347 +45 2.67 0.994525 8.09736 +46 2.73 0.970719 8.63195 +47 2.79 0.988941 9.20078 +48 2.85 0.976262 9.78673 +49 2.91 1.03331 10.4333 +50 2.97 1.01168 11.0927 +101800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.316701 0.00606277 +8 0.45 0.452189 0.0128388 +9 0.51 0.667262 0.0256776 +10 0.57 0.697561 0.0424394 +11 0.63 1.02072 0.0723966 +12 0.69 0.962469 0.106277 +13 0.75 1.05484 0.150143 +14 0.81 1.08825 0.202924 +15 0.87 1.15373 0.267475 +16 0.93 1.18264 0.343081 +17 0.99 0.955066 0.412268 +18 1.05 1.13354 0.504636 +19 1.11 0.998673 0.595578 +20 1.17 0.962344 0.692939 +21 1.23 0.91861 0.795649 +22 1.29 0.884457 0.904422 +23 1.35 0.887035 1.02389 +24 1.41 0.949091 1.16334 +25 1.47 1.02953 1.32775 +26 1.53 0.985426 1.49822 +27 1.59 1.02891 1.69044 +28 1.65 1.01749 1.89515 +29 1.71 1.07443 2.12732 +30 1.77 1.03672 2.36733 +31 1.83 0.945361 2.60128 +32 1.89 0.978168 2.85949 +33 1.95 1.01156 3.14372 +34 2.01 1.00702 3.44437 +35 2.07 0.996798 3.75999 +36 2.13 0.965901 4.08381 +37 2.19 1.01031 4.44187 +38 2.25 1.0439 4.83238 +39 2.31 1.00756 5.22967 +40 2.37 0.991564 5.64123 +41 2.43 0.958734 6.05956 +42 2.49 0.988596 6.51248 +43 2.55 0.973054 6.98003 +44 2.61 0.991888 7.47932 +45 2.67 1.03108 8.02247 +46 2.73 1.01475 8.58131 +47 2.79 1.00382 9.1587 +48 2.85 1.01548 9.76819 +49 2.91 0.994555 10.3905 +50 2.97 0.991437 11.0367 +101850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.380042 0.00677603 +8 0.45 0.523588 0.014622 +9 0.51 0.537517 0.0249643 +10 0.57 0.742086 0.042796 +11 0.63 0.947808 0.0706134 +12 0.69 0.851025 0.100571 +13 0.75 1.23493 0.151926 +14 0.81 1.03678 0.202211 +15 0.87 1.19197 0.268902 +16 0.93 1.13802 0.341655 +17 0.99 1.03383 0.416548 +18 1.05 0.980361 0.496434 +19 1.11 0.939927 0.582026 +20 1.17 0.920044 0.675107 +21 1.23 0.934558 0.779601 +22 1.29 0.983053 0.900499 +23 1.35 1.00619 1.03602 +24 1.41 1.03648 1.1883 +25 1.47 0.989335 1.34629 +26 1.53 0.919456 1.50535 +27 1.59 1.04036 1.69971 +28 1.65 1.05294 1.91155 +29 1.71 1.01832 2.1316 +30 1.77 0.981265 2.35877 +31 1.83 0.995799 2.60521 +32 1.89 0.924125 2.84914 +33 1.95 0.995056 3.12874 +34 2.01 1.00105 3.4276 +35 2.07 1.02946 3.75357 +36 2.13 0.992495 4.08631 +37 2.19 1.00427 4.44223 +38 2.25 1.00576 4.81847 +39 2.31 0.973192 5.20221 +40 2.37 1.02593 5.62803 +41 2.43 0.989793 6.05991 +42 2.49 0.994045 6.51534 +43 2.55 0.985672 6.98894 +44 2.61 1.0259 7.50535 +45 2.67 1.00536 8.03495 +46 2.73 0.956473 8.5617 +47 2.79 1.03234 9.15549 +48 2.85 1.01013 9.76177 +49 2.91 1.02362 10.4023 +50 2.97 0.962438 11.0296 +101900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.475052 0.00677603 +8 0.45 0.452189 0.0135521 +9 0.51 0.537517 0.0238944 +10 0.57 0.801453 0.0431526 +11 0.63 0.911353 0.0699001 +12 0.69 0.840894 0.0995007 +13 0.75 0.951927 0.139087 +14 0.81 1.25737 0.200071 +15 0.87 1.12823 0.263195 +16 0.93 1.31653 0.347361 +17 0.99 0.99445 0.419401 +18 1.05 0.954101 0.497147 +19 1.11 0.94776 0.583452 +20 1.17 0.958819 0.680456 +21 1.23 0.896282 0.78067 +22 1.29 1.02365 0.906562 +23 1.35 0.971766 1.03745 +24 1.41 0.99521 1.18367 +25 1.47 1.0407 1.34986 +26 1.53 0.958626 1.51569 +27 1.59 1.02128 1.70649 +28 1.65 1.03167 1.91405 +29 1.71 0.935796 2.11626 +30 1.77 1.0398 2.35699 +31 1.83 0.966977 2.59629 +32 1.89 1.04302 2.87161 +33 1.95 1.05471 3.16797 +34 2.01 1.01299 3.4704 +35 2.07 0.988913 3.78352 +36 2.13 0.981858 4.1127 +37 2.19 0.968043 4.45578 +38 2.25 1.04199 4.84558 +39 2.31 0.974097 5.22967 +40 2.37 0.986408 5.63909 +41 2.43 1.03148 6.08916 +42 2.49 1.00261 6.5485 +43 2.55 0.977508 7.01819 +44 2.61 0.997556 7.52033 +45 2.67 1.03921 8.06776 +46 2.73 1.02771 8.63374 +47 2.79 0.97344 9.19365 +48 2.85 1.04162 9.81883 +49 2.91 0.997975 10.4433 +50 2.97 1.00566 11.0988 +101950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.285031 0.00463623 +8 0.45 0.356992 0.00998573 +9 0.51 0.722867 0.0238944 +10 0.57 0.742086 0.0417261 +11 0.63 0.899202 0.068117 +12 0.69 1.07391 0.10592 +13 0.75 1.09772 0.151569 +14 0.81 1.28678 0.21398 +15 0.87 1.10911 0.276034 +16 0.93 1.05434 0.343438 +17 0.99 1.06337 0.420471 +18 1.05 1.02413 0.503923 +19 1.11 0.8616 0.582382 +20 1.17 0.927094 0.676177 +21 1.23 0.893093 0.776034 +22 1.29 0.988852 0.897646 +23 1.35 1.03796 1.03745 +24 1.41 0.963655 1.17903 +25 1.47 1.0608 1.34843 +26 1.53 0.999857 1.5214 +27 1.59 1.03273 1.71434 +28 1.65 1.06181 1.92796 +29 1.71 1.07113 2.15942 +30 1.77 0.918106 2.37197 +31 1.83 0.90501 2.59593 +32 1.89 1.0187 2.86484 +33 1.95 0.989979 3.14301 +34 2.01 1.01897 3.44722 +35 2.07 1.03171 3.77389 +36 2.13 0.989304 4.10556 +37 2.19 0.972068 4.45007 +38 2.25 1.00386 4.82561 +39 2.31 0.974097 5.2097 +40 2.37 1.01648 5.6316 +41 2.43 1.01595 6.07489 +42 2.49 1.02207 6.54315 +43 2.55 0.95153 7.00036 +44 2.61 0.975593 7.49144 +45 2.67 0.998587 8.01748 +46 2.73 1.02123 8.57989 +47 2.79 1.02614 9.17011 +48 2.85 0.991117 9.76498 +49 2.91 1.00424 10.3934 +50 2.97 1.02372 11.0606 +102000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.190021 0.00356633 +8 0.45 0.666384 0.0135521 +9 0.51 0.722867 0.0274608 +10 0.57 0.756928 0.0456491 +11 0.63 0.729083 0.0670471 +12 0.69 0.871288 0.0977175 +13 0.75 1.02911 0.140514 +14 0.81 1.08825 0.193295 +15 0.87 1.09636 0.254636 +16 0.93 1.14359 0.327746 +17 0.99 1.14214 0.410485 +18 1.05 1.03288 0.49465 +19 1.11 1.00651 0.586305 +20 1.17 0.934144 0.680813 +21 1.23 0.937747 0.785663 +22 1.29 0.913456 0.898003 +23 1.35 0.987654 1.03103 +24 1.41 0.939382 1.16904 +25 1.47 1.03623 1.33452 +26 1.53 1.05552 1.51712 +27 1.59 1.04227 1.71184 +28 1.65 1.03345 1.91976 +29 1.71 0.968804 2.1291 +30 1.77 0.982805 2.35663 +31 1.83 0.99724 2.60342 +32 1.89 0.995731 2.86626 +33 1.95 0.963326 3.13695 +34 2.01 0.96521 3.42511 +35 2.07 0.994545 3.74001 +36 2.13 1.02654 4.08417 +37 2.19 0.97408 4.42939 +38 2.25 0.979072 4.79565 +39 2.31 1.02565 5.20007 +40 2.37 1.01992 5.6234 +41 2.43 0.970994 6.04708 +42 2.49 0.98159 6.49679 +43 2.55 1.01313 6.98359 +44 2.61 0.965674 7.46969 +45 2.67 1.04936 8.02247 +46 2.73 1.0562 8.60414 +47 2.79 0.951119 9.15121 +48 2.85 1.02142 9.76427 +49 2.91 1.02077 10.403 +50 2.97 1.00019 11.0549 +102050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.253361 0.0042796 +8 0.45 0.42839 0.010699 +9 0.51 0.574587 0.0217546 +10 0.57 0.756928 0.0399429 +11 0.63 0.899202 0.0663338 +12 0.69 1.12457 0.10592 +13 0.75 0.951927 0.145506 +14 0.81 1.27943 0.207561 +15 0.87 1.14735 0.271755 +16 0.93 1.1157 0.343081 +17 0.99 0.900912 0.408345 +18 1.05 1.0285 0.492154 +19 1.11 0.943844 0.578103 +20 1.17 0.912993 0.670471 +21 1.23 1.09723 0.793153 +22 1.29 0.922156 0.906562 +23 1.35 0.9294 1.03174 +24 1.41 0.9588 1.17261 +25 1.47 0.982636 1.32953 +26 1.53 1.04315 1.50999 +27 1.59 1.09381 1.71434 +28 1.65 0.937723 1.903 +29 1.71 1.00676 2.12054 +30 1.77 1.02132 2.35699 +31 1.83 0.990035 2.602 +32 1.89 1.02275 2.87197 +33 1.95 1.04963 3.1669 +34 2.01 1.03211 3.47504 +35 2.07 0.91345 3.76427 +36 2.13 1.02441 4.1077 +37 2.19 1.03345 4.47397 +38 2.25 1.00672 4.85057 +39 2.31 1.01932 5.2525 +40 2.37 0.958913 5.6505 +41 2.43 0.949743 6.06491 +42 2.49 1.01351 6.52924 +43 2.55 1.00349 7.01141 +44 2.61 0.996848 7.5132 +45 2.67 1.0101 8.04529 +46 2.73 1.03548 8.61555 +47 2.79 1.04102 9.21434 +48 2.85 0.986958 9.8067 +49 2.91 0.986576 10.424 +50 2.97 1.00402 11.0785 +102100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.190021 0.00356633 +8 0.45 0.237994 0.00713267 +9 0.51 0.611657 0.0189016 +10 0.57 1.00924 0.0431526 +11 0.63 0.826294 0.0674037 +12 0.69 1.12457 0.10699 +13 0.75 1.02053 0.149429 +14 0.81 1.10295 0.202924 +15 0.87 1.08361 0.263552 +16 0.93 1.16033 0.337732 +17 0.99 1.0486 0.413695 +18 1.05 0.984738 0.493937 +19 1.11 0.967342 0.582026 +20 1.17 0.870693 0.670114 +21 1.23 0.972833 0.778887 +22 1.29 1.05265 0.908345 +23 1.35 0.985006 1.04101 +24 1.41 0.978219 1.18474 +25 1.47 0.962536 1.33845 +26 1.53 0.97718 1.50749 +27 1.59 1.07854 1.70899 +28 1.65 0.983812 1.90692 +29 1.71 0.983658 2.11947 +30 1.77 0.939673 2.33702 +31 1.83 0.974183 2.5781 +32 1.89 0.988976 2.83916 +33 1.95 1.01156 3.1234 +34 2.01 1.02494 3.42939 +35 2.07 0.939355 3.72682 +36 2.13 1.01803 4.06812 +37 2.19 1.02037 4.42974 +38 2.25 1.00862 4.80706 +39 2.31 1.0555 5.22325 +40 2.37 0.980394 5.63017 +41 2.43 1.02494 6.07739 +42 2.49 0.913867 6.49608 +43 2.55 0.981219 6.96755 +44 2.61 0.979844 7.46077 +45 2.67 0.994525 7.98466 +46 2.73 1.04519 8.56027 +47 2.79 0.980261 9.12411 +48 2.85 1.0339 9.74465 +49 2.91 0.996835 10.3684 +50 2.97 1.01387 11.0292 +102150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.285031 0.0053495 +8 0.45 0.594986 0.0142653 +9 0.51 0.648727 0.0267475 +10 0.57 0.786611 0.0456491 +11 0.63 0.911353 0.0723966 +12 0.69 1.04352 0.10913 +13 0.75 1.19205 0.158702 +14 0.81 1.07354 0.21077 +15 0.87 1.07086 0.270685 +16 0.93 1.0655 0.338802 +17 0.99 1.03383 0.413695 +18 1.05 0.984738 0.493937 +19 1.11 0.998673 0.584879 +20 1.17 0.955294 0.681526 +21 1.23 0.976023 0.790656 +22 1.29 0.916356 0.903352 +23 1.35 1.03002 1.04208 +24 1.41 1.01948 1.19187 +25 1.47 0.978169 1.34807 +26 1.53 0.946257 1.51177 +27 1.59 0.998368 1.69829 +28 1.65 0.985584 1.89658 +29 1.71 1.04472 2.12233 +30 1.77 1.02902 2.36056 +31 1.83 0.98427 2.60414 +32 1.89 1.02816 2.87553 +33 1.95 0.974748 3.14943 +34 2.01 0.959237 3.43581 +35 2.07 0.992292 3.75 +36 2.13 1.07866 4.11163 +37 2.19 0.934835 4.44294 +38 2.25 1.02388 4.82596 +39 2.31 0.99309 5.21755 +40 2.37 0.968364 5.61947 +41 2.43 0.982437 6.04815 +42 2.49 0.997937 6.50535 +43 2.55 1.02649 6.99857 +44 2.61 1.04715 7.52568 +45 2.67 0.951874 8.0271 +46 2.73 1.01411 8.58559 +47 2.79 1.01002 9.16655 +48 2.85 0.988741 9.75999 +49 2.91 1.03103 10.4051 +50 2.97 0.982136 11.0453 +102200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.253361 0.0042796 +8 0.45 0.452189 0.0110556 +9 0.51 0.611657 0.0228245 +10 0.57 0.593669 0.0370899 +11 0.63 0.935656 0.0645506 +12 0.69 1.01313 0.100214 +13 0.75 1.12345 0.146933 +14 0.81 1.16913 0.203638 +15 0.87 1.25571 0.273894 +16 0.93 1.13802 0.346648 +17 0.99 0.999373 0.419044 +18 1.05 0.914712 0.493581 +19 1.11 0.865517 0.572397 +20 1.17 0.958819 0.669401 +21 1.23 0.960075 0.776748 +22 1.29 1.01785 0.901926 +23 1.35 1.05915 1.04458 +24 1.41 0.985501 1.18937 +25 1.47 0.94467 1.34023 +26 1.53 0.958626 1.50606 +27 1.59 1.05182 1.70257 +28 1.65 1.07776 1.9194 +29 1.71 1.00841 2.1373 +30 1.77 1.00591 2.37019 +31 1.83 0.94392 2.60378 +32 1.89 0.99438 2.86626 +33 1.95 1.01663 3.15193 +34 2.01 1.05719 3.46755 +35 2.07 0.992292 3.78174 +36 2.13 0.987177 4.1127 +37 2.19 1.03043 4.47789 +38 2.25 0.960005 4.83702 +39 2.31 1.00575 5.23359 +40 2.37 0.970083 5.63623 +41 2.43 1.02085 6.08167 +42 2.49 0.98159 6.53138 +43 2.55 0.978992 7.00178 +44 2.61 0.987637 7.49893 +45 2.67 0.987755 8.01926 +46 2.73 0.998565 8.56919 +47 2.79 1.01064 9.1505 +48 2.85 0.998248 9.74964 +49 2.91 0.994555 10.372 +50 2.97 0.988702 11.0164 +102250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.353592 0.00356633 +7 0.39 0.411712 0.00820257 +8 0.45 0.523588 0.0160485 +9 0.51 0.630192 0.028174 +10 0.57 0.608511 0.042796 +11 0.63 0.850597 0.0677603 +12 0.69 1.12457 0.107347 +13 0.75 0.909048 0.14515 +14 0.81 1.2059 0.203638 +15 0.87 1.12186 0.266405 +16 0.93 1.07107 0.334879 +17 0.99 1.06337 0.411912 +18 1.05 0.892829 0.484665 +19 1.11 0.896847 0.566334 +20 1.17 0.923569 0.659772 +21 1.23 0.953695 0.766405 +22 1.29 0.980153 0.886947 +23 1.35 1.03532 1.02639 +24 1.41 0.978219 1.17011 +25 1.47 0.989335 1.3281 +26 1.53 0.995734 1.50036 +27 1.59 1.02318 1.69151 +28 1.65 1.01749 1.89622 +29 1.71 0.98861 2.10984 +30 1.77 0.96432 2.3331 +31 1.83 1.05488 2.59415 +32 1.89 1.01194 2.86127 +33 1.95 1.03694 3.15264 +34 2.01 1.05958 3.46897 +35 2.07 0.976524 3.77817 +36 2.13 0.947817 4.09593 +37 2.19 1.01936 4.4572 +38 2.25 0.988605 4.82703 +39 2.31 1.02656 5.23181 +40 2.37 0.998438 5.64622 +41 2.43 1.00124 6.0831 +42 2.49 0.935663 6.51177 +43 2.55 0.990125 6.98752 +44 2.61 0.981969 7.48181 +45 2.67 0.992494 8.00464 +46 2.73 1.00763 8.55956 +47 2.79 1.03978 9.15763 +48 2.85 0.988146 9.75071 +49 2.91 1.01792 10.3877 +50 2.97 1.0177 11.051 +102300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.348371 0.0053495 +8 0.45 0.475989 0.0124822 +9 0.51 0.500446 0.0221113 +10 0.57 0.890503 0.0435093 +11 0.63 0.959959 0.0716833 +12 0.69 1.03339 0.10806 +13 0.75 1.08914 0.153352 +14 0.81 0.977953 0.200785 +15 0.87 1.07086 0.260699 +16 0.93 1.15475 0.334522 +17 0.99 1.15691 0.418331 +18 1.05 0.997868 0.499643 +19 1.11 0.955593 0.586662 +20 1.17 0.97997 0.685806 +21 1.23 0.928178 0.789586 +22 1.29 0.991752 0.911555 +23 1.35 0.926753 1.03638 +24 1.41 0.907826 1.16976 +25 1.47 1.01167 1.33131 +26 1.53 1.01223 1.50642 +27 1.59 1.05945 1.70435 +28 1.65 0.999766 1.90549 +29 1.71 1.04472 2.13124 +30 1.77 1.02132 2.36769 +31 1.83 1.05777 2.62946 +32 1.89 0.98087 2.88837 +33 1.95 1.02805 3.17725 +34 2.01 0.979545 3.46969 +35 2.07 1.00581 3.78816 +36 2.13 0.957391 4.10913 +37 2.19 1.00024 4.46362 +38 2.25 0.996232 4.83631 +39 2.31 1.00666 5.23324 +40 2.37 0.97352 5.6373 +41 2.43 1.01513 6.08024 +42 2.49 0.973027 6.52603 +43 2.55 0.970828 6.99251 +44 2.61 1.02519 7.50856 +45 2.67 1.02567 8.04886 +46 2.73 1.01605 8.60842 +47 2.79 0.993281 9.17974 +48 2.85 1.03449 9.80064 +49 2.91 0.997405 10.4248 +50 2.97 0.976664 11.0613 +102350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.411712 0.00713267 +8 0.45 0.452189 0.0139087 +9 0.51 0.630192 0.0260342 +10 0.57 0.771769 0.0445792 +11 0.63 0.899202 0.07097 +12 0.69 1.11444 0.1102 +13 0.75 1.04626 0.153709 +14 0.81 1.07354 0.205777 +15 0.87 1.08998 0.266762 +16 0.93 1.16591 0.341298 +17 0.99 1.14706 0.424394 +18 1.05 1.00662 0.506419 +19 1.11 0.99084 0.596648 +20 1.17 0.891843 0.686876 +21 1.23 0.928178 0.790656 +22 1.29 1.02075 0.916191 +23 1.35 0.950583 1.04422 +24 1.41 0.9588 1.18509 +25 1.47 0.987102 1.34272 +26 1.53 1.02666 1.52033 +27 1.59 0.985006 1.70435 +28 1.65 1.04054 1.91369 +29 1.71 1.04968 2.14051 +30 1.77 1.00899 2.37411 +31 1.83 0.98427 2.61769 +32 1.89 1.02816 2.88909 +33 1.95 1.00521 3.17154 +34 2.01 1.02374 3.47718 +35 2.07 0.906692 3.76427 +36 2.13 0.961646 4.08666 +37 2.19 1.0254 4.45007 +38 2.25 1.06773 4.8495 +39 2.31 1.01027 5.24786 +40 2.37 1.01219 5.66797 +41 2.43 0.987341 6.09879 +42 2.49 0.992488 6.5535 +43 2.55 1.00052 7.03424 +44 2.61 0.952921 7.51391 +45 2.67 1.04395 8.06384 +46 2.73 0.966834 8.59629 +47 2.79 1.02738 9.18723 +48 2.85 1.00657 9.79137 +49 2.91 1.00652 10.4212 +50 2.97 1.00129 11.0738 +102400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.220995 0.00178317 +7 0.39 0.285031 0.00499287 +8 0.45 0.475989 0.0121255 +9 0.51 0.797007 0.0274608 +10 0.57 0.563985 0.0410128 +11 0.63 1.03287 0.0713267 +12 0.69 1.07391 0.10913 +13 0.75 1.02911 0.151926 +14 0.81 1.05148 0.202924 +15 0.87 1.19835 0.269971 +16 0.93 1.13802 0.342725 +17 0.99 1.10768 0.422967 +18 1.05 0.879699 0.49465 +19 1.11 0.998673 0.585592 +20 1.17 0.976445 0.684379 +21 1.23 0.889903 0.78388 +22 1.29 0.890257 0.893367 +23 1.35 1.02208 1.03103 +24 1.41 0.987928 1.17618 +25 1.47 1.08983 1.35021 +26 1.53 1.00398 1.52389 +27 1.59 0.988823 1.70863 +28 1.65 0.999766 1.90977 +29 1.71 1.04803 2.13623 +30 1.77 0.982805 2.36377 +31 1.83 0.968418 2.60342 +32 1.89 1.05383 2.8816 +33 1.95 0.945557 3.14729 +34 2.01 0.985518 3.44151 +35 2.07 1.02496 3.76605 +36 2.13 1.0276 4.11056 +37 2.19 0.986156 4.46006 +38 2.25 1.0029 4.83524 +39 2.31 1.00213 5.23039 +40 2.37 1.01219 5.6505 +41 2.43 0.974264 6.07561 +42 2.49 1.02285 6.54422 +43 2.55 1.01017 7.0296 +44 2.61 0.950087 7.50785 +45 2.67 1.01145 8.04066 +46 2.73 1.02253 8.60378 +47 2.79 1.01002 9.18474 +48 2.85 1.02261 9.7985 +49 2.91 0.980876 10.4123 +50 2.97 1.01661 11.0749 +102450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.132597 0.0010699 +7 0.39 0.443382 0.00606277 +8 0.45 0.333192 0.0110556 +9 0.51 0.574587 0.0221113 +10 0.57 0.786611 0.0410128 +11 0.63 1.16653 0.0752496 +12 0.69 1.07391 0.113053 +13 0.75 1.09772 0.158702 +14 0.81 0.992659 0.206847 +15 0.87 1.17922 0.272825 +16 0.93 1.16033 0.347004 +17 0.99 0.920605 0.413695 +18 1.05 1.03726 0.498217 +19 1.11 0.924262 0.582382 +20 1.17 0.97292 0.680813 +21 1.23 0.928178 0.784593 +22 1.29 1.03525 0.911912 +23 1.35 1.04326 1.05243 +24 1.41 0.970937 1.19508 +25 1.47 0.987102 1.35271 +26 1.53 1.02666 1.53031 +27 1.59 1.01555 1.72004 +28 1.65 1.04408 1.9301 +29 1.71 1.01997 2.1505 +30 1.77 1.01053 2.38445 +31 1.83 1.00589 2.63338 +32 1.89 0.999785 2.89729 +33 1.95 0.964595 3.16833 +34 2.01 1.01658 3.47183 +35 2.07 0.955124 3.77425 +36 2.13 0.997814 4.10877 +37 2.19 1.00125 4.46362 +38 2.25 1.00672 4.84023 +39 2.31 1.02475 5.24429 +40 2.37 1.00187 5.66013 +41 2.43 0.977533 6.08666 +42 2.49 1.05476 6.5699 +43 2.55 1.0161 7.05813 +44 2.61 1.01669 7.5699 +45 2.67 1.004 8.09879 +46 2.73 0.996622 8.64765 +47 2.79 1.00258 9.22432 +48 2.85 0.978639 9.8117 +49 2.91 0.970047 10.4187 +50 2.97 0.993626 11.0663 +102500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.265194 0.0032097 +7 0.39 0.253361 0.00606277 +8 0.45 0.452189 0.0128388 +9 0.51 0.759937 0.0274608 +10 0.57 0.712403 0.0445792 +11 0.63 0.826294 0.0688302 +12 0.69 0.932075 0.101641 +13 0.75 1.08914 0.146933 +14 0.81 1.13972 0.202211 +15 0.87 1.14098 0.266049 +16 0.93 1.14917 0.339515 +17 0.99 1.16676 0.424037 +18 1.05 1.03726 0.508559 +19 1.11 0.959509 0.595934 +20 1.17 0.990545 0.696148 +21 1.23 0.953695 0.802782 +22 1.29 0.954054 0.920114 +23 1.35 1.00619 1.05563 +24 1.41 0.912681 1.18973 +25 1.47 0.922338 1.33702 +26 1.53 0.989549 1.5082 +27 1.59 1.02509 1.69971 +28 1.65 1.04231 1.90942 +29 1.71 1.03977 2.13409 +30 1.77 1.05367 2.37803 +31 1.83 0.962654 2.61626 +32 1.89 0.983572 2.87589 +33 1.95 0.997594 3.15621 +34 2.01 0.966405 3.44472 +35 2.07 0.988913 3.75785 +36 2.13 0.968029 4.08238 +37 2.19 1.03949 4.45078 +38 2.25 0.995278 4.82311 +39 2.31 1.01389 5.2229 +40 2.37 1.00445 5.6398 +41 2.43 0.99061 6.07204 +42 2.49 1.04153 6.54922 +43 2.55 1.01165 7.03531 +44 2.61 1.00181 7.53959 +45 2.67 1.00603 8.06954 +46 2.73 0.986909 8.61305 +47 2.79 1.00072 9.18866 +48 2.85 0.96735 9.76926 +49 2.91 0.988856 10.388 +50 2.97 0.993079 11.0353 +102550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.265194 0.0021398 +7 0.39 0.221691 0.00463623 +8 0.45 0.499788 0.0121255 +9 0.51 0.759937 0.0267475 +10 0.57 0.94987 0.049572 +11 0.63 0.923505 0.0766762 +12 0.69 0.901681 0.108417 +13 0.75 1.07199 0.152996 +14 0.81 1.05884 0.204351 +15 0.87 1.12186 0.267118 +16 0.93 1.18264 0.342725 +17 0.99 1.07322 0.420471 +18 1.05 0.984738 0.500713 +19 1.11 1.00651 0.592368 +20 1.17 0.905943 0.684023 +21 1.23 0.976023 0.793153 +22 1.29 1.01205 0.917618 +23 1.35 0.953231 1.04601 +24 1.41 1.00492 1.19365 +25 1.47 1.0876 1.36733 +26 1.53 0.933887 1.52889 +27 1.59 0.990732 1.71398 +28 1.65 0.904043 1.89586 +29 1.71 1.00511 2.11305 +30 1.77 1.01053 2.347 +31 1.83 1.05921 2.60913 +32 1.89 1.02275 2.8791 +33 1.95 1.01536 3.16441 +34 2.01 1.03449 3.47325 +35 2.07 0.960755 3.77746 +36 2.13 0.987177 4.10842 +37 2.19 1.00024 4.46291 +38 2.25 0.980978 4.82989 +39 2.31 1.00033 5.22432 +40 2.37 1.02593 5.65014 +41 2.43 0.988158 6.08131 +42 2.49 1.02985 6.55314 +43 2.55 1.03837 7.05207 +44 2.61 0.977718 7.54422 +45 2.67 1.04259 8.09344 +46 2.73 0.986261 8.63659 +47 2.79 0.979021 9.19971 +48 2.85 0.991712 9.79494 +49 2.91 0.996265 10.4183 +50 2.97 1.01934 11.0827 +102600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.132597 0.0021398 +7 0.39 0.285031 0.0053495 +8 0.45 0.594986 0.0142653 +9 0.51 0.518981 0.0242511 +10 0.57 0.697561 0.0410128 +11 0.63 0.959959 0.0691869 +12 0.69 1.01313 0.10485 +13 0.75 0.951927 0.144437 +14 0.81 1.19119 0.202211 +15 0.87 1.21109 0.269971 +16 0.93 1.24959 0.349857 +17 0.99 0.984604 0.421184 +18 1.05 1.00224 0.502853 +19 1.11 0.959509 0.590228 +20 1.17 0.937669 0.685093 +21 1.23 0.886713 0.784237 +22 1.29 0.968553 0.903352 +23 1.35 0.969118 1.03388 +24 1.41 1.0122 1.1826 +25 1.47 1.0608 1.352 +26 1.53 0.983365 1.52211 +27 1.59 1.02128 1.71291 +28 1.65 1.02458 1.91904 +29 1.71 1.07443 2.15121 +30 1.77 0.968941 2.37553 +31 1.83 0.995799 2.62197 +32 1.89 0.945742 2.87161 +33 1.95 0.984902 3.14836 +34 2.01 1.00344 3.44793 +35 2.07 1.02045 3.77104 +36 2.13 1.02547 4.11484 +37 2.19 1.00125 4.46969 +38 2.25 1.02674 4.85378 +39 2.31 0.995804 5.24643 +40 2.37 1.00875 5.66512 +41 2.43 0.994697 6.09914 +42 2.49 0.984704 6.55029 +43 2.55 0.96489 7.01391 +44 2.61 0.947962 7.49108 +45 2.67 1.05478 8.04672 +46 2.73 1.00116 8.59807 +47 2.79 1.04846 9.20114 +48 2.85 0.962002 9.77853 +49 2.91 1.0202 10.4169 +50 2.97 0.974476 11.0521 +102650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.265194 0.0021398 +7 0.39 0.380042 0.0064194 +8 0.45 0.475989 0.0135521 +9 0.51 0.537517 0.0238944 +10 0.57 0.771769 0.0424394 +11 0.63 0.984262 0.0713267 +12 0.69 0.962469 0.105207 +13 0.75 1.08057 0.150143 +14 0.81 1.0956 0.203281 +15 0.87 1.23022 0.272111 +16 0.93 1.13802 0.344864 +17 0.99 1.15199 0.428317 +18 1.05 0.975984 0.507846 +19 1.11 0.892931 0.589158 +20 1.17 0.955294 0.685806 +21 1.23 1.03025 0.800999 +22 1.29 0.980153 0.921541 +23 1.35 0.947936 1.04922 +24 1.41 0.99521 1.19544 +25 1.47 1.08313 1.3684 +26 1.53 1.00192 1.54173 +27 1.59 0.996459 1.72789 +28 1.65 0.98913 1.92689 +29 1.71 1.02657 2.14872 +30 1.77 0.947375 2.36805 +31 1.83 1.00877 2.61769 +32 1.89 0.932232 2.86377 +33 1.95 0.973479 3.1373 +34 2.01 1.05122 3.45114 +35 2.07 1.02383 3.77532 +36 2.13 1.05207 4.12803 +37 2.19 0.955967 4.46683 +38 2.25 0.956192 4.82454 +39 2.31 1.06906 5.24608 +40 2.37 1.03882 5.67725 +41 2.43 0.970994 6.10093 +42 2.49 1.00728 6.56241 +43 2.55 1.08365 7.0831 +44 2.61 0.930958 7.55171 +45 2.67 0.993171 8.07489 +46 2.73 0.997918 8.62447 +47 2.79 0.97778 9.18688 +48 2.85 1.05113 9.81776 +49 2.91 0.999685 10.4433 +50 2.97 1.00566 11.0988 +102700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.253361 0.00499287 +8 0.45 0.666384 0.0149786 +9 0.51 0.574587 0.0260342 +10 0.57 0.638194 0.0413695 +11 0.63 0.78984 0.0645506 +12 0.69 0.921944 0.0970043 +13 0.75 1.2092 0.14729 +14 0.81 1.16913 0.203994 +15 0.87 1.21747 0.272111 +16 0.93 1.02087 0.337375 +17 0.99 1.02399 0.411555 +18 1.05 0.962855 0.490014 +19 1.11 0.99084 0.580243 +20 1.17 0.860117 0.667261 +21 1.23 0.963264 0.774964 +22 1.29 1.00625 0.898716 +23 1.35 1.01678 1.03566 +24 1.41 1.00977 1.18402 +25 1.47 0.971469 1.33916 +26 1.53 1.02872 1.51712 +27 1.59 1.05564 1.71434 +28 1.65 0.98913 1.91334 +29 1.71 0.955601 2.11983 +30 1.77 0.975103 2.34558 +31 1.83 1.00733 2.59486 +32 1.89 1.03626 2.8684 +33 1.95 0.993786 3.14765 +34 2.01 0.909065 3.41904 +35 2.07 1.07226 3.75856 +36 2.13 1.03717 4.10628 +37 2.19 1.02238 4.46862 +38 2.25 0.955238 4.82596 +39 2.31 1.01751 5.22718 +40 2.37 0.989845 5.63802 +41 2.43 1.02412 6.08488 +42 2.49 0.986261 6.53673 +43 2.55 0.988641 7.01177 +44 2.61 1.02731 7.52889 +45 2.67 1.03582 8.07454 +46 2.73 0.948054 8.59665 +47 2.79 0.979021 9.15977 +48 2.85 1.00716 9.76427 +49 2.91 1.00481 10.393 +50 2.97 0.99089 11.0389 +102750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.253361 0.0053495 +8 0.45 0.523588 0.0131954 +9 0.51 0.481911 0.0224679 +10 0.57 0.86082 0.0431526 +11 0.63 1.06932 0.0745364 +12 0.69 0.992863 0.109486 +13 0.75 1.11487 0.155849 +14 0.81 1.08825 0.208631 +15 0.87 1.07086 0.268545 +16 0.93 1.11012 0.339515 +17 0.99 1.10768 0.419757 +18 1.05 0.997868 0.50107 +19 1.11 0.959509 0.588445 +20 1.17 0.958819 0.685449 +21 1.23 1.0143 0.798859 +22 1.29 0.948254 0.915478 +23 1.35 0.963823 1.04529 +24 1.41 0.973364 1.1883 +25 1.47 0.877672 1.32846 +26 1.53 1.06583 1.51284 +27 1.59 1.03464 1.70613 +28 1.65 1.08131 1.92368 +29 1.71 0.982008 2.13588 +30 1.77 0.987426 2.36448 +31 1.83 0.979947 2.60699 +32 1.89 1.00924 2.8734 +33 1.95 1.03948 3.16548 +34 2.01 1.01897 3.46969 +35 2.07 0.957376 3.77282 +36 2.13 0.990368 4.10485 +37 2.19 0.931816 4.43509 +38 2.25 0.998138 4.80849 +39 2.31 1.00937 5.20649 +40 2.37 1.01304 5.62696 +41 2.43 1.00532 6.06562 +42 2.49 0.99638 6.52211 +43 2.55 1.00868 7.00678 +44 2.61 0.995431 7.50785 +45 2.67 1.02296 8.04672 +46 2.73 0.965539 8.57846 +47 2.79 0.989561 9.14765 +48 2.85 0.992306 9.74322 +49 2.91 1.00082 10.3695 +50 2.97 1.0281 11.0396 +102800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.158351 0.0032097 +8 0.45 0.547387 0.0114123 +9 0.51 0.630192 0.0235378 +10 0.57 0.727244 0.0410128 +11 0.63 0.887051 0.0670471 +12 0.69 1.14483 0.107347 +13 0.75 1.14917 0.155136 +14 0.81 1.05148 0.206134 +15 0.87 1.09636 0.267475 +16 0.93 1.12686 0.339515 +17 0.99 1.15199 0.422967 +18 1.05 1.07665 0.510699 +19 1.11 0.885098 0.591298 +20 1.17 0.948244 0.687233 +21 1.23 1.00154 0.799215 +22 1.29 0.956954 0.916904 +23 1.35 0.958527 1.04601 +24 1.41 1.00735 1.19401 +25 1.47 0.987102 1.35164 +26 1.53 0.964811 1.51854 +27 1.59 1.09572 1.72325 +28 1.65 1.03522 1.93153 +29 1.71 1.02492 2.153 +30 1.77 0.975103 2.37874 +31 1.83 1.02174 2.6316 +32 1.89 0.983572 2.89123 +33 1.95 0.932865 3.15335 +34 2.01 0.973572 3.44401 +35 2.07 1.01144 3.76427 +36 2.13 1.00526 4.10128 +37 2.19 0.951942 4.43866 +38 2.25 1.06773 4.83809 +39 2.31 1.00485 5.23431 +40 2.37 1.01734 5.65656 +41 2.43 1.00369 6.09451 +42 2.49 0.980812 6.54387 +43 2.55 1.01685 7.03245 +44 2.61 0.998265 7.53495 +45 2.67 1.02296 8.07382 +46 2.73 0.984966 8.61626 +47 2.79 1.00506 9.19437 +48 2.85 0.980422 9.78281 +49 2.91 1.02533 10.4244 +50 2.97 0.994173 11.0724 +102850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.285031 0.00499287 +8 0.45 0.356992 0.0103424 +9 0.51 0.759937 0.0249643 +10 0.57 0.756928 0.0431526 +11 0.63 0.862748 0.0684736 +12 0.69 1.01313 0.104137 +13 0.75 1.05484 0.148003 +14 0.81 1.13237 0.202924 +15 0.87 1.07086 0.262839 +16 0.93 1.15475 0.336662 +17 0.99 1.0683 0.414051 +18 1.05 0.997868 0.495364 +19 1.11 0.928178 0.579886 +20 1.17 0.920044 0.672967 +21 1.23 0.963264 0.78067 +22 1.29 0.968553 0.899786 +23 1.35 1.02737 1.03816 +24 1.41 1.0122 1.18688 +25 1.47 1.0273 1.35093 +26 1.53 1.01635 1.52675 +27 1.59 0.964007 1.70685 +28 1.65 0.966085 1.90121 +29 1.71 1.00346 2.11805 +30 1.77 1.01207 2.35235 +31 1.83 0.942479 2.58559 +32 1.89 1.04302 2.86091 +33 1.95 0.991248 3.13944 +34 2.01 1.01299 3.44187 +35 2.07 1.02721 3.76712 +36 2.13 0.980794 4.09593 +37 2.19 0.990181 4.44686 +38 2.25 1.02292 4.82953 +39 2.31 1.01208 5.2286 +40 2.37 1.02593 5.65442 +41 2.43 0.946474 6.0674 +42 2.49 0.973027 6.5132 +43 2.55 0.988641 6.98823 +44 2.61 0.98622 7.48466 +45 2.67 1.01077 8.01712 +46 2.73 1.02123 8.57953 +47 2.79 1.02056 9.16655 +48 2.85 1.00538 9.76997 +49 2.91 0.994555 10.3923 +50 2.97 1.03193 11.0649 +102900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.316701 0.00606277 +8 0.45 0.42839 0.0124822 +9 0.51 0.556052 0.0231812 +10 0.57 0.771769 0.0417261 +11 0.63 0.862748 0.0670471 +12 0.69 0.9726 0.101284 +13 0.75 0.934775 0.140157 +14 0.81 1.19119 0.197932 +15 0.87 1.10273 0.259629 +16 0.93 1.21612 0.337375 +17 0.99 1.11753 0.418331 +18 1.05 0.962855 0.49679 +19 1.11 1.0535 0.592725 +20 1.17 0.955294 0.689372 +21 1.23 0.969643 0.797789 +22 1.29 0.910556 0.909772 +23 1.35 1.01148 1.04601 +24 1.41 0.868989 1.17368 +25 1.47 0.991569 1.33203 +26 1.53 1.03078 1.51034 +27 1.59 0.971643 1.69187 +28 1.65 0.999766 1.89301 +29 1.71 1.05958 2.12197 +30 1.77 1.05829 2.36698 +31 1.83 1.08082 2.63445 +32 1.89 0.960604 2.88802 +33 1.95 1.00394 3.17011 +34 2.01 1.04166 3.4811 +35 2.07 0.979903 3.79137 +36 2.13 0.949945 4.10984 +37 2.19 0.970055 4.45364 +38 2.25 1.0172 4.83417 +39 2.31 1.0157 5.23466 +40 2.37 1.01047 5.65407 +41 2.43 0.988158 6.08524 +42 2.49 0.999494 6.54315 +43 2.55 0.990125 7.0189 +44 2.61 1.02731 7.53602 +45 2.67 1.0013 8.06348 +46 2.73 0.95453 8.58916 +47 2.79 1.01808 9.17475 +48 2.85 1.00003 9.77496 +49 2.91 1.01735 10.4116 +50 2.97 0.976117 11.0478 +102950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.221691 0.00392297 +8 0.45 0.547387 0.0121255 +9 0.51 0.500446 0.0217546 +10 0.57 0.816295 0.0413695 +11 0.63 0.996413 0.0706134 +12 0.69 0.982731 0.105207 +13 0.75 1.1749 0.154066 +14 0.81 1.03678 0.204351 +15 0.87 1.24296 0.273894 +16 0.93 1.19938 0.350571 +17 0.99 1.03383 0.425464 +18 1.05 0.975984 0.504993 +19 1.11 0.892931 0.586305 +20 1.17 0.98702 0.686163 +21 1.23 0.931368 0.7903 +22 1.29 0.939555 0.905849 +23 1.35 1.01148 1.04208 +24 1.41 1.01463 1.19116 +25 1.47 1.02283 1.35449 +26 1.53 1.03903 1.53424 +27 1.59 0.9411 1.71006 +28 1.65 1.02281 1.91583 +29 1.71 0.983658 2.12839 +30 1.77 1.00591 2.36127 +31 1.83 0.991476 2.60663 +32 1.89 0.964657 2.86127 +33 1.95 1.05598 3.15799 +34 2.01 1.02613 3.46434 +35 2.07 0.991166 3.77817 +36 2.13 0.951008 4.097 +37 2.19 0.987162 4.44686 +38 2.25 0.990512 4.8174 +39 2.31 1.01208 5.21648 +40 2.37 0.998438 5.63088 +41 2.43 0.97835 6.05777 +42 2.49 1.02752 6.52853 +43 2.55 1.04802 7.0321 +44 2.61 0.990471 7.53067 +45 2.67 0.962029 8.03745 +46 2.73 1.029 8.60414 +47 2.79 0.998861 9.17867 +48 2.85 0.972697 9.76248 +49 2.91 0.998545 10.3873 +50 2.97 1.01496 11.0489 +103000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.044199 0.000713267 +7 0.39 0.190021 0.00285307 +8 0.45 0.618786 0.0121255 +9 0.51 0.685797 0.025321 +10 0.57 0.742086 0.0431526 +11 0.63 0.959959 0.0713267 +12 0.69 0.952338 0.10485 +13 0.75 1.27781 0.157989 +14 0.81 1.14707 0.213623 +15 0.87 1.1856 0.279957 +16 0.93 1.23285 0.358773 +17 0.99 0.974758 0.429387 +18 1.05 0.954101 0.507133 +19 1.11 0.971258 0.595578 +20 1.17 0.898893 0.686519 +21 1.23 1.0143 0.799929 +22 1.29 0.994652 0.922254 +23 1.35 0.974414 1.0535 +24 1.41 0.936954 1.19116 +25 1.47 0.962536 1.34486 +26 1.53 1.01017 1.51961 +27 1.59 1.00791 1.70792 +28 1.65 1.07776 1.92475 +29 1.71 1.01502 2.14408 +30 1.77 0.99975 2.37553 +31 1.83 0.99724 2.62233 +32 1.89 0.99438 2.88481 +33 1.95 0.973479 3.15835 +34 2.01 0.998658 3.45649 +35 2.07 1.00468 3.77461 +36 2.13 1.00739 4.11234 +37 2.19 0.997225 4.46576 +38 2.25 0.981932 4.8331 +39 2.31 1.00304 5.2286 +40 2.37 0.970942 5.6316 +41 2.43 1.01513 6.07454 +42 2.49 0.984704 6.52568 +43 2.55 1.01907 7.01534 +44 2.61 1.01173 7.52461 +45 2.67 0.947812 8.02389 +46 2.73 0.962948 8.55421 +47 2.79 0.996381 9.12732 +48 2.85 0.983393 9.71755 +49 2.91 1.02476 10.3588 +50 2.97 0.98323 10.9996 +103050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.316701 0.00463623 +8 0.45 0.499788 0.0121255 +9 0.51 0.648727 0.0246077 +10 0.57 0.712403 0.0417261 +11 0.63 0.959959 0.0699001 +12 0.69 1.05365 0.10699 +13 0.75 0.969079 0.14729 +14 0.81 1.18384 0.204708 +15 0.87 1.07724 0.264979 +16 0.93 1.02087 0.330243 +17 0.99 1.12737 0.411912 +18 1.05 1.09853 0.501427 +19 1.11 0.928178 0.585949 +20 1.17 0.98702 0.685806 +21 1.23 0.91223 0.787803 +22 1.29 0.951154 0.904779 +23 1.35 0.992949 1.03852 +24 1.41 0.992783 1.18438 +25 1.47 1.02953 1.34879 +26 1.53 1.06789 1.53352 +27 1.59 1.05945 1.73146 +28 1.65 0.997993 1.93224 +29 1.71 0.958902 2.13944 +30 1.77 0.955077 2.36056 +31 1.83 1.003 2.60877 +32 1.89 0.94304 2.8577 +33 1.95 1.04329 3.15086 +34 2.01 0.983128 3.44437 +35 2.07 1.03509 3.77211 +36 2.13 1.00526 4.10913 +37 2.19 1.00528 4.46541 +38 2.25 1.04866 4.8577 +39 2.31 0.948772 5.23181 +40 2.37 0.960631 5.63053 +41 2.43 0.997149 6.06562 +42 2.49 1.00416 6.52568 +43 2.55 0.996805 7.00464 +44 2.61 0.981969 7.49893 +45 2.67 1.03582 8.04458 +46 2.73 0.97849 8.58345 +47 2.79 1.01436 9.1669 +48 2.85 1.01251 9.77461 +49 2.91 1.01279 10.4083 +50 2.97 0.99089 11.0542 +103100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.316701 0.00499287 +8 0.45 0.42839 0.0114123 +9 0.51 0.537517 0.0217546 +10 0.57 0.756928 0.0399429 +11 0.63 0.959959 0.068117 +12 0.69 0.881419 0.0991441 +13 0.75 1.1406 0.146576 +14 0.81 1.30884 0.210057 +15 0.87 1.04537 0.268545 +16 0.93 1.21612 0.346291 +17 0.99 0.974758 0.416904 +18 1.05 1.05476 0.502853 +19 1.11 0.8616 0.581312 +20 1.17 0.877743 0.670114 +21 1.23 1.05895 0.788516 +22 1.29 0.927955 0.902639 +23 1.35 1.02208 1.0403 +24 1.41 0.987928 1.18545 +25 1.47 0.978169 1.34165 +26 1.53 0.954503 1.50678 +27 1.59 1.00409 1.69437 +28 1.65 1.04408 1.90442 +29 1.71 0.998512 2.12019 +30 1.77 1.05521 2.36448 +31 1.83 0.972742 2.60521 +32 1.89 0.997082 2.8684 +33 1.95 0.974748 3.1423 +34 2.01 0.962821 3.42974 +35 2.07 1.00356 3.7475 +36 2.13 1.00632 4.08488 +37 2.19 1.00528 4.44116 +38 2.25 1.01911 4.8224 +39 2.31 0.981332 5.20934 +40 2.37 0.96235 5.60877 +41 2.43 0.957917 6.02675 +42 2.49 1.01973 6.49394 +43 2.55 1.03243 6.99001 +44 2.61 1.05353 7.52033 +45 2.67 0.993848 8.04387 +46 2.73 1.01022 8.60021 +47 2.79 1.01994 9.18688 +48 2.85 0.951306 9.75785 +49 2.91 0.997405 10.382 +50 2.97 1.00621 11.0378 +103150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.443382 0.0064194 +8 0.45 0.309393 0.0110556 +9 0.51 0.352166 0.0178317 +10 0.57 0.86082 0.0385164 +11 0.63 0.826294 0.0627675 +12 0.69 1.11444 0.101997 +13 0.75 1.1406 0.149429 +14 0.81 1.11766 0.203638 +15 0.87 1.08998 0.264622 +16 0.93 1.08223 0.333809 +17 0.99 1.1766 0.419044 +18 1.05 0.914712 0.493581 +19 1.11 0.998673 0.584522 +20 1.17 0.835442 0.669044 +21 1.23 1.00154 0.781027 +22 1.29 0.951154 0.898003 +23 1.35 0.958527 1.0271 +24 1.41 0.963655 1.16869 +25 1.47 1.0876 1.34237 +26 1.53 1.0246 1.51961 +27 1.59 1.04609 1.71505 +28 1.65 0.997993 1.91583 +29 1.71 0.962203 2.12375 +30 1.77 0.976643 2.34986 +31 1.83 1.03039 2.60485 +32 1.89 0.9552 2.85699 +33 1.95 0.98744 3.13445 +34 2.01 0.983128 3.42796 +35 2.07 1.04748 3.75963 +36 2.13 0.977603 4.08738 +37 2.19 0.978105 4.43402 +38 2.25 0.987652 4.8035 +39 2.31 1.02746 5.20863 +40 2.37 0.959772 5.60699 +41 2.43 0.997966 6.04244 +42 2.49 1.03686 6.51748 +43 2.55 0.99829 6.99715 +44 2.61 1.02235 7.51177 +45 2.67 1.02228 8.05029 +46 2.73 0.988204 8.59451 +47 2.79 0.982741 9.15977 +48 2.85 1.01786 9.77068 +49 2.91 1.02248 10.4105 +50 2.97 0.988702 11.0549 +103200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.285031 0.0053495 +8 0.45 0.42839 0.0117689 +9 0.51 0.722867 0.0256776 +10 0.57 0.727244 0.0431526 +11 0.63 0.935656 0.0706134 +12 0.69 0.9726 0.10485 +13 0.75 1.16633 0.153352 +14 0.81 1.04413 0.203994 +15 0.87 1.14735 0.268188 +16 0.93 1.24959 0.348074 +17 0.99 0.984604 0.419401 +18 1.05 0.932218 0.495364 +19 1.11 1.0535 0.591298 +20 1.17 0.96587 0.689016 +21 1.23 0.867576 0.78602 +22 1.29 0.971453 0.905492 +23 1.35 0.921457 1.0296 +24 1.41 0.992783 1.17546 +25 1.47 1.05187 1.34344 +26 1.53 1.04727 1.52461 +27 1.59 0.962099 1.70435 +28 1.65 1.06713 1.91904 +29 1.71 1.04472 2.14479 +30 1.77 1.01053 2.37874 +31 1.83 0.955448 2.61519 +32 1.89 1.04977 2.8923 +33 1.95 0.982364 3.16833 +34 2.01 1.00463 3.46826 +35 2.07 0.995671 3.78352 +36 2.13 1.01909 4.12518 +37 2.19 1.02339 4.48787 +38 2.25 0.960958 4.84736 +39 2.31 0.985855 5.23609 +40 2.37 0.958054 5.63374 +41 2.43 1.04292 6.0888 +42 2.49 0.987039 6.54101 +43 2.55 0.997548 7.02033 +44 2.61 1.00322 7.52532 +45 2.67 1.00062 8.05243 +46 2.73 0.990794 8.59807 +47 2.79 0.983981 9.16405 +48 2.85 1.03568 9.78566 +49 2.91 0.963208 10.3884 +50 2.97 1.01989 11.0531 +103250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.253361 0.00570613 +8 0.45 0.642585 0.0153352 +9 0.51 0.556052 0.0260342 +10 0.57 0.593669 0.0402996 +11 0.63 1.09362 0.0723966 +12 0.69 1.03339 0.108773 +13 0.75 0.977655 0.149429 +14 0.81 1.06619 0.201141 +15 0.87 1.1856 0.267475 +16 0.93 1.1157 0.338802 +17 0.99 1.07814 0.416904 +18 1.05 1.08102 0.504993 +19 1.11 0.971258 0.593438 +20 1.17 0.941194 0.688659 +21 1.23 0.950506 0.794936 +22 1.29 0.913456 0.907275 +23 1.35 0.977062 1.03887 +24 1.41 1.02677 1.18973 +25 1.47 0.95807 1.34272 +26 1.53 0.993673 1.51462 +27 1.59 0.965916 1.69508 +28 1.65 1.01749 1.89979 +29 1.71 1.03152 2.12268 +30 1.77 1.01361 2.35735 +31 1.83 0.949684 2.59237 +32 1.89 1.02951 2.86412 +33 1.95 0.982364 3.14016 +34 2.01 0.995074 3.43723 +35 2.07 1.03059 3.76355 +36 2.13 1.01696 4.10449 +37 2.19 1.01333 4.46362 +38 2.25 1.02292 4.84629 +39 2.31 0.982237 5.23359 +40 2.37 1.00102 5.64907 +41 2.43 0.979985 6.07668 +42 2.49 1.0532 6.5592 +43 2.55 0.946334 7.01391 +44 2.61 0.991888 7.5132 +45 2.67 0.983693 8.03138 +46 2.73 1.02835 8.59772 +47 2.79 0.97468 9.15835 +48 2.85 0.992306 9.75392 +49 2.91 1.04585 10.4083 +50 2.97 1.00129 11.061 +103300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.131872 0.00142653 +6 0.33 0.132597 0.00249643 +7 0.39 0.316701 0.00606277 +8 0.45 0.452189 0.0128388 +9 0.51 0.630192 0.0249643 +10 0.57 0.756928 0.0431526 +11 0.63 1.13008 0.0763195 +12 0.69 0.840894 0.10592 +13 0.75 1.03769 0.149073 +14 0.81 1.0956 0.202211 +15 0.87 1.30033 0.274964 +16 0.93 1.03202 0.340942 +17 0.99 1.09783 0.420471 +18 1.05 1.09415 0.509629 +19 1.11 0.943844 0.595578 +20 1.17 0.951769 0.691869 +21 1.23 1.00473 0.804208 +22 1.29 0.933755 0.919044 +23 1.35 0.934696 1.04494 +24 1.41 1.02434 1.19544 +25 1.47 1.0139 1.35735 +26 1.53 1.03903 1.53709 +27 1.59 1.02318 1.72825 +28 1.65 1.03876 1.93723 +29 1.71 1.01832 2.15728 +30 1.77 0.922728 2.3709 +31 1.83 1.06497 2.63445 +32 1.89 0.993029 2.89658 +33 1.95 0.993786 3.17582 +34 2.01 1.00105 3.47468 +35 2.07 0.970892 3.7821 +36 2.13 0.963774 4.10521 +37 2.19 0.995212 4.45792 +38 2.25 0.979072 4.82418 +39 2.31 0.998517 5.2179 +40 2.37 1.00703 5.63588 +41 2.43 0.984072 6.06526 +42 2.49 1.00183 6.52425 +43 2.55 1.00645 7.00785 +44 2.61 1.00677 7.51462 +45 2.67 1.00062 8.04173 +46 2.73 0.971367 8.57668 +47 2.79 1.01622 9.1612 +48 2.85 1.00122 9.76213 +49 2.91 1.00082 10.3884 +50 2.97 0.978853 11.0264 +103350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.0883979 0.000713267 +7 0.39 0.190021 0.00285307 +8 0.45 0.499788 0.0103424 +9 0.51 0.648727 0.0228245 +10 0.57 0.742086 0.0406562 +11 0.63 0.801991 0.064194 +12 0.69 1.04352 0.100927 +13 0.75 1.14917 0.148716 +14 0.81 1.15443 0.204708 +15 0.87 1.17922 0.270685 +16 0.93 1.10455 0.341298 +17 0.99 1.17168 0.426177 +18 1.05 1.04601 0.511412 +19 1.11 0.881182 0.591655 +20 1.17 0.930619 0.685806 +21 1.23 0.99835 0.797432 +22 1.29 0.962754 0.915835 +23 1.35 0.910865 1.03852 +24 1.41 1.03405 1.19044 +25 1.47 0.980402 1.347 +26 1.53 0.999857 1.51997 +27 1.59 1.11099 1.72753 +28 1.65 0.967858 1.92225 +29 1.71 0.978707 2.13374 +30 1.77 0.961239 2.35628 +31 1.83 1.00877 2.60592 +32 1.89 1.01735 2.87447 +33 1.95 0.949364 3.14123 +34 2.01 1.05719 3.45685 +35 2.07 1.0396 3.78602 +36 2.13 0.911649 4.09165 +37 2.19 1.05358 4.46505 +38 2.25 1.02769 4.8495 +39 2.31 0.962339 5.22896 +40 2.37 0.995001 5.64194 +41 2.43 1.00532 6.0806 +42 2.49 1.04386 6.55884 +43 2.55 0.953757 7.01712 +44 2.61 1.02235 7.53174 +45 2.67 1.01145 8.06455 +46 2.73 1.00634 8.61876 +47 2.79 0.980881 9.18295 +48 2.85 1.00241 9.78459 +49 2.91 0.984866 10.4009 +50 2.97 1.00402 11.0553 +103400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.190021 0.0021398 +8 0.45 0.547387 0.0103424 +9 0.51 0.556052 0.0210414 +10 0.57 0.682719 0.0374465 +11 0.63 1.05717 0.0684736 +12 0.69 1.08404 0.106633 +13 0.75 1.15775 0.154779 +14 0.81 1.11766 0.208987 +15 0.87 1.17285 0.274608 +16 0.93 1.04318 0.341298 +17 0.99 1.1766 0.426534 +18 1.05 0.993491 0.507489 +19 1.11 1.03392 0.601641 +20 1.17 0.824867 0.685093 +21 1.23 0.893093 0.78495 +22 1.29 1.00625 0.908702 +23 1.35 0.969118 1.03923 +24 1.41 0.997638 1.18581 +25 1.47 0.95137 1.33773 +26 1.53 1.00192 1.51106 +27 1.59 1.07282 1.71148 +28 1.65 1.03699 1.92011 +29 1.71 1.05463 2.148 +30 1.77 1.01824 2.38374 +31 1.83 1.00445 2.63231 +32 1.89 0.930881 2.87803 +33 1.95 0.939211 3.14194 +34 2.01 0.977156 3.43367 +35 2.07 1.04523 3.76462 +36 2.13 0.97122 4.09023 +37 2.19 0.980118 4.43759 +38 2.25 1.02578 4.82133 +39 2.31 1.00123 5.21612 +40 2.37 0.988127 5.62625 +41 2.43 1.04946 6.08417 +42 2.49 0.967579 6.52746 +43 2.55 1.01239 7.01391 +44 2.61 1.03156 7.53317 +45 2.67 0.99114 8.05528 +46 2.73 1.02771 8.62126 +47 2.79 0.981501 9.18581 +48 2.85 0.999436 9.78566 +49 2.91 0.984296 10.4016 +50 2.97 1.00621 11.0574 +103450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.044199 0.00142653 +7 0.39 0.285031 0.00463623 +8 0.45 0.404591 0.010699 +9 0.51 0.537517 0.0210414 +10 0.57 0.727244 0.0385164 +11 0.63 1.08147 0.0702568 +12 0.69 0.840894 0.0998573 +13 0.75 1.1406 0.14729 +14 0.81 1.11031 0.201141 +15 0.87 1.28758 0.273181 +16 0.93 1.08781 0.342725 +17 0.99 1.06337 0.419757 +18 1.05 0.892829 0.492511 +19 1.11 0.865517 0.571327 +20 1.17 0.997595 0.672254 +21 1.23 0.928178 0.776034 +22 1.29 0.974353 0.895863 +23 1.35 1.03532 1.03531 +24 1.41 1.01948 1.18509 +25 1.47 0.982636 1.34201 +26 1.53 1.02666 1.51961 +27 1.59 0.998368 1.70613 +28 1.65 0.974949 1.90228 +29 1.71 1.03482 2.12589 +30 1.77 1.02902 2.36412 +31 1.83 0.969859 2.60414 +32 1.89 1.00384 2.86912 +33 1.95 0.979825 3.14444 +34 2.01 0.984323 3.4383 +35 2.07 0.993419 3.75285 +36 2.13 0.936116 4.06669 +37 2.19 1.00528 4.42297 +38 2.25 1.01339 4.80207 +39 2.31 1.04193 5.21291 +40 2.37 1.02593 5.63873 +41 2.43 0.966908 6.06063 +42 2.49 0.990931 6.51462 +43 2.55 1.05321 7.02068 +44 2.61 1.01598 7.5321 +45 2.67 0.993171 8.05528 +46 2.73 0.933807 8.56954 +47 2.79 1.01932 9.15585 +48 2.85 1.01013 9.76213 +49 2.91 0.987146 10.3798 +50 2.97 1.00129 11.0325 +103500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.506722 0.00891583 +8 0.45 0.333192 0.0139087 +9 0.51 0.500446 0.0235378 +10 0.57 0.682719 0.0399429 +11 0.63 1.03287 0.0702568 +12 0.69 0.901681 0.101997 +13 0.75 1.07199 0.146576 +14 0.81 1.19119 0.204351 +15 0.87 1.08998 0.265335 +16 0.93 1.20496 0.342368 +17 0.99 1.19137 0.428673 +18 1.05 0.958478 0.506776 +19 1.11 0.873349 0.586305 +20 1.17 0.891843 0.676534 +21 1.23 0.909041 0.778174 +22 1.29 1.00625 0.901926 +23 1.35 1.02737 1.0403 +24 1.41 0.961228 1.18153 +25 1.47 0.911171 1.32703 +26 1.53 1.09881 1.51712 +27 1.59 1.05373 1.71398 +28 1.65 1.08485 1.93224 +29 1.71 1.05958 2.1612 +30 1.77 0.945834 2.38017 +31 1.83 1.06641 2.64408 +32 1.89 0.960604 2.89765 +33 1.95 0.977287 3.17225 +34 2.01 0.99149 3.46826 +35 2.07 1.01595 3.78994 +36 2.13 0.944626 4.10663 +37 2.19 1.03144 4.47218 +38 2.25 0.983838 4.84023 +39 2.31 1.02113 5.24287 +40 2.37 1.00273 5.65906 +41 2.43 0.984072 6.08845 +42 2.49 1.04231 6.56598 +43 2.55 1.02946 7.06063 +44 2.61 0.994014 7.56098 +45 2.67 0.980985 8.07775 +46 2.73 0.979785 8.61733 +47 2.79 1.01622 9.20185 +48 2.85 0.997654 9.80064 +49 2.91 0.982016 10.4151 +50 2.97 1.02919 11.0859 +103550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.285031 0.00570613 +8 0.45 0.380791 0.0114123 +9 0.51 0.667262 0.0242511 +10 0.57 0.875662 0.0452924 +11 0.63 0.801991 0.0688302 +12 0.69 0.901681 0.100571 +13 0.75 1.19205 0.150143 +14 0.81 1.05884 0.201498 +15 0.87 1.15373 0.266049 +16 0.93 1.05992 0.333809 +17 0.99 1.09783 0.413338 +18 1.05 1.01975 0.496434 +19 1.11 0.932095 0.581312 +20 1.17 0.96587 0.67903 +21 1.23 0.966454 0.78709 +22 1.29 1.05845 0.917261 +23 1.35 1.00089 1.05207 +24 1.41 1.01706 1.2015 +25 1.47 0.93797 1.35128 +26 1.53 0.97718 1.52033 +27 1.59 0.99455 1.70613 +28 1.65 1.0104 1.90942 +29 1.71 0.996862 2.12482 +30 1.77 0.996669 2.35556 +31 1.83 1.03039 2.61056 +32 1.89 1.03761 2.88445 +33 1.95 1.02805 3.17332 +34 2.01 0.967599 3.4622 +35 2.07 0.933723 3.75785 +36 2.13 1.04143 4.10699 +37 2.19 0.996218 4.46006 +38 2.25 0.990512 4.8306 +39 2.31 0.978619 5.21648 +40 2.37 0.988986 5.62696 +41 2.43 1.04129 6.08131 +42 2.49 0.99171 6.53566 +43 2.55 1.00645 7.01926 +44 2.61 1.00322 7.52425 +45 2.67 0.985047 8.04315 +46 2.73 0.995975 8.59165 +47 2.79 1.0342 9.18652 +48 2.85 0.986958 9.77889 +49 2.91 0.963208 10.3816 +50 2.97 0.999645 11.0332 +103600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.158351 0.00356633 +8 0.45 0.333192 0.0085592 +9 0.51 0.500446 0.0181883 +10 0.57 0.905345 0.0399429 +11 0.63 0.887051 0.0659772 +12 0.69 0.851025 0.0959344 +13 0.75 1.29496 0.149786 +14 0.81 1.12501 0.204351 +15 0.87 1.15373 0.268902 +16 0.93 1.09897 0.339158 +17 0.99 1.1126 0.419757 +18 1.05 0.975984 0.499287 +19 1.11 0.912513 0.582382 +20 1.17 0.983495 0.681883 +21 1.23 0.966454 0.789943 +22 1.29 0.930855 0.904422 +23 1.35 1.03796 1.04422 +24 1.41 0.983074 1.18866 +25 1.47 1.05187 1.35663 +26 1.53 1.0349 1.53566 +27 1.59 0.988823 1.7204 +28 1.65 0.980267 1.91762 +29 1.71 0.985309 2.13053 +30 1.77 1.07985 2.38053 +31 1.83 0.946802 2.61484 +32 1.89 1.016 2.88302 +33 1.95 1.05344 3.17903 +34 2.01 0.998658 3.47718 +35 2.07 0.963008 3.7821 +36 2.13 1.0042 4.11876 +37 2.19 0.951942 4.45613 +38 2.25 1.00672 4.83274 +39 2.31 0.996708 5.22575 +40 2.37 1.00875 5.64444 +41 2.43 0.953013 6.06027 +42 2.49 1.00339 6.51997 +43 2.55 1.06657 7.03245 +44 2.61 0.977718 7.52461 +45 2.67 0.99791 8.05029 +46 2.73 1.0018 8.602 +47 2.79 1.02614 9.19223 +48 2.85 0.972697 9.77603 +49 2.91 1.00025 10.4019 +50 2.97 0.953684 11.0235 +103650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.253361 0.00463623 +8 0.45 0.571187 0.0131954 +9 0.51 0.704332 0.0267475 +10 0.57 0.608511 0.0413695 +11 0.63 0.959959 0.0695435 +12 0.69 1.05365 0.106633 +13 0.75 1.20063 0.156562 +14 0.81 1.06619 0.208274 +15 0.87 1.12823 0.271398 +16 0.93 1.05434 0.338802 +17 0.99 1.13722 0.421184 +18 1.05 0.975984 0.500713 +19 1.11 0.979091 0.589872 +20 1.17 0.958819 0.686876 +21 1.23 0.934558 0.791369 +22 1.29 1.01785 0.916548 +23 1.35 0.950583 1.04458 +24 1.41 1.01948 1.19437 +25 1.47 1.0474 1.36163 +26 1.53 0.958626 1.52746 +27 1.59 0.971643 1.70899 +28 1.65 1.05294 1.92083 +29 1.71 1.03317 2.14408 +30 1.77 0.982805 2.37161 +31 1.83 0.978506 2.61377 +32 1.89 1.01194 2.88088 +33 1.95 1.05725 3.17796 +34 2.01 0.964015 3.46576 +35 2.07 0.984408 3.77746 +36 2.13 0.989304 4.10913 +37 2.19 1.0254 4.47254 +38 2.25 1.00862 4.84986 +39 2.31 0.962339 5.22932 +40 2.37 0.997579 5.64337 +41 2.43 0.994697 6.07739 +42 2.49 0.98159 6.5271 +43 2.55 0.996805 7.00606 +44 2.61 0.985512 7.50214 +45 2.67 1.01484 8.03673 +46 2.73 1.02253 8.59986 +47 2.79 1.00134 9.17582 +48 2.85 0.979828 9.76391 +49 2.91 1.02932 10.408 +50 2.97 1.01387 11.0688 +103700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.326117 0.0010699 +5 0.27 0.0659362 0.00142653 +6 0.33 0.132597 0.00249643 +7 0.39 0.411712 0.00713267 +8 0.45 0.309393 0.0117689 +9 0.51 0.759937 0.0263909 +10 0.57 0.845978 0.046719 +11 0.63 1.02072 0.0766762 +12 0.69 1.00299 0.111983 +13 0.75 0.960503 0.151926 +14 0.81 1.18384 0.209344 +15 0.87 1.12186 0.272111 +16 0.93 1.07665 0.340942 +17 0.99 1.18152 0.426534 +18 1.05 1.00224 0.508203 +19 1.11 0.8616 0.586662 +20 1.17 0.912993 0.67903 +21 1.23 1.043 0.795649 +22 1.29 1.08745 0.929387 +23 1.35 0.926753 1.05421 +24 1.41 1.01706 1.20364 +25 1.47 1.04293 1.37019 +26 1.53 1.02666 1.54779 +27 1.59 1.00791 1.73609 +28 1.65 0.971403 1.93153 +29 1.71 1.08268 2.16548 +30 1.77 0.956617 2.38695 +31 1.83 0.952566 2.62268 +32 1.89 0.983572 2.88231 +33 1.95 0.973479 3.15585 +34 2.01 1.01897 3.46006 +35 2.07 1.02496 3.78459 +36 2.13 0.982922 4.11412 +37 2.19 0.958986 4.45399 +38 2.25 1.0315 4.83987 +39 2.31 0.989473 5.23003 +40 2.37 0.978675 5.63623 +41 2.43 1.01023 6.07703 +42 2.49 1.03063 6.54922 +43 2.55 0.99829 7.02889 +44 2.61 0.969216 7.51676 +45 2.67 1.01957 8.05385 +46 2.73 0.984966 8.59629 +47 2.79 1.00692 9.17546 +48 2.85 0.96319 9.75357 +49 2.91 1.00082 10.3798 +50 2.97 0.962986 11.0075 +103750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.316701 0.00606277 +8 0.45 0.380791 0.0117689 +9 0.51 0.574587 0.0228245 +10 0.57 0.623352 0.0378031 +11 0.63 0.984262 0.0666904 +12 0.69 0.952338 0.100214 +13 0.75 1.27781 0.153352 +14 0.81 1.17648 0.210414 +15 0.87 1.07724 0.270685 +16 0.93 1.07665 0.339515 +17 0.99 1.20122 0.426534 +18 1.05 1.12041 0.517832 +19 1.11 0.939927 0.603424 +20 1.17 0.856592 0.690086 +21 1.23 0.931368 0.794223 +22 1.29 1.02945 0.920827 +23 1.35 0.947936 1.0485 +24 1.41 0.983074 1.19294 +25 1.47 0.933504 1.34201 +26 1.53 1.03284 1.52068 +27 1.59 1.00028 1.70756 +28 1.65 1.03699 1.91619 +29 1.71 1.03977 2.14087 +30 1.77 0.993588 2.3709 +31 1.83 1.03759 2.62767 +32 1.89 1.02545 2.89836 +33 1.95 0.948095 3.16476 +34 2.01 1.02972 3.47218 +35 2.07 0.969766 3.77924 +36 2.13 0.997814 4.11377 +37 2.19 0.980118 4.46113 +38 2.25 1.02102 4.84308 +39 2.31 1.05098 5.25749 +40 2.37 0.998438 5.6719 +41 2.43 0.962004 6.09165 +42 2.49 1.00339 6.55136 +43 2.55 1.01388 7.03852 +44 2.61 1.04077 7.56241 +45 2.67 0.961352 8.06883 +46 2.73 1.01605 8.62839 +47 2.79 1.01684 9.21327 +48 2.85 0.982799 9.80314 +49 2.91 0.989426 10.4223 +50 2.97 0.989249 11.067 +103800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.044199 0.000356633 +7 0.39 0.316701 0.00392297 +8 0.45 0.333192 0.00891583 +9 0.51 0.407771 0.0167618 +10 0.57 0.771769 0.0353067 +11 0.63 0.911353 0.0620542 +12 0.69 1.16509 0.103067 +13 0.75 1.04626 0.146576 +14 0.81 1.27207 0.208274 +15 0.87 1.19197 0.274964 +16 0.93 1.04876 0.342011 +17 0.99 1.1126 0.422611 +18 1.05 0.910335 0.49679 +19 1.11 0.939927 0.582382 +20 1.17 0.955294 0.67903 +21 1.23 0.963264 0.786733 +22 1.29 1.08455 0.920114 +23 1.35 0.995597 1.05421 +24 1.41 1.09716 1.21541 +25 1.47 0.978169 1.37161 +26 1.53 0.995734 1.54387 +27 1.59 0.967825 1.72468 +28 1.65 0.976721 1.92118 +29 1.71 0.965504 2.12981 +30 1.77 1.03056 2.3684 +31 1.83 0.981388 2.61127 +32 1.89 1.04437 2.88695 +33 1.95 1.01917 3.17332 +34 2.01 1.00583 3.47361 +35 2.07 1.02946 3.79957 +36 2.13 0.972284 4.12553 +37 2.19 1.00427 4.48146 +38 2.25 0.954285 4.83845 +39 2.31 0.96053 5.21719 +40 2.37 1.00703 5.63516 +41 2.43 1.01595 6.07846 +42 2.49 0.945783 6.51177 +43 2.55 1.01388 6.99893 +44 2.61 1.0266 7.51569 +45 2.67 0.986401 8.03531 +46 2.73 1.00504 8.5888 +47 2.79 0.988941 9.15763 +48 2.85 1.02736 9.77425 +49 2.91 0.976317 10.3852 +50 2.97 1.00074 11.0374 +103850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.411712 0.00713267 +8 0.45 0.594986 0.0160485 +9 0.51 0.722867 0.0299572 +10 0.57 0.831136 0.0499287 +11 0.63 0.729083 0.0713267 +12 0.69 0.9726 0.105563 +13 0.75 1.2092 0.155849 +14 0.81 1.16913 0.212553 +15 0.87 1.01349 0.269258 +16 0.93 1.04318 0.335949 +17 0.99 1.1766 0.421184 +18 1.05 0.967231 0.5 +19 1.11 0.971258 0.588445 +20 1.17 1.05047 0.694722 +21 1.23 0.91861 0.797432 +22 1.29 0.974353 0.917261 +23 1.35 0.985006 1.04993 +24 1.41 0.936954 1.18759 +25 1.47 1.03847 1.35342 +26 1.53 1.0349 1.53245 +27 1.59 0.99455 1.71826 +28 1.65 0.985584 1.91655 +29 1.71 0.998512 2.13231 +30 1.77 0.955077 2.35342 +31 1.83 1.05488 2.61448 +32 1.89 1.06734 2.89622 +33 1.95 1.07248 3.19757 +34 2.01 1.01299 3.5 +35 2.07 1.0396 3.82917 +36 2.13 0.978666 4.15728 +37 2.19 0.942886 4.49144 +38 2.25 0.966678 4.85307 +39 2.31 0.998517 5.24679 +40 2.37 1.02679 5.67297 +41 2.43 1.00042 6.10949 +42 2.49 0.974584 6.55599 +43 2.55 1.00274 7.0378 +44 2.61 1.05707 7.5699 +45 2.67 0.976923 8.08452 +46 2.73 1.03224 8.653 +47 2.79 0.979021 9.21612 +48 2.85 1.01786 9.82703 +49 2.91 0.972327 10.4354 +50 2.97 0.985966 11.0781 +103900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.220995 0.00285307 +7 0.39 0.380042 0.00713267 +8 0.45 0.475989 0.0142653 +9 0.51 0.611657 0.0260342 +10 0.57 0.682719 0.0424394 +11 0.63 0.887051 0.0684736 +12 0.69 1.16509 0.109486 +13 0.75 1.02911 0.152282 +14 0.81 1.16178 0.208631 +15 0.87 1.17285 0.274251 +16 0.93 1.22727 0.35271 +17 0.99 0.979681 0.42368 +18 1.05 0.945348 0.500713 +19 1.11 1.10441 0.601284 +20 1.17 0.930619 0.695435 +21 1.23 0.931368 0.799572 +22 1.29 0.84096 0.902996 +23 1.35 0.947936 1.03067 +24 1.41 1.00977 1.17903 +25 1.47 1.08983 1.35307 +26 1.53 0.95038 1.51748 +27 1.59 1.06327 1.71612 +28 1.65 1.06358 1.9301 +29 1.71 1.00676 2.14765 +30 1.77 1.01515 2.38267 +31 1.83 1.05633 2.64408 +32 1.89 1.04032 2.91869 +33 1.95 1.0014 3.20007 +34 2.01 0.983128 3.49358 +35 2.07 0.926965 3.78709 +36 2.13 0.999942 4.12233 +37 2.19 0.981124 4.47004 +38 2.25 0.979072 4.83631 +39 2.31 1.03017 5.24251 +40 2.37 0.989845 5.65335 +41 2.43 0.967725 6.07561 +42 2.49 1.00961 6.53816 +43 2.55 1.02501 7.03067 +44 2.61 0.955755 7.51177 +45 2.67 1.05207 8.06598 +46 2.73 1.02123 8.62839 +47 2.79 0.96724 9.18474 +48 2.85 1.00538 9.78816 +49 2.91 0.991135 10.4083 +50 2.97 1.00457 11.0631 +103950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.190021 0.00356633 +8 0.45 0.571187 0.0121255 +9 0.51 0.722867 0.0260342 +10 0.57 0.756928 0.0442225 +11 0.63 0.899202 0.0706134 +12 0.69 0.962469 0.104494 +13 0.75 1.07199 0.149073 +14 0.81 1.0956 0.202211 +15 0.87 1.33858 0.277104 +16 0.93 1.09897 0.347361 +17 0.99 0.950143 0.416191 +18 1.05 1.00224 0.49786 +19 1.11 0.967342 0.585949 +20 1.17 1.00112 0.687233 +21 1.23 0.902661 0.78816 +22 1.29 1.01205 0.912625 +23 1.35 0.863204 1.02889 +24 1.41 1.02919 1.1801 +25 1.47 1.04517 1.347 +26 1.53 1.02666 1.52461 +27 1.59 0.981188 1.70792 +28 1.65 0.98913 1.90692 +29 1.71 0.983658 2.11947 +30 1.77 1.07215 2.36769 +31 1.83 1.0275 2.62197 +32 1.89 1.00654 2.88766 +33 1.95 1.02679 3.17618 +34 2.01 1.03211 3.48431 +35 2.07 0.993419 3.79886 +36 2.13 0.991432 4.13124 +37 2.19 0.969049 4.47468 +38 2.25 0.997185 4.84772 +39 2.31 0.972288 5.2311 +40 2.37 1.01562 5.65264 +41 2.43 0.979985 6.08024 +42 2.49 1.0641 6.56776 +43 2.55 0.982703 7.03994 +44 2.61 1.02377 7.55528 +45 2.67 0.976246 8.06954 +46 2.73 0.988204 8.61377 +47 2.79 1.01188 9.19579 +48 2.85 1.01726 9.80635 +49 2.91 0.971757 10.4144 +50 2.97 1.0177 11.0777 +104000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.329681 0.00178317 +6 0.33 0.309393 0.0042796 +7 0.39 0.221691 0.00677603 +8 0.45 0.475989 0.0139087 +9 0.51 0.426306 0.0221113 +10 0.57 0.94987 0.0449358 +11 0.63 0.984262 0.0738231 +12 0.69 0.830763 0.103067 +13 0.75 0.909048 0.14087 +14 0.81 1.13237 0.195792 +15 0.87 1.23659 0.264979 +16 0.93 1.17149 0.339872 +17 0.99 1.09783 0.419401 +18 1.05 1.01975 0.502496 +19 1.11 1.0535 0.598431 +20 1.17 0.944719 0.694009 +21 1.23 0.905851 0.795292 +22 1.29 0.893157 0.905136 +23 1.35 0.844669 1.0189 +24 1.41 1.01706 1.16833 +25 1.47 0.933504 1.3174 +26 1.53 1.05552 1.5 +27 1.59 1.05373 1.69686 +28 1.65 1.06713 1.91155 +29 1.71 0.991911 2.12589 +30 1.77 1.01669 2.36127 +31 1.83 0.969859 2.60128 +32 1.89 1.00789 2.86733 +33 1.95 0.965864 3.13873 +34 2.01 0.990296 3.43438 +35 2.07 1.01932 3.75713 +36 2.13 0.955264 4.07739 +37 2.19 1.03748 4.44508 +38 2.25 0.989558 4.81526 +39 2.31 1.00937 5.21327 +40 2.37 1.0225 5.63766 +41 2.43 1.02984 6.08702 +42 2.49 0.997937 6.54422 +43 2.55 1.03689 7.04244 +44 2.61 0.966382 7.52889 +45 2.67 1.00874 8.06027 +46 2.73 1.0303 8.62767 +47 2.79 1.0001 9.20292 +48 2.85 0.977451 9.78959 +49 2.91 0.983726 10.4051 +50 2.97 1.00512 11.0603 +104050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.475052 0.00784593 +8 0.45 0.404591 0.0139087 +9 0.51 0.500446 0.0235378 +10 0.57 0.727244 0.0410128 +11 0.63 0.923505 0.068117 +12 0.69 0.901681 0.0998573 +13 0.75 1.03769 0.14301 +14 0.81 1.0956 0.196148 +15 0.87 1.26846 0.267118 +16 0.93 0.992975 0.330599 +17 0.99 1.13229 0.412625 +18 1.05 1.10728 0.502853 +19 1.11 0.889015 0.583809 +20 1.17 0.909468 0.67582 +21 1.23 1.02706 0.790656 +22 1.29 0.997552 0.913338 +23 1.35 0.992949 1.04708 +24 1.41 0.970937 1.18973 +25 1.47 0.946903 1.34094 +26 1.53 0.985426 1.51141 +27 1.59 1.01364 1.70078 +28 1.65 1.00863 1.90371 +29 1.71 1.03152 2.1266 +30 1.77 1.04442 2.3684 +31 1.83 1.01021 2.6184 +32 1.89 1.01194 2.88552 +33 1.95 0.963326 3.15621 +34 2.01 1.00344 3.45578 +35 2.07 1.01144 3.77603 +36 2.13 1.02654 4.12019 +37 2.19 0.948923 4.45649 +38 2.25 0.981932 4.82382 +39 2.31 0.978619 5.2097 +40 2.37 0.981253 5.61698 +41 2.43 1.04864 6.07454 +42 2.49 0.969914 6.5189 +43 2.55 1.02724 7.01248 +44 2.61 0.985512 7.50856 +45 2.67 1.01484 8.04315 +46 2.73 0.972014 8.57846 +47 2.79 1.04536 9.17974 +48 2.85 0.966755 9.75999 +49 2.91 1.05497 10.4201 +50 2.97 0.985966 11.0628 +104100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.353592 0.0032097 +7 0.39 0.348371 0.00713267 +8 0.45 0.309393 0.0117689 +9 0.51 0.593122 0.0231812 +10 0.57 0.905345 0.0449358 +11 0.63 0.801991 0.0684736 +12 0.69 0.881419 0.0995007 +13 0.75 1.11487 0.145863 +14 0.81 1.12501 0.200428 +15 0.87 1.14098 0.264265 +16 0.93 1.08223 0.333452 +17 0.99 1.12737 0.415121 +18 1.05 1.04601 0.500357 +19 1.11 0.896847 0.582026 +20 1.17 0.884793 0.671541 +21 1.23 1.03344 0.78709 +22 1.29 0.977253 0.907275 +23 1.35 0.9294 1.03245 +24 1.41 1.06803 1.18937 +25 1.47 1.0206 1.35235 +26 1.53 0.985426 1.52282 +27 1.59 1.00219 1.71006 +28 1.65 1.04585 1.92047 +29 1.71 1.01997 2.14087 +30 1.77 1.05675 2.38552 +31 1.83 0.941037 2.6184 +32 1.89 0.964657 2.87304 +33 1.95 0.945557 3.13873 +34 2.01 0.977156 3.43046 +35 2.07 0.95625 3.73324 +36 2.13 1.06909 4.09165 +37 2.19 1.03043 4.45685 +38 2.25 0.980978 4.82382 +39 2.31 1.01661 5.22468 +40 2.37 1.00187 5.64051 +41 2.43 1.02003 6.08559 +42 2.49 1.00728 6.54708 +43 2.55 1.04876 7.051 +44 2.61 0.961423 7.53495 +45 2.67 0.961352 8.04137 +46 2.73 1.0031 8.59379 +47 2.79 1.03606 9.18973 +48 2.85 1.00241 9.79137 +49 2.91 1.0202 10.4297 +50 2.97 0.97557 11.0656 +104150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0 0.000713267 +7 0.39 0.221691 0.0032097 +8 0.45 0.42839 0.0096291 +9 0.51 0.704332 0.0231812 +10 0.57 0.682719 0.0395863 +11 0.63 0.984262 0.0684736 +12 0.69 0.992863 0.103424 +13 0.75 0.986231 0.144437 +14 0.81 1.22796 0.203994 +15 0.87 1.14098 0.267832 +16 0.93 0.970661 0.329886 +17 0.99 1.14214 0.412625 +18 1.05 1.0285 0.496434 +19 1.11 0.81852 0.57097 +20 1.17 1.02227 0.674394 +21 1.23 0.953695 0.781027 +22 1.29 0.907656 0.892653 +23 1.35 0.966471 1.02282 +24 1.41 1.08745 1.1826 +25 1.47 1.0608 1.352 +26 1.53 0.991611 1.52354 +27 1.59 1.01364 1.71291 +28 1.65 0.96254 1.90656 +29 1.71 0.953951 2.1127 +30 1.77 0.979724 2.33951 +31 1.83 1.052 2.59986 +32 1.89 1.03356 2.87268 +33 1.95 1.08517 3.1776 +34 2.01 0.948486 3.46077 +35 2.07 0.986661 3.77318 +36 2.13 0.965901 4.097 +37 2.19 0.960999 4.43759 +38 2.25 0.951425 4.79351 +39 2.31 1.04284 5.20471 +40 2.37 1.0225 5.6291 +41 2.43 0.991428 6.0617 +42 2.49 0.99638 6.51819 +43 2.55 1.02278 7.00963 +44 2.61 0.981969 7.50392 +45 2.67 1.0013 8.03138 +46 2.73 1.0167 8.5913 +47 2.79 0.983361 9.15692 +48 2.85 1.00419 9.75963 +49 2.91 0.995125 10.3823 +50 2.97 0.977212 11.0193 +104200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.0883979 0.000713267 +7 0.39 0.348371 0.00463623 +8 0.45 0.356992 0.00998573 +9 0.51 0.537517 0.0203281 +10 0.57 0.697561 0.0370899 +11 0.63 0.911353 0.0638374 +12 0.69 1.03339 0.100214 +13 0.75 1.08914 0.145506 +14 0.81 1.18384 0.202924 +15 0.87 1.1601 0.267832 +16 0.93 1.21612 0.345578 +17 0.99 0.94522 0.414051 +18 1.05 1.08102 0.50214 +19 1.11 1.06917 0.599501 +20 1.17 0.976445 0.698288 +21 1.23 0.854817 0.793866 +22 1.29 0.82646 0.895506 +23 1.35 1.04061 1.03566 +24 1.41 0.985501 1.18046 +25 1.47 1.03847 1.34629 +26 1.53 1.01223 1.5214 +27 1.59 1.07663 1.72254 +28 1.65 1.01749 1.92725 +29 1.71 1.03317 2.1505 +30 1.77 0.950456 2.37054 +31 1.83 0.992917 2.61626 +32 1.89 0.990327 2.87767 +33 1.95 1.00521 3.16013 +34 2.01 0.986712 3.45471 +35 2.07 1.01257 3.77532 +36 2.13 0.924414 4.08524 +37 2.19 1.04553 4.45578 +38 2.25 1.0458 4.847 +39 2.31 0.993995 5.23894 +40 2.37 1.0182 5.66155 +41 2.43 0.970177 6.08488 +42 2.49 1.02362 6.55385 +43 2.55 1.00423 7.03638 +44 2.61 0.991888 7.53566 +45 2.67 1.00874 8.06705 +46 2.73 0.977195 8.60521 +47 2.79 1.00196 9.18153 +48 2.85 1.01726 9.79208 +49 2.91 1.04471 10.4458 +50 2.97 0.969004 11.0774 +104250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.443382 0.0064194 +8 0.45 0.571187 0.0149786 +9 0.51 0.667262 0.0278174 +10 0.57 0.682719 0.0442225 +11 0.63 0.899202 0.0706134 +12 0.69 0.942206 0.10378 +13 0.75 1.1406 0.151213 +14 0.81 1.0956 0.204351 +15 0.87 1.14735 0.268545 +16 0.93 1.18264 0.344151 +17 0.99 0.891066 0.408702 +18 1.05 1.15105 0.502496 +19 1.11 0.943844 0.588445 +20 1.17 0.874218 0.67689 +21 1.23 0.99835 0.788516 +22 1.29 0.968553 0.907632 +23 1.35 1.06974 1.05171 +24 1.41 1.04133 1.20471 +25 1.47 0.991569 1.36305 +26 1.53 0.95038 1.52746 +27 1.59 0.965916 1.70792 +28 1.65 1.00686 1.91049 +29 1.71 1.01337 2.12946 +30 1.77 1.02594 2.36698 +31 1.83 0.990035 2.61198 +32 1.89 1.00654 2.87767 +33 1.95 0.98871 3.15549 +34 2.01 1.0333 3.46398 +35 2.07 0.993419 3.77853 +36 2.13 0.992495 4.11127 +37 2.19 0.994206 4.46362 +38 2.25 0.985745 4.83238 +39 2.31 1.00485 5.2286 +40 2.37 0.988986 5.63909 +41 2.43 1.02085 6.08452 +42 2.49 0.995602 6.54066 +43 2.55 0.987899 7.01534 +44 2.61 1.00889 7.52318 +45 2.67 0.985724 8.04244 +46 2.73 0.95453 8.56812 +47 2.79 1.0063 9.14693 +48 2.85 1.04757 9.77568 +49 2.91 1.00253 10.403 +50 2.97 0.99472 11.0514 +104300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.190021 0.00463623 +8 0.45 0.690184 0.0149786 +9 0.51 0.611657 0.0267475 +10 0.57 0.86082 0.0474322 +11 0.63 0.874899 0.0731098 +12 0.69 0.942206 0.106277 +13 0.75 1.1749 0.155136 +14 0.81 1.14707 0.21077 +15 0.87 1.09636 0.272111 +16 0.93 1.05992 0.339872 +17 0.99 1.13229 0.421897 +18 1.05 0.949725 0.499287 +19 1.11 0.967342 0.587375 +20 1.17 0.948244 0.68331 +21 1.23 0.99835 0.794936 +22 1.29 1.00045 0.917974 +23 1.35 0.916161 1.04137 +24 1.41 1.08988 1.2015 +25 1.47 1.04517 1.3684 +26 1.53 0.935949 1.53031 +27 1.59 1.03464 1.72361 +28 1.65 1.0104 1.92689 +29 1.71 1.00841 2.14479 +30 1.77 1.02132 2.38124 +31 1.83 0.992917 2.62696 +32 1.89 1.01059 2.89372 +33 1.95 0.981094 3.1694 +34 2.01 0.986712 3.46398 +35 2.07 1.00693 3.78281 +36 2.13 1.04462 4.13302 +37 2.19 0.959992 4.47325 +38 2.25 1.01434 4.85271 +39 2.31 1.04374 5.26427 +40 2.37 0.990705 5.67546 +41 2.43 0.982437 6.10414 +42 2.49 1.03841 6.57989 +43 2.55 0.97157 7.04672 +44 2.61 1.02377 7.56205 +45 2.67 0.974215 8.07525 +46 2.73 0.95194 8.5995 +47 2.79 1.00568 9.17796 +48 2.85 1.07252 9.82168 +49 2.91 0.999115 10.4469 +50 2.97 1.01934 11.1113 +104350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.044199 0.000713267 +7 0.39 0.411712 0.0053495 +8 0.45 0.618786 0.014622 +9 0.51 0.741402 0.0288873 +10 0.57 0.667877 0.0449358 +11 0.63 0.923505 0.0720399 +12 0.69 0.911813 0.104137 +13 0.75 0.934775 0.14301 +14 0.81 1.19854 0.201141 +15 0.87 1.15373 0.265692 +16 0.93 1.28864 0.348074 +17 0.99 0.999373 0.420471 +18 1.05 0.967231 0.499287 +19 1.11 0.936011 0.584522 +20 1.17 1.00817 0.686519 +21 1.23 1.09404 0.808845 +22 1.29 0.893157 0.918688 +23 1.35 0.995597 1.05278 +24 1.41 0.978219 1.1965 +25 1.47 0.955837 1.34914 +26 1.53 0.975119 1.51783 +27 1.59 0.97737 1.70043 +28 1.65 0.990902 1.89979 +29 1.71 1.02492 2.12126 +30 1.77 1.07523 2.37019 +31 1.83 1.03471 2.62625 +32 1.89 0.988976 2.8873 +33 1.95 1.0344 3.17796 +34 2.01 0.940124 3.45863 +35 2.07 0.964134 3.76391 +36 2.13 0.990368 4.09593 +37 2.19 0.959992 4.43616 +38 2.25 1.00004 4.81027 +39 2.31 1.0148 5.21041 +40 2.37 1.01133 5.63017 +41 2.43 0.987341 6.06098 +42 2.49 0.976141 6.5082 +43 2.55 1.02353 7 +44 2.61 1.05849 7.53281 +45 2.67 1.00874 8.06419 +46 2.73 0.992089 8.61056 +47 2.79 0.985841 9.1776 +48 2.85 0.987552 9.77033 +49 2.91 1.00025 10.3962 +50 2.97 1.00183 11.0492 +104400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.285031 0.00463623 +8 0.45 0.499788 0.0121255 +9 0.51 0.556052 0.0228245 +10 0.57 0.697561 0.0395863 +11 0.63 0.923505 0.0666904 +12 0.69 0.881419 0.0977175 +13 0.75 1.23493 0.149073 +14 0.81 1.02942 0.199001 +15 0.87 1.31308 0.272468 +16 0.93 1.05992 0.340228 +17 0.99 1.06337 0.417261 +18 1.05 1.05914 0.503566 +19 1.11 1.01434 0.595934 +20 1.17 0.941194 0.691155 +21 1.23 1.03025 0.806348 +22 1.29 1.01495 0.93117 +23 1.35 0.9294 1.05635 +24 1.41 0.936954 1.19401 +25 1.47 1.02283 1.35735 +26 1.53 1.04727 1.53852 +27 1.59 1.05564 1.73573 +28 1.65 0.916452 1.92011 +29 1.71 1.03152 2.14301 +30 1.77 0.962779 2.36591 +31 1.83 0.990035 2.61091 +32 1.89 1.02681 2.88195 +33 1.95 0.963326 3.15264 +34 2.01 1.00821 3.45364 +35 2.07 0.996798 3.76926 +36 2.13 1.0042 4.10592 +37 2.19 0.9932 4.45792 +38 2.25 1.04294 4.84807 +39 2.31 1.03017 5.25428 +40 2.37 0.964068 5.65442 +41 2.43 0.972629 6.07882 +42 2.49 0.990931 6.53281 +43 2.55 0.965632 6.99679 +44 2.61 1.00606 7.50321 +45 2.67 1.03718 8.04957 +46 2.73 1.00828 8.60485 +47 2.79 1.02304 9.1933 +48 2.85 1.01132 9.80029 +49 2.91 0.954659 10.3976 +50 2.97 0.999645 11.0492 +104450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.253361 0.00463623 +8 0.45 0.475989 0.0117689 +9 0.51 0.722867 0.0256776 +10 0.57 0.697561 0.0424394 +11 0.63 0.874899 0.068117 +12 0.69 0.921944 0.100571 +13 0.75 1.21778 0.151213 +14 0.81 1.24266 0.211484 +15 0.87 1.1601 0.276391 +16 0.93 1.18822 0.352354 +17 0.99 1.09783 0.431883 +18 1.05 0.857816 0.501783 +19 1.11 0.99084 0.592011 +20 1.17 0.948244 0.687946 +21 1.23 0.873955 0.785663 +22 1.29 0.933755 0.900499 +23 1.35 0.961175 1.02996 +24 1.41 1.06803 1.18688 +25 1.47 1.0072 1.34772 +26 1.53 1.09263 1.53673 +27 1.59 0.943009 1.71291 +28 1.65 1.02813 1.91976 +29 1.71 0.980357 2.1316 +30 1.77 0.990507 2.36091 +31 1.83 0.990035 2.60592 +32 1.89 0.983572 2.86555 +33 1.95 0.969672 3.13802 +34 2.01 1.00463 3.43795 +35 2.07 1.02158 3.76141 +36 2.13 1.02122 4.10378 +37 2.19 1.03446 4.4704 +38 2.25 1.00004 4.84451 +39 2.31 0.972288 5.22789 +40 2.37 0.969224 5.63017 +41 2.43 1.01513 6.07311 +42 2.49 1.02362 6.54208 +43 2.55 1.01017 7.02746 +44 2.61 1.00039 7.53103 +45 2.67 1.02296 8.0699 +46 2.73 0.99468 8.61769 +47 2.79 0.97592 9.17903 +48 2.85 0.986364 9.77104 +49 2.91 1.02647 10.4133 +50 2.97 1.02044 11.0785 +104500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.348371 0.0053495 +8 0.45 0.547387 0.0135521 +9 0.51 0.574587 0.0246077 +10 0.57 0.771769 0.0431526 +11 0.63 0.838445 0.0677603 +12 0.69 1.01313 0.103424 +13 0.75 1.14917 0.151213 +14 0.81 1.11031 0.205064 +15 0.87 1.19197 0.271755 +16 0.93 1.1157 0.343081 +17 0.99 0.999373 0.415478 +18 1.05 1.05476 0.501427 +19 1.11 0.936011 0.586662 +20 1.17 0.948244 0.682596 +21 1.23 0.953695 0.78923 +22 1.29 0.927955 0.903352 +23 1.35 0.977062 1.03495 +24 1.41 0.944236 1.17368 +25 1.47 1.10547 1.35021 +26 1.53 0.97718 1.51926 +27 1.59 1.04036 1.71362 +28 1.65 1.01217 1.91726 +29 1.71 0.955601 2.12375 +30 1.77 1.06445 2.37019 +31 1.83 0.991476 2.61555 +32 1.89 0.938987 2.86341 +33 1.95 1.01409 3.14836 +34 2.01 1.04764 3.46113 +35 2.07 1.04748 3.7928 +36 2.13 0.998878 4.12767 +37 2.19 0.942886 4.46184 +38 2.25 0.999092 4.83559 +39 2.31 1.0347 5.24358 +40 2.37 0.979535 5.65014 +41 2.43 1.00532 6.0888 +42 2.49 0.99638 6.54529 +43 2.55 0.993837 7.02282 +44 2.61 0.986929 7.51961 +45 2.67 0.945104 8.01748 +46 2.73 0.979138 8.5567 +47 2.79 1.07016 9.17225 +48 2.85 1.01013 9.77853 +49 2.91 0.995125 10.4012 +50 2.97 1.02153 11.067 +104550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.221691 0.00463623 +8 0.45 0.261794 0.0085592 +9 0.51 0.500446 0.0181883 +10 0.57 0.94987 0.0410128 +11 0.63 1.10578 0.0734665 +12 0.69 1.03339 0.109843 +13 0.75 1.06341 0.154066 +14 0.81 0.985306 0.201854 +15 0.87 1.21109 0.269615 +16 0.93 1.09339 0.339515 +17 0.99 1.05845 0.416191 +18 1.05 1.03288 0.500357 +19 1.11 0.99084 0.590585 +20 1.17 0.916519 0.68331 +21 1.23 0.966454 0.791369 +22 1.29 0.965654 0.910128 +23 1.35 0.94264 1.03709 +24 1.41 1.00735 1.18509 +25 1.47 0.929037 1.33345 +26 1.53 1.01017 1.5082 +27 1.59 1.05945 1.70613 +28 1.65 0.969631 1.90121 +29 1.71 1.01172 2.11983 +30 1.77 1.05058 2.36305 +31 1.83 0.981388 2.60592 +32 1.89 0.988976 2.86698 +33 1.95 0.984902 3.14372 +34 2.01 1.00105 3.44258 +35 2.07 1.01369 3.76355 +36 2.13 1.04036 4.11234 +37 2.19 0.973074 4.4572 +38 2.25 0.971445 4.82061 +39 2.31 0.980428 5.2072 +40 2.37 1.04312 5.64016 +41 2.43 0.980802 6.06812 +42 2.49 0.978476 6.51641 +43 2.55 1.00052 6.99715 +44 2.61 0.996848 7.49893 +45 2.67 0.962706 8.00606 +46 2.73 1.01152 8.56312 +47 2.79 1.02552 9.153 +48 2.85 0.975074 9.73823 +49 2.91 1.01222 10.3716 +50 2.97 0.978853 11.0096 +104600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.285031 0.0053495 +8 0.45 0.452189 0.0121255 +9 0.51 0.834077 0.028174 +10 0.57 0.771769 0.046719 +11 0.63 0.741234 0.0684736 +12 0.69 0.9726 0.10271 +13 0.75 1.18348 0.151926 +14 0.81 1.16913 0.208631 +15 0.87 1.01987 0.265692 +16 0.93 1.1157 0.337019 +17 0.99 1.13722 0.419401 +18 1.05 0.980361 0.499287 +19 1.11 1.00259 0.590585 +20 1.17 0.97292 0.689016 +21 1.23 0.966454 0.797076 +22 1.29 0.956954 0.914765 +23 1.35 0.97971 1.04672 +24 1.41 1.02677 1.19757 +25 1.47 0.924571 1.34522 +26 1.53 1.01429 1.52068 +27 1.59 0.985006 1.70471 +28 1.65 1.04763 1.91548 +29 1.71 0.963853 2.12375 +30 1.77 0.987426 2.35235 +31 1.83 0.994358 2.59843 +32 1.89 0.990327 2.85984 +33 1.95 1.01409 3.14479 +34 2.01 1.0106 3.4465 +35 2.07 0.95625 3.74929 +36 2.13 1.02866 4.09415 +37 2.19 0.965024 4.43616 +38 2.25 1.01625 4.81633 +39 2.31 0.955103 5.19294 +40 2.37 0.988986 5.60342 +41 2.43 0.979168 6.03067 +42 2.49 1.03764 6.50606 +43 2.55 0.962663 6.96862 +44 2.61 1.05282 7.49857 +45 2.67 0.968799 8.00892 +46 2.73 1.00763 8.56384 +47 2.79 0.993901 9.13552 +48 2.85 0.970915 9.71826 +49 2.91 0.979737 10.3313 +50 2.97 1.0467 11.0136 +104650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.221691 0.00499287 +8 0.45 0.475989 0.0121255 +9 0.51 0.852612 0.0285307 +10 0.57 0.697561 0.0452924 +11 0.63 0.753385 0.0674037 +12 0.69 1.02326 0.103424 +13 0.75 1.05484 0.14729 +14 0.81 1.16913 0.203994 +15 0.87 1.14098 0.267832 +16 0.93 1.13802 0.340585 +17 0.99 1.08306 0.419044 +18 1.05 1.03288 0.50321 +19 1.11 0.943844 0.589158 +20 1.17 0.902418 0.680456 +21 1.23 0.99835 0.792083 +22 1.29 0.901857 0.902996 +23 1.35 0.955879 1.03174 +24 1.41 0.970937 1.17439 +25 1.47 1.00497 1.33488 +26 1.53 1.0081 1.50927 +27 1.59 0.973552 1.69116 +28 1.65 1.04054 1.9005 +29 1.71 1.02162 2.12126 +30 1.77 0.988967 2.35021 +31 1.83 0.93095 2.5806 +32 1.89 0.947093 2.8306 +33 1.95 1.06105 3.12874 +34 2.01 1.07392 3.44936 +35 2.07 0.996798 3.76498 +36 2.13 0.98824 4.09629 +37 2.19 0.959992 4.43652 +38 2.25 0.917105 4.7796 +39 2.31 0.958721 5.15763 +40 2.37 1.01476 5.57882 +41 2.43 0.977533 6.00535 +42 2.49 1.01818 6.47183 +43 2.55 1.0406 6.97183 +44 2.61 1.00889 7.47967 +45 2.67 0.968799 7.99001 +46 2.73 0.99727 8.53923 +47 2.79 0.985841 9.10628 +48 2.85 0.979233 9.69401 +49 2.91 1.01621 10.3299 +50 2.97 1.00621 10.9857 +104700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.316701 0.00463623 +8 0.45 0.261794 0.0085592 +9 0.51 0.778472 0.0235378 +10 0.57 0.816295 0.0431526 +11 0.63 0.923505 0.0702568 +12 0.69 0.942206 0.103424 +13 0.75 1.20063 0.153352 +14 0.81 1.26472 0.214693 +15 0.87 1.07086 0.274608 +16 0.93 1.12128 0.346291 +17 0.99 0.974758 0.416904 +18 1.05 0.997868 0.498217 +19 1.11 0.94776 0.584522 +20 1.17 0.958819 0.681526 +21 1.23 0.854817 0.777104 +22 1.29 0.939555 0.892653 +23 1.35 0.995597 1.02675 +24 1.41 0.987928 1.1719 +25 1.47 1.00943 1.3331 +26 1.53 1.10912 1.52496 +27 1.59 0.962099 1.70471 +28 1.65 0.976721 1.90121 +29 1.71 0.968804 2.11056 +30 1.77 1.02286 2.34736 +31 1.83 0.975624 2.5888 +32 1.89 1.00654 2.85449 +33 1.95 0.931595 3.11626 +34 2.01 1.01658 3.41976 +35 2.07 1.00468 3.73787 +36 2.13 0.986113 4.06847 +37 2.19 0.995212 4.42118 +38 2.25 0.985745 4.78994 +39 2.31 0.967766 5.17154 +40 2.37 1.01219 5.59165 +41 2.43 0.992245 6.02461 +42 2.49 0.998715 6.48217 +43 2.55 1.00274 6.96398 +44 2.61 1.03086 7.48288 +45 2.67 0.988432 8.00357 +46 2.73 0.965539 8.53531 +47 2.79 0.980881 9.0995 +48 2.85 1.00716 9.70399 +49 2.91 0.993415 10.3256 +50 2.97 1.00566 10.9811 +104750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.221691 0.0042796 +8 0.45 0.42839 0.010699 +9 0.51 0.537517 0.0210414 +10 0.57 0.86082 0.0417261 +11 0.63 0.765537 0.064194 +12 0.69 0.911813 0.096291 +13 0.75 1.00338 0.138017 +14 0.81 1.28678 0.200428 +15 0.87 0.949753 0.253566 +16 0.93 1.26074 0.334165 +17 0.99 1.13722 0.416548 +18 1.05 0.888452 0.488944 +19 1.11 0.932095 0.573823 +20 1.17 1.02227 0.677247 +21 1.23 0.931368 0.781384 +22 1.29 0.974353 0.901213 +23 1.35 0.918809 1.02496 +24 1.41 0.927245 1.1612 +25 1.47 0.984869 1.31847 +26 1.53 0.966872 1.48573 +27 1.59 1.03846 1.67974 +28 1.65 1.01749 1.88445 +29 1.71 1.03977 2.10913 +30 1.77 1.07369 2.3577 +31 1.83 0.942479 2.59094 +32 1.89 1.02275 2.86091 +33 1.95 0.946826 3.12696 +34 2.01 0.985518 3.42118 +35 2.07 1.00693 3.74001 +36 2.13 1.01271 4.07953 +37 2.19 1.00729 4.43652 +38 2.25 0.954285 4.79351 +39 2.31 0.949677 5.16797 +40 2.37 0.996719 5.58167 +41 2.43 1.02003 6.02675 +42 2.49 0.992488 6.48146 +43 2.55 1.0072 6.96541 +44 2.61 0.986929 7.4622 +45 2.67 0.980985 7.97896 +46 2.73 0.992737 8.52568 +47 2.79 0.992041 9.09629 +48 2.85 1.01489 9.70542 +49 2.91 0.986006 10.3224 +50 2.97 1.04561 11.0039 +104800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.253361 0.0042796 +8 0.45 0.523588 0.0121255 +9 0.51 0.648727 0.0246077 +10 0.57 0.563985 0.0381598 +11 0.63 0.729083 0.0595578 +12 0.69 1.21575 0.102354 +13 0.75 1.13202 0.149429 +14 0.81 0.955894 0.195792 +15 0.87 1.24934 0.265692 +16 0.93 1.10455 0.336305 +17 0.99 1.09291 0.415478 +18 1.05 1.00662 0.497504 +19 1.11 0.865517 0.57632 +20 1.17 0.902418 0.667618 +21 1.23 0.99835 0.779244 +22 1.29 0.936655 0.894437 +23 1.35 0.953231 1.02282 +24 1.41 0.951518 1.16262 +25 1.47 1.04517 1.32953 +26 1.53 0.942134 1.49251 +27 1.59 1.07091 1.69258 +28 1.65 1.03522 1.90086 +29 1.71 0.978707 2.11234 +30 1.77 1.02902 2.35057 +31 1.83 0.98427 2.59415 +32 1.89 0.957902 2.847 +33 1.95 0.943018 3.11198 +34 2.01 1.04644 3.42439 +35 2.07 1.00919 3.74394 +36 2.13 0.948881 4.06205 +37 2.19 1.00125 4.4169 +38 2.25 1.0172 4.79743 +39 2.31 1.02203 5.20043 +40 2.37 1.00016 5.61555 +41 2.43 0.962821 6.03566 +42 2.49 1.01039 6.49857 +43 2.55 1.00052 6.97932 +44 2.61 0.995431 7.48039 +45 2.67 0.989109 8.00143 +46 2.73 1.03353 8.57061 +47 2.79 1.01994 9.15728 +48 2.85 0.997654 9.75606 +49 2.91 0.978597 10.3684 +50 2.97 1.05928 11.0588 +104850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.132597 0.00249643 +7 0.39 0.380042 0.00677603 +8 0.45 0.380791 0.0124822 +9 0.51 0.537517 0.0228245 +10 0.57 0.801453 0.0420827 +11 0.63 0.801991 0.0656205 +12 0.69 1.17523 0.10699 +13 0.75 1.1749 0.155849 +14 0.81 1.10295 0.209344 +15 0.87 1.14098 0.273181 +16 0.93 1.12128 0.344864 +17 0.99 0.959989 0.414408 +18 1.05 0.971608 0.493581 +19 1.11 0.967342 0.581669 +20 1.17 0.895368 0.672254 +21 1.23 0.886713 0.771398 +22 1.29 1.03235 0.898359 +23 1.35 0.955879 1.0271 +24 1.41 0.970937 1.16976 +25 1.47 0.975936 1.32561 +26 1.53 1.0617 1.50927 +27 1.59 0.931556 1.68331 +28 1.65 1.05117 1.89479 +29 1.71 1.02987 2.11733 +30 1.77 1.05675 2.36198 +31 1.83 0.952566 2.59772 +32 1.89 0.990327 2.85913 +33 1.95 0.945557 3.12482 +34 2.01 1.03449 3.43367 +35 2.07 1.01257 3.75428 +36 2.13 1.03079 4.09986 +37 2.19 0.97408 4.44508 +38 2.25 1.03532 4.83238 +39 2.31 1.02475 5.23645 +40 2.37 0.98469 5.64515 +41 2.43 1.02085 6.09058 +42 2.49 1.01506 6.55563 +43 2.55 1.00794 7.03994 +44 2.61 0.998265 7.54244 +45 2.67 0.975569 8.05635 +46 2.73 0.947406 8.5781 +47 2.79 0.982741 9.14337 +48 2.85 1.01548 9.75285 +49 2.91 0.997405 10.377 +50 2.97 0.971193 11.01 +104900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.265194 0.0032097 +7 0.39 0.285031 0.0064194 +8 0.45 0.285593 0.010699 +9 0.51 0.667262 0.0235378 +10 0.57 0.831136 0.0435093 +11 0.63 0.826294 0.0677603 +12 0.69 0.820631 0.0966476 +13 0.75 1.00338 0.138374 +14 0.81 1.17648 0.195435 +15 0.87 1.19835 0.262482 +16 0.93 1.16033 0.336662 +17 0.99 1.03383 0.411555 +18 1.05 1.06352 0.498217 +19 1.11 0.877266 0.578103 +20 1.17 0.96587 0.67582 +21 1.23 0.956885 0.78281 +22 1.29 0.919256 0.895863 +23 1.35 1.02472 1.03388 +24 1.41 0.978219 1.1776 +25 1.47 0.984869 1.33488 +26 1.53 1.10087 1.52532 +27 1.59 0.971643 1.70685 +28 1.65 1.02104 1.91227 +29 1.71 1.02162 2.13302 +30 1.77 0.970481 2.3577 +31 1.83 0.965536 2.59665 +32 1.89 1.00249 2.86127 +33 1.95 1.00775 3.14444 +34 2.01 1.02016 3.449 +35 2.07 0.983282 3.76034 +36 2.13 0.98824 4.09165 +37 2.19 0.988168 4.44187 +38 2.25 1.03246 4.8281 +39 2.31 0.992186 5.21933 +40 2.37 1.01906 5.6423 +41 2.43 1.01268 6.08417 +42 2.49 0.983925 6.53495 +43 2.55 0.996063 7.01355 +44 2.61 0.988346 7.51106 +45 2.67 1.03447 8.05599 +46 2.73 0.964891 8.58738 +47 2.79 0.982741 9.15264 +48 2.85 0.982799 9.74251 +49 2.91 1.01222 10.3759 +50 2.97 0.980494 11.015 +104950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.221691 0.00356633 +8 0.45 0.333192 0.0085592 +9 0.51 0.667262 0.021398 +10 0.57 0.816295 0.0410128 +11 0.63 0.887051 0.0670471 +12 0.69 0.911813 0.0991441 +13 0.75 1.06341 0.143367 +14 0.81 1.07354 0.195435 +15 0.87 1.10273 0.257133 +16 0.93 1.16591 0.331669 +17 0.99 1.16183 0.415835 +18 1.05 1.01537 0.498573 +19 1.11 1.00259 0.589872 +20 1.17 0.944719 0.685449 +21 1.23 0.940937 0.790656 +22 1.29 0.965654 0.909415 +23 1.35 0.947936 1.03709 +24 1.41 1.00007 1.18402 +25 1.47 1.06527 1.35414 +26 1.53 0.975119 1.52282 +27 1.59 0.971643 1.70435 +28 1.65 0.987357 1.903 +29 1.71 1.04968 2.12981 +30 1.77 1.08601 2.38124 +31 1.83 1.07074 2.64622 +32 1.89 0.949795 2.89693 +33 1.95 0.949364 3.16369 +34 2.01 1.05719 3.47932 +35 2.07 0.960755 3.78352 +36 2.13 0.976539 4.11091 +37 2.19 0.962005 4.45185 +38 2.25 1.01244 4.8306 +39 2.31 1.01027 5.22896 +40 2.37 0.982972 5.63695 +41 2.43 1.05028 6.09522 +42 2.49 0.997937 6.55243 +43 2.55 0.984188 7.02532 +44 2.61 1.01952 7.53852 +45 2.67 1.00942 8.07026 +46 2.73 0.972662 8.60592 +47 2.79 0.998861 9.18046 +48 2.85 1.00181 9.78174 +49 2.91 1.06523 10.4483 +50 2.97 0.993626 11.0959 +105000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.380042 0.00570613 +8 0.45 0.547387 0.0139087 +9 0.51 0.630192 0.0260342 +10 0.57 0.623352 0.0410128 +11 0.63 0.78984 0.064194 +12 0.69 1.15496 0.10485 +13 0.75 0.969079 0.14515 +14 0.81 1.14707 0.200785 +15 0.87 1.20472 0.268188 +16 0.93 1.34442 0.354137 +17 0.99 1.02891 0.428673 +18 1.05 0.967231 0.507489 +19 1.11 0.936011 0.592725 +20 1.17 0.909468 0.684736 +21 1.23 0.966454 0.792796 +22 1.29 0.896057 0.902996 +23 1.35 1.00619 1.03852 +24 1.41 1.04376 1.19187 +25 1.47 0.960303 1.34522 +26 1.53 1.04933 1.52675 +27 1.59 0.988823 1.71148 +28 1.65 0.95545 1.90371 +29 1.71 1.05298 2.13124 +30 1.77 1.00437 2.36377 +31 1.83 1.02606 2.61769 +32 1.89 1.00249 2.88231 +33 1.95 0.978556 3.15728 +34 2.01 0.974767 3.44829 +35 2.07 0.970892 3.75571 +36 2.13 0.980794 4.08452 +37 2.19 1.07471 4.46541 +38 2.25 0.956192 4.82311 +39 2.31 1.02203 5.22611 +40 2.37 0.989845 5.63695 +41 2.43 1.00369 6.07489 +42 2.49 1.01584 6.5403 +43 2.55 1.00645 7.02389 +44 2.61 0.96284 7.50856 +45 2.67 0.980308 8.02496 +46 2.73 0.983023 8.56633 +47 2.79 1.04784 9.16904 +48 2.85 0.986364 9.76106 +49 2.91 1.00139 10.3877 +50 2.97 1.01278 11.0478 +105050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.197809 0.00178317 +6 0.33 0.176796 0.0032097 +7 0.39 0.253361 0.00606277 +8 0.45 0.309393 0.010699 +9 0.51 0.741402 0.0249643 +10 0.57 0.549144 0.0381598 +11 0.63 0.923505 0.0652639 +12 0.69 1.10431 0.104137 +13 0.75 1.08057 0.149073 +14 0.81 1.13972 0.204351 +15 0.87 1.28121 0.276034 +16 0.93 1.16591 0.350571 +17 0.99 0.979681 0.421541 +18 1.05 1.0285 0.50535 +19 1.11 0.920346 0.589158 +20 1.17 0.941194 0.684379 +21 1.23 0.969643 0.792796 +22 1.29 0.977253 0.912981 +23 1.35 1.03796 1.05278 +24 1.41 1.02191 1.20292 +25 1.47 0.971469 1.35806 +26 1.53 0.991611 1.5296 +27 1.59 1.03082 1.72218 +28 1.65 0.99622 1.92261 +29 1.71 0.970455 2.13231 +30 1.77 1.01824 2.36805 +31 1.83 1.003 2.61626 +32 1.89 0.947093 2.86626 +33 1.95 1.06486 3.16548 +34 2.01 1.00344 3.46505 +35 2.07 1.05199 3.79815 +36 2.13 0.96271 4.1209 +37 2.19 1.00628 4.47753 +38 2.25 1.0315 4.86341 +39 2.31 0.957817 5.24108 +40 2.37 0.96235 5.64051 +41 2.43 0.961186 6.05991 +42 2.49 1.01584 6.52532 +43 2.55 1.03837 7.02425 +44 2.61 0.998973 7.5271 +45 2.67 1.02567 8.0674 +46 2.73 1.00569 8.62126 +47 2.79 1.01622 9.20578 +48 2.85 0.992306 9.80136 +49 2.91 0.983726 10.4169 +50 2.97 0.993079 11.0642 +105100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.348371 0.0064194 +8 0.45 0.42839 0.0128388 +9 0.51 0.648727 0.025321 +10 0.57 0.742086 0.0431526 +11 0.63 0.911353 0.0699001 +12 0.69 1.11444 0.10913 +13 0.75 0.960503 0.149073 +14 0.81 1.27207 0.21077 +15 0.87 1.10273 0.272468 +16 0.93 1.23843 0.351641 +17 0.99 0.99445 0.42368 +18 1.05 0.919089 0.498573 +19 1.11 0.963426 0.586305 +20 1.17 0.895368 0.67689 +21 1.23 0.969643 0.785307 +22 1.29 0.948254 0.901926 +23 1.35 1.00354 1.03709 +24 1.41 0.970937 1.17974 +25 1.47 0.962536 1.33345 +26 1.53 1.04727 1.51462 +27 1.59 1.04418 1.7097 +28 1.65 0.96254 1.90335 +29 1.71 1.01667 2.12304 +30 1.77 0.959698 2.34522 +31 1.83 1.003 2.59344 +32 1.89 1.04167 2.8684 +33 1.95 0.969672 3.14087 +34 2.01 1.02733 3.44757 +35 2.07 1.00018 3.76427 +36 2.13 0.976539 4.09165 +37 2.19 0.951942 4.42903 +38 2.25 0.964772 4.78994 +39 2.31 1.05007 5.20399 +40 2.37 1.03968 5.63552 +41 2.43 0.992245 6.06847 +42 2.49 0.986261 6.52033 +43 2.55 0.99829 7 +44 2.61 0.990471 7.49857 +45 2.67 0.998587 8.02461 +46 2.73 0.99986 8.57525 +47 2.79 0.992661 9.14622 +48 2.85 0.965567 9.72575 +49 2.91 1.01051 10.3581 +50 2.97 1.00512 11.0132 +105150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.158351 0.0032097 +8 0.45 0.404591 0.00927247 +9 0.51 0.593122 0.0206847 +10 0.57 0.816295 0.0402996 +11 0.63 0.826294 0.0645506 +12 0.69 0.942206 0.0977175 +13 0.75 1.08914 0.14301 +14 0.81 1.13237 0.197932 +15 0.87 1.23659 0.267118 +16 0.93 1.18822 0.343081 +17 0.99 1.13722 0.425464 +18 1.05 1.09853 0.514979 +19 1.11 0.892931 0.596291 +20 1.17 0.912993 0.688659 +21 1.23 0.91223 0.790656 +22 1.29 0.919256 0.903709 +23 1.35 0.961175 1.03317 +24 1.41 1.04618 1.18688 +25 1.47 1.04293 1.35342 +26 1.53 0.954503 1.51854 +27 1.59 0.990732 1.70364 +28 1.65 1.05826 1.91655 +29 1.71 1.01007 2.13481 +30 1.77 1.01515 2.36983 +31 1.83 1.02462 2.6234 +32 1.89 1.01059 2.89016 +33 1.95 0.899865 3.14301 +34 2.01 1.01538 3.44615 +35 2.07 1.05875 3.78138 +36 2.13 0.972284 4.10735 +37 2.19 1.00427 4.46327 +38 2.25 0.964772 4.82418 +39 2.31 0.971383 5.2072 +40 2.37 0.980394 5.61412 +41 2.43 1.01431 6.0567 +42 2.49 1.00728 6.51819 +43 2.55 1.01239 7.00464 +44 2.61 1.01385 7.51498 +45 2.67 0.986401 8.03459 +46 2.73 0.994032 8.58203 +47 2.79 1.02242 9.17011 +48 2.85 0.962002 9.7475 +49 2.91 1.02533 10.3891 +50 2.97 1.00019 11.041 +105200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.380042 0.00570613 +8 0.45 0.356992 0.0110556 +9 0.51 0.704332 0.0246077 +10 0.57 0.563985 0.0381598 +11 0.63 0.899202 0.0645506 +12 0.69 1.18536 0.106277 +13 0.75 1.15775 0.154422 +14 0.81 1.16178 0.21077 +15 0.87 1.19835 0.277817 +16 0.93 0.959504 0.339158 +17 0.99 1.07322 0.416904 +18 1.05 0.919089 0.491797 +19 1.11 0.928178 0.57632 +20 1.17 0.909468 0.668331 +21 1.23 0.909041 0.769971 +22 1.29 0.974353 0.8898 +23 1.35 0.982358 1.02211 +24 1.41 0.9588 1.16298 +25 1.47 1.00274 1.32311 +26 1.53 1.04727 1.50428 +27 1.59 1.04227 1.699 +28 1.65 1.00686 1.90157 +29 1.71 1.03152 2.12447 +30 1.77 1.09218 2.37732 +31 1.83 1.00156 2.62518 +32 1.89 0.972763 2.88195 +33 1.95 0.94048 3.14622 +34 2.01 0.956848 3.43188 +35 2.07 1.01031 3.75178 +36 2.13 0.975475 4.07882 +37 2.19 1.03446 4.44544 +38 2.25 1.05248 4.83916 +39 2.31 0.966861 5.2204 +40 2.37 0.982112 5.62803 +41 2.43 1.04864 6.08559 +42 2.49 0.97692 6.53317 +43 2.55 0.986414 7.00713 +44 2.61 0.990471 7.50571 +45 2.67 1.01077 8.03816 +46 2.73 0.953882 8.56348 +47 2.79 0.985221 9.13017 +48 2.85 1.01845 9.74144 +49 2.91 1.05269 10.4001 +50 2.97 1.00949 11.0581 +105250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.538392 0.00713267 +8 0.45 0.261794 0.0110556 +9 0.51 0.648727 0.0235378 +10 0.57 0.86082 0.0442225 +11 0.63 0.947808 0.0720399 +12 0.69 1.00299 0.107347 +13 0.75 0.986231 0.148359 +14 0.81 1.13972 0.203638 +15 0.87 1.19197 0.270328 +16 0.93 1.08781 0.339872 +17 0.99 0.915682 0.406205 +18 1.05 1.03726 0.490728 +19 1.11 0.853767 0.568474 +20 1.17 0.97997 0.667618 +21 1.23 0.963264 0.775321 +22 1.29 1.01205 0.899786 +23 1.35 1.03532 1.03923 +24 1.41 1.02434 1.18973 +25 1.47 0.982636 1.34665 +26 1.53 0.983365 1.51676 +27 1.59 0.933465 1.69116 +28 1.65 1.04054 1.9005 +29 1.71 1.08433 2.13481 +30 1.77 1.0321 2.37375 +31 1.83 1.01886 2.62589 +32 1.89 0.993029 2.88802 +33 1.95 1.06359 3.18688 +34 2.01 0.956848 3.47254 +35 2.07 1.01369 3.79351 +36 2.13 0.952072 4.1127 +37 2.19 0.984143 4.46148 +38 2.25 0.972398 4.82525 +39 2.31 1.05912 5.24287 +40 2.37 0.992423 5.65478 +41 2.43 0.998784 6.09058 +42 2.49 0.982369 6.54066 +43 2.55 1.0072 7.02461 +44 2.61 0.957881 7.50678 +45 2.67 1.01687 8.04244 +46 2.73 0.979138 8.58167 +47 2.79 1.01188 9.16369 +48 2.85 1.00835 9.7689 +49 2.91 1.02761 10.4119 +50 2.97 1.01551 11.0738 +105300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.316701 0.00499287 +8 0.45 0.380791 0.010699 +9 0.51 0.667262 0.0235378 +10 0.57 0.786611 0.0424394 +11 0.63 0.911353 0.0691869 +12 0.69 1.06378 0.106633 +13 0.75 1.24351 0.158345 +14 0.81 1.11031 0.212197 +15 0.87 1.21109 0.279957 +16 0.93 1.07665 0.348787 +17 0.99 1.02399 0.422967 +18 1.05 0.958478 0.50107 +19 1.11 0.983008 0.590585 +20 1.17 1.02932 0.694722 +21 1.23 0.91223 0.796719 +22 1.29 1.00045 0.919757 +23 1.35 0.971766 1.05064 +24 1.41 0.980646 1.19472 +25 1.47 1.0005 1.35449 +26 1.53 0.917395 1.5132 +27 1.59 1.15299 1.7286 +28 1.65 1.01572 1.93295 +29 1.71 0.985309 2.14586 +30 1.77 1.01053 2.37981 +31 1.83 0.995799 2.62625 +32 1.89 0.960604 2.87981 +33 1.95 0.998863 3.16049 +34 2.01 0.990296 3.45613 +35 2.07 0.982155 3.76712 +36 2.13 1.0393 4.11555 +37 2.19 0.95798 4.45506 +38 2.25 0.957145 4.81312 +39 2.31 1.03741 5.22218 +40 2.37 1.03539 5.65193 +41 2.43 0.959551 6.07061 +42 2.49 1.00261 6.52996 +43 2.55 1.03021 7.02496 +44 2.61 0.985512 7.52104 +45 2.67 0.969476 8.03174 +46 2.73 1.00698 8.58631 +47 2.79 1.01374 9.1694 +48 2.85 1.01607 9.77924 +49 2.91 0.961498 10.3809 +50 2.97 0.995815 11.03 +105350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.253361 0.00606277 +8 0.45 0.42839 0.0124822 +9 0.51 0.407771 0.0203281 +10 0.57 0.935028 0.042796 +11 0.63 0.899202 0.0691869 +12 0.69 1.18536 0.110913 +13 0.75 0.874744 0.14729 +14 0.81 1.14707 0.202924 +15 0.87 1.21109 0.270685 +16 0.93 1.09339 0.340585 +17 0.99 0.974758 0.411198 +18 1.05 0.975984 0.490728 +19 1.11 0.99084 0.580956 +20 1.17 0.990545 0.68117 +21 1.23 0.99835 0.792796 +22 1.29 0.881558 0.901213 +23 1.35 0.977062 1.03281 +24 1.41 1.03648 1.18509 +25 1.47 1.0139 1.347 +26 1.53 0.907087 1.50392 +27 1.59 1.1339 1.71576 +28 1.65 1.0689 1.93081 +29 1.71 1.00346 2.14765 +30 1.77 0.961239 2.37019 +31 1.83 0.974183 2.61127 +32 1.89 1.0187 2.88017 +33 1.95 1.04075 3.17261 +34 2.01 0.974767 3.46362 +35 2.07 0.978776 3.77354 +36 2.13 0.973348 4.09986 +37 2.19 0.96603 4.44223 +38 2.25 1.04008 4.83131 +39 2.31 0.990377 5.22183 +40 2.37 1.03367 5.65086 +41 2.43 1.01104 6.09201 +42 2.49 1.00339 6.55171 +43 2.55 1.01536 7.03959 +44 2.61 0.977718 7.53174 +45 2.67 0.991817 8.05421 +46 2.73 1.02188 8.61698 +47 2.79 0.985841 9.18402 +48 2.85 0.976262 9.76997 +49 2.91 1.01108 10.4026 +50 2.97 1.03521 11.0774 +105400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.221691 0.00499287 +8 0.45 0.356992 0.0103424 +9 0.51 0.593122 0.0217546 +10 0.57 0.831136 0.0417261 +11 0.63 0.753385 0.0638374 +12 0.69 0.851025 0.0937946 +13 0.75 1.12345 0.140514 +14 0.81 1.21325 0.199358 +15 0.87 1.21747 0.267475 +16 0.93 1.16591 0.342011 +17 0.99 1.13229 0.424037 +18 1.05 1.01537 0.506776 +19 1.11 0.994757 0.597361 +20 1.17 0.867168 0.685093 +21 1.23 0.924989 0.788516 +22 1.29 1.03235 0.915478 +23 1.35 0.932048 1.04101 +24 1.41 0.956373 1.18153 +25 1.47 0.95807 1.33452 +26 1.53 1.0081 1.50892 +27 1.59 1.05373 1.70578 +28 1.65 1.09017 1.92511 +29 1.71 1.01997 2.14551 +30 1.77 0.995129 2.37589 +31 1.83 0.98427 2.61947 +32 1.89 0.970061 2.87553 +33 1.95 1.02679 3.16405 +34 2.01 0.947291 3.44686 +35 2.07 0.982155 3.75785 +36 2.13 0.987177 4.0888 +37 2.19 0.955967 4.4276 +38 2.25 0.986698 4.79672 +39 2.31 1.03198 5.20364 +40 2.37 0.99586 5.61698 +41 2.43 1.0184 6.06134 +42 2.49 1.06332 6.5485 +43 2.55 0.981219 7.01997 +44 2.61 1.01456 7.53067 +45 2.67 1.01822 8.06705 +46 2.73 1.01864 8.62803 +47 2.79 0.983981 9.19401 +48 2.85 0.986364 9.78602 +49 2.91 0.982586 10.4009 +50 2.97 1.01387 11.0617 +105450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.316701 0.00499287 +8 0.45 0.571187 0.0135521 +9 0.51 0.574587 0.0246077 +10 0.57 0.94987 0.0474322 +11 0.63 0.862748 0.0727532 +12 0.69 0.881419 0.10378 +13 0.75 1.00338 0.145506 +14 0.81 1.25001 0.206134 +15 0.87 1.1346 0.269615 +16 0.93 1.13802 0.342368 +17 0.99 1.0486 0.418331 +18 1.05 1.01975 0.501427 +19 1.11 0.943844 0.587375 +20 1.17 0.891843 0.677603 +21 1.23 0.969643 0.78602 +22 1.29 0.945354 0.902282 +23 1.35 1.02737 1.04066 +24 1.41 0.985501 1.18545 +25 1.47 0.971469 1.34058 +26 1.53 1.02666 1.51819 +27 1.59 1.01364 1.70756 +28 1.65 1.04585 1.91797 +29 1.71 1.00016 2.13409 +30 1.77 0.973562 2.35949 +31 1.83 1.02606 2.61341 +32 1.89 1.0187 2.88231 +33 1.95 0.97221 3.15549 +34 2.01 1.02852 3.46255 +35 2.07 0.925839 3.75571 +36 2.13 1.0042 4.09237 +37 2.19 0.955967 4.43117 +38 2.25 1.0315 4.81705 +39 2.31 1.04374 5.2286 +40 2.37 0.972661 5.63231 +41 2.43 0.993062 6.06562 +42 2.49 1.05554 6.54922 +43 2.55 0.999032 7.02924 +44 2.61 0.983386 7.52425 +45 2.67 0.993171 8.04743 +46 2.73 0.95712 8.57454 +47 2.79 1.00444 9.15228 +48 2.85 1.01786 9.7632 +49 2.91 0.974607 10.373 +50 2.97 1.02317 11.0399 +105500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.044199 0.0010699 +7 0.39 0.158351 0.00285307 +8 0.45 0.452189 0.0096291 +9 0.51 0.426306 0.0178317 +10 0.57 0.94987 0.0406562 +11 0.63 0.935656 0.068117 +12 0.69 0.962469 0.101997 +13 0.75 1.06341 0.14622 +14 0.81 1.14707 0.201854 +15 0.87 1.03262 0.259629 +16 0.93 1.19938 0.336305 +17 0.99 0.984604 0.407632 +18 1.05 0.958478 0.485735 +19 1.11 0.920346 0.569544 +20 1.17 1.00112 0.670827 +21 1.23 0.928178 0.774608 +22 1.29 0.922156 0.888017 +23 1.35 1.04591 1.02889 +24 1.41 1.01463 1.17796 +25 1.47 0.980402 1.33452 +26 1.53 0.995734 1.50678 +27 1.59 0.983097 1.69044 +28 1.65 1.02636 1.89693 +29 1.71 1.04142 2.12197 +30 1.77 1.0398 2.3627 +31 1.83 1.003 2.61091 +32 1.89 0.924125 2.85485 +33 1.95 1.00394 3.13695 +34 2.01 0.964015 3.42475 +35 2.07 0.939355 3.72218 +36 2.13 1.03505 4.06919 +37 2.19 1.07169 4.449 +38 2.25 0.980978 4.81598 +39 2.31 1.00033 5.21041 +40 2.37 1.04484 5.64408 +41 2.43 1.02576 6.09165 +42 2.49 0.96213 6.53245 +43 2.55 0.973797 7.00036 +44 2.61 0.996848 7.50214 +45 2.67 1.00333 8.03067 +46 2.73 1.05231 8.6102 +47 2.79 0.96166 9.16334 +48 2.85 0.967944 9.74429 +49 2.91 0.982016 10.3588 +50 2.97 1.03466 11.0332 +105550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.348371 0.0064194 +8 0.45 0.523588 0.0142653 +9 0.51 0.556052 0.0249643 +10 0.57 0.801453 0.0442225 +11 0.63 0.814142 0.068117 +12 0.69 0.911813 0.100214 +13 0.75 1.14917 0.148003 +14 0.81 1.2206 0.207204 +15 0.87 1.28758 0.279244 +16 0.93 1.0655 0.347361 +17 0.99 1.0486 0.423324 +18 1.05 0.975984 0.502853 +19 1.11 0.963426 0.590585 +20 1.17 0.962344 0.687946 +21 1.23 0.950506 0.794223 +22 1.29 0.843859 0.898003 +23 1.35 1.02208 1.03566 +24 1.41 0.934527 1.17297 +25 1.47 0.982636 1.32989 +26 1.53 1.00192 1.50321 +27 1.59 1.00219 1.69044 +28 1.65 1.03876 1.89943 +29 1.71 1.09754 2.13659 +30 1.77 0.973562 2.36198 +31 1.83 1.03759 2.61876 +32 1.89 0.979519 2.87732 +33 1.95 1.00267 3.15906 +34 2.01 0.96521 3.44722 +35 2.07 0.991166 3.76106 +36 2.13 0.978666 4.08916 +37 2.19 0.973074 4.43402 +38 2.25 0.987652 4.8035 +39 2.31 1.04012 5.21362 +40 2.37 1.01906 5.63659 +41 2.43 0.992245 6.06954 +42 2.49 0.988596 6.52247 +43 2.55 1.06212 7.03281 +44 2.61 1.0344 7.5535 +45 2.67 0.993848 8.07703 +46 2.73 0.979138 8.61626 +47 2.79 0.983981 9.18224 +48 2.85 0.935263 9.74358 +49 2.91 1.00367 10.3716 +50 2.97 1.03029 11.0432 +105600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.411712 0.00784593 +8 0.45 0.594986 0.0167618 +9 0.51 0.500446 0.0263909 +10 0.57 0.653036 0.0420827 +11 0.63 0.911353 0.0688302 +12 0.69 1.05365 0.10592 +13 0.75 1.04626 0.149429 +14 0.81 1.15443 0.205421 +15 0.87 1.03899 0.263552 +16 0.93 1.07107 0.332026 +17 0.99 1.02891 0.406562 +18 1.05 1.05914 0.492867 +19 1.11 1.04959 0.588445 +20 1.17 0.877743 0.677247 +21 1.23 1.00792 0.789943 +22 1.29 0.945354 0.906205 +23 1.35 0.934696 1.0321 +24 1.41 1.02434 1.1826 +25 1.47 0.993802 1.3413 +26 1.53 1.04109 1.5214 +27 1.59 1.08236 1.72361 +28 1.65 1.03167 1.93117 +29 1.71 1.01172 2.14979 +30 1.77 1.03518 2.38944 +31 1.83 0.992917 2.63516 +32 1.89 0.91737 2.87732 +33 1.95 0.95698 3.14622 +34 2.01 0.996269 3.44365 +35 2.07 0.997924 3.75963 +36 2.13 1.0659 4.11698 +37 2.19 0.955967 4.45578 +38 2.25 1.02102 4.83773 +39 2.31 0.998517 5.23146 +40 2.37 0.986408 5.64087 +41 2.43 1.03229 6.0913 +42 2.49 0.975363 6.53816 +43 2.55 0.984188 7.01106 +44 2.61 1.02519 7.5271 +45 2.67 1.01077 8.05956 +46 2.73 0.957768 8.58702 +47 2.79 1.01436 9.17047 +48 2.85 0.989929 9.76462 +49 2.91 0.961498 10.3663 +50 2.97 0.96408 10.9947 +105650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.285031 0.00606277 +8 0.45 0.499788 0.0135521 +9 0.51 0.537517 0.0238944 +10 0.57 0.400726 0.0335235 +11 0.63 0.97211 0.0620542 +12 0.69 0.982731 0.0966476 +13 0.75 1.1406 0.14408 +14 0.81 1.26472 0.205421 +15 0.87 1.1856 0.271755 +16 0.93 1.09339 0.341655 +17 0.99 1.15199 0.425107 +18 1.05 0.967231 0.503923 +19 1.11 0.912513 0.587019 +20 1.17 0.923569 0.680456 +21 1.23 0.91542 0.78281 +22 1.29 0.968553 0.901926 +23 1.35 0.950583 1.02996 +24 1.41 1.00007 1.17689 +25 1.47 1.05187 1.34486 +26 1.53 1.00604 1.5189 +27 1.59 1.04991 1.71505 +28 1.65 0.985584 1.91334 +29 1.71 1.02492 2.13481 +30 1.77 1.01824 2.37054 +31 1.83 1.00589 2.61947 +32 1.89 0.96871 2.87518 +33 1.95 0.98871 3.153 +34 2.01 0.995074 3.45007 +35 2.07 0.967513 3.75642 +36 2.13 1.03717 4.10414 +37 2.19 0.950936 4.44116 +38 2.25 0.994325 4.81312 +39 2.31 1.04464 5.22504 +40 2.37 0.983831 5.63338 +41 2.43 1.02249 6.07953 +42 2.49 1.01039 6.54244 +43 2.55 1.01388 7.0296 +44 2.61 0.983386 7.52461 +45 2.67 1.0101 8.0567 +46 2.73 1.0167 8.61662 +47 2.79 0.996381 9.18973 +48 2.85 0.9929 9.78566 +49 2.91 0.957509 10.3848 +50 2.97 0.995815 11.0339 +105700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.253361 0.0053495 +8 0.45 0.571187 0.0139087 +9 0.51 0.722867 0.0278174 +10 0.57 0.756928 0.0460057 +11 0.63 0.850597 0.07097 +12 0.69 1.10431 0.109843 +13 0.75 1.01196 0.151926 +14 0.81 0.992659 0.200071 +15 0.87 1.08998 0.261056 +16 0.93 0.965082 0.322753 +17 0.99 1.10276 0.402639 +18 1.05 1.04163 0.487518 +19 1.11 1.06133 0.584165 +20 1.17 0.909468 0.676177 +21 1.23 1.03981 0.792439 +22 1.29 1.01205 0.916904 +23 1.35 0.889683 1.03673 +24 1.41 1.06075 1.19258 +25 1.47 1.0072 1.35342 +26 1.53 0.973057 1.52175 +27 1.59 1.01937 1.7122 +28 1.65 1.01572 1.91655 +29 1.71 1.01997 2.13695 +30 1.77 1.01361 2.37161 +31 1.83 0.982829 2.61484 +32 1.89 0.982221 2.87411 +33 1.95 1.00902 3.15763 +34 2.01 0.966405 3.44615 +35 2.07 0.991166 3.75999 +36 2.13 1.05526 4.11377 +37 2.19 1.01735 4.47432 +38 2.25 1.03246 4.86056 +39 2.31 0.971383 5.24358 +40 2.37 0.988127 5.65371 +41 2.43 1.00205 6.09094 +42 2.49 0.969914 6.53531 +43 2.55 0.990125 7.01106 +44 2.61 0.964965 7.49679 +45 2.67 1.00197 8.02461 +46 2.73 1.01087 8.58131 +47 2.79 1.04226 9.18081 +48 2.85 0.988741 9.77425 +49 2.91 1.00937 10.4058 +50 2.97 0.986513 11.0489 +105750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.348371 0.0053495 +8 0.45 0.523588 0.0131954 +9 0.51 0.444841 0.0217546 +10 0.57 0.875662 0.042796 +11 0.63 0.97211 0.0713267 +12 0.69 0.992863 0.106277 +13 0.75 0.994807 0.147646 +14 0.81 1.22796 0.207204 +15 0.87 1.19197 0.273894 +16 0.93 1.00971 0.338445 +17 0.99 1.02891 0.412981 +18 1.05 0.975984 0.492511 +19 1.11 0.967342 0.580599 +20 1.17 0.849542 0.666548 +21 1.23 0.991971 0.777461 +22 1.29 0.962754 0.895863 +23 1.35 0.913513 1.0189 +24 1.41 1.08259 1.17796 +25 1.47 0.940204 1.3281 +26 1.53 1.04521 1.50892 +27 1.59 0.97737 1.69151 +28 1.65 0.987357 1.89016 +29 1.71 1.03977 2.11484 +30 1.77 1.07215 2.36305 +31 1.83 0.998681 2.6102 +32 1.89 0.975466 2.86769 +33 1.95 0.989979 3.14586 +34 2.01 1.04286 3.4572 +35 2.07 0.972018 3.76498 +36 2.13 0.965901 4.0888 +37 2.19 1.03345 4.45506 +38 2.25 0.968585 4.8174 +39 2.31 1.00123 5.2122 +40 2.37 1.03796 5.64301 +41 2.43 0.998784 6.07882 +42 2.49 1.02285 6.54743 +43 2.55 0.973797 7.01534 +44 2.61 1.01385 7.52568 +45 2.67 0.987755 8.04601 +46 2.73 1.02253 8.60913 +47 2.79 1.00506 9.18723 +48 2.85 1.02202 9.80064 +49 2.91 1.00595 10.4301 +50 2.97 0.995815 11.0792 +105800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.443382 0.00677603 +8 0.45 0.356992 0.0121255 +9 0.51 0.759937 0.0267475 +10 0.57 0.504619 0.038873 +11 0.63 0.984262 0.0677603 +12 0.69 0.911813 0.0998573 +13 0.75 1.08914 0.14515 +14 0.81 1.14707 0.200785 +15 0.87 1.28758 0.272825 +16 0.93 1.10455 0.343438 +17 0.99 1.03383 0.418331 +18 1.05 1.011 0.500713 +19 1.11 0.802855 0.573823 +20 1.17 0.976445 0.672611 +21 1.23 0.976023 0.78174 +22 1.29 1.00335 0.905136 +23 1.35 0.990301 1.03852 +24 1.41 0.978219 1.18224 +25 1.47 1.07643 1.35414 +26 1.53 1.08232 1.54137 +27 1.59 1.00409 1.72896 +28 1.65 0.948359 1.91976 +29 1.71 1.02822 2.14194 +30 1.77 0.96432 2.36519 +31 1.83 0.94392 2.59879 +32 1.89 1.05248 2.8766 +33 1.95 0.983633 3.153 +34 2.01 1.05719 3.46862 +35 2.07 1.01144 3.78887 +36 2.13 1.0159 4.12946 +37 2.19 0.929804 4.45899 +38 2.25 0.951425 4.81491 +39 2.31 1.07087 5.23716 +40 2.37 1.02507 5.66262 +41 2.43 1.00124 6.0995 +42 2.49 1.01273 6.56348 +43 2.55 0.958952 7.02425 +44 2.61 0.972759 7.51391 +45 2.67 1.04192 8.06277 +46 2.73 1.03418 8.63231 +47 2.79 0.97716 9.19437 +48 2.85 1.02142 9.80742 +49 2.91 0.973467 10.4165 +50 2.97 1.00183 11.0695 +105850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.309393 0.00392297 +7 0.39 0.316701 0.0074893 +8 0.45 0.452189 0.0142653 +9 0.51 0.593122 0.0256776 +10 0.57 0.549144 0.038873 +11 0.63 0.923505 0.0659772 +12 0.69 1.08404 0.104137 +13 0.75 1.03769 0.14729 +14 0.81 1.14707 0.202924 +15 0.87 1.20472 0.270328 +16 0.93 1.08223 0.339515 +17 0.99 1.02891 0.414051 +18 1.05 0.949725 0.491441 +19 1.11 1.05742 0.587732 +20 1.17 0.895368 0.678317 +21 1.23 0.944126 0.78388 +22 1.29 0.974353 0.903709 +23 1.35 0.990301 1.03709 +24 1.41 1.01948 1.18688 +25 1.47 1.00943 1.34807 +26 1.53 1.0349 1.5271 +27 1.59 1.04418 1.72218 +28 1.65 0.957222 1.91476 +29 1.71 0.99026 2.12874 +30 1.77 1.00899 2.36234 +31 1.83 0.981388 2.60521 +32 1.89 0.972763 2.86198 +33 1.95 0.983633 3.13837 +34 2.01 0.962821 3.42582 +35 2.07 1.02946 3.75178 +36 2.13 1.04036 4.10057 +37 2.19 0.969049 4.44401 +38 2.25 1.0458 4.83524 +39 2.31 1.08082 5.26141 +40 2.37 0.977816 5.66726 +41 2.43 1.0045 6.10556 +42 2.49 0.965243 6.54779 +43 2.55 1.01833 7.03709 +44 2.61 0.981261 7.53103 +45 2.67 0.959321 8.03638 +46 2.73 0.991442 8.58238 +47 2.79 1.0001 9.15763 +48 2.85 0.998842 9.75713 +49 2.91 0.979737 10.3702 +50 2.97 1.05819 11.0599 +105900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.380042 0.0053495 +8 0.45 0.547387 0.0135521 +9 0.51 0.778472 0.0285307 +10 0.57 0.786611 0.0474322 +11 0.63 0.899202 0.0738231 +12 0.69 1.01313 0.109486 +13 0.75 0.849016 0.144793 +14 0.81 1.21325 0.203638 +15 0.87 1.19835 0.270685 +16 0.93 1.14917 0.344151 +17 0.99 1.12245 0.425464 +18 1.05 1.05914 0.511769 +19 1.11 0.932095 0.596648 +20 1.17 0.888318 0.686519 +21 1.23 0.991971 0.797432 +22 1.29 0.985953 0.918688 +23 1.35 0.884387 1.0378 +24 1.41 1.08017 1.1965 +25 1.47 0.933504 1.34558 +26 1.53 0.999857 1.51854 +27 1.59 1.069 1.71826 +28 1.65 1.02104 1.92368 +29 1.71 0.975406 2.13445 +30 1.77 1.00437 2.36698 +31 1.83 0.985711 2.61091 +32 1.89 1.00249 2.87553 +33 1.95 0.959518 3.14515 +34 2.01 0.969988 3.43474 +35 2.07 1.01031 3.75464 +36 2.13 1.06164 4.11056 +37 2.19 0.987162 4.46041 +38 2.25 1.03246 4.84665 +39 2.31 0.962339 5.22611 +40 2.37 1.01133 5.64586 +41 2.43 0.97835 6.07275 +42 2.49 1.03841 6.5485 +43 2.55 0.973797 7.01641 +44 2.61 0.968508 7.50392 +45 2.67 1.00468 8.03317 +46 2.73 1.00245 8.58524 +47 2.79 1.00382 9.16262 +48 2.85 1.03865 9.78602 +49 2.91 1.01507 10.4212 +50 2.97 0.989249 11.066 +105950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.0883979 0.000713267 +7 0.39 0.190021 0.00285307 +8 0.45 0.571187 0.0114123 +9 0.51 0.759937 0.0260342 +10 0.57 0.771769 0.0445792 +11 0.63 0.947808 0.0723966 +12 0.69 1.04352 0.10913 +13 0.75 0.986231 0.150143 +14 0.81 1.0809 0.202568 +15 0.87 1.20472 0.269971 +16 0.93 1.03202 0.335949 +17 0.99 1.07814 0.414051 +18 1.05 0.984738 0.494294 +19 1.11 0.916429 0.577746 +20 1.17 1.02227 0.68117 +21 1.23 1.02387 0.795649 +22 1.29 1.03235 0.922611 +23 1.35 0.963823 1.05243 +24 1.41 0.990356 1.19793 +25 1.47 0.929037 1.34629 +26 1.53 0.940072 1.50892 +27 1.59 0.983097 1.69258 +28 1.65 1.03699 1.90121 +29 1.71 1.00181 2.11769 +30 1.77 0.995129 2.34807 +31 1.83 0.982829 2.5913 +32 1.89 1.05518 2.86983 +33 1.95 0.978556 3.14479 +34 2.01 1.00702 3.44544 +35 2.07 0.973145 3.75357 +36 2.13 1.03717 4.10128 +37 2.19 1.02037 4.46291 +38 2.25 0.987652 4.83238 +39 2.31 0.914403 5.19294 +40 2.37 1.02336 5.61769 +41 2.43 0.982437 6.04636 +42 2.49 1.00027 6.50464 +43 2.55 0.977508 6.97432 +44 2.61 1.02944 7.49251 +45 2.67 0.965414 8.00107 +46 2.73 1.00051 8.55207 +47 2.79 0.987081 9.11983 +48 2.85 1.01786 9.73074 +49 2.91 0.986576 10.3481 +50 2.97 1.00457 11.0029 +106000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.348371 0.0064194 +8 0.45 0.261794 0.0103424 +9 0.51 0.593122 0.0217546 +10 0.57 0.875662 0.042796 +11 0.63 0.838445 0.0674037 +12 0.69 1.16509 0.108417 +13 0.75 1.1406 0.155849 +14 0.81 1.10295 0.209344 +15 0.87 1.07724 0.269615 +16 0.93 1.04318 0.336305 +17 0.99 1.16183 0.420471 +18 1.05 0.962855 0.49893 +19 1.11 0.99084 0.589158 +20 1.17 0.853067 0.675464 +21 1.23 0.940937 0.78067 +22 1.29 1.03235 0.907632 +23 1.35 0.90557 1.0296 +24 1.41 1.0122 1.17832 +25 1.47 0.991569 1.33666 +26 1.53 0.962749 1.50321 +27 1.59 0.985006 1.68723 +28 1.65 1.01217 1.89087 +29 1.71 1.02327 2.11198 +30 1.77 1.0244 2.34914 +31 1.83 1.0275 2.60342 +32 1.89 1.016 2.87161 +33 1.95 0.991248 3.15014 +34 2.01 1.00941 3.4515 +35 2.07 1.01482 3.77282 +36 2.13 0.97973 4.10128 +37 2.19 1.0093 4.45899 +38 2.25 0.960005 4.81812 +39 2.31 0.962339 5.19757 +40 2.37 0.991564 5.60913 +41 2.43 1.01922 6.05385 +42 2.49 1.01662 6.51961 +43 2.55 1.0213 7.01034 +44 2.61 1.02519 7.52639 +45 2.67 1.00807 8.05742 +46 2.73 1.00375 8.6102 +47 2.79 1.0001 9.18545 +48 2.85 0.983987 9.77603 +49 2.91 0.995125 10.3987 +50 2.97 0.976664 11.0353 +106050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.380042 0.00606277 +8 0.45 0.404591 0.0121255 +9 0.51 0.611657 0.0238944 +10 0.57 0.608511 0.0385164 +11 0.63 0.959959 0.0666904 +12 0.69 1.05365 0.10378 +13 0.75 1.01196 0.145863 +14 0.81 1.19119 0.203638 +15 0.87 1.07086 0.263552 +16 0.93 1.18264 0.339158 +17 0.99 1.19137 0.425464 +18 1.05 0.862193 0.49572 +19 1.11 0.912513 0.578816 +20 1.17 0.951769 0.675107 +21 1.23 0.956885 0.782097 +22 1.29 0.985953 0.903352 +23 1.35 1.02208 1.04101 +24 1.41 0.951518 1.18081 +25 1.47 1.0273 1.34486 +26 1.53 1.01635 1.52068 +27 1.59 0.985006 1.70471 +28 1.65 0.978494 1.90157 +29 1.71 0.998512 2.11733 +30 1.77 1.04442 2.35913 +31 1.83 1.01453 2.6102 +32 1.89 0.959253 2.86341 +33 1.95 1.00648 3.14622 +34 2.01 0.943708 3.42796 +35 2.07 1.01932 3.75071 +36 2.13 1.04675 4.10164 +37 2.19 1.00226 4.45685 +38 2.25 1.01148 4.83524 +39 2.31 0.974097 5.21933 +40 2.37 0.972661 5.62304 +41 2.43 1.02003 6.06812 +42 2.49 0.99638 6.52461 +43 2.55 0.992352 7.00143 +44 2.61 1.01456 7.51213 +45 2.67 1.00942 8.04387 +46 2.73 1.00116 8.59522 +47 2.79 0.996381 9.16833 +48 2.85 1.00657 9.77247 +49 2.91 0.970047 10.3795 +50 2.97 0.976664 11.016 +106100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.348371 0.0053495 +8 0.45 0.404591 0.0114123 +9 0.51 0.759937 0.0260342 +10 0.57 0.653036 0.0417261 +11 0.63 1.09362 0.0738231 +12 0.69 0.982731 0.108417 +13 0.75 0.917623 0.146576 +14 0.81 1.13237 0.201498 +15 0.87 1.06449 0.261056 +16 0.93 1.18264 0.336662 +17 0.99 1.05845 0.413338 +18 1.05 1.011 0.49572 +19 1.11 1.01825 0.588445 +20 1.17 0.937669 0.68331 +21 1.23 0.985591 0.793509 +22 1.29 0.948254 0.910128 +23 1.35 0.950583 1.03816 +24 1.41 0.96851 1.18046 +25 1.47 0.955837 1.3331 +26 1.53 0.979242 1.5025 +27 1.59 1.006 1.69044 +28 1.65 1.03345 1.89836 +29 1.71 1.05793 2.12696 +30 1.77 0.998209 2.35806 +31 1.83 1.01021 2.60806 +32 1.89 1.016 2.87625 +33 1.95 1.00521 3.1587 +34 2.01 0.968794 3.44793 +35 2.07 0.979903 3.7582 +36 2.13 0.987177 4.08916 +37 2.19 0.937854 4.42154 +38 2.25 1.01434 4.801 +39 2.31 0.989473 5.19116 +40 2.37 0.972661 5.59486 +41 2.43 1.03148 6.04494 +42 2.49 1.00027 6.50321 +43 2.55 1.01017 6.98859 +44 2.61 0.99118 7.48752 +45 2.67 0.993171 8.0107 +46 2.73 0.992089 8.55706 +47 2.79 0.984601 9.1234 +48 2.85 0.966755 9.70364 +49 2.91 0.976317 10.3146 +50 2.97 0.978306 10.9522 +106150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.265194 0.0021398 +7 0.39 0.348371 0.00606277 +8 0.45 0.404591 0.0121255 +9 0.51 0.463376 0.0210414 +10 0.57 0.771769 0.0395863 +11 0.63 0.911353 0.0663338 +12 0.69 1.16509 0.107347 +13 0.75 1.01196 0.149429 +14 0.81 1.11766 0.203638 +15 0.87 1.22384 0.272111 +16 0.93 1.07665 0.340942 +17 0.99 1.01906 0.414765 +18 1.05 1.02413 0.498217 +19 1.11 0.877266 0.578103 +20 1.17 1.04695 0.684023 +21 1.23 0.91542 0.786377 +22 1.29 0.962754 0.904779 +23 1.35 1.00089 1.03959 +24 1.41 0.961228 1.18081 +25 1.47 1.01837 1.34344 +26 1.53 1.03903 1.52318 +27 1.59 0.990732 1.70827 +28 1.65 1.01395 1.91227 +29 1.71 1.02657 2.13409 +30 1.77 1.04288 2.37553 +31 1.83 0.985711 2.61947 +32 1.89 1.00384 2.88445 +33 1.95 1.01282 3.16904 +34 2.01 1.0118 3.47111 +35 2.07 1.00806 3.7903 +36 2.13 0.938243 4.10485 +37 2.19 0.989175 4.45542 +38 2.25 1.00767 4.83238 +39 2.31 0.964148 5.21255 +40 2.37 1.04398 5.64586 +41 2.43 0.993062 6.07917 +42 2.49 1.00883 6.54137 +43 2.55 0.973797 7.00927 +44 2.61 0.980552 7.50285 +45 2.67 1.0189 8.03959 +46 2.73 1.029 8.60628 +47 2.79 0.998241 9.18046 +48 2.85 0.957248 9.75499 +49 2.91 1.02305 10.3951 +50 2.97 0.977212 11.0321 +106200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.475052 0.00784593 +8 0.45 0.475989 0.0149786 +9 0.51 0.667262 0.0278174 +10 0.57 0.994395 0.0517118 +11 0.63 0.984262 0.0805991 +12 0.69 0.759844 0.107347 +13 0.75 1.08057 0.152282 +14 0.81 1.13237 0.207204 +15 0.87 0.994372 0.262839 +16 0.93 1.23285 0.341655 +17 0.99 1.00922 0.414765 +18 1.05 0.949725 0.492154 +19 1.11 0.998673 0.583096 +20 1.17 0.958819 0.6801 +21 1.23 0.893093 0.779957 +22 1.29 1.02075 0.905492 +23 1.35 0.932048 1.03103 +24 1.41 1.01706 1.18046 +25 1.47 1.06527 1.35057 +26 1.53 1.0246 1.52782 +27 1.59 0.986915 1.7122 +28 1.65 1.0689 1.92725 +29 1.71 0.9523 2.13302 +30 1.77 0.979724 2.35984 +31 1.83 1.03039 2.61484 +32 1.89 0.975466 2.87233 +33 1.95 0.978556 3.14729 +34 2.01 1.02733 3.45399 +35 2.07 0.947239 3.75392 +36 2.13 0.993559 4.08702 +37 2.19 1.01534 4.44686 +38 2.25 1.0172 4.82739 +39 2.31 1.0365 5.23609 +40 2.37 0.958054 5.63374 +41 2.43 0.963638 6.05421 +42 2.49 1.01973 6.5214 +43 2.55 1.04505 7.02354 +44 2.61 0.992597 7.52318 +45 2.67 0.958644 8.02817 +46 2.73 0.980433 8.56812 +47 2.79 0.992041 9.13873 +48 2.85 1.00419 9.74144 +49 2.91 0.997405 10.3655 +50 2.97 1.02481 11.0335 +106250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.220995 0.00285307 +7 0.39 0.253361 0.00570613 +8 0.45 0.594986 0.014622 +9 0.51 0.426306 0.0228245 +10 0.57 0.697561 0.0395863 +11 0.63 0.765537 0.0620542 +12 0.69 1.01313 0.0977175 +13 0.75 1.21778 0.148359 +14 0.81 1.19854 0.206491 +15 0.87 1.09636 0.267832 +16 0.93 1.04876 0.334879 +17 0.99 1.15691 0.418688 +18 1.05 1.11166 0.509272 +19 1.11 0.963426 0.597004 +20 1.17 0.909468 0.689016 +21 1.23 0.921799 0.792083 +22 1.29 0.997552 0.914765 +23 1.35 0.939992 1.04137 +24 1.41 1.02677 1.19223 +25 1.47 0.962536 1.34593 +26 1.53 1.01017 1.52068 +27 1.59 1.02318 1.71184 +28 1.65 0.982039 1.90942 +29 1.71 1.00841 2.12732 +30 1.77 1.02286 2.36412 +31 1.83 1.003 2.61234 +32 1.89 1.00519 2.87767 +33 1.95 0.953172 3.14551 +34 2.01 0.997463 3.4433 +35 2.07 1.04523 3.77425 +36 2.13 1.01803 4.11555 +37 2.19 0.959992 4.45578 +38 2.25 1.01339 4.83488 +39 2.31 1.02294 5.23823 +40 2.37 1.00789 5.65656 +41 2.43 0.977533 6.0831 +42 2.49 1.00494 6.54351 +43 2.55 0.996805 7.02247 +44 2.61 0.995431 7.52354 +45 2.67 1.00333 8.05207 +46 2.73 0.983671 8.59379 +47 2.79 0.95546 9.14337 +48 2.85 1.01429 9.75214 +49 2.91 1.00481 10.3809 +50 2.97 1.00895 11.0385 +106300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.0950104 0.00356633 +8 0.45 0.404591 0.0096291 +9 0.51 0.611657 0.021398 +10 0.57 0.801453 0.0406562 +11 0.63 0.923505 0.0677603 +12 0.69 1.02326 0.10378 +13 0.75 1.02053 0.14622 +14 0.81 1.08825 0.199001 +15 0.87 1.31308 0.272468 +16 0.93 1.02087 0.337732 +17 0.99 1.17168 0.422611 +18 1.05 0.989114 0.50321 +19 1.11 0.869433 0.582382 +20 1.17 0.941194 0.677603 +21 1.23 0.854817 0.773181 +22 1.29 0.985953 0.894437 +23 1.35 0.992949 1.02817 +24 1.41 1.00735 1.17618 +25 1.47 1.03177 1.34094 +26 1.53 0.985426 1.51141 +27 1.59 0.981188 1.69472 +28 1.65 0.969631 1.8898 +29 1.71 1.05463 2.11769 +30 1.77 1.05521 2.36198 +31 1.83 0.954007 2.59807 +32 1.89 1.0187 2.86698 +33 1.95 0.97221 3.14016 +34 2.01 0.986712 3.43474 +35 2.07 1.0182 3.75713 +36 2.13 1.01483 4.09736 +37 2.19 0.990181 4.44829 +38 2.25 1.00862 4.82561 +39 2.31 0.969575 5.20792 +40 2.37 0.998438 5.62233 +41 2.43 0.955465 6.03923 +42 2.49 1.00806 6.50107 +43 2.55 1.02278 6.99251 +44 2.61 1.00252 7.49715 +45 2.67 1.00265 8.02532 +46 2.73 1.0154 8.58452 +47 2.79 0.97158 9.14337 +48 2.85 0.969726 9.72539 +49 2.91 0.986576 10.3427 +50 2.97 1.01606 11.005 +106350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.158351 0.00499287 +8 0.45 0.42839 0.0114123 +9 0.51 0.648727 0.0238944 +10 0.57 0.831136 0.0438659 +11 0.63 0.97211 0.0723966 +12 0.69 0.952338 0.10592 +13 0.75 1.07199 0.150499 +14 0.81 1.21325 0.209344 +15 0.87 1.05811 0.268545 +16 0.93 0.948347 0.329173 +17 0.99 1.01414 0.402639 +18 1.05 1.15105 0.496434 +19 1.11 1.00651 0.588088 +20 1.17 0.955294 0.684736 +21 1.23 0.886713 0.78388 +22 1.29 0.893157 0.893723 +23 1.35 1.01943 1.03103 +24 1.41 0.987928 1.17618 +25 1.47 1.05857 1.34522 +26 1.53 1.0081 1.51961 +27 1.59 1.09763 1.72468 +28 1.65 1.03345 1.9326 +29 1.71 0.993561 2.14729 +30 1.77 1.03518 2.38695 +31 1.83 1.00733 2.63623 +32 1.89 0.959253 2.88944 +33 1.95 0.984902 3.16619 +34 2.01 0.964015 3.45399 +35 2.07 1.06776 3.79208 +36 2.13 0.977603 4.11983 +37 2.19 0.969049 4.46327 +38 2.25 0.950472 4.81883 +39 2.31 1.01932 5.22076 +40 2.37 1.02593 5.64658 +41 2.43 1.04129 6.10093 +42 2.49 0.956681 6.53923 +43 2.55 0.935201 6.98859 +44 2.61 1.01669 7.50036 +45 2.67 1.01145 8.03317 +46 2.73 0.984966 8.57561 +47 2.79 1.0249 9.16512 +48 2.85 0.987552 9.75785 +49 2.91 0.962638 10.3602 +50 2.97 0.978306 10.9979 +106400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.221691 0.00499287 +8 0.45 0.571187 0.0135521 +9 0.51 0.593122 0.0249643 +10 0.57 0.638194 0.0402996 +11 0.63 0.947808 0.068117 +12 0.69 1.01313 0.10378 +13 0.75 1.03769 0.146933 +14 0.81 1.16178 0.203281 +15 0.87 1.19835 0.270328 +16 0.93 1.18822 0.346291 +17 0.99 1.07814 0.424394 +18 1.05 0.975984 0.503923 +19 1.11 0.932095 0.588802 +20 1.17 1.00112 0.690086 +21 1.23 0.928178 0.793866 +22 1.29 0.948254 0.910485 +23 1.35 0.934696 1.03638 +24 1.41 1.02191 1.18652 +25 1.47 1.06527 1.35663 +26 1.53 0.970995 1.52461 +27 1.59 1.04609 1.72004 +28 1.65 0.99622 1.92047 +29 1.71 0.978707 2.13195 +30 1.77 1.06137 2.37767 +31 1.83 0.990035 2.62268 +32 1.89 0.972763 2.87946 +33 1.95 1.03694 3.17083 +34 2.01 0.973572 3.46148 +35 2.07 0.99004 3.77496 +36 2.13 0.995687 4.10877 +37 2.19 0.996218 4.46184 +38 2.25 1.01434 4.8413 +39 2.31 0.965957 5.22218 +40 2.37 0.995001 5.63516 +41 2.43 1.04701 6.09201 +42 2.49 1.01039 6.55492 +43 2.55 1.01685 7.04351 +44 2.61 1.00889 7.55136 +45 2.67 0.9776 8.06633 +46 2.73 0.990147 8.61163 +47 2.79 1.03296 9.20578 +48 2.85 0.979828 9.79387 +49 2.91 0.982586 10.4087 +50 2.97 1.03521 11.0835 +106450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.353592 0.0032097 +7 0.39 0.348371 0.00713267 +8 0.45 0.499788 0.014622 +9 0.51 0.667262 0.0274608 +10 0.57 0.489777 0.0392297 +11 0.63 0.947808 0.0670471 +12 0.69 1.06378 0.104494 +13 0.75 1.06341 0.148716 +14 0.81 1.14707 0.204351 +15 0.87 1.10911 0.266405 +16 0.93 1.07665 0.335235 +17 0.99 1.00922 0.408345 +18 1.05 0.993491 0.489301 +19 1.11 1.02217 0.582382 +20 1.17 0.955294 0.67903 +21 1.23 0.947316 0.78495 +22 1.29 0.997552 0.907632 +23 1.35 0.94264 1.03459 +24 1.41 1.0923 1.19508 +25 1.47 0.933504 1.34415 +26 1.53 1.02047 1.52068 +27 1.59 0.981188 1.70399 +28 1.65 1.0884 1.92297 +29 1.71 0.995211 2.13802 +30 1.77 1.00129 2.36983 +31 1.83 0.962654 2.60806 +32 1.89 1.0187 2.87696 +33 1.95 1.00013 3.15799 +34 2.01 1.02972 3.46541 +35 2.07 1.01144 3.78566 +36 2.13 1.02973 4.13088 +37 2.19 1.00729 4.48787 +38 2.25 0.994325 4.85984 +39 2.31 0.99309 5.25143 +40 2.37 0.981253 5.6587 +41 2.43 0.975081 6.08417 +42 2.49 1.02518 6.55385 +43 2.55 1.00571 7.03709 +44 2.61 1.02802 7.55456 +45 2.67 0.967445 8.06419 +46 2.73 1.02771 8.63017 +47 2.79 1.04784 9.23288 +48 2.85 0.994683 9.82989 +49 2.91 1.01222 10.4633 +50 2.97 0.969551 11.0952 +106500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.348371 0.0053495 +8 0.45 0.547387 0.0135521 +9 0.51 0.444841 0.0221113 +10 0.57 0.935028 0.0445792 +11 0.63 0.959959 0.0727532 +12 0.69 1.00299 0.10806 +13 0.75 1.12345 0.154779 +14 0.81 1.02942 0.204708 +15 0.87 1.10273 0.266405 +16 0.93 1.16033 0.340585 +17 0.99 1.15691 0.424394 +18 1.05 0.82718 0.491797 +19 1.11 0.865517 0.570613 +20 1.17 0.99407 0.671184 +21 1.23 0.99835 0.78281 +22 1.29 1.01495 0.907632 +23 1.35 0.94264 1.03459 +24 1.41 0.997638 1.18117 +25 1.47 1.06973 1.352 +26 1.53 1.02253 1.52889 +27 1.59 0.981188 1.7122 +28 1.65 0.958995 1.90514 +29 1.71 1.00841 2.12304 +30 1.77 0.993588 2.35307 +31 1.83 1.101 2.62553 +32 1.89 0.990327 2.88695 +33 1.95 0.983633 3.16334 +34 2.01 1.02852 3.4704 +35 2.07 0.994545 3.78531 +36 2.13 1.00207 4.12126 +37 2.19 0.962005 4.4622 +38 2.25 1.02578 4.84593 +39 2.31 0.994899 5.23823 +40 2.37 1.02765 5.66476 +41 2.43 1.02576 6.11234 +42 2.49 0.94734 6.54636 +43 2.55 1.04802 7.04993 +44 2.61 0.991888 7.54922 +45 2.67 0.996556 8.07418 +46 2.73 1.00051 8.62518 +47 2.79 1.00692 9.20435 +48 2.85 0.959625 9.78031 +49 2.91 0.986576 10.3976 +50 2.97 1.01661 11.0603 +106550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.132597 0.0010699 +7 0.39 0.253361 0.00392297 +8 0.45 0.547387 0.0121255 +9 0.51 0.630192 0.0242511 +10 0.57 0.771769 0.042796 +11 0.63 0.801991 0.0663338 +12 0.69 1.04352 0.103067 +13 0.75 1.01196 0.14515 +14 0.81 1.0956 0.198288 +15 0.87 1.24296 0.267832 +16 0.93 0.976239 0.330243 +17 0.99 1.21106 0.417974 +18 1.05 0.993491 0.49893 +19 1.11 0.908597 0.581669 +20 1.17 0.884793 0.671184 +21 1.23 0.99835 0.78281 +22 1.29 1.04685 0.911555 +23 1.35 0.916161 1.03495 +24 1.41 1.03648 1.18723 +25 1.47 0.917871 1.33381 +26 1.53 0.997796 1.50642 +27 1.59 1.07473 1.7072 +28 1.65 0.98913 1.90621 +29 1.71 1.08433 2.14051 +30 1.77 0.947375 2.35984 +31 1.83 0.982829 2.60307 +32 1.89 1.04707 2.87946 +33 1.95 1.06232 3.17796 +34 2.01 1.00463 3.47789 +35 2.07 0.902186 3.76355 +36 2.13 1.03398 4.1102 +37 2.19 0.970055 4.45399 +38 2.25 1.03436 4.84094 +39 2.31 0.999422 5.23502 +40 2.37 0.976957 5.64051 +41 2.43 1.03802 6.09344 +42 2.49 1.01895 6.56027 +43 2.55 1.00571 7.04351 +44 2.61 1.01385 7.55385 +45 2.67 0.967445 8.06348 +46 2.73 0.953882 8.5888 +47 2.79 1.00258 9.16548 +48 2.85 1.0232 9.7796 +49 2.91 1.02248 10.4194 +50 2.97 0.999098 11.0706 +106600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.506722 0.0074893 +8 0.45 0.499788 0.0149786 +9 0.51 0.315096 0.0210414 +10 0.57 0.831136 0.0410128 +11 0.63 0.814142 0.0649073 +12 0.69 0.89155 0.096291 +13 0.75 1.15775 0.144437 +14 0.81 1.2059 0.202924 +15 0.87 1.1856 0.269258 +16 0.93 1.13244 0.341655 +17 0.99 1.03383 0.416548 +18 1.05 0.914712 0.491084 +19 1.11 1.06525 0.588088 +20 1.17 1.00817 0.690086 +21 1.23 0.99516 0.801355 +22 1.29 0.968553 0.920471 +23 1.35 0.987654 1.0535 +24 1.41 0.966082 1.19544 +25 1.47 0.929037 1.34379 +26 1.53 1.02872 1.52175 +27 1.59 0.986915 1.70613 +28 1.65 0.980267 1.90335 +29 1.71 1.03482 2.12696 +30 1.77 1.03364 2.36626 +31 1.83 1.06353 2.62946 +32 1.89 1.02275 2.89943 +33 1.95 1.01409 3.18438 +34 2.01 0.964015 3.47218 +35 2.07 1.00919 3.79173 +36 2.13 0.983985 4.12161 +37 2.19 0.971061 4.46576 +38 2.25 0.986698 4.83488 +39 2.31 0.980428 5.22147 +40 2.37 1.00875 5.64016 +41 2.43 0.997966 6.07561 +42 2.49 1.01895 6.54244 +43 2.55 1.00274 7.02425 +44 2.61 0.96284 7.50892 +45 2.67 1.03853 8.05599 +46 2.73 1.02382 8.61983 +47 2.79 1.02056 9.20685 +48 2.85 0.988146 9.79993 +49 2.91 0.990566 10.4198 +50 2.97 0.958061 11.0442 +106650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.316701 0.0053495 +8 0.45 0.594986 0.0142653 +9 0.51 0.407771 0.0221113 +10 0.57 0.638194 0.0374465 +11 0.63 1.02072 0.0674037 +12 0.69 1.09418 0.10592 +13 0.75 1.02053 0.148359 +14 0.81 1.21325 0.207204 +15 0.87 1.07086 0.267118 +16 0.93 1.2719 0.348431 +17 0.99 1.09291 0.427603 +18 1.05 0.967231 0.506419 +19 1.11 0.916429 0.589872 +20 1.17 0.96587 0.687589 +21 1.23 0.893093 0.787447 +22 1.29 0.951154 0.904422 +23 1.35 0.985006 1.03709 +24 1.41 1.00492 1.18474 +25 1.47 1.0139 1.34665 +26 1.53 1.08026 1.53352 +27 1.59 1.027 1.72539 +28 1.65 1.08131 1.94294 +29 1.71 0.973756 2.15335 +30 1.77 0.975103 2.3791 +31 1.83 1.00445 2.62767 +32 1.89 1.02005 2.89693 +33 1.95 0.977287 3.17154 +34 2.01 1.00105 3.4704 +35 2.07 0.992292 3.78459 +36 2.13 0.98824 4.11591 +37 2.19 1.00528 4.47218 +38 2.25 1.02483 4.85556 +39 2.31 1.07811 5.28067 +40 2.37 0.989845 5.69151 +41 2.43 0.955465 6.10842 +42 2.49 1.0174 6.57454 +43 2.55 0.999774 7.05492 +44 2.61 1.0096 7.56312 +45 2.67 0.985724 8.08238 +46 2.73 0.968777 8.61591 +47 2.79 0.993901 9.18759 +48 2.85 1.02558 9.80314 +49 2.91 0.988856 10.4219 +50 2.97 0.966816 11.0521 +106700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.263745 0.00178317 +6 0.33 0.176796 0.0032097 +7 0.39 0.316701 0.00677603 +8 0.45 0.404591 0.0128388 +9 0.51 0.407771 0.0206847 +10 0.57 0.756928 0.038873 +11 0.63 1.20299 0.0741797 +12 0.69 0.861156 0.104494 +13 0.75 1.00338 0.14622 +14 0.81 1.12501 0.200785 +15 0.87 1.23022 0.269615 +16 0.93 1.14359 0.342725 +17 0.99 1.07322 0.420471 +18 1.05 0.971608 0.499643 +19 1.11 0.936011 0.584879 +20 1.17 0.962344 0.68224 +21 1.23 0.934558 0.786733 +22 1.29 1.02655 0.912981 +23 1.35 0.982358 1.04529 +24 1.41 0.978219 1.18902 +25 1.47 0.978169 1.34522 +26 1.53 1.02253 1.52211 +27 1.59 0.998368 1.70863 +28 1.65 0.96254 1.90228 +29 1.71 1.00181 2.11876 +30 1.77 1.06753 2.36591 +31 1.83 1.00877 2.61555 +32 1.89 1.00519 2.88088 +33 1.95 0.977287 3.15549 +34 2.01 0.935346 3.43474 +35 2.07 0.96526 3.74037 +36 2.13 1.03398 4.08702 +37 2.19 1.06062 4.46291 +38 2.25 1.02197 4.84522 +39 2.31 1.00756 5.24251 +40 2.37 1.03882 5.67368 +41 2.43 1.01676 6.11733 +42 2.49 0.977698 6.56526 +43 2.55 0.982703 7.03745 +44 2.61 0.981969 7.53174 +45 2.67 0.976246 8.04601 +46 2.73 1.01346 8.60414 +47 2.79 1.03048 9.19686 +48 2.85 0.98577 9.78852 +49 2.91 1.01051 10.4208 +50 2.97 1.00019 11.0728 +106750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.132597 0.0021398 +7 0.39 0.190021 0.0042796 +8 0.45 0.452189 0.0110556 +9 0.51 0.500446 0.0206847 +10 0.57 0.816295 0.0402996 +11 0.63 0.716931 0.0613409 +12 0.69 1.08404 0.0995007 +13 0.75 1.19205 0.149073 +14 0.81 1.17648 0.206134 +15 0.87 1.16647 0.271398 +16 0.93 1.1938 0.347718 +17 0.99 1.1126 0.428317 +18 1.05 1.04601 0.513552 +19 1.11 0.916429 0.597004 +20 1.17 0.905943 0.688659 +21 1.23 0.905851 0.789943 +22 1.29 1.01205 0.914408 +23 1.35 0.992949 1.04815 +24 1.41 0.985501 1.19294 +25 1.47 1.0206 1.35592 +26 1.53 1.0349 1.53495 +27 1.59 1.02128 1.72575 +28 1.65 1.01572 1.9301 +29 1.71 1.00511 2.14729 +30 1.77 0.992048 2.37696 +31 1.83 1.02318 2.63017 +32 1.89 0.948444 2.88053 +33 1.95 0.986171 3.15763 +34 2.01 0.95207 3.44187 +35 2.07 1.00018 3.75856 +36 2.13 1.00952 4.097 +37 2.19 1.04855 4.46862 +38 2.25 1.01911 4.84986 +39 2.31 1.02927 5.25571 +40 2.37 0.971801 5.65906 +41 2.43 0.984072 6.08845 +42 2.49 0.973806 6.53459 +43 2.55 0.997548 7.01391 +44 2.61 1.0096 7.52211 +45 2.67 1.02364 8.06134 +46 2.73 0.988851 8.60592 +47 2.79 0.998241 9.1801 +48 2.85 0.966161 9.75999 +49 2.91 1.02476 10.4012 +50 2.97 0.998003 11.0517 +106800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.221691 0.00392297 +8 0.45 0.523588 0.0117689 +9 0.51 0.574587 0.0228245 +10 0.57 0.816295 0.0424394 +11 0.63 0.959959 0.0706134 +12 0.69 1.09418 0.10913 +13 0.75 1.05484 0.152996 +14 0.81 1.11031 0.206847 +15 0.87 1.11548 0.269258 +16 0.93 1.05434 0.336662 +17 0.99 1.26522 0.428317 +18 1.05 1.01537 0.511056 +19 1.11 0.90468 0.593438 +20 1.17 0.983495 0.692939 +21 1.23 0.896282 0.793153 +22 1.29 1.01205 0.917618 +23 1.35 0.90557 1.03959 +24 1.41 0.907826 1.17297 +25 1.47 1.02283 1.33631 +26 1.53 1.06789 1.52104 +27 1.59 0.975461 1.70328 +28 1.65 1.11853 1.92832 +29 1.71 0.947349 2.13302 +30 1.77 0.996669 2.36377 +31 1.83 1.05488 2.62482 +32 1.89 1.03356 2.89765 +33 1.95 0.902404 3.15121 +34 2.01 0.962821 3.43866 +35 2.07 1.01031 3.75856 +36 2.13 0.9542 4.07846 +37 2.19 1.01232 4.43723 +38 2.25 1.03722 4.82525 +39 2.31 1.00575 5.22183 +40 2.37 0.980394 5.62874 +41 2.43 1.05355 6.08845 +42 2.49 1.03141 6.56098 +43 2.55 1.00645 7.04458 +44 2.61 0.984803 7.5403 +45 2.67 1.01145 8.07311 +46 2.73 0.99468 8.6209 +47 2.79 1.0094 9.2015 +48 2.85 0.990523 9.79601 +49 2.91 0.983726 10.4116 +50 2.97 0.996909 11.0613 +106850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.316701 0.0053495 +8 0.45 0.642585 0.0149786 +9 0.51 0.741402 0.0292439 +10 0.57 0.697561 0.0460057 +11 0.63 0.923505 0.0731098 +12 0.69 1.03339 0.109486 +13 0.75 0.917623 0.147646 +14 0.81 1.05148 0.198645 +15 0.87 1.12823 0.261769 +16 0.93 1.24959 0.341655 +17 0.99 1.08306 0.420114 +18 1.05 1.15105 0.513909 +19 1.11 0.939927 0.599501 +20 1.17 0.895368 0.690086 +21 1.23 0.91542 0.792439 +22 1.29 1.06135 0.922967 +23 1.35 0.990301 1.05635 +24 1.41 0.990356 1.20185 +25 1.47 0.980402 1.35842 +26 1.53 1.01017 1.53317 +27 1.59 0.97737 1.71576 +28 1.65 0.987357 1.91441 +29 1.71 1.09424 2.15086 +30 1.77 0.984345 2.37874 +31 1.83 1.02318 2.63195 +32 1.89 1.02951 2.90371 +33 1.95 1.01409 3.18866 +34 2.01 0.967599 3.47753 +35 2.07 0.97765 3.78709 +36 2.13 0.999942 4.12233 +37 2.19 1.01735 4.48288 +38 2.25 1.00195 4.8577 +39 2.31 0.992186 5.24893 +40 2.37 0.963209 5.64872 +41 2.43 0.983254 6.07775 +42 2.49 1.03374 6.55136 +43 2.55 1.03021 7.04636 +44 2.61 0.979135 7.53923 +45 2.67 0.985047 8.05813 +46 2.73 0.981081 8.59843 +47 2.79 1.01684 9.18331 +48 2.85 0.988146 9.77639 +49 2.91 1.00823 10.4073 +50 2.97 1.02208 11.0735 +106900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.353592 0.00285307 +7 0.39 0.221691 0.0053495 +8 0.45 0.42839 0.0117689 +9 0.51 0.463376 0.0206847 +10 0.57 0.86082 0.0413695 +11 0.63 0.753385 0.0634807 +12 0.69 1.16509 0.104494 +13 0.75 1.15775 0.152639 +14 0.81 1.08825 0.205421 +15 0.87 1.24296 0.274964 +16 0.93 1.0655 0.343081 +17 0.99 1.10768 0.423324 +18 1.05 1.01975 0.506419 +19 1.11 0.975175 0.595221 +20 1.17 0.912993 0.687589 +21 1.23 0.880334 0.78602 +22 1.29 0.974353 0.905849 +23 1.35 0.990301 1.03923 +24 1.41 1.03162 1.1908 +25 1.47 1.00274 1.35093 +26 1.53 0.968934 1.51854 +27 1.59 1.05945 1.71648 +28 1.65 1.02813 1.92332 +29 1.71 1.00016 2.13944 +30 1.77 0.959698 2.36163 +31 1.83 0.998681 2.60877 +32 1.89 0.971412 2.86519 +33 1.95 0.98871 3.14301 +34 2.01 0.971183 3.43295 +35 2.07 1.05987 3.76854 +36 2.13 1.04249 4.11805 +37 2.19 0.937854 4.45043 +38 2.25 1.05629 4.84558 +39 2.31 1.01842 5.24715 +40 2.37 0.942587 5.63837 +41 2.43 1.01513 6.08131 +42 2.49 1.02518 6.551 +43 2.55 1.03837 7.04993 +44 2.61 0.971342 7.53887 +45 2.67 1.0365 8.08488 +46 2.73 0.960358 8.61377 +47 2.79 0.96476 9.16869 +48 2.85 1.01964 9.78067 +49 2.91 1.01678 10.4169 +50 2.97 1.02646 11.0859 +106950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.316701 0.00606277 +8 0.45 0.356992 0.0114123 +9 0.51 0.315096 0.017475 +10 0.57 0.94987 0.0402996 +11 0.63 0.935656 0.0677603 +12 0.69 0.89155 0.0991441 +13 0.75 1.09772 0.144793 +14 0.81 1.24266 0.205064 +15 0.87 1.19835 0.272111 +16 0.93 1.20496 0.349144 +17 0.99 0.969835 0.419401 +18 1.05 1.04163 0.50428 +19 1.11 0.979091 0.593438 +20 1.17 0.941194 0.688659 +21 1.23 1.00473 0.800999 +22 1.29 1.00915 0.925107 +23 1.35 0.884387 1.04422 +24 1.41 0.992783 1.19009 +25 1.47 1.01837 1.35271 +26 1.53 1.08438 1.5403 +27 1.59 1.00219 1.72753 +28 1.65 1.01572 1.93188 +29 1.71 0.978707 2.14337 +30 1.77 1.03672 2.38338 +31 1.83 0.994358 2.62946 +32 1.89 0.975466 2.88695 +33 1.95 0.995056 3.16655 +34 2.01 0.990296 3.4622 +35 2.07 0.991166 3.77603 +36 2.13 0.997814 4.11056 +37 2.19 0.996218 4.46362 +38 2.25 1.04104 4.85307 +39 2.31 1.01661 5.25392 +40 2.37 0.97352 5.65799 +41 2.43 1.03066 6.1077 +42 2.49 1.01428 6.5724 +43 2.55 0.999032 7.05243 +44 2.61 1.00181 7.5567 +45 2.67 0.99114 8.07882 +46 2.73 0.97849 8.61769 +47 2.79 0.979641 9.18117 +48 2.85 1.00716 9.78566 +49 2.91 1.00139 10.4123 +50 2.97 1.01934 11.0767 +107000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.221691 0.0042796 +8 0.45 0.452189 0.0110556 +9 0.51 0.611657 0.0228245 +10 0.57 0.742086 0.0406562 +11 0.63 0.996413 0.0699001 +12 0.69 0.952338 0.103424 +13 0.75 1.05484 0.14729 +14 0.81 1.19854 0.205421 +15 0.87 1.24934 0.275321 +16 0.93 1.03202 0.341298 +17 0.99 1.01414 0.414765 +18 1.05 0.910335 0.488944 +19 1.11 1.03784 0.583452 +20 1.17 0.923569 0.67689 +21 1.23 1.04619 0.793866 +22 1.29 0.901857 0.904779 +23 1.35 0.916161 1.02817 +24 1.41 1.07774 1.18652 +25 1.47 0.989335 1.34451 +26 1.53 0.970995 1.51248 +27 1.59 0.986915 1.69686 +28 1.65 0.990902 1.89622 +29 1.71 1.02657 2.11805 +30 1.77 1.00899 2.35164 +31 1.83 0.964095 2.59023 +32 1.89 1.02816 2.86163 +33 1.95 1.03059 3.15121 +34 2.01 1.05122 3.46505 +35 2.07 0.991166 3.77889 +36 2.13 0.985049 4.10913 +37 2.19 0.984143 4.45792 +38 2.25 1.01816 4.8388 +39 2.31 0.99309 5.23039 +40 2.37 0.990705 5.64158 +41 2.43 0.995514 6.07596 +42 2.49 1.05165 6.55777 +43 2.55 0.970085 7.02389 +44 2.61 1.01669 7.53566 +45 2.67 1.02025 8.07311 +46 2.73 0.990147 8.6184 +47 2.79 1.01498 9.20221 +48 2.85 0.997059 9.80064 +49 2.91 1.00025 10.4265 +50 2.97 1.00238 11.0799 +107050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.348371 0.0064194 +8 0.45 0.547387 0.014622 +9 0.51 0.537517 0.0249643 +10 0.57 0.816295 0.0445792 +11 0.63 0.850597 0.0695435 +12 0.69 0.942206 0.10271 +13 0.75 0.926199 0.141227 +14 0.81 1.25001 0.201854 +15 0.87 1.20472 0.269258 +16 0.93 1.09897 0.339515 +17 0.99 0.915682 0.405849 +18 1.05 1.03726 0.490371 +19 1.11 0.892931 0.571683 +20 1.17 1.04695 0.677603 +21 1.23 0.924989 0.781027 +22 1.29 0.936655 0.89622 +23 1.35 1.04061 1.03638 +24 1.41 0.990356 1.18188 +25 1.47 0.982636 1.3388 +26 1.53 1.04727 1.51997 +27 1.59 1.03273 1.71291 +28 1.65 1.07422 1.92903 +29 1.71 1.00676 2.14658 +30 1.77 1.03056 2.38516 +31 1.83 1.01309 2.63588 +32 1.89 0.967359 2.89123 +33 1.95 0.968402 3.16334 +34 2.01 1.02494 3.46933 +35 2.07 0.986661 3.78174 +36 2.13 0.993559 4.11484 +37 2.19 0.975087 4.46041 +38 2.25 0.988605 4.83024 +39 2.31 0.983141 5.2179 +40 2.37 1.00359 5.63445 +41 2.43 0.998784 6.07026 +42 2.49 1.02129 6.53816 +43 2.55 1.01313 7.02496 +44 2.61 1.02731 7.54208 +45 2.67 1.01822 8.07846 +46 2.73 0.983023 8.61983 +47 2.79 0.982741 9.18509 +48 2.85 1.01548 9.79458 +49 2.91 1.02305 10.4347 +50 2.97 0.990343 11.0802 +107100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.443382 0.00677603 +8 0.45 0.380791 0.0124822 +9 0.51 0.537517 0.0228245 +10 0.57 0.816295 0.0424394 +11 0.63 0.850597 0.0674037 +12 0.69 1.10431 0.106277 +13 0.75 1.12345 0.152996 +14 0.81 1.25737 0.21398 +15 0.87 0.981623 0.268902 +16 0.93 1.23285 0.347718 +17 0.99 0.979681 0.418688 +18 1.05 1.0285 0.502496 +19 1.11 0.892931 0.583809 +20 1.17 0.969395 0.681883 +21 1.23 0.893093 0.78174 +22 1.29 0.977253 0.901926 +23 1.35 0.945288 1.02924 +24 1.41 1.02919 1.18046 +25 1.47 0.980402 1.33702 +26 1.53 1.08026 1.52389 +27 1.59 1.02128 1.71469 +28 1.65 0.976721 1.9112 +29 1.71 1.05958 2.14016 +30 1.77 0.924268 2.35414 +31 1.83 0.998681 2.60128 +32 1.89 0.970061 2.85735 +33 1.95 0.979825 3.13267 +34 2.01 0.935346 3.41191 +35 2.07 0.99905 3.72825 +36 2.13 1.09462 4.09522 +37 2.19 1.00226 4.45043 +38 2.25 0.983838 4.81847 +39 2.31 0.97681 5.20364 +40 2.37 1.00016 5.61876 +41 2.43 0.997149 6.05385 +42 2.49 1.00183 6.51284 +43 2.55 1.02724 7.00642 +44 2.61 0.996139 7.50785 +45 2.67 1.00874 8.03923 +46 2.73 1.01994 8.60093 +47 2.79 0.982741 9.16619 +48 2.85 0.978045 9.75321 +49 2.91 1.02761 10.3962 +50 2.97 0.979947 11.035 +107150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.044199 0.000713267 +7 0.39 0.380042 0.00499287 +8 0.45 0.380791 0.010699 +9 0.51 0.722867 0.0246077 +10 0.57 0.653036 0.0402996 +11 0.63 0.899202 0.0666904 +12 0.69 0.881419 0.0977175 +13 0.75 1.16633 0.14622 +14 0.81 1.11766 0.200428 +15 0.87 1.25571 0.270685 +16 0.93 1.23843 0.349857 +17 0.99 1.06337 0.42689 +18 1.05 1.0854 0.515335 +19 1.11 0.99084 0.605563 +20 1.17 0.863642 0.692939 +21 1.23 0.924989 0.796362 +22 1.29 0.898957 0.906919 +23 1.35 1.02472 1.04494 +24 1.41 0.983074 1.18937 +25 1.47 0.931271 1.33809 +26 1.53 1.0782 1.52461 +27 1.59 1.03655 1.71826 +28 1.65 1.05649 1.93081 +29 1.71 0.991911 2.14515 +30 1.77 1.05367 2.38909 +31 1.83 0.939596 2.62161 +32 1.89 0.993029 2.88374 +33 1.95 0.920173 3.1423 +34 2.01 0.941319 3.42332 +35 2.07 1.07226 3.76284 +36 2.13 1.0276 4.10735 +37 2.19 0.958986 4.44722 +38 2.25 0.991465 4.81812 +39 2.31 1.02836 5.22361 +40 2.37 1.01906 5.64658 +41 2.43 1.03229 6.097 +42 2.49 1.01506 6.56205 +43 2.55 0.989383 7.03745 +44 2.61 1.0181 7.54993 +45 2.67 0.972184 8.06205 +46 2.73 0.989499 8.60699 +47 2.79 1.00382 9.18438 +48 2.85 1.00003 9.78459 +49 2.91 0.967768 10.3902 +50 2.97 0.989796 11.0353 +107200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.044199 0.000713267 +7 0.39 0.316701 0.0042796 +8 0.45 0.618786 0.0135521 +9 0.51 0.611657 0.025321 +10 0.57 0.697561 0.0420827 +11 0.63 0.911353 0.0688302 +12 0.69 0.9726 0.103067 +13 0.75 1.01196 0.14515 +14 0.81 1.19119 0.202924 +15 0.87 1.25571 0.273181 +16 0.93 1.1157 0.344508 +17 0.99 0.969835 0.414765 +18 1.05 0.962855 0.493224 +19 1.11 0.994757 0.583809 +20 1.17 0.934144 0.678317 +21 1.23 1.00792 0.791013 +22 1.29 1.04105 0.919044 +23 1.35 0.995597 1.05314 +24 1.41 0.951518 1.19294 +25 1.47 1.07197 1.36412 +26 1.53 1.04109 1.54422 +27 1.59 0.902922 1.71291 +28 1.65 1.01926 1.91797 +29 1.71 1.00016 2.13409 +30 1.77 1.02594 2.37161 +31 1.83 1.04191 2.62946 +32 1.89 1.0241 2.89979 +33 1.95 0.970941 3.17261 +34 2.01 1.0118 3.47468 +35 2.07 0.972018 3.78245 +36 2.13 0.972284 4.10842 +37 2.19 1.03144 4.47397 +38 2.25 0.946658 4.8281 +39 2.31 1.02746 5.23324 +40 2.37 0.97352 5.6373 +41 2.43 0.957099 6.05492 +42 2.49 1.03686 6.52996 +43 2.55 1.02872 7.02425 +44 2.61 0.978427 7.51676 +45 2.67 1.00468 8.04601 +46 2.73 0.993385 8.59308 +47 2.79 1.00072 9.16869 +48 2.85 1.04044 9.79315 +49 2.91 1.01735 10.4297 +50 2.97 0.992532 11.0767 +107250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0 0.000356633 +7 0.39 0.316701 0.00392297 +8 0.45 0.475989 0.0110556 +9 0.51 0.630192 0.0231812 +10 0.57 0.756928 0.0413695 +11 0.63 0.97211 0.0699001 +12 0.69 1.15496 0.110556 +13 0.75 1.02911 0.153352 +14 0.81 1.02207 0.202924 +15 0.87 1.12823 0.266049 +16 0.93 1.02087 0.331312 +17 0.99 1.15691 0.415121 +18 1.05 1.05039 0.500713 +19 1.11 1.00259 0.592011 +20 1.17 0.891843 0.68224 +21 1.23 1.02706 0.797076 +22 1.29 0.997552 0.919757 +23 1.35 1.0565 1.06205 +24 1.41 0.944236 1.20078 +25 1.47 1.00943 1.36198 +26 1.53 0.995734 1.53424 +27 1.59 0.975461 1.71648 +28 1.65 1.00331 1.91833 +29 1.71 1.01832 2.13837 +30 1.77 1.05675 2.38302 +31 1.83 0.992917 2.62874 +32 1.89 0.956551 2.88124 +33 1.95 0.944288 3.14658 +34 2.01 1.06555 3.46469 +35 2.07 0.984408 3.77639 +36 2.13 1.02973 4.12161 +37 2.19 1.01031 4.47967 +38 2.25 0.973352 4.84379 +39 2.31 0.970479 5.22646 +40 2.37 0.989845 5.6373 +41 2.43 1.03393 6.08845 +42 2.49 1.02129 6.55635 +43 2.55 0.993094 7.03352 +44 2.61 0.981261 7.52746 +45 2.67 0.985047 8.04636 +46 2.73 1.00828 8.60164 +47 2.79 0.993901 9.17332 +48 2.85 1.03449 9.79422 +49 2.91 1.00082 10.4205 +50 2.97 0.966816 11.0506 +107300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.348371 0.00606277 +8 0.45 0.380791 0.0117689 +9 0.51 0.556052 0.0224679 +10 0.57 0.608511 0.0370899 +11 0.63 0.947808 0.0649073 +12 0.69 1.06378 0.102354 +13 0.75 1.02911 0.14515 +14 0.81 1.14707 0.200785 +15 0.87 1.03899 0.258916 +16 0.93 1.24401 0.338445 +17 0.99 1.06337 0.415478 +18 1.05 0.958478 0.493581 +19 1.11 0.99084 0.583809 +20 1.17 1.03285 0.688302 +21 1.23 0.988781 0.798859 +22 1.29 0.933755 0.913695 +23 1.35 0.977062 1.04529 +24 1.41 0.951518 1.18509 +25 1.47 1.0139 1.347 +26 1.53 0.995734 1.51926 +27 1.59 1.027 1.71113 +28 1.65 1.04408 1.92118 +29 1.71 0.962203 2.1291 +30 1.77 1.01669 2.36448 +31 1.83 1.01597 2.61591 +32 1.89 0.974114 2.87304 +33 1.95 0.963326 3.14372 +34 2.01 1.04883 3.45685 +35 2.07 1.04298 3.78709 +36 2.13 0.973348 4.11341 +37 2.19 1.00628 4.47004 +38 2.25 1.0029 4.84522 +39 2.31 1.00756 5.24251 +40 2.37 0.952039 5.63766 +41 2.43 1.02412 6.08452 +42 2.49 0.985482 6.53602 +43 2.55 0.993837 7.01355 +44 2.61 0.990471 7.51213 +45 2.67 0.956613 8.01605 +46 2.73 0.996622 8.56491 +47 2.79 1.00506 9.14301 +48 2.85 1.044 9.76961 +49 2.91 1.02818 10.413 +50 2.97 0.978853 11.051 +107350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.190021 0.0042796 +8 0.45 0.523588 0.0121255 +9 0.51 0.370701 0.0192582 +10 0.57 0.905345 0.0410128 +11 0.63 0.911353 0.0677603 +12 0.69 1.10431 0.106633 +13 0.75 1.01196 0.148716 +14 0.81 1.12501 0.203281 +15 0.87 1.1601 0.268188 +16 0.93 1.1157 0.339515 +17 0.99 1.14214 0.422254 +18 1.05 0.993491 0.50321 +19 1.11 0.873349 0.582739 +20 1.17 0.905943 0.674394 +21 1.23 1.03344 0.789943 +22 1.29 1.06425 0.920827 +23 1.35 0.982358 1.05314 +24 1.41 0.944236 1.19187 +25 1.47 0.989335 1.34986 +26 1.53 0.966872 1.51712 +27 1.59 1.05182 1.71362 +28 1.65 0.973176 1.90942 +29 1.71 0.917641 2.1077 +30 1.77 1.03672 2.34772 +31 1.83 1.03615 2.60414 +32 1.89 1.00249 2.86876 +33 1.95 0.964595 3.1398 +34 2.01 1.01538 3.44294 +35 2.07 0.983282 3.75428 +36 2.13 1.04675 4.10521 +37 2.19 1.01836 4.46612 +38 2.25 0.987652 4.83559 +39 2.31 0.981332 5.22254 +40 2.37 1.00531 5.6398 +41 2.43 0.970177 6.06312 +42 2.49 0.977698 6.51106 +43 2.55 1.03243 7.00713 +44 2.61 1.0599 7.54066 +45 2.67 1.00942 8.0724 +46 2.73 1.01994 8.63409 +47 2.79 0.97406 9.19437 +48 2.85 0.962596 9.77211 +49 2.91 0.954089 10.3691 +50 2.97 1.00785 11.026 +107400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.253361 0.00606277 +8 0.45 0.475989 0.0131954 +9 0.51 0.444841 0.0217546 +10 0.57 0.845978 0.0420827 +11 0.63 0.984262 0.07097 +12 0.69 1.02326 0.10699 +13 0.75 1.08057 0.151926 +14 0.81 1.0809 0.204351 +15 0.87 1.1346 0.267832 +16 0.93 1.09897 0.338088 +17 0.99 1.02891 0.412625 +18 1.05 1.07665 0.500357 +19 1.11 0.896847 0.582026 +20 1.17 1.0681 0.690086 +21 1.23 0.880334 0.788516 +22 1.29 0.910556 0.900499 +23 1.35 0.987654 1.03352 +24 1.41 1.09959 1.19508 +25 1.47 1.09207 1.36947 +26 1.53 0.91121 1.5271 +27 1.59 0.996459 1.71327 +28 1.65 0.900498 1.89444 +29 1.71 1.01832 2.11448 +30 1.77 0.975103 2.34023 +31 1.83 1.01453 2.5913 +32 1.89 0.983572 2.85093 +33 1.95 1.02171 3.13802 +34 2.01 0.996269 3.43545 +35 2.07 1.02383 3.75963 +36 2.13 1.01696 4.10057 +37 2.19 0.969049 4.44401 +38 2.25 1.00576 4.82026 +39 2.31 1.0356 5.2286 +40 2.37 1.00875 5.64729 +41 2.43 1.03311 6.09807 +42 2.49 0.993266 6.55314 +43 2.55 0.994579 7.03103 +44 2.61 0.98622 7.52746 +45 2.67 0.965414 8.03602 +46 2.73 1.00763 8.59094 +47 2.79 1.03296 9.18509 +48 2.85 0.983393 9.77532 +49 2.91 0.999115 10.4005 +50 2.97 1.02317 11.0674 +107450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.395617 0.0021398 +6 0.33 0.265194 0.0042796 +7 0.39 0.316701 0.00784593 +8 0.45 0.523588 0.0156919 +9 0.51 0.630192 0.0278174 +10 0.57 0.920187 0.0499287 +11 0.63 0.911353 0.0766762 +12 0.69 0.901681 0.108417 +13 0.75 1.02911 0.151213 +14 0.81 1.08825 0.203994 +15 0.87 1.24296 0.273538 +16 0.93 1.0376 0.339872 +17 0.99 0.979681 0.410842 +18 1.05 1.05914 0.497147 +19 1.11 1.01434 0.589515 +20 1.17 0.930619 0.683666 +21 1.23 0.979212 0.793153 +22 1.29 0.988852 0.914765 +23 1.35 1.02472 1.05278 +24 1.41 0.917535 1.18759 +25 1.47 1.02507 1.35128 +26 1.53 0.962749 1.51783 +27 1.59 1.08809 1.72111 +28 1.65 0.994448 1.92118 +29 1.71 1.03482 2.14479 +30 1.77 0.973562 2.37019 +31 1.83 1.01453 2.62126 +32 1.89 0.995731 2.88409 +33 1.95 1.03313 3.17439 +34 2.01 0.961626 3.46148 +35 2.07 1.09366 3.80777 +36 2.13 1.00845 4.14586 +37 2.19 0.917729 4.47111 +38 2.25 0.954285 4.8281 +39 2.31 0.965052 5.20863 +40 2.37 1.01476 5.62981 +41 2.43 1.00696 6.06919 +42 2.49 0.989374 6.52247 +43 2.55 1.00868 7.00713 +44 2.61 1.00889 7.51498 +45 2.67 1.04395 8.06491 +46 2.73 1.04066 8.63802 +47 2.79 0.9722 9.19722 +48 2.85 0.977451 9.78388 +49 2.91 1.0145 10.4187 +50 2.97 0.98706 11.0621 +107500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.380042 0.00570613 +8 0.45 0.547387 0.0139087 +9 0.51 0.630192 0.0260342 +10 0.57 0.608511 0.0406562 +11 0.63 0.862748 0.0659772 +12 0.69 1.06378 0.103424 +13 0.75 1.1749 0.152282 +14 0.81 1.16913 0.208987 +15 0.87 1.10273 0.270685 +16 0.93 1.1157 0.342011 +17 0.99 0.935374 0.409772 +18 1.05 0.962855 0.488231 +19 1.11 1.06133 0.584879 +20 1.17 1.01875 0.687946 +21 1.23 0.924989 0.791369 +22 1.29 1.01205 0.915835 +23 1.35 0.955879 1.04458 +24 1.41 1.05347 1.19936 +25 1.47 0.922338 1.34665 +26 1.53 1.03078 1.52496 +27 1.59 0.998368 1.71148 +28 1.65 1.05117 1.92297 +29 1.71 0.998512 2.13873 +30 1.77 1.02132 2.37518 +31 1.83 1.08803 2.64444 +32 1.89 0.982221 2.90371 +33 1.95 1.01663 3.18937 +34 2.01 0.962821 3.47682 +35 2.07 0.969766 3.78388 +36 2.13 0.975475 4.11091 +37 2.19 1.00226 4.46612 +38 2.25 0.996232 4.8388 +39 2.31 1.02927 5.24465 +40 2.37 0.965787 5.64551 +41 2.43 0.991428 6.0781 +42 2.49 1.06488 6.56598 +43 2.55 1.00794 7.05029 +44 2.61 0.940877 7.52389 +45 2.67 1.02364 8.06312 +46 2.73 1.01087 8.61983 +47 2.79 0.990801 9.18973 +48 2.85 0.989335 9.78352 +49 2.91 1.01678 10.4198 +50 2.97 0.961344 11.0464 +107550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.380042 0.0064194 +8 0.45 0.404591 0.0124822 +9 0.51 0.537517 0.0228245 +10 0.57 0.756928 0.0410128 +11 0.63 0.850597 0.0659772 +12 0.69 1.17523 0.107347 +13 0.75 1.1406 0.154779 +14 0.81 1.0809 0.207204 +15 0.87 1.08361 0.267832 +16 0.93 1.01529 0.332739 +17 0.99 1.05845 0.409415 +18 1.05 1.06352 0.496077 +19 1.11 1.0535 0.592011 +20 1.17 1.0117 0.694365 +21 1.23 0.960075 0.801712 +22 1.29 0.956954 0.919401 +23 1.35 0.950583 1.04743 +24 1.41 0.868989 1.17511 +25 1.47 1.01613 1.33738 +26 1.53 1.09263 1.52639 +27 1.59 0.990732 1.71148 +28 1.65 1.02636 1.91797 +29 1.71 0.968804 2.12732 +30 1.77 1.01053 2.36127 +31 1.83 1.03183 2.61662 +32 1.89 0.976817 2.87447 +33 1.95 0.984902 3.15121 +34 2.01 1.01897 3.45542 +35 2.07 0.981029 3.76605 +36 2.13 1.02015 4.10806 +37 2.19 0.952948 4.44579 +38 2.25 1.01148 4.82418 +39 2.31 1.04374 5.23573 +40 2.37 0.999297 5.6505 +41 2.43 0.984889 6.08024 +42 2.49 1.06955 6.57026 +43 2.55 0.995321 7.0485 +44 2.61 1.00464 7.55421 +45 2.67 1.01551 8.08916 +46 2.73 0.996622 8.63802 +47 2.79 0.97592 9.19936 +48 2.85 0.957842 9.77425 +49 2.91 1.01963 10.4123 +50 2.97 1.00183 11.0653 +107600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.253361 0.00570613 +8 0.45 0.523588 0.0135521 +9 0.51 0.630192 0.0256776 +10 0.57 0.653036 0.0413695 +11 0.63 0.874899 0.0670471 +12 0.69 0.962469 0.100927 +13 0.75 1.09772 0.146576 +14 0.81 1.0956 0.199715 +15 0.87 1.08361 0.260342 +16 0.93 1.24959 0.340228 +17 0.99 1.06337 0.417261 +18 1.05 1.01975 0.500357 +19 1.11 0.932095 0.585235 +20 1.17 1.01522 0.687946 +21 1.23 0.950506 0.794223 +22 1.29 0.977253 0.914408 +23 1.35 0.977062 1.04601 +24 1.41 1.02919 1.19722 +25 1.47 0.996035 1.35628 +26 1.53 1.07614 1.54244 +27 1.59 0.914375 1.71327 +28 1.65 1.04054 1.92261 +29 1.71 0.985309 2.13552 +30 1.77 1.00899 2.36912 +31 1.83 1.02606 2.62304 +32 1.89 0.924125 2.86698 +33 1.95 0.967133 3.13873 +34 2.01 1.04525 3.45078 +35 2.07 0.983282 3.76213 +36 2.13 1.04675 4.11305 +37 2.19 0.984143 4.46184 +38 2.25 0.988605 4.83167 +39 2.31 0.998517 5.22539 +40 2.37 1.03195 5.65371 +41 2.43 0.993062 6.08702 +42 2.49 0.926322 6.51141 +43 2.55 0.990868 6.98752 +44 2.61 1.03298 7.50749 +45 2.67 0.99114 8.0296 +46 2.73 0.971367 8.56455 +47 2.79 1.04474 9.16548 +48 2.85 0.988741 9.75892 +49 2.91 0.995695 10.382 +50 2.97 1.01004 11.0403 +107650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.316701 0.0064194 +8 0.45 0.452189 0.0131954 +9 0.51 0.667262 0.0260342 +10 0.57 0.682719 0.0424394 +11 0.63 0.935656 0.0699001 +12 0.69 0.921944 0.102354 +13 0.75 1.18348 0.151569 +14 0.81 1.19854 0.2097 +15 0.87 0.949753 0.262839 +16 0.93 1.23843 0.342011 +17 0.99 1.02399 0.416191 +18 1.05 0.984738 0.496434 +19 1.11 0.943844 0.582382 +20 1.17 0.909468 0.674394 +21 1.23 0.931368 0.778531 +22 1.29 0.919256 0.891583 +23 1.35 1.01413 1.02817 +24 1.41 0.975792 1.17154 +25 1.47 1.10323 1.34772 +26 1.53 1.0782 1.53424 +27 1.59 0.97737 1.71683 +28 1.65 0.980267 1.91405 +29 1.71 1.01667 2.13374 +30 1.77 1.03364 2.37304 +31 1.83 1.0275 2.62732 +32 1.89 0.94304 2.87625 +33 1.95 0.978556 3.15121 +34 2.01 1.02972 3.45863 +35 2.07 1.01707 3.78067 +36 2.13 1.02973 4.12589 +37 2.19 1.02439 4.48894 +38 2.25 0.978118 4.85485 +39 2.31 1.01661 5.25571 +40 2.37 1.02507 5.68117 +41 2.43 1.00205 6.1184 +42 2.49 0.983925 6.56919 +43 2.55 0.99829 7.04886 +44 2.61 0.986929 7.54565 +45 2.67 0.991817 8.06812 +46 2.73 0.988204 8.61234 +47 2.79 0.990801 9.18224 +48 2.85 0.968538 9.76355 +49 2.91 1.01792 10.4005 +50 2.97 1.03466 11.0749 +107700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.176796 0.00285307 +7 0.39 0.0950104 0.00392297 +8 0.45 0.594986 0.0128388 +9 0.51 0.593122 0.0242511 +10 0.57 0.801453 0.0435093 +11 0.63 0.97211 0.0720399 +12 0.69 1.01313 0.107703 +13 0.75 0.986231 0.148716 +14 0.81 1.01472 0.197932 +15 0.87 1.21109 0.265692 +16 0.93 1.1938 0.342011 +17 0.99 1.06337 0.419044 +18 1.05 1.04163 0.503923 +19 1.11 0.983008 0.593438 +20 1.17 0.923569 0.686876 +21 1.23 0.976023 0.796006 +22 1.29 0.956954 0.913695 +23 1.35 1.01678 1.05064 +24 1.41 0.878698 1.17974 +25 1.47 1.0005 1.33951 +26 1.53 1.10912 1.53138 +27 1.59 1.03273 1.72432 +28 1.65 0.99622 1.92475 +29 1.71 0.98861 2.13837 +30 1.77 0.998209 2.36947 +31 1.83 0.942479 2.60271 +32 1.89 1.00519 2.86805 +33 1.95 1.09532 3.17582 +34 2.01 1.02255 3.4811 +35 2.07 0.94386 3.77996 +36 2.13 1.03611 4.12732 +37 2.19 0.933829 4.45827 +38 2.25 1.0439 4.84879 +39 2.31 0.938823 5.21897 +40 2.37 0.993282 5.63124 +41 2.43 1.02085 6.07668 +42 2.49 1.01117 6.53994 +43 2.55 1.02724 7.03352 +44 2.61 0.957881 7.51569 +45 2.67 0.987755 8.03602 +46 2.73 1.00439 8.58916 +47 2.79 0.987081 9.15692 +48 2.85 1.01013 9.7632 +49 2.91 1.01963 10.4012 +50 2.97 1.0188 11.0653 +107750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.044199 0.000356633 +7 0.39 0.221691 0.00285307 +8 0.45 0.404591 0.00891583 +9 0.51 0.685797 0.0221113 +10 0.57 0.816295 0.0417261 +11 0.63 0.959959 0.0699001 +12 0.69 1.08404 0.10806 +13 0.75 0.951927 0.147646 +14 0.81 1.29413 0.210414 +15 0.87 1.04537 0.268902 +16 0.93 1.09897 0.339158 +17 0.99 1.0486 0.415121 +18 1.05 1.01537 0.49786 +19 1.11 1.02217 0.590942 +20 1.17 1.04695 0.696862 +21 1.23 1.00154 0.808845 +22 1.29 0.968553 0.92796 +23 1.35 0.953231 1.05635 +24 1.41 1.02919 1.20756 +25 1.47 0.998268 1.36698 +26 1.53 1.02253 1.54387 +27 1.59 0.962099 1.72361 +28 1.65 1.0299 1.93081 +29 1.71 1.03977 2.15549 +30 1.77 1.01207 2.3898 +31 1.83 1.01742 2.64158 +32 1.89 0.949795 2.8923 +33 1.95 0.989979 3.17047 +34 2.01 1.0118 3.47254 +35 2.07 1.00243 3.78994 +36 2.13 1.05526 4.14372 +37 2.19 0.96603 4.48609 +38 2.25 0.995278 4.85842 +39 2.31 0.946963 5.23181 +40 2.37 0.999297 5.64658 +41 2.43 1.01431 6.08916 +42 2.49 1.03764 6.56455 +43 2.55 1.01981 7.05456 +44 2.61 1.01243 7.56419 +45 2.67 1.03515 8.10949 +46 2.73 0.977843 8.648 +47 2.79 0.987701 9.21612 +48 2.85 0.979233 9.80385 +49 2.91 0.998545 10.4287 +50 2.97 1.00457 11.0835 +107800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.353592 0.00392297 +7 0.39 0.285031 0.00713267 +8 0.45 0.380791 0.0128388 +9 0.51 0.778472 0.0278174 +10 0.57 0.653036 0.0435093 +11 0.63 1.06932 0.074893 +12 0.69 1.04352 0.111626 +13 0.75 0.84044 0.146576 +14 0.81 1.12501 0.201141 +15 0.87 1.28758 0.273181 +16 0.93 1.02087 0.338445 +17 0.99 1.04368 0.414051 +18 1.05 1.15543 0.508203 +19 1.11 0.983008 0.597718 +20 1.17 0.96587 0.695435 +21 1.23 0.99516 0.806705 +22 1.29 0.974353 0.926534 +23 1.35 0.961175 1.05599 +24 1.41 0.949091 1.19544 +25 1.47 1.04293 1.36198 +26 1.53 0.900902 1.51783 +27 1.59 1.03655 1.71148 +28 1.65 0.994448 1.91155 +29 1.71 0.977057 2.12268 +30 1.77 1.0244 2.35984 +31 1.83 0.998681 2.60699 +32 1.89 1.02951 2.87874 +33 1.95 1.0179 3.16476 +34 2.01 0.975961 3.45613 +35 2.07 1.05762 3.79101 +36 2.13 0.983985 4.1209 +37 2.19 1.02641 4.48466 +38 2.25 0.957145 4.84272 +39 2.31 0.974097 5.22682 +40 2.37 0.994142 5.63944 +41 2.43 1.00696 6.07882 +42 2.49 0.953567 6.51569 +43 2.55 1.02946 7.01034 +44 2.61 1.04786 7.5378 +45 2.67 1.05004 8.09094 +46 2.73 0.973957 8.62732 +47 2.79 0.983981 9.1933 +48 2.85 0.990523 9.7878 +49 2.91 0.996265 10.4112 +50 2.97 0.973381 11.0456 +107850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.348371 0.00570613 +8 0.45 0.594986 0.014622 +9 0.51 0.648727 0.0271041 +10 0.57 0.875662 0.0481455 +11 0.63 0.923505 0.0752496 +12 0.69 0.992863 0.1102 +13 0.75 0.934775 0.149073 +14 0.81 1.15443 0.205064 +15 0.87 1.3322 0.279601 +16 0.93 1.00971 0.344151 +17 0.99 0.974758 0.414765 +18 1.05 0.897205 0.487874 +19 1.11 1.04567 0.583096 +20 1.17 0.97997 0.68224 +21 1.23 0.963264 0.789943 +22 1.29 0.965654 0.908702 +23 1.35 0.947936 1.03638 +24 1.41 0.939382 1.17439 +25 1.47 1.13226 1.35521 +26 1.53 1.02047 1.53174 +27 1.59 1.00409 1.71933 +28 1.65 0.971403 1.91476 +29 1.71 0.957251 2.12161 +30 1.77 1.05983 2.36698 +31 1.83 1.052 2.62732 +32 1.89 1.02951 2.89907 +33 1.95 0.995056 3.17867 +34 2.01 1.0548 3.49358 +35 2.07 0.96526 3.79922 +36 2.13 0.929733 4.11091 +37 2.19 0.951942 4.44829 +38 2.25 1.05438 4.84272 +39 2.31 0.949677 5.21719 +40 2.37 1.05429 5.65478 +41 2.43 1.03556 6.10663 +42 2.49 1.02907 6.5781 +43 2.55 1.00052 7.05884 +44 2.61 1.00464 7.56455 +45 2.67 0.974215 8.07775 +46 2.73 0.983671 8.61947 +47 2.79 1.01312 9.20221 +48 2.85 0.995277 9.79957 +49 2.91 1.01336 10.4337 +50 2.97 0.972287 11.0674 +107900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.316701 0.00606277 +8 0.45 0.380791 0.0117689 +9 0.51 0.815542 0.0274608 +10 0.57 0.712403 0.0445792 +11 0.63 0.838445 0.0691869 +12 0.69 1.03339 0.105563 +13 0.75 1.1749 0.154422 +14 0.81 1.27207 0.21612 +15 0.87 1.08361 0.276748 +16 0.93 1.05992 0.344508 +17 0.99 1.03876 0.419757 +18 1.05 0.932218 0.49572 +19 1.11 0.920346 0.579529 +20 1.17 0.944719 0.675107 +21 1.23 0.902661 0.776034 +22 1.29 0.910556 0.888017 +23 1.35 0.969118 1.01854 +24 1.41 1.04376 1.1719 +25 1.47 0.991569 1.33024 +26 1.53 1.09263 1.51926 +27 1.59 1.03273 1.7122 +28 1.65 1.10081 1.93367 +29 1.71 1.04472 2.15942 +30 1.77 1.01207 2.39372 +31 1.83 0.920862 2.62161 +32 1.89 0.964657 2.87625 +33 1.95 0.992517 3.15514 +34 2.01 1.05122 3.46897 +35 2.07 0.967513 3.77532 +36 2.13 1.04994 4.12732 +37 2.19 0.979112 4.47432 +38 2.25 0.980978 4.8413 +39 2.31 1.01932 5.24322 +40 2.37 1.01304 5.66369 +41 2.43 1.01513 6.10663 +42 2.49 0.98159 6.55635 +43 2.55 1.04357 7.05777 +44 2.61 0.955755 7.53887 +45 2.67 1.00739 8.06954 +46 2.73 0.948702 8.59201 +47 2.79 1.02242 9.1801 +48 2.85 1.0238 9.79458 +49 2.91 1.01165 10.4276 +50 2.97 1.01387 11.0884 +107950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.285031 0.00499287 +8 0.45 0.523588 0.0128388 +9 0.51 0.722867 0.0267475 +10 0.57 0.727244 0.0442225 +11 0.63 0.78984 0.0674037 +12 0.69 1.06378 0.10485 +13 0.75 0.960503 0.144793 +14 0.81 1.17648 0.201854 +15 0.87 1.16647 0.267118 +16 0.93 1.02087 0.332382 +17 0.99 1.04368 0.407989 +18 1.05 1.1423 0.50107 +19 1.11 1.0535 0.597004 +20 1.17 1.00112 0.698288 +21 1.23 0.893093 0.798146 +22 1.29 0.997552 0.920827 +23 1.35 0.947936 1.0485 +24 1.41 0.915108 1.18295 +25 1.47 1.00274 1.34308 +26 1.53 1.0514 1.52496 +27 1.59 0.958281 1.70399 +28 1.65 1.01926 1.90906 +29 1.71 0.975406 2.11983 +30 1.77 0.99975 2.35128 +31 1.83 1.02318 2.60449 +32 1.89 0.987625 2.86519 +33 1.95 0.98871 3.14301 +34 2.01 1.11811 3.47682 +35 2.07 0.957376 3.77996 +36 2.13 0.977603 4.1077 +37 2.19 0.969049 4.45114 +38 2.25 0.996232 4.82382 +39 2.31 1.01118 5.22254 +40 2.37 0.970083 5.62518 +41 2.43 0.999601 6.06134 +42 2.49 0.994045 6.51676 +43 2.55 0.973054 6.98431 +44 2.61 1.00747 7.49144 +45 2.67 1.01213 8.02461 +46 2.73 1.03936 8.597 +47 2.79 0.990801 9.1669 +48 2.85 1.0541 9.79957 +49 2.91 0.980307 10.413 +50 2.97 1.00129 11.0656 +108000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.190021 0.0042796 +8 0.45 0.475989 0.0114123 +9 0.51 0.685797 0.0246077 +10 0.57 0.845978 0.0449358 +11 0.63 1.06932 0.0763195 +12 0.69 1.09418 0.114836 +13 0.75 1.16633 0.163338 +14 0.81 1.18384 0.220756 +15 0.87 1.07724 0.281027 +16 0.93 1.0655 0.349144 +17 0.99 1.03876 0.424394 +18 1.05 1.1598 0.518902 +19 1.11 0.951677 0.605563 +20 1.17 0.909468 0.697575 +21 1.23 0.877145 0.795649 +22 1.29 0.901857 0.906562 +23 1.35 0.939992 1.03317 +24 1.41 1.09716 1.19437 +25 1.47 1.06973 1.36519 +26 1.53 0.981303 1.53495 +27 1.59 0.996459 1.72111 +28 1.65 1.0299 1.92832 +29 1.71 0.965504 2.13695 +30 1.77 1.03364 2.37625 +31 1.83 0.987153 2.62054 +32 1.89 1.06193 2.90086 +33 1.95 0.965864 3.17225 +34 2.01 0.989101 3.46755 +35 2.07 0.975397 3.77639 +36 2.13 0.97122 4.102 +37 2.19 1.00628 4.45863 +38 2.25 1.00481 4.83452 +39 2.31 1.01932 5.23645 +40 2.37 1.02679 5.66262 +41 2.43 0.959551 6.08131 +42 2.49 1.01818 6.54779 +43 2.55 0.97157 7.01462 +44 2.61 1.03652 7.53638 +45 2.67 1.02567 8.07668 +46 2.73 1.00116 8.62803 +47 2.79 1.01126 9.2097 +48 2.85 1.01013 9.81598 +49 2.91 0.978027 10.428 +50 2.97 0.986513 11.071 +108050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.411712 0.00713267 +8 0.45 0.690184 0.017475 +9 0.51 0.500446 0.0271041 +10 0.57 0.771769 0.0456491 +11 0.63 0.838445 0.0702568 +12 0.69 0.901681 0.101997 +13 0.75 1.14917 0.149786 +14 0.81 1.18384 0.207204 +15 0.87 0.975249 0.261769 +16 0.93 1.22727 0.340228 +17 0.99 1.09783 0.419757 +18 1.05 1.07665 0.507489 +19 1.11 0.975175 0.596291 +20 1.17 0.958819 0.693295 +21 1.23 0.960075 0.800642 +22 1.29 1.00625 0.924394 +23 1.35 0.963823 1.05421 +24 1.41 0.917535 1.18902 +25 1.47 0.93797 1.3388 +26 1.53 1.01223 1.51391 +27 1.59 1.05182 1.71041 +28 1.65 1.02458 1.91655 +29 1.71 1.06783 2.14729 +30 1.77 0.990507 2.3766 +31 1.83 0.962654 2.61484 +32 1.89 1.02275 2.88481 +33 1.95 0.903673 3.13873 +34 2.01 1.00941 3.44009 +35 2.07 1.01932 3.76284 +36 2.13 1.02866 4.1077 +37 2.19 1.02339 4.4704 +38 2.25 1.02769 4.85485 +39 2.31 0.973192 5.23859 +40 2.37 0.997579 5.65264 +41 2.43 0.985706 6.08274 +42 2.49 0.994823 6.53852 +43 2.55 1.01017 7.02389 +44 2.61 0.97205 7.5132 +45 2.67 1.06967 8.07668 +46 2.73 0.998565 8.6266 +47 2.79 1.01374 9.2097 +48 2.85 1.00062 9.81027 +49 2.91 0.987146 10.428 +50 2.97 0.977759 11.0653 +108100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.132597 0.0021398 +7 0.39 0.380042 0.0064194 +8 0.45 0.571187 0.0149786 +9 0.51 0.444841 0.0235378 +10 0.57 0.653036 0.0392297 +11 0.63 0.887051 0.0652639 +12 0.69 1.14483 0.105563 +13 0.75 1.08057 0.150499 +14 0.81 1.06619 0.202211 +15 0.87 1.17285 0.267832 +16 0.93 1.22169 0.345934 +17 0.99 1.11753 0.42689 +18 1.05 1.00224 0.508559 +19 1.11 0.94776 0.594864 +20 1.17 0.97997 0.694009 +21 1.23 0.944126 0.799572 +22 1.29 0.988852 0.921184 +23 1.35 1.01413 1.05777 +24 1.41 1.0122 1.20649 +25 1.47 1.00274 1.36662 +26 1.53 1.02253 1.54351 +27 1.59 1.01746 1.73359 +28 1.65 1.05826 1.9465 +29 1.71 0.945698 2.15086 +30 1.77 0.992048 2.38053 +31 1.83 0.920862 2.60842 +32 1.89 1.03897 2.88267 +33 1.95 0.973479 3.15621 +34 2.01 0.998658 3.45435 +35 2.07 1.0182 3.77675 +36 2.13 1.01058 4.11555 +37 2.19 1.01634 4.47575 +38 2.25 0.972398 4.83951 +39 2.31 1.00304 5.23502 +40 2.37 1.02422 5.66013 +41 2.43 0.986524 6.09058 +42 2.49 0.96213 6.53138 +43 2.55 1.02649 7.02461 +44 2.61 0.967091 7.51141 +45 2.67 1.02634 8.05207 +46 2.73 1.01475 8.61091 +47 2.79 0.995141 9.18331 +48 2.85 1.01013 9.78959 +49 2.91 0.995695 10.4126 +50 2.97 1.01004 11.071 +108150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.190021 0.00356633 +8 0.45 0.452189 0.0103424 +9 0.51 0.518981 0.0203281 +10 0.57 0.623352 0.0353067 +11 0.63 0.97211 0.0638374 +12 0.69 1.12457 0.103424 +13 0.75 1.1749 0.152282 +14 0.81 1.16178 0.208631 +15 0.87 1.08361 0.269258 +16 0.93 1.26632 0.350214 +17 0.99 1.12737 0.431883 +18 1.05 1.02413 0.515335 +19 1.11 0.90468 0.597718 +20 1.17 0.898893 0.688659 +21 1.23 0.940937 0.793866 +22 1.29 0.994652 0.916191 +23 1.35 0.934696 1.04208 +24 1.41 1.06075 1.19793 +25 1.47 0.991569 1.35628 +26 1.53 0.987488 1.5271 +27 1.59 1.04609 1.72254 +28 1.65 1.03699 1.93117 +29 1.71 0.955601 2.13766 +30 1.77 1.00745 2.3709 +31 1.83 0.99724 2.61769 +32 1.89 1.07139 2.9005 +33 1.95 0.98744 3.17796 +34 2.01 0.941319 3.45899 +35 2.07 0.968639 3.76569 +36 2.13 1.01164 4.10485 +37 2.19 1.04452 4.47504 +38 2.25 1.0296 4.8602 +39 2.31 0.977715 5.24572 +40 2.37 1.02078 5.6694 +41 2.43 0.96609 6.09094 +42 2.49 1.01662 6.5567 +43 2.55 1.02575 7.04957 +44 2.61 0.947962 7.52675 +45 2.67 1.01687 8.06241 +46 2.73 1.01734 8.62268 +47 2.79 0.97096 9.18117 +48 2.85 1.003 9.78317 +49 2.91 0.995125 10.4058 +50 2.97 0.977759 11.0432 +108200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.132597 0.00249643 +7 0.39 0.253361 0.0053495 +8 0.45 0.380791 0.0110556 +9 0.51 0.685797 0.0242511 +10 0.57 0.667877 0.0402996 +11 0.63 1.03287 0.0706134 +12 0.69 0.992863 0.105563 +13 0.75 1.14917 0.153352 +14 0.81 1.17648 0.210414 +15 0.87 1.1601 0.275321 +16 0.93 1.16033 0.349501 +17 0.99 1.09783 0.42903 +18 1.05 1.02413 0.512482 +19 1.11 0.90468 0.594864 +20 1.17 0.941194 0.690086 +21 1.23 0.972833 0.798859 +22 1.29 0.977253 0.919044 +23 1.35 0.953231 1.04743 +24 1.41 1.07289 1.20506 +25 1.47 1.0072 1.36591 +26 1.53 1.0514 1.54779 +27 1.59 1.01746 1.73787 +28 1.65 1.00686 1.94044 +29 1.71 0.991911 2.15478 +30 1.77 0.978184 2.38124 +31 1.83 0.99724 2.62803 +32 1.89 1.05248 2.90585 +33 1.95 1.02932 3.19508 +34 2.01 0.966405 3.48359 +35 2.07 0.955124 3.78602 +36 2.13 0.991432 4.1184 +37 2.19 0.977099 4.46469 +38 2.25 1.00862 4.84201 +39 2.31 0.95239 5.21755 +40 2.37 0.999297 5.63231 +41 2.43 0.959551 6.051 +42 2.49 1.05788 6.53566 +43 2.55 1.00423 7.01819 +44 2.61 1.04715 7.54529 +45 2.67 1.00197 8.07311 +46 2.73 1.00957 8.6291 +47 2.79 1.01374 9.2122 +48 2.85 0.984581 9.80314 +49 2.91 1.00937 10.4347 +50 2.97 0.958608 11.0596 +108250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.348371 0.00570613 +8 0.45 0.380791 0.0114123 +9 0.51 0.797007 0.0267475 +10 0.57 0.608511 0.0413695 +11 0.63 0.887051 0.0674037 +12 0.69 1.05365 0.104494 +13 0.75 1.08057 0.149429 +14 0.81 1.11031 0.203281 +15 0.87 1.22384 0.271755 +16 0.93 1.11012 0.342725 +17 0.99 1.23075 0.431883 +18 1.05 0.936595 0.508203 +19 1.11 0.928178 0.592725 +20 1.17 0.97997 0.691869 +21 1.23 0.91861 0.794579 +22 1.29 1.04395 0.922967 +23 1.35 0.990301 1.05635 +24 1.41 0.966082 1.19829 +25 1.47 1.0675 1.36876 +26 1.53 0.927703 1.52924 +27 1.59 0.979279 1.7122 +28 1.65 1.00154 1.91369 +29 1.71 1.01667 2.13338 +30 1.77 1.00283 2.36555 +31 1.83 0.988594 2.6102 +32 1.89 1.00924 2.8766 +33 1.95 1.03186 3.16655 +34 2.01 1.01897 3.47076 +35 2.07 1.01031 3.79066 +36 2.13 0.978666 4.11876 +37 2.19 1.00829 4.47611 +38 2.25 0.980978 4.84308 +39 2.31 0.983141 5.23074 +40 2.37 1.05515 5.66869 +41 2.43 0.97835 6.09558 +42 2.49 0.970692 6.5403 +43 2.55 0.999774 7.02068 +44 2.61 1.00252 7.52532 +45 2.67 1.00265 8.0535 +46 2.73 1.03418 8.62304 +47 2.79 1.01498 9.20685 +48 2.85 0.964973 9.78602 +49 2.91 1.04129 10.4376 +50 2.97 0.998003 11.0881 +108300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.265194 0.0032097 +7 0.39 0.285031 0.0064194 +8 0.45 0.404591 0.0124822 +9 0.51 0.593122 0.0238944 +10 0.57 0.712403 0.0410128 +11 0.63 0.741234 0.0627675 +12 0.69 1.16509 0.10378 +13 0.75 1.19205 0.153352 +14 0.81 1.10295 0.206847 +15 0.87 1.07086 0.266762 +16 0.93 1.1938 0.343081 +17 0.99 1.09291 0.422254 +18 1.05 0.989114 0.502853 +19 1.11 0.932095 0.587732 +20 1.17 0.920044 0.680813 +21 1.23 1.03981 0.797076 +22 1.29 0.954054 0.914408 +23 1.35 0.955879 1.04315 +24 1.41 0.946664 1.18224 +25 1.47 0.973703 1.33773 +26 1.53 1.01841 1.51391 +27 1.59 1.13008 1.72504 +28 1.65 1.02636 1.93153 +29 1.71 0.986959 2.14479 +30 1.77 1.00591 2.37767 +31 1.83 0.925185 2.60663 +32 1.89 1.01194 2.87375 +33 1.95 0.998863 3.15442 +34 2.01 1.00105 3.45328 +35 2.07 0.985534 3.76534 +36 2.13 1.00845 4.10342 +37 2.19 0.985149 4.45257 +38 2.25 1.00481 4.82846 +39 2.31 1.01299 5.22789 +40 2.37 0.978675 5.63409 +41 2.43 0.985706 6.06419 +42 2.49 1.03141 6.53673 +43 2.55 1.06435 7.04815 +44 2.61 1.02944 7.56633 +45 2.67 0.932917 8.05777 +46 2.73 0.987556 8.60164 +47 2.79 1.00258 9.17832 +48 2.85 1.02142 9.79137 +49 2.91 1.06067 10.4551 +50 2.97 0.993079 11.1024 +108350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.486189 0.0042796 +7 0.39 0.380042 0.0085592 +8 0.45 0.380791 0.0142653 +9 0.51 0.556052 0.0249643 +10 0.57 0.593669 0.0392297 +11 0.63 0.862748 0.0645506 +12 0.69 0.992863 0.0995007 +13 0.75 1.14917 0.14729 +14 0.81 1.19119 0.205064 +15 0.87 1.20472 0.272468 +16 0.93 1.10455 0.343081 +17 0.99 1.12245 0.424394 +18 1.05 0.967231 0.50321 +19 1.11 0.90468 0.585592 +20 1.17 1.00465 0.687233 +21 1.23 0.921799 0.7903 +22 1.29 0.919256 0.903352 +23 1.35 0.985006 1.03602 +24 1.41 1.11172 1.19936 +25 1.47 1.0273 1.36341 +26 1.53 1.02253 1.5403 +27 1.59 0.988823 1.72504 +28 1.65 1.03345 1.93295 +29 1.71 1.03977 2.15763 +30 1.77 0.919647 2.37054 +31 1.83 0.979947 2.61305 +32 1.89 1.02005 2.88231 +33 1.95 1.00013 3.16334 +34 2.01 0.985518 3.45756 +35 2.07 1.04973 3.78994 +36 2.13 0.961646 4.11234 +37 2.19 0.995212 4.46505 +38 2.25 1.00004 4.83916 +39 2.31 0.962339 5.21862 +40 2.37 1.03968 5.65014 +41 2.43 0.960369 6.06919 +42 2.49 1.03219 6.54208 +43 2.55 1.00645 7.02568 +44 2.61 1.00252 7.53031 +45 2.67 0.998587 8.05635 +46 2.73 0.946759 8.57775 +47 2.79 1.00754 9.15728 +48 2.85 0.986364 9.74929 +49 2.91 1.00652 10.3791 +50 2.97 1.03029 11.0506 +108400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.475052 0.00784593 +8 0.45 0.356992 0.0131954 +9 0.51 0.500446 0.0228245 +10 0.57 0.801453 0.0420827 +11 0.63 0.996413 0.0713267 +12 0.69 1.10431 0.1102 +13 0.75 1.02911 0.152996 +14 0.81 1.16178 0.209344 +15 0.87 1.05811 0.268545 +16 0.93 1.08781 0.338088 +17 0.99 1.07814 0.416191 +18 1.05 1.01975 0.499287 +19 1.11 0.94776 0.585592 +20 1.17 0.909468 0.677603 +21 1.23 0.883524 0.776391 +22 1.29 1.00625 0.900143 +23 1.35 0.955879 1.02889 +24 1.41 0.990356 1.17439 +25 1.47 1.00274 1.33452 +26 1.53 1.0349 1.51355 +27 1.59 1.01555 1.70328 +28 1.65 1.0299 1.91049 +29 1.71 1.00016 2.1266 +30 1.77 0.987426 2.35521 +31 1.83 1.01453 2.60628 +32 1.89 1.04437 2.88195 +33 1.95 0.959518 3.15157 +34 2.01 1.03091 3.45934 +35 2.07 1.0227 3.78317 +36 2.13 1.03398 4.12981 +37 2.19 0.971061 4.47397 +38 2.25 0.972398 4.83773 +39 2.31 1.00213 5.23288 +40 2.37 0.976098 5.63802 +41 2.43 0.993062 6.07133 +42 2.49 0.993266 6.52639 +43 2.55 0.999032 7.00642 +44 2.61 1.01739 7.51854 +45 2.67 1.00671 8.04886 +46 2.73 1.05944 8.63231 +47 2.79 1.00754 9.21184 +48 2.85 0.986364 9.80385 +49 2.91 1.02191 10.4433 +50 2.97 0.980494 11.0824 +108450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.0883979 0.000713267 +7 0.39 0.158351 0.00249643 +8 0.45 0.594986 0.0114123 +9 0.51 0.481911 0.0206847 +10 0.57 0.593669 0.0349501 +11 0.63 0.887051 0.0609843 +12 0.69 1.23601 0.104494 +13 0.75 1.20063 0.154422 +14 0.81 1.11766 0.208631 +15 0.87 1.15373 0.273181 +16 0.93 0.998553 0.337019 +17 0.99 1.04368 0.412625 +18 1.05 1.01975 0.49572 +19 1.11 0.920346 0.579529 +20 1.17 0.923569 0.672967 +21 1.23 1.03981 0.78923 +22 1.29 0.919256 0.902282 +23 1.35 1.07768 1.04743 +24 1.41 0.983074 1.19187 +25 1.47 1.0273 1.35592 +26 1.53 0.981303 1.52568 +27 1.59 0.992641 1.71113 +28 1.65 0.973176 1.90692 +29 1.71 1.10084 2.14479 +30 1.77 0.99975 2.37625 +31 1.83 0.948243 2.61091 +32 1.89 0.999785 2.87482 +33 1.95 0.962056 3.14515 +34 2.01 1.02494 3.45114 +35 2.07 1.00919 3.77068 +36 2.13 0.983985 4.10057 +37 2.19 0.991187 4.45185 +38 2.25 1.04962 4.84451 +39 2.31 1.01208 5.24358 +40 2.37 0.988127 5.65371 +41 2.43 0.992245 6.08666 +42 2.49 0.973806 6.53281 +43 2.55 1.00794 7.01712 +44 2.61 1.02448 7.53281 +45 2.67 1.02093 8.07061 +46 2.73 1.00245 8.62268 +47 2.79 0.97096 9.18117 +48 2.85 0.98161 9.77033 +49 2.91 0.999115 10.3955 +50 2.97 1.0084 11.0528 +108500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.475052 0.00713267 +8 0.45 0.452189 0.0139087 +9 0.51 0.611657 0.0256776 +10 0.57 0.593669 0.0399429 +11 0.63 0.947808 0.0677603 +12 0.69 1.10431 0.106633 +13 0.75 1.15775 0.154779 +14 0.81 1.11031 0.208631 +15 0.87 1.03899 0.266762 +16 0.93 1.31095 0.350571 +17 0.99 0.989527 0.422254 +18 1.05 0.971608 0.501427 +19 1.11 1.03 0.595221 +20 1.17 0.969395 0.693295 +21 1.23 0.877145 0.791369 +22 1.29 0.997552 0.914051 +23 1.35 0.971766 1.04494 +24 1.41 1.01706 1.19437 +25 1.47 1.034 1.35949 +26 1.53 1.01429 1.53495 +27 1.59 0.971643 1.71648 +28 1.65 0.919997 1.90157 +29 1.71 1.05793 2.13017 +30 1.77 0.984345 2.35806 +31 1.83 0.998681 2.60521 +32 1.89 1.00114 2.86947 +33 1.95 0.981094 3.14515 +34 2.01 1.02255 3.45043 +35 2.07 0.993419 3.76498 +36 2.13 0.955264 4.08524 +37 2.19 0.97408 4.43046 +38 2.25 0.999092 4.80421 +39 2.31 1.03741 5.21327 +40 2.37 0.976098 5.6184 +41 2.43 1.02085 6.06384 +42 2.49 1.0065 6.52496 +43 2.55 0.970085 6.99108 +44 2.61 0.988346 7.48859 +45 2.67 1.00807 8.01961 +46 2.73 1.03224 8.58809 +47 2.79 1.00816 9.16797 +48 2.85 0.959625 9.74394 +49 2.91 1.02476 10.3852 +50 2.97 1.02098 11.0506 +108550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.380042 0.00570613 +8 0.45 0.380791 0.0114123 +9 0.51 0.778472 0.0263909 +10 0.57 0.875662 0.0474322 +11 0.63 0.923505 0.0745364 +12 0.69 0.952338 0.10806 +13 0.75 1.09772 0.153709 +14 0.81 1.15443 0.2097 +15 0.87 1.06449 0.269258 +16 0.93 1.1938 0.345578 +17 0.99 0.964912 0.415478 +18 1.05 0.892829 0.488231 +19 1.11 1.07308 0.585949 +20 1.17 0.955294 0.682596 +21 1.23 1.043 0.799215 +22 1.29 0.927955 0.913338 +23 1.35 1.00089 1.04815 +24 1.41 0.944236 1.18688 +25 1.47 1.06303 1.35663 +26 1.53 0.989549 1.52782 +27 1.59 1.03082 1.7204 +28 1.65 1.02458 1.92653 +29 1.71 0.978707 2.13802 +30 1.77 1.08447 2.38909 +31 1.83 0.991476 2.63445 +32 1.89 0.987625 2.89515 +33 1.95 1.02044 3.18188 +34 2.01 1.02494 3.48787 +35 2.07 0.928092 3.78174 +36 2.13 0.96271 4.10449 +37 2.19 1.00829 4.46184 +38 2.25 1.01434 4.8413 +39 2.31 0.99309 5.23288 +40 2.37 1.01906 5.65585 +41 2.43 1.02494 6.10307 +42 2.49 0.980033 6.55207 +43 2.55 1.00274 7.03388 +44 2.61 0.987637 7.53103 +45 2.67 0.99114 8.05314 +46 2.73 0.970719 8.58773 +47 2.79 1.0001 9.16298 +48 2.85 1.01904 9.77461 +49 2.91 1.00025 10.4005 +50 2.97 1.0188 11.0646 +108600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.285031 0.0064194 +8 0.45 0.475989 0.0135521 +9 0.51 0.648727 0.0260342 +10 0.57 0.86082 0.046719 +11 0.63 0.874899 0.0723966 +12 0.69 1.18536 0.114123 +13 0.75 1.02053 0.156562 +14 0.81 0.941188 0.202211 +15 0.87 1.1346 0.265692 +16 0.93 1.08781 0.335235 +17 0.99 1.02891 0.409772 +18 1.05 1.08102 0.49786 +19 1.11 0.889015 0.578816 +20 1.17 0.955294 0.675464 +21 1.23 0.902661 0.776391 +22 1.29 1.01495 0.901213 +23 1.35 1.03532 1.04066 +24 1.41 0.99521 1.18688 +25 1.47 0.996035 1.34593 +26 1.53 1.01429 1.5214 +27 1.59 0.97737 1.70399 +28 1.65 1.02104 1.90942 +29 1.71 1.01337 2.12839 +30 1.77 0.939673 2.34593 +31 1.83 1.00445 2.59451 +32 1.89 1.04977 2.87161 +33 1.95 1.02425 3.15942 +34 2.01 0.975961 3.45078 +35 2.07 0.981029 3.76141 +36 2.13 1.00952 4.09986 +37 2.19 0.986156 4.44936 +38 2.25 0.995278 4.82168 +39 2.31 1.0157 5.22218 +40 2.37 1.03624 5.65228 +41 2.43 0.986524 6.08274 +42 2.49 0.980033 6.53174 +43 2.55 0.982703 7.00392 +44 2.61 1.00252 7.50856 +45 2.67 1.03108 8.05171 +46 2.73 0.972662 8.58738 +47 2.79 1.0187 9.17332 +48 2.85 1.00835 9.77853 +49 2.91 1.00994 10.4105 +50 2.97 1.02646 11.0795 +108650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.316701 0.00677603 +8 0.45 0.523588 0.014622 +9 0.51 0.611657 0.0263909 +10 0.57 0.831136 0.0463623 +11 0.63 0.801991 0.0699001 +12 0.69 1.05365 0.10699 +13 0.75 0.986231 0.148003 +14 0.81 1.14707 0.203638 +15 0.87 1.12186 0.266405 +16 0.93 1.21054 0.343795 +17 0.99 1.05845 0.420471 +18 1.05 1.00662 0.502496 +19 1.11 0.924262 0.586662 +20 1.17 0.863642 0.674037 +21 1.23 0.956885 0.781027 +22 1.29 1.02655 0.907275 +23 1.35 0.982358 1.03959 +24 1.41 1.01463 1.18866 +25 1.47 1.02953 1.35307 +26 1.53 0.999857 1.52603 +27 1.59 1.05373 1.7229 +28 1.65 1.01749 1.9276 +29 1.71 0.940747 2.13088 +30 1.77 1.08601 2.38231 +31 1.83 0.932391 2.61305 +32 1.89 1.00789 2.8791 +33 1.95 1.01917 3.16548 +34 2.01 0.928178 3.44258 +35 2.07 1.0396 3.77175 +36 2.13 1.04568 4.12233 +37 2.19 0.984143 4.47111 +38 2.25 1.00672 4.84772 +39 2.31 1.02656 5.2525 +40 2.37 1.00961 5.67154 +41 2.43 0.998784 6.10735 +42 2.49 0.980812 6.5567 +43 2.55 1.02872 7.051 +44 2.61 1.00322 7.55599 +45 2.67 0.972184 8.06812 +46 2.73 1.02771 8.63409 +47 2.79 0.97406 9.19437 +48 2.85 0.972697 9.77817 +49 2.91 1.04072 10.4294 +50 2.97 0.993079 11.0767 +108700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.220995 0.00178317 +7 0.39 0.253361 0.00463623 +8 0.45 0.452189 0.0114123 +9 0.51 0.426306 0.0196148 +10 0.57 0.786611 0.0385164 +11 0.63 0.996413 0.0677603 +12 0.69 0.962469 0.101641 +13 0.75 1.04626 0.14515 +14 0.81 1.2206 0.204351 +15 0.87 1.1346 0.267832 +16 0.93 1.17149 0.342725 +17 0.99 1.06337 0.419757 +18 1.05 1.05476 0.505706 +19 1.11 0.986924 0.595578 +20 1.17 0.951769 0.691869 +21 1.23 0.909041 0.793509 +22 1.29 0.965654 0.912268 +23 1.35 1.00354 1.04743 +24 1.41 1.02677 1.19829 +25 1.47 1.01837 1.36091 +26 1.53 1.0081 1.53531 +27 1.59 1.02891 1.72753 +28 1.65 0.980267 1.92475 +29 1.71 0.932495 2.12625 +30 1.77 0.987426 2.35485 +31 1.83 1.0203 2.60735 +32 1.89 0.979519 2.86591 +33 1.95 1.01917 3.15228 +34 2.01 1.08108 3.47504 +35 2.07 1.03509 3.80278 +36 2.13 0.98824 4.13409 +37 2.19 0.956974 4.47325 +38 2.25 0.969538 4.83595 +39 2.31 1.00937 5.23395 +40 2.37 1.03281 5.66262 +41 2.43 0.99388 6.09629 +42 2.49 0.994823 6.55207 +43 2.55 1.02204 7.04315 +44 2.61 1.02731 7.56027 +45 2.67 0.958644 8.06526 +46 2.73 1.01475 8.62411 +47 2.79 0.980881 9.1883 +48 2.85 0.995871 9.78602 +49 2.91 1.00595 10.4155 +50 2.97 1.01715 11.0785 +108750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.132597 0.0010699 +7 0.39 0.475052 0.0064194 +8 0.45 0.356992 0.0117689 +9 0.51 0.630192 0.0238944 +10 0.57 0.682719 0.0402996 +11 0.63 0.947808 0.068117 +12 0.69 0.982731 0.10271 +13 0.75 1.18348 0.151926 +14 0.81 1.11031 0.205777 +15 0.87 1.19197 0.272468 +16 0.93 1.17149 0.347361 +17 0.99 1.15199 0.430813 +18 1.05 0.923465 0.506063 +19 1.11 0.90468 0.588445 +20 1.17 0.934144 0.682953 +21 1.23 0.883524 0.78174 +22 1.29 0.980153 0.902282 +23 1.35 0.971766 1.03317 +24 1.41 1.02191 1.18331 +25 1.47 1.00274 1.34344 +26 1.53 1.00604 1.51748 +27 1.59 0.904831 1.68652 +28 1.65 1.03699 1.89515 +29 1.71 1.03812 2.11947 +30 1.77 1.04134 2.36056 +31 1.83 1.01886 2.6127 +32 1.89 1.01194 2.87981 +33 1.95 0.984902 3.15656 +34 2.01 1.01658 3.46006 +35 2.07 0.975397 3.7689 +36 2.13 0.977603 4.09665 +37 2.19 1.01031 4.45471 +38 2.25 1.01148 4.8331 +39 2.31 1.0365 5.2418 +40 2.37 1.03882 5.67297 +41 2.43 0.99388 6.10663 +42 2.49 0.980812 6.55599 +43 2.55 0.97157 7.02282 +44 2.61 1.00181 7.5271 +45 2.67 1.05884 8.08488 +46 2.73 1.00957 8.64087 +47 2.79 1.03544 9.23645 +48 2.85 1.01964 9.84843 +49 2.91 0.993415 10.47 +50 2.97 0.958061 11.0945 +108800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.348371 0.0053495 +8 0.45 0.356992 0.010699 +9 0.51 0.537517 0.0210414 +10 0.57 0.816295 0.0406562 +11 0.63 0.923505 0.0677603 +12 0.69 0.911813 0.0998573 +13 0.75 0.960503 0.1398 +14 0.81 1.16178 0.196148 +15 0.87 1.16647 0.261412 +16 0.93 1.08223 0.330599 +17 0.99 1.12245 0.411912 +18 1.05 1.00224 0.493581 +19 1.11 0.979091 0.582739 +20 1.17 1.00817 0.684736 +21 1.23 0.91542 0.78709 +22 1.29 0.930855 0.901569 +23 1.35 0.992949 1.03531 +24 1.41 0.99521 1.18153 +25 1.47 1.01837 1.34415 +26 1.53 0.942134 1.50713 +27 1.59 0.990732 1.69223 +28 1.65 1.09194 1.91191 +29 1.71 1.01337 2.13088 +30 1.77 0.993588 2.36091 +31 1.83 1.04912 2.62054 +32 1.89 0.987625 2.88124 +33 1.95 1.04455 3.17475 +34 2.01 0.964015 3.46255 +35 2.07 1.01369 3.78352 +36 2.13 0.965901 4.10735 +37 2.19 1.02138 4.46933 +38 2.25 1.01816 4.85021 +39 2.31 0.963243 5.23003 +40 2.37 1.02765 5.65656 +41 2.43 1.04129 6.11091 +42 2.49 1.00883 6.57311 +43 2.55 0.997548 7.05243 +44 2.61 0.971342 7.54137 +45 2.67 1.0013 8.06883 +46 2.73 0.993385 8.61591 +47 2.79 1.02366 9.20471 +48 2.85 0.973886 9.78923 +49 2.91 1.03274 10.4354 +50 2.97 0.989249 11.0802 +108850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.253361 0.0042796 +8 0.45 0.571187 0.0128388 +9 0.51 0.463376 0.0217546 +10 0.57 0.682719 0.0381598 +11 0.63 0.923505 0.0652639 +12 0.69 1.09418 0.10378 +13 0.75 0.994807 0.14515 +14 0.81 1.16913 0.201854 +15 0.87 1.16647 0.267118 +16 0.93 0.89814 0.324536 +17 0.99 1.00922 0.397646 +18 1.05 0.967231 0.476462 +19 1.11 0.920346 0.560271 +20 1.17 1.03285 0.664765 +21 1.23 0.99835 0.776391 +22 1.29 0.962754 0.894793 +23 1.35 1.06709 1.03852 +24 1.41 1.01463 1.18759 +25 1.47 0.991569 1.34593 +26 1.53 1.03284 1.52461 +27 1.59 0.952554 1.70257 +28 1.65 1.04231 1.91227 +29 1.71 0.978707 2.12375 +30 1.77 1.01978 2.35984 +31 1.83 1.01597 2.61127 +32 1.89 1.03086 2.88338 +33 1.95 0.995056 3.16298 +34 2.01 0.909065 3.43438 +35 2.07 1.02496 3.75892 +36 2.13 1.03079 4.10449 +37 2.19 0.9932 4.45649 +38 2.25 1.03246 4.84272 +39 2.31 1.01027 5.24108 +40 2.37 1.0457 5.67511 +41 2.43 0.989793 6.10699 +42 2.49 1.01818 6.57347 +43 2.55 0.976765 7.0428 +44 2.61 1.0096 7.551 +45 2.67 1.02296 8.08987 +46 2.73 0.992737 8.63659 +47 2.79 1.03606 9.23252 +48 2.85 0.954871 9.80563 +49 2.91 1.01564 10.4412 +50 2.97 1.00074 11.0934 +108900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.316701 0.00570613 +8 0.45 0.499788 0.0131954 +9 0.51 0.815542 0.0288873 +10 0.57 0.697561 0.0456491 +11 0.63 0.729083 0.0670471 +12 0.69 1.22588 0.1102 +13 0.75 1.02911 0.152996 +14 0.81 1.19119 0.21077 +15 0.87 0.975249 0.265335 +16 0.93 1.13802 0.338088 +17 0.99 1.00922 0.411198 +18 1.05 1.05914 0.497504 +19 1.11 1.02217 0.590585 +20 1.17 0.955294 0.687233 +21 1.23 1.01749 0.800999 +22 1.29 0.893157 0.910842 +23 1.35 0.974414 1.04208 +24 1.41 0.912681 1.17618 +25 1.47 1.101 1.352 +26 1.53 1.14417 1.54993 +27 1.59 1.00219 1.73716 +28 1.65 0.98913 1.93616 +29 1.71 1.01007 2.15442 +30 1.77 1.00283 2.38659 +31 1.83 1.05633 2.648 +32 1.89 1.00519 2.91334 +33 1.95 0.945557 3.17903 +34 2.01 0.966405 3.46755 +35 2.07 0.997924 3.78352 +36 2.13 1.04143 4.13267 +37 2.19 1.01433 4.49215 +38 2.25 0.978118 4.85806 +39 2.31 1.01299 5.25749 +40 2.37 1.04398 5.6908 +41 2.43 1.01758 6.13481 +42 2.49 0.970692 6.57953 +43 2.55 0.976023 7.0485 +44 2.61 1.02944 7.56669 +45 2.67 0.985047 8.08559 +46 2.73 1.00828 8.64087 +47 2.79 0.97654 9.20257 +48 2.85 0.981016 9.79137 +49 2.91 0.987146 10.4091 +50 2.97 1.00074 11.0613 +108950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.253361 0.0042796 +8 0.45 0.404591 0.0103424 +9 0.51 0.630192 0.0224679 +10 0.57 0.742086 0.0402996 +11 0.63 0.874899 0.0659772 +12 0.69 1.12457 0.105563 +13 0.75 1.2092 0.155849 +14 0.81 1.0809 0.208274 +15 0.87 1.1346 0.271755 +16 0.93 1.04318 0.338445 +17 0.99 1.11753 0.419401 +18 1.05 1.03288 0.503566 +19 1.11 1.00259 0.594864 +20 1.17 0.955294 0.691512 +21 1.23 0.924989 0.794936 +22 1.29 0.925055 0.908702 +23 1.35 0.995597 1.0428 +24 1.41 0.985501 1.18759 +25 1.47 1.04293 1.35414 +26 1.53 0.942134 1.51712 +27 1.59 1.03464 1.71041 +28 1.65 0.95545 1.90264 +29 1.71 1.08433 2.13695 +30 1.77 0.99975 2.3684 +31 1.83 0.964095 2.60699 +32 1.89 1.01059 2.87375 +33 1.95 0.963326 3.14444 +34 2.01 0.979545 3.43688 +35 2.07 1.00356 3.75464 +36 2.13 0.998878 4.08951 +37 2.19 0.990181 4.44044 +38 2.25 1.01816 4.82133 +39 2.31 1.02022 5.22361 +40 2.37 0.991564 5.63516 +41 2.43 0.994697 6.06919 +42 2.49 0.951232 6.50499 +43 2.55 0.970085 6.97111 +44 2.61 1.02235 7.48573 +45 2.67 0.994525 8.00963 +46 2.73 1.05167 8.5888 +47 2.79 0.997621 9.16262 +48 2.85 0.955466 9.73609 +49 2.91 0.994555 10.3584 +50 2.97 1.01223 11.0182 +109000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.380042 0.00677603 +8 0.45 0.404591 0.0128388 +9 0.51 0.518981 0.0228245 +10 0.57 0.756928 0.0410128 +11 0.63 0.753385 0.0631241 +12 0.69 1.02326 0.0991441 +13 0.75 1.20063 0.149073 +14 0.81 1.18384 0.206491 +15 0.87 1.1601 0.271398 +16 0.93 1.1157 0.342725 +17 0.99 1.10768 0.422967 +18 1.05 0.919089 0.49786 +19 1.11 1.00259 0.589158 +20 1.17 0.923569 0.682596 +21 1.23 0.956885 0.789586 +22 1.29 0.997552 0.912268 +23 1.35 1.03796 1.05207 +24 1.41 0.997638 1.19864 +25 1.47 1.00274 1.35877 +26 1.53 0.989549 1.52996 +27 1.59 0.971643 1.71148 +28 1.65 0.95545 1.90371 +29 1.71 0.983658 2.11626 +30 1.77 1.04904 2.35913 +31 1.83 0.972742 2.59986 +32 1.89 0.995731 2.8627 +33 1.95 0.951903 3.13017 +34 2.01 1.07272 3.45043 +35 2.07 1.04973 3.78281 +36 2.13 0.968029 4.10735 +37 2.19 1.06263 4.48395 +38 2.25 1.00004 4.85806 +39 2.31 0.939728 5.2286 +40 2.37 1.00961 5.64765 +41 2.43 0.957917 6.06562 +42 2.49 1.01662 6.53138 +43 2.55 0.981219 7.00285 +44 2.61 1.0181 7.51534 +45 2.67 1.00603 8.04529 +46 2.73 0.992089 8.59165 +47 2.79 1.02924 9.18367 +48 2.85 0.991712 9.77889 +49 2.91 0.988856 10.3976 +50 2.97 0.989796 11.0428 +109050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.126681 0.00356633 +8 0.45 0.547387 0.0117689 +9 0.51 0.556052 0.0224679 +10 0.57 0.682719 0.038873 +11 0.63 1.05717 0.0699001 +12 0.69 1.07391 0.107703 +13 0.75 1.02911 0.150499 +14 0.81 1.26472 0.21184 +15 0.87 1.08998 0.272825 +16 0.93 1.04876 0.339872 +17 0.99 1.16183 0.424037 +18 1.05 0.945348 0.50107 +19 1.11 0.912513 0.584165 +20 1.17 0.944719 0.679743 +21 1.23 0.944126 0.785307 +22 1.29 1.00335 0.908702 +23 1.35 0.969118 1.03923 +24 1.41 0.961228 1.18046 +25 1.47 0.996035 1.33951 +26 1.53 1.02872 1.51748 +27 1.59 1.01555 1.7072 +28 1.65 1.02104 1.91262 +29 1.71 1.04307 2.13802 +30 1.77 0.987426 2.36662 +31 1.83 0.995799 2.61305 +32 1.89 0.9552 2.86519 +33 1.95 1.02552 3.15335 +34 2.01 0.983128 3.44686 +35 2.07 0.958503 3.75036 +36 2.13 0.994623 4.08381 +37 2.19 0.995212 4.43652 +38 2.25 1.00958 4.81419 +39 2.31 1.05098 5.2286 +40 2.37 1.00102 5.64408 +41 2.43 0.993062 6.07739 +42 2.49 1.00105 6.53602 +43 2.55 1.00423 7.01854 +44 2.61 1.00889 7.52639 +45 2.67 0.978277 8.04173 +46 2.73 0.976547 8.57953 +47 2.79 0.998241 9.15371 +48 2.85 1.01132 9.7607 +49 2.91 0.992845 10.382 +50 2.97 0.975023 11.0175 +109100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.348371 0.0064194 +8 0.45 0.42839 0.0128388 +9 0.51 0.611657 0.0246077 +10 0.57 0.786611 0.0435093 +11 0.63 0.911353 0.0702568 +12 0.69 0.911813 0.102354 +13 0.75 1.08914 0.147646 +14 0.81 1.08825 0.200428 +15 0.87 1.1601 0.265335 +16 0.93 1.05992 0.333096 +17 0.99 1.15199 0.416548 +18 1.05 0.975984 0.496077 +19 1.11 0.971258 0.584522 +20 1.17 1.02932 0.688659 +21 1.23 0.921799 0.791726 +22 1.29 0.994652 0.914051 +23 1.35 1.00619 1.04957 +24 1.41 1.01948 1.19936 +25 1.47 0.955837 1.352 +26 1.53 0.973057 1.52033 +27 1.59 1.03082 1.71291 +28 1.65 1.06181 1.92653 +29 1.71 0.942398 2.13017 +30 1.77 1.03364 2.36947 +31 1.83 0.99724 2.61626 +32 1.89 0.987625 2.87696 +33 1.95 0.943018 3.14194 +34 2.01 0.999852 3.44044 +35 2.07 0.984408 3.75214 +36 2.13 1.04249 4.10164 +37 2.19 0.988168 4.45185 +38 2.25 1.05248 4.84558 +39 2.31 0.980428 5.23217 +40 2.37 0.988127 5.6423 +41 2.43 1.00287 6.07989 +42 2.49 1.02285 6.5485 +43 2.55 1.00794 7.03281 +44 2.61 1.00747 7.53994 +45 2.67 1.0128 8.07347 +46 2.73 1.00957 8.62946 +47 2.79 0.9753 9.19044 +48 2.85 0.976857 9.77675 +49 2.91 0.984866 10.393 +50 2.97 1.01934 11.0574 +109150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.316701 0.00463623 +8 0.45 0.42839 0.0110556 +9 0.51 0.611657 0.0228245 +10 0.57 0.653036 0.0385164 +11 0.63 0.729083 0.0599144 +12 0.69 0.992863 0.0948645 +13 0.75 1.12345 0.141583 +14 0.81 1.19119 0.199358 +15 0.87 1.15373 0.263909 +16 0.93 1.10455 0.334522 +17 0.99 1.13722 0.416904 +18 1.05 1.011 0.499287 +19 1.11 0.975175 0.588088 +20 1.17 0.909468 0.6801 +21 1.23 1.0143 0.793509 +22 1.29 0.948254 0.910128 +23 1.35 0.958527 1.03923 +24 1.41 0.990356 1.18474 +25 1.47 1.0809 1.35735 +26 1.53 0.997796 1.52996 +27 1.59 0.996459 1.71612 +28 1.65 1.07422 1.93224 +29 1.71 0.985309 2.14515 +30 1.77 1.02594 2.38267 +31 1.83 0.974183 2.62375 +32 1.89 0.964657 2.87839 +33 1.95 0.970941 3.15121 +34 2.01 0.979545 3.44365 +35 2.07 1.04298 3.77389 +36 2.13 0.98824 4.10521 +37 2.19 1.00427 4.46113 +38 2.25 1.0172 4.84165 +39 2.31 1.07449 5.26534 +40 2.37 1.04656 5.69971 +41 2.43 0.963638 6.12019 +42 2.49 0.973806 6.56633 +43 2.55 0.981961 7.03816 +44 2.61 0.991888 7.53745 +45 2.67 1.00062 8.06455 +46 2.73 0.984966 8.60699 +47 2.79 1.00134 9.18295 +48 2.85 0.994088 9.7796 +49 2.91 1.00823 10.4105 +50 2.97 1.00074 11.0628 +109200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0.131872 0.00142653 +6 0.33 0.0883979 0.0021398 +7 0.39 0.285031 0.0053495 +8 0.45 0.261794 0.00927247 +9 0.51 0.797007 0.0246077 +10 0.57 0.727244 0.0420827 +11 0.63 0.78984 0.0652639 +12 0.69 0.992863 0.100214 +13 0.75 1.1406 0.147646 +14 0.81 1.27207 0.209344 +15 0.87 1.23022 0.278174 +16 0.93 1.01529 0.343081 +17 0.99 1.05353 0.419401 +18 1.05 0.967231 0.498217 +19 1.11 0.916429 0.581669 +20 1.17 0.976445 0.680456 +21 1.23 0.950506 0.786733 +22 1.29 0.942455 0.902639 +23 1.35 1.02472 1.04066 +24 1.41 0.956373 1.18117 +25 1.47 1.00943 1.34237 +26 1.53 1.04315 1.52282 +27 1.59 1.01555 1.71255 +28 1.65 0.992675 1.91227 +29 1.71 1.02987 2.13481 +30 1.77 1.04596 2.37696 +31 1.83 0.978506 2.61912 +32 1.89 0.982221 2.87839 +33 1.95 0.973479 3.15193 +34 2.01 0.966405 3.44044 +35 2.07 0.929218 3.73466 +36 2.13 1.01803 4.07596 +37 2.19 1.00326 4.43153 +38 2.25 0.997185 4.80456 +39 2.31 0.978619 5.19044 +40 2.37 1.01304 5.61091 +41 2.43 1.01922 6.05563 +42 2.49 0.977698 6.50357 +43 2.55 0.992352 6.98039 +44 2.61 0.986929 7.47718 +45 2.67 1.00333 8.00571 +46 2.73 0.981081 8.54601 +47 2.79 1.03296 9.14016 +48 2.85 1.02439 9.75499 +49 2.91 1.00709 10.3852 +50 2.97 1.01989 11.0499 +109250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.190021 0.00392297 +8 0.45 0.333192 0.00891583 +9 0.51 0.759937 0.0235378 +10 0.57 0.667877 0.0395863 +11 0.63 0.874899 0.0652639 +12 0.69 1.18536 0.10699 +13 0.75 1.10629 0.152996 +14 0.81 1.2206 0.212197 +15 0.87 1.15373 0.276748 +16 0.93 1.07107 0.345221 +17 0.99 1.03876 0.420471 +18 1.05 0.932218 0.496434 +19 1.11 0.998673 0.587375 +20 1.17 1.0399 0.692582 +21 1.23 0.934558 0.797076 +22 1.29 0.936655 0.912268 +23 1.35 0.977062 1.04387 +24 1.41 0.96851 1.18616 +25 1.47 0.946903 1.33738 +26 1.53 0.989549 1.50856 +27 1.59 1.04991 1.70471 +28 1.65 0.994448 1.90478 +29 1.71 1.02492 2.12625 +30 1.77 1.03056 2.36484 +31 1.83 1.01165 2.61519 +32 1.89 1.0187 2.88409 +33 1.95 0.959518 3.15371 +34 2.01 0.942513 3.43509 +35 2.07 1.00356 3.75285 +36 2.13 1.02228 4.09558 +37 2.19 0.996218 4.44864 +38 2.25 1.00195 4.82347 +39 2.31 1.05007 5.23752 +40 2.37 0.954617 5.63374 +41 2.43 1.03638 6.08595 +42 2.49 0.986261 6.5378 +43 2.55 0.981961 7.00963 +44 2.61 1.00818 7.51712 +45 2.67 1.00739 8.04779 +46 2.73 0.988204 8.59201 +47 2.79 0.97778 9.15442 +48 2.85 1.04044 9.77889 +49 2.91 0.964348 10.3823 +50 2.97 1.04287 11.0621 +109300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.353592 0.00392297 +7 0.39 0.158351 0.00570613 +8 0.45 0.356992 0.0110556 +9 0.51 0.574587 0.0221113 +10 0.57 0.742086 0.0399429 +11 0.63 1.00856 0.0695435 +12 0.69 1.06378 0.10699 +13 0.75 1.05484 0.150856 +14 0.81 1.07354 0.202924 +15 0.87 1.09636 0.264265 +16 0.93 1.1157 0.335592 +17 0.99 1.0683 0.412981 +18 1.05 0.993491 0.493937 +19 1.11 0.971258 0.582382 +20 1.17 0.944719 0.67796 +21 1.23 0.947316 0.78388 +22 1.29 0.951154 0.900856 +23 1.35 0.992949 1.03459 +24 1.41 1.03648 1.18688 +25 1.47 0.949137 1.33845 +26 1.53 0.962749 1.50499 +27 1.59 1.07663 1.70613 +28 1.65 0.999766 1.90728 +29 1.71 1.00841 2.12518 +30 1.77 1.09064 2.37767 +31 1.83 1.01021 2.62767 +32 1.89 0.986274 2.88802 +33 1.95 0.977287 3.16262 +34 2.01 0.968794 3.45185 +35 2.07 0.991166 3.76569 +36 2.13 0.978666 4.09379 +37 2.19 1.00226 4.449 +38 2.25 1.00004 4.82311 +39 2.31 1.00123 5.2179 +40 2.37 1.00961 5.63695 +41 2.43 1.00042 6.07347 +42 2.49 1.00261 6.53281 +43 2.55 1.01462 7.02033 +44 2.61 0.987637 7.51748 +45 2.67 0.982339 8.03495 +46 2.73 0.966834 8.5674 +47 2.79 0.997001 9.14087 +48 2.85 0.992306 9.73645 +49 2.91 1.02989 10.3809 +50 2.97 1.01661 11.0435 +109350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.253361 0.0042796 +8 0.45 0.452189 0.0110556 +9 0.51 0.889683 0.028174 +10 0.57 0.727244 0.0456491 +11 0.63 0.765537 0.068117 +12 0.69 1.02326 0.104137 +13 0.75 1.09772 0.149786 +14 0.81 1.17648 0.206847 +15 0.87 1.14735 0.271041 +16 0.93 1.14917 0.344508 +17 0.99 0.99445 0.416548 +18 1.05 1.17731 0.512482 +19 1.11 0.983008 0.601997 +20 1.17 0.835442 0.686519 +21 1.23 0.963264 0.794223 +22 1.29 0.983053 0.915121 +23 1.35 0.873795 1.03281 +24 1.41 0.944236 1.17154 +25 1.47 0.953603 1.32382 +26 1.53 1.0349 1.50285 +27 1.59 1.03655 1.6965 +28 1.65 1.04408 1.90656 +29 1.71 0.980357 2.1184 +30 1.77 1.07061 2.36626 +31 1.83 0.991476 2.61163 +32 1.89 0.963306 2.86591 +33 1.95 0.995056 3.14551 +34 2.01 1.02972 3.45292 +35 2.07 1.00243 3.77033 +36 2.13 0.997814 4.10485 +37 2.19 0.953955 4.44294 +38 2.25 1.01434 4.8224 +39 2.31 1.05188 5.23716 +40 2.37 0.995001 5.65014 +41 2.43 0.983254 6.07917 +42 2.49 0.963686 6.52068 +43 2.55 1.01981 7.0107 +44 2.61 0.975593 7.50178 +45 2.67 1.02025 8.03923 +46 2.73 1.00116 8.59058 +47 2.79 1.03544 9.18616 +48 2.85 1.00716 9.79066 +49 2.91 0.990566 10.4105 +50 2.97 0.984325 11.0521 +109400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.265194 0.0032097 +7 0.39 0.285031 0.0064194 +8 0.45 0.523588 0.0142653 +9 0.51 0.685797 0.0274608 +10 0.57 0.712403 0.0445792 +11 0.63 0.826294 0.0688302 +12 0.69 1.01313 0.104494 +13 0.75 1.16633 0.152996 +14 0.81 1.0809 0.205421 +15 0.87 1.17285 0.271041 +16 0.93 1.21054 0.348431 +17 0.99 0.99445 0.420471 +18 1.05 0.954101 0.498217 +19 1.11 0.955593 0.585235 +20 1.17 1.00817 0.687233 +21 1.23 0.982402 0.797076 +22 1.29 0.974353 0.916904 +23 1.35 0.969118 1.04743 +24 1.41 1.06803 1.20435 +25 1.47 1.0139 1.36626 +26 1.53 0.966872 1.53352 +27 1.59 1.03846 1.72753 +28 1.65 0.973176 1.92332 +29 1.71 0.963853 2.1316 +30 1.77 1.02132 2.36805 +31 1.83 1.02606 2.62197 +32 1.89 0.993029 2.88409 +33 1.95 0.917634 3.14194 +34 2.01 0.931762 3.42011 +35 2.07 1.00919 3.73966 +36 2.13 1.00952 4.0781 +37 2.19 1.03949 4.4465 +38 2.25 0.927592 4.79351 +39 2.31 1.01751 5.19472 +40 2.37 1.00789 5.61305 +41 2.43 1.05681 6.07418 +42 2.49 1.01818 6.54066 +43 2.55 1.02427 7.03281 +44 2.61 1.02235 7.54743 +45 2.67 0.943073 8.04422 +46 2.73 0.999213 8.59451 +47 2.79 0.97096 9.153 +48 2.85 0.991117 9.74786 +49 2.91 1.01108 10.3805 +50 2.97 1.00074 11.0328 +109450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.329681 0.00178317 +6 0.33 0.044199 0.0021398 +7 0.39 0.316701 0.00570613 +8 0.45 0.404591 0.0117689 +9 0.51 0.463376 0.0206847 +10 0.57 0.771769 0.0392297 +11 0.63 0.947808 0.0670471 +12 0.69 1.21575 0.109843 +13 0.75 1.19205 0.159415 +14 0.81 1.11031 0.213267 +15 0.87 1.12823 0.276391 +16 0.93 1.05992 0.344151 +17 0.99 1.18152 0.429743 +18 1.05 0.945348 0.506776 +19 1.11 0.951677 0.593438 +20 1.17 0.909468 0.685449 +21 1.23 0.931368 0.789586 +22 1.29 0.985953 0.910842 +23 1.35 0.950583 1.03887 +24 1.41 1.07774 1.19722 +25 1.47 1.0474 1.36448 +26 1.53 0.960688 1.53067 +27 1.59 1.00982 1.71933 +28 1.65 0.939496 1.90835 +29 1.71 0.98861 2.12197 +30 1.77 1.02132 2.35842 +31 1.83 1.01309 2.60913 +32 1.89 1.00519 2.87447 +33 1.95 0.962056 3.14479 +34 2.01 1.02374 3.45043 +35 2.07 1.00693 3.76926 +36 2.13 0.960582 4.0913 +37 2.19 0.968043 4.43438 +38 2.25 1.01339 4.81348 +39 2.31 1.00485 5.2097 +40 2.37 1.02078 5.63338 +41 2.43 0.980802 6.06134 +42 2.49 1.01895 6.52817 +43 2.55 0.941139 6.98039 +44 2.61 0.994722 7.4811 +45 2.67 1.0189 8.01783 +46 2.73 0.996622 8.56669 +47 2.79 1.04412 9.16726 +48 2.85 0.988741 9.7607 +49 2.91 0.981446 10.3748 +50 2.97 1.00676 11.031 +109500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.353592 0.0032097 +7 0.39 0.285031 0.0064194 +8 0.45 0.380791 0.0121255 +9 0.51 0.537517 0.0224679 +10 0.57 0.742086 0.0402996 +11 0.63 0.923505 0.0674037 +12 0.69 1.16509 0.108417 +13 0.75 0.977655 0.149073 +14 0.81 1.03678 0.199358 +15 0.87 1.19197 0.266049 +16 0.93 1.08223 0.335235 +17 0.99 0.984604 0.406562 +18 1.05 1.05914 0.492867 +19 1.11 0.986924 0.582739 +20 1.17 1.00817 0.684736 +21 1.23 0.91861 0.787447 +22 1.29 0.985953 0.908702 +23 1.35 0.945288 1.03602 +24 1.41 1.01948 1.18581 +25 1.47 0.996035 1.34486 +26 1.53 0.964811 1.51177 +27 1.59 1.02128 1.70257 +28 1.65 0.994448 1.90264 +29 1.71 0.968804 2.11198 +30 1.77 1.00437 2.34451 +31 1.83 1.04047 2.602 +32 1.89 0.983572 2.86163 +33 1.95 1.00267 3.14337 +34 2.01 1.05361 3.45792 +35 2.07 1.02496 3.78245 +36 2.13 0.942498 4.09843 +37 2.19 0.992193 4.45007 +38 2.25 0.998138 4.82347 +39 2.31 0.962339 5.20292 +40 2.37 1.03195 5.63124 +41 2.43 1.00205 6.06847 +42 2.49 0.985482 6.51997 +43 2.55 0.965632 6.98395 +44 2.61 0.974176 7.47432 +45 2.67 0.9776 7.9893 +46 2.73 1.04325 8.56384 +47 2.79 0.97282 9.1234 +48 2.85 1.02142 9.73645 +49 2.91 1.0088 10.3677 +50 2.97 0.989796 11.0128 +109550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.265194 0.0032097 +7 0.39 0.348371 0.00713267 +8 0.45 0.547387 0.0153352 +9 0.51 0.611657 0.0271041 +10 0.57 0.831136 0.0470756 +11 0.63 0.716931 0.068117 +12 0.69 1.03339 0.104494 +13 0.75 1.06341 0.148716 +14 0.81 1.2206 0.207917 +15 0.87 1.19835 0.274964 +16 0.93 1.21612 0.35271 +17 0.99 1.02891 0.427247 +18 1.05 1.00224 0.508916 +19 1.11 0.912513 0.592011 +20 1.17 0.937669 0.686876 +21 1.23 0.937747 0.791726 +22 1.29 1.01205 0.916191 +23 1.35 0.982358 1.0485 +24 1.41 0.973364 1.19151 +25 1.47 0.991569 1.34986 +26 1.53 1.02253 1.52675 +27 1.59 1.00028 1.71362 +28 1.65 0.971403 1.90906 +29 1.71 1.01007 2.12732 +30 1.77 0.981265 2.35449 +31 1.83 1.03039 2.60949 +32 1.89 1.04572 2.88552 +33 1.95 0.983633 3.16191 +34 2.01 0.967599 3.45078 +35 2.07 0.986661 3.7632 +36 2.13 1.01696 4.10414 +37 2.19 1.01735 4.46469 +38 2.25 1.0029 4.83987 +39 2.31 1.01118 5.23859 +40 2.37 1.00187 5.65442 +41 2.43 0.961186 6.07382 +42 2.49 0.993266 6.52889 +43 2.55 0.988641 7.00392 +44 2.61 0.976301 7.49536 +45 2.67 1.01145 8.02817 +46 2.73 1.01022 8.58452 +47 2.79 0.998861 9.15906 +48 2.85 1.02796 9.77603 +49 2.91 1.01621 10.4119 +50 2.97 0.992532 11.0588 +109600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.221691 0.00356633 +8 0.45 0.452189 0.0103424 +9 0.51 0.759937 0.0249643 +10 0.57 0.697561 0.0417261 +11 0.63 0.801991 0.0652639 +12 0.69 1.04352 0.101997 +13 0.75 1.08914 0.14729 +14 0.81 1.2059 0.205777 +15 0.87 1.1601 0.270685 +16 0.93 1.14917 0.344151 +17 0.99 0.959989 0.413695 +18 1.05 0.940972 0.490371 +19 1.11 1.02217 0.583452 +20 1.17 0.920044 0.676534 +21 1.23 0.966454 0.784593 +22 1.29 0.988852 0.906205 +23 1.35 0.926753 1.03103 +24 1.41 0.941809 1.1694 +25 1.47 0.987102 1.32703 +26 1.53 1.09263 1.51605 +27 1.59 1.05564 1.71327 +28 1.65 1.04763 1.92404 +29 1.71 0.995211 2.13909 +30 1.77 1.01053 2.37304 +31 1.83 0.948243 2.6077 +32 1.89 1.02545 2.87839 +33 1.95 1.02425 3.16619 +34 2.01 0.99149 3.4622 +35 2.07 1.0013 3.77924 +36 2.13 1.0159 4.11983 +37 2.19 0.981124 4.46755 +38 2.25 0.986698 4.83666 +39 2.31 1.00937 5.23466 +40 2.37 0.997579 5.64872 +41 2.43 1.0421 6.10342 +42 2.49 0.974584 6.54993 +43 2.55 0.996063 7.02853 +44 2.61 0.963548 7.51355 +45 2.67 1.00333 8.04208 +46 2.73 0.972662 8.57775 +47 2.79 0.999481 9.15264 +48 2.85 0.98577 9.74429 +49 2.91 1.02305 10.3845 +50 2.97 0.99089 11.0303 +109650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.0883979 0.000713267 +7 0.39 0.316701 0.0042796 +8 0.45 0.333192 0.00927247 +9 0.51 0.500446 0.0189016 +10 0.57 0.86082 0.0395863 +11 0.63 0.753385 0.0616976 +12 0.69 1.20562 0.104137 +13 0.75 1.02053 0.146576 +14 0.81 1.2059 0.205064 +15 0.87 1.1856 0.271398 +16 0.93 1.00971 0.335949 +17 0.99 1.14706 0.419044 +18 1.05 0.923465 0.494294 +19 1.11 0.90468 0.576676 +20 1.17 0.902418 0.667974 +21 1.23 1.01111 0.781027 +22 1.29 0.945354 0.89729 +23 1.35 0.961175 1.02675 +24 1.41 1.01948 1.17653 +25 1.47 1.00497 1.33702 +26 1.53 0.999857 1.50999 +27 1.59 1.03082 1.70257 +28 1.65 0.999766 1.90371 +29 1.71 0.985309 2.11662 +30 1.77 0.99975 2.34807 +31 1.83 1.052 2.60842 +32 1.89 0.978168 2.86662 +33 1.95 0.98871 3.14444 +34 2.01 0.956848 3.4301 +35 2.07 0.984408 3.7418 +36 2.13 0.974411 4.06847 +37 2.19 0.979112 4.41548 +38 2.25 1.01625 4.79565 +39 2.31 1.01751 5.19686 +40 2.37 0.97352 5.60093 +41 2.43 1.00777 6.04066 +42 2.49 1.01428 6.50535 +43 2.55 1.02353 6.99715 +44 2.61 0.998973 7.5 +45 2.67 1.00603 8.02996 +46 2.73 1.01929 8.5913 +47 2.79 0.979021 9.15442 +48 2.85 0.942988 9.7204 +49 2.91 0.971757 10.3285 +50 2.97 1.00512 10.9836 +109700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.190021 0.00392297 +8 0.45 0.309393 0.0085592 +9 0.51 0.593122 0.0199715 +10 0.57 0.86082 0.0406562 +11 0.63 0.838445 0.0652639 +12 0.69 1.04352 0.101997 +13 0.75 1.13202 0.149073 +14 0.81 1.17648 0.206134 +15 0.87 1.24934 0.276034 +16 0.93 1.12128 0.347718 +17 0.99 1.05353 0.424037 +18 1.05 1.00224 0.505706 +19 1.11 0.955593 0.592725 +20 1.17 0.881268 0.681883 +21 1.23 0.982402 0.791726 +22 1.29 0.913456 0.904066 +23 1.35 0.977062 1.03566 +24 1.41 1.03648 1.18795 +25 1.47 0.940204 1.33809 +26 1.53 0.989549 1.50927 +27 1.59 0.988823 1.69401 +28 1.65 1.00508 1.89622 +29 1.71 0.986959 2.10949 +30 1.77 1.0398 2.35021 +31 1.83 1.03471 2.60628 +32 1.89 0.99438 2.86876 +33 1.95 1.01156 3.153 +34 2.01 0.977156 3.44472 +35 2.07 0.937102 3.74144 +36 2.13 0.987177 4.0724 +37 2.19 1.02943 4.43723 +38 2.25 1.03436 4.82418 +39 2.31 1.0347 5.23217 +40 2.37 0.971801 5.63552 +41 2.43 1.00369 6.07347 +42 2.49 1.03919 6.54957 +43 2.55 0.965632 7.01355 +44 2.61 0.973467 7.50357 +45 2.67 0.999941 8.03031 +46 2.73 0.990794 8.57596 +47 2.79 0.96476 9.13088 +48 2.85 1.01429 9.73966 +49 2.91 0.972327 10.3481 +50 2.97 1.04342 11.0282 +109750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.475052 0.00784593 +8 0.45 0.475989 0.0149786 +9 0.51 0.500446 0.0246077 +10 0.57 0.905345 0.0463623 +11 0.63 0.887051 0.0723966 +12 0.69 0.89155 0.10378 +13 0.75 0.969079 0.14408 +14 0.81 1.37502 0.21077 +15 0.87 1.21747 0.278887 +16 0.93 1.18264 0.354494 +17 0.99 0.979681 0.425464 +18 1.05 0.835933 0.493581 +19 1.11 0.955593 0.580599 +20 1.17 0.874218 0.669044 +21 1.23 0.940937 0.774251 +22 1.29 1.04395 0.902639 +23 1.35 0.913513 1.02568 +24 1.41 1.01463 1.17475 +25 1.47 0.978169 1.33096 +26 1.53 1.01841 1.50713 +27 1.59 1.04609 1.70257 +28 1.65 1.02636 1.90906 +29 1.71 1.00346 2.12589 +30 1.77 0.979724 2.35271 +31 1.83 1.00012 2.60021 +32 1.89 1.02681 2.87126 +33 1.95 0.978556 3.14622 +34 2.01 0.962821 3.43367 +35 2.07 0.949492 3.73431 +36 2.13 1.02228 4.07703 +37 2.19 0.977099 4.42332 +38 2.25 1.04294 4.81348 +39 2.31 1.00394 5.20934 +40 2.37 1.00102 5.62482 +41 2.43 1.00205 6.06205 +42 2.49 1.02362 6.53103 +43 2.55 0.967117 6.99572 +44 2.61 1.03652 7.51748 +45 2.67 0.958644 8.02247 +46 2.73 0.977843 8.56098 +47 2.79 1.00382 9.13837 +48 2.85 1.01964 9.75036 +49 2.91 1.04357 10.4034 +50 2.97 0.955326 11.026 +109800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.285031 0.00499287 +8 0.45 0.261794 0.00891583 +9 0.51 0.537517 0.0192582 +10 0.57 0.697561 0.03602 +11 0.63 0.826294 0.060271 +12 0.69 1.05365 0.0973609 +13 0.75 1.29496 0.151213 +14 0.81 1.11031 0.205064 +15 0.87 1.1346 0.268545 +16 0.93 1.0655 0.336662 +17 0.99 1.12245 0.417974 +18 1.05 1.00224 0.499643 +19 1.11 0.959509 0.587019 +20 1.17 0.941194 0.68224 +21 1.23 0.99516 0.793509 +22 1.29 0.913456 0.905849 +23 1.35 1.00619 1.04137 +24 1.41 1.02434 1.19187 +25 1.47 0.96477 1.34593 +26 1.53 1.03697 1.52532 +27 1.59 1.03464 1.71862 +28 1.65 1.03876 1.9276 +29 1.71 1.05133 2.15478 +30 1.77 0.918106 2.36733 +31 1.83 0.942479 2.60057 +32 1.89 1.04707 2.87696 +33 1.95 1.0179 3.16298 +34 2.01 1.04405 3.47468 +35 2.07 0.988913 3.7878 +36 2.13 0.977603 4.11555 +37 2.19 1.03949 4.48395 +38 2.25 0.981932 4.85128 +39 2.31 0.983141 5.23894 +40 2.37 1.01133 5.6587 +41 2.43 1.00859 6.09879 +42 2.49 0.994045 6.55421 +43 2.55 1.03763 7.05278 +44 2.61 0.96284 7.53745 +45 2.67 1.00333 8.06598 +46 2.73 0.97331 8.602 +47 2.79 1.0063 9.18081 +48 2.85 0.978639 9.76819 +49 2.91 1.01507 10.4034 +50 2.97 0.976117 11.0396 +109850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.348371 0.00677603 +8 0.45 0.404591 0.0128388 +9 0.51 0.778472 0.0278174 +10 0.57 0.86082 0.0485021 +11 0.63 0.874899 0.0741797 +12 0.69 0.9726 0.108417 +13 0.75 1.11487 0.154779 +14 0.81 1.13972 0.210057 +15 0.87 1.10273 0.271755 +16 0.93 1.15475 0.345578 +17 0.99 1.09783 0.425107 +18 1.05 1.00224 0.506776 +19 1.11 0.916429 0.590228 +20 1.17 1.06457 0.697932 +21 1.23 0.883524 0.796719 +22 1.29 0.962754 0.915121 +23 1.35 0.9294 1.0403 +24 1.41 1.02677 1.19116 +25 1.47 0.975936 1.347 +26 1.53 1.07407 1.53281 +27 1.59 1.02128 1.72361 +28 1.65 1.03876 1.9326 +29 1.71 1.00511 2.14979 +30 1.77 0.998209 2.38088 +31 1.83 0.935273 2.61234 +32 1.89 1.016 2.88053 +33 1.95 1.0179 3.16655 +34 2.01 0.961626 3.45364 +35 2.07 0.959629 3.75749 +36 2.13 0.970156 4.08274 +37 2.19 1.0415 4.45185 +38 2.25 0.997185 4.82489 +39 2.31 1.04917 5.23859 +40 2.37 1.0139 5.65942 +41 2.43 1.02657 6.10735 +42 2.49 0.945004 6.5403 +43 2.55 0.961179 7.00214 +44 2.61 1.00393 7.50749 +45 2.67 1.00265 8.03566 +46 2.73 1.0031 8.58809 +47 2.79 0.990181 9.15763 +48 2.85 1.01013 9.76391 +49 2.91 0.993985 10.3859 +50 2.97 0.999645 11.0374 +109900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.285031 0.00499287 +8 0.45 0.547387 0.0131954 +9 0.51 0.500446 0.0228245 +10 0.57 0.771769 0.0413695 +11 0.63 0.984262 0.0702568 +12 0.69 1.10431 0.10913 +13 0.75 0.84044 0.14408 +14 0.81 1.25737 0.205064 +15 0.87 1.24296 0.274608 +16 0.93 1.08781 0.344151 +17 0.99 1.04368 0.419757 +18 1.05 0.897205 0.492867 +19 1.11 0.959509 0.580243 +20 1.17 0.97292 0.678673 +21 1.23 1.11637 0.803495 +22 1.29 0.930855 0.917974 +23 1.35 0.990301 1.05136 +24 1.41 0.949091 1.1908 +25 1.47 1.0072 1.35164 +26 1.53 1.01429 1.5271 +27 1.59 0.992641 1.71255 +28 1.65 1.03167 1.92011 +29 1.71 1.07938 2.15335 +30 1.77 0.959698 2.37553 +31 1.83 1.02462 2.6291 +32 1.89 0.982221 2.88837 +33 1.95 1.03821 3.1801 +34 2.01 0.953264 3.46469 +35 2.07 1.08352 3.80777 +36 2.13 0.927606 4.11876 +37 2.19 1.02238 4.4811 +38 2.25 0.930452 4.82917 +39 2.31 0.98495 5.21755 +40 2.37 0.981253 5.62482 +41 2.43 1.03148 6.07489 +42 2.49 0.993266 6.52996 +43 2.55 0.996063 7.00856 +44 2.61 0.99118 7.50749 +45 2.67 1.03447 8.05243 +46 2.73 1.01475 8.61127 +47 2.79 0.985221 9.17796 +48 2.85 1.01904 9.78959 +49 2.91 1.01906 10.4272 +50 2.97 0.947665 11.0449 +109950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.253361 0.0042796 +8 0.45 0.380791 0.00998573 +9 0.51 0.630192 0.0221113 +10 0.57 0.578827 0.03602 +11 0.63 1.21514 0.0716833 +12 0.69 1.02326 0.107703 +13 0.75 1.01196 0.149786 +14 0.81 1.10295 0.203281 +15 0.87 1.14735 0.267475 +16 0.93 1.08223 0.336662 +17 0.99 1.16183 0.420827 +18 1.05 0.980361 0.500713 +19 1.11 1.04959 0.596291 +20 1.17 0.948244 0.692225 +21 1.23 1.01111 0.805278 +22 1.29 0.971453 0.92475 +23 1.35 0.966471 1.05492 +24 1.41 1.02919 1.20613 +25 1.47 0.920104 1.35307 +26 1.53 1.08438 1.54066 +27 1.59 1.07473 1.74144 +28 1.65 1.02104 1.94686 +29 1.71 0.998512 2.16262 +30 1.77 0.979724 2.38944 +31 1.83 0.929509 2.61947 +32 1.89 1.01465 2.8873 +33 1.95 0.991248 3.16583 +34 2.01 1.03569 3.47504 +35 2.07 1.01031 3.79494 +36 2.13 1.00632 4.13231 +37 2.19 0.947917 4.46826 +38 2.25 1.00386 4.84379 +39 2.31 0.991281 5.23466 +40 2.37 0.99586 5.648 +41 2.43 1.01104 6.08916 +42 2.49 0.995602 6.54529 +43 2.55 0.987157 7.01961 +44 2.61 0.985512 7.51569 +45 2.67 0.978277 8.03103 +46 2.73 1.02771 8.597 +47 2.79 0.989561 9.16619 +48 2.85 0.959031 9.7418 +49 2.91 1.00424 10.3702 +50 2.97 0.999645 11.0218 +110000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.221691 0.00392297 +8 0.45 0.356992 0.00927247 +9 0.51 0.648727 0.0217546 +10 0.57 0.697561 0.0385164 +11 0.63 0.97211 0.0670471 +12 0.69 0.952338 0.100571 +13 0.75 1.05484 0.144437 +14 0.81 1.19854 0.202568 +15 0.87 1.1346 0.266049 +16 0.93 1.24959 0.345934 +17 0.99 1.18152 0.431526 +18 1.05 0.967231 0.510342 +19 1.11 0.881182 0.590585 +20 1.17 1.02932 0.694722 +21 1.23 0.963264 0.802425 +22 1.29 0.939555 0.917974 +23 1.35 0.955879 1.04672 +24 1.41 0.961228 1.18795 +25 1.47 0.969236 1.34272 +26 1.53 1.01223 1.51783 +27 1.59 0.990732 1.70292 +28 1.65 0.958995 1.89586 +29 1.71 0.99026 2.10984 +30 1.77 1.05213 2.35342 +31 1.83 1.04336 2.61163 +32 1.89 0.94304 2.86056 +33 1.95 0.94048 3.12482 +34 2.01 1.02733 3.43153 +35 2.07 1.00693 3.75036 +36 2.13 0.969093 4.07525 +37 2.19 1.01031 4.43331 +38 2.25 1.0153 4.81312 +39 2.31 0.993995 5.20506 +40 2.37 0.993282 5.61733 +41 2.43 0.986524 6.04779 +42 2.49 0.982369 6.49786 +43 2.55 1.02278 6.9893 +44 2.61 0.960006 7.47254 +45 2.67 0.995879 7.99715 +46 2.73 0.99468 8.54494 +47 2.79 0.994521 9.11698 +48 2.85 1.04935 9.74679 +49 2.91 0.988856 10.3655 +50 2.97 1.0467 11.0478 diff --git a/examples/USER/misc/slater/tmp_1_3.rdf b/examples/USER/misc/slater/tmp_1_3.rdf new file mode 100644 index 0000000000000000000000000000000000000000..e5788d78b0faede27b964f5516ee31baa5e55bf3 --- /dev/null +++ b/examples/USER/misc/slater/tmp_1_3.rdf @@ -0,0 +1,10254 @@ +# Time-averaged data for fix 13 +# TimeStep Number-of-rows +# Row c_RDF_1_3[1] c_RDF_1_3[2] c_RDF_1_3[3] +100000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.220995 0.00285307 +7 0.39 0.316701 0.0064194 +8 0.45 0.42839 0.0128388 +9 0.51 0.574587 0.0238944 +10 0.57 0.845978 0.0442225 +11 0.63 0.923505 0.0713267 +12 0.69 0.9726 0.105563 +13 0.75 1.01196 0.147646 +14 0.81 1.05884 0.199001 +15 0.87 1.17922 0.264979 +16 0.93 1.17707 0.340228 +17 0.99 1.1126 0.420827 +18 1.05 0.945348 0.49786 +19 1.11 0.994757 0.588445 +20 1.17 0.955294 0.685093 +21 1.23 0.963264 0.792796 +22 1.29 1.00045 0.915835 +23 1.35 0.987654 1.04886 +24 1.41 1.01463 1.19793 +25 1.47 1.0005 1.3577 +26 1.53 0.979242 1.5271 +27 1.59 0.965916 1.70756 +28 1.65 1.01749 1.91227 +29 1.71 1.05958 2.14123 +30 1.77 1.0398 2.38195 +31 1.83 0.987153 2.62625 +32 1.89 0.940338 2.87447 +33 1.95 1.00267 3.15621 +34 2.01 0.983128 3.44971 +35 2.07 0.994545 3.76462 +36 2.13 1.01696 4.10556 +37 2.19 0.985149 4.45471 +38 2.25 1.00862 4.83203 +39 2.31 1.04555 5.24429 +40 2.37 1.0182 5.6669 +41 2.43 1.03229 6.11733 +42 2.49 0.987039 6.56954 +43 2.55 0.967859 7.03459 +44 2.61 0.982678 7.52924 +45 2.67 1.02838 8.07097 +46 2.73 1.0426 8.64515 +47 2.79 0.95608 9.19508 +48 2.85 0.978045 9.7821 +49 2.91 1.05725 10.4437 +50 2.97 1.00019 11.0956 +100050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.411712 0.0074893 +8 0.45 0.380791 0.0131954 +9 0.51 0.648727 0.0256776 +10 0.57 0.623352 0.0406562 +11 0.63 0.996413 0.0699001 +12 0.69 1.03339 0.106277 +13 0.75 1.10629 0.152282 +14 0.81 1.05884 0.203638 +15 0.87 1.02624 0.261056 +16 0.93 1.14917 0.334522 +17 0.99 1.08799 0.413338 +18 1.05 1.00224 0.495007 +19 1.11 0.967342 0.583096 +20 1.17 0.838967 0.667974 +21 1.23 0.99835 0.779601 +22 1.29 1.00335 0.902996 +23 1.35 1.03267 1.04208 +24 1.41 0.970937 1.18474 +25 1.47 0.998268 1.34415 +26 1.53 1.0514 1.52603 +27 1.59 1.03464 1.71933 +28 1.65 0.987357 1.91797 +29 1.71 1.06618 2.14836 +30 1.77 0.987426 2.37696 +31 1.83 0.965536 2.61591 +32 1.89 1.01735 2.88445 +33 1.95 0.967133 3.15621 +34 2.01 0.990296 3.45185 +35 2.07 1.03735 3.78031 +36 2.13 1.00207 4.11626 +37 2.19 0.989175 4.46683 +38 2.25 1.00862 4.84415 +39 2.31 1.03741 5.25321 +40 2.37 1.03281 5.68188 +41 2.43 1.00777 6.12161 +42 2.49 0.966022 6.56419 +43 2.55 1.00794 7.0485 +44 2.61 0.974176 7.53887 +45 2.67 0.986401 8.05849 +46 2.73 0.99727 8.6077 +47 2.79 1.00754 9.18723 +48 2.85 0.987552 9.77996 +49 2.91 1.01963 10.418 +50 2.97 1.01606 11.0802 +100100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.380042 0.0064194 +8 0.45 0.380791 0.0121255 +9 0.51 0.537517 0.0224679 +10 0.57 0.727244 0.0399429 +11 0.63 1.05717 0.07097 +12 0.69 0.992863 0.10592 +13 0.75 1.18348 0.155136 +14 0.81 0.933835 0.200428 +15 0.87 1.34495 0.275678 +16 0.93 1.11012 0.346648 +17 0.99 1.05353 0.422967 +18 1.05 0.910335 0.497147 +19 1.11 0.986924 0.587019 +20 1.17 0.874218 0.675464 +21 1.23 1.0749 0.795649 +22 1.29 0.968553 0.914765 +23 1.35 1.05915 1.05742 +24 1.41 1.0122 1.20613 +25 1.47 0.920104 1.35307 +26 1.53 0.995734 1.52532 +27 1.59 0.895286 1.69258 +28 1.65 1.05826 1.90549 +29 1.71 1.01172 2.12411 +30 1.77 1.02748 2.36198 +31 1.83 0.959772 2.5995 +32 1.89 1.03491 2.87268 +33 1.95 1.02044 3.15942 +34 2.01 0.935346 3.43866 +35 2.07 1.00018 3.75535 +36 2.13 1.02228 4.09807 +37 2.19 0.9932 4.45007 +38 2.25 1.02674 4.83417 +39 2.31 0.985855 5.2229 +40 2.37 0.957194 5.62019 +41 2.43 1.02494 6.0674 +42 2.49 0.988596 6.52033 +43 2.55 1.03689 7.01854 +44 2.61 0.983386 7.51355 +45 2.67 0.989786 8.03495 +46 2.73 1.00698 8.58951 +47 2.79 0.993281 9.16084 +48 2.85 0.979828 9.74893 +49 2.91 0.995695 10.372 +50 2.97 0.994173 11.02 +100150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.380042 0.00606277 +8 0.45 0.309393 0.010699 +9 0.51 0.500446 0.0203281 +10 0.57 0.94987 0.0431526 +11 0.63 0.838445 0.0677603 +12 0.69 1.05365 0.10485 +13 0.75 1.01196 0.146933 +14 0.81 1.0809 0.199358 +15 0.87 1.22384 0.267832 +16 0.93 1.14359 0.340942 +17 0.99 0.964912 0.410842 +18 1.05 1.01975 0.493937 +19 1.11 0.939927 0.579529 +20 1.17 0.941194 0.67475 +21 1.23 0.988781 0.785307 +22 1.29 0.991752 0.907275 +23 1.35 0.977062 1.03887 +24 1.41 1.00492 1.18652 +25 1.47 1.06303 1.35628 +26 1.53 0.985426 1.52675 +27 1.59 0.969734 1.70792 +28 1.65 1.03522 1.91619 +29 1.71 0.95065 2.12161 +30 1.77 0.96586 2.34522 +31 1.83 1.01597 2.59665 +32 1.89 1.02275 2.86662 +33 1.95 1.01917 3.153 +34 2.01 0.975961 3.44437 +35 2.07 0.991166 3.7582 +36 2.13 0.992495 4.09094 +37 2.19 0.999237 4.44508 +38 2.25 1.0439 4.83559 +39 2.31 1.01751 5.2368 +40 2.37 1.00789 5.65514 +41 2.43 0.993062 6.08845 +42 2.49 1.00806 6.55029 +43 2.55 0.990868 7.02639 +44 2.61 0.938751 7.49893 +45 2.67 1.02905 8.04101 +46 2.73 1.0018 8.59272 +47 2.79 0.996381 9.16583 +48 2.85 1.0232 9.77996 +49 2.91 1.00367 10.408 +50 2.97 1.00238 11.0613 +100200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.263745 0.00178317 +6 0.33 0.220995 0.00356633 +7 0.39 0.285031 0.00677603 +8 0.45 0.285593 0.0110556 +9 0.51 0.648727 0.0235378 +10 0.57 0.712403 0.0406562 +11 0.63 0.947808 0.0684736 +12 0.69 1.02326 0.104494 +13 0.75 1.12345 0.151213 +14 0.81 1.06619 0.202924 +15 0.87 1.10273 0.264622 +16 0.93 1.02645 0.330243 +17 0.99 1.06337 0.407275 +18 1.05 1.03288 0.491441 +19 1.11 1.04959 0.587019 +20 1.17 0.951769 0.68331 +21 1.23 0.931368 0.787447 +22 1.29 0.954054 0.904779 +23 1.35 0.924105 1.02924 +24 1.41 1.00735 1.17725 +25 1.47 0.989335 1.33524 +26 1.53 0.966872 1.5025 +27 1.59 1.07282 1.70292 +28 1.65 0.994448 1.903 +29 1.71 1.04142 2.12803 +30 1.77 0.962779 2.35093 +31 1.83 1.02318 2.60414 +32 1.89 0.884944 2.83773 +33 1.95 0.984902 3.11448 +34 2.01 1.0775 3.43616 +35 2.07 0.950618 3.73716 +36 2.13 0.989304 4.06883 +37 2.19 1.05861 4.44401 +38 2.25 1.00672 4.82061 +39 2.31 1.02113 5.22325 +40 2.37 1.05773 5.66227 +41 2.43 1.05273 6.12161 +42 2.49 0.927101 6.54636 +43 2.55 0.972312 7.01355 +44 2.61 1.03227 7.53317 +45 2.67 0.980308 8.04957 +46 2.73 0.977195 8.58773 +47 2.79 1.00754 9.16726 +48 2.85 1.02677 9.78352 +49 2.91 0.993415 10.4051 +50 2.97 0.977759 11.0424 +100250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.348371 0.0053495 +8 0.45 0.42839 0.0117689 +9 0.51 0.537517 0.0221113 +10 0.57 0.875662 0.0431526 +11 0.63 0.959959 0.0713267 +12 0.69 0.901681 0.103067 +13 0.75 1.03769 0.14622 +14 0.81 1.0956 0.199358 +15 0.87 1.21109 0.267118 +16 0.93 1.0655 0.335235 +17 0.99 1.02399 0.409415 +18 1.05 1.06789 0.496434 +19 1.11 1.02609 0.589872 +20 1.17 0.941194 0.685093 +21 1.23 0.870765 0.782454 +22 1.29 0.936655 0.897646 +23 1.35 0.992949 1.03138 +24 1.41 0.939382 1.1694 +25 1.47 1.0206 1.33238 +26 1.53 1.0349 1.51141 +27 1.59 1.05945 1.70934 +28 1.65 1.01926 1.91441 +29 1.71 1.01172 2.13302 +30 1.77 0.955077 2.35414 +31 1.83 1.03183 2.60949 +32 1.89 1.02681 2.88053 +33 1.95 0.941749 3.14515 +34 2.01 0.969988 3.43474 +35 2.07 0.963008 3.73966 +36 2.13 1.04568 4.09023 +37 2.19 1.02238 4.45257 +38 2.25 0.986698 4.82168 +39 2.31 0.993995 5.21362 +40 2.37 1.01047 5.63302 +41 2.43 1.03311 6.08381 +42 2.49 0.969914 6.52817 +43 2.55 0.976765 6.9975 +44 2.61 1.02873 7.51534 +45 2.67 0.998587 8.04137 +46 2.73 1.01216 8.59879 +47 2.79 0.991421 9.16904 +48 2.85 0.981016 9.75785 +49 2.91 0.988286 10.3762 +50 2.97 1.04178 11.0553 +100300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.265194 0.00356633 +7 0.39 0.316701 0.00713267 +8 0.45 0.333192 0.0121255 +9 0.51 0.685797 0.025321 +10 0.57 0.593669 0.0395863 +11 0.63 0.862748 0.0649073 +12 0.69 1.06378 0.102354 +13 0.75 1.20063 0.152282 +14 0.81 1.24266 0.212553 +15 0.87 1.10273 0.274251 +16 0.93 1.10455 0.344864 +17 0.99 1.10276 0.42475 +18 1.05 0.949725 0.50214 +19 1.11 0.939927 0.587732 +20 1.17 0.824867 0.671184 +21 1.23 0.960075 0.778531 +22 1.29 0.930855 0.89301 +23 1.35 1.00619 1.02853 +24 1.41 0.99521 1.17475 +25 1.47 1.11663 1.35307 +26 1.53 0.979242 1.52247 +27 1.59 1.03273 1.71541 +28 1.65 0.976721 1.91191 +29 1.71 0.991911 2.12625 +30 1.77 0.990507 2.35556 +31 1.83 1.01886 2.6077 +32 1.89 1.00114 2.87197 +33 1.95 0.992517 3.15086 +34 2.01 0.966405 3.43937 +35 2.07 1.02608 3.76427 +36 2.13 0.974411 4.09094 +37 2.19 1.00729 4.44793 +38 2.25 0.978118 4.81384 +39 2.31 1.05278 5.22896 +40 2.37 0.980394 5.63588 +41 2.43 0.975081 6.06134 +42 2.49 1.02207 6.5296 +43 2.55 0.990125 7.00535 +44 2.61 1.00677 7.51213 +45 2.67 1.01687 8.04779 +46 2.73 0.99727 8.597 +47 2.79 0.989561 9.16619 +48 2.85 1.05351 9.7985 +49 2.91 0.984866 10.4148 +50 2.97 1.00676 11.071 +100350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.380042 0.00606277 +8 0.45 0.523588 0.0139087 +9 0.51 0.611657 0.0256776 +10 0.57 0.801453 0.0449358 +11 0.63 0.887051 0.07097 +12 0.69 0.992863 0.10592 +13 0.75 0.960503 0.145863 +14 0.81 1.16913 0.202568 +15 0.87 1.23659 0.271755 +16 0.93 1.18264 0.347361 +17 0.99 1.0486 0.423324 +18 1.05 0.975984 0.502853 +19 1.11 1.00259 0.594151 +20 1.17 0.96587 0.691869 +21 1.23 0.883524 0.790656 +22 1.29 1.00625 0.914408 +23 1.35 1.03267 1.0535 +24 1.41 1.01463 1.20257 +25 1.47 1.12333 1.38195 +26 1.53 0.975119 1.55064 +27 1.59 0.969734 1.73181 +28 1.65 0.994448 1.93188 +29 1.71 1.01667 2.15157 +30 1.77 1.04442 2.39337 +31 1.83 0.94392 2.62696 +32 1.89 1.01465 2.89479 +33 1.95 0.996325 3.17475 +34 2.01 0.996269 3.47218 +35 2.07 1.03059 3.7985 +36 2.13 0.972284 4.12447 +37 2.19 1.02943 4.4893 +38 2.25 1.001 4.86377 +39 2.31 0.990377 5.25428 +40 2.37 1.01476 5.67546 +41 2.43 1.00287 6.11305 +42 2.49 0.994045 6.56847 +43 2.55 0.990868 7.04458 +44 2.61 0.982678 7.53923 +45 2.67 0.999941 8.06598 +46 2.73 0.991442 8.61198 +47 2.79 0.97778 9.17439 +48 2.85 1.01845 9.78566 +49 2.91 1.03103 10.4308 +50 2.97 1.01004 11.0892 +100400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.220995 0.0032097 +7 0.39 0.285031 0.0064194 +8 0.45 0.356992 0.0117689 +9 0.51 0.518981 0.0217546 +10 0.57 0.816295 0.0413695 +11 0.63 1.14223 0.074893 +12 0.69 1.02326 0.110913 +13 0.75 1.08914 0.156205 +14 0.81 1.17648 0.213267 +15 0.87 1.15373 0.277817 +16 0.93 1.16591 0.352354 +17 0.99 1.11753 0.43331 +18 1.05 0.945348 0.510342 +19 1.11 0.873349 0.589872 +20 1.17 0.849542 0.67582 +21 1.23 0.972833 0.784593 +22 1.29 1.02075 0.910128 +23 1.35 1.01148 1.04636 +24 1.41 0.987928 1.19151 +25 1.47 1.07197 1.3627 +26 1.53 1.06583 1.54708 +27 1.59 0.996459 1.73324 +28 1.65 1.01217 1.93688 +29 1.71 0.978707 2.14836 +30 1.77 1.01207 2.38267 +31 1.83 0.992917 2.62839 +32 1.89 1.016 2.89658 +33 1.95 1.01029 3.18046 +34 2.01 0.956848 3.46612 +35 2.07 1.04185 3.79601 +36 2.13 0.982922 4.12553 +37 2.19 0.975087 4.47111 +38 2.25 1.03055 4.85663 +39 2.31 1.02836 5.26213 +40 2.37 0.988127 5.67225 +41 2.43 0.976716 6.09843 +42 2.49 0.974584 6.54494 +43 2.55 1.00497 7.02782 +44 2.61 0.998265 7.53031 +45 2.67 1.03785 8.07703 +46 2.73 0.970072 8.61127 +47 2.79 1.01188 9.1933 +48 2.85 0.972697 9.7771 +49 2.91 1.03901 10.4272 +50 2.97 0.99472 11.0756 +100450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.285031 0.00570613 +8 0.45 0.547387 0.0139087 +9 0.51 0.704332 0.0274608 +10 0.57 0.816295 0.0470756 +11 0.63 0.826294 0.0713267 +12 0.69 0.952338 0.10485 +13 0.75 1.08057 0.149786 +14 0.81 1.11031 0.203638 +15 0.87 1.22384 0.272111 +16 0.93 1.13802 0.344864 +17 0.99 1.09783 0.424394 +18 1.05 1.09853 0.513909 +19 1.11 0.932095 0.598787 +20 1.17 0.958819 0.695792 +21 1.23 0.91861 0.798502 +22 1.29 0.913456 0.910842 +23 1.35 0.969118 1.04137 +24 1.41 0.990356 1.18688 +25 1.47 1.0407 1.35307 +26 1.53 1.00192 1.52639 +27 1.59 1.02509 1.7179 +28 1.65 1.01749 1.92261 +29 1.71 1.00676 2.14016 +30 1.77 1.00129 2.37197 +31 1.83 1.02606 2.62589 +32 1.89 0.991678 2.88766 +33 1.95 1.05344 3.18367 +34 2.01 0.941319 3.46469 +35 2.07 1.01144 3.78495 +36 2.13 0.991432 4.11733 +37 2.19 1.02641 4.4811 +38 2.25 1.02864 4.86591 +39 2.31 0.956912 5.24322 +40 2.37 1.00445 5.66013 +41 2.43 1.03229 6.11056 +42 2.49 0.962908 6.55171 +43 2.55 0.999774 7.0321 +44 2.61 0.982678 7.52675 +45 2.67 0.991817 8.04922 +46 2.73 0.991442 8.59522 +47 2.79 1.0559 9.20257 +48 2.85 0.968538 9.78388 +49 2.91 0.983726 10.3994 +50 2.97 1.0177 11.0628 +100500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.126681 0.0032097 +8 0.45 0.499788 0.010699 +9 0.51 0.667262 0.0235378 +10 0.57 0.845978 0.0438659 +11 0.63 0.923505 0.07097 +12 0.69 0.89155 0.102354 +13 0.75 1.12345 0.149073 +14 0.81 1.19119 0.206847 +15 0.87 1.10911 0.268902 +16 0.93 1.22169 0.347004 +17 0.99 1.0486 0.422967 +18 1.05 1.01975 0.506063 +19 1.11 0.967342 0.594151 +20 1.17 0.962344 0.691512 +21 1.23 0.991971 0.802425 +22 1.29 0.901857 0.913338 +23 1.35 0.94264 1.0403 +24 1.41 1.05104 1.19472 +25 1.47 0.96477 1.34879 +26 1.53 1.03903 1.52853 +27 1.59 1.05182 1.72504 +28 1.65 1.02104 1.93046 +29 1.71 0.993561 2.14515 +30 1.77 1.00745 2.37839 +31 1.83 1.003 2.6266 +32 1.89 0.978168 2.88481 +33 1.95 1.00775 3.16797 +34 2.01 0.959237 3.45435 +35 2.07 0.981029 3.76498 +36 2.13 1.05526 4.11876 +37 2.19 0.969049 4.4622 +38 2.25 1.01434 4.84165 +39 2.31 1.04284 5.25285 +40 2.37 0.989845 5.66369 +41 2.43 0.993062 6.097 +42 2.49 0.995602 6.55314 +43 2.55 0.960437 7.01462 +44 2.61 1.00181 7.5189 +45 2.67 0.978277 8.03424 +46 2.73 1.029 8.60093 +47 2.79 1.00506 9.17903 +48 2.85 1.02202 9.79244 +49 2.91 0.993985 10.4144 +50 2.97 0.97174 11.0478 +100550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.197809 0.00178317 +6 0.33 0.132597 0.00285307 +7 0.39 0.348371 0.00677603 +8 0.45 0.452189 0.0135521 +9 0.51 0.648727 0.0260342 +10 0.57 0.845978 0.0463623 +11 0.63 1.00856 0.0759629 +12 0.69 0.992863 0.110913 +13 0.75 1.15775 0.159058 +14 0.81 1.13972 0.214337 +15 0.87 1.04537 0.272825 +16 0.93 0.998553 0.336662 +17 0.99 1.00922 0.409772 +18 1.05 1.09415 0.49893 +19 1.11 0.943844 0.584879 +20 1.17 0.97997 0.684023 +21 1.23 0.960075 0.791369 +22 1.29 0.968553 0.910485 +23 1.35 1.00619 1.04601 +24 1.41 1.08259 1.20506 +25 1.47 0.987102 1.3627 +26 1.53 0.993673 1.53459 +27 1.59 1.07091 1.73466 +28 1.65 0.967858 1.92939 +29 1.71 1.01007 2.14765 +30 1.77 0.99975 2.3791 +31 1.83 1.00733 2.62839 +32 1.89 1.00519 2.89372 +33 1.95 1.01917 3.1801 +34 2.01 0.968794 3.46933 +35 2.07 0.992292 3.78352 +36 2.13 0.999942 4.11876 +37 2.19 1.01634 4.47896 +38 2.25 1.0029 4.85414 +39 2.31 1.03198 5.26106 +40 2.37 1.0225 5.68545 +41 2.43 0.951378 6.10057 +42 2.49 0.948118 6.53495 +43 2.55 0.972312 7.00214 +44 2.61 0.987637 7.49929 +45 2.67 0.966091 8.0082 +46 2.73 1.04972 8.58631 +47 2.79 0.951119 9.13338 +48 2.85 1.03865 9.75678 +49 2.91 1.02077 10.3955 +50 2.97 1.01113 11.0546 +100600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.348371 0.0064194 +8 0.45 0.499788 0.0139087 +9 0.51 0.630192 0.0260342 +10 0.57 0.831136 0.0460057 +11 0.63 0.911353 0.0727532 +12 0.69 0.932075 0.105563 +13 0.75 1.16633 0.154066 +14 0.81 0.977953 0.201498 +15 0.87 1.22384 0.269971 +16 0.93 1.21054 0.347361 +17 0.99 1.05353 0.42368 +18 1.05 1.02413 0.507133 +19 1.11 0.892931 0.588445 +20 1.17 0.905943 0.6801 +21 1.23 0.924989 0.783524 +22 1.29 0.945354 0.899786 +23 1.35 0.982358 1.0321 +24 1.41 0.997638 1.17867 +25 1.47 1.04963 1.34629 +26 1.53 1.02872 1.52425 +27 1.59 0.956372 1.70292 +28 1.65 1.05472 1.91512 +29 1.71 0.982008 2.12732 +30 1.77 1.04442 2.36912 +31 1.83 1.01597 2.62054 +32 1.89 1.0214 2.89016 +33 1.95 0.950634 3.15728 +34 2.01 0.97835 3.44936 +35 2.07 1.00806 3.76854 +36 2.13 0.973348 4.09486 +37 2.19 1.00829 4.45221 +38 2.25 1.01339 4.83131 +39 2.31 1.00123 5.22611 +40 2.37 1.00617 5.64372 +41 2.43 0.958734 6.06205 +42 2.49 1.04309 6.53994 +43 2.55 1.02353 7.03174 +44 2.61 0.967799 7.5189 +45 2.67 1.02905 8.06098 +46 2.73 1.02188 8.62375 +47 2.79 1.02738 9.21469 +48 2.85 0.970915 9.79743 +49 2.91 0.94782 10.3905 +50 2.97 0.985966 11.0332 +100650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.285031 0.0053495 +8 0.45 0.452189 0.0121255 +9 0.51 0.593122 0.0235378 +10 0.57 0.845978 0.0438659 +11 0.63 0.935656 0.0713267 +12 0.69 0.932075 0.104137 +13 0.75 1.07199 0.148716 +14 0.81 1.16178 0.205064 +15 0.87 1.1346 0.268545 +16 0.93 1.12686 0.340585 +17 0.99 1.13229 0.422611 +18 1.05 0.927842 0.498217 +19 1.11 0.994757 0.588802 +20 1.17 0.944719 0.684379 +21 1.23 1.00473 0.796719 +22 1.29 0.913456 0.909058 +23 1.35 1.02472 1.04708 +24 1.41 0.944236 1.18581 +25 1.47 0.967003 1.34023 +26 1.53 1.09881 1.53031 +27 1.59 0.96019 1.7097 +28 1.65 1.02458 1.91583 +29 1.71 1.05793 2.14444 +30 1.77 1.00437 2.37696 +31 1.83 0.992917 2.62268 +32 1.89 0.999785 2.88659 +33 1.95 0.906211 3.14123 +34 2.01 0.995074 3.4383 +35 2.07 1.03509 3.76605 +36 2.13 0.989304 4.09772 +37 2.19 1.02741 4.46184 +38 2.25 1.01053 4.83987 +39 2.31 0.975001 5.22432 +40 2.37 0.997579 5.63837 +41 2.43 0.999601 6.07454 +42 2.49 1.0244 6.54387 +43 2.55 1.00052 7.02461 +44 2.61 1.01385 7.53495 +45 2.67 0.939011 8.0296 +46 2.73 0.988204 8.57382 +47 2.79 1.01126 9.15549 +48 2.85 0.986958 9.74786 +49 2.91 1.02305 10.388 +50 2.97 0.989796 11.0332 +100700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.316701 0.00570613 +8 0.45 0.523588 0.0135521 +9 0.51 0.593122 0.0249643 +10 0.57 0.845978 0.0452924 +11 0.63 0.923505 0.0723966 +12 0.69 0.800369 0.100571 +13 0.75 1.04626 0.14408 +14 0.81 1.27943 0.206134 +15 0.87 1.17285 0.271755 +16 0.93 1.11012 0.342725 +17 0.99 1.03876 0.417974 +18 1.05 0.927842 0.493581 +19 1.11 1.10833 0.594508 +20 1.17 0.97292 0.692939 +21 1.23 0.893093 0.792796 +22 1.29 0.977253 0.912981 +23 1.35 0.982358 1.04529 +24 1.41 1.03162 1.19686 +25 1.47 0.998268 1.35628 +26 1.53 0.93801 1.51854 +27 1.59 1.01746 1.70863 +28 1.65 0.99622 1.90906 +29 1.71 1.04803 2.13552 +30 1.77 1.00129 2.36733 +31 1.83 0.952566 2.60307 +32 1.89 1.00654 2.86876 +33 1.95 0.992517 3.14765 +34 2.01 1.03449 3.45649 +35 2.07 0.99004 3.76997 +36 2.13 1.04994 4.12197 +37 2.19 0.96603 4.46434 +38 2.25 0.981932 4.83167 +39 2.31 0.993995 5.22361 +40 2.37 1.04226 5.65621 +41 2.43 0.985706 6.08631 +42 2.49 0.987817 6.53887 +43 2.55 1.01981 7.02889 +44 2.61 0.991888 7.52817 +45 2.67 0.980985 8.04494 +46 2.73 0.989499 8.58987 +47 2.79 1.01064 9.17118 +48 2.85 1.0131 9.77924 +49 2.91 1.03217 10.4251 +50 2.97 0.972287 11.0588 +100750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.132597 0.0021398 +7 0.39 0.380042 0.0064194 +8 0.45 0.475989 0.0135521 +9 0.51 0.574587 0.0246077 +10 0.57 0.875662 0.0456491 +11 0.63 0.911353 0.0723966 +12 0.69 0.861156 0.10271 +13 0.75 1.21778 0.153352 +14 0.81 1.27207 0.21505 +15 0.87 1.05811 0.274251 +16 0.93 1.14917 0.347718 +17 0.99 1.03876 0.422967 +18 1.05 0.940972 0.499643 +19 1.11 0.955593 0.586662 +20 1.17 0.955294 0.68331 +21 1.23 0.931368 0.787447 +22 1.29 0.971453 0.906919 +23 1.35 0.937344 1.03317 +24 1.41 0.951518 1.17297 +25 1.47 0.982636 1.32989 +26 1.53 1.01429 1.50535 +27 1.59 1.006 1.6933 +28 1.65 1.11853 1.91833 +29 1.71 1.03647 2.1423 +30 1.77 1.0321 2.38124 +31 1.83 1.00877 2.63088 +32 1.89 0.913317 2.87197 +33 1.95 0.98871 3.14979 +34 2.01 0.989101 3.44508 +35 2.07 1.0013 3.76213 +36 2.13 0.966965 4.08631 +37 2.19 0.987162 4.43616 +38 2.25 0.996232 4.80884 +39 2.31 1.03017 5.21505 +40 2.37 0.987268 5.62482 +41 2.43 1.04292 6.07989 +42 2.49 1.01506 6.54494 +43 2.55 0.993094 7.02211 +44 2.61 1.02023 7.53566 +45 2.67 0.98437 8.05421 +46 2.73 0.981728 8.59486 +47 2.79 0.993281 9.16619 +48 2.85 1.03271 9.78602 +49 2.91 1.01963 10.424 +50 2.97 1.00457 11.0788 +100800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.475052 0.0064194 +8 0.45 0.452189 0.0131954 +9 0.51 0.630192 0.025321 +10 0.57 0.994395 0.0492154 +11 0.63 0.911353 0.0759629 +12 0.69 0.962469 0.109843 +13 0.75 1.06341 0.154066 +14 0.81 1.11766 0.208274 +15 0.87 1.23659 0.277461 +16 0.93 1.16033 0.351641 +17 0.99 1.0486 0.427603 +18 1.05 0.954101 0.50535 +19 1.11 0.943844 0.591298 +20 1.17 0.930619 0.685449 +21 1.23 0.937747 0.7903 +22 1.29 1.04975 0.919401 +23 1.35 0.894978 1.03994 +24 1.41 0.944236 1.17867 +25 1.47 0.962536 1.33238 +26 1.53 1.0782 1.5189 +27 1.59 1.03464 1.7122 +28 1.65 1.0299 1.9194 +29 1.71 1.00346 2.13623 +30 1.77 0.973562 2.36163 +31 1.83 0.941037 2.59451 +32 1.89 1.05112 2.87197 +33 1.95 1.00648 3.15478 +34 2.01 0.968794 3.44401 +35 2.07 0.99905 3.76034 +36 2.13 0.982922 4.08987 +37 2.19 1.02138 4.45185 +38 2.25 1.01244 4.8306 +39 2.31 1.0148 5.23074 +40 2.37 0.970083 5.63338 +41 2.43 1.01431 6.07596 +42 2.49 1.02907 6.54743 +43 2.55 1.002 7.02889 +44 2.61 0.994722 7.5296 +45 2.67 0.976246 8.04387 +46 2.73 1.03159 8.61198 +47 2.79 1.00258 9.18866 +48 2.85 0.989929 9.78281 +49 2.91 1.04186 10.4347 +50 2.97 0.980494 11.0738 +100850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.285031 0.0053495 +8 0.45 0.380791 0.0110556 +9 0.51 0.593122 0.0224679 +10 0.57 0.682719 0.038873 +11 0.63 0.996413 0.068117 +12 0.69 1.08404 0.106277 +13 0.75 1.07199 0.150856 +14 0.81 1.14707 0.206491 +15 0.87 1.01349 0.263195 +16 0.93 1.09897 0.333452 +17 0.99 1.05845 0.410128 +18 1.05 0.962855 0.488588 +19 1.11 0.975175 0.577389 +20 1.17 0.955294 0.674037 +21 1.23 1.04619 0.791013 +22 1.29 0.983053 0.911912 +23 1.35 0.932048 1.03745 +24 1.41 0.985501 1.18224 +25 1.47 1.0206 1.34522 +26 1.53 0.966872 1.51248 +27 1.59 0.96019 1.69187 +28 1.65 1.07067 1.90728 +29 1.71 1.05793 2.13588 +30 1.77 0.958158 2.3577 +31 1.83 0.965536 2.59665 +32 1.89 1.06599 2.87803 +33 1.95 1.0014 3.15942 +34 2.01 0.95207 3.44365 +35 2.07 0.969766 3.75071 +36 2.13 1.01696 4.09165 +37 2.19 0.939867 4.42475 +38 2.25 1.02292 4.80742 +39 2.31 1.00213 5.20257 +40 2.37 1.02593 5.62839 +41 2.43 0.998784 6.06419 +42 2.49 1.00572 6.52496 +43 2.55 1.002 7.00642 +44 2.61 0.999682 7.50963 +45 2.67 1.00197 8.03745 +46 2.73 1.03418 8.60699 +47 2.79 0.988941 9.17582 +48 2.85 0.983987 9.76641 +49 2.91 1.0259 10.4083 +50 2.97 0.959703 11.0339 +100900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.044199 0.00142653 +7 0.39 0.380042 0.00570613 +8 0.45 0.594986 0.014622 +9 0.51 0.574587 0.0256776 +10 0.57 0.756928 0.0438659 +11 0.63 0.97211 0.0723966 +12 0.69 0.952338 0.10592 +13 0.75 1.08914 0.151213 +14 0.81 1.10295 0.204708 +15 0.87 1.05811 0.263909 +16 0.93 1.15475 0.337732 +17 0.99 1.0683 0.415121 +18 1.05 0.958478 0.493224 +19 1.11 0.986924 0.583096 +20 1.17 0.916519 0.67582 +21 1.23 0.91223 0.777817 +22 1.29 1.00915 0.901926 +23 1.35 0.94264 1.02889 +24 1.41 1.00977 1.17725 +25 1.47 1.0876 1.35093 +26 1.53 0.997796 1.52354 +27 1.59 1.00982 1.7122 +28 1.65 0.99622 1.91262 +29 1.71 1.02987 2.13516 +30 1.77 0.942753 2.35342 +31 1.83 1.01165 2.60378 +32 1.89 0.990327 2.86519 +33 1.95 0.917634 3.12304 +34 2.01 0.974767 3.41405 +35 2.07 1.05086 3.74679 +36 2.13 0.97973 4.07525 +37 2.19 1.06666 4.45328 +38 2.25 0.980978 4.82026 +39 2.31 0.963243 5.20007 +40 2.37 1.01219 5.62019 +41 2.43 0.984889 6.04993 +42 2.49 1.04698 6.5296 +43 2.55 1.03466 7.02675 +44 2.61 1.02944 7.54494 +45 2.67 1.02431 8.08452 +46 2.73 0.990147 8.62981 +47 2.79 0.95794 9.18081 +48 2.85 1.03271 9.80064 +49 2.91 0.981446 10.4148 +50 2.97 1.03083 11.0867 +100950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.190021 0.00463623 +8 0.45 0.499788 0.0121255 +9 0.51 0.815542 0.0278174 +10 0.57 0.742086 0.0456491 +11 0.63 0.911353 0.0723966 +12 0.69 0.851025 0.102354 +13 0.75 1.12345 0.149073 +14 0.81 0.985306 0.196862 +15 0.87 1.37682 0.273894 +16 0.93 1.12128 0.345578 +17 0.99 1.02399 0.419757 +18 1.05 0.940972 0.496434 +19 1.11 0.979091 0.585592 +20 1.17 0.842492 0.670827 +21 1.23 0.950506 0.777104 +22 1.29 0.968553 0.89622 +23 1.35 0.958527 1.02532 +24 1.41 1.00492 1.17297 +25 1.47 1.03623 1.33845 +26 1.53 1.02666 1.51605 +27 1.59 1.00982 1.70471 +28 1.65 1.01926 1.90977 +29 1.71 0.977057 2.1209 +30 1.77 0.988967 2.34986 +31 1.83 1.05633 2.61127 +32 1.89 0.922774 2.85485 +33 1.95 1.06613 3.15442 +34 2.01 0.962821 3.44187 +35 2.07 1.00806 3.76106 +36 2.13 0.942498 4.07703 +37 2.19 0.998231 4.43081 +38 2.25 1.0172 4.81134 +39 2.31 1.00666 5.20827 +40 2.37 0.981253 5.61555 +41 2.43 1.05109 6.07418 +42 2.49 1.02752 6.54494 +43 2.55 0.986414 7.0189 +44 2.61 0.986929 7.51569 +45 2.67 1.01822 8.05207 +46 2.73 0.97849 8.59094 +47 2.79 1.00072 9.16655 +48 2.85 0.978639 9.75392 +49 2.91 0.971187 10.3616 +50 2.97 1.01387 11.0225 +101000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.285031 0.00606277 +8 0.45 0.475989 0.0131954 +9 0.51 0.685797 0.0263909 +10 0.57 0.801453 0.0456491 +11 0.63 0.814142 0.0695435 +12 0.69 1.06378 0.10699 +13 0.75 1.18348 0.156205 +14 0.81 1.03678 0.206491 +15 0.87 1.1601 0.271398 +16 0.93 1.19938 0.348074 +17 0.99 0.925528 0.415121 +18 1.05 0.945348 0.492154 +19 1.11 0.94776 0.578459 +20 1.17 0.983495 0.67796 +21 1.23 1.00154 0.789943 +22 1.29 1.14255 0.930456 +23 1.35 0.89233 1.05064 +24 1.41 0.946664 1.18973 +25 1.47 1.00943 1.35093 +26 1.53 1.0246 1.52817 +27 1.59 1.006 1.71612 +28 1.65 0.960768 1.90942 +29 1.71 1.00181 2.12589 +30 1.77 0.96432 2.34914 +31 1.83 0.987153 2.59344 +32 1.89 1.00789 2.85949 +33 1.95 1.0014 3.14087 +34 2.01 1.01658 3.44437 +35 2.07 1.03735 3.77282 +36 2.13 1.03611 4.12019 +37 2.19 1.05156 4.49287 +38 2.25 1.001 4.86733 +39 2.31 0.970479 5.25 +40 2.37 1.01133 5.66976 +41 2.43 0.968542 6.09237 +42 2.49 0.997937 6.54957 +43 2.55 1.00794 7.03388 +44 2.61 1.00039 7.53745 +45 2.67 1.01551 8.0724 +46 2.73 0.953882 8.59772 +47 2.79 0.97096 9.15621 +48 2.85 1.02023 9.76854 +49 2.91 0.962068 10.3705 +50 2.97 0.999098 11.0218 +101050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.380042 0.00713267 +8 0.45 0.499788 0.014622 +9 0.51 0.611657 0.0263909 +10 0.57 0.771769 0.0449358 +11 0.63 1.13008 0.0781027 +12 0.69 0.830763 0.107347 +13 0.75 1.03769 0.150499 +14 0.81 1.11766 0.204708 +15 0.87 1.08361 0.265335 +16 0.93 1.12686 0.337375 +17 0.99 1.01414 0.410842 +18 1.05 1.01537 0.493581 +19 1.11 0.943844 0.579529 +20 1.17 1.00112 0.680813 +21 1.23 1.00473 0.793153 +22 1.29 1.02945 0.919757 +23 1.35 1.02737 1.05813 +24 1.41 0.983074 1.20257 +25 1.47 0.969236 1.35735 +26 1.53 1.00398 1.53103 +27 1.59 0.937283 1.70613 +28 1.65 1.01572 1.91049 +29 1.71 1.01007 2.12874 +30 1.77 1.00129 2.36056 +31 1.83 1.03327 2.61626 +32 1.89 1.01059 2.88302 +33 1.95 0.965864 3.15442 +34 2.01 1.01777 3.45827 +35 2.07 0.99004 3.77175 +36 2.13 1.00952 4.1102 +37 2.19 1.03546 4.47718 +38 2.25 1.0172 4.8577 +39 2.31 0.956008 5.23466 +40 2.37 0.970083 5.6373 +41 2.43 1.02494 6.08452 +42 2.49 1.00261 6.54387 +43 2.55 1.05767 7.05207 +44 2.61 0.989054 7.54993 +45 2.67 0.968799 8.06027 +46 2.73 0.986261 8.60342 +47 2.79 1.028 9.19472 +48 2.85 0.995871 9.79244 +49 2.91 0.973467 10.4016 +50 2.97 0.998003 11.0521 +101100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.253361 0.00463623 +8 0.45 0.571187 0.0131954 +9 0.51 0.500446 0.0228245 +10 0.57 0.563985 0.0363766 +11 0.63 0.741234 0.0581312 +12 0.69 1.02326 0.0941512 +13 0.75 0.994807 0.135521 +14 0.81 1.19854 0.193652 +15 0.87 1.26846 0.264622 +16 0.93 1.19938 0.341298 +17 0.99 1.07814 0.419401 +18 1.05 0.945348 0.496434 +19 1.11 0.998673 0.587375 +20 1.17 0.955294 0.684023 +21 1.23 0.966454 0.792083 +22 1.29 0.927955 0.906205 +23 1.35 0.977062 1.0378 +24 1.41 0.939382 1.17582 +25 1.47 1.0742 1.34736 +26 1.53 0.929764 1.5082 +27 1.59 1.03655 1.70185 +28 1.65 1.0884 1.92083 +29 1.71 0.963853 2.1291 +30 1.77 0.948915 2.34879 +31 1.83 0.968418 2.58845 +32 1.89 1.02681 2.85949 +33 1.95 0.963326 3.13017 +34 2.01 1.07033 3.44971 +35 2.07 0.97765 3.75927 +36 2.13 1.00739 4.097 +37 2.19 1.00024 4.4515 +38 2.25 0.968585 4.81384 +39 2.31 1.02022 5.21612 +40 2.37 1.02164 5.64016 +41 2.43 1.00777 6.07989 +42 2.49 1.01273 6.54387 +43 2.55 1.01165 7.02996 +44 2.61 0.994722 7.53067 +45 2.67 1.00536 8.06027 +46 2.73 1.01605 8.61983 +47 2.79 1.0032 9.19686 +48 2.85 1.01786 9.80777 +49 2.91 0.966058 10.4123 +50 2.97 0.982683 11.0528 +101150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.044199 0.000356633 +7 0.39 0.285031 0.00356633 +8 0.45 0.547387 0.0117689 +9 0.51 0.537517 0.0221113 +10 0.57 0.756928 0.0402996 +11 0.63 0.887051 0.0663338 +12 0.69 1.00299 0.101641 +13 0.75 1.26066 0.154066 +14 0.81 1.22796 0.213623 +15 0.87 1.15373 0.278174 +16 0.93 1.05992 0.345934 +17 0.99 1.13229 0.42796 +18 1.05 0.989114 0.508559 +19 1.11 0.932095 0.593438 +20 1.17 0.867168 0.68117 +21 1.23 0.966454 0.78923 +22 1.29 1.00335 0.912625 +23 1.35 0.937344 1.03887 +24 1.41 1.07046 1.19615 +25 1.47 1.03177 1.36091 +26 1.53 1.02666 1.53852 +27 1.59 1.02128 1.72932 +28 1.65 1.02813 1.93616 +29 1.71 0.924243 2.13588 +30 1.77 1.10296 2.39123 +31 1.83 1.02318 2.64444 +32 1.89 0.878189 2.87625 +33 1.95 1.04582 3.17011 +34 2.01 0.979545 3.46255 +35 2.07 1.02721 3.7878 +36 2.13 1.03824 4.13588 +37 2.19 0.984143 4.48466 +38 2.25 1.01911 4.86591 +39 2.31 1.04103 5.27639 +40 2.37 0.937432 5.66548 +41 2.43 1.00532 6.10414 +42 2.49 0.997937 6.56134 +43 2.55 1.02575 7.05421 +44 2.61 0.989054 7.55207 +45 2.67 0.990463 8.07382 +46 2.73 0.990794 8.61947 +47 2.79 0.997621 9.1933 +48 2.85 1.00597 9.79708 +49 2.91 1.02305 10.4372 +50 2.97 0.989249 11.082 +101200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.190021 0.00499287 +8 0.45 0.547387 0.0131954 +9 0.51 0.667262 0.0260342 +10 0.57 0.623352 0.0410128 +11 0.63 0.874899 0.0666904 +12 0.69 0.901681 0.0984308 +13 0.75 1.04626 0.14194 +14 0.81 1.11766 0.196148 +15 0.87 1.08361 0.256776 +16 0.93 1.26632 0.337732 +17 0.99 0.99445 0.409772 +18 1.05 1.09853 0.499287 +19 1.11 0.975175 0.588088 +20 1.17 0.98702 0.687946 +21 1.23 0.91542 0.7903 +22 1.29 0.869958 0.89729 +23 1.35 0.9294 1.02247 +24 1.41 1.07046 1.17974 +25 1.47 0.924571 1.32739 +26 1.53 1.03903 1.50713 +27 1.59 0.988823 1.69187 +28 1.65 0.98913 1.89087 +29 1.71 1.02822 2.11305 +30 1.77 0.967401 2.33702 +31 1.83 1.02606 2.59094 +32 1.89 1.03626 2.86448 +33 1.95 1.01156 3.14872 +34 2.01 1.00702 3.44936 +35 2.07 1.01932 3.77211 +36 2.13 0.980794 4.10093 +37 2.19 1.00628 4.45756 +38 2.25 0.984792 4.82596 +39 2.31 1.03198 5.23288 +40 2.37 1.04312 5.66583 +41 2.43 1.00287 6.10342 +42 2.49 0.956681 6.54173 +43 2.55 1.02798 7.03566 +44 2.61 0.99118 7.53459 +45 2.67 0.993171 8.05777 +46 2.73 1.02447 8.62197 +47 2.79 0.949879 9.16833 +48 2.85 0.98161 9.75749 +49 2.91 1.02191 10.3969 +50 2.97 1.01223 11.0567 +101250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.380042 0.00606277 +8 0.45 0.499788 0.0135521 +9 0.51 0.630192 0.0256776 +10 0.57 0.831136 0.0456491 +11 0.63 0.850597 0.0706134 +12 0.69 0.840894 0.100214 +13 0.75 1.16633 0.148716 +14 0.81 1.2206 0.207917 +15 0.87 1.16647 0.273181 +16 0.93 1.15475 0.347004 +17 0.99 1.05845 0.42368 +18 1.05 1.02413 0.507133 +19 1.11 0.986924 0.597004 +20 1.17 1.00465 0.698645 +21 1.23 0.8293 0.791369 +22 1.29 0.945354 0.907632 +23 1.35 0.998245 1.04208 +24 1.41 0.99521 1.1883 +25 1.47 0.906705 1.3331 +26 1.53 0.999857 1.50606 +27 1.59 1.13581 1.71826 +28 1.65 0.994448 1.91833 +29 1.71 1.04803 2.14479 +30 1.77 0.988967 2.37375 +31 1.83 1.0203 2.62625 +32 1.89 0.987625 2.88695 +33 1.95 0.951903 3.15442 +34 2.01 1.00702 3.45506 +35 2.07 1.0013 3.77211 +36 2.13 0.978666 4.10021 +37 2.19 1.01031 4.45827 +38 2.25 0.985745 4.82703 +39 2.31 0.99309 5.21862 +40 2.37 1.00531 5.63588 +41 2.43 0.99388 6.06954 +42 2.49 1.03374 6.54315 +43 2.55 1.01165 7.02924 +44 2.61 0.979135 7.52211 +45 2.67 1.02296 8.06098 +46 2.73 1.03742 8.63231 +47 2.79 0.97406 9.19258 +48 2.85 1.00597 9.79636 +49 2.91 1.01393 10.4308 +50 2.97 0.956967 11.0546 +101300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.348371 0.00606277 +8 0.45 0.594986 0.0149786 +9 0.51 0.556052 0.0256776 +10 0.57 0.653036 0.0413695 +11 0.63 0.874899 0.0670471 +12 0.69 1.06378 0.104494 +13 0.75 1.34642 0.160485 +14 0.81 1.05148 0.211484 +15 0.87 1.09636 0.272825 +16 0.93 1.12686 0.344864 +17 0.99 0.999373 0.417261 +18 1.05 0.984738 0.497504 +19 1.11 0.994757 0.588088 +20 1.17 1.03285 0.692582 +21 1.23 0.867576 0.789586 +22 1.29 1.02655 0.915835 +23 1.35 0.950583 1.04387 +24 1.41 1.00977 1.19223 +25 1.47 1.00497 1.35271 +26 1.53 1.01223 1.52782 +27 1.59 1.08427 1.73039 +28 1.65 0.997993 1.93117 +29 1.71 0.927544 2.1316 +30 1.77 1.03056 2.37019 +31 1.83 1.03759 2.62696 +32 1.89 0.951146 2.87803 +33 1.95 1.01663 3.16369 +34 2.01 0.997463 3.46148 +35 2.07 1.03509 3.78923 +36 2.13 0.998878 4.12411 +37 2.19 0.987162 4.47397 +38 2.25 0.975258 4.8388 +39 2.31 1.06545 5.25892 +40 2.37 0.982112 5.66655 +41 2.43 0.959551 6.08524 +42 2.49 1.04231 6.56277 +43 2.55 1.01091 7.0485 +44 2.61 1.01456 7.5592 +45 2.67 1.01551 8.09415 +46 2.73 0.988851 8.63873 +47 2.79 0.97778 9.20114 +48 2.85 1.01904 9.81277 +49 2.91 1.01564 10.4483 +50 2.97 0.96408 11.0767 +101350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.190021 0.00463623 +8 0.45 0.380791 0.0103424 +9 0.51 0.537517 0.0206847 +10 0.57 0.742086 0.0385164 +11 0.63 0.935656 0.0659772 +12 0.69 1.14483 0.106277 +13 0.75 1.16633 0.154779 +14 0.81 1.13237 0.2097 +15 0.87 0.968875 0.263909 +16 0.93 1.18264 0.339515 +17 0.99 1.08306 0.417974 +18 1.05 0.945348 0.495007 +19 1.11 0.986924 0.584879 +20 1.17 1.05752 0.691869 +21 1.23 0.960075 0.799215 +22 1.29 0.910556 0.911198 +23 1.35 0.947936 1.03887 +24 1.41 1.04618 1.19258 +25 1.47 1.0206 1.35556 +26 1.53 1.0246 1.53281 +27 1.59 0.910558 1.70292 +28 1.65 1.05117 1.91441 +29 1.71 1.06288 2.14408 +30 1.77 1.01515 2.3791 +31 1.83 1.052 2.63944 +32 1.89 0.995731 2.90228 +33 1.95 0.998863 3.18295 +34 2.01 0.958043 3.46897 +35 2.07 1.02608 3.79387 +36 2.13 0.940371 4.10913 +37 2.19 1.03244 4.47504 +38 2.25 1.01053 4.85307 +39 2.31 0.979524 5.2393 +40 2.37 0.953757 5.63516 +41 2.43 1.0045 6.07347 +42 2.49 1.01818 6.53994 +43 2.55 0.999774 7.02033 +44 2.61 1.00181 7.52461 +45 2.67 1.00333 8.05314 +46 2.73 1.01475 8.61198 +47 2.79 0.984601 9.17832 +48 2.85 0.9929 9.77425 +49 2.91 0.998545 10.3991 +50 2.97 0.999645 11.0506 +101400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0 0.0010699 +7 0.39 0.348371 0.00499287 +8 0.45 0.499788 0.0124822 +9 0.51 0.611657 0.0242511 +10 0.57 0.697561 0.0410128 +11 0.63 1.06932 0.0723966 +12 0.69 0.921944 0.10485 +13 0.75 1.03769 0.148003 +14 0.81 1.08825 0.200785 +15 0.87 1.19197 0.267475 +16 0.93 1.12686 0.339515 +17 0.99 1.03383 0.414408 +18 1.05 1.0285 0.498217 +19 1.11 0.932095 0.583096 +20 1.17 0.98702 0.682953 +21 1.23 0.91223 0.78495 +22 1.29 0.954054 0.902282 +23 1.35 0.955879 1.03103 +24 1.41 1.08017 1.18973 +25 1.47 1.01613 1.352 +26 1.53 1.04727 1.53317 +27 1.59 0.99455 1.71897 +28 1.65 0.992675 1.91869 +29 1.71 0.996862 2.13409 +30 1.77 1.02286 2.3709 +31 1.83 0.949684 2.60592 +32 1.89 0.960604 2.85949 +33 1.95 1.05471 3.15585 +34 2.01 0.95207 3.44009 +35 2.07 1.01707 3.76213 +36 2.13 0.986113 4.09272 +37 2.19 1.04553 4.46327 +38 2.25 1.03055 4.84879 +39 2.31 0.943345 5.22076 +40 2.37 1.01133 5.64051 +41 2.43 0.977533 6.06705 +42 2.49 1.00883 6.52924 +43 2.55 0.940397 6.9811 +44 2.61 1.03227 7.50071 +45 2.67 0.973538 8.01355 +46 2.73 1.00569 8.5674 +47 2.79 1.01126 9.14907 +48 2.85 0.990523 9.74358 +49 2.91 0.985436 10.3602 +50 2.97 1.02646 11.0292 +101450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.253361 0.00463623 +8 0.45 0.380791 0.0103424 +9 0.51 0.537517 0.0206847 +10 0.57 0.667877 0.0367332 +11 0.63 0.826294 0.0609843 +12 0.69 1.21575 0.10378 +13 0.75 1.05484 0.147646 +14 0.81 1.13972 0.202924 +15 0.87 1.1346 0.266405 +16 0.93 1.0376 0.332739 +17 0.99 1.09291 0.411912 +18 1.05 0.980361 0.491797 +19 1.11 0.889015 0.572753 +20 1.17 0.863642 0.660128 +21 1.23 1.03344 0.775678 +22 1.29 0.910556 0.88766 +23 1.35 0.971766 1.01854 +24 1.41 1.07289 1.17618 +25 1.47 1.01613 1.33845 +26 1.53 1.03078 1.51676 +27 1.59 0.954463 1.69508 +28 1.65 1.00331 1.89693 +29 1.71 1.01337 2.11591 +30 1.77 1.04442 2.3577 +31 1.83 1.00733 2.60699 +32 1.89 1.0214 2.8766 +33 1.95 1.00902 3.16013 +34 2.01 1.01419 3.46291 +35 2.07 0.960755 3.76712 +36 2.13 1.0042 4.10378 +37 2.19 1.03345 4.47004 +38 2.25 1.03913 4.85877 +39 2.31 1.01027 5.25713 +40 2.37 0.97352 5.6612 +41 2.43 0.956282 6.07846 +42 2.49 1.00339 6.53816 +43 2.55 1.01536 7.02603 +44 2.61 0.99118 7.52496 +45 2.67 0.997233 8.05029 +46 2.73 1.01734 8.61056 +47 2.79 1.0094 9.19116 +48 2.85 1.0137 9.79957 +49 2.91 0.974037 10.4091 +50 2.97 0.999098 11.0603 +101500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.316701 0.00499287 +8 0.45 0.356992 0.0103424 +9 0.51 0.611657 0.0221113 +10 0.57 0.682719 0.0385164 +11 0.63 0.826294 0.0627675 +12 0.69 1.12457 0.102354 +13 0.75 1.02053 0.144793 +14 0.81 1.16178 0.201141 +15 0.87 1.19835 0.268188 +16 0.93 1.08223 0.337375 +17 0.99 0.999373 0.409772 +18 1.05 1.0854 0.498217 +19 1.11 0.869433 0.577389 +20 1.17 0.990545 0.677603 +21 1.23 0.931368 0.78174 +22 1.29 1.02945 0.908345 +23 1.35 0.963823 1.03816 +24 1.41 0.970937 1.18081 +25 1.47 1.02953 1.34522 +26 1.53 0.968934 1.51284 +27 1.59 1.03082 1.70542 +28 1.65 1.00508 1.90763 +29 1.71 0.940747 2.11091 +30 1.77 1.05367 2.35485 +31 1.83 1.03039 2.60984 +32 1.89 0.961955 2.86377 +33 1.95 1.04075 3.15621 +34 2.01 1.00463 3.45613 +35 2.07 0.992292 3.77033 +36 2.13 0.947817 4.08809 +37 2.19 0.955967 4.42689 +38 2.25 1.0153 4.8067 +39 2.31 1.02836 5.2122 +40 2.37 1.01476 5.63338 +41 2.43 0.975081 6.05884 +42 2.49 0.994045 6.51427 +43 2.55 1.01685 7.00285 +44 2.61 1.0181 7.51534 +45 2.67 0.969476 8.02603 +46 2.73 0.959063 8.55421 +47 2.79 1.0001 9.12946 +48 2.85 0.975074 9.71469 +49 2.91 1.04642 10.3695 +50 2.97 0.987607 11.0132 +101550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.044199 0.0010699 +7 0.39 0.348371 0.00499287 +8 0.45 0.452189 0.0117689 +9 0.51 0.648727 0.0242511 +10 0.57 0.712403 0.0413695 +11 0.63 0.923505 0.0684736 +12 0.69 0.932075 0.101284 +13 0.75 0.960503 0.141227 +14 0.81 1.28678 0.203638 +15 0.87 1.1346 0.267118 +16 0.93 1.27748 0.348787 +17 0.99 1.0043 0.421541 +18 1.05 1.06352 0.508203 +19 1.11 1.02609 0.601641 +20 1.17 0.941194 0.696862 +21 1.23 0.858007 0.792796 +22 1.29 0.962754 0.911198 +23 1.35 0.94264 1.03816 +24 1.41 0.936954 1.17582 +25 1.47 1.0474 1.34308 +26 1.53 0.985426 1.51355 +27 1.59 1.06709 1.71291 +28 1.65 1.07067 1.92832 +29 1.71 0.978707 2.1398 +30 1.77 1.03826 2.38017 +31 1.83 0.928068 2.60984 +32 1.89 0.978168 2.86805 +33 1.95 0.976018 3.1423 +34 2.01 0.985518 3.43652 +35 2.07 1.00919 3.75606 +36 2.13 0.977603 4.08381 +37 2.19 0.986156 4.43331 +38 2.25 1.04008 4.8224 +39 2.31 0.999422 5.21648 +40 2.37 1.01562 5.63802 +41 2.43 1.02003 6.0831 +42 2.49 1.03608 6.55777 +43 2.55 1.01388 7.04494 +44 2.61 0.979844 7.53816 +45 2.67 0.968122 8.04815 +46 2.73 1.00698 8.60271 +47 2.79 1.00568 9.18117 +48 2.85 1.0238 9.79565 +49 2.91 0.972897 10.4044 +50 2.97 0.989796 11.0496 +101600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.263745 0.00178317 +6 0.33 0.220995 0.00356633 +7 0.39 0.285031 0.00677603 +8 0.45 0.618786 0.0160485 +9 0.51 0.556052 0.0267475 +10 0.57 0.845978 0.0470756 +11 0.63 0.874899 0.0727532 +12 0.69 1.04352 0.109486 +13 0.75 1.07199 0.154066 +14 0.81 1.02207 0.203638 +15 0.87 1.07086 0.263552 +16 0.93 1.07665 0.332382 +17 0.99 1.0683 0.409772 +18 1.05 1.03288 0.493937 +19 1.11 1.01434 0.586305 +20 1.17 0.895368 0.67689 +21 1.23 0.972833 0.785663 +22 1.29 1.02945 0.912268 +23 1.35 0.950583 1.0403 +24 1.41 0.932099 1.17725 +25 1.47 1.01167 1.3388 +26 1.53 0.966872 1.50606 +27 1.59 1.03655 1.69971 +28 1.65 1.00686 1.90228 +29 1.71 0.9523 2.10806 +30 1.77 0.988967 2.33702 +31 1.83 0.991476 2.58238 +32 1.89 1.0214 2.852 +33 1.95 1.00902 3.13552 +34 2.01 1.03211 3.44365 +35 2.07 1.03622 3.77175 +36 2.13 0.986113 4.10235 +37 2.19 0.906659 4.42368 +38 2.25 0.952378 4.77996 +39 2.31 1.01118 5.17867 +40 2.37 1.0182 5.60128 +41 2.43 1.00205 6.03852 +42 2.49 1.02907 6.50999 +43 2.55 0.989383 6.98538 +44 2.61 0.999682 7.48859 +45 2.67 0.99114 8.0107 +46 2.73 1.00957 8.56669 +47 2.79 1.0435 9.1669 +48 2.85 0.975668 9.7525 +49 2.91 0.989426 10.3716 +50 2.97 1.01332 11.0321 +101650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.044199 0.0010699 +7 0.39 0.348371 0.00499287 +8 0.45 0.475989 0.0121255 +9 0.51 0.667262 0.0249643 +10 0.57 0.742086 0.042796 +11 0.63 0.777688 0.0656205 +12 0.69 1.17523 0.10699 +13 0.75 1.07199 0.151569 +14 0.81 1.12501 0.206134 +15 0.87 1.24296 0.275678 +16 0.93 1.17707 0.350927 +17 0.99 1.15199 0.434379 +18 1.05 0.984738 0.514622 +19 1.11 0.939927 0.600214 +20 1.17 0.888318 0.690086 +21 1.23 0.947316 0.796006 +22 1.29 0.971453 0.915478 +23 1.35 1.01413 1.05207 +24 1.41 0.978219 1.19579 +25 1.47 0.971469 1.35093 +26 1.53 1.08026 1.5378 +27 1.59 1.05945 1.73573 +28 1.65 1.04763 1.9465 +29 1.71 1.02987 2.16904 +30 1.77 0.953537 2.3898 +31 1.83 0.951125 2.62518 +32 1.89 1.04572 2.90121 +33 1.95 1.02044 3.18795 +34 2.01 0.998658 3.48609 +35 2.07 1.00581 3.80456 +36 2.13 0.996751 4.13873 +37 2.19 0.95798 4.47825 +38 2.25 1.01816 4.85913 +39 2.31 0.992186 5.25036 +40 2.37 1.03539 5.6801 +41 2.43 1.00532 6.11876 +42 2.49 0.950453 6.55421 +43 2.55 0.97825 7.02425 +44 2.61 1.05565 7.55563 +45 2.67 1.004 8.08452 +46 2.73 0.988204 8.62874 +47 2.79 0.985221 9.19544 +48 2.85 0.972103 9.77889 +49 2.91 1.01108 10.4116 +50 2.97 1.01113 11.0706 +101700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.158351 0.00463623 +8 0.45 0.333192 0.0096291 +9 0.51 0.611657 0.021398 +10 0.57 0.771769 0.0399429 +11 0.63 0.729083 0.0613409 +12 0.69 1.07391 0.0991441 +13 0.75 1.08057 0.14408 +14 0.81 1.08825 0.196862 +15 0.87 1.21109 0.264622 +16 0.93 1.09339 0.334522 +17 0.99 1.26522 0.426177 +18 1.05 1.06789 0.513195 +19 1.11 0.869433 0.592368 +20 1.17 0.923569 0.685806 +21 1.23 0.838869 0.779601 +22 1.29 0.962754 0.898003 +23 1.35 0.937344 1.02425 +24 1.41 0.987928 1.1694 +25 1.47 1.01613 1.33167 +26 1.53 1.09057 1.52033 +27 1.59 1.03655 1.71398 +28 1.65 0.987357 1.91262 +29 1.71 0.934145 2.11448 +30 1.77 1.05521 2.35877 +31 1.83 1.0448 2.61733 +32 1.89 1.00114 2.8816 +33 1.95 0.995056 3.1612 +34 2.01 0.938929 3.44151 +35 2.07 1.00468 3.75963 +36 2.13 0.969093 4.08452 +37 2.19 1.00024 4.43902 +38 2.25 0.993372 4.81063 +39 2.31 0.995804 5.20328 +40 2.37 1.00531 5.62054 +41 2.43 1.00532 6.0592 +42 2.49 0.987817 6.51177 +43 2.55 1.04431 7.01355 +44 2.61 0.97701 7.50535 +45 2.67 0.994525 8.02924 +46 2.73 0.995327 8.57739 +47 2.79 1.03172 9.17083 +48 2.85 1.03093 9.78959 +49 2.91 0.993985 10.4116 +50 2.97 0.946024 11.0282 +101750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.443382 0.0074893 +8 0.45 0.475989 0.014622 +9 0.51 0.593122 0.0260342 +10 0.57 0.756928 0.0442225 +11 0.63 0.814142 0.068117 +12 0.69 1.01313 0.10378 +13 0.75 1.16633 0.152282 +14 0.81 1.28678 0.214693 +15 0.87 0.93063 0.266762 +16 0.93 1.14359 0.339872 +17 0.99 1.10276 0.419757 +18 1.05 0.997868 0.50107 +19 1.11 1.00651 0.592725 +20 1.17 0.814291 0.675107 +21 1.23 1.02387 0.789586 +22 1.29 0.942455 0.905492 +23 1.35 0.926753 1.03031 +24 1.41 1.03648 1.1826 +25 1.47 1.00274 1.34272 +26 1.53 0.966872 1.50999 +27 1.59 1.06709 1.70934 +28 1.65 1.03699 1.91797 +29 1.71 0.978707 2.12946 +30 1.77 0.927349 2.34415 +31 1.83 1.05488 2.60521 +32 1.89 1.00924 2.87161 +33 1.95 1.01536 3.15692 +34 2.01 1.00821 3.45792 +35 2.07 0.944987 3.75713 +36 2.13 0.9542 4.07703 +37 2.19 1.02943 4.44187 +38 2.25 1.03341 4.82846 +39 2.31 1.02022 5.23074 +40 2.37 0.992423 5.64265 +41 2.43 0.96936 6.06562 +42 2.49 1.05865 6.55064 +43 2.55 1.0161 7.03887 +44 2.61 1.00322 7.54387 +45 2.67 1.02431 8.08345 +46 2.73 1.02771 8.64943 +47 2.79 0.995141 9.22183 +48 2.85 0.999436 9.82168 +49 2.91 0.997405 10.4458 +50 2.97 0.992532 11.0927 +101800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.131872 0.00142653 +6 0.33 0.132597 0.00249643 +7 0.39 0.221691 0.00499287 +8 0.45 0.404591 0.0110556 +9 0.51 0.648727 0.0235378 +10 0.57 0.653036 0.0392297 +11 0.63 0.911353 0.0659772 +12 0.69 0.871288 0.0966476 +13 0.75 1.11487 0.14301 +14 0.81 1.13972 0.198288 +15 0.87 1.23022 0.267118 +16 0.93 1.12686 0.339158 +17 0.99 0.989527 0.410842 +18 1.05 1.06789 0.49786 +19 1.11 1.02217 0.590942 +20 1.17 1.00112 0.692225 +21 1.23 0.947316 0.798146 +22 1.29 1.02655 0.924394 +23 1.35 1.00354 1.05956 +24 1.41 0.893262 1.1908 +25 1.47 0.989335 1.34879 +26 1.53 1.01223 1.52389 +27 1.59 1.01555 1.71362 +28 1.65 1.0494 1.92475 +29 1.71 0.960552 2.13231 +30 1.77 1.00591 2.36519 +31 1.83 0.985711 2.60913 +32 1.89 0.99438 2.87161 +33 1.95 0.968402 3.14372 +34 2.01 1.06436 3.46148 +35 2.07 1.00356 3.77924 +36 2.13 0.989304 4.11091 +37 2.19 1.03446 4.47753 +38 2.25 1.03055 4.86305 +39 2.31 0.985855 5.25178 +40 2.37 0.972661 5.65549 +41 2.43 0.989793 6.08738 +42 2.49 1.00728 6.54886 +43 2.55 0.995321 7.0271 +44 2.61 0.958589 7.50963 +45 2.67 0.995879 8.03424 +46 2.73 1.02512 8.59879 +47 2.79 0.993901 9.17047 +48 2.85 1.03331 9.79066 +49 2.91 1.04414 10.444 +50 2.97 0.993079 11.0913 +101850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.253361 0.0053495 +8 0.45 0.547387 0.0135521 +9 0.51 0.593122 0.0249643 +10 0.57 0.86082 0.0456491 +11 0.63 0.874899 0.0713267 +12 0.69 0.901681 0.103067 +13 0.75 1.22636 0.154066 +14 0.81 1.15443 0.210057 +15 0.87 1.09636 0.271398 +16 0.93 1.13244 0.343795 +17 0.99 1.17168 0.428673 +18 1.05 1.04163 0.513552 +19 1.11 0.857684 0.591655 +20 1.17 0.944719 0.687233 +21 1.23 1.03663 0.803138 +22 1.29 0.852559 0.907989 +23 1.35 0.945288 1.03531 +24 1.41 0.929672 1.1719 +25 1.47 1.03177 1.33666 +26 1.53 1.12149 1.53067 +27 1.59 1.05373 1.72753 +28 1.65 1.0104 1.93081 +29 1.71 1.06948 2.16191 +30 1.77 0.950456 2.38195 +31 1.83 1.01165 2.63231 +32 1.89 0.938987 2.88017 +33 1.95 1.03567 3.17118 +34 2.01 1.00224 3.4704 +35 2.07 0.952871 3.77211 +36 2.13 0.969093 4.097 +37 2.19 1.03244 4.46291 +38 2.25 0.991465 4.83381 +39 2.31 1.00937 5.23181 +40 2.37 1.00531 5.64907 +41 2.43 1.02494 6.09629 +42 2.49 1.00494 6.5567 +43 2.55 1.00052 7.03745 +44 2.61 1.02235 7.55207 +45 2.67 0.980308 8.06847 +46 2.73 0.959063 8.59665 +47 2.79 1.02242 9.18474 +48 2.85 0.957842 9.75963 +49 2.91 1.00367 10.3877 +50 2.97 0.999098 11.0389 +101900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.253361 0.00606277 +8 0.45 0.380791 0.0117689 +9 0.51 0.667262 0.0246077 +10 0.57 0.831136 0.0445792 +11 0.63 0.874899 0.0702568 +12 0.69 0.921944 0.10271 +13 0.75 1.08057 0.147646 +14 0.81 1.15443 0.203638 +15 0.87 1.30671 0.276748 +16 0.93 1.21054 0.354137 +17 0.99 1.07322 0.431883 +18 1.05 1.01537 0.514622 +19 1.11 0.849851 0.592011 +20 1.17 0.934144 0.686519 +21 1.23 1.03663 0.802425 +22 1.29 0.913456 0.914765 +23 1.35 0.966471 1.04494 +24 1.41 0.936954 1.1826 +25 1.47 1.0273 1.34665 +26 1.53 1.01635 1.52247 +27 1.59 1.02128 1.71327 +28 1.65 1.05472 1.92546 +29 1.71 1.10249 2.16369 +30 1.77 0.941213 2.3816 +31 1.83 0.988594 2.62625 +32 1.89 0.987625 2.88695 +33 1.95 0.967133 3.1587 +34 2.01 1.0118 3.46077 +35 2.07 0.975397 3.76961 +36 2.13 0.994623 4.10307 +37 2.19 1.03244 4.46897 +38 2.25 1.02578 4.85271 +39 2.31 1.02384 5.25642 +40 2.37 0.970083 5.65906 +41 2.43 0.996332 6.09379 +42 2.49 0.988596 6.54672 +43 2.55 0.983445 7.01926 +44 2.61 1.01102 7.52817 +45 2.67 0.98437 8.04672 +46 2.73 1.00828 8.602 +47 2.79 1.04226 9.2015 +48 2.85 1.00062 9.80207 +49 2.91 0.963208 10.4048 +50 2.97 0.9794 11.0432 +101950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.0950104 0.00285307 +8 0.45 0.475989 0.00998573 +9 0.51 0.630192 0.0221113 +10 0.57 0.697561 0.038873 +11 0.63 1.02072 0.0688302 +12 0.69 1.11444 0.10806 +13 0.75 1.13202 0.155136 +14 0.81 0.985306 0.202924 +15 0.87 1.24296 0.272468 +16 0.93 1.02087 0.337732 +17 0.99 1.1766 0.422967 +18 1.05 0.945348 0.5 +19 1.11 0.951677 0.586662 +20 1.17 0.98702 0.686519 +21 1.23 0.991971 0.797432 +22 1.29 1.02075 0.922967 +23 1.35 0.94264 1.04993 +24 1.41 1.00977 1.19829 +25 1.47 1.034 1.36341 +26 1.53 0.989549 1.53459 +27 1.59 1.11863 1.74358 +28 1.65 0.987357 1.94223 +29 1.71 0.917641 2.14051 +30 1.77 1.03364 2.37981 +31 1.83 0.942479 2.61305 +32 1.89 1.03356 2.88588 +33 1.95 1.00775 3.16904 +34 2.01 1.02374 3.47468 +35 2.07 1.03622 3.80278 +36 2.13 0.985049 4.13302 +37 2.19 0.998231 4.4868 +38 2.25 0.975258 4.85164 +39 2.31 0.994899 5.24394 +40 2.37 0.997579 5.65799 +41 2.43 0.97835 6.08488 +42 2.49 1.00494 6.54529 +43 2.55 1.01388 7.03245 +44 2.61 1.00535 7.53852 +45 2.67 0.964737 8.04672 +46 2.73 0.987556 8.59058 +47 2.79 0.987081 9.15835 +48 2.85 1.03984 9.78245 +49 2.91 0.993985 10.4044 +50 2.97 1.02974 11.0756 +102000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.348371 0.00570613 +8 0.45 0.42839 0.0121255 +9 0.51 0.667262 0.0249643 +10 0.57 0.742086 0.042796 +11 0.63 0.97211 0.0713267 +12 0.69 1.14483 0.111626 +13 0.75 1.07199 0.156205 +14 0.81 1.17648 0.213267 +15 0.87 1.01349 0.269971 +16 0.93 1.09339 0.339872 +17 0.99 1.01414 0.413338 +18 1.05 1.03288 0.497504 +19 1.11 1.02609 0.590942 +20 1.17 0.96587 0.688659 +21 1.23 0.928178 0.792439 +22 1.29 0.983053 0.913338 +23 1.35 0.992949 1.04708 +24 1.41 0.992783 1.19294 +25 1.47 1.0273 1.35699 +26 1.53 0.993673 1.52889 +27 1.59 0.97737 1.71148 +28 1.65 1.03345 1.9194 +29 1.71 1.04637 2.14551 +30 1.77 0.970481 2.37019 +31 1.83 1.03327 2.62589 +32 1.89 1.05383 2.90407 +33 1.95 0.968402 3.17618 +34 2.01 0.997463 3.47397 +35 2.07 0.987787 3.78673 +36 2.13 0.949945 4.10521 +37 2.19 1.06163 4.48146 +38 2.25 0.980978 4.84843 +39 2.31 0.988568 5.23823 +40 2.37 1.01304 5.6587 +41 2.43 1.00369 6.09665 +42 2.49 0.968357 6.5403 +43 2.55 0.975281 7.00892 +44 2.61 1.04786 7.53638 +45 2.67 0.995879 8.06098 +46 2.73 0.983023 8.60235 +47 2.79 1.02056 9.18937 +48 2.85 0.989335 9.78317 +49 2.91 1.01393 10.4176 +50 2.97 1.00512 11.0728 +102050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.263745 0.00142653 +6 0.33 0.220995 0.0032097 +7 0.39 0.316701 0.00677603 +8 0.45 0.642585 0.0164051 +9 0.51 0.518981 0.0263909 +10 0.57 0.816295 0.0460057 +11 0.63 0.850597 0.07097 +12 0.69 0.9726 0.105207 +13 0.75 1.06341 0.149429 +14 0.81 1.22796 0.208987 +15 0.87 1.08361 0.269615 +16 0.93 1.18822 0.345578 +17 0.99 1.0486 0.421541 +18 1.05 0.958478 0.499643 +19 1.11 1.00259 0.590942 +20 1.17 0.916519 0.683666 +21 1.23 0.899472 0.784237 +22 1.29 0.904756 0.895506 +23 1.35 1.06179 1.03852 +24 1.41 1.00007 1.18545 +25 1.47 1.08537 1.35877 +26 1.53 0.92358 1.51854 +27 1.59 1.04991 1.71469 +28 1.65 1.00863 1.91762 +29 1.71 1.05463 2.14551 +30 1.77 1.00591 2.37839 +31 1.83 1.00589 2.62732 +32 1.89 0.988976 2.88837 +33 1.95 0.989979 3.16655 +34 2.01 0.947291 3.44936 +35 2.07 0.994545 3.76427 +36 2.13 0.970156 4.08951 +37 2.19 1.03848 4.45756 +38 2.25 1.0153 4.83738 +39 2.31 0.980428 5.22397 +40 2.37 1.02336 5.64872 +41 2.43 0.972629 6.07311 +42 2.49 1.08123 6.56847 +43 2.55 0.999032 7.0485 +44 2.61 0.979135 7.54137 +45 2.67 1.01077 8.07382 +46 2.73 0.97849 8.6127 +47 2.79 0.97468 9.17332 +48 2.85 0.988146 9.76641 +49 2.91 0.981446 10.3805 +50 2.97 1.04561 11.0621 +102100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.263745 0.00142653 +6 0.33 0.132597 0.00249643 +7 0.39 0.443382 0.0074893 +8 0.45 0.475989 0.014622 +9 0.51 0.704332 0.028174 +10 0.57 0.86082 0.0488588 +11 0.63 0.923505 0.0759629 +12 0.69 1.05365 0.113053 +13 0.75 1.03769 0.156205 +14 0.81 1.01472 0.205421 +15 0.87 1.17922 0.271398 +16 0.93 1.22727 0.349857 +17 0.99 1.12245 0.43117 +18 1.05 0.954101 0.508916 +19 1.11 0.939927 0.594508 +20 1.17 0.821342 0.677603 +21 1.23 0.91223 0.779601 +22 1.29 0.980153 0.900143 +23 1.35 0.939992 1.02675 +24 1.41 0.932099 1.16369 +25 1.47 1.05187 1.33167 +26 1.53 1.06789 1.51641 +27 1.59 1.069 1.71612 +28 1.65 0.967858 1.91084 +29 1.71 0.9523 2.11662 +30 1.77 1.03518 2.35628 +31 1.83 1.00589 2.60521 +32 1.89 0.988976 2.86626 +33 1.95 0.959518 3.13588 +34 2.01 1.00941 3.43723 +35 2.07 1.00018 3.75392 +36 2.13 0.983985 4.08381 +37 2.19 1.01232 4.44258 +38 2.25 1.00004 4.81669 +39 2.31 0.993995 5.20863 +40 2.37 1.01047 5.62803 +41 2.43 1.02984 6.07739 +42 2.49 0.973027 6.52318 +43 2.55 1.03243 7.01926 +44 2.61 1.01243 7.52889 +45 2.67 0.9776 8.04387 +46 2.73 1.0018 8.59558 +47 2.79 1.0125 9.17796 +48 2.85 0.993494 9.77425 +49 2.91 0.984866 10.3905 +50 2.97 1.00676 11.0467 +102150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0.131872 0.00142653 +6 0.33 0.0883979 0.0021398 +7 0.39 0.158351 0.00392297 +8 0.45 0.380791 0.0096291 +9 0.51 0.759937 0.0242511 +10 0.57 0.994395 0.0481455 +11 0.63 0.97211 0.0766762 +12 0.69 0.790238 0.104494 +13 0.75 1.20063 0.154422 +14 0.81 1.16913 0.211127 +15 0.87 1.01987 0.268188 +16 0.93 1.09339 0.338088 +17 0.99 1.06337 0.415121 +18 1.05 0.919089 0.490014 +19 1.11 0.845935 0.567047 +20 1.17 1.06105 0.674394 +21 1.23 1.00154 0.786377 +22 1.29 0.980153 0.906919 +23 1.35 0.969118 1.03745 +24 1.41 0.953946 1.1776 +25 1.47 1.05857 1.34665 +26 1.53 1.02253 1.52354 +27 1.59 0.956372 1.70221 +28 1.65 1.08131 1.91976 +29 1.71 0.940747 2.12304 +30 1.77 1.01978 2.35913 +31 1.83 0.987153 2.60342 +32 1.89 0.997082 2.86662 +33 1.95 1.04582 3.16049 +34 2.01 0.97835 3.45257 +35 2.07 1.00581 3.77104 +36 2.13 1.01377 4.11091 +37 2.19 0.990181 4.46184 +38 2.25 0.999092 4.83559 +39 2.31 1.0157 5.23609 +40 2.37 0.971801 5.63944 +41 2.43 0.999601 6.07561 +42 2.49 0.958237 6.51462 +43 2.55 1.0547 7.0214 +44 2.61 1.02235 7.53602 +45 2.67 0.974215 8.04922 +46 2.73 0.99727 8.59843 +47 2.79 1.01002 9.17939 +48 2.85 1.00716 9.78388 +49 2.91 0.996835 10.4076 +50 2.97 1.00019 11.0596 +102200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.380042 0.00677603 +8 0.45 0.380791 0.0124822 +9 0.51 0.797007 0.0278174 +10 0.57 0.786611 0.046719 +11 0.63 0.935656 0.0741797 +12 0.69 0.9726 0.108417 +13 0.75 1.08914 0.153709 +14 0.81 1.13972 0.208987 +15 0.87 1.10911 0.271041 +16 0.93 1.07107 0.339515 +17 0.99 1.12737 0.421184 +18 1.05 0.962855 0.499643 +19 1.11 0.971258 0.588088 +20 1.17 0.983495 0.687589 +21 1.23 0.940937 0.792796 +22 1.29 0.959854 0.910842 +23 1.35 0.947936 1.03852 +24 1.41 1.07289 1.19615 +25 1.47 1.0139 1.35806 +26 1.53 1.01429 1.53352 +27 1.59 1.00982 1.72218 +28 1.65 1.00331 1.92404 +29 1.71 1.07278 2.15585 +30 1.77 0.979724 2.38267 +31 1.83 0.948243 2.61733 +32 1.89 0.982221 2.8766 +33 1.95 1.03821 3.16833 +34 2.01 0.980739 3.46113 +35 2.07 1.02833 3.78673 +36 2.13 0.978666 4.11484 +37 2.19 0.987162 4.46469 +38 2.25 0.986698 4.83381 +39 2.31 1.02203 5.2368 +40 2.37 0.919388 5.6184 +41 2.43 0.979168 6.04565 +42 2.49 1.07033 6.53602 +43 2.55 1.02501 7.02853 +44 2.61 1.02873 7.54636 +45 2.67 1.05275 8.10093 +46 2.73 1.00051 8.65193 +47 2.79 0.97096 9.21041 +48 2.85 0.966755 9.79066 +49 2.91 0.999115 10.4158 +50 2.97 0.973381 11.0503 +102250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.265194 0.0032097 +7 0.39 0.190021 0.0053495 +8 0.45 0.380791 0.0110556 +9 0.51 0.611657 0.0228245 +10 0.57 0.831136 0.042796 +11 0.63 0.935656 0.0702568 +12 0.69 0.861156 0.100571 +13 0.75 1.14917 0.148359 +14 0.81 1.18384 0.205777 +15 0.87 1.07086 0.265692 +16 0.93 1.05434 0.333096 +17 0.99 1.0486 0.409058 +18 1.05 1.05039 0.49465 +19 1.11 0.932095 0.579529 +20 1.17 0.944719 0.675107 +21 1.23 0.931368 0.779244 +22 1.29 0.945354 0.895506 +23 1.35 1.01678 1.03245 +24 1.41 0.953946 1.17261 +25 1.47 1.02953 1.33702 +26 1.53 0.989549 1.5082 +27 1.59 0.996459 1.69437 +28 1.65 0.994448 1.89444 +29 1.71 1.03317 2.11769 +30 1.77 1.0475 2.3602 +31 1.83 0.977065 2.602 +32 1.89 0.993029 2.86412 +33 1.95 0.993786 3.14337 +34 2.01 1.0333 3.45185 +35 2.07 0.995671 3.76712 +36 2.13 1.04568 4.11769 +37 2.19 0.978105 4.46434 +38 2.25 0.990512 4.83488 +39 2.31 0.965957 5.21576 +40 2.37 1.02078 5.63944 +41 2.43 0.988158 6.07061 +42 2.49 1.02674 6.54101 +43 2.55 1.01017 7.02639 +44 2.61 0.985512 7.52247 +45 2.67 1.04192 8.07133 +46 2.73 0.990794 8.61698 +47 2.79 0.943679 9.15977 +48 2.85 1.00538 9.7632 +49 2.91 0.959788 10.3638 +50 2.97 1.02427 11.0314 +102300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.132597 0.0021398 +7 0.39 0.411712 0.00677603 +8 0.45 0.333192 0.0117689 +9 0.51 0.611657 0.0235378 +10 0.57 0.638194 0.038873 +11 0.63 0.959959 0.0670471 +12 0.69 1.15496 0.107703 +13 0.75 0.917623 0.145863 +14 0.81 1.15443 0.201854 +15 0.87 1.23659 0.271041 +16 0.93 1.08781 0.340585 +17 0.99 1.08306 0.419044 +18 1.05 1.01537 0.501783 +19 1.11 0.924262 0.585949 +20 1.17 1.04342 0.691512 +21 1.23 0.899472 0.792083 +22 1.29 0.991752 0.914051 +23 1.35 0.958527 1.04315 +24 1.41 0.941809 1.18153 +25 1.47 1.0273 1.34558 +26 1.53 0.987488 1.51641 +27 1.59 1.05945 1.71434 +28 1.65 1.05826 1.92725 +29 1.71 0.948999 2.13231 +30 1.77 1.02748 2.37019 +31 1.83 1.00012 2.61769 +32 1.89 1.0768 2.90193 +33 1.95 0.965864 3.17332 +34 2.01 1.0106 3.47504 +35 2.07 1.00018 3.79173 +36 2.13 1.03717 4.13944 +37 2.19 0.985149 4.48859 +38 2.25 0.986698 4.8577 +39 2.31 0.967766 5.2393 +40 2.37 1.02593 5.66512 +41 2.43 0.97835 6.09201 +42 2.49 1.01273 6.55599 +43 2.55 1.01907 7.04565 +44 2.61 0.992597 7.54529 +45 2.67 1.02905 8.08738 +46 2.73 0.977195 8.62553 +47 2.79 0.998861 9.20007 +48 2.85 1.01132 9.80706 +49 2.91 0.996835 10.4308 +50 2.97 0.969004 11.0624 +102350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.348371 0.00570613 +8 0.45 0.594986 0.014622 +9 0.51 0.537517 0.0249643 +10 0.57 0.801453 0.0442225 +11 0.63 1.09362 0.0763195 +12 0.69 0.942206 0.109486 +13 0.75 1.08057 0.154422 +14 0.81 1.15443 0.210414 +15 0.87 1.1601 0.275321 +16 0.93 1.09897 0.345578 +17 0.99 1.03383 0.420471 +18 1.05 1.00224 0.50214 +19 1.11 0.955593 0.589158 +20 1.17 0.912993 0.681526 +21 1.23 1.02387 0.796006 +22 1.29 0.959854 0.914051 +23 1.35 0.987654 1.04708 +24 1.41 1.03162 1.19864 +25 1.47 1.02507 1.36234 +26 1.53 1.01841 1.53852 +27 1.59 0.937283 1.71362 +28 1.65 0.997993 1.91441 +29 1.71 1.10084 2.15228 +30 1.77 0.951996 2.37268 +31 1.83 1.08082 2.64016 +32 1.89 0.979519 2.89872 +33 1.95 0.995056 3.17832 +34 2.01 1.03449 3.48716 +35 2.07 0.975397 3.79601 +36 2.13 0.980794 4.12482 +37 2.19 0.972068 4.46933 +38 2.25 1.01053 4.84736 +39 2.31 0.959626 5.22575 +40 2.37 1.0371 5.65621 +41 2.43 0.982437 6.08488 +42 2.49 1.01195 6.5485 +43 2.55 0.974539 7.01676 +44 2.61 1.01881 7.5296 +45 2.67 1.06629 8.0913 +46 2.73 0.970072 8.62553 +47 2.79 1.01436 9.20899 +48 2.85 1.00954 9.81491 +49 2.91 1.00082 10.4412 +50 2.97 0.9794 11.0795 +102400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.538392 0.00784593 +8 0.45 0.452189 0.014622 +9 0.51 0.574587 0.0256776 +10 0.57 0.534302 0.0385164 +11 0.63 0.899202 0.0649073 +12 0.69 1.12457 0.104494 +13 0.75 1.16633 0.152996 +14 0.81 1.12501 0.207561 +15 0.87 1.17922 0.273538 +16 0.93 1.13244 0.345934 +17 0.99 1.02399 0.420114 +18 1.05 1.00662 0.50214 +19 1.11 0.986924 0.592011 +20 1.17 0.923569 0.685449 +21 1.23 0.966454 0.793509 +22 1.29 0.878658 0.901569 +23 1.35 1.03796 1.04137 +24 1.41 0.929672 1.17796 +25 1.47 1.04293 1.34451 +26 1.53 1.02666 1.52211 +27 1.59 0.985006 1.70613 +28 1.65 1.05117 1.91762 +29 1.71 0.993561 2.13231 +30 1.77 1.01515 2.36733 +31 1.83 0.972742 2.60806 +32 1.89 1.00384 2.87304 +33 1.95 1.02171 3.16013 +34 2.01 1.05122 3.47397 +35 2.07 0.967513 3.78031 +36 2.13 1.0276 4.12482 +37 2.19 0.96603 4.46719 +38 2.25 0.969538 4.82989 +39 2.31 1.03922 5.23966 +40 2.37 1.01734 5.66191 +41 2.43 0.975898 6.08773 +42 2.49 0.972249 6.53317 +43 2.55 1.0354 7.03067 +44 2.61 1.0181 7.54315 +45 2.67 0.97083 8.05456 +46 2.73 1.00763 8.60949 +47 2.79 0.990801 9.17939 +48 2.85 0.978639 9.76676 +49 2.91 0.975747 10.3773 +50 2.97 1.02098 11.0428 +102450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.044199 0.0010699 +7 0.39 0.221691 0.00356633 +8 0.45 0.404591 0.0096291 +9 0.51 0.518981 0.0196148 +10 0.57 0.801453 0.038873 +11 0.63 0.911353 0.0656205 +12 0.69 0.942206 0.0987874 +13 0.75 1.12345 0.145506 +14 0.81 1.11766 0.199715 +15 0.87 1.24296 0.269258 +16 0.93 1.37231 0.35699 +17 0.99 0.974758 0.427603 +18 1.05 0.949725 0.504993 +19 1.11 0.998673 0.595934 +20 1.17 0.941194 0.691155 +21 1.23 0.902661 0.792083 +22 1.29 0.916356 0.904779 +23 1.35 1.00354 1.03994 +24 1.41 0.997638 1.18652 +25 1.47 0.975936 1.34237 +26 1.53 1.03903 1.52211 +27 1.59 0.985006 1.70613 +28 1.65 1.02636 1.91262 +29 1.71 0.986959 2.12589 +30 1.77 1.05829 2.3709 +31 1.83 0.998681 2.61805 +32 1.89 1.04032 2.89265 +33 1.95 1.06994 3.1933 +34 2.01 0.984323 3.48716 +35 2.07 0.974271 3.79565 +36 2.13 0.956327 4.11626 +37 2.19 0.984143 4.46505 +38 2.25 0.962865 4.82525 +39 2.31 1.00033 5.21969 +40 2.37 1.05773 5.6587 +41 2.43 1.01758 6.10271 +42 2.49 0.968357 6.54636 +43 2.55 1.00868 7.03103 +44 2.61 1.02235 7.54565 +45 2.67 1.01145 8.07846 +46 2.73 1.00504 8.63195 +47 2.79 0.999481 9.20685 +48 2.85 1.00954 9.81277 +49 2.91 1.01108 10.4454 +50 2.97 0.97557 11.0813 +102500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.353592 0.00285307 +7 0.39 0.253361 0.00570613 +8 0.45 0.237994 0.00927247 +9 0.51 0.722867 0.0231812 +10 0.57 0.771769 0.0417261 +11 0.63 0.984262 0.0706134 +12 0.69 1.06378 0.10806 +13 0.75 1.05484 0.151926 +14 0.81 1.27943 0.21398 +15 0.87 1.02624 0.271398 +16 0.93 1.16033 0.345578 +17 0.99 1.02399 0.419757 +18 1.05 0.967231 0.498573 +19 1.11 1.01434 0.590942 +20 1.17 0.881268 0.6801 +21 1.23 0.976023 0.78923 +22 1.29 0.930855 0.903709 +23 1.35 0.966471 1.03388 +24 1.41 0.941809 1.17225 +25 1.47 0.996035 1.33131 +26 1.53 1.10087 1.52175 +27 1.59 1.06136 1.72004 +28 1.65 1.07067 1.93545 +29 1.71 0.993561 2.15014 +30 1.77 1.02902 2.38837 +31 1.83 0.94392 2.62197 +32 1.89 0.98087 2.88088 +33 1.95 1.02044 3.16762 +34 2.01 0.925789 3.44401 +35 2.07 0.997924 3.75999 +36 2.13 1.02441 4.10342 +37 2.19 0.992193 4.45506 +38 2.25 1.01911 4.83631 +39 2.31 1.00394 5.23217 +40 2.37 0.977816 5.63802 +41 2.43 1.05681 6.09914 +42 2.49 0.99638 6.55563 +43 2.55 0.961921 7.01783 +44 2.61 1.01173 7.5271 +45 2.67 1.03447 8.07204 +46 2.73 0.977843 8.61056 +47 2.79 1.0125 9.19294 +48 2.85 1.00241 9.79458 +49 2.91 0.993985 10.4165 +50 2.97 0.962438 11.0439 +102550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.044199 0.0010699 +7 0.39 0.221691 0.00356633 +8 0.45 0.523588 0.0114123 +9 0.51 0.797007 0.0267475 +10 0.57 0.697561 0.0435093 +11 0.63 1.13008 0.0766762 +12 0.69 0.942206 0.109843 +13 0.75 0.88332 0.146576 +14 0.81 1.21325 0.205421 +15 0.87 1.22384 0.273894 +16 0.93 1.17707 0.349144 +17 0.99 1.03383 0.424037 +18 1.05 0.958478 0.50214 +19 1.11 0.986924 0.592011 +20 1.17 0.909468 0.684023 +21 1.23 0.944126 0.789586 +22 1.29 1.02655 0.915835 +23 1.35 0.995597 1.04993 +24 1.41 1.0122 1.19864 +25 1.47 1.03177 1.36341 +26 1.53 1.12974 1.55884 +27 1.59 1.04991 1.75499 +28 1.65 1.04231 1.96469 +29 1.71 1.01007 2.18295 +30 1.77 0.924268 2.39693 +31 1.83 0.955448 2.63338 +32 1.89 1.00384 2.89836 +33 1.95 1.01536 3.18367 +34 2.01 0.95207 3.4679 +35 2.07 1.0396 3.79708 +36 2.13 1.02122 4.13944 +37 2.19 1.04049 4.5082 +38 2.25 0.976212 4.8734 +39 2.31 0.97681 5.25856 +40 2.37 1.04054 5.69044 +41 2.43 1.01513 6.13338 +42 2.49 0.990153 6.58702 +43 2.55 0.973797 7.05492 +44 2.61 1.03227 7.57454 +45 2.67 0.976246 8.0888 +46 2.73 0.95971 8.61733 +47 2.79 1.01684 9.20221 +48 2.85 1.01667 9.81241 +49 2.91 1.02134 10.4515 +50 2.97 0.980494 11.0906 +102600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.253361 0.00463623 +8 0.45 0.42839 0.0110556 +9 0.51 0.648727 0.0235378 +10 0.57 0.667877 0.0395863 +11 0.63 0.935656 0.0670471 +12 0.69 1.17523 0.108417 +13 0.75 1.01196 0.150499 +14 0.81 1.22796 0.210057 +15 0.87 1.09636 0.271398 +16 0.93 1.16033 0.345578 +17 0.99 1.05353 0.421897 +18 1.05 0.919089 0.49679 +19 1.11 1.01434 0.589158 +20 1.17 0.874218 0.677603 +21 1.23 0.969643 0.78602 +22 1.29 0.936655 0.901213 +23 1.35 0.985006 1.03388 +24 1.41 0.905399 1.1669 +25 1.47 1.034 1.33203 +26 1.53 1.0617 1.51569 +27 1.59 1.04227 1.71041 +28 1.65 1.05472 1.92261 +29 1.71 0.982008 2.13481 +30 1.77 0.988967 2.36377 +31 1.83 0.979947 2.60628 +32 1.89 1.00114 2.87054 +33 1.95 0.94048 3.13481 +34 2.01 1.05002 3.44829 +35 2.07 0.946113 3.74786 +36 2.13 0.983985 4.07775 +37 2.19 0.998231 4.43153 +38 2.25 0.975258 4.79636 +39 2.31 1.04193 5.2072 +40 2.37 1.0225 5.6316 +41 2.43 1.01922 6.07632 +42 2.49 0.968357 6.51997 +43 2.55 1.00794 7.00428 +44 2.61 1.00252 7.50892 +45 2.67 0.987755 8.02924 +46 2.73 0.966834 8.5617 +47 2.79 1.028 9.153 +48 2.85 1.02855 9.77033 +49 2.91 1.03559 10.4183 +50 2.97 0.972287 11.0521 +102650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.263745 0.00142653 +6 0.33 0.0883979 0.0021398 +7 0.39 0.253361 0.00499287 +8 0.45 0.380791 0.010699 +9 0.51 0.556052 0.021398 +10 0.57 0.816295 0.0410128 +11 0.63 0.887051 0.0670471 +12 0.69 1.10431 0.10592 +13 0.75 0.900472 0.143367 +14 0.81 1.2059 0.201854 +15 0.87 1.21109 0.269615 +16 0.93 1.17149 0.344508 +17 0.99 1.25045 0.435093 +18 1.05 0.962855 0.513552 +19 1.11 0.853767 0.591298 +20 1.17 0.905943 0.682953 +21 1.23 1.02387 0.797432 +22 1.29 0.927955 0.911555 +23 1.35 0.94264 1.03852 +24 1.41 0.973364 1.18153 +25 1.47 1.034 1.34665 +26 1.53 1.01223 1.52175 +27 1.59 1.09191 1.72575 +28 1.65 0.939496 1.91476 +29 1.71 1.01172 2.13338 +30 1.77 1.02132 2.36983 +31 1.83 0.99724 2.61662 +32 1.89 1.01465 2.88445 +33 1.95 0.98744 3.16191 +34 2.01 1.01897 3.46612 +35 2.07 1.01595 3.7878 +36 2.13 0.975475 4.11484 +37 2.19 0.948923 4.45114 +38 2.25 0.982885 4.81883 +39 2.31 1.04645 5.23146 +40 2.37 1.00359 5.648 +41 2.43 1.02167 6.09379 +42 2.49 1.06566 6.58203 +43 2.55 1.01017 7.0674 +44 2.61 1.00464 7.57311 +45 2.67 0.965414 8.08167 +46 2.73 0.975252 8.61876 +47 2.79 0.999481 9.19365 +48 2.85 1.00716 9.79815 +49 2.91 0.998545 10.423 +50 2.97 1.00566 11.0785 +102700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.263745 0.00178317 +6 0.33 0.176796 0.0032097 +7 0.39 0.253361 0.00606277 +8 0.45 0.547387 0.0142653 +9 0.51 0.704332 0.0278174 +10 0.57 0.608511 0.0424394 +11 0.63 0.826294 0.0666904 +12 0.69 0.780106 0.0941512 +13 0.75 1.1406 0.141583 +14 0.81 1.24266 0.201854 +15 0.87 1.22384 0.270328 +16 0.93 1.08781 0.339872 +17 0.99 1.09783 0.419401 +18 1.05 0.940972 0.496077 +19 1.11 0.936011 0.581312 +20 1.17 0.944719 0.67689 +21 1.23 0.845248 0.771398 +22 1.29 1.00625 0.89515 +23 1.35 1.02472 1.03317 +24 1.41 0.973364 1.17618 +25 1.47 1.00497 1.33666 +26 1.53 1.04109 1.51676 +27 1.59 1.03846 1.71077 +28 1.65 0.946587 1.90121 +29 1.71 1.04142 2.12625 +30 1.77 0.993588 2.35628 +31 1.83 1.01597 2.6077 +32 1.89 0.960604 2.86127 +33 1.95 1.07248 3.16262 +34 2.01 0.953264 3.44722 +35 2.07 0.984408 3.75892 +36 2.13 0.97973 4.08738 +37 2.19 1.01232 4.44615 +38 2.25 0.980978 4.81312 +39 2.31 1.03922 5.2229 +40 2.37 1.00016 5.63802 +41 2.43 0.987341 6.06883 +42 2.49 0.960573 6.50892 +43 2.55 1.02649 7.00214 +44 2.61 1.03794 7.52461 +45 2.67 0.987755 8.04494 +46 2.73 0.986909 8.58845 +47 2.79 1.01002 9.1694 +48 2.85 0.984581 9.76034 +49 2.91 1.03616 10.4087 +50 2.97 0.972834 11.0428 +102750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.132597 0.0010699 +7 0.39 0.221691 0.00356633 +8 0.45 0.571187 0.0121255 +9 0.51 0.537517 0.0224679 +10 0.57 0.801453 0.0417261 +11 0.63 0.911353 0.0684736 +12 0.69 1.09418 0.10699 +13 0.75 1.02911 0.149786 +14 0.81 1.05884 0.201141 +15 0.87 1.26209 0.271755 +16 0.93 1.14359 0.344864 +17 0.99 0.99445 0.416904 +18 1.05 1.03288 0.50107 +19 1.11 1.08483 0.599857 +20 1.17 0.927094 0.693652 +21 1.23 0.921799 0.796719 +22 1.29 0.861259 0.902639 +23 1.35 1.05915 1.04529 +24 1.41 1.0389 1.19793 +25 1.47 0.96477 1.352 +26 1.53 0.995734 1.52425 +27 1.59 1.01555 1.71398 +28 1.65 1.04763 1.92475 +29 1.71 1.01172 2.14337 +30 1.77 1.01053 2.37732 +31 1.83 0.994358 2.6234 +32 1.89 0.964657 2.87803 +33 1.95 0.998863 3.1587 +34 2.01 1.03449 3.46755 +35 2.07 1.01482 3.78887 +36 2.13 0.97122 4.11448 +37 2.19 0.998231 4.46826 +38 2.25 1.02006 4.84986 +39 2.31 0.964148 5.23003 +40 2.37 0.988986 5.64051 +41 2.43 1.04701 6.09736 +42 2.49 1.00027 6.55563 +43 2.55 0.961921 7.01783 +44 2.61 1.0344 7.53852 +45 2.67 1.0101 8.07061 +46 2.73 0.986261 8.61377 +47 2.79 0.9784 9.17653 +48 2.85 1.00954 9.78245 +49 2.91 0.970047 10.3894 +50 2.97 1.03576 11.0646 +102800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.353592 0.00356633 +7 0.39 0.190021 0.00570613 +8 0.45 0.42839 0.0121255 +9 0.51 0.556052 0.0228245 +10 0.57 0.831136 0.042796 +11 0.63 0.78984 0.0659772 +12 0.69 1.01313 0.101641 +13 0.75 1.02911 0.144437 +14 0.81 1.10295 0.197932 +15 0.87 1.17285 0.263552 +16 0.93 1.04876 0.330599 +17 0.99 1.07814 0.408702 +18 1.05 0.984738 0.488944 +19 1.11 1.09658 0.588802 +20 1.17 1.07162 0.697218 +21 1.23 0.947316 0.803138 +22 1.29 0.939555 0.918688 +23 1.35 0.987654 1.05171 +24 1.41 0.912681 1.18581 +25 1.47 1.0742 1.35735 +26 1.53 1.0349 1.53638 +27 1.59 0.943009 1.71255 +28 1.65 0.994448 1.91262 +29 1.71 1.04142 2.13766 +30 1.77 1.00129 2.36947 +31 1.83 0.990035 2.61448 +32 1.89 1.02951 2.88623 +33 1.95 0.967133 3.15799 +34 2.01 0.989101 3.45328 +35 2.07 0.97765 3.76284 +36 2.13 0.932924 4.07561 +37 2.19 0.989175 4.42618 +38 2.25 1.02483 4.80956 +39 2.31 0.982237 5.19686 +40 2.37 1.02422 5.62197 +41 2.43 1.03883 6.07525 +42 2.49 1.02596 6.54529 +43 2.55 0.994579 7.02318 +44 2.61 0.985512 7.51926 +45 2.67 0.93698 8.01284 +46 2.73 1.06786 8.60093 +47 2.79 0.966 9.15656 +48 2.85 1.003 9.75856 +49 2.91 1.01564 10.3941 +50 2.97 0.984872 11.036 +102850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.285031 0.00570613 +8 0.45 0.380791 0.0114123 +9 0.51 0.648727 0.0238944 +10 0.57 0.786611 0.042796 +11 0.63 0.814142 0.0666904 +12 0.69 1.00299 0.101997 +13 0.75 0.926199 0.140514 +14 0.81 1.13237 0.195435 +15 0.87 1.14735 0.259629 +16 0.93 1.30537 0.343081 +17 0.99 1.02399 0.417261 +18 1.05 1.15543 0.511412 +19 1.11 0.967342 0.599501 +20 1.17 0.877743 0.688302 +21 1.23 0.924989 0.791726 +22 1.29 0.997552 0.914408 +23 1.35 0.953231 1.0428 +24 1.41 1.03162 1.19437 +25 1.47 0.989335 1.35235 +26 1.53 0.997796 1.52496 +27 1.59 0.99455 1.71077 +28 1.65 0.971403 1.90621 +29 1.71 1.05958 2.13516 +30 1.77 0.998209 2.36626 +31 1.83 1.00012 2.61377 +32 1.89 1.00384 2.87874 +33 1.95 0.979825 3.15407 +34 2.01 0.954459 3.43902 +35 2.07 0.982155 3.75 +36 2.13 0.968029 4.07454 +37 2.19 1.03949 4.44294 +38 2.25 1.01339 4.82204 +39 2.31 1.02203 5.22504 +40 2.37 0.972661 5.62874 +41 2.43 0.976716 6.05492 +42 2.49 1.02129 6.52282 +43 2.55 1.03689 7.02104 +44 2.61 0.960715 7.50464 +45 2.67 1.05004 8.05777 +46 2.73 0.986909 8.60128 +47 2.79 1.01498 9.18509 +48 2.85 0.976857 9.7714 +49 2.91 0.983156 10.3866 +50 2.97 0.991437 11.0328 +102900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.221691 0.00392297 +8 0.45 0.475989 0.0110556 +9 0.51 0.518981 0.0210414 +10 0.57 0.905345 0.042796 +11 0.63 1.03287 0.0731098 +12 0.69 0.982731 0.107703 +13 0.75 1.22636 0.158702 +14 0.81 1.17648 0.215763 +15 0.87 1.05811 0.274964 +16 0.93 0.959504 0.336305 +17 0.99 1.09783 0.415835 +18 1.05 1.0285 0.499643 +19 1.11 1.07308 0.597361 +20 1.17 0.96587 0.695078 +21 1.23 0.91223 0.797076 +22 1.29 0.933755 0.911912 +23 1.35 0.97971 1.04387 +24 1.41 0.980646 1.18795 +25 1.47 1.02953 1.35235 +26 1.53 1.0246 1.5296 +27 1.59 1.06327 1.72825 +28 1.65 0.985584 1.92653 +29 1.71 1.01667 2.14622 +30 1.77 0.911944 2.35735 +31 1.83 0.99724 2.60414 +32 1.89 0.990327 2.86555 +33 1.95 1.01663 3.15121 +34 2.01 0.997463 3.449 +35 2.07 1.00243 3.76641 +36 2.13 0.98824 4.09772 +37 2.19 0.959992 4.43795 +38 2.25 0.998138 4.81134 +39 2.31 1.02294 5.21469 +40 2.37 1.07921 5.66262 +41 2.43 0.988158 6.09379 +42 2.49 0.955902 6.53174 +43 2.55 0.996063 7.01034 +44 2.61 1.02377 7.52568 +45 2.67 0.973538 8.03852 +46 2.73 1.03094 8.60628 +47 2.79 1.01064 9.18759 +48 2.85 1.04341 9.81384 +49 2.91 0.978027 10.4258 +50 2.97 0.983777 11.067 +102950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0.131872 0.00142653 +6 0.33 0.265194 0.00356633 +7 0.39 0.380042 0.00784593 +8 0.45 0.380791 0.0135521 +9 0.51 0.574587 0.0246077 +10 0.57 0.667877 0.0406562 +11 0.63 0.850597 0.0656205 +12 0.69 0.911813 0.0977175 +13 0.75 0.943351 0.136947 +14 0.81 1.05884 0.188302 +15 0.87 1.31945 0.262126 +16 0.93 1.12128 0.333809 +17 0.99 1.08799 0.412625 +18 1.05 1.05914 0.49893 +19 1.11 0.916429 0.582382 +20 1.17 0.983495 0.681883 +21 1.23 0.91861 0.784593 +22 1.29 1.03235 0.911555 +23 1.35 0.89233 1.03174 +24 1.41 0.890835 1.16262 +25 1.47 1.08983 1.33666 +26 1.53 1.1318 1.53245 +27 1.59 0.97737 1.71505 +28 1.65 1.01572 1.9194 +29 1.71 0.927544 2.11983 +30 1.77 0.995129 2.35021 +31 1.83 1.03039 2.60521 +32 1.89 0.976817 2.86305 +33 1.95 1.01156 3.14729 +34 2.01 0.969988 3.43688 +35 2.07 1.04185 3.76676 +36 2.13 0.990368 4.09879 +37 2.19 1.03043 4.46398 +38 2.25 1.00386 4.83951 +39 2.31 0.963243 5.21933 +40 2.37 1.0139 5.64016 +41 2.43 1.05028 6.09843 +42 2.49 0.936442 6.52746 +43 2.55 1.02946 7.02211 +44 2.61 1.0181 7.53459 +45 2.67 0.97083 8.04601 +46 2.73 0.995327 8.59415 +47 2.79 0.997001 9.16762 +48 2.85 1.00538 9.77104 +49 2.91 1.01906 10.4087 +50 2.97 0.977212 11.0456 +103000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.132597 0.0021398 +7 0.39 0.221691 0.00463623 +8 0.45 0.356992 0.00998573 +9 0.51 0.574587 0.0210414 +10 0.57 0.712403 0.0381598 +11 0.63 0.947808 0.0659772 +12 0.69 1.11444 0.105207 +13 0.75 0.780409 0.13766 +14 0.81 1.24266 0.197932 +15 0.87 1.24296 0.267475 +16 0.93 1.18264 0.343081 +17 0.99 1.10768 0.423324 +18 1.05 0.989114 0.503923 +19 1.11 1.01434 0.596291 +20 1.17 0.969395 0.694365 +21 1.23 0.909041 0.796006 +22 1.29 0.965654 0.914765 +23 1.35 1.00089 1.04957 +24 1.41 0.946664 1.18866 +25 1.47 0.982636 1.34558 +26 1.53 1.01635 1.5214 +27 1.59 1.03464 1.71469 +28 1.65 0.983812 1.91262 +29 1.71 1.02987 2.13516 +30 1.77 0.942753 2.35342 +31 1.83 1.0448 2.61198 +32 1.89 0.99438 2.87447 +33 1.95 0.979825 3.14979 +34 2.01 1.01897 3.45399 +35 2.07 0.99905 3.77033 +36 2.13 0.974411 4.097 +37 2.19 1.0727 4.47718 +38 2.25 0.968585 4.83951 +39 2.31 0.975001 5.22397 +40 2.37 1.03195 5.65228 +41 2.43 1.02085 6.09772 +42 2.49 1.02596 6.56776 +43 2.55 0.959694 7.02889 +44 2.61 1.06274 7.56384 +45 2.67 0.931563 8.05456 +46 2.73 0.995975 8.60307 +47 2.79 1.00878 9.18331 +48 2.85 0.976857 9.76961 +49 2.91 1.00652 10.3994 +50 2.97 1.00347 11.0535 +103050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.348371 0.00606277 +8 0.45 0.452189 0.0128388 +9 0.51 0.500446 0.0224679 +10 0.57 0.697561 0.0392297 +11 0.63 0.826294 0.0634807 +12 0.69 0.982731 0.0980742 +13 0.75 1.2092 0.148359 +14 0.81 1.22796 0.207917 +15 0.87 1.00075 0.263909 +16 0.93 1.12128 0.335592 +17 0.99 1.07322 0.413338 +18 1.05 0.932218 0.489301 +19 1.11 1.00651 0.580956 +20 1.17 1.07162 0.689372 +21 1.23 0.960075 0.796719 +22 1.29 0.884457 0.905492 +23 1.35 0.913513 1.02853 +24 1.41 0.990356 1.17404 +25 1.47 1.02283 1.33738 +26 1.53 0.991611 1.50892 +27 1.59 1.02128 1.69971 +28 1.65 0.969631 1.89479 +29 1.71 1.04307 2.12019 +30 1.77 0.944294 2.3388 +31 1.83 0.995799 2.58524 +32 1.89 1.07544 2.86912 +33 1.95 1.03821 3.16084 +34 2.01 0.949681 3.44437 +35 2.07 0.960755 3.74857 +36 2.13 0.992495 4.08131 +37 2.19 1.05358 4.45471 +38 2.25 0.995278 4.82703 +39 2.31 1.00485 5.22325 +40 2.37 0.981253 5.63053 +41 2.43 1.02657 6.07846 +42 2.49 0.987817 6.53103 +43 2.55 0.988641 7.00606 +44 2.61 0.971342 7.49501 +45 2.67 1.01213 8.02817 +46 2.73 1.00698 8.58274 +47 2.79 1.04164 9.18188 +48 2.85 0.935857 9.74358 +49 2.91 1.01906 10.3812 +50 2.97 0.99472 11.0296 +103100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.380042 0.00677603 +8 0.45 0.594986 0.0156919 +9 0.51 0.759937 0.0303138 +10 0.57 0.638194 0.0456491 +11 0.63 0.862748 0.07097 +12 0.69 0.921944 0.103424 +13 0.75 1.08914 0.148716 +14 0.81 1.07354 0.200785 +15 0.87 1.12186 0.263552 +16 0.93 1.17707 0.338802 +17 0.99 1.0683 0.416191 +18 1.05 1.12479 0.507846 +19 1.11 0.959509 0.595221 +20 1.17 0.937669 0.690086 +21 1.23 0.886713 0.78923 +22 1.29 0.968553 0.908345 +23 1.35 0.955879 1.03709 +24 1.41 0.966082 1.17903 +25 1.47 0.940204 1.32917 +26 1.53 1.08026 1.51605 +27 1.59 0.937283 1.69116 +28 1.65 1.03522 1.89943 +29 1.71 1.02987 2.12197 +30 1.77 1.01361 2.35663 +31 1.83 0.935273 2.58809 +32 1.89 1.0795 2.87304 +33 1.95 0.931595 3.13481 +34 2.01 1.01777 3.43866 +35 2.07 1.01257 3.75927 +36 2.13 0.976539 4.08666 +37 2.19 0.980118 4.43402 +38 2.25 0.980978 4.801 +39 2.31 1.02384 5.20471 +40 2.37 0.983831 5.61305 +41 2.43 1.00777 6.05278 +42 2.49 1.01973 6.51997 +43 2.55 0.996805 6.99893 +44 2.61 1.00677 7.50571 +45 2.67 1.01416 8.03994 +46 2.73 0.991442 8.58595 +47 2.79 0.979021 9.14907 +48 2.85 0.998248 9.74822 +49 2.91 1.00595 10.3777 +50 2.97 1.00019 11.0296 +103150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.285031 0.00570613 +8 0.45 0.309393 0.0103424 +9 0.51 0.685797 0.0235378 +10 0.57 0.742086 0.0413695 +11 0.63 0.850597 0.0663338 +12 0.69 0.962469 0.100214 +13 0.75 1.05484 0.14408 +14 0.81 1.22796 0.203638 +15 0.87 1.21747 0.271755 +16 0.93 1.22169 0.349857 +17 0.99 0.989527 0.421541 +18 1.05 0.940972 0.498217 +19 1.11 0.932095 0.583096 +20 1.17 0.920044 0.676177 +21 1.23 1.06852 0.795649 +22 1.29 0.965654 0.914408 +23 1.35 0.974414 1.04565 +24 1.41 0.997638 1.19223 +25 1.47 0.913405 1.33809 +26 1.53 0.979242 1.50749 +27 1.59 0.998368 1.69401 +28 1.65 1.01926 1.89907 +29 1.71 1.03317 2.12233 +30 1.77 1.04442 2.36412 +31 1.83 0.949684 2.59914 +32 1.89 1.01059 2.86591 +33 1.95 1.02425 3.15371 +34 2.01 1.03569 3.46291 +35 2.07 0.983282 3.77425 +36 2.13 0.995687 4.10806 +37 2.19 0.990181 4.45899 +38 2.25 0.960958 4.81847 +39 2.31 0.98495 5.20685 +40 2.37 0.983831 5.61519 +41 2.43 1.0184 6.05956 +42 2.49 1.02051 6.5271 +43 2.55 0.967859 6.99215 +44 2.61 0.993305 7.49215 +45 2.67 1.02296 8.03103 +46 2.73 0.990794 8.57668 +47 2.79 0.990801 9.14658 +48 2.85 1.003 9.74857 +49 2.91 1.04186 10.4005 +50 2.97 0.996909 11.0503 +103200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.353592 0.0032097 +7 0.39 0.253361 0.00606277 +8 0.45 0.42839 0.0124822 +9 0.51 0.611657 0.0242511 +10 0.57 0.667877 0.0402996 +11 0.63 0.862748 0.0656205 +12 0.69 1.07391 0.103424 +13 0.75 1.14917 0.151213 +14 0.81 1.11031 0.205064 +15 0.87 1.1346 0.268545 +16 0.93 1.03202 0.334522 +17 0.99 1.18645 0.420471 +18 1.05 1.0285 0.50428 +19 1.11 0.853767 0.582026 +20 1.17 0.930619 0.676177 +21 1.23 0.899472 0.776748 +22 1.29 0.988852 0.898359 +23 1.35 0.879091 1.01676 +24 1.41 0.961228 1.15799 +25 1.47 1.03177 1.32275 +26 1.53 1.04521 1.50357 +27 1.59 1.027 1.69544 +28 1.65 1.06004 1.9087 +29 1.71 1.01502 2.12803 +30 1.77 1.00899 2.36163 +31 1.83 0.952566 2.59736 +32 1.89 1.00249 2.86198 +33 1.95 0.973479 3.13552 +34 2.01 1.0118 3.43759 +35 2.07 0.97765 3.74715 +36 2.13 0.982922 4.07668 +37 2.19 0.989175 4.42725 +38 2.25 1.01911 4.80849 +39 2.31 0.965957 5.18937 +40 2.37 1.02078 5.61305 +41 2.43 0.988158 6.04422 +42 2.49 0.989374 6.4975 +43 2.55 1.02278 6.98894 +44 2.61 1.01102 7.49786 +45 2.67 0.999264 8.02425 +46 2.73 0.962948 8.55456 +47 2.79 0.994521 9.1266 +48 2.85 0.997654 9.72539 +49 2.91 1.043 10.378 +50 2.97 1.02208 11.0442 +103250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.263745 0.00142653 +6 0.33 0.132597 0.00249643 +7 0.39 0.380042 0.00677603 +8 0.45 0.452189 0.0135521 +9 0.51 0.463376 0.0224679 +10 0.57 0.875662 0.0435093 +11 0.63 0.862748 0.0688302 +12 0.69 0.921944 0.101284 +13 0.75 1.1406 0.148716 +14 0.81 1.03678 0.199001 +15 0.87 1.20472 0.266405 +16 0.93 0.992975 0.329886 +17 0.99 1.05353 0.406205 +18 1.05 0.997868 0.487518 +19 1.11 0.943844 0.573466 +20 1.17 0.941194 0.668688 +21 1.23 0.953695 0.775321 +22 1.29 0.962754 0.893723 +23 1.35 0.945288 1.02104 +24 1.41 1.04861 1.17511 +25 1.47 0.989335 1.3331 +26 1.53 1.0514 1.51498 +27 1.59 1.03082 1.70756 +28 1.65 1.03522 1.91583 +29 1.71 1.04968 2.14265 +30 1.77 0.988967 2.37161 +31 1.83 1.00156 2.61947 +32 1.89 0.960604 2.87304 +33 1.95 0.95698 3.14194 +34 2.01 0.962821 3.42939 +35 2.07 0.99004 3.74287 +36 2.13 1.03292 4.08916 +37 2.19 1.0566 4.46362 +38 2.25 1.02388 4.84665 +39 2.31 1.0356 5.25499 +40 2.37 0.980394 5.66191 +41 2.43 0.988158 6.09308 +42 2.49 0.983147 6.54351 +43 2.55 0.961179 7.00535 +44 2.61 1.02944 7.52354 +45 2.67 0.989786 8.04494 +46 2.73 0.985614 8.58773 +47 2.79 1.00568 9.16619 +48 2.85 0.970321 9.74857 +49 2.91 1.00937 10.3802 +50 2.97 1.01278 11.0403 +103300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.044199 0.000356633 +7 0.39 0.380042 0.00463623 +8 0.45 0.475989 0.0117689 +9 0.51 0.648727 0.0242511 +10 0.57 0.756928 0.0424394 +11 0.63 0.996413 0.0716833 +12 0.69 1.00299 0.10699 +13 0.75 1.08057 0.151926 +14 0.81 1.00736 0.200785 +15 0.87 1.1601 0.265692 +16 0.93 1.21054 0.343081 +17 0.99 1.07814 0.421184 +18 1.05 1.00224 0.502853 +19 1.11 1.01434 0.595221 +20 1.17 0.99407 0.695792 +21 1.23 0.889903 0.795292 +22 1.29 0.925055 0.909058 +23 1.35 0.998245 1.04351 +24 1.41 0.975792 1.18688 +25 1.47 1.00943 1.34807 +26 1.53 1.09263 1.53709 +27 1.59 0.925829 1.71006 +28 1.65 1.09549 1.93046 +29 1.71 1.00181 2.14693 +30 1.77 1.00437 2.37946 +31 1.83 0.942479 2.6127 +32 1.89 0.960604 2.86626 +33 1.95 1.04582 3.16013 +34 2.01 0.958043 3.44615 +35 2.07 0.991166 3.75999 +36 2.13 1.00739 4.09772 +37 2.19 0.932823 4.42832 +38 2.25 0.946658 4.78245 +39 2.31 1.03379 5.19009 +40 2.37 0.991564 5.60164 +41 2.43 1.03475 6.05314 +42 2.49 1.00572 6.51391 +43 2.55 1.02427 7.00606 +44 2.61 0.974176 7.49643 +45 2.67 0.995202 8.02068 +46 2.73 0.961006 8.54993 +47 2.79 1.05218 9.15514 +48 2.85 0.970321 9.73752 +49 2.91 1.01792 10.3745 +50 2.97 1.02536 11.0428 +103350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.397791 0.0042796 +7 0.39 0.221691 0.00677603 +8 0.45 0.356992 0.0121255 +9 0.51 0.630192 0.0242511 +10 0.57 0.712403 0.0413695 +11 0.63 0.984262 0.0702568 +12 0.69 0.932075 0.103067 +13 0.75 1.13202 0.150143 +14 0.81 1.0809 0.202568 +15 0.87 1.14735 0.266762 +16 0.93 1.29979 0.349857 +17 0.99 1.09291 0.42903 +18 1.05 0.993491 0.509986 +19 1.11 0.936011 0.595221 +20 1.17 0.849542 0.68117 +21 1.23 0.988781 0.791726 +22 1.29 1.03525 0.919044 +23 1.35 0.894978 1.03959 +24 1.41 1.02191 1.18973 +25 1.47 0.989335 1.34772 +26 1.53 1.04315 1.52817 +27 1.59 1.00219 1.71541 +28 1.65 0.992675 1.91512 +29 1.71 1.03482 2.13873 +30 1.77 0.984345 2.36662 +31 1.83 1.01597 2.61805 +32 1.89 0.960604 2.87161 +33 1.95 0.934134 3.13409 +34 2.01 1.02255 3.43937 +35 2.07 1.00356 3.75713 +36 2.13 0.981858 4.08631 +37 2.19 1.0254 4.44971 +38 2.25 1.02483 4.8331 +39 2.31 0.978619 5.21897 +40 2.37 1.01047 5.63837 +41 2.43 0.993062 6.07168 +42 2.49 0.992488 6.52639 +43 2.55 1.00274 7.0082 +44 2.61 1.0096 7.51641 +45 2.67 0.999264 8.0428 +46 2.73 1.00439 8.59593 +47 2.79 1.0218 9.18367 +48 2.85 1.02083 9.79636 +49 2.91 0.985436 10.413 +50 2.97 1.00183 11.066 +103400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.380042 0.00713267 +8 0.45 0.475989 0.0142653 +9 0.51 0.556052 0.0249643 +10 0.57 1.00924 0.0492154 +11 0.63 0.959959 0.0773894 +12 0.69 0.932075 0.1102 +13 0.75 1.08057 0.155136 +14 0.81 1.05148 0.206134 +15 0.87 1.08998 0.267118 +16 0.93 1.17149 0.342011 +17 0.99 1.10768 0.422254 +18 1.05 0.975984 0.501783 +19 1.11 0.998673 0.592725 +20 1.17 1.01875 0.695792 +21 1.23 1.08447 0.817047 +22 1.29 0.945354 0.93331 +23 1.35 0.924105 1.05777 +24 1.41 0.953946 1.19793 +25 1.47 0.993802 1.35663 +26 1.53 0.987488 1.52746 +27 1.59 1.006 1.71541 +28 1.65 0.983812 1.91334 +29 1.71 1.02492 2.13481 +30 1.77 1.02132 2.37126 +31 1.83 1.04047 2.62874 +32 1.89 0.956551 2.88124 +33 1.95 0.998863 3.16191 +34 2.01 0.99388 3.45863 +35 2.07 0.948366 3.75892 +36 2.13 0.998878 4.09379 +37 2.19 1.03144 4.45934 +38 2.25 0.927592 4.80635 +39 2.31 1.0347 5.21434 +40 2.37 0.986408 5.62375 +41 2.43 1.02657 6.07168 +42 2.49 0.992488 6.52639 +43 2.55 0.97825 6.99643 +44 2.61 1.01739 7.50856 +45 2.67 1.02296 8.04743 +46 2.73 1.02317 8.61091 +47 2.79 0.990181 9.18046 +48 2.85 0.963784 9.75892 +49 2.91 0.989426 10.378 +50 2.97 1.04123 11.0567 +103450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.190021 0.0021398 +8 0.45 0.475989 0.00927247 +9 0.51 0.630192 0.021398 +10 0.57 0.94987 0.0442225 +11 0.63 0.838445 0.0688302 +12 0.69 1.09418 0.107347 +13 0.75 1.02911 0.150143 +14 0.81 1.11031 0.203994 +15 0.87 1.02624 0.261412 +16 0.93 1.28306 0.343438 +17 0.99 1.0486 0.419401 +18 1.05 0.997868 0.500713 +19 1.11 1.04959 0.596291 +20 1.17 0.969395 0.694365 +21 1.23 1.00473 0.806705 +22 1.29 0.896057 0.916904 +23 1.35 1.00619 1.05243 +24 1.41 1.02677 1.20328 +25 1.47 1.05187 1.37126 +26 1.53 0.940072 1.53388 +27 1.59 0.965916 1.71434 +28 1.65 0.973176 1.91013 +29 1.71 0.991911 2.12447 +30 1.77 1.01361 2.35913 +31 1.83 1.03183 2.61448 +32 1.89 0.99438 2.87696 +33 1.95 1.02932 3.16619 +34 2.01 1.01299 3.46862 +35 2.07 1.00919 3.78816 +36 2.13 0.973348 4.11448 +37 2.19 0.945904 4.44971 +38 2.25 0.995278 4.82204 +39 2.31 0.989473 5.2122 +40 2.37 1.02593 5.63802 +41 2.43 1.00369 6.07596 +42 2.49 1.02207 6.54422 +43 2.55 1.00868 7.02889 +44 2.61 0.989054 7.52675 +45 2.67 1.01619 8.06205 +46 2.73 1.01022 8.6184 +47 2.79 0.97406 9.17867 +48 2.85 1.01191 9.78602 +49 2.91 1.00538 10.4151 +50 2.97 0.989249 11.0599 +103500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.348371 0.00570613 +8 0.45 0.618786 0.0149786 +9 0.51 0.556052 0.0256776 +10 0.57 0.771769 0.0442225 +11 0.63 0.874899 0.0699001 +12 0.69 0.861156 0.100214 +13 0.75 1.15775 0.148359 +14 0.81 1.25001 0.208987 +15 0.87 1.09636 0.270328 +16 0.93 1.09339 0.340228 +17 0.99 1.15199 0.42368 +18 1.05 1.10728 0.513909 +19 1.11 0.928178 0.598431 +20 1.17 0.856592 0.685093 +21 1.23 0.969643 0.793509 +22 1.29 0.933755 0.908345 +23 1.35 0.94264 1.03531 +24 1.41 1.03405 1.18723 +25 1.47 1.0474 1.35449 +26 1.53 1.03903 1.53424 +27 1.59 1.04036 1.7286 +28 1.65 1.00331 1.93046 +29 1.71 1.04307 2.15585 +30 1.77 0.935051 2.37233 +31 1.83 1.00012 2.61983 +32 1.89 0.960604 2.8734 +33 1.95 0.976018 3.14765 +34 2.01 1.03808 3.45756 +35 2.07 0.996798 3.77318 +36 2.13 1.01483 4.11341 +37 2.19 0.951942 4.45078 +38 2.25 0.997185 4.82382 +39 2.31 1.04917 5.23752 +40 2.37 1.02851 5.66441 +41 2.43 0.97835 6.0913 +42 2.49 0.99638 6.54779 +43 2.55 1.00645 7.03138 +44 2.61 0.992597 7.53103 +45 2.67 1.0189 8.06776 +46 2.73 1.02382 8.6316 +47 2.79 0.985841 9.19864 +48 2.85 0.987552 9.79137 +49 2.91 0.995695 10.4144 +50 2.97 0.992532 11.0613 +103550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.132597 0.00249643 +7 0.39 0.285031 0.00570613 +8 0.45 0.42839 0.0121255 +9 0.51 0.611657 0.0238944 +10 0.57 0.742086 0.0417261 +11 0.63 1.03287 0.0720399 +12 0.69 1.11444 0.11127 +13 0.75 1.04626 0.154779 +14 0.81 1.05148 0.205777 +15 0.87 1.04537 0.264265 +16 0.93 0.998553 0.328103 +17 0.99 1.14706 0.411198 +18 1.05 1.07227 0.498573 +19 1.11 0.955593 0.585592 +20 1.17 0.941194 0.680813 +21 1.23 1.01749 0.794579 +22 1.29 0.985953 0.915835 +23 1.35 0.992949 1.04957 +24 1.41 0.973364 1.19258 +25 1.47 1.05633 1.36127 +26 1.53 1.05346 1.54351 +27 1.59 0.969734 1.72468 +28 1.65 1.04763 1.93545 +29 1.71 0.975406 2.14622 +30 1.77 0.99975 2.37767 +31 1.83 0.969859 2.61769 +32 1.89 1.02816 2.88909 +33 1.95 0.989979 3.16726 +34 2.01 1.02255 3.47254 +35 2.07 0.985534 3.78459 +36 2.13 0.972284 4.11056 +37 2.19 0.985149 4.4597 +38 2.25 1.01339 4.8388 +39 2.31 1.00666 5.23573 +40 2.37 0.922825 5.61876 +41 2.43 1.01595 6.06205 +42 2.49 1.02674 6.53245 +43 2.55 0.962663 6.99501 +44 2.61 1.0011 7.49893 +45 2.67 0.98437 8.01748 +46 2.73 0.970072 8.55171 +47 2.79 1.01746 9.13695 +48 2.85 1.02142 9.75 +49 2.91 1.00595 10.3795 +50 2.97 1.03302 11.0528 +103600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.475052 0.00713267 +8 0.45 0.475989 0.0142653 +9 0.51 0.722867 0.028174 +10 0.57 0.756928 0.0463623 +11 0.63 0.70478 0.0670471 +12 0.69 1.08404 0.105207 +13 0.75 1.10629 0.151213 +14 0.81 1.06619 0.202924 +15 0.87 1.1856 0.269258 +16 0.93 1.24401 0.348787 +17 0.99 1.05353 0.425107 +18 1.05 1.04163 0.509986 +19 1.11 0.936011 0.595221 +20 1.17 0.955294 0.691869 +21 1.23 0.956885 0.798859 +22 1.29 0.933755 0.913695 +23 1.35 1.00619 1.04922 +24 1.41 1.04376 1.20257 +25 1.47 1.0139 1.36448 +26 1.53 1.01223 1.53959 +27 1.59 1.04609 1.73502 +28 1.65 0.997993 1.93581 +29 1.71 0.963853 2.14408 +30 1.77 1.01207 2.37839 +31 1.83 0.987153 2.62268 +32 1.89 1.00924 2.88909 +33 1.95 0.95571 3.15763 +34 2.01 1.01777 3.46148 +35 2.07 1.0396 3.79066 +36 2.13 0.975475 4.11769 +37 2.19 0.988168 4.4679 +38 2.25 0.973352 4.83203 +39 2.31 1.01389 5.23181 +40 2.37 1.0646 5.67368 +41 2.43 0.997149 6.10877 +42 2.49 0.959794 6.5485 +43 2.55 0.941881 7.00107 +44 2.61 0.974176 7.49144 +45 2.67 1.01484 8.02603 +46 2.73 0.996622 8.57489 +47 2.79 1.02986 9.16726 +48 2.85 0.985175 9.75856 +49 2.91 1.02077 10.3973 +50 2.97 1.0177 11.0606 +103650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.411712 0.00713267 +8 0.45 0.523588 0.0149786 +9 0.51 0.481911 0.0242511 +10 0.57 0.771769 0.042796 +11 0.63 0.984262 0.0716833 +12 0.69 1.18536 0.113409 +13 0.75 0.977655 0.154066 +14 0.81 1.14707 0.2097 +15 0.87 1.07724 0.269971 +16 0.93 1.09339 0.339872 +17 0.99 1.0043 0.412625 +18 1.05 1.06789 0.499643 +19 1.11 0.928178 0.584165 +20 1.17 0.941194 0.679387 +21 1.23 1.0143 0.792796 +22 1.29 0.849659 0.89729 +23 1.35 0.963823 1.0271 +24 1.41 0.946664 1.16619 +25 1.47 1.11886 1.34486 +26 1.53 1.01635 1.52068 +27 1.59 0.969734 1.70185 +28 1.65 1.02104 1.90728 +29 1.71 1.04803 2.13374 +30 1.77 0.978184 2.3602 +31 1.83 0.981388 2.60307 +32 1.89 1.01194 2.87019 +33 1.95 0.98744 3.14765 +34 2.01 0.987907 3.44258 +35 2.07 0.994545 3.75749 +36 2.13 1.03185 4.10342 +37 2.19 0.992193 4.45506 +38 2.25 1.02102 4.83702 +39 2.31 1.0157 5.23752 +40 2.37 1.00789 5.65585 +41 2.43 0.979985 6.08345 +42 2.49 0.934106 6.51141 +43 2.55 1.01759 7.00036 +44 2.61 1.02802 7.51783 +45 2.67 1.01348 8.05171 +46 2.73 1.04519 8.62732 +47 2.79 1.00444 9.20506 +48 2.85 0.98577 9.79672 +49 2.91 0.991705 10.4173 +50 2.97 1.01496 11.0788 +103700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.044199 0.0010699 +7 0.39 0.348371 0.00499287 +8 0.45 0.523588 0.0128388 +9 0.51 0.722867 0.0267475 +10 0.57 0.623352 0.0417261 +11 0.63 1.00856 0.0713267 +12 0.69 0.982731 0.10592 +13 0.75 1.24351 0.157632 +14 0.81 0.977953 0.205064 +15 0.87 1.08998 0.266049 +16 0.93 1.08781 0.335592 +17 0.99 1.15199 0.419044 +18 1.05 1.05476 0.504993 +19 1.11 0.826353 0.580243 +20 1.17 1.00112 0.681526 +21 1.23 0.991971 0.792439 +22 1.29 0.962754 0.910842 +23 1.35 0.992949 1.04458 +24 1.41 1.03405 1.1965 +25 1.47 0.991569 1.35485 +26 1.53 1.03903 1.53459 +27 1.59 1.07282 1.73502 +28 1.65 0.969631 1.9301 +29 1.71 0.962203 2.13802 +30 1.77 0.936592 2.35485 +31 1.83 1.00733 2.60414 +32 1.89 0.993029 2.86626 +33 1.95 1.02171 3.15335 +34 2.01 1.00583 3.45364 +35 2.07 0.973145 3.76177 +36 2.13 0.980794 4.09058 +37 2.19 0.960999 4.43117 +38 2.25 1.01816 4.81205 +39 2.31 1.00937 5.21006 +40 2.37 1.00445 5.62696 +41 2.43 0.997149 6.06205 +42 2.49 0.987039 6.51427 +43 2.55 1.00274 6.99608 +44 2.61 0.971342 7.48502 +45 2.67 1.004 8.01391 +46 2.73 0.972014 8.54922 +47 2.79 1.01746 9.13445 +48 2.85 1.003 9.73645 +49 2.91 0.980307 10.3499 +50 2.97 1.00074 11.0021 +103750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.044199 0.000713267 +7 0.39 0.221691 0.0032097 +8 0.45 0.404591 0.00927247 +9 0.51 0.518981 0.0192582 +10 0.57 0.771769 0.0378031 +11 0.63 1.16653 0.0720399 +12 0.69 1.09418 0.110556 +13 0.75 1.04626 0.154066 +14 0.81 1.06619 0.205777 +15 0.87 1.1856 0.272111 +16 0.93 1.25516 0.352354 +17 0.99 1.03876 0.427603 +18 1.05 1.00224 0.509272 +19 1.11 0.869433 0.588445 +20 1.17 0.96587 0.686163 +21 1.23 1.05257 0.803852 +22 1.29 0.933755 0.918688 +23 1.35 1.00089 1.0535 +24 1.41 0.961228 1.19472 +25 1.47 0.998268 1.35414 +26 1.53 1.01223 1.52924 +27 1.59 1.00219 1.71648 +28 1.65 1.00154 1.91797 +29 1.71 1.03152 2.14087 +30 1.77 1.05058 2.38409 +31 1.83 1.03759 2.64087 +32 1.89 1.0214 2.91049 +33 1.95 0.974748 3.18438 +34 2.01 0.980739 3.47718 +35 2.07 0.992292 3.79137 +36 2.13 1.01803 4.13267 +37 2.19 0.983137 4.4811 +38 2.25 1.0029 4.85628 +39 2.31 0.996708 5.24929 +40 2.37 1.02422 5.67439 +41 2.43 0.984072 6.10378 +42 2.49 0.99171 6.55813 +43 2.55 1.01536 7.04601 +44 2.61 1.01669 7.55777 +45 2.67 1.02364 8.097 +46 2.73 0.993385 8.64408 +47 2.79 0.998241 9.21826 +48 2.85 0.986958 9.81063 +49 2.91 1.0088 10.4419 +50 2.97 1.02536 11.1102 +103800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.380042 0.00677603 +8 0.45 0.42839 0.0131954 +9 0.51 0.593122 0.0246077 +10 0.57 0.756928 0.042796 +11 0.63 0.78984 0.0659772 +12 0.69 0.982731 0.100571 +13 0.75 1.19205 0.150143 +14 0.81 1.19119 0.207917 +15 0.87 1.07724 0.268188 +16 0.93 1.22727 0.346648 +17 0.99 1.08306 0.425107 +18 1.05 0.914712 0.499643 +19 1.11 0.889015 0.580599 +20 1.17 0.927094 0.674394 +21 1.23 1.00473 0.786733 +22 1.29 0.939555 0.902282 +23 1.35 0.966471 1.03245 +24 1.41 1.02434 1.18295 +25 1.47 0.955837 1.33559 +26 1.53 1.07201 1.52104 +27 1.59 1.01364 1.71041 +28 1.65 1.02458 1.91655 +29 1.71 0.927544 2.11698 +30 1.77 1.00129 2.34879 +31 1.83 1.07506 2.61484 +32 1.89 0.987625 2.87553 +33 1.95 1.05598 3.17225 +34 2.01 1.04405 3.48395 +35 2.07 0.972018 3.79173 +36 2.13 0.982922 4.12126 +37 2.19 0.972068 4.46576 +38 2.25 1.0172 4.84629 +39 2.31 0.998517 5.24001 +40 2.37 1.03453 5.6694 +41 2.43 0.975898 6.09522 +42 2.49 0.995602 6.55136 +43 2.55 1.00794 7.03566 +44 2.61 0.984095 7.53103 +45 2.67 0.987755 8.05136 +46 2.73 1.02058 8.61341 +47 2.79 1.02676 9.20399 +48 2.85 0.977451 9.79066 +49 2.91 1.01792 10.4276 +50 2.97 0.985966 11.0703 +103850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.132597 0.0010699 +7 0.39 0.221691 0.00356633 +8 0.45 0.261794 0.0074893 +9 0.51 0.667262 0.0203281 +10 0.57 0.712403 0.0374465 +11 0.63 0.911353 0.064194 +12 0.69 0.962469 0.0980742 +13 0.75 1.1749 0.146933 +14 0.81 1.06619 0.198645 +15 0.87 1.06449 0.258203 +16 0.93 1.17707 0.333452 +17 0.99 0.955066 0.402639 +18 1.05 1.14667 0.496077 +19 1.11 1.02609 0.589515 +20 1.17 1.01875 0.692582 +21 1.23 0.940937 0.797789 +22 1.29 0.922156 0.911198 +23 1.35 0.995597 1.04529 +24 1.41 0.927245 1.18153 +25 1.47 0.95137 1.33345 +26 1.53 0.997796 1.50606 +27 1.59 1.048 1.70185 +28 1.65 1.09549 1.92225 +29 1.71 1.02162 2.14301 +30 1.77 0.998209 2.37411 +31 1.83 0.958331 2.61127 +32 1.89 1.02005 2.88053 +33 1.95 1.03059 3.17011 +34 2.01 1.00105 3.46897 +35 2.07 1.02383 3.79315 +36 2.13 0.982922 4.12268 +37 2.19 1.00729 4.47967 +38 2.25 0.961912 4.83951 +39 2.31 0.964148 5.21969 +40 2.37 1.02078 5.64337 +41 2.43 1.00777 6.0831 +42 2.49 1.02051 6.55064 +43 2.55 0.97157 7.01748 +44 2.61 1.04432 7.54315 +45 2.67 1.04395 8.09308 +46 2.73 0.973957 8.62946 +47 2.79 1.00134 9.20542 +48 2.85 0.979828 9.79351 +49 2.91 1.01564 10.429 +50 2.97 1.01278 11.0892 +103900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.132597 0.0021398 +7 0.39 0.411712 0.00677603 +8 0.45 0.475989 0.0139087 +9 0.51 0.630192 0.0260342 +10 0.57 0.623352 0.0410128 +11 0.63 0.887051 0.0670471 +12 0.69 1.19549 0.10913 +13 0.75 1.08914 0.154422 +14 0.81 1.22796 0.21398 +15 0.87 1.08998 0.274964 +16 0.93 1.26632 0.35592 +17 0.99 0.955066 0.425107 +18 1.05 0.892829 0.49786 +19 1.11 1.04959 0.593438 +20 1.17 0.951769 0.689729 +21 1.23 0.99516 0.800999 +22 1.29 0.872858 0.908345 +23 1.35 0.97971 1.0403 +24 1.41 1.04618 1.19401 +25 1.47 1.03177 1.35877 +26 1.53 0.95038 1.52318 +27 1.59 1.03082 1.71576 +28 1.65 1.00154 1.91726 +29 1.71 1.02822 2.13944 +30 1.77 0.972022 2.36448 +31 1.83 0.995799 2.61091 +32 1.89 1.02681 2.88195 +33 1.95 0.960787 3.15193 +34 2.01 1.02016 3.45649 +35 2.07 1.02608 3.78138 +36 2.13 0.994623 4.11484 +37 2.19 0.972068 4.45934 +38 2.25 0.970492 4.8224 +39 2.31 1.01027 5.22076 +40 2.37 1.00187 5.63659 +41 2.43 1.00941 6.07703 +42 2.49 1.02207 6.54529 +43 2.55 0.990868 7.0214 +44 2.61 1.02094 7.53531 +45 2.67 1.03718 8.08167 +46 2.73 0.999213 8.63195 +47 2.79 0.97096 9.19044 +48 2.85 1.00478 9.79351 +49 2.91 0.997975 10.418 +50 2.97 1.00621 11.0738 +103950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.253361 0.0053495 +8 0.45 0.404591 0.0114123 +9 0.51 0.518981 0.021398 +10 0.57 0.742086 0.0392297 +11 0.63 1.04502 0.0699001 +12 0.69 1.10431 0.108773 +13 0.75 1.10629 0.154779 +14 0.81 1.08825 0.207561 +15 0.87 1.17285 0.273181 +16 0.93 1.16033 0.347361 +17 0.99 1.0683 0.42475 +18 1.05 0.980361 0.504636 +19 1.11 0.99084 0.594864 +20 1.17 0.884793 0.684379 +21 1.23 0.899472 0.78495 +22 1.29 0.936655 0.900143 +23 1.35 1.04061 1.0403 +24 1.41 1.05832 1.19579 +25 1.47 1.00943 1.35699 +26 1.53 0.970995 1.52496 +27 1.59 0.956372 1.70364 +28 1.65 1.0104 1.90692 +29 1.71 0.98861 2.12054 +30 1.77 1.00899 2.35414 +31 1.83 1.02606 2.60806 +32 1.89 0.979519 2.86662 +33 1.95 0.979825 3.14194 +34 2.01 0.961626 3.42903 +35 2.07 0.986661 3.74144 +36 2.13 1.0276 4.08595 +37 2.19 1.04251 4.45542 +38 2.25 1.00576 4.83167 +39 2.31 1.00213 5.22682 +40 2.37 0.986408 5.63623 +41 2.43 1.01431 6.07882 +42 2.49 0.990931 6.53281 +43 2.55 1.00497 7.01569 +44 2.61 0.981261 7.50963 +45 2.67 1.04124 8.05813 +46 2.73 1.01799 8.61876 +47 2.79 0.946159 9.16298 +48 2.85 1.00241 9.76462 +49 2.91 1.01507 10.3998 +50 2.97 0.972834 11.0339 +104000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.353592 0.00392297 +7 0.39 0.253361 0.00677603 +8 0.45 0.475989 0.0139087 +9 0.51 0.593122 0.025321 +10 0.57 0.712403 0.0424394 +11 0.63 0.826294 0.0666904 +12 0.69 1.07391 0.104494 +13 0.75 1.09772 0.150143 +14 0.81 1.10295 0.203638 +15 0.87 1.12186 0.266405 +16 0.93 1.17149 0.341298 +17 0.99 1.14214 0.424037 +18 1.05 0.901582 0.497504 +19 1.11 0.979091 0.586662 +20 1.17 0.948244 0.682596 +21 1.23 0.940937 0.787803 +22 1.29 1.04395 0.916191 +23 1.35 0.913513 1.03923 +24 1.41 0.946664 1.17832 +25 1.47 0.933504 1.32739 +26 1.53 0.999857 1.50036 +27 1.59 1.027 1.69223 +28 1.65 0.976721 1.88873 +29 1.71 1.03647 2.1127 +30 1.77 1.01824 2.34843 +31 1.83 1.07362 2.61412 +32 1.89 0.99438 2.8766 +33 1.95 0.95698 3.14551 +34 2.01 0.964015 3.43331 +35 2.07 0.948366 3.73359 +36 2.13 1.01271 4.07311 +37 2.19 1.03144 4.43866 +38 2.25 0.998138 4.81205 +39 2.31 1.03289 5.21933 +40 2.37 0.968364 5.62126 +41 2.43 1.02167 6.06705 +42 2.49 1.03452 6.54101 +43 2.55 1.01388 7.02817 +44 2.61 0.955755 7.50927 +45 2.67 0.994525 8.03317 +46 2.73 0.968129 8.56633 +47 2.79 1.00692 9.14551 +48 2.85 1.0339 9.76605 +49 2.91 0.986006 10.383 +50 2.97 0.997456 11.0332 +104050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.316701 0.00606277 +8 0.45 0.404591 0.0121255 +9 0.51 0.556052 0.0228245 +10 0.57 0.771769 0.0413695 +11 0.63 0.97211 0.0699001 +12 0.69 0.8105 0.0984308 +13 0.75 1.08057 0.143367 +14 0.81 1.38237 0.210414 +15 0.87 1.10911 0.272468 +16 0.93 1.07665 0.341298 +17 0.99 1.02891 0.415835 +18 1.05 1.06789 0.502853 +19 1.11 0.943844 0.588802 +20 1.17 0.983495 0.688302 +21 1.23 0.905851 0.789586 +22 1.29 0.948254 0.906205 +23 1.35 0.926753 1.03103 +24 1.41 0.912681 1.16512 +25 1.47 0.962536 1.31883 +26 1.53 1.03284 1.4975 +27 1.59 1.07091 1.69757 +28 1.65 1.0494 1.9087 +29 1.71 1.00346 2.12553 +30 1.77 1.02748 2.36341 +31 1.83 0.988594 2.60806 +32 1.89 0.979519 2.86662 +33 1.95 1.00394 3.14872 +34 2.01 0.995074 3.44579 +35 2.07 1.02045 3.7689 +36 2.13 0.999942 4.10414 +37 2.19 0.984143 4.45292 +38 2.25 0.968585 4.81526 +39 2.31 0.98495 5.20364 +40 2.37 1.04398 5.63695 +41 2.43 1.03883 6.09023 +42 2.49 0.965243 6.53245 +43 2.55 0.980477 7.00357 +44 2.61 1.0096 7.51177 +45 2.67 0.959321 8.01712 +46 2.73 1.03548 8.58738 +47 2.79 0.982741 9.15264 +48 2.85 1.06064 9.78923 +49 2.91 1.00424 10.4176 +50 2.97 0.982683 11.0581 +104100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.285031 0.00499287 +8 0.45 0.309393 0.0096291 +9 0.51 0.778472 0.0246077 +10 0.57 0.667877 0.0406562 +11 0.63 0.753385 0.0627675 +12 0.69 0.962469 0.0966476 +13 0.75 1.04626 0.140157 +14 0.81 1.00736 0.189016 +15 0.87 1.30671 0.262126 +16 0.93 1.05434 0.329529 +17 0.99 1.0683 0.406919 +18 1.05 1.0285 0.490728 +19 1.11 1.08483 0.589515 +20 1.17 0.912993 0.681883 +21 1.23 0.867576 0.778887 +22 1.29 0.933755 0.893723 +23 1.35 0.985006 1.02639 +24 1.41 1.09716 1.18759 +25 1.47 1.00274 1.34772 +26 1.53 0.991611 1.51926 +27 1.59 0.996459 1.70542 +28 1.65 0.98913 1.90442 +29 1.71 0.995211 2.11947 +30 1.77 1.01361 2.35414 +31 1.83 0.99724 2.60093 +32 1.89 1.0768 2.88516 +33 1.95 1.00013 3.16619 +34 2.01 1.06914 3.48538 +35 2.07 0.951745 3.78673 +36 2.13 0.995687 4.12054 +37 2.19 0.97408 4.46576 +38 2.25 0.976212 4.83096 +39 2.31 1.00937 5.22896 +40 2.37 1.00016 5.64408 +41 2.43 0.977533 6.07061 +42 2.49 0.973806 6.51676 +43 2.55 1.01165 7.00285 +44 2.61 1.02094 7.51676 +45 2.67 1.01957 8.05385 +46 2.73 0.986261 8.597 +47 2.79 0.992661 9.16797 +48 2.85 0.9929 9.76391 +49 2.91 0.957509 10.3631 +50 2.97 1.02974 11.0342 +104150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.329681 0.0021398 +6 0.33 0.220995 0.00392297 +7 0.39 0.253361 0.00677603 +8 0.45 0.571187 0.0153352 +9 0.51 0.574587 0.0263909 +10 0.57 0.816295 0.0460057 +11 0.63 0.801991 0.0695435 +12 0.69 1.11444 0.108773 +13 0.75 1.08057 0.153709 +14 0.81 1.19854 0.21184 +15 0.87 1.23022 0.28067 +16 0.93 1.09897 0.350927 +17 0.99 1.08306 0.429387 +18 1.05 0.897205 0.502496 +19 1.11 0.979091 0.591655 +20 1.17 0.821342 0.67475 +21 1.23 1.0143 0.78816 +22 1.29 0.988852 0.909772 +23 1.35 1.05385 1.05171 +24 1.41 1.04618 1.20542 +25 1.47 1.02953 1.36983 +26 1.53 0.970995 1.5378 +27 1.59 0.952554 1.71576 +28 1.65 1.03876 1.92475 +29 1.71 0.948999 2.12981 +30 1.77 0.99975 2.36127 +31 1.83 1.03039 2.61626 +32 1.89 1.04707 2.89265 +33 1.95 0.981094 3.16833 +34 2.01 1.04883 3.48146 +35 2.07 0.958503 3.78495 +36 2.13 0.968029 4.10949 +37 2.19 0.989175 4.46006 +38 2.25 1.00004 4.83417 +39 2.31 0.974097 5.21826 +40 2.37 0.982972 5.62625 +41 2.43 0.991428 6.05884 +42 2.49 1.03297 6.5321 +43 2.55 0.983445 7.00464 +44 2.61 1.00889 7.51248 +45 2.67 0.98437 8.03103 +46 2.73 0.990794 8.57668 +47 2.79 1.00878 9.15692 +48 2.85 1.02736 9.77354 +49 2.91 0.969478 10.3802 +50 2.97 1.01113 11.0392 +104200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.380042 0.00606277 +8 0.45 0.452189 0.0128388 +9 0.51 0.685797 0.0260342 +10 0.57 0.682719 0.0424394 +11 0.63 0.959959 0.0706134 +12 0.69 1.04352 0.107347 +13 0.75 1.08057 0.152282 +14 0.81 1.13237 0.207204 +15 0.87 1.1601 0.272111 +16 0.93 1.08781 0.341655 +17 0.99 1.12737 0.423324 +18 1.05 0.997868 0.504636 +19 1.11 0.967342 0.592725 +20 1.17 0.941194 0.687946 +21 1.23 0.921799 0.791013 +22 1.29 0.959854 0.909058 +23 1.35 0.971766 1.03994 +24 1.41 0.944236 1.17867 +25 1.47 0.982636 1.33559 +26 1.53 1.01429 1.51106 +27 1.59 1.01364 1.70043 +28 1.65 1.08485 1.91869 +29 1.71 1.01832 2.13873 +30 1.77 1.02748 2.3766 +31 1.83 0.994358 2.62268 +32 1.89 0.99438 2.88516 +33 1.95 0.977287 3.15977 +34 2.01 0.97835 3.45185 +35 2.07 1.00243 3.76926 +36 2.13 0.995687 4.10307 +37 2.19 1.01634 4.46327 +38 2.25 0.981932 4.8306 +39 2.31 1.00213 5.22575 +40 2.37 0.987268 5.63552 +41 2.43 1.04782 6.09272 +42 2.49 1.02907 6.56419 +43 2.55 1.0072 7.04815 +44 2.61 1.00181 7.55243 +45 2.67 1.0013 8.07989 +46 2.73 0.976547 8.61769 +47 2.79 0.983981 9.18367 +48 2.85 1.03806 9.8067 +49 2.91 0.991705 10.4272 +50 2.97 0.996362 11.0767 +104250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.158351 0.00392297 +8 0.45 0.452189 0.010699 +9 0.51 0.685797 0.0238944 +10 0.57 0.756928 0.0420827 +11 0.63 0.814142 0.0659772 +12 0.69 1.05365 0.103067 +13 0.75 1.15775 0.151213 +14 0.81 1.18384 0.208631 +15 0.87 1.09636 0.269971 +16 0.93 1.16591 0.344508 +17 0.99 0.935374 0.412268 +18 1.05 1.011 0.49465 +19 1.11 0.892931 0.575963 +20 1.17 0.846017 0.661555 +21 1.23 0.944126 0.767118 +22 1.29 0.930855 0.881598 +23 1.35 1.02208 1.01926 +24 1.41 0.985501 1.16405 +25 1.47 1.0273 1.3281 +26 1.53 1.07614 1.51427 +27 1.59 0.971643 1.69579 +28 1.65 1.03345 1.90371 +29 1.71 0.957251 2.11056 +30 1.77 1.00591 2.34344 +31 1.83 0.98427 2.58702 +32 1.89 1.02545 2.8577 +33 1.95 1.0014 3.13909 +34 2.01 0.996269 3.43652 +35 2.07 0.948366 3.7368 +36 2.13 0.982922 4.06633 +37 2.19 0.972068 4.41084 +38 2.25 1.0601 4.80742 +39 2.31 0.998517 5.20114 +40 2.37 1.0139 5.62197 +41 2.43 1.00287 6.05956 +42 2.49 1.00961 6.52211 +43 2.55 1.01462 7.00963 +44 2.61 1.01243 7.51926 +45 2.67 1.06493 8.08024 +46 2.73 0.972014 8.61555 +47 2.79 0.985841 9.1826 +48 2.85 1.00657 9.78673 +49 2.91 0.94155 10.3759 +50 2.97 1.03138 11.0481 +104300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.380042 0.00677603 +8 0.45 0.571187 0.0153352 +9 0.51 0.611657 0.0271041 +10 0.57 0.905345 0.0488588 +11 0.63 0.887051 0.074893 +12 0.69 1.04352 0.111626 +13 0.75 1.07199 0.156205 +14 0.81 1.04413 0.206847 +15 0.87 1.11548 0.269258 +16 0.93 1.04876 0.336305 +17 0.99 1.13229 0.418331 +18 1.05 1.05914 0.504636 +19 1.11 1.02609 0.598074 +20 1.17 0.941194 0.693295 +21 1.23 0.864386 0.789943 +22 1.29 0.962754 0.908345 +23 1.35 0.947936 1.03602 +24 1.41 0.990356 1.18153 +25 1.47 0.975936 1.33738 +26 1.53 1.03903 1.51712 +27 1.59 0.975461 1.69936 +28 1.65 0.978494 1.89622 +29 1.71 1.02162 2.11698 +30 1.77 1.01978 2.35307 +31 1.83 1.02462 2.60663 +32 1.89 0.999785 2.87054 +33 1.95 1.00267 3.15228 +34 2.01 0.985518 3.4465 +35 2.07 1.01707 3.76854 +36 2.13 0.955264 4.0888 +37 2.19 0.972068 4.43331 +38 2.25 1.04771 4.82525 +39 2.31 0.978619 5.21113 +40 2.37 0.988127 5.62126 +41 2.43 0.996332 6.05599 +42 2.49 0.966022 6.49857 +43 2.55 0.996805 6.97753 +44 2.61 1.05069 7.50642 +45 2.67 0.997233 8.03174 +46 2.73 1.01281 8.58951 +47 2.79 1.03234 9.18331 +48 2.85 1.00835 9.78852 +49 2.91 1.01279 10.4223 +50 2.97 0.994173 11.0703 +104350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.263745 0.00142653 +6 0.33 0.176796 0.00285307 +7 0.39 0.253361 0.00570613 +8 0.45 0.547387 0.0139087 +9 0.51 0.574587 0.0249643 +10 0.57 0.845978 0.0452924 +11 0.63 0.801991 0.0688302 +12 0.69 1.03339 0.105207 +13 0.75 1.1749 0.154066 +14 0.81 1.16913 0.21077 +15 0.87 1.1346 0.274251 +16 0.93 1.13802 0.347004 +17 0.99 1.0043 0.419757 +18 1.05 1.03288 0.503923 +19 1.11 0.90468 0.586305 +20 1.17 0.874218 0.67475 +21 1.23 0.988781 0.785307 +22 1.29 1.06715 0.916548 +23 1.35 1.03532 1.05599 +24 1.41 0.997638 1.20257 +25 1.47 0.973703 1.35806 +26 1.53 0.962749 1.52461 +27 1.59 1.01173 1.71362 +28 1.65 1.00508 1.91583 +29 1.71 1.02327 2.13695 +30 1.77 0.961239 2.35949 +31 1.83 0.962654 2.59772 +32 1.89 1.00384 2.8627 +33 1.95 1.01663 3.14836 +34 2.01 0.999852 3.44686 +35 2.07 1.03509 3.77461 +36 2.13 1.02547 4.1184 +37 2.19 0.985149 4.46755 +38 2.25 1.00386 4.84308 +39 2.31 1.00756 5.24037 +40 2.37 1.0414 5.67261 +41 2.43 0.97835 6.0995 +42 2.49 1.05165 6.58131 +43 2.55 1.02278 7.07275 +44 2.61 0.979135 7.56562 +45 2.67 0.93224 8.0567 +46 2.73 0.984966 8.59914 +47 2.79 1.00692 9.17832 +48 2.85 1.02142 9.79137 +49 2.91 1.03673 10.4401 +50 2.97 1.00019 11.092 +104400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.309393 0.00356633 +7 0.39 0.285031 0.00677603 +8 0.45 0.523588 0.014622 +9 0.51 0.648727 0.0271041 +10 0.57 0.638194 0.0424394 +11 0.63 0.765537 0.0649073 +12 0.69 1.09418 0.103424 +13 0.75 0.969079 0.143723 +14 0.81 1.13237 0.198645 +15 0.87 1.20472 0.266049 +16 0.93 1.13244 0.338445 +17 0.99 1.16676 0.422967 +18 1.05 0.945348 0.5 +19 1.11 0.998673 0.590942 +20 1.17 0.97292 0.689372 +21 1.23 0.944126 0.794936 +22 1.29 0.965654 0.913695 +23 1.35 0.947936 1.04137 +24 1.41 1.03162 1.19294 +25 1.47 1.01167 1.35449 +26 1.53 1.05758 1.53745 +27 1.59 0.874288 1.70078 +28 1.65 0.971403 1.89622 +29 1.71 1.03317 2.11947 +30 1.77 1.0244 2.35663 +31 1.83 1.02318 2.60984 +32 1.89 0.990327 2.87126 +33 1.95 1.04582 3.16512 +34 2.01 1.07272 3.48538 +35 2.07 0.993419 3.79993 +36 2.13 0.951008 4.11876 +37 2.19 0.986156 4.46826 +38 2.25 1.00958 4.84593 +39 2.31 0.93611 5.21505 +40 2.37 0.975238 5.61983 +41 2.43 1.01023 6.06063 +42 2.49 1.0244 6.52996 +43 2.55 0.98493 7.00321 +44 2.61 0.99118 7.50214 +45 2.67 1.04327 8.05171 +46 2.73 1.02641 8.61698 +47 2.79 1.00444 9.19472 +48 2.85 0.987552 9.78745 +49 2.91 1.01393 10.4219 +50 2.97 0.998003 11.0724 +104450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.221691 0.00392297 +8 0.45 0.618786 0.0131954 +9 0.51 0.518981 0.0231812 +10 0.57 0.816295 0.042796 +11 0.63 0.850597 0.0677603 +12 0.69 1.03339 0.104137 +13 0.75 1.02053 0.146576 +14 0.81 1.12501 0.201141 +15 0.87 1.1856 0.267475 +16 0.93 1.04876 0.334522 +17 0.99 1.18645 0.420471 +18 1.05 0.945348 0.497504 +19 1.11 0.955593 0.584522 +20 1.17 0.860117 0.671541 +21 1.23 1.09723 0.794223 +22 1.29 0.930855 0.908702 +23 1.35 0.987654 1.04173 +24 1.41 0.980646 1.18581 +25 1.47 0.946903 1.33702 +26 1.53 1.01841 1.5132 +27 1.59 1.05564 1.71041 +28 1.65 1.02636 1.9169 +29 1.71 0.980357 2.12874 +30 1.77 1.00437 2.36127 +31 1.83 0.99724 2.60806 +32 1.89 0.999785 2.87197 +33 1.95 1.00394 3.15407 +34 2.01 1.01419 3.45685 +35 2.07 0.970892 3.76427 +36 2.13 1.01164 4.10342 +37 2.19 1.01735 4.46398 +38 2.25 1.09347 4.87304 +39 2.31 0.963243 5.25285 +40 2.37 0.98469 5.66155 +41 2.43 1.01922 6.10628 +42 2.49 1.01351 6.57061 +43 2.55 0.996063 7.04922 +44 2.61 0.960006 7.53245 +45 2.67 0.995202 8.0567 +46 2.73 1.01605 8.61626 +47 2.79 1.00196 9.19258 +48 2.85 1.00657 9.79672 +49 2.91 0.988286 10.4151 +50 2.97 0.999645 11.0667 +104500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.329681 0.00249643 +6 0.33 0.132597 0.00356633 +7 0.39 0.348371 0.0074893 +8 0.45 0.452189 0.0142653 +9 0.51 0.500446 0.0238944 +10 0.57 0.608511 0.0385164 +11 0.63 0.923505 0.0656205 +12 0.69 1.03339 0.101997 +13 0.75 1.18348 0.151213 +14 0.81 1.15443 0.207204 +15 0.87 1.1601 0.272111 +16 0.93 1.10455 0.342725 +17 0.99 0.959989 0.412268 +18 1.05 1.01537 0.495007 +19 1.11 0.869433 0.57418 +20 1.17 0.97997 0.673324 +21 1.23 1.03981 0.789586 +22 1.29 0.948254 0.906205 +23 1.35 1.11475 1.05635 +24 1.41 0.983074 1.20078 +25 1.47 0.920104 1.34772 +26 1.53 0.954503 1.51284 +27 1.59 1.03082 1.70542 +28 1.65 1.0104 1.9087 +29 1.71 1.00181 2.12518 +30 1.77 1.04596 2.36733 +31 1.83 1.03903 2.62447 +32 1.89 0.966008 2.87946 +33 1.95 0.969672 3.15193 +34 2.01 1.00583 3.45221 +35 2.07 1.02833 3.77782 +36 2.13 0.975475 4.10485 +37 2.19 0.979112 4.45185 +38 2.25 1.00958 4.82953 +39 2.31 0.992186 5.22076 +40 2.37 1.0457 5.65478 +41 2.43 1.04129 6.10913 +42 2.49 0.9668 6.55207 +43 2.55 0.942623 7.00499 +44 2.61 1.04573 7.53138 +45 2.67 0.992494 8.05421 +46 2.73 0.949997 8.57739 +47 2.79 1.00382 9.15478 +48 2.85 0.996465 9.75285 +49 2.91 0.998545 10.3777 +50 2.97 1.00785 11.0346 +104550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.380042 0.00677603 +8 0.45 0.309393 0.0114123 +9 0.51 0.722867 0.025321 +10 0.57 0.771769 0.0438659 +11 0.63 0.862748 0.0691869 +12 0.69 1.08404 0.107347 +13 0.75 1.11487 0.153709 +14 0.81 1.08825 0.206491 +15 0.87 1.10273 0.268188 +16 0.93 1.07665 0.337019 +17 0.99 1.1126 0.417618 +18 1.05 0.962855 0.496077 +19 1.11 1.01042 0.588088 +20 1.17 0.916519 0.680813 +21 1.23 0.924989 0.784237 +22 1.29 0.962754 0.902639 +23 1.35 1.02472 1.04066 +24 1.41 0.919963 1.17582 +25 1.47 1.05633 1.34451 +26 1.53 0.973057 1.51284 +27 1.59 1.027 1.70471 +28 1.65 0.98913 1.90371 +29 1.71 0.978707 2.11519 +30 1.77 1.05829 2.3602 +31 1.83 0.992917 2.60592 +32 1.89 1.0133 2.8734 +33 1.95 0.97221 3.14658 +34 2.01 1.00702 3.44722 +35 2.07 1.00806 3.76641 +36 2.13 0.986113 4.097 +37 2.19 1.01836 4.45792 +38 2.25 1.02102 4.83987 +39 2.31 0.993995 5.23181 +40 2.37 1.00187 5.64765 +41 2.43 0.996332 6.08238 +42 2.49 0.982369 6.53245 +43 2.55 1.00349 7.01462 +44 2.61 0.982678 7.50927 +45 2.67 0.993848 8.03281 +46 2.73 0.948702 8.55528 +47 2.79 1.03544 9.15086 +48 2.85 1.02202 9.76427 +49 2.91 0.988856 10.383 +50 2.97 1.01059 11.0417 +104600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0.108706 0.000713267 +5 0.27 0 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.285031 0.00463623 +8 0.45 0.452189 0.0114123 +9 0.51 0.759937 0.0260342 +10 0.57 0.727244 0.0435093 +11 0.63 0.850597 0.0684736 +12 0.69 1.02326 0.104494 +13 0.75 1.08057 0.149429 +14 0.81 1.00736 0.198288 +15 0.87 1.12186 0.261056 +16 0.93 1.20496 0.338088 +17 0.99 1.01414 0.411555 +18 1.05 1.00224 0.493224 +19 1.11 1.06525 0.590228 +20 1.17 0.951769 0.686519 +21 1.23 1.00473 0.798859 +22 1.29 1.03815 0.926534 +23 1.35 0.887035 1.04601 +24 1.41 1.00977 1.19437 +25 1.47 1.01613 1.35663 +26 1.53 0.956565 1.52211 +27 1.59 0.979279 1.70506 +28 1.65 0.951904 1.89658 +29 1.71 1.00841 2.11448 +30 1.77 0.968941 2.3388 +31 1.83 1.07794 2.60556 +32 1.89 0.967359 2.86091 +33 1.95 1.01536 3.14622 +34 2.01 0.938929 3.42653 +35 2.07 1.02045 3.74964 +36 2.13 0.981858 4.07882 +37 2.19 1.03043 4.44401 +38 2.25 0.960005 4.80314 +39 2.31 1.06092 5.22147 +40 2.37 0.946883 5.61448 +41 2.43 1.00287 6.05207 +42 2.49 0.997159 6.50892 +43 2.55 0.985672 6.98252 +44 2.61 1.00535 7.48859 +45 2.67 0.995202 8.01284 +46 2.73 1.05879 8.59593 +47 2.79 1.01746 9.18117 +48 2.85 0.972103 9.76462 +49 2.91 0.986576 10.382 +50 2.97 0.98706 11.0253 +104650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.380042 0.0053495 +8 0.45 0.452189 0.0121255 +9 0.51 0.759937 0.0267475 +10 0.57 0.667877 0.042796 +11 0.63 0.850597 0.0677603 +12 0.69 1.00299 0.103067 +13 0.75 1.16633 0.151569 +14 0.81 1.11031 0.205421 +15 0.87 1.30671 0.278531 +16 0.93 1.04318 0.345221 +17 0.99 1.10768 0.425464 +18 1.05 0.914712 0.5 +19 1.11 0.998673 0.590942 +20 1.17 0.895368 0.681526 +21 1.23 0.883524 0.780314 +22 1.29 0.956954 0.898003 +23 1.35 0.945288 1.02532 +24 1.41 1.04861 1.17939 +25 1.47 1.01167 1.34094 +26 1.53 1.02047 1.51748 +27 1.59 0.975461 1.69971 +28 1.65 1.07244 1.91548 +29 1.71 1.03647 2.13944 +30 1.77 0.968941 2.36377 +31 1.83 0.988594 2.60842 +32 1.89 0.967359 2.86377 +33 1.95 0.968402 3.13588 +34 2.01 0.953264 3.42047 +35 2.07 1.01482 3.7418 +36 2.13 1.00739 4.07953 +37 2.19 0.959992 4.41976 +38 2.25 0.998138 4.79315 +39 2.31 0.998517 5.18688 +40 2.37 0.969224 5.58916 +41 2.43 0.952195 6.00464 +42 2.49 1.00961 6.46719 +43 2.55 1.03466 6.96434 +44 2.61 1.02519 7.48039 +45 2.67 0.967445 7.99001 +46 2.73 1.02188 8.55278 +47 2.79 0.988321 9.12126 +48 2.85 1.00775 9.72611 +49 2.91 1.02305 10.3663 +50 2.97 0.975023 11.0018 +104700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.316701 0.00606277 +8 0.45 0.356992 0.0114123 +9 0.51 0.481911 0.0206847 +10 0.57 0.816295 0.0402996 +11 0.63 0.826294 0.0645506 +12 0.69 1.06378 0.101997 +13 0.75 1.19205 0.151569 +14 0.81 1.11766 0.205777 +15 0.87 1.15373 0.270328 +16 0.93 1.07107 0.338802 +17 0.99 1.0486 0.414765 +18 1.05 1.00662 0.49679 +19 1.11 1.04959 0.592368 +20 1.17 0.934144 0.686876 +21 1.23 1.04619 0.803852 +22 1.29 0.898957 0.914408 +23 1.35 1.05915 1.05706 +24 1.41 0.949091 1.1965 +25 1.47 1.0139 1.35842 +26 1.53 0.946257 1.52211 +27 1.59 0.962099 1.70185 +28 1.65 1.00508 1.90407 +29 1.71 1.09919 2.14158 +30 1.77 1.0398 2.38231 +31 1.83 0.961213 2.62019 +32 1.89 1.02005 2.88944 +33 1.95 0.965864 3.16084 +34 2.01 0.96521 3.449 +35 2.07 0.975397 3.75785 +36 2.13 0.964837 4.08131 +37 2.19 1.01131 4.43973 +38 2.25 1.03913 4.82846 +39 2.31 0.956912 5.20578 +40 2.37 1.01304 5.62625 +41 2.43 1.02494 6.07347 +42 2.49 0.99638 6.52996 +43 2.55 0.970085 6.99608 +44 2.61 1.00322 7.50107 +45 2.67 1.03244 8.04494 +46 2.73 0.95712 8.57204 +47 2.79 1.0404 9.17047 +48 2.85 0.98577 9.76213 +49 2.91 0.975747 10.3727 +50 2.97 0.993626 11.0203 +104750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.316701 0.00606277 +8 0.45 0.356992 0.0114123 +9 0.51 0.481911 0.0206847 +10 0.57 0.94987 0.0435093 +11 0.63 0.838445 0.068117 +12 0.69 1.10431 0.10699 +13 0.75 1.00338 0.148716 +14 0.81 1.04413 0.199358 +15 0.87 1.1601 0.264265 +16 0.93 1.18264 0.339872 +17 0.99 1.08306 0.418331 +18 1.05 1.06789 0.50535 +19 1.11 1.07308 0.603067 +20 1.17 0.895368 0.693652 +21 1.23 0.861196 0.789943 +22 1.29 0.916356 0.902639 +23 1.35 0.924105 1.0271 +24 1.41 0.985501 1.1719 +25 1.47 1.11663 1.35021 +26 1.53 0.983365 1.52033 +27 1.59 0.965916 1.70078 +28 1.65 1.07953 1.91797 +29 1.71 0.973756 2.12839 +30 1.77 0.973562 2.35378 +31 1.83 0.987153 2.59807 +32 1.89 0.975466 2.85556 +33 1.95 1.04455 3.14907 +34 2.01 1.02255 3.45435 +35 2.07 0.969766 3.76141 +36 2.13 0.977603 4.08916 +37 2.19 0.941879 4.42297 +38 2.25 1.02578 4.8067 +39 2.31 1.04826 5.22004 +40 2.37 0.994142 5.63267 +41 2.43 0.975898 6.05849 +42 2.49 0.931771 6.48538 +43 2.55 1.01313 6.97218 +44 2.61 1.06061 7.50606 +45 2.67 1.03853 8.05314 +46 2.73 1.02641 8.6184 +47 2.79 0.96352 9.17261 +48 2.85 0.982204 9.76213 +49 2.91 0.979737 10.3752 +50 2.97 0.984872 11.0171 +104800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.263745 0.00142653 +6 0.33 0.309393 0.00392297 +7 0.39 0.348371 0.00784593 +8 0.45 0.404591 0.0139087 +9 0.51 0.444841 0.0224679 +10 0.57 0.727244 0.0399429 +11 0.63 0.78984 0.0631241 +12 0.69 0.932075 0.0959344 +13 0.75 0.960503 0.135877 +14 0.81 1.31619 0.199715 +15 0.87 1.12823 0.262839 +16 0.93 1.12128 0.334522 +17 0.99 0.964912 0.404422 +18 1.05 1.10291 0.494294 +19 1.11 1.00651 0.585949 +20 1.17 0.958819 0.682953 +21 1.23 1.00792 0.795649 +22 1.29 0.965654 0.914408 +23 1.35 0.953231 1.0428 +24 1.41 1.00977 1.19116 +25 1.47 0.946903 1.34237 +26 1.53 1.04521 1.52318 +27 1.59 0.975461 1.70542 +28 1.65 0.905816 1.88766 +29 1.71 1.08103 2.12126 +30 1.77 1.02132 2.3577 +31 1.83 1.0203 2.6102 +32 1.89 0.928178 2.85521 +33 1.95 0.974748 3.1291 +34 2.01 1.00941 3.43046 +35 2.07 1.08465 3.77389 +36 2.13 0.993559 4.10699 +37 2.19 0.953955 4.44508 +38 2.25 1.00576 4.82133 +39 2.31 0.947868 5.19508 +40 2.37 1.0457 5.6291 +41 2.43 0.975898 6.05492 +42 2.49 1.00183 6.51391 +43 2.55 1.00868 6.99857 +44 2.61 1.00747 7.50571 +45 2.67 0.996556 8.03067 +46 2.73 0.99468 8.57846 +47 2.79 0.985841 9.14551 +48 2.85 1.03509 9.76676 +49 2.91 1.0487 10.423 +50 2.97 0.970646 11.0556 +104850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.353592 0.0032097 +7 0.39 0.411712 0.00784593 +8 0.45 0.475989 0.0149786 +9 0.51 0.574587 0.0260342 +10 0.57 0.727244 0.0435093 +11 0.63 1.03287 0.0738231 +12 0.69 0.921944 0.106277 +13 0.75 1.05484 0.150143 +14 0.81 1.08825 0.202924 +15 0.87 1.09636 0.264265 +16 0.93 1.19938 0.340942 +17 0.99 1.10276 0.420827 +18 1.05 0.962855 0.499287 +19 1.11 1.03 0.593081 +20 1.17 1.03637 0.697932 +21 1.23 0.924989 0.801355 +22 1.29 0.855459 0.906562 +23 1.35 1.01678 1.04351 +24 1.41 0.941809 1.18188 +25 1.47 1.03177 1.34665 +26 1.53 1.0885 1.53495 +27 1.59 0.965916 1.71541 +28 1.65 0.994448 1.91548 +29 1.71 1.01667 2.13516 +30 1.77 0.96586 2.35877 +31 1.83 1.003 2.60699 +32 1.89 1.00114 2.87126 +33 1.95 0.948095 3.13766 +34 2.01 1.01897 3.44187 +35 2.07 0.957376 3.74501 +36 2.13 0.992495 4.07775 +37 2.19 0.994206 4.4301 +38 2.25 1.01625 4.81027 +39 2.31 0.962339 5.18973 +40 2.37 0.985549 5.59879 +41 2.43 0.98162 6.0271 +42 2.49 1.0244 6.49643 +43 2.55 1.02872 6.99073 +44 2.61 0.987637 7.48787 +45 2.67 1.0189 8.02461 +46 2.73 0.995975 8.57311 +47 2.79 0.96786 9.12981 +48 2.85 0.98577 9.72147 +49 2.91 1.0316 10.367 +50 2.97 1.01004 11.0253 +104900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.132597 0.0010699 +7 0.39 0.190021 0.0032097 +8 0.45 0.523588 0.0110556 +9 0.51 0.759937 0.0256776 +10 0.57 0.712403 0.042796 +11 0.63 1.02072 0.0727532 +12 0.69 1.08404 0.110913 +13 0.75 0.986231 0.151926 +14 0.81 1.06619 0.203638 +15 0.87 1.07086 0.263552 +16 0.93 1.08223 0.332739 +17 0.99 1.16183 0.416904 +18 1.05 0.989114 0.497504 +19 1.11 0.892931 0.578816 +20 1.17 0.895368 0.669401 +21 1.23 0.947316 0.775321 +22 1.29 1.00045 0.898359 +23 1.35 1.02472 1.03638 +24 1.41 0.975792 1.17974 +25 1.47 1.00943 1.34094 +26 1.53 1.08438 1.52853 +27 1.59 1.02318 1.71969 +28 1.65 1.00331 1.92154 +29 1.71 0.991911 2.13588 +30 1.77 0.981265 2.36305 +31 1.83 0.988594 2.6077 +32 1.89 0.991678 2.86947 +33 1.95 0.930326 3.13088 +34 2.01 1.04525 3.44294 +35 2.07 0.99905 3.75927 +36 2.13 1.02866 4.10414 +37 2.19 0.985149 4.45328 +38 2.25 0.966678 4.81491 +39 2.31 1.00575 5.21148 +40 2.37 1.00273 5.62767 +41 2.43 1.01922 6.0724 +42 2.49 0.994045 6.52782 +43 2.55 0.956725 6.98752 +44 2.61 0.971342 7.47646 +45 2.67 1.06155 8.03566 +46 2.73 1.029 8.60235 +47 2.79 1.04226 9.20185 +48 2.85 0.954871 9.77496 +49 2.91 0.993985 10.3969 +50 2.97 0.989249 11.0417 +104950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.221691 0.00499287 +8 0.45 0.309393 0.0096291 +9 0.51 0.574587 0.0206847 +10 0.57 0.801453 0.0399429 +11 0.63 0.862748 0.0652639 +12 0.69 1.11444 0.104494 +13 0.75 0.917623 0.142653 +14 0.81 1.13237 0.197575 +15 0.87 1.11548 0.259986 +16 0.93 1.08223 0.329173 +17 0.99 1.13229 0.411198 +18 1.05 1.00662 0.493224 +19 1.11 0.951677 0.579886 +20 1.17 0.927094 0.67368 +21 1.23 0.931368 0.777817 +22 1.29 0.965654 0.896576 +23 1.35 1.00354 1.03174 +24 1.41 1.06075 1.18759 +25 1.47 1.0072 1.34843 +26 1.53 0.964811 1.51534 +27 1.59 1.01173 1.70435 +28 1.65 0.976721 1.90086 +29 1.71 1.01502 2.12019 +30 1.77 1.07369 2.36876 +31 1.83 0.99724 2.61555 +32 1.89 0.987625 2.87625 +33 1.95 0.991248 3.15478 +34 2.01 1.04047 3.46541 +35 2.07 1.00919 3.78495 +36 2.13 0.938243 4.0995 +37 2.19 1.01534 4.45934 +38 2.25 1.01148 4.83773 +39 2.31 1.00304 5.23324 +40 2.37 0.983831 5.64158 +41 2.43 0.973446 6.06633 +42 2.49 0.980033 6.51534 +43 2.55 1.0213 7.00606 +44 2.61 1.02873 7.52389 +45 2.67 1.01416 8.05813 +46 2.73 1.02641 8.6234 +47 2.79 0.9722 9.1826 +48 2.85 0.986958 9.77496 +49 2.91 1.01108 10.4076 +50 2.97 1.00402 11.0621 +105000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.190021 0.00356633 +8 0.45 0.42839 0.00998573 +9 0.51 0.741402 0.0242511 +10 0.57 0.593669 0.0385164 +11 0.63 0.874899 0.064194 +12 0.69 0.952338 0.0977175 +13 0.75 1.15775 0.145863 +14 0.81 1.13972 0.201141 +15 0.87 1.12186 0.263909 +16 0.93 1.07665 0.332739 +17 0.99 1.11753 0.413695 +18 1.05 0.993491 0.49465 +19 1.11 0.939927 0.580243 +20 1.17 0.912993 0.672611 +21 1.23 0.937747 0.777461 +22 1.29 0.985953 0.898716 +23 1.35 1.03267 1.0378 +24 1.41 0.915108 1.17225 +25 1.47 1.07867 1.34451 +26 1.53 1.10087 1.53495 +27 1.59 0.935374 1.7097 +28 1.65 1.0299 1.9169 +29 1.71 1.01172 2.13552 +30 1.77 0.927349 2.35021 +31 1.83 0.932391 2.58096 +32 1.89 1.03626 2.85449 +33 1.95 1.04329 3.14765 +34 2.01 0.979545 3.44009 +35 2.07 0.955124 3.74251 +36 2.13 1.00207 4.07846 +37 2.19 0.994206 4.43081 +38 2.25 1.02102 4.81277 +39 2.31 1.05369 5.22825 +40 2.37 0.960631 5.62696 +41 2.43 1.04537 6.0831 +42 2.49 0.993266 6.53816 +43 2.55 0.996805 7.01712 +44 2.61 1.00039 7.52068 +45 2.67 0.985724 8.03994 +46 2.73 0.988204 8.58417 +47 2.79 0.949879 9.13053 +48 2.85 0.997654 9.72932 +49 2.91 1.02077 10.368 +50 2.97 0.99089 11.0139 +105050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.285031 0.00570613 +8 0.45 0.594986 0.014622 +9 0.51 0.667262 0.0274608 +10 0.57 0.712403 0.0445792 +11 0.63 0.826294 0.0688302 +12 0.69 1.03339 0.105207 +13 0.75 1.01196 0.14729 +14 0.81 1.21325 0.206134 +15 0.87 1.17922 0.272111 +16 0.93 1.18822 0.348074 +17 0.99 1.14214 0.430813 +18 1.05 0.936595 0.507133 +19 1.11 0.920346 0.590942 +20 1.17 0.895368 0.681526 +21 1.23 0.979212 0.791013 +22 1.29 0.948254 0.907632 +23 1.35 0.916161 1.03103 +24 1.41 1.08745 1.1908 +25 1.47 0.982636 1.34772 +26 1.53 0.995734 1.51997 +27 1.59 1.00028 1.70685 +28 1.65 0.99622 1.90728 +29 1.71 1.06123 2.13659 +30 1.77 1.00437 2.36912 +31 1.83 0.972742 2.60984 +32 1.89 1.03761 2.88374 +33 1.95 0.94048 3.148 +34 2.01 1.02613 3.45435 +35 2.07 0.994545 3.76926 +36 2.13 1.00845 4.10735 +37 2.19 1.03043 4.47254 +38 2.25 0.997185 4.84558 +39 2.31 0.956008 5.22254 +40 2.37 1.0689 5.66619 +41 2.43 0.970177 6.08951 +42 2.49 0.999494 6.54743 +43 2.55 1.00942 7.03245 +44 2.61 0.991888 7.53174 +45 2.67 0.990463 8.0535 +46 2.73 1.01152 8.61056 +47 2.79 1.00382 9.18795 +48 2.85 1.04519 9.81526 +49 2.91 0.94668 10.4076 +50 2.97 1.01278 11.0678 +105100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.475052 0.00713267 +8 0.45 0.523588 0.0149786 +9 0.51 0.426306 0.0231812 +10 0.57 0.638194 0.0385164 +11 0.63 0.984262 0.0674037 +12 0.69 0.921944 0.0998573 +13 0.75 1.23493 0.151213 +14 0.81 1.19854 0.209344 +15 0.87 1.1346 0.272825 +16 0.93 1.08781 0.342368 +17 0.99 1.02891 0.416904 +18 1.05 1.03288 0.50107 +19 1.11 1.02609 0.594508 +20 1.17 0.884793 0.684023 +21 1.23 0.864386 0.78067 +22 1.29 0.913456 0.89301 +23 1.35 1.01413 1.0296 +24 1.41 1.02919 1.18081 +25 1.47 1.0273 1.34486 +26 1.53 1.0081 1.51926 +27 1.59 1.06327 1.7179 +28 1.65 0.985584 1.91619 +29 1.71 0.972105 2.12625 +30 1.77 0.972022 2.35128 +31 1.83 0.971301 2.59165 +32 1.89 1.05518 2.87019 +33 1.95 1.00394 3.15228 +34 2.01 0.999852 3.45078 +35 2.07 0.95625 3.75357 +36 2.13 0.996751 4.08773 +37 2.19 1.01433 4.44722 +38 2.25 1.02483 4.8306 +39 2.31 1.01751 5.23181 +40 2.37 1.00359 5.64836 +41 2.43 0.979168 6.07561 +42 2.49 1.01195 6.53923 +43 2.55 0.937428 6.98966 +44 2.61 1.04503 7.51569 +45 2.67 1.00671 8.04601 +46 2.73 1.01346 8.60414 +47 2.79 0.980261 9.16797 +48 2.85 1.00835 9.77318 +49 2.91 1.01678 10.4094 +50 2.97 0.967363 11.0399 +105150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.348371 0.00606277 +8 0.45 0.309393 0.010699 +9 0.51 0.500446 0.0203281 +10 0.57 0.831136 0.0402996 +11 0.63 0.959959 0.0684736 +12 0.69 1.21575 0.11127 +13 0.75 1.09772 0.156919 +14 0.81 1.21325 0.215763 +15 0.87 1.10273 0.277461 +16 0.93 1.01529 0.342368 +17 0.99 1.16676 0.42689 +18 1.05 1.01537 0.509629 +19 1.11 0.943844 0.595578 +20 1.17 0.923569 0.689016 +21 1.23 0.979212 0.798502 +22 1.29 0.922156 0.911912 +23 1.35 0.966471 1.04208 +24 1.41 0.963655 1.18367 +25 1.47 1.03623 1.34914 +26 1.53 1.01017 1.52389 +27 1.59 1.01173 1.71291 +28 1.65 1.02281 1.91869 +29 1.71 0.967154 2.12767 +30 1.77 1.03672 2.36769 +31 1.83 0.998681 2.61484 +32 1.89 1.00249 2.87946 +33 1.95 0.974748 3.15335 +34 2.01 1.01419 3.45613 +35 2.07 0.986661 3.76854 +36 2.13 0.990368 4.10057 +37 2.19 1.02641 4.46434 +38 2.25 0.974305 4.82882 +39 2.31 1.02294 5.23217 +40 2.37 0.988986 5.64265 +41 2.43 1.02412 6.08951 +42 2.49 1.0065 6.55064 +43 2.55 0.969343 7.01641 +44 2.61 0.999682 7.51961 +45 2.67 1.03785 8.06633 +46 2.73 0.988204 8.61056 +47 2.79 1.0094 9.19116 +48 2.85 0.989335 9.78495 +49 2.91 0.971187 10.3927 +50 2.97 1.01387 11.0535 +105200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.380042 0.00570613 +8 0.45 0.475989 0.0128388 +9 0.51 0.630192 0.0249643 +10 0.57 0.489777 0.0367332 +11 0.63 0.911353 0.0634807 +12 0.69 1.04352 0.100214 +13 0.75 1.21778 0.150856 +14 0.81 0.985306 0.198645 +15 0.87 1.07724 0.258916 +16 0.93 1.0655 0.327033 +17 0.99 1.14214 0.409772 +18 1.05 1.06789 0.49679 +19 1.11 0.951677 0.583452 +20 1.17 0.916519 0.676177 +21 1.23 0.966454 0.784237 +22 1.29 0.980153 0.904779 +23 1.35 0.966471 1.03495 +24 1.41 1.05589 1.19009 +25 1.47 0.991569 1.34843 +26 1.53 0.973057 1.51676 +27 1.59 1.11863 1.72575 +28 1.65 0.990902 1.92511 +29 1.71 1.03812 2.14943 +30 1.77 0.973562 2.37482 +31 1.83 0.985711 2.61876 +32 1.89 0.995731 2.8816 +33 1.95 1.03821 3.17332 +34 2.01 0.975961 3.46469 +35 2.07 0.929218 3.75892 +36 2.13 0.982922 4.08845 +37 2.19 1.09584 4.47682 +38 2.25 1.02388 4.85984 +39 2.31 0.966861 5.24108 +40 2.37 0.933136 5.62839 +41 2.43 1.0184 6.07275 +42 2.49 0.973806 6.5189 +43 2.55 0.987899 6.99358 +44 2.61 1.0259 7.50999 +45 2.67 0.978954 8.02568 +46 2.73 1.04843 8.60307 +47 2.79 1.0311 9.19615 +48 2.85 0.970915 9.77889 +49 2.91 1.01165 10.4119 +50 2.97 0.973929 11.0467 +105250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.348371 0.00677603 +8 0.45 0.666384 0.0167618 +9 0.51 0.537517 0.0271041 +10 0.57 0.786611 0.0460057 +11 0.63 0.777688 0.0688302 +12 0.69 0.911813 0.100927 +13 0.75 1.09772 0.146576 +14 0.81 1.02942 0.196505 +15 0.87 1.17922 0.262482 +16 0.93 1.21612 0.340228 +17 0.99 1.08799 0.419044 +18 1.05 1.05039 0.504636 +19 1.11 0.928178 0.589158 +20 1.17 1.0258 0.692939 +21 1.23 0.822921 0.78495 +22 1.29 0.959854 0.902996 +23 1.35 0.963823 1.03281 +24 1.41 0.983074 1.17725 +25 1.47 1.0675 1.34772 +26 1.53 1.06377 1.53174 +27 1.59 1.02509 1.72325 +28 1.65 0.985584 1.92154 +29 1.71 1.03152 2.14444 +30 1.77 0.992048 2.37411 +31 1.83 1.04047 2.6316 +32 1.89 1.03356 2.90442 +33 1.95 0.954441 3.17261 +34 2.01 0.972377 3.46291 +35 2.07 1.03847 3.79173 +36 2.13 0.982922 4.12126 +37 2.19 0.965024 4.46327 +38 2.25 1.02388 4.84629 +39 2.31 1.02565 5.25071 +40 2.37 0.988986 5.6612 +41 2.43 0.997149 6.09629 +42 2.49 1.00728 6.55777 +43 2.55 0.953757 7.01605 +44 2.61 0.985512 7.51213 +45 2.67 1.01145 8.04494 +46 2.73 0.99986 8.59558 +47 2.79 0.97468 9.15621 +48 2.85 1.02974 9.77425 +49 2.91 1.01108 10.4069 +50 2.97 1.01496 11.0685 +105300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.397791 0.00356633 +7 0.39 0.285031 0.00677603 +8 0.45 0.452189 0.0135521 +9 0.51 0.389236 0.0210414 +10 0.57 0.653036 0.0367332 +11 0.63 0.996413 0.0659772 +12 0.69 1.12457 0.105563 +13 0.75 0.900472 0.14301 +14 0.81 1.05884 0.194365 +15 0.87 1.22384 0.262839 +16 0.93 1.13244 0.335235 +17 0.99 1.13229 0.417261 +18 1.05 0.989114 0.49786 +19 1.11 0.916429 0.581312 +20 1.17 0.962344 0.678673 +21 1.23 1.043 0.795292 +22 1.29 0.933755 0.910128 +23 1.35 0.934696 1.03602 +24 1.41 0.980646 1.1801 +25 1.47 1.0876 1.35378 +26 1.53 0.991611 1.52532 +27 1.59 0.944918 1.70185 +28 1.65 1.07599 1.91833 +29 1.71 1.00676 2.13588 +30 1.77 0.953537 2.35663 +31 1.83 1.03183 2.61198 +32 1.89 0.993029 2.87411 +33 1.95 1.0179 3.16013 +34 2.01 1.03449 3.46897 +35 2.07 1.02158 3.79244 +36 2.13 0.977603 4.12019 +37 2.19 0.996218 4.47325 +38 2.25 1.0458 4.86448 +39 2.31 0.97681 5.24964 +40 2.37 1.00961 5.66869 +41 2.43 1.00287 6.10628 +42 2.49 0.99638 6.56277 +43 2.55 0.989383 7.03816 +44 2.61 0.969216 7.52603 +45 2.67 1.03041 8.06883 +46 2.73 1.02447 8.63302 +47 2.79 0.982741 9.19829 +48 2.85 1.01013 9.80456 +49 2.91 1.00766 10.4351 +50 2.97 1.00512 11.0902 +105350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.253361 0.00463623 +8 0.45 0.404591 0.010699 +9 0.51 0.500446 0.0203281 +10 0.57 0.712403 0.0374465 +11 0.63 0.887051 0.0634807 +12 0.69 0.9726 0.0977175 +13 0.75 0.960503 0.13766 +14 0.81 1.29413 0.200428 +15 0.87 1.23022 0.269258 +16 0.93 1.21054 0.346648 +17 0.99 1.08306 0.425107 +18 1.05 1.011 0.507489 +19 1.11 1.02609 0.600927 +20 1.17 0.895368 0.691512 +21 1.23 0.944126 0.797076 +22 1.29 0.948254 0.913695 +23 1.35 0.9294 1.03887 +24 1.41 0.961228 1.1801 +25 1.47 0.975936 1.33595 +26 1.53 1.07201 1.5214 +27 1.59 1.04991 1.71755 +28 1.65 1.02458 1.92368 +29 1.71 0.940747 2.12696 +30 1.77 1.04442 2.36876 +31 1.83 0.981388 2.61163 +32 1.89 1.00384 2.8766 +33 1.95 1.0014 3.15799 +34 2.01 1.02733 3.46469 +35 2.07 0.97765 3.77425 +36 2.13 0.904203 4.07739 +37 2.19 1.01836 4.4383 +38 2.25 0.995278 4.81063 +39 2.31 1.02565 5.21505 +40 2.37 1.00531 5.63231 +41 2.43 0.975081 6.05777 +42 2.49 1.03141 6.53031 +43 2.55 0.996805 7.00927 +44 2.61 0.989054 7.50713 +45 2.67 1.00807 8.03816 +46 2.73 0.99986 8.5888 +47 2.79 1.0187 9.17475 +48 2.85 1.01013 9.78103 +49 2.91 1.01051 10.4133 +50 2.97 0.98706 11.0567 +105400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.044199 0.000356633 +7 0.39 0.253361 0.0032097 +8 0.45 0.547387 0.0114123 +9 0.51 0.500446 0.0210414 +10 0.57 0.786611 0.0399429 +11 0.63 0.887051 0.0659772 +12 0.69 1.01313 0.101641 +13 0.75 1.03769 0.144793 +14 0.81 1.17648 0.201854 +15 0.87 1.19197 0.268545 +16 0.93 1.04318 0.335235 +17 0.99 1.09291 0.414408 +18 1.05 0.975984 0.493937 +19 1.11 1.01042 0.585949 +20 1.17 0.905943 0.677603 +21 1.23 0.979212 0.78709 +22 1.29 0.948254 0.903709 +23 1.35 0.963823 1.03352 +24 1.41 0.978219 1.17725 +25 1.47 0.917871 1.32382 +26 1.53 1.03078 1.50214 +27 1.59 1.09763 1.7072 +28 1.65 1.04763 1.91797 +29 1.71 1.01832 2.13802 +30 1.77 1.0321 2.37696 +31 1.83 0.969859 2.61698 +32 1.89 0.972763 2.87375 +33 1.95 1.02932 3.16298 +34 2.01 1.01299 3.46541 +35 2.07 0.96526 3.77104 +36 2.13 0.992495 4.10378 +37 2.19 0.978105 4.45043 +38 2.25 1.05057 4.84344 +39 2.31 0.991281 5.23431 +40 2.37 0.963209 5.63409 +41 2.43 0.997966 6.06954 +42 2.49 1.03141 6.54208 +43 2.55 1.05767 7.05029 +44 2.61 0.95363 7.53031 +45 2.67 0.986401 8.04993 +46 2.73 1.01346 8.60806 +47 2.79 0.9784 9.17083 +48 2.85 0.995871 9.76854 +49 2.91 1.00595 10.398 +50 2.97 1.0467 11.0802 +105450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.316701 0.0053495 +8 0.45 0.499788 0.0128388 +9 0.51 0.741402 0.0271041 +10 0.57 0.742086 0.0449358 +11 0.63 0.887051 0.07097 +12 0.69 0.89155 0.102354 +13 0.75 1.13202 0.149429 +14 0.81 1.32355 0.213623 +15 0.87 1.12186 0.276391 +16 0.93 1.17149 0.351284 +17 0.99 1.13229 0.43331 +18 1.05 0.954101 0.511056 +19 1.11 0.943844 0.597004 +20 1.17 0.920044 0.690086 +21 1.23 0.928178 0.793866 +22 1.29 0.922156 0.907275 +23 1.35 0.89233 1.02746 +24 1.41 1.04376 1.18081 +25 1.47 1.01167 1.34237 +26 1.53 1.08026 1.52924 +27 1.59 1.03273 1.72218 +28 1.65 0.96254 1.91583 +29 1.71 1.03317 2.13909 +30 1.77 0.984345 2.36698 +31 1.83 0.981388 2.60984 +32 1.89 0.971412 2.86626 +33 1.95 1.04455 3.15977 +34 2.01 0.95207 3.44401 +35 2.07 0.988913 3.75713 +36 2.13 0.997814 4.09165 +37 2.19 1.02842 4.45613 +38 2.25 1.0029 4.83131 +39 2.31 1.01751 5.23252 +40 2.37 0.988986 5.64301 +41 2.43 1.02984 6.09237 +42 2.49 0.980033 6.54137 +43 2.55 1.00349 7.02354 +44 2.61 0.973467 7.51355 +45 2.67 0.953905 8.01605 +46 2.73 1.01605 8.57561 +47 2.79 1.05714 9.18367 +48 2.85 0.993494 9.77996 +49 2.91 1.03331 10.4265 +50 2.97 0.98323 11.0674 +105500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.42338 0.000713267 +4 0.21 0 0.000713267 +5 0.27 0.131872 0.00142653 +6 0.33 0.353592 0.0042796 +7 0.39 0.316701 0.00784593 +8 0.45 0.285593 0.0121255 +9 0.51 0.574587 0.0231812 +10 0.57 0.786611 0.0420827 +11 0.63 0.947808 0.0699001 +12 0.69 0.962469 0.10378 +13 0.75 0.960503 0.143723 +14 0.81 1.22796 0.203281 +15 0.87 0.93063 0.25535 +16 0.93 1.15475 0.329173 +17 0.99 1.12245 0.410485 +18 1.05 1.02413 0.493937 +19 1.11 0.967342 0.582026 +20 1.17 1.01522 0.684736 +21 1.23 0.905851 0.78602 +22 1.29 0.881558 0.894437 +23 1.35 0.966471 1.02461 +24 1.41 0.978219 1.16833 +25 1.47 0.998268 1.32775 +26 1.53 1.04521 1.50856 +27 1.59 0.979279 1.69151 +28 1.65 1.01217 1.89515 +29 1.71 1.02162 2.11591 +30 1.77 1.00437 2.34843 +31 1.83 1.05344 2.60913 +32 1.89 0.953849 2.86091 +33 1.95 1.01029 3.14479 +34 2.01 0.96521 3.43295 +35 2.07 1.04185 3.76284 +36 2.13 1.01803 4.10414 +37 2.19 0.971061 4.44829 +38 2.25 1.04199 4.83809 +39 2.31 0.966861 5.21933 +40 2.37 0.965787 5.62019 +41 2.43 1.00696 6.05956 +42 2.49 1.0244 6.52889 +43 2.55 0.956725 6.98859 +44 2.61 1.05211 7.51819 +45 2.67 0.958644 8.02318 +46 2.73 0.956473 8.54993 +47 2.79 1.03606 9.14586 +48 2.85 1.03687 9.76819 +49 2.91 1.00481 10.3969 +50 2.97 0.978853 11.035 +105550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.263745 0.00142653 +6 0.33 0.265194 0.00356633 +7 0.39 0.221691 0.00606277 +8 0.45 0.309393 0.010699 +9 0.51 0.518981 0.0206847 +10 0.57 0.801453 0.0399429 +11 0.63 0.838445 0.0645506 +12 0.69 1.04352 0.101284 +13 0.75 1.25208 0.153352 +14 0.81 1.0809 0.205777 +15 0.87 1.20472 0.273181 +16 0.93 1.03202 0.339158 +17 0.99 1.03876 0.414408 +18 1.05 1.03288 0.498573 +19 1.11 1.01434 0.590942 +20 1.17 0.990545 0.691155 +21 1.23 0.902661 0.792083 +22 1.29 0.956954 0.909772 +23 1.35 0.926753 1.03459 +24 1.41 0.949091 1.17404 +25 1.47 1.0541 1.34237 +26 1.53 1.07407 1.52817 +27 1.59 1.02509 1.71969 +28 1.65 0.911134 1.903 +29 1.71 1.01172 2.12161 +30 1.77 1.08756 2.3734 +31 1.83 0.935273 2.60485 +32 1.89 1.03491 2.87803 +33 1.95 1.05217 3.17368 +34 2.01 0.938929 3.45399 +35 2.07 0.981029 3.76462 +36 2.13 0.993559 4.09772 +37 2.19 0.925779 4.42582 +38 2.25 1.01434 4.80528 +39 2.31 1.03831 5.21469 +40 2.37 1.01304 5.63516 +41 2.43 1.02984 6.08452 +42 2.49 0.997159 6.54137 +43 2.55 0.99161 7.01783 +44 2.61 0.997556 7.51997 +45 2.67 0.987078 8.03994 +46 2.73 0.998565 8.58987 +47 2.79 1.028 9.18117 +48 2.85 0.988741 9.77461 +49 2.91 0.980307 10.388 +50 2.97 0.997456 11.0382 +105600 50 +1 0.03 0 0 +2 0.09 0.574587 0.000356633 +3 0.15 0 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.220995 0.0032097 +7 0.39 0.348371 0.00713267 +8 0.45 0.523588 0.0149786 +9 0.51 0.648727 0.0274608 +10 0.57 0.771769 0.0460057 +11 0.63 0.935656 0.0734665 +12 0.69 0.962469 0.107347 +13 0.75 0.943351 0.146576 +14 0.81 1.3309 0.211127 +15 0.87 1.19197 0.277817 +16 0.93 1.08781 0.347361 +17 0.99 1.09291 0.426534 +18 1.05 0.949725 0.503923 +19 1.11 0.936011 0.589158 +20 1.17 0.874218 0.677603 +21 1.23 0.91861 0.780314 +22 1.29 0.965654 0.899073 +23 1.35 1.02737 1.03745 +24 1.41 1.00977 1.18581 +25 1.47 1.0206 1.34879 +26 1.53 0.966872 1.51605 +27 1.59 1.02318 1.7072 +28 1.65 1.00686 1.90977 +29 1.71 0.977057 2.1209 +30 1.77 0.96432 2.34415 +31 1.83 1.02894 2.59879 +32 1.89 0.970061 2.85485 +33 1.95 0.991248 3.13338 +34 2.01 1.01897 3.43759 +35 2.07 0.970892 3.74501 +36 2.13 0.963774 4.06812 +37 2.19 1.02842 4.4326 +38 2.25 1.00672 4.8092 +39 2.31 0.990377 5.19971 +40 2.37 1.01304 5.62019 +41 2.43 1.05355 6.07989 +42 2.49 0.994045 6.53531 +43 2.55 0.973797 7.00321 +44 2.61 0.983386 7.49822 +45 2.67 0.968122 8.0082 +46 2.73 1.01994 8.5699 +47 2.79 1.0063 9.14872 +48 2.85 1.00062 9.74929 +49 2.91 0.989996 10.3688 +50 2.97 0.990343 11.0143 +105650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.316701 0.00570613 +8 0.45 0.618786 0.0149786 +9 0.51 0.518981 0.0249643 +10 0.57 0.816295 0.0445792 +11 0.63 0.935656 0.0720399 +12 0.69 0.911813 0.104137 +13 0.75 0.926199 0.142653 +14 0.81 1.15443 0.198645 +15 0.87 1.04537 0.257133 +16 0.93 1.12686 0.329173 +17 0.99 1.04368 0.404779 +18 1.05 0.989114 0.485378 +19 1.11 1.09267 0.584879 +20 1.17 0.874218 0.673324 +21 1.23 0.953695 0.779957 +22 1.29 0.968553 0.899073 +23 1.35 0.971766 1.02996 +24 1.41 0.966082 1.1719 +25 1.47 1.05187 1.33987 +26 1.53 1.05552 1.52247 +27 1.59 0.954463 1.70078 +28 1.65 1.06181 1.91441 +29 1.71 1.02987 2.13695 +30 1.77 0.996669 2.36769 +31 1.83 0.981388 2.61056 +32 1.89 0.993029 2.87268 +33 1.95 1.01663 3.15835 +34 2.01 1.01299 3.46077 +35 2.07 0.932597 3.75606 +36 2.13 1.04675 4.10699 +37 2.19 0.991187 4.45827 +38 2.25 0.968585 4.82061 +39 2.31 0.993995 5.21255 +40 2.37 1.02937 5.6398 +41 2.43 0.976716 6.06598 +42 2.49 1.01195 6.5296 +43 2.55 0.978992 7 +44 2.61 1.01243 7.50963 +45 2.67 1.00739 8.0403 +46 2.73 0.987556 8.58417 +47 2.79 1.01498 9.16797 +48 2.85 1.03509 9.78923 +49 2.91 0.974037 10.3987 +50 2.97 1.00895 11.0563 +105700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.353592 0.00285307 +7 0.39 0.443382 0.00784593 +8 0.45 0.404591 0.0139087 +9 0.51 0.593122 0.025321 +10 0.57 0.875662 0.0463623 +11 0.63 0.899202 0.0727532 +12 0.69 0.851025 0.10271 +13 0.75 1.11487 0.149073 +14 0.81 1.01472 0.198288 +15 0.87 1.05174 0.257133 +16 0.93 1.14359 0.330243 +17 0.99 1.04368 0.405849 +18 1.05 1.08978 0.49465 +19 1.11 1.00651 0.586305 +20 1.17 0.99407 0.686876 +21 1.23 0.886713 0.78602 +22 1.29 0.922156 0.899429 +23 1.35 0.955879 1.02817 +24 1.41 0.919963 1.16334 +25 1.47 1.00943 1.32454 +26 1.53 1.05552 1.50713 +27 1.59 1.10336 1.71327 +28 1.65 1.01572 1.91762 +29 1.71 0.996862 2.13302 +30 1.77 0.96586 2.35663 +31 1.83 1.0448 2.61519 +32 1.89 1.0822 2.90086 +33 1.95 0.991248 3.17939 +34 2.01 0.937735 3.45934 +35 2.07 0.987787 3.77211 +36 2.13 1.01164 4.11127 +37 2.19 1.00226 4.46648 +38 2.25 0.979072 4.83274 +39 2.31 0.993995 5.22468 +40 2.37 0.992423 5.63659 +41 2.43 1.02412 6.08345 +42 2.49 0.994045 6.53887 +43 2.55 1.03763 7.03745 +44 2.61 0.992597 7.53709 +45 2.67 0.929532 8.02675 +46 2.73 1.0167 8.58666 +47 2.79 0.986461 9.15407 +48 2.85 0.97448 9.73894 +49 2.91 0.998545 10.3638 +50 2.97 0.989796 11.0089 +105750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.348371 0.0053495 +8 0.45 0.452189 0.0121255 +9 0.51 0.648727 0.0246077 +10 0.57 0.816295 0.0442225 +11 0.63 0.765537 0.0666904 +12 0.69 1.00299 0.101997 +13 0.75 1.05484 0.145863 +14 0.81 1.24266 0.206134 +15 0.87 1.31308 0.279601 +16 0.93 1.08223 0.348787 +17 0.99 1.0486 0.42475 +18 1.05 1.09415 0.513909 +19 1.11 0.889015 0.594864 +20 1.17 0.828392 0.678673 +21 1.23 0.848438 0.773538 +22 1.29 0.983053 0.894437 +23 1.35 1.00884 1.03031 +24 1.41 1.0122 1.17903 +25 1.47 0.973703 1.33452 +26 1.53 1.08026 1.5214 +27 1.59 0.998368 1.70792 +28 1.65 0.997993 1.9087 +29 1.71 0.980357 2.12054 +30 1.77 0.927349 2.33524 +31 1.83 1.01165 2.58559 +32 1.89 1.00654 2.85128 +33 1.95 1.00394 3.13338 +34 2.01 1.05002 3.44686 +35 2.07 0.952871 3.74857 +36 2.13 0.999942 4.08381 +37 2.19 0.997225 4.43723 +38 2.25 1.03532 4.82454 +39 2.31 0.975001 5.20899 +40 2.37 1.00961 5.62803 +41 2.43 1.0045 6.06633 +42 2.49 0.986261 6.51819 +43 2.55 1.01091 7.00392 +44 2.61 1.02235 7.51854 +45 2.67 1.03379 8.06312 +46 2.73 0.962301 8.59308 +47 2.79 0.982121 9.15799 +48 2.85 1.01429 9.76676 +49 2.91 0.94839 10.3602 +50 2.97 0.992532 11.0071 +105800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.506722 0.0074893 +8 0.45 0.214195 0.010699 +9 0.51 0.556052 0.021398 +10 0.57 0.816295 0.0410128 +11 0.63 1.00856 0.0706134 +12 0.69 0.911813 0.10271 +13 0.75 1.15775 0.150856 +14 0.81 1.12501 0.205421 +15 0.87 1.12823 0.268545 +16 0.93 1.0376 0.334879 +17 0.99 1.20614 0.422254 +18 1.05 1.01975 0.50535 +19 1.11 0.90468 0.587732 +20 1.17 0.898893 0.678673 +21 1.23 0.988781 0.78923 +22 1.29 0.948254 0.905849 +23 1.35 0.987654 1.03887 +24 1.41 1.02434 1.18937 +25 1.47 1.04963 1.35699 +26 1.53 1.02872 1.53495 +27 1.59 1.05945 1.73288 +28 1.65 0.935951 1.92118 +29 1.71 0.977057 2.13231 +30 1.77 1.04288 2.37375 +31 1.83 0.987153 2.61805 +32 1.89 0.99438 2.88053 +33 1.95 1.02425 3.16833 +34 2.01 1.01538 3.47147 +35 2.07 1.01031 3.79137 +36 2.13 0.991432 4.12375 +37 2.19 0.996218 4.47682 +38 2.25 0.950472 4.83238 +39 2.31 1.04826 5.24572 +40 2.37 1.00359 5.66227 +41 2.43 1.04537 6.1184 +42 2.49 0.953567 6.55528 +43 2.55 0.960437 7.01676 +44 2.61 1.04219 7.54137 +45 2.67 0.989109 8.06241 +46 2.73 0.981081 8.60271 +47 2.79 1.01498 9.18652 +48 2.85 1.01845 9.79779 +49 2.91 0.981446 10.4119 +50 2.97 1.01606 11.0742 +105850 50 +1 0.03 0 0 +2 0.09 0.574587 0.000356633 +3 0.15 0 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.221691 0.0042796 +8 0.45 0.475989 0.0114123 +9 0.51 0.667262 0.0242511 +10 0.57 0.964712 0.0474322 +11 0.63 0.814142 0.0713267 +12 0.69 1.01313 0.10699 +13 0.75 0.994807 0.148359 +14 0.81 1.14707 0.203994 +15 0.87 1.14735 0.268188 +16 0.93 1.17707 0.343438 +17 0.99 1.01906 0.417261 +18 1.05 1.01975 0.500357 +19 1.11 0.979091 0.589515 +20 1.17 0.891843 0.679743 +21 1.23 0.972833 0.788516 +22 1.29 1.04395 0.916904 +23 1.35 0.985006 1.04957 +24 1.41 0.970937 1.19223 +25 1.47 0.991569 1.35057 +26 1.53 0.975119 1.51926 +27 1.59 1.02509 1.71077 +28 1.65 1.06713 1.92546 +29 1.71 0.972105 2.13552 +30 1.77 1.02286 2.37233 +31 1.83 1.04336 2.63053 +32 1.89 0.971412 2.88695 +33 1.95 1.00902 3.17047 +34 2.01 0.950875 3.45435 +35 2.07 0.993419 3.7689 +36 2.13 0.975475 4.09593 +37 2.19 1.00427 4.45185 +38 2.25 1.02769 4.83631 +39 2.31 0.998517 5.23003 +40 2.37 0.965787 5.63088 +41 2.43 1.06335 6.09486 +42 2.49 1.02752 6.56562 +43 2.55 0.996805 7.04458 +44 2.61 0.979135 7.53745 +45 2.67 0.978277 8.05278 +46 2.73 0.992089 8.59914 +47 2.79 1.02118 9.18652 +48 2.85 0.988146 9.7796 +49 2.91 0.990566 10.3994 +50 2.97 0.980494 11.0385 +105900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.316701 0.0053495 +8 0.45 0.452189 0.0121255 +9 0.51 0.463376 0.0210414 +10 0.57 0.756928 0.0392297 +11 0.63 0.78984 0.0624108 +12 0.69 1.08404 0.100571 +13 0.75 1.12345 0.14729 +14 0.81 1.11031 0.201141 +15 0.87 1.12186 0.263909 +16 0.93 1.14359 0.337019 +17 0.99 1.07814 0.415121 +18 1.05 0.958478 0.493224 +19 1.11 1.02609 0.586662 +20 1.17 0.930619 0.680813 +21 1.23 0.928178 0.784593 +22 1.29 0.954054 0.901926 +23 1.35 0.939992 1.02853 +24 1.41 1.04376 1.18188 +25 1.47 0.946903 1.3331 +26 1.53 1.0885 1.5214 +27 1.59 0.981188 1.70471 +28 1.65 1.07599 1.92118 +29 1.71 1.02327 2.1423 +30 1.77 0.916566 2.35449 +31 1.83 0.995799 2.60093 +32 1.89 1.0214 2.87054 +33 1.95 1.00521 3.153 +34 2.01 0.981934 3.44615 +35 2.07 1.05311 3.7796 +36 2.13 0.952072 4.09879 +37 2.19 0.998231 4.45257 +38 2.25 0.985745 4.82133 +39 2.31 1.01118 5.22004 +40 2.37 0.998438 5.63445 +41 2.43 0.992245 6.0674 +42 2.49 0.983925 6.51819 +43 2.55 1.01388 7.00535 +44 2.61 0.993305 7.50535 +45 2.67 1.04259 8.05456 +46 2.73 0.987556 8.59843 +47 2.79 1.01932 9.18474 +48 2.85 1.0137 9.79315 +49 2.91 1.00766 10.4237 +50 2.97 0.98323 11.0646 +105950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.329681 0.00178317 +6 0.33 0.176796 0.0032097 +7 0.39 0.316701 0.00677603 +8 0.45 0.594986 0.0156919 +9 0.51 0.389236 0.0231812 +10 0.57 0.697561 0.0399429 +11 0.63 0.97211 0.0684736 +12 0.69 0.911813 0.100571 +13 0.75 1.23493 0.151926 +14 0.81 1.01472 0.201141 +15 0.87 1.1856 0.267475 +16 0.93 1.14359 0.340585 +17 0.99 1.04368 0.416191 +18 1.05 1.0854 0.504636 +19 1.11 0.845935 0.581669 +20 1.17 1.01875 0.684736 +21 1.23 1.043 0.801355 +22 1.29 0.985953 0.922611 +23 1.35 0.992949 1.05635 +24 1.41 0.970937 1.199 +25 1.47 0.973703 1.35449 +26 1.53 0.973057 1.52282 +27 1.59 1.01364 1.7122 +28 1.65 0.953677 1.90407 +29 1.71 0.977057 2.11519 +30 1.77 1.01361 2.34986 +31 1.83 1.00012 2.59736 +32 1.89 1.03761 2.87126 +33 1.95 0.989979 3.14943 +34 2.01 0.97835 3.44151 +35 2.07 0.972018 3.74929 +36 2.13 1.0276 4.09379 +37 2.19 1.05458 4.46755 +38 2.25 0.936172 4.81776 +39 2.31 1.04284 5.22896 +40 2.37 0.965787 5.62981 +41 2.43 0.962821 6.04993 +42 2.49 0.959794 6.48966 +43 2.55 1.03021 6.98466 +44 2.61 1.07124 7.52389 +45 2.67 1.01213 8.05706 +46 2.73 0.955177 8.5831 +47 2.79 1.00878 9.16334 +48 2.85 1.00894 9.7689 +49 2.91 1.00595 10.3984 +50 2.97 1.02044 11.0635 +106000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.316701 0.00570613 +8 0.45 0.380791 0.0114123 +9 0.51 0.556052 0.0221113 +10 0.57 0.86082 0.042796 +11 0.63 0.826294 0.0670471 +12 0.69 1.04352 0.10378 +13 0.75 0.994807 0.14515 +14 0.81 1.16913 0.201854 +15 0.87 1.17285 0.267475 +16 0.93 1.14917 0.340942 +17 0.99 1.0683 0.418331 +18 1.05 0.971608 0.497504 +19 1.11 1.09658 0.597361 +20 1.17 0.912993 0.689729 +21 1.23 0.909041 0.791369 +22 1.29 0.968553 0.910485 +23 1.35 0.953231 1.03887 +24 1.41 0.978219 1.1826 +25 1.47 1.0809 1.35521 +26 1.53 0.97718 1.52425 +27 1.59 1.01937 1.71469 +28 1.65 0.99622 1.91512 +29 1.71 1.06783 2.14586 +30 1.77 0.970481 2.37054 +31 1.83 0.992917 2.61626 +32 1.89 0.971412 2.87268 +33 1.95 0.974748 3.14658 +34 2.01 1.03211 3.45471 +35 2.07 0.911197 3.74322 +36 2.13 1.00207 4.07917 +37 2.19 0.995212 4.43188 +38 2.25 0.988605 4.80171 +39 2.31 1.04826 5.21505 +40 2.37 1.05944 5.65478 +41 2.43 1.05109 6.11341 +42 2.49 1.00183 6.5724 +43 2.55 0.99829 7.05207 +44 2.61 0.952213 7.53138 +45 2.67 0.934948 8.02389 +46 2.73 1.01152 8.58096 +47 2.79 0.9722 9.14016 +48 2.85 1.00241 9.7418 +49 2.91 1.02077 10.3805 +50 2.97 0.985419 11.0228 +106050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.285031 0.00499287 +8 0.45 0.333192 0.00998573 +9 0.51 0.648727 0.0224679 +10 0.57 0.742086 0.0402996 +11 0.63 0.899202 0.0666904 +12 0.69 1.06378 0.104137 +13 0.75 1.07199 0.148716 +14 0.81 1.00736 0.197575 +15 0.87 1.1346 0.261056 +16 0.93 1.0655 0.329173 +17 0.99 1.08799 0.407989 +18 1.05 1.03726 0.492511 +19 1.11 0.943844 0.578459 +20 1.17 0.99407 0.67903 +21 1.23 0.940937 0.784237 +22 1.29 0.959854 0.902282 +23 1.35 0.89233 1.02247 +24 1.41 1.02191 1.17261 +25 1.47 1.01167 1.33417 +26 1.53 1.09881 1.52425 +27 1.59 0.950645 1.70185 +28 1.65 1.00686 1.90442 +29 1.71 0.958902 2.11163 +30 1.77 1.01361 2.34629 +31 1.83 0.954007 2.58238 +32 1.89 0.956551 2.83488 +33 1.95 1.05471 3.13124 +34 2.01 0.992685 3.4276 +35 2.07 0.984408 3.7393 +36 2.13 1.02547 4.0831 +37 2.19 1.00326 4.43866 +38 2.25 0.993372 4.81027 +39 2.31 1.00304 5.20578 +40 2.37 1.00789 5.62411 +41 2.43 1.04129 6.07846 +42 2.49 0.995602 6.53459 +43 2.55 1.0213 7.02532 +44 2.61 0.959298 7.5082 +45 2.67 0.974215 8.0214 +46 2.73 0.99986 8.57204 +47 2.79 1.01064 9.15335 +48 2.85 1.00122 9.75428 +49 2.91 1.0202 10.3927 +50 2.97 0.996362 11.0421 +106100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.220995 0.00285307 +7 0.39 0.221691 0.0053495 +8 0.45 0.547387 0.0135521 +9 0.51 0.648727 0.0260342 +10 0.57 0.86082 0.046719 +11 0.63 0.874899 0.0723966 +12 0.69 0.952338 0.10592 +13 0.75 0.866168 0.14194 +14 0.81 1.08825 0.194722 +15 0.87 1.03899 0.252853 +16 0.93 1.21612 0.330599 +17 0.99 1.12737 0.412268 +18 1.05 1.12917 0.50428 +19 1.11 0.939927 0.589872 +20 1.17 0.944719 0.685449 +21 1.23 1.0143 0.798859 +22 1.29 0.939555 0.914408 +23 1.35 0.913513 1.03745 +24 1.41 0.895689 1.16904 +25 1.47 1.00497 1.32953 +26 1.53 0.93801 1.4918 +27 1.59 0.956372 1.67047 +28 1.65 1.06181 1.88409 +29 1.71 0.935796 2.08631 +30 1.77 0.96586 2.30991 +31 1.83 1.06065 2.5724 +32 1.89 0.990327 2.83381 +33 1.95 0.992517 3.1127 +34 2.01 1.05002 3.42618 +35 2.07 1.02833 3.75178 +36 2.13 1.02228 4.09451 +37 2.19 0.956974 4.43367 +38 2.25 0.981932 4.801 +39 2.31 0.995804 5.19365 +40 2.37 1.01047 5.61305 +41 2.43 0.967725 6.03531 +42 2.49 1.02207 6.50357 +43 2.55 0.973797 6.97147 +44 2.61 0.969925 7.4597 +45 2.67 1.0541 8.01498 +46 2.73 0.988204 8.5592 +47 2.79 0.95608 9.10913 +48 2.85 0.998248 9.70827 +49 2.91 1.0088 10.3395 +50 2.97 1.01168 10.9989 +106150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.220995 0.00178317 +7 0.39 0.411712 0.0064194 +8 0.45 0.452189 0.0131954 +9 0.51 0.759937 0.0278174 +10 0.57 0.742086 0.0456491 +11 0.63 0.765537 0.068117 +12 0.69 0.952338 0.101641 +13 0.75 1.1749 0.150499 +14 0.81 1.06619 0.202211 +15 0.87 1.10273 0.263909 +16 0.93 1.09897 0.334165 +17 0.99 1.15691 0.417974 +18 1.05 1.05039 0.503566 +19 1.11 0.924262 0.587732 +20 1.17 0.990545 0.687946 +21 1.23 0.91542 0.7903 +22 1.29 1.04975 0.919401 +23 1.35 0.969118 1.04993 +24 1.41 0.970937 1.19258 +25 1.47 0.991569 1.35093 +26 1.53 1.04521 1.53174 +27 1.59 1.00982 1.7204 +28 1.65 0.964313 1.91441 +29 1.71 0.995211 2.12946 +30 1.77 0.988967 2.35842 +31 1.83 1.00877 2.60806 +32 1.89 1.03626 2.8816 +33 1.95 1.03948 3.17368 +34 2.01 0.901898 3.44294 +35 2.07 0.914576 3.73252 +36 2.13 1.03611 4.07989 +37 2.19 1.07672 4.46148 +38 2.25 0.958098 4.8199 +39 2.31 1.01299 5.21933 +40 2.37 0.98469 5.62803 +41 2.43 1.02003 6.07311 +42 2.49 0.995602 6.52924 +43 2.55 0.99161 7.00571 +44 2.61 1.0096 7.51391 +45 2.67 0.989786 8.03531 +46 2.73 0.982376 8.57632 +47 2.79 1.01436 9.15977 +48 2.85 1.00062 9.76034 +49 2.91 1.00367 10.3884 +50 2.97 1.00129 11.041 +106200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.309393 0.00356633 +7 0.39 0.316701 0.00713267 +8 0.45 0.380791 0.0128388 +9 0.51 0.556052 0.0235378 +10 0.57 0.786611 0.0424394 +11 0.63 0.814142 0.0663338 +12 0.69 0.952338 0.0998573 +13 0.75 1.11487 0.14622 +14 0.81 1.06619 0.197932 +15 0.87 1.05174 0.256776 +16 0.93 1.09897 0.327033 +17 0.99 0.999373 0.399429 +18 1.05 0.989114 0.480029 +19 1.11 0.94776 0.566334 +20 1.17 1.02932 0.670471 +21 1.23 0.931368 0.774608 +22 1.29 0.974353 0.894437 +23 1.35 1.00089 1.02924 +24 1.41 1.1093 1.19223 +25 1.47 0.984869 1.3495 +26 1.53 0.946257 1.5132 +27 1.59 0.990732 1.69829 +28 1.65 0.973176 1.89408 +29 1.71 1.00181 2.11056 +30 1.77 1.00591 2.34344 +31 1.83 0.974183 2.58452 +32 1.89 1.04842 2.86127 +33 1.95 0.97221 3.13445 +34 2.01 1.09542 3.46148 +35 2.07 0.988913 3.77461 +36 2.13 1.02547 4.1184 +37 2.19 0.951942 4.45578 +38 2.25 1.001 4.83024 +39 2.31 1.01661 5.2311 +40 2.37 0.97352 5.63516 +41 2.43 0.972629 6.05956 +42 2.49 0.96213 6.50036 +43 2.55 1.02501 6.99287 +44 2.61 0.991888 7.49215 +45 2.67 0.986401 8.01177 +46 2.73 1.03224 8.58024 +47 2.79 1.00878 9.16049 +48 2.85 0.996465 9.75856 +49 2.91 0.988856 10.3773 +50 2.97 0.991437 11.0235 +106250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.265194 0.0032097 +7 0.39 0.253361 0.00606277 +8 0.45 0.333192 0.0110556 +9 0.51 0.611657 0.0228245 +10 0.57 0.756928 0.0410128 +11 0.63 0.899202 0.0674037 +12 0.69 1.02326 0.103424 +13 0.75 0.934775 0.142297 +14 0.81 1.30884 0.205777 +15 0.87 1.1346 0.269258 +16 0.93 1.08223 0.338445 +17 0.99 1.0043 0.411198 +18 1.05 0.980361 0.491084 +19 1.11 0.939927 0.576676 +20 1.17 0.976445 0.675464 +21 1.23 0.976023 0.784593 +22 1.29 0.974353 0.904422 +23 1.35 1.00089 1.03923 +24 1.41 0.990356 1.18474 +25 1.47 0.969236 1.33951 +26 1.53 1.0514 1.5214 +27 1.59 1.05373 1.71826 +28 1.65 1.04585 1.92867 +29 1.71 1.03647 2.15264 +30 1.77 1.00899 2.38623 +31 1.83 0.938155 2.6184 +32 1.89 0.961955 2.87233 +33 1.95 1.0014 3.15371 +34 2.01 1.01419 3.45649 +35 2.07 1.01707 3.77853 +36 2.13 0.951008 4.09736 +37 2.19 1.00628 4.45399 +38 2.25 0.989558 4.82418 +39 2.31 1.01389 5.22397 +40 2.37 0.968364 5.62589 +41 2.43 0.997149 6.06098 +42 2.49 1.01039 6.52389 +43 2.55 1.02204 7.01498 +44 2.61 1.02448 7.53067 +45 2.67 1.01077 8.06312 +46 2.73 0.999213 8.61341 +47 2.79 0.97406 9.17368 +48 2.85 1.00657 9.77782 +49 2.91 0.963778 10.3809 +50 2.97 0.998003 11.0314 +106300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.0883979 0.00142653 +7 0.39 0.221691 0.00392297 +8 0.45 0.571187 0.0124822 +9 0.51 0.611657 0.0242511 +10 0.57 0.771769 0.042796 +11 0.63 0.814142 0.0666904 +12 0.69 0.901681 0.0984308 +13 0.75 1.26066 0.150856 +14 0.81 1.06619 0.202568 +15 0.87 1.20472 0.269971 +16 0.93 1.17149 0.344864 +17 0.99 1.1766 0.4301 +18 1.05 1.05914 0.516405 +19 1.11 0.90468 0.598787 +20 1.17 0.831917 0.682953 +21 1.23 1.02387 0.797432 +22 1.29 0.962754 0.915835 +23 1.35 0.945288 1.04315 +24 1.41 0.902971 1.17582 +25 1.47 0.953603 1.3281 +26 1.53 1.04521 1.50892 +27 1.59 0.992641 1.69437 +28 1.65 1.0494 1.90549 +29 1.71 1.05463 2.13338 +30 1.77 0.988967 2.36234 +31 1.83 0.899246 2.58488 +32 1.89 0.970061 2.84094 +33 1.95 1.0344 3.1316 +34 2.01 1.0775 3.45328 +35 2.07 0.988913 3.76641 +36 2.13 0.947817 4.08417 +37 2.19 0.982131 4.43224 +38 2.25 0.949518 4.78745 +39 2.31 1.04012 5.19757 +40 2.37 0.998438 5.61198 +41 2.43 1.01104 6.05314 +42 2.49 0.975363 6.5 +43 2.55 0.992352 6.97682 +44 2.61 1.00322 7.48181 +45 2.67 1.02093 8.01961 +46 2.73 0.967481 8.55243 +47 2.79 1.01746 9.13766 +48 2.85 1.00419 9.74037 +49 2.91 0.982016 10.3549 +50 2.97 1.01332 11.0153 +106350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.348371 0.00606277 +8 0.45 0.642585 0.0156919 +9 0.51 0.722867 0.0296006 +10 0.57 0.727244 0.0470756 +11 0.63 0.923505 0.0741797 +12 0.69 0.992863 0.10913 +13 0.75 1.04626 0.152639 +14 0.81 1.0956 0.205777 +15 0.87 1.12823 0.268902 +16 0.93 1.20496 0.345934 +17 0.99 1.07322 0.42368 +18 1.05 0.962855 0.50214 +19 1.11 0.849851 0.579529 +20 1.17 0.916519 0.672254 +21 1.23 1.0749 0.792439 +22 1.29 1.02365 0.918331 +23 1.35 1.00619 1.05385 +24 1.41 1.00007 1.20078 +25 1.47 0.962536 1.35449 +26 1.53 1.04109 1.53459 +27 1.59 1.05754 1.73217 +28 1.65 1.01395 1.93616 +29 1.71 0.99026 2.15014 +30 1.77 1.01053 2.38409 +31 1.83 0.938155 2.61626 +32 1.89 0.993029 2.87839 +33 1.95 1.0509 3.17368 +34 2.01 0.986712 3.46826 +35 2.07 1.00018 3.78495 +36 2.13 0.97122 4.11056 +37 2.19 0.990181 4.46148 +38 2.25 1.02292 4.84415 +39 2.31 0.97681 5.22932 +40 2.37 0.95032 5.62375 +41 2.43 1.02412 6.07061 +42 2.49 1.03919 6.54672 +43 2.55 0.967117 7.01141 +44 2.61 1.01243 7.52104 +45 2.67 0.957967 8.02568 +46 2.73 1.00828 8.58096 +47 2.79 0.997621 9.15478 +48 2.85 1.04459 9.78174 +49 2.91 1.0088 10.413 +50 2.97 0.971193 11.046 +106400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.316701 0.00499287 +8 0.45 0.452189 0.0117689 +9 0.51 0.630192 0.0238944 +10 0.57 0.682719 0.0402996 +11 0.63 1.02072 0.0702568 +12 0.69 0.982731 0.10485 +13 0.75 1.16633 0.153352 +14 0.81 0.992659 0.201498 +15 0.87 1.24934 0.271398 +16 0.93 1.13802 0.344151 +17 0.99 1.07814 0.422254 +18 1.05 1.0854 0.510699 +19 1.11 0.881182 0.590942 +20 1.17 0.920044 0.684023 +21 1.23 0.99835 0.795649 +22 1.29 0.855459 0.900856 +23 1.35 0.998245 1.03531 +24 1.41 1.02191 1.18545 +25 1.47 0.996035 1.34451 +26 1.53 0.985426 1.51498 +27 1.59 0.99455 1.70078 +28 1.65 1.00863 1.90371 +29 1.71 1.01667 2.1234 +30 1.77 1.05829 2.3684 +31 1.83 1.07938 2.63552 +32 1.89 1.00519 2.90086 +33 1.95 0.964595 3.1719 +34 2.01 1.00463 3.47183 +35 2.07 0.944987 3.77104 +36 2.13 0.986113 4.10164 +37 2.19 1.03144 4.46719 +38 2.25 0.995278 4.83951 +39 2.31 0.992186 5.23074 +40 2.37 0.996719 5.64444 +41 2.43 1.01023 6.08524 +42 2.49 1.01895 6.55207 +43 2.55 1.03021 7.04708 +44 2.61 0.979844 7.5403 +45 2.67 0.997233 8.06562 +46 2.73 0.998565 8.61555 +47 2.79 0.993901 9.18723 +48 2.85 1.00003 9.78745 +49 2.91 0.989426 10.4066 +50 2.97 1.02317 11.0735 +106450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.411712 0.00570613 +8 0.45 0.333192 0.010699 +9 0.51 0.556052 0.021398 +10 0.57 0.771769 0.0399429 +11 0.63 0.887051 0.0659772 +12 0.69 0.911813 0.0980742 +13 0.75 1.30354 0.152282 +14 0.81 1.0956 0.205421 +15 0.87 1.15373 0.269971 +16 0.93 1.21612 0.347718 +17 0.99 1.08799 0.426534 +18 1.05 1.011 0.508916 +19 1.11 0.873349 0.588445 +20 1.17 0.842492 0.67368 +21 1.23 0.988781 0.784237 +22 1.29 0.872858 0.891583 +23 1.35 1.05915 1.03424 +24 1.41 0.980646 1.17832 +25 1.47 1.00497 1.3388 +26 1.53 1.04933 1.52033 +27 1.59 1.14345 1.73395 +28 1.65 1.0104 1.93723 +29 1.71 0.983658 2.14979 +30 1.77 1.01053 2.38374 +31 1.83 1.01453 2.63481 +32 1.89 1.0241 2.90514 +33 1.95 1.04075 3.19757 +34 2.01 0.935346 3.47682 +35 2.07 0.978776 3.78673 +36 2.13 1.03611 4.13409 +37 2.19 0.983137 4.48252 +38 2.25 0.980025 4.84914 +39 2.31 0.937014 5.21862 +40 2.37 1.00875 5.6373 +41 2.43 1.04782 6.09451 +42 2.49 1.01973 6.5617 +43 2.55 1.01907 7.05136 +44 2.61 0.978427 7.54387 +45 2.67 0.987078 8.06384 +46 2.73 1.00569 8.61769 +47 2.79 0.996381 9.1908 +48 2.85 1.04638 9.81883 +49 2.91 1.00766 10.4494 +50 2.97 0.97557 11.0852 +106500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.132597 0.0010699 +7 0.39 0.221691 0.00356633 +8 0.45 0.499788 0.0110556 +9 0.51 0.685797 0.0242511 +10 0.57 0.786611 0.0431526 +11 0.63 1.02072 0.0731098 +12 0.69 1.23601 0.116619 +13 0.75 0.891896 0.153709 +14 0.81 1.00001 0.202211 +15 0.87 1.10911 0.264265 +16 0.93 1.04876 0.331312 +17 0.99 1.20122 0.418331 +18 1.05 1.0285 0.50214 +19 1.11 0.955593 0.589158 +20 1.17 0.912993 0.681526 +21 1.23 0.909041 0.783167 +22 1.29 0.939555 0.898716 +23 1.35 0.990301 1.0321 +24 1.41 0.951518 1.1719 +25 1.47 1.00497 1.33238 +26 1.53 1.03078 1.5107 +27 1.59 1.04418 1.70578 +28 1.65 1.07422 1.9219 +29 1.71 1.07773 2.15478 +30 1.77 1.02132 2.39123 +31 1.83 0.912215 2.61698 +32 1.89 0.934934 2.86377 +33 1.95 1.00013 3.14479 +34 2.01 1.02972 3.45221 +35 2.07 1.00356 3.76997 +36 2.13 0.993559 4.10307 +37 2.19 1.05358 4.47646 +38 2.25 0.946658 4.8306 +39 2.31 1.04736 5.24358 +40 2.37 1.01562 5.66512 +41 2.43 0.979985 6.09272 +42 2.49 0.995602 6.54886 +43 2.55 0.96489 7.01248 +44 2.61 0.979844 7.50571 +45 2.67 1.004 8.03459 +46 2.73 1.04778 8.61163 +47 2.79 0.998241 9.18581 +48 2.85 1.0232 9.79993 +49 2.91 1.00538 10.429 +50 2.97 1.00457 11.0838 +106550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.265194 0.0032097 +7 0.39 0.190021 0.0053495 +8 0.45 0.42839 0.0117689 +9 0.51 0.685797 0.0249643 +10 0.57 0.697561 0.0417261 +11 0.63 0.899202 0.068117 +12 0.69 0.942206 0.101284 +13 0.75 1.10629 0.14729 +14 0.81 1.23531 0.207204 +15 0.87 1.12186 0.269971 +16 0.93 1.07665 0.338802 +17 0.99 0.999373 0.411198 +18 1.05 1.04163 0.496077 +19 1.11 0.963426 0.583809 +20 1.17 0.916519 0.676534 +21 1.23 0.924989 0.779957 +22 1.29 0.954054 0.89729 +23 1.35 0.971766 1.02817 +24 1.41 1.03405 1.1801 +25 1.47 1.01613 1.34237 +26 1.53 1.02047 1.5189 +27 1.59 1.10145 1.72468 +28 1.65 1.0299 1.93188 +29 1.71 1.03977 2.15656 +30 1.77 0.93043 2.37197 +31 1.83 0.975624 2.61341 +32 1.89 0.960604 2.86698 +33 1.95 1.01282 3.15157 +34 2.01 1.03449 3.46041 +35 2.07 0.992292 3.77461 +36 2.13 0.972284 4.10057 +37 2.19 0.979112 4.44757 +38 2.25 1.03532 4.83488 +39 2.31 1.04464 5.24679 +40 2.37 0.982112 5.65442 +41 2.43 1.01023 6.09522 +42 2.49 0.990931 6.54922 +43 2.55 1.01759 7.03816 +44 2.61 1.02519 7.55421 +45 2.67 0.973538 8.06705 +46 2.73 0.987556 8.61091 +47 2.79 1.0094 9.19151 +48 2.85 0.997654 9.7903 +49 2.91 1.00652 10.4201 +50 2.97 0.96025 11.046 +106600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.221691 0.00463623 +8 0.45 0.452189 0.0114123 +9 0.51 0.759937 0.0260342 +10 0.57 0.816295 0.0456491 +11 0.63 0.996413 0.074893 +12 0.69 0.871288 0.105563 +13 0.75 1.25208 0.157632 +14 0.81 1.05884 0.208987 +15 0.87 1.21747 0.277104 +16 0.93 1.22727 0.355563 +17 0.99 0.984604 0.42689 +18 1.05 0.905959 0.500713 +19 1.11 0.936011 0.585949 +20 1.17 0.856592 0.672611 +21 1.23 1.01749 0.786377 +22 1.29 0.901857 0.89729 +23 1.35 1.0565 1.03959 +24 1.41 0.975792 1.18295 +25 1.47 0.978169 1.33916 +26 1.53 1.0349 1.51819 +27 1.59 1.03273 1.71113 +28 1.65 1.06181 1.92475 +29 1.71 0.955601 2.13124 +30 1.77 1.0398 2.37197 +31 1.83 0.995799 2.6184 +32 1.89 1.02005 2.88766 +33 1.95 0.950634 3.15478 +34 2.01 1.03688 3.46434 +35 2.07 1.00806 3.78352 +36 2.13 0.986113 4.11412 +37 2.19 1.02943 4.47896 +38 2.25 0.964772 4.83987 +39 2.31 0.982237 5.22718 +40 2.37 1.01304 5.64765 +41 2.43 1.02739 6.09593 +42 2.49 0.983147 6.54636 +43 2.55 0.996805 7.02532 +44 2.61 1.04361 7.55064 +45 2.67 0.936302 8.04387 +46 2.73 0.996622 8.59272 +47 2.79 1.00878 9.17297 +48 2.85 1.00657 9.7771 +49 2.91 0.981446 10.3912 +50 2.97 0.993079 11.0385 +106650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.190021 0.00392297 +8 0.45 0.404591 0.00998573 +9 0.51 0.667262 0.0228245 +10 0.57 0.623352 0.0378031 +11 0.63 0.899202 0.064194 +12 0.69 1.20562 0.106633 +13 0.75 1.10629 0.152639 +14 0.81 1.13972 0.207917 +15 0.87 1.1601 0.272825 +16 0.93 1.15475 0.346648 +17 0.99 1.02891 0.421184 +18 1.05 1.04163 0.506063 +19 1.11 0.916429 0.589515 +20 1.17 0.877743 0.678317 +21 1.23 0.963264 0.78602 +22 1.29 0.980153 0.906562 +23 1.35 0.974414 1.0378 +24 1.41 0.949091 1.17725 +25 1.47 1.0206 1.34023 +26 1.53 1.00192 1.51355 +27 1.59 1.01746 1.70364 +28 1.65 1.02813 1.91049 +29 1.71 1.01502 2.12981 +30 1.77 0.99975 2.36127 +31 1.83 0.98427 2.60485 +32 1.89 1.04167 2.87981 +33 1.95 0.98871 3.15763 +34 2.01 1.00105 3.45649 +35 2.07 1.02946 3.78245 +36 2.13 0.997814 4.11698 +37 2.19 0.998231 4.47076 +38 2.25 0.977165 4.83631 +39 2.31 1.04555 5.24857 +40 2.37 0.982972 5.65656 +41 2.43 0.998784 6.09237 +42 2.49 0.936442 6.5214 +43 2.55 1.05767 7.0296 +44 2.61 0.973467 7.51961 +45 2.67 1.00942 8.05136 +46 2.73 1.02576 8.61626 +47 2.79 1.01994 9.20292 +48 2.85 1.02261 9.81669 +49 2.91 0.978027 10.4287 +50 2.97 0.980494 11.0678 +106700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.285031 0.0042796 +8 0.45 0.261794 0.00820257 +9 0.51 0.797007 0.0235378 +10 0.57 0.935028 0.0460057 +11 0.63 0.826294 0.0702568 +12 0.69 0.962469 0.104137 +13 0.75 1.00338 0.145863 +14 0.81 1.19119 0.203638 +15 0.87 1.16647 0.268902 +16 0.93 1.04876 0.335949 +17 0.99 1.02399 0.410128 +18 1.05 1.04163 0.495007 +19 1.11 0.955593 0.582026 +20 1.17 0.99407 0.682596 +21 1.23 0.889903 0.782097 +22 1.29 0.965654 0.900856 +23 1.35 1.04326 1.04137 +24 1.41 1.01463 1.19044 +25 1.47 1.0005 1.35021 +26 1.53 1.01635 1.52603 +27 1.59 0.975461 1.70827 +28 1.65 1.03522 1.91655 +29 1.71 1.01502 2.13588 +30 1.77 1.00745 2.36912 +31 1.83 0.948243 2.60378 +32 1.89 0.995731 2.86662 +33 1.95 1.01917 3.153 +34 2.01 0.96521 3.44116 +35 2.07 0.975397 3.75 +36 2.13 1.05207 4.10271 +37 2.19 1.02741 4.46683 +38 2.25 1.02674 4.85093 +39 2.31 1.01842 5.2525 +40 2.37 0.965787 5.65335 +41 2.43 1.01023 6.09415 +42 2.49 1.01117 6.55742 +43 2.55 0.921841 7.00036 +44 2.61 1.03936 7.52354 +45 2.67 1.01416 8.05777 +46 2.73 1.02058 8.61983 +47 2.79 1.01746 9.20506 +48 2.85 1.02617 9.82097 +49 2.91 0.969478 10.4276 +50 2.97 0.999098 11.0788 +106750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.253361 0.00499287 +8 0.45 0.452189 0.0117689 +9 0.51 0.722867 0.0256776 +10 0.57 0.608511 0.0402996 +11 0.63 0.911353 0.0670471 +12 0.69 1.06378 0.104494 +13 0.75 1.07199 0.149073 +14 0.81 1.13237 0.203994 +15 0.87 1.17285 0.269615 +16 0.93 1.17149 0.344508 +17 0.99 1.1126 0.425107 +18 1.05 1.0285 0.508916 +19 1.11 0.924262 0.593081 +20 1.17 0.920044 0.686163 +21 1.23 0.889903 0.785663 +22 1.29 0.951154 0.902639 +23 1.35 1.00884 1.03852 +24 1.41 1.00007 1.18545 +25 1.47 1.00274 1.34558 +26 1.53 1.04315 1.52603 +27 1.59 1.03273 1.71897 +28 1.65 1.07776 1.93581 +29 1.71 1.02822 2.15799 +30 1.77 0.955077 2.3791 +31 1.83 0.958331 2.61626 +32 1.89 1.02951 2.88802 +33 1.95 1.01282 3.17261 +34 2.01 0.987907 3.46755 +35 2.07 1.00581 3.78602 +36 2.13 0.975475 4.11305 +37 2.19 1.00226 4.46826 +38 2.25 0.997185 4.8413 +39 2.31 0.994899 5.23359 +40 2.37 0.992423 5.64551 +41 2.43 0.984889 6.07525 +42 2.49 1.01818 6.54173 +43 2.55 1.04134 7.04208 +44 2.61 1.00181 7.54636 +45 2.67 0.976923 8.06098 +46 2.73 1.01022 8.61733 +47 2.79 0.999481 9.19223 +48 2.85 1.00062 9.7928 +49 2.91 1.01222 10.4262 +50 2.97 0.9794 11.0646 +106800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.506722 0.00677603 +8 0.45 0.380791 0.0124822 +9 0.51 0.500446 0.0221113 +10 0.57 0.845978 0.0424394 +11 0.63 1.15438 0.0763195 +12 0.69 1.06378 0.113766 +13 0.75 1.00338 0.155492 +14 0.81 1.0809 0.207917 +15 0.87 1.19835 0.274964 +16 0.93 0.992975 0.338445 +17 0.99 1.0683 0.415835 +18 1.05 1.00224 0.497504 +19 1.11 1.04175 0.592368 +20 1.17 0.944719 0.687946 +21 1.23 1.04619 0.804922 +22 1.29 0.948254 0.921541 +23 1.35 1.01413 1.05813 +24 1.41 0.898117 1.19009 +25 1.47 1.034 1.35521 +26 1.53 1.02666 1.53281 +27 1.59 0.996459 1.71897 +28 1.65 0.98913 1.91797 +29 1.71 0.995211 2.13302 +30 1.77 0.985886 2.36127 +31 1.83 1.01309 2.61198 +32 1.89 1.0822 2.89765 +33 1.95 0.998863 3.17832 +34 2.01 0.934151 3.4572 +35 2.07 0.967513 3.76355 +36 2.13 1.0393 4.11198 +37 2.19 0.995212 4.46469 +38 2.25 0.947612 4.81919 +39 2.31 1.02384 5.2229 +40 2.37 1.01476 5.64408 +41 2.43 1.00777 6.08381 +42 2.49 1.02362 6.55278 +43 2.55 1.01388 7.03994 +44 2.61 0.955047 7.52068 +45 2.67 0.979631 8.03673 +46 2.73 1.00051 8.58773 +47 2.79 1.01932 9.17404 +48 2.85 1.00181 9.77532 +49 2.91 1.02875 10.419 +50 2.97 0.99089 11.0649 +106850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.486189 0.0053495 +7 0.39 0.316701 0.00891583 +8 0.45 0.523588 0.0167618 +9 0.51 0.537517 0.0271041 +10 0.57 0.608511 0.0417261 +11 0.63 0.850597 0.0666904 +12 0.69 1.1347 0.106633 +13 0.75 1.1406 0.154066 +14 0.81 1.14707 0.2097 +15 0.87 1.03262 0.267475 +16 0.93 1.25516 0.347718 +17 0.99 1.08306 0.426177 +18 1.05 0.975984 0.505706 +19 1.11 0.967342 0.593795 +20 1.17 0.955294 0.690442 +21 1.23 0.991971 0.801355 +22 1.29 0.913456 0.913695 +23 1.35 0.94264 1.04066 +24 1.41 0.99521 1.18688 +25 1.47 1.10323 1.36305 +26 1.53 0.981303 1.53281 +27 1.59 1.00409 1.7204 +28 1.65 0.927088 1.90692 +29 1.71 1.06783 2.13766 +30 1.77 0.96432 2.36091 +31 1.83 1.05344 2.62161 +32 1.89 0.978168 2.87981 +33 1.95 1.06994 3.18046 +34 2.01 1.03211 3.48859 +35 2.07 0.983282 3.79993 +36 2.13 0.992495 4.13267 +37 2.19 0.954961 4.47111 +38 2.25 0.955238 4.82846 +39 2.31 1.02927 5.23431 +40 2.37 1.03023 5.66191 +41 2.43 0.949743 6.07632 +42 2.49 1.03297 6.54957 +43 2.55 0.974539 7.01783 +44 2.61 1.00322 7.52282 +45 2.67 1.05072 8.07632 +46 2.73 0.948702 8.59879 +47 2.79 0.992041 9.1694 +48 2.85 1.03271 9.78923 +49 2.91 1.0145 10.424 +50 2.97 0.993079 11.0713 +106900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.411712 0.00677603 +8 0.45 0.333192 0.0117689 +9 0.51 0.741402 0.0260342 +10 0.57 0.608511 0.0406562 +11 0.63 0.887051 0.0666904 +12 0.69 0.9726 0.100927 +13 0.75 1.03769 0.14408 +14 0.81 1.11031 0.197932 +15 0.87 1.14735 0.262126 +16 0.93 1.24401 0.341655 +17 0.99 1.1766 0.42689 +18 1.05 0.892829 0.499643 +19 1.11 0.963426 0.587375 +20 1.17 0.944719 0.682953 +21 1.23 0.940937 0.78816 +22 1.29 0.983053 0.909058 +23 1.35 0.953231 1.03745 +24 1.41 0.953946 1.1776 +25 1.47 1.05187 1.34558 +26 1.53 1.03697 1.52496 +27 1.59 1.02509 1.71648 +28 1.65 1.01217 1.92011 +29 1.71 0.986959 2.13338 +30 1.77 0.933511 2.3495 +31 1.83 1.03327 2.60521 +32 1.89 1.00519 2.87054 +33 1.95 1.01917 3.15692 +34 2.01 1.07033 3.47646 +35 2.07 0.972018 3.78424 +36 2.13 0.972284 4.1102 +37 2.19 0.995212 4.46291 +38 2.25 1.00862 4.84023 +39 2.31 1.01299 5.23966 +40 2.37 0.943446 5.63124 +41 2.43 1.01268 6.07311 +42 2.49 0.955902 6.51106 +43 2.55 1.0161 6.99929 +44 2.61 1.01385 7.50963 +45 2.67 0.967445 8.01926 +46 2.73 1.02058 8.58131 +47 2.79 1.03048 9.17404 +48 2.85 1.02439 9.78887 +49 2.91 1.01906 10.4265 +50 2.97 1.0073 11.0831 +106950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.316701 0.0053495 +8 0.45 0.380791 0.0110556 +9 0.51 0.685797 0.0242511 +10 0.57 0.742086 0.0420827 +11 0.63 1.02072 0.0720399 +12 0.69 0.911813 0.104137 +13 0.75 1.12345 0.150856 +14 0.81 1.05884 0.202211 +15 0.87 1.27484 0.273538 +16 0.93 1.00413 0.337732 +17 0.99 1.01906 0.411555 +18 1.05 1.06352 0.498217 +19 1.11 0.920346 0.582026 +20 1.17 0.969395 0.6801 +21 1.23 0.979212 0.789586 +22 1.29 0.971453 0.909058 +23 1.35 1.06179 1.05207 +24 1.41 1.02434 1.20257 +25 1.47 0.96477 1.35663 +26 1.53 1.02253 1.53352 +27 1.59 1.05945 1.73146 +28 1.65 1.01749 1.93616 +29 1.71 0.924243 2.13588 +30 1.77 0.973562 2.36127 +31 1.83 1.0275 2.61555 +32 1.89 0.976817 2.8734 +33 1.95 0.958249 3.14265 +34 2.01 1.00105 3.44151 +35 2.07 1.04636 3.77282 +36 2.13 1.01164 4.11198 +37 2.19 1.00326 4.46755 +38 2.25 0.976212 4.83274 +39 2.31 0.989473 5.2229 +40 2.37 1.0414 5.65514 +41 2.43 1.03965 6.10877 +42 2.49 1.00183 6.56776 +43 2.55 0.975281 7.03638 +44 2.61 0.988346 7.53388 +45 2.67 1.03244 8.07775 +46 2.73 0.97331 8.61377 +47 2.79 0.981501 9.17832 +48 2.85 1.01013 9.78459 +49 2.91 1.00595 10.4141 +50 2.97 0.975023 11.0496 +107000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.411712 0.00713267 +8 0.45 0.333192 0.0121255 +9 0.51 0.667262 0.0249643 +10 0.57 0.697561 0.0417261 +11 0.63 0.753385 0.0638374 +12 0.69 0.992863 0.0987874 +13 0.75 1.23493 0.150143 +14 0.81 1.19854 0.208274 +15 0.87 1.11548 0.270685 +16 0.93 1.05992 0.338445 +17 0.99 0.925528 0.405492 +18 1.05 1.05914 0.491797 +19 1.11 0.94776 0.578103 +20 1.17 0.944719 0.67368 +21 1.23 0.902661 0.774608 +22 1.29 0.916356 0.887304 +23 1.35 1.04855 1.02853 +24 1.41 0.990356 1.17404 +25 1.47 1.07643 1.34593 +26 1.53 1.05346 1.52817 +27 1.59 0.920102 1.70007 +28 1.65 1.01395 1.90407 +29 1.71 0.953951 2.1102 +30 1.77 0.990507 2.33951 +31 1.83 1.01021 2.58951 +32 1.89 1.06058 2.86947 +33 1.95 0.959518 3.13909 +34 2.01 1.01658 3.44258 +35 2.07 0.961882 3.74715 +36 2.13 1.01803 4.08845 +37 2.19 1.01936 4.44971 +38 2.25 1.02006 4.83131 +39 2.31 0.992186 5.22254 +40 2.37 1.0646 5.66441 +41 2.43 1.00777 6.10414 +42 2.49 0.94734 6.53816 +43 2.55 1.00274 7.01997 +44 2.61 0.960006 7.50321 +45 2.67 0.975569 8.01712 +46 2.73 1.06073 8.60128 +47 2.79 1.0063 9.1801 +48 2.85 1.04994 9.81027 +49 2.91 0.961498 10.4119 +50 2.97 1.01168 11.0713 +107050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.316701 0.0053495 +8 0.45 0.380791 0.0110556 +9 0.51 0.593122 0.0224679 +10 0.57 0.727244 0.0399429 +11 0.63 0.777688 0.0627675 +12 0.69 0.932075 0.0955777 +13 0.75 1.02911 0.138374 +14 0.81 1.30149 0.201498 +15 0.87 1.12823 0.264622 +16 0.93 1.16591 0.339158 +17 0.99 1.08799 0.417974 +18 1.05 1.00662 0.5 +19 1.11 0.967342 0.588088 +20 1.17 0.955294 0.684736 +21 1.23 0.854817 0.780314 +22 1.29 0.939555 0.895863 +23 1.35 1.06444 1.03923 +24 1.41 0.961228 1.18046 +25 1.47 1.06973 1.35128 +26 1.53 0.973057 1.51961 +27 1.59 1.05373 1.71648 +28 1.65 0.990902 1.91583 +29 1.71 1.02162 2.13659 +30 1.77 0.978184 2.36305 +31 1.83 1.02894 2.61769 +32 1.89 0.972763 2.87447 +33 1.95 0.965864 3.14586 +34 2.01 0.987907 3.4408 +35 2.07 1.03735 3.76926 +36 2.13 1.03611 4.11662 +37 2.19 0.988168 4.46683 +38 2.25 0.977165 4.83238 +39 2.31 1.02113 5.23502 +40 2.37 1.01476 5.65621 +41 2.43 1.04047 6.1102 +42 2.49 1.03841 6.58595 +43 2.55 0.986414 7.05991 +44 2.61 0.970633 7.5485 +45 2.67 0.99791 8.07418 +46 2.73 0.968129 8.60735 +47 2.79 0.988941 9.17618 +48 2.85 0.977451 9.76284 +49 2.91 1.02647 10.4051 +50 2.97 1.03795 11.0817 +107100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.220995 0.00178317 +7 0.39 0.316701 0.0053495 +8 0.45 0.475989 0.0124822 +9 0.51 0.556052 0.0231812 +10 0.57 0.727244 0.0406562 +11 0.63 0.984262 0.0695435 +12 0.69 0.952338 0.103067 +13 0.75 1.16633 0.151569 +14 0.81 1.16178 0.207917 +15 0.87 1.12823 0.271041 +16 0.93 1.09897 0.341298 +17 0.99 1.01906 0.415121 +18 1.05 1.00662 0.497147 +19 1.11 0.959509 0.584522 +20 1.17 0.828392 0.668331 +21 1.23 1.03025 0.783524 +22 1.29 1.00335 0.906919 +23 1.35 1.00884 1.0428 +24 1.41 0.949091 1.18224 +25 1.47 1.00274 1.34237 +26 1.53 1.09881 1.53245 +27 1.59 1.06327 1.7311 +28 1.65 0.932405 1.91869 +29 1.71 0.960552 2.12625 +30 1.77 0.958158 2.34807 +31 1.83 0.985711 2.59201 +32 1.89 1.00924 2.85842 +33 1.95 0.970941 3.13124 +34 2.01 1.01777 3.43509 +35 2.07 1.03735 3.76355 +36 2.13 0.994623 4.097 +37 2.19 1.0415 4.46612 +38 2.25 1.00386 4.84165 +39 2.31 1.04374 5.25321 +40 2.37 0.952039 5.64836 +41 2.43 0.992245 6.08131 +42 2.49 0.999494 6.53923 +43 2.55 1.04802 7.0428 +44 2.61 0.979135 7.53566 +45 2.67 0.990463 8.05742 +46 2.73 0.997918 8.60699 +47 2.79 1.00506 9.18509 +48 2.85 0.983393 9.77532 +49 2.91 1.00937 10.4069 +50 2.97 1.00238 11.0603 +107150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.176796 0.00142653 +7 0.39 0.380042 0.00570613 +8 0.45 0.404591 0.0117689 +9 0.51 0.611657 0.0235378 +10 0.57 0.667877 0.0395863 +11 0.63 0.996413 0.0688302 +12 0.69 1.04352 0.105563 +13 0.75 1.20063 0.155492 +14 0.81 1.2206 0.214693 +15 0.87 1.1601 0.279601 +16 0.93 1.0655 0.347718 +17 0.99 1.07322 0.425464 +18 1.05 0.884076 0.497504 +19 1.11 1.01825 0.590228 +20 1.17 0.860117 0.677247 +21 1.23 1.02706 0.792083 +22 1.29 1.04395 0.920471 +23 1.35 1.02472 1.05849 +24 1.41 0.932099 1.19544 +25 1.47 1.0072 1.35628 +26 1.53 1.01017 1.53103 +27 1.59 1.03082 1.72361 +28 1.65 1.00508 1.92582 +29 1.71 0.985309 2.13873 +30 1.77 1.03364 2.37803 +31 1.83 0.929509 2.60806 +32 1.89 1.02951 2.87981 +33 1.95 1.01536 3.16512 +34 2.01 0.960432 3.45185 +35 2.07 1.00806 3.77104 +36 2.13 1.04249 4.12054 +37 2.19 0.990181 4.47147 +38 2.25 0.963818 4.83203 +39 2.31 0.987664 5.22147 +40 2.37 1.04054 5.65335 +41 2.43 1.03638 6.10556 +42 2.49 1.00261 6.56491 +43 2.55 1.00645 7.0485 +44 2.61 1.01952 7.5617 +45 2.67 1.00536 8.0913 +46 2.73 1.0154 8.6505 +47 2.79 0.9753 9.21148 +48 2.85 1.02023 9.82382 +49 2.91 0.975177 10.434 +50 2.97 1.00238 11.0874 +107200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.443382 0.00677603 +8 0.45 0.380791 0.0124822 +9 0.51 0.518981 0.0224679 +10 0.57 0.786611 0.0413695 +11 0.63 0.874899 0.0670471 +12 0.69 1.08404 0.105207 +13 0.75 1.10629 0.151213 +14 0.81 1.2059 0.2097 +15 0.87 1.11548 0.272111 +16 0.93 1.07665 0.340942 +17 0.99 1.1126 0.421541 +18 1.05 1.03726 0.506063 +19 1.11 0.896847 0.587732 +20 1.17 0.842492 0.672967 +21 1.23 0.982402 0.78281 +22 1.29 0.971453 0.902282 +23 1.35 1.00619 1.0378 +24 1.41 0.944236 1.17653 +25 1.47 0.987102 1.33417 +26 1.53 1.00604 1.5082 +27 1.59 1.05754 1.70578 +28 1.65 1.03699 1.91441 +29 1.71 1.00676 2.13195 +30 1.77 1.00437 2.36448 +31 1.83 1.00156 2.61234 +32 1.89 0.972763 2.86912 +33 1.95 1.00902 3.15264 +34 2.01 1.00583 3.45292 +35 2.07 1.05199 3.78602 +36 2.13 1.02441 4.12946 +37 2.19 0.996218 4.48252 +38 2.25 0.962865 4.84272 +39 2.31 1.00033 5.23716 +40 2.37 0.966646 5.63837 +41 2.43 1.01513 6.08131 +42 2.49 1.02674 6.55171 +43 2.55 0.995321 7.02996 +44 2.61 0.965674 7.51605 +45 2.67 0.993848 8.03959 +46 2.73 1.01605 8.59914 +47 2.79 1.01622 9.18367 +48 2.85 1.03152 9.80278 +49 2.91 0.996265 10.4262 +50 2.97 1.01223 11.0859 +107250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.263745 0.00178317 +6 0.33 0.176796 0.0032097 +7 0.39 0.285031 0.0064194 +8 0.45 0.523588 0.0142653 +9 0.51 0.611657 0.0260342 +10 0.57 0.756928 0.0442225 +11 0.63 0.862748 0.0695435 +12 0.69 1.06378 0.10699 +13 0.75 1.01196 0.149073 +14 0.81 1.06619 0.200785 +15 0.87 1.17922 0.266762 +16 0.93 1.07665 0.335592 +17 0.99 1.03383 0.410485 +18 1.05 1.06789 0.497504 +19 1.11 1.04175 0.592368 +20 1.17 1.07162 0.700785 +21 1.23 0.979212 0.810271 +22 1.29 0.904756 0.921541 +23 1.35 0.966471 1.05171 +24 1.41 0.861707 1.17832 +25 1.47 0.975936 1.33417 +26 1.53 0.935949 1.49608 +27 1.59 1.11481 1.70435 +28 1.65 1.04763 1.91512 +29 1.71 1.05793 2.14372 +30 1.77 1.04442 2.38552 +31 1.83 0.990035 2.63053 +32 1.89 0.979519 2.88909 +33 1.95 1.03821 3.18081 +34 2.01 0.981934 3.47397 +35 2.07 0.978776 3.78388 +36 2.13 0.936116 4.09772 +37 2.19 0.972068 4.44223 +38 2.25 0.999092 4.81598 +39 2.31 1.00033 5.21041 +40 2.37 1.02078 5.63409 +41 2.43 1.02494 6.08131 +42 2.49 1.04698 6.56098 +43 2.55 0.986414 7.03495 +44 2.61 0.973467 7.52496 +45 2.67 1.02161 8.06312 +46 2.73 0.986261 8.60628 +47 2.79 1.0218 9.19401 +48 2.85 1.02083 9.8067 +49 2.91 1.0487 10.4629 +50 2.97 0.991985 11.1095 +107300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.221691 0.0042796 +8 0.45 0.571187 0.0128388 +9 0.51 0.593122 0.0242511 +10 0.57 0.727244 0.0417261 +11 0.63 0.97211 0.0702568 +12 0.69 1.01313 0.10592 +13 0.75 0.969079 0.14622 +14 0.81 1.17648 0.203281 +15 0.87 1.28121 0.274964 +16 0.93 1.05992 0.342725 +17 0.99 1.16676 0.427247 +18 1.05 0.945348 0.50428 +19 1.11 0.802855 0.577389 +20 1.17 0.962344 0.67475 +21 1.23 0.928178 0.778531 +22 1.29 1.02655 0.904779 +23 1.35 0.939992 1.03138 +24 1.41 0.966082 1.17332 +25 1.47 0.891072 1.31562 +26 1.53 1.09057 1.50428 +27 1.59 1.006 1.69223 +28 1.65 1.10258 1.91405 +29 1.71 0.993561 2.12874 +30 1.77 1.05521 2.37304 +31 1.83 0.955448 2.60949 +32 1.89 0.982221 2.86876 +33 1.95 0.998863 3.14943 +34 2.01 0.995074 3.4465 +35 2.07 0.973145 3.75464 +36 2.13 1.01377 4.09451 +37 2.19 0.996218 4.44757 +38 2.25 1.00386 4.82311 +39 2.31 1.04645 5.23573 +40 2.37 0.986408 5.64515 +41 2.43 1.00124 6.08203 +42 2.49 0.974584 6.52853 +43 2.55 1.03169 7.02425 +44 2.61 0.996848 7.52603 +45 2.67 1.03718 8.0724 +46 2.73 0.964891 8.60378 +47 2.79 0.998241 9.17796 +48 2.85 0.979828 9.76605 +49 2.91 0.996835 10.3898 +50 2.97 1.01004 11.0481 +107350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.0883979 0.000713267 +7 0.39 0.348371 0.00463623 +8 0.45 0.285593 0.00891583 +9 0.51 0.722867 0.0228245 +10 0.57 0.742086 0.0406562 +11 0.63 0.899202 0.0670471 +12 0.69 0.942206 0.100214 +13 0.75 1.1406 0.147646 +14 0.81 1.2059 0.206134 +15 0.87 1.09636 0.267475 +16 0.93 1.05434 0.334879 +17 0.99 1.12737 0.416548 +18 1.05 0.905959 0.490371 +19 1.11 0.967342 0.578459 +20 1.17 0.969395 0.676534 +21 1.23 0.985591 0.786733 +22 1.29 1.00915 0.910842 +23 1.35 0.921457 1.03495 +24 1.41 0.924817 1.17083 +25 1.47 1.06303 1.34058 +26 1.53 1.05552 1.52318 +27 1.59 1.03464 1.71648 +28 1.65 1.02458 1.92261 +29 1.71 0.985309 2.13552 +30 1.77 1.03364 2.37482 +31 1.83 0.974183 2.61591 +32 1.89 0.993029 2.87803 +33 1.95 0.997594 3.15835 +34 2.01 1.00821 3.45934 +35 2.07 0.948366 3.75963 +36 2.13 1.01803 4.10093 +37 2.19 1.02641 4.46469 +38 2.25 0.991465 4.83559 +39 2.31 1.00756 5.23288 +40 2.37 1.00016 5.648 +41 2.43 0.970177 6.07133 +42 2.49 1.00961 6.53388 +43 2.55 1.02649 7.0271 +44 2.61 0.970633 7.51569 +45 2.67 1.0128 8.04922 +46 2.73 1.01734 8.60949 +47 2.79 0.95546 9.15906 +48 2.85 1.01073 9.76569 +49 2.91 1.02134 10.4048 +50 2.97 1.01715 11.0678 +107400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.221691 0.0053495 +8 0.45 0.618786 0.014622 +9 0.51 0.463376 0.0235378 +10 0.57 0.771769 0.0420827 +11 0.63 0.826294 0.0663338 +12 0.69 1.12457 0.10592 +13 0.75 1.18348 0.155136 +14 0.81 1.05884 0.206491 +15 0.87 1.14735 0.270685 +16 0.93 1.09339 0.340585 +17 0.99 1.06337 0.417618 +18 1.05 1.03288 0.501783 +19 1.11 0.90468 0.584165 +20 1.17 0.983495 0.683666 +21 1.23 0.937747 0.788516 +22 1.29 0.948254 0.905136 +23 1.35 1.04591 1.04601 +24 1.41 0.876271 1.17475 +25 1.47 1.0675 1.34522 +26 1.53 1.03903 1.52496 +27 1.59 0.969734 1.70613 +28 1.65 1.00686 1.9087 +29 1.71 0.965504 2.11733 +30 1.77 0.981265 2.34451 +31 1.83 1.05921 2.60663 +32 1.89 1.0241 2.87696 +33 1.95 0.996325 3.15692 +34 2.01 1.00583 3.4572 +35 2.07 1.04298 3.78745 +36 2.13 0.964837 4.11091 +37 2.19 0.9932 4.46291 +38 2.25 1.04294 4.85307 +39 2.31 1.04645 5.26569 +40 2.37 1.02937 5.69294 +41 2.43 1.00777 6.13267 +42 2.49 0.94734 6.56669 +43 2.55 0.975281 7.03531 +44 2.61 0.970633 7.52389 +45 2.67 0.986401 8.04351 +46 2.73 0.984966 8.58595 +47 2.79 1.01126 9.16762 +48 2.85 1.04341 9.79387 +49 2.91 1.00538 10.423 +50 2.97 1.02919 11.0938 +107450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.348371 0.00570613 +8 0.45 0.380791 0.0114123 +9 0.51 0.593122 0.0228245 +10 0.57 1.12797 0.0499287 +11 0.63 0.935656 0.0773894 +12 0.69 0.962469 0.11127 +13 0.75 1.06341 0.155492 +14 0.81 0.882363 0.198288 +15 0.87 1.21747 0.266405 +16 0.93 1.20496 0.343438 +17 0.99 0.959989 0.412981 +18 1.05 1.13792 0.505706 +19 1.11 0.975175 0.594508 +20 1.17 0.898893 0.685449 +21 1.23 0.924989 0.788873 +22 1.29 0.971453 0.908345 +23 1.35 0.992949 1.04208 +24 1.41 0.941809 1.18046 +25 1.47 0.96477 1.33452 +26 1.53 1.0081 1.50892 +27 1.59 1.09381 1.71327 +28 1.65 1.06535 1.9276 +29 1.71 1.06123 2.15692 +30 1.77 1.01669 2.3923 +31 1.83 0.974183 2.63338 +32 1.89 0.963306 2.88766 +33 1.95 1.0179 3.17368 +34 2.01 1.04047 3.48431 +35 2.07 0.960755 3.78852 +36 2.13 1.0159 4.1291 +37 2.19 0.987162 4.47896 +38 2.25 0.955238 4.83631 +39 2.31 1.01661 5.23716 +40 2.37 1.00016 5.65228 +41 2.43 1.03556 6.10414 +42 2.49 0.936442 6.53317 +43 2.55 1.02204 7.02425 +44 2.61 0.952921 7.50392 +45 2.67 1.00671 8.03424 +46 2.73 0.997918 8.58381 +47 2.79 0.988941 9.15264 +48 2.85 1.03687 9.77496 +49 2.91 1.04186 10.4269 +50 2.97 0.986513 11.0699 +107500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.221691 0.00392297 +8 0.45 0.452189 0.010699 +9 0.51 0.500446 0.0203281 +10 0.57 0.697561 0.0370899 +11 0.63 1.03287 0.0674037 +12 0.69 1.03339 0.10378 +13 0.75 1.12345 0.150499 +14 0.81 1.22796 0.210057 +15 0.87 1.28121 0.28174 +16 0.93 1.10455 0.352354 +17 0.99 0.925528 0.419401 +18 1.05 0.923465 0.49465 +19 1.11 0.877266 0.574536 +20 1.17 1.00465 0.676177 +21 1.23 1.04619 0.793153 +22 1.29 0.904756 0.904422 +23 1.35 1.00089 1.03923 +24 1.41 1.05589 1.19437 +25 1.47 1.034 1.35949 +26 1.53 1.0081 1.53388 +27 1.59 0.981188 1.71719 +28 1.65 0.980267 1.91441 +29 1.71 0.995211 2.12946 +30 1.77 1.01053 2.36341 +31 1.83 1.00156 2.61127 +32 1.89 0.948444 2.86163 +33 1.95 1.06486 3.16084 +34 2.01 1.01658 3.46434 +35 2.07 1.06325 3.801 +36 2.13 0.998878 4.13588 +37 2.19 1.00528 4.49215 +38 2.25 0.953332 4.84879 +39 2.31 1.00756 5.24608 +40 2.37 0.982972 5.65407 +41 2.43 1.00532 6.09272 +42 2.49 1.0065 6.55385 +43 2.55 0.976765 7.02318 +44 2.61 0.977718 7.51534 +45 2.67 1.02567 8.05563 +46 2.73 0.998565 8.60556 +47 2.79 1.028 9.19686 +48 2.85 1.02261 9.81063 +49 2.91 1.00025 10.4365 +50 2.97 0.986513 11.0795 +107550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.348371 0.00570613 +8 0.45 0.475989 0.0128388 +9 0.51 0.463376 0.0217546 +10 0.57 0.593669 0.03602 +11 0.63 0.935656 0.0634807 +12 0.69 1.08404 0.101641 +13 0.75 1.1406 0.149073 +14 0.81 1.06619 0.200785 +15 0.87 1.22384 0.269258 +16 0.93 1.15475 0.343081 +17 0.99 1.0683 0.420471 +18 1.05 0.984738 0.500713 +19 1.11 0.943844 0.586662 +20 1.17 0.948244 0.682596 +21 1.23 0.940937 0.787803 +22 1.29 0.948254 0.904422 +23 1.35 0.950583 1.03245 +24 1.41 1.03405 1.18438 +25 1.47 1.05187 1.35235 +26 1.53 0.987488 1.52318 +27 1.59 1.04991 1.71933 +28 1.65 0.973176 1.91512 +29 1.71 0.973756 2.12553 +30 1.77 0.968941 2.34986 +31 1.83 0.979947 2.59237 +32 1.89 0.976817 2.85021 +33 1.95 1.03186 3.14016 +34 2.01 1.06436 3.45792 +35 2.07 0.984408 3.76961 +36 2.13 1.06483 4.1266 +37 2.19 1.01232 4.48538 +38 2.25 1.04676 4.87696 +39 2.31 0.974097 5.26106 +40 2.37 1.00703 5.67903 +41 2.43 0.964456 6.09986 +42 2.49 0.982369 6.54993 +43 2.55 0.962663 7.01248 +44 2.61 0.998265 7.51498 +45 2.67 0.99114 8.03709 +46 2.73 1.06721 8.62482 +47 2.79 1.06396 9.2368 +48 2.85 0.995277 9.83417 +49 2.91 0.997405 10.4583 +50 2.97 0.994173 11.1063 +107600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.220995 0.00285307 +7 0.39 0.285031 0.00606277 +8 0.45 0.523588 0.0139087 +9 0.51 0.556052 0.0246077 +10 0.57 0.86082 0.0452924 +11 0.63 0.753385 0.0674037 +12 0.69 1.07391 0.105207 +13 0.75 1.15775 0.153352 +14 0.81 1.2059 0.21184 +15 0.87 1.1346 0.275321 +16 0.93 1.14359 0.348431 +17 0.99 1.03383 0.423324 +18 1.05 1.04601 0.508559 +19 1.11 0.889015 0.589515 +20 1.17 0.983495 0.689016 +21 1.23 0.905851 0.7903 +22 1.29 0.948254 0.906919 +23 1.35 0.977062 1.03852 +24 1.41 1.00977 1.18688 +25 1.47 1.01837 1.3495 +26 1.53 1.01017 1.52425 +27 1.59 1.01555 1.71398 +28 1.65 1.03167 1.92154 +29 1.71 0.962203 2.12946 +30 1.77 1.03056 2.36805 +31 1.83 1.00733 2.61733 +32 1.89 1.00519 2.88267 +33 1.95 1.00648 3.16548 +34 2.01 0.975961 3.45685 +35 2.07 0.992292 3.77104 +36 2.13 1.05207 4.12375 +37 2.19 0.969049 4.46719 +38 2.25 1.0153 4.847 +39 2.31 0.999422 5.24108 +40 2.37 0.981253 5.64836 +41 2.43 0.982437 6.07703 +42 2.49 1.02285 6.54565 +43 2.55 1.00349 7.02782 +44 2.61 0.966382 7.51427 +45 2.67 1.00874 8.04565 +46 2.73 1.03807 8.61733 +47 2.79 1.00196 9.19365 +48 2.85 1.00894 9.79922 +49 2.91 0.975177 10.4094 +50 2.97 0.990343 11.0549 +107650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.221691 0.0053495 +8 0.45 0.452189 0.0121255 +9 0.51 0.537517 0.0224679 +10 0.57 0.890503 0.0438659 +11 0.63 0.947808 0.0716833 +12 0.69 0.901681 0.103424 +13 0.75 1.08914 0.148716 +14 0.81 1.11766 0.202924 +15 0.87 1.03262 0.260699 +16 0.93 1.18822 0.336662 +17 0.99 1.18645 0.422611 +18 1.05 0.940972 0.499287 +19 1.11 1.01434 0.591655 +20 1.17 1.00817 0.693652 +21 1.23 0.944126 0.799215 +22 1.29 0.864158 0.905492 +23 1.35 1.04591 1.04636 +24 1.41 1.00249 1.19365 +25 1.47 0.982636 1.35057 +26 1.53 1.07614 1.53673 +27 1.59 1.06136 1.73502 +28 1.65 0.980267 1.93224 +29 1.71 0.91434 2.12981 +30 1.77 1.04904 2.37268 +31 1.83 1.04047 2.63017 +32 1.89 1.00114 2.89444 +33 1.95 1.02298 3.18188 +34 2.01 0.967599 3.47076 +35 2.07 1.0013 3.7878 +36 2.13 0.994623 4.12126 +37 2.19 0.970055 4.46505 +38 2.25 1.03055 4.85057 +39 2.31 1.02475 5.25464 +40 2.37 1.03539 5.68438 +41 2.43 1.00532 6.12304 +42 2.49 1.00183 6.58203 +43 2.55 1.01462 7.06954 +44 2.61 0.994014 7.5699 +45 2.67 0.965414 8.07846 +46 2.73 0.964244 8.60949 +47 2.79 1.02056 9.1965 +48 2.85 1.00597 9.80029 +49 2.91 0.988286 10.4187 +50 2.97 0.988702 11.0631 +107700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.221691 0.00499287 +8 0.45 0.499788 0.0124822 +9 0.51 0.778472 0.0274608 +10 0.57 0.638194 0.042796 +11 0.63 0.935656 0.0702568 +12 0.69 0.921944 0.10271 +13 0.75 1.10629 0.148716 +14 0.81 1.00736 0.197575 +15 0.87 1.1601 0.262482 +16 0.93 1.08223 0.331669 +17 0.99 1.24552 0.421897 +18 1.05 1.03726 0.506419 +19 1.11 0.877266 0.586305 +20 1.17 0.969395 0.684379 +21 1.23 0.972833 0.793153 +22 1.29 0.974353 0.912981 +23 1.35 1.04591 1.05385 +24 1.41 0.934527 1.19116 +25 1.47 0.982636 1.34807 +26 1.53 0.960688 1.51427 +27 1.59 1.04609 1.7097 +28 1.65 1.08662 1.92832 +29 1.71 0.998512 2.14408 +30 1.77 1.0398 2.38481 +31 1.83 0.987153 2.6291 +32 1.89 0.961955 2.88302 +33 1.95 0.977287 3.15763 +34 2.01 0.956848 3.4433 +35 2.07 1.0182 3.76569 +36 2.13 0.956327 4.08631 +37 2.19 0.978105 4.43295 +38 2.25 1.00767 4.80991 +39 2.31 1.02746 5.21505 +40 2.37 0.986408 5.62447 +41 2.43 0.985706 6.05456 +42 2.49 1.00728 6.51605 +43 2.55 1.02204 7.00713 +44 2.61 0.983386 7.50214 +45 2.67 1.02634 8.0428 +46 2.73 1.01734 8.60307 +47 2.79 0.95732 9.15371 +48 2.85 0.997654 9.7525 +49 2.91 1.02248 10.3923 +50 2.97 0.984325 11.0339 +107750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.132597 0.0021398 +7 0.39 0.348371 0.00606277 +8 0.45 0.452189 0.0128388 +9 0.51 0.556052 0.0235378 +10 0.57 0.816295 0.0431526 +11 0.63 0.97211 0.0716833 +12 0.69 1.08404 0.109843 +13 0.75 0.969079 0.150143 +14 0.81 1.29413 0.21291 +15 0.87 1.14735 0.277104 +16 0.93 1.17707 0.352354 +17 0.99 0.891066 0.416904 +18 1.05 1.12041 0.508203 +19 1.11 0.939927 0.593795 +20 1.17 0.905943 0.685449 +21 1.23 0.864386 0.782097 +22 1.29 1.01785 0.907275 +23 1.35 0.97971 1.03923 +24 1.41 1.07289 1.19686 +25 1.47 0.942437 1.34736 +26 1.53 0.987488 1.51819 +27 1.59 1.00791 1.70649 +28 1.65 1.01572 1.91084 +29 1.71 0.978707 2.12233 +30 1.77 1.00283 2.35449 +31 1.83 0.988594 2.59914 +32 1.89 1.02545 2.86983 +33 1.95 1.06486 3.16904 +34 2.01 0.997463 3.46683 +35 2.07 1.00468 3.78495 +36 2.13 0.985049 4.11519 +37 2.19 0.986156 4.46469 +38 2.25 0.981932 4.83203 +39 2.31 1.01932 5.23395 +40 2.37 1.01476 5.65514 +41 2.43 1.01922 6.09986 +42 2.49 0.989374 6.55314 +43 2.55 1.00571 7.03638 +44 2.61 0.958589 7.5189 +45 2.67 1.0365 8.06491 +46 2.73 0.975252 8.602 +47 2.79 0.980261 9.16583 +48 2.85 1.00181 9.76712 +49 2.91 1.07663 10.4408 +50 2.97 1.00129 11.0934 +107800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.285031 0.0053495 +8 0.45 0.475989 0.0124822 +9 0.51 0.574587 0.0235378 +10 0.57 0.831136 0.0435093 +11 0.63 1.03287 0.0738231 +12 0.69 1.05365 0.110913 +13 0.75 1.13202 0.157989 +14 0.81 0.985306 0.205777 +15 0.87 1.09636 0.267118 +16 0.93 1.04876 0.334165 +17 0.99 1.10768 0.414408 +18 1.05 1.04601 0.499643 +19 1.11 0.920346 0.583452 +20 1.17 0.951769 0.679743 +21 1.23 1.04619 0.796719 +22 1.29 0.994652 0.919044 +23 1.35 1.01943 1.05635 +24 1.41 0.975792 1.19971 +25 1.47 1.0608 1.36912 +26 1.53 0.987488 1.53994 +27 1.59 0.950645 1.71755 +28 1.65 0.969631 1.91262 +29 1.71 1.05298 2.14016 +30 1.77 1.02902 2.37839 +31 1.83 0.987153 2.62268 +32 1.89 1.00114 2.88695 +33 1.95 0.995056 3.16655 +34 2.01 1.03211 3.47468 +35 2.07 1.04861 3.8067 +36 2.13 0.948881 4.12482 +37 2.19 0.970055 4.46862 +38 2.25 1.00958 4.84629 +39 2.31 1.00123 5.24108 +40 2.37 0.958913 5.63909 +41 2.43 0.986524 6.06954 +42 2.49 0.984704 6.52068 +43 2.55 1.03392 7.01748 +44 2.61 1.0096 7.52568 +45 2.67 1.0101 8.05777 +46 2.73 0.995975 8.60628 +47 2.79 1.00134 9.18224 +48 2.85 1.03271 9.80207 +49 2.91 0.967768 10.4076 +50 2.97 1.00347 11.0617 +107850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.126681 0.00392297 +8 0.45 0.452189 0.010699 +9 0.51 0.648727 0.0231812 +10 0.57 0.667877 0.0392297 +11 0.63 0.984262 0.068117 +12 0.69 0.982731 0.10271 +13 0.75 1.13202 0.149786 +14 0.81 1.12501 0.204351 +15 0.87 1.20472 0.271755 +16 0.93 1.09339 0.341655 +17 0.99 1.02399 0.415835 +18 1.05 1.04601 0.50107 +19 1.11 0.979091 0.590228 +20 1.17 0.97997 0.689372 +21 1.23 0.972833 0.798146 +22 1.29 0.968553 0.917261 +23 1.35 0.879091 1.03566 +24 1.41 1.00977 1.18402 +25 1.47 1.06303 1.35378 +26 1.53 1.01841 1.52996 +27 1.59 0.973552 1.71184 +28 1.65 1.04054 1.92118 +29 1.71 0.98861 2.13481 +30 1.77 0.975103 2.36056 +31 1.83 1.09379 2.63124 +32 1.89 0.997082 2.89444 +33 1.95 0.962056 3.16476 +34 2.01 0.967599 3.45364 +35 2.07 1.0869 3.79779 +36 2.13 0.999942 4.13302 +37 2.19 1.02641 4.49679 +38 2.25 0.933312 4.84593 +39 2.31 1.00575 5.24251 +40 2.37 0.970942 5.64551 +41 2.43 1.03883 6.09879 +42 2.49 1.00572 6.55956 +43 2.55 0.987157 7.03388 +44 2.61 1.01314 7.54387 +45 2.67 0.955936 8.04743 +46 2.73 1.01022 8.60378 +47 2.79 1.02118 9.19116 +48 2.85 0.982204 9.78067 +49 2.91 0.987716 10.3987 +50 2.97 0.986513 11.0417 +107900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.158351 0.0042796 +8 0.45 0.618786 0.0135521 +9 0.51 0.574587 0.0246077 +10 0.57 0.756928 0.042796 +11 0.63 0.911353 0.0695435 +12 0.69 0.9726 0.10378 +13 0.75 1.04626 0.14729 +14 0.81 1.18384 0.204708 +15 0.87 1.10273 0.266405 +16 0.93 1.21612 0.344151 +17 0.99 1.05845 0.420827 +18 1.05 1.05039 0.506419 +19 1.11 1.03 0.600214 +20 1.17 0.909468 0.692225 +21 1.23 0.972833 0.800999 +22 1.29 0.945354 0.917261 +23 1.35 0.961175 1.04672 +24 1.41 0.980646 1.1908 +25 1.47 0.993802 1.3495 +26 1.53 1.04109 1.5296 +27 1.59 1.06518 1.7286 +28 1.65 1.02104 1.93402 +29 1.71 0.996862 2.14943 +30 1.77 1.01053 2.38338 +31 1.83 0.965536 2.62233 +32 1.89 1.00924 2.88873 +33 1.95 1.03059 3.17832 +34 2.01 0.944902 3.46041 +35 2.07 0.993419 3.77496 +36 2.13 0.97973 4.10342 +37 2.19 1.0254 4.46683 +38 2.25 0.958098 4.82525 +39 2.31 0.975001 5.2097 +40 2.37 1.0182 5.63231 +41 2.43 1.02249 6.07846 +42 2.49 1.0283 6.54957 +43 2.55 1.05321 7.05563 +44 2.61 0.983386 7.55064 +45 2.67 0.976246 8.06491 +46 2.73 0.972662 8.60057 +47 2.79 1.02614 9.1908 +48 2.85 0.969132 9.77247 +49 2.91 0.975747 10.383 +50 2.97 0.980494 11.0221 +107950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.0883979 0.00178317 +7 0.39 0.380042 0.00606277 +8 0.45 0.42839 0.0124822 +9 0.51 0.500446 0.0221113 +10 0.57 0.771769 0.0406562 +11 0.63 0.959959 0.0688302 +12 0.69 1.08404 0.10699 +13 0.75 1.10629 0.152996 +14 0.81 1.30149 0.21612 +15 0.87 1.12186 0.278887 +16 0.93 1.1157 0.350214 +17 0.99 0.925528 0.417261 +18 1.05 0.932218 0.493224 +19 1.11 0.99084 0.583452 +20 1.17 1.0399 0.688659 +21 1.23 0.991971 0.799572 +22 1.29 0.933755 0.914408 +23 1.35 0.916161 1.0378 +24 1.41 1.04376 1.19116 +25 1.47 1.02507 1.35485 +26 1.53 1.05346 1.53709 +27 1.59 1.00791 1.72539 +28 1.65 1.06535 1.93973 +29 1.71 1.01007 2.15799 +30 1.77 1.02286 2.39479 +31 1.83 0.985711 2.63873 +32 1.89 0.963306 2.89301 +33 1.95 1.0014 3.17439 +34 2.01 0.972377 3.46469 +35 2.07 1.03284 3.79173 +36 2.13 1.01483 4.13195 +37 2.19 1.02641 4.49572 +38 2.25 0.926638 4.84237 +39 2.31 0.96053 5.22111 +40 2.37 1.01734 5.64337 +41 2.43 1.01758 6.08738 +42 2.49 1.0065 6.5485 +43 2.55 1.01239 7.03495 +44 2.61 1.03086 7.55385 +45 2.67 1.02838 8.09558 +46 2.73 0.987556 8.63944 +47 2.79 1.03792 9.23645 +48 2.85 1.0036 9.8388 +49 2.91 1.01336 10.4729 +50 2.97 0.976664 11.1095 +108000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.285031 0.0053495 +8 0.45 0.475989 0.0124822 +9 0.51 0.389236 0.0199715 +10 0.57 0.890503 0.0413695 +11 0.63 0.838445 0.0659772 +12 0.69 1.08404 0.104137 +13 0.75 1.1749 0.152996 +14 0.81 1.01472 0.202211 +15 0.87 1.05174 0.261056 +16 0.93 1.07665 0.329886 +17 0.99 1.16676 0.414408 +18 1.05 0.927842 0.490014 +19 1.11 0.986924 0.579886 +20 1.17 0.944719 0.675464 +21 1.23 1.06533 0.794579 +22 1.29 0.954054 0.911912 +23 1.35 1.05385 1.05385 +24 1.41 0.895689 1.18545 +25 1.47 1.01167 1.347 +26 1.53 1.03284 1.52568 +27 1.59 1.00219 1.71291 +28 1.65 0.946587 1.90335 +29 1.71 0.983658 2.11591 +30 1.77 1.01361 2.35057 +31 1.83 1.04191 2.60842 +32 1.89 1.0133 2.87589 +33 1.95 1.02171 3.16298 +34 2.01 1.03688 3.47254 +35 2.07 1.01144 3.7928 +36 2.13 0.966965 4.11698 +37 2.19 0.963011 4.45827 +38 2.25 0.984792 4.82668 +39 2.31 0.997613 5.22004 +40 2.37 1.02937 5.64729 +41 2.43 0.993062 6.0806 +42 2.49 1.02985 6.55243 +43 2.55 1.01685 7.04101 +44 2.61 1.00747 7.54815 +45 2.67 0.989109 8.06919 +46 2.73 0.976547 8.60699 +47 2.79 1.00816 9.18688 +48 2.85 0.965567 9.76641 +49 2.91 1.00652 10.3962 +50 2.97 1.00129 11.0489 +108050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.353592 0.00356633 +7 0.39 0.285031 0.00677603 +8 0.45 0.475989 0.0139087 +9 0.51 0.518981 0.0238944 +10 0.57 0.742086 0.0417261 +11 0.63 0.996413 0.07097 +12 0.69 0.901681 0.10271 +13 0.75 1.23493 0.154066 +14 0.81 1.02942 0.203994 +15 0.87 1.15373 0.268545 +16 0.93 1.21054 0.345934 +17 0.99 1.01906 0.419757 +18 1.05 1.06352 0.506419 +19 1.11 1.03784 0.600927 +20 1.17 0.920044 0.694009 +21 1.23 0.99835 0.805635 +22 1.29 0.965654 0.924394 +23 1.35 0.969118 1.05492 +24 1.41 1.02191 1.20506 +25 1.47 0.978169 1.36127 +26 1.53 0.921518 1.52068 +27 1.59 1.05754 1.71826 +28 1.65 1.08662 1.93688 +29 1.71 1.00016 2.153 +30 1.77 0.911944 2.36412 +31 1.83 1.02174 2.61698 +32 1.89 0.995731 2.87981 +33 1.95 0.95698 3.14872 +34 2.01 0.997463 3.4465 +35 2.07 1.02158 3.76997 +36 2.13 1.03185 4.11591 +37 2.19 0.995212 4.46862 +38 2.25 1.03722 4.85663 +39 2.31 1.00123 5.25143 +40 2.37 1.00961 5.67047 +41 2.43 0.993062 6.10378 +42 2.49 0.97692 6.55136 +43 2.55 0.987157 7.02568 +44 2.61 1.02023 7.53923 +45 2.67 0.993848 8.06277 +46 2.73 0.997918 8.61234 +47 2.79 1.02428 9.2015 +48 2.85 1.04935 9.83131 +49 2.91 1.00709 10.4615 +50 2.97 0.982136 11.1016 +108100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.380042 0.00570613 +8 0.45 0.404591 0.0117689 +9 0.51 0.537517 0.0221113 +10 0.57 1.00924 0.0463623 +11 0.63 1.06932 0.0777461 +12 0.69 1.01313 0.113409 +13 0.75 1.18348 0.162625 +14 0.81 1.02207 0.212197 +15 0.87 1.19835 0.279244 +16 0.93 0.959504 0.340585 +17 0.99 1.07814 0.418688 +18 1.05 1.00224 0.500357 +19 1.11 1.01042 0.592368 +20 1.17 0.958819 0.689372 +21 1.23 0.953695 0.796006 +22 1.29 0.971453 0.915478 +23 1.35 0.998245 1.04993 +24 1.41 1.05832 1.20542 +25 1.47 1.02283 1.36876 +26 1.53 0.973057 1.53709 +27 1.59 0.986915 1.72147 +28 1.65 1.03167 1.92903 +29 1.71 0.98861 2.14265 +30 1.77 1.03826 2.38302 +31 1.83 1.0203 2.63552 +32 1.89 0.987625 2.89622 +33 1.95 0.98871 3.17404 +34 2.01 0.960432 3.46077 +35 2.07 1.03735 3.78923 +36 2.13 0.989304 4.1209 +37 2.19 0.985149 4.47004 +38 2.25 0.973352 4.83417 +39 2.31 1.02836 5.23966 +40 2.37 0.953757 5.63552 +41 2.43 1.02739 6.08381 +42 2.49 0.997159 6.54066 +43 2.55 1.02427 7.03281 +44 2.61 0.983386 7.52782 +45 2.67 1.04462 8.0781 +46 2.73 0.989499 8.62304 +47 2.79 0.97778 9.18545 +48 2.85 0.958437 9.7607 +49 2.91 0.997975 10.3852 +50 2.97 1.01223 11.0449 +108150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.217411 0.000713267 +5 0.27 0.0659362 0.0010699 +6 0.33 0.176796 0.00249643 +7 0.39 0.253361 0.0053495 +8 0.45 0.452189 0.0121255 +9 0.51 0.759937 0.0267475 +10 0.57 0.890503 0.0481455 +11 0.63 1.02072 0.0781027 +12 0.69 0.901681 0.109843 +13 0.75 0.986231 0.150856 +14 0.81 1.2206 0.210057 +15 0.87 1.22384 0.278531 +16 0.93 1.09897 0.348787 +17 0.99 1.12737 0.430456 +18 1.05 0.954101 0.508203 +19 1.11 0.979091 0.597361 +20 1.17 0.905943 0.689016 +21 1.23 0.91861 0.791726 +22 1.29 1.01205 0.916191 +23 1.35 0.998245 1.05064 +24 1.41 1.04861 1.20471 +25 1.47 0.962536 1.35842 +26 1.53 0.954503 1.52354 +27 1.59 1.05373 1.7204 +28 1.65 0.982039 1.91797 +29 1.71 1.01667 2.13766 +30 1.77 0.998209 2.36876 +31 1.83 1.003 2.61698 +32 1.89 1.05248 2.89479 +33 1.95 1.01917 3.18117 +34 2.01 1.03927 3.49144 +35 2.07 0.975397 3.80029 +36 2.13 0.974411 4.12696 +37 2.19 1.01131 4.48538 +38 2.25 0.974305 4.84986 +39 2.31 1.02475 5.25392 +40 2.37 1.00961 5.67297 +41 2.43 1.00369 6.11091 +42 2.49 0.982369 6.56098 +43 2.55 1.01165 7.04708 +44 2.61 0.965674 7.53317 +45 2.67 1.01551 8.06812 +46 2.73 0.984318 8.6102 +47 2.79 0.998861 9.18474 +48 2.85 1.00657 9.78887 +49 2.91 1.01678 10.4251 +50 2.97 0.99855 11.076 +108200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.132597 0.00178317 +7 0.39 0.253361 0.00463623 +8 0.45 0.356992 0.00998573 +9 0.51 0.500446 0.0196148 +10 0.57 0.875662 0.0406562 +11 0.63 0.984262 0.0695435 +12 0.69 1.08404 0.107703 +13 0.75 1.10629 0.153709 +14 0.81 1.12501 0.208274 +15 0.87 1.10911 0.270328 +16 0.93 1.25516 0.350571 +17 0.99 1.10276 0.430456 +18 1.05 1.07665 0.518188 +19 1.11 1.00651 0.609843 +20 1.17 0.958819 0.706847 +21 1.23 0.960075 0.814194 +22 1.29 0.898957 0.92475 +23 1.35 1.04326 1.06526 +24 1.41 0.992783 1.21113 +25 1.47 1.0139 1.37304 +26 1.53 0.946257 1.53673 +27 1.59 0.962099 1.71648 +28 1.65 1.05294 1.92832 +29 1.71 1.13385 2.17332 +30 1.77 0.992048 2.403 +31 1.83 0.90501 2.62696 +32 1.89 0.999785 2.89087 +33 1.95 0.995056 3.17047 +34 2.01 1.03091 3.47825 +35 2.07 0.972018 3.78602 +36 2.13 1.02547 4.12981 +37 2.19 0.971061 4.47397 +38 2.25 0.994325 4.84593 +39 2.31 1.0754 5.26997 +40 2.37 0.972661 5.67368 +41 2.43 1.03802 6.1266 +42 2.49 0.955902 6.56455 +43 2.55 0.973054 7.0321 +44 2.61 0.988346 7.5296 +45 2.67 1.0013 8.05706 +46 2.73 0.974605 8.59379 +47 2.79 0.985841 9.16084 +48 2.85 1.02202 9.77425 +49 2.91 1.0088 10.4055 +50 2.97 1.05162 11.0909 +108250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.353592 0.00356633 +7 0.39 0.285031 0.00677603 +8 0.45 0.404591 0.0128388 +9 0.51 0.574587 0.0238944 +10 0.57 0.712403 0.0410128 +11 0.63 0.923505 0.068117 +12 0.69 1.07391 0.10592 +13 0.75 1.11487 0.152282 +14 0.81 1.18384 0.2097 +15 0.87 1.03262 0.267475 +16 0.93 1.07665 0.336305 +17 0.99 1.08306 0.414765 +18 1.05 1.03288 0.49893 +19 1.11 0.963426 0.586662 +20 1.17 0.958819 0.683666 +21 1.23 0.991971 0.794579 +22 1.29 0.936655 0.909772 +23 1.35 0.982358 1.04208 +24 1.41 1.04376 1.19544 +25 1.47 0.991569 1.35378 +26 1.53 1.09881 1.54387 +27 1.59 0.956372 1.72254 +28 1.65 0.98913 1.92154 +29 1.71 1.00841 2.13944 +30 1.77 0.979724 2.36626 +31 1.83 1.05056 2.62625 +32 1.89 0.952497 2.87767 +33 1.95 1.03186 3.16762 +34 2.01 1.02016 3.47218 +35 2.07 0.985534 3.78424 +36 2.13 0.946753 4.10164 +37 2.19 1.02138 4.46362 +38 2.25 1.02388 4.84665 +39 2.31 1.00394 5.24251 +40 2.37 1.02765 5.66904 +41 2.43 0.989793 6.10093 +42 2.49 1.00416 6.56098 +43 2.55 1.00423 7.04351 +44 2.61 0.967799 7.53067 +45 2.67 1.00739 8.06134 +46 2.73 0.945464 8.58203 +47 2.79 1.03606 9.17796 +48 2.85 1.0339 9.7985 +49 2.91 1.00709 10.4287 +50 2.97 1.02646 11.0977 +108300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.353592 0.0042796 +7 0.39 0.316701 0.00784593 +8 0.45 0.475989 0.0149786 +9 0.51 0.574587 0.0260342 +10 0.57 0.578827 0.0399429 +11 0.63 0.826294 0.064194 +12 0.69 1.28667 0.109486 +13 0.75 1.08914 0.154779 +14 0.81 1.00736 0.203638 +15 0.87 1.17922 0.269615 +16 0.93 1.04318 0.336305 +17 0.99 1.02399 0.410485 +18 1.05 1.05039 0.496077 +19 1.11 0.896847 0.577746 +20 1.17 0.98702 0.677603 +21 1.23 1.043 0.794223 +22 1.29 0.84096 0.897646 +23 1.35 0.963823 1.02746 +24 1.41 1.0122 1.17618 +25 1.47 0.987102 1.33381 +26 1.53 1.0514 1.51569 +27 1.59 0.99455 1.7015 +28 1.65 0.985584 1.89979 +29 1.71 0.955601 2.10628 +30 1.77 1.03056 2.34486 +31 1.83 1.01309 2.59558 +32 1.89 1.00654 2.86127 +33 1.95 0.978556 3.13623 +34 2.01 1.02135 3.44116 +35 2.07 1.02158 3.76462 +36 2.13 0.997814 4.09914 +37 2.19 0.983137 4.44757 +38 2.25 1.0029 4.82275 +39 2.31 1.00304 5.21826 +40 2.37 0.989845 5.6291 +41 2.43 1.00859 6.06919 +42 2.49 1.00806 6.53103 +43 2.55 0.993837 7.00856 +44 2.61 0.984803 7.50428 +45 2.67 1.04598 8.05528 +46 2.73 1.01929 8.61662 +47 2.79 0.96414 9.17118 +48 2.85 1.0232 9.78531 +49 2.91 1.01393 10.4198 +50 2.97 0.984872 11.0617 +108350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.309393 0.00356633 +7 0.39 0.348371 0.0074893 +8 0.45 0.42839 0.0139087 +9 0.51 0.481911 0.0231812 +10 0.57 0.742086 0.0410128 +11 0.63 0.801991 0.0645506 +12 0.69 1.01313 0.100214 +13 0.75 1.15775 0.148359 +14 0.81 1.11031 0.202211 +15 0.87 1.22384 0.270685 +16 0.93 1.1157 0.342011 +17 0.99 0.999373 0.414408 +18 1.05 1.0285 0.498217 +19 1.11 0.916429 0.581669 +20 1.17 0.958819 0.678673 +21 1.23 0.988781 0.78923 +22 1.29 1.05555 0.919044 +23 1.35 1.02472 1.05706 +24 1.41 0.888407 1.18759 +25 1.47 1.01613 1.34986 +26 1.53 1.05346 1.5321 +27 1.59 0.931556 1.70613 +28 1.65 1.01217 1.90977 +29 1.71 0.985309 2.12268 +30 1.77 1.01669 2.35806 +31 1.83 0.991476 2.60342 +32 1.89 1.04167 2.87839 +33 1.95 0.991248 3.15692 +34 2.01 0.969988 3.4465 +35 2.07 1.00018 3.7632 +36 2.13 1.04675 4.11412 +37 2.19 1.00528 4.4704 +38 2.25 0.960958 4.82989 +39 2.31 1.0148 5.23003 +40 2.37 1.02422 5.65514 +41 2.43 1.00696 6.09451 +42 2.49 0.969914 6.53887 +43 2.55 1.01165 7.02496 +44 2.61 1.00606 7.53138 +45 2.67 0.974892 8.04494 +46 2.73 1.00763 8.59986 +47 2.79 1.03296 9.19401 +48 2.85 1.00775 9.79886 +49 2.91 0.984296 10.4148 +50 2.97 0.958608 11.0396 +108400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.316701 0.0064194 +8 0.45 0.499788 0.0139087 +9 0.51 0.611657 0.0256776 +10 0.57 0.563985 0.0392297 +11 0.63 0.984262 0.068117 +12 0.69 1.15496 0.108773 +13 0.75 1.02911 0.151569 +14 0.81 1.16913 0.208274 +15 0.87 1.08998 0.269258 +16 0.93 1.09339 0.339158 +17 0.99 0.999373 0.411555 +18 1.05 1.00662 0.493581 +19 1.11 0.857684 0.571683 +20 1.17 1.00817 0.67368 +21 1.23 0.963264 0.781384 +22 1.29 0.997552 0.904066 +23 1.35 0.961175 1.03352 +24 1.41 0.990356 1.17903 +25 1.47 1.0675 1.3495 +26 1.53 1.02253 1.52639 +27 1.59 1.03082 1.71897 +28 1.65 0.918224 1.90371 +29 1.71 1.00181 2.12019 +30 1.77 1.04288 2.36163 +31 1.83 0.972742 2.60235 +32 1.89 0.944391 2.85164 +33 1.95 1.00902 3.13516 +34 2.01 1.04047 3.44579 +35 2.07 1.00468 3.76391 +36 2.13 0.998878 4.09879 +37 2.19 1.06666 4.47682 +38 2.25 0.962865 4.83702 +39 2.31 1.0148 5.23716 +40 2.37 1.00016 5.65228 +41 2.43 0.962821 6.0724 +42 2.49 0.983925 6.52318 +43 2.55 0.980477 6.99429 +44 2.61 1.05707 7.52639 +45 2.67 1.0365 8.0724 +46 2.73 1.00763 8.62732 +47 2.79 0.95918 9.17903 +48 2.85 0.985175 9.77033 +49 2.91 0.992275 10.3912 +50 2.97 1.01496 11.0528 +108450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.221691 0.0042796 +8 0.45 0.499788 0.0117689 +9 0.51 0.759937 0.0263909 +10 0.57 0.682719 0.042796 +11 0.63 0.753385 0.0649073 +12 0.69 1.08404 0.103067 +13 0.75 1.20063 0.152996 +14 0.81 1.30884 0.216476 +15 0.87 1.14735 0.28067 +16 0.93 1.13802 0.353424 +17 0.99 1.02891 0.42796 +18 1.05 0.945348 0.504993 +19 1.11 0.916429 0.588445 +20 1.17 0.983495 0.687946 +21 1.23 1.00473 0.800285 +22 1.29 1.02075 0.92582 +23 1.35 0.987654 1.05884 +24 1.41 1.03162 1.21041 +25 1.47 0.973703 1.36591 +26 1.53 1.02666 1.54351 +27 1.59 0.933465 1.7179 +28 1.65 0.983812 1.91583 +29 1.71 1.00511 2.13302 +30 1.77 1.01669 2.3684 +31 1.83 1.03759 2.62518 +32 1.89 0.930881 2.8709 +33 1.95 0.974748 3.14479 +34 2.01 1.02016 3.44936 +35 2.07 0.995671 3.76462 +36 2.13 0.987177 4.09558 +37 2.19 0.999237 4.44971 +38 2.25 1.0153 4.82953 +39 2.31 1.00666 5.22646 +40 2.37 0.972661 5.63017 +41 2.43 0.970177 6.0535 +42 2.49 1.03686 6.52853 +43 2.55 0.976023 6.9975 +44 2.61 1.0259 7.51391 +45 2.67 1.0128 8.04743 +46 2.73 0.97331 8.58345 +47 2.79 0.989561 9.15264 +48 2.85 0.979828 9.74073 +49 2.91 0.999115 10.3659 +50 2.97 1.04725 11.0485 +108500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.397791 0.00392297 +7 0.39 0.443382 0.00891583 +8 0.45 0.452189 0.0156919 +9 0.51 0.537517 0.0260342 +10 0.57 0.727244 0.0435093 +11 0.63 0.874899 0.0691869 +12 0.69 0.921944 0.101641 +13 0.75 1.06341 0.145863 +14 0.81 1.2206 0.205064 +15 0.87 1.21109 0.272825 +16 0.93 1.16591 0.347361 +17 0.99 1.03383 0.422254 +18 1.05 1.01537 0.504993 +19 1.11 0.892931 0.586305 +20 1.17 0.902418 0.677603 +21 1.23 1.01111 0.790656 +22 1.29 0.869958 0.897646 +23 1.35 1.00354 1.03281 +24 1.41 1.0122 1.18153 +25 1.47 1.0675 1.352 +26 1.53 0.973057 1.52033 +27 1.59 0.985006 1.70435 +28 1.65 0.976721 1.90086 +29 1.71 0.968804 2.1102 +30 1.77 1.05058 2.35342 +31 1.83 1.00445 2.602 +32 1.89 1.0214 2.87161 +33 1.95 0.989979 3.14979 +34 2.01 1.00224 3.449 +35 2.07 1.0182 3.7714 +36 2.13 0.977603 4.09914 +37 2.19 0.987162 4.449 +38 2.25 0.998138 4.8224 +39 2.31 0.990377 5.21291 +40 2.37 0.970942 5.61591 +41 2.43 1.02984 6.06526 +42 2.49 0.956681 6.50357 +43 2.55 1.03392 7.00036 +44 2.61 1.01739 7.51248 +45 2.67 0.995202 8.03673 +46 2.73 0.968129 8.5699 +47 2.79 1.0001 9.14515 +48 2.85 1.0232 9.75927 +49 2.91 0.94212 10.3488 +50 2.97 1.00183 11.0018 +108550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0.197809 0.00142653 +6 0.33 0.220995 0.0032097 +7 0.39 0.158351 0.00499287 +8 0.45 0.404591 0.0110556 +9 0.51 0.759937 0.0256776 +10 0.57 0.638194 0.0410128 +11 0.63 0.874899 0.0666904 +12 0.69 0.952338 0.100214 +13 0.75 1.14917 0.148003 +14 0.81 1.25001 0.208631 +15 0.87 1.05174 0.267475 +16 0.93 1.07665 0.336305 +17 0.99 1.09291 0.415478 +18 1.05 0.945348 0.492511 +19 1.11 1.03392 0.586662 +20 1.17 1.04342 0.692225 +21 1.23 1.00792 0.804922 +22 1.29 0.994652 0.927247 +23 1.35 0.934696 1.05314 +24 1.41 0.939382 1.19116 +25 1.47 1.02283 1.35449 +26 1.53 0.966872 1.52175 +27 1.59 0.985006 1.70578 +28 1.65 1.0884 1.92475 +29 1.71 0.993561 2.13944 +30 1.77 1.0244 2.3766 +31 1.83 1.0203 2.6291 +32 1.89 1.03897 2.90335 +33 1.95 0.997594 3.18367 +34 2.01 1.02016 3.48823 +35 2.07 0.961882 3.7928 +36 2.13 1.00952 4.13124 +37 2.19 0.981124 4.47896 +38 2.25 1.01434 4.85842 +39 2.31 1.00575 5.25499 +40 2.37 0.978675 5.6612 +41 2.43 0.997149 6.09629 +42 2.49 0.995602 6.55243 +43 2.55 1.01239 7.03887 +44 2.61 0.972759 7.52853 +45 2.67 0.991817 8.051 +46 2.73 1.00957 8.60699 +47 2.79 0.985841 9.17404 +48 2.85 0.995871 9.77175 +49 2.91 0.997975 10.3962 +50 2.97 0.991985 11.0428 +108600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.253361 0.00606277 +8 0.45 0.571187 0.014622 +9 0.51 0.593122 0.0260342 +10 0.57 0.964712 0.0492154 +11 0.63 0.862748 0.0745364 +12 0.69 1.09418 0.113053 +13 0.75 1.1406 0.160485 +14 0.81 1.07354 0.212553 +15 0.87 1.06449 0.272111 +16 0.93 1.07665 0.340942 +17 0.99 1.0683 0.418331 +18 1.05 1.05039 0.503923 +19 1.11 0.857684 0.582026 +20 1.17 1.05752 0.689016 +21 1.23 0.937747 0.793866 +22 1.29 0.954054 0.911198 +23 1.35 0.971766 1.04208 +24 1.41 1.00735 1.19009 +25 1.47 0.929037 1.33845 +26 1.53 1.02253 1.51534 +27 1.59 1.01555 1.70506 +28 1.65 1.03699 1.91369 +29 1.71 1.09094 2.14943 +30 1.77 1.05521 2.39372 +31 1.83 0.920862 2.62161 +32 1.89 1.04842 2.89836 +33 1.95 0.996325 3.17832 +34 2.01 0.972377 3.46862 +35 2.07 0.950618 3.76961 +36 2.13 0.998878 4.10449 +37 2.19 1.02943 4.46933 +38 2.25 1.03532 4.85663 +39 2.31 1.02927 5.26248 +40 2.37 0.997579 5.67653 +41 2.43 0.973446 6.10128 +42 2.49 1.00961 6.56384 +43 2.55 0.946334 7.01854 +44 2.61 1.02519 7.53459 +45 2.67 1.03108 8.07775 +46 2.73 0.999213 8.62803 +47 2.79 1.0032 9.20506 +48 2.85 1.02023 9.8174 +49 2.91 1.01849 10.4547 +50 2.97 0.974476 11.0899 +108650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.285031 0.00570613 +8 0.45 0.547387 0.0139087 +9 0.51 0.537517 0.0242511 +10 0.57 0.801453 0.0435093 +11 0.63 0.899202 0.0699001 +12 0.69 1.16509 0.110913 +13 0.75 0.900472 0.148359 +14 0.81 1.12501 0.202924 +15 0.87 1.22384 0.271398 +16 0.93 1.15475 0.345221 +17 0.99 1.05845 0.421897 +18 1.05 1.05914 0.508203 +19 1.11 1.03392 0.602354 +20 1.17 0.909468 0.694365 +21 1.23 0.899472 0.794936 +22 1.29 1.08455 0.928317 +23 1.35 1.01148 1.06455 +24 1.41 0.866561 1.19187 +25 1.47 1.04963 1.35949 +26 1.53 1.06789 1.54422 +27 1.59 1.00028 1.7311 +28 1.65 0.992675 1.93081 +29 1.71 1.00181 2.14729 +30 1.77 1.03518 2.38695 +31 1.83 1.00877 2.63659 +32 1.89 0.951146 2.88766 +33 1.95 1.03186 3.1776 +34 2.01 0.974767 3.46862 +35 2.07 1.05199 3.80171 +36 2.13 0.969093 4.1266 +37 2.19 0.971061 4.47076 +38 2.25 0.980025 4.83738 +39 2.31 1.00213 5.23252 +40 2.37 1.00531 5.64979 +41 2.43 1.02249 6.09593 +42 2.49 0.980033 6.54494 +43 2.55 1.02427 7.03709 +44 2.61 0.979135 7.52996 +45 2.67 1.04665 8.08131 +46 2.73 0.990794 8.62696 +47 2.79 0.990801 9.19686 +48 2.85 0.959625 9.77282 +49 2.91 1.02191 10.4123 +50 2.97 1.00074 11.0646 +108700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.265194 0.0032097 +7 0.39 0.190021 0.0053495 +8 0.45 0.499788 0.0128388 +9 0.51 0.556052 0.0235378 +10 0.57 0.935028 0.0460057 +11 0.63 0.911353 0.0727532 +12 0.69 0.932075 0.105563 +13 0.75 1.00338 0.14729 +14 0.81 1.19854 0.205421 +15 0.87 1.26846 0.276391 +16 0.93 1.14359 0.349501 +17 0.99 1.0486 0.425464 +18 1.05 1.03288 0.509629 +19 1.11 0.983008 0.599144 +20 1.17 0.905943 0.690799 +21 1.23 0.960075 0.798146 +22 1.29 0.901857 0.909058 +23 1.35 0.969118 1.03959 +24 1.41 1.02191 1.18973 +25 1.47 1.0206 1.35271 +26 1.53 1.06377 1.53673 +27 1.59 0.990732 1.72183 +28 1.65 1.03167 1.92939 +29 1.71 1.05133 2.15656 +30 1.77 0.996669 2.3873 +31 1.83 1.02318 2.64051 +32 1.89 0.986274 2.90086 +33 1.95 0.934134 3.16334 +34 2.01 0.980739 3.45613 +35 2.07 1.04861 3.78816 +36 2.13 0.991432 4.12054 +37 2.19 1.00024 4.47504 +38 2.25 0.999092 4.84879 +39 2.31 1.01118 5.2475 +40 2.37 1.00703 5.66548 +41 2.43 0.935031 6.07347 +42 2.49 1.01273 6.53745 +43 2.55 1.04357 7.03887 +44 2.61 0.998265 7.54137 +45 2.67 0.993848 8.06491 +46 2.73 1.03871 8.63695 +47 2.79 1.02986 9.22932 +48 2.85 0.960813 9.80599 +49 2.91 0.960928 10.4073 +50 2.97 0.991437 11.0535 +108750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.285031 0.0042796 +8 0.45 0.547387 0.0124822 +9 0.51 0.778472 0.0274608 +10 0.57 0.623352 0.0424394 +11 0.63 0.887051 0.0684736 +12 0.69 0.982731 0.103067 +13 0.75 1.13202 0.150143 +14 0.81 1.19119 0.207917 +15 0.87 1.17922 0.273894 +16 0.93 1.09339 0.343795 +17 0.99 1.07814 0.421897 +18 1.05 1.01537 0.504636 +19 1.11 1.01042 0.596648 +20 1.17 0.856592 0.68331 +21 1.23 1.00792 0.796006 +22 1.29 0.954054 0.913338 +23 1.35 0.947936 1.04101 +24 1.41 1.00492 1.18866 +25 1.47 1.00274 1.34879 +26 1.53 1.09881 1.53887 +27 1.59 0.933465 1.71327 +28 1.65 0.974949 1.90942 +29 1.71 1.02987 2.13195 +30 1.77 1.02748 2.36983 +31 1.83 1.04191 2.62767 +32 1.89 0.98087 2.88659 +33 1.95 1.00775 3.16976 +34 2.01 1.00941 3.47111 +35 2.07 1.00693 3.78994 +36 2.13 0.978666 4.11805 +37 2.19 0.990181 4.46897 +38 2.25 1.02483 4.85235 +39 2.31 0.98495 5.24073 +40 2.37 0.983831 5.64907 +41 2.43 0.989793 6.08096 +42 2.49 1.04386 6.5592 +43 2.55 1.02501 7.05171 +44 2.61 1.01881 7.56455 +45 2.67 0.99791 8.09023 +46 2.73 0.955825 8.61662 +47 2.79 1.02552 9.20649 +48 2.85 1.03449 9.82739 +49 2.91 0.979737 10.4404 +50 2.97 0.998003 11.0909 +108800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0 0.000713267 +7 0.39 0.126681 0.0021398 +8 0.45 0.404591 0.00820257 +9 0.51 0.797007 0.0235378 +10 0.57 0.875662 0.0445792 +11 0.63 0.838445 0.0691869 +12 0.69 0.942206 0.102354 +13 0.75 0.986231 0.143367 +14 0.81 1.05884 0.194722 +15 0.87 1.11548 0.257133 +16 0.93 1.17707 0.332382 +17 0.99 1.0683 0.409772 +18 1.05 1.10728 0.5 +19 1.11 0.916429 0.583452 +20 1.17 0.96587 0.68117 +21 1.23 0.889903 0.78067 +22 1.29 0.930855 0.89515 +23 1.35 1.04326 1.03566 +24 1.41 1.02191 1.18581 +25 1.47 1.0005 1.34558 +26 1.53 0.902964 1.50178 +27 1.59 1.069 1.7015 +28 1.65 1.02636 1.90799 +29 1.71 1.00676 2.12553 +30 1.77 1.00437 2.35806 +31 1.83 0.964095 2.59665 +32 1.89 0.982221 2.85592 +33 1.95 1.03821 3.14765 +34 2.01 1.01897 3.45185 +35 2.07 0.973145 3.75999 +36 2.13 1.06058 4.11555 +37 2.19 0.97408 4.46077 +38 2.25 1.01911 4.84201 +39 2.31 1.00756 5.2393 +40 2.37 0.983831 5.64765 +41 2.43 0.988976 6.07917 +42 2.49 1.01351 6.54351 +43 2.55 1.02353 7.03531 +44 2.61 0.951504 7.51427 +45 2.67 0.989786 8.03566 +46 2.73 1.02576 8.60057 +47 2.79 0.97344 9.16049 +48 2.85 1.0137 9.7689 +49 2.91 1.04015 10.4198 +50 2.97 0.970099 11.0521 +108850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.220995 0.00249643 +7 0.39 0.190021 0.00463623 +8 0.45 0.642585 0.0142653 +9 0.51 0.815542 0.0299572 +10 0.57 0.742086 0.0477889 +11 0.63 0.801991 0.0713267 +12 0.69 0.840894 0.100927 +13 0.75 1.05484 0.144793 +14 0.81 1.08825 0.197575 +15 0.87 1.08361 0.258203 +16 0.93 1.17149 0.333096 +17 0.99 1.09291 0.412268 +18 1.05 1.01537 0.495007 +19 1.11 0.979091 0.584165 +20 1.17 0.923569 0.677603 +21 1.23 1.02706 0.792439 +22 1.29 1.06715 0.92368 +23 1.35 0.966471 1.05385 +24 1.41 0.990356 1.19936 +25 1.47 1.00497 1.35984 +26 1.53 0.917395 1.51854 +27 1.59 1.00409 1.70613 +28 1.65 1.04585 1.91655 +29 1.71 1.03152 2.13944 +30 1.77 1.00129 2.37126 +31 1.83 1.04336 2.62946 +32 1.89 0.995731 2.8923 +33 1.95 0.98744 3.16976 +34 2.01 0.944902 3.45185 +35 2.07 1.00693 3.77068 +36 2.13 1.01271 4.1102 +37 2.19 1.03144 4.47575 +38 2.25 0.985745 4.84451 +39 2.31 1.02475 5.24857 +40 2.37 0.98469 5.65728 +41 2.43 1.02085 6.10271 +42 2.49 1.00961 6.56526 +43 2.55 0.963405 7.02817 +44 2.61 0.998973 7.53103 +45 2.67 0.994525 8.05492 +46 2.73 0.990147 8.60021 +47 2.79 1.03172 9.19365 +48 2.85 1.03865 9.81705 +49 2.91 0.982016 10.4315 +50 2.97 0.985419 11.0738 +108900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.253361 0.00499287 +8 0.45 0.594986 0.0139087 +9 0.51 0.481911 0.0231812 +10 0.57 0.94987 0.0460057 +11 0.63 0.923505 0.0731098 +12 0.69 0.932075 0.10592 +13 0.75 1.13202 0.152996 +14 0.81 1.02942 0.202924 +15 0.87 1.14735 0.267118 +16 0.93 1.14359 0.340228 +17 0.99 1.15199 0.42368 +18 1.05 1.05476 0.509629 +19 1.11 0.943844 0.595578 +20 1.17 0.912993 0.687946 +21 1.23 1.0143 0.801355 +22 1.29 0.898957 0.911912 +23 1.35 0.908218 1.03424 +24 1.41 0.946664 1.17332 +25 1.47 1.0675 1.34379 +26 1.53 1.02253 1.52068 +27 1.59 1.04036 1.71505 +28 1.65 1.05472 1.92725 +29 1.71 0.985309 2.14016 +30 1.77 0.981265 2.36733 +31 1.83 1.003 2.61555 +32 1.89 1.02545 2.88623 +33 1.95 0.998863 3.1669 +34 2.01 0.983128 3.46041 +35 2.07 0.97765 3.76997 +36 2.13 0.983985 4.09986 +37 2.19 0.999237 4.45399 +38 2.25 1.05057 4.847 +39 2.31 1.01932 5.24893 +40 2.37 0.987268 5.6587 +41 2.43 1.03148 6.10877 +42 2.49 0.967579 6.55207 +43 2.55 0.992352 7.02889 +44 2.61 0.984803 7.52461 +45 2.67 0.987755 8.04494 +46 2.73 1.00698 8.5995 +47 2.79 1.00754 9.17903 +48 2.85 1.01489 9.78816 +49 2.91 1.00652 10.418 +50 2.97 1.01168 11.0774 +108950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.176796 0.0021398 +7 0.39 0.316701 0.00570613 +8 0.45 0.523588 0.0135521 +9 0.51 0.630192 0.0256776 +10 0.57 0.727244 0.0431526 +11 0.63 0.984262 0.0720399 +12 0.69 0.820631 0.100927 +13 0.75 1.26924 0.153709 +14 0.81 1.12501 0.208274 +15 0.87 1.07086 0.268188 +16 0.93 1.14359 0.341298 +17 0.99 1.05845 0.417974 +18 1.05 1.09415 0.507133 +19 1.11 0.912513 0.590228 +20 1.17 0.990545 0.690442 +21 1.23 0.902661 0.791369 +22 1.29 0.904756 0.902639 +23 1.35 0.998245 1.03709 +24 1.41 1.06803 1.19401 +25 1.47 0.95137 1.34593 +26 1.53 1.01429 1.5214 +27 1.59 0.973552 1.70328 +28 1.65 1.06181 1.9169 +29 1.71 1.05793 2.14551 +30 1.77 0.975103 2.37126 +31 1.83 0.992917 2.61698 +32 1.89 0.983572 2.8766 +33 1.95 0.964595 3.14765 +34 2.01 1.02972 3.45506 +35 2.07 0.969766 3.76213 +36 2.13 1.01696 4.10307 +37 2.19 0.976093 4.449 +38 2.25 1.0296 4.83417 +39 2.31 0.946963 5.20756 +40 2.37 1.02937 5.63481 +41 2.43 0.988976 6.06633 +42 2.49 1.01351 6.53067 +43 2.55 0.99161 7.00713 +44 2.61 1.00039 7.5107 +45 2.67 0.983693 8.02889 +46 2.73 1.01281 8.58666 +47 2.79 1.0063 9.16548 +48 2.85 0.96319 9.74358 +49 2.91 0.983726 10.3591 +50 2.97 1.0188 11.0232 +109000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.309393 0.00356633 +7 0.39 0.253361 0.0064194 +8 0.45 0.380791 0.0121255 +9 0.51 0.574587 0.0231812 +10 0.57 0.905345 0.0449358 +11 0.63 1.02072 0.074893 +12 0.69 0.921944 0.107347 +13 0.75 1.15775 0.155492 +14 0.81 1.13237 0.210414 +15 0.87 1.17285 0.276034 +16 0.93 1.09897 0.346291 +17 0.99 1.13722 0.428673 +18 1.05 1.01975 0.511769 +19 1.11 0.912513 0.594864 +20 1.17 0.976445 0.693652 +21 1.23 0.909041 0.795292 +22 1.29 0.930855 0.909772 +23 1.35 0.982358 1.04208 +24 1.41 0.973364 1.18509 +25 1.47 1.02953 1.3495 +26 1.53 0.983365 1.51961 +27 1.59 1.03846 1.71362 +28 1.65 0.971403 1.90906 +29 1.71 1.01007 2.12732 +30 1.77 0.975103 2.35307 +31 1.83 1.01021 2.60307 +32 1.89 0.951146 2.85414 +33 1.95 0.936672 3.11733 +34 2.01 1.0118 3.4194 +35 2.07 1.02158 3.74287 +36 2.13 1.00632 4.08024 +37 2.19 1.03949 4.44864 +38 2.25 0.977165 4.81419 +39 2.31 1.02113 5.21683 +40 2.37 0.959772 5.61519 +41 2.43 0.998784 6.051 +42 2.49 0.983147 6.50143 +43 2.55 1.03911 7.00071 +44 2.61 1.06061 7.53459 +45 2.67 1.00942 8.06633 +46 2.73 0.965539 8.59807 +47 2.79 0.949879 9.14444 +48 2.85 1.0131 9.7525 +49 2.91 1.0145 10.3873 +50 2.97 1.01825 11.051 +109050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.190021 0.00499287 +8 0.45 0.475989 0.0121255 +9 0.51 0.630192 0.0242511 +10 0.57 0.994395 0.0481455 +11 0.63 0.911353 0.074893 +12 0.69 0.871288 0.105563 +13 0.75 1.26924 0.158345 +14 0.81 1.16178 0.214693 +15 0.87 1.19197 0.281384 +16 0.93 1.04876 0.348431 +17 0.99 1.03383 0.423324 +18 1.05 1.02413 0.506776 +19 1.11 0.955593 0.593795 +20 1.17 0.98702 0.693652 +21 1.23 0.979212 0.803138 +22 1.29 0.913456 0.915478 +23 1.35 1.03796 1.05528 +24 1.41 0.936954 1.19294 +25 1.47 0.911171 1.33845 +26 1.53 0.925641 1.49857 +27 1.59 1.01173 1.68759 +28 1.65 1.03345 1.89551 +29 1.71 1.11899 2.1373 +30 1.77 0.93043 2.35271 +31 1.83 1.0203 2.60521 +32 1.89 0.988976 2.86626 +33 1.95 0.970941 3.13909 +34 2.01 0.964015 3.42689 +35 2.07 1.04072 3.75642 +36 2.13 0.992495 4.08916 +37 2.19 1.01031 4.44722 +38 2.25 1.08394 4.85271 +39 2.31 0.983141 5.24037 +40 2.37 0.982972 5.64836 +41 2.43 1.02902 6.09736 +42 2.49 0.969135 6.54137 +43 2.55 0.992352 7.01819 +44 2.61 0.983386 7.5132 +45 2.67 0.976923 8.02782 +46 2.73 1.00116 8.57917 +47 2.79 0.994521 9.15121 +48 2.85 0.992306 9.74679 +49 2.91 1.0145 10.3816 +50 2.97 0.988155 11.0257 +109100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.220995 0.00285307 +7 0.39 0.190021 0.00499287 +8 0.45 0.452189 0.0117689 +9 0.51 0.741402 0.0260342 +10 0.57 0.653036 0.0417261 +11 0.63 1.09362 0.0738231 +12 0.69 0.881419 0.10485 +13 0.75 1.1406 0.152282 +14 0.81 1.11031 0.206134 +15 0.87 1.26846 0.277104 +16 0.93 1.00971 0.341655 +17 0.99 1.00922 0.414765 +18 1.05 1.00224 0.496434 +19 1.11 1.07308 0.594151 +20 1.17 0.863642 0.681526 +21 1.23 0.99835 0.793153 +22 1.29 0.942455 0.909058 +23 1.35 1.04326 1.04957 +24 1.41 1.00007 1.1965 +25 1.47 1.02283 1.35984 +26 1.53 0.989549 1.53103 +27 1.59 0.962099 1.71077 +28 1.65 1.02458 1.9169 +29 1.71 1.02822 2.13909 +30 1.77 1.00437 2.37161 +31 1.83 0.990035 2.61662 +32 1.89 0.9552 2.86876 +33 1.95 0.992517 3.14765 +34 2.01 1.05241 3.46184 +35 2.07 0.959629 3.76569 +36 2.13 1.00845 4.10378 +37 2.19 1.03144 4.46933 +38 2.25 0.999092 4.84308 +39 2.31 0.972288 5.22646 +40 2.37 1.0414 5.6587 +41 2.43 1.04782 6.11591 +42 2.49 0.987039 6.56812 +43 2.55 0.981219 7.03959 +44 2.61 0.988346 7.53709 +45 2.67 1.00671 8.0674 +46 2.73 0.990794 8.61305 +47 2.79 1.03234 9.20685 +48 2.85 1.02796 9.82382 +49 2.91 0.982016 10.4383 +50 2.97 1.027 11.1077 +109150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.309393 0.00285307 +7 0.39 0.253361 0.00570613 +8 0.45 0.452189 0.0124822 +9 0.51 0.537517 0.0228245 +10 0.57 0.86082 0.0435093 +11 0.63 0.899202 0.0699001 +12 0.69 1.06378 0.107347 +13 0.75 1.2092 0.157632 +14 0.81 1.23531 0.217546 +15 0.87 1.08998 0.278531 +16 0.93 0.942768 0.338802 +17 0.99 1.07322 0.416548 +18 1.05 0.962855 0.495007 +19 1.11 0.99084 0.585235 +20 1.17 0.941194 0.680456 +21 1.23 1.00792 0.793153 +22 1.29 0.959854 0.911198 +23 1.35 1.00619 1.04672 +24 1.41 1.02677 1.19757 +25 1.47 1.1412 1.37981 +26 1.53 0.968934 1.54743 +27 1.59 0.935374 1.72218 +28 1.65 0.92886 1.90906 +29 1.71 1.03812 2.13338 +30 1.77 0.985886 2.36163 +31 1.83 1.01597 2.61305 +32 1.89 0.987625 2.87375 +33 1.95 1.04455 3.16726 +34 2.01 1.00224 3.46648 +35 2.07 0.991166 3.78031 +36 2.13 1.02654 4.12447 +37 2.19 1.0093 4.48217 +38 2.25 0.973352 4.84629 +39 2.31 1.01751 5.2475 +40 2.37 0.990705 5.6587 +41 2.43 1.00614 6.09772 +42 2.49 1.01117 6.56098 +43 2.55 0.96489 7.02461 +44 2.61 1.01102 7.53352 +45 2.67 1.01551 8.06847 +46 2.73 1.01994 8.63017 +47 2.79 1.02862 9.22183 +48 2.85 0.979828 9.80991 +49 2.91 0.981446 10.424 +50 2.97 1.0177 11.0874 +109200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.380042 0.00677603 +8 0.45 0.356992 0.0121255 +9 0.51 0.574587 0.0231812 +10 0.57 0.742086 0.0410128 +11 0.63 0.826294 0.0652639 +12 0.69 0.840894 0.0948645 +13 0.75 1.21778 0.145506 +14 0.81 1.08825 0.198288 +15 0.87 1.19835 0.265335 +16 0.93 1.21054 0.342725 +17 0.99 1.03383 0.417618 +18 1.05 0.936595 0.493937 +19 1.11 1.01825 0.586662 +20 1.17 0.902418 0.67796 +21 1.23 0.966454 0.78602 +22 1.29 0.968553 0.905136 +23 1.35 1.06444 1.0485 +24 1.41 0.978219 1.19223 +25 1.47 1.06527 1.36234 +26 1.53 1.03903 1.54208 +27 1.59 0.990732 1.72718 +28 1.65 0.982039 1.92475 +29 1.71 0.998512 2.14051 +30 1.77 1.00745 2.37375 +31 1.83 0.948243 2.60842 +32 1.89 1.07274 2.89158 +33 1.95 1.03313 3.18188 +34 2.01 0.968794 3.47111 +35 2.07 0.983282 3.78245 +36 2.13 0.935052 4.09593 +37 2.19 1.02842 4.46041 +38 2.25 1.02388 4.84344 +39 2.31 1.00575 5.24001 +40 2.37 1.01047 5.65942 +41 2.43 0.982437 6.08809 +42 2.49 1.0283 6.5592 +43 2.55 0.981961 7.03103 +44 2.61 0.972759 7.52068 +45 2.67 1.00671 8.051 +46 2.73 1.00634 8.60521 +47 2.79 0.953599 9.15371 +48 2.85 1.02499 9.7689 +49 2.91 1.01336 10.403 +50 2.97 0.993079 11.0503 +109250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.132597 0.0010699 +7 0.39 0.221691 0.00356633 +8 0.45 0.42839 0.00998573 +9 0.51 0.963823 0.0285307 +10 0.57 0.593669 0.042796 +11 0.63 0.777688 0.0656205 +12 0.69 1.09418 0.104137 +13 0.75 1.09772 0.149786 +14 0.81 1.15443 0.205777 +15 0.87 1.24934 0.275678 +16 0.93 0.992975 0.339158 +17 0.99 1.1766 0.424394 +18 1.05 0.927842 0.5 +19 1.11 1.04175 0.594864 +20 1.17 0.874218 0.68331 +21 1.23 0.877145 0.781384 +22 1.29 1.02655 0.907632 +23 1.35 1.01678 1.04458 +24 1.41 0.992783 1.19044 +25 1.47 1.05633 1.35913 +26 1.53 0.964811 1.52603 +27 1.59 0.946827 1.70292 +28 1.65 1.06181 1.91655 +29 1.71 1.00016 2.13267 +30 1.77 1.05058 2.37589 +31 1.83 1.00445 2.62447 +32 1.89 1.01465 2.8923 +33 1.95 0.941749 3.15692 +34 2.01 1.02016 3.46148 +35 2.07 1.00806 3.78067 +36 2.13 0.998878 4.11555 +37 2.19 0.997225 4.46897 +38 2.25 1.02006 4.85057 +39 2.31 0.973192 5.23431 +40 2.37 1.04054 5.66619 +41 2.43 0.977533 6.09272 +42 2.49 0.99171 6.54708 +43 2.55 1.00571 7.03031 +44 2.61 0.986929 7.5271 +45 2.67 0.978277 8.04244 +46 2.73 1.03353 8.61163 +47 2.79 0.986461 9.17903 +48 2.85 0.967944 9.75999 +49 2.91 1.00538 10.3891 +50 2.97 1.01168 11.0485 +109300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.0659362 0.000713267 +6 0.33 0.044199 0.0010699 +7 0.39 0.190021 0.0032097 +8 0.45 0.452189 0.00998573 +9 0.51 0.759937 0.0246077 +10 0.57 0.801453 0.0438659 +11 0.63 0.814142 0.0677603 +12 0.69 0.921944 0.100214 +13 0.75 1.13202 0.14729 +14 0.81 1.23531 0.207204 +15 0.87 0.949753 0.260342 +16 0.93 1.07107 0.328816 +17 0.99 1.06337 0.405849 +18 1.05 1.06789 0.492867 +19 1.11 0.924262 0.577033 +20 1.17 0.955294 0.67368 +21 1.23 0.944126 0.779244 +22 1.29 0.962754 0.897646 +23 1.35 0.990301 1.03103 +24 1.41 1.08988 1.19116 +25 1.47 1.0005 1.35093 +26 1.53 0.993673 1.52282 +27 1.59 1.02318 1.71398 +28 1.65 1.05826 1.92689 +29 1.71 0.957251 2.13374 +30 1.77 0.953537 2.35449 +31 1.83 1.00012 2.602 +32 1.89 1.0187 2.8709 +33 1.95 0.95698 3.1398 +34 2.01 1.01299 3.44223 +35 2.07 1.03847 3.77104 +36 2.13 1.05632 4.12518 +37 2.19 1.03546 4.49215 +38 2.25 0.980025 4.85877 +39 2.31 0.953294 5.23466 +40 2.37 0.955476 5.63124 +41 2.43 1.01595 6.07454 +42 2.49 1.0244 6.54387 +43 2.55 1.00349 7.02603 +44 2.61 1.01739 7.53816 +45 2.67 1.01416 8.0724 +46 2.73 1.03418 8.64194 +47 2.79 0.951119 9.18902 +48 2.85 0.999436 9.78887 +49 2.91 1.00253 10.4162 +50 2.97 0.971193 11.0492 +109350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.285031 0.0042796 +8 0.45 0.42839 0.010699 +9 0.51 0.759937 0.025321 +10 0.57 0.756928 0.0435093 +11 0.63 0.814142 0.0674037 +12 0.69 0.952338 0.100927 +13 0.75 1.25208 0.152996 +14 0.81 1.18384 0.210414 +15 0.87 1.08998 0.271398 +16 0.93 1.21054 0.348787 +17 0.99 0.999373 0.421184 +18 1.05 0.997868 0.502496 +19 1.11 0.955593 0.589515 +20 1.17 0.888318 0.679387 +21 1.23 0.960075 0.786733 +22 1.29 1.01785 0.911912 +23 1.35 0.977062 1.04351 +24 1.41 1.04133 1.1965 +25 1.47 1.02953 1.36091 +26 1.53 1.01017 1.53566 +27 1.59 0.988823 1.7204 +28 1.65 0.990902 1.91976 +29 1.71 1.04472 2.14551 +30 1.77 1.01515 2.38053 +31 1.83 0.93095 2.61091 +32 1.89 0.964657 2.86555 +33 1.95 1.01663 3.15121 +34 2.01 0.972377 3.44151 +35 2.07 0.979903 3.75178 +36 2.13 1.03824 4.09986 +37 2.19 1.0254 4.46327 +38 2.25 0.987652 4.83274 +39 2.31 0.990377 5.22325 +40 2.37 1.0139 5.64408 +41 2.43 0.988158 6.07525 +42 2.49 0.973027 6.52104 +43 2.55 1.03021 7.01605 +44 2.61 0.994722 7.51676 +45 2.67 1.03515 8.06205 +46 2.73 0.99727 8.61127 +47 2.79 0.97096 9.16976 +48 2.85 1.00062 9.77033 +49 2.91 0.999115 10.3955 +50 2.97 0.985966 11.0382 +109400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0.131872 0.0010699 +6 0.33 0.044199 0.00142653 +7 0.39 0.221691 0.00392297 +8 0.45 0.452189 0.010699 +9 0.51 0.500446 0.0203281 +10 0.57 0.831136 0.0402996 +11 0.63 0.97211 0.0688302 +12 0.69 0.8105 0.0973609 +13 0.75 1.01196 0.139444 +14 0.81 1.25737 0.200428 +15 0.87 1.1601 0.265335 +16 0.93 1.17149 0.340228 +17 0.99 0.935374 0.407989 +18 1.05 0.975984 0.487518 +19 1.11 0.939927 0.57311 +20 1.17 1.11745 0.686163 +21 1.23 0.928178 0.789943 +22 1.29 1.00335 0.913338 +23 1.35 0.958527 1.04244 +24 1.41 1.0122 1.19116 +25 1.47 0.987102 1.34879 +26 1.53 1.0514 1.53067 +27 1.59 1.02509 1.72218 +28 1.65 0.946587 1.91262 +29 1.71 0.991911 2.12696 +30 1.77 1.0475 2.36947 +31 1.83 0.988594 2.61412 +32 1.89 0.979519 2.87268 +33 1.95 0.982364 3.14872 +34 2.01 1.02374 3.45435 +35 2.07 1.03059 3.78067 +36 2.13 0.97122 4.10628 +37 2.19 0.999237 4.46041 +38 2.25 0.984792 4.82882 +39 2.31 0.991281 5.21969 +40 2.37 1.00102 5.63516 +41 2.43 0.98162 6.06348 +42 2.49 1.05165 6.54529 +43 2.55 0.996063 7.02389 +44 2.61 0.974176 7.51427 +45 2.67 0.989786 8.03566 +46 2.73 1.01799 8.59629 +47 2.79 1.00196 9.17261 +48 2.85 0.995871 9.77033 +49 2.91 1.03217 10.4162 +50 2.97 0.990343 11.0617 +109450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.0883979 0.0010699 +7 0.39 0.411712 0.00570613 +8 0.45 0.285593 0.00998573 +9 0.51 0.537517 0.0203281 +10 0.57 0.831136 0.0402996 +11 0.63 1.16653 0.0745364 +12 0.69 0.932075 0.107347 +13 0.75 1.07199 0.151926 +14 0.81 1.25001 0.212553 +15 0.87 1.03899 0.270685 +16 0.93 1.21612 0.348431 +17 0.99 1.0486 0.424394 +18 1.05 1.02413 0.507846 +19 1.11 0.822437 0.582739 +20 1.17 0.934144 0.677247 +21 1.23 0.960075 0.784593 +22 1.29 0.910556 0.896576 +23 1.35 1.06179 1.03959 +24 1.41 1.11172 1.20292 +25 1.47 1.0407 1.36912 +26 1.53 0.917395 1.52782 +27 1.59 0.967825 1.70863 +28 1.65 1.06535 1.92297 +29 1.71 0.955601 2.12946 +30 1.77 0.973562 2.35485 +31 1.83 0.995799 2.60128 +32 1.89 1.03086 2.8734 +33 1.95 0.991248 3.15193 +34 2.01 1.02016 3.45649 +35 2.07 1.04298 3.78673 +36 2.13 1.02334 4.12981 +37 2.19 0.981124 4.47753 +38 2.25 0.916152 4.82026 +39 2.31 0.990377 5.21077 +40 2.37 1.05257 5.64765 +41 2.43 0.980802 6.07561 +42 2.49 1.00183 6.53459 +43 2.55 0.987899 7.00927 +44 2.61 1.00181 7.51355 +45 2.67 1.05275 8.06812 +46 2.73 0.992089 8.61448 +47 2.79 1.0311 9.20756 +48 2.85 1.00419 9.81027 +49 2.91 0.960928 10.4116 +50 2.97 0.984872 11.0535 +109500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.353592 0.00356633 +7 0.39 0.348371 0.0074893 +8 0.45 0.356992 0.0128388 +9 0.51 0.834077 0.0288873 +10 0.57 0.578827 0.042796 +11 0.63 1.10578 0.0752496 +12 0.69 0.982731 0.109843 +13 0.75 1.1406 0.157275 +14 0.81 1.11766 0.211484 +15 0.87 1.10911 0.273538 +16 0.93 1.1157 0.344864 +17 0.99 0.984604 0.416191 +18 1.05 0.840309 0.484665 +19 1.11 0.877266 0.564551 +20 1.17 1.12802 0.678673 +21 1.23 0.928178 0.782454 +22 1.29 0.988852 0.904066 +23 1.35 0.918809 1.02782 +24 1.41 0.983074 1.17225 +25 1.47 1.05633 1.34094 +26 1.53 1.02666 1.51854 +27 1.59 1.01555 1.70827 +28 1.65 1.05826 1.92118 +29 1.71 1.00511 2.13837 +30 1.77 1.01207 2.37268 +31 1.83 0.964095 2.61127 +32 1.89 1.01735 2.87981 +33 1.95 0.969672 3.15228 +34 2.01 1.02374 3.45792 +35 2.07 1.01482 3.77924 +36 2.13 0.970156 4.10449 +37 2.19 1.00528 4.46077 +38 2.25 1.0153 4.84058 +39 2.31 0.961434 5.21969 +40 2.37 1.00187 5.63552 +41 2.43 1.05191 6.09451 +42 2.49 0.940334 6.52532 +43 2.55 1.00645 7.00892 +44 2.61 0.996848 7.5107 +45 2.67 1.00333 8.03923 +46 2.73 1.01864 8.60021 +47 2.79 0.96848 9.15728 +48 2.85 1.03093 9.77603 +49 2.91 0.982586 10.3909 +50 2.97 1.04342 11.071 +109550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0.21169 0.000356633 +4 0.21 0 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.253361 0.0042796 +8 0.45 0.594986 0.0131954 +9 0.51 0.648727 0.0256776 +10 0.57 0.756928 0.0438659 +11 0.63 1.10578 0.0763195 +12 0.69 0.851025 0.106277 +13 0.75 1.02053 0.148716 +14 0.81 1.10295 0.202211 +15 0.87 1.21109 0.269971 +16 0.93 1.12128 0.341655 +17 0.99 1.07322 0.419401 +18 1.05 1.04163 0.50428 +19 1.11 0.908597 0.587019 +20 1.17 0.96587 0.684736 +21 1.23 0.956885 0.791726 +22 1.29 0.951154 0.908702 +23 1.35 0.921457 1.03281 +24 1.41 1.05104 1.18723 +25 1.47 0.987102 1.34486 +26 1.53 1.0782 1.53138 +27 1.59 0.990732 1.71648 +28 1.65 0.909361 1.89943 +29 1.71 1.00181 2.11591 +30 1.77 1.0398 2.35663 +31 1.83 1.04624 2.61555 +32 1.89 1.00654 2.88124 +33 1.95 1.01663 3.1669 +34 2.01 0.934151 3.44579 +35 2.07 1.0013 3.76284 +36 2.13 0.981858 4.09201 +37 2.19 0.979112 4.43902 +38 2.25 0.996232 4.8117 +39 2.31 0.981332 5.19864 +40 2.37 1.04054 5.63053 +41 2.43 0.997149 6.06562 +42 2.49 1.01351 6.52996 +43 2.55 1.05099 7.03495 +44 2.61 0.927415 7.50178 +45 2.67 0.999941 8.02853 +46 2.73 0.99986 8.57917 +47 2.79 0.980261 9.14301 +48 2.85 0.983393 9.73324 +49 2.91 0.997405 10.3573 +50 2.97 1.06366 11.0506 +109600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.176796 0.00178317 +7 0.39 0.190021 0.00392297 +8 0.45 0.523588 0.0117689 +9 0.51 0.741402 0.0260342 +10 0.57 0.831136 0.0460057 +11 0.63 0.935656 0.0734665 +12 0.69 0.881419 0.104494 +13 0.75 1.03769 0.147646 +14 0.81 1.14707 0.203281 +15 0.87 1.12186 0.266049 +16 0.93 1.18264 0.341655 +17 0.99 0.99445 0.413695 +18 1.05 0.936595 0.490014 +19 1.11 0.959509 0.577389 +20 1.17 1.0258 0.68117 +21 1.23 0.950506 0.787447 +22 1.29 1.04685 0.916191 +23 1.35 1.0565 1.05849 +24 1.41 0.919963 1.19365 +25 1.47 0.987102 1.35128 +26 1.53 0.973057 1.51961 +27 1.59 1.04991 1.71576 +28 1.65 1.00686 1.91833 +29 1.71 1.09094 2.15407 +30 1.77 1.04134 2.39515 +31 1.83 1.01886 2.64729 +32 1.89 0.966008 2.90228 +33 1.95 0.993786 3.18153 +34 2.01 1.02733 3.48823 +35 2.07 0.995671 3.8035 +36 2.13 0.981858 4.13267 +37 2.19 0.97408 4.47789 +38 2.25 0.988605 4.84772 +39 2.31 1.06454 5.26748 +40 2.37 0.921106 5.64979 +41 2.43 1.01758 6.09379 +42 2.49 1.03608 6.56847 +43 2.55 0.986414 7.04244 +44 2.61 1.01456 7.55314 +45 2.67 0.989109 8.07418 +46 2.73 0.95971 8.60271 +47 2.79 0.990181 9.17225 +48 2.85 1.02023 9.78459 +49 2.91 0.989426 10.4037 +50 2.97 1.00293 11.0574 +109650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.265194 0.00285307 +7 0.39 0.158351 0.00463623 +8 0.45 0.309393 0.00927247 +9 0.51 0.556052 0.0199715 +10 0.57 0.875662 0.0410128 +11 0.63 1.13008 0.0741797 +12 0.69 1.02326 0.1102 +13 0.75 1.1406 0.157632 +14 0.81 1.11031 0.211484 +15 0.87 1.11548 0.273894 +16 0.93 1.0376 0.340228 +17 0.99 0.979681 0.411198 +18 1.05 1.07665 0.49893 +19 1.11 0.889015 0.579886 +20 1.17 0.923569 0.673324 +21 1.23 0.976023 0.782454 +22 1.29 0.983053 0.903352 +23 1.35 1.06444 1.04672 +24 1.41 0.997638 1.1933 +25 1.47 0.978169 1.3495 +26 1.53 1.02253 1.52639 +27 1.59 1.02891 1.71862 +28 1.65 1.00686 1.92118 +29 1.71 1.01172 2.1398 +30 1.77 1.06753 2.38695 +31 1.83 0.98427 2.63053 +32 1.89 0.972763 2.8873 +33 1.95 0.965864 3.1587 +34 2.01 0.99149 3.45471 +35 2.07 1.00018 3.7714 +36 2.13 1.05207 4.12411 +37 2.19 0.9932 4.47611 +38 2.25 1.02292 4.85877 +39 2.31 1.02022 5.26106 +40 2.37 1.00703 5.67903 +41 2.43 1.00042 6.11555 +42 2.49 0.974584 6.56205 +43 2.55 0.993094 7.03923 +44 2.61 0.981261 7.53317 +45 2.67 0.959998 8.03887 +46 2.73 0.998565 8.5888 +47 2.79 1.00444 9.16655 +48 2.85 1.02974 9.78459 +49 2.91 1.00196 10.4116 +50 2.97 1.01387 11.0724 +109700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.220995 0.0021398 +7 0.39 0.253361 0.00499287 +8 0.45 0.499788 0.0124822 +9 0.51 0.704332 0.0260342 +10 0.57 0.831136 0.0460057 +11 0.63 0.887051 0.0720399 +12 0.69 1.06378 0.109486 +13 0.75 1.13202 0.156562 +14 0.81 1.19119 0.214337 +15 0.87 1.1601 0.279244 +16 0.93 1.05434 0.346648 +17 0.99 1.0043 0.419401 +18 1.05 0.984738 0.499643 +19 1.11 0.983008 0.589158 +20 1.17 0.96587 0.686876 +21 1.23 0.867576 0.78388 +22 1.29 0.985953 0.905136 +23 1.35 0.924105 1.0296 +24 1.41 1.05347 1.18438 +25 1.47 1.05857 1.35342 +26 1.53 0.989549 1.52461 +27 1.59 1.01937 1.71505 +28 1.65 1.04763 1.92582 +29 1.71 1.00676 2.14337 +30 1.77 0.975103 2.36912 +31 1.83 1.03183 2.62447 +32 1.89 1.00519 2.8898 +33 1.95 0.978556 3.16476 +34 2.01 0.987907 3.4597 +35 2.07 1.00018 3.77639 +36 2.13 0.976539 4.10378 +37 2.19 1.03345 4.47004 +38 2.25 1.03055 4.85556 +39 2.31 0.975906 5.24037 +40 2.37 1.02507 5.66583 +41 2.43 1.00859 6.10592 +42 2.49 1.00416 6.56598 +43 2.55 0.961921 7.02817 +44 2.61 0.991888 7.52746 +45 2.67 1.00468 8.0567 +46 2.73 1.00957 8.6127 +47 2.79 0.980261 9.17653 +48 2.85 0.967944 9.75749 +49 2.91 1.00481 10.3862 +50 2.97 1.0073 11.0428 +109750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0.108706 0.000356633 +5 0.27 0 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.316701 0.00499287 +8 0.45 0.285593 0.00927247 +9 0.51 0.667262 0.0221113 +10 0.57 0.845978 0.0424394 +11 0.63 1.09362 0.0745364 +12 0.69 0.9726 0.108773 +13 0.75 0.934775 0.147646 +14 0.81 0.9706 0.194722 +15 0.87 1.10911 0.256776 +16 0.93 1.29979 0.339872 +17 0.99 0.964912 0.409772 +18 1.05 1.09853 0.499287 +19 1.11 0.936011 0.584522 +20 1.17 0.902418 0.67582 +21 1.23 0.976023 0.78495 +22 1.29 0.988852 0.906562 +23 1.35 0.926753 1.03138 +24 1.41 1.06803 1.1883 +25 1.47 0.993802 1.347 +26 1.53 1.06995 1.5321 +27 1.59 0.965916 1.71255 +28 1.65 1.05649 1.92511 +29 1.71 0.991911 2.13944 +30 1.77 0.993588 2.36947 +31 1.83 1.00589 2.6184 +32 1.89 0.929529 2.86377 +33 1.95 1.04963 3.1587 +34 2.01 1.01658 3.4622 +35 2.07 0.960755 3.76641 +36 2.13 0.981858 4.09558 +37 2.19 1.03446 4.4622 +38 2.25 1.01339 4.8413 +39 2.31 1.0157 5.2418 +40 2.37 1.02078 5.66548 +41 2.43 0.970177 6.0888 +42 2.49 0.999494 6.54672 +43 2.55 0.982703 7.0189 +44 2.61 1.01669 7.53067 +45 2.67 0.945104 8.02853 +46 2.73 1.0154 8.58773 +47 2.79 0.988321 9.15621 +48 2.85 1.03033 9.77461 +49 2.91 0.972897 10.3834 +50 2.97 0.967363 11.0139 +109800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0.309393 0.00249643 +7 0.39 0.411712 0.00713267 +8 0.45 0.333192 0.0121255 +9 0.51 0.518981 0.0221113 +10 0.57 0.756928 0.0402996 +11 0.63 0.97211 0.0688302 +12 0.69 1.03339 0.105207 +13 0.75 1.05484 0.149073 +14 0.81 1.14707 0.204708 +15 0.87 1.1346 0.268188 +16 0.93 1.04318 0.334879 +17 0.99 1.12737 0.416548 +18 1.05 1.00662 0.498573 +19 1.11 1.03 0.592368 +20 1.17 0.842492 0.677603 +21 1.23 0.969643 0.78602 +22 1.29 0.927955 0.900143 +23 1.35 1.00884 1.03602 +24 1.41 0.961228 1.17725 +25 1.47 1.0541 1.34558 +26 1.53 1.04109 1.52568 +27 1.59 0.952554 1.70364 +28 1.65 1.07067 1.91904 +29 1.71 0.965504 2.12767 +30 1.77 1.0244 2.36484 +31 1.83 1.03759 2.62161 +32 1.89 1.02275 2.89158 +33 1.95 1.00267 3.17332 +34 2.01 0.942513 3.45471 +35 2.07 0.983282 3.76605 +36 2.13 1.01696 4.10699 +37 2.19 1.0415 4.47611 +38 2.25 1.00004 4.85021 +39 2.31 1.02113 5.25285 +40 2.37 0.989845 5.66369 +41 2.43 0.985706 6.09379 +42 2.49 0.953567 6.53067 +43 2.55 0.982703 7.00285 +44 2.61 1.00393 7.5082 +45 2.67 0.99791 8.03388 +46 2.73 1.01605 8.59344 +47 2.79 1.02552 9.18331 +48 2.85 0.994088 9.77996 +49 2.91 1.05383 10.4394 +50 2.97 1.01332 11.0999 +109850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.197809 0.0010699 +6 0.33 0.309393 0.00356633 +7 0.39 0.316701 0.00713267 +8 0.45 0.618786 0.0164051 +9 0.51 0.704332 0.0299572 +10 0.57 0.86082 0.0506419 +11 0.63 0.911353 0.0773894 +12 0.69 0.982731 0.111983 +13 0.75 1.02053 0.154422 +14 0.81 1.23531 0.214337 +15 0.87 1.09636 0.275678 +16 0.93 1.07107 0.344151 +17 0.99 0.969835 0.414408 +18 1.05 1.07665 0.50214 +19 1.11 1.04567 0.597361 +20 1.17 1.00465 0.699001 +21 1.23 0.976023 0.808131 +22 1.29 0.875758 0.915835 +23 1.35 0.945288 1.04315 +24 1.41 0.953946 1.18331 +25 1.47 0.975936 1.33916 +26 1.53 1.05964 1.52247 +27 1.59 1.01937 1.71291 +28 1.65 1.05117 1.92439 +29 1.71 1.02492 2.14586 +30 1.77 1.03056 2.38445 +31 1.83 0.974183 2.62553 +32 1.89 0.98087 2.88445 +33 1.95 1.0014 3.16583 +34 2.01 0.941319 3.44686 +35 2.07 0.986661 3.75927 +36 2.13 1.02228 4.102 +37 2.19 0.987162 4.45185 +38 2.25 1.03055 4.83738 +39 2.31 0.995804 5.23003 +40 2.37 1.02164 5.65407 +41 2.43 1.00696 6.09344 +42 2.49 0.972249 6.53887 +43 2.55 0.995321 7.01712 +44 2.61 0.994014 7.51748 +45 2.67 0.993848 8.04101 +46 2.73 0.99727 8.59023 +47 2.79 1.00134 9.16619 +48 2.85 1.02202 9.7796 +49 2.91 1.00424 10.408 +50 2.97 1.02974 11.0792 +109900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.132597 0.00142653 +7 0.39 0.221691 0.00392297 +8 0.45 0.356992 0.00927247 +9 0.51 0.518981 0.0192582 +10 0.57 0.86082 0.0399429 +11 0.63 0.899202 0.0663338 +12 0.69 0.921944 0.0987874 +13 0.75 1.19205 0.148359 +14 0.81 1.2059 0.206847 +15 0.87 1.24296 0.276391 +16 0.93 1.0655 0.344508 +17 0.99 1.0683 0.421897 +18 1.05 0.989114 0.502496 +19 1.11 0.951677 0.589158 +20 1.17 0.98702 0.689016 +21 1.23 1.00154 0.800999 +22 1.29 0.968553 0.920114 +23 1.35 1.0512 1.0617 +24 1.41 0.919963 1.19686 +25 1.47 0.962536 1.35057 +26 1.53 1.04315 1.53103 +27 1.59 1.07282 1.73146 +28 1.65 0.974949 1.9276 +29 1.71 1.03317 2.15086 +30 1.77 0.935051 2.36733 +31 1.83 1.07362 2.63302 +32 1.89 0.96871 2.88873 +33 1.95 0.950634 3.15585 +34 2.01 1.0118 3.45792 +35 2.07 1.00919 3.77746 +36 2.13 1.03079 4.12304 +37 2.19 0.96603 4.46541 +38 2.25 0.990512 4.83595 +39 2.31 0.995804 5.2286 +40 2.37 1.01047 5.648 +41 2.43 1.00042 6.08452 +42 2.49 1.01428 6.54922 +43 2.55 1.00423 7.03174 +44 2.61 0.938751 7.50428 +45 2.67 0.997233 8.0296 +46 2.73 0.984966 8.57204 +47 2.79 1.00506 9.15014 +48 2.85 1.02023 9.76248 +49 2.91 1.02305 10.4026 +50 2.97 0.996362 11.0521 +109950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.0659362 0.000356633 +6 0.33 0.265194 0.00249643 +7 0.39 0.285031 0.00570613 +8 0.45 0.404591 0.0117689 +9 0.51 0.741402 0.0260342 +10 0.57 0.727244 0.0435093 +11 0.63 0.959959 0.0716833 +12 0.69 1.06378 0.10913 +13 0.75 1.01196 0.151213 +14 0.81 1.2206 0.210414 +15 0.87 1.12186 0.273181 +16 0.93 0.998553 0.337019 +17 0.99 1.07322 0.414765 +18 1.05 1.05914 0.50107 +19 1.11 0.979091 0.590228 +20 1.17 0.905943 0.681883 +21 1.23 0.988781 0.792439 +22 1.29 0.994652 0.914765 +23 1.35 0.913513 1.0378 +24 1.41 1.02191 1.18795 +25 1.47 1.0474 1.35521 +26 1.53 1.01429 1.53067 +27 1.59 1.00409 1.71826 +28 1.65 0.994448 1.91833 +29 1.71 0.998512 2.13409 +30 1.77 0.992048 2.36377 +31 1.83 0.982829 2.60699 +32 1.89 0.971412 2.86341 +33 1.95 1.03694 3.15478 +34 2.01 1.02613 3.46113 +35 2.07 1.02946 3.78709 +36 2.13 0.986113 4.11769 +37 2.19 0.947917 4.45364 +38 2.25 0.961912 4.81348 +39 2.31 0.99309 5.20506 +40 2.37 1.01906 5.62803 +41 2.43 1.01023 6.06883 +42 2.49 1.01584 6.53424 +43 2.55 1.01017 7.01961 +44 2.61 0.984803 7.51534 +45 2.67 0.999941 8.04208 +46 2.73 1.01734 8.60235 +47 2.79 0.983361 9.16797 +48 2.85 1.0036 9.77033 +49 2.91 0.998545 10.3951 +50 2.97 0.991985 11.0417 +110000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0.131872 0.000713267 +6 0.33 0.309393 0.0032097 +7 0.39 0.221691 0.00570613 +8 0.45 0.452189 0.0124822 +9 0.51 0.556052 0.0231812 +10 0.57 0.831136 0.0431526 +11 0.63 0.984262 0.0720399 +12 0.69 0.932075 0.10485 +13 0.75 0.977655 0.145506 +14 0.81 1.04413 0.196148 +15 0.87 1.24934 0.266049 +16 0.93 1.21054 0.343438 +17 0.99 1.15691 0.427247 +18 1.05 0.888452 0.499643 +19 1.11 1.03 0.593438 +20 1.17 0.955294 0.690086 +21 1.23 0.950506 0.796362 +22 1.29 0.904756 0.907632 +23 1.35 0.963823 1.03745 +24 1.41 0.9588 1.17832 +25 1.47 1.02507 1.34201 +26 1.53 0.993673 1.51391 +27 1.59 1.06518 1.71291 +28 1.65 1.01572 1.91726 +29 1.71 1.00511 2.13445 +30 1.77 1.00283 2.36662 +31 1.83 1.02462 2.62019 +32 1.89 0.947093 2.87019 +33 1.95 0.95698 3.13909 +34 2.01 1.01897 3.4433 +35 2.07 0.94386 3.74215 +36 2.13 1.02015 4.08417 +37 2.19 1.00729 4.44116 +38 2.25 1.02578 4.82489 +39 2.31 0.975906 5.2097 +40 2.37 1.00961 5.62874 +41 2.43 1.01922 6.07347 +42 2.49 1.01506 6.53852 +43 2.55 0.989383 7.01391 +44 2.61 0.975593 7.50499 +45 2.67 0.955936 8.00856 +46 2.73 0.988204 8.55278 +47 2.79 1.00692 9.13195 +48 2.85 0.988741 9.72539 +49 2.91 1.00253 10.3527 +50 2.97 1.02919 11.0235 diff --git a/examples/USER/misc/slater/tmp_2_2.rdf b/examples/USER/misc/slater/tmp_2_2.rdf new file mode 100644 index 0000000000000000000000000000000000000000..fe93e70d0519eb19989360baf174d4bb16c0838e --- /dev/null +++ b/examples/USER/misc/slater/tmp_2_2.rdf @@ -0,0 +1,10254 @@ +# Time-averaged data for fix 14 +# TimeStep Number-of-rows +# Row c_RDF_2_2[1] c_RDF_2_2[2] c_RDF_2_2[3] +100000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 2.10758 0.102041 +12 0.69 0 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 1.29007 0.285714 +17 0.99 1.70773 0.408163 +18 1.05 0.506063 0.44898 +19 1.11 0.452845 0.489796 +20 1.17 0.2038 0.510204 +21 1.23 0.553218 0.571429 +22 1.29 1.50888 0.755102 +23 1.35 0.612339 0.836735 +24 1.41 0.561342 0.918367 +25 1.47 0.903804 1.06122 +26 1.53 0.715128 1.18367 +27 1.59 0.993271 1.36735 +28 1.65 1.33229 1.63265 +29 1.71 1.04961 1.85714 +30 1.77 0.17812 1.89796 +31 1.83 0.66653 2.06122 +32 1.89 0.546775 2.20408 +33 1.95 1.10067 2.5102 +34 2.01 0.690632 2.71429 +35 2.07 1.23724 3.10204 +36 2.13 0.738014 3.34694 +37 2.19 0.930841 3.67347 +38 2.25 1.15744 4.10204 +39 2.31 0.993519 4.4898 +40 2.37 0.397412 4.65306 +41 2.43 1.18134 5.16327 +42 2.49 0.900081 5.57143 +43 2.55 0.986958 6.04082 +44 2.61 0.983065 6.53061 +45 2.67 1.0568 7.08163 +46 2.73 0.786226 7.5102 +47 2.79 1.07539 8.12245 +48 2.85 1.44283 8.97959 +49 2.91 1.38395 9.83673 +50 2.97 1.0439 10.5102 +100050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 1.48744 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 1.47408 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 0.569243 0.265306 +18 1.05 0.759094 0.326531 +19 1.11 1.35853 0.44898 +20 1.17 1.2228 0.571429 +21 1.23 1.10644 0.693878 +22 1.29 0.838269 0.795918 +23 1.35 0.459254 0.857143 +24 1.41 0.701677 0.959184 +25 1.47 0.903804 1.10204 +26 1.53 1.19188 1.30612 +27 1.59 0.772544 1.44898 +28 1.65 1.74223 1.79592 +29 1.71 0.667932 1.93878 +30 1.77 1.24684 2.22449 +31 1.83 0.66653 2.38776 +32 1.89 0.546775 2.53061 +33 1.95 0.660405 2.71429 +34 2.01 1.17407 3.06122 +35 2.07 1.04189 3.38776 +36 2.13 0.984018 3.71429 +37 2.19 1.0472 4.08163 +38 2.25 0.826745 4.38776 +39 2.31 1.62101 5.02041 +40 2.37 0.894177 5.38776 +41 2.43 1.08684 5.85714 +42 2.49 1.26011 6.42857 +43 2.55 0.986958 6.89796 +44 2.61 0.819221 7.30612 +45 2.67 1.0568 7.85714 +46 2.73 1.0483 8.42857 +47 2.79 0.932007 8.95918 +48 2.85 0.687061 9.36735 +49 2.91 0.889679 9.91837 +50 2.97 0.948997 10.5306 +100100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 0 0.142857 +15 0.87 1.8426 0.244898 +16 0.93 1.61259 0.346939 +17 0.99 0 0.346939 +18 1.05 0.506063 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 1.2228 0.571429 +21 1.23 1.65965 0.755102 +22 1.29 1.50888 0.938776 +23 1.35 0.918509 1.06122 +24 1.41 2.10503 1.36735 +25 1.47 0.903804 1.5102 +26 1.53 0.715128 1.63265 +27 1.59 0.882908 1.79592 +28 1.65 0.614903 1.91837 +29 1.71 1.04961 2.14286 +30 1.77 1.06872 2.38776 +31 1.83 0.583214 2.53061 +32 1.89 0.859219 2.7551 +33 1.95 0.660405 2.93878 +34 2.01 0.897822 3.20408 +35 2.07 0.976768 3.5102 +36 2.13 0.738014 3.7551 +37 2.19 1.10537 4.14286 +38 2.25 1.04721 4.53061 +39 2.31 0.784357 4.83673 +40 2.37 1.04321 5.26531 +41 2.43 0.803314 5.61224 +42 2.49 0.990089 6.06122 +43 2.55 0.944046 6.5102 +44 2.61 1.22883 7.12245 +45 2.67 1.25251 7.77551 +46 2.73 0.861105 8.2449 +47 2.79 1.18293 8.91837 +48 2.85 1.23671 9.65306 +49 2.91 0.856728 10.1837 +50 2.97 1.0439 10.8571 +100150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0 0.0408163 +13 0.75 1.98325 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 1.13849 0.326531 +18 1.05 1.51819 0.44898 +19 1.11 1.35853 0.571429 +20 1.17 1.4266 0.714286 +21 1.23 1.10644 0.836735 +22 1.29 1.17358 0.979592 +23 1.35 1.07159 1.12245 +24 1.41 0.561342 1.20408 +25 1.47 0.903804 1.34694 +26 1.53 1.07269 1.53061 +27 1.59 1.10363 1.73469 +28 1.65 0.512419 1.83673 +29 1.71 0.477094 1.93878 +30 1.77 1.3359 2.2449 +31 1.83 0.833163 2.44898 +32 1.89 0.702997 2.63265 +33 1.95 1.17405 2.95918 +34 2.01 0.690632 3.16327 +35 2.07 1.23724 3.55102 +36 2.13 0.55351 3.73469 +37 2.19 0.930841 4.06122 +38 2.25 0.826745 4.36735 +39 2.31 1.15039 4.81633 +40 2.37 0.844501 5.16327 +41 2.43 1.03958 5.61224 +42 2.49 0.900081 6.02041 +43 2.55 0.600757 6.30612 +44 2.61 0.737299 6.67347 +45 2.67 0.743676 7.06122 +46 2.73 1.01086 7.61224 +47 2.79 1.43386 8.42857 +48 2.85 0.961885 9 +49 2.91 1.21919 9.7551 +50 2.97 1.1388 10.4898 +100200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 2.58015 0.326531 +17 0.99 0.284622 0.346939 +18 1.05 0.506063 0.387755 +19 1.11 0.452845 0.428571 +20 1.17 0.2038 0.44898 +21 1.23 0.368812 0.489796 +22 1.29 1.00592 0.612245 +23 1.35 0.459254 0.673469 +24 1.41 1.26302 0.857143 +25 1.47 0.774689 0.979592 +26 1.53 1.31107 1.20408 +27 1.59 1.10363 1.40816 +28 1.65 1.02484 1.61224 +29 1.71 0.667932 1.7551 +30 1.77 0.80154 1.93878 +31 1.83 1.33306 2.26531 +32 1.89 1.09355 2.55102 +33 1.95 0.953918 2.81633 +34 2.01 0.690632 3.02041 +35 2.07 1.62795 3.53061 +36 2.13 0.799515 3.79592 +37 2.19 0.639953 4.02041 +38 2.25 1.04721 4.40816 +39 2.31 0.679776 4.67347 +40 2.37 0.99353 5.08163 +41 2.43 0.945075 5.4898 +42 2.49 1.03509 5.95918 +43 2.55 0.986958 6.42857 +44 2.61 1.02403 6.93878 +45 2.67 1.0568 7.4898 +46 2.73 0.973423 8.02041 +47 2.79 0.967854 8.57143 +48 2.85 0.893179 9.10204 +49 2.91 0.626071 9.4898 +50 2.97 0.727564 9.95918 +100250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 0 0.102041 +16 0.93 0.645037 0.142857 +17 0.99 0.853865 0.204082 +18 1.05 0.253031 0.22449 +19 1.11 1.35853 0.346939 +20 1.17 0.8152 0.428571 +21 1.23 0.368812 0.469388 +22 1.29 0.670615 0.55102 +23 1.35 1.22468 0.714286 +24 1.41 0.842013 0.836735 +25 1.47 1.16203 1.02041 +26 1.53 1.43026 1.26531 +27 1.59 0.33109 1.32653 +28 1.65 0.922354 1.5102 +29 1.71 1.24045 1.77551 +30 1.77 0.979661 2 +31 1.83 0.999796 2.2449 +32 1.89 0.937329 2.4898 +33 1.95 0.807161 2.71429 +34 2.01 1.38126 3.12245 +35 2.07 1.107 3.46939 +36 2.13 1.16852 3.85714 +37 2.19 0.872664 4.16327 +38 2.25 0.881861 4.4898 +39 2.31 0.993519 4.87755 +40 2.37 0.645795 5.14286 +41 2.43 0.897822 5.53061 +42 2.49 1.21511 6.08163 +43 2.55 0.72949 6.42857 +44 2.61 1.10595 6.97959 +45 2.67 1.40907 7.71429 +46 2.73 0.861105 8.18367 +47 2.79 1.14709 8.83673 +48 2.85 0.927532 9.38776 +49 2.91 1.08739 10.0612 +50 2.97 0.854097 10.6122 +100300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0 0.0408163 +14 0.81 1.27533 0.102041 +15 0.87 1.8426 0.204082 +16 0.93 0.967555 0.265306 +17 0.99 0.853865 0.326531 +18 1.05 0.253031 0.346939 +19 1.11 0.452845 0.387755 +20 1.17 1.4266 0.530612 +21 1.23 0.553218 0.591837 +22 1.29 0.502961 0.653061 +23 1.35 0.612339 0.734694 +24 1.41 0.701677 0.836735 +25 1.47 1.54938 1.08163 +26 1.53 0.953504 1.2449 +27 1.59 1.76582 1.57143 +28 1.65 1.43477 1.85714 +29 1.71 1.33586 2.14286 +30 1.77 0.71248 2.30612 +31 1.83 0.583214 2.44898 +32 1.89 1.09355 2.73469 +33 1.95 0.366891 2.83673 +34 2.01 0.966885 3.12245 +35 2.07 0.976768 3.42857 +36 2.13 1.29152 3.85714 +37 2.19 1.27991 4.30612 +38 2.25 1.21256 4.7551 +39 2.31 1.0981 5.18367 +40 2.37 0.99353 5.59184 +41 2.43 1.2286 6.12245 +42 2.49 0.495044 6.34694 +43 2.55 0.944046 6.79592 +44 2.61 0.942104 7.26531 +45 2.67 0.821958 7.69388 +46 2.73 0.973423 8.22449 +47 2.79 0.716929 8.63265 +48 2.85 1.06494 9.26531 +49 2.91 1.02148 9.89796 +50 2.97 1.2337 10.6939 +100350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 2.10758 0.122449 +12 0.69 0 0.122449 +13 0.75 1.48744 0.183673 +14 0.81 0.850222 0.22449 +15 0.87 0.368519 0.244898 +16 0.93 0.645037 0.285714 +17 0.99 1.42311 0.387755 +18 1.05 1.01213 0.469388 +19 1.11 0.90569 0.55102 +20 1.17 0.6114 0.612245 +21 1.23 0.553218 0.673469 +22 1.29 0.335308 0.714286 +23 1.35 0.612339 0.795918 +24 1.41 1.26302 0.979592 +25 1.47 0.903804 1.12245 +26 1.53 0.715128 1.2449 +27 1.59 1.10363 1.44898 +28 1.65 0.512419 1.55102 +29 1.71 0.763351 1.71429 +30 1.77 1.15778 1.97959 +31 1.83 1.24974 2.28571 +32 1.89 1.17166 2.59184 +33 1.95 0.733783 2.79592 +34 2.01 0.828758 3.04082 +35 2.07 1.43259 3.4898 +36 2.13 1.10702 3.85714 +37 2.19 0.872664 4.16327 +38 2.25 0.716512 4.42857 +39 2.31 0.836648 4.7551 +40 2.37 0.943854 5.14286 +41 2.43 0.850568 5.5102 +42 2.49 0.900081 5.91837 +43 2.55 0.72949 6.26531 +44 2.61 1.22883 6.87755 +45 2.67 1.25251 7.53061 +46 2.73 1.31038 8.2449 +47 2.79 0.788621 8.69388 +48 2.85 1.06494 9.32653 +49 2.91 1.12034 10.0204 +50 2.97 0.98063 10.6531 +100400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 1.70044 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 1.13849 0.326531 +18 1.05 0.506063 0.367347 +19 1.11 0.452845 0.408163 +20 1.17 0.4076 0.44898 +21 1.23 0.553218 0.510204 +22 1.29 1.17358 0.653061 +23 1.35 1.37776 0.836735 +24 1.41 1.12268 1 +25 1.47 1.03292 1.16327 +26 1.53 1.07269 1.34694 +27 1.59 1.214 1.57143 +28 1.65 1.22981 1.81633 +29 1.71 0.381676 1.89796 +30 1.77 1.42496 2.22449 +31 1.83 1.16643 2.5102 +32 1.89 1.56222 2.91837 +33 1.95 1.10067 3.22449 +34 2.01 0.828758 3.46939 +35 2.07 0.846532 3.73469 +36 2.13 0.676513 3.95918 +37 2.19 0.930841 4.28571 +38 2.25 1.04721 4.67347 +39 2.31 0.888938 5.02041 +40 2.37 0.596118 5.26531 +41 2.43 0.992329 5.69388 +42 2.49 0.900081 6.10204 +43 2.55 0.815313 6.4898 +44 2.61 1.22883 7.10204 +45 2.67 0.93938 7.59184 +46 2.73 0.786226 8.02041 +47 2.79 1.0037 8.59184 +48 2.85 0.893179 9.12245 +49 2.91 1.02148 9.7551 +50 2.97 1.01226 10.4082 +100450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 1.71613 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 0 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 1.93511 0.306122 +17 0.99 0.853865 0.367347 +18 1.05 1.01213 0.44898 +19 1.11 0.452845 0.489796 +20 1.17 0.6114 0.55102 +21 1.23 0.553218 0.612245 +22 1.29 1.00592 0.734694 +23 1.35 0.765424 0.836735 +24 1.41 1.26302 1.02041 +25 1.47 0.774689 1.14286 +26 1.53 1.19188 1.34694 +27 1.59 1.32436 1.59184 +28 1.65 0.819871 1.7551 +29 1.71 0.477094 1.85714 +30 1.77 1.24684 2.14286 +31 1.83 0.833163 2.34694 +32 1.89 1.09355 2.63265 +33 1.95 1.10067 2.93878 +34 2.01 0.759695 3.16327 +35 2.07 0.520943 3.32653 +36 2.13 0.861016 3.61224 +37 2.19 1.16355 4.02041 +38 2.25 0.936978 4.36735 +39 2.31 1.6733 5.02041 +40 2.37 0.794824 5.34694 +41 2.43 0.803314 5.69388 +42 2.49 1.0801 6.18367 +43 2.55 1.20151 6.7551 +44 2.61 0.737299 7.12245 +45 2.67 0.861099 7.57143 +46 2.73 1.31038 8.28571 +47 2.79 1.03955 8.87755 +48 2.85 0.927532 9.42857 +49 2.91 0.889679 9.97959 +50 2.97 0.917363 10.5714 +100500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 2.21112 0.285714 +16 0.93 1.29007 0.367347 +17 0.99 0.284622 0.387755 +18 1.05 0.506063 0.428571 +19 1.11 0.226422 0.44898 +20 1.17 1.019 0.55102 +21 1.23 0.368812 0.591837 +22 1.29 1.34123 0.755102 +23 1.35 1.53085 0.959184 +24 1.41 0.701677 1.06122 +25 1.47 0.645574 1.16327 +26 1.53 1.78782 1.46939 +27 1.59 0.441454 1.55102 +28 1.65 0.409935 1.63265 +29 1.71 0.381676 1.71429 +30 1.77 0.979661 1.93878 +31 1.83 0.499898 2.06122 +32 1.89 1.01544 2.32653 +33 1.95 1.61432 2.77551 +34 2.01 0.690632 2.97959 +35 2.07 0.91165 3.26531 +36 2.13 0.676513 3.4898 +37 2.19 0.872664 3.79592 +38 2.25 1.32279 4.28571 +39 2.31 0.732067 4.57143 +40 2.37 0.745148 4.87755 +41 2.43 0.897822 5.26531 +42 2.49 1.03509 5.73469 +43 2.55 0.557846 6 +44 2.61 1.06499 6.53061 +45 2.67 1.48735 7.30612 +46 2.73 1.16062 7.93878 +47 2.79 1.25463 8.65306 +48 2.85 0.996238 9.2449 +49 2.91 1.15329 9.95918 +50 2.97 1.2337 10.7551 +100550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0 0.0408163 +14 0.81 1.27533 0.102041 +15 0.87 2.21112 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 1.42311 0.367347 +18 1.05 0.759094 0.428571 +19 1.11 1.13211 0.530612 +20 1.17 0.4076 0.571429 +21 1.23 0.922029 0.673469 +22 1.29 0.670615 0.755102 +23 1.35 0.612339 0.836735 +24 1.41 0.561342 0.918367 +25 1.47 1.42026 1.14286 +26 1.53 0.59594 1.2449 +27 1.59 0.993271 1.42857 +28 1.65 0.922354 1.61224 +29 1.71 1.14503 1.85714 +30 1.77 1.24684 2.14286 +31 1.83 0.66653 2.30612 +32 1.89 0.859219 2.53061 +33 1.95 0.880539 2.77551 +34 2.01 1.24314 3.14286 +35 2.07 1.49771 3.61224 +36 2.13 1.29152 4.04082 +37 2.19 0.698131 4.28571 +38 2.25 0.936978 4.63265 +39 2.31 0.888938 4.97959 +40 2.37 0.894177 5.34694 +41 2.43 0.661553 5.63265 +42 2.49 0.630056 5.91837 +43 2.55 0.815313 6.30612 +44 2.61 1.18787 6.89796 +45 2.67 1.13508 7.4898 +46 2.73 0.748787 7.89796 +47 2.79 0.681082 8.28571 +48 2.85 0.893179 8.81633 +49 2.91 0.823777 9.32653 +50 2.97 1.10716 10.0408 +100600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 2.58015 0.306122 +17 0.99 1.13849 0.387755 +18 1.05 1.01213 0.469388 +19 1.11 0.679267 0.530612 +20 1.17 0.6114 0.591837 +21 1.23 0.737623 0.673469 +22 1.29 0.838269 0.77551 +23 1.35 0.459254 0.836735 +24 1.41 0.842013 0.959184 +25 1.47 0.387344 1.02041 +26 1.53 0.238376 1.06122 +27 1.59 1.76582 1.38776 +28 1.65 1.22981 1.63265 +29 1.71 1.43128 1.93878 +30 1.77 0.80154 2.12245 +31 1.83 0.416582 2.22449 +32 1.89 0.859219 2.44898 +33 1.95 1.46757 2.85714 +34 2.01 1.51939 3.30612 +35 2.07 0.846532 3.57143 +36 2.13 0.861016 3.85714 +37 2.19 1.10537 4.2449 +38 2.25 0.992094 4.61224 +39 2.31 0.784357 4.91837 +40 2.37 0.99353 5.32653 +41 2.43 0.75606 5.65306 +42 2.49 0.945085 6.08163 +43 2.55 0.772402 6.44898 +44 2.61 0.901143 6.89796 +45 2.67 1.0568 7.44898 +46 2.73 1.4227 8.22449 +47 2.79 1.0037 8.79592 +48 2.85 1.06494 9.42857 +49 2.91 0.92263 10 +50 2.97 1.10716 10.7143 +100650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 2.47906 0.204082 +14 0.81 1.70044 0.285714 +15 0.87 0.368519 0.306122 +16 0.93 0.322518 0.326531 +17 0.99 0 0.326531 +18 1.05 1.77122 0.469388 +19 1.11 0.679267 0.530612 +20 1.17 0.4076 0.571429 +21 1.23 0.553218 0.632653 +22 1.29 1.00592 0.755102 +23 1.35 0.612339 0.836735 +24 1.41 1.54369 1.06122 +25 1.47 1.03292 1.22449 +26 1.53 0.953504 1.38776 +27 1.59 0.33109 1.44898 +28 1.65 1.22981 1.69388 +29 1.71 0.286257 1.7551 +30 1.77 0.17812 1.79592 +31 1.83 0.916479 2.02041 +32 1.89 0.702997 2.20408 +33 1.95 1.24743 2.55102 +34 2.01 1.03595 2.85714 +35 2.07 1.36747 3.28571 +36 2.13 1.10702 3.65306 +37 2.19 0.989019 4 +38 2.25 1.32279 4.4898 +39 2.31 1.04581 4.89796 +40 2.37 1.24191 5.40816 +41 2.43 1.18134 5.91837 +42 2.49 0.990089 6.36735 +43 2.55 0.944046 6.81633 +44 2.61 0.737299 7.18367 +45 2.67 1.13508 7.77551 +46 2.73 0.973423 8.30612 +47 2.79 1.07539 8.91837 +48 2.85 1.37412 9.73469 +49 2.91 0.823777 10.2449 +50 2.97 1.0439 10.9184 +100700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.7572 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 0.322518 0.163265 +17 0.99 0.569243 0.204082 +18 1.05 0.253031 0.22449 +19 1.11 0.90569 0.306122 +20 1.17 0.8152 0.387755 +21 1.23 0.368812 0.428571 +22 1.29 1.00592 0.55102 +23 1.35 1.37776 0.734694 +24 1.41 0.842013 0.857143 +25 1.47 1.42026 1.08163 +26 1.53 1.43026 1.32653 +27 1.59 0.993271 1.5102 +28 1.65 0.717387 1.65306 +29 1.71 1.24045 1.91837 +30 1.77 0.4453 2.02041 +31 1.83 1.41638 2.36735 +32 1.89 0.937329 2.61224 +33 1.95 1.17405 2.93878 +34 2.01 1.51939 3.38776 +35 2.07 1.107 3.73469 +36 2.13 0.922517 4.04082 +37 2.19 1.22173 4.46939 +38 2.25 0.826745 4.77551 +39 2.31 0.993519 5.16327 +40 2.37 0.943854 5.55102 +41 2.43 1.08684 6.02041 +42 2.49 0.945085 6.44898 +43 2.55 1.07278 6.95918 +44 2.61 0.77826 7.34694 +45 2.67 0.93938 7.83673 +46 2.73 0.898544 8.32653 +47 2.79 1.21878 9.02041 +48 2.85 1.06494 9.65306 +49 2.91 0.856728 10.1837 +50 2.97 1.3286 11.0408 +100750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 0 0.163265 +16 0.93 0.967555 0.22449 +17 0.99 0.569243 0.265306 +18 1.05 0.253031 0.285714 +19 1.11 0.452845 0.326531 +20 1.17 1.019 0.428571 +21 1.23 1.10644 0.55102 +22 1.29 0.838269 0.653061 +23 1.35 1.53085 0.857143 +24 1.41 0.421006 0.918367 +25 1.47 1.29115 1.12245 +26 1.53 0.476752 1.20408 +27 1.59 0.882908 1.36735 +28 1.65 1.02484 1.57143 +29 1.71 0.954189 1.77551 +30 1.77 1.15778 2.04082 +31 1.83 1.24974 2.34694 +32 1.89 1.01544 2.61224 +33 1.95 1.10067 2.91837 +34 2.01 1.10501 3.2449 +35 2.07 0.976768 3.55102 +36 2.13 1.16852 3.93878 +37 2.19 0.814486 4.22449 +38 2.25 0.826745 4.53061 +39 2.31 0.993519 4.91837 +40 2.37 0.695471 5.20408 +41 2.43 1.37036 5.79592 +42 2.49 0.765068 6.14286 +43 2.55 1.24442 6.73469 +44 2.61 1.14691 7.30612 +45 2.67 1.33079 8 +46 2.73 1.08574 8.59184 +47 2.79 0.860314 9.08163 +48 2.85 0.927532 9.63265 +49 2.91 0.626071 10.0204 +50 2.97 0.822464 10.551 +100800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 1.98325 0.204082 +14 0.81 0.425111 0.22449 +15 0.87 1.47408 0.306122 +16 0.93 0.322518 0.326531 +17 0.99 0.284622 0.346939 +18 1.05 1.01213 0.428571 +19 1.11 0.452845 0.469388 +20 1.17 1.019 0.571429 +21 1.23 0.737623 0.653061 +22 1.29 0.670615 0.734694 +23 1.35 0.153085 0.755102 +24 1.41 0.842013 0.877551 +25 1.47 0.516459 0.959184 +26 1.53 0.59594 1.06122 +27 1.59 0.551817 1.16327 +28 1.65 0.922354 1.34694 +29 1.71 1.04961 1.57143 +30 1.77 1.15778 1.83673 +31 1.83 1.33306 2.16327 +32 1.89 1.40599 2.53061 +33 1.95 0.660405 2.71429 +34 2.01 0.897822 2.97959 +35 2.07 1.17212 3.34694 +36 2.13 1.04552 3.69388 +37 2.19 1.22173 4.12245 +38 2.25 1.10233 4.53061 +39 2.31 1.20268 5 +40 2.37 1.04321 5.42857 +41 2.43 0.661553 5.71429 +42 2.49 1.03509 6.18367 +43 2.55 1.07278 6.69388 +44 2.61 1.06499 7.22449 +45 2.67 0.861099 7.67347 +46 2.73 1.19806 8.32653 +47 2.79 0.967854 8.87755 +48 2.85 1.168 9.57143 +49 2.91 1.02148 10.2041 +50 2.97 0.854097 10.7551 +100850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 1.98325 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 0.368519 0.163265 +16 0.93 0.322518 0.183673 +17 0.99 0.284622 0.204082 +18 1.05 0.253031 0.22449 +19 1.11 0.452845 0.265306 +20 1.17 0.6114 0.326531 +21 1.23 1.65965 0.510204 +22 1.29 0.670615 0.591837 +23 1.35 0.918509 0.714286 +24 1.41 1.12268 0.877551 +25 1.47 0.774689 1 +26 1.53 0.59594 1.10204 +27 1.59 1.10363 1.30612 +28 1.65 1.22981 1.55102 +29 1.71 0.85877 1.73469 +30 1.77 1.06872 1.97959 +31 1.83 1.08311 2.2449 +32 1.89 0.859219 2.46939 +33 1.95 1.10067 2.77551 +34 2.01 1.45033 3.20408 +35 2.07 1.107 3.55102 +36 2.13 1.59903 4.08163 +37 2.19 0.639953 4.30612 +38 2.25 0.661396 4.55102 +39 2.31 0.784357 4.85714 +40 2.37 1.39094 5.42857 +41 2.43 0.850568 5.79592 +42 2.49 0.630056 6.08163 +43 2.55 0.72949 6.42857 +44 2.61 1.26979 7.06122 +45 2.67 1.13508 7.65306 +46 2.73 0.935984 8.16327 +47 2.79 0.752775 8.59184 +48 2.85 0.893179 9.12245 +49 2.91 1.02148 9.7551 +50 2.97 1.0439 10.4286 +100900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 2.92866 0.142857 +13 0.75 0.495812 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 1.8426 0.306122 +16 0.93 1.93511 0.428571 +17 0.99 0.853865 0.489796 +18 1.05 1.77122 0.632653 +19 1.11 0.452845 0.673469 +20 1.17 0.6114 0.734694 +21 1.23 1.47525 0.897959 +22 1.29 0.670615 0.979592 +23 1.35 1.07159 1.12245 +24 1.41 0.701677 1.22449 +25 1.47 0.903804 1.36735 +26 1.53 0.834316 1.5102 +27 1.59 1.214 1.73469 +28 1.65 1.12732 1.95918 +29 1.71 1.24045 2.22449 +30 1.77 0.53436 2.34694 +31 1.83 0.749847 2.53061 +32 1.89 1.09355 2.81633 +33 1.95 0.953918 3.08163 +34 2.01 0.897822 3.34694 +35 2.07 0.520943 3.5102 +36 2.13 0.492009 3.67347 +37 2.19 1.0472 4.04082 +38 2.25 0.551163 4.2449 +39 2.31 0.679776 4.5102 +40 2.37 0.894177 4.87755 +41 2.43 1.13409 5.36735 +42 2.49 0.855076 5.7551 +43 2.55 1.07278 6.26531 +44 2.61 1.06499 6.79592 +45 2.67 1.17423 7.40816 +46 2.73 1.46013 8.20408 +47 2.79 1.07539 8.81633 +48 2.85 0.824473 9.30612 +49 2.91 0.955581 9.89796 +50 2.97 1.01226 10.551 +100950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 1.71613 0.0816327 +11 0.63 2.10758 0.142857 +12 0.69 0.585732 0.163265 +13 0.75 0.495812 0.183673 +14 0.81 0.425111 0.204082 +15 0.87 0.368519 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 2.27697 0.428571 +18 1.05 1.01213 0.510204 +19 1.11 0.452845 0.55102 +20 1.17 1.6304 0.714286 +21 1.23 0.922029 0.816327 +22 1.29 0.335308 0.857143 +23 1.35 1.83702 1.10204 +24 1.41 1.12268 1.26531 +25 1.47 0.774689 1.38776 +26 1.53 1.07269 1.57143 +27 1.59 0.993271 1.7551 +28 1.65 1.12732 1.97959 +29 1.71 0.763351 2.14286 +30 1.77 0.71248 2.30612 +31 1.83 0.999796 2.55102 +32 1.89 0.624886 2.71429 +33 1.95 0.953918 2.97959 +34 2.01 0.759695 3.20408 +35 2.07 0.520943 3.36735 +36 2.13 0.799515 3.63265 +37 2.19 0.930841 3.95918 +38 2.25 1.04721 4.34694 +39 2.31 0.836648 4.67347 +40 2.37 0.844501 5.02041 +41 2.43 0.708807 5.32653 +42 2.49 0.990089 5.77551 +43 2.55 0.815313 6.16327 +44 2.61 0.819221 6.57143 +45 2.67 0.978521 7.08163 +46 2.73 1.01086 7.63265 +47 2.79 1.07539 8.2449 +48 2.85 0.755767 8.69388 +49 2.91 0.988533 9.30612 +50 2.97 1.01226 9.95918 +101000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 0.967555 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 0.253031 0.326531 +19 1.11 0.90569 0.408163 +20 1.17 0.6114 0.469388 +21 1.23 1.10644 0.591837 +22 1.29 0.335308 0.632653 +23 1.35 1.07159 0.77551 +24 1.41 0.421006 0.836735 +25 1.47 1.29115 1.04082 +26 1.53 0.715128 1.16327 +27 1.59 0.993271 1.34694 +28 1.65 1.02484 1.55102 +29 1.71 0.763351 1.71429 +30 1.77 0.979661 1.93878 +31 1.83 0.833163 2.14286 +32 1.89 0.937329 2.38776 +33 1.95 0.807161 2.61224 +34 2.01 1.51939 3.06122 +35 2.07 0.781414 3.30612 +36 2.13 0.922517 3.61224 +37 2.19 0.930841 3.93878 +38 2.25 0.936978 4.28571 +39 2.31 1.20268 4.7551 +40 2.37 0.844501 5.10204 +41 2.43 1.46487 5.73469 +42 2.49 1.1701 6.26531 +43 2.55 0.772402 6.63265 +44 2.61 0.655377 6.95918 +45 2.67 1.25251 7.61224 +46 2.73 0.973423 8.14286 +47 2.79 1.18293 8.81633 +48 2.85 0.858826 9.32653 +49 2.91 1.05443 9.97959 +50 2.97 1.01226 10.6327 +101050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 1.47408 0.22449 +16 0.93 2.25763 0.367347 +17 0.99 0.284622 0.387755 +18 1.05 0.253031 0.408163 +19 1.11 1.13211 0.510204 +20 1.17 0.6114 0.571429 +21 1.23 1.47525 0.734694 +22 1.29 1.34123 0.897959 +23 1.35 0.612339 0.979592 +24 1.41 1.40335 1.18367 +25 1.47 0.903804 1.32653 +26 1.53 1.19188 1.53061 +27 1.59 0.993271 1.71429 +28 1.65 0.922354 1.89796 +29 1.71 1.04961 2.12245 +30 1.77 1.24684 2.40816 +31 1.83 0.749847 2.59184 +32 1.89 0.624886 2.7551 +33 1.95 0.953918 3.02041 +34 2.01 1.03595 3.32653 +35 2.07 0.846532 3.59184 +36 2.13 0.861016 3.87755 +37 2.19 0.989019 4.22449 +38 2.25 0.881861 4.55102 +39 2.31 0.575195 4.77551 +40 2.37 0.745148 5.08163 +41 2.43 1.18134 5.59184 +42 2.49 1.0801 6.08163 +43 2.55 0.858224 6.4898 +44 2.61 1.14691 7.06122 +45 2.67 0.861099 7.5102 +46 2.73 0.673908 7.87755 +47 2.79 0.824468 8.34694 +48 2.85 0.961885 8.91837 +49 2.91 1.02148 9.55102 +50 2.97 0.569398 9.91837 +101100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 3.43226 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 1.17146 0.142857 +13 0.75 1.48744 0.204082 +14 0.81 0.425111 0.22449 +15 0.87 0.368519 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 1.13849 0.346939 +18 1.05 0.253031 0.367347 +19 1.11 0.679267 0.428571 +20 1.17 0.8152 0.510204 +21 1.23 0.553218 0.571429 +22 1.29 1.34123 0.734694 +23 1.35 1.07159 0.877551 +24 1.41 0.280671 0.918367 +25 1.47 1.03292 1.08163 +26 1.53 0.834316 1.22449 +27 1.59 1.10363 1.42857 +28 1.65 1.22981 1.67347 +29 1.71 0.667932 1.81633 +30 1.77 1.06872 2.06122 +31 1.83 0.66653 2.22449 +32 1.89 1.01544 2.4898 +33 1.95 1.32081 2.85714 +34 2.01 1.03595 3.16327 +35 2.07 0.976768 3.46939 +36 2.13 0.738014 3.71429 +37 2.19 1.0472 4.08163 +38 2.25 1.10233 4.4898 +39 2.31 0.627486 4.73469 +40 2.37 1.04321 5.16327 +41 2.43 0.803314 5.5102 +42 2.49 0.810072 5.87755 +43 2.55 1.20151 6.44898 +44 2.61 1.10595 7 +45 2.67 1.0568 7.55102 +46 2.73 0.898544 8.04082 +47 2.79 1.03955 8.63265 +48 2.85 0.858826 9.14286 +49 2.91 1.05443 9.79592 +50 2.97 0.98063 10.4286 +101150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 1.07159 0.0612245 +10 0.57 0 0.0612245 +11 0.63 2.10758 0.122449 +12 0.69 1.17146 0.163265 +13 0.75 0.991624 0.204082 +14 0.81 0.425111 0.22449 +15 0.87 0.737039 0.265306 +16 0.93 1.93511 0.387755 +17 0.99 1.13849 0.469388 +18 1.05 0 0.469388 +19 1.11 0.90569 0.55102 +20 1.17 0.8152 0.632653 +21 1.23 0.737623 0.714286 +22 1.29 0.335308 0.755102 +23 1.35 0.153085 0.77551 +24 1.41 1.26302 0.959184 +25 1.47 0.387344 1.02041 +26 1.53 0.59594 1.12245 +27 1.59 0.33109 1.18367 +28 1.65 1.43477 1.46939 +29 1.71 1.04961 1.69388 +30 1.77 0.35624 1.77551 +31 1.83 0.916479 2 +32 1.89 0.859219 2.22449 +33 1.95 1.39419 2.61224 +34 2.01 0.966885 2.89796 +35 2.07 1.36747 3.32653 +36 2.13 0.799515 3.59184 +37 2.19 0.930841 3.91837 +38 2.25 1.04721 4.30612 +39 2.31 1.20268 4.77551 +40 2.37 1.14256 5.2449 +41 2.43 0.897822 5.63265 +42 2.49 0.720064 5.95918 +43 2.55 1.07278 6.46939 +44 2.61 1.10595 7.02041 +45 2.67 0.782817 7.42857 +46 2.73 0.711348 7.81633 +47 2.79 1.11124 8.44898 +48 2.85 0.927532 9 +49 2.91 0.955581 9.59184 +50 2.97 1.0439 10.2653 +101200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 2.14319 0.0612245 +10 0.57 0 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 1.70044 0.204082 +15 0.87 0 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 1.01213 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 0.6114 0.510204 +21 1.23 1.84406 0.714286 +22 1.29 1.00592 0.836735 +23 1.35 1.22468 1 +24 1.41 0.982348 1.14286 +25 1.47 1.16203 1.32653 +26 1.53 1.66863 1.61224 +27 1.59 0.551817 1.71429 +28 1.65 0.512419 1.81633 +29 1.71 1.04961 2.04082 +30 1.77 0.979661 2.26531 +31 1.83 0.749847 2.44898 +32 1.89 0.859219 2.67347 +33 1.95 0.953918 2.93878 +34 2.01 1.24314 3.30612 +35 2.07 1.23724 3.69388 +36 2.13 0.799515 3.95918 +37 2.19 0.930841 4.28571 +38 2.25 0.826745 4.59184 +39 2.31 0.888938 4.93878 +40 2.37 1.09288 5.38776 +41 2.43 0.897822 5.77551 +42 2.49 1.03509 6.2449 +43 2.55 0.944046 6.69388 +44 2.61 0.737299 7.06122 +45 2.67 0.861099 7.5102 +46 2.73 0.636469 7.85714 +47 2.79 1.03955 8.44898 +48 2.85 0.824473 8.93878 +49 2.91 0.889679 9.4898 +50 2.97 0.88573 10.0612 +101250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 2.34293 0.142857 +13 0.75 0 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 0.368519 0.183673 +16 0.93 1.29007 0.265306 +17 0.99 0.853865 0.326531 +18 1.05 0.506063 0.367347 +19 1.11 0.226422 0.387755 +20 1.17 0.8152 0.469388 +21 1.23 1.29084 0.612245 +22 1.29 0.335308 0.653061 +23 1.35 1.07159 0.795918 +24 1.41 0.701677 0.897959 +25 1.47 0.774689 1.02041 +26 1.53 0.238376 1.06122 +27 1.59 0.882908 1.22449 +28 1.65 0.922354 1.40816 +29 1.71 0.954189 1.61224 +30 1.77 0.979661 1.83673 +31 1.83 0.916479 2.06122 +32 1.89 0.546775 2.20408 +33 1.95 1.24743 2.55102 +34 2.01 1.3122 2.93878 +35 2.07 1.23724 3.32653 +36 2.13 0.615011 3.53061 +37 2.19 1.10537 3.91837 +38 2.25 0.771629 4.20408 +39 2.31 0.836648 4.53061 +40 2.37 1.24191 5.04082 +41 2.43 0.897822 5.42857 +42 2.49 1.1701 5.95918 +43 2.55 1.24442 6.55102 +44 2.61 0.77826 6.93878 +45 2.67 0.782817 7.34694 +46 2.73 0.973423 7.87755 +47 2.79 0.752775 8.30612 +48 2.85 0.858826 8.81633 +49 2.91 0.955581 9.40816 +50 2.97 1.0439 10.0816 +101300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 2.14319 0.0612245 +10 0.57 0 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 2.34293 0.183673 +13 0.75 0.495812 0.204082 +14 0.81 0.850222 0.244898 +15 0.87 0.368519 0.265306 +16 0.93 0.645037 0.306122 +17 0.99 0.853865 0.367347 +18 1.05 1.01213 0.44898 +19 1.11 0.452845 0.489796 +20 1.17 1.2228 0.612245 +21 1.23 1.47525 0.77551 +22 1.29 1.34123 0.938776 +23 1.35 0.612339 1.02041 +24 1.41 0.701677 1.12245 +25 1.47 0.25823 1.16327 +26 1.53 0.715128 1.28571 +27 1.59 1.10363 1.4898 +28 1.65 0.614903 1.61224 +29 1.71 0.85877 1.79592 +30 1.77 1.15778 2.06122 +31 1.83 0.833163 2.26531 +32 1.89 0.624886 2.42857 +33 1.95 0.953918 2.69388 +34 2.01 0.621569 2.87755 +35 2.07 1.30236 3.28571 +36 2.13 0.676513 3.5102 +37 2.19 1.22173 3.93878 +38 2.25 0.661396 4.18367 +39 2.31 0.888938 4.53061 +40 2.37 1.29159 5.06122 +41 2.43 0.661553 5.34694 +42 2.49 0.855076 5.73469 +43 2.55 0.986958 6.20408 +44 2.61 1.06499 6.73469 +45 2.67 0.93938 7.22449 +46 2.73 1.08574 7.81633 +47 2.79 0.932007 8.34694 +48 2.85 0.961885 8.91837 +49 2.91 1.05443 9.57143 +50 2.97 0.790831 10.0816 +101350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 1.48744 0.183673 +14 0.81 1.27533 0.244898 +15 0.87 1.10556 0.306122 +16 0.93 0.645037 0.346939 +17 0.99 0.853865 0.408163 +18 1.05 0.759094 0.469388 +19 1.11 1.13211 0.571429 +20 1.17 0.8152 0.653061 +21 1.23 1.29084 0.795918 +22 1.29 0.502961 0.857143 +23 1.35 0.459254 0.918367 +24 1.41 0.982348 1.06122 +25 1.47 0.903804 1.20408 +26 1.53 0.59594 1.30612 +27 1.59 0.441454 1.38776 +28 1.65 0.614903 1.5102 +29 1.71 1.24045 1.77551 +30 1.77 1.06872 2.02041 +31 1.83 1.49969 2.38776 +32 1.89 0.859219 2.61224 +33 1.95 0.880539 2.85714 +34 2.01 0.966885 3.14286 +35 2.07 1.107 3.4898 +36 2.13 0.984018 3.81633 +37 2.19 0.639953 4.04082 +38 2.25 1.10233 4.44898 +39 2.31 1.15039 4.89796 +40 2.37 0.844501 5.2449 +41 2.43 0.708807 5.55102 +42 2.49 0.945085 5.97959 +43 2.55 0.815313 6.36735 +44 2.61 1.26979 7 +45 2.67 1.09594 7.57143 +46 2.73 1.19806 8.22449 +47 2.79 0.932007 8.7551 +48 2.85 0.755767 9.20408 +49 2.91 1.05443 9.85714 +50 2.97 0.948997 10.4694 +101400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 0 0.22449 +16 0.93 1.61259 0.326531 +17 0.99 1.42311 0.428571 +18 1.05 1.51819 0.55102 +19 1.11 0.679267 0.612245 +20 1.17 0.4076 0.653061 +21 1.23 0.922029 0.755102 +22 1.29 1.17358 0.897959 +23 1.35 0.30617 0.938776 +24 1.41 0.561342 1.02041 +25 1.47 1.03292 1.18367 +26 1.53 0.476752 1.26531 +27 1.59 0.772544 1.40816 +28 1.65 1.12732 1.63265 +29 1.71 0.954189 1.83673 +30 1.77 0.890601 2.04082 +31 1.83 0.833163 2.2449 +32 1.89 0.624886 2.40816 +33 1.95 0.660405 2.59184 +34 2.01 0.897822 2.85714 +35 2.07 0.976768 3.16327 +36 2.13 0.922517 3.46939 +37 2.19 0.872664 3.77551 +38 2.25 1.21256 4.22449 +39 2.31 0.679776 4.4898 +40 2.37 1.14256 4.95918 +41 2.43 1.70114 5.69388 +42 2.49 1.30512 6.28571 +43 2.55 0.858224 6.69388 +44 2.61 1.22883 7.30612 +45 2.67 0.861099 7.7551 +46 2.73 0.823666 8.20408 +47 2.79 0.932007 8.73469 +48 2.85 1.168 9.42857 +49 2.91 0.988533 10.0408 +50 2.97 0.790831 10.551 +101450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 1.83099 0.0408163 +8 0.45 0 0.0408163 +9 0.51 1.07159 0.0612245 +10 0.57 0 0.0612245 +11 0.63 0 0.0612245 +12 0.69 2.34293 0.142857 +13 0.75 0 0.142857 +14 0.81 0 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 0.967555 0.265306 +17 0.99 1.42311 0.367347 +18 1.05 0.759094 0.428571 +19 1.11 0.226422 0.44898 +20 1.17 1.6304 0.612245 +21 1.23 1.47525 0.77551 +22 1.29 1.00592 0.897959 +23 1.35 0.918509 1.02041 +24 1.41 1.54369 1.2449 +25 1.47 0.903804 1.38776 +26 1.53 0.476752 1.46939 +27 1.59 0.33109 1.53061 +28 1.65 0.922354 1.71429 +29 1.71 0.954189 1.91837 +30 1.77 1.06872 2.16327 +31 1.83 0.999796 2.40816 +32 1.89 1.09355 2.69388 +33 1.95 0.660405 2.87755 +34 2.01 0.759695 3.10204 +35 2.07 0.846532 3.36735 +36 2.13 1.29152 3.79592 +37 2.19 1.16355 4.20408 +38 2.25 0.992094 4.57143 +39 2.31 0.993519 4.95918 +40 2.37 0.99353 5.36735 +41 2.43 1.08684 5.83673 +42 2.49 1.1701 6.36735 +43 2.55 1.24442 6.95918 +44 2.61 1.26979 7.59184 +45 2.67 1.21337 8.22449 +46 2.73 0.898544 8.71429 +47 2.79 0.609389 9.06122 +48 2.85 0.721414 9.4898 +49 2.91 0.856728 10.0204 +50 2.97 1.0439 10.6939 +101500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 2.5742 0.0816327 +11 0.63 0 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 1.51819 0.428571 +19 1.11 0.226422 0.44898 +20 1.17 1.4266 0.591837 +21 1.23 0.553218 0.653061 +22 1.29 0.670615 0.734694 +23 1.35 0.765424 0.836735 +24 1.41 0.701677 0.938776 +25 1.47 1.03292 1.10204 +26 1.53 1.19188 1.30612 +27 1.59 1.10363 1.5102 +28 1.65 0.614903 1.63265 +29 1.71 1.5267 1.95918 +30 1.77 0.80154 2.14286 +31 1.83 0.833163 2.34694 +32 1.89 0.781108 2.55102 +33 1.95 0.733783 2.7551 +34 2.01 0.897822 3.02041 +35 2.07 0.586061 3.20408 +36 2.13 1.29152 3.63265 +37 2.19 0.872664 3.93878 +38 2.25 1.26768 4.40816 +39 2.31 1.30726 4.91837 +40 2.37 0.894177 5.28571 +41 2.43 0.897822 5.67347 +42 2.49 0.990089 6.12245 +43 2.55 1.02987 6.61224 +44 2.61 0.942104 7.08163 +45 2.67 0.861099 7.53061 +46 2.73 0.898544 8.02041 +47 2.79 1.07539 8.63265 +48 2.85 0.549649 8.95918 +49 2.91 1.38395 9.81633 +50 2.97 0.948997 10.4286 +101550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0 0.0408163 +14 0.81 1.27533 0.102041 +15 0.87 1.10556 0.163265 +16 0.93 1.93511 0.285714 +17 0.99 1.42311 0.387755 +18 1.05 1.01213 0.469388 +19 1.11 0.90569 0.55102 +20 1.17 0.2038 0.571429 +21 1.23 0.184406 0.591837 +22 1.29 0.670615 0.673469 +23 1.35 1.22468 0.836735 +24 1.41 1.12268 1 +25 1.47 0.903804 1.14286 +26 1.53 1.07269 1.32653 +27 1.59 0.993271 1.5102 +28 1.65 1.02484 1.71429 +29 1.71 1.5267 2.04082 +30 1.77 0.53436 2.16327 +31 1.83 0.833163 2.36735 +32 1.89 0.546775 2.5102 +33 1.95 1.0273 2.79592 +34 2.01 0.966885 3.08163 +35 2.07 0.651178 3.28571 +36 2.13 0.738014 3.53061 +37 2.19 0.989019 3.87755 +38 2.25 1.37791 4.38776 +39 2.31 1.25497 4.87755 +40 2.37 1.14256 5.34694 +41 2.43 0.75606 5.67347 +42 2.49 0.990089 6.12245 +43 2.55 1.37316 6.77551 +44 2.61 0.901143 7.22449 +45 2.67 1.01766 7.7551 +46 2.73 0.973423 8.28571 +47 2.79 1.0037 8.85714 +48 2.85 1.30542 9.63265 +49 2.91 0.955581 10.2245 +50 2.97 1.01226 10.8776 +101600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 1.07159 0.0612245 +10 0.57 1.71613 0.102041 +11 0.63 1.40505 0.142857 +12 0.69 1.17146 0.183673 +13 0.75 0.991624 0.22449 +14 0.81 1.27533 0.285714 +15 0.87 1.8426 0.387755 +16 0.93 0.322518 0.408163 +17 0.99 0.853865 0.469388 +18 1.05 0.759094 0.530612 +19 1.11 0.90569 0.612245 +20 1.17 0 0.612245 +21 1.23 0.737623 0.693878 +22 1.29 0.838269 0.795918 +23 1.35 0.918509 0.918367 +24 1.41 0.701677 1.02041 +25 1.47 0.903804 1.16327 +26 1.53 1.19188 1.36735 +27 1.59 0.441454 1.44898 +28 1.65 0.819871 1.61224 +29 1.71 0.85877 1.79592 +30 1.77 0.979661 2.02041 +31 1.83 0.833163 2.22449 +32 1.89 1.17166 2.53061 +33 1.95 1.10067 2.83673 +34 2.01 0.966885 3.12245 +35 2.07 0.846532 3.38776 +36 2.13 0.738014 3.63265 +37 2.19 0.698131 3.87755 +38 2.25 0.936978 4.22449 +39 2.31 0.993519 4.61224 +40 2.37 0.99353 5.02041 +41 2.43 0.850568 5.38776 +42 2.49 1.30512 5.97959 +43 2.55 0.815313 6.36735 +44 2.61 1.10595 6.91837 +45 2.67 1.13508 7.5102 +46 2.73 1.0483 8.08163 +47 2.79 0.788621 8.53061 +48 2.85 1.0993 9.18367 +49 2.91 0.856728 9.71429 +50 2.97 0.822464 10.2449 +101650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0 0.0408163 +14 0.81 1.27533 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 1.42311 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 0.90569 0.44898 +20 1.17 1.2228 0.571429 +21 1.23 0.553218 0.632653 +22 1.29 1.00592 0.755102 +23 1.35 0.765424 0.857143 +24 1.41 0.561342 0.938776 +25 1.47 0.645574 1.04082 +26 1.53 0.953504 1.20408 +27 1.59 0.882908 1.36735 +28 1.65 0.717387 1.5102 +29 1.71 1.24045 1.77551 +30 1.77 0.890601 1.97959 +31 1.83 0.999796 2.22449 +32 1.89 0.702997 2.40816 +33 1.95 0.807161 2.63265 +34 2.01 0.828758 2.87755 +35 2.07 0.716296 3.10204 +36 2.13 1.35303 3.55102 +37 2.19 1.22173 3.97959 +38 2.25 1.04721 4.36735 +39 2.31 1.0981 4.79592 +40 2.37 0.844501 5.14286 +41 2.43 1.37036 5.73469 +42 2.49 0.810072 6.10204 +43 2.55 0.600757 6.38776 +44 2.61 0.532493 6.65306 +45 2.67 1.17423 7.26531 +46 2.73 0.973423 7.79592 +47 2.79 0.860314 8.28571 +48 2.85 1.06494 8.91837 +49 2.91 1.28509 9.71429 +50 2.97 1.01226 10.3673 +101700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.14319 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 1.47408 0.244898 +16 0.93 0.967555 0.306122 +17 0.99 0.853865 0.367347 +18 1.05 0.506063 0.408163 +19 1.11 0.90569 0.489796 +20 1.17 0.4076 0.530612 +21 1.23 0.737623 0.612245 +22 1.29 1.00592 0.734694 +23 1.35 0.612339 0.816327 +24 1.41 1.40335 1.02041 +25 1.47 1.42026 1.2449 +26 1.53 0.238376 1.28571 +27 1.59 1.214 1.5102 +28 1.65 0.717387 1.65306 +29 1.71 0.763351 1.81633 +30 1.77 0.71248 1.97959 +31 1.83 1.24974 2.28571 +32 1.89 1.24977 2.61224 +33 1.95 0.880539 2.85714 +34 2.01 0.690632 3.06122 +35 2.07 0.91165 3.34694 +36 2.13 0.922517 3.65306 +37 2.19 1.0472 4.02041 +38 2.25 1.10233 4.42857 +39 2.31 1.15039 4.87755 +40 2.37 0.794824 5.20408 +41 2.43 0.661553 5.4898 +42 2.49 1.30512 6.08163 +43 2.55 0.858224 6.4898 +44 2.61 0.983065 6.97959 +45 2.67 1.25251 7.63265 +46 2.73 1.01086 8.18367 +47 2.79 1.14709 8.83673 +48 2.85 1.03059 9.44898 +49 2.91 1.18624 10.1837 +50 2.97 0.917363 10.7755 +101750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0 0.0408163 +14 0.81 0 0.0408163 +15 0.87 0.737039 0.0816327 +16 0.93 1.29007 0.163265 +17 0.99 0 0.163265 +18 1.05 1.26516 0.265306 +19 1.11 1.58496 0.408163 +20 1.17 1.8342 0.591837 +21 1.23 0.368812 0.632653 +22 1.29 0.670615 0.714286 +23 1.35 1.37776 0.897959 +24 1.41 0.421006 0.959184 +25 1.47 1.16203 1.14286 +26 1.53 1.54944 1.40816 +27 1.59 0.882908 1.57143 +28 1.65 0.819871 1.73469 +29 1.71 0.85877 1.91837 +30 1.77 0.80154 2.10204 +31 1.83 0.749847 2.28571 +32 1.89 0.702997 2.46939 +33 1.95 0.660405 2.65306 +34 2.01 0.897822 2.91837 +35 2.07 1.04189 3.2449 +36 2.13 0.799515 3.5102 +37 2.19 1.45444 4.02041 +38 2.25 0.936978 4.36735 +39 2.31 1.15039 4.81633 +40 2.37 1.4903 5.42857 +41 2.43 1.03958 5.87755 +42 2.49 0.855076 6.26531 +43 2.55 1.11569 6.79592 +44 2.61 0.696338 7.14286 +45 2.67 0.978521 7.65306 +46 2.73 0.486712 7.91837 +47 2.79 0.896161 8.42857 +48 2.85 0.961885 9 +49 2.91 0.823777 9.5102 +50 2.97 0.917363 10.102 +101800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.322518 0.163265 +17 0.99 1.42311 0.265306 +18 1.05 1.01213 0.346939 +19 1.11 0.452845 0.387755 +20 1.17 0.4076 0.428571 +21 1.23 1.29084 0.571429 +22 1.29 0.838269 0.673469 +23 1.35 1.22468 0.836735 +24 1.41 1.12268 1 +25 1.47 0.903804 1.14286 +26 1.53 1.19188 1.34694 +27 1.59 1.10363 1.55102 +28 1.65 1.22981 1.79592 +29 1.71 0.954189 2 +30 1.77 1.42496 2.32653 +31 1.83 1.08311 2.59184 +32 1.89 0.624886 2.7551 +33 1.95 1.24743 3.10204 +34 2.01 0.759695 3.32653 +35 2.07 0.846532 3.59184 +36 2.13 0.984018 3.91837 +37 2.19 1.10537 4.30612 +38 2.25 0.771629 4.59184 +39 2.31 0.732067 4.87755 +40 2.37 1.04321 5.30612 +41 2.43 0.850568 5.67347 +42 2.49 1.1701 6.20408 +43 2.55 0.901135 6.63265 +44 2.61 1.10595 7.18367 +45 2.67 1.01766 7.71429 +46 2.73 1.12318 8.32653 +47 2.79 0.788621 8.77551 +48 2.85 1.06494 9.40816 +49 2.91 0.955581 10 +50 2.97 1.26533 10.8163 +101850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0 0.0612245 +13 0.75 1.48744 0.122449 +14 0.81 0 0.122449 +15 0.87 1.8426 0.22449 +16 0.93 1.93511 0.346939 +17 0.99 1.13849 0.428571 +18 1.05 1.01213 0.510204 +19 1.11 2.26422 0.714286 +20 1.17 0.2038 0.734694 +21 1.23 0.922029 0.836735 +22 1.29 1.00592 0.959184 +23 1.35 0.765424 1.06122 +24 1.41 0.842013 1.18367 +25 1.47 0.645574 1.28571 +26 1.53 1.31107 1.5102 +27 1.59 0.882908 1.67347 +28 1.65 0.819871 1.83673 +29 1.71 1.14503 2.08163 +30 1.77 1.06872 2.32653 +31 1.83 0.749847 2.5102 +32 1.89 1.17166 2.81633 +33 1.95 0.953918 3.08163 +34 2.01 1.17407 3.42857 +35 2.07 1.107 3.77551 +36 2.13 0.738014 4.02041 +37 2.19 1.22173 4.44898 +38 2.25 0.992094 4.81633 +39 2.31 1.25497 5.30612 +40 2.37 1.19224 5.79592 +41 2.43 1.18134 6.30612 +42 2.49 0.765068 6.65306 +43 2.55 0.986958 7.12245 +44 2.61 0.942104 7.59184 +45 2.67 0.978521 8.10204 +46 2.73 1.01086 8.65306 +47 2.79 1.36216 9.42857 +48 2.85 0.824473 9.91837 +49 2.91 0.856728 10.449 +50 2.97 0.759197 10.9388 +101900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 2.5742 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 0 0.122449 +14 0.81 1.27533 0.183673 +15 0.87 0.368519 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 1.42311 0.346939 +18 1.05 1.01213 0.428571 +19 1.11 1.13211 0.530612 +20 1.17 0.2038 0.55102 +21 1.23 1.47525 0.714286 +22 1.29 0.670615 0.795918 +23 1.35 1.68393 1.02041 +24 1.41 1.12268 1.18367 +25 1.47 1.03292 1.34694 +26 1.53 1.31107 1.57143 +27 1.59 0.882908 1.73469 +28 1.65 0.307451 1.79592 +29 1.71 0.85877 1.97959 +30 1.77 1.06872 2.22449 +31 1.83 0.499898 2.34694 +32 1.89 0.859219 2.57143 +33 1.95 1.24743 2.91837 +34 2.01 0.966885 3.20408 +35 2.07 0.846532 3.46939 +36 2.13 0.676513 3.69388 +37 2.19 0.814486 3.97959 +38 2.25 1.04721 4.36735 +39 2.31 1.41184 4.91837 +40 2.37 0.844501 5.26531 +41 2.43 0.425284 5.44898 +42 2.49 0.765068 5.79592 +43 2.55 0.901135 6.22449 +44 2.61 0.942104 6.69388 +45 2.67 0.861099 7.14286 +46 2.73 0.935984 7.65306 +47 2.79 1.14709 8.30612 +48 2.85 1.23671 9.04082 +49 2.91 1.05443 9.69388 +50 2.97 1.0439 10.3673 +101950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 2.47906 0.163265 +14 0.81 1.70044 0.244898 +15 0.87 0 0.244898 +16 0.93 0.645037 0.285714 +17 0.99 1.13849 0.367347 +18 1.05 0.506063 0.408163 +19 1.11 1.35853 0.530612 +20 1.17 1.019 0.632653 +21 1.23 1.47525 0.795918 +22 1.29 0.838269 0.897959 +23 1.35 0.918509 1.02041 +24 1.41 1.26302 1.20408 +25 1.47 0.387344 1.26531 +26 1.53 0.953504 1.42857 +27 1.59 1.43472 1.69388 +28 1.65 0.409935 1.77551 +29 1.71 0.954189 1.97959 +30 1.77 1.3359 2.28571 +31 1.83 0.999796 2.53061 +32 1.89 0.937329 2.77551 +33 1.95 0.587026 2.93878 +34 2.01 1.3122 3.32653 +35 2.07 1.107 3.67347 +36 2.13 1.16852 4.06122 +37 2.19 1.22173 4.4898 +38 2.25 1.26768 4.95918 +39 2.31 0.888938 5.30612 +40 2.37 0.894177 5.67347 +41 2.43 1.03958 6.12245 +42 2.49 0.990089 6.57143 +43 2.55 1.24442 7.16327 +44 2.61 0.737299 7.53061 +45 2.67 1.33079 8.22449 +46 2.73 0.861105 8.69388 +47 2.79 0.788621 9.14286 +48 2.85 1.06494 9.77551 +49 2.91 1.15329 10.4898 +50 2.97 1.0439 11.1633 +102000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 1.47408 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 0.853865 0.346939 +18 1.05 1.51819 0.469388 +19 1.11 0.452845 0.510204 +20 1.17 1.019 0.612245 +21 1.23 1.29084 0.755102 +22 1.29 1.17358 0.897959 +23 1.35 1.22468 1.06122 +24 1.41 0.701677 1.16327 +25 1.47 0.516459 1.2449 +26 1.53 1.19188 1.44898 +27 1.59 0.772544 1.59184 +28 1.65 1.33229 1.85714 +29 1.71 0.667932 2 +30 1.77 0.979661 2.22449 +31 1.83 1.08311 2.4898 +32 1.89 1.17166 2.79592 +33 1.95 0.733783 3 +34 2.01 0.897822 3.26531 +35 2.07 0.781414 3.5102 +36 2.13 0.922517 3.81633 +37 2.19 0.930841 4.14286 +38 2.25 1.21256 4.59184 +39 2.31 0.993519 4.97959 +40 2.37 1.14256 5.44898 +41 2.43 1.41761 6.06122 +42 2.49 0.810072 6.42857 +43 2.55 0.772402 6.79592 +44 2.61 0.614416 7.10204 +45 2.67 0.93938 7.59184 +46 2.73 1.0483 8.16327 +47 2.79 1.03955 8.7551 +48 2.85 0.961885 9.32653 +49 2.91 0.988533 9.93878 +50 2.97 1.10716 10.6531 +102050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 1.48744 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 0.967555 0.265306 +17 0.99 0.284622 0.285714 +18 1.05 1.51819 0.408163 +19 1.11 1.13211 0.510204 +20 1.17 0.8152 0.591837 +21 1.23 1.10644 0.714286 +22 1.29 1.34123 0.877551 +23 1.35 1.07159 1.02041 +24 1.41 1.26302 1.20408 +25 1.47 1.16203 1.38776 +26 1.53 1.31107 1.61224 +27 1.59 0.662181 1.73469 +28 1.65 0.819871 1.89796 +29 1.71 1.14503 2.14286 +30 1.77 0.80154 2.32653 +31 1.83 0.999796 2.57143 +32 1.89 1.09355 2.85714 +33 1.95 0.953918 3.12245 +34 2.01 0.828758 3.36735 +35 2.07 1.23724 3.7551 +36 2.13 0.861016 4.04082 +37 2.19 1.33808 4.5102 +38 2.25 1.32279 5 +39 2.31 1.25497 5.4898 +40 2.37 1.09288 5.93878 +41 2.43 0.945075 6.34694 +42 2.49 0.855076 6.73469 +43 2.55 0.858224 7.14286 +44 2.61 1.06499 7.67347 +45 2.67 0.861099 8.12245 +46 2.73 0.973423 8.65306 +47 2.79 0.932007 9.18367 +48 2.85 0.79012 9.65306 +49 2.91 1.18624 10.3878 +50 2.97 1.1388 11.1224 +102100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 1.8426 0.204082 +16 0.93 1.61259 0.306122 +17 0.99 1.70773 0.428571 +18 1.05 0.506063 0.469388 +19 1.11 1.58496 0.612245 +20 1.17 1.6304 0.77551 +21 1.23 0.184406 0.795918 +22 1.29 0.502961 0.857143 +23 1.35 0.918509 0.979592 +24 1.41 0.701677 1.08163 +25 1.47 0.903804 1.22449 +26 1.53 0.834316 1.36735 +27 1.59 0.772544 1.5102 +28 1.65 0.614903 1.63265 +29 1.71 0.763351 1.79592 +30 1.77 1.3359 2.10204 +31 1.83 1.41638 2.44898 +32 1.89 1.01544 2.71429 +33 1.95 0.733783 2.91837 +34 2.01 1.17407 3.26531 +35 2.07 0.91165 3.55102 +36 2.13 0.984018 3.87755 +37 2.19 0.814486 4.16327 +38 2.25 0.661396 4.40816 +39 2.31 0.941229 4.77551 +40 2.37 0.99353 5.18367 +41 2.43 0.945075 5.59184 +42 2.49 1.0801 6.08163 +43 2.55 0.986958 6.55102 +44 2.61 1.10595 7.10204 +45 2.67 1.21337 7.73469 +46 2.73 1.01086 8.28571 +47 2.79 1.0037 8.85714 +48 2.85 1.13365 9.53061 +49 2.91 0.889679 10.0816 +50 2.97 0.917363 10.6735 +102150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.991624 0.0612245 +14 0.81 1.27533 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 1.29007 0.244898 +17 0.99 1.42311 0.346939 +18 1.05 1.01213 0.428571 +19 1.11 0.452845 0.469388 +20 1.17 0.8152 0.55102 +21 1.23 0.922029 0.653061 +22 1.29 1.17358 0.795918 +23 1.35 0.918509 0.918367 +24 1.41 1.26302 1.10204 +25 1.47 0.645574 1.20408 +26 1.53 0.715128 1.32653 +27 1.59 1.43472 1.59184 +28 1.65 1.12732 1.81633 +29 1.71 1.33586 2.10204 +30 1.77 0.979661 2.32653 +31 1.83 1.08311 2.59184 +32 1.89 1.09355 2.87755 +33 1.95 0.953918 3.14286 +34 2.01 0.621569 3.32653 +35 2.07 1.30236 3.73469 +36 2.13 0.738014 3.97959 +37 2.19 1.16355 4.38776 +38 2.25 1.04721 4.77551 +39 2.31 0.888938 5.12245 +40 2.37 1.04321 5.55102 +41 2.43 1.60663 6.2449 +42 2.49 0.855076 6.63265 +43 2.55 0.944046 7.08163 +44 2.61 1.26979 7.71429 +45 2.67 0.665394 8.06122 +46 2.73 1.01086 8.61224 +47 2.79 1.29047 9.34694 +48 2.85 0.961885 9.91837 +49 2.91 0.823777 10.4286 +50 2.97 0.854097 10.9796 +102200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 0.737039 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 1.99235 0.408163 +18 1.05 1.77122 0.55102 +19 1.11 0.90569 0.632653 +20 1.17 1.019 0.734694 +21 1.23 0.553218 0.795918 +22 1.29 1.50888 0.979592 +23 1.35 1.07159 1.12245 +24 1.41 0.421006 1.18367 +25 1.47 1.42026 1.40816 +26 1.53 0.59594 1.5102 +27 1.59 0.33109 1.57143 +28 1.65 0.717387 1.71429 +29 1.71 1.81296 2.10204 +30 1.77 0.71248 2.26531 +31 1.83 1.08311 2.53061 +32 1.89 1.71844 2.97959 +33 1.95 0.880539 3.22449 +34 2.01 1.03595 3.53061 +35 2.07 0.976768 3.83673 +36 2.13 0.738014 4.08163 +37 2.19 0.872664 4.38776 +38 2.25 1.04721 4.77551 +39 2.31 0.522905 4.97959 +40 2.37 1.44062 5.57143 +41 2.43 1.13409 6.06122 +42 2.49 0.900081 6.46939 +43 2.55 0.944046 6.91837 +44 2.61 1.26979 7.55102 +45 2.67 1.17423 8.16327 +46 2.73 1.08574 8.7551 +47 2.79 1.32632 9.5102 +48 2.85 0.961885 10.0816 +49 2.91 1.05443 10.7347 +50 2.97 0.917363 11.3265 +102250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 2.7519 0.0612245 +9 0.51 0 0.0612245 +10 0.57 0 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 2.47906 0.22449 +14 0.81 1.27533 0.285714 +15 0.87 2.21112 0.408163 +16 0.93 1.93511 0.530612 +17 0.99 1.13849 0.612245 +18 1.05 1.51819 0.734694 +19 1.11 0.226422 0.755102 +20 1.17 1.019 0.857143 +21 1.23 0.368812 0.897959 +22 1.29 0.335308 0.938776 +23 1.35 1.37776 1.12245 +24 1.41 1.12268 1.28571 +25 1.47 0.903804 1.42857 +26 1.53 0.715128 1.55102 +27 1.59 1.214 1.77551 +28 1.65 1.43477 2.06122 +29 1.71 0.85877 2.2449 +30 1.77 0.62342 2.38776 +31 1.83 0.749847 2.57143 +32 1.89 0.702997 2.7551 +33 1.95 1.32081 3.12245 +34 2.01 0.759695 3.34694 +35 2.07 1.04189 3.67347 +36 2.13 0.861016 3.95918 +37 2.19 1.16355 4.36735 +38 2.25 0.936978 4.71429 +39 2.31 0.575195 4.93878 +40 2.37 1.34127 5.4898 +41 2.43 0.945075 5.89796 +42 2.49 0.855076 6.28571 +43 2.55 1.07278 6.79592 +44 2.61 0.860182 7.22449 +45 2.67 1.0568 7.77551 +46 2.73 1.08574 8.36735 +47 2.79 0.967854 8.91837 +48 2.85 0.996238 9.5102 +49 2.91 1.02148 10.1429 +50 2.97 0.822464 10.6735 +102300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.425111 0.0816327 +15 0.87 1.47408 0.163265 +16 0.93 1.61259 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 1.51819 0.428571 +19 1.11 1.13211 0.530612 +20 1.17 1.6304 0.693878 +21 1.23 0.737623 0.77551 +22 1.29 0.838269 0.877551 +23 1.35 0.918509 1 +24 1.41 1.26302 1.18367 +25 1.47 1.29115 1.38776 +26 1.53 0.715128 1.5102 +27 1.59 0.33109 1.57143 +28 1.65 1.33229 1.83673 +29 1.71 0.763351 2 +30 1.77 0.979661 2.22449 +31 1.83 0.916479 2.44898 +32 1.89 0.781108 2.65306 +33 1.95 0.880539 2.89796 +34 2.01 1.03595 3.20408 +35 2.07 0.91165 3.4898 +36 2.13 0.922517 3.79592 +37 2.19 0.989019 4.14286 +38 2.25 0.826745 4.44898 +39 2.31 0.941229 4.81633 +40 2.37 1.24191 5.32653 +41 2.43 0.897822 5.71429 +42 2.49 1.53014 6.40816 +43 2.55 0.72949 6.7551 +44 2.61 0.77826 7.14286 +45 2.67 1.33079 7.83673 +46 2.73 0.59903 8.16327 +47 2.79 1.25463 8.87755 +48 2.85 0.961885 9.44898 +49 2.91 0.59312 9.81633 +50 2.97 1.10716 10.5306 +102350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 2.34293 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 0.569243 0.285714 +18 1.05 0.759094 0.346939 +19 1.11 1.81138 0.510204 +20 1.17 0.4076 0.55102 +21 1.23 0.737623 0.632653 +22 1.29 1.34123 0.795918 +23 1.35 0.459254 0.857143 +24 1.41 0.561342 0.938776 +25 1.47 0.903804 1.08163 +26 1.53 1.54944 1.34694 +27 1.59 0.772544 1.4898 +28 1.65 1.22981 1.73469 +29 1.71 0.954189 1.93878 +30 1.77 0.979661 2.16327 +31 1.83 0.66653 2.32653 +32 1.89 0.546775 2.46939 +33 1.95 1.32081 2.83673 +34 2.01 1.03595 3.14286 +35 2.07 0.976768 3.44898 +36 2.13 0.861016 3.73469 +37 2.19 0.930841 4.06122 +38 2.25 0.936978 4.40816 +39 2.31 0.993519 4.79592 +40 2.37 0.794824 5.12245 +41 2.43 0.945075 5.53061 +42 2.49 0.585052 5.79592 +43 2.55 0.772402 6.16327 +44 2.61 0.901143 6.61224 +45 2.67 1.29165 7.28571 +46 2.73 0.786226 7.71429 +47 2.79 1.21878 8.40816 +48 2.85 0.824473 8.89796 +49 2.91 1.12034 9.59184 +50 2.97 0.98063 10.2245 +102400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0 0.0408163 +14 0.81 0 0.0408163 +15 0.87 1.10556 0.102041 +16 0.93 0.645037 0.142857 +17 0.99 1.42311 0.244898 +18 1.05 0.759094 0.306122 +19 1.11 1.13211 0.408163 +20 1.17 1.2228 0.530612 +21 1.23 2.02846 0.755102 +22 1.29 1.34123 0.918367 +23 1.35 1.22468 1.08163 +24 1.41 1.40335 1.28571 +25 1.47 0.25823 1.32653 +26 1.53 1.31107 1.55102 +27 1.59 0.662181 1.67347 +28 1.65 0.717387 1.81633 +29 1.71 0.477094 1.91837 +30 1.77 0.62342 2.06122 +31 1.83 0.999796 2.30612 +32 1.89 1.17166 2.61224 +33 1.95 0.660405 2.79592 +34 2.01 0.276253 2.87755 +35 2.07 0.586061 3.06122 +36 2.13 0.922517 3.36735 +37 2.19 0.814486 3.65306 +38 2.25 1.15744 4.08163 +39 2.31 0.784357 4.38776 +40 2.37 0.99353 4.79592 +41 2.43 0.945075 5.20408 +42 2.49 1.21511 5.7551 +43 2.55 0.686579 6.08163 +44 2.61 0.532493 6.34694 +45 2.67 1.25251 7 +46 2.73 1.2355 7.67347 +47 2.79 1.29047 8.40816 +48 2.85 0.996238 9 +49 2.91 1.05443 9.65306 +50 2.97 1.20206 10.4286 +102450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.322518 0.163265 +17 0.99 1.42311 0.265306 +18 1.05 1.51819 0.387755 +19 1.11 1.35853 0.510204 +20 1.17 0.4076 0.55102 +21 1.23 0.922029 0.653061 +22 1.29 1.17358 0.795918 +23 1.35 0.918509 0.918367 +24 1.41 0.561342 1 +25 1.47 1.03292 1.16327 +26 1.53 0.476752 1.2449 +27 1.59 0.882908 1.40816 +28 1.65 0.922354 1.59184 +29 1.71 1.04961 1.81633 +30 1.77 1.06872 2.06122 +31 1.83 1.41638 2.40816 +32 1.89 0.781108 2.61224 +33 1.95 1.0273 2.89796 +34 2.01 0.828758 3.14286 +35 2.07 1.23724 3.53061 +36 2.13 0.799515 3.79592 +37 2.19 0.523598 3.97959 +38 2.25 1.26768 4.44898 +39 2.31 0.941229 4.81633 +40 2.37 0.546442 5.04082 +41 2.43 1.13409 5.53061 +42 2.49 1.03509 6 +43 2.55 0.858224 6.40816 +44 2.61 0.737299 6.77551 +45 2.67 0.782817 7.18367 +46 2.73 1.08574 7.77551 +47 2.79 0.466004 8.04082 +48 2.85 1.30542 8.81633 +49 2.91 1.25214 9.59184 +50 2.97 1.10716 10.3061 +102500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 0 0.163265 +17 0.99 0.853865 0.22449 +18 1.05 1.01213 0.306122 +19 1.11 0.452845 0.346939 +20 1.17 0.2038 0.367347 +21 1.23 1.10644 0.489796 +22 1.29 1.84419 0.714286 +23 1.35 0.918509 0.836735 +24 1.41 0.701677 0.938776 +25 1.47 0.903804 1.08163 +26 1.53 1.43026 1.32653 +27 1.59 1.32436 1.57143 +28 1.65 0.409935 1.65306 +29 1.71 0.85877 1.83673 +30 1.77 1.51402 2.18367 +31 1.83 1.49969 2.55102 +32 1.89 1.64033 2.97959 +33 1.95 0.880539 3.22449 +34 2.01 0.897822 3.4898 +35 2.07 0.716296 3.71429 +36 2.13 0.492009 3.87755 +37 2.19 0.581776 4.08163 +38 2.25 0.936978 4.42857 +39 2.31 0.993519 4.81633 +40 2.37 0.745148 5.12245 +41 2.43 0.803314 5.46939 +42 2.49 0.810072 5.83673 +43 2.55 1.33025 6.46939 +44 2.61 1.10595 7.02041 +45 2.67 0.861099 7.46939 +46 2.73 0.861105 7.93878 +47 2.79 0.860314 8.42857 +48 2.85 0.996238 9.02041 +49 2.91 1.15329 9.73469 +50 2.97 0.948997 10.3469 +102550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 1.48744 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 0.322518 0.163265 +17 0.99 1.13849 0.244898 +18 1.05 1.01213 0.326531 +19 1.11 0.679267 0.387755 +20 1.17 1.019 0.489796 +21 1.23 1.65965 0.673469 +22 1.29 1.00592 0.795918 +23 1.35 0.30617 0.836735 +24 1.41 0.982348 0.979592 +25 1.47 1.29115 1.18367 +26 1.53 1.07269 1.36735 +27 1.59 1.214 1.59184 +28 1.65 0.819871 1.7551 +29 1.71 1.14503 2 +30 1.77 1.3359 2.30612 +31 1.83 1.08311 2.57143 +32 1.89 0.702997 2.7551 +33 1.95 0.880539 3 +34 2.01 1.03595 3.30612 +35 2.07 1.36747 3.73469 +36 2.13 0.922517 4.04082 +37 2.19 0.756309 4.30612 +38 2.25 0.992094 4.67347 +39 2.31 0.522905 4.87755 +40 2.37 0.99353 5.28571 +41 2.43 0.37803 5.44898 +42 2.49 1.03509 5.91837 +43 2.55 0.72949 6.26531 +44 2.61 0.901143 6.71429 +45 2.67 1.25251 7.36735 +46 2.73 0.823666 7.81633 +47 2.79 1.32632 8.57143 +48 2.85 1.168 9.26531 +49 2.91 0.790826 9.7551 +50 2.97 0.759197 10.2449 +102600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 1.07159 0.0612245 +10 0.57 1.71613 0.102041 +11 0.63 0 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 0.737039 0.244898 +16 0.93 0 0.244898 +17 0.99 0.569243 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 0.452845 0.408163 +20 1.17 0.2038 0.428571 +21 1.23 0.737623 0.510204 +22 1.29 0.167654 0.530612 +23 1.35 1.07159 0.673469 +24 1.41 0.561342 0.755102 +25 1.47 1.29115 0.959184 +26 1.53 1.07269 1.14286 +27 1.59 0.772544 1.28571 +28 1.65 1.94719 1.67347 +29 1.71 0.85877 1.85714 +30 1.77 1.15778 2.12245 +31 1.83 1.08311 2.38776 +32 1.89 1.24977 2.71429 +33 1.95 1.46757 3.12245 +34 2.01 1.03595 3.42857 +35 2.07 1.17212 3.79592 +36 2.13 0.922517 4.10204 +37 2.19 0.523598 4.28571 +38 2.25 0.826745 4.59184 +39 2.31 0.993519 4.97959 +40 2.37 1.39094 5.55102 +41 2.43 0.614299 5.81633 +42 2.49 0.720064 6.14286 +43 2.55 0.772402 6.5102 +44 2.61 1.22883 7.12245 +45 2.67 0.861099 7.57143 +46 2.73 0.786226 8 +47 2.79 0.645236 8.36735 +48 2.85 0.858826 8.87755 +49 2.91 1.18624 9.61224 +50 2.97 0.822464 10.1429 +102650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0 0.0816327 +14 0.81 2.12556 0.183673 +15 0.87 0.368519 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 0 0.244898 +18 1.05 1.26516 0.346939 +19 1.11 1.13211 0.44898 +20 1.17 0.2038 0.469388 +21 1.23 0.553218 0.530612 +22 1.29 0.838269 0.632653 +23 1.35 0.765424 0.734694 +24 1.41 1.40335 0.938776 +25 1.47 1.03292 1.10204 +26 1.53 1.07269 1.28571 +27 1.59 0.882908 1.44898 +28 1.65 1.22981 1.69388 +29 1.71 0.954189 1.89796 +30 1.77 0.890601 2.10204 +31 1.83 1.16643 2.38776 +32 1.89 0.859219 2.61224 +33 1.95 0.587026 2.77551 +34 2.01 1.17407 3.12245 +35 2.07 0.716296 3.34694 +36 2.13 0.799515 3.61224 +37 2.19 1.10537 4 +38 2.25 0.771629 4.28571 +39 2.31 0.993519 4.67347 +40 2.37 1.04321 5.10204 +41 2.43 0.472538 5.30612 +42 2.49 1.03509 5.77551 +43 2.55 1.37316 6.42857 +44 2.61 0.860182 6.85714 +45 2.67 1.0568 7.40816 +46 2.73 0.973423 7.93878 +47 2.79 0.681082 8.32653 +48 2.85 1.20236 9.04082 +49 2.91 1.15329 9.7551 +50 2.97 0.822464 10.2857 +102700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 1.47408 0.22449 +16 0.93 1.61259 0.326531 +17 0.99 1.13849 0.408163 +18 1.05 0.253031 0.428571 +19 1.11 1.13211 0.530612 +20 1.17 1.019 0.632653 +21 1.23 0.737623 0.714286 +22 1.29 1.34123 0.877551 +23 1.35 0.459254 0.938776 +24 1.41 0.280671 0.979592 +25 1.47 1.03292 1.14286 +26 1.53 1.07269 1.32653 +27 1.59 1.32436 1.57143 +28 1.65 0.409935 1.65306 +29 1.71 1.04961 1.87755 +30 1.77 1.06872 2.12245 +31 1.83 1.08311 2.38776 +32 1.89 1.32788 2.73469 +33 1.95 0.953918 3 +34 2.01 0.897822 3.26531 +35 2.07 0.976768 3.57143 +36 2.13 0.676513 3.79592 +37 2.19 0.930841 4.12245 +38 2.25 0.881861 4.44898 +39 2.31 1.0981 4.87755 +40 2.37 0.745148 5.18367 +41 2.43 0.945075 5.59184 +42 2.49 0.945085 6.02041 +43 2.55 1.20151 6.59184 +44 2.61 0.942104 7.06122 +45 2.67 1.01766 7.59184 +46 2.73 1.0483 8.16327 +47 2.79 1.07539 8.77551 +48 2.85 1.0993 9.42857 +49 2.91 1.25214 10.2041 +50 2.97 1.07553 10.898 +102750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 2.14319 0.0612245 +10 0.57 0 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 1.70044 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 1.70773 0.387755 +18 1.05 0.506063 0.428571 +19 1.11 1.13211 0.530612 +20 1.17 1.4266 0.673469 +21 1.23 0.737623 0.755102 +22 1.29 0.502961 0.816327 +23 1.35 0.459254 0.877551 +24 1.41 0.701677 0.979592 +25 1.47 0.645574 1.08163 +26 1.53 1.07269 1.26531 +27 1.59 0.441454 1.34694 +28 1.65 1.02484 1.55102 +29 1.71 1.04961 1.77551 +30 1.77 0.80154 1.95918 +31 1.83 0.66653 2.12245 +32 1.89 1.4841 2.5102 +33 1.95 0.880539 2.7551 +34 2.01 1.10501 3.08163 +35 2.07 1.17212 3.44898 +36 2.13 1.29152 3.87755 +37 2.19 0.989019 4.22449 +38 2.25 1.37791 4.73469 +39 2.31 1.0981 5.16327 +40 2.37 0.844501 5.5102 +41 2.43 1.2286 6.04082 +42 2.49 0.720064 6.36735 +43 2.55 1.02987 6.85714 +44 2.61 0.942104 7.32653 +45 2.67 0.821958 7.7551 +46 2.73 0.898544 8.2449 +47 2.79 1.25463 8.95918 +48 2.85 0.996238 9.55102 +49 2.91 0.988533 10.1633 +50 2.97 0.98063 10.7959 +102800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 2.12556 0.204082 +15 0.87 0.368519 0.22449 +16 0.93 1.29007 0.306122 +17 0.99 0.853865 0.367347 +18 1.05 1.01213 0.44898 +19 1.11 0.679267 0.510204 +20 1.17 0.6114 0.571429 +21 1.23 0.737623 0.653061 +22 1.29 0.502961 0.714286 +23 1.35 0.612339 0.795918 +24 1.41 0.842013 0.918367 +25 1.47 1.16203 1.10204 +26 1.53 1.07269 1.28571 +27 1.59 0.662181 1.40816 +28 1.65 1.12732 1.63265 +29 1.71 0.763351 1.79592 +30 1.77 0.890601 2 +31 1.83 1.49969 2.36735 +32 1.89 0.468665 2.4898 +33 1.95 0.733783 2.69388 +34 2.01 1.24314 3.06122 +35 2.07 0.976768 3.36735 +36 2.13 0.922517 3.67347 +37 2.19 1.16355 4.08163 +38 2.25 0.60628 4.30612 +39 2.31 0.888938 4.65306 +40 2.37 1.29159 5.18367 +41 2.43 1.41761 5.79592 +42 2.49 0.945085 6.22449 +43 2.55 0.986958 6.69388 +44 2.61 1.18787 7.28571 +45 2.67 1.17423 7.89796 +46 2.73 0.823666 8.34694 +47 2.79 0.681082 8.73469 +48 2.85 0.927532 9.28571 +49 2.91 0.889679 9.83673 +50 2.97 1.0439 10.5102 +102850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 0.853865 0.265306 +18 1.05 0 0.265306 +19 1.11 0.90569 0.346939 +20 1.17 1.4266 0.489796 +21 1.23 1.10644 0.612245 +22 1.29 0.670615 0.693878 +23 1.35 0.612339 0.77551 +24 1.41 0.982348 0.918367 +25 1.47 1.29115 1.12245 +26 1.53 1.07269 1.30612 +27 1.59 0.662181 1.42857 +28 1.65 0.922354 1.61224 +29 1.71 0.954189 1.81633 +30 1.77 0.979661 2.04082 +31 1.83 1.16643 2.32653 +32 1.89 1.24977 2.65306 +33 1.95 0.807161 2.87755 +34 2.01 1.17407 3.22449 +35 2.07 0.716296 3.44898 +36 2.13 1.35303 3.89796 +37 2.19 1.0472 4.26531 +38 2.25 1.04721 4.65306 +39 2.31 0.941229 5.02041 +40 2.37 1.09288 5.46939 +41 2.43 0.945075 5.87755 +42 2.49 0.900081 6.28571 +43 2.55 0.944046 6.73469 +44 2.61 0.77826 7.12245 +45 2.67 1.01766 7.65306 +46 2.73 0.823666 8.10204 +47 2.79 0.824468 8.57143 +48 2.85 0.79012 9.04082 +49 2.91 1.21919 9.79592 +50 2.97 0.917363 10.3878 +102900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0.991624 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 0.737039 0.244898 +16 0.93 0.967555 0.306122 +17 0.99 0.569243 0.346939 +18 1.05 0.759094 0.408163 +19 1.11 0.90569 0.489796 +20 1.17 0.8152 0.571429 +21 1.23 0.922029 0.673469 +22 1.29 0.670615 0.755102 +23 1.35 1.07159 0.897959 +24 1.41 0.701677 1 +25 1.47 1.42026 1.22449 +26 1.53 0.715128 1.34694 +27 1.59 0.993271 1.53061 +28 1.65 0.819871 1.69388 +29 1.71 1.14503 1.93878 +30 1.77 0.71248 2.10204 +31 1.83 1.66633 2.5102 +32 1.89 0.859219 2.73469 +33 1.95 0.953918 3 +34 2.01 1.10501 3.32653 +35 2.07 1.107 3.67347 +36 2.13 0.676513 3.89796 +37 2.19 0.872664 4.20408 +38 2.25 1.15744 4.63265 +39 2.31 1.04581 5.04082 +40 2.37 1.14256 5.5102 +41 2.43 0.708807 5.81633 +42 2.49 0.855076 6.20408 +43 2.55 0.986958 6.67347 +44 2.61 1.06499 7.20408 +45 2.67 0.861099 7.65306 +46 2.73 1.16062 8.28571 +47 2.79 1.14709 8.93878 +48 2.85 1.06494 9.57143 +49 2.91 0.955581 10.1633 +50 2.97 0.790831 10.6735 +102950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 2.5742 0.0612245 +11 0.63 0 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 1.13211 0.489796 +20 1.17 0.8152 0.571429 +21 1.23 1.29084 0.714286 +22 1.29 0.670615 0.795918 +23 1.35 0.612339 0.877551 +24 1.41 0.701677 0.979592 +25 1.47 0.645574 1.08163 +26 1.53 1.19188 1.28571 +27 1.59 1.10363 1.4898 +28 1.65 1.33229 1.7551 +29 1.71 0.667932 1.89796 +30 1.77 1.06872 2.14286 +31 1.83 0.749847 2.32653 +32 1.89 1.17166 2.63265 +33 1.95 0.807161 2.85714 +34 2.01 0.897822 3.12245 +35 2.07 0.846532 3.38776 +36 2.13 0.799515 3.65306 +37 2.19 1.27991 4.10204 +38 2.25 0.771629 4.38776 +39 2.31 1.30726 4.89796 +40 2.37 1.29159 5.42857 +41 2.43 0.614299 5.69388 +42 2.49 1.1701 6.22449 +43 2.55 1.02987 6.71429 +44 2.61 1.14691 7.28571 +45 2.67 0.821958 7.71429 +46 2.73 1.38526 8.46939 +47 2.79 0.967854 9.02041 +48 2.85 1.168 9.71429 +49 2.91 0.823777 10.2245 +50 2.97 0.790831 10.7347 +103000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 0 0.0408163 +15 0.87 1.10556 0.102041 +16 0.93 1.29007 0.183673 +17 0.99 0.569243 0.22449 +18 1.05 1.26516 0.326531 +19 1.11 1.35853 0.44898 +20 1.17 0.6114 0.510204 +21 1.23 0.553218 0.571429 +22 1.29 0.502961 0.632653 +23 1.35 0.765424 0.734694 +24 1.41 0.982348 0.877551 +25 1.47 0.645574 0.979592 +26 1.53 0.834316 1.12245 +27 1.59 1.10363 1.32653 +28 1.65 0.204968 1.36735 +29 1.71 0.85877 1.55102 +30 1.77 1.06872 1.79592 +31 1.83 1.41638 2.14286 +32 1.89 1.09355 2.42857 +33 1.95 1.10067 2.73469 +34 2.01 0.759695 2.95918 +35 2.07 1.107 3.30612 +36 2.13 0.861016 3.59184 +37 2.19 1.10537 3.97959 +38 2.25 1.43302 4.5102 +39 2.31 0.993519 4.89796 +40 2.37 0.894177 5.26531 +41 2.43 1.03958 5.71429 +42 2.49 1.1251 6.22449 +43 2.55 1.07278 6.73469 +44 2.61 1.14691 7.30612 +45 2.67 1.09594 7.87755 +46 2.73 1.38526 8.63265 +47 2.79 1.03955 9.22449 +48 2.85 1.13365 9.89796 +49 2.91 1.02148 10.5306 +50 2.97 1.0439 11.2041 +103050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.7572 0.102041 +13 0.75 0.991624 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 0.368519 0.22449 +16 0.93 0 0.22449 +17 0.99 0.569243 0.265306 +18 1.05 0.759094 0.326531 +19 1.11 1.13211 0.428571 +20 1.17 0.4076 0.469388 +21 1.23 0.184406 0.489796 +22 1.29 0.670615 0.571429 +23 1.35 1.22468 0.734694 +24 1.41 0.982348 0.877551 +25 1.47 0.387344 0.938776 +26 1.53 0.59594 1.04082 +27 1.59 1.43472 1.30612 +28 1.65 1.12732 1.53061 +29 1.71 0.954189 1.73469 +30 1.77 0.890601 1.93878 +31 1.83 0.749847 2.12245 +32 1.89 0.859219 2.34694 +33 1.95 1.0273 2.63265 +34 2.01 0.966885 2.91837 +35 2.07 1.17212 3.28571 +36 2.13 1.04552 3.63265 +37 2.19 1.39626 4.12245 +38 2.25 1.15744 4.55102 +39 2.31 1.25497 5.04082 +40 2.37 1.04321 5.46939 +41 2.43 0.614299 5.73469 +42 2.49 0.990089 6.18367 +43 2.55 0.901135 6.61224 +44 2.61 0.901143 7.06122 +45 2.67 1.17423 7.67347 +46 2.73 0.823666 8.12245 +47 2.79 1.4697 8.95918 +48 2.85 1.13365 9.63265 +49 2.91 0.790826 10.1224 +50 2.97 1.10716 10.8367 +103100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 0 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 0.853865 0.346939 +18 1.05 1.51819 0.469388 +19 1.11 0.679267 0.530612 +20 1.17 0.4076 0.571429 +21 1.23 0.553218 0.632653 +22 1.29 1.17358 0.77551 +23 1.35 1.9901 1.04082 +24 1.41 0.561342 1.12245 +25 1.47 1.03292 1.28571 +26 1.53 0.953504 1.44898 +27 1.59 1.32436 1.69388 +28 1.65 0.614903 1.81633 +29 1.71 0.763351 1.97959 +30 1.77 0.979661 2.20408 +31 1.83 0.749847 2.38776 +32 1.89 0.937329 2.63265 +33 1.95 1.17405 2.95918 +34 2.01 0.759695 3.18367 +35 2.07 0.976768 3.4898 +36 2.13 1.35303 3.93878 +37 2.19 1.16355 4.34694 +38 2.25 1.10233 4.7551 +39 2.31 1.41184 5.30612 +40 2.37 0.596118 5.55102 +41 2.43 0.945075 5.95918 +42 2.49 1.0801 6.44898 +43 2.55 0.815313 6.83673 +44 2.61 0.901143 7.28571 +45 2.67 0.782817 7.69388 +46 2.73 0.59903 8.02041 +47 2.79 1.32632 8.77551 +48 2.85 0.755767 9.22449 +49 2.91 1.35099 10.0612 +50 2.97 0.790831 10.5714 +103150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.425111 0.0816327 +15 0.87 1.47408 0.163265 +16 0.93 1.29007 0.244898 +17 0.99 0.569243 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 0 0.367347 +20 1.17 1.2228 0.489796 +21 1.23 0.737623 0.571429 +22 1.29 1.17358 0.714286 +23 1.35 0.765424 0.816327 +24 1.41 0.701677 0.918367 +25 1.47 1.80761 1.20408 +26 1.53 0.834316 1.34694 +27 1.59 0.772544 1.4898 +28 1.65 1.33229 1.7551 +29 1.71 1.5267 2.08163 +30 1.77 0.62342 2.22449 +31 1.83 0.499898 2.34694 +32 1.89 0.937329 2.59184 +33 1.95 0.587026 2.7551 +34 2.01 0.828758 3 +35 2.07 1.56283 3.4898 +36 2.13 1.41453 3.95918 +37 2.19 0.698131 4.20408 +38 2.25 1.21256 4.65306 +39 2.31 0.679776 4.91837 +40 2.37 1.44062 5.5102 +41 2.43 0.850568 5.87755 +42 2.49 0.585052 6.14286 +43 2.55 0.986958 6.61224 +44 2.61 0.696338 6.95918 +45 2.67 1.13508 7.55102 +46 2.73 1.2355 8.22449 +47 2.79 1.11124 8.85714 +48 2.85 0.996238 9.44898 +49 2.91 0.856728 9.97959 +50 2.97 1.20206 10.7551 +103200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0 0.122449 +16 0.93 0.967555 0.183673 +17 0.99 0.853865 0.244898 +18 1.05 0.253031 0.265306 +19 1.11 0.90569 0.346939 +20 1.17 1.2228 0.469388 +21 1.23 1.65965 0.653061 +22 1.29 0.335308 0.693878 +23 1.35 0.918509 0.816327 +24 1.41 0.280671 0.857143 +25 1.47 0.774689 0.979592 +26 1.53 0.476752 1.06122 +27 1.59 0.662181 1.18367 +28 1.65 1.53726 1.4898 +29 1.71 1.04961 1.71429 +30 1.77 1.15778 1.97959 +31 1.83 0.66653 2.14286 +32 1.89 0.937329 2.38776 +33 1.95 0.660405 2.57143 +34 2.01 1.03595 2.87755 +35 2.07 0.976768 3.18367 +36 2.13 0.984018 3.5102 +37 2.19 1.10537 3.89796 +38 2.25 0.992094 4.26531 +39 2.31 1.0981 4.69388 +40 2.37 0.99353 5.10204 +41 2.43 1.27585 5.65306 +42 2.49 0.67506 5.95918 +43 2.55 1.11569 6.4898 +44 2.61 0.901143 6.93878 +45 2.67 1.01766 7.46939 +46 2.73 1.12318 8.08163 +47 2.79 0.967854 8.63265 +48 2.85 1.20236 9.34694 +49 2.91 1.15329 10.0612 +50 2.97 1.26533 10.8776 +103250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 2.5742 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 0.967555 0.265306 +17 0.99 0 0.265306 +18 1.05 0.506063 0.306122 +19 1.11 0.679267 0.367347 +20 1.17 1.2228 0.489796 +21 1.23 1.10644 0.612245 +22 1.29 1.17358 0.755102 +23 1.35 1.22468 0.918367 +24 1.41 1.26302 1.10204 +25 1.47 1.54938 1.34694 +26 1.53 0.953504 1.5102 +27 1.59 1.10363 1.71429 +28 1.65 0.819871 1.87755 +29 1.71 0.763351 2.04082 +30 1.77 0.71248 2.20408 +31 1.83 0.749847 2.38776 +32 1.89 0.390554 2.4898 +33 1.95 0.880539 2.73469 +34 2.01 0.897822 3 +35 2.07 0.976768 3.30612 +36 2.13 1.10702 3.67347 +37 2.19 0.989019 4.02041 +38 2.25 1.04721 4.40816 +39 2.31 1.0981 4.83673 +40 2.37 0.943854 5.22449 +41 2.43 0.897822 5.61224 +42 2.49 0.540048 5.85714 +43 2.55 0.815313 6.2449 +44 2.61 1.02403 6.7551 +45 2.67 1.01766 7.28571 +46 2.73 1.01086 7.83673 +47 2.79 1.39801 8.63265 +48 2.85 0.996238 9.22449 +49 2.91 1.08739 9.89796 +50 2.97 1.10716 10.6122 +103300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0 0.122449 +15 0.87 0 0.122449 +16 0.93 0 0.122449 +17 0.99 0.284622 0.142857 +18 1.05 1.01213 0.22449 +19 1.11 1.35853 0.346939 +20 1.17 0.6114 0.408163 +21 1.23 0.368812 0.44898 +22 1.29 0.335308 0.489796 +23 1.35 1.07159 0.632653 +24 1.41 0.701677 0.734694 +25 1.47 1.29115 0.938776 +26 1.53 1.31107 1.16327 +27 1.59 0.993271 1.34694 +28 1.65 0.819871 1.5102 +29 1.71 0.85877 1.69388 +30 1.77 0.62342 1.83673 +31 1.83 0.583214 1.97959 +32 1.89 1.24977 2.30612 +33 1.95 1.0273 2.59184 +34 2.01 0.552506 2.7551 +35 2.07 1.36747 3.18367 +36 2.13 0.738014 3.42857 +37 2.19 1.10537 3.81633 +38 2.25 1.26768 4.28571 +39 2.31 1.20268 4.7551 +40 2.37 1.4903 5.36735 +41 2.43 0.992329 5.79592 +42 2.49 1.03509 6.26531 +43 2.55 1.24442 6.85714 +44 2.61 1.06499 7.38776 +45 2.67 1.21337 8.02041 +46 2.73 1.0483 8.59184 +47 2.79 0.824468 9.06122 +48 2.85 1.06494 9.69388 +49 2.91 0.691973 10.1224 +50 2.97 1.17043 10.8776 +103350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.7572 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 1.26516 0.408163 +19 1.11 1.35853 0.530612 +20 1.17 1.4266 0.673469 +21 1.23 1.84406 0.877551 +22 1.29 1.17358 1.02041 +23 1.35 0.765424 1.12245 +24 1.41 0.842013 1.2449 +25 1.47 0.516459 1.32653 +26 1.53 1.07269 1.5102 +27 1.59 0.662181 1.63265 +28 1.65 1.02484 1.83673 +29 1.71 1.43128 2.14286 +30 1.77 1.06872 2.38776 +31 1.83 0.749847 2.57143 +32 1.89 1.09355 2.85714 +33 1.95 0.807161 3.08163 +34 2.01 1.03595 3.38776 +35 2.07 0.520943 3.55102 +36 2.13 0.430508 3.69388 +37 2.19 1.0472 4.06122 +38 2.25 1.21256 4.5102 +39 2.31 0.888938 4.85714 +40 2.37 1.24191 5.36735 +41 2.43 0.945075 5.77551 +42 2.49 1.26011 6.34694 +43 2.55 0.944046 6.79592 +44 2.61 0.942104 7.26531 +45 2.67 0.821958 7.69388 +46 2.73 0.786226 8.12245 +47 2.79 1.0037 8.69388 +48 2.85 0.584002 9.04082 +49 2.91 0.955581 9.63265 +50 2.97 0.948997 10.2449 +103400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.991624 0.0612245 +14 0.81 2.55067 0.183673 +15 0.87 0.737039 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 0.853865 0.346939 +18 1.05 1.77122 0.489796 +19 1.11 1.13211 0.591837 +20 1.17 0.4076 0.632653 +21 1.23 0.553218 0.693878 +22 1.29 0.502961 0.755102 +23 1.35 0.918509 0.877551 +24 1.41 1.82436 1.14286 +25 1.47 1.03292 1.30612 +26 1.53 0.953504 1.46939 +27 1.59 0.772544 1.61224 +28 1.65 1.12732 1.83673 +29 1.71 0.954189 2.04082 +30 1.77 1.60308 2.40816 +31 1.83 0.833163 2.61224 +32 1.89 0.468665 2.73469 +33 1.95 0.880539 2.97959 +34 2.01 1.10501 3.30612 +35 2.07 1.23724 3.69388 +36 2.13 1.23002 4.10204 +37 2.19 0.698131 4.34694 +38 2.25 0.771629 4.63265 +39 2.31 0.888938 4.97959 +40 2.37 1.09288 5.42857 +41 2.43 1.27585 5.97959 +42 2.49 0.765068 6.32653 +43 2.55 0.72949 6.67347 +44 2.61 0.696338 7.02041 +45 2.67 0.821958 7.44898 +46 2.73 1.12318 8.06122 +47 2.79 0.860314 8.55102 +48 2.85 0.858826 9.06122 +49 2.91 1.12034 9.7551 +50 2.97 0.854097 10.3061 +103450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 1.7572 0.163265 +13 0.75 0.495812 0.183673 +14 0.81 1.70044 0.265306 +15 0.87 0.737039 0.306122 +16 0.93 0.322518 0.326531 +17 0.99 1.13849 0.408163 +18 1.05 0.253031 0.428571 +19 1.11 0.679267 0.489796 +20 1.17 0.4076 0.530612 +21 1.23 0.922029 0.632653 +22 1.29 1.17358 0.77551 +23 1.35 1.07159 0.918367 +24 1.41 0.280671 0.959184 +25 1.47 1.03292 1.12245 +26 1.53 0.834316 1.26531 +27 1.59 1.32436 1.5102 +28 1.65 0.409935 1.59184 +29 1.71 0.667932 1.73469 +30 1.77 0.979661 1.95918 +31 1.83 1.33306 2.28571 +32 1.89 1.17166 2.59184 +33 1.95 1.24743 2.93878 +34 2.01 1.17407 3.28571 +35 2.07 1.107 3.63265 +36 2.13 0.922517 3.93878 +37 2.19 0.581776 4.14286 +38 2.25 0.60628 4.36735 +39 2.31 0.836648 4.69388 +40 2.37 1.24191 5.20408 +41 2.43 1.03958 5.65306 +42 2.49 0.765068 6 +43 2.55 1.24442 6.59184 +44 2.61 0.983065 7.08163 +45 2.67 1.01766 7.61224 +46 2.73 0.786226 8.04082 +47 2.79 0.824468 8.5102 +48 2.85 1.13365 9.18367 +49 2.91 0.955581 9.77551 +50 2.97 1.07553 10.4694 +103500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.991624 0.0612245 +14 0.81 1.70044 0.142857 +15 0.87 2.57964 0.285714 +16 0.93 0.967555 0.346939 +17 0.99 0.569243 0.387755 +18 1.05 1.26516 0.489796 +19 1.11 0.90569 0.571429 +20 1.17 1.4266 0.714286 +21 1.23 0.553218 0.77551 +22 1.29 0.670615 0.857143 +23 1.35 0.30617 0.897959 +24 1.41 1.12268 1.06122 +25 1.47 1.29115 1.26531 +26 1.53 0.59594 1.36735 +27 1.59 1.214 1.59184 +28 1.65 0.717387 1.73469 +29 1.71 0.572513 1.85714 +30 1.77 1.3359 2.16327 +31 1.83 0.833163 2.36735 +32 1.89 1.09355 2.65306 +33 1.95 1.10067 2.95918 +34 2.01 0.621569 3.14286 +35 2.07 1.56283 3.63265 +36 2.13 0.922517 3.93878 +37 2.19 0.989019 4.28571 +38 2.25 0.826745 4.59184 +39 2.31 0.522905 4.79592 +40 2.37 0.99353 5.20408 +41 2.43 1.03958 5.65306 +42 2.49 0.945085 6.08163 +43 2.55 1.07278 6.59184 +44 2.61 0.655377 6.91837 +45 2.67 0.861099 7.36735 +46 2.73 1.31038 8.08163 +47 2.79 1.32632 8.83673 +48 2.85 1.23671 9.57143 +49 2.91 0.724924 10.0204 +50 2.97 0.98063 10.6531 +103550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 0 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 1.27533 0.183673 +15 0.87 0.737039 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 1.13849 0.367347 +18 1.05 1.26516 0.469388 +19 1.11 0.226422 0.489796 +20 1.17 0.8152 0.571429 +21 1.23 0.737623 0.653061 +22 1.29 0.335308 0.693878 +23 1.35 1.22468 0.857143 +24 1.41 0.982348 1 +25 1.47 0.774689 1.12245 +26 1.53 1.19188 1.32653 +27 1.59 1.10363 1.53061 +28 1.65 0.512419 1.63265 +29 1.71 0.954189 1.83673 +30 1.77 0.53436 1.95918 +31 1.83 1.08311 2.22449 +32 1.89 0.859219 2.44898 +33 1.95 0.44027 2.57143 +34 2.01 0.552506 2.73469 +35 2.07 1.04189 3.06122 +36 2.13 0.922517 3.36735 +37 2.19 0.465421 3.53061 +38 2.25 1.37791 4.04082 +39 2.31 1.15039 4.4898 +40 2.37 0.745148 4.79592 +41 2.43 1.27585 5.34694 +42 2.49 1.39512 5.97959 +43 2.55 0.944046 6.42857 +44 2.61 0.942104 6.89796 +45 2.67 0.93938 7.38776 +46 2.73 1.27294 8.08163 +47 2.79 0.860314 8.57143 +48 2.85 1.03059 9.18367 +49 2.91 0.955581 9.77551 +50 2.97 0.917363 10.3673 +103600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 2.12556 0.204082 +15 0.87 1.10556 0.265306 +16 0.93 0.322518 0.285714 +17 0.99 0.284622 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 1.13211 0.469388 +20 1.17 0.8152 0.55102 +21 1.23 0.922029 0.653061 +22 1.29 0.838269 0.755102 +23 1.35 1.37776 0.938776 +24 1.41 1.26302 1.12245 +25 1.47 0.516459 1.20408 +26 1.53 0.715128 1.32653 +27 1.59 1.43472 1.59184 +28 1.65 1.12732 1.81633 +29 1.71 0.763351 1.97959 +30 1.77 0.890601 2.18367 +31 1.83 1.08311 2.44898 +32 1.89 1.01544 2.71429 +33 1.95 0.587026 2.87755 +34 2.01 1.10501 3.20408 +35 2.07 0.781414 3.44898 +36 2.13 0.861016 3.73469 +37 2.19 1.16355 4.14286 +38 2.25 0.826745 4.44898 +39 2.31 1.04581 4.85714 +40 2.37 0.99353 5.26531 +41 2.43 1.08684 5.73469 +42 2.49 1.21511 6.28571 +43 2.55 0.986958 6.7551 +44 2.61 1.22883 7.36735 +45 2.67 0.861099 7.81633 +46 2.73 0.823666 8.26531 +47 2.79 1.29047 9 +48 2.85 0.687061 9.40816 +49 2.91 1.31804 10.2245 +50 2.97 0.854097 10.7755 +103650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0 0.102041 +15 0.87 0 0.102041 +16 0.93 1.29007 0.183673 +17 0.99 0.853865 0.244898 +18 1.05 0.506063 0.285714 +19 1.11 0.226422 0.306122 +20 1.17 0.8152 0.387755 +21 1.23 0.737623 0.469388 +22 1.29 0.335308 0.510204 +23 1.35 1.68393 0.734694 +24 1.41 1.82436 1 +25 1.47 0.516459 1.08163 +26 1.53 0.834316 1.22449 +27 1.59 0.993271 1.40816 +28 1.65 0.614903 1.53061 +29 1.71 1.43128 1.83673 +30 1.77 1.42496 2.16327 +31 1.83 1.08311 2.42857 +32 1.89 0.937329 2.67347 +33 1.95 1.10067 2.97959 +34 2.01 1.10501 3.30612 +35 2.07 1.04189 3.63265 +36 2.13 1.29152 4.06122 +37 2.19 0.814486 4.34694 +38 2.25 0.992094 4.71429 +39 2.31 0.627486 4.95918 +40 2.37 0.844501 5.30612 +41 2.43 1.03958 5.7551 +42 2.49 1.1251 6.26531 +43 2.55 0.901135 6.69388 +44 2.61 0.860182 7.12245 +45 2.67 0.743676 7.5102 +46 2.73 1.01086 8.06122 +47 2.79 0.788621 8.5102 +48 2.85 0.858826 9.02041 +49 2.91 1.15329 9.73469 +50 2.97 0.790831 10.2449 +103700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0 0.0816327 +15 0.87 1.47408 0.163265 +16 0.93 0.645037 0.204082 +17 0.99 1.42311 0.306122 +18 1.05 0 0.306122 +19 1.11 0.90569 0.387755 +20 1.17 1.019 0.489796 +21 1.23 0.553218 0.55102 +22 1.29 0.335308 0.591837 +23 1.35 0.612339 0.673469 +24 1.41 0.842013 0.795918 +25 1.47 1.03292 0.959184 +26 1.53 0.834316 1.10204 +27 1.59 1.54509 1.38776 +28 1.65 1.02484 1.59184 +29 1.71 0.85877 1.77551 +30 1.77 0.80154 1.95918 +31 1.83 0.916479 2.18367 +32 1.89 0.937329 2.42857 +33 1.95 0.880539 2.67347 +34 2.01 0.828758 2.91837 +35 2.07 0.781414 3.16327 +36 2.13 1.53753 3.67347 +37 2.19 1.22173 4.10204 +38 2.25 0.716512 4.36735 +39 2.31 0.888938 4.71429 +40 2.37 0.645795 4.97959 +41 2.43 1.08684 5.44898 +42 2.49 0.945085 5.87755 +43 2.55 1.11569 6.40816 +44 2.61 1.22883 7.02041 +45 2.67 1.21337 7.65306 +46 2.73 0.748787 8.06122 +47 2.79 1.03955 8.65306 +48 2.85 0.618355 9.02041 +49 2.91 0.889679 9.57143 +50 2.97 0.822464 10.102 +103750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 1.27533 0.102041 +15 0.87 0.368519 0.122449 +16 0.93 1.29007 0.204082 +17 0.99 1.13849 0.285714 +18 1.05 0.759094 0.346939 +19 1.11 0 0.346939 +20 1.17 0.6114 0.408163 +21 1.23 0.553218 0.469388 +22 1.29 0.502961 0.530612 +23 1.35 1.22468 0.693878 +24 1.41 0.982348 0.836735 +25 1.47 0.645574 0.938776 +26 1.53 0.834316 1.08163 +27 1.59 0.882908 1.2449 +28 1.65 1.43477 1.53061 +29 1.71 1.33586 1.81633 +30 1.77 0.80154 2 +31 1.83 0.583214 2.14286 +32 1.89 1.17166 2.44898 +33 1.95 0.733783 2.65306 +34 2.01 0.897822 2.91837 +35 2.07 0.91165 3.20408 +36 2.13 1.23002 3.61224 +37 2.19 0.872664 3.91837 +38 2.25 1.15744 4.34694 +39 2.31 0.836648 4.67347 +40 2.37 1.09288 5.12245 +41 2.43 0.897822 5.5102 +42 2.49 0.67506 5.81633 +43 2.55 1.02987 6.30612 +44 2.61 0.819221 6.71429 +45 2.67 0.743676 7.10204 +46 2.73 0.861105 7.57143 +47 2.79 0.788621 8.02041 +48 2.85 1.03059 8.63265 +49 2.91 1.15329 9.34694 +50 2.97 0.98063 9.97959 +103800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 1.70044 0.163265 +15 0.87 0.368519 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 0.569243 0.244898 +18 1.05 0 0.244898 +19 1.11 0.90569 0.326531 +20 1.17 0.6114 0.387755 +21 1.23 0.553218 0.44898 +22 1.29 0.502961 0.510204 +23 1.35 0.612339 0.591837 +24 1.41 0.701677 0.693878 +25 1.47 0.25823 0.734694 +26 1.53 1.19188 0.938776 +27 1.59 1.214 1.16327 +28 1.65 0.512419 1.26531 +29 1.71 1.71754 1.63265 +30 1.77 1.3359 1.93878 +31 1.83 0.999796 2.18367 +32 1.89 1.09355 2.46939 +33 1.95 0.733783 2.67347 +34 2.01 1.10501 3 +35 2.07 0.716296 3.22449 +36 2.13 1.10702 3.59184 +37 2.19 0.756309 3.85714 +38 2.25 1.48814 4.40816 +39 2.31 1.20268 4.87755 +40 2.37 1.04321 5.30612 +41 2.43 0.992329 5.73469 +42 2.49 0.945085 6.16327 +43 2.55 0.815313 6.55102 +44 2.61 1.18787 7.14286 +45 2.67 0.93938 7.63265 +46 2.73 1.01086 8.18367 +47 2.79 0.896161 8.69388 +48 2.85 0.824473 9.18367 +49 2.91 1.18624 9.91837 +50 2.97 0.790831 10.4286 +103850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.7519 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.322518 0.163265 +17 0.99 0.853865 0.22449 +18 1.05 0.506063 0.265306 +19 1.11 0.90569 0.346939 +20 1.17 1.6304 0.510204 +21 1.23 0.737623 0.591837 +22 1.29 0.670615 0.673469 +23 1.35 0.765424 0.77551 +24 1.41 0.421006 0.836735 +25 1.47 1.03292 1 +26 1.53 1.31107 1.22449 +27 1.59 0.772544 1.36735 +28 1.65 0.717387 1.5102 +29 1.71 0.763351 1.67347 +30 1.77 1.06872 1.91837 +31 1.83 0.999796 2.16327 +32 1.89 0.702997 2.34694 +33 1.95 0.587026 2.5102 +34 2.01 0.897822 2.77551 +35 2.07 1.17212 3.14286 +36 2.13 0.799515 3.40816 +37 2.19 0.872664 3.71429 +38 2.25 1.26768 4.18367 +39 2.31 1.15039 4.63265 +40 2.37 1.29159 5.16327 +41 2.43 0.519791 5.38776 +42 2.49 0.855076 5.77551 +43 2.55 0.901135 6.20408 +44 2.61 0.983065 6.69388 +45 2.67 0.547972 6.97959 +46 2.73 0.898544 7.46939 +47 2.79 1.4697 8.30612 +48 2.85 0.996238 8.89796 +49 2.91 0.59312 9.26531 +50 2.97 1.07553 9.95918 +103900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 0.368519 0.122449 +16 0.93 0.967555 0.183673 +17 0.99 1.13849 0.265306 +18 1.05 1.01213 0.346939 +19 1.11 0.226422 0.367347 +20 1.17 1.019 0.469388 +21 1.23 0.553218 0.530612 +22 1.29 0.502961 0.591837 +23 1.35 0.612339 0.673469 +24 1.41 0.982348 0.816327 +25 1.47 0.387344 0.877551 +26 1.53 1.07269 1.06122 +27 1.59 1.43472 1.32653 +28 1.65 0.614903 1.44898 +29 1.71 0.763351 1.61224 +30 1.77 0.62342 1.7551 +31 1.83 0.999796 2 +32 1.89 0.781108 2.20408 +33 1.95 0.44027 2.32653 +34 2.01 0.690632 2.53061 +35 2.07 0.976768 2.83673 +36 2.13 0.922517 3.14286 +37 2.19 0.814486 3.42857 +38 2.25 0.936978 3.77551 +39 2.31 0.836648 4.10204 +40 2.37 1.19224 4.59184 +41 2.43 0.803314 4.93878 +42 2.49 1.44013 5.59184 +43 2.55 1.07278 6.10204 +44 2.61 1.02403 6.61224 +45 2.67 1.09594 7.18367 +46 2.73 0.898544 7.67347 +47 2.79 0.860314 8.16327 +48 2.85 1.30542 8.93878 +49 2.91 0.757875 9.40816 +50 2.97 1.07553 10.102 +103950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 2.10758 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 1.29007 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 0.506063 0.367347 +19 1.11 0.90569 0.44898 +20 1.17 1.4266 0.591837 +21 1.23 0.553218 0.653061 +22 1.29 0.335308 0.693878 +23 1.35 0.918509 0.816327 +24 1.41 0.982348 0.959184 +25 1.47 0.903804 1.10204 +26 1.53 0.834316 1.2449 +27 1.59 0.551817 1.34694 +28 1.65 0.512419 1.44898 +29 1.71 0.381676 1.53061 +30 1.77 0.80154 1.71429 +31 1.83 0.999796 1.95918 +32 1.89 0.937329 2.20408 +33 1.95 0.953918 2.46939 +34 2.01 1.03595 2.77551 +35 2.07 0.846532 3.04082 +36 2.13 0.492009 3.20408 +37 2.19 1.0472 3.57143 +38 2.25 1.04721 3.95918 +39 2.31 0.993519 4.34694 +40 2.37 1.19224 4.83673 +41 2.43 0.803314 5.18367 +42 2.49 1.1251 5.69388 +43 2.55 0.858224 6.10204 +44 2.61 0.696338 6.44898 +45 2.67 1.21337 7.08163 +46 2.73 0.973423 7.61224 +47 2.79 1.14709 8.26531 +48 2.85 0.755767 8.71429 +49 2.91 1.21919 9.46939 +50 2.97 0.759197 9.95918 +104000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0 0.0204082 +14 0.81 0.425111 0.0408163 +15 0.87 1.10556 0.102041 +16 0.93 0.322518 0.122449 +17 0.99 0.569243 0.163265 +18 1.05 0.253031 0.183673 +19 1.11 0.452845 0.22449 +20 1.17 1.2228 0.346939 +21 1.23 1.47525 0.510204 +22 1.29 0.838269 0.612245 +23 1.35 1.22468 0.77551 +24 1.41 1.26302 0.959184 +25 1.47 1.29115 1.16327 +26 1.53 0.834316 1.30612 +27 1.59 0.993271 1.4898 +28 1.65 0.922354 1.67347 +29 1.71 1.43128 1.97959 +30 1.77 1.24684 2.26531 +31 1.83 0.249949 2.32653 +32 1.89 1.17166 2.63265 +33 1.95 0.880539 2.87755 +34 2.01 0.759695 3.10204 +35 2.07 0.781414 3.34694 +36 2.13 0.492009 3.5102 +37 2.19 1.0472 3.87755 +38 2.25 0.992094 4.2449 +39 2.31 0.888938 4.59184 +40 2.37 1.19224 5.08163 +41 2.43 0.803314 5.42857 +42 2.49 1.0801 5.91837 +43 2.55 1.20151 6.4898 +44 2.61 1.31075 7.14286 +45 2.67 0.821958 7.57143 +46 2.73 0.973423 8.10204 +47 2.79 0.788621 8.55102 +48 2.85 0.996238 9.14286 +49 2.91 0.626071 9.53061 +50 2.97 0.854097 10.0816 +104050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 0.967555 0.265306 +17 0.99 1.42311 0.367347 +18 1.05 0.506063 0.408163 +19 1.11 0.90569 0.489796 +20 1.17 1.2228 0.612245 +21 1.23 1.10644 0.734694 +22 1.29 0.838269 0.836735 +23 1.35 1.07159 0.979592 +24 1.41 0.701677 1.08163 +25 1.47 0.645574 1.18367 +26 1.53 0.715128 1.30612 +27 1.59 0.993271 1.4898 +28 1.65 0.922354 1.67347 +29 1.71 0.477094 1.77551 +30 1.77 0.71248 1.93878 +31 1.83 0.749847 2.12245 +32 1.89 0.937329 2.36735 +33 1.95 1.32081 2.73469 +34 2.01 0.828758 2.97959 +35 2.07 0.976768 3.28571 +36 2.13 1.23002 3.69388 +37 2.19 0.930841 4.02041 +38 2.25 1.32279 4.5102 +39 2.31 0.941229 4.87755 +40 2.37 1.14256 5.34694 +41 2.43 1.08684 5.81633 +42 2.49 0.900081 6.22449 +43 2.55 0.772402 6.59184 +44 2.61 0.737299 6.95918 +45 2.67 1.09594 7.53061 +46 2.73 0.935984 8.04082 +47 2.79 1.14709 8.69388 +48 2.85 1.13365 9.36735 +49 2.91 0.823777 9.87755 +50 2.97 1.01226 10.5306 +104100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 2.14319 0.0612245 +10 0.57 0.858066 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 1.10556 0.265306 +16 0.93 1.29007 0.346939 +17 0.99 0.284622 0.367347 +18 1.05 0.759094 0.428571 +19 1.11 0.452845 0.469388 +20 1.17 1.019 0.571429 +21 1.23 0.737623 0.653061 +22 1.29 1.17358 0.795918 +23 1.35 0.612339 0.877551 +24 1.41 0.842013 1 +25 1.47 0.645574 1.10204 +26 1.53 1.19188 1.30612 +27 1.59 0.551817 1.40816 +28 1.65 0.819871 1.57143 +29 1.71 1.43128 1.87755 +30 1.77 0.80154 2.06122 +31 1.83 1.16643 2.34694 +32 1.89 0.702997 2.53061 +33 1.95 1.0273 2.81633 +34 2.01 0.759695 3.04082 +35 2.07 1.23724 3.42857 +36 2.13 1.23002 3.83673 +37 2.19 0.698131 4.08163 +38 2.25 0.881861 4.40816 +39 2.31 0.888938 4.7551 +40 2.37 1.09288 5.20408 +41 2.43 0.803314 5.55102 +42 2.49 0.945085 5.97959 +43 2.55 1.24442 6.57143 +44 2.61 0.77826 6.95918 +45 2.67 0.861099 7.40816 +46 2.73 0.56159 7.71429 +47 2.79 1.14709 8.36735 +48 2.85 0.927532 8.91837 +49 2.91 1.35099 9.7551 +50 2.97 1.10716 10.4694 +104150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 1.98325 0.163265 +14 0.81 0.425111 0.183673 +15 0.87 1.8426 0.285714 +16 0.93 1.29007 0.367347 +17 0.99 1.13849 0.44898 +18 1.05 1.26516 0.55102 +19 1.11 0.452845 0.591837 +20 1.17 0.8152 0.673469 +21 1.23 0.737623 0.755102 +22 1.29 1.00592 0.877551 +23 1.35 1.07159 1.02041 +24 1.41 0.701677 1.12245 +25 1.47 1.16203 1.30612 +26 1.53 0.834316 1.44898 +27 1.59 1.10363 1.65306 +28 1.65 0.819871 1.81633 +29 1.71 0.667932 1.95918 +30 1.77 0.62342 2.10204 +31 1.83 0.749847 2.28571 +32 1.89 1.09355 2.57143 +33 1.95 0.660405 2.7551 +34 2.01 0.828758 3 +35 2.07 1.36747 3.42857 +36 2.13 0.738014 3.67347 +37 2.19 1.10537 4.06122 +38 2.25 0.661396 4.30612 +39 2.31 0.888938 4.65306 +40 2.37 0.943854 5.04082 +41 2.43 1.27585 5.59184 +42 2.49 0.945085 6.02041 +43 2.55 1.41607 6.69388 +44 2.61 0.901143 7.14286 +45 2.67 0.861099 7.59184 +46 2.73 0.786226 8.02041 +47 2.79 1.32632 8.77551 +48 2.85 0.755767 9.22449 +49 2.91 1.18624 9.95918 +50 2.97 0.88573 10.5306 +104200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 2.10758 0.102041 +12 0.69 0 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 1.10556 0.265306 +16 0.93 0.967555 0.326531 +17 0.99 1.70773 0.44898 +18 1.05 0 0.44898 +19 1.11 0.679267 0.510204 +20 1.17 0.4076 0.55102 +21 1.23 1.29084 0.693878 +22 1.29 1.50888 0.877551 +23 1.35 0.765424 0.979592 +24 1.41 1.12268 1.14286 +25 1.47 0.645574 1.2449 +26 1.53 0.357564 1.30612 +27 1.59 0.33109 1.36735 +28 1.65 0.512419 1.46939 +29 1.71 1.04961 1.69388 +30 1.77 0.80154 1.87755 +31 1.83 1.08311 2.14286 +32 1.89 1.01544 2.40816 +33 1.95 0.880539 2.65306 +34 2.01 0.966885 2.93878 +35 2.07 1.17212 3.30612 +36 2.13 1.16852 3.69388 +37 2.19 1.0472 4.06122 +38 2.25 0.881861 4.38776 +39 2.31 1.0981 4.81633 +40 2.37 1.04321 5.2449 +41 2.43 0.708807 5.55102 +42 2.49 1.21511 6.10204 +43 2.55 1.20151 6.67347 +44 2.61 1.06499 7.20408 +45 2.67 1.0568 7.7551 +46 2.73 0.711348 8.14286 +47 2.79 0.716929 8.55102 +48 2.85 0.927532 9.10204 +49 2.91 1.05443 9.7551 +50 2.97 1.2337 10.551 +104250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 1.98325 0.102041 +14 0.81 0 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 1.13849 0.285714 +18 1.05 1.26516 0.387755 +19 1.11 0.90569 0.469388 +20 1.17 0.6114 0.530612 +21 1.23 0.922029 0.632653 +22 1.29 0.335308 0.673469 +23 1.35 0.459254 0.734694 +24 1.41 0.842013 0.857143 +25 1.47 0.516459 0.938776 +26 1.53 0.119188 0.959184 +27 1.59 0.551817 1.06122 +28 1.65 1.22981 1.30612 +29 1.71 1.14503 1.55102 +30 1.77 0.890601 1.7551 +31 1.83 1.16643 2.04082 +32 1.89 0.937329 2.28571 +33 1.95 1.24743 2.63265 +34 2.01 0.966885 2.91837 +35 2.07 0.91165 3.20408 +36 2.13 1.35303 3.65306 +37 2.19 0.639953 3.87755 +38 2.25 1.10233 4.28571 +39 2.31 0.575195 4.5102 +40 2.37 1.34127 5.06122 +41 2.43 1.08684 5.53061 +42 2.49 1.03509 6 +43 2.55 0.944046 6.44898 +44 2.61 1.31075 7.10204 +45 2.67 0.743676 7.4898 +46 2.73 1.27294 8.18367 +47 2.79 0.932007 8.71429 +48 2.85 0.996238 9.30612 +49 2.91 0.988533 9.91837 +50 2.97 0.790831 10.4286 +104300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 0.253031 0.326531 +19 1.11 0.90569 0.408163 +20 1.17 0.6114 0.469388 +21 1.23 0.368812 0.510204 +22 1.29 1.00592 0.632653 +23 1.35 0.765424 0.734694 +24 1.41 0.842013 0.857143 +25 1.47 0.25823 0.897959 +26 1.53 1.19188 1.10204 +27 1.59 0.33109 1.16327 +28 1.65 1.02484 1.36735 +29 1.71 1.14503 1.61224 +30 1.77 0.890601 1.81633 +31 1.83 1.74964 2.2449 +32 1.89 1.79655 2.71429 +33 1.95 1.17405 3.04082 +34 2.01 0.690632 3.2449 +35 2.07 0.91165 3.53061 +36 2.13 0.922517 3.83673 +37 2.19 0.349066 3.95918 +38 2.25 0.716512 4.22449 +39 2.31 0.888938 4.57143 +40 2.37 0.943854 4.95918 +41 2.43 1.18134 5.46939 +42 2.49 0.765068 5.81633 +43 2.55 1.11569 6.34694 +44 2.61 1.18787 6.93878 +45 2.67 0.861099 7.38776 +46 2.73 1.08574 7.97959 +47 2.79 0.824468 8.44898 +48 2.85 0.996238 9.04082 +49 2.91 0.823777 9.55102 +50 2.97 1.1388 10.2857 +104350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 1.48744 0.0816327 +14 0.81 2.12556 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.645037 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 0.2038 0.469388 +21 1.23 0.922029 0.571429 +22 1.29 0.502961 0.632653 +23 1.35 0.612339 0.714286 +24 1.41 1.12268 0.877551 +25 1.47 1.03292 1.04082 +26 1.53 1.31107 1.26531 +27 1.59 1.43472 1.53061 +28 1.65 0.819871 1.69388 +29 1.71 0.763351 1.85714 +30 1.77 0.80154 2.04082 +31 1.83 1.49969 2.40816 +32 1.89 0.937329 2.65306 +33 1.95 1.32081 3.02041 +34 2.01 0.690632 3.22449 +35 2.07 0.781414 3.46939 +36 2.13 0.922517 3.77551 +37 2.19 1.10537 4.16327 +38 2.25 0.936978 4.5102 +39 2.31 0.732067 4.79592 +40 2.37 1.14256 5.26531 +41 2.43 0.850568 5.63265 +42 2.49 0.630056 5.91837 +43 2.55 0.772402 6.28571 +44 2.61 0.819221 6.69388 +45 2.67 1.29165 7.36735 +46 2.73 1.01086 7.91837 +47 2.79 0.860314 8.40816 +48 2.85 1.13365 9.08163 +49 2.91 0.823777 9.59184 +50 2.97 1.1388 10.3265 +104400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 2.8101 0.142857 +12 0.69 1.7572 0.204082 +13 0.75 0 0.204082 +14 0.81 0.425111 0.22449 +15 0.87 0 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 1.99235 0.428571 +18 1.05 0 0.428571 +19 1.11 0.90569 0.510204 +20 1.17 1.2228 0.632653 +21 1.23 0.553218 0.693878 +22 1.29 1.00592 0.816327 +23 1.35 0.918509 0.938776 +24 1.41 1.40335 1.14286 +25 1.47 1.03292 1.30612 +26 1.53 0.834316 1.44898 +27 1.59 0.882908 1.61224 +28 1.65 0.717387 1.7551 +29 1.71 0.572513 1.87755 +30 1.77 1.3359 2.18367 +31 1.83 0.749847 2.36735 +32 1.89 0.859219 2.59184 +33 1.95 1.10067 2.89796 +34 2.01 1.03595 3.20408 +35 2.07 1.23724 3.59184 +36 2.13 1.04552 3.93878 +37 2.19 0.872664 4.2449 +38 2.25 0.771629 4.53061 +39 2.31 1.56871 5.14286 +40 2.37 0.943854 5.53061 +41 2.43 0.708807 5.83673 +42 2.49 0.810072 6.20408 +43 2.55 1.20151 6.77551 +44 2.61 1.18787 7.36735 +45 2.67 1.40907 8.10204 +46 2.73 1.12318 8.71429 +47 2.79 0.967854 9.26531 +48 2.85 0.824473 9.7551 +49 2.91 0.790826 10.2449 +50 2.97 0.790831 10.7551 +104450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 1.47408 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 0.853865 0.285714 +18 1.05 0.253031 0.306122 +19 1.11 0.90569 0.387755 +20 1.17 0.6114 0.44898 +21 1.23 0.922029 0.55102 +22 1.29 1.00592 0.673469 +23 1.35 0.459254 0.734694 +24 1.41 0.842013 0.857143 +25 1.47 0.645574 0.959184 +26 1.53 1.43026 1.20408 +27 1.59 1.43472 1.46939 +28 1.65 1.53726 1.77551 +29 1.71 0.667932 1.91837 +30 1.77 0.979661 2.14286 +31 1.83 0.833163 2.34694 +32 1.89 1.17166 2.65306 +33 1.95 1.0273 2.93878 +34 2.01 1.03595 3.2449 +35 2.07 0.846532 3.5102 +36 2.13 1.10702 3.87755 +37 2.19 0.698131 4.12245 +38 2.25 0.771629 4.40816 +39 2.31 0.575195 4.63265 +40 2.37 0.99353 5.04082 +41 2.43 1.2286 5.57143 +42 2.49 0.765068 5.91837 +43 2.55 1.02987 6.40816 +44 2.61 1.14691 6.97959 +45 2.67 0.978521 7.4898 +46 2.73 1.01086 8.04082 +47 2.79 0.860314 8.53061 +48 2.85 0.721414 8.95918 +49 2.91 0.955581 9.55102 +50 2.97 1.10716 10.2653 +104500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0 0.102041 +14 0.81 0 0.102041 +15 0.87 1.47408 0.183673 +16 0.93 2.25763 0.326531 +17 0.99 1.13849 0.408163 +18 1.05 0.759094 0.469388 +19 1.11 0.90569 0.55102 +20 1.17 0.2038 0.571429 +21 1.23 0.553218 0.632653 +22 1.29 0.670615 0.714286 +23 1.35 0.765424 0.816327 +24 1.41 0.701677 0.918367 +25 1.47 0.903804 1.06122 +26 1.53 0.953504 1.22449 +27 1.59 1.10363 1.42857 +28 1.65 0.922354 1.61224 +29 1.71 0.763351 1.77551 +30 1.77 1.06872 2.02041 +31 1.83 1.16643 2.30612 +32 1.89 0.859219 2.53061 +33 1.95 0.587026 2.69388 +34 2.01 0.828758 2.93878 +35 2.07 1.04189 3.26531 +36 2.13 1.10702 3.63265 +37 2.19 1.0472 4 +38 2.25 0.992094 4.36735 +39 2.31 1.0981 4.79592 +40 2.37 0.894177 5.16327 +41 2.43 0.850568 5.53061 +42 2.49 1.21511 6.08163 +43 2.55 1.1586 6.63265 +44 2.61 0.737299 7 +45 2.67 1.13508 7.59184 +46 2.73 0.786226 8.02041 +47 2.79 1.18293 8.69388 +48 2.85 0.961885 9.26531 +49 2.91 1.08739 9.93878 +50 2.97 0.98063 10.5714 +104550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0.368519 0.163265 +16 0.93 1.29007 0.244898 +17 0.99 0.569243 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 1.13211 0.469388 +20 1.17 0.8152 0.55102 +21 1.23 0.922029 0.653061 +22 1.29 0.502961 0.714286 +23 1.35 1.07159 0.857143 +24 1.41 1.12268 1.02041 +25 1.47 1.16203 1.20408 +26 1.53 1.07269 1.38776 +27 1.59 0.551817 1.4898 +28 1.65 1.53726 1.79592 +29 1.71 0.477094 1.89796 +30 1.77 1.3359 2.20408 +31 1.83 0.999796 2.44898 +32 1.89 1.4841 2.83673 +33 1.95 0.587026 3 +34 2.01 1.10501 3.32653 +35 2.07 0.846532 3.59184 +36 2.13 1.35303 4.04082 +37 2.19 0.930841 4.36735 +38 2.25 1.15744 4.79592 +39 2.31 1.04581 5.20408 +40 2.37 1.39094 5.77551 +41 2.43 0.850568 6.14286 +42 2.49 0.855076 6.53061 +43 2.55 0.986958 7 +44 2.61 1.06499 7.53061 +45 2.67 1.29165 8.20408 +46 2.73 1.12318 8.81633 +47 2.79 1.07539 9.42857 +48 2.85 0.893179 9.95918 +49 2.91 1.15329 10.6735 +50 2.97 0.88573 11.2449 +104600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.14319 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.7572 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 0.425111 0.183673 +15 0.87 0.368519 0.204082 +16 0.93 1.61259 0.306122 +17 0.99 1.42311 0.408163 +18 1.05 2.02425 0.571429 +19 1.11 0.452845 0.612245 +20 1.17 0.4076 0.653061 +21 1.23 0.184406 0.673469 +22 1.29 1.67654 0.877551 +23 1.35 0.765424 0.979592 +24 1.41 1.12268 1.14286 +25 1.47 0.903804 1.28571 +26 1.53 0.953504 1.44898 +27 1.59 0.882908 1.61224 +28 1.65 0.307451 1.67347 +29 1.71 1.24045 1.93878 +30 1.77 0.71248 2.10204 +31 1.83 1.58301 2.4898 +32 1.89 1.79655 2.95918 +33 1.95 1.10067 3.26531 +34 2.01 1.17407 3.61224 +35 2.07 1.04189 3.93878 +36 2.13 1.29152 4.36735 +37 2.19 0.756309 4.63265 +38 2.25 0.771629 4.91837 +39 2.31 0.941229 5.28571 +40 2.37 1.19224 5.77551 +41 2.43 1.03958 6.22449 +42 2.49 1.39512 6.85714 +43 2.55 0.858224 7.26531 +44 2.61 1.31075 7.91837 +45 2.67 0.978521 8.42857 +46 2.73 0.973423 8.95918 +47 2.79 1.0037 9.53061 +48 2.85 1.20236 10.2449 +49 2.91 0.988533 10.8571 +50 2.97 1.20206 11.6327 +104650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 1.98325 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0 0.244898 +17 0.99 1.13849 0.326531 +18 1.05 1.51819 0.44898 +19 1.11 1.35853 0.571429 +20 1.17 1.4266 0.714286 +21 1.23 0.737623 0.795918 +22 1.29 1.67654 1 +23 1.35 0.918509 1.12245 +24 1.41 1.40335 1.32653 +25 1.47 0.387344 1.38776 +26 1.53 0.953504 1.55102 +27 1.59 1.43472 1.81633 +28 1.65 1.12732 2.04082 +29 1.71 1.24045 2.30612 +30 1.77 1.51402 2.65306 +31 1.83 1.24974 2.95918 +32 1.89 1.40599 3.32653 +33 1.95 0.880539 3.57143 +34 2.01 0.345316 3.67347 +35 2.07 1.107 4.02041 +36 2.13 1.10702 4.38776 +37 2.19 1.16355 4.79592 +38 2.25 1.26768 5.26531 +39 2.31 1.20268 5.73469 +40 2.37 1.09288 6.18367 +41 2.43 1.13409 6.67347 +42 2.49 1.53014 7.36735 +43 2.55 1.11569 7.89796 +44 2.61 1.31075 8.55102 +45 2.67 0.90024 9.02041 +46 2.73 1.08574 9.61224 +47 2.79 0.860314 10.102 +48 2.85 0.893179 10.6327 +49 2.91 0.988533 11.2449 +50 2.97 1.55003 12.2449 +104700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 1.99235 0.387755 +18 1.05 0.759094 0.44898 +19 1.11 1.35853 0.571429 +20 1.17 1.6304 0.734694 +21 1.23 1.10644 0.857143 +22 1.29 0.838269 0.959184 +23 1.35 2.14319 1.2449 +24 1.41 1.26302 1.42857 +25 1.47 1.67849 1.69388 +26 1.53 1.90701 2.02041 +27 1.59 0.882908 2.18367 +28 1.65 1.12732 2.40816 +29 1.71 0.572513 2.53061 +30 1.77 0.71248 2.69388 +31 1.83 1.08311 2.95918 +32 1.89 1.09355 3.2449 +33 1.95 1.17405 3.57143 +34 2.01 1.45033 4 +35 2.07 1.17212 4.36735 +36 2.13 1.23002 4.77551 +37 2.19 1.22173 5.20408 +38 2.25 0.551163 5.40816 +39 2.31 1.25497 5.89796 +40 2.37 1.04321 6.32653 +41 2.43 0.850568 6.69388 +42 2.49 0.945085 7.12245 +43 2.55 0.986958 7.59184 +44 2.61 1.31075 8.2449 +45 2.67 1.13508 8.83673 +46 2.73 1.4227 9.61224 +47 2.79 0.967854 10.1633 +48 2.85 1.0993 10.8163 +49 2.91 1.25214 11.5918 +50 2.97 1.20206 12.3673 +104750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 2.55067 0.22449 +15 0.87 0.737039 0.265306 +16 0.93 1.61259 0.367347 +17 0.99 0.853865 0.428571 +18 1.05 1.26516 0.530612 +19 1.11 1.58496 0.673469 +20 1.17 0.8152 0.755102 +21 1.23 0.737623 0.836735 +22 1.29 0.670615 0.918367 +23 1.35 1.53085 1.12245 +24 1.41 0.701677 1.22449 +25 1.47 1.29115 1.42857 +26 1.53 0.834316 1.57143 +27 1.59 1.76582 1.89796 +28 1.65 1.12732 2.12245 +29 1.71 0.572513 2.2449 +30 1.77 0.80154 2.42857 +31 1.83 0.916479 2.65306 +32 1.89 0.859219 2.87755 +33 1.95 0.807161 3.10204 +34 2.01 1.79564 3.63265 +35 2.07 1.23724 4.02041 +36 2.13 0.369007 4.14286 +37 2.19 0.989019 4.4898 +38 2.25 1.10233 4.89796 +39 2.31 1.20268 5.36735 +40 2.37 1.58965 6.02041 +41 2.43 1.18134 6.53061 +42 2.49 1.21511 7.08163 +43 2.55 0.944046 7.53061 +44 2.61 0.983065 8.02041 +45 2.67 1.01766 8.55102 +46 2.73 0.898544 9.04082 +47 2.79 0.824468 9.5102 +48 2.85 1.61459 10.4694 +49 2.91 1.31804 11.2857 +50 2.97 1.17043 12.0408 +104800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 1.70044 0.22449 +15 0.87 0.737039 0.265306 +16 0.93 1.93511 0.387755 +17 0.99 1.99235 0.530612 +18 1.05 1.01213 0.612245 +19 1.11 0.679267 0.673469 +20 1.17 1.2228 0.795918 +21 1.23 1.10644 0.918367 +22 1.29 1.17358 1.06122 +23 1.35 0.918509 1.18367 +24 1.41 0.561342 1.26531 +25 1.47 1.16203 1.44898 +26 1.53 1.43026 1.69388 +27 1.59 1.54509 1.97959 +28 1.65 0.922354 2.16327 +29 1.71 0.85877 2.34694 +30 1.77 1.06872 2.59184 +31 1.83 1.24974 2.89796 +32 1.89 1.01544 3.16327 +33 1.95 1.10067 3.46939 +34 2.01 0.966885 3.7551 +35 2.07 1.43259 4.20408 +36 2.13 1.41453 4.67347 +37 2.19 0.639953 4.89796 +38 2.25 1.26768 5.36735 +39 2.31 0.784357 5.67347 +40 2.37 1.24191 6.18367 +41 2.43 1.13409 6.67347 +42 2.49 1.0801 7.16327 +43 2.55 0.600757 7.44898 +44 2.61 0.77826 7.83673 +45 2.67 1.21337 8.46939 +46 2.73 0.935984 8.97959 +47 2.79 1.25463 9.69388 +48 2.85 0.755767 10.1429 +49 2.91 1.15329 10.8571 +50 2.97 1.01226 11.5102 +104850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 0 0.102041 +13 0.75 1.98325 0.183673 +14 0.81 0.850222 0.22449 +15 0.87 1.10556 0.285714 +16 0.93 1.29007 0.367347 +17 0.99 0.569243 0.408163 +18 1.05 0.759094 0.469388 +19 1.11 0.679267 0.530612 +20 1.17 0.6114 0.591837 +21 1.23 0.922029 0.693878 +22 1.29 0.838269 0.795918 +23 1.35 1.22468 0.959184 +24 1.41 1.54369 1.18367 +25 1.47 1.42026 1.40816 +26 1.53 0.834316 1.55102 +27 1.59 0.662181 1.67347 +28 1.65 0.717387 1.81633 +29 1.71 0.954189 2.02041 +30 1.77 0.979661 2.2449 +31 1.83 0.749847 2.42857 +32 1.89 0.937329 2.67347 +33 1.95 0.880539 2.91837 +34 2.01 1.17407 3.26531 +35 2.07 1.43259 3.71429 +36 2.13 0.984018 4.04082 +37 2.19 1.27991 4.4898 +38 2.25 1.15744 4.91837 +39 2.31 1.25497 5.40816 +40 2.37 0.745148 5.71429 +41 2.43 0.75606 6.04082 +42 2.49 0.810072 6.40816 +43 2.55 1.07278 6.91837 +44 2.61 1.14691 7.4898 +45 2.67 1.13508 8.08163 +46 2.73 0.861105 8.55102 +47 2.79 1.03955 9.14286 +48 2.85 0.927532 9.69388 +49 2.91 0.988533 10.3061 +50 2.97 0.88573 10.8776 +104900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 1.48744 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 1.93511 0.346939 +17 0.99 1.13849 0.428571 +18 1.05 0.759094 0.489796 +19 1.11 1.35853 0.612245 +20 1.17 0.2038 0.632653 +21 1.23 1.10644 0.755102 +22 1.29 0.335308 0.795918 +23 1.35 0.459254 0.857143 +24 1.41 1.40335 1.06122 +25 1.47 0.645574 1.16327 +26 1.53 1.43026 1.40816 +27 1.59 0.993271 1.59184 +28 1.65 1.02484 1.79592 +29 1.71 1.43128 2.10204 +30 1.77 0.890601 2.30612 +31 1.83 0.833163 2.5102 +32 1.89 0.781108 2.71429 +33 1.95 0.880539 2.95918 +34 2.01 1.03595 3.26531 +35 2.07 1.04189 3.59184 +36 2.13 0.922517 3.89796 +37 2.19 1.27991 4.34694 +38 2.25 0.936978 4.69388 +39 2.31 1.0981 5.12245 +40 2.37 1.04321 5.55102 +41 2.43 0.897822 5.93878 +42 2.49 0.720064 6.26531 +43 2.55 0.686579 6.59184 +44 2.61 0.983065 7.08163 +45 2.67 1.17423 7.69388 +46 2.73 1.08574 8.28571 +47 2.79 0.860314 8.77551 +48 2.85 0.927532 9.32653 +49 2.91 0.955581 9.91837 +50 2.97 0.88573 10.4898 +104950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 0.322518 0.22449 +17 0.99 0.853865 0.285714 +18 1.05 0.759094 0.346939 +19 1.11 1.13211 0.44898 +20 1.17 0 0.44898 +21 1.23 1.10644 0.571429 +22 1.29 1.17358 0.714286 +23 1.35 1.22468 0.877551 +24 1.41 0.421006 0.938776 +25 1.47 0.774689 1.06122 +26 1.53 1.07269 1.2449 +27 1.59 0.551817 1.34694 +28 1.65 0.819871 1.5102 +29 1.71 1.5267 1.83673 +30 1.77 0.4453 1.93878 +31 1.83 0.916479 2.16327 +32 1.89 0.702997 2.34694 +33 1.95 0.880539 2.59184 +34 2.01 0.690632 2.79592 +35 2.07 1.23724 3.18367 +36 2.13 1.23002 3.59184 +37 2.19 0.698131 3.83673 +38 2.25 0.992094 4.20408 +39 2.31 1.25497 4.69388 +40 2.37 0.844501 5.04082 +41 2.43 0.850568 5.40816 +42 2.49 1.0801 5.89796 +43 2.55 0.858224 6.30612 +44 2.61 1.26979 6.93878 +45 2.67 1.13508 7.53061 +46 2.73 1.0483 8.10204 +47 2.79 0.967854 8.65306 +48 2.85 1.06494 9.28571 +49 2.91 0.955581 9.87755 +50 2.97 0.790831 10.3878 +105000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 1.10556 0.163265 +16 0.93 1.61259 0.265306 +17 0.99 0.853865 0.326531 +18 1.05 0.253031 0.346939 +19 1.11 0.90569 0.428571 +20 1.17 0.6114 0.489796 +21 1.23 0.737623 0.571429 +22 1.29 0.502961 0.632653 +23 1.35 1.07159 0.77551 +24 1.41 1.54369 1 +25 1.47 0.774689 1.12245 +26 1.53 0.834316 1.26531 +27 1.59 0.772544 1.40816 +28 1.65 0.307451 1.46939 +29 1.71 1.90838 1.87755 +30 1.77 0.80154 2.06122 +31 1.83 0.749847 2.2449 +32 1.89 0.859219 2.46939 +33 1.95 0.587026 2.63265 +34 2.01 1.72658 3.14286 +35 2.07 0.586061 3.32653 +36 2.13 0.738014 3.57143 +37 2.19 0.989019 3.91837 +38 2.25 1.04721 4.30612 +39 2.31 1.04581 4.71429 +40 2.37 0.645795 4.97959 +41 2.43 0.992329 5.40816 +42 2.49 0.540048 5.65306 +43 2.55 1.07278 6.16327 +44 2.61 1.26979 6.79592 +45 2.67 1.09594 7.36735 +46 2.73 0.861105 7.83673 +47 2.79 1.21878 8.53061 +48 2.85 1.03059 9.14286 +49 2.91 1.31804 9.95918 +50 2.97 1.01226 10.6122 +105050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 0 0.0204082 +14 0.81 1.70044 0.102041 +15 0.87 2.21112 0.22449 +16 0.93 0.322518 0.244898 +17 0.99 0.284622 0.265306 +18 1.05 1.01213 0.346939 +19 1.11 0.679267 0.408163 +20 1.17 1.4266 0.55102 +21 1.23 0.184406 0.571429 +22 1.29 1.17358 0.714286 +23 1.35 0.765424 0.816327 +24 1.41 0.842013 0.938776 +25 1.47 0.516459 1.02041 +26 1.53 0.834316 1.16327 +27 1.59 1.214 1.38776 +28 1.65 1.74223 1.73469 +29 1.71 0.572513 1.85714 +30 1.77 1.15778 2.12245 +31 1.83 0.499898 2.2449 +32 1.89 1.17166 2.55102 +33 1.95 0.807161 2.77551 +34 2.01 1.10501 3.10204 +35 2.07 1.04189 3.42857 +36 2.13 0.799515 3.69388 +37 2.19 0.872664 4 +38 2.25 0.826745 4.30612 +39 2.31 1.15039 4.7551 +40 2.37 1.39094 5.32653 +41 2.43 0.75606 5.65306 +42 2.49 0.720064 5.97959 +43 2.55 1.5448 6.71429 +44 2.61 0.942104 7.18367 +45 2.67 0.90024 7.65306 +46 2.73 0.973423 8.18367 +47 2.79 0.967854 8.73469 +48 2.85 0.893179 9.26531 +49 2.91 1.15329 9.97959 +50 2.97 0.759197 10.4694 +105100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 1.47408 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 0.853865 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 1.13211 0.469388 +20 1.17 1.2228 0.591837 +21 1.23 0.553218 0.653061 +22 1.29 1.17358 0.795918 +23 1.35 0.612339 0.877551 +24 1.41 0.421006 0.938776 +25 1.47 1.29115 1.14286 +26 1.53 0.834316 1.28571 +27 1.59 1.54509 1.57143 +28 1.65 0.614903 1.69388 +29 1.71 1.14503 1.93878 +30 1.77 0.71248 2.10204 +31 1.83 1.08311 2.36735 +32 1.89 1.40599 2.73469 +33 1.95 0.513648 2.87755 +34 2.01 0.897822 3.14286 +35 2.07 1.62795 3.65306 +36 2.13 1.10702 4.02041 +37 2.19 1.22173 4.44898 +38 2.25 1.26768 4.91837 +39 2.31 0.888938 5.26531 +40 2.37 0.844501 5.61224 +41 2.43 1.2286 6.14286 +42 2.49 1.0801 6.63265 +43 2.55 1.20151 7.20408 +44 2.61 0.737299 7.57143 +45 2.67 0.93938 8.06122 +46 2.73 0.935984 8.57143 +47 2.79 1.07539 9.18367 +48 2.85 0.824473 9.67347 +49 2.91 0.757875 10.1429 +50 2.97 1.10716 10.8571 +105150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 1.29007 0.22449 +17 0.99 1.13849 0.306122 +18 1.05 0.506063 0.346939 +19 1.11 1.35853 0.469388 +20 1.17 0 0.469388 +21 1.23 0.553218 0.530612 +22 1.29 1.67654 0.734694 +23 1.35 1.22468 0.897959 +24 1.41 1.12268 1.06122 +25 1.47 0.903804 1.20408 +26 1.53 0.834316 1.34694 +27 1.59 0.993271 1.53061 +28 1.65 1.53726 1.83673 +29 1.71 0.667932 1.97959 +30 1.77 1.06872 2.22449 +31 1.83 0.749847 2.40816 +32 1.89 1.40599 2.77551 +33 1.95 1.0273 3.06122 +34 2.01 0.828758 3.30612 +35 2.07 0.781414 3.55102 +36 2.13 1.16852 3.93878 +37 2.19 0.872664 4.2449 +38 2.25 0.881861 4.57143 +39 2.31 0.941229 4.93878 +40 2.37 1.39094 5.5102 +41 2.43 0.945075 5.91837 +42 2.49 0.855076 6.30612 +43 2.55 1.11569 6.83673 +44 2.61 1.26979 7.46939 +45 2.67 1.01766 8 +46 2.73 1.16062 8.63265 +47 2.79 1.07539 9.2449 +48 2.85 0.824473 9.73469 +49 2.91 1.08739 10.4082 +50 2.97 0.948997 11.0204 +105200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 2.92866 0.163265 +13 0.75 1.98325 0.244898 +14 0.81 0.425111 0.265306 +15 0.87 0.737039 0.306122 +16 0.93 0.322518 0.326531 +17 0.99 1.42311 0.428571 +18 1.05 1.01213 0.510204 +19 1.11 0.452845 0.55102 +20 1.17 0.2038 0.571429 +21 1.23 1.10644 0.693878 +22 1.29 0.502961 0.755102 +23 1.35 1.37776 0.938776 +24 1.41 0.701677 1.04082 +25 1.47 0.645574 1.14286 +26 1.53 1.07269 1.32653 +27 1.59 0.993271 1.5102 +28 1.65 0.717387 1.65306 +29 1.71 0.85877 1.83673 +30 1.77 1.24684 2.12245 +31 1.83 0.916479 2.34694 +32 1.89 1.32788 2.69388 +33 1.95 1.0273 2.97959 +34 2.01 0.828758 3.22449 +35 2.07 1.30236 3.63265 +36 2.13 1.29152 4.06122 +37 2.19 0.756309 4.32653 +38 2.25 0.936978 4.67347 +39 2.31 0.836648 5 +40 2.37 1.04321 5.42857 +41 2.43 0.897822 5.81633 +42 2.49 1.1251 6.32653 +43 2.55 0.815313 6.71429 +44 2.61 0.737299 7.08163 +45 2.67 1.29165 7.7551 +46 2.73 1.19806 8.40816 +47 2.79 1.14709 9.06122 +48 2.85 0.893179 9.59184 +49 2.91 0.92263 10.1633 +50 2.97 0.98063 10.7959 +105250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 1.7572 0.142857 +13 0.75 0 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 1.47408 0.285714 +16 0.93 0.645037 0.326531 +17 0.99 1.13849 0.408163 +18 1.05 0.759094 0.469388 +19 1.11 0.679267 0.530612 +20 1.17 0.8152 0.612245 +21 1.23 0.922029 0.714286 +22 1.29 1.17358 0.857143 +23 1.35 0.612339 0.938776 +24 1.41 0.140335 0.959184 +25 1.47 0.516459 1.04082 +26 1.53 1.07269 1.22449 +27 1.59 1.214 1.44898 +28 1.65 0.614903 1.57143 +29 1.71 0.667932 1.71429 +30 1.77 0.62342 1.85714 +31 1.83 0.999796 2.10204 +32 1.89 0.781108 2.30612 +33 1.95 1.46757 2.71429 +34 2.01 0.690632 2.91837 +35 2.07 0.91165 3.20408 +36 2.13 1.29152 3.63265 +37 2.19 0.814486 3.91837 +38 2.25 1.37791 4.42857 +39 2.31 1.30726 4.93878 +40 2.37 1.04321 5.36735 +41 2.43 0.945075 5.77551 +42 2.49 0.855076 6.16327 +43 2.55 1.07278 6.67347 +44 2.61 1.06499 7.20408 +45 2.67 1.29165 7.87755 +46 2.73 1.27294 8.57143 +47 2.79 0.824468 9.04082 +48 2.85 0.927532 9.59184 +49 2.91 0.955581 10.1837 +50 2.97 0.917363 10.7755 +105300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 1.8426 0.244898 +16 0.93 0.645037 0.285714 +17 0.99 0.284622 0.306122 +18 1.05 1.01213 0.387755 +19 1.11 0.226422 0.408163 +20 1.17 1.6304 0.571429 +21 1.23 0.922029 0.673469 +22 1.29 0.335308 0.714286 +23 1.35 0.765424 0.816327 +24 1.41 0.280671 0.857143 +25 1.47 0.387344 0.918367 +26 1.53 0.715128 1.04082 +27 1.59 0.772544 1.18367 +28 1.65 1.02484 1.38776 +29 1.71 0.85877 1.57143 +30 1.77 1.51402 1.91837 +31 1.83 1.16643 2.20408 +32 1.89 0.937329 2.44898 +33 1.95 0.880539 2.69388 +34 2.01 0.828758 2.93878 +35 2.07 1.17212 3.30612 +36 2.13 0.922517 3.61224 +37 2.19 1.16355 4.02041 +38 2.25 1.32279 4.5102 +39 2.31 0.732067 4.79592 +40 2.37 0.943854 5.18367 +41 2.43 1.32311 5.7551 +42 2.49 0.855076 6.14286 +43 2.55 1.11569 6.67347 +44 2.61 0.860182 7.10204 +45 2.67 0.978521 7.61224 +46 2.73 1.12318 8.22449 +47 2.79 0.967854 8.77551 +48 2.85 0.79012 9.2449 +49 2.91 0.988533 9.85714 +50 2.97 0.88573 10.4286 +105350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0.368519 0.163265 +16 0.93 1.29007 0.244898 +17 0.99 1.13849 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 0.90569 0.469388 +20 1.17 0 0.469388 +21 1.23 1.47525 0.632653 +22 1.29 0.838269 0.734694 +23 1.35 0.765424 0.836735 +24 1.41 0.421006 0.897959 +25 1.47 1.16203 1.08163 +26 1.53 1.43026 1.32653 +27 1.59 0.33109 1.38776 +28 1.65 0.512419 1.4898 +29 1.71 0.667932 1.63265 +30 1.77 0.890601 1.83673 +31 1.83 0.916479 2.06122 +32 1.89 1.01544 2.32653 +33 1.95 0.880539 2.57143 +34 2.01 1.10501 2.89796 +35 2.07 1.107 3.2449 +36 2.13 0.861016 3.53061 +37 2.19 0.581776 3.73469 +38 2.25 1.10233 4.14286 +39 2.31 0.784357 4.44898 +40 2.37 0.794824 4.77551 +41 2.43 1.13409 5.26531 +42 2.49 1.48513 5.93878 +43 2.55 1.02987 6.42857 +44 2.61 0.737299 6.79592 +45 2.67 1.01766 7.32653 +46 2.73 1.16062 7.95918 +47 2.79 1.0037 8.53061 +48 2.85 0.858826 9.04082 +49 2.91 0.988533 9.65306 +50 2.97 1.0439 10.3265 +105400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.7572 0.0816327 +13 0.75 0 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 0.322518 0.22449 +17 0.99 0.853865 0.285714 +18 1.05 0.253031 0.306122 +19 1.11 1.35853 0.428571 +20 1.17 0.2038 0.44898 +21 1.23 0.922029 0.55102 +22 1.29 0.670615 0.632653 +23 1.35 0.459254 0.693878 +24 1.41 0.982348 0.836735 +25 1.47 0.645574 0.938776 +26 1.53 0.59594 1.04082 +27 1.59 0.772544 1.18367 +28 1.65 0.922354 1.36735 +29 1.71 1.04961 1.59184 +30 1.77 1.7812 2 +31 1.83 0.916479 2.22449 +32 1.89 1.09355 2.5102 +33 1.95 1.46757 2.91837 +34 2.01 1.03595 3.22449 +35 2.07 0.91165 3.5102 +36 2.13 0.861016 3.79592 +37 2.19 0.930841 4.12245 +38 2.25 1.32279 4.61224 +39 2.31 1.04581 5.02041 +40 2.37 1.04321 5.44898 +41 2.43 0.567045 5.69388 +42 2.49 1.53014 6.38776 +43 2.55 1.11569 6.91837 +44 2.61 0.655377 7.2449 +45 2.67 0.978521 7.7551 +46 2.73 0.973423 8.28571 +47 2.79 1.25463 9 +48 2.85 0.858826 9.5102 +49 2.91 1.05443 10.1633 +50 2.97 0.854097 10.7143 +105450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 2.10758 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0 0.0816327 +14 0.81 1.70044 0.163265 +15 0.87 2.21112 0.285714 +16 0.93 0.967555 0.346939 +17 0.99 1.13849 0.428571 +18 1.05 0 0.428571 +19 1.11 1.35853 0.55102 +20 1.17 0.8152 0.632653 +21 1.23 0.553218 0.693878 +22 1.29 0.670615 0.77551 +23 1.35 1.07159 0.918367 +24 1.41 0.701677 1.02041 +25 1.47 1.29115 1.22449 +26 1.53 1.43026 1.46939 +27 1.59 1.10363 1.67347 +28 1.65 0.922354 1.85714 +29 1.71 0.85877 2.04082 +30 1.77 1.06872 2.28571 +31 1.83 0.999796 2.53061 +32 1.89 0.859219 2.7551 +33 1.95 0.660405 2.93878 +34 2.01 0.690632 3.14286 +35 2.07 0.846532 3.40816 +36 2.13 0.984018 3.73469 +37 2.19 0.523598 3.91837 +38 2.25 1.37791 4.42857 +39 2.31 0.993519 4.81633 +40 2.37 1.24191 5.32653 +41 2.43 1.08684 5.79592 +42 2.49 0.900081 6.20408 +43 2.55 0.815313 6.59184 +44 2.61 1.31075 7.2449 +45 2.67 0.782817 7.65306 +46 2.73 0.823666 8.10204 +47 2.79 1.11124 8.73469 +48 2.85 1.06494 9.36735 +49 2.91 1.15329 10.0816 +50 2.97 0.822464 10.6122 +105500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0 0.0816327 +14 0.81 1.70044 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 1.29007 0.306122 +17 0.99 1.13849 0.387755 +18 1.05 1.01213 0.469388 +19 1.11 0.90569 0.55102 +20 1.17 0.4076 0.591837 +21 1.23 0.922029 0.693878 +22 1.29 1.17358 0.836735 +23 1.35 0.612339 0.918367 +24 1.41 1.12268 1.08163 +25 1.47 1.16203 1.26531 +26 1.53 0.715128 1.38776 +27 1.59 0.772544 1.53061 +28 1.65 0.819871 1.69388 +29 1.71 1.14503 1.93878 +30 1.77 1.06872 2.18367 +31 1.83 0.999796 2.42857 +32 1.89 1.24977 2.7551 +33 1.95 1.61432 3.20408 +34 2.01 0.828758 3.44898 +35 2.07 0.716296 3.67347 +36 2.13 0.861016 3.95918 +37 2.19 0.756309 4.22449 +38 2.25 1.21256 4.67347 +39 2.31 0.836648 5 +40 2.37 0.745148 5.30612 +41 2.43 1.08684 5.77551 +42 2.49 1.03509 6.2449 +43 2.55 0.643668 6.55102 +44 2.61 0.942104 7.02041 +45 2.67 0.743676 7.40816 +46 2.73 0.861105 7.87755 +47 2.79 1.18293 8.55102 +48 2.85 1.13365 9.22449 +49 2.91 1.35099 10.0612 +50 2.97 1.07553 10.7551 +105550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.7572 0.0816327 +13 0.75 0 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 1.42311 0.306122 +18 1.05 1.51819 0.428571 +19 1.11 0.226422 0.44898 +20 1.17 1.2228 0.571429 +21 1.23 0.922029 0.673469 +22 1.29 0.670615 0.755102 +23 1.35 0.765424 0.857143 +24 1.41 0.842013 0.979592 +25 1.47 1.16203 1.16327 +26 1.53 0.834316 1.30612 +27 1.59 0.882908 1.46939 +28 1.65 1.12732 1.69388 +29 1.71 0.667932 1.83673 +30 1.77 0.71248 2 +31 1.83 1.41638 2.34694 +32 1.89 1.01544 2.61224 +33 1.95 0.660405 2.79592 +34 2.01 0.552506 2.95918 +35 2.07 1.30236 3.36735 +36 2.13 0.922517 3.67347 +37 2.19 1.22173 4.10204 +38 2.25 0.716512 4.36735 +39 2.31 1.0981 4.79592 +40 2.37 0.844501 5.14286 +41 2.43 0.850568 5.5102 +42 2.49 1.0801 6 +43 2.55 0.858224 6.40816 +44 2.61 0.819221 6.81633 +45 2.67 0.978521 7.32653 +46 2.73 1.08574 7.91837 +47 2.79 1.50555 8.77551 +48 2.85 1.47718 9.65306 +49 2.91 1.15329 10.3673 +50 2.97 1.10716 11.0816 +105600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.991624 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 1.47408 0.285714 +16 0.93 1.29007 0.367347 +17 0.99 1.13849 0.44898 +18 1.05 0.253031 0.469388 +19 1.11 1.35853 0.591837 +20 1.17 0.8152 0.673469 +21 1.23 0.184406 0.693878 +22 1.29 0.502961 0.755102 +23 1.35 0.459254 0.816327 +24 1.41 1.26302 1 +25 1.47 0.516459 1.08163 +26 1.53 0.59594 1.18367 +27 1.59 0.772544 1.32653 +28 1.65 0.717387 1.46939 +29 1.71 0.763351 1.63265 +30 1.77 1.06872 1.87755 +31 1.83 0.583214 2.02041 +32 1.89 1.09355 2.30612 +33 1.95 0.953918 2.57143 +34 2.01 0.966885 2.85714 +35 2.07 0.846532 3.12245 +36 2.13 0.738014 3.36735 +37 2.19 0.989019 3.71429 +38 2.25 1.10233 4.12245 +39 2.31 0.993519 4.5102 +40 2.37 1.29159 5.04082 +41 2.43 1.03958 5.4898 +42 2.49 1.39512 6.12245 +43 2.55 1.11569 6.65306 +44 2.61 1.06499 7.18367 +45 2.67 1.29165 7.85714 +46 2.73 0.898544 8.34694 +47 2.79 1.07539 8.95918 +48 2.85 0.893179 9.4898 +49 2.91 0.856728 10.0204 +50 2.97 1.1388 10.7551 +105650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 0 0.22449 +17 0.99 0.569243 0.265306 +18 1.05 1.26516 0.367347 +19 1.11 0.452845 0.408163 +20 1.17 1.2228 0.530612 +21 1.23 1.29084 0.673469 +22 1.29 0.335308 0.714286 +23 1.35 0.765424 0.816327 +24 1.41 0.982348 0.959184 +25 1.47 0.774689 1.08163 +26 1.53 0.59594 1.18367 +27 1.59 0.993271 1.36735 +28 1.65 1.12732 1.59184 +29 1.71 1.14503 1.83673 +30 1.77 0.71248 2 +31 1.83 0.999796 2.2449 +32 1.89 1.17166 2.55102 +33 1.95 0.880539 2.79592 +34 2.01 1.17407 3.14286 +35 2.07 0.716296 3.36735 +36 2.13 0.492009 3.53061 +37 2.19 1.16355 3.93878 +38 2.25 1.10233 4.34694 +39 2.31 0.993519 4.73469 +40 2.37 1.19224 5.22449 +41 2.43 1.18134 5.73469 +42 2.49 0.900081 6.14286 +43 2.55 0.901135 6.57143 +44 2.61 0.819221 6.97959 +45 2.67 1.40907 7.71429 +46 2.73 1.01086 8.26531 +47 2.79 0.896161 8.77551 +48 2.85 0.893179 9.30612 +49 2.91 0.988533 9.91837 +50 2.97 0.759197 10.4082 +105700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0.991624 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 2.21112 0.285714 +16 0.93 0.645037 0.326531 +17 0.99 1.13849 0.408163 +18 1.05 1.51819 0.530612 +19 1.11 0.452845 0.571429 +20 1.17 0.6114 0.632653 +21 1.23 0.553218 0.693878 +22 1.29 1.00592 0.816327 +23 1.35 0.612339 0.897959 +24 1.41 0.842013 1.02041 +25 1.47 1.29115 1.22449 +26 1.53 1.43026 1.46939 +27 1.59 0.662181 1.59184 +28 1.65 0.819871 1.7551 +29 1.71 1.04961 1.97959 +30 1.77 0.979661 2.20408 +31 1.83 0.916479 2.42857 +32 1.89 0.781108 2.63265 +33 1.95 0.880539 2.87755 +34 2.01 0.897822 3.14286 +35 2.07 0.976768 3.44898 +36 2.13 0.861016 3.73469 +37 2.19 0.930841 4.06122 +38 2.25 1.15744 4.4898 +39 2.31 0.941229 4.85714 +40 2.37 0.745148 5.16327 +41 2.43 1.32311 5.73469 +42 2.49 1.26011 6.30612 +43 2.55 0.901135 6.73469 +44 2.61 0.942104 7.20408 +45 2.67 0.93938 7.69388 +46 2.73 0.935984 8.20408 +47 2.79 1.07539 8.81633 +48 2.85 1.168 9.5102 +49 2.91 1.12034 10.2041 +50 2.97 0.854097 10.7551 +105750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 2.12556 0.183673 +15 0.87 0.368519 0.204082 +16 0.93 1.29007 0.285714 +17 0.99 1.42311 0.387755 +18 1.05 1.01213 0.469388 +19 1.11 0.452845 0.510204 +20 1.17 0.4076 0.55102 +21 1.23 0.922029 0.653061 +22 1.29 1.17358 0.795918 +23 1.35 0.918509 0.918367 +24 1.41 0.982348 1.06122 +25 1.47 1.16203 1.2449 +26 1.53 0.953504 1.40816 +27 1.59 0.772544 1.55102 +28 1.65 1.43477 1.83673 +29 1.71 0.954189 2.04082 +30 1.77 1.15778 2.30612 +31 1.83 0.916479 2.53061 +32 1.89 1.17166 2.83673 +33 1.95 0.880539 3.08163 +34 2.01 0.966885 3.36735 +35 2.07 0.781414 3.61224 +36 2.13 0.615011 3.81633 +37 2.19 0.989019 4.16327 +38 2.25 0.826745 4.46939 +39 2.31 0.993519 4.85714 +40 2.37 1.09288 5.30612 +41 2.43 0.614299 5.57143 +42 2.49 0.765068 5.91837 +43 2.55 0.944046 6.36735 +44 2.61 1.02403 6.87755 +45 2.67 0.978521 7.38776 +46 2.73 0.973423 7.91837 +47 2.79 0.932007 8.44898 +48 2.85 1.0993 9.10204 +49 2.91 1.05443 9.7551 +50 2.97 0.822464 10.2857 +105800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0 0.0816327 +15 0.87 1.47408 0.163265 +16 0.93 0.322518 0.183673 +17 0.99 1.13849 0.265306 +18 1.05 0.759094 0.326531 +19 1.11 0.90569 0.408163 +20 1.17 0.4076 0.44898 +21 1.23 0.922029 0.55102 +22 1.29 0.335308 0.591837 +23 1.35 1.07159 0.734694 +24 1.41 1.82436 1 +25 1.47 0.903804 1.14286 +26 1.53 0.953504 1.30612 +27 1.59 0.441454 1.38776 +28 1.65 1.02484 1.59184 +29 1.71 0.954189 1.79592 +30 1.77 0.979661 2.02041 +31 1.83 1.16643 2.30612 +32 1.89 0.937329 2.55102 +33 1.95 1.0273 2.83673 +34 2.01 1.10501 3.16327 +35 2.07 1.107 3.5102 +36 2.13 1.41453 3.97959 +37 2.19 1.0472 4.34694 +38 2.25 0.661396 4.59184 +39 2.31 0.836648 4.91837 +40 2.37 1.09288 5.36735 +41 2.43 0.945075 5.77551 +42 2.49 0.900081 6.18367 +43 2.55 0.772402 6.55102 +44 2.61 0.901143 7 +45 2.67 1.01766 7.53061 +46 2.73 0.935984 8.04082 +47 2.79 0.860314 8.53061 +48 2.85 0.824473 9.02041 +49 2.91 1.21919 9.77551 +50 2.97 0.759197 10.2653 +105850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 0.853865 0.265306 +18 1.05 1.01213 0.346939 +19 1.11 1.81138 0.510204 +20 1.17 1.6304 0.673469 +21 1.23 0.737623 0.755102 +22 1.29 0.670615 0.836735 +23 1.35 1.22468 1 +24 1.41 0.842013 1.12245 +25 1.47 0.774689 1.2449 +26 1.53 0.834316 1.38776 +27 1.59 0.993271 1.57143 +28 1.65 1.12732 1.79592 +29 1.71 1.24045 2.06122 +30 1.77 0.80154 2.2449 +31 1.83 0.999796 2.4898 +32 1.89 0.546775 2.63265 +33 1.95 0.807161 2.85714 +34 2.01 0.897822 3.12245 +35 2.07 0.716296 3.34694 +36 2.13 1.35303 3.79592 +37 2.19 1.22173 4.22449 +38 2.25 1.04721 4.61224 +39 2.31 0.993519 5 +40 2.37 1.14256 5.46939 +41 2.43 0.945075 5.87755 +42 2.49 0.765068 6.22449 +43 2.55 0.944046 6.67347 +44 2.61 0.860182 7.10204 +45 2.67 0.821958 7.53061 +46 2.73 1.2355 8.20408 +47 2.79 0.788621 8.65306 +48 2.85 0.824473 9.14286 +49 2.91 0.823777 9.65306 +50 2.97 1.01226 10.3061 +105900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 2.21112 0.244898 +16 0.93 1.29007 0.326531 +17 0.99 0.284622 0.346939 +18 1.05 1.01213 0.428571 +19 1.11 0.679267 0.489796 +20 1.17 1.2228 0.612245 +21 1.23 0.553218 0.673469 +22 1.29 0.167654 0.693878 +23 1.35 0.765424 0.795918 +24 1.41 0.701677 0.897959 +25 1.47 1.80761 1.18367 +26 1.53 1.07269 1.36735 +27 1.59 1.54509 1.65306 +28 1.65 0.717387 1.79592 +29 1.71 0.572513 1.91837 +30 1.77 0.62342 2.06122 +31 1.83 1.24974 2.36735 +32 1.89 0.546775 2.5102 +33 1.95 1.0273 2.79592 +34 2.01 0.828758 3.04082 +35 2.07 0.91165 3.32653 +36 2.13 0.738014 3.57143 +37 2.19 1.16355 3.97959 +38 2.25 1.37791 4.4898 +39 2.31 0.941229 4.85714 +40 2.37 1.04321 5.28571 +41 2.43 0.897822 5.67347 +42 2.49 1.03509 6.14286 +43 2.55 0.72949 6.4898 +44 2.61 1.18787 7.08163 +45 2.67 1.13508 7.67347 +46 2.73 1.19806 8.32653 +47 2.79 0.967854 8.87755 +48 2.85 0.824473 9.36735 +49 2.91 0.494266 9.67347 +50 2.97 0.727564 10.1429 +105950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.7572 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 1.47408 0.285714 +16 0.93 0.967555 0.346939 +17 0.99 0.853865 0.408163 +18 1.05 0.759094 0.469388 +19 1.11 0.90569 0.55102 +20 1.17 0.8152 0.632653 +21 1.23 0.368812 0.673469 +22 1.29 0.670615 0.755102 +23 1.35 0.765424 0.857143 +24 1.41 1.12268 1.02041 +25 1.47 1.42026 1.2449 +26 1.53 0.357564 1.30612 +27 1.59 0.662181 1.42857 +28 1.65 0.819871 1.59184 +29 1.71 1.43128 1.89796 +30 1.77 1.06872 2.14286 +31 1.83 0.66653 2.30612 +32 1.89 1.24977 2.63265 +33 1.95 1.32081 3 +34 2.01 1.03595 3.30612 +35 2.07 1.04189 3.63265 +36 2.13 1.04552 3.97959 +37 2.19 0.756309 4.2449 +38 2.25 1.10233 4.65306 +39 2.31 1.0981 5.08163 +40 2.37 0.894177 5.44898 +41 2.43 0.897822 5.83673 +42 2.49 1.1251 6.34694 +43 2.55 0.858224 6.7551 +44 2.61 1.14691 7.32653 +45 2.67 1.17423 7.93878 +46 2.73 1.19806 8.59184 +47 2.79 0.716929 9 +48 2.85 0.927532 9.55102 +49 2.91 1.18624 10.2857 +50 2.97 0.917363 10.8776 +106000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 1.29007 0.265306 +17 0.99 1.13849 0.346939 +18 1.05 1.26516 0.44898 +19 1.11 1.35853 0.571429 +20 1.17 1.4266 0.714286 +21 1.23 1.65965 0.897959 +22 1.29 1.17358 1.04082 +23 1.35 0.30617 1.08163 +24 1.41 0.561342 1.16327 +25 1.47 1.16203 1.34694 +26 1.53 0.953504 1.5102 +27 1.59 0.993271 1.69388 +28 1.65 1.33229 1.95918 +29 1.71 0.572513 2.08163 +30 1.77 1.42496 2.40816 +31 1.83 0.66653 2.57143 +32 1.89 0.781108 2.77551 +33 1.95 1.10067 3.08163 +34 2.01 0.414379 3.20408 +35 2.07 1.17212 3.57143 +36 2.13 0.738014 3.81633 +37 2.19 0.756309 4.08163 +38 2.25 0.936978 4.42857 +39 2.31 1.35955 4.95918 +40 2.37 0.99353 5.36735 +41 2.43 0.803314 5.71429 +42 2.49 1.1251 6.22449 +43 2.55 1.1586 6.77551 +44 2.61 1.06499 7.30612 +45 2.67 1.33079 8 +46 2.73 1.12318 8.61224 +47 2.79 0.932007 9.14286 +48 2.85 0.893179 9.67347 +49 2.91 1.12034 10.3673 +50 2.97 0.632664 10.7755 +106050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 2.5742 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.991624 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 0.679267 0.428571 +20 1.17 0.8152 0.510204 +21 1.23 1.10644 0.632653 +22 1.29 1.17358 0.77551 +23 1.35 0.918509 0.897959 +24 1.41 0.842013 1.02041 +25 1.47 0.387344 1.08163 +26 1.53 1.19188 1.28571 +27 1.59 1.32436 1.53061 +28 1.65 1.33229 1.79592 +29 1.71 0.85877 1.97959 +30 1.77 0.979661 2.20408 +31 1.83 1.08311 2.46939 +32 1.89 0.937329 2.71429 +33 1.95 1.6877 3.18367 +34 2.01 0.345316 3.28571 +35 2.07 1.107 3.63265 +36 2.13 0.861016 3.91837 +37 2.19 0.756309 4.18367 +38 2.25 0.716512 4.44898 +39 2.31 1.0981 4.87755 +40 2.37 0.99353 5.28571 +41 2.43 1.08684 5.7551 +42 2.49 0.990089 6.20408 +43 2.55 1.33025 6.83673 +44 2.61 0.942104 7.30612 +45 2.67 1.29165 7.97959 +46 2.73 1.16062 8.61224 +47 2.79 0.896161 9.12245 +48 2.85 0.996238 9.71429 +49 2.91 0.757875 10.1837 +50 2.97 0.854097 10.7347 +106100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 1.70044 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 1.29007 0.285714 +17 0.99 0.284622 0.306122 +18 1.05 0.506063 0.346939 +19 1.11 0.452845 0.387755 +20 1.17 1.8342 0.571429 +21 1.23 0.922029 0.673469 +22 1.29 0.838269 0.77551 +23 1.35 1.22468 0.938776 +24 1.41 0.701677 1.04082 +25 1.47 1.16203 1.22449 +26 1.53 0.834316 1.36735 +27 1.59 0.993271 1.55102 +28 1.65 1.53726 1.85714 +29 1.71 0.477094 1.95918 +30 1.77 0.979661 2.18367 +31 1.83 0.499898 2.30612 +32 1.89 0.937329 2.55102 +33 1.95 1.61432 3 +34 2.01 0.759695 3.22449 +35 2.07 0.91165 3.5102 +36 2.13 0.861016 3.79592 +37 2.19 1.10537 4.18367 +38 2.25 0.881861 4.5102 +39 2.31 1.0981 4.93878 +40 2.37 0.99353 5.34694 +41 2.43 0.897822 5.73469 +42 2.49 1.0801 6.22449 +43 2.55 1.24442 6.81633 +44 2.61 1.18787 7.40816 +45 2.67 0.821958 7.83673 +46 2.73 1.12318 8.44898 +47 2.79 0.788621 8.89796 +48 2.85 1.33977 9.69388 +49 2.91 1.25214 10.4694 +50 2.97 1.1388 11.2041 +106150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 1.27533 0.183673 +15 0.87 0.737039 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 0.853865 0.346939 +18 1.05 1.51819 0.469388 +19 1.11 1.13211 0.571429 +20 1.17 0.4076 0.612245 +21 1.23 1.84406 0.816327 +22 1.29 0.167654 0.836735 +23 1.35 0.612339 0.918367 +24 1.41 0.982348 1.06122 +25 1.47 1.03292 1.22449 +26 1.53 0.59594 1.32653 +27 1.59 1.214 1.55102 +28 1.65 1.22981 1.79592 +29 1.71 1.43128 2.10204 +30 1.77 0.62342 2.2449 +31 1.83 0.66653 2.40816 +32 1.89 0.937329 2.65306 +33 1.95 0.807161 2.87755 +34 2.01 0.621569 3.06122 +35 2.07 0.716296 3.28571 +36 2.13 0.799515 3.55102 +37 2.19 0.698131 3.79592 +38 2.25 0.826745 4.10204 +39 2.31 1.04581 4.5102 +40 2.37 1.24191 5.02041 +41 2.43 1.2286 5.55102 +42 2.49 1.0801 6.04082 +43 2.55 1.24442 6.63265 +44 2.61 1.18787 7.22449 +45 2.67 1.48735 8 +46 2.73 0.898544 8.4898 +47 2.79 1.11124 9.12245 +48 2.85 1.03059 9.73469 +49 2.91 0.659022 10.1429 +50 2.97 0.948997 10.7551 +106200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 2.21112 0.244898 +16 0.93 0.967555 0.306122 +17 0.99 1.42311 0.408163 +18 1.05 0.253031 0.428571 +19 1.11 0.452845 0.469388 +20 1.17 1.019 0.571429 +21 1.23 0.368812 0.612245 +22 1.29 1.00592 0.734694 +23 1.35 1.07159 0.877551 +24 1.41 0.842013 1 +25 1.47 1.42026 1.22449 +26 1.53 0.715128 1.34694 +27 1.59 0.882908 1.5102 +28 1.65 0.614903 1.63265 +29 1.71 0.954189 1.83673 +30 1.77 0.80154 2.02041 +31 1.83 0.749847 2.20408 +32 1.89 1.32788 2.55102 +33 1.95 0.587026 2.71429 +34 2.01 1.10501 3.04082 +35 2.07 0.781414 3.28571 +36 2.13 0.922517 3.59184 +37 2.19 1.10537 3.97959 +38 2.25 1.04721 4.36735 +39 2.31 0.732067 4.65306 +40 2.37 1.14256 5.12245 +41 2.43 0.897822 5.5102 +42 2.49 1.1701 6.04082 +43 2.55 1.07278 6.55102 +44 2.61 0.860182 6.97959 +45 2.67 1.13508 7.57143 +46 2.73 1.12318 8.18367 +47 2.79 1.21878 8.87755 +48 2.85 1.06494 9.5102 +49 2.91 0.92263 10.0816 +50 2.97 0.948997 10.6939 +106250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 1.47408 0.204082 +16 0.93 1.29007 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 0.506063 0.367347 +19 1.11 0.90569 0.44898 +20 1.17 0.2038 0.469388 +21 1.23 1.65965 0.653061 +22 1.29 1.17358 0.795918 +23 1.35 0.918509 0.918367 +24 1.41 0.842013 1.04082 +25 1.47 1.29115 1.2449 +26 1.53 1.54944 1.5102 +27 1.59 0.662181 1.63265 +28 1.65 1.22981 1.87755 +29 1.71 1.90838 2.28571 +30 1.77 0.890601 2.4898 +31 1.83 0.833163 2.69388 +32 1.89 0.702997 2.87755 +33 1.95 1.24743 3.22449 +34 2.01 1.03595 3.53061 +35 2.07 0.846532 3.79592 +36 2.13 0.615011 4 +37 2.19 0.814486 4.28571 +38 2.25 1.10233 4.69388 +39 2.31 1.30726 5.20408 +40 2.37 0.943854 5.59184 +41 2.43 1.41761 6.20408 +42 2.49 0.765068 6.55102 +43 2.55 0.72949 6.89796 +44 2.61 1.10595 7.44898 +45 2.67 1.13508 8.04082 +46 2.73 0.786226 8.46939 +47 2.79 0.967854 9.02041 +48 2.85 1.06494 9.65306 +49 2.91 1.02148 10.2857 +50 2.97 1.10716 11 +106300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 2.5742 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 1.48744 0.183673 +14 0.81 1.27533 0.244898 +15 0.87 1.10556 0.306122 +16 0.93 0.967555 0.367347 +17 0.99 1.13849 0.44898 +18 1.05 0.506063 0.489796 +19 1.11 0.90569 0.571429 +20 1.17 0.8152 0.653061 +21 1.23 1.65965 0.836735 +22 1.29 0.670615 0.918367 +23 1.35 1.07159 1.06122 +24 1.41 1.82436 1.32653 +25 1.47 0.645574 1.42857 +26 1.53 0.476752 1.5102 +27 1.59 0.772544 1.65306 +28 1.65 1.02484 1.85714 +29 1.71 1.33586 2.14286 +30 1.77 0.80154 2.32653 +31 1.83 0.999796 2.57143 +32 1.89 0.702997 2.7551 +33 1.95 1.0273 3.04082 +34 2.01 1.17407 3.38776 +35 2.07 1.17212 3.7551 +36 2.13 0.676513 3.97959 +37 2.19 0.407243 4.12245 +38 2.25 1.15744 4.55102 +39 2.31 0.993519 4.93878 +40 2.37 1.14256 5.40816 +41 2.43 1.13409 5.89796 +42 2.49 1.1701 6.42857 +43 2.55 1.24442 7.02041 +44 2.61 0.860182 7.44898 +45 2.67 1.01766 7.97959 +46 2.73 1.27294 8.67347 +47 2.79 0.824468 9.14286 +48 2.85 0.927532 9.69388 +49 2.91 0.626071 10.0816 +50 2.97 0.948997 10.6939 +106350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.7572 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 1.47408 0.22449 +16 0.93 1.61259 0.326531 +17 0.99 1.13849 0.408163 +18 1.05 1.01213 0.489796 +19 1.11 0.90569 0.571429 +20 1.17 0.2038 0.591837 +21 1.23 1.29084 0.734694 +22 1.29 1.00592 0.857143 +23 1.35 0.765424 0.959184 +24 1.41 0.421006 1.02041 +25 1.47 0.903804 1.16327 +26 1.53 0.834316 1.30612 +27 1.59 0.772544 1.44898 +28 1.65 0.819871 1.61224 +29 1.71 0.667932 1.7551 +30 1.77 1.15778 2.02041 +31 1.83 0.749847 2.20408 +32 1.89 0.937329 2.44898 +33 1.95 0.807161 2.67347 +34 2.01 0.759695 2.89796 +35 2.07 1.23724 3.28571 +36 2.13 0.738014 3.53061 +37 2.19 0.989019 3.87755 +38 2.25 1.21256 4.32653 +39 2.31 1.30726 4.83673 +40 2.37 0.943854 5.22449 +41 2.43 1.2286 5.7551 +42 2.49 0.945085 6.18367 +43 2.55 1.24442 6.77551 +44 2.61 0.77826 7.16327 +45 2.67 1.01766 7.69388 +46 2.73 1.4227 8.46939 +47 2.79 0.932007 9 +48 2.85 0.79012 9.46939 +49 2.91 1.21919 10.2245 +50 2.97 1.1388 10.9592 +106400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.322518 0.163265 +17 0.99 0.853865 0.22449 +18 1.05 1.01213 0.306122 +19 1.11 0.90569 0.387755 +20 1.17 0.2038 0.408163 +21 1.23 1.10644 0.530612 +22 1.29 1.00592 0.653061 +23 1.35 0.765424 0.755102 +24 1.41 0.561342 0.836735 +25 1.47 0.903804 0.979592 +26 1.53 1.19188 1.18367 +27 1.59 0.993271 1.36735 +28 1.65 0.819871 1.53061 +29 1.71 1.14503 1.77551 +30 1.77 0.71248 1.93878 +31 1.83 1.16643 2.22449 +32 1.89 0.781108 2.42857 +33 1.95 1.17405 2.7551 +34 2.01 0.828758 3 +35 2.07 1.04189 3.32653 +36 2.13 0.799515 3.59184 +37 2.19 1.22173 4.02041 +38 2.25 1.21256 4.46939 +39 2.31 0.888938 4.81633 +40 2.37 0.894177 5.18367 +41 2.43 0.850568 5.55102 +42 2.49 1.1251 6.06122 +43 2.55 0.901135 6.4898 +44 2.61 0.983065 6.97959 +45 2.67 0.665394 7.32653 +46 2.73 0.898544 7.81633 +47 2.79 0.860314 8.30612 +48 2.85 1.0993 8.95918 +49 2.91 0.823777 9.46939 +50 2.97 1.0439 10.1429 +106450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 1.10556 0.265306 +16 0.93 0.322518 0.285714 +17 0.99 0.853865 0.346939 +18 1.05 0.506063 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 1.019 0.55102 +21 1.23 1.10644 0.673469 +22 1.29 1.34123 0.836735 +23 1.35 1.22468 1 +24 1.41 0.842013 1.12245 +25 1.47 0.645574 1.22449 +26 1.53 0.715128 1.34694 +27 1.59 0.662181 1.46939 +28 1.65 0.922354 1.65306 +29 1.71 0.763351 1.81633 +30 1.77 0.53436 1.93878 +31 1.83 0.749847 2.12245 +32 1.89 0.859219 2.34694 +33 1.95 1.61432 2.79592 +34 2.01 0.828758 3.04082 +35 2.07 0.586061 3.22449 +36 2.13 0.799515 3.4898 +37 2.19 0.930841 3.81633 +38 2.25 0.992094 4.18367 +39 2.31 0.679776 4.44898 +40 2.37 0.745148 4.7551 +41 2.43 0.850568 5.12245 +42 2.49 0.990089 5.57143 +43 2.55 0.858224 5.97959 +44 2.61 0.983065 6.46939 +45 2.67 1.09594 7.04082 +46 2.73 0.823666 7.4898 +47 2.79 0.896161 8 +48 2.85 1.168 8.69388 +49 2.91 1.02148 9.32653 +50 2.97 1.07553 10.0204 +106500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 1.61259 0.265306 +17 0.99 1.13849 0.346939 +18 1.05 1.01213 0.428571 +19 1.11 1.35853 0.55102 +20 1.17 1.019 0.653061 +21 1.23 0.368812 0.693878 +22 1.29 1.17358 0.836735 +23 1.35 1.22468 1 +24 1.41 0.982348 1.14286 +25 1.47 0.774689 1.26531 +26 1.53 1.07269 1.44898 +27 1.59 1.32436 1.69388 +28 1.65 1.22981 1.93878 +29 1.71 0.477094 2.04082 +30 1.77 0.53436 2.16327 +31 1.83 0.833163 2.36735 +32 1.89 0.859219 2.59184 +33 1.95 0.587026 2.7551 +34 2.01 0.690632 2.95918 +35 2.07 1.04189 3.28571 +36 2.13 0.922517 3.59184 +37 2.19 0.523598 3.77551 +38 2.25 1.04721 4.16327 +39 2.31 0.679776 4.42857 +40 2.37 1.24191 4.93878 +41 2.43 0.992329 5.36735 +42 2.49 0.945085 5.79592 +43 2.55 1.07278 6.30612 +44 2.61 0.696338 6.65306 +45 2.67 1.09594 7.22449 +46 2.73 1.2355 7.89796 +47 2.79 1.14709 8.55102 +48 2.85 0.79012 9.02041 +49 2.91 1.05443 9.67347 +50 2.97 1.3286 10.5306 +106550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 1.98325 0.163265 +14 0.81 0 0.163265 +15 0.87 1.47408 0.244898 +16 0.93 0.645037 0.285714 +17 0.99 1.13849 0.367347 +18 1.05 1.26516 0.469388 +19 1.11 0.90569 0.55102 +20 1.17 0.8152 0.632653 +21 1.23 1.10644 0.755102 +22 1.29 1.00592 0.877551 +23 1.35 0.459254 0.938776 +24 1.41 0.701677 1.04082 +25 1.47 0.387344 1.10204 +26 1.53 1.54944 1.36735 +27 1.59 0.551817 1.46939 +28 1.65 0.614903 1.59184 +29 1.71 1.24045 1.85714 +30 1.77 0.890601 2.06122 +31 1.83 1.24974 2.36735 +32 1.89 0.859219 2.59184 +33 1.95 0.44027 2.71429 +34 2.01 1.3122 3.10204 +35 2.07 0.716296 3.32653 +36 2.13 0.799515 3.59184 +37 2.19 1.39626 4.08163 +38 2.25 0.771629 4.36735 +39 2.31 0.888938 4.71429 +40 2.37 0.943854 5.10204 +41 2.43 0.803314 5.44898 +42 2.49 1.30512 6.04082 +43 2.55 1.11569 6.57143 +44 2.61 0.655377 6.89796 +45 2.67 1.09594 7.46939 +46 2.73 1.19806 8.12245 +47 2.79 0.967854 8.67347 +48 2.85 1.20236 9.38776 +49 2.91 0.823777 9.89796 +50 2.97 0.822464 10.4286 +106600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.8426 0.22449 +16 0.93 1.29007 0.306122 +17 0.99 0.284622 0.326531 +18 1.05 1.01213 0.408163 +19 1.11 0 0.408163 +20 1.17 1.019 0.510204 +21 1.23 0.368812 0.55102 +22 1.29 0.670615 0.632653 +23 1.35 0.30617 0.673469 +24 1.41 0.701677 0.77551 +25 1.47 0.903804 0.918367 +26 1.53 0.715128 1.04082 +27 1.59 0.993271 1.22449 +28 1.65 0.512419 1.32653 +29 1.71 1.14503 1.57143 +30 1.77 0.80154 1.7551 +31 1.83 0.916479 1.97959 +32 1.89 1.01544 2.2449 +33 1.95 0.807161 2.46939 +34 2.01 0.966885 2.7551 +35 2.07 1.43259 3.20408 +36 2.13 1.04552 3.55102 +37 2.19 1.22173 3.97959 +38 2.25 1.04721 4.36735 +39 2.31 0.836648 4.69388 +40 2.37 0.745148 5 +41 2.43 1.13409 5.4898 +42 2.49 0.720064 5.81633 +43 2.55 1.1586 6.36735 +44 2.61 1.18787 6.95918 +45 2.67 1.0568 7.5102 +46 2.73 0.861105 7.97959 +47 2.79 0.752775 8.40816 +48 2.85 1.0993 9.06122 +49 2.91 0.823777 9.57143 +50 2.97 0.917363 10.1633 +106650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 2.5742 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0 0.0816327 +14 0.81 1.70044 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 0.322518 0.22449 +17 0.99 0.284622 0.244898 +18 1.05 1.51819 0.367347 +19 1.11 0.452845 0.408163 +20 1.17 0.6114 0.469388 +21 1.23 0.368812 0.510204 +22 1.29 0.335308 0.55102 +23 1.35 0.918509 0.673469 +24 1.41 0.561342 0.755102 +25 1.47 0.387344 0.816327 +26 1.53 0.715128 0.938776 +27 1.59 0.772544 1.08163 +28 1.65 1.43477 1.36735 +29 1.71 1.04961 1.59184 +30 1.77 0.979661 1.81633 +31 1.83 1.24974 2.12245 +32 1.89 1.09355 2.40816 +33 1.95 1.39419 2.79592 +34 2.01 0.690632 3 +35 2.07 1.107 3.34694 +36 2.13 0.922517 3.65306 +37 2.19 0.989019 4 +38 2.25 0.716512 4.26531 +39 2.31 0.627486 4.5102 +40 2.37 0.596118 4.7551 +41 2.43 0.992329 5.18367 +42 2.49 0.765068 5.53061 +43 2.55 0.686579 5.85714 +44 2.61 1.31075 6.5102 +45 2.67 1.33079 7.20408 +46 2.73 1.38526 7.95918 +47 2.79 1.07539 8.57143 +48 2.85 1.03059 9.18367 +49 2.91 0.889679 9.73469 +50 2.97 0.790831 10.2449 +106700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 2.8101 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 0 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0.368519 0.163265 +16 0.93 0.322518 0.183673 +17 0.99 1.13849 0.265306 +18 1.05 1.01213 0.346939 +19 1.11 0.679267 0.408163 +20 1.17 0.8152 0.489796 +21 1.23 0.368812 0.530612 +22 1.29 0.838269 0.632653 +23 1.35 1.07159 0.77551 +24 1.41 0.842013 0.897959 +25 1.47 0.774689 1.02041 +26 1.53 0.59594 1.12245 +27 1.59 1.54509 1.40816 +28 1.65 1.02484 1.61224 +29 1.71 1.43128 1.91837 +30 1.77 1.15778 2.18367 +31 1.83 1.83296 2.63265 +32 1.89 1.09355 2.91837 +33 1.95 0.733783 3.12245 +34 2.01 0.552506 3.28571 +35 2.07 0.651178 3.4898 +36 2.13 1.16852 3.87755 +37 2.19 1.68715 4.46939 +38 2.25 0.771629 4.7551 +39 2.31 0.679776 5.02041 +40 2.37 0.99353 5.42857 +41 2.43 1.13409 5.91837 +42 2.49 1.1701 6.44898 +43 2.55 0.686579 6.77551 +44 2.61 0.942104 7.2449 +45 2.67 0.861099 7.69388 +46 2.73 0.748787 8.10204 +47 2.79 0.967854 8.65306 +48 2.85 1.20236 9.36735 +49 2.91 1.08739 10.0408 +50 2.97 0.727564 10.5102 +106750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 5.11068 0.0408163 +7 0.39 0 0.0408163 +8 0.45 0 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 0.322518 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 1.77122 0.44898 +19 1.11 0.90569 0.530612 +20 1.17 0.6114 0.591837 +21 1.23 0.553218 0.653061 +22 1.29 0.502961 0.714286 +23 1.35 0.612339 0.795918 +24 1.41 0.982348 0.938776 +25 1.47 0.903804 1.08163 +26 1.53 0.476752 1.16327 +27 1.59 1.10363 1.36735 +28 1.65 0.512419 1.46939 +29 1.71 0.954189 1.67347 +30 1.77 0.71248 1.83673 +31 1.83 1.33306 2.16327 +32 1.89 0.781108 2.36735 +33 1.95 0.733783 2.57143 +34 2.01 0.690632 2.77551 +35 2.07 0.846532 3.04082 +36 2.13 1.23002 3.44898 +37 2.19 1.33808 3.91837 +38 2.25 0.771629 4.20408 +39 2.31 0.679776 4.46939 +40 2.37 1.04321 4.89796 +41 2.43 1.08684 5.36735 +42 2.49 0.900081 5.77551 +43 2.55 0.944046 6.22449 +44 2.61 1.02403 6.73469 +45 2.67 0.821958 7.16327 +46 2.73 0.786226 7.59184 +47 2.79 1.07539 8.20408 +48 2.85 1.06494 8.83673 +49 2.91 1.05443 9.4898 +50 2.97 0.822464 10.0204 +106800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.7519 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 2.21112 0.244898 +16 0.93 1.61259 0.346939 +17 0.99 1.13849 0.428571 +18 1.05 0 0.428571 +19 1.11 0.452845 0.469388 +20 1.17 1.4266 0.612245 +21 1.23 0.368812 0.653061 +22 1.29 1.17358 0.795918 +23 1.35 0.612339 0.877551 +24 1.41 0.842013 1 +25 1.47 1.16203 1.18367 +26 1.53 1.31107 1.40816 +27 1.59 1.54509 1.69388 +28 1.65 0.819871 1.85714 +29 1.71 0.572513 1.97959 +30 1.77 0.890601 2.18367 +31 1.83 0.833163 2.38776 +32 1.89 0.468665 2.5102 +33 1.95 1.32081 2.87755 +34 2.01 0.552506 3.04082 +35 2.07 0.520943 3.20408 +36 2.13 1.35303 3.65306 +37 2.19 0.581776 3.85714 +38 2.25 0.936978 4.20408 +39 2.31 0.627486 4.44898 +40 2.37 0.894177 4.81633 +41 2.43 0.992329 5.2449 +42 2.49 0.900081 5.65306 +43 2.55 0.600757 5.93878 +44 2.61 0.983065 6.42857 +45 2.67 0.821958 6.85714 +46 2.73 0.636469 7.20408 +47 2.79 0.788621 7.65306 +48 2.85 0.858826 8.16327 +49 2.91 1.12034 8.85714 +50 2.97 1.2337 9.65306 +106850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 1.27533 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 1.93511 0.367347 +17 0.99 1.13849 0.44898 +18 1.05 1.26516 0.55102 +19 1.11 0.452845 0.591837 +20 1.17 0.4076 0.632653 +21 1.23 0.737623 0.714286 +22 1.29 0.502961 0.77551 +23 1.35 0.765424 0.877551 +24 1.41 1.12268 1.04082 +25 1.47 1.03292 1.20408 +26 1.53 1.07269 1.38776 +27 1.59 0.551817 1.4898 +28 1.65 1.53726 1.79592 +29 1.71 0.667932 1.93878 +30 1.77 0.80154 2.12245 +31 1.83 0.749847 2.30612 +32 1.89 0.624886 2.46939 +33 1.95 1.76108 2.95918 +34 2.01 0.690632 3.16327 +35 2.07 0.716296 3.38776 +36 2.13 0.799515 3.65306 +37 2.19 0.756309 3.91837 +38 2.25 1.21256 4.36735 +39 2.31 0.732067 4.65306 +40 2.37 1.14256 5.12245 +41 2.43 1.03958 5.57143 +42 2.49 0.990089 6.02041 +43 2.55 1.11569 6.55102 +44 2.61 0.983065 7.04082 +45 2.67 0.93938 7.53061 +46 2.73 0.861105 8 +47 2.79 1.03955 8.59184 +48 2.85 0.721414 9.02041 +49 2.91 1.12034 9.71429 +50 2.97 0.88573 10.2857 +106900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 3.81206 0.0204082 +6 0.33 0 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 0 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 1.29007 0.306122 +17 0.99 0.284622 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 1.35853 0.510204 +20 1.17 1.019 0.612245 +21 1.23 0.184406 0.632653 +22 1.29 1.34123 0.795918 +23 1.35 0.918509 0.918367 +24 1.41 0.701677 1.02041 +25 1.47 0.774689 1.14286 +26 1.53 1.07269 1.32653 +27 1.59 0.882908 1.4898 +28 1.65 1.02484 1.69388 +29 1.71 1.62212 2.04082 +30 1.77 1.06872 2.28571 +31 1.83 1.16643 2.57143 +32 1.89 1.24977 2.89796 +33 1.95 0.953918 3.16327 +34 2.01 1.10501 3.4898 +35 2.07 0.716296 3.71429 +36 2.13 0.984018 4.04082 +37 2.19 0.116355 4.08163 +38 2.25 0.716512 4.34694 +39 2.31 0.888938 4.69388 +40 2.37 0.99353 5.10204 +41 2.43 0.945075 5.5102 +42 2.49 0.855076 5.89796 +43 2.55 1.24442 6.4898 +44 2.61 1.06499 7.02041 +45 2.67 0.978521 7.53061 +46 2.73 0.748787 7.93878 +47 2.79 0.860314 8.42857 +48 2.85 0.858826 8.93878 +49 2.91 0.955581 9.53061 +50 2.97 0.917363 10.1224 +106950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0 0.0816327 +15 0.87 0.368519 0.102041 +16 0.93 0.967555 0.163265 +17 0.99 0.853865 0.22449 +18 1.05 0.253031 0.244898 +19 1.11 0.226422 0.265306 +20 1.17 1.2228 0.387755 +21 1.23 0.922029 0.489796 +22 1.29 1.34123 0.653061 +23 1.35 0.918509 0.77551 +24 1.41 1.26302 0.959184 +25 1.47 0.516459 1.04082 +26 1.53 0.476752 1.12245 +27 1.59 0.662181 1.2449 +28 1.65 1.02484 1.44898 +29 1.71 1.33586 1.73469 +30 1.77 1.15778 2 +31 1.83 1.08311 2.26531 +32 1.89 1.09355 2.55102 +33 1.95 1.32081 2.91837 +34 2.01 1.03595 3.22449 +35 2.07 0.846532 3.4898 +36 2.13 0.799515 3.7551 +37 2.19 1.16355 4.16327 +38 2.25 0.60628 4.38776 +39 2.31 0.888938 4.73469 +40 2.37 0.943854 5.12245 +41 2.43 0.897822 5.5102 +42 2.49 0.900081 5.91837 +43 2.55 0.944046 6.36735 +44 2.61 1.31075 7.02041 +45 2.67 0.587113 7.32653 +46 2.73 0.486712 7.59184 +47 2.79 1.07539 8.20408 +48 2.85 0.961885 8.77551 +49 2.91 0.757875 9.2449 +50 2.97 1.0439 9.91837 +107000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0.368519 0.163265 +16 0.93 1.93511 0.285714 +17 0.99 0.284622 0.306122 +18 1.05 1.01213 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 1.019 0.55102 +21 1.23 0.922029 0.653061 +22 1.29 1.00592 0.77551 +23 1.35 0.918509 0.897959 +24 1.41 1.54369 1.12245 +25 1.47 0.645574 1.22449 +26 1.53 1.07269 1.40816 +27 1.59 1.10363 1.61224 +28 1.65 0.614903 1.73469 +29 1.71 0.954189 1.93878 +30 1.77 0.979661 2.16327 +31 1.83 0.999796 2.40816 +32 1.89 0.859219 2.63265 +33 1.95 1.0273 2.91837 +34 2.01 0.690632 3.12245 +35 2.07 0.651178 3.32653 +36 2.13 1.16852 3.71429 +37 2.19 0.989019 4.06122 +38 2.25 0.826745 4.36735 +39 2.31 0.836648 4.69388 +40 2.37 0.894177 5.06122 +41 2.43 0.850568 5.42857 +42 2.49 0.855076 5.81633 +43 2.55 0.858224 6.22449 +44 2.61 0.819221 6.63265 +45 2.67 0.782817 7.04082 +46 2.73 1.0483 7.61224 +47 2.79 1.11124 8.2449 +48 2.85 1.168 8.93878 +49 2.91 0.691973 9.36735 +50 2.97 1.10716 10.0816 +107050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 1.70044 0.22449 +15 0.87 1.47408 0.306122 +16 0.93 1.93511 0.428571 +17 0.99 0.853865 0.489796 +18 1.05 1.51819 0.612245 +19 1.11 0.452845 0.653061 +20 1.17 0.6114 0.714286 +21 1.23 0.737623 0.795918 +22 1.29 0.838269 0.897959 +23 1.35 0.30617 0.938776 +24 1.41 0.561342 1.02041 +25 1.47 0.774689 1.14286 +26 1.53 0.953504 1.30612 +27 1.59 1.10363 1.5102 +28 1.65 0.512419 1.61224 +29 1.71 0.763351 1.77551 +30 1.77 0.979661 2 +31 1.83 0.749847 2.18367 +32 1.89 0.546775 2.32653 +33 1.95 1.10067 2.63265 +34 2.01 0.897822 2.89796 +35 2.07 1.30236 3.30612 +36 2.13 1.35303 3.7551 +37 2.19 1.0472 4.12245 +38 2.25 1.43302 4.65306 +39 2.31 0.575195 4.87755 +40 2.37 0.894177 5.2449 +41 2.43 0.708807 5.55102 +42 2.49 0.585052 5.81633 +43 2.55 1.20151 6.38776 +44 2.61 1.06499 6.91837 +45 2.67 1.01766 7.44898 +46 2.73 1.01086 8 +47 2.79 0.932007 8.53061 +48 2.85 0.893179 9.06122 +49 2.91 0.988533 9.67347 +50 2.97 0.98063 10.3061 +107100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 0.368519 0.244898 +16 0.93 1.29007 0.326531 +17 0.99 0.853865 0.387755 +18 1.05 0.759094 0.44898 +19 1.11 1.13211 0.55102 +20 1.17 0.6114 0.612245 +21 1.23 0.553218 0.673469 +22 1.29 0.670615 0.755102 +23 1.35 0.918509 0.877551 +24 1.41 0.421006 0.938776 +25 1.47 1.42026 1.16327 +26 1.53 0.357564 1.22449 +27 1.59 0.772544 1.36735 +28 1.65 0.819871 1.53061 +29 1.71 1.43128 1.83673 +30 1.77 1.24684 2.12245 +31 1.83 1.58301 2.5102 +32 1.89 0.781108 2.71429 +33 1.95 1.0273 3 +34 2.01 1.10501 3.32653 +35 2.07 0.781414 3.57143 +36 2.13 0.984018 3.89796 +37 2.19 0.756309 4.16327 +38 2.25 0.716512 4.42857 +39 2.31 0.993519 4.81633 +40 2.37 0.943854 5.20408 +41 2.43 0.897822 5.59184 +42 2.49 1.1701 6.12245 +43 2.55 0.643668 6.42857 +44 2.61 0.901143 6.87755 +45 2.67 1.09594 7.44898 +46 2.73 1.2355 8.12245 +47 2.79 1.11124 8.7551 +48 2.85 1.03059 9.36735 +49 2.91 0.889679 9.91837 +50 2.97 0.948997 10.5306 +107150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 1.27533 0.122449 +15 0.87 0 0.122449 +16 0.93 0.645037 0.163265 +17 0.99 1.42311 0.265306 +18 1.05 0.253031 0.285714 +19 1.11 0.90569 0.367347 +20 1.17 1.019 0.469388 +21 1.23 0.737623 0.55102 +22 1.29 0.670615 0.632653 +23 1.35 1.37776 0.816327 +24 1.41 0.842013 0.938776 +25 1.47 0.387344 1 +26 1.53 1.43026 1.2449 +27 1.59 0.993271 1.42857 +28 1.65 0.614903 1.55102 +29 1.71 1.33586 1.83673 +30 1.77 1.15778 2.10204 +31 1.83 0.999796 2.34694 +32 1.89 0.702997 2.53061 +33 1.95 1.10067 2.83673 +34 2.01 0.690632 3.04082 +35 2.07 1.30236 3.44898 +36 2.13 0.738014 3.69388 +37 2.19 0.698131 3.93878 +38 2.25 1.54326 4.5102 +39 2.31 0.784357 4.81633 +40 2.37 0.894177 5.18367 +41 2.43 1.41761 5.79592 +42 2.49 0.855076 6.18367 +43 2.55 0.772402 6.55102 +44 2.61 0.819221 6.95918 +45 2.67 0.978521 7.46939 +46 2.73 1.34782 8.20408 +47 2.79 1.03955 8.79592 +48 2.85 0.755767 9.2449 +49 2.91 0.691973 9.67347 +50 2.97 1.07553 10.3673 +107200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 1.98325 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 0.737039 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 0.253031 0.346939 +19 1.11 0.679267 0.408163 +20 1.17 0.4076 0.44898 +21 1.23 0.553218 0.510204 +22 1.29 0.670615 0.591837 +23 1.35 0.765424 0.693878 +24 1.41 1.54369 0.918367 +25 1.47 1.16203 1.10204 +26 1.53 0.834316 1.2449 +27 1.59 0.662181 1.36735 +28 1.65 0.717387 1.5102 +29 1.71 0.477094 1.61224 +30 1.77 1.42496 1.93878 +31 1.83 1.24974 2.2449 +32 1.89 1.01544 2.5102 +33 1.95 0.953918 2.77551 +34 2.01 1.03595 3.08163 +35 2.07 1.04189 3.40816 +36 2.13 1.04552 3.7551 +37 2.19 1.0472 4.12245 +38 2.25 0.936978 4.46939 +39 2.31 1.0981 4.89796 +40 2.37 1.53997 5.53061 +41 2.43 1.08684 6 +42 2.49 1.03509 6.46939 +43 2.55 0.686579 6.79592 +44 2.61 1.14691 7.36735 +45 2.67 0.626254 7.69388 +46 2.73 0.823666 8.14286 +47 2.79 0.788621 8.59184 +48 2.85 0.618355 8.95918 +49 2.91 1.4169 9.83673 +50 2.97 1.26533 10.6531 +107250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 1.07159 0.0612245 +10 0.57 0.858066 0.0816327 +11 0.63 0 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 0.967555 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 1.13211 0.469388 +20 1.17 0 0.469388 +21 1.23 1.10644 0.591837 +22 1.29 0.502961 0.653061 +23 1.35 0.459254 0.714286 +24 1.41 0.421006 0.77551 +25 1.47 0.774689 0.897959 +26 1.53 0.834316 1.04082 +27 1.59 0.882908 1.20408 +28 1.65 1.12732 1.42857 +29 1.71 0.667932 1.57143 +30 1.77 0.80154 1.7551 +31 1.83 0.833163 1.95918 +32 1.89 1.4841 2.34694 +33 1.95 1.46757 2.7551 +34 2.01 0.897822 3.02041 +35 2.07 0.586061 3.20408 +36 2.13 0.861016 3.4898 +37 2.19 1.0472 3.85714 +38 2.25 1.37791 4.36735 +39 2.31 1.0981 4.79592 +40 2.37 0.894177 5.16327 +41 2.43 1.13409 5.65306 +42 2.49 0.720064 5.97959 +43 2.55 0.815313 6.36735 +44 2.61 1.02403 6.87755 +45 2.67 0.93938 7.36735 +46 2.73 1.01086 7.91837 +47 2.79 0.896161 8.42857 +48 2.85 1.168 9.12245 +49 2.91 1.4169 10 +50 2.97 1.1388 10.7347 +107300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 1.98325 0.163265 +14 0.81 0.425111 0.183673 +15 0.87 0.368519 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 0.253031 0.326531 +19 1.11 0.679267 0.387755 +20 1.17 1.2228 0.510204 +21 1.23 1.10644 0.632653 +22 1.29 1.17358 0.77551 +23 1.35 0.765424 0.877551 +24 1.41 0.561342 0.959184 +25 1.47 0.774689 1.08163 +26 1.53 0.834316 1.22449 +27 1.59 0.551817 1.32653 +28 1.65 0.819871 1.4898 +29 1.71 0.381676 1.57143 +30 1.77 0.890601 1.77551 +31 1.83 1.08311 2.04082 +32 1.89 0.624886 2.20408 +33 1.95 1.24743 2.55102 +34 2.01 0.897822 2.81633 +35 2.07 1.30236 3.22449 +36 2.13 1.16852 3.61224 +37 2.19 0.872664 3.91837 +38 2.25 1.04721 4.30612 +39 2.31 0.784357 4.61224 +40 2.37 0.894177 4.97959 +41 2.43 0.850568 5.34694 +42 2.49 0.900081 5.7551 +43 2.55 1.02987 6.2449 +44 2.61 1.14691 6.81633 +45 2.67 1.17423 7.42857 +46 2.73 1.4227 8.20408 +47 2.79 1.11124 8.83673 +48 2.85 1.0993 9.4898 +49 2.91 1.02148 10.1224 +50 2.97 1.3286 10.9796 +107350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 0 0.102041 +16 0.93 0.645037 0.142857 +17 0.99 0.853865 0.204082 +18 1.05 0.759094 0.265306 +19 1.11 0.679267 0.326531 +20 1.17 1.2228 0.44898 +21 1.23 0.368812 0.489796 +22 1.29 1.00592 0.612245 +23 1.35 0.459254 0.673469 +24 1.41 0.842013 0.795918 +25 1.47 0.903804 0.938776 +26 1.53 0.953504 1.10204 +27 1.59 1.32436 1.34694 +28 1.65 0.717387 1.4898 +29 1.71 1.04961 1.71429 +30 1.77 1.06872 1.95918 +31 1.83 1.08311 2.22449 +32 1.89 0.859219 2.44898 +33 1.95 1.32081 2.81633 +34 2.01 1.10501 3.14286 +35 2.07 1.107 3.4898 +36 2.13 0.861016 3.77551 +37 2.19 1.22173 4.20408 +38 2.25 0.771629 4.4898 +39 2.31 1.51642 5.08163 +40 2.37 0.695471 5.36735 +41 2.43 0.945075 5.77551 +42 2.49 1.1701 6.30612 +43 2.55 0.944046 6.7551 +44 2.61 0.942104 7.22449 +45 2.67 1.25251 7.87755 +46 2.73 0.973423 8.40816 +47 2.79 0.716929 8.81633 +48 2.85 1.37412 9.63265 +49 2.91 1.05443 10.2857 +50 2.97 1.07553 10.9796 +107400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0 0 +13 0.75 0.991624 0.0408163 +14 0.81 0 0.0408163 +15 0.87 0 0.0408163 +16 0.93 1.61259 0.142857 +17 0.99 0.284622 0.163265 +18 1.05 0.759094 0.22449 +19 1.11 0.226422 0.244898 +20 1.17 1.4266 0.387755 +21 1.23 0.737623 0.469388 +22 1.29 1.34123 0.632653 +23 1.35 1.07159 0.77551 +24 1.41 0.982348 0.918367 +25 1.47 0.516459 1 +26 1.53 1.31107 1.22449 +27 1.59 0.882908 1.38776 +28 1.65 1.02484 1.59184 +29 1.71 1.33586 1.87755 +30 1.77 0.890601 2.08163 +31 1.83 1.08311 2.34694 +32 1.89 0.937329 2.59184 +33 1.95 1.10067 2.89796 +34 2.01 0.759695 3.12245 +35 2.07 0.716296 3.34694 +36 2.13 1.10702 3.71429 +37 2.19 0.989019 4.06122 +38 2.25 0.992094 4.42857 +39 2.31 1.04581 4.83673 +40 2.37 1.44062 5.42857 +41 2.43 1.03958 5.87755 +42 2.49 1.0801 6.36735 +43 2.55 0.986958 6.83673 +44 2.61 1.10595 7.38776 +45 2.67 0.978521 7.89796 +46 2.73 0.823666 8.34694 +47 2.79 0.716929 8.7551 +48 2.85 0.79012 9.22449 +49 2.91 1.12034 9.91837 +50 2.97 1.36023 10.7959 +107450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 0 0.142857 +16 0.93 0.645037 0.183673 +17 0.99 1.70773 0.306122 +18 1.05 0.253031 0.326531 +19 1.11 0 0.326531 +20 1.17 1.4266 0.469388 +21 1.23 0.737623 0.55102 +22 1.29 1.00592 0.673469 +23 1.35 0.765424 0.77551 +24 1.41 1.26302 0.959184 +25 1.47 0.516459 1.04082 +26 1.53 0.357564 1.10204 +27 1.59 0.772544 1.2449 +28 1.65 1.22981 1.4898 +29 1.71 0.954189 1.69388 +30 1.77 1.06872 1.93878 +31 1.83 0.499898 2.06122 +32 1.89 0.468665 2.18367 +33 1.95 1.0273 2.46939 +34 2.01 1.51939 2.91837 +35 2.07 0.781414 3.16327 +36 2.13 1.35303 3.61224 +37 2.19 0.872664 3.91837 +38 2.25 0.771629 4.20408 +39 2.31 0.836648 4.53061 +40 2.37 0.844501 4.87755 +41 2.43 0.992329 5.30612 +42 2.49 1.03509 5.77551 +43 2.55 0.944046 6.22449 +44 2.61 0.983065 6.71429 +45 2.67 1.0568 7.26531 +46 2.73 1.08574 7.85714 +47 2.79 1.4697 8.69388 +48 2.85 1.20236 9.40816 +49 2.91 1.05443 10.0612 +50 2.97 0.822464 10.5918 +107500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.14319 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 1.61259 0.306122 +17 0.99 0.569243 0.346939 +18 1.05 0 0.346939 +19 1.11 0.679267 0.408163 +20 1.17 0.6114 0.469388 +21 1.23 0.553218 0.530612 +22 1.29 1.67654 0.734694 +23 1.35 0.459254 0.795918 +24 1.41 0.842013 0.918367 +25 1.47 0.645574 1.02041 +26 1.53 1.07269 1.20408 +27 1.59 0.882908 1.36735 +28 1.65 1.02484 1.57143 +29 1.71 0.381676 1.65306 +30 1.77 1.15778 1.91837 +31 1.83 1.16643 2.20408 +32 1.89 0.781108 2.40816 +33 1.95 0.953918 2.67347 +34 2.01 0.552506 2.83673 +35 2.07 0.91165 3.12245 +36 2.13 1.16852 3.5102 +37 2.19 0.989019 3.85714 +38 2.25 0.826745 4.16327 +39 2.31 1.04581 4.57143 +40 2.37 1.29159 5.10204 +41 2.43 1.08684 5.57143 +42 2.49 1.26011 6.14286 +43 2.55 0.901135 6.57143 +44 2.61 1.14691 7.14286 +45 2.67 0.704535 7.5102 +46 2.73 1.27294 8.20408 +47 2.79 1.03955 8.79592 +48 2.85 1.23671 9.53061 +49 2.91 1.05443 10.1837 +50 2.97 1.2337 10.9796 +107550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 1.47408 0.265306 +16 0.93 1.29007 0.346939 +17 0.99 0.853865 0.408163 +18 1.05 0.759094 0.469388 +19 1.11 0.452845 0.510204 +20 1.17 0.4076 0.55102 +21 1.23 0.737623 0.632653 +22 1.29 1.34123 0.795918 +23 1.35 1.22468 0.959184 +24 1.41 0.842013 1.08163 +25 1.47 1.29115 1.28571 +26 1.53 0.834316 1.42857 +27 1.59 1.214 1.65306 +28 1.65 0.614903 1.77551 +29 1.71 0.667932 1.91837 +30 1.77 0.53436 2.04082 +31 1.83 1.16643 2.32653 +32 1.89 0.859219 2.55102 +33 1.95 0.880539 2.79592 +34 2.01 1.03595 3.10204 +35 2.07 0.846532 3.36735 +36 2.13 0.676513 3.59184 +37 2.19 1.33808 4.06122 +38 2.25 1.21256 4.5102 +39 2.31 1.04581 4.91837 +40 2.37 0.943854 5.30612 +41 2.43 0.897822 5.69388 +42 2.49 0.67506 6 +43 2.55 0.772402 6.36735 +44 2.61 0.901143 6.81633 +45 2.67 1.01766 7.34694 +46 2.73 1.19806 8 +47 2.79 1.0037 8.57143 +48 2.85 1.03059 9.18367 +49 2.91 0.790826 9.67347 +50 2.97 1.17043 10.4286 +107600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.7572 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0 0.122449 +15 0.87 1.8426 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 0.506063 0.346939 +19 1.11 0.226422 0.367347 +20 1.17 0.4076 0.408163 +21 1.23 0.922029 0.510204 +22 1.29 1.00592 0.632653 +23 1.35 0.765424 0.734694 +24 1.41 1.12268 0.897959 +25 1.47 1.16203 1.08163 +26 1.53 0.953504 1.2449 +27 1.59 0.441454 1.32653 +28 1.65 0.819871 1.4898 +29 1.71 0.667932 1.63265 +30 1.77 0.71248 1.79592 +31 1.83 0.66653 1.95918 +32 1.89 1.71844 2.40816 +33 1.95 1.32081 2.77551 +34 2.01 1.17407 3.12245 +35 2.07 0.976768 3.42857 +36 2.13 1.04552 3.77551 +37 2.19 0.698131 4.02041 +38 2.25 1.10233 4.42857 +39 2.31 0.941229 4.79592 +40 2.37 0.844501 5.14286 +41 2.43 0.75606 5.46939 +42 2.49 1.53014 6.16327 +43 2.55 1.24442 6.7551 +44 2.61 1.06499 7.28571 +45 2.67 1.13508 7.87755 +46 2.73 1.12318 8.4898 +47 2.79 0.609389 8.83673 +48 2.85 0.824473 9.32653 +49 2.91 0.988533 9.93878 +50 2.97 1.01226 10.5918 +107650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 0.737039 0.265306 +16 0.93 0.967555 0.326531 +17 0.99 0.853865 0.387755 +18 1.05 1.01213 0.469388 +19 1.11 1.58496 0.612245 +20 1.17 1.019 0.714286 +21 1.23 0.922029 0.816327 +22 1.29 0.838269 0.918367 +23 1.35 0.612339 1 +24 1.41 0.982348 1.14286 +25 1.47 0.387344 1.20408 +26 1.53 0.834316 1.34694 +27 1.59 1.10363 1.55102 +28 1.65 0.717387 1.69388 +29 1.71 1.04961 1.91837 +30 1.77 0.53436 2.04082 +31 1.83 0.833163 2.2449 +32 1.89 0.624886 2.40816 +33 1.95 0.44027 2.53061 +34 2.01 1.45033 2.95918 +35 2.07 0.781414 3.20408 +36 2.13 0.984018 3.53061 +37 2.19 1.22173 3.95918 +38 2.25 0.771629 4.2449 +39 2.31 0.888938 4.59184 +40 2.37 1.24191 5.10204 +41 2.43 0.850568 5.46939 +42 2.49 1.0801 5.95918 +43 2.55 1.11569 6.4898 +44 2.61 1.06499 7.02041 +45 2.67 0.978521 7.53061 +46 2.73 0.673908 7.89796 +47 2.79 0.645236 8.26531 +48 2.85 0.996238 8.85714 +49 2.91 1.18624 9.59184 +50 2.97 1.17043 10.3469 +107700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 2.97578 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 0.679267 0.428571 +20 1.17 1.2228 0.55102 +21 1.23 0.737623 0.632653 +22 1.29 0.502961 0.693878 +23 1.35 1.22468 0.857143 +24 1.41 0.561342 0.938776 +25 1.47 1.03292 1.10204 +26 1.53 0.476752 1.18367 +27 1.59 0.662181 1.30612 +28 1.65 1.12732 1.53061 +29 1.71 0.381676 1.61224 +30 1.77 0.979661 1.83673 +31 1.83 0.583214 1.97959 +32 1.89 1.56222 2.38776 +33 1.95 1.0273 2.67347 +34 2.01 0.759695 2.89796 +35 2.07 1.04189 3.22449 +36 2.13 0.799515 3.4898 +37 2.19 0.872664 3.79592 +38 2.25 1.04721 4.18367 +39 2.31 0.993519 4.57143 +40 2.37 1.19224 5.06122 +41 2.43 0.897822 5.44898 +42 2.49 1.1251 5.95918 +43 2.55 1.1586 6.5102 +44 2.61 0.983065 7 +45 2.67 1.13508 7.59184 +46 2.73 1.01086 8.14286 +47 2.79 1.0037 8.71429 +48 2.85 0.755767 9.16327 +49 2.91 0.790826 9.65306 +50 2.97 0.88573 10.2245 +107750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0 0.0612245 +14 0.81 0.425111 0.0816327 +15 0.87 0.368519 0.102041 +16 0.93 1.29007 0.183673 +17 0.99 0.853865 0.244898 +18 1.05 0.506063 0.285714 +19 1.11 1.13211 0.387755 +20 1.17 0.8152 0.469388 +21 1.23 0.553218 0.530612 +22 1.29 0.502961 0.591837 +23 1.35 0.612339 0.673469 +24 1.41 0.421006 0.734694 +25 1.47 0.903804 0.877551 +26 1.53 0.715128 1 +27 1.59 0.993271 1.18367 +28 1.65 0.614903 1.30612 +29 1.71 1.24045 1.57143 +30 1.77 0.979661 1.79592 +31 1.83 0.749847 1.97959 +32 1.89 1.24977 2.30612 +33 1.95 1.17405 2.63265 +34 2.01 1.24314 3 +35 2.07 1.17212 3.36735 +36 2.13 1.53753 3.87755 +37 2.19 0.814486 4.16327 +38 2.25 0.716512 4.42857 +39 2.31 0.993519 4.81633 +40 2.37 0.99353 5.22449 +41 2.43 0.75606 5.55102 +42 2.49 0.810072 5.91837 +43 2.55 0.600757 6.20408 +44 2.61 1.10595 6.7551 +45 2.67 1.09594 7.32653 +46 2.73 0.898544 7.81633 +47 2.79 0.860314 8.30612 +48 2.85 0.927532 8.85714 +49 2.91 1.28509 9.65306 +50 2.97 0.822464 10.1837 +107800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0 0 +13 0.75 0.495812 0.0204082 +14 0.81 0.850222 0.0612245 +15 0.87 0.737039 0.102041 +16 0.93 1.61259 0.204082 +17 0.99 0.284622 0.22449 +18 1.05 0.506063 0.265306 +19 1.11 0.452845 0.306122 +20 1.17 1.019 0.408163 +21 1.23 0.737623 0.489796 +22 1.29 0.838269 0.591837 +23 1.35 0.612339 0.673469 +24 1.41 0.701677 0.77551 +25 1.47 0.903804 0.918367 +26 1.53 0.834316 1.06122 +27 1.59 1.214 1.28571 +28 1.65 0.922354 1.46939 +29 1.71 0.190838 1.5102 +30 1.77 0.80154 1.69388 +31 1.83 1.33306 2.02041 +32 1.89 0.937329 2.26531 +33 1.95 1.10067 2.57143 +34 2.01 1.38126 2.97959 +35 2.07 1.04189 3.30612 +36 2.13 0.861016 3.59184 +37 2.19 0.814486 3.87755 +38 2.25 0.716512 4.14286 +39 2.31 0.784357 4.44898 +40 2.37 0.99353 4.85714 +41 2.43 0.850568 5.22449 +42 2.49 0.810072 5.59184 +43 2.55 1.07278 6.10204 +44 2.61 0.901143 6.55102 +45 2.67 1.0568 7.10204 +46 2.73 1.12318 7.71429 +47 2.79 1.25463 8.42857 +48 2.85 0.961885 9 +49 2.91 1.18624 9.73469 +50 2.97 1.10716 10.449 +107850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 1.47408 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 0.853865 0.265306 +18 1.05 0.759094 0.326531 +19 1.11 0.90569 0.408163 +20 1.17 0.8152 0.489796 +21 1.23 0.368812 0.530612 +22 1.29 0.670615 0.612245 +23 1.35 0.765424 0.714286 +24 1.41 1.12268 0.877551 +25 1.47 0.903804 1.02041 +26 1.53 1.07269 1.20408 +27 1.59 1.10363 1.40816 +28 1.65 0.819871 1.57143 +29 1.71 0.954189 1.77551 +30 1.77 1.15778 2.04082 +31 1.83 0.499898 2.16327 +32 1.89 0.546775 2.30612 +33 1.95 1.32081 2.67347 +34 2.01 0.897822 2.93878 +35 2.07 0.846532 3.20408 +36 2.13 1.35303 3.65306 +37 2.19 0.814486 3.93878 +38 2.25 1.10233 4.34694 +39 2.31 1.35955 4.87755 +40 2.37 1.24191 5.38776 +41 2.43 0.567045 5.63265 +42 2.49 0.855076 6.02041 +43 2.55 1.07278 6.53061 +44 2.61 1.02403 7.04082 +45 2.67 1.01766 7.57143 +46 2.73 0.823666 8.02041 +47 2.79 0.716929 8.42857 +48 2.85 1.168 9.12245 +49 2.91 1.15329 9.83673 +50 2.97 1.20206 10.6122 +107900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 1.27533 0.102041 +15 0.87 1.10556 0.163265 +16 0.93 1.61259 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 1.01213 0.387755 +19 1.11 1.13211 0.489796 +20 1.17 0.8152 0.571429 +21 1.23 0.553218 0.632653 +22 1.29 0.838269 0.734694 +23 1.35 1.22468 0.897959 +24 1.41 1.26302 1.08163 +25 1.47 1.03292 1.2449 +26 1.53 0.476752 1.32653 +27 1.59 0.662181 1.44898 +28 1.65 1.02484 1.65306 +29 1.71 0.572513 1.77551 +30 1.77 0.979661 2 +31 1.83 1.16643 2.28571 +32 1.89 1.24977 2.61224 +33 1.95 1.17405 2.93878 +34 2.01 1.10501 3.26531 +35 2.07 0.91165 3.55102 +36 2.13 0.922517 3.85714 +37 2.19 0.698131 4.10204 +38 2.25 1.10233 4.5102 +39 2.31 0.784357 4.81633 +40 2.37 1.14256 5.28571 +41 2.43 0.945075 5.69388 +42 2.49 0.990089 6.14286 +43 2.55 1.1586 6.69388 +44 2.61 0.983065 7.18367 +45 2.67 0.90024 7.65306 +46 2.73 0.786226 8.08163 +47 2.79 0.860314 8.57143 +48 2.85 1.20236 9.28571 +49 2.91 0.988533 9.89796 +50 2.97 0.695931 10.3469 +107950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 1.98325 0.183673 +14 0.81 0.425111 0.204082 +15 0.87 0.368519 0.22449 +16 0.93 1.61259 0.326531 +17 0.99 0.853865 0.387755 +18 1.05 0.759094 0.44898 +19 1.11 0.679267 0.510204 +20 1.17 0.8152 0.591837 +21 1.23 0.737623 0.673469 +22 1.29 0.670615 0.755102 +23 1.35 0.30617 0.795918 +24 1.41 2.10503 1.10204 +25 1.47 0.645574 1.20408 +26 1.53 1.19188 1.40816 +27 1.59 0.993271 1.59184 +28 1.65 0.614903 1.71429 +29 1.71 1.04961 1.93878 +30 1.77 0.979661 2.16327 +31 1.83 0.833163 2.36735 +32 1.89 1.40599 2.73469 +33 1.95 0.880539 2.97959 +34 2.01 0.759695 3.20408 +35 2.07 0.716296 3.42857 +36 2.13 1.04552 3.77551 +37 2.19 0.756309 4.04082 +38 2.25 1.15744 4.46939 +39 2.31 0.784357 4.77551 +40 2.37 0.943854 5.16327 +41 2.43 0.945075 5.57143 +42 2.49 0.720064 5.89796 +43 2.55 1.37316 6.55102 +44 2.61 1.10595 7.10204 +45 2.67 1.33079 7.79592 +46 2.73 0.898544 8.28571 +47 2.79 0.860314 8.77551 +48 2.85 0.858826 9.28571 +49 2.91 0.988533 9.89796 +50 2.97 1.0439 10.5714 +108000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 1.48744 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 0.368519 0.122449 +16 0.93 0 0.122449 +17 0.99 0.569243 0.163265 +18 1.05 0.253031 0.183673 +19 1.11 1.35853 0.306122 +20 1.17 1.6304 0.469388 +21 1.23 0.368812 0.510204 +22 1.29 1.67654 0.714286 +23 1.35 0.459254 0.77551 +24 1.41 0.561342 0.857143 +25 1.47 1.16203 1.04082 +26 1.53 1.07269 1.22449 +27 1.59 0.993271 1.40816 +28 1.65 1.22981 1.65306 +29 1.71 0.85877 1.83673 +30 1.77 0.71248 2 +31 1.83 1.08311 2.26531 +32 1.89 0.859219 2.4898 +33 1.95 0.807161 2.71429 +34 2.01 1.17407 3.06122 +35 2.07 1.17212 3.42857 +36 2.13 0.615011 3.63265 +37 2.19 1.0472 4 +38 2.25 1.26768 4.46939 +39 2.31 0.470614 4.65306 +40 2.37 1.09288 5.10204 +41 2.43 1.03958 5.55102 +42 2.49 1.21511 6.10204 +43 2.55 1.1586 6.65306 +44 2.61 1.06499 7.18367 +45 2.67 0.93938 7.67347 +46 2.73 0.973423 8.20408 +47 2.79 0.896161 8.71429 +48 2.85 0.721414 9.14286 +49 2.91 1.21919 9.89796 +50 2.97 1.07553 10.5918 +108050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 0.850222 0.0816327 +15 0.87 1.10556 0.142857 +16 0.93 0.645037 0.183673 +17 0.99 1.13849 0.265306 +18 1.05 1.26516 0.367347 +19 1.11 2.0378 0.55102 +20 1.17 0.2038 0.571429 +21 1.23 0.737623 0.653061 +22 1.29 0.838269 0.755102 +23 1.35 0.459254 0.816327 +24 1.41 0.982348 0.959184 +25 1.47 0.516459 1.04082 +26 1.53 1.07269 1.22449 +27 1.59 1.214 1.44898 +28 1.65 0.512419 1.55102 +29 1.71 1.04961 1.77551 +30 1.77 1.15778 2.04082 +31 1.83 1.16643 2.32653 +32 1.89 0.859219 2.55102 +33 1.95 1.32081 2.91837 +34 2.01 1.24314 3.28571 +35 2.07 0.976768 3.59184 +36 2.13 0.799515 3.85714 +37 2.19 1.10537 4.2449 +38 2.25 0.826745 4.55102 +39 2.31 0.888938 4.89796 +40 2.37 0.745148 5.20408 +41 2.43 0.992329 5.63265 +42 2.49 0.900081 6.04082 +43 2.55 1.07278 6.55102 +44 2.61 0.860182 6.97959 +45 2.67 1.25251 7.63265 +46 2.73 0.935984 8.14286 +47 2.79 0.824468 8.61224 +48 2.85 0.893179 9.14286 +49 2.91 0.889679 9.69388 +50 2.97 1.20206 10.4694 +108100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 2.8101 0.122449 +12 0.69 0 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 1.8426 0.306122 +16 0.93 0.322518 0.326531 +17 0.99 0.853865 0.387755 +18 1.05 0 0.387755 +19 1.11 1.35853 0.510204 +20 1.17 0.4076 0.55102 +21 1.23 1.47525 0.714286 +22 1.29 0.502961 0.77551 +23 1.35 0.459254 0.836735 +24 1.41 0.140335 0.857143 +25 1.47 0.516459 0.938776 +26 1.53 0.476752 1.02041 +27 1.59 1.214 1.2449 +28 1.65 0.614903 1.36735 +29 1.71 1.33586 1.65306 +30 1.77 0.80154 1.83673 +31 1.83 0.833163 2.04082 +32 1.89 0.546775 2.18367 +33 1.95 0.733783 2.38776 +34 2.01 0.966885 2.67347 +35 2.07 0.846532 2.93878 +36 2.13 1.10702 3.30612 +37 2.19 1.45444 3.81633 +38 2.25 0.881861 4.14286 +39 2.31 0.888938 4.4898 +40 2.37 0.943854 4.87755 +41 2.43 1.37036 5.46939 +42 2.49 1.03509 5.93878 +43 2.55 1.1586 6.4898 +44 2.61 1.31075 7.14286 +45 2.67 1.33079 7.83673 +46 2.73 0.748787 8.2449 +47 2.79 1.03955 8.83673 +48 2.85 0.858826 9.34694 +49 2.91 0.757875 9.81633 +50 2.97 1.01226 10.4694 +108150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 0 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 0 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 0.853865 0.285714 +18 1.05 1.26516 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 0.6114 0.510204 +21 1.23 0.553218 0.571429 +22 1.29 1.67654 0.77551 +23 1.35 1.07159 0.918367 +24 1.41 0.842013 1.04082 +25 1.47 0.387344 1.10204 +26 1.53 1.19188 1.30612 +27 1.59 0.882908 1.46939 +28 1.65 0.717387 1.61224 +29 1.71 0.763351 1.77551 +30 1.77 1.42496 2.10204 +31 1.83 0.66653 2.26531 +32 1.89 1.01544 2.53061 +33 1.95 1.39419 2.91837 +34 2.01 0.828758 3.16327 +35 2.07 0.846532 3.42857 +36 2.13 1.04552 3.77551 +37 2.19 1.0472 4.14286 +38 2.25 1.15744 4.57143 +39 2.31 0.732067 4.85714 +40 2.37 0.695471 5.14286 +41 2.43 1.13409 5.63265 +42 2.49 0.67506 5.93878 +43 2.55 1.20151 6.5102 +44 2.61 1.22883 7.12245 +45 2.67 0.90024 7.59184 +46 2.73 0.786226 8.02041 +47 2.79 1.43386 8.83673 +48 2.85 1.13365 9.5102 +49 2.91 0.889679 10.0612 +50 2.97 0.98063 10.6939 +108200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 2.92866 0.163265 +13 0.75 0.495812 0.183673 +14 0.81 0.425111 0.204082 +15 0.87 1.47408 0.285714 +16 0.93 0.967555 0.346939 +17 0.99 1.13849 0.428571 +18 1.05 0.506063 0.469388 +19 1.11 0.452845 0.510204 +20 1.17 1.4266 0.653061 +21 1.23 0.368812 0.693878 +22 1.29 0.502961 0.755102 +23 1.35 0.612339 0.836735 +24 1.41 0.561342 0.918367 +25 1.47 1.03292 1.08163 +26 1.53 0.953504 1.2449 +27 1.59 0.993271 1.42857 +28 1.65 0.717387 1.57143 +29 1.71 0.85877 1.7551 +30 1.77 0.62342 1.89796 +31 1.83 0.833163 2.10204 +32 1.89 0.937329 2.34694 +33 1.95 0.880539 2.59184 +34 2.01 1.03595 2.89796 +35 2.07 1.36747 3.32653 +36 2.13 1.16852 3.71429 +37 2.19 0.872664 4.02041 +38 2.25 0.992094 4.38776 +39 2.31 0.993519 4.77551 +40 2.37 1.39094 5.34694 +41 2.43 0.992329 5.77551 +42 2.49 0.810072 6.14286 +43 2.55 1.07278 6.65306 +44 2.61 0.77826 7.04082 +45 2.67 1.01766 7.57143 +46 2.73 1.01086 8.12245 +47 2.79 0.932007 8.65306 +48 2.85 1.03059 9.26531 +49 2.91 0.856728 9.79592 +50 2.97 0.727564 10.2653 +108250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 1.27533 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 1.26516 0.408163 +19 1.11 0.90569 0.489796 +20 1.17 1.019 0.591837 +21 1.23 0.737623 0.673469 +22 1.29 0.838269 0.77551 +23 1.35 1.53085 0.979592 +24 1.41 0.701677 1.08163 +25 1.47 1.03292 1.2449 +26 1.53 1.31107 1.46939 +27 1.59 0.110363 1.4898 +28 1.65 0.819871 1.65306 +29 1.71 0.190838 1.69388 +30 1.77 0.979661 1.91837 +31 1.83 1.41638 2.26531 +32 1.89 0.937329 2.5102 +33 1.95 0.953918 2.77551 +34 2.01 0.966885 3.06122 +35 2.07 0.781414 3.30612 +36 2.13 0.738014 3.55102 +37 2.19 1.27991 4 +38 2.25 1.21256 4.44898 +39 2.31 0.732067 4.73469 +40 2.37 0.546442 4.95918 +41 2.43 1.46487 5.59184 +42 2.49 1.21511 6.14286 +43 2.55 1.02987 6.63265 +44 2.61 0.819221 7.04082 +45 2.67 0.93938 7.53061 +46 2.73 0.524151 7.81633 +47 2.79 1.0037 8.38776 +48 2.85 1.03059 9 +49 2.91 0.790826 9.4898 +50 2.97 0.759197 9.97959 +108300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 0 0.102041 +13 0.75 0 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 1.61259 0.285714 +17 0.99 1.70773 0.408163 +18 1.05 1.51819 0.530612 +19 1.11 0.226422 0.55102 +20 1.17 0.4076 0.591837 +21 1.23 0.553218 0.653061 +22 1.29 1.17358 0.795918 +23 1.35 0.765424 0.897959 +24 1.41 0.842013 1.02041 +25 1.47 0.387344 1.08163 +26 1.53 0.715128 1.20408 +27 1.59 0.772544 1.34694 +28 1.65 1.02484 1.55102 +29 1.71 1.24045 1.81633 +30 1.77 1.06872 2.06122 +31 1.83 1.24974 2.36735 +32 1.89 0.859219 2.59184 +33 1.95 1.10067 2.89796 +34 2.01 1.17407 3.2449 +35 2.07 0.91165 3.53061 +36 2.13 0.676513 3.7551 +37 2.19 0.698131 4 +38 2.25 0.826745 4.30612 +39 2.31 0.941229 4.67347 +40 2.37 1.24191 5.18367 +41 2.43 0.992329 5.61224 +42 2.49 0.810072 5.97959 +43 2.55 1.33025 6.61224 +44 2.61 0.614416 6.91837 +45 2.67 1.29165 7.59184 +46 2.73 0.935984 8.10204 +47 2.79 0.50185 8.38776 +48 2.85 1.0993 9.04082 +49 2.91 0.92263 9.61224 +50 2.97 0.948997 10.2245 +108350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0.368519 0.163265 +16 0.93 1.61259 0.265306 +17 0.99 0.853865 0.326531 +18 1.05 1.51819 0.44898 +19 1.11 0.452845 0.489796 +20 1.17 0.6114 0.55102 +21 1.23 0.184406 0.571429 +22 1.29 0.838269 0.673469 +23 1.35 0.459254 0.734694 +24 1.41 1.12268 0.897959 +25 1.47 0.645574 1 +26 1.53 1.19188 1.20408 +27 1.59 0.662181 1.32653 +28 1.65 0.819871 1.4898 +29 1.71 1.04961 1.71429 +30 1.77 1.15778 1.97959 +31 1.83 0.416582 2.08163 +32 1.89 1.01544 2.34694 +33 1.95 0.587026 2.5102 +34 2.01 0.828758 2.7551 +35 2.07 1.04189 3.08163 +36 2.13 0.492009 3.2449 +37 2.19 0.930841 3.57143 +38 2.25 1.32279 4.06122 +39 2.31 1.04581 4.46939 +40 2.37 1.14256 4.93878 +41 2.43 1.03958 5.38776 +42 2.49 1.21511 5.93878 +43 2.55 1.45898 6.63265 +44 2.61 1.35171 7.30612 +45 2.67 0.93938 7.79592 +46 2.73 1.01086 8.34694 +47 2.79 1.07539 8.95918 +48 2.85 0.652708 9.34694 +49 2.91 0.823777 9.85714 +50 2.97 1.01226 10.5102 +108400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 0.569243 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 0.90569 0.44898 +20 1.17 0.8152 0.530612 +21 1.23 1.10644 0.653061 +22 1.29 0.502961 0.714286 +23 1.35 1.53085 0.918367 +24 1.41 0.842013 1.04082 +25 1.47 0.774689 1.16327 +26 1.53 1.07269 1.34694 +27 1.59 0.993271 1.53061 +28 1.65 1.63974 1.85714 +29 1.71 0.667932 2 +30 1.77 0.62342 2.14286 +31 1.83 1.41638 2.4898 +32 1.89 0.859219 2.71429 +33 1.95 0.880539 2.95918 +34 2.01 0.483442 3.10204 +35 2.07 0.651178 3.30612 +36 2.13 0.984018 3.63265 +37 2.19 0.872664 3.93878 +38 2.25 1.15744 4.36735 +39 2.31 0.888938 4.71429 +40 2.37 1.14256 5.18367 +41 2.43 1.51212 5.83673 +42 2.49 1.30512 6.42857 +43 2.55 0.72949 6.77551 +44 2.61 0.532493 7.04082 +45 2.67 1.25251 7.69388 +46 2.73 0.673908 8.06122 +47 2.79 0.932007 8.59184 +48 2.85 0.961885 9.16327 +49 2.91 0.823777 9.67347 +50 2.97 1.10716 10.3878 +108450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 7.62412 0.0408163 +6 0.33 0 0.0408163 +7 0.39 0 0.0408163 +8 0.45 0 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 0 0.163265 +16 0.93 0.967555 0.22449 +17 0.99 0.853865 0.285714 +18 1.05 0 0.285714 +19 1.11 0.226422 0.306122 +20 1.17 0.2038 0.326531 +21 1.23 1.29084 0.469388 +22 1.29 0.670615 0.55102 +23 1.35 1.37776 0.734694 +24 1.41 0.701677 0.836735 +25 1.47 1.54938 1.08163 +26 1.53 0.476752 1.16327 +27 1.59 0.662181 1.28571 +28 1.65 0.614903 1.40816 +29 1.71 0.85877 1.59184 +30 1.77 0.80154 1.77551 +31 1.83 0.833163 1.97959 +32 1.89 1.17166 2.28571 +33 1.95 1.24743 2.63265 +34 2.01 0.897822 2.89796 +35 2.07 0.520943 3.06122 +36 2.13 1.29152 3.4898 +37 2.19 0.930841 3.81633 +38 2.25 1.10233 4.22449 +39 2.31 0.888938 4.57143 +40 2.37 1.24191 5.08163 +41 2.43 1.32311 5.65306 +42 2.49 1.53014 6.34694 +43 2.55 1.02987 6.83673 +44 2.61 0.737299 7.20408 +45 2.67 1.21337 7.83673 +46 2.73 0.823666 8.28571 +47 2.79 0.967854 8.83673 +48 2.85 0.961885 9.40816 +49 2.91 1.18624 10.1429 +50 2.97 1.1388 10.8776 +108500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 0.645037 0.183673 +17 0.99 1.13849 0.265306 +18 1.05 0.506063 0.306122 +19 1.11 0.679267 0.367347 +20 1.17 0.6114 0.428571 +21 1.23 1.29084 0.571429 +22 1.29 0.502961 0.632653 +23 1.35 0.765424 0.734694 +24 1.41 1.12268 0.897959 +25 1.47 1.16203 1.08163 +26 1.53 0.953504 1.2449 +27 1.59 0.772544 1.38776 +28 1.65 1.12732 1.61224 +29 1.71 0.667932 1.7551 +30 1.77 1.42496 2.08163 +31 1.83 0.833163 2.28571 +32 1.89 0.859219 2.5102 +33 1.95 0.953918 2.77551 +34 2.01 1.24314 3.14286 +35 2.07 1.107 3.4898 +36 2.13 1.10702 3.85714 +37 2.19 1.10537 4.2449 +38 2.25 0.881861 4.57143 +39 2.31 1.25497 5.06122 +40 2.37 1.04321 5.4898 +41 2.43 0.897822 5.87755 +42 2.49 0.810072 6.2449 +43 2.55 0.944046 6.69388 +44 2.61 0.983065 7.18367 +45 2.67 0.93938 7.67347 +46 2.73 1.12318 8.28571 +47 2.79 0.681082 8.67347 +48 2.85 0.755767 9.12245 +49 2.91 1.4169 10 +50 2.97 1.26533 10.8163 +108550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 1.48744 0.122449 +14 0.81 1.70044 0.204082 +15 0.87 1.8426 0.306122 +16 0.93 0.967555 0.367347 +17 0.99 1.13849 0.44898 +18 1.05 0.253031 0.469388 +19 1.11 0.226422 0.489796 +20 1.17 0.6114 0.55102 +21 1.23 1.10644 0.673469 +22 1.29 1.00592 0.795918 +23 1.35 1.07159 0.938776 +24 1.41 0.842013 1.06122 +25 1.47 0.903804 1.20408 +26 1.53 0.59594 1.30612 +27 1.59 0.772544 1.44898 +28 1.65 0.819871 1.61224 +29 1.71 0.477094 1.71429 +30 1.77 1.60308 2.08163 +31 1.83 0.916479 2.30612 +32 1.89 0.546775 2.44898 +33 1.95 1.24743 2.79592 +34 2.01 0.966885 3.08163 +35 2.07 1.23724 3.46939 +36 2.13 1.16852 3.85714 +37 2.19 1.16355 4.26531 +38 2.25 1.15744 4.69388 +39 2.31 1.04581 5.10204 +40 2.37 0.794824 5.42857 +41 2.43 1.13409 5.91837 +42 2.49 0.495044 6.14286 +43 2.55 1.1586 6.69388 +44 2.61 1.43364 7.40816 +45 2.67 0.821958 7.83673 +46 2.73 1.08574 8.42857 +47 2.79 0.752775 8.85714 +48 2.85 1.03059 9.46939 +49 2.91 1.15329 10.1837 +50 2.97 1.20206 10.9592 +108600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 1.61259 0.244898 +17 0.99 0.284622 0.265306 +18 1.05 0.506063 0.306122 +19 1.11 1.35853 0.428571 +20 1.17 1.8342 0.612245 +21 1.23 1.84406 0.816327 +22 1.29 1.00592 0.938776 +23 1.35 0.918509 1.06122 +24 1.41 0.561342 1.14286 +25 1.47 1.03292 1.30612 +26 1.53 1.07269 1.4898 +27 1.59 0.993271 1.67347 +28 1.65 1.22981 1.91837 +29 1.71 0.763351 2.08163 +30 1.77 1.3359 2.38776 +31 1.83 0.999796 2.63265 +32 1.89 0.859219 2.85714 +33 1.95 0.953918 3.12245 +34 2.01 0.966885 3.40816 +35 2.07 1.17212 3.77551 +36 2.13 0.492009 3.93878 +37 2.19 1.16355 4.34694 +38 2.25 0.716512 4.61224 +39 2.31 0.679776 4.87755 +40 2.37 0.99353 5.28571 +41 2.43 1.13409 5.77551 +42 2.49 1.0801 6.26531 +43 2.55 1.02987 6.7551 +44 2.61 0.819221 7.16327 +45 2.67 0.665394 7.5102 +46 2.73 1.01086 8.06122 +47 2.79 0.824468 8.53061 +48 2.85 1.13365 9.20408 +49 2.91 1.02148 9.83673 +50 2.97 1.0439 10.5102 +108650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 1.48744 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 0.853865 0.265306 +18 1.05 1.77122 0.408163 +19 1.11 0.679267 0.469388 +20 1.17 0.6114 0.530612 +21 1.23 0.553218 0.591837 +22 1.29 1.50888 0.77551 +23 1.35 0.30617 0.816327 +24 1.41 1.12268 0.979592 +25 1.47 1.16203 1.16327 +26 1.53 1.07269 1.34694 +27 1.59 0.551817 1.44898 +28 1.65 0.717387 1.59184 +29 1.71 1.33586 1.87755 +30 1.77 0.62342 2.02041 +31 1.83 0.66653 2.18367 +32 1.89 0.624886 2.34694 +33 1.95 0.807161 2.57143 +34 2.01 0.828758 2.81633 +35 2.07 0.716296 3.04082 +36 2.13 0.984018 3.36735 +37 2.19 0.756309 3.63265 +38 2.25 0.771629 3.91837 +39 2.31 1.25497 4.40816 +40 2.37 0.794824 4.73469 +41 2.43 1.13409 5.22449 +42 2.49 0.900081 5.63265 +43 2.55 1.02987 6.12245 +44 2.61 1.22883 6.73469 +45 2.67 0.978521 7.2449 +46 2.73 1.08574 7.83673 +47 2.79 1.14709 8.4898 +48 2.85 0.961885 9.06122 +49 2.91 1.08739 9.73469 +50 2.97 0.854097 10.2857 +108700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 0.322518 0.22449 +17 0.99 0.853865 0.285714 +18 1.05 1.26516 0.387755 +19 1.11 0.90569 0.469388 +20 1.17 0.2038 0.489796 +21 1.23 0.922029 0.591837 +22 1.29 0.335308 0.632653 +23 1.35 0.153085 0.653061 +24 1.41 0.842013 0.77551 +25 1.47 0.387344 0.836735 +26 1.53 1.66863 1.12245 +27 1.59 1.214 1.34694 +28 1.65 0.922354 1.53061 +29 1.71 1.5267 1.85714 +30 1.77 0.890601 2.06122 +31 1.83 0.333265 2.14286 +32 1.89 1.17166 2.44898 +33 1.95 0.733783 2.65306 +34 2.01 1.3122 3.04082 +35 2.07 1.107 3.38776 +36 2.13 0.922517 3.69388 +37 2.19 0.872664 4 +38 2.25 1.04721 4.38776 +39 2.31 1.25497 4.87755 +40 2.37 0.695471 5.16327 +41 2.43 0.803314 5.5102 +42 2.49 1.1251 6.02041 +43 2.55 0.901135 6.44898 +44 2.61 1.4746 7.18367 +45 2.67 1.25251 7.83673 +46 2.73 0.935984 8.34694 +47 2.79 0.645236 8.71429 +48 2.85 1.13365 9.38776 +49 2.91 1.08739 10.0612 +50 2.97 0.790831 10.5714 +108750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.47408 0.204082 +16 0.93 0.322518 0.22449 +17 0.99 0.284622 0.244898 +18 1.05 2.02425 0.408163 +19 1.11 0.90569 0.489796 +20 1.17 0.4076 0.530612 +21 1.23 0.737623 0.612245 +22 1.29 1.17358 0.755102 +23 1.35 0.612339 0.836735 +24 1.41 1.40335 1.04082 +25 1.47 1.03292 1.20408 +26 1.53 0.953504 1.36735 +27 1.59 1.10363 1.57143 +28 1.65 1.43477 1.85714 +29 1.71 1.14503 2.10204 +30 1.77 0.80154 2.28571 +31 1.83 0.833163 2.4898 +32 1.89 1.09355 2.77551 +33 1.95 0.953918 3.04082 +34 2.01 0.966885 3.32653 +35 2.07 0.846532 3.59184 +36 2.13 1.23002 4 +37 2.19 0.698131 4.2449 +38 2.25 1.43302 4.77551 +39 2.31 0.679776 5.04082 +40 2.37 0.99353 5.44898 +41 2.43 0.567045 5.69388 +42 2.49 0.765068 6.04082 +43 2.55 0.772402 6.40816 +44 2.61 1.02403 6.91837 +45 2.67 0.978521 7.42857 +46 2.73 1.0483 8 +47 2.79 0.609389 8.34694 +48 2.85 0.927532 8.89796 +49 2.91 1.05443 9.55102 +50 2.97 0.727564 10.0204 +108800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.7572 0.102041 +13 0.75 1.98325 0.183673 +14 0.81 0.850222 0.22449 +15 0.87 1.10556 0.285714 +16 0.93 0 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 1.26516 0.428571 +19 1.11 0.90569 0.510204 +20 1.17 0.4076 0.55102 +21 1.23 0.553218 0.612245 +22 1.29 1.17358 0.755102 +23 1.35 0.30617 0.795918 +24 1.41 1.26302 0.979592 +25 1.47 1.16203 1.16327 +26 1.53 1.19188 1.36735 +27 1.59 0.772544 1.5102 +28 1.65 0.307451 1.57143 +29 1.71 1.33586 1.85714 +30 1.77 0.53436 1.97959 +31 1.83 1.49969 2.34694 +32 1.89 0.390554 2.44898 +33 1.95 0.880539 2.69388 +34 2.01 0.966885 2.97959 +35 2.07 0.846532 3.2449 +36 2.13 1.47603 3.73469 +37 2.19 1.22173 4.16327 +38 2.25 0.551163 4.36735 +39 2.31 0.522905 4.57143 +40 2.37 0.496765 4.77551 +41 2.43 0.897822 5.16327 +42 2.49 1.0801 5.65306 +43 2.55 0.858224 6.06122 +44 2.61 1.14691 6.63265 +45 2.67 1.21337 7.26531 +46 2.73 0.861105 7.73469 +47 2.79 0.824468 8.20408 +48 2.85 0.961885 8.77551 +49 2.91 1.15329 9.4898 +50 2.97 1.01226 10.1429 +108850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 2.14319 0.0612245 +10 0.57 0 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0 0.102041 +14 0.81 2.12556 0.204082 +15 0.87 1.47408 0.285714 +16 0.93 0.967555 0.346939 +17 0.99 1.42311 0.44898 +18 1.05 1.01213 0.530612 +19 1.11 0.90569 0.612245 +20 1.17 1.4266 0.755102 +21 1.23 0.553218 0.816327 +22 1.29 0.838269 0.918367 +23 1.35 1.07159 1.06122 +24 1.41 0.421006 1.12245 +25 1.47 0.387344 1.18367 +26 1.53 0.715128 1.30612 +27 1.59 0.551817 1.40816 +28 1.65 0.512419 1.5102 +29 1.71 1.04961 1.73469 +30 1.77 0.71248 1.89796 +31 1.83 1.16643 2.18367 +32 1.89 0.859219 2.40816 +33 1.95 0.660405 2.59184 +34 2.01 0.966885 2.87755 +35 2.07 1.107 3.22449 +36 2.13 0.492009 3.38776 +37 2.19 1.16355 3.79592 +38 2.25 0.826745 4.10204 +39 2.31 0.993519 4.4898 +40 2.37 0.844501 4.83673 +41 2.43 1.08684 5.30612 +42 2.49 0.630056 5.59184 +43 2.55 0.686579 5.91837 +44 2.61 1.14691 6.4898 +45 2.67 1.0568 7.04082 +46 2.73 0.861105 7.5102 +47 2.79 1.14709 8.16327 +48 2.85 1.0993 8.81633 +49 2.91 1.02148 9.44898 +50 2.97 1.1388 10.1837 +108900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 2.57964 0.265306 +16 0.93 0.645037 0.306122 +17 0.99 0.569243 0.346939 +18 1.05 0.759094 0.408163 +19 1.11 0.226422 0.428571 +20 1.17 0.4076 0.469388 +21 1.23 0.184406 0.489796 +22 1.29 1.50888 0.673469 +23 1.35 0.765424 0.77551 +24 1.41 0.421006 0.836735 +25 1.47 0.903804 0.979592 +26 1.53 0.59594 1.08163 +27 1.59 0.441454 1.16327 +28 1.65 1.02484 1.36735 +29 1.71 0.763351 1.53061 +30 1.77 0.80154 1.71429 +31 1.83 0.749847 1.89796 +32 1.89 0.859219 2.12245 +33 1.95 0.660405 2.30612 +34 2.01 0.828758 2.55102 +35 2.07 0.91165 2.83673 +36 2.13 1.29152 3.26531 +37 2.19 0.814486 3.55102 +38 2.25 0.936978 3.89796 +39 2.31 0.993519 4.28571 +40 2.37 1.09288 4.73469 +41 2.43 0.850568 5.10204 +42 2.49 1.26011 5.67347 +43 2.55 0.901135 6.10204 +44 2.61 0.819221 6.5102 +45 2.67 1.25251 7.16327 +46 2.73 1.19806 7.81633 +47 2.79 1.32632 8.57143 +48 2.85 1.0993 9.22449 +49 2.91 0.889679 9.77551 +50 2.97 1.17043 10.5306 +108950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 2.57964 0.265306 +16 0.93 0.322518 0.285714 +17 0.99 0.284622 0.306122 +18 1.05 0 0.306122 +19 1.11 0.679267 0.367347 +20 1.17 0.6114 0.428571 +21 1.23 1.10644 0.55102 +22 1.29 0.670615 0.632653 +23 1.35 0.765424 0.734694 +24 1.41 0.842013 0.857143 +25 1.47 0.645574 0.959184 +26 1.53 0.953504 1.12245 +27 1.59 0.772544 1.26531 +28 1.65 0.717387 1.40816 +29 1.71 1.33586 1.69388 +30 1.77 0.979661 1.91837 +31 1.83 1.74964 2.34694 +32 1.89 1.09355 2.63265 +33 1.95 1.10067 2.93878 +34 2.01 0.759695 3.16327 +35 2.07 1.56283 3.65306 +36 2.13 0.676513 3.87755 +37 2.19 0.756309 4.14286 +38 2.25 0.936978 4.4898 +39 2.31 1.15039 4.93878 +40 2.37 1.04321 5.36735 +41 2.43 0.945075 5.77551 +42 2.49 1.0801 6.26531 +43 2.55 1.33025 6.89796 +44 2.61 0.983065 7.38776 +45 2.67 1.01766 7.91837 +46 2.73 1.2355 8.59184 +47 2.79 0.609389 8.93878 +48 2.85 0.961885 9.5102 +49 2.91 0.626071 9.89796 +50 2.97 1.10716 10.6122 +109000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 1.48744 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 1.47408 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 0.853865 0.326531 +18 1.05 1.01213 0.408163 +19 1.11 0.679267 0.469388 +20 1.17 0.4076 0.510204 +21 1.23 0.737623 0.591837 +22 1.29 0 0.591837 +23 1.35 0.459254 0.653061 +24 1.41 0.842013 0.77551 +25 1.47 0.774689 0.897959 +26 1.53 1.31107 1.12245 +27 1.59 1.214 1.34694 +28 1.65 1.43477 1.63265 +29 1.71 0.85877 1.81633 +30 1.77 1.06872 2.06122 +31 1.83 0.916479 2.28571 +32 1.89 0.937329 2.53061 +33 1.95 0.880539 2.77551 +34 2.01 0.966885 3.06122 +35 2.07 1.107 3.40816 +36 2.13 1.23002 3.81633 +37 2.19 1.16355 4.22449 +38 2.25 0.60628 4.44898 +39 2.31 1.04581 4.85714 +40 2.37 0.99353 5.26531 +41 2.43 1.2286 5.79592 +42 2.49 0.765068 6.14286 +43 2.55 0.901135 6.57143 +44 2.61 1.18787 7.16327 +45 2.67 0.861099 7.61224 +46 2.73 1.08574 8.20408 +47 2.79 1.0037 8.77551 +48 2.85 1.03059 9.38776 +49 2.91 1.12034 10.0816 +50 2.97 1.36023 10.9592 +109050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 2.34293 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 1.70044 0.22449 +15 0.87 0.368519 0.244898 +16 0.93 1.93511 0.367347 +17 0.99 0.569243 0.408163 +18 1.05 1.51819 0.530612 +19 1.11 0.90569 0.612245 +20 1.17 0.8152 0.693878 +21 1.23 0.553218 0.755102 +22 1.29 0.838269 0.857143 +23 1.35 0.918509 0.979592 +24 1.41 0.982348 1.12245 +25 1.47 0.645574 1.22449 +26 1.53 0.715128 1.34694 +27 1.59 1.10363 1.55102 +28 1.65 1.63974 1.87755 +29 1.71 0.954189 2.08163 +30 1.77 0.71248 2.2449 +31 1.83 0.333265 2.32653 +32 1.89 1.17166 2.63265 +33 1.95 0.587026 2.79592 +34 2.01 0.966885 3.08163 +35 2.07 0.781414 3.32653 +36 2.13 0.984018 3.65306 +37 2.19 0.872664 3.95918 +38 2.25 0.881861 4.28571 +39 2.31 0.679776 4.55102 +40 2.37 1.24191 5.06122 +41 2.43 0.945075 5.46939 +42 2.49 0.990089 5.91837 +43 2.55 1.28734 6.53061 +44 2.61 0.983065 7.02041 +45 2.67 0.861099 7.46939 +46 2.73 1.12318 8.08163 +47 2.79 1.0037 8.65306 +48 2.85 1.23671 9.38776 +49 2.91 1.15329 10.102 +50 2.97 1.2337 10.898 +109100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.991624 0.0612245 +14 0.81 1.70044 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0 0.183673 +17 0.99 0.284622 0.204082 +18 1.05 0.506063 0.244898 +19 1.11 0.452845 0.285714 +20 1.17 1.019 0.387755 +21 1.23 0.368812 0.428571 +22 1.29 1.00592 0.55102 +23 1.35 0.765424 0.653061 +24 1.41 1.40335 0.857143 +25 1.47 1.03292 1.02041 +26 1.53 0.953504 1.18367 +27 1.59 0.993271 1.36735 +28 1.65 1.43477 1.65306 +29 1.71 0.954189 1.85714 +30 1.77 1.06872 2.10204 +31 1.83 1.08311 2.36735 +32 1.89 1.17166 2.67347 +33 1.95 0.953918 2.93878 +34 2.01 1.03595 3.2449 +35 2.07 1.17212 3.61224 +36 2.13 0.984018 3.93878 +37 2.19 1.16355 4.34694 +38 2.25 0.881861 4.67347 +39 2.31 0.941229 5.04082 +40 2.37 1.09288 5.4898 +41 2.43 0.472538 5.69388 +42 2.49 0.810072 6.06122 +43 2.55 0.858224 6.46939 +44 2.61 0.901143 6.91837 +45 2.67 1.09594 7.4898 +46 2.73 1.19806 8.14286 +47 2.79 1.14709 8.79592 +48 2.85 1.20236 9.5102 +49 2.91 1.25214 10.2857 +50 2.97 0.854097 10.8367 +109150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 2.14319 0.0612245 +10 0.57 1.71613 0.102041 +11 0.63 1.40505 0.142857 +12 0.69 0 0.142857 +13 0.75 1.98325 0.22449 +14 0.81 0.425111 0.244898 +15 0.87 1.10556 0.306122 +16 0.93 1.29007 0.387755 +17 0.99 1.13849 0.469388 +18 1.05 0 0.469388 +19 1.11 0.679267 0.530612 +20 1.17 1.019 0.632653 +21 1.23 1.10644 0.755102 +22 1.29 0.335308 0.795918 +23 1.35 1.07159 0.938776 +24 1.41 0.701677 1.04082 +25 1.47 0.774689 1.16327 +26 1.53 0.953504 1.32653 +27 1.59 0.993271 1.5102 +28 1.65 1.12732 1.73469 +29 1.71 0.667932 1.87755 +30 1.77 1.24684 2.16327 +31 1.83 1.41638 2.5102 +32 1.89 0.468665 2.63265 +33 1.95 0.953918 2.89796 +34 2.01 0.897822 3.16327 +35 2.07 0.91165 3.44898 +36 2.13 0.984018 3.77551 +37 2.19 0.989019 4.12245 +38 2.25 0.496047 4.30612 +39 2.31 0.993519 4.69388 +40 2.37 0.546442 4.91837 +41 2.43 1.13409 5.40816 +42 2.49 1.03509 5.87755 +43 2.55 1.11569 6.40816 +44 2.61 1.14691 6.97959 +45 2.67 0.821958 7.40816 +46 2.73 1.08574 8 +47 2.79 0.967854 8.55102 +48 2.85 1.0993 9.20408 +49 2.91 1.28509 10 +50 2.97 1.07553 10.6939 +109200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 0.645037 0.183673 +17 0.99 0.569243 0.22449 +18 1.05 0.506063 0.265306 +19 1.11 0.452845 0.306122 +20 1.17 1.6304 0.469388 +21 1.23 0.553218 0.530612 +22 1.29 0.670615 0.612245 +23 1.35 1.83702 0.857143 +24 1.41 0.982348 1 +25 1.47 0.903804 1.14286 +26 1.53 0.834316 1.28571 +27 1.59 1.54509 1.57143 +28 1.65 1.22981 1.81633 +29 1.71 0.85877 2 +30 1.77 1.3359 2.30612 +31 1.83 1.16643 2.59184 +32 1.89 1.01544 2.85714 +33 1.95 1.24743 3.20408 +34 2.01 0.966885 3.4898 +35 2.07 1.04189 3.81633 +36 2.13 0.861016 4.10204 +37 2.19 1.27991 4.55102 +38 2.25 0.936978 4.89796 +39 2.31 1.0981 5.32653 +40 2.37 0.745148 5.63265 +41 2.43 0.75606 5.95918 +42 2.49 1.1251 6.46939 +43 2.55 0.72949 6.81633 +44 2.61 0.901143 7.26531 +45 2.67 0.821958 7.69388 +46 2.73 0.861105 8.16327 +47 2.79 0.645236 8.53061 +48 2.85 1.06494 9.16327 +49 2.91 1.31804 9.97959 +50 2.97 1.20206 10.7551 +109250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0 0.0816327 +15 0.87 1.8426 0.183673 +16 0.93 1.29007 0.265306 +17 0.99 1.13849 0.346939 +18 1.05 1.01213 0.428571 +19 1.11 1.13211 0.530612 +20 1.17 1.019 0.632653 +21 1.23 0.737623 0.714286 +22 1.29 0.838269 0.816327 +23 1.35 0.459254 0.877551 +24 1.41 1.68403 1.12245 +25 1.47 1.03292 1.28571 +26 1.53 1.07269 1.46939 +27 1.59 0.441454 1.55102 +28 1.65 1.22981 1.79592 +29 1.71 1.14503 2.04082 +30 1.77 0.979661 2.26531 +31 1.83 1.24974 2.57143 +32 1.89 0.859219 2.79592 +33 1.95 0.660405 2.97959 +34 2.01 1.24314 3.34694 +35 2.07 1.107 3.69388 +36 2.13 1.04552 4.04082 +37 2.19 0.698131 4.28571 +38 2.25 1.04721 4.67347 +39 2.31 0.941229 5.04082 +40 2.37 0.695471 5.32653 +41 2.43 0.992329 5.7551 +42 2.49 1.03509 6.22449 +43 2.55 0.858224 6.63265 +44 2.61 0.983065 7.12245 +45 2.67 0.704535 7.4898 +46 2.73 1.16062 8.12245 +47 2.79 1.14709 8.77551 +48 2.85 1.0993 9.42857 +49 2.91 0.92263 10 +50 2.97 0.790831 10.5102 +109300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 2.56159 0.408163 +18 1.05 1.01213 0.489796 +19 1.11 0.679267 0.55102 +20 1.17 1.019 0.653061 +21 1.23 1.10644 0.77551 +22 1.29 1.34123 0.938776 +23 1.35 0.765424 1.04082 +24 1.41 0.701677 1.14286 +25 1.47 0.387344 1.20408 +26 1.53 0.953504 1.36735 +27 1.59 1.32436 1.61224 +28 1.65 1.02484 1.81633 +29 1.71 0.572513 1.93878 +30 1.77 1.06872 2.18367 +31 1.83 0.583214 2.32653 +32 1.89 0.859219 2.55102 +33 1.95 0.880539 2.79592 +34 2.01 1.38126 3.20408 +35 2.07 1.17212 3.57143 +36 2.13 1.29152 4 +37 2.19 0.756309 4.26531 +38 2.25 0.440931 4.42857 +39 2.31 1.15039 4.87755 +40 2.37 1.04321 5.30612 +41 2.43 0.992329 5.73469 +42 2.49 0.765068 6.08163 +43 2.55 1.11569 6.61224 +44 2.61 0.901143 7.06122 +45 2.67 0.704535 7.42857 +46 2.73 0.898544 7.91837 +47 2.79 1.0037 8.4898 +48 2.85 1.13365 9.16327 +49 2.91 1.18624 9.89796 +50 2.97 0.664298 10.3265 +109350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 2.14319 0.0612245 +10 0.57 0 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 0.368519 0.183673 +16 0.93 1.61259 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 1.8342 0.632653 +21 1.23 0.553218 0.693878 +22 1.29 1.17358 0.836735 +23 1.35 1.83702 1.08163 +24 1.41 0.701677 1.18367 +25 1.47 0.774689 1.30612 +26 1.53 1.31107 1.53061 +27 1.59 1.214 1.7551 +28 1.65 1.12732 1.97959 +29 1.71 1.62212 2.32653 +30 1.77 0.979661 2.55102 +31 1.83 0.583214 2.69388 +32 1.89 0.781108 2.89796 +33 1.95 1.17405 3.22449 +34 2.01 0.828758 3.46939 +35 2.07 0.781414 3.71429 +36 2.13 0.922517 4.02041 +37 2.19 0.814486 4.30612 +38 2.25 0.60628 4.53061 +39 2.31 0.732067 4.81633 +40 2.37 1.24191 5.32653 +41 2.43 1.37036 5.91837 +42 2.49 1.0801 6.40816 +43 2.55 1.1586 6.95918 +44 2.61 0.819221 7.36735 +45 2.67 1.09594 7.93878 +46 2.73 1.08574 8.53061 +47 2.79 0.860314 9.02041 +48 2.85 0.996238 9.61224 +49 2.91 1.02148 10.2449 +50 2.97 0.727564 10.7143 +109400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 1.29007 0.306122 +17 0.99 0.853865 0.367347 +18 1.05 0.506063 0.408163 +19 1.11 0.452845 0.44898 +20 1.17 1.2228 0.571429 +21 1.23 0.368812 0.612245 +22 1.29 0.838269 0.714286 +23 1.35 0.612339 0.795918 +24 1.41 0.561342 0.877551 +25 1.47 1.16203 1.06122 +26 1.53 0.953504 1.22449 +27 1.59 1.43472 1.4898 +28 1.65 1.02484 1.69388 +29 1.71 1.33586 1.97959 +30 1.77 0.890601 2.18367 +31 1.83 1.58301 2.57143 +32 1.89 0.546775 2.71429 +33 1.95 1.39419 3.10204 +34 2.01 1.03595 3.40816 +35 2.07 0.651178 3.61224 +36 2.13 1.16852 4 +37 2.19 1.27991 4.44898 +38 2.25 0.936978 4.79592 +39 2.31 0.888938 5.14286 +40 2.37 1.24191 5.65306 +41 2.43 1.18134 6.16327 +42 2.49 1.1251 6.67347 +43 2.55 0.986958 7.14286 +44 2.61 0.901143 7.59184 +45 2.67 0.861099 8.04082 +46 2.73 0.59903 8.36735 +47 2.79 0.716929 8.77551 +48 2.85 0.687061 9.18367 +49 2.91 0.724924 9.63265 +50 2.97 1.07553 10.3265 +109450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 1.48744 0.0816327 +14 0.81 1.70044 0.163265 +15 0.87 0.368519 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 0.284622 0.22449 +18 1.05 0.253031 0.244898 +19 1.11 0.452845 0.285714 +20 1.17 1.019 0.387755 +21 1.23 0.553218 0.44898 +22 1.29 1.17358 0.591837 +23 1.35 1.83702 0.836735 +24 1.41 1.12268 1 +25 1.47 0.903804 1.14286 +26 1.53 0.953504 1.30612 +27 1.59 1.76582 1.63265 +28 1.65 0.717387 1.77551 +29 1.71 1.14503 2.02041 +30 1.77 1.15778 2.28571 +31 1.83 0.499898 2.40816 +32 1.89 1.01544 2.67347 +33 1.95 0.880539 2.91837 +34 2.01 0.828758 3.16327 +35 2.07 1.04189 3.4898 +36 2.13 1.10702 3.85714 +37 2.19 1.22173 4.28571 +38 2.25 0.992094 4.65306 +39 2.31 1.41184 5.20408 +40 2.37 0.943854 5.59184 +41 2.43 1.37036 6.18367 +42 2.49 1.26011 6.7551 +43 2.55 0.944046 7.20408 +44 2.61 0.737299 7.57143 +45 2.67 1.0568 8.12245 +46 2.73 1.2355 8.79592 +47 2.79 1.03955 9.38776 +48 2.85 1.20236 10.102 +49 2.91 1.02148 10.7347 +50 2.97 0.88573 11.3061 +109500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 1.70044 0.142857 +15 0.87 1.8426 0.244898 +16 0.93 0.645037 0.285714 +17 0.99 0.284622 0.306122 +18 1.05 1.77122 0.44898 +19 1.11 0.452845 0.489796 +20 1.17 0.4076 0.530612 +21 1.23 0.737623 0.612245 +22 1.29 1.50888 0.795918 +23 1.35 0.765424 0.897959 +24 1.41 0.280671 0.938776 +25 1.47 0.903804 1.08163 +26 1.53 0.834316 1.22449 +27 1.59 0.993271 1.40816 +28 1.65 1.22981 1.65306 +29 1.71 1.14503 1.89796 +30 1.77 1.24684 2.18367 +31 1.83 1.33306 2.5102 +32 1.89 0.702997 2.69388 +33 1.95 0.807161 2.91837 +34 2.01 0.828758 3.16327 +35 2.07 0.976768 3.46939 +36 2.13 0.615011 3.67347 +37 2.19 1.16355 4.08163 +38 2.25 0.992094 4.44898 +39 2.31 1.25497 4.93878 +40 2.37 1.14256 5.40816 +41 2.43 0.850568 5.77551 +42 2.49 1.30512 6.36735 +43 2.55 1.11569 6.89796 +44 2.61 1.22883 7.5102 +45 2.67 1.29165 8.18367 +46 2.73 1.01086 8.73469 +47 2.79 0.788621 9.18367 +48 2.85 0.893179 9.71429 +49 2.91 0.955581 10.3061 +50 2.97 1.01226 10.9592 +109550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.7572 0.0816327 +13 0.75 0 0.0816327 +14 0.81 1.70044 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 1.61259 0.306122 +17 0.99 0.569243 0.346939 +18 1.05 0.759094 0.408163 +19 1.11 0.226422 0.428571 +20 1.17 1.2228 0.55102 +21 1.23 0.737623 0.632653 +22 1.29 1.17358 0.77551 +23 1.35 0.612339 0.857143 +24 1.41 0.561342 0.938776 +25 1.47 1.42026 1.16327 +26 1.53 0.834316 1.30612 +27 1.59 1.10363 1.5102 +28 1.65 0.819871 1.67347 +29 1.71 0.85877 1.85714 +30 1.77 0.62342 2 +31 1.83 0.749847 2.18367 +32 1.89 0.781108 2.38776 +33 1.95 1.10067 2.69388 +34 2.01 0.966885 2.97959 +35 2.07 1.04189 3.30612 +36 2.13 1.35303 3.7551 +37 2.19 0.814486 4.04082 +38 2.25 0.826745 4.34694 +39 2.31 1.20268 4.81633 +40 2.37 0.99353 5.22449 +41 2.43 1.08684 5.69388 +42 2.49 0.67506 6 +43 2.55 1.02987 6.4898 +44 2.61 0.983065 6.97959 +45 2.67 1.29165 7.65306 +46 2.73 0.935984 8.16327 +47 2.79 1.03955 8.7551 +48 2.85 1.03059 9.36735 +49 2.91 0.757875 9.83673 +50 2.97 0.98063 10.4694 +109600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 1.71613 0.0816327 +11 0.63 0 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 1.42311 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 1.13211 0.489796 +20 1.17 0.8152 0.571429 +21 1.23 1.29084 0.714286 +22 1.29 0.502961 0.77551 +23 1.35 0.459254 0.836735 +24 1.41 0.701677 0.938776 +25 1.47 0.645574 1.04082 +26 1.53 0.715128 1.16327 +27 1.59 1.43472 1.42857 +28 1.65 0.819871 1.59184 +29 1.71 1.14503 1.83673 +30 1.77 1.15778 2.10204 +31 1.83 0.66653 2.26531 +32 1.89 0.937329 2.5102 +33 1.95 0.953918 2.77551 +34 2.01 0.966885 3.06122 +35 2.07 0.846532 3.32653 +36 2.13 1.29152 3.7551 +37 2.19 0.814486 4.04082 +38 2.25 0.771629 4.32653 +39 2.31 0.888938 4.67347 +40 2.37 1.04321 5.10204 +41 2.43 1.37036 5.69388 +42 2.49 0.855076 6.08163 +43 2.55 1.11569 6.61224 +44 2.61 1.02403 7.12245 +45 2.67 1.21337 7.7551 +46 2.73 1.0483 8.32653 +47 2.79 1.03955 8.91837 +48 2.85 1.03059 9.53061 +49 2.91 1.12034 10.2245 +50 2.97 0.88573 10.7959 +109650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 1.93511 0.326531 +17 0.99 0.853865 0.387755 +18 1.05 0.759094 0.44898 +19 1.11 0.679267 0.510204 +20 1.17 0.2038 0.530612 +21 1.23 0.737623 0.612245 +22 1.29 1.17358 0.755102 +23 1.35 1.07159 0.897959 +24 1.41 0.421006 0.959184 +25 1.47 0.774689 1.08163 +26 1.53 1.43026 1.32653 +27 1.59 1.214 1.55102 +28 1.65 1.43477 1.83673 +29 1.71 0.763351 2 +30 1.77 0.979661 2.22449 +31 1.83 1.08311 2.4898 +32 1.89 1.24977 2.81633 +33 1.95 1.46757 3.22449 +34 2.01 1.3122 3.61224 +35 2.07 0.586061 3.79592 +36 2.13 1.23002 4.20408 +37 2.19 0.698131 4.44898 +38 2.25 1.54326 5.02041 +39 2.31 1.0981 5.44898 +40 2.37 0.794824 5.77551 +41 2.43 1.08684 6.2449 +42 2.49 0.585052 6.5102 +43 2.55 0.72949 6.85714 +44 2.61 1.10595 7.40816 +45 2.67 1.25251 8.06122 +46 2.73 1.01086 8.61224 +47 2.79 0.932007 9.14286 +48 2.85 0.893179 9.67347 +49 2.91 0.955581 10.2653 +50 2.97 1.26533 11.0816 +109700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 1.70044 0.142857 +15 0.87 3.31668 0.326531 +16 0.93 0.322518 0.346939 +17 0.99 0.853865 0.408163 +18 1.05 0.759094 0.469388 +19 1.11 0.679267 0.530612 +20 1.17 0.8152 0.612245 +21 1.23 0.184406 0.632653 +22 1.29 2.01185 0.877551 +23 1.35 1.07159 1.02041 +24 1.41 1.82436 1.28571 +25 1.47 0.774689 1.40816 +26 1.53 1.19188 1.61224 +27 1.59 1.32436 1.85714 +28 1.65 0.819871 2.02041 +29 1.71 1.24045 2.28571 +30 1.77 1.15778 2.55102 +31 1.83 1.24974 2.85714 +32 1.89 0.702997 3.04082 +33 1.95 1.32081 3.40816 +34 2.01 1.10501 3.73469 +35 2.07 0.846532 4 +36 2.13 1.16852 4.38776 +37 2.19 0.930841 4.71429 +38 2.25 1.04721 5.10204 +39 2.31 0.679776 5.36735 +40 2.37 1.29159 5.89796 +41 2.43 0.945075 6.30612 +42 2.49 0.990089 6.7551 +43 2.55 1.11569 7.28571 +44 2.61 0.983065 7.77551 +45 2.67 1.21337 8.40816 +46 2.73 0.823666 8.85714 +47 2.79 1.32632 9.61224 +48 2.85 1.23671 10.3469 +49 2.91 0.724924 10.7959 +50 2.97 0.790831 11.3061 +109750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 1.98325 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 1.8426 0.306122 +16 0.93 0.967555 0.367347 +17 0.99 1.13849 0.44898 +18 1.05 0.506063 0.489796 +19 1.11 1.58496 0.632653 +20 1.17 1.2228 0.755102 +21 1.23 1.29084 0.897959 +22 1.29 1.50888 1.08163 +23 1.35 1.22468 1.2449 +24 1.41 1.40335 1.44898 +25 1.47 1.03292 1.61224 +26 1.53 0.834316 1.7551 +27 1.59 0.882908 1.91837 +28 1.65 0.819871 2.08163 +29 1.71 0.954189 2.28571 +30 1.77 0.80154 2.46939 +31 1.83 0.583214 2.61224 +32 1.89 0.859219 2.83673 +33 1.95 0.953918 3.10204 +34 2.01 1.03595 3.40816 +35 2.07 0.91165 3.69388 +36 2.13 0.738014 3.93878 +37 2.19 0.989019 4.28571 +38 2.25 1.10233 4.69388 +39 2.31 1.56871 5.30612 +40 2.37 0.645795 5.57143 +41 2.43 1.13409 6.06122 +42 2.49 1.21511 6.61224 +43 2.55 0.858224 7.02041 +44 2.61 1.26979 7.65306 +45 2.67 1.0568 8.20408 +46 2.73 0.56159 8.5102 +47 2.79 1.32632 9.26531 +48 2.85 1.168 9.95918 +49 2.91 0.955581 10.551 +50 2.97 0.98063 11.1837 +109800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.14319 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 0 0.163265 +15 0.87 1.8426 0.265306 +16 0.93 0 0.265306 +17 0.99 1.42311 0.367347 +18 1.05 0.253031 0.387755 +19 1.11 1.81138 0.55102 +20 1.17 0.6114 0.612245 +21 1.23 0.553218 0.673469 +22 1.29 0.838269 0.77551 +23 1.35 1.07159 0.918367 +24 1.41 0.982348 1.06122 +25 1.47 1.16203 1.2449 +26 1.53 1.19188 1.44898 +27 1.59 0.662181 1.57143 +28 1.65 0.717387 1.71429 +29 1.71 0.572513 1.83673 +30 1.77 0.62342 1.97959 +31 1.83 0.916479 2.20408 +32 1.89 0.859219 2.42857 +33 1.95 1.10067 2.73469 +34 2.01 0.690632 2.93878 +35 2.07 0.716296 3.16327 +36 2.13 1.72203 3.73469 +37 2.19 0.814486 4.02041 +38 2.25 0.936978 4.36735 +39 2.31 1.15039 4.81633 +40 2.37 0.645795 5.08163 +41 2.43 1.13409 5.57143 +42 2.49 1.26011 6.14286 +43 2.55 0.72949 6.4898 +44 2.61 0.983065 6.97959 +45 2.67 1.13508 7.57143 +46 2.73 1.0483 8.14286 +47 2.79 1.18293 8.81633 +48 2.85 1.20236 9.53061 +49 2.91 0.757875 10 +50 2.97 0.822464 10.5306 +109850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0 0.0612245 +12 0.69 0 0.0612245 +13 0.75 1.98325 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 0 0.265306 +18 1.05 0.506063 0.306122 +19 1.11 0.452845 0.346939 +20 1.17 1.2228 0.469388 +21 1.23 0.737623 0.55102 +22 1.29 0.670615 0.632653 +23 1.35 0.30617 0.673469 +24 1.41 1.12268 0.836735 +25 1.47 0.903804 0.979592 +26 1.53 0.953504 1.14286 +27 1.59 0.772544 1.28571 +28 1.65 0.717387 1.42857 +29 1.71 0.763351 1.59184 +30 1.77 1.42496 1.91837 +31 1.83 0.66653 2.08163 +32 1.89 0.702997 2.26531 +33 1.95 0.953918 2.53061 +34 2.01 1.10501 2.85714 +35 2.07 0.716296 3.08163 +36 2.13 0.55351 3.26531 +37 2.19 1.0472 3.63265 +38 2.25 0.992094 4 +39 2.31 0.941229 4.36735 +40 2.37 1.14256 4.83673 +41 2.43 0.992329 5.26531 +42 2.49 0.765068 5.61224 +43 2.55 1.07278 6.12245 +44 2.61 0.942104 6.59184 +45 2.67 0.782817 7 +46 2.73 1.16062 7.63265 +47 2.79 1.32632 8.38776 +48 2.85 1.168 9.08163 +49 2.91 1.21919 9.83673 +50 2.97 1.07553 10.5306 +109900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 0.569243 0.265306 +18 1.05 0.506063 0.306122 +19 1.11 0.452845 0.346939 +20 1.17 0.4076 0.387755 +21 1.23 0.368812 0.428571 +22 1.29 0.838269 0.530612 +23 1.35 1.22468 0.693878 +24 1.41 0.561342 0.77551 +25 1.47 0.645574 0.877551 +26 1.53 0.834316 1.02041 +27 1.59 1.43472 1.28571 +28 1.65 0.717387 1.42857 +29 1.71 0.954189 1.63265 +30 1.77 0.71248 1.79592 +31 1.83 0.999796 2.04082 +32 1.89 0.781108 2.2449 +33 1.95 1.6877 2.71429 +34 2.01 1.17407 3.06122 +35 2.07 1.56283 3.55102 +36 2.13 0.799515 3.81633 +37 2.19 0.756309 4.08163 +38 2.25 0.936978 4.42857 +39 2.31 0.941229 4.79592 +40 2.37 1.14256 5.26531 +41 2.43 1.03958 5.71429 +42 2.49 1.0801 6.20408 +43 2.55 0.901135 6.63265 +44 2.61 0.819221 7.04082 +45 2.67 0.861099 7.4898 +46 2.73 0.823666 7.93878 +47 2.79 1.07539 8.55102 +48 2.85 1.58024 9.4898 +49 2.91 0.889679 10.0408 +50 2.97 1.2337 10.8367 +109950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 2.97487 0.163265 +14 0.81 0.425111 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 0.284622 0.285714 +18 1.05 0.253031 0.306122 +19 1.11 0.679267 0.367347 +20 1.17 0.6114 0.428571 +21 1.23 1.10644 0.55102 +22 1.29 1.00592 0.673469 +23 1.35 0.765424 0.77551 +24 1.41 0.701677 0.877551 +25 1.47 0.645574 0.979592 +26 1.53 0.357564 1.04082 +27 1.59 0.993271 1.22449 +28 1.65 0.819871 1.38776 +29 1.71 0.667932 1.53061 +30 1.77 0.62342 1.67347 +31 1.83 1.16643 1.95918 +32 1.89 1.24977 2.28571 +33 1.95 0.807161 2.5102 +34 2.01 1.03595 2.81633 +35 2.07 1.107 3.16327 +36 2.13 1.10702 3.53061 +37 2.19 0.814486 3.81633 +38 2.25 1.43302 4.34694 +39 2.31 1.25497 4.83673 +40 2.37 1.09288 5.28571 +41 2.43 1.41761 5.89796 +42 2.49 1.21511 6.44898 +43 2.55 0.901135 6.87755 +44 2.61 1.02403 7.38776 +45 2.67 0.821958 7.81633 +46 2.73 1.12318 8.42857 +47 2.79 1.43386 9.2449 +48 2.85 0.893179 9.77551 +49 2.91 0.889679 10.3265 +50 2.97 1.0439 11 +110000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0 0.0408163 +14 0.81 1.27533 0.102041 +15 0.87 1.47408 0.183673 +16 0.93 1.29007 0.265306 +17 0.99 1.13849 0.346939 +18 1.05 1.01213 0.428571 +19 1.11 0.226422 0.44898 +20 1.17 0.8152 0.530612 +21 1.23 0.922029 0.632653 +22 1.29 0.167654 0.653061 +23 1.35 0.30617 0.693878 +24 1.41 0.982348 0.836735 +25 1.47 0.774689 0.959184 +26 1.53 0.59594 1.06122 +27 1.59 1.65545 1.36735 +28 1.65 1.12732 1.59184 +29 1.71 1.43128 1.89796 +30 1.77 1.15778 2.16327 +31 1.83 0.583214 2.30612 +32 1.89 1.01544 2.57143 +33 1.95 1.32081 2.93878 +34 2.01 0.759695 3.16327 +35 2.07 1.17212 3.53061 +36 2.13 0.738014 3.77551 +37 2.19 1.22173 4.20408 +38 2.25 0.936978 4.55102 +39 2.31 0.836648 4.87755 +40 2.37 1.39094 5.44898 +41 2.43 0.708807 5.7551 +42 2.49 0.945085 6.18367 +43 2.55 0.986958 6.65306 +44 2.61 1.18787 7.2449 +45 2.67 0.90024 7.71429 +46 2.73 0.935984 8.22449 +47 2.79 1.03955 8.81633 +48 2.85 0.927532 9.36735 +49 2.91 0.856728 9.89796 +50 2.97 1.01226 10.551 diff --git a/examples/USER/misc/slater/tmp_2_3.rdf b/examples/USER/misc/slater/tmp_2_3.rdf new file mode 100644 index 0000000000000000000000000000000000000000..07a003415c400006a98ce685fe5b1babc91ffd76 --- /dev/null +++ b/examples/USER/misc/slater/tmp_2_3.rdf @@ -0,0 +1,10254 @@ +# Time-averaged data for fix 15 +# TimeStep Number-of-rows +# Row c_RDF_2_3[1] c_RDF_2_3[2] c_RDF_2_3[3] +100000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 1.69862 0.0612245 +11 0.63 1.04303 0.0918367 +12 0.69 2.02914 0.163265 +13 0.75 1.22688 0.214286 +14 0.81 1.89348 0.306122 +15 0.87 2.18855 0.428571 +16 0.93 1.59614 0.530612 +17 0.99 1.40859 0.632653 +18 1.05 0.876573 0.704082 +19 1.11 0.896448 0.785714 +20 1.17 1.21032 0.908163 +21 1.23 0.821359 1 +22 1.29 1.24457 1.15306 +23 1.35 0.909136 1.27551 +24 1.41 1.04178 1.42857 +25 1.47 1.15018 1.61224 +26 1.53 1.29769 1.83673 +27 1.59 1.03775 2.03061 +28 1.65 0.912943 2.21429 +29 1.71 1.18057 2.46939 +30 1.77 1.01374 2.70408 +31 1.83 1.27823 3.02041 +32 1.89 1.00508 3.28571 +33 1.95 0.581036 3.44898 +34 2.01 0.854481 3.70408 +35 2.07 0.999027 4.02041 +36 2.13 0.85223 4.30612 +37 2.19 0.806175 4.59184 +38 2.25 0.845586 4.90816 +39 2.31 1.0869 5.33673 +40 2.37 0.934223 5.72449 +41 2.43 0.935432 6.13265 +42 2.49 1.11362 6.64286 +43 2.55 1.12554 7.18367 +44 2.61 0.831133 7.60204 +45 2.67 0.774829 8.0102 +46 2.73 1.09319 8.61224 +47 2.79 0.957978 9.16327 +48 2.85 1.07108 9.80612 +49 2.91 1.1089 10.5 +50 2.97 0.923658 11.102 +100050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.69862 0.0612245 +11 0.63 1.39071 0.102041 +12 0.69 0.869633 0.132653 +13 0.75 1.22688 0.183673 +14 0.81 1.68309 0.265306 +15 0.87 1.8238 0.367347 +16 0.93 1.1173 0.438776 +17 0.99 1.97202 0.581633 +18 1.05 1.75315 0.72449 +19 1.11 0.336168 0.755102 +20 1.17 1.81548 0.938776 +21 1.23 1.46019 1.10204 +22 1.29 1.1616 1.2449 +23 1.35 0.984898 1.37755 +24 1.41 1.25013 1.56122 +25 1.47 1.40577 1.78571 +26 1.53 0.825803 1.92857 +27 1.59 1.14699 2.14286 +28 1.65 1.01438 2.34694 +29 1.71 0.850007 2.53061 +30 1.77 0.793362 2.71429 +31 1.83 1.11329 2.9898 +32 1.89 0.579853 3.14286 +33 1.95 1.01681 3.42857 +34 2.01 1.02538 3.73469 +35 2.07 0.67676 3.94898 +36 2.13 1.1566 4.33673 +37 2.19 1.00772 4.69388 +38 2.25 1.25474 5.16327 +39 2.31 1.24217 5.65306 +40 2.37 1.00798 6.07143 +41 2.43 1.16929 6.58163 +42 2.49 1.18044 7.12245 +43 2.55 0.870703 7.54082 +44 2.61 0.993305 8.04082 +45 2.67 0.968536 8.55102 +46 2.73 1.14878 9.18367 +47 2.79 0.851536 9.67347 +48 2.85 0.884065 10.2041 +49 2.91 0.913216 10.7755 +50 2.97 1.06455 11.4694 +100100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0 0.0306122 +11 0.63 0 0.0306122 +12 0.69 0.869633 0.0612245 +13 0.75 2.20839 0.153061 +14 0.81 1.89348 0.244898 +15 0.87 1.27666 0.316327 +16 0.93 0.798069 0.367347 +17 0.99 2.3946 0.540816 +18 1.05 0.876573 0.612245 +19 1.11 1.0085 0.704082 +20 1.17 0.806882 0.785714 +21 1.23 1.09515 0.908163 +22 1.29 0.746744 1 +23 1.35 1.3637 1.18367 +24 1.41 1.31958 1.37755 +25 1.47 0.95848 1.53061 +26 1.53 1.06175 1.71429 +27 1.59 0.928517 1.88776 +28 1.65 1.0651 2.10204 +29 1.71 1.32223 2.38776 +30 1.77 0.925588 2.60204 +31 1.83 0.907127 2.82653 +32 1.89 0.927765 3.07143 +33 1.95 1.41628 3.46939 +34 2.01 1.19627 3.82653 +35 2.07 1.28907 4.23469 +36 2.13 0.973977 4.56122 +37 2.19 0.978927 4.90816 +38 2.25 1.09108 5.31633 +39 2.31 1.11277 5.7551 +40 2.37 0.983392 6.16327 +41 2.43 1.28622 6.72449 +42 2.49 1.02453 7.19388 +43 2.55 0.95565 7.65306 +44 2.61 1.23656 8.27551 +45 2.67 0.949166 8.77551 +46 2.73 1.05613 9.35714 +47 2.79 0.993458 9.92857 +48 2.85 1.13908 10.6122 +49 2.91 0.994753 11.2347 +50 2.97 0.986279 11.8776 +100150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 1.69862 0.0816327 +11 0.63 2.08607 0.142857 +12 0.69 1.15951 0.183673 +13 0.75 1.71763 0.255102 +14 0.81 1.89348 0.346939 +15 0.87 2.37093 0.479592 +16 0.93 1.1173 0.55102 +17 0.99 1.6903 0.673469 +18 1.05 2.37927 0.867347 +19 1.11 1.56878 1.0102 +20 1.17 1.21032 1.13265 +21 1.23 0.912621 1.23469 +22 1.29 0.912687 1.34694 +23 1.35 0.833375 1.45918 +24 1.41 1.04178 1.61224 +25 1.47 1.15018 1.79592 +26 1.53 1.00276 1.96939 +27 1.59 1.14699 2.18367 +28 1.65 0.963662 2.37755 +29 1.71 1.18057 2.63265 +30 1.77 1.19004 2.90816 +31 1.83 1.15453 3.19388 +32 1.89 0.773137 3.39796 +33 1.95 0.83524 3.63265 +34 2.01 0.683585 3.83673 +35 2.07 1.41797 4.28571 +36 2.13 0.913104 4.59184 +37 2.19 0.921343 4.91837 +38 2.25 1.20019 5.36735 +39 2.31 0.905746 5.72449 +40 2.37 1.03256 6.15306 +41 2.43 1.05236 6.61224 +42 2.49 0.979986 7.06122 +43 2.55 0.998123 7.54082 +44 2.61 1.21629 8.15306 +45 2.67 1.04602 8.70408 +46 2.73 0.982019 9.2449 +47 2.79 1.08216 9.86735 +48 2.85 1.12208 10.5408 +49 2.91 0.799064 11.0408 +50 2.97 1.17414 11.8061 +100200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.04287 0.0306122 +9 0.51 2.12132 0.0714286 +10 0.57 2.54793 0.132653 +11 0.63 2.43375 0.204082 +12 0.69 1.15951 0.244898 +13 0.75 0.736129 0.27551 +14 0.81 1.89348 0.367347 +15 0.87 1.09428 0.428571 +16 0.93 0.798069 0.479592 +17 0.99 1.54944 0.591837 +18 1.05 1.87837 0.744898 +19 1.11 1.23262 0.857143 +20 1.17 1.61376 1.02041 +21 1.23 0.821359 1.11224 +22 1.29 0.829715 1.21429 +23 1.35 1.51523 1.41837 +24 1.41 1.52794 1.64286 +25 1.47 1.02238 1.80612 +26 1.53 1.53363 2.07143 +27 1.59 0.546186 2.17347 +28 1.65 0.963662 2.36735 +29 1.71 1.70001 2.73469 +30 1.77 1.14597 3 +31 1.83 0.742195 3.18367 +32 1.89 1.19836 3.5 +33 1.95 0.944184 3.76531 +34 2.01 1.16209 4.11224 +35 2.07 1.16016 4.47959 +36 2.13 0.882667 4.77551 +37 2.19 0.777383 5.05102 +38 2.25 1.00925 5.42857 +39 2.31 0.853989 5.76531 +40 2.37 1.00798 6.18367 +41 2.43 0.72496 6.5 +42 2.49 1.02453 6.96939 +43 2.55 1.14678 7.52041 +44 2.61 0.871676 7.95918 +45 2.67 0.891053 8.42857 +46 2.73 0.778204 8.85714 +47 2.79 1.02894 9.44898 +48 2.85 1.13908 10.1327 +49 2.91 1.17413 10.8673 +50 2.97 1.00193 11.5204 +100250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 1.59099 0.0510204 +10 0.57 0.424655 0.0612245 +11 0.63 1.04303 0.0918367 +12 0.69 2.02914 0.163265 +13 0.75 1.71763 0.234694 +14 0.81 2.31425 0.346939 +15 0.87 2.18855 0.469388 +16 0.93 2.07498 0.602041 +17 0.99 0.98601 0.673469 +18 1.05 0.876573 0.744898 +19 1.11 0.896448 0.826531 +20 1.17 0.806882 0.908163 +21 1.23 0.912621 1.0102 +22 1.29 1.24457 1.16327 +23 1.35 1.06066 1.30612 +24 1.41 0.902872 1.43878 +25 1.47 1.02238 1.60204 +26 1.53 1.17972 1.80612 +27 1.59 0.81928 1.95918 +28 1.65 1.47085 2.2551 +29 1.71 1.36946 2.55102 +30 1.77 1.14597 2.81633 +31 1.83 0.989594 3.06122 +32 1.89 0.966422 3.31633 +33 1.95 1.37996 3.70408 +34 2.01 0.88866 3.96939 +35 2.07 0.934574 4.26531 +36 2.13 0.94354 4.58163 +37 2.19 0.806175 4.86735 +38 2.25 0.954694 5.22449 +39 2.31 1.0869 5.65306 +40 2.37 1.35216 6.21429 +41 2.43 0.958818 6.63265 +42 2.49 1.11362 7.14286 +43 2.55 0.806993 7.53061 +44 2.61 0.810861 7.93878 +45 2.67 1.04602 8.4898 +46 2.73 0.907904 8.9898 +47 2.79 0.940237 9.53061 +48 2.85 0.935069 10.0918 +49 2.91 1.05998 10.7551 +50 2.97 1.08021 11.4592 +100300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 2.43375 0.132653 +12 0.69 1.44939 0.183673 +13 0.75 0.981505 0.22449 +14 0.81 1.89348 0.316327 +15 0.87 1.8238 0.418367 +16 0.93 1.1173 0.489796 +17 0.99 1.54944 0.602041 +18 1.05 1.12702 0.693878 +19 1.11 0.672336 0.755102 +20 1.17 1.10946 0.867347 +21 1.23 1.00388 0.979592 +22 1.29 1.57646 1.17347 +23 1.35 0.909136 1.29592 +24 1.41 1.31958 1.4898 +25 1.47 1.15018 1.67347 +26 1.53 0.943774 1.83673 +27 1.59 1.42008 2.10204 +28 1.65 1.0651 2.31633 +29 1.71 0.566671 2.43878 +30 1.77 1.14597 2.70408 +31 1.83 1.19576 3 +32 1.89 1.23702 3.32653 +33 1.95 1.16207 3.65306 +34 2.01 1.36717 4.06122 +35 2.07 0.934574 4.35714 +36 2.13 0.94354 4.67347 +37 2.19 0.950135 5.0102 +38 2.25 0.927417 5.35714 +39 2.31 1.00926 5.7551 +40 2.37 1.10632 6.21429 +41 2.43 0.982203 6.64286 +42 2.49 1.00226 7.10204 +43 2.55 0.998123 7.58163 +44 2.61 1.05412 8.11224 +45 2.67 0.949166 8.61224 +46 2.73 1.05613 9.19388 +47 2.79 0.993458 9.76531 +48 2.85 0.969072 10.3469 +49 2.91 0.962138 10.949 +50 2.97 0.892347 11.5306 +100350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 0 0.0306122 +11 0.63 1.39071 0.0714286 +12 0.69 1.44939 0.122449 +13 0.75 2.20839 0.214286 +14 0.81 1.26232 0.27551 +15 0.87 1.27666 0.346939 +16 0.93 1.43652 0.438776 +17 0.99 1.26773 0.530612 +18 1.05 1.37747 0.642857 +19 1.11 0.56028 0.693878 +20 1.17 0.806882 0.77551 +21 1.23 1.46019 0.938776 +22 1.29 0.912687 1.05102 +23 1.35 0.757614 1.15306 +24 1.41 0.972324 1.29592 +25 1.47 0.95848 1.44898 +26 1.53 1.2387 1.66327 +27 1.59 1.25623 1.89796 +28 1.65 1.01438 2.10204 +29 1.71 1.13334 2.34694 +30 1.77 1.19004 2.62245 +31 1.83 0.907127 2.84694 +32 1.89 1.00508 3.11224 +33 1.95 0.798925 3.33673 +34 2.01 0.957019 3.62245 +35 2.07 0.870121 3.89796 +36 2.13 1.06529 4.2551 +37 2.19 0.921343 4.58163 +38 2.25 0.872863 4.90816 +39 2.31 0.905746 5.26531 +40 2.37 0.909638 5.64286 +41 2.43 1.23945 6.18367 +42 2.49 1.00226 6.64286 +43 2.55 0.934413 7.09184 +44 2.61 0.912219 7.55102 +45 2.67 1.04602 8.10204 +46 2.73 0.944962 8.62245 +47 2.79 0.975718 9.18367 +48 2.85 1.19009 9.89796 +49 2.91 0.994753 10.5204 +50 2.97 0.954968 11.1429 +100400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 1.81231 0.0306122 +8 0.45 0.680956 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0.84931 0.0612245 +11 0.63 0.347678 0.0714286 +12 0.69 0.869633 0.102041 +13 0.75 1.96301 0.183673 +14 0.81 1.26232 0.244898 +15 0.87 1.8238 0.346939 +16 0.93 1.59614 0.44898 +17 0.99 0.845152 0.510204 +18 1.05 0.876573 0.581633 +19 1.11 0.56028 0.632653 +20 1.17 0.806882 0.714286 +21 1.23 1.18641 0.846939 +22 1.29 0.746744 0.938776 +23 1.35 1.06066 1.08163 +24 1.41 1.11123 1.2449 +25 1.47 1.15018 1.42857 +26 1.53 1.29769 1.65306 +27 1.59 0.983136 1.83673 +28 1.65 1.21726 2.08163 +29 1.71 0.89723 2.27551 +30 1.77 0.837437 2.46939 +31 1.83 1.03083 2.72449 +32 1.89 1.54627 3.13265 +33 1.95 0.980499 3.40816 +34 2.01 0.957019 3.69388 +35 2.07 0.870121 3.96939 +36 2.13 1.09572 4.33673 +37 2.19 1.32443 4.80612 +38 2.25 1.0638 5.20408 +39 2.31 0.750475 5.5 +40 2.37 1.08173 5.94898 +41 2.43 1.07575 6.41837 +42 2.49 0.979986 6.86735 +43 2.55 1.08307 7.38776 +44 2.61 1.03385 7.90816 +45 2.67 0.968536 8.41837 +46 2.73 0.870847 8.89796 +47 2.79 0.957978 9.44898 +48 2.85 0.850063 9.95918 +49 2.91 1.07629 10.6327 +50 2.97 0.986279 11.2755 +100450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 0.347678 0.0408163 +12 0.69 0.869633 0.0714286 +13 0.75 0.981505 0.112245 +14 0.81 1.05193 0.163265 +15 0.87 1.09428 0.22449 +16 0.93 0.957682 0.285714 +17 0.99 1.12687 0.367347 +18 1.05 0.751348 0.428571 +19 1.11 1.0085 0.520408 +20 1.17 0.806882 0.602041 +21 1.23 1.00388 0.714286 +22 1.29 1.41052 0.887755 +23 1.35 0.833375 1 +24 1.41 1.18068 1.17347 +25 1.47 1.15018 1.35714 +26 1.53 1.29769 1.58163 +27 1.59 0.983136 1.76531 +28 1.65 0.963662 1.95918 +29 1.71 0.850007 2.14286 +30 1.77 0.969664 2.36735 +31 1.83 1.36069 2.70408 +32 1.89 0.773137 2.90816 +33 1.95 0.689981 3.10204 +34 2.01 1.02538 3.40816 +35 2.07 0.77344 3.65306 +36 2.13 1.00441 3.9898 +37 2.19 1.32443 4.45918 +38 2.25 1.25474 4.92857 +39 2.31 1.03514 5.33673 +40 2.37 1.22924 5.84694 +41 2.43 0.88866 6.23469 +42 2.49 1.02453 6.70408 +43 2.55 1.2742 7.31633 +44 2.61 1.05412 7.84694 +45 2.67 1.33658 8.55102 +46 2.73 1.14878 9.18367 +47 2.79 0.904757 9.70408 +48 2.85 0.918068 10.2551 +49 2.91 1.1089 10.949 +50 2.97 1.1898 11.7245 +100500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 1.39071 0.0714286 +12 0.69 0.579756 0.0918367 +13 0.75 0.736129 0.122449 +14 0.81 1.47271 0.193878 +15 0.87 1.09428 0.255102 +16 0.93 1.43652 0.346939 +17 0.99 1.40859 0.44898 +18 1.05 0.751348 0.510204 +19 1.11 1.0085 0.602041 +20 1.17 0.403441 0.642857 +21 1.23 1.73398 0.836735 +22 1.29 1.32754 1 +23 1.35 1.51523 1.20408 +24 1.41 0.833421 1.32653 +25 1.47 1.02238 1.4898 +26 1.53 0.825803 1.63265 +27 1.59 1.03775 1.82653 +28 1.65 1.11582 2.05102 +29 1.71 0.991675 2.26531 +30 1.77 1.32227 2.57143 +31 1.83 1.11329 2.84694 +32 1.89 1.31433 3.19388 +33 1.95 0.907869 3.44898 +34 2.01 1.23045 3.81633 +35 2.07 0.870121 4.09184 +36 2.13 1.27835 4.52041 +37 2.19 1.32443 4.9898 +38 2.25 0.927417 5.33673 +39 2.31 0.957503 5.71429 +40 2.37 0.811299 6.05102 +41 2.43 0.935432 6.45918 +42 2.49 1.02453 6.92857 +43 2.55 0.934413 7.37755 +44 2.61 0.912219 7.83673 +45 2.67 1.08476 8.40816 +46 2.73 0.870847 8.88776 +47 2.79 1.02894 9.47959 +48 2.85 1.12208 10.1531 +49 2.91 1.01106 10.7857 +50 2.97 1.08021 11.4898 +100550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0 0.0102041 +10 0.57 0.424655 0.0204082 +11 0.63 0.347678 0.0306122 +12 0.69 1.73927 0.0918367 +13 0.75 0.736129 0.122449 +14 0.81 2.31425 0.234694 +15 0.87 1.64142 0.326531 +16 0.93 1.1173 0.397959 +17 0.99 1.12687 0.479592 +18 1.05 0.626123 0.530612 +19 1.11 0.896448 0.612245 +20 1.17 1.21032 0.734694 +21 1.23 1.09515 0.857143 +22 1.29 1.49349 1.04082 +23 1.35 1.13642 1.19388 +24 1.41 0.763969 1.30612 +25 1.47 1.15018 1.4898 +26 1.53 1.17972 1.69388 +27 1.59 0.928517 1.86735 +28 1.65 1.36941 2.14286 +29 1.71 0.89723 2.33673 +30 1.77 1.41042 2.66327 +31 1.83 0.989594 2.90816 +32 1.89 1.04374 3.18367 +33 1.95 1.2347 3.53061 +34 2.01 0.922839 3.80612 +35 2.07 0.966801 4.11224 +36 2.13 1.09572 4.47959 +37 2.19 1.09409 4.86735 +38 2.25 0.681924 5.12245 +39 2.31 0.698718 5.39796 +40 2.37 1.08173 5.84694 +41 2.43 1.16929 6.35714 +42 2.49 1.15816 6.88776 +43 2.55 0.743283 7.2449 +44 2.61 0.770318 7.63265 +45 2.67 1.35595 8.34694 +46 2.73 1.40818 9.12245 +47 2.79 0.922497 9.65306 +48 2.85 1.15609 10.3469 +49 2.91 1.0926 11.0306 +50 2.97 0.829726 11.5714 +100600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.59099 0.0408163 +10 0.57 0.424655 0.0510204 +11 0.63 1.04303 0.0816327 +12 0.69 0.579756 0.102041 +13 0.75 0.736129 0.132653 +14 0.81 1.68309 0.214286 +15 0.87 1.27666 0.285714 +16 0.93 1.1173 0.357143 +17 0.99 1.26773 0.44898 +18 1.05 2.0036 0.612245 +19 1.11 1.34467 0.734694 +20 1.17 1.91634 0.928571 +21 1.23 1.18641 1.06122 +22 1.29 0.829715 1.16327 +23 1.35 0.833375 1.27551 +24 1.41 1.45849 1.4898 +25 1.47 1.34187 1.70408 +26 1.53 1.35668 1.93878 +27 1.59 1.03775 2.13265 +28 1.65 1.21726 2.37755 +29 1.71 1.0389 2.60204 +30 1.77 1.01374 2.83673 +31 1.83 0.783428 3.03061 +32 1.89 1.15971 3.33673 +33 1.95 1.05313 3.63265 +34 2.01 0.88866 3.89796 +35 2.07 1.22461 4.28571 +36 2.13 0.973977 4.61224 +37 2.19 0.806175 4.89796 +38 2.25 1.09108 5.30612 +39 2.31 0.931624 5.67347 +40 2.37 1.10632 6.13265 +41 2.43 1.26283 6.68367 +42 2.49 0.957713 7.12245 +43 2.55 0.95565 7.58163 +44 2.61 0.932491 8.05102 +45 2.67 0.987907 8.57143 +46 2.73 1.16731 9.21429 +47 2.79 0.887016 9.72449 +48 2.85 0.884065 10.2551 +49 2.91 0.815371 10.7653 +50 2.97 0.845382 11.3163 +100650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.59099 0.0408163 +10 0.57 1.27396 0.0714286 +11 0.63 1.39071 0.112245 +12 0.69 1.44939 0.163265 +13 0.75 1.47226 0.22449 +14 0.81 0.63116 0.255102 +15 0.87 2.55331 0.397959 +16 0.93 1.27691 0.479592 +17 0.99 1.40859 0.581633 +18 1.05 1.25225 0.683673 +19 1.11 1.23262 0.795918 +20 1.17 1.5129 0.94898 +21 1.23 1.00388 1.06122 +22 1.29 1.41052 1.23469 +23 1.35 1.66675 1.45918 +24 1.41 1.04178 1.61224 +25 1.47 1.02238 1.77551 +26 1.53 1.17972 1.97959 +27 1.59 0.655424 2.10204 +28 1.65 1.16654 2.33673 +29 1.71 1.32223 2.62245 +30 1.77 0.969664 2.84694 +31 1.83 0.989594 3.09184 +32 1.89 1.04374 3.36735 +33 1.95 0.980499 3.64286 +34 2.01 0.88866 3.90816 +35 2.07 1.28907 4.31633 +36 2.13 1.00441 4.65306 +37 2.19 1.18047 5.07143 +38 2.25 1.14563 5.5 +39 2.31 1.26804 6 +40 2.37 0.860468 6.35714 +41 2.43 0.912046 6.7551 +42 2.49 0.935441 7.18367 +43 2.55 1.16802 7.7449 +44 2.61 0.932491 8.21429 +45 2.67 0.987907 8.73469 +46 2.73 1.20436 9.39796 +47 2.79 0.940237 9.93878 +48 2.85 1.07108 10.5816 +49 2.91 1.07629 11.2551 +50 2.97 0.892347 11.8367 +100700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 1.26463 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 1.04303 0.0918367 +12 0.69 2.02914 0.163265 +13 0.75 1.22688 0.214286 +14 0.81 1.26232 0.27551 +15 0.87 1.45904 0.357143 +16 0.93 1.1173 0.428571 +17 0.99 1.12687 0.510204 +18 1.05 1.12702 0.602041 +19 1.11 1.45673 0.734694 +20 1.17 1.0086 0.836735 +21 1.23 1.09515 0.959184 +22 1.29 0.829715 1.06122 +23 1.35 1.28794 1.23469 +24 1.41 1.94465 1.52041 +25 1.47 0.894581 1.66327 +26 1.53 1.12073 1.85714 +27 1.59 0.928517 2.03061 +28 1.65 1.21726 2.27551 +29 1.71 1.27501 2.55102 +30 1.77 0.528908 2.67347 +31 1.83 1.19576 2.96939 +32 1.89 0.850451 3.19388 +33 1.95 1.08944 3.5 +34 2.01 0.957019 3.78571 +35 2.07 0.966801 4.09184 +36 2.13 1.12616 4.46939 +37 2.19 1.03651 4.83673 +38 2.25 1.00925 5.21429 +39 2.31 1.06102 5.63265 +40 2.37 0.958808 6.03061 +41 2.43 1.12252 6.52041 +42 2.49 1.13589 7.04082 +43 2.55 1.08307 7.56122 +44 2.61 1.05412 8.09184 +45 2.67 1.04602 8.64286 +46 2.73 0.83379 9.10204 +47 2.79 1.08216 9.72449 +48 2.85 0.969072 10.3061 +49 2.91 1.02737 10.949 +50 2.97 1.01759 11.6122 +100750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 0.695356 0.0816327 +12 0.69 2.31902 0.163265 +13 0.75 1.71763 0.234694 +14 0.81 1.26232 0.295918 +15 0.87 1.8238 0.397959 +16 0.93 1.1173 0.469388 +17 0.99 1.97202 0.612245 +18 1.05 1.37747 0.72449 +19 1.11 1.34467 0.846939 +20 1.17 1.41204 0.989796 +21 1.23 1.55146 1.16327 +22 1.29 1.41052 1.33673 +23 1.35 0.757614 1.43878 +24 1.41 1.04178 1.59184 +25 1.47 0.95848 1.7449 +26 1.53 0.825803 1.88776 +27 1.59 0.928517 2.06122 +28 1.65 0.963662 2.2551 +29 1.71 0.850007 2.43878 +30 1.77 1.23412 2.72449 +31 1.83 1.19576 3.02041 +32 1.89 1.04374 3.29592 +33 1.95 0.798925 3.52041 +34 2.01 0.820302 3.76531 +35 2.07 1.19239 4.14286 +36 2.13 1.27835 4.57143 +37 2.19 0.978927 4.91837 +38 2.25 0.709201 5.18367 +39 2.31 1.03514 5.59184 +40 2.37 0.934223 5.97959 +41 2.43 1.26283 6.53061 +42 2.49 0.957713 6.96939 +43 2.55 0.913177 7.40816 +44 2.61 0.891947 7.85714 +45 2.67 0.968536 8.36735 +46 2.73 0.852318 8.83673 +47 2.79 1.02894 9.42857 +48 2.85 0.884065 9.95918 +49 2.91 0.929523 10.5408 +50 2.97 1.14283 11.2857 +100800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 0.347678 0.0714286 +12 0.69 1.15951 0.112245 +13 0.75 1.22688 0.163265 +14 0.81 1.89348 0.255102 +15 0.87 1.8238 0.357143 +16 0.93 1.27691 0.438776 +17 0.99 0.98601 0.510204 +18 1.05 1.0018 0.591837 +19 1.11 2.01701 0.77551 +20 1.17 1.31118 0.908163 +21 1.23 1.27767 1.05102 +22 1.29 0.995658 1.17347 +23 1.35 0.909136 1.29592 +24 1.41 1.04178 1.44898 +25 1.47 1.34187 1.66327 +26 1.53 0.825803 1.80612 +27 1.59 1.36547 2.06122 +28 1.65 0.710067 2.20408 +29 1.71 0.991675 2.41837 +30 1.77 1.05782 2.66327 +31 1.83 0.659729 2.82653 +32 1.89 0.811794 3.04082 +33 1.95 1.37996 3.42857 +34 2.01 0.991198 3.72449 +35 2.07 0.870121 4 +36 2.13 1.21747 4.40816 +37 2.19 1.03651 4.77551 +38 2.25 1.0638 5.17347 +39 2.31 0.879867 5.52041 +40 2.37 1.00798 5.93878 +41 2.43 0.982203 6.36735 +42 2.49 0.757262 6.71429 +43 2.55 1.06183 7.22449 +44 2.61 1.09466 7.77551 +45 2.67 0.968536 8.28571 +46 2.73 0.926433 8.79592 +47 2.79 1.1886 9.47959 +48 2.85 0.867064 10 +49 2.91 0.847986 10.5306 +50 2.97 0.923658 11.1327 +100850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 2.04287 0.0408163 +9 0.51 0 0.0408163 +10 0.57 2.12327 0.0918367 +11 0.63 1.39071 0.132653 +12 0.69 0.869633 0.163265 +13 0.75 1.22688 0.214286 +14 0.81 1.89348 0.306122 +15 0.87 1.64142 0.397959 +16 0.93 0.798069 0.44898 +17 0.99 1.83116 0.581633 +18 1.05 1.12702 0.673469 +19 1.11 1.45673 0.806122 +20 1.17 1.41204 0.94898 +21 1.23 1.27767 1.09184 +22 1.29 0.995658 1.21429 +23 1.35 1.06066 1.35714 +24 1.41 1.04178 1.5102 +25 1.47 1.02238 1.67347 +26 1.53 1.12073 1.86735 +27 1.59 0.928517 2.04082 +28 1.65 0.912943 2.22449 +29 1.71 0.944452 2.42857 +30 1.77 1.27819 2.72449 +31 1.83 1.23699 3.03061 +32 1.89 1.04374 3.30612 +33 1.95 0.907869 3.56122 +34 2.01 1.40135 3.97959 +35 2.07 1.41797 4.42857 +36 2.13 1.00441 4.76531 +37 2.19 1.00772 5.12245 +38 2.25 1.14563 5.55102 +39 2.31 1.0869 5.97959 +40 2.37 1.1309 6.44898 +41 2.43 1.02897 6.89796 +42 2.49 0.957713 7.33673 +43 2.55 0.70081 7.67347 +44 2.61 0.952762 8.15306 +45 2.67 1.00728 8.68367 +46 2.73 0.907904 9.18367 +47 2.79 0.638652 9.55102 +48 2.85 0.799059 10.0306 +49 2.91 0.994753 10.6531 +50 2.97 0.829726 11.1939 +100900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 1.69862 0.0714286 +11 0.63 2.43375 0.142857 +12 0.69 1.15951 0.183673 +13 0.75 0.736129 0.214286 +14 0.81 2.31425 0.326531 +15 0.87 1.09428 0.387755 +16 0.93 1.43652 0.479592 +17 0.99 2.53546 0.663265 +18 1.05 1.37747 0.77551 +19 1.11 1.34467 0.897959 +20 1.17 0.706021 0.969388 +21 1.23 1.27767 1.11224 +22 1.29 0.746744 1.20408 +23 1.35 0.984898 1.33673 +24 1.41 1.11123 1.5 +25 1.47 1.91696 1.80612 +26 1.53 1.59262 2.08163 +27 1.59 1.09237 2.28571 +28 1.65 1.21726 2.53061 +29 1.71 0.944452 2.73469 +30 1.77 1.49857 3.08163 +31 1.83 0.948361 3.31633 +32 1.89 1.23702 3.64286 +33 1.95 1.2347 3.9898 +34 2.01 1.05956 4.30612 +35 2.07 1.32129 4.72449 +36 2.13 1.12616 5.10204 +37 2.19 1.00772 5.45918 +38 2.25 0.600093 5.68367 +39 2.31 1.13865 6.13265 +40 2.37 0.934223 6.52041 +41 2.43 0.88866 6.90816 +42 2.49 1.02453 7.37755 +43 2.55 0.95565 7.83673 +44 2.61 0.871676 8.27551 +45 2.67 0.600493 8.59184 +46 2.73 0.982019 9.13265 +47 2.79 0.975718 9.69388 +48 2.85 0.714053 10.1224 +49 2.91 0.994753 10.7449 +50 2.97 0.939313 11.3571 +100950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 0.84931 0.0408163 +11 0.63 2.08607 0.102041 +12 0.69 2.31902 0.183673 +13 0.75 1.47226 0.244898 +14 0.81 1.47271 0.316327 +15 0.87 2.91807 0.479592 +16 0.93 0.798069 0.530612 +17 0.99 1.12687 0.612245 +18 1.05 1.0018 0.693878 +19 1.11 1.12056 0.795918 +20 1.17 0.806882 0.877551 +21 1.23 1.18641 1.0102 +22 1.29 0.912687 1.12245 +23 1.35 0.833375 1.23469 +24 1.41 0.972324 1.37755 +25 1.47 0.95848 1.53061 +26 1.53 1.59262 1.80612 +27 1.59 0.928517 1.97959 +28 1.65 1.11582 2.20408 +29 1.71 1.55835 2.54082 +30 1.77 0.969664 2.76531 +31 1.83 1.15453 3.05102 +32 1.89 1.27568 3.38776 +33 1.95 0.871554 3.63265 +34 2.01 1.09374 3.95918 +35 2.07 1.38575 4.39796 +36 2.13 0.973977 4.72449 +37 2.19 0.950135 5.06122 +38 2.25 0.791032 5.35714 +39 2.31 0.724597 5.64286 +40 2.37 1.1309 6.11224 +41 2.43 0.912046 6.5102 +42 2.49 1.06908 7 +43 2.55 0.95565 7.45918 +44 2.61 1.01358 7.96939 +45 2.67 1.18161 8.59184 +46 2.73 0.889376 9.08163 +47 2.79 0.957978 9.63265 +48 2.85 0.850063 10.1429 +49 2.91 1.07629 10.8163 +50 2.97 1.0489 11.5 +101000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.04287 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 0.424655 0.0510204 +11 0.63 1.39071 0.0918367 +12 0.69 1.15951 0.132653 +13 0.75 1.96301 0.214286 +14 0.81 0.841547 0.255102 +15 0.87 1.8238 0.357143 +16 0.93 1.75575 0.469388 +17 0.99 1.12687 0.55102 +18 1.05 0.500899 0.591837 +19 1.11 1.7929 0.755102 +20 1.17 1.31118 0.887755 +21 1.23 0.821359 0.979592 +22 1.29 1.1616 1.12245 +23 1.35 1.51523 1.32653 +24 1.41 0.972324 1.46939 +25 1.47 1.40577 1.69388 +26 1.53 1.41566 1.93878 +27 1.59 1.20161 2.16327 +28 1.65 0.963662 2.35714 +29 1.71 1.08612 2.59184 +30 1.77 1.01374 2.82653 +31 1.83 0.989594 3.07143 +32 1.89 1.39165 3.43878 +33 1.95 1.12576 3.7551 +34 2.01 0.957019 4.04082 +35 2.07 1.25684 4.43878 +36 2.13 0.791356 4.70408 +37 2.19 0.950135 5.04082 +38 2.25 1.03652 5.42857 +39 2.31 0.776354 5.73469 +40 2.37 0.860468 6.09184 +41 2.43 0.865274 6.46939 +42 2.49 0.779534 6.82653 +43 2.55 0.89194 7.2551 +44 2.61 0.912219 7.71429 +45 2.67 1.02665 8.2551 +46 2.73 0.982019 8.79592 +47 2.79 1.22408 9.5 +48 2.85 1.00307 10.102 +49 2.91 1.15783 10.8265 +50 2.97 1.14283 11.5714 +101050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 1.59099 0.0510204 +10 0.57 0.84931 0.0714286 +11 0.63 1.04303 0.102041 +12 0.69 1.15951 0.142857 +13 0.75 1.47226 0.204082 +14 0.81 2.10387 0.306122 +15 0.87 1.27666 0.377551 +16 0.93 1.43652 0.469388 +17 0.99 1.6903 0.591837 +18 1.05 1.0018 0.673469 +19 1.11 1.34467 0.795918 +20 1.17 1.21032 0.918367 +21 1.23 1.36893 1.07143 +22 1.29 1.57646 1.26531 +23 1.35 0.833375 1.37755 +24 1.41 1.18068 1.55102 +25 1.47 1.34187 1.76531 +26 1.53 0.766817 1.89796 +27 1.59 1.14699 2.11224 +28 1.65 1.01438 2.31633 +29 1.71 0.566671 2.43878 +30 1.77 0.837437 2.63265 +31 1.83 0.824661 2.83673 +32 1.89 1.12105 3.13265 +33 1.95 0.653666 3.31633 +34 2.01 1.33299 3.71429 +35 2.07 0.708987 3.93878 +36 2.13 0.973977 4.26531 +37 2.19 1.18047 4.68367 +38 2.25 0.872863 5.0102 +39 2.31 1.06102 5.42857 +40 2.37 1.18007 5.91837 +41 2.43 1.00559 6.35714 +42 2.49 1.13589 6.87755 +43 2.55 0.976887 7.34694 +44 2.61 0.993305 7.84694 +45 2.67 0.832941 8.28571 +46 2.73 0.907904 8.78571 +47 2.79 1.08216 9.40816 +48 2.85 1.08808 10.0612 +49 2.91 1.07629 10.7347 +50 2.97 0.939313 11.3469 +101100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 3.11031 0.0102041 +5 0.27 0 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 0.695356 0.0816327 +12 0.69 1.73927 0.142857 +13 0.75 1.22688 0.193878 +14 0.81 0.841547 0.234694 +15 0.87 2.00617 0.346939 +16 0.93 0.798069 0.397959 +17 0.99 1.97202 0.540816 +18 1.05 1.37747 0.653061 +19 1.11 1.23262 0.765306 +20 1.17 0.907742 0.857143 +21 1.23 1.00388 0.969388 +22 1.29 0.912687 1.08163 +23 1.35 1.59099 1.29592 +24 1.41 0.763969 1.40816 +25 1.47 1.15018 1.59184 +26 1.53 1.17972 1.79592 +27 1.59 0.983136 1.97959 +28 1.65 1.0651 2.19388 +29 1.71 1.0389 2.41837 +30 1.77 1.27819 2.71429 +31 1.83 0.948361 2.94898 +32 1.89 0.811794 3.16327 +33 1.95 1.05313 3.45918 +34 2.01 1.33299 3.85714 +35 2.07 1.38575 4.29592 +36 2.13 0.973977 4.62245 +37 2.19 0.978927 4.96939 +38 2.25 0.845586 5.28571 +39 2.31 1.00926 5.68367 +40 2.37 1.08173 6.13265 +41 2.43 0.818503 6.4898 +42 2.49 1.09135 6.9898 +43 2.55 0.89194 7.41837 +44 2.61 1.13521 7.9898 +45 2.67 0.736088 8.37755 +46 2.73 0.870847 8.85714 +47 2.79 1.04668 9.45918 +48 2.85 0.850063 9.96939 +49 2.91 0.864293 10.5102 +50 2.97 1.0489 11.1939 +101150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0 0.0102041 +10 0.57 0.84931 0.0306122 +11 0.63 2.08607 0.0918367 +12 0.69 2.02914 0.163265 +13 0.75 0.981505 0.204082 +14 0.81 2.10387 0.306122 +15 0.87 1.27666 0.377551 +16 0.93 1.27691 0.459184 +17 0.99 1.54944 0.571429 +18 1.05 0.751348 0.632653 +19 1.11 1.23262 0.744898 +20 1.17 0.605161 0.806122 +21 1.23 1.46019 0.969388 +22 1.29 1.1616 1.11224 +23 1.35 1.3637 1.29592 +24 1.41 1.18068 1.46939 +25 1.47 0.702885 1.58163 +26 1.53 1.00276 1.7551 +27 1.59 0.655424 1.87755 +28 1.65 0.710067 2.02041 +29 1.71 1.22779 2.28571 +30 1.77 1.41042 2.61224 +31 1.83 0.907127 2.83673 +32 1.89 0.889108 3.07143 +33 1.95 0.944184 3.33673 +34 2.01 0.957019 3.62245 +35 2.07 0.966801 3.92857 +36 2.13 1.06529 4.28571 +37 2.19 1.26685 4.73469 +38 2.25 0.681924 4.9898 +39 2.31 0.957503 5.36735 +40 2.37 0.983392 5.77551 +41 2.43 0.935432 6.18367 +42 2.49 1.11362 6.69388 +43 2.55 0.785757 7.07143 +44 2.61 1.09466 7.62245 +45 2.67 0.949166 8.12245 +46 2.73 0.870847 8.60204 +47 2.79 1.06442 9.21429 +48 2.85 1.02008 9.82653 +49 2.91 1.12521 10.5306 +50 2.97 1.00193 11.1837 +101200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.84931 0.0408163 +11 0.63 1.39071 0.0816327 +12 0.69 1.44939 0.132653 +13 0.75 2.94452 0.255102 +14 0.81 1.68309 0.336735 +15 0.87 1.64142 0.428571 +16 0.93 1.1173 0.5 +17 0.99 1.26773 0.591837 +18 1.05 0.876573 0.663265 +19 1.11 1.45673 0.795918 +20 1.17 1.61376 0.959184 +21 1.23 1.36893 1.11224 +22 1.29 1.57646 1.30612 +23 1.35 0.833375 1.41837 +24 1.41 0.902872 1.55102 +25 1.47 1.21407 1.7449 +26 1.53 0.589859 1.84694 +27 1.59 1.03775 2.04082 +28 1.65 1.01438 2.2449 +29 1.71 1.13334 2.4898 +30 1.77 1.14597 2.7551 +31 1.83 1.27823 3.07143 +32 1.89 1.12105 3.36735 +33 1.95 1.12576 3.68367 +34 2.01 0.88866 3.94898 +35 2.07 0.77344 4.19388 +36 2.13 1.09572 4.56122 +37 2.19 0.633423 4.78571 +38 2.25 1.0638 5.18367 +39 2.31 0.983381 5.57143 +40 2.37 0.786714 5.89796 +41 2.43 1.09913 6.37755 +42 2.49 1.20271 6.92857 +43 2.55 0.913177 7.36735 +44 2.61 1.01358 7.87755 +45 2.67 1.08476 8.44898 +46 2.73 0.815261 8.89796 +47 2.79 0.940237 9.43878 +48 2.85 1.3941 10.2755 +49 2.91 0.766449 10.7551 +50 2.97 1.11152 11.4796 +101250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.06066 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 2.08607 0.0918367 +12 0.69 2.31902 0.173469 +13 0.75 0.981505 0.214286 +14 0.81 1.68309 0.295918 +15 0.87 0.911898 0.346939 +16 0.93 1.27691 0.428571 +17 0.99 0.98601 0.5 +18 1.05 0.500899 0.540816 +19 1.11 0.224112 0.561224 +20 1.17 2.11806 0.77551 +21 1.23 0.912621 0.877551 +22 1.29 1.07863 1.0102 +23 1.35 1.43947 1.20408 +24 1.41 1.11123 1.36735 +25 1.47 1.27797 1.57143 +26 1.53 1.35668 1.80612 +27 1.59 0.764661 1.94898 +28 1.65 1.16654 2.18367 +29 1.71 1.18057 2.43878 +30 1.77 0.969664 2.66327 +31 1.83 0.742195 2.84694 +32 1.89 1.19836 3.16327 +33 1.95 1.08944 3.46939 +34 2.01 0.854481 3.72449 +35 2.07 1.09571 4.07143 +36 2.13 0.973977 4.39796 +37 2.19 1.12289 4.79592 +38 2.25 1.33657 5.29592 +39 2.31 0.595204 5.53061 +40 2.37 1.10632 5.9898 +41 2.43 0.88866 6.37755 +42 2.49 0.846351 6.76531 +43 2.55 0.976887 7.23469 +44 2.61 1.23656 7.85714 +45 2.67 1.00728 8.38776 +46 2.73 0.944962 8.90816 +47 2.79 1.15312 9.57143 +48 2.85 0.867064 10.0918 +49 2.91 1.01106 10.7245 +50 2.97 0.986279 11.3673 +101300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0 0.0102041 +10 0.57 1.27396 0.0408163 +11 0.63 2.08607 0.102041 +12 0.69 1.73927 0.163265 +13 0.75 1.47226 0.22449 +14 0.81 1.47271 0.295918 +15 0.87 1.45904 0.377551 +16 0.93 1.27691 0.459184 +17 0.99 1.40859 0.561224 +18 1.05 0.125225 0.571429 +19 1.11 1.23262 0.683673 +20 1.17 1.10946 0.795918 +21 1.23 0.912621 0.897959 +22 1.29 1.41052 1.07143 +23 1.35 0.378807 1.12245 +24 1.41 1.25013 1.30612 +25 1.47 0.830683 1.43878 +26 1.53 1.17972 1.64286 +27 1.59 1.36547 1.89796 +28 1.65 1.16654 2.13265 +29 1.71 0.850007 2.31633 +30 1.77 1.36634 2.63265 +31 1.83 0.824661 2.83673 +32 1.89 1.19836 3.15306 +33 1.95 0.980499 3.42857 +34 2.01 0.88866 3.69388 +35 2.07 0.934574 3.9898 +36 2.13 0.821793 4.26531 +37 2.19 0.921343 4.59184 +38 2.25 0.709201 4.85714 +39 2.31 0.853989 5.19388 +40 2.37 0.885053 5.56122 +41 2.43 0.958818 5.97959 +42 2.49 1.0468 6.45918 +43 2.55 0.998123 6.93878 +44 2.61 1.03385 7.45918 +45 2.67 1.39469 8.19388 +46 2.73 1.01908 8.7551 +47 2.79 1.17086 9.42857 +48 2.85 1.03708 10.051 +49 2.91 0.766449 10.5306 +50 2.97 1.00193 11.1837 +101350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 2.04287 0.0408163 +9 0.51 1.59099 0.0714286 +10 0.57 2.12327 0.122449 +11 0.63 1.39071 0.163265 +12 0.69 1.73927 0.22449 +13 0.75 1.47226 0.285714 +14 0.81 0.63116 0.316327 +15 0.87 0.729518 0.357143 +16 0.93 0.957682 0.418367 +17 0.99 1.40859 0.520408 +18 1.05 0.876573 0.591837 +19 1.11 1.7929 0.755102 +20 1.17 1.31118 0.887755 +21 1.23 0.912621 0.989796 +22 1.29 1.24457 1.14286 +23 1.35 0.757614 1.2449 +24 1.41 1.38903 1.44898 +25 1.47 0.575088 1.54082 +26 1.53 0.648845 1.65306 +27 1.59 0.655424 1.77551 +28 1.65 0.557909 1.88776 +29 1.71 1.27501 2.16327 +30 1.77 0.881513 2.36735 +31 1.83 1.07206 2.63265 +32 1.89 1.35299 2.9898 +33 1.95 1.2347 3.33673 +34 2.01 0.820302 3.58163 +35 2.07 0.870121 3.85714 +36 2.13 0.821793 4.13265 +37 2.19 1.12289 4.53061 +38 2.25 1.14563 4.95918 +39 2.31 1.44919 5.53061 +40 2.37 1.1309 6 +41 2.43 1.09913 6.47959 +42 2.49 1.06908 6.96939 +43 2.55 0.76452 7.33673 +44 2.61 1.56091 8.12245 +45 2.67 0.736088 8.5102 +46 2.73 1.07466 9.10204 +47 2.79 1.02894 9.69388 +48 2.85 0.969072 10.2755 +49 2.91 0.913216 10.8469 +50 2.97 1.14283 11.5918 +101400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.06066 0.0408163 +10 0.57 0.424655 0.0510204 +11 0.63 1.39071 0.0918367 +12 0.69 2.02914 0.163265 +13 0.75 0.490753 0.183673 +14 0.81 1.26232 0.244898 +15 0.87 0.911898 0.295918 +16 0.93 1.43652 0.387755 +17 0.99 0.98601 0.459184 +18 1.05 1.75315 0.602041 +19 1.11 1.23262 0.714286 +20 1.17 1.21032 0.836735 +21 1.23 1.18641 0.969388 +22 1.29 1.07863 1.10204 +23 1.35 1.06066 1.2449 +24 1.41 1.8752 1.52041 +25 1.47 0.95848 1.67347 +26 1.53 0.943774 1.83673 +27 1.59 1.4747 2.11224 +28 1.65 1.36941 2.38776 +29 1.71 0.661116 2.53061 +30 1.77 1.14597 2.79592 +31 1.83 0.700962 2.96939 +32 1.89 1.19836 3.28571 +33 1.95 0.944184 3.55102 +34 2.01 1.29881 3.93878 +35 2.07 1.03125 4.26531 +36 2.13 1.21747 4.67347 +37 2.19 0.950135 5.0102 +38 2.25 1.20019 5.45918 +39 2.31 0.983381 5.84694 +40 2.37 0.983392 6.2551 +41 2.43 0.88866 6.64286 +42 2.49 1.02453 7.11224 +43 2.55 0.70081 7.44898 +44 2.61 1.15548 8.03061 +45 2.67 0.987907 8.55102 +46 2.73 0.926433 9.06122 +47 2.79 0.869276 9.56122 +48 2.85 0.833061 10.0612 +49 2.91 0.799064 10.5612 +50 2.97 0.767106 11.0612 +101450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 0.84931 0.0612245 +11 0.63 1.04303 0.0918367 +12 0.69 0.579756 0.112245 +13 0.75 1.47226 0.173469 +14 0.81 1.26232 0.234694 +15 0.87 1.27666 0.306122 +16 0.93 1.91536 0.428571 +17 0.99 1.54944 0.540816 +18 1.05 1.25225 0.642857 +19 1.11 1.45673 0.77551 +20 1.17 1.41204 0.918367 +21 1.23 1.00388 1.03061 +22 1.29 1.65943 1.23469 +23 1.35 0.984898 1.36735 +24 1.41 0.694517 1.46939 +25 1.47 1.21407 1.66327 +26 1.53 0.707831 1.78571 +27 1.59 1.09237 1.9898 +28 1.65 0.710067 2.13265 +29 1.71 1.27501 2.40816 +30 1.77 0.837437 2.60204 +31 1.83 1.31946 2.92857 +32 1.89 1.12105 3.22449 +33 1.95 0.871554 3.46939 +34 2.01 1.05956 3.78571 +35 2.07 0.870121 4.06122 +36 2.13 1.30878 4.5 +37 2.19 1.03651 4.86735 +38 2.25 0.927417 5.21429 +39 2.31 1.06102 5.63265 +40 2.37 0.909638 6.0102 +41 2.43 0.935432 6.41837 +42 2.49 1.02453 6.88776 +43 2.55 0.934413 7.33673 +44 2.61 1.31765 8 +45 2.67 0.929795 8.4898 +46 2.73 1.09319 9.09184 +47 2.79 0.993458 9.66327 +48 2.85 1.17309 10.3673 +49 2.91 0.929523 10.949 +50 2.97 1.03324 11.6224 +101500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 2.97258 0.0918367 +11 0.63 1.04303 0.122449 +12 0.69 1.44939 0.173469 +13 0.75 1.47226 0.234694 +14 0.81 1.89348 0.326531 +15 0.87 1.8238 0.428571 +16 0.93 1.27691 0.510204 +17 0.99 1.40859 0.612245 +18 1.05 0.876573 0.683673 +19 1.11 1.0085 0.77551 +20 1.17 1.41204 0.918367 +21 1.23 1.36893 1.07143 +22 1.29 0.580801 1.14286 +23 1.35 0.909136 1.26531 +24 1.41 1.18068 1.43878 +25 1.47 1.46967 1.67347 +26 1.53 1.2387 1.88776 +27 1.59 1.14699 2.10204 +28 1.65 0.963662 2.29592 +29 1.71 1.0389 2.52041 +30 1.77 0.969664 2.7449 +31 1.83 1.27823 3.06122 +32 1.89 0.966422 3.31633 +33 1.95 1.08944 3.62245 +34 2.01 1.05956 3.93878 +35 2.07 0.999027 4.2551 +36 2.13 1.12616 4.63265 +37 2.19 1.12289 5.03061 +38 2.25 0.954694 5.38776 +39 2.31 1.24217 5.87755 +40 2.37 1.20466 6.37755 +41 2.43 0.982203 6.80612 +42 2.49 1.22498 7.36735 +43 2.55 0.95565 7.82653 +44 2.61 0.993305 8.32653 +45 2.67 0.891053 8.79592 +46 2.73 1.07466 9.38776 +47 2.79 0.833795 9.86735 +48 2.85 1.12208 10.5408 +49 2.91 1.1089 11.2347 +50 2.97 0.954968 11.8571 +101550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0 0.0102041 +10 0.57 1.27396 0.0408163 +11 0.63 0.695356 0.0612245 +12 0.69 2.02914 0.132653 +13 0.75 2.20839 0.22449 +14 0.81 1.05193 0.27551 +15 0.87 1.09428 0.336735 +16 0.93 0.638455 0.377551 +17 0.99 1.54944 0.489796 +18 1.05 2.0036 0.653061 +19 1.11 0.896448 0.734694 +20 1.17 1.21032 0.857143 +21 1.23 1.46019 1.02041 +22 1.29 1.07863 1.15306 +23 1.35 0.909136 1.27551 +24 1.41 1.25013 1.45918 +25 1.47 1.15018 1.64286 +26 1.53 0.766817 1.77551 +27 1.59 1.42008 2.04082 +28 1.65 1.31869 2.30612 +29 1.71 1.18057 2.56122 +30 1.77 1.01374 2.79592 +31 1.83 0.783428 2.9898 +32 1.89 1.23702 3.31633 +33 1.95 1.34365 3.69388 +34 2.01 0.786122 3.92857 +35 2.07 1.06348 4.26531 +36 2.13 1.27835 4.69388 +37 2.19 1.18047 5.11224 +38 2.25 0.954694 5.46939 +39 2.31 0.905746 5.82653 +40 2.37 1.00798 6.2449 +41 2.43 1.05236 6.70408 +42 2.49 1.09135 7.20408 +43 2.55 1.16802 7.76531 +44 2.61 1.03385 8.28571 +45 2.67 1.06539 8.84694 +46 2.73 1.0376 9.41837 +47 2.79 1.02894 10.0102 +48 2.85 1.10508 10.6735 +49 2.91 1.12521 11.3776 +50 2.97 0.782761 11.8878 +101600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.695356 0.0204082 +12 0.69 2.02914 0.0918367 +13 0.75 1.22688 0.142857 +14 0.81 1.05193 0.193878 +15 0.87 1.45904 0.27551 +16 0.93 1.27691 0.357143 +17 0.99 1.26773 0.44898 +18 1.05 1.0018 0.530612 +19 1.11 1.23262 0.642857 +20 1.17 1.31118 0.77551 +21 1.23 1.09515 0.897959 +22 1.29 1.07863 1.03061 +23 1.35 0.984898 1.16327 +24 1.41 0.833421 1.28571 +25 1.47 1.53357 1.53061 +26 1.53 0.884789 1.68367 +27 1.59 0.983136 1.86735 +28 1.65 1.01438 2.07143 +29 1.71 1.32223 2.35714 +30 1.77 1.49857 2.70408 +31 1.83 1.40192 3.05102 +32 1.89 1.00508 3.31633 +33 1.95 0.871554 3.56122 +34 2.01 1.02538 3.86735 +35 2.07 0.837894 4.13265 +36 2.13 0.913104 4.43878 +37 2.19 0.950135 4.77551 +38 2.25 0.927417 5.12245 +39 2.31 1.19041 5.59184 +40 2.37 1.25383 6.11224 +41 2.43 1.12252 6.60204 +42 2.49 0.734989 6.93878 +43 2.55 1.18925 7.5102 +44 2.61 0.932491 7.97959 +45 2.67 0.716717 8.35714 +46 2.73 1.20436 9.02041 +47 2.79 0.957978 9.57143 +48 2.85 0.935069 10.1327 +49 2.91 1.14152 10.8469 +50 2.97 0.954968 11.4694 +101650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 1.04303 0.0816327 +12 0.69 1.73927 0.142857 +13 0.75 1.47226 0.204082 +14 0.81 0.63116 0.234694 +15 0.87 1.27666 0.306122 +16 0.93 0.798069 0.357143 +17 0.99 1.12687 0.438776 +18 1.05 1.25225 0.540816 +19 1.11 0.896448 0.622449 +20 1.17 1.31118 0.755102 +21 1.23 1.55146 0.928571 +22 1.29 0.912687 1.04082 +23 1.35 0.833375 1.15306 +24 1.41 0.972324 1.29592 +25 1.47 1.08628 1.46939 +26 1.53 0.884789 1.62245 +27 1.59 1.31085 1.86735 +28 1.65 0.912943 2.05102 +29 1.71 1.4639 2.36735 +30 1.77 0.793362 2.55102 +31 1.83 1.60809 2.94898 +32 1.89 0.927765 3.19388 +33 1.95 0.871554 3.43878 +34 2.01 0.820302 3.68367 +35 2.07 1.09571 4.03061 +36 2.13 1.30878 4.46939 +37 2.19 1.12289 4.86735 +38 2.25 0.763755 5.15306 +39 2.31 1.13865 5.60204 +40 2.37 0.934223 5.9898 +41 2.43 1.12252 6.47959 +42 2.49 0.824079 6.85714 +43 2.55 1.12554 7.39796 +44 2.61 0.973034 7.88776 +45 2.67 0.832941 8.32653 +46 2.73 1.00055 8.87755 +47 2.79 0.922497 9.40816 +48 2.85 1.24109 10.1531 +49 2.91 1.02737 10.7959 +50 2.97 1.00193 11.449 +101700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 1.06066 0.0510204 +10 0.57 1.27396 0.0816327 +11 0.63 1.04303 0.112245 +12 0.69 1.73927 0.173469 +13 0.75 1.47226 0.234694 +14 0.81 0.841547 0.27551 +15 0.87 2.37093 0.408163 +16 0.93 1.43652 0.5 +17 0.99 0.845152 0.561224 +18 1.05 0.876573 0.632653 +19 1.11 0.56028 0.683673 +20 1.17 1.21032 0.806122 +21 1.23 0.821359 0.897959 +22 1.29 1.49349 1.08163 +23 1.35 1.51523 1.28571 +24 1.41 1.11123 1.44898 +25 1.47 1.15018 1.63265 +26 1.53 1.17972 1.83673 +27 1.59 0.928517 2.0102 +28 1.65 1.11582 2.23469 +29 1.71 1.22779 2.5 +30 1.77 1.14597 2.76531 +31 1.83 0.742195 2.94898 +32 1.89 1.31433 3.29592 +33 1.95 0.83524 3.53061 +34 2.01 1.09374 3.85714 +35 2.07 1.22461 4.2449 +36 2.13 1.12616 4.62245 +37 2.19 1.03651 4.9898 +38 2.25 0.791032 5.28571 +39 2.31 1.03514 5.69388 +40 2.37 1.35216 6.2551 +41 2.43 1.23945 6.79592 +42 2.49 0.734989 7.13265 +43 2.55 0.976887 7.60204 +44 2.61 0.912219 8.06122 +45 2.67 0.949166 8.56122 +46 2.73 1.01908 9.12245 +47 2.79 1.0112 9.70408 +48 2.85 0.884065 10.2347 +49 2.91 1.04368 10.8878 +50 2.97 0.876692 11.4592 +101750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 2.71846 0.0306122 +8 0.45 0 0.0306122 +9 0.51 0 0.0306122 +10 0.57 2.97258 0.102041 +11 0.63 0.695356 0.122449 +12 0.69 0.579756 0.142857 +13 0.75 1.47226 0.204082 +14 0.81 1.26232 0.265306 +15 0.87 2.00617 0.377551 +16 0.93 1.75575 0.489796 +17 0.99 1.40859 0.591837 +18 1.05 0.751348 0.653061 +19 1.11 2.12906 0.846939 +20 1.17 1.0086 0.94898 +21 1.23 1.00388 1.06122 +22 1.29 1.7424 1.27551 +23 1.35 0.833375 1.38776 +24 1.41 1.45849 1.60204 +25 1.47 1.15018 1.78571 +26 1.53 0.648845 1.89796 +27 1.59 0.928517 2.07143 +28 1.65 1.0651 2.28571 +29 1.71 0.944452 2.4898 +30 1.77 1.10189 2.7449 +31 1.83 0.824661 2.94898 +32 1.89 1.04374 3.22449 +33 1.95 1.05313 3.52041 +34 2.01 0.820302 3.76531 +35 2.07 1.12793 4.12245 +36 2.13 0.85223 4.40816 +37 2.19 0.950135 4.7449 +38 2.25 0.872863 5.07143 +39 2.31 1.00926 5.46939 +40 2.37 0.811299 5.80612 +41 2.43 1.00559 6.2449 +42 2.49 0.779534 6.60204 +43 2.55 1.23173 7.19388 +44 2.61 1.03385 7.71429 +45 2.67 1.14287 8.31633 +46 2.73 1.01908 8.87755 +47 2.79 1.0999 9.5102 +48 2.85 1.19009 10.2245 +49 2.91 0.913216 10.7959 +50 2.97 0.923658 11.398 +101800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0.424655 0.0408163 +11 0.63 0.347678 0.0510204 +12 0.69 1.73927 0.112245 +13 0.75 2.20839 0.204082 +14 0.81 1.05193 0.255102 +15 0.87 1.64142 0.346939 +16 0.93 1.27691 0.428571 +17 0.99 2.25374 0.591837 +18 1.05 1.0018 0.673469 +19 1.11 1.12056 0.77551 +20 1.17 1.31118 0.908163 +21 1.23 1.09515 1.03061 +22 1.29 0.829715 1.13265 +23 1.35 1.13642 1.28571 +24 1.41 1.11123 1.44898 +25 1.47 0.95848 1.60204 +26 1.53 1.12073 1.79592 +27 1.59 1.58394 2.09184 +28 1.65 0.862224 2.26531 +29 1.71 1.0389 2.4898 +30 1.77 0.925588 2.70408 +31 1.83 1.19576 3 +32 1.89 0.811794 3.21429 +33 1.95 0.980499 3.4898 +34 2.01 0.717764 3.70408 +35 2.07 0.999027 4.02041 +36 2.13 1.18703 4.41837 +37 2.19 0.892551 4.73469 +38 2.25 1.0638 5.13265 +39 2.31 0.983381 5.52041 +40 2.37 1.00798 5.93878 +41 2.43 1.23945 6.47959 +42 2.49 0.779534 6.83673 +43 2.55 0.934413 7.28571 +44 2.61 1.27711 7.92857 +45 2.67 1.23973 8.58163 +46 2.73 0.907904 9.08163 +47 2.79 0.851536 9.57143 +48 2.85 1.07108 10.2143 +49 2.91 0.994753 10.8367 +50 2.97 1.00193 11.4898 +101850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 1.59099 0.0612245 +10 0.57 0.84931 0.0816327 +11 0.63 0.695356 0.102041 +12 0.69 1.73927 0.163265 +13 0.75 0.490753 0.183673 +14 0.81 1.47271 0.255102 +15 0.87 1.64142 0.346939 +16 0.93 1.27691 0.428571 +17 0.99 1.97202 0.571429 +18 1.05 1.12702 0.663265 +19 1.11 1.34467 0.785714 +20 1.17 0.806882 0.867347 +21 1.23 1.27767 1.0102 +22 1.29 0.995658 1.13265 +23 1.35 0.681852 1.22449 +24 1.41 0.972324 1.36735 +25 1.47 1.21407 1.56122 +26 1.53 1.41566 1.80612 +27 1.59 1.09237 2.0102 +28 1.65 1.21726 2.2551 +29 1.71 1.0389 2.47959 +30 1.77 0.881513 2.68367 +31 1.83 1.03083 2.93878 +32 1.89 1.31433 3.28571 +33 1.95 1.12576 3.60204 +34 2.01 1.05956 3.91837 +35 2.07 1.25684 4.31633 +36 2.13 1.1566 4.70408 +37 2.19 0.806175 4.9898 +38 2.25 0.845586 5.30612 +39 2.31 1.11277 5.7449 +40 2.37 1.1309 6.21429 +41 2.43 0.88866 6.60204 +42 2.49 0.979986 7.05102 +43 2.55 1.21049 7.63265 +44 2.61 0.932491 8.10204 +45 2.67 0.929795 8.59184 +46 2.73 0.907904 9.09184 +47 2.79 0.833795 9.57143 +48 2.85 1.15609 10.2653 +49 2.91 1.04368 10.9184 +50 2.97 0.892347 11.5 +101900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 1.26463 0.0204082 +7 0.39 0.906153 0.0306122 +8 0.45 0 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 1.27396 0.0714286 +11 0.63 1.39071 0.112245 +12 0.69 0.579756 0.132653 +13 0.75 1.71763 0.204082 +14 0.81 1.26232 0.265306 +15 0.87 1.27666 0.336735 +16 0.93 1.43652 0.428571 +17 0.99 1.12687 0.510204 +18 1.05 1.37747 0.622449 +19 1.11 0.784392 0.693878 +20 1.17 1.31118 0.826531 +21 1.23 1.46019 0.989796 +22 1.29 1.49349 1.17347 +23 1.35 1.9698 1.43878 +24 1.41 1.18068 1.61224 +25 1.47 1.21407 1.80612 +26 1.53 1.12073 2 +27 1.59 1.20161 2.22449 +28 1.65 1.16654 2.45918 +29 1.71 0.755562 2.62245 +30 1.77 1.10189 2.87755 +31 1.83 0.659729 3.04082 +32 1.89 1.31433 3.38776 +33 1.95 0.76261 3.60204 +34 2.01 0.922839 3.87755 +35 2.07 1.12793 4.23469 +36 2.13 0.973977 4.56122 +37 2.19 0.604631 4.77551 +38 2.25 1.09108 5.18367 +39 2.31 1.11277 5.62245 +40 2.37 0.958808 6.02041 +41 2.43 0.912046 6.41837 +42 2.49 0.979986 6.86735 +43 2.55 1.16802 7.42857 +44 2.61 1.11493 7.9898 +45 2.67 1.04602 8.54082 +46 2.73 0.926433 9.05102 +47 2.79 0.887016 9.56122 +48 2.85 0.867064 10.0816 +49 2.91 0.929523 10.6633 +50 2.97 0.970623 11.2959 +101950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 0.84931 0.0612245 +11 0.63 0.347678 0.0714286 +12 0.69 0.289878 0.0816327 +13 0.75 1.47226 0.142857 +14 0.81 1.47271 0.214286 +15 0.87 2.18855 0.336735 +16 0.93 1.1173 0.408163 +17 0.99 0.98601 0.479592 +18 1.05 1.25225 0.581633 +19 1.11 0.672336 0.642857 +20 1.17 1.21032 0.765306 +21 1.23 0.912621 0.867347 +22 1.29 1.1616 1.0102 +23 1.35 1.13642 1.16327 +24 1.41 1.59739 1.39796 +25 1.47 1.15018 1.58163 +26 1.53 0.884789 1.73469 +27 1.59 0.710042 1.86735 +28 1.65 1.11582 2.09184 +29 1.71 0.944452 2.29592 +30 1.77 1.19004 2.57143 +31 1.83 1.19576 2.86735 +32 1.89 1.19836 3.18367 +33 1.95 0.83524 3.41837 +34 2.01 0.957019 3.70408 +35 2.07 1.41797 4.15306 +36 2.13 1.30878 4.59184 +37 2.19 1.12289 4.9898 +38 2.25 0.818309 5.29592 +39 2.31 0.802232 5.61224 +40 2.37 0.835884 5.95918 +41 2.43 1.00559 6.39796 +42 2.49 1.02453 6.86735 +43 2.55 1.06183 7.37755 +44 2.61 0.973034 7.86735 +45 2.67 0.987907 8.38776 +46 2.73 1.11172 9 +47 2.79 0.762834 9.43878 +48 2.85 1.24109 10.1837 +49 2.91 0.913216 10.7551 +50 2.97 0.939313 11.3673 +102000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 1.39071 0.102041 +12 0.69 2.31902 0.183673 +13 0.75 1.96301 0.265306 +14 0.81 1.47271 0.336735 +15 0.87 1.09428 0.397959 +16 0.93 1.59614 0.5 +17 0.99 1.26773 0.591837 +18 1.05 1.0018 0.673469 +19 1.11 0.672336 0.734694 +20 1.17 0.907742 0.826531 +21 1.23 0.821359 0.918367 +22 1.29 0.580801 0.989796 +23 1.35 0.984898 1.12245 +24 1.41 1.25013 1.30612 +25 1.47 0.95848 1.45918 +26 1.53 1.47465 1.71429 +27 1.59 0.928517 1.88776 +28 1.65 0.912943 2.07143 +29 1.71 0.89723 2.26531 +30 1.77 1.05782 2.5102 +31 1.83 0.865894 2.72449 +32 1.89 1.12105 3.02041 +33 1.95 1.41628 3.41837 +34 2.01 0.786122 3.65306 +35 2.07 0.999027 3.96939 +36 2.13 1.09572 4.33673 +37 2.19 1.12289 4.73469 +38 2.25 0.954694 5.09184 +39 2.31 1.03514 5.5 +40 2.37 1.25383 6.02041 +41 2.43 0.958818 6.43878 +42 2.49 1.13589 6.95918 +43 2.55 1.23173 7.55102 +44 2.61 0.952762 8.03061 +45 2.67 0.7942 8.44898 +46 2.73 1.05613 9.03061 +47 2.79 0.887016 9.54082 +48 2.85 1.12208 10.2143 +49 2.91 0.978445 10.8265 +50 2.97 1.00193 11.4796 +102050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0.530329 0.0102041 +10 0.57 0.84931 0.0306122 +11 0.63 1.04303 0.0612245 +12 0.69 1.73927 0.122449 +13 0.75 2.20839 0.214286 +14 0.81 1.47271 0.285714 +15 0.87 1.27666 0.357143 +16 0.93 0.957682 0.418367 +17 0.99 1.12687 0.5 +18 1.05 1.0018 0.581633 +19 1.11 1.68084 0.734694 +20 1.17 1.31118 0.867347 +21 1.23 1.00388 0.979592 +22 1.29 0.995658 1.10204 +23 1.35 1.59099 1.31633 +24 1.41 1.25013 1.5 +25 1.47 1.27797 1.70408 +26 1.53 1.06175 1.88776 +27 1.59 1.09237 2.09184 +28 1.65 0.963662 2.28571 +29 1.71 1.08612 2.52041 +30 1.77 0.925588 2.73469 +31 1.83 0.577263 2.87755 +32 1.89 0.966422 3.13265 +33 1.95 0.980499 3.40816 +34 2.01 0.88866 3.67347 +35 2.07 1.22461 4.06122 +36 2.13 1.1566 4.44898 +37 2.19 1.15168 4.85714 +38 2.25 1.11836 5.27551 +39 2.31 1.0869 5.70408 +40 2.37 1.18007 6.19388 +41 2.43 1.16929 6.70408 +42 2.49 0.890896 7.11224 +43 2.55 0.998123 7.59184 +44 2.61 1.11493 8.15306 +45 2.67 1.1235 8.7449 +46 2.73 0.944962 9.26531 +47 2.79 1.02894 9.85714 +48 2.85 1.00307 10.4592 +49 2.91 1.04368 11.1122 +50 2.97 1.06455 11.8061 +102100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.04287 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.347678 0.0510204 +12 0.69 1.15951 0.0918367 +13 0.75 2.45376 0.193878 +14 0.81 0.841547 0.234694 +15 0.87 1.09428 0.295918 +16 0.93 1.1173 0.367347 +17 0.99 2.11288 0.520408 +18 1.05 2.0036 0.683673 +19 1.11 1.12056 0.785714 +20 1.17 1.5129 0.938776 +21 1.23 0.912621 1.04082 +22 1.29 1.49349 1.22449 +23 1.35 0.833375 1.33673 +24 1.41 1.25013 1.52041 +25 1.47 1.15018 1.70408 +26 1.53 1.35668 1.93878 +27 1.59 1.4747 2.21429 +28 1.65 1.36941 2.4898 +29 1.71 0.708339 2.64286 +30 1.77 0.881513 2.84694 +31 1.83 1.36069 3.18367 +32 1.89 1.27568 3.52041 +33 1.95 1.12576 3.83673 +34 2.01 0.854481 4.09184 +35 2.07 1.03125 4.41837 +36 2.13 1.09572 4.78571 +37 2.19 0.892551 5.10204 +38 2.25 1.11836 5.52041 +39 2.31 0.853989 5.85714 +40 2.37 0.958808 6.2551 +41 2.43 1.05236 6.71429 +42 2.49 0.935441 7.14286 +43 2.55 0.976887 7.61224 +44 2.61 1.07439 8.15306 +45 2.67 1.06539 8.71429 +46 2.73 0.870847 9.19388 +47 2.79 0.922497 9.72449 +48 2.85 0.986073 10.3163 +49 2.91 1.07629 10.9898 +50 2.97 0.970623 11.6224 +102150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 1.06066 0.0408163 +10 0.57 2.54793 0.102041 +11 0.63 1.39071 0.142857 +12 0.69 0.869633 0.173469 +13 0.75 2.20839 0.265306 +14 0.81 1.89348 0.357143 +15 0.87 2.55331 0.5 +16 0.93 1.43652 0.591837 +17 0.99 1.26773 0.683673 +18 1.05 1.62792 0.816327 +19 1.11 0.896448 0.897959 +20 1.17 1.61376 1.06122 +21 1.23 0.730097 1.14286 +22 1.29 1.24457 1.29592 +23 1.35 0.833375 1.40816 +24 1.41 0.833421 1.53061 +25 1.47 1.53357 1.77551 +26 1.53 1.06175 1.95918 +27 1.59 0.928517 2.13265 +28 1.65 1.31869 2.39796 +29 1.71 0.850007 2.58163 +30 1.77 1.05782 2.82653 +31 1.83 0.948361 3.06122 +32 1.89 1.04374 3.33673 +33 1.95 0.83524 3.57143 +34 2.01 0.922839 3.84694 +35 2.07 1.06348 4.18367 +36 2.13 0.94354 4.5 +37 2.19 1.15168 4.90816 +38 2.25 1.39112 5.42857 +39 2.31 1.00926 5.82653 +40 2.37 1.08173 6.27551 +41 2.43 1.16929 6.78571 +42 2.49 0.890896 7.19388 +43 2.55 1.21049 7.77551 +44 2.61 1.25684 8.40816 +45 2.67 0.7942 8.82653 +46 2.73 0.889376 9.31633 +47 2.79 0.922497 9.84694 +48 2.85 1.02008 10.4592 +49 2.91 1.17413 11.1939 +50 2.97 0.829726 11.7347 +102200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 0.424655 0.0408163 +11 0.63 1.39071 0.0816327 +12 0.69 0.869633 0.112245 +13 0.75 2.45376 0.214286 +14 0.81 2.52464 0.336735 +15 0.87 2.55331 0.479592 +16 0.93 0.798069 0.530612 +17 0.99 0.98601 0.602041 +18 1.05 0.751348 0.663265 +19 1.11 0.672336 0.72449 +20 1.17 1.41204 0.867347 +21 1.23 1.46019 1.03061 +22 1.29 0.829715 1.13265 +23 1.35 1.59099 1.34694 +24 1.41 0.833421 1.46939 +25 1.47 0.95848 1.62245 +26 1.53 0.589859 1.72449 +27 1.59 0.983136 1.90816 +28 1.65 1.16654 2.14286 +29 1.71 0.944452 2.34694 +30 1.77 0.925588 2.56122 +31 1.83 1.27823 2.87755 +32 1.89 0.966422 3.13265 +33 1.95 1.08944 3.43878 +34 2.01 1.29881 3.82653 +35 2.07 1.09571 4.17347 +36 2.13 0.913104 4.47959 +37 2.19 1.00772 4.83673 +38 2.25 1.03652 5.22449 +39 2.31 0.905746 5.58163 +40 2.37 1.10632 6.04082 +41 2.43 1.00559 6.47959 +42 2.49 1.20271 7.03061 +43 2.55 1.08307 7.55102 +44 2.61 1.09466 8.10204 +45 2.67 1.06539 8.66327 +46 2.73 1.07466 9.2551 +47 2.79 0.922497 9.78571 +48 2.85 1.10508 10.449 +49 2.91 1.07629 11.1224 +50 2.97 0.970623 11.7551 +102250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0.424655 0.0408163 +11 0.63 1.73839 0.0918367 +12 0.69 2.02914 0.163265 +13 0.75 2.45376 0.265306 +14 0.81 1.89348 0.357143 +15 0.87 1.45904 0.438776 +16 0.93 1.43652 0.530612 +17 0.99 1.40859 0.632653 +18 1.05 1.75315 0.77551 +19 1.11 0.784392 0.846939 +20 1.17 1.61376 1.0102 +21 1.23 1.36893 1.16327 +22 1.29 1.32754 1.32653 +23 1.35 1.28794 1.5 +24 1.41 1.18068 1.67347 +25 1.47 1.40577 1.89796 +26 1.53 1.12073 2.09184 +27 1.59 0.928517 2.26531 +28 1.65 0.557909 2.37755 +29 1.71 1.13334 2.62245 +30 1.77 0.661135 2.77551 +31 1.83 0.948361 3.0102 +32 1.89 0.850451 3.23469 +33 1.95 1.08944 3.54082 +34 2.01 1.19627 3.89796 +35 2.07 0.966801 4.20408 +36 2.13 1.03485 4.55102 +37 2.19 1.09409 4.93878 +38 2.25 0.845586 5.2551 +39 2.31 1.00926 5.65306 +40 2.37 1.25383 6.17347 +41 2.43 1.19268 6.69388 +42 2.49 0.935441 7.12245 +43 2.55 1.16802 7.68367 +44 2.61 0.932491 8.15306 +45 2.67 0.968536 8.66327 +46 2.73 1.14878 9.29592 +47 2.79 0.887016 9.80612 +48 2.85 1.03708 10.4286 +49 2.91 1.07629 11.102 +50 2.97 0.970623 11.7347 +102300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 2.72382 0.0510204 +9 0.51 1.06066 0.0714286 +10 0.57 0.84931 0.0918367 +11 0.63 1.39071 0.132653 +12 0.69 1.44939 0.183673 +13 0.75 1.47226 0.244898 +14 0.81 2.52464 0.367347 +15 0.87 1.8238 0.469388 +16 0.93 1.91536 0.591837 +17 0.99 1.12687 0.673469 +18 1.05 1.0018 0.755102 +19 1.11 1.12056 0.857143 +20 1.17 1.61376 1.02041 +21 1.23 1.18641 1.15306 +22 1.29 1.07863 1.28571 +23 1.35 0.909136 1.40816 +24 1.41 0.763969 1.52041 +25 1.47 0.95848 1.67347 +26 1.53 1.06175 1.85714 +27 1.59 1.42008 2.12245 +28 1.65 0.811505 2.28571 +29 1.71 1.08612 2.52041 +30 1.77 0.925588 2.73469 +31 1.83 1.11329 3.0102 +32 1.89 0.889108 3.2449 +33 1.95 0.907869 3.5 +34 2.01 1.02538 3.80612 +35 2.07 1.03125 4.13265 +36 2.13 1.12616 4.5102 +37 2.19 0.748591 4.77551 +38 2.25 0.981971 5.14286 +39 2.31 1.0869 5.57143 +40 2.37 1.37675 6.14286 +41 2.43 1.3096 6.71429 +42 2.49 0.846351 7.10204 +43 2.55 0.870703 7.52041 +44 2.61 0.831133 7.93878 +45 2.67 1.31721 8.63265 +46 2.73 0.96349 9.16327 +47 2.79 1.02894 9.7551 +48 2.85 1.03708 10.3776 +49 2.91 0.994753 11 +50 2.97 1.12718 11.7347 +102350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0.530329 0.0102041 +10 0.57 0.84931 0.0306122 +11 0.63 0 0.0306122 +12 0.69 1.44939 0.0816327 +13 0.75 0.736129 0.112245 +14 0.81 1.05193 0.163265 +15 0.87 1.8238 0.265306 +16 0.93 1.91536 0.387755 +17 0.99 1.12687 0.469388 +18 1.05 1.75315 0.612245 +19 1.11 1.23262 0.72449 +20 1.17 0.504301 0.77551 +21 1.23 0.821359 0.867347 +22 1.29 1.49349 1.05102 +23 1.35 1.13642 1.20408 +24 1.41 1.25013 1.38776 +25 1.47 1.27797 1.59184 +26 1.53 1.12073 1.78571 +27 1.59 1.03775 1.97959 +28 1.65 0.963662 2.17347 +29 1.71 1.41668 2.47959 +30 1.77 0.793362 2.66327 +31 1.83 1.31946 2.9898 +32 1.89 0.927765 3.23469 +33 1.95 1.01681 3.52041 +34 2.01 0.922839 3.79592 +35 2.07 0.902347 4.08163 +36 2.13 0.973977 4.40816 +37 2.19 0.863759 4.71429 +38 2.25 0.90014 5.05102 +39 2.31 0.983381 5.43878 +40 2.37 0.885053 5.80612 +41 2.43 0.912046 6.20408 +42 2.49 1.15816 6.73469 +43 2.55 1.08307 7.2551 +44 2.61 1.09466 7.80612 +45 2.67 0.891053 8.27551 +46 2.73 1.14878 8.90816 +47 2.79 1.13538 9.56122 +48 2.85 0.95207 10.1327 +49 2.91 0.896908 10.6939 +50 2.97 0.876692 11.2653 +102400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 2.12132 0.0510204 +10 0.57 0.424655 0.0612245 +11 0.63 1.04303 0.0918367 +12 0.69 1.15951 0.132653 +13 0.75 1.96301 0.214286 +14 0.81 1.47271 0.285714 +15 0.87 2.18855 0.408163 +16 0.93 1.59614 0.510204 +17 0.99 1.12687 0.591837 +18 1.05 0.751348 0.653061 +19 1.11 1.12056 0.755102 +20 1.17 0.504301 0.806122 +21 1.23 0.730097 0.887755 +22 1.29 0.663772 0.969388 +23 1.35 1.3637 1.15306 +24 1.41 0.625065 1.2449 +25 1.47 1.21407 1.43878 +26 1.53 0.825803 1.58163 +27 1.59 0.983136 1.76531 +28 1.65 1.11582 1.9898 +29 1.71 0.89723 2.18367 +30 1.77 0.925588 2.39796 +31 1.83 1.36069 2.73469 +32 1.89 1.08239 3.02041 +33 1.95 1.01681 3.30612 +34 2.01 0.991198 3.60204 +35 2.07 1.03125 3.92857 +36 2.13 1.1566 4.31633 +37 2.19 1.23805 4.7551 +38 2.25 0.736478 5.03061 +39 2.31 1.3198 5.55102 +40 2.37 0.860468 5.90816 +41 2.43 1.12252 6.39796 +42 2.49 1.15816 6.92857 +43 2.55 0.976887 7.39796 +44 2.61 1.13521 7.96939 +45 2.67 0.891053 8.43878 +46 2.73 0.889376 8.92857 +47 2.79 0.887016 9.43878 +48 2.85 0.901066 9.97959 +49 2.91 1.02737 10.6224 +50 2.97 1.0489 11.3061 +102450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 1.06066 0.0408163 +10 0.57 1.27396 0.0714286 +11 0.63 0.695356 0.0918367 +12 0.69 2.31902 0.173469 +13 0.75 0.490753 0.193878 +14 0.81 1.47271 0.265306 +15 0.87 2.00617 0.377551 +16 0.93 1.1173 0.44898 +17 0.99 1.97202 0.591837 +18 1.05 0.876573 0.663265 +19 1.11 0.896448 0.744898 +20 1.17 1.0086 0.846939 +21 1.23 1.00388 0.959184 +22 1.29 0.746744 1.05102 +23 1.35 0.909136 1.17347 +24 1.41 1.18068 1.34694 +25 1.47 1.08628 1.52041 +26 1.53 1.41566 1.76531 +27 1.59 0.928517 1.93878 +28 1.65 1.01438 2.14286 +29 1.71 0.850007 2.32653 +30 1.77 0.661135 2.47959 +31 1.83 0.618496 2.63265 +32 1.89 0.966422 2.88776 +33 1.95 1.19839 3.22449 +34 2.01 0.922839 3.5 +35 2.07 1.12793 3.85714 +36 2.13 1.24791 4.27551 +37 2.19 0.921343 4.60204 +38 2.25 1.11836 5.02041 +39 2.31 1.3198 5.54082 +40 2.37 1.00798 5.95918 +41 2.43 1.02897 6.40816 +42 2.49 1.13589 6.92857 +43 2.55 0.870703 7.34694 +44 2.61 0.932491 7.81633 +45 2.67 1.06539 8.37755 +46 2.73 1.07466 8.96939 +47 2.79 1.0999 9.60204 +48 2.85 0.95207 10.1735 +49 2.91 1.15783 10.898 +50 2.97 0.986279 11.5408 +102500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 0.695356 0.0510204 +12 0.69 1.15951 0.0918367 +13 0.75 0.981505 0.132653 +14 0.81 2.10387 0.234694 +15 0.87 1.09428 0.295918 +16 0.93 1.43652 0.387755 +17 0.99 1.12687 0.469388 +18 1.05 1.37747 0.581633 +19 1.11 1.56878 0.72449 +20 1.17 1.0086 0.826531 +21 1.23 0.821359 0.918367 +22 1.29 1.24457 1.07143 +23 1.35 1.3637 1.2551 +24 1.41 0.972324 1.39796 +25 1.47 0.95848 1.55102 +26 1.53 1.00276 1.72449 +27 1.59 1.09237 1.92857 +28 1.65 0.963662 2.12245 +29 1.71 0.991675 2.33673 +30 1.77 1.01374 2.57143 +31 1.83 1.11329 2.84694 +32 1.89 0.773137 3.05102 +33 1.95 0.83524 3.28571 +34 2.01 0.820302 3.53061 +35 2.07 1.16016 3.89796 +36 2.13 1.03485 4.2449 +37 2.19 1.29564 4.70408 +38 2.25 0.981971 5.07143 +39 2.31 0.905746 5.42857 +40 2.37 1.18007 5.91837 +41 2.43 0.958818 6.33673 +42 2.49 1.0468 6.81633 +43 2.55 1.23173 7.40816 +44 2.61 0.851404 7.83673 +45 2.67 0.813571 8.26531 +46 2.73 0.926433 8.77551 +47 2.79 1.06442 9.38776 +48 2.85 1.02008 10 +49 2.91 0.782756 10.4898 +50 2.97 1.09587 11.2041 +102550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 1.04303 0.0612245 +12 0.69 2.02914 0.132653 +13 0.75 1.22688 0.183673 +14 0.81 1.68309 0.265306 +15 0.87 1.27666 0.336735 +16 0.93 1.1173 0.408163 +17 0.99 0.845152 0.469388 +18 1.05 0.626123 0.520408 +19 1.11 1.0085 0.612245 +20 1.17 1.21032 0.734694 +21 1.23 1.18641 0.867347 +22 1.29 1.49349 1.05102 +23 1.35 0.454568 1.11224 +24 1.41 0.694517 1.21429 +25 1.47 1.66137 1.47959 +26 1.53 1.06175 1.66327 +27 1.59 1.58394 1.95918 +28 1.65 1.57229 2.27551 +29 1.71 0.802784 2.44898 +30 1.77 1.14597 2.71429 +31 1.83 1.15453 3 +32 1.89 0.927765 3.2449 +33 1.95 1.01681 3.53061 +34 2.01 0.820302 3.77551 +35 2.07 0.805667 4.03061 +36 2.13 1.18703 4.42857 +37 2.19 1.32443 4.89796 +38 2.25 0.954694 5.2551 +39 2.31 1.03514 5.66327 +40 2.37 1.05715 6.10204 +41 2.43 1.09913 6.58163 +42 2.49 1.06908 7.07143 +43 2.55 0.934413 7.52041 +44 2.61 0.831133 7.93878 +45 2.67 1.10413 8.52041 +46 2.73 1.01908 9.08163 +47 2.79 1.04668 9.68367 +48 2.85 0.867064 10.2041 +49 2.91 0.831679 10.7245 +50 2.97 0.798416 11.2449 +102600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0 0.0102041 +10 0.57 0 0.0102041 +11 0.63 1.04303 0.0408163 +12 0.69 0.579756 0.0612245 +13 0.75 1.22688 0.112245 +14 0.81 1.89348 0.204082 +15 0.87 1.45904 0.285714 +16 0.93 1.91536 0.408163 +17 0.99 1.40859 0.510204 +18 1.05 0.500899 0.55102 +19 1.11 1.34467 0.673469 +20 1.17 0.907742 0.765306 +21 1.23 1.27767 0.908163 +22 1.29 0.746744 1 +23 1.35 1.06066 1.14286 +24 1.41 1.18068 1.31633 +25 1.47 1.21407 1.5102 +26 1.53 1.29769 1.73469 +27 1.59 1.4747 2.0102 +28 1.65 1.36941 2.28571 +29 1.71 1.13334 2.53061 +30 1.77 0.881513 2.73469 +31 1.83 0.742195 2.91837 +32 1.89 0.927765 3.16327 +33 1.95 0.980499 3.43878 +34 2.01 0.991198 3.73469 +35 2.07 0.966801 4.04082 +36 2.13 0.973977 4.36735 +37 2.19 0.921343 4.69388 +38 2.25 0.818309 5 +39 2.31 0.931624 5.36735 +40 2.37 1.32758 5.91837 +41 2.43 0.88866 6.30612 +42 2.49 1.22498 6.86735 +43 2.55 0.998123 7.34694 +44 2.61 1.13521 7.91837 +45 2.67 0.910424 8.39796 +46 2.73 0.96349 8.92857 +47 2.79 0.869276 9.42857 +48 2.85 1.08808 10.0816 +49 2.91 0.929523 10.6633 +50 2.97 1.14283 11.4082 +102650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 3.18198 0.0612245 +10 0.57 0.84931 0.0816327 +11 0.63 0.695356 0.102041 +12 0.69 1.73927 0.163265 +13 0.75 1.96301 0.244898 +14 0.81 0.841547 0.285714 +15 0.87 0.911898 0.336735 +16 0.93 1.27691 0.418367 +17 0.99 1.6903 0.540816 +18 1.05 1.37747 0.653061 +19 1.11 0.896448 0.734694 +20 1.17 0.907742 0.826531 +21 1.23 1.00388 0.938776 +22 1.29 1.07863 1.07143 +23 1.35 0.530329 1.14286 +24 1.41 1.25013 1.32653 +25 1.47 1.02238 1.4898 +26 1.53 1.29769 1.71429 +27 1.59 1.20161 1.93878 +28 1.65 0.912943 2.12245 +29 1.71 1.32223 2.40816 +30 1.77 1.01374 2.64286 +31 1.83 0.948361 2.87755 +32 1.89 1.19836 3.19388 +33 1.95 0.944184 3.45918 +34 2.01 0.820302 3.70408 +35 2.07 1.09571 4.05102 +36 2.13 0.791356 4.31633 +37 2.19 1.0653 4.69388 +38 2.25 0.90014 5.03061 +39 2.31 0.957503 5.40816 +40 2.37 1.10632 5.86735 +41 2.43 0.841889 6.23469 +42 2.49 0.890896 6.64286 +43 2.55 1.42286 7.32653 +44 2.61 0.770318 7.71429 +45 2.67 1.10413 8.29592 +46 2.73 0.870847 8.77551 +47 2.79 1.06442 9.38776 +48 2.85 0.867064 9.90816 +49 2.91 0.945831 10.5 +50 2.97 1.15849 11.2551 +102700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.12132 0.0408163 +10 0.57 0.424655 0.0510204 +11 0.63 2.08607 0.112245 +12 0.69 2.31902 0.193878 +13 0.75 0.981505 0.234694 +14 0.81 1.47271 0.306122 +15 0.87 1.64142 0.397959 +16 0.93 0.638455 0.438776 +17 0.99 1.54944 0.55102 +18 1.05 1.37747 0.663265 +19 1.11 1.12056 0.765306 +20 1.17 0.706021 0.836735 +21 1.23 1.27767 0.979592 +22 1.29 0.995658 1.10204 +23 1.35 1.21218 1.26531 +24 1.41 0.763969 1.37755 +25 1.47 1.08628 1.55102 +26 1.53 1.41566 1.79592 +27 1.59 1.58394 2.09184 +28 1.65 0.963662 2.28571 +29 1.71 1.0389 2.5102 +30 1.77 0.749286 2.68367 +31 1.83 0.948361 2.91837 +32 1.89 1.04374 3.19388 +33 1.95 0.726295 3.39796 +34 2.01 0.957019 3.68367 +35 2.07 1.12793 4.04082 +36 2.13 0.94354 4.35714 +37 2.19 1.09409 4.7449 +38 2.25 1.09108 5.15306 +39 2.31 0.983381 5.54082 +40 2.37 1.20466 6.04082 +41 2.43 1.00559 6.47959 +42 2.49 0.935441 6.90816 +43 2.55 1.06183 7.41837 +44 2.61 0.871676 7.85714 +45 2.67 0.600493 8.17347 +46 2.73 1.35259 8.91837 +47 2.79 1.04668 9.52041 +48 2.85 1.25809 10.2755 +49 2.91 1.07629 10.949 +50 2.97 0.923658 11.551 +102750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 2.12132 0.0510204 +10 0.57 1.27396 0.0816327 +11 0.63 2.43375 0.153061 +12 0.69 0.869633 0.183673 +13 0.75 1.22688 0.234694 +14 0.81 1.26232 0.295918 +15 0.87 0.547139 0.326531 +16 0.93 1.27691 0.408163 +17 0.99 1.12687 0.489796 +18 1.05 1.5027 0.612245 +19 1.11 1.12056 0.714286 +20 1.17 1.31118 0.846939 +21 1.23 1.18641 0.979592 +22 1.29 1.1616 1.12245 +23 1.35 0.833375 1.23469 +24 1.41 1.11123 1.39796 +25 1.47 1.08628 1.57143 +26 1.53 0.825803 1.71429 +27 1.59 1.14699 1.92857 +28 1.65 1.11582 2.15306 +29 1.71 0.850007 2.33673 +30 1.77 1.58672 2.70408 +31 1.83 0.824661 2.90816 +32 1.89 1.04374 3.18367 +33 1.95 1.12576 3.5 +34 2.01 1.19627 3.85714 +35 2.07 1.28907 4.26531 +36 2.13 1.09572 4.63265 +37 2.19 0.834967 4.92857 +38 2.25 0.681924 5.18367 +39 2.31 1.11277 5.62245 +40 2.37 1.08173 6.07143 +41 2.43 1.02897 6.52041 +42 2.49 1.15816 7.05102 +43 2.55 0.95565 7.5102 +44 2.61 0.973034 8 +45 2.67 0.891053 8.46939 +46 2.73 1.0376 9.04082 +47 2.79 1.06442 9.65306 +48 2.85 1.00307 10.2551 +49 2.91 0.847986 10.7857 +50 2.97 1.20545 11.5714 +102800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.52926 0.0204082 +7 0.39 1.81231 0.0408163 +8 0.45 0 0.0408163 +9 0.51 0.530329 0.0510204 +10 0.57 1.27396 0.0816327 +11 0.63 1.73839 0.132653 +12 0.69 0.869633 0.163265 +13 0.75 2.20839 0.255102 +14 0.81 1.26232 0.316327 +15 0.87 1.45904 0.397959 +16 0.93 0.957682 0.459184 +17 0.99 0.845152 0.520408 +18 1.05 1.25225 0.622449 +19 1.11 1.0085 0.714286 +20 1.17 1.5129 0.867347 +21 1.23 0.638835 0.938776 +22 1.29 1.57646 1.13265 +23 1.35 1.13642 1.28571 +24 1.41 0.555614 1.36735 +25 1.47 0.766784 1.4898 +26 1.53 1.00276 1.66327 +27 1.59 1.31085 1.90816 +28 1.65 1.0651 2.12245 +29 1.71 1.41668 2.42857 +30 1.77 1.71895 2.82653 +31 1.83 1.15453 3.11224 +32 1.89 0.966422 3.36735 +33 1.95 1.2347 3.71429 +34 2.01 1.02538 4.02041 +35 2.07 0.902347 4.30612 +36 2.13 1.09572 4.67347 +37 2.19 1.15168 5.08163 +38 2.25 1.17291 5.52041 +39 2.31 0.879867 5.86735 +40 2.37 0.934223 6.2551 +41 2.43 0.771731 6.59184 +42 2.49 0.890896 7 +43 2.55 1.0406 7.5 +44 2.61 0.912219 7.95918 +45 2.67 0.832941 8.39796 +46 2.73 1.25995 9.09184 +47 2.79 1.17086 9.76531 +48 2.85 0.68005 10.1735 +49 2.91 1.05998 10.8367 +50 2.97 1.06455 11.5306 +102850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 1.36191 0.0408163 +9 0.51 2.12132 0.0816327 +10 0.57 0.84931 0.102041 +11 0.63 0.695356 0.122449 +12 0.69 0.289878 0.132653 +13 0.75 1.71763 0.204082 +14 0.81 1.68309 0.285714 +15 0.87 1.09428 0.346939 +16 0.93 2.07498 0.479592 +17 0.99 1.97202 0.622449 +18 1.05 0.876573 0.693878 +19 1.11 1.45673 0.826531 +20 1.17 0.907742 0.918367 +21 1.23 1.09515 1.04082 +22 1.29 1.57646 1.23469 +23 1.35 0.909136 1.35714 +24 1.41 0.972324 1.5 +25 1.47 1.40577 1.72449 +26 1.53 0.766817 1.85714 +27 1.59 0.491568 1.94898 +28 1.65 1.0651 2.16327 +29 1.71 1.0389 2.38776 +30 1.77 0.793362 2.57143 +31 1.83 1.11329 2.84694 +32 1.89 0.927765 3.09184 +33 1.95 0.980499 3.36735 +34 2.01 1.26463 3.7449 +35 2.07 1.16016 4.11224 +36 2.13 0.882667 4.40816 +37 2.19 1.03651 4.77551 +38 2.25 0.872863 5.10204 +39 2.31 1.03514 5.5102 +40 2.37 0.983392 5.91837 +41 2.43 0.865274 6.29592 +42 2.49 0.957713 6.73469 +43 2.55 1.18925 7.30612 +44 2.61 0.871676 7.7449 +45 2.67 1.39469 8.47959 +46 2.73 0.83379 8.93878 +47 2.79 1.04668 9.54082 +48 2.85 1.13908 10.2245 +49 2.91 0.896908 10.7857 +50 2.97 0.908003 11.3776 +102900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 1.36191 0.0408163 +9 0.51 1.06066 0.0612245 +10 0.57 0.424655 0.0714286 +11 0.63 0.695356 0.0918367 +12 0.69 0.869633 0.122449 +13 0.75 0.490753 0.142857 +14 0.81 1.47271 0.214286 +15 0.87 1.45904 0.295918 +16 0.93 1.75575 0.408163 +17 0.99 1.54944 0.520408 +18 1.05 1.62792 0.653061 +19 1.11 1.45673 0.785714 +20 1.17 1.81548 0.969388 +21 1.23 0.821359 1.06122 +22 1.29 1.41052 1.23469 +23 1.35 0.606091 1.31633 +24 1.41 1.11123 1.47959 +25 1.47 0.95848 1.63265 +26 1.53 1.41566 1.87755 +27 1.59 1.09237 2.08163 +28 1.65 1.0651 2.29592 +29 1.71 1.0389 2.52041 +30 1.77 1.23412 2.80612 +31 1.83 1.07206 3.07143 +32 1.89 0.889108 3.30612 +33 1.95 1.05313 3.60204 +34 2.01 1.05956 3.91837 +35 2.07 1.03125 4.2449 +36 2.13 1.00441 4.58163 +37 2.19 0.834967 4.87755 +38 2.25 0.818309 5.18367 +39 2.31 1.0869 5.61224 +40 2.37 1.1309 6.08163 +41 2.43 1.16929 6.59184 +42 2.49 1.13589 7.11224 +43 2.55 0.934413 7.56122 +44 2.61 0.952762 8.04082 +45 2.67 1.08476 8.61224 +46 2.73 0.982019 9.15306 +47 2.79 1.0112 9.73469 +48 2.85 1.00307 10.3367 +49 2.91 1.0926 11.0204 +50 2.97 1.06455 11.7143 +102950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0.530329 0.0102041 +10 0.57 2.12327 0.0612245 +11 0.63 2.43375 0.132653 +12 0.69 1.15951 0.173469 +13 0.75 1.22688 0.22449 +14 0.81 1.47271 0.295918 +15 0.87 1.8238 0.397959 +16 0.93 1.43652 0.489796 +17 0.99 1.40859 0.591837 +18 1.05 1.37747 0.704082 +19 1.11 0.896448 0.785714 +20 1.17 0.907742 0.877551 +21 1.23 0.547573 0.938776 +22 1.29 1.24457 1.09184 +23 1.35 0.984898 1.22449 +24 1.41 1.38903 1.42857 +25 1.47 0.638987 1.53061 +26 1.53 1.17972 1.73469 +27 1.59 1.03775 1.92857 +28 1.65 1.31869 2.19388 +29 1.71 1.08612 2.42857 +30 1.77 1.10189 2.68367 +31 1.83 1.19576 2.97959 +32 1.89 1.35299 3.33673 +33 1.95 1.19839 3.67347 +34 2.01 0.786122 3.90816 +35 2.07 1.19239 4.28571 +36 2.13 1.21747 4.69388 +37 2.19 1.12289 5.09184 +38 2.25 1.09108 5.5 +39 2.31 0.905746 5.85714 +40 2.37 1.00798 6.27551 +41 2.43 1.09913 6.7551 +42 2.49 0.779534 7.11224 +43 2.55 0.913177 7.55102 +44 2.61 1.15548 8.13265 +45 2.67 0.852312 8.58163 +46 2.73 1.0376 9.15306 +47 2.79 1.08216 9.77551 +48 2.85 1.12208 10.449 +49 2.91 1.01106 11.0816 +50 2.97 1.06455 11.7755 +103000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.869633 0.0510204 +13 0.75 1.71763 0.122449 +14 0.81 2.73503 0.255102 +15 0.87 1.27666 0.326531 +16 0.93 2.07498 0.459184 +17 0.99 0.845152 0.520408 +18 1.05 0.876573 0.591837 +19 1.11 1.45673 0.72449 +20 1.17 1.0086 0.826531 +21 1.23 1.64272 1.0102 +22 1.29 1.49349 1.19388 +23 1.35 0.833375 1.30612 +24 1.41 1.18068 1.47959 +25 1.47 0.95848 1.63265 +26 1.53 1.53363 1.89796 +27 1.59 1.25623 2.13265 +28 1.65 0.912943 2.31633 +29 1.71 1.18057 2.57143 +30 1.77 0.969664 2.79592 +31 1.83 0.989594 3.04082 +32 1.89 1.00508 3.30612 +33 1.95 1.01681 3.59184 +34 2.01 0.991198 3.88776 +35 2.07 1.12793 4.2449 +36 2.13 1.06529 4.60204 +37 2.19 1.29564 5.06122 +38 2.25 0.62737 5.29592 +39 2.31 1.34568 5.82653 +40 2.37 0.958808 6.22449 +41 2.43 0.912046 6.62245 +42 2.49 1.09135 7.12245 +43 2.55 0.95565 7.58163 +44 2.61 1.07439 8.12245 +45 2.67 0.968536 8.63265 +46 2.73 1.11172 9.2449 +47 2.79 1.0999 9.87755 +48 2.85 1.25809 10.6327 +49 2.91 1.04368 11.2857 +50 2.97 0.829726 11.8265 +103050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 2.71846 0.0306122 +8 0.45 0.680956 0.0408163 +9 0.51 0.530329 0.0510204 +10 0.57 1.69862 0.0918367 +11 0.63 1.73839 0.142857 +12 0.69 2.02914 0.214286 +13 0.75 1.22688 0.265306 +14 0.81 1.68309 0.346939 +15 0.87 0.911898 0.397959 +16 0.93 1.59614 0.5 +17 0.99 1.83116 0.632653 +18 1.05 0.500899 0.673469 +19 1.11 0.784392 0.744898 +20 1.17 1.71462 0.918367 +21 1.23 1.55146 1.09184 +22 1.29 0.746744 1.18367 +23 1.35 1.06066 1.32653 +24 1.41 1.11123 1.4898 +25 1.47 1.08628 1.66327 +26 1.53 1.35668 1.89796 +27 1.59 0.983136 2.08163 +28 1.65 1.11582 2.30612 +29 1.71 1.27501 2.58163 +30 1.77 0.749286 2.7551 +31 1.83 1.07206 3.02041 +32 1.89 1.08239 3.30612 +33 1.95 0.907869 3.56122 +34 2.01 0.991198 3.85714 +35 2.07 0.934574 4.15306 +36 2.13 1.30878 4.59184 +37 2.19 0.662215 4.82653 +38 2.25 0.981971 5.19388 +39 2.31 1.13865 5.64286 +40 2.37 1.18007 6.13265 +41 2.43 0.935432 6.54082 +42 2.49 1.20271 7.09184 +43 2.55 1.06183 7.60204 +44 2.61 1.35819 8.28571 +45 2.67 0.968536 8.79592 +46 2.73 1.29701 9.5102 +47 2.79 0.887016 10.0204 +48 2.85 1.24109 10.7653 +49 2.91 0.913216 11.3367 +50 2.97 0.72014 11.8061 +103100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 1.06066 0.0510204 +10 0.57 1.27396 0.0816327 +11 0.63 0.695356 0.102041 +12 0.69 1.73927 0.163265 +13 0.75 1.96301 0.244898 +14 0.81 0.841547 0.285714 +15 0.87 1.27666 0.357143 +16 0.93 1.43652 0.44898 +17 0.99 1.12687 0.530612 +18 1.05 1.62792 0.663265 +19 1.11 1.12056 0.765306 +20 1.17 1.0086 0.867347 +21 1.23 0.821359 0.959184 +22 1.29 1.49349 1.14286 +23 1.35 1.21218 1.30612 +24 1.41 1.25013 1.4898 +25 1.47 1.08628 1.66327 +26 1.53 0.707831 1.78571 +27 1.59 0.983136 1.96939 +28 1.65 1.36941 2.2449 +29 1.71 1.0389 2.46939 +30 1.77 1.05782 2.71429 +31 1.83 1.19576 3.0102 +32 1.89 1.27568 3.34694 +33 1.95 1.2347 3.69388 +34 2.01 1.02538 4 +35 2.07 1.32129 4.41837 +36 2.13 0.85223 4.70408 +37 2.19 1.09409 5.09184 +38 2.25 0.981971 5.45918 +39 2.31 0.853989 5.79592 +40 2.37 0.885053 6.16327 +41 2.43 1.26283 6.71429 +42 2.49 1.18044 7.2551 +43 2.55 1.14678 7.80612 +44 2.61 0.851404 8.23469 +45 2.67 0.949166 8.73469 +46 2.73 1.11172 9.34694 +47 2.79 1.02894 9.93878 +48 2.85 1.12208 10.6122 +49 2.91 1.0926 11.2959 +50 2.97 0.970623 11.9286 +103150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 2.12327 0.0816327 +11 0.63 0 0.0816327 +12 0.69 2.6089 0.173469 +13 0.75 1.96301 0.255102 +14 0.81 2.31425 0.367347 +15 0.87 0.911898 0.418367 +16 0.93 1.91536 0.540816 +17 0.99 1.54944 0.653061 +18 1.05 0.876573 0.72449 +19 1.11 1.45673 0.857143 +20 1.17 0.806882 0.938776 +21 1.23 0.821359 1.03061 +22 1.29 0.497829 1.09184 +23 1.35 0.909136 1.21429 +24 1.41 1.11123 1.37755 +25 1.47 1.15018 1.56122 +26 1.53 1.00276 1.73469 +27 1.59 0.928517 1.90816 +28 1.65 1.31869 2.17347 +29 1.71 1.22779 2.43878 +30 1.77 1.23412 2.72449 +31 1.83 1.03083 2.97959 +32 1.89 1.46896 3.36735 +33 1.95 1.16207 3.69388 +34 2.01 0.751943 3.91837 +35 2.07 1.57911 4.41837 +36 2.13 1.00441 4.7551 +37 2.19 1.15168 5.16327 +38 2.25 0.927417 5.5102 +39 2.31 0.828111 5.83673 +40 2.37 0.811299 6.17347 +41 2.43 1.26283 6.72449 +42 2.49 0.868624 7.12245 +43 2.55 1.12554 7.66327 +44 2.61 0.973034 8.15306 +45 2.67 1.27847 8.82653 +46 2.73 1.09319 9.42857 +47 2.79 0.904757 9.94898 +48 2.85 0.95207 10.5204 +49 2.91 1.19044 11.2653 +50 2.97 0.876692 11.8367 +103200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 1.59099 0.0510204 +10 0.57 2.12327 0.102041 +11 0.63 2.08607 0.163265 +12 0.69 0.579756 0.183673 +13 0.75 2.20839 0.27551 +14 0.81 1.47271 0.346939 +15 0.87 1.27666 0.418367 +16 0.93 1.43652 0.510204 +17 0.99 1.6903 0.632653 +18 1.05 1.0018 0.714286 +19 1.11 1.12056 0.816327 +20 1.17 0.907742 0.908163 +21 1.23 1.18641 1.04082 +22 1.29 1.82537 1.26531 +23 1.35 1.3637 1.44898 +24 1.41 1.31958 1.64286 +25 1.47 1.21407 1.83673 +26 1.53 1.2387 2.05102 +27 1.59 0.983136 2.23469 +28 1.65 0.912943 2.41837 +29 1.71 1.08612 2.65306 +30 1.77 1.10189 2.90816 +31 1.83 0.700962 3.08163 +32 1.89 1.04374 3.35714 +33 1.95 1.19839 3.69388 +34 2.01 0.786122 3.92857 +35 2.07 1.19239 4.30612 +36 2.13 0.973977 4.63265 +37 2.19 1.12289 5.03061 +38 2.25 1.28202 5.5102 +39 2.31 0.828111 5.83673 +40 2.37 1.15549 6.31633 +41 2.43 1.21606 6.84694 +42 2.49 0.935441 7.27551 +43 2.55 0.998123 7.7551 +44 2.61 1.01358 8.26531 +45 2.67 0.910424 8.7449 +46 2.73 0.83379 9.20408 +47 2.79 1.04668 9.80612 +48 2.85 1.17309 10.5102 +49 2.91 0.962138 11.1122 +50 2.97 1.03324 11.7857 +103250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0.530329 0.0102041 +10 0.57 1.69862 0.0510204 +11 0.63 2.08607 0.112245 +12 0.69 1.73927 0.173469 +13 0.75 1.96301 0.255102 +14 0.81 1.47271 0.326531 +15 0.87 1.27666 0.397959 +16 0.93 2.23459 0.540816 +17 0.99 1.97202 0.683673 +18 1.05 1.0018 0.765306 +19 1.11 1.23262 0.877551 +20 1.17 0.907742 0.969388 +21 1.23 0.730097 1.05102 +22 1.29 0.995658 1.17347 +23 1.35 0.984898 1.30612 +24 1.41 1.45849 1.52041 +25 1.47 0.95848 1.67347 +26 1.53 1.35668 1.90816 +27 1.59 0.873898 2.07143 +28 1.65 1.42013 2.35714 +29 1.71 0.89723 2.55102 +30 1.77 1.14597 2.81633 +31 1.83 0.948361 3.05102 +32 1.89 1.23702 3.37755 +33 1.95 1.12576 3.69388 +34 2.01 0.957019 3.97959 +35 2.07 0.934574 4.27551 +36 2.13 0.791356 4.54082 +37 2.19 1.12289 4.93878 +38 2.25 1.03652 5.32653 +39 2.31 0.905746 5.68367 +40 2.37 1.03256 6.11224 +41 2.43 1.02897 6.56122 +42 2.49 0.779534 6.91837 +43 2.55 0.849467 7.32653 +44 2.61 1.17575 7.91837 +45 2.67 0.910424 8.39796 +46 2.73 1.14878 9.03061 +47 2.79 1.06442 9.64286 +48 2.85 0.901066 10.1837 +49 2.91 1.04368 10.8367 +50 2.97 1.11152 11.5612 +103300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 1.59099 0.0408163 +10 0.57 1.69862 0.0816327 +11 0.63 1.04303 0.112245 +12 0.69 0 0.112245 +13 0.75 1.47226 0.173469 +14 0.81 1.05193 0.22449 +15 0.87 1.45904 0.306122 +16 0.93 0.957682 0.367347 +17 0.99 1.40859 0.469388 +18 1.05 1.37747 0.581633 +19 1.11 1.23262 0.693878 +20 1.17 1.41204 0.836735 +21 1.23 1.64272 1.02041 +22 1.29 0.912687 1.13265 +23 1.35 1.13642 1.28571 +24 1.41 1.45849 1.5 +25 1.47 1.02238 1.66327 +26 1.53 0.825803 1.80612 +27 1.59 1.42008 2.07143 +28 1.65 1.0651 2.28571 +29 1.71 0.755562 2.44898 +30 1.77 1.10189 2.70408 +31 1.83 1.03083 2.95918 +32 1.89 1.35299 3.31633 +33 1.95 1.2347 3.66327 +34 2.01 0.957019 3.94898 +35 2.07 0.966801 4.2551 +36 2.13 0.94354 4.57143 +37 2.19 0.950135 4.90816 +38 2.25 1.28202 5.38776 +39 2.31 1.03514 5.79592 +40 2.37 1.10632 6.2551 +41 2.43 1.16929 6.76531 +42 2.49 1.06908 7.2551 +43 2.55 0.998123 7.73469 +44 2.61 0.79059 8.13265 +45 2.67 1.06539 8.69388 +46 2.73 0.907904 9.19388 +47 2.79 1.17086 9.86735 +48 2.85 1.15609 10.5612 +49 2.91 1.05998 11.2245 +50 2.97 0.798416 11.7449 +103350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 3.77316 0.0204082 +6 0.33 1.26463 0.0306122 +7 0.39 0 0.0306122 +8 0.45 0.680956 0.0408163 +9 0.51 1.06066 0.0612245 +10 0.57 0.424655 0.0714286 +11 0.63 1.39071 0.112245 +12 0.69 0.869633 0.142857 +13 0.75 1.22688 0.193878 +14 0.81 2.31425 0.306122 +15 0.87 1.09428 0.367347 +16 0.93 1.1173 0.438776 +17 0.99 0.98601 0.510204 +18 1.05 0.751348 0.571429 +19 1.11 0.56028 0.622449 +20 1.17 1.0086 0.72449 +21 1.23 0.821359 0.816327 +22 1.29 1.24457 0.969388 +23 1.35 1.28794 1.14286 +24 1.41 1.11123 1.30612 +25 1.47 1.15018 1.4898 +26 1.53 1.35668 1.72449 +27 1.59 1.25623 1.95918 +28 1.65 1.01438 2.16327 +29 1.71 1.22779 2.42857 +30 1.77 1.27819 2.72449 +31 1.83 1.19576 3.02041 +32 1.89 1.04374 3.29592 +33 1.95 1.30733 3.66327 +34 2.01 1.29881 4.05102 +35 2.07 1.03125 4.37755 +36 2.13 0.913104 4.68367 +37 2.19 0.834967 4.97959 +38 2.25 0.872863 5.30612 +39 2.31 1.0869 5.73469 +40 2.37 0.934223 6.12245 +41 2.43 0.818503 6.47959 +42 2.49 0.890896 6.88776 +43 2.55 0.82823 7.28571 +44 2.61 1.09466 7.83673 +45 2.67 1.1235 8.42857 +46 2.73 0.926433 8.93878 +47 2.79 1.08216 9.56122 +48 2.85 0.901066 10.102 +49 2.91 1.05998 10.7653 +50 2.97 1.28373 11.602 +103400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 0.84931 0.0612245 +11 0.63 1.39071 0.102041 +12 0.69 0.289878 0.112245 +13 0.75 0.981505 0.153061 +14 0.81 0.841547 0.193878 +15 0.87 1.45904 0.27551 +16 0.93 1.1173 0.346939 +17 0.99 1.54944 0.459184 +18 1.05 2.0036 0.622449 +19 1.11 0.784392 0.693878 +20 1.17 1.21032 0.816327 +21 1.23 0.638835 0.887755 +22 1.29 0.995658 1.0102 +23 1.35 0.757614 1.11224 +24 1.41 1.45849 1.32653 +25 1.47 1.34187 1.54082 +26 1.53 1.06175 1.72449 +27 1.59 1.03775 1.91837 +28 1.65 1.36941 2.19388 +29 1.71 1.22779 2.45918 +30 1.77 0.793362 2.64286 +31 1.83 0.948361 2.87755 +32 1.89 1.35299 3.23469 +33 1.95 1.05313 3.53061 +34 2.01 1.16209 3.87755 +35 2.07 0.999027 4.19388 +36 2.13 0.85223 4.47959 +37 2.19 1.18047 4.89796 +38 2.25 1.20019 5.34694 +39 2.31 0.879867 5.69388 +40 2.37 1.05715 6.13265 +41 2.43 1.33299 6.71429 +42 2.49 0.957713 7.15306 +43 2.55 0.95565 7.61224 +44 2.61 1.19602 8.21429 +45 2.67 1.08476 8.78571 +46 2.73 0.944962 9.30612 +47 2.79 0.940237 9.84694 +48 2.85 0.935069 10.4082 +49 2.91 0.880601 10.9592 +50 2.97 1.14283 11.7041 +103450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 1.06066 0.0408163 +10 0.57 1.27396 0.0714286 +11 0.63 1.39071 0.112245 +12 0.69 0.579756 0.132653 +13 0.75 1.47226 0.193878 +14 0.81 0.63116 0.22449 +15 0.87 1.09428 0.285714 +16 0.93 1.1173 0.357143 +17 0.99 0.563434 0.397959 +18 1.05 1.37747 0.510204 +19 1.11 1.45673 0.642857 +20 1.17 1.61376 0.806122 +21 1.23 0.730097 0.887755 +22 1.29 1.49349 1.07143 +23 1.35 1.13642 1.22449 +24 1.41 1.38903 1.42857 +25 1.47 0.95848 1.58163 +26 1.53 1.12073 1.77551 +27 1.59 1.14699 1.9898 +28 1.65 1.0651 2.20408 +29 1.71 1.51112 2.53061 +30 1.77 0.969664 2.7551 +31 1.83 1.23699 3.06122 +32 1.89 1.19836 3.37755 +33 1.95 1.16207 3.70408 +34 2.01 0.717764 3.91837 +35 2.07 0.741214 4.15306 +36 2.13 1.12616 4.53061 +37 2.19 0.748591 4.79592 +38 2.25 0.736478 5.07143 +39 2.31 1.00926 5.46939 +40 2.37 1.00798 5.88776 +41 2.43 0.841889 6.2551 +42 2.49 1.0468 6.73469 +43 2.55 1.14678 7.28571 +44 2.61 1.19602 7.88776 +45 2.67 1.04602 8.43878 +46 2.73 1.01908 9 +47 2.79 1.02894 9.59184 +48 2.85 1.08808 10.2449 +49 2.91 1.05998 10.9082 +50 2.97 1.14283 11.6531 +103500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 0 0.0306122 +11 0.63 1.04303 0.0612245 +12 0.69 2.6089 0.153061 +13 0.75 0.736129 0.183673 +14 0.81 1.68309 0.265306 +15 0.87 2.00617 0.377551 +16 0.93 1.75575 0.489796 +17 0.99 1.26773 0.581633 +18 1.05 0.876573 0.653061 +19 1.11 1.12056 0.755102 +20 1.17 0.706021 0.826531 +21 1.23 0.821359 0.918367 +22 1.29 0.912687 1.03061 +23 1.35 1.43947 1.22449 +24 1.41 1.31958 1.41837 +25 1.47 1.08628 1.59184 +26 1.53 1.2387 1.80612 +27 1.59 0.81928 1.95918 +28 1.65 1.16654 2.19388 +29 1.71 1.60557 2.54082 +30 1.77 0.881513 2.7449 +31 1.83 1.23699 3.05102 +32 1.89 1.27568 3.38776 +33 1.95 0.544721 3.54082 +34 2.01 0.820302 3.78571 +35 2.07 0.966801 4.09184 +36 2.13 1.09572 4.45918 +37 2.19 1.03651 4.82653 +38 2.25 0.981971 5.19388 +39 2.31 0.853989 5.53061 +40 2.37 1.00798 5.94898 +41 2.43 1.33299 6.53061 +42 2.49 1.18044 7.07143 +43 2.55 1.12554 7.61224 +44 2.61 1.01358 8.12245 +45 2.67 0.813571 8.55102 +46 2.73 1.13025 9.17347 +47 2.79 0.762834 9.61224 +48 2.85 0.765056 10.0714 +49 2.91 1.07629 10.7449 +50 2.97 1.06455 11.4388 +103550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0.530329 0.0102041 +10 0.57 2.12327 0.0612245 +11 0.63 0.347678 0.0714286 +12 0.69 0.869633 0.102041 +13 0.75 1.47226 0.163265 +14 0.81 1.68309 0.244898 +15 0.87 1.45904 0.326531 +16 0.93 2.55382 0.489796 +17 0.99 0.845152 0.55102 +18 1.05 1.5027 0.673469 +19 1.11 0.784392 0.744898 +20 1.17 1.0086 0.846939 +21 1.23 0.912621 0.94898 +22 1.29 0.829715 1.05102 +23 1.35 1.28794 1.22449 +24 1.41 0.902872 1.35714 +25 1.47 1.08628 1.53061 +26 1.53 0.884789 1.68367 +27 1.59 0.928517 1.85714 +28 1.65 0.811505 2.02041 +29 1.71 1.13334 2.26531 +30 1.77 1.4545 2.60204 +31 1.83 0.865894 2.81633 +32 1.89 1.04374 3.09184 +33 1.95 0.944184 3.35714 +34 2.01 1.26463 3.73469 +35 2.07 1.25684 4.13265 +36 2.13 1.27835 4.56122 +37 2.19 0.921343 4.88776 +38 2.25 1.0638 5.28571 +39 2.31 1.00926 5.68367 +40 2.37 1.18007 6.17347 +41 2.43 0.841889 6.54082 +42 2.49 1.0468 7.02041 +43 2.55 0.95565 7.47959 +44 2.61 1.11493 8.04082 +45 2.67 0.658605 8.38776 +46 2.73 1.31553 9.11224 +47 2.79 1.04668 9.71429 +48 2.85 0.901066 10.2551 +49 2.91 1.02737 10.898 +50 2.97 0.876692 11.4694 +103600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 1.69862 0.0714286 +11 0.63 0.347678 0.0816327 +12 0.69 1.44939 0.132653 +13 0.75 1.22688 0.183673 +14 0.81 1.89348 0.27551 +15 0.87 2.18855 0.397959 +16 0.93 1.75575 0.510204 +17 0.99 0.422576 0.540816 +18 1.05 0.751348 0.602041 +19 1.11 1.23262 0.714286 +20 1.17 0.706021 0.785714 +21 1.23 1.36893 0.938776 +22 1.29 0.663772 1.02041 +23 1.35 1.06066 1.16327 +24 1.41 1.04178 1.31633 +25 1.47 1.08628 1.4898 +26 1.53 1.41566 1.73469 +27 1.59 0.983136 1.91837 +28 1.65 0.912943 2.10204 +29 1.71 1.18057 2.35714 +30 1.77 0.969664 2.58163 +31 1.83 0.783428 2.77551 +32 1.89 1.19836 3.09184 +33 1.95 0.944184 3.35714 +34 2.01 1.40135 3.77551 +35 2.07 1.09571 4.12245 +36 2.13 0.913104 4.42857 +37 2.19 1.09409 4.81633 +38 2.25 1.20019 5.26531 +39 2.31 0.983381 5.65306 +40 2.37 1.1309 6.12245 +41 2.43 0.982203 6.55102 +42 2.49 1.13589 7.07143 +43 2.55 0.82823 7.46939 +44 2.61 1.09466 8.02041 +45 2.67 0.929795 8.5102 +46 2.73 1.09319 9.11224 +47 2.79 0.887016 9.62245 +48 2.85 1.00307 10.2245 +49 2.91 0.994753 10.8469 +50 2.97 0.876692 11.4184 +103650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0 0.0102041 +10 0.57 0.84931 0.0306122 +11 0.63 1.04303 0.0612245 +12 0.69 1.44939 0.112245 +13 0.75 1.71763 0.183673 +14 0.81 1.26232 0.244898 +15 0.87 2.55331 0.387755 +16 0.93 1.27691 0.469388 +17 0.99 0.98601 0.540816 +18 1.05 1.12702 0.632653 +19 1.11 1.34467 0.755102 +20 1.17 1.21032 0.877551 +21 1.23 1.55146 1.05102 +22 1.29 0.912687 1.16327 +23 1.35 1.43947 1.35714 +24 1.41 1.18068 1.53061 +25 1.47 0.766784 1.65306 +26 1.53 1.00276 1.82653 +27 1.59 0.983136 2.0102 +28 1.65 1.11582 2.23469 +29 1.71 1.18057 2.4898 +30 1.77 1.01374 2.72449 +31 1.83 0.907127 2.94898 +32 1.89 0.889108 3.18367 +33 1.95 1.2347 3.53061 +34 2.01 0.854481 3.78571 +35 2.07 0.870121 4.06122 +36 2.13 1.21747 4.46939 +37 2.19 1.09409 4.85714 +38 2.25 1.17291 5.29592 +39 2.31 1.26804 5.79592 +40 2.37 1.05715 6.23469 +41 2.43 0.958818 6.65306 +42 2.49 0.846351 7.04082 +43 2.55 1.12554 7.58163 +44 2.61 0.932491 8.05102 +45 2.67 1.02665 8.59184 +46 2.73 0.815261 9.04082 +47 2.79 1.13538 9.69388 +48 2.85 0.833061 10.1939 +49 2.91 1.14152 10.9082 +50 2.97 1.00193 11.5612 +103700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0 0.0306122 +10 0.57 0 0.0306122 +11 0.63 1.04303 0.0612245 +12 0.69 0.869633 0.0918367 +13 0.75 1.71763 0.163265 +14 0.81 1.47271 0.234694 +15 0.87 1.27666 0.306122 +16 0.93 1.27691 0.387755 +17 0.99 0.704293 0.438776 +18 1.05 1.25225 0.540816 +19 1.11 1.0085 0.632653 +20 1.17 1.0086 0.734694 +21 1.23 0.730097 0.816327 +22 1.29 0.912687 0.928571 +23 1.35 1.13642 1.08163 +24 1.41 0.972324 1.22449 +25 1.47 1.34187 1.43878 +26 1.53 1.29769 1.66327 +27 1.59 1.36547 1.91837 +28 1.65 0.811505 2.08163 +29 1.71 0.708339 2.23469 +30 1.77 1.10189 2.4898 +31 1.83 1.11329 2.76531 +32 1.89 1.15971 3.07143 +33 1.95 0.689981 3.26531 +34 2.01 1.53807 3.72449 +35 2.07 1.03125 4.05102 +36 2.13 0.973977 4.37755 +37 2.19 1.09409 4.76531 +38 2.25 1.17291 5.20408 +39 2.31 1.21629 5.68367 +40 2.37 0.958808 6.08163 +41 2.43 1.35638 6.67347 +42 2.49 0.935441 7.10204 +43 2.55 0.89194 7.53061 +44 2.61 1.13521 8.10204 +45 2.67 0.987907 8.62245 +46 2.73 0.889376 9.11224 +47 2.79 1.29504 9.85714 +48 2.85 1.17309 10.5612 +49 2.91 0.962138 11.1633 +50 2.97 0.892347 11.7449 +103750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0 0.0204082 +10 0.57 2.12327 0.0714286 +11 0.63 0.695356 0.0918367 +12 0.69 1.15951 0.132653 +13 0.75 1.47226 0.193878 +14 0.81 1.47271 0.265306 +15 0.87 2.37093 0.397959 +16 0.93 0.957682 0.459184 +17 0.99 1.26773 0.55102 +18 1.05 1.12702 0.642857 +19 1.11 0.672336 0.704082 +20 1.17 1.31118 0.836735 +21 1.23 1.9165 1.05102 +22 1.29 0.912687 1.16327 +23 1.35 1.59099 1.37755 +24 1.41 0.833421 1.5 +25 1.47 0.894581 1.64286 +26 1.53 0.943774 1.80612 +27 1.59 1.25623 2.04082 +28 1.65 0.963662 2.23469 +29 1.71 0.944452 2.43878 +30 1.77 0.881513 2.64286 +31 1.83 0.783428 2.83673 +32 1.89 1.04374 3.11224 +33 1.95 1.12576 3.42857 +34 2.01 0.957019 3.71429 +35 2.07 1.03125 4.04082 +36 2.13 1.00441 4.37755 +37 2.19 1.18047 4.79592 +38 2.25 1.0638 5.19388 +39 2.31 1.00926 5.59184 +40 2.37 1.00798 6.0102 +41 2.43 1.1459 6.5102 +42 2.49 1.00226 6.96939 +43 2.55 1.14678 7.52041 +44 2.61 0.851404 7.94898 +45 2.67 1.02665 8.4898 +46 2.73 0.68556 8.86735 +47 2.79 0.869276 9.36735 +48 2.85 1.05408 10 +49 2.91 0.815371 10.5102 +50 2.97 1.23676 11.3163 +103800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 0.84931 0.0408163 +11 0.63 1.39071 0.0816327 +12 0.69 0.869633 0.112245 +13 0.75 1.96301 0.193878 +14 0.81 1.68309 0.27551 +15 0.87 1.45904 0.357143 +16 0.93 1.1173 0.428571 +17 0.99 1.12687 0.510204 +18 1.05 1.25225 0.612245 +19 1.11 1.23262 0.72449 +20 1.17 0.907742 0.816327 +21 1.23 1.18641 0.94898 +22 1.29 0.580801 1.02041 +23 1.35 1.66675 1.2449 +24 1.41 1.38903 1.44898 +25 1.47 0.894581 1.59184 +26 1.53 1.29769 1.81633 +27 1.59 0.764661 1.95918 +28 1.65 1.16654 2.19388 +29 1.71 1.08612 2.42857 +30 1.77 0.837437 2.62245 +31 1.83 0.618496 2.77551 +32 1.89 0.927765 3.02041 +33 1.95 1.41628 3.41837 +34 2.01 1.02538 3.72449 +35 2.07 0.870121 4 +36 2.13 1.24791 4.41837 +37 2.19 0.806175 4.70408 +38 2.25 0.872863 5.03061 +39 2.31 1.19041 5.5 +40 2.37 1.05715 5.93878 +41 2.43 1.07575 6.40816 +42 2.49 0.801806 6.77551 +43 2.55 0.82823 7.17347 +44 2.61 1.09466 7.72449 +45 2.67 0.832941 8.16327 +46 2.73 0.870847 8.64286 +47 2.79 1.13538 9.29592 +48 2.85 0.95207 9.86735 +49 2.91 0.994753 10.4898 +50 2.97 0.970623 11.1224 +103850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.72382 0.0408163 +9 0.51 0 0.0408163 +10 0.57 1.27396 0.0714286 +11 0.63 0.347678 0.0816327 +12 0.69 2.31902 0.163265 +13 0.75 1.47226 0.22449 +14 0.81 2.10387 0.326531 +15 0.87 0.729518 0.367347 +16 0.93 1.75575 0.479592 +17 0.99 1.83116 0.612245 +18 1.05 0.876573 0.683673 +19 1.11 1.12056 0.785714 +20 1.17 1.5129 0.938776 +21 1.23 0.730097 1.02041 +22 1.29 0.829715 1.12245 +23 1.35 1.06066 1.26531 +24 1.41 1.04178 1.41837 +25 1.47 1.08628 1.59184 +26 1.53 1.12073 1.78571 +27 1.59 0.81928 1.93878 +28 1.65 1.26798 2.19388 +29 1.71 0.944452 2.39796 +30 1.77 0.793362 2.58163 +31 1.83 1.03083 2.83673 +32 1.89 0.773137 3.04082 +33 1.95 0.980499 3.31633 +34 2.01 1.02538 3.62245 +35 2.07 0.870121 3.89796 +36 2.13 1.40009 4.36735 +37 2.19 0.921343 4.69388 +38 2.25 0.927417 5.04082 +39 2.31 1.13865 5.4898 +40 2.37 0.885053 5.85714 +41 2.43 1.09913 6.33673 +42 2.49 0.690444 6.65306 +43 2.55 0.998123 7.13265 +44 2.61 0.952762 7.61224 +45 2.67 1.20099 8.2449 +46 2.73 1.09319 8.84694 +47 2.79 1.43697 9.67347 +48 2.85 0.81606 10.1633 +49 2.91 1.1089 10.8571 +50 2.97 1.08021 11.5612 +103900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.69862 0.0408163 +11 0.63 1.39071 0.0816327 +12 0.69 0.869633 0.112245 +13 0.75 0.981505 0.153061 +14 0.81 0.841547 0.193878 +15 0.87 1.45904 0.27551 +16 0.93 2.07498 0.408163 +17 0.99 0.563434 0.44898 +18 1.05 1.25225 0.55102 +19 1.11 1.23262 0.663265 +20 1.17 0.907742 0.755102 +21 1.23 0.912621 0.857143 +22 1.29 1.57646 1.05102 +23 1.35 1.21218 1.21429 +24 1.41 0.763969 1.32653 +25 1.47 0.830683 1.45918 +26 1.53 1.06175 1.64286 +27 1.59 0.81928 1.79592 +28 1.65 1.42013 2.08163 +29 1.71 0.991675 2.29592 +30 1.77 1.4545 2.63265 +31 1.83 0.989594 2.87755 +32 1.89 0.927765 3.12245 +33 1.95 1.01681 3.40816 +34 2.01 1.12791 3.7449 +35 2.07 1.32129 4.16327 +36 2.13 0.85223 4.44898 +37 2.19 1.09409 4.83673 +38 2.25 0.927417 5.18367 +39 2.31 0.983381 5.57143 +40 2.37 1.00798 5.9898 +41 2.43 1.07575 6.45918 +42 2.49 0.957713 6.89796 +43 2.55 1.06183 7.40816 +44 2.61 1.01358 7.91837 +45 2.67 0.871683 8.37755 +46 2.73 0.759675 8.79592 +47 2.79 1.0112 9.37755 +48 2.85 0.765056 9.83673 +49 2.91 1.0926 10.5204 +50 2.97 1.29938 11.3673 +103950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 0 0.0510204 +12 0.69 0.579756 0.0714286 +13 0.75 2.20839 0.163265 +14 0.81 1.26232 0.22449 +15 0.87 1.64142 0.316327 +16 0.93 1.1173 0.387755 +17 0.99 0.845152 0.44898 +18 1.05 1.62792 0.581633 +19 1.11 1.0085 0.673469 +20 1.17 0.706021 0.744898 +21 1.23 0.638835 0.816327 +22 1.29 1.32754 0.979592 +23 1.35 1.28794 1.15306 +24 1.41 0.833421 1.27551 +25 1.47 1.34187 1.4898 +26 1.53 1.59262 1.76531 +27 1.59 1.03775 1.95918 +28 1.65 1.0651 2.17347 +29 1.71 0.850007 2.35714 +30 1.77 0.925588 2.57143 +31 1.83 1.27823 2.88776 +32 1.89 1.50762 3.28571 +33 1.95 1.16207 3.61224 +34 2.01 0.683585 3.81633 +35 2.07 0.870121 4.09184 +36 2.13 0.85223 4.37755 +37 2.19 1.26685 4.82653 +38 2.25 0.954694 5.18367 +39 2.31 1.06102 5.60204 +40 2.37 0.860468 5.95918 +41 2.43 1.19268 6.47959 +42 2.49 1.11362 6.9898 +43 2.55 0.998123 7.46939 +44 2.61 1.19602 8.07143 +45 2.67 1.00728 8.60204 +46 2.73 0.926433 9.11224 +47 2.79 0.940237 9.65306 +48 2.85 1.00307 10.2551 +49 2.91 0.994753 10.8776 +50 2.97 0.814071 11.4082 +104000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 3.11031 0.0102041 +5 0.27 0 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 0.424655 0.0510204 +11 0.63 1.39071 0.0918367 +12 0.69 1.73927 0.153061 +13 0.75 1.96301 0.234694 +14 0.81 2.73503 0.367347 +15 0.87 1.64142 0.459184 +16 0.93 1.59614 0.561224 +17 0.99 2.11288 0.714286 +18 1.05 1.25225 0.816327 +19 1.11 1.68084 0.969388 +20 1.17 1.0086 1.07143 +21 1.23 1.00388 1.18367 +22 1.29 1.32754 1.34694 +23 1.35 0.530329 1.41837 +24 1.41 1.04178 1.57143 +25 1.47 1.02238 1.73469 +26 1.53 1.29769 1.95918 +27 1.59 1.25623 2.19388 +28 1.65 1.21726 2.43878 +29 1.71 1.0389 2.66327 +30 1.77 1.10189 2.91837 +31 1.83 0.989594 3.16327 +32 1.89 0.889108 3.39796 +33 1.95 1.01681 3.68367 +34 2.01 1.09374 4.0102 +35 2.07 0.966801 4.31633 +36 2.13 1.40009 4.78571 +37 2.19 0.950135 5.12245 +38 2.25 1.11836 5.54082 +39 2.31 0.776354 5.84694 +40 2.37 1.15549 6.32653 +41 2.43 0.958818 6.7449 +42 2.49 0.846351 7.13265 +43 2.55 0.976887 7.60204 +44 2.61 0.891947 8.05102 +45 2.67 0.910424 8.53061 +46 2.73 0.852318 9 +47 2.79 0.922497 9.53061 +48 2.85 1.00307 10.1327 +49 2.91 0.63599 10.5306 +50 2.97 1.1898 11.3061 +104050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.04287 0.0306122 +9 0.51 0 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 1.39071 0.0918367 +12 0.69 1.44939 0.142857 +13 0.75 0.736129 0.173469 +14 0.81 1.89348 0.265306 +15 0.87 2.37093 0.397959 +16 0.93 1.59614 0.5 +17 0.99 1.12687 0.581633 +18 1.05 1.87837 0.734694 +19 1.11 1.0085 0.826531 +20 1.17 1.10946 0.938776 +21 1.23 1.09515 1.06122 +22 1.29 0.746744 1.15306 +23 1.35 1.13642 1.30612 +24 1.41 1.66684 1.55102 +25 1.47 1.21407 1.7449 +26 1.53 1.65161 2.03061 +27 1.59 1.14699 2.2449 +28 1.65 0.912943 2.42857 +29 1.71 1.08612 2.66327 +30 1.77 0.925588 2.87755 +31 1.83 1.11329 3.15306 +32 1.89 1.04374 3.42857 +33 1.95 0.798925 3.65306 +34 2.01 1.23045 4.02041 +35 2.07 0.902347 4.30612 +36 2.13 0.913104 4.61224 +37 2.19 0.806175 4.89796 +38 2.25 1.09108 5.30612 +39 2.31 1.03514 5.71429 +40 2.37 1.05715 6.15306 +41 2.43 1.00559 6.59184 +42 2.49 1.09135 7.09184 +43 2.55 0.998123 7.57143 +44 2.61 1.15548 8.15306 +45 2.67 1.04602 8.70408 +46 2.73 0.944962 9.22449 +47 2.79 0.993458 9.79592 +48 2.85 0.969072 10.3776 +49 2.91 0.750142 10.8469 +50 2.97 0.908003 11.4388 +104100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 1.06066 0.0510204 +10 0.57 0.424655 0.0612245 +11 0.63 2.08607 0.122449 +12 0.69 2.02914 0.193878 +13 0.75 0.981505 0.234694 +14 0.81 2.31425 0.346939 +15 0.87 1.8238 0.44898 +16 0.93 1.59614 0.55102 +17 0.99 1.6903 0.673469 +18 1.05 1.25225 0.77551 +19 1.11 1.23262 0.887755 +20 1.17 0.907742 0.979592 +21 1.23 0.821359 1.07143 +22 1.29 1.1616 1.21429 +23 1.35 1.13642 1.36735 +24 1.41 1.45849 1.58163 +25 1.47 0.638987 1.68367 +26 1.53 1.2387 1.89796 +27 1.59 1.14699 2.11224 +28 1.65 1.16654 2.34694 +29 1.71 1.08612 2.58163 +30 1.77 1.01374 2.81633 +31 1.83 1.07206 3.08163 +32 1.89 1.23702 3.40816 +33 1.95 0.944184 3.67347 +34 2.01 1.02538 3.97959 +35 2.07 0.741214 4.21429 +36 2.13 0.700046 4.44898 +37 2.19 1.12289 4.84694 +38 2.25 1.03652 5.23469 +39 2.31 0.750475 5.53061 +40 2.37 0.934223 5.91837 +41 2.43 0.912046 6.31633 +42 2.49 1.33634 6.92857 +43 2.55 1.01936 7.41837 +44 2.61 1.07439 7.95918 +45 2.67 1.10413 8.54082 +46 2.73 1.0376 9.11224 +47 2.79 0.904757 9.63265 +48 2.85 0.969072 10.2143 +49 2.91 1.0926 10.898 +50 2.97 0.970623 11.5306 +104150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 0.424655 0.0510204 +11 0.63 1.73839 0.102041 +12 0.69 0.579756 0.122449 +13 0.75 2.45376 0.22449 +14 0.81 1.26232 0.285714 +15 0.87 2.55331 0.428571 +16 0.93 1.43652 0.520408 +17 0.99 0.704293 0.571429 +18 1.05 1.75315 0.714286 +19 1.11 1.34467 0.836735 +20 1.17 0.706021 0.908163 +21 1.23 1.00388 1.02041 +22 1.29 0.746744 1.11224 +23 1.35 0.833375 1.22449 +24 1.41 1.38903 1.42857 +25 1.47 1.40577 1.65306 +26 1.53 0.943774 1.81633 +27 1.59 0.928517 1.9898 +28 1.65 1.21726 2.23469 +29 1.71 1.32223 2.52041 +30 1.77 0.793362 2.70408 +31 1.83 0.907127 2.92857 +32 1.89 0.850451 3.15306 +33 1.95 1.05313 3.44898 +34 2.01 1.16209 3.79592 +35 2.07 1.12793 4.15306 +36 2.13 1.06529 4.5102 +37 2.19 0.921343 4.83673 +38 2.25 1.20019 5.28571 +39 2.31 1.13865 5.73469 +40 2.37 1.00798 6.15306 +41 2.43 0.935432 6.56122 +42 2.49 1.00226 7.02041 +43 2.55 0.998123 7.5 +44 2.61 1.11493 8.06122 +45 2.67 1.16224 8.67347 +46 2.73 1.0376 9.2449 +47 2.79 1.08216 9.86735 +48 2.85 1.15609 10.5612 +49 2.91 0.880601 11.1122 +50 2.97 0.939313 11.7245 +104200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 1.06066 0.0408163 +10 0.57 0.84931 0.0612245 +11 0.63 0.695356 0.0816327 +12 0.69 1.73927 0.142857 +13 0.75 1.96301 0.22449 +14 0.81 0.841547 0.265306 +15 0.87 2.18855 0.387755 +16 0.93 1.59614 0.489796 +17 0.99 1.26773 0.581633 +18 1.05 1.25225 0.683673 +19 1.11 0.448224 0.72449 +20 1.17 1.41204 0.867347 +21 1.23 1.64272 1.05102 +22 1.29 1.41052 1.22449 +23 1.35 1.3637 1.40816 +24 1.41 1.04178 1.56122 +25 1.47 0.830683 1.69388 +26 1.53 0.943774 1.85714 +27 1.59 1.42008 2.12245 +28 1.65 0.608628 2.2449 +29 1.71 1.36946 2.54082 +30 1.77 0.969664 2.76531 +31 1.83 1.15453 3.05102 +32 1.89 0.850451 3.27551 +33 1.95 0.944184 3.54082 +34 2.01 0.991198 3.83673 +35 2.07 1.03125 4.16327 +36 2.13 1.27835 4.59184 +37 2.19 1.09409 4.97959 +38 2.25 0.927417 5.32653 +39 2.31 1.21629 5.80612 +40 2.37 0.885053 6.17347 +41 2.43 0.982203 6.60204 +42 2.49 0.935441 7.03061 +43 2.55 0.95565 7.4898 +44 2.61 0.952762 7.96939 +45 2.67 0.987907 8.4898 +46 2.73 0.870847 8.96939 +47 2.79 1.06442 9.58163 +48 2.85 1.05408 10.2143 +49 2.91 0.815371 10.7245 +50 2.97 0.923658 11.3265 +104250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 2.12132 0.0612245 +10 0.57 2.12327 0.112245 +11 0.63 1.04303 0.142857 +12 0.69 1.73927 0.204082 +13 0.75 1.71763 0.27551 +14 0.81 1.05193 0.326531 +15 0.87 1.27666 0.397959 +16 0.93 2.55382 0.561224 +17 0.99 1.12687 0.642857 +18 1.05 0.876573 0.714286 +19 1.11 1.68084 0.867347 +20 1.17 1.5129 1.02041 +21 1.23 1.27767 1.16327 +22 1.29 1.07863 1.29592 +23 1.35 0.909136 1.41837 +24 1.41 1.38903 1.62245 +25 1.47 1.40577 1.84694 +26 1.53 0.884789 2 +27 1.59 1.14699 2.21429 +28 1.65 1.42013 2.5 +29 1.71 0.802784 2.67347 +30 1.77 0.837437 2.86735 +31 1.83 0.742195 3.05102 +32 1.89 1.00508 3.31633 +33 1.95 0.871554 3.56122 +34 2.01 1.05956 3.87755 +35 2.07 1.22461 4.26531 +36 2.13 1.03485 4.61224 +37 2.19 0.806175 4.89796 +38 2.25 0.981971 5.26531 +39 2.31 0.905746 5.62245 +40 2.37 1.00798 6.04082 +41 2.43 0.818503 6.39796 +42 2.49 0.979986 6.84694 +43 2.55 1.01936 7.33673 +44 2.61 1.03385 7.85714 +45 2.67 0.871683 8.31633 +46 2.73 0.96349 8.84694 +47 2.79 0.993458 9.41837 +48 2.85 0.850063 9.92857 +49 2.91 0.994753 10.551 +50 2.97 0.939313 11.1633 +104300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 1.04303 0.0612245 +12 0.69 2.02914 0.132653 +13 0.75 1.22688 0.183673 +14 0.81 2.52464 0.306122 +15 0.87 2.55331 0.44898 +16 0.93 1.43652 0.540816 +17 0.99 0.98601 0.612245 +18 1.05 1.0018 0.693878 +19 1.11 0.784392 0.765306 +20 1.17 1.0086 0.867347 +21 1.23 1.36893 1.02041 +22 1.29 0.995658 1.14286 +23 1.35 1.43947 1.33673 +24 1.41 1.11123 1.5 +25 1.47 0.830683 1.63265 +26 1.53 0.648845 1.7449 +27 1.59 0.983136 1.92857 +28 1.65 0.963662 2.12245 +29 1.71 0.661116 2.26531 +30 1.77 1.05782 2.5102 +31 1.83 0.783428 2.70408 +32 1.89 1.15971 3.0102 +33 1.95 1.30733 3.37755 +34 2.01 1.23045 3.7449 +35 2.07 1.03125 4.07143 +36 2.13 1.21747 4.47959 +37 2.19 0.978927 4.82653 +38 2.25 0.927417 5.17347 +39 2.31 1.00926 5.57143 +40 2.37 0.835884 5.91837 +41 2.43 1.02897 6.36735 +42 2.49 1.0468 6.84694 +43 2.55 0.934413 7.29592 +44 2.61 0.851404 7.72449 +45 2.67 1.23973 8.37755 +46 2.73 0.907904 8.87755 +47 2.79 0.887016 9.38776 +48 2.85 0.935069 9.94898 +49 2.91 0.994753 10.5714 +50 2.97 0.861037 11.1327 +104350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.59099 0.0408163 +10 0.57 0.424655 0.0510204 +11 0.63 2.08607 0.112245 +12 0.69 1.44939 0.163265 +13 0.75 1.96301 0.244898 +14 0.81 1.89348 0.336735 +15 0.87 1.09428 0.397959 +16 0.93 1.1173 0.469388 +17 0.99 1.40859 0.571429 +18 1.05 0.876573 0.642857 +19 1.11 1.0085 0.734694 +20 1.17 1.0086 0.836735 +21 1.23 1.00388 0.94898 +22 1.29 1.1616 1.09184 +23 1.35 1.13642 1.2449 +24 1.41 0.555614 1.32653 +25 1.47 1.34187 1.54082 +26 1.53 1.2387 1.7551 +27 1.59 1.20161 1.97959 +28 1.65 1.11582 2.20408 +29 1.71 1.27501 2.47959 +30 1.77 0.881513 2.68367 +31 1.83 0.824661 2.88776 +32 1.89 1.15971 3.19388 +33 1.95 0.653666 3.37755 +34 2.01 1.19627 3.73469 +35 2.07 0.644534 3.93878 +36 2.13 1.36966 4.39796 +37 2.19 0.604631 4.61224 +38 2.25 1.14563 5.04082 +39 2.31 1.11277 5.47959 +40 2.37 0.885053 5.84694 +41 2.43 1.16929 6.35714 +42 2.49 1.00226 6.81633 +43 2.55 0.913177 7.2551 +44 2.61 0.993305 7.7551 +45 2.67 0.929795 8.2449 +46 2.73 1.11172 8.85714 +47 2.79 1.04668 9.45918 +48 2.85 0.969072 10.0408 +49 2.91 0.929523 10.6224 +50 2.97 0.908003 11.2143 +104400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 1.06066 0.0510204 +10 0.57 0.424655 0.0612245 +11 0.63 0.695356 0.0816327 +12 0.69 1.44939 0.132653 +13 0.75 1.47226 0.193878 +14 0.81 2.31425 0.306122 +15 0.87 0.364759 0.326531 +16 0.93 1.43652 0.418367 +17 0.99 0.845152 0.479592 +18 1.05 1.37747 0.591837 +19 1.11 1.45673 0.72449 +20 1.17 1.31118 0.857143 +21 1.23 1.09515 0.979592 +22 1.29 1.1616 1.12245 +23 1.35 1.3637 1.30612 +24 1.41 1.11123 1.46939 +25 1.47 0.894581 1.61224 +26 1.53 0.825803 1.7551 +27 1.59 1.20161 1.97959 +28 1.65 1.21726 2.22449 +29 1.71 1.55835 2.56122 +30 1.77 1.14597 2.82653 +31 1.83 1.07206 3.09184 +32 1.89 0.889108 3.32653 +33 1.95 0.980499 3.60204 +34 2.01 1.12791 3.93878 +35 2.07 1.28907 4.34694 +36 2.13 1.03485 4.69388 +37 2.19 1.32443 5.16327 +38 2.25 1.17291 5.60204 +39 2.31 0.931624 5.96939 +40 2.37 0.860468 6.32653 +41 2.43 0.841889 6.69388 +42 2.49 0.890896 7.10204 +43 2.55 1.0406 7.60204 +44 2.61 0.709504 7.95918 +45 2.67 0.7942 8.37755 +46 2.73 1.01908 8.93878 +47 2.79 1.0999 9.57143 +48 2.85 0.731054 10.0102 +49 2.91 1.05998 10.6735 +50 2.97 1.12718 11.4082 +104450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 2.12132 0.0510204 +10 0.57 0.84931 0.0714286 +11 0.63 1.04303 0.102041 +12 0.69 1.44939 0.153061 +13 0.75 1.22688 0.204082 +14 0.81 1.05193 0.255102 +15 0.87 1.27666 0.326531 +16 0.93 1.27691 0.408163 +17 0.99 1.54944 0.520408 +18 1.05 1.37747 0.632653 +19 1.11 0.784392 0.704082 +20 1.17 1.10946 0.816327 +21 1.23 0.912621 0.918367 +22 1.29 1.24457 1.07143 +23 1.35 0.984898 1.20408 +24 1.41 1.11123 1.36735 +25 1.47 0.702885 1.47959 +26 1.53 1.29769 1.70408 +27 1.59 1.14699 1.91837 +28 1.65 1.36941 2.19388 +29 1.71 1.18057 2.44898 +30 1.77 1.01374 2.68367 +31 1.83 1.48439 3.05102 +32 1.89 1.31433 3.39796 +33 1.95 0.907869 3.65306 +34 2.01 1.33299 4.05102 +35 2.07 1.12793 4.40816 +36 2.13 1.24791 4.82653 +37 2.19 0.777383 5.10204 +38 2.25 0.981971 5.46939 +39 2.31 0.905746 5.82653 +40 2.37 0.934223 6.21429 +41 2.43 0.912046 6.61224 +42 2.49 1.33634 7.22449 +43 2.55 0.785757 7.60204 +44 2.61 0.810861 8.0102 +45 2.67 0.987907 8.53061 +46 2.73 0.815261 8.97959 +47 2.79 0.940237 9.52041 +48 2.85 1.03708 10.1429 +49 2.91 1.15783 10.8673 +50 2.97 1.11152 11.5918 +104500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 1.06066 0.0408163 +10 0.57 0.84931 0.0612245 +11 0.63 1.39071 0.102041 +12 0.69 1.44939 0.153061 +13 0.75 1.96301 0.234694 +14 0.81 0.63116 0.265306 +15 0.87 1.09428 0.326531 +16 0.93 2.23459 0.469388 +17 0.99 1.40859 0.571429 +18 1.05 1.25225 0.673469 +19 1.11 1.45673 0.806122 +20 1.17 1.10946 0.918367 +21 1.23 0.821359 1.0102 +22 1.29 1.32754 1.17347 +23 1.35 1.21218 1.33673 +24 1.41 1.45849 1.55102 +25 1.47 0.702885 1.66327 +26 1.53 1.12073 1.85714 +27 1.59 0.710042 1.9898 +28 1.65 1.0651 2.20408 +29 1.71 1.27501 2.47959 +30 1.77 0.837437 2.67347 +31 1.83 0.948361 2.90816 +32 1.89 0.966422 3.16327 +33 1.95 0.689981 3.35714 +34 2.01 1.16209 3.70408 +35 2.07 1.12793 4.06122 +36 2.13 1.21747 4.46939 +37 2.19 1.03651 4.83673 +38 2.25 1.20019 5.28571 +39 2.31 0.983381 5.67347 +40 2.37 1.10632 6.13265 +41 2.43 1.02897 6.58163 +42 2.49 1.02453 7.05102 +43 2.55 0.934413 7.5 +44 2.61 1.09466 8.05102 +45 2.67 0.7942 8.46939 +46 2.73 1.20436 9.13265 +47 2.79 0.869276 9.63265 +48 2.85 1.03708 10.2551 +49 2.91 0.945831 10.8469 +50 2.97 1.12718 11.5816 +104550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.06066 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 0.695356 0.0510204 +12 0.69 1.15951 0.0918367 +13 0.75 0.981505 0.132653 +14 0.81 1.05193 0.183673 +15 0.87 1.27666 0.255102 +16 0.93 1.75575 0.367347 +17 0.99 1.26773 0.459184 +18 1.05 1.62792 0.591837 +19 1.11 1.56878 0.734694 +20 1.17 1.10946 0.846939 +21 1.23 1.00388 0.959184 +22 1.29 0.912687 1.07143 +23 1.35 1.13642 1.22449 +24 1.41 1.66684 1.46939 +25 1.47 1.02238 1.63265 +26 1.53 1.47465 1.88776 +27 1.59 1.4747 2.16327 +28 1.65 0.811505 2.32653 +29 1.71 1.36946 2.62245 +30 1.77 0.837437 2.81633 +31 1.83 0.948361 3.05102 +32 1.89 1.19836 3.36735 +33 1.95 0.871554 3.61224 +34 2.01 1.33299 4.0102 +35 2.07 1.16016 4.37755 +36 2.13 1.00441 4.71429 +37 2.19 0.921343 5.04082 +38 2.25 1.0638 5.43878 +39 2.31 1.13865 5.88776 +40 2.37 0.934223 6.27551 +41 2.43 1.23945 6.81633 +42 2.49 1.24725 7.38776 +43 2.55 1.14678 7.93878 +44 2.61 0.973034 8.42857 +45 2.67 0.949166 8.92857 +46 2.73 0.815261 9.37755 +47 2.79 1.13538 10.0306 +48 2.85 0.969072 10.6122 +49 2.91 0.994753 11.2347 +50 2.97 1.06455 11.9286 +104600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0.530329 0.0102041 +10 0.57 1.27396 0.0408163 +11 0.63 1.73839 0.0918367 +12 0.69 0.869633 0.122449 +13 0.75 1.22688 0.173469 +14 0.81 1.47271 0.244898 +15 0.87 1.45904 0.326531 +16 0.93 1.59614 0.428571 +17 0.99 1.12687 0.510204 +18 1.05 1.0018 0.591837 +19 1.11 1.7929 0.755102 +20 1.17 0.706021 0.826531 +21 1.23 1.55146 1 +22 1.29 0.912687 1.11224 +23 1.35 0.984898 1.2449 +24 1.41 1.11123 1.40816 +25 1.47 1.08628 1.58163 +26 1.53 1.2387 1.79592 +27 1.59 1.14699 2.0102 +28 1.65 1.8766 2.38776 +29 1.71 0.89723 2.58163 +30 1.77 1.01374 2.81633 +31 1.83 1.07206 3.08163 +32 1.89 1.31433 3.42857 +33 1.95 1.45259 3.83673 +34 2.01 0.922839 4.11224 +35 2.07 1.09571 4.45918 +36 2.13 0.85223 4.7449 +37 2.19 1.12289 5.14286 +38 2.25 1.17291 5.58163 +39 2.31 1.03514 5.9898 +40 2.37 1.08173 6.43878 +41 2.43 1.1459 6.93878 +42 2.49 1.31407 7.54082 +43 2.55 1.08307 8.06122 +44 2.61 1.05412 8.59184 +45 2.67 0.891053 9.06122 +46 2.73 1.25995 9.7551 +47 2.79 0.745094 10.1837 +48 2.85 0.969072 10.7653 +49 2.91 1.01106 11.398 +50 2.97 0.782761 11.9082 +104650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 0.695356 0.0714286 +12 0.69 1.44939 0.122449 +13 0.75 2.20839 0.214286 +14 0.81 1.26232 0.27551 +15 0.87 2.18855 0.397959 +16 0.93 0.798069 0.44898 +17 0.99 0.98601 0.520408 +18 1.05 1.25225 0.622449 +19 1.11 1.12056 0.72449 +20 1.17 1.31118 0.857143 +21 1.23 1.09515 0.979592 +22 1.29 0.912687 1.09184 +23 1.35 1.74251 1.32653 +24 1.41 1.73629 1.58163 +25 1.47 1.53357 1.82653 +26 1.53 0.589859 1.92857 +27 1.59 0.983136 2.11224 +28 1.65 1.11582 2.33673 +29 1.71 1.18057 2.59184 +30 1.77 1.01374 2.82653 +31 1.83 1.48439 3.19388 +32 1.89 0.889108 3.42857 +33 1.95 0.980499 3.70408 +34 2.01 1.46971 4.14286 +35 2.07 1.12793 4.5 +36 2.13 1.00441 4.83673 +37 2.19 1.23805 5.27551 +38 2.25 1.47296 5.82653 +39 2.31 1.47507 6.40816 +40 2.37 1.25383 6.92857 +41 2.43 0.912046 7.32653 +42 2.49 0.846351 7.71429 +43 2.55 1.01936 8.20408 +44 2.61 0.851404 8.63265 +45 2.67 1.00728 9.16327 +46 2.73 1.09319 9.76531 +47 2.79 1.04668 10.3673 +48 2.85 1.19009 11.0816 +49 2.91 0.717527 11.5306 +50 2.97 1.0489 12.2143 +104700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 2.04287 0.0408163 +9 0.51 1.06066 0.0612245 +10 0.57 1.27396 0.0918367 +11 0.63 3.47678 0.193878 +12 0.69 1.15951 0.234694 +13 0.75 1.47226 0.295918 +14 0.81 0.63116 0.326531 +15 0.87 0.729518 0.367347 +16 0.93 0.798069 0.418367 +17 0.99 0.98601 0.489796 +18 1.05 1.5027 0.612245 +19 1.11 1.34467 0.734694 +20 1.17 1.31118 0.867347 +21 1.23 1.27767 1.0102 +22 1.29 1.24457 1.16327 +23 1.35 0.833375 1.27551 +24 1.41 0.833421 1.39796 +25 1.47 1.46967 1.63265 +26 1.53 1.29769 1.85714 +27 1.59 1.36547 2.11224 +28 1.65 0.862224 2.28571 +29 1.71 1.08612 2.52041 +30 1.77 1.10189 2.77551 +31 1.83 0.948361 3.0102 +32 1.89 1.31433 3.35714 +33 1.95 0.907869 3.61224 +34 2.01 1.40135 4.03061 +35 2.07 1.35352 4.45918 +36 2.13 0.730483 4.70408 +37 2.19 1.35322 5.18367 +38 2.25 1.11836 5.60204 +39 2.31 1.24217 6.09184 +40 2.37 0.958808 6.4898 +41 2.43 1.09913 6.96939 +42 2.49 1.0468 7.44898 +43 2.55 1.25296 8.05102 +44 2.61 1.09466 8.60204 +45 2.67 1.29784 9.28571 +46 2.73 1.33406 10.0204 +47 2.79 1.08216 10.6429 +48 2.85 0.969072 11.2245 +49 2.91 1.04368 11.8776 +50 2.97 1.12718 12.6122 +104750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 1.69862 0.0714286 +11 0.63 0.695356 0.0918367 +12 0.69 1.73927 0.153061 +13 0.75 1.47226 0.214286 +14 0.81 2.52464 0.336735 +15 0.87 1.45904 0.418367 +16 0.93 0.798069 0.469388 +17 0.99 1.54944 0.581633 +18 1.05 1.25225 0.683673 +19 1.11 0.672336 0.744898 +20 1.17 1.31118 0.877551 +21 1.23 0.547573 0.938776 +22 1.29 1.07863 1.07143 +23 1.35 1.43947 1.26531 +24 1.41 0.972324 1.40816 +25 1.47 1.27797 1.61224 +26 1.53 1.29769 1.83673 +27 1.59 0.983136 2.02041 +28 1.65 1.77517 2.37755 +29 1.71 1.18057 2.63265 +30 1.77 0.881513 2.83673 +31 1.83 0.783428 3.03061 +32 1.89 1.12105 3.32653 +33 1.95 1.16207 3.65306 +34 2.01 1.02538 3.95918 +35 2.07 1.19239 4.33673 +36 2.13 1.21747 4.7449 +37 2.19 0.921343 5.07143 +38 2.25 1.22746 5.53061 +39 2.31 1.06102 5.94898 +40 2.37 0.934223 6.33673 +41 2.43 1.37976 6.93878 +42 2.49 1.09135 7.43878 +43 2.55 1.42286 8.12245 +44 2.61 0.993305 8.62245 +45 2.67 0.774829 9.03061 +46 2.73 0.982019 9.57143 +47 2.79 1.13538 10.2245 +48 2.85 1.15609 10.9184 +49 2.91 0.962138 11.5204 +50 2.97 0.845382 12.0714 +104800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.06066 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 2.08607 0.0918367 +12 0.69 1.44939 0.142857 +13 0.75 1.22688 0.193878 +14 0.81 0.841547 0.234694 +15 0.87 1.64142 0.326531 +16 0.93 1.59614 0.428571 +17 0.99 2.11288 0.581633 +18 1.05 0.876573 0.653061 +19 1.11 1.0085 0.744898 +20 1.17 0.907742 0.836735 +21 1.23 1.18641 0.969388 +22 1.29 1.32754 1.13265 +23 1.35 1.51523 1.33673 +24 1.41 1.31958 1.53061 +25 1.47 0.894581 1.67347 +26 1.53 0.943774 1.83673 +27 1.59 1.25623 2.07143 +28 1.65 1.47085 2.36735 +29 1.71 1.0389 2.59184 +30 1.77 1.27819 2.88776 +31 1.83 1.36069 3.22449 +32 1.89 1.35299 3.58163 +33 1.95 0.944184 3.84694 +34 2.01 1.05956 4.16327 +35 2.07 0.999027 4.47959 +36 2.13 1.00441 4.81633 +37 2.19 1.03651 5.18367 +38 2.25 1.00925 5.56122 +39 2.31 0.828111 5.88776 +40 2.37 1.00798 6.30612 +41 2.43 1.00559 6.7449 +42 2.49 1.13589 7.26531 +43 2.55 1.2742 7.87755 +44 2.61 1.07439 8.41837 +45 2.67 0.929795 8.90816 +46 2.73 0.83379 9.36735 +47 2.79 0.993458 9.93878 +48 2.85 0.901066 10.4796 +49 2.91 1.05998 11.1429 +50 2.97 1.03324 11.8163 +104850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.59099 0.0306122 +10 0.57 0.424655 0.0408163 +11 0.63 2.08607 0.102041 +12 0.69 2.02914 0.173469 +13 0.75 1.22688 0.22449 +14 0.81 2.31425 0.336735 +15 0.87 0.547139 0.367347 +16 0.93 1.75575 0.479592 +17 0.99 0.98601 0.55102 +18 1.05 1.12702 0.642857 +19 1.11 2.12906 0.836735 +20 1.17 1.91634 1.03061 +21 1.23 1.27767 1.17347 +22 1.29 1.1616 1.31633 +23 1.35 1.59099 1.53061 +24 1.41 0.972324 1.67347 +25 1.47 0.95848 1.82653 +26 1.53 1.2387 2.04082 +27 1.59 1.20161 2.26531 +28 1.65 1.42013 2.55102 +29 1.71 1.13334 2.79592 +30 1.77 1.49857 3.14286 +31 1.83 1.44316 3.5 +32 1.89 0.811794 3.71429 +33 1.95 0.798925 3.93878 +34 2.01 1.19627 4.29592 +35 2.07 1.25684 4.69388 +36 2.13 1.03485 5.04082 +37 2.19 0.719799 5.29592 +38 2.25 0.927417 5.64286 +39 2.31 0.931624 6.0102 +40 2.37 1.10632 6.46939 +41 2.43 0.748345 6.79592 +42 2.49 0.801806 7.16327 +43 2.55 0.998123 7.64286 +44 2.61 0.993305 8.14286 +45 2.67 0.949166 8.64286 +46 2.73 1.07466 9.23469 +47 2.79 1.0999 9.86735 +48 2.85 1.13908 10.551 +49 2.91 1.05998 11.2143 +50 2.97 1.06455 11.9082 +104900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.69862 0.0612245 +11 0.63 2.78143 0.142857 +12 0.69 1.15951 0.183673 +13 0.75 1.47226 0.244898 +14 0.81 1.89348 0.336735 +15 0.87 1.64142 0.428571 +16 0.93 1.43652 0.520408 +17 0.99 1.54944 0.632653 +18 1.05 1.75315 0.77551 +19 1.11 1.34467 0.897959 +20 1.17 1.21032 1.02041 +21 1.23 1.18641 1.15306 +22 1.29 0.746744 1.2449 +23 1.35 1.43947 1.43878 +24 1.41 1.18068 1.61224 +25 1.47 0.830683 1.7449 +26 1.53 1.29769 1.96939 +27 1.59 0.983136 2.15306 +28 1.65 1.21726 2.39796 +29 1.71 0.944452 2.60204 +30 1.77 1.14597 2.86735 +31 1.83 1.07206 3.13265 +32 1.89 0.850451 3.35714 +33 1.95 0.798925 3.58163 +34 2.01 1.16209 3.92857 +35 2.07 0.77344 4.17347 +36 2.13 1.09572 4.54082 +37 2.19 1.0653 4.91837 +38 2.25 0.872863 5.2449 +39 2.31 1.06102 5.66327 +40 2.37 0.983392 6.07143 +41 2.43 0.795117 6.41837 +42 2.49 0.935441 6.84694 +43 2.55 1.14678 7.39796 +44 2.61 1.05412 7.92857 +45 2.67 1.33658 8.63265 +46 2.73 0.926433 9.14286 +47 2.79 0.975718 9.70408 +48 2.85 0.935069 10.2653 +49 2.91 0.929523 10.8469 +50 2.97 1.03324 11.5204 +104950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 1.69862 0.0816327 +11 0.63 3.1291 0.173469 +12 0.69 2.02914 0.244898 +13 0.75 1.71763 0.316327 +14 0.81 1.47271 0.387755 +15 0.87 1.27666 0.459184 +16 0.93 1.1173 0.530612 +17 0.99 1.6903 0.653061 +18 1.05 1.37747 0.765306 +19 1.11 1.56878 0.908163 +20 1.17 0.806882 0.989796 +21 1.23 1.09515 1.11224 +22 1.29 0.580801 1.18367 +23 1.35 0.757614 1.28571 +24 1.41 0.833421 1.40816 +25 1.47 0.894581 1.55102 +26 1.53 1.47465 1.80612 +27 1.59 0.873898 1.96939 +28 1.65 0.760786 2.12245 +29 1.71 1.08612 2.35714 +30 1.77 0.749286 2.53061 +31 1.83 1.07206 2.79592 +32 1.89 1.23702 3.12245 +33 1.95 1.16207 3.44898 +34 2.01 1.12791 3.78571 +35 2.07 1.16016 4.15306 +36 2.13 0.76092 4.40816 +37 2.19 0.978927 4.7551 +38 2.25 1.33657 5.2551 +39 2.31 1.19041 5.72449 +40 2.37 1.08173 6.17347 +41 2.43 0.982203 6.60204 +42 2.49 1.0468 7.08163 +43 2.55 1.10431 7.61224 +44 2.61 0.912219 8.07143 +45 2.67 0.871683 8.53061 +46 2.73 1.09319 9.13265 +47 2.79 0.993458 9.70408 +48 2.85 0.884065 10.2347 +49 2.91 0.978445 10.8469 +50 2.97 1.22111 11.6429 +105000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 2.12327 0.0816327 +11 0.63 0.695356 0.102041 +12 0.69 0.579756 0.122449 +13 0.75 0.981505 0.163265 +14 0.81 1.26232 0.22449 +15 0.87 1.45904 0.306122 +16 0.93 1.91536 0.428571 +17 0.99 1.40859 0.530612 +18 1.05 1.62792 0.663265 +19 1.11 1.34467 0.785714 +20 1.17 1.21032 0.908163 +21 1.23 1.73398 1.10204 +22 1.29 1.82537 1.32653 +23 1.35 1.13642 1.47959 +24 1.41 1.04178 1.63265 +25 1.47 0.575088 1.72449 +26 1.53 1.06175 1.90816 +27 1.59 1.09237 2.11224 +28 1.65 1.01438 2.31633 +29 1.71 0.708339 2.46939 +30 1.77 1.23412 2.7551 +31 1.83 1.11329 3.03061 +32 1.89 1.12105 3.32653 +33 1.95 1.45259 3.73469 +34 2.01 0.854481 3.9898 +35 2.07 0.902347 4.27551 +36 2.13 0.94354 4.59184 +37 2.19 1.00772 4.94898 +38 2.25 0.62737 5.18367 +39 2.31 0.957503 5.56122 +40 2.37 0.983392 5.96939 +41 2.43 0.912046 6.36735 +42 2.49 1.0468 6.84694 +43 2.55 0.95565 7.30612 +44 2.61 1.09466 7.85714 +45 2.67 1.00728 8.38776 +46 2.73 1.00055 8.93878 +47 2.79 0.975718 9.5 +48 2.85 1.15609 10.1939 +49 2.91 1.07629 10.8673 +50 2.97 1.09587 11.5816 +105050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.04287 0.0306122 +9 0.51 0 0.0306122 +10 0.57 0.424655 0.0408163 +11 0.63 1.39071 0.0816327 +12 0.69 1.44939 0.132653 +13 0.75 1.22688 0.183673 +14 0.81 1.89348 0.27551 +15 0.87 0.547139 0.306122 +16 0.93 1.91536 0.428571 +17 0.99 0.845152 0.489796 +18 1.05 1.12702 0.581633 +19 1.11 2.01701 0.765306 +20 1.17 1.5129 0.918367 +21 1.23 1.18641 1.05102 +22 1.29 1.07863 1.18367 +23 1.35 1.43947 1.37755 +24 1.41 1.45849 1.59184 +25 1.47 1.02238 1.7551 +26 1.53 0.884789 1.90816 +27 1.59 1.36547 2.16327 +28 1.65 1.11582 2.38776 +29 1.71 1.0389 2.61224 +30 1.77 1.32227 2.91837 +31 1.83 1.36069 3.2551 +32 1.89 1.00508 3.52041 +33 1.95 0.907869 3.77551 +34 2.01 1.23045 4.14286 +35 2.07 0.966801 4.44898 +36 2.13 0.913104 4.7551 +37 2.19 1.09409 5.14286 +38 2.25 0.872863 5.46939 +39 2.31 1.06102 5.88776 +40 2.37 1.1309 6.35714 +41 2.43 0.678188 6.65306 +42 2.49 1.18044 7.19388 +43 2.55 1.0406 7.69388 +44 2.61 0.912219 8.15306 +45 2.67 0.987907 8.67347 +46 2.73 1.20436 9.33673 +47 2.79 1.1886 10.0204 +48 2.85 0.81606 10.5102 +49 2.91 0.766449 10.9898 +50 2.97 1.0489 11.6735 +105100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0 0.0102041 +10 0.57 0.84931 0.0306122 +11 0.63 1.73839 0.0816327 +12 0.69 1.15951 0.122449 +13 0.75 1.22688 0.173469 +14 0.81 2.10387 0.27551 +15 0.87 2.18855 0.397959 +16 0.93 1.27691 0.479592 +17 0.99 1.40859 0.581633 +18 1.05 1.0018 0.663265 +19 1.11 1.12056 0.765306 +20 1.17 1.61376 0.928571 +21 1.23 0.638835 1 +22 1.29 1.24457 1.15306 +23 1.35 1.21218 1.31633 +24 1.41 0.833421 1.43878 +25 1.47 1.40577 1.66327 +26 1.53 1.00276 1.83673 +27 1.59 1.20161 2.06122 +28 1.65 1.21726 2.30612 +29 1.71 1.41668 2.61224 +30 1.77 0.969664 2.83673 +31 1.83 1.15453 3.12245 +32 1.89 1.23702 3.44898 +33 1.95 0.76261 3.66327 +34 2.01 1.16209 4.0102 +35 2.07 1.06348 4.34694 +36 2.13 0.913104 4.65306 +37 2.19 1.09409 5.04082 +38 2.25 0.981971 5.40816 +39 2.31 1.06102 5.82653 +40 2.37 0.958808 6.22449 +41 2.43 1.28622 6.78571 +42 2.49 0.979986 7.23469 +43 2.55 1.10431 7.76531 +44 2.61 1.07439 8.30612 +45 2.67 1.00728 8.83673 +46 2.73 0.889376 9.32653 +47 2.79 1.04668 9.92857 +48 2.85 0.782058 10.398 +49 2.91 0.978445 11.0102 +50 2.97 1.01759 11.6735 +105150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 1.27396 0.0510204 +11 0.63 1.73839 0.102041 +12 0.69 0.289878 0.112245 +13 0.75 1.96301 0.193878 +14 0.81 0.841547 0.234694 +15 0.87 1.09428 0.295918 +16 0.93 1.43652 0.387755 +17 0.99 1.40859 0.489796 +18 1.05 1.5027 0.612245 +19 1.11 1.0085 0.704082 +20 1.17 1.21032 0.826531 +21 1.23 1.46019 0.989796 +22 1.29 0.995658 1.11224 +23 1.35 0.909136 1.23469 +24 1.41 1.04178 1.38776 +25 1.47 1.02238 1.55102 +26 1.53 0.766817 1.68367 +27 1.59 0.873898 1.84694 +28 1.65 0.862224 2.02041 +29 1.71 1.0389 2.2449 +30 1.77 1.19004 2.52041 +31 1.83 1.11329 2.79592 +32 1.89 1.15971 3.10204 +33 1.95 0.980499 3.37755 +34 2.01 1.33299 3.77551 +35 2.07 0.870121 4.05102 +36 2.13 1.1566 4.43878 +37 2.19 1.15168 4.84694 +38 2.25 0.845586 5.16327 +39 2.31 1.11277 5.60204 +40 2.37 1.03256 6.03061 +41 2.43 1.02897 6.47959 +42 2.49 0.913168 6.89796 +43 2.55 1.14678 7.44898 +44 2.61 1.25684 8.08163 +45 2.67 0.968536 8.59184 +46 2.73 1.18583 9.2449 +47 2.79 0.922497 9.77551 +48 2.85 0.986073 10.3673 +49 2.91 1.14152 11.0816 +50 2.97 0.970623 11.7143 +105200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.59099 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 1.04303 0.0816327 +12 0.69 2.31902 0.163265 +13 0.75 0.981505 0.204082 +14 0.81 1.05193 0.255102 +15 0.87 2.00617 0.367347 +16 0.93 1.59614 0.469388 +17 0.99 0.98601 0.540816 +18 1.05 1.62792 0.673469 +19 1.11 0.672336 0.734694 +20 1.17 1.0086 0.836735 +21 1.23 0.821359 0.928571 +22 1.29 0.912687 1.04082 +23 1.35 1.43947 1.23469 +24 1.41 1.11123 1.39796 +25 1.47 1.46967 1.63265 +26 1.53 0.648845 1.7449 +27 1.59 1.03775 1.93878 +28 1.65 1.36941 2.21429 +29 1.71 1.13334 2.45918 +30 1.77 0.70521 2.62245 +31 1.83 0.989594 2.86735 +32 1.89 0.966422 3.12245 +33 1.95 1.45259 3.53061 +34 2.01 0.922839 3.80612 +35 2.07 1.22461 4.19388 +36 2.13 0.791356 4.45918 +37 2.19 1.09409 4.84694 +38 2.25 1.22746 5.30612 +39 2.31 0.828111 5.63265 +40 2.37 0.983392 6.04082 +41 2.43 0.958818 6.45918 +42 2.49 0.779534 6.81633 +43 2.55 0.95565 7.27551 +44 2.61 1.07439 7.81633 +45 2.67 1.02665 8.35714 +46 2.73 1.24142 9.04082 +47 2.79 1.06442 9.65306 +48 2.85 0.765056 10.1122 +49 2.91 1.05998 10.7755 +50 2.97 0.892347 11.3571 +105250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 1.73839 0.112245 +12 0.69 1.44939 0.163265 +13 0.75 1.71763 0.234694 +14 0.81 1.26232 0.295918 +15 0.87 2.18855 0.418367 +16 0.93 1.1173 0.489796 +17 0.99 0.98601 0.561224 +18 1.05 1.37747 0.673469 +19 1.11 0.56028 0.72449 +20 1.17 1.0086 0.826531 +21 1.23 1.36893 0.979592 +22 1.29 0.995658 1.10204 +23 1.35 1.74251 1.33673 +24 1.41 0.833421 1.45918 +25 1.47 1.46967 1.69388 +26 1.53 1.17972 1.89796 +27 1.59 0.983136 2.08163 +28 1.65 1.01438 2.28571 +29 1.71 1.08612 2.52041 +30 1.77 1.23412 2.80612 +31 1.83 0.783428 3 +32 1.89 0.850451 3.22449 +33 1.95 1.30733 3.59184 +34 2.01 0.683585 3.79592 +35 2.07 1.28907 4.20408 +36 2.13 1.00441 4.54082 +37 2.19 1.0653 4.91837 +38 2.25 0.763755 5.20408 +39 2.31 1.13865 5.65306 +40 2.37 0.934223 6.04082 +41 2.43 1.00559 6.47959 +42 2.49 1.31407 7.08163 +43 2.55 1.14678 7.63265 +44 2.61 0.973034 8.12245 +45 2.67 0.929795 8.61224 +46 2.73 0.83379 9.07143 +47 2.79 0.816055 9.54082 +48 2.85 0.867064 10.0612 +49 2.91 0.994753 10.6837 +50 2.97 1.25242 11.5 +105300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 3.18198 0.0816327 +10 0.57 0.424655 0.0918367 +11 0.63 1.04303 0.122449 +12 0.69 0.869633 0.153061 +13 0.75 1.22688 0.204082 +14 0.81 1.26232 0.265306 +15 0.87 1.45904 0.346939 +16 0.93 1.27691 0.428571 +17 0.99 0.845152 0.489796 +18 1.05 1.62792 0.622449 +19 1.11 1.12056 0.72449 +20 1.17 1.10946 0.836735 +21 1.23 0.45631 0.887755 +22 1.29 1.32754 1.05102 +23 1.35 1.3637 1.23469 +24 1.41 0.694517 1.33673 +25 1.47 1.27797 1.54082 +26 1.53 1.00276 1.71429 +27 1.59 1.25623 1.94898 +28 1.65 1.0651 2.16327 +29 1.71 1.13334 2.40816 +30 1.77 0.837437 2.60204 +31 1.83 0.824661 2.80612 +32 1.89 0.966422 3.06122 +33 1.95 1.30733 3.42857 +34 2.01 0.820302 3.67347 +35 2.07 1.19239 4.05102 +36 2.13 1.21747 4.45918 +37 2.19 1.12289 4.85714 +38 2.25 1.09108 5.26531 +39 2.31 0.853989 5.60204 +40 2.37 1.08173 6.05102 +41 2.43 0.771731 6.38776 +42 2.49 0.913168 6.80612 +43 2.55 0.976887 7.27551 +44 2.61 1.01358 7.78571 +45 2.67 1.10413 8.36735 +46 2.73 1.13025 8.9898 +47 2.79 1.04668 9.59184 +48 2.85 0.884065 10.1224 +49 2.91 1.05998 10.7857 +50 2.97 1.11152 11.5102 +105350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 1.59099 0.0612245 +10 0.57 0.424655 0.0714286 +11 0.63 0 0.0714286 +12 0.69 0.869633 0.102041 +13 0.75 2.20839 0.193878 +14 0.81 1.89348 0.285714 +15 0.87 0.911898 0.336735 +16 0.93 0.798069 0.387755 +17 0.99 1.26773 0.479592 +18 1.05 1.25225 0.581633 +19 1.11 1.56878 0.72449 +20 1.17 1.5129 0.877551 +21 1.23 1.00388 0.989796 +22 1.29 0.995658 1.11224 +23 1.35 0.833375 1.22449 +24 1.41 1.18068 1.39796 +25 1.47 1.27797 1.60204 +26 1.53 0.884789 1.7551 +27 1.59 1.09237 1.95918 +28 1.65 0.760786 2.11224 +29 1.71 0.944452 2.31633 +30 1.77 1.32227 2.62245 +31 1.83 0.700962 2.79592 +32 1.89 1.58493 3.21429 +33 1.95 1.16207 3.54082 +34 2.01 1.36717 3.94898 +35 2.07 0.934574 4.2449 +36 2.13 0.973977 4.57143 +37 2.19 1.20926 5 +38 2.25 0.981971 5.36735 +39 2.31 0.957503 5.7449 +40 2.37 1.20466 6.2449 +41 2.43 0.865274 6.62245 +42 2.49 0.913168 7.04082 +43 2.55 1.01936 7.53061 +44 2.61 0.993305 8.03061 +45 2.67 1.00728 8.56122 +46 2.73 0.759675 8.97959 +47 2.79 0.833795 9.45918 +48 2.85 1.00307 10.0612 +49 2.91 1.19044 10.8061 +50 2.97 0.986279 11.449 +105400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.06066 0.0204082 +10 0.57 2.12327 0.0714286 +11 0.63 0.695356 0.0918367 +12 0.69 3.18866 0.204082 +13 0.75 0.981505 0.244898 +14 0.81 0.841547 0.285714 +15 0.87 1.27666 0.357143 +16 0.93 0.638455 0.397959 +17 0.99 1.26773 0.489796 +18 1.05 1.62792 0.622449 +19 1.11 1.34467 0.744898 +20 1.17 0.605161 0.806122 +21 1.23 0.912621 0.908163 +22 1.29 0.829715 1.0102 +23 1.35 1.59099 1.22449 +24 1.41 0.833421 1.34694 +25 1.47 1.02238 1.5102 +26 1.53 1.29769 1.73469 +27 1.59 1.20161 1.95918 +28 1.65 1.21726 2.20408 +29 1.71 1.13334 2.44898 +30 1.77 1.14597 2.71429 +31 1.83 1.56686 3.10204 +32 1.89 0.966422 3.35714 +33 1.95 0.798925 3.58163 +34 2.01 1.29881 3.96939 +35 2.07 0.805667 4.22449 +36 2.13 1.00441 4.56122 +37 2.19 0.921343 4.88776 +38 2.25 0.954694 5.2449 +39 2.31 0.983381 5.63265 +40 2.37 0.885053 6 +41 2.43 0.865274 6.37755 +42 2.49 0.935441 6.80612 +43 2.55 1.06183 7.31633 +44 2.61 0.871676 7.7551 +45 2.67 1.00728 8.28571 +46 2.73 0.759675 8.70408 +47 2.79 1.06442 9.31633 +48 2.85 1.17309 10.0204 +49 2.91 1.02737 10.6633 +50 2.97 1.03324 11.3367 +105450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 0.84931 0.0612245 +11 0.63 0.347678 0.0714286 +12 0.69 0.869633 0.102041 +13 0.75 1.96301 0.183673 +14 0.81 1.47271 0.255102 +15 0.87 0.729518 0.295918 +16 0.93 1.1173 0.367347 +17 0.99 1.54944 0.479592 +18 1.05 1.5027 0.602041 +19 1.11 0.784392 0.673469 +20 1.17 1.21032 0.795918 +21 1.23 1.55146 0.969388 +22 1.29 0.995658 1.09184 +23 1.35 0.454568 1.15306 +24 1.41 0.902872 1.28571 +25 1.47 1.40577 1.5102 +26 1.53 1.06175 1.69388 +27 1.59 1.25623 1.92857 +28 1.65 1.21726 2.17347 +29 1.71 0.850007 2.35714 +30 1.77 1.54265 2.71429 +31 1.83 1.07206 2.97959 +32 1.89 1.4303 3.35714 +33 1.95 0.689981 3.55102 +34 2.01 1.16209 3.89796 +35 2.07 1.38575 4.33673 +36 2.13 0.973977 4.66327 +37 2.19 0.806175 4.94898 +38 2.25 1.22746 5.40816 +39 2.31 1.42332 5.96939 +40 2.37 1.00798 6.38776 +41 2.43 0.865274 6.76531 +42 2.49 0.979986 7.21429 +43 2.55 0.95565 7.67347 +44 2.61 0.932491 8.14286 +45 2.67 1.00728 8.67347 +46 2.73 1.13025 9.29592 +47 2.79 0.904757 9.81633 +48 2.85 0.901066 10.3571 +49 2.91 1.01106 10.9898 +50 2.97 1.1898 11.7653 +105500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.52926 0.0204082 +7 0.39 0.906153 0.0306122 +8 0.45 0.680956 0.0408163 +9 0.51 1.59099 0.0714286 +10 0.57 2.12327 0.122449 +11 0.63 1.39071 0.163265 +12 0.69 1.15951 0.204082 +13 0.75 1.71763 0.27551 +14 0.81 1.26232 0.336735 +15 0.87 1.8238 0.438776 +16 0.93 1.43652 0.530612 +17 0.99 1.97202 0.673469 +18 1.05 1.12702 0.765306 +19 1.11 1.34467 0.887755 +20 1.17 1.41204 1.03061 +21 1.23 1.09515 1.15306 +22 1.29 1.65943 1.35714 +23 1.35 1.21218 1.52041 +24 1.41 0.833421 1.64286 +25 1.47 1.08628 1.81633 +26 1.53 1.17972 2.02041 +27 1.59 1.31085 2.26531 +28 1.65 1.0651 2.47959 +29 1.71 0.850007 2.66327 +30 1.77 0.749286 2.83673 +31 1.83 0.989594 3.08163 +32 1.89 0.850451 3.30612 +33 1.95 0.907869 3.56122 +34 2.01 1.26463 3.93878 +35 2.07 1.16016 4.30612 +36 2.13 1.1566 4.69388 +37 2.19 0.892551 5.0102 +38 2.25 1.0638 5.40816 +39 2.31 0.67284 5.67347 +40 2.37 1.15549 6.15306 +41 2.43 0.88866 6.54082 +42 2.49 1.31407 7.14286 +43 2.55 0.934413 7.59184 +44 2.61 1.11493 8.15306 +45 2.67 1.33658 8.85714 +46 2.73 0.907904 9.35714 +47 2.79 1.0112 9.93878 +48 2.85 0.935069 10.5 +49 2.91 1.1089 11.1939 +50 2.97 1.0489 11.8776 +105550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 2.08607 0.112245 +12 0.69 0 0.112245 +13 0.75 0.981505 0.153061 +14 0.81 1.26232 0.214286 +15 0.87 1.64142 0.306122 +16 0.93 1.27691 0.387755 +17 0.99 0.98601 0.459184 +18 1.05 1.75315 0.602041 +19 1.11 1.12056 0.704082 +20 1.17 1.21032 0.826531 +21 1.23 1.18641 0.959184 +22 1.29 1.07863 1.09184 +23 1.35 0.606091 1.17347 +24 1.41 1.38903 1.37755 +25 1.47 1.34187 1.59184 +26 1.53 1.47465 1.84694 +27 1.59 1.03775 2.04082 +28 1.65 1.31869 2.30612 +29 1.71 1.32223 2.59184 +30 1.77 0.793362 2.77551 +31 1.83 1.11329 3.05102 +32 1.89 1.23702 3.37755 +33 1.95 1.30733 3.7449 +34 2.01 0.991198 4.04082 +35 2.07 1.12793 4.39796 +36 2.13 1.27835 4.82653 +37 2.19 0.806175 5.11224 +38 2.25 0.954694 5.46939 +39 2.31 0.983381 5.85714 +40 2.37 1.1309 6.32653 +41 2.43 1.1459 6.82653 +42 2.49 1.33634 7.43878 +43 2.55 1.08307 7.95918 +44 2.61 0.912219 8.41837 +45 2.67 0.891053 8.88776 +46 2.73 1.11172 9.5 +47 2.79 0.922497 10.0306 +48 2.85 0.765056 10.4898 +49 2.91 0.896908 11.051 +50 2.97 1.12718 11.7857 +105600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 2.04287 0.0408163 +9 0.51 0.530329 0.0510204 +10 0.57 0 0.0510204 +11 0.63 1.73839 0.102041 +12 0.69 1.44939 0.153061 +13 0.75 1.22688 0.204082 +14 0.81 1.26232 0.265306 +15 0.87 0.911898 0.316327 +16 0.93 1.59614 0.418367 +17 0.99 1.6903 0.540816 +18 1.05 1.0018 0.622449 +19 1.11 1.90495 0.795918 +20 1.17 0.706021 0.867347 +21 1.23 1.27767 1.0102 +22 1.29 0.746744 1.10204 +23 1.35 1.59099 1.31633 +24 1.41 0.902872 1.44898 +25 1.47 1.40577 1.67347 +26 1.53 1.2387 1.88776 +27 1.59 1.25623 2.12245 +28 1.65 1.11582 2.34694 +29 1.71 1.08612 2.58163 +30 1.77 1.01374 2.81633 +31 1.83 0.948361 3.05102 +32 1.89 1.04374 3.32653 +33 1.95 0.980499 3.60204 +34 2.01 0.991198 3.89796 +35 2.07 1.41797 4.34694 +36 2.13 0.85223 4.63265 +37 2.19 1.32443 5.10204 +38 2.25 0.981971 5.46939 +39 2.31 0.802232 5.78571 +40 2.37 0.786714 6.11224 +41 2.43 1.12252 6.60204 +42 2.49 0.868624 7 +43 2.55 1.14678 7.55102 +44 2.61 1.11493 8.11224 +45 2.67 0.832941 8.55102 +46 2.73 1.13025 9.17347 +47 2.79 0.993458 9.7449 +48 2.85 1.10508 10.4082 +49 2.91 1.0926 11.0918 +50 2.97 0.923658 11.6939 +105650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 0 0.0204082 +9 0.51 2.12132 0.0612245 +10 0.57 1.27396 0.0918367 +11 0.63 1.39071 0.132653 +12 0.69 1.44939 0.183673 +13 0.75 2.20839 0.27551 +14 0.81 1.26232 0.336735 +15 0.87 0.911898 0.387755 +16 0.93 1.43652 0.479592 +17 0.99 2.11288 0.632653 +18 1.05 2.0036 0.795918 +19 1.11 1.23262 0.908163 +20 1.17 0.605161 0.969388 +21 1.23 1.00388 1.08163 +22 1.29 0.580801 1.15306 +23 1.35 1.43947 1.34694 +24 1.41 1.11123 1.5102 +25 1.47 1.15018 1.69388 +26 1.53 1.35668 1.92857 +27 1.59 0.600805 2.04082 +28 1.65 1.11582 2.26531 +29 1.71 0.755562 2.42857 +30 1.77 1.01374 2.66327 +31 1.83 0.907127 2.88776 +32 1.89 1.04374 3.16327 +33 1.95 0.76261 3.37755 +34 2.01 1.02538 3.68367 +35 2.07 0.999027 4 +36 2.13 1.03485 4.34694 +37 2.19 0.834967 4.64286 +38 2.25 1.25474 5.11224 +39 2.31 1.00926 5.5102 +40 2.37 1.18007 6 +41 2.43 1.09913 6.47959 +42 2.49 0.890896 6.88776 +43 2.55 0.998123 7.36735 +44 2.61 1.09466 7.91837 +45 2.67 1.10413 8.5 +46 2.73 0.926433 9.0102 +47 2.79 1.11764 9.65306 +48 2.85 1.19009 10.3673 +49 2.91 1.14152 11.0816 +50 2.97 1.00193 11.7347 +105700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.04287 0.0306122 +9 0.51 1.06066 0.0510204 +10 0.57 0.424655 0.0612245 +11 0.63 2.43375 0.132653 +12 0.69 0.289878 0.142857 +13 0.75 0.981505 0.183673 +14 0.81 1.26232 0.244898 +15 0.87 2.73569 0.397959 +16 0.93 1.75575 0.510204 +17 0.99 1.54944 0.622449 +18 1.05 1.25225 0.72449 +19 1.11 0.672336 0.785714 +20 1.17 2.11806 1 +21 1.23 1.00388 1.11224 +22 1.29 0.663772 1.19388 +23 1.35 0.909136 1.31633 +24 1.41 0.972324 1.45918 +25 1.47 1.72526 1.73469 +26 1.53 1.2387 1.94898 +27 1.59 1.25623 2.18367 +28 1.65 0.963662 2.37755 +29 1.71 1.18057 2.63265 +30 1.77 1.10189 2.88776 +31 1.83 0.907127 3.11224 +32 1.89 1.15971 3.41837 +33 1.95 0.726295 3.62245 +34 2.01 0.854481 3.87755 +35 2.07 1.12793 4.23469 +36 2.13 0.913104 4.54082 +37 2.19 1.46839 5.06122 +38 2.25 1.33657 5.56122 +39 2.31 0.724597 5.84694 +40 2.37 1.05715 6.28571 +41 2.43 0.935432 6.69388 +42 2.49 0.957713 7.13265 +43 2.55 1.06183 7.64286 +44 2.61 0.810861 8.05102 +45 2.67 1.02665 8.59184 +46 2.73 0.944962 9.11224 +47 2.79 1.02894 9.70408 +48 2.85 1.13908 10.3878 +49 2.91 0.799064 10.8878 +50 2.97 1.23676 11.6939 +105750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 1.36191 0.0408163 +9 0.51 1.06066 0.0612245 +10 0.57 0 0.0612245 +11 0.63 1.39071 0.102041 +12 0.69 1.73927 0.163265 +13 0.75 1.22688 0.214286 +14 0.81 1.47271 0.285714 +15 0.87 1.64142 0.377551 +16 0.93 2.23459 0.520408 +17 0.99 1.12687 0.602041 +18 1.05 1.62792 0.734694 +19 1.11 1.0085 0.826531 +20 1.17 1.61376 0.989796 +21 1.23 1.55146 1.16327 +22 1.29 0.746744 1.2551 +23 1.35 1.28794 1.42857 +24 1.41 1.04178 1.58163 +25 1.47 0.894581 1.72449 +26 1.53 0.825803 1.86735 +27 1.59 0.983136 2.05102 +28 1.65 1.31869 2.31633 +29 1.71 0.944452 2.52041 +30 1.77 0.925588 2.73469 +31 1.83 0.824661 2.93878 +32 1.89 0.773137 3.14286 +33 1.95 1.16207 3.46939 +34 2.01 0.991198 3.76531 +35 2.07 0.934574 4.06122 +36 2.13 1.21747 4.46939 +37 2.19 1.4396 4.97959 +38 2.25 1.52751 5.55102 +39 2.31 0.957503 5.92857 +40 2.37 1.00798 6.34694 +41 2.43 1.16929 6.85714 +42 2.49 0.913168 7.27551 +43 2.55 1.06183 7.78571 +44 2.61 0.973034 8.27551 +45 2.67 0.929795 8.76531 +46 2.73 0.96349 9.29592 +47 2.79 0.674132 9.68367 +48 2.85 0.969072 10.2653 +49 2.91 1.14152 10.9796 +50 2.97 0.954968 11.602 +105800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 0 0.0204082 +10 0.57 2.12327 0.0714286 +11 0.63 2.08607 0.132653 +12 0.69 1.44939 0.183673 +13 0.75 1.22688 0.234694 +14 0.81 1.68309 0.316327 +15 0.87 1.09428 0.377551 +16 0.93 1.27691 0.459184 +17 0.99 1.83116 0.591837 +18 1.05 1.12702 0.683673 +19 1.11 1.12056 0.785714 +20 1.17 0.907742 0.877551 +21 1.23 1.64272 1.06122 +22 1.29 1.32754 1.22449 +23 1.35 0.984898 1.35714 +24 1.41 0.972324 1.5 +25 1.47 1.27797 1.70408 +26 1.53 1.12073 1.89796 +27 1.59 0.873898 2.06122 +28 1.65 0.659347 2.19388 +29 1.71 0.802784 2.36735 +30 1.77 0.881513 2.57143 +31 1.83 1.23699 2.87755 +32 1.89 0.695824 3.06122 +33 1.95 1.2347 3.40816 +34 2.01 0.854481 3.66327 +35 2.07 0.77344 3.90816 +36 2.13 1.00441 4.2449 +37 2.19 1.03651 4.61224 +38 2.25 0.709201 4.87755 +39 2.31 1.0869 5.30612 +40 2.37 1.10632 5.76531 +41 2.43 0.958818 6.18367 +42 2.49 0.979986 6.63265 +43 2.55 0.998123 7.11224 +44 2.61 1.11493 7.67347 +45 2.67 0.987907 8.19388 +46 2.73 0.944962 8.71429 +47 2.79 1.06442 9.32653 +48 2.85 1.13908 10.0102 +49 2.91 1.30459 10.8265 +50 2.97 1.17414 11.5918 +105850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 1.36191 0.0408163 +9 0.51 0 0.0408163 +10 0.57 1.27396 0.0714286 +11 0.63 2.78143 0.153061 +12 0.69 1.15951 0.193878 +13 0.75 0.736129 0.22449 +14 0.81 2.31425 0.336735 +15 0.87 1.45904 0.418367 +16 0.93 1.27691 0.5 +17 0.99 1.12687 0.581633 +18 1.05 1.5027 0.704082 +19 1.11 1.12056 0.806122 +20 1.17 1.21032 0.928571 +21 1.23 0.821359 1.02041 +22 1.29 1.49349 1.20408 +23 1.35 1.28794 1.37755 +24 1.41 1.25013 1.56122 +25 1.47 1.59747 1.81633 +26 1.53 1.35668 2.05102 +27 1.59 1.03775 2.2449 +28 1.65 1.0651 2.45918 +29 1.71 1.32223 2.7449 +30 1.77 1.14597 3.0102 +31 1.83 0.865894 3.22449 +32 1.89 0.850451 3.44898 +33 1.95 0.871554 3.69388 +34 2.01 0.649406 3.88776 +35 2.07 1.19239 4.26531 +36 2.13 0.85223 4.55102 +37 2.19 1.23805 4.9898 +38 2.25 0.90014 5.32653 +39 2.31 0.983381 5.71429 +40 2.37 0.811299 6.05102 +41 2.43 0.841889 6.41837 +42 2.49 0.757262 6.76531 +43 2.55 1.10431 7.29592 +44 2.61 1.17575 7.88776 +45 2.67 1.08476 8.45918 +46 2.73 0.741146 8.86735 +47 2.79 0.922497 9.39796 +48 2.85 0.935069 9.95918 +49 2.91 0.929523 10.5408 +50 2.97 1.00193 11.1939 +105900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 2.04287 0.0408163 +9 0.51 0.530329 0.0510204 +10 0.57 0.424655 0.0612245 +11 0.63 1.04303 0.0918367 +12 0.69 1.44939 0.142857 +13 0.75 0.736129 0.173469 +14 0.81 0.841547 0.214286 +15 0.87 1.27666 0.285714 +16 0.93 1.59614 0.387755 +17 0.99 1.97202 0.530612 +18 1.05 1.12702 0.622449 +19 1.11 1.23262 0.734694 +20 1.17 1.31118 0.867347 +21 1.23 0.730097 0.94898 +22 1.29 1.65943 1.15306 +23 1.35 1.21218 1.31633 +24 1.41 1.52794 1.54082 +25 1.47 1.21407 1.73469 +26 1.53 1.17972 1.93878 +27 1.59 1.20161 2.16327 +28 1.65 1.31869 2.42857 +29 1.71 1.36946 2.72449 +30 1.77 0.617059 2.86735 +31 1.83 1.36069 3.20408 +32 1.89 1.35299 3.56122 +33 1.95 0.871554 3.80612 +34 2.01 1.19627 4.16327 +35 2.07 1.03125 4.4898 +36 2.13 0.76092 4.7449 +37 2.19 1.00772 5.10204 +38 2.25 0.872863 5.42857 +39 2.31 0.828111 5.7551 +40 2.37 0.786714 6.08163 +41 2.43 0.958818 6.5 +42 2.49 0.712717 6.82653 +43 2.55 0.743283 7.18367 +44 2.61 1.27711 7.82653 +45 2.67 1.14287 8.42857 +46 2.73 1.01908 8.9898 +47 2.79 1.22408 9.69388 +48 2.85 1.05408 10.3265 +49 2.91 0.799064 10.8265 +50 2.97 0.829726 11.3673 +105950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 1.27396 0.0510204 +11 0.63 0.347678 0.0612245 +12 0.69 2.02914 0.132653 +13 0.75 0.245376 0.142857 +14 0.81 2.31425 0.255102 +15 0.87 1.45904 0.336735 +16 0.93 1.91536 0.459184 +17 0.99 1.54944 0.571429 +18 1.05 1.0018 0.653061 +19 1.11 0.896448 0.734694 +20 1.17 0.907742 0.826531 +21 1.23 1.27767 0.969388 +22 1.29 1.41052 1.14286 +23 1.35 0.984898 1.27551 +24 1.41 1.11123 1.43878 +25 1.47 1.15018 1.62245 +26 1.53 1.41566 1.86735 +27 1.59 1.25623 2.10204 +28 1.65 1.01438 2.30612 +29 1.71 1.32223 2.59184 +30 1.77 1.01374 2.82653 +31 1.83 0.700962 3 +32 1.89 1.23702 3.32653 +33 1.95 0.83524 3.56122 +34 2.01 1.19627 3.91837 +35 2.07 1.54688 4.40816 +36 2.13 0.973977 4.73469 +37 2.19 1.12289 5.13265 +38 2.25 0.954694 5.4898 +39 2.31 1.26804 5.9898 +40 2.37 0.811299 6.32653 +41 2.43 1.09913 6.80612 +42 2.49 1.09135 7.30612 +43 2.55 1.21049 7.88776 +44 2.61 1.03385 8.40816 +45 2.67 1.06539 8.96939 +46 2.73 1.16731 9.61224 +47 2.79 0.869276 10.1122 +48 2.85 1.13908 10.7959 +49 2.91 0.864293 11.3367 +50 2.97 0.782761 11.8469 +106000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 1.26463 0.0204082 +7 0.39 0.906153 0.0306122 +8 0.45 1.36191 0.0510204 +9 0.51 1.06066 0.0714286 +10 0.57 2.12327 0.122449 +11 0.63 1.73839 0.173469 +12 0.69 0.869633 0.204082 +13 0.75 0.981505 0.244898 +14 0.81 1.05193 0.295918 +15 0.87 1.8238 0.397959 +16 0.93 1.43652 0.489796 +17 0.99 0.845152 0.55102 +18 1.05 1.62792 0.683673 +19 1.11 1.23262 0.795918 +20 1.17 1.61376 0.959184 +21 1.23 0.547573 1.02041 +22 1.29 1.41052 1.19388 +23 1.35 1.21218 1.35714 +24 1.41 1.45849 1.57143 +25 1.47 1.15018 1.7551 +26 1.53 1.17972 1.95918 +27 1.59 1.09237 2.16327 +28 1.65 1.82589 2.53061 +29 1.71 1.08612 2.76531 +30 1.77 1.05782 3.0102 +31 1.83 1.07206 3.27551 +32 1.89 0.811794 3.4898 +33 1.95 0.76261 3.70408 +34 2.01 1.36717 4.11224 +35 2.07 0.999027 4.42857 +36 2.13 1.12616 4.80612 +37 2.19 0.921343 5.13265 +38 2.25 0.954694 5.4898 +39 2.31 1.06102 5.90816 +40 2.37 1.27841 6.43878 +41 2.43 0.912046 6.83673 +42 2.49 0.913168 7.2551 +43 2.55 1.12554 7.79592 +44 2.61 0.993305 8.29592 +45 2.67 0.910424 8.77551 +46 2.73 0.944962 9.29592 +47 2.79 0.780574 9.7449 +48 2.85 1.02008 10.3571 +49 2.91 0.896908 10.9184 +50 2.97 1.12718 11.6531 +106050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 0 0.0204082 +10 0.57 2.54793 0.0816327 +11 0.63 1.73839 0.132653 +12 0.69 2.02914 0.204082 +13 0.75 1.22688 0.255102 +14 0.81 1.68309 0.336735 +15 0.87 1.09428 0.397959 +16 0.93 0.957682 0.459184 +17 0.99 1.26773 0.55102 +18 1.05 1.62792 0.683673 +19 1.11 1.34467 0.806122 +20 1.17 1.21032 0.928571 +21 1.23 1.27767 1.07143 +22 1.29 1.32754 1.23469 +23 1.35 1.43947 1.42857 +24 1.41 1.38903 1.63265 +25 1.47 1.34187 1.84694 +26 1.53 1.06175 2.03061 +27 1.59 0.983136 2.21429 +28 1.65 1.26798 2.46939 +29 1.71 1.18057 2.72449 +30 1.77 0.925588 2.93878 +31 1.83 1.11329 3.21429 +32 1.89 1.12105 3.5102 +33 1.95 0.83524 3.7449 +34 2.01 0.854481 4 +35 2.07 1.16016 4.36735 +36 2.13 0.94354 4.68367 +37 2.19 0.863759 4.9898 +38 2.25 1.11836 5.40816 +39 2.31 0.776354 5.71429 +40 2.37 1.27841 6.2449 +41 2.43 0.818503 6.60204 +42 2.49 1.26953 7.18367 +43 2.55 0.95565 7.64286 +44 2.61 1.15548 8.22449 +45 2.67 0.871683 8.68367 +46 2.73 0.944962 9.20408 +47 2.79 0.869276 9.70408 +48 2.85 0.867064 10.2245 +49 2.91 1.17413 10.9592 +50 2.97 1.09587 11.6735 +106100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 1.59099 0.0612245 +10 0.57 0.424655 0.0714286 +11 0.63 0 0.0714286 +12 0.69 1.73927 0.132653 +13 0.75 1.96301 0.214286 +14 0.81 1.26232 0.27551 +15 0.87 1.45904 0.357143 +16 0.93 1.91536 0.479592 +17 0.99 1.54944 0.591837 +18 1.05 1.87837 0.744898 +19 1.11 0.896448 0.826531 +20 1.17 1.61376 0.989796 +21 1.23 1.09515 1.11224 +22 1.29 1.1616 1.2551 +23 1.35 1.28794 1.42857 +24 1.41 0.972324 1.57143 +25 1.47 1.08628 1.7449 +26 1.53 1.35668 1.97959 +27 1.59 1.36547 2.23469 +28 1.65 1.16654 2.46939 +29 1.71 0.944452 2.67347 +30 1.77 1.14597 2.93878 +31 1.83 1.48439 3.30612 +32 1.89 1.00508 3.57143 +33 1.95 0.798925 3.79592 +34 2.01 1.05956 4.11224 +35 2.07 1.16016 4.47959 +36 2.13 1.12616 4.85714 +37 2.19 0.892551 5.17347 +38 2.25 1.22746 5.63265 +39 2.31 0.931624 6 +40 2.37 1.05715 6.43878 +41 2.43 0.818503 6.79592 +42 2.49 1.11362 7.30612 +43 2.55 1.01936 7.79592 +44 2.61 1.23656 8.41837 +45 2.67 0.968536 8.92857 +46 2.73 1.01908 9.4898 +47 2.79 0.887016 10 +48 2.85 1.15609 10.6939 +49 2.91 1.01106 11.3265 +50 2.97 1.00193 11.9796 +106150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 2.12327 0.0714286 +11 0.63 1.73839 0.122449 +12 0.69 0.869633 0.153061 +13 0.75 1.22688 0.204082 +14 0.81 1.68309 0.285714 +15 0.87 2.37093 0.418367 +16 0.93 1.1173 0.489796 +17 0.99 1.54944 0.602041 +18 1.05 1.12702 0.693878 +19 1.11 1.12056 0.795918 +20 1.17 1.21032 0.918367 +21 1.23 1.09515 1.04082 +22 1.29 1.1616 1.18367 +23 1.35 1.06066 1.32653 +24 1.41 1.11123 1.4898 +25 1.47 0.830683 1.62245 +26 1.53 0.707831 1.7449 +27 1.59 0.710042 1.87755 +28 1.65 1.36941 2.15306 +29 1.71 1.13334 2.39796 +30 1.77 1.14597 2.66327 +31 1.83 1.27823 2.97959 +32 1.89 1.31433 3.32653 +33 1.95 1.12576 3.64286 +34 2.01 0.786122 3.87755 +35 2.07 0.934574 4.17347 +36 2.13 1.46097 4.66327 +37 2.19 1.15168 5.07143 +38 2.25 1.14563 5.5 +39 2.31 1.21629 5.97959 +40 2.37 1.10632 6.43878 +41 2.43 0.912046 6.83673 +42 2.49 1.20271 7.38776 +43 2.55 0.934413 7.83673 +44 2.61 1.13521 8.40816 +45 2.67 0.968536 8.91837 +46 2.73 1.07466 9.5102 +47 2.79 0.887016 10.0204 +48 2.85 0.867064 10.5408 +49 2.91 1.07629 11.2143 +50 2.97 0.939313 11.8265 +106200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0 0.0306122 +10 0.57 2.12327 0.0816327 +11 0.63 1.39071 0.122449 +12 0.69 1.73927 0.183673 +13 0.75 1.96301 0.265306 +14 0.81 1.05193 0.316327 +15 0.87 1.64142 0.408163 +16 0.93 2.07498 0.540816 +17 0.99 1.97202 0.683673 +18 1.05 1.62792 0.816327 +19 1.11 0.672336 0.877551 +20 1.17 0.806882 0.959184 +21 1.23 1.36893 1.11224 +22 1.29 0.912687 1.22449 +23 1.35 0.984898 1.35714 +24 1.41 1.18068 1.53061 +25 1.47 1.15018 1.71429 +26 1.53 0.825803 1.85714 +27 1.59 0.764661 2 +28 1.65 0.912943 2.18367 +29 1.71 1.27501 2.45918 +30 1.77 1.01374 2.69388 +31 1.83 0.948361 2.92857 +32 1.89 1.27568 3.26531 +33 1.95 1.08944 3.57143 +34 2.01 1.09374 3.89796 +35 2.07 1.06348 4.23469 +36 2.13 0.85223 4.52041 +37 2.19 0.892551 4.83673 +38 2.25 0.927417 5.18367 +39 2.31 1.06102 5.60204 +40 2.37 1.08173 6.05102 +41 2.43 0.771731 6.38776 +42 2.49 1.22498 6.94898 +43 2.55 0.998123 7.42857 +44 2.61 1.07439 7.96939 +45 2.67 1.00728 8.5 +46 2.73 0.870847 8.97959 +47 2.79 1.13538 9.63265 +48 2.85 1.20709 10.3571 +49 2.91 1.12521 11.0612 +50 2.97 0.939313 11.6735 +106250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 1.59099 0.0612245 +10 0.57 2.97258 0.132653 +11 0.63 1.39071 0.173469 +12 0.69 0.579756 0.193878 +13 0.75 2.20839 0.285714 +14 0.81 1.68309 0.367347 +15 0.87 0.911898 0.418367 +16 0.93 1.59614 0.520408 +17 0.99 1.40859 0.622449 +18 1.05 0.876573 0.693878 +19 1.11 1.23262 0.806122 +20 1.17 0.20172 0.826531 +21 1.23 1.46019 0.989796 +22 1.29 0.995658 1.11224 +23 1.35 1.59099 1.32653 +24 1.41 0.972324 1.46939 +25 1.47 0.702885 1.58163 +26 1.53 0.589859 1.68367 +27 1.59 0.928517 1.85714 +28 1.65 1.26798 2.11224 +29 1.71 0.944452 2.31633 +30 1.77 1.23412 2.60204 +31 1.83 1.23699 2.90816 +32 1.89 1.50762 3.30612 +33 1.95 1.12576 3.62245 +34 2.01 0.922839 3.89796 +35 2.07 0.870121 4.17347 +36 2.13 1.00441 4.5102 +37 2.19 1.4396 5.02041 +38 2.25 1.20019 5.46939 +39 2.31 1.0869 5.89796 +40 2.37 0.909638 6.27551 +41 2.43 0.958818 6.69388 +42 2.49 1.09135 7.19388 +43 2.55 1.25296 7.79592 +44 2.61 1.37846 8.4898 +45 2.67 0.910424 8.96939 +46 2.73 1.25995 9.66327 +47 2.79 0.904757 10.1837 +48 2.85 1.17309 10.8878 +49 2.91 1.05998 11.551 +50 2.97 0.908003 12.1429 +106300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 1.27396 0.0510204 +11 0.63 0.695356 0.0714286 +12 0.69 2.02914 0.142857 +13 0.75 0.981505 0.183673 +14 0.81 2.10387 0.285714 +15 0.87 0.729518 0.326531 +16 0.93 0.957682 0.387755 +17 0.99 1.26773 0.479592 +18 1.05 1.25225 0.581633 +19 1.11 1.45673 0.714286 +20 1.17 1.21032 0.836735 +21 1.23 1.46019 1 +22 1.29 1.24457 1.15306 +23 1.35 1.43947 1.34694 +24 1.41 1.31958 1.54082 +25 1.47 1.15018 1.72449 +26 1.53 1.06175 1.90816 +27 1.59 0.81928 2.06122 +28 1.65 1.01438 2.26531 +29 1.71 0.89723 2.45918 +30 1.77 1.41042 2.78571 +31 1.83 1.23699 3.09184 +32 1.89 0.966422 3.34694 +33 1.95 0.980499 3.62245 +34 2.01 0.751943 3.84694 +35 2.07 1.19239 4.22449 +36 2.13 0.730483 4.46939 +37 2.19 1.12289 4.86735 +38 2.25 1.09108 5.27551 +39 2.31 1.0869 5.70408 +40 2.37 1.27841 6.23469 +41 2.43 0.912046 6.63265 +42 2.49 1.06908 7.12245 +43 2.55 1.2742 7.73469 +44 2.61 1.09466 8.28571 +45 2.67 0.968536 8.79592 +46 2.73 1.05613 9.37755 +47 2.79 0.940237 9.91837 +48 2.85 0.81606 10.4082 +49 2.91 1.02737 11.051 +50 2.97 1.00193 11.7041 +106350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 1.27396 0.0510204 +11 0.63 0.695356 0.0714286 +12 0.69 1.44939 0.122449 +13 0.75 0.981505 0.163265 +14 0.81 0.63116 0.193878 +15 0.87 1.45904 0.27551 +16 0.93 2.23459 0.418367 +17 0.99 1.6903 0.540816 +18 1.05 1.12702 0.632653 +19 1.11 1.34467 0.755102 +20 1.17 0.907742 0.846939 +21 1.23 0.547573 0.908163 +22 1.29 0.829715 1.0102 +23 1.35 0.909136 1.13265 +24 1.41 0.694517 1.23469 +25 1.47 1.15018 1.41837 +26 1.53 1.2387 1.63265 +27 1.59 0.928517 1.80612 +28 1.65 1.01438 2.0102 +29 1.71 1.22779 2.27551 +30 1.77 0.925588 2.4898 +31 1.83 1.07206 2.7551 +32 1.89 1.27568 3.09184 +33 1.95 0.907869 3.34694 +34 2.01 0.854481 3.60204 +35 2.07 1.32129 4.02041 +36 2.13 1.09572 4.38776 +37 2.19 0.921343 4.71429 +38 2.25 1.11836 5.13265 +39 2.31 0.957503 5.5102 +40 2.37 1.1309 5.97959 +41 2.43 1.00559 6.41837 +42 2.49 1.42543 7.07143 +43 2.55 1.14678 7.62245 +44 2.61 1.13521 8.19388 +45 2.67 1.04602 8.7449 +46 2.73 1.07466 9.33673 +47 2.79 1.0112 9.91837 +48 2.85 1.02008 10.5306 +49 2.91 1.19044 11.2755 +50 2.97 1.11152 12 +106400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 2.12327 0.0714286 +11 0.63 0.347678 0.0816327 +12 0.69 1.15951 0.122449 +13 0.75 1.96301 0.204082 +14 0.81 1.68309 0.285714 +15 0.87 1.45904 0.367347 +16 0.93 1.27691 0.44898 +17 0.99 1.6903 0.571429 +18 1.05 0.751348 0.632653 +19 1.11 1.45673 0.765306 +20 1.17 1.31118 0.897959 +21 1.23 0.730097 0.979592 +22 1.29 0.663772 1.06122 +23 1.35 0.681852 1.15306 +24 1.41 1.8752 1.42857 +25 1.47 1.59747 1.68367 +26 1.53 0.884789 1.83673 +27 1.59 0.81928 1.9898 +28 1.65 0.710067 2.13265 +29 1.71 0.991675 2.34694 +30 1.77 1.19004 2.62245 +31 1.83 0.742195 2.80612 +32 1.89 1.12105 3.10204 +33 1.95 1.01681 3.38776 +34 2.01 1.12791 3.72449 +35 2.07 0.999027 4.04082 +36 2.13 1.00441 4.37755 +37 2.19 1.0653 4.7551 +38 2.25 0.90014 5.09184 +39 2.31 0.983381 5.47959 +40 2.37 0.909638 5.85714 +41 2.43 1.02897 6.30612 +42 2.49 1.20271 6.85714 +43 2.55 1.08307 7.37755 +44 2.61 0.891947 7.82653 +45 2.67 1.20099 8.45918 +46 2.73 0.870847 8.93878 +47 2.79 1.02894 9.53061 +48 2.85 1.02008 10.1429 +49 2.91 0.880601 10.6939 +50 2.97 0.861037 11.2551 +106450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0 0.0102041 +10 0.57 2.12327 0.0612245 +11 0.63 1.04303 0.0918367 +12 0.69 1.44939 0.142857 +13 0.75 2.20839 0.234694 +14 0.81 2.10387 0.336735 +15 0.87 1.27666 0.408163 +16 0.93 1.43652 0.5 +17 0.99 1.6903 0.622449 +18 1.05 1.37747 0.734694 +19 1.11 1.12056 0.836735 +20 1.17 1.0086 0.938776 +21 1.23 0.730097 1.02041 +22 1.29 0.746744 1.11224 +23 1.35 1.13642 1.26531 +24 1.41 1.59739 1.5 +25 1.47 0.894581 1.64286 +26 1.53 1.00276 1.81633 +27 1.59 1.09237 2.02041 +28 1.65 1.16654 2.2551 +29 1.71 1.36946 2.55102 +30 1.77 0.837437 2.7449 +31 1.83 0.824661 2.94898 +32 1.89 0.927765 3.19388 +33 1.95 0.653666 3.37755 +34 2.01 1.12791 3.71429 +35 2.07 0.934574 4.0102 +36 2.13 1.12616 4.38776 +37 2.19 0.748591 4.65306 +38 2.25 0.736478 4.92857 +39 2.31 0.931624 5.29592 +40 2.37 1.05715 5.73469 +41 2.43 0.958818 6.15306 +42 2.49 0.913168 6.57143 +43 2.55 1.14678 7.12245 +44 2.61 1.09466 7.67347 +45 2.67 0.716717 8.05102 +46 2.73 1.00055 8.60204 +47 2.79 1.22408 9.30612 +48 2.85 1.03708 9.92857 +49 2.91 0.962138 10.5306 +50 2.97 0.986279 11.1735 +106500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 1.73839 0.0816327 +12 0.69 1.15951 0.122449 +13 0.75 1.71763 0.193878 +14 0.81 0.841547 0.234694 +15 0.87 1.45904 0.316327 +16 0.93 1.27691 0.397959 +17 0.99 0.98601 0.469388 +18 1.05 1.12702 0.561224 +19 1.11 2.12906 0.755102 +20 1.17 1.5129 0.908163 +21 1.23 1.36893 1.06122 +22 1.29 1.07863 1.19388 +23 1.35 0.454568 1.2551 +24 1.41 1.04178 1.40816 +25 1.47 0.766784 1.53061 +26 1.53 1.17972 1.73469 +27 1.59 0.764661 1.87755 +28 1.65 1.11582 2.10204 +29 1.71 1.08612 2.33673 +30 1.77 1.14597 2.60204 +31 1.83 1.23699 2.90816 +32 1.89 0.811794 3.12245 +33 1.95 0.944184 3.38776 +34 2.01 1.16209 3.73469 +35 2.07 1.03125 4.06122 +36 2.13 1.03485 4.40816 +37 2.19 0.834967 4.70408 +38 2.25 1.25474 5.17347 +39 2.31 0.931624 5.54082 +40 2.37 1.22924 6.05102 +41 2.43 0.818503 6.40816 +42 2.49 0.957713 6.84694 +43 2.55 0.934413 7.29592 +44 2.61 0.810861 7.70408 +45 2.67 0.968536 8.21429 +46 2.73 1.00055 8.76531 +47 2.79 0.798315 9.22449 +48 2.85 1.00307 9.82653 +49 2.91 0.962138 10.4286 +50 2.97 1.01759 11.0918 +106550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 6.05692 0.0102041 +4 0.21 0 0.0102041 +5 0.27 1.88658 0.0204082 +6 0.33 0 0.0204082 +7 0.39 0 0.0204082 +8 0.45 1.36191 0.0408163 +9 0.51 0.530329 0.0510204 +10 0.57 0.84931 0.0714286 +11 0.63 0.695356 0.0918367 +12 0.69 0.289878 0.102041 +13 0.75 1.22688 0.153061 +14 0.81 0.841547 0.193878 +15 0.87 2.00617 0.306122 +16 0.93 0.957682 0.367347 +17 0.99 1.97202 0.510204 +18 1.05 1.5027 0.632653 +19 1.11 1.23262 0.744898 +20 1.17 1.0086 0.846939 +21 1.23 1.09515 0.969388 +22 1.29 1.49349 1.15306 +23 1.35 1.28794 1.32653 +24 1.41 0.902872 1.45918 +25 1.47 1.15018 1.64286 +26 1.53 1.06175 1.82653 +27 1.59 0.928517 2 +28 1.65 0.912943 2.18367 +29 1.71 0.755562 2.34694 +30 1.77 1.19004 2.62245 +31 1.83 1.23699 2.92857 +32 1.89 0.773137 3.13265 +33 1.95 1.16207 3.45918 +34 2.01 1.12791 3.79592 +35 2.07 1.03125 4.12245 +36 2.13 1.00441 4.45918 +37 2.19 1.26685 4.90816 +38 2.25 0.791032 5.20408 +39 2.31 0.983381 5.59184 +40 2.37 1.10632 6.05102 +41 2.43 0.982203 6.47959 +42 2.49 0.979986 6.92857 +43 2.55 0.849467 7.33673 +44 2.61 0.993305 7.83673 +45 2.67 1.04602 8.38776 +46 2.73 0.907904 8.88776 +47 2.79 0.940237 9.42857 +48 2.85 1.00307 10.0306 +49 2.91 0.815371 10.5408 +50 2.97 1.12718 11.2755 +106600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0 0.0102041 +10 0.57 1.27396 0.0408163 +11 0.63 2.08607 0.102041 +12 0.69 0.579756 0.122449 +13 0.75 0.736129 0.153061 +14 0.81 2.10387 0.255102 +15 0.87 2.37093 0.387755 +16 0.93 1.1173 0.459184 +17 0.99 1.12687 0.540816 +18 1.05 1.0018 0.622449 +19 1.11 1.23262 0.734694 +20 1.17 1.0086 0.836735 +21 1.23 0.912621 0.938776 +22 1.29 0.912687 1.05102 +23 1.35 1.74251 1.28571 +24 1.41 0.763969 1.39796 +25 1.47 1.08628 1.57143 +26 1.53 1.12073 1.76531 +27 1.59 1.14699 1.97959 +28 1.65 0.710067 2.12245 +29 1.71 1.22779 2.38776 +30 1.77 0.969664 2.61224 +31 1.83 0.865894 2.82653 +32 1.89 1.35299 3.18367 +33 1.95 1.08944 3.4898 +34 2.01 1.23045 3.85714 +35 2.07 0.870121 4.13265 +36 2.13 1.24791 4.55102 +37 2.19 1.03651 4.91837 +38 2.25 1.11836 5.33673 +39 2.31 1.0869 5.76531 +40 2.37 1.05715 6.20408 +41 2.43 1.00559 6.64286 +42 2.49 0.957713 7.08163 +43 2.55 1.08307 7.60204 +44 2.61 0.770318 7.9898 +45 2.67 1.04602 8.54082 +46 2.73 1.09319 9.14286 +47 2.79 0.957978 9.69388 +48 2.85 1.08808 10.3469 +49 2.91 0.782756 10.8367 +50 2.97 1.11152 11.5612 +106650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 2.72382 0.0612245 +9 0.51 0.530329 0.0714286 +10 0.57 1.27396 0.102041 +11 0.63 0.695356 0.122449 +12 0.69 1.73927 0.183673 +13 0.75 1.47226 0.244898 +14 0.81 1.89348 0.336735 +15 0.87 1.64142 0.428571 +16 0.93 2.07498 0.561224 +17 0.99 1.6903 0.683673 +18 1.05 0.876573 0.755102 +19 1.11 1.12056 0.857143 +20 1.17 1.0086 0.959184 +21 1.23 1.27767 1.10204 +22 1.29 0.829715 1.20408 +23 1.35 1.21218 1.36735 +24 1.41 0.902872 1.5 +25 1.47 0.894581 1.64286 +26 1.53 1.29769 1.86735 +27 1.59 1.20161 2.09184 +28 1.65 1.21726 2.33673 +29 1.71 1.22779 2.60204 +30 1.77 0.70521 2.76531 +31 1.83 0.824661 2.96939 +32 1.89 1.15971 3.27551 +33 1.95 1.01681 3.56122 +34 2.01 0.786122 3.79592 +35 2.07 0.77344 4.04082 +36 2.13 0.94354 4.35714 +37 2.19 0.921343 4.68367 +38 2.25 1.20019 5.13265 +39 2.31 1.03514 5.54082 +40 2.37 0.934223 5.92857 +41 2.43 0.958818 6.34694 +42 2.49 0.913168 6.76531 +43 2.55 1.21049 7.34694 +44 2.61 1.15548 7.92857 +45 2.67 0.910424 8.40816 +46 2.73 0.926433 8.91837 +47 2.79 0.904757 9.43878 +48 2.85 0.935069 10 +49 2.91 0.994753 10.6224 +50 2.97 0.986279 11.2653 +106700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.84931 0.0204082 +11 0.63 2.78143 0.102041 +12 0.69 0.869633 0.132653 +13 0.75 1.96301 0.214286 +14 0.81 2.73503 0.346939 +15 0.87 0.911898 0.397959 +16 0.93 2.23459 0.540816 +17 0.99 1.40859 0.642857 +18 1.05 1.12702 0.734694 +19 1.11 0.784392 0.806122 +20 1.17 1.21032 0.928571 +21 1.23 0.638835 1 +22 1.29 0.663772 1.08163 +23 1.35 1.43947 1.27551 +24 1.41 1.04178 1.42857 +25 1.47 1.15018 1.61224 +26 1.53 1.35668 1.84694 +27 1.59 1.31085 2.09184 +28 1.65 1.31869 2.35714 +29 1.71 1.27501 2.63265 +30 1.77 1.27819 2.92857 +31 1.83 0.783428 3.12245 +32 1.89 0.657167 3.29592 +33 1.95 0.980499 3.57143 +34 2.01 1.05956 3.88776 +35 2.07 1.06348 4.22449 +36 2.13 0.973977 4.55102 +37 2.19 0.921343 4.87755 +38 2.25 0.818309 5.18367 +39 2.31 0.905746 5.54082 +40 2.37 0.983392 5.94898 +41 2.43 0.841889 6.31633 +42 2.49 1.15816 6.84694 +43 2.55 0.82823 7.2449 +44 2.61 0.993305 7.7449 +45 2.67 0.871683 8.20408 +46 2.73 1.07466 8.79592 +47 2.79 0.940237 9.33673 +48 2.85 0.918068 9.88776 +49 2.91 1.02737 10.5306 +50 2.97 0.970623 11.1633 +106750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.12132 0.0408163 +10 0.57 1.69862 0.0816327 +11 0.63 0.695356 0.102041 +12 0.69 1.15951 0.142857 +13 0.75 0.981505 0.183673 +14 0.81 1.05193 0.234694 +15 0.87 2.00617 0.346939 +16 0.93 1.27691 0.428571 +17 0.99 0.422576 0.459184 +18 1.05 0.876573 0.530612 +19 1.11 0.56028 0.581633 +20 1.17 0.806882 0.663265 +21 1.23 0.638835 0.734694 +22 1.29 0.829715 0.836735 +23 1.35 1.21218 1 +24 1.41 0.625065 1.09184 +25 1.47 1.40577 1.31633 +26 1.53 0.943774 1.47959 +27 1.59 0.928517 1.65306 +28 1.65 1.21726 1.89796 +29 1.71 1.4639 2.21429 +30 1.77 1.05782 2.45918 +31 1.83 1.07206 2.72449 +32 1.89 1.31433 3.07143 +33 1.95 0.980499 3.34694 +34 2.01 1.26463 3.72449 +35 2.07 1.22461 4.11224 +36 2.13 1.00441 4.44898 +37 2.19 1.0653 4.82653 +38 2.25 1.22746 5.28571 +39 2.31 1.16453 5.7449 +40 2.37 1.00798 6.16327 +41 2.43 0.841889 6.53061 +42 2.49 0.734989 6.86735 +43 2.55 1.14678 7.41837 +44 2.61 0.952762 7.89796 +45 2.67 0.968536 8.40816 +46 2.73 0.982019 8.94898 +47 2.79 1.08216 9.57143 +48 2.85 0.969072 10.1531 +49 2.91 0.929523 10.7347 +50 2.97 0.892347 11.3163 +106800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0 0.0102041 +10 0.57 0.424655 0.0204082 +11 0.63 1.39071 0.0612245 +12 0.69 0.869633 0.0918367 +13 0.75 0.981505 0.132653 +14 0.81 1.47271 0.204082 +15 0.87 0.911898 0.255102 +16 0.93 1.27691 0.336735 +17 0.99 1.26773 0.428571 +18 1.05 0.751348 0.489796 +19 1.11 1.23262 0.602041 +20 1.17 1.0086 0.704082 +21 1.23 1.00388 0.816327 +22 1.29 1.07863 0.94898 +23 1.35 1.13642 1.10204 +24 1.41 0.902872 1.23469 +25 1.47 1.46967 1.46939 +26 1.53 1.17972 1.67347 +27 1.59 0.873898 1.83673 +28 1.65 1.16654 2.07143 +29 1.71 0.944452 2.27551 +30 1.77 1.4545 2.61224 +31 1.83 1.27823 2.92857 +32 1.89 0.773137 3.13265 +33 1.95 0.944184 3.39796 +34 2.01 0.991198 3.69388 +35 2.07 1.32129 4.11224 +36 2.13 0.76092 4.36735 +37 2.19 1.20926 4.79592 +38 2.25 1.11836 5.21429 +39 2.31 0.931624 5.58163 +40 2.37 1.18007 6.07143 +41 2.43 0.912046 6.46939 +42 2.49 0.913168 6.88776 +43 2.55 1.06183 7.39796 +44 2.61 1.07439 7.93878 +45 2.67 0.871683 8.39796 +46 2.73 0.667032 8.76531 +47 2.79 0.922497 9.29592 +48 2.85 1.27509 10.0612 +49 2.91 0.831679 10.5816 +50 2.97 0.861037 11.1429 +106850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0.530329 0.0102041 +10 0.57 1.27396 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0.579756 0.0612245 +13 0.75 1.47226 0.122449 +14 0.81 0.63116 0.153061 +15 0.87 1.09428 0.214286 +16 0.93 1.75575 0.326531 +17 0.99 2.11288 0.479592 +18 1.05 1.0018 0.561224 +19 1.11 2.35318 0.77551 +20 1.17 1.0086 0.877551 +21 1.23 1.18641 1.0102 +22 1.29 1.07863 1.14286 +23 1.35 1.21218 1.30612 +24 1.41 0.972324 1.44898 +25 1.47 1.27797 1.65306 +26 1.53 0.825803 1.79592 +27 1.59 1.09237 2 +28 1.65 1.01438 2.20408 +29 1.71 1.22779 2.46939 +30 1.77 0.617059 2.61224 +31 1.83 0.824661 2.81633 +32 1.89 0.889108 3.05102 +33 1.95 0.544721 3.20408 +34 2.01 1.16209 3.55102 +35 2.07 1.4502 4.0102 +36 2.13 0.973977 4.33673 +37 2.19 1.20926 4.76531 +38 2.25 1.11836 5.18367 +39 2.31 0.67284 5.44898 +40 2.37 1.10632 5.90816 +41 2.43 1.1459 6.40816 +42 2.49 0.935441 6.83673 +43 2.55 0.870703 7.2551 +44 2.61 0.871676 7.69388 +45 2.67 0.949166 8.19388 +46 2.73 1.00055 8.7449 +47 2.79 1.11764 9.38776 +48 2.85 0.95207 9.95918 +49 2.91 1.25567 10.7449 +50 2.97 0.829726 11.2857 +106900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 1.39071 0.0918367 +12 0.69 1.73927 0.153061 +13 0.75 1.47226 0.214286 +14 0.81 0.841547 0.255102 +15 0.87 2.18855 0.377551 +16 0.93 2.07498 0.510204 +17 0.99 0.704293 0.561224 +18 1.05 0.626123 0.612245 +19 1.11 1.34467 0.734694 +20 1.17 1.10946 0.846939 +21 1.23 0.730097 0.928571 +22 1.29 1.32754 1.09184 +23 1.35 1.06066 1.23469 +24 1.41 0.902872 1.36735 +25 1.47 1.08628 1.54082 +26 1.53 1.06175 1.72449 +27 1.59 1.42008 1.9898 +28 1.65 1.0651 2.20408 +29 1.71 1.08612 2.43878 +30 1.77 1.05782 2.68367 +31 1.83 1.11329 2.95918 +32 1.89 1.19836 3.27551 +33 1.95 0.980499 3.55102 +34 2.01 0.991198 3.84694 +35 2.07 0.999027 4.16327 +36 2.13 0.94354 4.47959 +37 2.19 0.950135 4.81633 +38 2.25 0.954694 5.17347 +39 2.31 1.19041 5.64286 +40 2.37 0.983392 6.05102 +41 2.43 1.07575 6.52041 +42 2.49 1.15816 7.05102 +43 2.55 0.913177 7.4898 +44 2.61 0.973034 7.97959 +45 2.67 0.891053 8.44898 +46 2.73 1.07466 9.04082 +47 2.79 0.833795 9.52041 +48 2.85 0.799059 10 +49 2.91 0.896908 10.5612 +50 2.97 0.829726 11.102 +106950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 3.11031 0.0102041 +5 0.27 0 0.0102041 +6 0.33 0 0.0102041 +7 0.39 1.81231 0.0306122 +8 0.45 1.36191 0.0510204 +9 0.51 2.12132 0.0918367 +10 0.57 0.84931 0.112245 +11 0.63 0.347678 0.122449 +12 0.69 1.15951 0.163265 +13 0.75 0.736129 0.193878 +14 0.81 1.47271 0.265306 +15 0.87 1.45904 0.346939 +16 0.93 1.43652 0.438776 +17 0.99 0.98601 0.510204 +18 1.05 1.87837 0.663265 +19 1.11 1.56878 0.806122 +20 1.17 1.41204 0.94898 +21 1.23 1.55146 1.12245 +22 1.29 0.912687 1.23469 +23 1.35 1.21218 1.39796 +24 1.41 0.972324 1.54082 +25 1.47 0.830683 1.67347 +26 1.53 1.12073 1.86735 +27 1.59 0.764661 2.0102 +28 1.65 1.21726 2.2551 +29 1.71 0.661116 2.39796 +30 1.77 1.27819 2.69388 +31 1.83 1.03083 2.94898 +32 1.89 0.73448 3.14286 +33 1.95 1.01681 3.42857 +34 2.01 1.02538 3.73469 +35 2.07 1.09571 4.08163 +36 2.13 1.03485 4.42857 +37 2.19 0.978927 4.77551 +38 2.25 0.872863 5.10204 +39 2.31 0.67284 5.36735 +40 2.37 1.25383 5.88776 +41 2.43 0.818503 6.2449 +42 2.49 0.868624 6.64286 +43 2.55 1.10431 7.17347 +44 2.61 1.35819 7.85714 +45 2.67 0.987907 8.37755 +46 2.73 0.870847 8.85714 +47 2.79 1.0112 9.43878 +48 2.85 0.95207 10.0102 +49 2.91 1.17413 10.7449 +50 2.97 0.939313 11.3571 +107000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 1.59099 0.0612245 +10 0.57 1.27396 0.0918367 +11 0.63 1.39071 0.132653 +12 0.69 1.44939 0.183673 +13 0.75 1.96301 0.265306 +14 0.81 1.68309 0.346939 +15 0.87 0.729518 0.387755 +16 0.93 1.1173 0.459184 +17 0.99 1.26773 0.55102 +18 1.05 2.12882 0.72449 +19 1.11 1.23262 0.836735 +20 1.17 0.806882 0.918367 +21 1.23 1.55146 1.09184 +22 1.29 1.41052 1.26531 +23 1.35 1.06066 1.40816 +24 1.41 0.763969 1.52041 +25 1.47 0.894581 1.66327 +26 1.53 1.41566 1.90816 +27 1.59 1.14699 2.12245 +28 1.65 1.26798 2.37755 +29 1.71 0.802784 2.55102 +30 1.77 1.36634 2.86735 +31 1.83 1.48439 3.23469 +32 1.89 1.27568 3.57143 +33 1.95 1.01681 3.85714 +34 2.01 1.05956 4.17347 +35 2.07 0.966801 4.47959 +36 2.13 0.76092 4.73469 +37 2.19 0.719799 4.9898 +38 2.25 0.709201 5.2551 +39 2.31 0.931624 5.62245 +40 2.37 0.958808 6.02041 +41 2.43 1.02897 6.46939 +42 2.49 0.868624 6.86735 +43 2.55 0.849467 7.27551 +44 2.61 0.912219 7.73469 +45 2.67 0.871683 8.19388 +46 2.73 1.05613 8.77551 +47 2.79 0.780574 9.22449 +48 2.85 0.850063 9.73469 +49 2.91 0.929523 10.3163 +50 2.97 1.17414 11.0816 +107050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 3.18198 0.0612245 +10 0.57 2.12327 0.112245 +11 0.63 1.73839 0.163265 +12 0.69 0.579756 0.183673 +13 0.75 2.20839 0.27551 +14 0.81 1.89348 0.367347 +15 0.87 2.00617 0.479592 +16 0.93 1.43652 0.571429 +17 0.99 1.40859 0.673469 +18 1.05 1.25225 0.77551 +19 1.11 1.12056 0.877551 +20 1.17 0.907742 0.969388 +21 1.23 1.73398 1.16327 +22 1.29 0.912687 1.27551 +23 1.35 0.757614 1.37755 +24 1.41 0.763969 1.4898 +25 1.47 0.638987 1.59184 +26 1.53 0.471887 1.67347 +27 1.59 1.4747 1.94898 +28 1.65 1.26798 2.20408 +29 1.71 1.08612 2.43878 +30 1.77 0.881513 2.64286 +31 1.83 0.948361 2.87755 +32 1.89 1.08239 3.16327 +33 1.95 0.907869 3.41837 +34 2.01 1.29881 3.80612 +35 2.07 0.934574 4.10204 +36 2.13 1.24791 4.52041 +37 2.19 1.0653 4.89796 +38 2.25 1.11836 5.31633 +39 2.31 0.828111 5.64286 +40 2.37 1.15549 6.12245 +41 2.43 0.841889 6.4898 +42 2.49 0.757262 6.83673 +43 2.55 0.785757 7.21429 +44 2.61 0.750047 7.59184 +45 2.67 1.31721 8.28571 +46 2.73 1.0376 8.85714 +47 2.79 1.04668 9.45918 +48 2.85 1.05408 10.0918 +49 2.91 0.864293 10.6327 +50 2.97 1.12718 11.3673 +107100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 0.347678 0.0408163 +12 0.69 0.579756 0.0612245 +13 0.75 0.981505 0.102041 +14 0.81 0.841547 0.142857 +15 0.87 1.64142 0.234694 +16 0.93 1.27691 0.316327 +17 0.99 1.26773 0.408163 +18 1.05 0.751348 0.469388 +19 1.11 1.68084 0.622449 +20 1.17 0.706021 0.693878 +21 1.23 1.36893 0.846939 +22 1.29 1.41052 1.02041 +23 1.35 1.3637 1.20408 +24 1.41 0.902872 1.33673 +25 1.47 1.40577 1.56122 +26 1.53 1.71059 1.85714 +27 1.59 1.20161 2.08163 +28 1.65 0.760786 2.23469 +29 1.71 0.802784 2.40816 +30 1.77 1.27819 2.70408 +31 1.83 1.11329 2.97959 +32 1.89 1.39165 3.34694 +33 1.95 0.76261 3.56122 +34 2.01 1.23045 3.92857 +35 2.07 0.870121 4.20408 +36 2.13 1.09572 4.57143 +37 2.19 0.806175 4.85714 +38 2.25 1.22746 5.31633 +39 2.31 1.03514 5.72449 +40 2.37 0.983392 6.13265 +41 2.43 0.841889 6.5 +42 2.49 1.18044 7.04082 +43 2.55 1.12554 7.58163 +44 2.61 1.09466 8.13265 +45 2.67 0.697346 8.5 +46 2.73 0.982019 9.04082 +47 2.79 1.17086 9.71429 +48 2.85 0.731054 10.1531 +49 2.91 1.01106 10.7857 +50 2.97 0.923658 11.3878 +107150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 2.04287 0.0510204 +9 0.51 0 0.0510204 +10 0.57 1.69862 0.0918367 +11 0.63 1.04303 0.122449 +12 0.69 0.869633 0.153061 +13 0.75 1.96301 0.234694 +14 0.81 0.210387 0.244898 +15 0.87 1.27666 0.316327 +16 0.93 3.03266 0.510204 +17 0.99 1.12687 0.591837 +18 1.05 0.751348 0.653061 +19 1.11 1.45673 0.785714 +20 1.17 0.907742 0.877551 +21 1.23 0.912621 0.979592 +22 1.29 1.1616 1.12245 +23 1.35 0.984898 1.2551 +24 1.41 0.972324 1.39796 +25 1.47 0.830683 1.53061 +26 1.53 1.06175 1.71429 +27 1.59 1.25623 1.94898 +28 1.65 1.11582 2.17347 +29 1.71 0.802784 2.34694 +30 1.77 1.32227 2.65306 +31 1.83 1.11329 2.92857 +32 1.89 1.00508 3.19388 +33 1.95 0.871554 3.43878 +34 2.01 1.19627 3.79592 +35 2.07 1.12793 4.15306 +36 2.13 0.76092 4.40816 +37 2.19 1.15168 4.81633 +38 2.25 1.09108 5.22449 +39 2.31 0.879867 5.57143 +40 2.37 0.860468 5.92857 +41 2.43 1.07575 6.39796 +42 2.49 1.0468 6.87755 +43 2.55 0.998123 7.35714 +44 2.61 1.07439 7.89796 +45 2.67 1.06539 8.45918 +46 2.73 1.01908 9.02041 +47 2.79 0.833795 9.5 +48 2.85 0.81606 9.9898 +49 2.91 1.1089 10.6837 +50 2.97 0.845382 11.2347 +107200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 2.04287 0.0408163 +9 0.51 1.06066 0.0612245 +10 0.57 1.27396 0.0918367 +11 0.63 0 0.0918367 +12 0.69 1.15951 0.132653 +13 0.75 1.22688 0.183673 +14 0.81 1.47271 0.255102 +15 0.87 0.364759 0.27551 +16 0.93 2.23459 0.418367 +17 0.99 1.83116 0.55102 +18 1.05 1.37747 0.663265 +19 1.11 1.34467 0.785714 +20 1.17 1.21032 0.908163 +21 1.23 0.821359 1 +22 1.29 0.829715 1.10204 +23 1.35 0.833375 1.21429 +24 1.41 1.45849 1.42857 +25 1.47 1.34187 1.64286 +26 1.53 0.766817 1.77551 +27 1.59 0.983136 1.95918 +28 1.65 1.31869 2.22449 +29 1.71 1.18057 2.47959 +30 1.77 0.925588 2.69388 +31 1.83 1.36069 3.03061 +32 1.89 0.695824 3.21429 +33 1.95 0.83524 3.44898 +34 2.01 1.09374 3.77551 +35 2.07 1.06348 4.11224 +36 2.13 1.06529 4.46939 +37 2.19 1.12289 4.86735 +38 2.25 0.954694 5.22449 +39 2.31 1.11277 5.66327 +40 2.37 0.909638 6.04082 +41 2.43 1.00559 6.47959 +42 2.49 0.979986 6.92857 +43 2.55 1.06183 7.43878 +44 2.61 0.831133 7.85714 +45 2.67 1.06539 8.41837 +46 2.73 1.00055 8.96939 +47 2.79 1.02894 9.56122 +48 2.85 0.901066 10.102 +49 2.91 1.27198 10.898 +50 2.97 1.1898 11.6735 +107250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0 0.0102041 +10 0.57 0.84931 0.0306122 +11 0.63 2.78143 0.112245 +12 0.69 0.579756 0.132653 +13 0.75 1.22688 0.183673 +14 0.81 1.05193 0.234694 +15 0.87 1.27666 0.306122 +16 0.93 1.1173 0.377551 +17 0.99 1.6903 0.5 +18 1.05 2.12882 0.673469 +19 1.11 0.672336 0.734694 +20 1.17 1.0086 0.836735 +21 1.23 1.64272 1.02041 +22 1.29 1.1616 1.16327 +23 1.35 0.303045 1.20408 +24 1.41 0.902872 1.33673 +25 1.47 1.91696 1.64286 +26 1.53 0.825803 1.78571 +27 1.59 1.20161 2.0102 +28 1.65 1.01438 2.21429 +29 1.71 0.89723 2.40816 +30 1.77 1.23412 2.69388 +31 1.83 1.44316 3.05102 +32 1.89 1.08239 3.33673 +33 1.95 0.76261 3.55102 +34 2.01 1.43553 3.97959 +35 2.07 1.28907 4.38776 +36 2.13 0.821793 4.66327 +37 2.19 1.32443 5.13265 +38 2.25 1.33657 5.63265 +39 2.31 1.03514 6.04082 +40 2.37 0.934223 6.42857 +41 2.43 0.912046 6.82653 +42 2.49 0.935441 7.2551 +43 2.55 0.89194 7.68367 +44 2.61 0.993305 8.18367 +45 2.67 0.949166 8.68367 +46 2.73 0.870847 9.16327 +47 2.79 0.957978 9.71429 +48 2.85 1.10508 10.3776 +49 2.91 0.750142 10.8469 +50 2.97 0.923658 11.449 +107300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.06066 0.0204082 +10 0.57 0.424655 0.0306122 +11 0.63 1.39071 0.0714286 +12 0.69 0.869633 0.102041 +13 0.75 1.22688 0.153061 +14 0.81 1.89348 0.244898 +15 0.87 1.27666 0.316327 +16 0.93 1.75575 0.428571 +17 0.99 1.26773 0.520408 +18 1.05 0.751348 0.581633 +19 1.11 1.68084 0.734694 +20 1.17 1.21032 0.857143 +21 1.23 1.27767 1 +22 1.29 1.07863 1.13265 +23 1.35 0.833375 1.2449 +24 1.41 1.25013 1.42857 +25 1.47 1.53357 1.67347 +26 1.53 1.35668 1.90816 +27 1.59 1.20161 2.13265 +28 1.65 1.36941 2.40816 +29 1.71 0.755562 2.57143 +30 1.77 0.925588 2.78571 +31 1.83 1.19576 3.08163 +32 1.89 0.966422 3.33673 +33 1.95 1.08944 3.64286 +34 2.01 0.957019 3.92857 +35 2.07 1.09571 4.27551 +36 2.13 0.94354 4.59184 +37 2.19 1.23805 5.03061 +38 2.25 1.03652 5.41837 +39 2.31 1.0869 5.84694 +40 2.37 0.958808 6.2449 +41 2.43 1.05236 6.70408 +42 2.49 0.868624 7.10204 +43 2.55 1.0406 7.60204 +44 2.61 1.15548 8.18367 +45 2.67 0.910424 8.66327 +46 2.73 1.01908 9.22449 +47 2.79 0.833795 9.70408 +48 2.85 1.05408 10.3367 +49 2.91 0.766449 10.8163 +50 2.97 0.814071 11.3469 +107350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 2.04287 0.0510204 +9 0.51 0.530329 0.0612245 +10 0.57 0.84931 0.0816327 +11 0.63 2.43375 0.153061 +12 0.69 1.44939 0.204082 +13 0.75 0.736129 0.234694 +14 0.81 2.10387 0.336735 +15 0.87 1.09428 0.397959 +16 0.93 1.43652 0.489796 +17 0.99 1.83116 0.622449 +18 1.05 1.12702 0.714286 +19 1.11 1.0085 0.806122 +20 1.17 1.41204 0.94898 +21 1.23 1.00388 1.06122 +22 1.29 1.57646 1.2551 +23 1.35 1.13642 1.40816 +24 1.41 1.11123 1.57143 +25 1.47 0.638987 1.67347 +26 1.53 1.35668 1.90816 +27 1.59 1.31085 2.15306 +28 1.65 0.912943 2.33673 +29 1.71 1.13334 2.58163 +30 1.77 1.76303 2.9898 +31 1.83 1.03083 3.2449 +32 1.89 0.657167 3.41837 +33 1.95 1.19839 3.7551 +34 2.01 0.854481 4.0102 +35 2.07 0.999027 4.32653 +36 2.13 0.85223 4.61224 +37 2.19 0.575839 4.81633 +38 2.25 1.11836 5.23469 +39 2.31 0.983381 5.62245 +40 2.37 1.10632 6.08163 +41 2.43 1.02897 6.53061 +42 2.49 1.2918 7.12245 +43 2.55 0.976887 7.59184 +44 2.61 1.17575 8.18367 +45 2.67 0.832941 8.62245 +46 2.73 0.83379 9.08163 +47 2.79 1.11764 9.72449 +48 2.85 0.95207 10.2959 +49 2.91 1.05998 10.9592 +50 2.97 0.876692 11.5306 +107400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0 0.0102041 +10 0.57 1.27396 0.0408163 +11 0.63 1.04303 0.0714286 +12 0.69 2.89878 0.173469 +13 0.75 1.96301 0.255102 +14 0.81 1.89348 0.346939 +15 0.87 0.364759 0.367347 +16 0.93 1.59614 0.469388 +17 0.99 1.40859 0.571429 +18 1.05 1.25225 0.673469 +19 1.11 1.56878 0.816327 +20 1.17 0.706021 0.887755 +21 1.23 1.18641 1.02041 +22 1.29 1.41052 1.19388 +23 1.35 1.21218 1.35714 +24 1.41 1.11123 1.52041 +25 1.47 0.830683 1.65306 +26 1.53 1.2387 1.86735 +27 1.59 0.873898 2.03061 +28 1.65 1.47085 2.32653 +29 1.71 0.944452 2.53061 +30 1.77 0.837437 2.72449 +31 1.83 0.989594 2.96939 +32 1.89 1.08239 3.2551 +33 1.95 0.871554 3.5 +34 2.01 0.957019 3.78571 +35 2.07 0.934574 4.08163 +36 2.13 1.24791 4.5 +37 2.19 0.950135 4.83673 +38 2.25 1.09108 5.2449 +39 2.31 0.698718 5.52041 +40 2.37 0.885053 5.88776 +41 2.43 0.818503 6.2449 +42 2.49 1.15816 6.77551 +43 2.55 0.998123 7.2551 +44 2.61 1.03385 7.77551 +45 2.67 1.04602 8.32653 +46 2.73 0.907904 8.82653 +47 2.79 1.24182 9.54082 +48 2.85 1.12208 10.2143 +49 2.91 1.01106 10.8469 +50 2.97 0.767106 11.3469 +107450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0.530329 0.0102041 +10 0.57 1.27396 0.0408163 +11 0.63 1.04303 0.0714286 +12 0.69 1.73927 0.132653 +13 0.75 1.71763 0.204082 +14 0.81 1.05193 0.255102 +15 0.87 0.911898 0.306122 +16 0.93 1.59614 0.408163 +17 0.99 1.83116 0.540816 +18 1.05 1.25225 0.642857 +19 1.11 1.12056 0.744898 +20 1.17 1.31118 0.877551 +21 1.23 1.18641 1.0102 +22 1.29 0.912687 1.12245 +23 1.35 1.28794 1.29592 +24 1.41 1.59739 1.53061 +25 1.47 0.95848 1.68367 +26 1.53 0.825803 1.82653 +27 1.59 0.983136 2.0102 +28 1.65 1.01438 2.21429 +29 1.71 0.991675 2.42857 +30 1.77 0.70521 2.59184 +31 1.83 0.989594 2.83673 +32 1.89 0.966422 3.09184 +33 1.95 0.798925 3.31633 +34 2.01 1.05956 3.63265 +35 2.07 0.902347 3.91837 +36 2.13 0.85223 4.20408 +37 2.19 1.18047 4.62245 +38 2.25 0.954694 4.97959 +39 2.31 0.776354 5.28571 +40 2.37 1.1309 5.7551 +41 2.43 0.958818 6.17347 +42 2.49 1.24725 6.7449 +43 2.55 1.25296 7.34694 +44 2.61 1.07439 7.88776 +45 2.67 0.968536 8.39796 +46 2.73 0.982019 8.93878 +47 2.79 1.04668 9.54082 +48 2.85 1.07108 10.1837 +49 2.91 0.896908 10.7449 +50 2.97 0.954968 11.3673 +107500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 1.04303 0.0816327 +12 0.69 0.869633 0.112245 +13 0.75 1.71763 0.183673 +14 0.81 1.68309 0.265306 +15 0.87 1.8238 0.367347 +16 0.93 1.43652 0.459184 +17 0.99 2.11288 0.612245 +18 1.05 0.751348 0.673469 +19 1.11 0.896448 0.755102 +20 1.17 0.806882 0.836735 +21 1.23 1.00388 0.94898 +22 1.29 0.746744 1.04082 +23 1.35 1.13642 1.19388 +24 1.41 0.833421 1.31633 +25 1.47 1.08628 1.4898 +26 1.53 0.825803 1.63265 +27 1.59 0.983136 1.81633 +28 1.65 1.47085 2.11224 +29 1.71 1.13334 2.35714 +30 1.77 1.05782 2.60204 +31 1.83 1.15453 2.88776 +32 1.89 0.811794 3.10204 +33 1.95 1.27102 3.45918 +34 2.01 1.12791 3.79592 +35 2.07 1.48243 4.26531 +36 2.13 1.09572 4.63265 +37 2.19 0.806175 4.91837 +38 2.25 1.20019 5.36735 +39 2.31 0.828111 5.69388 +40 2.37 0.958808 6.09184 +41 2.43 0.795117 6.43878 +42 2.49 1.00226 6.89796 +43 2.55 1.23173 7.4898 +44 2.61 1.01358 8 +45 2.67 1.06539 8.56122 +46 2.73 0.926433 9.07143 +47 2.79 1.15312 9.73469 +48 2.85 0.969072 10.3163 +49 2.91 1.1089 11.0102 +50 2.97 1.09587 11.7245 +107550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 2.12132 0.0714286 +10 0.57 0.84931 0.0918367 +11 0.63 1.04303 0.122449 +12 0.69 1.15951 0.163265 +13 0.75 0.981505 0.204082 +14 0.81 1.05193 0.255102 +15 0.87 2.00617 0.367347 +16 0.93 1.43652 0.459184 +17 0.99 0.704293 0.510204 +18 1.05 1.37747 0.622449 +19 1.11 1.12056 0.72449 +20 1.17 1.5129 0.877551 +21 1.23 1.00388 0.989796 +22 1.29 0.829715 1.09184 +23 1.35 0.984898 1.22449 +24 1.41 1.25013 1.40816 +25 1.47 0.95848 1.56122 +26 1.53 1.47465 1.81633 +27 1.59 1.20161 2.04082 +28 1.65 1.11582 2.26531 +29 1.71 0.944452 2.46939 +30 1.77 1.10189 2.72449 +31 1.83 1.07206 2.9898 +32 1.89 1.39165 3.35714 +33 1.95 0.944184 3.62245 +34 2.01 1.29881 4.0102 +35 2.07 0.805667 4.26531 +36 2.13 0.94354 4.58163 +37 2.19 0.892551 4.89796 +38 2.25 0.845586 5.21429 +39 2.31 1.13865 5.66327 +40 2.37 1.05715 6.10204 +41 2.43 1.02897 6.55102 +42 2.49 0.935441 6.97959 +43 2.55 0.95565 7.43878 +44 2.61 0.851404 7.86735 +45 2.67 1.06539 8.42857 +46 2.73 1.01908 8.9898 +47 2.79 1.20634 9.68367 +48 2.85 1.03708 10.3061 +49 2.91 1.02737 10.949 +50 2.97 1.23676 11.7551 +107600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0 0.0102041 +10 0.57 2.12327 0.0612245 +11 0.63 0.695356 0.0816327 +12 0.69 2.02914 0.153061 +13 0.75 0.736129 0.183673 +14 0.81 1.26232 0.244898 +15 0.87 0.911898 0.295918 +16 0.93 0.957682 0.357143 +17 0.99 1.40859 0.459184 +18 1.05 0.751348 0.520408 +19 1.11 0.896448 0.602041 +20 1.17 1.0086 0.704082 +21 1.23 1.46019 0.867347 +22 1.29 0.746744 0.959184 +23 1.35 1.06066 1.10204 +24 1.41 1.04178 1.2551 +25 1.47 1.27797 1.45918 +26 1.53 1.12073 1.65306 +27 1.59 1.09237 1.85714 +28 1.65 0.811505 2.02041 +29 1.71 0.944452 2.22449 +30 1.77 1.67487 2.61224 +31 1.83 1.23699 2.91837 +32 1.89 1.23702 3.2449 +33 1.95 1.01681 3.53061 +34 2.01 0.88866 3.79592 +35 2.07 1.16016 4.16327 +36 2.13 0.700046 4.39796 +37 2.19 0.892551 4.71429 +38 2.25 1.09108 5.12245 +39 2.31 0.983381 5.5102 +40 2.37 0.983392 5.91837 +41 2.43 1.1459 6.41837 +42 2.49 0.846351 6.80612 +43 2.55 0.913177 7.2449 +44 2.61 1.21629 7.85714 +45 2.67 0.968536 8.36735 +46 2.73 0.704089 8.7551 +47 2.79 1.02894 9.34694 +48 2.85 0.81606 9.83673 +49 2.91 1.12521 10.5408 +50 2.97 0.892347 11.1224 +107650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.59099 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 1.73839 0.112245 +12 0.69 1.44939 0.163265 +13 0.75 1.22688 0.214286 +14 0.81 1.68309 0.295918 +15 0.87 1.45904 0.377551 +16 0.93 1.27691 0.459184 +17 0.99 1.40859 0.561224 +18 1.05 1.25225 0.663265 +19 1.11 0.672336 0.72449 +20 1.17 0.706021 0.795918 +21 1.23 0.821359 0.887755 +22 1.29 1.07863 1.02041 +23 1.35 0.833375 1.13265 +24 1.41 1.73629 1.38776 +25 1.47 1.08628 1.56122 +26 1.53 1.65161 1.84694 +27 1.59 1.20161 2.07143 +28 1.65 0.912943 2.2551 +29 1.71 0.991675 2.46939 +30 1.77 1.05782 2.71429 +31 1.83 1.27823 3.03061 +32 1.89 0.502539 3.16327 +33 1.95 0.689981 3.35714 +34 2.01 1.46971 3.79592 +35 2.07 0.870121 4.07143 +36 2.13 0.821793 4.34694 +37 2.19 1.0653 4.72449 +38 2.25 1.09108 5.13265 +39 2.31 0.828111 5.45918 +40 2.37 1.08173 5.90816 +41 2.43 0.958818 6.32653 +42 2.49 1.09135 6.82653 +43 2.55 1.06183 7.33673 +44 2.61 0.871676 7.77551 +45 2.67 1.02665 8.31633 +46 2.73 1.13025 8.93878 +47 2.79 1.24182 9.65306 +48 2.85 0.867064 10.1735 +49 2.91 1.12521 10.8776 +50 2.97 1.09587 11.5918 +107700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0.530329 0.0102041 +10 0.57 0.84931 0.0306122 +11 0.63 3.47678 0.132653 +12 0.69 0.579756 0.153061 +13 0.75 1.22688 0.204082 +14 0.81 1.89348 0.295918 +15 0.87 0.729518 0.336735 +16 0.93 0.798069 0.387755 +17 0.99 1.6903 0.510204 +18 1.05 1.62792 0.642857 +19 1.11 1.23262 0.755102 +20 1.17 0.907742 0.846939 +21 1.23 1.36893 1 +22 1.29 0.829715 1.10204 +23 1.35 1.06066 1.2449 +24 1.41 1.04178 1.39796 +25 1.47 1.15018 1.58163 +26 1.53 1.12073 1.77551 +27 1.59 1.31085 2.02041 +28 1.65 1.11582 2.2449 +29 1.71 0.755562 2.40816 +30 1.77 1.19004 2.68367 +31 1.83 1.15453 2.96939 +32 1.89 1.23702 3.29592 +33 1.95 1.2347 3.64286 +34 2.01 0.786122 3.87755 +35 2.07 1.09571 4.22449 +36 2.13 1.27835 4.65306 +37 2.19 1.03651 5.02041 +38 2.25 0.90014 5.35714 +39 2.31 1.19041 5.82653 +40 2.37 0.885053 6.19388 +41 2.43 1.23945 6.73469 +42 2.49 0.979986 7.18367 +43 2.55 1.08307 7.70408 +44 2.61 0.973034 8.19388 +45 2.67 0.910424 8.67347 +46 2.73 0.83379 9.13265 +47 2.79 1.02894 9.72449 +48 2.85 0.697051 10.1429 +49 2.91 1.1089 10.8367 +50 2.97 1.00193 11.4898 +107750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 1.06066 0.0510204 +10 0.57 0.424655 0.0612245 +11 0.63 2.78143 0.142857 +12 0.69 1.15951 0.183673 +13 0.75 1.22688 0.234694 +14 0.81 0.841547 0.27551 +15 0.87 0.911898 0.326531 +16 0.93 0.798069 0.377551 +17 0.99 1.40859 0.479592 +18 1.05 0.876573 0.55102 +19 1.11 1.0085 0.642857 +20 1.17 1.41204 0.785714 +21 1.23 1.09515 0.908163 +22 1.29 1.07863 1.04082 +23 1.35 0.606091 1.12245 +24 1.41 0.763969 1.23469 +25 1.47 0.95848 1.38776 +26 1.53 1.17972 1.59184 +27 1.59 1.42008 1.85714 +28 1.65 1.62301 2.18367 +29 1.71 0.802784 2.35714 +30 1.77 1.14597 2.62245 +31 1.83 1.36069 2.95918 +32 1.89 1.12105 3.2551 +33 1.95 1.01681 3.54082 +34 2.01 1.02538 3.84694 +35 2.07 0.837894 4.11224 +36 2.13 1.21747 4.52041 +37 2.19 1.00772 4.87755 +38 2.25 1.0638 5.27551 +39 2.31 1.0869 5.70408 +40 2.37 1.10632 6.16327 +41 2.43 0.88866 6.55102 +42 2.49 0.757262 6.89796 +43 2.55 1.18925 7.46939 +44 2.61 1.29738 8.12245 +45 2.67 0.677975 8.47959 +46 2.73 1.11172 9.09184 +47 2.79 0.745094 9.52041 +48 2.85 1.03708 10.1429 +49 2.91 0.880601 10.6939 +50 2.97 0.954968 11.3163 +107800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 2.54793 0.0816327 +11 0.63 0.347678 0.0918367 +12 0.69 0.289878 0.102041 +13 0.75 2.69914 0.214286 +14 0.81 1.05193 0.265306 +15 0.87 1.45904 0.346939 +16 0.93 0.957682 0.408163 +17 0.99 0.98601 0.479592 +18 1.05 1.62792 0.612245 +19 1.11 0.56028 0.663265 +20 1.17 1.31118 0.795918 +21 1.23 1.09515 0.918367 +22 1.29 1.07863 1.05102 +23 1.35 1.13642 1.20408 +24 1.41 1.31958 1.39796 +25 1.47 0.638987 1.5 +26 1.53 1.06175 1.68367 +27 1.59 0.928517 1.85714 +28 1.65 1.31869 2.12245 +29 1.71 1.22779 2.38776 +30 1.77 0.70521 2.55102 +31 1.83 0.783428 2.7449 +32 1.89 1.12105 3.04082 +33 1.95 1.19839 3.37755 +34 2.01 0.922839 3.65306 +35 2.07 0.966801 3.95918 +36 2.13 0.882667 4.2551 +37 2.19 1.12289 4.65306 +38 2.25 0.954694 5.0102 +39 2.31 1.0869 5.43878 +40 2.37 0.835884 5.78571 +41 2.43 0.958818 6.20408 +42 2.49 0.824079 6.58163 +43 2.55 1.12554 7.12245 +44 2.61 1.15548 7.70408 +45 2.67 0.968536 8.21429 +46 2.73 1.00055 8.76531 +47 2.79 1.02894 9.35714 +48 2.85 0.95207 9.92857 +49 2.91 1.07629 10.602 +50 2.97 1.0489 11.2857 +107850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 2.04287 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0.424655 0.0510204 +11 0.63 1.73839 0.102041 +12 0.69 1.73927 0.163265 +13 0.75 0.981505 0.204082 +14 0.81 1.47271 0.27551 +15 0.87 1.09428 0.336735 +16 0.93 1.1173 0.408163 +17 0.99 1.54944 0.520408 +18 1.05 1.25225 0.622449 +19 1.11 0.896448 0.704082 +20 1.17 0.907742 0.795918 +21 1.23 1.00388 0.908163 +22 1.29 1.7424 1.12245 +23 1.35 0.833375 1.23469 +24 1.41 1.25013 1.41837 +25 1.47 0.894581 1.56122 +26 1.53 0.943774 1.72449 +27 1.59 1.09237 1.92857 +28 1.65 1.26798 2.18367 +29 1.71 1.13334 2.42857 +30 1.77 0.881513 2.63265 +31 1.83 0.989594 2.87755 +32 1.89 0.966422 3.13265 +33 1.95 1.12576 3.44898 +34 2.01 0.683585 3.65306 +35 2.07 1.32129 4.07143 +36 2.13 1.06529 4.42857 +37 2.19 0.978927 4.77551 +38 2.25 0.927417 5.12245 +39 2.31 1.06102 5.54082 +40 2.37 0.885053 5.90816 +41 2.43 0.935432 6.31633 +42 2.49 0.957713 6.7551 +43 2.55 1.2742 7.36735 +44 2.61 0.973034 7.85714 +45 2.67 1.02665 8.39796 +46 2.73 1.05613 8.97959 +47 2.79 0.887016 9.4898 +48 2.85 0.884065 10.0204 +49 2.91 0.994753 10.6429 +50 2.97 1.01759 11.3061 +107900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 1.73839 0.102041 +12 0.69 1.15951 0.142857 +13 0.75 1.47226 0.204082 +14 0.81 0.63116 0.234694 +15 0.87 1.8238 0.336735 +16 0.93 1.43652 0.428571 +17 0.99 1.83116 0.561224 +18 1.05 1.12702 0.653061 +19 1.11 1.12056 0.755102 +20 1.17 1.31118 0.887755 +21 1.23 1.46019 1.05102 +22 1.29 0.912687 1.16327 +23 1.35 1.06066 1.30612 +24 1.41 1.11123 1.46939 +25 1.47 0.766784 1.59184 +26 1.53 1.12073 1.78571 +27 1.59 1.4747 2.06122 +28 1.65 0.862224 2.23469 +29 1.71 0.944452 2.43878 +30 1.77 1.05782 2.68367 +31 1.83 1.19576 2.97959 +32 1.89 1.04374 3.2551 +33 1.95 0.798925 3.47959 +34 2.01 1.02538 3.78571 +35 2.07 0.999027 4.10204 +36 2.13 1.30878 4.54082 +37 2.19 0.863759 4.84694 +38 2.25 0.872863 5.17347 +39 2.31 1.13865 5.62245 +40 2.37 1.27841 6.15306 +41 2.43 0.958818 6.57143 +42 2.49 0.913168 6.9898 +43 2.55 0.82823 7.38776 +44 2.61 1.05412 7.91837 +45 2.67 0.929795 8.40816 +46 2.73 1.13025 9.03061 +47 2.79 0.993458 9.60204 +48 2.85 0.969072 10.1837 +49 2.91 0.799064 10.6837 +50 2.97 1.09587 11.398 +107950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 2.12327 0.0918367 +11 0.63 0.695356 0.112245 +12 0.69 2.6089 0.204082 +13 0.75 1.22688 0.255102 +14 0.81 1.26232 0.316327 +15 0.87 0.547139 0.346939 +16 0.93 1.75575 0.459184 +17 0.99 1.12687 0.540816 +18 1.05 1.25225 0.642857 +19 1.11 0.672336 0.704082 +20 1.17 1.31118 0.836735 +21 1.23 1.36893 0.989796 +22 1.29 0.829715 1.09184 +23 1.35 1.13642 1.2449 +24 1.41 1.11123 1.40816 +25 1.47 1.02238 1.57143 +26 1.53 0.943774 1.73469 +27 1.59 0.873898 1.89796 +28 1.65 1.26798 2.15306 +29 1.71 1.36946 2.44898 +30 1.77 1.05782 2.69388 +31 1.83 1.03083 2.94898 +32 1.89 0.966422 3.20408 +33 1.95 1.16207 3.53061 +34 2.01 1.23045 3.89796 +35 2.07 0.999027 4.21429 +36 2.13 0.76092 4.46939 +37 2.19 1.00772 4.82653 +38 2.25 0.981971 5.19388 +39 2.31 0.724597 5.47959 +40 2.37 1.00798 5.89796 +41 2.43 1.21606 6.42857 +42 2.49 1.11362 6.93878 +43 2.55 0.806993 7.32653 +44 2.61 0.750047 7.70408 +45 2.67 0.832941 8.14286 +46 2.73 0.870847 8.62245 +47 2.79 1.0112 9.20408 +48 2.85 1.20709 9.92857 +49 2.91 1.17413 10.6633 +50 2.97 0.861037 11.2245 +108000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 0.84931 0.0408163 +11 0.63 0.695356 0.0612245 +12 0.69 0.869633 0.0918367 +13 0.75 1.96301 0.173469 +14 0.81 1.26232 0.234694 +15 0.87 2.00617 0.346939 +16 0.93 2.07498 0.479592 +17 0.99 0.98601 0.55102 +18 1.05 0.626123 0.602041 +19 1.11 1.45673 0.734694 +20 1.17 0.706021 0.806122 +21 1.23 0.912621 0.908163 +22 1.29 0.497829 0.969388 +23 1.35 1.13642 1.12245 +24 1.41 1.66684 1.36735 +25 1.47 1.02238 1.53061 +26 1.53 1.65161 1.81633 +27 1.59 1.20161 2.04082 +28 1.65 1.11582 2.26531 +29 1.71 1.08612 2.5 +30 1.77 0.837437 2.69388 +31 1.83 1.03083 2.94898 +32 1.89 1.23702 3.27551 +33 1.95 1.01681 3.56122 +34 2.01 0.854481 3.81633 +35 2.07 0.805667 4.07143 +36 2.13 1.21747 4.47959 +37 2.19 0.921343 4.80612 +38 2.25 0.90014 5.14286 +39 2.31 0.879867 5.4898 +40 2.37 1.00798 5.90816 +41 2.43 1.05236 6.36735 +42 2.49 0.979986 6.81633 +43 2.55 0.913177 7.2551 +44 2.61 1.11493 7.81633 +45 2.67 0.910424 8.29592 +46 2.73 0.96349 8.82653 +47 2.79 0.745094 9.2551 +48 2.85 1.20709 9.97959 +49 2.91 1.0926 10.6633 +50 2.97 0.939313 11.2755 +108050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 1.27396 0.0510204 +11 0.63 1.39071 0.0918367 +12 0.69 2.31902 0.173469 +13 0.75 1.47226 0.234694 +14 0.81 1.47271 0.306122 +15 0.87 0.729518 0.346939 +16 0.93 2.23459 0.489796 +17 0.99 0.704293 0.540816 +18 1.05 0.751348 0.602041 +19 1.11 0.336168 0.632653 +20 1.17 1.21032 0.755102 +21 1.23 0.912621 0.857143 +22 1.29 0.912687 0.969388 +23 1.35 1.13642 1.12245 +24 1.41 1.11123 1.28571 +25 1.47 1.21407 1.47959 +26 1.53 0.884789 1.63265 +27 1.59 1.31085 1.87755 +28 1.65 0.862224 2.05102 +29 1.71 1.18057 2.30612 +30 1.77 1.14597 2.57143 +31 1.83 1.19576 2.86735 +32 1.89 1.27568 3.20408 +33 1.95 0.907869 3.45918 +34 2.01 1.05956 3.77551 +35 2.07 0.999027 4.09184 +36 2.13 0.85223 4.37755 +37 2.19 0.892551 4.69388 +38 2.25 0.845586 5.0102 +39 2.31 1.26804 5.5102 +40 2.37 1.00798 5.92857 +41 2.43 0.982203 6.35714 +42 2.49 0.846351 6.7449 +43 2.55 1.08307 7.26531 +44 2.61 0.932491 7.73469 +45 2.67 1.02665 8.27551 +46 2.73 0.778204 8.70408 +47 2.79 1.02894 9.29592 +48 2.85 1.05408 9.92857 +49 2.91 1.04368 10.5816 +50 2.97 1.00193 11.2347 +108100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 1.36191 0.0408163 +9 0.51 1.06066 0.0612245 +10 0.57 0 0.0612245 +11 0.63 1.39071 0.102041 +12 0.69 0.869633 0.132653 +13 0.75 0.981505 0.173469 +14 0.81 0.841547 0.214286 +15 0.87 0.547139 0.244898 +16 0.93 1.1173 0.316327 +17 0.99 1.40859 0.418367 +18 1.05 1.12702 0.510204 +19 1.11 0.56028 0.561224 +20 1.17 1.0086 0.663265 +21 1.23 1.18641 0.795918 +22 1.29 0.663772 0.877551 +23 1.35 0.909136 1 +24 1.41 1.45849 1.21429 +25 1.47 1.02238 1.37755 +26 1.53 0.943774 1.54082 +27 1.59 1.09237 1.7449 +28 1.65 0.862224 1.91837 +29 1.71 1.32223 2.20408 +30 1.77 1.36634 2.52041 +31 1.83 0.577263 2.66327 +32 1.89 1.19836 2.97959 +33 1.95 1.05313 3.27551 +34 2.01 1.19627 3.63265 +35 2.07 0.966801 3.93878 +36 2.13 1.36966 4.39796 +37 2.19 0.892551 4.71429 +38 2.25 0.791032 5.0102 +39 2.31 0.828111 5.33673 +40 2.37 1.10632 5.79592 +41 2.43 0.72496 6.11224 +42 2.49 1.26953 6.69388 +43 2.55 1.16802 7.2551 +44 2.61 0.871676 7.69388 +45 2.67 0.987907 8.21429 +46 2.73 0.796732 8.65306 +47 2.79 1.02894 9.2449 +48 2.85 1.08808 9.89796 +49 2.91 1.15783 10.6224 +50 2.97 0.876692 11.1939 +108150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.06066 0.0204082 +10 0.57 0.84931 0.0408163 +11 0.63 0.347678 0.0510204 +12 0.69 0.869633 0.0816327 +13 0.75 1.22688 0.132653 +14 0.81 0.420773 0.153061 +15 0.87 1.45904 0.234694 +16 0.93 1.43652 0.326531 +17 0.99 0.98601 0.397959 +18 1.05 0.751348 0.459184 +19 1.11 0.56028 0.510204 +20 1.17 1.41204 0.653061 +21 1.23 1.46019 0.816327 +22 1.29 0.995658 0.938776 +23 1.35 0.833375 1.05102 +24 1.41 0.694517 1.15306 +25 1.47 1.15018 1.33673 +26 1.53 1.35668 1.57143 +27 1.59 1.20161 1.79592 +28 1.65 1.16654 2.03061 +29 1.71 1.18057 2.28571 +30 1.77 0.793362 2.46939 +31 1.83 0.907127 2.69388 +32 1.89 1.12105 2.9898 +33 1.95 1.08944 3.29592 +34 2.01 0.957019 3.58163 +35 2.07 0.902347 3.86735 +36 2.13 0.76092 4.12245 +37 2.19 0.950135 4.45918 +38 2.25 1.03652 4.84694 +39 2.31 0.776354 5.15306 +40 2.37 1.05715 5.59184 +41 2.43 0.88866 5.97959 +42 2.49 1.15816 6.5102 +43 2.55 0.998123 6.9898 +44 2.61 1.09466 7.54082 +45 2.67 1.18161 8.16327 +46 2.73 0.982019 8.70408 +47 2.79 1.04668 9.30612 +48 2.85 1.10508 9.96939 +49 2.91 1.04368 10.6224 +50 2.97 0.861037 11.1837 +108200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.59099 0.0306122 +10 0.57 0.424655 0.0408163 +11 0.63 1.39071 0.0816327 +12 0.69 0.869633 0.112245 +13 0.75 0.490753 0.132653 +14 0.81 0.841547 0.173469 +15 0.87 1.09428 0.234694 +16 0.93 1.43652 0.326531 +17 0.99 0.140859 0.336735 +18 1.05 1.87837 0.489796 +19 1.11 1.34467 0.612245 +20 1.17 1.41204 0.755102 +21 1.23 1.27767 0.897959 +22 1.29 0.414858 0.94898 +23 1.35 1.06066 1.09184 +24 1.41 0.763969 1.20408 +25 1.47 0.575088 1.29592 +26 1.53 0.943774 1.45918 +27 1.59 1.25623 1.69388 +28 1.65 1.26798 1.94898 +29 1.71 0.802784 2.12245 +30 1.77 1.10189 2.37755 +31 1.83 1.03083 2.63265 +32 1.89 1.19836 2.94898 +33 1.95 0.944184 3.21429 +34 2.01 1.05956 3.53061 +35 2.07 0.966801 3.83673 +36 2.13 1.24791 4.2551 +37 2.19 1.20926 4.68367 +38 2.25 1.0638 5.08163 +39 2.31 0.957503 5.45918 +40 2.37 1.05715 5.89796 +41 2.43 0.678188 6.19388 +42 2.49 0.979986 6.64286 +43 2.55 0.95565 7.10204 +44 2.61 1.01358 7.61224 +45 2.67 1.00728 8.14286 +46 2.73 1.13025 8.76531 +47 2.79 1.04668 9.36735 +48 2.85 1.12208 10.0408 +49 2.91 0.945831 10.6327 +50 2.97 1.01759 11.2959 +108250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.84931 0.0204082 +11 0.63 1.73839 0.0714286 +12 0.69 0.869633 0.102041 +13 0.75 1.71763 0.173469 +14 0.81 1.26232 0.234694 +15 0.87 1.27666 0.306122 +16 0.93 1.59614 0.408163 +17 0.99 0.845152 0.469388 +18 1.05 1.0018 0.55102 +19 1.11 1.56878 0.693878 +20 1.17 0.403441 0.734694 +21 1.23 1.55146 0.908163 +22 1.29 1.1616 1.05102 +23 1.35 0.909136 1.17347 +24 1.41 1.18068 1.34694 +25 1.47 0.95848 1.5 +26 1.53 1.47465 1.7551 +27 1.59 0.81928 1.90816 +28 1.65 1.31869 2.17347 +29 1.71 1.08612 2.40816 +30 1.77 1.19004 2.68367 +31 1.83 0.989594 2.92857 +32 1.89 1.08239 3.21429 +33 1.95 1.34365 3.59184 +34 2.01 1.02538 3.89796 +35 2.07 1.22461 4.28571 +36 2.13 1.06529 4.64286 +37 2.19 0.834967 4.93878 +38 2.25 0.981971 5.30612 +39 2.31 0.698718 5.58163 +40 2.37 1.1309 6.05102 +41 2.43 0.935432 6.45918 +42 2.49 0.801806 6.82653 +43 2.55 0.998123 7.30612 +44 2.61 0.973034 7.79592 +45 2.67 1.06539 8.35714 +46 2.73 1.24142 9.04082 +47 2.79 1.31278 9.79592 +48 2.85 0.969072 10.3776 +49 2.91 0.945831 10.9694 +50 2.97 0.923658 11.5714 +108300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 2.97258 0.0918367 +11 0.63 0.347678 0.102041 +12 0.69 1.44939 0.153061 +13 0.75 2.20839 0.244898 +14 0.81 0.841547 0.285714 +15 0.87 2.18855 0.408163 +16 0.93 0.957682 0.469388 +17 0.99 0.98601 0.540816 +18 1.05 1.37747 0.653061 +19 1.11 1.12056 0.755102 +20 1.17 1.61376 0.918367 +21 1.23 1.46019 1.08163 +22 1.29 0.746744 1.17347 +23 1.35 1.06066 1.31633 +24 1.41 1.31958 1.5102 +25 1.47 1.21407 1.70408 +26 1.53 1.47465 1.95918 +27 1.59 1.09237 2.16327 +28 1.65 1.0651 2.37755 +29 1.71 0.944452 2.58163 +30 1.77 1.27819 2.87755 +31 1.83 0.989594 3.12245 +32 1.89 0.502539 3.2551 +33 1.95 0.907869 3.5102 +34 2.01 0.88866 3.77551 +35 2.07 1.16016 4.14286 +36 2.13 1.09572 4.5102 +37 2.19 0.892551 4.82653 +38 2.25 1.03652 5.21429 +39 2.31 1.3198 5.73469 +40 2.37 1.22924 6.2449 +41 2.43 0.982203 6.67347 +42 2.49 0.957713 7.11224 +43 2.55 1.14678 7.66327 +44 2.61 0.79059 8.06122 +45 2.67 0.813571 8.4898 +46 2.73 0.852318 8.95918 +47 2.79 0.727353 9.37755 +48 2.85 1.17309 10.0816 +49 2.91 0.978445 10.6939 +50 2.97 0.68883 11.1429 +108350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.06066 0.0204082 +10 0.57 2.12327 0.0714286 +11 0.63 1.04303 0.102041 +12 0.69 0.869633 0.132653 +13 0.75 2.20839 0.22449 +14 0.81 2.10387 0.326531 +15 0.87 1.27666 0.397959 +16 0.93 1.75575 0.510204 +17 0.99 1.12687 0.591837 +18 1.05 1.0018 0.673469 +19 1.11 1.34467 0.795918 +20 1.17 1.0086 0.897959 +21 1.23 0.638835 0.969388 +22 1.29 1.32754 1.13265 +23 1.35 0.984898 1.26531 +24 1.41 1.25013 1.44898 +25 1.47 1.21407 1.64286 +26 1.53 1.06175 1.82653 +27 1.59 0.655424 1.94898 +28 1.65 0.963662 2.14286 +29 1.71 1.22779 2.40816 +30 1.77 1.36634 2.72449 +31 1.83 1.07206 2.9898 +32 1.89 1.12105 3.28571 +33 1.95 0.871554 3.53061 +34 2.01 0.991198 3.82653 +35 2.07 0.999027 4.14286 +36 2.13 1.03485 4.4898 +37 2.19 0.892551 4.80612 +38 2.25 0.981971 5.17347 +39 2.31 1.16453 5.63265 +40 2.37 1.1309 6.10204 +41 2.43 0.748345 6.42857 +42 2.49 0.868624 6.82653 +43 2.55 0.82823 7.22449 +44 2.61 0.648689 7.55102 +45 2.67 0.987907 8.07143 +46 2.73 1.20436 8.73469 +47 2.79 1.06442 9.34694 +48 2.85 1.05408 9.97959 +49 2.91 1.04368 10.6327 +50 2.97 1.12718 11.3673 +108400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 2.52926 0.0306122 +7 0.39 0 0.0306122 +8 0.45 0 0.0306122 +9 0.51 0.530329 0.0408163 +10 0.57 2.12327 0.0918367 +11 0.63 1.39071 0.132653 +12 0.69 1.15951 0.173469 +13 0.75 1.22688 0.22449 +14 0.81 1.05193 0.27551 +15 0.87 0.911898 0.326531 +16 0.93 1.1173 0.397959 +17 0.99 1.83116 0.530612 +18 1.05 1.0018 0.612245 +19 1.11 1.0085 0.704082 +20 1.17 0.907742 0.795918 +21 1.23 1.00388 0.908163 +22 1.29 1.82537 1.13265 +23 1.35 1.28794 1.30612 +24 1.41 0.833421 1.42857 +25 1.47 0.894581 1.57143 +26 1.53 1.2387 1.78571 +27 1.59 1.36547 2.04082 +28 1.65 0.862224 2.21429 +29 1.71 1.36946 2.5102 +30 1.77 1.23412 2.79592 +31 1.83 1.40192 3.14286 +32 1.89 0.889108 3.37755 +33 1.95 1.2347 3.72449 +34 2.01 1.02538 4.03061 +35 2.07 0.934574 4.32653 +36 2.13 0.94354 4.64286 +37 2.19 1.23805 5.08163 +38 2.25 0.872863 5.40816 +39 2.31 0.750475 5.70408 +40 2.37 1.03256 6.13265 +41 2.43 0.912046 6.53061 +42 2.49 0.779534 6.88776 +43 2.55 1.12554 7.42857 +44 2.61 0.79059 7.82653 +45 2.67 1.02665 8.36735 +46 2.73 0.852318 8.83673 +47 2.79 0.940237 9.37755 +48 2.85 1.3601 10.1939 +49 2.91 1.05998 10.8571 +50 2.97 0.986279 11.5 +108450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 0.424655 0.0408163 +11 0.63 1.04303 0.0714286 +12 0.69 1.73927 0.132653 +13 0.75 2.69914 0.244898 +14 0.81 0.841547 0.285714 +15 0.87 0.911898 0.336735 +16 0.93 1.59614 0.438776 +17 0.99 1.83116 0.571429 +18 1.05 1.62792 0.704082 +19 1.11 0.784392 0.77551 +20 1.17 1.91634 0.969388 +21 1.23 0.547573 1.03061 +22 1.29 1.24457 1.18367 +23 1.35 0.984898 1.31633 +24 1.41 0.972324 1.45918 +25 1.47 0.830683 1.59184 +26 1.53 1.29769 1.81633 +27 1.59 1.20161 2.04082 +28 1.65 0.811505 2.20408 +29 1.71 1.0389 2.42857 +30 1.77 1.14597 2.69388 +31 1.83 1.19576 2.9898 +32 1.89 0.889108 3.22449 +33 1.95 0.871554 3.46939 +34 2.01 0.751943 3.69388 +35 2.07 1.32129 4.11224 +36 2.13 0.882667 4.40816 +37 2.19 1.09409 4.79592 +38 2.25 1.28202 5.27551 +39 2.31 1.00926 5.67347 +40 2.37 1.05715 6.11224 +41 2.43 1.05236 6.57143 +42 2.49 1.2918 7.16327 +43 2.55 0.89194 7.59184 +44 2.61 0.79059 7.9898 +45 2.67 0.813571 8.41837 +46 2.73 1.18583 9.07143 +47 2.79 1.06442 9.68367 +48 2.85 1.00307 10.2857 +49 2.91 1.27198 11.0816 +50 2.97 1.11152 11.8061 +108500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 1.04303 0.0816327 +12 0.69 0.579756 0.102041 +13 0.75 2.94452 0.22449 +14 0.81 1.05193 0.27551 +15 0.87 0.547139 0.306122 +16 0.93 0.638455 0.346939 +17 0.99 0.704293 0.397959 +18 1.05 1.12702 0.489796 +19 1.11 0.672336 0.55102 +20 1.17 0.605161 0.612245 +21 1.23 1.09515 0.734694 +22 1.29 1.32754 0.897959 +23 1.35 1.74251 1.13265 +24 1.41 1.31958 1.32653 +25 1.47 0.894581 1.46939 +26 1.53 1.06175 1.65306 +27 1.59 1.36547 1.90816 +28 1.65 1.21726 2.15306 +29 1.71 0.944452 2.35714 +30 1.77 1.10189 2.61224 +31 1.83 1.31946 2.93878 +32 1.89 0.966422 3.19388 +33 1.95 1.30733 3.56122 +34 2.01 1.09374 3.88776 +35 2.07 1.12793 4.2449 +36 2.13 1.03485 4.59184 +37 2.19 1.12289 4.9898 +38 2.25 1.11836 5.40816 +39 2.31 0.853989 5.7449 +40 2.37 1.4505 6.34694 +41 2.43 1.02897 6.79592 +42 2.49 0.913168 7.21429 +43 2.55 1.06183 7.72449 +44 2.61 1.07439 8.26531 +45 2.67 0.949166 8.76531 +46 2.73 1.09319 9.36735 +47 2.79 1.04668 9.96939 +48 2.85 0.81606 10.4592 +49 2.91 0.994753 11.0816 +50 2.97 1.22111 11.8776 +108550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 1.88658 0.0102041 +6 0.33 0 0.0102041 +7 0.39 0 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 1.06066 0.0510204 +10 0.57 2.12327 0.102041 +11 0.63 0.695356 0.122449 +12 0.69 1.15951 0.163265 +13 0.75 1.22688 0.214286 +14 0.81 1.47271 0.285714 +15 0.87 1.45904 0.367347 +16 0.93 1.59614 0.469388 +17 0.99 1.12687 0.55102 +18 1.05 1.12702 0.642857 +19 1.11 1.34467 0.765306 +20 1.17 0.907742 0.857143 +21 1.23 1.18641 0.989796 +22 1.29 0.663772 1.07143 +23 1.35 1.3637 1.2551 +24 1.41 0.972324 1.39796 +25 1.47 1.08628 1.57143 +26 1.53 1.00276 1.7449 +27 1.59 1.09237 1.94898 +28 1.65 1.26798 2.20408 +29 1.71 1.08612 2.43878 +30 1.77 0.881513 2.64286 +31 1.83 1.36069 2.97959 +32 1.89 1.00508 3.2449 +33 1.95 0.581036 3.40816 +34 2.01 0.957019 3.69388 +35 2.07 0.999027 4.0102 +36 2.13 1.09572 4.37755 +37 2.19 0.921343 4.70408 +38 2.25 0.954694 5.06122 +39 2.31 1.06102 5.47959 +40 2.37 1.05715 5.91837 +41 2.43 1.16929 6.42857 +42 2.49 1.0468 6.90816 +43 2.55 0.976887 7.37755 +44 2.61 1.09466 7.92857 +45 2.67 0.891053 8.39796 +46 2.73 1.35259 9.14286 +47 2.79 1.13538 9.79592 +48 2.85 0.935069 10.3571 +49 2.91 1.0926 11.0408 +50 2.97 1.1898 11.8163 +108600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.06066 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.04303 0.0510204 +12 0.69 2.89878 0.153061 +13 0.75 0.981505 0.193878 +14 0.81 1.89348 0.285714 +15 0.87 1.45904 0.367347 +16 0.93 2.39421 0.520408 +17 0.99 1.83116 0.653061 +18 1.05 1.37747 0.765306 +19 1.11 1.7929 0.928571 +20 1.17 1.10946 1.04082 +21 1.23 0.912621 1.14286 +22 1.29 0.746744 1.23469 +23 1.35 1.06066 1.37755 +24 1.41 1.59739 1.61224 +25 1.47 1.15018 1.79592 +26 1.53 1.35668 2.03061 +27 1.59 0.873898 2.19388 +28 1.65 1.36941 2.46939 +29 1.71 0.755562 2.63265 +30 1.77 0.837437 2.82653 +31 1.83 0.948361 3.06122 +32 1.89 1.19836 3.37755 +33 1.95 0.907869 3.63265 +34 2.01 0.854481 3.88776 +35 2.07 0.999027 4.20408 +36 2.13 0.730483 4.44898 +37 2.19 1.15168 4.85714 +38 2.25 0.872863 5.18367 +39 2.31 0.802232 5.5 +40 2.37 0.934223 5.88776 +41 2.43 1.09913 6.36735 +42 2.49 1.06908 6.85714 +43 2.55 0.934413 7.30612 +44 2.61 1.11493 7.86735 +45 2.67 0.852312 8.31633 +46 2.73 1.0376 8.88776 +47 2.79 0.993458 9.45918 +48 2.85 0.986073 10.051 +49 2.91 0.994753 10.6735 +50 2.97 0.845382 11.2245 +108650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.59099 0.0408163 +10 0.57 2.12327 0.0918367 +11 0.63 2.08607 0.153061 +12 0.69 1.44939 0.204082 +13 0.75 0.981505 0.244898 +14 0.81 1.47271 0.316327 +15 0.87 1.45904 0.397959 +16 0.93 0.957682 0.459184 +17 0.99 0.845152 0.520408 +18 1.05 1.0018 0.602041 +19 1.11 1.12056 0.704082 +20 1.17 0.504301 0.755102 +21 1.23 1.27767 0.897959 +22 1.29 0.995658 1.02041 +23 1.35 0.757614 1.12245 +24 1.41 1.11123 1.28571 +25 1.47 1.59747 1.54082 +26 1.53 1.00276 1.71429 +27 1.59 0.928517 1.88776 +28 1.65 1.21726 2.13265 +29 1.71 0.991675 2.34694 +30 1.77 0.661135 2.5 +31 1.83 1.23699 2.80612 +32 1.89 0.811794 3.02041 +33 1.95 1.01681 3.30612 +34 2.01 0.683585 3.5102 +35 2.07 0.902347 3.79592 +36 2.13 1.06529 4.15306 +37 2.19 1.0653 4.53061 +38 2.25 1.22746 4.9898 +39 2.31 1.0869 5.41837 +40 2.37 1.05715 5.85714 +41 2.43 1.16929 6.36735 +42 2.49 1.11362 6.87755 +43 2.55 0.82823 7.27551 +44 2.61 0.952762 7.7551 +45 2.67 1.00728 8.28571 +46 2.73 1.14878 8.91837 +47 2.79 1.11764 9.56122 +48 2.85 0.850063 10.0714 +49 2.91 1.01106 10.7041 +50 2.97 0.908003 11.2959 +108700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 1.36191 0.0408163 +9 0.51 0.530329 0.0510204 +10 0.57 1.27396 0.0816327 +11 0.63 1.04303 0.112245 +12 0.69 1.15951 0.153061 +13 0.75 1.22688 0.204082 +14 0.81 1.26232 0.265306 +15 0.87 1.45904 0.346939 +16 0.93 1.91536 0.469388 +17 0.99 0.98601 0.540816 +18 1.05 0.626123 0.591837 +19 1.11 1.34467 0.714286 +20 1.17 0.605161 0.77551 +21 1.23 1.27767 0.918367 +22 1.29 0.580801 0.989796 +23 1.35 0.606091 1.07143 +24 1.41 0.972324 1.21429 +25 1.47 1.08628 1.38776 +26 1.53 0.884789 1.54082 +27 1.59 0.983136 1.72449 +28 1.65 1.52157 2.03061 +29 1.71 0.850007 2.21429 +30 1.77 1.41042 2.54082 +31 1.83 0.700962 2.71429 +32 1.89 1.08239 3 +33 1.95 0.871554 3.2449 +34 2.01 1.05956 3.56122 +35 2.07 0.77344 3.80612 +36 2.13 1.00441 4.14286 +37 2.19 0.834967 4.43878 +38 2.25 1.00925 4.81633 +39 2.31 0.802232 5.13265 +40 2.37 0.712959 5.42857 +41 2.43 0.982203 5.85714 +42 2.49 0.734989 6.19388 +43 2.55 1.01936 6.68367 +44 2.61 1.05412 7.21429 +45 2.67 1.39469 7.94898 +46 2.73 1.11172 8.56122 +47 2.79 1.0112 9.14286 +48 2.85 0.850063 9.65306 +49 2.91 0.815371 10.1633 +50 2.97 1.03324 10.8367 +108750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 1.59099 0.0510204 +10 0.57 0.84931 0.0714286 +11 0.63 0.347678 0.0816327 +12 0.69 1.15951 0.122449 +13 0.75 0.981505 0.163265 +14 0.81 1.26232 0.22449 +15 0.87 1.27666 0.295918 +16 0.93 0.798069 0.346939 +17 0.99 1.6903 0.469388 +18 1.05 1.12702 0.561224 +19 1.11 1.23262 0.673469 +20 1.17 1.21032 0.795918 +21 1.23 1.64272 0.979592 +22 1.29 1.41052 1.15306 +23 1.35 1.21218 1.31633 +24 1.41 0.972324 1.45918 +25 1.47 0.830683 1.59184 +26 1.53 1.06175 1.77551 +27 1.59 1.14699 1.9898 +28 1.65 0.760786 2.14286 +29 1.71 0.991675 2.35714 +30 1.77 0.925588 2.57143 +31 1.83 0.865894 2.78571 +32 1.89 0.966422 3.04082 +33 1.95 0.944184 3.30612 +34 2.01 1.16209 3.65306 +35 2.07 0.902347 3.93878 +36 2.13 0.913104 4.2449 +37 2.19 1.03651 4.61224 +38 2.25 1.03652 5 +39 2.31 1.11277 5.43878 +40 2.37 0.737544 5.7449 +41 2.43 0.935432 6.15306 +42 2.49 1.09135 6.65306 +43 2.55 1.12554 7.19388 +44 2.61 0.810861 7.60204 +45 2.67 0.987907 8.12245 +46 2.73 0.982019 8.66327 +47 2.79 1.2773 9.39796 +48 2.85 0.833061 9.89796 +49 2.91 1.12521 10.602 +50 2.97 1.12718 11.3367 +108800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.84931 0.0408163 +11 0.63 1.04303 0.0714286 +12 0.69 1.44939 0.122449 +13 0.75 1.47226 0.183673 +14 0.81 2.31425 0.295918 +15 0.87 1.09428 0.357143 +16 0.93 1.27691 0.438776 +17 0.99 2.67631 0.632653 +18 1.05 0.876573 0.704082 +19 1.11 2.01701 0.887755 +20 1.17 1.5129 1.04082 +21 1.23 0.730097 1.12245 +22 1.29 0.829715 1.22449 +23 1.35 0.984898 1.35714 +24 1.41 0.625065 1.44898 +25 1.47 1.02238 1.61224 +26 1.53 0.707831 1.73469 +27 1.59 1.42008 2 +28 1.65 1.0651 2.21429 +29 1.71 1.13334 2.45918 +30 1.77 0.70521 2.62245 +31 1.83 0.824661 2.82653 +32 1.89 0.927765 3.07143 +33 1.95 1.08944 3.37755 +34 2.01 0.88866 3.64286 +35 2.07 0.966801 3.94898 +36 2.13 0.94354 4.26531 +37 2.19 1.23805 4.70408 +38 2.25 1.00925 5.08163 +39 2.31 1.00926 5.47959 +40 2.37 0.786714 5.80612 +41 2.43 0.654802 6.09184 +42 2.49 0.957713 6.53061 +43 2.55 1.08307 7.05102 +44 2.61 1.09466 7.60204 +45 2.67 0.891053 8.07143 +46 2.73 1.0376 8.64286 +47 2.79 0.993458 9.21429 +48 2.85 1.15609 9.90816 +49 2.91 0.913216 10.4796 +50 2.97 1.08021 11.1837 +108850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 2.12132 0.0510204 +10 0.57 0.84931 0.0714286 +11 0.63 1.39071 0.112245 +12 0.69 2.02914 0.183673 +13 0.75 1.47226 0.244898 +14 0.81 1.89348 0.336735 +15 0.87 1.09428 0.397959 +16 0.93 1.59614 0.5 +17 0.99 0.845152 0.561224 +18 1.05 0.876573 0.632653 +19 1.11 1.0085 0.72449 +20 1.17 1.91634 0.918367 +21 1.23 1.18641 1.05102 +22 1.29 1.65943 1.2551 +23 1.35 1.21218 1.41837 +24 1.41 1.11123 1.58163 +25 1.47 1.02238 1.7449 +26 1.53 1.65161 2.03061 +27 1.59 0.928517 2.20408 +28 1.65 1.42013 2.4898 +29 1.71 1.18057 2.7449 +30 1.77 0.969664 2.96939 +31 1.83 1.03083 3.22449 +32 1.89 0.889108 3.45918 +33 1.95 0.798925 3.68367 +34 2.01 0.991198 3.97959 +35 2.07 1.22461 4.36735 +36 2.13 0.669609 4.59184 +37 2.19 0.978927 4.93878 +38 2.25 1.03652 5.32653 +39 2.31 0.828111 5.65306 +40 2.37 1.05715 6.09184 +41 2.43 0.935432 6.5 +42 2.49 0.801806 6.86735 +43 2.55 0.89194 7.29592 +44 2.61 0.912219 7.7551 +45 2.67 1.10413 8.33673 +46 2.73 0.796732 8.77551 +47 2.79 1.2773 9.5102 +48 2.85 1.05408 10.1429 +49 2.91 0.913216 10.7143 +50 2.97 0.829726 11.2551 +108900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 0.530329 0.0204082 +10 0.57 0.84931 0.0408163 +11 0.63 2.08607 0.102041 +12 0.69 1.73927 0.163265 +13 0.75 1.22688 0.214286 +14 0.81 0.63116 0.244898 +15 0.87 1.64142 0.336735 +16 0.93 2.23459 0.479592 +17 0.99 0.845152 0.540816 +18 1.05 1.25225 0.642857 +19 1.11 0.112056 0.653061 +20 1.17 1.21032 0.77551 +21 1.23 1.36893 0.928571 +22 1.29 1.32754 1.09184 +23 1.35 1.51523 1.29592 +24 1.41 0.833421 1.41837 +25 1.47 1.21407 1.61224 +26 1.53 1.12073 1.80612 +27 1.59 1.20161 2.03061 +28 1.65 1.36941 2.30612 +29 1.71 0.944452 2.5102 +30 1.77 1.10189 2.76531 +31 1.83 0.618496 2.91837 +32 1.89 1.08239 3.20408 +33 1.95 0.944184 3.46939 +34 2.01 1.12791 3.80612 +35 2.07 0.966801 4.11224 +36 2.13 0.973977 4.43878 +37 2.19 1.32443 4.90816 +38 2.25 0.736478 5.18367 +39 2.31 0.828111 5.5102 +40 2.37 1.00798 5.92857 +41 2.43 1.07575 6.39796 +42 2.49 0.957713 6.83673 +43 2.55 1.23173 7.42857 +44 2.61 1.03385 7.94898 +45 2.67 1.02665 8.4898 +46 2.73 1.13025 9.11224 +47 2.79 1.04668 9.71429 +48 2.85 0.765056 10.1735 +49 2.91 1.22306 10.9388 +50 2.97 0.923658 11.5408 +108950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0 0.0102041 +10 0.57 1.69862 0.0510204 +11 0.63 0.695356 0.0714286 +12 0.69 1.44939 0.122449 +13 0.75 1.22688 0.173469 +14 0.81 0.841547 0.214286 +15 0.87 1.8238 0.316327 +16 0.93 1.27691 0.397959 +17 0.99 1.26773 0.489796 +18 1.05 1.75315 0.632653 +19 1.11 1.34467 0.755102 +20 1.17 0.706021 0.826531 +21 1.23 1.64272 1.0102 +22 1.29 1.7424 1.22449 +23 1.35 1.21218 1.38776 +24 1.41 0.902872 1.52041 +25 1.47 1.02238 1.68367 +26 1.53 0.589859 1.78571 +27 1.59 1.03775 1.97959 +28 1.65 1.31869 2.2449 +29 1.71 0.991675 2.45918 +30 1.77 0.925588 2.67347 +31 1.83 0.907127 2.89796 +32 1.89 1.04374 3.17347 +33 1.95 1.12576 3.4898 +34 2.01 1.26463 3.86735 +35 2.07 0.966801 4.17347 +36 2.13 0.821793 4.44898 +37 2.19 1.0653 4.82653 +38 2.25 0.791032 5.12245 +39 2.31 0.931624 5.4898 +40 2.37 1.18007 5.97959 +41 2.43 1.16929 6.4898 +42 2.49 0.913168 6.90816 +43 2.55 1.01936 7.39796 +44 2.61 0.973034 7.88776 +45 2.67 1.08476 8.45918 +46 2.73 1.16731 9.10204 +47 2.79 1.0999 9.73469 +48 2.85 0.935069 10.2959 +49 2.91 1.04368 10.949 +50 2.97 0.939313 11.5612 +109000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.69862 0.0612245 +11 0.63 1.04303 0.0918367 +12 0.69 0.869633 0.122449 +13 0.75 0.981505 0.163265 +14 0.81 1.26232 0.22449 +15 0.87 1.27666 0.295918 +16 0.93 1.91536 0.418367 +17 0.99 1.83116 0.55102 +18 1.05 1.5027 0.673469 +19 1.11 0.784392 0.744898 +20 1.17 1.41204 0.887755 +21 1.23 0.638835 0.959184 +22 1.29 1.57646 1.15306 +23 1.35 1.59099 1.36735 +24 1.41 1.18068 1.54082 +25 1.47 1.02238 1.70408 +26 1.53 1.17972 1.90816 +27 1.59 1.14699 2.12245 +28 1.65 1.0651 2.33673 +29 1.71 1.13334 2.58163 +30 1.77 1.58672 2.94898 +31 1.83 0.989594 3.19388 +32 1.89 0.73448 3.38776 +33 1.95 0.907869 3.64286 +34 2.01 0.683585 3.84694 +35 2.07 1.28907 4.2551 +36 2.13 1.21747 4.66327 +37 2.19 0.748591 4.92857 +38 2.25 0.818309 5.23469 +39 2.31 1.06102 5.65306 +40 2.37 1.15549 6.13265 +41 2.43 1.00559 6.57143 +42 2.49 1.00226 7.03061 +43 2.55 1.23173 7.62245 +44 2.61 0.952762 8.10204 +45 2.67 1.22036 8.7449 +46 2.73 1.00055 9.29592 +47 2.79 0.975718 9.85714 +48 2.85 1.07108 10.5 +49 2.91 0.978445 11.1122 +50 2.97 0.876692 11.6837 +109050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.52926 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 1.39071 0.102041 +12 0.69 0.289878 0.112245 +13 0.75 0.981505 0.153061 +14 0.81 1.68309 0.234694 +15 0.87 0.729518 0.27551 +16 0.93 1.59614 0.377551 +17 0.99 1.12687 0.459184 +18 1.05 0.751348 0.520408 +19 1.11 1.0085 0.612245 +20 1.17 1.5129 0.765306 +21 1.23 1.46019 0.928571 +22 1.29 0.746744 1.02041 +23 1.35 1.3637 1.20408 +24 1.41 1.11123 1.36735 +25 1.47 1.02238 1.53061 +26 1.53 1.00276 1.70408 +27 1.59 1.20161 1.92857 +28 1.65 1.47085 2.22449 +29 1.71 1.0389 2.44898 +30 1.77 1.05782 2.69388 +31 1.83 1.19576 2.9898 +32 1.89 0.927765 3.23469 +33 1.95 0.907869 3.4898 +34 2.01 0.88866 3.7551 +35 2.07 1.32129 4.17347 +36 2.13 0.913104 4.47959 +37 2.19 1.00772 4.83673 +38 2.25 1.33657 5.33673 +39 2.31 1.0869 5.76531 +40 2.37 0.983392 6.17347 +41 2.43 1.12252 6.66327 +42 2.49 0.890896 7.07143 +43 2.55 1.14678 7.62245 +44 2.61 0.932491 8.09184 +45 2.67 0.910424 8.57143 +46 2.73 1.05613 9.15306 +47 2.79 1.17086 9.82653 +48 2.85 1.24109 10.5714 +49 2.91 0.864293 11.1122 +50 2.97 1.09587 11.8265 +109100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.59099 0.0306122 +10 0.57 0 0.0306122 +11 0.63 1.04303 0.0612245 +12 0.69 1.44939 0.112245 +13 0.75 1.22688 0.163265 +14 0.81 1.47271 0.234694 +15 0.87 0.729518 0.27551 +16 0.93 1.27691 0.357143 +17 0.99 0.563434 0.397959 +18 1.05 1.62792 0.530612 +19 1.11 0.784392 0.602041 +20 1.17 0.706021 0.673469 +21 1.23 1.27767 0.816327 +22 1.29 0.912687 0.928571 +23 1.35 1.28794 1.10204 +24 1.41 1.18068 1.27551 +25 1.47 1.02238 1.43878 +26 1.53 1.06175 1.62245 +27 1.59 1.36547 1.87755 +28 1.65 1.01438 2.08163 +29 1.71 1.13334 2.32653 +30 1.77 1.10189 2.58163 +31 1.83 0.989594 2.82653 +32 1.89 0.811794 3.04082 +33 1.95 0.871554 3.28571 +34 2.01 1.33299 3.68367 +35 2.07 1.22461 4.07143 +36 2.13 0.973977 4.39796 +37 2.19 1.00772 4.7551 +38 2.25 1.0638 5.15306 +39 2.31 1.00926 5.55102 +40 2.37 0.909638 5.92857 +41 2.43 1.09913 6.40816 +42 2.49 1.26953 6.9898 +43 2.55 0.998123 7.46939 +44 2.61 0.871676 7.90816 +45 2.67 0.871683 8.36735 +46 2.73 1.22289 9.04082 +47 2.79 0.851536 9.53061 +48 2.85 1.08808 10.1837 +49 2.91 0.864293 10.7245 +50 2.97 1.22111 11.5204 +109150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 0 0.0306122 +10 0.57 1.69862 0.0714286 +11 0.63 1.04303 0.102041 +12 0.69 1.44939 0.153061 +13 0.75 1.71763 0.22449 +14 0.81 1.47271 0.295918 +15 0.87 1.8238 0.397959 +16 0.93 1.43652 0.489796 +17 0.99 1.54944 0.602041 +18 1.05 1.12702 0.693878 +19 1.11 1.12056 0.795918 +20 1.17 0.605161 0.857143 +21 1.23 1.00388 0.969388 +22 1.29 0.995658 1.09184 +23 1.35 1.06066 1.23469 +24 1.41 0.763969 1.34694 +25 1.47 1.21407 1.54082 +26 1.53 1.00276 1.71429 +27 1.59 1.31085 1.95918 +28 1.65 1.01438 2.16327 +29 1.71 1.08612 2.39796 +30 1.77 1.19004 2.67347 +31 1.83 1.44316 3.03061 +32 1.89 1.15971 3.33673 +33 1.95 0.871554 3.58163 +34 2.01 1.09374 3.90816 +35 2.07 1.06348 4.2449 +36 2.13 0.973977 4.57143 +37 2.19 0.834967 4.86735 +38 2.25 1.14563 5.29592 +39 2.31 0.879867 5.64286 +40 2.37 0.762129 5.95918 +41 2.43 1.21606 6.4898 +42 2.49 1.20271 7.04082 +43 2.55 1.18925 7.61224 +44 2.61 0.871676 8.05102 +45 2.67 1.04602 8.60204 +46 2.73 1.11172 9.21429 +47 2.79 1.22408 9.91837 +48 2.85 0.918068 10.4694 +49 2.91 1.23936 11.2449 +50 2.97 0.908003 11.8367 +109200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 0 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 1.73839 0.112245 +12 0.69 1.44939 0.163265 +13 0.75 1.47226 0.22449 +14 0.81 1.47271 0.295918 +15 0.87 2.18855 0.418367 +16 0.93 0.957682 0.479592 +17 0.99 1.6903 0.602041 +18 1.05 1.5027 0.72449 +19 1.11 1.12056 0.826531 +20 1.17 0.706021 0.897959 +21 1.23 0.730097 0.979592 +22 1.29 1.32754 1.14286 +23 1.35 0.606091 1.22449 +24 1.41 1.38903 1.42857 +25 1.47 0.830683 1.56122 +26 1.53 0.884789 1.71429 +27 1.59 1.25623 1.94898 +28 1.65 1.21726 2.19388 +29 1.71 1.08612 2.42857 +30 1.77 1.01374 2.66327 +31 1.83 1.03083 2.91837 +32 1.89 1.39165 3.28571 +33 1.95 1.12576 3.60204 +34 2.01 0.957019 3.88776 +35 2.07 1.12793 4.2449 +36 2.13 1.12616 4.62245 +37 2.19 1.00772 4.97959 +38 2.25 1.30929 5.46939 +39 2.31 0.853989 5.80612 +40 2.37 1.00798 6.22449 +41 2.43 0.748345 6.55102 +42 2.49 1.0468 7.03061 +43 2.55 0.934413 7.47959 +44 2.61 1.19602 8.08163 +45 2.67 1.41406 8.82653 +46 2.73 1.01908 9.38776 +47 2.79 1.15312 10.051 +48 2.85 0.867064 10.5714 +49 2.91 1.0926 11.2551 +50 2.97 1.0489 11.9388 +109250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 1.06066 0.0408163 +10 0.57 0.84931 0.0612245 +11 0.63 1.04303 0.0918367 +12 0.69 1.15951 0.132653 +13 0.75 2.20839 0.22449 +14 0.81 1.47271 0.295918 +15 0.87 0.911898 0.346939 +16 0.93 1.27691 0.428571 +17 0.99 1.40859 0.530612 +18 1.05 1.75315 0.673469 +19 1.11 0.896448 0.755102 +20 1.17 1.61376 0.918367 +21 1.23 1.36893 1.07143 +22 1.29 1.1616 1.21429 +23 1.35 0.681852 1.30612 +24 1.41 1.04178 1.45918 +25 1.47 1.34187 1.67347 +26 1.53 0.884789 1.82653 +27 1.59 1.03775 2.02041 +28 1.65 0.659347 2.15306 +29 1.71 1.18057 2.40816 +30 1.77 0.969664 2.63265 +31 1.83 1.11329 2.90816 +32 1.89 1.31433 3.2551 +33 1.95 0.944184 3.52041 +34 2.01 1.29881 3.90816 +35 2.07 1.09571 4.2551 +36 2.13 0.913104 4.56122 +37 2.19 1.23805 5 +38 2.25 0.845586 5.31633 +39 2.31 1.21629 5.79592 +40 2.37 1.00798 6.21429 +41 2.43 1.12252 6.70408 +42 2.49 1.02453 7.17347 +43 2.55 1.12554 7.71429 +44 2.61 0.831133 8.13265 +45 2.67 1.18161 8.7551 +46 2.73 1.09319 9.35714 +47 2.79 0.745094 9.78571 +48 2.85 1.15609 10.4796 +49 2.91 0.929523 11.0612 +50 2.97 1.06455 11.7551 +109300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0 0.0204082 +9 0.51 2.65165 0.0714286 +10 0.57 2.12327 0.122449 +11 0.63 0.347678 0.132653 +12 0.69 0.579756 0.153061 +13 0.75 1.71763 0.22449 +14 0.81 0.210387 0.234694 +15 0.87 1.45904 0.316327 +16 0.93 1.43652 0.408163 +17 0.99 1.26773 0.5 +18 1.05 1.37747 0.612245 +19 1.11 1.45673 0.744898 +20 1.17 1.71462 0.918367 +21 1.23 1.36893 1.07143 +22 1.29 0.663772 1.15306 +23 1.35 1.51523 1.35714 +24 1.41 0.763969 1.46939 +25 1.47 1.15018 1.65306 +26 1.53 1.35668 1.88776 +27 1.59 1.31085 2.13265 +28 1.65 1.0651 2.34694 +29 1.71 0.944452 2.55102 +30 1.77 0.70521 2.71429 +31 1.83 0.948361 2.94898 +32 1.89 0.850451 3.17347 +33 1.95 1.2347 3.52041 +34 2.01 0.957019 3.80612 +35 2.07 1.09571 4.15306 +36 2.13 0.913104 4.45918 +37 2.19 1.00772 4.81633 +38 2.25 0.954694 5.17347 +39 2.31 1.19041 5.64286 +40 2.37 1.22924 6.15306 +41 2.43 1.07575 6.62245 +42 2.49 0.979986 7.07143 +43 2.55 1.14678 7.62245 +44 2.61 0.973034 8.11224 +45 2.67 1.27847 8.78571 +46 2.73 1.00055 9.33673 +47 2.79 0.993458 9.90816 +48 2.85 0.986073 10.5 +49 2.91 1.07629 11.1735 +50 2.97 1.1898 11.949 +109350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 1.27396 0.0612245 +11 0.63 0.347678 0.0714286 +12 0.69 1.44939 0.122449 +13 0.75 1.22688 0.173469 +14 0.81 1.89348 0.265306 +15 0.87 1.8238 0.367347 +16 0.93 1.59614 0.469388 +17 0.99 1.26773 0.561224 +18 1.05 0.876573 0.632653 +19 1.11 1.12056 0.734694 +20 1.17 1.31118 0.867347 +21 1.23 1.09515 0.989796 +22 1.29 0.663772 1.07143 +23 1.35 1.51523 1.27551 +24 1.41 0.902872 1.40816 +25 1.47 1.27797 1.61224 +26 1.53 1.12073 1.80612 +27 1.59 0.873898 1.96939 +28 1.65 1.26798 2.22449 +29 1.71 1.70001 2.59184 +30 1.77 1.05782 2.83673 +31 1.83 0.824661 3.04082 +32 1.89 0.811794 3.2551 +33 1.95 1.16207 3.58163 +34 2.01 0.88866 3.84694 +35 2.07 1.09571 4.19388 +36 2.13 0.85223 4.47959 +37 2.19 1.0653 4.85714 +38 2.25 0.90014 5.19388 +39 2.31 0.905746 5.55102 +40 2.37 1.00798 5.96939 +41 2.43 0.912046 6.36735 +42 2.49 0.913168 6.78571 +43 2.55 1.01936 7.27551 +44 2.61 0.770318 7.66327 +45 2.67 0.968536 8.17347 +46 2.73 1.09319 8.77551 +47 2.79 1.31278 9.53061 +48 2.85 1.2921 10.3061 +49 2.91 1.07629 10.9796 +50 2.97 0.782761 11.4898 +109400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 1.36191 0.0306122 +9 0.51 1.06066 0.0510204 +10 0.57 0 0.0510204 +11 0.63 1.73839 0.102041 +12 0.69 0.869633 0.132653 +13 0.75 2.69914 0.244898 +14 0.81 1.68309 0.326531 +15 0.87 2.18855 0.44898 +16 0.93 1.1173 0.520408 +17 0.99 1.26773 0.612245 +18 1.05 0.876573 0.683673 +19 1.11 1.34467 0.806122 +20 1.17 1.31118 0.938776 +21 1.23 0.912621 1.04082 +22 1.29 1.57646 1.23469 +23 1.35 0.909136 1.35714 +24 1.41 0.763969 1.46939 +25 1.47 0.95848 1.62245 +26 1.53 1.17972 1.82653 +27 1.59 1.03775 2.02041 +28 1.65 1.21726 2.26531 +29 1.71 1.27501 2.54082 +30 1.77 1.36634 2.85714 +31 1.83 0.989594 3.10204 +32 1.89 1.00508 3.36735 +33 1.95 0.944184 3.63265 +34 2.01 0.88866 3.89796 +35 2.07 0.805667 4.15306 +36 2.13 0.94354 4.46939 +37 2.19 0.662215 4.70408 +38 2.25 0.845586 5.02041 +39 2.31 1.3198 5.54082 +40 2.37 1.1309 6.0102 +41 2.43 1.07575 6.47959 +42 2.49 1.09135 6.97959 +43 2.55 1.01936 7.46939 +44 2.61 1.11493 8.03061 +45 2.67 0.929795 8.52041 +46 2.73 0.926433 9.03061 +47 2.79 0.798315 9.4898 +48 2.85 0.95207 10.0612 +49 2.91 1.05998 10.7245 +50 2.97 1.15849 11.4796 +109450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.81231 0.0204082 +8 0.45 0.680956 0.0306122 +9 0.51 1.06066 0.0510204 +10 0.57 0.84931 0.0714286 +11 0.63 1.04303 0.102041 +12 0.69 1.73927 0.163265 +13 0.75 1.47226 0.22449 +14 0.81 2.10387 0.326531 +15 0.87 1.8238 0.428571 +16 0.93 1.43652 0.520408 +17 0.99 1.26773 0.612245 +18 1.05 0.751348 0.673469 +19 1.11 0.224112 0.693878 +20 1.17 1.10946 0.806122 +21 1.23 1.09515 0.928571 +22 1.29 1.49349 1.11224 +23 1.35 0.984898 1.2449 +24 1.41 1.38903 1.44898 +25 1.47 1.08628 1.62245 +26 1.53 0.648845 1.73469 +27 1.59 1.4747 2.0102 +28 1.65 0.760786 2.16327 +29 1.71 1.18057 2.41837 +30 1.77 0.969664 2.64286 +31 1.83 0.989594 2.88776 +32 1.89 1.23702 3.21429 +33 1.95 1.16207 3.54082 +34 2.01 0.820302 3.78571 +35 2.07 1.06348 4.12245 +36 2.13 1.03485 4.46939 +37 2.19 1.15168 4.87755 +38 2.25 1.0638 5.27551 +39 2.31 0.879867 5.62245 +40 2.37 1.15549 6.10204 +41 2.43 0.958818 6.52041 +42 2.49 0.935441 6.94898 +43 2.55 1.16802 7.5102 +44 2.61 0.973034 8 +45 2.67 1.06539 8.56122 +46 2.73 1.05613 9.14286 +47 2.79 0.869276 9.64286 +48 2.85 1.12208 10.3163 +49 2.91 0.962138 10.9184 +50 2.97 1.01759 11.5816 +109500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 0.424655 0.0408163 +11 0.63 1.04303 0.0714286 +12 0.69 0.869633 0.102041 +13 0.75 0.736129 0.132653 +14 0.81 1.89348 0.22449 +15 0.87 1.8238 0.326531 +16 0.93 1.43652 0.418367 +17 0.99 1.6903 0.540816 +18 1.05 1.25225 0.642857 +19 1.11 1.0085 0.734694 +20 1.17 0.907742 0.826531 +21 1.23 1.36893 0.979592 +22 1.29 1.82537 1.20408 +23 1.35 0.530329 1.27551 +24 1.41 0.833421 1.39796 +25 1.47 1.02238 1.56122 +26 1.53 1.2387 1.77551 +27 1.59 1.20161 2 +28 1.65 1.52157 2.30612 +29 1.71 1.22779 2.57143 +30 1.77 1.01374 2.80612 +31 1.83 0.907127 3.03061 +32 1.89 1.12105 3.32653 +33 1.95 0.980499 3.60204 +34 2.01 1.23045 3.96939 +35 2.07 1.16016 4.33673 +36 2.13 0.821793 4.61224 +37 2.19 1.00772 4.96939 +38 2.25 0.927417 5.31633 +39 2.31 1.0869 5.7449 +40 2.37 1.1309 6.21429 +41 2.43 1.3096 6.78571 +42 2.49 1.00226 7.2449 +43 2.55 1.01936 7.73469 +44 2.61 0.912219 8.19388 +45 2.67 1.06539 8.7551 +46 2.73 1.07466 9.34694 +47 2.79 1.13538 10 +48 2.85 1.08808 10.6531 +49 2.91 0.880601 11.2041 +50 2.97 0.876692 11.7755 +109550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.52926 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0.84931 0.0510204 +11 0.63 1.39071 0.0918367 +12 0.69 1.44939 0.142857 +13 0.75 0.736129 0.173469 +14 0.81 1.26232 0.234694 +15 0.87 1.45904 0.316327 +16 0.93 1.27691 0.397959 +17 0.99 0.845152 0.459184 +18 1.05 1.25225 0.561224 +19 1.11 1.0085 0.653061 +20 1.17 0.806882 0.734694 +21 1.23 1.27767 0.877551 +22 1.29 1.49349 1.06122 +23 1.35 0.984898 1.19388 +24 1.41 0.694517 1.29592 +25 1.47 1.27797 1.5 +26 1.53 1.47465 1.7551 +27 1.59 1.14699 1.96939 +28 1.65 1.31869 2.23469 +29 1.71 0.944452 2.43878 +30 1.77 1.32227 2.7449 +31 1.83 1.27823 3.06122 +32 1.89 1.35299 3.41837 +33 1.95 0.980499 3.69388 +34 2.01 0.991198 3.9898 +35 2.07 1.22461 4.37755 +36 2.13 0.85223 4.66327 +37 2.19 1.0653 5.04082 +38 2.25 0.954694 5.39796 +39 2.31 0.983381 5.78571 +40 2.37 1.00798 6.20408 +41 2.43 0.912046 6.60204 +42 2.49 0.757262 6.94898 +43 2.55 0.998123 7.42857 +44 2.61 1.07439 7.96939 +45 2.67 0.891053 8.43878 +46 2.73 0.944962 8.95918 +47 2.79 1.11764 9.60204 +48 2.85 0.782058 10.0714 +49 2.91 1.07629 10.7449 +50 2.97 1.09587 11.4592 +109600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 1.59099 0.0408163 +10 0.57 1.69862 0.0816327 +11 0.63 1.39071 0.122449 +12 0.69 0.579756 0.142857 +13 0.75 0.736129 0.173469 +14 0.81 1.05193 0.22449 +15 0.87 1.8238 0.326531 +16 0.93 1.91536 0.44898 +17 0.99 1.40859 0.55102 +18 1.05 1.0018 0.632653 +19 1.11 0.784392 0.704082 +20 1.17 0.806882 0.785714 +21 1.23 1.27767 0.928571 +22 1.29 1.49349 1.11224 +23 1.35 1.28794 1.28571 +24 1.41 0.555614 1.36735 +25 1.47 1.15018 1.55102 +26 1.53 1.41566 1.79592 +27 1.59 0.710042 1.92857 +28 1.65 1.0651 2.14286 +29 1.71 0.850007 2.32653 +30 1.77 0.925588 2.54082 +31 1.83 1.03083 2.79592 +32 1.89 0.927765 3.04082 +33 1.95 0.980499 3.31633 +34 2.01 1.57224 3.78571 +35 2.07 1.12793 4.14286 +36 2.13 1.06529 4.5 +37 2.19 1.23805 4.93878 +38 2.25 0.90014 5.27551 +39 2.31 1.3198 5.79592 +40 2.37 1.05715 6.23469 +41 2.43 1.00559 6.67347 +42 2.49 1.13589 7.19388 +43 2.55 1.16802 7.7551 +44 2.61 0.770318 8.14286 +45 2.67 1.00728 8.67347 +46 2.73 1.13025 9.29592 +47 2.79 1.15312 9.95918 +48 2.85 0.867064 10.4796 +49 2.91 1.20675 11.2347 +50 2.97 1.09587 11.949 +109650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0 0.0204082 +10 0.57 2.54793 0.0816327 +11 0.63 0 0.0816327 +12 0.69 1.44939 0.132653 +13 0.75 1.96301 0.214286 +14 0.81 1.89348 0.306122 +15 0.87 2.00617 0.418367 +16 0.93 1.27691 0.5 +17 0.99 1.97202 0.642857 +18 1.05 1.37747 0.755102 +19 1.11 1.34467 0.877551 +20 1.17 1.21032 1 +21 1.23 0.730097 1.08163 +22 1.29 1.1616 1.22449 +23 1.35 1.43947 1.41837 +24 1.41 0.625065 1.5102 +25 1.47 1.08628 1.68367 +26 1.53 1.12073 1.87755 +27 1.59 1.09237 2.08163 +28 1.65 0.862224 2.2551 +29 1.71 0.755562 2.41837 +30 1.77 0.925588 2.63265 +31 1.83 1.07206 2.89796 +32 1.89 0.811794 3.11224 +33 1.95 0.798925 3.33673 +34 2.01 0.922839 3.61224 +35 2.07 0.837894 3.87755 +36 2.13 1.06529 4.23469 +37 2.19 1.15168 4.64286 +38 2.25 1.11836 5.06122 +39 2.31 1.0869 5.4898 +40 2.37 1.47509 6.10204 +41 2.43 1.09913 6.58163 +42 2.49 1.20271 7.13265 +43 2.55 1.10431 7.66327 +44 2.61 1.17575 8.2551 +45 2.67 1.22036 8.89796 +46 2.73 0.926433 9.40816 +47 2.79 1.20634 10.102 +48 2.85 1.15609 10.7959 +49 2.91 0.782756 11.2857 +50 2.97 0.829726 11.8265 +109700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 3.18198 0.0612245 +10 0.57 1.27396 0.0918367 +11 0.63 0.695356 0.112245 +12 0.69 0.869633 0.142857 +13 0.75 1.96301 0.22449 +14 0.81 2.10387 0.326531 +15 0.87 1.09428 0.387755 +16 0.93 1.75575 0.5 +17 0.99 1.40859 0.602041 +18 1.05 1.62792 0.734694 +19 1.11 1.56878 0.877551 +20 1.17 1.0086 0.979592 +21 1.23 0.912621 1.08163 +22 1.29 0.829715 1.18367 +23 1.35 1.59099 1.39796 +24 1.41 1.25013 1.58163 +25 1.47 1.34187 1.79592 +26 1.53 0.707831 1.91837 +27 1.59 1.25623 2.15306 +28 1.65 1.01438 2.35714 +29 1.71 1.08612 2.59184 +30 1.77 0.837437 2.78571 +31 1.83 1.03083 3.04082 +32 1.89 1.08239 3.32653 +33 1.95 0.798925 3.55102 +34 2.01 0.922839 3.82653 +35 2.07 0.870121 4.10204 +36 2.13 0.94354 4.41837 +37 2.19 0.978927 4.76531 +38 2.25 0.927417 5.11224 +39 2.31 1.21629 5.59184 +40 2.37 1.37675 6.16327 +41 2.43 1.09913 6.64286 +42 2.49 1.60361 7.37755 +43 2.55 1.01936 7.86735 +44 2.61 0.932491 8.33673 +45 2.67 1.06539 8.89796 +46 2.73 1.05613 9.47959 +47 2.79 1.08216 10.102 +48 2.85 0.697051 10.5204 +49 2.91 0.913216 11.0918 +50 2.97 0.970623 11.7245 +109750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0 0.0102041 +10 0.57 1.27396 0.0408163 +11 0.63 2.43375 0.112245 +12 0.69 1.15951 0.153061 +13 0.75 0.981505 0.193878 +14 0.81 0.841547 0.234694 +15 0.87 2.00617 0.346939 +16 0.93 0.957682 0.408163 +17 0.99 1.83116 0.540816 +18 1.05 1.12702 0.632653 +19 1.11 1.0085 0.72449 +20 1.17 0.907742 0.816327 +21 1.23 0.45631 0.867347 +22 1.29 1.57646 1.06122 +23 1.35 1.43947 1.2551 +24 1.41 1.59739 1.4898 +25 1.47 0.702885 1.60204 +26 1.53 0.943774 1.76531 +27 1.59 0.655424 1.88776 +28 1.65 1.11582 2.11224 +29 1.71 0.755562 2.27551 +30 1.77 1.27819 2.57143 +31 1.83 1.19576 2.86735 +32 1.89 1.04374 3.14286 +33 1.95 1.16207 3.46939 +34 2.01 0.922839 3.7449 +35 2.07 1.03125 4.07143 +36 2.13 1.00441 4.40816 +37 2.19 1.41081 4.90816 +38 2.25 0.981971 5.27551 +39 2.31 1.16453 5.73469 +40 2.37 0.934223 6.12245 +41 2.43 1.00559 6.56122 +42 2.49 1.20271 7.11224 +43 2.55 1.31667 7.7449 +44 2.61 0.973034 8.23469 +45 2.67 1.02665 8.77551 +46 2.73 0.982019 9.31633 +47 2.79 1.11764 9.95918 +48 2.85 1.07108 10.602 +49 2.91 0.913216 11.1735 +50 2.97 0.970623 11.8061 +109800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0.906153 0.0204082 +8 0.45 2.04287 0.0510204 +9 0.51 0.530329 0.0612245 +10 0.57 1.27396 0.0918367 +11 0.63 0.347678 0.102041 +12 0.69 0.579756 0.122449 +13 0.75 1.47226 0.183673 +14 0.81 2.52464 0.306122 +15 0.87 1.27666 0.377551 +16 0.93 1.75575 0.489796 +17 0.99 1.26773 0.581633 +18 1.05 1.12702 0.673469 +19 1.11 1.34467 0.795918 +20 1.17 0.806882 0.877551 +21 1.23 1.18641 1.0102 +22 1.29 0.912687 1.12245 +23 1.35 1.28794 1.29592 +24 1.41 0.833421 1.41837 +25 1.47 1.21407 1.61224 +26 1.53 0.884789 1.76531 +27 1.59 1.20161 1.9898 +28 1.65 1.0651 2.20408 +29 1.71 0.991675 2.41837 +30 1.77 0.440756 2.52041 +31 1.83 1.23699 2.82653 +32 1.89 0.850451 3.05102 +33 1.95 0.907869 3.30612 +34 2.01 1.19627 3.66327 +35 2.07 1.32129 4.08163 +36 2.13 1.18703 4.47959 +37 2.19 0.921343 4.80612 +38 2.25 0.927417 5.15306 +39 2.31 1.06102 5.57143 +40 2.37 0.811299 5.90816 +41 2.43 0.935432 6.31633 +42 2.49 1.00226 6.77551 +43 2.55 0.913177 7.21429 +44 2.61 1.21629 7.82653 +45 2.67 1.10413 8.40816 +46 2.73 1.16731 9.05102 +47 2.79 1.0112 9.63265 +48 2.85 0.81606 10.1224 +49 2.91 0.962138 10.7245 +50 2.97 1.25242 11.5408 +109850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0.906153 0.0102041 +8 0.45 0 0.0102041 +9 0.51 1.06066 0.0306122 +10 0.57 0 0.0306122 +11 0.63 0.695356 0.0510204 +12 0.69 1.15951 0.0918367 +13 0.75 0.736129 0.122449 +14 0.81 0.420773 0.142857 +15 0.87 0.911898 0.193878 +16 0.93 1.1173 0.265306 +17 0.99 1.54944 0.377551 +18 1.05 0.250449 0.397959 +19 1.11 1.0085 0.489796 +20 1.17 1.31118 0.622449 +21 1.23 0.547573 0.683673 +22 1.29 1.32754 0.846939 +23 1.35 1.13642 1 +24 1.41 1.66684 1.2449 +25 1.47 1.34187 1.45918 +26 1.53 1.2387 1.67347 +27 1.59 1.20161 1.89796 +28 1.65 1.57229 2.21429 +29 1.71 0.755562 2.37755 +30 1.77 1.14597 2.64286 +31 1.83 1.07206 2.90816 +32 1.89 0.850451 3.13265 +33 1.95 0.980499 3.40816 +34 2.01 1.19627 3.76531 +35 2.07 1.38575 4.20408 +36 2.13 0.730483 4.44898 +37 2.19 1.4396 4.95918 +38 2.25 0.872863 5.28571 +39 2.31 1.06102 5.70408 +40 2.37 1.35216 6.26531 +41 2.43 0.935432 6.67347 +42 2.49 0.935441 7.10204 +43 2.55 0.870703 7.52041 +44 2.61 1.13521 8.09184 +45 2.67 0.871683 8.55102 +46 2.73 1.11172 9.16327 +47 2.79 0.869276 9.66327 +48 2.85 0.884065 10.1939 +49 2.91 1.07629 10.8673 +50 2.97 1.06455 11.5612 +109900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0.680956 0.0102041 +9 0.51 0 0.0102041 +10 0.57 1.27396 0.0408163 +11 0.63 0.695356 0.0612245 +12 0.69 1.44939 0.112245 +13 0.75 1.22688 0.163265 +14 0.81 0.841547 0.204082 +15 0.87 3.28283 0.387755 +16 0.93 0.638455 0.428571 +17 0.99 0.98601 0.5 +18 1.05 0.500899 0.540816 +19 1.11 0.672336 0.602041 +20 1.17 1.31118 0.734694 +21 1.23 1.00388 0.846939 +22 1.29 1.24457 1 +23 1.35 1.59099 1.21429 +24 1.41 0.972324 1.35714 +25 1.47 0.830683 1.4898 +26 1.53 0.766817 1.62245 +27 1.59 0.873898 1.78571 +28 1.65 1.52157 2.09184 +29 1.71 1.60557 2.43878 +30 1.77 1.01374 2.67347 +31 1.83 0.948361 2.90816 +32 1.89 0.73448 3.10204 +33 1.95 1.16207 3.42857 +34 2.01 1.16209 3.77551 +35 2.07 0.966801 4.08163 +36 2.13 0.94354 4.39796 +37 2.19 1.00772 4.7551 +38 2.25 1.30929 5.2449 +39 2.31 1.24217 5.73469 +40 2.37 0.958808 6.13265 +41 2.43 1.02897 6.58163 +42 2.49 0.846351 6.96939 +43 2.55 1.0406 7.46939 +44 2.61 1.07439 8.0102 +45 2.67 1.23973 8.66327 +46 2.73 0.926433 9.17347 +47 2.79 1.20634 9.86735 +48 2.85 1.03708 10.4898 +49 2.91 0.978445 11.102 +50 2.97 1.01759 11.7653 +109950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 1.26463 0.0102041 +7 0.39 0 0.0102041 +8 0.45 0.680956 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 0 0.0306122 +11 0.63 2.08607 0.0918367 +12 0.69 0.289878 0.102041 +13 0.75 0.736129 0.132653 +14 0.81 0.63116 0.163265 +15 0.87 1.64142 0.255102 +16 0.93 1.59614 0.357143 +17 0.99 1.83116 0.489796 +18 1.05 0.876573 0.561224 +19 1.11 1.23262 0.673469 +20 1.17 1.0086 0.77551 +21 1.23 1.18641 0.908163 +22 1.29 1.32754 1.07143 +23 1.35 1.43947 1.26531 +24 1.41 0.625065 1.35714 +25 1.47 1.08628 1.53061 +26 1.53 1.17972 1.73469 +27 1.59 0.710042 1.86735 +28 1.65 0.963662 2.06122 +29 1.71 0.991675 2.27551 +30 1.77 0.837437 2.46939 +31 1.83 1.07206 2.73469 +32 1.89 1.27568 3.07143 +33 1.95 0.907869 3.32653 +34 2.01 1.16209 3.67347 +35 2.07 0.805667 3.92857 +36 2.13 1.27835 4.35714 +37 2.19 1.52597 4.89796 +38 2.25 1.28202 5.37755 +39 2.31 1.00926 5.77551 +40 2.37 0.885053 6.14286 +41 2.43 1.3096 6.71429 +42 2.49 1.35862 7.33673 +43 2.55 1.01936 7.82653 +44 2.61 0.810861 8.23469 +45 2.67 1.04602 8.78571 +46 2.73 1.09319 9.38776 +47 2.79 0.887016 9.89796 +48 2.85 1.03708 10.5204 +49 2.91 0.880601 11.0714 +50 2.97 0.861037 11.6327 +110000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.36191 0.0204082 +9 0.51 0.530329 0.0306122 +10 0.57 1.69862 0.0714286 +11 0.63 0.695356 0.0918367 +12 0.69 1.15951 0.132653 +13 0.75 0.736129 0.163265 +14 0.81 1.89348 0.255102 +15 0.87 1.09428 0.316327 +16 0.93 1.1173 0.387755 +17 0.99 1.6903 0.510204 +18 1.05 1.37747 0.622449 +19 1.11 0.896448 0.704082 +20 1.17 1.10946 0.816327 +21 1.23 1.18641 0.94898 +22 1.29 0.746744 1.04082 +23 1.35 1.28794 1.21429 +24 1.41 1.18068 1.38776 +25 1.47 1.72526 1.66327 +26 1.53 0.825803 1.80612 +27 1.59 1.14699 2.02041 +28 1.65 1.36941 2.29592 +29 1.71 1.22779 2.56122 +30 1.77 0.925588 2.77551 +31 1.83 1.15453 3.06122 +32 1.89 0.966422 3.31633 +33 1.95 1.01681 3.60204 +34 2.01 1.16209 3.94898 +35 2.07 1.03125 4.27551 +36 2.13 0.882667 4.57143 +37 2.19 0.777383 4.84694 +38 2.25 1.20019 5.29592 +39 2.31 0.983381 5.68367 +40 2.37 1.00798 6.10204 +41 2.43 1.19268 6.62245 +42 2.49 1.02453 7.09184 +43 2.55 1.14678 7.64286 +44 2.61 1.13521 8.21429 +45 2.67 1.06539 8.77551 +46 2.73 1.05613 9.35714 +47 2.79 0.887016 9.86735 +48 2.85 0.986073 10.4592 +49 2.91 1.0926 11.1429 +50 2.97 1.20545 11.9286 diff --git a/examples/USER/misc/slater/tmp_3_3.rdf b/examples/USER/misc/slater/tmp_3_3.rdf new file mode 100644 index 0000000000000000000000000000000000000000..e17bb1e5946c6d177b6c81bc02bd18048174007d --- /dev/null +++ b/examples/USER/misc/slater/tmp_3_3.rdf @@ -0,0 +1,10254 @@ +# Time-averaged data for fix 16 +# TimeStep Number-of-rows +# Row c_RDF_3_3[1] c_RDF_3_3[2] c_RDF_3_3[3] +100000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0 0.0816327 +15 0.87 0.737039 0.122449 +16 0.93 0.645037 0.163265 +17 0.99 0.569243 0.204082 +18 1.05 1.01213 0.285714 +19 1.11 0.452845 0.326531 +20 1.17 0.6114 0.387755 +21 1.23 0.922029 0.489796 +22 1.29 1.84419 0.714286 +23 1.35 0.765424 0.816327 +24 1.41 0.421006 0.877551 +25 1.47 0.25823 0.918367 +26 1.53 0.715128 1.04082 +27 1.59 1.214 1.26531 +28 1.65 0.922354 1.44898 +29 1.71 1.14503 1.69388 +30 1.77 0.71248 1.85714 +31 1.83 0.583214 2 +32 1.89 1.24977 2.32653 +33 1.95 0.880539 2.57143 +34 2.01 1.24314 2.93878 +35 2.07 0.846532 3.20408 +36 2.13 0.922517 3.5102 +37 2.19 0.639953 3.73469 +38 2.25 1.26768 4.20408 +39 2.31 0.732067 4.4898 +40 2.37 0.695471 4.77551 +41 2.43 0.661553 5.06122 +42 2.49 1.30512 5.65306 +43 2.55 0.72949 6 +44 2.61 0.860182 6.42857 +45 2.67 1.40907 7.16327 +46 2.73 1.08574 7.7551 +47 2.79 1.29047 8.4898 +48 2.85 1.0993 9.14286 +49 2.91 1.12034 9.83673 +50 2.97 1.10716 10.551 +100050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.7572 0.102041 +13 0.75 0 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 0.284622 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 0 0.367347 +20 1.17 0.8152 0.44898 +21 1.23 0.922029 0.55102 +22 1.29 1.00592 0.673469 +23 1.35 0.612339 0.755102 +24 1.41 0.701677 0.857143 +25 1.47 0.645574 0.959184 +26 1.53 0.953504 1.12245 +27 1.59 0.993271 1.30612 +28 1.65 0.819871 1.46939 +29 1.71 0.763351 1.63265 +30 1.77 0.71248 1.79592 +31 1.83 1.33306 2.12245 +32 1.89 1.09355 2.40816 +33 1.95 1.17405 2.73469 +34 2.01 0.345316 2.83673 +35 2.07 0.781414 3.08163 +36 2.13 0.676513 3.30612 +37 2.19 1.27991 3.7551 +38 2.25 0.771629 4.04082 +39 2.31 1.0981 4.46939 +40 2.37 1.39094 5.04082 +41 2.43 0.850568 5.40816 +42 2.49 1.03509 5.87755 +43 2.55 1.28734 6.4898 +44 2.61 0.655377 6.81633 +45 2.67 0.978521 7.32653 +46 2.73 1.34782 8.06122 +47 2.79 1.14709 8.71429 +48 2.85 0.858826 9.22449 +49 2.91 0.988533 9.83673 +50 2.97 0.98063 10.4694 +100100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 0 0.0204082 +14 0.81 0.850222 0.0612245 +15 0.87 0.737039 0.102041 +16 0.93 0 0.102041 +17 0.99 0.853865 0.163265 +18 1.05 1.51819 0.285714 +19 1.11 0.679267 0.346939 +20 1.17 0.4076 0.387755 +21 1.23 0.922029 0.489796 +22 1.29 0.838269 0.591837 +23 1.35 0.918509 0.714286 +24 1.41 0.701677 0.816327 +25 1.47 1.16203 1 +26 1.53 1.19188 1.20408 +27 1.59 0.551817 1.30612 +28 1.65 0.614903 1.42857 +29 1.71 0.572513 1.55102 +30 1.77 1.24684 1.83673 +31 1.83 1.41638 2.18367 +32 1.89 0.937329 2.42857 +33 1.95 0.953918 2.69388 +34 2.01 0.759695 2.91837 +35 2.07 0.976768 3.22449 +36 2.13 0.799515 3.4898 +37 2.19 0.930841 3.81633 +38 2.25 1.15744 4.2449 +39 2.31 1.0981 4.67347 +40 2.37 1.24191 5.18367 +41 2.43 1.27585 5.73469 +42 2.49 0.900081 6.14286 +43 2.55 1.20151 6.71429 +44 2.61 1.43364 7.42857 +45 2.67 1.13508 8.02041 +46 2.73 0.861105 8.4898 +47 2.79 0.824468 8.95918 +48 2.85 0.652708 9.34694 +49 2.91 0.757875 9.81633 +50 2.97 1.3286 10.6735 +100150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0 0 +13 0.75 1.98325 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.47408 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 0 0.244898 +18 1.05 1.26516 0.346939 +19 1.11 0.226422 0.367347 +20 1.17 1.019 0.469388 +21 1.23 1.29084 0.612245 +22 1.29 0.838269 0.714286 +23 1.35 0.612339 0.795918 +24 1.41 0.561342 0.877551 +25 1.47 1.03292 1.04082 +26 1.53 1.07269 1.22449 +27 1.59 0.882908 1.38776 +28 1.65 0.819871 1.55102 +29 1.71 0.763351 1.71429 +30 1.77 1.42496 2.04082 +31 1.83 0.999796 2.28571 +32 1.89 0.781108 2.4898 +33 1.95 0.880539 2.73469 +34 2.01 1.17407 3.08163 +35 2.07 1.30236 3.4898 +36 2.13 0.861016 3.77551 +37 2.19 0.814486 4.06122 +38 2.25 0.826745 4.36735 +39 2.31 1.35955 4.89796 +40 2.37 0.894177 5.26531 +41 2.43 1.2286 5.79592 +42 2.49 0.990089 6.2449 +43 2.55 0.901135 6.67347 +44 2.61 1.02403 7.18367 +45 2.67 1.0568 7.73469 +46 2.73 1.08574 8.32653 +47 2.79 0.752775 8.7551 +48 2.85 1.03059 9.36735 +49 2.91 0.790826 9.85714 +50 2.97 0.854097 10.4082 +100200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0 0.102041 +14 0.81 0 0.102041 +15 0.87 1.47408 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 1.99235 0.367347 +18 1.05 1.26516 0.469388 +19 1.11 0.679267 0.530612 +20 1.17 0.8152 0.612245 +21 1.23 0.922029 0.714286 +22 1.29 1.34123 0.877551 +23 1.35 0.918509 1 +24 1.41 0.842013 1.12245 +25 1.47 1.42026 1.34694 +26 1.53 1.07269 1.53061 +27 1.59 1.10363 1.73469 +28 1.65 1.22981 1.97959 +29 1.71 0.763351 2.14286 +30 1.77 0.4453 2.2449 +31 1.83 0.916479 2.46939 +32 1.89 1.09355 2.7551 +33 1.95 0.953918 3.02041 +34 2.01 0.690632 3.22449 +35 2.07 0.976768 3.53061 +36 2.13 0.984018 3.85714 +37 2.19 1.27991 4.30612 +38 2.25 0.716512 4.57143 +39 2.31 0.679776 4.83673 +40 2.37 0.695471 5.12245 +41 2.43 1.27585 5.67347 +42 2.49 0.990089 6.12245 +43 2.55 0.772402 6.4898 +44 2.61 1.02403 7 +45 2.67 1.0568 7.55102 +46 2.73 1.16062 8.18367 +47 2.79 1.21878 8.87755 +48 2.85 0.79012 9.34694 +49 2.91 1.02148 9.97959 +50 2.97 0.98063 10.6122 +100250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 0.850222 0.0816327 +15 0.87 1.8426 0.183673 +16 0.93 1.61259 0.285714 +17 0.99 0 0.285714 +18 1.05 0.759094 0.346939 +19 1.11 0.452845 0.387755 +20 1.17 0.8152 0.469388 +21 1.23 2.39728 0.734694 +22 1.29 1.00592 0.857143 +23 1.35 1.22468 1.02041 +24 1.41 1.54369 1.2449 +25 1.47 0.129115 1.26531 +26 1.53 0.834316 1.40816 +27 1.59 0.882908 1.57143 +28 1.65 1.22981 1.81633 +29 1.71 1.14503 2.06122 +30 1.77 0.979661 2.28571 +31 1.83 0.833163 2.4898 +32 1.89 1.01544 2.7551 +33 1.95 1.10067 3.06122 +34 2.01 0.690632 3.26531 +35 2.07 1.107 3.61224 +36 2.13 0.615011 3.81633 +37 2.19 1.10537 4.20408 +38 2.25 1.37791 4.71429 +39 2.31 0.522905 4.91837 +40 2.37 0.794824 5.2449 +41 2.43 1.13409 5.73469 +42 2.49 0.720064 6.06122 +43 2.55 0.772402 6.42857 +44 2.61 0.942104 6.89796 +45 2.67 1.40907 7.63265 +46 2.73 0.823666 8.08163 +47 2.79 1.32632 8.83673 +48 2.85 1.13365 9.5102 +49 2.91 0.889679 10.0612 +50 2.97 1.01226 10.7143 +100300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 2.55067 0.183673 +15 0.87 1.47408 0.265306 +16 0.93 1.29007 0.346939 +17 0.99 0.853865 0.408163 +18 1.05 1.77122 0.55102 +19 1.11 0.90569 0.632653 +20 1.17 1.019 0.734694 +21 1.23 0.368812 0.77551 +22 1.29 1.00592 0.897959 +23 1.35 1.37776 1.08163 +24 1.41 0.982348 1.22449 +25 1.47 0.387344 1.28571 +26 1.53 0.715128 1.40816 +27 1.59 0.882908 1.57143 +28 1.65 0.819871 1.73469 +29 1.71 0.85877 1.91837 +30 1.77 1.3359 2.22449 +31 1.83 0.749847 2.40816 +32 1.89 0.546775 2.55102 +33 1.95 0.953918 2.81633 +34 2.01 0.897822 3.08163 +35 2.07 1.23724 3.46939 +36 2.13 0.676513 3.69388 +37 2.19 1.16355 4.10204 +38 2.25 1.10233 4.5102 +39 2.31 1.20268 4.97959 +40 2.37 0.794824 5.30612 +41 2.43 1.18134 5.81633 +42 2.49 0.630056 6.10204 +43 2.55 1.07278 6.61224 +44 2.61 1.10595 7.16327 +45 2.67 1.21337 7.79592 +46 2.73 1.16062 8.42857 +47 2.79 0.967854 8.97959 +48 2.85 1.03059 9.59184 +49 2.91 1.31804 10.4082 +50 2.97 0.917363 11 +100350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0 0.0612245 +15 0.87 1.10556 0.122449 +16 0.93 1.93511 0.244898 +17 0.99 1.13849 0.326531 +18 1.05 0 0.326531 +19 1.11 0.452845 0.367347 +20 1.17 0 0.367347 +21 1.23 0.737623 0.44898 +22 1.29 1.00592 0.571429 +23 1.35 1.37776 0.755102 +24 1.41 0.421006 0.816327 +25 1.47 0.774689 0.938776 +26 1.53 0.59594 1.04082 +27 1.59 0.662181 1.16327 +28 1.65 1.33229 1.42857 +29 1.71 1.04961 1.65306 +30 1.77 1.06872 1.89796 +31 1.83 1.16643 2.18367 +32 1.89 0.859219 2.40816 +33 1.95 0.807161 2.63265 +34 2.01 0.759695 2.85714 +35 2.07 1.04189 3.18367 +36 2.13 0.922517 3.4898 +37 2.19 0.989019 3.83673 +38 2.25 1.26768 4.30612 +39 2.31 1.04581 4.71429 +40 2.37 0.894177 5.08163 +41 2.43 1.08684 5.55102 +42 2.49 0.945085 5.97959 +43 2.55 1.33025 6.61224 +44 2.61 1.06499 7.14286 +45 2.67 0.93938 7.63265 +46 2.73 1.0483 8.20408 +47 2.79 1.03955 8.79592 +48 2.85 1.03059 9.40816 +49 2.91 0.988533 10.0204 +50 2.97 1.29696 10.8571 +100400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0 0.0204082 +14 0.81 0.850222 0.0612245 +15 0.87 1.10556 0.122449 +16 0.93 0.322518 0.142857 +17 0.99 1.42311 0.244898 +18 1.05 0.506063 0.285714 +19 1.11 0 0.285714 +20 1.17 0.4076 0.326531 +21 1.23 1.10644 0.44898 +22 1.29 1.34123 0.612245 +23 1.35 0.918509 0.734694 +24 1.41 0.561342 0.816327 +25 1.47 1.03292 0.979592 +26 1.53 1.07269 1.16327 +27 1.59 0.882908 1.32653 +28 1.65 0.922354 1.5102 +29 1.71 0.763351 1.67347 +30 1.77 0.890601 1.87755 +31 1.83 0.416582 1.97959 +32 1.89 1.09355 2.26531 +33 1.95 0.953918 2.53061 +34 2.01 0.828758 2.77551 +35 2.07 1.04189 3.10204 +36 2.13 1.35303 3.55102 +37 2.19 0.756309 3.81633 +38 2.25 1.10233 4.22449 +39 2.31 1.0981 4.65306 +40 2.37 1.09288 5.10204 +41 2.43 0.614299 5.36735 +42 2.49 0.810072 5.73469 +43 2.55 1.1586 6.28571 +44 2.61 0.942104 6.7551 +45 2.67 1.09594 7.32653 +46 2.73 1.12318 7.93878 +47 2.79 0.896161 8.44898 +48 2.85 1.13365 9.12245 +49 2.91 1.12034 9.81633 +50 2.97 1.2337 10.6122 +100450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 3.81206 0.0204082 +6 0.33 0 0.0204082 +7 0.39 1.83099 0.0408163 +8 0.45 0 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 1.10556 0.265306 +16 0.93 1.61259 0.367347 +17 0.99 0.569243 0.408163 +18 1.05 1.01213 0.489796 +19 1.11 0.679267 0.55102 +20 1.17 0.6114 0.612245 +21 1.23 0.737623 0.693878 +22 1.29 1.34123 0.857143 +23 1.35 0.30617 0.897959 +24 1.41 0.561342 0.979592 +25 1.47 0.774689 1.10204 +26 1.53 1.19188 1.30612 +27 1.59 1.214 1.53061 +28 1.65 1.22981 1.77551 +29 1.71 0.572513 1.89796 +30 1.77 0.71248 2.06122 +31 1.83 1.41638 2.40816 +32 1.89 1.32788 2.7551 +33 1.95 0.807161 2.97959 +34 2.01 0.552506 3.14286 +35 2.07 0.91165 3.42857 +36 2.13 0.922517 3.73469 +37 2.19 0.930841 4.06122 +38 2.25 0.992094 4.42857 +39 2.31 1.0981 4.85714 +40 2.37 0.943854 5.2449 +41 2.43 0.850568 5.61224 +42 2.49 0.855076 6 +43 2.55 1.02987 6.4898 +44 2.61 1.06499 7.02041 +45 2.67 1.13508 7.61224 +46 2.73 0.786226 8.04082 +47 2.79 1.14709 8.69388 +48 2.85 0.996238 9.28571 +49 2.91 0.955581 9.87755 +50 2.97 1.07553 10.5714 +100500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 0 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 1.42311 0.306122 +18 1.05 0.506063 0.346939 +19 1.11 0.90569 0.428571 +20 1.17 0 0.428571 +21 1.23 0.553218 0.489796 +22 1.29 1.00592 0.612245 +23 1.35 1.22468 0.77551 +24 1.41 1.40335 0.979592 +25 1.47 0.25823 1.02041 +26 1.53 1.43026 1.26531 +27 1.59 1.214 1.4898 +28 1.65 0.819871 1.65306 +29 1.71 1.14503 1.89796 +30 1.77 0.890601 2.10204 +31 1.83 0.583214 2.2449 +32 1.89 1.24977 2.57143 +33 1.95 1.54094 3 +34 2.01 0.552506 3.16327 +35 2.07 0.976768 3.46939 +36 2.13 0.861016 3.7551 +37 2.19 0.581776 3.95918 +38 2.25 1.26768 4.42857 +39 2.31 0.784357 4.73469 +40 2.37 0.943854 5.12245 +41 2.43 1.32311 5.69388 +42 2.49 0.855076 6.08163 +43 2.55 1.28734 6.69388 +44 2.61 0.819221 7.10204 +45 2.67 0.665394 7.44898 +46 2.73 1.31038 8.16327 +47 2.79 1.03955 8.7551 +48 2.85 0.79012 9.22449 +49 2.91 1.02148 9.85714 +50 2.97 0.948997 10.4694 +100550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 1.98325 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 1.61259 0.265306 +17 0.99 1.13849 0.346939 +18 1.05 0.506063 0.387755 +19 1.11 1.13211 0.489796 +20 1.17 1.4266 0.632653 +21 1.23 0.737623 0.714286 +22 1.29 1.67654 0.918367 +23 1.35 0.612339 1 +24 1.41 0.982348 1.14286 +25 1.47 1.03292 1.30612 +26 1.53 0.357564 1.36735 +27 1.59 0.662181 1.4898 +28 1.65 0.922354 1.67347 +29 1.71 0.85877 1.85714 +30 1.77 0.80154 2.04082 +31 1.83 1.08311 2.30612 +32 1.89 0.546775 2.44898 +33 1.95 1.17405 2.77551 +34 2.01 0.897822 3.04082 +35 2.07 1.04189 3.36735 +36 2.13 1.04552 3.71429 +37 2.19 1.33808 4.18367 +38 2.25 1.10233 4.59184 +39 2.31 0.575195 4.81633 +40 2.37 0.695471 5.10204 +41 2.43 1.32311 5.67347 +42 2.49 0.900081 6.08163 +43 2.55 0.901135 6.5102 +44 2.61 0.901143 6.95918 +45 2.67 1.09594 7.53061 +46 2.73 0.898544 8.02041 +47 2.79 1.21878 8.71429 +48 2.85 1.0993 9.36735 +49 2.91 1.12034 10.0612 +50 2.97 0.759197 10.551 +100600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 1.10556 0.163265 +16 0.93 2.25763 0.306122 +17 0.99 1.13849 0.387755 +18 1.05 0.506063 0.428571 +19 1.11 0.452845 0.469388 +20 1.17 1.019 0.571429 +21 1.23 1.29084 0.714286 +22 1.29 1.00592 0.836735 +23 1.35 0.918509 0.959184 +24 1.41 0.982348 1.10204 +25 1.47 0.516459 1.18367 +26 1.53 0.834316 1.32653 +27 1.59 1.214 1.55102 +28 1.65 0.614903 1.67347 +29 1.71 1.14503 1.91837 +30 1.77 0.62342 2.06122 +31 1.83 0.999796 2.30612 +32 1.89 0.624886 2.46939 +33 1.95 0.953918 2.73469 +34 2.01 1.24314 3.10204 +35 2.07 1.04189 3.42857 +36 2.13 0.738014 3.67347 +37 2.19 0.756309 3.93878 +38 2.25 0.771629 4.22449 +39 2.31 0.888938 4.57143 +40 2.37 1.04321 5 +41 2.43 1.32311 5.57143 +42 2.49 0.900081 5.97959 +43 2.55 1.02987 6.46939 +44 2.61 1.22883 7.08163 +45 2.67 1.09594 7.65306 +46 2.73 0.935984 8.16327 +47 2.79 1.14709 8.81633 +48 2.85 0.652708 9.20408 +49 2.91 1.08739 9.87755 +50 2.97 1.20206 10.6531 +100650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 1.48744 0.102041 +14 0.81 0 0.102041 +15 0.87 1.47408 0.183673 +16 0.93 1.29007 0.265306 +17 0.99 0.853865 0.326531 +18 1.05 1.01213 0.408163 +19 1.11 1.35853 0.530612 +20 1.17 1.019 0.632653 +21 1.23 0.737623 0.714286 +22 1.29 1.50888 0.897959 +23 1.35 0.30617 0.938776 +24 1.41 0.561342 1.02041 +25 1.47 1.03292 1.18367 +26 1.53 0.59594 1.28571 +27 1.59 0.772544 1.42857 +28 1.65 0.819871 1.59184 +29 1.71 0.763351 1.7551 +30 1.77 0.890601 1.95918 +31 1.83 1.08311 2.22449 +32 1.89 1.09355 2.5102 +33 1.95 0.733783 2.71429 +34 2.01 1.24314 3.08163 +35 2.07 0.976768 3.38776 +36 2.13 0.55351 3.57143 +37 2.19 0.581776 3.77551 +38 2.25 0.936978 4.12245 +39 2.31 0.679776 4.38776 +40 2.37 1.39094 4.95918 +41 2.43 1.46487 5.59184 +42 2.49 0.855076 5.97959 +43 2.55 1.20151 6.55102 +44 2.61 0.983065 7.04082 +45 2.67 0.93938 7.53061 +46 2.73 0.823666 7.97959 +47 2.79 0.788621 8.42857 +48 2.85 1.23671 9.16327 +49 2.91 1.21919 9.91837 +50 2.97 1.07553 10.6122 +100700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 1.10556 0.163265 +16 0.93 0.322518 0.183673 +17 0.99 1.13849 0.265306 +18 1.05 0.506063 0.306122 +19 1.11 0.452845 0.346939 +20 1.17 1.019 0.44898 +21 1.23 0.922029 0.55102 +22 1.29 1.00592 0.673469 +23 1.35 0.30617 0.714286 +24 1.41 1.40335 0.918367 +25 1.47 1.03292 1.08163 +26 1.53 1.19188 1.28571 +27 1.59 0.882908 1.44898 +28 1.65 0.819871 1.61224 +29 1.71 0.572513 1.73469 +30 1.77 1.15778 2 +31 1.83 0.583214 2.14286 +32 1.89 1.4841 2.53061 +33 1.95 1.32081 2.89796 +34 2.01 0.897822 3.16327 +35 2.07 0.976768 3.46939 +36 2.13 0.799515 3.73469 +37 2.19 0.581776 3.93878 +38 2.25 1.26768 4.40816 +39 2.31 0.679776 4.67347 +40 2.37 0.894177 5.04082 +41 2.43 1.08684 5.5102 +42 2.49 1.26011 6.08163 +43 2.55 0.944046 6.53061 +44 2.61 1.06499 7.06122 +45 2.67 0.90024 7.53061 +46 2.73 1.0483 8.10204 +47 2.79 0.967854 8.65306 +48 2.85 0.961885 9.22449 +49 2.91 1.18624 9.95918 +50 2.97 1.07553 10.6531 +100750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 2.34293 0.142857 +13 0.75 0 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 0.368519 0.183673 +16 0.93 0 0.183673 +17 0.99 0.284622 0.204082 +18 1.05 0.759094 0.265306 +19 1.11 1.58496 0.408163 +20 1.17 0.8152 0.489796 +21 1.23 1.84406 0.693878 +22 1.29 0.502961 0.755102 +23 1.35 0.918509 0.877551 +24 1.41 0.421006 0.938776 +25 1.47 0.903804 1.08163 +26 1.53 1.07269 1.26531 +27 1.59 0.551817 1.36735 +28 1.65 1.53726 1.67347 +29 1.71 0.667932 1.81633 +30 1.77 1.06872 2.06122 +31 1.83 0.749847 2.2449 +32 1.89 0.546775 2.38776 +33 1.95 1.0273 2.67347 +34 2.01 1.17407 3.02041 +35 2.07 0.91165 3.30612 +36 2.13 1.29152 3.73469 +37 2.19 1.16355 4.14286 +38 2.25 1.10233 4.55102 +39 2.31 1.0981 4.97959 +40 2.37 0.794824 5.30612 +41 2.43 1.13409 5.79592 +42 2.49 0.67506 6.10204 +43 2.55 1.02987 6.59184 +44 2.61 1.18787 7.18367 +45 2.67 0.704535 7.55102 +46 2.73 0.786226 7.97959 +47 2.79 1.0037 8.55102 +48 2.85 1.20236 9.26531 +49 2.91 0.856728 9.79592 +50 2.97 1.0439 10.4694 +100800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 1.29007 0.22449 +17 0.99 1.13849 0.306122 +18 1.05 0.506063 0.346939 +19 1.11 0.679267 0.408163 +20 1.17 0.6114 0.469388 +21 1.23 1.29084 0.612245 +22 1.29 0.335308 0.653061 +23 1.35 0.765424 0.755102 +24 1.41 0.982348 0.897959 +25 1.47 1.29115 1.10204 +26 1.53 1.19188 1.30612 +27 1.59 1.214 1.53061 +28 1.65 1.33229 1.79592 +29 1.71 0.572513 1.91837 +30 1.77 0.80154 2.10204 +31 1.83 0.66653 2.26531 +32 1.89 0.702997 2.44898 +33 1.95 1.46757 2.85714 +34 2.01 0.690632 3.06122 +35 2.07 1.107 3.40816 +36 2.13 1.10702 3.77551 +37 2.19 0.872664 4.08163 +38 2.25 0.771629 4.36735 +39 2.31 1.35955 4.89796 +40 2.37 0.844501 5.2449 +41 2.43 1.13409 5.73469 +42 2.49 0.900081 6.14286 +43 2.55 0.986958 6.61224 +44 2.61 1.06499 7.14286 +45 2.67 0.93938 7.63265 +46 2.73 0.935984 8.14286 +47 2.79 0.932007 8.67347 +48 2.85 0.858826 9.18367 +49 2.91 0.92263 9.7551 +50 2.97 0.88573 10.3265 +100850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 2.5742 0.0612245 +11 0.63 0 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 2.21112 0.326531 +16 0.93 1.61259 0.428571 +17 0.99 1.42311 0.530612 +18 1.05 0.253031 0.55102 +19 1.11 0 0.55102 +20 1.17 0.2038 0.571429 +21 1.23 1.65965 0.755102 +22 1.29 0.838269 0.857143 +23 1.35 0.612339 0.938776 +24 1.41 0.842013 1.06122 +25 1.47 0.516459 1.14286 +26 1.53 0.834316 1.28571 +27 1.59 1.10363 1.4898 +28 1.65 1.33229 1.7551 +29 1.71 1.24045 2.02041 +30 1.77 1.42496 2.34694 +31 1.83 1.16643 2.63265 +32 1.89 0.624886 2.79592 +33 1.95 0.733783 3 +34 2.01 1.03595 3.30612 +35 2.07 0.91165 3.59184 +36 2.13 0.861016 3.87755 +37 2.19 1.33808 4.34694 +38 2.25 0.992094 4.71429 +39 2.31 0.941229 5.08163 +40 2.37 0.596118 5.32653 +41 2.43 1.2286 5.85714 +42 2.49 0.990089 6.30612 +43 2.55 0.944046 6.7551 +44 2.61 1.26979 7.38776 +45 2.67 1.09594 7.95918 +46 2.73 0.823666 8.40816 +47 2.79 1.0037 8.97959 +48 2.85 1.30542 9.7551 +49 2.91 0.823777 10.2653 +50 2.97 0.98063 10.898 +100900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 3.40089 0.265306 +15 0.87 0.737039 0.306122 +16 0.93 0.645037 0.346939 +17 0.99 0.284622 0.367347 +18 1.05 0.253031 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 0.8152 0.530612 +21 1.23 1.29084 0.673469 +22 1.29 0.335308 0.714286 +23 1.35 1.83702 0.959184 +24 1.41 1.12268 1.12245 +25 1.47 0.387344 1.18367 +26 1.53 1.19188 1.38776 +27 1.59 1.214 1.61224 +28 1.65 0.717387 1.7551 +29 1.71 1.33586 2.04082 +30 1.77 1.60308 2.40816 +31 1.83 1.24974 2.71429 +32 1.89 0.859219 2.93878 +33 1.95 1.0273 3.22449 +34 2.01 0.897822 3.4898 +35 2.07 0.455825 3.63265 +36 2.13 1.35303 4.08163 +37 2.19 0.872664 4.38776 +38 2.25 0.881861 4.71429 +39 2.31 1.41184 5.26531 +40 2.37 0.943854 5.65306 +41 2.43 1.03958 6.10204 +42 2.49 0.810072 6.46939 +43 2.55 0.986958 6.93878 +44 2.61 0.983065 7.42857 +45 2.67 0.978521 7.93878 +46 2.73 0.786226 8.36735 +47 2.79 1.03955 8.95918 +48 2.85 0.652708 9.34694 +49 2.91 0.626071 9.73469 +50 2.97 1.01226 10.3878 +100950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 2.10758 0.0612245 +12 0.69 0 0.0612245 +13 0.75 1.98325 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.967555 0.306122 +17 0.99 0.853865 0.367347 +18 1.05 1.01213 0.44898 +19 1.11 1.58496 0.591837 +20 1.17 1.019 0.693878 +21 1.23 1.29084 0.836735 +22 1.29 1.17358 0.979592 +23 1.35 0.459254 1.04082 +24 1.41 0.701677 1.14286 +25 1.47 0.25823 1.18367 +26 1.53 1.54944 1.44898 +27 1.59 0.551817 1.55102 +28 1.65 1.12732 1.77551 +29 1.71 0.667932 1.91837 +30 1.77 0.890601 2.12245 +31 1.83 0.749847 2.30612 +32 1.89 0.781108 2.5102 +33 1.95 1.32081 2.87755 +34 2.01 0.621569 3.06122 +35 2.07 0.520943 3.22449 +36 2.13 0.984018 3.55102 +37 2.19 0.872664 3.85714 +38 2.25 0.826745 4.16327 +39 2.31 1.20268 4.63265 +40 2.37 1.04321 5.06122 +41 2.43 0.803314 5.40816 +42 2.49 0.630056 5.69388 +43 2.55 0.944046 6.14286 +44 2.61 1.06499 6.67347 +45 2.67 0.861099 7.12245 +46 2.73 0.861105 7.59184 +47 2.79 1.07539 8.20408 +48 2.85 1.27106 8.95918 +49 2.91 0.757875 9.42857 +50 2.97 0.88573 10 +101000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 0.967555 0.265306 +17 0.99 1.13849 0.346939 +18 1.05 0.506063 0.387755 +19 1.11 0.226422 0.408163 +20 1.17 0.2038 0.428571 +21 1.23 1.65965 0.612245 +22 1.29 0.335308 0.653061 +23 1.35 1.22468 0.816327 +24 1.41 0.561342 0.897959 +25 1.47 0.645574 1 +26 1.53 0.59594 1.10204 +27 1.59 0.551817 1.20408 +28 1.65 1.12732 1.42857 +29 1.71 0.763351 1.59184 +30 1.77 0.80154 1.77551 +31 1.83 0.583214 1.91837 +32 1.89 1.01544 2.18367 +33 1.95 0.660405 2.36735 +34 2.01 0.828758 2.61224 +35 2.07 1.36747 3.04082 +36 2.13 0.922517 3.34694 +37 2.19 0.930841 3.67347 +38 2.25 1.15744 4.10204 +39 2.31 0.993519 4.4898 +40 2.37 1.4903 5.10204 +41 2.43 1.18134 5.61224 +42 2.49 1.1701 6.14286 +43 2.55 0.986958 6.61224 +44 2.61 1.26979 7.2449 +45 2.67 0.978521 7.7551 +46 2.73 1.01086 8.30612 +47 2.79 1.32632 9.06122 +48 2.85 1.23671 9.79592 +49 2.91 0.955581 10.3878 +50 2.97 1.20206 11.1633 +101050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 0 0.163265 +16 0.93 0.645037 0.204082 +17 0.99 1.13849 0.285714 +18 1.05 0.759094 0.346939 +19 1.11 0.90569 0.428571 +20 1.17 0.6114 0.489796 +21 1.23 0.922029 0.591837 +22 1.29 1.00592 0.714286 +23 1.35 0.918509 0.836735 +24 1.41 0.561342 0.918367 +25 1.47 0.903804 1.06122 +26 1.53 0.357564 1.12245 +27 1.59 1.214 1.34694 +28 1.65 0.307451 1.40816 +29 1.71 1.33586 1.69388 +30 1.77 0.80154 1.87755 +31 1.83 1.24974 2.18367 +32 1.89 0.859219 2.40816 +33 1.95 0.660405 2.59184 +34 2.01 0.897822 2.85714 +35 2.07 1.107 3.20408 +36 2.13 1.29152 3.63265 +37 2.19 0.930841 3.95918 +38 2.25 0.60628 4.18367 +39 2.31 0.993519 4.57143 +40 2.37 0.894177 4.93878 +41 2.43 1.2286 5.46939 +42 2.49 0.900081 5.87755 +43 2.55 1.24442 6.46939 +44 2.61 0.983065 6.95918 +45 2.67 0.93938 7.44898 +46 2.73 1.27294 8.14286 +47 2.79 1.07539 8.7551 +48 2.85 0.893179 9.28571 +49 2.91 0.955581 9.87755 +50 2.97 1.10716 10.5918 +101100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 2.47906 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 0.368519 0.244898 +16 0.93 1.29007 0.326531 +17 0.99 0.853865 0.387755 +18 1.05 1.01213 0.469388 +19 1.11 0.226422 0.489796 +20 1.17 0.4076 0.530612 +21 1.23 0.737623 0.612245 +22 1.29 0.670615 0.693878 +23 1.35 0.765424 0.795918 +24 1.41 0.982348 0.938776 +25 1.47 0.774689 1.06122 +26 1.53 0.953504 1.22449 +27 1.59 1.32436 1.46939 +28 1.65 0.922354 1.65306 +29 1.71 0.954189 1.85714 +30 1.77 1.3359 2.16327 +31 1.83 0.916479 2.38776 +32 1.89 0.859219 2.61224 +33 1.95 0.953918 2.87755 +34 2.01 1.03595 3.18367 +35 2.07 1.107 3.53061 +36 2.13 0.738014 3.77551 +37 2.19 0.756309 4.04082 +38 2.25 0.936978 4.38776 +39 2.31 0.941229 4.7551 +40 2.37 0.894177 5.12245 +41 2.43 0.897822 5.5102 +42 2.49 0.765068 5.85714 +43 2.55 0.901135 6.28571 +44 2.61 1.10595 6.83673 +45 2.67 0.93938 7.32653 +46 2.73 1.27294 8.02041 +47 2.79 0.681082 8.40816 +48 2.85 0.893179 8.93878 +49 2.91 0.856728 9.46939 +50 2.97 1.2337 10.2653 +101150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 0 0.0204082 +14 0.81 0.425111 0.0408163 +15 0.87 0.737039 0.0816327 +16 0.93 1.61259 0.183673 +17 0.99 1.13849 0.265306 +18 1.05 1.51819 0.387755 +19 1.11 0.90569 0.469388 +20 1.17 0.4076 0.510204 +21 1.23 0.922029 0.612245 +22 1.29 0.670615 0.693878 +23 1.35 0.765424 0.795918 +24 1.41 0.701677 0.897959 +25 1.47 1.03292 1.06122 +26 1.53 0.59594 1.16327 +27 1.59 1.10363 1.36735 +28 1.65 0.819871 1.53061 +29 1.71 1.33586 1.81633 +30 1.77 0.80154 2 +31 1.83 1.41638 2.34694 +32 1.89 0.859219 2.57143 +33 1.95 0.513648 2.71429 +34 2.01 0.759695 2.93878 +35 2.07 0.651178 3.14286 +36 2.13 1.66053 3.69388 +37 2.19 0.872664 4 +38 2.25 1.21256 4.44898 +39 2.31 1.0981 4.87755 +40 2.37 0.794824 5.20408 +41 2.43 0.567045 5.44898 +42 2.49 0.990089 5.89796 +43 2.55 0.986958 6.36735 +44 2.61 0.819221 6.77551 +45 2.67 0.861099 7.22449 +46 2.73 0.786226 7.65306 +47 2.79 0.967854 8.20408 +48 2.85 0.927532 8.7551 +49 2.91 0.856728 9.28571 +50 2.97 0.917363 9.87755 +101200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 1.93511 0.285714 +17 0.99 1.42311 0.387755 +18 1.05 0.759094 0.44898 +19 1.11 1.35853 0.571429 +20 1.17 1.4266 0.714286 +21 1.23 0.737623 0.795918 +22 1.29 1.34123 0.959184 +23 1.35 0.612339 1.04082 +24 1.41 0.701677 1.14286 +25 1.47 1.42026 1.36735 +26 1.53 1.43026 1.61224 +27 1.59 0.551817 1.71429 +28 1.65 1.02484 1.91837 +29 1.71 0.954189 2.12245 +30 1.77 0.890601 2.32653 +31 1.83 1.16643 2.61224 +32 1.89 1.17166 2.91837 +33 1.95 0.513648 3.06122 +34 2.01 0.759695 3.28571 +35 2.07 0.846532 3.55102 +36 2.13 0.676513 3.77551 +37 2.19 0.523598 3.95918 +38 2.25 0.716512 4.22449 +39 2.31 0.941229 4.59184 +40 2.37 0.943854 4.97959 +41 2.43 1.08684 5.44898 +42 2.49 0.585052 5.71429 +43 2.55 1.24442 6.30612 +44 2.61 0.942104 6.77551 +45 2.67 1.0568 7.32653 +46 2.73 1.19806 7.97959 +47 2.79 0.932007 8.5102 +48 2.85 0.824473 9 +49 2.91 0.988533 9.61224 +50 2.97 0.822464 10.1429 +101250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.7572 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 1.42311 0.346939 +18 1.05 0.506063 0.387755 +19 1.11 1.35853 0.510204 +20 1.17 0.8152 0.591837 +21 1.23 0.184406 0.612245 +22 1.29 0.502961 0.673469 +23 1.35 1.07159 0.816327 +24 1.41 0.982348 0.959184 +25 1.47 0.516459 1.04082 +26 1.53 1.43026 1.28571 +27 1.59 0.882908 1.44898 +28 1.65 1.12732 1.67347 +29 1.71 1.14503 1.91837 +30 1.77 0.71248 2.08163 +31 1.83 1.08311 2.34694 +32 1.89 1.01544 2.61224 +33 1.95 1.24743 2.95918 +34 2.01 0.621569 3.14286 +35 2.07 1.17212 3.5102 +36 2.13 0.922517 3.81633 +37 2.19 0.523598 4 +38 2.25 0.60628 4.22449 +39 2.31 0.575195 4.44898 +40 2.37 1.09288 4.89796 +41 2.43 0.850568 5.26531 +42 2.49 0.900081 5.67347 +43 2.55 1.11569 6.20408 +44 2.61 1.06499 6.73469 +45 2.67 0.93938 7.22449 +46 2.73 1.01086 7.77551 +47 2.79 1.14709 8.42857 +48 2.85 1.168 9.12245 +49 2.91 1.31804 9.93878 +50 2.97 0.917363 10.5306 +101300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 0 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 1.61259 0.306122 +17 0.99 0.569243 0.346939 +18 1.05 0 0.346939 +19 1.11 1.58496 0.489796 +20 1.17 0.6114 0.55102 +21 1.23 0.737623 0.632653 +22 1.29 0.670615 0.714286 +23 1.35 0.765424 0.816327 +24 1.41 1.40335 1.02041 +25 1.47 1.03292 1.18367 +26 1.53 0.357564 1.2449 +27 1.59 0.772544 1.38776 +28 1.65 0.819871 1.55102 +29 1.71 1.14503 1.79592 +30 1.77 0.53436 1.91837 +31 1.83 1.24974 2.22449 +32 1.89 0.937329 2.46939 +33 1.95 0.880539 2.71429 +34 2.01 0.966885 3 +35 2.07 1.04189 3.32653 +36 2.13 0.984018 3.65306 +37 2.19 0.523598 3.83673 +38 2.25 0.992094 4.20408 +39 2.31 0.941229 4.57143 +40 2.37 0.99353 4.97959 +41 2.43 0.614299 5.2449 +42 2.49 1.0801 5.73469 +43 2.55 0.901135 6.16327 +44 2.61 0.983065 6.65306 +45 2.67 1.29165 7.32653 +46 2.73 1.0483 7.89796 +47 2.79 0.681082 8.28571 +48 2.85 0.996238 8.87755 +49 2.91 0.889679 9.42857 +50 2.97 1.2337 10.2245 +101350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 1.47408 0.22449 +16 0.93 0.322518 0.244898 +17 0.99 0 0.244898 +18 1.05 0.506063 0.285714 +19 1.11 0.226422 0.306122 +20 1.17 0.6114 0.367347 +21 1.23 0.368812 0.408163 +22 1.29 1.17358 0.55102 +23 1.35 0.918509 0.673469 +24 1.41 0.561342 0.755102 +25 1.47 0.903804 0.897959 +26 1.53 0.715128 1.02041 +27 1.59 0.772544 1.16327 +28 1.65 1.12732 1.38776 +29 1.71 1.14503 1.63265 +30 1.77 0.53436 1.7551 +31 1.83 1.16643 2.04082 +32 1.89 0.937329 2.28571 +33 1.95 1.17405 2.61224 +34 2.01 0.621569 2.79592 +35 2.07 1.17212 3.16327 +36 2.13 0.922517 3.46939 +37 2.19 1.16355 3.87755 +38 2.25 0.771629 4.16327 +39 2.31 0.888938 4.5102 +40 2.37 0.99353 4.91837 +41 2.43 1.08684 5.38776 +42 2.49 1.30512 5.97959 +43 2.55 0.72949 6.32653 +44 2.61 1.02403 6.83673 +45 2.67 0.782817 7.2449 +46 2.73 1.01086 7.79592 +47 2.79 1.07539 8.40816 +48 2.85 0.961885 8.97959 +49 2.91 1.21919 9.73469 +50 2.97 1.10716 10.449 +101400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.14319 0.0408163 +10 0.57 1.71613 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 0 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 0.368519 0.183673 +16 0.93 1.29007 0.265306 +17 0.99 1.13849 0.346939 +18 1.05 1.01213 0.428571 +19 1.11 0.679267 0.489796 +20 1.17 0.8152 0.571429 +21 1.23 0.368812 0.612245 +22 1.29 0.838269 0.714286 +23 1.35 0 0.714286 +24 1.41 0.701677 0.816327 +25 1.47 0.903804 0.959184 +26 1.53 1.07269 1.14286 +27 1.59 0.662181 1.26531 +28 1.65 0.922354 1.44898 +29 1.71 1.24045 1.71429 +30 1.77 0.71248 1.87755 +31 1.83 1.24974 2.18367 +32 1.89 1.01544 2.44898 +33 1.95 0.733783 2.65306 +34 2.01 0.828758 2.89796 +35 2.07 0.976768 3.20408 +36 2.13 0.799515 3.46939 +37 2.19 0.989019 3.81633 +38 2.25 1.15744 4.2449 +39 2.31 1.41184 4.79592 +40 2.37 0.943854 5.18367 +41 2.43 1.03958 5.63265 +42 2.49 1.21511 6.18367 +43 2.55 0.901135 6.61224 +44 2.61 1.43364 7.32653 +45 2.67 1.0568 7.87755 +46 2.73 1.12318 8.4898 +47 2.79 1.21878 9.18367 +48 2.85 0.961885 9.7551 +49 2.91 0.889679 10.3061 +50 2.97 0.759197 10.7959 +101450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 1.71613 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 0 0.102041 +13 0.75 1.98325 0.183673 +14 0.81 0.425111 0.204082 +15 0.87 0.368519 0.22449 +16 0.93 0.322518 0.244898 +17 0.99 1.13849 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 0 0.387755 +20 1.17 2.2418 0.612245 +21 1.23 0.553218 0.673469 +22 1.29 0.502961 0.734694 +23 1.35 1.37776 0.918367 +24 1.41 0.982348 1.06122 +25 1.47 1.03292 1.22449 +26 1.53 0.834316 1.36735 +27 1.59 1.32436 1.61224 +28 1.65 1.02484 1.81633 +29 1.71 1.04961 2.04082 +30 1.77 1.24684 2.32653 +31 1.83 0.916479 2.55102 +32 1.89 0.468665 2.67347 +33 1.95 0.880539 2.91837 +34 2.01 0.414379 3.04082 +35 2.07 1.17212 3.40816 +36 2.13 0.676513 3.63265 +37 2.19 0.930841 3.95918 +38 2.25 0.992094 4.32653 +39 2.31 0.888938 4.67347 +40 2.37 0.99353 5.08163 +41 2.43 0.850568 5.44898 +42 2.49 0.990089 5.89796 +43 2.55 0.986958 6.36735 +44 2.61 1.51556 7.12245 +45 2.67 1.0568 7.67347 +46 2.73 1.16062 8.30612 +47 2.79 0.752775 8.73469 +48 2.85 0.927532 9.28571 +49 2.91 1.08739 9.95918 +50 2.97 1.1388 10.6939 +101500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.645037 0.183673 +17 0.99 1.70773 0.306122 +18 1.05 0 0.306122 +19 1.11 0.90569 0.387755 +20 1.17 1.019 0.489796 +21 1.23 0.553218 0.55102 +22 1.29 0.502961 0.612245 +23 1.35 1.07159 0.755102 +24 1.41 0.982348 0.897959 +25 1.47 1.16203 1.08163 +26 1.53 1.43026 1.32653 +27 1.59 1.214 1.55102 +28 1.65 1.12732 1.77551 +29 1.71 1.33586 2.06122 +30 1.77 0.80154 2.2449 +31 1.83 0.499898 2.36735 +32 1.89 1.09355 2.65306 +33 1.95 0.953918 2.91837 +34 2.01 0.966885 3.20408 +35 2.07 0.455825 3.34694 +36 2.13 1.16852 3.73469 +37 2.19 0.872664 4.04082 +38 2.25 0.826745 4.34694 +39 2.31 1.04581 4.7551 +40 2.37 0.99353 5.16327 +41 2.43 0.75606 5.4898 +42 2.49 1.80016 6.30612 +43 2.55 0.815313 6.69388 +44 2.61 0.860182 7.12245 +45 2.67 0.90024 7.59184 +46 2.73 0.898544 8.08163 +47 2.79 0.932007 8.61224 +48 2.85 0.961885 9.18367 +49 2.91 1.15329 9.89796 +50 2.97 1.3286 10.7551 +101550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.7519 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0 0.0816327 +13 0.75 1.98325 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 0 0.22449 +16 0.93 1.61259 0.326531 +17 0.99 0.569243 0.367347 +18 1.05 0.759094 0.428571 +19 1.11 0.452845 0.469388 +20 1.17 1.019 0.571429 +21 1.23 0.922029 0.673469 +22 1.29 0.670615 0.755102 +23 1.35 0.918509 0.877551 +24 1.41 0.421006 0.938776 +25 1.47 1.03292 1.10204 +26 1.53 0.834316 1.2449 +27 1.59 1.10363 1.44898 +28 1.65 1.53726 1.7551 +29 1.71 0.667932 1.89796 +30 1.77 0.71248 2.06122 +31 1.83 0.749847 2.2449 +32 1.89 1.4841 2.63265 +33 1.95 1.17405 2.95918 +34 2.01 0.621569 3.14286 +35 2.07 0.846532 3.40816 +36 2.13 0.615011 3.61224 +37 2.19 1.51262 4.14286 +38 2.25 0.936978 4.4898 +39 2.31 0.784357 4.79592 +40 2.37 1.09288 5.2449 +41 2.43 1.03958 5.69388 +42 2.49 1.03509 6.16327 +43 2.55 1.28734 6.77551 +44 2.61 1.06499 7.30612 +45 2.67 1.01766 7.83673 +46 2.73 1.12318 8.44898 +47 2.79 0.681082 8.83673 +48 2.85 0.721414 9.26531 +49 2.91 0.955581 9.85714 +50 2.97 1.0439 10.5306 +101600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 1.27533 0.183673 +15 0.87 0.737039 0.22449 +16 0.93 0.322518 0.244898 +17 0.99 1.13849 0.326531 +18 1.05 2.02425 0.489796 +19 1.11 1.13211 0.591837 +20 1.17 0.6114 0.653061 +21 1.23 0.184406 0.673469 +22 1.29 1.17358 0.816327 +23 1.35 0.918509 0.938776 +24 1.41 0.842013 1.06122 +25 1.47 0.903804 1.20408 +26 1.53 1.19188 1.40816 +27 1.59 0.662181 1.53061 +28 1.65 0.717387 1.67347 +29 1.71 0.667932 1.81633 +30 1.77 1.3359 2.12245 +31 1.83 0.499898 2.2449 +32 1.89 1.17166 2.55102 +33 1.95 0.953918 2.81633 +34 2.01 0.966885 3.10204 +35 2.07 0.91165 3.38776 +36 2.13 0.799515 3.65306 +37 2.19 1.22173 4.08163 +38 2.25 0.992094 4.44898 +39 2.31 0.888938 4.79592 +40 2.37 1.04321 5.22449 +41 2.43 0.945075 5.63265 +42 2.49 1.26011 6.20408 +43 2.55 1.07278 6.71429 +44 2.61 0.901143 7.16327 +45 2.67 1.13508 7.7551 +46 2.73 0.673908 8.12245 +47 2.79 1.14709 8.77551 +48 2.85 0.893179 9.30612 +49 2.91 1.02148 9.93878 +50 2.97 1.17043 10.6939 +101650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 1.98325 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 0.368519 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 0.284622 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 0.679267 0.428571 +20 1.17 1.2228 0.55102 +21 1.23 0.737623 0.632653 +22 1.29 0.335308 0.673469 +23 1.35 1.07159 0.816327 +24 1.41 0.701677 0.918367 +25 1.47 0.774689 1.04082 +26 1.53 0.834316 1.18367 +27 1.59 0.882908 1.34694 +28 1.65 0.922354 1.53061 +29 1.71 0.667932 1.67347 +30 1.77 0.62342 1.81633 +31 1.83 0.916479 2.04082 +32 1.89 0.546775 2.18367 +33 1.95 1.17405 2.5102 +34 2.01 0.897822 2.77551 +35 2.07 1.36747 3.20408 +36 2.13 1.10702 3.57143 +37 2.19 1.33808 4.04082 +38 2.25 0.881861 4.36735 +39 2.31 1.15039 4.81633 +40 2.37 0.794824 5.14286 +41 2.43 0.897822 5.53061 +42 2.49 1.71015 6.30612 +43 2.55 0.686579 6.63265 +44 2.61 1.26979 7.26531 +45 2.67 1.17423 7.87755 +46 2.73 0.973423 8.40816 +47 2.79 1.0037 8.97959 +48 2.85 1.0993 9.63265 +49 2.91 1.08739 10.3061 +50 2.97 1.01226 10.9592 +101700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 2.55067 0.244898 +15 0.87 0.737039 0.285714 +16 0.93 0.967555 0.346939 +17 0.99 1.13849 0.428571 +18 1.05 0.759094 0.489796 +19 1.11 0.90569 0.571429 +20 1.17 0.4076 0.612245 +21 1.23 0.737623 0.693878 +22 1.29 1.00592 0.816327 +23 1.35 0.918509 0.938776 +24 1.41 1.54369 1.16327 +25 1.47 0.903804 1.30612 +26 1.53 0.834316 1.44898 +27 1.59 0.551817 1.55102 +28 1.65 0.717387 1.69388 +29 1.71 0.667932 1.83673 +30 1.77 0.4453 1.93878 +31 1.83 0.999796 2.18367 +32 1.89 1.01544 2.44898 +33 1.95 0.880539 2.69388 +34 2.01 0.690632 2.89796 +35 2.07 0.716296 3.12245 +36 2.13 1.10702 3.4898 +37 2.19 0.930841 3.81633 +38 2.25 0.826745 4.12245 +39 2.31 1.0981 4.55102 +40 2.37 1.14256 5.02041 +41 2.43 0.992329 5.44898 +42 2.49 0.855076 5.83673 +43 2.55 1.37316 6.4898 +44 2.61 1.63844 7.30612 +45 2.67 0.821958 7.73469 +46 2.73 1.12318 8.34694 +47 2.79 0.716929 8.7551 +48 2.85 1.0993 9.40816 +49 2.91 0.659022 9.81633 +50 2.97 1.10716 10.5306 +101750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0 0.0816327 +15 0.87 0.368519 0.102041 +16 0.93 0.322518 0.122449 +17 0.99 1.42311 0.22449 +18 1.05 0.759094 0.285714 +19 1.11 0.90569 0.367347 +20 1.17 1.019 0.469388 +21 1.23 2.02846 0.693878 +22 1.29 0.502961 0.755102 +23 1.35 1.07159 0.897959 +24 1.41 1.54369 1.12245 +25 1.47 1.29115 1.32653 +26 1.53 1.19188 1.53061 +27 1.59 1.43472 1.79592 +28 1.65 0.922354 1.97959 +29 1.71 1.14503 2.22449 +30 1.77 0.71248 2.38776 +31 1.83 0.916479 2.61224 +32 1.89 0.859219 2.83673 +33 1.95 0.587026 3 +34 2.01 0.552506 3.16327 +35 2.07 1.04189 3.4898 +36 2.13 0.799515 3.7551 +37 2.19 0.872664 4.06122 +38 2.25 1.15744 4.4898 +39 2.31 0.888938 4.83673 +40 2.37 1.29159 5.36735 +41 2.43 0.803314 5.71429 +42 2.49 0.855076 6.10204 +43 2.55 1.02987 6.59184 +44 2.61 1.02403 7.10204 +45 2.67 0.626254 7.42857 +46 2.73 0.748787 7.83673 +47 2.79 1.07539 8.44898 +48 2.85 0.721414 8.87755 +49 2.91 0.823777 9.38776 +50 2.97 0.917363 9.97959 +101800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 1.70044 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 1.13849 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 1.13211 0.469388 +20 1.17 0.8152 0.55102 +21 1.23 0.922029 0.653061 +22 1.29 1.00592 0.77551 +23 1.35 0.612339 0.857143 +24 1.41 0.701677 0.959184 +25 1.47 0.645574 1.06122 +26 1.53 1.07269 1.2449 +27 1.59 0.882908 1.40816 +28 1.65 0.819871 1.57143 +29 1.71 0.954189 1.77551 +30 1.77 0.890601 1.97959 +31 1.83 0.999796 2.22449 +32 1.89 0.781108 2.42857 +33 1.95 1.0273 2.71429 +34 2.01 0.966885 3 +35 2.07 1.107 3.34694 +36 2.13 1.04552 3.69388 +37 2.19 0.930841 4.02041 +38 2.25 1.15744 4.44898 +39 2.31 0.784357 4.7551 +40 2.37 0.894177 5.12245 +41 2.43 1.08684 5.59184 +42 2.49 0.990089 6.04082 +43 2.55 0.557846 6.30612 +44 2.61 1.14691 6.87755 +45 2.67 0.861099 7.32653 +46 2.73 1.19806 7.97959 +47 2.79 1.03955 8.57143 +48 2.85 1.0993 9.22449 +49 2.91 1.35099 10.0612 +50 2.97 0.790831 10.5714 +101850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0 0 +13 0.75 1.48744 0.0612245 +14 0.81 0.425111 0.0816327 +15 0.87 0.368519 0.102041 +16 0.93 0.322518 0.122449 +17 0.99 1.42311 0.22449 +18 1.05 0 0.22449 +19 1.11 1.58496 0.367347 +20 1.17 1.4266 0.510204 +21 1.23 1.10644 0.632653 +22 1.29 1.00592 0.755102 +23 1.35 0.459254 0.816327 +24 1.41 1.12268 0.979592 +25 1.47 0.903804 1.12245 +26 1.53 0.834316 1.26531 +27 1.59 0.772544 1.40816 +28 1.65 1.02484 1.61224 +29 1.71 1.04961 1.83673 +30 1.77 0.890601 2.04082 +31 1.83 0.583214 2.18367 +32 1.89 0.468665 2.30612 +33 1.95 0.807161 2.53061 +34 2.01 1.45033 2.95918 +35 2.07 1.107 3.30612 +36 2.13 1.04552 3.65306 +37 2.19 0.814486 3.93878 +38 2.25 1.21256 4.38776 +39 2.31 0.836648 4.71429 +40 2.37 0.695471 5 +41 2.43 0.945075 5.40816 +42 2.49 1.1251 5.91837 +43 2.55 1.11569 6.44898 +44 2.61 1.31075 7.10204 +45 2.67 0.782817 7.5102 +46 2.73 1.16062 8.14286 +47 2.79 0.967854 8.69388 +48 2.85 0.927532 9.2449 +49 2.91 1.02148 9.87755 +50 2.97 1.07553 10.5714 +101900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 0.850222 0.0816327 +15 0.87 1.10556 0.142857 +16 0.93 1.61259 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 0 0.306122 +19 1.11 0.679267 0.367347 +20 1.17 0.4076 0.408163 +21 1.23 0.737623 0.489796 +22 1.29 0.838269 0.591837 +23 1.35 0.765424 0.693878 +24 1.41 0.561342 0.77551 +25 1.47 1.16203 0.959184 +26 1.53 1.07269 1.14286 +27 1.59 0.772544 1.28571 +28 1.65 0.512419 1.38776 +29 1.71 0.572513 1.5102 +30 1.77 1.06872 1.7551 +31 1.83 1.08311 2.02041 +32 1.89 1.40599 2.38776 +33 1.95 0.953918 2.65306 +34 2.01 1.10501 2.97959 +35 2.07 1.04189 3.30612 +36 2.13 0.861016 3.59184 +37 2.19 1.22173 4.02041 +38 2.25 1.04721 4.40816 +39 2.31 1.25497 4.89796 +40 2.37 0.844501 5.2449 +41 2.43 0.708807 5.55102 +42 2.49 0.765068 5.89796 +43 2.55 1.02987 6.38776 +44 2.61 0.983065 6.87755 +45 2.67 1.29165 7.55102 +46 2.73 1.01086 8.10204 +47 2.79 1.07539 8.71429 +48 2.85 0.961885 9.28571 +49 2.91 1.35099 10.1224 +50 2.97 0.88573 10.6939 +101950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 1.48744 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 0.645037 0.183673 +17 0.99 0.569243 0.22449 +18 1.05 0.506063 0.265306 +19 1.11 1.58496 0.408163 +20 1.17 0.8152 0.489796 +21 1.23 0.553218 0.55102 +22 1.29 0.670615 0.632653 +23 1.35 0.612339 0.714286 +24 1.41 0.561342 0.795918 +25 1.47 0.516459 0.877551 +26 1.53 0.715128 1 +27 1.59 0.772544 1.14286 +28 1.65 1.12732 1.36735 +29 1.71 0.667932 1.5102 +30 1.77 0.4453 1.61224 +31 1.83 0.416582 1.71429 +32 1.89 1.09355 2 +33 1.95 0.953918 2.26531 +34 2.01 0.897822 2.53061 +35 2.07 0.91165 2.81633 +36 2.13 1.41453 3.28571 +37 2.19 0.756309 3.55102 +38 2.25 1.10233 3.95918 +39 2.31 1.30726 4.46939 +40 2.37 1.19224 4.95918 +41 2.43 1.2286 5.4898 +42 2.49 1.21511 6.04082 +43 2.55 0.815313 6.42857 +44 2.61 0.901143 6.87755 +45 2.67 1.17423 7.4898 +46 2.73 1.16062 8.12245 +47 2.79 1.21878 8.81633 +48 2.85 1.13365 9.4898 +49 2.91 0.92263 10.0612 +50 2.97 1.0439 10.7347 +102000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0 0.0408163 +14 0.81 0.425111 0.0612245 +15 0.87 0.368519 0.0816327 +16 0.93 0.322518 0.102041 +17 0.99 0.853865 0.163265 +18 1.05 0.759094 0.22449 +19 1.11 0.90569 0.306122 +20 1.17 0.8152 0.387755 +21 1.23 0.922029 0.489796 +22 1.29 0.502961 0.55102 +23 1.35 0.612339 0.632653 +24 1.41 0.701677 0.734694 +25 1.47 0.903804 0.877551 +26 1.53 0.715128 1 +27 1.59 0.662181 1.12245 +28 1.65 0.922354 1.30612 +29 1.71 1.33586 1.59184 +30 1.77 1.3359 1.89796 +31 1.83 0.66653 2.06122 +32 1.89 0.624886 2.22449 +33 1.95 1.24743 2.57143 +34 2.01 0.897822 2.83673 +35 2.07 0.91165 3.12245 +36 2.13 1.04552 3.46939 +37 2.19 0.814486 3.7551 +38 2.25 0.936978 4.10204 +39 2.31 1.41184 4.65306 +40 2.37 0.894177 5.02041 +41 2.43 1.18134 5.53061 +42 2.49 1.57514 6.2449 +43 2.55 0.858224 6.65306 +44 2.61 0.614416 6.95918 +45 2.67 1.13508 7.55102 +46 2.73 1.46013 8.34694 +47 2.79 0.752775 8.77551 +48 2.85 0.893179 9.30612 +49 2.91 1.05443 9.95918 +50 2.97 1.01226 10.6122 +102050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 2.47906 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 1.29007 0.306122 +17 0.99 0.569243 0.346939 +18 1.05 0.506063 0.387755 +19 1.11 0.90569 0.469388 +20 1.17 1.2228 0.591837 +21 1.23 0.553218 0.653061 +22 1.29 0.167654 0.673469 +23 1.35 0.30617 0.714286 +24 1.41 0.982348 0.857143 +25 1.47 0.774689 0.979592 +26 1.53 0.59594 1.08163 +27 1.59 0.993271 1.26531 +28 1.65 1.02484 1.46939 +29 1.71 0.763351 1.63265 +30 1.77 1.3359 1.93878 +31 1.83 1.16643 2.22449 +32 1.89 1.17166 2.53061 +33 1.95 0.660405 2.71429 +34 2.01 1.03595 3.02041 +35 2.07 1.30236 3.42857 +36 2.13 0.922517 3.73469 +37 2.19 0.872664 4.04082 +38 2.25 0.60628 4.26531 +39 2.31 0.627486 4.5102 +40 2.37 0.894177 4.87755 +41 2.43 0.945075 5.28571 +42 2.49 0.990089 5.73469 +43 2.55 1.07278 6.2449 +44 2.61 0.942104 6.71429 +45 2.67 1.44821 7.46939 +46 2.73 0.898544 7.95918 +47 2.79 0.967854 8.5102 +48 2.85 1.0993 9.16327 +49 2.91 0.757875 9.63265 +50 2.97 0.88573 10.2041 +102100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 1.47408 0.183673 +16 0.93 1.93511 0.306122 +17 0.99 1.13849 0.387755 +18 1.05 0.759094 0.44898 +19 1.11 0.452845 0.489796 +20 1.17 0.2038 0.510204 +21 1.23 0.737623 0.591837 +22 1.29 0.670615 0.673469 +23 1.35 1.07159 0.816327 +24 1.41 0.561342 0.897959 +25 1.47 1.03292 1.06122 +26 1.53 0.476752 1.14286 +27 1.59 0.993271 1.32653 +28 1.65 1.02484 1.53061 +29 1.71 0.954189 1.73469 +30 1.77 1.51402 2.08163 +31 1.83 1.08311 2.34694 +32 1.89 1.32788 2.69388 +33 1.95 0.587026 2.85714 +34 2.01 0.828758 3.10204 +35 2.07 0.91165 3.38776 +36 2.13 1.04552 3.73469 +37 2.19 0.639953 3.95918 +38 2.25 0.496047 4.14286 +39 2.31 0.941229 4.5102 +40 2.37 0.844501 4.85714 +41 2.43 0.992329 5.28571 +42 2.49 1.03509 5.7551 +43 2.55 1.02987 6.2449 +44 2.61 1.14691 6.81633 +45 2.67 0.821958 7.2449 +46 2.73 0.748787 7.65306 +47 2.79 1.25463 8.36735 +48 2.85 1.37412 9.18367 +49 2.91 0.659022 9.59184 +50 2.97 1.1388 10.3265 +102150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 1.48744 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 1.47408 0.244898 +16 0.93 1.29007 0.326531 +17 0.99 2.27697 0.489796 +18 1.05 0 0.489796 +19 1.11 0 0.489796 +20 1.17 0.8152 0.571429 +21 1.23 0.737623 0.653061 +22 1.29 0.502961 0.714286 +23 1.35 0.918509 0.836735 +24 1.41 0.701677 0.938776 +25 1.47 0.774689 1.06122 +26 1.53 0.715128 1.18367 +27 1.59 1.65545 1.4898 +28 1.65 0.614903 1.61224 +29 1.71 0.763351 1.77551 +30 1.77 0.979661 2 +31 1.83 1.16643 2.28571 +32 1.89 0.937329 2.53061 +33 1.95 1.54094 2.95918 +34 2.01 0.828758 3.20408 +35 2.07 1.17212 3.57143 +36 2.13 0.861016 3.85714 +37 2.19 1.22173 4.28571 +38 2.25 0.661396 4.53061 +39 2.31 0.888938 4.87755 +40 2.37 0.894177 5.2449 +41 2.43 0.708807 5.55102 +42 2.49 1.0801 6.04082 +43 2.55 0.72949 6.38776 +44 2.61 0.696338 6.73469 +45 2.67 1.21337 7.36735 +46 2.73 1.12318 7.97959 +47 2.79 1.29047 8.71429 +48 2.85 1.13365 9.38776 +49 2.91 1.02148 10.0204 +50 2.97 0.917363 10.6122 +102200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 1.98325 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 0.368519 0.183673 +16 0.93 1.29007 0.265306 +17 0.99 0.284622 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 0.90569 0.44898 +20 1.17 0.8152 0.530612 +21 1.23 0.922029 0.632653 +22 1.29 1.34123 0.795918 +23 1.35 1.07159 0.938776 +24 1.41 1.12268 1.10204 +25 1.47 0.25823 1.14286 +26 1.53 0.238376 1.18367 +27 1.59 0.882908 1.34694 +28 1.65 1.02484 1.55102 +29 1.71 1.14503 1.79592 +30 1.77 1.15778 2.06122 +31 1.83 1.08311 2.32653 +32 1.89 1.01544 2.59184 +33 1.95 0.953918 2.85714 +34 2.01 1.17407 3.20408 +35 2.07 1.17212 3.57143 +36 2.13 0.738014 3.81633 +37 2.19 0.814486 4.10204 +38 2.25 0.771629 4.38776 +39 2.31 1.0981 4.81633 +40 2.37 1.4903 5.42857 +41 2.43 0.850568 5.79592 +42 2.49 1.03509 6.26531 +43 2.55 0.772402 6.63265 +44 2.61 1.10595 7.18367 +45 2.67 0.93938 7.67347 +46 2.73 1.01086 8.22449 +47 2.79 0.716929 8.63265 +48 2.85 0.549649 8.95918 +49 2.91 0.889679 9.5102 +50 2.97 1.2337 10.3061 +102250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.14319 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 0.569243 0.285714 +18 1.05 1.26516 0.387755 +19 1.11 0.90569 0.469388 +20 1.17 0.8152 0.55102 +21 1.23 1.29084 0.693878 +22 1.29 0.502961 0.755102 +23 1.35 0.612339 0.836735 +24 1.41 1.26302 1.02041 +25 1.47 1.16203 1.20408 +26 1.53 0.476752 1.28571 +27 1.59 0.551817 1.38776 +28 1.65 1.22981 1.63265 +29 1.71 0.381676 1.71429 +30 1.77 0.71248 1.87755 +31 1.83 1.16643 2.16327 +32 1.89 1.32788 2.5102 +33 1.95 1.32081 2.87755 +34 2.01 1.24314 3.2449 +35 2.07 0.781414 3.4898 +36 2.13 1.16852 3.87755 +37 2.19 0.639953 4.10204 +38 2.25 0.881861 4.42857 +39 2.31 1.15039 4.87755 +40 2.37 0.596118 5.12245 +41 2.43 0.992329 5.55102 +42 2.49 1.03509 6.02041 +43 2.55 0.72949 6.36735 +44 2.61 0.737299 6.73469 +45 2.67 1.17423 7.34694 +46 2.73 0.748787 7.7551 +47 2.79 1.14709 8.40816 +48 2.85 0.961885 8.97959 +49 2.91 1.12034 9.67347 +50 2.97 0.948997 10.2857 +102300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 1.29007 0.22449 +17 0.99 0 0.22449 +18 1.05 1.01213 0.306122 +19 1.11 0.679267 0.367347 +20 1.17 1.2228 0.489796 +21 1.23 1.29084 0.632653 +22 1.29 1.00592 0.755102 +23 1.35 0.765424 0.857143 +24 1.41 0.561342 0.938776 +25 1.47 1.42026 1.16327 +26 1.53 1.19188 1.36735 +27 1.59 0.772544 1.5102 +28 1.65 1.02484 1.71429 +29 1.71 0.381676 1.79592 +30 1.77 0.890601 2 +31 1.83 0.416582 2.10204 +32 1.89 0.624886 2.26531 +33 1.95 0.880539 2.5102 +34 2.01 0.828758 2.7551 +35 2.07 1.107 3.10204 +36 2.13 0.615011 3.30612 +37 2.19 0.930841 3.63265 +38 2.25 0.716512 3.89796 +39 2.31 1.25497 4.38776 +40 2.37 1.14256 4.85714 +41 2.43 0.75606 5.18367 +42 2.49 1.03509 5.65306 +43 2.55 1.24442 6.2449 +44 2.61 1.10595 6.79592 +45 2.67 0.90024 7.26531 +46 2.73 1.31038 7.97959 +47 2.79 1.29047 8.71429 +48 2.85 0.687061 9.12245 +49 2.91 1.35099 9.95918 +50 2.97 0.88573 10.5306 +102350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 0.853865 0.265306 +18 1.05 0.759094 0.326531 +19 1.11 1.13211 0.428571 +20 1.17 0.8152 0.510204 +21 1.23 0.922029 0.612245 +22 1.29 1.34123 0.77551 +23 1.35 0.612339 0.857143 +24 1.41 0.982348 1 +25 1.47 0.774689 1.12245 +26 1.53 0.715128 1.2449 +27 1.59 0.772544 1.38776 +28 1.65 0.409935 1.46939 +29 1.71 0.954189 1.67347 +30 1.77 0.80154 1.85714 +31 1.83 1.24974 2.16327 +32 1.89 0.624886 2.32653 +33 1.95 0.953918 2.59184 +34 2.01 1.10501 2.91837 +35 2.07 1.04189 3.2449 +36 2.13 0.799515 3.5102 +37 2.19 1.22173 3.93878 +38 2.25 0.716512 4.20408 +39 2.31 1.25497 4.69388 +40 2.37 1.09288 5.14286 +41 2.43 0.897822 5.53061 +42 2.49 1.03509 6 +43 2.55 1.02987 6.4898 +44 2.61 0.77826 6.87755 +45 2.67 0.821958 7.30612 +46 2.73 0.823666 7.7551 +47 2.79 0.967854 8.30612 +48 2.85 1.0993 8.95918 +49 2.91 0.889679 9.5102 +50 2.97 1.07553 10.2041 +102400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 2.14319 0.0612245 +10 0.57 0 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0.368519 0.163265 +16 0.93 0.645037 0.204082 +17 0.99 1.70773 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 0.452845 0.428571 +20 1.17 1.2228 0.55102 +21 1.23 0.737623 0.632653 +22 1.29 1.00592 0.755102 +23 1.35 0.612339 0.836735 +24 1.41 0.982348 0.979592 +25 1.47 1.29115 1.18367 +26 1.53 0.357564 1.2449 +27 1.59 0.220727 1.28571 +28 1.65 1.22981 1.53061 +29 1.71 0.763351 1.69388 +30 1.77 0.71248 1.85714 +31 1.83 0.999796 2.10204 +32 1.89 0.859219 2.32653 +33 1.95 0.807161 2.55102 +34 2.01 1.24314 2.91837 +35 2.07 1.04189 3.2449 +36 2.13 0.922517 3.55102 +37 2.19 0.814486 3.83673 +38 2.25 0.771629 4.12245 +39 2.31 0.522905 4.32653 +40 2.37 0.943854 4.71429 +41 2.43 1.37036 5.30612 +42 2.49 1.1701 5.83673 +43 2.55 1.11569 6.36735 +44 2.61 1.06499 6.89796 +45 2.67 1.0568 7.44898 +46 2.73 0.973423 7.97959 +47 2.79 1.07539 8.59184 +48 2.85 0.79012 9.06122 +49 2.91 0.988533 9.67347 +50 2.97 1.20206 10.449 +102450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 1.42311 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 0.679267 0.428571 +20 1.17 0.6114 0.489796 +21 1.23 0.922029 0.591837 +22 1.29 0.670615 0.673469 +23 1.35 1.07159 0.816327 +24 1.41 1.40335 1.02041 +25 1.47 0.516459 1.10204 +26 1.53 1.31107 1.32653 +27 1.59 0.220727 1.36735 +28 1.65 0.614903 1.4898 +29 1.71 0.667932 1.63265 +30 1.77 0.71248 1.79592 +31 1.83 1.16643 2.08163 +32 1.89 0.702997 2.26531 +33 1.95 1.39419 2.65306 +34 2.01 1.03595 2.95918 +35 2.07 1.04189 3.28571 +36 2.13 0.861016 3.57143 +37 2.19 0.989019 3.91837 +38 2.25 0.936978 4.26531 +39 2.31 0.784357 4.57143 +40 2.37 1.19224 5.06122 +41 2.43 0.850568 5.42857 +42 2.49 0.945085 5.85714 +43 2.55 1.02987 6.34694 +44 2.61 0.77826 6.73469 +45 2.67 1.09594 7.30612 +46 2.73 1.12318 7.91837 +47 2.79 1.03955 8.5102 +48 2.85 1.168 9.20408 +49 2.91 0.955581 9.79592 +50 2.97 0.948997 10.4082 +102500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0 0 +13 0.75 0.495812 0.0204082 +14 0.81 0.850222 0.0612245 +15 0.87 0.737039 0.102041 +16 0.93 0.967555 0.163265 +17 0.99 1.42311 0.265306 +18 1.05 1.26516 0.367347 +19 1.11 0.679267 0.428571 +20 1.17 0.2038 0.44898 +21 1.23 0.553218 0.510204 +22 1.29 0.670615 0.591837 +23 1.35 0.612339 0.673469 +24 1.41 1.54369 0.897959 +25 1.47 0.774689 1.02041 +26 1.53 0.59594 1.12245 +27 1.59 0.882908 1.28571 +28 1.65 1.12732 1.5102 +29 1.71 1.43128 1.81633 +30 1.77 1.24684 2.10204 +31 1.83 0.583214 2.2449 +32 1.89 0.937329 2.4898 +33 1.95 0.660405 2.67347 +34 2.01 0.759695 2.89796 +35 2.07 0.651178 3.10204 +36 2.13 0.861016 3.38776 +37 2.19 1.0472 3.7551 +38 2.25 1.10233 4.16327 +39 2.31 1.46413 4.73469 +40 2.37 0.844501 5.08163 +41 2.43 0.661553 5.36735 +42 2.49 1.0801 5.85714 +43 2.55 0.772402 6.22449 +44 2.61 1.06499 6.7551 +45 2.67 1.01766 7.28571 +46 2.73 1.34782 8.02041 +47 2.79 0.896161 8.53061 +48 2.85 1.03059 9.14286 +49 2.91 0.823777 9.65306 +50 2.97 0.822464 10.1837 +102550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 0.991624 0.0612245 +14 0.81 1.27533 0.122449 +15 0.87 1.47408 0.204082 +16 0.93 0.967555 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 0.90569 0.44898 +20 1.17 1.019 0.55102 +21 1.23 0.922029 0.653061 +22 1.29 1.00592 0.77551 +23 1.35 0.765424 0.877551 +24 1.41 0.701677 0.979592 +25 1.47 0.774689 1.10204 +26 1.53 0.953504 1.26531 +27 1.59 0.441454 1.34694 +28 1.65 1.02484 1.55102 +29 1.71 0.381676 1.63265 +30 1.77 0.62342 1.77551 +31 1.83 0.749847 1.95918 +32 1.89 1.17166 2.26531 +33 1.95 0.880539 2.5102 +34 2.01 1.45033 2.93878 +35 2.07 0.520943 3.10204 +36 2.13 1.04552 3.44898 +37 2.19 1.10537 3.83673 +38 2.25 0.881861 4.16327 +39 2.31 0.627486 4.40816 +40 2.37 1.29159 4.93878 +41 2.43 0.992329 5.36735 +42 2.49 0.720064 5.69388 +43 2.55 0.986958 6.16327 +44 2.61 0.901143 6.61224 +45 2.67 0.978521 7.12245 +46 2.73 1.34782 7.85714 +47 2.79 1.11124 8.4898 +48 2.85 0.961885 9.06122 +49 2.91 0.92263 9.63265 +50 2.97 1.10716 10.3469 +102600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 0.645037 0.204082 +17 0.99 1.13849 0.285714 +18 1.05 1.26516 0.387755 +19 1.11 1.13211 0.489796 +20 1.17 0.2038 0.510204 +21 1.23 1.29084 0.653061 +22 1.29 0.670615 0.734694 +23 1.35 1.07159 0.877551 +24 1.41 1.12268 1.04082 +25 1.47 0.25823 1.08163 +26 1.53 0.476752 1.16327 +27 1.59 0.882908 1.32653 +28 1.65 1.12732 1.55102 +29 1.71 0.763351 1.71429 +30 1.77 1.60308 2.08163 +31 1.83 0.583214 2.22449 +32 1.89 1.01544 2.4898 +33 1.95 0.880539 2.73469 +34 2.01 0.897822 3 +35 2.07 0.846532 3.26531 +36 2.13 0.799515 3.53061 +37 2.19 1.10537 3.91837 +38 2.25 1.43302 4.44898 +39 2.31 0.993519 4.83673 +40 2.37 0.794824 5.16327 +41 2.43 1.46487 5.79592 +42 2.49 1.35012 6.40816 +43 2.55 0.944046 6.85714 +44 2.61 1.35171 7.53061 +45 2.67 1.21337 8.16327 +46 2.73 0.748787 8.57143 +47 2.79 0.573543 8.89796 +48 2.85 0.927532 9.44898 +49 2.91 0.955581 10.0408 +50 2.97 1.07553 10.7347 +102650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 1.71613 0.0816327 +11 0.63 1.40505 0.122449 +12 0.69 0 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 0.368519 0.204082 +16 0.93 1.29007 0.285714 +17 0.99 1.13849 0.367347 +18 1.05 0.759094 0.428571 +19 1.11 0.226422 0.44898 +20 1.17 1.019 0.55102 +21 1.23 1.10644 0.673469 +22 1.29 0.502961 0.734694 +23 1.35 0 0.734694 +24 1.41 0.701677 0.836735 +25 1.47 1.03292 1 +26 1.53 0.476752 1.08163 +27 1.59 0.772544 1.22449 +28 1.65 0.819871 1.38776 +29 1.71 1.81296 1.77551 +30 1.77 0.80154 1.95918 +31 1.83 0.999796 2.20408 +32 1.89 1.24977 2.53061 +33 1.95 0.880539 2.77551 +34 2.01 0.690632 2.97959 +35 2.07 0.976768 3.28571 +36 2.13 1.10702 3.65306 +37 2.19 1.10537 4.04082 +38 2.25 0.771629 4.32653 +39 2.31 0.784357 4.63265 +40 2.37 1.39094 5.20408 +41 2.43 1.03958 5.65306 +42 2.49 1.03509 6.12245 +43 2.55 1.1586 6.67347 +44 2.61 1.22883 7.28571 +45 2.67 0.665394 7.63265 +46 2.73 1.16062 8.26531 +47 2.79 1.21878 8.95918 +48 2.85 0.618355 9.32653 +49 2.91 0.856728 9.85714 +50 2.97 1.1388 10.5918 +102700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 2.97487 0.163265 +14 0.81 0.425111 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.967555 0.306122 +17 0.99 0.853865 0.367347 +18 1.05 0.506063 0.408163 +19 1.11 1.13211 0.510204 +20 1.17 1.019 0.612245 +21 1.23 1.29084 0.755102 +22 1.29 0.502961 0.816327 +23 1.35 0.765424 0.918367 +24 1.41 1.82436 1.18367 +25 1.47 0.516459 1.26531 +26 1.53 1.07269 1.44898 +27 1.59 0.993271 1.63265 +28 1.65 1.43477 1.91837 +29 1.71 0.954189 2.12245 +30 1.77 0.62342 2.26531 +31 1.83 0.833163 2.46939 +32 1.89 0.702997 2.65306 +33 1.95 1.39419 3.04082 +34 2.01 0.897822 3.30612 +35 2.07 1.17212 3.67347 +36 2.13 0.861016 3.95918 +37 2.19 0.814486 4.2449 +38 2.25 0.716512 4.5102 +39 2.31 1.20268 4.97959 +40 2.37 0.894177 5.34694 +41 2.43 0.803314 5.69388 +42 2.49 0.67506 6 +43 2.55 0.686579 6.32653 +44 2.61 0.77826 6.71429 +45 2.67 0.93938 7.20408 +46 2.73 1.34782 7.93878 +47 2.79 0.932007 8.46939 +48 2.85 0.996238 9.06122 +49 2.91 0.92263 9.63265 +50 2.97 1.2337 10.4286 +102750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 1.61259 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 1.01213 0.408163 +19 1.11 0.226422 0.428571 +20 1.17 0.2038 0.44898 +21 1.23 1.84406 0.653061 +22 1.29 0.838269 0.755102 +23 1.35 0.765424 0.857143 +24 1.41 0.982348 1 +25 1.47 0.903804 1.14286 +26 1.53 1.07269 1.32653 +27 1.59 0.882908 1.4898 +28 1.65 0.717387 1.63265 +29 1.71 0.667932 1.77551 +30 1.77 0.890601 1.97959 +31 1.83 1.08311 2.2449 +32 1.89 0.781108 2.44898 +33 1.95 1.10067 2.7551 +34 2.01 0.621569 2.93878 +35 2.07 1.107 3.28571 +36 2.13 1.29152 3.71429 +37 2.19 1.0472 4.08163 +38 2.25 0.881861 4.40816 +39 2.31 1.15039 4.85714 +40 2.37 1.24191 5.36735 +41 2.43 0.945075 5.77551 +42 2.49 1.21511 6.32653 +43 2.55 0.858224 6.73469 +44 2.61 0.942104 7.20408 +45 2.67 0.665394 7.55102 +46 2.73 0.898544 8.04082 +47 2.79 1.14709 8.69388 +48 2.85 1.20236 9.40816 +49 2.91 1.18624 10.1429 +50 2.97 0.822464 10.6735 +102800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 0 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 0.569243 0.244898 +18 1.05 1.51819 0.367347 +19 1.11 0.679267 0.428571 +20 1.17 1.019 0.530612 +21 1.23 1.10644 0.653061 +22 1.29 1.00592 0.77551 +23 1.35 0.30617 0.816327 +24 1.41 2.10503 1.12245 +25 1.47 0.387344 1.18367 +26 1.53 0.834316 1.32653 +27 1.59 1.10363 1.53061 +28 1.65 1.02484 1.73469 +29 1.71 1.24045 2 +30 1.77 1.24684 2.28571 +31 1.83 1.08311 2.55102 +32 1.89 0.624886 2.71429 +33 1.95 0.587026 2.87755 +34 2.01 0.690632 3.08163 +35 2.07 1.107 3.42857 +36 2.13 1.16852 3.81633 +37 2.19 0.581776 4.02041 +38 2.25 1.10233 4.42857 +39 2.31 1.20268 4.89796 +40 2.37 1.09288 5.34694 +41 2.43 0.897822 5.73469 +42 2.49 1.57514 6.44898 +43 2.55 0.986958 6.91837 +44 2.61 1.14691 7.4898 +45 2.67 1.01766 8.02041 +46 2.73 1.0483 8.59184 +47 2.79 1.0037 9.16327 +48 2.85 0.961885 9.73469 +49 2.91 0.955581 10.3265 +50 2.97 0.759197 10.8163 +102850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0.991624 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 0.368519 0.183673 +16 0.93 1.29007 0.265306 +17 0.99 1.42311 0.367347 +18 1.05 0.759094 0.428571 +19 1.11 0.452845 0.469388 +20 1.17 1.019 0.571429 +21 1.23 0.922029 0.673469 +22 1.29 0.502961 0.734694 +23 1.35 0.153085 0.755102 +24 1.41 1.40335 0.959184 +25 1.47 1.03292 1.12245 +26 1.53 1.31107 1.34694 +27 1.59 0.551817 1.44898 +28 1.65 0.614903 1.57143 +29 1.71 1.24045 1.83673 +30 1.77 1.06872 2.08163 +31 1.83 1.16643 2.36735 +32 1.89 1.17166 2.67347 +33 1.95 0.660405 2.85714 +34 2.01 1.24314 3.22449 +35 2.07 0.586061 3.40816 +36 2.13 1.72203 3.97959 +37 2.19 0.581776 4.18367 +38 2.25 1.04721 4.57143 +39 2.31 0.941229 4.93878 +40 2.37 1.09288 5.38776 +41 2.43 1.46487 6.02041 +42 2.49 0.765068 6.36735 +43 2.55 0.944046 6.81633 +44 2.61 1.02403 7.32653 +45 2.67 0.821958 7.7551 +46 2.73 0.711348 8.14286 +47 2.79 1.11124 8.77551 +48 2.85 0.515296 9.08163 +49 2.91 0.955581 9.67347 +50 2.97 0.88573 10.2449 +102900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 1.71613 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 1.7572 0.163265 +13 0.75 0 0.163265 +14 0.81 0.425111 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 1.61259 0.346939 +17 0.99 0.284622 0.367347 +18 1.05 0.506063 0.408163 +19 1.11 0.90569 0.489796 +20 1.17 1.4266 0.632653 +21 1.23 0.922029 0.734694 +22 1.29 1.34123 0.897959 +23 1.35 0.918509 1.02041 +24 1.41 1.12268 1.18367 +25 1.47 0.903804 1.32653 +26 1.53 1.43026 1.57143 +27 1.59 0.882908 1.73469 +28 1.65 0.922354 1.91837 +29 1.71 1.5267 2.2449 +30 1.77 1.15778 2.5102 +31 1.83 0.66653 2.67347 +32 1.89 0.859219 2.89796 +33 1.95 1.10067 3.20408 +34 2.01 0.690632 3.40816 +35 2.07 0.716296 3.63265 +36 2.13 0.799515 3.89796 +37 2.19 0.698131 4.14286 +38 2.25 1.10233 4.55102 +39 2.31 0.784357 4.85714 +40 2.37 1.09288 5.30612 +41 2.43 0.75606 5.63265 +42 2.49 0.810072 6 +43 2.55 0.643668 6.30612 +44 2.61 1.02403 6.81633 +45 2.67 1.09594 7.38776 +46 2.73 0.861105 7.85714 +47 2.79 0.824468 8.32653 +48 2.85 1.06494 8.95918 +49 2.91 1.18624 9.69388 +50 2.97 1.01226 10.3469 +102950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 2.21112 0.306122 +16 0.93 0.967555 0.367347 +17 0.99 1.13849 0.44898 +18 1.05 1.01213 0.530612 +19 1.11 1.81138 0.693878 +20 1.17 0.4076 0.734694 +21 1.23 1.47525 0.897959 +22 1.29 0.838269 1 +23 1.35 0.918509 1.12245 +24 1.41 0.982348 1.26531 +25 1.47 0.774689 1.38776 +26 1.53 0.476752 1.46939 +27 1.59 0.220727 1.5102 +28 1.65 1.94719 1.89796 +29 1.71 0.667932 2.04082 +30 1.77 1.15778 2.30612 +31 1.83 0.916479 2.53061 +32 1.89 0.702997 2.71429 +33 1.95 0.513648 2.85714 +34 2.01 1.10501 3.18367 +35 2.07 0.586061 3.36735 +36 2.13 0.676513 3.59184 +37 2.19 0.639953 3.81633 +38 2.25 1.10233 4.22449 +39 2.31 0.836648 4.55102 +40 2.37 1.04321 4.97959 +41 2.43 1.08684 5.44898 +42 2.49 1.26011 6.02041 +43 2.55 0.986958 6.4898 +44 2.61 0.819221 6.89796 +45 2.67 1.01766 7.42857 +46 2.73 0.898544 7.91837 +47 2.79 0.788621 8.36735 +48 2.85 0.996238 8.95918 +49 2.91 1.15329 9.67347 +50 2.97 0.664298 10.102 +103000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 1.10556 0.163265 +16 0.93 0.322518 0.183673 +17 0.99 1.42311 0.285714 +18 1.05 0.759094 0.346939 +19 1.11 0.452845 0.387755 +20 1.17 0.6114 0.44898 +21 1.23 1.10644 0.571429 +22 1.29 0.838269 0.673469 +23 1.35 0.918509 0.795918 +24 1.41 1.68403 1.04082 +25 1.47 0.903804 1.18367 +26 1.53 0.834316 1.32653 +27 1.59 0.882908 1.4898 +28 1.65 1.43477 1.77551 +29 1.71 0.85877 1.95918 +30 1.77 0.80154 2.14286 +31 1.83 1.08311 2.40816 +32 1.89 0.937329 2.65306 +33 1.95 1.24743 3 +34 2.01 1.10501 3.32653 +35 2.07 1.04189 3.65306 +36 2.13 0.799515 3.91837 +37 2.19 0.698131 4.16327 +38 2.25 0.716512 4.42857 +39 2.31 0.993519 4.81633 +40 2.37 1.09288 5.26531 +41 2.43 0.897822 5.65306 +42 2.49 0.855076 6.04082 +43 2.55 1.07278 6.55102 +44 2.61 1.26979 7.18367 +45 2.67 0.782817 7.59184 +46 2.73 0.711348 7.97959 +47 2.79 1.07539 8.59184 +48 2.85 1.168 9.28571 +49 2.91 1.08739 9.95918 +50 2.97 1.0439 10.6327 +103050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 1.7572 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 1.70044 0.244898 +15 0.87 0 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 1.13849 0.346939 +18 1.05 1.26516 0.44898 +19 1.11 1.81138 0.612245 +20 1.17 1.6304 0.77551 +21 1.23 0.184406 0.795918 +22 1.29 1.00592 0.918367 +23 1.35 0.612339 1 +24 1.41 0.280671 1.04082 +25 1.47 1.80761 1.32653 +26 1.53 1.07269 1.5102 +27 1.59 1.10363 1.71429 +28 1.65 1.53726 2.02041 +29 1.71 1.14503 2.26531 +30 1.77 1.3359 2.57143 +31 1.83 0.999796 2.81633 +32 1.89 0.702997 3 +33 1.95 0.807161 3.22449 +34 2.01 1.10501 3.55102 +35 2.07 1.23724 3.93878 +36 2.13 0.984018 4.26531 +37 2.19 0.756309 4.53061 +38 2.25 0.60628 4.7551 +39 2.31 1.0981 5.18367 +40 2.37 0.943854 5.57143 +41 2.43 0.992329 6 +42 2.49 0.945085 6.42857 +43 2.55 0.686579 6.7551 +44 2.61 1.10595 7.30612 +45 2.67 0.861099 7.7551 +46 2.73 1.08574 8.34694 +47 2.79 1.03955 8.93878 +48 2.85 0.79012 9.40816 +49 2.91 1.25214 10.1837 +50 2.97 1.01226 10.8367 +103100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 1.70044 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 1.93511 0.367347 +17 0.99 0.569243 0.408163 +18 1.05 0.506063 0.44898 +19 1.11 1.13211 0.55102 +20 1.17 0.6114 0.612245 +21 1.23 0.922029 0.714286 +22 1.29 1.17358 0.857143 +23 1.35 1.22468 1.02041 +24 1.41 0.701677 1.12245 +25 1.47 0.774689 1.2449 +26 1.53 1.19188 1.44898 +27 1.59 1.214 1.67347 +28 1.65 0.922354 1.85714 +29 1.71 0.85877 2.04082 +30 1.77 0.80154 2.22449 +31 1.83 0.833163 2.42857 +32 1.89 1.24977 2.7551 +33 1.95 1.61432 3.20408 +34 2.01 0.552506 3.36735 +35 2.07 0.846532 3.63265 +36 2.13 0.799515 3.89796 +37 2.19 1.0472 4.26531 +38 2.25 0.881861 4.59184 +39 2.31 1.04581 5 +40 2.37 0.894177 5.36735 +41 2.43 0.992329 5.79592 +42 2.49 1.0801 6.28571 +43 2.55 0.472023 6.5102 +44 2.61 1.35171 7.18367 +45 2.67 1.33079 7.87755 +46 2.73 0.973423 8.40816 +47 2.79 0.609389 8.7551 +48 2.85 1.03059 9.36735 +49 2.91 1.02148 10 +50 2.97 1.0439 10.6735 +103150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0 0.0612245 +13 0.75 2.47906 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 1.47408 0.306122 +16 0.93 0.322518 0.326531 +17 0.99 0.284622 0.346939 +18 1.05 1.26516 0.44898 +19 1.11 1.35853 0.571429 +20 1.17 1.2228 0.693878 +21 1.23 1.65965 0.877551 +22 1.29 0.502961 0.938776 +23 1.35 0.30617 0.979592 +24 1.41 0.421006 1.04082 +25 1.47 1.03292 1.20408 +26 1.53 0.953504 1.36735 +27 1.59 1.10363 1.57143 +28 1.65 1.12732 1.79592 +29 1.71 1.14503 2.04082 +30 1.77 0.890601 2.2449 +31 1.83 0.249949 2.30612 +32 1.89 0.859219 2.53061 +33 1.95 1.24743 2.87755 +34 2.01 1.10501 3.20408 +35 2.07 0.976768 3.5102 +36 2.13 0.922517 3.81633 +37 2.19 1.0472 4.18367 +38 2.25 0.826745 4.4898 +39 2.31 1.15039 4.93878 +40 2.37 0.844501 5.28571 +41 2.43 1.2286 5.81633 +42 2.49 0.990089 6.26531 +43 2.55 0.944046 6.71429 +44 2.61 1.06499 7.2449 +45 2.67 1.0568 7.79592 +46 2.73 1.12318 8.40816 +47 2.79 1.11124 9.04082 +48 2.85 1.37412 9.85714 +49 2.91 0.659022 10.2653 +50 2.97 0.822464 10.7959 +103200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 1.48744 0.102041 +14 0.81 2.12556 0.204082 +15 0.87 2.21112 0.326531 +16 0.93 0.967555 0.387755 +17 0.99 0.853865 0.44898 +18 1.05 0.253031 0.469388 +19 1.11 0.452845 0.510204 +20 1.17 0.6114 0.571429 +21 1.23 1.47525 0.734694 +22 1.29 0.838269 0.836735 +23 1.35 1.07159 0.979592 +24 1.41 1.40335 1.18367 +25 1.47 0.903804 1.32653 +26 1.53 1.66863 1.61224 +27 1.59 0.662181 1.73469 +28 1.65 0.922354 1.91837 +29 1.71 0.85877 2.10204 +30 1.77 0.890601 2.30612 +31 1.83 0.999796 2.55102 +32 1.89 1.01544 2.81633 +33 1.95 1.17405 3.14286 +34 2.01 1.03595 3.44898 +35 2.07 1.75818 4 +36 2.13 0.922517 4.30612 +37 2.19 1.0472 4.67347 +38 2.25 1.32279 5.16327 +39 2.31 0.784357 5.46939 +40 2.37 1.14256 5.93878 +41 2.43 0.945075 6.34694 +42 2.49 0.630056 6.63265 +43 2.55 1.11569 7.16327 +44 2.61 0.983065 7.65306 +45 2.67 0.782817 8.06122 +46 2.73 0.898544 8.55102 +47 2.79 1.11124 9.18367 +48 2.85 1.06494 9.81633 +49 2.91 1.02148 10.449 +50 2.97 0.854097 11 +103250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 0.368519 0.22449 +16 0.93 0.322518 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 1.51819 0.428571 +19 1.11 1.58496 0.571429 +20 1.17 1.2228 0.693878 +21 1.23 0.922029 0.795918 +22 1.29 1.50888 0.979592 +23 1.35 1.07159 1.12245 +24 1.41 0.561342 1.20408 +25 1.47 1.03292 1.36735 +26 1.53 0.953504 1.53061 +27 1.59 0.662181 1.65306 +28 1.65 0.922354 1.83673 +29 1.71 0.667932 1.97959 +30 1.77 0.890601 2.18367 +31 1.83 0.583214 2.32653 +32 1.89 0.937329 2.57143 +33 1.95 1.24743 2.91837 +34 2.01 1.03595 3.22449 +35 2.07 1.36747 3.65306 +36 2.13 0.861016 3.93878 +37 2.19 0.872664 4.2449 +38 2.25 0.992094 4.61224 +39 2.31 1.0981 5.04082 +40 2.37 0.695471 5.32653 +41 2.43 1.51212 5.97959 +42 2.49 0.855076 6.36735 +43 2.55 1.11569 6.89796 +44 2.61 1.02403 7.40816 +45 2.67 1.33079 8.10204 +46 2.73 1.12318 8.71429 +47 2.79 1.0037 9.28571 +48 2.85 0.961885 9.85714 +49 2.91 1.02148 10.4898 +50 2.97 0.917363 11.0816 +103300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0 0.102041 +15 0.87 0 0.102041 +16 0.93 0.967555 0.163265 +17 0.99 0.853865 0.22449 +18 1.05 1.26516 0.326531 +19 1.11 0.452845 0.367347 +20 1.17 0.4076 0.408163 +21 1.23 1.29084 0.55102 +22 1.29 0.335308 0.591837 +23 1.35 1.68393 0.816327 +24 1.41 1.12268 0.979592 +25 1.47 1.03292 1.14286 +26 1.53 1.31107 1.36735 +27 1.59 0.993271 1.55102 +28 1.65 0.717387 1.69388 +29 1.71 0.954189 1.89796 +30 1.77 0.71248 2.06122 +31 1.83 1.08311 2.32653 +32 1.89 1.24977 2.65306 +33 1.95 1.24743 3 +34 2.01 1.58845 3.46939 +35 2.07 0.976768 3.77551 +36 2.13 0.861016 4.06122 +37 2.19 0.756309 4.32653 +38 2.25 1.37791 4.83673 +39 2.31 0.941229 5.20408 +40 2.37 1.14256 5.67347 +41 2.43 0.897822 6.06122 +42 2.49 0.540048 6.30612 +43 2.55 1.37316 6.95918 +44 2.61 1.26979 7.59184 +45 2.67 0.743676 7.97959 +46 2.73 1.01086 8.53061 +47 2.79 1.25463 9.2449 +48 2.85 1.0993 9.89796 +49 2.91 1.12034 10.5918 +50 2.97 0.98063 11.2245 +103350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0 0 +13 0.75 0.495812 0.0204082 +14 0.81 1.27533 0.0816327 +15 0.87 0.737039 0.122449 +16 0.93 1.29007 0.204082 +17 0.99 1.13849 0.285714 +18 1.05 0.759094 0.346939 +19 1.11 1.35853 0.469388 +20 1.17 1.019 0.571429 +21 1.23 0.737623 0.653061 +22 1.29 0.167654 0.673469 +23 1.35 1.22468 0.836735 +24 1.41 1.12268 1 +25 1.47 0.516459 1.08163 +26 1.53 1.31107 1.30612 +27 1.59 1.214 1.53061 +28 1.65 0.819871 1.69388 +29 1.71 0.763351 1.85714 +30 1.77 0.890601 2.06122 +31 1.83 1.33306 2.38776 +32 1.89 0.937329 2.63265 +33 1.95 0.807161 2.85714 +34 2.01 1.17407 3.20408 +35 2.07 0.976768 3.5102 +36 2.13 1.23002 3.91837 +37 2.19 0.872664 4.22449 +38 2.25 1.10233 4.63265 +39 2.31 0.522905 4.83673 +40 2.37 0.745148 5.14286 +41 2.43 1.03958 5.59184 +42 2.49 1.03509 6.06122 +43 2.55 0.600757 6.34694 +44 2.61 1.4746 7.08163 +45 2.67 1.09594 7.65306 +46 2.73 1.19806 8.30612 +47 2.79 0.860314 8.79592 +48 2.85 1.06494 9.42857 +49 2.91 1.28509 10.2245 +50 2.97 0.98063 10.8571 +103400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 2.34293 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 0.967555 0.22449 +17 0.99 1.13849 0.306122 +18 1.05 1.01213 0.387755 +19 1.11 0.452845 0.428571 +20 1.17 0.4076 0.469388 +21 1.23 0.368812 0.510204 +22 1.29 0.167654 0.530612 +23 1.35 0.765424 0.632653 +24 1.41 0.842013 0.755102 +25 1.47 0.903804 0.897959 +26 1.53 0.59594 1 +27 1.59 1.32436 1.2449 +28 1.65 1.12732 1.46939 +29 1.71 0.85877 1.65306 +30 1.77 0.62342 1.79592 +31 1.83 1.41638 2.14286 +32 1.89 1.79655 2.61224 +33 1.95 1.10067 2.91837 +34 2.01 0.759695 3.14286 +35 2.07 1.107 3.4898 +36 2.13 0.984018 3.81633 +37 2.19 1.22173 4.2449 +38 2.25 1.21256 4.69388 +39 2.31 1.0981 5.12245 +40 2.37 0.894177 5.4898 +41 2.43 1.03958 5.93878 +42 2.49 1.0801 6.42857 +43 2.55 0.901135 6.85714 +44 2.61 0.737299 7.22449 +45 2.67 1.0568 7.77551 +46 2.73 0.636469 8.12245 +47 2.79 0.896161 8.63265 +48 2.85 1.03059 9.2449 +49 2.91 0.92263 9.81633 +50 2.97 0.98063 10.449 +103450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.7572 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 1.70044 0.22449 +15 0.87 0.368519 0.244898 +16 0.93 1.61259 0.346939 +17 0.99 0.284622 0.367347 +18 1.05 0.759094 0.428571 +19 1.11 0.90569 0.510204 +20 1.17 0.2038 0.530612 +21 1.23 0.922029 0.632653 +22 1.29 0.670615 0.714286 +23 1.35 0.459254 0.77551 +24 1.41 0.561342 0.857143 +25 1.47 1.16203 1.04082 +26 1.53 0.357564 1.10204 +27 1.59 0.772544 1.2449 +28 1.65 1.12732 1.46939 +29 1.71 0.286257 1.53061 +30 1.77 0.35624 1.61224 +31 1.83 0.999796 1.85714 +32 1.89 1.01544 2.12245 +33 1.95 0.807161 2.34694 +34 2.01 1.24314 2.71429 +35 2.07 1.107 3.06122 +36 2.13 0.861016 3.34694 +37 2.19 0.930841 3.67347 +38 2.25 1.32279 4.16327 +39 2.31 1.20268 4.63265 +40 2.37 0.546442 4.85714 +41 2.43 0.75606 5.18367 +42 2.49 0.990089 5.63265 +43 2.55 1.1586 6.18367 +44 2.61 1.39268 6.87755 +45 2.67 0.861099 7.32653 +46 2.73 0.748787 7.73469 +47 2.79 1.18293 8.40816 +48 2.85 1.40848 9.2449 +49 2.91 1.02148 9.87755 +50 2.97 1.20206 10.6531 +103500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 0.368519 0.163265 +16 0.93 0.322518 0.183673 +17 0.99 0.284622 0.204082 +18 1.05 0.506063 0.244898 +19 1.11 1.13211 0.346939 +20 1.17 0.8152 0.428571 +21 1.23 0.737623 0.510204 +22 1.29 0.838269 0.612245 +23 1.35 0.612339 0.693878 +24 1.41 0.280671 0.734694 +25 1.47 1.54938 0.979592 +26 1.53 0.953504 1.14286 +27 1.59 1.10363 1.34694 +28 1.65 1.33229 1.61224 +29 1.71 1.04961 1.83673 +30 1.77 1.24684 2.12245 +31 1.83 0.583214 2.26531 +32 1.89 0.546775 2.40816 +33 1.95 0.733783 2.61224 +34 2.01 0.897822 2.87755 +35 2.07 1.17212 3.2449 +36 2.13 0.738014 3.4898 +37 2.19 0.989019 3.83673 +38 2.25 0.826745 4.14286 +39 2.31 0.679776 4.40816 +40 2.37 0.99353 4.81633 +41 2.43 0.708807 5.12245 +42 2.49 1.35012 5.73469 +43 2.55 0.858224 6.14286 +44 2.61 0.819221 6.55102 +45 2.67 1.25251 7.20408 +46 2.73 1.0483 7.77551 +47 2.79 0.645236 8.14286 +48 2.85 1.23671 8.87755 +49 2.91 1.05443 9.53061 +50 2.97 1.29696 10.3673 +103550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0 0.0204082 +14 0.81 0.425111 0.0408163 +15 0.87 0.737039 0.0816327 +16 0.93 0.645037 0.122449 +17 0.99 0.569243 0.163265 +18 1.05 0.759094 0.22449 +19 1.11 0.679267 0.285714 +20 1.17 0.8152 0.367347 +21 1.23 0.553218 0.428571 +22 1.29 0.335308 0.469388 +23 1.35 0.30617 0.510204 +24 1.41 0.842013 0.632653 +25 1.47 0.516459 0.714286 +26 1.53 0.834316 0.857143 +27 1.59 1.54509 1.14286 +28 1.65 0.717387 1.28571 +29 1.71 0.763351 1.44898 +30 1.77 0.890601 1.65306 +31 1.83 0.66653 1.81633 +32 1.89 0.859219 2.04082 +33 1.95 1.24743 2.38776 +34 2.01 1.3122 2.77551 +35 2.07 1.62795 3.28571 +36 2.13 1.10702 3.65306 +37 2.19 0.930841 3.97959 +38 2.25 1.10233 4.38776 +39 2.31 0.836648 4.71429 +40 2.37 0.496765 4.91837 +41 2.43 1.37036 5.5102 +42 2.49 0.765068 5.85714 +43 2.55 0.944046 6.30612 +44 2.61 1.10595 6.85714 +45 2.67 1.21337 7.4898 +46 2.73 1.08574 8.08163 +47 2.79 1.11124 8.71429 +48 2.85 0.961885 9.28571 +49 2.91 1.08739 9.95918 +50 2.97 0.854097 10.5102 +103600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0 0.0204082 +14 0.81 1.27533 0.0816327 +15 0.87 0.737039 0.122449 +16 0.93 0.322518 0.142857 +17 0.99 1.13849 0.22449 +18 1.05 0.253031 0.244898 +19 1.11 0.452845 0.285714 +20 1.17 0.4076 0.326531 +21 1.23 0.553218 0.387755 +22 1.29 1.00592 0.510204 +23 1.35 1.53085 0.714286 +24 1.41 1.54369 0.938776 +25 1.47 0.516459 1.02041 +26 1.53 0.834316 1.16327 +27 1.59 0.551817 1.26531 +28 1.65 0.922354 1.44898 +29 1.71 0.954189 1.65306 +30 1.77 0.979661 1.87755 +31 1.83 0.749847 2.06122 +32 1.89 1.09355 2.34694 +33 1.95 1.17405 2.67347 +34 2.01 1.10501 3 +35 2.07 1.107 3.34694 +36 2.13 0.799515 3.61224 +37 2.19 0.639953 3.83673 +38 2.25 0.881861 4.16327 +39 2.31 0.836648 4.4898 +40 2.37 0.943854 4.87755 +41 2.43 0.897822 5.26531 +42 2.49 1.03509 5.73469 +43 2.55 1.28734 6.34694 +44 2.61 1.14691 6.91837 +45 2.67 1.25251 7.57143 +46 2.73 0.711348 7.95918 +47 2.79 0.824468 8.42857 +48 2.85 1.13365 9.10204 +49 2.91 0.955581 9.69388 +50 2.97 1.1388 10.4286 +103650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 1.70044 0.183673 +15 0.87 1.47408 0.265306 +16 0.93 0.322518 0.285714 +17 0.99 1.42311 0.387755 +18 1.05 1.01213 0.469388 +19 1.11 0.90569 0.55102 +20 1.17 2.2418 0.77551 +21 1.23 0.553218 0.836735 +22 1.29 1.17358 0.979592 +23 1.35 1.22468 1.14286 +24 1.41 0.842013 1.26531 +25 1.47 1.29115 1.46939 +26 1.53 0.715128 1.59184 +27 1.59 1.76582 1.91837 +28 1.65 0.614903 2.04082 +29 1.71 0.763351 2.20408 +30 1.77 0.80154 2.38776 +31 1.83 0.999796 2.63265 +32 1.89 1.09355 2.91837 +33 1.95 0.953918 3.18367 +34 2.01 0.966885 3.46939 +35 2.07 1.17212 3.83673 +36 2.13 0.799515 4.10204 +37 2.19 0.639953 4.32653 +38 2.25 0.771629 4.61224 +39 2.31 0.679776 4.87755 +40 2.37 1.09288 5.32653 +41 2.43 1.18134 5.83673 +42 2.49 1.03509 6.30612 +43 2.55 0.72949 6.65306 +44 2.61 1.26979 7.28571 +45 2.67 1.13508 7.87755 +46 2.73 0.898544 8.36735 +47 2.79 0.896161 8.87755 +48 2.85 0.961885 9.44898 +49 2.91 0.988533 10.0612 +50 2.97 1.0439 10.7347 +103700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 1.8426 0.306122 +16 0.93 1.29007 0.387755 +17 0.99 0.284622 0.408163 +18 1.05 0.253031 0.428571 +19 1.11 0.679267 0.489796 +20 1.17 0.4076 0.530612 +21 1.23 1.10644 0.653061 +22 1.29 0.670615 0.734694 +23 1.35 1.22468 0.897959 +24 1.41 0.982348 1.04082 +25 1.47 0.903804 1.18367 +26 1.53 0.59594 1.28571 +27 1.59 1.214 1.5102 +28 1.65 0.819871 1.67347 +29 1.71 1.24045 1.93878 +30 1.77 1.3359 2.2449 +31 1.83 0.999796 2.4898 +32 1.89 1.17166 2.79592 +33 1.95 1.10067 3.10204 +34 2.01 0.483442 3.2449 +35 2.07 0.846532 3.5102 +36 2.13 1.29152 3.93878 +37 2.19 0.756309 4.20408 +38 2.25 0.992094 4.57143 +39 2.31 1.20268 5.04082 +40 2.37 0.596118 5.28571 +41 2.43 1.13409 5.77551 +42 2.49 1.03509 6.2449 +43 2.55 1.24442 6.83673 +44 2.61 0.77826 7.22449 +45 2.67 0.978521 7.73469 +46 2.73 1.19806 8.38776 +47 2.79 0.896161 8.89796 +48 2.85 1.20236 9.61224 +49 2.91 0.988533 10.2245 +50 2.97 0.917363 10.8163 +103750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.7572 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 1.70044 0.183673 +15 0.87 1.47408 0.265306 +16 0.93 1.61259 0.367347 +17 0.99 1.13849 0.44898 +18 1.05 0.506063 0.489796 +19 1.11 0.452845 0.530612 +20 1.17 0.8152 0.612245 +21 1.23 0.737623 0.693878 +22 1.29 0.838269 0.795918 +23 1.35 0.459254 0.857143 +24 1.41 1.40335 1.06122 +25 1.47 0.645574 1.16327 +26 1.53 0.953504 1.32653 +27 1.59 1.54509 1.61224 +28 1.65 0.922354 1.79592 +29 1.71 0.667932 1.93878 +30 1.77 0.71248 2.10204 +31 1.83 1.16643 2.38776 +32 1.89 0.624886 2.55102 +33 1.95 0.953918 2.81633 +34 2.01 0.552506 2.97959 +35 2.07 0.781414 3.22449 +36 2.13 1.10702 3.59184 +37 2.19 1.0472 3.95918 +38 2.25 1.15744 4.38776 +39 2.31 0.993519 4.77551 +40 2.37 0.943854 5.16327 +41 2.43 0.945075 5.57143 +42 2.49 1.0801 6.06122 +43 2.55 0.858224 6.46939 +44 2.61 0.860182 6.89796 +45 2.67 1.01766 7.42857 +46 2.73 1.19806 8.08163 +47 2.79 0.896161 8.59184 +48 2.85 1.20236 9.30612 +49 2.91 0.790826 9.79592 +50 2.97 1.17043 10.551 +103800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 2.25763 0.285714 +17 0.99 0.853865 0.346939 +18 1.05 0.759094 0.408163 +19 1.11 0.679267 0.469388 +20 1.17 1.019 0.571429 +21 1.23 1.84406 0.77551 +22 1.29 0.502961 0.836735 +23 1.35 0.765424 0.938776 +24 1.41 1.12268 1.10204 +25 1.47 0.903804 1.2449 +26 1.53 0.834316 1.38776 +27 1.59 0.772544 1.53061 +28 1.65 1.12732 1.7551 +29 1.71 0.763351 1.91837 +30 1.77 0.80154 2.10204 +31 1.83 0.833163 2.30612 +32 1.89 0.624886 2.46939 +33 1.95 0.660405 2.65306 +34 2.01 0.828758 2.89796 +35 2.07 0.716296 3.12245 +36 2.13 0.799515 3.38776 +37 2.19 0.581776 3.59184 +38 2.25 1.10233 4 +39 2.31 1.04581 4.40816 +40 2.37 0.844501 4.7551 +41 2.43 1.32311 5.32653 +42 2.49 0.945085 5.7551 +43 2.55 1.28734 6.36735 +44 2.61 0.819221 6.77551 +45 2.67 1.09594 7.34694 +46 2.73 0.935984 7.85714 +47 2.79 0.824468 8.32653 +48 2.85 1.0993 8.97959 +49 2.91 0.856728 9.5102 +50 2.97 1.10716 10.2245 +103850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 1.70044 0.163265 +15 0.87 1.47408 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 0.284622 0.285714 +18 1.05 2.27728 0.469388 +19 1.11 1.13211 0.571429 +20 1.17 0.2038 0.591837 +21 1.23 1.10644 0.714286 +22 1.29 0.502961 0.77551 +23 1.35 0.459254 0.836735 +24 1.41 0.982348 0.979592 +25 1.47 0.903804 1.12245 +26 1.53 1.07269 1.30612 +27 1.59 0.441454 1.38776 +28 1.65 1.33229 1.65306 +29 1.71 1.33586 1.93878 +30 1.77 1.06872 2.18367 +31 1.83 0.583214 2.32653 +32 1.89 0.781108 2.53061 +33 1.95 0.587026 2.69388 +34 2.01 1.10501 3.02041 +35 2.07 0.716296 3.2449 +36 2.13 0.738014 3.4898 +37 2.19 0.872664 3.79592 +38 2.25 1.59837 4.38776 +39 2.31 0.418324 4.55102 +40 2.37 1.4903 5.16327 +41 2.43 0.992329 5.59184 +42 2.49 0.810072 5.95918 +43 2.55 1.11569 6.4898 +44 2.61 0.614416 6.79592 +45 2.67 0.978521 7.30612 +46 2.73 0.861105 7.77551 +47 2.79 1.03955 8.36735 +48 2.85 1.06494 9 +49 2.91 1.02148 9.63265 +50 2.97 1.2337 10.4286 +103900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0 0.122449 +15 0.87 0 0.122449 +16 0.93 0.645037 0.163265 +17 0.99 1.70773 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 0.679267 0.428571 +20 1.17 0.8152 0.510204 +21 1.23 0.922029 0.612245 +22 1.29 0.838269 0.714286 +23 1.35 0.459254 0.77551 +24 1.41 0.701677 0.877551 +25 1.47 1.03292 1.04082 +26 1.53 0.715128 1.16327 +27 1.59 1.76582 1.4898 +28 1.65 0.307451 1.55102 +29 1.71 0.85877 1.73469 +30 1.77 0.35624 1.81633 +31 1.83 0.916479 2.04082 +32 1.89 1.09355 2.32653 +33 1.95 0.660405 2.5102 +34 2.01 1.03595 2.81633 +35 2.07 1.04189 3.14286 +36 2.13 0.984018 3.46939 +37 2.19 0.930841 3.79592 +38 2.25 1.04721 4.18367 +39 2.31 0.888938 4.53061 +40 2.37 0.943854 4.91837 +41 2.43 0.897822 5.30612 +42 2.49 0.900081 5.71429 +43 2.55 1.28734 6.32653 +44 2.61 0.983065 6.81633 +45 2.67 0.978521 7.32653 +46 2.73 0.935984 7.83673 +47 2.79 0.860314 8.32653 +48 2.85 0.996238 8.91837 +49 2.91 1.25214 9.69388 +50 2.97 1.51839 10.6735 +103950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0 0.0408163 +14 0.81 0.425111 0.0612245 +15 0.87 0.737039 0.102041 +16 0.93 0.645037 0.142857 +17 0.99 1.13849 0.22449 +18 1.05 1.01213 0.306122 +19 1.11 0.679267 0.367347 +20 1.17 1.019 0.469388 +21 1.23 1.29084 0.612245 +22 1.29 0.167654 0.632653 +23 1.35 1.53085 0.836735 +24 1.41 0.701677 0.938776 +25 1.47 1.29115 1.14286 +26 1.53 0.715128 1.26531 +27 1.59 0.993271 1.44898 +28 1.65 0.819871 1.61224 +29 1.71 0.85877 1.79592 +30 1.77 1.24684 2.08163 +31 1.83 1.33306 2.40816 +32 1.89 0.781108 2.61224 +33 1.95 1.32081 2.97959 +34 2.01 1.03595 3.28571 +35 2.07 1.17212 3.65306 +36 2.13 0.799515 3.91837 +37 2.19 0.581776 4.12245 +38 2.25 0.936978 4.46939 +39 2.31 0.836648 4.79592 +40 2.37 0.794824 5.12245 +41 2.43 1.13409 5.61224 +42 2.49 0.945085 6.04082 +43 2.55 1.07278 6.55102 +44 2.61 0.819221 6.95918 +45 2.67 1.01766 7.4898 +46 2.73 0.823666 7.93878 +47 2.79 1.07539 8.55102 +48 2.85 1.13365 9.22449 +49 2.91 1.35099 10.0612 +50 2.97 0.98063 10.6939 +104000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 1.10556 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 1.26516 0.408163 +19 1.11 1.35853 0.530612 +20 1.17 0.2038 0.55102 +21 1.23 0.184406 0.571429 +22 1.29 0.838269 0.673469 +23 1.35 1.22468 0.836735 +24 1.41 0.842013 0.959184 +25 1.47 0.774689 1.08163 +26 1.53 0.953504 1.2449 +27 1.59 1.214 1.46939 +28 1.65 1.22981 1.71429 +29 1.71 0.763351 1.87755 +30 1.77 1.15778 2.14286 +31 1.83 1.58301 2.53061 +32 1.89 0.937329 2.77551 +33 1.95 1.32081 3.14286 +34 2.01 0.552506 3.30612 +35 2.07 1.04189 3.63265 +36 2.13 0.615011 3.83673 +37 2.19 1.0472 4.20408 +38 2.25 0.936978 4.55102 +39 2.31 1.25497 5.04082 +40 2.37 0.844501 5.38776 +41 2.43 0.992329 5.81633 +42 2.49 0.810072 6.18367 +43 2.55 0.901135 6.61224 +44 2.61 1.14691 7.18367 +45 2.67 0.782817 7.59184 +46 2.73 1.19806 8.2449 +47 2.79 0.896161 8.7551 +48 2.85 0.618355 9.12245 +49 2.91 1.12034 9.81633 +50 2.97 0.948997 10.4286 +104050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 1.71613 0.0816327 +11 0.63 0 0.0816327 +12 0.69 0 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 1.8426 0.265306 +16 0.93 1.29007 0.346939 +17 0.99 0.284622 0.367347 +18 1.05 1.51819 0.489796 +19 1.11 0.679267 0.55102 +20 1.17 0.8152 0.632653 +21 1.23 0.553218 0.693878 +22 1.29 1.50888 0.877551 +23 1.35 1.07159 1.02041 +24 1.41 0.421006 1.08163 +25 1.47 1.03292 1.2449 +26 1.53 0.715128 1.36735 +27 1.59 1.10363 1.57143 +28 1.65 1.33229 1.83673 +29 1.71 0.667932 1.97959 +30 1.77 0.979661 2.20408 +31 1.83 0.749847 2.38776 +32 1.89 0.859219 2.61224 +33 1.95 0.880539 2.85714 +34 2.01 0.966885 3.14286 +35 2.07 1.04189 3.46939 +36 2.13 1.10702 3.83673 +37 2.19 0.872664 4.14286 +38 2.25 0.992094 4.5102 +39 2.31 1.0981 4.93878 +40 2.37 0.894177 5.30612 +41 2.43 0.75606 5.63265 +42 2.49 1.39512 6.26531 +43 2.55 0.986958 6.73469 +44 2.61 1.06499 7.26531 +45 2.67 0.704535 7.63265 +46 2.73 0.823666 8.08163 +47 2.79 1.21878 8.77551 +48 2.85 1.06494 9.40816 +49 2.91 0.757875 9.87755 +50 2.97 0.917363 10.4694 +104100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 2.14319 0.0612245 +10 0.57 2.5742 0.122449 +11 0.63 0.702525 0.142857 +12 0.69 0 0.142857 +13 0.75 0.991624 0.183673 +14 0.81 0.425111 0.204082 +15 0.87 1.10556 0.265306 +16 0.93 1.29007 0.346939 +17 0.99 1.13849 0.428571 +18 1.05 0 0.428571 +19 1.11 0.226422 0.44898 +20 1.17 0.6114 0.510204 +21 1.23 0.184406 0.530612 +22 1.29 1.00592 0.653061 +23 1.35 0.918509 0.77551 +24 1.41 1.40335 0.979592 +25 1.47 0.645574 1.08163 +26 1.53 1.31107 1.30612 +27 1.59 0.993271 1.4898 +28 1.65 0.512419 1.59184 +29 1.71 0.667932 1.73469 +30 1.77 0.71248 1.89796 +31 1.83 0.66653 2.06122 +32 1.89 0.702997 2.2449 +33 1.95 1.10067 2.55102 +34 2.01 0.966885 2.83673 +35 2.07 0.976768 3.14286 +36 2.13 0.984018 3.46939 +37 2.19 0.872664 3.77551 +38 2.25 1.10233 4.18367 +39 2.31 0.941229 4.55102 +40 2.37 1.09288 5 +41 2.43 0.992329 5.42857 +42 2.49 0.945085 5.85714 +43 2.55 1.24442 6.44898 +44 2.61 0.77826 6.83673 +45 2.67 1.36993 7.55102 +46 2.73 1.19806 8.20408 +47 2.79 1.03955 8.79592 +48 2.85 0.927532 9.34694 +49 2.91 0.757875 9.81633 +50 2.97 1.07553 10.5102 +104150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0 0 +13 0.75 0.495812 0.0204082 +14 0.81 0.850222 0.0612245 +15 0.87 0.368519 0.0816327 +16 0.93 0 0.0816327 +17 0.99 0.284622 0.102041 +18 1.05 1.01213 0.183673 +19 1.11 0.452845 0.22449 +20 1.17 1.4266 0.367347 +21 1.23 1.10644 0.489796 +22 1.29 0.670615 0.571429 +23 1.35 0.918509 0.693878 +24 1.41 1.40335 0.897959 +25 1.47 1.03292 1.06122 +26 1.53 1.90701 1.38776 +27 1.59 0.33109 1.44898 +28 1.65 0.614903 1.57143 +29 1.71 1.33586 1.85714 +30 1.77 0.71248 2.02041 +31 1.83 1.16643 2.30612 +32 1.89 0.781108 2.5102 +33 1.95 0.44027 2.63265 +34 2.01 1.24314 3 +35 2.07 0.716296 3.22449 +36 2.13 1.16852 3.61224 +37 2.19 0.989019 3.95918 +38 2.25 0.992094 4.32653 +39 2.31 0.941229 4.69388 +40 2.37 1.24191 5.20408 +41 2.43 1.18134 5.71429 +42 2.49 0.945085 6.14286 +43 2.55 0.944046 6.59184 +44 2.61 1.02403 7.10204 +45 2.67 0.978521 7.61224 +46 2.73 1.12318 8.22449 +47 2.79 0.967854 8.77551 +48 2.85 0.996238 9.36735 +49 2.91 1.18624 10.102 +50 2.97 1.0439 10.7755 +104200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 2.5742 0.0816327 +11 0.63 0 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 0.425111 0.183673 +15 0.87 0.368519 0.204082 +16 0.93 0 0.204082 +17 0.99 0.284622 0.22449 +18 1.05 0.759094 0.285714 +19 1.11 0.679267 0.346939 +20 1.17 0.8152 0.428571 +21 1.23 1.29084 0.571429 +22 1.29 0.502961 0.632653 +23 1.35 0.612339 0.714286 +24 1.41 1.12268 0.877551 +25 1.47 0.516459 0.959184 +26 1.53 0.834316 1.10204 +27 1.59 0.882908 1.26531 +28 1.65 0.819871 1.42857 +29 1.71 0.954189 1.63265 +30 1.77 1.06872 1.87755 +31 1.83 1.08311 2.14286 +32 1.89 0.859219 2.36735 +33 1.95 0.660405 2.55102 +34 2.01 1.10501 2.87755 +35 2.07 0.976768 3.18367 +36 2.13 0.984018 3.5102 +37 2.19 0.989019 3.85714 +38 2.25 0.992094 4.22449 +39 2.31 0.836648 4.55102 +40 2.37 1.14256 5.02041 +41 2.43 1.32311 5.59184 +42 2.49 0.945085 6.02041 +43 2.55 1.20151 6.59184 +44 2.61 0.819221 7 +45 2.67 0.978521 7.5102 +46 2.73 0.56159 7.81633 +47 2.79 0.860314 8.30612 +48 2.85 0.79012 8.77551 +49 2.91 0.955581 9.36735 +50 2.97 1.17043 10.1224 +104250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.7572 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 1.70044 0.244898 +15 0.87 2.21112 0.367347 +16 0.93 0.967555 0.428571 +17 0.99 0.284622 0.44898 +18 1.05 1.01213 0.530612 +19 1.11 0.90569 0.612245 +20 1.17 1.6304 0.77551 +21 1.23 1.29084 0.918367 +22 1.29 1.17358 1.06122 +23 1.35 0.612339 1.14286 +24 1.41 1.40335 1.34694 +25 1.47 1.67849 1.61224 +26 1.53 1.07269 1.79592 +27 1.59 0.551817 1.89796 +28 1.65 0.922354 2.08163 +29 1.71 0.667932 2.22449 +30 1.77 0.80154 2.40816 +31 1.83 1.16643 2.69388 +32 1.89 0.937329 2.93878 +33 1.95 1.46757 3.34694 +34 2.01 0.828758 3.59184 +35 2.07 0.846532 3.85714 +36 2.13 1.16852 4.2449 +37 2.19 0.698131 4.4898 +38 2.25 1.10233 4.89796 +39 2.31 0.313743 5.02041 +40 2.37 0.695471 5.30612 +41 2.43 0.945075 5.71429 +42 2.49 1.03509 6.18367 +43 2.55 0.858224 6.59184 +44 2.61 0.860182 7.02041 +45 2.67 0.821958 7.44898 +46 2.73 0.973423 7.97959 +47 2.79 0.896161 8.4898 +48 2.85 0.996238 9.08163 +49 2.91 0.823777 9.59184 +50 2.97 1.17043 10.3469 +104300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 2.10758 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 1.47408 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 0.284622 0.285714 +18 1.05 1.51819 0.408163 +19 1.11 0.226422 0.428571 +20 1.17 1.019 0.530612 +21 1.23 0.737623 0.612245 +22 1.29 1.00592 0.734694 +23 1.35 0.459254 0.795918 +24 1.41 1.68403 1.04082 +25 1.47 1.42026 1.26531 +26 1.53 1.90701 1.59184 +27 1.59 0.882908 1.7551 +28 1.65 1.12732 1.97959 +29 1.71 0.763351 2.14286 +30 1.77 0.979661 2.36735 +31 1.83 0.999796 2.61224 +32 1.89 0.937329 2.85714 +33 1.95 0.807161 3.08163 +34 2.01 1.3122 3.46939 +35 2.07 1.107 3.81633 +36 2.13 0.984018 4.14286 +37 2.19 0.814486 4.42857 +38 2.25 0.661396 4.67347 +39 2.31 1.15039 5.12245 +40 2.37 1.04321 5.55102 +41 2.43 0.850568 5.91837 +42 2.49 0.945085 6.34694 +43 2.55 0.600757 6.63265 +44 2.61 0.901143 7.08163 +45 2.67 0.93938 7.57143 +46 2.73 0.823666 8.02041 +47 2.79 1.0037 8.59184 +48 2.85 1.54589 9.5102 +49 2.91 0.626071 9.89796 +50 2.97 0.822464 10.4286 +104350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 1.70044 0.183673 +15 0.87 0.737039 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 1.13849 0.367347 +18 1.05 0.253031 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 1.2228 0.571429 +21 1.23 0.184406 0.591837 +22 1.29 1.00592 0.714286 +23 1.35 0.612339 0.795918 +24 1.41 1.12268 0.959184 +25 1.47 1.42026 1.18367 +26 1.53 1.19188 1.38776 +27 1.59 1.43472 1.65306 +28 1.65 0.922354 1.83673 +29 1.71 0.763351 2 +30 1.77 1.15778 2.26531 +31 1.83 1.08311 2.53061 +32 1.89 1.24977 2.85714 +33 1.95 1.54094 3.28571 +34 2.01 1.03595 3.59184 +35 2.07 1.107 3.93878 +36 2.13 0.738014 4.18367 +37 2.19 0.756309 4.44898 +38 2.25 0.716512 4.71429 +39 2.31 0.679776 4.97959 +40 2.37 0.844501 5.32653 +41 2.43 1.08684 5.79592 +42 2.49 0.540048 6.04082 +43 2.55 0.72949 6.38776 +44 2.61 0.696338 6.73469 +45 2.67 1.01766 7.26531 +46 2.73 1.01086 7.81633 +47 2.79 1.25463 8.53061 +48 2.85 0.824473 9.02041 +49 2.91 0.889679 9.57143 +50 2.97 1.20206 10.3469 +104400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 1.29007 0.306122 +17 0.99 0.284622 0.326531 +18 1.05 0.253031 0.346939 +19 1.11 0.679267 0.408163 +20 1.17 1.019 0.510204 +21 1.23 1.84406 0.714286 +22 1.29 0.670615 0.795918 +23 1.35 1.22468 0.959184 +24 1.41 0.982348 1.10204 +25 1.47 0.903804 1.2449 +26 1.53 0.953504 1.40816 +27 1.59 0.551817 1.5102 +28 1.65 1.22981 1.7551 +29 1.71 0.572513 1.87755 +30 1.77 0.71248 2.04082 +31 1.83 1.08311 2.30612 +32 1.89 0.781108 2.5102 +33 1.95 1.10067 2.81633 +34 2.01 1.17407 3.16327 +35 2.07 0.91165 3.44898 +36 2.13 0.922517 3.7551 +37 2.19 0.756309 4.02041 +38 2.25 0.826745 4.32653 +39 2.31 0.888938 4.67347 +40 2.37 1.14256 5.14286 +41 2.43 0.945075 5.55102 +42 2.49 1.1701 6.08163 +43 2.55 1.11569 6.61224 +44 2.61 0.860182 7.04082 +45 2.67 0.90024 7.5102 +46 2.73 0.786226 7.93878 +47 2.79 0.932007 8.46939 +48 2.85 1.13365 9.14286 +49 2.91 0.955581 9.73469 +50 2.97 0.948997 10.3469 +104450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 2.25763 0.306122 +17 0.99 1.42311 0.408163 +18 1.05 1.01213 0.489796 +19 1.11 0.90569 0.571429 +20 1.17 1.019 0.673469 +21 1.23 0.737623 0.755102 +22 1.29 1.50888 0.938776 +23 1.35 0.459254 1 +24 1.41 0.842013 1.12245 +25 1.47 1.03292 1.28571 +26 1.53 1.19188 1.4898 +27 1.59 0.662181 1.61224 +28 1.65 0.409935 1.69388 +29 1.71 0.763351 1.85714 +30 1.77 0.80154 2.04082 +31 1.83 1.24974 2.34694 +32 1.89 0.781108 2.55102 +33 1.95 0.880539 2.79592 +34 2.01 0.828758 3.04082 +35 2.07 1.17212 3.40816 +36 2.13 1.10702 3.77551 +37 2.19 0.930841 4.10204 +38 2.25 0.936978 4.44898 +39 2.31 0.732067 4.73469 +40 2.37 1.24191 5.2449 +41 2.43 0.992329 5.67347 +42 2.49 0.810072 6.04082 +43 2.55 0.986958 6.5102 +44 2.61 0.655377 6.83673 +45 2.67 0.743676 7.22449 +46 2.73 1.2355 7.89796 +47 2.79 0.716929 8.30612 +48 2.85 1.13365 8.97959 +49 2.91 0.92263 9.55102 +50 2.97 1.1388 10.2857 +104500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 0.284622 0.22449 +18 1.05 1.26516 0.326531 +19 1.11 0.90569 0.408163 +20 1.17 0.8152 0.489796 +21 1.23 0.553218 0.55102 +22 1.29 1.17358 0.693878 +23 1.35 0.765424 0.795918 +24 1.41 0.561342 0.877551 +25 1.47 1.03292 1.04082 +26 1.53 0.834316 1.18367 +27 1.59 0.993271 1.36735 +28 1.65 0.922354 1.55102 +29 1.71 1.14503 1.79592 +30 1.77 0.979661 2.02041 +31 1.83 1.08311 2.28571 +32 1.89 0.937329 2.53061 +33 1.95 0.807161 2.7551 +34 2.01 0.897822 3.02041 +35 2.07 0.846532 3.28571 +36 2.13 1.23002 3.69388 +37 2.19 0.639953 3.91837 +38 2.25 1.10233 4.32653 +39 2.31 0.679776 4.59184 +40 2.37 0.844501 4.93878 +41 2.43 1.51212 5.59184 +42 2.49 0.945085 6.02041 +43 2.55 1.02987 6.5102 +44 2.61 0.901143 6.95918 +45 2.67 0.93938 7.44898 +46 2.73 1.0483 8.02041 +47 2.79 1.07539 8.63265 +48 2.85 0.996238 9.22449 +49 2.91 0.889679 9.77551 +50 2.97 0.948997 10.3878 +104550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 2.34293 0.122449 +13 0.75 1.48744 0.183673 +14 0.81 0.850222 0.22449 +15 0.87 1.10556 0.285714 +16 0.93 0.645037 0.326531 +17 0.99 0.569243 0.367347 +18 1.05 0.759094 0.428571 +19 1.11 0.226422 0.44898 +20 1.17 1.2228 0.571429 +21 1.23 1.10644 0.693878 +22 1.29 1.34123 0.857143 +23 1.35 0.918509 0.979592 +24 1.41 0.701677 1.08163 +25 1.47 1.29115 1.28571 +26 1.53 0.476752 1.36735 +27 1.59 1.43472 1.63265 +28 1.65 1.12732 1.85714 +29 1.71 1.04961 2.08163 +30 1.77 1.24684 2.36735 +31 1.83 0.416582 2.46939 +32 1.89 1.17166 2.77551 +33 1.95 0.880539 3.02041 +34 2.01 0.690632 3.22449 +35 2.07 0.651178 3.42857 +36 2.13 1.23002 3.83673 +37 2.19 1.27991 4.28571 +38 2.25 0.826745 4.59184 +39 2.31 0.784357 4.89796 +40 2.37 0.794824 5.22449 +41 2.43 1.03958 5.67347 +42 2.49 1.1251 6.18367 +43 2.55 0.815313 6.57143 +44 2.61 1.22883 7.18367 +45 2.67 0.978521 7.69388 +46 2.73 1.31038 8.40816 +47 2.79 1.0037 8.97959 +48 2.85 1.0993 9.63265 +49 2.91 0.988533 10.2449 +50 2.97 1.20206 11.0204 +104600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0 0.0612245 +13 0.75 1.48744 0.122449 +14 0.81 2.12556 0.22449 +15 0.87 0.368519 0.244898 +16 0.93 1.93511 0.367347 +17 0.99 0.284622 0.387755 +18 1.05 1.01213 0.469388 +19 1.11 0.90569 0.55102 +20 1.17 0.2038 0.571429 +21 1.23 0.922029 0.673469 +22 1.29 0.838269 0.77551 +23 1.35 1.22468 0.938776 +24 1.41 0.701677 1.04082 +25 1.47 1.16203 1.22449 +26 1.53 0.834316 1.36735 +27 1.59 0.882908 1.53061 +28 1.65 0.819871 1.69388 +29 1.71 1.43128 2 +30 1.77 0.80154 2.18367 +31 1.83 1.16643 2.46939 +32 1.89 1.17166 2.77551 +33 1.95 1.24743 3.12245 +34 2.01 1.03595 3.42857 +35 2.07 0.91165 3.71429 +36 2.13 1.29152 4.14286 +37 2.19 0.930841 4.46939 +38 2.25 0.936978 4.81633 +39 2.31 0.993519 5.20408 +40 2.37 1.09288 5.65306 +41 2.43 0.992329 6.08163 +42 2.49 0.945085 6.5102 +43 2.55 0.944046 6.95918 +44 2.61 0.901143 7.40816 +45 2.67 1.13508 8 +46 2.73 1.0483 8.57143 +47 2.79 1.07539 9.18367 +48 2.85 1.13365 9.85714 +49 2.91 0.955581 10.449 +50 2.97 0.790831 10.9592 +104650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.645037 0.183673 +17 0.99 1.13849 0.265306 +18 1.05 1.26516 0.367347 +19 1.11 0.90569 0.44898 +20 1.17 0.8152 0.530612 +21 1.23 1.10644 0.653061 +22 1.29 0.502961 0.714286 +23 1.35 0.765424 0.816327 +24 1.41 0.842013 0.938776 +25 1.47 1.29115 1.14286 +26 1.53 0.953504 1.30612 +27 1.59 0.772544 1.44898 +28 1.65 1.43477 1.73469 +29 1.71 1.24045 2 +30 1.77 0.979661 2.22449 +31 1.83 1.58301 2.61224 +32 1.89 1.32788 2.95918 +33 1.95 0.880539 3.20408 +34 2.01 0.759695 3.42857 +35 2.07 0.846532 3.69388 +36 2.13 0.984018 4.02041 +37 2.19 1.33808 4.4898 +38 2.25 1.04721 4.87755 +39 2.31 1.04581 5.28571 +40 2.37 1.44062 5.87755 +41 2.43 1.13409 6.36735 +42 2.49 0.630056 6.65306 +43 2.55 0.772402 7.02041 +44 2.61 0.942104 7.4898 +45 2.67 1.0568 8.04082 +46 2.73 0.935984 8.55102 +47 2.79 0.932007 9.08163 +48 2.85 0.927532 9.63265 +49 2.91 1.08739 10.3061 +50 2.97 0.948997 10.9184 +104700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 0 0.0408163 +10 0.57 1.71613 0.0816327 +11 0.63 0 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 1.47408 0.265306 +16 0.93 0.322518 0.285714 +17 0.99 1.42311 0.387755 +18 1.05 1.26516 0.489796 +19 1.11 0.452845 0.530612 +20 1.17 0.8152 0.612245 +21 1.23 0.922029 0.714286 +22 1.29 0.502961 0.77551 +23 1.35 1.22468 0.938776 +24 1.41 0.701677 1.04082 +25 1.47 1.29115 1.2449 +26 1.53 0.953504 1.40816 +27 1.59 0.882908 1.57143 +28 1.65 0.922354 1.7551 +29 1.71 0.667932 1.89796 +30 1.77 1.42496 2.22449 +31 1.83 0.749847 2.40816 +32 1.89 0.781108 2.61224 +33 1.95 1.17405 2.93878 +34 2.01 1.17407 3.28571 +35 2.07 1.17212 3.65306 +36 2.13 0.861016 3.93878 +37 2.19 1.22173 4.36735 +38 2.25 0.936978 4.71429 +39 2.31 0.679776 4.97959 +40 2.37 1.09288 5.42857 +41 2.43 1.2286 5.95918 +42 2.49 1.30512 6.55102 +43 2.55 1.50189 7.26531 +44 2.61 0.696338 7.61224 +45 2.67 0.90024 8.08163 +46 2.73 0.898544 8.57143 +47 2.79 1.0037 9.14286 +48 2.85 1.40848 9.97959 +49 2.91 1.08739 10.6531 +50 2.97 0.98063 11.2857 +104750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 0.737039 0.265306 +16 0.93 0.967555 0.326531 +17 0.99 1.70773 0.44898 +18 1.05 0.506063 0.489796 +19 1.11 0.679267 0.55102 +20 1.17 0.8152 0.632653 +21 1.23 0.737623 0.714286 +22 1.29 1.50888 0.897959 +23 1.35 0.612339 0.979592 +24 1.41 0.561342 1.06122 +25 1.47 0.645574 1.16327 +26 1.53 1.31107 1.38776 +27 1.59 0.441454 1.46939 +28 1.65 0.717387 1.61224 +29 1.71 1.04961 1.83673 +30 1.77 1.3359 2.14286 +31 1.83 0.66653 2.30612 +32 1.89 0.781108 2.5102 +33 1.95 0.880539 2.7551 +34 2.01 1.03595 3.06122 +35 2.07 1.107 3.40816 +36 2.13 0.861016 3.69388 +37 2.19 1.10537 4.08163 +38 2.25 0.661396 4.32653 +39 2.31 1.20268 4.79592 +40 2.37 0.596118 5.04082 +41 2.43 1.03958 5.4898 +42 2.49 1.26011 6.06122 +43 2.55 1.24442 6.65306 +44 2.61 1.06499 7.18367 +45 2.67 0.861099 7.63265 +46 2.73 1.01086 8.18367 +47 2.79 1.0037 8.7551 +48 2.85 0.858826 9.26531 +49 2.91 1.18624 10 +50 2.97 1.1388 10.7347 +104800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 4.28637 0.0816327 +10 0.57 0 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 1.17146 0.142857 +13 0.75 2.97487 0.265306 +14 0.81 0.425111 0.285714 +15 0.87 0.368519 0.306122 +16 0.93 1.29007 0.387755 +17 0.99 0.853865 0.44898 +18 1.05 0.506063 0.489796 +19 1.11 1.35853 0.612245 +20 1.17 0.6114 0.673469 +21 1.23 0.737623 0.755102 +22 1.29 0.335308 0.795918 +23 1.35 1.22468 0.959184 +24 1.41 0.701677 1.06122 +25 1.47 0.903804 1.20408 +26 1.53 1.31107 1.42857 +27 1.59 0.993271 1.61224 +28 1.65 1.22981 1.85714 +29 1.71 0.85877 2.04082 +30 1.77 1.15778 2.30612 +31 1.83 1.08311 2.57143 +32 1.89 1.24977 2.89796 +33 1.95 0.880539 3.14286 +34 2.01 0.966885 3.42857 +35 2.07 0.91165 3.71429 +36 2.13 1.35303 4.16327 +37 2.19 0.872664 4.46939 +38 2.25 0.992094 4.83673 +39 2.31 1.15039 5.28571 +40 2.37 0.99353 5.69388 +41 2.43 1.13409 6.18367 +42 2.49 0.855076 6.57143 +43 2.55 1.02987 7.06122 +44 2.61 0.942104 7.53061 +45 2.67 0.90024 8 +46 2.73 0.973423 8.53061 +47 2.79 0.967854 9.08163 +48 2.85 0.44659 9.34694 +49 2.91 0.856728 9.87755 +50 2.97 0.695931 10.3265 +104850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.425111 0.0816327 +15 0.87 1.10556 0.142857 +16 0.93 1.61259 0.244898 +17 0.99 1.42311 0.346939 +18 1.05 0.506063 0.387755 +19 1.11 0.452845 0.428571 +20 1.17 0.6114 0.489796 +21 1.23 0.737623 0.571429 +22 1.29 0.502961 0.632653 +23 1.35 0.918509 0.755102 +24 1.41 1.40335 0.959184 +25 1.47 1.16203 1.14286 +26 1.53 1.54944 1.40816 +27 1.59 0.441454 1.4898 +28 1.65 1.12732 1.71429 +29 1.71 0.572513 1.83673 +30 1.77 0.71248 2 +31 1.83 1.58301 2.38776 +32 1.89 1.24977 2.71429 +33 1.95 1.17405 3.04082 +34 2.01 1.17407 3.38776 +35 2.07 1.30236 3.79592 +36 2.13 1.53753 4.30612 +37 2.19 0.872664 4.61224 +38 2.25 1.04721 5 +39 2.31 0.941229 5.36735 +40 2.37 0.447089 5.55102 +41 2.43 1.2286 6.08163 +42 2.49 0.990089 6.53061 +43 2.55 0.772402 6.89796 +44 2.61 0.983065 7.38776 +45 2.67 1.17423 8 +46 2.73 0.898544 8.4898 +47 2.79 0.932007 9.02041 +48 2.85 0.755767 9.46939 +49 2.91 0.823777 9.97959 +50 2.97 0.98063 10.6122 +104900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 2.47906 0.183673 +14 0.81 1.27533 0.244898 +15 0.87 0.737039 0.285714 +16 0.93 0 0.285714 +17 0.99 0.853865 0.346939 +18 1.05 0.759094 0.408163 +19 1.11 1.13211 0.510204 +20 1.17 0.8152 0.591837 +21 1.23 1.10644 0.714286 +22 1.29 0.502961 0.77551 +23 1.35 1.22468 0.938776 +24 1.41 0.421006 1 +25 1.47 1.54938 1.2449 +26 1.53 0.476752 1.32653 +27 1.59 0.551817 1.42857 +28 1.65 1.12732 1.65306 +29 1.71 0.954189 1.85714 +30 1.77 0.53436 1.97959 +31 1.83 0.583214 2.12245 +32 1.89 1.09355 2.40816 +33 1.95 1.17405 2.73469 +34 2.01 0.759695 2.95918 +35 2.07 1.49771 3.42857 +36 2.13 1.04552 3.77551 +37 2.19 0.872664 4.08163 +38 2.25 0.771629 4.36735 +39 2.31 1.15039 4.81633 +40 2.37 1.19224 5.30612 +41 2.43 0.945075 5.71429 +42 2.49 0.945085 6.14286 +43 2.55 1.02987 6.63265 +44 2.61 0.983065 7.12245 +45 2.67 0.978521 7.63265 +46 2.73 0.898544 8.12245 +47 2.79 0.860314 8.61224 +48 2.85 1.03059 9.22449 +49 2.91 0.988533 9.83673 +50 2.97 1.26533 10.6531 +104950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 2.21112 0.285714 +16 0.93 0.645037 0.326531 +17 0.99 0.853865 0.387755 +18 1.05 0.253031 0.408163 +19 1.11 0.679267 0.469388 +20 1.17 1.019 0.571429 +21 1.23 0.553218 0.632653 +22 1.29 1.00592 0.755102 +23 1.35 1.07159 0.897959 +24 1.41 0.561342 0.979592 +25 1.47 0.645574 1.08163 +26 1.53 0.834316 1.22449 +27 1.59 0.882908 1.38776 +28 1.65 1.12732 1.61224 +29 1.71 1.33586 1.89796 +30 1.77 1.24684 2.18367 +31 1.83 0.916479 2.40816 +32 1.89 1.32788 2.7551 +33 1.95 1.0273 3.04082 +34 2.01 1.10501 3.36735 +35 2.07 1.107 3.71429 +36 2.13 0.676513 3.93878 +37 2.19 0.581776 4.14286 +38 2.25 1.15744 4.57143 +39 2.31 0.836648 4.89796 +40 2.37 0.844501 5.2449 +41 2.43 0.661553 5.53061 +42 2.49 0.945085 5.95918 +43 2.55 0.858224 6.36735 +44 2.61 1.14691 6.93878 +45 2.67 1.0568 7.4898 +46 2.73 0.673908 7.85714 +47 2.79 0.860314 8.34694 +48 2.85 1.168 9.04082 +49 2.91 0.823777 9.55102 +50 2.97 0.948997 10.1633 +105000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 1.7572 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 1.70044 0.244898 +15 0.87 0.368519 0.265306 +16 0.93 0.322518 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 1.58496 0.530612 +20 1.17 0.6114 0.591837 +21 1.23 1.29084 0.734694 +22 1.29 1.17358 0.877551 +23 1.35 0.765424 0.979592 +24 1.41 0.842013 1.10204 +25 1.47 0.645574 1.20408 +26 1.53 0.238376 1.2449 +27 1.59 0.772544 1.38776 +28 1.65 1.02484 1.59184 +29 1.71 1.04961 1.81633 +30 1.77 1.3359 2.12245 +31 1.83 1.16643 2.40816 +32 1.89 0.702997 2.59184 +33 1.95 1.24743 2.93878 +34 2.01 0.621569 3.12245 +35 2.07 0.455825 3.26531 +36 2.13 1.04552 3.61224 +37 2.19 0.989019 3.95918 +38 2.25 0.60628 4.18367 +39 2.31 0.784357 4.4898 +40 2.37 1.04321 4.91837 +41 2.43 1.37036 5.5102 +42 2.49 1.21511 6.06122 +43 2.55 1.02987 6.55102 +44 2.61 0.696338 6.89796 +45 2.67 1.0568 7.44898 +46 2.73 1.2355 8.12245 +47 2.79 1.0037 8.69388 +48 2.85 1.13365 9.36735 +49 2.91 1.08739 10.0408 +50 2.97 1.20206 10.8163 +105050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 2.34293 0.142857 +13 0.75 0.495812 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 0.737039 0.244898 +16 0.93 0.645037 0.285714 +17 0.99 1.13849 0.367347 +18 1.05 1.01213 0.44898 +19 1.11 0.679267 0.510204 +20 1.17 1.4266 0.653061 +21 1.23 0.184406 0.673469 +22 1.29 1.00592 0.795918 +23 1.35 0.765424 0.897959 +24 1.41 1.40335 1.10204 +25 1.47 1.03292 1.26531 +26 1.53 1.19188 1.46939 +27 1.59 0.772544 1.61224 +28 1.65 1.02484 1.81633 +29 1.71 0.763351 1.97959 +30 1.77 1.15778 2.2449 +31 1.83 0.833163 2.44898 +32 1.89 0.781108 2.65306 +33 1.95 0.953918 2.91837 +34 2.01 0.276253 3 +35 2.07 0.976768 3.30612 +36 2.13 1.04552 3.65306 +37 2.19 0.872664 3.95918 +38 2.25 0.881861 4.28571 +39 2.31 0.888938 4.63265 +40 2.37 0.844501 4.97959 +41 2.43 1.13409 5.46939 +42 2.49 0.945085 5.89796 +43 2.55 1.41607 6.57143 +44 2.61 0.901143 7.02041 +45 2.67 0.93938 7.5102 +46 2.73 1.16062 8.14286 +47 2.79 1.03955 8.73469 +48 2.85 0.996238 9.32653 +49 2.91 0.955581 9.91837 +50 2.97 0.790831 10.4286 +105100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0.991624 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 0.737039 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 0.253031 0.326531 +19 1.11 1.13211 0.428571 +20 1.17 0.4076 0.469388 +21 1.23 0.368812 0.510204 +22 1.29 1.50888 0.693878 +23 1.35 0.765424 0.795918 +24 1.41 1.12268 0.959184 +25 1.47 1.03292 1.12245 +26 1.53 0.953504 1.28571 +27 1.59 0.882908 1.44898 +28 1.65 0.922354 1.63265 +29 1.71 0.667932 1.77551 +30 1.77 0.4453 1.87755 +31 1.83 0.916479 2.10204 +32 1.89 1.17166 2.40816 +33 1.95 1.10067 2.71429 +34 2.01 1.10501 3.04082 +35 2.07 0.91165 3.32653 +36 2.13 0.738014 3.57143 +37 2.19 0.698131 3.81633 +38 2.25 0.771629 4.10204 +39 2.31 0.993519 4.4898 +40 2.37 0.844501 4.83673 +41 2.43 0.945075 5.2449 +42 2.49 1.1251 5.7551 +43 2.55 1.41607 6.42857 +44 2.61 0.901143 6.87755 +45 2.67 1.09594 7.44898 +46 2.73 0.898544 7.93878 +47 2.79 1.11124 8.57143 +48 2.85 0.858826 9.08163 +49 2.91 0.691973 9.5102 +50 2.97 1.26533 10.3265 +105150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.425111 0.0816327 +15 0.87 1.47408 0.163265 +16 0.93 0 0.163265 +17 0.99 1.42311 0.265306 +18 1.05 0.506063 0.306122 +19 1.11 0.452845 0.346939 +20 1.17 0.6114 0.408163 +21 1.23 1.10644 0.530612 +22 1.29 0.167654 0.55102 +23 1.35 1.07159 0.693878 +24 1.41 1.12268 0.857143 +25 1.47 0.774689 0.979592 +26 1.53 1.78782 1.28571 +27 1.59 0.551817 1.38776 +28 1.65 0.614903 1.5102 +29 1.71 0.763351 1.67347 +30 1.77 0.80154 1.85714 +31 1.83 0.833163 2.06122 +32 1.89 1.32788 2.40816 +33 1.95 0.880539 2.65306 +34 2.01 0.897822 2.91837 +35 2.07 0.976768 3.22449 +36 2.13 0.922517 3.53061 +37 2.19 1.10537 3.91837 +38 2.25 0.496047 4.10204 +39 2.31 1.25497 4.59184 +40 2.37 1.53997 5.22449 +41 2.43 0.897822 5.61224 +42 2.49 0.855076 6 +43 2.55 0.944046 6.44898 +44 2.61 0.860182 6.87755 +45 2.67 1.0568 7.42857 +46 2.73 1.01086 7.97959 +47 2.79 0.860314 8.46939 +48 2.85 0.961885 9.04082 +49 2.91 0.659022 9.44898 +50 2.97 1.07553 10.1429 +105200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 2.97487 0.142857 +14 0.81 2.12556 0.244898 +15 0.87 0.737039 0.285714 +16 0.93 1.29007 0.367347 +17 0.99 0.569243 0.408163 +18 1.05 0.759094 0.469388 +19 1.11 0.452845 0.510204 +20 1.17 0.8152 0.591837 +21 1.23 0.553218 0.653061 +22 1.29 1.67654 0.857143 +23 1.35 0.765424 0.959184 +24 1.41 0.280671 1 +25 1.47 0.25823 1.04082 +26 1.53 0.715128 1.16327 +27 1.59 0.772544 1.30612 +28 1.65 0.819871 1.46939 +29 1.71 1.43128 1.77551 +30 1.77 0.71248 1.93878 +31 1.83 0.916479 2.16327 +32 1.89 0.702997 2.34694 +33 1.95 0.733783 2.55102 +34 2.01 1.10501 2.87755 +35 2.07 0.976768 3.18367 +36 2.13 0.984018 3.5102 +37 2.19 0.814486 3.79592 +38 2.25 0.881861 4.12245 +39 2.31 0.888938 4.46939 +40 2.37 1.14256 4.93878 +41 2.43 1.13409 5.42857 +42 2.49 1.0801 5.91837 +43 2.55 0.901135 6.34694 +44 2.61 0.983065 6.83673 +45 2.67 0.93938 7.32653 +46 2.73 0.786226 7.7551 +47 2.79 1.14709 8.40816 +48 2.85 1.168 9.10204 +49 2.91 1.35099 9.93878 +50 2.97 0.695931 10.3878 +105250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 1.70044 0.22449 +15 0.87 0.737039 0.265306 +16 0.93 1.29007 0.346939 +17 0.99 1.70773 0.469388 +18 1.05 0.506063 0.510204 +19 1.11 0.226422 0.530612 +20 1.17 0.8152 0.612245 +21 1.23 1.10644 0.734694 +22 1.29 1.50888 0.918367 +23 1.35 0.30617 0.959184 +24 1.41 0.561342 1.04082 +25 1.47 0.516459 1.12245 +26 1.53 1.66863 1.40816 +27 1.59 0.551817 1.5102 +28 1.65 1.12732 1.73469 +29 1.71 1.14503 1.97959 +30 1.77 1.06872 2.22449 +31 1.83 0.66653 2.38776 +32 1.89 0.781108 2.59184 +33 1.95 0.953918 2.85714 +34 2.01 0.621569 3.04082 +35 2.07 0.91165 3.32653 +36 2.13 1.10702 3.69388 +37 2.19 0.465421 3.85714 +38 2.25 1.54326 4.42857 +39 2.31 1.04581 4.83673 +40 2.37 1.04321 5.26531 +41 2.43 0.992329 5.69388 +42 2.49 1.1701 6.22449 +43 2.55 0.986958 6.69388 +44 2.61 0.942104 7.16327 +45 2.67 1.17423 7.77551 +46 2.73 0.973423 8.30612 +47 2.79 1.07539 8.91837 +48 2.85 0.755767 9.36735 +49 2.91 0.988533 9.97959 +50 2.97 0.854097 10.5306 +105300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 2.7519 0.0408163 +9 0.51 2.14319 0.0816327 +10 0.57 0.858066 0.102041 +11 0.63 0 0.102041 +12 0.69 1.17146 0.142857 +13 0.75 0.991624 0.183673 +14 0.81 0.425111 0.204082 +15 0.87 2.21112 0.326531 +16 0.93 1.29007 0.408163 +17 0.99 1.13849 0.489796 +18 1.05 1.26516 0.591837 +19 1.11 0.452845 0.632653 +20 1.17 0.6114 0.693878 +21 1.23 1.10644 0.816327 +22 1.29 1.50888 1 +23 1.35 0.459254 1.06122 +24 1.41 0.982348 1.20408 +25 1.47 1.29115 1.40816 +26 1.53 0.953504 1.57143 +27 1.59 0.882908 1.73469 +28 1.65 0.717387 1.87755 +29 1.71 0.954189 2.08163 +30 1.77 0.62342 2.22449 +31 1.83 1.08311 2.4898 +32 1.89 0.702997 2.67347 +33 1.95 0.513648 2.81633 +34 2.01 0.276253 2.89796 +35 2.07 0.846532 3.16327 +36 2.13 0.922517 3.46939 +37 2.19 0.872664 3.77551 +38 2.25 0.881861 4.10204 +39 2.31 0.732067 4.38776 +40 2.37 1.29159 4.91837 +41 2.43 0.75606 5.2449 +42 2.49 1.39512 5.87755 +43 2.55 0.944046 6.32653 +44 2.61 0.819221 6.73469 +45 2.67 0.861099 7.18367 +46 2.73 0.898544 7.67347 +47 2.79 0.896161 8.18367 +48 2.85 1.0993 8.83673 +49 2.91 1.02148 9.46939 +50 2.97 0.790831 9.97959 +105350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0 0.102041 +15 0.87 1.47408 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 0.569243 0.285714 +18 1.05 0.759094 0.346939 +19 1.11 1.81138 0.510204 +20 1.17 0.4076 0.55102 +21 1.23 0.184406 0.571429 +22 1.29 1.67654 0.77551 +23 1.35 1.37776 0.959184 +24 1.41 0.280671 1 +25 1.47 1.42026 1.22449 +26 1.53 0.953504 1.38776 +27 1.59 0.772544 1.53061 +28 1.65 1.74223 1.87755 +29 1.71 0.85877 2.06122 +30 1.77 0.979661 2.28571 +31 1.83 0.999796 2.53061 +32 1.89 0.937329 2.77551 +33 1.95 0.807161 3 +34 2.01 1.10501 3.32653 +35 2.07 0.520943 3.4898 +36 2.13 1.16852 3.87755 +37 2.19 0.989019 4.22449 +38 2.25 0.716512 4.4898 +39 2.31 0.993519 4.87755 +40 2.37 1.09288 5.32653 +41 2.43 1.32311 5.89796 +42 2.49 0.855076 6.28571 +43 2.55 0.944046 6.73469 +44 2.61 1.26979 7.36735 +45 2.67 0.704535 7.73469 +46 2.73 0.861105 8.20408 +47 2.79 0.645236 8.57143 +48 2.85 0.927532 9.12245 +49 2.91 0.955581 9.71429 +50 2.97 0.854097 10.2653 +105400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.7572 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 1.70044 0.204082 +15 0.87 0.737039 0.244898 +16 0.93 1.61259 0.346939 +17 0.99 1.13849 0.428571 +18 1.05 0.506063 0.469388 +19 1.11 0.226422 0.489796 +20 1.17 0.8152 0.571429 +21 1.23 1.29084 0.714286 +22 1.29 1.00592 0.836735 +23 1.35 1.07159 0.979592 +24 1.41 0.982348 1.12245 +25 1.47 0.903804 1.26531 +26 1.53 0.834316 1.40816 +27 1.59 0.662181 1.53061 +28 1.65 0.922354 1.71429 +29 1.71 1.43128 2.02041 +30 1.77 0.62342 2.16327 +31 1.83 1.08311 2.42857 +32 1.89 0.546775 2.57143 +33 1.95 0.733783 2.77551 +34 2.01 0.759695 3 +35 2.07 1.04189 3.32653 +36 2.13 0.799515 3.59184 +37 2.19 0.989019 3.93878 +38 2.25 1.65349 4.55102 +39 2.31 0.993519 4.93878 +40 2.37 0.844501 5.28571 +41 2.43 0.897822 5.67347 +42 2.49 1.1251 6.18367 +43 2.55 0.901135 6.61224 +44 2.61 0.983065 7.10204 +45 2.67 0.978521 7.61224 +46 2.73 0.673908 7.97959 +47 2.79 0.824468 8.44898 +48 2.85 1.03059 9.06122 +49 2.91 1.21919 9.81633 +50 2.97 0.727564 10.2857 +105450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 1.48744 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 1.26516 0.408163 +19 1.11 0 0.408163 +20 1.17 0.8152 0.489796 +21 1.23 0.737623 0.571429 +22 1.29 1.50888 0.755102 +23 1.35 0.765424 0.857143 +24 1.41 0.701677 0.959184 +25 1.47 0.774689 1.08163 +26 1.53 1.07269 1.26531 +27 1.59 1.214 1.4898 +28 1.65 1.33229 1.7551 +29 1.71 0.667932 1.89796 +30 1.77 1.06872 2.14286 +31 1.83 1.49969 2.5102 +32 1.89 0.781108 2.71429 +33 1.95 0.880539 2.95918 +34 2.01 1.17407 3.30612 +35 2.07 0.976768 3.61224 +36 2.13 0.984018 3.93878 +37 2.19 1.10537 4.32653 +38 2.25 1.21256 4.77551 +39 2.31 0.836648 5.10204 +40 2.37 0.695471 5.38776 +41 2.43 1.08684 5.85714 +42 2.49 0.945085 6.28571 +43 2.55 1.02987 6.77551 +44 2.61 1.35171 7.44898 +45 2.67 0.93938 7.93878 +46 2.73 1.01086 8.4898 +47 2.79 1.14709 9.14286 +48 2.85 0.687061 9.55102 +49 2.91 1.08739 10.2245 +50 2.97 1.07553 10.9184 +105500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 1.27533 0.183673 +15 0.87 1.47408 0.265306 +16 0.93 0 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 0.452845 0.408163 +20 1.17 0.6114 0.469388 +21 1.23 0.368812 0.510204 +22 1.29 1.00592 0.632653 +23 1.35 1.37776 0.816327 +24 1.41 0.701677 0.918367 +25 1.47 1.03292 1.08163 +26 1.53 1.54944 1.34694 +27 1.59 0.993271 1.53061 +28 1.65 0.614903 1.65306 +29 1.71 1.04961 1.87755 +30 1.77 1.3359 2.18367 +31 1.83 0.999796 2.42857 +32 1.89 0.859219 2.65306 +33 1.95 0.807161 2.87755 +34 2.01 0.897822 3.14286 +35 2.07 1.30236 3.55102 +36 2.13 0.984018 3.87755 +37 2.19 0.872664 4.18367 +38 2.25 1.15744 4.61224 +39 2.31 0.679776 4.87755 +40 2.37 0.943854 5.26531 +41 2.43 0.75606 5.59184 +42 2.49 0.810072 5.95918 +43 2.55 1.07278 6.46939 +44 2.61 1.10595 7.02041 +45 2.67 0.861099 7.46939 +46 2.73 1.0483 8.04082 +47 2.79 1.29047 8.77551 +48 2.85 1.13365 9.44898 +49 2.91 1.08739 10.1224 +50 2.97 0.948997 10.7347 +105550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 1.48744 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 1.29007 0.244898 +17 0.99 1.42311 0.346939 +18 1.05 0.506063 0.387755 +19 1.11 0.90569 0.469388 +20 1.17 0.8152 0.55102 +21 1.23 1.84406 0.755102 +22 1.29 1.34123 0.918367 +23 1.35 0.612339 1 +24 1.41 0.701677 1.10204 +25 1.47 0.516459 1.18367 +26 1.53 1.19188 1.38776 +27 1.59 1.10363 1.59184 +28 1.65 0.922354 1.77551 +29 1.71 0.954189 1.97959 +30 1.77 1.15778 2.2449 +31 1.83 0.916479 2.46939 +32 1.89 1.24977 2.79592 +33 1.95 1.39419 3.18367 +34 2.01 0.966885 3.46939 +35 2.07 0.91165 3.7551 +36 2.13 0.861016 4.04082 +37 2.19 1.33808 4.5102 +38 2.25 0.716512 4.77551 +39 2.31 1.0981 5.20408 +40 2.37 0.943854 5.59184 +41 2.43 1.03958 6.04082 +42 2.49 0.585052 6.30612 +43 2.55 1.24442 6.89796 +44 2.61 0.77826 7.28571 +45 2.67 0.782817 7.69388 +46 2.73 1.19806 8.34694 +47 2.79 1.11124 8.97959 +48 2.85 0.687061 9.38776 +49 2.91 0.955581 9.97959 +50 2.97 0.98063 10.6122 +105600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0 0.0612245 +14 0.81 0 0.0612245 +15 0.87 0.737039 0.102041 +16 0.93 0.967555 0.163265 +17 0.99 1.13849 0.244898 +18 1.05 0.759094 0.306122 +19 1.11 1.13211 0.408163 +20 1.17 1.019 0.510204 +21 1.23 0.737623 0.591837 +22 1.29 1.34123 0.755102 +23 1.35 1.07159 0.897959 +24 1.41 1.54369 1.12245 +25 1.47 1.42026 1.34694 +26 1.53 1.19188 1.55102 +27 1.59 1.54509 1.83673 +28 1.65 0.307451 1.89796 +29 1.71 1.04961 2.12245 +30 1.77 0.80154 2.30612 +31 1.83 1.16643 2.59184 +32 1.89 0.702997 2.77551 +33 1.95 0.733783 2.97959 +34 2.01 0.966885 3.26531 +35 2.07 0.651178 3.46939 +36 2.13 1.35303 3.91837 +37 2.19 1.16355 4.32653 +38 2.25 1.26768 4.79592 +39 2.31 0.836648 5.12245 +40 2.37 0.99353 5.53061 +41 2.43 1.08684 6 +42 2.49 0.945085 6.42857 +43 2.55 1.02987 6.91837 +44 2.61 0.737299 7.28571 +45 2.67 1.52649 8.08163 +46 2.73 1.4227 8.85714 +47 2.79 1.14709 9.5102 +48 2.85 1.0993 10.1633 +49 2.91 0.92263 10.7347 +50 2.97 0.948997 11.3469 +105650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 6.28475 0.0204082 +5 0.27 0 0.0204082 +6 0.33 0 0.0204082 +7 0.39 1.83099 0.0408163 +8 0.45 0 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 1.70044 0.204082 +15 0.87 0 0.204082 +16 0.93 0.967555 0.265306 +17 0.99 1.70773 0.387755 +18 1.05 1.26516 0.489796 +19 1.11 1.58496 0.632653 +20 1.17 0.6114 0.693878 +21 1.23 0.922029 0.795918 +22 1.29 0.838269 0.897959 +23 1.35 1.07159 1.04082 +24 1.41 0.140335 1.06122 +25 1.47 0.516459 1.14286 +26 1.53 0.834316 1.28571 +27 1.59 0.662181 1.40816 +28 1.65 0.819871 1.57143 +29 1.71 0.763351 1.73469 +30 1.77 0.979661 1.95918 +31 1.83 0.833163 2.16327 +32 1.89 1.09355 2.44898 +33 1.95 0.733783 2.65306 +34 2.01 1.51939 3.10204 +35 2.07 1.107 3.44898 +36 2.13 1.10702 3.81633 +37 2.19 1.10537 4.20408 +38 2.25 0.992094 4.57143 +39 2.31 0.941229 4.93878 +40 2.37 0.844501 5.28571 +41 2.43 1.18134 5.79592 +42 2.49 1.03509 6.26531 +43 2.55 1.5448 7 +44 2.61 1.10595 7.55102 +45 2.67 1.01766 8.08163 +46 2.73 0.898544 8.57143 +47 2.79 0.681082 8.95918 +48 2.85 1.06494 9.59184 +49 2.91 1.05443 10.2449 +50 2.97 0.854097 10.7959 +105700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 1.7572 0.142857 +13 0.75 0 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 1.8426 0.285714 +16 0.93 0.967555 0.346939 +17 0.99 1.13849 0.428571 +18 1.05 0.759094 0.489796 +19 1.11 0.452845 0.530612 +20 1.17 1.019 0.632653 +21 1.23 1.10644 0.755102 +22 1.29 0.502961 0.816327 +23 1.35 0.918509 0.938776 +24 1.41 0.701677 1.04082 +25 1.47 0.387344 1.10204 +26 1.53 0.59594 1.20408 +27 1.59 0.220727 1.2449 +28 1.65 1.12732 1.46939 +29 1.71 1.04961 1.69388 +30 1.77 0.80154 1.87755 +31 1.83 0.916479 2.10204 +32 1.89 0.702997 2.28571 +33 1.95 1.24743 2.63265 +34 2.01 0.690632 2.83673 +35 2.07 1.107 3.18367 +36 2.13 1.10702 3.55102 +37 2.19 0.523598 3.73469 +38 2.25 1.10233 4.14286 +39 2.31 1.0981 4.57143 +40 2.37 1.09288 5.02041 +41 2.43 1.03958 5.46939 +42 2.49 1.1251 5.97959 +43 2.55 0.815313 6.36735 +44 2.61 1.55652 7.14286 +45 2.67 1.21337 7.77551 +46 2.73 1.19806 8.42857 +47 2.79 0.860314 8.91837 +48 2.85 1.30542 9.69388 +49 2.91 1.08739 10.3673 +50 2.97 0.98063 11 +105750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0 0.0408163 +14 0.81 0.425111 0.0612245 +15 0.87 0.368519 0.0816327 +16 0.93 1.61259 0.183673 +17 0.99 0 0.183673 +18 1.05 0.759094 0.244898 +19 1.11 0.679267 0.306122 +20 1.17 0.6114 0.367347 +21 1.23 1.29084 0.510204 +22 1.29 1.00592 0.632653 +23 1.35 1.22468 0.795918 +24 1.41 0.561342 0.877551 +25 1.47 0.903804 1.02041 +26 1.53 0.834316 1.16327 +27 1.59 1.65545 1.46939 +28 1.65 1.22981 1.71429 +29 1.71 0.667932 1.85714 +30 1.77 0.979661 2.08163 +31 1.83 1.16643 2.36735 +32 1.89 0.859219 2.59184 +33 1.95 1.0273 2.87755 +34 2.01 1.10501 3.20408 +35 2.07 0.455825 3.34694 +36 2.13 1.53753 3.85714 +37 2.19 1.10537 4.2449 +38 2.25 1.10233 4.65306 +39 2.31 0.836648 4.97959 +40 2.37 0.844501 5.32653 +41 2.43 1.08684 5.79592 +42 2.49 0.945085 6.22449 +43 2.55 0.772402 6.59184 +44 2.61 1.14691 7.16327 +45 2.67 0.821958 7.59184 +46 2.73 1.01086 8.14286 +47 2.79 1.07539 8.7551 +48 2.85 0.755767 9.20408 +49 2.91 0.988533 9.81633 +50 2.97 1.36023 10.6939 +105800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 0 0.163265 +17 0.99 0.853865 0.22449 +18 1.05 1.01213 0.306122 +19 1.11 0.452845 0.346939 +20 1.17 0.8152 0.428571 +21 1.23 1.29084 0.571429 +22 1.29 0.167654 0.591837 +23 1.35 0.459254 0.653061 +24 1.41 1.40335 0.857143 +25 1.47 1.03292 1.02041 +26 1.53 0.715128 1.14286 +27 1.59 0.551817 1.2449 +28 1.65 0.922354 1.42857 +29 1.71 0.572513 1.55102 +30 1.77 1.06872 1.79592 +31 1.83 1.24974 2.10204 +32 1.89 1.17166 2.40816 +33 1.95 1.10067 2.71429 +34 2.01 0.690632 2.91837 +35 2.07 1.04189 3.2449 +36 2.13 0.861016 3.53061 +37 2.19 1.16355 3.93878 +38 2.25 0.771629 4.22449 +39 2.31 0.575195 4.44898 +40 2.37 1.24191 4.95918 +41 2.43 0.945075 5.36735 +42 2.49 1.30512 5.95918 +43 2.55 1.37316 6.61224 +44 2.61 1.06499 7.14286 +45 2.67 0.90024 7.61224 +46 2.73 0.935984 8.12245 +47 2.79 0.896161 8.63265 +48 2.85 1.30542 9.40816 +49 2.91 0.988533 10.0204 +50 2.97 0.854097 10.5714 +105850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0 0.0408163 +14 0.81 1.27533 0.102041 +15 0.87 1.8426 0.204082 +16 0.93 0 0.204082 +17 0.99 0.569243 0.244898 +18 1.05 0.253031 0.265306 +19 1.11 0.90569 0.346939 +20 1.17 1.4266 0.489796 +21 1.23 1.10644 0.612245 +22 1.29 0.167654 0.632653 +23 1.35 0.612339 0.714286 +24 1.41 0.982348 0.857143 +25 1.47 0.516459 0.938776 +26 1.53 0.834316 1.08163 +27 1.59 0.772544 1.22449 +28 1.65 1.02484 1.42857 +29 1.71 1.04961 1.65306 +30 1.77 0.71248 1.81633 +31 1.83 0.916479 2.04082 +32 1.89 1.32788 2.38776 +33 1.95 0.953918 2.65306 +34 2.01 0.828758 2.89796 +35 2.07 1.17212 3.26531 +36 2.13 0.922517 3.57143 +37 2.19 0.930841 3.89796 +38 2.25 0.936978 4.2449 +39 2.31 0.836648 4.57143 +40 2.37 1.14256 5.04082 +41 2.43 1.13409 5.53061 +42 2.49 1.03509 6 +43 2.55 1.11569 6.53061 +44 2.61 0.737299 6.89796 +45 2.67 1.17423 7.5102 +46 2.73 0.59903 7.83673 +47 2.79 1.21878 8.53061 +48 2.85 1.03059 9.14286 +49 2.91 0.889679 9.69388 +50 2.97 1.0439 10.3673 +105900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 1.7572 0.122449 +13 0.75 1.98325 0.204082 +14 0.81 0 0.204082 +15 0.87 1.47408 0.285714 +16 0.93 0 0.285714 +17 0.99 1.13849 0.367347 +18 1.05 1.26516 0.469388 +19 1.11 1.58496 0.612245 +20 1.17 1.4266 0.755102 +21 1.23 0.553218 0.816327 +22 1.29 1.84419 1.04082 +23 1.35 0.153085 1.06122 +24 1.41 0.842013 1.18367 +25 1.47 0.516459 1.26531 +26 1.53 0.953504 1.42857 +27 1.59 0.993271 1.61224 +28 1.65 0.922354 1.79592 +29 1.71 0.954189 2 +30 1.77 1.24684 2.28571 +31 1.83 0.66653 2.44898 +32 1.89 0.781108 2.65306 +33 1.95 1.0273 2.93878 +34 2.01 0.966885 3.22449 +35 2.07 1.49771 3.69388 +36 2.13 1.10702 4.06122 +37 2.19 0.930841 4.38776 +38 2.25 0.881861 4.71429 +39 2.31 1.04581 5.12245 +40 2.37 0.645795 5.38776 +41 2.43 1.27585 5.93878 +42 2.49 0.990089 6.38776 +43 2.55 0.686579 6.71429 +44 2.61 1.02403 7.22449 +45 2.67 1.0568 7.77551 +46 2.73 0.973423 8.30612 +47 2.79 0.537696 8.61224 +48 2.85 0.858826 9.12245 +49 2.91 0.856728 9.65306 +50 2.97 0.98063 10.2857 +105950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 3.66198 0.0408163 +8 0.45 0 0.0408163 +9 0.51 1.07159 0.0612245 +10 0.57 0 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 0.585732 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 0.368519 0.244898 +16 0.93 1.29007 0.326531 +17 0.99 0.853865 0.387755 +18 1.05 1.26516 0.489796 +19 1.11 0.452845 0.530612 +20 1.17 1.019 0.632653 +21 1.23 1.29084 0.77551 +22 1.29 0.670615 0.857143 +23 1.35 1.22468 1.02041 +24 1.41 0.842013 1.14286 +25 1.47 1.54938 1.38776 +26 1.53 0.834316 1.53061 +27 1.59 0.882908 1.69388 +28 1.65 1.02484 1.89796 +29 1.71 0.477094 2 +30 1.77 1.3359 2.30612 +31 1.83 0.916479 2.53061 +32 1.89 0.859219 2.7551 +33 1.95 1.10067 3.06122 +34 2.01 0.759695 3.28571 +35 2.07 0.91165 3.57143 +36 2.13 1.16852 3.95918 +37 2.19 0.465421 4.12245 +38 2.25 1.15744 4.55102 +39 2.31 0.888938 4.89796 +40 2.37 0.645795 5.16327 +41 2.43 0.945075 5.57143 +42 2.49 1.0801 6.06122 +43 2.55 1.1586 6.61224 +44 2.61 1.18787 7.20408 +45 2.67 1.0568 7.7551 +46 2.73 1.0483 8.32653 +47 2.79 1.07539 8.93878 +48 2.85 1.06494 9.57143 +49 2.91 0.889679 10.1224 +50 2.97 0.948997 10.7347 +106000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 2.57964 0.306122 +16 0.93 0.322518 0.326531 +17 0.99 1.13849 0.408163 +18 1.05 1.26516 0.510204 +19 1.11 0.90569 0.591837 +20 1.17 0.6114 0.653061 +21 1.23 0.368812 0.693878 +22 1.29 1.34123 0.857143 +23 1.35 1.07159 1 +24 1.41 0.842013 1.12245 +25 1.47 0.387344 1.18367 +26 1.53 0.834316 1.32653 +27 1.59 0.772544 1.46939 +28 1.65 0.614903 1.59184 +29 1.71 0.763351 1.7551 +30 1.77 1.06872 2 +31 1.83 0.583214 2.14286 +32 1.89 1.09355 2.42857 +33 1.95 1.39419 2.81633 +34 2.01 1.38126 3.22449 +35 2.07 1.36747 3.65306 +36 2.13 0.615011 3.85714 +37 2.19 0.814486 4.14286 +38 2.25 1.32279 4.63265 +39 2.31 0.784357 4.93878 +40 2.37 0.794824 5.26531 +41 2.43 0.803314 5.61224 +42 2.49 0.945085 6.04082 +43 2.55 0.986958 6.5102 +44 2.61 1.22883 7.12245 +45 2.67 0.93938 7.61224 +46 2.73 1.16062 8.2449 +47 2.79 1.18293 8.91837 +48 2.85 1.23671 9.65306 +49 2.91 0.790826 10.1429 +50 2.97 1.01226 10.7959 +106050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 1.8426 0.244898 +16 0.93 0.967555 0.306122 +17 0.99 1.42311 0.408163 +18 1.05 1.26516 0.510204 +19 1.11 1.13211 0.612245 +20 1.17 0.6114 0.673469 +21 1.23 0.922029 0.77551 +22 1.29 0.670615 0.857143 +23 1.35 0.918509 0.979592 +24 1.41 1.12268 1.14286 +25 1.47 1.42026 1.36735 +26 1.53 0.953504 1.53061 +27 1.59 0.772544 1.67347 +28 1.65 0.922354 1.85714 +29 1.71 1.24045 2.12245 +30 1.77 1.51402 2.46939 +31 1.83 1.08311 2.73469 +32 1.89 1.09355 3.02041 +33 1.95 1.0273 3.30612 +34 2.01 0.897822 3.57143 +35 2.07 0.781414 3.81633 +36 2.13 0.984018 4.14286 +37 2.19 0.930841 4.46939 +38 2.25 0.936978 4.81633 +39 2.31 0.575195 5.04082 +40 2.37 0.645795 5.30612 +41 2.43 1.2286 5.83673 +42 2.49 1.03509 6.30612 +43 2.55 1.02987 6.79592 +44 2.61 0.942104 7.26531 +45 2.67 0.93938 7.7551 +46 2.73 1.01086 8.30612 +47 2.79 0.932007 8.83673 +48 2.85 0.927532 9.38776 +49 2.91 1.25214 10.1633 +50 2.97 1.1388 10.898 +106100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 1.8426 0.306122 +16 0.93 0.322518 0.326531 +17 0.99 1.13849 0.408163 +18 1.05 0.506063 0.44898 +19 1.11 1.35853 0.571429 +20 1.17 0.4076 0.612245 +21 1.23 0.184406 0.632653 +22 1.29 1.34123 0.795918 +23 1.35 0.918509 0.918367 +24 1.41 0.701677 1.02041 +25 1.47 0.774689 1.14286 +26 1.53 1.90701 1.46939 +27 1.59 1.76582 1.79592 +28 1.65 1.43477 2.08163 +29 1.71 0.667932 2.22449 +30 1.77 0.979661 2.44898 +31 1.83 1.58301 2.83673 +32 1.89 1.17166 3.14286 +33 1.95 0.587026 3.30612 +34 2.01 0.759695 3.53061 +35 2.07 1.30236 3.93878 +36 2.13 0.922517 4.2449 +37 2.19 1.51262 4.77551 +38 2.25 0.992094 5.14286 +39 2.31 0.941229 5.5102 +40 2.37 1.19224 6 +41 2.43 0.75606 6.32653 +42 2.49 0.945085 6.7551 +43 2.55 1.1586 7.30612 +44 2.61 0.737299 7.67347 +45 2.67 1.17423 8.28571 +46 2.73 0.898544 8.77551 +47 2.79 0.824468 9.2449 +48 2.85 0.996238 9.83673 +49 2.91 1.08739 10.5102 +50 2.97 1.07553 11.2041 +106150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 1.7572 0.102041 +13 0.75 1.48744 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 0.737039 0.265306 +16 0.93 0.645037 0.306122 +17 0.99 1.13849 0.387755 +18 1.05 0.506063 0.428571 +19 1.11 0.452845 0.469388 +20 1.17 0.4076 0.510204 +21 1.23 1.65965 0.693878 +22 1.29 1.17358 0.836735 +23 1.35 0.918509 0.959184 +24 1.41 0.421006 1.02041 +25 1.47 1.16203 1.20408 +26 1.53 0.953504 1.36735 +27 1.59 1.10363 1.57143 +28 1.65 0.717387 1.71429 +29 1.71 0.85877 1.89796 +30 1.77 1.42496 2.22449 +31 1.83 1.16643 2.5102 +32 1.89 1.01544 2.77551 +33 1.95 0.807161 3 +34 2.01 1.45033 3.42857 +35 2.07 1.17212 3.79592 +36 2.13 0.984018 4.12245 +37 2.19 1.0472 4.4898 +38 2.25 0.60628 4.71429 +39 2.31 0.522905 4.91837 +40 2.37 1.39094 5.4898 +41 2.43 0.945075 5.89796 +42 2.49 1.21511 6.44898 +43 2.55 1.02987 6.93878 +44 2.61 1.39268 7.63265 +45 2.67 0.782817 8.04082 +46 2.73 1.27294 8.73469 +47 2.79 0.824468 9.20408 +48 2.85 0.755767 9.65306 +49 2.91 0.659022 10.0612 +50 2.97 1.01226 10.7143 +106200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 0.585732 0.102041 +13 0.75 0.991624 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 2.21112 0.306122 +16 0.93 0.967555 0.367347 +17 0.99 0.853865 0.428571 +18 1.05 0.506063 0.469388 +19 1.11 2.0378 0.653061 +20 1.17 0.4076 0.693878 +21 1.23 0.922029 0.795918 +22 1.29 1.17358 0.938776 +23 1.35 0.918509 1.06122 +24 1.41 0.421006 1.12245 +25 1.47 1.03292 1.28571 +26 1.53 0.953504 1.44898 +27 1.59 1.10363 1.65306 +28 1.65 1.02484 1.85714 +29 1.71 0.667932 2 +30 1.77 0.71248 2.16327 +31 1.83 0.583214 2.30612 +32 1.89 1.24977 2.63265 +33 1.95 1.0273 2.91837 +34 2.01 0.966885 3.20408 +35 2.07 1.36747 3.63265 +36 2.13 1.35303 4.08163 +37 2.19 0.872664 4.38776 +38 2.25 0.992094 4.7551 +39 2.31 0.836648 5.08163 +40 2.37 0.943854 5.46939 +41 2.43 0.75606 5.79592 +42 2.49 1.1701 6.32653 +43 2.55 0.858224 6.73469 +44 2.61 0.614416 7.04082 +45 2.67 1.0568 7.59184 +46 2.73 1.34782 8.32653 +47 2.79 0.896161 8.83673 +48 2.85 0.893179 9.36735 +49 2.91 1.38395 10.2245 +50 2.97 0.790831 10.7347 +106250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 0 0.0408163 +10 0.57 1.71613 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 1.17146 0.142857 +13 0.75 0.991624 0.183673 +14 0.81 0.425111 0.204082 +15 0.87 1.8426 0.306122 +16 0.93 1.93511 0.428571 +17 0.99 0 0.428571 +18 1.05 0.759094 0.489796 +19 1.11 1.35853 0.612245 +20 1.17 0.8152 0.693878 +21 1.23 0.922029 0.795918 +22 1.29 1.34123 0.959184 +23 1.35 0.153085 0.979592 +24 1.41 0.701677 1.08163 +25 1.47 0.903804 1.22449 +26 1.53 0.59594 1.32653 +27 1.59 1.214 1.55102 +28 1.65 1.02484 1.7551 +29 1.71 0.667932 1.89796 +30 1.77 0.890601 2.10204 +31 1.83 0.916479 2.32653 +32 1.89 1.56222 2.73469 +33 1.95 0.807161 2.95918 +34 2.01 1.10501 3.28571 +35 2.07 1.04189 3.61224 +36 2.13 0.799515 3.87755 +37 2.19 1.0472 4.2449 +38 2.25 0.992094 4.61224 +39 2.31 0.679776 4.87755 +40 2.37 1.04321 5.30612 +41 2.43 1.18134 5.81633 +42 2.49 1.1251 6.32653 +43 2.55 0.986958 6.79592 +44 2.61 0.819221 7.20408 +45 2.67 0.665394 7.55102 +46 2.73 1.0483 8.12245 +47 2.79 0.932007 8.65306 +48 2.85 0.961885 9.22449 +49 2.91 0.823777 9.73469 +50 2.97 1.36023 10.6122 +106300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0.702525 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0 0.0816327 +15 0.87 0.368519 0.102041 +16 0.93 0.967555 0.163265 +17 0.99 0 0.163265 +18 1.05 1.01213 0.244898 +19 1.11 0.452845 0.285714 +20 1.17 1.019 0.387755 +21 1.23 0.368812 0.428571 +22 1.29 0.670615 0.510204 +23 1.35 1.07159 0.653061 +24 1.41 0.982348 0.795918 +25 1.47 1.29115 1 +26 1.53 1.31107 1.22449 +27 1.59 0.882908 1.38776 +28 1.65 1.02484 1.59184 +29 1.71 0.954189 1.79592 +30 1.77 0.979661 2.02041 +31 1.83 0.999796 2.26531 +32 1.89 1.17166 2.57143 +33 1.95 0.953918 2.83673 +34 2.01 0.828758 3.08163 +35 2.07 0.976768 3.38776 +36 2.13 1.10702 3.7551 +37 2.19 0.814486 4.04082 +38 2.25 1.04721 4.42857 +39 2.31 0.993519 4.81633 +40 2.37 1.09288 5.26531 +41 2.43 1.27585 5.81633 +42 2.49 1.0801 6.30612 +43 2.55 0.858224 6.71429 +44 2.61 1.31075 7.36735 +45 2.67 1.0568 7.91837 +46 2.73 1.01086 8.46939 +47 2.79 0.752775 8.89796 +48 2.85 0.893179 9.42857 +49 2.91 1.02148 10.0612 +50 2.97 0.948997 10.6735 +106350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 2.12556 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 0.853865 0.326531 +18 1.05 1.01213 0.408163 +19 1.11 0.226422 0.428571 +20 1.17 0.2038 0.44898 +21 1.23 0.737623 0.530612 +22 1.29 1.00592 0.653061 +23 1.35 1.37776 0.836735 +24 1.41 0.982348 0.979592 +25 1.47 0.903804 1.12245 +26 1.53 0.476752 1.20408 +27 1.59 0.551817 1.30612 +28 1.65 0.512419 1.40816 +29 1.71 0.85877 1.59184 +30 1.77 1.3359 1.89796 +31 1.83 0.999796 2.14286 +32 1.89 1.24977 2.46939 +33 1.95 0.953918 2.73469 +34 2.01 0.966885 3.02041 +35 2.07 1.30236 3.42857 +36 2.13 0.984018 3.7551 +37 2.19 0.989019 4.10204 +38 2.25 0.936978 4.44898 +39 2.31 1.30726 4.95918 +40 2.37 1.14256 5.42857 +41 2.43 0.708807 5.73469 +42 2.49 1.1251 6.2449 +43 2.55 0.815313 6.63265 +44 2.61 1.18787 7.22449 +45 2.67 1.09594 7.79592 +46 2.73 0.861105 8.26531 +47 2.79 0.932007 8.79592 +48 2.85 0.755767 9.2449 +49 2.91 1.02148 9.87755 +50 2.97 1.07553 10.5714 +106400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 0 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.645037 0.183673 +17 0.99 1.70773 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 2.0378 0.55102 +20 1.17 1.2228 0.673469 +21 1.23 0.368812 0.714286 +22 1.29 1.17358 0.857143 +23 1.35 0.612339 0.938776 +24 1.41 0.842013 1.06122 +25 1.47 0.774689 1.18367 +26 1.53 0.834316 1.32653 +27 1.59 0.993271 1.5102 +28 1.65 1.12732 1.73469 +29 1.71 0.763351 1.89796 +30 1.77 0.890601 2.10204 +31 1.83 0.916479 2.32653 +32 1.89 0.781108 2.53061 +33 1.95 0.807161 2.7551 +34 2.01 0.621569 2.93878 +35 2.07 0.781414 3.18367 +36 2.13 1.53753 3.69388 +37 2.19 0.814486 3.97959 +38 2.25 1.10233 4.38776 +39 2.31 0.993519 4.77551 +40 2.37 0.695471 5.06122 +41 2.43 0.75606 5.38776 +42 2.49 1.03509 5.85714 +43 2.55 0.858224 6.26531 +44 2.61 1.02403 6.77551 +45 2.67 0.704535 7.14286 +46 2.73 1.12318 7.7551 +47 2.79 0.896161 8.26531 +48 2.85 1.13365 8.93878 +49 2.91 1.08739 9.61224 +50 2.97 0.98063 10.2449 +106450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.14319 0.0408163 +10 0.57 0 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 0 0.0816327 +13 0.75 0 0.0816327 +14 0.81 2.97578 0.22449 +15 0.87 0.737039 0.265306 +16 0.93 1.29007 0.346939 +17 0.99 1.70773 0.469388 +18 1.05 1.26516 0.571429 +19 1.11 0.226422 0.591837 +20 1.17 0.4076 0.632653 +21 1.23 1.47525 0.795918 +22 1.29 1.00592 0.918367 +23 1.35 0.30617 0.959184 +24 1.41 0.982348 1.10204 +25 1.47 1.16203 1.28571 +26 1.53 1.07269 1.46939 +27 1.59 0.551817 1.57143 +28 1.65 1.02484 1.77551 +29 1.71 0.667932 1.91837 +30 1.77 0.80154 2.10204 +31 1.83 0.583214 2.2449 +32 1.89 1.09355 2.53061 +33 1.95 0.807161 2.7551 +34 2.01 1.10501 3.08163 +35 2.07 0.586061 3.26531 +36 2.13 0.984018 3.59184 +37 2.19 0.872664 3.89796 +38 2.25 0.826745 4.20408 +39 2.31 0.627486 4.44898 +40 2.37 0.496765 4.65306 +41 2.43 1.41761 5.26531 +42 2.49 1.0801 5.7551 +43 2.55 0.901135 6.18367 +44 2.61 0.901143 6.63265 +45 2.67 0.861099 7.08163 +46 2.73 1.27294 7.77551 +47 2.79 0.860314 8.26531 +48 2.85 1.168 8.95918 +49 2.91 0.757875 9.42857 +50 2.97 0.98063 10.0612 +106500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 0.645037 0.183673 +17 0.99 0.569243 0.22449 +18 1.05 0.253031 0.244898 +19 1.11 0.90569 0.326531 +20 1.17 1.2228 0.44898 +21 1.23 0.553218 0.510204 +22 1.29 0.335308 0.55102 +23 1.35 0.918509 0.673469 +24 1.41 0.701677 0.77551 +25 1.47 0.645574 0.877551 +26 1.53 1.43026 1.12245 +27 1.59 0.882908 1.28571 +28 1.65 0.922354 1.46939 +29 1.71 0.667932 1.61224 +30 1.77 0.80154 1.79592 +31 1.83 0.583214 1.93878 +32 1.89 1.09355 2.22449 +33 1.95 1.24743 2.57143 +34 2.01 0.897822 2.83673 +35 2.07 1.107 3.18367 +36 2.13 1.23002 3.59184 +37 2.19 1.10537 3.97959 +38 2.25 0.661396 4.22449 +39 2.31 1.04581 4.63265 +40 2.37 0.844501 4.97959 +41 2.43 1.18134 5.4898 +42 2.49 0.810072 5.85714 +43 2.55 0.986958 6.32653 +44 2.61 1.06499 6.85714 +45 2.67 1.01766 7.38776 +46 2.73 1.08574 7.97959 +47 2.79 0.932007 8.5102 +48 2.85 0.996238 9.10204 +49 2.91 1.12034 9.79592 +50 2.97 1.0439 10.4694 +106550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 2.10758 0.102041 +12 0.69 1.17146 0.142857 +13 0.75 0.495812 0.163265 +14 0.81 0.425111 0.183673 +15 0.87 0.368519 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 1.13849 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 1.35853 0.510204 +20 1.17 0.8152 0.591837 +21 1.23 1.10644 0.714286 +22 1.29 1.00592 0.836735 +23 1.35 1.07159 0.979592 +24 1.41 0.701677 1.08163 +25 1.47 0.25823 1.12245 +26 1.53 1.66863 1.40816 +27 1.59 0.551817 1.5102 +28 1.65 0.922354 1.69388 +29 1.71 0.954189 1.89796 +30 1.77 0.62342 2.04082 +31 1.83 0.583214 2.18367 +32 1.89 0.624886 2.34694 +33 1.95 1.10067 2.65306 +34 2.01 0.759695 2.87755 +35 2.07 0.390707 3 +36 2.13 0.922517 3.30612 +37 2.19 0.930841 3.63265 +38 2.25 0.826745 3.93878 +39 2.31 0.888938 4.28571 +40 2.37 0.943854 4.67347 +41 2.43 0.945075 5.08163 +42 2.49 0.900081 5.4898 +43 2.55 0.944046 5.93878 +44 2.61 1.55652 6.71429 +45 2.67 1.01766 7.2449 +46 2.73 0.973423 7.77551 +47 2.79 0.932007 8.30612 +48 2.85 1.33977 9.10204 +49 2.91 0.889679 9.65306 +50 2.97 1.1388 10.3878 +106600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 2.34293 0.142857 +13 0.75 0 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 1.47408 0.244898 +16 0.93 1.61259 0.346939 +17 0.99 1.70773 0.469388 +18 1.05 1.51819 0.591837 +19 1.11 0.679267 0.653061 +20 1.17 1.2228 0.77551 +21 1.23 1.29084 0.918367 +22 1.29 0.838269 1.02041 +23 1.35 0.459254 1.08163 +24 1.41 1.40335 1.28571 +25 1.47 1.42026 1.5102 +26 1.53 0.715128 1.63265 +27 1.59 0.772544 1.77551 +28 1.65 1.02484 1.97959 +29 1.71 0.85877 2.16327 +30 1.77 0.71248 2.32653 +31 1.83 0.583214 2.46939 +32 1.89 0.624886 2.63265 +33 1.95 0.660405 2.81633 +34 2.01 0.690632 3.02041 +35 2.07 1.04189 3.34694 +36 2.13 1.10702 3.71429 +37 2.19 0.814486 4 +38 2.25 1.26768 4.46939 +39 2.31 1.0981 4.89796 +40 2.37 0.99353 5.30612 +41 2.43 0.897822 5.69388 +42 2.49 0.67506 6 +43 2.55 0.815313 6.38776 +44 2.61 0.983065 6.87755 +45 2.67 1.21337 7.5102 +46 2.73 1.01086 8.06122 +47 2.79 1.07539 8.67347 +48 2.85 1.13365 9.34694 +49 2.91 0.988533 9.95918 +50 2.97 1.07553 10.6531 +106650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 2.55534 0.0204082 +7 0.39 0 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 0 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 0 0.142857 +16 0.93 0.322518 0.163265 +17 0.99 1.13849 0.244898 +18 1.05 0.506063 0.285714 +19 1.11 0.452845 0.326531 +20 1.17 1.019 0.428571 +21 1.23 0.922029 0.530612 +22 1.29 0.838269 0.632653 +23 1.35 1.37776 0.816327 +24 1.41 0.982348 0.959184 +25 1.47 0.645574 1.06122 +26 1.53 0.834316 1.20408 +27 1.59 1.10363 1.40816 +28 1.65 0.922354 1.59184 +29 1.71 1.71754 1.95918 +30 1.77 0.979661 2.18367 +31 1.83 0.833163 2.38776 +32 1.89 1.01544 2.65306 +33 1.95 0.807161 2.87755 +34 2.01 0.621569 3.06122 +35 2.07 0.91165 3.34694 +36 2.13 0.861016 3.63265 +37 2.19 0.872664 3.93878 +38 2.25 1.26768 4.40816 +39 2.31 1.15039 4.85714 +40 2.37 1.14256 5.32653 +41 2.43 0.897822 5.71429 +42 2.49 1.0801 6.20408 +43 2.55 0.815313 6.59184 +44 2.61 1.02403 7.10204 +45 2.67 0.782817 7.5102 +46 2.73 1.08574 8.10204 +47 2.79 0.896161 8.61224 +48 2.85 0.927532 9.16327 +49 2.91 1.05443 9.81633 +50 2.97 0.759197 10.3061 +106700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 2.57964 0.244898 +16 0.93 0.967555 0.306122 +17 0.99 1.13849 0.387755 +18 1.05 0.759094 0.44898 +19 1.11 0.679267 0.510204 +20 1.17 1.2228 0.632653 +21 1.23 0.368812 0.673469 +22 1.29 0.335308 0.714286 +23 1.35 0.30617 0.755102 +24 1.41 0.280671 0.795918 +25 1.47 0.903804 0.938776 +26 1.53 0.357564 1 +27 1.59 1.98654 1.36735 +28 1.65 0.819871 1.53061 +29 1.71 1.43128 1.83673 +30 1.77 0.890601 2.04082 +31 1.83 1.33306 2.36735 +32 1.89 0.781108 2.57143 +33 1.95 1.0273 2.85714 +34 2.01 0.897822 3.12245 +35 2.07 1.04189 3.44898 +36 2.13 0.738014 3.69388 +37 2.19 1.33808 4.16327 +38 2.25 0.826745 4.46939 +39 2.31 1.51642 5.06122 +40 2.37 0.844501 5.40816 +41 2.43 0.992329 5.83673 +42 2.49 0.945085 6.26531 +43 2.55 0.815313 6.65306 +44 2.61 0.77826 7.04082 +45 2.67 1.21337 7.67347 +46 2.73 1.12318 8.28571 +47 2.79 0.932007 8.81633 +48 2.85 0.927532 9.36735 +49 2.91 1.25214 10.1429 +50 2.97 0.98063 10.7755 +106750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.47408 0.204082 +16 0.93 1.61259 0.306122 +17 0.99 0.284622 0.326531 +18 1.05 1.01213 0.408163 +19 1.11 1.13211 0.510204 +20 1.17 0.4076 0.55102 +21 1.23 1.10644 0.673469 +22 1.29 0.838269 0.77551 +23 1.35 0.459254 0.836735 +24 1.41 1.40335 1.04082 +25 1.47 1.03292 1.20408 +26 1.53 0.476752 1.28571 +27 1.59 0.551817 1.38776 +28 1.65 1.02484 1.59184 +29 1.71 1.14503 1.83673 +30 1.77 1.06872 2.08163 +31 1.83 0.499898 2.20408 +32 1.89 1.17166 2.5102 +33 1.95 0.513648 2.65306 +34 2.01 0.897822 2.91837 +35 2.07 0.91165 3.20408 +36 2.13 1.10702 3.57143 +37 2.19 0.639953 3.79592 +38 2.25 0.771629 4.08163 +39 2.31 1.25497 4.57143 +40 2.37 1.04321 5 +41 2.43 0.75606 5.32653 +42 2.49 1.03509 5.79592 +43 2.55 0.686579 6.12245 +44 2.61 1.14691 6.69388 +45 2.67 0.821958 7.12245 +46 2.73 1.08574 7.71429 +47 2.79 1.36216 8.4898 +48 2.85 0.893179 9.02041 +49 2.91 0.691973 9.44898 +50 2.97 1.20206 10.2245 +106800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 1.8426 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 1.01213 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 0.4076 0.489796 +21 1.23 0.737623 0.571429 +22 1.29 0.502961 0.632653 +23 1.35 0.918509 0.755102 +24 1.41 1.26302 0.938776 +25 1.47 0.516459 1.02041 +26 1.53 0.238376 1.06122 +27 1.59 1.43472 1.32653 +28 1.65 1.02484 1.53061 +29 1.71 0.85877 1.71429 +30 1.77 0.53436 1.83673 +31 1.83 1.24974 2.14286 +32 1.89 0.390554 2.2449 +33 1.95 1.10067 2.55102 +34 2.01 0.966885 2.83673 +35 2.07 0.781414 3.08163 +36 2.13 0.738014 3.32653 +37 2.19 0.930841 3.65306 +38 2.25 0.716512 3.91837 +39 2.31 1.30726 4.42857 +40 2.37 1.14256 4.89796 +41 2.43 1.03958 5.34694 +42 2.49 0.810072 5.71429 +43 2.55 1.24442 6.30612 +44 2.61 0.860182 6.73469 +45 2.67 1.0568 7.28571 +46 2.73 1.12318 7.89796 +47 2.79 1.0037 8.46939 +48 2.85 0.858826 8.97959 +49 2.91 1.05443 9.63265 +50 2.97 1.26533 10.449 +106850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 0.585732 0.0204082 +13 0.75 0.991624 0.0612245 +14 0.81 0.425111 0.0816327 +15 0.87 1.47408 0.163265 +16 0.93 1.61259 0.265306 +17 0.99 0.284622 0.285714 +18 1.05 0.506063 0.326531 +19 1.11 0.452845 0.367347 +20 1.17 0.4076 0.408163 +21 1.23 0.368812 0.44898 +22 1.29 1.34123 0.612245 +23 1.35 0.765424 0.714286 +24 1.41 0.701677 0.816327 +25 1.47 1.29115 1.02041 +26 1.53 1.43026 1.26531 +27 1.59 1.214 1.4898 +28 1.65 0.717387 1.63265 +29 1.71 0.667932 1.77551 +30 1.77 1.15778 2.04082 +31 1.83 0.749847 2.22449 +32 1.89 0.937329 2.46939 +33 1.95 0.44027 2.59184 +34 2.01 0.552506 2.7551 +35 2.07 1.30236 3.16327 +36 2.13 0.984018 3.4898 +37 2.19 0.872664 3.79592 +38 2.25 1.10233 4.20408 +39 2.31 0.941229 4.57143 +40 2.37 1.53997 5.20408 +41 2.43 0.897822 5.59184 +42 2.49 0.765068 5.93878 +43 2.55 1.20151 6.5102 +44 2.61 1.26979 7.14286 +45 2.67 0.978521 7.65306 +46 2.73 1.0483 8.22449 +47 2.79 0.609389 8.57143 +48 2.85 0.996238 9.16327 +49 2.91 0.790826 9.65306 +50 2.97 1.20206 10.4286 +106900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 2.8101 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 0.322518 0.22449 +17 0.99 0.853865 0.285714 +18 1.05 0.506063 0.326531 +19 1.11 0 0.326531 +20 1.17 0.8152 0.408163 +21 1.23 1.65965 0.591837 +22 1.29 0.838269 0.693878 +23 1.35 1.07159 0.836735 +24 1.41 0.842013 0.959184 +25 1.47 0.387344 1.02041 +26 1.53 1.43026 1.26531 +27 1.59 1.214 1.4898 +28 1.65 0.717387 1.63265 +29 1.71 0.381676 1.71429 +30 1.77 0.979661 1.93878 +31 1.83 0.583214 2.08163 +32 1.89 0.546775 2.22449 +33 1.95 1.24743 2.57143 +34 2.01 0.828758 2.81633 +35 2.07 0.91165 3.10204 +36 2.13 1.47603 3.59184 +37 2.19 0.930841 3.91837 +38 2.25 0.716512 4.18367 +39 2.31 1.20268 4.65306 +40 2.37 0.99353 5.06122 +41 2.43 0.992329 5.4898 +42 2.49 1.30512 6.08163 +43 2.55 1.24442 6.67347 +44 2.61 1.06499 7.20408 +45 2.67 0.93938 7.69388 +46 2.73 0.823666 8.14286 +47 2.79 0.716929 8.55102 +48 2.85 0.893179 9.08163 +49 2.91 1.08739 9.7551 +50 2.97 0.854097 10.3061 +106950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 0.853865 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 0.452845 0.408163 +20 1.17 0.2038 0.428571 +21 1.23 1.10644 0.55102 +22 1.29 0.167654 0.571429 +23 1.35 1.07159 0.714286 +24 1.41 0.701677 0.816327 +25 1.47 1.03292 0.979592 +26 1.53 1.54944 1.2449 +27 1.59 0.993271 1.42857 +28 1.65 0.922354 1.61224 +29 1.71 1.24045 1.87755 +30 1.77 0.71248 2.04082 +31 1.83 0.333265 2.12245 +32 1.89 0.702997 2.30612 +33 1.95 1.10067 2.61224 +34 2.01 1.24314 2.97959 +35 2.07 1.30236 3.38776 +36 2.13 1.04552 3.73469 +37 2.19 1.16355 4.14286 +38 2.25 0.826745 4.44898 +39 2.31 1.20268 4.91837 +40 2.37 0.99353 5.32653 +41 2.43 1.13409 5.81633 +42 2.49 0.720064 6.14286 +43 2.55 0.643668 6.44898 +44 2.61 0.77826 6.83673 +45 2.67 0.90024 7.30612 +46 2.73 1.08574 7.89796 +47 2.79 0.824468 8.36735 +48 2.85 0.79012 8.83673 +49 2.91 0.955581 9.42857 +50 2.97 1.0439 10.102 +107000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 2.10758 0.0816327 +12 0.69 1.7572 0.142857 +13 0.75 0.991624 0.183673 +14 0.81 0 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.322518 0.265306 +17 0.99 0.284622 0.285714 +18 1.05 0.759094 0.346939 +19 1.11 0.90569 0.428571 +20 1.17 1.6304 0.591837 +21 1.23 0.553218 0.653061 +22 1.29 0.670615 0.734694 +23 1.35 1.22468 0.897959 +24 1.41 1.26302 1.08163 +25 1.47 0.774689 1.20408 +26 1.53 0.59594 1.30612 +27 1.59 1.76582 1.63265 +28 1.65 0.819871 1.79592 +29 1.71 1.14503 2.04082 +30 1.77 0.890601 2.2449 +31 1.83 0.66653 2.40816 +32 1.89 1.09355 2.69388 +33 1.95 0.807161 2.91837 +34 2.01 0.759695 3.14286 +35 2.07 0.91165 3.42857 +36 2.13 1.23002 3.83673 +37 2.19 0.639953 4.06122 +38 2.25 0.826745 4.36735 +39 2.31 0.732067 4.65306 +40 2.37 0.99353 5.06122 +41 2.43 1.41761 5.67347 +42 2.49 0.945085 6.10204 +43 2.55 0.901135 6.53061 +44 2.61 1.14691 7.10204 +45 2.67 0.861099 7.55102 +46 2.73 0.786226 7.97959 +47 2.79 1.11124 8.61224 +48 2.85 1.13365 9.28571 +49 2.91 0.856728 9.81633 +50 2.97 0.822464 10.3469 +107050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0 0.102041 +15 0.87 2.21112 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 1.01213 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 1.019 0.55102 +21 1.23 0.922029 0.653061 +22 1.29 0.838269 0.755102 +23 1.35 1.22468 0.918367 +24 1.41 1.12268 1.08163 +25 1.47 0.645574 1.18367 +26 1.53 0.834316 1.32653 +27 1.59 1.32436 1.57143 +28 1.65 1.02484 1.77551 +29 1.71 0.954189 1.97959 +30 1.77 1.06872 2.22449 +31 1.83 0.499898 2.34694 +32 1.89 0.390554 2.44898 +33 1.95 1.17405 2.77551 +34 2.01 1.03595 3.08163 +35 2.07 0.976768 3.38776 +36 2.13 0.922517 3.69388 +37 2.19 0.930841 4.02041 +38 2.25 1.37791 4.53061 +39 2.31 0.836648 4.85714 +40 2.37 0.546442 5.08163 +41 2.43 1.13409 5.57143 +42 2.49 0.765068 5.91837 +43 2.55 1.20151 6.4898 +44 2.61 1.26979 7.12245 +45 2.67 0.626254 7.44898 +46 2.73 0.935984 7.95918 +47 2.79 0.716929 8.36735 +48 2.85 0.755767 8.81633 +49 2.91 1.02148 9.44898 +50 2.97 0.88573 10.0204 +107100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 2.10758 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 1.48744 0.142857 +14 0.81 1.27533 0.204082 +15 0.87 1.47408 0.285714 +16 0.93 0.645037 0.326531 +17 0.99 0.853865 0.387755 +18 1.05 0.506063 0.428571 +19 1.11 0.679267 0.489796 +20 1.17 0.4076 0.530612 +21 1.23 0.922029 0.632653 +22 1.29 1.00592 0.755102 +23 1.35 0.459254 0.816327 +24 1.41 1.12268 0.979592 +25 1.47 1.03292 1.14286 +26 1.53 0.59594 1.2449 +27 1.59 1.32436 1.4898 +28 1.65 0.512419 1.59184 +29 1.71 0.667932 1.73469 +30 1.77 1.15778 2 +31 1.83 0.416582 2.10204 +32 1.89 0.624886 2.26531 +33 1.95 0.807161 2.4898 +34 2.01 1.3122 2.87755 +35 2.07 0.781414 3.12245 +36 2.13 0.676513 3.34694 +37 2.19 0.698131 3.59184 +38 2.25 1.04721 3.97959 +39 2.31 0.941229 4.34694 +40 2.37 1.44062 4.93878 +41 2.43 0.945075 5.34694 +42 2.49 0.990089 5.79592 +43 2.55 0.901135 6.22449 +44 2.61 1.06499 6.7551 +45 2.67 0.978521 7.26531 +46 2.73 0.973423 7.79592 +47 2.79 0.716929 8.20408 +48 2.85 1.03059 8.81633 +49 2.91 1.15329 9.53061 +50 2.97 0.98063 10.1633 +107150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 1.10556 0.163265 +16 0.93 1.61259 0.265306 +17 0.99 0 0.265306 +18 1.05 0.759094 0.326531 +19 1.11 0.452845 0.367347 +20 1.17 0.2038 0.387755 +21 1.23 0.922029 0.489796 +22 1.29 1.34123 0.653061 +23 1.35 1.83702 0.897959 +24 1.41 1.40335 1.10204 +25 1.47 1.03292 1.26531 +26 1.53 0.834316 1.40816 +27 1.59 0.772544 1.55102 +28 1.65 0.819871 1.71429 +29 1.71 0.85877 1.89796 +30 1.77 0.890601 2.10204 +31 1.83 0.66653 2.26531 +32 1.89 1.32788 2.61224 +33 1.95 1.17405 2.93878 +34 2.01 0.345316 3.04082 +35 2.07 1.17212 3.40816 +36 2.13 0.861016 3.69388 +37 2.19 0.930841 4.02041 +38 2.25 0.936978 4.36735 +39 2.31 0.732067 4.65306 +40 2.37 0.844501 5 +41 2.43 0.708807 5.30612 +42 2.49 1.1251 5.81633 +43 2.55 1.07278 6.32653 +44 2.61 0.942104 6.79592 +45 2.67 0.821958 7.22449 +46 2.73 1.16062 7.85714 +47 2.79 1.0037 8.42857 +48 2.85 1.20236 9.14286 +49 2.91 0.856728 9.67347 +50 2.97 1.20206 10.449 +107200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 0.368519 0.22449 +16 0.93 0.967555 0.285714 +17 0.99 0 0.285714 +18 1.05 1.01213 0.367347 +19 1.11 1.58496 0.510204 +20 1.17 0.8152 0.591837 +21 1.23 0.737623 0.673469 +22 1.29 1.17358 0.816327 +23 1.35 0.918509 0.938776 +24 1.41 1.82436 1.20408 +25 1.47 0.903804 1.34694 +26 1.53 0.953504 1.5102 +27 1.59 0.551817 1.61224 +28 1.65 0.512419 1.71429 +29 1.71 0.954189 1.91837 +30 1.77 0.62342 2.06122 +31 1.83 0.916479 2.28571 +32 1.89 1.17166 2.59184 +33 1.95 0.953918 2.85714 +34 2.01 0.690632 3.06122 +35 2.07 1.17212 3.42857 +36 2.13 0.615011 3.63265 +37 2.19 0.698131 3.87755 +38 2.25 0.936978 4.22449 +39 2.31 0.941229 4.59184 +40 2.37 0.546442 4.81633 +41 2.43 0.803314 5.16327 +42 2.49 1.1251 5.67347 +43 2.55 0.815313 6.06122 +44 2.61 0.983065 6.55102 +45 2.67 1.29165 7.22449 +46 2.73 1.0483 7.79592 +47 2.79 1.14709 8.44898 +48 2.85 0.79012 8.91837 +49 2.91 1.12034 9.61224 +50 2.97 1.01226 10.2653 +107250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 1.48744 0.122449 +14 0.81 1.70044 0.204082 +15 0.87 0 0.204082 +16 0.93 1.29007 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 0.506063 0.367347 +19 1.11 0.452845 0.408163 +20 1.17 0.8152 0.489796 +21 1.23 1.10644 0.612245 +22 1.29 0.502961 0.673469 +23 1.35 0.918509 0.795918 +24 1.41 1.12268 0.959184 +25 1.47 1.29115 1.16327 +26 1.53 1.07269 1.34694 +27 1.59 1.32436 1.59184 +28 1.65 0.819871 1.7551 +29 1.71 1.04961 1.97959 +30 1.77 0.53436 2.10204 +31 1.83 0.749847 2.28571 +32 1.89 0.937329 2.53061 +33 1.95 1.10067 2.83673 +34 2.01 0.966885 3.12245 +35 2.07 1.107 3.46939 +36 2.13 1.23002 3.87755 +37 2.19 1.27991 4.32653 +38 2.25 0.881861 4.65306 +39 2.31 0.784357 4.95918 +40 2.37 0.745148 5.26531 +41 2.43 0.850568 5.63265 +42 2.49 1.03509 6.10204 +43 2.55 0.72949 6.44898 +44 2.61 1.22883 7.06122 +45 2.67 0.978521 7.57143 +46 2.73 0.973423 8.10204 +47 2.79 0.824468 8.57143 +48 2.85 0.927532 9.12245 +49 2.91 0.790826 9.61224 +50 2.97 0.822464 10.1429 +107300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 1.98325 0.183673 +14 0.81 0.850222 0.22449 +15 0.87 0.368519 0.244898 +16 0.93 0.645037 0.285714 +17 0.99 1.70773 0.408163 +18 1.05 1.51819 0.530612 +19 1.11 0.90569 0.612245 +20 1.17 0.4076 0.653061 +21 1.23 0.553218 0.714286 +22 1.29 1.17358 0.857143 +23 1.35 0.765424 0.959184 +24 1.41 0.421006 1.02041 +25 1.47 2.06584 1.34694 +26 1.53 1.54944 1.61224 +27 1.59 1.32436 1.85714 +28 1.65 0.512419 1.95918 +29 1.71 0.954189 2.16327 +30 1.77 0.71248 2.32653 +31 1.83 0.583214 2.46939 +32 1.89 1.01544 2.73469 +33 1.95 0.807161 2.95918 +34 2.01 0.552506 3.12245 +35 2.07 0.781414 3.36735 +36 2.13 0.676513 3.59184 +37 2.19 0.756309 3.85714 +38 2.25 0.60628 4.08163 +39 2.31 1.20268 4.55102 +40 2.37 1.14256 5.02041 +41 2.43 1.2286 5.55102 +42 2.49 0.810072 5.91837 +43 2.55 0.944046 6.36735 +44 2.61 0.942104 6.83673 +45 2.67 1.17423 7.44898 +46 2.73 1.0483 8.02041 +47 2.79 0.896161 8.53061 +48 2.85 0.961885 9.10204 +49 2.91 0.889679 9.65306 +50 2.97 0.854097 10.2041 +107350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0 0.0612245 +13 0.75 1.48744 0.122449 +14 0.81 1.27533 0.183673 +15 0.87 0 0.183673 +16 0.93 1.61259 0.285714 +17 0.99 0.569243 0.326531 +18 1.05 0.759094 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 1.019 0.55102 +21 1.23 0.553218 0.612245 +22 1.29 0.838269 0.714286 +23 1.35 0.612339 0.795918 +24 1.41 0.561342 0.877551 +25 1.47 1.03292 1.04082 +26 1.53 1.19188 1.2449 +27 1.59 0.993271 1.42857 +28 1.65 0.922354 1.61224 +29 1.71 0.667932 1.7551 +30 1.77 1.60308 2.12245 +31 1.83 0.999796 2.36735 +32 1.89 0.781108 2.57143 +33 1.95 0.733783 2.77551 +34 2.01 1.03595 3.08163 +35 2.07 0.651178 3.28571 +36 2.13 1.29152 3.71429 +37 2.19 1.0472 4.08163 +38 2.25 0.992094 4.44898 +39 2.31 0.679776 4.71429 +40 2.37 1.04321 5.14286 +41 2.43 0.850568 5.5102 +42 2.49 0.990089 5.95918 +43 2.55 0.901135 6.38776 +44 2.61 1.35171 7.06122 +45 2.67 1.01766 7.59184 +46 2.73 0.973423 8.12245 +47 2.79 0.967854 8.67347 +48 2.85 1.20236 9.38776 +49 2.91 0.757875 9.85714 +50 2.97 0.98063 10.4898 +107400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 1.13849 0.306122 +18 1.05 0.506063 0.346939 +19 1.11 0.226422 0.367347 +20 1.17 0.4076 0.408163 +21 1.23 0.737623 0.489796 +22 1.29 0.670615 0.571429 +23 1.35 1.22468 0.734694 +24 1.41 0.140335 0.755102 +25 1.47 0.903804 0.897959 +26 1.53 0.476752 0.979592 +27 1.59 1.54509 1.26531 +28 1.65 1.02484 1.46939 +29 1.71 1.04961 1.69388 +30 1.77 0.979661 1.91837 +31 1.83 0.66653 2.08163 +32 1.89 0.702997 2.26531 +33 1.95 1.0273 2.55102 +34 2.01 1.03595 2.85714 +35 2.07 0.846532 3.12245 +36 2.13 1.23002 3.53061 +37 2.19 0.407243 3.67347 +38 2.25 1.15744 4.10204 +39 2.31 1.04581 4.5102 +40 2.37 1.34127 5.06122 +41 2.43 1.03958 5.5102 +42 2.49 0.810072 5.87755 +43 2.55 1.28734 6.4898 +44 2.61 1.22883 7.10204 +45 2.67 0.978521 7.61224 +46 2.73 0.935984 8.12245 +47 2.79 0.609389 8.46939 +48 2.85 1.13365 9.14286 +49 2.91 1.12034 9.83673 +50 2.97 1.17043 10.5918 +107450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 1.70044 0.142857 +15 0.87 1.47408 0.22449 +16 0.93 0.322518 0.244898 +17 0.99 0.569243 0.285714 +18 1.05 0.506063 0.326531 +19 1.11 0.90569 0.408163 +20 1.17 1.2228 0.530612 +21 1.23 0.737623 0.612245 +22 1.29 0.670615 0.693878 +23 1.35 0.153085 0.714286 +24 1.41 1.12268 0.877551 +25 1.47 0.645574 0.979592 +26 1.53 0.715128 1.10204 +27 1.59 0.882908 1.26531 +28 1.65 0.717387 1.40816 +29 1.71 1.24045 1.67347 +30 1.77 0.71248 1.83673 +31 1.83 0.66653 2 +32 1.89 0.702997 2.18367 +33 1.95 0.660405 2.36735 +34 2.01 0.966885 2.65306 +35 2.07 0.716296 2.87755 +36 2.13 0.984018 3.20408 +37 2.19 0.581776 3.40816 +38 2.25 1.26768 3.87755 +39 2.31 0.993519 4.26531 +40 2.37 0.745148 4.57143 +41 2.43 1.08684 5.04082 +42 2.49 1.35012 5.65306 +43 2.55 1.02987 6.14286 +44 2.61 0.942104 6.61224 +45 2.67 1.0568 7.16327 +46 2.73 1.16062 7.79592 +47 2.79 1.18293 8.46939 +48 2.85 0.961885 9.04082 +49 2.91 0.790826 9.53061 +50 2.97 1.1388 10.2653 +107500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 1.61259 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 0.759094 0.367347 +19 1.11 0.226422 0.387755 +20 1.17 1.2228 0.510204 +21 1.23 0.737623 0.591837 +22 1.29 1.34123 0.755102 +23 1.35 0.765424 0.857143 +24 1.41 1.82436 1.12245 +25 1.47 0.645574 1.22449 +26 1.53 1.19188 1.42857 +27 1.59 0.662181 1.55102 +28 1.65 0.409935 1.63265 +29 1.71 0.85877 1.81633 +30 1.77 0.890601 2.02041 +31 1.83 0.749847 2.20408 +32 1.89 0.781108 2.40816 +33 1.95 0.807161 2.63265 +34 2.01 1.17407 2.97959 +35 2.07 1.23724 3.36735 +36 2.13 0.799515 3.63265 +37 2.19 0.989019 3.97959 +38 2.25 0.496047 4.16327 +39 2.31 0.679776 4.42857 +40 2.37 0.894177 4.79592 +41 2.43 0.897822 5.18367 +42 2.49 1.21511 5.73469 +43 2.55 1.37316 6.38776 +44 2.61 0.942104 6.85714 +45 2.67 0.978521 7.36735 +46 2.73 1.01086 7.91837 +47 2.79 1.07539 8.53061 +48 2.85 0.687061 8.93878 +49 2.91 1.12034 9.63265 +50 2.97 1.26533 10.449 +107550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 3.81206 0.0204082 +6 0.33 0 0.0204082 +7 0.39 0 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0 0.0408163 +14 0.81 1.27533 0.102041 +15 0.87 0 0.102041 +16 0.93 0.645037 0.142857 +17 0.99 2.27697 0.306122 +18 1.05 1.26516 0.408163 +19 1.11 1.13211 0.510204 +20 1.17 0.8152 0.591837 +21 1.23 0.368812 0.632653 +22 1.29 0.838269 0.734694 +23 1.35 0.459254 0.795918 +24 1.41 0.842013 0.918367 +25 1.47 1.03292 1.08163 +26 1.53 1.19188 1.28571 +27 1.59 0.772544 1.42857 +28 1.65 1.22981 1.67347 +29 1.71 1.04961 1.89796 +30 1.77 1.60308 2.26531 +31 1.83 0.66653 2.42857 +32 1.89 1.01544 2.69388 +33 1.95 0.807161 2.91837 +34 2.01 0.759695 3.14286 +35 2.07 0.846532 3.40816 +36 2.13 0.738014 3.65306 +37 2.19 0.639953 3.87755 +38 2.25 0.716512 4.14286 +39 2.31 0.732067 4.42857 +40 2.37 0.943854 4.81633 +41 2.43 1.2286 5.34694 +42 2.49 0.900081 5.7551 +43 2.55 0.514934 6 +44 2.61 0.942104 6.46939 +45 2.67 0.90024 6.93878 +46 2.73 1.01086 7.4898 +47 2.79 0.967854 8.04082 +48 2.85 0.824473 8.53061 +49 2.91 1.18624 9.26531 +50 2.97 1.39186 10.1633 +107600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 1.27533 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 0.569243 0.244898 +18 1.05 1.01213 0.326531 +19 1.11 0.90569 0.408163 +20 1.17 0.6114 0.469388 +21 1.23 0.553218 0.530612 +22 1.29 0.502961 0.591837 +23 1.35 1.53085 0.795918 +24 1.41 0.421006 0.857143 +25 1.47 1.54938 1.10204 +26 1.53 0.715128 1.22449 +27 1.59 0.993271 1.40816 +28 1.65 0.614903 1.53061 +29 1.71 0.954189 1.73469 +30 1.77 0.80154 1.91837 +31 1.83 0.66653 2.08163 +32 1.89 0.702997 2.26531 +33 1.95 0.733783 2.46939 +34 2.01 1.03595 2.77551 +35 2.07 0.651178 2.97959 +36 2.13 0.922517 3.28571 +37 2.19 0.872664 3.59184 +38 2.25 0.826745 3.89796 +39 2.31 0.941229 4.26531 +40 2.37 1.39094 4.83673 +41 2.43 0.803314 5.18367 +42 2.49 1.03509 5.65306 +43 2.55 1.11569 6.18367 +44 2.61 0.819221 6.59184 +45 2.67 1.29165 7.26531 +46 2.73 1.08574 7.85714 +47 2.79 1.39801 8.65306 +48 2.85 0.961885 9.22449 +49 2.91 0.790826 9.71429 +50 2.97 0.854097 10.2653 +107650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 0.850222 0.0816327 +15 0.87 1.10556 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 0.569243 0.244898 +18 1.05 0.759094 0.306122 +19 1.11 1.58496 0.44898 +20 1.17 0.6114 0.510204 +21 1.23 0.737623 0.591837 +22 1.29 0.670615 0.673469 +23 1.35 0.612339 0.755102 +24 1.41 0.421006 0.816327 +25 1.47 1.54938 1.06122 +26 1.53 0.476752 1.14286 +27 1.59 0.882908 1.30612 +28 1.65 0.819871 1.46939 +29 1.71 1.33586 1.7551 +30 1.77 1.24684 2.04082 +31 1.83 0.416582 2.14286 +32 1.89 0.234332 2.20408 +33 1.95 0.953918 2.46939 +34 2.01 0.966885 2.7551 +35 2.07 0.91165 3.04082 +36 2.13 0.984018 3.36735 +37 2.19 0.989019 3.71429 +38 2.25 0.936978 4.06122 +39 2.31 0.941229 4.42857 +40 2.37 0.596118 4.67347 +41 2.43 1.32311 5.2449 +42 2.49 0.585052 5.5102 +43 2.55 1.24442 6.10204 +44 2.61 0.983065 6.59184 +45 2.67 0.861099 7.04082 +46 2.73 0.861105 7.5102 +47 2.79 1.07539 8.12245 +48 2.85 0.961885 8.69388 +49 2.91 0.988533 9.30612 +50 2.97 1.10716 10.0204 +107700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0 0.0816327 +15 0.87 1.47408 0.163265 +16 0.93 0.645037 0.204082 +17 0.99 0.284622 0.22449 +18 1.05 1.01213 0.306122 +19 1.11 0.452845 0.346939 +20 1.17 0.2038 0.367347 +21 1.23 0.553218 0.428571 +22 1.29 1.17358 0.571429 +23 1.35 1.22468 0.734694 +24 1.41 0.421006 0.795918 +25 1.47 0.774689 0.918367 +26 1.53 0.834316 1.06122 +27 1.59 0.662181 1.18367 +28 1.65 0.819871 1.34694 +29 1.71 1.04961 1.57143 +30 1.77 0.890601 1.77551 +31 1.83 1.58301 2.16327 +32 1.89 1.01544 2.42857 +33 1.95 1.17405 2.7551 +34 2.01 0.897822 3.02041 +35 2.07 1.17212 3.38776 +36 2.13 0.738014 3.63265 +37 2.19 1.33808 4.10204 +38 2.25 1.15744 4.53061 +39 2.31 1.04581 4.93878 +40 2.37 0.844501 5.28571 +41 2.43 0.850568 5.65306 +42 2.49 1.0801 6.14286 +43 2.55 1.33025 6.77551 +44 2.61 0.983065 7.26531 +45 2.67 0.782817 7.67347 +46 2.73 0.748787 8.08163 +47 2.79 0.860314 8.57143 +48 2.85 1.13365 9.2449 +49 2.91 0.823777 9.7551 +50 2.97 1.01226 10.4082 +107750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 1.40505 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 1.13849 0.326531 +18 1.05 0.253031 0.346939 +19 1.11 0.679267 0.408163 +20 1.17 1.8342 0.591837 +21 1.23 0.737623 0.673469 +22 1.29 1.50888 0.857143 +23 1.35 1.37776 1.04082 +24 1.41 0.280671 1.08163 +25 1.47 1.16203 1.26531 +26 1.53 1.19188 1.46939 +27 1.59 0.551817 1.57143 +28 1.65 1.33229 1.83673 +29 1.71 0.763351 2 +30 1.77 0.979661 2.22449 +31 1.83 0.916479 2.44898 +32 1.89 1.17166 2.7551 +33 1.95 1.0273 3.04082 +34 2.01 1.24314 3.40816 +35 2.07 0.520943 3.57143 +36 2.13 1.23002 3.97959 +37 2.19 0.872664 4.28571 +38 2.25 0.551163 4.4898 +39 2.31 0.784357 4.79592 +40 2.37 0.745148 5.10204 +41 2.43 1.2286 5.63265 +42 2.49 0.990089 6.08163 +43 2.55 0.858224 6.4898 +44 2.61 1.18787 7.08163 +45 2.67 0.93938 7.57143 +46 2.73 0.935984 8.08163 +47 2.79 0.716929 8.4898 +48 2.85 0.824473 8.97959 +49 2.91 1.08739 9.65306 +50 2.97 1.1388 10.3878 +107800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 0.853865 0.265306 +18 1.05 0.506063 0.306122 +19 1.11 0.226422 0.326531 +20 1.17 0.8152 0.408163 +21 1.23 0.368812 0.44898 +22 1.29 0.502961 0.510204 +23 1.35 1.22468 0.673469 +24 1.41 1.40335 0.877551 +25 1.47 0.645574 0.979592 +26 1.53 1.07269 1.16327 +27 1.59 0.441454 1.2449 +28 1.65 1.12732 1.46939 +29 1.71 1.04961 1.69388 +30 1.77 1.06872 1.93878 +31 1.83 1.16643 2.22449 +32 1.89 1.17166 2.53061 +33 1.95 1.10067 2.83673 +34 2.01 1.03595 3.14286 +35 2.07 1.04189 3.46939 +36 2.13 1.10702 3.83673 +37 2.19 1.22173 4.26531 +38 2.25 0.496047 4.44898 +39 2.31 1.04581 4.85714 +40 2.37 0.844501 5.20408 +41 2.43 1.18134 5.71429 +42 2.49 1.0801 6.20408 +43 2.55 1.02987 6.69388 +44 2.61 1.02403 7.20408 +45 2.67 1.09594 7.77551 +46 2.73 0.823666 8.22449 +47 2.79 0.716929 8.63265 +48 2.85 0.961885 9.20408 +49 2.91 0.889679 9.7551 +50 2.97 0.88573 10.3265 +107850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0 0.0816327 +15 0.87 1.47408 0.163265 +16 0.93 1.29007 0.244898 +17 0.99 0.284622 0.265306 +18 1.05 1.01213 0.346939 +19 1.11 0.679267 0.408163 +20 1.17 0.8152 0.489796 +21 1.23 0.922029 0.591837 +22 1.29 1.34123 0.755102 +23 1.35 1.22468 0.918367 +24 1.41 0.140335 0.938776 +25 1.47 1.16203 1.12245 +26 1.53 0.953504 1.28571 +27 1.59 0.551817 1.38776 +28 1.65 0.614903 1.5102 +29 1.71 0.381676 1.59184 +30 1.77 0.80154 1.77551 +31 1.83 1.16643 2.06122 +32 1.89 1.09355 2.34694 +33 1.95 0.880539 2.59184 +34 2.01 0.828758 2.83673 +35 2.07 0.976768 3.14286 +36 2.13 1.04552 3.4898 +37 2.19 0.930841 3.81633 +38 2.25 1.26768 4.28571 +39 2.31 0.836648 4.61224 +40 2.37 1.34127 5.16327 +41 2.43 0.897822 5.55102 +42 2.49 1.26011 6.12245 +43 2.55 0.901135 6.55102 +44 2.61 1.31075 7.20408 +45 2.67 0.861099 7.65306 +46 2.73 1.0483 8.22449 +47 2.79 0.752775 8.65306 +48 2.85 0.584002 9 +49 2.91 0.988533 9.61224 +50 2.97 0.822464 10.1429 +107900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.991624 0.0612245 +14 0.81 0.425111 0.0816327 +15 0.87 0.737039 0.122449 +16 0.93 0.967555 0.183673 +17 0.99 1.42311 0.285714 +18 1.05 0.506063 0.326531 +19 1.11 0.679267 0.387755 +20 1.17 0 0.387755 +21 1.23 0.922029 0.489796 +22 1.29 1.00592 0.612245 +23 1.35 0.612339 0.693878 +24 1.41 0.701677 0.795918 +25 1.47 0.774689 0.918367 +26 1.53 0.59594 1.02041 +27 1.59 1.214 1.2449 +28 1.65 0.922354 1.42857 +29 1.71 0.85877 1.61224 +30 1.77 1.06872 1.85714 +31 1.83 1.49969 2.22449 +32 1.89 0.937329 2.46939 +33 1.95 1.54094 2.89796 +34 2.01 1.45033 3.32653 +35 2.07 0.781414 3.57143 +36 2.13 1.16852 3.95918 +37 2.19 1.0472 4.32653 +38 2.25 0.771629 4.61224 +39 2.31 1.20268 5.08163 +40 2.37 1.29159 5.61224 +41 2.43 0.614299 5.87755 +42 2.49 0.810072 6.2449 +43 2.55 1.28734 6.85714 +44 2.61 1.06499 7.38776 +45 2.67 0.704535 7.7551 +46 2.73 0.898544 8.2449 +47 2.79 1.14709 8.89796 +48 2.85 0.687061 9.30612 +49 2.91 0.988533 9.91837 +50 2.97 0.822464 10.449 +107950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0 0 +12 0.69 1.17146 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 2.12556 0.163265 +15 0.87 0.368519 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 0.253031 0.326531 +19 1.11 0.90569 0.408163 +20 1.17 0.4076 0.44898 +21 1.23 0.553218 0.510204 +22 1.29 0.502961 0.571429 +23 1.35 0.918509 0.693878 +24 1.41 0.701677 0.795918 +25 1.47 0.645574 0.897959 +26 1.53 0.953504 1.06122 +27 1.59 0.882908 1.22449 +28 1.65 0.717387 1.36735 +29 1.71 1.33586 1.65306 +30 1.77 0.71248 1.81633 +31 1.83 0.916479 2.04082 +32 1.89 1.24977 2.36735 +33 1.95 0.807161 2.59184 +34 2.01 0.690632 2.79592 +35 2.07 0.91165 3.08163 +36 2.13 1.29152 3.5102 +37 2.19 1.27991 3.95918 +38 2.25 0.661396 4.20408 +39 2.31 0.732067 4.4898 +40 2.37 0.943854 4.87755 +41 2.43 0.803314 5.22449 +42 2.49 1.03509 5.69388 +43 2.55 0.944046 6.14286 +44 2.61 0.860182 6.57143 +45 2.67 1.17423 7.18367 +46 2.73 0.636469 7.53061 +47 2.79 0.716929 7.93878 +48 2.85 1.0993 8.59184 +49 2.91 0.659022 9 +50 2.97 1.3286 9.85714 +108000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 2.5742 0.0816327 +11 0.63 0.702525 0.102041 +12 0.69 1.17146 0.142857 +13 0.75 2.97487 0.265306 +14 0.81 2.55067 0.387755 +15 0.87 1.10556 0.44898 +16 0.93 1.29007 0.530612 +17 0.99 0.569243 0.571429 +18 1.05 0.759094 0.632653 +19 1.11 0.226422 0.653061 +20 1.17 0.4076 0.693878 +21 1.23 0.553218 0.755102 +22 1.29 1.17358 0.897959 +23 1.35 0.765424 1 +24 1.41 0.982348 1.14286 +25 1.47 1.29115 1.34694 +26 1.53 0.59594 1.44898 +27 1.59 0.772544 1.59184 +28 1.65 0.512419 1.69388 +29 1.71 0.381676 1.77551 +30 1.77 0.890601 1.97959 +31 1.83 0.916479 2.20408 +32 1.89 0.702997 2.38776 +33 1.95 0.953918 2.65306 +34 2.01 0.690632 2.85714 +35 2.07 0.846532 3.12245 +36 2.13 0.615011 3.32653 +37 2.19 0.930841 3.65306 +38 2.25 0.936978 4 +39 2.31 1.30726 4.5102 +40 2.37 0.99353 4.91837 +41 2.43 0.803314 5.26531 +42 2.49 0.990089 5.71429 +43 2.55 1.11569 6.2449 +44 2.61 1.10595 6.79592 +45 2.67 0.782817 7.20408 +46 2.73 1.27294 7.89796 +47 2.79 0.860314 8.38776 +48 2.85 0.961885 8.95918 +49 2.91 1.02148 9.59184 +50 2.97 0.88573 10.1633 +108050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 2.12556 0.183673 +15 0.87 0 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 0.853865 0.265306 +18 1.05 1.77122 0.408163 +19 1.11 1.35853 0.530612 +20 1.17 0.4076 0.571429 +21 1.23 0 0.571429 +22 1.29 0.335308 0.612245 +23 1.35 0.918509 0.734694 +24 1.41 0.561342 0.816327 +25 1.47 1.16203 1 +26 1.53 1.19188 1.20408 +27 1.59 0.993271 1.38776 +28 1.65 0.614903 1.5102 +29 1.71 1.5267 1.83673 +30 1.77 1.24684 2.12245 +31 1.83 1.08311 2.38776 +32 1.89 1.09355 2.67347 +33 1.95 1.32081 3.04082 +34 2.01 0.759695 3.26531 +35 2.07 1.04189 3.59184 +36 2.13 0.799515 3.85714 +37 2.19 0.814486 4.14286 +38 2.25 0.826745 4.44898 +39 2.31 0.888938 4.79592 +40 2.37 0.894177 5.16327 +41 2.43 0.945075 5.57143 +42 2.49 0.855076 5.95918 +43 2.55 1.11569 6.4898 +44 2.61 0.77826 6.87755 +45 2.67 1.09594 7.44898 +46 2.73 0.823666 7.89796 +47 2.79 1.14709 8.55102 +48 2.85 1.03059 9.16327 +49 2.91 1.15329 9.87755 +50 2.97 1.20206 10.6531 +108100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0 0.0408163 +13 0.75 1.48744 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 0.853865 0.326531 +18 1.05 1.26516 0.428571 +19 1.11 0.452845 0.469388 +20 1.17 1.019 0.571429 +21 1.23 1.29084 0.714286 +22 1.29 0.335308 0.755102 +23 1.35 0.765424 0.857143 +24 1.41 0.701677 0.959184 +25 1.47 0.516459 1.04082 +26 1.53 1.07269 1.22449 +27 1.59 0.551817 1.32653 +28 1.65 0.819871 1.4898 +29 1.71 0.954189 1.69388 +30 1.77 0.979661 1.91837 +31 1.83 1.16643 2.20408 +32 1.89 1.32788 2.55102 +33 1.95 1.10067 2.85714 +34 2.01 0.828758 3.10204 +35 2.07 0.976768 3.40816 +36 2.13 0.922517 3.71429 +37 2.19 0.814486 4 +38 2.25 0.771629 4.28571 +39 2.31 0.888938 4.63265 +40 2.37 1.19224 5.12245 +41 2.43 0.803314 5.46939 +42 2.49 0.900081 5.87755 +43 2.55 0.901135 6.30612 +44 2.61 0.77826 6.69388 +45 2.67 0.90024 7.16327 +46 2.73 1.2355 7.83673 +47 2.79 1.14709 8.4898 +48 2.85 1.03059 9.10204 +49 2.91 1.12034 9.79592 +50 2.97 1.1388 10.5306 +108150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 1.27533 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 0.645037 0.204082 +17 0.99 0.569243 0.244898 +18 1.05 0.759094 0.306122 +19 1.11 0.679267 0.367347 +20 1.17 0.8152 0.44898 +21 1.23 0.368812 0.489796 +22 1.29 0.670615 0.571429 +23 1.35 0.918509 0.693878 +24 1.41 0.561342 0.77551 +25 1.47 0.903804 0.918367 +26 1.53 0.715128 1.04082 +27 1.59 0.882908 1.20408 +28 1.65 0.512419 1.30612 +29 1.71 0.85877 1.4898 +30 1.77 0.62342 1.63265 +31 1.83 0.999796 1.87755 +32 1.89 0.468665 2 +33 1.95 0.733783 2.20408 +34 2.01 0.759695 2.42857 +35 2.07 1.17212 2.79592 +36 2.13 1.29152 3.22449 +37 2.19 0.930841 3.55102 +38 2.25 1.15744 3.97959 +39 2.31 1.0981 4.40816 +40 2.37 1.4903 5.02041 +41 2.43 0.614299 5.28571 +42 2.49 0.810072 5.65306 +43 2.55 0.901135 6.08163 +44 2.61 1.22883 6.69388 +45 2.67 0.704535 7.06122 +46 2.73 0.711348 7.44898 +47 2.79 0.896161 7.95918 +48 2.85 1.33977 8.7551 +49 2.91 1.12034 9.44898 +50 2.97 1.01226 10.102 +108200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 0 0.122449 +16 0.93 0.967555 0.183673 +17 0.99 1.13849 0.265306 +18 1.05 1.77122 0.408163 +19 1.11 0.452845 0.44898 +20 1.17 0.6114 0.510204 +21 1.23 0.368812 0.55102 +22 1.29 0.335308 0.591837 +23 1.35 1.9901 0.857143 +24 1.41 0.561342 0.938776 +25 1.47 0.516459 1.02041 +26 1.53 0.715128 1.14286 +27 1.59 1.32436 1.38776 +28 1.65 1.33229 1.65306 +29 1.71 0.763351 1.81633 +30 1.77 1.42496 2.14286 +31 1.83 0.749847 2.32653 +32 1.89 0.937329 2.57143 +33 1.95 0.953918 2.83673 +34 2.01 0.690632 3.04082 +35 2.07 1.04189 3.36735 +36 2.13 0.799515 3.63265 +37 2.19 0.756309 3.89796 +38 2.25 0.771629 4.18367 +39 2.31 1.20268 4.65306 +40 2.37 1.24191 5.16327 +41 2.43 0.850568 5.53061 +42 2.49 1.0801 6.02041 +43 2.55 0.944046 6.46939 +44 2.61 1.31075 7.12245 +45 2.67 1.13508 7.71429 +46 2.73 1.01086 8.26531 +47 2.79 0.824468 8.73469 +48 2.85 0.79012 9.20408 +49 2.91 1.25214 9.97959 +50 2.97 0.854097 10.5306 +108250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 0 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0.991624 0.142857 +14 0.81 0.425111 0.163265 +15 0.87 1.10556 0.22449 +16 0.93 0.322518 0.244898 +17 0.99 0.569243 0.285714 +18 1.05 0.506063 0.326531 +19 1.11 0.679267 0.387755 +20 1.17 1.019 0.489796 +21 1.23 0.368812 0.530612 +22 1.29 0.838269 0.632653 +23 1.35 0.765424 0.734694 +24 1.41 0.701677 0.836735 +25 1.47 0.516459 0.918367 +26 1.53 0.834316 1.06122 +27 1.59 0.882908 1.22449 +28 1.65 1.43477 1.5102 +29 1.71 1.24045 1.77551 +30 1.77 0.80154 1.95918 +31 1.83 0.999796 2.20408 +32 1.89 0.937329 2.44898 +33 1.95 0.44027 2.57143 +34 2.01 0.621569 2.7551 +35 2.07 0.976768 3.06122 +36 2.13 1.10702 3.42857 +37 2.19 0.930841 3.7551 +38 2.25 0.881861 4.08163 +39 2.31 1.30726 4.59184 +40 2.37 1.04321 5.02041 +41 2.43 0.661553 5.30612 +42 2.49 1.30512 5.89796 +43 2.55 1.07278 6.40816 +44 2.61 1.18787 7 +45 2.67 1.25251 7.65306 +46 2.73 0.973423 8.18367 +47 2.79 0.896161 8.69388 +48 2.85 0.755767 9.14286 +49 2.91 1.12034 9.83673 +50 2.97 1.26533 10.6531 +108300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 2.34293 0.122449 +13 0.75 1.48744 0.183673 +14 0.81 1.70044 0.265306 +15 0.87 1.10556 0.326531 +16 0.93 0.967555 0.387755 +17 0.99 1.70773 0.510204 +18 1.05 0.253031 0.530612 +19 1.11 0.679267 0.591837 +20 1.17 0.8152 0.673469 +21 1.23 0 0.673469 +22 1.29 0.502961 0.734694 +23 1.35 0.765424 0.836735 +24 1.41 0.842013 0.959184 +25 1.47 1.03292 1.12245 +26 1.53 0.476752 1.20408 +27 1.59 1.32436 1.44898 +28 1.65 0.922354 1.63265 +29 1.71 1.04961 1.85714 +30 1.77 1.15778 2.12245 +31 1.83 0.749847 2.30612 +32 1.89 1.17166 2.61224 +33 1.95 1.10067 2.91837 +34 2.01 1.10501 3.2449 +35 2.07 0.520943 3.40816 +36 2.13 1.16852 3.79592 +37 2.19 0.581776 4 +38 2.25 0.992094 4.36735 +39 2.31 1.04581 4.77551 +40 2.37 0.745148 5.08163 +41 2.43 1.41761 5.69388 +42 2.49 1.03509 6.16327 +43 2.55 0.901135 6.59184 +44 2.61 0.860182 7.02041 +45 2.67 1.09594 7.59184 +46 2.73 1.27294 8.28571 +47 2.79 1.07539 8.89796 +48 2.85 1.03059 9.5102 +49 2.91 0.790826 10 +50 2.97 1.2337 10.7959 +108350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.14319 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 0.853865 0.306122 +18 1.05 1.26516 0.408163 +19 1.11 0.452845 0.44898 +20 1.17 1.019 0.55102 +21 1.23 1.65965 0.734694 +22 1.29 0.502961 0.795918 +23 1.35 0.459254 0.857143 +24 1.41 0.561342 0.938776 +25 1.47 0.645574 1.04082 +26 1.53 1.31107 1.26531 +27 1.59 1.214 1.4898 +28 1.65 1.43477 1.77551 +29 1.71 1.04961 2 +30 1.77 0.890601 2.20408 +31 1.83 0.749847 2.38776 +32 1.89 1.17166 2.69388 +33 1.95 1.24743 3.04082 +34 2.01 0.828758 3.28571 +35 2.07 0.455825 3.42857 +36 2.13 0.861016 3.71429 +37 2.19 0.698131 3.95918 +38 2.25 0.881861 4.28571 +39 2.31 0.627486 4.53061 +40 2.37 1.39094 5.10204 +41 2.43 1.32311 5.67347 +42 2.49 1.39512 6.30612 +43 2.55 0.772402 6.67347 +44 2.61 0.901143 7.12245 +45 2.67 1.17423 7.73469 +46 2.73 0.898544 8.22449 +47 2.79 0.752775 8.65306 +48 2.85 1.23671 9.38776 +49 2.91 1.12034 10.0816 +50 2.97 0.88573 10.6531 +108400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 1.48744 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 2.94816 0.285714 +16 0.93 1.61259 0.387755 +17 0.99 0.853865 0.44898 +18 1.05 0.506063 0.489796 +19 1.11 0.452845 0.530612 +20 1.17 1.2228 0.653061 +21 1.23 0.922029 0.755102 +22 1.29 0.502961 0.816327 +23 1.35 0.918509 0.938776 +24 1.41 0.842013 1.06122 +25 1.47 0.645574 1.16327 +26 1.53 1.31107 1.38776 +27 1.59 1.10363 1.59184 +28 1.65 0.614903 1.71429 +29 1.71 0.477094 1.81633 +30 1.77 0.979661 2.04082 +31 1.83 0.583214 2.18367 +32 1.89 0.781108 2.38776 +33 1.95 1.46757 2.79592 +34 2.01 1.10501 3.12245 +35 2.07 0.976768 3.42857 +36 2.13 0.922517 3.73469 +37 2.19 0.639953 3.95918 +38 2.25 1.15744 4.38776 +39 2.31 0.941229 4.7551 +40 2.37 1.09288 5.20408 +41 2.43 0.897822 5.59184 +42 2.49 0.990089 6.04082 +43 2.55 1.24442 6.63265 +44 2.61 1.18787 7.22449 +45 2.67 1.0568 7.77551 +46 2.73 0.748787 8.18367 +47 2.79 1.03955 8.77551 +48 2.85 1.168 9.46939 +49 2.91 0.92263 10.0408 +50 2.97 0.948997 10.6531 +108450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 1.71613 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0 0.0612245 +15 0.87 0.737039 0.102041 +16 0.93 0.322518 0.122449 +17 0.99 0 0.122449 +18 1.05 1.26516 0.22449 +19 1.11 1.58496 0.367347 +20 1.17 0.8152 0.44898 +21 1.23 0.553218 0.510204 +22 1.29 0.335308 0.55102 +23 1.35 0.765424 0.653061 +24 1.41 0.561342 0.734694 +25 1.47 0.645574 0.836735 +26 1.53 1.07269 1.02041 +27 1.59 0.772544 1.16327 +28 1.65 1.94719 1.55102 +29 1.71 1.14503 1.79592 +30 1.77 0.890601 2 +31 1.83 1.33306 2.32653 +32 1.89 1.17166 2.63265 +33 1.95 0.807161 2.85714 +34 2.01 0.966885 3.14286 +35 2.07 1.23724 3.53061 +36 2.13 1.35303 3.97959 +37 2.19 0.639953 4.20408 +38 2.25 1.21256 4.65306 +39 2.31 1.04581 5.06122 +40 2.37 1.09288 5.5102 +41 2.43 1.18134 6.02041 +42 2.49 1.39512 6.65306 +43 2.55 0.944046 7.10204 +44 2.61 1.14691 7.67347 +45 2.67 0.90024 8.14286 +46 2.73 1.08574 8.73469 +47 2.79 1.11124 9.36735 +48 2.85 1.03059 9.97959 +49 2.91 0.889679 10.5306 +50 2.97 1.20206 11.3061 +108500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 1.47408 0.265306 +16 0.93 0.645037 0.306122 +17 0.99 1.99235 0.44898 +18 1.05 0 0.44898 +19 1.11 1.35853 0.571429 +20 1.17 0.6114 0.632653 +21 1.23 1.84406 0.836735 +22 1.29 0.670615 0.918367 +23 1.35 1.22468 1.08163 +24 1.41 0.842013 1.20408 +25 1.47 0.774689 1.32653 +26 1.53 0.476752 1.40816 +27 1.59 1.10363 1.61224 +28 1.65 1.02484 1.81633 +29 1.71 1.14503 2.06122 +30 1.77 0.979661 2.28571 +31 1.83 0.999796 2.53061 +32 1.89 0.546775 2.67347 +33 1.95 0.807161 2.89796 +34 2.01 1.24314 3.26531 +35 2.07 1.17212 3.63265 +36 2.13 0.922517 3.93878 +37 2.19 1.0472 4.30612 +38 2.25 1.04721 4.69388 +39 2.31 0.888938 5.04082 +40 2.37 0.745148 5.34694 +41 2.43 1.2286 5.87755 +42 2.49 0.720064 6.20408 +43 2.55 1.07278 6.71429 +44 2.61 0.860182 7.14286 +45 2.67 1.21337 7.77551 +46 2.73 1.08574 8.36735 +47 2.79 0.716929 8.77551 +48 2.85 1.168 9.46939 +49 2.91 1.12034 10.1633 +50 2.97 0.88573 10.7347 +108550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 1.98325 0.142857 +14 0.81 0 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 1.13849 0.285714 +18 1.05 0.759094 0.346939 +19 1.11 1.13211 0.44898 +20 1.17 0.4076 0.489796 +21 1.23 0.922029 0.591837 +22 1.29 0.670615 0.673469 +23 1.35 1.07159 0.816327 +24 1.41 0.421006 0.877551 +25 1.47 1.03292 1.04082 +26 1.53 0.59594 1.14286 +27 1.59 0.882908 1.30612 +28 1.65 1.22981 1.55102 +29 1.71 0.381676 1.63265 +30 1.77 1.51402 1.97959 +31 1.83 0.833163 2.18367 +32 1.89 1.40599 2.55102 +33 1.95 0.807161 2.77551 +34 2.01 0.759695 3 +35 2.07 0.91165 3.28571 +36 2.13 0.984018 3.61224 +37 2.19 1.10537 4 +38 2.25 0.936978 4.34694 +39 2.31 1.20268 4.81633 +40 2.37 1.34127 5.36735 +41 2.43 0.850568 5.73469 +42 2.49 1.35012 6.34694 +43 2.55 0.772402 6.71429 +44 2.61 0.983065 7.20408 +45 2.67 1.29165 7.87755 +46 2.73 1.2355 8.55102 +47 2.79 0.824468 9.02041 +48 2.85 0.79012 9.4898 +49 2.91 0.92263 10.0612 +50 2.97 0.88573 10.6327 +108600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 1.47408 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 1.26516 0.408163 +19 1.11 0.679267 0.469388 +20 1.17 0.6114 0.530612 +21 1.23 0.553218 0.591837 +22 1.29 0.838269 0.693878 +23 1.35 0.765424 0.795918 +24 1.41 0.561342 0.877551 +25 1.47 0.387344 0.938776 +26 1.53 0.476752 1.02041 +27 1.59 0.882908 1.18367 +28 1.65 0.409935 1.26531 +29 1.71 0.477094 1.36735 +30 1.77 1.06872 1.61224 +31 1.83 1.74964 2.04082 +32 1.89 0.937329 2.28571 +33 1.95 1.32081 2.65306 +34 2.01 0.828758 2.89796 +35 2.07 0.976768 3.20408 +36 2.13 1.16852 3.59184 +37 2.19 1.0472 3.95918 +38 2.25 1.32279 4.44898 +39 2.31 0.888938 4.79592 +40 2.37 0.794824 5.12245 +41 2.43 0.708807 5.42857 +42 2.49 0.765068 5.77551 +43 2.55 0.986958 6.2449 +44 2.61 1.22883 6.85714 +45 2.67 1.01766 7.38776 +46 2.73 0.898544 7.87755 +47 2.79 0.967854 8.42857 +48 2.85 0.893179 8.95918 +49 2.91 1.44985 9.85714 +50 2.97 0.601031 10.2449 +108650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.850222 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.645037 0.22449 +17 0.99 0.569243 0.265306 +18 1.05 1.77122 0.408163 +19 1.11 0.452845 0.44898 +20 1.17 0.8152 0.530612 +21 1.23 0.553218 0.591837 +22 1.29 0.670615 0.673469 +23 1.35 0.612339 0.755102 +24 1.41 1.40335 0.959184 +25 1.47 0.516459 1.04082 +26 1.53 0.834316 1.18367 +27 1.59 0.662181 1.30612 +28 1.65 1.33229 1.57143 +29 1.71 0.763351 1.73469 +30 1.77 0.890601 1.93878 +31 1.83 1.58301 2.32653 +32 1.89 1.09355 2.61224 +33 1.95 1.32081 2.97959 +34 2.01 0.690632 3.18367 +35 2.07 0.91165 3.46939 +36 2.13 0.676513 3.69388 +37 2.19 0.872664 4 +38 2.25 1.21256 4.44898 +39 2.31 1.15039 4.89796 +40 2.37 0.844501 5.2449 +41 2.43 0.708807 5.55102 +42 2.49 1.1701 6.08163 +43 2.55 1.02987 6.57143 +44 2.61 0.901143 7.02041 +45 2.67 0.978521 7.53061 +46 2.73 1.08574 8.12245 +47 2.79 0.967854 8.67347 +48 2.85 0.893179 9.20408 +49 2.91 1.02148 9.83673 +50 2.97 0.822464 10.3673 +108700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 2.12556 0.142857 +15 0.87 0.368519 0.163265 +16 0.93 0.645037 0.204082 +17 0.99 0.853865 0.265306 +18 1.05 0.253031 0.285714 +19 1.11 0.679267 0.346939 +20 1.17 1.6304 0.510204 +21 1.23 1.10644 0.632653 +22 1.29 1.00592 0.755102 +23 1.35 0.918509 0.877551 +24 1.41 0.982348 1.02041 +25 1.47 0.25823 1.06122 +26 1.53 0.715128 1.18367 +27 1.59 0.551817 1.28571 +28 1.65 1.43477 1.57143 +29 1.71 0.667932 1.71429 +30 1.77 0.979661 1.93878 +31 1.83 0.66653 2.10204 +32 1.89 0.390554 2.20408 +33 1.95 0.807161 2.42857 +34 2.01 1.38126 2.83673 +35 2.07 1.23724 3.22449 +36 2.13 1.16852 3.61224 +37 2.19 1.0472 3.97959 +38 2.25 1.10233 4.38776 +39 2.31 1.0981 4.81633 +40 2.37 1.09288 5.26531 +41 2.43 0.708807 5.57143 +42 2.49 0.765068 5.91837 +43 2.55 0.772402 6.28571 +44 2.61 0.983065 6.77551 +45 2.67 0.93938 7.26531 +46 2.73 0.861105 7.73469 +47 2.79 1.0037 8.30612 +48 2.85 0.893179 8.83673 +49 2.91 1.21919 9.59184 +50 2.97 1.20206 10.3673 +108750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0.495812 0.0408163 +14 0.81 1.70044 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 1.61259 0.265306 +17 0.99 1.13849 0.346939 +18 1.05 0.759094 0.408163 +19 1.11 0.90569 0.489796 +20 1.17 0.6114 0.55102 +21 1.23 0.922029 0.653061 +22 1.29 0.838269 0.755102 +23 1.35 1.22468 0.918367 +24 1.41 0.842013 1.04082 +25 1.47 1.16203 1.22449 +26 1.53 1.07269 1.40816 +27 1.59 0.441454 1.4898 +28 1.65 1.02484 1.69388 +29 1.71 0.381676 1.77551 +30 1.77 0.890601 1.97959 +31 1.83 1.24974 2.28571 +32 1.89 1.01544 2.55102 +33 1.95 0.880539 2.79592 +34 2.01 0.759695 3.02041 +35 2.07 1.04189 3.34694 +36 2.13 0.676513 3.57143 +37 2.19 0.872664 3.87755 +38 2.25 1.04721 4.26531 +39 2.31 0.941229 4.63265 +40 2.37 0.695471 4.91837 +41 2.43 0.945075 5.32653 +42 2.49 0.855076 5.71429 +43 2.55 1.37316 6.36735 +44 2.61 1.14691 6.93878 +45 2.67 1.09594 7.5102 +46 2.73 0.748787 7.91837 +47 2.79 1.0037 8.4898 +48 2.85 1.20236 9.20408 +49 2.91 1.12034 9.89796 +50 2.97 0.917363 10.4898 +108800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.7572 0.0816327 +13 0.75 1.98325 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 0.368519 0.244898 +16 0.93 1.61259 0.346939 +17 0.99 0.284622 0.367347 +18 1.05 0.253031 0.387755 +19 1.11 0.226422 0.408163 +20 1.17 1.019 0.510204 +21 1.23 0.737623 0.591837 +22 1.29 1.00592 0.714286 +23 1.35 0.612339 0.795918 +24 1.41 0.421006 0.857143 +25 1.47 0.774689 0.979592 +26 1.53 1.07269 1.16327 +27 1.59 1.65545 1.46939 +28 1.65 1.33229 1.73469 +29 1.71 1.14503 1.97959 +30 1.77 0.890601 2.18367 +31 1.83 1.16643 2.46939 +32 1.89 1.17166 2.77551 +33 1.95 0.953918 3.04082 +34 2.01 0.897822 3.30612 +35 2.07 0.781414 3.55102 +36 2.13 0.922517 3.85714 +37 2.19 0.756309 4.12245 +38 2.25 1.04721 4.5102 +39 2.31 0.888938 4.85714 +40 2.37 1.14256 5.32653 +41 2.43 1.13409 5.81633 +42 2.49 0.900081 6.22449 +43 2.55 0.858224 6.63265 +44 2.61 0.819221 7.04082 +45 2.67 0.861099 7.4898 +46 2.73 1.08574 8.08163 +47 2.79 0.932007 8.61224 +48 2.85 0.996238 9.20408 +49 2.91 0.955581 9.79592 +50 2.97 1.10716 10.5102 +108850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 1.71613 0.0612245 +11 0.63 1.40505 0.102041 +12 0.69 0 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 1.70044 0.204082 +15 0.87 0.737039 0.244898 +16 0.93 0.967555 0.306122 +17 0.99 0.853865 0.367347 +18 1.05 1.01213 0.44898 +19 1.11 0.226422 0.469388 +20 1.17 0.4076 0.510204 +21 1.23 0.368812 0.55102 +22 1.29 0.670615 0.632653 +23 1.35 0.765424 0.734694 +24 1.41 0.561342 0.816327 +25 1.47 1.03292 0.979592 +26 1.53 0.59594 1.08163 +27 1.59 1.10363 1.28571 +28 1.65 0.614903 1.40816 +29 1.71 0.954189 1.61224 +30 1.77 1.42496 1.93878 +31 1.83 0.833163 2.14286 +32 1.89 0.468665 2.26531 +33 1.95 0.807161 2.4898 +34 2.01 1.03595 2.79592 +35 2.07 0.716296 3.02041 +36 2.13 0.615011 3.22449 +37 2.19 0.930841 3.55102 +38 2.25 1.21256 4 +39 2.31 1.25497 4.4898 +40 2.37 0.894177 4.85714 +41 2.43 0.803314 5.20408 +42 2.49 1.0801 5.69388 +43 2.55 1.11569 6.22449 +44 2.61 0.819221 6.63265 +45 2.67 1.13508 7.22449 +46 2.73 1.0483 7.79592 +47 2.79 0.932007 8.32653 +48 2.85 0.893179 8.85714 +49 2.91 1.05443 9.5102 +50 2.97 1.26533 10.3265 +108900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 1.27533 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 0.645037 0.204082 +17 0.99 0.569243 0.244898 +18 1.05 0.506063 0.285714 +19 1.11 0.226422 0.306122 +20 1.17 1.4266 0.44898 +21 1.23 1.10644 0.571429 +22 1.29 1.50888 0.755102 +23 1.35 0.918509 0.877551 +24 1.41 0.701677 0.979592 +25 1.47 0.903804 1.12245 +26 1.53 0.715128 1.2449 +27 1.59 0.662181 1.36735 +28 1.65 1.84471 1.73469 +29 1.71 0.85877 1.91837 +30 1.77 1.51402 2.26531 +31 1.83 1.16643 2.55102 +32 1.89 0.859219 2.77551 +33 1.95 0.953918 3.04082 +34 2.01 0.828758 3.28571 +35 2.07 0.455825 3.42857 +36 2.13 0.984018 3.7551 +37 2.19 1.0472 4.12245 +38 2.25 1.37791 4.63265 +39 2.31 0.888938 4.97959 +40 2.37 1.14256 5.44898 +41 2.43 1.03958 5.89796 +42 2.49 0.540048 6.14286 +43 2.55 1.33025 6.77551 +44 2.61 0.942104 7.2449 +45 2.67 0.978521 7.7551 +46 2.73 1.16062 8.38776 +47 2.79 0.896161 8.89796 +48 2.85 1.168 9.59184 +49 2.91 1.08739 10.2653 +50 2.97 0.822464 10.7959 +108950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0 0.0204082 +13 0.75 0 0.0204082 +14 0.81 0.425111 0.0408163 +15 0.87 1.10556 0.102041 +16 0.93 0.645037 0.142857 +17 0.99 2.56159 0.326531 +18 1.05 0.506063 0.367347 +19 1.11 0.679267 0.428571 +20 1.17 0.4076 0.469388 +21 1.23 0.553218 0.530612 +22 1.29 0.502961 0.591837 +23 1.35 0.612339 0.673469 +24 1.41 1.68403 0.918367 +25 1.47 1.16203 1.10204 +26 1.53 1.43026 1.34694 +27 1.59 0.551817 1.44898 +28 1.65 1.12732 1.67347 +29 1.71 0.667932 1.81633 +30 1.77 1.06872 2.06122 +31 1.83 0.499898 2.18367 +32 1.89 1.09355 2.46939 +33 1.95 1.0273 2.7551 +34 2.01 1.3122 3.14286 +35 2.07 0.846532 3.40816 +36 2.13 0.861016 3.69388 +37 2.19 0.930841 4.02041 +38 2.25 1.04721 4.40816 +39 2.31 0.888938 4.7551 +40 2.37 0.99353 5.16327 +41 2.43 1.13409 5.65306 +42 2.49 0.990089 6.10204 +43 2.55 0.986958 6.57143 +44 2.61 0.77826 6.95918 +45 2.67 0.821958 7.38776 +46 2.73 0.973423 7.91837 +47 2.79 1.0037 8.4898 +48 2.85 0.893179 9.02041 +49 2.91 0.889679 9.57143 +50 2.97 0.822464 10.102 +109000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 2.34293 0.122449 +13 0.75 0 0.122449 +14 0.81 0.425111 0.142857 +15 0.87 0 0.142857 +16 0.93 0.967555 0.204082 +17 0.99 0.853865 0.265306 +18 1.05 0.506063 0.306122 +19 1.11 0.90569 0.387755 +20 1.17 0.4076 0.428571 +21 1.23 0.368812 0.469388 +22 1.29 0.335308 0.510204 +23 1.35 1.07159 0.653061 +24 1.41 0.982348 0.795918 +25 1.47 1.29115 1 +26 1.53 1.31107 1.22449 +27 1.59 0.662181 1.34694 +28 1.65 0.922354 1.53061 +29 1.71 1.33586 1.81633 +30 1.77 0.979661 2.04082 +31 1.83 0.749847 2.22449 +32 1.89 0.937329 2.46939 +33 1.95 0.733783 2.67347 +34 2.01 1.17407 3.02041 +35 2.07 1.62795 3.53061 +36 2.13 0.984018 3.85714 +37 2.19 1.0472 4.22449 +38 2.25 1.32279 4.71429 +39 2.31 0.575195 4.93878 +40 2.37 0.794824 5.26531 +41 2.43 1.08684 5.73469 +42 2.49 0.945085 6.16327 +43 2.55 0.772402 6.53061 +44 2.61 0.860182 6.95918 +45 2.67 0.978521 7.46939 +46 2.73 1.34782 8.20408 +47 2.79 1.21878 8.89796 +48 2.85 0.755767 9.34694 +49 2.91 1.08739 10.0204 +50 2.97 0.948997 10.6327 +109050 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 1.07159 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 0.425111 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 0.322518 0.163265 +17 0.99 0.853865 0.22449 +18 1.05 0 0.22449 +19 1.11 1.13211 0.326531 +20 1.17 0.6114 0.387755 +21 1.23 0.922029 0.489796 +22 1.29 1.67654 0.693878 +23 1.35 0.918509 0.816327 +24 1.41 1.26302 1 +25 1.47 0.774689 1.12245 +26 1.53 1.07269 1.30612 +27 1.59 0.993271 1.4898 +28 1.65 0.717387 1.63265 +29 1.71 0.85877 1.81633 +30 1.77 0.979661 2.04082 +31 1.83 0.916479 2.26531 +32 1.89 1.24977 2.59184 +33 1.95 1.17405 2.91837 +34 2.01 0.897822 3.18367 +35 2.07 0.91165 3.46939 +36 2.13 1.16852 3.85714 +37 2.19 0.465421 4.02041 +38 2.25 0.881861 4.34694 +39 2.31 1.15039 4.79592 +40 2.37 1.14256 5.26531 +41 2.43 0.614299 5.53061 +42 2.49 0.990089 5.97959 +43 2.55 1.07278 6.4898 +44 2.61 0.983065 6.97959 +45 2.67 0.626254 7.30612 +46 2.73 0.823666 7.7551 +47 2.79 1.0037 8.32653 +48 2.85 0.927532 8.87755 +49 2.91 0.757875 9.34694 +50 2.97 0.88573 9.91837 +109100 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 3.51263 0.122449 +12 0.69 0 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 0.850222 0.183673 +15 0.87 0.737039 0.22449 +16 0.93 1.29007 0.306122 +17 0.99 0.853865 0.367347 +18 1.05 0.506063 0.408163 +19 1.11 0.679267 0.469388 +20 1.17 0.2038 0.489796 +21 1.23 0.922029 0.591837 +22 1.29 1.17358 0.734694 +23 1.35 1.07159 0.877551 +24 1.41 0.701677 0.979592 +25 1.47 0.516459 1.06122 +26 1.53 0.59594 1.16327 +27 1.59 1.10363 1.36735 +28 1.65 1.22981 1.61224 +29 1.71 1.33586 1.89796 +30 1.77 0.80154 2.08163 +31 1.83 1.08311 2.34694 +32 1.89 0.937329 2.59184 +33 1.95 1.10067 2.89796 +34 2.01 1.58845 3.36735 +35 2.07 0.91165 3.65306 +36 2.13 0.55351 3.83673 +37 2.19 1.0472 4.20408 +38 2.25 0.771629 4.4898 +39 2.31 0.575195 4.71429 +40 2.37 0.645795 4.97959 +41 2.43 1.03958 5.42857 +42 2.49 1.03509 5.89796 +43 2.55 0.643668 6.20408 +44 2.61 1.02403 6.71429 +45 2.67 1.09594 7.28571 +46 2.73 0.935984 7.79592 +47 2.79 1.03955 8.38776 +48 2.85 0.996238 8.97959 +49 2.91 0.724924 9.42857 +50 2.97 1.0439 10.102 +109150 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 1.70044 0.142857 +15 0.87 0.368519 0.163265 +16 0.93 0.967555 0.22449 +17 0.99 0.284622 0.244898 +18 1.05 1.51819 0.367347 +19 1.11 0.679267 0.428571 +20 1.17 0.8152 0.510204 +21 1.23 0.922029 0.612245 +22 1.29 0.670615 0.693878 +23 1.35 0.612339 0.77551 +24 1.41 0.701677 0.877551 +25 1.47 0.645574 0.979592 +26 1.53 0.715128 1.10204 +27 1.59 0.662181 1.22449 +28 1.65 0.922354 1.40816 +29 1.71 1.24045 1.67347 +30 1.77 0.53436 1.79592 +31 1.83 1.41638 2.14286 +32 1.89 0.937329 2.38776 +33 1.95 0.807161 2.61224 +34 2.01 1.38126 3.02041 +35 2.07 0.390707 3.14286 +36 2.13 0.984018 3.46939 +37 2.19 1.0472 3.83673 +38 2.25 1.04721 4.22449 +39 2.31 0.888938 4.57143 +40 2.37 0.794824 4.89796 +41 2.43 1.27585 5.44898 +42 2.49 0.585052 5.71429 +43 2.55 0.944046 6.16327 +44 2.61 0.901143 6.61224 +45 2.67 1.13508 7.20408 +46 2.73 0.935984 7.71429 +47 2.79 1.11124 8.34694 +48 2.85 0.927532 8.89796 +49 2.91 1.02148 9.53061 +50 2.97 0.822464 10.0612 +109200 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 1.17146 0.0816327 +13 0.75 1.98325 0.163265 +14 0.81 0 0.163265 +15 0.87 0.368519 0.183673 +16 0.93 0.967555 0.244898 +17 0.99 0.284622 0.265306 +18 1.05 0.506063 0.306122 +19 1.11 0.679267 0.367347 +20 1.17 0.4076 0.408163 +21 1.23 1.10644 0.530612 +22 1.29 0.670615 0.612245 +23 1.35 0.918509 0.734694 +24 1.41 1.40335 0.938776 +25 1.47 0.774689 1.06122 +26 1.53 0.357564 1.12245 +27 1.59 0.662181 1.2449 +28 1.65 1.22981 1.4898 +29 1.71 1.62212 1.83673 +30 1.77 0.71248 2 +31 1.83 0.916479 2.22449 +32 1.89 0.702997 2.40816 +33 1.95 1.10067 2.71429 +34 2.01 1.24314 3.08163 +35 2.07 0.651178 3.28571 +36 2.13 1.04552 3.63265 +37 2.19 1.10537 4.02041 +38 2.25 0.826745 4.32653 +39 2.31 0.941229 4.69388 +40 2.37 0.745148 5 +41 2.43 0.992329 5.42857 +42 2.49 0.765068 5.77551 +43 2.55 1.07278 6.28571 +44 2.61 0.77826 6.67347 +45 2.67 1.13508 7.26531 +46 2.73 1.08574 7.85714 +47 2.79 1.03955 8.44898 +48 2.85 0.996238 9.04082 +49 2.91 1.18624 9.77551 +50 2.97 0.790831 10.2857 +109250 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 1.07159 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 2.34293 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 0.425111 0.183673 +15 0.87 0.737039 0.22449 +16 0.93 0.645037 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 0.506063 0.346939 +19 1.11 0.452845 0.387755 +20 1.17 1.2228 0.510204 +21 1.23 0 0.510204 +22 1.29 1.00592 0.632653 +23 1.35 1.22468 0.795918 +24 1.41 0.701677 0.897959 +25 1.47 0.774689 1.02041 +26 1.53 0.953504 1.18367 +27 1.59 0.772544 1.32653 +28 1.65 0.717387 1.46939 +29 1.71 1.33586 1.7551 +30 1.77 0.80154 1.93878 +31 1.83 0.66653 2.10204 +32 1.89 1.17166 2.40816 +33 1.95 0.587026 2.57143 +34 2.01 0.897822 2.83673 +35 2.07 1.107 3.18367 +36 2.13 0.861016 3.46939 +37 2.19 1.10537 3.85714 +38 2.25 0.992094 4.22449 +39 2.31 1.04581 4.63265 +40 2.37 0.943854 5.02041 +41 2.43 1.18134 5.53061 +42 2.49 1.0801 6.02041 +43 2.55 1.02987 6.5102 +44 2.61 1.06499 7.04082 +45 2.67 1.01766 7.57143 +46 2.73 0.59903 7.89796 +47 2.79 0.967854 8.44898 +48 2.85 0.721414 8.87755 +49 2.91 1.31804 9.69388 +50 2.97 1.07553 10.3878 +109300 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0.585732 0.0612245 +13 0.75 2.47906 0.163265 +14 0.81 1.27533 0.22449 +15 0.87 1.8426 0.326531 +16 0.93 0.322518 0.346939 +17 0.99 0.853865 0.408163 +18 1.05 2.02425 0.571429 +19 1.11 0.452845 0.612245 +20 1.17 0.4076 0.653061 +21 1.23 0.184406 0.673469 +22 1.29 1.00592 0.795918 +23 1.35 0.459254 0.857143 +24 1.41 0.701677 0.959184 +25 1.47 1.42026 1.18367 +26 1.53 0.238376 1.22449 +27 1.59 0.882908 1.38776 +28 1.65 0.409935 1.46939 +29 1.71 0.954189 1.67347 +30 1.77 1.06872 1.91837 +31 1.83 0.916479 2.14286 +32 1.89 1.24977 2.46939 +33 1.95 0.807161 2.69388 +34 2.01 1.17407 3.04082 +35 2.07 1.23724 3.42857 +36 2.13 0.861016 3.71429 +37 2.19 1.16355 4.12245 +38 2.25 0.936978 4.46939 +39 2.31 0.627486 4.71429 +40 2.37 0.844501 5.06122 +41 2.43 0.897822 5.44898 +42 2.49 0.810072 5.81633 +43 2.55 1.24442 6.40816 +44 2.61 0.983065 6.89796 +45 2.67 1.13508 7.4898 +46 2.73 1.0483 8.06122 +47 2.79 0.896161 8.57143 +48 2.85 1.20236 9.28571 +49 2.91 1.38395 10.1429 +50 2.97 0.506132 10.4694 +109350 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.495812 0.0612245 +14 0.81 0.850222 0.102041 +15 0.87 0.737039 0.142857 +16 0.93 2.25763 0.285714 +17 0.99 1.13849 0.367347 +18 1.05 0.253031 0.387755 +19 1.11 0.90569 0.469388 +20 1.17 0.4076 0.510204 +21 1.23 0.368812 0.55102 +22 1.29 1.00592 0.673469 +23 1.35 0.765424 0.77551 +24 1.41 1.54369 1 +25 1.47 0.516459 1.08163 +26 1.53 1.19188 1.28571 +27 1.59 0.662181 1.40816 +28 1.65 0.819871 1.57143 +29 1.71 1.43128 1.87755 +30 1.77 0.979661 2.10204 +31 1.83 1.33306 2.42857 +32 1.89 1.01544 2.69388 +33 1.95 0.807161 2.91837 +34 2.01 0.897822 3.18367 +35 2.07 0.716296 3.40816 +36 2.13 0.615011 3.61224 +37 2.19 1.45444 4.12245 +38 2.25 1.15744 4.55102 +39 2.31 1.25497 5.04082 +40 2.37 1.24191 5.55102 +41 2.43 0.992329 5.97959 +42 2.49 0.810072 6.34694 +43 2.55 1.1586 6.89796 +44 2.61 0.942104 7.36735 +45 2.67 1.21337 8 +46 2.73 0.898544 8.4898 +47 2.79 0.752775 8.91837 +48 2.85 0.961885 9.4898 +49 2.91 0.988533 10.102 +50 2.97 0.601031 10.4898 +109400 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.14319 0.0408163 +10 0.57 0 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.495812 0.0816327 +14 0.81 1.70044 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 1.61259 0.306122 +17 0.99 0.284622 0.326531 +18 1.05 0 0.326531 +19 1.11 0.226422 0.346939 +20 1.17 1.4266 0.489796 +21 1.23 0.737623 0.571429 +22 1.29 1.17358 0.714286 +23 1.35 0.459254 0.77551 +24 1.41 1.40335 0.979592 +25 1.47 0.903804 1.12245 +26 1.53 0.715128 1.2449 +27 1.59 1.214 1.46939 +28 1.65 1.43477 1.7551 +29 1.71 1.43128 2.06122 +30 1.77 0.4453 2.16327 +31 1.83 0.999796 2.40816 +32 1.89 1.01544 2.67347 +33 1.95 0.807161 2.89796 +34 2.01 1.58845 3.36735 +35 2.07 0.781414 3.61224 +36 2.13 1.10702 3.97959 +37 2.19 0.814486 4.26531 +38 2.25 1.10233 4.67347 +39 2.31 1.04581 5.08163 +40 2.37 0.943854 5.46939 +41 2.43 0.850568 5.83673 +42 2.49 1.30512 6.42857 +43 2.55 1.37316 7.08163 +44 2.61 0.655377 7.40816 +45 2.67 0.93938 7.89796 +46 2.73 0.711348 8.28571 +47 2.79 1.14709 8.93878 +48 2.85 0.927532 9.4898 +49 2.91 1.05443 10.1429 +50 2.97 0.822464 10.6735 +109450 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0 0.0204082 +12 0.69 1.17146 0.0612245 +13 0.75 0 0.0612245 +14 0.81 0.425111 0.0816327 +15 0.87 1.10556 0.142857 +16 0.93 1.93511 0.265306 +17 0.99 0.569243 0.306122 +18 1.05 1.01213 0.387755 +19 1.11 0.679267 0.44898 +20 1.17 0.4076 0.489796 +21 1.23 1.10644 0.612245 +22 1.29 1.17358 0.755102 +23 1.35 0.918509 0.877551 +24 1.41 0.982348 1.02041 +25 1.47 1.03292 1.18367 +26 1.53 1.19188 1.38776 +27 1.59 0.441454 1.46939 +28 1.65 1.12732 1.69388 +29 1.71 1.14503 1.93878 +30 1.77 0.71248 2.10204 +31 1.83 1.41638 2.44898 +32 1.89 0.859219 2.67347 +33 1.95 0.660405 2.85714 +34 2.01 0.759695 3.08163 +35 2.07 0.976768 3.38776 +36 2.13 0.799515 3.65306 +37 2.19 0.814486 3.93878 +38 2.25 0.716512 4.20408 +39 2.31 1.0981 4.63265 +40 2.37 1.29159 5.16327 +41 2.43 1.08684 5.63265 +42 2.49 1.21511 6.18367 +43 2.55 0.858224 6.59184 +44 2.61 0.737299 6.95918 +45 2.67 1.09594 7.53061 +46 2.73 1.0483 8.10204 +47 2.79 1.11124 8.73469 +48 2.85 0.961885 9.30612 +49 2.91 1.02148 9.93878 +50 2.97 1.26533 10.7551 +109500 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 2.10758 0.0612245 +12 0.69 0 0.0612245 +13 0.75 1.48744 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 2.21112 0.285714 +16 0.93 0.967555 0.346939 +17 0.99 0.853865 0.408163 +18 1.05 1.01213 0.489796 +19 1.11 0.452845 0.530612 +20 1.17 1.019 0.632653 +21 1.23 1.47525 0.795918 +22 1.29 0.502961 0.857143 +23 1.35 0.612339 0.938776 +24 1.41 0.982348 1.08163 +25 1.47 0.645574 1.18367 +26 1.53 0.834316 1.32653 +27 1.59 0.882908 1.4898 +28 1.65 0.819871 1.65306 +29 1.71 0.85877 1.83673 +30 1.77 1.06872 2.08163 +31 1.83 0.499898 2.20408 +32 1.89 1.01544 2.46939 +33 1.95 0.953918 2.73469 +34 2.01 1.03595 3.04082 +35 2.07 0.91165 3.32653 +36 2.13 1.04552 3.67347 +37 2.19 1.33808 4.14286 +38 2.25 0.771629 4.42857 +39 2.31 1.04581 4.83673 +40 2.37 0.695471 5.12245 +41 2.43 0.992329 5.55102 +42 2.49 0.900081 5.95918 +43 2.55 1.07278 6.46939 +44 2.61 0.983065 6.95918 +45 2.67 1.01766 7.4898 +46 2.73 0.973423 8.02041 +47 2.79 0.824468 8.4898 +48 2.85 0.996238 9.08163 +49 2.91 0.92263 9.65306 +50 2.97 0.664298 10.0816 +109550 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.495812 0.102041 +14 0.81 1.27533 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 1.29007 0.285714 +17 0.99 1.99235 0.428571 +18 1.05 0.253031 0.44898 +19 1.11 1.13211 0.55102 +20 1.17 0.6114 0.612245 +21 1.23 1.29084 0.755102 +22 1.29 1.17358 0.897959 +23 1.35 0.612339 0.979592 +24 1.41 1.12268 1.14286 +25 1.47 1.16203 1.32653 +26 1.53 0.715128 1.44898 +27 1.59 0.993271 1.63265 +28 1.65 1.22981 1.87755 +29 1.71 0.954189 2.08163 +30 1.77 1.06872 2.32653 +31 1.83 0.66653 2.4898 +32 1.89 1.09355 2.77551 +33 1.95 0.293513 2.85714 +34 2.01 0.966885 3.14286 +35 2.07 1.04189 3.46939 +36 2.13 1.04552 3.81633 +37 2.19 1.62897 4.38776 +38 2.25 1.04721 4.77551 +39 2.31 0.732067 5.06122 +40 2.37 0.894177 5.42857 +41 2.43 1.13409 5.91837 +42 2.49 0.810072 6.28571 +43 2.55 1.20151 6.85714 +44 2.61 1.06499 7.38776 +45 2.67 0.93938 7.87755 +46 2.73 1.12318 8.4898 +47 2.79 1.18293 9.16327 +48 2.85 0.858826 9.67347 +49 2.91 0.988533 10.2857 +50 2.97 0.822464 10.8163 +109600 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 2.34293 0.122449 +13 0.75 0.495812 0.142857 +14 0.81 1.70044 0.22449 +15 0.87 1.47408 0.306122 +16 0.93 0.322518 0.326531 +17 0.99 0.853865 0.387755 +18 1.05 1.01213 0.469388 +19 1.11 0.452845 0.510204 +20 1.17 0.2038 0.530612 +21 1.23 0.368812 0.571429 +22 1.29 0.670615 0.653061 +23 1.35 1.07159 0.795918 +24 1.41 0.701677 0.897959 +25 1.47 1.54938 1.14286 +26 1.53 0.357564 1.20408 +27 1.59 0.993271 1.38776 +28 1.65 1.02484 1.59184 +29 1.71 0.667932 1.73469 +30 1.77 1.06872 1.97959 +31 1.83 0.999796 2.22449 +32 1.89 0.859219 2.44898 +33 1.95 0.953918 2.71429 +34 2.01 0.828758 2.95918 +35 2.07 1.04189 3.28571 +36 2.13 0.984018 3.61224 +37 2.19 1.16355 4.02041 +38 2.25 0.881861 4.34694 +39 2.31 0.732067 4.63265 +40 2.37 0.645795 4.89796 +41 2.43 1.37036 5.4898 +42 2.49 1.0801 5.97959 +43 2.55 1.28734 6.59184 +44 2.61 0.942104 7.06122 +45 2.67 1.09594 7.63265 +46 2.73 1.19806 8.28571 +47 2.79 0.932007 8.81633 +48 2.85 0.893179 9.34694 +49 2.91 1.12034 10.0408 +50 2.97 1.3286 10.898 +109650 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 0 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 1.48744 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 0.737039 0.163265 +16 0.93 0.645037 0.204082 +17 0.99 0.569243 0.244898 +18 1.05 1.01213 0.326531 +19 1.11 1.35853 0.44898 +20 1.17 1.4266 0.591837 +21 1.23 0.737623 0.673469 +22 1.29 1.00592 0.795918 +23 1.35 0.612339 0.877551 +24 1.41 0.701677 0.979592 +25 1.47 0.774689 1.10204 +26 1.53 1.31107 1.32653 +27 1.59 0.662181 1.44898 +28 1.65 0.922354 1.63265 +29 1.71 0.477094 1.73469 +30 1.77 1.24684 2.02041 +31 1.83 0.999796 2.26531 +32 1.89 0.702997 2.44898 +33 1.95 0.807161 2.67347 +34 2.01 0.759695 2.89796 +35 2.07 1.17212 3.26531 +36 2.13 0.861016 3.55102 +37 2.19 1.0472 3.91837 +38 2.25 0.992094 4.28571 +39 2.31 0.993519 4.67347 +40 2.37 0.844501 5.02041 +41 2.43 0.803314 5.36735 +42 2.49 1.1701 5.89796 +43 2.55 0.686579 6.22449 +44 2.61 0.737299 6.59184 +45 2.67 1.01766 7.12245 +46 2.73 1.31038 7.83673 +47 2.79 0.967854 8.38776 +48 2.85 0.961885 8.95918 +49 2.91 0.823777 9.46939 +50 2.97 1.2337 10.2653 +109700 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0.858066 0.0204082 +11 0.63 0.702525 0.0408163 +12 0.69 0 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 0.850222 0.122449 +15 0.87 1.10556 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 0.853865 0.265306 +18 1.05 1.26516 0.367347 +19 1.11 0.90569 0.44898 +20 1.17 0.6114 0.510204 +21 1.23 0.737623 0.591837 +22 1.29 0.670615 0.673469 +23 1.35 0.459254 0.734694 +24 1.41 0.842013 0.857143 +25 1.47 0.516459 0.938776 +26 1.53 0.59594 1.04082 +27 1.59 0.551817 1.14286 +28 1.65 1.22981 1.38776 +29 1.71 1.33586 1.67347 +30 1.77 1.15778 1.93878 +31 1.83 0.749847 2.12245 +32 1.89 0.781108 2.32653 +33 1.95 1.39419 2.71429 +34 2.01 0.828758 2.95918 +35 2.07 0.781414 3.20408 +36 2.13 1.04552 3.55102 +37 2.19 0.930841 3.87755 +38 2.25 0.60628 4.10204 +39 2.31 0.993519 4.4898 +40 2.37 0.695471 4.77551 +41 2.43 0.850568 5.14286 +42 2.49 1.1251 5.65306 +43 2.55 0.944046 6.10204 +44 2.61 0.983065 6.59184 +45 2.67 1.33079 7.28571 +46 2.73 1.27294 7.97959 +47 2.79 0.967854 8.53061 +48 2.85 0.996238 9.12245 +49 2.91 0.955581 9.71429 +50 2.97 0.98063 10.3469 +109750 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 1.40505 0.0816327 +12 0.69 1.17146 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 0 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 0.284622 0.265306 +18 1.05 0.759094 0.326531 +19 1.11 1.13211 0.428571 +20 1.17 0.8152 0.510204 +21 1.23 0.922029 0.612245 +22 1.29 0.502961 0.673469 +23 1.35 1.07159 0.816327 +24 1.41 0.421006 0.877551 +25 1.47 1.16203 1.06122 +26 1.53 0.59594 1.16327 +27 1.59 1.10363 1.36735 +28 1.65 0.819871 1.53061 +29 1.71 1.90838 1.93878 +30 1.77 1.15778 2.20408 +31 1.83 0.916479 2.42857 +32 1.89 0.702997 2.61224 +33 1.95 0.807161 2.83673 +34 2.01 1.03595 3.14286 +35 2.07 1.62795 3.65306 +36 2.13 1.04552 4 +37 2.19 0.639953 4.22449 +38 2.25 0.826745 4.53061 +39 2.31 1.0981 4.95918 +40 2.37 0.844501 5.30612 +41 2.43 0.897822 5.69388 +42 2.49 0.900081 6.10204 +43 2.55 1.02987 6.59184 +44 2.61 0.737299 6.95918 +45 2.67 0.93938 7.44898 +46 2.73 0.823666 7.89796 +47 2.79 1.36216 8.67347 +48 2.85 0.927532 9.22449 +49 2.91 1.02148 9.85714 +50 2.97 1.20206 10.6327 +109800 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 0 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0.858066 0.0408163 +11 0.63 0.702525 0.0612245 +12 0.69 1.7572 0.122449 +13 0.75 0.991624 0.163265 +14 0.81 0.850222 0.204082 +15 0.87 1.10556 0.265306 +16 0.93 1.29007 0.346939 +17 0.99 1.13849 0.428571 +18 1.05 0.759094 0.489796 +19 1.11 0.452845 0.530612 +20 1.17 0.6114 0.591837 +21 1.23 1.29084 0.734694 +22 1.29 0.670615 0.816327 +23 1.35 1.22468 0.979592 +24 1.41 0.701677 1.08163 +25 1.47 1.03292 1.2449 +26 1.53 1.07269 1.42857 +27 1.59 0.882908 1.59184 +28 1.65 1.02484 1.79592 +29 1.71 0.190838 1.83673 +30 1.77 0.62342 1.97959 +31 1.83 0.499898 2.10204 +32 1.89 1.32788 2.44898 +33 1.95 1.0273 2.73469 +34 2.01 0.966885 3.02041 +35 2.07 1.107 3.36735 +36 2.13 0.676513 3.59184 +37 2.19 1.39626 4.08163 +38 2.25 0.771629 4.36735 +39 2.31 0.575195 4.59184 +40 2.37 0.844501 4.93878 +41 2.43 0.945075 5.34694 +42 2.49 1.35012 5.95918 +43 2.55 1.07278 6.46939 +44 2.61 1.02403 6.97959 +45 2.67 1.21337 7.61224 +46 2.73 0.973423 8.14286 +47 2.79 0.896161 8.65306 +48 2.85 0.961885 9.22449 +49 2.91 0.889679 9.77551 +50 2.97 0.759197 10.2653 +109850 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 0 0 +10 0.57 0 0 +11 0.63 0.702525 0.0204082 +12 0.69 0.585732 0.0408163 +13 0.75 0.991624 0.0816327 +14 0.81 1.27533 0.142857 +15 0.87 0.737039 0.183673 +16 0.93 0.322518 0.204082 +17 0.99 1.13849 0.285714 +18 1.05 1.26516 0.387755 +19 1.11 0.90569 0.469388 +20 1.17 0.4076 0.510204 +21 1.23 1.84406 0.714286 +22 1.29 0.335308 0.755102 +23 1.35 0.765424 0.857143 +24 1.41 0.140335 0.877551 +25 1.47 0.903804 1.02041 +26 1.53 0.59594 1.12245 +27 1.59 1.32436 1.36735 +28 1.65 0.512419 1.46939 +29 1.71 0.477094 1.57143 +30 1.77 1.15778 1.83673 +31 1.83 1.08311 2.10204 +32 1.89 0.781108 2.30612 +33 1.95 0.880539 2.55102 +34 2.01 0.759695 2.77551 +35 2.07 1.17212 3.14286 +36 2.13 1.29152 3.57143 +37 2.19 0.756309 3.83673 +38 2.25 1.10233 4.2449 +39 2.31 1.15039 4.69388 +40 2.37 0.99353 5.10204 +41 2.43 1.2286 5.63265 +42 2.49 1.0801 6.12245 +43 2.55 1.07278 6.63265 +44 2.61 1.18787 7.22449 +45 2.67 0.508831 7.4898 +46 2.73 0.711348 7.87755 +47 2.79 0.967854 8.42857 +48 2.85 1.168 9.12245 +49 2.91 1.15329 9.83673 +50 2.97 1.0439 10.5102 +109900 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 1.37595 0.0204082 +9 0.51 0 0.0204082 +10 0.57 0 0.0204082 +11 0.63 1.40505 0.0612245 +12 0.69 0 0.0612245 +13 0.75 0.991624 0.102041 +14 0.81 0.425111 0.122449 +15 0.87 0.368519 0.142857 +16 0.93 0.322518 0.163265 +17 0.99 0.284622 0.183673 +18 1.05 1.51819 0.306122 +19 1.11 1.35853 0.428571 +20 1.17 1.019 0.530612 +21 1.23 0.368812 0.571429 +22 1.29 0.838269 0.673469 +23 1.35 0.612339 0.755102 +24 1.41 1.26302 0.938776 +25 1.47 1.03292 1.10204 +26 1.53 1.07269 1.28571 +27 1.59 0.993271 1.46939 +28 1.65 0.922354 1.65306 +29 1.71 0.381676 1.73469 +30 1.77 0.62342 1.87755 +31 1.83 0.916479 2.10204 +32 1.89 1.24977 2.42857 +33 1.95 0.807161 2.65306 +34 2.01 0.897822 2.91837 +35 2.07 1.30236 3.32653 +36 2.13 0.55351 3.5102 +37 2.19 0.989019 3.85714 +38 2.25 1.10233 4.26531 +39 2.31 0.836648 4.59184 +40 2.37 1.24191 5.10204 +41 2.43 1.2286 5.63265 +42 2.49 0.67506 5.93878 +43 2.55 0.944046 6.38776 +44 2.61 0.942104 6.85714 +45 2.67 1.01766 7.38776 +46 2.73 1.01086 7.93878 +47 2.79 1.07539 8.55102 +48 2.85 0.961885 9.12245 +49 2.91 1.28509 9.91837 +50 2.97 0.948997 10.5306 +109950 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 1.83099 0.0204082 +8 0.45 1.37595 0.0408163 +9 0.51 1.07159 0.0612245 +10 0.57 0 0.0612245 +11 0.63 0 0.0612245 +12 0.69 0.585732 0.0816327 +13 0.75 0.991624 0.122449 +14 0.81 0.850222 0.163265 +15 0.87 0.737039 0.204082 +16 0.93 0.645037 0.244898 +17 0.99 1.42311 0.346939 +18 1.05 1.26516 0.44898 +19 1.11 0.452845 0.489796 +20 1.17 1.6304 0.653061 +21 1.23 0.184406 0.673469 +22 1.29 0.838269 0.77551 +23 1.35 1.07159 0.918367 +24 1.41 1.54369 1.14286 +25 1.47 0.774689 1.26531 +26 1.53 0.59594 1.36735 +27 1.59 1.54509 1.65306 +28 1.65 1.33229 1.91837 +29 1.71 0.85877 2.10204 +30 1.77 0.890601 2.30612 +31 1.83 1.16643 2.59184 +32 1.89 0.937329 2.83673 +33 1.95 0.660405 3.02041 +34 2.01 0.828758 3.26531 +35 2.07 0.781414 3.5102 +36 2.13 1.35303 3.95918 +37 2.19 0.930841 4.28571 +38 2.25 0.716512 4.55102 +39 2.31 1.20268 5.02041 +40 2.37 1.24191 5.53061 +41 2.43 0.803314 5.87755 +42 2.49 0.990089 6.32653 +43 2.55 0.557846 6.59184 +44 2.61 0.983065 7.08163 +45 2.67 0.665394 7.42857 +46 2.73 0.823666 7.87755 +47 2.79 0.896161 8.38776 +48 2.85 0.996238 8.97959 +49 2.91 0.790826 9.46939 +50 2.97 1.17043 10.2245 +110000 50 +1 0.03 0 0 +2 0.09 0 0 +3 0.15 0 0 +4 0.21 0 0 +5 0.27 0 0 +6 0.33 0 0 +7 0.39 0 0 +8 0.45 0 0 +9 0.51 2.14319 0.0408163 +10 0.57 0.858066 0.0612245 +11 0.63 0 0.0612245 +12 0.69 1.17146 0.102041 +13 0.75 0.495812 0.122449 +14 0.81 1.27533 0.183673 +15 0.87 1.10556 0.244898 +16 0.93 0.645037 0.285714 +17 0.99 1.42311 0.387755 +18 1.05 0.759094 0.44898 +19 1.11 0.90569 0.530612 +20 1.17 0.4076 0.571429 +21 1.23 0.368812 0.612245 +22 1.29 0.670615 0.693878 +23 1.35 1.07159 0.836735 +24 1.41 0.561342 0.918367 +25 1.47 1.67849 1.18367 +26 1.53 0.834316 1.32653 +27 1.59 0.772544 1.46939 +28 1.65 1.43477 1.7551 +29 1.71 0.667932 1.89796 +30 1.77 0.80154 2.08163 +31 1.83 1.41638 2.42857 +32 1.89 0.937329 2.67347 +33 1.95 1.0273 2.95918 +34 2.01 1.03595 3.26531 +35 2.07 1.17212 3.63265 +36 2.13 0.676513 3.85714 +37 2.19 1.10537 4.2449 +38 2.25 0.992094 4.61224 +39 2.31 1.0981 5.04082 +40 2.37 0.645795 5.30612 +41 2.43 1.18134 5.81633 +42 2.49 1.1701 6.34694 +43 2.55 1.02987 6.83673 +44 2.61 1.18787 7.42857 +45 2.67 1.17423 8.04082 +46 2.73 0.748787 8.44898 +47 2.79 1.11124 9.08163 +48 2.85 0.893179 9.61224 +49 2.91 0.823777 10.1224 +50 2.97 1.1388 10.8571 diff --git a/examples/USER/misc/ti/in.ti_spring b/examples/USER/misc/ti/in.ti_spring index 2e853bc5c335a4b1727bdac6a6b186709f34e054..383d4b688c38dade9105795df43c158aec6fbff7 100644 --- a/examples/USER/misc/ti/in.ti_spring +++ b/examples/USER/misc/ti/in.ti_spring @@ -2,7 +2,7 @@ # # Description: nonequilibrium thermodynamic integration. Further details in: # R. Freitas, M. Asta, and M. de Koning, Computational Materials Science, (2016) -# http://dx.doi.org/10.1016/j.commatsci.2015.10.050 +# https://doi.org/10.1016/j.commatsci.2015.10.050 #--------------------------- System setup -------------------------------------# diff --git a/examples/USER/plumed/log.27Nov18.peptide-plumed.g++.1 b/examples/USER/plumed/log.4Feb20.peptide-plumed.g++.1 similarity index 82% rename from examples/USER/plumed/log.27Nov18.peptide-plumed.g++.1 rename to examples/USER/plumed/log.4Feb20.peptide-plumed.g++.1 index eb67b96fce88fb5ed0e6ee69738b33d6d11ace51..fb77bee0ccd6917f5cae694d2f9617f43f53fc68 100644 --- a/examples/USER/plumed/log.27Nov18.peptide-plumed.g++.1 +++ b/examples/USER/plumed/log.4Feb20.peptide-plumed.g++.1 @@ -1,5 +1,4 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task +LAMMPS (4 Feb 2020) # Solvated 5-mer peptide units real @@ -39,6 +38,8 @@ read_data data.peptide 7 = max # of 1-3 neighbors 14 = max # of 1-4 neighbors 18 = max # of special neighbors + special bonds CPU = 0.000809431 secs + read_data CPU = 0.0102327 secs neighbor 2.0 bin neigh_modify delay 5 @@ -66,6 +67,7 @@ fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31 6 = # of size 3 clusters 3 = # of size 4 clusters 640 = # of frozen angles + find clusters CPU = 0.000631809 secs #dump 1 colvar custom 1 dump.colvar.lammpstrj id xu yu zu fx fy fz #dump_modify 1 sort id @@ -77,13 +79,13 @@ variable pe equal pe run 101 PPPM initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:321) + using 12-bit tables for long-range coulomb (src/kspace.cpp:332) G vector (1/distance) = 0.268725 grid = 15 15 15 stencil order = 5 estimated absolute RMS force accuracy = 0.0228209 estimated relative force accuracy = 6.87243e-05 - using double precision FFTs + using double precision FFTW3 3d grid and FFT values/proc = 10648 3375 Neighbor list info ... update every 1 steps, delay 5 steps, check yes @@ -106,7 +108,7 @@ SHAKE stats (type/ave/delta) on step 0 14 0.96 0 18 0.957206 4.37979e-05 31 104.519 0.00396029 -Per MPI rank memory allocation (min/avg/max) = 18.74 | 18.74 | 18.74 Mbytes +Per MPI rank memory allocation (min/avg/max) = 19.07 | 19.07 | 19.07 Mbytes Step Temp TotEng PotEng KinEng E_pair E_bond f_2 0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 0 10 276.9783 -5234.3057 -6348.6171 1114.3114 -6421.6171 17.024361 0.47785504 @@ -129,22 +131,22 @@ SHAKE stats (type/ave/delta) on step 100 31 104.52 0.000760401 100 270.40648 -5234.9604 -6322.8327 1087.8723 -6417.73 19.666404 0.0094784372 101 270.99811 -5235.8295 -6326.082 1090.2525 -6418.8974 17.285816 0.086681332 -Loop time of 2.73445 on 1 procs for 101 steps with 2004 atoms +Loop time of 2.69839 on 1 procs for 101 steps with 2004 atoms -Performance: 6.383 ns/day, 3.760 hours/ns, 36.936 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 6.468 ns/day, 3.711 hours/ns, 37.430 timesteps/s +99.7% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.2617 | 2.2617 | 2.2617 | 0.0 | 82.71 -Bond | 0.0044148 | 0.0044148 | 0.0044148 | 0.0 | 0.16 -Kspace | 0.17883 | 0.17883 | 0.17883 | 0.0 | 6.54 -Neigh | 0.23945 | 0.23945 | 0.23945 | 0.0 | 8.76 -Comm | 0.011672 | 0.011672 | 0.011672 | 0.0 | 0.43 -Output | 0.00028348 | 0.00028348 | 0.00028348 | 0.0 | 0.01 -Modify | 0.0365 | 0.0365 | 0.0365 | 0.0 | 1.33 -Other | | 0.001611 | | | 0.06 +Pair | 2.2853 | 2.2853 | 2.2853 | 0.0 | 84.69 +Bond | 0.0065637 | 0.0065637 | 0.0065637 | 0.0 | 0.24 +Kspace | 0.14949 | 0.14949 | 0.14949 | 0.0 | 5.54 +Neigh | 0.1938 | 0.1938 | 0.1938 | 0.0 | 7.18 +Comm | 0.0096588 | 0.0096588 | 0.0096588 | 0.0 | 0.36 +Output | 0.00039172 | 0.00039172 | 0.00039172 | 0.0 | 0.01 +Modify | 0.050643 | 0.050643 | 0.050643 | 0.0 | 1.88 +Other | | 0.00258 | | | 0.10 Nlocal: 2004 ave 2004 max 2004 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/USER/plumed/log.27Nov18.peptide-plumed.g++.4 b/examples/USER/plumed/log.4Feb20.peptide-plumed.g++.4 similarity index 82% rename from examples/USER/plumed/log.27Nov18.peptide-plumed.g++.4 rename to examples/USER/plumed/log.4Feb20.peptide-plumed.g++.4 index 72b851c2ffd97012cbe2cdffa9ed28011584a83a..1bbbed6cd8e36f3819c62676fbcefd620ca8eb23 100644 --- a/examples/USER/plumed/log.27Nov18.peptide-plumed.g++.4 +++ b/examples/USER/plumed/log.4Feb20.peptide-plumed.g++.4 @@ -1,5 +1,4 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task +LAMMPS (4 Feb 2020) # Solvated 5-mer peptide units real @@ -39,6 +38,8 @@ read_data data.peptide 7 = max # of 1-3 neighbors 14 = max # of 1-4 neighbors 18 = max # of special neighbors + special bonds CPU = 0.00095129 secs + read_data CPU = 0.0199838 secs neighbor 2.0 bin neigh_modify delay 5 @@ -66,6 +67,7 @@ fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31 6 = # of size 3 clusters 3 = # of size 4 clusters 640 = # of frozen angles + find clusters CPU = 0.000829935 secs #dump 1 colvar custom 1 dump.colvar.lammpstrj id xu yu zu fx fy fz #dump_modify 1 sort id @@ -77,13 +79,13 @@ variable pe equal pe run 101 PPPM initialization ... - using 12-bit tables for long-range coulomb (src/kspace.cpp:321) + using 12-bit tables for long-range coulomb (src/kspace.cpp:332) G vector (1/distance) = 0.268725 grid = 15 15 15 stencil order = 5 estimated absolute RMS force accuracy = 0.0228209 estimated relative force accuracy = 6.87243e-05 - using double precision FFTs + using double precision FFTW3 3d grid and FFT values/proc = 4312 960 Neighbor list info ... update every 1 steps, delay 5 steps, check yes @@ -106,7 +108,7 @@ SHAKE stats (type/ave/delta) on step 0 14 0.96 0 18 0.957206 4.37979e-05 31 104.519 0.00396029 -Per MPI rank memory allocation (min/avg/max) = 15.66 | 15.87 | 16.06 Mbytes +Per MPI rank memory allocation (min/avg/max) = 16.02 | 16.23 | 16.42 Mbytes Step Temp TotEng PotEng KinEng E_pair E_bond f_2 0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 0 10 276.9783 -5234.3057 -6348.6171 1114.3114 -6421.6171 17.024361 0.47785504 @@ -129,22 +131,22 @@ SHAKE stats (type/ave/delta) on step 100 31 104.52 0.000760401 100 270.40648 -5234.9604 -6322.8327 1087.8723 -6417.73 19.666404 0.0094784372 101 270.99811 -5235.8295 -6326.082 1090.2525 -6418.8974 17.285816 0.086681332 -Loop time of 0.812799 on 4 procs for 101 steps with 2004 atoms +Loop time of 0.873215 on 4 procs for 101 steps with 2004 atoms -Performance: 21.472 ns/day, 1.118 hours/ns, 124.262 timesteps/s -97.5% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 19.987 ns/day, 1.201 hours/ns, 115.664 timesteps/s +92.5% CPU use with 4 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.57957 | 0.59988 | 0.62504 | 2.6 | 73.80 -Bond | 0.00080013 | 0.0017412 | 0.0028315 | 2.1 | 0.21 -Kspace | 0.075724 | 0.10008 | 0.12023 | 6.4 | 12.31 -Neigh | 0.067733 | 0.067947 | 0.068168 | 0.1 | 8.36 -Comm | 0.01375 | 0.014175 | 0.014681 | 0.3 | 1.74 -Output | 0.00025511 | 0.00051183 | 0.001277 | 0.0 | 0.06 -Modify | 0.026406 | 0.026436 | 0.026462 | 0.0 | 3.25 -Other | | 0.002027 | | | 0.25 +Pair | 0.58191 | 0.61681 | 0.66371 | 3.8 | 70.64 +Bond | 0.00099587 | 0.0023546 | 0.0041356 | 2.8 | 0.27 +Kspace | 0.096162 | 0.14486 | 0.18119 | 8.1 | 16.59 +Neigh | 0.059843 | 0.059864 | 0.059876 | 0.0 | 6.86 +Comm | 0.013623 | 0.01368 | 0.013723 | 0.0 | 1.57 +Output | 0.00031137 | 0.0010193 | 0.0024326 | 2.6 | 0.12 +Modify | 0.031552 | 0.031697 | 0.032087 | 0.1 | 3.63 +Other | | 0.002938 | | | 0.34 Nlocal: 501 ave 512 max 492 min Histogram: 1 0 0 1 0 1 0 0 0 1 diff --git a/examples/USER/plumed/reference/p.log b/examples/USER/plumed/reference/p.log index 79d0bbd84cb2289a2e8200191ecada8ffc081e77..13a63bdbf1c0d4104c7c50d91545fd4c86718edd 100644 --- a/examples/USER/plumed/reference/p.log +++ b/examples/USER/plumed/reference/p.log @@ -1,12 +1,12 @@ PLUMED: PLUMED is starting -PLUMED: Version: 2.4.2 (git: Unknown) compiled on Jul 11 2018 at 19:09:03 -PLUMED: Please cite this paper when using PLUMED [1] +PLUMED: Version: 2.6.0 (git: Unknown) compiled on Feb 13 2020 at 15:49:44 +PLUMED: Please cite these papers when using PLUMED [1][2] PLUMED: For further information see the PLUMED web page at http://www.plumed.org -PLUMED: Root: /Users/gareth/MD_code/lammps-permanent/lammps/lib/plumed/plumed2-2.4.2/ -PLUMED: For installed feature, see /Users/gareth/MD_code/lammps-permanent/lammps/lib/plumed/plumed2-2.4.2//src/config/config.txt +PLUMED: Root: /home/akohlmey/compile/lammps/build-gcc/plumed_build-prefix/lib/plumed +PLUMED: For installed feature, see /home/akohlmey/compile/lammps/build-gcc/plumed_build-prefix/lib/plumed/src/config/config.txt PLUMED: Molecular dynamics engine: LAMMPS PLUMED: Precision of reals: 8 -PLUMED: Running over 1 node +PLUMED: Running over 4 nodes PLUMED: Number of threads: 1 PLUMED: Cache line size: 512 PLUMED: Number of atoms: 2004 @@ -14,13 +14,13 @@ PLUMED: File suffix: PLUMED: FILE: plumed.dat PLUMED: Action UNITS PLUMED: with label @0 -PLUMED: length: A -PLUMED: energy: kcal/mol +PLUMED: length: A = 0.1 nm +PLUMED: energy: kcal/mol = 4.184 kj/mol PLUMED: time: ps PLUMED: charge: e PLUMED: mass: amu PLUMED: using physical units -PLUMED: inside PLUMED, Boltzmann constant is 0.001987 +PLUMED: inside PLUMED, Boltzmann constant is 0.0019872 PLUMED: Action DISTANCE PLUMED: with label dd PLUMED: between atoms 45 48 @@ -44,14 +44,15 @@ PLUMED: Timestep: 0.002000 PLUMED: KbT has not been set by the MD engine PLUMED: It should be set by hand where needed PLUMED: Relevant bibliography: -PLUMED: [1] Tribello, Bonomi, Branduardi, Camilloni, and Bussi, Comput. Phys. Commun. 185, 604 (2014) +PLUMED: [1] The PLUMED consortium, Nat. Methods 16, 670 (2019) +PLUMED: [2] Tribello, Bonomi, Branduardi, Camilloni, and Bussi, Comput. Phys. Commun. 185, 604 (2014) PLUMED: Please read and cite where appropriate! PLUMED: Finished setup -PLUMED: Cycles Total Average Minumum Maximum -PLUMED: 1 0.020354 0.020354 0.020354 0.020354 -PLUMED: 1 Prepare dependencies 102 0.000256 0.000003 0.000001 0.000006 -PLUMED: 2 Sharing data 102 0.010002 0.000098 0.000078 0.000546 -PLUMED: 3 Waiting for data 102 0.001398 0.000014 0.000011 0.000072 -PLUMED: 4 Calculating (forward loop) 102 0.001797 0.000018 0.000013 0.000058 -PLUMED: 5 Applying (backward loop) 102 0.002666 0.000026 0.000022 0.000062 -PLUMED: 6 Update 102 0.001126 0.000011 0.000007 0.000055 +PLUMED: Cycles Total Average Minimum Maximum +PLUMED: 1 0.010018 0.010018 0.010018 0.010018 +PLUMED: 1 Prepare dependencies 102 0.000241 0.000002 0.000001 0.000003 +PLUMED: 2 Sharing data 102 0.002132 0.000021 0.000006 0.000151 +PLUMED: 3 Waiting for data 102 0.001640 0.000016 0.000008 0.000067 +PLUMED: 4 Calculating (forward loop) 102 0.000825 0.000008 0.000005 0.000013 +PLUMED: 5 Applying (backward loop) 102 0.000522 0.000005 0.000002 0.000015 +PLUMED: 6 Update 102 0.001755 0.000017 0.000011 0.000067 diff --git a/examples/USER/qtb/methane_qbmsst/methane_qtb.mod b/examples/USER/qtb/methane_qbmsst/methane_qtb.mod index 181fb99d005e667411591e51b7a99426e2d671dc..65bfc5d7f757c8fc195025d72ae0a15562374fd6 100644 --- a/examples/USER/qtb/methane_qbmsst/methane_qtb.mod +++ b/examples/USER/qtb/methane_qbmsst/methane_qtb.mod @@ -48,7 +48,7 @@ neigh_modify every 10 delay 0 check no ## This part equilibrates liquid methane to a temperature of ${temperature}(unit temperatureture) with quantum nuclear effects -#Initilization +#Initialization velocity all create ${temperature} 93 dist gaussian sum no mom yes rot yes loop all #Setup output diff --git a/examples/USER/qtb/methane_qtb/methane_qtb.in b/examples/USER/qtb/methane_qtb/methane_qtb.in index f0ea94a22183d3d5bcc28c435037f8cc478e6475..e31f0695b9687a05c4d21a604bd9ccf15157c807 100644 --- a/examples/USER/qtb/methane_qtb/methane_qtb.in +++ b/examples/USER/qtb/methane_qtb/methane_qtb.in @@ -54,7 +54,7 @@ neigh_modify every 10 delay 0 check no ## This part equilibrates liquid methane to a temperature of ${temperature}(unit temperatureture) with quantum nuclear effects -#Initilization +#Initialization velocity all create ${temperature} 93 dist gaussian sum no mom yes rot yes loop all #Setup output diff --git a/examples/USER/quip/in.molecular b/examples/USER/quip/in.molecular index 4253399d7c7c517160b06061c500c1cd4e1a715c..08921ef865e249f603452ba33c94a6769f57c053 100644 --- a/examples/USER/quip/in.molecular +++ b/examples/USER/quip/in.molecular @@ -17,7 +17,7 @@ pair_style hybrid/overlay lj/cut 8.0 quip special_bonds lj/coul 0.999999999 0.999999999 0.999999999 # Intermolecular: OPLS (JACS 118 (45), p. 11225 (1996)) -# Coulomb interactions ommitted for simplicity +# Coulomb interactions omitted for simplicity pair_coeff 1 1 lj/cut 0.0028619844 3.5 # CT pair_coeff 2 2 lj/cut 0.0013009018 2.5 # HC pair_coeff 1 2 lj/cut 0.0019295487 2.95 diff --git a/examples/USER/quip/log.24Jul17.molecular.g++.1 b/examples/USER/quip/log.24Jul17.molecular.g++.1 index 28fc63579b8dfb43e02b2cd36152157c12afad0b..ca1b83c2681a790e2ca73e303bd0aed3e5aa0797 100644 --- a/examples/USER/quip/log.24Jul17.molecular.g++.1 +++ b/examples/USER/quip/log.24Jul17.molecular.g++.1 @@ -39,7 +39,7 @@ special_bonds lj/coul 0.999999999 0.999999999 0.999999999 4 = max # of special neighbors # Intermolecular: OPLS (JACS 118 (45), p. 11225 (1996)) -# Coulomb interactions ommitted for simplicity +# Coulomb interactions omitted for simplicity pair_coeff 1 1 lj/cut 0.0028619844 3.5 # CT pair_coeff 2 2 lj/cut 0.0013009018 2.5 # HC pair_coeff 1 2 lj/cut 0.0019295487 2.95 diff --git a/examples/USER/quip/log.24Jul17.molecular.g++.4 b/examples/USER/quip/log.24Jul17.molecular.g++.4 index a8be8e77bb4b2452eda764f00f5085d7209dbd53..2226e45bfb19b93a94c9200386e6403be844dc3f 100644 --- a/examples/USER/quip/log.24Jul17.molecular.g++.4 +++ b/examples/USER/quip/log.24Jul17.molecular.g++.4 @@ -39,7 +39,7 @@ special_bonds lj/coul 0.999999999 0.999999999 0.999999999 4 = max # of special neighbors # Intermolecular: OPLS (JACS 118 (45), p. 11225 (1996)) -# Coulomb interactions ommitted for simplicity +# Coulomb interactions omitted for simplicity pair_coeff 1 1 lj/cut 0.0028619844 3.5 # CT pair_coeff 2 2 lj/cut 0.0013009018 2.5 # HC pair_coeff 1 2 lj/cut 0.0019295487 2.95 diff --git a/examples/USER/misc/bond_react/nylon,6-6_melt/in.large_nylon_melt b/examples/USER/reaction/nylon,6-6_melt/in.large_nylon_melt similarity index 100% rename from examples/USER/misc/bond_react/nylon,6-6_melt/in.large_nylon_melt rename to examples/USER/reaction/nylon,6-6_melt/in.large_nylon_melt diff --git a/examples/USER/misc/bond_react/nylon,6-6_melt/large_nylon_melt.data.gz b/examples/USER/reaction/nylon,6-6_melt/large_nylon_melt.data.gz similarity index 100% rename from examples/USER/misc/bond_react/nylon,6-6_melt/large_nylon_melt.data.gz rename to examples/USER/reaction/nylon,6-6_melt/large_nylon_melt.data.gz diff --git a/examples/USER/misc/bond_react/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.1 b/examples/USER/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.1 similarity index 100% rename from examples/USER/misc/bond_react/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.1 rename to examples/USER/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.1 diff --git a/examples/USER/misc/bond_react/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.4 b/examples/USER/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.4 similarity index 100% rename from examples/USER/misc/bond_react/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.4 rename to examples/USER/reaction/nylon,6-6_melt/log.20Apr18.large_nylon_melt.g++.4 diff --git a/examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp1_map b/examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_map similarity index 100% rename from examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp1_map rename to examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_map diff --git a/examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp1_reacted.data_template b/examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_reacted.data_template similarity index 100% rename from examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp1_reacted.data_template rename to examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_reacted.data_template diff --git a/examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp1_unreacted.data_template b/examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_unreacted.data_template similarity index 100% rename from examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp1_unreacted.data_template rename to examples/USER/reaction/nylon,6-6_melt/rxn1_stp1_unreacted.data_template diff --git a/examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp2_map b/examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_map similarity index 100% rename from examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp2_map rename to examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_map diff --git a/examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp2_reacted.data_template b/examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_reacted.data_template similarity index 100% rename from examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp2_reacted.data_template rename to examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_reacted.data_template diff --git a/examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp2_unreacted.data_template b/examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_unreacted.data_template similarity index 100% rename from examples/USER/misc/bond_react/nylon,6-6_melt/rxn1_stp2_unreacted.data_template rename to examples/USER/reaction/nylon,6-6_melt/rxn1_stp2_unreacted.data_template diff --git a/examples/USER/reaction/tiny_epoxy/in.tiny_epoxy.stabilized b/examples/USER/reaction/tiny_epoxy/in.tiny_epoxy.stabilized new file mode 100644 index 0000000000000000000000000000000000000000..0e6e97cd468b27739855fd65148667c05d20878f --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/in.tiny_epoxy.stabilized @@ -0,0 +1,49 @@ +# two molecules DGEBA (diepoxy) and one DETA (linker) +# two crosslinking reactions + +units real + +boundary p p p + +atom_style full + +pair_style lj/class2 8 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +read_data tiny_epoxy.data + +velocity all create 300.0 4928459 dist gaussian + +molecule mol1 rxn1_stp1_pre.data_template +molecule mol2 rxn1_stp1_post.data_template +molecule mol3 rxn1_stp2_post.data_template +molecule mol4 rxn2_stp1_pre.data_template +molecule mol5 rxn2_stp1_post.data_template +molecule mol6 rxn2_stp2_post.data_template + +thermo 50 + +# dump 1 all xyz 1 test_vis.xyz + +fix rxns all bond/react stabilization yes statted_grp .03 & + react rxn1_stp1 all 1 0.0 5 mol1 mol2 rxn1_stp1.map & + react rxn1_stp2 all 1 0.0 5 mol2 mol3 rxn1_stp2.map & + react rxn2_stp1 all 1 0.0 5 mol4 mol5 rxn2_stp1.map & + react rxn2_stp2 all 1 0.0 5 mol5 mol6 rxn2_stp2.map + + +fix 1 statted_grp_REACT nvt temp 300 300 100 + +thermo_style custom step temp f_rxns[1] f_rxns[2] f_rxns[3] f_rxns[4] + +run 2000 + +# write_restart restart_longrun +# write_data restart_longrun.data nofix diff --git a/examples/USER/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.1 b/examples/USER/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..6ca03615136776310d93469d987a633714f6dac6 --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.1 @@ -0,0 +1,172 @@ +LAMMPS (20 Nov 2019) + +WARNING-WARNING-WARNING-WARNING-WARNING +This LAMMPS executable was compiled using C++98 compatibility. +Please report the compiler info below at https://github.com/lammps/lammps/issues/1659 +GNU C++ 4.8.5 +WARNING-WARNING-WARNING-WARNING-WARNING + +Reading data file ... + orthogonal box = (10 -10 -15) to (30 20 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 118 atoms + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + scanning dihedrals ... + 18 = max dihedrals/atom + scanning impropers ... + 4 = max impropers/atom + reading bonds ... + 123 bonds + reading angles ... + 221 angles + reading dihedrals ... + 302 dihedrals + reading impropers ... + 115 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 10 = max # of 1-3 neighbors + 19 = max # of 1-4 neighbors + 22 = max # of special neighbors + special bonds CPU = 0.000286808 secs + read_data CPU = 0.00724107 secs +Read molecule mol1: + 31 atoms with max type 10 + 30 bonds with max type 15 + 53 angles with max type 29 + 66 dihedrals with max type 39 + 31 impropers with max type 5 +Read molecule mol2: + 31 atoms with max type 10 + 30 bonds with max type 17 + 55 angles with max type 36 + 75 dihedrals with max type 51 + 34 impropers with max type 5 +Read molecule mol3: + 31 atoms with max type 11 + 30 bonds with max type 18 + 53 angles with max type 37 + 72 dihedrals with max type 53 + 31 impropers with max type 5 +Read molecule mol4: + 42 atoms with max type 11 + 41 bonds with max type 18 + 73 angles with max type 41 + 96 dihedrals with max type 54 + 43 impropers with max type 5 +Read molecule mol5: + 42 atoms with max type 11 + 41 bonds with max type 18 + 75 angles with max type 37 + 108 dihedrals with max type 53 + 46 impropers with max type 5 +Read molecule mol6: + 42 atoms with max type 11 + 41 bonds with max type 19 + 73 angles with max type 50 + 102 dihedrals with max type 66 + 43 impropers with max type 22 +dynamic group bond_react_MASTER_group defined +dynamic group statted_grp_REACT defined +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10 + ghost atom cutoff = 10 + binsize = 5, bins = 4 6 5 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair lj/class2, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix bond/react, occasional, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 17.28 | 17.28 | 17.28 Mbytes +Step Temp f_rxns[1] f_rxns[2] f_rxns[3] f_rxns[4] + 0 300 0 0 0 0 + 50 391.52956 1 0 0 0 + 100 475.26826 1 1 0 0 + 150 605.26215 1 1 1 0 + 200 545.7485 1 1 1 0 + 250 461.64929 1 1 1 1 + 300 452.10611 1 1 1 1 + 350 379.61671 1 1 1 1 + 400 331.22444 1 1 1 1 + 450 275.63969 1 1 1 1 + 500 316.63407 1 1 1 1 + 550 261.39841 1 1 1 1 + 600 313.70928 1 1 1 1 + 650 294.24011 1 1 1 1 + 700 285.81736 1 1 1 1 + 750 340.37496 1 1 1 1 + 800 333.2496 1 1 1 1 + 850 307.40826 1 1 1 1 + 900 304.68718 1 1 1 1 + 950 328.0289 1 1 1 1 + 1000 290.22808 1 1 1 1 + 1050 272.78518 1 1 1 1 + 1100 291.30546 1 1 1 1 + 1150 320.33992 1 1 1 1 + 1200 330.57057 1 1 1 1 + 1250 300.51008 1 1 1 1 + 1300 293.6209 1 1 1 1 + 1350 324.36604 1 1 1 1 + 1400 331.15408 1 1 1 1 + 1450 302.23396 1 1 1 1 + 1500 297.55562 1 1 1 1 + 1550 277.3187 1 1 1 1 + 1600 289.66052 1 1 1 1 + 1650 281.85404 1 1 1 1 + 1700 293.4999 1 1 1 1 + 1750 306.21866 1 1 1 1 + 1800 283.22696 1 1 1 1 + 1850 295.10473 1 1 1 1 + 1900 317.3843 1 1 1 1 + 1950 305.14825 1 1 1 1 + 2000 289.00911 1 1 1 1 +Loop time of 1.87066 on 1 procs for 2000 steps with 118 atoms + +Performance: 92.374 ns/day, 0.260 hours/ns, 1069.141 timesteps/s +98.4% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.12832 | 0.12832 | 0.12832 | 0.0 | 6.86 +Bond | 0.77458 | 0.77458 | 0.77458 | 0.0 | 41.41 +Neigh | 0.45068 | 0.45068 | 0.45068 | 0.0 | 24.09 +Comm | 0.029785 | 0.029785 | 0.029785 | 0.0 | 1.59 +Output | 0.31635 | 0.31635 | 0.31635 | 0.0 | 16.91 +Modify | 0.16657 | 0.16657 | 0.16657 | 0.0 | 8.90 +Other | | 0.004368 | | | 0.23 + +Nlocal: 118 ave 118 max 118 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 332 ave 332 max 332 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4338 ave 4338 max 4338 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4338 +Ave neighs/atom = 36.7627 +Ave special neighs/atom = 10.5763 +Neighbor list builds = 2000 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:02 diff --git a/examples/USER/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.4 b/examples/USER/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..4673ba3980fa6b4255a660cfaad1f84f41fb2228 --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/log.20Nov19.tiny_epoxy.stabilized.g++.4 @@ -0,0 +1,172 @@ +LAMMPS (20 Nov 2019) + +WARNING-WARNING-WARNING-WARNING-WARNING +This LAMMPS executable was compiled using C++98 compatibility. +Please report the compiler info below at https://github.com/lammps/lammps/issues/1659 +GNU C++ 4.8.5 +WARNING-WARNING-WARNING-WARNING-WARNING + +Reading data file ... + orthogonal box = (10 -10 -15) to (30 20 10) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 118 atoms + scanning bonds ... + 4 = max bonds/atom + scanning angles ... + 6 = max angles/atom + scanning dihedrals ... + 18 = max dihedrals/atom + scanning impropers ... + 4 = max impropers/atom + reading bonds ... + 123 bonds + reading angles ... + 221 angles + reading dihedrals ... + 302 dihedrals + reading impropers ... + 115 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 10 = max # of 1-3 neighbors + 19 = max # of 1-4 neighbors + 22 = max # of special neighbors + special bonds CPU = 0.000239905 secs + read_data CPU = 0.0080783 secs +Read molecule mol1: + 31 atoms with max type 10 + 30 bonds with max type 15 + 53 angles with max type 29 + 66 dihedrals with max type 39 + 31 impropers with max type 5 +Read molecule mol2: + 31 atoms with max type 10 + 30 bonds with max type 17 + 55 angles with max type 36 + 75 dihedrals with max type 51 + 34 impropers with max type 5 +Read molecule mol3: + 31 atoms with max type 11 + 30 bonds with max type 18 + 53 angles with max type 37 + 72 dihedrals with max type 53 + 31 impropers with max type 5 +Read molecule mol4: + 42 atoms with max type 11 + 41 bonds with max type 18 + 73 angles with max type 41 + 96 dihedrals with max type 54 + 43 impropers with max type 5 +Read molecule mol5: + 42 atoms with max type 11 + 41 bonds with max type 18 + 75 angles with max type 37 + 108 dihedrals with max type 53 + 46 impropers with max type 5 +Read molecule mol6: + 42 atoms with max type 11 + 41 bonds with max type 19 + 73 angles with max type 50 + 102 dihedrals with max type 66 + 43 impropers with max type 22 +dynamic group bond_react_MASTER_group defined +dynamic group statted_grp_REACT defined +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10 + ghost atom cutoff = 10 + binsize = 5, bins = 4 6 5 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair lj/class2, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix bond/react, occasional, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 16.26 | 16.45 | 16.63 Mbytes +Step Temp f_rxns[1] f_rxns[2] f_rxns[3] f_rxns[4] + 0 300 0 0 0 0 + 50 391.52956 1 0 0 0 + 100 475.26826 1 1 0 0 + 150 605.26215 1 1 1 0 + 200 545.7485 1 1 1 0 + 250 461.64929 1 1 1 1 + 300 452.10611 1 1 1 1 + 350 379.61671 1 1 1 1 + 400 331.22444 1 1 1 1 + 450 275.63969 1 1 1 1 + 500 316.63407 1 1 1 1 + 550 261.39841 1 1 1 1 + 600 313.70928 1 1 1 1 + 650 294.24011 1 1 1 1 + 700 285.81736 1 1 1 1 + 750 340.37496 1 1 1 1 + 800 333.2496 1 1 1 1 + 850 307.40826 1 1 1 1 + 900 304.68718 1 1 1 1 + 950 328.0289 1 1 1 1 + 1000 290.22808 1 1 1 1 + 1050 272.78518 1 1 1 1 + 1100 291.30546 1 1 1 1 + 1150 320.33992 1 1 1 1 + 1200 330.57057 1 1 1 1 + 1250 300.51008 1 1 1 1 + 1300 293.6209 1 1 1 1 + 1350 324.36604 1 1 1 1 + 1400 331.15408 1 1 1 1 + 1450 302.23396 1 1 1 1 + 1500 297.55562 1 1 1 1 + 1550 277.3187 1 1 1 1 + 1600 289.66052 1 1 1 1 + 1650 281.85404 1 1 1 1 + 1700 293.4999 1 1 1 1 + 1750 306.21866 1 1 1 1 + 1800 283.22695 1 1 1 1 + 1850 295.10472 1 1 1 1 + 1900 317.38431 1 1 1 1 + 1950 305.14824 1 1 1 1 + 2000 289.00909 1 1 1 1 +Loop time of 0.689125 on 4 procs for 2000 steps with 118 atoms + +Performance: 250.753 ns/day, 0.096 hours/ns, 2902.231 timesteps/s +100.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.02002 | 0.030617 | 0.053133 | 7.7 | 4.44 +Bond | 0.10356 | 0.18908 | 0.22691 | 11.6 | 27.44 +Neigh | 0.16721 | 0.17002 | 0.17247 | 0.5 | 24.67 +Comm | 0.057286 | 0.12002 | 0.21612 | 17.0 | 17.42 +Output | 0.00028991 | 0.00034121 | 0.00049323 | 0.0 | 0.05 +Modify | 0.17626 | 0.17675 | 0.17721 | 0.1 | 25.65 +Other | | 0.002287 | | | 0.33 + +Nlocal: 29.5 ave 41 max 18 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Nghost: 306 ave 349 max 269 min +Histogram: 1 1 0 0 0 0 1 0 0 1 +Neighs: 1084.5 ave 2154 max 397 min +Histogram: 1 0 1 1 0 0 0 0 0 1 + +Total # of neighbors = 4338 +Ave neighs/atom = 36.7627 +Ave special neighs/atom = 10.5763 +Neighbor list builds = 2000 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:01 diff --git a/examples/USER/reaction/tiny_epoxy/rxn1_stp1.map b/examples/USER/reaction/tiny_epoxy/rxn1_stp1.map new file mode 100644 index 0000000000000000000000000000000000000000..fb8720be634201bc991813a58434c518bc1456f7 --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/rxn1_stp1.map @@ -0,0 +1,47 @@ +this is a map file + +1 edgeIDs +31 equivalences + +BondingIDs + +15 +1 + +EdgeIDs + +5 + +Equivalences + +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +10 10 +11 11 +12 12 +13 13 +14 14 +15 15 +16 16 +17 17 +18 18 +19 19 +20 20 +21 21 +22 22 +23 23 +24 24 +25 25 +26 26 +27 27 +28 28 +29 29 +30 30 +31 31 diff --git a/examples/USER/reaction/tiny_epoxy/rxn1_stp1_post.data_template b/examples/USER/reaction/tiny_epoxy/rxn1_stp1_post.data_template new file mode 100644 index 0000000000000000000000000000000000000000..e5108834321f8075b631604e17935427d3116b20 --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/rxn1_stp1_post.data_template @@ -0,0 +1,315 @@ +rxn1_stp1_post + +31 atoms +30 bonds +55 angles +75 dihedrals +34 impropers + +Types + +1 1 +2 6 +3 1 +4 7 +5 4 +6 7 +7 8 +8 8 +9 8 +10 8 +11 8 +12 9 +13 1 +14 1 +15 9 +16 9 +17 1 +18 1 +19 10 +20 8 +21 8 +22 8 +23 8 +24 10 +25 10 +26 10 +27 10 +28 8 +29 8 +30 8 +31 8 + +Charges + +1 0.000000 +2 0.000000 +3 0.000000 +4 0.100000 +5 0.000000 +6 0.000000 +7 0.000000 +8 0.000000 +9 0.000000 +10 0.000000 +11 0.000000 +12 0.000000 +13 0.000000 +14 0.000000 +15 -0.025000 +16 -0.025000 +17 0.000000 +18 0.000000 +19 0.000000 +20 0.000000 +21 0.000000 +22 0.000000 +23 0.000000 +24 0.000000 +25 0.000000 +26 0.000000 +27 0.000000 +28 0.000000 +29 0.000000 +30 0.000000 +31 0.000000 + +Coords + +1 22.582573 10.988183 -5.014054 +2 23.904713 10.750493 -4.202215 +3 23.989172 9.487042 -3.323374 +4 24.067001 11.723383 -4.037435 +5 24.627851 7.325302 -3.319944 +6 24.554632 8.418972 -4.080365 +7 22.667763 11.445703 -5.999605 +8 21.787441 10.247643 -4.916974 +9 24.964962 10.712683 -4.449374 +10 24.616703 9.689913 -2.456034 +11 22.989313 9.208153 -2.991455 +12 18.808882 13.758042 -3.958724 +13 19.293213 12.549683 -3.196594 +14 20.810543 12.417832 -3.417504 +15 21.090193 12.251203 -4.891234 +16 17.657042 16.437199 -3.985224 +17 19.126713 16.210239 -4.245154 +18 19.589151 14.957593 -3.479565 +19 19.000433 13.609432 -5.041715 +20 18.761223 11.614392 -3.573184 +21 19.082903 12.688992 -2.085145 +22 21.202852 11.511562 -2.848624 +23 21.328482 13.360252 -3.038924 +24 19.949852 12.199403 -5.680355 +25 21.477343 13.247442 -5.445915 +26 17.080341 15.555528 -4.334374 +27 17.319832 17.341927 -4.532204 +28 19.720472 17.115158 -3.887564 +29 19.298622 16.058659 -5.361685 +30 19.410772 15.105113 -2.363724 +31 20.700163 14.782252 -3.666344 + +Bonds + +1 1 1 8 +2 16 1 2 +3 1 1 7 +4 13 1 15 +5 16 3 2 +6 12 2 9 +7 17 2 4 +8 3 3 6 +9 1 3 10 +10 1 3 11 +11 8 6 5 +12 13 13 12 +13 13 18 12 +14 14 12 19 +15 15 13 14 +16 1 13 20 +17 1 13 21 +18 13 14 15 +19 1 14 22 +20 1 14 23 +21 14 15 24 +22 14 15 25 +23 13 17 16 +24 14 16 26 +25 14 16 27 +26 15 17 18 +27 1 17 28 +28 1 17 29 +29 1 18 30 +30 1 18 31 + +Angles + +1 30 2 1 8 +2 2 8 1 7 +3 26 8 1 15 +4 30 2 1 7 +5 31 2 1 15 +6 26 7 1 15 +7 32 1 2 3 +8 33 1 2 9 +9 34 1 2 4 +10 33 3 2 9 +11 34 3 2 4 +12 35 4 2 9 +13 36 2 3 6 +14 30 2 3 10 +15 30 2 3 11 +16 3 6 3 10 +17 3 6 3 11 +18 2 10 3 11 +19 22 3 6 5 +20 23 13 12 18 +21 24 13 12 19 +22 24 18 12 19 +23 25 14 13 12 +24 26 20 13 12 +25 26 21 13 12 +26 27 14 13 20 +27 27 14 13 21 +28 2 20 13 21 +29 25 13 14 15 +30 27 13 14 22 +31 27 13 14 23 +32 26 22 14 15 +33 26 23 14 15 +34 2 22 14 23 +35 23 1 15 14 +36 24 1 15 24 +37 24 1 15 25 +38 24 14 15 24 +39 24 14 15 25 +40 28 24 15 25 +41 24 17 16 26 +42 24 17 16 27 +43 28 26 16 27 +44 25 18 17 16 +45 26 28 17 16 +46 26 29 17 16 +47 27 18 17 28 +48 27 18 17 29 +49 2 28 17 29 +50 25 17 18 12 +51 26 30 18 12 +52 26 31 18 12 +53 27 17 18 30 +54 27 17 18 31 +55 2 30 18 31 + +Dihedrals + +1 40 8 1 2 3 +2 41 8 1 2 9 +3 42 8 1 2 4 +4 40 7 1 2 3 +5 41 7 1 2 9 +6 42 7 1 2 4 +7 43 15 1 2 3 +8 44 15 1 2 9 +9 45 15 1 2 4 +10 28 8 1 15 14 +11 30 8 1 15 24 +12 30 8 1 15 25 +13 46 2 1 15 14 +14 47 2 1 15 24 +15 47 2 1 15 25 +16 28 7 1 15 14 +17 30 7 1 15 24 +18 30 7 1 15 25 +19 48 6 3 2 1 +20 40 10 3 2 1 +21 40 11 3 2 1 +22 49 6 3 2 9 +23 41 10 3 2 9 +24 41 11 3 2 9 +25 50 6 3 2 4 +26 42 10 3 2 4 +27 42 11 3 2 4 +28 51 2 3 6 5 +29 7 10 3 6 5 +30 7 11 3 6 5 +31 27 14 13 12 18 +32 28 20 13 12 18 +33 28 21 13 12 18 +34 29 14 13 12 19 +35 30 20 13 12 19 +36 30 21 13 12 19 +37 27 17 18 12 13 +38 28 30 18 12 13 +39 28 31 18 12 13 +40 29 17 18 12 19 +41 30 30 18 12 19 +42 30 31 18 12 19 +43 31 12 13 14 15 +44 32 22 14 13 12 +45 32 23 14 13 12 +46 32 20 13 14 15 +47 33 20 13 14 22 +48 33 20 13 14 23 +49 32 21 13 14 15 +50 33 21 13 14 22 +51 33 21 13 14 23 +52 27 13 14 15 1 +53 29 13 14 15 24 +54 29 13 14 15 25 +55 28 22 14 15 1 +56 30 22 14 15 24 +57 30 22 14 15 25 +58 28 23 14 15 1 +59 30 23 14 15 24 +60 30 23 14 15 25 +61 29 18 17 16 26 +62 30 28 17 16 26 +63 30 29 17 16 26 +64 29 18 17 16 27 +65 30 28 17 16 27 +66 30 29 17 16 27 +67 31 16 17 18 12 +68 32 30 18 17 16 +69 32 31 18 17 16 +70 32 28 17 18 12 +71 33 28 17 18 30 +72 33 28 17 18 31 +73 32 29 17 18 12 +74 33 29 17 18 30 +75 33 29 17 18 31 + +Impropers + +1 4 13 12 18 19 +2 5 17 16 26 27 +3 1 2 1 8 7 +4 1 2 1 8 15 +5 1 8 1 7 15 +6 1 2 1 7 15 +7 1 1 2 3 9 +8 1 1 2 3 4 +9 1 1 2 4 9 +10 1 3 2 4 9 +11 1 2 3 6 10 +12 1 2 3 6 11 +13 1 2 3 10 11 +14 1 6 3 10 11 +15 1 14 13 20 12 +16 1 14 13 21 12 +17 1 20 13 21 12 +18 1 14 13 20 21 +19 1 13 14 22 15 +20 1 13 14 23 15 +21 1 13 14 22 23 +22 1 22 14 23 15 +23 1 1 15 14 24 +24 1 1 15 14 25 +25 1 1 15 24 25 +26 1 14 15 24 25 +27 1 18 17 28 16 +28 1 18 17 29 16 +29 1 28 17 29 16 +30 1 18 17 28 29 +31 1 17 18 30 12 +32 1 17 18 31 12 +33 1 30 18 31 12 +34 1 17 18 30 31 diff --git a/examples/USER/reaction/tiny_epoxy/rxn1_stp1_pre.data_template b/examples/USER/reaction/tiny_epoxy/rxn1_stp1_pre.data_template new file mode 100644 index 0000000000000000000000000000000000000000..dd767a4cbafeb65cca75c60893ad367eaa333fa4 --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/rxn1_stp1_pre.data_template @@ -0,0 +1,301 @@ +rxn1_stp1_pre + +31 atoms +30 bonds +53 angles +66 dihedrals +31 impropers + +Types + +1 2 +2 2 +3 1 +4 3 +5 4 +6 7 +7 8 +8 8 +9 8 +10 8 +11 8 +12 9 +13 1 +14 1 +15 9 +16 9 +17 1 +18 1 +19 10 +20 8 +21 8 +22 8 +23 8 +24 10 +25 10 +26 10 +27 10 +28 8 +29 8 +30 8 +31 8 + +Charges + +1 0.000000 +2 0.000000 +3 0.000000 +4 0.100000 +5 0.000000 +6 0.000000 +7 0.000000 +8 0.000000 +9 0.000000 +10 0.000000 +11 0.000000 +12 0.000000 +13 0.000000 +14 0.000000 +15 -0.025000 +16 -0.025000 +17 0.000000 +18 0.000000 +19 0.000000 +20 0.000000 +21 0.000000 +22 0.000000 +23 0.000000 +24 0.000000 +25 0.000000 +26 0.000000 +27 0.000000 +28 0.000000 +29 0.000000 +30 0.000000 +31 0.000000 + +Coords + +1 19.846882 9.569666 -1.229588 +2 21.168802 9.331466 -0.418038 +3 21.253012 8.067936 0.460722 +4 20.170443 10.460656 0.020692 +5 21.891691 5.906196 0.464152 +6 21.818472 6.999866 -0.296268 +7 19.932211 10.027435 -2.215008 +8 19.051722 8.829116 -1.132808 +9 22.229073 9.293536 -0.665088 +10 21.880442 8.270676 1.328162 +11 20.253073 7.789126 0.792482 +12 16.072590 12.338870 -0.174330 +13 16.557261 11.130320 0.587290 +14 18.074570 10.998810 0.366080 +15 18.353970 10.832370 -1.107720 +16 14.920720 15.017820 -0.200530 +17 16.390430 14.791100 -0.460440 +18 16.852980 13.538320 0.304870 +19 16.263750 12.190560 -1.257430 +20 16.025360 10.195070 0.210470 +21 16.347120 11.269210 1.698830 +22 18.467180 10.092570 0.934800 +23 18.592390 11.941300 0.744640 +24 17.843861 9.919930 -1.479780 +25 19.448191 10.736480 -1.267520 +26 14.344120 14.136250 -0.550130 +27 14.583470 15.922760 -0.747140 +28 16.984060 15.696010 -0.102600 +29 16.562420 14.639820 -1.577000 +30 16.674820 13.685670 1.420760 +31 17.963949 13.362980 0.117850 + +Bonds + +1 6 1 8 +2 4 1 4 +3 5 1 2 +4 6 1 7 +5 4 2 4 +6 2 2 3 +7 6 2 9 +8 3 3 6 +9 1 3 10 +10 1 3 11 +11 8 5 6 +12 13 13 12 +13 13 18 12 +14 14 12 19 +15 15 13 14 +16 1 13 20 +17 1 13 21 +18 13 14 15 +19 1 14 22 +20 1 14 23 +21 14 15 24 +22 14 15 25 +23 13 17 16 +24 14 16 26 +25 14 16 27 +26 15 17 18 +27 1 17 28 +28 1 17 29 +29 1 18 30 +30 1 18 31 + +Angles + +1 9 4 1 8 +2 10 2 1 8 +3 11 8 1 7 +4 8 2 1 4 +5 9 4 1 7 +6 10 2 1 7 +7 8 1 2 4 +8 29 1 2 3 +9 10 1 2 9 +10 5 3 2 4 +11 9 4 2 9 +12 7 3 2 9 +13 4 2 3 6 +14 1 2 3 10 +15 1 2 3 11 +16 3 6 3 10 +17 3 6 3 11 +18 2 10 3 11 +19 12 1 4 2 +20 22 3 6 5 +21 23 13 12 18 +22 24 13 12 19 +23 24 18 12 19 +24 25 14 13 12 +25 26 20 13 12 +26 26 21 13 12 +27 27 14 13 20 +28 27 14 13 21 +29 2 20 13 21 +30 25 13 14 15 +31 27 13 14 22 +32 27 13 14 23 +33 26 22 14 15 +34 26 23 14 15 +35 2 22 14 23 +36 24 14 15 24 +37 24 14 15 25 +38 28 24 15 25 +39 24 17 16 26 +40 24 17 16 27 +41 28 26 16 27 +42 25 18 17 16 +43 26 28 17 16 +44 26 29 17 16 +45 27 18 17 28 +46 27 18 17 29 +47 2 28 17 29 +48 25 17 18 12 +49 26 30 18 12 +50 26 31 18 12 +51 27 17 18 30 +52 27 17 18 31 +53 2 30 18 31 + +Dihedrals + +1 10 8 1 4 2 +2 10 7 1 4 2 +3 13 4 2 1 8 +4 12 3 2 1 8 +5 14 8 1 2 9 +6 11 3 2 1 4 +7 13 4 1 2 9 +8 13 4 2 1 7 +9 12 3 2 1 7 +10 14 7 1 2 9 +11 9 3 2 4 1 +12 10 9 2 4 1 +13 34 1 2 3 6 +14 35 1 2 3 10 +15 35 1 2 3 11 +16 36 4 2 3 6 +17 37 4 2 3 10 +18 37 4 2 3 11 +19 38 9 2 3 6 +20 39 9 2 3 10 +21 39 9 2 3 11 +22 8 2 3 6 5 +23 7 10 3 6 5 +24 7 11 3 6 5 +25 27 14 13 12 18 +26 28 20 13 12 18 +27 28 21 13 12 18 +28 29 14 13 12 19 +29 30 20 13 12 19 +30 30 21 13 12 19 +31 27 17 18 12 13 +32 28 30 18 12 13 +33 28 31 18 12 13 +34 29 17 18 12 19 +35 30 30 18 12 19 +36 30 31 18 12 19 +37 31 12 13 14 15 +38 32 22 14 13 12 +39 32 23 14 13 12 +40 32 20 13 14 15 +41 33 20 13 14 22 +42 33 20 13 14 23 +43 32 21 13 14 15 +44 33 21 13 14 22 +45 33 21 13 14 23 +46 29 13 14 15 24 +47 29 13 14 15 25 +48 30 22 14 15 24 +49 30 22 14 15 25 +50 30 23 14 15 24 +51 30 23 14 15 25 +52 29 18 17 16 26 +53 30 28 17 16 26 +54 30 29 17 16 26 +55 29 18 17 16 27 +56 30 28 17 16 27 +57 30 29 17 16 27 +58 31 16 17 18 12 +59 32 30 18 17 16 +60 32 31 18 17 16 +61 32 28 17 18 12 +62 33 28 17 18 30 +63 33 28 17 18 31 +64 32 29 17 18 12 +65 33 29 17 18 30 +66 33 29 17 18 31 + +Impropers + +1 4 13 12 18 19 +2 5 14 15 24 25 +3 5 17 16 26 27 +4 1 2 1 4 8 +5 1 4 1 8 7 +6 1 2 1 8 7 +7 1 2 1 4 7 +8 1 1 2 3 4 +9 1 1 2 4 9 +10 1 1 2 3 9 +11 1 3 2 4 9 +12 1 2 3 6 10 +13 1 2 3 6 11 +14 1 2 3 10 11 +15 1 6 3 10 11 +16 1 14 13 20 12 +17 1 14 13 21 12 +18 1 20 13 21 12 +19 1 14 13 20 21 +20 1 13 14 22 15 +21 1 13 14 23 15 +22 1 13 14 22 23 +23 1 22 14 23 15 +24 1 18 17 28 16 +25 1 18 17 29 16 +26 1 28 17 29 16 +27 1 18 17 28 29 +28 1 17 18 30 12 +29 1 17 18 31 12 +30 1 30 18 31 12 +31 1 17 18 30 31 diff --git a/examples/USER/reaction/tiny_epoxy/rxn1_stp2.map b/examples/USER/reaction/tiny_epoxy/rxn1_stp2.map new file mode 100644 index 0000000000000000000000000000000000000000..9e39e57310238944b953a1c46fdb68fb58283f85 --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/rxn1_stp2.map @@ -0,0 +1,47 @@ +this is a map file + +1 edgeIDs +31 equivalences + +BondingIDs + +4 +25 + +EdgeIDs + +5 + +Equivalences + +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +10 10 +11 11 +12 12 +13 13 +14 14 +15 15 +16 16 +17 17 +18 18 +19 19 +20 20 +21 21 +22 22 +23 23 +24 24 +25 25 +26 26 +27 27 +28 28 +29 29 +30 30 +31 31 diff --git a/examples/USER/reaction/tiny_epoxy/rxn1_stp2_post.data_template b/examples/USER/reaction/tiny_epoxy/rxn1_stp2_post.data_template new file mode 100644 index 0000000000000000000000000000000000000000..cbb66a3151c5457886e05c5bb4f41821fad9d413 --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/rxn1_stp2_post.data_template @@ -0,0 +1,307 @@ +rxn1_stp2_post + +31 atoms +30 bonds +53 angles +72 dihedrals +31 impropers + +Types + +1 1 +2 6 +3 1 +4 7 +5 4 +6 7 +7 8 +8 8 +9 8 +10 8 +11 8 +12 9 +13 1 +14 1 +15 9 +16 9 +17 1 +18 1 +19 10 +20 8 +21 8 +22 8 +23 8 +24 10 +25 11 +26 10 +27 10 +28 8 +29 8 +30 8 +31 8 + +Charges + +1 0.000000 +2 0.000000 +3 0.000000 +4 0.100000 +5 0.000000 +6 0.000000 +7 0.000000 +8 0.000000 +9 0.000000 +10 0.000000 +11 0.000000 +12 0.000000 +13 0.000000 +14 0.000000 +15 -0.025000 +16 -0.025000 +17 0.000000 +18 0.000000 +19 0.000000 +20 0.000000 +21 0.000000 +22 0.000000 +23 0.000000 +24 0.000000 +25 0.000000 +26 0.000000 +27 0.000000 +28 0.000000 +29 0.000000 +30 0.000000 +31 0.000000 + +Coords + +1 19.846411 9.569080 -1.229960 +2 21.168550 9.331390 -0.418120 +3 21.253010 8.067940 0.460720 +4 21.330839 10.304280 -0.253340 +5 21.891689 5.906200 0.464150 +6 21.818470 6.999870 -0.296270 +7 19.931601 10.026600 -2.215510 +8 19.051279 8.828540 -1.132880 +9 22.228800 9.293580 -0.665280 +10 21.880541 8.270810 1.328060 +11 20.253151 7.789050 0.792640 +12 16.072720 12.338940 -0.174630 +13 16.557051 11.130580 0.587500 +14 18.074381 10.998730 0.366590 +15 18.354031 10.832100 -1.107140 +16 14.920880 15.018100 -0.201130 +17 16.390551 14.791140 -0.461060 +18 16.852989 13.538490 0.304530 +19 16.264271 12.190330 -1.257620 +20 16.025061 10.195290 0.210910 +21 16.346741 11.269890 1.698950 +22 18.466690 10.092460 0.935470 +23 18.592319 11.941150 0.745170 +24 17.213690 10.780300 -1.896260 +25 20.881861 11.302060 -0.773030 +26 14.344180 14.136430 -0.550280 +27 14.583670 15.922830 -0.748110 +28 16.984310 15.696060 -0.103470 +29 16.562460 14.639560 -1.577590 +30 16.674610 13.686010 1.420370 +31 17.964001 13.363150 0.117750 + +Bonds + +1 1 1 8 +2 16 1 2 +3 1 1 7 +4 13 1 15 +5 16 3 2 +6 12 2 9 +7 17 2 4 +8 3 3 6 +9 1 3 10 +10 1 3 11 +11 18 4 25 +12 8 6 5 +13 13 13 12 +14 13 18 12 +15 14 12 19 +16 15 13 14 +17 1 13 20 +18 1 13 21 +19 13 14 15 +20 1 14 22 +21 1 14 23 +22 14 15 24 +23 13 17 16 +24 14 16 26 +25 14 16 27 +26 15 17 18 +27 1 17 28 +28 1 17 29 +29 1 18 30 +30 1 18 31 + +Angles + +1 30 2 1 8 +2 2 8 1 7 +3 26 8 1 15 +4 30 2 1 7 +5 31 2 1 15 +6 26 7 1 15 +7 32 1 2 3 +8 33 1 2 9 +9 34 1 2 4 +10 33 3 2 9 +11 34 3 2 4 +12 35 4 2 9 +13 36 2 3 6 +14 30 2 3 10 +15 30 2 3 11 +16 3 6 3 10 +17 3 6 3 11 +18 2 10 3 11 +19 37 2 4 25 +20 22 3 6 5 +21 23 13 12 18 +22 24 13 12 19 +23 24 18 12 19 +24 25 14 13 12 +25 26 20 13 12 +26 26 21 13 12 +27 27 14 13 20 +28 27 14 13 21 +29 2 20 13 21 +30 25 13 14 15 +31 27 13 14 22 +32 27 13 14 23 +33 26 22 14 15 +34 26 23 14 15 +35 2 22 14 23 +36 23 1 15 14 +37 24 1 15 24 +38 24 14 15 24 +39 24 17 16 26 +40 24 17 16 27 +41 28 26 16 27 +42 25 18 17 16 +43 26 28 17 16 +44 26 29 17 16 +45 27 18 17 28 +46 27 18 17 29 +47 2 28 17 29 +48 25 17 18 12 +49 26 30 18 12 +50 26 31 18 12 +51 27 17 18 30 +52 27 17 18 31 +53 2 30 18 31 + +Dihedrals + +1 40 8 1 2 3 +2 41 8 1 2 9 +3 42 8 1 2 4 +4 40 7 1 2 3 +5 41 7 1 2 9 +6 42 7 1 2 4 +7 43 15 1 2 3 +8 44 15 1 2 9 +9 45 15 1 2 4 +10 28 8 1 15 14 +11 30 8 1 15 24 +12 46 2 1 15 14 +13 47 2 1 15 24 +14 28 7 1 15 14 +15 30 7 1 15 24 +16 48 6 3 2 1 +17 40 10 3 2 1 +18 40 11 3 2 1 +19 49 6 3 2 9 +20 41 10 3 2 9 +21 41 11 3 2 9 +22 50 6 3 2 4 +23 42 10 3 2 4 +24 42 11 3 2 4 +25 52 1 2 4 25 +26 52 3 2 4 25 +27 53 9 2 4 25 +28 51 2 3 6 5 +29 7 10 3 6 5 +30 7 11 3 6 5 +31 27 14 13 12 18 +32 28 20 13 12 18 +33 28 21 13 12 18 +34 29 14 13 12 19 +35 30 20 13 12 19 +36 30 21 13 12 19 +37 27 17 18 12 13 +38 28 30 18 12 13 +39 28 31 18 12 13 +40 29 17 18 12 19 +41 30 30 18 12 19 +42 30 31 18 12 19 +43 31 12 13 14 15 +44 32 22 14 13 12 +45 32 23 14 13 12 +46 32 20 13 14 15 +47 33 20 13 14 22 +48 33 20 13 14 23 +49 32 21 13 14 15 +50 33 21 13 14 22 +51 33 21 13 14 23 +52 27 13 14 15 1 +53 29 13 14 15 24 +54 28 22 14 15 1 +55 30 22 14 15 24 +56 28 23 14 15 1 +57 30 23 14 15 24 +58 29 18 17 16 26 +59 30 28 17 16 26 +60 30 29 17 16 26 +61 29 18 17 16 27 +62 30 28 17 16 27 +63 30 29 17 16 27 +64 31 16 17 18 12 +65 32 30 18 17 16 +66 32 31 18 17 16 +67 32 28 17 18 12 +68 33 28 17 18 30 +69 33 28 17 18 31 +70 32 29 17 18 12 +71 33 29 17 18 30 +72 33 29 17 18 31 + +Impropers + +1 4 13 12 18 19 +2 4 1 15 14 24 +3 5 17 16 26 27 +4 1 2 1 8 7 +5 1 2 1 8 15 +6 1 8 1 7 15 +7 1 2 1 7 15 +8 1 1 2 3 9 +9 1 1 2 3 4 +10 1 1 2 4 9 +11 1 3 2 4 9 +12 1 2 3 6 10 +13 1 2 3 6 11 +14 1 2 3 10 11 +15 1 6 3 10 11 +16 1 14 13 20 12 +17 1 14 13 21 12 +18 1 20 13 21 12 +19 1 14 13 20 21 +20 1 13 14 22 15 +21 1 13 14 23 15 +22 1 13 14 22 23 +23 1 22 14 23 15 +24 1 18 17 28 16 +25 1 18 17 29 16 +26 1 28 17 29 16 +27 1 18 17 28 29 +28 1 17 18 30 12 +29 1 17 18 31 12 +30 1 30 18 31 12 +31 1 17 18 30 31 diff --git a/examples/USER/reaction/tiny_epoxy/rxn2_stp1.map b/examples/USER/reaction/tiny_epoxy/rxn2_stp1.map new file mode 100644 index 0000000000000000000000000000000000000000..cbe2a44f368c684885c9d51ab542935277e847c0 --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/rxn2_stp1.map @@ -0,0 +1,59 @@ +this is a map file + +2 edgeIDs +42 equivalences + +BondingIDs + +15 +32 + +EdgeIDs + +5 +36 + +Equivalences + +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +10 10 +11 11 +12 12 +13 13 +14 14 +15 15 +16 16 +17 17 +18 18 +19 19 +20 20 +21 21 +22 22 +23 23 +24 24 +25 25 +26 26 +27 27 +28 28 +29 29 +30 30 +31 31 +32 32 +33 33 +34 34 +35 35 +36 36 +37 37 +38 38 +39 39 +40 40 +41 41 +42 42 diff --git a/examples/USER/reaction/tiny_epoxy/rxn2_stp1_post.data_template b/examples/USER/reaction/tiny_epoxy/rxn2_stp1_post.data_template new file mode 100644 index 0000000000000000000000000000000000000000..0600abdc0c6d2f48726b7305030220efa79275df --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/rxn2_stp1_post.data_template @@ -0,0 +1,424 @@ +rxn2_stp1_post + +42 atoms +41 bonds +75 angles +108 dihedrals +46 impropers + +Types + +1 1 +2 6 +3 1 +4 7 +5 4 +6 7 +7 8 +8 8 +9 8 +10 8 +11 8 +12 9 +13 1 +14 1 +15 9 +16 9 +17 1 +18 1 +19 10 +20 8 +21 8 +22 8 +23 8 +24 10 +25 11 +26 10 +27 10 +28 8 +29 8 +30 8 +31 8 +32 1 +33 6 +34 1 +35 7 +36 4 +37 7 +38 8 +39 8 +40 8 +41 8 +42 8 + +Charges + +1 0.000000 +2 0.000000 +3 0.000000 +4 0.100000 +5 0.000000 +6 0.000000 +7 0.000000 +8 0.000000 +9 0.000000 +10 0.000000 +11 0.000000 +12 0.000000 +13 0.000000 +14 0.000000 +15 -0.025000 +16 -0.025000 +17 0.000000 +18 0.000000 +19 0.000000 +20 0.000000 +21 0.000000 +22 0.000000 +23 0.000000 +24 0.000000 +25 0.000000 +26 0.000000 +27 0.000000 +28 0.000000 +29 0.000000 +30 0.000000 +31 0.000000 +32 0.000000 +33 0.000000 +34 0.000000 +35 0.100000 +36 0.000000 +37 0.000000 +38 0.000000 +39 0.000000 +40 0.000000 +41 0.000000 +42 0.000000 + +Coords + +1 19.846411 9.569080 -1.229960 +2 21.168550 9.331390 -0.418120 +3 21.253010 8.067940 0.460720 +4 21.330839 10.304280 -0.253340 +5 21.891689 5.906200 0.464150 +6 21.818470 6.999870 -0.296270 +7 19.931601 10.026600 -2.215510 +8 19.051279 8.828540 -1.132880 +9 22.228800 9.293580 -0.665280 +10 21.880541 8.270810 1.328060 +11 20.253151 7.789050 0.792640 +12 16.072720 12.338940 -0.174630 +13 16.557051 11.130580 0.587500 +14 18.074381 10.998730 0.366590 +15 18.354031 10.832100 -1.107140 +16 14.920880 15.018100 -0.201130 +17 16.390551 14.791140 -0.461060 +18 16.852989 13.538490 0.304530 +19 16.264271 12.190330 -1.257620 +20 16.025061 10.195290 0.210910 +21 16.346741 11.269890 1.698950 +22 18.466690 10.092460 0.935470 +23 18.592319 11.941150 0.745170 +24 17.213690 10.780300 -1.896260 +25 20.881861 11.302060 -0.773030 +26 14.344180 14.136430 -0.550280 +27 14.583670 15.922830 -0.748110 +28 16.984310 15.696060 -0.103470 +29 16.562460 14.639560 -1.577590 +30 16.674610 13.686010 1.420370 +31 17.964001 13.363150 0.117750 +32 18.680189 9.134390 -4.183100 +33 18.099751 8.263650 -5.343000 +34 19.081829 7.609610 -6.334180 +35 17.971729 9.827680 -5.367080 +36 20.263880 5.733600 -6.736780 +37 19.414030 6.299980 -5.878960 +38 18.194740 9.091640 -3.210950 +39 19.788940 9.208560 -4.119640 +40 17.399309 7.432220 -5.407800 +41 18.616249 7.545570 -7.316910 +42 19.987049 8.212500 -6.399400 + +Bonds + +1 1 1 8 +2 16 1 2 +3 1 1 7 +4 13 1 15 +5 16 3 2 +6 12 2 9 +7 17 2 4 +8 3 3 6 +9 1 3 10 +10 1 3 11 +11 18 4 25 +12 8 6 5 +13 13 13 12 +14 13 18 12 +15 14 12 19 +16 15 13 14 +17 1 13 20 +18 1 13 21 +19 13 14 15 +20 1 14 22 +21 1 14 23 +22 14 15 24 +23 13 32 15 +24 13 17 16 +25 14 16 26 +26 14 16 27 +27 15 17 18 +28 1 17 28 +29 1 17 29 +30 1 18 30 +31 1 18 31 +32 1 32 39 +33 16 32 33 +34 1 32 38 +35 17 33 35 +36 16 34 33 +37 12 33 40 +38 3 34 37 +39 1 34 41 +40 1 34 42 +41 8 37 36 + +Angles + +1 30 2 1 8 +2 2 8 1 7 +3 26 8 1 15 +4 30 2 1 7 +5 31 2 1 15 +6 26 7 1 15 +7 32 1 2 3 +8 33 1 2 9 +9 34 1 2 4 +10 33 3 2 9 +11 34 3 2 4 +12 35 4 2 9 +13 36 2 3 6 +14 30 2 3 10 +15 30 2 3 11 +16 3 6 3 10 +17 3 6 3 11 +18 2 10 3 11 +19 37 2 4 25 +20 22 3 6 5 +21 23 13 12 18 +22 24 13 12 19 +23 24 18 12 19 +24 25 14 13 12 +25 26 20 13 12 +26 26 21 13 12 +27 27 14 13 20 +28 27 14 13 21 +29 2 20 13 21 +30 25 13 14 15 +31 27 13 14 22 +32 27 13 14 23 +33 26 22 14 15 +34 26 23 14 15 +35 2 22 14 23 +36 23 1 15 14 +37 24 1 15 24 +38 23 1 15 32 +39 24 14 15 24 +40 23 14 15 32 +41 24 32 15 24 +42 24 17 16 26 +43 24 17 16 27 +44 28 26 16 27 +45 25 18 17 16 +46 26 28 17 16 +47 26 29 17 16 +48 27 18 17 28 +49 27 18 17 29 +50 2 28 17 29 +51 25 17 18 12 +52 26 30 18 12 +53 26 31 18 12 +54 27 17 18 30 +55 27 17 18 31 +56 2 30 18 31 +57 26 39 32 15 +58 31 33 32 15 +59 26 38 32 15 +60 30 33 32 39 +61 2 39 32 38 +62 30 33 32 38 +63 34 32 33 35 +64 32 32 33 34 +65 33 32 33 40 +66 34 34 33 35 +67 35 35 33 40 +68 33 34 33 40 +69 36 33 34 37 +70 30 33 34 41 +71 30 33 34 42 +72 3 37 34 41 +73 3 37 34 42 +74 2 41 34 42 +75 22 34 37 36 + +Dihedrals + +1 40 8 1 2 3 +2 41 8 1 2 9 +3 42 8 1 2 4 +4 40 7 1 2 3 +5 41 7 1 2 9 +6 42 7 1 2 4 +7 43 15 1 2 3 +8 44 15 1 2 9 +9 45 15 1 2 4 +10 28 8 1 15 14 +11 30 8 1 15 24 +12 28 8 1 15 32 +13 46 2 1 15 14 +14 47 2 1 15 24 +15 46 2 1 15 32 +16 28 7 1 15 14 +17 30 7 1 15 24 +18 28 7 1 15 32 +19 48 6 3 2 1 +20 40 10 3 2 1 +21 40 11 3 2 1 +22 49 6 3 2 9 +23 41 10 3 2 9 +24 41 11 3 2 9 +25 50 6 3 2 4 +26 42 10 3 2 4 +27 42 11 3 2 4 +28 52 1 2 4 25 +29 52 3 2 4 25 +30 53 9 2 4 25 +31 51 2 3 6 5 +32 7 10 3 6 5 +33 7 11 3 6 5 +34 27 14 13 12 18 +35 28 20 13 12 18 +36 28 21 13 12 18 +37 29 14 13 12 19 +38 30 20 13 12 19 +39 30 21 13 12 19 +40 27 17 18 12 13 +41 28 30 18 12 13 +42 28 31 18 12 13 +43 29 17 18 12 19 +44 30 30 18 12 19 +45 30 31 18 12 19 +46 31 12 13 14 15 +47 32 22 14 13 12 +48 32 23 14 13 12 +49 32 20 13 14 15 +50 33 20 13 14 22 +51 33 20 13 14 23 +52 32 21 13 14 15 +53 33 21 13 14 22 +54 33 21 13 14 23 +55 27 13 14 15 1 +56 29 13 14 15 24 +57 27 13 14 15 32 +58 28 22 14 15 1 +59 30 22 14 15 24 +60 28 22 14 15 32 +61 28 23 14 15 1 +62 30 23 14 15 24 +63 28 23 14 15 32 +64 28 39 32 15 1 +65 46 33 32 15 1 +66 28 38 32 15 1 +67 28 39 32 15 14 +68 46 33 32 15 14 +69 28 38 32 15 14 +70 30 39 32 15 24 +71 47 33 32 15 24 +72 30 38 32 15 24 +73 29 18 17 16 26 +74 30 28 17 16 26 +75 30 29 17 16 26 +76 29 18 17 16 27 +77 30 28 17 16 27 +78 30 29 17 16 27 +79 31 16 17 18 12 +80 32 30 18 17 16 +81 32 31 18 17 16 +82 32 28 17 18 12 +83 33 28 17 18 30 +84 33 28 17 18 31 +85 32 29 17 18 12 +86 33 29 17 18 30 +87 33 29 17 18 31 +88 45 15 32 33 35 +89 43 15 32 33 34 +90 44 15 32 33 40 +91 42 39 32 33 35 +92 40 39 32 33 34 +93 41 39 32 33 40 +94 42 38 32 33 35 +95 40 38 32 33 34 +96 41 38 32 33 40 +97 48 37 34 33 32 +98 40 41 34 33 32 +99 40 42 34 33 32 +100 50 37 34 33 35 +101 42 41 34 33 35 +102 42 42 34 33 35 +103 49 37 34 33 40 +104 41 41 34 33 40 +105 41 42 34 33 40 +106 51 33 34 37 36 +107 7 41 34 37 36 +108 7 42 34 37 36 + +Impropers + +1 4 13 12 18 19 +2 5 17 16 26 27 +3 1 2 1 8 7 +4 1 2 1 8 15 +5 1 8 1 7 15 +6 1 2 1 7 15 +7 1 1 2 3 9 +8 1 1 2 3 4 +9 1 1 2 4 9 +10 1 3 2 4 9 +11 1 2 3 6 10 +12 1 2 3 6 11 +13 1 2 3 10 11 +14 1 6 3 10 11 +15 1 14 13 20 12 +16 1 14 13 21 12 +17 1 20 13 21 12 +18 1 14 13 20 21 +19 1 13 14 22 15 +20 1 13 14 23 15 +21 1 13 14 22 23 +22 1 22 14 23 15 +23 1 1 15 14 24 +24 1 1 15 14 32 +25 1 1 15 32 24 +26 1 14 15 32 24 +27 1 18 17 28 16 +28 1 18 17 29 16 +29 1 28 17 29 16 +30 1 18 17 28 29 +31 1 17 18 30 12 +32 1 17 18 31 12 +33 1 30 18 31 12 +34 1 17 18 30 31 +35 1 33 32 39 15 +36 1 39 32 38 15 +37 1 33 32 38 15 +38 1 33 32 39 38 +39 1 32 33 34 35 +40 1 32 33 35 40 +41 1 32 33 34 40 +42 1 34 33 35 40 +43 1 33 34 37 41 +44 1 33 34 37 42 +45 1 33 34 41 42 +46 1 37 34 41 42 diff --git a/examples/USER/reaction/tiny_epoxy/rxn2_stp1_pre.data_template b/examples/USER/reaction/tiny_epoxy/rxn2_stp1_pre.data_template new file mode 100644 index 0000000000000000000000000000000000000000..9ee4ffb2de6672c2be84ee664a65cb1c50ca525d --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/rxn2_stp1_pre.data_template @@ -0,0 +1,407 @@ +rxn2_stp1_pre + +42 atoms +41 bonds +73 angles +96 dihedrals +43 impropers + +Types + +1 1 +2 6 +3 1 +4 7 +5 4 +6 7 +7 8 +8 8 +9 8 +10 8 +11 8 +12 9 +13 1 +14 1 +15 9 +16 9 +17 1 +18 1 +19 10 +20 8 +21 8 +22 8 +23 8 +24 10 +25 11 +26 10 +27 10 +28 8 +29 8 +30 8 +31 8 +32 2 +33 2 +34 1 +35 3 +36 4 +37 7 +38 8 +39 8 +40 8 +41 8 +42 8 + +Charges + +1 0.000000 +2 0.000000 +3 0.000000 +4 0.100000 +5 0.000000 +6 0.000000 +7 0.000000 +8 0.000000 +9 0.000000 +10 0.000000 +11 0.000000 +12 0.000000 +13 0.000000 +14 0.000000 +15 -0.025000 +16 -0.025000 +17 0.000000 +18 0.000000 +19 0.000000 +20 0.000000 +21 0.000000 +22 0.000000 +23 0.000000 +24 0.000000 +25 0.000000 +26 0.000000 +27 0.000000 +28 0.000000 +29 0.000000 +30 0.000000 +31 0.000000 +32 0.000000 +33 0.000000 +34 0.000000 +35 0.100000 +36 0.000000 +37 0.000000 +38 0.000000 +39 0.000000 +40 0.000000 +41 0.000000 +42 0.000000 + +Coords + +1 19.846411 9.569080 -1.229960 +2 21.168550 9.331390 -0.418120 +3 21.253010 8.067940 0.460720 +4 21.330839 10.304280 -0.253340 +5 21.891689 5.906200 0.464150 +6 21.818470 6.999870 -0.296270 +7 19.931601 10.026600 -2.215510 +8 19.051279 8.828540 -1.132880 +9 22.228800 9.293580 -0.665280 +10 21.880541 8.270810 1.328060 +11 20.253151 7.789050 0.792640 +12 16.072720 12.338940 -0.174630 +13 16.557051 11.130580 0.587500 +14 18.074381 10.998730 0.366590 +15 18.354031 10.832100 -1.107140 +16 14.920880 15.018100 -0.201130 +17 16.390551 14.791140 -0.461060 +18 16.852989 13.538490 0.304530 +19 16.264271 12.190330 -1.257620 +20 16.025061 10.195290 0.210910 +21 16.346741 11.269890 1.698950 +22 18.466690 10.092460 0.935470 +23 18.592319 11.941150 0.745170 +24 17.213690 10.780300 -1.896260 +25 20.881861 11.302060 -0.773030 +26 14.344180 14.136430 -0.550280 +27 14.583670 15.922830 -0.748110 +28 16.984310 15.696060 -0.103470 +29 16.562460 14.639560 -1.577590 +30 16.674610 13.686010 1.420370 +31 17.964001 13.363150 0.117750 +32 18.703360 9.118830 -4.174240 +33 18.099751 8.263650 -5.343000 +34 19.081829 7.609610 -6.334180 +35 17.971729 9.827680 -5.367080 +36 20.263880 5.733600 -6.736780 +37 19.414030 6.299980 -5.878960 +38 18.194740 9.091640 -3.210950 +39 19.788940 9.208560 -4.119640 +40 17.399309 7.432220 -5.407800 +41 18.616249 7.545570 -7.316910 +42 19.987049 8.212500 -6.399400 + +Bonds + +1 1 1 8 +2 16 1 2 +3 1 1 7 +4 13 1 15 +5 16 3 2 +6 12 2 9 +7 17 2 4 +8 3 3 6 +9 1 3 10 +10 1 3 11 +11 18 4 25 +12 8 6 5 +13 13 13 12 +14 13 18 12 +15 14 12 19 +16 15 13 14 +17 1 13 20 +18 1 13 21 +19 13 14 15 +20 1 14 22 +21 1 14 23 +22 14 15 24 +23 13 17 16 +24 14 16 26 +25 14 16 27 +26 15 17 18 +27 1 17 28 +28 1 17 29 +29 1 18 30 +30 1 18 31 +31 6 39 32 +32 4 32 35 +33 5 32 33 +34 6 38 32 +35 4 33 35 +36 2 34 33 +37 6 40 33 +38 3 34 37 +39 1 34 41 +40 1 34 42 +41 8 37 36 + +Angles + +1 30 2 1 8 +2 2 8 1 7 +3 26 8 1 15 +4 30 2 1 7 +5 31 2 1 15 +6 26 7 1 15 +7 32 1 2 3 +8 33 1 2 9 +9 34 1 2 4 +10 33 3 2 9 +11 34 3 2 4 +12 35 4 2 9 +13 36 2 3 6 +14 30 2 3 10 +15 30 2 3 11 +16 3 6 3 10 +17 3 6 3 11 +18 2 10 3 11 +19 37 2 4 25 +20 22 3 6 5 +21 23 13 12 18 +22 24 13 12 19 +23 24 18 12 19 +24 25 14 13 12 +25 26 20 13 12 +26 26 21 13 12 +27 27 14 13 20 +28 27 14 13 21 +29 2 20 13 21 +30 25 13 14 15 +31 27 13 14 22 +32 27 13 14 23 +33 26 22 14 15 +34 26 23 14 15 +35 2 22 14 23 +36 23 1 15 14 +37 24 1 15 24 +38 24 14 15 24 +39 24 17 16 26 +40 24 17 16 27 +41 28 26 16 27 +42 25 18 17 16 +43 26 28 17 16 +44 26 29 17 16 +45 27 18 17 28 +46 27 18 17 29 +47 2 28 17 29 +48 25 17 18 12 +49 26 30 18 12 +50 26 31 18 12 +51 27 17 18 30 +52 27 17 18 31 +53 2 30 18 31 +54 38 39 32 35 +55 39 39 32 33 +56 11 39 32 38 +57 8 33 32 35 +58 38 38 32 35 +59 39 38 32 33 +60 8 32 33 35 +61 6 34 33 32 +62 39 40 33 32 +63 5 34 33 35 +64 38 40 33 35 +65 7 34 33 40 +66 40 37 34 33 +67 41 41 34 33 +68 41 42 34 33 +69 3 37 34 41 +70 3 37 34 42 +71 2 41 34 42 +72 12 32 35 33 +73 22 34 37 36 + +Dihedrals + +1 40 8 1 2 3 +2 41 8 1 2 9 +3 42 8 1 2 4 +4 40 7 1 2 3 +5 41 7 1 2 9 +6 42 7 1 2 4 +7 43 15 1 2 3 +8 44 15 1 2 9 +9 45 15 1 2 4 +10 28 8 1 15 14 +11 30 8 1 15 24 +12 46 2 1 15 14 +13 47 2 1 15 24 +14 28 7 1 15 14 +15 30 7 1 15 24 +16 48 6 3 2 1 +17 40 10 3 2 1 +18 40 11 3 2 1 +19 49 6 3 2 9 +20 41 10 3 2 9 +21 41 11 3 2 9 +22 50 6 3 2 4 +23 42 10 3 2 4 +24 42 11 3 2 4 +25 52 1 2 4 25 +26 52 3 2 4 25 +27 53 9 2 4 25 +28 51 2 3 6 5 +29 7 10 3 6 5 +30 7 11 3 6 5 +31 27 14 13 12 18 +32 28 20 13 12 18 +33 28 21 13 12 18 +34 29 14 13 12 19 +35 30 20 13 12 19 +36 30 21 13 12 19 +37 27 17 18 12 13 +38 28 30 18 12 13 +39 28 31 18 12 13 +40 29 17 18 12 19 +41 30 30 18 12 19 +42 30 31 18 12 19 +43 31 12 13 14 15 +44 32 22 14 13 12 +45 32 23 14 13 12 +46 32 20 13 14 15 +47 33 20 13 14 22 +48 33 20 13 14 23 +49 32 21 13 14 15 +50 33 21 13 14 22 +51 33 21 13 14 23 +52 27 13 14 15 1 +53 29 13 14 15 24 +54 28 22 14 15 1 +55 30 22 14 15 24 +56 28 23 14 15 1 +57 30 23 14 15 24 +58 29 18 17 16 26 +59 30 28 17 16 26 +60 30 29 17 16 26 +61 29 18 17 16 27 +62 30 28 17 16 27 +63 30 29 17 16 27 +64 31 16 17 18 12 +65 32 30 18 17 16 +66 32 31 18 17 16 +67 32 28 17 18 12 +68 33 28 17 18 30 +69 33 28 17 18 31 +70 32 29 17 18 12 +71 33 29 17 18 30 +72 33 29 17 18 31 +73 10 39 32 35 33 +74 10 38 32 35 33 +75 54 39 32 33 35 +76 12 34 33 32 39 +77 14 39 32 33 40 +78 11 34 33 32 35 +79 54 40 33 32 35 +80 54 38 32 33 35 +81 12 34 33 32 38 +82 14 38 32 33 40 +83 9 34 33 35 32 +84 10 40 33 35 32 +85 5 37 34 33 32 +86 2 41 34 33 32 +87 2 42 34 33 32 +88 4 37 34 33 35 +89 1 41 34 33 35 +90 1 42 34 33 35 +91 6 37 34 33 40 +92 3 41 34 33 40 +93 3 42 34 33 40 +94 8 33 34 37 36 +95 7 41 34 37 36 +96 7 42 34 37 36 + +Impropers + +1 4 13 12 18 19 +2 4 1 15 14 24 +3 5 17 16 26 27 +4 1 2 1 8 7 +5 1 2 1 8 15 +6 1 8 1 7 15 +7 1 2 1 7 15 +8 1 1 2 3 9 +9 1 1 2 3 4 +10 1 1 2 4 9 +11 1 3 2 4 9 +12 1 2 3 6 10 +13 1 2 3 6 11 +14 1 2 3 10 11 +15 1 6 3 10 11 +16 1 14 13 20 12 +17 1 14 13 21 12 +18 1 20 13 21 12 +19 1 14 13 20 21 +20 1 13 14 22 15 +21 1 13 14 23 15 +22 1 13 14 22 23 +23 1 22 14 23 15 +24 1 18 17 28 16 +25 1 18 17 29 16 +26 1 28 17 29 16 +27 1 18 17 28 29 +28 1 17 18 30 12 +29 1 17 18 31 12 +30 1 30 18 31 12 +31 1 17 18 30 31 +32 1 39 32 33 35 +33 1 39 32 38 35 +34 1 39 32 38 33 +35 1 38 32 33 35 +36 1 34 33 32 35 +37 1 40 33 32 35 +38 1 34 33 40 32 +39 1 34 33 40 35 +40 1 37 34 41 33 +41 1 37 34 42 33 +42 1 41 34 42 33 +43 1 37 34 41 42 diff --git a/examples/USER/reaction/tiny_epoxy/rxn2_stp2.map b/examples/USER/reaction/tiny_epoxy/rxn2_stp2.map new file mode 100644 index 0000000000000000000000000000000000000000..f90915a54f0dbc1eea7b61977cebb5be4eafa55f --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/rxn2_stp2.map @@ -0,0 +1,59 @@ +this is a map file + +2 edgeIDs +42 equivalences + +BondingIDs + +35 +24 + +EdgeIDs + +5 +36 + +Equivalences + +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +10 10 +11 11 +12 12 +13 13 +14 14 +15 15 +16 16 +17 17 +18 18 +19 19 +20 20 +21 21 +22 22 +23 23 +24 24 +25 25 +26 26 +27 27 +28 28 +29 29 +30 30 +31 31 +32 32 +33 33 +34 34 +35 35 +36 36 +37 37 +38 38 +39 39 +40 40 +41 41 +42 42 diff --git a/examples/USER/reaction/tiny_epoxy/rxn2_stp2_post.data_template b/examples/USER/reaction/tiny_epoxy/rxn2_stp2_post.data_template new file mode 100644 index 0000000000000000000000000000000000000000..2b37ecff03434cc2affe1dcd0f43aa1357f35841 --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/rxn2_stp2_post.data_template @@ -0,0 +1,413 @@ +rxn2_stp2_post + +42 atoms +41 bonds +73 angles +102 dihedrals +43 impropers + +Types + +1 1 +2 2 +3 1 +4 7 +5 4 +6 7 +7 8 +8 8 +9 8 +10 8 +11 8 +12 9 +13 1 +14 1 +15 9 +16 9 +17 1 +18 1 +19 10 +20 8 +21 8 +22 8 +23 8 +24 11 +25 11 +26 10 +27 10 +28 8 +29 8 +30 8 +31 8 +32 1 +33 6 +34 1 +35 7 +36 4 +37 7 +38 8 +39 8 +40 8 +41 8 +42 8 + +Charges + +1 0.000000 +2 0.000000 +3 0.000000 +4 0.100000 +5 0.000000 +6 0.000000 +7 0.000000 +8 0.000000 +9 0.000000 +10 0.000000 +11 0.000000 +12 0.000000 +13 0.000000 +14 0.000000 +15 -0.025000 +16 -0.025000 +17 0.000000 +18 0.000000 +19 0.000000 +20 0.000000 +21 0.000000 +22 0.000000 +23 0.000000 +24 0.000000 +25 0.000000 +26 0.000000 +27 0.000000 +28 0.000000 +29 0.000000 +30 0.000000 +31 0.000000 +32 0.000000 +33 0.000000 +34 0.000000 +35 0.100000 +36 0.000000 +37 0.000000 +38 0.000000 +39 0.000000 +40 0.000000 +41 0.000000 +42 0.000000 + +Coords + +1 19.846411 9.569080 -1.229960 +2 21.168550 9.331390 -0.418120 +3 21.253010 8.067940 0.460720 +4 21.330839 10.304280 -0.253340 +5 21.891689 5.906200 0.464150 +6 21.818470 6.999870 -0.296270 +7 19.931601 10.026600 -2.215510 +8 19.051279 8.828540 -1.132880 +9 22.228800 9.293580 -0.665280 +10 21.880541 8.270810 1.328060 +11 20.253151 7.789050 0.792640 +12 16.072720 12.338940 -0.174630 +13 16.557051 11.130580 0.587500 +14 18.074381 10.998730 0.366590 +15 18.354031 10.832100 -1.107140 +16 14.920880 15.018100 -0.201130 +17 16.390551 14.791140 -0.461060 +18 16.852989 13.538490 0.304530 +19 16.264271 12.190330 -1.257620 +20 16.025061 10.195290 0.210910 +21 16.346741 11.269890 1.698950 +22 18.466690 10.092460 0.935470 +23 18.592319 11.941150 0.745170 +24 16.017490 9.805710 -4.329880 +25 20.881861 11.302060 -0.773030 +26 14.344180 14.136430 -0.550280 +27 14.583670 15.922830 -0.748110 +28 16.984310 15.696060 -0.103470 +29 16.562460 14.639560 -1.577590 +30 16.674610 13.686010 1.420370 +31 17.964001 13.363150 0.117750 +32 18.680189 9.134390 -4.183100 +33 18.099751 8.263650 -5.343000 +34 19.081829 7.609610 -6.334180 +35 17.971729 9.827680 -5.367080 +36 20.263880 5.733600 -6.736780 +37 19.414030 6.299980 -5.878960 +38 18.194740 9.091640 -3.210950 +39 19.788940 9.208560 -4.119640 +40 17.399309 7.432220 -5.407800 +41 18.616249 7.545570 -7.316910 +42 19.987049 8.212500 -6.399400 + +Bonds + +1 1 1 8 +2 2 1 2 +3 1 1 7 +4 13 1 15 +5 2 3 2 +6 6 2 9 +7 19 2 4 +8 3 3 6 +9 1 3 10 +10 1 3 11 +11 18 4 25 +12 8 6 5 +13 13 13 12 +14 13 18 12 +15 14 12 19 +16 15 13 14 +17 1 13 20 +18 1 13 21 +19 13 14 15 +20 1 14 22 +21 1 14 23 +22 13 32 15 +23 13 17 16 +24 14 16 26 +25 14 16 27 +26 15 17 18 +27 1 17 28 +28 1 17 29 +29 1 18 30 +30 1 18 31 +31 18 35 24 +32 1 32 39 +33 16 32 33 +34 1 32 38 +35 17 35 33 +36 16 34 33 +37 12 40 33 +38 3 34 37 +39 1 34 41 +40 1 34 42 +41 8 37 36 + +Angles + +1 1 2 1 8 +2 2 8 1 7 +3 26 8 1 15 +4 1 2 1 7 +5 42 2 1 15 +6 26 7 1 15 +7 43 1 2 3 +8 7 1 2 9 +9 44 1 2 4 +10 7 3 2 9 +11 44 3 2 4 +12 45 4 2 9 +13 4 2 3 6 +14 1 2 3 10 +15 1 2 3 11 +16 3 6 3 10 +17 3 6 3 11 +18 2 10 3 11 +19 46 2 4 25 +20 22 3 6 5 +21 23 13 12 18 +22 24 13 12 19 +23 24 18 12 19 +24 25 14 13 12 +25 26 20 13 12 +26 26 21 13 12 +27 27 14 13 20 +28 27 14 13 21 +29 2 20 13 21 +30 25 13 14 15 +31 27 13 14 22 +32 27 13 14 23 +33 26 22 14 15 +34 26 23 14 15 +35 2 22 14 23 +36 23 1 15 14 +37 23 1 15 32 +38 23 14 15 32 +39 24 17 16 26 +40 24 17 16 27 +41 28 26 16 27 +42 25 18 17 16 +43 26 28 17 16 +44 26 29 17 16 +45 27 18 17 28 +46 27 18 17 29 +47 2 28 17 29 +48 25 17 18 12 +49 26 30 18 12 +50 26 31 18 12 +51 27 17 18 30 +52 27 17 18 31 +53 2 30 18 31 +54 26 39 32 15 +55 47 15 32 33 +56 26 38 32 15 +57 48 39 32 33 +58 2 39 32 38 +59 48 38 32 33 +60 34 32 33 35 +61 32 32 33 34 +62 33 32 33 40 +63 34 34 33 35 +64 35 35 33 40 +65 33 34 33 40 +66 49 37 34 33 +67 48 41 34 33 +68 48 42 34 33 +69 3 37 34 41 +70 3 37 34 42 +71 2 41 34 42 +72 50 24 35 33 +73 22 34 37 36 + +Dihedrals + +1 55 8 1 2 3 +2 3 8 1 2 9 +3 56 8 1 2 4 +4 55 7 1 2 3 +5 3 7 1 2 9 +6 56 7 1 2 4 +7 57 15 1 2 3 +8 58 15 1 2 9 +9 59 15 1 2 4 +10 28 8 1 15 14 +11 28 8 1 15 32 +12 60 2 1 15 14 +13 60 2 1 15 32 +14 28 7 1 15 14 +15 28 7 1 15 32 +16 61 6 3 2 1 +17 55 10 3 2 1 +18 55 11 3 2 1 +19 6 6 3 2 9 +20 3 10 3 2 9 +21 3 11 3 2 9 +22 62 6 3 2 4 +23 56 10 3 2 4 +24 56 11 3 2 4 +25 63 1 2 4 25 +26 63 3 2 4 25 +27 64 9 2 4 25 +28 8 2 3 6 5 +29 7 10 3 6 5 +30 7 11 3 6 5 +31 27 14 13 12 18 +32 28 20 13 12 18 +33 28 21 13 12 18 +34 29 14 13 12 19 +35 30 20 13 12 19 +36 30 21 13 12 19 +37 27 17 18 12 13 +38 28 30 18 12 13 +39 28 31 18 12 13 +40 29 17 18 12 19 +41 30 30 18 12 19 +42 30 31 18 12 19 +43 31 12 13 14 15 +44 32 22 14 13 12 +45 32 23 14 13 12 +46 32 20 13 14 15 +47 33 20 13 14 22 +48 33 20 13 14 23 +49 32 21 13 14 15 +50 33 21 13 14 22 +51 33 21 13 14 23 +52 27 13 14 15 1 +53 27 13 14 15 32 +54 28 22 14 15 1 +55 28 22 14 15 32 +56 28 23 14 15 1 +57 28 23 14 15 32 +58 28 39 32 15 1 +59 46 33 32 15 1 +60 28 38 32 15 1 +61 28 39 32 15 14 +62 46 33 32 15 14 +63 28 38 32 15 14 +64 29 18 17 16 26 +65 30 28 17 16 26 +66 30 29 17 16 26 +67 29 18 17 16 27 +68 30 28 17 16 27 +69 30 29 17 16 27 +70 31 16 17 18 12 +71 32 30 18 17 16 +72 32 31 18 17 16 +73 32 28 17 18 12 +74 33 28 17 18 30 +75 33 28 17 18 31 +76 32 29 17 18 12 +77 33 29 17 18 30 +78 33 29 17 18 31 +79 45 15 32 33 35 +80 43 15 32 33 34 +81 44 15 32 33 40 +82 42 39 32 33 35 +83 40 39 32 33 34 +84 41 39 32 33 40 +85 42 38 32 33 35 +86 40 38 32 33 34 +87 41 38 32 33 40 +88 65 24 35 33 32 +89 65 24 35 33 34 +90 66 24 35 33 40 +91 48 37 34 33 32 +92 40 41 34 33 32 +93 40 42 34 33 32 +94 50 37 34 33 35 +95 42 41 34 33 35 +96 42 42 34 33 35 +97 49 37 34 33 40 +98 41 41 34 33 40 +99 41 42 34 33 40 +100 51 33 34 37 36 +101 7 41 34 37 36 +102 7 42 34 37 36 + +Impropers + +1 4 13 12 18 19 +2 22 1 15 14 32 +3 5 17 16 26 27 +4 1 2 1 8 7 +5 1 2 1 8 15 +6 1 8 1 7 15 +7 1 2 1 7 15 +8 1 1 2 3 9 +9 1 1 2 3 4 +10 1 1 2 4 9 +11 1 3 2 4 9 +12 1 2 3 6 10 +13 1 2 3 6 11 +14 1 2 3 10 11 +15 1 6 3 10 11 +16 1 14 13 20 12 +17 1 14 13 21 12 +18 1 20 13 21 12 +19 1 14 13 20 21 +20 1 13 14 22 15 +21 1 13 14 23 15 +22 1 13 14 22 23 +23 1 22 14 23 15 +24 1 18 17 28 16 +25 1 18 17 29 16 +26 1 28 17 29 16 +27 1 18 17 28 29 +28 1 17 18 30 12 +29 1 17 18 31 12 +30 1 30 18 31 12 +31 1 17 18 30 31 +32 1 39 32 15 33 +33 1 39 32 38 15 +34 1 38 32 15 33 +35 1 39 32 38 33 +36 1 32 33 34 35 +37 1 32 33 35 40 +38 1 32 33 34 40 +39 1 34 33 35 40 +40 1 37 34 41 33 +41 1 37 34 42 33 +42 1 41 34 42 33 +43 1 37 34 41 42 diff --git a/examples/USER/reaction/tiny_epoxy/tiny_epoxy.data b/examples/USER/reaction/tiny_epoxy/tiny_epoxy.data new file mode 100644 index 0000000000000000000000000000000000000000..d98006b1070767e04a799ad96e4bddfbb373ddbc --- /dev/null +++ b/examples/USER/reaction/tiny_epoxy/tiny_epoxy.data @@ -0,0 +1,1582 @@ +# two molecules DGEBA (diepoxy) and one DETA (linker) + +118 atoms +123 bonds +221 angles +302 dihedrals +115 impropers +11 atom types +19 bond types +50 angle types +66 dihedral types +22 improper types +10 30 xlo xhi +-10 20 ylo yhi +-15 10 zlo zhi + +Masses + +1 12.011150 # c2 +2 12.011150 # c3m +3 15.999400 # o3e +4 12.011150 # cp +5 12.011150 # c +6 12.011150 # c3 +7 15.999400 # oc +8 1.007970 # hc +9 14.006700 # na +10 1.007970 # hn +11 1.007970 # ho + +Pair Coeffs # lj/class2/coul/long + +1 0.0540000000 4.0100000000 # c2 +2 0.0540000000 4.0100000000 # c3m +3 0.2400000000 3.5350000000 # o3e +4 0.0640000000 4.0100000000 # cp +5 0.0540000000 4.0100000000 # c +6 0.0540000000 4.0100000000 # c3 +7 0.2400000000 3.5350000000 # oc +8 0.0200000000 2.7000000000 # hc +9 0.0650000000 4.0700000000 # na +10 0.0130000000 1.0980000000 # hn +11 0.0130000000 1.0980000000 # ho + +Bond Coeffs # class2 + +1 1.1010 345.0000 -691.8900 844.6000 # c2-hc +2 1.5300 299.6700 -501.7700 679.8100 # c2-c3m +3 1.4200 400.3954 -835.1951 1313.0142 # c2-oc +4 1.4200 400.3954 -835.1951 1313.0142 # c3m-o3e +5 1.5300 299.6700 -501.7700 679.8100 # c3m-c3m +6 1.1010 345.0000 -691.8900 844.6000 # c3m-hc +7 1.4170 470.8361 -627.6179 1327.6345 # cp-cp +8 1.3768 428.8798 -738.2351 1114.9655 # cp-oc +9 1.0982 372.8251 -803.4526 894.3173 # cp-hc +10 1.5010 321.9021 -521.8208 572.1628 # cp-c +11 1.5300 299.6700 -501.7700 679.8100 # c-c3 +12 1.1010 345.0000 -691.8900 844.6000 # c3-hc +13 1.4570 365.8052 -699.6368 998.4842 # c2-na +14 1.0060 466.7400 -1073.6018 1251.1056 # na-hn +15 1.5300 299.6700 -501.7700 679.8100 # c2-c2 +16 1.5300 299.6700 -501.7700 679.8100 # c2-c3 +17 1.4200 400.3954 -835.1951 1313.0142 # c3-oc +18 0.9650 532.5062 -1282.9050 2004.7658 # oc-ho +19 1.4200 400.3954 -835.1951 1313.0142 # c3m-oc + +Angle Coeffs # class2 + +1 110.7700 41.4530 -10.6040 5.1290 # c3m-c2-hc +2 107.6600 39.6410 -12.9210 -2.4318 # hc-c2-hc +3 108.7280 58.5446 -10.8088 -12.4006 # oc-c2-hc +4 111.2700 54.5381 -8.3642 -13.0838 # c3m-c2-oc +5 111.2700 54.5381 -8.3642 -13.0838 # c2-c3m-o3e +6 112.6700 39.5160 -7.4430 -9.5583 # c2-c3m-c3m +7 110.7700 41.4530 -10.6040 5.1290 # c2-c3m-hc +8 111.2700 54.5381 -8.3642 -13.0838 # c3m-c3m-o3e +9 108.7280 58.5446 -10.8088 -12.4006 # o3e-c3m-hc +10 110.7700 41.4530 -10.6040 5.1290 # c3m-c3m-hc +11 107.6600 39.6410 -12.9210 -2.4318 # hc-c3m-hc +12 104.5000 35.7454 -10.0067 -6.2729 # c3m-o3e-c3m +13 118.9000 61.0226 -34.9931 0.0000 # cp-cp-cp +14 123.4200 73.6781 -21.6787 0.0000 # cp-cp-oc +15 117.9400 35.1558 -12.4682 0.0000 # cp-cp-hc +16 120.0500 44.7148 -22.7352 0.0000 # cp-cp-c +17 108.4000 43.9594 -8.3924 -9.3379 # cp-c-c3 +18 111.0000 44.3234 -9.4454 0.0000 # cp-c-cp +19 112.6700 39.5160 -7.4430 -9.5583 # c3-c-c3 +20 110.7700 41.4530 -10.6040 5.1290 # c-c3-hc +21 107.6600 39.6410 -12.9210 -2.4318 # hc-c3-hc +22 102.9695 38.9739 -6.2595 -8.1710 # c2-oc-cp +23 112.4436 47.2337 -10.6612 -10.2062 # c2-na-c2 +24 110.9538 50.8652 -4.4522 -10.0298 # c2-na-hn +25 111.9100 60.7147 -13.3366 -13.0785 # c2-c2-na +26 110.6204 51.3137 -6.7198 -2.6003 # hc-c2-na +27 110.7700 41.4530 -10.6040 5.1290 # c2-c2-hc +28 107.0671 45.2520 -7.5558 -9.5120 # hn-na-hn +29 112.6700 39.5160 -7.4430 -9.5583 # c3m-c3m-c2 +30 110.7700 41.4530 -10.6040 5.1290 # c3-c2-hc +31 111.9100 60.7147 -13.3366 -13.0785 # c3-c2-na +32 112.6700 39.5160 -7.4430 -9.5583 # c2-c3-c2 +33 110.7700 41.4530 -10.6040 5.1290 # c2-c3-hc +34 111.2700 54.5381 -8.3642 -13.0838 # c2-c3-oc +35 108.7280 58.5446 -10.8088 -12.4006 # oc-c3-hc +36 111.2700 54.5381 -8.3642 -13.0838 # c3-c2-oc +37 105.8000 52.7061 -12.1090 -9.8681 # c3-oc-ho +38 108.7280 58.5446 -10.8088 -12.4006 # hc-c3m-o3e +39 110.7700 41.4530 -10.6040 5.1290 # hc-c3m-c3m +40 111.2700 54.5381 -8.3642 -13.0838 # oc-c2-c3m +41 110.7700 41.4530 -10.6040 5.1290 # hc-c2-c3m +42 111.9100 60.7147 -13.3366 -13.0785 # c3m-c2-na +43 112.6700 39.5160 -7.4430 -9.5583 # c2-c3m-c2 +44 111.2700 54.5381 -8.3642 -13.0838 # c2-c3m-oc +45 108.7280 58.5446 -10.8088 -12.4006 # oc-c3m-hc +46 105.8000 52.7061 -12.1090 -9.8681 # c3m-oc-ho +47 111.9100 60.7147 -13.3366 -13.0785 # na-c2-c3 +48 110.7700 41.4530 -10.6040 5.1290 # hc-c2-c3 +49 111.2700 54.5381 -8.3642 -13.0838 # oc-c2-c3 +50 105.8000 52.7061 -12.1090 -9.8681 # ho-oc-c3 + +Dihedral Coeffs # class2 + +1 -0.1435 0.0000 0.2530 0.0000 -0.0905 0.0000# hc-c2-c3m-o3e +2 0.0000 0.0000 0.0316 0.0000 -0.1681 0.0000# hc-c2-c3m-c3m +3 -0.1432 0.0000 0.0617 0.0000 -0.1083 0.0000# hc-c2-c3m-hc +4 -0.1820 0.0000 -0.1084 0.0000 -0.7047 0.0000# oc-c2-c3m-o3e +5 0.7137 0.0000 0.2660 0.0000 -0.2545 0.0000# oc-c2-c3m-c3m +6 -0.1435 0.0000 0.2530 0.0000 -0.0905 0.0000# oc-c2-c3m-hc +7 0.9513 0.0000 0.1155 0.0000 0.0720 0.0000# hc-c2-oc-cp +8 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000# c3m-c2-oc-cp +9 -0.5203 0.0000 -0.3028 0.0000 -0.3450 0.0000# c2-c3m-o3e-c3m +10 0.5302 0.0000 0.0000 0.0000 -0.3966 0.0000# hc-c3m-o3e-c3m +11 0.7137 0.0000 0.2660 0.0000 -0.2545 0.0000# c2-c3m-c3m-o3e +12 0.0000 0.0000 0.0316 0.0000 -0.1681 0.0000# c2-c3m-c3m-hc +13 -0.1435 0.0000 0.2530 0.0000 -0.0905 0.0000# o3e-c3m-c3m-hc +14 -0.1432 0.0000 0.0617 0.0000 -0.1083 0.0000# hc-c3m-c3m-hc +15 8.3667 0.0000 1.1932 0.0000 0.0000 0.0000# cp-cp-cp-cp +16 0.0000 0.0000 3.9661 0.0000 0.0000 0.0000# cp-cp-cp-hc +17 0.0000 0.0000 4.8498 0.0000 0.0000 0.0000# cp-cp-cp-oc +18 0.0000 0.0000 1.7234 0.0000 0.0000 0.0000# oc-cp-cp-hc +19 0.0000 0.0000 1.5000 0.0000 0.0000 0.0000# cp-cp-oc-c2 +20 0.0000 0.0000 1.8769 0.0000 0.0000 0.0000# hc-cp-cp-hc +21 0.0000 0.0000 4.4072 0.0000 0.0000 0.0000# cp-cp-cp-c +22 0.0000 0.0000 1.5590 0.0000 0.0000 0.0000# c-cp-cp-hc +23 -0.2802 0.0000 -0.0678 0.0000 -0.0122 0.0000# cp-cp-c-c3 +24 -0.2802 0.0000 -0.0678 0.0000 -0.0122 0.0000# cp-cp-c-cp +25 -0.0228 0.0000 0.0280 0.0000 -0.1863 0.0000# cp-c-c3-hc +26 0.0000 0.0000 0.0316 0.0000 -0.1681 0.0000# c3-c-c3-hc +27 -0.1406 0.0000 0.4168 0.0000 0.0150 0.0000# c2-c2-na-c2 +28 0.1904 0.0000 -0.1342 0.0000 -0.2460 0.0000# hc-c2-na-c2 +29 -1.1506 0.0000 -0.6344 0.0000 -0.1845 0.0000# c2-c2-na-hn +30 -0.5187 0.0000 -0.4837 0.0000 -0.1692 0.0000# hc-c2-na-hn +31 0.3805 0.0000 0.3547 0.0000 -0.1102 0.0000# na-c2-c2-na +32 -0.2428 0.0000 0.4065 0.0000 -0.3079 0.0000# hc-c2-c2-na +33 -0.1432 0.0000 0.0617 0.0000 -0.1083 0.0000# hc-c2-c2-hc +34 0.7137 0.0000 0.2660 0.0000 -0.2545 0.0000# c3m-c3m-c2-oc +35 0.0000 0.0000 0.0316 0.0000 -0.1681 0.0000# c3m-c3m-c2-hc +36 -0.1820 0.0000 -0.1084 0.0000 -0.7047 0.0000# o3e-c3m-c2-oc +37 -0.1435 0.0000 0.2530 0.0000 -0.0905 0.0000# o3e-c3m-c2-hc +38 -0.1435 0.0000 0.2530 0.0000 -0.0905 0.0000# hc-c3m-c2-oc +39 -0.1432 0.0000 0.0617 0.0000 -0.1083 0.0000# hc-c3m-c2-hc +40 0.0000 0.0000 0.0316 0.0000 -0.1681 0.0000# hc-c2-c3-c2 +41 -0.1432 0.0000 0.0617 0.0000 -0.1083 0.0000# hc-c2-c3-hc +42 -0.1435 0.0000 0.2530 0.0000 -0.0905 0.0000# hc-c2-c3-oc +43 0.1764 0.0000 0.1766 0.0000 -0.5206 0.0000# na-c2-c3-c2 +44 -0.2428 0.0000 0.4065 0.0000 -0.3079 0.0000# na-c2-c3-hc +45 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000# na-c2-c3-oc +46 -0.1406 0.0000 0.4168 0.0000 0.0150 0.0000# c3-c2-na-c2 +47 -1.1506 0.0000 -0.6344 0.0000 -0.1845 0.0000# c3-c2-na-hn +48 0.7137 0.0000 0.2660 0.0000 -0.2545 0.0000# oc-c2-c3-c2 +49 -0.1435 0.0000 0.2530 0.0000 -0.0905 0.0000# oc-c2-c3-hc +50 -0.1820 0.0000 -0.1084 0.0000 -0.7047 0.0000# oc-c2-c3-oc +51 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000# c3-c2-oc-cp +52 -0.6732 0.0000 -0.4778 0.0000 -0.1670 0.0000# c2-c3-oc-ho +53 0.1863 0.0000 -0.4338 0.0000 -0.2121 0.0000# hc-c3-oc-ho +54 -0.1435 0.0000 0.2530 0.0000 -0.0905 0.0000# hc-c3m-c3m-o3e +55 0.0000 0.0000 0.0316 0.0000 -0.1681 0.0000# hc-c2-c3m-c2 +56 -0.1435 0.0000 0.2530 0.0000 -0.0905 0.0000# hc-c2-c3m-oc +57 0.1764 0.0000 0.1766 0.0000 -0.5206 0.0000# na-c2-c3m-c2 +58 -0.2428 0.0000 0.4065 0.0000 -0.3079 0.0000# na-c2-c3m-hc +59 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000# na-c2-c3m-oc +60 -0.1406 0.0000 0.4168 0.0000 0.0150 0.0000# c3m-c2-na-c2 +61 0.7137 0.0000 0.2660 0.0000 -0.2545 0.0000# oc-c2-c3m-c2 +62 -0.1820 0.0000 -0.1084 0.0000 -0.7047 0.0000# oc-c2-c3m-oc +63 -0.6732 0.0000 -0.4778 0.0000 -0.1670 0.0000# c2-c3m-oc-ho +64 0.1863 0.0000 -0.4338 0.0000 -0.2121 0.0000# hc-c3m-oc-ho +65 -0.6732 0.0000 -0.4778 0.0000 -0.1670 0.0000# ho-oc-c3-c2 +66 0.1863 0.0000 -0.4338 0.0000 -0.2121 0.0000# ho-oc-c3-hc + +Improper Coeffs # class2 + +1 13.0421 0.0000 # cp-cp-cp-oc +2 4.8912 0.0000 # cp-cp-cp-hc +3 7.8153 0.0000 # cp-cp-cp-c +4 0.0000 0.0000 # c2-na-c2-hn +5 0.0000 0.0000 # c2-na-hn-hn +6 0.0000 0.0000 +7 0.0000 0.0000 +8 0.0000 0.0000 +9 0.0000 0.0000 +10 0.0000 0.0000 +11 0.0000 0.0000 +12 0.0000 0.0000 +13 0.0000 0.0000 +14 0.0000 0.0000 +15 0.0000 0.0000 +16 0.0000 0.0000 +17 0.0000 0.0000 +18 0.0000 0.0000 +19 0.0000 0.0000 +20 0.0000 0.0000 +21 0.0000 0.0000 +22 0.0000 0.0000 # c2-na-c2-c2 + +BondBond Coeffs + +1 3.3872 1.5300 1.1010 +2 5.3316 1.1010 1.1010 +3 23.1979 1.4200 1.1010 +4 11.4318 1.5300 1.4200 +5 11.4318 1.5300 1.4200 +6 0.0000 1.5300 1.5300 +7 3.3872 1.5300 1.1010 +8 11.4318 1.5300 1.4200 +9 23.1979 1.4200 1.1010 +10 3.3872 1.5300 1.1010 +11 5.3316 1.1010 1.1010 +12 -7.1131 1.4200 1.4200 +13 68.2856 1.4170 1.4170 +14 48.4754 1.4170 1.3768 +15 1.0795 1.4170 1.0982 +16 12.0676 1.4170 1.5010 +17 0.0000 1.5010 1.5300 +18 0.0000 1.5010 1.5010 +19 0.0000 1.5300 1.5300 +20 3.3872 1.5300 1.1010 +21 5.3316 1.1010 1.1010 +22 0.0000 1.4200 1.3768 +23 -2.1113 1.4570 1.4570 +24 -6.4168 1.4570 1.0060 +25 4.6217 1.5300 1.4570 +26 12.4260 1.1010 1.4570 +27 3.3872 1.5300 1.1010 +28 -1.8749 1.0060 1.0060 +29 0.0000 1.5300 1.5300 +30 3.3872 1.5300 1.1010 +31 4.6217 1.5300 1.4570 +32 0.0000 1.5300 1.5300 +33 3.3872 1.5300 1.1010 +34 11.4318 1.5300 1.4200 +35 23.1979 1.4200 1.1010 +36 11.4318 1.5300 1.4200 +37 -9.6879 1.4200 0.9650 +38 23.1979 1.1010 1.4200 +39 3.3872 1.1010 1.5300 +40 11.4318 1.4200 1.5300 +41 3.3872 1.1010 1.5300 +42 4.6217 1.5300 1.4570 +43 0.0000 1.5300 1.5300 +44 11.4318 1.5300 1.4200 +45 23.1979 1.4200 1.1010 +46 -9.6879 1.4200 0.9650 +47 4.6217 1.4570 1.5300 +48 3.3872 1.1010 1.5300 +49 11.4318 1.4200 1.5300 +50 -9.6879 0.9650 1.4200 + +BondAngle Coeffs + +1 20.7540 11.4210 1.5300 1.1010 +2 18.1030 18.1030 1.1010 1.1010 +3 55.3270 4.6189 1.4200 1.1010 +4 2.6868 20.4033 1.5300 1.4200 +5 2.6868 20.4033 1.5300 1.4200 +6 8.0160 8.0160 1.5300 1.5300 +7 20.7540 11.4210 1.5300 1.1010 +8 2.6868 20.4033 1.5300 1.4200 +9 55.3270 4.6189 1.4200 1.1010 +10 20.7540 11.4210 1.5300 1.1010 +11 18.1030 18.1030 1.1010 1.1010 +12 -2.8112 -2.8112 1.4200 1.4200 +13 28.8708 28.8708 1.4170 1.4170 +14 58.4790 107.6806 1.4170 1.3768 +15 20.0033 24.2183 1.4170 1.0982 +16 31.0771 47.0579 1.4170 1.5010 +17 0.0000 0.0000 1.5010 1.5300 +18 0.0000 0.0000 1.5010 1.5010 +19 8.0160 8.0160 1.5300 1.5300 +20 20.7540 11.4210 1.5300 1.1010 +21 18.1030 18.1030 1.1010 1.1010 +22 0.0000 0.0000 1.4200 1.3768 +23 -7.2229 -7.2229 1.4570 1.4570 +24 31.8096 20.5799 1.4570 1.0060 +25 6.0876 16.5702 1.5300 1.4570 +26 13.4582 42.4332 1.1010 1.4570 +27 20.7540 11.4210 1.5300 1.1010 +28 28.0322 28.0322 1.0060 1.0060 +29 8.0160 8.0160 1.5300 1.5300 +30 20.7540 11.4210 1.5300 1.1010 +31 6.0876 16.5702 1.5300 1.4570 +32 8.0160 8.0160 1.5300 1.5300 +33 20.7540 11.4210 1.5300 1.1010 +34 2.6868 20.4033 1.5300 1.4200 +35 55.3270 4.6189 1.4200 1.1010 +36 2.6868 20.4033 1.5300 1.4200 +37 28.5800 18.9277 1.4200 0.9650 +38 4.6189 55.3270 1.1010 1.4200 +39 11.4210 20.7540 1.1010 1.5300 +40 20.4033 2.6868 1.4200 1.5300 +41 11.4210 20.7540 1.1010 1.5300 +42 6.0876 16.5702 1.5300 1.4570 +43 8.0160 8.0160 1.5300 1.5300 +44 2.6868 20.4033 1.5300 1.4200 +45 55.3270 4.6189 1.4200 1.1010 +46 28.5800 18.9277 1.4200 0.9650 +47 16.5702 6.0876 1.4570 1.5300 +48 11.4210 20.7540 1.1010 1.5300 +49 20.4033 2.6868 1.4200 1.5300 +50 18.9277 28.5800 0.9650 1.4200 + +AngleAngle Coeffs + +1 0.0000 0.0000 0.0000 118.9000 123.4200 123.4200 +2 0.0000 0.0000 0.0000 118.9000 117.9400 117.9400 +3 0.0000 0.0000 0.0000 118.9000 120.0500 120.0500 +4 0.0000 0.0000 0.0000 112.4436 110.9538 110.9538 +5 0.0000 0.0000 0.0000 110.9538 107.0671 110.9538 +6 0.2738 -0.4825 0.2738 110.7700 107.6600 110.7700 +7 0.1689 2.5926 3.9177 111.2700 108.7280 110.7700 +8 2.4259 2.1283 2.4259 108.7280 107.6600 108.7280 +9 -0.8330 -0.8330 -3.5744 112.6700 111.2700 111.2700 +10 0.1689 2.5926 3.9177 111.2700 108.7280 110.7700 +11 -1.3199 -1.3199 0.1184 112.6700 110.7700 110.7700 +12 0.1689 2.5926 3.9177 111.2700 108.7280 110.7700 +13 0.2738 -0.4825 0.2738 110.7700 107.6600 110.7700 +14 2.4259 2.1283 2.4259 108.7280 107.6600 108.7280 +15 0.0000 0.0000 0.0000 108.4000 112.6700 108.4000 +16 0.0000 0.0000 0.0000 111.0000 108.4000 108.4000 +17 0.2738 -0.4825 0.2738 110.7700 107.6600 110.7700 +18 -0.3157 -0.3157 -0.3157 107.6600 107.6600 107.6600 +19 2.4286 0.5381 -2.5301 110.7700 110.6204 111.9100 +20 2.4321 2.4321 -3.5496 107.6600 110.6204 110.6204 +21 0.2738 -0.4825 0.2738 110.7700 107.6600 110.7700 +22 0.0000 0.0000 0.0000 112.4436 112.4436 112.4436 + +AngleAngleTorsion Coeffs + +1 -20.2006 110.7700 111.2700 +2 -16.1640 110.7700 112.6700 +3 -12.5640 110.7700 110.7700 +4 -14.0484 111.2700 111.2700 +5 -29.0420 111.2700 112.6700 +6 -20.2006 111.2700 110.7700 +7 0.0000 108.7280 102.9695 +8 0.0000 111.2700 102.9695 +9 -19.0059 111.2700 104.5000 +10 -16.4438 108.7280 104.5000 +11 -29.0420 112.6700 111.2700 +12 -16.1640 112.6700 110.7700 +13 -20.2006 111.2700 110.7700 +14 -12.5640 110.7700 110.7700 +15 0.0000 118.9000 118.9000 +16 -4.8141 118.9000 117.9400 +17 -21.0247 118.9000 123.4200 +18 4.2296 123.4200 117.9400 +19 0.0000 123.4200 102.9695 +20 0.3598 117.9400 117.9400 +21 -14.4097 118.9000 120.0500 +22 4.4444 120.0500 117.9400 +23 0.0000 120.0500 108.4000 +24 0.0000 120.0500 111.0000 +25 0.0000 108.4000 110.7700 +26 -16.1640 112.6700 110.7700 +27 -24.3818 111.9100 112.4436 +28 -12.5567 110.6204 112.4436 +29 -7.5499 111.9100 110.9538 +30 -10.4258 110.6204 110.9538 +31 -11.2307 111.9100 111.9100 +32 -15.7572 110.7700 111.9100 +33 -12.5640 110.7700 110.7700 +34 -29.0420 112.6700 111.2700 +35 -16.1640 112.6700 110.7700 +36 -14.0484 111.2700 111.2700 +37 -20.2006 111.2700 110.7700 +38 -20.2006 110.7700 111.2700 +39 -12.5640 110.7700 110.7700 +40 -16.1640 110.7700 112.6700 +41 -12.5640 110.7700 110.7700 +42 -20.2006 110.7700 111.2700 +43 -27.3953 111.9100 112.6700 +44 -15.7572 111.9100 110.7700 +45 0.0000 111.9100 111.2700 +46 -24.3818 111.9100 112.4436 +47 -7.5499 111.9100 110.9538 +48 -29.0420 111.2700 112.6700 +49 -20.2006 111.2700 110.7700 +50 -14.0484 111.2700 111.2700 +51 0.0000 111.2700 102.9695 +52 -12.1038 111.2700 105.8000 +53 -10.5093 108.7280 105.8000 +54 -20.2006 110.7700 111.2700 +55 -16.1640 110.7700 112.6700 +56 -20.2006 110.7700 111.2700 +57 -27.3953 111.9100 112.6700 +58 -15.7572 111.9100 110.7700 +59 0.0000 111.9100 111.2700 +60 -24.3818 111.9100 112.4436 +61 -29.0420 111.2700 112.6700 +62 -14.0484 111.2700 111.2700 +63 -12.1038 111.2700 105.8000 +64 -10.5093 108.7280 105.8000 +65 -12.1038 105.8000 111.2700 +66 -10.5093 105.8000 108.7280 + +EndBondTorsion Coeffs + +1 0.9681 0.9551 0.0436 0.5903 0.6669 0.8584 1.1010 1.4200 +2 0.0814 0.0591 0.2219 0.2486 0.2422 -0.0925 1.1010 1.5300 +3 0.2130 0.3120 0.0777 0.2130 0.3120 0.0777 1.1010 1.1010 +4 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4200 1.4200 +5 1.1538 0.8409 -0.9138 -0.3190 0.4411 -0.7174 1.4200 1.5300 +6 0.5903 0.6669 0.8584 0.9681 0.9551 0.0436 1.4200 1.1010 +7 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.1010 1.3768 +8 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.5300 1.3768 +9 -0.2456 1.0517 -0.7795 0.4741 1.2635 0.5576 1.5300 1.4200 +10 -0.6054 1.3339 0.9648 -0.1620 0.1564 -1.1408 1.1010 1.4200 +11 -0.3190 0.4411 -0.7174 1.1538 0.8409 -0.9138 1.5300 1.4200 +12 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.5300 1.1010 +13 0.5903 0.6669 0.8584 0.9681 0.9551 0.0436 1.4200 1.1010 +14 0.2130 0.3120 0.0777 0.2130 0.3120 0.0777 1.1010 1.1010 +15 -0.1185 6.3204 0.0000 -0.1185 6.3204 0.0000 1.4170 1.4170 +16 0.0000 -6.8958 0.0000 0.0000 -0.4669 0.0000 1.4170 1.0982 +17 0.0000 0.2655 0.0000 0.0000 4.8905 0.0000 1.4170 1.3768 +18 0.0000 4.2641 0.0000 0.0000 -1.5867 0.0000 1.3768 1.0982 +19 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.4170 1.4200 +20 0.0000 -0.6890 0.0000 0.0000 -0.6890 0.0000 1.0982 1.0982 +21 0.0000 -0.6918 0.0000 0.0000 0.2421 0.0000 1.4170 1.5010 +22 0.0000 -1.7970 0.0000 0.0000 -0.4879 0.0000 1.5010 1.0982 +23 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.4170 1.5300 +24 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.4170 1.5010 +25 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.5010 1.1010 +26 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.5300 1.1010 +27 0.0997 -0.0046 -0.2657 -0.0128 -0.0495 -0.1079 1.5300 1.4570 +28 -0.5892 0.7140 0.3505 0.0628 0.0873 -0.0882 1.1010 1.4570 +29 -0.9466 0.9356 -0.5542 0.0570 0.0625 0.4112 1.5300 1.0060 +30 -1.1685 0.9266 -0.0993 0.0850 0.3061 0.2104 1.1010 1.0060 +31 0.0286 0.0566 -0.0493 0.0286 0.0566 -0.0493 1.4570 1.4570 +32 0.1960 0.7056 0.1120 0.1022 0.2090 0.6433 1.1010 1.4570 +33 0.2130 0.3120 0.0777 0.2130 0.3120 0.0777 1.1010 1.1010 +34 -0.3190 0.4411 -0.7174 1.1538 0.8409 -0.9138 1.5300 1.4200 +35 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.5300 1.1010 +36 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4200 1.4200 +37 0.5903 0.6669 0.8584 0.9681 0.9551 0.0436 1.4200 1.1010 +38 0.9681 0.9551 0.0436 0.5903 0.6669 0.8584 1.1010 1.4200 +39 0.2130 0.3120 0.0777 0.2130 0.3120 0.0777 1.1010 1.1010 +40 0.0814 0.0591 0.2219 0.2486 0.2422 -0.0925 1.1010 1.5300 +41 0.2130 0.3120 0.0777 0.2130 0.3120 0.0777 1.1010 1.1010 +42 0.9681 0.9551 0.0436 0.5903 0.6669 0.8584 1.1010 1.4200 +43 0.0579 -0.0043 -0.1906 0.1032 0.5896 -0.4836 1.4570 1.5300 +44 0.1022 0.2090 0.6433 0.1960 0.7056 0.1120 1.4570 1.1010 +45 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.4570 1.4200 +46 0.0997 -0.0046 -0.2657 -0.0128 -0.0495 -0.1079 1.5300 1.4570 +47 -0.9466 0.9356 -0.5542 0.0570 0.0625 0.4112 1.5300 1.0060 +48 1.1538 0.8409 -0.9138 -0.3190 0.4411 -0.7174 1.4200 1.5300 +49 0.5903 0.6669 0.8584 0.9681 0.9551 0.0436 1.4200 1.1010 +50 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4200 1.4200 +51 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.5300 1.3768 +52 -0.5800 0.9004 0.0000 0.0000 0.5343 0.9025 1.5300 0.9650 +53 -1.7554 1.3145 0.2263 0.2493 0.6803 0.0000 1.1010 0.9650 +54 0.9681 0.9551 0.0436 0.5903 0.6669 0.8584 1.1010 1.4200 +55 0.0814 0.0591 0.2219 0.2486 0.2422 -0.0925 1.1010 1.5300 +56 0.9681 0.9551 0.0436 0.5903 0.6669 0.8584 1.1010 1.4200 +57 0.0579 -0.0043 -0.1906 0.1032 0.5896 -0.4836 1.4570 1.5300 +58 0.1022 0.2090 0.6433 0.1960 0.7056 0.1120 1.4570 1.1010 +59 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 1.4570 1.4200 +60 0.0997 -0.0046 -0.2657 -0.0128 -0.0495 -0.1079 1.5300 1.4570 +61 1.1538 0.8409 -0.9138 -0.3190 0.4411 -0.7174 1.4200 1.5300 +62 1.0165 0.7553 -0.4609 1.0165 0.7553 -0.4609 1.4200 1.4200 +63 -0.5800 0.9004 0.0000 0.0000 0.5343 0.9025 1.5300 0.9650 +64 -1.7554 1.3145 0.2263 0.2493 0.6803 0.0000 1.1010 0.9650 +65 0.0000 0.5343 0.9025 -0.5800 0.9004 0.0000 0.9650 1.5300 +66 0.2493 0.6803 0.0000 -1.7554 1.3145 0.2263 0.9650 1.1010 + +MiddleBondTorsion Coeffs + +1 -16.7975 -1.2296 -0.2750 1.5300 +2 -14.8790 -3.6581 -0.3138 1.5300 +3 -14.2610 -0.5322 -0.4864 1.5300 +4 -17.2585 -3.6157 -0.8364 1.5300 +5 -21.8842 -7.6764 -0.6868 1.5300 +6 -16.7975 -1.2296 -0.2750 1.5300 +7 0.0000 0.0000 0.0000 1.4200 +8 0.0000 0.0000 0.0000 1.4200 +9 -5.9288 -2.7007 -0.3175 1.4200 +10 -6.8007 -4.6546 -1.4101 1.4200 +11 -21.8842 -7.6764 -0.6868 1.5300 +12 -14.8790 -3.6581 -0.3138 1.5300 +13 -16.7975 -1.2296 -0.2750 1.5300 +14 -14.2610 -0.5322 -0.4864 1.5300 +15 27.5989 -2.3120 0.0000 1.4170 +16 0.0000 -1.1521 0.0000 1.4170 +17 0.0000 4.8255 0.0000 1.4170 +18 0.0000 5.5432 0.0000 1.4170 +19 0.0000 0.0000 0.0000 1.3768 +20 0.0000 4.8228 0.0000 1.4170 +21 0.0000 9.1792 0.0000 1.4170 +22 0.0000 3.9421 0.0000 1.4170 +23 0.0000 0.0000 0.0000 1.5010 +24 0.0000 0.0000 0.0000 1.5010 +25 0.0000 0.0000 0.0000 1.5300 +26 -14.8790 -3.6581 -0.3138 1.5300 +27 -8.0036 -7.7321 -3.0640 1.4570 +28 -6.4529 -6.8122 -1.1632 1.4570 +29 -2.2208 0.5479 -0.3527 1.4570 +30 -3.4611 1.6996 -0.6007 1.4570 +31 -3.3497 1.0143 -3.0062 1.5300 +32 -10.4959 -0.7647 -0.0545 1.5300 +33 -14.2610 -0.5322 -0.4864 1.5300 +34 -21.8842 -7.6764 -0.6868 1.5300 +35 -14.8790 -3.6581 -0.3138 1.5300 +36 -17.2585 -3.6157 -0.8364 1.5300 +37 -16.7975 -1.2296 -0.2750 1.5300 +38 -16.7975 -1.2296 -0.2750 1.5300 +39 -14.2610 -0.5322 -0.4864 1.5300 +40 -14.8790 -3.6581 -0.3138 1.5300 +41 -14.2610 -0.5322 -0.4864 1.5300 +42 -16.7975 -1.2296 -0.2750 1.5300 +43 -15.4174 -7.3055 -1.0749 1.5300 +44 -10.4959 -0.7647 -0.0545 1.5300 +45 0.0000 0.0000 0.0000 1.5300 +46 -8.0036 -7.7321 -3.0640 1.4570 +47 -2.2208 0.5479 -0.3527 1.4570 +48 -21.8842 -7.6764 -0.6868 1.5300 +49 -16.7975 -1.2296 -0.2750 1.5300 +50 -17.2585 -3.6157 -0.8364 1.5300 +51 0.0000 0.0000 0.0000 1.4200 +52 1.2472 0.0000 0.7485 1.4200 +53 0.0000 0.9241 -0.5889 1.4200 +54 -16.7975 -1.2296 -0.2750 1.5300 +55 -14.8790 -3.6581 -0.3138 1.5300 +56 -16.7975 -1.2296 -0.2750 1.5300 +57 -15.4174 -7.3055 -1.0749 1.5300 +58 -10.4959 -0.7647 -0.0545 1.5300 +59 0.0000 0.0000 0.0000 1.5300 +60 -8.0036 -7.7321 -3.0640 1.4570 +61 -21.8842 -7.6764 -0.6868 1.5300 +62 -17.2585 -3.6157 -0.8364 1.5300 +63 1.2472 0.0000 0.7485 1.4200 +64 0.0000 0.9241 -0.5889 1.4200 +65 1.2472 0.0000 0.7485 1.4200 +66 0.0000 0.9241 -0.5889 1.4200 + +BondBond13 Coeffs + +1 0.0000 1.1010 1.4200 +2 0.0000 1.1010 1.5300 +3 0.0000 1.1010 1.1010 +4 0.0000 1.4200 1.4200 +5 0.0000 1.4200 1.5300 +6 0.0000 1.4200 1.1010 +7 0.0000 1.1010 1.3768 +8 0.0000 1.5300 1.3768 +9 0.0000 1.5300 1.4200 +10 0.0000 1.1010 1.4200 +11 0.0000 1.5300 1.4200 +12 0.0000 1.5300 1.1010 +13 0.0000 1.4200 1.1010 +14 0.0000 1.1010 1.1010 +15 53.0000 1.4170 1.4170 +16 -6.2741 1.4170 1.0982 +17 -2.2436 1.4170 1.3768 +18 2.0517 1.3768 1.0982 +19 0.0000 1.4170 1.4200 +20 -1.7077 1.0982 1.0982 +21 2.5085 1.4170 1.5010 +22 0.8743 1.5010 1.0982 +23 0.0000 1.4170 1.5300 +24 0.0000 1.4170 1.5010 +25 0.0000 1.5010 1.1010 +26 0.0000 1.5300 1.1010 +27 0.0000 1.5300 1.4570 +28 0.0000 1.1010 1.4570 +29 0.0000 1.5300 1.0060 +30 0.0000 1.1010 1.0060 +31 0.0000 1.4570 1.4570 +32 0.0000 1.1010 1.4570 +33 0.0000 1.1010 1.1010 +34 0.0000 1.5300 1.4200 +35 0.0000 1.5300 1.1010 +36 0.0000 1.4200 1.4200 +37 0.0000 1.4200 1.1010 +38 0.0000 1.1010 1.4200 +39 0.0000 1.1010 1.1010 +40 0.0000 1.1010 1.5300 +41 0.0000 1.1010 1.1010 +42 0.0000 1.1010 1.4200 +43 0.0000 1.4570 1.5300 +44 0.0000 1.4570 1.1010 +45 0.0000 1.4570 1.4200 +46 0.0000 1.5300 1.4570 +47 0.0000 1.5300 1.0060 +48 0.0000 1.4200 1.5300 +49 0.0000 1.4200 1.1010 +50 0.0000 1.4200 1.4200 +51 0.0000 1.5300 1.3768 +52 0.0000 1.5300 0.9650 +53 0.0000 1.1010 0.9650 +54 0.0000 1.1010 1.4200 +55 0.0000 1.1010 1.5300 +56 0.0000 1.1010 1.4200 +57 0.0000 1.4570 1.5300 +58 0.0000 1.4570 1.1010 +59 0.0000 1.4570 1.4200 +60 0.0000 1.5300 1.4570 +61 0.0000 1.4200 1.5300 +62 0.0000 1.4200 1.4200 +63 0.0000 1.5300 0.9650 +64 0.0000 1.1010 0.9650 +65 0.0000 0.9650 1.5300 +66 0.0000 0.9650 1.1010 + +AngleTorsion Coeffs + +1 2.3668 2.4920 -1.0122 -0.1892 0.4918 0.7273 110.7700 111.2700 +2 0.3113 0.4516 -0.1988 -0.2454 0.0000 -0.1136 110.7700 112.6700 +3 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.7700 110.7700 +4 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 111.2700 111.2700 +5 0.9672 -0.7566 -1.2331 0.5623 -0.3041 -0.4015 111.2700 112.6700 +6 -0.1892 0.4918 0.7273 2.3668 2.4920 -1.0122 111.2700 110.7700 +7 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 108.7280 102.9695 +8 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 111.2700 102.9695 +9 -2.7466 1.4877 -0.8955 0.5676 0.9450 0.0703 111.2700 104.5000 +10 -1.8234 1.6393 0.5144 -0.7777 0.4340 -0.6653 108.7280 104.5000 +11 0.5623 -0.3041 -0.4015 0.9672 -0.7566 -1.2331 112.6700 111.2700 +12 -0.2454 0.0000 -0.1136 0.3113 0.4516 -0.1988 112.6700 110.7700 +13 -0.1892 0.4918 0.7273 2.3668 2.4920 -1.0122 111.2700 110.7700 +14 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.7700 110.7700 +15 1.9767 1.0239 0.0000 1.9767 1.0239 0.0000 118.9000 118.9000 +16 0.0000 2.5014 0.0000 0.0000 2.7147 0.0000 118.9000 117.9400 +17 0.0000 10.0155 0.0000 0.0000 1.7404 0.0000 118.9000 123.4200 +18 0.0000 2.5706 0.0000 0.0000 1.8729 0.0000 123.4200 117.9400 +19 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 123.4200 102.9695 +20 0.0000 2.4501 0.0000 0.0000 2.4501 0.0000 117.9400 117.9400 +21 0.0000 3.8987 0.0000 0.0000 -4.4683 0.0000 118.9000 120.0500 +22 0.0000 -0.1242 0.0000 0.0000 3.4601 0.0000 120.0500 117.9400 +23 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 120.0500 108.4000 +24 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 120.0500 111.0000 +25 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 108.4000 110.7700 +26 -0.2454 0.0000 -0.1136 0.3113 0.4516 -0.1988 112.6700 110.7700 +27 -2.7883 1.5193 1.4796 1.2031 1.3645 -0.7071 111.9100 112.4436 +28 -2.6321 0.9353 -0.8398 -1.3582 0.1465 -0.5729 110.6204 112.4436 +29 -3.3430 4.4558 -0.0346 0.2873 -0.8072 -0.0960 111.9100 110.9538 +30 -3.9582 2.0063 0.3213 -0.4294 -0.4442 -0.6141 110.6204 110.9538 +31 1.3673 0.4528 -2.7700 1.3673 0.4528 -2.7700 111.9100 111.9100 +32 0.5111 1.6328 -1.0155 -1.1075 0.2820 0.8318 110.7700 111.9100 +33 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.7700 110.7700 +34 0.5623 -0.3041 -0.4015 0.9672 -0.7566 -1.2331 112.6700 111.2700 +35 -0.2454 0.0000 -0.1136 0.3113 0.4516 -0.1988 112.6700 110.7700 +36 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 111.2700 111.2700 +37 -0.1892 0.4918 0.7273 2.3668 2.4920 -1.0122 111.2700 110.7700 +38 2.3668 2.4920 -1.0122 -0.1892 0.4918 0.7273 110.7700 111.2700 +39 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.7700 110.7700 +40 0.3113 0.4516 -0.1988 -0.2454 0.0000 -0.1136 110.7700 112.6700 +41 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.7700 110.7700 +42 2.3668 2.4920 -1.0122 -0.1892 0.4918 0.7273 110.7700 111.2700 +43 2.0125 0.9440 -2.7612 -1.9225 -1.3450 0.2210 111.9100 112.6700 +44 -1.1075 0.2820 0.8318 0.5111 1.6328 -1.0155 111.9100 110.7700 +45 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 111.9100 111.2700 +46 -2.7883 1.5193 1.4796 1.2031 1.3645 -0.7071 111.9100 112.4436 +47 -3.3430 4.4558 -0.0346 0.2873 -0.8072 -0.0960 111.9100 110.9538 +48 0.9672 -0.7566 -1.2331 0.5623 -0.3041 -0.4015 111.2700 112.6700 +49 -0.1892 0.4918 0.7273 2.3668 2.4920 -1.0122 111.2700 110.7700 +50 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 111.2700 111.2700 +51 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 111.2700 102.9695 +52 -3.5903 2.5225 0.4888 0.8726 -0.3577 0.3888 111.2700 105.8000 +53 -3.4060 1.6396 0.0737 0.0000 -0.2810 -0.5944 108.7280 105.8000 +54 2.3668 2.4920 -1.0122 -0.1892 0.4918 0.7273 110.7700 111.2700 +55 0.3113 0.4516 -0.1988 -0.2454 0.0000 -0.1136 110.7700 112.6700 +56 2.3668 2.4920 -1.0122 -0.1892 0.4918 0.7273 110.7700 111.2700 +57 2.0125 0.9440 -2.7612 -1.9225 -1.3450 0.2210 111.9100 112.6700 +58 -1.1075 0.2820 0.8318 0.5111 1.6328 -1.0155 111.9100 110.7700 +59 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 111.9100 111.2700 +60 -2.7883 1.5193 1.4796 1.2031 1.3645 -0.7071 111.9100 112.4436 +61 0.9672 -0.7566 -1.2331 0.5623 -0.3041 -0.4015 111.2700 112.6700 +62 0.5511 0.9737 -0.6673 0.5511 0.9737 -0.6673 111.2700 111.2700 +63 -3.5903 2.5225 0.4888 0.8726 -0.3577 0.3888 111.2700 105.8000 +64 -3.4060 1.6396 0.0737 0.0000 -0.2810 -0.5944 108.7280 105.8000 +65 0.8726 -0.3577 0.3888 -3.5903 2.5225 0.4888 105.8000 111.2700 +66 0.0000 -0.2810 -0.5944 -3.4060 1.6396 0.0737 105.8000 108.7280 + +Atoms # full + +1 1 1 0.000000 25.246496201 -1.871744037 -8.651348114 0 0 0 # c2 +2 1 2 0.000000 25.610639572 -3.288228035 -8.165973663 0 0 0 # c3m +3 1 2 0.000000 24.731319427 -4.483242989 -8.675741196 0 0 0 # c3m +4 1 2 0.000000 18.703355789 9.118826866 -4.174236774 0 0 0 # c3m +5 1 2 0.000000 18.099748611 8.263649940 -5.343001842 0 0 0 # c3m +6 1 1 0.000000 19.081827164 7.609607220 -6.334177017 0 0 0 # c2 +7 1 3 0.100000 26.190139771 -4.295329094 -9.220970154 0 0 0 # o3e +8 1 3 0.100000 17.971729279 9.827675819 -5.367077827 0 0 0 # o3e +9 1 4 0.000000 20.263877869 5.733595848 -6.736782074 0 0 0 # cp +10 1 4 0.000000 19.777191162 4.983679771 -7.809411049 0 0 0 # cp +11 1 4 0.000000 20.667026520 4.390971184 -8.707633972 0 0 0 # cp +12 1 4 0.000000 22.043539047 4.548151016 -8.533248901 0 0 0 # cp +13 1 4 0.000000 22.530214310 5.298062801 -7.460619926 0 0 0 # cp +14 1 4 0.000000 21.640394211 5.890783787 -6.562390804 0 0 0 # cp +15 1 5 0.000000 23.005182266 3.906831026 -9.503917694 0 0 0 # c +16 1 6 0.000000 24.286390305 4.758069992 -9.590908051 0 0 0 # c3 +17 1 6 0.000000 22.342786789 3.812531948 -10.891778946 0 0 0 # c3 +18 1 4 0.000000 23.361906052 2.519830942 -9.029184341 0 0 0 # cp +19 1 4 0.000000 24.458705902 2.330889940 -8.185920715 0 0 0 # cp +20 1 4 0.000000 24.788816452 1.047963977 -7.745534897 0 0 0 # cp +21 1 4 0.000000 24.022008896 -0.046867002 -8.149927139 0 0 0 # cp +22 1 4 0.000000 22.925630569 0.140873000 -8.992565155 0 0 0 # cp +23 1 4 0.000000 22.595729828 1.424777985 -9.432847977 0 0 0 # cp +24 1 7 0.000000 19.414030075 6.299984932 -5.878956795 0 0 0 # oc +25 1 7 0.000000 24.338140488 -1.273216963 -7.729548931 0 0 0 # oc +26 1 8 0.000000 26.150024414 -1.266484976 -8.715751648 0 0 0 # hc +27 1 8 0.000000 24.778566360 -1.933199048 -9.633987427 0 0 0 # hc +28 1 8 0.000000 25.929294586 -2.927781105 -7.187973022 0 0 0 # hc +29 1 8 0.000000 24.549385071 -5.308847904 -7.987242222 0 0 0 # hc +30 1 8 0.000000 23.904827118 -4.254271030 -9.348136902 0 0 0 # hc +31 1 8 0.000000 18.194736481 9.091637611 -3.210949898 0 0 0 # hc +32 1 8 0.000000 19.788938522 9.208558083 -4.119643211 0 0 0 # hc +33 1 8 0.000000 17.399309158 7.432216167 -5.407801151 0 0 0 # hc +34 1 8 0.000000 18.616250992 7.545570850 -7.316913128 0 0 0 # hc +35 1 8 0.000000 19.987047195 8.212498665 -6.399401188 0 0 0 # hc +36 1 8 0.000000 18.713207245 4.862418175 -7.944396973 0 0 0 # hc +37 1 8 0.000000 20.290582657 3.811013937 -9.537291527 0 0 0 # hc +38 1 8 0.000000 23.594188690 5.419342995 -7.325634956 0 0 0 # hc +39 1 8 0.000000 22.016828537 6.470753193 -5.732734203 0 0 0 # hc +40 1 8 0.000000 24.982324600 4.297049999 -10.290958405 0 0 0 # hc +41 1 8 0.000000 24.034254074 5.760886192 -9.936174393 0 0 0 # hc +42 1 8 0.000000 24.749143600 4.819462776 -8.606439590 0 0 0 # hc +43 1 8 0.000000 23.034755707 3.349560976 -11.594371796 0 0 0 # hc +44 1 8 0.000000 21.438467026 3.207982063 -10.822364807 0 0 0 # hc +45 1 8 0.000000 22.084871292 4.811752796 -11.239845276 0 0 0 # hc +46 1 8 0.000000 25.050769806 3.177418947 -7.873311996 0 0 0 # hc +47 1 8 0.000000 25.636974335 0.901705027 -7.093626022 0 0 0 # hc +48 1 8 0.000000 22.333581924 -0.705653012 -9.305183411 0 0 0 # hc +49 1 8 0.000000 21.747369766 1.570054054 -10.084861755 0 0 0 # hc +50 1 1 0.000000 25.222612381 -4.200571060 0.463562995 0 0 0 # c2 +51 1 2 0.000000 25.832977295 -5.360119820 -0.347983003 0 0 0 # c3m +52 1 2 0.000000 27.389345169 -5.551681042 -0.290704012 0 0 0 # c3m +53 1 2 0.000000 20.635538101 8.396902084 -1.535487056 0 0 0 # c3m +54 1 2 0.000000 21.957460403 8.158697128 -0.723941982 0 0 0 # c3m +55 1 1 0.000000 22.041673660 6.895174980 0.154822007 0 0 0 # c2 +56 1 3 0.100000 26.447082520 -6.565405846 0.448491007 0 0 0 # o3e +57 1 3 0.100000 20.959102631 9.287891388 -0.285212994 0 0 0 # o3e +58 1 4 0.000000 22.680345535 4.733430862 0.158248007 0 0 0 # cp +59 1 4 0.000000 23.824728012 4.488029957 0.920358002 0 0 0 # cp +60 1 4 0.000000 23.901163101 3.343113899 1.716701984 0 0 0 # cp +61 1 4 0.000000 22.833225250 2.443607092 1.750934958 0 0 0 # cp +62 1 4 0.000000 21.688846588 2.689002037 0.988831997 0 0 0 # cp +63 1 4 0.000000 21.612403870 3.833913088 0.192488998 0 0 0 # cp +64 1 5 0.000000 22.916360855 1.205785036 2.611289978 0 0 0 # c +65 1 6 0.000000 21.501018524 0.810333014 3.075165987 0 0 0 # c3 +66 1 6 0.000000 23.808341980 1.493147969 3.834667921 0 0 0 # c3 +67 1 4 0.000000 23.514062881 0.070205003 1.817157984 0 0 0 # cp +68 1 4 0.000000 22.684833527 -0.782863975 1.085504055 0 0 0 # cp +69 1 4 0.000000 23.237234116 -1.833225965 0.349765003 0 0 0 # cp +70 1 4 0.000000 24.619955063 -2.031138897 0.346872985 0 0 0 # cp +71 1 4 0.000000 25.449554443 -1.179108977 1.077638030 0 0 0 # cp +72 1 4 0.000000 24.896312714 -0.128257006 1.813575983 0 0 0 # cp +73 1 7 0.000000 22.607131958 5.827101231 -0.602173984 0 0 0 # oc +74 1 7 0.000000 25.147769928 -3.035661936 -0.355791986 0 0 0 # oc +75 1 8 0.000000 24.221906662 -4.476489067 0.794990003 0 0 0 # hc +76 1 8 0.000000 25.849754333 -3.994390965 1.331357956 0 0 0 # hc +77 1 8 0.000000 25.097463608 -5.257826805 -1.146129966 0 0 0 # hc +78 1 8 0.000000 27.892013550 -5.893630028 -1.196079969 0 0 0 # hc +79 1 8 0.000000 27.964216232 -4.855231762 0.319745004 0 0 0 # hc +80 1 8 0.000000 20.720872879 8.854673386 -2.520912886 0 0 0 # hc +81 1 8 0.000000 19.840383530 7.656352043 -1.438712001 0 0 0 # hc +82 1 8 0.000000 23.017726898 8.120765686 -0.970986009 0 0 0 # hc +83 1 8 0.000000 22.669095993 7.097908974 1.022259951 0 0 0 # hc +84 1 8 0.000000 21.041725159 6.616360188 0.486577004 0 0 0 # hc +85 1 8 0.000000 24.650087357 5.183434963 0.894133985 0 0 0 # hc +86 1 8 0.000000 24.786277771 3.153367996 2.306194067 0 0 0 # hc +87 1 8 0.000000 20.863473892 1.993592978 1.015051961 0 0 0 # hc +88 1 8 0.000000 20.727291107 4.023673058 -0.397009999 0 0 0 # hc +89 1 8 0.000000 21.558345795 -0.083162002 3.696341038 0 0 0 # hc +90 1 8 0.000000 21.065618515 1.626867056 3.651936054 0 0 0 # hc +91 1 8 0.000000 20.876825333 0.608124971 2.205033064 0 0 0 # hc +92 1 8 0.000000 23.870355606 0.601037025 4.457283974 0 0 0 # hc +93 1 8 0.000000 24.807676315 1.770614982 3.498578072 0 0 0 # hc +94 1 8 0.000000 23.380037308 2.311306953 4.412462234 0 0 0 # hc +95 1 8 0.000000 21.616291046 -0.629218996 1.087699056 0 0 0 # hc +96 1 8 0.000000 22.596149445 -2.493021011 -0.215893999 0 0 0 # hc +97 1 8 0.000000 26.518102646 -1.332759023 1.075448036 0 0 0 # hc +98 1 8 0.000000 25.538236618 0.531040013 2.379035950 0 0 0 # hc +99 1 9 0.000000 16.072591782 12.338866234 -0.174325004 0 0 0 # na +100 1 1 0.000000 16.557256699 11.130316734 0.587288976 0 0 0 # c2 +101 1 1 0.000000 18.074571609 10.998808861 0.366084993 0 0 0 # c2 +102 1 9 -0.025000 18.353967667 10.832372665 -1.107717037 0 0 0 # na +103 1 9 -0.025000 14.920715332 15.017822266 -0.200534001 0 0 0 # na +104 1 1 0.000000 16.390434265 14.791102409 -0.460442007 0 0 0 # c2 +105 1 1 0.000000 16.852983475 13.538317680 0.304865986 0 0 0 # c2 +106 1 10 0.000000 16.263746262 12.190562248 -1.257431984 0 0 0 # hn +107 1 8 0.000000 16.025363922 10.195071220 0.210473999 0 0 0 # hc +108 1 8 0.000000 16.347120285 11.269214630 1.698830962 0 0 0 # hc +109 1 8 0.000000 18.467184067 10.092565536 0.934801996 0 0 0 # hc +110 1 8 0.000000 18.592388153 11.941304207 0.744638979 0 0 0 # hc +111 1 10 0.000000 17.843862534 9.919928551 -1.479779005 0 0 0 # hn +112 1 10 0.000000 19.448190689 10.736482620 -1.267521024 0 0 0 # hn +113 1 10 0.000000 14.344121933 14.136246681 -0.550131977 0 0 0 # hn +114 1 10 0.000000 14.583471298 15.922760963 -0.747138977 0 0 0 # hn +115 1 8 0.000000 16.984062195 15.696007729 -0.102596000 0 0 0 # hc +116 1 8 0.000000 16.562423706 14.639820099 -1.577000022 0 0 0 # hc +117 1 8 0.000000 16.674821854 13.685671806 1.420761943 0 0 0 # hc +118 1 8 0.000000 17.963953018 13.362975121 0.117853999 0 0 0 # hc + +Bonds + +1 1 1 26 +2 2 1 2 +3 1 1 27 +4 3 1 25 +5 4 2 7 +6 5 2 3 +7 6 2 28 +8 4 3 7 +9 6 3 29 +10 6 3 30 +11 6 4 32 +12 4 4 8 +13 5 4 5 +14 6 4 31 +15 4 5 8 +16 2 6 5 +17 6 5 33 +18 3 6 24 +19 1 6 34 +20 1 6 35 +21 7 9 14 +22 7 9 10 +23 8 9 24 +24 7 10 11 +25 9 10 36 +26 7 11 12 +27 9 11 37 +28 7 12 13 +29 10 12 15 +30 7 13 14 +31 9 13 38 +32 9 14 39 +33 11 15 16 +34 11 15 17 +35 10 18 15 +36 12 16 40 +37 12 16 41 +38 12 16 42 +39 12 17 43 +40 12 17 44 +41 12 17 45 +42 7 18 23 +43 7 18 19 +44 7 19 20 +45 9 19 46 +46 7 20 21 +47 9 20 47 +48 7 21 22 +49 8 21 25 +50 7 22 23 +51 9 22 48 +52 9 23 49 +53 1 50 75 +54 2 50 51 +55 1 50 76 +56 3 50 74 +57 4 51 56 +58 5 51 52 +59 6 51 77 +60 4 52 56 +61 6 52 78 +62 6 52 79 +63 6 53 81 +64 4 53 57 +65 5 53 54 +66 6 53 80 +67 4 54 57 +68 2 55 54 +69 6 54 82 +70 3 55 73 +71 1 55 83 +72 1 55 84 +73 7 58 63 +74 7 58 59 +75 8 58 73 +76 7 59 60 +77 9 59 85 +78 7 60 61 +79 9 60 86 +80 7 61 62 +81 10 61 64 +82 7 62 63 +83 9 62 87 +84 9 63 88 +85 11 64 65 +86 11 64 66 +87 10 67 64 +88 12 65 89 +89 12 65 90 +90 12 65 91 +91 12 66 92 +92 12 66 93 +93 12 66 94 +94 7 67 72 +95 7 67 68 +96 7 68 69 +97 9 68 95 +98 7 69 70 +99 9 69 96 +100 7 70 71 +101 8 70 74 +102 7 71 72 +103 9 71 97 +104 9 72 98 +105 13 100 99 +106 13 105 99 +107 14 99 106 +108 15 100 101 +109 1 100 107 +110 1 100 108 +111 13 101 102 +112 1 101 109 +113 1 101 110 +114 14 102 111 +115 14 102 112 +116 13 104 103 +117 14 103 113 +118 14 103 114 +119 15 104 105 +120 1 104 115 +121 1 104 116 +122 1 105 117 +123 1 105 118 + +Angles + +1 1 2 1 26 +2 2 26 1 27 +3 3 25 1 26 +4 1 2 1 27 +5 4 2 1 25 +6 3 25 1 27 +7 5 1 2 7 +8 6 1 2 3 +9 7 1 2 28 +10 8 3 2 7 +11 9 7 2 28 +12 10 3 2 28 +13 8 2 3 7 +14 10 2 3 29 +15 10 2 3 30 +16 9 7 3 29 +17 9 7 3 30 +18 11 29 3 30 +19 9 8 4 32 +20 10 5 4 32 +21 11 32 4 31 +22 8 5 4 8 +23 9 8 4 31 +24 10 5 4 31 +25 8 4 5 8 +26 6 6 5 4 +27 10 4 5 33 +28 5 6 5 8 +29 9 8 5 33 +30 7 6 5 33 +31 4 5 6 24 +32 1 5 6 34 +33 1 5 6 35 +34 3 24 6 34 +35 3 24 6 35 +36 2 34 6 35 +37 12 2 7 3 +38 12 4 8 5 +39 13 14 9 10 +40 14 14 9 24 +41 14 10 9 24 +42 13 9 10 11 +43 15 9 10 36 +44 15 11 10 36 +45 13 10 11 12 +46 15 10 11 37 +47 15 12 11 37 +48 13 11 12 13 +49 16 11 12 15 +50 16 13 12 15 +51 13 12 13 14 +52 15 12 13 38 +53 15 14 13 38 +54 13 9 14 13 +55 15 9 14 39 +56 15 13 14 39 +57 17 12 15 16 +58 17 12 15 17 +59 18 12 15 18 +60 19 16 15 17 +61 17 18 15 16 +62 17 18 15 17 +63 20 15 16 40 +64 20 15 16 41 +65 20 15 16 42 +66 21 40 16 41 +67 21 40 16 42 +68 21 41 16 42 +69 20 15 17 43 +70 20 15 17 44 +71 20 15 17 45 +72 21 43 17 44 +73 21 43 17 45 +74 21 44 17 45 +75 16 23 18 15 +76 16 19 18 15 +77 13 23 18 19 +78 13 18 19 20 +79 15 18 19 46 +80 15 20 19 46 +81 13 19 20 21 +82 15 19 20 47 +83 15 21 20 47 +84 13 20 21 22 +85 14 20 21 25 +86 14 22 21 25 +87 13 21 22 23 +88 15 21 22 48 +89 15 23 22 48 +90 13 18 23 22 +91 15 18 23 49 +92 15 22 23 49 +93 22 6 24 9 +94 22 1 25 21 +95 1 51 50 75 +96 2 75 50 76 +97 3 74 50 75 +98 1 51 50 76 +99 4 51 50 74 +100 3 74 50 76 +101 5 50 51 56 +102 6 50 51 52 +103 7 50 51 77 +104 8 52 51 56 +105 9 56 51 77 +106 10 52 51 77 +107 8 51 52 56 +108 10 51 52 78 +109 10 51 52 79 +110 9 56 52 78 +111 9 56 52 79 +112 11 78 52 79 +113 9 57 53 81 +114 10 54 53 81 +115 11 81 53 80 +116 8 54 53 57 +117 9 57 53 80 +118 10 54 53 80 +119 8 53 54 57 +120 6 55 54 53 +121 10 53 54 82 +122 5 55 54 57 +123 9 57 54 82 +124 7 55 54 82 +125 4 54 55 73 +126 1 54 55 83 +127 1 54 55 84 +128 3 73 55 83 +129 3 73 55 84 +130 2 83 55 84 +131 12 51 56 52 +132 12 53 57 54 +133 13 63 58 59 +134 14 63 58 73 +135 14 59 58 73 +136 13 58 59 60 +137 15 58 59 85 +138 15 60 59 85 +139 13 59 60 61 +140 15 59 60 86 +141 15 61 60 86 +142 13 60 61 62 +143 16 60 61 64 +144 16 62 61 64 +145 13 61 62 63 +146 15 61 62 87 +147 15 63 62 87 +148 13 58 63 62 +149 15 58 63 88 +150 15 62 63 88 +151 17 61 64 65 +152 17 61 64 66 +153 18 61 64 67 +154 19 65 64 66 +155 17 67 64 65 +156 17 67 64 66 +157 20 64 65 89 +158 20 64 65 90 +159 20 64 65 91 +160 21 89 65 90 +161 21 89 65 91 +162 21 90 65 91 +163 20 64 66 92 +164 20 64 66 93 +165 20 64 66 94 +166 21 92 66 93 +167 21 92 66 94 +168 21 93 66 94 +169 16 72 67 64 +170 16 68 67 64 +171 13 72 67 68 +172 13 67 68 69 +173 15 67 68 95 +174 15 69 68 95 +175 13 68 69 70 +176 15 68 69 96 +177 15 70 69 96 +178 13 69 70 71 +179 14 69 70 74 +180 14 71 70 74 +181 13 70 71 72 +182 15 70 71 97 +183 15 72 71 97 +184 13 67 72 71 +185 15 67 72 98 +186 15 71 72 98 +187 22 55 73 58 +188 22 50 74 70 +189 23 100 99 105 +190 24 100 99 106 +191 24 105 99 106 +192 25 101 100 99 +193 26 107 100 99 +194 26 108 100 99 +195 27 101 100 107 +196 27 101 100 108 +197 2 107 100 108 +198 25 100 101 102 +199 27 100 101 109 +200 27 100 101 110 +201 26 109 101 102 +202 26 110 101 102 +203 2 109 101 110 +204 24 101 102 111 +205 24 101 102 112 +206 28 111 102 112 +207 24 104 103 113 +208 24 104 103 114 +209 28 113 103 114 +210 25 105 104 103 +211 26 115 104 103 +212 26 116 104 103 +213 27 105 104 115 +214 27 105 104 116 +215 2 115 104 116 +216 25 104 105 99 +217 26 117 105 99 +218 26 118 105 99 +219 27 104 105 117 +220 27 104 105 118 +221 2 117 105 118 + +Dihedrals + +1 1 26 1 2 7 +2 2 26 1 2 3 +3 3 26 1 2 28 +4 1 27 1 2 7 +5 2 27 1 2 3 +6 3 27 1 2 28 +7 4 25 1 2 7 +8 5 25 1 2 3 +9 6 25 1 2 28 +10 7 26 1 25 21 +11 8 2 1 25 21 +12 7 27 1 25 21 +13 9 1 2 7 3 +14 10 28 2 7 3 +15 11 1 2 3 7 +16 12 1 2 3 29 +17 12 1 2 3 30 +18 13 7 2 3 29 +19 13 7 2 3 30 +20 13 7 3 2 28 +21 14 28 2 3 29 +22 14 28 2 3 30 +23 10 29 3 7 2 +24 10 30 3 7 2 +25 10 32 4 8 5 +26 10 31 4 8 5 +27 13 8 5 4 32 +28 12 6 5 4 32 +29 14 32 4 5 33 +30 11 6 5 4 8 +31 13 8 4 5 33 +32 13 8 5 4 31 +33 12 6 5 4 31 +34 14 31 4 5 33 +35 9 6 5 8 4 +36 10 33 5 8 4 +37 5 24 6 5 4 +38 2 34 6 5 4 +39 2 35 6 5 4 +40 4 24 6 5 8 +41 1 34 6 5 8 +42 1 35 6 5 8 +43 6 24 6 5 33 +44 3 34 6 5 33 +45 3 35 6 5 33 +46 8 5 6 24 9 +47 7 34 6 24 9 +48 7 35 6 24 9 +49 15 10 9 14 13 +50 16 10 9 14 39 +51 17 13 14 9 24 +52 18 24 9 14 39 +53 15 14 9 10 11 +54 16 14 9 10 36 +55 17 11 10 9 24 +56 18 24 9 10 36 +57 19 14 9 24 6 +58 19 10 9 24 6 +59 15 9 10 11 12 +60 16 9 10 11 37 +61 16 12 11 10 36 +62 20 36 10 11 37 +63 15 10 11 12 13 +64 21 10 11 12 15 +65 16 13 12 11 37 +66 22 15 12 11 37 +67 15 11 12 13 14 +68 16 11 12 13 38 +69 21 14 13 12 15 +70 22 15 12 13 38 +71 23 11 12 15 16 +72 23 11 12 15 17 +73 24 11 12 15 18 +74 23 13 12 15 16 +75 23 13 12 15 17 +76 24 13 12 15 18 +77 15 12 13 14 9 +78 16 12 13 14 39 +79 16 9 14 13 38 +80 20 38 13 14 39 +81 25 12 15 16 40 +82 25 12 15 16 41 +83 25 12 15 16 42 +84 26 17 15 16 40 +85 26 17 15 16 41 +86 26 17 15 16 42 +87 25 18 15 16 40 +88 25 18 15 16 41 +89 25 18 15 16 42 +90 25 12 15 17 43 +91 25 12 15 17 44 +92 25 12 15 17 45 +93 26 16 15 17 43 +94 26 16 15 17 44 +95 26 16 15 17 45 +96 25 18 15 17 43 +97 25 18 15 17 44 +98 25 18 15 17 45 +99 24 23 18 15 12 +100 24 19 18 15 12 +101 23 23 18 15 16 +102 23 19 18 15 16 +103 23 23 18 15 17 +104 23 19 18 15 17 +105 21 22 23 18 15 +106 22 15 18 23 49 +107 15 19 18 23 22 +108 16 19 18 23 49 +109 21 20 19 18 15 +110 22 15 18 19 46 +111 15 23 18 19 20 +112 16 23 18 19 46 +113 15 18 19 20 21 +114 16 18 19 20 47 +115 16 21 20 19 46 +116 20 46 19 20 47 +117 15 19 20 21 22 +118 17 19 20 21 25 +119 16 22 21 20 47 +120 18 25 21 20 47 +121 15 20 21 22 23 +122 16 20 21 22 48 +123 17 23 22 21 25 +124 18 25 21 22 48 +125 19 20 21 25 1 +126 19 22 21 25 1 +127 15 21 22 23 18 +128 16 21 22 23 49 +129 16 18 23 22 48 +130 20 48 22 23 49 +131 1 75 50 51 56 +132 2 75 50 51 52 +133 3 75 50 51 77 +134 1 76 50 51 56 +135 2 76 50 51 52 +136 3 76 50 51 77 +137 4 74 50 51 56 +138 5 74 50 51 52 +139 6 74 50 51 77 +140 7 75 50 74 70 +141 8 51 50 74 70 +142 7 76 50 74 70 +143 9 50 51 56 52 +144 10 77 51 56 52 +145 11 50 51 52 56 +146 12 50 51 52 78 +147 12 50 51 52 79 +148 13 56 51 52 78 +149 13 56 51 52 79 +150 13 56 52 51 77 +151 14 77 51 52 78 +152 14 77 51 52 79 +153 10 78 52 56 51 +154 10 79 52 56 51 +155 10 81 53 57 54 +156 10 80 53 57 54 +157 13 57 54 53 81 +158 12 55 54 53 81 +159 14 81 53 54 82 +160 11 55 54 53 57 +161 13 57 53 54 82 +162 13 57 54 53 80 +163 12 55 54 53 80 +164 14 80 53 54 82 +165 9 55 54 57 53 +166 10 82 54 57 53 +167 5 73 55 54 53 +168 2 83 55 54 53 +169 2 84 55 54 53 +170 4 73 55 54 57 +171 1 83 55 54 57 +172 1 84 55 54 57 +173 6 73 55 54 82 +174 3 83 55 54 82 +175 3 84 55 54 82 +176 8 54 55 73 58 +177 7 83 55 73 58 +178 7 84 55 73 58 +179 15 59 58 63 62 +180 16 59 58 63 88 +181 17 62 63 58 73 +182 18 73 58 63 88 +183 15 63 58 59 60 +184 16 63 58 59 85 +185 17 60 59 58 73 +186 18 73 58 59 85 +187 19 63 58 73 55 +188 19 59 58 73 55 +189 15 58 59 60 61 +190 16 58 59 60 86 +191 16 61 60 59 85 +192 20 85 59 60 86 +193 15 59 60 61 62 +194 21 59 60 61 64 +195 16 62 61 60 86 +196 22 64 61 60 86 +197 15 60 61 62 63 +198 16 60 61 62 87 +199 21 63 62 61 64 +200 22 64 61 62 87 +201 23 60 61 64 65 +202 23 60 61 64 66 +203 24 60 61 64 67 +204 23 62 61 64 65 +205 23 62 61 64 66 +206 24 62 61 64 67 +207 15 61 62 63 58 +208 16 61 62 63 88 +209 16 58 63 62 87 +210 20 87 62 63 88 +211 25 61 64 65 89 +212 25 61 64 65 90 +213 25 61 64 65 91 +214 26 66 64 65 89 +215 26 66 64 65 90 +216 26 66 64 65 91 +217 25 67 64 65 89 +218 25 67 64 65 90 +219 25 67 64 65 91 +220 25 61 64 66 92 +221 25 61 64 66 93 +222 25 61 64 66 94 +223 26 65 64 66 92 +224 26 65 64 66 93 +225 26 65 64 66 94 +226 25 67 64 66 92 +227 25 67 64 66 93 +228 25 67 64 66 94 +229 24 72 67 64 61 +230 24 68 67 64 61 +231 23 72 67 64 65 +232 23 68 67 64 65 +233 23 72 67 64 66 +234 23 68 67 64 66 +235 21 71 72 67 64 +236 22 64 67 72 98 +237 15 68 67 72 71 +238 16 68 67 72 98 +239 21 69 68 67 64 +240 22 64 67 68 95 +241 15 72 67 68 69 +242 16 72 67 68 95 +243 15 67 68 69 70 +244 16 67 68 69 96 +245 16 70 69 68 95 +246 20 95 68 69 96 +247 15 68 69 70 71 +248 17 68 69 70 74 +249 16 71 70 69 96 +250 18 74 70 69 96 +251 15 69 70 71 72 +252 16 69 70 71 97 +253 17 72 71 70 74 +254 18 74 70 71 97 +255 19 69 70 74 50 +256 19 71 70 74 50 +257 15 70 71 72 67 +258 16 70 71 72 98 +259 16 67 72 71 97 +260 20 97 71 72 98 +261 27 101 100 99 105 +262 28 107 100 99 105 +263 28 108 100 99 105 +264 29 101 100 99 106 +265 30 107 100 99 106 +266 30 108 100 99 106 +267 27 104 105 99 100 +268 28 117 105 99 100 +269 28 118 105 99 100 +270 29 104 105 99 106 +271 30 117 105 99 106 +272 30 118 105 99 106 +273 31 99 100 101 102 +274 32 109 101 100 99 +275 32 110 101 100 99 +276 32 107 100 101 102 +277 33 107 100 101 109 +278 33 107 100 101 110 +279 32 108 100 101 102 +280 33 108 100 101 109 +281 33 108 100 101 110 +282 29 100 101 102 111 +283 29 100 101 102 112 +284 30 109 101 102 111 +285 30 109 101 102 112 +286 30 110 101 102 111 +287 30 110 101 102 112 +288 29 105 104 103 113 +289 30 115 104 103 113 +290 30 116 104 103 113 +291 29 105 104 103 114 +292 30 115 104 103 114 +293 30 116 104 103 114 +294 31 103 104 105 99 +295 32 117 105 104 103 +296 32 118 105 104 103 +297 32 115 104 105 99 +298 33 115 104 105 117 +299 33 115 104 105 118 +300 32 116 104 105 99 +301 33 116 104 105 117 +302 33 116 104 105 118 + +Impropers + +1 1 14 9 10 24 +2 2 9 10 11 36 +3 2 10 11 12 37 +4 3 11 12 13 15 +5 2 12 13 14 38 +6 2 9 14 13 39 +7 3 23 18 19 15 +8 2 18 19 20 46 +9 2 19 20 21 47 +10 1 20 21 22 25 +11 2 21 22 23 48 +12 2 18 23 22 49 +13 1 63 58 59 73 +14 2 58 59 60 85 +15 2 59 60 61 86 +16 3 60 61 62 64 +17 2 61 62 63 87 +18 2 58 63 62 88 +19 3 72 67 68 64 +20 2 67 68 69 95 +21 2 68 69 70 96 +22 1 69 70 71 74 +23 2 70 71 72 97 +24 2 67 72 71 98 +25 4 100 99 105 106 +26 5 101 102 111 112 +27 5 104 103 113 114 +28 6 2 1 26 27 +29 7 2 1 25 26 +30 8 25 1 27 26 +31 7 2 1 25 27 +32 9 1 2 3 7 +33 10 1 2 7 28 +34 11 1 2 3 28 +35 12 3 2 7 28 +36 12 2 3 7 29 +37 12 2 3 7 30 +38 13 2 3 29 30 +39 14 7 3 29 30 +40 12 5 4 8 32 +41 14 8 4 32 31 +42 13 5 4 32 31 +43 12 5 4 8 31 +44 9 6 5 4 8 +45 12 4 5 8 33 +46 11 6 5 4 33 +47 10 6 5 8 33 +48 7 5 6 24 34 +49 7 5 6 24 35 +50 6 5 6 34 35 +51 8 24 6 34 35 +52 15 12 15 16 17 +53 16 12 15 18 16 +54 16 12 15 18 17 +55 15 18 15 17 16 +56 17 15 16 40 41 +57 17 15 16 40 42 +58 17 15 16 41 42 +59 18 40 16 41 42 +60 17 15 17 43 44 +61 17 15 17 43 45 +62 17 15 17 44 45 +63 18 43 17 44 45 +64 6 51 50 75 76 +65 7 51 50 74 75 +66 8 74 50 76 75 +67 7 51 50 74 76 +68 9 50 51 52 56 +69 10 50 51 56 77 +70 11 50 51 52 77 +71 12 52 51 56 77 +72 12 51 52 56 78 +73 12 51 52 56 79 +74 13 51 52 78 79 +75 14 56 52 78 79 +76 12 54 53 57 81 +77 14 57 53 81 80 +78 13 54 53 81 80 +79 12 54 53 57 80 +80 9 55 54 53 57 +81 12 53 54 57 82 +82 11 55 54 53 82 +83 10 55 54 57 82 +84 7 54 55 73 83 +85 7 54 55 73 84 +86 6 54 55 83 84 +87 8 73 55 83 84 +88 15 61 64 65 66 +89 16 61 64 67 65 +90 16 61 64 67 66 +91 15 67 64 66 65 +92 17 64 65 89 90 +93 17 64 65 89 91 +94 17 64 65 90 91 +95 18 89 65 90 91 +96 17 64 66 92 93 +97 17 64 66 92 94 +98 17 64 66 93 94 +99 18 92 66 93 94 +100 19 101 100 107 99 +101 19 101 100 108 99 +102 20 107 100 108 99 +103 21 101 100 107 108 +104 19 100 101 109 102 +105 19 100 101 110 102 +106 21 100 101 109 110 +107 20 109 101 110 102 +108 19 105 104 115 103 +109 19 105 104 116 103 +110 20 115 104 116 103 +111 21 105 104 115 116 +112 19 104 105 117 99 +113 19 104 105 118 99 +114 20 117 105 118 99 +115 21 104 105 117 118 diff --git a/examples/USER/misc/bond_react/tiny_nylon/in.tiny_nylon.stabilized b/examples/USER/reaction/tiny_nylon/in.tiny_nylon.stabilized similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/in.tiny_nylon.stabilized rename to examples/USER/reaction/tiny_nylon/in.tiny_nylon.stabilized diff --git a/examples/USER/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability b/examples/USER/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability new file mode 100644 index 0000000000000000000000000000000000000000..2c101ac77caa67fd2424ee1ee93c7fc9baaee0c3 --- /dev/null +++ b/examples/USER/reaction/tiny_nylon/in.tiny_nylon.stabilized_variable_probability @@ -0,0 +1,56 @@ +# two monomer nylon example +# reaction produces a condensed water molecule + +units real + +boundary p p p + +atom_style full + +kspace_style pppm 1.0e-4 + +pair_style lj/class2/coul/long 8.5 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +read_data tiny_nylon.data + +variable runsteps equal 1000 +variable prob1 equal step/v_runsteps*2 +variable prob2 equal (step/v_runsteps)>0.5 + +velocity all create 300.0 4928459 dist gaussian + +molecule mol1 rxn1_stp1_unreacted.data_template +molecule mol2 rxn1_stp1_reacted.data_template +molecule mol3 rxn1_stp2_unreacted.data_template +molecule mol4 rxn1_stp2_reacted.data_template + +thermo 50 + +# dump 1 all xyz 1 test_vis.xyz + +fix myrxns all bond/react stabilization yes statted_grp .03 & + react rxn1 all 1 0.0 5.0 mol1 mol2 rxn1_stp1_map prob v_prob1 1234 & + react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map prob v_prob2 1234 + +fix 1 statted_grp_REACT nvt temp 300 300 100 + +# optionally, you can customize behavior of reacting atoms, +# by using the internally-created 'bond_react_MASTER_group', like so: +fix 4 bond_react_MASTER_group temp/rescale 1 300 300 10 1 + +thermo_style custom step temp press density v_prob1 v_prob2 f_myrxns[1] f_myrxns[2] + +# restart 100 restart1 restart2 + +run ${runsteps} + +# write_restart restart_longrun +# write_data restart_longrun.data diff --git a/examples/USER/misc/bond_react/tiny_nylon/in.tiny_nylon.unstabilized b/examples/USER/reaction/tiny_nylon/in.tiny_nylon.unstabilized similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/in.tiny_nylon.unstabilized rename to examples/USER/reaction/tiny_nylon/in.tiny_nylon.unstabilized diff --git a/examples/USER/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 b/examples/USER/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..16e4deef51ac757fe167fa08974350f69abeb133 --- /dev/null +++ b/examples/USER/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.1 @@ -0,0 +1,201 @@ +LAMMPS (15 Apr 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# two monomer nylon example +# reaction produces a condensed water molecule + +units real + +boundary p p p + +atom_style full + +kspace_style pppm 1.0e-4 + +pair_style lj/class2/coul/long 8.5 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +read_data tiny_nylon.data + orthogonal box = (-25 -25 -25) to (25 25 25) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 44 atoms + reading velocities ... + 44 velocities + scanning bonds ... + 9 = max bonds/atom + scanning angles ... + 21 = max angles/atom + scanning dihedrals ... + 29 = max dihedrals/atom + scanning impropers ... + 29 = max impropers/atom + reading bonds ... + 42 bonds + reading angles ... + 74 angles + reading dihedrals ... + 100 dihedrals + reading impropers ... + 44 impropers + 4 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 12 = max # of 1-4 neighbors + 41 = max # of special neighbors + special bonds CPU = 0.000385045 secs + read_data CPU = 0.013443 secs + +variable runsteps equal 1000 +variable prob1 equal step/v_runsteps*2 +variable prob2 equal (step/v_runsteps)>0.5 + +velocity all create 300.0 4928459 dist gaussian + +molecule mol1 rxn1_stp1_unreacted.data_template +Read molecule template mol1: + 1 molecules + 18 atoms with max type 8 + 16 bonds with max type 14 + 25 angles with max type 28 + 23 dihedrals with max type 36 + 14 impropers with max type 11 +molecule mol2 rxn1_stp1_reacted.data_template +Read molecule template mol2: + 1 molecules + 18 atoms with max type 9 + 17 bonds with max type 13 + 31 angles with max type 27 + 39 dihedrals with max type 33 + 20 impropers with max type 1 +molecule mol3 rxn1_stp2_unreacted.data_template +Read molecule template mol3: + 1 molecules + 15 atoms with max type 9 + 14 bonds with max type 13 + 25 angles with max type 27 + 30 dihedrals with max type 33 + 16 impropers with max type 1 +molecule mol4 rxn1_stp2_reacted.data_template +Read molecule template mol4: + 1 molecules + 15 atoms with max type 11 + 13 bonds with max type 15 + 19 angles with max type 29 + 16 dihedrals with max type 32 + 10 impropers with max type 13 + +thermo 50 + +# dump 1 all xyz 1 test_vis.xyz + +fix myrxns all bond/react stabilization yes statted_grp .03 react rxn1 all 1 0.0 5.0 mol1 mol2 rxn1_stp1_map prob v_prob1 1234 react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map prob v_prob2 1234 +WARNING: Bond/react: Atom affected by reaction rxn1 too close to template edge (src/USER-REACTION/fix_bond_react.cpp:2051) +WARNING: Bond/react: Atom affected by reaction rxn2 too close to template edge (src/USER-REACTION/fix_bond_react.cpp:2051) +dynamic group bond_react_MASTER_group defined +dynamic group statted_grp_REACT defined + +fix 1 statted_grp_REACT nvt temp 300 300 100 + +# optionally, you can customize behavior of reacting atoms, +# by using the internally-created 'bond_react_MASTER_group', like so: +fix 4 bond_react_MASTER_group temp/rescale 1 300 300 10 1 + +thermo_style custom step temp press density v_prob1 v_prob2 f_myrxns[1] f_myrxns[2] + +# restart 100 restart1 restart2 + +run ${runsteps} +run 1000 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:332) + G vector (1/distance) = 0.0534597 + grid = 2 2 2 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0402256 + estimated relative force accuracy = 0.000121138 + using double precision FFTW3 + 3d grid and FFT values/proc = 343 8 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.5 + ghost atom cutoff = 10.5 + binsize = 5.25, bins = 10 10 10 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair lj/class2/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix bond/react, occasional, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Inconsistent image flags (src/domain.cpp:812) +Per MPI rank memory allocation (min/avg/max) = 33.78 | 33.78 | 33.78 Mbytes +Step Temp Press Density v_prob1 v_prob2 f_myrxns[1] f_myrxns[2] + 0 300 346.78165 0.0034851739 0 0 0 0 + 50 262.63913 -492.10749 0.0034851739 0.1 0 1 0 + 100 766.52962 -29.714349 0.0034851739 0.2 0 1 0 + 150 503.86837 50.220304 0.0034851739 0.3 0 1 0 + 200 456.51295 12.312892 0.0034851739 0.4 0 1 0 + 250 391.54928 9.2335844 0.0034851739 0.5 0 1 0 + 300 336.6988 -47.193937 0.0034851739 0.6 0 1 0 + 350 254.06985 -9.2867898 0.0034851739 0.7 0 1 0 + 400 259.41098 -25.657321 0.0034851739 0.8 0 1 0 + 450 258.10364 22.5086 0.0034851739 0.9 0 1 0 + 500 272.13412 -6.5391448 0.0034851739 1 0 1 0 + 550 202.75504 54.658731 0.0034851739 1.1 1 1 1 + 600 344.79887 23.798478 0.0034851739 1.2 1 1 1 + 650 328.44488 -29.908484 0.0034851739 1.3 1 1 1 + 700 280.13593 -8.3223255 0.0034851739 1.4 1 1 1 + 750 300.67624 1.0632669 0.0034851739 1.5 1 1 1 + 800 376.64234 12.488392 0.0034851739 1.6 1 1 1 + 850 321.07642 19.814074 0.0034851739 1.7 1 1 1 + 900 332.23751 30.814079 0.0034851739 1.8 1 1 1 + 950 311.14029 5.7853136 0.0034851739 1.9 1 1 1 + 1000 253.14634 -37.560642 0.0034851739 2 1 1 1 +Loop time of 0.379454 on 1 procs for 1000 steps with 44 atoms + +Performance: 227.696 ns/day, 0.105 hours/ns, 2635.368 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 | 0.069723 | 0.069723 | 0.069723 | 0.0 | 18.37 +Bond | 0.14802 | 0.14802 | 0.14802 | 0.0 | 39.01 +Kspace | 0.044252 | 0.044252 | 0.044252 | 0.0 | 11.66 +Neigh | 0.072359 | 0.072359 | 0.072359 | 0.0 | 19.07 +Comm | 0.0044748 | 0.0044748 | 0.0044748 | 0.0 | 1.18 +Output | 0.0022775 | 0.0022775 | 0.0022775 | 0.0 | 0.60 +Modify | 0.036509 | 0.036509 | 0.036509 | 0.0 | 9.62 +Other | | 0.00184 | | | 0.48 + +Nlocal: 44 ave 44 max 44 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 722 ave 722 max 722 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 722 +Ave neighs/atom = 16.4091 +Ave special neighs/atom = 9.77273 +Neighbor list builds = 1000 +Dangerous builds = 0 + +# write_restart restart_longrun +# write_data restart_longrun.data + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:00 diff --git a/examples/USER/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 b/examples/USER/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..527d71ce87279c4a7e70ecedaaa4d02dbe1dd0c3 --- /dev/null +++ b/examples/USER/reaction/tiny_nylon/log.22Apr20.tiny_nylon.stabilized_variable_probability.g++.4 @@ -0,0 +1,201 @@ +LAMMPS (15 Apr 2020) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:94) + using 1 OpenMP thread(s) per MPI task +# two monomer nylon example +# reaction produces a condensed water molecule + +units real + +boundary p p p + +atom_style full + +kspace_style pppm 1.0e-4 + +pair_style lj/class2/coul/long 8.5 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +read_data tiny_nylon.data + orthogonal box = (-25 -25 -25) to (25 25 25) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 44 atoms + reading velocities ... + 44 velocities + scanning bonds ... + 9 = max bonds/atom + scanning angles ... + 21 = max angles/atom + scanning dihedrals ... + 29 = max dihedrals/atom + scanning impropers ... + 29 = max impropers/atom + reading bonds ... + 42 bonds + reading angles ... + 74 angles + reading dihedrals ... + 100 dihedrals + reading impropers ... + 44 impropers + 4 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 12 = max # of 1-4 neighbors + 41 = max # of special neighbors + special bonds CPU = 0.000431282 secs + read_data CPU = 0.0129571 secs + +variable runsteps equal 1000 +variable prob1 equal step/v_runsteps*2 +variable prob2 equal (step/v_runsteps)>0.5 + +velocity all create 300.0 4928459 dist gaussian + +molecule mol1 rxn1_stp1_unreacted.data_template +Read molecule template mol1: + 1 molecules + 18 atoms with max type 8 + 16 bonds with max type 14 + 25 angles with max type 28 + 23 dihedrals with max type 36 + 14 impropers with max type 11 +molecule mol2 rxn1_stp1_reacted.data_template +Read molecule template mol2: + 1 molecules + 18 atoms with max type 9 + 17 bonds with max type 13 + 31 angles with max type 27 + 39 dihedrals with max type 33 + 20 impropers with max type 1 +molecule mol3 rxn1_stp2_unreacted.data_template +Read molecule template mol3: + 1 molecules + 15 atoms with max type 9 + 14 bonds with max type 13 + 25 angles with max type 27 + 30 dihedrals with max type 33 + 16 impropers with max type 1 +molecule mol4 rxn1_stp2_reacted.data_template +Read molecule template mol4: + 1 molecules + 15 atoms with max type 11 + 13 bonds with max type 15 + 19 angles with max type 29 + 16 dihedrals with max type 32 + 10 impropers with max type 13 + +thermo 50 + +# dump 1 all xyz 1 test_vis.xyz + +fix myrxns all bond/react stabilization yes statted_grp .03 react rxn1 all 1 0.0 5.0 mol1 mol2 rxn1_stp1_map prob v_prob1 1234 react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map prob v_prob2 1234 +WARNING: Bond/react: Atom affected by reaction rxn1 too close to template edge (src/USER-REACTION/fix_bond_react.cpp:2051) +WARNING: Bond/react: Atom affected by reaction rxn2 too close to template edge (src/USER-REACTION/fix_bond_react.cpp:2051) +dynamic group bond_react_MASTER_group defined +dynamic group statted_grp_REACT defined + +fix 1 statted_grp_REACT nvt temp 300 300 100 + +# optionally, you can customize behavior of reacting atoms, +# by using the internally-created 'bond_react_MASTER_group', like so: +fix 4 bond_react_MASTER_group temp/rescale 1 300 300 10 1 + +thermo_style custom step temp press density v_prob1 v_prob2 f_myrxns[1] f_myrxns[2] + +# restart 100 restart1 restart2 + +run ${runsteps} +run 1000 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:332) + G vector (1/distance) = 0.0534597 + grid = 2 2 2 + stencil order = 5 + estimated absolute RMS force accuracy = 0.0402256 + estimated relative force accuracy = 0.000121138 + using double precision FFTW3 + 3d grid and FFT values/proc = 252 2 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.5 + ghost atom cutoff = 10.5 + binsize = 5.25, bins = 10 10 10 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair lj/class2/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix bond/react, occasional, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Inconsistent image flags (src/domain.cpp:812) +Per MPI rank memory allocation (min/avg/max) = 33.66 | 33.88 | 34.43 Mbytes +Step Temp Press Density v_prob1 v_prob2 f_myrxns[1] f_myrxns[2] + 0 300 346.78165 0.0034851739 0 0 0 0 + 50 266.5092 -90.813802 0.0034851739 0.1 0 1 0 + 100 559.41271 -53.23688 0.0034851739 0.2 0 1 0 + 150 489.90516 31.555817 0.0034851739 0.3 0 1 0 + 200 326.18391 7.7889992 0.0034851739 0.4 0 1 0 + 250 339.78203 2.3919541 0.0034851739 0.5 0 1 0 + 300 370.90263 -32.01673 0.0034851739 0.6 0 1 0 + 350 294.07547 -5.4019813 0.0034851739 0.7 0 1 0 + 400 287.76477 12.254133 0.0034851739 0.8 0 1 0 + 450 293.36482 66.372956 0.0034851739 0.9 0 1 0 + 500 246.84496 26.132317 0.0034851739 1 0 1 0 + 550 253.08778 -15.350262 0.0034851739 1.1 1 1 1 + 600 358.83641 25.007371 0.0034851739 1.2 1 1 1 + 650 320.51492 -32.34823 0.0034851739 1.3 1 1 1 + 700 310.87976 -8.2306669 0.0034851739 1.4 1 1 1 + 750 307.54142 12.025818 0.0034851739 1.5 1 1 1 + 800 272.51724 -22.92823 0.0034851739 1.6 1 1 1 + 850 268.66181 10.069534 0.0034851739 1.7 1 1 1 + 900 265.5531 -10.471377 0.0034851739 1.8 1 1 1 + 950 259.43086 9.4546712 0.0034851739 1.9 1 1 1 + 1000 247.14622 20.250308 0.0034851739 2 1 1 1 +Loop time of 0.357762 on 4 procs for 1000 steps with 44 atoms + +Performance: 241.502 ns/day, 0.099 hours/ns, 2795.157 timesteps/s +99.0% 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.0003917 | 0.015545 | 0.033317 | 11.9 | 4.35 +Bond | 0.0010131 | 0.030153 | 0.076975 | 18.2 | 8.43 +Kspace | 0.092857 | 0.1462 | 0.18688 | 10.7 | 40.87 +Neigh | 0.043786 | 0.044014 | 0.044189 | 0.1 | 12.30 +Comm | 0.03636 | 0.038345 | 0.040538 | 0.8 | 10.72 +Output | 0.00091578 | 0.0012541 | 0.0020923 | 1.4 | 0.35 +Modify | 0.075379 | 0.080791 | 0.086052 | 1.8 | 22.58 +Other | | 0.00146 | | | 0.41 + +Nlocal: 11 ave 32 max 0 min +Histogram: 2 0 1 0 0 0 0 0 0 1 +Nghost: 40 ave 51 max 19 min +Histogram: 1 0 0 0 0 0 0 1 0 2 +Neighs: 191 ave 529 max 0 min +Histogram: 2 0 0 0 1 0 0 0 0 1 + +Total # of neighbors = 764 +Ave neighs/atom = 17.3636 +Ave special neighs/atom = 9.77273 +Neighbor list builds = 1000 +Dangerous builds = 0 + +# write_restart restart_longrun +# write_data restart_longrun.data + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:00 diff --git a/examples/USER/misc/bond_react/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.1 b/examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.1 similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.1 rename to examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.1 diff --git a/examples/USER/misc/bond_react/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.4 b/examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.4 similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.4 rename to examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.stabilized.g++.4 diff --git a/examples/USER/misc/bond_react/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.1 b/examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.1 similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.1 rename to examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.1 diff --git a/examples/USER/misc/bond_react/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.4 b/examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.4 similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.4 rename to examples/USER/reaction/tiny_nylon/log.5Jun19.tiny_nylon.unstabilized.g++.4 diff --git a/examples/USER/misc/bond_react/tiny_nylon/rxn1_stp1_map b/examples/USER/reaction/tiny_nylon/rxn1_stp1_map similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/rxn1_stp1_map rename to examples/USER/reaction/tiny_nylon/rxn1_stp1_map diff --git a/examples/USER/misc/bond_react/tiny_nylon/rxn1_stp1_reacted.data_template b/examples/USER/reaction/tiny_nylon/rxn1_stp1_reacted.data_template similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/rxn1_stp1_reacted.data_template rename to examples/USER/reaction/tiny_nylon/rxn1_stp1_reacted.data_template diff --git a/examples/USER/misc/bond_react/tiny_nylon/rxn1_stp1_unreacted.data_template b/examples/USER/reaction/tiny_nylon/rxn1_stp1_unreacted.data_template similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/rxn1_stp1_unreacted.data_template rename to examples/USER/reaction/tiny_nylon/rxn1_stp1_unreacted.data_template diff --git a/examples/USER/misc/bond_react/tiny_nylon/rxn1_stp2_map b/examples/USER/reaction/tiny_nylon/rxn1_stp2_map similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/rxn1_stp2_map rename to examples/USER/reaction/tiny_nylon/rxn1_stp2_map diff --git a/examples/USER/misc/bond_react/tiny_nylon/rxn1_stp2_reacted.data_template b/examples/USER/reaction/tiny_nylon/rxn1_stp2_reacted.data_template similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/rxn1_stp2_reacted.data_template rename to examples/USER/reaction/tiny_nylon/rxn1_stp2_reacted.data_template diff --git a/examples/USER/misc/bond_react/tiny_nylon/rxn1_stp2_unreacted.data_template b/examples/USER/reaction/tiny_nylon/rxn1_stp2_unreacted.data_template similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/rxn1_stp2_unreacted.data_template rename to examples/USER/reaction/tiny_nylon/rxn1_stp2_unreacted.data_template diff --git a/examples/USER/misc/bond_react/tiny_nylon/tiny_nylon.data b/examples/USER/reaction/tiny_nylon/tiny_nylon.data similarity index 100% rename from examples/USER/misc/bond_react/tiny_nylon/tiny_nylon.data rename to examples/USER/reaction/tiny_nylon/tiny_nylon.data diff --git a/examples/USER/reaction/tiny_polystyrene/2styrene_map b/examples/USER/reaction/tiny_polystyrene/2styrene_map new file mode 100644 index 0000000000000000000000000000000000000000..be2a7896710eacd298da837c227d251c7653b65c --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/2styrene_map @@ -0,0 +1,44 @@ +this is a map file + +0 edgeIDs +32 equivalences + +BondingIDs + +4 +30 + +Equivalences + +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +10 10 +11 11 +12 12 +13 13 +14 14 +15 15 +16 16 +17 17 +18 18 +19 19 +20 20 +21 21 +22 22 +23 23 +24 24 +25 25 +26 26 +27 27 +28 28 +29 29 +30 30 +31 31 +32 32 diff --git a/examples/USER/reaction/tiny_polystyrene/2styrene_reacted.data_template b/examples/USER/reaction/tiny_polystyrene/2styrene_reacted.data_template new file mode 100644 index 0000000000000000000000000000000000000000..c4fa646e9f95fd9108235e2c29919cc8a448a2db --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/2styrene_reacted.data_template @@ -0,0 +1,312 @@ +2styrene_reacted + +32 atoms +33 bonds +54 angles +79 dihedrals +22 impropers + +Types + +1 1 +2 2 +3 1 +4 5 +5 1 +6 2 +7 1 +8 2 +9 1 +10 2 +11 1 +12 2 +13 2 +14 6 +15 2 +16 2 +17 1 +18 2 +19 1 +20 5 +21 1 +22 2 +23 1 +24 2 +25 1 +26 2 +27 1 +28 2 +29 2 +30 6 +31 2 +32 2 + +Charges + +1 -0.129000 +2 0.123700 +3 0.026600 +4 -0.018200 +5 -0.129000 +6 0.123700 +7 -0.173400 +8 0.140300 +9 -0.113400 +10 0.128800 +11 -0.173400 +12 0.140300 +13 0.051600 +14 -0.069600 +15 0.035400 +16 0.035400 +17 -0.129000 +18 0.123700 +19 0.026600 +20 -0.018200 +21 -0.129000 +22 0.123700 +23 -0.173400 +24 0.140300 +25 -0.113400 +26 0.128800 +27 -0.173400 +28 0.140300 +29 0.051600 +30 -0.069600 +31 0.035400 +32 0.035400 + +Coords + +1 13.465810 0.682530 -1.658940 +2 14.397820 1.221530 -1.658940 +3 12.235820 1.392530 -1.658940 +4 12.235820 2.892530 -1.658940 +5 11.005820 0.682530 -1.658940 +6 10.073820 1.221530 -1.658940 +7 11.005820 -0.737470 -1.658940 +8 10.073820 -1.276460 -1.658940 +9 12.235820 -1.447460 -1.658940 +10 12.235820 -2.524470 -1.658940 +11 13.465810 -0.737470 -1.658940 +12 14.397820 -1.276460 -1.658940 +13 13.101820 3.297530 -1.301940 +14 10.957820 3.441530 -2.220940 +15 11.007810 4.183540 -2.319940 +16 10.314820 2.618530 -2.514940 +17 18.663521 0.855480 -1.372130 +18 19.595510 1.394480 -1.372130 +19 17.433510 1.565480 -1.372130 +20 17.433510 3.065480 -1.372130 +21 16.203510 0.855480 -1.372130 +22 15.271510 1.394480 -1.372130 +23 16.203510 -0.564520 -1.372130 +24 15.271510 -1.103520 -1.372130 +25 17.433510 -1.274520 -1.372130 +26 17.433510 -2.351520 -1.372130 +27 18.663521 -0.564520 -1.372130 +28 19.595510 -1.103520 -1.372130 +29 18.299509 3.470480 -1.015130 +30 16.155510 3.614480 -1.934130 +31 16.205509 4.356480 -2.033130 +32 15.512510 2.791480 -2.228130 + +Bonds + +1 1 1 2 +2 2 1 3 +3 2 1 11 +4 7 3 4 +5 2 3 5 +6 8 13 4 +7 9 4 14 +8 9 4 30 +9 1 5 6 +10 2 5 7 +11 1 7 8 +12 2 7 9 +13 1 9 10 +14 2 9 11 +15 1 11 12 +16 10 15 14 +17 10 16 14 +18 1 17 18 +19 2 17 19 +20 2 17 27 +21 7 19 20 +22 2 19 21 +23 8 29 20 +24 9 20 30 +25 1 21 22 +26 2 21 23 +27 1 23 24 +28 2 23 25 +29 1 25 26 +30 2 25 27 +31 1 27 28 +32 10 31 30 +33 10 32 30 + +Angles + +1 1 3 1 2 +2 1 11 1 2 +3 2 3 1 11 +4 9 1 3 4 +5 2 1 3 5 +6 9 5 3 4 +7 10 3 4 13 +8 11 3 4 14 +9 11 3 4 30 +10 12 13 4 14 +11 12 13 4 30 +12 13 14 4 30 +13 1 3 5 6 +14 2 3 5 7 +15 1 7 5 6 +16 1 5 7 8 +17 2 5 7 9 +18 1 9 7 8 +19 1 7 9 10 +20 2 7 9 11 +21 1 11 9 10 +22 2 1 11 9 +23 1 1 11 12 +24 1 9 11 12 +25 14 15 14 4 +26 14 16 14 4 +27 15 15 14 16 +28 1 19 17 18 +29 1 27 17 18 +30 2 19 17 27 +31 9 17 19 20 +32 2 17 19 21 +33 9 21 19 20 +34 10 19 20 29 +35 11 19 20 30 +36 12 29 20 30 +37 1 19 21 22 +38 2 19 21 23 +39 1 23 21 22 +40 1 21 23 24 +41 2 21 23 25 +42 1 25 23 24 +43 1 23 25 26 +44 2 23 25 27 +45 1 27 25 26 +46 2 17 27 25 +47 1 17 27 28 +48 1 25 27 28 +49 16 4 30 20 +50 14 31 30 4 +51 14 32 30 4 +52 14 31 30 20 +53 14 32 30 20 +54 15 31 30 32 + +Dihedrals + +1 10 2 1 3 4 +2 2 5 3 1 2 +3 11 11 1 3 4 +4 4 11 1 3 5 +5 2 9 11 1 2 +6 5 2 1 11 12 +7 4 3 1 11 9 +8 2 3 1 11 12 +9 12 1 3 4 13 +10 13 1 3 4 14 +11 13 1 3 4 30 +12 12 5 3 4 13 +13 13 5 3 4 14 +14 13 5 3 4 30 +15 2 1 3 5 6 +16 4 1 3 5 7 +17 10 6 5 3 4 +18 11 7 5 3 4 +19 14 3 4 14 15 +20 14 3 4 14 16 +21 15 13 4 14 15 +22 15 13 4 14 16 +23 16 30 4 14 15 +24 16 30 4 14 16 +25 17 3 4 30 20 +26 14 3 4 30 31 +27 14 3 4 30 32 +28 18 13 4 30 20 +29 15 13 4 30 31 +30 15 13 4 30 32 +31 19 14 4 30 20 +32 16 14 4 30 31 +33 16 14 4 30 32 +34 2 3 5 7 8 +35 4 3 5 7 9 +36 5 6 5 7 8 +37 2 9 7 5 6 +38 2 5 7 9 10 +39 4 5 7 9 11 +40 5 8 7 9 10 +41 2 11 9 7 8 +42 4 7 9 11 1 +43 2 7 9 11 12 +44 2 1 11 9 10 +45 5 10 9 11 12 +46 10 18 17 19 20 +47 2 21 19 17 18 +48 11 27 17 19 20 +49 4 27 17 19 21 +50 2 25 27 17 18 +51 5 18 17 27 28 +52 4 19 17 27 25 +53 2 19 17 27 28 +54 12 17 19 20 29 +55 13 17 19 20 30 +56 12 21 19 20 29 +57 13 21 19 20 30 +58 2 17 19 21 22 +59 4 17 19 21 23 +60 10 22 21 19 20 +61 11 23 21 19 20 +62 17 19 20 30 4 +63 14 19 20 30 31 +64 14 19 20 30 32 +65 18 29 20 30 4 +66 15 29 20 30 31 +67 15 29 20 30 32 +68 2 19 21 23 24 +69 4 19 21 23 25 +70 5 22 21 23 24 +71 2 25 23 21 22 +72 2 21 23 25 26 +73 4 21 23 25 27 +74 5 24 23 25 26 +75 2 27 25 23 24 +76 4 23 25 27 17 +77 2 23 25 27 28 +78 2 17 27 25 26 +79 5 26 25 27 28 + +Impropers + +1 1 3 1 11 2 +2 5 1 3 5 4 +3 1 3 5 7 6 +4 1 5 7 9 8 +5 1 7 9 11 10 +6 1 1 11 9 12 +7 6 15 14 16 4 +8 1 19 17 27 18 +9 5 17 19 21 20 +10 7 19 20 29 30 +11 1 19 21 23 22 +12 1 21 23 25 24 +13 1 23 25 27 26 +14 1 17 27 25 28 +15 1 3 4 13 14 +16 1 3 4 13 30 +17 1 3 4 14 30 +18 1 13 4 14 30 +19 1 31 30 20 4 +20 1 32 30 20 4 +21 1 31 30 32 4 +22 1 31 30 32 20 diff --git a/examples/USER/reaction/tiny_polystyrene/2styrene_unreacted.data_template b/examples/USER/reaction/tiny_polystyrene/2styrene_unreacted.data_template new file mode 100644 index 0000000000000000000000000000000000000000..fc0a893191e77756b6322b30239b981c0ffae464 --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/2styrene_unreacted.data_template @@ -0,0 +1,284 @@ +2styrene_unreacted + +32 atoms +32 bonds +48 angles +64 dihedrals +16 impropers + +Types + +1 1 +2 2 +3 1 +4 3 +5 1 +6 2 +7 1 +8 2 +9 1 +10 2 +11 1 +12 2 +13 2 +14 4 +15 2 +16 2 +17 1 +18 2 +19 1 +20 3 +21 1 +22 2 +23 1 +24 2 +25 1 +26 2 +27 1 +28 2 +29 2 +30 4 +31 2 +32 2 + +Charges + +1 -0.129000 +2 0.123700 +3 0.026600 +4 -0.018200 +5 -0.129000 +6 0.123700 +7 -0.173400 +8 0.140300 +9 -0.113400 +10 0.128800 +11 -0.173400 +12 0.140300 +13 0.051600 +14 -0.069600 +15 0.035400 +16 0.035400 +17 -0.129000 +18 0.123700 +19 0.026600 +20 -0.018200 +21 -0.129000 +22 0.123700 +23 -0.173400 +24 0.140300 +25 -0.113400 +26 0.128800 +27 -0.173400 +28 0.140300 +29 0.051600 +30 -0.069600 +31 0.035400 +32 0.035400 + +Coords + +1 13.465815 0.682534 -1.658941 +2 14.397816 1.221534 -1.658941 +3 12.235815 1.392534 -1.658941 +4 12.235815 2.892534 -1.658941 +5 11.005816 0.682534 -1.658941 +6 10.073815 1.221534 -1.658941 +7 11.005816 -0.737466 -1.658941 +8 10.073815 -1.276465 -1.658941 +9 12.235815 -1.447465 -1.658941 +10 12.235815 -2.524465 -1.658941 +11 13.465815 -0.737466 -1.658941 +12 14.397816 -1.276465 -1.658941 +13 13.101815 3.297535 -1.301941 +14 10.957815 3.441535 -2.220941 +15 11.007814 4.183536 -2.319941 +16 10.314816 2.618534 -2.514940 +17 18.663515 0.855482 -1.372128 +18 19.595514 1.394482 -1.372128 +19 17.433512 1.565481 -1.372128 +20 17.433512 3.065482 -1.372128 +21 16.203512 0.855482 -1.372128 +22 15.271511 1.394482 -1.372128 +23 16.203512 -0.564518 -1.372128 +24 15.271511 -1.103518 -1.372128 +25 17.433512 -1.274518 -1.372128 +26 17.433512 -2.351518 -1.372128 +27 18.663515 -0.564518 -1.372128 +28 19.595514 -1.103518 -1.372128 +29 18.299513 3.470482 -1.015128 +30 16.155512 3.614482 -1.934128 +31 16.205513 4.356482 -2.033128 +32 15.512512 2.791482 -2.228127 + +Bonds + +1 1 1 2 +2 2 1 3 +3 2 1 11 +4 3 3 4 +5 2 3 5 +6 4 13 4 +7 5 4 14 +8 1 5 6 +9 2 5 7 +10 1 7 8 +11 2 7 9 +12 1 9 10 +13 2 9 11 +14 1 11 12 +15 6 15 14 +16 6 16 14 +17 1 17 18 +18 2 17 19 +19 2 17 27 +20 3 19 20 +21 2 19 21 +22 4 29 20 +23 5 20 30 +24 1 21 22 +25 2 21 23 +26 1 23 24 +27 2 23 25 +28 1 25 26 +29 2 25 27 +30 1 27 28 +31 6 31 30 +32 6 32 30 + +Angles + +1 1 3 1 2 +2 1 11 1 2 +3 2 3 1 11 +4 3 1 3 4 +5 2 1 3 5 +6 3 5 3 4 +7 4 3 4 13 +8 5 3 4 14 +9 6 13 4 14 +10 1 3 5 6 +11 2 3 5 7 +12 1 7 5 6 +13 1 5 7 8 +14 2 5 7 9 +15 1 9 7 8 +16 1 7 9 10 +17 2 7 9 11 +18 1 11 9 10 +19 2 1 11 9 +20 1 1 11 12 +21 1 9 11 12 +22 7 15 14 4 +23 7 16 14 4 +24 8 15 14 16 +25 1 19 17 18 +26 1 27 17 18 +27 2 19 17 27 +28 3 17 19 20 +29 2 17 19 21 +30 3 21 19 20 +31 4 19 20 29 +32 5 19 20 30 +33 6 29 20 30 +34 1 19 21 22 +35 2 19 21 23 +36 1 23 21 22 +37 1 21 23 24 +38 2 21 23 25 +39 1 25 23 24 +40 1 23 25 26 +41 2 23 25 27 +42 1 27 25 26 +43 2 17 27 25 +44 1 17 27 28 +45 1 25 27 28 +46 7 31 30 20 +47 7 32 30 20 +48 8 31 30 32 + +Dihedrals + +1 1 2 1 3 4 +2 2 5 3 1 2 +3 3 11 1 3 4 +4 4 11 1 3 5 +5 2 9 11 1 2 +6 5 2 1 11 12 +7 4 3 1 11 9 +8 2 3 1 11 12 +9 6 1 3 4 13 +10 7 1 3 4 14 +11 6 5 3 4 13 +12 7 5 3 4 14 +13 2 1 3 5 6 +14 4 1 3 5 7 +15 1 6 5 3 4 +16 3 7 5 3 4 +17 8 3 4 14 15 +18 8 3 4 14 16 +19 9 13 4 14 15 +20 9 13 4 14 16 +21 2 3 5 7 8 +22 4 3 5 7 9 +23 5 6 5 7 8 +24 2 9 7 5 6 +25 2 5 7 9 10 +26 4 5 7 9 11 +27 5 8 7 9 10 +28 2 11 9 7 8 +29 4 7 9 11 1 +30 2 7 9 11 12 +31 2 1 11 9 10 +32 5 10 9 11 12 +33 1 18 17 19 20 +34 2 21 19 17 18 +35 3 27 17 19 20 +36 4 27 17 19 21 +37 2 25 27 17 18 +38 5 18 17 27 28 +39 4 19 17 27 25 +40 2 19 17 27 28 +41 6 17 19 20 29 +42 7 17 19 20 30 +43 6 21 19 20 29 +44 7 21 19 20 30 +45 2 17 19 21 22 +46 4 17 19 21 23 +47 1 22 21 19 20 +48 3 23 21 19 20 +49 8 19 20 30 31 +50 8 19 20 30 32 +51 9 29 20 30 31 +52 9 29 20 30 32 +53 2 19 21 23 24 +54 4 19 21 23 25 +55 5 22 21 23 24 +56 2 25 23 21 22 +57 2 21 23 25 26 +58 4 21 23 25 27 +59 5 24 23 25 26 +60 2 27 25 23 24 +61 4 23 25 27 17 +62 2 23 25 27 28 +63 2 17 27 25 26 +64 5 26 25 27 28 + +Impropers + +1 1 3 1 11 2 +2 2 1 3 5 4 +3 3 3 4 13 14 +4 1 3 5 7 6 +5 1 5 7 9 8 +6 1 7 9 11 10 +7 1 1 11 9 12 +8 4 15 14 16 4 +9 1 19 17 27 18 +10 2 17 19 21 20 +11 3 19 20 29 30 +12 1 19 21 23 22 +13 1 21 23 25 24 +14 1 23 25 27 26 +15 1 17 27 25 28 +16 4 31 30 32 20 diff --git a/examples/USER/reaction/tiny_polystyrene/chain_chain_map b/examples/USER/reaction/tiny_polystyrene/chain_chain_map new file mode 100644 index 0000000000000000000000000000000000000000..5a0fde674280ff350ea55465fb43ec18c59448fc --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/chain_chain_map @@ -0,0 +1,67 @@ +this is a map file + +2 edgeIDs +50 equivalences + +EdgeIDs + +17 +34 + +BondingIDs + +14 +38 + +Equivalences + +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +10 10 +11 11 +12 12 +13 13 +14 14 +15 15 +16 16 +17 17 +18 18 +19 19 +20 20 +21 21 +22 22 +23 23 +24 24 +25 25 +26 26 +27 27 +28 28 +29 29 +30 30 +31 31 +32 32 +33 33 +34 34 +35 35 +36 36 +37 37 +38 38 +39 39 +40 40 +41 41 +42 42 +43 43 +44 44 +45 45 +46 46 +47 47 +48 48 +49 49 +50 50 diff --git a/examples/USER/reaction/tiny_polystyrene/chain_chain_reacted.data_template b/examples/USER/reaction/tiny_polystyrene/chain_chain_reacted.data_template new file mode 100644 index 0000000000000000000000000000000000000000..e01d42b7fbfc20f9936fac4ca433c2f41e0f1e51 --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/chain_chain_reacted.data_template @@ -0,0 +1,497 @@ +chain_chain_reacted + +50 atoms +52 bonds +90 angles +135 dihedrals +42 impropers + +Types + +1 1 +2 2 +3 1 +4 5 +5 1 +6 2 +7 1 +8 2 +9 1 +10 2 +11 1 +12 2 +13 2 +14 6 +15 2 +16 2 +17 5 +18 6 +19 2 +20 2 +21 1 +22 2 +23 1 +24 5 +25 1 +26 2 +27 1 +28 2 +29 1 +30 2 +31 1 +32 2 +33 2 +34 6 +35 1 +36 2 +37 1 +38 5 +39 1 +40 2 +41 1 +42 2 +43 1 +44 2 +45 1 +46 2 +47 2 +48 6 +49 2 +50 2 + +Charges + +1 -0.129000 +2 0.123700 +3 0.026600 +4 -0.018200 +5 -0.129000 +6 0.123700 +7 -0.173400 +8 0.140300 +9 -0.113400 +10 0.128800 +11 -0.173400 +12 0.140300 +13 0.051600 +14 -0.069600 +15 0.035400 +16 0.035400 +17 -0.018200 +18 -0.069600 +19 0.035400 +20 0.035400 +21 -0.129000 +22 0.123700 +23 0.026600 +24 -0.018200 +25 -0.129000 +26 0.123700 +27 -0.173400 +28 0.140300 +29 -0.113400 +30 0.128800 +31 -0.173400 +32 0.140300 +33 0.051600 +34 -0.069600 +35 -0.129000 +36 0.123700 +37 0.026600 +38 -0.018200 +39 -0.129000 +40 0.123700 +41 -0.173400 +42 0.140300 +43 -0.113400 +44 0.128800 +45 -0.173400 +46 0.140300 +47 0.051600 +48 -0.069600 +49 0.035400 +50 0.035400 + +Coords + +1 24.391510 0.871570 -1.658940 +2 25.323530 1.410570 -1.658940 +3 23.161520 1.581570 -1.658940 +4 23.161520 3.081570 -1.658940 +5 21.931530 0.871570 -1.658940 +6 20.999531 1.410570 -1.658940 +7 21.931530 -0.548430 -1.658940 +8 20.999531 -1.087420 -1.658940 +9 23.161520 -1.258420 -1.658940 +10 23.161520 -2.335430 -1.658940 +11 24.391510 -0.548430 -1.658940 +12 25.323530 -1.087420 -1.658940 +13 24.027519 3.486570 -1.301940 +14 21.883520 3.630570 -2.220940 +15 21.933510 4.372580 -2.319940 +16 21.240520 2.807570 -2.514940 +17 28.359209 3.254520 -1.372130 +18 27.081209 3.803520 -1.934130 +19 27.131210 4.545520 -2.033130 +20 26.438219 2.980520 -2.228130 +21 13.465810 0.682530 -1.658940 +22 14.397820 1.221530 -1.658940 +23 12.235820 1.392530 -1.658940 +24 12.235820 2.892530 -1.658940 +25 11.005820 0.682530 -1.658940 +26 10.073820 1.221530 -1.658940 +27 11.005820 -0.737470 -1.658940 +28 10.073820 -1.276460 -1.658940 +29 12.235820 -1.447460 -1.658940 +30 12.235820 -2.524470 -1.658940 +31 13.465810 -0.737470 -1.658940 +32 14.397820 -1.276460 -1.658940 +33 13.101820 3.297530 -1.301940 +34 10.957820 3.441530 -2.220940 +35 18.663521 0.855480 -1.372130 +36 19.595510 1.394480 -1.372130 +37 17.433510 1.565480 -1.372130 +38 17.433510 3.065480 -1.372130 +39 16.203510 0.855480 -1.372130 +40 15.271510 1.394480 -1.372130 +41 16.203510 -0.564520 -1.372130 +42 15.271510 -1.103520 -1.372130 +43 17.433510 -1.274520 -1.372130 +44 17.433510 -2.351520 -1.372130 +45 18.663521 -0.564520 -1.372130 +46 19.595510 -1.103520 -1.372130 +47 18.299509 3.470480 -1.015130 +48 16.155510 3.614480 -1.934130 +49 16.205509 4.356480 -2.033130 +50 15.512510 2.791480 -2.228130 + +Bonds + +1 1 1 2 +2 2 1 3 +3 2 1 11 +4 7 3 4 +5 2 3 5 +6 8 13 4 +7 9 4 14 +8 9 4 18 +9 1 5 6 +10 2 5 7 +11 1 7 8 +12 2 7 9 +13 1 9 10 +14 2 9 11 +15 1 11 12 +16 10 15 14 +17 10 16 14 +18 9 38 14 +19 9 17 18 +20 10 19 18 +21 10 20 18 +22 1 21 22 +23 2 21 23 +24 2 21 31 +25 7 23 24 +26 2 23 25 +27 8 33 24 +28 9 24 34 +29 9 24 48 +30 1 25 26 +31 2 25 27 +32 1 27 28 +33 2 27 29 +34 1 29 30 +35 2 29 31 +36 1 31 32 +37 1 35 36 +38 2 35 37 +39 2 35 45 +40 7 37 38 +41 2 37 39 +42 8 47 38 +43 9 38 48 +44 1 39 40 +45 2 39 41 +46 1 41 42 +47 2 41 43 +48 1 43 44 +49 2 43 45 +50 1 45 46 +51 10 49 48 +52 10 50 48 + +Angles + +1 1 3 1 2 +2 1 11 1 2 +3 2 3 1 11 +4 9 1 3 4 +5 2 1 3 5 +6 9 5 3 4 +7 10 3 4 13 +8 11 3 4 14 +9 11 3 4 18 +10 12 13 4 14 +11 12 13 4 18 +12 13 14 4 18 +13 1 3 5 6 +14 2 3 5 7 +15 1 7 5 6 +16 1 5 7 8 +17 2 5 7 9 +18 1 9 7 8 +19 1 7 9 10 +20 2 7 9 11 +21 1 11 9 10 +22 2 1 11 9 +23 1 1 11 12 +24 1 9 11 12 +25 14 15 14 4 +26 14 16 14 4 +27 16 4 14 38 +28 15 15 14 16 +29 14 15 14 38 +30 14 16 14 38 +31 16 4 18 17 +32 14 19 18 4 +33 14 20 18 4 +34 14 19 18 17 +35 14 20 18 17 +36 15 19 18 20 +37 1 23 21 22 +38 1 31 21 22 +39 2 23 21 31 +40 9 21 23 24 +41 2 21 23 25 +42 9 25 23 24 +43 10 23 24 33 +44 11 23 24 34 +45 11 23 24 48 +46 12 33 24 34 +47 12 33 24 48 +48 13 34 24 48 +49 1 23 25 26 +50 2 23 25 27 +51 1 27 25 26 +52 1 25 27 28 +53 2 25 27 29 +54 1 29 27 28 +55 1 27 29 30 +56 2 27 29 31 +57 1 31 29 30 +58 2 21 31 29 +59 1 21 31 32 +60 1 29 31 32 +61 1 37 35 36 +62 1 45 35 36 +63 2 37 35 45 +64 9 35 37 38 +65 2 35 37 39 +66 9 39 37 38 +67 11 37 38 14 +68 12 47 38 14 +69 13 14 38 48 +70 10 37 38 47 +71 11 37 38 48 +72 12 47 38 48 +73 1 37 39 40 +74 2 37 39 41 +75 1 41 39 40 +76 1 39 41 42 +77 2 39 41 43 +78 1 43 41 42 +79 1 41 43 44 +80 2 41 43 45 +81 1 45 43 44 +82 2 35 45 43 +83 1 35 45 46 +84 1 43 45 46 +85 16 24 48 38 +86 14 49 48 24 +87 14 50 48 24 +88 14 49 48 38 +89 14 50 48 38 +90 15 49 48 50 + +Dihedrals + +1 10 2 1 3 4 +2 2 5 3 1 2 +3 11 11 1 3 4 +4 4 11 1 3 5 +5 2 9 11 1 2 +6 5 2 1 11 12 +7 4 3 1 11 9 +8 2 3 1 11 12 +9 12 1 3 4 13 +10 13 1 3 4 14 +11 13 1 3 4 18 +12 12 5 3 4 13 +13 13 5 3 4 14 +14 13 5 3 4 18 +15 2 1 3 5 6 +16 4 1 3 5 7 +17 10 6 5 3 4 +18 11 7 5 3 4 +19 14 3 4 14 15 +20 14 3 4 14 16 +21 17 3 4 14 38 +22 15 13 4 14 15 +23 15 13 4 14 16 +24 18 13 4 14 38 +25 16 18 4 14 15 +26 16 18 4 14 16 +27 19 18 4 14 38 +28 17 3 4 18 17 +29 14 3 4 18 19 +30 14 3 4 18 20 +31 18 13 4 18 17 +32 15 13 4 18 19 +33 15 13 4 18 20 +34 19 14 4 18 17 +35 16 14 4 18 19 +36 16 14 4 18 20 +37 2 3 5 7 8 +38 4 3 5 7 9 +39 5 6 5 7 8 +40 2 9 7 5 6 +41 2 5 7 9 10 +42 4 5 7 9 11 +43 5 8 7 9 10 +44 2 11 9 7 8 +45 4 7 9 11 1 +46 2 7 9 11 12 +47 2 1 11 9 10 +48 5 10 9 11 12 +49 17 37 38 14 4 +50 18 47 38 14 4 +51 19 48 38 14 4 +52 14 37 38 14 15 +53 15 47 38 14 15 +54 16 48 38 14 15 +55 14 37 38 14 16 +56 15 47 38 14 16 +57 16 48 38 14 16 +58 10 22 21 23 24 +59 2 25 23 21 22 +60 11 31 21 23 24 +61 4 31 21 23 25 +62 2 29 31 21 22 +63 5 22 21 31 32 +64 4 23 21 31 29 +65 2 23 21 31 32 +66 12 21 23 24 33 +67 13 21 23 24 34 +68 13 21 23 24 48 +69 12 25 23 24 33 +70 13 25 23 24 34 +71 13 25 23 24 48 +72 2 21 23 25 26 +73 4 21 23 25 27 +74 10 26 25 23 24 +75 11 27 25 23 24 +76 17 23 24 48 38 +77 14 23 24 48 49 +78 14 23 24 48 50 +79 18 33 24 48 38 +80 15 33 24 48 49 +81 15 33 24 48 50 +82 19 34 24 48 38 +83 16 34 24 48 49 +84 16 34 24 48 50 +85 2 23 25 27 28 +86 4 23 25 27 29 +87 5 26 25 27 28 +88 2 29 27 25 26 +89 2 25 27 29 30 +90 4 25 27 29 31 +91 5 28 27 29 30 +92 2 31 29 27 28 +93 4 27 29 31 21 +94 2 27 29 31 32 +95 2 21 31 29 30 +96 5 30 29 31 32 +97 10 36 35 37 38 +98 2 39 37 35 36 +99 11 45 35 37 38 +100 4 45 35 37 39 +101 2 43 45 35 36 +102 5 36 35 45 46 +103 4 37 35 45 43 +104 2 37 35 45 46 +105 13 35 37 38 14 +106 12 35 37 38 47 +107 13 35 37 38 48 +108 13 39 37 38 14 +109 12 39 37 38 47 +110 13 39 37 38 48 +111 2 35 37 39 40 +112 4 35 37 39 41 +113 10 40 39 37 38 +114 11 41 39 37 38 +115 19 14 38 48 24 +116 16 14 38 48 49 +117 16 14 38 48 50 +118 17 37 38 48 24 +119 14 37 38 48 49 +120 14 37 38 48 50 +121 18 47 38 48 24 +122 15 47 38 48 49 +123 15 47 38 48 50 +124 2 37 39 41 42 +125 4 37 39 41 43 +126 5 40 39 41 42 +127 2 43 41 39 40 +128 2 39 41 43 44 +129 4 39 41 43 45 +130 5 42 41 43 44 +131 2 45 43 41 42 +132 4 41 43 45 35 +133 2 41 43 45 46 +134 2 35 45 43 44 +135 5 44 43 45 46 + +Impropers + +1 1 3 1 11 2 +2 5 1 3 5 4 +3 1 3 5 7 6 +4 1 5 7 9 8 +5 1 7 9 11 10 +6 1 1 11 9 12 +7 1 23 21 31 22 +8 5 21 23 25 24 +9 1 23 25 27 26 +10 1 25 27 29 28 +11 1 27 29 31 30 +12 1 21 31 29 32 +13 1 37 35 45 36 +14 5 35 37 39 38 +15 1 37 39 41 40 +16 1 39 41 43 42 +17 1 41 43 45 44 +18 1 35 45 43 46 +19 1 3 4 13 14 +20 1 3 4 13 18 +21 1 3 4 14 18 +22 1 13 4 14 18 +23 1 15 14 16 4 +24 1 15 14 4 38 +25 1 16 14 4 38 +26 1 15 14 16 38 +27 1 19 18 17 4 +28 1 20 18 17 4 +29 1 19 18 20 4 +30 1 19 18 20 17 +31 1 23 24 33 34 +32 1 23 24 33 48 +33 1 23 24 34 48 +34 1 33 24 34 48 +35 1 37 38 47 14 +36 1 37 38 14 48 +37 1 47 38 14 48 +38 1 37 38 47 48 +39 1 49 48 38 24 +40 1 50 48 38 24 +41 1 49 48 50 24 +42 1 49 48 50 38 diff --git a/examples/USER/reaction/tiny_polystyrene/chain_chain_unreacted.data_template b/examples/USER/reaction/tiny_polystyrene/chain_chain_unreacted.data_template new file mode 100644 index 0000000000000000000000000000000000000000..d8e0d977df529a5ac53b32433d2441421111d04b --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/chain_chain_unreacted.data_template @@ -0,0 +1,467 @@ +chain_chain_unreacted + +50 atoms +51 bonds +84 angles +118 dihedrals +36 impropers + +Types + +1 1 +2 2 +3 1 +4 5 +5 1 +6 2 +7 1 +8 2 +9 1 +10 2 +11 1 +12 2 +13 2 +14 6 +15 2 +16 2 +17 5 +18 6 +19 2 +20 2 +21 1 +22 2 +23 1 +24 5 +25 1 +26 2 +27 1 +28 2 +29 1 +30 2 +31 1 +32 2 +33 2 +34 6 +35 1 +36 2 +37 1 +38 5 +39 1 +40 2 +41 1 +42 2 +43 1 +44 2 +45 1 +46 2 +47 2 +48 6 +49 2 +50 2 + +Charges + +1 -0.129000 +2 0.123700 +3 0.026600 +4 -0.018200 +5 -0.129000 +6 0.123700 +7 -0.173400 +8 0.140300 +9 -0.113400 +10 0.128800 +11 -0.173400 +12 0.140300 +13 0.051600 +14 -0.069600 +15 0.035400 +16 0.035400 +17 -0.018200 +18 -0.069600 +19 0.035400 +20 0.035400 +21 -0.129000 +22 0.123700 +23 0.026600 +24 -0.018200 +25 -0.129000 +26 0.123700 +27 -0.173400 +28 0.140300 +29 -0.113400 +30 0.128800 +31 -0.173400 +32 0.140300 +33 0.051600 +34 -0.069600 +35 -0.129000 +36 0.123700 +37 0.026600 +38 -0.018200 +39 -0.129000 +40 0.123700 +41 -0.173400 +42 0.140300 +43 -0.113400 +44 0.128800 +45 -0.173400 +46 0.140300 +47 0.051600 +48 -0.069600 +49 0.035400 +50 0.035400 + +Coords + +1 24.391510 0.871570 -1.658940 +2 25.323530 1.410570 -1.658940 +3 23.161520 1.581570 -1.658940 +4 23.161520 3.081570 -1.658940 +5 21.931530 0.871570 -1.658940 +6 20.999531 1.410570 -1.658940 +7 21.931530 -0.548430 -1.658940 +8 20.999531 -1.087420 -1.658940 +9 23.161520 -1.258420 -1.658940 +10 23.161520 -2.335430 -1.658940 +11 24.391510 -0.548430 -1.658940 +12 25.323530 -1.087420 -1.658940 +13 24.027519 3.486570 -1.301940 +14 21.883520 3.630570 -2.220940 +15 21.933510 4.372580 -2.319940 +16 21.240520 2.807570 -2.514940 +17 28.359209 3.254520 -1.372130 +18 27.081209 3.803520 -1.934130 +19 27.131210 4.545520 -2.033130 +20 26.438219 2.980520 -2.228130 +21 13.465810 0.682530 -1.658940 +22 14.397820 1.221530 -1.658940 +23 12.235820 1.392530 -1.658940 +24 12.235820 2.892530 -1.658940 +25 11.005820 0.682530 -1.658940 +26 10.073820 1.221530 -1.658940 +27 11.005820 -0.737470 -1.658940 +28 10.073820 -1.276460 -1.658940 +29 12.235820 -1.447460 -1.658940 +30 12.235820 -2.524470 -1.658940 +31 13.465810 -0.737470 -1.658940 +32 14.397820 -1.276460 -1.658940 +33 13.101820 3.297530 -1.301940 +34 10.957820 3.441530 -2.220940 +35 18.663521 0.855480 -1.372130 +36 19.595510 1.394480 -1.372130 +37 17.433510 1.565480 -1.372130 +38 17.433510 3.065480 -1.372130 +39 16.203510 0.855480 -1.372130 +40 15.271510 1.394480 -1.372130 +41 16.203510 -0.564520 -1.372130 +42 15.271510 -1.103520 -1.372130 +43 17.433510 -1.274520 -1.372130 +44 17.433510 -2.351520 -1.372130 +45 18.663521 -0.564520 -1.372130 +46 19.595510 -1.103520 -1.372130 +47 18.299509 3.470480 -1.015130 +48 16.155510 3.614480 -1.934130 +49 16.205509 4.356480 -2.033130 +50 15.512510 2.791480 -2.228130 + +Bonds + +1 1 1 2 +2 2 1 3 +3 2 1 11 +4 7 3 4 +5 2 3 5 +6 8 13 4 +7 9 4 14 +8 9 4 18 +9 1 5 6 +10 2 5 7 +11 1 7 8 +12 2 7 9 +13 1 9 10 +14 2 9 11 +15 1 11 12 +16 10 15 14 +17 10 16 14 +18 9 17 18 +19 10 19 18 +20 10 20 18 +21 1 21 22 +22 2 21 23 +23 2 21 31 +24 7 23 24 +25 2 23 25 +26 8 33 24 +27 9 24 34 +28 9 24 48 +29 1 25 26 +30 2 25 27 +31 1 27 28 +32 2 27 29 +33 1 29 30 +34 2 29 31 +35 1 31 32 +36 1 35 36 +37 2 35 37 +38 2 35 45 +39 7 37 38 +40 2 37 39 +41 8 47 38 +42 9 38 48 +43 1 39 40 +44 2 39 41 +45 1 41 42 +46 2 41 43 +47 1 43 44 +48 2 43 45 +49 1 45 46 +50 10 49 48 +51 10 50 48 + +Angles + +1 1 3 1 2 +2 1 11 1 2 +3 2 3 1 11 +4 9 1 3 4 +5 2 1 3 5 +6 9 5 3 4 +7 10 3 4 13 +8 11 3 4 14 +9 11 3 4 18 +10 12 13 4 14 +11 12 13 4 18 +12 13 14 4 18 +13 1 3 5 6 +14 2 3 5 7 +15 1 7 5 6 +16 1 5 7 8 +17 2 5 7 9 +18 1 9 7 8 +19 1 7 9 10 +20 2 7 9 11 +21 1 11 9 10 +22 2 1 11 9 +23 1 1 11 12 +24 1 9 11 12 +25 14 15 14 4 +26 14 16 14 4 +27 15 15 14 16 +28 16 4 18 17 +29 14 19 18 4 +30 14 20 18 4 +31 14 19 18 17 +32 14 20 18 17 +33 15 19 18 20 +34 1 23 21 22 +35 1 31 21 22 +36 2 23 21 31 +37 9 21 23 24 +38 2 21 23 25 +39 9 25 23 24 +40 10 23 24 33 +41 11 23 24 34 +42 11 23 24 48 +43 12 33 24 34 +44 12 33 24 48 +45 13 34 24 48 +46 1 23 25 26 +47 2 23 25 27 +48 1 27 25 26 +49 1 25 27 28 +50 2 25 27 29 +51 1 29 27 28 +52 1 27 29 30 +53 2 27 29 31 +54 1 31 29 30 +55 2 21 31 29 +56 1 21 31 32 +57 1 29 31 32 +58 1 37 35 36 +59 1 45 35 36 +60 2 37 35 45 +61 9 35 37 38 +62 2 35 37 39 +63 9 39 37 38 +64 10 37 38 47 +65 11 37 38 48 +66 12 47 38 48 +67 1 37 39 40 +68 2 37 39 41 +69 1 41 39 40 +70 1 39 41 42 +71 2 39 41 43 +72 1 43 41 42 +73 1 41 43 44 +74 2 41 43 45 +75 1 45 43 44 +76 2 35 45 43 +77 1 35 45 46 +78 1 43 45 46 +79 16 24 48 38 +80 14 49 48 24 +81 14 50 48 24 +82 14 49 48 38 +83 14 50 48 38 +84 15 49 48 50 + +Dihedrals + +1 10 2 1 3 4 +2 2 5 3 1 2 +3 11 11 1 3 4 +4 4 11 1 3 5 +5 2 9 11 1 2 +6 5 2 1 11 12 +7 4 3 1 11 9 +8 2 3 1 11 12 +9 12 1 3 4 13 +10 13 1 3 4 14 +11 13 1 3 4 18 +12 12 5 3 4 13 +13 13 5 3 4 14 +14 13 5 3 4 18 +15 2 1 3 5 6 +16 4 1 3 5 7 +17 10 6 5 3 4 +18 11 7 5 3 4 +19 14 3 4 14 15 +20 14 3 4 14 16 +21 15 13 4 14 15 +22 15 13 4 14 16 +23 16 18 4 14 15 +24 16 18 4 14 16 +25 17 3 4 18 17 +26 14 3 4 18 19 +27 14 3 4 18 20 +28 18 13 4 18 17 +29 15 13 4 18 19 +30 15 13 4 18 20 +31 19 14 4 18 17 +32 16 14 4 18 19 +33 16 14 4 18 20 +34 2 3 5 7 8 +35 4 3 5 7 9 +36 5 6 5 7 8 +37 2 9 7 5 6 +38 2 5 7 9 10 +39 4 5 7 9 11 +40 5 8 7 9 10 +41 2 11 9 7 8 +42 4 7 9 11 1 +43 2 7 9 11 12 +44 2 1 11 9 10 +45 5 10 9 11 12 +46 10 22 21 23 24 +47 2 25 23 21 22 +48 11 31 21 23 24 +49 4 31 21 23 25 +50 2 29 31 21 22 +51 5 22 21 31 32 +52 4 23 21 31 29 +53 2 23 21 31 32 +54 12 21 23 24 33 +55 13 21 23 24 34 +56 13 21 23 24 48 +57 12 25 23 24 33 +58 13 25 23 24 34 +59 13 25 23 24 48 +60 2 21 23 25 26 +61 4 21 23 25 27 +62 10 26 25 23 24 +63 11 27 25 23 24 +64 17 23 24 48 38 +65 14 23 24 48 49 +66 14 23 24 48 50 +67 18 33 24 48 38 +68 15 33 24 48 49 +69 15 33 24 48 50 +70 19 34 24 48 38 +71 16 34 24 48 49 +72 16 34 24 48 50 +73 2 23 25 27 28 +74 4 23 25 27 29 +75 5 26 25 27 28 +76 2 29 27 25 26 +77 2 25 27 29 30 +78 4 25 27 29 31 +79 5 28 27 29 30 +80 2 31 29 27 28 +81 4 27 29 31 21 +82 2 27 29 31 32 +83 2 21 31 29 30 +84 5 30 29 31 32 +85 10 36 35 37 38 +86 2 39 37 35 36 +87 11 45 35 37 38 +88 4 45 35 37 39 +89 2 43 45 35 36 +90 5 36 35 45 46 +91 4 37 35 45 43 +92 2 37 35 45 46 +93 12 35 37 38 47 +94 13 35 37 38 48 +95 12 39 37 38 47 +96 13 39 37 38 48 +97 2 35 37 39 40 +98 4 35 37 39 41 +99 10 40 39 37 38 +100 11 41 39 37 38 +101 17 37 38 48 24 +102 14 37 38 48 49 +103 14 37 38 48 50 +104 18 47 38 48 24 +105 15 47 38 48 49 +106 15 47 38 48 50 +107 2 37 39 41 42 +108 4 37 39 41 43 +109 5 40 39 41 42 +110 2 43 41 39 40 +111 2 39 41 43 44 +112 4 39 41 43 45 +113 5 42 41 43 44 +114 2 45 43 41 42 +115 4 41 43 45 35 +116 2 41 43 45 46 +117 2 35 45 43 44 +118 5 44 43 45 46 + +Impropers + +1 1 3 1 11 2 +2 5 1 3 5 4 +3 1 3 5 7 6 +4 1 5 7 9 8 +5 1 7 9 11 10 +6 1 1 11 9 12 +7 6 15 14 16 4 +8 1 23 21 31 22 +9 5 21 23 25 24 +10 1 23 25 27 26 +11 1 25 27 29 28 +12 1 27 29 31 30 +13 1 21 31 29 32 +14 1 37 35 45 36 +15 5 35 37 39 38 +16 7 37 38 47 48 +17 1 37 39 41 40 +18 1 39 41 43 42 +19 1 41 43 45 44 +20 1 35 45 43 46 +21 1 3 4 13 14 +22 1 3 4 13 18 +23 1 3 4 14 18 +24 1 13 4 14 18 +25 1 19 18 17 4 +26 1 20 18 17 4 +27 1 19 18 20 4 +28 1 19 18 20 17 +29 1 23 24 33 34 +30 1 23 24 33 48 +31 1 23 24 34 48 +32 1 33 24 34 48 +33 1 49 48 38 24 +34 1 50 48 38 24 +35 1 49 48 50 24 +36 1 49 48 50 38 diff --git a/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_map b/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_map new file mode 100644 index 0000000000000000000000000000000000000000..56808b0962106459e01a6b92a918c5058baa60df --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_map @@ -0,0 +1,62 @@ +this is a map file + +1 edgeIDs +46 equivalences + +EdgeIDs + +30 + +BondingIDs + +14 +34 + +Equivalences + +1 1 +2 2 +3 3 +4 4 +5 5 +6 6 +7 7 +8 8 +9 9 +10 10 +11 11 +12 12 +13 13 +14 14 +15 15 +16 16 +17 17 +18 18 +19 19 +20 20 +21 21 +22 22 +23 23 +24 24 +25 25 +26 26 +27 27 +28 28 +29 29 +30 30 +31 31 +32 32 +33 33 +34 34 +35 35 +36 36 +37 37 +38 38 +39 39 +40 40 +41 41 +42 42 +43 43 +44 44 +45 45 +46 46 diff --git a/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_reacted.data_template b/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_reacted.data_template new file mode 100644 index 0000000000000000000000000000000000000000..352d88737ddd927f39a299464979982ed1939426 --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_reacted.data_template @@ -0,0 +1,451 @@ +chain_plus_styrene_reacted + +46 atoms +48 bonds +81 angles +121 dihedrals +35 impropers + +Types + +1 1 +2 2 +3 1 +4 5 +5 1 +6 2 +7 1 +8 2 +9 1 +10 2 +11 1 +12 2 +13 2 +14 6 +15 2 +16 2 +17 1 +18 2 +19 1 +20 5 +21 1 +22 2 +23 1 +24 2 +25 1 +26 2 +27 1 +28 2 +29 2 +30 6 +31 1 +32 2 +33 1 +34 5 +35 1 +36 2 +37 1 +38 2 +39 1 +40 2 +41 1 +42 2 +43 2 +44 6 +45 2 +46 2 + +Charges + +1 -0.129000 +2 0.123700 +3 0.026600 +4 -0.018200 +5 -0.129000 +6 0.123700 +7 -0.173400 +8 0.140300 +9 -0.113400 +10 0.128800 +11 -0.173400 +12 0.140300 +13 0.051600 +14 -0.069600 +15 0.035400 +16 0.035400 +17 -0.129000 +18 0.123700 +19 0.026600 +20 -0.018200 +21 -0.129000 +22 0.123700 +23 -0.173400 +24 0.140300 +25 -0.113400 +26 0.128800 +27 -0.173400 +28 0.140300 +29 0.051600 +30 -0.069600 +31 -0.129000 +32 0.123700 +33 0.026600 +34 -0.018200 +35 -0.129000 +36 0.123700 +37 -0.173400 +38 0.140300 +39 -0.113400 +40 0.128800 +41 -0.173400 +42 0.140300 +43 0.051600 +44 -0.069600 +45 0.035400 +46 0.035400 + +Coords + +1 24.130699 1.043900 -1.309300 +2 25.062700 1.582900 -1.309300 +3 22.900700 1.753900 -1.309300 +4 22.900700 3.253900 -1.309300 +5 21.670700 1.043900 -1.309300 +6 20.738701 1.582900 -1.309300 +7 21.670700 -0.376100 -1.309300 +8 20.738701 -0.915100 -1.309300 +9 22.900700 -1.086100 -1.309300 +10 22.900700 -2.163100 -1.309300 +11 24.130699 -0.376100 -1.309300 +12 25.062700 -0.915100 -1.309300 +13 23.766701 3.658900 -0.952300 +14 21.622700 3.802900 -1.871300 +15 21.672701 4.544900 -1.970300 +16 20.979700 2.979900 -2.165300 +17 13.465800 0.682500 -1.658900 +18 14.397800 1.221500 -1.658900 +19 12.235800 1.392500 -1.658900 +20 12.235800 2.892500 -1.658900 +21 11.005800 0.682500 -1.658900 +22 10.073800 1.221500 -1.658900 +23 11.005800 -0.737500 -1.658900 +24 10.073800 -1.276500 -1.658900 +25 12.235800 -1.447500 -1.658900 +26 12.235800 -2.524500 -1.658900 +27 13.465800 -0.737500 -1.658900 +28 14.397800 -1.276500 -1.658900 +29 13.101800 3.297500 -1.301900 +30 10.957800 3.441500 -2.220900 +31 18.663500 0.855500 -1.372100 +32 19.595501 1.394500 -1.372100 +33 17.433500 1.565500 -1.372100 +34 17.433500 3.065500 -1.372100 +35 16.203501 0.855500 -1.372100 +36 15.271500 1.394500 -1.372100 +37 16.203501 -0.564500 -1.372100 +38 15.271500 -1.103500 -1.372100 +39 17.433500 -1.274500 -1.372100 +40 17.433500 -2.351500 -1.372100 +41 18.663500 -0.564500 -1.372100 +42 19.595501 -1.103500 -1.372100 +43 18.299500 3.470500 -1.015100 +44 16.155500 3.614500 -1.934100 +45 16.205500 4.356500 -2.033100 +46 15.512500 2.791500 -2.228100 + +Bonds + +1 1 1 2 +2 2 1 3 +3 2 1 11 +4 11 3 4 +5 2 3 5 +6 12 13 4 +7 13 4 14 +8 1 5 6 +9 2 5 7 +10 1 7 8 +11 2 7 9 +12 1 9 10 +13 2 9 11 +14 1 11 12 +15 10 15 14 +16 10 16 14 +17 9 14 34 +18 1 17 18 +19 2 17 19 +20 2 17 27 +21 7 19 20 +22 2 19 21 +23 8 29 20 +24 9 30 20 +25 9 44 20 +26 1 21 22 +27 2 21 23 +28 1 23 24 +29 2 23 25 +30 1 25 26 +31 2 25 27 +32 1 27 28 +33 1 31 32 +34 2 31 33 +35 2 31 41 +36 7 33 34 +37 2 33 35 +38 8 43 34 +39 9 44 34 +40 1 35 36 +41 2 35 37 +42 1 37 38 +43 2 37 39 +44 1 39 40 +45 2 39 41 +46 1 41 42 +47 10 45 44 +48 10 46 44 + +Angles + +1 1 3 1 2 +2 1 11 1 2 +3 2 3 1 11 +4 17 1 3 4 +5 2 1 3 5 +6 17 5 3 4 +7 18 3 4 13 +8 19 3 4 14 +9 20 13 4 14 +10 1 3 5 6 +11 2 3 5 7 +12 1 7 5 6 +13 1 5 7 8 +14 2 5 7 9 +15 1 9 7 8 +16 1 7 9 10 +17 2 7 9 11 +18 1 11 9 10 +19 2 1 11 9 +20 1 1 11 12 +21 1 9 11 12 +22 21 15 14 4 +23 21 16 14 4 +24 22 4 14 34 +25 15 15 14 16 +26 14 15 14 34 +27 14 16 14 34 +28 1 19 17 18 +29 1 27 17 18 +30 2 19 17 27 +31 9 17 19 20 +32 2 17 19 21 +33 9 21 19 20 +34 10 19 20 29 +35 11 19 20 30 +36 11 19 20 44 +37 12 29 20 30 +38 12 29 20 44 +39 13 30 20 44 +40 1 19 21 22 +41 2 19 21 23 +42 1 23 21 22 +43 1 21 23 24 +44 2 21 23 25 +45 1 25 23 24 +46 1 23 25 26 +47 2 23 25 27 +48 1 27 25 26 +49 2 17 27 25 +50 1 17 27 28 +51 1 25 27 28 +52 1 33 31 32 +53 1 41 31 32 +54 2 33 31 41 +55 9 31 33 34 +56 2 31 33 35 +57 9 35 33 34 +58 11 33 34 14 +59 12 43 34 14 +60 13 14 34 44 +61 10 33 34 43 +62 11 33 34 44 +63 12 43 34 44 +64 1 33 35 36 +65 2 33 35 37 +66 1 37 35 36 +67 1 35 37 38 +68 2 35 37 39 +69 1 39 37 38 +70 1 37 39 40 +71 2 37 39 41 +72 1 41 39 40 +73 2 31 41 39 +74 1 31 41 42 +75 1 39 41 42 +76 16 20 44 34 +77 14 45 44 20 +78 14 46 44 20 +79 14 45 44 34 +80 14 46 44 34 +81 15 45 44 46 + +Dihedrals + +1 20 2 1 3 4 +2 2 5 3 1 2 +3 21 11 1 3 4 +4 4 11 1 3 5 +5 2 9 11 1 2 +6 5 2 1 11 12 +7 4 3 1 11 9 +8 2 3 1 11 12 +9 22 1 3 4 13 +10 23 1 3 4 14 +11 22 5 3 4 13 +12 23 5 3 4 14 +13 2 1 3 5 6 +14 4 1 3 5 7 +15 20 6 5 3 4 +16 21 7 5 3 4 +17 24 3 4 14 15 +18 24 3 4 14 16 +19 25 3 4 14 34 +20 26 13 4 14 15 +21 26 13 4 14 16 +22 27 13 4 14 34 +23 2 3 5 7 8 +24 4 3 5 7 9 +25 5 6 5 7 8 +26 2 9 7 5 6 +27 2 5 7 9 10 +28 4 5 7 9 11 +29 5 8 7 9 10 +30 2 11 9 7 8 +31 4 7 9 11 1 +32 2 7 9 11 12 +33 2 1 11 9 10 +34 5 10 9 11 12 +35 28 4 14 34 33 +36 29 4 14 34 43 +37 30 4 14 34 44 +38 31 15 14 34 33 +39 32 15 14 34 43 +40 33 15 14 34 44 +41 31 16 14 34 33 +42 32 16 14 34 43 +43 33 16 14 34 44 +44 10 18 17 19 20 +45 2 21 19 17 18 +46 11 27 17 19 20 +47 4 27 17 19 21 +48 2 25 27 17 18 +49 5 18 17 27 28 +50 4 19 17 27 25 +51 2 19 17 27 28 +52 12 17 19 20 29 +53 13 17 19 20 30 +54 13 17 19 20 44 +55 12 21 19 20 29 +56 13 21 19 20 30 +57 13 21 19 20 44 +58 2 17 19 21 22 +59 4 17 19 21 23 +60 10 22 21 19 20 +61 11 23 21 19 20 +62 34 34 44 20 19 +63 31 45 44 20 19 +64 31 46 44 20 19 +65 35 34 44 20 29 +66 32 45 44 20 29 +67 32 46 44 20 29 +68 36 34 44 20 30 +69 33 45 44 20 30 +70 33 46 44 20 30 +71 2 19 21 23 24 +72 4 19 21 23 25 +73 5 22 21 23 24 +74 2 25 23 21 22 +75 2 21 23 25 26 +76 4 21 23 25 27 +77 5 24 23 25 26 +78 2 27 25 23 24 +79 4 23 25 27 17 +80 2 23 25 27 28 +81 2 17 27 25 26 +82 5 26 25 27 28 +83 10 32 31 33 34 +84 2 35 33 31 32 +85 11 41 31 33 34 +86 4 41 31 33 35 +87 2 39 41 31 32 +88 5 32 31 41 42 +89 4 33 31 41 39 +90 2 33 31 41 42 +91 13 31 33 34 14 +92 12 31 33 34 43 +93 13 31 33 34 44 +94 13 35 33 34 14 +95 12 35 33 34 43 +96 13 35 33 34 44 +97 2 31 33 35 36 +98 4 31 33 35 37 +99 10 36 35 33 34 +100 11 37 35 33 34 +101 36 20 44 34 14 +102 33 45 44 34 14 +103 33 46 44 34 14 +104 34 20 44 34 33 +105 31 45 44 34 33 +106 31 46 44 34 33 +107 35 20 44 34 43 +108 32 45 44 34 43 +109 32 46 44 34 43 +110 2 33 35 37 38 +111 4 33 35 37 39 +112 5 36 35 37 38 +113 2 39 37 35 36 +114 2 35 37 39 40 +115 4 35 37 39 41 +116 5 38 37 39 40 +117 2 41 39 37 38 +118 4 37 39 41 31 +119 2 37 39 41 42 +120 2 31 41 39 40 +121 5 40 39 41 42 + +Impropers + +1 1 3 1 11 2 +2 8 1 3 5 4 +3 9 3 4 13 14 +4 1 3 5 7 6 +5 1 5 7 9 8 +6 1 7 9 11 10 +7 1 1 11 9 12 +8 1 19 17 27 18 +9 5 17 19 21 20 +10 1 19 21 23 22 +11 1 21 23 25 24 +12 1 23 25 27 26 +13 1 17 27 25 28 +14 1 33 31 41 32 +15 5 31 33 35 34 +16 1 33 35 37 36 +17 1 35 37 39 38 +18 1 37 39 41 40 +19 1 31 41 39 42 +20 1 15 14 16 4 +21 1 15 14 4 34 +22 1 16 14 4 34 +23 1 15 14 16 34 +24 1 19 20 29 30 +25 1 19 20 29 44 +26 1 19 20 30 44 +27 1 29 20 30 44 +28 1 33 34 43 14 +29 1 33 34 14 44 +30 1 43 34 14 44 +31 1 33 34 43 44 +32 1 45 44 34 20 +33 1 46 44 34 20 +34 1 45 44 46 20 +35 1 45 44 46 34 diff --git a/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_unreacted.data_template b/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_unreacted.data_template new file mode 100644 index 0000000000000000000000000000000000000000..f76aad50e6d95190cac641db8c8519aa41e43a3b --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/chain_plus_styrene_unreacted.data_template @@ -0,0 +1,422 @@ +chain_plus_styrene_unreacted + +46 atoms +47 bonds +75 angles +105 dihedrals +29 impropers + +Types + +1 1 +2 2 +3 1 +4 3 +5 1 +6 2 +7 1 +8 2 +9 1 +10 2 +11 1 +12 2 +13 2 +14 4 +15 2 +16 2 +17 1 +18 2 +19 1 +20 5 +21 1 +22 2 +23 1 +24 2 +25 1 +26 2 +27 1 +28 2 +29 2 +30 6 +31 1 +32 2 +33 1 +34 5 +35 1 +36 2 +37 1 +38 2 +39 1 +40 2 +41 1 +42 2 +43 2 +44 6 +45 2 +46 2 + +Charges + +1 -0.129000 +2 0.123700 +3 0.026600 +4 -0.018200 +5 -0.129000 +6 0.123700 +7 -0.173400 +8 0.140300 +9 -0.113400 +10 0.128800 +11 -0.173400 +12 0.140300 +13 0.051600 +14 -0.069600 +15 0.035400 +16 0.035400 +17 -0.129000 +18 0.123700 +19 0.026600 +20 -0.018200 +21 -0.129000 +22 0.123700 +23 -0.173400 +24 0.140300 +25 -0.113400 +26 0.128800 +27 -0.173400 +28 0.140300 +29 0.051600 +30 -0.069600 +31 -0.129000 +32 0.123700 +33 0.026600 +34 -0.018200 +35 -0.129000 +36 0.123700 +37 -0.173400 +38 0.140300 +39 -0.113400 +40 0.128800 +41 -0.173400 +42 0.140300 +43 0.051600 +44 -0.069600 +45 0.035400 +46 0.035400 + +Coords + +1 24.130699 1.043900 -1.309300 +2 25.062700 1.582900 -1.309300 +3 22.900700 1.753900 -1.309300 +4 22.900700 3.253900 -1.309300 +5 21.670700 1.043900 -1.309300 +6 20.738701 1.582900 -1.309300 +7 21.670700 -0.376100 -1.309300 +8 20.738701 -0.915100 -1.309300 +9 22.900700 -1.086100 -1.309300 +10 22.900700 -2.163100 -1.309300 +11 24.130699 -0.376100 -1.309300 +12 25.062700 -0.915100 -1.309300 +13 23.766701 3.658900 -0.952300 +14 21.622700 3.802900 -1.871300 +15 21.672701 4.544900 -1.970300 +16 20.979700 2.979900 -2.165300 +17 13.465800 0.682500 -1.658900 +18 14.397800 1.221500 -1.658900 +19 12.235800 1.392500 -1.658900 +20 12.235800 2.892500 -1.658900 +21 11.005800 0.682500 -1.658900 +22 10.073800 1.221500 -1.658900 +23 11.005800 -0.737500 -1.658900 +24 10.073800 -1.276500 -1.658900 +25 12.235800 -1.447500 -1.658900 +26 12.235800 -2.524500 -1.658900 +27 13.465800 -0.737500 -1.658900 +28 14.397800 -1.276500 -1.658900 +29 13.101800 3.297500 -1.301900 +30 10.957800 3.441500 -2.220900 +31 18.663500 0.855500 -1.372100 +32 19.595501 1.394500 -1.372100 +33 17.433500 1.565500 -1.372100 +34 17.433500 3.065500 -1.372100 +35 16.203501 0.855500 -1.372100 +36 15.271500 1.394500 -1.372100 +37 16.203501 -0.564500 -1.372100 +38 15.271500 -1.103500 -1.372100 +39 17.433500 -1.274500 -1.372100 +40 17.433500 -2.351500 -1.372100 +41 18.663500 -0.564500 -1.372100 +42 19.595501 -1.103500 -1.372100 +43 18.299500 3.470500 -1.015100 +44 16.155500 3.614500 -1.934100 +45 16.205500 4.356500 -2.033100 +46 15.512500 2.791500 -2.228100 + +Bonds + +1 1 1 2 +2 2 1 3 +3 2 1 11 +4 3 3 4 +5 2 3 5 +6 4 13 4 +7 5 4 14 +8 1 5 6 +9 2 5 7 +10 1 7 8 +11 2 7 9 +12 1 9 10 +13 2 9 11 +14 1 11 12 +15 6 15 14 +16 6 16 14 +17 1 17 18 +18 2 17 19 +19 2 17 27 +20 7 19 20 +21 2 19 21 +22 8 29 20 +23 9 20 30 +24 9 20 44 +25 1 21 22 +26 2 21 23 +27 1 23 24 +28 2 23 25 +29 1 25 26 +30 2 25 27 +31 1 27 28 +32 1 31 32 +33 2 31 33 +34 2 31 41 +35 7 33 34 +36 2 33 35 +37 8 43 34 +38 9 34 44 +39 1 35 36 +40 2 35 37 +41 1 37 38 +42 2 37 39 +43 1 39 40 +44 2 39 41 +45 1 41 42 +46 10 45 44 +47 10 46 44 + +Angles + +1 1 3 1 2 +2 1 11 1 2 +3 2 3 1 11 +4 3 1 3 4 +5 2 1 3 5 +6 3 5 3 4 +7 4 3 4 13 +8 5 3 4 14 +9 6 13 4 14 +10 1 3 5 6 +11 2 3 5 7 +12 1 7 5 6 +13 1 5 7 8 +14 2 5 7 9 +15 1 9 7 8 +16 1 7 9 10 +17 2 7 9 11 +18 1 11 9 10 +19 2 1 11 9 +20 1 1 11 12 +21 1 9 11 12 +22 7 15 14 4 +23 7 16 14 4 +24 8 15 14 16 +25 1 19 17 18 +26 1 27 17 18 +27 2 19 17 27 +28 9 17 19 20 +29 2 17 19 21 +30 9 21 19 20 +31 10 19 20 29 +32 11 19 20 30 +33 11 19 20 44 +34 12 29 20 30 +35 12 29 20 44 +36 13 30 20 44 +37 1 19 21 22 +38 2 19 21 23 +39 1 23 21 22 +40 1 21 23 24 +41 2 21 23 25 +42 1 25 23 24 +43 1 23 25 26 +44 2 23 25 27 +45 1 27 25 26 +46 2 17 27 25 +47 1 17 27 28 +48 1 25 27 28 +49 1 33 31 32 +50 1 41 31 32 +51 2 33 31 41 +52 9 31 33 34 +53 2 31 33 35 +54 9 35 33 34 +55 10 33 34 43 +56 11 33 34 44 +57 12 43 34 44 +58 1 33 35 36 +59 2 33 35 37 +60 1 37 35 36 +61 1 35 37 38 +62 2 35 37 39 +63 1 39 37 38 +64 1 37 39 40 +65 2 37 39 41 +66 1 41 39 40 +67 2 31 41 39 +68 1 31 41 42 +69 1 39 41 42 +70 16 20 44 34 +71 14 45 44 20 +72 14 46 44 20 +73 14 45 44 34 +74 14 46 44 34 +75 15 45 44 46 + +Dihedrals + +1 1 2 1 3 4 +2 2 5 3 1 2 +3 3 11 1 3 4 +4 4 11 1 3 5 +5 2 9 11 1 2 +6 5 2 1 11 12 +7 4 3 1 11 9 +8 2 3 1 11 12 +9 6 1 3 4 13 +10 7 1 3 4 14 +11 6 5 3 4 13 +12 7 5 3 4 14 +13 2 1 3 5 6 +14 4 1 3 5 7 +15 1 6 5 3 4 +16 3 7 5 3 4 +17 8 3 4 14 15 +18 8 3 4 14 16 +19 9 13 4 14 15 +20 9 13 4 14 16 +21 2 3 5 7 8 +22 4 3 5 7 9 +23 5 6 5 7 8 +24 2 9 7 5 6 +25 2 5 7 9 10 +26 4 5 7 9 11 +27 5 8 7 9 10 +28 2 11 9 7 8 +29 4 7 9 11 1 +30 2 7 9 11 12 +31 2 1 11 9 10 +32 5 10 9 11 12 +33 10 18 17 19 20 +34 2 21 19 17 18 +35 11 27 17 19 20 +36 4 27 17 19 21 +37 2 25 27 17 18 +38 5 18 17 27 28 +39 4 19 17 27 25 +40 2 19 17 27 28 +41 12 17 19 20 29 +42 13 17 19 20 30 +43 13 17 19 20 44 +44 12 21 19 20 29 +45 13 21 19 20 30 +46 13 21 19 20 44 +47 2 17 19 21 22 +48 4 17 19 21 23 +49 10 22 21 19 20 +50 11 23 21 19 20 +51 17 19 20 44 34 +52 14 19 20 44 45 +53 14 19 20 44 46 +54 18 29 20 44 34 +55 15 29 20 44 45 +56 15 29 20 44 46 +57 19 30 20 44 34 +58 16 30 20 44 45 +59 16 30 20 44 46 +60 2 19 21 23 24 +61 4 19 21 23 25 +62 5 22 21 23 24 +63 2 25 23 21 22 +64 2 21 23 25 26 +65 4 21 23 25 27 +66 5 24 23 25 26 +67 2 27 25 23 24 +68 4 23 25 27 17 +69 2 23 25 27 28 +70 2 17 27 25 26 +71 5 26 25 27 28 +72 10 32 31 33 34 +73 2 35 33 31 32 +74 11 41 31 33 34 +75 4 41 31 33 35 +76 2 39 41 31 32 +77 5 32 31 41 42 +78 4 33 31 41 39 +79 2 33 31 41 42 +80 12 31 33 34 43 +81 13 31 33 34 44 +82 12 35 33 34 43 +83 13 35 33 34 44 +84 2 31 33 35 36 +85 4 31 33 35 37 +86 10 36 35 33 34 +87 11 37 35 33 34 +88 17 33 34 44 20 +89 14 33 34 44 45 +90 14 33 34 44 46 +91 18 43 34 44 20 +92 15 43 34 44 45 +93 15 43 34 44 46 +94 2 33 35 37 38 +95 4 33 35 37 39 +96 5 36 35 37 38 +97 2 39 37 35 36 +98 2 35 37 39 40 +99 4 35 37 39 41 +100 5 38 37 39 40 +101 2 41 39 37 38 +102 4 37 39 41 31 +103 2 37 39 41 42 +104 2 31 41 39 40 +105 5 40 39 41 42 + +Impropers + +1 1 3 1 11 2 +2 2 1 3 5 4 +3 3 3 4 13 14 +4 1 3 5 7 6 +5 1 5 7 9 8 +6 1 7 9 11 10 +7 1 1 11 9 12 +8 4 15 14 16 4 +9 1 19 17 27 18 +10 5 17 19 21 20 +11 1 19 21 23 22 +12 1 21 23 25 24 +13 1 23 25 27 26 +14 1 17 27 25 28 +15 1 33 31 41 32 +16 5 31 33 35 34 +17 7 33 34 43 44 +18 1 33 35 37 36 +19 1 35 37 39 38 +20 1 37 39 41 40 +21 1 31 41 39 42 +22 1 19 20 29 30 +23 1 19 20 29 44 +24 1 19 20 30 44 +25 1 29 20 30 44 +26 1 45 44 34 20 +27 1 46 44 34 20 +28 1 45 44 46 20 +29 1 45 44 46 34 diff --git a/examples/USER/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized b/examples/USER/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized new file mode 100644 index 0000000000000000000000000000000000000000..a711f3eaa94aff6497bfae321fe8fdd41a858e0b --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/in.tiny_polystyrene.stabilized @@ -0,0 +1,56 @@ +# 20 styrene molecules +# three reactions defined + +units real + +boundary p p p + +atom_style full + +kspace_style pppm 1.0e-4 + +pair_style lj/class2/coul/long 8.5 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +variable T equal 530 + +read_data tiny_polystyrene.data & + extra/bond/per/atom 5 & + extra/angle/per/atom 15 & + extra/dihedral/per/atom 15 & + extra/improper/per/atom 25 & + extra/special/per/atom 25 + +molecule mol1 2styrene_unreacted.data_template +molecule mol2 2styrene_reacted.data_template +molecule mol3 chain_plus_styrene_unreacted.data_template +molecule mol4 chain_plus_styrene_reacted.data_template +molecule mol5 chain_chain_unreacted.data_template +molecule mol6 chain_chain_reacted.data_template + +thermo 100 + +# dump 1 all xyz 5 test_vis.xyz + +fix rxn1 all bond/react stabilization yes statted_grp .03 & + react rxn1 all 1 0 3.0 mol1 mol2 2styrene_map stabilize_steps 100 & + react rxn2 all 1 0 3.0 mol3 mol4 chain_plus_styrene_map stabilize_steps 100 & + react rxn3 all 1 0 5.0 mol5 mol6 chain_chain_map stabilize_steps 100 + +fix 1 statted_grp_REACT nvt temp $T $T 100 + +fix 4 bond_react_MASTER_group temp/rescale 1 $T $T 1 1 + +thermo_style custom step temp press density f_rxn1[1] f_rxn1[2] f_rxn1[3] + +run 10000 + +# write_restart restart_longrun nofix +# write_data restart_longrun.data diff --git a/examples/USER/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.1 b/examples/USER/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..274c72ece98656c7da117ffde1e5a84e9ccafbb3 --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.1 @@ -0,0 +1,245 @@ +LAMMPS (20 Nov 2019) + +WARNING-WARNING-WARNING-WARNING-WARNING +This LAMMPS executable was compiled using C++98 compatibility. +Please report the compiler info below at https://github.com/lammps/lammps/issues/1659 +GNU C++ 4.8.5 +WARNING-WARNING-WARNING-WARNING-WARNING + +Reading data file ... + orthogonal box = (1.74267 1.74267 1.74267) to (18.2573 18.2573 18.2573) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 320 atoms + reading velocities ... + 320 velocities + scanning bonds ... + 8 = max bonds/atom + scanning angles ... + 18 = max angles/atom + scanning dihedrals ... + 22 = max dihedrals/atom + scanning impropers ... + 26 = max impropers/atom + reading bonds ... + 320 bonds + reading angles ... + 480 angles + reading dihedrals ... + 640 dihedrals + reading impropers ... + 160 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 12 = max # of 1-4 neighbors + 39 = max # of special neighbors + special bonds CPU = 0.000929056 secs + read_data CPU = 0.00930568 secs +Read molecule mol1: + 32 atoms with max type 4 + 32 bonds with max type 6 + 48 angles with max type 8 + 64 dihedrals with max type 9 + 16 impropers with max type 4 +Read molecule mol2: + 32 atoms with max type 6 + 33 bonds with max type 10 + 54 angles with max type 16 + 79 dihedrals with max type 19 + 22 impropers with max type 7 +Read molecule mol3: + 46 atoms with max type 6 + 47 bonds with max type 10 + 75 angles with max type 16 + 105 dihedrals with max type 19 + 29 impropers with max type 7 +Read molecule mol4: + 46 atoms with max type 6 + 48 bonds with max type 13 + 81 angles with max type 22 + 121 dihedrals with max type 36 + 35 impropers with max type 9 +Read molecule mol5: + 50 atoms with max type 6 + 51 bonds with max type 10 + 84 angles with max type 16 + 118 dihedrals with max type 19 + 36 impropers with max type 7 +Read molecule mol6: + 50 atoms with max type 6 + 52 bonds with max type 10 + 90 angles with max type 16 + 135 dihedrals with max type 19 + 42 impropers with max type 5 +dynamic group bond_react_MASTER_group defined +dynamic group statted_grp_REACT defined +PPPM initialization ... +WARNING: System is not charge neutral, net charge = -0.004 (../kspace.cpp:304) + using 12-bit tables for long-range coulomb (../kspace.cpp:323) + G vector (1/distance) = 0.255611 + grid = 6 6 6 + stencil order = 5 + estimated absolute RMS force accuracy = 0.00974692 + estimated relative force accuracy = 2.93525e-05 + using double precision FFTs + 3d grid and FFT values/proc = 1331 216 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.5 + ghost atom cutoff = 10.5 + binsize = 5.25, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair lj/class2/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix bond/react, occasional, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 31.14 | 31.14 | 31.14 Mbytes +Step Temp Press Density f_rxn1[1] f_rxn1[2] f_rxn1[3] + 0 320.13638 -376.0844 0.76796752 0 0 0 + 100 520.00782 3952.7008 0.76796752 8 0 0 + 200 499.9174 2360.8219 0.76796752 8 3 1 + 300 583.93895 2453.7374 0.76796752 8 3 2 + 400 560.65536 -2243.3464 0.76796752 8 3 3 + 500 556.27995 3598.7044 0.76796752 8 3 3 + 600 570.8397 -3340.1826 0.76796752 8 4 4 + 700 456.89894 -1087.8081 0.76796752 8 4 4 + 800 572.91817 -776.19188 0.76796752 8 4 4 + 900 530.13621 -246734.46 0.76796752 8 4 5 + 1000 542.34698 1044.0793 0.76796752 8 4 5 + 1100 562.86339 1207.1715 0.76796752 8 4 5 + 1200 520.1559 2725.6523 0.76796752 8 4 5 + 1300 534.01667 951.0972 0.76796752 8 4 5 + 1400 478.68681 1184.9224 0.76796752 8 4 5 + 1500 509.05445 2020.5224 0.76796752 8 4 5 + 1600 549.5382 810.17577 0.76796752 8 4 5 + 1700 549.46882 -6349.7751 0.76796752 8 4 5 + 1800 496.77334 3953.1043 0.76796752 8 4 5 + 1900 522.28719 -2271.7599 0.76796752 8 4 6 + 2000 569.95975 5633.4352 0.76796752 8 4 6 + 2100 590.8418 2355.8447 0.76796752 8 4 6 + 2200 537.64787 6459.6743 0.76796752 8 4 6 + 2300 548.38487 -1566.3528 0.76796752 8 4 6 + 2400 533.50353 6755.664 0.76796752 8 4 6 + 2500 512.57053 325.30968 0.76796752 8 4 6 + 2600 498.4597 -2468.1165 0.76796752 8 4 6 + 2700 559.03937 2428.3446 0.76796752 8 4 6 + 2800 585.85721 -2896.3607 0.76796752 8 4 6 + 2900 523.18635 1391.254 0.76796752 8 4 6 + 3000 524.62076 375.02973 0.76796752 8 4 6 + 3100 534.65688 -1522.7879 0.76796752 8 4 6 + 3200 499.42665 3725.5476 0.76796752 8 4 6 + 3300 514.36972 1725.8329 0.76796752 8 4 6 + 3400 482.52662 4648.5013 0.76796752 8 4 6 + 3500 495.36836 967.3482 0.76796752 8 4 6 + 3600 583.28736 745.21794 0.76796752 8 4 6 + 3700 531.99717 -804.39572 0.76796752 8 4 6 + 3800 555.08359 -2381.363 0.76796752 8 4 6 + 3900 520.1818 -547.34169 0.76796752 8 4 6 + 4000 444.38804 -2488.7881 0.76796752 8 4 6 + 4100 518.65622 -3135.9573 0.76796752 8 4 6 + 4200 484.15227 -1040.2447 0.76796752 8 4 6 + 4300 514.58006 550.14626 0.76796752 8 4 6 + 4400 579.81405 -849.81454 0.76796752 8 4 6 + 4500 522.8698 5222.654 0.76796752 8 4 6 + 4600 490.78275 3251.2892 0.76796752 8 4 6 + 4700 492.64299 3785.3482 0.76796752 8 4 6 + 4800 500.11059 4441.8978 0.76796752 8 4 6 + 4900 536.80009 965.33724 0.76796752 8 4 6 + 5000 516.98575 -3794.4213 0.76796752 8 4 6 + 5100 516.76648 -3593.9106 0.76796752 8 4 6 + 5200 521.6379 -6532.7773 0.76796752 8 4 6 + 5300 535.64798 2931.412 0.76796752 8 4 6 + 5400 559.83266 7628.1659 0.76796752 8 4 6 + 5500 538.91756 2841.6746 0.76796752 8 4 6 + 5600 539.13999 10445.173 0.76796752 8 4 6 + 5700 501.56603 -2106.3309 0.76796752 8 4 6 + 5800 496.72952 -4831.0565 0.76796752 8 4 6 + 5900 536.12979 -3916.8197 0.76796752 8 4 6 + 6000 553.10092 3142.6871 0.76796752 8 4 6 + 6100 558.09546 3154.584 0.76796752 8 4 6 + 6200 523.48472 9807.0034 0.76796752 8 4 6 + 6300 551.80343 -3608.2078 0.76796752 8 4 6 + 6400 484.28359 2255.4675 0.76796752 8 4 6 + 6500 560.68443 -4826.4868 0.76796752 8 4 6 + 6600 604.50797 402.32183 0.76796752 8 4 6 + 6700 538.84714 -7670.3312 0.76796752 8 4 6 + 6800 528.82853 -380.32058 0.76796752 8 4 6 + 6900 579.30919 4438.4574 0.76796752 8 4 6 + 7000 540.3406 3738.0524 0.76796752 8 4 6 + 7100 519.53645 -1825.5563 0.76796752 8 4 6 + 7200 474.136 1657.3863 0.76796752 8 4 6 + 7300 485.55159 -221.84939 0.76796752 8 4 6 + 7400 527.38494 1037.1777 0.76796752 8 4 6 + 7500 517.14767 -2313.5823 0.76796752 8 4 6 + 7600 517.95967 -4763.4709 0.76796752 8 4 6 + 7700 513.63507 4819.0253 0.76796752 8 4 6 + 7800 503.56828 1295.1212 0.76796752 8 4 6 + 7900 520.87804 1506.9417 0.76796752 8 4 6 + 8000 509.46453 -5800.0971 0.76796752 8 4 6 + 8100 566.67059 6065.4607 0.76796752 8 4 6 + 8200 592.53068 1097.2277 0.76796752 8 4 6 + 8300 529.55235 -580.81757 0.76796752 8 4 6 + 8400 518.22587 560.45589 0.76796752 8 4 6 + 8500 521.94561 5325.9459 0.76796752 8 4 6 + 8600 510.54416 -1929.1967 0.76796752 8 4 6 + 8700 562.71252 -629.90392 0.76796752 8 4 6 + 8800 540.23123 -3484.3893 0.76796752 8 4 6 + 8900 513.82411 -5227.152 0.76796752 8 4 6 + 9000 534.3307 -3299.088 0.76796752 8 4 6 + 9100 509.24467 -5676.2775 0.76796752 8 4 6 + 9200 506.3216 -7043.8493 0.76796752 8 4 7 + 9300 480.37682 2380.4696 0.76796752 8 4 7 + 9400 546.15532 1831.0103 0.76796752 8 4 7 + 9500 567.18341 3839.9843 0.76796752 8 4 7 + 9600 536.14883 4258.5304 0.76796752 8 4 7 + 9700 496.04153 3321.3561 0.76796752 8 4 7 + 9800 531.78927 3124.9156 0.76796752 8 4 7 + 9900 530.91395 38.987859 0.76796752 8 4 7 + 10000 551.22761 1027.5706 0.76796752 8 4 7 +Loop time of 57.7096 on 1 procs for 10000 steps with 320 atoms + +Performance: 14.972 ns/day, 1.603 hours/ns, 173.281 timesteps/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 11.621 | 11.621 | 11.621 | 0.0 | 20.14 +Bond | 11.151 | 11.151 | 11.151 | 0.0 | 19.32 +Kspace | 2.2403 | 2.2403 | 2.2403 | 0.0 | 3.88 +Neigh | 25.467 | 25.467 | 25.467 | 0.0 | 44.13 +Comm | 0.90467 | 0.90467 | 0.90467 | 0.0 | 1.57 +Output | 0.0017984 | 0.0017984 | 0.0017984 | 0.0 | 0.00 +Modify | 6.2622 | 6.2622 | 6.2622 | 0.0 | 10.85 +Other | | 0.06192 | | | 0.11 + +Nlocal: 320 ave 320 max 320 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3240 ave 3240 max 3240 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 54336 ave 54336 max 54336 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 54336 +Ave neighs/atom = 169.8 +Ave special neighs/atom = 11.3063 +Neighbor list builds = 10000 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:58 diff --git a/examples/USER/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.4 b/examples/USER/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..29aae1cd0b472002e1c685870ba66cee1b16b6ac --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/log.20Nov19.tiny_polystyrene.stabilized.g++.4 @@ -0,0 +1,255 @@ +LAMMPS (20 Nov 2019) + +WARNING-WARNING-WARNING-WARNING-WARNING +This LAMMPS executable was compiled using C++98 compatibility. +Please report the compiler info below at https://github.com/lammps/lammps/issues/1659 +GNU C++ 4.8.5 +WARNING-WARNING-WARNING-WARNING-WARNING + +Reading data file ... + orthogonal box = (1.74267 1.74267 1.74267) to (18.2573 18.2573 18.2573) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 320 atoms + reading velocities ... + 320 velocities + scanning bonds ... + 8 = max bonds/atom + scanning angles ... + 18 = max angles/atom + scanning dihedrals ... + 22 = max dihedrals/atom + scanning impropers ... + 26 = max impropers/atom + reading bonds ... + 320 bonds + reading angles ... + 480 angles + reading dihedrals ... + 640 dihedrals + reading impropers ... + 160 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 12 = max # of 1-4 neighbors + 39 = max # of special neighbors + special bonds CPU = 0.000751222 secs + read_data CPU = 0.0268223 secs +Read molecule mol1: + 32 atoms with max type 4 + 32 bonds with max type 6 + 48 angles with max type 8 + 64 dihedrals with max type 9 + 16 impropers with max type 4 +Read molecule mol2: + 32 atoms with max type 6 + 33 bonds with max type 10 + 54 angles with max type 16 + 79 dihedrals with max type 19 + 22 impropers with max type 7 +Read molecule mol3: + 46 atoms with max type 6 + 47 bonds with max type 10 + 75 angles with max type 16 + 105 dihedrals with max type 19 + 29 impropers with max type 7 +Read molecule mol4: + 46 atoms with max type 6 + 48 bonds with max type 13 + 81 angles with max type 22 + 121 dihedrals with max type 36 + 35 impropers with max type 9 +Read molecule mol5: + 50 atoms with max type 6 + 51 bonds with max type 10 + 84 angles with max type 16 + 118 dihedrals with max type 19 + 36 impropers with max type 7 +Read molecule mol6: + 50 atoms with max type 6 + 52 bonds with max type 10 + 90 angles with max type 16 + 135 dihedrals with max type 19 + 42 impropers with max type 5 +dynamic group bond_react_MASTER_group defined +dynamic group statted_grp_REACT defined +PPPM initialization ... +WARNING: System is not charge neutral, net charge = -0.004 (../kspace.cpp:304) + using 12-bit tables for long-range coulomb (../kspace.cpp:323) + G vector (1/distance) = 0.255611 + grid = 6 6 6 + stencil order = 5 + estimated absolute RMS force accuracy = 0.00974692 + estimated relative force accuracy = 2.93525e-05 + using double precision FFTs + 3d grid and FFT values/proc = 704 72 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.5 + ghost atom cutoff = 10.5 + binsize = 5.25, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair lj/class2/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard + (2) fix bond/react, occasional, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +Setting up Verlet run ... + Unit style : real + Current step : 0 + Time step : 1 +Per MPI rank memory allocation (min/avg/max) = 30.66 | 30.68 | 30.69 Mbytes +Step Temp Press Density f_rxn1[1] f_rxn1[2] f_rxn1[3] + 0 320.13638 -376.0844 0.76796752 0 0 0 + 100 522.71544 6623.0579 0.76796752 8 0 0 + 200 500.86716 -9439.5519 0.76796752 8 3 2 + 300 594.60588 6714.1323 0.76796752 8 3 3 + 400 598.68768 683.70457 0.76796752 8 3 3 + 500 563.1011 3576.6857 0.76796752 8 3 4 + 600 510.29713 -196148.37 0.76796752 8 3 5 + 700 494.14346 -118517.45 0.76796752 8 3 6 + 800 565.62849 7678.1235 0.76796752 8 3 6 + 900 515.74468 554.84571 0.76796752 8 3 6 + 1000 500.64636 450.15932 0.76796752 8 3 6 + 1100 463.34973 6023.8346 0.76796752 8 3 6 + 1200 529.88483 2748.185 0.76796752 8 3 6 + 1300 546.84049 1353.4891 0.76796752 8 3 6 + 1400 552.27356 1446.5807 0.76796752 8 3 6 + 1500 557.70874 -2745.1523 0.76796752 8 3 6 + 1600 572.0005 629.36722 0.76796752 8 3 6 + 1700 503.96569 5937.0231 0.76796752 8 3 6 + 1800 491.34262 -1175.8104 0.76796752 8 3 6 + 1900 538.24798 -81.197397 0.76796752 8 3 6 + 2000 523.89324 2857.2466 0.76796752 8 3 6 + 2100 515.1424 2288.2405 0.76796752 8 3 6 + 2200 546.80854 3807.1038 0.76796752 8 3 6 + 2300 500.31231 -135.33933 0.76796752 8 4 6 + 2400 497.16354 5516.857 0.76796752 8 4 6 + 2500 545.34187 3485.5645 0.76796752 8 4 6 + 2600 522.70122 3114.1284 0.76796752 8 4 6 + 2700 531.76604 6633.5518 0.76796752 8 4 6 + 2800 521.97643 -279.83682 0.76796752 8 4 6 + 2900 497.29575 7052.9409 0.76796752 8 4 6 + 3000 524.5942 2284.8918 0.76796752 8 4 6 + 3100 567.61329 -3667.4557 0.76796752 8 4 6 + 3200 506.82452 -2934.4936 0.76796752 8 4 6 + 3300 510.8521 313.36263 0.76796752 8 4 6 + 3400 516.70206 3671.1899 0.76796752 8 4 6 + 3500 535.12788 2645.2564 0.76796752 8 4 6 + 3600 580.14214 2604.3079 0.76796752 8 4 6 + 3700 529.77869 2684.0812 0.76796752 8 4 6 + 3800 502.93191 2838.6698 0.76796752 8 4 6 + 3900 585.91492 5308.0828 0.76796752 8 4 6 + 4000 548.89917 5262.5775 0.76796752 8 4 6 + 4100 550.7662 -1066.6807 0.76796752 8 4 6 + 4200 519.19198 2777.5276 0.76796752 8 4 6 + 4300 521.46332 -3429.7171 0.76796752 8 4 6 + 4400 532.64173 2301.3135 0.76796752 8 4 6 + 4500 528.96107 1369.0991 0.76796752 8 4 6 + 4600 564.66443 9687.2531 0.76796752 8 4 6 + 4700 558.49446 2322.6085 0.76796752 8 4 6 + 4800 497.78614 -442.45053 0.76796752 8 4 6 + 4900 511.09435 -10251.159 0.76796752 8 4 6 + 5000 525.6642 -1202.0584 0.76796752 8 4 6 + 5100 521.76974 1821.7811 0.76796752 8 4 6 + 5200 555.9859 7256.9632 0.76796752 8 4 6 + 5300 551.51971 -122893.16 0.76796752 8 4 7 + 5400 524.34705 2905.1033 0.76796752 8 4 7 + 5500 567.09396 2896.4824 0.76796752 8 4 7 + 5600 487.57746 1417.1715 0.76796752 8 4 7 + 5700 547.37304 3900.8734 0.76796752 8 4 7 + 5800 536.17647 -4048.7522 0.76796752 8 4 7 + 5900 536.85051 4497.9847 0.76796752 8 4 7 + 6000 548.58212 -4880.4979 0.76796752 8 4 7 + 6100 500.94692 6004.2105 0.76796752 8 4 7 + 6200 486.82494 402.5875 0.76796752 8 4 7 + 6300 478.09381 6600.767 0.76796752 8 4 7 + 6400 559.90398 2868.0805 0.76796752 8 4 7 + 6500 526.01866 -3398.4788 0.76796752 8 4 7 + 6600 539.68471 -1202.0012 0.76796752 8 4 7 + 6700 507.51217 -378.71164 0.76796752 8 4 7 + 6800 526.15958 -4536.9888 0.76796752 8 4 7 + 6900 511.37134 -2522.3553 0.76796752 8 4 7 + 7000 538.86918 -2028.0323 0.76796752 8 4 7 + 7100 523.25566 2911.9962 0.76796752 8 4 7 + 7200 513.28464 -1000.4758 0.76796752 8 4 7 + 7300 510.19826 5181.7976 0.76796752 8 4 7 + 7400 493.46528 -1166.3996 0.76796752 8 4 7 + 7500 491.51305 5669.2213 0.76796752 8 4 7 + 7600 506.72032 -2840.301 0.76796752 8 4 7 + 7700 513.4319 2802.1719 0.76796752 8 4 7 + 7800 543.7658 -7477.3623 0.76796752 8 4 7 + 7900 527.35619 -3182.3155 0.76796752 8 4 7 + 8000 533.50993 613.16561 0.76796752 8 4 7 + 8100 512.44958 -5037.3414 0.76796752 8 4 7 + 8200 494.88981 1799.3513 0.76796752 8 4 7 + 8300 554.81474 -2436.0507 0.76796752 8 4 7 + 8400 523.22917 364.30593 0.76796752 8 4 7 + 8500 515.12395 525.24581 0.76796752 8 4 7 + 8600 511.6321 -1679.8669 0.76796752 8 4 7 + 8700 531.6327 -1168.1215 0.76796752 8 4 7 + 8800 548.14438 -5222.7573 0.76796752 8 4 7 + 8900 517.72579 2073.9695 0.76796752 8 4 7 + 9000 543.11894 -5307.0759 0.76796752 8 4 7 + 9100 521.13747 -5546.8552 0.76796752 8 4 7 + 9200 509.66142 -1584.019 0.76796752 8 4 7 + 9300 488.73821 -277.85847 0.76796752 8 4 7 + 9400 513.67282 989.60653 0.76796752 8 4 7 + 9500 509.98833 -1754.8786 0.76796752 8 4 7 + 9600 558.72497 5616.6969 0.76796752 8 4 7 + 9700 533.74988 811.48871 0.76796752 8 4 7 + 9800 510.94641 -3136.5876 0.76796752 8 4 7 + 9900 517.80127 -1962.0837 0.76796752 8 4 7 + 10000 477.50428 -3768.1653 0.76796752 8 4 7 +Loop time of 20.9963 on 4 procs for 10000 steps with 320 atoms + +Performance: 41.150 ns/day, 0.583 hours/ns, 476.276 timesteps/s +100.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.4968 | 3.0329 | 3.3607 | 18.6 | 14.45 +Bond | 2.3164 | 2.8835 | 3.456 | 26.0 | 13.73 +Kspace | 1.3332 | 2.2082 | 3.285 | 48.0 | 10.52 +Neigh | 7.4831 | 7.4922 | 7.5012 | 0.3 | 35.68 +Comm | 1.2809 | 1.3121 | 1.3297 | 1.6 | 6.25 +Output | 0.0012138 | 0.0013506 | 0.0017552 | 0.6 | 0.01 +Modify | 4.0269 | 4.0301 | 4.0335 | 0.1 | 19.19 +Other | | 0.03583 | | | 0.17 + +Nlocal: 80 ave 94 max 66 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 2243.75 ave 2260 max 2221 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 13658.5 ave 17096 max 9421 min +Histogram: 1 0 0 0 0 1 1 0 0 1 + +Total # of neighbors = 54634 +Ave neighs/atom = 170.731 +Ave special neighs/atom = 11.3063 +Neighbor list builds = 10000 +Dangerous builds = 0 +System init for write_data ... +PPPM initialization ... + using 12-bit tables for long-range coulomb (../kspace.cpp:323) + G vector (1/distance) = 0.255611 + grid = 6 6 6 + stencil order = 5 + estimated absolute RMS force accuracy = 0.00974692 + estimated relative force accuracy = 2.93525e-05 + using double precision FFTs + 3d grid and FFT values/proc = 704 72 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:21 diff --git a/examples/USER/reaction/tiny_polystyrene/tiny_polystyrene.data b/examples/USER/reaction/tiny_polystyrene/tiny_polystyrene.data new file mode 100644 index 0000000000000000000000000000000000000000..5f0ed4cfa66c55bec35492bd19236c543d70a3d3 --- /dev/null +++ b/examples/USER/reaction/tiny_polystyrene/tiny_polystyrene.data @@ -0,0 +1,2643 @@ +LAMMPS data file via write_data, version 20 Nov 2019, timestep = 25000 + +320 atoms +7 atom types +320 bonds +13 bond types +480 angles +22 angle types +640 dihedrals +36 dihedral types +160 impropers +9 improper types + +1.7426663385337786e+00 1.8257333661465619e+01 xlo xhi +1.7426663385337786e+00 1.8257333661465619e+01 ylo yhi +1.7426663385337786e+00 1.8257333661465619e+01 zlo zhi + +Masses + +1 12.0112 +2 1.00797 +3 12.0112 +4 12.0112 +5 12.0112 +6 12.0112 +7 12.0112 + +Pair Coeffs # lj/class2/coul/long + +1 0.064 4.01 +2 0.02 2.7 +3 0.064 4.01 +4 0.064 3.9 +5 0.054 4.01 +6 0.054 4.01 +7 0.054 4.01 + +Bond Coeffs # class2 + +1 1.0982 372.825 -803.453 894.317 +2 1.417 470.836 -627.618 1327.63 +3 1.501 321.902 -521.821 572.163 +4 1.0883 365.768 -725.54 781.662 +5 1.34 543.99 -1238.2 1644.03 +6 1.0883 365.768 -725.54 781.662 +7 1.501 321.902 -521.821 572.163 +8 1.101 345 -691.89 844.6 +9 1.53 299.67 -501.77 679.81 +10 1.101 345 -691.89 844.6 +11 1.501 321.902 -521.821 572.163 +12 1.101 345 -691.89 844.6 +13 1.53 299.67 -501.77 679.81 + +Angle Coeffs # class2 + +1 117.94 35.1558 -12.4682 0 +2 118.9 61.0226 -34.9931 0 +3 120.05 44.7148 -22.7352 0 +4 111 44.3234 -9.4454 0 +5 108.4 43.9594 -8.3924 -9.3379 +6 124.88 35.2766 -17.774 -1.6215 +7 124.88 35.2766 -17.774 -1.6215 +8 115.49 29.6363 -12.4853 -6.2218 +9 120.05 44.7148 -22.7352 0 +10 111 44.3234 -9.4454 0 +11 108.4 43.9594 -8.3924 -9.3379 +12 110.77 41.453 -10.604 5.129 +13 112.67 39.516 -7.443 -9.5583 +14 110.77 41.453 -10.604 5.129 +15 107.66 39.641 -12.921 -2.4318 +16 112.67 39.516 -7.443 -9.5583 +17 120.05 44.7148 -22.7352 0 +18 111 44.3234 -9.4454 0 +19 108.4 43.9594 -8.3924 -9.3379 +20 110.77 41.453 -10.604 5.129 +21 110.77 41.453 -10.604 5.129 +22 112.67 39.516 -7.443 -9.5583 + +BondBond Coeffs + +1 1.0795 1.417 1.0982 +2 68.2856 1.417 1.417 +3 12.0676 1.417 1.501 +4 2.9168 1.501 1.0883 +5 0 1.501 1.34 +6 10.1047 1.0883 1.34 +7 10.1047 1.0883 1.34 +8 4.8506 1.0883 1.0883 +9 12.0676 1.417 1.501 +10 2.9168 1.501 1.101 +11 0 1.501 1.53 +12 3.3872 1.101 1.53 +13 0 1.53 1.53 +14 3.3872 1.101 1.53 +15 5.3316 1.101 1.101 +16 0 1.53 1.53 +17 12.0676 1.417 1.501 +18 2.9168 1.501 1.101 +19 0 1.501 1.53 +20 3.3872 1.101 1.53 +21 3.3872 1.101 1.53 +22 0 1.53 1.53 + +BondAngle Coeffs + +1 20.0033 24.2183 1.417 1.0982 +2 28.8708 28.8708 1.417 1.417 +3 31.0771 47.0579 1.417 1.501 +4 26.4608 11.7717 1.501 1.0883 +5 0 0 1.501 1.34 +6 19.0592 23.3588 1.0883 1.34 +7 19.0592 23.3588 1.0883 1.34 +8 17.9795 17.9795 1.0883 1.0883 +9 31.0771 47.0579 1.417 1.501 +10 26.4608 11.7717 1.501 1.101 +11 0 0 1.501 1.53 +12 11.421 20.754 1.101 1.53 +13 8.016 8.016 1.53 1.53 +14 11.421 20.754 1.101 1.53 +15 18.103 18.103 1.101 1.101 +16 8.016 8.016 1.53 1.53 +17 31.0771 47.0579 1.417 1.501 +18 26.4608 11.7717 1.501 1.101 +19 0 0 1.501 1.53 +20 11.421 20.754 1.101 1.53 +21 11.421 20.754 1.101 1.53 +22 8.016 8.016 1.53 1.53 + +Dihedral Coeffs # class2 + +1 0 0 1.559 0 0 0 +2 0 0 3.9661 0 0 0 +3 0 0 4.4072 0 0 0 +4 8.3667 0 1.1932 0 0 0 +5 0 0 1.8769 0 0 0 +6 0 0 0 0 0 0 +7 0 0 0 0 0 0 +8 0 0 0 0 0 0 +9 0 0 4.8974 0 0 0 +10 0 0 1.559 0 0 0 +11 0 0 4.4072 0 0 0 +12 -0.2801 0 -0.0678 0 -0.0122 0 +13 -0.2802 0 -0.0678 0 -0.0122 0 +14 -0.0228 0 0.028 0 -0.1863 0 +15 -0.1432 0 0.0617 0 -0.1083 0 +16 0 0 0.0316 0 -0.1681 0 +17 0 0 0 0 0 0 +18 0 0 0.0316 0 -0.1681 0 +19 0 0 0.0514 0 -0.143 0 +20 0 0 1.559 0 0 0 +21 0 0 4.4072 0 0 0 +22 -0.2801 0 -0.0678 0 -0.0122 0 +23 -0.2802 0 -0.0678 0 -0.0122 0 +24 -0.0228 0 0.028 0 -0.1863 0 +25 0 0 0 0 0 0 +26 -0.1432 0 0.0617 0 -0.1083 0 +27 0 0 0.0316 0 -0.1681 0 +28 0 0 0 0 0 0 +29 0 0 0.0316 0 -0.1681 0 +30 0 0 0.0514 0 -0.143 0 +31 -0.0228 0 0.028 0 -0.1863 0 +32 -0.1432 0 0.0617 0 -0.1083 0 +33 0 0 0.0316 0 -0.1681 0 +34 0 0 0 0 0 0 +35 0 0 0.0316 0 -0.1681 0 +36 0 0 0.0514 0 -0.143 0 + +AngleAngleTorsion Coeffs + +1 4.4444 117.94 120.05 +2 -4.8141 118.9 117.94 +3 -14.4097 118.9 120.05 +4 0 118.9 118.9 +5 0.3598 117.94 117.94 +6 0 120.05 111 +7 0 120.05 108.4 +8 0 108.4 124.88 +9 -7.0058 124.88 124.88 +10 4.4444 117.94 120.05 +11 -14.4097 118.9 120.05 +12 -5.8888 120.05 111 +13 0 120.05 108.4 +14 0 108.4 110.77 +15 -12.564 110.77 110.77 +16 -16.164 112.67 110.77 +17 0 108.4 112.67 +18 -16.164 110.77 112.67 +19 -22.045 112.67 112.67 +20 4.4444 117.94 120.05 +21 -14.4097 118.9 120.05 +22 -5.8888 120.05 111 +23 0 120.05 108.4 +24 0 108.4 110.77 +25 0 108.4 112.67 +26 -12.564 110.77 110.77 +27 -16.164 110.77 112.67 +28 0 112.67 108.4 +29 -16.164 112.67 110.77 +30 -22.045 112.67 112.67 +31 0 110.77 108.4 +32 -12.564 110.77 110.77 +33 -16.164 110.77 112.67 +34 0 112.67 108.4 +35 -16.164 112.67 110.77 +36 -22.045 112.67 112.67 + +EndBondTorsion Coeffs + +1 0 -0.4879 0 0 -1.797 0 1.0982 1.501 +2 0 -6.8958 0 0 -0.4669 0 1.417 1.0982 +3 0 -0.6918 0 0 0.2421 0 1.417 1.501 +4 -0.1185 6.3204 0 -0.1185 6.3204 0 1.417 1.417 +5 0 -0.689 0 0 -0.689 0 1.0982 1.0982 +6 0 0 0 0 0 0 1.417 1.0883 +7 0 0 0 0 0 0 1.417 1.34 +8 0 0 0 0 0 0 1.501 1.0883 +9 0.7129 0.5161 0 0.7129 0.5161 0 1.0883 1.0883 +10 0 -0.4879 0 0 -1.797 0 1.0982 1.501 +11 0 -0.6918 0 0 0.2421 0 1.417 1.501 +12 -0.5835 1.122 0.3978 1.3997 0.7756 0 1.417 1.101 +13 0 0 0 0 0 0 1.417 1.53 +14 0 0 0 0 0 0 1.501 1.101 +15 0.213 0.312 0.0777 0.213 0.312 0.0777 1.101 1.101 +16 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.53 1.101 +17 0 0 0 0 0 0 1.501 1.53 +18 0.0814 0.0591 0.2219 0.2486 0.2422 -0.0925 1.101 1.53 +19 -0.0732 0 0 -0.0732 0 0 1.53 1.53 +20 0 -0.4879 0 0 -1.797 0 1.0982 1.501 +21 0 -0.6918 0 0 0.2421 0 1.417 1.501 +22 -0.5835 1.122 0.3978 1.3997 0.7756 0 1.417 1.101 +23 0 0 0 0 0 0 1.417 1.53 +24 0 0 0 0 0 0 1.501 1.101 +25 0 0 0 0 0 0 1.501 1.53 +26 0.213 0.312 0.0777 0.213 0.312 0.0777 1.101 1.101 +27 0.0814 0.0591 0.2219 0.2486 0.2422 -0.0925 1.101 1.53 +28 0 0 0 0 0 0 1.53 1.501 +29 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.53 1.101 +30 -0.0732 0 0 -0.0732 0 0 1.53 1.53 +31 0 0 0 0 0 0 1.101 1.501 +32 0.213 0.312 0.0777 0.213 0.312 0.0777 1.101 1.101 +33 0.0814 0.0591 0.2219 0.2486 0.2422 -0.0925 1.101 1.53 +34 0 0 0 0 0 0 1.53 1.501 +35 0.2486 0.2422 -0.0925 0.0814 0.0591 0.2219 1.53 1.101 +36 -0.0732 0 0 -0.0732 0 0 1.53 1.53 + +MiddleBondTorsion Coeffs + +1 0 3.9421 0 1.417 +2 0 -1.1521 0 1.417 +3 0 9.1792 0 1.417 +4 27.5989 -2.312 0 1.417 +5 0 4.8228 0 1.417 +6 0 0 0 1.501 +7 0 0 0 1.501 +8 0 0 0 1.34 +9 0.8558 6.3911 0 1.34 +10 0 3.9421 0 1.417 +11 0 9.1792 0 1.417 +12 -5.5679 1.4083 0.301 1.501 +13 0 0 0 1.501 +14 0 0 0 1.53 +15 -14.261 -0.5322 -0.4864 1.53 +16 -14.879 -3.6581 -0.3138 1.53 +17 0 0 0 1.53 +18 -14.879 -3.6581 -0.3138 1.53 +19 -17.787 -7.1877 0 1.53 +20 0 3.9421 0 1.417 +21 0 9.1792 0 1.417 +22 -5.5679 1.4083 0.301 1.501 +23 0 0 0 1.501 +24 0 0 0 1.53 +25 0 0 0 1.53 +26 -14.261 -0.5322 -0.4864 1.53 +27 -14.879 -3.6581 -0.3138 1.53 +28 0 0 0 1.53 +29 -14.879 -3.6581 -0.3138 1.53 +30 -17.787 -7.1877 0 1.53 +31 0 0 0 1.53 +32 -14.261 -0.5322 -0.4864 1.53 +33 -14.879 -3.6581 -0.3138 1.53 +34 0 0 0 1.53 +35 -14.879 -3.6581 -0.3138 1.53 +36 -17.787 -7.1877 0 1.53 + +BondBond13 Coeffs + +1 0.8743 1.0982 1.501 +2 -6.2741 1.417 1.0982 +3 2.5085 1.417 1.501 +4 53 1.417 1.417 +5 -1.7077 1.0982 1.0982 +6 0 1.417 1.0883 +7 0 1.417 1.34 +8 0 1.501 1.0883 +9 0 1.0883 1.0883 +10 0.8743 1.0982 1.501 +11 2.5085 1.417 1.501 +12 -3.4826 1.417 1.101 +13 0 1.417 1.53 +14 0 1.501 1.101 +15 0 1.101 1.101 +16 0 1.53 1.101 +17 0 1.501 1.53 +18 0 1.101 1.53 +19 0 1.53 1.53 +20 0.8743 1.0982 1.501 +21 2.5085 1.417 1.501 +22 -3.4826 1.417 1.101 +23 0 1.417 1.53 +24 0 1.501 1.101 +25 0 1.501 1.53 +26 0 1.101 1.101 +27 0 1.101 1.53 +28 0 1.53 1.501 +29 0 1.53 1.101 +30 0 1.53 1.53 +31 0 1.101 1.501 +32 0 1.101 1.101 +33 0 1.101 1.53 +34 0 1.53 1.501 +35 0 1.53 1.101 +36 0 1.53 1.53 + +AngleTorsion Coeffs + +1 0 3.4601 0 0 -0.1242 0 117.94 120.05 +2 0 2.5014 0 0 2.7147 0 118.9 117.94 +3 0 3.8987 0 0 -4.4683 0 118.9 120.05 +4 1.9767 1.0239 0 1.9767 1.0239 0 118.9 118.9 +5 0 2.4501 0 0 2.4501 0 117.94 117.94 +6 0 0 0 0 0 0 120.05 111 +7 0 0 0 0 0 0 120.05 108.4 +8 0 0 0 0 0 0 108.4 124.88 +9 -1.8911 3.254 0 -1.8911 3.254 0 124.88 124.88 +10 0 3.4601 0 0 -0.1242 0 117.94 120.05 +11 0 3.8987 0 0 -4.4683 0 118.9 120.05 +12 0.2251 0.6548 0.1237 4.6266 0.1632 0.0461 120.05 111 +13 0 0 0 0 0 0 120.05 108.4 +14 0 0 0 0 0 0 108.4 110.77 +15 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.77 110.77 +16 -0.2454 0 -0.1136 0.3113 0.4516 -0.1988 112.67 110.77 +17 0 0 0 0 0 0 108.4 112.67 +18 0.3113 0.4516 -0.1988 -0.2454 0 -0.1136 110.77 112.67 +19 0.3886 -0.3139 0.1389 0.3886 -0.3139 0.1389 112.67 112.67 +20 0 3.4601 0 0 -0.1242 0 117.94 120.05 +21 0 3.8987 0 0 -4.4683 0 118.9 120.05 +22 0.2251 0.6548 0.1237 4.6266 0.1632 0.0461 120.05 111 +23 0 0 0 0 0 0 120.05 108.4 +24 0 0 0 0 0 0 108.4 110.77 +25 0 0 0 0 0 0 108.4 112.67 +26 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.77 110.77 +27 0.3113 0.4516 -0.1988 -0.2454 0 -0.1136 110.77 112.67 +28 0 0 0 0 0 0 112.67 108.4 +29 -0.2454 0 -0.1136 0.3113 0.4516 -0.1988 112.67 110.77 +30 0.3886 -0.3139 0.1389 0.3886 -0.3139 0.1389 112.67 112.67 +31 0 0 0 0 0 0 110.77 108.4 +32 -0.8085 0.5569 -0.2466 -0.8085 0.5569 -0.2466 110.77 110.77 +33 0.3113 0.4516 -0.1988 -0.2454 0 -0.1136 110.77 112.67 +34 0 0 0 0 0 0 112.67 108.4 +35 -0.2454 0 -0.1136 0.3113 0.4516 -0.1988 112.67 110.77 +36 0.3886 -0.3139 0.1389 0.3886 -0.3139 0.1389 112.67 112.67 + +Improper Coeffs # class2 + +1 4.8912 0 +2 7.8153 0 +3 0 0 +4 2.8561 0 +5 7.8153 0 +6 0 0 +7 0 0 +8 7.8153 0 +9 0 0 + +AngleAngle Coeffs + +1 0 0 0 118.9 117.94 117.94 +2 0 0 0 118.9 120.05 120.05 +3 0 0 0 111 124.88 108.4 +4 0 0 0 115.49 124.88 124.88 +5 0 0 0 118.9 120.05 120.05 +6 0 0 0 107.66 110.77 110.77 +7 0 0 0 111 110.77 108.4 +8 0 0 0 118.9 120.05 120.05 +9 0 0 0 111 110.77 108.4 + +Atoms # full + +40602 2538 2 1.2880000000000000e-01 3.3609401967585955e+00 4.4067042595247594e+00 1.7652703015153694e+01 0 1 -1 +111366 6961 2 1.2370000000000000e-01 2.5287450867535228e+00 3.4595752969959102e+00 5.5197750474116489e+00 0 0 0 +111365 6961 1 -1.2900000000000000e-01 2.2477552210789034e+00 4.1940380679220048e+00 6.2531010916436118e+00 0 0 0 +111364 6961 3 -1.8200000000000001e-02 4.6534606713809783e+00 4.0872493335204627e+00 6.6406706800933657e+00 0 0 0 +111373 6961 2 5.1600000000000000e-02 4.7065862756318362e+00 3.1388066541018711e+00 7.1483388517476536e+00 0 0 0 +107224 6702 2 1.4030000000000001e-01 4.3747823735813256e+00 6.6777036283374303e+00 1.8126826734147052e+01 1 0 -1 +107223 6702 1 -1.7340000000000000e-01 3.3819489105921479e+00 7.1051571061898393e+00 1.9476793708830493e+00 1 0 0 +40599 2538 1 -1.7340000000000000e-01 1.7897991574638404e+01 3.7109360216682128e+00 1.7502909648810935e+01 -1 1 -1 +40600 2538 2 1.4030000000000001e-01 1.7761669662555619e+01 4.2961185209612616e+00 1.6631333893439564e+01 -1 1 -1 +41356 2585 2 1.4030000000000001e-01 5.9156631480771527e+00 1.0478394367195754e+01 8.3875585503933614e+00 0 1 1 +107222 6702 2 1.2370000000000000e-01 3.6715671896819093e+00 6.6024431064152225e+00 4.0510480747089339e+00 1 0 0 +40597 2538 1 -1.2900000000000000e-01 1.6955889539378134e+01 2.7829267678458436e+00 1.7962156465993502e+01 -1 1 -1 +40598 2538 2 1.2370000000000000e-01 1.5942867471528109e+01 2.6001610609395129e+00 1.7514042185813334e+01 -1 1 -1 +111367 6961 1 -1.7340000000000000e-01 1.7495745294265745e+01 4.6877369518904199e+00 6.4410612543144401e+00 -1 0 0 +111368 6961 2 1.4030000000000001e-01 1.6684286240405104e+01 4.1990863000633958e+00 5.8354395711206708e+00 -1 0 0 +188723 11796 1 2.6599999999999999e-02 1.2794445780805036e+01 4.8153878517226305e+00 2.8366538199234208e+00 0 2 0 +188726 11796 2 1.2370000000000000e-01 1.1307621657711582e+01 6.0648965933332004e+00 3.8852435658831435e+00 0 2 0 +188736 11796 2 3.5400000000000001e-02 1.0942691320187310e+01 2.8660493976532067e+00 3.6592390992421064e+00 0 2 0 +41360 2585 2 3.5400000000000001e-02 8.5172276274172862e+00 6.6772583543717241e+00 4.6258553568569134e+00 0 1 1 +111375 6961 2 3.5400000000000001e-02 5.1160863341697551e+00 3.1557498302500560e+00 4.8281676316055648e+00 0 0 0 +41346 2585 2 1.2370000000000000e-01 5.2803967127973479e+00 8.3738447196883783e+00 7.1113512659172891e+00 0 1 1 +41359 2585 2 3.5400000000000001e-02 7.0805979681390792e+00 5.5480506789621362e+00 4.1107885168230087e+00 0 1 1 +188725 11796 1 -1.2900000000000000e-01 1.2408079703909788e+01 5.7336269491919198e+00 3.7349335138244366e+00 0 2 0 +188729 11796 1 -1.1340000000000000e-01 1.4703709315154203e+01 6.4426943408965585e+00 4.1248777022829106e+00 0 2 0 +188727 11796 1 -1.7340000000000000e-01 1.3333557950108901e+01 6.5153791380185462e+00 4.4423297264254140e+00 0 2 0 +20158 1260 4 -6.9599999999999995e-02 1.3854962450513005e+01 1.7558158358296474e+01 6.0985091703687049e+00 -1 0 0 +20160 1260 2 3.5400000000000001e-02 1.2918711114031632e+01 1.7814458238382855e+01 5.7425825995785100e+00 -1 0 0 +20148 1260 3 -1.8200000000000001e-02 1.4873275896132416e+01 1.9084526466056861e+00 6.2828310713786459e+00 -1 1 0 +188728 11796 2 1.4030000000000001e-01 1.2869094657766244e+01 7.2098256594356229e+00 5.1535483885770113e+00 0 2 0 +20157 1260 2 5.1600000000000000e-02 1.5744980877568938e+01 1.8128011607429414e+01 6.7646315462574487e+00 -1 0 0 +188730 11796 2 1.2880000000000000e-01 1.5413809605693494e+01 7.1215792753373064e+00 4.6045554272301157e+00 0 2 0 +41355 2585 1 -1.7340000000000000e-01 6.6267551131373832e+00 1.0027638223239382e+01 7.7182869694089700e+00 0 1 1 +108389 6775 1 -1.2900000000000000e-01 7.0133566713184710e+00 1.1863505693448808e+01 3.0100421026579314e+00 0 0 1 +41327 2583 2 3.5400000000000001e-02 1.8025151826355874e+01 1.5680601368303122e+01 5.4799644916431216e+00 -1 0 1 +41326 2583 4 -6.9599999999999995e-02 2.5704711045235697e+00 1.5575122040069637e+01 5.4065270673139985e+00 0 0 1 +41328 2583 2 3.5400000000000001e-02 2.9997429592273956e+00 1.4685386861680085e+01 4.9759285267091098e+00 0 0 1 +108390 6775 2 1.2370000000000000e-01 6.9836751439323628e+00 1.0846526933351964e+01 3.4784800869303512e+00 0 0 1 +108391 6775 1 -1.7340000000000000e-01 6.8087445208925681e+00 1.3003486840032258e+01 3.7761607679871307e+00 0 0 1 +41353 2585 1 -1.1340000000000000e-01 7.8573883366696089e+00 1.0627162455737775e+01 7.3859043657940493e+00 0 1 1 +41351 2585 1 -1.7340000000000000e-01 8.6981014387032438e+00 1.0201900398046481e+01 6.3533593539380941e+00 0 1 1 +107221 6702 1 -1.2900000000000000e-01 3.1758840802872599e+00 7.1678179098614141e+00 3.2854613341877181e+00 1 0 0 +107219 6702 1 2.6599999999999999e-02 2.0748866096178964e+00 7.9461425898687992e+00 3.7753484383081610e+00 1 0 0 +107232 6702 2 3.5400000000000001e-02 1.7648721744994319e+01 1.0103122840036239e+01 4.7798275704340671e+00 0 0 0 +108392 6775 2 1.4030000000000001e-01 6.3995996961287833e+00 1.2731343992705472e+01 4.7487947462305771e+00 0 0 1 +41354 2585 2 1.2880000000000000e-01 8.1692015925027768e+00 1.1493632013886158e+01 7.9544056830537269e+00 0 1 1 +69384 4337 2 1.4030000000000001e-01 1.2507275934560081e+01 9.2207766533505673e+00 7.3246588169625140e+00 0 1 1 +41345 2585 1 -1.2900000000000000e-01 6.3195931272585391e+00 8.8692855685170500e+00 6.9676292860762716e+00 0 1 1 +41347 2585 1 2.6599999999999999e-02 7.0702614826346544e+00 8.4743337141795241e+00 5.8547594819621187e+00 0 1 1 +41357 2585 2 5.1600000000000000e-02 5.5016574767426301e+00 7.4706228475946332e+00 4.6418688283853040e+00 0 1 1 +41358 2585 4 -6.9599999999999995e-02 7.4737228534116324e+00 6.4899475004190332e+00 4.5180419190464987e+00 0 1 1 +41348 2585 3 -1.8200000000000001e-02 6.6062265756796981e+00 7.5175310927852941e+00 4.7713364455934872e+00 0 1 1 +41349 2585 1 -1.2900000000000000e-01 8.2441070780215853e+00 9.1470326477281088e+00 5.5160478380515663e+00 0 1 1 +41350 2585 2 1.2370000000000000e-01 8.8604728777063109e+00 8.8987664442336971e+00 4.6534059979647555e+00 0 1 1 +69382 4337 2 1.2370000000000000e-01 1.2037994406712755e+01 1.1438693923544918e+01 6.6961121531796941e+00 0 1 1 +108400 6775 2 3.5400000000000001e-02 9.4434155310323717e+00 1.0779831061177935e+01 1.7308995238384654e+01 0 0 0 +107220 6702 3 -1.8200000000000001e-02 1.8511457716678090e+00 8.2067707732304527e+00 5.1884876711911101e+00 1 0 0 +107229 6702 2 5.1600000000000000e-02 2.3229493400774794e+00 7.4350000572163024e+00 5.7660915302438154e+00 1 0 0 +65551 4097 2 3.5400000000000001e-02 1.8064251645249804e+01 1.2963289176981608e+01 5.4842508762037534e+00 0 0 0 +107230 6702 4 -6.9599999999999995e-02 1.8228240499767143e+00 9.5598483570416146e+00 5.3379848839478363e+00 1 0 0 +107231 6702 2 3.5400000000000001e-02 2.5955528839673567e+00 1.0106560918497969e+01 5.9757939945393543e+00 1 0 0 +148088 9256 2 1.4030000000000001e-01 1.1762030797439378e+01 1.1693785579271282e+01 4.4638937261529295e+00 0 0 1 +148090 9256 2 1.2880000000000000e-01 1.4099636105822544e+01 1.2327433192859456e+01 4.0225129791140546e+00 0 0 1 +148087 9256 1 -1.7340000000000000e-01 1.1979028403125646e+01 1.2633659013855903e+01 3.9376689709327510e+00 0 0 1 +148089 9256 1 -1.1340000000000000e-01 1.3280445370302795e+01 1.3014281950759539e+01 3.7240436336308522e+00 0 0 1 +40604 2538 2 1.4030000000000001e-01 4.0250594599637042e+00 2.7167655841048841e+00 2.9671010133230107e+00 0 1 0 +40603 2538 1 -1.7340000000000000e-01 2.9715213077297893e+00 2.8387700187263976e+00 2.6496011286331638e+00 0 1 0 +40601 2538 1 -1.1340000000000000e-01 2.6436717484652190e+00 3.7161784029911313e+00 1.8118381074995945e+01 0 1 -1 +41314 2583 2 1.2370000000000000e-01 6.1655197061189391e+00 1.6429093178302054e+01 5.2634660717283719e+00 0 0 1 +40594 2538 2 1.2370000000000000e-01 2.3106168557244260e+00 1.7574548555023910e+01 3.6114577101537471e+00 0 0 0 +40593 2538 1 -1.2900000000000000e-01 2.0192147877585960e+00 1.8971927062618956e+00 2.9622660579545812e+00 0 1 0 +40595 2538 1 2.6599999999999999e-02 1.7291779626197169e+01 1.8599578675608062e+00 2.3904540665275351e+00 -1 1 0 +41316 2583 3 -1.8200000000000001e-02 3.4212771996318807e+00 1.6520636908143409e+01 5.7386914040715045e+00 0 0 1 +108393 6775 1 -1.1340000000000000e-01 6.6499881779146026e+00 1.4259117018515532e+01 3.0584002634074370e+00 0 0 1 +108394 6775 2 1.2880000000000000e-01 6.1964048810474663e+00 1.5224374946621646e+01 3.4935080873808033e+00 0 0 1 +41313 2583 1 -1.2900000000000000e-01 5.8827015465618375e+00 1.5865587321912503e+01 6.1431437364315027e+00 0 0 1 +108395 6775 1 -1.7340000000000000e-01 7.1097892289262878e+00 1.4350613194723607e+01 1.7470717630973838e+00 0 0 1 +108396 6775 2 1.4030000000000001e-01 6.9903337205295530e+00 1.5224750453488815e+01 1.7644673266894884e+01 0 0 0 +148096 9256 2 3.5400000000000001e-02 1.0752335098968890e+01 1.7218144880618222e+01 3.5500932917187793e+00 0 0 1 +148095 9256 2 3.5400000000000001e-02 1.0359671951490158e+01 1.7522361890554926e+01 1.8218190609141388e+01 0 0 0 +148094 9256 4 -6.9599999999999995e-02 1.0424710670624640e+01 1.6814346694132169e+01 2.5033401382466907e+00 0 0 1 +40608 2538 2 3.5400000000000001e-02 1.6659811918729936e+01 1.5824060712051581e+01 1.7856371334575492e+01 -1 0 -1 +40607 2538 2 3.5400000000000001e-02 1.7068652155067138e+01 1.5312925579361091e+01 3.0807371681198257e+00 -1 0 0 +40605 2538 2 5.1600000000000000e-02 1.6526035362495449e+01 1.7247373568378688e+01 3.9930857730966038e+00 -1 0 0 +40606 2538 4 -6.9599999999999995e-02 1.6690607482896461e+01 1.6080613680347298e+01 2.3857659847545456e+00 -1 0 0 +40596 2538 3 -1.8200000000000001e-02 1.6426787646343708e+01 1.7312070439154404e+01 2.8996717936988108e+00 -1 0 0 +148093 9256 2 5.1600000000000000e-02 9.7084895751228579e+00 1.5206903985177071e+01 1.7929781969852563e+01 0 0 0 +148084 9256 3 -1.8200000000000001e-02 1.0037261004726227e+01 1.5553915685523059e+01 2.3820334888623931e+00 0 0 1 +148086 9256 2 1.2370000000000000e-01 9.8538164885967223e+00 1.3122374408103786e+01 3.7386171094020604e+00 0 0 1 +148085 9256 1 -1.2900000000000000e-01 1.0915815138831038e+01 1.3468093486840369e+01 3.5699140224340207e+00 0 0 1 +148083 9256 1 2.6599999999999999e-02 1.1127532644580404e+01 1.4687297959113698e+01 2.8927936993164374e+00 0 0 1 +20159 1260 2 3.5400000000000001e-02 1.3926944139015212e+01 1.6557995485351512e+01 6.3887938420848460e+00 -1 0 0 +148081 9256 1 -1.2900000000000000e-01 1.2492118565628704e+01 1.4979897838545488e+01 2.6436586008146001e+00 0 0 1 +148091 9256 1 -1.7340000000000000e-01 1.3530995074380009e+01 1.4213674981946097e+01 3.1123918617731032e+00 0 0 1 +148092 9256 2 1.4030000000000001e-01 1.4623143267492075e+01 1.4535351487479833e+01 2.9973381899213969e+00 0 0 1 +148082 9256 2 1.2370000000000000e-01 1.2782518572888232e+01 1.5903925404629245e+01 2.1259561679744268e+00 0 0 1 +111363 6961 1 2.6599999999999999e-02 3.3251830344800792e+00 4.7485757568569973e+00 6.9113558564667130e+00 0 0 0 +111369 6961 1 -1.1340000000000000e-01 1.7274039940012614e+01 5.7584093577092439e+00 7.2910114349614759e+00 -1 0 0 +111371 6961 1 -1.7340000000000000e-01 1.8312835551908693e+00 6.2232465111479911e+00 8.1114550764182880e+00 0 0 0 +111372 6961 2 1.4030000000000001e-01 1.8184339590637627e+01 7.0555999825672302e+00 8.7298916963317161e+00 -1 0 0 +111362 6961 2 1.2370000000000000e-01 3.9289971116618676e+00 6.1185293409164041e+00 8.4690798450222537e+00 0 0 0 +111361 6961 1 -1.2900000000000000e-01 3.1341751882158055e+00 5.7178553096834150e+00 7.8335342183333747e+00 0 0 0 +43056 2691 2 3.5400000000000001e-02 7.3303403250812371e+00 4.9319934647318124e+00 1.0162980877015160e+01 0 1 0 +195807 12238 2 3.5400000000000001e-02 3.1236778954925324e+00 2.4452125090877095e+00 1.1400842410014139e+01 2 2 1 +195808 12238 2 3.5400000000000001e-02 2.0398723702262984e+00 2.7431930858712024e+00 9.8739778618202809e+00 2 2 1 +195806 12238 4 -6.9599999999999995e-02 2.7616033282961303e+00 2.1041460428116832e+00 1.0438344594844656e+01 2 2 1 +43041 2691 1 -1.2900000000000000e-01 6.3733220978070637e+00 4.4203611180779721e+00 1.3517632502395033e+01 0 1 0 +43042 2691 2 1.2370000000000000e-01 5.6489085759325306e+00 4.6150266566474185e+00 1.2719368891868069e+01 0 1 0 +43043 2691 1 2.6599999999999999e-02 7.7212675306349068e+00 4.4431128372749367e+00 1.3317902516492849e+01 0 1 0 +43055 2691 2 3.5400000000000001e-02 7.5569470416398614e+00 3.2145118903989083e+00 1.1016915970754408e+01 0 1 0 +43044 2691 3 -1.8200000000000001e-02 8.3614898082720455e+00 4.8362903846004572e+00 1.1991757246671359e+01 0 1 0 +43054 2691 4 -6.9599999999999995e-02 7.6774180518032056e+00 4.2978431680872893e+00 1.1030363927900430e+01 0 1 0 +150156 9385 2 1.4030000000000001e-01 6.9383382514086422e+00 1.7437119221893461e+01 9.1021782978174173e+00 1 1 -1 +150155 9385 1 -1.7340000000000000e-01 8.0221029992533950e+00 1.7834769921916759e+01 9.1631290455798435e+00 1 1 -1 +111374 6961 4 -6.9599999999999995e-02 4.7656438943583348e+00 4.0654137347449968e+00 5.3046612893154670e+00 0 0 0 +111376 6961 2 3.5400000000000001e-02 4.7963400068324304e+00 4.9709930653728112e+00 4.7188309040401490e+00 0 0 0 +150154 9385 2 1.2880000000000000e-01 8.1369513264721434e+00 2.0263974595218754e+00 7.1494567261751296e+00 1 2 -1 +150153 9385 1 -1.1340000000000000e-01 8.6608899042584291e+00 1.8888977494944439e+00 8.0784138030671233e+00 1 2 -1 +150151 9385 1 -1.7340000000000000e-01 1.0018867708590742e+01 2.2567570866800981e+00 8.0675401866229777e+00 1 2 -1 +43046 2691 2 1.2370000000000000e-01 9.6303640603892067e+00 4.2459259032489243e+00 1.4177008871757124e+01 0 1 0 +43053 2691 2 5.1600000000000000e-02 8.6562690567036107e+00 5.8993116724868262e+00 1.2016505189049507e+01 0 1 0 +20146 1260 2 1.2370000000000000e-01 1.2925937029105093e+01 3.6154428198559656e+00 5.6919997433898892e+00 -1 1 0 +111370 6961 2 1.2880000000000000e-01 1.6276841578468378e+01 6.1680557812999490e+00 7.4004318736634556e+00 -1 0 0 +20155 1260 1 -1.7340000000000000e-01 1.2881099375913237e+01 4.8772017009451076e+00 7.4144207441793428e+00 -1 1 0 +20145 1260 1 -1.2900000000000000e-01 1.3325636094702979e+01 3.8506374415214806e+00 6.6335193494241205e+00 -1 1 0 +20149 1260 1 -1.2900000000000000e-01 1.4803237282058465e+01 3.1721920915819846e+00 8.3854646584058017e+00 -1 1 0 +20153 1260 1 -1.1340000000000000e-01 1.3361990235494616e+01 5.0962782885434859e+00 8.6895105180563945e+00 -1 1 0 +20154 1260 2 1.2880000000000000e-01 1.3027697793413543e+01 5.9629979486703641e+00 9.2441017743763290e+00 -1 1 0 +20151 1260 1 -1.7340000000000000e-01 1.4380189422775935e+01 4.2223572958105908e+00 9.1399321348841838e+00 -1 1 0 +20147 1260 1 2.6599999999999999e-02 1.4304259480768936e+01 3.0225224973374898e+00 7.0840404864415598e+00 -1 1 0 +20152 1260 2 1.4030000000000001e-01 1.5000038710755923e+01 4.4820227233013270e+00 9.9846869651675494e+00 -1 1 0 +20150 1260 2 1.2370000000000000e-01 1.5639941935305668e+01 2.5539512931406918e+00 8.7033169971457358e+00 -1 1 0 +20156 1260 2 1.4030000000000001e-01 1.2081029146239729e+01 5.5619230729709805e+00 7.0240622755420876e+00 -1 1 0 +150152 9385 2 1.4030000000000001e-01 1.0398677710841509e+01 2.6132174552595142e+00 7.1458602364708215e+00 1 2 -1 +107926 6746 2 1.2370000000000000e-01 5.0564645669299786e+00 9.8206736952581757e+00 1.2050756067767006e+01 1 0 0 +65549 4097 2 5.1600000000000000e-02 2.0092237695336150e+00 1.3647733560513613e+01 7.8060964087143585e+00 1 0 0 +41318 2583 2 1.2370000000000000e-01 3.2889581470504385e+00 1.5395406831499587e+01 8.1227148731915086e+00 0 0 1 +41320 2583 2 1.4030000000000001e-01 4.9623722046803023e+00 1.4094953957382288e+01 9.5590806118604554e+00 0 0 1 +107925 6746 1 -1.2900000000000000e-01 6.0634867066543432e+00 9.5484282841539585e+00 1.2296230810664806e+01 1 0 0 +107928 6746 2 1.4030000000000001e-01 6.6741988665111220e+00 9.2499811531291734e+00 1.0308875349648671e+01 1 0 0 +107927 6746 1 -1.7340000000000000e-01 6.9187781699197348e+00 9.1217664477662801e+00 1.1322711921884700e+01 1 0 0 +41352 2585 2 1.4030000000000001e-01 9.6017776350949440e+00 1.0818988642106115e+01 5.9796717383331348e+00 0 1 1 +107931 6746 1 -1.7340000000000000e-01 8.8159008450723420e+00 9.2215476294842276e+00 1.2939060135330434e+01 1 0 0 +107930 6746 2 1.2880000000000000e-01 9.1151905965455686e+00 8.8340925395314045e+00 1.0892578555618352e+01 1 0 0 +107929 6746 1 -1.1340000000000000e-01 8.3352274204594607e+00 8.9222475622725810e+00 1.1632822526543650e+01 1 0 0 +69386 4337 2 1.2880000000000000e-01 1.2475432366972534e+01 8.4535388534671192e+00 9.8010997231828423e+00 0 1 1 +69385 4337 1 -1.1340000000000000e-01 1.2183961606338126e+01 9.5133083783428809e+00 9.5150186186307018e+00 0 1 1 +69388 4337 2 1.4030000000000001e-01 1.1821311669543274e+01 1.0271543753950064e+01 1.1515153882968731e+01 0 1 1 +69387 4337 1 -1.7340000000000000e-01 1.1871110594374576e+01 1.0483008707917794e+01 1.0444919114342293e+01 0 1 1 +69379 4337 1 2.6599999999999999e-02 1.1857971549146844e+01 1.2184042292015063e+01 8.6614659076276297e+00 0 1 1 +69378 4337 2 1.2370000000000000e-01 1.1317141396250484e+01 1.2573319300708581e+01 1.0672328887070607e+01 0 1 1 +69377 4337 1 -1.2900000000000000e-01 1.1722235923015901e+01 1.1839046459537844e+01 1.0007231464783189e+01 0 1 1 +69383 4337 1 -1.7340000000000000e-01 1.2261182546118910e+01 9.8671789721187935e+00 8.1443688661455607e+00 0 1 1 +69381 4337 1 -1.2900000000000000e-01 1.2014141664603619e+01 1.1182218859954364e+01 7.7458662139445638e+00 0 1 1 +107932 6746 2 1.4030000000000001e-01 9.8995913535996376e+00 9.2237698067897202e+00 1.3177685392622811e+01 1 0 0 +65550 4097 4 -6.9599999999999995e-02 1.7458318049986850e+01 1.2626772124497204e+01 6.3525170639926802e+00 0 0 0 +65552 4097 2 3.5400000000000001e-02 1.6665164338293771e+01 1.1937651629402151e+01 6.0235296511383511e+00 0 0 0 +65540 4097 3 -1.8200000000000001e-02 1.7646955427571115e+01 1.3029929723406916e+01 7.5909570929344019e+00 0 0 0 +69389 4337 2 5.1600000000000000e-02 1.2265189992326546e+01 1.4290742881741917e+01 8.4069171939395204e+00 0 1 1 +69380 4337 3 -1.8200000000000001e-02 1.1555358586339914e+01 1.3518810236412984e+01 8.2012594227094588e+00 0 1 1 +65542 4097 2 1.2370000000000000e-01 1.5690440868314797e+01 1.1580697705070271e+01 8.7879736220365245e+00 0 0 0 +65539 4097 1 2.6599999999999999e-02 1.7811281801694086e+01 1.1774589953178271e+01 8.4290535902248998e+00 0 0 0 +65543 4097 1 -1.7340000000000000e-01 1.6690991873171978e+01 1.0038282867815722e+01 9.7296121527578130e+00 0 0 0 +65541 4097 1 -1.2900000000000000e-01 1.6665595158679011e+01 1.1138183814109587e+01 8.9474424737658609e+00 0 0 0 +65544 4097 2 1.4030000000000001e-01 1.5750449560114141e+01 9.7712770926962200e+00 1.0179218454081040e+01 0 0 0 +65545 4097 1 -1.1340000000000000e-01 1.7917505972636960e+01 9.5217739132725718e+00 1.0138662254181785e+01 0 0 0 +65547 4097 1 -1.7340000000000000e-01 2.4985890098324282e+00 1.0025642898562477e+01 9.4176492999025960e+00 1 0 0 +65537 4097 1 -1.2900000000000000e-01 2.5037460872226416e+00 1.1160633791856982e+01 8.6253692316834503e+00 1 0 0 +65538 4097 2 1.2370000000000000e-01 3.4886865157086326e+00 1.1651865642923802e+01 8.2660122736916346e+00 1 0 0 +41340 2584 2 1.4030000000000001e-01 1.6345251447958152e+01 1.0581077581118659e+01 1.2940303448103140e+01 -1 0 -1 +101772 6361 2 1.4030000000000001e-01 1.2061325019095884e+01 8.2414580626526899e+00 1.2746827572696125e+01 0 0 0 +41325 2583 2 5.1600000000000000e-02 3.2807546908780347e+00 1.7513301250682424e+01 6.1969284929278405e+00 0 0 1 +41319 2583 1 -1.7340000000000000e-01 5.1667966032079615e+00 1.4504958612304554e+01 8.4899418683521528e+00 0 0 1 +41317 2583 1 -1.2900000000000000e-01 4.2709331569515046e+00 1.5171166486203983e+01 7.7097533336229027e+00 0 0 1 +41315 2583 1 2.6599999999999999e-02 4.5302208176436256e+00 1.5822738162287587e+01 6.5065100708848096e+00 0 0 1 +195805 12238 2 5.1600000000000000e-02 3.4789342586146521e+00 1.6756199991066900e+01 1.0774146846249749e+01 2 1 1 +195796 12238 3 -1.8200000000000001e-02 2.9396670397560705e+00 1.7364763999896855e+01 1.0037973077323782e+01 2 1 1 +195794 12238 2 1.2370000000000000e-01 1.8172149588585661e+01 1.5879196184308281e+01 1.1942665785926817e+01 1 1 1 +195795 12238 1 2.6599999999999999e-02 1.8189960246829628e+01 1.6557402820682235e+01 9.8951910057012231e+00 1 1 1 +150146 9385 2 1.2370000000000000e-01 8.3229454006835439e+00 1.7106284894415296e+01 1.1175280806134634e+01 1 1 -1 +41321 2583 1 -1.1340000000000000e-01 6.4886610422833844e+00 1.4417282047103134e+01 8.0372824966757364e+00 0 0 1 +41324 2583 2 1.4030000000000001e-01 7.8692334894297309e+00 1.5217531732265087e+01 6.5759412635528571e+00 0 0 1 +41323 2583 1 -1.7340000000000000e-01 6.8035306315514008e+00 1.5119554474942500e+01 6.8678298859343405e+00 0 0 1 +41322 2583 2 1.2880000000000000e-01 7.2031050513797865e+00 1.3866464011687089e+01 8.6968935609528657e+00 0 0 1 +69392 4337 2 3.5400000000000001e-02 9.8208712510125142e+00 1.2837136804877213e+01 7.2879452773642148e+00 0 1 1 +69390 4337 4 -6.9599999999999995e-02 1.0594300370390499e+01 1.3660921113381333e+01 7.2955800346017856e+00 0 1 1 +150145 9385 1 -1.2900000000000000e-01 8.7817019328088897e+00 1.7596288757726505e+01 1.0343829436148329e+01 1 1 -1 +150148 9385 3 -1.8200000000000001e-02 1.0884985120753306e+01 1.7878920372459348e+01 1.1622690956049924e+01 1 1 -1 +150147 9385 1 2.6599999999999999e-02 1.0108201636057926e+01 1.7931699486130150e+01 1.0276792278149461e+01 1 1 -1 +150158 9385 4 -6.9599999999999995e-02 1.1231503999641122e+01 2.5211948038212908e+00 1.2157003840952251e+01 1 2 -1 +150157 9385 2 5.1600000000000000e-02 1.1450691871401704e+01 1.6961509499627816e+01 1.1846193381515082e+01 1 1 -1 +150149 9385 1 -1.2900000000000000e-01 1.0685137286262131e+01 2.1085945763903835e+00 9.2228119301870422e+00 1 2 -1 +150150 9385 2 1.2370000000000000e-01 1.1778864770299412e+01 2.2382910653089674e+00 9.2517160457463650e+00 1 2 -1 +69391 4337 2 3.5400000000000001e-02 1.0456151079379346e+01 1.4488060316916382e+01 6.5466258733581748e+00 0 1 1 +195793 12238 1 -1.2900000000000000e-01 1.7686648268709941e+01 1.5878855746393022e+01 1.0990461704653441e+01 1 1 1 +195803 12238 1 -1.7340000000000000e-01 1.6473035640090831e+01 1.5137365973601687e+01 1.0856129998973106e+01 1 1 1 +195802 12238 2 1.2880000000000000e-01 1.4746861929711587e+01 1.4655317568086621e+01 9.6616665472576706e+00 1 1 1 +195801 12238 1 -1.1340000000000000e-01 1.5796051233623190e+01 1.5136832380446570e+01 9.6813454294041570e+00 1 1 1 +195800 12238 2 1.4030000000000001e-01 1.5800095499624135e+01 1.5655928659699169e+01 7.5461924170663712e+00 1 1 1 +195797 12238 1 -1.2900000000000000e-01 1.7513784072987086e+01 1.6544830312871746e+01 8.6950467616507989e+00 1 1 1 +195799 12238 1 -1.7340000000000000e-01 1.6338499065166612e+01 1.5829599854108311e+01 8.5770220966138417e+00 1 1 1 +195798 12238 2 1.2370000000000000e-01 1.7934224097607796e+01 1.7144884480762489e+01 7.8707368838248923e+00 1 1 1 +195804 12238 2 1.4030000000000001e-01 1.6175858894436228e+01 1.4595879081941767e+01 1.1818036137280366e+01 1 1 1 +107226 6702 2 1.2880000000000000e-01 2.6931705146437825e+00 7.4528536578048046e+00 1.6401480417559661e+01 1 0 -1 +107225 6702 1 -1.1340000000000000e-01 2.5412082692488589e+00 7.6946064706658266e+00 1.7479029549052996e+01 1 0 -1 +43050 2691 2 1.2880000000000000e-01 6.3901733561307177e+00 3.8729885166252385e+00 1.6857663943247552e+01 0 1 0 +43049 2691 1 -1.1340000000000000e-01 6.8639644760880891e+00 3.9977844737634753e+00 1.5864759086802867e+01 0 1 0 +43051 2691 1 -1.7340000000000000e-01 5.8836925448396897e+00 4.2197213883127613e+00 1.4819642488545631e+01 0 1 0 +43052 2691 2 1.4030000000000001e-01 4.8445169787238385e+00 4.2666621101197810e+00 1.4993271083516717e+01 0 1 0 +160474 10030 2 1.2880000000000000e-01 4.9714511327777986e+00 1.5116752517331660e+01 1.2597642370797514e+01 1 0 0 +43048 2691 2 1.4030000000000001e-01 8.8893103329068470e+00 3.8888260173570122e+00 1.6459057949661215e+01 0 1 0 +188724 11796 3 -1.8200000000000001e-02 1.1688421678176432e+01 4.0960510248164450e+00 2.0909014529829917e+00 0 2 0 +188733 11796 2 5.1600000000000000e-02 1.1375250276290704e+01 4.8331916161112147e+00 1.7811967196437259e+01 0 2 -1 +188734 11796 4 -6.9599999999999995e-02 1.0736515393208268e+01 3.6250109566200721e+00 2.9002084374308392e+00 0 2 0 +188735 11796 2 3.5400000000000001e-02 9.7000686220121803e+00 3.9030555037638384e+00 2.8330595968939667e+00 0 2 0 +43047 2691 1 -1.7340000000000000e-01 8.2155679119992957e+00 3.9284586980885070e+00 1.5659681814868401e+01 0 1 0 +43045 2691 1 -1.2900000000000000e-01 8.5871632440144943e+00 4.1176139134649334e+00 1.4359425816463261e+01 0 1 0 +3053 191 2 5.1600000000000000e-02 1.4131209452224061e+01 3.7205834284925237e+00 1.2807104549015305e+01 -1 1 -1 +188722 11796 2 1.2370000000000000e-01 1.4402813832794054e+01 4.0507183151628627e+00 1.8177214408032896e+01 0 2 -1 +188721 11796 1 -1.2900000000000000e-01 1.4132746768243644e+01 4.7192568251348419e+00 2.5172268148938008e+00 0 2 0 +3055 191 2 3.5400000000000001e-02 1.2647552554478004e+01 4.1066728934311065e+00 1.4626327349760397e+01 -1 1 -1 +3048 191 2 1.4030000000000001e-01 2.1361911246942613e+00 2.0256462695747413e+00 1.3661683245937004e+01 0 1 -1 +188731 11796 1 -1.7340000000000000e-01 1.5082344798334990e+01 5.4339100483828533e+00 3.2040607534203400e+00 0 2 0 +3054 191 4 -6.9599999999999995e-02 1.3634640729991750e+01 3.8573291703607966e+00 1.4918577504339625e+01 -1 1 -1 +3056 191 2 3.5400000000000001e-02 1.3956384462179996e+01 3.9073965418023482e+00 1.5995687294821206e+01 -1 1 -1 +3046 191 2 1.2370000000000000e-01 1.7193526563745138e+01 3.7459889826236981e+00 1.3527506035297845e+01 -1 1 -1 +188732 11796 2 1.4030000000000001e-01 1.6083180459711862e+01 5.2111335470887523e+00 3.0021790482301487e+00 0 2 0 +3044 191 3 -1.8200000000000001e-02 1.4462398230952495e+01 3.7530010030969558e+00 1.3864072205754665e+01 -1 1 -1 +3047 191 1 -1.7340000000000000e-01 1.7647518143872116e+01 1.7688415837286873e+00 1.4069869500933256e+01 -1 1 -1 +3043 191 1 2.6599999999999999e-02 1.5358225536986536e+01 2.5383885112449232e+00 1.4011133084383125e+01 -1 1 -1 +3045 191 1 -1.2900000000000000e-01 1.6698963155322488e+01 2.7814029062226857e+00 1.3817663440342963e+01 -1 1 -1 +101766 6361 2 1.2370000000000000e-01 1.4486305311740852e+01 7.0492572322308868e+00 1.6861792785180214e+01 0 0 0 +101765 6361 1 -1.2900000000000000e-01 1.3952052360271175e+01 7.3593350772883674e+00 1.5958103513676853e+01 0 0 0 +101768 6361 2 1.4030000000000001e-01 1.5598211775798697e+01 6.8332180667355438e+00 1.4649592564383175e+01 0 0 0 +101770 6361 2 1.2880000000000000e-01 1.4413755542349351e+01 7.4347516650250540e+00 1.2552816796988212e+01 0 0 0 +101769 6361 1 -1.1340000000000000e-01 1.3891333488399404e+01 7.5059992680422489e+00 1.3502034253911555e+01 0 0 0 +101767 6361 1 -1.7340000000000000e-01 1.4605101636425838e+01 7.2573358819526579e+00 1.4741222690138107e+01 0 0 0 +107227 6702 1 -1.7340000000000000e-01 1.7883548418980652e+01 8.3514720862484815e+00 1.7898023886448911e+01 0 0 -1 +108387 6775 1 2.6599999999999999e-02 7.3105046605336623e+00 1.2002646672640418e+01 1.8180285553843476e+01 0 0 0 +108397 6775 2 5.1600000000000000e-02 6.4647144372088396e+00 1.0136771332249360e+01 1.7453949180576807e+01 0 0 0 +107217 6702 1 -1.2900000000000000e-01 1.7732828280737948e+01 8.5361463551748038e+00 2.8569355745343277e+00 0 0 0 +107935 6746 2 3.5400000000000001e-02 5.0561509861045302e+00 8.1734324546280099e+00 1.4745872444105991e+01 1 0 0 +107933 6746 2 5.1600000000000000e-02 5.1594105258377665e+00 1.1267260390577270e+01 1.4472801471667175e+01 1 0 0 +107934 6746 4 -6.9599999999999995e-02 4.6169720890872554e+00 9.1871032170689944e+00 1.4737566205819322e+01 1 0 0 +107924 6746 3 -1.8200000000000001e-02 5.4432003856112612e+00 1.0237922103124522e+01 1.4609929127699449e+01 1 0 0 +107923 6746 1 2.6599999999999999e-02 6.4820549290353195e+00 9.7078183298517988e+00 1.3613217549850990e+01 1 0 0 +107228 6702 2 1.4030000000000001e-01 1.7115417491762386e+01 8.7327362751247577e+00 1.7217705089608554e+01 0 0 -1 +107936 6746 2 3.5400000000000001e-02 3.5781383029214346e+00 8.9944694941570749e+00 1.4713627566978687e+01 1 0 0 +160479 10030 2 3.5400000000000001e-02 3.7326685747508552e+00 1.3427274929042056e+01 2.2216548785191739e+00 1 0 1 +107921 6746 1 -1.2900000000000000e-01 7.8562865065307435e+00 9.5957645375673035e+00 1.3851562295909520e+01 1 0 0 +107922 6746 2 1.2370000000000000e-01 8.0995841612996955e+00 9.7313098352338123e+00 1.4939733899172261e+01 1 0 0 +107218 6702 2 1.2370000000000000e-01 1.6835368082721224e+01 9.1131625105569878e+00 3.2255257646648907e+00 0 0 0 +108388 6775 3 -1.8200000000000001e-02 7.3532485484630739e+00 1.0786635947908049e+01 1.7355440619577308e+01 0 0 0 +108399 6775 2 3.5400000000000001e-02 8.6525462867452845e+00 9.1449007932328534e+00 1.7647695780957935e+01 0 0 0 +108398 6775 4 -6.9599999999999995e-02 8.5213713271356717e+00 1.0232558032132358e+01 1.7537403599029407e+01 0 0 0 +101776 6361 2 3.5400000000000001e-02 1.2049684967504803e+01 1.0165869848570868e+01 1.7105430507983492e+01 0 0 0 +101775 6361 2 3.5400000000000001e-02 1.2887489730527209e+01 9.4926640670100220e+00 2.0987313930387570e+00 0 0 1 +101774 6361 4 -6.9599999999999995e-02 1.2305590434143607e+01 9.2071744394622499e+00 1.7710749947057952e+01 0 0 0 +101764 6361 3 -1.8200000000000001e-02 1.1946469391161191e+01 7.9345918432054798e+00 1.7422016804743411e+01 0 0 0 +101773 6361 2 5.1600000000000000e-02 1.2259930148470499e+01 7.1324492364701051e+00 1.8139842490217099e+01 0 0 0 +101763 6361 1 2.6599999999999999e-02 1.2664387194381472e+01 7.8161236053804517e+00 1.6068998595047127e+01 0 0 0 +101762 6361 2 1.2370000000000000e-01 1.0978083818181998e+01 8.5416591738498990e+00 1.5007646020399198e+01 0 0 0 +179272 11205 2 1.4030000000000001e-01 8.8017355529519605e+00 1.2300324251887471e+01 1.1173326770491549e+01 1 0 -1 +179270 11205 2 1.2370000000000000e-01 1.0393817075879586e+01 1.1825769406851849e+01 1.2934369573096140e+01 1 0 -1 +179271 11205 1 -1.7340000000000000e-01 8.9139923428024765e+00 1.3024335850892795e+01 1.2003930331336008e+01 1 0 -1 +65546 4097 2 1.2880000000000000e-01 1.7899483895246036e+01 8.6480490306837368e+00 1.0836166866910942e+01 0 0 0 +65548 4097 2 1.4030000000000001e-01 3.4494286730252339e+00 9.6066332589219989e+00 9.6739630854217005e+00 1 0 0 +101761 6361 1 -1.2900000000000000e-01 1.2004770701672360e+01 8.1530844525238351e+00 1.4874154146718642e+01 0 0 0 +101771 6361 1 -1.7340000000000000e-01 1.2589725462806230e+01 7.9052944284843694e+00 1.3651903735235269e+01 0 0 0 +41339 2584 1 -1.7340000000000000e-01 1.6589792086060861e+01 1.1434284215631770e+01 1.3616315654462921e+01 -1 0 -1 +41329 2584 1 -1.2900000000000000e-01 1.5924934127057425e+01 1.1453825570103859e+01 1.4834566892269521e+01 -1 0 -1 +41343 2584 2 3.5400000000000001e-02 1.5346036789775042e+01 1.0577438179777253e+01 1.7744257789483889e+01 -1 0 -1 +41342 2584 4 -6.9599999999999995e-02 1.5535759072649746e+01 1.1618009272633429e+01 1.8028456966425424e+01 -1 0 -1 +41344 2584 2 3.5400000000000001e-02 1.5605571674399014e+01 1.1845541378829052e+01 2.5753776309133376e+00 -1 0 0 +41330 2584 2 1.2370000000000000e-01 1.5155432327680716e+01 1.0728855828798077e+01 1.5116346047300009e+01 -1 0 -1 +41341 2584 2 5.1600000000000000e-02 1.5255845286212361e+01 1.3595578835369178e+01 1.7401974454512626e+01 -1 0 -1 +41331 2584 1 2.6599999999999999e-02 1.6218407517059681e+01 1.2433872672159525e+01 1.5835322031560247e+01 -1 0 -1 +41332 2584 3 -1.8200000000000001e-02 1.5342508920013911e+01 1.2566890327026831e+01 1.7065300433834039e+01 -1 0 -1 +179276 11205 2 1.4030000000000001e-01 7.7409900700875669e+00 1.6039772300823500e+01 1.2996164460662758e+01 1 0 -1 +108385 6775 1 -1.2900000000000000e-01 7.4233967221649939e+00 1.3208845277918304e+01 1.7576420059242437e+01 0 0 0 +160480 10030 2 3.5400000000000001e-02 2.5198362929249960e+00 1.3397217172244797e+01 1.7309546401633696e+01 1 0 0 +108386 6775 2 1.2370000000000000e-01 7.6418580353016772e+00 1.3201805789851932e+01 1.6463737231152205e+01 0 0 0 +160478 10030 4 -6.9599999999999995e-02 3.1803970397480916e+00 1.3965101712621689e+01 1.7930232961704462e+01 1 0 0 +160468 10030 3 -1.8200000000000001e-02 3.2747731245789664e+00 1.5232476684383739e+01 1.7659189220495477e+01 1 0 0 +160470 10030 2 1.2370000000000000e-01 4.5355816453608124e+00 1.3114455934447417e+01 1.6215718014273392e+01 1 0 0 +160472 10030 2 1.4030000000000001e-01 5.6139592118976136e+00 1.3131308544224675e+01 1.4080126826092714e+01 1 0 0 +160471 10030 1 -1.7340000000000000e-01 5.1811370917832766e+00 1.4080044327837159e+01 1.4456427972211051e+01 1 0 0 +160469 10030 1 -1.2900000000000000e-01 4.5804091192069301e+00 1.4037606684058916e+01 1.5713383640096469e+01 1 0 0 +160473 10030 1 -1.1340000000000000e-01 5.0037064822006068e+00 1.5195504770002120e+01 1.3654947051935174e+01 1 0 0 +160476 10030 2 1.4030000000000001e-01 4.3104997064483790e+00 1.7284794062856477e+01 1.3634720726802625e+01 1 0 0 +160475 10030 1 -1.7340000000000000e-01 4.4078150650840886e+00 1.6318615075841972e+01 1.4219645992621857e+01 1 0 0 +160465 10030 1 -1.2900000000000000e-01 4.0610468192223443e+00 1.6308730622530351e+01 1.5558870664605191e+01 1 0 0 +160466 10030 2 1.2370000000000000e-01 3.5686154938002295e+00 1.7222651804330930e+01 1.5900437427118566e+01 1 0 0 +160467 10030 1 2.6599999999999999e-02 3.9318617624607755e+00 1.5132619387648699e+01 1.6267790553153716e+01 1 0 0 +150159 9385 2 3.5400000000000001e-02 1.0651976528402525e+01 3.4357906631307165e+00 1.2089534483238621e+01 1 2 -1 +150160 9385 2 3.5400000000000001e-02 1.2104884307909124e+01 2.5931369889877622e+00 1.2799396410924045e+01 1 2 -1 +179274 11205 2 1.2880000000000000e-01 7.5635170359697375e+00 1.4547808023605786e+01 1.1108629291415742e+01 1 0 -1 +179278 11205 4 -6.9599999999999995e-02 1.1635322751866651e+01 1.2257154805758839e+01 1.5137151672689530e+01 1 0 -1 +179268 11205 3 -1.8200000000000001e-02 1.0997175481765529e+01 1.3405153367619416e+01 1.5130082764970151e+01 1 0 -1 +179266 11205 2 1.2370000000000000e-01 9.1942088684810823e+00 1.5422706022769127e+01 1.5035703786272791e+01 1 0 -1 +179280 11205 2 3.5400000000000001e-02 1.2290942256734050e+01 1.1826014649487290e+01 1.4392219038469303e+01 1 0 -1 +179267 11205 1 2.6599999999999999e-02 9.9496209304151666e+00 1.3629886003062269e+01 1.4124589952682891e+01 1 0 -1 +179275 11205 1 -1.7340000000000000e-01 8.2701895659697797e+00 1.5076504555751216e+01 1.3052072167601100e+01 1 0 -1 +179265 11205 1 -1.2900000000000000e-01 9.0564106265983355e+00 1.4783784316041231e+01 1.4154656487210538e+01 1 0 -1 +179269 11205 1 -1.2900000000000000e-01 9.8768793826486316e+00 1.2787181450430296e+01 1.3014283720178977e+01 1 0 -1 +179273 11205 1 -1.1340000000000000e-01 8.2674216650716907e+00 1.4253273160133595e+01 1.1948939368483259e+01 1 0 -1 +179277 11205 2 5.1600000000000000e-02 1.0610727421449907e+01 1.3739814257364230e+01 1.6100755441988152e+01 1 0 -1 +160477 10030 2 5.1600000000000000e-02 3.9412304815930104e+00 1.5838691529735270e+01 1.7734323116652897e+00 1 0 1 +3050 191 2 1.2880000000000000e-01 1.7898982762827522e+01 1.6150504000168105e+01 1.4416156164361380e+01 -1 0 -1 +3042 191 2 1.2370000000000000e-01 1.3942092690198225e+01 1.7683486329176745e+01 1.4820833614746432e+01 -1 0 -1 +3041 191 1 -1.2900000000000000e-01 1.4940290038031597e+01 1.7837094196722056e+01 1.4454329160863994e+01 -1 0 -1 +3049 191 1 -1.1340000000000000e-01 1.7196155424954874e+01 1.7017060638418130e+01 1.4373120643853616e+01 -1 0 -1 +3051 191 1 -1.7340000000000000e-01 1.5845051399300770e+01 1.6778167679823589e+01 1.4620076052624285e+01 -1 0 -1 +3052 191 2 1.4030000000000001e-01 1.5497654156270627e+01 1.5778851829853114e+01 1.4800370085812935e+01 -1 0 -1 +179279 11205 2 3.5400000000000001e-02 1.1619265961576444e+01 1.1687845995171676e+01 1.6085200175077574e+01 1 0 -1 +41338 2584 2 1.2880000000000000e-01 1.7568651246853193e+00 1.2192292914855560e+01 1.2474233482244635e+01 0 0 -1 +41336 2584 2 1.4030000000000001e-01 2.2324306685334516e+00 1.3971093942058394e+01 1.4193890180808504e+01 0 0 -1 +41337 2584 1 -1.1340000000000000e-01 1.7657386738972786e+01 1.2343250231643829e+01 1.3351358148640003e+01 -1 0 -1 +41335 2584 1 -1.7340000000000000e-01 1.7912104075252799e+01 1.3296238336433840e+01 1.4340140648841116e+01 -1 0 -1 +41333 2584 1 -1.2900000000000000e-01 1.7246150468532957e+01 1.3385489918572183e+01 1.5568140261294454e+01 -1 0 -1 +41334 2584 2 1.2370000000000000e-01 1.7455716623269652e+01 1.4043517017613519e+01 1.6398684799357447e+01 -1 0 -1 + +Velocities + +40602 -6.3985937286226606e-03 -1.1283920651758051e-02 1.9394773557760127e-02 +111366 7.1417889228307350e-03 2.3686345533524764e-03 1.5065506389023443e-02 +111365 4.2982514673758189e-03 -3.3283192982106525e-03 6.5036881647937477e-03 +111364 1.4447480828875161e-03 3.8092269892626334e-03 3.0609420633918654e-04 +111373 2.2700374864640424e-02 2.2290576591487434e-03 -6.7977785798176921e-03 +107224 1.7187267010873336e-02 -1.1555287862823971e-02 -1.0717215799613468e-02 +107223 -6.3226613301485979e-04 1.4795913931442428e-03 -6.5605731669071115e-03 +40599 -2.5724488567018611e-03 5.3740131515095432e-03 -1.1508458865342254e-04 +40600 3.0894309265885834e-03 7.0869892184123118e-03 -1.9531624930404824e-02 +41356 1.7160195689052138e-02 3.3571060089956223e-03 2.0463824167599072e-02 +107222 -1.2352364881033985e-02 -5.6793207223280774e-03 -1.1101201909159270e-02 +40597 5.5215942197628732e-03 3.2107591811954972e-04 3.0815583031388511e-03 +40598 2.4529408589842389e-02 1.5523133298995082e-02 -1.7101075554038388e-02 +111367 8.5756582830476269e-04 5.3997389483404334e-03 -6.4875926078625870e-03 +111368 1.3769852735293254e-02 -2.1680927934792451e-02 -1.8995998166840975e-02 +188723 3.3328235104561783e-04 8.5236950748101713e-04 4.2020891134151670e-03 +188726 -9.8003887498915986e-03 -2.1495045220230168e-02 8.3413373308345595e-04 +188736 -1.1100104140321627e-02 3.0529586466152923e-03 1.4662924054520724e-02 +41360 2.3048551361378499e-03 1.3548917365876484e-02 -1.0649868672622506e-02 +111375 -2.4422125149829027e-02 2.5695162102282055e-02 3.3922349033143284e-02 +41346 4.6625666522050130e-03 8.5743244035343079e-03 -4.9179988094868107e-03 +41359 -1.2726148133992348e-02 -1.2000997718029122e-02 1.6708496998307527e-03 +188725 1.1437177939645920e-03 -4.6323573846128430e-04 -2.5634649694155787e-03 +188729 -3.3988449745788792e-03 5.3757300898929299e-04 -2.2590775366986299e-03 +188727 3.1711558095981144e-03 7.3348712723420714e-03 7.4298368874665018e-03 +20158 -5.0109592460971424e-03 3.6872279392635809e-03 -5.5038251558829285e-03 +20160 -1.1821234057304992e-02 -2.5798190857128922e-03 -1.7953380281471747e-02 +20148 -1.0790472476793170e-03 -4.7025193507702606e-03 5.9217761171112299e-04 +188728 7.5473765845357884e-03 -1.5388969664485809e-02 9.8152795837572054e-03 +20157 -1.1944120436498213e-02 -1.9061416156011441e-02 -2.4914799662105972e-02 +188730 -1.4290269695998326e-02 2.9968229390958515e-02 7.7682551251084097e-03 +41355 -2.5991049762131772e-03 7.4297395598412874e-03 -1.6861102450866203e-03 +108389 -2.0384096805913287e-03 6.0388461522491261e-03 -1.8156856992433881e-03 +41327 -1.8190165050566413e-02 1.2902744096957476e-02 -6.8012225052866936e-03 +41326 2.4564138723369069e-03 8.0442641486566449e-03 3.3082730180927712e-03 +41328 -7.9543703561699274e-03 1.4610678983649835e-02 -5.8658854142750068e-04 +108390 -1.4636133796141480e-02 -1.1902813702312741e-02 -1.2565958306297892e-02 +108391 6.8277912089155703e-03 -6.6616757590615980e-03 1.3194254171091536e-02 +41353 6.1344487178109988e-04 2.3782327128607731e-03 -5.9839334739494598e-03 +41351 -5.5148848659499717e-03 3.3175240477984454e-03 -2.3477985375082062e-03 +107221 -6.1719557341304710e-05 6.6392922109710087e-03 -1.2604337429895050e-03 +107219 -2.5442440180131719e-03 6.8009639830674841e-04 3.7895831012066165e-03 +107232 9.9471624926068185e-04 2.9343026454605268e-03 1.4564418253620532e-02 +108392 -1.2205773323818782e-02 -1.2367095129675064e-02 -2.3620384811178449e-02 +41354 1.2633903485313827e-02 2.8894382064193129e-03 -7.5485661956211066e-03 +69384 3.7045438016150749e-03 1.4715210123816483e-02 -1.2504143987109963e-03 +41345 -1.2050690902703552e-03 -7.4223700967044797e-03 7.9557125889578358e-03 +41347 -5.2630112301396935e-03 1.0024695076983729e-03 4.0678108158525451e-03 +41357 -2.4235372130303228e-02 2.7194778844038932e-02 2.5954476578362314e-02 +41358 1.1547802455943292e-03 3.2054286419790192e-03 -5.7816107018840678e-03 +41348 2.8215799895673598e-03 -7.2301887887184424e-03 -5.9561539318358590e-03 +41349 1.8508257020319503e-03 -8.5310062398337300e-03 6.3502572698804077e-03 +41350 5.0424082461614922e-03 9.8759747315334129e-03 -3.7148985725838621e-02 +69382 1.0209488485216548e-02 8.7948629085824424e-03 6.0461055609758911e-03 +108400 3.2185453787997705e-02 4.4465668237807292e-04 3.2221034555599638e-02 +107220 -4.0146593456830170e-04 4.3976084131760714e-03 -1.4675205968496619e-03 +107229 -1.0433617007031043e-02 -1.3650333859161087e-02 -1.4213050498992373e-02 +65551 -4.9864380278714232e-03 -1.4856355031384712e-02 5.2803332223931424e-04 +107230 -1.0046475666219534e-03 -4.3746998646380488e-03 -5.0828115157881323e-03 +107231 1.3064987533431858e-02 -1.2616440589792253e-02 1.5496724125123052e-02 +148088 -5.7788264907382165e-03 -2.6933832447928175e-02 6.2446472207853465e-03 +148090 4.7648648958641283e-03 -3.1957718696620278e-02 -6.8971058281332674e-03 +148087 4.1315835848582082e-03 6.3290740064834297e-03 1.2949415393118048e-03 +148089 -7.1554872977898868e-03 -5.1666910859972581e-03 -2.0484014887854340e-03 +40604 -3.1744414925873135e-03 1.0568434359276006e-02 -2.1819988456264736e-02 +40603 2.8248689961349748e-03 1.2658982899592434e-03 -9.5764006115084746e-03 +40601 -4.7840031125935203e-04 9.4450791561692653e-03 -4.5528435199967349e-03 +41314 1.9149519323665907e-02 -6.0539194052006877e-03 5.2839448608981284e-03 +40594 1.8001534383656499e-02 2.9721693538009245e-03 2.3761970191448985e-02 +40593 -1.0908632903323596e-03 1.0495712304397933e-03 -1.2043838978949969e-03 +40595 2.7037492749230224e-03 4.4950383230027363e-03 2.8523867304455135e-04 +41316 1.0657791699052992e-03 -6.5096741060257099e-03 4.6172120682064308e-03 +108393 6.4195678479741008e-03 6.1890863167554807e-04 -3.4458122416580831e-04 +108394 1.7640001229085639e-03 -2.7098331768220227e-02 4.6754689677561925e-02 +41313 -2.1194538663887627e-03 8.9933456540167741e-04 -6.3884135988039525e-03 +108395 -6.7159387862448430e-03 -5.5000640306663339e-03 -4.9701797361138859e-03 +108396 -9.3569802272948782e-03 -1.1015116885264041e-02 -8.9017892105562844e-03 +148096 -4.2819336553939994e-03 -1.0050196677360956e-03 -2.1765415720189883e-02 +148095 4.9372342704395670e-03 1.0772605578946723e-02 -1.1721352868997137e-02 +148094 7.1248826100540322e-04 -3.2781016402931187e-03 2.8577594939631964e-04 +40608 -1.2370534160282482e-03 -8.2498460545062293e-03 2.5338864890924385e-02 +40607 1.3877315839298684e-02 1.3217823230226708e-02 2.8654612266083093e-02 +40605 8.2533235910335293e-03 -1.4363497942103563e-02 -5.8333651379382651e-03 +40606 -3.6177440555578344e-03 6.4037161614175055e-03 -7.2599838950661412e-03 +40596 -2.4546392581697943e-03 -4.9076179625028755e-03 5.9137087618071201e-03 +148093 1.7447620781739517e-02 2.2068002127499306e-02 -1.5040662930237567e-02 +148084 5.0933294765535949e-03 1.0234031055708500e-03 7.5015891928184334e-03 +148086 4.8420055786770281e-03 1.6812726112808648e-02 -1.3819560009771241e-04 +148085 -8.8289871556675153e-03 5.2193033688785698e-03 4.7266480208508202e-03 +148083 -7.1461232997133148e-03 -4.1887647415794725e-03 -7.8404449131831862e-04 +20159 -7.4629924575313053e-03 5.1113651021916437e-04 -3.2772971405742720e-03 +148081 4.1407665746122004e-03 -1.7828488447790513e-03 -7.5664489213328147e-03 +148091 6.8153129958091630e-03 -1.6847748121324249e-03 -7.3048091201541277e-03 +148092 9.7131175647673530e-03 -7.5600099887703272e-03 2.0349319254081608e-02 +148082 4.4908740015736160e-03 -5.8588195363773170e-03 1.7442587106140391e-02 +111363 -7.2666723745643045e-04 6.4453310449022526e-04 -9.2142146514411166e-04 +111369 2.3214338205662967e-03 -1.9300494656438171e-04 5.2064352844595631e-05 +111371 9.2498196774835114e-03 -7.6929365735117954e-03 -1.5145794805183515e-03 +111372 -2.3916823221637332e-03 -1.8730462875375706e-02 1.1809691836554021e-03 +111362 -6.7382249992153909e-04 5.2995704976425322e-03 -3.3360124539462105e-02 +111361 -8.6055288981815720e-03 -5.4071424783112623e-03 -1.2653640098973984e-02 +43056 3.2222153132921145e-03 1.9837761268420732e-02 9.2018302104190340e-03 +195807 -3.1382834937265937e-02 6.9332535127632029e-03 1.3160308515046322e-02 +195808 -3.2683081868087938e-02 -1.6396793809679167e-02 2.5209625669480457e-04 +195806 -9.8938695448897631e-03 1.3705293166065644e-03 7.8003187155232159e-03 +43041 8.9415567805161723e-03 8.7913160341705917e-04 5.6333712078787410e-03 +43042 1.0613219478942223e-02 2.3186041832578441e-02 -1.0115460586963982e-02 +43043 2.0978361718671187e-03 6.0263535813099497e-03 -1.3700435982461076e-03 +43055 -3.4386257188604344e-02 -1.5039464899947758e-03 8.7479446119385353e-04 +43044 -4.3121573494832970e-03 -8.0623094479985637e-03 8.0995104097343895e-03 +43054 2.4806635642581174e-03 1.3435133813313386e-02 4.9496913185229094e-03 +150156 1.0204657798397571e-02 7.8520007773605592e-03 -1.9929390618242882e-02 +150155 -1.6742680788560771e-03 4.2949845657895766e-03 -4.0950556847738689e-03 +111374 2.8056883266325912e-04 -6.1512930242348853e-05 3.1968810263665582e-03 +111376 2.7185148974756327e-02 2.4258034996224734e-03 -4.4755557435753827e-03 +150154 -9.8043514557737150e-03 9.4303679048280270e-03 -7.7080592127516511e-03 +150153 -4.8187204163573456e-03 2.3740896109405102e-03 4.8634437258542442e-03 +150151 -6.3991780492525102e-03 1.1588777932327687e-02 -3.0347131918465452e-03 +43046 -8.8311146243204004e-04 3.0986511119250699e-03 -1.2407892016880967e-02 +43053 9.5611734483879354e-03 -3.1426599490962055e-02 5.8803835591003236e-03 +20146 -1.7681237741758948e-02 -1.2212042848023569e-02 -1.1833442613132347e-02 +111370 -1.0710837326206812e-02 2.6089672819193891e-03 -5.4317254687181677e-03 +20155 -2.7215865188963246e-03 1.4560172171770279e-03 -4.2670739431862311e-03 +20145 -7.4364708932625513e-03 6.7007663084826818e-04 -7.7802544634573857e-03 +20149 3.1175637372676617e-03 -4.0109309363089663e-03 -1.0041320465318460e-02 +20153 -1.4993060554304328e-03 -1.4897146798975238e-03 1.0061799265953016e-03 +20154 -4.5667092906773635e-02 -3.9442205782248569e-03 8.3317673247143066e-04 +20151 -2.4277432789537640e-04 -1.4230354846986382e-03 -1.3830486874839140e-03 +20147 1.7882378095336886e-03 -1.5801307395524379e-03 5.2438073877780360e-05 +20152 -4.0777615249197371e-03 3.1119760731858820e-02 -1.5759361074254526e-02 +20150 9.0304079532301865e-03 1.0875943342613147e-02 -1.0895971464493320e-02 +20156 -5.6282725264859799e-03 -1.1672424195060220e-02 -7.2540747831290687e-03 +150152 5.9014548429507903e-03 -2.5097412250563358e-03 2.4514394229295321e-02 +107926 -2.5360130619403527e-02 1.7027498464666991e-02 1.4089021440180751e-02 +65549 2.2437863237016947e-02 1.5376768642133005e-02 -3.0023558944022315e-03 +41318 1.8042221289882098e-02 -2.7690176363431174e-03 1.7781355400005368e-02 +41320 9.9006239878205310e-03 -2.5462778699343425e-02 -2.9213483015257335e-02 +107925 2.9075289343929583e-03 4.6134671356644531e-04 1.1769542406121603e-02 +107928 -1.0263708016336921e-02 2.3707724952912439e-02 1.1482359218154482e-03 +107927 3.4365248976792003e-03 -6.2525848992054855e-03 -5.9247937754846221e-03 +41352 -1.2800226678188423e-03 -2.8048563798401534e-03 2.0152855354049065e-02 +107931 -4.3356949892896972e-03 6.5928579486349784e-03 -1.8621873901022122e-03 +107930 2.3237710511205181e-03 -1.2538253427723276e-02 -4.7839319344868776e-03 +107929 -8.0478126756462266e-04 -2.7560021303245719e-03 7.5571229201517529e-03 +69386 1.0473405390103647e-02 -6.6814121040076752e-03 9.5814420685443498e-03 +69385 4.9440082509376836e-03 -2.5126914407222916e-03 -3.5949598322722104e-03 +69388 1.8208857117612783e-03 -1.1322803427677355e-05 -1.4333219921259978e-02 +69387 3.1850369745748921e-04 6.5069660914624204e-03 -2.6386771913439965e-03 +69379 2.6314325531485937e-03 1.5715621609313378e-03 1.1821470965878366e-03 +69378 3.7026928777500151e-03 -2.7614897646064784e-02 1.8259771516738618e-02 +69377 2.6687771533153914e-03 -5.7218381841054600e-03 -7.5893780564083237e-04 +69383 -3.3691968886554952e-03 7.1360246962528422e-03 -9.8211852411923817e-04 +69381 4.7565972492020952e-03 9.0419073906814387e-03 -2.2763053585622473e-03 +107932 3.8414353147230764e-03 -8.0733742293150335e-03 1.8586066754227297e-02 +65550 8.3801343387129440e-03 -3.6416927830206571e-04 -1.8048768464312942e-03 +65552 1.5638442308199697e-02 -2.0834570456500827e-02 1.0981929724627556e-02 +65540 -1.0857776192705190e-02 -3.0700087407187775e-03 2.8788388836712897e-03 +69389 -6.1755692750579995e-03 -4.4194428240845861e-03 -1.1011904673336976e-02 +69380 5.2112328945180079e-03 -2.0458437106421236e-03 -3.9919201383127826e-03 +65542 1.0161363284650162e-02 -1.7453919007551381e-02 1.5366623626875970e-03 +65539 -3.2306768646671322e-03 9.2182272960381984e-04 2.6015855213855988e-03 +65543 5.1858203386749152e-03 2.7852728941709375e-03 3.5441667809768297e-03 +65541 1.7878919381596906e-03 4.1390806335909131e-03 1.9778464485735573e-03 +65544 2.4551706016464687e-02 9.1023838230138918e-03 2.6294443083941983e-02 +65545 -8.2129497046984305e-03 7.4780642489738185e-03 -3.1716849956166665e-03 +65547 -6.8346051031379187e-04 1.4269967526595148e-03 -5.1908655600957226e-03 +65537 -8.6233453210128629e-04 6.5238125861394160e-03 -3.7603748025841180e-03 +65538 -2.0035485175081927e-02 6.1098481347540918e-03 1.7638834216090409e-02 +41340 -4.6576371710238193e-03 -1.1654104516993939e-02 -1.3773539799737619e-02 +101772 1.0911313320299220e-02 6.3510120728270860e-03 4.9522483493955431e-03 +41325 -2.6734468427113651e-02 9.1841923890378010e-03 -1.5328834252099265e-02 +41319 -9.1885019050582458e-04 -2.3029331976552095e-03 -2.7045144890137820e-03 +41317 -7.7654576230394307e-04 -5.5073614356975220e-03 -1.9202412214231046e-04 +41315 -1.7385686807141081e-03 1.5446300205458365e-03 1.9952832947580691e-03 +195805 -7.6598832481870769e-03 -5.1231059839508437e-03 -1.9890091940218860e-02 +195796 -1.1732064842694759e-03 -5.7497907053340896e-04 7.3157052031676490e-03 +195794 -8.6088113370853675e-03 -6.5484403401288764e-03 -1.2799674075156021e-02 +195795 -1.4996948131837684e-03 -2.7153802298280631e-03 -3.3985451066914211e-03 +150146 8.5964742262872283e-03 -1.1565212543638292e-02 6.2814871480959935e-03 +41321 6.9280720042544843e-03 -4.3686337166906584e-03 7.3581863700124467e-04 +41324 -2.8389899116042323e-03 1.3909468247823161e-02 4.3114594454619071e-03 +41323 -9.0125774083012790e-03 -5.0493438449767574e-03 -2.1434692510532635e-03 +41322 -1.5812355932370424e-02 1.0710941844899499e-02 6.2428080224479106e-03 +69392 -2.2546399596842053e-02 -1.8075810155354460e-02 5.0186567866324847e-03 +69390 1.1749781995426265e-03 -1.2749343383937184e-02 -2.5956074184824659e-03 +150145 2.9746343212151099e-03 2.9112464133544827e-03 -1.0105992832620007e-03 +150148 -2.7954531733395370e-03 -2.3070997870378741e-03 5.5980707473674289e-04 +150147 2.9436340567068199e-03 6.6274995352233522e-04 -1.7502135011225556e-03 +150158 -1.0014277667394864e-04 1.3345167443974380e-02 -1.2140518537356060e-02 +150157 -9.1176651172342471e-03 1.9161783922648184e-03 -1.7139066698174422e-02 +150149 8.4287523879888852e-03 -4.7408530887962617e-03 -7.0065798885690644e-04 +150150 5.9355600264354323e-03 -1.1442321105025752e-02 2.3098532485127263e-02 +69391 -9.2567222081355507e-03 2.5762644773261217e-02 1.4488482901383315e-03 +195793 -3.1158880581649206e-03 -7.0200266776289924e-03 7.8927832477760987e-03 +195803 3.9818115630686178e-03 -6.1024578419483135e-03 -4.8112538337763359e-03 +195802 -3.0570223177208761e-04 -2.9386036278753597e-02 7.0349341449799417e-03 +195801 5.2394953658191001e-03 9.1732533954368249e-03 3.1141270890654572e-04 +195800 1.7461569943837544e-03 4.0749677240683416e-02 1.0013003501743011e-02 +195797 1.7271750759534229e-03 2.3563819438706256e-03 7.5571688880444535e-03 +195799 1.6429099368351701e-03 4.5996046044822895e-04 -5.0654846345272089e-03 +195798 1.1001462298366805e-02 8.3858904779092313e-03 -3.3785909017681262e-03 +195804 -1.7296703116988605e-03 -1.7697327664914005e-02 8.5202162561649492e-03 +107226 -1.7331359261464195e-02 -3.0656969501809961e-03 -2.0157585732793516e-02 +107225 -3.5089078950579526e-03 7.9908038122458825e-05 -2.0549368746707371e-03 +43050 1.3308282236893442e-02 -1.9700033358625919e-02 1.0063042575124281e-02 +43049 -7.6186047983919196e-03 -2.8674634899580310e-03 4.5672905010358013e-03 +43051 1.6816862530873065e-03 -6.3271333424715836e-03 3.1966940544481534e-03 +43052 1.1101246737904471e-02 -2.7500007475214173e-02 1.2946853284945686e-02 +160474 1.0191231333280013e-02 1.6542569362786894e-02 -4.8086367671814206e-03 +43048 4.1304191245269536e-03 -9.6664493035188166e-03 1.7935667373089936e-02 +188724 -5.1975814552116884e-04 1.4631396054558342e-02 4.7299610442206614e-03 +188733 -2.7873452889993384e-02 1.2473853177297456e-02 1.4566554091484172e-02 +188734 -2.3911430844619536e-03 4.1678601894228583e-03 1.0523340557520730e-02 +188735 -7.0801718316105614e-03 4.4860133083137023e-03 -1.3973977234744157e-02 +43047 -1.4795679520736254e-03 -3.3265508294681905e-03 -8.3734303841242422e-03 +43045 -4.0265248091229796e-03 8.0349934652097204e-03 -1.7599504163315438e-03 +3053 1.7224357096979497e-02 3.5458829635939999e-02 3.6002747086972837e-03 +188722 -9.8212554448490110e-03 -9.0722203116146601e-03 1.3272184510909137e-02 +188721 1.9412771888515235e-03 -4.4699900251273508e-03 3.8658118576122263e-03 +3055 -1.0481165616355119e-02 -2.2885224468318546e-02 3.4105973508173040e-03 +3048 -3.8544097846844529e-03 -1.3138759658280713e-02 -3.9042582782915585e-03 +188731 2.8494075759158554e-03 1.1866122837661180e-02 9.1245321002059903e-04 +3054 -2.1216653303811474e-03 2.3713097765709016e-03 7.5315521509730461e-03 +3056 2.3069793629581111e-02 -1.4968995116384637e-02 1.0648281155553595e-02 +3046 -2.0460770227470892e-02 3.0144778758524836e-04 2.1317712207427685e-02 +188732 -1.8281144438483871e-03 -1.1261657685967043e-02 1.1561377925901985e-02 +3044 -5.9884526016642653e-03 3.3295170562367797e-03 -5.7072534228267519e-04 +3047 -4.5626331700614377e-04 3.0971491279442806e-03 -2.4029872771577656e-03 +3043 -4.4454572400557365e-03 -7.6632255493806955e-03 5.5714893931939251e-03 +3045 6.1822444895057284e-03 6.6714925326779974e-03 1.5853041589859675e-03 +101766 -2.1458444025968314e-02 -2.5444654112521999e-03 5.8443943342134635e-03 +101765 -5.0238024773627083e-03 5.6425955495419578e-04 1.5607573277286874e-03 +101768 1.3464094865409271e-02 2.4281015477592219e-02 5.3310699991396355e-03 +101770 -4.4451927612641729e-03 -2.7815717596421690e-02 -1.6333131847475500e-02 +101769 9.5556056066472259e-04 1.0579336291235283e-03 3.2876877431821908e-03 +101767 -1.3195206140247649e-03 2.8620575981464927e-03 6.9494145796683664e-03 +107227 -7.9393117929594109e-03 -2.6951728063767852e-03 -3.5504552957331117e-03 +108387 6.5062699201118646e-03 4.8334061939892101e-04 4.8677336839467985e-03 +108397 -7.8045605958057653e-03 1.2779059039902910e-02 1.0199245897299205e-02 +107217 1.0055130403876900e-02 -1.0465065338913601e-02 6.4885472073673246e-03 +107935 1.1211029199945733e-02 1.3279344243719089e-02 -8.1421545624445653e-03 +107933 -2.5074645215093297e-03 -3.3608116180463853e-02 -8.7759598361912446e-03 +107934 4.3630785569980599e-03 -7.3262449730214516e-03 -4.9702928323268390e-04 +107924 1.5858335103752397e-03 -6.4236616011150325e-03 -6.3145478319536832e-03 +107923 -1.1691114243010869e-02 -2.6132526052943480e-03 5.8259792906919282e-03 +107228 2.5723102304711070e-03 1.8969683778003933e-02 -4.1866716393140447e-03 +107936 -5.4678218513997355e-04 5.5669869175223568e-04 -4.3101055117239481e-02 +160479 3.4501662683352828e-02 2.9913518177340927e-04 -4.3250681509590140e-02 +107921 6.2983034191229420e-03 3.4484229430888137e-03 2.3049203849430143e-03 +107922 -3.3769140568511904e-03 1.8794033081416542e-02 -1.6496813943305891e-02 +107218 -3.0889032207105705e-03 2.3663544289661396e-04 -1.8121891586601914e-03 +108388 6.6752875665062488e-04 7.1838180565699144e-03 -3.3892317399802948e-03 +108399 1.3381268534931896e-02 -2.9088903387031562e-02 1.5490840830516450e-02 +108398 5.3504427431495241e-03 -8.4373535441966123e-04 1.7407361182703821e-03 +101776 -4.4229912609814771e-02 -1.2601183038357919e-02 1.0454766560285456e-03 +101775 -6.7661508494878475e-03 -2.0128944968707908e-02 1.3392250819698175e-03 +101774 8.8460616756493686e-03 -4.1840236079397560e-04 -4.5869622510927481e-03 +101764 -2.4616713101414359e-03 -1.8370176375787708e-03 2.4221242856289236e-03 +101773 1.9068324416344356e-02 -2.2416525675832060e-02 2.3631320938171878e-02 +101763 -4.6841884146008334e-03 -5.1533769491571239e-03 3.0773962394947921e-03 +101762 -4.6244612567492736e-03 -4.8907730218283561e-03 -2.4065994260735329e-03 +179272 -5.5640577174611121e-03 -8.0026913196123862e-03 9.1238863542354894e-03 +179270 -3.4663284666564950e-03 3.7327894844247110e-04 -1.8090164399996302e-02 +179271 -9.2512252325061984e-03 5.0292798915460612e-03 2.2087977951300956e-03 +65546 2.1022467060548392e-02 2.6012539191398815e-02 -4.0199199904540503e-02 +65548 -9.6925158665221688e-03 -7.6373757136848621e-03 -1.4022141632720348e-02 +101761 -2.4320225549836435e-03 1.7250815303594810e-03 9.0081186862997703e-04 +101771 -1.9996688975715249e-03 -5.6054082987894022e-03 4.5581765470880699e-03 +41339 3.1266677423361358e-03 5.9205052600478040e-03 -4.3339978463310851e-03 +41329 -9.8874045639901049e-04 -4.4750448363508602e-03 -3.4869981536843303e-03 +41343 -2.4016025797634774e-02 1.3175639791008605e-02 -4.6023020275273420e-02 +41342 -1.6716684647333912e-03 1.2459605567751943e-03 1.6068248832533532e-03 +41344 2.0325206636661194e-03 -3.0576895440245786e-03 1.1529498097307186e-02 +41330 2.5654903283602731e-02 2.3132228675317019e-02 1.1575874948668132e-02 +41341 -1.6553222660923881e-02 -1.1798485936730465e-02 -7.1873185555086112e-03 +41331 3.5346668585989967e-03 -2.0027759583546895e-03 -3.2889000031485196e-03 +41332 -2.5959229467918217e-03 -6.0602511790796782e-03 -9.3197710616591545e-03 +179276 1.1081427178681628e-02 1.6827323566739161e-02 -1.0299144743739620e-02 +108385 3.6564384223645233e-03 -4.9013600239771631e-04 1.3295156103955909e-03 +160480 -1.3803088794372316e-02 1.2219159767395200e-02 -1.3669800258940099e-03 +108386 4.1801973472378271e-03 -1.4647913911541162e-02 -1.6678122787186375e-02 +160478 3.8996210243085277e-03 6.7271423575770151e-03 -3.6784375058656509e-04 +160468 7.7419765741400326e-03 4.9138244434877576e-03 1.4031431499399972e-03 +160470 -6.2985622565362442e-03 7.4451997711637531e-03 2.8430316550356185e-02 +160472 -5.8383103703068037e-03 6.1929502851055824e-03 2.6819505985616384e-02 +160471 6.4540703717117969e-03 -8.0301907905106495e-03 3.8441043125357851e-03 +160469 -3.2190187970246821e-03 1.1026423392606606e-03 -6.4552121634166284e-03 +160473 -8.9124820567448894e-03 1.8453491165932152e-03 -5.5339629598225243e-03 +160476 4.3077321271397942e-03 -1.0514055910875600e-02 1.1874230774763071e-02 +160475 2.0892466118949786e-03 -4.5629240557269512e-03 2.9807140626559279e-03 +160465 -3.3040123862153868e-03 -6.4718982960261595e-03 1.5540054129147744e-03 +160466 -1.0482164269847657e-02 -4.2613706143882239e-03 -2.0407827062661702e-02 +160467 -2.0886745076283074e-03 7.3566125280433870e-03 -8.1361111572777461e-03 +150159 -9.3474335633482227e-03 6.8552724395616188e-03 3.0172635792791409e-02 +150160 -1.2395823331379360e-02 -1.8814096766422796e-02 -2.2588032834368797e-02 +179274 2.7142693103844345e-02 2.0981214151002650e-03 1.7741159681900803e-02 +179278 -4.7312726933158031e-03 -5.3735482175190251e-03 5.0258788007287686e-04 +179268 1.0476052676472475e-03 3.8663965130026762e-03 -5.2311881655905329e-03 +179266 1.5328249586214907e-03 -2.4374978186068715e-02 -1.2316372207153982e-02 +179280 2.0962579240811956e-02 -1.7552180709176319e-02 3.1310438513877256e-02 +179267 -2.9815916434868302e-03 3.3669678375885131e-03 -4.5604241127206076e-03 +179275 -3.4616159250607549e-03 -4.9052370217731742e-03 -5.9504393252170652e-03 +179265 -3.2638688398942024e-03 -2.8294419416218710e-03 9.7598020577956447e-03 +179269 -6.3820035949712006e-03 7.6268830685192008e-03 3.5859597533587175e-03 +179273 5.2814394103648347e-03 -2.6248694818828103e-03 -4.5226597201537379e-03 +179277 -1.2041210428484460e-03 -2.8617212529418956e-02 -6.1633779650706868e-03 +160477 1.0644756920882860e-02 1.1349322679914857e-03 8.4219222047503886e-03 +3050 -9.1677754946678826e-03 4.2780587837938129e-04 7.7954711472101390e-03 +3042 -9.5136449774802789e-03 -7.8088403318419732e-03 1.6481979622031205e-03 +3041 -4.2224554129104853e-03 -1.0046580459806016e-03 -1.2299765014357915e-02 +3049 3.3392704605801570e-03 3.2803849005614411e-04 -3.7962761566625422e-03 +3051 -1.4534919223640852e-03 1.6840179829874765e-03 -5.2689712045377035e-03 +3052 1.3121899362414865e-02 -6.1819078882882419e-03 -3.8070979101547178e-03 +179279 2.1031999741751132e-02 5.5208009434861991e-03 -4.0676368831269122e-03 +41338 1.4140591805763124e-02 -5.2322347712404904e-03 -1.2597608959408814e-02 +41336 2.9970177174658653e-02 -1.2564552612506892e-02 1.8546500897758786e-03 +41337 -1.0927245121297971e-03 -5.5983348471985855e-03 -2.6702824643818425e-04 +41335 3.8391554220007697e-03 4.9415840280308326e-03 3.8850792189150537e-04 +41333 -7.9995524811572705e-04 1.2714683204333441e-03 2.6878865364424981e-03 +41334 -8.1923367811546216e-04 3.8003884561477940e-03 -1.3493487265120480e-02 + +Bonds + +1 1 111365 111366 +2 2 111365 111367 +3 5 111364 111374 +4 4 111373 111364 +5 1 107223 107224 +6 2 107223 107225 +7 1 40599 40600 +8 2 40599 40601 +9 1 40597 40598 +10 2 40597 40599 +11 1 111367 111368 +12 2 111367 111369 +13 3 188723 188724 +14 2 188723 188725 +15 6 188736 188734 +16 6 41360 41358 +17 6 111375 111374 +18 6 41359 41358 +19 1 188725 188726 +20 2 188725 188727 +21 1 188729 188730 +22 2 188729 188731 +23 1 188727 188728 +24 2 188727 188729 +25 6 20160 20158 +26 5 20148 20158 +27 4 20157 20148 +28 1 41355 41356 +29 1 108389 108390 +30 2 108389 108391 +31 6 41327 41326 +32 6 41328 41326 +33 1 108391 108392 +34 2 108391 108393 +35 1 41353 41354 +36 2 41353 41355 +37 1 41351 41352 +38 2 41351 41353 +39 1 107221 107222 +40 2 107221 107223 +41 3 107219 107220 +42 2 107219 107221 +43 6 107232 107230 +44 1 41345 41346 +45 2 41345 41347 +46 2 41345 41355 +47 3 41347 41348 +48 2 41347 41349 +49 4 41357 41348 +50 5 41348 41358 +51 1 41349 41350 +52 2 41349 41351 +53 6 108400 108398 +54 5 107220 107230 +55 4 107229 107220 +56 6 65551 65550 +57 6 107231 107230 +58 1 148087 148088 +59 2 148087 148089 +60 1 148089 148090 +61 2 148089 148091 +62 1 40603 40604 +63 1 40601 40602 +64 2 40601 40603 +65 1 40593 40594 +66 2 40593 40595 +67 2 40593 40603 +68 3 40595 40596 +69 2 40595 40597 +70 5 41316 41326 +71 1 108393 108394 +72 2 108393 108395 +73 1 41313 41314 +74 2 41313 41315 +75 2 41313 41323 +76 1 108395 108396 +77 6 148096 148094 +78 6 148095 148094 +79 6 40608 40606 +80 6 40607 40606 +81 4 40605 40596 +82 5 40596 40606 +83 4 148093 148084 +84 5 148084 148094 +85 1 148085 148086 +86 2 148085 148087 +87 3 148083 148084 +88 2 148083 148085 +89 6 20159 20158 +90 1 148081 148082 +91 2 148081 148083 +92 2 148081 148091 +93 1 148091 148092 +94 3 111363 111364 +95 2 111363 111365 +96 1 111369 111370 +97 2 111369 111371 +98 1 111371 111372 +99 1 111361 111362 +100 2 111361 111363 +101 2 111361 111371 +102 6 43056 43054 +103 6 195807 195806 +104 6 195808 195806 +105 1 43041 43042 +106 2 43041 43043 +107 2 43041 43051 +108 3 43043 43044 +109 2 43043 43045 +110 6 43055 43054 +111 5 43044 43054 +112 1 150155 150156 +113 6 111376 111374 +114 1 150153 150154 +115 2 150153 150155 +116 1 150151 150152 +117 2 150151 150153 +118 4 43053 43044 +119 1 20155 20156 +120 1 20145 20146 +121 2 20145 20147 +122 2 20145 20155 +123 1 20149 20150 +124 2 20149 20151 +125 1 20153 20154 +126 2 20153 20155 +127 1 20151 20152 +128 2 20151 20153 +129 3 20147 20148 +130 2 20147 20149 +131 4 65549 65540 +132 1 107925 107926 +133 2 107925 107927 +134 1 107927 107928 +135 2 107927 107929 +136 1 107931 107932 +137 1 107929 107930 +138 2 107929 107931 +139 1 69385 69386 +140 2 69385 69387 +141 1 69387 69388 +142 3 69379 69380 +143 2 69379 69381 +144 1 69377 69378 +145 2 69377 69379 +146 2 69377 69387 +147 1 69383 69384 +148 2 69383 69385 +149 1 69381 69382 +150 2 69381 69383 +151 6 65552 65550 +152 5 65540 65550 +153 4 69389 69380 +154 5 69380 69390 +155 3 65539 65540 +156 2 65539 65541 +157 1 65543 65544 +158 2 65543 65545 +159 1 65541 65542 +160 2 65541 65543 +161 1 65545 65546 +162 2 65545 65547 +163 1 65547 65548 +164 1 65537 65538 +165 2 65537 65539 +166 2 65537 65547 +167 4 41325 41316 +168 1 41319 41320 +169 2 41319 41321 +170 1 41317 41318 +171 2 41317 41319 +172 3 41315 41316 +173 2 41315 41317 +174 4 195805 195796 +175 5 195796 195806 +176 3 195795 195796 +177 2 195795 195797 +178 1 41321 41322 +179 2 41321 41323 +180 1 41323 41324 +181 6 69392 69390 +182 1 150145 150146 +183 2 150145 150147 +184 2 150145 150155 +185 5 150148 150158 +186 3 150147 150148 +187 2 150147 150149 +188 4 150157 150148 +189 1 150149 150150 +190 2 150149 150151 +191 6 69391 69390 +192 1 195793 195794 +193 2 195793 195795 +194 2 195793 195803 +195 1 195803 195804 +196 1 195801 195802 +197 2 195801 195803 +198 1 195797 195798 +199 2 195797 195799 +200 1 195799 195800 +201 2 195799 195801 +202 1 107225 107226 +203 2 107225 107227 +204 1 43049 43050 +205 2 43049 43051 +206 1 43051 43052 +207 5 188724 188734 +208 4 188733 188724 +209 6 188735 188734 +210 1 43047 43048 +211 2 43047 43049 +212 1 43045 43046 +213 2 43045 43047 +214 4 3053 3044 +215 1 188721 188722 +216 2 188721 188723 +217 2 188721 188731 +218 6 3055 3054 +219 1 188731 188732 +220 6 3056 3054 +221 5 3044 3054 +222 1 3047 3048 +223 2 3047 3049 +224 3 3043 3044 +225 2 3043 3045 +226 1 3045 3046 +227 2 3045 3047 +228 1 101765 101766 +229 2 101765 101767 +230 1 101769 101770 +231 2 101769 101771 +232 1 101767 101768 +233 2 101767 101769 +234 1 107227 107228 +235 3 108387 108388 +236 2 108387 108389 +237 4 108397 108388 +238 1 107217 107218 +239 2 107217 107219 +240 2 107217 107227 +241 6 107935 107934 +242 4 107933 107924 +243 5 107924 107934 +244 3 107923 107924 +245 2 107923 107925 +246 6 107936 107934 +247 6 160479 160478 +248 1 107921 107922 +249 2 107921 107923 +250 2 107921 107931 +251 5 108388 108398 +252 6 108399 108398 +253 6 101776 101774 +254 6 101775 101774 +255 5 101764 101774 +256 4 101773 101764 +257 3 101763 101764 +258 2 101763 101765 +259 1 179271 179272 +260 2 179271 179273 +261 1 101761 101762 +262 2 101761 101763 +263 2 101761 101771 +264 1 101771 101772 +265 1 41339 41340 +266 1 41329 41330 +267 2 41329 41331 +268 2 41329 41339 +269 6 41343 41342 +270 6 41344 41342 +271 4 41341 41332 +272 3 41331 41332 +273 2 41331 41333 +274 5 41332 41342 +275 1 108385 108386 +276 2 108385 108387 +277 2 108385 108395 +278 6 160480 160478 +279 5 160468 160478 +280 1 160471 160472 +281 2 160471 160473 +282 1 160469 160470 +283 2 160469 160471 +284 1 160473 160474 +285 2 160473 160475 +286 1 160475 160476 +287 1 160465 160466 +288 2 160465 160467 +289 2 160465 160475 +290 3 160467 160468 +291 2 160467 160469 +292 6 150159 150158 +293 6 150160 150158 +294 5 179268 179278 +295 6 179280 179278 +296 3 179267 179268 +297 2 179267 179269 +298 1 179275 179276 +299 1 179265 179266 +300 2 179265 179267 +301 2 179265 179275 +302 1 179269 179270 +303 2 179269 179271 +304 1 179273 179274 +305 2 179273 179275 +306 4 179277 179268 +307 4 160477 160468 +308 1 3041 3042 +309 2 3041 3043 +310 2 3041 3051 +311 1 3049 3050 +312 2 3049 3051 +313 1 3051 3052 +314 6 179279 179278 +315 1 41337 41338 +316 2 41337 41339 +317 1 41335 41336 +318 2 41335 41337 +319 1 41333 41334 +320 2 41333 41335 + +Angles + +1 1 111363 111365 111366 +2 2 111363 111365 111367 +3 1 111367 111365 111366 +4 4 111363 111364 111373 +5 5 111363 111364 111374 +6 6 111373 111364 111374 +7 1 107221 107223 107224 +8 2 107221 107223 107225 +9 1 107225 107223 107224 +10 1 40597 40599 40600 +11 2 40597 40599 40601 +12 1 40601 40599 40600 +13 1 40595 40597 40598 +14 2 40595 40597 40599 +15 1 40599 40597 40598 +16 1 111365 111367 111368 +17 2 111365 111367 111369 +18 1 111369 111367 111368 +19 3 188721 188723 188724 +20 2 188721 188723 188725 +21 3 188725 188723 188724 +22 1 188723 188725 188726 +23 2 188723 188725 188727 +24 1 188727 188725 188726 +25 1 188727 188729 188730 +26 2 188727 188729 188731 +27 1 188731 188729 188730 +28 1 188725 188727 188728 +29 2 188725 188727 188729 +30 1 188729 188727 188728 +31 7 20159 20158 20148 +32 7 20160 20158 20148 +33 8 20159 20158 20160 +34 4 20147 20148 20157 +35 5 20147 20148 20158 +36 6 20157 20148 20158 +37 2 41345 41355 41353 +38 1 41345 41355 41356 +39 1 41353 41355 41356 +40 1 108387 108389 108390 +41 2 108387 108389 108391 +42 1 108391 108389 108390 +43 7 41327 41326 41316 +44 7 41328 41326 41316 +45 8 41327 41326 41328 +46 1 108389 108391 108392 +47 2 108389 108391 108393 +48 1 108393 108391 108392 +49 1 41351 41353 41354 +50 2 41351 41353 41355 +51 1 41355 41353 41354 +52 1 41349 41351 41352 +53 2 41349 41351 41353 +54 1 41353 41351 41352 +55 1 107219 107221 107222 +56 2 107219 107221 107223 +57 1 107223 107221 107222 +58 3 107217 107219 107220 +59 2 107217 107219 107221 +60 3 107221 107219 107220 +61 1 41347 41345 41346 +62 1 41355 41345 41346 +63 2 41347 41345 41355 +64 3 41345 41347 41348 +65 2 41345 41347 41349 +66 3 41349 41347 41348 +67 7 41359 41358 41348 +68 7 41360 41358 41348 +69 8 41359 41358 41360 +70 4 41347 41348 41357 +71 5 41347 41348 41358 +72 6 41357 41348 41358 +73 1 41347 41349 41350 +74 2 41347 41349 41351 +75 1 41351 41349 41350 +76 4 107219 107220 107229 +77 5 107219 107220 107230 +78 6 107229 107220 107230 +79 7 107231 107230 107220 +80 7 107232 107230 107220 +81 8 107231 107230 107232 +82 1 148085 148087 148088 +83 2 148085 148087 148089 +84 1 148089 148087 148088 +85 1 148087 148089 148090 +86 2 148087 148089 148091 +87 1 148091 148089 148090 +88 2 40593 40603 40601 +89 1 40593 40603 40604 +90 1 40601 40603 40604 +91 1 40599 40601 40602 +92 2 40599 40601 40603 +93 1 40603 40601 40602 +94 1 40595 40593 40594 +95 1 40603 40593 40594 +96 2 40595 40593 40603 +97 3 40593 40595 40596 +98 2 40593 40595 40597 +99 3 40597 40595 40596 +100 4 41315 41316 41325 +101 5 41315 41316 41326 +102 6 41325 41316 41326 +103 1 108391 108393 108394 +104 2 108391 108393 108395 +105 1 108395 108393 108394 +106 1 41315 41313 41314 +107 1 41323 41313 41314 +108 2 41315 41313 41323 +109 2 108385 108395 108393 +110 1 108385 108395 108396 +111 1 108393 108395 108396 +112 7 148095 148094 148084 +113 7 148096 148094 148084 +114 8 148095 148094 148096 +115 7 40607 40606 40596 +116 7 40608 40606 40596 +117 8 40607 40606 40608 +118 4 40595 40596 40605 +119 5 40595 40596 40606 +120 6 40605 40596 40606 +121 4 148083 148084 148093 +122 5 148083 148084 148094 +123 6 148093 148084 148094 +124 1 148083 148085 148086 +125 2 148083 148085 148087 +126 1 148087 148085 148086 +127 3 148081 148083 148084 +128 2 148081 148083 148085 +129 3 148085 148083 148084 +130 1 148083 148081 148082 +131 1 148091 148081 148082 +132 2 148083 148081 148091 +133 2 148081 148091 148089 +134 1 148081 148091 148092 +135 1 148089 148091 148092 +136 3 111361 111363 111364 +137 2 111361 111363 111365 +138 3 111365 111363 111364 +139 1 111367 111369 111370 +140 2 111367 111369 111371 +141 1 111371 111369 111370 +142 2 111361 111371 111369 +143 1 111361 111371 111372 +144 1 111369 111371 111372 +145 1 111363 111361 111362 +146 1 111371 111361 111362 +147 2 111363 111361 111371 +148 7 195807 195806 195796 +149 7 195808 195806 195796 +150 8 195807 195806 195808 +151 1 43043 43041 43042 +152 1 43051 43041 43042 +153 2 43043 43041 43051 +154 3 43041 43043 43044 +155 2 43041 43043 43045 +156 3 43045 43043 43044 +157 4 43043 43044 43053 +158 5 43043 43044 43054 +159 6 43053 43044 43054 +160 7 43055 43054 43044 +161 7 43056 43054 43044 +162 8 43055 43054 43056 +163 2 150145 150155 150153 +164 1 150145 150155 150156 +165 1 150153 150155 150156 +166 7 111375 111374 111364 +167 7 111376 111374 111364 +168 8 111375 111374 111376 +169 1 150151 150153 150154 +170 2 150151 150153 150155 +171 1 150155 150153 150154 +172 1 150149 150151 150152 +173 2 150149 150151 150153 +174 1 150153 150151 150152 +175 2 20145 20155 20153 +176 1 20145 20155 20156 +177 1 20153 20155 20156 +178 1 20147 20145 20146 +179 1 20155 20145 20146 +180 2 20147 20145 20155 +181 1 20147 20149 20150 +182 2 20147 20149 20151 +183 1 20151 20149 20150 +184 1 20151 20153 20154 +185 2 20151 20153 20155 +186 1 20155 20153 20154 +187 1 20149 20151 20152 +188 2 20149 20151 20153 +189 1 20153 20151 20152 +190 3 20145 20147 20148 +191 2 20145 20147 20149 +192 3 20149 20147 20148 +193 1 107923 107925 107926 +194 2 107923 107925 107927 +195 1 107927 107925 107926 +196 1 107925 107927 107928 +197 2 107925 107927 107929 +198 1 107929 107927 107928 +199 2 107921 107931 107929 +200 1 107921 107931 107932 +201 1 107929 107931 107932 +202 1 107927 107929 107930 +203 2 107927 107929 107931 +204 1 107931 107929 107930 +205 1 69383 69385 69386 +206 2 69383 69385 69387 +207 1 69387 69385 69386 +208 2 69377 69387 69385 +209 1 69377 69387 69388 +210 1 69385 69387 69388 +211 3 69377 69379 69380 +212 2 69377 69379 69381 +213 3 69381 69379 69380 +214 1 69379 69377 69378 +215 1 69387 69377 69378 +216 2 69379 69377 69387 +217 1 69381 69383 69384 +218 2 69381 69383 69385 +219 1 69385 69383 69384 +220 1 69379 69381 69382 +221 2 69379 69381 69383 +222 1 69383 69381 69382 +223 7 65551 65550 65540 +224 7 65552 65550 65540 +225 8 65551 65550 65552 +226 4 65539 65540 65549 +227 5 65539 65540 65550 +228 6 65549 65540 65550 +229 4 69379 69380 69389 +230 5 69379 69380 69390 +231 6 69389 69380 69390 +232 3 65537 65539 65540 +233 2 65537 65539 65541 +234 3 65541 65539 65540 +235 1 65541 65543 65544 +236 2 65541 65543 65545 +237 1 65545 65543 65544 +238 1 65539 65541 65542 +239 2 65539 65541 65543 +240 1 65543 65541 65542 +241 1 65543 65545 65546 +242 2 65543 65545 65547 +243 1 65547 65545 65546 +244 2 65537 65547 65545 +245 1 65537 65547 65548 +246 1 65545 65547 65548 +247 1 65539 65537 65538 +248 1 65547 65537 65538 +249 2 65539 65537 65547 +250 1 41317 41319 41320 +251 2 41317 41319 41321 +252 1 41321 41319 41320 +253 1 41315 41317 41318 +254 2 41315 41317 41319 +255 1 41319 41317 41318 +256 3 41313 41315 41316 +257 2 41313 41315 41317 +258 3 41317 41315 41316 +259 4 195795 195796 195805 +260 5 195795 195796 195806 +261 6 195805 195796 195806 +262 3 195793 195795 195796 +263 2 195793 195795 195797 +264 3 195797 195795 195796 +265 1 41319 41321 41322 +266 2 41319 41321 41323 +267 1 41323 41321 41322 +268 2 41313 41323 41321 +269 1 41313 41323 41324 +270 1 41321 41323 41324 +271 7 69391 69390 69380 +272 7 69392 69390 69380 +273 8 69391 69390 69392 +274 1 150147 150145 150146 +275 1 150155 150145 150146 +276 2 150147 150145 150155 +277 4 150147 150148 150157 +278 5 150147 150148 150158 +279 6 150157 150148 150158 +280 3 150145 150147 150148 +281 2 150145 150147 150149 +282 3 150149 150147 150148 +283 7 150159 150158 150148 +284 7 150160 150158 150148 +285 8 150159 150158 150160 +286 1 150147 150149 150150 +287 2 150147 150149 150151 +288 1 150151 150149 150150 +289 1 195795 195793 195794 +290 1 195803 195793 195794 +291 2 195795 195793 195803 +292 2 195793 195803 195801 +293 1 195793 195803 195804 +294 1 195801 195803 195804 +295 1 195799 195801 195802 +296 2 195799 195801 195803 +297 1 195803 195801 195802 +298 1 195795 195797 195798 +299 2 195795 195797 195799 +300 1 195799 195797 195798 +301 1 195797 195799 195800 +302 2 195797 195799 195801 +303 1 195801 195799 195800 +304 1 107223 107225 107226 +305 2 107223 107225 107227 +306 1 107227 107225 107226 +307 1 43047 43049 43050 +308 2 43047 43049 43051 +309 1 43051 43049 43050 +310 2 43041 43051 43049 +311 1 43041 43051 43052 +312 1 43049 43051 43052 +313 4 188723 188724 188733 +314 5 188723 188724 188734 +315 6 188733 188724 188734 +316 7 188735 188734 188724 +317 7 188736 188734 188724 +318 8 188735 188734 188736 +319 1 43045 43047 43048 +320 2 43045 43047 43049 +321 1 43049 43047 43048 +322 1 43043 43045 43046 +323 2 43043 43045 43047 +324 1 43047 43045 43046 +325 1 188723 188721 188722 +326 1 188731 188721 188722 +327 2 188723 188721 188731 +328 2 188721 188731 188729 +329 1 188721 188731 188732 +330 1 188729 188731 188732 +331 7 3055 3054 3044 +332 7 3056 3054 3044 +333 8 3055 3054 3056 +334 4 3043 3044 3053 +335 5 3043 3044 3054 +336 6 3053 3044 3054 +337 1 3045 3047 3048 +338 2 3045 3047 3049 +339 1 3049 3047 3048 +340 3 3041 3043 3044 +341 2 3041 3043 3045 +342 3 3045 3043 3044 +343 1 3043 3045 3046 +344 2 3043 3045 3047 +345 1 3047 3045 3046 +346 1 101763 101765 101766 +347 2 101763 101765 101767 +348 1 101767 101765 101766 +349 1 101767 101769 101770 +350 2 101767 101769 101771 +351 1 101771 101769 101770 +352 1 101765 101767 101768 +353 2 101765 101767 101769 +354 1 101769 101767 101768 +355 2 107217 107227 107225 +356 1 107217 107227 107228 +357 1 107225 107227 107228 +358 3 108385 108387 108388 +359 2 108385 108387 108389 +360 3 108389 108387 108388 +361 1 107219 107217 107218 +362 1 107227 107217 107218 +363 2 107219 107217 107227 +364 7 107935 107934 107924 +365 7 107936 107934 107924 +366 8 107935 107934 107936 +367 4 107923 107924 107933 +368 5 107923 107924 107934 +369 6 107933 107924 107934 +370 3 107921 107923 107924 +371 2 107921 107923 107925 +372 3 107925 107923 107924 +373 1 107923 107921 107922 +374 1 107931 107921 107922 +375 2 107923 107921 107931 +376 4 108387 108388 108397 +377 5 108387 108388 108398 +378 6 108397 108388 108398 +379 7 108399 108398 108388 +380 7 108400 108398 108388 +381 8 108399 108398 108400 +382 7 101775 101774 101764 +383 7 101776 101774 101764 +384 8 101775 101774 101776 +385 4 101763 101764 101773 +386 5 101763 101764 101774 +387 6 101773 101764 101774 +388 3 101761 101763 101764 +389 2 101761 101763 101765 +390 3 101765 101763 101764 +391 1 179269 179271 179272 +392 2 179269 179271 179273 +393 1 179273 179271 179272 +394 1 101763 101761 101762 +395 1 101771 101761 101762 +396 2 101763 101761 101771 +397 2 101761 101771 101769 +398 1 101761 101771 101772 +399 1 101769 101771 101772 +400 2 41329 41339 41337 +401 1 41329 41339 41340 +402 1 41337 41339 41340 +403 1 41331 41329 41330 +404 1 41339 41329 41330 +405 2 41331 41329 41339 +406 7 41343 41342 41332 +407 7 41344 41342 41332 +408 8 41343 41342 41344 +409 3 41329 41331 41332 +410 2 41329 41331 41333 +411 3 41333 41331 41332 +412 4 41331 41332 41341 +413 5 41331 41332 41342 +414 6 41341 41332 41342 +415 1 108387 108385 108386 +416 1 108395 108385 108386 +417 2 108387 108385 108395 +418 7 160479 160478 160468 +419 7 160480 160478 160468 +420 8 160479 160478 160480 +421 4 160467 160468 160477 +422 5 160467 160468 160478 +423 6 160477 160468 160478 +424 1 160469 160471 160472 +425 2 160469 160471 160473 +426 1 160473 160471 160472 +427 1 160467 160469 160470 +428 2 160467 160469 160471 +429 1 160471 160469 160470 +430 1 160471 160473 160474 +431 2 160471 160473 160475 +432 1 160475 160473 160474 +433 2 160465 160475 160473 +434 1 160465 160475 160476 +435 1 160473 160475 160476 +436 1 160467 160465 160466 +437 1 160475 160465 160466 +438 2 160467 160465 160475 +439 3 160465 160467 160468 +440 2 160465 160467 160469 +441 3 160469 160467 160468 +442 7 179279 179278 179268 +443 7 179280 179278 179268 +444 8 179279 179278 179280 +445 4 179267 179268 179277 +446 5 179267 179268 179278 +447 6 179277 179268 179278 +448 3 179265 179267 179268 +449 2 179265 179267 179269 +450 3 179269 179267 179268 +451 2 179265 179275 179273 +452 1 179265 179275 179276 +453 1 179273 179275 179276 +454 1 179267 179265 179266 +455 1 179275 179265 179266 +456 2 179267 179265 179275 +457 1 179267 179269 179270 +458 2 179267 179269 179271 +459 1 179271 179269 179270 +460 1 179271 179273 179274 +461 2 179271 179273 179275 +462 1 179275 179273 179274 +463 1 3043 3041 3042 +464 1 3051 3041 3042 +465 2 3043 3041 3051 +466 1 3047 3049 3050 +467 2 3047 3049 3051 +468 1 3051 3049 3050 +469 2 3041 3051 3049 +470 1 3041 3051 3052 +471 1 3049 3051 3052 +472 1 41335 41337 41338 +473 2 41335 41337 41339 +474 1 41339 41337 41338 +475 1 41333 41335 41336 +476 2 41333 41335 41337 +477 1 41337 41335 41336 +478 1 41331 41333 41334 +479 2 41331 41333 41335 +480 1 41335 41333 41334 + +Dihedrals + +1 1 111366 111365 111363 111364 +2 3 111367 111365 111363 111364 +3 2 111363 111365 111367 111368 +4 4 111363 111365 111367 111369 +5 5 111366 111365 111367 111368 +6 8 111363 111364 111374 111375 +7 8 111363 111364 111374 111376 +8 9 111373 111364 111374 111375 +9 9 111373 111364 111374 111376 +10 2 107225 107223 107221 107222 +11 2 107221 107223 107225 107226 +12 4 107221 107223 107225 107227 +13 5 107224 107223 107225 107226 +14 2 40601 40599 40597 40598 +15 2 40597 40599 40601 40602 +16 4 40597 40599 40601 40603 +17 5 40600 40599 40601 40602 +18 1 40598 40597 40595 40596 +19 3 40599 40597 40595 40596 +20 2 40595 40597 40599 40600 +21 4 40595 40597 40599 40601 +22 5 40598 40597 40599 40600 +23 2 111369 111367 111365 111366 +24 2 111365 111367 111369 111370 +25 4 111365 111367 111369 111371 +26 5 111368 111367 111369 111370 +27 2 188725 188723 188721 188722 +28 6 188721 188723 188724 188733 +29 7 188721 188723 188724 188734 +30 6 188725 188723 188724 188733 +31 7 188725 188723 188724 188734 +32 2 188721 188723 188725 188726 +33 4 188721 188723 188725 188727 +34 1 188726 188725 188723 188724 +35 3 188727 188725 188723 188724 +36 2 188723 188725 188727 188728 +37 4 188723 188725 188727 188729 +38 5 188726 188725 188727 188728 +39 2 188731 188729 188727 188728 +40 4 188727 188729 188731 188721 +41 2 188727 188729 188731 188732 +42 5 188730 188729 188731 188732 +43 2 188729 188727 188725 188726 +44 2 188725 188727 188729 188730 +45 4 188725 188727 188729 188731 +46 5 188728 188727 188729 188730 +47 8 20147 20148 20158 20159 +48 8 20147 20148 20158 20160 +49 9 20157 20148 20158 20159 +50 9 20157 20148 20158 20160 +51 2 41353 41355 41345 41346 +52 2 41345 41355 41353 41354 +53 1 108390 108389 108387 108388 +54 3 108391 108389 108387 108388 +55 2 108387 108389 108391 108392 +56 4 108387 108389 108391 108393 +57 5 108390 108389 108391 108392 +58 2 108393 108391 108389 108390 +59 2 108389 108391 108393 108394 +60 4 108389 108391 108393 108395 +61 5 108392 108391 108393 108394 +62 2 41355 41353 41351 41352 +63 4 41351 41353 41355 41345 +64 2 41351 41353 41355 41356 +65 5 41354 41353 41355 41356 +66 2 41353 41351 41349 41350 +67 2 41349 41351 41353 41354 +68 4 41349 41351 41353 41355 +69 5 41352 41351 41353 41354 +70 1 107222 107221 107219 107220 +71 3 107223 107221 107219 107220 +72 2 107219 107221 107223 107224 +73 4 107219 107221 107223 107225 +74 5 107222 107221 107223 107224 +75 2 107221 107219 107217 107218 +76 6 107217 107219 107220 107229 +77 7 107217 107219 107220 107230 +78 6 107221 107219 107220 107229 +79 7 107221 107219 107220 107230 +80 2 107217 107219 107221 107222 +81 4 107217 107219 107221 107223 +82 1 41346 41345 41347 41348 +83 3 41355 41345 41347 41348 +84 4 41355 41345 41347 41349 +85 5 41346 41345 41355 41356 +86 4 41347 41345 41355 41353 +87 2 41347 41345 41355 41356 +88 2 41349 41347 41345 41346 +89 6 41345 41347 41348 41357 +90 7 41345 41347 41348 41358 +91 6 41349 41347 41348 41357 +92 7 41349 41347 41348 41358 +93 2 41345 41347 41349 41350 +94 4 41345 41347 41349 41351 +95 8 41347 41348 41358 41359 +96 8 41347 41348 41358 41360 +97 9 41357 41348 41358 41359 +98 9 41357 41348 41358 41360 +99 1 41350 41349 41347 41348 +100 3 41351 41349 41347 41348 +101 2 41347 41349 41351 41352 +102 4 41347 41349 41351 41353 +103 5 41350 41349 41351 41352 +104 8 107219 107220 107230 107231 +105 8 107219 107220 107230 107232 +106 9 107229 107220 107230 107231 +107 9 107229 107220 107230 107232 +108 2 148089 148087 148085 148086 +109 2 148085 148087 148089 148090 +110 4 148085 148087 148089 148091 +111 5 148088 148087 148089 148090 +112 2 148091 148089 148087 148088 +113 4 148087 148089 148091 148081 +114 2 148087 148089 148091 148092 +115 5 148090 148089 148091 148092 +116 2 40601 40603 40593 40594 +117 2 40593 40603 40601 40602 +118 2 40603 40601 40599 40600 +119 4 40599 40601 40603 40593 +120 2 40599 40601 40603 40604 +121 5 40602 40601 40603 40604 +122 1 40594 40593 40595 40596 +123 3 40603 40593 40595 40596 +124 4 40603 40593 40595 40597 +125 5 40594 40593 40603 40604 +126 4 40595 40593 40603 40601 +127 2 40595 40593 40603 40604 +128 2 40597 40595 40593 40594 +129 6 40593 40595 40596 40605 +130 7 40593 40595 40596 40606 +131 6 40597 40595 40596 40605 +132 7 40597 40595 40596 40606 +133 2 40593 40595 40597 40598 +134 4 40593 40595 40597 40599 +135 8 41315 41316 41326 41327 +136 8 41315 41316 41326 41328 +137 9 41325 41316 41326 41327 +138 9 41325 41316 41326 41328 +139 2 108395 108393 108391 108392 +140 4 108391 108393 108395 108385 +141 2 108391 108393 108395 108396 +142 5 108394 108393 108395 108396 +143 1 41314 41313 41315 41316 +144 3 41323 41313 41315 41316 +145 4 41323 41313 41315 41317 +146 5 41314 41313 41323 41324 +147 4 41315 41313 41323 41321 +148 2 41315 41313 41323 41324 +149 2 108393 108395 108385 108386 +150 2 108385 108395 108393 108394 +151 8 40595 40596 40606 40607 +152 8 40595 40596 40606 40608 +153 9 40605 40596 40606 40607 +154 9 40605 40596 40606 40608 +155 8 148083 148084 148094 148095 +156 8 148083 148084 148094 148096 +157 9 148093 148084 148094 148095 +158 9 148093 148084 148094 148096 +159 1 148086 148085 148083 148084 +160 3 148087 148085 148083 148084 +161 2 148083 148085 148087 148088 +162 4 148083 148085 148087 148089 +163 5 148086 148085 148087 148088 +164 2 148085 148083 148081 148082 +165 6 148081 148083 148084 148093 +166 7 148081 148083 148084 148094 +167 6 148085 148083 148084 148093 +168 7 148085 148083 148084 148094 +169 2 148081 148083 148085 148086 +170 4 148081 148083 148085 148087 +171 1 148082 148081 148083 148084 +172 3 148091 148081 148083 148084 +173 4 148091 148081 148083 148085 +174 5 148082 148081 148091 148092 +175 4 148083 148081 148091 148089 +176 2 148083 148081 148091 148092 +177 2 148089 148091 148081 148082 +178 2 148081 148091 148089 148090 +179 2 111365 111363 111361 111362 +180 6 111361 111363 111364 111373 +181 7 111361 111363 111364 111374 +182 6 111365 111363 111364 111373 +183 7 111365 111363 111364 111374 +184 2 111361 111363 111365 111366 +185 4 111361 111363 111365 111367 +186 2 111371 111369 111367 111368 +187 4 111367 111369 111371 111361 +188 2 111367 111369 111371 111372 +189 5 111370 111369 111371 111372 +190 2 111369 111371 111361 111362 +191 2 111361 111371 111369 111370 +192 1 111362 111361 111363 111364 +193 3 111371 111361 111363 111364 +194 4 111371 111361 111363 111365 +195 5 111362 111361 111371 111372 +196 4 111363 111361 111371 111369 +197 2 111363 111361 111371 111372 +198 1 43042 43041 43043 43044 +199 3 43051 43041 43043 43044 +200 4 43051 43041 43043 43045 +201 5 43042 43041 43051 43052 +202 4 43043 43041 43051 43049 +203 2 43043 43041 43051 43052 +204 2 43045 43043 43041 43042 +205 6 43041 43043 43044 43053 +206 7 43041 43043 43044 43054 +207 6 43045 43043 43044 43053 +208 7 43045 43043 43044 43054 +209 2 43041 43043 43045 43046 +210 4 43041 43043 43045 43047 +211 8 43043 43044 43054 43055 +212 8 43043 43044 43054 43056 +213 9 43053 43044 43054 43055 +214 9 43053 43044 43054 43056 +215 2 150153 150155 150145 150146 +216 2 150145 150155 150153 150154 +217 2 150155 150153 150151 150152 +218 4 150151 150153 150155 150145 +219 2 150151 150153 150155 150156 +220 5 150154 150153 150155 150156 +221 2 150153 150151 150149 150150 +222 2 150149 150151 150153 150154 +223 4 150149 150151 150153 150155 +224 5 150152 150151 150153 150154 +225 2 20153 20155 20145 20146 +226 2 20145 20155 20153 20154 +227 1 20146 20145 20147 20148 +228 3 20155 20145 20147 20148 +229 4 20155 20145 20147 20149 +230 5 20146 20145 20155 20156 +231 4 20147 20145 20155 20153 +232 2 20147 20145 20155 20156 +233 1 20150 20149 20147 20148 +234 3 20151 20149 20147 20148 +235 2 20147 20149 20151 20152 +236 4 20147 20149 20151 20153 +237 5 20150 20149 20151 20152 +238 2 20155 20153 20151 20152 +239 4 20151 20153 20155 20145 +240 2 20151 20153 20155 20156 +241 5 20154 20153 20155 20156 +242 2 20153 20151 20149 20150 +243 2 20149 20151 20153 20154 +244 4 20149 20151 20153 20155 +245 5 20152 20151 20153 20154 +246 2 20149 20147 20145 20146 +247 6 20145 20147 20148 20157 +248 7 20145 20147 20148 20158 +249 6 20149 20147 20148 20157 +250 7 20149 20147 20148 20158 +251 2 20145 20147 20149 20150 +252 4 20145 20147 20149 20151 +253 1 107926 107925 107923 107924 +254 3 107927 107925 107923 107924 +255 2 107923 107925 107927 107928 +256 4 107923 107925 107927 107929 +257 5 107926 107925 107927 107928 +258 2 107929 107927 107925 107926 +259 2 107925 107927 107929 107930 +260 4 107925 107927 107929 107931 +261 5 107928 107927 107929 107930 +262 2 107929 107931 107921 107922 +263 2 107921 107931 107929 107930 +264 2 107931 107929 107927 107928 +265 4 107927 107929 107931 107921 +266 2 107927 107929 107931 107932 +267 5 107930 107929 107931 107932 +268 2 69387 69385 69383 69384 +269 4 69383 69385 69387 69377 +270 2 69383 69385 69387 69388 +271 5 69386 69385 69387 69388 +272 2 69385 69387 69377 69378 +273 2 69377 69387 69385 69386 +274 2 69381 69379 69377 69378 +275 6 69377 69379 69380 69389 +276 7 69377 69379 69380 69390 +277 6 69381 69379 69380 69389 +278 7 69381 69379 69380 69390 +279 2 69377 69379 69381 69382 +280 4 69377 69379 69381 69383 +281 1 69378 69377 69379 69380 +282 3 69387 69377 69379 69380 +283 4 69387 69377 69379 69381 +284 5 69378 69377 69387 69388 +285 4 69379 69377 69387 69385 +286 2 69379 69377 69387 69388 +287 2 69385 69383 69381 69382 +288 2 69381 69383 69385 69386 +289 4 69381 69383 69385 69387 +290 5 69384 69383 69385 69386 +291 1 69382 69381 69379 69380 +292 3 69383 69381 69379 69380 +293 2 69379 69381 69383 69384 +294 4 69379 69381 69383 69385 +295 5 69382 69381 69383 69384 +296 8 65539 65540 65550 65551 +297 8 65539 65540 65550 65552 +298 9 65549 65540 65550 65551 +299 9 65549 65540 65550 65552 +300 8 69379 69380 69390 69391 +301 8 69379 69380 69390 69392 +302 9 69389 69380 69390 69391 +303 9 69389 69380 69390 69392 +304 2 65541 65539 65537 65538 +305 6 65537 65539 65540 65549 +306 7 65537 65539 65540 65550 +307 6 65541 65539 65540 65549 +308 7 65541 65539 65540 65550 +309 2 65537 65539 65541 65542 +310 4 65537 65539 65541 65543 +311 2 65545 65543 65541 65542 +312 2 65541 65543 65545 65546 +313 4 65541 65543 65545 65547 +314 5 65544 65543 65545 65546 +315 1 65542 65541 65539 65540 +316 3 65543 65541 65539 65540 +317 2 65539 65541 65543 65544 +318 4 65539 65541 65543 65545 +319 5 65542 65541 65543 65544 +320 2 65547 65545 65543 65544 +321 4 65543 65545 65547 65537 +322 2 65543 65545 65547 65548 +323 5 65546 65545 65547 65548 +324 2 65545 65547 65537 65538 +325 2 65537 65547 65545 65546 +326 1 65538 65537 65539 65540 +327 3 65547 65537 65539 65540 +328 4 65547 65537 65539 65541 +329 5 65538 65537 65547 65548 +330 4 65539 65537 65547 65545 +331 2 65539 65537 65547 65548 +332 2 41321 41319 41317 41318 +333 2 41317 41319 41321 41322 +334 4 41317 41319 41321 41323 +335 5 41320 41319 41321 41322 +336 1 41318 41317 41315 41316 +337 3 41319 41317 41315 41316 +338 2 41315 41317 41319 41320 +339 4 41315 41317 41319 41321 +340 5 41318 41317 41319 41320 +341 2 41317 41315 41313 41314 +342 6 41313 41315 41316 41325 +343 7 41313 41315 41316 41326 +344 6 41317 41315 41316 41325 +345 7 41317 41315 41316 41326 +346 2 41313 41315 41317 41318 +347 4 41313 41315 41317 41319 +348 8 195795 195796 195806 195807 +349 8 195795 195796 195806 195808 +350 9 195805 195796 195806 195807 +351 9 195805 195796 195806 195808 +352 2 195797 195795 195793 195794 +353 6 195793 195795 195796 195805 +354 7 195793 195795 195796 195806 +355 6 195797 195795 195796 195805 +356 7 195797 195795 195796 195806 +357 2 195793 195795 195797 195798 +358 4 195793 195795 195797 195799 +359 2 41323 41321 41319 41320 +360 4 41319 41321 41323 41313 +361 2 41319 41321 41323 41324 +362 5 41322 41321 41323 41324 +363 2 41321 41323 41313 41314 +364 2 41313 41323 41321 41322 +365 1 150146 150145 150147 150148 +366 3 150155 150145 150147 150148 +367 4 150155 150145 150147 150149 +368 5 150146 150145 150155 150156 +369 4 150147 150145 150155 150153 +370 2 150147 150145 150155 150156 +371 8 150147 150148 150158 150159 +372 8 150147 150148 150158 150160 +373 9 150157 150148 150158 150159 +374 9 150157 150148 150158 150160 +375 2 150149 150147 150145 150146 +376 6 150145 150147 150148 150157 +377 7 150145 150147 150148 150158 +378 6 150149 150147 150148 150157 +379 7 150149 150147 150148 150158 +380 2 150145 150147 150149 150150 +381 4 150145 150147 150149 150151 +382 1 150150 150149 150147 150148 +383 3 150151 150149 150147 150148 +384 2 150147 150149 150151 150152 +385 4 150147 150149 150151 150153 +386 5 150150 150149 150151 150152 +387 1 195794 195793 195795 195796 +388 3 195803 195793 195795 195796 +389 4 195803 195793 195795 195797 +390 5 195794 195793 195803 195804 +391 4 195795 195793 195803 195801 +392 2 195795 195793 195803 195804 +393 2 195801 195803 195793 195794 +394 2 195793 195803 195801 195802 +395 2 195803 195801 195799 195800 +396 4 195799 195801 195803 195793 +397 2 195799 195801 195803 195804 +398 5 195802 195801 195803 195804 +399 1 195798 195797 195795 195796 +400 3 195799 195797 195795 195796 +401 2 195795 195797 195799 195800 +402 4 195795 195797 195799 195801 +403 5 195798 195797 195799 195800 +404 2 195801 195799 195797 195798 +405 2 195797 195799 195801 195802 +406 4 195797 195799 195801 195803 +407 5 195800 195799 195801 195802 +408 2 107227 107225 107223 107224 +409 4 107223 107225 107227 107217 +410 2 107223 107225 107227 107228 +411 5 107226 107225 107227 107228 +412 2 43051 43049 43047 43048 +413 4 43047 43049 43051 43041 +414 2 43047 43049 43051 43052 +415 5 43050 43049 43051 43052 +416 2 43049 43051 43041 43042 +417 2 43041 43051 43049 43050 +418 8 188723 188724 188734 188735 +419 8 188723 188724 188734 188736 +420 9 188733 188724 188734 188735 +421 9 188733 188724 188734 188736 +422 2 43049 43047 43045 43046 +423 2 43045 43047 43049 43050 +424 4 43045 43047 43049 43051 +425 5 43048 43047 43049 43050 +426 1 43046 43045 43043 43044 +427 3 43047 43045 43043 43044 +428 2 43043 43045 43047 43048 +429 4 43043 43045 43047 43049 +430 5 43046 43045 43047 43048 +431 1 188722 188721 188723 188724 +432 3 188731 188721 188723 188724 +433 4 188731 188721 188723 188725 +434 5 188722 188721 188731 188732 +435 4 188723 188721 188731 188729 +436 2 188723 188721 188731 188732 +437 2 188729 188731 188721 188722 +438 2 188721 188731 188729 188730 +439 8 3043 3044 3054 3055 +440 8 3043 3044 3054 3056 +441 9 3053 3044 3054 3055 +442 9 3053 3044 3054 3056 +443 2 3049 3047 3045 3046 +444 2 3045 3047 3049 3050 +445 4 3045 3047 3049 3051 +446 5 3048 3047 3049 3050 +447 2 3045 3043 3041 3042 +448 6 3041 3043 3044 3053 +449 7 3041 3043 3044 3054 +450 6 3045 3043 3044 3053 +451 7 3045 3043 3044 3054 +452 2 3041 3043 3045 3046 +453 4 3041 3043 3045 3047 +454 1 3046 3045 3043 3044 +455 3 3047 3045 3043 3044 +456 2 3043 3045 3047 3048 +457 4 3043 3045 3047 3049 +458 5 3046 3045 3047 3048 +459 1 101766 101765 101763 101764 +460 3 101767 101765 101763 101764 +461 2 101763 101765 101767 101768 +462 4 101763 101765 101767 101769 +463 5 101766 101765 101767 101768 +464 2 101771 101769 101767 101768 +465 4 101767 101769 101771 101761 +466 2 101767 101769 101771 101772 +467 5 101770 101769 101771 101772 +468 2 101769 101767 101765 101766 +469 2 101765 101767 101769 101770 +470 4 101765 101767 101769 101771 +471 5 101768 101767 101769 101770 +472 2 107225 107227 107217 107218 +473 2 107217 107227 107225 107226 +474 2 108389 108387 108385 108386 +475 6 108385 108387 108388 108397 +476 7 108385 108387 108388 108398 +477 6 108389 108387 108388 108397 +478 7 108389 108387 108388 108398 +479 2 108385 108387 108389 108390 +480 4 108385 108387 108389 108391 +481 1 107218 107217 107219 107220 +482 3 107227 107217 107219 107220 +483 4 107227 107217 107219 107221 +484 5 107218 107217 107227 107228 +485 4 107219 107217 107227 107225 +486 2 107219 107217 107227 107228 +487 8 107923 107924 107934 107935 +488 8 107923 107924 107934 107936 +489 9 107933 107924 107934 107935 +490 9 107933 107924 107934 107936 +491 2 107925 107923 107921 107922 +492 6 107921 107923 107924 107933 +493 7 107921 107923 107924 107934 +494 6 107925 107923 107924 107933 +495 7 107925 107923 107924 107934 +496 2 107921 107923 107925 107926 +497 4 107921 107923 107925 107927 +498 1 107922 107921 107923 107924 +499 3 107931 107921 107923 107924 +500 4 107931 107921 107923 107925 +501 5 107922 107921 107931 107932 +502 4 107923 107921 107931 107929 +503 2 107923 107921 107931 107932 +504 8 108387 108388 108398 108399 +505 8 108387 108388 108398 108400 +506 9 108397 108388 108398 108399 +507 9 108397 108388 108398 108400 +508 8 101763 101764 101774 101775 +509 8 101763 101764 101774 101776 +510 9 101773 101764 101774 101775 +511 9 101773 101764 101774 101776 +512 2 101765 101763 101761 101762 +513 6 101761 101763 101764 101773 +514 7 101761 101763 101764 101774 +515 6 101765 101763 101764 101773 +516 7 101765 101763 101764 101774 +517 2 101761 101763 101765 101766 +518 4 101761 101763 101765 101767 +519 2 179273 179271 179269 179270 +520 2 179269 179271 179273 179274 +521 4 179269 179271 179273 179275 +522 5 179272 179271 179273 179274 +523 1 101762 101761 101763 101764 +524 3 101771 101761 101763 101764 +525 4 101771 101761 101763 101765 +526 5 101762 101761 101771 101772 +527 4 101763 101761 101771 101769 +528 2 101763 101761 101771 101772 +529 2 101769 101771 101761 101762 +530 2 101761 101771 101769 101770 +531 2 41337 41339 41329 41330 +532 2 41329 41339 41337 41338 +533 1 41330 41329 41331 41332 +534 3 41339 41329 41331 41332 +535 4 41339 41329 41331 41333 +536 5 41330 41329 41339 41340 +537 4 41331 41329 41339 41337 +538 2 41331 41329 41339 41340 +539 2 41333 41331 41329 41330 +540 6 41329 41331 41332 41341 +541 7 41329 41331 41332 41342 +542 6 41333 41331 41332 41341 +543 7 41333 41331 41332 41342 +544 2 41329 41331 41333 41334 +545 4 41329 41331 41333 41335 +546 8 41331 41332 41342 41343 +547 8 41331 41332 41342 41344 +548 9 41341 41332 41342 41343 +549 9 41341 41332 41342 41344 +550 1 108386 108385 108387 108388 +551 3 108395 108385 108387 108388 +552 4 108395 108385 108387 108389 +553 5 108386 108385 108395 108396 +554 4 108387 108385 108395 108393 +555 2 108387 108385 108395 108396 +556 8 160467 160468 160478 160479 +557 8 160467 160468 160478 160480 +558 9 160477 160468 160478 160479 +559 9 160477 160468 160478 160480 +560 2 160473 160471 160469 160470 +561 2 160469 160471 160473 160474 +562 4 160469 160471 160473 160475 +563 5 160472 160471 160473 160474 +564 1 160470 160469 160467 160468 +565 3 160471 160469 160467 160468 +566 2 160467 160469 160471 160472 +567 4 160467 160469 160471 160473 +568 5 160470 160469 160471 160472 +569 2 160475 160473 160471 160472 +570 4 160471 160473 160475 160465 +571 2 160471 160473 160475 160476 +572 5 160474 160473 160475 160476 +573 2 160473 160475 160465 160466 +574 2 160465 160475 160473 160474 +575 1 160466 160465 160467 160468 +576 3 160475 160465 160467 160468 +577 4 160475 160465 160467 160469 +578 5 160466 160465 160475 160476 +579 4 160467 160465 160475 160473 +580 2 160467 160465 160475 160476 +581 2 160469 160467 160465 160466 +582 6 160465 160467 160468 160477 +583 7 160465 160467 160468 160478 +584 6 160469 160467 160468 160477 +585 7 160469 160467 160468 160478 +586 2 160465 160467 160469 160470 +587 4 160465 160467 160469 160471 +588 8 179267 179268 179278 179279 +589 8 179267 179268 179278 179280 +590 9 179277 179268 179278 179279 +591 9 179277 179268 179278 179280 +592 2 179269 179267 179265 179266 +593 6 179265 179267 179268 179277 +594 7 179265 179267 179268 179278 +595 6 179269 179267 179268 179277 +596 7 179269 179267 179268 179278 +597 2 179265 179267 179269 179270 +598 4 179265 179267 179269 179271 +599 2 179273 179275 179265 179266 +600 2 179265 179275 179273 179274 +601 1 179266 179265 179267 179268 +602 3 179275 179265 179267 179268 +603 4 179275 179265 179267 179269 +604 5 179266 179265 179275 179276 +605 4 179267 179265 179275 179273 +606 2 179267 179265 179275 179276 +607 1 179270 179269 179267 179268 +608 3 179271 179269 179267 179268 +609 2 179267 179269 179271 179272 +610 4 179267 179269 179271 179273 +611 5 179270 179269 179271 179272 +612 2 179275 179273 179271 179272 +613 4 179271 179273 179275 179265 +614 2 179271 179273 179275 179276 +615 5 179274 179273 179275 179276 +616 1 3042 3041 3043 3044 +617 3 3051 3041 3043 3044 +618 4 3051 3041 3043 3045 +619 5 3042 3041 3051 3052 +620 4 3043 3041 3051 3049 +621 2 3043 3041 3051 3052 +622 2 3051 3049 3047 3048 +623 4 3047 3049 3051 3041 +624 2 3047 3049 3051 3052 +625 5 3050 3049 3051 3052 +626 2 3049 3051 3041 3042 +627 2 3041 3051 3049 3050 +628 2 41339 41337 41335 41336 +629 4 41335 41337 41339 41329 +630 2 41335 41337 41339 41340 +631 5 41338 41337 41339 41340 +632 2 41337 41335 41333 41334 +633 2 41333 41335 41337 41338 +634 4 41333 41335 41337 41339 +635 5 41336 41335 41337 41338 +636 1 41334 41333 41331 41332 +637 3 41335 41333 41331 41332 +638 2 41331 41333 41335 41336 +639 4 41331 41333 41335 41337 +640 5 41334 41333 41335 41336 + +Impropers + +1 1 111363 111365 111367 111366 +2 3 111363 111364 111373 111374 +3 1 107221 107223 107225 107224 +4 1 40597 40599 40601 40600 +5 1 40595 40597 40599 40598 +6 1 111365 111367 111369 111368 +7 2 188721 188723 188725 188724 +8 1 188723 188725 188727 188726 +9 1 188727 188729 188731 188730 +10 1 188725 188727 188729 188728 +11 4 20159 20158 20160 20148 +12 3 20147 20148 20157 20158 +13 1 41345 41355 41353 41356 +14 1 108387 108389 108391 108390 +15 4 41327 41326 41328 41316 +16 1 108389 108391 108393 108392 +17 1 41351 41353 41355 41354 +18 1 41349 41351 41353 41352 +19 1 107219 107221 107223 107222 +20 2 107217 107219 107221 107220 +21 1 41347 41345 41355 41346 +22 2 41345 41347 41349 41348 +23 4 41359 41358 41360 41348 +24 3 41347 41348 41357 41358 +25 1 41347 41349 41351 41350 +26 3 107219 107220 107229 107230 +27 4 107231 107230 107232 107220 +28 1 148085 148087 148089 148088 +29 1 148087 148089 148091 148090 +30 1 40593 40603 40601 40604 +31 1 40599 40601 40603 40602 +32 1 40595 40593 40603 40594 +33 2 40593 40595 40597 40596 +34 3 41315 41316 41325 41326 +35 1 108391 108393 108395 108394 +36 1 41315 41313 41323 41314 +37 1 108385 108395 108393 108396 +38 4 148095 148094 148096 148084 +39 4 40607 40606 40608 40596 +40 3 40595 40596 40605 40606 +41 3 148083 148084 148093 148094 +42 1 148083 148085 148087 148086 +43 2 148081 148083 148085 148084 +44 1 148083 148081 148091 148082 +45 1 148081 148091 148089 148092 +46 2 111361 111363 111365 111364 +47 1 111367 111369 111371 111370 +48 1 111361 111371 111369 111372 +49 1 111363 111361 111371 111362 +50 4 195807 195806 195808 195796 +51 1 43043 43041 43051 43042 +52 2 43041 43043 43045 43044 +53 3 43043 43044 43053 43054 +54 4 43055 43054 43056 43044 +55 1 150145 150155 150153 150156 +56 4 111375 111374 111376 111364 +57 1 150151 150153 150155 150154 +58 1 150149 150151 150153 150152 +59 1 20145 20155 20153 20156 +60 1 20147 20145 20155 20146 +61 1 20147 20149 20151 20150 +62 1 20151 20153 20155 20154 +63 1 20149 20151 20153 20152 +64 2 20145 20147 20149 20148 +65 1 107923 107925 107927 107926 +66 1 107925 107927 107929 107928 +67 1 107921 107931 107929 107932 +68 1 107927 107929 107931 107930 +69 1 69383 69385 69387 69386 +70 1 69377 69387 69385 69388 +71 2 69377 69379 69381 69380 +72 1 69379 69377 69387 69378 +73 1 69381 69383 69385 69384 +74 1 69379 69381 69383 69382 +75 4 65551 65550 65552 65540 +76 3 65539 65540 65549 65550 +77 3 69379 69380 69389 69390 +78 2 65537 65539 65541 65540 +79 1 65541 65543 65545 65544 +80 1 65539 65541 65543 65542 +81 1 65543 65545 65547 65546 +82 1 65537 65547 65545 65548 +83 1 65539 65537 65547 65538 +84 1 41317 41319 41321 41320 +85 1 41315 41317 41319 41318 +86 2 41313 41315 41317 41316 +87 3 195795 195796 195805 195806 +88 2 195793 195795 195797 195796 +89 1 41319 41321 41323 41322 +90 1 41313 41323 41321 41324 +91 4 69391 69390 69392 69380 +92 1 150147 150145 150155 150146 +93 3 150147 150148 150157 150158 +94 2 150145 150147 150149 150148 +95 4 150159 150158 150160 150148 +96 1 150147 150149 150151 150150 +97 1 195795 195793 195803 195794 +98 1 195793 195803 195801 195804 +99 1 195799 195801 195803 195802 +100 1 195795 195797 195799 195798 +101 1 195797 195799 195801 195800 +102 1 107223 107225 107227 107226 +103 1 43047 43049 43051 43050 +104 1 43041 43051 43049 43052 +105 3 188723 188724 188733 188734 +106 4 188735 188734 188736 188724 +107 1 43045 43047 43049 43048 +108 1 43043 43045 43047 43046 +109 1 188723 188721 188731 188722 +110 1 188721 188731 188729 188732 +111 4 3055 3054 3056 3044 +112 3 3043 3044 3053 3054 +113 1 3045 3047 3049 3048 +114 2 3041 3043 3045 3044 +115 1 3043 3045 3047 3046 +116 1 101763 101765 101767 101766 +117 1 101767 101769 101771 101770 +118 1 101765 101767 101769 101768 +119 1 107217 107227 107225 107228 +120 2 108385 108387 108389 108388 +121 1 107219 107217 107227 107218 +122 4 107935 107934 107936 107924 +123 3 107923 107924 107933 107934 +124 2 107921 107923 107925 107924 +125 1 107923 107921 107931 107922 +126 3 108387 108388 108397 108398 +127 4 108399 108398 108400 108388 +128 4 101775 101774 101776 101764 +129 3 101763 101764 101773 101774 +130 2 101761 101763 101765 101764 +131 1 179269 179271 179273 179272 +132 1 101763 101761 101771 101762 +133 1 101761 101771 101769 101772 +134 1 41329 41339 41337 41340 +135 1 41331 41329 41339 41330 +136 4 41343 41342 41344 41332 +137 2 41329 41331 41333 41332 +138 3 41331 41332 41341 41342 +139 1 108387 108385 108395 108386 +140 4 160479 160478 160480 160468 +141 3 160467 160468 160477 160478 +142 1 160469 160471 160473 160472 +143 1 160467 160469 160471 160470 +144 1 160471 160473 160475 160474 +145 1 160465 160475 160473 160476 +146 1 160467 160465 160475 160466 +147 2 160465 160467 160469 160468 +148 4 179279 179278 179280 179268 +149 3 179267 179268 179277 179278 +150 2 179265 179267 179269 179268 +151 1 179265 179275 179273 179276 +152 1 179267 179265 179275 179266 +153 1 179267 179269 179271 179270 +154 1 179271 179273 179275 179274 +155 1 3043 3041 3051 3042 +156 1 3047 3049 3051 3050 +157 1 3041 3051 3049 3052 +158 1 41335 41337 41339 41338 +159 1 41333 41335 41337 41336 +160 1 41331 41333 41335 41334 diff --git a/examples/USER/smd/aluminum_strip_pull/aluminum_strip_pull.lmp b/examples/USER/smd/aluminum_strip_pull/aluminum_strip_pull.lmp index b75bab10e96ecf86d33253cfde65e02e2966eee0..50b20a078710681ed3e5e47462fc59ac7291b72c 100644 --- a/examples/USER/smd/aluminum_strip_pull/aluminum_strip_pull.lmp +++ b/examples/USER/smd/aluminum_strip_pull/aluminum_strip_pull.lmp @@ -2,7 +2,7 @@ # # TLSPH example: elongate a 2d strip of aluminum py pulling its ends apart # -# unit sytem: GPa / mm / ms +# unit system: GPa / mm / ms # #################################################################################################### @@ -18,7 +18,7 @@ variable q2 equal 0.0 # standard artificial viscosity quadratic coeffici variable hg equal 10.0 # hourglass control coefficient variable cp equal 1.0 # heat capacity of material -- not used here -variable JC_A equal 0.3241 # Johnson Cook arameters +variable JC_A equal 0.3241 # Johnson Cook parameters variable JC_B equal 0.1138 variable JC_N equal 0.42 variable JC_C equal 0 #0.002 diff --git a/examples/USER/smd/fluid_structure_interaction/fluid_structure_interaction.lmp b/examples/USER/smd/fluid_structure_interaction/fluid_structure_interaction.lmp index 0f7d726e2114286c872ae9c363adbe7155945bfd..e4f3ea603ae722476c06ffe7aec79b79a11c912d 100644 --- a/examples/USER/smd/fluid_structure_interaction/fluid_structure_interaction.lmp +++ b/examples/USER/smd/fluid_structure_interaction/fluid_structure_interaction.lmp @@ -4,7 +4,7 @@ # # A column of water is placed in a container and allowed to collapse unter the # influence of gravity. Several solid objects are also placed in the container. -# The water flow pushes the solid objects around until the sytem comes to halt due to +# The water flow pushes the solid objects around until the system comes to halt due to # viscous damping. The solid objects have a lower mass density than water and finally float on # the water surface. # @@ -12,7 +12,7 @@ # Total Lagrangian formalism. Contact forces between container, solid bodies, and water prevent # mutual penetration of these physical entities. # -# unit sytem: GPa / mm / ms +# unit system: GPa / mm / ms # #################################################################################################### diff --git a/examples/USER/smd/funnel_flow/funnel_flow.lmp b/examples/USER/smd/funnel_flow/funnel_flow.lmp index 7cc1e13f4fa1f49f72be649bf291f07657bec744..b1fde2c2db15ff5375c8f413ae670bba3d95d302 100644 --- a/examples/USER/smd/funnel_flow/funnel_flow.lmp +++ b/examples/USER/smd/funnel_flow/funnel_flow.lmp @@ -5,7 +5,7 @@ # The boundary dump file (see below) can be converted into VTK format using the conversion # tool dump2vtk_tris from the tools/smd directory. # -# unit sytem: GPa / mm / ms +# unit system: GPa / mm / ms # #################################################################################################### diff --git a/examples/USER/smd/rubber_rings_3d/rubber_rings_3d.lmp b/examples/USER/smd/rubber_rings_3d/rubber_rings_3d.lmp index 956abd6c4a6f44f94683c54390759e14f20f5dd7..11b988e81815b535fee76bd9c666248633704344 100644 --- a/examples/USER/smd/rubber_rings_3d/rubber_rings_3d.lmp +++ b/examples/USER/smd/rubber_rings_3d/rubber_rings_3d.lmp @@ -3,7 +3,7 @@ # # TLSPH example: Two rubber rings impact each other. # -# unit sytem: GPa / mm / ms +# unit system: GPa / mm / ms # #################################################################################################### diff --git a/examples/USER/smd/rubber_strip_pull/rubber_strip_pull.lmp b/examples/USER/smd/rubber_strip_pull/rubber_strip_pull.lmp index 4e53daf99385d4b191b583b5fa48fa276dbdbb76..0e8be3b9dae066aecd05615d8c4e2023d24b9be6 100644 --- a/examples/USER/smd/rubber_strip_pull/rubber_strip_pull.lmp +++ b/examples/USER/smd/rubber_strip_pull/rubber_strip_pull.lmp @@ -2,7 +2,7 @@ # # TLSPH example: elongate a 2d strip of a linear elastic material py pulling its ends apart # -# unit sytem: GPa / mm / ms +# unit system: GPa / mm / ms # #################################################################################################### diff --git a/examples/USER/tally/in.pe b/examples/USER/tally/in.pe index c6228cebd0af85efcbf7623945544b2d0c685fbc..a7a3360c44aa63747c2969298a4454055069246c 100644 --- a/examples/USER/tally/in.pe +++ b/examples/USER/tally/in.pe @@ -37,7 +37,7 @@ group hyd type 2 compute epa oxy group/group hyd pair yes kspace no boundary no # tally pairwise energy between all oygen and all hydrogen compute c1 oxy pe/tally hyd -# tally pairwise energy beween all atoms to compare with globals +# tally pairwise energy between all atoms to compare with globals compute c2 all pe/tally all # collect per atom energies compute c3 all pe/atom pair diff --git a/examples/USER/tally/log.12Jun17.pe.1 b/examples/USER/tally/log.12Jun17.pe.1 index 8b0f7534144b7b00ad05ec59926250503934a0a9..ecdaee86d5dbeeda299510f12922f5e5d8b2971b 100644 --- a/examples/USER/tally/log.12Jun17.pe.1 +++ b/examples/USER/tally/log.12Jun17.pe.1 @@ -89,7 +89,7 @@ group hyd type 2 compute epa oxy group/group hyd pair yes kspace no boundary no # tally pairwise energy between all oygen and all hydrogen compute c1 oxy pe/tally hyd -# tally pairwise energy beween all atoms to compare with globals +# tally pairwise energy between all atoms to compare with globals compute c2 all pe/tally all # collect per atom energies compute c3 all pe/atom pair diff --git a/examples/USER/tally/log.12Jun17.pe.4 b/examples/USER/tally/log.12Jun17.pe.4 index f684fabe01032051684737adf1241a6b0471a78a..242cad77f34fe761a6f64b0267cfb21b29be602f 100644 --- a/examples/USER/tally/log.12Jun17.pe.4 +++ b/examples/USER/tally/log.12Jun17.pe.4 @@ -89,7 +89,7 @@ group hyd type 2 compute epa oxy group/group hyd pair yes kspace no boundary no # tally pairwise energy between all oygen and all hydrogen compute c1 oxy pe/tally hyd -# tally pairwise energy beween all atoms to compare with globals +# tally pairwise energy between all atoms to compare with globals compute c2 all pe/tally all # collect per atom energies compute c3 all pe/atom pair diff --git a/examples/fire/README b/examples/fire/README new file mode 100644 index 0000000000000000000000000000000000000000..da63b1a631d72ee9e51b8602b54cfe38edf0dc95 --- /dev/null +++ b/examples/fire/README @@ -0,0 +1,23 @@ +These examples are similar to those in the "min" and "neb" folders. +Each example can be run with the following minimization style: +- quickmin: qm +- fire: fire +- fire with optimized options: fire_mod +- fire with min_modify options to + reproduce fire/old: fire_mod_old +- fire/old (previous implementation): fire_old + +Run the NEB examples as: + +mpirun -np 4 lmp_g++ -partition 4x1 -in in.neb.sivac.qm +mpirun -np 4 lmp_g++ -partition 4x1 -in in.neb.sivac.fire +mpirun -np 4 lmp_g++ -partition 4x1 -in in.neb.sivac.fire_mod +mpirun -np 4 lmp_g++ -partition 4x1 -in in.neb.sivac.fire_mod_old +mpirun -np 4 lmp_g++ -partition 4x1 -in in.neb.sivac.fire_old + +mpirun -np 8 lmp_g++ -partition 8x1 -in in.neb.sivac.qm +mpirun -np 8 lmp_g++ -partition 8x1 -in in.neb.sivac.fire +mpirun -np 8 lmp_g++ -partition 8x1 -in in.neb.sivac.fire_mod +mpirun -np 8 lmp_g++ -partition 8x1 -in in.neb.sivac.fire_mod_old +mpirun -np 8 lmp_g++ -partition 8x1 -in in.neb.sivac.fire_old + diff --git a/examples/fire/Si.sw b/examples/fire/Si.sw new file mode 100644 index 0000000000000000000000000000000000000000..db4be100ef47f7d5732186b68bcc263d36f67b41 --- /dev/null +++ b/examples/fire/Si.sw @@ -0,0 +1,18 @@ +# DATE: 2007-06-11 CONTRIBUTOR: Aidan Thompson, athomps@sandia.gov CITATION: Stillinger and Weber, Phys Rev B, 31, 5262, (1985) +# Stillinger-Weber parameters for various elements and mixtures +# multiple entries can be added to this file, LAMMPS reads the ones it needs +# these entries are in LAMMPS "metal" units: +# epsilon = eV; sigma = Angstroms +# other quantities are unitless + +# format of a single entry (one or more lines): +# element 1, element 2, element 3, +# epsilon, sigma, a, lambda, gamma, costheta0, A, B, p, q, tol + +# Here are the original parameters in metal units, for Silicon from: +# +# Stillinger and Weber, Phys. Rev. B, v. 31, p. 5262, (1985) +# + +Si Si Si 2.1683 2.0951 1.80 21.0 1.20 -0.333333333333 + 7.049556277 0.6022245584 4.0 0.0 0.0 diff --git a/examples/fire/final.sivac b/examples/fire/final.sivac new file mode 100644 index 0000000000000000000000000000000000000000..a0e2a2ed6012e254637ca6c08dcd0a607f7d46a1 --- /dev/null +++ b/examples/fire/final.sivac @@ -0,0 +1,8 @@ +7 +174 6.86775 9.49992 9.62069 +175 9.46441 6.90709 9.62317 +301 6.87004 6.90631 12.2171 +304 8.44266 8.48312 11.1965 +306 10.5121 8.48457 13.2624 +331 8.44223 10.5435 13.2633 +337 10.5124 10.5437 11.1959 diff --git a/examples/fire/in.cg b/examples/fire/in.cg new file mode 100644 index 0000000000000000000000000000000000000000..308c7ac4ab95daab6eeb40eae21f326a1840252c --- /dev/null +++ b/examples/fire/in.cg @@ -0,0 +1,45 @@ +# 2d Lennard-Jones melt and subsequent energy minimization + +units lj +dimension 2 +atom_style atomic + +lattice sq2 0.8442 +region box block 0 20 0 20 -0.1 0.1 +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 5.0 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all enforce2d + +#dump 1 all atom 100 dump.min + +#dump 2 all image 50 image.*.jpg type type & +# zoom 1.6 adiam 1.5 +#dump_modify 2 pad 4 + +#dump 3 all movie 50 movie.mpg type type & +# zoom 1.6 adiam 1.5 +#dump_modify 3 pad 4 + +thermo 100 + +run 1000 + +neigh_modify delay 0 every 1 check yes + +#dump_modify 1 every 25 + +thermo 50 +min_style cg +minimize 0.0 1.0e-6 10000 10000 diff --git a/examples/fire/in.fire b/examples/fire/in.fire new file mode 100644 index 0000000000000000000000000000000000000000..3a062487f3cbb48e31fad5abcb490512986a81a6 --- /dev/null +++ b/examples/fire/in.fire @@ -0,0 +1,45 @@ +# 2d Lennard-Jones melt and subsequent energy minimization + +units lj +dimension 2 +atom_style atomic + +lattice sq2 0.8442 +region box block 0 20 0 20 -0.1 0.1 +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 5.0 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all enforce2d + +#dump 1 all atom 100 dump.min + +#dump 2 all image 50 image.*.jpg type type & +# zoom 1.6 adiam 1.5 +#dump_modify 2 pad 4 + +#dump 3 all movie 50 movie.mpg type type & +# zoom 1.6 adiam 1.5 +#dump_modify 3 pad 4 + +thermo 100 + +run 1000 + +neigh_modify delay 0 every 1 check yes + +#dump_modify 1 every 25 + +thermo 50 +min_style fire +minimize 0.0 1.0e-6 10000 10000 diff --git a/examples/fire/in.fire_mod b/examples/fire/in.fire_mod new file mode 100644 index 0000000000000000000000000000000000000000..8cf0d9f48da9207800e15ffda35bd934e4cf59ff --- /dev/null +++ b/examples/fire/in.fire_mod @@ -0,0 +1,46 @@ +# 2d Lennard-Jones melt and subsequent energy minimization + +units lj +dimension 2 +atom_style atomic + +lattice sq2 0.8442 +region box block 0 20 0 20 -0.1 0.1 +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 5.0 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all enforce2d + +#dump 1 all atom 100 dump.min + +#dump 2 all image 50 image.*.jpg type type & +# zoom 1.6 adiam 1.5 +#dump_modify 2 pad 4 + +#dump 3 all movie 50 movie.mpg type type & +# zoom 1.6 adiam 1.5 +#dump_modify 3 pad 4 + +thermo 100 + +run 1000 + +neigh_modify delay 0 every 1 check yes + +#dump_modify 1 every 25 + +thermo 50 +min_style fire +min_modify alpha0 0.10 integrator verlet +minimize 0.0 1.0e-6 10000 10000 diff --git a/examples/fire/in.fire_mod_old b/examples/fire/in.fire_mod_old new file mode 100644 index 0000000000000000000000000000000000000000..b95408505243f406465754075086ac3b192b0f2d --- /dev/null +++ b/examples/fire/in.fire_mod_old @@ -0,0 +1,48 @@ +# 2d Lennard-Jones melt and subsequent energy minimization + +units lj +dimension 2 +atom_style atomic + +lattice sq2 0.8442 +region box block 0 20 0 20 -0.1 0.1 +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 5.0 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all enforce2d + +#dump 1 all atom 100 dump.min + +#dump 2 all image 50 image.*.jpg type type & +# zoom 1.6 adiam 1.5 +#dump_modify 2 pad 4 + +#dump 3 all movie 50 movie.mpg type type & +# zoom 1.6 adiam 1.5 +#dump_modify 3 pad 4 + +thermo 100 + +run 1000 + +neigh_modify delay 0 every 1 check yes + +#dump_modify 1 every 25 + +thermo 50 +min_style fire +min_modify integrator eulerexplicit tmax 10.0 tmin 0.0 delaystep 5 & + dtgrow 1.1 dtshrink 0.5 alpha0 0.1 alphashrink 0.99 & + vdfmax 100000 halfstepback no initialdelay no +minimize 0.0 1.0e-6 10000 10000 diff --git a/examples/fire/in.fire_old b/examples/fire/in.fire_old new file mode 100644 index 0000000000000000000000000000000000000000..c25912cdee142ba498cc1f1ffcc4a4de590b8e9c --- /dev/null +++ b/examples/fire/in.fire_old @@ -0,0 +1,45 @@ +# 2d Lennard-Jones melt and subsequent energy minimization + +units lj +dimension 2 +atom_style atomic + +lattice sq2 0.8442 +region box block 0 20 0 20 -0.1 0.1 +create_box 1 box +create_atoms 1 box +mass 1 1.0 + +velocity all create 5.0 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all enforce2d + +#dump 1 all atom 100 dump.min + +#dump 2 all image 50 image.*.jpg type type & +# zoom 1.6 adiam 1.5 +#dump_modify 2 pad 4 + +#dump 3 all movie 50 movie.mpg type type & +# zoom 1.6 adiam 1.5 +#dump_modify 3 pad 4 + +thermo 100 + +run 1000 + +neigh_modify delay 0 every 1 check yes + +#dump_modify 1 every 25 + +thermo 50 +min_style fire/old +minimize 0.0 1.0e-6 10000 10000 diff --git a/examples/fire/in.neb.sivac.fire b/examples/fire/in.neb.sivac.fire new file mode 100644 index 0000000000000000000000000000000000000000..36645f5c0fc7228022087bfede42756996c25993 --- /dev/null +++ b/examples/fire/in.neb.sivac.fire @@ -0,0 +1,78 @@ +# NEB simulation of vacancy hopping in silicon crystal + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +# coordination number cutoff + +variable r equal 2.835 + +# diamond unit cell + +variable a equal 5.431 +lattice custom $a & + a1 1.0 0.0 0.0 & + a2 0.0 1.0 0.0 & + a3 0.0 0.0 1.0 & + basis 0.0 0.0 0.0 & + basis 0.0 0.5 0.5 & + basis 0.5 0.0 0.5 & + basis 0.5 0.5 0.0 & + basis 0.25 0.25 0.25 & + basis 0.25 0.75 0.75 & + basis 0.75 0.25 0.75 & + basis 0.75 0.75 0.25 + +region myreg block 0 4 & + 0 4 & + 0 4 + +#create_box 1 myreg +#create_atoms 1 region myreg +#mass 1 28.06 +#write_data initial.sivac + +read_data initial.sivac + +# make a vacancy + +group Si type 1 + +group del id 300 +delete_atoms group del compress no +group vacneigh id 174 175 301 304 306 331 337 + +# choose potential + +pair_style sw +pair_coeff * * Si.sw Si + +# set up neb run + +variable u uloop 20 + +# only output atoms near vacancy + +#dump events vacneigh custom 1000 dump.neb.sivac.$u id type x y z + +# initial minimization to relax vacancy + +displace_atoms all random 0.1 0.1 0.1 123456 +minimize 1.0e-6 1.0e-4 1000 10000 + +reset_timestep 0 + +fix 1 all neb 1.0 + +thermo 100 + +# run NEB for 2000 steps or to force tolerance + +timestep 0.01 +min_style fire + +neb 0.0 0.01 100 100 10 final final.sivac diff --git a/examples/fire/in.neb.sivac.fire_mod b/examples/fire/in.neb.sivac.fire_mod new file mode 100644 index 0000000000000000000000000000000000000000..461bf642f114e5a4f0073194d2e1efedc478f277 --- /dev/null +++ b/examples/fire/in.neb.sivac.fire_mod @@ -0,0 +1,78 @@ +# NEB simulation of vacancy hopping in silicon crystal + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +# coordination number cutoff + +variable r equal 2.835 + +# diamond unit cell + +variable a equal 5.431 +lattice custom $a & + a1 1.0 0.0 0.0 & + a2 0.0 1.0 0.0 & + a3 0.0 0.0 1.0 & + basis 0.0 0.0 0.0 & + basis 0.0 0.5 0.5 & + basis 0.5 0.0 0.5 & + basis 0.5 0.5 0.0 & + basis 0.25 0.25 0.25 & + basis 0.25 0.75 0.75 & + basis 0.75 0.25 0.75 & + basis 0.75 0.75 0.25 + +region myreg block 0 4 & + 0 4 & + 0 4 + +#create_box 1 myreg +#create_atoms 1 region myreg +#mass 1 28.06 +#write_data initial.sivac + +read_data initial.sivac + +# make a vacancy + +group Si type 1 + +group del id 300 +delete_atoms group del compress no +group vacneigh id 174 175 301 304 306 331 337 + +# choose potential + +pair_style sw +pair_coeff * * Si.sw Si + +# set up neb run + +variable u uloop 20 + +# only output atoms near vacancy + +#dump events vacneigh custom 1000 dump.neb.sivac.$u id type x y z + +# initial minimization to relax vacancy + +displace_atoms all random 0.1 0.1 0.1 123456 +minimize 1.0e-6 1.0e-4 1000 10000 + +reset_timestep 0 + +fix 1 all neb 1.0 + +thermo 100 + +# run NEB for 2000 steps or to force tolerance + +timestep 0.01 +min_style fire +min_modify integrator verlet +neb 0.0 0.01 100 100 10 final final.sivac diff --git a/examples/fire/in.neb.sivac.fire_mod_old b/examples/fire/in.neb.sivac.fire_mod_old new file mode 100644 index 0000000000000000000000000000000000000000..fba0424b749032bad86a6e8d495526a4ffab8e17 --- /dev/null +++ b/examples/fire/in.neb.sivac.fire_mod_old @@ -0,0 +1,80 @@ +# NEB simulation of vacancy hopping in silicon crystal + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +# coordination number cutoff + +variable r equal 2.835 + +# diamond unit cell + +variable a equal 5.431 +lattice custom $a & + a1 1.0 0.0 0.0 & + a2 0.0 1.0 0.0 & + a3 0.0 0.0 1.0 & + basis 0.0 0.0 0.0 & + basis 0.0 0.5 0.5 & + basis 0.5 0.0 0.5 & + basis 0.5 0.5 0.0 & + basis 0.25 0.25 0.25 & + basis 0.25 0.75 0.75 & + basis 0.75 0.25 0.75 & + basis 0.75 0.75 0.25 + +region myreg block 0 4 & + 0 4 & + 0 4 + +#create_box 1 myreg +#create_atoms 1 region myreg +#mass 1 28.06 +#write_data initial.sivac + +read_data initial.sivac + +# make a vacancy + +group Si type 1 + +group del id 300 +delete_atoms group del compress no +group vacneigh id 174 175 301 304 306 331 337 + +# choose potential + +pair_style sw +pair_coeff * * Si.sw Si + +# set up neb run + +variable u uloop 20 + +# only output atoms near vacancy + +#dump events vacneigh custom 1000 dump.neb.sivac.$u id type x y z + +# initial minimization to relax vacancy + +displace_atoms all random 0.1 0.1 0.1 123456 +minimize 1.0e-6 1.0e-4 1000 10000 + +reset_timestep 0 + +fix 1 all neb 1.0 + +thermo 100 + +# run NEB for 2000 steps or to force tolerance + +timestep 0.01 +min_style fire +min_modify integrator eulerexplicit tmax 10.0 tmin 0.0 delaystep 5 & + dtgrow 1.1 dtshrink 0.5 alpha0 0.1 alphashrink 0.99 & + vdfmax 100000 halfstepback no initialdelay no +neb 0.0 0.01 100 100 10 final final.sivac diff --git a/examples/fire/in.neb.sivac.fire_old b/examples/fire/in.neb.sivac.fire_old new file mode 100644 index 0000000000000000000000000000000000000000..64dc0fdc907283c684af0fce6ebd784e57bf59a1 --- /dev/null +++ b/examples/fire/in.neb.sivac.fire_old @@ -0,0 +1,78 @@ +# NEB simulation of vacancy hopping in silicon crystal + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +# coordination number cutoff + +variable r equal 2.835 + +# diamond unit cell + +variable a equal 5.431 +lattice custom $a & + a1 1.0 0.0 0.0 & + a2 0.0 1.0 0.0 & + a3 0.0 0.0 1.0 & + basis 0.0 0.0 0.0 & + basis 0.0 0.5 0.5 & + basis 0.5 0.0 0.5 & + basis 0.5 0.5 0.0 & + basis 0.25 0.25 0.25 & + basis 0.25 0.75 0.75 & + basis 0.75 0.25 0.75 & + basis 0.75 0.75 0.25 + +region myreg block 0 4 & + 0 4 & + 0 4 + +#create_box 1 myreg +#create_atoms 1 region myreg +#mass 1 28.06 +#write_data initial.sivac + +read_data initial.sivac + +# make a vacancy + +group Si type 1 + +group del id 300 +delete_atoms group del compress no +group vacneigh id 174 175 301 304 306 331 337 + +# choose potential + +pair_style sw +pair_coeff * * Si.sw Si + +# set up neb run + +variable u uloop 20 + +# only output atoms near vacancy + +#dump events vacneigh custom 1000 dump.neb.sivac.$u id type x y z + +# initial minimization to relax vacancy + +displace_atoms all random 0.1 0.1 0.1 123456 +minimize 1.0e-6 1.0e-4 1000 10000 + +reset_timestep 0 + +fix 1 all neb 1.0 + +thermo 100 + +# run NEB for 2000 steps or to force tolerance + +timestep 0.01 +min_style fire/old + +neb 0.0 0.01 100 100 10 final final.sivac diff --git a/examples/fire/in.neb.sivac.qm b/examples/fire/in.neb.sivac.qm new file mode 100644 index 0000000000000000000000000000000000000000..941d063b90e60a6b58b9ea1d4247de533fa80615 --- /dev/null +++ b/examples/fire/in.neb.sivac.qm @@ -0,0 +1,78 @@ +# NEB simulation of vacancy hopping in silicon crystal + +units metal + +atom_style atomic +atom_modify map array +boundary p p p +atom_modify sort 0 0.0 + +# coordination number cutoff + +variable r equal 2.835 + +# diamond unit cell + +variable a equal 5.431 +lattice custom $a & + a1 1.0 0.0 0.0 & + a2 0.0 1.0 0.0 & + a3 0.0 0.0 1.0 & + basis 0.0 0.0 0.0 & + basis 0.0 0.5 0.5 & + basis 0.5 0.0 0.5 & + basis 0.5 0.5 0.0 & + basis 0.25 0.25 0.25 & + basis 0.25 0.75 0.75 & + basis 0.75 0.25 0.75 & + basis 0.75 0.75 0.25 + +region myreg block 0 4 & + 0 4 & + 0 4 + +#create_box 1 myreg +#create_atoms 1 region myreg +#mass 1 28.06 +#write_data initial.sivac + +read_data initial.sivac + +# make a vacancy + +group Si type 1 + +group del id 300 +delete_atoms group del compress no +group vacneigh id 174 175 301 304 306 331 337 + +# choose potential + +pair_style sw +pair_coeff * * Si.sw Si + +# set up neb run + +variable u uloop 20 + +# only output atoms near vacancy + +#dump events vacneigh custom 1000 dump.neb.sivac.$u id type x y z + +# initial minimization to relax vacancy + +displace_atoms all random 0.1 0.1 0.1 123456 +minimize 1.0e-6 1.0e-4 1000 10000 + +reset_timestep 0 + +fix 1 all neb 1.0 + +thermo 100 + +# run NEB for 2000 steps or to force tolerance + +timestep 0.01 +min_style quickmin + +neb 0.0 0.01 100 100 10 final final.sivac diff --git a/examples/fire/initial.sivac b/examples/fire/initial.sivac new file mode 100644 index 0000000000000000000000000000000000000000..5664b6c39a32ceac82cb2afe5f0e513c76c63490 --- /dev/null +++ b/examples/fire/initial.sivac @@ -0,0 +1,1042 @@ +LAMMPS data file via write_data, version 27 Sep 2016, timestep = 0 + +512 atoms +1 atom types + +0.0000000000000000e+00 2.1724000000000000e+01 xlo xhi +0.0000000000000000e+00 2.1724000000000000e+01 ylo yhi +0.0000000000000000e+00 2.1724000000000000e+01 zlo zhi + +Masses + +1 28.06 + +Atoms # atomic + +1 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +2 1 0.0000000000000000e+00 2.7155000000000000e+00 2.7155000000000000e+00 0 0 0 +3 1 2.7155000000000000e+00 0.0000000000000000e+00 2.7155000000000000e+00 0 0 0 +4 1 2.7155000000000000e+00 2.7155000000000000e+00 0.0000000000000000e+00 0 0 0 +5 1 1.3577500000000000e+00 1.3577500000000000e+00 1.3577500000000000e+00 0 0 0 +6 1 1.3577500000000000e+00 4.0732499999999998e+00 4.0732499999999998e+00 0 0 0 +7 1 4.0732499999999998e+00 1.3577500000000000e+00 4.0732499999999998e+00 0 0 0 +8 1 4.0732499999999998e+00 4.0732499999999998e+00 1.3577500000000000e+00 0 0 0 +9 1 5.4310000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +10 1 5.4310000000000000e+00 2.7155000000000000e+00 2.7155000000000000e+00 0 0 0 +11 1 8.1464999999999996e+00 0.0000000000000000e+00 2.7155000000000000e+00 0 0 0 +12 1 8.1464999999999996e+00 2.7155000000000000e+00 0.0000000000000000e+00 0 0 0 +13 1 6.7887500000000003e+00 1.3577500000000000e+00 1.3577500000000000e+00 0 0 0 +14 1 6.7887500000000003e+00 4.0732499999999998e+00 4.0732499999999998e+00 0 0 0 +15 1 9.5042500000000008e+00 1.3577500000000000e+00 4.0732499999999998e+00 0 0 0 +16 1 9.5042500000000008e+00 4.0732499999999998e+00 1.3577500000000000e+00 0 0 0 +17 1 1.0862000000000000e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +18 1 1.0862000000000000e+01 2.7155000000000000e+00 2.7155000000000000e+00 0 0 0 +19 1 1.3577500000000001e+01 0.0000000000000000e+00 2.7155000000000000e+00 0 0 0 +20 1 1.3577500000000001e+01 2.7155000000000000e+00 0.0000000000000000e+00 0 0 0 +21 1 1.2219749999999999e+01 1.3577500000000000e+00 1.3577500000000000e+00 0 0 0 +22 1 1.2219749999999999e+01 4.0732499999999998e+00 4.0732499999999998e+00 0 0 0 +23 1 1.4935250000000000e+01 1.3577500000000000e+00 4.0732499999999998e+00 0 0 0 +24 1 1.4935250000000000e+01 4.0732499999999998e+00 1.3577500000000000e+00 0 0 0 +25 1 1.6292999999999999e+01 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 +26 1 1.6292999999999999e+01 2.7155000000000000e+00 2.7155000000000000e+00 0 0 0 +27 1 1.9008500000000002e+01 0.0000000000000000e+00 2.7155000000000000e+00 0 0 0 +28 1 1.9008500000000002e+01 2.7155000000000000e+00 0.0000000000000000e+00 0 0 0 +29 1 1.7650749999999999e+01 1.3577500000000000e+00 1.3577500000000000e+00 0 0 0 +30 1 1.7650749999999999e+01 4.0732499999999998e+00 4.0732499999999998e+00 0 0 0 +31 1 2.0366250000000001e+01 1.3577500000000000e+00 4.0732499999999998e+00 0 0 0 +32 1 2.0366250000000001e+01 4.0732499999999998e+00 1.3577500000000000e+00 0 0 0 +33 1 0.0000000000000000e+00 5.4310000000000000e+00 0.0000000000000000e+00 0 0 0 +34 1 0.0000000000000000e+00 8.1464999999999996e+00 2.7155000000000000e+00 0 0 0 +35 1 2.7155000000000000e+00 5.4310000000000000e+00 2.7155000000000000e+00 0 0 0 +36 1 2.7155000000000000e+00 8.1464999999999996e+00 0.0000000000000000e+00 0 0 0 +37 1 1.3577500000000000e+00 6.7887500000000003e+00 1.3577500000000000e+00 0 0 0 +38 1 1.3577500000000000e+00 9.5042500000000008e+00 4.0732499999999998e+00 0 0 0 +39 1 4.0732499999999998e+00 6.7887500000000003e+00 4.0732499999999998e+00 0 0 0 +40 1 4.0732499999999998e+00 9.5042500000000008e+00 1.3577500000000000e+00 0 0 0 +41 1 5.4310000000000000e+00 5.4310000000000000e+00 0.0000000000000000e+00 0 0 0 +42 1 5.4310000000000000e+00 8.1464999999999996e+00 2.7155000000000000e+00 0 0 0 +43 1 8.1464999999999996e+00 5.4310000000000000e+00 2.7155000000000000e+00 0 0 0 +44 1 8.1464999999999996e+00 8.1464999999999996e+00 0.0000000000000000e+00 0 0 0 +45 1 6.7887500000000003e+00 6.7887500000000003e+00 1.3577500000000000e+00 0 0 0 +46 1 6.7887500000000003e+00 9.5042500000000008e+00 4.0732499999999998e+00 0 0 0 +47 1 9.5042500000000008e+00 6.7887500000000003e+00 4.0732499999999998e+00 0 0 0 +48 1 9.5042500000000008e+00 9.5042500000000008e+00 1.3577500000000000e+00 0 0 0 +49 1 1.0862000000000000e+01 5.4310000000000000e+00 0.0000000000000000e+00 0 0 0 +50 1 1.0862000000000000e+01 8.1464999999999996e+00 2.7155000000000000e+00 0 0 0 +51 1 1.3577500000000001e+01 5.4310000000000000e+00 2.7155000000000000e+00 0 0 0 +52 1 1.3577500000000001e+01 8.1464999999999996e+00 0.0000000000000000e+00 0 0 0 +53 1 1.2219749999999999e+01 6.7887500000000003e+00 1.3577500000000000e+00 0 0 0 +54 1 1.2219749999999999e+01 9.5042500000000008e+00 4.0732499999999998e+00 0 0 0 +55 1 1.4935250000000000e+01 6.7887500000000003e+00 4.0732499999999998e+00 0 0 0 +56 1 1.4935250000000000e+01 9.5042500000000008e+00 1.3577500000000000e+00 0 0 0 +57 1 1.6292999999999999e+01 5.4310000000000000e+00 0.0000000000000000e+00 0 0 0 +58 1 1.6292999999999999e+01 8.1464999999999996e+00 2.7155000000000000e+00 0 0 0 +59 1 1.9008500000000002e+01 5.4310000000000000e+00 2.7155000000000000e+00 0 0 0 +60 1 1.9008500000000002e+01 8.1464999999999996e+00 0.0000000000000000e+00 0 0 0 +61 1 1.7650749999999999e+01 6.7887500000000003e+00 1.3577500000000000e+00 0 0 0 +62 1 1.7650749999999999e+01 9.5042500000000008e+00 4.0732499999999998e+00 0 0 0 +63 1 2.0366250000000001e+01 6.7887500000000003e+00 4.0732499999999998e+00 0 0 0 +64 1 2.0366250000000001e+01 9.5042500000000008e+00 1.3577500000000000e+00 0 0 0 +65 1 0.0000000000000000e+00 1.0862000000000000e+01 0.0000000000000000e+00 0 0 0 +66 1 0.0000000000000000e+00 1.3577500000000001e+01 2.7155000000000000e+00 0 0 0 +67 1 2.7155000000000000e+00 1.0862000000000000e+01 2.7155000000000000e+00 0 0 0 +68 1 2.7155000000000000e+00 1.3577500000000001e+01 0.0000000000000000e+00 0 0 0 +69 1 1.3577500000000000e+00 1.2219749999999999e+01 1.3577500000000000e+00 0 0 0 +70 1 1.3577500000000000e+00 1.4935250000000000e+01 4.0732499999999998e+00 0 0 0 +71 1 4.0732499999999998e+00 1.2219749999999999e+01 4.0732499999999998e+00 0 0 0 +72 1 4.0732499999999998e+00 1.4935250000000000e+01 1.3577500000000000e+00 0 0 0 +73 1 5.4310000000000000e+00 1.0862000000000000e+01 0.0000000000000000e+00 0 0 0 +74 1 5.4310000000000000e+00 1.3577500000000001e+01 2.7155000000000000e+00 0 0 0 +75 1 8.1464999999999996e+00 1.0862000000000000e+01 2.7155000000000000e+00 0 0 0 +76 1 8.1464999999999996e+00 1.3577500000000001e+01 0.0000000000000000e+00 0 0 0 +77 1 6.7887500000000003e+00 1.2219749999999999e+01 1.3577500000000000e+00 0 0 0 +78 1 6.7887500000000003e+00 1.4935250000000000e+01 4.0732499999999998e+00 0 0 0 +79 1 9.5042500000000008e+00 1.2219749999999999e+01 4.0732499999999998e+00 0 0 0 +80 1 9.5042500000000008e+00 1.4935250000000000e+01 1.3577500000000000e+00 0 0 0 +81 1 1.0862000000000000e+01 1.0862000000000000e+01 0.0000000000000000e+00 0 0 0 +82 1 1.0862000000000000e+01 1.3577500000000001e+01 2.7155000000000000e+00 0 0 0 +83 1 1.3577500000000001e+01 1.0862000000000000e+01 2.7155000000000000e+00 0 0 0 +84 1 1.3577500000000001e+01 1.3577500000000001e+01 0.0000000000000000e+00 0 0 0 +85 1 1.2219749999999999e+01 1.2219749999999999e+01 1.3577500000000000e+00 0 0 0 +86 1 1.2219749999999999e+01 1.4935250000000000e+01 4.0732499999999998e+00 0 0 0 +87 1 1.4935250000000000e+01 1.2219749999999999e+01 4.0732499999999998e+00 0 0 0 +88 1 1.4935250000000000e+01 1.4935250000000000e+01 1.3577500000000000e+00 0 0 0 +89 1 1.6292999999999999e+01 1.0862000000000000e+01 0.0000000000000000e+00 0 0 0 +90 1 1.6292999999999999e+01 1.3577500000000001e+01 2.7155000000000000e+00 0 0 0 +91 1 1.9008500000000002e+01 1.0862000000000000e+01 2.7155000000000000e+00 0 0 0 +92 1 1.9008500000000002e+01 1.3577500000000001e+01 0.0000000000000000e+00 0 0 0 +93 1 1.7650749999999999e+01 1.2219749999999999e+01 1.3577500000000000e+00 0 0 0 +94 1 1.7650749999999999e+01 1.4935250000000000e+01 4.0732499999999998e+00 0 0 0 +95 1 2.0366250000000001e+01 1.2219749999999999e+01 4.0732499999999998e+00 0 0 0 +96 1 2.0366250000000001e+01 1.4935250000000000e+01 1.3577500000000000e+00 0 0 0 +97 1 0.0000000000000000e+00 1.6292999999999999e+01 0.0000000000000000e+00 0 0 0 +98 1 0.0000000000000000e+00 1.9008500000000002e+01 2.7155000000000000e+00 0 0 0 +99 1 2.7155000000000000e+00 1.6292999999999999e+01 2.7155000000000000e+00 0 0 0 +100 1 2.7155000000000000e+00 1.9008500000000002e+01 0.0000000000000000e+00 0 0 0 +101 1 1.3577500000000000e+00 1.7650749999999999e+01 1.3577500000000000e+00 0 0 0 +102 1 1.3577500000000000e+00 2.0366250000000001e+01 4.0732499999999998e+00 0 0 0 +103 1 4.0732499999999998e+00 1.7650749999999999e+01 4.0732499999999998e+00 0 0 0 +104 1 4.0732499999999998e+00 2.0366250000000001e+01 1.3577500000000000e+00 0 0 0 +105 1 5.4310000000000000e+00 1.6292999999999999e+01 0.0000000000000000e+00 0 0 0 +106 1 5.4310000000000000e+00 1.9008500000000002e+01 2.7155000000000000e+00 0 0 0 +107 1 8.1464999999999996e+00 1.6292999999999999e+01 2.7155000000000000e+00 0 0 0 +108 1 8.1464999999999996e+00 1.9008500000000002e+01 0.0000000000000000e+00 0 0 0 +109 1 6.7887500000000003e+00 1.7650749999999999e+01 1.3577500000000000e+00 0 0 0 +110 1 6.7887500000000003e+00 2.0366250000000001e+01 4.0732499999999998e+00 0 0 0 +111 1 9.5042500000000008e+00 1.7650749999999999e+01 4.0732499999999998e+00 0 0 0 +112 1 9.5042500000000008e+00 2.0366250000000001e+01 1.3577500000000000e+00 0 0 0 +113 1 1.0862000000000000e+01 1.6292999999999999e+01 0.0000000000000000e+00 0 0 0 +114 1 1.0862000000000000e+01 1.9008500000000002e+01 2.7155000000000000e+00 0 0 0 +115 1 1.3577500000000001e+01 1.6292999999999999e+01 2.7155000000000000e+00 0 0 0 +116 1 1.3577500000000001e+01 1.9008500000000002e+01 0.0000000000000000e+00 0 0 0 +117 1 1.2219749999999999e+01 1.7650749999999999e+01 1.3577500000000000e+00 0 0 0 +118 1 1.2219749999999999e+01 2.0366250000000001e+01 4.0732499999999998e+00 0 0 0 +119 1 1.4935250000000000e+01 1.7650749999999999e+01 4.0732499999999998e+00 0 0 0 +120 1 1.4935250000000000e+01 2.0366250000000001e+01 1.3577500000000000e+00 0 0 0 +121 1 1.6292999999999999e+01 1.6292999999999999e+01 0.0000000000000000e+00 0 0 0 +122 1 1.6292999999999999e+01 1.9008500000000002e+01 2.7155000000000000e+00 0 0 0 +123 1 1.9008500000000002e+01 1.6292999999999999e+01 2.7155000000000000e+00 0 0 0 +124 1 1.9008500000000002e+01 1.9008500000000002e+01 0.0000000000000000e+00 0 0 0 +125 1 1.7650749999999999e+01 1.7650749999999999e+01 1.3577500000000000e+00 0 0 0 +126 1 1.7650749999999999e+01 2.0366250000000001e+01 4.0732499999999998e+00 0 0 0 +127 1 2.0366250000000001e+01 1.7650749999999999e+01 4.0732499999999998e+00 0 0 0 +128 1 2.0366250000000001e+01 2.0366250000000001e+01 1.3577500000000000e+00 0 0 0 +129 1 0.0000000000000000e+00 0.0000000000000000e+00 5.4310000000000000e+00 0 0 0 +130 1 0.0000000000000000e+00 2.7155000000000000e+00 8.1464999999999996e+00 0 0 0 +131 1 2.7155000000000000e+00 0.0000000000000000e+00 8.1464999999999996e+00 0 0 0 +132 1 2.7155000000000000e+00 2.7155000000000000e+00 5.4310000000000000e+00 0 0 0 +133 1 1.3577500000000000e+00 1.3577500000000000e+00 6.7887500000000003e+00 0 0 0 +134 1 1.3577500000000000e+00 4.0732499999999998e+00 9.5042500000000008e+00 0 0 0 +135 1 4.0732499999999998e+00 1.3577500000000000e+00 9.5042500000000008e+00 0 0 0 +136 1 4.0732499999999998e+00 4.0732499999999998e+00 6.7887500000000003e+00 0 0 0 +137 1 5.4310000000000000e+00 0.0000000000000000e+00 5.4310000000000000e+00 0 0 0 +138 1 5.4310000000000000e+00 2.7155000000000000e+00 8.1464999999999996e+00 0 0 0 +139 1 8.1464999999999996e+00 0.0000000000000000e+00 8.1464999999999996e+00 0 0 0 +140 1 8.1464999999999996e+00 2.7155000000000000e+00 5.4310000000000000e+00 0 0 0 +141 1 6.7887500000000003e+00 1.3577500000000000e+00 6.7887500000000003e+00 0 0 0 +142 1 6.7887500000000003e+00 4.0732499999999998e+00 9.5042500000000008e+00 0 0 0 +143 1 9.5042500000000008e+00 1.3577500000000000e+00 9.5042500000000008e+00 0 0 0 +144 1 9.5042500000000008e+00 4.0732499999999998e+00 6.7887500000000003e+00 0 0 0 +145 1 1.0862000000000000e+01 0.0000000000000000e+00 5.4310000000000000e+00 0 0 0 +146 1 1.0862000000000000e+01 2.7155000000000000e+00 8.1464999999999996e+00 0 0 0 +147 1 1.3577500000000001e+01 0.0000000000000000e+00 8.1464999999999996e+00 0 0 0 +148 1 1.3577500000000001e+01 2.7155000000000000e+00 5.4310000000000000e+00 0 0 0 +149 1 1.2219749999999999e+01 1.3577500000000000e+00 6.7887500000000003e+00 0 0 0 +150 1 1.2219749999999999e+01 4.0732499999999998e+00 9.5042500000000008e+00 0 0 0 +151 1 1.4935250000000000e+01 1.3577500000000000e+00 9.5042500000000008e+00 0 0 0 +152 1 1.4935250000000000e+01 4.0732499999999998e+00 6.7887500000000003e+00 0 0 0 +153 1 1.6292999999999999e+01 0.0000000000000000e+00 5.4310000000000000e+00 0 0 0 +154 1 1.6292999999999999e+01 2.7155000000000000e+00 8.1464999999999996e+00 0 0 0 +155 1 1.9008500000000002e+01 0.0000000000000000e+00 8.1464999999999996e+00 0 0 0 +156 1 1.9008500000000002e+01 2.7155000000000000e+00 5.4310000000000000e+00 0 0 0 +157 1 1.7650749999999999e+01 1.3577500000000000e+00 6.7887500000000003e+00 0 0 0 +158 1 1.7650749999999999e+01 4.0732499999999998e+00 9.5042500000000008e+00 0 0 0 +159 1 2.0366250000000001e+01 1.3577500000000000e+00 9.5042500000000008e+00 0 0 0 +160 1 2.0366250000000001e+01 4.0732499999999998e+00 6.7887500000000003e+00 0 0 0 +161 1 0.0000000000000000e+00 5.4310000000000000e+00 5.4310000000000000e+00 0 0 0 +162 1 0.0000000000000000e+00 8.1464999999999996e+00 8.1464999999999996e+00 0 0 0 +163 1 2.7155000000000000e+00 5.4310000000000000e+00 8.1464999999999996e+00 0 0 0 +164 1 2.7155000000000000e+00 8.1464999999999996e+00 5.4310000000000000e+00 0 0 0 +165 1 1.3577500000000000e+00 6.7887500000000003e+00 6.7887500000000003e+00 0 0 0 +166 1 1.3577500000000000e+00 9.5042500000000008e+00 9.5042500000000008e+00 0 0 0 +167 1 4.0732499999999998e+00 6.7887500000000003e+00 9.5042500000000008e+00 0 0 0 +168 1 4.0732499999999998e+00 9.5042500000000008e+00 6.7887500000000003e+00 0 0 0 +169 1 5.4310000000000000e+00 5.4310000000000000e+00 5.4310000000000000e+00 0 0 0 +170 1 5.4310000000000000e+00 8.1464999999999996e+00 8.1464999999999996e+00 0 0 0 +171 1 8.1464999999999996e+00 5.4310000000000000e+00 8.1464999999999996e+00 0 0 0 +172 1 8.1464999999999996e+00 8.1464999999999996e+00 5.4310000000000000e+00 0 0 0 +173 1 6.7887500000000003e+00 6.7887500000000003e+00 6.7887500000000003e+00 0 0 0 +174 1 6.7887500000000003e+00 9.5042500000000008e+00 9.5042500000000008e+00 0 0 0 +175 1 9.5042500000000008e+00 6.7887500000000003e+00 9.5042500000000008e+00 0 0 0 +176 1 9.5042500000000008e+00 9.5042500000000008e+00 6.7887500000000003e+00 0 0 0 +177 1 1.0862000000000000e+01 5.4310000000000000e+00 5.4310000000000000e+00 0 0 0 +178 1 1.0862000000000000e+01 8.1464999999999996e+00 8.1464999999999996e+00 0 0 0 +179 1 1.3577500000000001e+01 5.4310000000000000e+00 8.1464999999999996e+00 0 0 0 +180 1 1.3577500000000001e+01 8.1464999999999996e+00 5.4310000000000000e+00 0 0 0 +181 1 1.2219749999999999e+01 6.7887500000000003e+00 6.7887500000000003e+00 0 0 0 +182 1 1.2219749999999999e+01 9.5042500000000008e+00 9.5042500000000008e+00 0 0 0 +183 1 1.4935250000000000e+01 6.7887500000000003e+00 9.5042500000000008e+00 0 0 0 +184 1 1.4935250000000000e+01 9.5042500000000008e+00 6.7887500000000003e+00 0 0 0 +185 1 1.6292999999999999e+01 5.4310000000000000e+00 5.4310000000000000e+00 0 0 0 +186 1 1.6292999999999999e+01 8.1464999999999996e+00 8.1464999999999996e+00 0 0 0 +187 1 1.9008500000000002e+01 5.4310000000000000e+00 8.1464999999999996e+00 0 0 0 +188 1 1.9008500000000002e+01 8.1464999999999996e+00 5.4310000000000000e+00 0 0 0 +189 1 1.7650749999999999e+01 6.7887500000000003e+00 6.7887500000000003e+00 0 0 0 +190 1 1.7650749999999999e+01 9.5042500000000008e+00 9.5042500000000008e+00 0 0 0 +191 1 2.0366250000000001e+01 6.7887500000000003e+00 9.5042500000000008e+00 0 0 0 +192 1 2.0366250000000001e+01 9.5042500000000008e+00 6.7887500000000003e+00 0 0 0 +193 1 0.0000000000000000e+00 1.0862000000000000e+01 5.4310000000000000e+00 0 0 0 +194 1 0.0000000000000000e+00 1.3577500000000001e+01 8.1464999999999996e+00 0 0 0 +195 1 2.7155000000000000e+00 1.0862000000000000e+01 8.1464999999999996e+00 0 0 0 +196 1 2.7155000000000000e+00 1.3577500000000001e+01 5.4310000000000000e+00 0 0 0 +197 1 1.3577500000000000e+00 1.2219749999999999e+01 6.7887500000000003e+00 0 0 0 +198 1 1.3577500000000000e+00 1.4935250000000000e+01 9.5042500000000008e+00 0 0 0 +199 1 4.0732499999999998e+00 1.2219749999999999e+01 9.5042500000000008e+00 0 0 0 +200 1 4.0732499999999998e+00 1.4935250000000000e+01 6.7887500000000003e+00 0 0 0 +201 1 5.4310000000000000e+00 1.0862000000000000e+01 5.4310000000000000e+00 0 0 0 +202 1 5.4310000000000000e+00 1.3577500000000001e+01 8.1464999999999996e+00 0 0 0 +203 1 8.1464999999999996e+00 1.0862000000000000e+01 8.1464999999999996e+00 0 0 0 +204 1 8.1464999999999996e+00 1.3577500000000001e+01 5.4310000000000000e+00 0 0 0 +205 1 6.7887500000000003e+00 1.2219749999999999e+01 6.7887500000000003e+00 0 0 0 +206 1 6.7887500000000003e+00 1.4935250000000000e+01 9.5042500000000008e+00 0 0 0 +207 1 9.5042500000000008e+00 1.2219749999999999e+01 9.5042500000000008e+00 0 0 0 +208 1 9.5042500000000008e+00 1.4935250000000000e+01 6.7887500000000003e+00 0 0 0 +209 1 1.0862000000000000e+01 1.0862000000000000e+01 5.4310000000000000e+00 0 0 0 +210 1 1.0862000000000000e+01 1.3577500000000001e+01 8.1464999999999996e+00 0 0 0 +211 1 1.3577500000000001e+01 1.0862000000000000e+01 8.1464999999999996e+00 0 0 0 +212 1 1.3577500000000001e+01 1.3577500000000001e+01 5.4310000000000000e+00 0 0 0 +213 1 1.2219749999999999e+01 1.2219749999999999e+01 6.7887500000000003e+00 0 0 0 +214 1 1.2219749999999999e+01 1.4935250000000000e+01 9.5042500000000008e+00 0 0 0 +215 1 1.4935250000000000e+01 1.2219749999999999e+01 9.5042500000000008e+00 0 0 0 +216 1 1.4935250000000000e+01 1.4935250000000000e+01 6.7887500000000003e+00 0 0 0 +217 1 1.6292999999999999e+01 1.0862000000000000e+01 5.4310000000000000e+00 0 0 0 +218 1 1.6292999999999999e+01 1.3577500000000001e+01 8.1464999999999996e+00 0 0 0 +219 1 1.9008500000000002e+01 1.0862000000000000e+01 8.1464999999999996e+00 0 0 0 +220 1 1.9008500000000002e+01 1.3577500000000001e+01 5.4310000000000000e+00 0 0 0 +221 1 1.7650749999999999e+01 1.2219749999999999e+01 6.7887500000000003e+00 0 0 0 +222 1 1.7650749999999999e+01 1.4935250000000000e+01 9.5042500000000008e+00 0 0 0 +223 1 2.0366250000000001e+01 1.2219749999999999e+01 9.5042500000000008e+00 0 0 0 +224 1 2.0366250000000001e+01 1.4935250000000000e+01 6.7887500000000003e+00 0 0 0 +225 1 0.0000000000000000e+00 1.6292999999999999e+01 5.4310000000000000e+00 0 0 0 +226 1 0.0000000000000000e+00 1.9008500000000002e+01 8.1464999999999996e+00 0 0 0 +227 1 2.7155000000000000e+00 1.6292999999999999e+01 8.1464999999999996e+00 0 0 0 +228 1 2.7155000000000000e+00 1.9008500000000002e+01 5.4310000000000000e+00 0 0 0 +229 1 1.3577500000000000e+00 1.7650749999999999e+01 6.7887500000000003e+00 0 0 0 +230 1 1.3577500000000000e+00 2.0366250000000001e+01 9.5042500000000008e+00 0 0 0 +231 1 4.0732499999999998e+00 1.7650749999999999e+01 9.5042500000000008e+00 0 0 0 +232 1 4.0732499999999998e+00 2.0366250000000001e+01 6.7887500000000003e+00 0 0 0 +233 1 5.4310000000000000e+00 1.6292999999999999e+01 5.4310000000000000e+00 0 0 0 +234 1 5.4310000000000000e+00 1.9008500000000002e+01 8.1464999999999996e+00 0 0 0 +235 1 8.1464999999999996e+00 1.6292999999999999e+01 8.1464999999999996e+00 0 0 0 +236 1 8.1464999999999996e+00 1.9008500000000002e+01 5.4310000000000000e+00 0 0 0 +237 1 6.7887500000000003e+00 1.7650749999999999e+01 6.7887500000000003e+00 0 0 0 +238 1 6.7887500000000003e+00 2.0366250000000001e+01 9.5042500000000008e+00 0 0 0 +239 1 9.5042500000000008e+00 1.7650749999999999e+01 9.5042500000000008e+00 0 0 0 +240 1 9.5042500000000008e+00 2.0366250000000001e+01 6.7887500000000003e+00 0 0 0 +241 1 1.0862000000000000e+01 1.6292999999999999e+01 5.4310000000000000e+00 0 0 0 +242 1 1.0862000000000000e+01 1.9008500000000002e+01 8.1464999999999996e+00 0 0 0 +243 1 1.3577500000000001e+01 1.6292999999999999e+01 8.1464999999999996e+00 0 0 0 +244 1 1.3577500000000001e+01 1.9008500000000002e+01 5.4310000000000000e+00 0 0 0 +245 1 1.2219749999999999e+01 1.7650749999999999e+01 6.7887500000000003e+00 0 0 0 +246 1 1.2219749999999999e+01 2.0366250000000001e+01 9.5042500000000008e+00 0 0 0 +247 1 1.4935250000000000e+01 1.7650749999999999e+01 9.5042500000000008e+00 0 0 0 +248 1 1.4935250000000000e+01 2.0366250000000001e+01 6.7887500000000003e+00 0 0 0 +249 1 1.6292999999999999e+01 1.6292999999999999e+01 5.4310000000000000e+00 0 0 0 +250 1 1.6292999999999999e+01 1.9008500000000002e+01 8.1464999999999996e+00 0 0 0 +251 1 1.9008500000000002e+01 1.6292999999999999e+01 8.1464999999999996e+00 0 0 0 +252 1 1.9008500000000002e+01 1.9008500000000002e+01 5.4310000000000000e+00 0 0 0 +253 1 1.7650749999999999e+01 1.7650749999999999e+01 6.7887500000000003e+00 0 0 0 +254 1 1.7650749999999999e+01 2.0366250000000001e+01 9.5042500000000008e+00 0 0 0 +255 1 2.0366250000000001e+01 1.7650749999999999e+01 9.5042500000000008e+00 0 0 0 +256 1 2.0366250000000001e+01 2.0366250000000001e+01 6.7887500000000003e+00 0 0 0 +257 1 0.0000000000000000e+00 0.0000000000000000e+00 1.0862000000000000e+01 0 0 0 +258 1 0.0000000000000000e+00 2.7155000000000000e+00 1.3577500000000001e+01 0 0 0 +259 1 2.7155000000000000e+00 0.0000000000000000e+00 1.3577500000000001e+01 0 0 0 +260 1 2.7155000000000000e+00 2.7155000000000000e+00 1.0862000000000000e+01 0 0 0 +261 1 1.3577500000000000e+00 1.3577500000000000e+00 1.2219749999999999e+01 0 0 0 +262 1 1.3577500000000000e+00 4.0732499999999998e+00 1.4935250000000000e+01 0 0 0 +263 1 4.0732499999999998e+00 1.3577500000000000e+00 1.4935250000000000e+01 0 0 0 +264 1 4.0732499999999998e+00 4.0732499999999998e+00 1.2219749999999999e+01 0 0 0 +265 1 5.4310000000000000e+00 0.0000000000000000e+00 1.0862000000000000e+01 0 0 0 +266 1 5.4310000000000000e+00 2.7155000000000000e+00 1.3577500000000001e+01 0 0 0 +267 1 8.1464999999999996e+00 0.0000000000000000e+00 1.3577500000000001e+01 0 0 0 +268 1 8.1464999999999996e+00 2.7155000000000000e+00 1.0862000000000000e+01 0 0 0 +269 1 6.7887500000000003e+00 1.3577500000000000e+00 1.2219749999999999e+01 0 0 0 +270 1 6.7887500000000003e+00 4.0732499999999998e+00 1.4935250000000000e+01 0 0 0 +271 1 9.5042500000000008e+00 1.3577500000000000e+00 1.4935250000000000e+01 0 0 0 +272 1 9.5042500000000008e+00 4.0732499999999998e+00 1.2219749999999999e+01 0 0 0 +273 1 1.0862000000000000e+01 0.0000000000000000e+00 1.0862000000000000e+01 0 0 0 +274 1 1.0862000000000000e+01 2.7155000000000000e+00 1.3577500000000001e+01 0 0 0 +275 1 1.3577500000000001e+01 0.0000000000000000e+00 1.3577500000000001e+01 0 0 0 +276 1 1.3577500000000001e+01 2.7155000000000000e+00 1.0862000000000000e+01 0 0 0 +277 1 1.2219749999999999e+01 1.3577500000000000e+00 1.2219749999999999e+01 0 0 0 +278 1 1.2219749999999999e+01 4.0732499999999998e+00 1.4935250000000000e+01 0 0 0 +279 1 1.4935250000000000e+01 1.3577500000000000e+00 1.4935250000000000e+01 0 0 0 +280 1 1.4935250000000000e+01 4.0732499999999998e+00 1.2219749999999999e+01 0 0 0 +281 1 1.6292999999999999e+01 0.0000000000000000e+00 1.0862000000000000e+01 0 0 0 +282 1 1.6292999999999999e+01 2.7155000000000000e+00 1.3577500000000001e+01 0 0 0 +283 1 1.9008500000000002e+01 0.0000000000000000e+00 1.3577500000000001e+01 0 0 0 +284 1 1.9008500000000002e+01 2.7155000000000000e+00 1.0862000000000000e+01 0 0 0 +285 1 1.7650749999999999e+01 1.3577500000000000e+00 1.2219749999999999e+01 0 0 0 +286 1 1.7650749999999999e+01 4.0732499999999998e+00 1.4935250000000000e+01 0 0 0 +287 1 2.0366250000000001e+01 1.3577500000000000e+00 1.4935250000000000e+01 0 0 0 +288 1 2.0366250000000001e+01 4.0732499999999998e+00 1.2219749999999999e+01 0 0 0 +289 1 0.0000000000000000e+00 5.4310000000000000e+00 1.0862000000000000e+01 0 0 0 +290 1 0.0000000000000000e+00 8.1464999999999996e+00 1.3577500000000001e+01 0 0 0 +291 1 2.7155000000000000e+00 5.4310000000000000e+00 1.3577500000000001e+01 0 0 0 +292 1 2.7155000000000000e+00 8.1464999999999996e+00 1.0862000000000000e+01 0 0 0 +293 1 1.3577500000000000e+00 6.7887500000000003e+00 1.2219749999999999e+01 0 0 0 +294 1 1.3577500000000000e+00 9.5042500000000008e+00 1.4935250000000000e+01 0 0 0 +295 1 4.0732499999999998e+00 6.7887500000000003e+00 1.4935250000000000e+01 0 0 0 +296 1 4.0732499999999998e+00 9.5042500000000008e+00 1.2219749999999999e+01 0 0 0 +297 1 5.4310000000000000e+00 5.4310000000000000e+00 1.0862000000000000e+01 0 0 0 +298 1 5.4310000000000000e+00 8.1464999999999996e+00 1.3577500000000001e+01 0 0 0 +299 1 8.1464999999999996e+00 5.4310000000000000e+00 1.3577500000000001e+01 0 0 0 +300 1 8.1464999999999996e+00 8.1464999999999996e+00 1.0862000000000000e+01 0 0 0 +301 1 6.7887500000000003e+00 6.7887500000000003e+00 1.2219749999999999e+01 0 0 0 +302 1 6.7887500000000003e+00 9.5042500000000008e+00 1.4935250000000000e+01 0 0 0 +303 1 9.5042500000000008e+00 6.7887500000000003e+00 1.4935250000000000e+01 0 0 0 +304 1 9.5042500000000008e+00 9.5042500000000008e+00 1.2219749999999999e+01 0 0 0 +305 1 1.0862000000000000e+01 5.4310000000000000e+00 1.0862000000000000e+01 0 0 0 +306 1 1.0862000000000000e+01 8.1464999999999996e+00 1.3577500000000001e+01 0 0 0 +307 1 1.3577500000000001e+01 5.4310000000000000e+00 1.3577500000000001e+01 0 0 0 +308 1 1.3577500000000001e+01 8.1464999999999996e+00 1.0862000000000000e+01 0 0 0 +309 1 1.2219749999999999e+01 6.7887500000000003e+00 1.2219749999999999e+01 0 0 0 +310 1 1.2219749999999999e+01 9.5042500000000008e+00 1.4935250000000000e+01 0 0 0 +311 1 1.4935250000000000e+01 6.7887500000000003e+00 1.4935250000000000e+01 0 0 0 +312 1 1.4935250000000000e+01 9.5042500000000008e+00 1.2219749999999999e+01 0 0 0 +313 1 1.6292999999999999e+01 5.4310000000000000e+00 1.0862000000000000e+01 0 0 0 +314 1 1.6292999999999999e+01 8.1464999999999996e+00 1.3577500000000001e+01 0 0 0 +315 1 1.9008500000000002e+01 5.4310000000000000e+00 1.3577500000000001e+01 0 0 0 +316 1 1.9008500000000002e+01 8.1464999999999996e+00 1.0862000000000000e+01 0 0 0 +317 1 1.7650749999999999e+01 6.7887500000000003e+00 1.2219749999999999e+01 0 0 0 +318 1 1.7650749999999999e+01 9.5042500000000008e+00 1.4935250000000000e+01 0 0 0 +319 1 2.0366250000000001e+01 6.7887500000000003e+00 1.4935250000000000e+01 0 0 0 +320 1 2.0366250000000001e+01 9.5042500000000008e+00 1.2219749999999999e+01 0 0 0 +321 1 0.0000000000000000e+00 1.0862000000000000e+01 1.0862000000000000e+01 0 0 0 +322 1 0.0000000000000000e+00 1.3577500000000001e+01 1.3577500000000001e+01 0 0 0 +323 1 2.7155000000000000e+00 1.0862000000000000e+01 1.3577500000000001e+01 0 0 0 +324 1 2.7155000000000000e+00 1.3577500000000001e+01 1.0862000000000000e+01 0 0 0 +325 1 1.3577500000000000e+00 1.2219749999999999e+01 1.2219749999999999e+01 0 0 0 +326 1 1.3577500000000000e+00 1.4935250000000000e+01 1.4935250000000000e+01 0 0 0 +327 1 4.0732499999999998e+00 1.2219749999999999e+01 1.4935250000000000e+01 0 0 0 +328 1 4.0732499999999998e+00 1.4935250000000000e+01 1.2219749999999999e+01 0 0 0 +329 1 5.4310000000000000e+00 1.0862000000000000e+01 1.0862000000000000e+01 0 0 0 +330 1 5.4310000000000000e+00 1.3577500000000001e+01 1.3577500000000001e+01 0 0 0 +331 1 8.1464999999999996e+00 1.0862000000000000e+01 1.3577500000000001e+01 0 0 0 +332 1 8.1464999999999996e+00 1.3577500000000001e+01 1.0862000000000000e+01 0 0 0 +333 1 6.7887500000000003e+00 1.2219749999999999e+01 1.2219749999999999e+01 0 0 0 +334 1 6.7887500000000003e+00 1.4935250000000000e+01 1.4935250000000000e+01 0 0 0 +335 1 9.5042500000000008e+00 1.2219749999999999e+01 1.4935250000000000e+01 0 0 0 +336 1 9.5042500000000008e+00 1.4935250000000000e+01 1.2219749999999999e+01 0 0 0 +337 1 1.0862000000000000e+01 1.0862000000000000e+01 1.0862000000000000e+01 0 0 0 +338 1 1.0862000000000000e+01 1.3577500000000001e+01 1.3577500000000001e+01 0 0 0 +339 1 1.3577500000000001e+01 1.0862000000000000e+01 1.3577500000000001e+01 0 0 0 +340 1 1.3577500000000001e+01 1.3577500000000001e+01 1.0862000000000000e+01 0 0 0 +341 1 1.2219749999999999e+01 1.2219749999999999e+01 1.2219749999999999e+01 0 0 0 +342 1 1.2219749999999999e+01 1.4935250000000000e+01 1.4935250000000000e+01 0 0 0 +343 1 1.4935250000000000e+01 1.2219749999999999e+01 1.4935250000000000e+01 0 0 0 +344 1 1.4935250000000000e+01 1.4935250000000000e+01 1.2219749999999999e+01 0 0 0 +345 1 1.6292999999999999e+01 1.0862000000000000e+01 1.0862000000000000e+01 0 0 0 +346 1 1.6292999999999999e+01 1.3577500000000001e+01 1.3577500000000001e+01 0 0 0 +347 1 1.9008500000000002e+01 1.0862000000000000e+01 1.3577500000000001e+01 0 0 0 +348 1 1.9008500000000002e+01 1.3577500000000001e+01 1.0862000000000000e+01 0 0 0 +349 1 1.7650749999999999e+01 1.2219749999999999e+01 1.2219749999999999e+01 0 0 0 +350 1 1.7650749999999999e+01 1.4935250000000000e+01 1.4935250000000000e+01 0 0 0 +351 1 2.0366250000000001e+01 1.2219749999999999e+01 1.4935250000000000e+01 0 0 0 +352 1 2.0366250000000001e+01 1.4935250000000000e+01 1.2219749999999999e+01 0 0 0 +353 1 0.0000000000000000e+00 1.6292999999999999e+01 1.0862000000000000e+01 0 0 0 +354 1 0.0000000000000000e+00 1.9008500000000002e+01 1.3577500000000001e+01 0 0 0 +355 1 2.7155000000000000e+00 1.6292999999999999e+01 1.3577500000000001e+01 0 0 0 +356 1 2.7155000000000000e+00 1.9008500000000002e+01 1.0862000000000000e+01 0 0 0 +357 1 1.3577500000000000e+00 1.7650749999999999e+01 1.2219749999999999e+01 0 0 0 +358 1 1.3577500000000000e+00 2.0366250000000001e+01 1.4935250000000000e+01 0 0 0 +359 1 4.0732499999999998e+00 1.7650749999999999e+01 1.4935250000000000e+01 0 0 0 +360 1 4.0732499999999998e+00 2.0366250000000001e+01 1.2219749999999999e+01 0 0 0 +361 1 5.4310000000000000e+00 1.6292999999999999e+01 1.0862000000000000e+01 0 0 0 +362 1 5.4310000000000000e+00 1.9008500000000002e+01 1.3577500000000001e+01 0 0 0 +363 1 8.1464999999999996e+00 1.6292999999999999e+01 1.3577500000000001e+01 0 0 0 +364 1 8.1464999999999996e+00 1.9008500000000002e+01 1.0862000000000000e+01 0 0 0 +365 1 6.7887500000000003e+00 1.7650749999999999e+01 1.2219749999999999e+01 0 0 0 +366 1 6.7887500000000003e+00 2.0366250000000001e+01 1.4935250000000000e+01 0 0 0 +367 1 9.5042500000000008e+00 1.7650749999999999e+01 1.4935250000000000e+01 0 0 0 +368 1 9.5042500000000008e+00 2.0366250000000001e+01 1.2219749999999999e+01 0 0 0 +369 1 1.0862000000000000e+01 1.6292999999999999e+01 1.0862000000000000e+01 0 0 0 +370 1 1.0862000000000000e+01 1.9008500000000002e+01 1.3577500000000001e+01 0 0 0 +371 1 1.3577500000000001e+01 1.6292999999999999e+01 1.3577500000000001e+01 0 0 0 +372 1 1.3577500000000001e+01 1.9008500000000002e+01 1.0862000000000000e+01 0 0 0 +373 1 1.2219749999999999e+01 1.7650749999999999e+01 1.2219749999999999e+01 0 0 0 +374 1 1.2219749999999999e+01 2.0366250000000001e+01 1.4935250000000000e+01 0 0 0 +375 1 1.4935250000000000e+01 1.7650749999999999e+01 1.4935250000000000e+01 0 0 0 +376 1 1.4935250000000000e+01 2.0366250000000001e+01 1.2219749999999999e+01 0 0 0 +377 1 1.6292999999999999e+01 1.6292999999999999e+01 1.0862000000000000e+01 0 0 0 +378 1 1.6292999999999999e+01 1.9008500000000002e+01 1.3577500000000001e+01 0 0 0 +379 1 1.9008500000000002e+01 1.6292999999999999e+01 1.3577500000000001e+01 0 0 0 +380 1 1.9008500000000002e+01 1.9008500000000002e+01 1.0862000000000000e+01 0 0 0 +381 1 1.7650749999999999e+01 1.7650749999999999e+01 1.2219749999999999e+01 0 0 0 +382 1 1.7650749999999999e+01 2.0366250000000001e+01 1.4935250000000000e+01 0 0 0 +383 1 2.0366250000000001e+01 1.7650749999999999e+01 1.4935250000000000e+01 0 0 0 +384 1 2.0366250000000001e+01 2.0366250000000001e+01 1.2219749999999999e+01 0 0 0 +385 1 0.0000000000000000e+00 0.0000000000000000e+00 1.6292999999999999e+01 0 0 0 +386 1 0.0000000000000000e+00 2.7155000000000000e+00 1.9008500000000002e+01 0 0 0 +387 1 2.7155000000000000e+00 0.0000000000000000e+00 1.9008500000000002e+01 0 0 0 +388 1 2.7155000000000000e+00 2.7155000000000000e+00 1.6292999999999999e+01 0 0 0 +389 1 1.3577500000000000e+00 1.3577500000000000e+00 1.7650749999999999e+01 0 0 0 +390 1 1.3577500000000000e+00 4.0732499999999998e+00 2.0366250000000001e+01 0 0 0 +391 1 4.0732499999999998e+00 1.3577500000000000e+00 2.0366250000000001e+01 0 0 0 +392 1 4.0732499999999998e+00 4.0732499999999998e+00 1.7650749999999999e+01 0 0 0 +393 1 5.4310000000000000e+00 0.0000000000000000e+00 1.6292999999999999e+01 0 0 0 +394 1 5.4310000000000000e+00 2.7155000000000000e+00 1.9008500000000002e+01 0 0 0 +395 1 8.1464999999999996e+00 0.0000000000000000e+00 1.9008500000000002e+01 0 0 0 +396 1 8.1464999999999996e+00 2.7155000000000000e+00 1.6292999999999999e+01 0 0 0 +397 1 6.7887500000000003e+00 1.3577500000000000e+00 1.7650749999999999e+01 0 0 0 +398 1 6.7887500000000003e+00 4.0732499999999998e+00 2.0366250000000001e+01 0 0 0 +399 1 9.5042500000000008e+00 1.3577500000000000e+00 2.0366250000000001e+01 0 0 0 +400 1 9.5042500000000008e+00 4.0732499999999998e+00 1.7650749999999999e+01 0 0 0 +401 1 1.0862000000000000e+01 0.0000000000000000e+00 1.6292999999999999e+01 0 0 0 +402 1 1.0862000000000000e+01 2.7155000000000000e+00 1.9008500000000002e+01 0 0 0 +403 1 1.3577500000000001e+01 0.0000000000000000e+00 1.9008500000000002e+01 0 0 0 +404 1 1.3577500000000001e+01 2.7155000000000000e+00 1.6292999999999999e+01 0 0 0 +405 1 1.2219749999999999e+01 1.3577500000000000e+00 1.7650749999999999e+01 0 0 0 +406 1 1.2219749999999999e+01 4.0732499999999998e+00 2.0366250000000001e+01 0 0 0 +407 1 1.4935250000000000e+01 1.3577500000000000e+00 2.0366250000000001e+01 0 0 0 +408 1 1.4935250000000000e+01 4.0732499999999998e+00 1.7650749999999999e+01 0 0 0 +409 1 1.6292999999999999e+01 0.0000000000000000e+00 1.6292999999999999e+01 0 0 0 +410 1 1.6292999999999999e+01 2.7155000000000000e+00 1.9008500000000002e+01 0 0 0 +411 1 1.9008500000000002e+01 0.0000000000000000e+00 1.9008500000000002e+01 0 0 0 +412 1 1.9008500000000002e+01 2.7155000000000000e+00 1.6292999999999999e+01 0 0 0 +413 1 1.7650749999999999e+01 1.3577500000000000e+00 1.7650749999999999e+01 0 0 0 +414 1 1.7650749999999999e+01 4.0732499999999998e+00 2.0366250000000001e+01 0 0 0 +415 1 2.0366250000000001e+01 1.3577500000000000e+00 2.0366250000000001e+01 0 0 0 +416 1 2.0366250000000001e+01 4.0732499999999998e+00 1.7650749999999999e+01 0 0 0 +417 1 0.0000000000000000e+00 5.4310000000000000e+00 1.6292999999999999e+01 0 0 0 +418 1 0.0000000000000000e+00 8.1464999999999996e+00 1.9008500000000002e+01 0 0 0 +419 1 2.7155000000000000e+00 5.4310000000000000e+00 1.9008500000000002e+01 0 0 0 +420 1 2.7155000000000000e+00 8.1464999999999996e+00 1.6292999999999999e+01 0 0 0 +421 1 1.3577500000000000e+00 6.7887500000000003e+00 1.7650749999999999e+01 0 0 0 +422 1 1.3577500000000000e+00 9.5042500000000008e+00 2.0366250000000001e+01 0 0 0 +423 1 4.0732499999999998e+00 6.7887500000000003e+00 2.0366250000000001e+01 0 0 0 +424 1 4.0732499999999998e+00 9.5042500000000008e+00 1.7650749999999999e+01 0 0 0 +425 1 5.4310000000000000e+00 5.4310000000000000e+00 1.6292999999999999e+01 0 0 0 +426 1 5.4310000000000000e+00 8.1464999999999996e+00 1.9008500000000002e+01 0 0 0 +427 1 8.1464999999999996e+00 5.4310000000000000e+00 1.9008500000000002e+01 0 0 0 +428 1 8.1464999999999996e+00 8.1464999999999996e+00 1.6292999999999999e+01 0 0 0 +429 1 6.7887500000000003e+00 6.7887500000000003e+00 1.7650749999999999e+01 0 0 0 +430 1 6.7887500000000003e+00 9.5042500000000008e+00 2.0366250000000001e+01 0 0 0 +431 1 9.5042500000000008e+00 6.7887500000000003e+00 2.0366250000000001e+01 0 0 0 +432 1 9.5042500000000008e+00 9.5042500000000008e+00 1.7650749999999999e+01 0 0 0 +433 1 1.0862000000000000e+01 5.4310000000000000e+00 1.6292999999999999e+01 0 0 0 +434 1 1.0862000000000000e+01 8.1464999999999996e+00 1.9008500000000002e+01 0 0 0 +435 1 1.3577500000000001e+01 5.4310000000000000e+00 1.9008500000000002e+01 0 0 0 +436 1 1.3577500000000001e+01 8.1464999999999996e+00 1.6292999999999999e+01 0 0 0 +437 1 1.2219749999999999e+01 6.7887500000000003e+00 1.7650749999999999e+01 0 0 0 +438 1 1.2219749999999999e+01 9.5042500000000008e+00 2.0366250000000001e+01 0 0 0 +439 1 1.4935250000000000e+01 6.7887500000000003e+00 2.0366250000000001e+01 0 0 0 +440 1 1.4935250000000000e+01 9.5042500000000008e+00 1.7650749999999999e+01 0 0 0 +441 1 1.6292999999999999e+01 5.4310000000000000e+00 1.6292999999999999e+01 0 0 0 +442 1 1.6292999999999999e+01 8.1464999999999996e+00 1.9008500000000002e+01 0 0 0 +443 1 1.9008500000000002e+01 5.4310000000000000e+00 1.9008500000000002e+01 0 0 0 +444 1 1.9008500000000002e+01 8.1464999999999996e+00 1.6292999999999999e+01 0 0 0 +445 1 1.7650749999999999e+01 6.7887500000000003e+00 1.7650749999999999e+01 0 0 0 +446 1 1.7650749999999999e+01 9.5042500000000008e+00 2.0366250000000001e+01 0 0 0 +447 1 2.0366250000000001e+01 6.7887500000000003e+00 2.0366250000000001e+01 0 0 0 +448 1 2.0366250000000001e+01 9.5042500000000008e+00 1.7650749999999999e+01 0 0 0 +449 1 0.0000000000000000e+00 1.0862000000000000e+01 1.6292999999999999e+01 0 0 0 +450 1 0.0000000000000000e+00 1.3577500000000001e+01 1.9008500000000002e+01 0 0 0 +451 1 2.7155000000000000e+00 1.0862000000000000e+01 1.9008500000000002e+01 0 0 0 +452 1 2.7155000000000000e+00 1.3577500000000001e+01 1.6292999999999999e+01 0 0 0 +453 1 1.3577500000000000e+00 1.2219749999999999e+01 1.7650749999999999e+01 0 0 0 +454 1 1.3577500000000000e+00 1.4935250000000000e+01 2.0366250000000001e+01 0 0 0 +455 1 4.0732499999999998e+00 1.2219749999999999e+01 2.0366250000000001e+01 0 0 0 +456 1 4.0732499999999998e+00 1.4935250000000000e+01 1.7650749999999999e+01 0 0 0 +457 1 5.4310000000000000e+00 1.0862000000000000e+01 1.6292999999999999e+01 0 0 0 +458 1 5.4310000000000000e+00 1.3577500000000001e+01 1.9008500000000002e+01 0 0 0 +459 1 8.1464999999999996e+00 1.0862000000000000e+01 1.9008500000000002e+01 0 0 0 +460 1 8.1464999999999996e+00 1.3577500000000001e+01 1.6292999999999999e+01 0 0 0 +461 1 6.7887500000000003e+00 1.2219749999999999e+01 1.7650749999999999e+01 0 0 0 +462 1 6.7887500000000003e+00 1.4935250000000000e+01 2.0366250000000001e+01 0 0 0 +463 1 9.5042500000000008e+00 1.2219749999999999e+01 2.0366250000000001e+01 0 0 0 +464 1 9.5042500000000008e+00 1.4935250000000000e+01 1.7650749999999999e+01 0 0 0 +465 1 1.0862000000000000e+01 1.0862000000000000e+01 1.6292999999999999e+01 0 0 0 +466 1 1.0862000000000000e+01 1.3577500000000001e+01 1.9008500000000002e+01 0 0 0 +467 1 1.3577500000000001e+01 1.0862000000000000e+01 1.9008500000000002e+01 0 0 0 +468 1 1.3577500000000001e+01 1.3577500000000001e+01 1.6292999999999999e+01 0 0 0 +469 1 1.2219749999999999e+01 1.2219749999999999e+01 1.7650749999999999e+01 0 0 0 +470 1 1.2219749999999999e+01 1.4935250000000000e+01 2.0366250000000001e+01 0 0 0 +471 1 1.4935250000000000e+01 1.2219749999999999e+01 2.0366250000000001e+01 0 0 0 +472 1 1.4935250000000000e+01 1.4935250000000000e+01 1.7650749999999999e+01 0 0 0 +473 1 1.6292999999999999e+01 1.0862000000000000e+01 1.6292999999999999e+01 0 0 0 +474 1 1.6292999999999999e+01 1.3577500000000001e+01 1.9008500000000002e+01 0 0 0 +475 1 1.9008500000000002e+01 1.0862000000000000e+01 1.9008500000000002e+01 0 0 0 +476 1 1.9008500000000002e+01 1.3577500000000001e+01 1.6292999999999999e+01 0 0 0 +477 1 1.7650749999999999e+01 1.2219749999999999e+01 1.7650749999999999e+01 0 0 0 +478 1 1.7650749999999999e+01 1.4935250000000000e+01 2.0366250000000001e+01 0 0 0 +479 1 2.0366250000000001e+01 1.2219749999999999e+01 2.0366250000000001e+01 0 0 0 +480 1 2.0366250000000001e+01 1.4935250000000000e+01 1.7650749999999999e+01 0 0 0 +481 1 0.0000000000000000e+00 1.6292999999999999e+01 1.6292999999999999e+01 0 0 0 +482 1 0.0000000000000000e+00 1.9008500000000002e+01 1.9008500000000002e+01 0 0 0 +483 1 2.7155000000000000e+00 1.6292999999999999e+01 1.9008500000000002e+01 0 0 0 +484 1 2.7155000000000000e+00 1.9008500000000002e+01 1.6292999999999999e+01 0 0 0 +485 1 1.3577500000000000e+00 1.7650749999999999e+01 1.7650749999999999e+01 0 0 0 +486 1 1.3577500000000000e+00 2.0366250000000001e+01 2.0366250000000001e+01 0 0 0 +487 1 4.0732499999999998e+00 1.7650749999999999e+01 2.0366250000000001e+01 0 0 0 +488 1 4.0732499999999998e+00 2.0366250000000001e+01 1.7650749999999999e+01 0 0 0 +489 1 5.4310000000000000e+00 1.6292999999999999e+01 1.6292999999999999e+01 0 0 0 +490 1 5.4310000000000000e+00 1.9008500000000002e+01 1.9008500000000002e+01 0 0 0 +491 1 8.1464999999999996e+00 1.6292999999999999e+01 1.9008500000000002e+01 0 0 0 +492 1 8.1464999999999996e+00 1.9008500000000002e+01 1.6292999999999999e+01 0 0 0 +493 1 6.7887500000000003e+00 1.7650749999999999e+01 1.7650749999999999e+01 0 0 0 +494 1 6.7887500000000003e+00 2.0366250000000001e+01 2.0366250000000001e+01 0 0 0 +495 1 9.5042500000000008e+00 1.7650749999999999e+01 2.0366250000000001e+01 0 0 0 +496 1 9.5042500000000008e+00 2.0366250000000001e+01 1.7650749999999999e+01 0 0 0 +497 1 1.0862000000000000e+01 1.6292999999999999e+01 1.6292999999999999e+01 0 0 0 +498 1 1.0862000000000000e+01 1.9008500000000002e+01 1.9008500000000002e+01 0 0 0 +499 1 1.3577500000000001e+01 1.6292999999999999e+01 1.9008500000000002e+01 0 0 0 +500 1 1.3577500000000001e+01 1.9008500000000002e+01 1.6292999999999999e+01 0 0 0 +501 1 1.2219749999999999e+01 1.7650749999999999e+01 1.7650749999999999e+01 0 0 0 +502 1 1.2219749999999999e+01 2.0366250000000001e+01 2.0366250000000001e+01 0 0 0 +503 1 1.4935250000000000e+01 1.7650749999999999e+01 2.0366250000000001e+01 0 0 0 +504 1 1.4935250000000000e+01 2.0366250000000001e+01 1.7650749999999999e+01 0 0 0 +505 1 1.6292999999999999e+01 1.6292999999999999e+01 1.6292999999999999e+01 0 0 0 +506 1 1.6292999999999999e+01 1.9008500000000002e+01 1.9008500000000002e+01 0 0 0 +507 1 1.9008500000000002e+01 1.6292999999999999e+01 1.9008500000000002e+01 0 0 0 +508 1 1.9008500000000002e+01 1.9008500000000002e+01 1.6292999999999999e+01 0 0 0 +509 1 1.7650749999999999e+01 1.7650749999999999e+01 1.7650749999999999e+01 0 0 0 +510 1 1.7650749999999999e+01 2.0366250000000001e+01 2.0366250000000001e+01 0 0 0 +511 1 2.0366250000000001e+01 1.7650749999999999e+01 2.0366250000000001e+01 0 0 0 +512 1 2.0366250000000001e+01 2.0366250000000001e+01 1.7650749999999999e+01 0 0 0 + +Velocities + +1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +4 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +6 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +7 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +8 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +10 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +11 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +12 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +45 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +46 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +47 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +48 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +49 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +50 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +51 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +52 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +53 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +54 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +55 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +56 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +57 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +58 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +59 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +60 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +61 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +62 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +63 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +64 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +65 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +66 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +67 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +68 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +69 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +70 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +71 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +72 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +73 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +74 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +75 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +76 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +77 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +78 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +79 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +80 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +81 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +82 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +83 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +84 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +85 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +86 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +87 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +88 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +89 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +90 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +91 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +92 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +93 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +94 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +95 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +96 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +97 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +98 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +99 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +100 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +101 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +102 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +103 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +104 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +105 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +106 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +107 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +108 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +109 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +110 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +111 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +112 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +113 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +114 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +115 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +116 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +117 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +118 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +119 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +120 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +121 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +122 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +123 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +124 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +125 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +126 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +127 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +128 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +129 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +130 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +131 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +132 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +133 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +134 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +135 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +136 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +137 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +138 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +139 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +140 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +141 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +142 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +143 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +144 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +145 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +146 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +147 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +148 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +149 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +150 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +151 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +152 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +153 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +154 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +155 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +156 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +157 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +158 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +159 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +160 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +161 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +162 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +163 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +164 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +165 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +166 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +167 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +168 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +169 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +170 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +171 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +172 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +173 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +174 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +175 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +176 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +177 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +178 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +179 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +180 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +181 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +182 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +183 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +184 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +185 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +186 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +187 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +188 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +189 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +190 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +191 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +192 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +193 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +194 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +195 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +196 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +197 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +198 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +199 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +200 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +201 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +202 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +203 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +204 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +205 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +206 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +207 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +208 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +209 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +210 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +211 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +212 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +213 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +214 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +215 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +216 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +217 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +218 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +219 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +220 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +221 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +222 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +223 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +224 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +225 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +226 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +227 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +228 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +229 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +230 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +231 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +232 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +233 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +234 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +235 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +236 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +237 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +238 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +239 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +240 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +241 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +242 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +243 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +244 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +245 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +246 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +247 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +248 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +249 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +250 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +251 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +252 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +253 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +254 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +255 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +256 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +257 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +258 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +259 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +260 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +261 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +262 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +263 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +264 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +265 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +266 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +267 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +268 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +269 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +270 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +271 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +272 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +273 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +274 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +275 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +276 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +277 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +278 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +279 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +280 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +281 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +282 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +283 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +284 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +285 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +286 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +287 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +288 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +289 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +290 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +291 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +292 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +293 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +294 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +295 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +296 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +297 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +298 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +299 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +300 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +301 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +302 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +303 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +304 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +305 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +306 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +307 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +308 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +309 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +310 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +311 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +312 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +313 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +314 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +315 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +316 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +317 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +318 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +319 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +320 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +321 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +322 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +323 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +324 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +325 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +326 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +327 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +328 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +329 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +330 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +331 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +332 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +333 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +334 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +335 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +336 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +337 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +338 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +339 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +340 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +341 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +342 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +343 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +344 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +345 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +346 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +347 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +348 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +349 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +350 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +351 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +352 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +353 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +354 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +355 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +356 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +357 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +358 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +359 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +360 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +361 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +362 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +363 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +364 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +365 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +366 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +367 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +368 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +369 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +370 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +371 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +372 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +373 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +374 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +375 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +376 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +377 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +378 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +379 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +380 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +381 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +382 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +383 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +384 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +385 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +386 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +387 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +388 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +389 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +390 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +391 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +392 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +393 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +394 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +395 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +396 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +397 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +398 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +399 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +400 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +401 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +402 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +403 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +404 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +405 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +406 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +407 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +408 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +409 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +410 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +411 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +412 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +413 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +414 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +415 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +416 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +417 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +418 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +419 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +420 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +421 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +422 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +423 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +424 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +425 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +426 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +427 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +428 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +429 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +430 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +431 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +432 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +433 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +434 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +435 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +436 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +437 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +438 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +439 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +440 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +441 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +442 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +443 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +444 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +445 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +446 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +447 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +448 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +449 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +450 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +451 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +452 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +453 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +454 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +455 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +456 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +457 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +458 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +459 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +460 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +461 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +462 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +463 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +464 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +465 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +466 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +467 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +468 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +469 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +470 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +471 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +472 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +473 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +474 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +475 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +476 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +477 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +478 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +479 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +480 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +481 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +482 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +483 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +484 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +485 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +486 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +487 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +488 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +489 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +490 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +491 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +492 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +493 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +494 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +495 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +496 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +497 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +498 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +499 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +500 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +501 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +502 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +503 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +504 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +505 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +506 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +507 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +508 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +509 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +510 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +511 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +512 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/examples/fire/log.09Janv20.cg.g++.1 b/examples/fire/log.09Janv20.cg.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..ca0e986116ae7db5ff570f97a065dd3da4fa113a --- /dev/null +++ b/examples/fire/log.09Janv20.cg.g++.1 @@ -0,0 +1,155 @@ +LAMMPS (09 Jan 2020) +# 2d Lennard-Jones melt and subsequent energy minimization + +units lj +dimension 2 +atom_style atomic + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box block 0 20 0 20 -0.1 0.1 +create_box 1 box +Created orthogonal box = (0 0 -0.153919) to (30.7838 30.7838 0.153919) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 800 atoms + create_atoms CPU = 0.000325 secs +mass 1 1.0 + +velocity all create 5.0 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all enforce2d + +#dump 1 all atom 100 dump.min + +#dump 2 all image 50 image.*.jpg type type # zoom 1.6 adiam 1.5 +#dump_modify 2 pad 4 + +#dump 3 all movie 50 movie.mpg type type # zoom 1.6 adiam 1.5 +#dump_modify 3 pad 4 + +thermo 100 + +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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 22 22 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.057 | 3.057 | 3.057 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 5 -2.461717 0 2.532033 5.0190509 + 100 3.2788864 -0.74311698 0 2.5316708 15.912832 + 200 3.3041082 -0.77000277 0 2.5299752 15.602653 + 300 3.3840228 -0.84859211 0 2.5312006 15.188203 + 400 3.3916063 -0.85694601 0 2.5304208 15.383853 + 500 3.3136052 -0.77935263 0 2.5301106 15.833296 + 600 3.3888915 -0.85213743 0 2.532518 15.162759 + 700 3.2123675 -0.67642318 0 2.5319289 16.310565 + 800 3.3016275 -0.76569171 0 2.5318087 15.639335 + 900 3.4639203 -0.92788002 0 2.5317104 14.765912 + 1000 3.3256788 -0.79078181 0 2.5307399 15.599298 +Loop time of 0.149596 on 1 procs for 1000 steps with 800 atoms + +Performance: 2887777.748 tau/day, 6684.671 timesteps/s +98.6% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.092428 | 0.092428 | 0.092428 | 0.0 | 61.79 +Neigh | 0.040435 | 0.040435 | 0.040435 | 0.0 | 27.03 +Comm | 0.003456 | 0.003456 | 0.003456 | 0.0 | 2.31 +Output | 0.000191 | 0.000191 | 0.000191 | 0.0 | 0.13 +Modify | 0.009599 | 0.009599 | 0.009599 | 0.0 | 6.42 +Other | | 0.003487 | | | 2.33 + +Nlocal: 800 ave 800 max 800 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 317 ave 317 max 317 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7743 ave 7743 max 7743 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7743 +Ave neighs/atom = 9.67875 +Neighbor list builds = 203 +Dangerous builds = 0 + +neigh_modify delay 0 every 1 check yes + +#dump_modify 1 every 25 + +thermo 50 +min_style cg +minimize 0.0 1.0e-6 10000 10000 +Per MPI rank memory allocation (min/avg/max) = 4.183 | 4.183 | 4.183 Mbytes +Step Temp E_pair E_mol TotEng Press + 1000 3.3256788 -0.79078181 0 2.5307399 15.599298 + 1050 3.3256788 -2.8361415 0 0.48538014 1.6090001 + 1100 3.3256788 -2.8661626 0 0.45535906 1.6175322 + 1150 3.3256788 -2.8783275 0 0.44319421 1.6293715 + 1200 3.3256788 -2.8838202 0 0.43770144 1.6393211 + 1250 3.3256788 -2.8956657 0 0.42585599 1.604841 + 1300 3.3256788 -2.9039122 0 0.41760945 1.6594733 + 1350 3.3256788 -2.9100776 0 0.4114441 1.7004165 + 1400 3.3256788 -2.9131297 0 0.40839199 1.7078217 + 1450 3.3256788 -2.9167506 0 0.40477104 1.7780477 + 1500 3.3256788 -2.916974 0 0.4045477 1.7981449 + 1550 3.3256788 -2.9169794 0 0.40454227 1.8023577 + 1600 3.3256788 -2.9169795 0 0.40454213 1.8030228 + 1650 3.3256788 -2.9169795 0 0.40454213 1.8030432 + 1700 3.3256788 -2.9169795 0 0.40454213 1.8030396 + 1750 3.3256788 -2.9169795 0 0.40454213 1.8030394 + 1800 3.3256788 -2.9169795 0 0.40454213 1.8030395 + 1803 3.3256788 -2.9169795 0 0.40454213 1.8030395 +Loop time of 0.293121 on 1 procs for 803 steps with 800 atoms + +98.8% CPU use with 1 MPI tasks x no OpenMP threads + +Minimization stats: + Stopping criterion = force tolerance + Energy initial, next-to-last, final = + -0.790781812776 -2.91697954354 -2.91697954354 + Force two-norm initial, final = 1905.47 9.82516e-07 + Force max component initial, final = 343.392 3.01878e-07 + Final line search alpha, max atom move = 1 3.01878e-07 + Iterations, force evaluations = 803 1596 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.24243 | 0.24243 | 0.24243 | 0.0 | 82.71 +Neigh | 0.016566 | 0.016566 | 0.016566 | 0.0 | 5.65 +Comm | 0.00342 | 0.00342 | 0.00342 | 0.0 | 1.17 +Output | 0.000318 | 0.000318 | 0.000318 | 0.0 | 0.11 +Modify | 0.005032 | 0.005032 | 0.005032 | 0.0 | 1.72 +Other | | 0.02536 | | | 8.65 + +Nlocal: 800 ave 800 max 800 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 329 ave 329 max 329 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 6957 ave 6957 max 6957 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 6957 +Ave neighs/atom = 8.69625 +Neighbor list builds = 85 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/fire/log.09Janv20.fire.g++.1 b/examples/fire/log.09Janv20.fire.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..d3ed3e74923f2d69fb28e27e0cc0b44c404ea518 --- /dev/null +++ b/examples/fire/log.09Janv20.fire.g++.1 @@ -0,0 +1,172 @@ +LAMMPS (09 Jan 2020) +# 2d Lennard-Jones melt and subsequent energy minimization + +units lj +dimension 2 +atom_style atomic + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box block 0 20 0 20 -0.1 0.1 +create_box 1 box +Created orthogonal box = (0 0 -0.153919) to (30.7838 30.7838 0.153919) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 800 atoms + create_atoms CPU = 0.00032 secs +mass 1 1.0 + +velocity all create 5.0 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all enforce2d + +#dump 1 all atom 100 dump.min + +#dump 2 all image 50 image.*.jpg type type # zoom 1.6 adiam 1.5 +#dump_modify 2 pad 4 + +#dump 3 all movie 50 movie.mpg type type # zoom 1.6 adiam 1.5 +#dump_modify 3 pad 4 + +thermo 100 + +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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 22 22 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.057 | 3.057 | 3.057 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 5 -2.461717 0 2.532033 5.0190509 + 100 3.2788864 -0.74311698 0 2.5316708 15.912832 + 200 3.3041082 -0.77000277 0 2.5299752 15.602653 + 300 3.3840228 -0.84859211 0 2.5312006 15.188203 + 400 3.3916063 -0.85694601 0 2.5304208 15.383853 + 500 3.3136052 -0.77935263 0 2.5301106 15.833296 + 600 3.3888915 -0.85213743 0 2.532518 15.162759 + 700 3.2123675 -0.67642318 0 2.5319289 16.310565 + 800 3.3016275 -0.76569171 0 2.5318087 15.639335 + 900 3.4639203 -0.92788002 0 2.5317104 14.765912 + 1000 3.3256788 -0.79078181 0 2.5307399 15.599298 +Loop time of 0.148541 on 1 procs for 1000 steps with 800 atoms + +Performance: 2908287.947 tau/day, 6732.148 timesteps/s +99.2% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.090497 | 0.090497 | 0.090497 | 0.0 | 60.92 +Neigh | 0.041085 | 0.041085 | 0.041085 | 0.0 | 27.66 +Comm | 0.003431 | 0.003431 | 0.003431 | 0.0 | 2.31 +Output | 0.000188 | 0.000188 | 0.000188 | 0.0 | 0.13 +Modify | 0.009931 | 0.009931 | 0.009931 | 0.0 | 6.69 +Other | | 0.003409 | | | 2.29 + +Nlocal: 800 ave 800 max 800 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 317 ave 317 max 317 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7743 ave 7743 max 7743 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7743 +Ave neighs/atom = 9.67875 +Neighbor list builds = 203 +Dangerous builds = 0 + +neigh_modify delay 0 every 1 check yes + +#dump_modify 1 every 25 + +thermo 50 +min_style fire +minimize 0.0 1.0e-6 10000 10000 + Parameters for fire: + dmax delaystep dtgrow dtshrink alpha0 alphashrink tmax tmin integrator halfstepback relaxbox relaxbox_mod relaxbox_rate ptol + 0.1 20 1.1 0.5 0.25 0.99 10 0.02 eulerimplicit yes +Per MPI rank memory allocation (min/avg/max) = 3.058 | 3.058 | 3.058 Mbytes +Step Temp E_pair E_mol TotEng Press + 1000 0 -0.79078181 0 -0.79078181 12.79527 + 1050 0.026844171 -2.7795211 0 -2.7527105 -0.87603277 + 1100 0.0034822073 -2.8529023 0 -2.8494245 -1.2124257 + 1150 0.00086547466 -2.868953 0 -2.8680886 -1.2359795 + 1200 0.00097619081 -2.8772187 0 -2.8762437 -1.286455 + 1250 0.0010932112 -2.8815244 0 -2.8804326 -1.3030012 + 1300 0.00011570361 -2.8827401 0 -2.8826246 -1.3040874 + 1350 0.00013328904 -2.8829838 0 -2.8828506 -1.2996017 + 1400 0.00018991693 -2.8844011 0 -2.8842114 -1.2697602 + 1450 0.0017139171 -2.8880702 0 -2.8863584 -1.2367621 + 1500 0.00015838581 -2.891362 0 -2.8912038 -1.1688764 + 1550 3.671122e-05 -2.8920253 0 -2.8919886 -1.1669644 + 1600 8.5025973e-05 -2.8924697 0 -2.8923848 -1.1565595 + 1650 0.00031059668 -2.8932768 0 -2.8929666 -1.1412709 + 1700 8.5903751e-05 -2.8936767 0 -2.8935909 -1.1287456 + 1750 5.1139269e-08 -2.8937466 0 -2.8937466 -1.1280269 + 1800 1.1671203e-07 -2.893751 0 -2.8937509 -1.1269919 + 1850 1.6442171e-07 -2.8937533 0 -2.8937532 -1.1269835 + 1900 2.7880101e-06 -2.8937574 0 -2.8937546 -1.128914 + 1950 9.7931277e-05 -2.8948559 0 -2.894758 -1.1298435 + 2000 8.8954569e-06 -2.8948879 0 -2.894879 -1.1291332 + 2050 1.3956548e-06 -2.8949028 0 -2.8949014 -1.1286287 + 2100 4.250297e-07 -2.8949058 0 -2.8949054 -1.1286873 + 2150 7.8744547e-08 -2.8949064 0 -2.8949063 -1.128789 + 2200 6.1147167e-10 -2.8949064 0 -2.8949064 -1.1288611 + 2250 3.0004658e-10 -2.8949064 0 -2.8949064 -1.1288707 + 2300 1.2118076e-10 -2.8949064 0 -2.8949064 -1.1288784 + 2350 9.1550426e-12 -2.8949064 0 -2.8949064 -1.128882 + 2400 2.7467472e-14 -2.8949064 0 -2.8949064 -1.1288819 + 2450 1.8628857e-14 -2.8949064 0 -2.8949064 -1.1288818 + 2500 6.6730826e-15 -2.8949064 0 -2.8949064 -1.1288818 + 2532 1.4818811e-15 -2.8949064 0 -2.8949064 -1.1288817 +Loop time of 0.281178 on 1 procs for 1532 steps with 800 atoms + +98.4% CPU use with 1 MPI tasks x no OpenMP threads + +Minimization stats: + Stopping criterion = force tolerance + Energy initial, next-to-last, final = + -0.790781812776 -2.89490640353 -2.89490640353 + Force two-norm initial, final = 1905.47 9.86158e-07 + Force max component initial, final = 343.392 6.07974e-07 + Final line search alpha, max atom move = 0 0 + Iterations, force evaluations = 1532 1532 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.23639 | 0.23639 | 0.23639 | 0.0 | 84.07 +Neigh | 0.011136 | 0.011136 | 0.011136 | 0.0 | 3.96 +Comm | 0.003118 | 0.003118 | 0.003118 | 0.0 | 1.11 +Output | 0.000591 | 0.000591 | 0.000591 | 0.0 | 0.21 +Modify | 0.004883 | 0.004883 | 0.004883 | 0.0 | 1.74 +Other | | 0.02506 | | | 8.91 + +Nlocal: 800 ave 800 max 800 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 327 ave 327 max 327 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7012 ave 7012 max 7012 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7012 +Ave neighs/atom = 8.765 +Neighbor list builds = 55 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/fire/log.09Janv20.fire_mod.g++.1 b/examples/fire/log.09Janv20.fire_mod.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..69a23648abc5a88a57ce33ed2f2ed6117faae73e --- /dev/null +++ b/examples/fire/log.09Janv20.fire_mod.g++.1 @@ -0,0 +1,161 @@ +LAMMPS (09 Jan 2020) +# 2d Lennard-Jones melt and subsequent energy minimization + +units lj +dimension 2 +atom_style atomic + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box block 0 20 0 20 -0.1 0.1 +create_box 1 box +Created orthogonal box = (0 0 -0.153919) to (30.7838 30.7838 0.153919) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 800 atoms + create_atoms CPU = 0.000379 secs +mass 1 1.0 + +velocity all create 5.0 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all enforce2d + +#dump 1 all atom 100 dump.min + +#dump 2 all image 50 image.*.jpg type type # zoom 1.6 adiam 1.5 +#dump_modify 2 pad 4 + +#dump 3 all movie 50 movie.mpg type type # zoom 1.6 adiam 1.5 +#dump_modify 3 pad 4 + +thermo 100 + +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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 22 22 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.057 | 3.057 | 3.057 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 5 -2.461717 0 2.532033 5.0190509 + 100 3.2788864 -0.74311698 0 2.5316708 15.912832 + 200 3.3041082 -0.77000277 0 2.5299752 15.602653 + 300 3.3840228 -0.84859211 0 2.5312006 15.188203 + 400 3.3916063 -0.85694601 0 2.5304208 15.383853 + 500 3.3136052 -0.77935263 0 2.5301106 15.833296 + 600 3.3888915 -0.85213743 0 2.532518 15.162759 + 700 3.2123675 -0.67642318 0 2.5319289 16.310565 + 800 3.3016275 -0.76569171 0 2.5318087 15.639335 + 900 3.4639203 -0.92788002 0 2.5317104 14.765912 + 1000 3.3256788 -0.79078181 0 2.5307399 15.599298 +Loop time of 0.15409 on 1 procs for 1000 steps with 800 atoms + +Performance: 2803556.363 tau/day, 6489.714 timesteps/s +97.5% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.094416 | 0.094416 | 0.094416 | 0.0 | 61.27 +Neigh | 0.041223 | 0.041223 | 0.041223 | 0.0 | 26.75 +Comm | 0.003956 | 0.003956 | 0.003956 | 0.0 | 2.57 +Output | 0.000253 | 0.000253 | 0.000253 | 0.0 | 0.16 +Modify | 0.010146 | 0.010146 | 0.010146 | 0.0 | 6.58 +Other | | 0.004096 | | | 2.66 + +Nlocal: 800 ave 800 max 800 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 317 ave 317 max 317 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7743 ave 7743 max 7743 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7743 +Ave neighs/atom = 9.67875 +Neighbor list builds = 203 +Dangerous builds = 0 + +neigh_modify delay 0 every 1 check yes + +#dump_modify 1 every 25 + +thermo 50 +min_style fire +min_modify alpha0 0.10 integrator verlet +minimize 0.0 1.0e-6 10000 10000 + Parameters for fire: + dmax delaystep dtgrow dtshrink alpha0 alphashrink tmax tmin integrator halfstepback relaxbox relaxbox_mod relaxbox_rate ptol + 0.1 20 1.1 0.5 0.1 0.99 10 0.02 verlet yes +Per MPI rank memory allocation (min/avg/max) = 3.058 | 3.058 | 3.058 Mbytes +Step Temp E_pair E_mol TotEng Press + 1000 0 -0.79078181 0 -0.79078181 12.79527 + 1050 0.078268931 -2.7183168 0 -2.6401457 -0.41989487 + 1100 0.004111801 -2.8430419 0 -2.8389353 -1.3043522 + 1150 0.005000915 -2.8768555 0 -2.8718608 -1.2706615 + 1200 0.00221302 -2.8879134 0 -2.8857032 -1.2778479 + 1250 0.00043036592 -2.8939906 0 -2.8935608 -1.268974 + 1300 0.0014677683 -2.8992098 0 -2.8977439 -1.2905094 + 1350 0.00093281043 -2.9019313 0 -2.9009996 -1.2653586 + 1400 0.0005425017 -2.9060403 0 -2.9054984 -1.2368252 + 1450 6.0662419e-05 -2.9065294 0 -2.9064688 -1.2376477 + 1500 3.8768552e-05 -2.9066587 0 -2.9066199 -1.2235528 + 1550 4.8205498e-06 -2.9066767 0 -2.9066719 -1.2267388 + 1600 3.7010898e-07 -2.9066803 0 -2.90668 -1.2280952 + 1650 9.3344403e-09 -2.9066807 0 -2.9066806 -1.22862 + 1700 3.595307e-09 -2.9066807 0 -2.9066807 -1.2285492 + 1750 2.7152688e-11 -2.9066807 0 -2.9066807 -1.2285418 + 1800 2.9643465e-12 -2.9066807 0 -2.9066807 -1.2285402 + 1850 8.8599324e-15 -2.9066807 0 -2.9066807 -1.2285389 + 1900 8.1537037e-15 -2.9066807 0 -2.9066807 -1.2285389 + 1919 1.8744314e-15 -2.9066807 0 -2.9066807 -1.2285389 +Loop time of 0.172896 on 1 procs for 919 steps with 800 atoms + +98.8% CPU use with 1 MPI tasks x no OpenMP threads + +Minimization stats: + Stopping criterion = force tolerance + Energy initial, next-to-last, final = + -0.790781812776 -2.90668068533 -2.90668068533 + Force two-norm initial, final = 1905.47 9.38529e-07 + Force max component initial, final = 343.392 2.3828e-07 + Final line search alpha, max atom move = 0 0 + Iterations, force evaluations = 919 919 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.14136 | 0.14136 | 0.14136 | 0.0 | 81.76 +Neigh | 0.009759 | 0.009759 | 0.009759 | 0.0 | 5.64 +Comm | 0.001941 | 0.001941 | 0.001941 | 0.0 | 1.12 +Output | 0.000313 | 0.000313 | 0.000313 | 0.0 | 0.18 +Modify | 0.002814 | 0.002814 | 0.002814 | 0.0 | 1.63 +Other | | 0.01671 | | | 9.66 + +Nlocal: 800 ave 800 max 800 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 320 ave 320 max 320 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7003 ave 7003 max 7003 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7003 +Ave neighs/atom = 8.75375 +Neighbor list builds = 51 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/fire/log.09Janv20.fire_mod_old.g++.1 b/examples/fire/log.09Janv20.fire_mod_old.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..3cd1fbd386e90c9d074485409ba166bb579989ed --- /dev/null +++ b/examples/fire/log.09Janv20.fire_mod_old.g++.1 @@ -0,0 +1,342 @@ +LAMMPS (09 Jan 2020) +# 2d Lennard-Jones melt and subsequent energy minimization + +units lj +dimension 2 +atom_style atomic + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box block 0 20 0 20 -0.1 0.1 +create_box 1 box +Created orthogonal box = (0 0 -0.153919) to (30.7838 30.7838 0.153919) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 800 atoms + create_atoms CPU = 0.000356 secs +mass 1 1.0 + +velocity all create 5.0 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all enforce2d + +#dump 1 all atom 100 dump.min + +#dump 2 all image 50 image.*.jpg type type # zoom 1.6 adiam 1.5 +#dump_modify 2 pad 4 + +#dump 3 all movie 50 movie.mpg type type # zoom 1.6 adiam 1.5 +#dump_modify 3 pad 4 + +thermo 100 + +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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 22 22 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.057 | 3.057 | 3.057 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 5 -2.461717 0 2.532033 5.0190509 + 100 3.2788864 -0.74311698 0 2.5316708 15.912832 + 200 3.3041082 -0.77000277 0 2.5299752 15.602653 + 300 3.3840228 -0.84859211 0 2.5312006 15.188203 + 400 3.3916063 -0.85694601 0 2.5304208 15.383853 + 500 3.3136052 -0.77935263 0 2.5301106 15.833296 + 600 3.3888915 -0.85213743 0 2.532518 15.162759 + 700 3.2123675 -0.67642318 0 2.5319289 16.310565 + 800 3.3016275 -0.76569171 0 2.5318087 15.639335 + 900 3.4639203 -0.92788002 0 2.5317104 14.765912 + 1000 3.3256788 -0.79078181 0 2.5307399 15.599298 +Loop time of 0.149746 on 1 procs for 1000 steps with 800 atoms + +Performance: 2884885.072 tau/day, 6677.975 timesteps/s +98.3% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.091667 | 0.091667 | 0.091667 | 0.0 | 61.21 +Neigh | 0.041479 | 0.041479 | 0.041479 | 0.0 | 27.70 +Comm | 0.003516 | 0.003516 | 0.003516 | 0.0 | 2.35 +Output | 0.0002 | 0.0002 | 0.0002 | 0.0 | 0.13 +Modify | 0.009484 | 0.009484 | 0.009484 | 0.0 | 6.33 +Other | | 0.0034 | | | 2.27 + +Nlocal: 800 ave 800 max 800 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 317 ave 317 max 317 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7743 ave 7743 max 7743 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7743 +Ave neighs/atom = 9.67875 +Neighbor list builds = 203 +Dangerous builds = 0 + +neigh_modify delay 0 every 1 check yes + +#dump_modify 1 every 25 + +thermo 50 +min_style fire +min_modify integrator eulerexplicit tmax 10.0 tmin 0.0 delaystep 5 dtgrow 1.1 dtshrink 0.5 alpha0 0.1 alphashrink 0.99 vdfmax 100000 halfstepback no initialdelay no +minimize 0.0 1.0e-6 10000 10000 + Parameters for fire: + dmax delaystep dtgrow dtshrink alpha0 alphashrink tmax tmin integrator halfstepback relaxbox relaxbox_mod relaxbox_rate ptol + 0.1 5 1.1 0.5 0.1 0.99 10 0 eulerexplicit no +Per MPI rank memory allocation (min/avg/max) = 3.058 | 3.058 | 3.058 Mbytes +Step Temp E_pair E_mol TotEng Press + 1000 0 -0.79078181 0 -0.79078181 12.79527 + 1050 0.13353902 -2.5912638 0 -2.4578917 0.5692337 + 1100 0.0089379263 -2.6989463 0 -2.6900196 -0.32199212 + 1150 0.0046843921 -2.759845 0 -2.7551664 -0.7652834 + 1200 0.002846537 -2.789411 0 -2.7865681 -0.96589949 + 1250 0.0010217747 -2.8074831 0 -2.8064626 -1.0829009 + 1300 0.0053781523 -2.8242492 0 -2.8188778 -1.1318106 + 1350 0.00023994777 -2.8341342 0 -2.8338945 -1.163692 + 1400 0.0017009757 -2.840995 0 -2.8392962 -1.16188 + 1450 0.00056400841 -2.8453557 0 -2.8447924 -1.1520067 + 1500 0.00077934345 -2.8479194 0 -2.847141 -1.154398 + 1550 0.00036611219 -2.8514157 0 -2.8510501 -1.172244 + 1600 8.9292311e-06 -2.8527434 0 -2.8527345 -1.1747761 + 1650 1.5128835e-06 -2.8542463 0 -2.8542448 -1.1844146 + 1700 3.204798e-06 -2.855907 0 -2.8559038 -1.1947962 + 1750 0.00074224769 -2.8571164 0 -2.8563751 -1.1985933 + 1800 0.00019536702 -2.8588894 0 -2.8586943 -1.2088321 + 1850 9.7569763e-05 -2.8594962 0 -2.8593988 -1.2118745 + 1900 5.7320544e-05 -2.8602172 0 -2.86016 -1.2102157 + 1950 4.5526736e-05 -2.8607722 0 -2.8607267 -1.2106069 + 2000 2.723482e-05 -2.8615425 0 -2.8615153 -1.2116304 + 2050 0.00058266182 -2.862351 0 -2.8617691 -1.2144959 + 2100 6.500145e-05 -2.8634861 0 -2.8634212 -1.2196925 + 2150 7.018255e-05 -2.8659666 0 -2.8658965 -1.2281308 + 2200 2.7358137e-05 -2.8670193 0 -2.866992 -1.2249437 + 2250 4.0619564e-05 -2.8677954 0 -2.8677549 -1.2264181 + 2300 0.00037079927 -2.869037 0 -2.8686666 -1.2228396 + 2350 1.7039984e-05 -2.8697054 0 -2.8696884 -1.2193694 + 2400 1.1706376e-05 -2.8704557 0 -2.870444 -1.2151924 + 2450 1.569166e-05 -2.8710048 0 -2.8709891 -1.2116495 + 2500 1.0764974e-05 -2.8713737 0 -2.8713629 -1.2095378 + 2550 0.00020637438 -2.8718339 0 -2.8716277 -1.2073921 + 2600 1.3281629e-05 -2.8721042 0 -2.8720909 -1.2072822 + 2650 1.6997328e-05 -2.8725439 0 -2.8725269 -1.2078205 + 2700 0.00024308504 -2.8734078 0 -2.873165 -1.2083205 + 2750 1.9325652e-05 -2.8742725 0 -2.8742532 -1.2086037 + 2800 0.00041115503 -2.8753309 0 -2.8749202 -1.2099241 + 2850 0.00016124812 -2.8763004 0 -2.8761394 -1.2100234 + 2900 0.00010261801 -2.8769077 0 -2.8768052 -1.2095838 + 2950 8.5284152e-05 -2.8773786 0 -2.8772935 -1.20663 + 3000 3.6509277e-07 -2.8779105 0 -2.8779102 -1.2054539 + 3050 0.00043346474 -2.8786802 0 -2.8782473 -1.2002574 + 3100 5.5020715e-05 -2.8790024 0 -2.8789474 -1.1951741 + 3150 2.1984131e-05 -2.8794335 0 -2.8794115 -1.1862473 + 3200 1.6745891e-05 -2.8795341 0 -2.8795174 -1.1857447 + 3250 6.7600713e-06 -2.8797504 0 -2.8797436 -1.1851768 + 3300 2.5404023e-05 -2.8799202 0 -2.8798949 -1.1853619 + 3350 1.4307979e-07 -2.8800767 0 -2.8800766 -1.1855388 + 3400 2.3771289e-05 -2.8802876 0 -2.8802639 -1.1853283 + 3450 1.5926609e-05 -2.8811779 0 -2.881162 -1.1832155 + 3500 0.00023918123 -2.8816592 0 -2.8814203 -1.1795992 + 3550 2.1477822e-05 -2.8818075 0 -2.881786 -1.1764183 + 3600 2.4171891e-06 -2.8818685 0 -2.8818661 -1.1752634 + 3650 5.1078051e-06 -2.8820201 0 -2.882015 -1.1735854 + 3700 2.8288283e-06 -2.8820776 0 -2.8820748 -1.1736177 + 3750 2.8261894e-05 -2.8821692 0 -2.882141 -1.1739042 + 3800 2.1722286e-05 -2.8823134 0 -2.8822917 -1.174473 + 3850 2.269858e-05 -2.8824364 0 -2.8824137 -1.174537 + 3900 1.6463034e-06 -2.8825758 0 -2.8825741 -1.1738041 + 3950 1.8888587e-05 -2.8827475 0 -2.8827287 -1.1730456 + 4000 7.7137595e-07 -2.8829271 0 -2.8829263 -1.1737585 + 4050 8.0218395e-06 -2.8831189 0 -2.8831108 -1.1748314 + 4100 2.1775628e-07 -2.8831738 0 -2.8831736 -1.1751807 + 4150 7.0972401e-06 -2.8832308 0 -2.8832237 -1.1756641 + 4200 4.1552084e-07 -2.8833365 0 -2.8833361 -1.1766505 + 4250 6.955018e-06 -2.8833891 0 -2.8833822 -1.1770815 + 4300 0.00016095054 -2.8835126 0 -2.8833519 -1.1780786 + 4350 6.2109296e-08 -2.8836037 0 -2.8836036 -1.1788493 + 4400 4.9552761e-05 -2.8838275 0 -2.883778 -1.1796751 + 4450 4.1572651e-06 -2.8840252 0 -2.884021 -1.1797244 + 4500 4.5094019e-05 -2.8841528 0 -2.8841078 -1.1793634 + 4550 1.5486277e-06 -2.8843566 0 -2.884355 -1.1786658 + 4600 3.124141e-06 -2.8845241 0 -2.884521 -1.1782676 + 4650 2.6550727e-06 -2.8847548 0 -2.8847521 -1.1761931 + 4700 4.1414628e-05 -2.8849662 0 -2.8849249 -1.1718684 + 4750 2.380964e-06 -2.8851283 0 -2.8851259 -1.1692959 + 4800 8.590119e-06 -2.8852449 0 -2.8852364 -1.1685065 + 4850 2.2696517e-05 -2.8854127 0 -2.88539 -1.168484 + 4900 2.5100677e-05 -2.8855573 0 -2.8855322 -1.1680468 + 4950 1.0901958e-05 -2.8857056 0 -2.8856947 -1.1667983 + 5000 1.7660672e-05 -2.8858561 0 -2.8858385 -1.1659289 + 5050 2.2115169e-05 -2.886002 0 -2.8859799 -1.1652871 + 5100 6.6278908e-05 -2.8861968 0 -2.8861306 -1.1648902 + 5150 6.0993884e-07 -2.8862934 0 -2.8862928 -1.1650736 + 5200 0.00020333351 -2.8864792 0 -2.8862761 -1.1684121 + 5250 0.00018260896 -2.8869006 0 -2.8867182 -1.1738451 + 5300 5.9589204e-06 -2.8870944 0 -2.8870884 -1.1742236 + 5350 3.9611705e-06 -2.8871855 0 -2.8871815 -1.1739438 + 5400 1.6390307e-05 -2.8872444 0 -2.8872281 -1.1738633 + 5450 1.0471949e-06 -2.8872779 0 -2.8872769 -1.173992 + 5500 3.189532e-07 -2.8873146 0 -2.8873143 -1.1745333 + 5550 8.5416909e-08 -2.8873521 0 -2.8873521 -1.1754741 + 5600 2.8826987e-06 -2.8873622 0 -2.8873594 -1.1757461 + 5650 1.4702624e-06 -2.8873706 0 -2.8873692 -1.1760765 + 5700 1.569283e-07 -2.887379 0 -2.8873788 -1.1765 + 5750 9.0040106e-07 -2.8873905 0 -2.8873896 -1.1767106 + 5800 1.076564e-06 -2.8873972 0 -2.8873961 -1.1770001 + 5850 1.1722255e-05 -2.8874127 0 -2.887401 -1.1774243 + 5900 6.6748066e-06 -2.8874365 0 -2.8874298 -1.1778224 + 5950 4.0946269e-07 -2.887452 0 -2.8874516 -1.1780297 + 6000 6.4175894e-06 -2.8875862 0 -2.8875798 -1.1784951 + 6050 2.32222e-06 -2.8878816 0 -2.8878793 -1.1754314 + 6100 4.8037437e-08 -2.8879173 0 -2.8879173 -1.1743701 + 6150 1.2097382e-06 -2.8879311 0 -2.8879299 -1.1736632 + 6200 5.6948854e-06 -2.8879415 0 -2.8879358 -1.1733347 + 6250 1.6901358e-06 -2.8879479 0 -2.8879462 -1.173324 + 6300 9.6454886e-08 -2.8879494 0 -2.8879493 -1.1732735 + 6350 4.8509801e-08 -2.8879504 0 -2.8879504 -1.1732669 + 6400 4.4545703e-07 -2.8879518 0 -2.8879514 -1.1732436 + 6450 1.2032088e-07 -2.8879532 0 -2.887953 -1.1732129 + 6500 1.2605568e-08 -2.8879538 0 -2.8879538 -1.1731965 + 6550 4.1040039e-10 -2.8879551 0 -2.8879551 -1.1731405 + 6600 7.9776654e-08 -2.8879555 0 -2.8879554 -1.1731158 + 6650 5.1675071e-08 -2.8879559 0 -2.8879559 -1.1730858 + 6700 2.1758232e-08 -2.8879563 0 -2.8879562 -1.173055 + 6750 2.2209691e-08 -2.8879565 0 -2.8879565 -1.1730317 + 6800 1.8884076e-08 -2.8879568 0 -2.8879568 -1.1729911 + 6850 7.0472036e-09 -2.8879572 0 -2.8879572 -1.1729351 + 6900 6.4326889e-09 -2.8879573 0 -2.8879573 -1.172905 + 6950 7.5488985e-09 -2.8879575 0 -2.8879575 -1.1728674 + 7000 4.8486872e-09 -2.8879576 0 -2.8879576 -1.1728448 + 7050 6.4279746e-09 -2.8879578 0 -2.8879577 -1.1727942 + 7100 1.2729822e-09 -2.8879578 0 -2.8879578 -1.1727679 + 7150 1.7002943e-09 -2.8879579 0 -2.8879579 -1.1727462 + 7200 1.2498153e-10 -2.887958 0 -2.887958 -1.1726894 + 7250 5.1498355e-08 -2.8879581 0 -2.8879581 -1.1726362 + 7300 5.292335e-09 -2.8879582 0 -2.8879581 -1.1726177 + 7350 2.8343246e-09 -2.8879582 0 -2.8879582 -1.1725957 + 7400 1.7979847e-09 -2.8879582 0 -2.8879582 -1.1725747 + 7450 1.4994133e-09 -2.8879582 0 -2.8879582 -1.1725599 + 7500 1.2793921e-09 -2.8879583 0 -2.8879583 -1.1725352 + 7550 5.737782e-10 -2.8879583 0 -2.8879583 -1.1725028 + 7600 5.5986883e-10 -2.8879583 0 -2.8879583 -1.1724865 + 7650 8.3377699e-10 -2.8879583 0 -2.8879583 -1.1724667 + 7700 1.676793e-09 -2.8879583 0 -2.8879583 -1.1724537 + 7750 3.7057732e-09 -2.8879583 0 -2.8879583 -1.1724393 + 7800 1.2469658e-10 -2.8879584 0 -2.8879584 -1.1724136 + 7850 4.2407869e-12 -2.8879584 0 -2.8879584 -1.172387 + 7900 1.9275374e-11 -2.8879584 0 -2.8879584 -1.1723671 + 7950 7.4412023e-10 -2.8879584 0 -2.8879584 -1.1723587 + 8000 2.342806e-10 -2.8879584 0 -2.8879584 -1.1723487 + 8050 1.4026755e-10 -2.8879584 0 -2.8879584 -1.1723382 + 8100 1.6705221e-10 -2.8879584 0 -2.8879584 -1.1723318 + 8150 1.1816748e-10 -2.8879584 0 -2.8879584 -1.172313 + 8200 1.139758e-10 -2.8879584 0 -2.8879584 -1.1723053 + 8250 6.2680955e-11 -2.8879584 0 -2.8879584 -1.172298 + 8300 6.669349e-11 -2.8879584 0 -2.8879584 -1.172292 + 8350 6.1206666e-10 -2.8879584 0 -2.8879584 -1.1722845 + 8400 8.0987905e-10 -2.8879584 0 -2.8879584 -1.1722751 + 8450 2.8169842e-12 -2.8879584 0 -2.8879584 -1.1722629 + 8500 1.1976624e-09 -2.8879584 0 -2.8879584 -1.1722508 + 8550 1.2769688e-10 -2.8879584 0 -2.8879584 -1.1722467 + 8600 6.9923774e-11 -2.8879584 0 -2.8879584 -1.1722418 + 8650 4.5160888e-11 -2.8879584 0 -2.8879584 -1.1722372 + 8700 3.8279812e-11 -2.8879584 0 -2.8879584 -1.1722341 + 8750 3.3467288e-11 -2.8879584 0 -2.8879584 -1.1722288 + 8800 1.5440356e-11 -2.8879584 0 -2.8879584 -1.1722219 + 8850 1.534376e-11 -2.8879584 0 -2.8879584 -1.1722185 + 8900 2.3131183e-11 -2.8879584 0 -2.8879584 -1.1722144 + 8950 4.6772726e-11 -2.8879584 0 -2.8879584 -1.1722117 + 9000 1.0577837e-10 -2.8879584 0 -2.8879584 -1.1722087 + 9050 3.6207287e-12 -2.8879584 0 -2.8879584 -1.1722035 + 9100 1.2802863e-13 -2.8879584 0 -2.8879584 -1.1721981 + 9150 5.8887842e-13 -2.8879584 0 -2.8879584 -1.1721941 + 9200 2.300678e-11 -2.8879584 0 -2.8879584 -1.1721924 + 9250 7.3278771e-12 -2.8879584 0 -2.8879584 -1.1721904 + 9300 4.4157433e-12 -2.8879584 0 -2.8879584 -1.1721883 + 9350 5.3075512e-12 -2.8879584 0 -2.8879584 -1.172187 + 9400 3.8604199e-12 -2.8879584 0 -2.8879584 -1.1721833 + 9450 3.7145253e-12 -2.8879584 0 -2.8879584 -1.1721818 + 9500 2.0563961e-12 -2.8879584 0 -2.8879584 -1.1721804 + 9550 2.1953054e-12 -2.8879584 0 -2.8879584 -1.1721792 + 9600 2.0292485e-11 -2.8879584 0 -2.8879584 -1.1721777 + 9650 2.7040181e-11 -2.8879584 0 -2.8879584 -1.1721759 + 9700 9.5405566e-14 -2.8879584 0 -2.8879584 -1.1721735 + 9750 4.0766333e-11 -2.8879584 0 -2.8879584 -1.1721712 + 9800 4.3804922e-12 -2.8879584 0 -2.8879584 -1.1721704 + 9850 2.4094174e-12 -2.8879584 0 -2.8879584 -1.1721695 + 9900 1.5618924e-12 -2.8879584 0 -2.8879584 -1.1721686 + 9950 1.3276948e-12 -2.8879584 0 -2.8879584 -1.172168 + 10000 1.1661354e-12 -2.8879584 0 -2.8879584 -1.172167 + 10050 5.4130138e-13 -2.8879584 0 -2.8879584 -1.1721656 + 10100 5.3930245e-13 -2.8879584 0 -2.8879584 -1.172165 + 10150 8.1475776e-13 -2.8879584 0 -2.8879584 -1.1721642 + 10200 1.6498249e-12 -2.8879584 0 -2.8879584 -1.1721637 + 10250 3.7458971e-12 -2.8879584 0 -2.8879584 -1.1721631 + 10300 1.285673e-13 -2.8879584 0 -2.8879584 -1.1721621 + 10350 4.5812377e-15 -2.8879584 0 -2.8879584 -1.1721611 + 10400 2.1117455e-14 -2.8879584 0 -2.8879584 -1.1721603 + 10450 8.2667409e-13 -2.8879584 0 -2.8879584 -1.17216 + 10500 2.6385234e-13 -2.8879584 0 -2.8879584 -1.1721596 + 10550 1.5919509e-13 -2.8879584 0 -2.8879584 -1.1721592 + 10600 1.9165062e-13 -2.8879584 0 -2.8879584 -1.172159 + 10650 1.3972041e-13 -2.8879584 0 -2.8879584 -1.1721583 + 10700 1.3469994e-13 -2.8879584 0 -2.8879584 -1.172158 + 10750 7.4707625e-14 -2.8879584 0 -2.8879584 -1.1721577 + 10800 7.9795578e-14 -2.8879584 0 -2.8879584 -1.1721575 + 10850 7.3860559e-13 -2.8879584 0 -2.8879584 -1.1721572 + 10900 9.8555453e-13 -2.8879584 0 -2.8879584 -1.1721569 + 10950 3.487218e-15 -2.8879584 0 -2.8879584 -1.1721564 + 11000 1.4915771e-12 -2.8879584 0 -2.8879584 -1.172156 +Loop time of 1.75996 on 1 procs for 10000 steps with 800 atoms + +98.4% CPU use with 1 MPI tasks x no OpenMP threads + +Minimization stats: + Stopping criterion = max iterations + Energy initial, next-to-last, final = + -0.790781812776 -2.88795843023 -2.88795843023 + Force two-norm initial, final = 1905.47 9.60915e-05 + Force max component initial, final = 343.392 3.71774e-05 + Final line search alpha, max atom move = 0 0 + Iterations, force evaluations = 10000 10000 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.5377 | 1.5377 | 1.5377 | 0.0 | 87.37 +Neigh | 0.012664 | 0.012664 | 0.012664 | 0.0 | 0.72 +Comm | 0.015656 | 0.015656 | 0.015656 | 0.0 | 0.89 +Output | 0.004186 | 0.004186 | 0.004186 | 0.0 | 0.24 +Modify | 0.02968 | 0.02968 | 0.02968 | 0.0 | 1.69 +Other | | 0.16 | | | 9.09 + +Nlocal: 800 ave 800 max 800 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 311 ave 311 max 311 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7009 ave 7009 max 7009 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7009 +Ave neighs/atom = 8.76125 +Neighbor list builds = 66 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/fire/log.09Janv20.fire_old.g++.1 b/examples/fire/log.09Janv20.fire_old.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..863558645bfd4e442e4dda4c91650bc89c9499e6 --- /dev/null +++ b/examples/fire/log.09Janv20.fire_old.g++.1 @@ -0,0 +1,338 @@ +LAMMPS (09 Jan 2020) +# 2d Lennard-Jones melt and subsequent energy minimization + +units lj +dimension 2 +atom_style atomic + +lattice sq2 0.8442 +Lattice spacing in x,y,z = 1.53919 1.53919 1.53919 +region box block 0 20 0 20 -0.1 0.1 +create_box 1 box +Created orthogonal box = (0 0 -0.153919) to (30.7838 30.7838 0.153919) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 800 atoms + create_atoms CPU = 0.000345 secs +mass 1 1.0 + +velocity all create 5.0 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes + +fix 1 all nve +fix 2 all enforce2d + +#dump 1 all atom 100 dump.min + +#dump 2 all image 50 image.*.jpg type type # zoom 1.6 adiam 1.5 +#dump_modify 2 pad 4 + +#dump 3 all movie 50 movie.mpg type type # zoom 1.6 adiam 1.5 +#dump_modify 3 pad 4 + +thermo 100 + +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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 22 22 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.057 | 3.057 | 3.057 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 5 -2.461717 0 2.532033 5.0190509 + 100 3.2788864 -0.74311698 0 2.5316708 15.912832 + 200 3.3041082 -0.77000277 0 2.5299752 15.602653 + 300 3.3840228 -0.84859211 0 2.5312006 15.188203 + 400 3.3916063 -0.85694601 0 2.5304208 15.383853 + 500 3.3136052 -0.77935263 0 2.5301106 15.833296 + 600 3.3888915 -0.85213743 0 2.532518 15.162759 + 700 3.2123675 -0.67642318 0 2.5319289 16.310565 + 800 3.3016275 -0.76569171 0 2.5318087 15.639335 + 900 3.4639203 -0.92788002 0 2.5317104 14.765912 + 1000 3.3256788 -0.79078181 0 2.5307399 15.599298 +Loop time of 0.14894 on 1 procs for 1000 steps with 800 atoms + +Performance: 2900496.844 tau/day, 6714.113 timesteps/s +99.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 | 0.091005 | 0.091005 | 0.091005 | 0.0 | 61.10 +Neigh | 0.040404 | 0.040404 | 0.040404 | 0.0 | 27.13 +Comm | 0.003588 | 0.003588 | 0.003588 | 0.0 | 2.41 +Output | 0.000226 | 0.000226 | 0.000226 | 0.0 | 0.15 +Modify | 0.010077 | 0.010077 | 0.010077 | 0.0 | 6.77 +Other | | 0.00364 | | | 2.44 + +Nlocal: 800 ave 800 max 800 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 317 ave 317 max 317 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7743 ave 7743 max 7743 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7743 +Ave neighs/atom = 9.67875 +Neighbor list builds = 203 +Dangerous builds = 0 + +neigh_modify delay 0 every 1 check yes + +#dump_modify 1 every 25 + +thermo 50 +min_style fire/old +minimize 0.0 1.0e-6 10000 10000 +Per MPI rank memory allocation (min/avg/max) = 3.058 | 3.058 | 3.058 Mbytes +Step Temp E_pair E_mol TotEng Press + 1000 0 -0.79078181 0 -0.79078181 12.79527 + 1050 0.15078629 -2.5003801 0 -2.3497823 1.2721061 + 1100 0.00074837835 -2.7050909 0 -2.7043434 -0.37905868 + 1150 0.0063037865 -2.7509932 0 -2.7446973 -0.71482554 + 1200 0.00034408524 -2.7960993 0 -2.7957557 -1.0263545 + 1250 0.00085176575 -2.8126463 0 -2.8117956 -1.1021125 + 1300 0.00033628622 -2.8280448 0 -2.8277089 -1.1471915 + 1350 0.00026177536 -2.8357089 0 -2.8354474 -1.1676514 + 1400 0.0011622998 -2.8431054 0 -2.8419446 -1.1596473 + 1450 0.0010839093 -2.8457268 0 -2.8446442 -1.1518499 + 1500 0.00024665053 -2.8480136 0 -2.8477672 -1.1520869 + 1550 7.831216e-05 -2.849584 0 -2.8495057 -1.1506084 + 1600 3.2759808e-05 -2.8511231 0 -2.8510904 -1.1497061 + 1650 3.9272607e-05 -2.8526234 0 -2.8525841 -1.1511215 + 1700 5.5569128e-05 -2.8538287 0 -2.8537732 -1.1497192 + 1750 7.4734101e-05 -2.8558245 0 -2.8557498 -1.1480928 + 1800 5.8181251e-05 -2.8575248 0 -2.8574667 -1.1518976 + 1850 2.7589109e-05 -2.8585475 0 -2.85852 -1.1511439 + 1900 0.00024942163 -2.8595367 0 -2.8592876 -1.1467285 + 1950 0.00015592998 -2.8607519 0 -2.8605962 -1.1436241 + 2000 0.00028229354 -2.8619889 0 -2.861707 -1.1439985 + 2050 0.00024971806 -2.8634866 0 -2.8632372 -1.1509204 + 2100 0.00021986576 -2.8646023 0 -2.8643827 -1.1564575 + 2150 0.00011079739 -2.8664318 0 -2.8663211 -1.1525135 + 2200 4.968224e-05 -2.8676285 0 -2.8675789 -1.1577511 + 2250 0.00072993169 -2.8690151 0 -2.868286 -1.1626387 + 2300 0.00036359157 -2.8707132 0 -2.87035 -1.1659444 + 2350 9.6832406e-06 -2.871387 0 -2.8713773 -1.1678889 + 2400 9.1595369e-05 -2.8719934 0 -2.8719019 -1.168413 + 2450 0.00026776536 -2.8727209 0 -2.8724535 -1.1717116 + 2500 3.7718609e-05 -2.8731223 0 -2.8730846 -1.172836 + 2550 9.6791591e-05 -2.8738124 0 -2.8737157 -1.1743997 + 2600 7.2536654e-05 -2.8742543 0 -2.8741818 -1.1746239 + 2650 1.8893154e-06 -2.8749235 0 -2.8749216 -1.1766016 + 2700 2.8723983e-07 -2.8753101 0 -2.8753099 -1.1802186 + 2750 5.7708673e-05 -2.8758588 0 -2.8758012 -1.1854027 + 2800 4.5723463e-07 -2.8762504 0 -2.87625 -1.188637 + 2850 0.00040742553 -2.8770574 0 -2.8766505 -1.1889095 + 2900 0.00019261386 -2.8775383 0 -2.8773459 -1.1935269 + 2950 9.2541507e-06 -2.8779083 0 -2.8778991 -1.1971015 + 3000 4.0734432e-05 -2.8780621 0 -2.8780214 -1.1981841 + 3050 2.6984859e-05 -2.8783255 0 -2.8782986 -1.2005265 + 3100 0.00037203153 -2.8787959 0 -2.8784243 -1.2041583 + 3150 3.7451961e-05 -2.8793384 0 -2.879301 -1.2063399 + 3200 0.00028165903 -2.8799668 0 -2.8796855 -1.2040089 + 3250 9.6738762e-06 -2.880449 0 -2.8804394 -1.1972021 + 3300 2.9461217e-06 -2.8806905 0 -2.8806875 -1.1939943 + 3350 3.5642952e-05 -2.880824 0 -2.8807884 -1.193625 + 3400 6.0881141e-07 -2.8810003 0 -2.8809997 -1.1933965 + 3450 2.3583108e-05 -2.8811075 0 -2.8810839 -1.1928363 + 3500 1.8866811e-05 -2.8813124 0 -2.8812936 -1.1887048 + 3550 4.4326159e-06 -2.8815176 0 -2.8815132 -1.1868378 + 3600 3.7260058e-05 -2.8818335 0 -2.8817963 -1.184903 + 3650 4.5577822e-05 -2.8821473 0 -2.8821018 -1.1851718 + 3700 3.8004179e-05 -2.8824225 0 -2.8823846 -1.1835832 + 3750 4.4633061e-05 -2.8826141 0 -2.8825695 -1.1832413 + 3800 0.00021888149 -2.8832209 0 -2.8830023 -1.1831072 + 3850 6.0865074e-05 -2.8840206 0 -2.8839598 -1.1854745 + 3900 8.5323757e-05 -2.8850341 0 -2.8849489 -1.1854657 + 3950 6.8711987e-07 -2.8858208 0 -2.8858201 -1.1860154 + 4000 0.00013494811 -2.8863852 0 -2.8862504 -1.1781078 + 4050 1.8129952e-05 -2.886732 0 -2.8867139 -1.177396 + 4100 3.8263774e-05 -2.8879089 0 -2.8878707 -1.1752856 + 4150 3.658559e-05 -2.8890262 0 -2.8889897 -1.1734493 + 4200 0.00012015214 -2.8893467 0 -2.8892267 -1.1760827 + 4250 0.00018767456 -2.889917 0 -2.8897296 -1.1786237 + 4300 0.00012637647 -2.8915235 0 -2.8913973 -1.1816011 + 4350 8.2492648e-06 -2.8922133 0 -2.8922051 -1.1808514 + 4400 5.1940315e-05 -2.892508 0 -2.8924562 -1.180161 + 4450 2.4116793e-05 -2.8928525 0 -2.8928284 -1.175724 + 4500 1.7213569e-06 -2.8929309 0 -2.8929292 -1.1774283 + 4550 5.9338191e-06 -2.8929979 0 -2.892992 -1.1770692 + 4600 3.5756493e-06 -2.8930523 0 -2.8930487 -1.1768106 + 4650 6.4365391e-08 -2.8931003 0 -2.8931002 -1.1764066 + 4700 1.9109163e-05 -2.8931378 0 -2.8931187 -1.1761873 + 4750 1.6360653e-06 -2.8931854 0 -2.8931837 -1.1758258 + 4800 2.588147e-06 -2.8932194 0 -2.8932168 -1.1755478 + 4850 2.2695812e-06 -2.893236 0 -2.8932337 -1.1755321 + 4900 8.6290019e-07 -2.893252 0 -2.8932511 -1.1755463 + 4950 5.9986079e-06 -2.8932768 0 -2.8932708 -1.1757398 + 5000 2.7886685e-06 -2.8932946 0 -2.8932919 -1.1759759 + 5050 3.4895687e-07 -2.8933085 0 -2.8933082 -1.176161 + 5100 3.0956189e-07 -2.893326 0 -2.8933257 -1.176581 + 5150 3.6248707e-07 -2.893338 0 -2.8933377 -1.1769306 + 5200 7.8502109e-07 -2.893349 0 -2.8933482 -1.1771957 + 5250 2.0163751e-06 -2.893358 0 -2.893356 -1.1774764 + 5300 1.5694813e-06 -2.8933681 0 -2.8933665 -1.1778313 + 5350 1.6087226e-07 -2.8933778 0 -2.8933776 -1.1781241 + 5400 1.3237298e-06 -2.8933861 0 -2.8933848 -1.1784213 + 5450 4.6902744e-07 -2.8933924 0 -2.8933919 -1.1786315 + 5500 3.4438648e-08 -2.8933991 0 -2.893399 -1.1788989 + 5550 2.7042583e-06 -2.8934069 0 -2.8934042 -1.1794234 + 5600 1.6439602e-06 -2.8934192 0 -2.8934176 -1.1800027 + 5650 3.0743987e-08 -2.8934232 0 -2.8934232 -1.1801474 + 5700 3.9527406e-07 -2.8934289 0 -2.8934285 -1.1803286 + 5750 1.225525e-08 -2.8934371 0 -2.8934371 -1.1807575 + 5800 4.9916581e-06 -2.8934455 0 -2.8934405 -1.181139 + 5850 1.9695167e-07 -2.8934483 0 -2.8934481 -1.1813037 + 5900 9.7192688e-09 -2.8934527 0 -2.8934527 -1.1814006 + 5950 1.6382372e-07 -2.8934559 0 -2.8934557 -1.181466 + 6000 1.6672305e-07 -2.8934582 0 -2.893458 -1.1815167 + 6050 2.1385354e-06 -2.8934621 0 -2.89346 -1.1817115 + 6100 2.1134327e-07 -2.8934647 0 -2.8934644 -1.1817726 + 6150 1.0776963e-07 -2.8934666 0 -2.8934665 -1.1818243 + 6200 1.1340092e-07 -2.8934698 0 -2.8934697 -1.1817959 + 6250 4.8193492e-08 -2.8934719 0 -2.8934718 -1.1818113 + 6300 2.7200421e-07 -2.8934757 0 -2.8934755 -1.1818626 + 6350 5.2129576e-07 -2.8934777 0 -2.8934772 -1.1818984 + 6400 4.274711e-07 -2.8934796 0 -2.8934792 -1.181939 + 6450 3.9574056e-07 -2.8934809 0 -2.8934805 -1.1819686 + 6500 1.4771033e-08 -2.8934829 0 -2.8934829 -1.1820179 + 6550 1.9994259e-09 -2.8934848 0 -2.8934848 -1.182073 + 6600 2.1220811e-09 -2.8934858 0 -2.8934858 -1.1821061 + 6650 9.8083547e-08 -2.8934867 0 -2.8934866 -1.1821395 + 6700 4.8492273e-07 -2.8934877 0 -2.8934872 -1.182221 + 6750 8.9996832e-08 -2.8934884 0 -2.8934883 -1.1823243 + 6800 6.4333635e-08 -2.8934896 0 -2.8934895 -1.1824575 + 6850 7.1095413e-08 -2.8934904 0 -2.8934903 -1.1825552 + 6900 5.2266462e-08 -2.8934909 0 -2.8934909 -1.1825847 + 6950 3.2973112e-08 -2.8934918 0 -2.8934918 -1.1826705 + 7000 3.8926793e-08 -2.8934924 0 -2.8934924 -1.1827266 + 7050 6.0657306e-08 -2.893493 0 -2.8934929 -1.1827998 + 7100 2.1552835e-08 -2.8934937 0 -2.8934937 -1.1828681 + 7150 2.3988432e-08 -2.893494 0 -2.893494 -1.1829117 + 7200 5.0100549e-07 -2.8934949 0 -2.8934944 -1.1831237 + 7250 5.1293833e-07 -2.8934961 0 -2.8934956 -1.1832769 + 7300 4.9193885e-08 -2.8934978 0 -2.8934978 -1.1834501 + 7350 1.7704457e-07 -2.8935041 0 -2.8935039 -1.1838658 + 7400 1.0705432e-05 -2.8935219 0 -2.8935112 -1.1843004 + 7450 7.1746118e-05 -2.8936326 0 -2.893561 -1.1849502 + 7500 3.1813929e-06 -2.8938743 0 -2.8938711 -1.1832931 + 7550 6.3043396e-07 -2.8939295 0 -2.8939289 -1.1820798 + 7600 5.2150405e-07 -2.8939502 0 -2.8939497 -1.1820883 + 7650 4.7517449e-07 -2.8939658 0 -2.8939653 -1.1819437 + 7700 4.4885882e-07 -2.8939757 0 -2.8939752 -1.1817119 + 7750 4.6725067e-07 -2.8939842 0 -2.8939837 -1.1813933 + 7800 4.582757e-07 -2.8939901 0 -2.8939896 -1.1809685 + 7850 5.6014095e-07 -2.8939959 0 -2.8939954 -1.1803629 + 7900 4.9239111e-07 -2.8940002 0 -2.8939997 -1.1799761 + 7950 5.8652837e-07 -2.8940042 0 -2.8940036 -1.179493 + 8000 5.2119991e-07 -2.894007 0 -2.8940065 -1.1792154 + 8050 5.6171299e-07 -2.8940096 0 -2.8940091 -1.1789381 + 8100 5.1588922e-07 -2.8940115 0 -2.894011 -1.1788465 + 8150 5.8224721e-07 -2.8940133 0 -2.8940127 -1.1786473 + 8200 4.734318e-07 -2.8940145 0 -2.894014 -1.1784863 + 8250 6.5262092e-07 -2.8940158 0 -2.8940151 -1.1783061 + 8300 6.1708016e-07 -2.8940165 0 -2.8940159 -1.1781777 + 8350 6.8388448e-08 -2.8940173 0 -2.8940172 -1.1779926 + 8400 8.4463536e-08 -2.8940181 0 -2.894018 -1.177889 + 8450 3.9363627e-07 -2.8940188 0 -2.8940184 -1.1777552 + 8500 3.0541987e-10 -2.8940193 0 -2.8940193 -1.1776655 + 8550 2.9629605e-09 -2.8940199 0 -2.8940199 -1.1774346 + 8600 2.6219397e-09 -2.8940203 0 -2.8940203 -1.1772429 + 8650 7.2863159e-09 -2.8940208 0 -2.8940208 -1.1771118 + 8700 5.3112415e-09 -2.8940212 0 -2.8940211 -1.1770375 + 8750 1.0799289e-08 -2.8940216 0 -2.8940216 -1.1769494 + 8800 1.0335141e-08 -2.894022 0 -2.894022 -1.1768857 + 8850 7.8517969e-07 -2.8940229 0 -2.8940221 -1.176868 + 8900 1.200945e-06 -2.8940245 0 -2.8940233 -1.1767465 + 8950 2.0266151e-08 -2.8940265 0 -2.8940264 -1.1766326 + 9000 8.393891e-08 -2.8940288 0 -2.8940288 -1.1764556 + 9050 4.3322427e-08 -2.894035 0 -2.894035 -1.1757866 + 9100 5.558366e-08 -2.8940416 0 -2.8940416 -1.1748494 + 9150 5.6153929e-08 -2.8940464 0 -2.8940464 -1.1741107 + 9200 3.3093925e-08 -2.8940495 0 -2.8940494 -1.1734613 + 9250 2.5678554e-08 -2.8940507 0 -2.8940507 -1.1732185 + 9300 1.960171e-08 -2.8940512 0 -2.8940512 -1.1731441 + 9350 6.8264475e-10 -2.8940516 0 -2.8940516 -1.1730971 + 9400 3.9755331e-09 -2.8940518 0 -2.8940518 -1.1730732 + 9450 6.6819447e-09 -2.894052 0 -2.894052 -1.1730593 + 9500 2.8570816e-08 -2.8940521 0 -2.8940521 -1.1730524 + 9550 8.7433449e-10 -2.8940522 0 -2.8940522 -1.1730474 + 9600 1.2024295e-09 -2.8940523 0 -2.8940523 -1.1731417 + 9650 4.3992465e-09 -2.8940524 0 -2.8940524 -1.1731584 + 9700 6.9801912e-09 -2.8940524 0 -2.8940524 -1.1731609 + 9750 2.0127261e-09 -2.8940525 0 -2.8940525 -1.1731647 + 9800 1.9820186e-09 -2.8940525 0 -2.8940525 -1.1731771 + 9850 2.0267793e-09 -2.8940525 0 -2.8940525 -1.1731899 + 9900 2.5623826e-09 -2.8940526 0 -2.8940526 -1.1732135 + 9950 2.7321573e-09 -2.8940526 0 -2.8940526 -1.1732373 + 10000 3.7027158e-09 -2.8940526 0 -2.8940526 -1.1732798 + 10050 6.7838458e-09 -2.8940527 0 -2.8940527 -1.1733257 + 10100 1.6635632e-08 -2.8940528 0 -2.8940527 -1.1734128 + 10150 4.5898574e-08 -2.8940529 0 -2.8940529 -1.173554 + 10200 1.8171023e-07 -2.8940534 0 -2.8940532 -1.173811 + 10250 1.4919312e-06 -2.8940568 0 -2.8940553 -1.1744943 + 10300 1.1909136e-05 -2.8940907 0 -2.8940789 -1.1762331 + 10350 1.807619e-05 -2.8949091 0 -2.894891 -1.1819669 + 10400 2.8045001e-05 -2.8954967 0 -2.8954687 -1.1834846 + 10450 1.1453554e-05 -2.8956053 0 -2.8955939 -1.1848261 + 10500 3.3687864e-06 -2.8956525 0 -2.8956491 -1.1850246 + 10550 1.9367666e-06 -2.8956863 0 -2.8956844 -1.1846614 + 10600 1.2782114e-07 -2.8956995 0 -2.8956994 -1.1843742 + 10650 6.6195319e-07 -2.8957052 0 -2.8957045 -1.1841825 + 10700 4.7437869e-07 -2.8957078 0 -2.8957074 -1.1840626 + 10750 1.7270059e-07 -2.8957124 0 -2.8957122 -1.1840153 + 10800 1.1015125e-07 -2.8957137 0 -2.8957136 -1.1839328 + 10850 7.0349976e-08 -2.8957147 0 -2.8957146 -1.1838699 + 10900 6.837958e-08 -2.8957152 0 -2.8957151 -1.1838349 + 10950 6.4194728e-08 -2.8957156 0 -2.8957156 -1.1838001 + 11000 4.9879507e-08 -2.8957159 0 -2.8957158 -1.1837799 +Loop time of 1.74349 on 1 procs for 10000 steps with 800 atoms + +98.3% CPU use with 1 MPI tasks x no OpenMP threads + +Minimization stats: + Stopping criterion = max iterations + Energy initial, next-to-last, final = + -0.790781812776 -2.89571584656 -2.89571585284 + Force two-norm initial, final = 1905.47 0.0695855 + Force max component initial, final = 343.392 0.0295536 + Final line search alpha, max atom move = 0 0 + Iterations, force evaluations = 10000 10000 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.5154 | 1.5154 | 1.5154 | 0.0 | 86.92 +Neigh | 0.014633 | 0.014633 | 0.014633 | 0.0 | 0.84 +Comm | 0.017629 | 0.017629 | 0.017629 | 0.0 | 1.01 +Output | 0.00418 | 0.00418 | 0.00418 | 0.0 | 0.24 +Modify | 0.030156 | 0.030156 | 0.030156 | 0.0 | 1.73 +Other | | 0.1615 | | | 9.26 + +Nlocal: 800 ave 800 max 800 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 318 ave 318 max 318 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7003 ave 7003 max 7003 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 7003 +Ave neighs/atom = 8.75375 +Neighbor list builds = 74 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/fire/log.09Janv20.neb.fire.g++.4 b/examples/fire/log.09Janv20.neb.fire.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..9ceea45f8b3ec9abdac5021c2697ee1fddc02728 --- /dev/null +++ b/examples/fire/log.09Janv20.neb.fire.g++.4 @@ -0,0 +1,15 @@ +LAMMPS (09 Jan 2020) +Running on 4 partitions of processors +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +0 7.5525391 1.6345605 0.16683659 7.5525391 7.5525391 1.5383951 0 1.6207355 0 -2213.3343 0.33333333 -2212.7428 0.66666667 -2212.2247 1 -2211.7959 +10 0.82975832 0.151496 0.051405637 0.82975832 0.82890942 0.44110237 0.38602248 1.6383945 0 -2213.336 0.34232243 -2212.9441 0.67673819 -2212.8949 1 -2213.2809 +20 0.1352153 0.017969594 0.028869242 0.1352153 0.71343115 0.41634032 0.41253973 1.7292177 0 -2213.3368 0.32696596 -2212.9588 0.6532446 -2212.9204 1 -2213.333 +30 0.040631856 0.0047789392 0.0035943777 0.040631856 0.77848301 0.38922096 0.38909328 1.7666107 0 -2213.3374 0.33479277 -2212.9482 0.66840762 -2212.9544 1 -2213.3373 +40 0.010021333 0.00094141903 0.0026779237 0.010021333 0.78047283 0.38807503 0.38804134 1.765797 0 -2213.3374 0.33414241 -2212.9493 0.66764466 -2212.9529 1 -2213.3374 +41 0.0085585955 0.00080485818 0.0024573847 0.0085585955 0.78063064 0.38800164 0.38797632 1.7656661 0 -2213.3374 0.33413244 -2212.9494 0.66759535 -2212.9527 1 -2213.3374 +Climbing replica = 2 +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +41 0.78063064 0.31131254 0.0024573847 0.0085585955 0.78063064 0.38800164 0.38797632 1.7656661 0 -2213.3374 0.33413244 -2212.9494 0.66759535 -2212.9527 1 -2213.3374 +51 0.077404428 0.031367667 0.0011842934 0.0024342976 0.019465249 0.51014525 0.51014291 1.761094 0 -2213.3374 0.49613471 -2212.8272 0.72707246 -2213.0479 1 -2213.3374 +61 0.012232045 0.0032274471 0.00078574104 0.0014332303 0.008388584 0.51009811 0.51009738 1.7611503 0 -2213.3374 0.49457348 -2212.8273 0.74541597 -2213.0782 1 -2213.3374 +62 0.0089103916 0.0024842796 0.00072806474 0.0014932704 0.0083939608 0.51009995 0.51009934 1.7610284 0 -2213.3374 0.49503069 -2212.8273 0.74593364 -2213.079 1 -2213.3374 diff --git a/examples/fire/log.09Janv20.neb.fire.g++.8 b/examples/fire/log.09Janv20.neb.fire.g++.8 new file mode 100644 index 0000000000000000000000000000000000000000..a0f0f753213bf1a172db14978e36ad1d921fc2b2 --- /dev/null +++ b/examples/fire/log.09Janv20.neb.fire.g++.8 @@ -0,0 +1,14 @@ +LAMMPS (09 Jan 2020) +Running on 8 partitions of processors +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +0 7.5525391 1.6345605 0.16683659 7.5525391 7.5525391 1.5383951 0 1.6207355 0 -2213.3343 0.14285714 -2213.1848 0.28571429 -2212.8577 0.42857143 -2212.5353 0.57142857 -2212.3131 0.71428571 -2212.192 0.85714286 -2212.0797 1 -2211.7959 +10 0.83279099 0.15218551 0.051457912 0.83279099 0.51294565 0.51146911 0.45623003 1.6449446 0 -2213.336 0.14840724 -2213.2346 0.29535615 -2213.0138 0.4417452 -2212.8419 0.58719049 -2212.8245 0.73204589 -2212.9629 0.8720532 -2213.1643 1 -2213.2807 +20 0.13499135 0.025513623 0.028873652 0.13499135 0.31173673 0.49652505 0.49272333 1.751414 0 -2213.3368 0.14539729 -2213.243 0.28705892 -2213.024 0.42611693 -2212.854 0.56353342 -2212.8403 0.69946058 -2212.9846 0.83838557 -2213.203 1 -2213.333 +30 0.045307583 0.0061820354 0.0037366106 0.042519391 0.32123848 0.49279844 0.49266844 1.8063132 0 -2213.3374 0.14088843 -2213.2542 0.28088573 -2213.0379 0.41966614 -2212.859 0.55987626 -2212.8446 0.7049047 -2213.0136 0.85267772 -2213.2453 1 -2213.3373 +40 0.01020258 0.0024688055 0.0028587701 0.01020258 0.32691899 0.49208236 0.49204824 1.8050507 0 -2213.3374 0.14078995 -2213.2543 0.2808158 -2213.038 0.42032863 -2212.8585 0.56121469 -2212.8453 0.70535554 -2213.0139 0.85229608 -2213.2444 1 -2213.3373 +41 0.008663273 0.0023142496 0.0026407777 0.008633887 0.32859141 0.49188737 0.49186145 1.8049682 0 -2213.3374 0.14071905 -2213.2544 0.28075314 -2213.0381 0.42045231 -2212.8585 0.56155466 -2212.8455 0.70564189 -2213.0143 0.85237894 -2213.2445 1 -2213.3374 +Climbing replica = 5 +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +41 0.32859141 0.13237876 0.0026407777 0.008633887 0.32859141 0.49188737 0.49186145 1.8049682 0 -2213.3374 0.14071905 -2213.2544 0.28075314 -2213.0381 0.42045231 -2212.8585 0.56155466 -2212.8455 0.70564189 -2213.0143 0.85237894 -2213.2445 1 -2213.3374 +51 0.040958022 0.016469867 0.0005521899 0.0016920665 0.040958022 0.50982635 0.50982533 1.8022601 0 -2213.3374 0.13880123 -2213.2577 0.26695723 -2213.0629 0.37347534 -2212.9058 0.4947259 -2212.8276 0.66038346 -2212.9436 0.8406605 -2213.2262 1 -2213.3374 +60 0.0086936374 0.0031014459 0.00019536798 0.0014152883 0.0028728935 0.51009384 0.5100937 1.8047724 0 -2213.3374 0.12947154 -2213.2696 0.25490265 -2213.0841 0.37918482 -2212.8998 0.502053 -2212.8273 0.66626732 -2212.9516 0.83109228 -2213.2129 1 -2213.3374 diff --git a/examples/fire/log.09Janv20.neb.fire_mod.g++.4 b/examples/fire/log.09Janv20.neb.fire_mod.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..dfd4caab2472f1779460b20c8ddc881ccaeb6e7c --- /dev/null +++ b/examples/fire/log.09Janv20.neb.fire_mod.g++.4 @@ -0,0 +1,13 @@ +LAMMPS (09 Jan 2020) +Running on 4 partitions of processors +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +0 7.5525391 1.6345605 0.16683659 7.5525391 7.5525391 1.5383951 0 1.6207355 0 -2213.3343 0.33333333 -2212.7428 0.66666667 -2212.2247 1 -2211.7959 +10 0.48320283 0.070875032 0.038616783 0.48320283 0.73566671 0.43244307 0.41490356 1.6995075 0 -2213.3364 0.32902356 -2212.9569 0.65268687 -2212.904 1 -2213.3189 +20 0.04588662 0.0059014273 0.013607587 0.04588662 0.7620294 0.39621211 0.39588855 1.754979 0 -2213.3372 0.32672928 -2212.9586 0.66103382 -2212.941 1 -2213.3369 +30 0.012046386 0.0023677314 0.0024864261 0.012046386 0.77394417 0.390621 0.39059583 1.7683216 0 -2213.3374 0.33656712 -2212.9468 0.66993108 -2212.956 1 -2213.3374 +32 0.0082265111 0.002338617 0.0024204614 0.0082265111 0.77424743 0.39048139 0.39045939 1.7683165 0 -2213.3374 0.33645819 -2212.9469 0.66981988 -2212.9558 1 -2213.3374 +Climbing replica = 2 +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +32 0.77424743 0.30840645 0.0024204614 0.0082265111 0.77424743 0.39048139 0.39045939 1.7683165 0 -2213.3374 0.33645819 -2212.9469 0.66981988 -2212.9558 1 -2213.3374 +42 0.10894394 0.044043242 0.0013210541 0.0029131753 0.021916453 0.5102364 0.51023223 1.7634332 0 -2213.3374 0.49598665 -2212.8272 0.71765441 -2213.0326 1 -2213.3374 +50 0.0068513242 0.0010095684 0.00065625863 0.001215472 0.0066965947 0.51011571 0.51011496 1.7619971 0 -2213.3374 0.49559669 -2212.8273 0.74807431 -2213.0827 1 -2213.3374 diff --git a/examples/fire/log.09Janv20.neb.fire_mod.g++.8 b/examples/fire/log.09Janv20.neb.fire_mod.g++.8 new file mode 100644 index 0000000000000000000000000000000000000000..2048909e0091ed682142ff04a4d54565e15358e9 --- /dev/null +++ b/examples/fire/log.09Janv20.neb.fire_mod.g++.8 @@ -0,0 +1,14 @@ +LAMMPS (09 Jan 2020) +Running on 8 partitions of processors +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +0 7.5525391 1.6345605 0.16683659 7.5525391 7.5525391 1.5383951 0 1.6207355 0 -2213.3343 0.14285714 -2213.1848 0.28571429 -2212.8577 0.42857143 -2212.5353 0.57142857 -2212.3131 0.71428571 -2212.192 0.85714286 -2212.0797 1 -2211.7959 +10 0.48475755 0.071114508 0.038599753 0.48475755 0.37640584 0.50318641 0.48560785 1.7145875 0 -2213.3364 0.1447689 -2213.2412 0.28627124 -2213.0244 0.42632938 -2212.8531 0.56539552 -2212.8332 0.7032047 -2212.9696 0.83935165 -2213.178 1 -2213.3188 +20 0.046926614 0.006867162 0.013743996 0.046926614 0.28004989 0.49743548 0.49710086 1.7876287 0 -2213.3372 0.142513 -2213.2504 0.28233628 -2213.034 0.41881659 -2212.8597 0.55388168 -2212.8398 0.69295642 -2212.9888 0.84301311 -2213.2259 1 -2213.3369 +30 0.012933981 0.0025468388 0.0021659256 0.012933981 0.33105878 0.49161235 0.49157812 1.8094495 0 -2213.3374 0.13877456 -2213.2574 0.2776974 -2213.0439 0.41817927 -2212.8603 0.5617581 -2212.8458 0.70750491 -2213.0183 0.85397925 -2213.2476 1 -2213.3374 +32 0.0094719828 0.002190111 0.0020531136 0.0094719828 0.33155635 0.49154859 0.49152008 1.8093908 0 -2213.3374 0.13875933 -2213.2574 0.2777511 -2213.0437 0.41830977 -2212.8602 0.56184682 -2212.8458 0.70752982 -2213.0184 0.8539532 -2213.2475 1 -2213.3374 +Climbing replica = 5 +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +32 0.33155635 0.13350858 0.0020531136 0.0094719828 0.33155635 0.49154859 0.49152008 1.8093908 0 -2213.3374 0.13875933 -2213.2574 0.2777511 -2213.0437 0.41830977 -2212.8602 0.56184682 -2212.8458 0.70752982 -2213.0184 0.8539532 -2213.2475 1 -2213.3374 +42 0.054183917 0.021868092 0.00037963557 0.0016877522 0.054183917 0.50961909 0.50961819 1.8035718 0 -2213.3374 0.13834505 -2213.2584 0.26708756 -2213.0628 0.37311054 -2212.9062 0.49221559 -2212.8278 0.660749 -2212.9444 0.84197285 -2213.2284 1 -2213.3374 +52 0.022191714 0.0081097792 0.00012251534 0.00045278336 0.018020069 0.51004165 0.51004156 1.806295 0 -2213.3374 0.11858703 -2213.2817 0.2484601 -2213.0953 0.37835084 -2212.9009 0.49927321 -2212.8273 0.66777338 -2212.9539 0.83280212 -2213.2156 1 -2213.3374 +61 0.0083637188 0.0032627544 8.8875493e-05 0.00028087968 0.0034720486 0.51009259 0.51009255 1.8057964 0 -2213.3374 0.12337729 -2213.2765 0.24928935 -2213.0938 0.37439488 -2212.9054 0.50189879 -2212.8273 0.66754201 -2212.9535 0.83596085 -2213.22 1 -2213.3374 diff --git a/examples/fire/log.09Janv20.neb.fire_mod_old.g++.4 b/examples/fire/log.09Janv20.neb.fire_mod_old.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..0aeef8a531d24e9d5cf07e952af27ba00b4df7ac --- /dev/null +++ b/examples/fire/log.09Janv20.neb.fire_mod_old.g++.4 @@ -0,0 +1,23 @@ +LAMMPS (09 Jan 2020) +Running on 4 partitions of processors +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +0 7.5525391 1.6345605 0.16683659 7.5525391 7.5525391 1.5383951 0 1.6207355 0 -2213.3343 0.33333333 -2212.7428 0.66666667 -2212.2247 1 -2211.7959 +10 1.3693388 0.28041646 0.070738081 1.3693388 1.0855833 0.49695052 0.30796931 1.5832462 0 -2213.3353 0.35022053 -2212.92 0.69816488 -2212.8384 1 -2213.1464 +20 1.1002508 0.21873472 0.049142357 1.1002508 0.96650653 0.44246122 0.38196494 1.6785075 0 -2213.3362 0.34083391 -2212.9409 0.66986112 -2212.8937 1 -2213.2757 +30 0.51368685 0.060842471 0.039205784 0.51368685 0.75179947 0.42112286 0.40449278 1.7009906 0 -2213.3364 0.33411939 -2212.9506 0.66142227 -2212.9153 1 -2213.3198 +40 0.35823734 0.045892314 0.033965264 0.35823734 0.73284549 0.41639462 0.4075633 1.7148522 0 -2213.3366 0.33138373 -2212.9538 0.65884796 -2212.9202 1 -2213.3278 +50 0.41165748 0.076994838 0.021380826 0.41165748 0.78427738 0.40229169 0.39779205 1.7632679 0 -2213.3371 0.32419234 -2212.9593 0.65452671 -2212.9348 1 -2213.3326 +60 0.076915443 0.010958664 0.016926588 0.076915443 0.75408409 0.39957497 0.39862604 1.7606518 0 -2213.3372 0.32519215 -2212.9591 0.65667393 -2212.9376 1 -2213.3362 +70 0.10481382 0.015447066 0.014548011 0.10481382 0.76748189 0.39515902 0.3946702 1.7555947 0 -2213.3372 0.32808712 -2212.9568 0.66188046 -2212.9421 1 -2213.3367 +80 0.080915257 0.008490983 0.012981317 0.080915257 0.76868863 0.39409972 0.39377313 1.7563219 0 -2213.3373 0.32892342 -2212.9557 0.6623966 -2212.9432 1 -2213.3369 +90 0.03261844 0.0036037258 0.010975647 0.03261844 0.77019393 0.39275317 0.39258035 1.7570762 0 -2213.3373 0.33001491 -2212.9544 0.66324116 -2212.9445 1 -2213.3371 +100 0.053370763 0.0072724044 0.009243639 0.053370763 0.77457554 0.39117385 0.391031 1.7582617 0 -2213.3373 0.33114311 -2212.9531 0.66427428 -2212.9461 1 -2213.3372 +Climbing replica = 3 +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +100 0.77457554 0.30675535 0.009243639 0.053370763 0.77457554 0.39117385 0.391031 1.7582617 0 -2213.3373 0.33114311 -2212.9531 0.66427428 -2212.9461 1 -2213.3372 +110 0.25585774 0.10268695 0.0070464547 0.0681587 0.14797757 0.50920581 0.50909423 1.7558262 0 -2213.3374 0.31405087 -2212.9805 0.48492192 -2212.8281 1 -2213.3372 +120 0.11790673 0.046047759 0.0056305403 0.032412928 0.073256467 0.51011765 0.51007105 1.7564765 0 -2213.3374 0.28119336 -2213.0335 0.49788361 -2212.8272 1 -2213.3373 +130 0.070383648 0.012735737 0.0040321557 0.011560639 0.070383648 0.51017901 0.51016087 1.7586689 0 -2213.3374 0.25054735 -2213.0848 0.50803649 -2212.8272 1 -2213.3374 +140 0.031165303 0.0054585981 0.0037609991 0.0081879563 0.031165303 0.51010628 0.51009071 1.7588792 0 -2213.3374 0.2509652 -2213.084 0.50725262 -2212.8273 1 -2213.3374 +150 0.032102393 0.0051272026 0.0029882352 0.0078487546 0.032102393 0.51012806 0.51011832 1.7587138 0 -2213.3374 0.25247871 -2213.081 0.50452467 -2212.8273 1 -2213.3374 +153 0.0098882985 0.0021249062 0.0028642357 0.0047391334 0.0068711217 0.51010879 0.51009999 1.7588126 0 -2213.3374 0.25247357 -2213.0811 0.50451804 -2212.8273 1 -2213.3374 diff --git a/examples/fire/log.09Janv20.neb.fire_mod_old.g++.8 b/examples/fire/log.09Janv20.neb.fire_mod_old.g++.8 new file mode 100644 index 0000000000000000000000000000000000000000..86d8665e06b0361f54207a13afdc8792934d4883 --- /dev/null +++ b/examples/fire/log.09Janv20.neb.fire_mod_old.g++.8 @@ -0,0 +1,25 @@ +LAMMPS (09 Jan 2020) +Running on 8 partitions of processors +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +0 7.5525391 1.6345605 0.16683659 7.5525391 7.5525391 1.5383951 0 1.6207355 0 -2213.3343 0.14285714 -2213.1848 0.28571429 -2212.8577 0.42857143 -2212.5353 0.57142857 -2212.3131 0.71428571 -2212.192 0.85714286 -2212.0797 1 -2211.7959 +10 1.3733952 0.28091862 0.070816258 1.3733952 0.8486803 0.56001239 0.3703372 1.585382 0 -2213.3353 0.1507806 -2213.2252 0.30063588 -2212.994 0.45029991 -2212.8095 0.59994263 -2212.7753 0.7496139 -2212.8912 0.89858029 -2213.0683 1 -2213.1457 +20 1.092582 0.20848565 0.049208846 1.092582 0.67749217 0.51312948 0.45351955 1.6893895 0 -2213.3362 0.14936576 -2213.2335 0.29517709 -2213.0109 0.44023761 -2212.8383 0.58433586 -2212.823 0.72824623 -2212.9685 0.86563155 -2213.1656 1 -2213.2765 +30 0.51394672 0.065440154 0.039324493 0.51394672 0.3958278 0.49724388 0.48072013 1.7159739 0 -2213.3364 0.14741033 -2213.2378 0.29093102 -2213.0178 0.43329455 -2212.8488 0.57560149 -2212.8391 0.71699492 -2212.9908 0.85518626 -2213.2019 1 -2213.3199 +40 0.3585576 0.049551349 0.034062896 0.3585576 0.35880033 0.49523368 0.48643307 1.7331908 0 -2213.3366 0.1468741 -2213.2401 0.28995894 -2213.0199 0.43116537 -2212.8509 0.57200904 -2212.8414 0.71172557 -2212.9933 0.85019682 -2213.2079 1 -2213.3278 +50 0.44071315 0.082631584 0.022058757 0.44071315 0.37223078 0.49368273 0.48892253 1.798835 0 -2213.3371 0.14570064 -2213.2457 0.28667681 -2213.0242 0.42410363 -2212.8534 0.55976055 -2212.8434 0.69487743 -2212.9955 0.83779975 -2213.2217 1 -2213.3324 +60 0.077895494 0.011715318 0.01696469 0.077895494 0.32663094 0.49291962 0.49197362 1.7955425 0 -2213.3372 0.1454209 -2213.2463 0.2868202 -2213.0251 0.42463425 -2212.854 0.56068056 -2212.8442 0.69668441 -2212.9982 0.84064029 -2213.2268 1 -2213.3362 +70 0.11340967 0.020267586 0.014639143 0.11200288 0.32902721 0.49268033 0.49216997 1.7893615 0 -2213.3372 0.14432947 -2213.2481 0.28644798 -2213.0271 0.42527709 -2212.8546 0.56239953 -2212.8445 0.70115891 -2213.0022 0.84751195 -2213.2328 1 -2213.3367 +80 0.059890228 0.0072324994 0.013525373 0.058536736 0.32663552 0.49254358 0.49222746 1.7897234 0 -2213.3372 0.14416888 -2213.2483 0.28619681 -2213.0275 0.42510701 -2212.8548 0.5624421 -2212.8447 0.70158835 -2213.0031 0.84785092 -2213.2336 1 -2213.3369 +90 0.046425179 0.0085878339 0.012661487 0.044701202 0.32705463 0.49239983 0.49214608 1.7902988 0 -2213.3373 0.14397996 -2213.2486 0.28591514 -2213.0281 0.42492825 -2212.8549 0.56254967 -2212.8449 0.70215415 -2213.0043 0.84829939 -2213.2344 1 -2213.337 +100 0.10492073 0.011902365 0.0086596336 0.098577447 0.33783582 0.49131393 0.49111204 1.7952617 0 -2213.3373 0.14284709 -2213.2507 0.28418505 -2213.0317 0.42398447 -2212.8559 0.5637284 -2212.846 0.70592525 -2213.0117 0.85128864 -2213.2397 1 -2213.3371 +Climbing replica = 5 +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +100 0.33783582 0.13401694 0.0086596336 0.098577447 0.33783582 0.49131393 0.49111204 1.7952617 0 -2213.3373 0.14284709 -2213.2507 0.28418505 -2213.0317 0.42398447 -2212.8559 0.5637284 -2212.846 0.70592525 -2213.0117 0.85128864 -2213.2397 1 -2213.3371 +110 0.18587506 0.036451754 0.010634469 0.17023192 0.096871396 0.51011217 0.50966159 1.7980162 0 -2213.3374 0.14250254 -2213.2514 0.28367135 -2213.0327 0.42003349 -2212.8588 0.50682002 -2212.8272 0.70273624 -2213.0073 0.85172992 -2213.241 1 -2213.3369 +120 0.10027564 0.032272806 0.0066799491 0.069972769 0.04600783 0.51006637 0.50996326 1.7980446 0 -2213.3374 0.14245419 -2213.2516 0.28333857 -2213.0334 0.41656844 -2212.8616 0.50571617 -2212.8273 0.69946889 -2213.0023 0.85165952 -2213.2413 1 -2213.3373 +130 0.061140793 0.022612825 0.0051287229 0.035432028 0.023420936 0.51012054 0.51007667 1.79856 0 -2213.3374 0.14224093 -2213.252 0.28182793 -2213.0361 0.40850953 -2212.8685 0.50337537 -2212.8272 0.69184303 -2212.9904 0.85074583 -2213.2402 1 -2213.3373 +140 0.034227221 0.013436677 0.0033777969 0.012466833 0.012341194 0.51010526 0.5100916 1.7997532 0 -2213.3374 0.14115179 -2213.254 0.27552835 -2213.0474 0.39134491 -2212.8853 0.50005108 -2212.8273 0.67579228 -2212.9658 0.84597693 -2213.2336 1 -2213.3374 +150 0.031519482 0.012310467 0.003215866 0.0067823368 0.0094298698 0.51010745 0.51009621 1.799913 0 -2213.3374 0.1407836 -2213.2545 0.27442232 -2213.0493 0.39094764 -2212.8858 0.50040612 -2212.8273 0.67547004 -2212.9653 0.84498145 -2213.2322 1 -2213.3374 +160 0.02145751 0.006224623 0.0025005459 0.015465641 0.009264856 0.51010724 0.51009839 1.8012956 0 -2213.3374 0.13767881 -2213.2589 0.26720429 -2213.0621 0.38791572 -2212.8894 0.50222367 -2212.8273 0.67294161 -2212.9614 0.83875897 -2213.2236 1 -2213.3374 +170 0.066130312 0.0055647193 0.0038237308 0.038908839 0.020979589 0.51009997 0.51007791 1.8039701 0 -2213.3374 0.13100945 -2213.2676 0.25738978 -2213.0796 0.3821429 -2212.8962 0.50312597 -2212.8273 0.66833145 -2212.9546 0.83201742 -2213.2142 1 -2213.3374 +175 0.008829511 0.0032927835 0.00089755332 0.0014591785 0.0043357949 0.51009467 0.51009389 1.8039465 0 -2213.3374 0.13086052 -2213.2678 0.2573384 -2213.0797 0.38201967 -2212.8964 0.50305513 -2212.8273 0.66828977 -2212.9546 0.83216025 -2213.2144 1 -2213.3374 diff --git a/examples/fire/log.09Janv20.neb.fire_old.g++.4 b/examples/fire/log.09Janv20.neb.fire_old.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..0aeef8a531d24e9d5cf07e952af27ba00b4df7ac --- /dev/null +++ b/examples/fire/log.09Janv20.neb.fire_old.g++.4 @@ -0,0 +1,23 @@ +LAMMPS (09 Jan 2020) +Running on 4 partitions of processors +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +0 7.5525391 1.6345605 0.16683659 7.5525391 7.5525391 1.5383951 0 1.6207355 0 -2213.3343 0.33333333 -2212.7428 0.66666667 -2212.2247 1 -2211.7959 +10 1.3693388 0.28041646 0.070738081 1.3693388 1.0855833 0.49695052 0.30796931 1.5832462 0 -2213.3353 0.35022053 -2212.92 0.69816488 -2212.8384 1 -2213.1464 +20 1.1002508 0.21873472 0.049142357 1.1002508 0.96650653 0.44246122 0.38196494 1.6785075 0 -2213.3362 0.34083391 -2212.9409 0.66986112 -2212.8937 1 -2213.2757 +30 0.51368685 0.060842471 0.039205784 0.51368685 0.75179947 0.42112286 0.40449278 1.7009906 0 -2213.3364 0.33411939 -2212.9506 0.66142227 -2212.9153 1 -2213.3198 +40 0.35823734 0.045892314 0.033965264 0.35823734 0.73284549 0.41639462 0.4075633 1.7148522 0 -2213.3366 0.33138373 -2212.9538 0.65884796 -2212.9202 1 -2213.3278 +50 0.41165748 0.076994838 0.021380826 0.41165748 0.78427738 0.40229169 0.39779205 1.7632679 0 -2213.3371 0.32419234 -2212.9593 0.65452671 -2212.9348 1 -2213.3326 +60 0.076915443 0.010958664 0.016926588 0.076915443 0.75408409 0.39957497 0.39862604 1.7606518 0 -2213.3372 0.32519215 -2212.9591 0.65667393 -2212.9376 1 -2213.3362 +70 0.10481382 0.015447066 0.014548011 0.10481382 0.76748189 0.39515902 0.3946702 1.7555947 0 -2213.3372 0.32808712 -2212.9568 0.66188046 -2212.9421 1 -2213.3367 +80 0.080915257 0.008490983 0.012981317 0.080915257 0.76868863 0.39409972 0.39377313 1.7563219 0 -2213.3373 0.32892342 -2212.9557 0.6623966 -2212.9432 1 -2213.3369 +90 0.03261844 0.0036037258 0.010975647 0.03261844 0.77019393 0.39275317 0.39258035 1.7570762 0 -2213.3373 0.33001491 -2212.9544 0.66324116 -2212.9445 1 -2213.3371 +100 0.053370763 0.0072724044 0.009243639 0.053370763 0.77457554 0.39117385 0.391031 1.7582617 0 -2213.3373 0.33114311 -2212.9531 0.66427428 -2212.9461 1 -2213.3372 +Climbing replica = 3 +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +100 0.77457554 0.30675535 0.009243639 0.053370763 0.77457554 0.39117385 0.391031 1.7582617 0 -2213.3373 0.33114311 -2212.9531 0.66427428 -2212.9461 1 -2213.3372 +110 0.25585774 0.10268695 0.0070464547 0.0681587 0.14797757 0.50920581 0.50909423 1.7558262 0 -2213.3374 0.31405087 -2212.9805 0.48492192 -2212.8281 1 -2213.3372 +120 0.11790673 0.046047759 0.0056305403 0.032412928 0.073256467 0.51011765 0.51007105 1.7564765 0 -2213.3374 0.28119336 -2213.0335 0.49788361 -2212.8272 1 -2213.3373 +130 0.070383648 0.012735737 0.0040321557 0.011560639 0.070383648 0.51017901 0.51016087 1.7586689 0 -2213.3374 0.25054735 -2213.0848 0.50803649 -2212.8272 1 -2213.3374 +140 0.031165303 0.0054585981 0.0037609991 0.0081879563 0.031165303 0.51010628 0.51009071 1.7588792 0 -2213.3374 0.2509652 -2213.084 0.50725262 -2212.8273 1 -2213.3374 +150 0.032102393 0.0051272026 0.0029882352 0.0078487546 0.032102393 0.51012806 0.51011832 1.7587138 0 -2213.3374 0.25247871 -2213.081 0.50452467 -2212.8273 1 -2213.3374 +153 0.0098882985 0.0021249062 0.0028642357 0.0047391334 0.0068711217 0.51010879 0.51009999 1.7588126 0 -2213.3374 0.25247357 -2213.0811 0.50451804 -2212.8273 1 -2213.3374 diff --git a/examples/fire/log.09Janv20.neb.fire_old.g++.8 b/examples/fire/log.09Janv20.neb.fire_old.g++.8 new file mode 100644 index 0000000000000000000000000000000000000000..86d8665e06b0361f54207a13afdc8792934d4883 --- /dev/null +++ b/examples/fire/log.09Janv20.neb.fire_old.g++.8 @@ -0,0 +1,25 @@ +LAMMPS (09 Jan 2020) +Running on 8 partitions of processors +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +0 7.5525391 1.6345605 0.16683659 7.5525391 7.5525391 1.5383951 0 1.6207355 0 -2213.3343 0.14285714 -2213.1848 0.28571429 -2212.8577 0.42857143 -2212.5353 0.57142857 -2212.3131 0.71428571 -2212.192 0.85714286 -2212.0797 1 -2211.7959 +10 1.3733952 0.28091862 0.070816258 1.3733952 0.8486803 0.56001239 0.3703372 1.585382 0 -2213.3353 0.1507806 -2213.2252 0.30063588 -2212.994 0.45029991 -2212.8095 0.59994263 -2212.7753 0.7496139 -2212.8912 0.89858029 -2213.0683 1 -2213.1457 +20 1.092582 0.20848565 0.049208846 1.092582 0.67749217 0.51312948 0.45351955 1.6893895 0 -2213.3362 0.14936576 -2213.2335 0.29517709 -2213.0109 0.44023761 -2212.8383 0.58433586 -2212.823 0.72824623 -2212.9685 0.86563155 -2213.1656 1 -2213.2765 +30 0.51394672 0.065440154 0.039324493 0.51394672 0.3958278 0.49724388 0.48072013 1.7159739 0 -2213.3364 0.14741033 -2213.2378 0.29093102 -2213.0178 0.43329455 -2212.8488 0.57560149 -2212.8391 0.71699492 -2212.9908 0.85518626 -2213.2019 1 -2213.3199 +40 0.3585576 0.049551349 0.034062896 0.3585576 0.35880033 0.49523368 0.48643307 1.7331908 0 -2213.3366 0.1468741 -2213.2401 0.28995894 -2213.0199 0.43116537 -2212.8509 0.57200904 -2212.8414 0.71172557 -2212.9933 0.85019682 -2213.2079 1 -2213.3278 +50 0.44071315 0.082631584 0.022058757 0.44071315 0.37223078 0.49368273 0.48892253 1.798835 0 -2213.3371 0.14570064 -2213.2457 0.28667681 -2213.0242 0.42410363 -2212.8534 0.55976055 -2212.8434 0.69487743 -2212.9955 0.83779975 -2213.2217 1 -2213.3324 +60 0.077895494 0.011715318 0.01696469 0.077895494 0.32663094 0.49291962 0.49197362 1.7955425 0 -2213.3372 0.1454209 -2213.2463 0.2868202 -2213.0251 0.42463425 -2212.854 0.56068056 -2212.8442 0.69668441 -2212.9982 0.84064029 -2213.2268 1 -2213.3362 +70 0.11340967 0.020267586 0.014639143 0.11200288 0.32902721 0.49268033 0.49216997 1.7893615 0 -2213.3372 0.14432947 -2213.2481 0.28644798 -2213.0271 0.42527709 -2212.8546 0.56239953 -2212.8445 0.70115891 -2213.0022 0.84751195 -2213.2328 1 -2213.3367 +80 0.059890228 0.0072324994 0.013525373 0.058536736 0.32663552 0.49254358 0.49222746 1.7897234 0 -2213.3372 0.14416888 -2213.2483 0.28619681 -2213.0275 0.42510701 -2212.8548 0.5624421 -2212.8447 0.70158835 -2213.0031 0.84785092 -2213.2336 1 -2213.3369 +90 0.046425179 0.0085878339 0.012661487 0.044701202 0.32705463 0.49239983 0.49214608 1.7902988 0 -2213.3373 0.14397996 -2213.2486 0.28591514 -2213.0281 0.42492825 -2212.8549 0.56254967 -2212.8449 0.70215415 -2213.0043 0.84829939 -2213.2344 1 -2213.337 +100 0.10492073 0.011902365 0.0086596336 0.098577447 0.33783582 0.49131393 0.49111204 1.7952617 0 -2213.3373 0.14284709 -2213.2507 0.28418505 -2213.0317 0.42398447 -2212.8559 0.5637284 -2212.846 0.70592525 -2213.0117 0.85128864 -2213.2397 1 -2213.3371 +Climbing replica = 5 +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +100 0.33783582 0.13401694 0.0086596336 0.098577447 0.33783582 0.49131393 0.49111204 1.7952617 0 -2213.3373 0.14284709 -2213.2507 0.28418505 -2213.0317 0.42398447 -2212.8559 0.5637284 -2212.846 0.70592525 -2213.0117 0.85128864 -2213.2397 1 -2213.3371 +110 0.18587506 0.036451754 0.010634469 0.17023192 0.096871396 0.51011217 0.50966159 1.7980162 0 -2213.3374 0.14250254 -2213.2514 0.28367135 -2213.0327 0.42003349 -2212.8588 0.50682002 -2212.8272 0.70273624 -2213.0073 0.85172992 -2213.241 1 -2213.3369 +120 0.10027564 0.032272806 0.0066799491 0.069972769 0.04600783 0.51006637 0.50996326 1.7980446 0 -2213.3374 0.14245419 -2213.2516 0.28333857 -2213.0334 0.41656844 -2212.8616 0.50571617 -2212.8273 0.69946889 -2213.0023 0.85165952 -2213.2413 1 -2213.3373 +130 0.061140793 0.022612825 0.0051287229 0.035432028 0.023420936 0.51012054 0.51007667 1.79856 0 -2213.3374 0.14224093 -2213.252 0.28182793 -2213.0361 0.40850953 -2212.8685 0.50337537 -2212.8272 0.69184303 -2212.9904 0.85074583 -2213.2402 1 -2213.3373 +140 0.034227221 0.013436677 0.0033777969 0.012466833 0.012341194 0.51010526 0.5100916 1.7997532 0 -2213.3374 0.14115179 -2213.254 0.27552835 -2213.0474 0.39134491 -2212.8853 0.50005108 -2212.8273 0.67579228 -2212.9658 0.84597693 -2213.2336 1 -2213.3374 +150 0.031519482 0.012310467 0.003215866 0.0067823368 0.0094298698 0.51010745 0.51009621 1.799913 0 -2213.3374 0.1407836 -2213.2545 0.27442232 -2213.0493 0.39094764 -2212.8858 0.50040612 -2212.8273 0.67547004 -2212.9653 0.84498145 -2213.2322 1 -2213.3374 +160 0.02145751 0.006224623 0.0025005459 0.015465641 0.009264856 0.51010724 0.51009839 1.8012956 0 -2213.3374 0.13767881 -2213.2589 0.26720429 -2213.0621 0.38791572 -2212.8894 0.50222367 -2212.8273 0.67294161 -2212.9614 0.83875897 -2213.2236 1 -2213.3374 +170 0.066130312 0.0055647193 0.0038237308 0.038908839 0.020979589 0.51009997 0.51007791 1.8039701 0 -2213.3374 0.13100945 -2213.2676 0.25738978 -2213.0796 0.3821429 -2212.8962 0.50312597 -2212.8273 0.66833145 -2212.9546 0.83201742 -2213.2142 1 -2213.3374 +175 0.008829511 0.0032927835 0.00089755332 0.0014591785 0.0043357949 0.51009467 0.51009389 1.8039465 0 -2213.3374 0.13086052 -2213.2678 0.2573384 -2213.0797 0.38201967 -2212.8964 0.50305513 -2212.8273 0.66828977 -2212.9546 0.83216025 -2213.2144 1 -2213.3374 diff --git a/examples/fire/log.09Janv20.neb.qm.g++.4 b/examples/fire/log.09Janv20.neb.qm.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..049d72b082ebf96b4bda912553a29d9dfe42ab7a --- /dev/null +++ b/examples/fire/log.09Janv20.neb.qm.g++.4 @@ -0,0 +1,18 @@ +LAMMPS (09 Jan 2020) +Running on 4 partitions of processors +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +0 7.5525391 1.6345605 0.16683659 7.5525391 7.5525391 1.5383951 0 1.6207355 0 -2213.3343 0.33333333 -2212.7428 0.66666667 -2212.2247 1 -2211.7959 +10 0.24005275 0.036502104 0.036483049 0.24005275 0.68351722 0.42916118 0.41794425 1.6989349 0 -2213.3365 0.32909183 -2212.9587 0.65386736 -2212.9073 1 -2213.3253 +20 0.07940898 0.016398055 0.024706844 0.07940898 0.71637784 0.41387872 0.41157886 1.7343662 0 -2213.3369 0.32478734 -2212.9621 0.65348766 -2212.923 1 -2213.3346 +30 0.094973707 0.0083631681 0.015145947 0.035267404 0.7535772 0.40072717 0.40024605 1.7504612 0 -2213.3372 0.32705584 -2212.9584 0.65894506 -2212.9365 1 -2213.3367 +40 0.027727472 0.0044528145 0.011618173 0.022562656 0.76133752 0.39614635 0.39591731 1.7547519 0 -2213.3373 0.32873163 -2212.9562 0.66124255 -2212.9411 1 -2213.337 +50 0.01942935 0.0030110281 0.0087135562 0.015391975 0.76952681 0.39274846 0.3926388 1.7578616 0 -2213.3373 0.33022595 -2212.9543 0.66307279 -2212.9446 1 -2213.3372 +60 0.019000226 0.0016228054 0.0053426183 0.0086165952 0.77759608 0.3893686 0.38933362 1.7610433 0 -2213.3374 0.33187548 -2212.9523 0.66497618 -2212.948 1 -2213.3373 +63 0.0097473558 0.0012728697 0.004778276 0.0076133796 0.7786505 0.38888835 0.38886103 1.7615288 0 -2213.3374 0.33212079 -2212.952 0.66525353 -2212.9485 1 -2213.3373 +Climbing replica = 3 +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +63 0.7786505 0.31085887 0.004778276 0.0076133796 0.7786505 0.38888835 0.38886103 1.7615288 0 -2213.3374 0.33212079 -2212.952 0.66525353 -2212.9485 1 -2213.3373 +73 0.098492019 0.033618082 0.0027887232 0.0042741347 0.036396293 0.51024836 0.51023981 1.7607191 0 -2213.3374 0.27571995 -2213.0417 0.50430689 -2212.8271 1 -2213.3374 +83 0.032231558 0.012626629 0.0020833883 0.0031571731 0.010051365 0.51014599 0.51014135 1.7602543 0 -2213.3374 0.26039027 -2213.0673 0.5035489 -2212.8272 1 -2213.3374 +93 0.010620711 0.0034681655 0.0014722232 0.0022089665 0.0056709673 0.5101128 0.51011054 1.7601229 0 -2213.3374 0.25434046 -2213.0777 0.50383318 -2212.8273 1 -2213.3374 +94 0.0096723674 0.0031191785 0.0014334811 0.002149467 0.0054516532 0.51011153 0.51010939 1.7601211 0 -2213.3374 0.25413802 -2213.078 0.50385902 -2212.8273 1 -2213.3374 diff --git a/examples/fire/log.09Janv20.neb.qm.g++.8 b/examples/fire/log.09Janv20.neb.qm.g++.8 new file mode 100644 index 0000000000000000000000000000000000000000..2b28a066a45c0a8641f65a5bccea6041328e286d --- /dev/null +++ b/examples/fire/log.09Janv20.neb.qm.g++.8 @@ -0,0 +1,21 @@ +LAMMPS (09 Jan 2020) +Running on 8 partitions of processors +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +0 7.5525391 1.6345605 0.16683659 7.5525391 7.5525391 1.5383951 0 1.6207355 0 -2213.3343 0.14285714 -2213.1848 0.28571429 -2212.8577 0.42857143 -2212.5353 0.57142857 -2212.3131 0.71428571 -2212.192 0.85714286 -2212.0797 1 -2211.7959 +10 0.45237221 0.062369106 0.043713415 0.45237221 0.33984237 0.50434364 0.47974444 1.681593 0 -2213.3362 0.145972 -2213.2393 0.28963267 -2213.0224 0.43234899 -2212.8512 0.57436617 -2212.8319 0.71564291 -2212.9699 0.85294239 -2213.1766 1 -2213.3116 +20 0.17466055 0.019608542 0.027733064 0.16054263 0.29142661 0.49877454 0.49547267 1.7524163 0 -2213.3369 0.14387205 -2213.2456 0.28439667 -2213.0291 0.42233932 -2212.8573 0.5588361 -2212.8381 0.69513708 -2212.9781 0.83702043 -2213.2011 1 -2213.3336 +30 0.045422642 0.010354266 0.01818213 0.045422642 0.28112975 0.49759387 0.49675173 1.7746784 0 -2213.3371 0.14290957 -2213.2488 0.28281709 -2213.0326 0.41989281 -2212.859 0.55582211 -2212.8395 0.69368801 -2212.9853 0.83973606 -2213.2161 1 -2213.3363 +40 0.038021578 0.0077863453 0.013142053 0.027303941 0.28657705 0.49667648 0.49635337 1.7848045 0 -2213.3372 0.1420496 -2213.2509 0.28169834 -2213.0351 0.41895631 -2212.8598 0.55576002 -2212.8406 0.69554601 -2212.9918 0.84293215 -2213.2247 1 -2213.3369 +50 0.023478387 0.0050438726 0.0094370881 0.017117841 0.2948129 0.4956627 0.49552819 1.7913648 0 -2213.3373 0.14130551 -2213.2524 0.28080367 -2213.0371 0.41862494 -2212.8601 0.55666336 -2212.8417 0.69796419 -2212.9977 0.84561062 -2213.2308 1 -2213.3372 +60 0.015568349 0.0036585595 0.0065356733 0.010880239 0.30476692 0.49454143 0.49448589 1.7961707 0 -2213.3374 0.14069048 -2213.2537 0.28018046 -2213.0385 0.41875119 -2212.86 0.55806463 -2212.8428 0.70047903 -2213.0032 0.84789117 -2213.2356 1 -2213.3373 +70 0.011117037 0.002930771 0.0046665969 0.0074340459 0.31343722 0.4935777 0.49355166 1.7991441 0 -2213.3374 0.14033265 -2213.2544 0.27992696 -2213.0392 0.41915513 -2212.8596 0.55940642 -2212.8438 0.70245129 -2213.0073 0.8494878 -2213.2387 1 -2213.3373 +77 0.0095031741 0.0025470028 0.0037787977 0.0059130847 0.31843202 0.4930196 0.49300314 1.8005357 0 -2213.3374 0.14019726 -2213.2547 0.27989276 -2213.0394 0.41949004 -2212.8594 0.56021118 -2212.8444 0.7035183 -2213.0094 0.85030235 -2213.2402 1 -2213.3374 +Climbing replica = 5 +Step MaxReplicaForce MaxAtomForce GradV0 GradV1 GradVc EBF EBR RDT RD1 PE1 RD2 PE2 ... RDN PEN +77 0.31843202 0.12858086 0.0037787977 0.0059130847 0.31843202 0.4930196 0.49300314 1.8005357 0 -2213.3374 0.14019726 -2213.2547 0.27989276 -2213.0394 0.41949004 -2212.8594 0.56021118 -2212.8444 0.7035183 -2213.0094 0.85030235 -2213.2402 1 -2213.3374 +87 0.068485358 0.020416571 0.0025906821 0.0039654836 0.024981085 0.51001438 0.51000702 1.8017658 0 -2213.3374 0.13988537 -2213.2554 0.2781578 -2213.0427 0.40602784 -2212.8709 0.50551349 -2212.8274 0.69111931 -2212.99 0.8499171 -2213.2398 1 -2213.3374 +97 0.031476072 0.0123593 0.0020332076 0.0030835531 0.0070061038 0.51009654 0.51009211 1.8020357 0 -2213.3374 0.13898543 -2213.2569 0.27381812 -2213.0504 0.39685543 -2212.8798 0.50256086 -2212.8273 0.68246582 -2212.9764 0.84621512 -2213.2346 1 -2213.3374 +107 0.028460125 0.0067640875 0.0014194664 0.0021303377 0.0026454458 0.51009858 0.51009648 1.8028 0 -2213.3374 0.13646 -2213.2604 0.26764336 -2213.0614 0.38930317 -2212.8879 0.50193579 -2212.8273 0.67546861 -2212.9656 0.8411568 -2213.2275 1 -2213.3374 +117 0.014824889 0.0055517464 0.0010985753 0.0016392459 0.0019892141 0.51009713 0.51009589 1.8033322 0 -2213.3374 0.13447899 -2213.263 0.26412103 -2213.0676 0.38617147 -2212.8914 0.5020058 -2212.8273 0.67278941 -2212.9615 0.83870093 -2213.224 1 -2213.3374 +127 0.011626205 0.00404434 0.00078110388 0.0011582058 0.0014475679 0.51009594 0.51009533 1.8039369 0 -2213.3374 0.13219331 -2213.266 0.26054642 -2213.074 0.38339139 -2212.8946 0.50214085 -2212.8273 0.67071709 -2212.9584 0.83665693 -2213.2211 1 -2213.3374 +132 0.0089531814 0.0035807918 0.00069218572 0.0010244011 0.0012955882 0.51009566 0.51009518 1.8041186 0 -2213.3374 0.13150535 -2213.2669 0.2595308 -2213.0758 0.38264847 -2212.8955 0.50218195 -2212.8273 0.67024326 -2212.9576 0.83617539 -2213.2204 1 -2213.3374 diff --git a/examples/hugoniostat/in.hugoniostat b/examples/hugoniostat/in.hugoniostat index 01c2a246fc46e3f489fcccbb6d48cb178e21f575..571f92b59e883c11c90838bc0ed5b4c2aa4d1e80 100644 --- a/examples/hugoniostat/in.hugoniostat +++ b/examples/hugoniostat/in.hugoniostat @@ -67,7 +67,7 @@ fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -115,7 +115,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -153,7 +153,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes diff --git a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 b/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 index 2473641dea2c3b13e01a2983467a65fe50a697d1..c1381629eb0249d1509d3a59fabd58bacdb9870d 100644 --- a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 +++ b/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 @@ -129,7 +129,7 @@ fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -232,7 +232,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -327,7 +327,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes diff --git a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 b/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 index 30f1335ea9afe0237bd0b6b92c8af2a86ba2d2b9..dd0766e81a6dcf8aeeb401abf83c2701c9cdea11 100644 --- a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 +++ b/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 @@ -129,7 +129,7 @@ fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -232,7 +232,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -327,7 +327,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes diff --git a/examples/kim/in.kim-pm-property b/examples/kim/in.kim-pm-property new file mode 100644 index 0000000000000000000000000000000000000000..fea15278208392e445e4f8d68db3941340976982 --- /dev/null +++ b/examples/kim/in.kim-pm-property @@ -0,0 +1,91 @@ +# kim-property example +# +# For detailed information of this example please refer to: +# https://openkim.org/doc/evaluation/tutorial-lammps/ +# +# Description: +# +# This example is designed to calculate the cohesive energy corresponding to +# the equilibrium FCC lattice constant for +# `LJ_Shifted_Bernardes_1958MedCutoff_Ar__MO_126566794224_004` model for +# argon. The material properties computed in LAMMPS are represented as a +# standard KIM property instance format. (See +# https://openkim.org/doc/schema/properties-framework/ and +# https://lammps.sandia.gov/doc/kim_commands.html for further details). +# Then the created property instance is written to a file named results.edn +# using the `kim_property dump` commands. +# +# Requirement: +# +# This example requires LAMMPS built with the Python 3.6 or later package +# installed. See the `https://lammps.sandia.gov/doc/python.html` doc page for +# more info on building LAMMPS with the version of Python on your system. +# After successfully building LAMMPS with Python, you need to install the +# kim-property Python package, See the +# `https://lammps.sandia.gov/doc/Build_extras.html#kim` doc page for +# further details. +# +# This example requires that the KIM Portable Model (PM) +# `LJ_Shifted_Bernardes_1958MedCutoff_Ar__MO_126566794224_004` +# is installed. This can be done with the command +# `kim-api-collections-management install user LJ_Shifted_Bernardes_1958MedCutoff_Ar__MO_126566794224_004` +# If this command does not work, you may need to setup your PATH to find the utility. +# If you installed the kim-api using the LAMMPS CMake build, you can do the following +# (where the current working directory is assumed to be the LAMMPS build directory) +# source ./kim_build-prefix/bin/kim-api-activate +# If you installed the kim-api using the LAMMPS Make build, you can do the following +# (where the current working directory is assumed to be the LAMMPS src directory) +# source ../lib/kim/installed-kim-api-X.Y.Z/bin/kim-api-activate +# (where you should relplace X.Y.Z with the appropriate kim-api version number). +# +# Or, see https://openkim.org/doc/obtaining-models for alternative options. +# + +# Initialize interatomic potential (KIM model) and units +atom_style atomic + +# Set the OpenKIM model that will be used +kim_init LJ_Shifted_Bernardes_1958MedCutoff_Ar__MO_126566794224_004 metal + +# the equilibrium lattice constant for the fcc structure +variable lattice_constant equal 5.248509056866169 + +# Periodic boundary conditions along all three dimensions +boundary p p p + +# Create an FCC lattice with the lattice spacing +# using a single conventional (orthogonal) unit cell +lattice fcc ${lattice_constant} +region box block 0 1 0 1 0 1 units lattice +create_box 1 box +create_atoms 1 box +mass 1 39.948 + +# Specify the KIM interactions +kim_interactions Ar + +# Compute energy +run 0 + +# Get cohesive energy +variable natoms equal "count(all)" +variable ecohesive equal "-pe/v_natoms" + +# Create a property instance +kim_property create 1 cohesive-potential-energy-cubic-crystal + +# Set all the key-value pairs for this property instance +kim_property modify 1 key short-name source-value 1 fcc & + key species source-value 1 Ar & + key a source-value ${lattice_constant} & + source-unit angstrom & + key basis-atom-coordinates source-value 1 1:3 0.0 0.0 0.0 & + source-value 2 1:3 0.0 0.5 0.5 & + source-value 3 1:3 0.5 0.0 0.5 & + source-value 4 1:3 0.5 0.5 0.0 & + key space-group source-value Fm-3m & + key cohesive-potential-energy source-value ${ecohesive} & + source-unit eV + +# Dump the results in a file +kim_property dump "results.edn" diff --git a/examples/numdiff/README.md b/examples/numdiff/README.md new file mode 100644 index 0000000000000000000000000000000000000000..d88f66d65c30d25dc7a488d54eef57c6b41d0259 --- /dev/null +++ b/examples/numdiff/README.md @@ -0,0 +1,13 @@ +# LAMMPS FIX NUMDIFF EXAMPLE + +## Numerical Difference Fix + +This directory contains the ingredients to run an NVE simulation using the numerical difference fix and calculate error in forces. + +Example: +``` +NP=4 #number of processors +mpirun -np $NP lmp_mpi -in.numdiff +``` + +## Required LAMMPS packages: MOLECULE package diff --git a/examples/numdiff/in.numdiff b/examples/numdiff/in.numdiff new file mode 100644 index 0000000000000000000000000000000000000000..6c4f99a3bed0bd2213db6c4ddf2b8dcd6883727d --- /dev/null +++ b/examples/numdiff/in.numdiff @@ -0,0 +1,33 @@ +# Numerical difference calculation of error in forces + +units metal +atom_style atomic + +atom_modify map yes +lattice fcc 5.358000 +region box block 0 6 0 6 0 6 +create_box 1 box +create_atoms 1 box +mass 1 39.903 + +velocity all create 10 2357 mom yes dist gaussian + +pair_style lj/cubic +pair_coeff * * 0.0102701 3.42 + +neighbor 1 bin + +timestep 0.001 + +fix numdiff all numdiff 200 0.0001 +fix nve all nve + +variable errx atom fx-f_numdiff[1] +variable erry atom fy-f_numdiff[2] +variable errz atom fz-f_numdiff[3] + +write_dump all custom tmp.error f_numdiff[1] f_numdiff[2] f_numdiff[3] + +dump forces all custom 200 force_error.dump v_errx v_erry v_errz +thermo 200 +run 2000 diff --git a/examples/reax/HNS/README.txt b/examples/reax/HNS/README.txt index 465d64d17115e29b46e19de817523a7e17f74d55..95ffbb0ebbfbf1f777b13f815b126413bab2dd40 100644 --- a/examples/reax/HNS/README.txt +++ b/examples/reax/HNS/README.txt @@ -17,7 +17,7 @@ Questions: Mitchell Wood, mitwood@sandia.gov 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. + *There are four free variables 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 diff --git a/lib/Install.py b/lib/Install.py index d5c41f9ad0dc437c5bfa282b2d4d6da8606ab9fc..284ef6888bd73d930989db75563ee8c51292a83b 100644 --- a/lib/Install.py +++ b/lib/Install.py @@ -45,8 +45,11 @@ if not args.machine and not args.extramake: sys.exit(HELP) machine = args.machine -extraflag = not args.extramake -suffix = args.extramake +extraflag = args.extramake +if extraflag: + suffix = args.extramake +else: + suffix = 'empty' # set lib from working dir diff --git a/lib/atc/ATC_Coupling.cpp b/lib/atc/ATC_Coupling.cpp index 9468064f8d92fd2fe48f87e1d73f9e55c58fc126..db72b0cb0c9796e4a3a9a86361f4c203658fe0f6 100644 --- a/lib/atc/ATC_Coupling.cpp +++ b/lib/atc/ATC_Coupling.cpp @@ -625,7 +625,7 @@ namespace ATC { /*! \page man_consistent_fe_initialization fix_modify AtC consistent_fe_initialization \section syntax fix_modify AtC consistent_fe_initialization - - = switch to activiate/deactiviate the intial setting of FE intrinsic field to match the projected MD field + - = switch to activiate/deactiviate the initial setting of FE intrinsic field to match the projected MD field \section examples fix_modify atc consistent_fe_initialization on \section description diff --git a/lib/atc/ATC_Coupling.h b/lib/atc/ATC_Coupling.h index 3816a8279886cc3c7bba5af7bfcd3ca94f778a32..9f406febbef6e6093dae5857ccb9f6f2901ed8ff 100644 --- a/lib/atc/ATC_Coupling.h +++ b/lib/atc/ATC_Coupling.h @@ -227,7 +227,7 @@ namespace ATC { void set_mass_mat_time_filter(FieldName thisField,TimeFilterManager::FilterIntegrationType filterIntegrationType); - /** return referece to ExtrinsicModelManager */ + /** return reference to ExtrinsicModelManager */ ExtrinsicModelManager & extrinsic_model_manager() { return extrinsicModelManager_; } /** access to time integrator */ diff --git a/lib/atc/ATC_CouplingEnergy.cpp b/lib/atc/ATC_CouplingEnergy.cpp index 033805490242ebe2ee8b748cb3f26e162b810703..c3b07c242de83d2721dfe67fd34ad6d07bde1f40 100644 --- a/lib/atc/ATC_CouplingEnergy.cpp +++ b/lib/atc/ATC_CouplingEnergy.cpp @@ -364,7 +364,7 @@ namespace ATC { (_tiIt_->second)->post_process(); } - // auxilliary data + // auxiliary data for (_tiIt_ = timeIntegrators_.begin(); _tiIt_ != timeIntegrators_.end(); ++_tiIt_) { (_tiIt_->second)->output(outputData); } diff --git a/lib/atc/ATC_CouplingMass.cpp b/lib/atc/ATC_CouplingMass.cpp index 801752d569082aa9ec4973e1183911dc3e490f24..d36643e59061ccf1b90ab9317661ace539910214 100644 --- a/lib/atc/ATC_CouplingMass.cpp +++ b/lib/atc/ATC_CouplingMass.cpp @@ -221,7 +221,7 @@ namespace ATC { (_tiIt_->second)->post_process(); } - // auxilliary data + // auxiliary data for (_tiIt_ = timeIntegrators_.begin(); _tiIt_ != timeIntegrators_.end(); ++_tiIt_) { (_tiIt_->second)->output(outputData); } diff --git a/lib/atc/ATC_CouplingMomentum.cpp b/lib/atc/ATC_CouplingMomentum.cpp index f59aa525cbfb06512d72aed78a65f0b032415278..6757245119cfe6e0ed7ad1acab7210fe667d1849 100644 --- a/lib/atc/ATC_CouplingMomentum.cpp +++ b/lib/atc/ATC_CouplingMomentum.cpp @@ -325,7 +325,7 @@ namespace ATC { (_tiIt_->second)->post_process(); } - // auxilliary data + // auxiliary data for (_tiIt_ = timeIntegrators_.begin(); _tiIt_ != timeIntegrators_.end(); ++_tiIt_) { (_tiIt_->second)->output(outputData); } diff --git a/lib/atc/ATC_CouplingMomentumEnergy.cpp b/lib/atc/ATC_CouplingMomentumEnergy.cpp index bf0edc71fb8ade68a9a16786c4a47d89a7e5f09d..1fc29319770f09579c0b7ef2682443e551a7f727 100644 --- a/lib/atc/ATC_CouplingMomentumEnergy.cpp +++ b/lib/atc/ATC_CouplingMomentumEnergy.cpp @@ -446,7 +446,7 @@ namespace ATC { (_tiIt_->second)->post_process(); } - // auxilliary data + // auxiliary data for (_tiIt_ = timeIntegrators_.begin(); _tiIt_ != timeIntegrators_.end(); ++_tiIt_) { (_tiIt_->second)->output(outputData); diff --git a/lib/atc/ATC_Method.cpp b/lib/atc/ATC_Method.cpp index 5d61a7bed8ede5dfe033a952baf9d288e69a0054..f2173e9575f72ba84933f5e645f41e74d8a3c100 100644 --- a/lib/atc/ATC_Method.cpp +++ b/lib/atc/ATC_Method.cpp @@ -693,12 +693,12 @@ pecified /*! \page man_boundary fix_modify AtC boundary \section syntax fix_modify AtC boundary type - - = type id for atoms that represent a ficticious + - = type id for atoms that represent a fictitious boundary internal to the FE mesh \section examples fix_modify AtC boundary type ghost_atoms \section description - Command to define the atoms that represent the ficticious + Command to define the atoms that represent the fictitious boundary internal to the FE mesh. For fully overlapped MD/FE domains with periodic boundary conditions no boundary atoms should be defined. diff --git a/lib/atc/ATC_Transfer.cpp b/lib/atc/ATC_Transfer.cpp index c876f466341f84bfde5d912218afd125cfc4e15d..833e1d1f2792c825705071cc4445a3b4bb9209ae 100644 --- a/lib/atc/ATC_Transfer.cpp +++ b/lib/atc/ATC_Transfer.cpp @@ -148,7 +148,7 @@ namespace ATC { } if (!initialized_ || ATC::LammpsInterface::instance()->atoms_sorted() || resetKernelFunction_) { - // initialize kernel funciton matrix N_Ia + // initialize kernel function matrix N_Ia if (! kernelOnTheFly_) { try{ if (!moleculeIds_.empty()) compute_kernel_matrix_molecule(); //KKM add @@ -654,7 +654,7 @@ namespace ATC { fix_modify AtC gradients add temperature velocity stress \n fix_modify AtC gradients delete velocity \n \section description - Requests calculation and ouput of gradients of the fields from the + Requests calculation and output of gradients of the fields from the transfer class. These gradients will be with regard to spatial or material coordinate for eulerian or lagrangian analysis, respectively, as specified by atom_element_map (see \ref man_atom_element_map ) @@ -698,7 +698,7 @@ namespace ATC { fix_modify AtC rates add temperature velocity stress \n fix_modify AtC rates delete stress \n \section description - Requests calculation and ouput of rates (time derivatives) of the fields from the + Requests calculation and output of rates (time derivatives) of the fields from the transfer class. For eulerian analysis (see \ref man_atom_element_map ), these rates are the partial time derivatives of the nodal fields, not the full (material) time derivatives. \n @@ -865,7 +865,7 @@ namespace ATC { } //------------------------------------------------------------------- - // called at the begining of second half timestep + // called at the beginning of second half timestep // REFACTOR move this to post_neighbor void ATC_Transfer::pre_final_integrate() { diff --git a/lib/atc/AtomToMoleculeTransfer.h b/lib/atc/AtomToMoleculeTransfer.h index c6523137a72a1780c2de04e6237d27bc79e90074..c628ee356fc2d80274a28ed7b09b664a957e5a84 100644 --- a/lib/atc/AtomToMoleculeTransfer.h +++ b/lib/atc/AtomToMoleculeTransfer.h @@ -217,7 +217,7 @@ namespace ATC { /** reference to shape function matrix */ SPAR_MAN * shapeFunction_; - /** persistant workspace */ + /** persistent workspace */ mutable DENS_MAT _workspace_; diff --git a/lib/atc/AtomicRegulator.h b/lib/atc/AtomicRegulator.h index 8fb7de10060e0441012f9de648184d235ced411c..b9fccb902c4fe1455fe28915e776f84c8a1ff4eb 100644 --- a/lib/atc/AtomicRegulator.h +++ b/lib/atc/AtomicRegulator.h @@ -585,7 +585,7 @@ namespace ATC { protected: - /** lumped version of the matrix governing lamda */ + /** lumped version of the matrix governing lambda */ DIAG_MAT lumpedMatrix_; /** set of regulated nodes */ diff --git a/lib/atc/CbPotential.h b/lib/atc/CbPotential.h index e218ae2254a8a095581026f9dd783f22ced406ad..1d5386fcd5b02666b158b3704846f5350fdcd4da 100644 --- a/lib/atc/CbPotential.h +++ b/lib/atc/CbPotential.h @@ -7,7 +7,7 @@ namespace ATC enum Interaction{PAIRWISE=1, EAM=2, THREE_BDY=4, ANGLE_BND=8}; //! Booleans that enable types of terms the potential uses. struct Interactions { - //! Enables up to 3 interaction types. (order independant) + //! Enables up to 3 interaction types. (order independent) Interactions(int a=0, int b=0, int c=0); bool pairwise; //!< Pairwise interaction terms exist. bool embedding; //!< Embedding interaction terms (EAM) exist. diff --git a/lib/atc/ChargeRegulator.cpp b/lib/atc/ChargeRegulator.cpp index cbfda69480eb49dc3636e0cc7c09c84f24ecbede..bae78a76138acb1e7d8fe7993d242551944e29cf 100644 --- a/lib/atc/ChargeRegulator.cpp +++ b/lib/atc/ChargeRegulator.cpp @@ -214,7 +214,7 @@ namespace ATC { qV2e_ = lammpsInterface_->qv2e(); qqrd2e_ = lammpsInterface_->qqrd2e(); - // note derived method set intialized to true + // note derived method set initialized to true } @@ -327,7 +327,7 @@ namespace ATC { // - if (nInfluenceNodes_ < nControlNodes_) throw ATC_Error(" least square not implmented "); + if (nInfluenceNodes_ < nControlNodes_) throw ATC_Error(" least square not implemented "); if (nInfluenceNodes_ > nControlNodes_) throw ATC_Error(" solve not possible "); DENS_MAT G(nInfluenceNodes_,nControlNodes_); DENS_VEC G_I; diff --git a/lib/atc/ConcentrationRegulator.cpp b/lib/atc/ConcentrationRegulator.cpp index 8055433f5da68ae181d2e7cadeec5862bc769a3b..4255b919b937bcf6ecdc3b9606c864d3ed73b55e 100644 --- a/lib/atc/ConcentrationRegulator.cpp +++ b/lib/atc/ConcentrationRegulator.cpp @@ -263,7 +263,7 @@ const double kMinScale_ = 10000.; volumes_(i) += volumes_(i-1); } - // record orginal energetic properties + // record original energetic properties int ntypes = lammpsInterface_->ntypes(); epsilon0_.reset(ntypes); p_ = lammpsInterface_->potential(); diff --git a/lib/atc/DiagonalMatrix.h b/lib/atc/DiagonalMatrix.h index 6c2fe23144665544da4a6f093006340f43ef1741..ca3001f225392be58b44dd3ac33ff15dfdcdd6ca 100644 --- a/lib/atc/DiagonalMatrix.h +++ b/lib/atc/DiagonalMatrix.h @@ -472,7 +472,7 @@ inline DiagonalMatrix inv(const DiagonalMatrix& A) return A.inv(); } //----------------------------------------------------------------------------- -// general diagonalmatrix assigment +// general diagonalmatrix assignment //----------------------------------------------------------------------------- template void DiagonalMatrix::_set_equal(const Matrix &r) diff --git a/lib/atc/ElasticTimeIntegrator.cpp b/lib/atc/ElasticTimeIntegrator.cpp index 9793f6a58ed1bb9c29631fcad5957a78b977e7ee..5e11f1584c091204d472ca0a3a5820a7cf52aeb7 100644 --- a/lib/atc/ElasticTimeIntegrator.cpp +++ b/lib/atc/ElasticTimeIntegrator.cpp @@ -91,7 +91,7 @@ namespace ATC { atc_->set_mass_mat_time_filter(MOMENTUM,TimeFilterManager::EXPLICIT_IMPLICIT); break; default: - throw ATC_Error("Uknown time integration type in ThermalTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in ThermalTimeIntegrator::Initialize()"); } } @@ -102,7 +102,7 @@ namespace ATC { break; } default: - throw ATC_Error("Uknown time integration type in MomentumTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in MomentumTimeIntegrator::Initialize()"); } } else { @@ -120,7 +120,7 @@ namespace ATC { break; } default: - throw ATC_Error("Uknown time integration type in MomentumTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in MomentumTimeIntegrator::Initialize()"); } } } diff --git a/lib/atc/ElectronHeatFlux.h b/lib/atc/ElectronHeatFlux.h index 41c89d6c6d681af2f44a86b44717081c23dfe1ad..d0bc2a44f2032a7c6710b13487ab53dc36bc97b9 100644 --- a/lib/atc/ElectronHeatFlux.h +++ b/lib/atc/ElectronHeatFlux.h @@ -126,7 +126,7 @@ namespace ATC { /** * @class ElectronHeatFluxThermopower * @brief Class for an electron heat flux proportional to the temperature gradient but with a condu -ctivity proportional to the ratio of the electron and phonon temperatures with the thermopower from teh electric current included +ctivity proportional to the ratio of the electron and phonon temperatures with the thermopower from the electric current included */ class ElectronHeatFluxThermopower : public ElectronHeatFlux diff --git a/lib/atc/ExtrinsicModelElectrostatic.cpp b/lib/atc/ExtrinsicModelElectrostatic.cpp index b10e77a3069bacbc8e78c07d618a23c311e5127b..ef3aa52dee397038998ea5d2e7384fc3340cae0b 100644 --- a/lib/atc/ExtrinsicModelElectrostatic.cpp +++ b/lib/atc/ExtrinsicModelElectrostatic.cpp @@ -144,7 +144,7 @@ namespace ATC { } } - /** switch to account for short range interaces */ + /** switch to account for short range interfaces */ else if (strcmp(arg[argIndx],"short_range")==0) { argIndx++; if (strcmp(arg[argIndx],"on")==0) { diff --git a/lib/atc/ExtrinsicModelElectrostatic.h b/lib/atc/ExtrinsicModelElectrostatic.h index c4a0af464d7b7f8d61a9a53e84ed01bc0b7256f6..86cba31471d60ace7c957969c3268243627161fe 100644 --- a/lib/atc/ExtrinsicModelElectrostatic.h +++ b/lib/atc/ExtrinsicModelElectrostatic.h @@ -92,7 +92,7 @@ namespace ATC { /** rhs mask for Poisson solver */ Array2D rhsMask_; - /** estimate instrinsic charge density */ + /** estimate intrinsic charge density */ void add_electrostatic_forces(MATRIX & nodalPotential); /** correct short range FE electric field */ diff --git a/lib/atc/FE_Element.cpp b/lib/atc/FE_Element.cpp index 9eec08c483e971a4574c41ea653856a776841b41..0d2fc036c73582c8298f58ba096b2367129cb810 100644 --- a/lib/atc/FE_Element.cpp +++ b/lib/atc/FE_Element.cpp @@ -408,7 +408,7 @@ static const double localCoordinatesTolerance = 1.e-09; throw ATC_Error("Unrecognized interpolation order specified " "for element class: \n" " element only knows how to construct lin " - "and quad elments."); + "and quad elements."); } localCoords_.resize(nSD_,numNodes_); @@ -637,7 +637,7 @@ static const double localCoordinatesTolerance = 1.e-09; throw ATC_Error("Unrecognized interpolation order specified " "for element class: \n" " element only knows how to construct lin " - "and quad elments."); + "and quad elements."); } localCoords_.resize(nSD_+1, numNodes_); diff --git a/lib/atc/FE_Engine.cpp b/lib/atc/FE_Engine.cpp index bef135a5f24fd68be94e01a868a1e4c755f34cc3..5e01709b19465f542f8eaede0cf1944c6398fd7f 100644 --- a/lib/atc/FE_Engine.cpp +++ b/lib/atc/FE_Engine.cpp @@ -349,7 +349,7 @@ namespace ATC{ else throw ATC_Error("not enough element partitions"); } } - // each segment of the piecewise funcion is length-normalized separately + // each segment of the piecewise function is length-normalized separately else if (strcmp(arg[argIdx],"position-number-density")==0) { argIdx++; double *y = new double[nx]; diff --git a/lib/atc/FE_Engine.h b/lib/atc/FE_Engine.h index 18dae0e6b4737160e9744d84b80db2106798df2b..eb59f04eeffcb74de149e591528eba6375c394cc 100644 --- a/lib/atc/FE_Engine.h +++ b/lib/atc/FE_Engine.h @@ -510,7 +510,7 @@ namespace ATC { /** finite element mesh */ FE_Mesh *feMesh_; - /** auxillary kernel function */ + /** auxiliary kernel function */ KernelFunction *kernelFunction_; /** initialized flag */ diff --git a/lib/atc/FE_Interpolate.cpp b/lib/atc/FE_Interpolate.cpp index 19753a80079a6fe7e4e69d1cc624ef55c2ab56cb..5e5bd5ecf1378be3cb5d935a4d26f100f2f7f487 100644 --- a/lib/atc/FE_Interpolate.cpp +++ b/lib/atc/FE_Interpolate.cpp @@ -564,7 +564,7 @@ namespace ATC { N = 1.0; dNdr = 1.0; - // mapping returns the 1d nodes in each dimension that sould be multiplied + // mapping returns the 1d nodes in each dimension that should be multiplied // to achieve the shape functions in 3d vector mapping(nSD_); for (int inode=0; inodeneedReset_ = true;}; /** specialized reset to account for forcing lammps to perform the compute */ diff --git a/lib/atc/GhostManager.cpp b/lib/atc/GhostManager.cpp index 3c9e54b4f5203f5f865ab14d88f754486c03a9f6..77594ec406360a7fa03312f1eeb97a0485ce6fb6 100644 --- a/lib/atc/GhostManager.cpp +++ b/lib/atc/GhostManager.cpp @@ -523,7 +523,7 @@ namespace ATC { { compute_distances(); int nlayers = find_layers(); - if (nlayers > ((int)gamma_.size())) throw ATC_Error("GhostModifierDampedHarmonicLayers::initialize not enough damping factors specfied " + to_string(gamma_.size())); + if (nlayers > ((int)gamma_.size())) throw ATC_Error("GhostModifierDampedHarmonicLayers::initialize not enough damping factors specified " + to_string(gamma_.size())); } //-------------------------------------------------------- diff --git a/lib/atc/InterscaleOperators.cpp b/lib/atc/InterscaleOperators.cpp index 0e218bdef438aed3190dc01260779fdc9cf2d4cd..f1e5607b6edbd8c5e6e80084073dd4eb0a6edad2 100644 --- a/lib/atc/InterscaleOperators.cpp +++ b/lib/atc/InterscaleOperators.cpp @@ -157,7 +157,7 @@ namespace ATC{ bool isTemporary = (quantity->memory_type()==TEMPORARY); for (it = (quantity->dependentQuantities_).begin(); it != (quantity->dependentQuantities_).end(); it++) { - // make sure that if quantity isn't persistent, none of it's depedencies are + // make sure that if quantity isn't persistent, none of it's dependencies are if ((*it)->memory_type()==PERSISTENT && isTemporary) { throw ATC_Error("InterscaleManager::dfs_visit - a persistent quantity has a temporary dependency"); } diff --git a/lib/atc/InterscaleOperators.h b/lib/atc/InterscaleOperators.h index 0ddca1dc67a08d4adb299a3648ddfad8a5f5b931..3a4d81212e3603ed38d68ebc98cdf785d5ab4421 100644 --- a/lib/atc/InterscaleOperators.h +++ b/lib/atc/InterscaleOperators.h @@ -245,19 +245,19 @@ namespace ATC { /** container for molecule sets */ std::map smallMoleculeSets_; - /** container for atomic quantities which must be transfered when atoms cross processors */ + /** container for atomic quantities which must be transferred when atoms cross processors */ std::set *> exchangeList_; - /** container for atomic quantities which must be transfered to ghost atoms on other processors */ + /** container for atomic quantities which must be transferred to ghost atoms on other processors */ std::vector *> commList_; - /** container for integer atomic quantities which must be transfered to ghost atoms on other processors */ + /** container for integer atomic quantities which must be transferred to ghost atoms on other processors */ std::vector *> commIntList_; - /** container for atomic diagonal matrices which must be transfered to ghost atoms on other processors */ + /** container for atomic diagonal matrices which must be transferred to ghost atoms on other processors */ std::vector *> commDmList_; - /** container for atomic sparse matrices which must be transfered to ghost atoms on other processors */ + /** container for atomic sparse matrices which must be transferred to ghost atoms on other processors */ std::vector *> commSmList_; /** prefix for labeling associated lammps arrays */ @@ -329,7 +329,7 @@ namespace ATC { (it->second)->set_memory_type(TEMPORARY); } - /** helper function to perform intialization for dfs of a list */ + /** helper function to perform initialization for dfs of a list */ template void dfs_prepare_loop(std::map & list) { diff --git a/lib/atc/KinetoThermostat.h b/lib/atc/KinetoThermostat.h index 6f7d11373455f8f19410c32bd5ffe5a8536bbb35..bc40f19ed1abb3edeefc46edb9d7683331b93189 100644 --- a/lib/atc/KinetoThermostat.h +++ b/lib/atc/KinetoThermostat.h @@ -607,7 +607,7 @@ namespace ATC { /* /\** change in restricted atomic FE energy over a timestep *\/ */ /* DENS_MAT deltaNodalAtomicEnergy_; */ -/* /\** intial restricted atomic FE energy used to compute change *\/ */ +/* /\** initial restricted atomic FE energy used to compute change *\/ */ /* DENS_MAT initialNodalAtomicEnergy_; */ /* /\** filtered nodal atomic energy *\/ */ diff --git a/lib/atc/Kinetostat.cpp b/lib/atc/Kinetostat.cpp index 8093d5925a2011bb1a9f96a067087f338cf71314..7f95398dcbd59d80ae5af1af3571ea85699559b3 100644 --- a/lib/atc/Kinetostat.cpp +++ b/lib/atc/Kinetostat.cpp @@ -2233,7 +2233,7 @@ namespace ATC { // initialize_delta_nodal_atomic_momentum: // initializes storage for the variable tracking // the change in the nodal atomic momentum - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- void KinetostatFixed::initialize_delta_nodal_atomic_momentum(double dt) { @@ -2248,7 +2248,7 @@ namespace ATC { //-------------------------------------------------------- // compute_delta_nodal_atomic_momentum: // computes the change in the nodal atomic momentum - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- void KinetostatFixed::compute_delta_nodal_atomic_momentum(double dt) { diff --git a/lib/atc/Kinetostat.h b/lib/atc/Kinetostat.h index 691b929e9f5bea061bff4cbc6aa96554c7e9cc37..e3e1c17e52b5050d30c13badbe558cb019edb9ab 100644 --- a/lib/atc/Kinetostat.h +++ b/lib/atc/Kinetostat.h @@ -806,7 +806,7 @@ namespace ATC { /** change in restricted atomic FE momentum over a timestep */ DENS_MAT deltaNodalAtomicMomentum_; - /** intial restricted atomic FE momentum used to compute change */ + /** initial restricted atomic FE momentum used to compute change */ DENS_MAT initialNodalAtomicMomentum_; /** filtered nodal atomic momentum */ diff --git a/lib/atc/LammpsInterface.cpp b/lib/atc/LammpsInterface.cpp index 9c2223f5552c6ddffe33f45cf800dc9ded9bfc6b..9964a1c4bb28593bf97701cacc04dad4b24e352e 100644 --- a/lib/atc/LammpsInterface.cpp +++ b/lib/atc/LammpsInterface.cpp @@ -631,7 +631,7 @@ LammpsInterface::LatticeType LammpsInterface::lattice_style() const throw ATC_Error("Lattice has not been defined"); } -//* retuns the number of basis vectors +//* returns the number of basis vectors int LammpsInterface::n_basis() const { return lammps_->domain->lattice->nbasis; diff --git a/lib/atc/Material.h b/lib/atc/Material.h index 18cccd87926b2d1e7440ad4a5c87cf3f6505c22a..5a835d446bc7cef985d06d2bffed1f85ea840edc 100644 --- a/lib/atc/Material.h +++ b/lib/atc/Material.h @@ -83,7 +83,7 @@ namespace ATC /** each of these is a field function computed at a set of points */ /** if there is only one function it is in the base class - ** otherwise, a subsidary class is setup */ + ** otherwise, a subsidiary class is setup */ /* -----------------------------------------------------------------*/ /** densities */ /* -----------------------------------------------------------------*/ diff --git a/lib/atc/Matrix.cpp b/lib/atc/Matrix.cpp index 0741099872bb19c624506553a86930b66c1a1445..1b77796b8bbf5be7016af216e9a4543fa755ed68 100644 --- a/lib/atc/Matrix.cpp +++ b/lib/atc/Matrix.cpp @@ -81,7 +81,7 @@ DenseMatrix inv(const MATRIX& A) GCK(A,A,info<0,"DenseMatrix::inv() dgetri error: Argument had bad value."); GCHK(info>0,"DenseMatrix::inv() dgetri error: Matrix not invertible."); - // Work size query succeded + // Work size query succeeded lwork = (int)work_dummy[0]; double *work = new double[lwork]; // Allocate vector of appropriate size @@ -287,7 +287,7 @@ double det(const MATRIX& A) double max_eigenvalue(const Matrix& A) { - GCK(A,A,!A.is_size(3,3), "max_eigenvalue only implimented for 3x3"); + GCK(A,A,!A.is_size(3,3), "max_eigenvalue only implemented for 3x3"); const double c0 = det(A); const double c1 = A(1,0)*A(0,1) + A(2,0)*A(0,2) + A(1,2)*A(2,1) - A(0,0)*A(1,1) - A(0,0)*A(2,2) - A(1,1)*A(2,2); diff --git a/lib/atc/Matrix.h b/lib/atc/Matrix.h index 6745ea96db6d905a1d69505c5c2d4c15e71d81ba..c93576518c20b07a440f6cab27563ffdb4c911bc 100644 --- a/lib/atc/Matrix.h +++ b/lib/atc/Matrix.h @@ -150,7 +150,7 @@ protected: //* Matrix operations //@{ -//* Sets C as b*C + a*A[tranpose?]*B[transpose?] +//* Sets C as b*C + a*A[transpose?]*B[transpose?] template void MultAB(const Matrix &A, const Matrix &B, DenseMatrix &C, bool At=0, bool Bt=0, T a=1, T b=0); @@ -622,7 +622,7 @@ Matrix& Matrix::operator+=(const T v) return *this; } //----------------------------------------------------------------------------- -// substracts a constant to this matrix +// subtracts a constant to this matrix //----------------------------------------------------------------------------- template Matrix& Matrix::operator-=(const T v) diff --git a/lib/atc/PhysicsModel.cpp b/lib/atc/PhysicsModel.cpp index 77cc41e9726887efa0726c6a62f8968bae67c871..f5c342c5a03b4f4b88a46e5ec2024b346c8c1fdc 100644 --- a/lib/atc/PhysicsModel.cpp +++ b/lib/atc/PhysicsModel.cpp @@ -95,7 +95,7 @@ void PhysicsModel::parse_material_file(string fileName) } } else { - throw ATC_Error("units need to be specfied in material file"); + throw ATC_Error("units need to be specified in material file"); } } } diff --git a/lib/atc/SparseMatrix.h b/lib/atc/SparseMatrix.h index 35393187cda46bbf1d95c1db7ef45662332915f1..700d2f3af61ed4ae73cb1947ffb8579058e69d45 100644 --- a/lib/atc/SparseMatrix.h +++ b/lib/atc/SparseMatrix.h @@ -38,9 +38,9 @@ class SparseMatrix : public Matrix friend SparseMatrix operator*(const SparseMatrix &A, const DiagonalMatrix& D); //* SparseMatrix-SparseMatrix multiplication (S * S) friend SparseMatrix operator*(const SparseMatrix &A, const SparseMatrix &B); - //* computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). + //* computes the product of a SparseMatrix transpose with a SparseVector (M'*v). friend SparseVector operator*(const SparseMatrix &M, const SparseVector &v); - //* computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). + //* computes the product of a SparseMatrix transpose with a SparseVector (M'*v). friend SparseVector operator*(const SparseVector &v, const SparseMatrix &M); template diff --git a/lib/atc/SparseVector-inl.h b/lib/atc/SparseVector-inl.h index 760eb66f5856aac502986bf33c514f792543f421..7f2c844bd6a3e329b016a95c3d9f0c69e9b16b97 100644 --- a/lib/atc/SparseVector-inl.h +++ b/lib/atc/SparseVector-inl.h @@ -55,7 +55,7 @@ T dot(const SparseVector &a, const SparseVector &b) } return v; } -// Computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). +// Computes the product of a SparseMatrix transpose with a SparseVector (M'*v). template SparseVector operator*(const SparseMatrix &M, const SparseVector &v) { @@ -73,7 +73,7 @@ SparseVector operator*(const SparseMatrix &M, const SparseVector &v) return y; } -// computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). +// computes the product of a SparseMatrix transpose with a SparseVector (M'*v). template SparseVector operator*(const SparseVector &v, const SparseMatrix &M) { diff --git a/lib/atc/SparseVector.h b/lib/atc/SparseVector.h index 4219bb26272a170d53375d7eae90563c13e8a1c1..5cb16af5275b5f5da0824763ae9e58cd080d6d04 100644 --- a/lib/atc/SparseVector.h +++ b/lib/atc/SparseVector.h @@ -30,9 +30,9 @@ class SparseVector : public Vector { // for use with gcc friend T dot(const SparseVector &a, const SparseVector &b); #endif - //* computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). + //* computes the product of a SparseMatrix transpose with a SparseVector (M'*v). friend SparseVector operator*(const SparseMatrix &M, const SparseVector &v); - //* computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). + //* computes the product of a SparseMatrix transpose with a SparseVector (M'*v). friend SparseVector operator*(const SparseVector &v, const SparseMatrix &M); public: //* Constructor - sets length of vector (NOT # of nonzeros). @@ -71,9 +71,9 @@ public: void reset (INDEX nRows, INDEX nCols=1, bool zero=0); //* zeros out all elements while preserving sparcity pattern void zero(); - //* TODO impliment copy (or maybe not necessary) + //* TODO implement copy (or maybe not necessary) void copy(const T* ptr, INDEX nRows, INDEX nCols=1); - //* Writes a restart file (TODO impliment this if needed/wanted). + //* Writes a restart file (TODO implement this if needed/wanted). void write_restart(FILE *F) const; //* Adds SparseVector x, scaled by s to this one. Can be different sparcity. void add_scaled(SparseVector& x, const T& s); diff --git a/lib/atc/Stress.cpp b/lib/atc/Stress.cpp index 906b15986e5ab2dfd23a721d222df0075c243fa4..72656c21edbe6c4af0447be6079288e6b5d9d845 100644 --- a/lib/atc/Stress.cpp +++ b/lib/atc/Stress.cpp @@ -328,7 +328,7 @@ StressCauchyBorn::StressCauchyBorn(fstream &fileId, CbData &cb) if (line.size() && line[0]=="pair_coeff") break; } if (line[0] != "pair_coeff" || line.size() != 3) { - throw(ATC_Error("lj/cut needs 2 coefficents")); + throw(ATC_Error("lj/cut needs 2 coefficients")); } delete potential_; potential_ = new CbLjCut(str2dbl(line[1]), str2dbl(line[2]), rc); @@ -341,7 +341,7 @@ StressCauchyBorn::StressCauchyBorn(fstream &fileId, CbData &cb) if (line.size() && line[0]=="pair_coeff") break; } if (line[0] != "pair_coeff" || line.size() != 3) { - throw(ATC_Error("lj/smooth/linear needs 2 coefficents")); + throw(ATC_Error("lj/smooth/linear needs 2 coefficients")); } delete potential_; potential_ = new CbLjSmoothLinear(str2dbl(line[1]), str2dbl(line[2]), rc); diff --git a/lib/atc/ThermalTimeIntegrator.cpp b/lib/atc/ThermalTimeIntegrator.cpp index f68f46b01f63500e4576248a11f730b61bc0cca7..e74d46a20c5bf0348ac37cc26e4b13eb3abb2214 100644 --- a/lib/atc/ThermalTimeIntegrator.cpp +++ b/lib/atc/ThermalTimeIntegrator.cpp @@ -87,7 +87,7 @@ namespace ATC { break; } default: - throw ATC_Error("Uknown time integration type in ThermalTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in ThermalTimeIntegrator::Initialize()"); } } @@ -102,7 +102,7 @@ namespace ATC { break; } default: - throw ATC_Error("Uknown time integration type in ThermalTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in ThermalTimeIntegrator::Initialize()"); } } else { @@ -116,7 +116,7 @@ namespace ATC { break; } default: - throw ATC_Error("Uknown time integration type in ThermalTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in ThermalTimeIntegrator::Initialize()"); } } } diff --git a/lib/atc/ThermalTimeIntegrator.h b/lib/atc/ThermalTimeIntegrator.h index f0ce73b9b4ae596d36ea0506e97e38c35b3cf68a..8f5175d8a28655e933e4ece0f0c988db5af03f8d 100644 --- a/lib/atc/ThermalTimeIntegrator.h +++ b/lib/atc/ThermalTimeIntegrator.h @@ -273,7 +273,7 @@ namespace ATC { /** change in FE temperature due to atomic motions */ DENS_MAN atomicTemperatureDelta_; - /** fractional step auxilliary storage for restricted atomic energy */ + /** fractional step auxiliary storage for restricted atomic energy */ DENS_MAN * nodalAtomicEnergy_; /** power associated with thermostat for post-processing */ diff --git a/lib/atc/Thermostat.cpp b/lib/atc/Thermostat.cpp index 0ede724371ba845d01f69b46907357dff8b3ab28..a602105854162d8e0919c766238cb23e081cbb1b 100644 --- a/lib/atc/Thermostat.cpp +++ b/lib/atc/Thermostat.cpp @@ -1460,7 +1460,7 @@ namespace ATC { // initialize_delta_nodal_atomic_energy: // initializes storage for the variable tracking // the change in the nodal atomic energy - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- void ThermostatIntegratorFixed::initialize_delta_nodal_atomic_energy(double dt) { @@ -1475,7 +1475,7 @@ namespace ATC { //-------------------------------------------------------- // compute_delta_nodal_atomic_energy: // computes the change in the nodal atomic energy - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- void ThermostatIntegratorFixed::compute_delta_nodal_atomic_energy(double dt) { @@ -1778,7 +1778,7 @@ namespace ATC { // initialize_delta_nodal_atomic_energy: // initializes storage for the variable tracking // the change in the nodal atomic energy - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- @@ -1795,7 +1795,7 @@ namespace ATC { //-------------------------------------------------------- // compute_delta_nodal_atomic_energy: // computes the change in the nodal atomic energy - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- void ThermostatIntegratorFixedFiltered::compute_delta_nodal_atomic_energy(double dt) { diff --git a/lib/atc/Thermostat.h b/lib/atc/Thermostat.h index 95d2d1162d9d1c1b35ed5214335d8bd31add115f..3764d0b8350e096c637b876bc8d088ca3eaca0ba 100644 --- a/lib/atc/Thermostat.h +++ b/lib/atc/Thermostat.h @@ -581,7 +581,7 @@ namespace ATC { /** change in restricted atomic FE energy over a timestep */ DENS_MAT deltaNodalAtomicEnergy_; - /** intial restricted atomic FE energy used to compute change */ + /** initial restricted atomic FE energy used to compute change */ DENS_MAT initialNodalAtomicEnergy_; /** filtered nodal atomic energy */ diff --git a/lib/atc/TimeIntegrator.h b/lib/atc/TimeIntegrator.h index ceeb7610fbdcfeb008b2110afac14162cd97b680..ccb9b9f426d9f605b7501660b8d6651cb4e1131b 100644 --- a/lib/atc/TimeIntegrator.h +++ b/lib/atc/TimeIntegrator.h @@ -362,7 +362,7 @@ namespace ATC { inline void explicit_1(MATRIX & f, const MATRIX & dot_f, double dt) - // 1rst order explict ODE update + // 1rst order explicit ODE update { f = f + dt*dot_f; }; @@ -371,7 +371,7 @@ namespace ATC { const MATRIX & dot_f, const MATRIX & ddot_f, double dt) - // 2nd order explict ODE update + // 2nd order explicit ODE update { f = f + dt*dot_f + .5*dt*dt*ddot_f; }; diff --git a/lib/atc/TransferOperator.h b/lib/atc/TransferOperator.h index 0ab92805bedf196e8863c7e447e794830b6fb47f..5f776d04ca6697403a032a36b15f295426367290 100644 --- a/lib/atc/TransferOperator.h +++ b/lib/atc/TransferOperator.h @@ -466,7 +466,7 @@ namespace ATC { /** reference to shape function matrix */ SPAR_MAN * shapeFunction_; - /** persistant workspace */ + /** persistent workspace */ mutable DENS_MAT _workspace_; @@ -510,7 +510,7 @@ namespace ATC { /** reference to shape function matrix */ SPAR_MAN * shapeFunction_; - /** persistant workspace */ + /** persistent workspace */ mutable DENS_MAT _workspace_; @@ -560,7 +560,7 @@ namespace ATC { DIAG_MAN * weights_; DENS_MAT * reference_; - /** persistant workspace */ + /** persistent workspace */ mutable DENS_MAT _workspace_; @@ -887,7 +887,7 @@ namespace ATC { /** pointer to the mesh being used */ const FE_Mesh * feMesh_; - /** persistant workspace */ + /** persistent workspace */ mutable DENS_MAT _workspace_; diff --git a/lib/awpmd/ivutils/include/logexc.h b/lib/awpmd/ivutils/include/logexc.h index 4c8364671a602bed5932df5a773d6482fb3e01c6..80942f60bfa6a300b50f48cc7f1e1c50edb5521a 100644 --- a/lib/awpmd/ivutils/include/logexc.h +++ b/lib/awpmd/ivutils/include/logexc.h @@ -42,7 +42,7 @@ enum vbLEVELS{ /// by default all exceptions have vblFATAL level template struct log_exception_traits{ - /// exeption level according to the vbLEVELS + /// exception level according to the vbLEVELS static int level(const exc_t & /* signal */){ return vblFATAL; } /// the string name of exception category static string name(const exc_t & /* signal */){ return typeid(exc_t).name();} @@ -59,7 +59,7 @@ struct log_exception_traits{ /// integer exceptions have the level equal to their value template<> struct log_exception_traits{ - /// exeption level according to the vbLEVELS + /// exception level according to the vbLEVELS static int level(const int &signal){ return signal; } /// the string name of exception category static string name(const int &signal){ @@ -294,7 +294,7 @@ const char *fmt(const char *format,...); /// this may be used to inherit exceptions /// where level and name are defined whithin a class struct log_exception { - /// exeption level according to the vbLEVELS + /// exception level according to the vbLEVELS static int level(const log_exception &signal){ return vblFATAL; } /// the string name of exception category static string name(const log_exception &signal){ return "undefined exception";} diff --git a/lib/awpmd/ivutils/include/wavepacket.h b/lib/awpmd/ivutils/include/wavepacket.h index c4f383702281d154bb6489c9901c87123c951916..337a056e7907b4a93bb5b537cc8b31ff799bd8d6 100644 --- a/lib/awpmd/ivutils/include/wavepacket.h +++ b/lib/awpmd/ivutils/include/wavepacket.h @@ -168,13 +168,13 @@ public: return imag(b) - real(b)*(imag(a)/real(a)); } - ///\en Transforms derivatives of a function whith respect to WP parameters + ///\en Transforms derivatives of a function with respect to WP parameters /// from internal into physical representation, i. e.:\n /// from df/d{are,aim,b0re,b0im,b1re,b1im,b2re,b2im} (8 values accessed by input iterator d_it in the given order)\n /// to df/d{x0,x1,x2}, df/d{p0,p1,p2}, df/dw, df/dpw /// The supplied inputs (val) are modified by op: val=op(val,phys_der). /// Use operation=eq_second for the supplied inputs to be replaced by new physical derivative values. - /// The inpput and output locations may coinside, an internal buffer is used for transformation. + /// The input and output locations may coinside, an internal buffer is used for transformation. template class operation, class d_it, class dfdx_it, class dfdp_it, class dfdw_it, class dfdpw_it> void int2phys_der(d_it dfdi_,dfdx_it dfdx, dfdp_it dfdp, dfdw_it dfdw, dfdpw_it dfdpw, double h_p=h_plank) const { operation op; diff --git a/lib/awpmd/systems/interact/TCP/wpmd.cpp b/lib/awpmd/systems/interact/TCP/wpmd.cpp index ad5d8e26bc883992310c4ea58769705b2de0531e..1e53f3141c747d7a64ad7a9f88784b68b278747c 100644 --- a/lib/awpmd/systems/interact/TCP/wpmd.cpp +++ b/lib/awpmd/systems/interact/TCP/wpmd.cpp @@ -217,7 +217,7 @@ int AWPMD::interaction_hartree(int flag, Vector_3P fi, Vector_3P fe_x, // 0. resizing the arrays if needed enum APPROX tmp=HARTREE; - swap(tmp,approx); // do not neeed large matrices + swap(tmp,approx); // do not need large matrices resize(flag); swap(tmp,approx); //1. clearing forces diff --git a/lib/awpmd/systems/interact/TCP/wpmd.h b/lib/awpmd/systems/interact/TCP/wpmd.h index bcb99e2092bb83461dc84f7df6a09d5e70d6385d..e5a7c276979d3550841ba11e9fc8851b0a856ebf 100644 --- a/lib/awpmd/systems/interact/TCP/wpmd.h +++ b/lib/awpmd/systems/interact/TCP/wpmd.h @@ -201,7 +201,7 @@ inline pair operator*(const pair &right, double le return make_pair(right.first*left,right.second*left); } -// Auxilary class to handle the normalizing term derivatives +// Auxiliary class to handle the normalizing term derivatives class NormDeriv { public: @@ -235,7 +235,7 @@ inline NormDeriv conj(const NormDeriv& src){ return dst; } -///\en Auxilary class to handle derivatives of overlaps +///\en Auxiliary class to handle derivatives of overlaps class OverlapDeriv{ public: WavePacket w1, w2, w12; @@ -496,7 +496,7 @@ public: } protected: - //e translates wp2 to the nearest image postion relative to wp1 + //e translates wp2 to the nearest image position relative to wp1 //e gets the translation vector Vector_3 move_to_image(const WavePacket &wp1, WavePacket &wp2) const { Vector_3 r1=wp1.get_r(); @@ -646,7 +646,7 @@ public: Vector_3P fe_p, double *fe_w, double *fe_pw, Vector_2P fe_c=NULL); - ///\en Creates wave packet acording to the given physical parameters. + ///\en Creates wave packet according to the given physical parameters. /// The function may change its arguments by applying existing constraints! /// Default mass (-1) is the electron mass AWPMD::me. WavePacket create_wp(Vector_3 &x, Vector_3 &v, double &w, double &pw, double mass=-1); diff --git a/lib/awpmd/systems/interact/TCP/wpmd_split.cpp b/lib/awpmd/systems/interact/TCP/wpmd_split.cpp index 691dbac91b90a50c7627db8c9ef5bd862b7a051d..732707d717eeff61566cb16ec799817058dd1fc5 100644 --- a/lib/awpmd/systems/interact/TCP/wpmd_split.cpp +++ b/lib/awpmd/systems/interact/TCP/wpmd_split.cpp @@ -351,7 +351,7 @@ int AWPMD_split::interaction_hartree(int flag, Vector_3P fi, Vector_3P fe_x, // resize arrays if needed enum APPROX tmp=HARTREE; - swap(tmp,approx); // do not neeed large matrices + swap(tmp,approx); // do not need large matrices resize(flag); swap(tmp,approx); diff --git a/lib/colvars/Makefile.common b/lib/colvars/Makefile.common index c555c534d8b3f82ba21d3f1f81ad91963bb1c81e..2f2e2beffb2faefd448cfd590994428a899670f9 100644 --- a/lib/colvars/Makefile.common +++ b/lib/colvars/Makefile.common @@ -31,6 +31,7 @@ COLVARS_SRCS = \ colvarbias_meta.cpp \ colvarbias_restraint.cpp \ colvarcomp_angles.cpp \ + colvarcomp_apath.cpp \ colvarcomp_coordnums.cpp \ colvarcomp.cpp \ colvarcomp_distances.cpp \ @@ -41,8 +42,10 @@ COLVARS_SRCS = \ colvardeps.cpp \ colvargrid.cpp \ colvarmodule.cpp \ + colvarparams.cpp \ colvarparse.cpp \ colvarproxy.cpp \ + colvarproxy_replicas.cpp \ colvarscript.cpp \ colvartypes.cpp \ colvarvalue.cpp @@ -58,7 +61,7 @@ ifeq ($(COLVARS_LEPTON),no) LEPTON_INCFLAGS = COLVARS_OBJS = $(COLVARS_SRCS:.cpp=.o) else -LEPTON_INCFLAGS = -Ilepton/include -DLEPTON +LEPTON_INCFLAGS = -Ilepton/include -DLEPTON -DLEPTON_USE_STATIC_LIBRARIES COLVARS_OBJS = $(COLVARS_SRCS:.cpp=.o) $(LEPTON_SRCS:.cpp=.o) endif @@ -79,4 +82,20 @@ Makefile.deps: $(COLVARS_SRCS) done include Makefile.deps + +# Exceptions to pattern rule above for Lepton objects + +lepton/src/CompiledExpression.o: lepton/src/CompiledExpression.cpp + $(CXX) $(CXXFLAGS) -Ilepton/include -DLEPTON_BUILDING_STATIC_LIBRARY -c -o $@ $< +lepton/src/ExpressionProgram.o: lepton/src/ExpressionProgram.cpp + $(CXX) $(CXXFLAGS) -Ilepton/include -DLEPTON_BUILDING_STATIC_LIBRARY -c -o $@ $< +lepton/src/ExpressionTreeNode.o: lepton/src/ExpressionTreeNode.cpp + $(CXX) $(CXXFLAGS) -Ilepton/include -DLEPTON_BUILDING_STATIC_LIBRARY -c -o $@ $< +lepton/src/Operation.o: lepton/src/Operation.cpp + $(CXX) $(CXXFLAGS) -Ilepton/include -DLEPTON_BUILDING_STATIC_LIBRARY -c -o $@ $< +lepton/src/ParsedExpression.o: lepton/src/ParsedExpression.cpp + $(CXX) $(CXXFLAGS) -Ilepton/include -DLEPTON_BUILDING_STATIC_LIBRARY -c -o $@ $< +lepton/src/Parser.o: lepton/src/Parser.cpp + $(CXX) $(CXXFLAGS) -Ilepton/include -DLEPTON_BUILDING_STATIC_LIBRARY -c -o $@ $< + include Makefile.lepton.deps # Hand-generated diff --git a/lib/colvars/Makefile.deps b/lib/colvars/Makefile.deps index a0d8515bc104f985584d18726c79914c67227cdf..2c0dabea6a235e7d9b71e3e147c30b5ba0d2df01 100644 --- a/lib/colvars/Makefile.deps +++ b/lib/colvars/Makefile.deps @@ -1,235 +1,102 @@ $(COLVARS_OBJ_DIR)colvaratoms.o: colvaratoms.cpp colvarmodule.h \ colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \ - colvarparse.h colvaratoms.h colvardeps.h + colvarparse.h colvarparams.h colvaratoms.h colvardeps.h $(COLVARS_OBJ_DIR)colvarbias_abf.o: colvarbias_abf.cpp colvarmodule.h \ colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvar.h \ - colvarparse.h colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarbias_abf.h colvarbias.h colvargrid.h colvar_UIestimator.h + colvarparse.h colvarparams.h colvardeps.h colvarbias_abf.h colvarbias.h \ + colvargrid.h colvar_UIestimator.h $(COLVARS_OBJ_DIR)colvarbias_alb.o: colvarbias_alb.cpp colvarmodule.h \ colvars_version.h colvarbias.h colvar.h colvarvalue.h colvartypes.h \ - colvarparse.h colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarbias_alb.h + colvarparse.h colvarparams.h colvardeps.h colvarbias_alb.h $(COLVARS_OBJ_DIR)colvarbias.o: colvarbias.cpp colvarmodule.h \ colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvarbias.h \ - colvar.h colvarparse.h colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvargrid.h + colvar.h colvarparse.h colvarparams.h colvardeps.h colvargrid.h $(COLVARS_OBJ_DIR)colvarbias_histogram.o: colvarbias_histogram.cpp \ colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \ - colvarvalue.h colvar.h colvarparse.h colvardeps.h \ - lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ + colvarvalue.h colvar.h colvarparse.h colvarparams.h colvardeps.h \ colvarbias_histogram.h colvarbias.h colvargrid.h $(COLVARS_OBJ_DIR)colvarbias_meta.o: colvarbias_meta.cpp colvarmodule.h \ colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvar.h \ - colvarparse.h colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarbias_meta.h colvarbias.h colvargrid.h + colvarparse.h colvarparams.h colvardeps.h colvarbias_meta.h colvarbias.h \ + colvargrid.h $(COLVARS_OBJ_DIR)colvarbias_restraint.o: colvarbias_restraint.cpp \ colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \ colvarvalue.h colvarbias_restraint.h colvarbias.h colvar.h colvarparse.h \ - colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h + colvarparams.h colvardeps.h $(COLVARS_OBJ_DIR)colvarcomp_angles.o: colvarcomp_angles.cpp \ colvarmodule.h colvars_version.h colvar.h colvarvalue.h colvartypes.h \ - colvarparse.h colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h colvarproxy.h + colvarparse.h colvarparams.h colvardeps.h colvarcomp.h colvaratoms.h \ + colvarproxy.h colvar_arithmeticpath.h colvar_geometricpath.h +$(COLVARS_OBJ_DIR)colvarcomp_apath.o: colvarcomp_apath.cpp colvarmodule.h \ + colvars_version.h colvarvalue.h colvartypes.h colvarparse.h \ + colvarparams.h colvar.h colvardeps.h colvarcomp.h colvaratoms.h \ + colvarproxy.h colvar_arithmeticpath.h colvar_geometricpath.h $(COLVARS_OBJ_DIR)colvarcomp_coordnums.o: colvarcomp_coordnums.cpp \ colvarmodule.h colvars_version.h colvarparse.h colvarvalue.h \ - colvartypes.h colvaratoms.h colvarproxy.h colvardeps.h colvar.h \ - lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h + colvartypes.h colvarparams.h colvaratoms.h colvarproxy.h colvardeps.h \ + colvar.h colvarcomp.h colvar_arithmeticpath.h colvar_geometricpath.h $(COLVARS_OBJ_DIR)colvarcomp.o: colvarcomp.cpp colvarmodule.h \ colvars_version.h colvarvalue.h colvartypes.h colvar.h colvarparse.h \ - colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h colvarproxy.h + colvarparams.h colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h \ + colvar_arithmeticpath.h colvar_geometricpath.h $(COLVARS_OBJ_DIR)colvarcomp_distances.o: colvarcomp_distances.cpp \ colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \ - colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h colvarproxy.h + colvarparse.h colvarparams.h colvar.h colvardeps.h colvarcomp.h \ + colvaratoms.h colvarproxy.h colvar_arithmeticpath.h \ + colvar_geometricpath.h +$(COLVARS_OBJ_DIR)colvarcomp_gpath.o: colvarcomp_gpath.cpp colvarmodule.h \ + colvars_version.h colvarvalue.h colvartypes.h colvarparse.h \ + colvarparams.h colvar.h colvardeps.h colvarcomp.h colvaratoms.h \ + colvarproxy.h colvar_arithmeticpath.h colvar_geometricpath.h $(COLVARS_OBJ_DIR)colvarcomp_protein.o: colvarcomp_protein.cpp \ colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \ - colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h colvarproxy.h + colvarparse.h colvarparams.h colvar.h colvardeps.h colvarcomp.h \ + colvaratoms.h colvarproxy.h colvar_arithmeticpath.h \ + colvar_geometricpath.h $(COLVARS_OBJ_DIR)colvarcomp_rotations.o: colvarcomp_rotations.cpp \ colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \ - colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h colvarproxy.h + colvarparse.h colvarparams.h colvar.h colvardeps.h colvarcomp.h \ + colvaratoms.h colvarproxy.h colvar_arithmeticpath.h \ + colvar_geometricpath.h $(COLVARS_OBJ_DIR)colvar.o: colvar.cpp colvarmodule.h colvars_version.h \ - colvarvalue.h colvartypes.h colvarparse.h colvar.h colvardeps.h \ - lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h colvarproxy.h colvarscript.h colvarbias.h + colvarvalue.h colvartypes.h colvarparse.h colvarparams.h colvar.h \ + colvardeps.h colvarcomp.h colvaratoms.h colvarproxy.h \ + colvar_arithmeticpath.h colvar_geometricpath.h colvarscript.h \ + colvarbias.h $(COLVARS_OBJ_DIR)colvardeps.o: colvardeps.cpp colvarmodule.h \ colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h colvardeps.h \ - colvarparse.h + colvarparse.h colvarparams.h $(COLVARS_OBJ_DIR)colvargrid.o: colvargrid.cpp colvarmodule.h \ - colvars_version.h colvarvalue.h colvartypes.h colvarparse.h colvar.h \ - colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h colvarproxy.h colvargrid.h + colvars_version.h colvarvalue.h colvartypes.h colvarparse.h \ + colvarparams.h colvar.h colvardeps.h colvarcomp.h colvaratoms.h \ + colvarproxy.h colvar_arithmeticpath.h colvar_geometricpath.h \ + colvargrid.h $(COLVARS_OBJ_DIR)colvarmodule.o: colvarmodule.cpp colvarmodule.h \ colvars_version.h colvarparse.h colvarvalue.h colvartypes.h \ - colvarproxy.h colvar.h colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarbias.h colvarbias_abf.h colvargrid.h colvar_UIestimator.h \ - colvarbias_alb.h colvarbias_histogram.h colvarbias_meta.h \ - colvarbias_restraint.h colvarscript.h colvaratoms.h colvarcomp.h + colvarparams.h colvarproxy.h colvar.h colvardeps.h colvarbias.h \ + colvarbias_abf.h colvargrid.h colvar_UIestimator.h colvarbias_alb.h \ + colvarbias_histogram.h colvarbias_meta.h colvarbias_restraint.h \ + colvarscript.h colvaratoms.h colvarcomp.h colvar_arithmeticpath.h \ + colvar_geometricpath.h +$(COLVARS_OBJ_DIR)colvarparams.o: colvarparams.cpp colvarmodule.h \ + colvars_version.h colvarvalue.h colvartypes.h colvarparams.h $(COLVARS_OBJ_DIR)colvarparse.o: colvarparse.cpp colvarmodule.h \ - colvars_version.h colvarvalue.h colvartypes.h colvarparse.h + colvars_version.h colvarvalue.h colvartypes.h colvarparse.h \ + colvarparams.h $(COLVARS_OBJ_DIR)colvarproxy.o: colvarproxy.cpp colvarmodule.h \ colvars_version.h colvarproxy.h colvartypes.h colvarvalue.h \ - colvarscript.h colvarbias.h colvar.h colvarparse.h colvardeps.h \ - lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvaratoms.h + colvarscript.h colvarbias.h colvar.h colvarparse.h colvarparams.h \ + colvardeps.h colvaratoms.h +$(COLVARS_OBJ_DIR)colvarproxy_replicas.o: colvarproxy_replicas.cpp \ + colvarmodule.h colvars_version.h colvarproxy.h colvartypes.h \ + colvarvalue.h $(COLVARS_OBJ_DIR)colvarscript.o: colvarscript.cpp colvarscript.h \ colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \ - colvarbias.h colvar.h colvarparse.h colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/windowsIncludes.h \ - lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/ExpressionProgram.h \ - lepton/include/lepton/ExpressionTreeNode.h \ - lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ - lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ + colvarbias.h colvar.h colvarparse.h colvarparams.h colvardeps.h \ colvarproxy.h $(COLVARS_OBJ_DIR)colvartypes.o: colvartypes.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarparse.h colvarvalue.h + colvars_version.h colvartypes.h colvarparse.h colvarvalue.h \ + colvarparams.h $(COLVARS_OBJ_DIR)colvarvalue.o: colvarvalue.cpp colvarmodule.h \ colvars_version.h colvarvalue.h colvartypes.h diff --git a/lib/colvars/README b/lib/colvars/README index 6be1b8dd58638c1877e5fd7336a87252d0d294d0..cd6e59511a518134932866de614e289b52b4f7e2 100644 --- a/lib/colvars/README +++ b/lib/colvars/README @@ -27,7 +27,7 @@ Also available is a Doxygen-based developer documentation: The reference article is: G. Fiorin, M. L. Klein, and J. Hénin, Molecular Physics 111, 3345 (2013). - http://dx.doi.org/10.1080/00268976.2013.813594 + https://doi.org/10.1080/00268976.2013.813594 ## Requirements diff --git a/lib/colvars/colvar.cpp b/lib/colvars/colvar.cpp index e3676084ac1c5488a9d08ec451a5f82688148768..1002dc35d800a61e0a63618feb6d077068abd234 100644 --- a/lib/colvars/colvar.cpp +++ b/lib/colvars/colvar.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -29,6 +29,12 @@ colvar::colvar() kinetic_energy = 0.0; potential_energy = 0.0; +#ifdef LEPTON + dev_null = 0.0; +#endif + + expand_boundaries = false; + description = "uninitialized colvar"; init_dependencies(); } @@ -194,23 +200,32 @@ int colvar::init(std::string const &conf) { bool homogeneous = is_enabled(f_cv_linear); for (i = 0; i < cvcs.size(); i++) { - if ((cvm::fabs(cvcs[i]->sup_coeff) - 1.0) > 1.0e-10) { + if (cvm::fabs(cvm::fabs(cvcs[i]->sup_coeff) - 1.0) > 1.0e-10) { homogeneous = false; } } set_enabled(f_cv_homogeneous, homogeneous); } + // A single-component variable almost concides with its CVC object + if ((cvcs.size() == 1) && is_enabled(f_cv_homogeneous)) { + if ( !is_enabled(f_cv_scripted) && !is_enabled(f_cv_custom_function) && + (cvm::fabs(cvcs[0]->sup_coeff - 1.0) < 1.0e-10) && + (cvcs[0]->sup_np == 1) ) { + enable(f_cv_single_cvc); + } + } + // Colvar is deemed periodic if: // - it is homogeneous // - all cvcs are periodic // - all cvcs have the same period - if (is_enabled(f_cv_homogeneous) && cvcs[0]->b_periodic) { // TODO make this a CVC feature + if (is_enabled(f_cv_homogeneous) && cvcs[0]->is_enabled(f_cvc_periodic)) { bool b_periodic = true; period = cvcs[0]->period; wrap_center = cvcs[0]->wrap_center; for (i = 1; i < cvcs.size(); i++) { - if (!cvcs[i]->b_periodic || cvcs[i]->period != period) { + if (!cvcs[i]->is_enabled(f_cvc_periodic) || cvcs[i]->period != period) { b_periodic = false; period = 0.0; cvm::log("Warning: although one component is periodic, this colvar will " @@ -237,7 +252,7 @@ int colvar::init(std::string const &conf) // components may have different types only for scripted functions if (!(is_enabled(f_cv_scripted) || is_enabled(f_cv_custom_function)) && (colvarvalue::check_types(cvcs[i]->value(), cvcs[0]->value())) ) { - cvm::error("ERROR: you are definining this collective variable " + cvm::error("ERROR: you are defining this collective variable " "by using components of different types. " "You must use the same type in order to " "sum them together.\n", INPUT_ERROR); @@ -296,13 +311,13 @@ int colvar::init(std::string const &conf) #ifdef LEPTON int colvar::init_custom_function(std::string const &conf) { - std::string expr; + std::string expr, expr_in; // expr_in is a buffer to remember expr after unsuccessful parsing std::vector pexprs; Lepton::ParsedExpression pexpr; size_t pos = 0; // current position in config string double *ref; - if (!key_lookup(conf, "customFunction", &expr, &pos)) { + if (!key_lookup(conf, "customFunction", &expr_in, &pos)) { return COLVARS_OK; } @@ -310,6 +325,7 @@ int colvar::init_custom_function(std::string const &conf) cvm::log("This colvar uses a custom function.\n"); do { + expr = expr_in; if (cvm::debug()) cvm::log("Parsing expression \"" + expr + "\".\n"); try { @@ -337,8 +353,7 @@ int colvar::init_custom_function(std::string const &conf) // To keep the same workflow, we use a pointer to a double here // that will receive CVC values - even though none was allocated by Lepton ref = &dev_null; - if (cvm::debug()) - cvm::log("Variable " + vn + " is absent from expression \"" + expr + "\".\n"); + cvm::log("Warning: Variable " + vn + " is absent from expression \"" + expr + "\".\n"); } value_eval_var_refs.push_back(ref); } @@ -348,7 +363,7 @@ int colvar::init_custom_function(std::string const &conf) cvm::error("Error compiling expression \"" + expr + "\".\n", INPUT_ERROR); return INPUT_ERROR; } - } while (key_lookup(conf, "customFunction", &expr, &pos)); + } while (key_lookup(conf, "customFunction", &expr_in, &pos)); // Now define derivative with respect to each scalar sub-component @@ -373,8 +388,7 @@ int colvar::init_custom_function(std::string const &conf) catch (...) { // Variable is absent from derivative // To keep the same workflow, we use a pointer to a double here // that will receive CVC values - even though none was allocated by Lepton - if (cvm::debug()) - cvm::log("Variable " + vvn + " is absent from derivative of \"" + expr + "\" wrt " + vn + ".\n"); + cvm::log("Warning: Variable " + vvn + " is absent from derivative of \"" + expr + "\" wrt " + vn + ".\n"); ref = &dev_null; } grad_eval_var_refs.push_back(ref); @@ -439,6 +453,21 @@ int colvar::init_custom_function(std::string const &conf) int colvar::init_custom_function(std::string const &conf) { + + std::string expr; + size_t pos = 0; + if (key_lookup(conf, "customFunction", &expr, &pos)) { + std::string msg("Error: customFunction requires the Lepton library."); +#if (__cplusplus < 201103L) + // NOTE: this is not ideal; testing for the Lepton library's version would + // be more accurate, but also less portable + msg += + std::string(" Note also that recent versions of Lepton require C++11: " + "please see https://colvars.github.io/README-c++11.html."); +#endif + return cvm::error(msg, COLVARS_NOT_IMPLEMENTED); + } + return COLVARS_OK; } @@ -447,9 +476,23 @@ int colvar::init_custom_function(std::string const &conf) int colvar::init_grid_parameters(std::string const &conf) { + int error_code = COLVARS_OK; + colvarmodule *cv = cvm::main(); - get_keyval(conf, "width", width, 1.0); + cvm::real default_width = width; + + if (!key_already_set("width")) { + // The first time, check if the CVC has a width to provide + default_width = 1.0; + if (is_enabled(f_cv_single_cvc) && cvcs[0]->is_enabled(f_cvc_width)) { + cvm::real const cvc_width = cvcs[0]->get_param("width"); + default_width = cvc_width; + } + } + + get_keyval(conf, "width", width, default_width); + if (width <= 0.0) { cvm::error("Error: \"width\" must be positive.\n", INPUT_ERROR); return INPUT_ERROR; @@ -460,23 +503,46 @@ int colvar::init_grid_parameters(std::string const &conf) if (is_enabled(f_cv_scalar)) { + if (is_enabled(f_cv_single_cvc)) { + // Get the default boundaries from the component + if (cvcs[0]->is_enabled(f_cvc_lower_boundary)) { + enable(f_cv_lower_boundary); + enable(f_cv_hard_lower_boundary); + lower_boundary = + *(reinterpret_cast(cvcs[0]->get_param_ptr("lowerBoundary"))); + } + if (cvcs[0]->is_enabled(f_cvc_upper_boundary)) { + enable(f_cv_upper_boundary); + enable(f_cv_hard_upper_boundary); + upper_boundary = + *(reinterpret_cast(cvcs[0]->get_param_ptr("upperBoundary"))); + } + } + if (get_keyval(conf, "lowerBoundary", lower_boundary, lower_boundary)) { enable(f_cv_lower_boundary); + // Because this is the user's choice, we cannot assume it is a true + // physical boundary + disable(f_cv_hard_lower_boundary); } if (get_keyval(conf, "upperBoundary", upper_boundary, upper_boundary)) { enable(f_cv_upper_boundary); + disable(f_cv_hard_upper_boundary); } + // Parse legacy wall options and set up a harmonicWalls bias if needed + cvm::real lower_wall_k = 0.0, upper_wall_k = 0.0; + cvm::real lower_wall = 0.0, upper_wall = 0.0; std::string lw_conf, uw_conf; + if (get_keyval(conf, "lowerWallConstant", lower_wall_k, 0.0, parse_silent)) { cvm::log("Reading legacy options lowerWall and lowerWallConstant: " - "consider using a harmonicWalls restraint\n(caution: force constant would then be scaled by width^2).\n"); - lower_wall.type(value()); - if (!get_keyval(conf, "lowerWall", lower_wall, lower_boundary)) { - cvm::log("Warning: lowerWall will need to be " - "defined explicitly in the next release.\n"); + "consider using a harmonicWalls restraint (caution: force constant would then be scaled by width^2).\n"); + if (!get_keyval(conf, "lowerWall", lower_wall)) { + error_code != cvm::error("Error: the value of lowerWall must be set " + "explicitly.\n", INPUT_ERROR); } lw_conf = std::string("\n\ lowerWallConstant "+cvm::to_str(lower_wall_k*width*width)+"\n\ @@ -486,11 +552,10 @@ int colvar::init_grid_parameters(std::string const &conf) if (get_keyval(conf, "upperWallConstant", upper_wall_k, 0.0, parse_silent)) { cvm::log("Reading legacy options upperWall and upperWallConstant: " - "consider using a harmonicWalls restraint\n(caution: force constant would then be scaled by width^2).\n"); - upper_wall.type(value()); - if (!get_keyval(conf, "upperWall", upper_wall, upper_boundary)) { - cvm::log("Warning: upperWall will need to be " - "defined explicitly in the next release.\n"); + "consider using a harmonicWalls restraint (caution: force constant would then be scaled by width^2).\n"); + if (!get_keyval(conf, "upperWall", upper_wall)) { + error_code != cvm::error("Error: the value of upperWall must be set " + "explicitly.\n", INPUT_ERROR); } uw_conf = std::string("\n\ upperWallConstant "+cvm::to_str(upper_wall_k*width*width)+"\n\ @@ -499,12 +564,11 @@ int colvar::init_grid_parameters(std::string const &conf) if (lw_conf.size() && uw_conf.size()) { if (lower_wall >= upper_wall) { - cvm::error("Error: the upper wall, "+ - cvm::to_str(upper_wall)+ - ", is not higher than the lower wall, "+ - cvm::to_str(lower_wall)+".\n", - INPUT_ERROR); - return INPUT_ERROR; + error_code |= cvm::error("Error: the upper wall, "+ + cvm::to_str(upper_wall)+ + ", is not higher than the lower wall, "+ + cvm::to_str(lower_wall)+".\n", + INPUT_ERROR); } } @@ -516,42 +580,40 @@ harmonicWalls {\n\ colvars "+this->name+"\n"+lw_conf+uw_conf+"\ timeStepFactor "+cvm::to_str(time_step_factor)+"\n"+ "}\n"); - cv->append_new_config(walls_conf); + error_code |= cv->append_new_config(walls_conf); } } - if (is_enabled(f_cv_lower_boundary)) { - get_keyval(conf, "hardLowerBoundary", hard_lower_boundary, false); - } - if (is_enabled(f_cv_upper_boundary)) { - get_keyval(conf, "hardUpperBoundary", hard_upper_boundary, false); - } + get_keyval_feature(this, conf, "hardLowerBoundary", f_cv_hard_lower_boundary, + is_enabled(f_cv_hard_lower_boundary)); + + get_keyval_feature(this, conf, "hardUpperBoundary", f_cv_hard_upper_boundary, + is_enabled(f_cv_hard_upper_boundary)); // consistency checks for boundaries and walls if (is_enabled(f_cv_lower_boundary) && is_enabled(f_cv_upper_boundary)) { if (lower_boundary >= upper_boundary) { - cvm::error("Error: the upper boundary, "+ - cvm::to_str(upper_boundary)+ - ", is not higher than the lower boundary, "+ - cvm::to_str(lower_boundary)+".\n", - INPUT_ERROR); - return INPUT_ERROR; + error_code |= cvm::error("Error: the upper boundary, "+ + cvm::to_str(upper_boundary)+ + ", is not higher than the lower boundary, "+ + cvm::to_str(lower_boundary)+".\n", + INPUT_ERROR); } } - get_keyval(conf, "expandBoundaries", expand_boundaries, false); + get_keyval(conf, "expandBoundaries", expand_boundaries, expand_boundaries); if (expand_boundaries && periodic_boundaries()) { - cvm::error("Error: trying to expand boundaries that already " - "cover a whole period of a periodic colvar.\n", - INPUT_ERROR); - return INPUT_ERROR; + error_code |= cvm::error("Error: trying to expand boundaries that already " + "cover a whole period of a periodic colvar.\n", + INPUT_ERROR); } - if (expand_boundaries && hard_lower_boundary && hard_upper_boundary) { - cvm::error("Error: inconsistent configuration " - "(trying to expand boundaries with both " - "hardLowerBoundary and hardUpperBoundary enabled).\n", - INPUT_ERROR); - return INPUT_ERROR; + + if (expand_boundaries && is_enabled(f_cv_hard_lower_boundary) && + is_enabled(f_cv_hard_upper_boundary)) { + error_code |= cvm::error("Error: inconsistent configuration " + "(trying to expand boundaries, but both " + "hardLowerBoundary and hardUpperBoundary " + "are enabled).\n", INPUT_ERROR); } return COLVARS_OK; @@ -568,7 +630,8 @@ int colvar::init_extended_Lagrangian(std::string const &conf) cvm::log("Enabling the extended Lagrangian term for colvar \""+ this->name+"\".\n"); - x_ext.type(value()); + // Mark x_ext as uninitialized so we can initialize it to the colvar value when updating + x_ext.type(colvarvalue::type_notset); v_ext.type(value()); fr.type(value()); @@ -646,7 +709,7 @@ int colvar::init_output_flags(std::string const &conf) bool temp; if (get_keyval(conf, "outputSystemForce", temp, false, colvarparse::parse_silent)) { cvm::error("Option outputSystemForce is deprecated: only outputTotalForce is supported instead.\n" - "The two are NOT identical: see http://colvars.github.io/totalforce.html.\n", INPUT_ERROR); + "The two are NOT identical: see https://colvars.github.io/totalforce.html.\n", INPUT_ERROR); return INPUT_ERROR; } } @@ -664,7 +727,7 @@ int colvar::init_output_flags(std::string const &conf) // read the configuration and set up corresponding instances, for // each type of component implemented template int colvar::init_components_type(std::string const &conf, - char const *def_desc, + char const * /* def_desc */, char const *def_config_key) { size_t def_count = 0; @@ -744,6 +807,7 @@ template int colvar::init_components_type(std::string c int colvar::init_components(std::string const &conf) { int error_code = COLVARS_OK; + size_t i = 0, j = 0; error_code |= init_components_type(conf, "distance", "distance"); error_code |= init_components_type(conf, "distance vector", "distanceVec"); @@ -793,9 +857,11 @@ int colvar::init_components(std::string const &conf) error_code |= init_components_type(conf, "eigenvector", "eigenvector"); error_code |= init_components_type(conf, "geometrical path collective variables (s)", "gspath"); error_code |= init_components_type(conf, "geometrical path collective variables (z)", "gzpath"); - error_code |= init_components_type(conf, "linear combination of other collective variables", "subColvar"); + error_code |= init_components_type(conf, "linear combination of other collective variables", "linearCombination"); error_code |= init_components_type(conf, "geometrical path collective variables (s) for other CVs", "gspathCV"); error_code |= init_components_type(conf, "geometrical path collective variables (z) for other CVs", "gzpathCV"); + error_code |= init_components_type(conf, "arithmetic path collective variables (s) for other CVs", "aspathCV"); + error_code |= init_components_type(conf, "arithmetic path collective variables (s) for other CVs", "azpathCV"); if (!cvcs.size() || (error_code != COLVARS_OK)) { cvm::error("Error: no valid components were provided " @@ -804,15 +870,26 @@ int colvar::init_components(std::string const &conf) return INPUT_ERROR; } - n_active_cvcs = cvcs.size(); + // Check for uniqueness of CVC names (esp. if user-provided) + for (i = 0; i < cvcs.size(); i++) { + for (j = i+1; j < cvcs.size(); j++) { + if (cvcs[i]->name == cvcs[j]->name) { + cvm::error("Components " + cvm::to_str(i) + " and " + cvm::to_str(j) +\ + " cannot have the same name \"" + cvcs[i]->name+ "\".\n", INPUT_ERROR); + return INPUT_ERROR; + } + } + } - cvm::log("All components initialized.\n"); + n_active_cvcs = cvcs.size(); // Store list of children cvcs for dependency checking purposes - for (size_t i = 0; i < cvcs.size(); i++) { + for (i = 0; i < cvcs.size(); i++) { add_child(cvcs[i]); } + cvm::log("All components initialized.\n"); + return COLVARS_OK; } @@ -921,7 +998,7 @@ int colvar::parse_analysis(std::string const &conf) return cvm::error("Error: collective variable \""+acf_colvar_name+ "\" is not defined at this time.\n", INPUT_ERROR); } - cv2->enable(f_cv_fdiff_velocity); + cv2->enable(f_cv_fdiff_velocity); // Manual dependency to object of same type } else if (acf_type_str == to_lower_cppstr(std::string("coordinate_p2"))) { acf_type = acf_p2coor; } else { @@ -998,6 +1075,8 @@ int colvar::init_dependencies() { init_feature(f_cv_Langevin, "Langevin dynamics", f_type_user); require_feature_self(f_cv_Langevin, f_cv_extended_Lagrangian); + init_feature(f_cv_single_cvc, "single component", f_type_static); + init_feature(f_cv_linear, "linear", f_type_static); init_feature(f_cv_scalar, "scalar", f_type_static); @@ -1023,6 +1102,12 @@ int colvar::init_dependencies() { init_feature(f_cv_upper_boundary, "upper boundary", f_type_user); require_feature_self(f_cv_upper_boundary, f_cv_scalar); + init_feature(f_cv_hard_lower_boundary, "hard lower boundary", f_type_user); + require_feature_self(f_cv_hard_lower_boundary, f_cv_lower_boundary); + + init_feature(f_cv_hard_upper_boundary, "hard upper boundary", f_type_user); + require_feature_self(f_cv_hard_upper_boundary, f_cv_upper_boundary); + init_feature(f_cv_grid, "grid", f_type_dynamic); require_feature_self(f_cv_grid, f_cv_lower_boundary); require_feature_self(f_cv_grid, f_cv_upper_boundary); @@ -1227,7 +1312,7 @@ int colvar::collect_cvc_data() } -int colvar::check_cvc_range(int first_cvc, size_t num_cvcs) +int colvar::check_cvc_range(int first_cvc, size_t /* num_cvcs */) { if ((first_cvc < 0) || (first_cvc >= ((int) cvcs.size()))) { cvm::error("Error: trying to address a component outside the " @@ -1512,7 +1597,7 @@ int colvar::calc_colvar_properties() // initialize the restraint center in the first step to the value // just calculated from the cvcs - if (cvm::step_relative() == 0 && !after_restart) { + if ((cvm::step_relative() == 0 && !after_restart) || x_ext.type() == colvarvalue::type_notset) { x_ext = x; v_ext.reset(); // (already 0; added for clarity) } @@ -1859,6 +1944,59 @@ int colvar::update_cvc_config(std::vector const &confs) } +int colvar::cvc_param_exists(std::string const ¶m_name) +{ + if (is_enabled(f_cv_single_cvc)) { + return cvcs[0]->param_exists(param_name); + } + return cvm::error("Error: calling colvar::cvc_param_exists() for a variable " + "with more than one component.\n", COLVARS_NOT_IMPLEMENTED); +} + + +cvm::real colvar::get_cvc_param(std::string const ¶m_name) +{ + if (is_enabled(f_cv_single_cvc)) { + return cvcs[0]->get_param(param_name); + } + cvm::error("Error: calling colvar::get_cvc_param() for a variable " + "with more than one component.\n", COLVARS_NOT_IMPLEMENTED); + return 0.0; +} + + +void const *colvar::get_cvc_param_ptr(std::string const ¶m_name) +{ + if (is_enabled(f_cv_single_cvc)) { + return cvcs[0]->get_param_ptr(param_name); + } + cvm::error("Error: calling colvar::get_cvc_param() for a variable " + "with more than one component.\n", COLVARS_NOT_IMPLEMENTED); + return NULL; +} + + +colvarvalue const *colvar::get_cvc_param_grad(std::string const ¶m_name) +{ + if (is_enabled(f_cv_single_cvc)) { + return cvcs[0]->get_param_grad(param_name); + } + cvm::error("Error: calling colvar::get_cvc_param_grad() for a variable " + "with more than one component.\n", COLVARS_NOT_IMPLEMENTED); + return NULL; +} + + +int colvar::set_cvc_param(std::string const ¶m_name, void const *new_value) +{ + if (is_enabled(f_cv_single_cvc)) { + return cvcs[0]->set_param(param_name, new_value); + } + return cvm::error("Error: calling colvar::set_cvc_param() for a variable " + "with more than one component.\n", COLVARS_NOT_IMPLEMENTED); +} + + // ******************** METRIC FUNCTIONS ******************** // Use the metrics defined by \link colvar::cvc \endlink objects @@ -1942,12 +2080,12 @@ void colvar::wrap(colvarvalue &x_unwrapped) const // ******************** INPUT FUNCTIONS ******************** -std::istream & colvar::read_restart(std::istream &is) +std::istream & colvar::read_state(std::istream &is) { size_t const start_pos = is.tellg(); std::string conf; - if ( !(is >> colvarparse::read_block("colvar", conf)) ) { + if ( !(is >> colvarparse::read_block("colvar", &conf)) ) { // this is not a colvar block is.clear(); is.seekg(start_pos, std::ios::beg); @@ -1957,15 +2095,24 @@ std::istream & colvar::read_restart(std::istream &is) { std::string check_name = ""; - if ( (get_keyval(conf, "name", check_name, - std::string(""), colvarparse::parse_silent)) && - (check_name != name) ) { - cvm::error("Error: the state file does not match the " - "configuration file, at colvar \""+name+"\".\n"); - } + get_keyval(conf, "name", check_name, + std::string(""), colvarparse::parse_silent); if (check_name.size() == 0) { cvm::error("Error: Collective variable in the " - "restart file without any identifier.\n"); + "restart file without any identifier.\n", INPUT_ERROR); + is.clear(); + is.seekg(start_pos, std::ios::beg); + is.setstate(std::ios::failbit); + return is; + } + + if (check_name != name) { + if (cvm::debug()) { + cvm::log("Ignoring state of colvar \""+check_name+ + "\": this colvar is named \""+name+"\".\n"); + } + is.seekg(start_pos, std::ios::beg); + return is; } } @@ -2064,7 +2211,7 @@ std::istream & colvar::read_traj(std::istream &is) // ******************** OUTPUT FUNCTIONS ******************** -std::ostream & colvar::write_restart(std::ostream &os) { +std::ostream & colvar::write_state(std::ostream &os) { os << "colvar {\n" << " name " << name << "\n" diff --git a/lib/colvars/colvar.h b/lib/colvars/colvar.h index e2ab0f3c1d00880a1825555811c40af92686e369..e6fafbdec3ac478ff6ea6752db54222af0d1c736 100644 --- a/lib/colvars/colvar.h +++ b/lib/colvars/colvar.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -217,11 +217,11 @@ public: /// should equal the system force plus \link f \endlink colvarvalue ft; - /// Period, if this variable is periodic cvm::real period; - cvm::real wrap_center; + /// Center of wrapping, if this variable is periodic + cvm::real wrap_center; /// \brief Expand the boundaries of multiples of width, to keep the /// value always within range @@ -229,21 +229,9 @@ public: /// \brief Location of the lower boundary colvarvalue lower_boundary; - /// \brief Location of the lower wall - colvarvalue lower_wall; - /// \brief Force constant for the lower boundary potential (|x-xb|^2) - cvm::real lower_wall_k; - /// \brief Whether this colvar has a hard lower boundary - bool hard_lower_boundary; /// \brief Location of the upper boundary colvarvalue upper_boundary; - /// \brief Location of the upper wall - colvarvalue upper_wall; - /// \brief Force constant for the upper boundary potential (|x-xb|^2) - cvm::real upper_wall_k; - /// \brief Whether this colvar has a hard upper boundary - bool hard_upper_boundary; /// \brief Is the interval defined by the two boundaries periodic? bool periodic_boundaries() const; @@ -356,7 +344,7 @@ public: /// colvar::update()) to the external degrees of freedom void communicate_forces(); - /// \brief Enables and disables individual CVCs based on flags + /// \brief Enables and disables individual CVCs based on the given array int set_cvc_flags(std::vector const &flags); /// \brief Updates the flags in the CVC objects, and their number @@ -365,7 +353,23 @@ public: /// \brief Modify the configuration of CVCs (currently, only base class data) int update_cvc_config(std::vector const &confs); + /// Whether this named parameter exists (in the first and only component) + int cvc_param_exists(std::string const ¶m_name); + + /// Get the value of the named parameter (from the first and only component) + cvm::real get_cvc_param(std::string const ¶m_name); + + /// Get a pointer to the named parameter (from the first and only component) + void const *get_cvc_param_ptr(std::string const ¶m_name); + + /// Pointer to the derivative of the variable with respect to param_name + colvarvalue const *get_cvc_param_grad(std::string const ¶m_name); + + /// Set the named parameter in the first and only component to the given value + int set_cvc_param(std::string const ¶m_name, void const *new_value); + protected: + /// \brief Number of CVC objects with an active flag size_t n_active_cvcs; @@ -380,11 +384,24 @@ protected: public: - /// \brief Return the number of CVC objects defined - inline size_t num_cvcs() const { return cvcs.size(); } + /// \brief Number of dimensions of the value of this colvar + inline size_t num_dimensions() const + { + return value().size(); + } - /// \brief Return the number of CVC objects with an active flag (as set by update_cvc_flags) - inline size_t num_active_cvcs() const { return n_active_cvcs; } + /// \brief Number of CVC objects defined + inline size_t num_cvcs() const + { + return cvcs.size(); + } + + /// \brief number of CVC objects with an active flag (as set by + /// update_cvc_flags) + inline size_t num_active_cvcs() const + { + return n_active_cvcs; + } /// \brief Use the internal metrics (as from \link colvar::cvc /// \endlink objects) to calculate square distances and gradients @@ -413,32 +430,30 @@ public: /// Handles correctly symmetries and periodic boundary conditions void wrap(colvarvalue &x_unwrapped) const; - /// Read the analysis tasks int parse_analysis(std::string const &conf); /// Perform analysis tasks int analyze(); - /// Read the value from a collective variable trajectory file std::istream & read_traj(std::istream &is); + /// Output formatted values to the trajectory file std::ostream & write_traj(std::ostream &os); /// Write a label to the trajectory file (comment line) std::ostream & write_traj_label(std::ostream &os); - /// Read the collective variable from a restart file - std::istream & read_restart(std::istream &is); + std::istream & read_state(std::istream &is); /// Write the collective variable to a restart file - std::ostream & write_restart(std::ostream &os); + std::ostream & write_state(std::ostream &os); /// Write output files (if defined, e.g. in analysis mode) int write_output_files(); - protected: + /// Previous value (to calculate velocities during analysis) colvarvalue x_old; @@ -530,11 +545,12 @@ protected: /// Calculate the running average and its standard deviation int calc_runave(); - /// If extended Lagrangian active: colvar energies (kinetic and harmonic potential) + /// If extended Lagrangian active: colvar kinetic energy cvm::real kinetic_energy; + /// If extended Lagrangian active: colvar harmonic potential cvm::real potential_energy; -public: +public: // collective variable component base class class cvc; @@ -577,6 +593,8 @@ public: class CVBasedPath; class gspathCV; class gzpathCV; + class aspathCV; + class azpathCV; // non-scalar components class distance_vec; @@ -596,7 +614,6 @@ protected: /// in all cvcs (called when enabling f_cv_collect_gradients) void build_atom_list(void); -private: /// Name of scripted function to be used std::string scripted_function; @@ -620,6 +637,7 @@ private: #endif public: + /// \brief Sorted array of (zero-based) IDs for all atoms involved std::vector atom_ids; @@ -628,34 +646,35 @@ public: /// For scalar variables only! std::vector atomic_gradients; - inline size_t n_components() const { - return cvcs.size(); - } - /// \brief Get vector of vectors of atom IDs for all atom groups virtual std::vector > get_atom_lists(); }; + inline cvm::real const & colvar::force_constant() const { return ext_force_k; } + inline colvarvalue const & colvar::value() const { return x_reported; } + inline colvarvalue const & colvar::actual_value() const { return x; } + inline colvarvalue const & colvar::run_ave() const { return runave; } + inline colvarvalue const & colvar::velocity() const { return v_reported; diff --git a/lib/colvars/colvar_UIestimator.h b/lib/colvars/colvar_UIestimator.h index 365f46148a671ae964e2b33604240b030b7dc455..cb4c7ed57df3936bda4575dc9002432b27564c49 100644 --- a/lib/colvars/colvar_UIestimator.h +++ b/lib/colvars/colvar_UIestimator.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. diff --git a/lib/colvars/colvar_arithmeticpath.h b/lib/colvars/colvar_arithmeticpath.h new file mode 100644 index 0000000000000000000000000000000000000000..97d42a1bbca151fe2a6d784bca26aa0d9daeac83 --- /dev/null +++ b/lib/colvars/colvar_arithmeticpath.h @@ -0,0 +1,129 @@ +#ifndef ARITHMETICPATHCV_H +#define ARITHMETICPATHCV_H + +#include "colvarmodule.h" + +#include +#include +#include +#include + +namespace ArithmeticPathCV { + +using std::vector; + +enum path_sz {S, Z}; + +template +class ArithmeticPathBase { +public: + ArithmeticPathBase() {} + virtual ~ArithmeticPathBase() {} + virtual void initialize(size_t p_num_elements, size_t p_total_frames, double p_lambda, const vector& p_element, const vector& p_weights); + virtual void updateDistanceToReferenceFrames() = 0; + virtual void computeValue(); + virtual void computeDerivatives(); + virtual void compute(); +protected: + scalar_type lambda; + vector weights; + size_t num_elements; + size_t total_frames; + vector< vector > frame_element_distances; + scalar_type s; + scalar_type z; + vector dsdx; + vector dzdx; +private: + // intermediate variables + vector s_numerator_frame; + vector s_denominator_frame; + scalar_type numerator_s; + scalar_type denominator_s; + scalar_type normalization_factor; +}; + +template +void ArithmeticPathBase::initialize(size_t p_num_elements, size_t p_total_frames, double p_lambda, const vector& p_element, const vector& p_weights) { + lambda = p_lambda; + weights = p_weights; + num_elements = p_num_elements; + total_frames = p_total_frames; + frame_element_distances.resize(total_frames, p_element); + for (size_t i_frame = 0; i_frame < frame_element_distances.size(); ++i_frame) { + for (size_t j_elem = 0; j_elem < num_elements; ++j_elem) { + frame_element_distances[i_frame][j_elem].reset(); + } + } + s = scalar_type(0); + z = scalar_type(0); + dsdx = p_element; + dzdx = p_element; + s_numerator_frame.resize(total_frames, scalar_type(0)); + s_denominator_frame.resize(total_frames, scalar_type(0)); + numerator_s = scalar_type(0); + denominator_s = scalar_type(0); + normalization_factor = 1.0 / static_cast(total_frames - 1); +} + +template +void ArithmeticPathBase::computeValue() { + updateDistanceToReferenceFrames(); + numerator_s = scalar_type(0); + denominator_s = scalar_type(0); + for (size_t i_frame = 0; i_frame < frame_element_distances.size(); ++i_frame) { + scalar_type exponent_tmp = scalar_type(0); + for (size_t j_elem = 0; j_elem < num_elements; ++j_elem) { + exponent_tmp += weights[j_elem] * frame_element_distances[i_frame][j_elem] * weights[j_elem] * frame_element_distances[i_frame][j_elem]; + } + exponent_tmp = exponent_tmp * -1.0 * lambda; + // prevent underflow if the argument of cvm::exp is less than -708.4 + if (exponent_tmp > -708.4) { + exponent_tmp = cvm::exp(exponent_tmp); + } else { + exponent_tmp = 0; + } + numerator_s += static_cast(i_frame) * exponent_tmp; + denominator_s += exponent_tmp; + s_numerator_frame[i_frame] = static_cast(i_frame) * exponent_tmp; + s_denominator_frame[i_frame] = exponent_tmp; + } + s = numerator_s / denominator_s * normalization_factor; + z = -1.0 / lambda * cvm::logn(denominator_s); +} + +template +void ArithmeticPathBase::compute() { + computeValue(); + computeDerivatives(); +} + +template +void ArithmeticPathBase::computeDerivatives() { + for (size_t j_elem = 0; j_elem < num_elements; ++j_elem) { + element_type dsdxj_numerator_part1(dsdx[j_elem]); + element_type dsdxj_numerator_part2(dsdx[j_elem]); + element_type dzdxj_numerator(dsdx[j_elem]); + dsdxj_numerator_part1.reset(); + dsdxj_numerator_part2.reset(); + dzdxj_numerator.reset(); + for (size_t i_frame = 0; i_frame < frame_element_distances.size(); ++i_frame) { + element_type derivative_tmp = -2.0 * lambda * weights[j_elem] * weights[j_elem] * frame_element_distances[i_frame][j_elem]; + dsdxj_numerator_part1 += s_numerator_frame[i_frame] * derivative_tmp; + dsdxj_numerator_part2 += s_denominator_frame[i_frame] * derivative_tmp; + dzdxj_numerator += s_denominator_frame[i_frame] * derivative_tmp; + } + dsdxj_numerator_part1 *= denominator_s; + dsdxj_numerator_part2 *= numerator_s; + if ((dsdxj_numerator_part1 - dsdxj_numerator_part2).norm() < std::numeric_limits::min()) { + dsdx[j_elem] = 0; + } else { + dsdx[j_elem] = (dsdxj_numerator_part1 - dsdxj_numerator_part2) / (denominator_s * denominator_s) * normalization_factor; + } + dzdx[j_elem] = -1.0 / lambda * dzdxj_numerator / denominator_s; + } +} + +} + +#endif // ARITHMETICPATHCV_H diff --git a/lib/colvars/colvar_geometricpath.h b/lib/colvars/colvar_geometricpath.h index a7ef7f337c8457e4e27d0b1746ff595e8f84a9e7..7f8acfd23381343ca60988128cbea0942681eca5 100644 --- a/lib/colvars/colvar_geometricpath.h +++ b/lib/colvars/colvar_geometricpath.h @@ -2,12 +2,14 @@ #define GEOMETRICPATHCV_H // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. +#include "colvarmodule.h" + #include #include #include @@ -67,8 +69,8 @@ public: virtual ~GeometricPathBase() {} virtual void initialize(size_t vector_size, const element_type& element = element_type(), size_t total_frames = 1, bool p_use_second_closest_frame = true, bool p_use_third_closest_frame = false, bool p_use_z_square = false); virtual void initialize(size_t vector_size, const std::vector& elements, size_t total_frames = 1, bool p_use_second_closest_frame = true, bool p_use_third_closest_frame = false, bool p_use_z_square = false); - virtual void prepareVectors(); - virtual void updateReferenceDistances(); + virtual void prepareVectors() = 0; + virtual void updateDistanceToReferenceFrames() = 0; virtual void compute(); virtual void determineClosestFrames(); virtual void computeValue(); @@ -119,7 +121,7 @@ void GeometricPathBase::initialize(size_t } template -void GeometricPathBase::initialize(size_t vector_size, const std::vector& elements, size_t total_frames, bool p_use_second_closest_frame, bool p_use_third_closest_frame, bool p_use_z_square) { +void GeometricPathBase::initialize(size_t /* vector_size */, const std::vector& elements, size_t total_frames, bool p_use_second_closest_frame, bool p_use_third_closest_frame, bool p_use_z_square) { v1v1 = scalar_type(); v2v2 = scalar_type(); v3v3 = scalar_type(); @@ -151,18 +153,6 @@ void GeometricPathBase::initialize(size_t m = static_cast(1.0); } -template -void GeometricPathBase::prepareVectors() { - std::cout << "Warning: you should not call the prepareVectors() in base class!\n"; - std::cout << std::flush; -} - -template -void GeometricPathBase::updateReferenceDistances() { - std::cout << "Warning: you should not call the updateReferenceDistances() in base class!\n"; - std::cout << std::flush; -} - template void GeometricPathBase::compute() { computeValue(); @@ -182,7 +172,7 @@ void GeometricPathBase::determineClosestFr // sigma(z) is on the right side of the closest frame sign = -1; } - if (std::abs(static_cast(frame_index[0]) - static_cast(frame_index[1])) > 1) { + if (cvm::fabs(static_cast(frame_index[0]) - static_cast(frame_index[1])) > 1) { std::cout << "Warning: Geometrical pathCV relies on the assumption that the second closest frame is the neighbouring frame\n"; std::cout << " Please check your configuration or increase restraint on z(σ)\n"; for (size_t i_frame = 0; i_frame < frame_index.size(); ++i_frame) { @@ -197,7 +187,7 @@ void GeometricPathBase::determineClosestFr template void GeometricPathBase::computeValue() { - updateReferenceDistances(); + updateDistanceToReferenceFrames(); determineClosestFrames(); prepareVectors(); v1v1 = scalar_type(); @@ -218,14 +208,14 @@ void GeometricPathBase::computeValue() { v4v4 += v4[i_elem] * v4[i_elem]; } } - f = (std::sqrt(v1v3 * v1v3 - v3v3 * (v1v1 - v2v2)) - v1v3) / v3v3; + f = (cvm::sqrt(v1v3 * v1v3 - v3v3 * (v1v1 - v2v2)) - v1v3) / v3v3; if (path_type == Z) { dx = 0.5 * (f - 1); zz = v1v1 + 2 * dx * v1v4 + dx * dx * v4v4; if (use_z_square) { z = zz; } else { - z = std::sqrt(std::fabs(zz)); + z = cvm::sqrt(cvm::fabs(zz)); } } if (path_type == S) { @@ -235,7 +225,7 @@ void GeometricPathBase::computeValue() { template void GeometricPathBase::computeDerivatives() { - const scalar_type factor1 = 1.0 / (2.0 * v3v3 * std::sqrt(v1v3 * v1v3 - v3v3 * (v1v1 - v2v2))); + const scalar_type factor1 = 1.0 / (2.0 * v3v3 * cvm::sqrt(v1v3 * v1v3 - v3v3 * (v1v1 - v2v2))); const scalar_type factor2 = 1.0 / v3v3; for (size_t i_elem = 0; i_elem < v1.size(); ++i_elem) { // Compute the derivative of f with vector v1 diff --git a/lib/colvars/colvaratoms.cpp b/lib/colvars/colvaratoms.cpp index af17d8df66d189e787dd5f5b2fdf5da1dc43783d..180fc69a8510d8a4fb59728baa56f87c10981c50 100644 --- a/lib/colvars/colvaratoms.cpp +++ b/lib/colvars/colvaratoms.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -628,39 +628,42 @@ int cvm::atom_group::add_atom_numbers(std::string const &numbers_conf) int cvm::atom_group::add_index_group(std::string const &index_group_name) { - colvarmodule *cv = cvm::main(); - - std::list::iterator names_i = cv->index_group_names.begin(); - std::list >::iterator index_groups_i = cv->index_groups.begin(); - for ( ; names_i != cv->index_group_names.end() ; ++names_i, ++index_groups_i) { - if (*names_i == index_group_name) + std::vector const &index_group_names = + cvm::main()->index_group_names; + std::vector *> const &index_groups = + cvm::main()->index_groups; + + size_t i_group = 0; + for ( ; i_group < index_groups.size(); i_group++) { + if (index_group_names[i_group] == index_group_name) break; } - if (names_i == cv->index_group_names.end()) { - cvm::error("Error: could not find index group "+ - index_group_name+" among those provided by the index file.\n", - INPUT_ERROR); - return COLVARS_ERROR; + if (i_group >= index_group_names.size()) { + return cvm::error("Error: could not find index group "+ + index_group_name+" among those already provided.\n", + INPUT_ERROR); } - atoms_ids.reserve(atoms_ids.size()+index_groups_i->size()); + int error_code = COLVARS_OK; + + std::vector const &index_group = *(index_groups[i_group]); + + atoms_ids.reserve(atoms_ids.size()+index_group.size()); if (is_enabled(f_ag_scalable)) { - for (size_t i = 0; i < index_groups_i->size(); i++) { - add_atom_id((cvm::proxy)->check_atom_id((*index_groups_i)[i])); + for (size_t i = 0; i < index_group.size(); i++) { + error_code |= + add_atom_id((cvm::proxy)->check_atom_id(index_group[i])); } } else { - atoms.reserve(atoms.size()+index_groups_i->size()); - for (size_t i = 0; i < index_groups_i->size(); i++) { - add_atom(cvm::atom((*index_groups_i)[i])); + atoms.reserve(atoms.size()+index_group.size()); + for (size_t i = 0; i < index_group.size(); i++) { + error_code |= add_atom(cvm::atom(index_group[i])); } } - if (cvm::get_error()) - return COLVARS_ERROR; - - return COLVARS_OK; + return error_code; } diff --git a/lib/colvars/colvaratoms.h b/lib/colvars/colvaratoms.h index c8b6ac45410c9e6206b55ad84d5557a91a636a6e..af6a529f8ad691c4e10c7239358e7b7c839d2ea6 100644 --- a/lib/colvars/colvaratoms.h +++ b/lib/colvars/colvaratoms.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. diff --git a/lib/colvars/colvarbias.cpp b/lib/colvars/colvarbias.cpp index 724326d3b4029c5bc570e0d2df1de9485bf52e7c..09bcca01b5e4eb4bf24d74608626e4b6a4574bda 100644 --- a/lib/colvars/colvarbias.cpp +++ b/lib/colvars/colvarbias.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -15,8 +15,10 @@ colvarbias::colvarbias(char const *key) - : bias_type(to_lower_cppstr(key)) { + bias_type = to_lower_cppstr(key); + state_keyword = bias_type; + description = "uninitialized " + cvm::to_str(key) + " bias"; init_dependencies(); rank = 1; @@ -25,6 +27,7 @@ colvarbias::colvarbias(char const *key) b_output_energy = false; reset(); state_file_step = 0L; + matching_state = false; } @@ -80,10 +83,21 @@ int colvarbias::init(std::string const &conf) cvm::log("Reinitializing bias \""+name+"\".\n"); } + colvar_values.resize(num_variables()); + + for (i = 0; i < num_variables(); i++) { + colvar_values[i].type(colvars[i]->value().type()); + colvar_forces[i].type(colvar_values[i].type()); + previous_colvar_forces[i].type(colvar_values[i].type()); + } + output_prefix = cvm::output_prefix(); get_keyval(conf, "outputEnergy", b_output_energy, b_output_energy); + // Disabled by default in base class; default value can be overridden by derived class constructor + get_keyval_feature(this, conf, "bypassExtendedLagrangian", f_cvb_bypass_ext_lagrangian, is_enabled(f_cvb_bypass_ext_lagrangian), parse_silent); + get_keyval(conf, "timeStepFactor", time_step_factor, 1); if (time_step_factor < 1) { cvm::error("Error: timeStepFactor must be 1 or greater.\n"); @@ -114,6 +128,11 @@ int colvarbias::init_dependencies() { init_feature(f_cvb_apply_force, "apply force", f_type_user); require_feature_children(f_cvb_apply_force, f_cv_gradient); + init_feature(f_cvb_bypass_ext_lagrangian, "bypass extended-Lagrangian coordinates", f_type_user); + // The exclusion below prevents the inconsistency where biasing forces are applied onto + // the actual colvar, while total forces are measured on the extended coordinate + exclude_feature_self(f_cvb_bypass_ext_lagrangian, f_cvb_get_total_force); + init_feature(f_cvb_get_total_force, "obtain total force", f_type_dynamic); require_feature_children(f_cvb_get_total_force, f_cv_total_force); @@ -158,6 +177,12 @@ int colvarbias::init_dependencies() { // only compute TI samples when deriving from colvarbias_ti feature_states[f_cvb_calc_ti_samples].available = false; + // The feature f_cvb_bypass_ext_lagrangian is only implemented by some derived classes + // (initially, harmonicWalls) + feature_states[f_cvb_bypass_ext_lagrangian].available = false; + // disabled by default; can be changed by derived classes that implement it + feature_states[f_cvb_bypass_ext_lagrangian].enabled = false; + return COLVARS_OK; } @@ -233,25 +258,18 @@ int colvarbias::add_colvar(std::string const &cv_name) } colvars.push_back(cv); + cv->biases.push_back(this); // add back-reference to this bias to colvar + + // Add dependency link. All biases need at least the value of each colvar + // although possibly not at all timesteps + add_child(cv); colvar_forces.push_back(colvarvalue()); colvar_forces.back().type(cv->value()); // make sure each force is initialized to zero colvar_forces.back().is_derivative(); // colvar constraints are not applied to the force colvar_forces.back().reset(); - previous_colvar_forces.push_back(colvar_forces.back()); - cv->biases.push_back(this); // add back-reference to this bias to colvar - - if (is_enabled(f_cvb_apply_force)) { - cv->enable(f_cv_gradient); - } - - // Add dependency link. - // All biases need at least the value of each colvar - // although possibly not at all timesteps - add_child(cv); - } else { cvm::error("Error: cannot find a colvar named \""+ cv_name+"\".\n", INPUT_ERROR); @@ -268,13 +286,34 @@ int colvarbias::update() cvm::log("Updating the "+bias_type+" bias \""+this->name+"\".\n"); } + int error_code = COLVARS_OK; + has_data = true; + // Update the cached colvar values + for (size_t i = 0; i < num_variables(); i++) { + colvar_values[i] = colvars[i]->value(); + } + + error_code |= calc_energy(NULL); + error_code |= calc_forces(NULL); + + return error_code; +} + + +int colvarbias::calc_energy(std::vector const *) +{ bias_energy = 0.0; + return COLVARS_OK; +} + + +int colvarbias::calc_forces(std::vector const *) +{ for (size_t ir = 0; ir < num_variables(); ir++) { colvar_forces[ir].reset(); } - return COLVARS_OK; } @@ -295,9 +334,11 @@ void colvarbias::communicate_forces() // may send forces to the same colvar // which is why rescaling has to happen now: the colvar is not // aware of this bias' time_step_factor - variables(i)->add_bias_force(cvm::real(time_step_factor) * colvar_forces[i]); - } - for (i = 0; i < num_variables(); i++) { + if (is_enabled(f_cvb_bypass_ext_lagrangian)) { + variables(i)->add_bias_force_actual_value(cvm::real(time_step_factor) * colvar_forces[i]); + } else { + variables(i)->add_bias_force(cvm::real(time_step_factor) * colvar_forces[i]); + } previous_colvar_forces[i] = colvar_forces[i]; } } @@ -309,7 +350,7 @@ int colvarbias::end_of_step() } -int colvarbias::change_configuration(std::string const &conf) +int colvarbias::change_configuration(std::string const & /* conf */) { cvm::error("Error: change_configuration() not implemented.\n", COLVARS_NOT_IMPLEMENTED); @@ -317,7 +358,7 @@ int colvarbias::change_configuration(std::string const &conf) } -cvm::real colvarbias::energy_difference(std::string const &conf) +cvm::real colvarbias::energy_difference(std::string const & /* conf */) { cvm::error("Error: energy_difference() not implemented.\n", COLVARS_NOT_IMPLEMENTED); @@ -336,7 +377,7 @@ int colvarbias::current_bin() cvm::error("Error: current_bin() not implemented.\n"); return COLVARS_NOT_IMPLEMENTED; } -int colvarbias::bin_count(int bin_index) +int colvarbias::bin_count(int /* bin_index */) { cvm::error("Error: bin_count() not implemented.\n"); return COLVARS_NOT_IMPLEMENTED; @@ -359,20 +400,27 @@ std::string const colvarbias::get_state_params() const int colvarbias::set_state_params(std::string const &conf) { - std::string new_name = ""; - if (colvarparse::get_keyval(conf, "name", new_name, - std::string(""), colvarparse::parse_silent) && - (new_name != this->name)) { - cvm::error("Error: in the state file, the " - "\""+bias_type+"\" block has a different name, \""+new_name+ - "\": different system?\n", INPUT_ERROR); - } + matching_state = false; - if (name.size() == 0) { + std::string check_name = ""; + colvarparse::get_keyval(conf, "name", check_name, + std::string(""), colvarparse::parse_silent); + + if (check_name.size() == 0) { cvm::error("Error: \""+bias_type+"\" block within the restart file " "has no identifiers.\n", INPUT_ERROR); } + if (check_name != this->name) { + if (cvm::debug()) { + cvm::log("Ignoring state of bias \""+check_name+ + "\": this bias is named \""+name+"\".\n"); + } + return COLVARS_OK; + } + + matching_state = true; + colvarparse::get_keyval(conf, "step", state_file_step, cvm::step_absolute(), colvarparse::parse_silent); @@ -387,7 +435,7 @@ std::ostream & colvarbias::write_state(std::ostream &os) } os.setf(std::ios::scientific, std::ios::floatfield); os.precision(cvm::cv_prec); - os << bias_type << " {\n" + os << state_keyword << " {\n" << " configuration {\n"; std::istringstream is(get_state_params()); std::string line; @@ -406,11 +454,12 @@ std::istream & colvarbias::read_state(std::istream &is) size_t const start_pos = is.tellg(); std::string key, brace, conf; - if ( !(is >> key) || !(key == bias_type) || + if ( !(is >> key) || !(key == state_keyword || key == bias_type) || !(is >> brace) || !(brace == "{") || - !(is >> colvarparse::read_block("configuration", conf)) || + !(is >> colvarparse::read_block("configuration", &conf)) || (set_state_params(conf) != COLVARS_OK) ) { - cvm::error("Error: in reading state configuration for \""+bias_type+"\" bias \""+ + cvm::error("Error: in reading state configuration for \""+bias_type+ + "\" bias \""+ this->name+"\" at position "+ cvm::to_str(static_cast(is.tellg()))+ " in stream.\n", INPUT_ERROR); @@ -420,6 +469,15 @@ std::istream & colvarbias::read_state(std::istream &is) return is; } + if (matching_state == false) { + // This state is not for this bias + is.seekg(start_pos, std::ios::beg); + return is; + } + + cvm::log("Restarting "+bias_type+" bias \""+name+"\" from step number "+ + cvm::to_str(state_file_step)+".\n"); + if (!read_state_data(is)) { cvm::error("Error: in reading state data for \""+bias_type+"\" bias \""+ this->name+"\" at position "+ @@ -646,7 +704,7 @@ std::string const colvarbias_ti::get_state_params() const } -int colvarbias_ti::set_state_params(std::string const &state_conf) +int colvarbias_ti::set_state_params(std::string const & /* state_conf */) { return COLVARS_OK; } diff --git a/lib/colvars/colvarbias.h b/lib/colvars/colvarbias.h index eac88a7f182caf2226f4088f4c6ffd12628edce1..5179c42853d03efba2684e9e883208d68e246598 100644 --- a/lib/colvars/colvarbias.h +++ b/lib/colvars/colvarbias.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -23,9 +23,12 @@ public: /// Name of this bias std::string name; - /// Type of this bias + /// Keyword indicating the type of this bias std::string bias_type; + /// Keyword used in state files (== bias_type most of the time) + std::string state_keyword; + /// If there is more than one bias of this type, record its rank int rank; @@ -51,20 +54,21 @@ public: } /// Retrieve colvar values and calculate their biasing forces - /// Return bias energy + /// Some implementations may use calc_energy() and calc_forces() virtual int update(); - /// \brief Compute the energy of the bias with alternative values of the - /// collective variables (suitable for bias exchange) - virtual int calc_energy(std::vector const &values = - std::vector(0)) - { - cvm::error("Error: calc_energy() not implemented.\n", COLVARS_NOT_IMPLEMENTED); - return COLVARS_NOT_IMPLEMENTED; - } + /// Compute the energy of the bias + /// Uses the vector of colvar values provided if not NULL, and the values + /// currently cached in the bias instance otherwise + virtual int calc_energy(std::vector const *values); + + /// Compute the forces due to the bias + /// Uses the vector of colvar values provided if not NULL, and the values + /// currently cached in the bias instance otherwise + virtual int calc_forces(std::vector const *values); /// Send forces to the collective variables - virtual void communicate_forces(); + void communicate_forces(); /// Carry out operations needed before next step is run virtual int end_of_step(); @@ -143,10 +147,10 @@ public: std::istream & read_state_data_key(std::istream &is, char const *key); /// Write the bias configuration to a restart file or other stream - virtual std::ostream & write_state(std::ostream &os); + std::ostream & write_state(std::ostream &os); /// Read the bias configuration from a restart file or other stream - virtual std::istream & read_state(std::istream &is); + std::istream & read_state(std::istream &is); /// Write a label to the trajectory file (comment line) virtual std::ostream & write_traj_label(std::ostream &os); @@ -206,6 +210,9 @@ protected: /// through each colvar object std::vector colvars; + /// \brief Up to date value of each colvar + std::vector colvar_values; + /// \brief Current forces from this bias to the variables std::vector colvar_forces; @@ -225,6 +232,9 @@ protected: /// \brief Step number read from the last state file cvm::step_number state_file_step; + /// Flag used to tell if the state string being read is for this bias + bool matching_state; + }; diff --git a/lib/colvars/colvarbias_abf.cpp b/lib/colvars/colvarbias_abf.cpp index bac021be99e83fa7cbed567f9a2f9afd5cec02d5..5382a828f753a7f6adadd8f4177d2406956c7a4e 100644 --- a/lib/colvars/colvarbias_abf.cpp +++ b/lib/colvars/colvarbias_abf.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -35,6 +35,8 @@ int colvarbias_abf::init(std::string const &conf) { colvarbias::init(conf); + colvarproxy *proxy = cvm::main()->proxy; + enable(f_cvb_scalar_variables); enable(f_cvb_calc_pmf); @@ -76,11 +78,13 @@ int colvarbias_abf::init(std::string const &conf) // shared ABF get_keyval(conf, "shared", shared_on, false); if (shared_on) { - if (!cvm::replica_enabled() || cvm::replica_num() <= 1) { - cvm::error("Error: shared ABF requires more than one replica."); - return COLVARS_ERROR; + if ((proxy->replica_enabled() != COLVARS_OK) || + (proxy->num_replicas() <= 1)) { + return cvm::error("Error: shared ABF requires more than one replica.", + INPUT_ERROR); } - cvm::log("shared ABF will be applied among "+ cvm::to_str(cvm::replica_num()) + " replicas.\n"); + cvm::log("shared ABF will be applied among "+ + cvm::to_str(proxy->num_replicas()) + " replicas.\n"); if (cvm::proxy->smp_enabled() == COLVARS_OK) { cvm::error("Error: shared ABF is currently not available with SMP parallelism; " "please set \"SMP off\" at the top of the Colvars configuration file.\n", @@ -111,7 +115,7 @@ int colvarbias_abf::init(std::string const &conf) if (colvars[i]->value().type() != colvarvalue::type_scalar) { cvm::error("Error: ABF bias can only use scalar-type variables.\n"); } - colvars[i]->enable(f_cv_grid); + colvars[i]->enable(f_cv_grid); // Could be a child dependency of a f_cvb_use_grids feature if (hide_Jacobian) { colvars[i]->enable(f_cv_hide_Jacobian); } @@ -483,13 +487,18 @@ int colvarbias_abf::update() eabf_UI.update(cvm::step_absolute(), x, y); } + /// Add the bias energy for 1D ABF + bias_energy = calc_energy(NULL); + return COLVARS_OK; } int colvarbias_abf::replica_share() { - if ( !cvm::replica_enabled() ) { + colvarproxy *proxy = cvm::main()->proxy; + + if (proxy->replica_enabled() != COLVARS_OK) { cvm::error("Error: shared ABF: No replicas.\n"); return COLVARS_ERROR; } @@ -508,12 +517,12 @@ int colvarbias_abf::replica_share() { size_t msg_total = data_n*sizeof(size_t) + samp_start; char* msg_data = new char[msg_total]; - if (cvm::replica_index() == 0) { + if (proxy->replica_index() == 0) { int p; // Replica 0 collects the delta gradient and count from the others. - for (p = 1; p < cvm::replica_num(); p++) { + for (p = 1; p < proxy->num_replicas(); p++) { // Receive the deltas. - cvm::replica_comm_recv(msg_data, msg_total, p); + proxy->replica_comm_recv(msg_data, msg_total, p); // Map the deltas from the others into the grids. last_gradients->raw_data_in((cvm::real*)(&msg_data[0])); @@ -528,8 +537,8 @@ int colvarbias_abf::replica_share() { // Now we must send the combined gradient to the other replicas. gradients->raw_data_out((cvm::real*)(&msg_data[0])); samples->raw_data_out((size_t*)(&msg_data[samp_start])); - for (p = 1; p < cvm::replica_num(); p++) { - cvm::replica_comm_send(msg_data, msg_total, p); + for (p = 1; p < proxy->num_replicas(); p++) { + proxy->replica_comm_send(msg_data, msg_total, p); } } else { @@ -541,10 +550,10 @@ int colvarbias_abf::replica_share() { // Cast the raw char data to the gradient and samples. last_gradients->raw_data_out((cvm::real*)(&msg_data[0])); last_samples->raw_data_out((size_t*)(&msg_data[samp_start])); - cvm::replica_comm_send(msg_data, msg_total, 0); + proxy->replica_comm_send(msg_data, msg_total, 0); // We now receive the combined gradient from Replica 0. - cvm::replica_comm_recv(msg_data, msg_total, 0); + proxy->replica_comm_recv(msg_data, msg_total, 0); // We sync to the combined gradient computed by Replica 0. gradients->raw_data_in((cvm::real*)(&msg_data[0])); samples->raw_data_in((size_t*)(&msg_data[samp_start])); @@ -552,7 +561,7 @@ int colvarbias_abf::replica_share() { // Without a barrier it's possible that one replica starts // share 2 when other replicas haven't finished share 1. - cvm::replica_comm_barrier(); + proxy->replica_comm_barrier(); // Done syncing the replicas. delete[] msg_data; @@ -832,3 +841,50 @@ int colvarbias_abf::write_output_files() write_gradients_samples(output_prefix); return COLVARS_OK; } + +int colvarbias_abf::calc_energy(std::vector const *values) +{ + if (values) { + return cvm::error("colvarbias_abf::calc_energy() with an argument " + "is currently not implemented.\n", + COLVARS_NOT_IMPLEMENTED); + } + + if (num_variables() != 1) return 0.0; + + // Get the home bin. + int home0 = gradients->current_bin_scalar(0); + if (home0 < 0) return 0.0; + int gradient_len = (int)(gradients->number_of_points(0)); + int home = (home0 < gradient_len) ? home0 : (gradient_len-1); + + // Integrate the gradient up to the home bin. + cvm::real sum = 0.0; + for (int i = 0; i < home; i++) { + std::vector ix(1,i); + + // Include the full_samples factor if necessary. + unsigned int count = samples->value(ix); + cvm::real fact = 1.0; + if ( count < full_samples ) { + fact = (count < min_samples) ? 0.0 : + (cvm::real(count - min_samples)) / (cvm::real(full_samples - min_samples)); + } + if (count > 0) sum += fact*gradients->value(ix)/count*gradients->widths[0]; + } + + // Integrate the gradient up to the current position in the home interval, a fractional portion of a bin. + std::vector ix(1,home); + cvm::real frac = gradients->current_bin_scalar_fraction(0); + unsigned int count = samples->value(ix); + cvm::real fact = 1.0; + if ( count < full_samples ) { + fact = (count < min_samples) ? 0.0 : + (cvm::real(count - min_samples)) / (cvm::real(full_samples - min_samples)); + } + if (count > 0) + sum += fact*gradients->value(ix)/count*gradients->widths[0]*frac; + + // The applied potential is the negative integral of force samples. + return -sum; +} diff --git a/lib/colvars/colvarbias_abf.h b/lib/colvars/colvarbias_abf.h index 4bcc149da5773ddac10a795bb5bcde349b6c2175..1939b61a8b66387336f7ec7d78e8d29ae30cc7da 100644 --- a/lib/colvars/colvarbias_abf.h +++ b/lib/colvars/colvarbias_abf.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -109,7 +109,7 @@ private: colvar_grid_gradient *z_gradients; /// n-dim grid of number of samples on "real" coordinate for eABF z-based estimator colvar_grid_count *z_samples; - /// n-dim grid contining CZAR estimator of "real" free energy gradients + /// n-dim grid containing CZAR estimator of "real" free energy gradients colvar_grid_gradient *czar_gradients; /// n-dim grid of CZAR pmf (dimension 1 to 3) integrate_potential *czar_pmf; @@ -159,7 +159,9 @@ private: virtual std::istream& read_state_data(std::istream&); virtual std::ostream& write_state_data(std::ostream&); virtual int write_output_files(); + + /// Calculate the bias energy for 1D ABF + virtual int calc_energy(std::vector const *values); }; #endif - diff --git a/lib/colvars/colvarbias_alb.cpp b/lib/colvars/colvarbias_alb.cpp index 187ecc363a9da559555b7eb296703167f1d26389..3508270bf6e9fcce0a6ab6a3997890fa42a95d0f 100644 --- a/lib/colvars/colvarbias_alb.cpp +++ b/lib/colvars/colvarbias_alb.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -246,6 +246,12 @@ int colvarbias_alb::update() int colvarbias_alb::set_state_params(std::string const &conf) { + int error_code = colvarbias::set_state_params(conf); + + if (error_code != COLVARS_OK) { + return error_code; + } + if (!get_keyval(conf, "setCoupling", set_coupling)) cvm::fatal_error("Error: current setCoupling is missing from the restart.\n"); @@ -255,14 +261,12 @@ int colvarbias_alb::set_state_params(std::string const &conf) if (!get_keyval(conf, "maxCouplingRange", max_coupling_range)) cvm::fatal_error("Error: maxCouplingRange is missing from the restart.\n"); - if (!get_keyval(conf, "couplingRate", coupling_rate)) cvm::fatal_error("Error: current setCoupling is missing from the restart.\n"); if (!get_keyval(conf, "couplingAccum", coupling_accum)) cvm::fatal_error("Error: couplingAccum is missing from the restart.\n"); - if (!get_keyval(conf, "mean", means)) cvm::fatal_error("Error: current mean is missing from the restart.\n"); @@ -388,7 +392,7 @@ std::ostream & colvarbias_alb::write_traj(std::ostream &os) for (size_t i = 0; i < means.size(); i++) { os << " " << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) - << -2. * (means[i] / (static_cast (colvar_centers[i])) - 1) * ssd[i] / (fmax(update_calls,2) - 1); + << -2.0 * (means[i] / (static_cast(colvar_centers[i])) - 1) * ssd[i] / (fmax(update_calls, 2.0) - 1); } @@ -405,8 +409,8 @@ cvm::real colvarbias_alb::restraint_potential(cvm::real k, colvarvalue colvarbias_alb::restraint_force(cvm::real k, - colvar const *x, - colvarvalue const &xcenter) const + colvar const * /* x */, + colvarvalue const & /* xcenter */) const { return k; } diff --git a/lib/colvars/colvarbias_alb.h b/lib/colvars/colvarbias_alb.h index d003c244e96855486b37bf6bb2ec94a4b881a594..4d16a4e7e23d720b33bbb7c0745ad84bcf08d204 100644 --- a/lib/colvars/colvarbias_alb.h +++ b/lib/colvars/colvarbias_alb.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. diff --git a/lib/colvars/colvarbias_histogram.cpp b/lib/colvars/colvarbias_histogram.cpp index 329b1d9dc08d918295f5ec89a0519a4a292168a0..92985b0f61d9871984b401b639848ca8f6cd5d9a 100644 --- a/lib/colvars/colvarbias_histogram.cpp +++ b/lib/colvars/colvarbias_histogram.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -17,6 +17,7 @@ colvarbias_histogram::colvarbias_histogram(char const *key) : colvarbias(key), grid(NULL), out_name("") { + provide(f_cvb_bypass_ext_lagrangian); // Allow histograms of actual cv for extended-Lagrangian } @@ -78,12 +79,16 @@ int colvarbias_histogram::init(std::string const &conf) } for (i = 0; i < num_variables(); i++) { - colvars[i]->enable(f_cv_grid); + colvars[i]->enable(f_cv_grid); // Could be a child dependency of a f_cvb_use_grids feature } grid = new colvar_grid_scalar(); grid->init_from_colvars(colvars); + if (is_enabled(f_cvb_bypass_ext_lagrangian)) { + grid->request_actual_value(); + } + { std::string grid_conf; if (key_lookup(conf, "histogramGrid", &grid_conf)) { diff --git a/lib/colvars/colvarbias_histogram.h b/lib/colvars/colvarbias_histogram.h index 23565caa5c20dbd6745f96ad21fb4478403496a6..2e6c6884fb5cd79895b23735821b48a7e0d413f0 100644 --- a/lib/colvars/colvarbias_histogram.h +++ b/lib/colvars/colvarbias_histogram.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. diff --git a/lib/colvars/colvarbias_meta.cpp b/lib/colvars/colvarbias_meta.cpp index 8540e4a945b9c7dc5f694df6efecac6eb7d50637..05f293d872b41cf818f810f099f7c5feb0228fc9 100644 --- a/lib/colvars/colvarbias_meta.cpp +++ b/lib/colvars/colvarbias_meta.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -38,14 +38,37 @@ colvarbias_meta::colvarbias_meta(char const *key) new_hills_begin = hills.end(); hills_traj_os = NULL; + hill_width = 0.0; + + new_hill_freq = 1000; + + use_grids = true; + grids_freq = 0; + rebin_grids = false; + hills_energy = NULL; + hills_energy_gradients = NULL; + + dump_fes = true; + keep_hills = false; + dump_fes_save = false; + dump_replica_fes = false; + + b_hills_traj = false; + ebmeta_equil_steps = 0L; + + replica_update_freq = 0; + replica_id.clear(); } int colvarbias_meta::init(std::string const &conf) { - colvarbias::init(conf); - colvarbias_ti::init(conf); + int error_code = COLVARS_OK; + size_t i = 0; + + error_code |= colvarbias::init(conf); + error_code |= colvarbias_ti::init(conf); enable(f_cvb_calc_pmf); @@ -56,16 +79,38 @@ int colvarbias_meta::init(std::string const &conf) cvm::error("Error: hillWeight must be provided, and a positive number.\n", INPUT_ERROR); } - get_keyval(conf, "newHillFrequency", new_hill_freq, 1000); + get_keyval(conf, "newHillFrequency", new_hill_freq, new_hill_freq); if (new_hill_freq > 0) { enable(f_cvb_history_dependent); + if (grids_freq == 0) { + grids_freq = new_hill_freq; + } + } + + get_keyval(conf, "gaussianSigmas", colvar_sigmas, colvar_sigmas); + + get_keyval(conf, "hillWidth", hill_width, hill_width); + + if ((colvar_sigmas.size() > 0) && (hill_width > 0.0)) { + error_code |= cvm::error("Error: hillWidth and gaussianSigmas are " + "mutually exclusive.", INPUT_ERROR); + } + + if (hill_width > 0.0) { + colvar_sigmas.resize(num_variables()); + // Print the calculated sigma parameters + cvm::log("Half-widths of the Gaussian hills (sigma's):\n"); + for (i = 0; i < num_variables(); i++) { + colvar_sigmas[i] = variables(i)->width * hill_width / 2.0; + cvm::log(variables(i)->name+std::string(": ")+ + cvm::to_str(colvar_sigmas[i])); + } } - get_keyval(conf, "hillWidth", hill_width, cvm::sqrt(2.0 * PI) / 2.0); - cvm::log("Half-widths of the Gaussian hills (sigma's):\n"); - for (size_t i = 0; i < num_variables(); i++) { - cvm::log(variables(i)->name+std::string(": ")+ - cvm::to_str(0.5 * variables(i)->width * hill_width)); + if (colvar_sigmas.size() == 0) { + error_code |= cvm::error("Error: positive values are required for " + "either hillWidth or gaussianSigmas.", + INPUT_ERROR); } { @@ -77,21 +122,23 @@ int colvarbias_meta::init(std::string const &conf) comm = single_replica; } - // in all cases, the first replica is this bias itself - if (replicas.size() == 0) { - replicas.push_back(this); - } - - get_keyval(conf, "useGrids", use_grids, true); + get_keyval(conf, "useGrids", use_grids, use_grids); if (use_grids) { - get_keyval(conf, "gridsUpdateFrequency", grids_freq, new_hill_freq); - get_keyval(conf, "rebinGrids", rebin_grids, false); + + for (i = 0; i < num_variables(); i++) { + if (2.0*colvar_sigmas[i] < variables(i)->width) { + cvm::log("Warning: gaussianSigmas is too narrow for the grid " + "spacing along "+variables(i)->name+"."); + } + } + + get_keyval(conf, "gridsUpdateFrequency", grids_freq, grids_freq); + get_keyval(conf, "rebinGrids", rebin_grids, rebin_grids); expand_grids = false; - size_t i; for (i = 0; i < num_variables(); i++) { - variables(i)->enable(f_cv_grid); + variables(i)->enable(f_cv_grid); // Could be a child dependency of a f_cvb_use_grids feature if (variables(i)->expand_boundaries) { expand_grids = true; cvm::log("Metadynamics bias \""+this->name+"\""+ @@ -101,72 +148,97 @@ int colvarbias_meta::init(std::string const &conf) } } - get_keyval(conf, "keepHills", keep_hills, false); - if (! get_keyval(conf, "writeFreeEnergyFile", dump_fes, true)) - get_keyval(conf, "dumpFreeEnergyFile", dump_fes, true, colvarparse::parse_silent); - if (get_keyval(conf, "saveFreeEnergyFile", dump_fes_save, false, colvarparse::parse_silent)) { - cvm::log("Option \"saveFreeEnergyFile\" is deprecated, " - "please use \"keepFreeEnergyFiles\" instead."); - } + get_keyval(conf, "writeFreeEnergyFile", dump_fes, dump_fes); + + get_keyval(conf, "keepHills", keep_hills, keep_hills); get_keyval(conf, "keepFreeEnergyFiles", dump_fes_save, dump_fes_save); - hills_energy = new colvar_grid_scalar(colvars); - hills_energy_gradients = new colvar_grid_gradient(colvars); + if (hills_energy == NULL) { + hills_energy = new colvar_grid_scalar(colvars); + hills_energy_gradients = new colvar_grid_gradient(colvars); + } + } else { - rebin_grids = false; - keep_hills = false; + dump_fes = false; - dump_fes_save = false; - dump_replica_fes = false; + } - hills_energy = NULL; - hills_energy_gradients = NULL; + get_keyval(conf, "writeHillsTrajectory", b_hills_traj, b_hills_traj); + + error_code |= init_replicas_params(conf); + error_code |= init_well_tempered_params(conf); + error_code |= init_ebmeta_params(conf); + + if (cvm::debug()) + cvm::log("Done initializing the metadynamics bias \""+this->name+"\""+ + ((comm != single_replica) ? ", replica \""+replica_id+"\"" : "")+".\n"); + + return COLVARS_OK; +} + + +int colvarbias_meta::init_replicas_params(std::string const &conf) +{ + colvarproxy *proxy = cvm::main()->proxy; + + // in all cases, the first replica is this bias itself + if (replicas.size() == 0) { + replicas.push_back(this); } if (comm != single_replica) { - if (expand_grids) - cvm::fatal_error("Error: expandBoundaries is not supported when " - "using more than one replicas; please allocate " - "wide enough boundaries for each colvar" - "ahead of time.\n"); + if (!get_keyval(conf, "writePartialFreeEnergyFile", + dump_replica_fes, dump_replica_fes)) { + get_keyval(conf, "dumpPartialFreeEnergyFile", dump_replica_fes, + dump_replica_fes, colvarparse::parse_silent); + } + + if (dump_replica_fes && (! dump_fes)) { + dump_fes = true; + cvm::log("Enabling \"writeFreeEnergyFile\".\n"); + } - if (get_keyval(conf, "dumpPartialFreeEnergyFile", dump_replica_fes, false)) { - if (dump_replica_fes && (! dump_fes)) { - cvm::log("Enabling \"dumpFreeEnergyFile\".\n"); + get_keyval(conf, "replicaID", replica_id, replica_id); + if (!replica_id.size()) { + if (proxy->replica_enabled() == COLVARS_OK) { + // Obtain replicaID from the communicator + replica_id = cvm::to_str(proxy->replica_index()); + cvm::log("Setting replicaID from communication layer: replicaID = "+ + replica_id+".\n"); + } else { + return cvm::error("Error: using more than one replica, but replicaID " + "could not be obtained.\n", INPUT_ERROR); } } - get_keyval(conf, "replicaID", replica_id, std::string("")); - if (!replica_id.size()) - cvm::error("Error: replicaID must be defined " - "when using more than one replica.\n", INPUT_ERROR); - - get_keyval(conf, "replicasRegistry", - replicas_registry_file, - (this->name+".replicas.registry.txt")); + get_keyval(conf, "replicasRegistry", replicas_registry_file, + replicas_registry_file); + if (!replicas_registry_file.size()) { + return cvm::error("Error: the name of the \"replicasRegistry\" file " + "must be provided.\n", INPUT_ERROR); + } get_keyval(conf, "replicaUpdateFrequency", - replica_update_freq, new_hill_freq); + replica_update_freq, replica_update_freq); + if (replica_update_freq == 0) { + return cvm::error("Error: replicaUpdateFrequency must be positive.\n", + INPUT_ERROR); + } - if (keep_hills) - cvm::log("Warning: in metadynamics bias \""+this->name+"\""+ - ((comm != single_replica) ? ", replica \""+replica_id+"\"" : "")+ - ": keepHills with more than one replica can lead to a very " - "large amount of input/output and slow down your calculations. " - "Please consider disabling it.\n"); + if (expand_grids) { + return cvm::error("Error: expandBoundaries is not supported when " + "using more than one replicas; please allocate " + "wide enough boundaries for each colvar" + "ahead of time.\n", INPUT_ERROR); + } + if (keep_hills) { + return cvm::error("Error: multipleReplicas and keepHills are not " + "supported together.\n", INPUT_ERROR); + } } - get_keyval(conf, "writeHillsTrajectory", b_hills_traj, false); - - init_well_tempered_params(conf); - init_ebmeta_params(conf); - - if (cvm::debug()) - cvm::log("Done initializing the metadynamics bias \""+this->name+"\""+ - ((comm != single_replica) ? ", replica \""+replica_id+"\"" : "")+".\n"); - return COLVARS_OK; } @@ -290,7 +362,7 @@ int colvarbias_meta::clear_state_data() // ********************************************************************** std::list::const_iterator -colvarbias_meta::create_hill(colvarbias_meta::hill const &h) +colvarbias_meta::add_hill(colvarbias_meta::hill const &h) { hill_iter const hills_end = hills.end(); hills.push_back(h); @@ -379,8 +451,8 @@ int colvarbias_meta::update() error_code |= replica_share(); } - error_code |= calc_energy(); - error_code |= calc_forces(); + error_code |= calc_energy(NULL); + error_code |= calc_forces(NULL); return error_code; } @@ -418,7 +490,7 @@ int colvarbias_meta::update_grid_params() int &new_size = new_sizes[i]; bool changed_lb = false, changed_ub = false; - if (!variables(i)->hard_lower_boundary) + if (!variables(i)->is_enabled(f_cv_hard_lower_boundary)) if (curr_bin[i] < min_buffer) { int const extra_points = (min_buffer - curr_bin[i]); new_lb -= extra_points * variables(i)->width; @@ -435,7 +507,7 @@ int colvarbias_meta::update_grid_params() cvm::to_str(new_lower_boundaries[i])+".\n"); } - if (!variables(i)->hard_upper_boundary) + if (!variables(i)->is_enabled(f_cv_hard_upper_boundary)) if (curr_bin[i] > new_size - min_buffer - 1) { int const extra_points = (curr_bin[i] - (new_size - 1) + min_buffer); new_ub += extra_points * variables(i)->width; @@ -521,7 +593,7 @@ int colvarbias_meta::update_bias() std::vector curr_bin = hills_energy->get_colvars_index(); hills_energy_sum_here = hills_energy->value(curr_bin); } else { - calc_hills(new_hills_begin, hills.end(), hills_energy_sum_here); + calc_hills(new_hills_begin, hills.end(), hills_energy_sum_here, NULL); } hills_scale *= cvm::exp(-1.0*hills_energy_sum_here/(bias_temperature*cvm::boltzmann())); } @@ -530,12 +602,14 @@ int colvarbias_meta::update_bias() case single_replica: - create_hill(hill(hill_weight*hills_scale, colvars, hill_width)); + add_hill(hill(cvm::step_absolute(), hill_weight*hills_scale, + colvar_values, colvar_sigmas)); break; case multiple_replicas: - create_hill(hill(hill_weight*hills_scale, colvars, hill_width, replica_id)); + add_hill(hill(cvm::step_absolute(), hill_weight*hills_scale, + colvar_values, colvar_sigmas, replica_id)); std::ostream *replica_hills_os = cvm::proxy->get_output_stream(replica_hills_file); if (replica_hills_os) { @@ -578,7 +652,7 @@ int colvarbias_meta::update_grid_data() } -int colvarbias_meta::calc_energy(std::vector const &values) +int colvarbias_meta::calc_energy(std::vector const *values) { size_t ir = 0; @@ -586,8 +660,8 @@ int colvarbias_meta::calc_energy(std::vector const &values) replicas[ir]->bias_energy = 0.0; } - std::vector const curr_bin = values.size() ? - hills_energy->get_colvars_index(values) : + std::vector const curr_bin = values ? + hills_energy->get_colvars_index(*values) : hills_energy->get_colvars_index(); if (hills_energy->index_ok(curr_bin)) { @@ -619,7 +693,8 @@ int colvarbias_meta::calc_energy(std::vector const &values) for (ir = 0; ir < replicas.size(); ir++) { calc_hills(replicas[ir]->new_hills_begin, replicas[ir]->hills.end(), - bias_energy); + bias_energy, + values); if (cvm::debug()) { cvm::log("Hills energy = "+cvm::to_str(bias_energy)+".\n"); } @@ -629,7 +704,7 @@ int colvarbias_meta::calc_energy(std::vector const &values) } -int colvarbias_meta::calc_forces(std::vector const &values) +int colvarbias_meta::calc_forces(std::vector const *values) { size_t ir = 0, ic = 0; for (ir = 0; ir < replicas.size(); ir++) { @@ -638,8 +713,8 @@ int colvarbias_meta::calc_forces(std::vector const &values) } } - std::vector const curr_bin = values.size() ? - hills_energy->get_colvars_index(values) : + std::vector const curr_bin = values ? + hills_energy->get_colvars_index(*values) : hills_energy->get_colvars_index(); if (hills_energy->index_ok(curr_bin)) { @@ -693,38 +768,24 @@ int colvarbias_meta::calc_forces(std::vector const &values) void colvarbias_meta::calc_hills(colvarbias_meta::hill_iter h_first, colvarbias_meta::hill_iter h_last, cvm::real &energy, - std::vector const &colvar_values) + std::vector const *values) { size_t i = 0; - std::vector curr_values(num_variables()); - for (i = 0; i < num_variables(); i++) { - curr_values[i].type(variables(i)->value()); - } - - if (colvar_values.size()) { - for (i = 0; i < num_variables(); i++) { - curr_values[i] = colvar_values[i]; - } - } else { - for (i = 0; i < num_variables(); i++) { - curr_values[i] = variables(i)->value(); - } - } for (hill_iter h = h_first; h != h_last; h++) { // compute the gaussian exponent cvm::real cv_sqdev = 0.0; for (i = 0; i < num_variables(); i++) { - colvarvalue const &x = curr_values[i]; + colvarvalue const &x = values ? (*values)[i] : colvar_values[i]; colvarvalue const ¢er = h->centers[i]; - cvm::real const half_width = 0.5 * h->widths[i]; - cv_sqdev += (variables(i)->dist2(x, center)) / (half_width*half_width); + cvm::real const sigma = h->sigmas[i]; + cv_sqdev += (variables(i)->dist2(x, center)) / (sigma*sigma); } // compute the gaussian if (cv_sqdev > 23.0) { - // set it to zero if the exponent is more negative than log(1.0E-05) + // set it to zero if the exponent is more negative than log(1.0E-06) h->value(0.0); } else { h->value(cvm::exp(-0.5*cv_sqdev)); @@ -738,25 +799,25 @@ void colvarbias_meta::calc_hills_force(size_t const &i, colvarbias_meta::hill_iter h_first, colvarbias_meta::hill_iter h_last, std::vector &forces, - std::vector const &values) + std::vector const *values) { // Retrieve the value of the colvar - colvarvalue const x(values.size() ? values[i] : variables(i)->value()); + colvarvalue const x(values ? (*values)[i] : colvar_values[i]); // do the type check only once (all colvarvalues in the hills series // were already saved with their types matching those in the // colvars) hill_iter h; - switch (variables(i)->value().type()) { + switch (x.type()) { case colvarvalue::type_scalar: for (h = h_first; h != h_last; h++) { if (h->value() == 0.0) continue; colvarvalue const ¢er = h->centers[i]; - cvm::real const half_width = 0.5 * h->widths[i]; + cvm::real const sigma = h->sigmas[i]; forces[i].real_value += - ( h->weight() * h->value() * (0.5 / (half_width*half_width)) * + ( h->weight() * h->value() * (0.5 / (sigma*sigma)) * (variables(i)->dist2_lgrad(x, center)).real_value ); } break; @@ -767,9 +828,9 @@ void colvarbias_meta::calc_hills_force(size_t const &i, for (h = h_first; h != h_last; h++) { if (h->value() == 0.0) continue; colvarvalue const ¢er = h->centers[i]; - cvm::real const half_width = 0.5 * h->widths[i]; + cvm::real const sigma = h->sigmas[i]; forces[i].rvector_value += - ( h->weight() * h->value() * (0.5 / (half_width*half_width)) * + ( h->weight() * h->value() * (0.5 / (sigma*sigma)) * (variables(i)->dist2_lgrad(x, center)).rvector_value ); } break; @@ -779,9 +840,9 @@ void colvarbias_meta::calc_hills_force(size_t const &i, for (h = h_first; h != h_last; h++) { if (h->value() == 0.0) continue; colvarvalue const ¢er = h->centers[i]; - cvm::real const half_width = 0.5 * h->widths[i]; + cvm::real const sigma = h->sigmas[i]; forces[i].quaternion_value += - ( h->weight() * h->value() * (0.5 / (half_width*half_width)) * + ( h->weight() * h->value() * (0.5 / (sigma*sigma)) * (variables(i)->dist2_lgrad(x, center)).quaternion_value ); } break; @@ -790,9 +851,9 @@ void colvarbias_meta::calc_hills_force(size_t const &i, for (h = h_first; h != h_last; h++) { if (h->value() == 0.0) continue; colvarvalue const ¢er = h->centers[i]; - cvm::real const half_width = 0.5 * h->widths[i]; + cvm::real const sigma = h->sigmas[i]; forces[i].vector1d_value += - ( h->weight() * h->value() * (0.5 / (half_width*half_width)) * + ( h->weight() * h->value() * (0.5 / (sigma*sigma)) * (variables(i)->dist2_lgrad(x, center)).vector1d_value ); } break; @@ -846,12 +907,12 @@ void colvarbias_meta::project_hills(colvarbias_meta::hill_iter h_first, // loop over the hills and increment the energy grid locally hills_energy_here = 0.0; - calc_hills(h_first, h_last, hills_energy_here, colvar_values); + calc_hills(h_first, h_last, hills_energy_here, &colvar_values); he->acc_value(he_ix, hills_energy_here); for (i = 0; i < num_variables(); i++) { hills_forces_here[i].reset(); - calc_hills_force(i, h_first, h_last, hills_forces_here, colvar_values); + calc_hills_force(i, h_first, h_last, hills_forces_here, &colvar_values); colvar_forces_scalar[i] = hills_forces_here[i].real_value; } hg->acc_force(hg_ix, &(colvar_forces_scalar.front())); @@ -883,7 +944,7 @@ void colvarbias_meta::project_hills(colvarbias_meta::hill_iter h_first, } hills_energy_here = 0.0; - calc_hills(h_first, h_last, hills_energy_here, colvar_values); + calc_hills(h_first, h_last, hills_energy_here, &colvar_values); he->acc_value(he_ix, hills_energy_here); he->incr(he_ix); @@ -915,7 +976,7 @@ void colvarbias_meta::project_hills(colvarbias_meta::hill_iter h_first, void colvarbias_meta::recount_hills_off_grid(colvarbias_meta::hill_iter h_first, colvarbias_meta::hill_iter h_last, - colvar_grid_scalar *he) + colvar_grid_scalar * /* he */) { hills_off_grid.clear(); @@ -985,11 +1046,6 @@ void colvarbias_meta::update_replicas_registry() if (new_replica == this->replica_id) { // this is the record for this same replica, skip it - if (cvm::debug()) - cvm::log("Metadynamics bias \""+this->name+"\""+ - ((comm != single_replica) ? ", replica \""+replica_id+"\"" : "")+ - ": skipping this replica's own record: \""+ - new_replica+"\", \""+new_replica_file+"\"\n"); new_replica_file.clear(); new_replica.clear(); continue; @@ -1039,11 +1095,12 @@ void colvarbias_meta::update_replicas_registry() (replicas.back())->enable(f_cvb_calc_ti_samples); (replicas.back())->colvarbias_ti::init_grids(); } + (replicas.back())->update_status = 1; } } } else { - cvm::fatal_error("Error: cannot read the replicas registry file \""+ - replicas_registry+"\".\n"); + cvm::error("Error: cannot read the replicas registry file \""+ + replicas_registry+"\".\n", FILE_ERROR); } // now (re)read the list file of each replica @@ -1068,7 +1125,6 @@ void colvarbias_meta::update_replicas_registry() cvm::to_str(replica_update_freq)+" steps.\n"); (replicas[ir])->update_status++; } else { - (replicas[ir])->update_status = 0; if (new_state_file != (replicas[ir])->replica_state_file) { cvm::log("Metadynamics bias \""+this->name+"\""+ ": replica \""+(replicas[ir])->replica_id+ @@ -1092,27 +1148,41 @@ void colvarbias_meta::read_replica_files() // Note: we start from the 2nd replica. for (size_t ir = 1; ir < replicas.size(); ir++) { - if (! (replicas[ir])->replica_state_file_in_sync) { - // if a new state file is being read, the hills file is also new - (replicas[ir])->replica_hills_file_pos = 0; - } - // (re)read the state file if necessary if ( (! (replicas[ir])->has_data) || (! (replicas[ir])->replica_state_file_in_sync) ) { - - cvm::log("Metadynamics bias \""+this->name+"\""+ - ": reading the state of replica \""+ - (replicas[ir])->replica_id+"\" from file \""+ - (replicas[ir])->replica_state_file+"\".\n"); - - std::ifstream is((replicas[ir])->replica_state_file.c_str()); - if ((replicas[ir])->read_state(is)) { - // state file has been read successfully - (replicas[ir])->replica_state_file_in_sync = true; - (replicas[ir])->update_status = 0; + if ((replicas[ir])->replica_state_file.size()) { + cvm::log("Metadynamics bias \""+this->name+"\""+ + ": reading the state of replica \""+ + (replicas[ir])->replica_id+"\" from file \""+ + (replicas[ir])->replica_state_file+"\".\n"); + std::ifstream is((replicas[ir])->replica_state_file.c_str()); + if ((replicas[ir])->read_state(is)) { + // state file has been read successfully + (replicas[ir])->replica_state_file_in_sync = true; + (replicas[ir])->update_status = 0; + } else { + cvm::log("Failed to read the file \""+ + (replicas[ir])->replica_state_file+ + "\": will try again in "+ + cvm::to_str(replica_update_freq)+" steps.\n"); + (replicas[ir])->replica_state_file_in_sync = false; + (replicas[ir])->update_status++; + } + is.close(); + } else { + cvm::log("Metadynamics bias \""+this->name+"\""+ + ": the state file of replica \""+ + (replicas[ir])->replica_id+"\" is currently undefined: " + "will try again after "+ + cvm::to_str(replica_update_freq)+" steps.\n"); + (replicas[ir])->update_status++; } - is.close(); + } + + if (! (replicas[ir])->replica_state_file_in_sync) { + // if a new state file is being read, the hills file is also new + (replicas[ir])->replica_hills_file_pos = 0; } // now read the hills added after writing the state file @@ -1124,14 +1194,16 @@ void colvarbias_meta::read_replica_files() (replicas[ir])->replica_id+"\" in the file \""+ (replicas[ir])->replica_hills_file+"\".\n"); - // read hills from the other replicas' files; for each file, resume - // the position recorded previously + // read hills from the other replicas' files std::ifstream is((replicas[ir])->replica_hills_file.c_str()); if (is.is_open()) { - // try to resume the previous position - is.seekg((replicas[ir])->replica_hills_file_pos, std::ios::beg); + // try to resume the previous position (if not the beginning) + if ((replicas[ir])->replica_hills_file_pos > 0) { + is.seekg((replicas[ir])->replica_hills_file_pos, std::ios::beg); + } + if (!is.is_open()){ // if fail (the file may have been overwritten), reset this // position @@ -1149,7 +1221,6 @@ void colvarbias_meta::read_replica_files() } else { while ((replicas[ir])->read_hill(is)) { - // if (cvm::debug()) cvm::log("Metadynamics bias \""+this->name+"\""+ ": received a hill from replica \""+ (replicas[ir])->replica_id+ @@ -1159,11 +1230,13 @@ void colvarbias_meta::read_replica_files() is.clear(); // store the position for the next read (replicas[ir])->replica_hills_file_pos = is.tellg(); - if (cvm::debug()) + if (cvm::debug()) { cvm::log("Metadynamics bias \""+this->name+"\""+ - ": stopped reading file \""+(replicas[ir])->replica_hills_file+ + ": stopped reading file \""+ + (replicas[ir])->replica_hills_file+ "\" at position "+ cvm::to_str((replicas[ir])->replica_hills_file_pos)+".\n"); + } // test whether this is the end of the file is.seekg(0, std::ios::end); @@ -1175,12 +1248,11 @@ void colvarbias_meta::read_replica_files() } } else { - cvm::log("Failed to read the file \""+(replicas[ir])->replica_hills_file+ + cvm::log("Failed to read the file \""+ + (replicas[ir])->replica_hills_file+ "\": will try again in "+ cvm::to_str(replica_update_freq)+" steps.\n"); (replicas[ir])->update_status++; - // cvm::fatal_error ("Error: cannot read from file \""+ - // (replicas[ir])->replica_hills_file+"\".\n"); } is.close(); } @@ -1188,8 +1260,8 @@ void colvarbias_meta::read_replica_files() size_t const n_flush = (replica_update_freq/new_hill_freq + 1); if ((replicas[ir])->update_status > 3*n_flush) { // TODO: suspend the calculation? - cvm::log("WARNING: in metadynamics bias \""+this->name+"\""+ - " failed to read completely the output of replica \""+ + cvm::log("WARNING: metadynamics bias \""+this->name+"\""+ + " could not read information from replica \""+ (replicas[ir])->replica_id+ "\" after more than "+ cvm::to_str((replicas[ir])->update_status * replica_update_freq)+ @@ -1201,14 +1273,20 @@ void colvarbias_meta::read_replica_files() int colvarbias_meta::set_state_params(std::string const &state_conf) { - std::string new_replica = ""; - if (colvarparse::get_keyval(state_conf, "replicaID", new_replica, + int error_code = colvarbias::set_state_params(state_conf); + + if (error_code != COLVARS_OK) { + return error_code; + } + + std::string check_replica = ""; + if (colvarparse::get_keyval(state_conf, "replicaID", check_replica, std::string(""), colvarparse::parse_silent) && - (new_replica != this->replica_id)) { - cvm::error("Error: in the state file, the " - "\"metadynamics\" block has a different replicaID: different system?\n", - INPUT_ERROR); - return INPUT_ERROR; + (check_replica != this->replica_id)) { + return cvm::error("Error: in the state file , the " + "\"metadynamics\" block has a different replicaID ("+ + check_replica+" instead of "+replica_id+").\n", + INPUT_ERROR); } return COLVARS_OK; @@ -1434,17 +1512,18 @@ std::istream & colvarbias_meta::read_hill(std::istream &is) if (!is) return is; // do nothing if failbit is set size_t const start_pos = is.tellg(); + size_t i = 0; std::string data; - if ( !(is >> read_block("hill", data)) ) { + if ( !(is >> read_block("hill", &data)) ) { is.clear(); is.seekg(start_pos, std::ios::beg); is.setstate(std::ios::failbit); return is; } - cvm::step_number h_it; - get_keyval(data, "step", h_it, 0L, parse_silent); + cvm::step_number h_it = 0L; + get_keyval(data, "step", h_it, h_it, parse_restart); if (h_it <= state_file_step) { if (cvm::debug()) cvm::log("Skipping a hill older than the state file for metadynamics bias \""+ @@ -1454,31 +1533,24 @@ std::istream & colvarbias_meta::read_hill(std::istream &is) } cvm::real h_weight; - get_keyval(data, "weight", h_weight, hill_weight, parse_silent); + get_keyval(data, "weight", h_weight, hill_weight, parse_restart); std::vector h_centers(num_variables()); - for (size_t i = 0; i < num_variables(); i++) { + for (i = 0; i < num_variables(); i++) { h_centers[i].type(variables(i)->value()); } - { - // it is safer to read colvarvalue objects one at a time; - // TODO: change this it later - std::string centers_input; - key_lookup(data, "centers", ¢ers_input); - std::istringstream centers_is(centers_input); - for (size_t i = 0; i < num_variables(); i++) { - centers_is >> h_centers[i]; - } - } + get_keyval(data, "centers", h_centers, h_centers, parse_restart); - std::vector h_widths(num_variables()); - get_keyval(data, "widths", h_widths, - std::vector(num_variables(), (cvm::sqrt(2.0 * PI) / 2.0)), - parse_silent); + std::vector h_sigmas(num_variables()); + get_keyval(data, "widths", h_sigmas, h_sigmas, parse_restart); + for (i = 0; i < num_variables(); i++) { + // For backward compatibility, read the widths instead of the sigmas + h_sigmas[i] /= 2.0; + } std::string h_replica = ""; if (comm != single_replica) { - get_keyval(data, "replicaID", h_replica, replica_id, parse_silent); + get_keyval(data, "replicaID", h_replica, replica_id, parse_restart); if (h_replica != replica_id) cvm::fatal_error("Error: trying to read a hill created by replica \""+h_replica+ "\" for replica \""+replica_id+ @@ -1486,7 +1558,7 @@ std::istream & colvarbias_meta::read_hill(std::istream &is) } hill_iter const hills_end = hills.end(); - hills.push_back(hill(h_it, h_weight, h_centers, h_widths, h_replica)); + hills.push_back(hill(h_it, h_weight, h_centers, h_sigmas, h_replica)); if (new_hills_begin == hills_end) { // if new_hills_begin is unset, set it for the first time new_hills_begin = hills.end(); @@ -1708,11 +1780,11 @@ void colvarbias_meta::write_pmf() if (ebmeta) { int nt_points=pmf->number_of_points(); for (int i = 0; i < nt_points; i++) { - cvm:: real pmf_val=0.0; - cvm:: real target_val=target_dist->value(i); + cvm::real pmf_val=0.0; + cvm::real target_val=target_dist->value(i); if (target_val>0) { pmf_val=pmf->value(i); - pmf_val=pmf_val+cvm::temperature() * cvm::boltzmann() * std::log(target_val); + pmf_val=pmf_val+cvm::temperature() * cvm::boltzmann() * cvm::logn(target_val); } pmf->set_value(i,pmf_val); } @@ -1749,11 +1821,11 @@ void colvarbias_meta::write_pmf() if (ebmeta) { int nt_points=pmf->number_of_points(); for (int i = 0; i < nt_points; i++) { - cvm:: real pmf_val=0.0; - cvm:: real target_val=target_dist->value(i); + cvm::real pmf_val=0.0; + cvm::real target_val=target_dist->value(i); if (target_val>0) { pmf_val=pmf->value(i); - pmf_val=pmf_val+cvm::temperature() * cvm::boltzmann() * std::log(target_val); + pmf_val=pmf_val+cvm::temperature() * cvm::boltzmann() * cvm::logn(target_val); } pmf->set_value(i,pmf_val); } @@ -1844,10 +1916,10 @@ std::string colvarbias_meta::hill::output_traj() } os << " "; - for (i = 0; i < widths.size(); i++) { + for (i = 0; i < sigmas.size(); i++) { os << " "; os << std::setprecision(cvm::cv_prec) - << std::setw(cvm::cv_width) << widths[i]; + << std::setw(cvm::cv_width) << sigmas[i]; } os << " "; @@ -1858,6 +1930,47 @@ std::string colvarbias_meta::hill::output_traj() } +colvarbias_meta::hill::hill(cvm::step_number it_in, + cvm::real W_in, + std::vector const &cv_values, + std::vector const &cv_sigmas, + std::string const &replica_in) + : it(it_in), + sW(1.0), + W(W_in), + centers(cv_values.size()), + sigmas(cv_values.size()), + replica(replica_in) +{ + for (size_t i = 0; i < cv_values.size(); i++) { + centers[i].type(cv_values[i]); + centers[i] = cv_values[i]; + sigmas[i] = cv_sigmas[i]; + } + if (cvm::debug()) { + cvm::log("New hill, applied to "+cvm::to_str(cv_values.size())+ + " collective variables, with centers "+ + cvm::to_str(centers)+", sigmas "+ + cvm::to_str(sigmas)+" and weight "+ + cvm::to_str(W)+".\n"); + } +} + + +colvarbias_meta::hill::hill(colvarbias_meta::hill const &h) + : sW(1.0), + W(h.W), + centers(h.centers), + sigmas(h.sigmas), + it(h.it), + replica(h.replica) +{} + + +colvarbias_meta::hill::~hill() +{} + + std::ostream & operator << (std::ostream &os, colvarbias_meta::hill const &h) { os.setf(std::ios::scientific, std::ios::floatfield); @@ -1882,12 +1995,13 @@ std::ostream & operator << (std::ostream &os, colvarbias_meta::hill const &h) } os << "\n"; + // For backward compatibility, write the widths instead of the sigmas os << " widths "; - for (i = 0; i < (h.widths).size(); i++) { + for (i = 0; i < (h.sigmas).size(); i++) { os << " " << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) - << h.widths[i]; + << 2.0 * h.sigmas[i]; } os << "\n"; diff --git a/lib/colvars/colvarbias_meta.h b/lib/colvars/colvarbias_meta.h index 8e98274b2dcfa5381f72b09e69c9d1bd0045ced4..9f9fc63fc7a6648636d92d28daad0d5f870e3f36 100644 --- a/lib/colvars/colvarbias_meta.h +++ b/lib/colvars/colvarbias_meta.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -41,6 +41,7 @@ public: virtual ~colvarbias_meta(); virtual int init(std::string const &conf); + virtual int init_replicas_params(std::string const &conf); virtual int init_well_tempered_params(std::string const &conf); virtual int init_ebmeta_params(std::string const &conf); @@ -52,10 +53,8 @@ public: virtual int update_grid_data(); virtual int replica_share(); - virtual int calc_energy(std::vector const &values = - std::vector(0)); - virtual int calc_forces(std::vector const &values = - std::vector(0)); + virtual int calc_energy(std::vector const *values); + virtual int calc_forces(std::vector const *values); virtual std::string const get_state_params() const; virtual int set_state_params(std::string const &state_conf); @@ -72,11 +71,14 @@ public: protected: - /// \brief width of a hill + /// Width of a hill in number of grid points /// /// The local width of each collective variable, multiplied by this /// number, provides the hill width along that direction - cvm::real hill_width; + cvm::real hill_width; + + /// The sigma parameters of the Gaussian hills + std::vector colvar_sigmas; /// \brief Number of simulation steps between two hills size_t new_hill_freq; @@ -114,18 +116,18 @@ protected: /// \brief Add a new hill; if a .hills trajectory is written, /// write it there; if there is more than one replica, communicate /// it to the others - virtual std::list::const_iterator create_hill(hill const &h); + std::list::const_iterator add_hill(hill const &h); /// \brief Remove a previously saved hill (returns an iterator for /// the next hill in the list) - virtual std::list::const_iterator delete_hill(hill_iter &h); + std::list::const_iterator delete_hill(hill_iter &h); /// \brief Calculate the values of the hills, incrementing /// bias_energy virtual void calc_hills(hill_iter h_first, hill_iter h_last, cvm::real &energy, - std::vector const &values = std::vector(0)); + std::vector const *values); /// \brief Calculate the forces acting on the i-th colvar, /// incrementing colvar_forces[i]; must be called after calc_hills @@ -134,7 +136,7 @@ protected: hill_iter h_first, hill_iter h_last, std::vector &forces, - std::vector const &values = std::vector(0)); + std::vector const *values); /// Height of new hills @@ -267,6 +269,9 @@ class colvarbias_meta::hill { protected: + /// Time step at which this hill was added + cvm::step_number it; + /// Value of the hill function (ranges between 0 and 1) cvm::real hill_value; @@ -276,83 +281,35 @@ protected: /// Maximum height in energy of the hill cvm::real W; - /// Center of the hill in the collective variable space - std::vector centers; + /// Centers of the hill in the collective variable space + std::vector centers; - /// Widths of the hill in the collective variable space - std::vector widths; + /// Half-widths of the hill in the collective variable space + std::vector sigmas; + + /// Identity of the replica who added this hill + std::string replica; public: friend class colvarbias_meta; - /// Time step at which this hill was added - cvm::step_number it; - - /// Identity of the replica who added this hill (only in multiple replica simulations) - std::string replica; - - /// \brief Runtime constructor: data are read directly from - /// collective variables \param weight Weight of the hill \param - /// cv Pointer to the array of collective variables involved \param - /// replica (optional) Identity of the replica which creates the - /// hill - inline hill(cvm::real const &W_in, - std::vector &cv, - cvm::real const &hill_width, - std::string const &replica_in = "") - : sW(1.0), - W(W_in), - centers(cv.size()), - widths(cv.size()), - it(cvm::step_absolute()), - replica(replica_in) - { - for (size_t i = 0; i < cv.size(); i++) { - centers[i].type(cv[i]->value()); - centers[i] = cv[i]->value(); - widths[i] = cv[i]->width * hill_width; - } - if (cvm::debug()) - cvm::log("New hill, applied to "+cvm::to_str(cv.size())+ - " collective variables, with centers "+ - cvm::to_str(centers)+", widths "+ - cvm::to_str(widths)+" and weight "+ - cvm::to_str(W)+".\n"); - } - - /// \brief General constructor: all data are explicitly passed as - /// arguments (used for instance when reading hills saved on a - /// file) \param it Time step of creation of the hill \param - /// weight Weight of the hill \param centers Center of the hill - /// \param widths Width of the hill around centers \param replica - /// (optional) Identity of the replica which creates the hill - inline hill(cvm::step_number const &it_in, - cvm::real const &W_in, - std::vector const ¢ers_in, - std::vector const &widths_in, - std::string const &replica_in = "") - : sW(1.0), - W(W_in), - centers(centers_in), - widths(widths_in), - it(it_in), - replica(replica_in) - {} + /// Constructor of a hill object + /// \param it Step number at which the hill was added + /// \param W Weight of the hill (energy units) + /// \param cv_values Array of collective variable values + /// \param cv_sigmas Array of collective variable values + /// \param replica ID of the replica that creates the hill (optional) + hill(cvm::step_number it, cvm::real W, + std::vector const &cv_values, + std::vector const &cv_sigmas, + std::string const &replica = ""); /// Copy constructor - inline hill(colvarbias_meta::hill const &h) - : sW(1.0), - W(h.W), - centers(h.centers), - widths(h.widths), - it(h.it), - replica(h.replica) - {} + hill(colvarbias_meta::hill const &h); /// Destructor - inline ~hill() - {} + ~hill(); /// Get the energy inline cvm::real energy() @@ -441,8 +398,7 @@ public: std::string output_traj(); /// Write the hill to an output stream - inline friend std::ostream & operator << (std::ostream &os, - hill const &h); + friend std::ostream & operator << (std::ostream &os, hill const &h); }; diff --git a/lib/colvars/colvarbias_restraint.cpp b/lib/colvars/colvarbias_restraint.cpp index ab02820cf0293359832f8c98cea5f3ae794f16a3..486d77688b868c8e812f2b45afcc5a2e003abf9b 100644 --- a/lib/colvars/colvarbias_restraint.cpp +++ b/lib/colvars/colvarbias_restraint.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -17,6 +17,7 @@ colvarbias_restraint::colvarbias_restraint(char const *key) : colvarbias(key), colvarbias_ti(key) { + state_keyword = "restraint"; } @@ -174,7 +175,7 @@ int colvarbias_restraint_k::change_configuration(std::string const &conf) -colvarbias_restraint_moving::colvarbias_restraint_moving(char const *key) +colvarbias_restraint_moving::colvarbias_restraint_moving(char const * /* key */) { target_nstages = 0; target_nsteps = 0L; @@ -705,67 +706,6 @@ std::ostream & colvarbias_restraint_k_moving::write_traj(std::ostream &os) -// redefined due to legacy state file keyword "harmonic" -std::istream & colvarbias_restraint::read_state(std::istream &is) -{ - size_t const start_pos = is.tellg(); - - std::string key, brace, conf; - if ( !(is >> key) || !(key == "restraint" || key == "harmonic") || - !(is >> brace) || !(brace == "{") || - !(is >> colvarparse::read_block("configuration", conf)) || - (set_state_params(conf) != COLVARS_OK) ) { - cvm::error("Error: in reading state configuration for \""+bias_type+"\" bias \""+ - this->name+"\" at position "+ - cvm::to_str(static_cast(is.tellg()))+ - " in stream.\n", INPUT_ERROR); - is.clear(); - is.seekg(start_pos, std::ios::beg); - is.setstate(std::ios::failbit); - return is; - } - - if (!read_state_data(is)) { - cvm::error("Error: in reading state data for \""+bias_type+"\" bias \""+ - this->name+"\" at position "+ - cvm::to_str(static_cast(is.tellg()))+ - " in stream.\n", INPUT_ERROR); - is.clear(); - is.seekg(start_pos, std::ios::beg); - is.setstate(std::ios::failbit); - } - - is >> brace; - if (brace != "}") { - cvm::log("brace = "+brace+"\n"); - cvm::error("Error: corrupt restart information for \""+bias_type+"\" bias \""+ - this->name+"\": no matching brace at position "+ - cvm::to_str(static_cast(is.tellg()))+" in stream.\n"); - is.setstate(std::ios::failbit); - } - - return is; -} - - -std::ostream & colvarbias_restraint::write_state(std::ostream &os) -{ - os.setf(std::ios::scientific, std::ios::floatfield); - os << "restraint {\n" - << " configuration {\n"; - std::istringstream is(get_state_params()); - std::string line; - while (std::getline(is, line)) { - os << " " << line << "\n"; - } - os << " }\n"; - write_state_data(os); - os << "}\n\n"; - return os; -} - - - colvarbias_restraint_harmonic::colvarbias_restraint_harmonic(char const *key) : colvarbias(key), colvarbias_ti(key), @@ -928,6 +868,9 @@ colvarbias_restraint_harmonic_walls::colvarbias_restraint_harmonic_walls(char co { lower_wall_k = -1.0; upper_wall_k = -1.0; + // This bias implements the bias_actual_colvars feature (most others do not) + provide(f_cvb_bypass_ext_lagrangian); + set_enabled(f_cvb_bypass_ext_lagrangian); // Defaults to enabled } @@ -1075,23 +1018,13 @@ int colvarbias_restraint_harmonic_walls::update() } -void colvarbias_restraint_harmonic_walls::communicate_forces() -{ - for (size_t i = 0; i < num_variables(); i++) { - if (cvm::debug()) { - cvm::log("Communicating a force to colvar \""+ - variables(i)->name+"\".\n"); - } - // Impulse-style multiple timestep - variables(i)->add_bias_force_actual_value(cvm::real(time_step_factor) * colvar_forces[i]); - } -} - - cvm::real colvarbias_restraint_harmonic_walls::colvar_distance(size_t i) const { colvar *cv = variables(i); - colvarvalue const &cvv = variables(i)->actual_value(); + + colvarvalue const &cvv = is_enabled(f_cvb_bypass_ext_lagrangian) ? + variables(i)->actual_value() : + variables(i)->value(); // For a periodic colvar, both walls may be applicable at the same time // in which case we pick the closer one diff --git a/lib/colvars/colvarbias_restraint.h b/lib/colvars/colvarbias_restraint.h index 6493f7f16b70a69cff92555c31292bc71a676c44..ac25e35646b76fca87108277e98b21307ba8dcc5 100644 --- a/lib/colvars/colvarbias_restraint.h +++ b/lib/colvars/colvarbias_restraint.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -26,17 +26,15 @@ public: virtual int update(); /// Load new configuration - force constant and/or centers only - virtual int change_configuration(std::string const &conf) { return COLVARS_NOT_IMPLEMENTED; } + virtual int change_configuration(std::string const & /* conf */) { return COLVARS_NOT_IMPLEMENTED; } /// Calculate change in energy from using alternate configuration - virtual cvm::real energy_difference(std::string const &conf) { return 0.0; } + virtual cvm::real energy_difference(std::string const & /* conf */) { return 0.0; } virtual std::string const get_state_params() const; virtual int set_state_params(std::string const &conf); // virtual std::ostream & write_state_data(std::ostream &os); // virtual std::istream & read_state_data(std::istream &os); - virtual std::ostream & write_state(std::ostream &os); - virtual std::istream & read_state(std::istream &is); virtual std::ostream & write_traj_label(std::ostream &os); virtual std::ostream & write_traj(std::ostream &os); @@ -107,7 +105,7 @@ public: // Note: despite the diamond inheritance, most of this function gets only executed once virtual int init(std::string const &conf); virtual int update() { return COLVARS_OK; } - virtual int change_configuration(std::string const &conf) { return COLVARS_NOT_IMPLEMENTED; } + virtual int change_configuration(std::string const & /* conf */) { return COLVARS_NOT_IMPLEMENTED; } virtual std::string const get_state_params() const; virtual int set_state_params(std::string const &conf); @@ -149,7 +147,7 @@ public: colvarbias_restraint_centers_moving(char const *key); virtual int init(std::string const &conf); virtual int update(); - virtual int change_configuration(std::string const &conf) { return COLVARS_NOT_IMPLEMENTED; } + virtual int change_configuration(std::string const & /* conf */) { return COLVARS_NOT_IMPLEMENTED; } virtual std::string const get_state_params() const; virtual int set_state_params(std::string const &conf); @@ -188,7 +186,7 @@ public: colvarbias_restraint_k_moving(char const *key); virtual int init(std::string const &conf); virtual int update(); - virtual int change_configuration(std::string const &conf) { return COLVARS_NOT_IMPLEMENTED; } + virtual int change_configuration(std::string const & /* conf */) { return COLVARS_NOT_IMPLEMENTED; } virtual std::string const get_state_params() const; virtual int set_state_params(std::string const &conf); @@ -258,7 +256,6 @@ public: colvarbias_restraint_harmonic_walls(char const *key); virtual int init(std::string const &conf); virtual int update(); - virtual void communicate_forces(); virtual std::string const get_state_params() const; virtual int set_state_params(std::string const &conf); virtual std::ostream & write_state_data(std::ostream &os); diff --git a/lib/colvars/colvarcomp.cpp b/lib/colvars/colvarcomp.cpp index 431884a87710ac0a03b0d7ac8f21312631fca82a..05d1195d5858a7a70c0199f26cde0264c7acf02e 100644 --- a/lib/colvars/colvarcomp.cpp +++ b/lib/colvars/colvarcomp.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -17,30 +17,28 @@ colvar::cvc::cvc() - : sup_coeff(1.0), - sup_np(1), - b_periodic(false), - b_try_scalable(true) { description = "uninitialized colvar component"; - init_dependencies(); + b_try_scalable = true; sup_coeff = 1.0; + sup_np = 1; period = 0.0; wrap_center = 0.0; + width = 0.0; + init_dependencies(); } colvar::cvc::cvc(std::string const &conf) - : sup_coeff(1.0), - sup_np(1), - b_periodic(false), - b_try_scalable(true) { description = "uninitialized colvar component"; - init_dependencies(); + b_try_scalable = true; sup_coeff = 1.0; + sup_np = 1; period = 0.0; wrap_center = 0.0; + width = 0.0; + init_dependencies(); init(conf); } @@ -72,11 +70,17 @@ int colvar::cvc::init(std::string const &conf) get_keyval(conf, "componentCoeff", sup_coeff, sup_coeff); get_keyval(conf, "componentExp", sup_np, sup_np); + // TODO these could be condensed into get_keyval() + register_param("componentCoeff", reinterpret_cast(&sup_coeff)); + register_param("componentExp", reinterpret_cast(&sup_np)); get_keyval(conf, "period", period, period); get_keyval(conf, "wrapAround", wrap_center, wrap_center); + // TODO when init() is called after all constructors, check periodic flag + register_param("period", reinterpret_cast(&period)); + register_param("wrapAround", reinterpret_cast(&wrap_center)); - get_keyval_feature(dynamic_cast(this), conf, "debugGradients", + get_keyval_feature(this, conf, "debugGradients", f_cvc_debug_gradient, false, parse_silent); bool b_no_PBC = !is_enabled(f_cvc_pbc_minimum_image); // Enabled by default @@ -194,6 +198,14 @@ int colvar::cvc::init_dependencies() { init_feature(f_cvc_scalar, "scalar", f_type_static); + init_feature(f_cvc_periodic, "periodic", f_type_static); + + init_feature(f_cvc_width, "defined width", f_type_static); + + init_feature(f_cvc_lower_boundary, "defined lower boundary", f_type_static); + + init_feature(f_cvc_upper_boundary, "defined upper boundary", f_type_static); + init_feature(f_cvc_gradient, "gradient", f_type_dynamic); init_feature(f_cvc_explicit_gradient, "explicit gradient", f_type_static); @@ -209,15 +221,15 @@ int colvar::cvc::init_dependencies() { init_feature(f_cvc_Jacobian, "Jacobian derivative", f_type_dynamic); require_feature_self(f_cvc_Jacobian, f_cvc_inv_gradient); - init_feature(f_cvc_com_based, "depends on group centers of mass", f_type_static); - - init_feature(f_cvc_pbc_minimum_image, "use minimum-image distances with PBCs", f_type_user); - // Compute total force on first site only to avoid unwanted // coupling to other colvars (see e.g. Ciccotti et al., 2005) init_feature(f_cvc_one_site_total_force, "compute total force from one group", f_type_user); require_feature_self(f_cvc_one_site_total_force, f_cvc_com_based); + init_feature(f_cvc_com_based, "depends on group centers of mass", f_type_static); + + init_feature(f_cvc_pbc_minimum_image, "use minimum-image distances with PBCs", f_type_user); + init_feature(f_cvc_scalable, "scalable calculation", f_type_static); require_feature_self(f_cvc_scalable, f_cvc_scalable_com); @@ -291,6 +303,77 @@ colvar::cvc::~cvc() } +void colvar::cvc::init_as_distance() +{ + x.type(colvarvalue::type_scalar); + enable(f_cvc_lower_boundary); + lower_boundary.type(colvarvalue::type_scalar); + lower_boundary.real_value = 0.0; + register_param("lowerBoundary", reinterpret_cast(&lower_boundary)); +} + + +void colvar::cvc::init_as_angle() +{ + x.type(colvarvalue::type_scalar); + init_scalar_boundaries(0.0, 180); +} + + +void colvar::cvc::init_scalar_boundaries(cvm::real lb, cvm::real ub) +{ + enable(f_cvc_lower_boundary); + lower_boundary.type(colvarvalue::type_scalar); + lower_boundary.real_value = lb; + enable(f_cvc_upper_boundary); + upper_boundary.type(colvarvalue::type_scalar); + upper_boundary.real_value = ub; + register_param("lowerBoundary", reinterpret_cast(&lower_boundary)); + register_param("upperBoundary", reinterpret_cast(&upper_boundary)); +} + + +void colvar::cvc::register_atom_group(cvm::atom_group *ag) +{ + atom_groups.push_back(ag); + add_child(ag); +} + + +colvarvalue const *colvar::cvc::get_param_grad(std::string const ¶m_name) +{ + colvarvalue const *ptr = + reinterpret_cast(get_param_grad_ptr(param_name)); + return ptr != NULL ? ptr : NULL; +} + + +int colvar::cvc::set_param(std::string const ¶m_name, + void const *new_value) +{ + if (param_map.count(param_name) > 0) { + + // TODO When we can use C++11, make this a proper function map + if (param_name.compare("componentCoeff") == 0) { + sup_coeff = *(reinterpret_cast(new_value)); + } + if (param_name.compare("componentExp") == 0) { + sup_np = *(reinterpret_cast(new_value)); + } + if (is_enabled(f_cvc_periodic)) { + if (param_name.compare("period") == 0) { + period = *(reinterpret_cast(new_value)); + } + if (param_name.compare("wrapAround") == 0) { + wrap_center = *(reinterpret_cast(new_value)); + } + } + } + + return colvarparams::set_param(param_name, new_value); +} + + void colvar::cvc::read_data() { size_t ig; @@ -537,7 +620,7 @@ colvarvalue colvar::cvc::dist2_rgrad(colvarvalue const &x1, } -void colvar::cvc::wrap(colvarvalue &x_unwrapped) const +void colvar::cvc::wrap(colvarvalue & /* x_unwrapped */) const { return; } diff --git a/lib/colvars/colvarcomp.h b/lib/colvars/colvarcomp.h index 1d95cbe6007e747a9481eee3f546bbdf3f67e91b..1ab7d170311e7e9efdac2436d0bb0580b743932e 100644 --- a/lib/colvars/colvarcomp.h +++ b/lib/colvars/colvarcomp.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -23,11 +23,13 @@ #include "colvarmodule.h" #include "colvar.h" #include "colvaratoms.h" +#include "colvar_arithmeticpath.h" #if (__cplusplus >= 201103L) +// C++11-only functions #include "colvar_geometricpath.h" #include -#endif // C++11 checking +#endif #include @@ -97,10 +99,7 @@ public: /// \brief Exponent in the polynomial combination (default: 1) int sup_np; - /// \brief Is this a periodic component? - bool b_periodic; - - /// \brief Period of this cvc value, (default: 0.0, non periodic) + /// \brief Period of the values of this CVC (default: 0.0, non periodic) cvm::real period; /// \brief If the component is periodic, wrap around this value (default: 0.0) @@ -261,10 +260,13 @@ public: std::vector atom_groups; /// \brief Store a pointer to new atom group, and list as child for dependencies - inline void register_atom_group(cvm::atom_group *ag) { - atom_groups.push_back(ag); - add_child(ag); - } + void register_atom_group(cvm::atom_group *ag); + + /// Pointer to the gradient of parameter param_name + virtual colvarvalue const *get_param_grad(std::string const ¶m_name); + + /// Set the named parameter to the given value + virtual int set_param(std::string const ¶m_name, void const *new_value); /// \brief Whether or not this CVC will be computed in parallel whenever possible bool b_try_scalable; @@ -286,6 +288,24 @@ protected: /// \brief Calculated Jacobian derivative (divergence of the inverse /// gradients): serves to calculate the phase space correction colvarvalue jd; + + /// \brief Set data types for a scalar distance (convenience function) + void init_as_distance(); + + /// \brief Set data types for a bounded angle (convenience function) + void init_as_angle(); + + /// \brief Set two scalar boundaries (convenience function) + void init_scalar_boundaries(cvm::real lb, cvm::real ub); + + /// \brief Location of the lower boundary (not defined by user choice) + colvarvalue lower_boundary; + + /// \brief Location of the upper boundary (not defined by user choice) + colvarvalue upper_boundary; + + /// \brief CVC-specific default colvar width + cvm::real width; }; @@ -538,7 +558,6 @@ protected: bool b_no_PBC; public: distance_inv(std::string const &conf); - distance_inv(); virtual ~distance_inv() {} virtual void calc_value(); virtual void calc_gradients(); @@ -614,9 +633,7 @@ protected: /// Atoms involved cvm::atom_group *atoms; public: - /// Constructor gyration(std::string const &conf); - gyration(); virtual ~gyration() {} virtual void calc_value(); virtual void calc_gradients(); @@ -752,7 +769,6 @@ public: angle(std::string const &conf); /// \brief Initialize the three groups after three atoms angle(cvm::atom const &a1, cvm::atom const &a2, cvm::atom const &a3); - angle(); virtual ~angle() {} virtual void calc_value(); virtual void calc_gradients(); @@ -902,7 +918,6 @@ protected: public: coordnum(std::string const &conf); - coordnum(); ~coordnum(); virtual void calc_value(); @@ -972,7 +987,6 @@ protected: public: selfcoordnum(std::string const &conf); - selfcoordnum(); ~selfcoordnum(); virtual void calc_value(); virtual void calc_gradients(); @@ -1011,7 +1025,6 @@ protected: public: /// Constructor groupcoordnum(std::string const &conf); - groupcoordnum(); virtual ~groupcoordnum() {} virtual void calc_value(); virtual void calc_gradients(); @@ -1232,7 +1245,6 @@ class colvar::orientation_angle public: orientation_angle(std::string const &conf); - orientation_angle(); virtual int init(std::string const &conf); virtual ~orientation_angle() {} virtual void calc_value(); @@ -1285,7 +1297,6 @@ protected: public: tilt(std::string const &conf); - tilt(); virtual int init(std::string const &conf); virtual ~tilt() {} virtual void calc_value(); @@ -1394,13 +1405,13 @@ class colvar::componentDisabled : public colvar::cvc { public: - componentDisabled(std::string const &conf) { + componentDisabled(std::string const & /* conf */) { cvm::error("Error: this component is not enabled in the current build; please see https://colvars.github.io/README-c++11.html"); } virtual ~componentDisabled() {} virtual void calc_value() {} virtual void calc_gradients() {} - virtual void apply_force(colvarvalue const &force) {} + virtual void apply_force(colvarvalue const & /* force */) {} }; @@ -1410,7 +1421,7 @@ class colvar::CartesianBasedPath : public colvar::cvc { protected: - virtual void computeReferenceDistance(std::vector& result); + virtual void computeDistanceToReferenceFrames(std::vector& result); /// Selected atoms cvm::atom_group *atoms; /// Fitting options @@ -1440,7 +1451,7 @@ private: cvm::rotation rot_v3; protected: virtual void prepareVectors(); - virtual void updateReferenceDistances(); + virtual void updateDistanceToReferenceFrames(); public: gspath(std::string const &conf); virtual ~gspath() {} @@ -1462,7 +1473,7 @@ private: cvm::rotation rot_v4; protected: virtual void prepareVectors(); - virtual void updateReferenceDistances(); + virtual void updateDistanceToReferenceFrames(); public: gzpath(std::string const &conf); virtual ~gzpath() {} @@ -1501,14 +1512,16 @@ protected: std::map> string_cv_map; /// Sub-colvar components std::vector cv; - /// Refernce colvar values from path + /// Reference colvar values from path std::vector> ref_cv; /// If all sub-cvs use explicit gradients then we also use it bool use_explicit_gradients; /// Total number of reference frames size_t total_reference_frames; protected: - virtual void computeReferenceDistance(std::vector& result); + virtual void computeDistanceToReferenceFrames(std::vector& result); + /// Helper function to determine the distance between reference frames + virtual void computeDistanceBetweenReferenceFrames(std::vector& result) const; cvm::real getPolynomialFactorOfCVGradient(size_t i_cv) const; public: CVBasedPath(std::string const &conf); @@ -1526,7 +1539,7 @@ class colvar::gspathCV : public colvar::CVBasedPath, public GeometricPathCV::GeometricPathBase { protected: - virtual void updateReferenceDistances(); + virtual void updateDistanceToReferenceFrames(); virtual void prepareVectors(); public: gspathCV(std::string const &conf); @@ -1542,7 +1555,7 @@ class colvar::gzpathCV : public colvar::CVBasedPath, public GeometricPathCV::GeometricPathBase { protected: - virtual void updateReferenceDistances(); + virtual void updateDistanceToReferenceFrames(); virtual void prepareVectors(); public: gzpathCV(std::string const &conf); @@ -1552,6 +1565,35 @@ public: virtual void apply_force(colvarvalue const &force); }; + + +class colvar::aspathCV + : public colvar::CVBasedPath, public ArithmeticPathCV::ArithmeticPathBase +{ +protected: + virtual void updateDistanceToReferenceFrames(); +public: + aspathCV(std::string const &conf); + virtual ~aspathCV(); + virtual void calc_value(); + virtual void calc_gradients(); + virtual void apply_force(colvarvalue const &force); +}; + + +class colvar::azpathCV + : public colvar::CVBasedPath, public ArithmeticPathCV::ArithmeticPathBase +{ +protected: + virtual void updateDistanceToReferenceFrames(); +public: + azpathCV(std::string const &conf); + virtual ~azpathCV(); + virtual void calc_value(); + virtual void calc_gradients(); + virtual void apply_force(colvarvalue const &force); +}; + #else // if the compiler doesn't support C++11 class colvar::linearCombination @@ -1603,6 +1645,20 @@ public: gzpathCV(std::string const &conf) : componentDisabled(conf) {} }; +class colvar::aspathCV + : public colvar::componentDisabled +{ +public: + aspathCV(std::string const &conf) : componentDisabled(conf) {} +}; + +class colvar::azpathCV + : public colvar::componentDisabled +{ +public: + azpathCV(std::string const &conf) : componentDisabled(conf) {} +}; + #endif // C++11 checking // metrics functions for cvc implementations diff --git a/lib/colvars/colvarcomp_angles.cpp b/lib/colvars/colvarcomp_angles.cpp index 97fb23b18100b56640d613b4471910f0072c92d8..28d76771472534b02c50d8dedb943e353896dbc7 100644 --- a/lib/colvars/colvarcomp_angles.cpp +++ b/lib/colvars/colvarcomp_angles.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -16,6 +16,8 @@ colvar::angle::angle(std::string const &conf) : cvc(conf) { function_type = "angle"; + init_as_angle(); + provide(f_cvc_inv_gradient); provide(f_cvc_Jacobian); enable(f_cvc_com_based); @@ -25,8 +27,6 @@ colvar::angle::angle(std::string const &conf) group3 = parse_group(conf, "group3"); init_total_force_params(conf); - - x.type(colvarvalue::type_scalar); } @@ -35,6 +35,8 @@ colvar::angle::angle(cvm::atom const &a1, cvm::atom const &a3) { function_type = "angle"; + init_as_angle(); + provide(f_cvc_inv_gradient); provide(f_cvc_Jacobian); enable(f_cvc_com_based); @@ -45,15 +47,6 @@ colvar::angle::angle(cvm::atom const &a1, register_atom_group(group1); register_atom_group(group2); register_atom_group(group3); - - x.type(colvarvalue::type_scalar); -} - - -colvar::angle::angle() -{ - function_type = "angle"; - x.type(colvarvalue::type_scalar); } @@ -148,13 +141,13 @@ colvar::dipole_angle::dipole_angle(std::string const &conf) : cvc(conf) { function_type = "dipole_angle"; + init_as_angle(); + group1 = parse_group(conf, "group1"); group2 = parse_group(conf, "group2"); group3 = parse_group(conf, "group3"); init_total_force_params(conf); - - x.type(colvarvalue::type_scalar); } @@ -178,6 +171,7 @@ colvar::dipole_angle::dipole_angle(cvm::atom const &a1, colvar::dipole_angle::dipole_angle() { function_type = "dipole_angle"; + init_as_angle(); x.type(colvarvalue::type_scalar); } @@ -259,7 +253,7 @@ colvar::dihedral::dihedral(std::string const &conf) { function_type = "dihedral"; period = 360.0; - b_periodic = true; + enable(f_cvc_periodic); provide(f_cvc_inv_gradient); provide(f_cvc_Jacobian); enable(f_cvc_com_based); @@ -285,7 +279,7 @@ colvar::dihedral::dihedral(cvm::atom const &a1, function_type = "dihedral"; period = 360.0; - b_periodic = true; + enable(f_cvc_periodic); provide(f_cvc_inv_gradient); provide(f_cvc_Jacobian); enable(f_cvc_com_based); @@ -312,7 +306,7 @@ colvar::dihedral::dihedral() { function_type = "dihedral"; period = 360.0; - b_periodic = true; + enable(f_cvc_periodic); provide(f_cvc_inv_gradient); provide(f_cvc_Jacobian); x.type(colvarvalue::type_scalar); diff --git a/lib/colvars/colvarcomp_apath.cpp b/lib/colvars/colvarcomp_apath.cpp new file mode 100644 index 0000000000000000000000000000000000000000..591d8d001252b1c8e8ab0d147a04dc4a8338aa10 --- /dev/null +++ b/lib/colvars/colvarcomp_apath.cpp @@ -0,0 +1,192 @@ +#if (__cplusplus >= 201103L) + +#include +#include +#include +#include +#include + +#include "colvarmodule.h" +#include "colvarvalue.h" +#include "colvarparse.h" +#include "colvar.h" +#include "colvarcomp.h" + +colvar::aspathCV::aspathCV(std::string const &conf): CVBasedPath(conf) { + function_type = "aspathCV"; + cvm::log(std::string("Total number of frames: ") + cvm::to_str(total_reference_frames) + std::string("\n")); + std::vector p_weights(cv.size(), 1.0); + get_keyval(conf, "weights", p_weights, std::vector(cv.size(), 1.0)); + x.type(colvarvalue::type_scalar); + use_explicit_gradients = true; + std::vector rmsd_between_refs(total_reference_frames - 1, 0.0); + computeDistanceBetweenReferenceFrames(rmsd_between_refs); + cvm::real mean_square_displacements = 0.0; + for (size_t i_frame = 1; i_frame < total_reference_frames; ++i_frame) { + cvm::log(std::string("Distance between frame ") + cvm::to_str(i_frame) + " and " + cvm::to_str(i_frame + 1) + " is " + cvm::to_str(rmsd_between_refs[i_frame - 1]) + std::string("\n")); + mean_square_displacements += rmsd_between_refs[i_frame - 1] * rmsd_between_refs[i_frame - 1]; + } + mean_square_displacements /= cvm::real(total_reference_frames - 1); + cvm::real suggested_lambda = 1.0 / mean_square_displacements; + cvm::real p_lambda; + get_keyval(conf, "lambda", p_lambda, suggested_lambda); + ArithmeticPathCV::ArithmeticPathBase::initialize(cv.size(), total_reference_frames, p_lambda, ref_cv[0], p_weights); + cvm::log(std::string("Lambda is ") + cvm::to_str(lambda) + std::string("\n")); + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + if (!cv[i_cv]->is_enabled(f_cvc_explicit_gradient)) { + use_explicit_gradients = false; + } + cvm::log(std::string("The weight of CV ") + cvm::to_str(i_cv) + std::string(" is ") + cvm::to_str(weights[i_cv]) + std::string("\n")); + } +} + +void colvar::aspathCV::updateDistanceToReferenceFrames() { + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + cv[i_cv]->calc_value(); + } + for (size_t i_frame = 0; i_frame < ref_cv.size(); ++i_frame) { + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + colvarvalue ref_cv_value(ref_cv[i_frame][i_cv]); + colvarvalue current_cv_value(cv[i_cv]->value()); + if (current_cv_value.type() == colvarvalue::type_scalar) { + frame_element_distances[i_frame][i_cv] = 0.5 * cv[i_cv]->dist2_lgrad(cv[i_cv]->sup_coeff * (cvm::pow(current_cv_value.real_value, cv[i_cv]->sup_np)), ref_cv_value.real_value); + } else { + frame_element_distances[i_frame][i_cv] = 0.5 * cv[i_cv]->dist2_lgrad(cv[i_cv]->sup_coeff * current_cv_value, ref_cv_value); + } + } + } +} + +void colvar::aspathCV::calc_value() { + computeValue(); + x = s; +} + +void colvar::aspathCV::calc_gradients() { + computeDerivatives(); + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + cv[i_cv]->calc_gradients(); + if ( cv[i_cv]->is_enabled(f_cvc_explicit_gradient) && + !cv[i_cv]->is_enabled(f_cvc_scalable) && + !cv[i_cv]->is_enabled(f_cvc_scalable_com)) { + cvm::real factor_polynomial = getPolynomialFactorOfCVGradient(i_cv); + for (size_t j_elem = 0; j_elem < cv[i_cv]->value().size(); ++j_elem) { + for (size_t k_ag = 0 ; k_ag < cv[i_cv]->atom_groups.size(); ++k_ag) { + for (size_t l_atom = 0; l_atom < (cv[i_cv]->atom_groups)[k_ag]->size(); ++l_atom) { + (*(cv[i_cv]->atom_groups)[k_ag])[l_atom].grad = dsdx[i_cv][j_elem] * factor_polynomial * (*(cv[i_cv]->atom_groups)[k_ag])[l_atom].grad; + } + } + } + } + } +} + +void colvar::aspathCV::apply_force(colvarvalue const &force) { + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + if ( cv[i_cv]->is_enabled(f_cvc_explicit_gradient) && + !cv[i_cv]->is_enabled(f_cvc_scalable) && + !cv[i_cv]->is_enabled(f_cvc_scalable_com) + ) { + for (size_t k_ag = 0 ; k_ag < cv[i_cv]->atom_groups.size(); ++k_ag) { + (cv[i_cv]->atom_groups)[k_ag]->apply_colvar_force(force.real_value); + } + } else { + cvm::real factor_polynomial = getPolynomialFactorOfCVGradient(i_cv); + colvarvalue cv_force = dsdx[i_cv] * force.real_value * factor_polynomial; + cv[i_cv]->apply_force(cv_force); + } + } +} + +colvar::aspathCV::~aspathCV() {} + +colvar::azpathCV::azpathCV(std::string const &conf): CVBasedPath(conf) { + function_type = "azpathCV"; + cvm::log(std::string("Total number of frames: ") + cvm::to_str(total_reference_frames) + std::string("\n")); + std::vector p_weights(cv.size(), 1.0); + get_keyval(conf, "weights", p_weights, std::vector(cv.size(), 1.0)); + x.type(colvarvalue::type_scalar); + use_explicit_gradients = true; + std::vector rmsd_between_refs(total_reference_frames - 1, 0.0); + computeDistanceBetweenReferenceFrames(rmsd_between_refs); + cvm::real mean_square_displacements = 0.0; + for (size_t i_frame = 1; i_frame < total_reference_frames; ++i_frame) { + cvm::log(std::string("Distance between frame ") + cvm::to_str(i_frame) + " and " + cvm::to_str(i_frame + 1) + " is " + cvm::to_str(rmsd_between_refs[i_frame - 1]) + std::string("\n")); + mean_square_displacements += rmsd_between_refs[i_frame - 1] * rmsd_between_refs[i_frame - 1]; + } + mean_square_displacements /= cvm::real(total_reference_frames - 1); + cvm::real suggested_lambda = 1.0 / mean_square_displacements; + cvm::real p_lambda; + get_keyval(conf, "lambda", p_lambda, suggested_lambda); + ArithmeticPathCV::ArithmeticPathBase::initialize(cv.size(), total_reference_frames, p_lambda, ref_cv[0], p_weights); + cvm::log(std::string("Lambda is ") + cvm::to_str(lambda) + std::string("\n")); + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + if (!cv[i_cv]->is_enabled(f_cvc_explicit_gradient)) { + use_explicit_gradients = false; + } + cvm::log(std::string("The weight of CV ") + cvm::to_str(i_cv) + std::string(" is ") + cvm::to_str(weights[i_cv]) + std::string("\n")); + } +} + +void colvar::azpathCV::updateDistanceToReferenceFrames() { + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + cv[i_cv]->calc_value(); + } + for (size_t i_frame = 0; i_frame < ref_cv.size(); ++i_frame) { + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + colvarvalue ref_cv_value(ref_cv[i_frame][i_cv]); + colvarvalue current_cv_value(cv[i_cv]->value()); + if (current_cv_value.type() == colvarvalue::type_scalar) { + frame_element_distances[i_frame][i_cv] = 0.5 * cv[i_cv]->dist2_lgrad(cv[i_cv]->sup_coeff * (cvm::pow(current_cv_value.real_value, cv[i_cv]->sup_np)), ref_cv_value.real_value); + } else { + frame_element_distances[i_frame][i_cv] = 0.5 * cv[i_cv]->dist2_lgrad(cv[i_cv]->sup_coeff * current_cv_value, ref_cv_value); + } + } + } +} + +void colvar::azpathCV::calc_value() { + computeValue(); + x = z; +} + +void colvar::azpathCV::calc_gradients() { + computeDerivatives(); + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + cv[i_cv]->calc_gradients(); + if ( cv[i_cv]->is_enabled(f_cvc_explicit_gradient) && + !cv[i_cv]->is_enabled(f_cvc_scalable) && + !cv[i_cv]->is_enabled(f_cvc_scalable_com)) { + cvm::real factor_polynomial = getPolynomialFactorOfCVGradient(i_cv); + for (size_t j_elem = 0; j_elem < cv[i_cv]->value().size(); ++j_elem) { + for (size_t k_ag = 0 ; k_ag < cv[i_cv]->atom_groups.size(); ++k_ag) { + for (size_t l_atom = 0; l_atom < (cv[i_cv]->atom_groups)[k_ag]->size(); ++l_atom) { + (*(cv[i_cv]->atom_groups)[k_ag])[l_atom].grad = dzdx[i_cv][j_elem] * factor_polynomial * (*(cv[i_cv]->atom_groups)[k_ag])[l_atom].grad; + } + } + } + + } + } +} + +void colvar::azpathCV::apply_force(colvarvalue const &force) { + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + if ( cv[i_cv]->is_enabled(f_cvc_explicit_gradient) && + !cv[i_cv]->is_enabled(f_cvc_scalable) && + !cv[i_cv]->is_enabled(f_cvc_scalable_com) + ) { + for (size_t k_ag = 0 ; k_ag < cv[i_cv]->atom_groups.size(); ++k_ag) { + (cv[i_cv]->atom_groups)[k_ag]->apply_colvar_force(force.real_value); + } + } else { + cvm::real factor_polynomial = getPolynomialFactorOfCVGradient(i_cv); + const colvarvalue cv_force = dzdx[i_cv] * force.real_value * factor_polynomial; + cv[i_cv]->apply_force(cv_force); + } + } +} + +colvar::azpathCV::~azpathCV() {} + +#endif diff --git a/lib/colvars/colvarcomp_coordnums.cpp b/lib/colvars/colvarcomp_coordnums.cpp index b6dd6535efc6d9860f6e2dcfe1b54d1b36d7bc50..f0fbabfc4fd3d9a2e0ba6dcea4b299f8fb1d28fc 100644 --- a/lib/colvars/colvarcomp_coordnums.cpp +++ b/lib/colvars/colvarcomp_coordnums.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -97,6 +97,8 @@ colvar::coordnum::coordnum(std::string const &conf) function_type = "coordnum"; x.type(colvarvalue::type_scalar); + colvarproxy *proxy = cvm::main()->proxy; + group1 = parse_group(conf, "group1"); group2 = parse_group(conf, "group2"); @@ -119,12 +121,12 @@ colvar::coordnum::coordnum(std::string const &conf) } bool const b_isotropic = get_keyval(conf, "cutoff", r0, - cvm::real(4.0 * cvm::unit_angstrom())); + cvm::real(4.0 * proxy->angstrom_value)); if (get_keyval(conf, "cutoff3", r0_vec, - cvm::rvector(4.0 * cvm::unit_angstrom(), - 4.0 * cvm::unit_angstrom(), - 4.0 * cvm::unit_angstrom()))) { + cvm::rvector(4.0 * proxy->angstrom_value, + 4.0 * proxy->angstrom_value, + 4.0 * proxy->angstrom_value))) { if (b_isotropic) { cvm::error("Error: cannot specify \"cutoff\" and \"cutoff3\" " "at the same time.\n", @@ -174,14 +176,8 @@ colvar::coordnum::coordnum(std::string const &conf) } } -} - - -colvar::coordnum::coordnum() - : b_anisotropic(false), pairlist(NULL) -{ - function_type = "coordnum"; - x.type(colvarvalue::type_scalar); + init_scalar_boundaries(0.0, b_group2_center_only ? group1->size() : + group1->size() * group2->size()); } @@ -310,10 +306,13 @@ colvar::h_bond::h_bond(std::string const &conf) function_type = "h_bond"; x.type(colvarvalue::type_scalar); + init_scalar_boundaries(0.0, 1.0); - int a_num, d_num; - get_keyval(conf, "acceptor", a_num, -1); - get_keyval(conf, "donor", d_num, -1); + colvarproxy *proxy = cvm::main()->proxy; + + int a_num = -1, d_num = -1; + get_keyval(conf, "acceptor", a_num, a_num); + get_keyval(conf, "donor", d_num, a_num); if ( (a_num == -1) || (d_num == -1) ) { cvm::error("Error: either acceptor or donor undefined.\n"); @@ -326,7 +325,7 @@ colvar::h_bond::h_bond(std::string const &conf) atom_groups[0]->add_atom(acceptor); atom_groups[0]->add_atom(donor); - get_keyval(conf, "cutoff", r0, (3.3 * cvm::unit_angstrom())); + get_keyval(conf, "cutoff", r0, (3.3 * proxy->angstrom_value)); get_keyval(conf, "expNumer", en, 6); get_keyval(conf, "expDenom", ed, 8); @@ -352,6 +351,7 @@ colvar::h_bond::h_bond(cvm::atom const &acceptor, { function_type = "h_bond"; x.type(colvarvalue::type_scalar); + init_scalar_boundaries(0.0, 1.0); register_atom_group(new cvm::atom_group); atom_groups[0]->add_atom(acceptor); @@ -359,14 +359,6 @@ colvar::h_bond::h_bond(cvm::atom const &acceptor, } -colvar::h_bond::h_bond() - : cvc() -{ - function_type = "h_bond"; - x.type(colvarvalue::type_scalar); -} - - void colvar::h_bond::calc_value() { int const flags = coordnum::ef_null; @@ -406,9 +398,11 @@ colvar::selfcoordnum::selfcoordnum(std::string const &conf) function_type = "selfcoordnum"; x.type(colvarvalue::type_scalar); + colvarproxy *proxy = cvm::main()->proxy; + group1 = parse_group(conf, "group1"); - get_keyval(conf, "cutoff", r0, cvm::real(4.0 * cvm::unit_angstrom())); + get_keyval(conf, "cutoff", r0, cvm::real(4.0 * proxy->angstrom_value)); get_keyval(conf, "expNumer", en, 6); get_keyval(conf, "expDenom", ed, 12); @@ -437,14 +431,8 @@ colvar::selfcoordnum::selfcoordnum(std::string const &conf) } pairlist = new bool[(group1->size()-1) * (group1->size()-1)]; } -} - -colvar::selfcoordnum::selfcoordnum() - : pairlist(NULL) -{ - function_type = "selfcoordnum"; - x.type(colvarvalue::type_scalar); + init_scalar_boundaries(0.0, (group1->size()-1) * (group1->size()-1)); } @@ -553,6 +541,9 @@ colvar::groupcoordnum::groupcoordnum(std::string const &conf) { function_type = "groupcoordnum"; x.type(colvarvalue::type_scalar); + init_scalar_boundaries(0.0, 1.0); + + colvarproxy *proxy = cvm::main()->proxy; // group1 and group2 are already initialized by distance() if (group1->b_dummy || group2->b_dummy) { @@ -561,7 +552,7 @@ colvar::groupcoordnum::groupcoordnum(std::string const &conf) } bool const b_scale = get_keyval(conf, "cutoff", r0, - cvm::real(4.0 * cvm::unit_angstrom())); + cvm::real(4.0 * proxy->angstrom_value)); if (get_keyval(conf, "cutoff3", r0_vec, cvm::rvector(4.0, 4.0, 4.0), parse_silent)) { @@ -598,14 +589,6 @@ colvar::groupcoordnum::groupcoordnum(std::string const &conf) } -colvar::groupcoordnum::groupcoordnum() - : b_anisotropic(false) -{ - function_type = "groupcoordnum"; - x.type(colvarvalue::type_scalar); -} - - void colvar::groupcoordnum::calc_value() { // create fake atoms to hold the com coordinates diff --git a/lib/colvars/colvarcomp_distances.cpp b/lib/colvars/colvarcomp_distances.cpp index 7cb4c30c311fbcfc1376f505e16026fb582b970a..c3c1ee55d551bf8cf62d4fa383b9200f5ec6c60e 100644 --- a/lib/colvars/colvarcomp_distances.cpp +++ b/lib/colvars/colvarcomp_distances.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -19,6 +19,8 @@ colvar::distance::distance(std::string const &conf) : cvc(conf) { function_type = "distance"; + init_as_distance(); + provide(f_cvc_inv_gradient); provide(f_cvc_Jacobian); enable(f_cvc_com_based); @@ -27,8 +29,6 @@ colvar::distance::distance(std::string const &conf) group2 = parse_group(conf, "group2"); init_total_force_params(conf); - - x.type(colvarvalue::type_scalar); } @@ -36,10 +36,11 @@ colvar::distance::distance() : cvc() { function_type = "distance"; + init_as_distance(); + provide(f_cvc_inv_gradient); provide(f_cvc_Jacobian); enable(f_cvc_com_based); - x.type(colvarvalue::type_scalar); } @@ -177,7 +178,7 @@ colvar::distance_z::distance_z(std::string const &conf) // TODO detect PBC from MD engine (in simple cases) // and then update period in real time if (period != 0.0) - b_periodic = true; + enable(f_cvc_periodic); if ((wrap_center != 0.0) && (period == 0.0)) { cvm::error("Error: wrapAround was defined in a distanceZ component," @@ -317,7 +318,7 @@ cvm::real colvar::distance_z::dist2(colvarvalue const &x1, colvarvalue const &x2) const { cvm::real diff = x1.real_value - x2.real_value; - if (b_periodic) { + if (is_enabled(f_cvc_periodic)) { cvm::real shift = cvm::floor(diff/period + 0.5); diff -= shift * period; } @@ -329,7 +330,7 @@ colvarvalue colvar::distance_z::dist2_lgrad(colvarvalue const &x1, colvarvalue const &x2) const { cvm::real diff = x1.real_value - x2.real_value; - if (b_periodic) { + if (is_enabled(f_cvc_periodic)) { cvm::real shift = cvm::floor(diff/period + 0.5); diff -= shift * period; } @@ -341,7 +342,7 @@ colvarvalue colvar::distance_z::dist2_rgrad(colvarvalue const &x1, colvarvalue const &x2) const { cvm::real diff = x1.real_value - x2.real_value; - if (b_periodic) { + if (is_enabled(f_cvc_periodic)) { cvm::real shift = cvm::floor(diff/period + 0.5); diff -= shift * period; } @@ -351,15 +352,13 @@ colvarvalue colvar::distance_z::dist2_rgrad(colvarvalue const &x1, void colvar::distance_z::wrap(colvarvalue &x_unwrapped) const { - if (!b_periodic) { + if (!is_enabled(f_cvc_periodic)) { // don't wrap if the period has not been set return; } - cvm::real shift = cvm::floor((x_unwrapped.real_value - wrap_center) / period + 0.5); x_unwrapped.real_value -= shift * period; - return; } @@ -368,10 +367,11 @@ colvar::distance_xy::distance_xy(std::string const &conf) : distance_z(conf) { function_type = "distance_xy"; + init_as_distance(); + provide(f_cvc_inv_gradient); provide(f_cvc_Jacobian); enable(f_cvc_com_based); - x.type(colvarvalue::type_scalar); } @@ -379,10 +379,11 @@ colvar::distance_xy::distance_xy() : distance_z() { function_type = "distance_xy"; + init_as_distance(); + provide(f_cvc_inv_gradient); provide(f_cvc_Jacobian); enable(f_cvc_com_based); - x.type(colvarvalue::type_scalar); } @@ -557,6 +558,7 @@ colvar::distance_inv::distance_inv(std::string const &conf) : cvc(conf) { function_type = "distance_inv"; + init_as_distance(); group1 = parse_group(conf, "group1"); group2 = parse_group(conf, "group2"); @@ -585,16 +587,6 @@ colvar::distance_inv::distance_inv(std::string const &conf) "for distanceInv, because its value and gradients are computed " "simultaneously.\n"); } - - x.type(colvarvalue::type_scalar); -} - - -colvar::distance_inv::distance_inv() -{ - function_type = "distance_inv"; - exponent = 6; - x.type(colvarvalue::type_scalar); } @@ -807,6 +799,8 @@ colvar::gyration::gyration(std::string const &conf) : cvc(conf) { function_type = "gyration"; + init_as_distance(); + provide(f_cvc_inv_gradient); provide(f_cvc_Jacobian); atoms = parse_group(conf, "atoms"); @@ -818,17 +812,6 @@ colvar::gyration::gyration(std::string const &conf) atoms->ref_pos.assign(1, cvm::atom_pos(0.0, 0.0, 0.0)); atoms->fit_gradients.assign(atoms->size(), cvm::rvector(0.0, 0.0, 0.0)); } - - x.type(colvarvalue::type_scalar); -} - - -colvar::gyration::gyration() -{ - function_type = "gyration"; - provide(f_cvc_inv_gradient); - provide(f_cvc_Jacobian); - x.type(colvarvalue::type_scalar); } @@ -885,14 +868,7 @@ colvar::inertia::inertia(std::string const &conf) : gyration(conf) { function_type = "inertia"; - x.type(colvarvalue::type_scalar); -} - - -colvar::inertia::inertia() -{ - function_type = "inertia"; - x.type(colvarvalue::type_scalar); + init_as_distance(); } @@ -928,9 +904,10 @@ colvar::inertia_z::inertia_z(std::string const &conf) : inertia(conf) { function_type = "inertia_z"; + init_as_distance(); if (get_keyval(conf, "axis", axis, cvm::rvector(0.0, 0.0, 1.0))) { if (axis.norm2() == 0.0) { - cvm::error("Axis vector is zero!"); + cvm::error("Axis vector is zero!", INPUT_ERROR); return; } if (axis.norm2() != 1.0) { @@ -938,14 +915,6 @@ colvar::inertia_z::inertia_z(std::string const &conf) cvm::log("The normalized axis is: "+cvm::to_str(axis)+".\n"); } } - x.type(colvarvalue::type_scalar); -} - - -colvar::inertia_z::inertia_z() -{ - function_type = "inertia_z"; - x.type(colvarvalue::type_scalar); } @@ -982,9 +951,10 @@ simple_scalar_dist_functions(inertia) colvar::rmsd::rmsd(std::string const &conf) : cvc(conf) { - provide(f_cvc_inv_gradient); function_type = "rmsd"; - x.type(colvarvalue::type_scalar); + init_as_distance(); + + provide(f_cvc_inv_gradient); atoms = parse_group(conf, "atoms"); diff --git a/lib/colvars/colvarcomp_gpath.cpp b/lib/colvars/colvarcomp_gpath.cpp index 530aaf3284c447c6c6c949708cc1711c6162b504..d563403628a790515663ccbfe25b231e3048ee8f 100644 --- a/lib/colvars/colvarcomp_gpath.cpp +++ b/lib/colvars/colvarcomp_gpath.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -119,9 +119,10 @@ colvar::CartesianBasedPath::~CartesianBasedPath() { (*it_comp_atoms) = nullptr; } } + atom_groups.clear(); } -void colvar::CartesianBasedPath::computeReferenceDistance(std::vector& result) { +void colvar::CartesianBasedPath::computeDistanceToReferenceFrames(std::vector& result) { for (size_t i_frame = 0; i_frame < reference_frames.size(); ++i_frame) { cvm::real frame_rmsd = 0.0; for (size_t i_atom = 0; i_atom < atoms->size(); ++i_atom) { @@ -147,13 +148,16 @@ colvar::gspath::gspath(std::string const &conf): CartesianBasedPath(conf) { } else { cvm::log(std::string("Geometric path s(σ) will use the neighbouring frame to compute s_(m+1)\n")); } + if (total_reference_frames < 2) { + cvm::error("Error: you have specified " + cvm::to_str(total_reference_frames) + " reference frames, but gspath requires at least 2 frames.\n"); + } GeometricPathCV::GeometricPathBase::initialize(atoms->size(), cvm::atom_pos(), total_reference_frames, use_second_closest_frame, use_third_closest_frame); cvm::log(std::string("Geometric pathCV(s) is initialized.\n")); cvm::log(std::string("Geometric pathCV(s) loaded ") + cvm::to_str(reference_frames.size()) + std::string(" frames.\n")); } -void colvar::gspath::updateReferenceDistances() { - computeReferenceDistance(frame_distances); +void colvar::gspath::updateDistanceToReferenceFrames() { + computeDistanceToReferenceFrames(frame_distances); } void colvar::gspath::prepareVectors() { @@ -290,14 +294,17 @@ colvar::gzpath::gzpath(std::string const &conf): CartesianBasedPath(conf) { if (b_use_z_square == true) { cvm::log(std::string("Geometric path z(σ) will use the square of distance from current frame to path compute z\n")); } + if (total_reference_frames < 2) { + cvm::error("Error: you have specified " + cvm::to_str(total_reference_frames) + " reference frames, but gzpath requires at least 2 frames.\n"); + } GeometricPathCV::GeometricPathBase::initialize(atoms->size(), cvm::atom_pos(), total_reference_frames, use_second_closest_frame, use_third_closest_frame, b_use_z_square); // Logging cvm::log(std::string("Geometric pathCV(z) is initialized.\n")); cvm::log(std::string("Geometric pathCV(z) loaded ") + cvm::to_str(reference_frames.size()) + std::string(" frames.\n")); } -void colvar::gzpath::updateReferenceDistances() { - computeReferenceDistance(frame_distances); +void colvar::gzpath::updateDistanceToReferenceFrames() { + computeDistanceToReferenceFrames(frame_distances); } void colvar::gzpath::prepareVectors() { @@ -538,6 +545,7 @@ colvar::CVBasedPath::CVBasedPath(std::string const &conf): cvc(conf) { std::vector fields; split_string(line, token, fields); size_t num_value_required = 0; + cvm::log(std::string("Reading reference frame ") + cvm::to_str(total_reference_frames + 1) + std::string("\n")); for (size_t i_cv = 0; i_cv < tmp_cv.size(); ++i_cv) { const size_t value_size = tmp_cv[i_cv].size(); num_value_required += value_size; @@ -545,10 +553,9 @@ colvar::CVBasedPath::CVBasedPath(std::string const &conf): cvc(conf) { if (num_value_required <= fields.size()) { size_t start_index = num_value_required - value_size; for (size_t i = start_index; i < num_value_required; ++i) { - tmp_cv[i_cv][i] = std::atof(fields[i].c_str()); - cvm::log(fields[i] + std::string(" ")); + tmp_cv[i_cv][i - start_index] = std::atof(fields[i].c_str()); + cvm::log(cvm::to_str(tmp_cv[i_cv][i - start_index])); } - cvm::log(std::string("\n")); } else { cvm::error("Error: incorrect format of path file.\n"); } @@ -558,6 +565,9 @@ colvar::CVBasedPath::CVBasedPath(std::string const &conf): cvc(conf) { ++total_reference_frames; } } + if (total_reference_frames <= 1) { + cvm::error("Error: there is only 1 or 0 reference frame, which doesn't constitute a path.\n"); + } x.type(colvarvalue::type_scalar); use_explicit_gradients = true; for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { @@ -570,7 +580,7 @@ colvar::CVBasedPath::CVBasedPath(std::string const &conf): cvc(conf) { } } -void colvar::CVBasedPath::computeReferenceDistance(std::vector& result) { +void colvar::CVBasedPath::computeDistanceToReferenceFrames(std::vector& result) { for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { cv[i_cv]->calc_value(); } @@ -593,6 +603,20 @@ void colvar::CVBasedPath::computeReferenceDistance(std::vector& resul } } +void colvar::CVBasedPath::computeDistanceBetweenReferenceFrames(std::vector& result) const { + if (ref_cv.size() < 2) return; + for (size_t i_frame = 1; i_frame < ref_cv.size(); ++i_frame) { + cvm::real dist_ij = 0.0; + for (size_t i_cv = 0; i_cv < cv.size(); ++i_cv) { + colvarvalue ref_cv_value(ref_cv[i_frame][i_cv]); + colvarvalue prev_ref_cv_value(ref_cv[i_frame-1][i_cv]); + dist_ij += cv[i_cv]->dist2(ref_cv_value, prev_ref_cv_value); + } + dist_ij = cvm::sqrt(dist_ij); + result[i_frame-1] = dist_ij; + } +} + cvm::real colvar::CVBasedPath::getPolynomialFactorOfCVGradient(size_t i_cv) const { cvm::real factor_polynomial = 1.0; if (cv[i_cv]->value().type() == colvarvalue::type_scalar) { @@ -607,6 +631,7 @@ colvar::CVBasedPath::~CVBasedPath() { for (auto it = cv.begin(); it != cv.end(); ++it) { delete (*it); } + atom_groups.clear(); } colvar::gspathCV::gspathCV(std::string const &conf): CVBasedPath(conf) { @@ -625,6 +650,9 @@ colvar::gspathCV::gspathCV(std::string const &conf): CVBasedPath(conf) { } else { cvm::log(std::string("Geometric path s(σ) will use the neighbouring frame to compute s_(m+1)\n")); } + if (total_reference_frames < 2) { + cvm::error("Error: you have specified " + cvm::to_str(total_reference_frames) + " reference frames, but gspathCV requires at least 2 frames.\n"); + } GeometricPathCV::GeometricPathBase::initialize(cv.size(), ref_cv[0], total_reference_frames, use_second_closest_frame, use_third_closest_frame); x.type(colvarvalue::type_scalar); use_explicit_gradients = true; @@ -641,8 +669,8 @@ colvar::gspathCV::gspathCV(std::string const &conf): CVBasedPath(conf) { colvar::gspathCV::~gspathCV() {} -void colvar::gspathCV::updateReferenceDistances() { - computeReferenceDistance(frame_distances); +void colvar::gspathCV::updateDistanceToReferenceFrames() { + computeDistanceToReferenceFrames(frame_distances); } void colvar::gspathCV::prepareVectors() { @@ -766,6 +794,9 @@ colvar::gzpathCV::gzpathCV(std::string const &conf): CVBasedPath(conf) { if (b_use_z_square == true) { cvm::log(std::string("Geometric path z(σ) will use the square of distance from current frame to path compute z\n")); } + if (total_reference_frames < 2) { + cvm::error("Error: you have specified " + cvm::to_str(total_reference_frames) + " reference frames, but gzpathCV requires at least 2 frames.\n"); + } GeometricPathCV::GeometricPathBase::initialize(cv.size(), ref_cv[0], total_reference_frames, use_second_closest_frame, use_third_closest_frame, b_use_z_square); x.type(colvarvalue::type_scalar); use_explicit_gradients = true; @@ -783,8 +814,8 @@ colvar::gzpathCV::gzpathCV(std::string const &conf): CVBasedPath(conf) { colvar::gzpathCV::~gzpathCV() { } -void colvar::gzpathCV::updateReferenceDistances() { - computeReferenceDistance(frame_distances); +void colvar::gzpathCV::updateDistanceToReferenceFrames() { + computeDistanceToReferenceFrames(frame_distances); } void colvar::gzpathCV::prepareVectors() { diff --git a/lib/colvars/colvarcomp_protein.cpp b/lib/colvars/colvarcomp_protein.cpp index aa61cdf1dcf5f2bec565840731fb7ef5c0969223..3add471c04f7a9e36215c7fbf7c225739e0bbcc4 100644 --- a/lib/colvars/colvarcomp_protein.cpp +++ b/lib/colvars/colvarcomp_protein.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -30,6 +30,8 @@ colvar::alpha_angles::alpha_angles(std::string const &conf) enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); + colvarproxy *proxy = cvm::main()->proxy; + std::string segment_id; get_keyval(conf, "psfSegID", segment_id, std::string("MAIN")); @@ -91,7 +93,7 @@ colvar::alpha_angles::alpha_angles(std::string const &conf) { cvm::real r0; size_t en, ed; - get_keyval(conf, "hBondCutoff", r0, (3.3 * cvm::unit_angstrom())); + get_keyval(conf, "hBondCutoff", r0, (3.3 * proxy->angstrom_value)); get_keyval(conf, "hBondExpNumer", en, 6); get_keyval(conf, "hBondExpDenom", ed, 8); @@ -208,7 +210,7 @@ void colvar::alpha_angles::collect_gradients(std::vector const &atom_ids, s 1.0/(1.0 - (t*t*t*t)) * ( (-2.0 * t) + (-1.0*f)*(-4.0 * (t*t*t)) ); - // Coeficient of this CVC's gradient in the colvar gradient, times coefficient of this + // Coefficient of this CVC's gradient in the colvar gradient, times coefficient of this // angle's gradient in the CVC's gradient cvm::real const coeff = cvc_coeff * theta_norm * dfdt * (1.0/theta_tol); @@ -228,7 +230,7 @@ void colvar::alpha_angles::collect_gradients(std::vector const &atom_ids, s cvm::real const hb_norm = hb_coeff / cvm::real(hb.size()); for (size_t i = 0; i < hb.size(); i++) { - // Coeficient of this CVC's gradient in the colvar gradient, times coefficient of this + // Coefficient of this CVC's gradient in the colvar gradient, times coefficient of this // hbond's gradient in the CVC's gradient cvm::real const coeff = cvc_coeff * 0.5 * hb_norm; @@ -471,7 +473,7 @@ void colvar::dihedPC::collect_gradients(std::vector const &atom_ids, std::v cvm::real const t = (PI / 180.) * theta[i]->value().real_value; cvm::real const dcosdt = - (PI / 180.) * cvm::sin(t); cvm::real const dsindt = (PI / 180.) * cvm::cos(t); - // Coeficient of this dihedPC's gradient in the colvar gradient, times coefficient of this + // Coefficient of this dihedPC's gradient in the colvar gradient, times coefficient of this // dihedral's gradient in the dihedPC's gradient cvm::real const coeff = cvc_coeff * (coeffs[2*i] * dcosdt + coeffs[2*i+1] * dsindt); diff --git a/lib/colvars/colvarcomp_rotations.cpp b/lib/colvars/colvarcomp_rotations.cpp index 3c8d0b4af6341c56be314631ca43fa8223417400..c7a414b00694271325ce7faca860ccd92cedbb86 100644 --- a/lib/colvars/colvarcomp_rotations.cpp +++ b/lib/colvars/colvarcomp_rotations.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -164,8 +164,8 @@ colvar::orientation_angle::orientation_angle(std::string const &conf) : orientation() { function_type = "orientation_angle"; + init_as_angle(); enable(f_cvc_explicit_gradient); - x.type(colvarvalue::type_scalar); init(conf); } @@ -176,15 +176,6 @@ int colvar::orientation_angle::init(std::string const &conf) } -colvar::orientation_angle::orientation_angle() - : orientation() -{ - function_type = "orientation_angle"; - enable(f_cvc_explicit_gradient); - x.type(colvarvalue::type_scalar); -} - - void colvar::orientation_angle::calc_value() { atoms_cog = atoms->center_of_geometry(); @@ -231,6 +222,7 @@ colvar::orientation_proj::orientation_proj(std::string const &conf) function_type = "orientation_proj"; enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); + init_scalar_boundaries(0.0, 1.0); init(conf); } @@ -241,15 +233,6 @@ int colvar::orientation_proj::init(std::string const &conf) } -colvar::orientation_proj::orientation_proj() - : orientation() -{ - function_type = "orientation_proj"; - enable(f_cvc_explicit_gradient); - x.type(colvarvalue::type_scalar); -} - - void colvar::orientation_proj::calc_value() { atoms_cog = atoms->center_of_geometry(); @@ -287,6 +270,7 @@ colvar::tilt::tilt(std::string const &conf) function_type = "tilt"; enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); + init_scalar_boundaries(-1.0, 1.0); init(conf); } @@ -307,15 +291,6 @@ int colvar::tilt::init(std::string const &conf) } -colvar::tilt::tilt() - : orientation() -{ - function_type = "tilt"; - enable(f_cvc_explicit_gradient); - x.type(colvarvalue::type_scalar); -} - - void colvar::tilt::calc_value() { atoms_cog = atoms->center_of_geometry(); @@ -358,7 +333,7 @@ colvar::spin_angle::spin_angle(std::string const &conf) { function_type = "spin_angle"; period = 360.0; - b_periodic = true; + enable(f_cvc_periodic); enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); init(conf); @@ -386,7 +361,7 @@ colvar::spin_angle::spin_angle() { function_type = "spin_angle"; period = 360.0; - b_periodic = true; + enable(f_cvc_periodic); enable(f_cvc_explicit_gradient); x.type(colvarvalue::type_scalar); } diff --git a/lib/colvars/colvardeps.cpp b/lib/colvars/colvardeps.cpp index 276f2b39e7a3228813f9a07d7cfe1481c2e74d18..f83458b51ceba01a3a338f0d7a1e954b11d65b35 100644 --- a/lib/colvars/colvardeps.cpp +++ b/lib/colvars/colvardeps.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -428,11 +428,11 @@ void colvardeps::require_feature_alt(int f, int g, int h, int i, int j) { void colvardeps::print_state() { size_t i; - cvm::log("Enabled features of \"" + description + "\" (with reference count)"); + cvm::log("Features of \"" + description + "\" ON/OFF (refcount)"); for (i = 0; i < feature_states.size(); i++) { - if (is_enabled(i)) - cvm::log("- " + features()[i]->description + " (" - + cvm::to_str(feature_states[i].ref_count) + ")"); + std::string onoff = is_enabled(i) ? "ON" : "OFF"; + cvm::log("- " + features()[i]->description + " " + onoff + " (" + + cvm::to_str(feature_states[i].ref_count) + ")"); } cvm::increase_depth(); for (i=0; i const &g) : nd(g.nd), + colvar_grid(colvar_grid const &g) : colvarparse(), + nd(g.nd), nx(g.nx), mult(g.mult), data(), @@ -284,8 +285,8 @@ public: } widths.push_back(cv[i]->width); - hard_lower_boundaries.push_back(cv[i]->hard_lower_boundary); - hard_upper_boundaries.push_back(cv[i]->hard_upper_boundary); + hard_lower_boundaries.push_back(cv[i]->is_enabled(colvardeps::f_cv_hard_lower_boundary)); + hard_upper_boundaries.push_back(cv[i]->is_enabled(colvardeps::f_cv_hard_upper_boundary)); periodic.push_back(cv[i]->periodic_boundaries()); // By default, get reported colvar value (for extended Lagrangian colvars) @@ -415,6 +416,20 @@ public: return (int) cvm::floor( (value.real_value - lower_boundaries[i].real_value) / widths[i] ); } + /// \brief Report the fraction of bin beyond current_bin_scalar() + inline cvm::real current_bin_scalar_fraction(int const i) const + { + return value_to_bin_scalar_fraction(use_actual_value[i] ? cv[i]->actual_value() : cv[i]->value(), i); + } + + /// \brief Use the lower boundary and the width to report the fraction of bin + /// beyond value_to_bin_scalar() that the provided value is in + inline cvm::real value_to_bin_scalar_fraction(colvarvalue const &value, const int i) const + { + cvm::real x = (value.real_value - lower_boundaries[i].real_value) / widths[i]; + return x - cvm::floor(x); + } + /// \brief Use the lower boundary and the width to report which bin /// the provided value is in and assign first or last bin if out of boundaries inline int value_to_bin_scalar_bound(colvarvalue const &value, const int i) const @@ -917,7 +932,7 @@ public: std::string key, conf; if ((is >> key) && (key == std::string("grid_parameters"))) { is.seekg(start_pos, std::ios::beg); - is >> colvarparse::read_block("grid_parameters", conf); + is >> colvarparse::read_block("grid_parameters", &conf); parse_params(conf, colvarparse::parse_silent); } else { cvm::log("Grid parameters are missing in the restart file, using those from the configuration.\n"); diff --git a/lib/colvars/colvarmodule.cpp b/lib/colvars/colvarmodule.cpp index baffc25c28c08c9909f4ef6473408a3295feeea7..1d5f75bbca9faef1ec3bab1eadf7f7ca52183a30 100644 --- a/lib/colvars/colvarmodule.cpp +++ b/lib/colvars/colvarmodule.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -32,6 +32,8 @@ colvarmodule::colvarmodule(colvarproxy *proxy_in) cv_traj_os = NULL; + xyz_reader_use_count = 0; + if (proxy == NULL) { proxy = proxy_in; // Pointer to the proxy object parse = new colvarparse(); // Parsing object for global options @@ -48,13 +50,21 @@ colvarmodule::colvarmodule(colvarproxy *proxy_in) cvm::log("Initializing the collective variables module, version "+ cvm::to_str(COLVARS_VERSION)+".\n"); cvm::log("Please cite Fiorin et al, Mol Phys 2013:\n " - "http://dx.doi.org/10.1080/00268976.2013.813594\n" + "https://doi.org/10.1080/00268976.2013.813594\n" "in any publication based on this calculation.\n"); if (proxy->smp_enabled() == COLVARS_OK) { - cvm::log("SMP parallelism is available.\n"); + cvm::log("SMP parallelism is enabled; if needed, use \"smp off\" to override this.\n"); } +#if (__cplusplus >= 201103L) + cvm::log("This version was built with the C++11 standard or higher."); +#else + cvm::log("This version was built without the C++11 standard: some features are disabled.\n" + "Please see the following link for details:\n" + "https://colvars.github.io/README-c++11.html"); +#endif + // set initial default values // "it_restart" will be set by the input state file, if any; @@ -260,6 +270,16 @@ int colvarmodule::parse_global_params(std::string const &conf) // TODO document and then echo this keyword parse->get_keyval(conf, "logLevel", log_level_, log_level_, colvarparse::parse_silent); + { + std::string units; + if (parse->get_keyval(conf, "units", units)) { + units = colvarparse::to_lower_cppstr(units); + int error_code = proxy->set_unit_system(units, (colvars.size() != 0)); + if (error_code != COLVARS_OK) { + return error_code; + } + } + } { std::string index_file_name; @@ -1160,8 +1180,7 @@ int colvarmodule::reset() } colvars.clear(); - index_groups.clear(); - index_group_names.clear(); + reset_index_groups(); proxy->reset(); @@ -1265,121 +1284,148 @@ std::istream & colvarmodule::read_restart(std::istream &is) { // read global restart information std::string restart_conf; - if (is >> colvarparse::read_block("configuration", restart_conf)) { + if (is >> colvarparse::read_block("configuration", &restart_conf)) { + parse->get_keyval(restart_conf, "step", it_restart, static_cast(0), colvarparse::parse_restart); - it = it_restart; + it = it_restart; + std::string restart_version; + int restart_version_int = 0; parse->get_keyval(restart_conf, "version", restart_version, std::string(""), colvarparse::parse_restart); - if (restart_version.size() && (restart_version != std::string(COLVARS_VERSION))) { - cvm::log("This state file was generated with version "+restart_version+"\n"); + if (restart_version.size()) { + if (restart_version != std::string(COLVARS_VERSION)) { + cvm::log("This state file was generated with version "+ + restart_version+"\n"); + } + restart_version_int = + proxy->get_version_from_string(restart_version.c_str()); } - if ((restart_version.size() == 0) || (restart_version.compare(std::string(COLVARS_VERSION)) < 0)) { + + if (restart_version_int < 20160810) { // check for total force change if (proxy->total_forces_enabled()) { warn_total_forces = true; } } + + std::string units_restart; + if (parse->get_keyval(restart_conf, "units", + units_restart, std::string(""), + colvarparse::parse_restart)) { + units_restart = colvarparse::to_lower_cppstr(units_restart); + if ((proxy->units.size() > 0) && (units_restart != proxy->units)) { + cvm::error("Error: the state file has units \""+units_restart+ + "\", but the current unit system is \""+proxy->units+ + "\".\n", INPUT_ERROR); + } + } + } is.clear(); parse->clear_keyword_registry(); } - // colvars restart - cvm::increase_depth(); - for (std::vector::iterator cvi = colvars.begin(); - cvi != colvars.end(); - cvi++) { - if ( !((*cvi)->read_restart(is)) ) { - cvm::error("Error: in reading restart configuration for collective variable \""+ - (*cvi)->name+"\".\n", - INPUT_ERROR); + print_total_forces_errning(warn_total_forces); + + read_objects_state(is); + + return is; +} + + + +std::istream & colvarmodule::read_objects_state(std::istream &is) +{ + size_t pos = 0; + std::string word; + + while (is.good()) { + pos = is.tellg(); + word.clear(); + is >> word; + + if (word.size()) { + + is.seekg(pos, std::ios::beg); + + if (word == "colvar") { + + cvm::increase_depth(); + for (std::vector::iterator cvi = colvars.begin(); + cvi != colvars.end(); + cvi++) { + if ( !((*cvi)->read_state(is)) ) { + // Here an error signals that the variable is a match, but the + // state is corrupt; otherwise, the variable rewinds is silently + cvm::error("Error: in reading restart configuration for " + "collective variable \""+(*cvi)->name+"\".\n", + INPUT_ERROR); + } + if (static_cast(is.tellg()) > pos) break; // found it + } + cvm::decrease_depth(); + + } else { + + cvm::increase_depth(); + for (std::vector::iterator bi = biases.begin(); + bi != biases.end(); + bi++) { + if (((*bi)->state_keyword != word) && (*bi)->bias_type != word) { + // Skip biases with different type; state_keyword is used to + // support different versions of the state file format + continue; + } + if (!((*bi)->read_state(is))) { + // Same as above, an error means a match but the state is incorrect + cvm::error("Error: in reading restart configuration for bias \""+ + (*bi)->name+"\".\n", + INPUT_ERROR); + } + if (static_cast(is.tellg()) > pos) break; // found it + } + cvm::decrease_depth(); + } } - } - // biases restart - for (std::vector::iterator bi = biases.begin(); - bi != biases.end(); - bi++) { - if (!((*bi)->read_state(is))) { - cvm::error("Error: in reading restart configuration for bias \""+ - (*bi)->name+"\".\n", - INPUT_ERROR); + if (static_cast(is.tellg()) == pos) { + // This block has not been read by any object: discard it and move on + // to the next one + is >> colvarparse::read_block(word, NULL); } + + if (!is) break; } - cvm::decrease_depth(); + return is; +} + + +int colvarmodule::print_total_forces_errning(bool warn_total_forces) +{ if (warn_total_forces) { cvm::log(cvm::line_marker); - cvm::log("WARNING:\n"); - std::string const warning("### CHANGES IN THE DEFINITION OF SYSTEM FORCES (NOW TOTAL FORCES)\n\ -\n\ -Starting from the version 2016-08-10 of the Colvars module, \n\ -the role of system forces has been replaced by total forces.\n\ -\n\ -These include *all* forces acting on a collective variable, whether they\n\ -come from the force field potential or from external terms\n\ -(e.g. restraints), including forces applied by Colvars itself.\n\ -\n\ -In NAMD, forces applied by Colvars, IMD, SMD, TMD, symmetry\n\ -restraints and tclForces are now all counted in the total force.\n\ -\n\ -In LAMMPS, forces applied by Colvars itself are now counted in the total\n\ -force (all forces from other fixes were being counted already).\n\ -\n\ -\n\ -### WHEN IS THIS CHANGE RELEVANT\n\ -\n\ -This change affects results *only* when (1) outputSystemForce is\n\ -requested or (2) the ABF bias is used. All other usage cases are\n\ -*unaffected* (colvar restraints, metadynamics, etc).\n\ -\n\ -When system forces are reported (flag: outputSystemForce), their values\n\ -in the output may change, but the physical trajectory is never affected.\n\ -The physical results of ABF calculations may be affected in some cases.\n\ -\n\ -\n\ -### CHANGES TO ABF CALCULATIONS\n\ -\n\ -Compared to previous Colvars versions, the ABF method will now attempt\n\ -to cancel external forces (for example, boundary walls) and it may be\n\ -not possible to resume through a state file a simulation that was\n\ -performed with a previous version.\n\ -\n\ -There are three possible scenarios:\n\ -\n\ -1. No external forces are applied to the atoms used by ABF: results are\n\ -unchanged.\n\ -\n\ -2. Some of the atoms used by ABF experience external forces, but these\n\ -forces are not applied directly to the variables used by ABF\n\ -(e.g. another colvar that uses the same atoms, tclForces, etc): in this\n\ -case, we recommend beginning a new simulation.\n\ -\n\ -3. External forces are applied to one or more of the colvars used by\n\ -ABF, but no other forces are applied to their atoms: you may use the\n\ -subtractAppliedForce keyword inside the corresponding colvars to\n\ -continue the previous simulation.\n\n"); - cvm::log(warning); - cvm::log(cvm::line_marker); - + cvm::log("WARNING: The definition of system forces has changed. Please see:\n"); + cvm::log(" https://colvars.github.io/README-totalforce.html\n"); // update this ahead of time in this special case output_prefix() = proxy->input_prefix(); cvm::log("All output files will now be saved with the prefix \""+output_prefix()+".tmp.*\".\n"); - cvm::log(cvm::line_marker); cvm::log("Please review the important warning above. After that, you may rename:\n\ \""+output_prefix()+".tmp.colvars.state\"\n\ to:\n\ -\""+ proxy->input_prefix()+".colvars.state\"\n"); +\""+proxy->input_prefix()+".colvars.state\"\n\ +and load it to continue this simulation.\n"); output_prefix() = output_prefix()+".tmp"; write_restart_file(output_prefix()+".colvars.state"); - cvm::error("Exiting with error until issue is addressed.\n", FATAL_ERROR); + return cvm::error("Exiting with error until issue is addressed.\n", + INPUT_ERROR); } - return is; + return COLVARS_OK; } @@ -1496,8 +1542,11 @@ std::ostream & colvarmodule::write_restart(std::ostream &os) << " step " << std::setw(it_width) << it << "\n" << " dt " << dt() << "\n" - << " version " << std::string(COLVARS_VERSION) << "\n" - << "}\n\n"; + << " version " << std::string(COLVARS_VERSION) << "\n"; + if (proxy->units.size() > 0) { + os << " units " << proxy->units << "\n"; + } + os << "}\n\n"; int error_code = COLVARS_OK; @@ -1505,7 +1554,7 @@ std::ostream & colvarmodule::write_restart(std::ostream &os) for (std::vector::iterator cvi = colvars.begin(); cvi != colvars.end(); cvi++) { - (*cvi)->write_restart(os); + (*cvi)->write_state(os); } for (std::vector::iterator bi = biases.begin(); @@ -1718,32 +1767,61 @@ int cvm::read_index_file(char const *filename) while (is.good()) { char open, close; std::string group_name; + int index_of_group = -1; if ( (is >> open) && (open == '[') && (is >> group_name) && (is >> close) && (close == ']') ) { - for (std::list::iterator names_i = index_group_names.begin(); - names_i != index_group_names.end(); - names_i++) { - if (*names_i == group_name) { - cvm::error("Error: the group name \""+group_name+ - "\" appears in multiple index files.\n", - FILE_ERROR); + size_t i = 0; + for ( ; i < index_group_names.size(); i++) { + if (index_group_names[i] == group_name) { + // Found a group with the same name + index_of_group = i; } } - index_group_names.push_back(group_name); - index_groups.push_back(std::vector()); + if (index_of_group < 0) { + index_group_names.push_back(group_name); + index_groups.push_back(NULL); + index_of_group = index_groups.size()-1; + } } else { - cvm::error("Error: in parsing index file \""+ - std::string(filename)+"\".\n", - INPUT_ERROR); + return cvm::error("Error: in parsing index file \""+ + std::string(filename)+"\".\n", + INPUT_ERROR); } + std::vector *old_index_group = index_groups[index_of_group]; + std::vector *new_index_group = new std::vector(); + int atom_number = 1; size_t pos = is.tellg(); while ( (is >> atom_number) && (atom_number > 0) ) { - (index_groups.back()).push_back(atom_number); + new_index_group->push_back(atom_number); pos = is.tellg(); } + + if (old_index_group != NULL) { + bool equal = false; + if (new_index_group->size() == old_index_group->size()) { + if (std::equal(new_index_group->begin(), new_index_group->end(), + old_index_group->begin())) { + equal = true; + } + } + if (! equal) { + new_index_group->clear(); + delete new_index_group; + new_index_group = NULL; + return cvm::error("Error: the index group \""+group_name+ + "\" was redefined.\n", INPUT_ERROR); + } else { + old_index_group->clear(); + delete old_index_group; + old_index_group = NULL; + } + } + + index_groups[index_of_group] = new_index_group; + is.clear(); is.seekg(pos, std::ios::beg); std::string delim; @@ -1756,14 +1834,27 @@ int cvm::read_index_file(char const *filename) } } - cvm::log("The following index groups were read from the index file \""+ - std::string(filename)+"\":\n"); - std::list::iterator names_i = index_group_names.begin(); - std::list >::iterator lists_i = index_groups.begin(); - for ( ; names_i != index_group_names.end() ; names_i++, lists_i++) { - cvm::log(" "+(*names_i)+" ("+cvm::to_str(lists_i->size())+" atoms).\n"); + cvm::log("The following index groups are currently defined:\n"); + size_t i = 0; + for ( ; i < index_group_names.size(); i++) { + cvm::log(" "+(index_group_names[i])+" ("+ + cvm::to_str((index_groups[i])->size())+" atoms)\n"); } - return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK); + + return COLVARS_OK; +} + + +int colvarmodule::reset_index_groups() +{ + size_t i = 0; + for ( ; i < index_groups.size(); i++) { + delete index_groups[i]; + index_groups[i] = NULL; + } + index_group_names.clear(); + index_groups.clear(); + return COLVARS_OK; } @@ -1799,7 +1890,7 @@ int cvm::load_coords(char const *file_name, "for XYZ coordinate files.\n", INPUT_ERROR); } // For XYZ files, use internal parser - error_code |= cvm::load_coords_xyz(file_name, &sorted_pos, atoms); + error_code |= cvm::main()->load_coords_xyz(file_name, &sorted_pos, atoms); } else { // Otherwise, call proxy function for PDB error_code |= proxy->load_coords(file_name, @@ -1824,11 +1915,18 @@ int cvm::load_coords_xyz(char const *filename, unsigned int natoms; char symbol[256]; std::string line; + cvm::real x = 0.0, y = 0.0, z = 0.0; if ( ! (xyz_is >> natoms) ) { cvm::error("Error: cannot parse XYZ file " + std::string(filename) + ".\n", INPUT_ERROR); } + + ++xyz_reader_use_count; + if (xyz_reader_use_count < 2) { + cvm::log("Warning: beginning from 2019-11-26 the XYZ file reader assumes Angstrom units."); + } + // skip comment line cvm::getline(xyz_is, line); cvm::getline(xyz_is, line); @@ -1845,12 +1943,19 @@ int cvm::load_coords_xyz(char const *filename, next++; } xyz_is >> symbol; - xyz_is >> (*pos_i)[0] >> (*pos_i)[1] >> (*pos_i)[2]; + xyz_is >> x >> y >> z; + // XYZ files are assumed to be in Angstrom (as eg. VMD will) + (*pos_i)[0] = proxy->angstrom_to_internal(x); + (*pos_i)[1] = proxy->angstrom_to_internal(y); + (*pos_i)[2] = proxy->angstrom_to_internal(z); } } else { // Use all positions for ( ; pos_i != pos->end() ; pos_i++) { xyz_is >> symbol; - xyz_is >> (*pos_i)[0] >> (*pos_i)[1] >> (*pos_i)[2]; + xyz_is >> x >> y >> z; + (*pos_i)[0] = proxy->angstrom_to_internal(x); + (*pos_i)[1] = proxy->angstrom_to_internal(y); + (*pos_i)[2] = proxy->angstrom_to_internal(z); } } return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK); @@ -1860,11 +1965,6 @@ int cvm::load_coords_xyz(char const *filename, // Wrappers to proxy functions: these may go in the future -cvm::real cvm::unit_angstrom() -{ - return proxy->unit_angstrom(); -} - cvm::real cvm::boltzmann() { @@ -1903,39 +2003,6 @@ cvm::real cvm::rand_gaussian(void) } - -bool cvm::replica_enabled() -{ - return proxy->replica_enabled(); -} - -int cvm::replica_index() -{ - return proxy->replica_index(); -} - -int cvm::replica_num() -{ - return proxy->replica_num(); -} - -void cvm::replica_comm_barrier() -{ - return proxy->replica_comm_barrier(); -} - -int cvm::replica_comm_recv(char* msg_data, int buf_len, int src_rep) -{ - return proxy->replica_comm_recv(msg_data,buf_len,src_rep); -} - -int cvm::replica_comm_send(char* msg_data, int msg_len, int dest_rep) -{ - return proxy->replica_comm_send(msg_data,msg_len,dest_rep); -} - - - template std::string _to_str(T const &x, size_t width, size_t prec) { diff --git a/lib/colvars/colvarmodule.h b/lib/colvars/colvarmodule.h index 30620a252799752be8db55aa5d5b9214cdf8d0de..9346e8e1d6477c290491d3abc4927036390b9ebf 100644 --- a/lib/colvars/colvarmodule.h +++ b/lib/colvars/colvarmodule.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -429,8 +429,15 @@ public: /// (Re)initialize the output trajectory and state file (does not write it yet) int setup_output(); - /// Read the input restart file + /// Read a restart file std::istream & read_restart(std::istream &is); + + /// Read the states of individual objects; allows for changes + std::istream & read_objects_state(std::istream &is); + + /// If needed (old restart file), print the warning that cannot be ignored + int print_total_forces_errning(bool warn_total_forces); + /// Write the output restart file std::ostream & write_restart(std::ostream &os); @@ -608,10 +615,6 @@ public: // proxy functions - /// \brief Value of the unit for atomic coordinates with respect to - /// angstroms (used by some variables for hard-coded default values) - static real unit_angstrom(); - /// \brief Boltmann constant static real boltzmann(); @@ -678,29 +681,23 @@ public: return 5; } - - // Replica exchange commands. - static bool replica_enabled(); - static int replica_index(); - static int replica_num(); - static void replica_comm_barrier(); - static int replica_comm_recv(char* msg_data, int buf_len, int src_rep); - static int replica_comm_send(char* msg_data, int msg_len, int dest_rep); - /// \brief Get the distance between two atomic positions with pbcs handled /// correctly static rvector position_distance(atom_pos const &pos1, atom_pos const &pos2); - /// \brief Names of groups from a Gromacs .ndx file to be read at startup - std::list index_group_names; + /// \brief Names of groups from one or more Gromacs .ndx files + std::vector index_group_names; - /// \brief Groups from a Gromacs .ndx file read at startup - std::list > index_groups; + /// \brief Groups from one or more Gromacs .ndx files + std::vector *> index_groups; /// \brief Read a Gromacs .ndx file int read_index_file(char const *filename); + /// Clear the index groups loaded so far + int reset_index_groups(); + /// \brief Select atom IDs from a file (usually PDB) \param filename name of /// the file \param atoms array into which atoms read from "filename" will be /// appended \param pdb_field (optional) if the file is a PDB and this @@ -726,11 +723,10 @@ public: std::string const &pdb_field, double pdb_field_value = 0.0); - /// \brief Load the coordinates for a group of atoms from an - /// XYZ file - static int load_coords_xyz(char const *filename, - std::vector *pos, - atom_group *atoms); + /// Load coordinates into an atom group from an XYZ file (assumes Angstroms) + int load_coords_xyz(char const *filename, + std::vector *pos, + atom_group *atoms); /// Frequency for collective variables trajectory output static size_t cv_traj_freq; @@ -771,6 +767,9 @@ private: /// Thread-specific depth std::vector depth_v; + /// Track how many times the XYZ reader has been used + int xyz_reader_use_count; + public: /// Get the current object depth in the hierarchy diff --git a/lib/colvars/colvarparams.cpp b/lib/colvars/colvarparams.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e957a1841d6ec00c7b5f8e9c98f58fd29fa96782 --- /dev/null +++ b/lib/colvars/colvarparams.cpp @@ -0,0 +1,111 @@ +// -*- c++ -*- + +// This file is part of the Collective Variables module (Colvars). +// The original version of Colvars and its updates are located at: +// https://github.com/Colvars/colvars +// Please update all Colvars source files before making any changes. +// If you wish to distribute your changes, please submit them to the +// Colvars repository at GitHub. + +#include +#include +#include + +#include "colvarmodule.h" +#include "colvarvalue.h" +#include "colvarparams.h" + + + +colvarparams::colvarparams() +{} + + +colvarparams::~colvarparams() +{} + + +void colvarparams::register_param(std::string const ¶m_name, + void *param_ptr) +{ + param_map[param_name] = param_ptr; +} + + +void colvarparams::register_param_grad(std::string const ¶m_name, + colvarvalue *param_grad_ptr) +{ + param_grad_map[param_name] = param_grad_ptr; +} + + +int colvarparams::param_exists(std::string const ¶m_name) +{ + if (param_map.count(param_name) > 0) { + return COLVARS_OK; + } + return INPUT_ERROR; +} + + +std::vector colvarparams::get_param_names() +{ + std::vector result; + for (std::map::const_iterator elem = + param_map.begin(); elem != param_map.end(); elem++) { + result.push_back(elem->first); + } + return result; +} + + +std::vector colvarparams::get_param_grad_names() +{ + std::vector result; + for (std::map::const_iterator elem = + param_grad_map.begin(); elem != param_grad_map.end(); elem++) { + result.push_back(elem->first); + } + return result; +} + + +void const *colvarparams::get_param_ptr(std::string const ¶m_name) +{ + if (param_map.count(param_name) > 0) { + return param_map[param_name]; + } + cvm::error("Error: parameter \""+param_name+"\" not found.\n", INPUT_ERROR); + return NULL; +} + + +void const *colvarparams::get_param_grad_ptr(std::string const ¶m_name) +{ + if (param_grad_map.count(param_name) > 0) { + return param_grad_map[param_name]; + } + cvm::error("Error: gradient of parameter \""+param_name+"\" not found.\n", + INPUT_ERROR); + return NULL; +} + + +cvm::real colvarparams::get_param(std::string const ¶m_name) +{ + cvm::real const *ptr = + reinterpret_cast(get_param_ptr(param_name)); + return ptr != NULL ? *ptr : 0.0; +} + + +int colvarparams::set_param(std::string const ¶m_name, + void const *new_value) +{ + if (param_map.count(param_name) > 0) { + return cvm::error("Error: parameter \""+param_name+"\" cannot be " + "modified.\n", COLVARS_NOT_IMPLEMENTED); + } + return cvm::error("Error: parameter \""+param_name+"\" not found.\n", + INPUT_ERROR); +} diff --git a/lib/colvars/colvarparams.h b/lib/colvars/colvarparams.h new file mode 100644 index 0000000000000000000000000000000000000000..1d00300a8b3304333de5c80268b18b28cd06f126 --- /dev/null +++ b/lib/colvars/colvarparams.h @@ -0,0 +1,66 @@ +// -*- c++ -*- + +// This file is part of the Collective Variables module (Colvars). +// The original version of Colvars and its updates are located at: +// https://github.com/Colvars/colvars +// Please update all Colvars source files before making any changes. +// If you wish to distribute your changes, please submit them to the +// Colvars repository at GitHub. + +#ifndef COLVARPARAMS_H +#define COLVARPARAMS_H + +#include + +/// \file colvarparams.h Functions to handle scalar parameters used in objects + + +class colvarparams { + + public: + + /// Whether the parameter param_name exists + int param_exists(std::string const ¶m_name); + + /// Get a copy of the names of registered parameters + virtual std::vector get_param_names(); + + /// Get a copy of the names of registered parameter gradients + virtual std::vector get_param_grad_names(); + + /// Pointer to the parameter param_name + virtual void const *get_param_ptr(std::string const ¶m_name); + + /// Pointer to the gradient of parameter param_name + virtual void const *get_param_grad_ptr(std::string const ¶m_name); + + /// Value of the parameter param_name (must be a scalar) + virtual cvm::real get_param(std::string const ¶m_name); + + /// Set the named parameter to the given value + virtual int set_param(std::string const ¶m_name, void const *new_value); + + protected: + + /// Default constructor + colvarparams(); + + /// Default destructor + virtual ~colvarparams(); + + /// Pointers to relevant parameters that may be accessed by other objects + std::map param_map; + + /// Derivatives of the object with respect to internal parameters + std::map param_grad_map; + + /// Register the given parameter + void register_param(std::string const ¶m_name, void *param_ptr); + + /// Register the gradient of the given parameter + void register_param_grad(std::string const ¶m_name, + colvarvalue *param_grad_ptr); + +}; + +#endif diff --git a/lib/colvars/colvarparse.cpp b/lib/colvars/colvarparse.cpp index 804115349407aad751e0301abdd6bcbad80f956a..a09d6be9ef69020d7b74a09546e645e98ced1076 100644 --- a/lib/colvars/colvarparse.cpp +++ b/lib/colvars/colvarparse.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -32,6 +32,41 @@ namespace { } +colvarparse::colvarparse() +{ + init(); +} + + +void colvarparse::init() +{ + config_string.clear(); + clear_keyword_registry(); +} + + +colvarparse::colvarparse(const std::string& conf) +{ + init(conf); +} + + +void colvarparse::init(std::string const &conf) +{ + if (! config_string.size()) { + init(); + config_string = conf; + } +} + + +colvarparse::~colvarparse() +{ + init(); +} + + + bool colvarparse::get_key_string_value(std::string const &conf, char const *key, std::string &data) { @@ -156,7 +191,7 @@ template<> int colvarparse::_get_keyval_scalar_value_(std::string const &key_str, std::string const &data, bool &value, - bool const &def_value) + bool const & /* def_value */) { if ( (data == std::string("on")) || (data == std::string("yes")) || @@ -176,8 +211,8 @@ int colvarparse::_get_keyval_scalar_value_(std::string const &key_str, template int colvarparse::_get_keyval_scalar_novalue_(std::string const &key_str, - TYPE &value, - Parse_Mode const &parse_mode) + TYPE & /* value */, + Parse_Mode const & /* parse_mode */) { return cvm::error("Error: improper or missing value " "for \""+key_str+"\".\n", INPUT_ERROR); @@ -805,6 +840,17 @@ bool colvarparse::key_lookup(std::string const &conf, } +colvarparse::read_block::read_block(std::string const &key_in, + std::string *data_in) + : key(key_in), data(data_in) +{ +} + + +colvarparse::read_block::~read_block() +{} + + std::istream & operator>> (std::istream &is, colvarparse::read_block const &rb) { size_t start_pos = is.tellg(); @@ -821,7 +867,9 @@ std::istream & operator>> (std::istream &is, colvarparse::read_block const &rb) } if (next != "{") { - (*rb.data) = next; + if (rb.data) { + *(rb.data) = next; + } return is; } @@ -835,9 +883,15 @@ std::istream & operator>> (std::istream &is, colvarparse::read_block const &rb) br_old = br; br++; } - if (brace_count) (*rb.data).append(line + "\n"); + if (brace_count) { + if (rb.data) { + (rb.data)->append(line + "\n"); + } + } else { - (*rb.data).append(line, 0, br_old); + if (rb.data) { + (rb.data)->append(line, 0, br_old); + } break; } } diff --git a/lib/colvars/colvarparse.h b/lib/colvars/colvarparse.h index f4ead26601b8ea38f8742c9cb068efe8535b4b79..b7d42fdffa2b18deade7a90884480afb973c5757 100644 --- a/lib/colvars/colvarparse.h +++ b/lib/colvars/colvarparse.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -12,10 +12,10 @@ #include #include -#include #include "colvarmodule.h" #include "colvarvalue.h" +#include "colvarparams.h" /// \file colvarparse.h Parsing functions for collective variables @@ -23,37 +23,24 @@ /// \brief Base class containing parsing functions; all objects which /// need to parse input inherit from this -class colvarparse { +class colvarparse : public colvarparams { public: /// Default constructor - inline colvarparse() - { - init(); - } + colvarparse(); /// Constructor that stores the object's config string - inline colvarparse(const std::string& conf) - { - init(conf); - } + colvarparse(const std::string& conf); /// Set the object ready to parse a new configuration string - inline void init() - { - config_string.clear(); - clear_keyword_registry(); - } + void init(); /// Set a new config string for this object - inline void init(std::string const &conf) - { - if (! config_string.size()) { - init(); - config_string = conf; - } - } + void init(std::string const &conf); + + /// Default destructor + virtual ~colvarparse(); /// Get the configuration string (includes comments) inline std::string const & get_config() const @@ -285,14 +272,18 @@ public: /// skipping other blocks class read_block { - std::string const key; + /// The keyword that identifies the block + std::string const key; + + /// Where to keep the data (may be NULL) std::string * const data; public: - inline read_block(std::string const &key_in, std::string &data_in) - : key(key_in), data(&data_in) - {} - inline ~read_block() {} + + read_block(std::string const &key_in, std::string *data_in = NULL); + + ~read_block(); + friend std::istream & operator >> (std::istream &is, read_block const &rb); }; diff --git a/lib/colvars/colvarproxy.cpp b/lib/colvars/colvarproxy.cpp index f0779845567a9a216bc8c3b7492f3751f4c2c77b..63ae07a57c2168a6ab74bc96b85ce185f7f5839c 100644 --- a/lib/colvars/colvarproxy.cpp +++ b/lib/colvars/colvarproxy.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -33,6 +33,7 @@ colvarproxy_system::colvarproxy_system() + : angstrom_value(0.) { reset_pbc_lattice(); } @@ -41,7 +42,7 @@ colvarproxy_system::colvarproxy_system() colvarproxy_system::~colvarproxy_system() {} -void colvarproxy_system::add_energy(cvm::real energy) {} +void colvarproxy_system::add_energy(cvm::real /* energy */) {} void colvarproxy_system::request_total_force(bool yesno) @@ -173,9 +174,9 @@ int colvarproxy_atoms::add_atom_slot(int atom_id) } -int colvarproxy_atoms::init_atom(cvm::residue_id const &residue, - std::string const &atom_name, - std::string const &segment_id) +int colvarproxy_atoms::init_atom(cvm::residue_id const & /* residue */, + std::string const & /* atom_name */, + std::string const & /* segment_id */) { cvm::error("Error: initializing an atom by name and residue number is currently not supported.\n", COLVARS_NOT_IMPLEMENTED); @@ -204,9 +205,9 @@ void colvarproxy_atoms::clear_atom(int index) } -int colvarproxy_atoms::load_atoms(char const *filename, - cvm::atom_group &atoms, - std::string const &pdb_field, +int colvarproxy_atoms::load_atoms(char const * /* filename */, + cvm::atom_group & /* atoms */, + std::string const & /* pdb_field */, double) { return cvm::error("Error: loading atom identifiers from a file " @@ -215,10 +216,10 @@ int colvarproxy_atoms::load_atoms(char const *filename, } -int colvarproxy_atoms::load_coords(char const *filename, - std::vector &pos, - std::vector const &sorted_ids, - std::string const &pdb_field, +int colvarproxy_atoms::load_coords(char const * /* filename */, + std::vector & /* pos */, + std::vector const & /* sorted_ids */, + std::string const & /* pdb_field */, double) { return cvm::error("Error: loading atomic coordinates from a file " @@ -269,7 +270,7 @@ int colvarproxy_atom_groups::scalable_group_coms() } -int colvarproxy_atom_groups::init_atom_group(std::vector const &atoms_ids) +int colvarproxy_atom_groups::init_atom_group(std::vector const & /* atoms_ids */) { cvm::error("Error: initializing a group outside of the Colvars module " "is currently not supported.\n", @@ -456,51 +457,6 @@ int colvarproxy_smp::smp_unlock() -colvarproxy_replicas::colvarproxy_replicas() {} - - -colvarproxy_replicas::~colvarproxy_replicas() {} - - -bool colvarproxy_replicas::replica_enabled() -{ - return false; -} - - -int colvarproxy_replicas::replica_index() -{ - return 0; -} - - -int colvarproxy_replicas::replica_num() -{ - return 1; -} - - -void colvarproxy_replicas::replica_comm_barrier() {} - - -int colvarproxy_replicas::replica_comm_recv(char* msg_data, - int buf_len, - int src_rep) -{ - return COLVARS_NOT_IMPLEMENTED; -} - - -int colvarproxy_replicas::replica_comm_send(char* msg_data, - int msg_len, - int dest_rep) -{ - return COLVARS_NOT_IMPLEMENTED; -} - - - - colvarproxy_script::colvarproxy_script() { script = NULL; @@ -518,7 +474,7 @@ char const *colvarproxy_script::script_obj_to_str(unsigned char *obj) } -std::vector colvarproxy_script::script_obj_to_str_vector(unsigned char *obj) +std::vector colvarproxy_script::script_obj_to_str_vector(unsigned char * /* obj */) { cvm::error("Error: trying to print a script object without a scripting " "language interface.\n", BUG_ERROR); @@ -532,19 +488,17 @@ int colvarproxy_script::run_force_callback() } -int colvarproxy_script::run_colvar_callback( - std::string const &name, - std::vector const &cvcs, - colvarvalue &value) +int colvarproxy_script::run_colvar_callback(std::string const & /* name */, + std::vector const & /* cvcs */, + colvarvalue & /* value */) { return COLVARS_NOT_IMPLEMENTED; } -int colvarproxy_script::run_colvar_gradient_callback( - std::string const &name, - std::vector const &cvcs, - std::vector > &gradient) +int colvarproxy_script::run_colvar_gradient_callback(std::string const & /* name */, + std::vector const & /* cvcs */, + std::vector > & /* gradient */) { return COLVARS_NOT_IMPLEMENTED; } @@ -599,9 +553,9 @@ int colvarproxy_tcl::tcl_run_force_callback() int colvarproxy_tcl::tcl_run_colvar_callback( - std::string const &name, - std::vector const &cvc_values, - colvarvalue &value) + std::string const & name, + std::vector const & cvc_values, + colvarvalue & value) { #if defined(COLVARS_TCL) @@ -636,9 +590,9 @@ int colvarproxy_tcl::tcl_run_colvar_callback( int colvarproxy_tcl::tcl_run_colvar_gradient_callback( - std::string const &name, - std::vector const &cvc_values, - std::vector > &gradient) + std::string const & name, + std::vector const & cvc_values, + std::vector > & gradient) { #if defined(COLVARS_TCL) @@ -776,7 +730,7 @@ int colvarproxy_io::close_output_stream(std::string const &output_name) } -int colvarproxy_io::backup_file(char const *filename) +int colvarproxy_io::backup_file(char const * /* filename */) { // TODO implement this using rename_file() return COLVARS_NOT_IMPLEMENTED; @@ -785,13 +739,33 @@ int colvarproxy_io::backup_file(char const *filename) int colvarproxy_io::remove_file(char const *filename) { + int error_code = COLVARS_OK; +#if defined(WIN32) && !defined(__CYGWIN__) + // Because the file may be open by other processes, rename it to filename.old + std::string const renamed_file(std::string(filename)+".old"); + // It may still be there from an interrupted run, so remove it to be safe + std::remove(renamed_file.c_str()); + int rename_exit_code = 0; + while ((rename_exit_code = std::rename(filename, + renamed_file.c_str())) != 0) { + if (errno == EINTR) continue; + error_code |= FILE_ERROR; + break; + } + // Ask to remove filename.old, but ignore any errors raised + std::remove(renamed_file.c_str()); +#else if (std::remove(filename)) { if (errno != ENOENT) { - return cvm::error("Error: in removing file \""+std::string(filename)+ - "\".\n.", - FILE_ERROR); + error_code |= FILE_ERROR; } } +#endif + if (error_code != COLVARS_OK) { + return cvm::error("Error: in removing file \""+std::string(filename)+ + "\".\n.", + error_code); + } return COLVARS_OK; } diff --git a/lib/colvars/colvarproxy.h b/lib/colvars/colvarproxy.h index 21944106f185d8fe2d8370df34e2193abdd63dc7..ba91afb40ed10ceee2561948c007449a83a9447f 100644 --- a/lib/colvars/colvarproxy.h +++ b/lib/colvars/colvarproxy.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -48,11 +48,45 @@ public: /// Destructor virtual ~colvarproxy_system(); - /// \brief Value of the unit for atomic coordinates with respect to - /// angstroms (used by some variables for hard-coded default values) - virtual cvm::real unit_angstrom() = 0; + /// \brief Name of the unit system used internally by Colvars (by default, that of the back-end). + /// Supported depending on the back-end: real (A, kcal/mol), metal (A, eV), electron (Bohr, Hartree), gromacs (nm, kJ/mol) + /// Note: calls to back-end PBC functions assume back-end length unit + /// We use different unit from back-end in VMD bc using PBC functions from colvarproxy base class + /// Colvars internal units are user specified, because the module exchanges info in unknown + /// composite dimensions with user input, while it only exchanges quantities of known + /// dimension with the back-end (length and forces) + std::string units; - /// \brief Boltzmann constant + /// \brief Request to set the units used internally by Colvars + virtual int set_unit_system(std::string const &units, bool check_only) = 0; + + /// \brief Value of 1 Angstrom in the internal (front-end) Colvars unit for atomic coordinates + /// * defaults to 0. in the base class; derived proxy classes must set it + /// * in VMD proxy, can only be changed when no variables are defined + /// as user-defined values in composite units must be compatible with that system + cvm::real angstrom_value; + + /// \brief Value of 1 Angstrom in the backend's unit for atomic coordinates + virtual cvm::real backend_angstrom_value() = 0; + + /// \brief Value of 1 kcal/mol in the internal Colvars unit for energy + cvm::real kcal_mol_value; + + /// \brief Convert a length from Angstrom to internal + inline cvm::real angstrom_to_internal(cvm::real l) const + { + return l * angstrom_value; + } + + // /// \brief Convert a length from back-end unit to internal + // inline cvm::real back_end_to_internal_unit(cvm::real l) { + // if (angstrom_value == 0.) { + // return l / backend_angstrom_value(); + // } + // return l * angstrom_value / backend_angstrom_value(); + // } + + /// \brief Boltzmann constant in internal Colvars units virtual cvm::real boltzmann() = 0; /// \brief Target temperature of the simulation (K units) @@ -212,7 +246,7 @@ public: } /// Read the current velocity of the given atom - inline cvm::rvector get_atom_velocity(int index) + inline cvm::rvector get_atom_velocity(int /* index */) { cvm::error("Error: reading the current velocity of an atom " "is not yet implemented.\n", @@ -300,7 +334,7 @@ class colvarproxy_atom_groups { public: - /// Contructor + /// Constructor colvarproxy_atom_groups(); /// Destructor @@ -355,7 +389,7 @@ public: } /// Read the current velocity of the given atom group - inline cvm::rvector get_atom_group_velocity(int index) + inline cvm::rvector get_atom_group_velocity(int /* index */) { cvm::error("Error: reading the current velocity of an atom group is not yet implemented.\n", COLVARS_NOT_IMPLEMENTED); @@ -446,15 +480,15 @@ public: virtual ~colvarproxy_replicas(); /// \brief Indicate if multi-replica support is available and active - virtual bool replica_enabled(); + virtual int replica_enabled(); /// \brief Index of this replica virtual int replica_index(); - /// \brief Total number of replica - virtual int replica_num(); + /// \brief Total number of replicas + virtual int num_replicas(); - /// \brief Synchronize replica + /// \brief Synchronize replica with others virtual void replica_comm_barrier(); /// \brief Receive data from other replica @@ -591,10 +625,10 @@ public: return backup_file(filename.c_str()); } - /// Remove the given file + /// Remove the given file (on Windows only, rename to filename.old) int remove_file(char const *filename); - /// Remove the given file + /// Remove the given file (on Windows only, rename to filename.old) inline int remove_file(std::string const &filename) { return remove_file(filename.c_str()); diff --git a/lib/colvars/colvarproxy_replicas.cpp b/lib/colvars/colvarproxy_replicas.cpp new file mode 100644 index 0000000000000000000000000000000000000000..1f336d3e44d5819610122ef0f99e2353f7712b49 --- /dev/null +++ b/lib/colvars/colvarproxy_replicas.cpp @@ -0,0 +1,56 @@ +// -*- c++ -*- + +// This file is part of the Collective Variables module (Colvars). +// The original version of Colvars and its updates are located at: +// https://github.com/Colvars/colvars +// Please update all Colvars source files before making any changes. +// If you wish to distribute your changes, please submit them to the +// Colvars repository at GitHub. + +#include "colvarmodule.h" +#include "colvarproxy.h" + + +colvarproxy_replicas::colvarproxy_replicas() {} + + +colvarproxy_replicas::~colvarproxy_replicas() {} + + +int colvarproxy_replicas::replica_enabled() +{ + return COLVARS_NOT_IMPLEMENTED; +} + + +int colvarproxy_replicas::replica_index() +{ + return 0; +} + + +int colvarproxy_replicas::num_replicas() +{ + return 1; +} + + +void colvarproxy_replicas::replica_comm_barrier() {} + + +int colvarproxy_replicas::replica_comm_recv(char* /* msg_data */, + int /* buf_len */, + int /* src_rep */) +{ + return COLVARS_NOT_IMPLEMENTED; +} + + +int colvarproxy_replicas::replica_comm_send(char* /* msg_data */, + int /* msg_len */, + int /* dest_rep */) +{ + return COLVARS_NOT_IMPLEMENTED; +} + + diff --git a/lib/colvars/colvars_version.h b/lib/colvars/colvars_version.h index 77b3bd7e38ad2c4305b7248dcf4d00206dbf2266..cc8744d62b13b1f2f438819d48b574270db20fd2 100644 --- a/lib/colvars/colvars_version.h +++ b/lib/colvars/colvars_version.h @@ -1,10 +1,3 @@ #ifndef COLVARS_VERSION -#define COLVARS_VERSION "2019-08-05" -// This file is part of the Collective Variables module (Colvars). -// The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars -// Please update all Colvars source files before making any changes. -// If you wish to distribute your changes, please submit them to the -// Colvars repository at GitHub. - +#define COLVARS_VERSION "2020-02-25" #endif diff --git a/lib/colvars/colvarscript.cpp b/lib/colvars/colvarscript.cpp index 1ad3283337fdb0fc52c45805643092032026bc38..10b276c89e56319019018ab675a4f66c806c967c 100644 --- a/lib/colvars/colvarscript.cpp +++ b/lib/colvars/colvarscript.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. diff --git a/lib/colvars/colvarscript.h b/lib/colvars/colvarscript.h index 341cb1f72c2eb035a0e448165b1e6b3457206b63..69d52cbb51571ec941f0086f4edb8f12ba6ad4a8 100644 --- a/lib/colvars/colvarscript.h +++ b/lib/colvars/colvarscript.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. @@ -86,6 +86,7 @@ public: cv_printframe, cv_printframelabels, cv_frame, + cv_units, cv_colvar, cv_colvar_value, cv_colvar_update, @@ -269,9 +270,7 @@ extern "C" { "Clear the index groups loaded so far, allowing to replace them", 0, 0, { }, - cvm::main()->index_group_names.clear(); - cvm::main()->index_groups.clear(); - return COLVARS_OK; + return cvm::main()->reset_index_groups(); ) CVSCRIPT(cv_addenergy, @@ -292,6 +291,18 @@ extern "C" { return COLVARS_OK; ) + CVSCRIPT(cv_units, + "Get the current Colvars unit system", + 0, 1, + { }, + if (objc < 3) { + script->set_str_result(cvm::proxy->units); + return COLVARS_OK; + } else { + return cvm::proxy->set_unit_system(script->obj_to_str(objv[2]) , false); + } + ) + #ifndef COLVARSCRIPT_INIT_FN #ifdef __cplusplus } // extern "C" diff --git a/lib/colvars/colvartypes.cpp b/lib/colvars/colvartypes.cpp index b81a943eab7b0565e9ef28e5c7f88e1ea7c961bc..da00183323d2da4b316a0a41b81d4d113327dab9 100644 --- a/lib/colvars/colvartypes.cpp +++ b/lib/colvars/colvartypes.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. diff --git a/lib/colvars/colvartypes.h b/lib/colvars/colvartypes.h index 9973d92e98292a35f2978e96c39c58d8b09257e1..e5f12154e66fa2e84acbdd5f0506ce85acb60f3a 100644 --- a/lib/colvars/colvartypes.h +++ b/lib/colvars/colvartypes.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. diff --git a/lib/colvars/colvarvalue.cpp b/lib/colvars/colvarvalue.cpp index accc5defec818d52c1a129449088b73283bce7ee..7ab617bc44aa4c351318cf923f8c4f021b6944d4 100644 --- a/lib/colvars/colvarvalue.cpp +++ b/lib/colvars/colvarvalue.cpp @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. diff --git a/lib/colvars/colvarvalue.h b/lib/colvars/colvarvalue.h index 29b535a1a8107f8c43848f7f4cdd54c5830d9040..ca367dd43fd4a491fd6fb10dbb2cc44b0cc0187d 100644 --- a/lib/colvars/colvarvalue.h +++ b/lib/colvars/colvarvalue.h @@ -2,7 +2,7 @@ // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: -// https://github.com/colvars/colvars +// https://github.com/Colvars/colvars // Please update all Colvars source files before making any changes. // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. diff --git a/lib/colvars/lepton/src/MSVC_erfc.h b/lib/colvars/lepton/src/MSVC_erfc.h index c30a8ce542157a22db338c81b261678e3258cd8f..b1cd87a2896600a8db4cb2ab9fd0459c4e117712 100644 --- a/lib/colvars/lepton/src/MSVC_erfc.h +++ b/lib/colvars/lepton/src/MSVC_erfc.h @@ -8,9 +8,13 @@ * (VC11 has _MSC_VER=1700). */ -#if defined(_MSC_VER) +#if defined(_MSC_VER) || defined(__MINGW32__) +#if !defined(M_PI) #define M_PI 3.14159265358979323846264338327950288 +#endif +#endif +#if defined(_MSC_VER) #if _MSC_VER <= 1700 // 1700 is VC11, 1800 is VC12 /*************************** * erf.cpp diff --git a/lib/gpu/.gitignore b/lib/gpu/.gitignore index 7b5254e4808cebde170a59bf91821de6a46147d9..d32b287c1e05c2d509a37324cef7f8bafeea51bb 100644 --- a/lib/gpu/.gitignore +++ b/lib/gpu/.gitignore @@ -2,6 +2,7 @@ /obj_ocl /ocl_get_devices /nvc_get_devices +/hip_get_devices /*.cubin /*_cubin.h /*_cl.h diff --git a/lib/gpu/Makefile.hip b/lib/gpu/Makefile.hip new file mode 100644 index 0000000000000000000000000000000000000000..62d34592d1974cc8b33760c87071fc75067b4a2a --- /dev/null +++ b/lib/gpu/Makefile.hip @@ -0,0 +1,148 @@ +# /* ---------------------------------------------------------------------- +# Generic Linux Makefile for HIP +# - export HIP_PLATFORM=hcc (or nvcc) before execution +# - change HIP_ARCH for your GPU +# ------------------------------------------------------------------------- */ + +# this setting should match LAMMPS Makefile +# one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL + +LMP_INC = -DLAMMPS_SMALLBIG + +# precision for GPU calculations +# -D_SINGLE_SINGLE # Single precision for all calculations +# -D_DOUBLE_DOUBLE # Double precision for all calculations +# -D_SINGLE_DOUBLE # Accumulation of forces, etc. in double + +HIP_PRECISION = -D_SINGLE_DOUBLE + +HIP_OPTS = -O3 +HIP_HOST_OPTS = -Wno-deprecated-declarations +HIP_HOST_INCLUDE = + +# use device sort +# requires linking with hipcc and hipCUB + (rocPRIM or CUB for AMD or Nvidia respectively) +HIP_HOST_OPTS += -DUSE_HIP_DEVICE_SORT +# path to cub +HIP_HOST_INCLUDE += -I./ +# path to hipcub +HIP_HOST_INCLUDE += -I$(HIP_PATH)/../include + +# use mpi +HIP_HOST_OPTS += -DMPI_GERYON -DUCL_NO_EXIT +# this settings should match LAMMPS Makefile +MPI_COMP_OPTS = $(shell mpicxx --showme:compile) +MPI_LINK_OPTS = $(shell mpicxx --showme:link) +#MPI_COMP_OPTS += -I/usr/include/mpi -DMPICH_IGNORE_CXX_SEEK -DOMPI_SKIP_MPICXX=1 + +HIP_PATH ?= $(wildcard /opt/rocm/hip) +HIP_PLATFORM=$(shell $(HIP_PATH)/bin/hipconfig --compiler) + +ifeq (hcc,$(HIP_PLATFORM)) + HIP_OPTS += -ffast-math + # possible values: gfx803,gfx900,gfx906 + HIP_ARCH = gfx906 +else ifeq (nvcc,$(HIP_PLATFORM)) + HIP_OPTS += --use_fast_math + HIP_ARCH = -gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_32,code=[sm_32,compute_32] -gencode arch=compute_35,code=[sm_35,compute_35] \ + -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] -gencode arch=compute_53,code=[sm_53,compute_53]\ + -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] -gencode arch=compute_62,code=[sm_62,compute_62]\ + -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_72,code=[sm_72,compute_72] -gencode arch=compute_75,code=[sm_75,compute_75] +else + $(error Specify HIP platform using 'export HIP_PLATFORM=(hcc,nvcc)') +endif + +BIN_DIR = . +OBJ_DIR = ./obj +LIB_DIR = . +AR = ar +BSH = /bin/sh + + +# /* ---------------------------------------------------------------------- +# don't change section below without need +# ------------------------------------------------------------------------- */ + +HIP_OPTS += -DUSE_HIP $(HIP_PRECISION) +HIP_GPU_OPTS += $(HIP_OPTS) -I./ + +ifeq (hcc,$(HIP_PLATFORM)) + HIP_HOST_OPTS += -fPIC + HIP_GPU_CC = $(HIP_PATH)/bin/hipcc --genco + HIP_GPU_OPTS_S = -t="$(HIP_ARCH)" -f=\" + HIP_GPU_OPTS_E = \" + HIP_KERNEL_SUFFIX = .cpp + HIP_LIBS_TARGET = export HCC_AMDGPU_TARGET := $(HIP_ARCH) + export HCC_AMDGPU_TARGET := $(HIP_ARCH) +else ifeq (nvcc,$(HIP_PLATFORM)) + HIP_GPU_CC = $(HIP_PATH)/bin/hipcc --fatbin + HIP_GPU_OPTS += $(HIP_ARCH) + HIP_GPU_SORT_ARCH = $(HIP_ARCH) + # fix nvcc can't handle -pthread flag + MPI_COMP_OPTS := $(subst -pthread,-Xcompiler -pthread,$(MPI_COMP_OPTS)) + MPI_LINK_OPTS := $(subst -pthread,-Xcompiler -pthread,$(MPI_LINK_OPTS)) +endif + +# hipcc is essential for device sort, because of hipcub is header only library and ROCm gpu code generation is deferred to the linking stage +HIP_HOST_CC = $(HIP_PATH)/bin/hipcc +HIP_HOST_OPTS += $(HIP_OPTS) $(MPI_COMP_OPTS) $(LMP_INC) +HIP_HOST_CC_CMD = $(HIP_HOST_CC) $(HIP_HOST_OPTS) $(HIP_HOST_INCLUDE) + +# sources + +ALL_H = $(wildcard ./geryon/ucl*.h) $(wildcard ./geryon/hip*.h) $(wildcard ./lal_*.h) +SRCS := $(wildcard ./lal_*.cpp) +OBJS := $(subst ./,$(OBJ_DIR)/,$(SRCS:%.cpp=%.o)) +CUS := $(wildcard lal_*.cu) +CUHS := $(filter-out pppm_cubin.h, $(CUS:lal_%.cu=%_cubin.h)) pppm_f_cubin.h pppm_d_cubin.h +CUHS := $(addprefix $(OBJ_DIR)/, $(CUHS)) + +all: $(OBJ_DIR) $(CUHS) $(LIB_DIR)/libgpu.a $(BIN_DIR)/hip_get_devices + +$(OBJ_DIR): + mkdir -p $@ + +# GPU kernels compilation + +$(OBJ_DIR)/pppm_f_cubin.h: lal_pppm.cu $(ALL_H) + @cp $< $(OBJ_DIR)/temp_pppm_f.cu$(HIP_KERNEL_SUFFIX) + $(HIP_GPU_CC) $(HIP_GPU_OPTS_S) $(HIP_GPU_OPTS) -Dgrdtyp=float -Dgrdtyp4=float4 $(HIP_GPU_OPTS_E) -o $(OBJ_DIR)/pppm_f.cubin $(OBJ_DIR)/temp_pppm_f.cu$(HIP_KERNEL_SUFFIX) + @xxd -i $(OBJ_DIR)/pppm_f.cubin $@ + @sed -i "s/[a-zA-Z0-9_]*pppm_f_cubin/pppm_f/g" $@ + @rm $(OBJ_DIR)/temp_pppm_f.cu$(HIP_KERNEL_SUFFIX) $(OBJ_DIR)/pppm_f.cubin + +$(OBJ_DIR)/pppm_d_cubin.h: lal_pppm.cu $(ALL_H) + @cp $< $(OBJ_DIR)/temp_pppm_d.cu$(HIP_KERNEL_SUFFIX) + $(HIP_GPU_CC) $(HIP_GPU_OPTS_S) $(HIP_GPU_OPTS) -Dgrdtyp=double -Dgrdtyp4=double4 $(HIP_GPU_OPTS_E) -o $(OBJ_DIR)/pppm_d.cubin $(OBJ_DIR)/temp_pppm_d.cu$(HIP_KERNEL_SUFFIX) + @xxd -i $(OBJ_DIR)/pppm_d.cubin $@ + @sed -i "s/[a-zA-Z0-9_]*pppm_d_cubin/pppm_d/g" $@ + @rm $(OBJ_DIR)/temp_pppm_d.cu$(HIP_KERNEL_SUFFIX) $(OBJ_DIR)/pppm_d.cubin + +$(OBJ_DIR)/%_cubin.h: lal_%.cu $(ALL_H) + @cp $< $(OBJ_DIR)/temp_$*.cu$(HIP_KERNEL_SUFFIX) + $(HIP_GPU_CC) $(HIP_GPU_OPTS_S) $(HIP_GPU_OPTS) $(HIP_GPU_OPTS_E) -o $(OBJ_DIR)/$*.cubin $(OBJ_DIR)/temp_$*.cu$(HIP_KERNEL_SUFFIX) + @xxd -i $(OBJ_DIR)/$*.cubin $@ + @sed -i "s/[a-zA-Z0-9_]*$*_cubin/$*/g" $@ + @rm $(OBJ_DIR)/temp_$*.cu$(HIP_KERNEL_SUFFIX) $(OBJ_DIR)/$*.cubin + +# host sources compilation + +$(OBJ_DIR)/lal_atom.o: lal_atom.cpp $(CUHS) $(ALL_H) + $(HIP_HOST_CC_CMD) -o $@ -c $< -I$(OBJ_DIR) $(HIP_GPU_SORT_ARCH) + +$(OBJ_DIR)/lal_%.o: lal_%.cpp $(CUHS) $(ALL_H) + $(HIP_HOST_CC_CMD) -o $@ -c $< -I$(OBJ_DIR) + +# libgpu building + +$(LIB_DIR)/libgpu.a: $(OBJS) + $(AR) -crs $@ $(OBJS) + printf "export HIP_PLATFORM := %s\n%s\n" "$(HIP_PLATFORM)" "$(HIP_LIBS_TARGET)" > Makefile.lammps + +# test app building + +$(BIN_DIR)/hip_get_devices: ./geryon/ucl_get_devices.cpp $(ALL_H) + $(HIP_HOST_CC_CMD) -o $@ $< -DUCL_HIP $(MPI_LINK_OPTS) + +clean: + -rm -f $(BIN_DIR)/hip_get_devices $(LIB_DIR)/libgpu.a $(OBJS) $(OBJ_DIR)/temp_* $(CUHS) diff --git a/lib/gpu/README b/lib/gpu/README index 2d98749a403cff22021f85e0ce9a594f6d17e3ef..dfa8dcf7ff4bef41002749540e63a60b15625b0f 100644 --- a/lib/gpu/README +++ b/lib/gpu/README @@ -52,7 +52,7 @@ user-gpu_SYSLIB = CUDA libraries needed by this package user-gpu_SYSPATH = path(s) to where those libraries are Because you have the CUDA compilers on your system, you should have -the needed libraries. If the CUDA developement tools were installed +the needed libraries. If the CUDA development tools were installed in the standard manner, the settings in the Makefile.lammps.standard file should work. @@ -67,8 +67,8 @@ library requires installing the CUDA GPU driver and CUDA toolkit for your operating system. Installation of the CUDA SDK is not necessary. In addition to the LAMMPS library, the binary nvc_get_devices will also be built. This can be used to query the names and properties of GPU -devices on your system. A Makefile for OpenCL compilation is provided, -but support for OpenCL use is not currently provided by the developers. +devices on your system. A Makefile for OpenCL and ROCm HIP compilation +is provided, but support for it is not currently provided by the developers. Details of the implementation are provided in: ---- @@ -169,6 +169,25 @@ NOTE: The system-specific setting LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG, src/MAKE/Makefile.foo) should be consistent with that specified when building libgpu.a (i.e. by LMP_INC in the lib/gpu/Makefile.bar). + BUILDING FOR HIP FRAMEWORK + -------------------------------- +1. Install the latest ROCm framework (https://github.com/RadeonOpenCompute/ROCm). +2. GPU sorting requires installing hipcub +(https://github.com/ROCmSoftwarePlatform/hipCUB). The HIP CUDA-backend +additionally requires cub (https://nvlabs.github.io/cub). Download and +extract the cub directory to lammps/lib/gpu/ or specify an appropriate +path in lammps/lib/gpu/Makefile.hip. +3. In Makefile.hip it is possible to specify the target platform via +export HIP_PLATFORM=hcc or HIP_PLATFORM=nvcc as well as the target +architecture (gfx803, gfx900, gfx906 etc.) +4. If your MPI implementation does not support `mpicxx --showme` command, +it is required to specify the corresponding MPI compiler and linker flags +in lammps/lib/gpu/Makefile.hip and in lammps/src/MAKE/OPTIONS/Makefile.hip. +5. Building the GPU library (libgpu.a): + cd lammps/lib/gpu; make -f Makefile.hip -j +6. Building the LAMMPS executable (lmp_hip): + cd ../../src; make hip -j + EXAMPLE CONVENTIONAL BUILD PROCESS -------------------------------- diff --git a/lib/gpu/cudpp_mini/cudpp.cpp b/lib/gpu/cudpp_mini/cudpp.cpp index da5975406de4a0589541c484b5fa7bf9c59d95a0..e2cd4621a4b23800d98e58aaf25114267ef026a8 100644 --- a/lib/gpu/cudpp_mini/cudpp.cpp +++ b/lib/gpu/cudpp_mini/cudpp.cpp @@ -27,7 +27,7 @@ * defined in cudpp.h. Public interface functions call functions in the * \link cudpp_app Application-Level\endlink interface. The public * interface functions include Plan Interface functions and Algorithm - * Interface functions. Plan Inteface functions are used for creating + * Interface functions. Plan Interface functions are used for creating * CUDPP Plan objects which contain configuration details, intermediate * storage space, and in the case of cudppSparseMatrix(), data. The * Algorithm Interface is the set of functions that do the real work diff --git a/lib/gpu/cudpp_mini/cudpp_maximal_launch.cpp b/lib/gpu/cudpp_mini/cudpp_maximal_launch.cpp index 904d101b3bac706a18aa0273532d5ee4cf2b93e5..1a7542e68cc6e440931421c51e89876b0561e0db 100644 --- a/lib/gpu/cudpp_mini/cudpp_maximal_launch.cpp +++ b/lib/gpu/cudpp_mini/cudpp_maximal_launch.cpp @@ -8,16 +8,7 @@ // in the root directory of this source distribution. // ------------------------------------------------------------- #include "cudpp_maximal_launch.h" - -inline size_t min(size_t x, size_t y) -{ - return (x <= y) ? x : y; -} - -inline size_t max(size_t x, size_t y) -{ - return (x >= y) ? x : y; -} +#include // computes next highest multiple of f from x inline size_t multiple(size_t x, size_t f) @@ -65,7 +56,7 @@ size_t maxBlocks(cudaFuncAttributes &attribs, size_t ctaLimitSMem = smemPerCTA > 0 ? devprop.sharedMemPerBlock / smemPerCTA : maxBlocksPerSM; size_t ctaLimitThreads = maxThreadsPerSM / threadsPerBlock; - return devprop.multiProcessorCount * min(ctaLimitRegs, min(ctaLimitSMem, min(ctaLimitThreads, maxBlocksPerSM))); + return devprop.multiProcessorCount * std::min(ctaLimitRegs, std::min(ctaLimitSMem, std::min(ctaLimitThreads, (size_t)maxBlocksPerSM))); } extern "C" @@ -80,15 +71,15 @@ size_t maxBlocksFromPointer(void* kernel, { err = cudaGetDeviceProperties(&devprop, deviceID); if (err != cudaSuccess) - return -1; + return (size_t)-1; cudaFuncAttributes attr; err = cudaFuncGetAttributes(&attr, (const char*)kernel); if (err != cudaSuccess) - return -1; + return (size_t)-1; return maxBlocks(attr, devprop, bytesDynamicSharedMem, threadsPerBlock); } - return -1; + return (size_t)-1; } diff --git a/lib/gpu/cudpp_mini/cutil.h b/lib/gpu/cudpp_mini/cutil.h index 3df93fb886a416d334755546029dae5189e588b3..fbf139cda348c9ddb8ea5bdb53082db37fe28ba6 100644 --- a/lib/gpu/cudpp_mini/cutil.h +++ b/lib/gpu/cudpp_mini/cutil.h @@ -367,7 +367,7 @@ extern "C" { //! @param w width of the image //! @param h height of the image //! @note If a NULL pointer is passed to this function and it is - //! initialized withing Cutil then cutFree() has to be used to + //! initialized within Cutil then cutFree() has to be used to //! deallocate the memory //////////////////////////////////////////////////////////////////////////// DLL_MAPPING @@ -382,7 +382,7 @@ extern "C" { //! @param w width of the image //! @param h height of the image //! @note If a NULL pointer is passed to this function and it is - //! initialized withing Cutil then cutFree() has to be used to + //! initialized within Cutil then cutFree() has to be used to //! deallocate the memory //////////////////////////////////////////////////////////////////////////// DLL_MAPPING @@ -466,7 +466,7 @@ extern "C" { //////////////////////////////////////////////////////////////////////////// // Command line arguments: General notes // * All command line arguments begin with '--' followed by the token; - // token and value are seperated by '='; example --samples=50 + // token and value are separated by '='; example --samples=50 // * Arrays have the form --model=[one.obj,two.obj,three.obj] // (without whitespaces) //////////////////////////////////////////////////////////////////////////// diff --git a/lib/gpu/cudpp_mini/kernel/scan_kernel.cu b/lib/gpu/cudpp_mini/kernel/scan_kernel.cu index 966634c89b5786c8adbb3fb95364c906a87a2b2c..d8eb477952ae0b58fe3a0dec7ac8499bd3b72ea9 100644 --- a/lib/gpu/cudpp_mini/kernel/scan_kernel.cu +++ b/lib/gpu/cudpp_mini/kernel/scan_kernel.cu @@ -46,7 +46,7 @@ * the rows of \a d_blockSums (in elements) in \a blockSumRowPitch, and invoke * with a thread block grid with height greater than 1. * - * This function peforms one level of a recursive, multiblock scan. At the + * This function performs one level of a recursive, multiblock scan. At the * app level, this function is called by cudppScan and cudppMultiScan and used * in combination with vectorAddUniform4() to produce a complete scan. * diff --git a/lib/gpu/geryon/hip_device.h b/lib/gpu/geryon/hip_device.h new file mode 100644 index 0000000000000000000000000000000000000000..93f38d28bbf773ace806e7746bc598a715859ce5 --- /dev/null +++ b/lib/gpu/geryon/hip_device.h @@ -0,0 +1,519 @@ +/* ----------------------------------------------------------------------- + Copyright (2009) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the Simplified BSD License. + ----------------------------------------------------------------------- */ + +#ifndef HIP_DEVICE +#define HIP_DEVICE + + +#include +#include +#include +#include +#include +#include "hip_macros.h" +#include "ucl_types.h" + +namespace ucl_hip { + +// -------------------------------------------------------------------------- +// - COMMAND QUEUE STUFF +// -------------------------------------------------------------------------- +typedef hipStream_t command_queue; + +inline void ucl_sync(hipStream_t &stream) { + CU_SAFE_CALL(hipStreamSynchronize(stream)); +} + +struct NVDProperties { + int device_id; + std::string name; + int major; + int minor; + CUDA_INT_TYPE totalGlobalMem; + int multiProcessorCount; + + int maxThreadsPerBlock; + int maxThreadsDim[3]; + int maxGridSize[3]; + int sharedMemPerBlock; + int totalConstantMemory; + int SIMDWidth; + int memPitch; + int regsPerBlock; + int clockRate; + int textureAlign; + + int kernelExecTimeoutEnabled; + int integrated; + int canMapHostMemory; + int concurrentKernels; + int ECCEnabled; + int computeMode; +}; + +/// Class for looking at device properties +/** \note Calls to change the device outside of the class results in incorrect + * behavior + * \note There is no error checking for indexing past the number of devices **/ +class UCL_Device { + public: + /// Collect properties for every GPU on the node + /** \note You must set the active GPU with set() before using the device **/ + inline UCL_Device(); + + inline ~UCL_Device(); + + /// Returns 1 (For compatibility with OpenCL) + inline int num_platforms() { return 1; } + + /// Return a string with name and info of the current platform + inline std::string platform_name() + { return "HIP platform"; } + + /// Delete any contexts/data and set the platform number to be used + inline int set_platform(const int pid); + + /// Return the number of devices that support CUDA + inline int num_devices() { return _properties.size(); } + + /// Set the CUDA device to the specified device number + /** A context and default command queue will be created for the device + * Returns UCL_SUCCESS if successful or UCL_ERROR if the device could not + * be allocated for use. clear() is called to delete any contexts and + * associated data from previous calls to set(). **/ + inline int set(int num); + + /// Delete any context and associated data stored from a call to set() + inline void clear(); + + /// Get the current device number + inline int device_num() { return _device; } + + /// Returns the default stream for the current device + inline command_queue & cq() { return cq(0); } + + /// Returns the stream indexed by i + inline command_queue & cq(const int i) { return _cq[i]; } + + /// Block until all commands in the default stream have completed + inline void sync() { sync(0); } + + /// Block until all commands in the specified stream have completed + inline void sync(const int i) { ucl_sync(cq(i)); } + + /// Get the number of command queues currently available on device + inline int num_queues() + { return _cq.size(); } + + /// Add a stream for device computations + inline void push_command_queue() { + _cq.push_back(hipStream_t()); + CU_SAFE_CALL(hipStreamCreateWithFlags(&_cq.back(),0)); + } + + /// Remove a stream for device computations + /** \note You cannot delete the default stream **/ + inline void pop_command_queue() { + if (_cq.size()<2) return; + CU_SAFE_CALL_NS(hipStreamDestroy(_cq.back())); + _cq.pop_back(); + } + + /// Set the default command queue (by default this is the null stream) + /** \param i index of the command queue (as added by push_command_queue()) + If i is 0, the default command queue is set to the null stream **/ + inline void set_command_queue(const int i) { + if (i==0) _cq[0]=0; + else _cq[0]=_cq[i]; + } + + /// Get the current CUDA device name + inline std::string name() { return name(_device); } + /// Get the CUDA device name + inline std::string name(const int i) + { return std::string(_properties[i].name); } + + /// Get a string telling the type of the current device + inline std::string device_type_name() { return device_type_name(_device); } + /// Get a string telling the type of the device + inline std::string device_type_name(const int i) { return "GPU"; } + + /// Get current device type (UCL_CPU, UCL_GPU, UCL_ACCELERATOR, UCL_DEFAULT) + inline int device_type() { return device_type(_device); } + /// Get device type (UCL_CPU, UCL_GPU, UCL_ACCELERATOR, UCL_DEFAULT) + inline int device_type(const int i) { return UCL_GPU; } + + /// Returns true if host memory is efficiently addressable from device + inline bool shared_memory() { return shared_memory(_device); } + /// Returns true if host memory is efficiently addressable from device + inline bool shared_memory(const int i) { return device_type(i)==UCL_CPU; } + + /// Returns true if double precision is support for the current device + inline bool double_precision() { return double_precision(_device); } + /// Returns true if double precision is support for the device + inline bool double_precision(const int i) {return arch(i)>=1.3;} + + /// Get the number of compute units on the current device + inline unsigned cus() { return cus(_device); } + /// Get the number of compute units + inline unsigned cus(const int i) + { return _properties[i].multiProcessorCount; } + + /// Get the number of cores in the current device + inline unsigned cores() { return cores(_device); } + /// Get the number of cores + inline unsigned cores(const int i) + { if (arch(i)<2.0) return _properties[i].multiProcessorCount*8; + else if (arch(i)<2.1) return _properties[i].multiProcessorCount*32; + else if (arch(i)<3.0) return _properties[i].multiProcessorCount*48; + else return _properties[i].multiProcessorCount*192; } + + /// Get the gigabytes of global memory in the current device + inline double gigabytes() { return gigabytes(_device); } + /// Get the gigabytes of global memory + inline double gigabytes(const int i) + { return static_cast(_properties[i].totalGlobalMem)/1073741824; } + + /// Get the bytes of global memory in the current device + inline size_t bytes() { return bytes(_device); } + /// Get the bytes of global memory + inline size_t bytes(const int i) { return _properties[i].totalGlobalMem; } + + // Get the gigabytes of free memory in the current device + inline double free_gigabytes() { return free_gigabytes(_device); } + // Get the gigabytes of free memory + inline double free_gigabytes(const int i) + { return static_cast(free_bytes(i))/1073741824; } + + // Get the bytes of free memory in the current device + inline size_t free_bytes() { return free_bytes(_device); } + // Get the bytes of free memory + inline size_t free_bytes(const int i) { + CUDA_INT_TYPE dfree, dtotal; + CU_SAFE_CALL_NS(hipMemGetInfo(&dfree, &dtotal)); + return static_cast(dfree); + } + + /// Return the GPGPU compute capability for current device + inline double arch() { return arch(_device); } + /// Return the GPGPU compute capability + inline double arch(const int i) + { return static_cast(_properties[i].minor)/10+_properties[i].major;} + + /// Clock rate in GHz for current device + inline double clock_rate() { return clock_rate(_device); } + /// Clock rate in GHz + inline double clock_rate(const int i) + { return _properties[i].clockRate*1e-6;} + + /// Get the maximum number of threads per block + inline size_t group_size() { return group_size(_device); } + /// Get the maximum number of threads per block + inline size_t group_size(const int i) + { return _properties[i].maxThreadsPerBlock; } + + /// Return the maximum memory pitch in bytes for current device + inline size_t max_pitch() { return max_pitch(_device); } + /// Return the maximum memory pitch in bytes + inline size_t max_pitch(const int i) { return _properties[i].memPitch; } + + /// Returns false if accelerator cannot be shared by multiple processes + /** If it cannot be determined, true is returned **/ + inline bool sharing_supported() { return sharing_supported(_device); } + /// Returns false if accelerator cannot be shared by multiple processes + /** If it cannot be determined, true is returned **/ + inline bool sharing_supported(const int i) + { return (_properties[i].computeMode == hipComputeModeDefault); } + + /// True if splitting device into equal subdevices supported + inline bool fission_equal() + { return fission_equal(_device); } + /// True if splitting device into equal subdevices supported + inline bool fission_equal(const int i) + { return false; } + /// True if splitting device into subdevices by specified counts supported + inline bool fission_by_counts() + { return fission_by_counts(_device); } + /// True if splitting device into subdevices by specified counts supported + inline bool fission_by_counts(const int i) + { return false; } + /// True if splitting device into subdevices by affinity domains supported + inline bool fission_by_affinity() + { return fission_by_affinity(_device); } + /// True if splitting device into subdevices by affinity domains supported + inline bool fission_by_affinity(const int i) + { return false; } + + /// Maximum number of subdevices allowed from device fission + inline int max_sub_devices() + { return max_sub_devices(_device); } + /// Maximum number of subdevices allowed from device fission + inline int max_sub_devices(const int i) + { return 0; } + + /// List all devices along with all properties + inline void print_all(std::ostream &out); + + /// Select the platform that has accelerators (for compatibility with OpenCL) + inline int set_platform_accelerator(int pid=-1) { return UCL_SUCCESS; } + + inline int load_module(const void* program, hipModule_t& module, std::string *log=NULL){ + auto it = _loaded_modules.emplace(program, hipModule_t()); + if(!it.second){ + module = it.first->second; + return UCL_SUCCESS; + } + const unsigned int num_opts=2; + hipJitOption options[num_opts]; + void *values[num_opts]; + + // set up size of compilation log buffer + options[0] = hipJitOptionInfoLogBufferSizeBytes; + values[0] = (void *)(int)10240; + // set up pointer to the compilation log buffer + options[1] = hipJitOptionInfoLogBuffer; + char clog[10240] = { 0 }; + values[1] = clog; + + hipError_t err=hipModuleLoadDataEx(&module,program,num_opts, options,(void **)values); + + if (log!=NULL) + *log=std::string(clog); + + if (err != hipSuccess) { + #ifndef UCL_NO_EXIT + std::cerr << std::endl + << "----------------------------------------------------------\n" + << " UCL Error: Error compiling PTX Program...\n" + << "----------------------------------------------------------\n"; + std::cerr << log << std::endl; + #endif + _loaded_modules.erase(it.first); + return UCL_COMPILE_ERROR; + } + it.first->second = module; + return UCL_SUCCESS; + } + private: + std::unordered_map _loaded_modules; + int _device, _num_devices; + std::vector _properties; + std::vector _cq; + hipDevice_t _cu_device; +}; + +// Grabs the properties for all devices +UCL_Device::UCL_Device() { + CU_SAFE_CALL_NS(hipInit(0)); + CU_SAFE_CALL_NS(hipGetDeviceCount(&_num_devices)); + for (int i=0; i<_num_devices; ++i) { + hipDevice_t dev; + CU_SAFE_CALL_NS(hipDeviceGet(&dev,i)); + int major, minor; + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&major, hipDeviceAttributeComputeCapabilityMajor, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&minor, hipDeviceAttributeComputeCapabilityMinor, dev)); + if (major==9999) + continue; + + NVDProperties prop; + prop.device_id = i; + prop.major=major; + prop.minor=minor; + + char namecstr[1024]; + CU_SAFE_CALL_NS(hipDeviceGetName(namecstr,1024,dev)); + prop.name=namecstr; + + CU_SAFE_CALL_NS(hipDeviceTotalMem(&prop.totalGlobalMem,dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.multiProcessorCount, hipDeviceAttributeMultiprocessorCount, dev)); + + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.maxThreadsPerBlock, hipDeviceAttributeMaxThreadsPerBlock, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.maxThreadsDim[0], hipDeviceAttributeMaxBlockDimX, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.maxThreadsDim[1], hipDeviceAttributeMaxBlockDimY, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.maxThreadsDim[2], hipDeviceAttributeMaxBlockDimZ, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.maxGridSize[0], hipDeviceAttributeMaxGridDimX, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.maxGridSize[1], hipDeviceAttributeMaxGridDimY, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.maxGridSize[2], hipDeviceAttributeMaxGridDimZ, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.sharedMemPerBlock, hipDeviceAttributeMaxSharedMemoryPerBlock, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.totalConstantMemory, hipDeviceAttributeTotalConstantMemory, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.SIMDWidth, hipDeviceAttributeWarpSize, dev)); + //CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.memPitch, CU_DEVICE_ATTRIBUTE_MAX_PITCH, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.regsPerBlock, hipDeviceAttributeMaxRegistersPerBlock, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.clockRate, hipDeviceAttributeClockRate, dev)); + //CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.textureAlign, CU_DEVICE_ATTRIBUTE_TEXTURE_ALIGNMENT, dev)); + + //#if CUDA_VERSION >= 2020 + //CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.kernelExecTimeoutEnabled, CU_DEVICE_ATTRIBUTE_KERNEL_EXEC_TIMEOUT,dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.integrated, hipDeviceAttributeIntegrated, dev)); + //CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.canMapHostMemory, CU_DEVICE_ATTRIBUTE_CAN_MAP_HOST_MEMORY, dev)); + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.computeMode, hipDeviceAttributeComputeMode,dev)); + //#endif + //#if CUDA_VERSION >= 3010 + CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.concurrentKernels, hipDeviceAttributeConcurrentKernels, dev)); + //CU_SAFE_CALL_NS(hipDeviceGetAttribute(&prop.ECCEnabled, CU_DEVICE_ATTRIBUTE_ECC_ENABLED, dev)); + //#endif + + _properties.push_back(prop); + } + _device=-1; + _cq.push_back(hipStream_t()); + _cq.back()=0; +} + +UCL_Device::~UCL_Device() { + clear(); +} + +int UCL_Device::set_platform(const int pid) { + clear(); + #ifdef UCL_DEBUG + assert(pid-1) { + for (int i=1; i= 2020 + int driver_version; + hipDriverGetVersion(&driver_version); + out << "Driver Version: " + << driver_version/1000 << "." << driver_version%100 + << std::endl; + //#endif + + if (num_devices() == 0) + out << "There is no device supporting HIP\n"; + for (int i=0; i= 2000 + out << " Number of compute units/multiprocessors: " + << _properties[i].multiProcessorCount << std::endl; + out << " Number of cores: " + << cores(i) << std::endl; + //#endif + out << " Total amount of constant memory: " + << _properties[i].totalConstantMemory << " bytes\n"; + out << " Total amount of local/shared memory per block: " + << _properties[i].sharedMemPerBlock << " bytes\n"; + out << " Total number of registers available per block: " + << _properties[i].regsPerBlock << std::endl; + out << " Warp size: " + << _properties[i].SIMDWidth << std::endl; + out << " Maximum number of threads per block: " + << _properties[i].maxThreadsPerBlock << std::endl; + out << " Maximum group size (# of threads per block) " + << _properties[i].maxThreadsDim[0] << " x " + << _properties[i].maxThreadsDim[1] << " x " + << _properties[i].maxThreadsDim[2] << std::endl; + out << " Maximum item sizes (# threads for each dim) " + << _properties[i].maxGridSize[0] << " x " + << _properties[i].maxGridSize[1] << " x " + << _properties[i].maxGridSize[2] << std::endl; + //out << " Maximum memory pitch: " + // << max_pitch(i) << " bytes\n"; + //out << " Texture alignment: " + // << _properties[i].textureAlign << " bytes\n"; + out << " Clock rate: " + << clock_rate(i) << " GHz\n"; + //#if CUDA_VERSION >= 2020 + //out << " Run time limit on kernels: "; + //if (_properties[i].kernelExecTimeoutEnabled) + // out << "Yes\n"; + //else + // out << "No\n"; + out << " Integrated: "; + if (_properties[i].integrated) + out << "Yes\n"; + else + out << "No\n"; + //out << " Support host page-locked memory mapping: "; + //if (_properties[i].canMapHostMemory) + // out << "Yes\n"; + //else + // out << "No\n"; + out << " Compute mode: "; + if (_properties[i].computeMode == hipComputeModeDefault) + out << "Default\n"; // multiple threads can use device +//#if CUDA_VERSION >= 8000 +// else if (_properties[i].computeMode == hipComputeModeExclusiveProcess) +//#else + else if (_properties[i].computeMode == hipComputeModeExclusive) +//#endif + out << "Exclusive\n"; // only thread can use device + else if (_properties[i].computeMode == hipComputeModeProhibited) + out << "Prohibited\n"; // no thread can use device + //#if CUDART_VERSION >= 4000 + else if (_properties[i].computeMode == hipComputeModeExclusiveProcess) + out << "Exclusive Process\n"; // multiple threads 1 process + //#endif + else + out << "Unknown\n"; + //#endif + //#if CUDA_VERSION >= 3010 + out << " Concurrent kernel execution: "; + if (_properties[i].concurrentKernels) + out << "Yes\n"; + else + out << "No\n"; + //out << " Device has ECC support enabled: "; + //if (_properties[i].ECCEnabled) + // out << "Yes\n"; + //else + // out << "No\n"; + //#endif + } +} + +} + +#endif diff --git a/lib/gpu/geryon/hip_kernel.h b/lib/gpu/geryon/hip_kernel.h new file mode 100644 index 0000000000000000000000000000000000000000..654eb44772371461d32078057f91be6289870c1b --- /dev/null +++ b/lib/gpu/geryon/hip_kernel.h @@ -0,0 +1,298 @@ +/* ----------------------------------------------------------------------- + Copyright (2010) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the Simplified BSD License. + ----------------------------------------------------------------------- */ + +#ifndef HIP_KERNEL +#define HIP_KERNEL + + +#include +#include "hip_device.h" +#include +#include +#include + +namespace ucl_hip { + +class UCL_Texture; +template class UCL_D_Vec; +template class UCL_D_Mat; +template class UCL_Vector; +template class UCL_Matrix; +#define UCL_MAX_KERNEL_ARGS 256 + +/// Class storing 1 or more kernel functions from a single string or file +class UCL_Program { + UCL_Device* _device_ptr; + public: + inline UCL_Program(UCL_Device &device) { _device_ptr = &device; _cq=device.cq(); } + inline UCL_Program(UCL_Device &device, const void *program, + const char *flags="", std::string *log=NULL) { + _device_ptr = &device; _cq=device.cq(); + init(device); + load_string(program,flags,log); + } + + inline ~UCL_Program() {} + + /// Initialize the program with a device + inline void init(UCL_Device &device) { _device_ptr = &device; _cq=device.cq(); } + + /// Clear any data associated with program + /** \note Must call init() after each clear **/ + inline void clear() { } + + /// Load a program from a file and compile with flags + inline int load(const char *filename, const char *flags="", std::string *log=NULL) { + std::ifstream in(filename); + if (!in || in.is_open()==false) { + #ifndef UCL_NO_EXIT + std::cerr << "UCL Error: Could not open kernel file: " + << filename << std::endl; + UCL_GERYON_EXIT; + #endif + return UCL_FILE_NOT_FOUND; + } + + std::string program((std::istreambuf_iterator(in)), + std::istreambuf_iterator()); + in.close(); + return load_string(program.c_str(),flags,log); + } + + /// Load a program from a string and compile with flags + inline int load_string(const void *program, const char *flags="", std::string *log=NULL) { + return _device_ptr->load_module(program, _module, log); + } + + friend class UCL_Kernel; + private: + hipModule_t _module; + hipStream_t _cq; + friend class UCL_Texture; +}; + +/// Class for dealing with CUDA Driver kernels +class UCL_Kernel { + public: + UCL_Kernel() : _dimensions(1), _num_args(0) { + _num_blocks[0]=0; + } + + UCL_Kernel(UCL_Program &program, const char *function) : + _dimensions(1), _num_args(0) { + _num_blocks[0]=0; + set_function(program,function); + _cq=program._cq; + } + + ~UCL_Kernel() {} + + /// Clear any function associated with the kernel + inline void clear() { } + + /// Get the kernel function from a program + /** \ret UCL_ERROR_FLAG (UCL_SUCCESS, UCL_FILE_NOT_FOUND, UCL_ERROR) **/ + inline int set_function(UCL_Program &program, const char *function) { + hipError_t err=hipModuleGetFunction(&_kernel,program._module,function); + if (err!=hipSuccess) { + #ifndef UCL_NO_EXIT + std::cerr << "UCL Error: Could not find function: " << function + << " in program.\n"; + UCL_GERYON_EXIT; + #endif + return UCL_FUNCTION_NOT_FOUND; + } + _cq=program._cq; + return UCL_SUCCESS; + } + + /// Set the kernel argument. + /** If not a device pointer, this must be repeated each time the argument + * changes + * \note To set kernel parameter i (i>0), parameter i-1 must be set **/ + template + inline void set_arg(const unsigned index, const dtype * const arg) { + if (index==_num_args) + add_arg(arg); + else if (index<_num_args){ + assert(0==1); // not implemented + } + else + assert(0==1); // Must add kernel parameters in sequential order + } + + /// Set a geryon container as a kernel argument. + template + inline void set_arg(const UCL_D_Vec * const arg) + { set_arg(&arg->begin()); } + + /// Set a geryon container as a kernel argument. + template + inline void set_arg(const UCL_D_Mat * const arg) + { set_arg(&arg->begin()); } + + /// Set a geryon container as a kernel argument. + template + inline void set_arg(const UCL_Vector * const arg) + { set_arg(&arg->device.begin()); } + + /// Set a geryon container as a kernel argument. + template + inline void set_arg(const UCL_Matrix * const arg) + { set_arg(&arg->device.begin()); } + + /// Add a kernel argument. + inline void add_arg(const hipDeviceptr_t* const arg) { + add_arg((void**)arg); + } + + /// Add a kernel argument. + template + inline void add_arg(const dtype* const arg) { + const auto old_size = _hip_kernel_args.size(); + const auto aligned_size = (old_size+alignof(dtype)-1) & ~(alignof(dtype)-1); + const auto arg_size = sizeof(dtype); + _hip_kernel_args.resize(aligned_size + arg_size); + *((dtype*)(&_hip_kernel_args[aligned_size])) = *arg; + _num_args++; + if (_num_args>UCL_MAX_KERNEL_ARGS) assert(0==1); + } + + /// Add a geryon container as a kernel argument. + template + inline void add_arg(const UCL_D_Vec * const arg) + { add_arg(&arg->begin()); } + + /// Add a geryon container as a kernel argument. + template + inline void add_arg(const UCL_D_Mat * const arg) + { add_arg(&arg->begin()); } + + /// Add a geryon container as a kernel argument. + template + inline void add_arg(const UCL_Vector * const arg) + { add_arg(&arg->device.begin()); } + + /// Add a geryon container as a kernel argument. + template + inline void add_arg(const UCL_Matrix * const arg) + { add_arg(&arg->device.begin()); } + + /// Set the number of thread blocks and the number of threads in each block + /** \note This should be called before any arguments have been added + \note The default command queue is used for the kernel execution **/ + inline void set_size(const size_t num_blocks, const size_t block_size) { + _dimensions=1; + _num_blocks[0]=num_blocks; + _num_blocks[1]=1; + _num_blocks[2]=1; + + _block_size[0]=block_size; + _block_size[1]=1; + _block_size[2]=1; + } + + /// Set the number of thread blocks and the number of threads in each block + /** \note This should be called before any arguments have been added + \note The default command queue for the kernel is changed to cq **/ + inline void set_size(const size_t num_blocks, const size_t block_size, + command_queue &cq) + { _cq=cq; set_size(num_blocks,block_size); } + + /// Set the number of thread blocks and the number of threads in each block + /** \note This should be called before any arguments have been added + \note The default command queue is used for the kernel execution **/ + inline void set_size(const size_t num_blocks_x, const size_t num_blocks_y, + const size_t block_size_x, const size_t block_size_y) { + _dimensions=2; + _num_blocks[0]=num_blocks_x; + _num_blocks[1]=num_blocks_y; + _num_blocks[2]=1; + + _block_size[0]=block_size_x; + _block_size[1]=block_size_y; + _block_size[2]=1; + } + + /// Set the number of thread blocks and the number of threads in each block + /** \note This should be called before any arguments have been added + \note The default command queue for the kernel is changed to cq **/ + inline void set_size(const size_t num_blocks_x, const size_t num_blocks_y, + const size_t block_size_x, const size_t block_size_y, + command_queue &cq) + {_cq=cq; set_size(num_blocks_x, num_blocks_y, block_size_x, block_size_y);} + + /// Set the number of thread blocks and the number of threads in each block + /** \note This should be called before any arguments have been added + \note The default command queue is used for the kernel execution **/ + inline void set_size(const size_t num_blocks_x, const size_t num_blocks_y, + const size_t block_size_x, + const size_t block_size_y, const size_t block_size_z) { + _dimensions=2; + _num_blocks[0]=num_blocks_x; + _num_blocks[1]=num_blocks_y; + _num_blocks[2]=1; + + _block_size[0]=block_size_x; + _block_size[1]=block_size_y; + _block_size[2]=block_size_z; + } + + /// Set the number of thread blocks and the number of threads in each block + /** \note This should be called before any arguments have been added + \note The default command queue is used for the kernel execution **/ + inline void set_size(const size_t num_blocks_x, const size_t num_blocks_y, + const size_t block_size_x, const size_t block_size_y, + const size_t block_size_z, command_queue &cq) { + _cq=cq; + set_size(num_blocks_x, num_blocks_y, block_size_x, block_size_y, + block_size_z); + } + + /// Run the kernel in the default command queue + inline void run() { + size_t args_size = _hip_kernel_args.size(); + void *config[] = { + HIP_LAUNCH_PARAM_BUFFER_POINTER, (void*)_hip_kernel_args.data(), + HIP_LAUNCH_PARAM_BUFFER_SIZE, &args_size, + HIP_LAUNCH_PARAM_END + }; + const auto res = hipModuleLaunchKernel(_kernel,_num_blocks[0],_num_blocks[1], + _num_blocks[2],_block_size[0],_block_size[1], + _block_size[2],0,_cq, NULL, config); + CU_SAFE_CALL(res); +//#endif + } + + /// Clear any arguments associated with the kernel + inline void clear_args() { + _num_args=0; + _hip_kernel_args.clear(); + } + + /// Return the default command queue/stream associated with this data + inline command_queue & cq() { return _cq; } + /// Change the default command queue associated with matrix + inline void cq(command_queue &cq_in) { _cq=cq_in; } + #include "ucl_arg_kludge.h" + + private: + hipFunction_t _kernel; + hipStream_t _cq; + unsigned _dimensions; + unsigned _num_blocks[3]; + unsigned _num_args; + friend class UCL_Texture; + + unsigned _block_size[3]; + std::vector _hip_kernel_args; +}; + +} // namespace + +#endif + diff --git a/lib/gpu/geryon/hip_macros.h b/lib/gpu/geryon/hip_macros.h new file mode 100644 index 0000000000000000000000000000000000000000..9c9971b89638d08cbe444b1c5a3617bdf6c11b3b --- /dev/null +++ b/lib/gpu/geryon/hip_macros.h @@ -0,0 +1,83 @@ +#ifndef HIP_MACROS_H +#define HIP_MACROS_H + +#include +#include +#include + +//#if CUDA_VERSION >= 3020 +#define CUDA_INT_TYPE size_t +//#else +//#define CUDA_INT_TYPE unsigned +//#endif + +#ifdef MPI_GERYON +#include "mpi.h" +#define NVD_GERYON_EXIT do { \ + int is_final; \ + MPI_Finalized(&is_final); \ + if (!is_final) \ + MPI_Abort(MPI_COMM_WORLD,-1); \ + } while(0) +#else +#define NVD_GERYON_EXIT assert(0==1) +#endif + +#ifndef UCL_GERYON_EXIT +#define UCL_GERYON_EXIT NVD_GERYON_EXIT +#endif + +#ifdef UCL_DEBUG +#define UCL_SYNC_DEBUG +#define UCL_DESTRUCT_CHECK +#endif + +#ifndef UCL_NO_API_CHECK + +#define CU_SAFE_CALL_NS( call ) do { \ + hipError_t err = call; \ + if( hipSuccess != err) { \ + fprintf(stderr, "HIP runtime error %d in call at file '%s' in line %i.\n", \ + err, __FILE__, __LINE__ ); \ + NVD_GERYON_EXIT; \ + } } while (0) + +#ifdef UCL_SYNC_DEBUG + +#define CU_SAFE_CALL( call ) do { \ + CU_SAFE_CALL_NS( call ); \ + hipError_t err=hipCtxSynchronize(); \ + if( hipSuccess != err) { \ + fprintf(stderr, "HIP runtime error %d in file '%s' in line %i.\n", \ + err, __FILE__, __LINE__ ); \ + NVD_GERYON_EXIT; \ + } } while (0) + +#else + +#define CU_SAFE_CALL( call ) CU_SAFE_CALL_NS( call ) + +#endif + +#else // not DEBUG + +// void macros for performance reasons +#define CU_SAFE_CALL_NS( call ) call +#define CU_SAFE_CALL( call) call + +#endif + +#ifdef UCL_DESTRUCT_CHECK + +#define CU_DESTRUCT_CALL( call) CU_SAFE_CALL( call) +#define CU_DESTRUCT_CALL_NS( call) CU_SAFE_CALL_NS( call) + +#else + +#define CU_DESTRUCT_CALL( call) call +#define CU_DESTRUCT_CALL_NS( call) call + +#endif + +#endif + diff --git a/lib/gpu/geryon/hip_mat.h b/lib/gpu/geryon/hip_mat.h new file mode 100644 index 0000000000000000000000000000000000000000..d9bbb4e5218f940fcab9791b4945562c7fb2e03e --- /dev/null +++ b/lib/gpu/geryon/hip_mat.h @@ -0,0 +1,43 @@ +/* ----------------------------------------------------------------------- + Copyright (2010) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the Simplified BSD License. + ----------------------------------------------------------------------- */ + +/*! \file */ + +#ifndef HIP_MAT_H +#define HIP_MAT_H + + +#include +#include "hip_memory.h" + +/// Namespace for CUDA Driver routines +namespace ucl_hip { + +#define _UCL_MAT_ALLOW +#define _UCL_DEVICE_PTR_MAT +#include "ucl_basemat.h" +#include "ucl_h_vec.h" +#include "ucl_h_mat.h" +#include "ucl_d_vec.h" +#include "ucl_d_mat.h" +#include "ucl_s_obj_help.h" +#include "ucl_vector.h" +#include "ucl_matrix.h" +#undef _UCL_DEVICE_PTR_MAT +#undef _UCL_MAT_ALLOW + +#define UCL_COPY_ALLOW +#include "ucl_copy.h" +#undef UCL_COPY_ALLOW + +#define UCL_PRINT_ALLOW +#include "ucl_print.h" +#undef UCL_PRINT_ALLOW + +} // namespace ucl_cudadr + +#endif diff --git a/lib/gpu/geryon/hip_memory.h b/lib/gpu/geryon/hip_memory.h new file mode 100644 index 0000000000000000000000000000000000000000..13f60ad93963ecbfcbdc5ab6e44dcd39161bfffb --- /dev/null +++ b/lib/gpu/geryon/hip_memory.h @@ -0,0 +1,279 @@ +/* ----------------------------------------------------------------------- + Copyright (2010) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the Simplified BSD License. + ----------------------------------------------------------------------- */ + +#ifndef HIP_MEMORY_H +#define HIP_MEMORY_H + + +#include +#include +#include +#include +#include "hip_macros.h" +#include "hip_device.h" +#include "ucl_types.h" + +namespace ucl_hip { + +// -------------------------------------------------------------------------- +// - API Specific Types +// -------------------------------------------------------------------------- +//typedef dim3 ucl_kernel_dim; + +#ifdef __HIP_PLATFORM_NVCC__ +typedef enum hipArray_Format { + HIP_AD_FORMAT_UNSIGNED_INT8 = 0x01, + HIP_AD_FORMAT_UNSIGNED_INT16 = 0x02, + HIP_AD_FORMAT_UNSIGNED_INT32 = 0x03, + HIP_AD_FORMAT_SIGNED_INT8 = 0x08, + HIP_AD_FORMAT_SIGNED_INT16 = 0x09, + HIP_AD_FORMAT_SIGNED_INT32 = 0x0a, + HIP_AD_FORMAT_HALF = 0x10, + HIP_AD_FORMAT_FLOAT = 0x20 +}hipArray_Format; +#endif + +// -------------------------------------------------------------------------- +// - API SPECIFIC DEVICE POINTERS +// -------------------------------------------------------------------------- +typedef hipDeviceptr_t device_ptr; + +// -------------------------------------------------------------------------- +// - HOST MEMORY ALLOCATION ROUTINES +// -------------------------------------------------------------------------- +template +inline int _host_alloc(mat_type &mat, copy_type &cm, const size_t n, + const enum UCL_MEMOPT kind, const enum UCL_MEMOPT kind2){ + hipError_t err=hipSuccess; + if (kind==UCL_NOT_PINNED) + *(mat.host_ptr())=(typename mat_type::data_type*)malloc(n); + else if (kind==UCL_WRITE_ONLY) + err=hipHostMalloc((void **)mat.host_ptr(),n,hipHostMallocWriteCombined); + else + err=hipHostMalloc((void **)mat.host_ptr(),n,hipHostMallocDefault); + if (err!=hipSuccess || *(mat.host_ptr())==NULL) + return UCL_MEMORY_ERROR; + mat.cq()=cm.cq(); + return UCL_SUCCESS; +} + +template +inline int _host_alloc(mat_type &mat, UCL_Device &dev, const size_t n, + const enum UCL_MEMOPT kind, const enum UCL_MEMOPT kind2){ + hipError_t err=hipSuccess; + if (kind==UCL_NOT_PINNED) + *(mat.host_ptr())=(typename mat_type::data_type*)malloc(n); + else if (kind==UCL_WRITE_ONLY) + err=hipHostMalloc((void **)mat.host_ptr(),n,hipHostMallocWriteCombined); + else + err=hipHostMalloc((void **)mat.host_ptr(),n,hipHostMallocDefault); + if (err!=hipSuccess || *(mat.host_ptr())==NULL) + return UCL_MEMORY_ERROR; + mat.cq()=dev.cq(); + return UCL_SUCCESS; +} + +template +inline void _host_free(mat_type &mat) { + if (mat.kind()==UCL_VIEW) + return; + else if (mat.kind()!=UCL_NOT_PINNED) + CU_DESTRUCT_CALL(hipHostFree(mat.begin())); + else + free(mat.begin()); +} + +template +inline int _host_resize(mat_type &mat, const size_t n) { + _host_free(mat); + hipError_t err=hipSuccess; + if (mat.kind()==UCL_NOT_PINNED) + *(mat.host_ptr())=(typename mat_type::data_type*)malloc(n); + else if (mat.kind()==UCL_WRITE_ONLY) + err=hipHostMalloc((void **)mat.host_ptr(),n,hipHostMallocWriteCombined); + else + err=hipHostMalloc((void **)mat.host_ptr(),n,hipHostMallocDefault); + if (err!=hipSuccess || *(mat.host_ptr())==NULL) + return UCL_MEMORY_ERROR; + return UCL_SUCCESS; +} + +// -------------------------------------------------------------------------- +// - DEVICE MEMORY ALLOCATION ROUTINES +// -------------------------------------------------------------------------- +template +inline int _device_alloc(mat_type &mat, copy_type &cm, const size_t n, + const enum UCL_MEMOPT kind) { + hipError_t err=hipMalloc((void**)&mat.cbegin(),n); + if (err!=hipSuccess) + return UCL_MEMORY_ERROR; + mat.cq()=cm.cq(); + return UCL_SUCCESS; +} + +template +inline int _device_alloc(mat_type &mat, UCL_Device &dev, const size_t n, + const enum UCL_MEMOPT kind) { + hipError_t err=hipMalloc((void**)&mat.cbegin(),n); + if (err!=hipSuccess) + return UCL_MEMORY_ERROR; + mat.cq()=dev.cq(); + return UCL_SUCCESS; +} + +template +inline int _device_alloc(mat_type &mat, copy_type &cm, const size_t rows, + const size_t cols, size_t &pitch, + const enum UCL_MEMOPT kind) { + hipError_t err; + size_t upitch; + err=hipMallocPitch((void**)&mat.cbegin(),&upitch, + cols*sizeof(typename mat_type::data_type),rows); + pitch=static_cast(upitch); + if (err!=hipSuccess) + return UCL_MEMORY_ERROR; + mat.cq()=cm.cq(); + return UCL_SUCCESS; +} + +template +inline int _device_alloc(mat_type &mat, UCL_Device &d, const size_t rows, + const size_t cols, size_t &pitch, + const enum UCL_MEMOPT kind) { + hipError_t err; + size_t upitch; + err=hipMallocPitch((void**)&mat.cbegin(),&upitch, + cols*sizeof(typename mat_type::data_type),rows); + pitch=static_cast(upitch); + if (err!=hipSuccess) + return UCL_MEMORY_ERROR; + mat.cq()=d.cq(); + return UCL_SUCCESS; +} + +template +inline void _device_free(mat_type &mat) { + if (mat.kind()!=UCL_VIEW){ + CU_DESTRUCT_CALL(hipFree((void*)mat.cbegin())); + } +} + +template +inline int _device_resize(mat_type &mat, const size_t n) { + _device_free(mat); + hipError_t err=hipMalloc((void**)&mat.cbegin(),n); + if (err!=hipSuccess) + return UCL_MEMORY_ERROR; + return UCL_SUCCESS; +} + +template +inline int _device_resize(mat_type &mat, const size_t rows, + const size_t cols, size_t &pitch) { + _device_free(mat); + hipError_t err; + size_t upitch; + err=hipMallocPitch((void**)&mat.cbegin(),&upitch, + cols*sizeof(typename mat_type::data_type),rows); + pitch=static_cast(upitch); + if (err!=hipSuccess) + return UCL_MEMORY_ERROR; + return UCL_SUCCESS; +} + +inline void _device_view(hipDeviceptr_t *ptr, hipDeviceptr_t &in) { + *ptr=in; +} + +template +inline void _device_view(hipDeviceptr_t *ptr, numtyp *in) { + *ptr=0; +} + +inline void _device_view(hipDeviceptr_t *ptr, hipDeviceptr_t &in, + const size_t offset, const size_t numsize) { + *ptr=(hipDeviceptr_t)(((char*)in)+offset*numsize); +} + +template +inline void _device_view(hipDeviceptr_t *ptr, numtyp *in, + const size_t offset, const size_t numsize) { + *ptr=0; +} + +// -------------------------------------------------------------------------- +// - DEVICE IMAGE ALLOCATION ROUTINES +// -------------------------------------------------------------------------- +template +inline void _device_image_alloc(mat_type &mat, copy_type &cm, const size_t rows, + const size_t cols) { + assert(0==1); +} + +template +inline void _device_image_alloc(mat_type &mat, UCL_Device &d, const size_t rows, + const size_t cols) { + assert(0==1); +} + +template +inline void _device_image_free(mat_type &mat) { + assert(0==1); +} + +// -------------------------------------------------------------------------- +// - ZERO ROUTINES +// -------------------------------------------------------------------------- +inline void _host_zero(void *ptr, const size_t n) { + memset(ptr,0,n); +} + +template +inline void _device_zero(mat_type &mat, const size_t n, command_queue &cq) { + CU_SAFE_CALL(hipMemsetAsync((void*)mat.cbegin(),0,n,cq)); +} + + +// -------------------------------------------------------------------------- +// - MEMCPY ROUTINES +// -------------------------------------------------------------------------- + + +template +hipMemcpyKind _memcpy_kind(mat1 &dst, const mat2 &src){ + assert(mat1::MEM_TYPE < 2 && mat2::MEM_TYPE < 2); + return (hipMemcpyKind)((1 - mat2::MEM_TYPE)*2 + (1 - mat1::MEM_TYPE)); +} + +template +inline void ucl_mv_cpy(mat1 &dst, const mat2 &src, const size_t n) { + CU_SAFE_CALL(hipMemcpy((void*)dst.begin(), (void*)src.begin(), n, _memcpy_kind(dst, src))); +} + +template +inline void ucl_mv_cpy(mat1 &dst, const mat2 &src, const size_t n, hipStream_t &cq) { + CU_SAFE_CALL(hipMemcpyAsync((void*)dst.begin(), (void*)src.begin(), n, _memcpy_kind(dst, src), cq)); +} + +template +inline void ucl_mv_cpy(mat1 &dst, const size_t dpitch, const mat2 &src, + const size_t spitch, const size_t cols, + const size_t rows) { + CU_SAFE_CALL(hipMemcpy2D((void*)dst.begin(), dpitch, (void*)src.begin(), spitch, cols, rows, _memcpy_kind(dst, src))); +} + +template +inline void ucl_mv_cpy(mat1 &dst, const size_t dpitch, const mat2 &src, + const size_t spitch, const size_t cols, + const size_t rows,hipStream_t &cq) { + CU_SAFE_CALL(hipMemcpy2DAsync((void*)dst.begin(), dpitch, (void*)src.begin(), spitch, cols, rows, _memcpy_kind(dst, src), cq)); +} + +} // namespace ucl_cudart + +#endif + diff --git a/lib/gpu/geryon/hip_texture.h b/lib/gpu/geryon/hip_texture.h new file mode 100644 index 0000000000000000000000000000000000000000..e7aa4e1461e25c2c0cdcbee35761d64832bc6b8c --- /dev/null +++ b/lib/gpu/geryon/hip_texture.h @@ -0,0 +1,113 @@ +/* ----------------------------------------------------------------------- + Copyright (2010) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the Simplified BSD License. + ----------------------------------------------------------------------- */ + +#ifndef HIP_TEXTURE +#define HIP_TEXTURE + + +#include +#include "hip_kernel.h" +#include "hip_mat.h" + +namespace ucl_hip { + +#ifdef __HIP_PLATFORM_NVCC__ +inline hipError_t hipModuleGetTexRef(CUtexref* texRef, hipModule_t hmod, const char* name){ + return hipCUResultTohipError(cuModuleGetTexRef(texRef, hmod, name)); +} +inline hipError_t hipTexRefSetFormat(CUtexref tex, hipArray_Format fmt, int NumPackedComponents) { + return hipCUResultTohipError(cuTexRefSetFormat(tex, (CUarray_format)fmt, NumPackedComponents )); +} +inline hipError_t hipTexRefSetAddress(size_t* offset, CUtexref tex, hipDeviceptr_t devPtr, size_t size) { + return hipCUResultTohipError(cuTexRefSetAddress(offset, tex, devPtr, size)); +} +#endif + +/// Class storing a texture reference +class UCL_Texture { + public: + UCL_Texture() {} + ~UCL_Texture() {} + /// Construct with a specified texture reference + inline UCL_Texture(UCL_Program &prog, const char *texture_name) + { get_texture(prog,texture_name); } + /// Set the texture reference for this object + inline void get_texture(UCL_Program &prog, const char *texture_name) + { + #ifdef __HIP_PLATFORM_NVCC__ + CU_SAFE_CALL(hipModuleGetTexRef(&_tex, prog._module, texture_name)); + #else + size_t _global_var_size; + CU_SAFE_CALL(hipModuleGetGlobal(&_device_ptr_to_global_var, &_global_var_size, prog._module, texture_name)); + #endif + } + + /// Bind a float array where each fetch grabs a vector of length numel + template + inline void bind_float(UCL_D_Vec &vec, const unsigned numel) + { _bind_float(vec,numel); } + + /// Bind a float array where each fetch grabs a vector of length numel + template + inline void bind_float(UCL_D_Mat &vec, const unsigned numel) + { _bind_float(vec,numel); } + + /// Bind a float array where each fetch grabs a vector of length numel + template + inline void bind_float(UCL_Vector &vec, const unsigned numel) + { _bind_float(vec.device,numel); } + + /// Bind a float array where each fetch grabs a vector of length numel + template + inline void bind_float(UCL_Matrix &vec, const unsigned numel) + { _bind_float(vec.device,numel); } + + /// Unbind the texture reference from the memory allocation + inline void unbind() { } + + /// Make a texture reference available to kernel + inline void allow(UCL_Kernel &kernel) { + //#if CUDA_VERSION < 4000 + //CU_SAFE_CALL(cuParamSetTexRef(kernel._kernel, CU_PARAM_TR_DEFAULT, _tex)); + //#endif + } + + private: +#ifdef __HIP_PLATFORM_NVCC__ + CUtexref _tex; +#else + void* _device_ptr_to_global_var; +#endif + friend class UCL_Kernel; + + template + inline void _bind_float(mat_typ &vec, const unsigned numel) { + #ifdef UCL_DEBUG + assert(numel!=0 && numel<5); + #endif + +#ifdef __HIP_PLATFORM_NVCC__ + if (vec.element_size()==sizeof(float)) + CU_SAFE_CALL(hipTexRefSetFormat(_tex, HIP_AD_FORMAT_FLOAT, numel)); + else { + if (numel>2) + CU_SAFE_CALL(hipTexRefSetFormat(_tex, HIP_AD_FORMAT_SIGNED_INT32, numel)); + else + CU_SAFE_CALL(hipTexRefSetFormat(_tex,HIP_AD_FORMAT_SIGNED_INT32,numel*2)); + } + CU_SAFE_CALL(hipTexRefSetAddress(NULL, _tex, vec.cbegin(), vec.numel()*vec.element_size())); +#else + void* data_ptr = (void*)vec.cbegin(); + CU_SAFE_CALL(hipMemcpyHtoD(hipDeviceptr_t(_device_ptr_to_global_var), &data_ptr, sizeof(void*))); +#endif + } +}; + +} // namespace + +#endif + diff --git a/lib/gpu/geryon/hip_timer.h b/lib/gpu/geryon/hip_timer.h new file mode 100644 index 0000000000000000000000000000000000000000..3be0b8cfd665d5d630f45fdb160845fc15ac7a44 --- /dev/null +++ b/lib/gpu/geryon/hip_timer.h @@ -0,0 +1,107 @@ +/* ----------------------------------------------------------------------- + Copyright (2010) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the Simplified BSD License. + ----------------------------------------------------------------------- */ + +#ifndef HIP_TIMER_H +#define HIP_TIMER_H + + +#include +#include "hip_macros.h" +#include "hip_device.h" + +namespace ucl_hip { + +/// Class for timing CUDA Driver events +class UCL_Timer { + public: + inline UCL_Timer() : _total_time(0.0f), _initialized(false) { } + inline UCL_Timer(UCL_Device &dev) : _total_time(0.0f), _initialized(false) + { init(dev); } + + inline ~UCL_Timer() { clear(); } + + /// Clear any data associated with timer + /** \note init() must be called to reuse timer after a clear() **/ + inline void clear() { + if (_initialized) { + CU_DESTRUCT_CALL(hipEventDestroy(start_event)); + CU_DESTRUCT_CALL(hipEventDestroy(stop_event)); + _initialized=false; + _total_time=0.0; + } + } + + /// Initialize default command queue for timing + inline void init(UCL_Device &dev) { init(dev, dev.cq()); } + + /// Initialize command queue for timing + inline void init(UCL_Device &dev, command_queue &cq) { + clear(); + _cq=cq; + _initialized=true; + CU_SAFE_CALL( hipEventCreateWithFlags(&start_event,0) ); + CU_SAFE_CALL( hipEventCreateWithFlags(&stop_event,0) ); + } + + /// Start timing on command queue + inline void start() { CU_SAFE_CALL(hipEventRecord(start_event,_cq)); } + + /// Stop timing on command queue + inline void stop() { CU_SAFE_CALL(hipEventRecord(stop_event,_cq)); } + + /// Block until the start event has been reached on device + inline void sync_start() + { CU_SAFE_CALL(hipEventSynchronize(start_event)); } + + /// Block until the stop event has been reached on device + inline void sync_stop() + { CU_SAFE_CALL(hipEventSynchronize(stop_event)); } + + /// Set the time elapsed to zero (not the total_time) + inline void zero() { + CU_SAFE_CALL(hipEventRecord(start_event,_cq)); + CU_SAFE_CALL(hipEventRecord(stop_event,_cq)); + } + + /// Set the total time to zero + inline void zero_total() { _total_time=0.0; } + + /// Add time from previous start and stop to total + /** Forces synchronization **/ + inline double add_to_total() + { double t=time(); _total_time+=t; return t/1000.0; } + + /// Add a user specified time to the total (ms) + inline void add_time_to_total(const double t) { _total_time+=t; } + + /// Return the time (ms) of last start to stop - Forces synchronization + inline double time() { + float timer; + CU_SAFE_CALL(hipEventSynchronize(stop_event)); + CU_SAFE_CALL( hipEventElapsedTime(&timer,start_event,stop_event) ); + return timer; + } + + /// Return the time (s) of last start to stop - Forces synchronization + inline double seconds() { return time()/1000.0; } + + /// Return the total time in ms + inline double total_time() { return _total_time; } + + /// Return the total time in seconds + inline double total_seconds() { return _total_time/1000.0; } + + private: + hipEvent_t start_event, stop_event; + hipStream_t _cq; + double _total_time; + bool _initialized; +}; + +} // namespace + +#endif diff --git a/lib/gpu/geryon/nvd_kernel.h b/lib/gpu/geryon/nvd_kernel.h index d03a715e1b677dbbf0a5217a86a86c875e5ddac8..9293db2fe49f4125959034e76117b4658bc0adae 100644 --- a/lib/gpu/geryon/nvd_kernel.h +++ b/lib/gpu/geryon/nvd_kernel.h @@ -244,7 +244,7 @@ class UCL_Kernel { template inline void add_arg(const dtype* const arg) { #if CUDA_VERSION >= 4000 - _kernel_args[_num_args]=const_cast(arg); + _kernel_args[_num_args]=const_cast(arg); #else _param_size = (_param_size+__alignof(dtype)-1) & ~(__alignof(dtype)-1); CU_SAFE_CALL(cuParamSetv(_kernel,_param_size,(void*)arg,sizeof(dtype))); diff --git a/lib/gpu/geryon/ucl_get_devices.cpp b/lib/gpu/geryon/ucl_get_devices.cpp index 1fa758fb462fbea69014d7d9d647a797cc33c055..b8dfc6f7b12a7c8a8e140fd5b4f7f92618884e53 100644 --- a/lib/gpu/geryon/ucl_get_devices.cpp +++ b/lib/gpu/geryon/ucl_get_devices.cpp @@ -36,6 +36,11 @@ using namespace ucl_cudadr; using namespace ucl_cudart; #endif +#ifdef UCL_HIP +#include "hip_device.h" +using namespace ucl_hip; +#endif + int main(int argc, char** argv) { UCL_Device cop; std::cout << "Found " << cop.num_platforms() << " platform(s).\n"; diff --git a/lib/gpu/lal_answer.cpp b/lib/gpu/lal_answer.cpp index aa6d33d33492890080ed09661a6d715939d3a7c4..95d40c0d0a765ea69bc22808e776ac58dd88f5fb 100644 --- a/lib/gpu/lal_answer.cpp +++ b/lib/gpu/lal_answer.cpp @@ -179,13 +179,15 @@ double AnswerT::energy_virial(double *eatom, double **vatom, if (_eflag) { for (int i=0; i<_inum; i++) evdwl+=engv[i]; - if (_ef_atom) - if (_ilist==NULL) + if (_ef_atom) { + if (_ilist==NULL) { for (int i=0; i<_inum; i++) eatom[i]+=engv[i]; - else + } else { for (int i=0; i<_inum; i++) eatom[_ilist[i]]+=engv[i]; + } + } vstart=_inum; } if (_vflag) { @@ -193,7 +195,7 @@ double AnswerT::energy_virial(double *eatom, double **vatom, for (int j=0; j<6; j++) { for (int i=vstart; i +#include +#endif + namespace LAMMPS_AL { #define AtomT Atom @@ -70,6 +75,26 @@ bool AtomT::alloc(const int nall) { } #endif + #ifdef USE_HIP_DEVICE_SORT + if (_gpu_nbor==1) { + size_t temp_storage_bytes = 0; + if(hipSuccess != hipcub::DeviceRadixSort::SortPairs(nullptr, temp_storage_bytes, sort_out_keys, sort_out_keys, sort_out_values, sort_out_values, _max_atoms)) + return false; + if(sort_out_size < _max_atoms){ + if (sort_out_keys ) hipFree(sort_out_keys); + if (sort_out_values) hipFree(sort_out_values); + hipMalloc(&sort_out_keys , _max_atoms * sizeof(unsigned)); + hipMalloc(&sort_out_values, _max_atoms * sizeof(int )); + sort_out_size = _max_atoms; + } + if(temp_storage_bytes > sort_temp_storage_size){ + if(sort_temp_storage) hipFree(sort_temp_storage); + hipMalloc(&sort_temp_storage, temp_storage_bytes); + sort_temp_storage_size = temp_storage_bytes; + } + } + #endif + // --------------------------- Device allocations int gpu_bytes=0; success=success && (x.alloc(_max_atoms*4,*dev,UCL_WRITE_ONLY, @@ -184,6 +209,27 @@ bool AtomT::add_fields(const bool charge, const bool rot, return false; } #endif + + #ifdef USE_HIP_DEVICE_SORT + if (_gpu_nbor==1) { + size_t temp_storage_bytes = 0; + if(hipSuccess != hipcub::DeviceRadixSort::SortPairs(nullptr, temp_storage_bytes, sort_out_keys, sort_out_keys, sort_out_values, sort_out_values, _max_atoms)) + return false; + if(sort_out_size < _max_atoms){ + if (sort_out_keys ) hipFree(sort_out_keys); + if (sort_out_values) hipFree(sort_out_values); + hipMalloc(&sort_out_keys , _max_atoms * sizeof(unsigned)); + hipMalloc(&sort_out_values, _max_atoms * sizeof(int )); + sort_out_size = _max_atoms; + } + if(temp_storage_bytes > sort_temp_storage_size){ + if(sort_temp_storage) hipFree(sort_temp_storage); + hipMalloc(&sort_temp_storage, temp_storage_bytes); + sort_temp_storage_size = temp_storage_bytes; + } + } + #endif + success=success && (dev_particle_id.alloc(_max_atoms,*dev, UCL_READ_ONLY)==UCL_SUCCESS); gpu_bytes+=dev_particle_id.row_bytes(); @@ -275,6 +321,19 @@ void AtomT::clear_resize() { if (_gpu_nbor==1) cudppDestroyPlan(sort_plan); #endif + #ifdef USE_HIP_DEVICE_SORT + if (_gpu_nbor==1) { + if(sort_out_keys) hipFree(sort_out_keys); + if(sort_out_values) hipFree(sort_out_values); + if(sort_temp_storage) hipFree(sort_temp_storage); + sort_out_keys = nullptr; + sort_out_values = nullptr; + sort_temp_storage = nullptr; + sort_temp_storage_size = 0; + sort_out_size = 0; + } + #endif + if (_gpu_nbor==2) { host_particle_id.clear(); host_cell_id.clear(); @@ -326,6 +385,22 @@ void AtomT::sort_neighbor(const int num_atoms) { UCL_GERYON_EXIT; } #endif + + #ifdef USE_HIP_DEVICE_SORT + if(sort_out_size < num_atoms){ + printf("AtomT::sort_neighbor: invalid temp buffer size\n"); + UCL_GERYON_EXIT; + } + if(hipSuccess != hipcub::DeviceRadixSort::SortPairs(sort_temp_storage, sort_temp_storage_size, (unsigned *)dev_cell_id.begin(), sort_out_keys, (int *)dev_particle_id.begin(), sort_out_values, num_atoms)){ + printf("AtomT::sort_neighbor: DeviceRadixSort error\n"); + UCL_GERYON_EXIT; + } + if(hipSuccess != hipMemcpy((unsigned *)dev_cell_id.begin(), sort_out_keys , num_atoms*sizeof(unsigned), hipMemcpyDeviceToDevice) || + hipSuccess != hipMemcpy((int *) dev_particle_id.begin(), sort_out_values, num_atoms*sizeof(int ), hipMemcpyDeviceToDevice)){ + printf("AtomT::sort_neighbor: copy output error\n"); + UCL_GERYON_EXIT; + } + #endif } #ifdef GPU_CAST diff --git a/lib/gpu/lal_atom.cu b/lib/gpu/lal_atom.cu index 28ff31c5660fb0690e5309a869857ddfe49f800d..14184593018bde93e008cc45a669ee78e51cfdfa 100644 --- a/lib/gpu/lal_atom.cu +++ b/lib/gpu/lal_atom.cu @@ -11,9 +11,9 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_preprocessor.h" #endif diff --git a/lib/gpu/lal_atom.h b/lib/gpu/lal_atom.h index 57880d7ca976c029ab7006b9c2a5035da8018cfc..e39740d6c8293eb5099850171031269c24861a5e 100644 --- a/lib/gpu/lal_atom.h +++ b/lib/gpu/lal_atom.h @@ -29,6 +29,11 @@ using namespace ucl_opencl; #include "geryon/nvc_mat.h" #include "geryon/nvc_kernel.h" using namespace ucl_cudart; +#elif defined(USE_HIP) +#include "geryon/hip_timer.h" +#include "geryon/hip_mat.h" +#include "geryon/hip_kernel.h" +using namespace ucl_hip; #else #include "geryon/nvd_timer.h" #include "geryon/nvd_mat.h" @@ -477,6 +482,14 @@ class Atom { CUDPPConfiguration sort_config; CUDPPHandle sort_plan; #endif + + #ifdef USE_HIP_DEVICE_SORT + unsigned* sort_out_keys = nullptr; + int* sort_out_values = nullptr; + void* sort_temp_storage = nullptr; + size_t sort_temp_storage_size = 0; + size_t sort_out_size = 0; + #endif }; } diff --git a/lib/gpu/lal_aux_fun1.h b/lib/gpu/lal_aux_fun1.h index 47a216ff6f1c6fa84eefec11a48ad79e3e697804..5b7150d950fbd43e75921ee3d26c3fa690d591b8 100644 --- a/lib/gpu/lal_aux_fun1.h +++ b/lib/gpu/lal_aux_fun1.h @@ -13,7 +13,7 @@ // email : brownw@ornl.gov // ***************************************************************************/ -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_preprocessor.h" #endif diff --git a/lib/gpu/lal_base_atomic.h b/lib/gpu/lal_base_atomic.h index e3e9829abca99f696a00ba53b7f7c2e885b63bef..c97f42c50e66f6df6fccf44610fad2a94ef8c217 100644 --- a/lib/gpu/lal_base_atomic.h +++ b/lib/gpu/lal_base_atomic.h @@ -24,6 +24,8 @@ #include "geryon/ocl_texture.h" #elif defined(USE_CUDART) #include "geryon/nvc_texture.h" +#elif defined(USE_HIP) +#include "geryon/hip_texture.h" #else #include "geryon/nvd_texture.h" #endif @@ -43,7 +45,7 @@ class BaseAtomic { * \param k_name name for the kernel for force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_base_charge.h b/lib/gpu/lal_base_charge.h index 64c19554b906205b8b4389e1ad9a68eae406eb83..b6d3e9e3f8e82179497ed7f5dd22c6d83d5192ec 100644 --- a/lib/gpu/lal_base_charge.h +++ b/lib/gpu/lal_base_charge.h @@ -25,6 +25,8 @@ #include "geryon/ocl_texture.h" #elif defined(USE_CUDART) #include "geryon/nvc_texture.h" +#elif defined(USE_HIP) +#include "geryon/hip_texture.h" #else #include "geryon/nvd_texture.h" #endif @@ -44,7 +46,7 @@ class BaseCharge { * \param k_name name for the kernel for force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_base_dipole.h b/lib/gpu/lal_base_dipole.h index b51c4303cf4c14112ab8e431198558724ac9db2a..856b69b56b617767cb3be58b325201b5bf92da1e 100644 --- a/lib/gpu/lal_base_dipole.h +++ b/lib/gpu/lal_base_dipole.h @@ -23,6 +23,8 @@ #ifdef USE_OPENCL #include "geryon/ocl_texture.h" +#elif defined(USE_HIP) +#include "geryon/hip_texture.h" #else #include "geryon/nvd_texture.h" #endif @@ -42,7 +44,7 @@ class BaseDipole { * \param k_name name for the kernel for force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_base_dpd.h b/lib/gpu/lal_base_dpd.h index 7a75282d0a880bf352b8f46b16e8266175e02a9e..5d1573c1a9e7e54d260719bedf584aa8b89e0d32 100644 --- a/lib/gpu/lal_base_dpd.h +++ b/lib/gpu/lal_base_dpd.h @@ -23,6 +23,8 @@ #ifdef USE_OPENCL #include "geryon/ocl_texture.h" +#elif defined(USE_HIP) +#include "geryon/hip_texture.h" #else #include "geryon/nvd_texture.h" #endif @@ -42,7 +44,7 @@ class BaseDPD { * \param k_name name for the kernel for force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_base_ellipsoid.h b/lib/gpu/lal_base_ellipsoid.h index 7deeccbf444f6bf0e8a09f3a6313f74e744eba9e..dc1e624a2fe83acffb0d4d2fdc634cc54662e9b0 100644 --- a/lib/gpu/lal_base_ellipsoid.h +++ b/lib/gpu/lal_base_ellipsoid.h @@ -24,6 +24,8 @@ #include "geryon/ocl_texture.h" #elif defined(USE_CUDART) #include "geryon/nvc_texture.h" +#elif defined(USE_HIP) +#include "geryon/hip_texture.h" #else #include "geryon/nvd_texture.h" #endif @@ -44,7 +46,7 @@ class BaseEllipsoid { * \param k_name name for the kernel for force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_base_three.h b/lib/gpu/lal_base_three.h index f5f36863c4bcc4f3867bf75fa66819c916c5c2fd..38af78b78ece17e14b4ef7b2cd38f83b3c3ecd37 100644 --- a/lib/gpu/lal_base_three.h +++ b/lib/gpu/lal_base_three.h @@ -24,6 +24,8 @@ #include "geryon/ocl_texture.h" #elif defined(USE_CUDART) #include "geryon/nvc_texture.h" +#elif defined(USE_HIP) +#include "geryon/hip_texture.h" #else #include "geryon/nvd_texture.h" #endif @@ -46,7 +48,7 @@ class BaseThree { * \param k_three name for the kernel for 3-body force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_beck.cu b/lib/gpu/lal_beck.cu index 7d72128b5fba5145c96bfb9a517382c6d2d22a20..f24132b9a28c0015829ead20c8e707f4bf332058 100644 --- a/lib/gpu/lal_beck.cu +++ b/lib/gpu/lal_beck.cu @@ -11,14 +11,14 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_beck.h b/lib/gpu/lal_beck.h index db26bebeb0f8098dc525fc7033780741b0331f3e..638f1bf6264f6018717097293084dfc05d89ecdd 100644 --- a/lib/gpu/lal_beck.h +++ b/lib/gpu/lal_beck.h @@ -32,7 +32,7 @@ class Beck : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_born.cu b/lib/gpu/lal_born.cu index 0ca7fea5febbac35b0e0feb07d2faa8c163a50aa..f9fea6d618d46fe038ba54b748aec6745b216b79 100644 --- a/lib/gpu/lal_born.cu +++ b/lib/gpu/lal_born.cu @@ -11,14 +11,14 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_born.h b/lib/gpu/lal_born.h index 685f4d87a9c627ffe97deb72c1995e5d68586da6..2a7f355d69e93ee560cbcffff2a3cf31871fb0b9 100644 --- a/lib/gpu/lal_born.h +++ b/lib/gpu/lal_born.h @@ -32,7 +32,7 @@ class Born : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_born_coul_long.cu b/lib/gpu/lal_born_coul_long.cu index 71e5e0ae502e8847bc006788deaf82da9477868d..14e644b45af94f2890ef6a3b692c9cff1d83dc0d 100644 --- a/lib/gpu/lal_born_coul_long.cu +++ b/lib/gpu/lal_born_coul_long.cu @@ -11,17 +11,17 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_born_coul_long.h b/lib/gpu/lal_born_coul_long.h index d236b7b57feca914beb028aae304c91eddda1ff3..e383d18e0c38762e3bd06035f6730a1fca0568ed 100644 --- a/lib/gpu/lal_born_coul_long.h +++ b/lib/gpu/lal_born_coul_long.h @@ -32,7 +32,7 @@ class BornCoulLong : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_born_coul_long_cs.cu b/lib/gpu/lal_born_coul_long_cs.cu index b3e79d9ec841afd0d31cf64b5af1c74f9469a811..6f04fcea945c435c8625e4957810bf46938b90ca 100644 --- a/lib/gpu/lal_born_coul_long_cs.cu +++ b/lib/gpu/lal_born_coul_long_cs.cu @@ -11,17 +11,18 @@ // // begin : June 2018 // email : ndactrung@gmail.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" + #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else @@ -108,7 +109,7 @@ __kernel void k_born_coul_long_cs(const __global numtyp4 *restrict x_, numtyp rsq = delx*delx+dely*dely+delz*delz; int mtype=itype*lj_types+jtype; - if (rsq { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_born_coul_wolf.cu b/lib/gpu/lal_born_coul_wolf.cu index 2c2249feeb7a34bdc899195aad60284aef51551a..0eeda48ec0cd5a7d3ab5eb0d303e17b2ec7cc2da 100644 --- a/lib/gpu/lal_born_coul_wolf.cu +++ b/lib/gpu/lal_born_coul_wolf.cu @@ -11,17 +11,17 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_born_coul_wolf.h b/lib/gpu/lal_born_coul_wolf.h index 4b817ee0ced7df7d975c14de7cf20fa2410cdea3..fa53f48939ba8828a7675889eba57afbecbf982d 100644 --- a/lib/gpu/lal_born_coul_wolf.h +++ b/lib/gpu/lal_born_coul_wolf.h @@ -32,7 +32,7 @@ class BornCoulWolf : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_born_coul_wolf_cs.cu b/lib/gpu/lal_born_coul_wolf_cs.cu index 847387bfe8c1adbe2e1f3f2a3ed21964d08c5989..b957b8be69b53eb814c1b9cdf6df597c0a5c369f 100644 --- a/lib/gpu/lal_born_coul_wolf_cs.cu +++ b/lib/gpu/lal_born_coul_wolf_cs.cu @@ -11,17 +11,17 @@ // // begin : // email : ndactrung@gmail.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_born_coul_wolf_cs.h b/lib/gpu/lal_born_coul_wolf_cs.h index 1d9de0a457f04027118aebe5e9f4c1c6c6561ad3..e5bff1b4cca48735ae51d93ba07b3623e03531d4 100644 --- a/lib/gpu/lal_born_coul_wolf_cs.h +++ b/lib/gpu/lal_born_coul_wolf_cs.h @@ -32,7 +32,7 @@ class BornCoulWolfCS : public BornCoulWolf { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_buck.cu b/lib/gpu/lal_buck.cu index c1e1c7d7e251bfad2c1e0ffe71abc9a1bd1f9580..0f9044cefc9f40fd2ce53e7222df174bcad90053 100644 --- a/lib/gpu/lal_buck.cu +++ b/lib/gpu/lal_buck.cu @@ -11,14 +11,14 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_buck.h b/lib/gpu/lal_buck.h index 3b84066355e7171d26d218505dcf1eb19f39f578..7a09fae5dd19f92a239f9253f6d270540364e68c 100644 --- a/lib/gpu/lal_buck.h +++ b/lib/gpu/lal_buck.h @@ -32,7 +32,7 @@ class Buck : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_buck_coul.cu b/lib/gpu/lal_buck_coul.cu index 6f0d414825562f4999ef627313ec1f8f81b31255..163c8e43624fd210d615be44238bc2e254ae4139 100644 --- a/lib/gpu/lal_buck_coul.cu +++ b/lib/gpu/lal_buck_coul.cu @@ -11,17 +11,17 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_buck_coul.h b/lib/gpu/lal_buck_coul.h index 3f8428bfe163e0d42690850e2fee11376e7ce454..eebba78eb077125ce20dcc26188b6b3740a478ab 100644 --- a/lib/gpu/lal_buck_coul.h +++ b/lib/gpu/lal_buck_coul.h @@ -32,7 +32,7 @@ class BuckCoul : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_buck_coul_long.cu b/lib/gpu/lal_buck_coul_long.cu index da3237a31fd41cd38f70ea7f0064c1cb05e9c787..b1bbf67bc227827fa5010b9838658c31394b016a 100644 --- a/lib/gpu/lal_buck_coul_long.cu +++ b/lib/gpu/lal_buck_coul_long.cu @@ -11,17 +11,17 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_buck_coul_long.h b/lib/gpu/lal_buck_coul_long.h index 4a70a3a097de3353df7c5a17e4170842c8898022..e2d69475cf0f3654a38179243731a60cd7d81f94 100644 --- a/lib/gpu/lal_buck_coul_long.h +++ b/lib/gpu/lal_buck_coul_long.h @@ -32,7 +32,7 @@ class BuckCoulLong : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_charmm_long.cu b/lib/gpu/lal_charmm_long.cu index 244131f8338fab3254ca7a494b2318ec0abbde39..4e9802f36831bb71dba9ecc9591403caa2ec9706 100644 --- a/lib/gpu/lal_charmm_long.cu +++ b/lib/gpu/lal_charmm_long.cu @@ -11,17 +11,17 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_charmm_long.h b/lib/gpu/lal_charmm_long.h index 011083db136793d5b38d3115e8ebd026ca1f81c5..5d9d9ea50bdf35d85247151ada5ec031e4cee596 100644 --- a/lib/gpu/lal_charmm_long.h +++ b/lib/gpu/lal_charmm_long.h @@ -32,7 +32,7 @@ class CHARMMLong : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_colloid.cu b/lib/gpu/lal_colloid.cu index 28a9809b192aa2328cdcfabb95c0a2cf425fab02..4983142aa051a452204c8796884f9e8d9d8c6a97 100644 --- a/lib/gpu/lal_colloid.cu +++ b/lib/gpu/lal_colloid.cu @@ -11,14 +11,14 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_colloid.h b/lib/gpu/lal_colloid.h index dfbd4dbadd07415dce7f2da1fb3f71fda839aa62..35426007d8493efb45ccd7579afa9a3c3167edad 100644 --- a/lib/gpu/lal_colloid.h +++ b/lib/gpu/lal_colloid.h @@ -32,7 +32,7 @@ class Colloid : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_coul.cu b/lib/gpu/lal_coul.cu index 503e674c817cd90cf64177df47d411a445cd6898..03fc568c77525796c089b2b01332cd8c2227b2d8 100644 --- a/lib/gpu/lal_coul.cu +++ b/lib/gpu/lal_coul.cu @@ -11,17 +11,17 @@ // // begin : // email : ndtrung@umich.edu -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_coul.h b/lib/gpu/lal_coul.h index 6d9b6b1b2bf4ae65611a882b7fe6f9b792c2bdad..38472375fbf27f0a8d47539f46cc72bd0f088454 100644 --- a/lib/gpu/lal_coul.h +++ b/lib/gpu/lal_coul.h @@ -32,7 +32,7 @@ class Coul : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_coul_debye.cu b/lib/gpu/lal_coul_debye.cu index 464a1b18def652095e85ab7c87735d365d40a5d5..e7f0b97e23a488fd746cac6e481897a3c9c14453 100644 --- a/lib/gpu/lal_coul_debye.cu +++ b/lib/gpu/lal_coul_debye.cu @@ -11,17 +11,17 @@ // // begin : // email : ndtrung@umich.edu -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_coul_debye.h b/lib/gpu/lal_coul_debye.h index 328c3dd64e299f080fb56a3a6a3b8fcaa5881cf4..13e4c5b0c64be73c4a90fa6d14a25f080b0c2625 100644 --- a/lib/gpu/lal_coul_debye.h +++ b/lib/gpu/lal_coul_debye.h @@ -32,7 +32,7 @@ class CoulDebye : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_coul_dsf.cu b/lib/gpu/lal_coul_dsf.cu index 82c44cd382e5f65d1adec3e1b816e86afba68d4c..190fb5b7fd95a91c88ee6846f7763243e85c2e43 100644 --- a/lib/gpu/lal_coul_dsf.cu +++ b/lib/gpu/lal_coul_dsf.cu @@ -11,17 +11,17 @@ // // begin : 8/15/2012 // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_coul_dsf.h b/lib/gpu/lal_coul_dsf.h index e52a51d5834daa26fccb5a22097508142faf80cd..3d57898f813d2ea3ec69f0028a7b545c04d16313 100644 --- a/lib/gpu/lal_coul_dsf.h +++ b/lib/gpu/lal_coul_dsf.h @@ -32,7 +32,7 @@ class CoulDSF : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_coul_long.cu b/lib/gpu/lal_coul_long.cu index 365195e00c5809e0c48d6cc20b915fbb02860e67..7adcdbbabc7badf75c5f8a50cb789e635953946b 100644 --- a/lib/gpu/lal_coul_long.cu +++ b/lib/gpu/lal_coul_long.cu @@ -11,17 +11,17 @@ // // begin : July 2011 // email : a.kohlmeyer@temple.edu -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_coul_long.h b/lib/gpu/lal_coul_long.h index ae25b91dc77a9322449fbcc5c1f96d994710838c..0668e0fd02a7412a8be778c00498e96c3d82afef 100644 --- a/lib/gpu/lal_coul_long.h +++ b/lib/gpu/lal_coul_long.h @@ -32,7 +32,7 @@ class CoulLong : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_coul_long_cs.cu b/lib/gpu/lal_coul_long_cs.cu index 3c34666131d2d363c03bc6f684bd9b573b54c043..85c9d84bdb0500b7597e64e77105d3122f8f86fe 100644 --- a/lib/gpu/lal_coul_long_cs.cu +++ b/lib/gpu/lal_coul_long_cs.cu @@ -11,17 +11,17 @@ // // begin : June 2018 // email : ndactrung@gmail.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_coul_long_cs.h b/lib/gpu/lal_coul_long_cs.h index 3cfcb80fc86c9ab3f3066e086533cad795a378be..fc3667d6a0ec0db8010f6b0ffbe2a0456ec3b50d 100644 --- a/lib/gpu/lal_coul_long_cs.h +++ b/lib/gpu/lal_coul_long_cs.h @@ -32,7 +32,7 @@ class CoulLongCS : public CoulLong { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_device.cpp b/lib/gpu/lal_device.cpp index 5bd306ea5b45be9c5830fafbfd1fea1b9ec2eee5..aaf74ed28c314bed0152667b43294ffe0055cae2 100644 --- a/lib/gpu/lal_device.cpp +++ b/lib/gpu/lal_device.cpp @@ -268,7 +268,7 @@ int DeviceT::init(Answer &ans, const bool charge, gpu_nbor=1; else if (_gpu_mode==Device::GPU_HYB_NEIGH) gpu_nbor=2; - #ifndef USE_CUDPP + #if !defined(USE_CUDPP) && !defined(USE_HIP_DEVICE_SORT) if (gpu_nbor==1) gpu_nbor=2; #endif @@ -341,7 +341,7 @@ int DeviceT::init_nbor(Neighbor *nbor, const int nlocal, gpu_nbor=1; else if (_gpu_mode==Device::GPU_HYB_NEIGH) gpu_nbor=2; - #ifndef USE_CUDPP + #if !defined(USE_CUDPP) && !defined(USE_HIP_DEVICE_SORT) if (gpu_nbor==1) gpu_nbor=2; #endif @@ -712,7 +712,7 @@ int DeviceT::compile_kernels() { gpu_lib_data.update_host(false); _ptx_arch=static_cast(gpu_lib_data[0])/100.0; - #ifndef USE_OPENCL + #if !(defined(USE_OPENCL) || defined(USE_HIP)) if (_ptx_arch>gpu->arch() || floor(_ptx_arch)arch())) return -4; #endif diff --git a/lib/gpu/lal_device.cu b/lib/gpu/lal_device.cu index 37d07588458ef4a69325f53d3e838dd1b19ab71b..afc7a0b988777e6c8cf9e045c1739b95dd8ae97a 100644 --- a/lib/gpu/lal_device.cu +++ b/lib/gpu/lal_device.cu @@ -13,7 +13,7 @@ // email : brownw@ornl.gov // *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_preprocessor.h" #endif diff --git a/lib/gpu/lal_device.h b/lib/gpu/lal_device.h index 0c4d5f8c439b68e70a29e8b2ec14c571d321aeea..21bd039c42e64b4561bd3cb25673386b39671f87 100644 --- a/lib/gpu/lal_device.h +++ b/lib/gpu/lal_device.h @@ -41,7 +41,7 @@ class Device { /** Sets up a per-device MPI communicator for load balancing and initializes * the device (>=first_gpu and <=last_gpu) that this proc will be using * Returns: - * - 0 if successfull + * - 0 if successful * - -2 if GPU not found * - -4 if GPU library not compiled for GPU * - -6 if GPU could not be initialized for use @@ -62,7 +62,7 @@ class Device { * \param vel True if velocities need to be stored * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU @@ -76,7 +76,7 @@ class Device { * \param nall Total number of local+ghost particles * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU @@ -100,7 +100,7 @@ class Device { * \param threads_per_atom value to be used by the neighbor list only * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_dipole_lj.cu b/lib/gpu/lal_dipole_lj.cu index 745bdb7f274e133a7a8df75fc21bd33cbf88afbc..a3ed0d8d40eb8b67e4ad8a7bd7728606b5a4d217 100644 --- a/lib/gpu/lal_dipole_lj.cu +++ b/lib/gpu/lal_dipole_lj.cu @@ -11,18 +11,18 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; -texture mu_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); +_texture( mu_tex,float4); #else -texture pos_tex; -texture q_tex; -texture mu_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); +_texture_2d( mu_tex,int4); #endif #else diff --git a/lib/gpu/lal_dipole_lj.h b/lib/gpu/lal_dipole_lj.h index 615784ee8b65fb694213f799476ccb18609ee64d..bd312324c6b3b7b7948dc9df42f0a670f4feae72 100644 --- a/lib/gpu/lal_dipole_lj.h +++ b/lib/gpu/lal_dipole_lj.h @@ -32,7 +32,7 @@ class DipoleLJ : public BaseDipole { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_dipole_lj_sf.cu b/lib/gpu/lal_dipole_lj_sf.cu index 9847e84823da2cc76a55a8585cd25d2cbd642648..8032ae82ed78dc22e65e97fa6c2d4b0daf389433 100644 --- a/lib/gpu/lal_dipole_lj_sf.cu +++ b/lib/gpu/lal_dipole_lj_sf.cu @@ -11,19 +11,19 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; -texture mu_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); +_texture( mu_tex,float4); #else -texture pos_tex; -texture q_tex; -texture mu_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); +_texture_2d( mu_tex,int4); #endif #else diff --git a/lib/gpu/lal_dipole_lj_sf.h b/lib/gpu/lal_dipole_lj_sf.h index 20357385a20c30fbe3d268035e38325d9e82cc4e..ae735080658259ee37526cee709227bdb47ee06c 100644 --- a/lib/gpu/lal_dipole_lj_sf.h +++ b/lib/gpu/lal_dipole_lj_sf.h @@ -32,7 +32,7 @@ class DipoleLJSF : public BaseDipole { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_dipole_long_lj.cu b/lib/gpu/lal_dipole_long_lj.cu index f888dece9b513001b4af9309ebc76e7b30f060d2..3aafba43aa5218cc5fc09cc7e82eead66522c71e 100644 --- a/lib/gpu/lal_dipole_long_lj.cu +++ b/lib/gpu/lal_dipole_long_lj.cu @@ -11,18 +11,18 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; -texture mu_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); +_texture( mu_tex,float4); #else -texture pos_tex; -texture q_tex; -texture mu_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); +_texture_2d( mu_tex,int4); #endif #else diff --git a/lib/gpu/lal_dipole_long_lj.h b/lib/gpu/lal_dipole_long_lj.h index 1381e243267bcc548d7eef6da409b29f3da36931..77e22a10a7a170fd3be2ce56585399203c72ce81 100644 --- a/lib/gpu/lal_dipole_long_lj.h +++ b/lib/gpu/lal_dipole_long_lj.h @@ -32,7 +32,7 @@ class DipoleLongLJ : public BaseDipole { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_dpd.cu b/lib/gpu/lal_dpd.cu index 462401ad7007bc927fce4f5ca86a8553e21c0f71..a29e04fc7f177cd8cff946b0f70ec8dcf2b556f0 100644 --- a/lib/gpu/lal_dpd.cu +++ b/lib/gpu/lal_dpd.cu @@ -11,16 +11,16 @@ // // begin : Jan 15, 2014 // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture vel_tex; +_texture( pos_tex,float4); +_texture( vel_tex,float4); #else -texture pos_tex; -texture vel_tex; +_texture_2d( pos_tex,int4); +_texture_2d( vel_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_dpd.h b/lib/gpu/lal_dpd.h index 42ef854522f85c2c30252c337ec0004f3e4691c5..3c36c39e0542825d7a6fa33ab6c3c612dd1fb0f3 100644 --- a/lib/gpu/lal_dpd.h +++ b/lib/gpu/lal_dpd.h @@ -32,7 +32,7 @@ class DPD : public BaseDPD { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_eam.cu b/lib/gpu/lal_eam.cu index 13440b7d45a8e1594afffa69f5b53475ad2ca3f7..b22ce7b575a3a8562584580df18dfb5e0d01963d 100644 --- a/lib/gpu/lal_eam.cu +++ b/lib/gpu/lal_eam.cu @@ -11,29 +11,29 @@ // // begin : // email : brownw@ornl.gov nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture fp_tex; -texture rhor_sp1_tex; -texture rhor_sp2_tex; -texture frho_sp1_tex; -texture frho_sp2_tex; -texture z2r_sp1_tex; -texture z2r_sp2_tex; +_texture( pos_tex,float4); +_texture( fp_tex,float); +_texture( rhor_sp1_tex,float4); +_texture( rhor_sp2_tex,float4); +_texture( frho_sp1_tex,float4); +_texture( frho_sp2_tex,float4); +_texture( z2r_sp1_tex,float4); +_texture( z2r_sp2_tex,float4); #else -texture pos_tex; -texture fp_tex; -texture rhor_sp1_tex; -texture rhor_sp2_tex; -texture frho_sp1_tex; -texture frho_sp2_tex; -texture z2r_sp1_tex; -texture z2r_sp2_tex; +_texture( pos_tex,int4); +_texture( fp_tex,int2); +_texture( rhor_sp1_tex,int4); +_texture( rhor_sp2_tex,int4); +_texture( frho_sp1_tex,int4); +_texture( frho_sp2_tex,int4); +_texture( z2r_sp1_tex,int4); +_texture( z2r_sp2_tex,int4); #endif #else diff --git a/lib/gpu/lal_eam.h b/lib/gpu/lal_eam.h index ce26edc1f4f7a925380a91d3d29bc7090954b444..fa050758831d635d6bb157c7855c0f26235a6e1c 100644 --- a/lib/gpu/lal_eam.h +++ b/lib/gpu/lal_eam.h @@ -33,7 +33,7 @@ class EAM : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_ellipsoid_extra.h b/lib/gpu/lal_ellipsoid_extra.h index 71668f5e0280d4b0359c28a61404e912d1874d3d..e6122c740450143e25b505534a9aecb4c2c877dd 100644 --- a/lib/gpu/lal_ellipsoid_extra.h +++ b/lib/gpu/lal_ellipsoid_extra.h @@ -18,12 +18,14 @@ enum{SPHERE_SPHERE,SPHERE_ELLIPSE,ELLIPSE_SPHERE,ELLIPSE_ELLIPSE}; -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex, quat_tex; +_texture( pos_tex, float4); +_texture( quat_tex,float4); #else -texture pos_tex, quat_tex; +_texture_2d( pos_tex,int4); +_texture_2d( quat_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_ellipsoid_nbor.cu b/lib/gpu/lal_ellipsoid_nbor.cu index cac77f5dd38fb786cd4cbbec0089258a17cedb2b..5ad935ba9b7a72e669973c21855de423acccaebf 100644 --- a/lib/gpu/lal_ellipsoid_nbor.cu +++ b/lib/gpu/lal_ellipsoid_nbor.cu @@ -9,16 +9,15 @@ // This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) // __________________________________________________________________________ // -// begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_preprocessor.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ @@ -53,8 +52,8 @@ __kernel void kernel_nbor(const __global numtyp4 *restrict x_, int itype=fast_mul(iw,ntypes); int newj=0; for ( ; nbor pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_gauss.h b/lib/gpu/lal_gauss.h index d023310c6debac6ec5a367d7f67e58ec99eeb112..1399b82d032648ae702940b0e6a393fbdcd0888a 100644 --- a/lib/gpu/lal_gauss.h +++ b/lib/gpu/lal_gauss.h @@ -32,7 +32,7 @@ class Gauss : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_gayberne.cu b/lib/gpu/lal_gayberne.cu index cd1ee59fc66c25d4a08e974007dbabf966f757b2..c9d0353ca88c9bfad7fe1fa8ee697e45f62dab28 100644 --- a/lib/gpu/lal_gayberne.cu +++ b/lib/gpu/lal_gayberne.cu @@ -11,9 +11,9 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_ellipsoid_extra.h" #endif diff --git a/lib/gpu/lal_gayberne.h b/lib/gpu/lal_gayberne.h index 8792f1f1db15efa9bf162c04cddd1a68bc19ae8a..750c739cec931c2a62020326235ad5cd4d0ab190 100644 --- a/lib/gpu/lal_gayberne.h +++ b/lib/gpu/lal_gayberne.h @@ -34,7 +34,7 @@ class GayBerne : public BaseEllipsoid { * \return false if there is not sufficient memory or device init prob * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_gayberne_lj.cu b/lib/gpu/lal_gayberne_lj.cu index 7925b72784ab4002d3bab679855586d81e354cef..fdf40720aa874b0bb43203c0e002ff0cbe6b0eb6 100644 --- a/lib/gpu/lal_gayberne_lj.cu +++ b/lib/gpu/lal_gayberne_lj.cu @@ -11,9 +11,9 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_ellipsoid_extra.h" #endif diff --git a/lib/gpu/lal_lj.cu b/lib/gpu/lal_lj.cu index 5838ac95cf130c2f67b3e9676704d2878a755f0a..7297a287e6784fd1bf7d627995e9e06a1a4432a6 100644 --- a/lib/gpu/lal_lj.cu +++ b/lib/gpu/lal_lj.cu @@ -11,14 +11,14 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_lj.h b/lib/gpu/lal_lj.h index 01ce85c8ea4fd7b18756f87b5a12e71225c44885..c6fec0d159116fe87083cf46742c81828f57ac85 100644 --- a/lib/gpu/lal_lj.h +++ b/lib/gpu/lal_lj.h @@ -32,7 +32,7 @@ class LJ : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj96.cu b/lib/gpu/lal_lj96.cu index 8dd63ef9203f206fc452089ceebd13890176c11e..c602e7555eccd34c6f5d867eb0b8c3261e83902e 100644 --- a/lib/gpu/lal_lj96.cu +++ b/lib/gpu/lal_lj96.cu @@ -11,14 +11,14 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_lj96.h b/lib/gpu/lal_lj96.h index 3fdea5265e1dda9d481d88cc32f8edf046241cdf..eef6863f37cd66f1b88235f33e6071f3353177e9 100644 --- a/lib/gpu/lal_lj96.h +++ b/lib/gpu/lal_lj96.h @@ -32,7 +32,7 @@ class LJ96 : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_class2_long.cu b/lib/gpu/lal_lj_class2_long.cu index 41ceca35d74d0ef8a6ffcfc47ea53116c734bbbd..65f0bf993c7be6e8038c3f643ff30595770740ac 100644 --- a/lib/gpu/lal_lj_class2_long.cu +++ b/lib/gpu/lal_lj_class2_long.cu @@ -11,17 +11,17 @@ // // begin : Mon May 16 2011 // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_lj_class2_long.h b/lib/gpu/lal_lj_class2_long.h index d07b974a907f6645b2e0c32d02ca33a040383d10..eac6451b2ecb9476f336eaaa4d006af6817b0a29 100644 --- a/lib/gpu/lal_lj_class2_long.h +++ b/lib/gpu/lal_lj_class2_long.h @@ -32,7 +32,7 @@ class LJClass2Long : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_coul.cu b/lib/gpu/lal_lj_coul.cu index 5c7f0da46fd066eb7573b4a74345240a0c5c0b37..afbb972942e5da29d769cb3b573325dd03764016 100644 --- a/lib/gpu/lal_lj_coul.cu +++ b/lib/gpu/lal_lj_coul.cu @@ -11,17 +11,17 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_lj_coul.h b/lib/gpu/lal_lj_coul.h index a262c0837f82e9eaeb6fefbb31f3d7b7a35c0181..0e11162aa5c2dbcff094e6b35d99fb0ac19633fc 100644 --- a/lib/gpu/lal_lj_coul.h +++ b/lib/gpu/lal_lj_coul.h @@ -32,7 +32,7 @@ class LJCoul : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_coul_debye.cu b/lib/gpu/lal_lj_coul_debye.cu index 91b105b3da672b608aa11a73306e2c512f2baf98..053fbeccc813ce0451a1906a0f70b74456ffe93f 100644 --- a/lib/gpu/lal_lj_coul_debye.cu +++ b/lib/gpu/lal_lj_coul_debye.cu @@ -11,17 +11,17 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_lj_coul_debye.h b/lib/gpu/lal_lj_coul_debye.h index 1d3d0ba37581fc8ca54864aa37bcf52552d0169d..22fcf7234b773b85584ce674f9283b71518f3bde 100644 --- a/lib/gpu/lal_lj_coul_debye.h +++ b/lib/gpu/lal_lj_coul_debye.h @@ -32,7 +32,7 @@ class LJCoulDebye : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_coul_long.cu b/lib/gpu/lal_lj_coul_long.cu index 0e25bb2dbc15a6781bbc6202da87d52163593baf..ac3479421fcf3e0ba8ec949df1fb066edb738a6c 100644 --- a/lib/gpu/lal_lj_coul_long.cu +++ b/lib/gpu/lal_lj_coul_long.cu @@ -11,17 +11,17 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_lj_coul_long.h b/lib/gpu/lal_lj_coul_long.h index 7b2d79c2a63bd9649dfb3ed8c36f095608328401..8f77671dc071cb5a6d04d11e377c19e04bab7582 100644 --- a/lib/gpu/lal_lj_coul_long.h +++ b/lib/gpu/lal_lj_coul_long.h @@ -32,7 +32,7 @@ class LJCoulLong : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_coul_msm.cu b/lib/gpu/lal_lj_coul_msm.cu index 3f73c6f47d6615f1a57505ada7a81976e8d9f996..a3c36eed8547b44b2ebd0b2202e338f33099533a 100644 --- a/lib/gpu/lal_lj_coul_msm.cu +++ b/lib/gpu/lal_lj_coul_msm.cu @@ -11,21 +11,21 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; -texture gcons_tex; -texture dgcons_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); +_texture( gcons_tex,float); +_texture( dgcons_tex,float); #else -texture pos_tex; -texture q_tex; -texture gcons_tex; -texture dgcons_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); +_texture( gcons_tex,int2); +_texture( dgcons_tex,int2); #endif #else diff --git a/lib/gpu/lal_lj_coul_msm.h b/lib/gpu/lal_lj_coul_msm.h index 48d49a8742dcec9790f4f4e296637737fb0b7a33..6369ce8cb5c7be90bd3211ba522faba8fbd5366e 100644 --- a/lib/gpu/lal_lj_coul_msm.h +++ b/lib/gpu/lal_lj_coul_msm.h @@ -32,7 +32,7 @@ class LJCoulMSM : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_cubic.cu b/lib/gpu/lal_lj_cubic.cu index 683c6b2aacd2882e623e9adcbfc4748e079d3f18..f93013fe7544320e731600f37166609c3f14d296 100644 --- a/lib/gpu/lal_lj_cubic.cu +++ b/lib/gpu/lal_lj_cubic.cu @@ -11,14 +11,14 @@ // // begin : // email : ndactrung@gmail.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_lj_cubic.h b/lib/gpu/lal_lj_cubic.h index 818fb3581b7270af6c55a8aea95bc0f4fecac21e..9578ca27e408b8b4aebeaf40561c4c2c9fad19e0 100644 --- a/lib/gpu/lal_lj_cubic.h +++ b/lib/gpu/lal_lj_cubic.h @@ -32,7 +32,7 @@ class LJCubic : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_dsf.cu b/lib/gpu/lal_lj_dsf.cu index 323576fe779dca0a46eb0464f15cfb948a10c475..c1bb197148114a67896546b608a71ffdbbc12af1 100644 --- a/lib/gpu/lal_lj_dsf.cu +++ b/lib/gpu/lal_lj_dsf.cu @@ -11,17 +11,17 @@ // // begin : 7/12/2012 // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_lj_dsf.h b/lib/gpu/lal_lj_dsf.h index 0195898ca4b2834fc165b9b4decde0252fe1c218..b176e087dba950c75403d804acd025eaafe56dee 100644 --- a/lib/gpu/lal_lj_dsf.h +++ b/lib/gpu/lal_lj_dsf.h @@ -32,7 +32,7 @@ class LJDSF : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_expand.cu b/lib/gpu/lal_lj_expand.cu index 9281ad27bd67b9c1fe9f4332a31791a3cbfb7902..46ed9e2a31ea9624a7efdb8a395168234da36757 100644 --- a/lib/gpu/lal_lj_expand.cu +++ b/lib/gpu/lal_lj_expand.cu @@ -11,15 +11,15 @@ // // begin : // email : ibains@nvidia.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else diff --git a/lib/gpu/lal_lj_expand.h b/lib/gpu/lal_lj_expand.h index a732a3a6862b123d5846d8a27c72c201bc1858c6..2560d166c7a3101111bea6d65d7a384eed334075 100644 --- a/lib/gpu/lal_lj_expand.h +++ b/lib/gpu/lal_lj_expand.h @@ -32,7 +32,7 @@ class LJExpand : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_expand_coul_long.cu b/lib/gpu/lal_lj_expand_coul_long.cu index aa8f02be8c521134f80201e873ad5636b33783e4..0f0fe4c2fbf653b521308d54a69d4d3307d8115e 100644 --- a/lib/gpu/lal_lj_expand_coul_long.cu +++ b/lib/gpu/lal_lj_expand_coul_long.cu @@ -11,17 +11,17 @@ // // begin : // email : ndactrung@gmail.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_lj_expand_coul_long.h b/lib/gpu/lal_lj_expand_coul_long.h index 64fd9df1abdcb88725e021db9a8bfb5dd96d94d3..404a36e5bc9c8e216a0d0a2d866d7e21a57f174e 100644 --- a/lib/gpu/lal_lj_expand_coul_long.h +++ b/lib/gpu/lal_lj_expand_coul_long.h @@ -32,7 +32,7 @@ class LJExpandCoulLong : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_gromacs.cu b/lib/gpu/lal_lj_gromacs.cu index 93dc3d945619b7c14f32642fffffbaff608ad3f1..21381bef3062f3ab5308c58d37013d7d7d751cff 100644 --- a/lib/gpu/lal_lj_gromacs.cu +++ b/lib/gpu/lal_lj_gromacs.cu @@ -11,15 +11,15 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else diff --git a/lib/gpu/lal_lj_gromacs.h b/lib/gpu/lal_lj_gromacs.h index 1e0f72dafc6fdedfc53ba30af1a977cd67748ab5..3dec13c6d71884afaed2cec4b55088317254c7ff 100644 --- a/lib/gpu/lal_lj_gromacs.h +++ b/lib/gpu/lal_lj_gromacs.h @@ -32,7 +32,7 @@ class LJGROMACS : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_sdk.cu b/lib/gpu/lal_lj_sdk.cu index 01b2cdd18d287b14737984e9167e67df2b5a1487..249b29a4b28567bf9fa9e7803ca2015354091556 100644 --- a/lib/gpu/lal_lj_sdk.cu +++ b/lib/gpu/lal_lj_sdk.cu @@ -11,14 +11,14 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_lj_sdk.h b/lib/gpu/lal_lj_sdk.h index ac2b9aafe30de19d5a47f04f8a3a63acb726eadc..fc50756a3ff15f1290d440b7021e2f76d56d21b5 100644 --- a/lib/gpu/lal_lj_sdk.h +++ b/lib/gpu/lal_lj_sdk.h @@ -32,7 +32,7 @@ class CGCMM : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_sdk_long.cu b/lib/gpu/lal_lj_sdk_long.cu index 5ff64b22540cd48b7f85a5a3eaf8c0ebefeb9e66..6dd1829c71429ccc86c06232e213c90b54127ce9 100644 --- a/lib/gpu/lal_lj_sdk_long.cu +++ b/lib/gpu/lal_lj_sdk_long.cu @@ -11,17 +11,17 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else diff --git a/lib/gpu/lal_lj_sdk_long.h b/lib/gpu/lal_lj_sdk_long.h index f56687cd7dd10be2febb56683391fd8daa9ff498..608488bd308f8f69c9b563ca683de977d1a89024 100644 --- a/lib/gpu/lal_lj_sdk_long.h +++ b/lib/gpu/lal_lj_sdk_long.h @@ -32,7 +32,7 @@ class CGCMMLong : public BaseCharge { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_tip4p_long.cpp b/lib/gpu/lal_lj_tip4p_long.cpp index d44edc8cbdea4591d19193fa0b549f3704519d16..5dd082df33bf8b80ca3238b0b2e5d09ee24d34b4 100644 --- a/lib/gpu/lal_lj_tip4p_long.cpp +++ b/lib/gpu/lal_lj_tip4p_long.cpp @@ -23,7 +23,7 @@ const char *lj_tip4p=0; #include "lal_lj_tip4p_long.h" #include -using namespace LAMMPS_AL; +namespace LAMMPS_AL { #define LJTIP4PLongT LJ_TIP4PLong extern Device device; @@ -74,11 +74,11 @@ int LJTIP4PLongT::init(const int ntypes, // If atom type constants fit in shared memory use fast kernel int lj_types=ntypes; shared_types=false; -// int max_shared_types=this->device->max_shared_types(); -// if (lj_types<=max_shared_types && this->_block_size>=max_shared_types) { -// lj_types=max_shared_types; -// shared_types=true; -// } + int max_shared_types=this->device->max_shared_types(); + if (lj_types<=max_shared_types && this->_block_size>=max_shared_types) { + lj_types=max_shared_types; + shared_types=true; + } _lj_types=lj_types; // Allocate a host write buffer for data initialization @@ -202,7 +202,6 @@ void LJTIP4PLongT::loop(const bool _eflag, const bool _vflag) { GX=static_cast(ceil(static_cast(this->ans->inum())/ (BX/this->_threads_per_atom))); - this->k_pair.set_size(GX,BX); if (vflag) { this->ansO.resize_ib(ainum*3); } else { @@ -210,13 +209,25 @@ void LJTIP4PLongT::loop(const bool _eflag, const bool _vflag) { } this->ansO.zero(); this->device->gpu->sync(); - this->k_pair.run(&this->atom->x, &lj1, &lj3, &_lj_types, &sp_lj, + if(shared_types) { + this->k_pair_fast.set_size(GX,BX); + this->k_pair_fast.run(&this->atom->x, &lj1, &lj3, &_lj_types, &sp_lj, + &this->nbor->dev_nbor, &this->_nbor_data->begin(), + &this->ans->force, &this->ans->engv, &eflag, &vflag, + &ainum, &nbor_pitch, &this->_threads_per_atom, + &hneight, &m, &TypeO, &TypeH, &alpha, + &this->atom->q, &cutsq, &_qqrd2e, &_g_ewald, + &cut_coulsq, &cut_coulsqplus, &this->ansO); + } else { + this->k_pair.set_size(GX,BX); + this->k_pair.run(&this->atom->x, &lj1, &lj3, &_lj_types, &sp_lj, &this->nbor->dev_nbor, &this->_nbor_data->begin(), &this->ans->force, &this->ans->engv, &eflag, &vflag, &ainum, &nbor_pitch, &this->_threads_per_atom, &hneight, &m, &TypeO, &TypeH, &alpha, &this->atom->q, &cutsq, &_qqrd2e, &_g_ewald, &cut_coulsq, &cut_coulsqplus, &this->ansO); + } GX=static_cast(ceil(static_cast(this->ans->inum())/BX)); this->k_pair_distrib.set_size(GX,BX); this->k_pair_distrib.run(&this->atom->x, &this->ans->force, &this->ans->engv, @@ -370,6 +381,5 @@ int** LJTIP4PLongT::compute(const int ago, const int inum_full, } - - template class LJ_TIP4PLong; +} diff --git a/lib/gpu/lal_lj_tip4p_long.cu b/lib/gpu/lal_lj_tip4p_long.cu index 147c4607955327feba11a1fa73a400e9d9271a65..66c9a6071e708d3c3e894110e7925cea03a211ed 100644 --- a/lib/gpu/lal_lj_tip4p_long.cu +++ b/lib/gpu/lal_lj_tip4p_long.cu @@ -13,7 +13,7 @@ // email : thevsevak@gmail.com // *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifdef LAMMPS_SMALLBIG @@ -27,11 +27,11 @@ #define tagint int #endif #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif #else @@ -572,4 +572,328 @@ __kernel void k_lj_tip4p_long(const __global numtyp4 *restrict x_, } // if ii } -__kernel void k_lj_tip4p_long_fast() {} +__kernel void k_lj_tip4p_long_fast(const __global numtyp4 *restrict x_, + const __global numtyp4 *restrict lj1_in, + const __global numtyp4 *restrict lj3_in, + const int lj_types, + const __global numtyp *restrict sp_lj_in, + const __global int * dev_nbor, + const __global int * dev_packed, + __global acctyp4 *restrict ans, + __global acctyp *restrict engv, + const int eflag, const int vflag, const int inum, + const int nbor_pitch, const int t_per_atom, + __global int *restrict hneigh, + __global numtyp4 *restrict m, + const int typeO, const int typeH, + const numtyp alpha, + const __global numtyp *restrict q_, + const __global numtyp *restrict cutsq, + const numtyp qqrd2e, const numtyp g_ewald, + const numtyp cut_coulsq, const numtyp cut_coulsqplus, + __global acctyp4 *restrict ansO) { + int tid, ii, offset; + atom_info(t_per_atom,ii,tid,offset); + + const numtyp eq_zero = 1e-6; + + __local numtyp4 lj1[MAX_SHARED_TYPES*MAX_SHARED_TYPES]; + __local numtyp4 lj3[MAX_SHARED_TYPES*MAX_SHARED_TYPES]; + __local numtyp sp_lj[8]; + if (tid<8) + sp_lj[tid]=sp_lj_in[tid]; + if (tid0) + lj3[tid]=lj3_in[tid]; + } + acctyp energy = (acctyp)0; + acctyp e_coul = (acctyp)0; + acctyp4 f, fO; + f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; + fO.x=(acctyp)0; fO.y=(acctyp)0; fO.z=(acctyp)0; + acctyp virial[6],vO[6]; + for (int i=0; i<6; i++) { + virial[i]=(acctyp)0; + vO[i]=(acctyp)0; + } + + __syncthreads(); + if (ii= inum) { + non_local_oxy = 1; + } + } + + for ( ; nbor0) { + numtyp e = r6inv * (lj3[mtype].x*r6inv-lj3[mtype].y); + energy += factor_lj * (e - lj3[mtype].z); + } + if (vflag>0) { + virial[0] += delx*delx*forcelj; + virial[1] += dely*dely*forcelj; + virial[2] += delz*delz*forcelj; + virial[3] += delx*dely*forcelj; + virial[4] += delx*delz*forcelj; + virial[5] += dely*delz*forcelj; + } + } // if LJ + + if (rsq < cut_coulsqplus) { //cut_coulsqplus + int jH1, jH2, jO; + numtyp qj; fetch(qj,j,q_tex); + numtyp4 x2 = jx; + if(itype == typeO || jtype == typeO) { + if (jtype == typeO) { + jO = j; + jH1 = hneigh[j*4 ]; + jH2 = hneigh[j*4+1]; + x2 = m[j]; + } + delx = x1.x-x2.x; + dely = x1.y-x2.y; + delz = x1.z-x2.z; + rsq = delx*delx+dely*dely+delz*delz; + } + if (rsq < cut_coulsq) { + numtyp r2inv = ucl_recip(rsq); + numtyp r = ucl_rsqrt(r2inv); + numtyp grij = g_ewald * r; + numtyp expm2 = ucl_exp(-grij*grij); + numtyp t = ucl_recip((numtyp)1.0 + EWALD_P*grij); + numtyp _erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; + + numtyp prefactor = qj; + prefactor *= qqrd2e*qtmp/r; + numtyp force_coul = r2inv*prefactor * (_erfc + EWALD_F*grij*expm2 - factor_coul); + + if (itype == typeH) { + f.x += delx * force_coul; + f.y += dely * force_coul; + f.z += delz * force_coul; + f.w += 0; + } else { + fO.x += delx * force_coul; + fO.y += dely * force_coul; + fO.z += delz * force_coul; + fO.w += 0; + } + if (eflag>0) { + e_coul += prefactor*(_erfc-factor_coul); + } + if (vflag>0) { + acctyp4 fd; + fd.x = delx*force_coul; + fd.y = dely*force_coul; + fd.z = delz*force_coul; + if (itype == typeH) { + if (jtype == typeH) { + virial[0] += delx*fd.x; + virial[1] += dely*fd.y; + virial[2] += delz*fd.z; + virial[3] += delx*fd.y; + virial[4] += delx*fd.z; + virial[5] += dely*fd.z; + } else { + numtyp cO = 1 - alpha, cH = 0.5*alpha; + numtyp4 vdj; + numtyp4 xjH1; fetch4(xjH1,jH1,pos_tex); + numtyp4 xjH2; fetch4(xjH2,jH2,pos_tex); + numtyp4 xjO; fetch4(xjO,jO,pos_tex); + vdj.x = xjO.x*cO + xjH1.x*cH + xjH2.x*cH; + vdj.y = xjO.y*cO + xjH1.y*cH + xjH2.y*cH; + vdj.z = xjO.z*cO + xjH1.z*cH + xjH2.z*cH; + //vdj.w = vdj.w; + virial[0] += (ix.x - vdj.x)*fd.x; + virial[1] += (ix.y - vdj.y)*fd.y; + virial[2] += (ix.z - vdj.z)*fd.z; + virial[3] += (ix.x - vdj.x)*fd.y; + virial[4] += (ix.x - vdj.x)*fd.z; + virial[5] += (ix.y - vdj.y)*fd.z; + } + } else { + numtyp cO = 1 - alpha, cH = 0.5*alpha; + numtyp4 vdi, vdj; + numtyp4 xH1; fetch4(xH1,iH1,pos_tex); + numtyp4 xH2; fetch4(xH2,iH2,pos_tex); + numtyp4 xO; fetch4(xO,iO,pos_tex); + vdi.x = xO.x*cO + xH1.x*cH + xH2.x*cH; + vdi.y = xO.y*cO + xH1.y*cH + xH2.y*cH; + vdi.z = xO.z*cO + xH1.z*cH + xH2.z*cH; + //vdi.w = vdi.w; + if (jtype != typeH) { + numtyp4 xjH1; fetch4(xjH1,jH1,pos_tex); + numtyp4 xjH2; fetch4(xjH2,jH2,pos_tex); + numtyp4 xjO; fetch4(xjO,jO,pos_tex); + vdj.x = xjO.x*cO + xjH1.x*cH + xjH2.x*cH; + vdj.y = xjO.y*cO + xjH1.y*cH + xjH2.y*cH; + vdj.z = xjO.z*cO + xjH1.z*cH + xjH2.z*cH; + //vdj.w = vdj.w; + } else vdj = jx; + vO[0] += 0.5*(vdi.x - vdj.x)*fd.x; + vO[1] += 0.5*(vdi.y - vdj.y)*fd.y; + vO[2] += 0.5*(vdi.z - vdj.z)*fd.z; + vO[3] += 0.5*(vdi.x - vdj.x)*fd.y; + vO[4] += 0.5*(vdi.x - vdj.x)*fd.z; + vO[5] += 0.5*(vdi.y - vdj.y)*fd.z; + } + } + } + if (non_local_oxy == 1) { + if (iO == j) { + x2 = ix; + qj = qtmp; + } + numtyp4 x1m = m[iO]; + delx = x1m.x-x2.x; + dely = x1m.y-x2.y; + delz = x1m.z-x2.z; + rsq = delx*delx+dely*dely+delz*delz; + if (rsq < cut_coulsq) { + numtyp r2inv = ucl_recip(rsq); + numtyp r = ucl_rsqrt(r2inv); + numtyp grij = g_ewald * r; + numtyp expm2 = ucl_exp(-grij*grij); + numtyp t = ucl_recip((numtyp)1.0 + EWALD_P*grij); + numtyp _erfc = t * (A1+t*(A2+t*(A3+t*(A4+t*A5)))) * expm2; + + numtyp prefactor = qj; + prefactor *= qqrd2e*x1m.w/r; + numtyp force_coul = r2inv*prefactor * (_erfc + EWALD_F*grij*expm2 - factor_coul); + + numtyp cO = 1 - alpha, cH = 0.5*alpha; + numtyp4 fd; + fd.x = delx * force_coul * cH; + fd.y = dely * force_coul * cH; + fd.z = delz * force_coul * cH; + + f.x += fd.x; + f.y += fd.y; + f.z += fd.z; + + if (eflag>0) { + e_coul += prefactor*(_erfc-factor_coul) * (acctyp)0.5 * alpha; + } + if (vflag>0) { + numtyp4 xH1; fetch4(xH1,iH1,pos_tex); + numtyp4 xH2; fetch4(xH2,iH2,pos_tex); + numtyp4 xO; fetch4(xO,iO,pos_tex); + + virial[0] += ((xO.x*cO + xH1.x*cH + xH2.x*cH) - x2.x) * fd.x; + virial[1] += ((xO.y*cO + xH1.y*cH + xH2.y*cH) - x2.y) * fd.y; + virial[2] += ((xO.z*cO + xH1.z*cH + xH2.z*cH) - x2.z) * fd.z; + virial[3] += ((xO.x*cO + xH1.x*cH + xH2.x*cH) - x2.x) * fd.y; + virial[4] += ((xO.x*cO + xH1.x*cH + xH2.x*cH) - x2.x) * fd.z; + virial[5] += ((xO.y*cO + xH1.y*cH + xH2.y*cH) - x2.y) * fd.z; + } + } + } + } // if cut_coulsqplus + } // for nbor + if (t_per_atom>1) { +#if (ARCH < 300) + __local acctyp red_acc[6][BLOCK_PAIR]; + red_acc[0][tid]=fO.x; + red_acc[1][tid]=fO.y; + red_acc[2][tid]=fO.z; + red_acc[3][tid]=fO.w; + for (unsigned int s=t_per_atom/2; s>0; s>>=1) { + if (offset < s) { + for (int r=0; r<4; r++) + red_acc[r][tid] += red_acc[r][tid+s]; + } + } + fO.x=red_acc[0][tid]; + fO.y=red_acc[1][tid]; + fO.z=red_acc[2][tid]; + fO.w=red_acc[3][tid]; + if (vflag>0) { + for (int r=0; r<6; r++) red_acc[r][tid]=vO[r]; + for (unsigned int s=t_per_atom/2; s>0; s>>=1) { + if (offset < s) { + for (int r=0; r<6; r++) + red_acc[r][tid] += red_acc[r][tid+s]; + } + } + for (int r=0; r<6; r++) vO[r]=red_acc[r][tid]; + } +#else + for (unsigned int s=t_per_atom/2; s>0; s>>=1) { + fO.x += shfl_xor(fO.x, s, t_per_atom); + fO.y += shfl_xor(fO.y, s, t_per_atom); + fO.z += shfl_xor(fO.z, s, t_per_atom); + fO.w += shfl_xor(fO.w, s, t_per_atom); + } + if (vflag>0) { + for (unsigned int s=t_per_atom/2; s>0; s>>=1) { + for (int r=0; r<6; r++) + vO[r] += shfl_xor(vO[r], s, t_per_atom); + } + } +#endif + } + if(offset == 0) { + ansO[i] = fO; + if (vflag>0) { + ansO[inum + i].x = vO[0]; + ansO[inum + i].y = vO[1]; + ansO[inum + i].z = vO[2]; + ansO[inum*2 + i].x = vO[3]; + ansO[inum*2 + i].y = vO[4]; + ansO[inum*2 + i].z = vO[5]; + } + } + store_answers_q(f,energy,e_coul,virial,ii,inum,tid,t_per_atom,offset,eflag, + vflag,ans,engv); + } // if ii +} diff --git a/lib/gpu/lal_lj_tip4p_long.h b/lib/gpu/lal_lj_tip4p_long.h index ab32d1e9f33436c19ddd55076e5fce1ea801aea2..90c342e246c325288c95dd79fda86a9533c8a281 100644 --- a/lib/gpu/lal_lj_tip4p_long.h +++ b/lib/gpu/lal_lj_tip4p_long.h @@ -32,7 +32,7 @@ public: * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_mie.cu b/lib/gpu/lal_mie.cu index 33018566eb2f018cd672711960bd2691ce61d7b3..36ec8a496b157fad3ac7c1d0d7924df427462ce2 100644 --- a/lib/gpu/lal_mie.cu +++ b/lib/gpu/lal_mie.cu @@ -11,14 +11,14 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_mie.h b/lib/gpu/lal_mie.h index 8752fe1748443834705be258c7f82840fc3fa752..dfc2ee6e5378cd3b6a4de9ffb0d400165d8da436 100644 --- a/lib/gpu/lal_mie.h +++ b/lib/gpu/lal_mie.h @@ -32,7 +32,7 @@ class Mie : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_morse.cu b/lib/gpu/lal_morse.cu index 0a14071d1978f4faf81b807983916153ec295419..d6bab1e1313a2a44d33c1e00e962e4fc885d7f45 100644 --- a/lib/gpu/lal_morse.cu +++ b/lib/gpu/lal_morse.cu @@ -11,15 +11,15 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else diff --git a/lib/gpu/lal_morse.h b/lib/gpu/lal_morse.h index ef80fb42352f6f379bdb15bbb1b9ac4cd4903835..bf5f1c0f8f68d4fd2a0acb294cd7b81fefd63903 100644 --- a/lib/gpu/lal_morse.h +++ b/lib/gpu/lal_morse.h @@ -32,7 +32,7 @@ class Morse : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_neighbor_cpu.cu b/lib/gpu/lal_neighbor_cpu.cu index d005eb9f9738a72ea4ba284cf570df2a93f7e900..f8b32e17467735f366f74688e7f481771ee55a51 100644 --- a/lib/gpu/lal_neighbor_cpu.cu +++ b/lib/gpu/lal_neighbor_cpu.cu @@ -11,9 +11,9 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_preprocessor.h" #endif diff --git a/lib/gpu/lal_neighbor_gpu.cu b/lib/gpu/lal_neighbor_gpu.cu index 83692a24e4c04bfd9d1441c2a49b5da01fc9813e..f1da437c86b26182532852b018d9c19fabeee64c 100644 --- a/lib/gpu/lal_neighbor_gpu.cu +++ b/lib/gpu/lal_neighbor_gpu.cu @@ -12,9 +12,9 @@ // // begin : // email : penwang@nvidia.com, brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_preprocessor.h" #ifdef LAMMPS_SMALLBIG #define tagint int @@ -27,9 +27,9 @@ #define tagint int #endif #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif __kernel void calc_cell_id(const numtyp4 *restrict pos, diff --git a/lib/gpu/lal_neighbor_shared.h b/lib/gpu/lal_neighbor_shared.h index 834ee8406d34a1fa7d4c709f46b6e6b423a82906..5cfc4e47678359b36818ebca814c948e6a430cd5 100644 --- a/lib/gpu/lal_neighbor_shared.h +++ b/lib/gpu/lal_neighbor_shared.h @@ -24,6 +24,10 @@ using namespace ucl_opencl; #include "geryon/nvc_kernel.h" #include "geryon/nvc_texture.h" using namespace ucl_cudart; +#elif defined(USE_HIP) +#include "geryon/hip_kernel.h" +#include "geryon/hip_texture.h" +using namespace ucl_hip; #else #include "geryon/nvd_kernel.h" #include "geryon/nvd_texture.h" diff --git a/lib/gpu/lal_pppm.cu b/lib/gpu/lal_pppm.cu index 24636b9a9303251f1f8daf31c13c81e2786df429..6cf8aafbd0a9f17f675b0600dd4144af61a17781 100644 --- a/lib/gpu/lal_pppm.cu +++ b/lib/gpu/lal_pppm.cu @@ -11,17 +11,17 @@ // // begin : // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_preprocessor.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture q_tex; +_texture( pos_tex,float4); +_texture( q_tex,float); #else -texture pos_tex; -texture q_tex; +_texture_2d( pos_tex,int4); +_texture( q_tex,int2); #endif // Allow PPPM to compile without atomics for NVIDIA 1.0 cards, error diff --git a/lib/gpu/lal_pppm.h b/lib/gpu/lal_pppm.h index 045423e0798f26ed9383a992b05fdc349dbb2e9a..499aa265d305809bac1e39902c0c26b22b8edb68 100644 --- a/lib/gpu/lal_pppm.h +++ b/lib/gpu/lal_pppm.h @@ -23,6 +23,8 @@ #include "geryon/ocl_texture.h" #elif defined(USE_CUDART) #include "geryon/nvc_texture.h" +#elif defined(USE_HIP) +#include "geryon/hip_texture.h" #else #include "geryon/nvd_texture.h" #endif @@ -39,7 +41,7 @@ class PPPM { /// Clear any previous data and set up for a new LAMMPS run /** Success will be: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -2 if GPU could not be found * - -3 if there is an out of memory error diff --git a/lib/gpu/lal_precision.h b/lib/gpu/lal_precision.h index d5b1b9b6c05fb7bda08c7acef1e15917a07f2436..7f82ba18aa92d033f5aca5be60fcda278e9c480b 100644 --- a/lib/gpu/lal_precision.h +++ b/lib/gpu/lal_precision.h @@ -24,9 +24,11 @@ struct _lgpu_int2 { int x; int y; }; +#ifndef USE_HIP #ifndef int2 #define int2 _lgpu_int2 #endif +#endif struct _lgpu_float2 { float x; float y; diff --git a/lib/gpu/lal_preprocessor.h b/lib/gpu/lal_preprocessor.h index 566a451c21b83c34090fcc8a8a150fe42d4eef17..cd95355ee40f5951aea8f525011940eacc37096c 100644 --- a/lib/gpu/lal_preprocessor.h +++ b/lib/gpu/lal_preprocessor.h @@ -1,4 +1,4 @@ -// ************************************************************************** +// ************************************************************************** // preprocessor.cu // ------------------- // W. Michael Brown (ORNL) @@ -60,6 +60,150 @@ // //*************************************************************************/ +#define _texture(name, type) texture name +#define _texture_2d(name, type) texture name + +// ------------------------------------------------------------------------- +// HIP DEFINITIONS +// ------------------------------------------------------------------------- + +#ifdef USE_HIP + #include + #ifdef __HIP_PLATFORM_HCC__ + #define mul24(x, y) __mul24(x, y) + #undef _texture + #undef _texture_2d + #define _texture(name, type) __device__ type* name + #define _texture_2d(name, type) __device__ type* name + #endif + #define GLOBAL_ID_X threadIdx.x+mul24(blockIdx.x,blockDim.x) + #define GLOBAL_ID_Y threadIdx.y+mul24(blockIdx.y,blockDim.y) + #define GLOBAL_SIZE_X mul24(gridDim.x,blockDim.x); + #define GLOBAL_SIZE_Y mul24(gridDim.y,blockDim.y); + #define THREAD_ID_X threadIdx.x + #define THREAD_ID_Y threadIdx.y + #define BLOCK_ID_X blockIdx.x + #define BLOCK_ID_Y blockIdx.y + #define BLOCK_SIZE_X blockDim.x + #define BLOCK_SIZE_Y blockDim.y + #define __kernel extern "C" __global__ + #ifdef __local + #undef __local + #endif + #define __local __shared__ + #define __global + #define restrict __restrict__ + #define atom_add atomicAdd + #define ucl_inline static __inline__ __device__ + + #define THREADS_PER_ATOM 4 + #define THREADS_PER_CHARGE 8 + #define BLOCK_NBOR_BUILD 128 + #define BLOCK_PAIR 256 + #define BLOCK_BIO_PAIR 256 + #define BLOCK_ELLIPSE 128 + #define MAX_SHARED_TYPES 11 + + #ifdef _SINGLE_SINGLE + ucl_inline double shfl_xor(double var, int laneMask, int width) { + #ifdef __HIP_PLATFORM_HCC__ + return __shfl_xor(var, laneMask, width); + #else + return __shfl_xor_sync(0xffffffff, var, laneMask, width); + #endif + } + #else + ucl_inline double shfl_xor(double var, int laneMask, int width) { + int2 tmp; + tmp.x = __double2hiint(var); + tmp.y = __double2loint(var); + #ifdef __HIP_PLATFORM_HCC__ + tmp.x = __shfl_xor(tmp.x,laneMask,width); + tmp.y = __shfl_xor(tmp.y,laneMask,width); + #else + tmp.x = __shfl_xor_sync(0xffffffff, tmp.x,laneMask,width); + tmp.y = __shfl_xor_sync(0xffffffff, tmp.y,laneMask,width); + #endif + return __hiloint2double(tmp.x,tmp.y); + } + #endif + + #ifdef __HIP_PLATFORM_HCC__ + #define ARCH 600 + #define WARP_SIZE 64 + #endif + + #ifdef __HIP_PLATFORM_NVCC__ + #define ARCH __CUDA_ARCH__ + #define WARP_SIZE 32 + #endif + + #define fast_mul(X,Y) (X)*(Y) + + #define MEM_THREADS WARP_SIZE + #define PPPM_BLOCK_1D 64 + #define BLOCK_CELL_2D 8 + #define BLOCK_CELL_ID 128 + #define MAX_BIO_SHARED_TYPES 128 + + #ifdef __HIP_PLATFORM_NVCC__ + #ifdef _DOUBLE_DOUBLE + #define fetch4(ans,i,pos_tex) { \ + int4 xy = tex1Dfetch(pos_tex,i*2); \ + int4 zt = tex1Dfetch(pos_tex,i*2+1); \ + ans.x=__hiloint2double(xy.y, xy.x); \ + ans.y=__hiloint2double(xy.w, xy.z); \ + ans.z=__hiloint2double(zt.y, zt.x); \ + ans.w=__hiloint2double(zt.w, zt.z); \ + } + #define fetch(ans,i,q_tex) { \ + int2 qt = tex1Dfetch(q_tex,i); \ + ans=__hiloint2double(qt.y, qt.x); \ + } + #else + #define fetch4(ans,i,pos_tex) ans=tex1Dfetch(pos_tex, i); + #define fetch(ans,i,q_tex) ans=tex1Dfetch(q_tex,i); + #endif + #else + #ifdef _DOUBLE_DOUBLE + #define fetch4(ans,i,pos_tex) (ans=*(((double4*)pos_tex) + i)) + #define fetch(ans,i,q_tex) (ans=*(((double *) q_tex) + i)) + #else + #define fetch4(ans,i,pos_tex) (ans=*(((float4*)pos_tex) + i)) + #define fetch(ans,i,q_tex) (ans=*(((float *) q_tex) + i)) + #endif + #endif + + #ifdef _DOUBLE_DOUBLE + #define ucl_exp exp + #define ucl_powr pow + #define ucl_atan atan + #define ucl_cbrt cbrt + #define ucl_ceil ceil + #define ucl_abs fabs + #define ucl_rsqrt rsqrt + #define ucl_sqrt sqrt + #define ucl_recip(x) ((numtyp)1.0/(x)) + + #else + #define ucl_atan atanf + #define ucl_cbrt cbrtf + #define ucl_ceil ceilf + #define ucl_abs fabsf + #define ucl_recip(x) ((numtyp)1.0/(x)) + #define ucl_rsqrt rsqrtf + #define ucl_sqrt sqrtf + + #ifdef NO_HARDWARE_TRANSCENDENTALS + #define ucl_exp expf + #define ucl_powr powf + #else + #define ucl_exp __expf + #define ucl_powr __powf + #endif + #endif +#endif + // ------------------------------------------------------------------------- // CUDA DEFINITIONS // ------------------------------------------------------------------------- diff --git a/lib/gpu/lal_re_squared.cu b/lib/gpu/lal_re_squared.cu index e238734074849da8db2760635571e74a25835915..8852a4691311150750ad72f8449ac24dcc925516 100644 --- a/lib/gpu/lal_re_squared.cu +++ b/lib/gpu/lal_re_squared.cu @@ -11,9 +11,9 @@ // // begin : Fri May 06 2011 // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_ellipsoid_extra.h" #endif diff --git a/lib/gpu/lal_re_squared.h b/lib/gpu/lal_re_squared.h index 8dc137d829ba525c21cb9795d5867284417514b9..9e4f4af67ac76ab9d130eedd9b0b21c8ab7bf5f2 100644 --- a/lib/gpu/lal_re_squared.h +++ b/lib/gpu/lal_re_squared.h @@ -34,7 +34,7 @@ class RESquared : public BaseEllipsoid { * \return false if there is not sufficient memory or device init prob * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_re_squared_lj.cu b/lib/gpu/lal_re_squared_lj.cu index d69dae2461ff699646bd5760f20d36674b1f9ad6..112a4db8d9bee7a7c077a6ceac221c07493c90cf 100644 --- a/lib/gpu/lal_re_squared_lj.cu +++ b/lib/gpu/lal_re_squared_lj.cu @@ -11,9 +11,9 @@ // // begin : Fri May 06 2011 // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_ellipsoid_extra.h" #endif diff --git a/lib/gpu/lal_soft.cu b/lib/gpu/lal_soft.cu index 831b986725a135355158ce439308a6c6abaa1284..5df34e7b1de89cfb1bd1eccea1aeee375c516f1c 100644 --- a/lib/gpu/lal_soft.cu +++ b/lib/gpu/lal_soft.cu @@ -11,14 +11,14 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_soft.h b/lib/gpu/lal_soft.h index e72673248cabf35c4ed723e566b6f0232d3546ba..ff4524b30a291468e81cdb10df6df138f24535e8 100644 --- a/lib/gpu/lal_soft.h +++ b/lib/gpu/lal_soft.h @@ -32,7 +32,7 @@ class Soft : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_sw.cu b/lib/gpu/lal_sw.cu index 3b6de5a683d603e74f53b8c2364942fd0f83f2cf..6076c55283410c2a9e9a3ab28903acb89b44e5b5 100644 --- a/lib/gpu/lal_sw.cu +++ b/lib/gpu/lal_sw.cu @@ -11,21 +11,21 @@ // // begin : Tue March 26, 2013 // email : brownw@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture sw1_tex; -texture sw2_tex; -texture sw3_tex; +_texture( pos_tex,float4); +_texture( sw1_tex,float4); +_texture( sw2_tex,float4); +_texture( sw3_tex,float4); #else -texture pos_tex; -texture sw1_tex; -texture sw2_tex; -texture sw3_tex; +_texture_2d( pos_tex,int4); +_texture( sw1_tex,int4); +_texture( sw2_tex,int4); +_texture( sw3_tex,int4); #endif #else diff --git a/lib/gpu/lal_sw.h b/lib/gpu/lal_sw.h index 3546f02eb79cceacdf6cdea05d7ee9517cb6a4f9..1a2e025ae0919029b37728c60ade73a5ad19ed5e 100644 --- a/lib/gpu/lal_sw.h +++ b/lib/gpu/lal_sw.h @@ -32,7 +32,7 @@ class SW : public BaseThree { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_table.cu b/lib/gpu/lal_table.cu index 971b56d96e5b4955acd687f60a1110e1fa645552..0cf0de2af051717e25d2092dc466213937149936 100644 --- a/lib/gpu/lal_table.cu +++ b/lib/gpu/lal_table.cu @@ -11,14 +11,14 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_table.h b/lib/gpu/lal_table.h index f667336679f17fa8e71f78d13adf49fc1c7f0585..38ae012beef40a0cb9447651ef54b29d4aea6a8a 100644 --- a/lib/gpu/lal_table.h +++ b/lib/gpu/lal_table.h @@ -32,7 +32,7 @@ class Table : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_tersoff.cu b/lib/gpu/lal_tersoff.cu index 2e29ca721b00d7c4a8563bce6f997c5d3a055ad7..2e68215ff86015936817248d18294ca14f0eb8db 100644 --- a/lib/gpu/lal_tersoff.cu +++ b/lib/gpu/lal_tersoff.cu @@ -11,25 +11,25 @@ // // begin : Thu April 17, 2014 // email : ndactrung@gmail.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_tersoff_extra.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture ts1_tex; -texture ts2_tex; -texture ts3_tex; -texture ts4_tex; -texture ts5_tex; +_texture( pos_tex,float4); +_texture( ts1_tex,float4); +_texture( ts2_tex,float4); +_texture( ts3_tex,float4); +_texture( ts4_tex,float4); +_texture( ts5_tex,float4); #else -texture pos_tex; -texture ts1_tex; -texture ts2_tex; -texture ts3_tex; -texture ts4_tex; -texture ts5_tex; +_texture_2d( pos_tex,int4); +_texture( ts1_tex,int4); +_texture( ts2_tex,int4); +_texture( ts3_tex,int4); +_texture( ts4_tex,int4); +_texture( ts5_tex,int4); #endif #else diff --git a/lib/gpu/lal_tersoff.h b/lib/gpu/lal_tersoff.h index fd01af031a7b0865be81709b3d09ce4e3666bb61..51e64c987b2e6531c4eaf0845599cec4f34f4b25 100644 --- a/lib/gpu/lal_tersoff.h +++ b/lib/gpu/lal_tersoff.h @@ -32,7 +32,7 @@ class Tersoff : public BaseThree { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_tersoff_extra.h b/lib/gpu/lal_tersoff_extra.h index 47d16678f088be320463ca4f6dca4299fee1dd82..7ee29751b7014d7c34c5a0bde286e3aa1b3b9755 100644 --- a/lib/gpu/lal_tersoff_extra.h +++ b/lib/gpu/lal_tersoff_extra.h @@ -16,7 +16,7 @@ #ifndef LAL_TERSOFF_EXTRA_H #define LAL_TERSOFF_EXTRA_H -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #else #endif diff --git a/lib/gpu/lal_tersoff_mod.cu b/lib/gpu/lal_tersoff_mod.cu index c85f5e08ca4821b84bf607bdbf8b0bd9ad74954c..c26c17969f3c3cbbb12b7da4257675016baa9f74 100644 --- a/lib/gpu/lal_tersoff_mod.cu +++ b/lib/gpu/lal_tersoff_mod.cu @@ -11,25 +11,25 @@ // // begin : // email : ndactrung@gmail.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_tersoff_mod_extra.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture ts1_tex; -texture ts2_tex; -texture ts3_tex; -texture ts4_tex; -texture ts5_tex; +_texture( pos_tex,float4); +_texture( ts1_tex,float4); +_texture( ts2_tex,float4); +_texture( ts3_tex,float4); +_texture( ts4_tex,float4); +_texture( ts5_tex,float4); #else -texture pos_tex; -texture ts1_tex; -texture ts2_tex; -texture ts3_tex; -texture ts4_tex; -texture ts5_tex; +_texture_2d( pos_tex,int4); +_texture( ts1_tex,int4); +_texture( ts2_tex,int4); +_texture( ts3_tex,int4); +_texture( ts4_tex,int4); +_texture( ts5_tex,int4); #endif #else diff --git a/lib/gpu/lal_tersoff_mod.h b/lib/gpu/lal_tersoff_mod.h index ab1560d9518958e4f5d7c7d9e2f7363f8c4c1636..29a561c71d452df1e7b5bf90a0becb3abf8bfb78 100644 --- a/lib/gpu/lal_tersoff_mod.h +++ b/lib/gpu/lal_tersoff_mod.h @@ -32,7 +32,7 @@ class TersoffMod : public BaseThree { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_tersoff_mod_extra.h b/lib/gpu/lal_tersoff_mod_extra.h index a130d98488d8a281233d1587c7a123a3889b5816..fb658cb0da1d3e1167fdc7f416ef944ff3ccc953 100644 --- a/lib/gpu/lal_tersoff_mod_extra.h +++ b/lib/gpu/lal_tersoff_mod_extra.h @@ -16,7 +16,7 @@ #ifndef LAL_TERSOFF_MOD_EXTRA_H #define LAL_TERSOFF_MOD_EXTRA_H -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #else #endif diff --git a/lib/gpu/lal_tersoff_zbl.cu b/lib/gpu/lal_tersoff_zbl.cu index b574a529c019437c6275a50b8c80d88121a140f2..b97f9247d0fcf35341c3a057e9422b728582c3ef 100644 --- a/lib/gpu/lal_tersoff_zbl.cu +++ b/lib/gpu/lal_tersoff_zbl.cu @@ -11,27 +11,27 @@ // // begin : // email : ndactrung@gmail.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_tersoff_zbl_extra.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture ts1_tex; -texture ts2_tex; -texture ts3_tex; -texture ts4_tex; -texture ts5_tex; -texture ts6_tex; +_texture( pos_tex,float4); +_texture( ts1_tex,float4); +_texture( ts2_tex,float4); +_texture( ts3_tex,float4); +_texture( ts4_tex,float4); +_texture( ts5_tex,float4); +_texture( ts6_tex,float4); #else -texture pos_tex; -texture ts1_tex; -texture ts2_tex; -texture ts3_tex; -texture ts4_tex; -texture ts5_tex; -texture ts6_tex; +_texture_2d( pos_tex,int4); +_texture( ts1_tex,int4); +_texture( ts2_tex,int4); +_texture( ts3_tex,int4); +_texture( ts4_tex,int4); +_texture( ts5_tex,int4); +_texture( ts6_tex,int4); #endif #else diff --git a/lib/gpu/lal_tersoff_zbl.h b/lib/gpu/lal_tersoff_zbl.h index 0e6cac958722a51b2c0f672891bb5364cd464686..eb03e9fb02f08f3cdc331c842013efb6199af692 100644 --- a/lib/gpu/lal_tersoff_zbl.h +++ b/lib/gpu/lal_tersoff_zbl.h @@ -32,7 +32,7 @@ class TersoffZBL : public BaseThree { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_tersoff_zbl_extra.h b/lib/gpu/lal_tersoff_zbl_extra.h index 32c05a3716b19719e33922391d81608d639cb89a..9e5bcb10b44a8e320578949a77bff891eabbe691 100644 --- a/lib/gpu/lal_tersoff_zbl_extra.h +++ b/lib/gpu/lal_tersoff_zbl_extra.h @@ -16,7 +16,7 @@ #ifndef LAL_TERSOFF_ZBL_EXTRA_H #define LAL_TERSOFF_ZBL_EXTRA_H -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #else #endif diff --git a/lib/gpu/lal_ufm.cu b/lib/gpu/lal_ufm.cu index 51c4df3b5b9cfac3516ece739aebb0e7b3afd123..03d1e85bdf8c533a9f4e25a523721c035be992b0 100644 --- a/lib/gpu/lal_ufm.cu +++ b/lib/gpu/lal_ufm.cu @@ -10,17 +10,17 @@ This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) __________________________________________________________________________ - begin : + begin : email : pl.rodolfo@gmail.com dekoning@ifi.unicamp.br ***************************************************************************/ -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ @@ -31,10 +31,10 @@ __kernel void k_ufm(const __global numtyp4 *restrict x_, const __global numtyp4 *restrict uf3, const int lj_types, const __global numtyp *restrict sp_lj, - const __global int * dev_nbor, - const __global int * dev_packed, - __global acctyp4 *restrict ans, - __global acctyp *restrict engv, + const __global int * dev_nbor, + const __global int * dev_packed, + __global acctyp4 *restrict ans, + __global acctyp *restrict engv, const int eflag, const int vflag, const int inum, const int nbor_pitch, const int t_per_atom) { int tid, ii, offset; @@ -46,19 +46,19 @@ __kernel void k_ufm(const __global numtyp4 *restrict x_, acctyp virial[6]; for (int i=0; i<6; i++) virial[i]=(acctyp)0; - + if (ii0) uf3[tid]=uf3_in[tid]; } - + acctyp energy=(acctyp)0; acctyp4 f; f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; @@ -132,7 +132,7 @@ __kernel void k_ufm_fast(const __global numtyp4 *restrict x_, virial[i]=(acctyp)0; __syncthreads(); - + if (ii { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_vashishta.cu b/lib/gpu/lal_vashishta.cu index 0da46c3b534cc29cba600851db0dda05a2cf38da..25089c0c21b9d3ba263c7bc3d57a168fd4338605 100644 --- a/lib/gpu/lal_vashishta.cu +++ b/lib/gpu/lal_vashishta.cu @@ -11,25 +11,25 @@ // // begin : Mon June 12, 2017 // email : andershaf@gmail.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture param1_tex; -texture param2_tex; -texture param3_tex; -texture param4_tex; -texture param5_tex; +_texture( pos_tex,float4); +_texture( param1_tex,float4); +_texture( param2_tex,float4); +_texture( param3_tex,float4); +_texture( param4_tex,float4); +_texture( param5_tex,float4); #else -texture pos_tex; -texture param1_tex; -texture param2_tex; -texture param3_tex; -texture param4_tex; -texture param5_tex; +_texture_2d( pos_tex,int4); +_texture( param1_tex,int4); +_texture( param2_tex,int4); +_texture( param3_tex,int4); +_texture( param4_tex,int4); +_texture( param5_tex,int4); #endif #else @@ -290,7 +290,7 @@ __kernel void k_vashishta(const __global numtyp4 *restrict x_, if (eflag>0) energy += (param3_bigh*reta+vc2-vc3-param3_bigw*r6inv-r*param3_dvrc+param3_c0); - + if (vflag>0) { virial[0] += delx*delx*force; virial[1] += dely*dely*force; @@ -471,13 +471,13 @@ __kernel void k_vashishta_three_center(const __global numtyp4 *restrict x_, numtyp rsq1 = delr1x*delr1x+delr1y*delr1y+delr1z*delr1z; int ijparam=elem2param[itype*nelements*nelements+jtype*nelements+jtype]; - + numtyp4 param4_ijparam; fetch4(param4_ijparam,ijparam,param4_tex); param_r0sq_ij=param4_ijparam.x; if (rsq1 > param_r0sq_ij) continue; // still keep this for neigh no and tpa > 1 param_gamma_ij=param4_ijparam.y; param_r0_ij=param4_ijparam.w; - + int nbor_k,k_end; if (dev_packed==dev_nbor) { nbor_k=nborj_start-offset_j+offset_k; @@ -619,7 +619,7 @@ __kernel void k_vashishta_three_end(const __global numtyp4 *restrict x_, param_gamma_ij=param4_ijparam.y; param_r0_ij = param4_ijparam.w; - + int nbor_k,numk; if (dev_nbor==dev_packed) { if (gpu_nbor) nbor_k=j+nbor_pitch; @@ -665,14 +665,14 @@ __kernel void k_vashishta_three_end(const __global numtyp4 *restrict x_, if (rsq2 < param_r0sq_ik) { param_gamma_ik=param4_ikparam.y; param_r0_ik=param4_ikparam.w; - + int ijkparam=elem2param[jtype*nelements*nelements+itype*nelements+ktype]; //jik numtyp4 param5_ijkparam; fetch4(param5_ijkparam,ijkparam,param5_tex); param_bigc_ijk=param5_ijkparam.x; param_costheta_ijk=param5_ijkparam.y; param_bigb_ijk=param5_ijkparam.z; param_big2b_ijk=param5_ijkparam.w; - + numtyp fjx, fjy, fjz; //if (evatom==0) { threebody_half(delr1x,delr1y,delr1z); @@ -774,7 +774,7 @@ __kernel void k_vashishta_three_end_vatom(const __global numtyp4 *restrict x_, param_gamma_ij=param4_ijparam.y; param_r0_ij=param4_ijparam.w; - + int nbor_k,numk; if (dev_nbor==dev_packed) { if (gpu_nbor) nbor_k=j+nbor_pitch; @@ -827,7 +827,7 @@ __kernel void k_vashishta_three_end_vatom(const __global numtyp4 *restrict x_, param_costheta_ijk=param5_ijkparam.y; param_bigb_ijk=param5_ijkparam.z; param_big2b_ijk=param5_ijkparam.w; - + numtyp fjx, fjy, fjz, fkx, fky, fkz; threebody(delr1x,delr1y,delr1z,eflag,energy); diff --git a/lib/gpu/lal_vashishta.h b/lib/gpu/lal_vashishta.h index c5c96a5b805e7e4536e0fbb2951f36e8818461e9..2da7a11e1e48269c63746c15d6df520e6f87490e 100644 --- a/lib/gpu/lal_vashishta.h +++ b/lib/gpu/lal_vashishta.h @@ -32,7 +32,7 @@ class Vashishta : public BaseThree { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_yukawa.cu b/lib/gpu/lal_yukawa.cu index a8d637ec97e7d92b95726175a21f17b4d2e58b63..62bc013dc61a44e13c02861665b3135f69e5cc93 100644 --- a/lib/gpu/lal_yukawa.cu +++ b/lib/gpu/lal_yukawa.cu @@ -11,14 +11,14 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_yukawa.h b/lib/gpu/lal_yukawa.h index 4cc23c03e9d35a2301c03955f1f01247f4fe18aa..7d638d760ed2fb178aed7b8f486661785124738c 100644 --- a/lib/gpu/lal_yukawa.h +++ b/lib/gpu/lal_yukawa.h @@ -32,7 +32,7 @@ class Yukawa : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_yukawa_colloid.cu b/lib/gpu/lal_yukawa_colloid.cu index a3cbbbc11ccecd22eb596f1d591a09d4f12d7c38..30b458fec780fd9177f80c003d4b630663e904df 100644 --- a/lib/gpu/lal_yukawa_colloid.cu +++ b/lib/gpu/lal_yukawa_colloid.cu @@ -11,17 +11,17 @@ // // begin : // email : nguyentd@ornl.gov -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; -texture rad_tex; +_texture( pos_tex,float4); +_texture( rad_tex,float); #else -texture pos_tex; -texture rad_tex; +_texture_2d( pos_tex,int4); +_texture( rad_tex,int2); #endif #else diff --git a/lib/gpu/lal_yukawa_colloid.h b/lib/gpu/lal_yukawa_colloid.h index ba69bc4bae6e6a412fbed925768188a2a5f0fb8d..607bc42321759c42def731256b2a4041b7369c67 100644 --- a/lib/gpu/lal_yukawa_colloid.h +++ b/lib/gpu/lal_yukawa_colloid.h @@ -32,7 +32,7 @@ class YukawaColloid : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_zbl.cu b/lib/gpu/lal_zbl.cu index 33c850e1347f4062edb6de2b8f60a0f90d405680..2539c0ddd7e069503a4b1071631e51503d344bb3 100644 --- a/lib/gpu/lal_zbl.cu +++ b/lib/gpu/lal_zbl.cu @@ -11,14 +11,14 @@ // // begin : // email : ndactrung@gmail.com -// ***************************************************************************/ +// *************************************************************************** -#ifdef NV_KERNEL +#if defined(NV_KERNEL) || defined(USE_HIP) #include "lal_aux_fun1.h" #ifndef _DOUBLE_DOUBLE -texture pos_tex; +_texture( pos_tex,float4); #else -texture pos_tex; +_texture_2d( pos_tex,int4); #endif #else #define pos_tex x_ diff --git a/lib/gpu/lal_zbl.h b/lib/gpu/lal_zbl.h index 9885fcedf207c70b9c1f91a676aca897d728a66f..e205d326c6441dffc38a6ca02d26032afdf80cf9 100644 --- a/lib/gpu/lal_zbl.h +++ b/lib/gpu/lal_zbl.h @@ -32,7 +32,7 @@ class ZBL : public BaseAtomic { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/h5md/README b/lib/h5md/README index fb7d82bfccc3dc993adb2cd39cae00cb52273944..4768b50697859b90370cf41e24b94d30c020377e 100644 --- a/lib/h5md/README +++ b/lib/h5md/README @@ -19,7 +19,7 @@ ch5md is a set of C routines to manipulate H5MD files. H5MD is a file format specification based on [HDF5](http://www.hdfgroup.org/HDF5/) for storing molecular data, whose development is found at . -ch5md is developped by Pierre de Buyl and is released under the 3-clause BSD +ch5md is developed by Pierre de Buyl and is released under the 3-clause BSD license that can be found in the file LICENSE. To use the h5md dump style in lammps, execute diff --git a/lib/kokkos/BUILD.md b/lib/kokkos/BUILD.md new file mode 100644 index 0000000000000000000000000000000000000000..63dbf7fdb229e37ecf35c0ca56709e80a2f2391d --- /dev/null +++ b/lib/kokkos/BUILD.md @@ -0,0 +1,310 @@ +![Kokkos](https://avatars2.githubusercontent.com/u/10199860?s=200&v=4) + +# Installing and Using Kokkos + +## Kokkos Philosophy +Kokkos provides a modern CMake style build system. +As C++ continues to develop for C++20 and beyond, CMake is likely to provide the most robust support +for C++. Applications heavily leveraging Kokkos are strongly encouraged to use a CMake build system. + +You can either use Kokkos as an installed package (encouraged) or use Kokkos in-tree in your project. +Modern CMake is exceedingly simple at a high-level (with the devil in the details). +Once Kokkos is installed In your `CMakeLists.txt` simply use: +```` +find_package(Kokkos REQUIRED) +```` +Then for every executable or library in your project: +```` +target_link_libraries(myTarget Kokkos::kokkos) +```` +That's it! There is no checking Kokkos preprocessor, compiler, or linker flags. +Kokkos propagates all the necessary flags to your project. +This means not only is linking to Kokkos easy, but Kokkos itself can actually configure compiler and linker flags for *your* +project. If building in-tree, there is no `find_package` and you link with `target_link_libraries(kokkos)`. + + +## Configuring CMake +A very basic installation is done with: +```` +cmake ${srcdir} \ + -DCMAKE_CXX_COMPILER=g++ \ + -DCMAKE_INSTALL_PREFIX=${my_install_folder} +```` +which builds and installed a default Kokkos when you run `make install`. +There are numerous device backends, options, and architecture-specific optimizations that can be configured, e.g. +```` +cmake ${srcdir} \ + -DCMAKE_CXX_COMPILER=g++ \ + -DCMAKE_INSTALL_PREFIX=${my_install_folder} \ + -DKokkos_ENABLE_OPENMP=On +```` +which activates the OpenMP backend. All of the options controlling device backends, options, architectures, and third-party libraries (TPLs) are given below. + +## Platform-specific Problems + +### Cray + +* The Cray compiler wrappers do static linking by default. This seems to break the Kokkos build. You will likely need to set the environment variable `CRAYPE_LINK_TYPE=dynamic` in order to link correctly. Kokkos warns during configure if this is missing. +* The Cray compiler identifies to CMake as Clang, but it sometimes has its own flags that differ from Clang. We try to include all exceptions, but flag errors may occur in which a Clang-specific flag is passed that the Cray compiler does not recognize. + +## Spack +An alternative to manually building with the CMake is to use the Spack package manager. +To do so, download the `kokkos-spack` git repo and add to the package list: +```` +spack repo add $path-to-kokkos-spack +```` +A basic installation would be done as: +```` +spack install kokkos +```` +Spack allows options and and compilers to be tuned in the install command. +```` +spack install kokkos@3.0 %gcc@7.3.0 +openmp +```` +This example illustrates the three most common parameters to Spack: +* Variants: specified with, e.g. `+openmp`, this activates (or deactivates with, e.g. `~openmp`) certain options. +* Version: immediately following `kokkos` the `@version` can specify a particular Kokkos to build +* Compiler: a default compiler will be chosen if not specified, but an exact compiler version can be given with the `%`option. + +For a complete list of Kokkos options, run: +```` +spack info kokkos +```` +More details can be found in the kokkos-spack repository [README](https://github.com/kokkos/kokkos-spack/blob/master/README.md). + +#### Spack Development +Spack currently installs packages to a location determined by a unique hash. This hash name is not really "human readable". +Generally, Spack usage should never really require you to reference the computer-generated unique install folder. +If you must know, you can locate Spack Kokkos installations with: +```` +spack find -p kokkos ... +```` +where `...` is the unique spec identifying the particular Kokkos configuration and version. + +A better way to use Spack for doing Kokkos development is the dev-build feature of Spack. +For dev-build details, consult the kokkos-spack repository [README](https://github.com/kokkos/kokkos-spack/blob/master/README.md). + +# Kokkos Keyword Listing + +## Device Backends +Device backends can be enabled by specifying `-DKokkos_ENABLE_X`. + +* Kokkos_ENABLE_CUDA + * Whether to build CUDA backend + * BOOL Default: OFF +* Kokkos_ENABLE_HPX + * Whether to build HPX backend (experimental) + * BOOL Default: OFF +* Kokkos_ENABLE_OPENMP + * Whether to build OpenMP backend + * BOOL Default: OFF +* Kokkos_ENABLE_PTHREAD + * Whether to build Pthread backend + * BOOL Default: OFF +* Kokkos_ENABLE_SERIAL + * Whether to build serial backend + * BOOL Default: ON + +## Enable Options +Options can be enabled by specifying `-DKokkos_ENABLE_X`. + +* Kokkos_ENABLE_AGGRESSIVE_VECTORIZATION + * Whether to aggressively vectorize loops + * BOOL Default: OFF +* Kokkos_ENABLE_COMPILER_WARNINGS + * Whether to print all compiler warnings + * BOOL Default: OFF +* Kokkos_ENABLE_CUDA_CONSTEXPR + * Whether to activate experimental relaxed constexpr functions + * BOOL Default: OFF +* Kokkos_ENABLE_CUDA_LAMBDA + * Whether to activate experimental lambda features + * BOOL Default: OFF +* Kokkos_ENABLE_CUDA_LDG_INTRINSIC + * Whether to use CUDA LDG intrinsics + * BOOL Default: OFF +* Kokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE + * Whether to enable relocatable device code (RDC) for CUDA + * BOOL Default: OFF +* Kokkos_ENABLE_CUDA_UVM + * Whether to use unified memory (UM) by default for CUDA + * BOOL Default: OFF +* Kokkos_ENABLE_DEBUG + * Whether to activate extra debug features - may increase compile times + * BOOL Default: OFF +* Kokkos_ENABLE_DEBUG_BOUNDS_CHECK + * Whether to use bounds checking - will increase runtime + * BOOL Default: OFF +* Kokkos_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK + * Debug check on dual views + * BOOL Default: OFF +* Kokkos_ENABLE_DEPRECATED_CODE + * Whether to enable deprecated code + * BOOL Default: OFF +* Kokkos_ENABLE_EXAMPLES + * Whether to enable building examples + * BOOL Default: OFF +* Kokkos_ENABLE_HPX_ASYNC_DISPATCH + * Whether HPX supports asynchronous dispatch + * BOOL Default: OFF +* Kokkos_ENABLE_LARGE_MEM_TESTS + * Whether to perform extra large memory tests + * BOOL_Default: OFF +* Kokkos_ENABLE_PROFILING + * Whether to create bindings for profiling tools + * BOOL Default: ON +* Kokkos_ENABLE_PROFILING_LOAD_PRINT + * Whether to print information about which profiling tools gotloaded + * BOOL Default: OFF +* Kokkos_ENABLE_TESTS + * Whether to build serial backend + * BOOL Default: OFF + +## Other Options +* Kokkos_CXX_STANDARD + * The C++ standard for Kokkos to use: c++11, c++14, c++17, or c++20. This should be given in CMake style as 11, 14, 17, or 20. + * STRING Default: 11 + +## Third-party Libraries (TPLs) +The following options control enabling TPLs: +* Kokkos_ENABLE_HPX + * Whether to enable the HPX library + * BOOL Default: OFF +* Kokkos_ENABLE_HWLOC + * Whether to enable the HWLOC library + * BOOL Default: Off +* Kokkos_ENABLE_LIBNUMA + * Whether to enable the LIBNUMA library + * BOOL Default: Off +* Kokkos_ENABLE_MEMKIND + * Whether to enable the MEMKIND library + * BOOL Default: Off +* Kokkos_ENABLE_LIBDL + * Whether to enable the LIBDL library + * BOOL Default: On +* Kokkos_ENABLE_LIBRT + * Whether to enable the LIBRT library + * BOOL Default: Off + +The following options control finding and configuring non-CMake TPLs: +* Kokkos_CUDA_DIR or CUDA_ROOT + * Location of CUDA install prefix for libraries + * PATH Default: +* Kokkos_HWLOC_DIR or HWLOC_ROOT + * Location of HWLOC install prefix + * PATH Default: +* Kokkos_LIBNUMA_DIR or LIBNUMA_ROOT + * Location of LIBNUMA install prefix + * PATH Default: +* Kokkos_MEMKIND_DIR or MEMKIND_ROOT + * Location of MEMKIND install prefix + * PATH Default: +* Kokkos_LIBDL_DIR or LIBDL_ROOT + * Location of LIBDL install prefix + * PATH Default: +* Kokkos_LIBRT_DIR or LIBRT_ROOT + * Location of LIBRT install prefix + * PATH Default: + +The following options control `find_package` paths for CMake-based TPLs: +* HPX_DIR or HPX_ROOT + * Location of HPX prefix (ROOT) or CMake config file (DIR) + * PATH Default: + +## Architecture Keywords +Architecture-specific optimizations can be enabled by specifying `-DKokkos_ARCH_X`. + +* Kokkos_ARCH_AMDAVX + * Whether to optimize for the AMDAVX architecture + * BOOL Default: OFF +* Kokkos_ARCH_ARMV80 + * Whether to optimize for the ARMV80 architecture + * BOOL Default: OFF +* Kokkos_ARCH_ARMV81 + * Whether to optimize for the ARMV81 architecture + * BOOL Default: OFF +* Kokkos_ARCH_ARMV8_THUNDERX + * Whether to optimize for the ARMV8_THUNDERX architecture + * BOOL Default: OFF +* Kokkos_ARCH_ARMV8_TX2 + * Whether to optimize for the ARMV8_TX2 architecture + * BOOL Default: OFF +* Kokkos_ARCH_BDW + * Whether to optimize for the BDW architecture + * BOOL Default: OFF +* Kokkos_ARCH_BGQ + * Whether to optimize for the BGQ architecture + * BOOL Default: OFF +* Kokkos_ARCH_EPYC + * Whether to optimize for the EPYC architecture + * BOOL Default: OFF +* Kokkos_ARCH_HSW + * Whether to optimize for the HSW architecture + * BOOL Default: OFF +* Kokkos_ARCH_KEPLER30 + * Whether to optimize for the KEPLER30 architecture + * BOOL Default: OFF +* Kokkos_ARCH_KEPLER32 + * Whether to optimize for the KEPLER32 architecture + * BOOL Default: OFF +* Kokkos_ARCH_KEPLER35 + * Whether to optimize for the KEPLER35 architecture + * BOOL Default: OFF +* Kokkos_ARCH_KEPLER37 + * Whether to optimize for the KEPLER37 architecture + * BOOL Default: OFF +* Kokkos_ARCH_KNC + * Whether to optimize for the KNC architecture + * BOOL Default: OFF +* Kokkos_ARCH_KNL + * Whether to optimize for the KNL architecture + * BOOL Default: OFF +* Kokkos_ARCH_MAXWELL50 + * Whether to optimize for the MAXWELL50 architecture + * BOOL Default: OFF +* Kokkos_ARCH_MAXWELL52 + * Whether to optimize for the MAXWELL52 architecture + * BOOL Default: OFF +* Kokkos_ARCH_MAXWELL53 + * Whether to optimize for the MAXWELL53 architecture + * BOOL Default: OFF +* Kokkos_ARCH_PASCAL60 + * Whether to optimize for the PASCAL60 architecture + * BOOL Default: OFF +* Kokkos_ARCH_PASCAL61 + * Whether to optimize for the PASCAL61 architecture + * BOOL Default: OFF +* Kokkos_ARCH_POWER7 + * Whether to optimize for the POWER7 architecture + * BOOL Default: OFF +* Kokkos_ARCH_POWER8 + * Whether to optimize for the POWER8 architecture + * BOOL Default: OFF +* Kokkos_ARCH_POWER9 + * Whether to optimize for the POWER9 architecture + * BOOL Default: OFF +* Kokkos_ARCH_SKX + * Whether to optimize for the SKX architecture + * BOOL Default: OFF +* Kokkos_ARCH_SNB + * Whether to optimize for the SNB architecture + * BOOL Default: OFF +* Kokkos_ARCH_TURING75 + * Whether to optimize for the TURING75 architecture + * BOOL Default: OFF +* Kokkos_ARCH_VOLTA70 + * Whether to optimize for the VOLTA70 architecture + * BOOL Default: OFF +* Kokkos_ARCH_VOLTA72 + * Whether to optimize for the VOLTA72 architecture + * BOOL Default: OFF +* Kokkos_ARCH_WSM + * Whether to optimize for the WSM architecture + * BOOL Default: OFF + +##### [LICENSE](https://github.com/kokkos/kokkos/blob/devel/LICENSE) + +[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) + +Under the terms of Contract DE-NA0003525 with NTESS, +the U.S. Government retains certain rights in this software. diff --git a/lib/kokkos/CHANGELOG.md b/lib/kokkos/CHANGELOG.md index 8d196e2c35abf8c6a8109a3a2f84cc781de67925..149e63ca91c8b9b23afb3e78079c23c0dea5eb38 100644 --- a/lib/kokkos/CHANGELOG.md +++ b/lib/kokkos/CHANGELOG.md @@ -1,5 +1,99 @@ # Change Log +## [3.1.00](https://github.com/kokkos/kokkos/tree/3.1.00) (2020-04-14) +[Full Changelog](https://github.com/kokkos/kokkos/compare/3.0.00...3.1.00) + +**Features:** + +- HIP Support for AMD +- OpenMPTarget Support with clang +- Windows VS19 (Serial) Support [\#1533](https://github.com/kokkos/kokkos/issues/1533) + +**Implemented enhancements:** + +- generate\_makefile.bash should allow tests to be disabled [\#2886](https://github.com/kokkos/kokkos/issues/2886) +- clang/7+cuda/9 build -Werror-unused parameter error in nightly test [\#2884](https://github.com/kokkos/kokkos/issues/2884) +- ScatterView memory space is not user settable [\#2826](https://github.com/kokkos/kokkos/issues/2826) +- clang/8+cuda/10.0 build error with c++17 [\#2809](https://github.com/kokkos/kokkos/issues/2809) +- warnings.... [\#2805](https://github.com/kokkos/kokkos/issues/2805) +- Kokkos version in cpp define [\#2787](https://github.com/kokkos/kokkos/issues/2787) +- Remove Defunct QThreads Backend [\#2751](https://github.com/kokkos/kokkos/issues/2751) +- Improve Kokkos::fence behavior with multiple execution spaces [\#2659](https://github.com/kokkos/kokkos/issues/2659) +- polylithic\(?\) initialization of Kokkos [\#2658](https://github.com/kokkos/kokkos/issues/2658) +- Unnecessary\(?\) check for host execution space initialization from Cuda initialization [\#2652](https://github.com/kokkos/kokkos/issues/2652) +- Kokkos error reporting failures with CUDA GPUs in exclusive mode [\#2471](https://github.com/kokkos/kokkos/issues/2471) +- atomicMax equivalent \(and other atomics\) [\#2401](https://github.com/kokkos/kokkos/issues/2401) +- Fix alignment for Kokkos::complex [\#2255](https://github.com/kokkos/kokkos/issues/2255) +- Warnings with Cuda 10.1 [\#2206](https://github.com/kokkos/kokkos/issues/2206) +- dual view with Kokkos::ViewAllocateWithoutInitializing [\#2188](https://github.com/kokkos/kokkos/issues/2188) +- Check error code from cudaOccupancyMaxActiveBlocksPerMultiprocessor [\#2172](https://github.com/kokkos/kokkos/issues/2172) +- Add non-member Kokkos::resize/realloc for DualView [\#2170](https://github.com/kokkos/kokkos/issues/2170) +- Construct DualView without initialization [\#2046](https://github.com/kokkos/kokkos/issues/2046) +- Expose is\_assignable to determine if one view can be assigned to another [\#1936](https://github.com/kokkos/kokkos/issues/1936) +- profiling label [\#1935](https://github.com/kokkos/kokkos/issues/1935) +- team\_broadcast of bool failed on CUDA backend [\#1908](https://github.com/kokkos/kokkos/issues/1908) +- View static\_extent [\#660](https://github.com/kokkos/kokkos/issues/660) +- Misleading Kokkos::Cuda::initialize ERROR message when compiled for wrong GPU architecture [\#1944](https://github.com/kokkos/kokkos/issues/1944) +- Cryptic Error When Malloc Fails [\#2164](https://github.com/kokkos/kokkos/issues/2164) +- Drop support for intermediate standards in CMake [\#2336](https://github.com/kokkos/kokkos/issues/2336) + +**Fixed bugs:** + +- DualView sync\_device with length zero creates cuda errors [\#2946](https://github.com/kokkos/kokkos/issues/2946) +- building with nvcc and clang \(or clang based XL\) as host compiler: "Kokkos::atomic\_fetch\_min\(volatile int \*, int\)" has already been defined [\#2903](https://github.com/kokkos/kokkos/issues/2903) +- Cuda 9.1,10.1 debug builds failing due to -Werror=unused-parameter [\#2880](https://github.com/kokkos/kokkos/issues/2880) +- clang -Werror: Kokkos\_FixedBufferMemoryPool.hpp:140:28: error: unused parameter 'alloc\_size' [\#2869](https://github.com/kokkos/kokkos/issues/2869) +- intel/16.0.1, intel/17.0.1 nightly build failures with debugging enabled [\#2867](https://github.com/kokkos/kokkos/issues/2867) +- intel/16.0.1 debug build errors [\#2863](https://github.com/kokkos/kokkos/issues/2863) +- xl/16.1.1 with cpp14, openmp build, nightly test failures [\#2856](https://github.com/kokkos/kokkos/issues/2856) +- Intel nightly test failures: team\_vector [\#2852](https://github.com/kokkos/kokkos/issues/2852) +- Kokkos Views with intmax/2\\> for complex\ uses std::ostream, not std::istream [\#2313](https://github.com/kokkos/kokkos/issues/2313) +- Macros: Restrict not honored for non-intel compilers [\#1922](https://github.com/kokkos/kokkos/issues/1922) + + ## [2.9.00](https://github.com/kokkos/kokkos/tree/2.9.00) (2019-06-24) [Full Changelog](https://github.com/kokkos/kokkos/compare/2.8.00...2.9.00) @@ -174,7 +268,7 @@ ## [2.6.00](https://github.com/kokkos/kokkos/tree/2.6.00) (2018-03-07) [Full Changelog](https://github.com/kokkos/kokkos/compare/2.5.00...2.6.00) -**Part of the Kokkos C++ Performance Portability Programming EcoSystem 2.6** +**Part of the Kokkos C++ Performance Portability Programming EcoSystem 2.6** **Implemented enhancements:** @@ -218,7 +312,7 @@ ## [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** +**Part of the Kokkos C++ Performance Portability Programming EcoSystem 2.5** **Implemented enhancements:** diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index 236f523aec21e30e731937c7d5118ec3d2e2a007..db88879039603880fc76bce8e0d195fc60f675c8 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -1,128 +1,237 @@ -# Is this a build as part of Trilinos? +# We want to determine if options are given with the wrong case +# In order to detect which arguments are given to compare against +# the list of valid arguments, at the beginning here we need to +# form a list of all the given variables. If it begins with any +# case of KoKkOS, we add it to the list. + + +GET_CMAKE_PROPERTY(_variableNames VARIABLES) +SET(KOKKOS_GIVEN_VARIABLES) +FOREACH (var ${_variableNames}) + STRING(TOUPPER ${var} UC_VAR) + STRING(FIND ${UC_VAR} KOKKOS IDX) + IF (${IDX} EQUAL 0) + LIST(APPEND KOKKOS_GIVEN_VARIABLES ${var}) + ENDIF() +ENDFOREACH() + +# Basic initialization (Used in KOKKOS_SETTINGS) +SET(Kokkos_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) +SET(KOKKOS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) +SET(KOKKOS_SRC_PATH ${Kokkos_SOURCE_DIR}) +SET(KOKKOS_PATH ${Kokkos_SOURCE_DIR}) +SET(KOKKOS_TOP_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}) + +# Needed to simplify syntax of if statements +CMAKE_POLICY(SET CMP0054 NEW) +# Needed to make IN_LIST a valid operator +CMAKE_POLICY(SET CMP0057 NEW) + +# Is this a build as part of Trilinos? IF(COMMAND TRIBITS_PACKAGE_DECL) - SET(KOKKOS_HAS_TRILINOS ON CACHE BOOL "") + SET(KOKKOS_HAS_TRILINOS ON) ELSE() - SET(KOKKOS_HAS_TRILINOS OFF CACHE BOOL "") + SET(KOKKOS_HAS_TRILINOS OFF) ENDIF() -IF(NOT KOKKOS_HAS_TRILINOS) - cmake_minimum_required(VERSION 3.3 FATAL_ERROR) +INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_functions.cmake) +INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_pick_cxx_std.cmake) + +SET(KOKKOS_ENABLED_OPTIONS) #exported in config file +SET(KOKKOS_ENABLED_DEVICES) #exported in config file +SET(KOKKOS_ENABLED_TPLS) #exported in config file +SET(KOKKOS_ENABLED_ARCH_LIST) #exported in config file + +#These are helper flags used for sanity checks during config +#Certain features should depend on other features being configured first +SET(KOKKOS_CFG_DAG_NONE On) #sentinel to indicate no dependencies +SET(KOKKOS_CFG_DAG_DEVICES_DONE Off) +SET(KOKKOS_CFG_DAG_OPTIONS_DONE Off) +SET(KOKKOS_CFG_DAG_ARCH_DONE Off) +SET(KOKKOS_CFG_DAG_CXX_STD_DONE Off) +SET(KOKKOS_CFG_DAG_COMPILER_ID_DONE Off) +FUNCTION(KOKKOS_CFG_DEPENDS SUCCESSOR PRECURSOR) + SET(PRE_FLAG KOKKOS_CFG_DAG_${PRECURSOR}) + SET(POST_FLAG KOKKOS_CFG_DAG_${SUCCESSOR}) + IF (NOT ${PRE_FLAG}) + MESSAGE(FATAL_ERROR "Bad CMake refactor: feature ${SUCCESSOR} cannot be configured until ${PRECURSOR} is configured") + ENDIF() + GLOBAL_SET(${POST_FLAG} On) +ENDFUNCTION() - # Define Project Name if this is a standalone build + +LIST(APPEND CMAKE_MODULE_PATH cmake/Modules) + +IF(NOT KOKKOS_HAS_TRILINOS) + cmake_minimum_required(VERSION 3.10 FATAL_ERROR) + set(CMAKE_DISABLE_SOURCE_CHANGES ON) + set(CMAKE_DISABLE_IN_SOURCE_BUILD ON) + IF (Spack_WORKAROUND) + #if we are explicitly using Spack for development, + #nuke the Spack compiler + SET(SPACK_CXX $ENV{SPACK_CXX}) + IF(SPACK_CXX) + SET(CMAKE_CXX_COMPILER ${SPACK_CXX} CACHE STRING "the C++ compiler" FORCE) + SET(ENV{CXX} ${SPACK_CXX}) + ENDIF() + ENDif() IF(NOT DEFINED ${PROJECT_NAME}) - project(Kokkos CXX) + # WORKAROUND FOR HIPCC + IF(Kokkos_ENABLE_HIP) + SET(KOKKOS_INTERNAL_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --amdgpu-target=gfx906") + ENDIF() + PROJECT(Kokkos CXX) + IF(Kokkos_ENABLE_HIP) + SET(CMAKE_CXX_FLAGS ${KOKKOS_INTERNAL_CMAKE_CXX_FLAGS}) + ENDIF() ENDIF() +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} PREFIX=${CMAKE_INSTALL_PREFIX} generate_build_settings - WORKING_DIRECTORY "${Kokkos_BINARY_DIR}" - OUTPUT_FILE ${Kokkos_BINARY_DIR}/core_src_make.out - RESULT_VARIABLE GEN_SETTINGS_RESULT - ) - if (GEN_SETTINGS_RESULT) - message(FATAL_ERROR "Kokkos settings generation failed:\n" - "${KOKKOS_SETTINGS} make -f ${KOKKOS_SRC_PATH}/cmake/Makefile.generate_cmake_settings CXX=${CMAKE_CXX_COMPILER} generate_build_settings") - endif() - include(${Kokkos_BINARY_DIR}/kokkos_generated_settings.cmake) - install(FILES ${Kokkos_BINARY_DIR}/kokkos_generated_settings.cmake DESTINATION lib/cmake/Kokkos) - install(FILES ${Kokkos_BINARY_DIR}/kokkos_generated_settings.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}) - string(REPLACE " " ";" KOKKOS_TPL_INCLUDE_DIRS "${KOKKOS_GMAKE_TPL_INCLUDE_DIRS}") - string(REPLACE " " ";" KOKKOS_TPL_LIBRARY_DIRS "${KOKKOS_GMAKE_TPL_LIBRARY_DIRS}") - string(REPLACE " " ";" KOKKOS_TPL_LIBRARY_NAMES "${KOKKOS_GMAKE_TPL_LIBRARY_NAMES}") - list(REMOVE_ITEM KOKKOS_TPL_INCLUDE_DIRS "") - list(REMOVE_ITEM KOKKOS_TPL_LIBRARY_DIRS "") - list(REMOVE_ITEM KOKKOS_TPL_LIBRARY_NAMES "") - 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) +IF (NOT CMAKE_SIZEOF_VOID_P) + STRING(FIND ${CMAKE_CXX_COMPILER} nvcc_wrapper FIND_IDX) + IF (NOT FIND_IDX STREQUAL -1) + MESSAGE(FATAL_ERROR "Kokkos did not configure correctly and failed to validate compiler. The most likely cause is CUDA linkage using nvcc_wrapper. Please ensure your CUDA environment is correctly configured.") + ELSE() + MESSAGE(FATAL_ERROR "Kokkos did not configure correctly and failed to validate compiler. The most likely cause is linkage errors during CMake compiler validation. Please consult the CMake error log shown below for the exact error during compiler validation") + ENDIF() +ELSEIF (NOT CMAKE_SIZEOF_VOID_P EQUAL 8) + MESSAGE(FATAL_ERROR "Kokkos assumes a 64-bit build; i.e., 8-byte pointers, but found ${CMAKE_SIZEOF_VOID_P}-byte pointers instead") +ENDIF() -ELSE() -#------------------------------------------------------------------------------ -# -# A) Forward declare the package so that certain options are also defined for -# subpackages -# -TRIBITS_PACKAGE_DECL(Kokkos) # ENABLE_SHADOWING_WARNINGS) +set(Kokkos_VERSION_MAJOR 3) +set(Kokkos_VERSION_MINOR 1) +set(Kokkos_VERSION_PATCH 0) +set(Kokkos_VERSION "${Kokkos_VERSION_MAJOR}.${Kokkos_VERSION_MINOR}.${Kokkos_VERSION_PATCH}") +math(EXPR KOKKOS_VERSION "${Kokkos_VERSION_MAJOR} * 10000 + ${Kokkos_VERSION_MINOR} * 100 + ${Kokkos_VERSION_PATCH}") +IF(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.12.0") + MESSAGE(STATUS "Setting policy CMP0074 to use _ROOT variables") + CMAKE_POLICY(SET CMP0074 NEW) +ENDIF() + +# Load either the real TriBITS or a TriBITS wrapper +# for certain utility functions that are universal (like GLOBAL_SET) +INCLUDE(${KOKKOS_SRC_PATH}/cmake/fake_tribits.cmake) + +IF (Kokkos_ENABLE_CUDA AND ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14.0") + #If we are building CUDA, we have tricked CMake because we declare a CXX project + #If the default C++ standard for a given compiler matches the requested + #standard, then CMake just omits the -std flag in later versions of CMake + #This breaks CUDA compilation (CUDA compiler can have a different default + #-std then the underlying host compiler by itself). Setting this variable + #forces CMake to always add the -std flag even if it thinks it doesn't need it + GLOBAL_SET(CMAKE_CXX_STANDARD_DEFAULT 98) +ENDIF() + +# These are the variables we will append to as we go +# I really wish these were regular variables +# but scoping issues can make it difficult +GLOBAL_SET(KOKKOS_COMPILE_OPTIONS) +GLOBAL_SET(KOKKOS_LINK_OPTIONS) +GLOBAL_SET(KOKKOS_CUDA_OPTIONS) +GLOBAL_SET(KOKKOS_CUDAFE_OPTIONS) +GLOBAL_SET(KOKKOS_XCOMPILER_OPTIONS) +# We need to append text here for making sure TPLs +# we import are available for an installed Kokkos +GLOBAL_SET(KOKKOS_TPL_EXPORTS) + +# Include a set of Kokkos-specific wrapper functions that +# will either call raw CMake or TriBITS +# These are functions like KOKKOS_INCLUDE_DIRECTORIES +INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_tribits.cmake) + + +# Check the environment and set certain variables +# to allow platform-specific checks +INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_check_env.cmake) +# The build environment setup goes in the following steps +# 1) Check all the enable options. This includes checking Kokkos_DEVICES +# 2) Check the compiler ID (type and version) +# 3) Check the CXX standard and select important CXX flags +# 4) Check for any third-party libraries (TPLs) like hwloc +# 5) Check if optimizing for a particular architecture and add arch-specific flags +KOKKOS_SETUP_BUILD_ENVIRONMENT() + +# Finish off the build +# 6) Recurse into subdirectories and configure individual libraries +# 7) Export and install targets + +OPTION(BUILD_SHARED_LIBS "Build shared libraries" OFF) +# Workaround for building position independent code. +IF(BUILD_SHARED_LIBS) + SET(CMAKE_POSITION_INDEPENDENT_CODE ON) +ENDIF() + +SET(KOKKOS_EXT_LIBRARIES Kokkos::kokkos Kokkos::kokkoscore Kokkos::kokkoscontainers Kokkos::kokkosalgorithms) +SET(KOKKOS_INT_LIBRARIES kokkos kokkoscore kokkoscontainers kokkosalgorithms) +SET_PROPERTY(GLOBAL PROPERTY KOKKOS_INT_LIBRARIES ${KOKKOS_INT_LIBRARIES}) + +GET_DIRECTORY_PROPERTY(HAS_PARENT PARENT_DIRECTORY) +IF (KOKKOS_HAS_TRILINOS) + SET(TRILINOS_INCDIR ${CMAKE_INSTALL_PREFIX}/${${PROJECT_NAME}_INSTALL_INCLUDE_DIR}) + SET(KOKKOS_HEADER_DIR ${TRILINOS_INCDIR}) + SET(KOKKOS_IS_SUBDIRECTORY TRUE) +ELSEIF(HAS_PARENT) + SET(KOKKOS_HEADER_DIR "include/kokkos") + SET(KOKKOS_IS_SUBDIRECTORY TRUE) +ELSE() + SET(KOKKOS_HEADER_DIR "${CMAKE_INSTALL_INCLUDEDIR}") + SET(KOKKOS_IS_SUBDIRECTORY FALSE) +ENDIF() -#------------------------------------------------------------------------------ -# -# 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 - -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) - - 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 () #------------------------------------------------------------------------------ # -# C) Install Kokkos' executable scripts -# +# A) Forward declare the package so that certain options are also defined for +# subpackages -# nvcc_wrapper is Kokkos' wrapper for NVIDIA's NVCC CUDA compiler. -# Kokkos needs nvcc_wrapper in order to build. Other libraries and -# executables also need nvcc_wrapper. Thus, we need to install it. -# If the argument of DESTINATION is a relative path, CMake computes it -# as relative to ${CMAKE_INSTALL_PATH}. +## This restores the old behavior of ProjectCompilerPostConfig.cmake +# It sets the CMAKE_CXX_FLAGS globally to those used by Kokkos +# We must do this before KOKKOS_PACKAGE_DECL +IF (KOKKOS_HAS_TRILINOS) + # Overwrite the old flags at the top-level + # Because Tribits doesn't use lists, it uses spaces for the list of CXX flags + # we have to match the annoying behavior + STRING(REPLACE ";" " " KOKKOSCORE_COMPILE_OPTIONS "${KOKKOS_COMPILE_OPTIONS}") + LIST(APPEND KOKKOS_ALL_COMPILE_OPTIONS ${KOKKOS_COMPILE_OPTIONS}) + LIST(APPEND KOKKOS_ALL_COMPILE_OPTIONS ${KOKKOS_CUDA_OPTIONS}) + FOREACH(XCOMP_FLAG ${KOKKOS_XCOMPILER_OPTIONS}) + SET(KOKKOSCORE_XCOMPILER_OPTIONS "${KOKKOSCORE_XCOMPILER_OPTIONS} -Xcompiler ${XCOMP_FLAG}") + LIST(APPEND KOKKOS_ALL_COMPILE_OPTIONS -Xcompiler ${XCOMP_FLAG}) + ENDFOREACH() + SET(KOKKOSCORE_CXX_FLAGS "${KOKKOSCORE_COMPILE_OPTIONS} ${CMAKE_CXX${KOKKOS_CXX_STANDARD}_STANDARD_COMPILE_OPTION} ${KOKKOSCORE_XCOMPILER_OPTIONS}") + IF (KOKKOS_ENABLE_CUDA) + STRING(REPLACE ";" " " KOKKOSCORE_CUDA_OPTIONS "${KOKKOS_CUDA_OPTIONS}") + FOREACH(CUDAFE_FLAG ${KOKKOS_CUDAFE_OPTIONS}) + SET(KOKKOSCORE_CUDAFE_OPTIONS "${KOKKOSCORE_CUDAFE_OPTIONS} -Xcudafe ${CUDAFE_FLAG}") + LIST(APPEND KOKKOS_ALL_COMPILE_OPTIONS -Xcudafe ${CUDAFE_FLAG}) + ENDFOREACH() + SET(KOKKOSCORE_CXX_FLAGS "${KOKKOSCORE_CXX_FLAGS} ${KOKKOSCORE_CUDA_OPTIONS} ${KOKKOSCORE_CUDAFE_OPTIONS}") + ENDIF() + # Both parent scope and this package + # In ProjectCompilerPostConfig.cmake, we capture the "global" flags Trilinos wants in + # TRILINOS_TOPLEVEL_CXX_FLAGS + SET(CMAKE_CXX_FLAGS "${TRILINOS_TOPLEVEL_CXX_FLAGS} ${KOKKOSCORE_CXX_FLAGS}" PARENT_SCOPE) + SET(CMAKE_CXX_FLAGS "${TRILINOS_TOPLEVEL_CXX_FLAGS} ${KOKKOSCORE_CXX_FLAGS}") + #CMAKE_CXX_FLAGS will get added to Kokkos and Kokkos dependencies automatically here + #These flags get set up in KOKKOS_PACKAGE_DECL, which means they + #must be configured before KOKKOS_PACKAGE_DECL + SET(KOKKOS_ALL_COMPILE_OPTIONS + $<$:${KOKKOS_ALL_COMPILE_OPTIONS}>) +ENDIF() -INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bin/nvcc_wrapper DESTINATION bin) +KOKKOS_PACKAGE_DECL() #------------------------------------------------------------------------------ # -# D) Process the subpackages for Kokkos +# D) Process the subpackages (subdirectories) for Kokkos # - -TRIBITS_PROCESS_SUBPACKAGES() +KOKKOS_PROCESS_SUBPACKAGES() #------------------------------------------------------------------------------ @@ -130,10 +239,39 @@ TRIBITS_PROCESS_SUBPACKAGES() # E) If Kokkos itself is enabled, process the Kokkos package # -TRIBITS_PACKAGE_DEF() +KOKKOS_PACKAGE_DEF() +KOKKOS_EXCLUDE_AUTOTOOLS_FILES() +KOKKOS_PACKAGE_POSTPROCESS() -TRIBITS_EXCLUDE_AUTOTOOLS_FILES() +#We are ready to configure the header +CONFIGURE_FILE(cmake/KokkosCore_config.h.in KokkosCore_config.h @ONLY) -TRIBITS_PACKAGE_POSTPROCESS() +IF (NOT KOKKOS_HAS_TRILINOS) + ADD_LIBRARY(kokkos INTERFACE) + #Make sure in-tree projects can reference this as Kokkos:: + #to match the installed target names + ADD_LIBRARY(Kokkos::kokkos ALIAS kokkos) + TARGET_LINK_LIBRARIES(kokkos INTERFACE kokkoscore kokkoscontainers kokkosalgorithms) + KOKKOS_INTERNAL_ADD_LIBRARY_INSTALL(kokkos) +ENDIF() +INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_install.cmake) +# nvcc_wrapper is Kokkos' wrapper for NVIDIA's NVCC CUDA compiler. +# Kokkos needs nvcc_wrapper in order to build. Other libraries and +# executables also need nvcc_wrapper. Thus, we need to install it. +# If the argument of DESTINATION is a relative path, CMake computes it +# as relative to ${CMAKE_INSTALL_PATH}. +INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/bin/nvcc_wrapper DESTINATION ${CMAKE_INSTALL_BINDIR}) +INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_config.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + +# Finally - if we are a subproject - make sure the enabled devices are visible +IF (HAS_PARENT) + FOREACH(DEV Kokkos_ENABLED_DEVICES) + #I would much rather not make these cache variables or global properties, but I can't + #make any guarantees on whether PARENT_SCOPE is good enough to make + #these variables visible where I need them + SET(Kokkos_ENABLE_${DEV} ON PARENT_SCOPE) + SET_PROPERTY(GLOBAL PROPERTY Kokkos_ENABLE_${DEV} ON) + ENDFOREACH() ENDIF() diff --git a/lib/kokkos/CONTRIBUTING.md b/lib/kokkos/CONTRIBUTING.md new file mode 100644 index 0000000000000000000000000000000000000000..b4f3057cef2cb707b55b3ae3331000ff4e55c0e1 --- /dev/null +++ b/lib/kokkos/CONTRIBUTING.md @@ -0,0 +1,14 @@ +# Contributing to Kokkos + +## Pull Requests +We actively welcome pull requests. +1. Fork the repo and create your branch from `develop`. +2. If you've added code that should be tested, add tests. +3. If you've changed APIs, update the documentation. +4. Ensure the test suite passes. + +## Issues +We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue. + +## License +By contributing to Kokkos, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree. diff --git a/lib/kokkos/Copyright.txt b/lib/kokkos/Copyright.txt index 50b76995af47381395ba4b9d0ad72ac7f57e4655..5e2f8d8647b53b8def2e240c92fdbad04b1550ec 100644 --- a/lib/kokkos/Copyright.txt +++ b/lib/kokkos/Copyright.txt @@ -1,12 +1,13 @@ //@HEADER // ************************************************************************ -// -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation -// -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. -// +// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -22,10 +23,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -35,6 +36,6 @@ // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// +// // ************************************************************************ //@HEADER diff --git a/lib/kokkos/LICENSE b/lib/kokkos/LICENSE index c68a8a2a9f98983e6bb7e02aaae0ce705a241ffc..c6f17087d5a1b160a5fddeaab39ed9380328b485 100644 --- a/lib/kokkos/LICENSE +++ b/lib/kokkos/LICENSE @@ -1,10 +1,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Kokkos is licensed under 3-clause BSD terms of use: @@ -24,10 +25,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR diff --git a/lib/kokkos/Makefile.kokkos b/lib/kokkos/Makefile.kokkos index e9ad57f0aebc71bea0f17a73b7b8c675e725fe6b..e1fdd0620e49b8dad0b6db6500509ef0aeb1ce90 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -6,15 +6,20 @@ ifndef KOKKOS_PATH endif CXXFLAGS=$(CCFLAGS) -# Options: Cuda,ROCm,OpenMP,Pthreads,Qthreads,Serial +KOKKOS_VERSION_MAJOR = 3 +KOKKOS_VERSION_MINOR = 1 +KOKKOS_VERSION_PATCH = 0 +KOKKOS_VERSION = $(shell echo $(KOKKOS_VERSION_MAJOR)*10000+$(KOKKOS_VERSION_MINOR)*100+$(KOKKOS_VERSION_PATCH) | bc) + +# Options: Cuda,HIP,ROCm,OpenMP,Pthread,Serial KOKKOS_DEVICES ?= "OpenMP" -#KOKKOS_DEVICES ?= "Pthreads" +#KOKKOS_DEVICES ?= "Pthread" # Options: # Intel: KNC,KNL,SNB,HSW,BDW,SKX # NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72,Turing75 # ARM: ARMv80,ARMv81,ARMv8-ThunderX,ARMv8-TX2 # IBM: BGQ,Power7,Power8,Power9 -# AMD-GPUS: Kaveri,Carrizo,Fiji,Vega +# AMD-GPUS: Vega900,Vega906 # AMD-CPUS: AMDAVX,Ryzen,EPYC KOKKOS_ARCH ?= "" # Options: yes,no @@ -23,16 +28,21 @@ KOKKOS_DEBUG ?= "no" KOKKOS_USE_TPLS ?= "" # Options: c++11,c++14,c++1y,c++17,c++1z,c++2a KOKKOS_CXX_STANDARD ?= "c++11" -# Options: aggressive_vectorization,disable_profiling,enable_deprecated_code,disable_deprecated_code,enable_large_mem_tests +# Options: aggressive_vectorization,disable_profiling,enable_deprecated_code,disable_deprecated_code,enable_large_mem_tests,disable_complex_align KOKKOS_OPTIONS ?= "" # Option for setting ETI path KOKKOS_ETI_PATH ?= ${KOKKOS_PATH}/core/src/eti KOKKOS_CMAKE ?= "no" +KOKKOS_TRIBITS ?= "no" +KOKKOS_STANDALONE_CMAKE ?= "no" # Default settings specific options. -# Options: force_uvm,use_ldg,rdc,enable_lambda +# Options: force_uvm,use_ldg,rdc,enable_lambda,enable_constexpr KOKKOS_CUDA_OPTIONS ?= "enable_lambda" +# Options: rdc +KOKKOS_HIP_OPTIONS ?= "" + # Default settings specific options. # Options: enable_async_dispatch KOKKOS_HPX_OPTIONS ?= "" @@ -47,7 +57,8 @@ kokkos_has_string=$(if $(findstring $2,$1),1,0) # Will return a 1 if /path/to/file exists kokkos_path_exists=$(if $(wildcard $1),1,0) -# Check for general settings. +# Check for general settings + 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_CXX14 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++14) @@ -67,6 +78,7 @@ KOKKOS_INTERNAL_OPT_RANGE_AGGRESSIVE_VECTORIZATION := $(call kokkos_has_string,$ KOKKOS_INTERNAL_DISABLE_PROFILING := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_profiling) KOKKOS_INTERNAL_DISABLE_DEPRECATED_CODE := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_deprecated_code) KOKKOS_INTERNAL_ENABLE_DEPRECATED_CODE := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_deprecated_code) +KOKKOS_INTERNAL_DISABLE_COMPLEX_ALIGN := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_complex_align) 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_ENABLE_LARGE_MEM_TESTS := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_large_mem_tests) @@ -74,32 +86,54 @@ KOKKOS_INTERNAL_CUDA_USE_LDG := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS), 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) +KOKKOS_INTERNAL_CUDA_USE_CONSTEXPR := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),enable_constexpr) KOKKOS_INTERNAL_HPX_ENABLE_ASYNC_DISPATCH := $(call kokkos_has_string,$(KOKKOS_HPX_OPTIONS),enable_async_dispatch) KOKKOS_INTERNAL_ENABLE_ETI := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_eti) +KOKKOS_INTERNAL_HIP_USE_RELOC := $(call kokkos_has_string,$(KOKKOS_HIP_OPTIONS),rdc) # Check for Kokkos Host Execution Spaces one of which must be on. 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_HPX := $(call kokkos_has_string,$(KOKKOS_DEVICES),HPX) KOKKOS_INTERNAL_USE_SERIAL := $(call kokkos_has_string,$(KOKKOS_DEVICES),Serial) ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 0) ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 0) - ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 0) - ifeq ($(KOKKOS_INTERNAL_USE_HPX), 0) - KOKKOS_INTERNAL_USE_SERIAL := 1 - endif + ifeq ($(KOKKOS_INTERNAL_USE_HPX), 0) + KOKKOS_INTERNAL_USE_SERIAL := 1 endif endif endif # Check for other Execution Spaces. 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_HIP := $(call kokkos_has_string,$(KOKKOS_DEVICES),HIP) KOKKOS_INTERNAL_USE_OPENMPTARGET := $(call kokkos_has_string,$(KOKKOS_DEVICES),OpenMPTarget) +KOKKOS_DEVICELIST = +ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) + KOKKOS_DEVICELIST += Serial +endif +ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) + KOKKOS_DEVICELIST += OpenMP +endif +ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) + KOKKOS_DEVICELIST += Threads +endif +ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) + KOKKOS_DEVICELIST += HPX +endif +ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) + KOKKOS_DEVICELIST += Cuda +endif +ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) + KOKKOS_DEVICELIST += HIP +endif +ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) + KOKKOS_DEVICELIST += OPENMPTARGET +endif + ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) KOKKOS_INTERNAL_NVCC_PATH := $(shell which nvcc) ifeq ($(origin CUDA_PATH), undefined) @@ -123,10 +157,11 @@ KOKKOS_INTERNAL_COMPILER_INTEL := $(call kokkos_has_string,$(KOKKOS_CXX_VE 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 export OMPI_CXX=$(OMPI_CXX); export MPICH_CXX=$(MPICH_CXX); $(CXX) --version 2>&1 | grep nvcc | wc -l)) +KOKKOS_INTERNAL_COMPILER_NVCC := $(strip $(shell echo "$(shell export OMPI_CXX=$(OMPI_CXX); export MPICH_CXX=$(MPICH_CXX); $(CXX) --version 2>&1 | grep nvcc | wc -l)>0" | bc)) 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 LLVM) KOKKOS_INTERNAL_COMPILER_HCC := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),HCC) +KOKKOS_INTERNAL_COMPILER_GCC := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),GCC) # Check Host Compiler if using NVCC through nvcc_wrapper ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) @@ -175,20 +210,20 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS), 1) KOKKOS_INTERNAL_COMPILER_WARNINGS = else ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - KOKKOS_INTERNAL_COMPILER_WARNINGS = -Wall -Wshadow -pedantic -Wsign-compare -Wtype-limits -Wuninitialized + KOKKOS_INTERNAL_COMPILER_WARNINGS = -Wall -Wunused-parameter -Wshadow -pedantic -Wsign-compare -Wtype-limits -Wuninitialized else ifeq ($(KOKKOS_INTERNAL_COMPILER_APPLE_CLANG), 1) - KOKKOS_INTERNAL_COMPILER_WARNINGS = -Wall -Wshadow -pedantic -Wsign-compare -Wtype-limits -Wuninitialized + KOKKOS_INTERNAL_COMPILER_WARNINGS = -Wall -Wunused-parameter -Wshadow -pedantic -Wsign-compare -Wtype-limits -Wuninitialized else ifeq ($(KOKKOS_INTERNAL_COMPILER_XL), 1) - KOKKOS_INTERNAL_COMPILER_WARNINGS = -Wall -Wshadow -pedantic -Wsign-compare -Wtype-limits -Wuninitialized + KOKKOS_INTERNAL_COMPILER_WARNINGS = -Wall -Wunused-parameter -Wshadow -pedantic -Wsign-compare -Wtype-limits -Wuninitialized else ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) # TODO check if cray accepts GNU style warnings KOKKOS_INTERNAL_COMPILER_WARNINGS = else #gcc - KOKKOS_INTERNAL_COMPILER_WARNINGS = -Wall -Wshadow -pedantic -Wsign-compare -Wtype-limits -Wignored-qualifiers -Wempty-body -Wclobbered -Wuninitialized + KOKKOS_INTERNAL_COMPILER_WARNINGS = -Wall -Wunused-parameter -Wshadow -pedantic -Wsign-compare -Wtype-limits -Wignored-qualifiers -Wempty-body -Wclobbered -Wuninitialized endif endif endif @@ -225,7 +260,12 @@ ifeq ($(KOKKOS_INTERNAL_COMPILER_XL), 1) KOKKOS_INTERNAL_OPENMPTARGET_FLAG := -DKOKKOS_IBM_XL_OMP45_WORKAROUND -qsmp=omp -qoffload -qnoeh else ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - KOKKOS_INTERNAL_OPENMPTARGET_FLAG := -DKOKKOS_BUG_WORKAROUND_IBM_CLANG_OMP45_VIEW_INIT -fopenmp-implicit-declare-target -fopenmp-targets=nvptx64-nvidia-cuda -fopenmp -fopenmp=libomp + #KOKKOS_INTERNAL_OPENMPTARGET_FLAG := -DKOKKOS_BUG_WORKAROUND_IBM_CLANG_OMP45_VIEW_INIT -fopenmp-implicit-declare-target -fopenmp-targets=nvptx64-nvidia-cuda -fopenmp -fopenmp=libomp + KOKKOS_INTERNAL_OPENMPTARGET_FLAG := -DKOKKOS_WORKAROUND_OPENMPTARGET_CLANG -fopenmp -fopenmp=libomp + KOKKOS_INTERNAL_OPENMPTARGET_LIB := -lomptarget + else + #Assume GCC + KOKKOS_INTERNAL_OPENMPTARGET_FLAG := -fopenmp -foffload=nvptx-none endif endif @@ -348,11 +388,8 @@ KOKKOS_INTERNAL_USE_ARCH_IBM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_ 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) +KOKKOS_INTERNAL_USE_ARCH_VEGA900 := $(call kokkos_has_string,$(KOKKOS_ARCH),Vega900) +KOKKOS_INTERNAL_USE_ARCH_VEGA906 := $(call kokkos_has_string,$(KOKKOS_ARCH),Vega906) # Any AVX? KOKKOS_INTERNAL_USE_ARCH_SSE42 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_WSM)) @@ -383,10 +420,10 @@ endif # Generating the list of Flags. -#CPPFLAGS is now unused KOKKOS_CPPFLAGS = +KOKKOS_LIBDIRS = ifneq ($(KOKKOS_CMAKE), yes) - KOKKOS_CXXFLAGS = -I./ -I$(KOKKOS_PATH)/core/src -I$(KOKKOS_PATH)/containers/src -I$(KOKKOS_PATH)/algorithms/src -I$(KOKKOS_ETI_PATH) + KOKKOS_CPPFLAGS = -I./ -I$(KOKKOS_PATH)/core/src -I$(KOKKOS_PATH)/containers/src -I$(KOKKOS_PATH)/algorithms/src -I$(KOKKOS_ETI_PATH) endif KOKKOS_TPL_INCLUDE_DIRS = KOKKOS_TPL_LIBRARY_DIRS = @@ -399,7 +436,7 @@ endif KOKKOS_LIBS = -ldl KOKKOS_TPL_LIBRARY_NAMES += dl ifneq ($(KOKKOS_CMAKE), yes) - KOKKOS_LDFLAGS = -L$(shell pwd) + KOKKOS_LIBDIRS = -L$(shell pwd) # CXXLDFLAGS is used together with CXXFLAGS in a combined compile/link command KOKKOS_CXXLDFLAGS = -L$(shell pwd) endif @@ -425,6 +462,10 @@ tmp := $(call kokkos_append_header,'\#error "Do not include $(KOKKOS_CONFIG_HEAD 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,"") +tmp := $(call kokkos_append_header,"\#define KOKKOS_VERSION $(KOKKOS_VERSION)") +tmp := $(call kokkos_append_header,"") tmp := $(call kokkos_append_header,"/* Execution Spaces */") @@ -437,9 +478,15 @@ ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1) tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_ROCM') tmp := $(call kokkos_append_header,'\#define KOKKOS_IMPL_ROCM_CLANG_WORKAROUND 1') endif +ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) + tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_HIP') +endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_OPENMPTARGET') + ifeq ($(KOKKOS_INTERNAL_COMPILER_GCC), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_WORKAROUND_OPENMPTARGET_GCC") + endif endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) @@ -450,10 +497,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_THREADS") endif -ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_QTHREADS") -endif - ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HPX") endif @@ -492,28 +535,38 @@ ifeq ($(KOKKOS_INTERNAL_USE_ISA_POWERPCBE), 1) tmp := $(call kokkos_append_header,"\#endif") endif +#only add the c++ standard flags if this is not CMake tmp := $(call kokkos_append_header,"/* General Settings */") ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX11), 1) +ifneq ($(KOKKOS_STANDALONE_CMAKE), yes) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX11_FLAG) +endif tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX11") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX14), 1) +ifneq ($(KOKKOS_STANDALONE_CMAKE), yes) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX14_FLAG) +endif tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX14") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX1Y), 1) + #I cannot make CMake add this in a good way - so add it here KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX1Y_FLAG) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX14") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX17), 1) +ifneq ($(KOKKOS_STANDALONE_CMAKE), yes) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX17_FLAG) +endif tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX17") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX1Z), 1) + #I cannot make CMake add this in a good way - so add it here KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX1Z_FLAG) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX17") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX2A), 1) + #I cannot make CMake add this in a good way - so add it here KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX2A_FLAG) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX20") endif @@ -531,23 +584,26 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK") endif endif +ifeq ($(KOKKOS_INTERNAL_DISABLE_COMPLEX_ALIGN), 0) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_COMPLEX_ALIGN") +endif ifeq ($(KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT), 1) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_PROFILING_LOAD_PRINT") endif ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1) - ifneq ($(HWLOC_PATH),) - ifneq ($(KOKKOS_CMAKE), yes) - KOKKOS_CXXFLAGS += -I$(HWLOC_PATH)/include + ifneq ($(KOKKOS_CMAKE), yes) + ifneq ($(HWLOC_PATH),) + KOKKOS_CPPFLAGS += -I$(HWLOC_PATH)/include + KOKKOS_LIBDIRS += -L$(HWLOC_PATH)/lib + KOKKOS_CXXLDFLAGS += -L$(HWLOC_PATH)/lib + KOKKOS_TPL_INCLUDE_DIRS += $(HWLOC_PATH)/include + KOKKOS_TPL_LIBRARY_DIRS += $(HWLOC_PATH)/lib endif - KOKKOS_LDFLAGS += -L$(HWLOC_PATH)/lib - KOKKOS_CXXLDFLAGS += -L$(HWLOC_PATH)/lib - KOKKOS_TPL_INCLUDE_DIRS += $(HWLOC_PATH)/include - KOKKOS_TPL_LIBRARY_DIRS += $(HWLOC_PATH)/lib + KOKKOS_LIBS += -lhwloc + KOKKOS_TPL_LIBRARY_NAMES += hwloc endif - KOKKOS_LIBS += -lhwloc - KOKKOS_TPL_LIBRARY_NAMES += hwloc tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HWLOC") endif @@ -558,17 +614,17 @@ ifeq ($(KOKKOS_INTERNAL_USE_LIBRT), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - ifneq ($(MEMKIND_PATH),) - ifneq ($(KOKKOS_CMAKE), yes) - KOKKOS_CXXFLAGS += -I$(MEMKIND_PATH)/include + ifneq ($(KOKKOS_CMAKE), yes) + ifneq ($(MEMKIND_PATH),) + KOKKOS_CPPFLAGS += -I$(MEMKIND_PATH)/include + KOKKOS_LIBDIRS += -L$(MEMKIND_PATH)/lib + KOKKOS_CXXLDFLAGS += -L$(MEMKIND_PATH)/lib + KOKKOS_TPL_INCLUDE_DIRS += $(MEMKIND_PATH)/include + KOKKOS_TPL_LIBRARY_DIRS += $(MEMKIND_PATH)/lib endif - KOKKOS_LDFLAGS += -L$(MEMKIND_PATH)/lib - KOKKOS_CXXLDFLAGS += -L$(MEMKIND_PATH)/lib - KOKKOS_TPL_INCLUDE_DIRS += $(MEMKIND_PATH)/include - KOKKOS_TPL_LIBRARY_DIRS += $(MEMKIND_PATH)/lib + KOKKOS_LIBS += -lmemkind -lnuma + KOKKOS_TPL_LIBRARY_NAMES += memkind numa endif - KOKKOS_LIBS += -lmemkind -lnuma - KOKKOS_TPL_LIBRARY_NAMES += memkind numa tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HBWSPACE") endif @@ -580,9 +636,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_HPX), 0) ifeq ($(KOKKOS_INTERNAL_ENABLE_DEPRECATED_CODE), 1) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEPRECATED_CODE") endif - ifeq ($(KOKKOS_INTERNAL_DISABLE_DEPRECATED_CODE), 0) - tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEPRECATED_CODE") - endif endif ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) @@ -648,6 +701,21 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) endif endif + ifeq ($(KOKKOS_INTERNAL_CUDA_USE_CONSTEXPR), 1) + ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) + ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION) -ge 80; echo $$?),0) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_CONSTEXPR") + KOKKOS_CXXFLAGS += -expt-relaxed-constexpr + else + $(warning Warning: Cuda relaxed constexpr support was requested but NVCC version is too low. This requires NVCC for Cuda version 8.0 or higher. Disabling relaxed constexpr support now.) + endif + endif + + ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_CONSTEXPR") + endif + endif + ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) tmp := $(call kokkos_append_header,"\#define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND") endif @@ -936,6 +1004,14 @@ endif # Figure out the architecture flag for Cuda. ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) + KOKKOS_INTERNAL_USE_CUDA_ARCH=1 +endif +ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) + ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) + KOKKOS_INTERNAL_USE_CUDA_ARCH=1 + endif +endif +ifeq ($(KOKKOS_INTERNAL_USE_CUDA_ARCH), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) KOKKOS_INTERNAL_CUDA_ARCH_FLAG=-arch else ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) @@ -944,7 +1020,17 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) else $(error Makefile.kokkos: CUDA is enabled but the compiler is neither NVCC nor Clang (got version string $(KOKKOS_CXX_VERSION)) ) endif + KOKKOS_INTERNAL_USE_CUDA_ARCH = 1 +endif + +ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) + ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) + KOKKOS_INTERNAL_CUDA_ARCH_FLAG=-fopenmp-targets=nvptx64-nvidia-cuda -Xopenmp-target -march + endif + KOKKOS_INTERNAL_USE_CUDA_ARCH = 1 +endif +ifeq ($(KOKKOS_INTERNAL_USE_CUDA_ARCH), 1) ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER30), 1) tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER") tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER30") @@ -1012,55 +1098,49 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) KOKKOS_LDFLAGS += $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG) endif + ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) + ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) + KOKKOS_LDFLAGS += $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG) + endif + endif + endif + ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) + KOKKOS_CXXFLAGS += --expt-extended-lambda endif endif + # Figure out the architecture flag for ROCm. -ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1) +ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) # Lets start with adding architecture defines - ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KAVERI), 1) - 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 := $(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 + ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VEGA900), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_HIP 900") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VEGA900") + KOKKOS_INTERNAL_HIP_ARCH_FLAG := --amdgpu-target=gfx900 endif - ifeq ($(KOKKOS_INTERNAL_USE_ARCH_FIJI), 1) - 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 + ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VEGA906), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_HIP 906") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VEGA906") + KOKKOS_INTERNAL_HIP_ARCH_FLAG := --amdgpu-target=gfx906 endif - ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VEGA), 1) - 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 := $(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 + + KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/HIP/*.cpp) + KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/HIP/*.hpp) + + KOKKOS_CXXFLAGS+=$(KOKKOS_INTERNAL_HIP_ARCH_FLAG) + KOKKOS_LDFLAGS+=$(KOKKOS_INTERNAL_HIP_ARCH_FLAG) + + ifeq ($(KOKKOS_INTERNAL_HIP_USE_RELOC), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HIP_RELOCATABLE_DEVICE_CODE") + KOKKOS_CXXFLAGS+=-fgpu-rdc + KOKKOS_LDFLAGS+=-fgpu-rdc + else + KOKKOS_CXXFLAGS+=-fno-gpu-rdc + KOKKOS_LDFLAGS+=-fno-gpu-rdc endif - - - KOKKOS_INTERNAL_HCC_PATH := $(shell which $(CXX)) - ROCM_HCC_PATH ?= $(KOKKOS_INTERNAL_HCC_PATH:/bin/clang++=) - - KOKKOS_CXXFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --cxxflags) - KOKKOS_LDFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --ldflags) -lhc_am -lm - KOKKOS_CXXLDFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --ldflags) -lhc_am -lm - KOKKOS_TPL_LIBRARY_NAMES += hc_am m - KOKKOS_LDFLAGS += $(KOKKOS_INTERNAL_ROCM_ARCH_FLAG) - - KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/ROCm/*.cpp) -ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) - KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/ROCm/*.cpp) -endif - KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/ROCm/*.hpp) endif + KOKKOS_INTERNAL_LS_CONFIG := $(shell ls KokkosCore_config.h 2>&1) ifeq ($(KOKKOS_INTERNAL_LS_CONFIG), KokkosCore_config.h) @@ -1089,15 +1169,13 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Cuda/*.hpp) ifneq ($(CUDA_PATH),) - ifneq ($(KOKKOS_CMAKE), yes) - KOKKOS_CXXFLAGS += -I$(CUDA_PATH)/include - endif + KOKKOS_CPPLAGS += -I$(CUDA_PATH)/include ifeq ($(call kokkos_path_exists,$(CUDA_PATH)/lib64), 1) - KOKKOS_LDFLAGS += -L$(CUDA_PATH)/lib64 + KOKKOS_LIBDIRS += -L$(CUDA_PATH)/lib64 KOKKOS_CXXLDFLAGS += -L$(CUDA_PATH)/lib64 KOKKOS_TPL_LIBRARY_DIRS += $(CUDA_PATH)/lib64 else ifeq ($(call kokkos_path_exists,$(CUDA_PATH)/lib), 1) - KOKKOS_LDFLAGS += -L$(CUDA_PATH)/lib + KOKKOS_LIBDIRS += -L$(CUDA_PATH)/lib KOKKOS_CXXLDFLAGS += -L$(CUDA_PATH)/lib KOKKOS_TPL_LIBRARY_DIRS += $(CUDA_PATH)/lib else @@ -1113,7 +1191,7 @@ endif endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) - KOKKOS_SRC += $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp + KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/OpenMPTarget/*.cpp) KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/OpenMPTarget/*.hpp) ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) KOKKOS_CXXFLAGS += -Xcompiler $(KOKKOS_INTERNAL_OPENMPTARGET_FLAG) @@ -1121,6 +1199,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_OPENMPTARGET_FLAG) endif KOKKOS_LDFLAGS += $(KOKKOS_INTERNAL_OPENMPTARGET_FLAG) + KOKKOS_LIBS += $(KOKKOS_INTERNAL_OPENMPTARGET_LIB) endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) @@ -1150,22 +1229,6 @@ endif KOKKOS_TPL_LIBRARY_NAMES += pthread endif -ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1) - KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Qthreads/*.cpp) - KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Qthreads/*.hpp) - ifneq ($(QTHREADS_PATH),) - ifneq ($(KOKKOS_CMAKE), yes) - KOKKOS_CXXFLAGS += -I$(QTHREADS_PATH)/include - endif - KOKKOS_LDFLAGS += -L$(QTHREADS_PATH)/lib - KOKKOS_CXXLDFLAGS += -L$(QTHREADS_PATH)/lib - KOKKOS_TPL_INCLUDE_DIRS += $(QTHREADS_PATH)/include - KOKKOS_TPL_LIBRARY_DIRS += $(QTHREADS_PATH)/lib64 - endif - KOKKOS_LIBS += -lqthread - KOKKOS_TPL_LIBRARY_NAMES += qthread -endif - ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/HPX/*.cpp) KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/HPX/*.hpp) @@ -1173,21 +1236,21 @@ ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1) KOKKOS_CXXFLAGS += $(shell PKG_CONFIG_PATH=$(HPX_PATH)/lib64/pkgconfig pkg-config --cflags hpx_application_debug) KOKKOS_CXXLDFLAGS += $(shell PKG_CONFIG_PATH=$(HPX_PATH)/lib64/pkgconfig pkg-config --libs hpx_application_debug) - KOKKOS_LDFLAGS += $(shell PKG_CONFIG_PATH=$(HPX_PATH)/lib64/pkgconfig pkg-config --libs hpx_application_debug) + KOKKOS_LIBS += $(shell PKG_CONFIG_PATH=$(HPX_PATH)/lib64/pkgconfig pkg-config --libs hpx_application_debug) else KOKKOS_CXXFLAGS += $(shell PKG_CONFIG_PATH=$(HPX_PATH)/lib64/pkgconfig pkg-config --cflags hpx_application) KOKKOS_CXXLDFLAGS += $(shell PKG_CONFIG_PATH=$(HPX_PATH)/lib64/pkgconfig pkg-config --libs hpx_application) - KOKKOS_LDFLAGS += $(shell PKG_CONFIG_PATH=$(HPX_PATH)/lib64/pkgconfig pkg-config --libs hpx_application) + KOKKOS_LIBS += $(shell PKG_CONFIG_PATH=$(HPX_PATH)/lib64/pkgconfig pkg-config --libs hpx_application) endif else ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1) KOKKOS_CXXFLAGS += $(shell pkg-config --cflags hpx_application_debug) KOKKOS_CXXLDFLAGS += $(shell pkg-config --libs hpx_application_debug) - KOKKOS_LDFLAGS += $(shell pkg-config --libs hpx_application_debug) + KOKKOS_LIBS += $(shell pkg-config --libs hpx_application_debug) else KOKKOS_CXXFLAGS += $(shell pkg-config --cflags hpx_application) KOKKOS_CXXLDFLAGS += $(shell pkg-config --libs hpx_application) - KOKKOS_LDFLAGS += $(shell pkg-config --libs hpx_application) + KOKKOS_LIBS += $(shell pkg-config --libs hpx_application) endif endif KOKKOS_TPL_LIBRARY_NAMES += hpx @@ -1248,4 +1311,16 @@ libkokkos.a: $(KOKKOS_OBJ_LINK) $(KOKKOS_SRC) $(KOKKOS_HEADERS) ar cr libkokkos.a $(KOKKOS_OBJ_LINK) ranlib libkokkos.a +print-cxx-flags: + echo "$(KOKKOS_CXXFLAGS)" + KOKKOS_LINK_DEPENDS=libkokkos.a + +#we have carefully separated LDFLAGS from LIBS and LIBDIRS +#we have also separated CPPFLAGS from CXXFLAGS +#if this is not cmake, for backwards compatibility +#we just jam everything together into the CXXFLAGS and LDFLAGS +ifneq ($(KOKKOS_CMAKE), yes) + KOKKOS_CXXFLAGS += $(KOKKOS_CPPFLAGS) + KOKKOS_LDFLAGS += $(KOKKOS_LIBDIRS) +endif diff --git a/lib/kokkos/Makefile.targets b/lib/kokkos/Makefile.targets index e7d5a3c90769230f31672ef9f098b42ef4bb6f7d..18e37a71f7157afd0be6dc8d793cc2cb4102f4d3 100644 --- a/lib/kokkos/Makefile.targets +++ b/lib/kokkos/Makefile.targets @@ -6,6 +6,8 @@ Kokkos_CPUDiscovery.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_CPUDiscovery.cpp Kokkos_Error.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Error.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Error.cpp +Kokkos_Stacktrace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Stacktrace.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Stacktrace.cpp Kokkos_ExecPolicy.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_ExecPolicy.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_ExecPolicy.cpp Kokkos_HostSpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace.cpp @@ -53,6 +55,17 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) endif endif +ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) +Kokkos_HIP_Space.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/HIP/Kokkos_HIP_Space.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/HIP/Kokkos_HIP_Space.cpp +Kokkos_HIP_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/HIP/Kokkos_HIP_Instance.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/HIP/Kokkos_HIP_Instance.cpp +Kokkos_HIP_KernelLaunch.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/HIP/Kokkos_HIP_KernelLaunch.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/HIP/Kokkos_HIP_KernelLaunch.cpp +Kokkos_HIP_Locks.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/HIP/Kokkos_HIP_Locks.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/HIP/Kokkos_HIP_Locks.cpp +endif + ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1) Kokkos_ROCm_Exec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Exec.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Exec.cpp @@ -77,13 +90,6 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) endif endif -ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1) -Kokkos_QthreadsExec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Qthreads/Kokkos_QthreadsExec.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Qthreads/Kokkos_QthreadsExec.cpp -Kokkos_Qthreads_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Qthreads/Kokkos_Qthreads_Task.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Qthreads/Kokkos_Qthreads_Task.cpp -endif - ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) Kokkos_OpenMP_Exec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp @@ -104,10 +110,12 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) Kokkos_OpenMPTarget_Exec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp +Kokkos_OpenMPTarget_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp Kokkos_OpenMPTargetSpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp -#Kokkos_OpenMPTarget_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Task.cpp -# $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Task.cpp +Kokkos_OpenMPTarget_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Task.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Task.cpp endif Kokkos_HBWSpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp diff --git a/lib/kokkos/README b/lib/kokkos/README deleted file mode 100644 index cb6ceb5581d58fd3841bb43c4797708c52f41a1e..0000000000000000000000000000000000000000 --- a/lib/kokkos/README +++ /dev/null @@ -1,193 +0,0 @@ -Kokkos Core implements a programming model in C++ for writing performance portable -applications targeting all major HPC platforms. For that purpose it provides -abstractions for both parallel execution of code and data management. -Kokkos is designed to target complex node architectures with N-level memory -hierarchies and multiple types of execution resources. It currently can use -OpenMP, Pthreads and CUDA as backend programming models. - -Kokkos Core is part of the Kokkos C++ Performance Portability Programming EcoSystem, -which also provides math kernels (https://github.com/kokkos/kokkos-kernels), as well as -profiling and debugging tools (https://github.com/kokkos/kokkos-tools). - -# Learning about Kokkos - -A programming guide can be found on the Wiki, the API reference is under development. - -For questions find us on Slack: https://kokkosteam.slack.com or open a github issue. - -For non-public questions send an email to -crtrott(at)sandia.gov - -A separate repository with extensive tutorial material can be found under -https://github.com/kokkos/kokkos-tutorials. - -Furthermore, the 'example/tutorial' directory provides step by step tutorial -examples which explain many of the features of Kokkos. They work with -simple Makefiles. To build with g++ and OpenMP simply type 'make' -in the 'example/tutorial' directory. This will build all examples in the -subfolders. To change the build options refer to the Programming Guide -in the compilation section. - -To learn more about Kokkos consider watching one of our presentations: -* GTC 2015: - - http://on-demand.gputechconf.com/gtc/2015/video/S5166.html - - http://on-demand.gputechconf.com/gtc/2015/presentation/S5166-H-Carter-Edwards.pdf - - -# Contributing to Kokkos - -We are open and try to encourage contributions from external developers. -To do so please first open an issue describing the contribution and then issue -a pull request against the develop branch. For larger features it may be good -to get guidance from the core development team first through the github issue. - -Note that Kokkos Core is licensed under standard 3-clause BSD terms of use. -Which means contributing to Kokkos allows anyone else to use your contributions -not just for public purposes but also for closed source commercial projects. -For specifics see the LICENSE file contained in the repository or distribution. - -# Requirements - -### Primary tested compilers on X86 are: - * GCC 4.8.4 - * GCC 4.9.3 - * GCC 5.1.0 - * GCC 5.5.0 - * GCC 6.1.0 - * GCC 7.2.0 - * GCC 7.3.0 - * GCC 8.1.0 - * Intel 15.0.2 - * Intel 16.0.1 - * Intel 17.0.1 - * Intel 17.4.196 - * Intel 18.2.128 - * Clang 3.6.1 - * Clang 3.7.1 - * Clang 3.8.1 - * Clang 3.9.0 - * Clang 4.0.0 - * Clang 6.0.0 for CUDA (CUDA Toolkit 9.0) - * Clang 7.0.0 for CUDA (CUDA Toolkit 9.1) - * PGI 18.7 - * NVCC 7.5 for CUDA (with gcc 4.8.4) - * NVCC 8.0.44 for CUDA (with gcc 5.3.0) - * NVCC 9.1 for CUDA (with gcc 6.1.0) - * NVCC 9.2 for CUDA (with gcc 7.2.0) - * NVCC 10.0 for CUDA (with gcc 7.4.0) - -### Primary tested compilers on Power 8 are: - * GCC 6.4.0 (OpenMP,Serial) - * GCC 7.2.0 (OpenMP,Serial) - * IBM XL 16.1.0 (OpenMP, Serial) - * NVCC 9.2.88 for CUDA (with gcc 7.2.0 and XL 16.1.0) - -### Primary tested compilers on Intel KNL are: - * Intel 16.4.258 (with gcc 4.7.2) - * Intel 17.2.174 (with gcc 4.9.3) - * Intel 18.2.199 (with gcc 4.9.3) - -### Primary tested compilers on ARM (Cavium ThunderX2) - * GCC 7.2.0 - * ARM/Clang 18.4.0 - -### Other compilers working: - * X86: - - Cygwin 2.1.0 64bit with gcc 4.9.3 - - GCC 8.1.0 (not warning free) - -### Known non-working combinations: - * Power8: - - Pthreads backend - * ARM - - Pthreads backend - - -Primary tested compiler are passing in release mode -with warnings as errors. They also are tested with a comprehensive set of -backend combinations (i.e. OpenMP, Pthreads, Serial, OpenMP+Serial, ...). -We are using the following set of flags: -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 - -Other compilers are tested occasionally, in particular when pushing from develop to -master branch, without -Werror and only for a select set of backends. - -# Running Unit Tests - -To run the unit tests create a build directory and run the following commands - -KOKKOS_PATH/generate_makefile.bash -make build-test -make test - -Run KOKKOS_PATH/generate_makefile.bash --help for more detailed options such as -changing the device type for which to build. - -# Installing the library - -To install Kokkos as a library create a build directory and run the following - -KOKKOS_PATH/generate_makefile.bash --prefix=INSTALL_PATH -make kokkoslib -make install - -KOKKOS_PATH/generate_makefile.bash --help for more detailed options such as -changing the device type for which to build. - -Note that in many cases it is preferable to build Kokkos inline with an -application. The main reason is that you may otherwise need many different -configurations of Kokkos installed depending on the required compile time -features an application needs. For example there is only one default -execution space, which means you need different installations to have OpenMP -or Pthreads as the default space. Also for the CUDA backend there are certain -choices, such as allowing relocatable device code, which must be made at -installation time. Building Kokkos inline uses largely the same process -as compiling an application against an installed Kokkos library. See for -example benchmarks/bytes_and_flops/Makefile which can be used with an installed -library and for an inline build. - -### CMake - -Kokkos supports being build as part of a CMake applications. An example can -be found in example/cmake_build. - -# Kokkos and CUDA UVM - -Kokkos does support UVM as a specific memory space called CudaUVMSpace. -Allocations made with that space are accessible from host and device. -You can tell Kokkos to use that as the default space for Cuda allocations. -In either case UVM comes with a number of restrictions: -(i) You can't access allocations on the host while a kernel is potentially -running. This will lead to segfaults. To avoid that you either need to -call Kokkos::Cuda::fence() (or just Kokkos::fence()), after kernels, or -you can set the environment variable CUDA_LAUNCH_BLOCKING=1. -Furthermore in multi socket multi GPU machines without NVLINK, UVM defaults -to using zero copy allocations for technical reasons related to using multiple -GPUs from the same process. If an executable doesn't do that (e.g. each -MPI rank of an application uses a single GPU [can be the same GPU for -multiple MPI ranks]) you can set CUDA_MANAGED_FORCE_DEVICE_ALLOC=1. -This will enforce proper UVM allocations, but can lead to errors if -more than a single GPU is used by a single process. - - -# Citing Kokkos - -If you publish work which mentions Kokkos, please cite the following paper: - -@article{CarterEdwards20143202, -title = "Kokkos: Enabling manycore performance portability through polymorphic memory access patterns ", -journal = "Journal of Parallel and Distributed Computing ", -volume = "74", -number = "12", -pages = "3202 - 3216", -year = "2014", -note = "Domain-Specific Languages and High-Level Frameworks for High-Performance Computing ", -issn = "0743-7315", -doi = "https://doi.org/10.1016/j.jpdc.2014.07.003", -url = "http://www.sciencedirect.com/science/article/pii/S0743731514001257", -author = "H. Carter Edwards and Christian R. Trott and Daniel Sunderland" -} diff --git a/lib/kokkos/README.md b/lib/kokkos/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a04df9eb9b653cfc83fba290705ec10338e5a486 --- /dev/null +++ b/lib/kokkos/README.md @@ -0,0 +1,299 @@ +![Kokkos](https://avatars2.githubusercontent.com/u/10199860?s=200&v=4) + +# Kokkos: Core Libraries + +Kokkos Core implements a programming model in C++ for writing performance portable +applications targeting all major HPC platforms. For that purpose it provides +abstractions for both parallel execution of code and data management. +Kokkos is designed to target complex node architectures with N-level memory +hierarchies and multiple types of execution resources. It currently can use +CUDA, HPX, OpenMP and Pthreads as backend programming models with several other +backends in development. + +Kokkos Core is part of the Kokkos C++ Performance Portability Programming EcoSystem, +which also provides math kernels (https://github.com/kokkos/kokkos-kernels), as well as +profiling and debugging tools (https://github.com/kokkos/kokkos-tools). + +# Learning about Kokkos + +A programming guide can be found on the Wiki, the API reference is under development. + +For questions find us on Slack: https://kokkosteam.slack.com or open a github issue. + +For non-public questions send an email to +crtrott(at)sandia.gov + +A separate repository with extensive tutorial material can be found under +https://github.com/kokkos/kokkos-tutorials. + +Furthermore, the 'example/tutorial' directory provides step by step tutorial +examples which explain many of the features of Kokkos. They work with +simple Makefiles. To build with g++ and OpenMP simply type 'make' +in the 'example/tutorial' directory. This will build all examples in the +subfolders. To change the build options refer to the Programming Guide +in the compilation section. + +To learn more about Kokkos consider watching one of our presentations: +* GTC 2015: + - http://on-demand.gputechconf.com/gtc/2015/video/S5166.html + - http://on-demand.gputechconf.com/gtc/2015/presentation/S5166-H-Carter-Edwards.pdf + + +# Contributing to Kokkos + +We are open and try to encourage contributions from external developers. +To do so please first open an issue describing the contribution and then issue +a pull request against the develop branch. For larger features it may be good +to get guidance from the core development team first through the github issue. + +Note that Kokkos Core is licensed under standard 3-clause BSD terms of use. +Which means contributing to Kokkos allows anyone else to use your contributions +not just for public purposes but also for closed source commercial projects. +For specifics see the LICENSE file contained in the repository or distribution. + +# Requirements + +### Primary tested compilers on X86 are: +* GCC 4.8.4 +* GCC 4.9.3 +* GCC 5.1.0 +* GCC 5.4.0 +* GCC 5.5.0 +* GCC 6.1.0 +* GCC 7.2.0 +* GCC 7.3.0 +* GCC 8.1.0 +* Intel 15.0.2 +* Intel 16.0.1 +* Intel 17.0.1 +* Intel 17.4.196 +* Intel 18.2.128 +* Clang 3.6.1 +* Clang 3.7.1 +* Clang 3.8.1 +* Clang 3.9.0 +* Clang 4.0.0 +* Clang 6.0.0 for CUDA (CUDA Toolkit 9.0) +* Clang 7.0.0 for CUDA (CUDA Toolkit 9.1) +* Clang 8.0.0 for CUDA (CUDA Toolkit 9.2) +* PGI 18.7 +* NVCC 9.1 for CUDA (with gcc 6.1.0) +* NVCC 9.2 for CUDA (with gcc 7.2.0) +* NVCC 10.0 for CUDA (with gcc 7.4.0) +* NVCC 10.1 for CUDA (with gcc 7.4.0) + +### Primary tested compilers on Power 8 are: +* GCC 6.4.0 (OpenMP,Serial) +* GCC 7.2.0 (OpenMP,Serial) +* IBM XL 16.1.0 (OpenMP, Serial) +* NVCC 9.2.88 for CUDA (with gcc 7.2.0 and XL 16.1.0) + +### Primary tested compilers on Intel KNL are: +* Intel 16.4.258 (with gcc 4.7.2) +* Intel 17.2.174 (with gcc 4.9.3) +* Intel 18.2.199 (with gcc 4.9.3) + +### Primary tested compilers on ARM (Cavium ThunderX2) +* GCC 7.2.0 +* ARM/Clang 18.4.0 + +### Other compilers working: +* X86: + * Cygwin 2.1.0 64bit with gcc 4.9.3 + * GCC 8.1.0 (not warning free) + +### Known non-working combinations: +* Power8: + * Pthreads backend +* ARM + * Pthreads backend + + +Primary tested compiler are passing in release mode +with warnings as errors. They also are tested with a comprehensive set of +backend combinations (i.e. OpenMP, Pthreads, Serial, OpenMP+Serial, ...). +We are using the following set of flags: +* GCC: + ```` + -Wall -Wunused-parameter -Wshadow -pedantic + -Werror -Wsign-compare -Wtype-limits + -Wignored-qualifiers -Wempty-body + -Wclobbered -Wuninitialized + ```` +* Intel: + ```` + -Wall -Wunused-parameter -Wshadow -pedantic + -Werror -Wsign-compare -Wtype-limits + -Wuninitialized + ```` +* Clang: + ```` + -Wall -Wunused-parameter -Wshadow -pedantic + -Werror -Wsign-compare -Wtype-limits + -Wuninitialized + ```` + +* NVCC: + ```` + -Wall -Wunused-parameter -Wshadow -pedantic + -Werror -Wsign-compare -Wtype-limits + -Wuninitialized + ```` + +Other compilers are tested occasionally, in particular when pushing from develop to +master branch. These are tested less rigorously without `-Werror` and only for a select set of backends. + +# Building and Installing Kokkos +Kokkos provide a CMake build system and a raw Makefile build system. +The CMake build system is strongly encouraged and will be the most rigorously supported in future releases. +Full details are given in the [build instructions](BUILD.md). Basic setups are shown here: + +## CMake + +The best way to install Kokkos is using the CMake build system. Assuming Kokkos lives in `$srcdir`: +```` +cmake $srcdir \ + -DCMAKE_CXX_COMPILER=$path_to_compiler \ + -DCMAKE_INSTALL_PREFIX=$path_to_install \ + -DKokkos_ENABLE_OPENMP=On \ + -DKokkos_ARCH_HSW=On \ + -DKokkos_ENABLE_HWLOC=On \ + -DKokkos_HWLOC_DIR=$path_to_hwloc +```` +then simply type `make install`. The Kokkos CMake package will then be installed in `$path_to_install` to be used by downstream packages. + +To validate the Kokkos build, configure with +```` + -DKokkos_ENABLE_TESTS=On +```` +and run `make test` after completing the build. + +For your CMake project using Kokkos, code such as the following: + +```` +find_package(Kokkos) +... +target_link_libraries(myTarget Kokkos::kokkos) +```` +should be added to your CMakeLists.txt. Your configure should additionally include +```` +-DKokkos_DIR=$path_to_install/cmake/lib/Kokkos +```` +or +```` +-DKokkos_ROOT=$path_to_install +```` +for the install location given above. + +## Spack +An alternative to manually building with the CMake is to use the Spack package manager. +To do so, download the `kokkos-spack` git repo and add to the package list: +```` +spack repo add $path-to-kokkos-spack +```` +A basic installation would be done as: +```` +spack install kokkos +```` +Spack allows options and and compilers to be tuned in the install command. +```` +spack install kokkos@3.0 %gcc@7.3.0 +openmp +```` +This example illustrates the three most common parameters to Spack: +* Variants: specified with, e.g. `+openmp`, this activates (or deactivates with, e.g. `~openmp`) certain options. +* Version: immediately following `kokkos` the `@version` can specify a particular Kokkos to build +* Compiler: a default compiler will be chosen if not specified, but an exact compiler version can be given with the `%`option. + +For a complete list of Kokkos options, run: +```` +spack info kokkos +```` +Spack currently installs packages to a location determined by a unique hash. This hash name is not really "human readable". +Generally, Spack usage should never really require you to reference the computer-generated unique install folder. +More details are given in the [build instructions](BUILD.md). If you must know, you can locate Spack Kokkos installations with: +```` +spack find -p kokkos ... +```` +where `...` is the unique spec identifying the particular Kokkos configuration and version. + + +## Raw Makefile +A bash script is provided to generate raw makefiles. +To install Kokkos as a library create a build directory and run the following +```` +$KOKKOS_PATH/generate_makefile.bash --prefix=$path_to_install +```` +Once the Makefile is generated, run: +```` +make kokkoslib +make install +```` +To additionally run the unit tests: +```` +make build-test +make test +```` +Run `generate_makefile.bash --help` for more detailed options such as +changing the device type for which to build. + +## Inline Builds vs. Installed Package +For individual projects, it may be preferable to build Kokkos inline rather than link to an installed package. +The main reason is that you may otherwise need many different +configurations of Kokkos installed depending on the required compile time +features an application needs. For example there is only one default +execution space, which means you need different installations to have OpenMP +or Pthreads as the default space. Also for the CUDA backend there are certain +choices, such as allowing relocatable device code, which must be made at +installation time. Building Kokkos inline uses largely the same process +as compiling an application against an installed Kokkos library. + +For CMake, this means copying over the Kokkos source code into your project and adding `add_subdirectory(kokkos)` to your CMakeLists.txt. + +For raw Makefiles, see the example benchmarks/bytes_and_flops/Makefile which can be used with an installed library and or an inline build. + +# Kokkos and CUDA UVM + +Kokkos does support UVM as a specific memory space called CudaUVMSpace. +Allocations made with that space are accessible from host and device. +You can tell Kokkos to use that as the default space for Cuda allocations. +In either case UVM comes with a number of restrictions: +* You can't access allocations on the host while a kernel is potentially +running. This will lead to segfaults. To avoid that you either need to +call Kokkos::Cuda::fence() (or just Kokkos::fence()), after kernels, or +you can set the environment variable CUDA_LAUNCH_BLOCKING=1. +* In multi socket multi GPU machines without NVLINK, UVM defaults +to using zero copy allocations for technical reasons related to using multiple +GPUs from the same process. If an executable doesn't do that (e.g. each +MPI rank of an application uses a single GPU [can be the same GPU for +multiple MPI ranks]) you can set CUDA_MANAGED_FORCE_DEVICE_ALLOC=1. +This will enforce proper UVM allocations, but can lead to errors if +more than a single GPU is used by a single process. + + +# Citing Kokkos + +If you publish work which mentions Kokkos, please cite the following paper: + +```` +@article{CarterEdwards20143202, + title = "Kokkos: Enabling manycore performance portability through polymorphic memory access patterns ", + journal = "Journal of Parallel and Distributed Computing ", + volume = "74", + number = "12", + pages = "3202 - 3216", + year = "2014", + note = "Domain-Specific Languages and High-Level Frameworks for High-Performance Computing ", + issn = "0743-7315", + doi = "https://doi.org/10.1016/j.jpdc.2014.07.003", + url = "http://www.sciencedirect.com/science/article/pii/S0743731514001257", + author = "H. Carter Edwards and Christian R. Trott and Daniel Sunderland" +} +```` + +##### [LICENSE](https://github.com/kokkos/kokkos/blob/master/LICENSE) + +[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) + +Under the terms of Contract DE-NA0003525 with NTESS, +the U.S. Government retains certain rights in this software. + diff --git a/lib/kokkos/algorithms/CMakeLists.txt b/lib/kokkos/algorithms/CMakeLists.txt index 507c9f2fdb70662c80f591d04737d45752be81a1..38747c152c73d450fe12431707fc438f9622e293 100644 --- a/lib/kokkos/algorithms/CMakeLists.txt +++ b/lib/kokkos/algorithms/CMakeLists.txt @@ -1,12 +1,12 @@ - - -TRIBITS_SUBPACKAGE(Algorithms) - -IF(KOKKOS_HAS_TRILINOS) - ADD_SUBDIRECTORY(src) -ENDIF() - -TRIBITS_ADD_TEST_DIRECTORIES(unit_tests) -#TRIBITS_ADD_TEST_DIRECTORIES(performance_tests) - -TRIBITS_SUBPACKAGE_POSTPROCESS() + + +KOKKOS_SUBPACKAGE(Algorithms) + +ADD_SUBDIRECTORY(src) + +KOKKOS_ADD_TEST_DIRECTORIES(unit_tests) + +KOKKOS_SUBPACKAGE_POSTPROCESS() + + + diff --git a/lib/kokkos/algorithms/src/CMakeLists.txt b/lib/kokkos/algorithms/src/CMakeLists.txt index dfbf3323c2d51953a12d8e82371d9f971aaa1e13..5afd319fcc7b0348b3401193f129897bcad11ebd 100644 --- a/lib/kokkos/algorithms/src/CMakeLists.txt +++ b/lib/kokkos/algorithms/src/CMakeLists.txt @@ -1,8 +1,9 @@ -TRIBITS_CONFIGURE_FILE(${PACKAGE_NAME}_config.h) +KOKKOS_CONFIGURE_FILE(${PACKAGE_NAME}_config.h) -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) +#I have to leave these here for tribits +KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) +KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) #----------------------------------------------------------------------------- @@ -12,10 +13,18 @@ LIST(APPEND HEADERS ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}_config.h) #----------------------------------------------------------------------------- -TRIBITS_ADD_LIBRARY( - kokkosalgorithms - HEADERS ${HEADERS} - SOURCES ${SOURCES} - DEPLIBS - ) +# We have to pass the sources in here for Tribits +# These will get ignored for standalone CMake and a true interface library made +KOKKOS_ADD_INTERFACE_LIBRARY( + kokkosalgorithms + HEADERS ${HEADERS} + SOURCES ${SOURCES} +) +KOKKOS_LIB_INCLUDE_DIRECTORIES(kokkosalgorithms + ${KOKKOS_TOP_BUILD_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} +) + + diff --git a/lib/kokkos/algorithms/src/Kokkos_Random.hpp b/lib/kokkos/algorithms/src/Kokkos_Random.hpp index e14471a48aed374e3204f9577d9751b49e209a82..0a7967523656cda4f96ca911116a4a5a06a30830 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Random.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Random.hpp @@ -1,13 +1,14 @@ /* //@HEADER // ************************************************************************ -// -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation -// -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. -// +// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -36,7 +37,7 @@ // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// +// // ************************************************************************ //@HEADER */ @@ -59,6 +60,7 @@ namespace Kokkos { +// clang-format off /*Template functions to get equidistributed random numbers from a generator for a specific Scalar type template @@ -102,9 +104,9 @@ namespace Kokkos { //Initializing constructor: calls init(seed,Device_Specific_Number); Pool(unsigned int seed); - //Intialize Pool with seed as a starting seed with a pool_size of num_states + //Initialize Pool with seed as a starting seed with a pool_size of num_states //The Random_XorShift64 generator is used in serial to initialize all states, - //thus the intialization process is platform independent and deterministic. + //thus the initialization process is platform independent and deterministic. void init(unsigned int seed, int num_states); //Get a generator. This will lock one of the states, guaranteeing that each thread @@ -229,1798 +231,1510 @@ namespace Kokkos { ViewType::value_type start, ViewType::value_type end); */ +// clang-format on - template - struct rand; - - - template - struct rand { - - KOKKOS_INLINE_FUNCTION - static short max(){return 127;} - KOKKOS_INLINE_FUNCTION - static short draw(Generator& gen) - {return short((gen.rand()&0xff+256)%256);} - KOKKOS_INLINE_FUNCTION - static short draw(Generator& gen, const char& range) - {return char(gen.rand(range));} - KOKKOS_INLINE_FUNCTION - static short draw(Generator& gen, const char& start, const char& end) - {return char(gen.rand(start,end));} - - }; - - template - struct rand { - KOKKOS_INLINE_FUNCTION - static short max(){return 32767;} - KOKKOS_INLINE_FUNCTION - static short draw(Generator& gen) - {return short((gen.rand()&0xffff+65536)%32768);} - KOKKOS_INLINE_FUNCTION - static short draw(Generator& gen, const short& range) - {return short(gen.rand(range));} - KOKKOS_INLINE_FUNCTION - static short draw(Generator& gen, const short& start, const short& end) - {return short(gen.rand(start,end));} - - }; - - template - struct rand { - KOKKOS_INLINE_FUNCTION - static int max(){return Generator::MAX_RAND;} - KOKKOS_INLINE_FUNCTION - static int draw(Generator& gen) - {return gen.rand();} - KOKKOS_INLINE_FUNCTION - static int draw(Generator& gen, const int& range) - {return gen.rand(range);} - KOKKOS_INLINE_FUNCTION - static int draw(Generator& gen, const int& start, const int& end) - {return gen.rand(start,end);} - - }; - - template - struct rand { - KOKKOS_INLINE_FUNCTION - static unsigned int max () { - return Generator::MAX_URAND; - } - KOKKOS_INLINE_FUNCTION - static unsigned int draw (Generator& gen) { - return gen.urand (); - } - KOKKOS_INLINE_FUNCTION - static unsigned int draw(Generator& gen, const unsigned int& range) { - return gen.urand (range); - } - KOKKOS_INLINE_FUNCTION - static unsigned int - draw (Generator& gen, const unsigned int& start, const unsigned int& end) { - return gen.urand (start, end); - } - }; - - template - struct rand { - KOKKOS_INLINE_FUNCTION - static long max () { - // FIXME (mfh 26 Oct 2014) It would be better to select the - // return value at compile time, using something like enable_if. - return sizeof (long) == 4 ? - static_cast (Generator::MAX_RAND) : - static_cast (Generator::MAX_RAND64); - } - KOKKOS_INLINE_FUNCTION - static long draw (Generator& gen) { - // FIXME (mfh 26 Oct 2014) It would be better to select the - // return value at compile time, using something like enable_if. - return sizeof (long) == 4 ? - static_cast (gen.rand ()) : - static_cast (gen.rand64 ()); - } - KOKKOS_INLINE_FUNCTION - static long draw (Generator& gen, const long& range) { - // FIXME (mfh 26 Oct 2014) It would be better to select the - // return value at compile time, using something like enable_if. - return sizeof (long) == 4 ? - static_cast (gen.rand (static_cast (range))) : - static_cast (gen.rand64 (range)); - } - KOKKOS_INLINE_FUNCTION - static long draw (Generator& gen, const long& start, const long& end) { - // FIXME (mfh 26 Oct 2014) It would be better to select the - // return value at compile time, using something like enable_if. - return sizeof (long) == 4 ? - static_cast (gen.rand (static_cast (start), - static_cast (end))) : - static_cast (gen.rand64 (start, end)); - } - }; - - template - struct rand { - KOKKOS_INLINE_FUNCTION - static unsigned long max () { - // FIXME (mfh 26 Oct 2014) It would be better to select the - // return value at compile time, using something like enable_if. - return sizeof (unsigned long) == 4 ? - static_cast (Generator::MAX_URAND) : - static_cast (Generator::MAX_URAND64); - } - KOKKOS_INLINE_FUNCTION - static unsigned long draw (Generator& gen) { - // FIXME (mfh 26 Oct 2014) It would be better to select the - // return value at compile time, using something like enable_if. - return sizeof (unsigned long) == 4 ? - static_cast (gen.urand ()) : - static_cast (gen.urand64 ()); - } - KOKKOS_INLINE_FUNCTION - static unsigned long draw(Generator& gen, const unsigned long& range) { - // FIXME (mfh 26 Oct 2014) It would be better to select the - // return value at compile time, using something like enable_if. - return sizeof (unsigned long) == 4 ? - static_cast (gen.urand (static_cast (range))) : - static_cast (gen.urand64 (range)); - } - KOKKOS_INLINE_FUNCTION - static unsigned long - draw (Generator& gen, const unsigned long& start, const unsigned long& end) { - // FIXME (mfh 26 Oct 2014) It would be better to select the - // return value at compile time, using something like enable_if. - return sizeof (unsigned long) == 4 ? - static_cast (gen.urand (static_cast (start), - static_cast (end))) : - static_cast (gen.urand64 (start, end)); - } - }; - - // NOTE (mfh 26 oct 2014) This is a partial specialization for long - // long, a C99 / C++11 signed type which is guaranteed to be at - // least 64 bits. Do NOT write a partial specialization for - // int64_t!!! This is just a typedef! It could be either long or - // long long. We don't know which a priori, and I've seen both. - // The types long and long long are guaranteed to differ, so it's - // always safe to specialize for both. - template - struct rand { - KOKKOS_INLINE_FUNCTION - static long long max () { - // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. - return Generator::MAX_RAND64; - } - KOKKOS_INLINE_FUNCTION - static long long draw (Generator& gen) { - // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. - return gen.rand64 (); - } - KOKKOS_INLINE_FUNCTION - static long long draw (Generator& gen, const long long& range) { - // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. - return gen.rand64 (range); - } - KOKKOS_INLINE_FUNCTION - static long long draw (Generator& gen, const long long& start, const long long& end) { - // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. - return gen.rand64 (start, end); - } - }; - - // NOTE (mfh 26 oct 2014) This is a partial specialization for - // unsigned long long, a C99 / C++11 unsigned type which is - // guaranteed to be at least 64 bits. Do NOT write a partial - // specialization for uint64_t!!! This is just a typedef! It could - // be either unsigned long or unsigned long long. We don't know - // which a priori, and I've seen both. The types unsigned long and - // unsigned long long are guaranteed to differ, so it's always safe - // to specialize for both. - template - struct rand { - KOKKOS_INLINE_FUNCTION - static unsigned long long max () { - // FIXME (mfh 26 Oct 2014) It's legal for unsigned long long to be > 64 bits. - return Generator::MAX_URAND64; - } - KOKKOS_INLINE_FUNCTION - static unsigned long long draw (Generator& gen) { - // FIXME (mfh 26 Oct 2014) It's legal for unsigned long long to be > 64 bits. - return gen.urand64 (); - } - KOKKOS_INLINE_FUNCTION - static unsigned long long draw (Generator& gen, const unsigned long long& range) { - // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. - return gen.urand64 (range); - } - KOKKOS_INLINE_FUNCTION - static unsigned long long - draw (Generator& gen, const unsigned long long& start, const unsigned long long& end) { - // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. - return gen.urand64 (start, end); - } - }; - - template - struct rand { - KOKKOS_INLINE_FUNCTION - static float max(){return 1.0f;} - KOKKOS_INLINE_FUNCTION - static float draw(Generator& gen) - {return gen.frand();} - KOKKOS_INLINE_FUNCTION - static float draw(Generator& gen, const float& range) - {return gen.frand(range);} - KOKKOS_INLINE_FUNCTION - static float draw(Generator& gen, const float& start, const float& end) - {return gen.frand(start,end);} - - }; +template +struct rand; - template - struct rand { - KOKKOS_INLINE_FUNCTION - static double max(){return 1.0;} - KOKKOS_INLINE_FUNCTION - static double draw(Generator& gen) - {return gen.drand();} - KOKKOS_INLINE_FUNCTION - static double draw(Generator& gen, const double& range) - {return gen.drand(range);} - KOKKOS_INLINE_FUNCTION - static double draw(Generator& gen, const double& start, const double& end) - {return gen.drand(start,end);} - - }; - - template - struct rand > { - KOKKOS_INLINE_FUNCTION - static Kokkos::complex max () { - return Kokkos::complex (1.0, 1.0); - } - KOKKOS_INLINE_FUNCTION - static Kokkos::complex draw (Generator& gen) { - const float re = gen.frand (); - const float im = gen.frand (); - return Kokkos::complex (re, im); - } - KOKKOS_INLINE_FUNCTION - static Kokkos::complex draw (Generator& gen, const Kokkos::complex& range) { - const float re = gen.frand (real (range)); - const float im = gen.frand (imag (range)); - return Kokkos::complex (re, im); - } - KOKKOS_INLINE_FUNCTION - static Kokkos::complex draw (Generator& gen, const Kokkos::complex& start, const Kokkos::complex& end) { - const float re = gen.frand (real (start), real (end)); - const float im = gen.frand (imag (start), imag (end)); - return Kokkos::complex (re, im); - } - }; - - template - struct rand > { - KOKKOS_INLINE_FUNCTION - static Kokkos::complex max () { - return Kokkos::complex (1.0, 1.0); - } - KOKKOS_INLINE_FUNCTION - static Kokkos::complex draw (Generator& gen) { - const double re = gen.drand (); - const double im = gen.drand (); - return Kokkos::complex (re, im); - } - KOKKOS_INLINE_FUNCTION - static Kokkos::complex draw (Generator& gen, const Kokkos::complex& range) { - const double re = gen.drand (real (range)); - const double im = gen.drand (imag (range)); - return Kokkos::complex (re, im); - } - KOKKOS_INLINE_FUNCTION - static Kokkos::complex draw (Generator& gen, const Kokkos::complex& start, const Kokkos::complex& end) { - const double re = gen.drand (real (start), real (end)); - const double im = gen.drand (imag (start), imag (end)); - return Kokkos::complex (re, im); - } - }; - - template - class Random_XorShift64_Pool; - - template - class Random_XorShift64 { - private: - uint64_t state_; - const int state_idx_; - friend class Random_XorShift64_Pool; - public: - - typedef DeviceType device_type; - - enum {MAX_URAND = 0xffffffffU}; - enum {MAX_URAND64 = 0xffffffffffffffffULL-1}; - enum {MAX_RAND = static_cast(0xffffffff/2)}; - enum {MAX_RAND64 = static_cast(0xffffffffffffffffLL/2-1)}; - - KOKKOS_INLINE_FUNCTION - Random_XorShift64 (uint64_t state, int state_idx = 0) - : state_(state==0?uint64_t(1318319):state),state_idx_(state_idx){} +template +struct rand { + KOKKOS_INLINE_FUNCTION + static short max() { return 127; } + KOKKOS_INLINE_FUNCTION + static short draw(Generator& gen) { + return short((gen.rand() & 0xff + 256) % 256); + } + KOKKOS_INLINE_FUNCTION + static short draw(Generator& gen, const char& range) { + return char(gen.rand(range)); + } + KOKKOS_INLINE_FUNCTION + static short draw(Generator& gen, const char& start, const char& end) { + return char(gen.rand(start, end)); + } +}; - KOKKOS_INLINE_FUNCTION - uint32_t urand() { - state_ ^= state_ >> 12; - state_ ^= state_ << 25; - state_ ^= state_ >> 27; - - uint64_t tmp = state_ * 2685821657736338717ULL; - tmp = tmp>>16; - return static_cast(tmp&MAX_URAND); - } +template +struct rand { + KOKKOS_INLINE_FUNCTION + static short max() { return 32767; } + KOKKOS_INLINE_FUNCTION + static short draw(Generator& gen) { + return short((gen.rand() & 0xffff + 65536) % 32768); + } + KOKKOS_INLINE_FUNCTION + static short draw(Generator& gen, const short& range) { + return short(gen.rand(range)); + } + KOKKOS_INLINE_FUNCTION + static short draw(Generator& gen, const short& start, const short& end) { + return short(gen.rand(start, end)); + } +}; - KOKKOS_INLINE_FUNCTION - uint64_t urand64() { - state_ ^= state_ >> 12; - state_ ^= state_ << 25; - state_ ^= state_ >> 27; - return (state_ * 2685821657736338717ULL) - 1; - } +template +struct rand { + KOKKOS_INLINE_FUNCTION + static int max() { return Generator::MAX_RAND; } + KOKKOS_INLINE_FUNCTION + static int draw(Generator& gen) { return gen.rand(); } + KOKKOS_INLINE_FUNCTION + static int draw(Generator& gen, const int& range) { return gen.rand(range); } + KOKKOS_INLINE_FUNCTION + static int draw(Generator& gen, const int& start, const int& end) { + return gen.rand(start, end); + } +}; - KOKKOS_INLINE_FUNCTION - uint32_t urand(const uint32_t& range) { - const uint32_t max_val = (MAX_URAND/range)*range; - uint32_t tmp = urand(); - while(tmp>=max_val) - tmp = urand(); - return tmp%range; - } +template +struct rand { + KOKKOS_INLINE_FUNCTION + static unsigned int max() { return Generator::MAX_URAND; } + KOKKOS_INLINE_FUNCTION + static unsigned int draw(Generator& gen) { return gen.urand(); } + KOKKOS_INLINE_FUNCTION + static unsigned int draw(Generator& gen, const unsigned int& range) { + return gen.urand(range); + } + KOKKOS_INLINE_FUNCTION + static unsigned int draw(Generator& gen, const unsigned int& start, + const unsigned int& end) { + return gen.urand(start, end); + } +}; - KOKKOS_INLINE_FUNCTION - uint32_t urand(const uint32_t& start, const uint32_t& end ) { - return urand(end-start)+start; - } +template +struct rand { + KOKKOS_INLINE_FUNCTION + static long max() { + // FIXME (mfh 26 Oct 2014) It would be better to select the + // return value at compile time, using something like enable_if. + return sizeof(long) == 4 ? static_cast(Generator::MAX_RAND) + : static_cast(Generator::MAX_RAND64); + } + KOKKOS_INLINE_FUNCTION + static long draw(Generator& gen) { + // FIXME (mfh 26 Oct 2014) It would be better to select the + // return value at compile time, using something like enable_if. + return sizeof(long) == 4 ? static_cast(gen.rand()) + : static_cast(gen.rand64()); + } + KOKKOS_INLINE_FUNCTION + static long draw(Generator& gen, const long& range) { + // FIXME (mfh 26 Oct 2014) It would be better to select the + // return value at compile time, using something like enable_if. + return sizeof(long) == 4 + ? static_cast(gen.rand(static_cast(range))) + : static_cast(gen.rand64(range)); + } + KOKKOS_INLINE_FUNCTION + static long draw(Generator& gen, const long& start, const long& end) { + // FIXME (mfh 26 Oct 2014) It would be better to select the + // return value at compile time, using something like enable_if. + return sizeof(long) == 4 + ? static_cast( + gen.rand(static_cast(start), static_cast(end))) + : static_cast(gen.rand64(start, end)); + } +}; - KOKKOS_INLINE_FUNCTION - uint64_t urand64(const uint64_t& range) { - const uint64_t max_val = (MAX_URAND64/range)*range; - uint64_t tmp = urand64(); - while(tmp>=max_val) - tmp = urand64(); - return tmp%range; - } +template +struct rand { + KOKKOS_INLINE_FUNCTION + static unsigned long max() { + // FIXME (mfh 26 Oct 2014) It would be better to select the + // return value at compile time, using something like enable_if. + return sizeof(unsigned long) == 4 + ? static_cast(Generator::MAX_URAND) + : static_cast(Generator::MAX_URAND64); + } + KOKKOS_INLINE_FUNCTION + static unsigned long draw(Generator& gen) { + // FIXME (mfh 26 Oct 2014) It would be better to select the + // return value at compile time, using something like enable_if. + return sizeof(unsigned long) == 4 + ? static_cast(gen.urand()) + : static_cast(gen.urand64()); + } + KOKKOS_INLINE_FUNCTION + static unsigned long draw(Generator& gen, const unsigned long& range) { + // FIXME (mfh 26 Oct 2014) It would be better to select the + // return value at compile time, using something like enable_if. + return sizeof(unsigned long) == 4 + ? static_cast( + gen.urand(static_cast(range))) + : static_cast(gen.urand64(range)); + } + KOKKOS_INLINE_FUNCTION + static unsigned long draw(Generator& gen, const unsigned long& start, + const unsigned long& end) { + // FIXME (mfh 26 Oct 2014) It would be better to select the + // return value at compile time, using something like enable_if. + return sizeof(unsigned long) == 4 + ? static_cast( + gen.urand(static_cast(start), + static_cast(end))) + : static_cast(gen.urand64(start, end)); + } +}; - KOKKOS_INLINE_FUNCTION - uint64_t urand64(const uint64_t& start, const uint64_t& end ) { - return urand64(end-start)+start; - } +// NOTE (mfh 26 oct 2014) This is a partial specialization for long +// long, a C99 / C++11 signed type which is guaranteed to be at +// least 64 bits. Do NOT write a partial specialization for +// int64_t!!! This is just a typedef! It could be either long or +// long long. We don't know which a priori, and I've seen both. +// The types long and long long are guaranteed to differ, so it's +// always safe to specialize for both. +template +struct rand { + KOKKOS_INLINE_FUNCTION + static long long max() { + // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. + return Generator::MAX_RAND64; + } + KOKKOS_INLINE_FUNCTION + static long long draw(Generator& gen) { + // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. + return gen.rand64(); + } + KOKKOS_INLINE_FUNCTION + static long long draw(Generator& gen, const long long& range) { + // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. + return gen.rand64(range); + } + KOKKOS_INLINE_FUNCTION + static long long draw(Generator& gen, const long long& start, + const long long& end) { + // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. + return gen.rand64(start, end); + } +}; - KOKKOS_INLINE_FUNCTION - int rand() { - return static_cast(urand()/2); - } +// NOTE (mfh 26 oct 2014) This is a partial specialization for +// unsigned long long, a C99 / C++11 unsigned type which is +// guaranteed to be at least 64 bits. Do NOT write a partial +// specialization for uint64_t!!! This is just a typedef! It could +// be either unsigned long or unsigned long long. We don't know +// which a priori, and I've seen both. The types unsigned long and +// unsigned long long are guaranteed to differ, so it's always safe +// to specialize for both. +template +struct rand { + KOKKOS_INLINE_FUNCTION + static unsigned long long max() { + // FIXME (mfh 26 Oct 2014) It's legal for unsigned long long to be > 64 + // bits. + return Generator::MAX_URAND64; + } + KOKKOS_INLINE_FUNCTION + static unsigned long long draw(Generator& gen) { + // FIXME (mfh 26 Oct 2014) It's legal for unsigned long long to be > 64 + // bits. + return gen.urand64(); + } + KOKKOS_INLINE_FUNCTION + static unsigned long long draw(Generator& gen, + const unsigned long long& range) { + // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. + return gen.urand64(range); + } + KOKKOS_INLINE_FUNCTION + static unsigned long long draw(Generator& gen, + const unsigned long long& start, + const unsigned long long& end) { + // FIXME (mfh 26 Oct 2014) It's legal for long long to be > 64 bits. + return gen.urand64(start, end); + } +}; - KOKKOS_INLINE_FUNCTION - int rand(const int& range) { - const int max_val = (MAX_RAND/range)*range; - int tmp = rand(); - while(tmp>=max_val) - tmp = rand(); - return tmp%range; - } +template +struct rand { + KOKKOS_INLINE_FUNCTION + static float max() { return 1.0f; } + KOKKOS_INLINE_FUNCTION + static float draw(Generator& gen) { return gen.frand(); } + KOKKOS_INLINE_FUNCTION + static float draw(Generator& gen, const float& range) { + return gen.frand(range); + } + KOKKOS_INLINE_FUNCTION + static float draw(Generator& gen, const float& start, const float& end) { + return gen.frand(start, end); + } +}; - KOKKOS_INLINE_FUNCTION - int rand(const int& start, const int& end ) { - return rand(end-start)+start; - } +template +struct rand { + KOKKOS_INLINE_FUNCTION + static double max() { return 1.0; } + KOKKOS_INLINE_FUNCTION + static double draw(Generator& gen) { return gen.drand(); } + KOKKOS_INLINE_FUNCTION + static double draw(Generator& gen, const double& range) { + return gen.drand(range); + } + KOKKOS_INLINE_FUNCTION + static double draw(Generator& gen, const double& start, const double& end) { + return gen.drand(start, end); + } +}; - KOKKOS_INLINE_FUNCTION - int64_t rand64() { - return static_cast(urand64()/2); - } +template +struct rand > { + KOKKOS_INLINE_FUNCTION + static Kokkos::complex max() { + return Kokkos::complex(1.0, 1.0); + } + KOKKOS_INLINE_FUNCTION + static Kokkos::complex draw(Generator& gen) { + const float re = gen.frand(); + const float im = gen.frand(); + return Kokkos::complex(re, im); + } + KOKKOS_INLINE_FUNCTION + static Kokkos::complex draw(Generator& gen, + const Kokkos::complex& range) { + const float re = gen.frand(real(range)); + const float im = gen.frand(imag(range)); + return Kokkos::complex(re, im); + } + KOKKOS_INLINE_FUNCTION + static Kokkos::complex draw(Generator& gen, + const Kokkos::complex& start, + const Kokkos::complex& end) { + const float re = gen.frand(real(start), real(end)); + const float im = gen.frand(imag(start), imag(end)); + return Kokkos::complex(re, im); + } +}; - KOKKOS_INLINE_FUNCTION - int64_t rand64(const int64_t& range) { - const int64_t max_val = (MAX_RAND64/range)*range; - int64_t tmp = rand64(); - while(tmp>=max_val) - tmp = rand64(); - return tmp%range; - } +template +struct rand > { + KOKKOS_INLINE_FUNCTION + static Kokkos::complex max() { + return Kokkos::complex(1.0, 1.0); + } + KOKKOS_INLINE_FUNCTION + static Kokkos::complex draw(Generator& gen) { + const double re = gen.drand(); + const double im = gen.drand(); + return Kokkos::complex(re, im); + } + KOKKOS_INLINE_FUNCTION + static Kokkos::complex draw(Generator& gen, + const Kokkos::complex& range) { + const double re = gen.drand(real(range)); + const double im = gen.drand(imag(range)); + return Kokkos::complex(re, im); + } + KOKKOS_INLINE_FUNCTION + static Kokkos::complex draw(Generator& gen, + const Kokkos::complex& start, + const Kokkos::complex& end) { + const double re = gen.drand(real(start), real(end)); + const double im = gen.drand(imag(start), imag(end)); + return Kokkos::complex(re, im); + } +}; - KOKKOS_INLINE_FUNCTION - int64_t rand64(const int64_t& start, const int64_t& end ) { - return rand64(end-start)+start; - } +template +class Random_XorShift1024_Pool; - KOKKOS_INLINE_FUNCTION - float frand() { - return 1.0f * urand64()/MAX_URAND64; - } +namespace Impl { - KOKKOS_INLINE_FUNCTION - float frand(const float& range) { - return range * urand64()/MAX_URAND64; - } +template +struct Random_XorShift1024_State { + uint64_t state_[16]; + KOKKOS_DEFAULTED_FUNCTION + Random_XorShift1024_State() = default; - KOKKOS_INLINE_FUNCTION - float frand(const float& start, const float& end ) { - return frand(end-start)+start; - } + template + KOKKOS_FUNCTION Random_XorShift1024_State(const StateViewType& v, + int state_idx) { + for (int i = 0; i < 16; i++) state_[i] = v(state_idx, i); + } - KOKKOS_INLINE_FUNCTION - double drand() { - return 1.0 * urand64()/MAX_URAND64; - } + KOKKOS_FUNCTION + uint64_t operator[](const int i) const { return state_[i]; } - KOKKOS_INLINE_FUNCTION - double drand(const double& range) { - return range * urand64()/MAX_URAND64; - } + KOKKOS_FUNCTION + uint64_t& operator[](const int i) { return state_[i]; } +}; - KOKKOS_INLINE_FUNCTION - double drand(const double& start, const double& end ) { - return drand(end-start)+start; - } +template <> +struct Random_XorShift1024_State { + uint64_t* state_; + const int stride_; + KOKKOS_FUNCTION + Random_XorShift1024_State() : state_(nullptr), stride_(1){}; - //Marsaglia polar method for drawing a standard normal distributed random number - KOKKOS_INLINE_FUNCTION - double normal() { - double S = 2.0; - double U; - while(S>=1.0) { - U = 2.0*drand() - 1.0; - const double V = 2.0*drand() - 1.0; - S = U*U+V*V; - } - return U*std::sqrt(-2.0*log(S)/S); - } + template + KOKKOS_FUNCTION Random_XorShift1024_State(const StateViewType& v, + int state_idx) + : state_(&v(state_idx, 0)), stride_(v.stride_1()) {} - KOKKOS_INLINE_FUNCTION - double normal(const double& mean, const double& std_dev=1.0) { - return mean + normal()*std_dev; - } + KOKKOS_FUNCTION + uint64_t operator[](const int i) const { return state_[i * stride_]; } - }; + KOKKOS_FUNCTION + uint64_t& operator[](const int i) { return state_[i * stride_]; } +}; - template - class Random_XorShift64_Pool { - private: - typedef View lock_type; - typedef View state_data_type; - lock_type locks_; - state_data_type state_; - int num_states_; - - public: - typedef Random_XorShift64 generator_type; - typedef DeviceType device_type; +template +struct Random_XorShift1024_UseCArrayState : std::true_type {}; - KOKKOS_INLINE_FUNCTION - Random_XorShift64_Pool() { - num_states_ = 0; - } - Random_XorShift64_Pool(uint64_t seed) { - num_states_ = 0; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - init(seed,DeviceType::max_hardware_threads()); -#else - init(seed,DeviceType::impl_max_hardware_threads()); +#ifdef KOKKOS_ENABLE_CUDA +template <> +struct Random_XorShift1024_UseCArrayState : std::false_type {}; +#endif +#ifdef KOKKOS_ENABLE_HIP +template <> +struct Random_XorShift1024_UseCArrayState + : std::false_type {}; +#endif +#ifdef KOKKOS_ENABLE_OPENMPTARGET +template <> +struct Random_XorShift1024_UseCArrayState + : std::false_type {}; #endif - } - - KOKKOS_INLINE_FUNCTION - Random_XorShift64_Pool(const Random_XorShift64_Pool& src): - locks_(src.locks_), - state_(src.state_), - num_states_(src.num_states_) - {} - - KOKKOS_INLINE_FUNCTION - Random_XorShift64_Pool operator = (const Random_XorShift64_Pool& src) { - locks_ = src.locks_; - state_ = src.state_; - num_states_ = src.num_states_; - return *this; - } - - void init(uint64_t seed, int num_states) { - if(seed==0) - seed = uint64_t(1318319); - - num_states_ = num_states; - - locks_ = lock_type("Kokkos::Random_XorShift64::locks",num_states_); - state_ = state_data_type("Kokkos::Random_XorShift64::state",num_states_); - - typename state_data_type::HostMirror h_state = create_mirror_view(state_); - typename lock_type::HostMirror h_lock = create_mirror_view(locks_); - - // Execute on the HostMirror's default execution space. - Random_XorShift64 gen(seed,0); - for(int i = 0; i < 17; i++) - gen.rand(); - for(int i = 0; i < num_states_; i++) { - int n1 = gen.rand(); - int n2 = gen.rand(); - int n3 = gen.rand(); - int n4 = gen.rand(); - h_state(i) = (((static_cast(n1)) & 0xffff)<<00) | - (((static_cast(n2)) & 0xffff)<<16) | - (((static_cast(n3)) & 0xffff)<<32) | - (((static_cast(n4)) & 0xffff)<<48); - h_lock(i) = 0; - } - deep_copy(state_,h_state); - deep_copy(locks_,h_lock); - } - KOKKOS_INLINE_FUNCTION - Random_XorShift64 get_state() const { +template +struct Random_UniqueIndex { + using locks_view_type = View; + KOKKOS_FUNCTION + static int get_state_idx(const locks_view_type) { +#ifdef KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST #ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int i = DeviceType::hardware_thread_id();; + const int i = ExecutionSpace::hardware_thread_id(); #else - const int i = DeviceType::impl_hardware_thread_id();; + const int i = ExecutionSpace::impl_hardware_thread_id(); #endif - return Random_XorShift64(state_(i),i); - } - - // NOTE: state_idx MUST be unique and less than num_states - KOKKOS_INLINE_FUNCTION - Random_XorShift64 get_state(const int state_idx) const { - return Random_XorShift64(state_(state_idx),state_idx); - } - - KOKKOS_INLINE_FUNCTION - void free_state(const Random_XorShift64& state) const { - state_(state.state_idx_) = state.state_; - } - }; - - - template - class Random_XorShift1024_Pool; - - template - class Random_XorShift1024 { - private: - int p_; - const int state_idx_; - uint64_t state_[16]; - friend class Random_XorShift1024_Pool; - public: - - typedef Random_XorShift1024_Pool pool_type; - typedef DeviceType device_type; - - enum {MAX_URAND = 0xffffffffU}; - enum {MAX_URAND64 = 0xffffffffffffffffULL-1}; - enum {MAX_RAND = static_cast(0xffffffffU/2)}; - enum {MAX_RAND64 = static_cast(0xffffffffffffffffULL/2-1)}; - - KOKKOS_INLINE_FUNCTION - Random_XorShift1024 (const typename pool_type::state_data_type& state, int p, int state_idx = 0): - p_(p),state_idx_(state_idx){ - for(int i=0 ; i<16; i++) - state_[i] = state(state_idx,i); - } - - KOKKOS_INLINE_FUNCTION - uint32_t urand() { - uint64_t state_0 = state_[ p_ ]; - uint64_t state_1 = state_[ p_ = ( p_ + 1 ) & 15 ]; - state_1 ^= state_1 << 31; - state_1 ^= state_1 >> 11; - state_0 ^= state_0 >> 30; - uint64_t tmp = ( state_[ p_ ] = state_0 ^ state_1 ) * 1181783497276652981ULL; - tmp = tmp>>16; - return static_cast(tmp&MAX_URAND); - } - - KOKKOS_INLINE_FUNCTION - uint64_t urand64() { - uint64_t state_0 = state_[ p_ ]; - uint64_t state_1 = state_[ p_ = ( p_ + 1 ) & 15 ]; - state_1 ^= state_1 << 31; - state_1 ^= state_1 >> 11; - state_0 ^= state_0 >> 30; - return (( state_[ p_ ] = state_0 ^ state_1 ) * 1181783497276652981LL) - 1; - } - - KOKKOS_INLINE_FUNCTION - uint32_t urand(const uint32_t& range) { - const uint32_t max_val = (MAX_URAND/range)*range; - uint32_t tmp = urand(); - while(tmp>=max_val) - tmp = urand(); - return tmp%range; - } - - KOKKOS_INLINE_FUNCTION - uint32_t urand(const uint32_t& start, const uint32_t& end ) { - return urand(end-start)+start; - } - - KOKKOS_INLINE_FUNCTION - uint64_t urand64(const uint64_t& range) { - const uint64_t max_val = (MAX_URAND64/range)*range; - uint64_t tmp = urand64(); - while(tmp>=max_val) - tmp = urand64(); - return tmp%range; - } - - KOKKOS_INLINE_FUNCTION - uint64_t urand64(const uint64_t& start, const uint64_t& end ) { - return urand64(end-start)+start; - } - - KOKKOS_INLINE_FUNCTION - int rand() { - return static_cast(urand()/2); - } - - KOKKOS_INLINE_FUNCTION - int rand(const int& range) { - const int max_val = (MAX_RAND/range)*range; - int tmp = rand(); - while(tmp>=max_val) - tmp = rand(); - return tmp%range; - } - - KOKKOS_INLINE_FUNCTION - int rand(const int& start, const int& end ) { - return rand(end-start)+start; - } - - KOKKOS_INLINE_FUNCTION - int64_t rand64() { - return static_cast(urand64()/2); - } - - KOKKOS_INLINE_FUNCTION - int64_t rand64(const int64_t& range) { - const int64_t max_val = (MAX_RAND64/range)*range; - int64_t tmp = rand64(); - while(tmp>=max_val) - tmp = rand64(); - return tmp%range; - } - - KOKKOS_INLINE_FUNCTION - int64_t rand64(const int64_t& start, const int64_t& end ) { - return rand64(end-start)+start; - } - - KOKKOS_INLINE_FUNCTION - float frand() { - return 1.0f * urand64()/MAX_URAND64; - } - - KOKKOS_INLINE_FUNCTION - float frand(const float& range) { - return range * urand64()/MAX_URAND64; - } - - KOKKOS_INLINE_FUNCTION - float frand(const float& start, const float& end ) { - return frand(end-start)+start; - } - - KOKKOS_INLINE_FUNCTION - double drand() { - return 1.0 * urand64()/MAX_URAND64; - } - - KOKKOS_INLINE_FUNCTION - double drand(const double& range) { - return range * urand64()/MAX_URAND64; - } - - KOKKOS_INLINE_FUNCTION - double drand(const double& start, const double& end ) { - return frand(end-start)+start; - } - - //Marsaglia polar method for drawing a standard normal distributed random number - KOKKOS_INLINE_FUNCTION - double normal() { - double S = 2.0; - double U; - while(S>=1.0) { - U = 2.0*drand() - 1.0; - const double V = 2.0*drand() - 1.0; - S = U*U+V*V; - } - return U*std::sqrt(-2.0*log(S)/S); - } - - KOKKOS_INLINE_FUNCTION - double normal(const double& mean, const double& std_dev=1.0) { - return mean + normal()*std_dev; - } - }; - - - template - class Random_XorShift1024_Pool { - private: - typedef View int_view_type; - typedef View state_data_type; - - int_view_type locks_; - state_data_type state_; - int_view_type p_; - int num_states_; - friend class Random_XorShift1024; - - public: - typedef Random_XorShift1024 generator_type; - - typedef DeviceType device_type; - - KOKKOS_INLINE_FUNCTION - Random_XorShift1024_Pool() { - num_states_ = 0; - } - - inline - Random_XorShift1024_Pool(uint64_t seed){ - num_states_ = 0; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - init(seed,DeviceType::max_hardware_threads()); + return i; #else - init(seed,DeviceType::impl_max_hardware_threads()); + return 0; #endif - } - - KOKKOS_INLINE_FUNCTION - Random_XorShift1024_Pool(const Random_XorShift1024_Pool& src): - locks_(src.locks_), - state_(src.state_), - p_(src.p_), - num_states_(src.num_states_) - {} - - KOKKOS_INLINE_FUNCTION - Random_XorShift1024_Pool operator = (const Random_XorShift1024_Pool& src) { - locks_ = src.locks_; - state_ = src.state_; - p_ = src.p_; - num_states_ = src.num_states_; - return *this; - } + } +}; - inline - void init(uint64_t seed, int num_states) { - if(seed==0) - seed = uint64_t(1318319); - num_states_ = num_states; - locks_ = int_view_type("Kokkos::Random_XorShift1024::locks",num_states_); - state_ = state_data_type("Kokkos::Random_XorShift1024::state",num_states_); - p_ = int_view_type("Kokkos::Random_XorShift1024::p",num_states_); - - typename state_data_type::HostMirror h_state = create_mirror_view(state_); - typename int_view_type::HostMirror h_lock = create_mirror_view(locks_); - typename int_view_type::HostMirror h_p = create_mirror_view(p_); - - // Execute on the HostMirror's default execution space. - Random_XorShift64 gen(seed,0); - for(int i = 0; i < 17; i++) - gen.rand(); - for(int i = 0; i < num_states_; i++) { - for(int j = 0; j < 16 ; j++) { - int n1 = gen.rand(); - int n2 = gen.rand(); - int n3 = gen.rand(); - int n4 = gen.rand(); - h_state(i,j) = (((static_cast(n1)) & 0xffff)<<00) | - (((static_cast(n2)) & 0xffff)<<16) | - (((static_cast(n3)) & 0xffff)<<32) | - (((static_cast(n4)) & 0xffff)<<48); - } - h_p(i) = 0; - h_lock(i) = 0; +#ifdef KOKKOS_ENABLE_CUDA +template <> +struct Random_UniqueIndex { + using locks_view_type = View; + KOKKOS_FUNCTION + static int get_state_idx(const locks_view_type& locks_) { +#ifdef __CUDA_ARCH__ + const int i_offset = + (threadIdx.x * blockDim.y + threadIdx.y) * blockDim.z + threadIdx.z; + int i = (((blockIdx.x * gridDim.y + blockIdx.y) * gridDim.z + blockIdx.z) * + blockDim.x * blockDim.y * blockDim.z + + i_offset) % + locks_.extent(0); + while (Kokkos::atomic_compare_exchange(&locks_(i), 0, 1)) { + i += blockDim.x * blockDim.y * blockDim.z; + if (i >= static_cast(locks_.extent(0))) { + i = i_offset; } - deep_copy(state_,h_state); - deep_copy(locks_,h_lock); } - - KOKKOS_INLINE_FUNCTION - Random_XorShift1024 get_state() const { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE - const int i = DeviceType::hardware_thread_id(); + return i; #else - const int i = DeviceType::impl_hardware_thread_id(); + (void)locks_; + return 0; +#endif + } +}; #endif - return Random_XorShift1024(state_,p_(i),i); - }; - - // NOTE: state_idx MUST be unique and less than num_states - KOKKOS_INLINE_FUNCTION - Random_XorShift1024 get_state(const int state_idx) const { - return Random_XorShift1024(state_,p_(state_idx),state_idx); - } - KOKKOS_INLINE_FUNCTION - void free_state(const Random_XorShift1024& state) const { - for(int i = 0; i<16; i++) - state_(state.state_idx_,i) = state.state_[i]; - p_(state.state_idx_) = state.p_; +#ifdef KOKKOS_ENABLE_HIP +template <> +struct Random_UniqueIndex { + using locks_view_type = View; + KOKKOS_FUNCTION + static int get_state_idx(const locks_view_type& locks_) { +#ifdef __HIP_DEVICE_COMPILE__ + const int i_offset = + (hipThreadIdx_x * hipBlockDim_y + hipThreadIdx_y) * hipBlockDim_z + + hipThreadIdx_z; + int i = (((hipBlockIdx_x * hipGridDim_y + hipBlockIdx_y) * hipGridDim_z + + hipBlockIdx_z) * + hipBlockDim_x * hipBlockDim_y * hipBlockDim_z + + i_offset) % + locks_.extent(0); + while (Kokkos::atomic_compare_exchange(&locks_(i), 0, 1)) { + i += hipBlockDim_x * hipBlockDim_y * hipBlockDim_z; + if (i >= static_cast(locks_.extent(0))) { + i = i_offset; + } } - }; - -#if defined(KOKKOS_ENABLE_CUDA) && defined(__CUDACC__) - - template<> - class Random_XorShift1024 { - private: - int p_; - const int state_idx_; - uint64_t* state_; - const int stride_; - friend class Random_XorShift1024_Pool; - public: - - typedef Kokkos::Cuda device_type; - typedef Random_XorShift1024_Pool pool_type; + return i; +#else + (void)locks_; + return 0; +#endif + } +}; +#endif - enum {MAX_URAND = 0xffffffffU}; - enum {MAX_URAND64 = 0xffffffffffffffffULL-1}; - enum {MAX_RAND = static_cast(0xffffffffU/2)}; - enum {MAX_RAND64 = static_cast(0xffffffffffffffffULL/2-1)}; +} // namespace Impl - KOKKOS_INLINE_FUNCTION - Random_XorShift1024 (const typename pool_type::state_data_type& state, int p, int state_idx = 0): - p_(p),state_idx_(state_idx),state_(&state(state_idx,0)),stride_(state.stride_1()){ - } +template +class Random_XorShift64_Pool; - KOKKOS_INLINE_FUNCTION - uint32_t urand() { - uint64_t state_0 = state_[ p_ * stride_ ]; - uint64_t state_1 = state_[ (p_ = ( p_ + 1 ) & 15) * stride_ ]; - state_1 ^= state_1 << 31; - state_1 ^= state_1 >> 11; - state_0 ^= state_0 >> 30; - uint64_t tmp = ( state_[ p_ * stride_ ] = state_0 ^ state_1 ) * 1181783497276652981ULL; - tmp = tmp>>16; - return static_cast(tmp&MAX_URAND); - } +template +class Random_XorShift64 { + private: + uint64_t state_; + const int state_idx_; + friend class Random_XorShift64_Pool; - KOKKOS_INLINE_FUNCTION - uint64_t urand64() { - uint64_t state_0 = state_[ p_ * stride_ ]; - uint64_t state_1 = state_[ (p_ = ( p_ + 1 ) & 15) * stride_ ]; - state_1 ^= state_1 << 31; - state_1 ^= state_1 >> 11; - state_0 ^= state_0 >> 30; - return (( state_[ p_ * stride_ ] = state_0 ^ state_1 ) * 1181783497276652981LL) - 1; - } + public: + typedef DeviceType device_type; - KOKKOS_INLINE_FUNCTION - uint32_t urand(const uint32_t& range) { - const uint32_t max_val = (MAX_URAND/range)*range; - uint32_t tmp = urand(); - while(tmp>=max_val) - urand(); - return tmp%range; - } + constexpr static uint32_t MAX_URAND = std::numeric_limits::max(); + constexpr static uint64_t MAX_URAND64 = std::numeric_limits::max(); + constexpr static int32_t MAX_RAND = std::numeric_limits::max(); + constexpr static int64_t MAX_RAND64 = std::numeric_limits::max(); - KOKKOS_INLINE_FUNCTION - uint32_t urand(const uint32_t& start, const uint32_t& end ) { - return urand(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + Random_XorShift64(uint64_t state, int state_idx = 0) + : state_(state == 0 ? uint64_t(1318319) : state), state_idx_(state_idx) {} - KOKKOS_INLINE_FUNCTION - uint64_t urand64(const uint64_t& range) { - const uint64_t max_val = (MAX_URAND64/range)*range; - uint64_t tmp = urand64(); - while(tmp>=max_val) - urand64(); - return tmp%range; - } + KOKKOS_INLINE_FUNCTION + uint32_t urand() { + state_ ^= state_ >> 12; + state_ ^= state_ << 25; + state_ ^= state_ >> 27; + + uint64_t tmp = state_ * 2685821657736338717ULL; + tmp = tmp >> 16; + return static_cast(tmp & MAX_URAND); + } - KOKKOS_INLINE_FUNCTION - uint64_t urand64(const uint64_t& start, const uint64_t& end ) { - return urand64(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + uint64_t urand64() { + state_ ^= state_ >> 12; + state_ ^= state_ << 25; + state_ ^= state_ >> 27; + return (state_ * 2685821657736338717ULL) - 1; + } - KOKKOS_INLINE_FUNCTION - int rand() { - return static_cast(urand()/2); - } + KOKKOS_INLINE_FUNCTION + uint32_t urand(const uint32_t& range) { + const uint32_t max_val = (MAX_URAND / range) * range; + uint32_t tmp = urand(); + while (tmp >= max_val) tmp = urand(); + return tmp % range; + } - KOKKOS_INLINE_FUNCTION - int rand(const int& range) { - const int max_val = (MAX_RAND/range)*range; - int tmp = rand(); - while(tmp>=max_val) - rand(); - return tmp%range; - } + KOKKOS_INLINE_FUNCTION + uint32_t urand(const uint32_t& start, const uint32_t& end) { + return urand(end - start) + start; + } - KOKKOS_INLINE_FUNCTION - int rand(const int& start, const int& end ) { - return rand(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + uint64_t urand64(const uint64_t& range) { + const uint64_t max_val = (MAX_URAND64 / range) * range; + uint64_t tmp = urand64(); + while (tmp >= max_val) tmp = urand64(); + return tmp % range; + } - KOKKOS_INLINE_FUNCTION - int64_t rand64() { - return static_cast(urand64()/2); - } + KOKKOS_INLINE_FUNCTION + uint64_t urand64(const uint64_t& start, const uint64_t& end) { + return urand64(end - start) + start; + } - KOKKOS_INLINE_FUNCTION - int64_t rand64(const int64_t& range) { - const int64_t max_val = (MAX_RAND64/range)*range; - int64_t tmp = rand64(); - while(tmp>=max_val) - rand64(); - return tmp%range; - } + KOKKOS_INLINE_FUNCTION + int rand() { return static_cast(urand() / 2); } - KOKKOS_INLINE_FUNCTION - int64_t rand64(const int64_t& start, const int64_t& end ) { - return rand64(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + int rand(const int& range) { + const int max_val = (MAX_RAND / range) * range; + int tmp = rand(); + while (tmp >= max_val) tmp = rand(); + return tmp % range; + } - KOKKOS_INLINE_FUNCTION - float frand() { - return 1.0f * urand64()/MAX_URAND64; - } + KOKKOS_INLINE_FUNCTION + int rand(const int& start, const int& end) { + return rand(end - start) + start; + } - KOKKOS_INLINE_FUNCTION - float frand(const float& range) { - return range * urand64()/MAX_URAND64; - } + KOKKOS_INLINE_FUNCTION + int64_t rand64() { return static_cast(urand64() / 2); } - KOKKOS_INLINE_FUNCTION - float frand(const float& start, const float& end ) { - return frand(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + int64_t rand64(const int64_t& range) { + const int64_t max_val = (MAX_RAND64 / range) * range; + int64_t tmp = rand64(); + while (tmp >= max_val) tmp = rand64(); + return tmp % range; + } - KOKKOS_INLINE_FUNCTION - double drand() { - return 1.0 * urand64()/MAX_URAND64; - } + KOKKOS_INLINE_FUNCTION + int64_t rand64(const int64_t& start, const int64_t& end) { + return rand64(end - start) + start; + } - KOKKOS_INLINE_FUNCTION - double drand(const double& range) { - return range * urand64()/MAX_URAND64; - } + KOKKOS_INLINE_FUNCTION + float frand() { return urand64() / static_cast(MAX_URAND64); } - KOKKOS_INLINE_FUNCTION - double drand(const double& start, const double& end ) { - return frand(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + float frand(const float& range) { + return range * urand64() / static_cast(MAX_URAND64); + } - //Marsaglia polar method for drawing a standard normal distributed random number - KOKKOS_INLINE_FUNCTION - double normal() { - double S = 2.0; - double U; - while(S>=1.0) { - U = 2.0*drand() - 1.0; - const double V = 2.0*drand() - 1.0; - S = U*U+V*V; - } - return U*std::sqrt(-2.0*log(S)/S); - } + KOKKOS_INLINE_FUNCTION + float frand(const float& start, const float& end) { + return frand(end - start) + start; + } - KOKKOS_INLINE_FUNCTION - double normal(const double& mean, const double& std_dev=1.0) { - return mean + normal()*std_dev; - } - }; + KOKKOS_INLINE_FUNCTION + double drand() { return urand64() / static_cast(MAX_URAND64); } -template<> -inline -Random_XorShift64_Pool::Random_XorShift64_Pool(uint64_t seed) { - num_states_ = 0; - init(seed,4*32768); -} + KOKKOS_INLINE_FUNCTION + double drand(const double& range) { + return range * urand64() / static_cast(MAX_URAND64); + } -template<> -KOKKOS_INLINE_FUNCTION -Random_XorShift64 Random_XorShift64_Pool::get_state() const { -#ifdef __CUDA_ARCH__ - const int i_offset = (threadIdx.x*blockDim.y + threadIdx.y)*blockDim.z+threadIdx.z; - int i = (((blockIdx.x*gridDim.y+blockIdx.y)*gridDim.z + blockIdx.z) * - blockDim.x*blockDim.y*blockDim.z + i_offset)%num_states_; - while(Kokkos::atomic_compare_exchange(&locks_(i),0,1)) { - i+=blockDim.x*blockDim.y*blockDim.z; - if(i>=num_states_) {i = i_offset;} + KOKKOS_INLINE_FUNCTION + double drand(const double& start, const double& end) { + return drand(end - start) + start; } - return Random_XorShift64(state_(i),i); + // Marsaglia polar method for drawing a standard normal distributed random + // number + KOKKOS_INLINE_FUNCTION + double normal() { +#ifndef __HIP_DEVICE_COMPILE__ // FIXME_HIP + using std::sqrt; #else - return Random_XorShift64(state_(0),0); + using ::sqrt; #endif -} - -template<> -KOKKOS_INLINE_FUNCTION -void Random_XorShift64_Pool::free_state(const Random_XorShift64 &state) const { - state_(state.state_idx_) = state.state_; -#ifdef __CUDA_ARCH__ - locks_(state.state_idx_) = 0; - return; -#endif -} + double S = 2.0; + double U; + while (S >= 1.0) { + U = 2.0 * drand() - 1.0; + const double V = 2.0 * drand() - 1.0; + S = U * U + V * V; + } + return U * sqrt(-2.0 * log(S) / S); + } + KOKKOS_INLINE_FUNCTION + double normal(const double& mean, const double& std_dev = 1.0) { + return mean + normal() * std_dev; + } +}; -template<> -inline -Random_XorShift1024_Pool::Random_XorShift1024_Pool(uint64_t seed) { - num_states_ = 0; - init(seed,4*32768); -} +template +class Random_XorShift64_Pool { + private: + using execution_space = typename DeviceType::execution_space; + typedef View locks_type; + typedef View state_data_type; + locks_type locks_; + state_data_type state_; + int num_states_; -template<> -KOKKOS_INLINE_FUNCTION -Random_XorShift1024 Random_XorShift1024_Pool::get_state() const { -#ifdef __CUDA_ARCH__ - const int i_offset = (threadIdx.x*blockDim.y + threadIdx.y)*blockDim.z+threadIdx.z; - int i = (((blockIdx.x*gridDim.y+blockIdx.y)*gridDim.z + blockIdx.z) * - blockDim.x*blockDim.y*blockDim.z + i_offset)%num_states_; - while(Kokkos::atomic_compare_exchange(&locks_(i),0,1)) { - i+=blockDim.x*blockDim.y*blockDim.z; - if(i>=num_states_) {i = i_offset;} - } + public: + typedef Random_XorShift64 generator_type; + typedef DeviceType device_type; - return Random_XorShift1024(state_, p_(i), i); -#else - return Random_XorShift1024(state_, p_(0), 0); -#endif -} + KOKKOS_INLINE_FUNCTION + Random_XorShift64_Pool() { num_states_ = 0; } + Random_XorShift64_Pool(uint64_t seed) { + num_states_ = 0; -template<> -KOKKOS_INLINE_FUNCTION -void Random_XorShift1024_Pool::free_state(const Random_XorShift1024 &state) const { - for(int i=0; i<16; i++) - state_(state.state_idx_,i) = state.state_[i]; -#ifdef __CUDA_ARCH__ - locks_(state.state_idx_) = 0; - return; -#endif -} + init(seed, execution_space().concurrency()); + } + KOKKOS_INLINE_FUNCTION + Random_XorShift64_Pool(const Random_XorShift64_Pool& src) + : locks_(src.locks_), state_(src.state_), num_states_(src.num_states_) {} -#endif + KOKKOS_INLINE_FUNCTION + Random_XorShift64_Pool operator=(const Random_XorShift64_Pool& src) { + locks_ = src.locks_; + state_ = src.state_; + num_states_ = src.num_states_; + return *this; + } -#if defined(KOKKOS_ENABLE_ROCM) + void init(uint64_t seed, int num_states) { + if (seed == 0) seed = uint64_t(1318319); + + num_states_ = num_states; + + locks_ = locks_type("Kokkos::Random_XorShift64::locks", num_states_); + state_ = state_data_type("Kokkos::Random_XorShift64::state", num_states_); + + typename state_data_type::HostMirror h_state = create_mirror_view(state_); + typename locks_type::HostMirror h_lock = create_mirror_view(locks_); + + // Execute on the HostMirror's default execution space. + Random_XorShift64 + gen(seed, 0); + for (int i = 0; i < 17; i++) gen.rand(); + for (int i = 0; i < num_states_; i++) { + int n1 = gen.rand(); + int n2 = gen.rand(); + int n3 = gen.rand(); + int n4 = gen.rand(); + h_state(i) = (((static_cast(n1)) & 0xffff) << 00) | + (((static_cast(n2)) & 0xffff) << 16) | + (((static_cast(n3)) & 0xffff) << 32) | + (((static_cast(n4)) & 0xffff) << 48); + h_lock(i) = 0; + } + deep_copy(state_, h_state); + deep_copy(locks_, h_lock); + } - template<> - class Random_XorShift1024 { - private: - int p_; - const int state_idx_; - uint64_t* state_; - const int stride_; - friend class Random_XorShift1024_Pool; - public: + KOKKOS_INLINE_FUNCTION + Random_XorShift64 get_state() const { + const int i = + Impl::Random_UniqueIndex::get_state_idx(locks_); + return Random_XorShift64(state_(i), i); + } - typedef Kokkos::Experimental::ROCm device_type; - typedef Random_XorShift1024_Pool pool_type; + // NOTE: state_idx MUST be unique and less than num_states + KOKKOS_INLINE_FUNCTION + Random_XorShift64 get_state(const int state_idx) const { + return Random_XorShift64(state_(state_idx), state_idx); + } - enum {MAX_URAND = 0xffffffffU}; - enum {MAX_URAND64 = 0xffffffffffffffffULL-1}; - enum {MAX_RAND = static_cast(0xffffffffU/2)}; - enum {MAX_RAND64 = static_cast(0xffffffffffffffffULL/2-1)}; + KOKKOS_INLINE_FUNCTION + void free_state(const Random_XorShift64& state) const { + state_(state.state_idx_) = state.state_; + locks_(state.state_idx_) = 0; + } +}; - KOKKOS_INLINE_FUNCTION - Random_XorShift1024 (const typename pool_type::state_data_type& state, int p, int state_idx = 0): - p_(p),state_idx_(state_idx),state_(&state(state_idx,0)),stride_(state.stride_1()){ - } +template +class Random_XorShift1024 { + using execution_space = typename DeviceType::execution_space; - KOKKOS_INLINE_FUNCTION - uint32_t urand() { - uint64_t state_0 = state_[ p_ * stride_ ]; - uint64_t state_1 = state_[ (p_ = ( p_ + 1 ) & 15) * stride_ ]; - state_1 ^= state_1 << 31; - state_1 ^= state_1 >> 11; - state_0 ^= state_0 >> 30; - uint64_t tmp = ( state_[ p_ * stride_ ] = state_0 ^ state_1 ) * 1181783497276652981ULL; - tmp = tmp>>16; - return static_cast(tmp&MAX_URAND); - } + private: + int p_; + const int state_idx_; + Impl::Random_XorShift1024_State< + Impl::Random_XorShift1024_UseCArrayState::value> + state_; + friend class Random_XorShift1024_Pool; - KOKKOS_INLINE_FUNCTION - uint64_t urand64() { - uint64_t state_0 = state_[ p_ * stride_ ]; - uint64_t state_1 = state_[ (p_ = ( p_ + 1 ) & 15) * stride_ ]; - state_1 ^= state_1 << 31; - state_1 ^= state_1 >> 11; - state_0 ^= state_0 >> 30; - return (( state_[ p_ * stride_ ] = state_0 ^ state_1 ) * 1181783497276652981LL) - 1; - } + public: + typedef Random_XorShift1024_Pool pool_type; + typedef DeviceType device_type; - KOKKOS_INLINE_FUNCTION - uint32_t urand(const uint32_t& range) { - const uint32_t max_val = (MAX_URAND/range)*range; - uint32_t tmp = urand(); - while(tmp>=max_val) - urand(); - return tmp%range; - } + constexpr static uint32_t MAX_URAND = std::numeric_limits::max(); + constexpr static uint64_t MAX_URAND64 = std::numeric_limits::max(); + constexpr static int32_t MAX_RAND = std::numeric_limits::max(); + constexpr static int64_t MAX_RAND64 = std::numeric_limits::max(); - KOKKOS_INLINE_FUNCTION - uint32_t urand(const uint32_t& start, const uint32_t& end ) { - return urand(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + Random_XorShift1024(const typename pool_type::state_data_type& state, int p, + int state_idx = 0) + : p_(p), state_idx_(state_idx), state_(state, state_idx) {} - KOKKOS_INLINE_FUNCTION - uint64_t urand64(const uint64_t& range) { - const uint64_t max_val = (MAX_URAND64/range)*range; - uint64_t tmp = urand64(); - while(tmp>=max_val) - urand64(); - return tmp%range; - } + KOKKOS_INLINE_FUNCTION + uint32_t urand() { + uint64_t state_0 = state_[p_]; + uint64_t state_1 = state_[p_ = (p_ + 1) & 15]; + state_1 ^= state_1 << 31; + state_1 ^= state_1 >> 11; + state_0 ^= state_0 >> 30; + uint64_t tmp = (state_[p_] = state_0 ^ state_1) * 1181783497276652981ULL; + tmp = tmp >> 16; + return static_cast(tmp & MAX_URAND); + } - KOKKOS_INLINE_FUNCTION - uint64_t urand64(const uint64_t& start, const uint64_t& end ) { - return urand64(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + uint64_t urand64() { + uint64_t state_0 = state_[p_]; + uint64_t state_1 = state_[p_ = (p_ + 1) & 15]; + state_1 ^= state_1 << 31; + state_1 ^= state_1 >> 11; + state_0 ^= state_0 >> 30; + return ((state_[p_] = state_0 ^ state_1) * 1181783497276652981LL) - 1; + } - KOKKOS_INLINE_FUNCTION - int rand() { - return static_cast(urand()/2); - } + KOKKOS_INLINE_FUNCTION + uint32_t urand(const uint32_t& range) { + const uint32_t max_val = (MAX_URAND / range) * range; + uint32_t tmp = urand(); + while (tmp >= max_val) tmp = urand(); + return tmp % range; + } - KOKKOS_INLINE_FUNCTION - int rand(const int& range) { - const int max_val = (MAX_RAND/range)*range; - int tmp = rand(); - while(tmp>=max_val) - rand(); - return tmp%range; - } + KOKKOS_INLINE_FUNCTION + uint32_t urand(const uint32_t& start, const uint32_t& end) { + return urand(end - start) + start; + } - KOKKOS_INLINE_FUNCTION - int rand(const int& start, const int& end ) { - return rand(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + uint64_t urand64(const uint64_t& range) { + const uint64_t max_val = (MAX_URAND64 / range) * range; + uint64_t tmp = urand64(); + while (tmp >= max_val) tmp = urand64(); + return tmp % range; + } - KOKKOS_INLINE_FUNCTION - int64_t rand64() { - return static_cast(urand64()/2); - } + KOKKOS_INLINE_FUNCTION + uint64_t urand64(const uint64_t& start, const uint64_t& end) { + return urand64(end - start) + start; + } - KOKKOS_INLINE_FUNCTION - int64_t rand64(const int64_t& range) { - const int64_t max_val = (MAX_RAND64/range)*range; - int64_t tmp = rand64(); - while(tmp>=max_val) - rand64(); - return tmp%range; - } + KOKKOS_INLINE_FUNCTION + int rand() { return static_cast(urand() / 2); } - KOKKOS_INLINE_FUNCTION - int64_t rand64(const int64_t& start, const int64_t& end ) { - return rand64(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + int rand(const int& range) { + const int max_val = (MAX_RAND / range) * range; + int tmp = rand(); + while (tmp >= max_val) tmp = rand(); + return tmp % range; + } - KOKKOS_INLINE_FUNCTION - float frand() { - return 1.0f * urand64()/MAX_URAND64; - } + KOKKOS_INLINE_FUNCTION + int rand(const int& start, const int& end) { + return rand(end - start) + start; + } - KOKKOS_INLINE_FUNCTION - float frand(const float& range) { - return range * urand64()/MAX_URAND64; - } + KOKKOS_INLINE_FUNCTION + int64_t rand64() { return static_cast(urand64() / 2); } - KOKKOS_INLINE_FUNCTION - float frand(const float& start, const float& end ) { - return frand(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + int64_t rand64(const int64_t& range) { + const int64_t max_val = (MAX_RAND64 / range) * range; + int64_t tmp = rand64(); + while (tmp >= max_val) tmp = rand64(); + return tmp % range; + } - KOKKOS_INLINE_FUNCTION - double drand() { - return 1.0 * urand64()/MAX_URAND64; - } + KOKKOS_INLINE_FUNCTION + int64_t rand64(const int64_t& start, const int64_t& end) { + return rand64(end - start) + start; + } - KOKKOS_INLINE_FUNCTION - double drand(const double& range) { - return range * urand64()/MAX_URAND64; - } + KOKKOS_INLINE_FUNCTION + float frand() { return urand64() / static_cast(MAX_URAND64); } - KOKKOS_INLINE_FUNCTION - double drand(const double& start, const double& end ) { - return frand(end-start)+start; - } + KOKKOS_INLINE_FUNCTION + float frand(const float& range) { + return range * urand64() / static_cast(MAX_URAND64); + } - //Marsaglia polar method for drawing a standard normal distributed random number - KOKKOS_INLINE_FUNCTION - double normal() { - double S = 2.0; - double U; - while(S>=1.0) { - U = 2.0*drand() - 1.0; - const double V = 2.0*drand() - 1.0; - S = U*U+V*V; - } - return U*std::sqrt(-2.0*log(S)/S); - } + KOKKOS_INLINE_FUNCTION + float frand(const float& start, const float& end) { + return frand(end - start) + start; + } - KOKKOS_INLINE_FUNCTION - double normal(const double& mean, const double& std_dev=1.0) { - return mean + normal()*std_dev; - } - }; + KOKKOS_INLINE_FUNCTION + double drand() { return urand64() / static_cast(MAX_URAND64); } -template<> -inline -Random_XorShift64_Pool::Random_XorShift64_Pool(uint64_t seed) { - num_states_ = 0; - init(seed,4*32768); -} + KOKKOS_INLINE_FUNCTION + double drand(const double& range) { + return range * urand64() / static_cast(MAX_URAND64); + } -template<> -KOKKOS_INLINE_FUNCTION -Random_XorShift64 Random_XorShift64_Pool::get_state() const { -#ifdef __HCC_ACCELERATOR__ - const int i_offset = (threadIdx_x*blockDim_y + threadIdx_y)*blockDim_z+threadIdx_z; - int i = (((blockIdx_x*gridDim_y+blockIdx_y)*gridDim_z + blockIdx_z) * - blockDim_x*blockDim_y*blockDim_z + i_offset)%num_states_; - while(Kokkos::atomic_compare_exchange(&locks_(i),0,1)) { - i+=blockDim_x*blockDim_y*blockDim_z; - if(i>=num_states_) {i = i_offset;} + KOKKOS_INLINE_FUNCTION + double drand(const double& start, const double& end) { + return frand(end - start) + start; } - return Random_XorShift64(state_(i),i); + // Marsaglia polar method for drawing a standard normal distributed random + // number + KOKKOS_INLINE_FUNCTION + double normal() { +#ifndef KOKKOS_ENABLE_HIP // FIXME_HIP + using std::sqrt; #else - return Random_XorShift64(state_(0),0); + using ::sqrt; #endif -} + double S = 2.0; + double U; + while (S >= 1.0) { + U = 2.0 * drand() - 1.0; + const double V = 2.0 * drand() - 1.0; + S = U * U + V * V; + } + return U * sqrt(-2.0 * log(S) / S); + } -template<> -KOKKOS_INLINE_FUNCTION -void Random_XorShift64_Pool::free_state(const Random_XorShift64 &state) const { -#ifdef __HCC_ACCELERATOR__ - state_(state.state_idx_) = state.state_; - locks_(state.state_idx_) = 0; - return; -#endif -} + KOKKOS_INLINE_FUNCTION + double normal(const double& mean, const double& std_dev = 1.0) { + return mean + normal() * std_dev; + } +}; +template +class Random_XorShift1024_Pool { + private: + using execution_space = typename DeviceType::execution_space; + typedef View locks_type; + typedef View int_view_type; + typedef View state_data_type; -template<> -inline -Random_XorShift1024_Pool::Random_XorShift1024_Pool(uint64_t seed) { - num_states_ = 0; - init(seed,4*32768); -} + locks_type locks_; + state_data_type state_; + int_view_type p_; + int num_states_; + friend class Random_XorShift1024; + + public: + typedef Random_XorShift1024 generator_type; + + typedef DeviceType device_type; -template<> -KOKKOS_INLINE_FUNCTION -Random_XorShift1024 Random_XorShift1024_Pool::get_state() const { -#ifdef __HCC_ACCELERATOR__ - const int i_offset = (threadIdx_x*blockDim_y + threadIdx_y)*blockDim_z+threadIdx_z; - int i = (((blockIdx_x*gridDim_y+blockIdx_y)*gridDim_z + blockIdx_z) * - blockDim_x*blockDim_y*blockDim_z + i_offset)%num_states_; - while(Kokkos::atomic_compare_exchange(&locks_(i),0,1)) { - i+=blockDim_x*blockDim_y*blockDim_z; - if(i>=num_states_) {i = i_offset;} + KOKKOS_INLINE_FUNCTION + Random_XorShift1024_Pool() { num_states_ = 0; } + + inline Random_XorShift1024_Pool(uint64_t seed) { + num_states_ = 0; + + init(seed, execution_space().concurrency()); } - return Random_XorShift1024(state_, p_(i), i); -#else - return Random_XorShift1024(state_, p_(0), 0); -#endif -} + KOKKOS_INLINE_FUNCTION + Random_XorShift1024_Pool(const Random_XorShift1024_Pool& src) + : locks_(src.locks_), + state_(src.state_), + p_(src.p_), + num_states_(src.num_states_) {} -template<> -KOKKOS_INLINE_FUNCTION -void Random_XorShift1024_Pool::free_state(const Random_XorShift1024 &state) const { -#ifdef __HCC_ACCELERATOR__ - for(int i=0; i<16; i++) - state_(state.state_idx_,i) = state.state_[i]; - locks_(state.state_idx_) = 0; - return; -#endif -} + KOKKOS_INLINE_FUNCTION + Random_XorShift1024_Pool operator=(const Random_XorShift1024_Pool& src) { + locks_ = src.locks_; + state_ = src.state_; + p_ = src.p_; + num_states_ = src.num_states_; + return *this; + } + + inline void init(uint64_t seed, int num_states) { + if (seed == 0) seed = uint64_t(1318319); + num_states_ = num_states; + locks_ = locks_type("Kokkos::Random_XorShift1024::locks", num_states_); + state_ = state_data_type("Kokkos::Random_XorShift1024::state", num_states_); + p_ = int_view_type("Kokkos::Random_XorShift1024::p", num_states_); + + typename state_data_type::HostMirror h_state = create_mirror_view(state_); + typename locks_type::HostMirror h_lock = create_mirror_view(locks_); + typename int_view_type::HostMirror h_p = create_mirror_view(p_); + + // Execute on the HostMirror's default execution space. + Random_XorShift64 + gen(seed, 0); + for (int i = 0; i < 17; i++) gen.rand(); + for (int i = 0; i < num_states_; i++) { + for (int j = 0; j < 16; j++) { + int n1 = gen.rand(); + int n2 = gen.rand(); + int n3 = gen.rand(); + int n4 = gen.rand(); + h_state(i, j) = (((static_cast(n1)) & 0xffff) << 00) | + (((static_cast(n2)) & 0xffff) << 16) | + (((static_cast(n3)) & 0xffff) << 32) | + (((static_cast(n4)) & 0xffff) << 48); + } + h_p(i) = 0; + h_lock(i) = 0; + } + deep_copy(state_, h_state); + deep_copy(locks_, h_lock); + } + KOKKOS_INLINE_FUNCTION + Random_XorShift1024 get_state() const { + const int i = + Impl::Random_UniqueIndex::get_state_idx(locks_); + return Random_XorShift1024(state_, p_(i), i); + }; -#endif + // NOTE: state_idx MUST be unique and less than num_states + KOKKOS_INLINE_FUNCTION + Random_XorShift1024 get_state(const int state_idx) const { + return Random_XorShift1024(state_, p_(state_idx), state_idx); + } + KOKKOS_INLINE_FUNCTION + void free_state(const Random_XorShift1024& state) const { + for (int i = 0; i < 16; i++) state_(state.state_idx_, i) = state.state_[i]; + p_(state.state_idx_) = state.p_; + locks_(state.state_idx_) = 0; + } +}; namespace Impl { -template +template struct fill_random_functor_range; -template +template struct fill_random_functor_begin_end; -template -struct fill_random_functor_range{ +template +struct fill_random_functor_range { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type range_): - a(a_),rand_pool(rand_pool_),range(range_) {} + typename ViewType::const_value_type range_) + : a(a_), rand_pool(rand_pool_), range(range_) {} KOKKOS_INLINE_FUNCTION - void operator() (const IndexType& i) const { + void operator()(const IndexType& i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) - a(idx) = Rand::draw(gen,range); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) + a(idx) = Rand::draw(gen, range); } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_range{ +template +struct fill_random_functor_range { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type range_): - a(a_),rand_pool(rand_pool_),range(range_) {} + typename ViewType::const_value_type range_) + : a(a_), rand_pool(rand_pool_), range(range_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - a(idx,k) = Rand::draw(gen,range); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + a(idx, k) = Rand::draw(gen, range); } } rand_pool.free_state(gen); } }; - -template -struct fill_random_functor_range{ +template +struct fill_random_functor_range { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type range_): - a(a_),rand_pool(rand_pool_),range(range_) {} + typename ViewType::const_value_type range_) + : a(a_), rand_pool(rand_pool_), range(range_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - a(idx,k,l) = Rand::draw(gen,range); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + a(idx, k, l) = Rand::draw(gen, range); } } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_range{ +template +struct fill_random_functor_range { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type range_): - a(a_),rand_pool(rand_pool_),range(range_) {} + typename ViewType::const_value_type range_) + : a(a_), rand_pool(rand_pool_), range(range_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - for(IndexType m=0;m(a.extent(3));m++) - a(idx,k,l,m) = Rand::draw(gen,range); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + for (IndexType m = 0; m < static_cast(a.extent(3)); m++) + a(idx, k, l, m) = Rand::draw(gen, range); } } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_range{ +template +struct fill_random_functor_range { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type range_): - a(a_),rand_pool(rand_pool_),range(range_) {} + typename ViewType::const_value_type range_) + : a(a_), rand_pool(rand_pool_), range(range_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - for(IndexType m=0;m(a.extent(3));m++) - for(IndexType n=0;n(a.extent(4));n++) - a(idx,k,l,m,n) = Rand::draw(gen,range); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + for (IndexType m = 0; m < static_cast(a.extent(3)); m++) + for (IndexType n = 0; n < static_cast(a.extent(4)); + n++) + a(idx, k, l, m, n) = Rand::draw(gen, range); } } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_range{ +template +struct fill_random_functor_range { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type range_): - a(a_),rand_pool(rand_pool_),range(range_) {} + typename ViewType::const_value_type range_) + : a(a_), rand_pool(rand_pool_), range(range_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - for(IndexType m=0;m(a.extent(3));m++) - for(IndexType n=0;n(a.extent(4));n++) - for(IndexType o=0;o(a.extent(5));o++) - a(idx,k,l,m,n,o) = Rand::draw(gen,range); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + for (IndexType m = 0; m < static_cast(a.extent(3)); m++) + for (IndexType n = 0; n < static_cast(a.extent(4)); + n++) + for (IndexType o = 0; o < static_cast(a.extent(5)); + o++) + a(idx, k, l, m, n, o) = Rand::draw(gen, range); } } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_range{ +template +struct fill_random_functor_range { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type range_): - a(a_),rand_pool(rand_pool_),range(range_) {} + typename ViewType::const_value_type range_) + : a(a_), rand_pool(rand_pool_), range(range_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - for(IndexType m=0;m(a.extent(3));m++) - for(IndexType n=0;n(a.extent(4));n++) - for(IndexType o=0;o(a.extent(5));o++) - for(IndexType p=0;p(a.extent(6));p++) - a(idx,k,l,m,n,o,p) = Rand::draw(gen,range); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + for (IndexType m = 0; m < static_cast(a.extent(3)); m++) + for (IndexType n = 0; n < static_cast(a.extent(4)); + n++) + for (IndexType o = 0; o < static_cast(a.extent(5)); + o++) + for (IndexType p = 0; p < static_cast(a.extent(6)); + p++) + a(idx, k, l, m, n, o, p) = Rand::draw(gen, range); } } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_range{ +template +struct fill_random_functor_range { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; typename ViewType::const_value_type range; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_range(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type range_): - a(a_),rand_pool(rand_pool_),range(range_) {} + typename ViewType::const_value_type range_) + : a(a_), rand_pool(rand_pool_), range(range_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - for(IndexType m=0;m(a.extent(3));m++) - for(IndexType n=0;n(a.extent(4));n++) - for(IndexType o=0;o(a.extent(5));o++) - for(IndexType p=0;p(a.extent(6));p++) - for(IndexType q=0;q(a.extent(7));q++) - a(idx,k,l,m,n,o,p,q) = Rand::draw(gen,range); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + for (IndexType m = 0; m < static_cast(a.extent(3)); m++) + for (IndexType n = 0; n < static_cast(a.extent(4)); + n++) + for (IndexType o = 0; o < static_cast(a.extent(5)); + o++) + for (IndexType p = 0; p < static_cast(a.extent(6)); + p++) + for (IndexType q = 0; + q < static_cast(a.extent(7)); q++) + a(idx, k, l, m, n, o, p, q) = Rand::draw(gen, range); } } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_begin_end{ +template +struct fill_random_functor_begin_end { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; - typename ViewType::const_value_type begin,end; + typename ViewType::const_value_type begin, end; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type begin_, typename ViewType::const_value_type end_): - a(a_),rand_pool(rand_pool_),begin(begin_),end(end_) {} + typename ViewType::const_value_type begin_, + typename ViewType::const_value_type end_) + : a(a_), rand_pool(rand_pool_), begin(begin_), end(end_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) - a(idx) = Rand::draw(gen,begin,end); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) + a(idx) = Rand::draw(gen, begin, end); } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_begin_end{ +template +struct fill_random_functor_begin_end { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; - typename ViewType::const_value_type begin,end; + typename ViewType::const_value_type begin, end; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type begin_, typename ViewType::const_value_type end_): - a(a_),rand_pool(rand_pool_),begin(begin_),end(end_) {} + typename ViewType::const_value_type begin_, + typename ViewType::const_value_type end_) + : a(a_), rand_pool(rand_pool_), begin(begin_), end(end_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - a(idx,k) = Rand::draw(gen,begin,end); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + a(idx, k) = Rand::draw(gen, begin, end); } } rand_pool.free_state(gen); } }; - -template -struct fill_random_functor_begin_end{ +template +struct fill_random_functor_begin_end { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; - typename ViewType::const_value_type begin,end; + typename ViewType::const_value_type begin, end; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type begin_, typename ViewType::const_value_type end_): - a(a_),rand_pool(rand_pool_),begin(begin_),end(end_) {} + typename ViewType::const_value_type begin_, + typename ViewType::const_value_type end_) + : a(a_), rand_pool(rand_pool_), begin(begin_), end(end_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - a(idx,k,l) = Rand::draw(gen,begin,end); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + a(idx, k, l) = Rand::draw(gen, begin, end); } } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_begin_end{ +template +struct fill_random_functor_begin_end { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; - typename ViewType::const_value_type begin,end; + typename ViewType::const_value_type begin, end; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type begin_, typename ViewType::const_value_type end_): - a(a_),rand_pool(rand_pool_),begin(begin_),end(end_) {} + typename ViewType::const_value_type begin_, + typename ViewType::const_value_type end_) + : a(a_), rand_pool(rand_pool_), begin(begin_), end(end_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - for(IndexType m=0;m(a.extent(3));m++) - a(idx,k,l,m) = Rand::draw(gen,begin,end); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + for (IndexType m = 0; m < static_cast(a.extent(3)); m++) + a(idx, k, l, m) = Rand::draw(gen, begin, end); } } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_begin_end{ +template +struct fill_random_functor_begin_end { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; - typename ViewType::const_value_type begin,end; + typename ViewType::const_value_type begin, end; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type begin_, typename ViewType::const_value_type end_): - a(a_),rand_pool(rand_pool_),begin(begin_),end(end_) {} + typename ViewType::const_value_type begin_, + typename ViewType::const_value_type end_) + : a(a_), rand_pool(rand_pool_), begin(begin_), end(end_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))){ - for(IndexType l=0;l(a.extent(1));l++) - for(IndexType m=0;m(a.extent(2));m++) - for(IndexType n=0;n(a.extent(3));n++) - for(IndexType o=0;o(a.extent(4));o++) - a(idx,l,m,n,o) = Rand::draw(gen,begin,end); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType l = 0; l < static_cast(a.extent(1)); l++) + for (IndexType m = 0; m < static_cast(a.extent(2)); m++) + for (IndexType n = 0; n < static_cast(a.extent(3)); n++) + for (IndexType o = 0; o < static_cast(a.extent(4)); + o++) + a(idx, l, m, n, o) = Rand::draw(gen, begin, end); } } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_begin_end{ +template +struct fill_random_functor_begin_end { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; - typename ViewType::const_value_type begin,end; + typename ViewType::const_value_type begin, end; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type begin_, typename ViewType::const_value_type end_): - a(a_),rand_pool(rand_pool_),begin(begin_),end(end_) {} + typename ViewType::const_value_type begin_, + typename ViewType::const_value_type end_) + : a(a_), rand_pool(rand_pool_), begin(begin_), end(end_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - for(IndexType m=0;m(a.extent(3));m++) - for(IndexType n=0;n(a.extent(4));n++) - for(IndexType o=0;o(a.extent(5));o++) - a(idx,k,l,m,n,o) = Rand::draw(gen,begin,end); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + for (IndexType m = 0; m < static_cast(a.extent(3)); m++) + for (IndexType n = 0; n < static_cast(a.extent(4)); + n++) + for (IndexType o = 0; o < static_cast(a.extent(5)); + o++) + a(idx, k, l, m, n, o) = Rand::draw(gen, begin, end); } } rand_pool.free_state(gen); } }; - -template -struct fill_random_functor_begin_end{ +template +struct fill_random_functor_begin_end { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; - typename ViewType::const_value_type begin,end; + typename ViewType::const_value_type begin, end; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type begin_, typename ViewType::const_value_type end_): - a(a_),rand_pool(rand_pool_),begin(begin_),end(end_) {} + typename ViewType::const_value_type begin_, + typename ViewType::const_value_type end_) + : a(a_), rand_pool(rand_pool_), begin(begin_), end(end_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - for(IndexType m=0;m(a.extent(3));m++) - for(IndexType n=0;n(a.extent(4));n++) - for(IndexType o=0;o(a.extent(5));o++) - for(IndexType p=0;p(a.extent(6));p++) - a(idx,k,l,m,n,o,p) = Rand::draw(gen,begin,end); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + for (IndexType m = 0; m < static_cast(a.extent(3)); m++) + for (IndexType n = 0; n < static_cast(a.extent(4)); + n++) + for (IndexType o = 0; o < static_cast(a.extent(5)); + o++) + for (IndexType p = 0; p < static_cast(a.extent(6)); + p++) + a(idx, k, l, m, n, o, p) = Rand::draw(gen, begin, end); } } rand_pool.free_state(gen); } }; -template -struct fill_random_functor_begin_end{ +template +struct fill_random_functor_begin_end { typedef typename ViewType::execution_space execution_space; ViewType a; RandomPool rand_pool; - typename ViewType::const_value_type begin,end; + typename ViewType::const_value_type begin, end; - typedef rand Rand; + typedef rand + Rand; fill_random_functor_begin_end(ViewType a_, RandomPool rand_pool_, - typename ViewType::const_value_type begin_, typename ViewType::const_value_type end_): - a(a_),rand_pool(rand_pool_),begin(begin_),end(end_) {} + typename ViewType::const_value_type begin_, + typename ViewType::const_value_type end_) + : a(a_), rand_pool(rand_pool_), begin(begin_), end(end_) {} KOKKOS_INLINE_FUNCTION - void operator() (IndexType i) const { + void operator()(IndexType i) const { typename RandomPool::generator_type gen = rand_pool.get_state(); - for(IndexType j=0;j(a.extent(0))) { - for(IndexType k=0;k(a.extent(1));k++) - for(IndexType l=0;l(a.extent(2));l++) - for(IndexType m=0;m(a.extent(3));m++) - for(IndexType n=0;n(a.extent(4));n++) - for(IndexType o=0;o(a.extent(5));o++) - for(IndexType p=0;p(a.extent(6));p++) - for(IndexType q=0;q(a.extent(7));q++) - a(idx,k,l,m,n,o,p,q) = Rand::draw(gen,begin,end); + for (IndexType j = 0; j < loops; j++) { + const IndexType idx = i * loops + j; + if (idx < static_cast(a.extent(0))) { + for (IndexType k = 0; k < static_cast(a.extent(1)); k++) + for (IndexType l = 0; l < static_cast(a.extent(2)); l++) + for (IndexType m = 0; m < static_cast(a.extent(3)); m++) + for (IndexType n = 0; n < static_cast(a.extent(4)); + n++) + for (IndexType o = 0; o < static_cast(a.extent(5)); + o++) + for (IndexType p = 0; p < static_cast(a.extent(6)); + p++) + for (IndexType q = 0; + q < static_cast(a.extent(7)); q++) + a(idx, k, l, m, n, o, p, q) = Rand::draw(gen, begin, end); } } rand_pool.free_state(gen); } }; -} +} // namespace Impl -template -void fill_random(ViewType a, RandomPool g, typename ViewType::const_value_type range) { +template +void fill_random(ViewType a, RandomPool g, + typename ViewType::const_value_type range) { int64_t LDA = a.extent(0); - if(LDA>0) - parallel_for((LDA+127)/128,Impl::fill_random_functor_range(a,g,range)); + if (LDA > 0) + parallel_for("Kokkos::fill_random", (LDA + 127) / 128, + Impl::fill_random_functor_range( + a, g, range)); } -template -void fill_random(ViewType a, RandomPool g, typename ViewType::const_value_type begin,typename ViewType::const_value_type end ) { +template +void fill_random(ViewType a, RandomPool g, + typename ViewType::const_value_type begin, + typename ViewType::const_value_type end) { int64_t LDA = a.extent(0); - if(LDA>0) - parallel_for((LDA+127)/128,Impl::fill_random_functor_begin_end(a,g,begin,end)); -} + if (LDA > 0) + parallel_for("Kokkos::fill_random", (LDA + 127) / 128, + Impl::fill_random_functor_begin_end( + a, g, begin, end)); } +} // namespace Kokkos #endif diff --git a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp index 7fb8505fe5327470c6dac96ba17631d460443675..1c79a505bb916a5190a37961620349b10a1babe5 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp @@ -1,13 +1,14 @@ /* //@HEADER // ************************************************************************ -// -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation -// -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. -// +// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -36,12 +37,11 @@ // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// +// // ************************************************************************ //@HEADER */ - #ifndef KOKKOS_SORT_HPP_ #define KOKKOS_SORT_HPP_ @@ -51,125 +51,107 @@ namespace Kokkos { - namespace Impl { +namespace Impl { - template< class DstViewType , class SrcViewType - , int Rank = DstViewType::Rank > - struct CopyOp; +template +struct CopyOp; - template< class DstViewType , class SrcViewType > - struct CopyOp { - KOKKOS_INLINE_FUNCTION - static void copy(DstViewType const& dst, size_t i_dst, - SrcViewType const& src, size_t i_src ) { - dst(i_dst) = src(i_src); - } - }; +template +struct CopyOp { + KOKKOS_INLINE_FUNCTION + static void copy(DstViewType const& dst, size_t i_dst, SrcViewType const& src, + size_t i_src) { + dst(i_dst) = src(i_src); + } +}; - template< class DstViewType , class SrcViewType > - struct CopyOp { - KOKKOS_INLINE_FUNCTION - static void copy(DstViewType const& dst, size_t i_dst, - SrcViewType const& src, size_t i_src ) { - for(int j = 0;j< (int) dst.extent(1); j++) - dst(i_dst,j) = src(i_src,j); - } - }; +template +struct CopyOp { + KOKKOS_INLINE_FUNCTION + static void copy(DstViewType const& dst, size_t i_dst, SrcViewType const& src, + size_t i_src) { + for (int j = 0; j < (int)dst.extent(1); j++) dst(i_dst, j) = src(i_src, j); + } +}; - template< class DstViewType , class SrcViewType > - struct CopyOp { - KOKKOS_INLINE_FUNCTION - static void copy(DstViewType const& dst, size_t i_dst, - SrcViewType const& src, size_t i_src ) { - for(int j = 0; j +struct CopyOp { + KOKKOS_INLINE_FUNCTION + static void copy(DstViewType const& dst, size_t i_dst, SrcViewType const& src, + size_t i_src) { + for (int j = 0; j < dst.extent(1); j++) + for (int k = 0; k < dst.extent(2); k++) + dst(i_dst, j, k) = src(i_src, j, k); } +}; +} // namespace Impl //---------------------------------------------------------------------------- -template< class KeyViewType - , class BinSortOp - , class Space = typename KeyViewType::device_type - , class SizeType = typename KeyViewType::memory_space::size_type - > +template class BinSort { -public: - - template< class DstViewType , class SrcViewType > + public: + template struct copy_functor { + typedef typename SrcViewType::const_type src_view_type; - typedef typename SrcViewType::const_type src_view_type ; + typedef Impl::CopyOp copy_op; - typedef Impl::CopyOp< DstViewType , src_view_type > copy_op ; + DstViewType dst_values; + src_view_type src_values; + int dst_offset; - DstViewType dst_values ; - src_view_type src_values ; - int dst_offset ; - - copy_functor( DstViewType const & dst_values_ - , int const & dst_offset_ - , SrcViewType const & src_values_ - ) - : dst_values( dst_values_ ) - , src_values( src_values_ ) - , dst_offset( dst_offset_ ) - {} + copy_functor(DstViewType const& dst_values_, int const& dst_offset_, + SrcViewType const& src_values_) + : dst_values(dst_values_), + src_values(src_values_), + dst_offset(dst_offset_) {} KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - copy_op::copy(dst_values,i+dst_offset,src_values,i); + void operator()(const int& i) const { + copy_op::copy(dst_values, i + dst_offset, src_values, i); } }; - template< class DstViewType - , class PermuteViewType - , class SrcViewType - > + template struct copy_permute_functor { - // If a Kokkos::View then can generate constant random access // otherwise can only use the constant type. - typedef typename std::conditional - < Kokkos::is_view< SrcViewType >::value - , Kokkos::View< typename SrcViewType::const_data_type - , typename SrcViewType::array_layout - , typename SrcViewType::device_type - , Kokkos::MemoryTraits - > - , typename SrcViewType::const_type - >::type src_view_type ; - - typedef typename PermuteViewType::const_type perm_view_type ; - - typedef Impl::CopyOp< DstViewType , src_view_type > copy_op ; - - DstViewType dst_values ; - perm_view_type sort_order ; - src_view_type src_values ; - int src_offset ; - - copy_permute_functor( DstViewType const & dst_values_ - , PermuteViewType const & sort_order_ - , SrcViewType const & src_values_ - , int const & src_offset_ - ) - : dst_values( dst_values_ ) - , sort_order( sort_order_ ) - , src_values( src_values_ ) - , src_offset( src_offset_ ) - {} + typedef typename std::conditional< + Kokkos::is_view::value, + Kokkos::View >, + typename SrcViewType::const_type>::type src_view_type; + + typedef typename PermuteViewType::const_type perm_view_type; + + typedef Impl::CopyOp copy_op; + + DstViewType dst_values; + perm_view_type sort_order; + src_view_type src_values; + int src_offset; + + copy_permute_functor(DstViewType const& dst_values_, + PermuteViewType const& sort_order_, + SrcViewType const& src_values_, int const& src_offset_) + : dst_values(dst_values_), + sort_order(sort_order_), + src_values(src_values_), + src_offset(src_offset_) {} KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - copy_op::copy(dst_values,i,src_values,src_offset+sort_order(i)); + void operator()(const int& i) const { + copy_op::copy(dst_values, i, src_values, src_offset + sort_order(i)); } }; - typedef typename Space::execution_space execution_space; + typedef typename Space::execution_space execution_space; typedef BinSortOp bin_op_type; struct bin_count_tag {}; @@ -177,221 +159,236 @@ public: struct bin_binning_tag {}; struct bin_sort_bins_tag {}; -public: - + public: typedef SizeType size_type; typedef size_type value_type; typedef Kokkos::View offset_type; typedef Kokkos::View bin_count_type; - typedef typename KeyViewType::const_type const_key_view_type ; + typedef typename KeyViewType::const_type const_key_view_type; // If a Kokkos::View then can generate constant random access // otherwise can only use the constant type. - typedef typename std::conditional - < Kokkos::is_view< KeyViewType >::value - , Kokkos::View< typename KeyViewType::const_data_type, - typename KeyViewType::array_layout, - typename KeyViewType::device_type, - Kokkos::MemoryTraits > - , const_key_view_type - >::type const_rnd_key_view_type; + typedef typename std::conditional< + Kokkos::is_view::value, + Kokkos::View >, + const_key_view_type>::type const_rnd_key_view_type; typedef typename KeyViewType::non_const_value_type non_const_key_scalar; - typedef typename KeyViewType::const_value_type const_key_scalar; - - typedef Kokkos::View > bin_count_atomic_type ; + typedef typename KeyViewType::const_value_type const_key_scalar; -private: + typedef Kokkos::View > + bin_count_atomic_type; + private: const_key_view_type keys; const_rnd_key_view_type keys_rnd; -public: - - BinSortOp bin_op ; - offset_type bin_offsets ; - bin_count_atomic_type bin_count_atomic ; - bin_count_type bin_count_const ; - offset_type sort_order ; + public: + BinSortOp bin_op; + offset_type bin_offsets; + bin_count_atomic_type bin_count_atomic; + bin_count_type bin_count_const; + offset_type sort_order; - int range_begin ; - int range_end ; - bool sort_within_bins ; + int range_begin; + int range_end; + bool sort_within_bins; -public: - - BinSort() {} + public: + BinSort() = default; //---------------------------------------- - // Constructor: takes the keys, the binning_operator and optionally whether to sort within bins (default false) - BinSort( const_key_view_type keys_ - , int range_begin_ - , int range_end_ - , BinSortOp bin_op_ - , bool sort_within_bins_ = false - ) - : keys(keys_) - , keys_rnd(keys_) - , bin_op(bin_op_) - , bin_offsets() - , bin_count_atomic() - , bin_count_const() - , sort_order() - , range_begin( range_begin_ ) - , range_end( range_end_ ) - , sort_within_bins( sort_within_bins_ ) - { - bin_count_atomic = Kokkos::View("Kokkos::SortImpl::BinSortFunctor::bin_count",bin_op.max_bins()); - bin_count_const = bin_count_atomic; - bin_offsets = offset_type(ViewAllocateWithoutInitializing("Kokkos::SortImpl::BinSortFunctor::bin_offsets"),bin_op.max_bins()); - sort_order = offset_type(ViewAllocateWithoutInitializing("Kokkos::SortImpl::BinSortFunctor::sort_order"),range_end-range_begin); + // Constructor: takes the keys, the binning_operator and optionally whether to + // sort within bins (default false) + BinSort(const_key_view_type keys_, int range_begin_, int range_end_, + BinSortOp bin_op_, bool sort_within_bins_ = false) + : keys(keys_), + keys_rnd(keys_), + bin_op(bin_op_), + bin_offsets(), + bin_count_atomic(), + bin_count_const(), + sort_order(), + range_begin(range_begin_), + range_end(range_end_), + sort_within_bins(sort_within_bins_) { + bin_count_atomic = Kokkos::View( + "Kokkos::SortImpl::BinSortFunctor::bin_count", bin_op.max_bins()); + bin_count_const = bin_count_atomic; + bin_offsets = + offset_type(ViewAllocateWithoutInitializing( + "Kokkos::SortImpl::BinSortFunctor::bin_offsets"), + bin_op.max_bins()); + sort_order = + offset_type(ViewAllocateWithoutInitializing( + "Kokkos::SortImpl::BinSortFunctor::sort_order"), + range_end - range_begin); } - BinSort( const_key_view_type keys_ - , BinSortOp bin_op_ - , bool sort_within_bins_ = false - ) - : BinSort( keys_ , 0 , keys_.extent(0), bin_op_ , sort_within_bins_ ) {} + BinSort(const_key_view_type keys_, BinSortOp bin_op_, + bool sort_within_bins_ = false) + : BinSort(keys_, 0, keys_.extent(0), bin_op_, sort_within_bins_) {} //---------------------------------------- - // Create the permutation vector, the bin_offset array and the bin_count array. Can be called again if keys changed + // Create the permutation vector, the bin_offset array and the bin_count + // array. Can be called again if keys changed void create_permute_vector() { - const size_t len = range_end - range_begin ; - Kokkos::parallel_for ("Kokkos::Sort::BinCount",Kokkos::RangePolicy (0,len),*this); - Kokkos::parallel_scan("Kokkos::Sort::BinOffset",Kokkos::RangePolicy (0,bin_op.max_bins()) ,*this); - - Kokkos::deep_copy(bin_count_atomic,0); - Kokkos::parallel_for ("Kokkos::Sort::BinBinning",Kokkos::RangePolicy (0,len),*this); - - if(sort_within_bins) - Kokkos::parallel_for ("Kokkos::Sort::BinSort",Kokkos::RangePolicy(0,bin_op.max_bins()) ,*this); + const size_t len = range_end - range_begin; + Kokkos::parallel_for( + "Kokkos::Sort::BinCount", + Kokkos::RangePolicy(0, len), *this); + Kokkos::parallel_scan("Kokkos::Sort::BinOffset", + Kokkos::RangePolicy( + 0, bin_op.max_bins()), + *this); + + Kokkos::deep_copy(bin_count_atomic, 0); + Kokkos::parallel_for( + "Kokkos::Sort::BinBinning", + Kokkos::RangePolicy(0, len), *this); + + if (sort_within_bins) + Kokkos::parallel_for( + "Kokkos::Sort::BinSort", + Kokkos::RangePolicy( + 0, bin_op.max_bins()), + *this); } - // Sort a subset of a view with respect to the first dimension using the permutation array - template - void sort( ValuesViewType const & values - , int values_range_begin - , int values_range_end) const - { - typedef - Kokkos::View< typename ValuesViewType::data_type, - typename ValuesViewType::array_layout, - typename ValuesViewType::device_type > - scratch_view_type ; - - const size_t len = range_end - range_begin ; - const size_t values_len = values_range_end - values_range_begin ; + // Sort a subset of a view with respect to the first dimension using the + // permutation array + template + void sort(ValuesViewType const& values, int values_range_begin, + int values_range_end) const { + typedef Kokkos::View + scratch_view_type; + + const size_t len = range_end - range_begin; + const size_t values_len = values_range_end - values_range_begin; if (len != values_len) { - Kokkos::abort("BinSort::sort: values range length != permutation vector length"); + Kokkos::abort( + "BinSort::sort: values range length != permutation vector length"); } #ifdef KOKKOS_ENABLE_DEPRECATED_CODE - scratch_view_type - sorted_values(ViewAllocateWithoutInitializing("Kokkos::SortImpl::BinSortFunctor::sorted_values"), - len, - values.extent(1), - values.extent(2), - values.extent(3), - values.extent(4), - values.extent(5), - values.extent(6), - values.extent(7)); + scratch_view_type sorted_values( + ViewAllocateWithoutInitializing( + "Kokkos::SortImpl::BinSortFunctor::sorted_values"), + len, values.extent(1), values.extent(2), values.extent(3), + values.extent(4), values.extent(5), values.extent(6), values.extent(7)); #else - scratch_view_type - sorted_values(ViewAllocateWithoutInitializing("Kokkos::SortImpl::BinSortFunctor::sorted_values"), - values.rank_dynamic > 0 ? len : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - values.rank_dynamic > 1 ? values.extent(1) : KOKKOS_IMPL_CTOR_DEFAULT_ARG , - values.rank_dynamic > 2 ? values.extent(2) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - values.rank_dynamic > 3 ? values.extent(3) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - values.rank_dynamic > 4 ? values.extent(4) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - values.rank_dynamic > 5 ? values.extent(5) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - values.rank_dynamic > 6 ? values.extent(6) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, - values.rank_dynamic > 7 ? values.extent(7) : KOKKOS_IMPL_CTOR_DEFAULT_ARG); + scratch_view_type sorted_values( + ViewAllocateWithoutInitializing( + "Kokkos::SortImpl::BinSortFunctor::sorted_values"), + values.rank_dynamic > 0 ? len : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 1 ? values.extent(1) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 2 ? values.extent(2) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 3 ? values.extent(3) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 4 ? values.extent(4) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 5 ? values.extent(5) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 6 ? values.extent(6) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 7 ? values.extent(7) + : KOKKOS_IMPL_CTOR_DEFAULT_ARG); #endif { - copy_permute_functor< scratch_view_type /* DstViewType */ - , offset_type /* PermuteViewType */ - , ValuesViewType /* SrcViewType */ - > - functor( sorted_values , sort_order , values, values_range_begin - range_begin ); - - parallel_for("Kokkos::Sort::CopyPermute", Kokkos::RangePolicy(0,len),functor); + copy_permute_functor + functor(sorted_values, sort_order, values, + values_range_begin - range_begin); + + parallel_for("Kokkos::Sort::CopyPermute", + Kokkos::RangePolicy(0, len), functor); } { - copy_functor< ValuesViewType , scratch_view_type > - functor( values , range_begin , sorted_values ); + copy_functor functor( + values, range_begin, sorted_values); - parallel_for("Kokkos::Sort::Copy", Kokkos::RangePolicy(0,len),functor); + parallel_for("Kokkos::Sort::Copy", + Kokkos::RangePolicy(0, len), functor); } - Kokkos::fence(); + execution_space().fence(); } - template - void sort( ValuesViewType const & values ) const - { - this->sort( values, 0, /*values.extent(0)*/ range_end - range_begin ); + template + void sort(ValuesViewType const& values) const { + this->sort(values, 0, /*values.extent(0)*/ range_end - range_begin); } // Get the permutation vector KOKKOS_INLINE_FUNCTION - offset_type get_permute_vector() const { return sort_order;} + offset_type get_permute_vector() const { return sort_order; } // Get the start offsets for each bin KOKKOS_INLINE_FUNCTION - offset_type get_bin_offsets() const { return bin_offsets;} + offset_type get_bin_offsets() const { return bin_offsets; } // Get the count for each bin KOKKOS_INLINE_FUNCTION - bin_count_type get_bin_count() const {return bin_count_const;} - -public: + bin_count_type get_bin_count() const { return bin_count_const; } + public: KOKKOS_INLINE_FUNCTION - void operator() (const bin_count_tag& tag, const int& i) const { - const int j = range_begin + i ; + void operator()(const bin_count_tag& /*tag*/, const int i) const { + const int j = range_begin + i; bin_count_atomic(bin_op.bin(keys, j))++; } KOKKOS_INLINE_FUNCTION - void operator() (const bin_offset_tag& tag, const int& i, value_type& offset, const bool& final) const { - if(final) { + void operator()(const bin_offset_tag& /*tag*/, const int i, + value_type& offset, const bool& final) const { + if (final) { bin_offsets(i) = offset; } - offset+=bin_count_const(i); + offset += bin_count_const(i); } KOKKOS_INLINE_FUNCTION - void operator() (const bin_binning_tag& tag, const int& i) const { - const int j = range_begin + i ; - const int bin = bin_op.bin(keys,j); + void operator()(const bin_binning_tag& /*tag*/, const int i) const { + const int j = range_begin + i; + const int bin = bin_op.bin(keys, j); const int count = bin_count_atomic(bin)++; - sort_order(bin_offsets(bin) + count) = j ; + sort_order(bin_offsets(bin) + count) = j; } KOKKOS_INLINE_FUNCTION - void operator() (const bin_sort_bins_tag& tag, const int&i ) const { + void operator()(const bin_sort_bins_tag& /*tag*/, const int i) const { auto bin_size = bin_count_const(i); if (bin_size <= 1) return; - int upper_bound = bin_offsets(i)+bin_size; - bool sorted = false; - while(!sorted) { - sorted = true; + int upper_bound = bin_offsets(i) + bin_size; + bool sorted = false; + while (!sorted) { + sorted = true; int old_idx = sort_order(bin_offsets(i)); - int new_idx; - for(int k=bin_offsets(i)+1; k +template struct BinOp1D { int max_bins_; double mul_; typename KeyViewType::const_value_type range_; typename KeyViewType::const_value_type min_; - BinOp1D():max_bins_(0),mul_(0.0), - range_(typename KeyViewType::const_value_type()), - min_(typename KeyViewType::const_value_type()) {} + BinOp1D() + : max_bins_(0), + mul_(0.0), + range_(typename KeyViewType::const_value_type()), + min_(typename KeyViewType::const_value_type()) {} - //Construct BinOp with number of bins, minimum value and maxuimum value + // Construct BinOp with number of bins, minimum value and maxuimum value BinOp1D(int max_bins__, typename KeyViewType::const_value_type min, - typename KeyViewType::const_value_type max ) - :max_bins_(max_bins__+1),mul_(1.0*max_bins__/(max-min)),range_(max-min),min_(min) {} - - //Determine bin index from key value - template - KOKKOS_INLINE_FUNCTION - int bin(ViewType& keys, const int& i) const { - return int(mul_*(keys(i)-min_)); + typename KeyViewType::const_value_type max) + : max_bins_(max_bins__ + 1), + mul_(1.0 * max_bins__ / (max - min)), + range_(max - min), + min_(min) {} + + // Determine bin index from key value + template + KOKKOS_INLINE_FUNCTION int bin(ViewType& keys, const int& i) const { + return int(mul_ * (keys(i) - min_)); } - //Return maximum bin index + 1 + // Return maximum bin index + 1 KOKKOS_INLINE_FUNCTION - int max_bins() const { - return max_bins_; - } + int max_bins() const { return max_bins_; } - //Compare to keys within a bin if true new_val will be put before old_val - template - KOKKOS_INLINE_FUNCTION - bool operator()(ViewType& keys, iType1& i1, iType2& i2) const { - return keys(i1) + KOKKOS_INLINE_FUNCTION bool operator()(ViewType& keys, iType1& i1, + iType2& i2) const { + return keys(i1) < keys(i2); } }; -template +template struct BinOp3D { int max_bins_[3]; double mul_[3]; typename KeyViewType::non_const_value_type range_[3]; typename KeyViewType::non_const_value_type min_[3]; - BinOp3D() {} + BinOp3D() = default; BinOp3D(int max_bins__[], typename KeyViewType::const_value_type min[], - typename KeyViewType::const_value_type max[] ) - { + typename KeyViewType::const_value_type max[]) { max_bins_[0] = max_bins__[0]; max_bins_[1] = max_bins__[1]; max_bins_[2] = max_bins__[2]; - mul_[0] = 1.0*max_bins__[0]/(max[0]-min[0]); - mul_[1] = 1.0*max_bins__[1]/(max[1]-min[1]); - mul_[2] = 1.0*max_bins__[2]/(max[2]-min[2]); - range_[0] = max[0]-min[0]; - range_[1] = max[1]-min[1]; - range_[2] = max[2]-min[2]; - min_[0] = min[0]; - min_[1] = min[1]; - min_[2] = min[2]; + mul_[0] = 1.0 * max_bins__[0] / (max[0] - min[0]); + mul_[1] = 1.0 * max_bins__[1] / (max[1] - min[1]); + mul_[2] = 1.0 * max_bins__[2] / (max[2] - min[2]); + range_[0] = max[0] - min[0]; + range_[1] = max[1] - min[1]; + range_[2] = max[2] - min[2]; + min_[0] = min[0]; + min_[1] = min[1]; + min_[2] = min[2]; } - template - KOKKOS_INLINE_FUNCTION - int bin(ViewType& keys, const int& i) const { - return int( (((int(mul_[0]*(keys(i,0)-min_[0]))*max_bins_[1]) + - int(mul_[1]*(keys(i,1)-min_[1])))*max_bins_[2]) + - int(mul_[2]*(keys(i,2)-min_[2]))); - } - - KOKKOS_INLINE_FUNCTION - int max_bins() const { - return max_bins_[0]*max_bins_[1]*max_bins_[2]; + template + KOKKOS_INLINE_FUNCTION int bin(ViewType& keys, const int& i) const { + return int((((int(mul_[0] * (keys(i, 0) - min_[0])) * max_bins_[1]) + + int(mul_[1] * (keys(i, 1) - min_[1]))) * + max_bins_[2]) + + int(mul_[2] * (keys(i, 2) - min_[2]))); } - template KOKKOS_INLINE_FUNCTION - bool operator()(ViewType& keys, iType1& i1 , iType2& i2) const { - if (keys(i1,0)>keys(i2,0)) return true; - else if (keys(i1,0)==keys(i2,0)) { - if (keys(i1,1)>keys(i2,1)) return true; - else if (keys(i1,1)==keys(i2,1)) { - if (keys(i1,2)>keys(i2,2)) return true; + int max_bins() const { return max_bins_[0] * max_bins_[1] * max_bins_[2]; } + + template + KOKKOS_INLINE_FUNCTION bool operator()(ViewType& keys, iType1& i1, + iType2& i2) const { + if (keys(i1, 0) > keys(i2, 0)) + return true; + else if (keys(i1, 0) == keys(i2, 0)) { + if (keys(i1, 1) > keys(i2, 1)) + return true; + else if (keys(i1, 1) == keys(i2, 1)) { + if (keys(i1, 2) > keys(i2, 2)) return true; } } return false; @@ -495,85 +493,80 @@ struct BinOp3D { namespace Impl { -template +template bool try_std_sort(ViewType view) { - bool possible = true; - size_t stride[8] = { view.stride_0() - , view.stride_1() - , view.stride_2() - , view.stride_3() - , view.stride_4() - , view.stride_5() - , view.stride_6() - , view.stride_7() - }; - possible = possible && std::is_same::value; - possible = possible && (ViewType::Rank == 1); - possible = possible && (stride[0] == 1); - if(possible) { - std::sort(view.data(),view.data()+view.extent(0)); + bool possible = true; + size_t stride[8] = {view.stride_0(), view.stride_1(), view.stride_2(), + view.stride_3(), view.stride_4(), view.stride_5(), + view.stride_6(), view.stride_7()}; + possible = possible && + std::is_same::value; + possible = possible && (ViewType::Rank == 1); + possible = possible && (stride[0] == 1); + if (possible) { + std::sort(view.data(), view.data() + view.extent(0)); } return possible; } -template +template struct min_max_functor { - typedef Kokkos::MinMaxScalar minmax_scalar; + typedef Kokkos::MinMaxScalar + minmax_scalar; ViewType view; - min_max_functor(const ViewType& view_):view(view_) {} + min_max_functor(const ViewType& view_) : view(view_) {} KOKKOS_INLINE_FUNCTION - void operator() (const size_t& i, minmax_scalar& minmax) const { - if(view(i) < minmax.min_val) minmax.min_val = view(i); - if(view(i) > minmax.max_val) minmax.max_val = view(i); + void operator()(const size_t& i, minmax_scalar& minmax) const { + if (view(i) < minmax.min_val) minmax.min_val = view(i); + if (view(i) > minmax.max_val) minmax.max_val = view(i); } }; -} +} // namespace Impl -template -void sort( ViewType const & view , bool const always_use_kokkos_sort = false) -{ - if(!always_use_kokkos_sort) { - if(Impl::try_std_sort(view)) return; +template +void sort(ViewType const& view, bool const always_use_kokkos_sort = false) { + if (!always_use_kokkos_sort) { + if (Impl::try_std_sort(view)) return; } typedef BinOp1D CompType; Kokkos::MinMaxScalar result; Kokkos::MinMax reducer(result); - parallel_reduce("Kokkos::Sort::FindExtent",Kokkos::RangePolicy(0,view.extent(0)), - Impl::min_max_functor(view),reducer); - if(result.min_val == result.max_val) return; - BinSort bin_sort(view,CompType(view.extent(0)/2,result.min_val,result.max_val),true); + parallel_reduce("Kokkos::Sort::FindExtent", + Kokkos::RangePolicy( + 0, view.extent(0)), + Impl::min_max_functor(view), reducer); + if (result.min_val == result.max_val) return; + BinSort bin_sort( + view, CompType(view.extent(0) / 2, result.min_val, result.max_val), true); bin_sort.create_permute_vector(); bin_sort.sort(view); } -template -void sort( ViewType view - , size_t const begin - , size_t const end - ) -{ - typedef Kokkos::RangePolicy range_policy ; +template +void sort(ViewType view, size_t const begin, size_t const end) { + typedef Kokkos::RangePolicy range_policy; typedef BinOp1D CompType; Kokkos::MinMaxScalar result; Kokkos::MinMax reducer(result); - parallel_reduce("Kokkos::Sort::FindExtent", range_policy( begin , end ) - , Impl::min_max_functor(view),reducer ); + parallel_reduce("Kokkos::Sort::FindExtent", range_policy(begin, end), + Impl::min_max_functor(view), reducer); - if(result.min_val == result.max_val) return; + if (result.min_val == result.max_val) return; - BinSort - bin_sort(view,begin,end,CompType((end-begin)/2,result.min_val,result.max_val),true); + BinSort bin_sort( + view, begin, end, + CompType((end - begin) / 2, result.min_val, result.max_val), true); bin_sort.create_permute_vector(); - bin_sort.sort(view,begin,end); + bin_sort.sort(view, begin, end); } -} +} // namespace Kokkos #endif diff --git a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt index e238b37c8ec933aaec930d1896957e2739b97724..e3563a8b98bca7cf853df4e1deeae8ab9a34ee6b 100644 --- a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt +++ b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt @@ -1,18 +1,12 @@ -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) -INCLUDE_DIRECTORIES(REQUIRED_DURING_INSTALLATION_TESTING ${CMAKE_CURRENT_SOURCE_DIR}) -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../src ) +#Leave these here for now - I don't need transitive deps anyway +KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) +KOKKOS_INCLUDE_DIRECTORIES(REQUIRED_DURING_INSTALLATION_TESTING ${CMAKE_CURRENT_SOURCE_DIR}) +KOKKOS_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}) +KOKKOS_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 @@ -20,25 +14,44 @@ INCLUDE_DIRECTORIES(${GTEST_SOURCE_DIR}) # 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( +KOKKOS_ADD_TEST_LIBRARY( kokkosalgorithms_gtest HEADERS ${GTEST_SOURCE_DIR}/gtest/gtest.h SOURCES ${GTEST_SOURCE_DIR}/gtest/gtest-all.cc - TESTONLY - ) +) +# WORKAROUND FOR HIPCC +IF(Kokkos_ENABLE_HIP) + TARGET_COMPILE_DEFINITIONS(kokkosalgorithms_gtest PUBLIC "-DGTEST_HAS_PTHREAD=0 --amdgpu-target=gfx906") +ELSE() + TARGET_COMPILE_DEFINITIONS(kokkosalgorithms_gtest PUBLIC "-DGTEST_HAS_PTHREAD=0") +ENDIF() + +TARGET_COMPILE_FEATURES(kokkosalgorithms_gtest PUBLIC cxx_std_11) SET(SOURCES - UnitTestMain.cpp - TestCuda.cpp + UnitTestMain.cpp +) + +IF(Kokkos_ENABLE_OPENMP) + LIST( APPEND SOURCES + TestOpenMP.cpp + TestOpenMP_Sort1D.cpp + TestOpenMP_Sort3D.cpp + TestOpenMP_SortDynamicView.cpp + TestOpenMP_Random.cpp ) +ENDIF() -SET(LIBRARIES kokkoscore) +IF(Kokkos_ENABLE_HIP) + LIST( APPEND SOURCES + TestHIP.cpp + ) +ENDIF() -IF(Kokkos_ENABLE_OpenMP) +IF(Kokkos_ENABLE_CUDA) LIST( APPEND SOURCES - TestOpenMP.cpp + TestCuda.cpp ) ENDIF() @@ -48,23 +61,19 @@ IF(Kokkos_ENABLE_HPX) ) ENDIF() -IF(Kokkos_ENABLE_Serial) +IF(Kokkos_ENABLE_SERIAL) LIST( APPEND SOURCES TestSerial.cpp ) ENDIF() -IF(Kokkos_ENABLE_Pthread) +IF(Kokkos_ENABLE_PTHREAD) LIST( APPEND SOURCES TestThreads.cpp ) ENDIF() -TRIBITS_ADD_EXECUTABLE_AND_TEST( +KOKKOS_ADD_EXECUTABLE_AND_TEST( UnitTest SOURCES ${SOURCES} - COMM serial mpi - NUM_MPI_PROCS 1 - FAIL_REGULAR_EXPRESSION " FAILED " - TESTONLYLIBS kokkosalgorithms_gtest ${TEST_LINK_TARGETS} - ) +) diff --git a/lib/kokkos/algorithms/unit_tests/Makefile b/lib/kokkos/algorithms/unit_tests/Makefile index 3c862d03dc9a40aa5e8fb7de630ae36aa5ed7116..4a192b08ec88362b31dccec25c7d79de01ea3abd 100644 --- a/lib/kokkos/algorithms/unit_tests/Makefile +++ b/lib/kokkos/algorithms/unit_tests/Makefile @@ -44,7 +44,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) - OBJ_OPENMP = TestOpenMP.o UnitTestMain.o gtest-all.o + OBJ_OPENMP = TestOpenMP.o TestOpenMP_Random.o TestOpenMP_Sort1D.o TestOpenMP_Sort3D.o TestOpenMP_SortDynamicView.o UnitTestMain.o gtest-all.o TARGETS += KokkosAlgorithms_UnitTest_OpenMP TEST_TARGETS += test-openmp endif diff --git a/lib/kokkos/algorithms/unit_tests/TestCuda.cpp b/lib/kokkos/algorithms/unit_tests/TestCuda.cpp index 86fdccd0e784e8bc56472782a87a31a050f468fe..86cee61f64f31800515e25a6052e8ac599ee423e 100644 --- a/lib/kokkos/algorithms/unit_tests/TestCuda.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestCuda.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -57,51 +58,35 @@ namespace Test { -class cuda : public ::testing::Test { -protected: - static void SetUpTestCase() - { - } - static void TearDownTestCase() - { - } -}; - -void cuda_test_random_xorshift64( int num_draws ) -{ - Impl::test_random >(num_draws); +void cuda_test_random_xorshift64(int num_draws) { + Impl::test_random>(num_draws); + Impl::test_random>>(num_draws); } -void cuda_test_random_xorshift1024( int num_draws ) -{ - Impl::test_random >(num_draws); +void cuda_test_random_xorshift1024(int num_draws) { + Impl::test_random>(num_draws); + Impl::test_random>>(num_draws); } +#define CUDA_RANDOM_XORSHIFT64(num_draws) \ + TEST(cuda, Random_XorShift64) { cuda_test_random_xorshift64(num_draws); } -#define CUDA_RANDOM_XORSHIFT64( num_draws ) \ - TEST_F( cuda, Random_XorShift64 ) { \ - cuda_test_random_xorshift64(num_draws); \ - } - -#define CUDA_RANDOM_XORSHIFT1024( num_draws ) \ - TEST_F( cuda, Random_XorShift1024 ) { \ - cuda_test_random_xorshift1024(num_draws); \ - } +#define CUDA_RANDOM_XORSHIFT1024(num_draws) \ + TEST(cuda, Random_XorShift1024) { cuda_test_random_xorshift1024(num_draws); } -#define CUDA_SORT_UNSIGNED( size ) \ - TEST_F( cuda, SortUnsigned ) { \ - Impl::test_sort< Kokkos::Cuda, unsigned >(size); \ - } +#define CUDA_SORT_UNSIGNED(size) \ + TEST(cuda, SortUnsigned) { Impl::test_sort(size); } -CUDA_RANDOM_XORSHIFT64( 132141141 ) -CUDA_RANDOM_XORSHIFT1024( 52428813 ) +CUDA_RANDOM_XORSHIFT64(132141141) +CUDA_RANDOM_XORSHIFT1024(52428813) CUDA_SORT_UNSIGNED(171) #undef CUDA_RANDOM_XORSHIFT64 #undef CUDA_RANDOM_XORSHIFT1024 #undef CUDA_SORT_UNSIGNED -} +} // namespace Test #else void KOKKOS_ALGORITHMS_UNITTESTS_TESTCUDA_PREVENT_LINK_ERROR() {} -#endif /* #ifdef KOKKOS_ENABLE_CUDA */ - +#endif /* #ifdef KOKKOS_ENABLE_CUDA */ diff --git a/lib/kokkos/example/sort_array/main.cpp b/lib/kokkos/algorithms/unit_tests/TestHIP.cpp similarity index 53% rename from lib/kokkos/example/sort_array/main.cpp rename to lib/kokkos/algorithms/unit_tests/TestHIP.cpp index 331b2ef62d9619799308699d6a1c2c36477a8773..5e5ccb6a2eb8e988986eaa4ce06e34cf028bf6ed 100644 --- a/lib/kokkos/example/sort_array/main.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestHIP.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -41,55 +42,42 @@ //@HEADER */ -#include -#include -#include -#include - -#include - -#include - - -int main( int argc , char ** argv ) -{ -#if defined( KOKKOS_ENABLE_CUDA ) || defined( KOKKOS_ENABLE_THREADS ) || defined( KOKKOS_ENABLE_OPENMP ) - Kokkos::initialize( argc , argv ); +#include +#ifdef KOKKOS_ENABLE_HIP - int length_array = 100000 ; - - for ( int i = 0 ; i < argc ; ++i ) { - if ( 0 == strcmp( argv[i] , "length_array" ) ) { - length_array = atoi( argv[i+1] ); - } - } +#include +#include +#include - int length_total_array = length_array * 100; +#include -#if defined( KOKKOS_ENABLE_CUDA ) - if ( Kokkos::Cuda::is_initialized() ) { - std::cout << "Kokkos::Cuda" << std::endl ; - Example::sort_array< Kokkos::Cuda >( length_array , length_total_array ); - } -#endif +#include -#if defined( KOKKOS_ENABLE_THREADS ) - if ( Kokkos::Threads::is_initialized() ) { - std::cout << "Kokkos::Threads" << std::endl ; - Example::sort_array< Kokkos::Threads >( length_array , length_total_array ); - } -#endif +#include +#include -#if defined( KOKKOS_ENABLE_OPENMP ) - if ( Kokkos::OpenMP::is_initialized() ) { - std::cout << "Kokkos::OpenMP" << std::endl ; - Example::sort_array< Kokkos::OpenMP >( length_array , length_total_array ); - } -#endif +namespace Test { - Kokkos::finalize(); -#endif +void hip_test_random_xorshift64(size_t num_draws) { + Impl::test_random>( + num_draws); + Impl::test_random>>(num_draws); +} - return 0 ; +void hip_test_random_xorshift1024(size_t num_draws) { + Impl::test_random< + Kokkos::Random_XorShift1024_Pool>(num_draws); + Impl::test_random>>(num_draws); } +TEST(hip, Random_XorShift64) { hip_test_random_xorshift64(132141141); } +TEST(hip, Random_XorShift1024_0) { hip_test_random_xorshift1024(52428813); } +TEST(hip, SortUnsigned) { + Impl::test_sort(171); +} +} // namespace Test +#else +void KOKKOS_ALGORITHMS_UNITTESTS_TESTHIP_PREVENT_LINK_ERROR() {} +#endif /* #ifdef KOKKOS_ENABLE_HIP */ diff --git a/lib/kokkos/algorithms/unit_tests/TestHPX.cpp b/lib/kokkos/algorithms/unit_tests/TestHPX.cpp index e5b7dbdb7a32c5cee98b33d1169bf5f49e71d1cb..2981e97945cb45065452a8f5330b0b35a9f4c65c 100644 --- a/lib/kokkos/algorithms/unit_tests/TestHPX.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestHPX.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -41,7 +42,6 @@ //@HEADER */ - #include #ifdef KOKKOS_ENABLE_HPX @@ -55,42 +55,33 @@ namespace Test { -class hpx : public ::testing::Test { -protected: - static void SetUpTestCase() - { - std::cout << std::setprecision(5) << std::scientific; - } - - static void TearDownTestCase() - { +#define HPX_RANDOM_XORSHIFT64(num_draws) \ + TEST(hpx, Random_XorShift64) { \ + Impl::test_random< \ + Kokkos::Random_XorShift64_Pool >( \ + num_draws); \ } -}; -#define HPX_RANDOM_XORSHIFT64( num_draws ) \ - TEST_F( hpx, Random_XorShift64 ) { \ - Impl::test_random >(num_draws); \ +#define HPX_RANDOM_XORSHIFT1024(num_draws) \ + TEST(hpx, Random_XorShift1024) { \ + Impl::test_random< \ + Kokkos::Random_XorShift1024_Pool >( \ + num_draws); \ } -#define HPX_RANDOM_XORSHIFT1024( num_draws ) \ - TEST_F( hpx, Random_XorShift1024 ) { \ - Impl::test_random >(num_draws); \ +#define HPX_SORT_UNSIGNED(size) \ + TEST(hpx, SortUnsigned) { \ + Impl::test_sort(size); \ } -#define HPX_SORT_UNSIGNED( size ) \ - TEST_F( hpx, SortUnsigned ) { \ - Impl::test_sort< Kokkos::Experimental::HPX, unsigned >(size); \ - } - -HPX_RANDOM_XORSHIFT64( 10240000 ) -HPX_RANDOM_XORSHIFT1024( 10130144 ) +HPX_RANDOM_XORSHIFT64(10240000) +HPX_RANDOM_XORSHIFT1024(10130144) HPX_SORT_UNSIGNED(171) #undef HPX_RANDOM_XORSHIFT64 #undef HPX_RANDOM_XORSHIFT1024 #undef HPX_SORT_UNSIGNED -} // namespace test +} // namespace Test #else void KOKKOS_ALGORITHMS_UNITTESTS_TESTHPX_PREVENT_LINK_ERROR() {} #endif - diff --git a/lib/kokkos/algorithms/unit_tests/TestOpenMP.cpp b/lib/kokkos/algorithms/unit_tests/TestOpenMP.cpp index c4ddde7b7f71995bb25655cbbb5270b671db7f3e..5ded3ce39065dc5fb7510973de40577703429f8d 100644 --- a/lib/kokkos/algorithms/unit_tests/TestOpenMP.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestOpenMP.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -41,7 +42,6 @@ //@HEADER */ - #include #ifdef KOKKOS_ENABLE_OPENMP @@ -55,42 +55,9 @@ namespace Test { -class openmp : public ::testing::Test { -protected: - static void SetUpTestCase() - { - std::cout << std::setprecision(5) << std::scientific; - } - - static void TearDownTestCase() - { - } -}; - -#define OPENMP_RANDOM_XORSHIFT64( num_draws ) \ - TEST_F( openmp, Random_XorShift64 ) { \ - Impl::test_random >(num_draws); \ - } - -#define OPENMP_RANDOM_XORSHIFT1024( num_draws ) \ - TEST_F( openmp, Random_XorShift1024 ) { \ - Impl::test_random >(num_draws); \ - } +TEST(openmp, SortIssue1160) { Impl::test_issue_1160_sort(); } -#define OPENMP_SORT_UNSIGNED( size ) \ - TEST_F( openmp, SortUnsigned ) { \ - Impl::test_sort< Kokkos::OpenMP, unsigned >(size); \ - } - -OPENMP_RANDOM_XORSHIFT64( 10240000 ) -OPENMP_RANDOM_XORSHIFT1024( 10130144 ) -OPENMP_SORT_UNSIGNED(171) - -#undef OPENMP_RANDOM_XORSHIFT64 -#undef OPENMP_RANDOM_XORSHIFT1024 -#undef OPENMP_SORT_UNSIGNED -} // namespace test +} // namespace Test #else void KOKKOS_ALGORITHMS_UNITTESTS_TESTOPENMP_PREVENT_LINK_ERROR() {} #endif - diff --git a/lib/kokkos/algorithms/unit_tests/TestOpenMP_Random.cpp b/lib/kokkos/algorithms/unit_tests/TestOpenMP_Random.cpp new file mode 100644 index 0000000000000000000000000000000000000000..1ca8e0a828f06176c0959c744fe20045856534b2 --- /dev/null +++ b/lib/kokkos/algorithms/unit_tests/TestOpenMP_Random.cpp @@ -0,0 +1,77 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#ifdef KOKKOS_ENABLE_OPENMP + +#include +#include + +//---------------------------------------------------------------------------- +#include +#include + +namespace Test { + +#define OPENMP_RANDOM_XORSHIFT64(num_draws) \ + TEST(openmp, Random_XorShift64) { \ + Impl::test_random >( \ + num_draws); \ + } + +#define OPENMP_RANDOM_XORSHIFT1024(num_draws) \ + TEST(openmp, Random_XorShift1024) { \ + Impl::test_random >( \ + num_draws); \ + } + +OPENMP_RANDOM_XORSHIFT64(10240000) +OPENMP_RANDOM_XORSHIFT1024(10130144) + +#undef OPENMP_RANDOM_XORSHIFT64 +#undef OPENMP_RANDOM_XORSHIFT1024 +} // namespace Test +#else +void KOKKOS_ALGORITHMS_UNITTESTS_TESTOPENMP_PREVENT_LINK_ERROR() {} +#endif diff --git a/lib/kokkos/example/feint/feint_openmp.cpp b/lib/kokkos/algorithms/unit_tests/TestOpenMP_Sort1D.cpp similarity index 70% rename from lib/kokkos/example/feint/feint_openmp.cpp rename to lib/kokkos/algorithms/unit_tests/TestOpenMP_Sort1D.cpp index 8c7e0b6a08364541bc926e32585591baca1de449..a9b2010ad025bd0c967071aca37407bea4a351bf 100644 --- a/lib/kokkos/example/feint/feint_openmp.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestOpenMP_Sort1D.cpp @@ -1,13 +1,14 @@ /* //@HEADER // ************************************************************************ -// -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation -// -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. -// +// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -36,32 +37,29 @@ // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// +// // ************************************************************************ //@HEADER */ -#include - +#include #ifdef KOKKOS_ENABLE_OPENMP -#include - -namespace Kokkos { -namespace Example { +#include +#include -template void feint( - const unsigned global_elem_nx , - const unsigned global_elem_ny , - const unsigned global_elem_nz ); +//---------------------------------------------------------------------------- +#include +#include +#include -template void feint( - const unsigned global_elem_nx , - const unsigned global_elem_ny , - const unsigned global_elem_nz ); +namespace Test { -} /* namespace Example */ -} /* namespace Kokkos */ +TEST(openmp, SortUnsigned1D) { + Impl::test_1D_sort(171); +} +} // namespace Test +#else +void KOKKOS_ALGORITHMS_UNITTESTS_TESTOPENMP_PREVENT_LINK_ERROR() {} #endif - diff --git a/lib/kokkos/algorithms/unit_tests/TestOpenMP_Sort3D.cpp b/lib/kokkos/algorithms/unit_tests/TestOpenMP_Sort3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..127d911d7ca3856957646698b431089b5deb2caa --- /dev/null +++ b/lib/kokkos/algorithms/unit_tests/TestOpenMP_Sort3D.cpp @@ -0,0 +1,65 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#ifdef KOKKOS_ENABLE_OPENMP + +#include +#include + +//---------------------------------------------------------------------------- +#include +#include +#include + +namespace Test { + +TEST(openmp, SortUnsigned3D) { + Impl::test_3D_sort(171); +} + +} // namespace Test +#else +void KOKKOS_ALGORITHMS_UNITTESTS_TESTOPENMP_PREVENT_LINK_ERROR() {} +#endif diff --git a/lib/kokkos/algorithms/unit_tests/TestOpenMP_SortDynamicView.cpp b/lib/kokkos/algorithms/unit_tests/TestOpenMP_SortDynamicView.cpp new file mode 100644 index 0000000000000000000000000000000000000000..3dc88540443f7af219b18b85425408afbc1fda6e --- /dev/null +++ b/lib/kokkos/algorithms/unit_tests/TestOpenMP_SortDynamicView.cpp @@ -0,0 +1,65 @@ +/* +//@HEADER +// ************************************************************************ +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of the Corporation nor the names of the +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE +// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) +// +// ************************************************************************ +//@HEADER +*/ + +#include +#ifdef KOKKOS_ENABLE_OPENMP + +#include +#include + +//---------------------------------------------------------------------------- +#include +#include +#include + +namespace Test { + +TEST(openmp, SortUnsignedDynamicView) { + Impl::test_dynamic_view_sort(171); +} + +} // namespace Test +#else +void KOKKOS_ALGORITHMS_UNITTESTS_TESTOPENMP_PREVENT_LINK_ERROR() {} +#endif diff --git a/lib/kokkos/algorithms/unit_tests/TestROCm.cpp b/lib/kokkos/algorithms/unit_tests/TestROCm.cpp index 15179509bbfc1fe1e193081c8387e237dfa2525c..29814cca3e6c9cc5512d83305e4a6810a781ac79 100644 --- a/lib/kokkos/algorithms/unit_tests/TestROCm.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestROCm.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -57,52 +58,35 @@ namespace Test { -class rocm : public ::testing::Test { -protected: - static void SetUpTestCase() - { - std::cout << std::setprecision(5) << std::scientific; - } - static void TearDownTestCase() - { - } -}; - -void rocm_test_random_xorshift64( int num_draws ) -{ - Impl::test_random >(num_draws); +void rocm_test_random_xorshift64(int num_draws) { + Impl::test_random< + Kokkos::Random_XorShift64_Pool >(num_draws); } -void rocm_test_random_xorshift1024( int num_draws ) -{ - Impl::test_random >(num_draws); +void rocm_test_random_xorshift1024(int num_draws) { + Impl::test_random< + Kokkos::Random_XorShift1024_Pool >(num_draws); } +#define ROCM_RANDOM_XORSHIFT64(num_draws) \ + TEST(rocm, Random_XorShift64) { rocm_test_random_xorshift64(num_draws); } -#define ROCM_RANDOM_XORSHIFT64( num_draws ) \ - TEST_F( rocm, Random_XorShift64 ) { \ - rocm_test_random_xorshift64(num_draws); \ - } - -#define ROCM_RANDOM_XORSHIFT1024( num_draws ) \ - TEST_F( rocm, Random_XorShift1024 ) { \ - rocm_test_random_xorshift1024(num_draws); \ - } +#define ROCM_RANDOM_XORSHIFT1024(num_draws) \ + TEST(rocm, Random_XorShift1024) { rocm_test_random_xorshift1024(num_draws); } -#define ROCM_SORT_UNSIGNED( size ) \ - TEST_F( rocm, SortUnsigned ) { \ - Impl::test_sort< Kokkos::Experimental::ROCm, unsigned >(size); \ +#define ROCM_SORT_UNSIGNED(size) \ + TEST(rocm, SortUnsigned) { \ + Impl::test_sort(size); \ } -ROCM_RANDOM_XORSHIFT64( 132141141 ) -ROCM_RANDOM_XORSHIFT1024( 52428813 ) +ROCM_RANDOM_XORSHIFT64(132141141) +ROCM_RANDOM_XORSHIFT1024(52428813) ROCM_SORT_UNSIGNED(171) #undef ROCM_RANDOM_XORSHIFT64 #undef ROCM_RANDOM_XORSHIFT1024 #undef ROCM_SORT_UNSIGNED -} +} // namespace Test #else void KOKKOS_ALGORITHMS_UNITTESTS_TESTROCM_PREVENT_LINK_ERROR() {} -#endif /* #ifdef KOKKOS_ENABLE_ROCM */ - +#endif /* #ifdef KOKKOS_ENABLE_ROCM */ diff --git a/lib/kokkos/algorithms/unit_tests/TestRandom.hpp b/lib/kokkos/algorithms/unit_tests/TestRandom.hpp index 73bd416f2aba49e311884096c31db295b41f1066..10a496242b692ba9987ca8b1bf62812cd189235f 100644 --- a/lib/kokkos/algorithms/unit_tests/TestRandom.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestRandom.hpp @@ -1,10 +1,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -22,10 +23,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -54,18 +55,19 @@ namespace Test { -namespace Impl{ +namespace Impl { // This test runs the random number generators and uses some statistic tests to // check the 'goodness' of the random numbers: // (i) mean: the mean is expected to be 0.5*RAND_MAX // (ii) variance: the variance is 1/3*mean*mean // (iii) covariance: the covariance is 0 -// (iv) 1-tupledistr: the mean, variance and covariance of a 1D Histrogram of random numbers -// (v) 3-tupledistr: the mean, variance and covariance of a 3D Histrogram of random numbers +// (iv) 1-tupledistr: the mean, variance and covariance of a 1D Histrogram +// of random numbers (v) 3-tupledistr: the mean, variance and covariance of +// a 3D Histrogram of random numbers #define HIST_DIM3D 24 -#define HIST_DIM1D (HIST_DIM3D*HIST_DIM3D*HIST_DIM3D) +#define HIST_DIM1D (HIST_DIM3D * HIST_DIM3D * HIST_DIM3D) struct RandomProperties { uint64_t count; @@ -77,37 +79,37 @@ struct RandomProperties { KOKKOS_INLINE_FUNCTION RandomProperties() { - count = 0; - mean = 0.0; - variance = 0.0; + count = 0; + mean = 0.0; + variance = 0.0; covariance = 0.0; - min = 1e64; - max = -1e64; + min = 1e64; + max = -1e64; } KOKKOS_INLINE_FUNCTION RandomProperties& operator+=(const RandomProperties& add) { - count += add.count; - mean += add.mean; - variance += add.variance; + count += add.count; + mean += add.mean; + variance += add.variance; covariance += add.covariance; - min = add.minmax?add.max:max; + min = add.min < min ? add.min : min; + max = add.max > max ? add.max : max; return *this; } KOKKOS_INLINE_FUNCTION void operator+=(const volatile RandomProperties& add) volatile { - count += add.count; - mean += add.mean; - variance += add.variance; + count += add.count; + mean += add.mean; + variance += add.variance; covariance += add.covariance; - min = add.minmax?add.max:max; + min = add.min < min ? add.min : min; + max = add.max > max ? add.max : max; } }; -template +template struct test_random_functor { typedef typename GeneratorPool::generator_type rnd_type; @@ -123,38 +125,40 @@ struct test_random_functor { // implementations might violate this upper bound, due to rounding // error. Just in case, we leave an extra space at the end of each // dimension, in the View types below. - typedef Kokkos::View type_1d; + typedef Kokkos::View + type_1d; type_1d density_1d; - typedef Kokkos::View type_3d; + typedef Kokkos::View + type_3d; type_3d density_3d; - test_random_functor (GeneratorPool rand_pool_, type_1d d1d, type_3d d3d) : - rand_pool (rand_pool_), - mean (0.5*Kokkos::rand::max ()), - density_1d (d1d), - density_3d (d3d) - {} + test_random_functor(GeneratorPool rand_pool_, type_1d d1d, type_3d d3d) + : rand_pool(rand_pool_), + mean(0.5 * Kokkos::rand::max()), + density_1d(d1d), + density_3d(d3d) {} KOKKOS_INLINE_FUNCTION - void operator() (int i, RandomProperties& prop) const { + void operator()(int /*i*/, RandomProperties& prop) const { using Kokkos::atomic_fetch_add; rnd_type rand_gen = rand_pool.get_state(); for (int k = 0; k < 1024; ++k) { - const Scalar tmp = Kokkos::rand::draw(rand_gen); + const Scalar tmp = Kokkos::rand::draw(rand_gen); prop.count++; prop.mean += tmp; - prop.variance += (tmp-mean)*(tmp-mean); - const Scalar tmp2 = Kokkos::rand::draw(rand_gen); + prop.variance += (tmp - mean) * (tmp - mean); + const Scalar tmp2 = Kokkos::rand::draw(rand_gen); prop.count++; prop.mean += tmp2; - prop.variance += (tmp2-mean)*(tmp2-mean); - prop.covariance += (tmp-mean)*(tmp2-mean); - const Scalar tmp3 = Kokkos::rand::draw(rand_gen); + prop.variance += (tmp2 - mean) * (tmp2 - mean); + prop.covariance += (tmp - mean) * (tmp2 - mean); + const Scalar tmp3 = Kokkos::rand::draw(rand_gen); prop.count++; prop.mean += tmp3; - prop.variance += (tmp3-mean)*(tmp3-mean); - prop.covariance += (tmp2-mean)*(tmp3-mean); + prop.variance += (tmp3 - mean) * (tmp3 - mean); + prop.covariance += (tmp2 - mean) * (tmp3 - mean); // NOTE (mfh 03 Nov 2014): Kokkos::rand::max() is supposed to // define an exclusive upper bound on the range of random @@ -169,26 +173,32 @@ struct test_random_functor { // returns values of max(), the histograms will still catch this // indirectly, since none of the other values will be filled in. - const Scalar theMax = Kokkos::rand::max (); - - const uint64_t ind1_1d = static_cast (1.0 * HIST_DIM1D * tmp / theMax); - const uint64_t ind2_1d = static_cast (1.0 * HIST_DIM1D * tmp2 / theMax); - const uint64_t ind3_1d = static_cast (1.0 * HIST_DIM1D * tmp3 / theMax); - - const uint64_t ind1_3d = static_cast (1.0 * HIST_DIM3D * tmp / theMax); - const uint64_t ind2_3d = static_cast (1.0 * HIST_DIM3D * tmp2 / theMax); - const uint64_t ind3_3d = static_cast (1.0 * HIST_DIM3D * tmp3 / theMax); - - atomic_fetch_add (&density_1d(ind1_1d), 1); - atomic_fetch_add (&density_1d(ind2_1d), 1); - atomic_fetch_add (&density_1d(ind3_1d), 1); - atomic_fetch_add (&density_3d(ind1_3d, ind2_3d, ind3_3d), 1); + const Scalar theMax = Kokkos::rand::max(); + + const uint64_t ind1_1d = + static_cast(1.0 * HIST_DIM1D * tmp / theMax); + const uint64_t ind2_1d = + static_cast(1.0 * HIST_DIM1D * tmp2 / theMax); + const uint64_t ind3_1d = + static_cast(1.0 * HIST_DIM1D * tmp3 / theMax); + + const uint64_t ind1_3d = + static_cast(1.0 * HIST_DIM3D * tmp / theMax); + const uint64_t ind2_3d = + static_cast(1.0 * HIST_DIM3D * tmp2 / theMax); + const uint64_t ind3_3d = + static_cast(1.0 * HIST_DIM3D * tmp3 / theMax); + + atomic_fetch_add(&density_1d(ind1_1d), 1); + atomic_fetch_add(&density_1d(ind2_1d), 1); + atomic_fetch_add(&density_1d(ind3_1d), 1); + atomic_fetch_add(&density_3d(ind1_3d, ind2_3d, ind3_3d), 1); } rand_pool.free_state(rand_gen); } }; -template +template struct test_histogram1d_functor { typedef RandomProperties value_type; typedef typename DeviceType::execution_space execution_space; @@ -200,34 +210,29 @@ struct test_histogram1d_functor { // implementations might violate this upper bound, due to rounding // error. Just in case, we leave an extra space at the end of each // dimension, in the View type below. - typedef Kokkos::View type_1d; + typedef Kokkos::View type_1d; type_1d density_1d; double mean; - test_histogram1d_functor (type_1d d1d, int num_draws) : - density_1d (d1d), - mean (1.0*num_draws/HIST_DIM1D*3) - { - } + test_histogram1d_functor(type_1d d1d, int num_draws) + : density_1d(d1d), mean(1.0 * num_draws / HIST_DIM1D * 3) {} - KOKKOS_INLINE_FUNCTION void - operator() (const typename memory_space::size_type i, - RandomProperties& prop) const - { + KOKKOS_INLINE_FUNCTION void operator()( + const typename memory_space::size_type i, RandomProperties& prop) const { typedef typename memory_space::size_type size_type; const double count = density_1d(i); prop.mean += count; prop.variance += 1.0 * (count - mean) * (count - mean); - //prop.covariance += 1.0*count*count; + // prop.covariance += 1.0*count*count; prop.min = count < prop.min ? count : prop.min; prop.max = count > prop.max ? count : prop.max; - if (i < static_cast (HIST_DIM1D-1)) { - prop.covariance += (count - mean) * (density_1d(i+1) - mean); + if (i < static_cast(HIST_DIM1D - 1)) { + prop.covariance += (count - mean) * (density_1d(i + 1) - mean); } } }; -template +template struct test_histogram3d_functor { typedef RandomProperties value_type; typedef typename DeviceType::execution_space execution_space; @@ -239,29 +244,28 @@ struct test_histogram3d_functor { // implementations might violate this upper bound, due to rounding // error. Just in case, we leave an extra space at the end of each // dimension, in the View type below. - typedef Kokkos::View type_3d; + typedef Kokkos::View + type_3d; type_3d density_3d; double mean; - test_histogram3d_functor (type_3d d3d, int num_draws) : - density_3d (d3d), - mean (1.0*num_draws/HIST_DIM1D) - {} + test_histogram3d_functor(type_3d d3d, int num_draws) + : density_3d(d3d), mean(1.0 * num_draws / HIST_DIM1D) {} - KOKKOS_INLINE_FUNCTION void - operator() (const typename memory_space::size_type i, - RandomProperties& prop) const - { + KOKKOS_INLINE_FUNCTION void operator()( + const typename memory_space::size_type i, RandomProperties& prop) const { typedef typename memory_space::size_type size_type; - const double count = density_3d(i/(HIST_DIM3D*HIST_DIM3D), - (i % (HIST_DIM3D*HIST_DIM3D))/HIST_DIM3D, - i % HIST_DIM3D); + const double count = density_3d( + i / (HIST_DIM3D * HIST_DIM3D), + (i % (HIST_DIM3D * HIST_DIM3D)) / HIST_DIM3D, i % HIST_DIM3D); prop.mean += count; prop.variance += (count - mean) * (count - mean); - if (i < static_cast (HIST_DIM1D-1)) { - const double count_next = density_3d((i+1)/(HIST_DIM3D*HIST_DIM3D), - ((i+1)%(HIST_DIM3D*HIST_DIM3D))/HIST_DIM3D, - (i+1)%HIST_DIM3D); + if (i < static_cast(HIST_DIM1D - 1)) { + const double count_next = + density_3d((i + 1) / (HIST_DIM3D * HIST_DIM3D), + ((i + 1) % (HIST_DIM3D * HIST_DIM3D)) / HIST_DIM3D, + (i + 1) % HIST_DIM3D); prop.covariance += (count - mean) * (count_next - mean); } } @@ -270,212 +274,223 @@ struct test_histogram3d_functor { // // Templated test that uses the above functors. // -template +template struct test_random_scalar { typedef typename RandomGenerator::generator_type rnd_type; - int pass_mean,pass_var,pass_covar; - int pass_hist1d_mean,pass_hist1d_var,pass_hist1d_covar; - int pass_hist3d_mean,pass_hist3d_var,pass_hist3d_covar; + int pass_mean, pass_var, pass_covar; + int pass_hist1d_mean, pass_hist1d_var, pass_hist1d_covar; + int pass_hist3d_mean, pass_hist3d_var, pass_hist3d_covar; - test_random_scalar (typename test_random_functor::type_1d& density_1d, - typename test_random_functor::type_3d& density_3d, - RandomGenerator& pool, - unsigned int num_draws) - { + test_random_scalar( + typename test_random_functor::type_1d& density_1d, + typename test_random_functor::type_3d& density_3d, + RandomGenerator& pool, unsigned int num_draws) { + using Kokkos::parallel_reduce; using std::cout; using std::endl; - using Kokkos::parallel_reduce; { cout << " -- Testing randomness properties" << endl; RandomProperties result; typedef test_random_functor functor_type; - parallel_reduce (num_draws/1024, functor_type (pool, density_1d, density_3d), result); - - //printf("Result: %lf %lf %lf\n",result.mean/num_draws/3,result.variance/num_draws/3,result.covariance/num_draws/2); - double tolerance = 1.6*std::sqrt(1.0/num_draws); - double mean_expect = 0.5*Kokkos::rand::max(); - double variance_expect = 1.0/3.0*mean_expect*mean_expect; - double mean_eps = mean_expect/(result.mean/num_draws/3)-1.0; - double variance_eps = variance_expect/(result.variance/num_draws/3)-1.0; - double covariance_eps = result.covariance/num_draws/2/variance_expect; - pass_mean = ((-tolerance < mean_eps) && - ( tolerance > mean_eps)) ? 1:0; - pass_var = ((-1.5*tolerance < variance_eps) && - ( 1.5*tolerance > variance_eps)) ? 1:0; - pass_covar = ((-2.0*tolerance < covariance_eps) && - ( 2.0*tolerance > covariance_eps)) ? 1:0; - cout << "Pass: " << pass_mean - << " " << pass_var - << " " << mean_eps - << " " << variance_eps - << " " << covariance_eps - << " || " << tolerance << endl; + parallel_reduce(num_draws / 1024, + functor_type(pool, density_1d, density_3d), result); + + // printf("Result: %lf %lf + // %lf\n",result.mean/num_draws/3,result.variance/num_draws/3,result.covariance/num_draws/2); + double tolerance = 1.6 * std::sqrt(1.0 / num_draws); + double mean_expect = 0.5 * Kokkos::rand::max(); + double variance_expect = 1.0 / 3.0 * mean_expect * mean_expect; + double mean_eps = mean_expect / (result.mean / num_draws / 3) - 1.0; + double variance_eps = + variance_expect / (result.variance / num_draws / 3) - 1.0; + double covariance_eps = + result.covariance / num_draws / 2 / variance_expect; + pass_mean = ((-tolerance < mean_eps) && (tolerance > mean_eps)) ? 1 : 0; + pass_var = ((-1.5 * tolerance < variance_eps) && + (1.5 * tolerance > variance_eps)) + ? 1 + : 0; + pass_covar = ((-2.0 * tolerance < covariance_eps) && + (2.0 * tolerance > covariance_eps)) + ? 1 + : 0; + cout << "Pass: " << pass_mean << " " << pass_var << " " << mean_eps << " " + << variance_eps << " " << covariance_eps << " || " << tolerance + << endl; } { cout << " -- Testing 1-D histogram" << endl; RandomProperties result; - typedef test_histogram1d_functor functor_type; - parallel_reduce (HIST_DIM1D, functor_type (density_1d, num_draws), result); - - double tolerance = 6*std::sqrt(1.0/HIST_DIM1D); - double mean_expect = 1.0*num_draws*3/HIST_DIM1D; - double variance_expect = 1.0*num_draws*3/HIST_DIM1D*(1.0-1.0/HIST_DIM1D); - double covariance_expect = -1.0*num_draws*3/HIST_DIM1D/HIST_DIM1D; - double mean_eps = mean_expect/(result.mean/HIST_DIM1D)-1.0; - double variance_eps = variance_expect/(result.variance/HIST_DIM1D)-1.0; - double covariance_eps = (result.covariance/HIST_DIM1D - covariance_expect)/mean_expect; - pass_hist1d_mean = ((-0.0001 < mean_eps) && - ( 0.0001 > mean_eps)) ? 1:0; - pass_hist1d_var = ((-0.07 < variance_eps) && - ( 0.07 > variance_eps)) ? 1:0; - pass_hist1d_covar = ((-0.06 < covariance_eps) && - ( 0.06 > covariance_eps)) ? 1:0; - - cout << "Density 1D: " << mean_eps - << " " << variance_eps - << " " << (result.covariance/HIST_DIM1D/HIST_DIM1D) - << " || " << tolerance - << " " << result.min - << " " << result.max - << " || " << result.variance/HIST_DIM1D - << " " << 1.0*num_draws*3/HIST_DIM1D*(1.0-1.0/HIST_DIM1D) - << " || " << result.covariance/HIST_DIM1D - << " " << -1.0*num_draws*3/HIST_DIM1D/HIST_DIM1D - << endl; + typedef test_histogram1d_functor + functor_type; + parallel_reduce(HIST_DIM1D, functor_type(density_1d, num_draws), result); + + double tolerance = 6 * std::sqrt(1.0 / HIST_DIM1D); + double mean_expect = 1.0 * num_draws * 3 / HIST_DIM1D; + double variance_expect = + 1.0 * num_draws * 3 / HIST_DIM1D * (1.0 - 1.0 / HIST_DIM1D); + double covariance_expect = -1.0 * num_draws * 3 / HIST_DIM1D / HIST_DIM1D; + double mean_eps = mean_expect / (result.mean / HIST_DIM1D) - 1.0; + double variance_eps = + variance_expect / (result.variance / HIST_DIM1D) - 1.0; + double covariance_eps = + (result.covariance / HIST_DIM1D - covariance_expect) / mean_expect; + pass_hist1d_mean = ((-0.0001 < mean_eps) && (0.0001 > mean_eps)) ? 1 : 0; + pass_hist1d_var = + ((-0.07 < variance_eps) && (0.07 > variance_eps)) ? 1 : 0; + pass_hist1d_covar = + ((-0.06 < covariance_eps) && (0.06 > covariance_eps)) ? 1 : 0; + + cout << "Density 1D: " << mean_eps << " " << variance_eps << " " + << (result.covariance / HIST_DIM1D / HIST_DIM1D) << " || " + << tolerance << " " << result.min << " " << result.max << " || " + << result.variance / HIST_DIM1D << " " + << 1.0 * num_draws * 3 / HIST_DIM1D * (1.0 - 1.0 / HIST_DIM1D) + << " || " << result.covariance / HIST_DIM1D << " " + << -1.0 * num_draws * 3 / HIST_DIM1D / HIST_DIM1D << endl; } { cout << " -- Testing 3-D histogram" << endl; RandomProperties result; - typedef test_histogram3d_functor functor_type; - parallel_reduce (HIST_DIM1D, functor_type (density_3d, num_draws), result); - - double tolerance = 6*std::sqrt(1.0/HIST_DIM1D); - double mean_expect = 1.0*num_draws/HIST_DIM1D; - double variance_expect = 1.0*num_draws/HIST_DIM1D*(1.0-1.0/HIST_DIM1D); - double covariance_expect = -1.0*num_draws/HIST_DIM1D/HIST_DIM1D; - double mean_eps = mean_expect/(result.mean/HIST_DIM1D)-1.0; - double variance_eps = variance_expect/(result.variance/HIST_DIM1D)-1.0; - double covariance_eps = (result.covariance/HIST_DIM1D - covariance_expect)/mean_expect; - pass_hist3d_mean = ((-tolerance < mean_eps) && - ( tolerance > mean_eps)) ? 1:0; - pass_hist3d_var = ((-1.2*tolerance < variance_eps) && - ( 1.2*tolerance > variance_eps)) ? 1:0; - pass_hist3d_covar = ((-tolerance < covariance_eps) && - ( tolerance > covariance_eps)) ? 1:0; - - cout << "Density 3D: " << mean_eps - << " " << variance_eps - << " " << result.covariance/HIST_DIM1D/HIST_DIM1D - << " || " << tolerance - << " " << result.min - << " " << result.max << endl; + typedef test_histogram3d_functor + functor_type; + parallel_reduce(HIST_DIM1D, functor_type(density_3d, num_draws), result); + + double tolerance = 6 * std::sqrt(1.0 / HIST_DIM1D); + double mean_expect = 1.0 * num_draws / HIST_DIM1D; + double variance_expect = + 1.0 * num_draws / HIST_DIM1D * (1.0 - 1.0 / HIST_DIM1D); + double covariance_expect = -1.0 * num_draws / HIST_DIM1D / HIST_DIM1D; + double mean_eps = mean_expect / (result.mean / HIST_DIM1D) - 1.0; + double variance_eps = + variance_expect / (result.variance / HIST_DIM1D) - 1.0; + double covariance_eps = + (result.covariance / HIST_DIM1D - covariance_expect) / mean_expect; + pass_hist3d_mean = + ((-tolerance < mean_eps) && (tolerance > mean_eps)) ? 1 : 0; + pass_hist3d_var = ((-1.2 * tolerance < variance_eps) && + (1.2 * tolerance > variance_eps)) + ? 1 + : 0; + pass_hist3d_covar = + ((-tolerance < covariance_eps) && (tolerance > covariance_eps)) ? 1 + : 0; + + cout << "Density 3D: " << mean_eps << " " << variance_eps << " " + << result.covariance / HIST_DIM1D / HIST_DIM1D << " || " << tolerance + << " " << result.min << " " << result.max << endl; } } }; template -void test_random(unsigned int num_draws) -{ +void test_random(unsigned int num_draws) { using std::cout; using std::endl; - typename test_random_functor::type_1d density_1d("D1d"); - typename test_random_functor::type_3d density_3d("D3d"); + typename test_random_functor::type_1d density_1d("D1d"); + typename test_random_functor::type_3d density_3d("D3d"); - - uint64_t ticks = std::chrono::high_resolution_clock::now().time_since_epoch().count(); + uint64_t ticks = + std::chrono::high_resolution_clock::now().time_since_epoch().count(); cout << "Test Seed:" << ticks << endl; RandomGenerator pool(ticks); cout << "Test Scalar=int" << endl; - test_random_scalar test_int(density_1d,density_3d,pool,num_draws); - ASSERT_EQ( test_int.pass_mean,1); - ASSERT_EQ( test_int.pass_var,1); - ASSERT_EQ( test_int.pass_covar,1); - ASSERT_EQ( test_int.pass_hist1d_mean,1); - ASSERT_EQ( test_int.pass_hist1d_var,1); - ASSERT_EQ( test_int.pass_hist1d_covar,1); - ASSERT_EQ( test_int.pass_hist3d_mean,1); - ASSERT_EQ( test_int.pass_hist3d_var,1); - ASSERT_EQ( test_int.pass_hist3d_covar,1); - deep_copy(density_1d,0); - deep_copy(density_3d,0); + test_random_scalar test_int(density_1d, density_3d, + pool, num_draws); + ASSERT_EQ(test_int.pass_mean, 1); + ASSERT_EQ(test_int.pass_var, 1); + ASSERT_EQ(test_int.pass_covar, 1); + ASSERT_EQ(test_int.pass_hist1d_mean, 1); + ASSERT_EQ(test_int.pass_hist1d_var, 1); + ASSERT_EQ(test_int.pass_hist1d_covar, 1); + ASSERT_EQ(test_int.pass_hist3d_mean, 1); + ASSERT_EQ(test_int.pass_hist3d_var, 1); + ASSERT_EQ(test_int.pass_hist3d_covar, 1); + deep_copy(density_1d, 0); + deep_copy(density_3d, 0); cout << "Test Scalar=unsigned int" << endl; - test_random_scalar test_uint(density_1d,density_3d,pool,num_draws); - ASSERT_EQ( test_uint.pass_mean,1); - ASSERT_EQ( test_uint.pass_var,1); - ASSERT_EQ( test_uint.pass_covar,1); - ASSERT_EQ( test_uint.pass_hist1d_mean,1); - ASSERT_EQ( test_uint.pass_hist1d_var,1); - ASSERT_EQ( test_uint.pass_hist1d_covar,1); - ASSERT_EQ( test_uint.pass_hist3d_mean,1); - ASSERT_EQ( test_uint.pass_hist3d_var,1); - ASSERT_EQ( test_uint.pass_hist3d_covar,1); - deep_copy(density_1d,0); - deep_copy(density_3d,0); + test_random_scalar test_uint( + density_1d, density_3d, pool, num_draws); + ASSERT_EQ(test_uint.pass_mean, 1); + ASSERT_EQ(test_uint.pass_var, 1); + ASSERT_EQ(test_uint.pass_covar, 1); + ASSERT_EQ(test_uint.pass_hist1d_mean, 1); + ASSERT_EQ(test_uint.pass_hist1d_var, 1); + ASSERT_EQ(test_uint.pass_hist1d_covar, 1); + ASSERT_EQ(test_uint.pass_hist3d_mean, 1); + ASSERT_EQ(test_uint.pass_hist3d_var, 1); + ASSERT_EQ(test_uint.pass_hist3d_covar, 1); + deep_copy(density_1d, 0); + deep_copy(density_3d, 0); cout << "Test Scalar=int64_t" << endl; - test_random_scalar test_int64(density_1d,density_3d,pool,num_draws); - ASSERT_EQ( test_int64.pass_mean,1); - ASSERT_EQ( test_int64.pass_var,1); - ASSERT_EQ( test_int64.pass_covar,1); - ASSERT_EQ( test_int64.pass_hist1d_mean,1); - ASSERT_EQ( test_int64.pass_hist1d_var,1); - ASSERT_EQ( test_int64.pass_hist1d_covar,1); - ASSERT_EQ( test_int64.pass_hist3d_mean,1); - ASSERT_EQ( test_int64.pass_hist3d_var,1); - ASSERT_EQ( test_int64.pass_hist3d_covar,1); - deep_copy(density_1d,0); - deep_copy(density_3d,0); + test_random_scalar test_int64( + density_1d, density_3d, pool, num_draws); + ASSERT_EQ(test_int64.pass_mean, 1); + ASSERT_EQ(test_int64.pass_var, 1); + ASSERT_EQ(test_int64.pass_covar, 1); + ASSERT_EQ(test_int64.pass_hist1d_mean, 1); + ASSERT_EQ(test_int64.pass_hist1d_var, 1); + ASSERT_EQ(test_int64.pass_hist1d_covar, 1); + ASSERT_EQ(test_int64.pass_hist3d_mean, 1); + ASSERT_EQ(test_int64.pass_hist3d_var, 1); + ASSERT_EQ(test_int64.pass_hist3d_covar, 1); + deep_copy(density_1d, 0); + deep_copy(density_3d, 0); cout << "Test Scalar=uint64_t" << endl; - test_random_scalar test_uint64(density_1d,density_3d,pool,num_draws); - ASSERT_EQ( test_uint64.pass_mean,1); - ASSERT_EQ( test_uint64.pass_var,1); - ASSERT_EQ( test_uint64.pass_covar,1); - ASSERT_EQ( test_uint64.pass_hist1d_mean,1); - ASSERT_EQ( test_uint64.pass_hist1d_var,1); - ASSERT_EQ( test_uint64.pass_hist1d_covar,1); - ASSERT_EQ( test_uint64.pass_hist3d_mean,1); - ASSERT_EQ( test_uint64.pass_hist3d_var,1); - ASSERT_EQ( test_uint64.pass_hist3d_covar,1); - deep_copy(density_1d,0); - deep_copy(density_3d,0); + test_random_scalar test_uint64( + density_1d, density_3d, pool, num_draws); + ASSERT_EQ(test_uint64.pass_mean, 1); + ASSERT_EQ(test_uint64.pass_var, 1); + ASSERT_EQ(test_uint64.pass_covar, 1); + ASSERT_EQ(test_uint64.pass_hist1d_mean, 1); + ASSERT_EQ(test_uint64.pass_hist1d_var, 1); + ASSERT_EQ(test_uint64.pass_hist1d_covar, 1); + ASSERT_EQ(test_uint64.pass_hist3d_mean, 1); + ASSERT_EQ(test_uint64.pass_hist3d_var, 1); + ASSERT_EQ(test_uint64.pass_hist3d_covar, 1); + deep_copy(density_1d, 0); + deep_copy(density_3d, 0); cout << "Test Scalar=float" << endl; - test_random_scalar test_float(density_1d,density_3d,pool,num_draws); - ASSERT_EQ( test_float.pass_mean,1); - ASSERT_EQ( test_float.pass_var,1); - ASSERT_EQ( test_float.pass_covar,1); - ASSERT_EQ( test_float.pass_hist1d_mean,1); - ASSERT_EQ( test_float.pass_hist1d_var,1); - ASSERT_EQ( test_float.pass_hist1d_covar,1); - ASSERT_EQ( test_float.pass_hist3d_mean,1); - ASSERT_EQ( test_float.pass_hist3d_var,1); - ASSERT_EQ( test_float.pass_hist3d_covar,1); - deep_copy(density_1d,0); - deep_copy(density_3d,0); + test_random_scalar test_float(density_1d, density_3d, + pool, num_draws); + ASSERT_EQ(test_float.pass_mean, 1); + ASSERT_EQ(test_float.pass_var, 1); + ASSERT_EQ(test_float.pass_covar, 1); + ASSERT_EQ(test_float.pass_hist1d_mean, 1); + ASSERT_EQ(test_float.pass_hist1d_var, 1); + ASSERT_EQ(test_float.pass_hist1d_covar, 1); + ASSERT_EQ(test_float.pass_hist3d_mean, 1); + ASSERT_EQ(test_float.pass_hist3d_var, 1); + ASSERT_EQ(test_float.pass_hist3d_covar, 1); + deep_copy(density_1d, 0); + deep_copy(density_3d, 0); cout << "Test Scalar=double" << endl; - test_random_scalar test_double(density_1d,density_3d,pool,num_draws); - ASSERT_EQ( test_double.pass_mean,1); - ASSERT_EQ( test_double.pass_var,1); - ASSERT_EQ( test_double.pass_covar,1); - ASSERT_EQ( test_double.pass_hist1d_mean,1); - ASSERT_EQ( test_double.pass_hist1d_var,1); - ASSERT_EQ( test_double.pass_hist1d_covar,1); - ASSERT_EQ( test_double.pass_hist3d_mean,1); - ASSERT_EQ( test_double.pass_hist3d_var,1); - ASSERT_EQ( test_double.pass_hist3d_covar,1); -} + test_random_scalar test_double( + density_1d, density_3d, pool, num_draws); + ASSERT_EQ(test_double.pass_mean, 1); + ASSERT_EQ(test_double.pass_var, 1); + ASSERT_EQ(test_double.pass_covar, 1); + ASSERT_EQ(test_double.pass_hist1d_mean, 1); + ASSERT_EQ(test_double.pass_hist1d_var, 1); + ASSERT_EQ(test_double.pass_hist1d_covar, 1); + ASSERT_EQ(test_double.pass_hist3d_mean, 1); + ASSERT_EQ(test_double.pass_hist3d_var, 1); + ASSERT_EQ(test_double.pass_hist3d_covar, 1); } +} // namespace Impl -} // namespace Test +} // namespace Test -#endif //KOKKOS_TEST_UNORDERED_MAP_HPP +#endif // KOKKOS_TEST_UNORDERED_MAP_HPP diff --git a/lib/kokkos/algorithms/unit_tests/TestSerial.cpp b/lib/kokkos/algorithms/unit_tests/TestSerial.cpp index 9cf998f7732628bf71e8bc8ea90fcf6e41a27f3d..2eacdc2677184988c226bbaca13827a4b55cccff 100644 --- a/lib/kokkos/algorithms/unit_tests/TestSerial.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestSerial.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -52,49 +53,36 @@ #include #include - //---------------------------------------------------------------------------- - namespace Test { -class serial : public ::testing::Test { -protected: - static void SetUpTestCase() - { - } - - static void TearDownTestCase () - { +#define SERIAL_RANDOM_XORSHIFT64(num_draws) \ + TEST(serial, Random_XorShift64) { \ + Impl::test_random >( \ + num_draws); \ } -}; -#define SERIAL_RANDOM_XORSHIFT64( num_draws ) \ - TEST_F( serial, Random_XorShift64 ) { \ - Impl::test_random >(num_draws); \ +#define SERIAL_RANDOM_XORSHIFT1024(num_draws) \ + TEST(serial, Random_XorShift1024) { \ + Impl::test_random >( \ + num_draws); \ } -#define SERIAL_RANDOM_XORSHIFT1024( num_draws ) \ - TEST_F( serial, Random_XorShift1024 ) { \ - Impl::test_random >(num_draws); \ +#define SERIAL_SORT_UNSIGNED(size) \ + TEST(serial, SortUnsigned) { \ + Impl::test_sort(size); \ } -#define SERIAL_SORT_UNSIGNED( size ) \ - TEST_F( serial, SortUnsigned ) { \ - Impl::test_sort< Kokkos::Serial, unsigned >(size); \ - } - -SERIAL_RANDOM_XORSHIFT64( 10240000 ) -SERIAL_RANDOM_XORSHIFT1024( 10130144 ) +SERIAL_RANDOM_XORSHIFT64(10240000) +SERIAL_RANDOM_XORSHIFT1024(10130144) SERIAL_SORT_UNSIGNED(171) #undef SERIAL_RANDOM_XORSHIFT64 #undef SERIAL_RANDOM_XORSHIFT1024 #undef SERIAL_SORT_UNSIGNED -} // namespace Test +} // namespace Test #else void KOKKOS_ALGORITHMS_UNITTESTS_TESTSERIAL_PREVENT_LINK_ERROR() {} -#endif // KOKKOS_ENABLE_SERIAL - - +#endif // KOKKOS_ENABLE_SERIAL diff --git a/lib/kokkos/algorithms/unit_tests/TestSort.hpp b/lib/kokkos/algorithms/unit_tests/TestSort.hpp index 5fd7f09b50ef617b797f39305a3318e71ea354da..b6ff91c25fa9b6c28bea35f6ac5f5df2800a4121 100644 --- a/lib/kokkos/algorithms/unit_tests/TestSort.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestSort.hpp @@ -1,10 +1,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -22,10 +23,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -43,235 +44,248 @@ #define KOKKOS_ALGORITHMS_UNITTESTS_TESTSORT_HPP #include -#include -#include -#include -#include +#include +#include +#include +#include namespace Test { -namespace Impl{ +namespace Impl { -template +template struct is_sorted_struct { typedef unsigned int value_type; typedef ExecutionSpace execution_space; - Kokkos::View keys; + Kokkos::View keys; - is_sorted_struct(Kokkos::View keys_):keys(keys_) {} + is_sorted_struct(Kokkos::View keys_) : keys(keys_) {} KOKKOS_INLINE_FUNCTION - void operator() (int i, unsigned int& count) const { - if(keys(i)>keys(i+1)) count++; + void operator()(int i, unsigned int& count) const { + if (keys(i) > keys(i + 1)) count++; } }; -template +template struct sum { typedef double value_type; typedef ExecutionSpace execution_space; - Kokkos::View keys; + Kokkos::View keys; - sum(Kokkos::View keys_):keys(keys_) {} + sum(Kokkos::View keys_) : keys(keys_) {} KOKKOS_INLINE_FUNCTION - void operator() (int i, double& count) const { - count+=keys(i); - } + void operator()(int i, double& count) const { count += keys(i); } }; -template +template struct bin3d_is_sorted_struct { typedef unsigned int value_type; typedef ExecutionSpace execution_space; - Kokkos::View keys; + Kokkos::View keys; int max_bins; Scalar min; Scalar max; - bin3d_is_sorted_struct(Kokkos::View keys_,int max_bins_,Scalar min_,Scalar max_): - keys(keys_),max_bins(max_bins_),min(min_),max(max_) { - } + bin3d_is_sorted_struct(Kokkos::View keys_, + int max_bins_, Scalar min_, Scalar max_) + : keys(keys_), max_bins(max_bins_), min(min_), max(max_) {} KOKKOS_INLINE_FUNCTION - void operator() (int i, unsigned int& count) const { - int ix1 = int ((keys(i,0)-min)/max * max_bins); - int iy1 = int ((keys(i,1)-min)/max * max_bins); - int iz1 = int ((keys(i,2)-min)/max * max_bins); - int ix2 = int ((keys(i+1,0)-min)/max * max_bins); - int iy2 = int ((keys(i+1,1)-min)/max * max_bins); - int iz2 = int ((keys(i+1,2)-min)/max * max_bins); - - if (ix1>ix2) count++; - else if(ix1==ix2) { - if (iy1>iy2) count++; - else if ((iy1==iy2) && (iz1>iz2)) count++; + void operator()(int i, unsigned int& count) const { + int ix1 = int((keys(i, 0) - min) / max * max_bins); + int iy1 = int((keys(i, 1) - min) / max * max_bins); + int iz1 = int((keys(i, 2) - min) / max * max_bins); + int ix2 = int((keys(i + 1, 0) - min) / max * max_bins); + int iy2 = int((keys(i + 1, 1) - min) / max * max_bins); + int iz2 = int((keys(i + 1, 2) - min) / max * max_bins); + + if (ix1 > ix2) + count++; + else if (ix1 == ix2) { + if (iy1 > iy2) + count++; + else if ((iy1 == iy2) && (iz1 > iz2)) + count++; } } }; -template +template struct sum3D { typedef double value_type; typedef ExecutionSpace execution_space; - Kokkos::View keys; + Kokkos::View keys; - sum3D(Kokkos::View keys_):keys(keys_) {} + sum3D(Kokkos::View keys_) : keys(keys_) {} KOKKOS_INLINE_FUNCTION - void operator() (int i, double& count) const { - count+=keys(i,0); - count+=keys(i,1); - count+=keys(i,2); + void operator()(int i, double& count) const { + count += keys(i, 0); + count += keys(i, 1); + count += keys(i, 2); } }; -template -void test_1D_sort(unsigned int n,bool force_kokkos) { - typedef Kokkos::View KeyViewType; - KeyViewType keys("Keys",n); +template +void test_1D_sort_impl(unsigned int n, bool force_kokkos) { + typedef Kokkos::View KeyViewType; + KeyViewType keys("Keys", n); // Test sorting array with all numbers equal - Kokkos::deep_copy(keys,KeyType(1)); - Kokkos::sort(keys,force_kokkos); + Kokkos::deep_copy(keys, KeyType(1)); + Kokkos::sort(keys, force_kokkos); Kokkos::Random_XorShift64_Pool g(1931); - Kokkos::fill_random(keys,g,Kokkos::Random_XorShift64_Pool::generator_type::MAX_URAND); + Kokkos::fill_random(keys, g, + Kokkos::Random_XorShift64_Pool< + ExecutionSpace>::generator_type::MAX_URAND); - double sum_before = 0.0; - double sum_after = 0.0; + double sum_before = 0.0; + double sum_after = 0.0; unsigned int sort_fails = 0; - Kokkos::parallel_reduce(n,sum(keys),sum_before); + Kokkos::parallel_reduce(n, sum(keys), sum_before); - Kokkos::sort(keys,force_kokkos); + Kokkos::sort(keys, force_kokkos); - Kokkos::parallel_reduce(n,sum(keys),sum_after); - Kokkos::parallel_reduce(n-1,is_sorted_struct(keys),sort_fails); + Kokkos::parallel_reduce(n, sum(keys), sum_after); + Kokkos::parallel_reduce( + n - 1, is_sorted_struct(keys), sort_fails); - double ratio = sum_before/sum_after; + double ratio = sum_before / sum_after; double epsilon = 1e-10; - unsigned int equal_sum = (ratio > (1.0-epsilon)) && (ratio < (1.0+epsilon)) ? 1 : 0; + unsigned int equal_sum = + (ratio > (1.0 - epsilon)) && (ratio < (1.0 + epsilon)) ? 1 : 0; - ASSERT_EQ(sort_fails,0); - ASSERT_EQ(equal_sum,1); + ASSERT_EQ(sort_fails, 0); + ASSERT_EQ(equal_sum, 1); } -template -void test_3D_sort(unsigned int n) { - typedef Kokkos::View KeyViewType; +template +void test_3D_sort_impl(unsigned int n) { + typedef Kokkos::View KeyViewType; - KeyViewType keys("Keys",n*n*n); + KeyViewType keys("Keys", n * n * n); Kokkos::Random_XorShift64_Pool g(1931); - Kokkos::fill_random(keys,g,100.0); + Kokkos::fill_random(keys, g, 100.0); - double sum_before = 0.0; - double sum_after = 0.0; + double sum_before = 0.0; + double sum_after = 0.0; unsigned int sort_fails = 0; - Kokkos::parallel_reduce(keys.extent(0),sum3D(keys),sum_before); + Kokkos::parallel_reduce(keys.extent(0), sum3D(keys), + sum_before); int bin_1d = 1; - while( bin_1d*bin_1d*bin_1d*4< (int) keys.extent(0) ) bin_1d*=2; - int bin_max[3] = {bin_1d,bin_1d,bin_1d}; - typename KeyViewType::value_type min[3] = {0,0,0}; - typename KeyViewType::value_type max[3] = {100,100,100}; - - typedef Kokkos::BinOp3D< KeyViewType > BinOp; - BinOp bin_op(bin_max,min,max); - Kokkos::BinSort< KeyViewType , BinOp > - Sorter(keys,bin_op,false); + while (bin_1d * bin_1d * bin_1d * 4 < (int)keys.extent(0)) bin_1d *= 2; + int bin_max[3] = {bin_1d, bin_1d, bin_1d}; + typename KeyViewType::value_type min[3] = {0, 0, 0}; + typename KeyViewType::value_type max[3] = {100, 100, 100}; + + typedef Kokkos::BinOp3D BinOp; + BinOp bin_op(bin_max, min, max); + Kokkos::BinSort Sorter(keys, bin_op, false); Sorter.create_permute_vector(); - Sorter.template sort< KeyViewType >(keys); + Sorter.template sort(keys); - Kokkos::parallel_reduce(keys.extent(0),sum3D(keys),sum_after); - Kokkos::parallel_reduce(keys.extent(0)-1,bin3d_is_sorted_struct(keys,bin_1d,min[0],max[0]),sort_fails); + Kokkos::parallel_reduce(keys.extent(0), sum3D(keys), + sum_after); + Kokkos::parallel_reduce(keys.extent(0) - 1, + bin3d_is_sorted_struct( + keys, bin_1d, min[0], max[0]), + sort_fails); - double ratio = sum_before/sum_after; + double ratio = sum_before / sum_after; double epsilon = 1e-10; - unsigned int equal_sum = (ratio > (1.0-epsilon)) && (ratio < (1.0+epsilon)) ? 1 : 0; + unsigned int equal_sum = + (ratio > (1.0 - epsilon)) && (ratio < (1.0 + epsilon)) ? 1 : 0; - if ( sort_fails ) - printf("3D Sort Sum: %f %f Fails: %u\n",sum_before,sum_after,sort_fails); + if (sort_fails) + printf("3D Sort Sum: %f %f Fails: %u\n", sum_before, sum_after, sort_fails); - ASSERT_EQ(sort_fails,0); - ASSERT_EQ(equal_sum,1); + ASSERT_EQ(sort_fails, 0); + ASSERT_EQ(equal_sum, 1); } //---------------------------------------------------------------------------- -template -void test_dynamic_view_sort(unsigned int n ) -{ - typedef Kokkos::Experimental::DynamicView KeyDynamicViewType; - typedef Kokkos::View KeyViewType; +template +void test_dynamic_view_sort_impl(unsigned int n) { + typedef Kokkos::Experimental::DynamicView + KeyDynamicViewType; + typedef Kokkos::View KeyViewType; - const size_t upper_bound = 2 * n ; + const size_t upper_bound = 2 * n; const size_t min_chunk_size = 1024; KeyDynamicViewType keys("Keys", min_chunk_size, upper_bound); keys.resize_serial(n); - KeyViewType keys_view("KeysTmp", n ); + KeyViewType keys_view("KeysTmp", n); // Test sorting array with all numbers equal - Kokkos::deep_copy(keys_view,KeyType(1)); - Kokkos::deep_copy(keys,keys_view); - Kokkos::sort(keys, 0 /* begin */ , n /* end */ ); + Kokkos::deep_copy(keys_view, KeyType(1)); + Kokkos::deep_copy(keys, keys_view); + Kokkos::sort(keys, 0 /* begin */, n /* end */); Kokkos::Random_XorShift64_Pool g(1931); - Kokkos::fill_random(keys_view,g,Kokkos::Random_XorShift64_Pool::generator_type::MAX_URAND); + Kokkos::fill_random(keys_view, g, + Kokkos::Random_XorShift64_Pool< + ExecutionSpace>::generator_type::MAX_URAND); ExecutionSpace().fence(); - Kokkos::deep_copy(keys,keys_view); - //ExecutionSpace().fence(); + Kokkos::deep_copy(keys, keys_view); + // ExecutionSpace().fence(); - double sum_before = 0.0; - double sum_after = 0.0; + double sum_before = 0.0; + double sum_after = 0.0; unsigned int sort_fails = 0; - Kokkos::parallel_reduce(n,sum(keys_view),sum_before); + Kokkos::parallel_reduce(n, sum(keys_view), + sum_before); - Kokkos::sort(keys, 0 /* begin */ , n /* end */ ); + Kokkos::sort(keys, 0 /* begin */, n /* end */); - ExecutionSpace().fence(); // Need this fence to prevent BusError with Cuda - Kokkos::deep_copy( keys_view , keys ); - //ExecutionSpace().fence(); + ExecutionSpace().fence(); // Need this fence to prevent BusError with Cuda + Kokkos::deep_copy(keys_view, keys); + // ExecutionSpace().fence(); - Kokkos::parallel_reduce(n,sum(keys_view),sum_after); - Kokkos::parallel_reduce(n-1,is_sorted_struct(keys_view),sort_fails); + Kokkos::parallel_reduce(n, sum(keys_view), + sum_after); + Kokkos::parallel_reduce( + n - 1, is_sorted_struct(keys_view), sort_fails); - double ratio = sum_before/sum_after; + double ratio = sum_before / sum_after; double epsilon = 1e-10; - unsigned int equal_sum = (ratio > (1.0-epsilon)) && (ratio < (1.0+epsilon)) ? 1 : 0; - - if ( sort_fails != 0 || equal_sum != 1 ) { - std::cout << " N = " << n - << " ; sum_before = " << sum_before - << " ; sum_after = " << sum_after - << " ; ratio = " << ratio - << std::endl ; + unsigned int equal_sum = + (ratio > (1.0 - epsilon)) && (ratio < (1.0 + epsilon)) ? 1 : 0; + + if (sort_fails != 0 || equal_sum != 1) { + std::cout << " N = " << n << " ; sum_before = " << sum_before + << " ; sum_after = " << sum_after << " ; ratio = " << ratio + << std::endl; } - ASSERT_EQ(sort_fails,0); - ASSERT_EQ(equal_sum,1); + ASSERT_EQ(sort_fails, 0); + ASSERT_EQ(equal_sum, 1); } //---------------------------------------------------------------------------- -template -void test_issue_1160() -{ +template +void test_issue_1160_impl() { Kokkos::View element_("element", 10); Kokkos::View x_("x", 10); Kokkos::View v_("y", 10); auto h_element = Kokkos::create_mirror_view(element_); - auto h_x = Kokkos::create_mirror_view(x_); - auto h_v = Kokkos::create_mirror_view(v_); + auto h_x = Kokkos::create_mirror_view(x_); + auto h_v = Kokkos::create_mirror_view(v_); h_element(0) = 9; h_element(1) = 8; @@ -292,20 +306,21 @@ void test_issue_1160() Kokkos::deep_copy(v_, h_v); typedef decltype(element_) KeyViewType; - typedef Kokkos::BinOp1D< KeyViewType > BinOp; + typedef Kokkos::BinOp1D BinOp; int begin = 3; - int end = 8; - auto max = h_element(begin); - auto min = h_element(end - 1); + int end = 8; + auto max = h_element(begin); + auto min = h_element(end - 1); BinOp binner(end - begin, min, max); - Kokkos::BinSort Sorter(element_,begin,end,binner,false); + Kokkos::BinSort Sorter(element_, begin, end, binner, + false); Sorter.create_permute_vector(); - Sorter.sort(element_,begin,end); + Sorter.sort(element_, begin, end); - Sorter.sort(x_,begin,end); - Sorter.sort(v_,begin,end); + Sorter.sort(x_, begin, end); + Sorter.sort(v_, begin, end); Kokkos::deep_copy(h_element, element_); Kokkos::deep_copy(h_x, x_); @@ -330,18 +345,34 @@ void test_issue_1160() //---------------------------------------------------------------------------- -template -void test_sort(unsigned int N) -{ - test_1D_sort(N*N*N, true); - test_1D_sort(N*N*N, false); -#if !defined(KOKKOS_ENABLE_ROCM) - test_3D_sort(N); - test_dynamic_view_sort(N*N); -#endif - test_issue_1160(); +template +void test_1D_sort(unsigned int N) { + test_1D_sort_impl(N * N * N, true); + test_1D_sort_impl(N * N * N, false); +} + +template +void test_3D_sort(unsigned int N) { + test_3D_sort_impl(N); +} + +template +void test_dynamic_view_sort(unsigned int N) { + test_dynamic_view_sort_impl(N * N); } +template +void test_issue_1160_sort() { + test_issue_1160_impl(); } + +template +void test_sort(unsigned int N) { + test_1D_sort(N); + test_3D_sort(N); + test_dynamic_view_sort(N); + test_issue_1160_sort(); } +} // namespace Impl +} // namespace Test #endif /* KOKKOS_ALGORITHMS_UNITTESTS_TESTSORT_HPP */ diff --git a/lib/kokkos/algorithms/unit_tests/TestThreads.cpp b/lib/kokkos/algorithms/unit_tests/TestThreads.cpp index 99cdb7da92a253d9469b956c27ee06f212421c0d..c75e6e8dfba9f8d69617b8ff44b4c095a9e55537 100644 --- a/lib/kokkos/algorithms/unit_tests/TestThreads.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestThreads.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -52,51 +53,36 @@ #include #include - //---------------------------------------------------------------------------- - namespace Test { -class threads : public ::testing::Test { -protected: - static void SetUpTestCase() - { - std::cout << std::setprecision(5) << std::scientific; +#define THREADS_RANDOM_XORSHIFT64(num_draws) \ + TEST(threads, Random_XorShift64) { \ + Impl::test_random >( \ + num_draws); \ } - static void TearDownTestCase() - { +#define THREADS_RANDOM_XORSHIFT1024(num_draws) \ + TEST(threads, Random_XorShift1024) { \ + Impl::test_random >( \ + num_draws); \ } -}; -#define THREADS_RANDOM_XORSHIFT64( num_draws ) \ - TEST_F( threads, Random_XorShift64 ) { \ - Impl::test_random >(num_draws); \ +#define THREADS_SORT_UNSIGNED(size) \ + TEST(threads, SortUnsigned) { \ + Impl::test_sort(size); \ } -#define THREADS_RANDOM_XORSHIFT1024( num_draws ) \ - TEST_F( threads, Random_XorShift1024 ) { \ - Impl::test_random >(num_draws); \ - } - -#define THREADS_SORT_UNSIGNED( size ) \ - TEST_F( threads, SortUnsigned ) { \ - Impl::test_sort< Kokkos::Threads, double >(size); \ - } - - -THREADS_RANDOM_XORSHIFT64( 10240000 ) -THREADS_RANDOM_XORSHIFT1024( 10130144 ) +THREADS_RANDOM_XORSHIFT64(10240000) +THREADS_RANDOM_XORSHIFT1024(10130144) THREADS_SORT_UNSIGNED(171) #undef THREADS_RANDOM_XORSHIFT64 #undef THREADS_RANDOM_XORSHIFT1024 #undef THREADS_SORT_UNSIGNED -} // namespace Test +} // namespace Test #else void KOKKOS_ALGORITHMS_UNITTESTS_TESTTHREADS_PREVENT_LINK_ERROR() {} #endif - - diff --git a/lib/kokkos/algorithms/unit_tests/UnitTestMain.cpp b/lib/kokkos/algorithms/unit_tests/UnitTestMain.cpp index 8feb08332fa4d976395edfaf59b8e8653484c0f2..e245aad35fc33a595a16f711dbd4a63a0c7f8948 100644 --- a/lib/kokkos/algorithms/unit_tests/UnitTestMain.cpp +++ b/lib/kokkos/algorithms/unit_tests/UnitTestMain.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -45,10 +46,9 @@ #include int main(int argc, char *argv[]) { - Kokkos::initialize(argc,argv); - ::testing::InitGoogleTest(&argc,argv); + Kokkos::initialize(argc, argv); + ::testing::InitGoogleTest(&argc, argv); int result = RUN_ALL_TESTS(); Kokkos::finalize(); return result; } - diff --git a/lib/kokkos/appveyor.yml b/lib/kokkos/appveyor.yml new file mode 100644 index 0000000000000000000000000000000000000000..8f139ba6ab1b20749dac0275aa8cf64618087380 --- /dev/null +++ b/lib/kokkos/appveyor.yml @@ -0,0 +1,10 @@ +image: + - Visual Studio 2019 +clone_folder: c:\projects\source +build_script: +- cmd: >- + mkdir build && + cd build && + cmake c:\projects\source -DKokkos_ENABLE_TESTS=ON -DKokkos_ENABLE_LIBDL=OFF -DKokkos_ENABLE_PROFILING=OFF && + cmake --build . --target install && + ctest -C Debug -V diff --git a/lib/kokkos/benchmarks/atomic/main.cpp b/lib/kokkos/benchmarks/atomic/main.cpp index d86d196249b337882993544101d93df35e6ccb22..5f0977f75484e4103e74c4ecaf2d0ad6ec2f3acb 100644 --- a/lib/kokkos/benchmarks/atomic/main.cpp +++ b/lib/kokkos/benchmarks/atomic/main.cpp @@ -1,124 +1,120 @@ -#include -#include -#include +#include +#include +#include -template -double test_atomic(int L, int N, int M,int K,int R,Kokkos::View offsets) { - Kokkos::View output("Output",N); +template +double test_atomic(int L, int N, int M, int K, int R, + Kokkos::View offsets) { + Kokkos::View output("Output", N); Kokkos::Impl::Timer timer; - for(int r = 0; r -double test_no_atomic(int L, int N, int M,int K,int R,Kokkos::View offsets) { - Kokkos::View output("Output",N); +template +double test_no_atomic(int L, int N, int M, int K, int R, + Kokkos::View offsets) { + Kokkos::View output("Output", N); Kokkos::Impl::Timer timer; - for(int r = 0; r\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; - } + 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\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]); - 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 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(L,N,M,K,R,offsets); - if(type==2) - time = test_atomic(L,N,M,K,R,offsets); - if(type==3) - time = test_atomic(L,N,M,K,R,offsets); - if(type==4) - time = test_atomic(L,N,M,K,R,offsets); - if(type==5) - time = test_atomic >(L,N,M,K,R,offsets); + Kokkos::View 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(L, N, M, K, R, offsets); + if (type == 2) time = test_atomic(L, N, M, K, R, offsets); + if (type == 3) time = test_atomic(L, N, M, K, R, offsets); + if (type == 4) time = test_atomic(L, N, M, K, R, offsets); + if (type == 5) + time = test_atomic >(L, N, M, K, R, offsets); - double time2 = 1; - if(type==1) - time2 = test_no_atomic(L,N,M,K,R,offsets); - if(type==2) - time2 = test_no_atomic(L,N,M,K,R,offsets); - if(type==3) - time2 = test_no_atomic(L,N,M,K,R,offsets); - if(type==4) - time2 = test_no_atomic(L,N,M,K,R,offsets); - if(type==5) - time2 = test_no_atomic >(L,N,M,K,R,offsets); + double time2 = 1; + if (type == 1) time2 = test_no_atomic(L, N, M, K, R, offsets); + if (type == 2) time2 = test_no_atomic(L, N, M, K, R, offsets); + if (type == 3) time2 = test_no_atomic(L, N, M, K, R, offsets); + if (type == 4) time2 = test_no_atomic(L, N, M, K, R, offsets); + if (type == 5) + time2 = test_no_atomic >(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); + 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); - 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); -} + 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(); } - diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp index 59b4d50c441eb5d4c58c99c53eee7f9c6b9adbd1..62d7ef4a4cf387191c6d0276c4ea360c289d4de5 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -41,59 +42,52 @@ //@HEADER */ -#include -#include +#include +#include -template +template struct Run { -static void run(int N, int K, int R, int F, int T, int S); + static void run(int N, int K, int R, int F, int T, int S); }; -template +template struct RunStride { -static void run_1(int N, int K, int R, int F, int T, int S); -static void run_2(int N, int K, int R, int F, int T, int S); -static void run_3(int N, int K, int R, int F, int T, int S); -static void run_4(int N, int K, int R, int F, int T, int S); -static void run_5(int N, int K, int R, int F, int T, int S); -static void run_6(int N, int K, int R, int F, int T, int S); -static void run_7(int N, int K, int R, int F, int T, int S); -static void run_8(int N, int K, int R, int F, int T, int S); -static void run(int N, int K, int R, int U, int F, int T, int S); + static void run_1(int N, int K, int R, int F, int T, int S); + static void run_2(int N, int K, int R, int F, int T, int S); + static void run_3(int N, int K, int R, int F, int T, int S); + static void run_4(int N, int K, int R, int F, int T, int S); + static void run_5(int N, int K, int R, int F, int T, int S); + static void run_6(int N, int K, int R, int F, int T, int S); + static void run_7(int N, int K, int R, int F, int T, int S); + static void run_8(int N, int K, int R, int F, int T, int S); + static void run(int N, int K, int R, int U, int F, int T, int S); }; #define STRIDE 1 -#include +#include #undef STRIDE #define STRIDE 2 -#include +#include #undef STRIDE #define STRIDE 4 -#include +#include #undef STRIDE #define STRIDE 8 -#include +#include #undef STRIDE #define STRIDE 16 -#include +#include #undef STRIDE #define STRIDE 32 -#include +#include #undef STRIDE -template +template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S) { - if(D == 1) - RunStride::run(N,K,R,U,F,T,S); - if(D == 2) - RunStride::run(N,K,R,U,F,T,S); - if(D == 4) - RunStride::run(N,K,R,U,F,T,S); - if(D == 8) - RunStride::run(N,K,R,U,F,T,S); - if(D == 16) - RunStride::run(N,K,R,U,F,T,S); - if(D == 32) - RunStride::run(N,K,R,U,F,T,S); + if (D == 1) RunStride::run(N, K, R, U, F, T, S); + if (D == 2) RunStride::run(N, K, R, U, F, T, S); + if (D == 4) RunStride::run(N, K, R, U, F, T, S); + if (D == 8) RunStride::run(N, K, R, U, F, T, S); + if (D == 16) RunStride::run(N, K, R, U, F, T, S); + if (D == 32) RunStride::run(N, K, R, U, F, T, S); } - diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp index 6509c654e71b4fdfd5366e4699972d7d19fe7807..64817fe9dc4b5d1efcad168d9b2e0915da6d492a 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -41,84 +42,82 @@ //@HEADER */ - #define UNROLL 1 -#include +#include #undef UNROLL #define UNROLL 2 -#include +#include #undef UNROLL #define UNROLL 3 -#include +#include #undef UNROLL #define UNROLL 4 -#include +#include #undef UNROLL #define UNROLL 5 -#include +#include #undef UNROLL #define UNROLL 6 -#include +#include #undef UNROLL #define UNROLL 7 -#include +#include #undef UNROLL #define UNROLL 8 -#include +#include #undef UNROLL -template -struct RunStride { -static void run_1(int N, int K, int R, int F, int T, int S) { - Run::run(N,K,R,F,T,S); -} -static void run_2(int N, int K, int R, int F, int T, int S) { - Run::run(N,K,R,F,T,S); -} -static void run_3(int N, int K, int R, int F, int T, int S) { - Run::run(N,K,R,F,T,S); -} -static void run_4(int N, int K, int R, int F, int T, int S) { - Run::run(N,K,R,F,T,S); -} -static void run_5(int N, int K, int R, int F, int T, int S) { - Run::run(N,K,R,F,T,S); -} -static void run_6(int N, int K, int R, int F, int T, int S) { - Run::run(N,K,R,F,T,S); -} -static void run_7(int N, int K, int R, int F, int T, int S) { - Run::run(N,K,R,F,T,S); -} -static void run_8(int N, int K, int R, int F, int T, int S) { - Run::run(N,K,R,F,T,S); -} - -static void run(int N, int K, int R, int U, int F, int T, int S) { - if(U==1) { - run_1(N,K,R,F,T,S); +template +struct RunStride { + static void run_1(int N, int K, int R, int F, int T, int S) { + Run::run(N, K, R, F, T, S); } - if(U==2) { - run_2(N,K,R,F,T,S); + static void run_2(int N, int K, int R, int F, int T, int S) { + Run::run(N, K, R, F, T, S); } - if(U==3) { - run_3(N,K,R,F,T,S); + static void run_3(int N, int K, int R, int F, int T, int S) { + Run::run(N, K, R, F, T, S); } - if(U==4) { - run_4(N,K,R,F,T,S); + static void run_4(int N, int K, int R, int F, int T, int S) { + Run::run(N, K, R, F, T, S); } - if(U==5) { - run_5(N,K,R,F,T,S); + static void run_5(int N, int K, int R, int F, int T, int S) { + Run::run(N, K, R, F, T, S); } - if(U==6) { - run_6(N,K,R,F,T,S); + static void run_6(int N, int K, int R, int F, int T, int S) { + Run::run(N, K, R, F, T, S); } - if(U==7) { - run_7(N,K,R,F,T,S); + static void run_7(int N, int K, int R, int F, int T, int S) { + Run::run(N, K, R, F, T, S); + } + static void run_8(int N, int K, int R, int F, int T, int S) { + Run::run(N, K, R, F, T, S); } - if(U==8) { - run_8(N,K,R,F,T,S); - } -} -}; + static void run(int N, int K, int R, int U, int F, int T, int S) { + if (U == 1) { + run_1(N, K, R, F, T, S); + } + if (U == 2) { + run_2(N, K, R, F, T, S); + } + if (U == 3) { + run_3(N, K, R, F, T, S); + } + if (U == 4) { + run_4(N, K, R, F, T, S); + } + if (U == 5) { + run_5(N, K, R, F, T, S); + } + if (U == 6) { + run_6(N, K, R, F, T, S); + } + if (U == 7) { + run_7(N, K, R, F, T, S); + } + if (U == 8) { + run_8(N, K, R, F, T, S); + } + } +}; diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp index c6651da1e7cf2e6d1a233dc90e9adf1211decf69..00ce635a489f677ff43b05c782856dcdfa1cafa9 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -41,108 +42,110 @@ //@HEADER */ -template -struct Run { -static void run(int N, int K, int R, int F, int T, int S) { - Kokkos::View A("A",N,K); - Kokkos::View B("B",N,K); - Kokkos::View C("C",N,K); +template +struct Run { + static void run(int N, int K, int R, int F, int T, int S) { + Kokkos::View A("A", N, K); + Kokkos::View B("B", N, K); + Kokkos::View C("C", N, K); - Kokkos::deep_copy(A,Scalar(1.5)); - Kokkos::deep_copy(B,Scalar(2.5)); - Kokkos::deep_copy(C,Scalar(3.5)); + Kokkos::deep_copy(A, Scalar(1.5)); + Kokkos::deep_copy(B, Scalar(2.5)); + Kokkos::deep_copy(C, Scalar(3.5)); - Kokkos::Timer timer; - Kokkos::parallel_for("BenchmarkKernel",Kokkos::TeamPolicy<>(N,T).set_scratch_size(0,Kokkos::PerTeam(S)), - KOKKOS_LAMBDA ( const Kokkos::TeamPolicy<>::member_type& team) { - const int n = team.league_rank(); - for(int r=0; r1) - Scalar a2 = a1*1.3; -#endif -#if(UNROLL>2) - Scalar a3 = a2*1.1; -#endif -#if(UNROLL>3) - Scalar a4 = a3*1.1; -#endif -#if(UNROLL>4) - Scalar a5 = a4*1.3; -#endif -#if(UNROLL>5) - Scalar a6 = a5*1.1; -#endif -#if(UNROLL>6) - Scalar a7 = a6*1.1; -#endif -#if(UNROLL>7) - Scalar a8 = a7*1.1; + Kokkos::Timer timer; + Kokkos::parallel_for( + "BenchmarkKernel", + Kokkos::TeamPolicy<>(N, T).set_scratch_size(0, Kokkos::PerTeam(S)), + KOKKOS_LAMBDA(const Kokkos::TeamPolicy<>::member_type& team) { + const int n = team.league_rank(); + for (int r = 0; r < R; r++) { + Kokkos::parallel_for( + Kokkos::TeamThreadRange(team, 0, K), [&](const int& i) { + Scalar a1 = A(n, i, 0); + const Scalar b = B(n, i, 0); +#if (UNROLL > 1) + Scalar a2 = a1 * 1.3; +#endif +#if (UNROLL > 2) + Scalar a3 = a2 * 1.1; +#endif +#if (UNROLL > 3) + Scalar a4 = a3 * 1.1; +#endif +#if (UNROLL > 4) + Scalar a5 = a4 * 1.3; +#endif +#if (UNROLL > 5) + Scalar a6 = a5 * 1.1; +#endif +#if (UNROLL > 6) + Scalar a7 = a6 * 1.1; +#endif +#if (UNROLL > 7) + Scalar a8 = a7 * 1.1; #endif - - for(int f = 0; f1) - a2 += b*a2; + for (int f = 0; f < F; f++) { + a1 += b * a1; +#if (UNROLL > 1) + a2 += b * a2; #endif -#if(UNROLL>2) - a3 += b*a3; +#if (UNROLL > 2) + a3 += b * a3; #endif -#if(UNROLL>3) - a4 += b*a4; +#if (UNROLL > 3) + a4 += b * a4; #endif -#if(UNROLL>4) - a5 += b*a5; +#if (UNROLL > 4) + a5 += b * a5; #endif -#if(UNROLL>5) - a6 += b*a6; +#if (UNROLL > 5) + a6 += b * a6; #endif -#if(UNROLL>6) - a7 += b*a7; +#if (UNROLL > 6) + a7 += b * a7; #endif -#if(UNROLL>7) - a8 += b*a8; +#if (UNROLL > 7) + a8 += b * a8; #endif - - - } -#if(UNROLL==1) - C(n,i,0) = a1; + } +#if (UNROLL == 1) + C(n, i, 0) = a1; #endif -#if(UNROLL==2) - C(n,i,0) = a1+a2; +#if (UNROLL == 2) + C(n, i, 0) = a1 + a2; #endif -#if(UNROLL==3) - C(n,i,0) = a1+a2+a3; +#if (UNROLL == 3) + C(n, i, 0) = a1 + a2 + a3; #endif -#if(UNROLL==4) - C(n,i,0) = a1+a2+a3+a4; +#if (UNROLL == 4) + C(n, i, 0) = a1 + a2 + a3 + a4; #endif -#if(UNROLL==5) - C(n,i,0) = a1+a2+a3+a4+a5; +#if (UNROLL == 5) + C(n, i, 0) = a1 + a2 + a3 + a4 + a5; #endif -#if(UNROLL==6) - C(n,i,0) = a1+a2+a3+a4+a5+a6; +#if (UNROLL == 6) + C(n, i, 0) = a1 + a2 + a3 + a4 + a5 + a6; #endif -#if(UNROLL==7) - C(n,i,0) = a1+a2+a3+a4+a5+a6+a7; +#if (UNROLL == 7) + C(n, i, 0) = a1 + a2 + a3 + a4 + a5 + a6 + a7; #endif -#if(UNROLL==8) - C(n,i,0) = a1+a2+a3+a4+a5+a6+a7+a8; +#if (UNROLL == 8) + C(n, i, 0) = a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8; #endif + }); + } + }); + Kokkos::fence(); + double seconds = timer.seconds(); - }); - } - }); - Kokkos::fence(); - double seconds = timer.seconds(); - - double bytes = 1.0*N*K*R*3*sizeof(Scalar); - double flops = 1.0*N*K*R*(F*2*UNROLL + 2*(UNROLL-1)); - printf("NKRUFTS: %i %i %i %i %i %i %i Time: %lfs Bandwidth: %lfGiB/s GFlop/s: %lf\n",N,K,R,UNROLL,F,T,S,seconds,1.0*bytes/seconds/1024/1024/1024,1.e-9*flops/seconds); -} + double bytes = 1.0 * N * K * R * 3 * sizeof(Scalar); + double flops = 1.0 * N * K * R * (F * 2 * UNROLL + 2 * (UNROLL - 1)); + printf( + "NKRUFTS: %i %i %i %i %i %i %i Time: %lfs Bandwidth: %lfGiB/s GFlop/s: " + "%lf\n", + N, K, R, UNROLL, F, T, S, seconds, + 1.0 * bytes / seconds / 1024 / 1024 / 1024, 1.e-9 * flops / seconds); + } }; - diff --git a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp index 4f46b38717df237f0d33c0ac101d105f41f3e9d8..c21a16200e4ed0cf48e8d9e4b1dd25d9753e95c5 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -41,25 +42,27 @@ //@HEADER */ -#include -#include -#include -#include +#include +#include +#include +#include int main(int argc, char* argv[]) { Kokkos::initialize(); - - if(argc<10) { + if (argc < 10) { printf("Arguments: N K R D U F T S\n"); printf(" P: Precision (1==float, 2==double)\n"); printf(" N,K: dimensions of the 2D array to allocate\n"); printf(" R: how often to loop through the K dimension with each team\n"); printf(" D: distance between loaded elements (stride)\n"); printf(" U: how many independent flops to do per load\n"); - printf(" F: how many times to repeat the U unrolled operations before reading next element\n"); + printf( + " F: how many times to repeat the U unrolled operations before " + "reading next element\n"); printf(" T: team size\n"); - printf(" S: shared memory per team (used to control occupancy on GPUs)\n"); + printf( + " S: shared memory per team (used to control occupancy on GPUs)\n"); printf("Example Input GPU:\n"); printf(" Bandwidth Bound : 2 100000 1024 1 1 1 1 256 6000\n"); printf(" Cache Bound : 2 100000 1024 64 1 1 1 512 20000\n"); @@ -70,7 +73,6 @@ int main(int argc, char* argv[]) { return 0; } - int P = atoi(argv[1]); int N = atoi(argv[2]); int K = atoi(argv[3]); @@ -81,17 +83,25 @@ int main(int argc, char* argv[]) { int T = atoi(argv[8]); int S = atoi(argv[9]); - if(U>8) {printf("U must be 1-8\n"); return 0;} - if( (D!=1) && (D!=2) && (D!=4) && (D!=8) && (D!=16) && (D!=32)) {printf("D must be one of 1,2,4,8,16,32\n"); return 0;} - if( (P!=1) && (P!=2) ) {printf("P must be one of 1,2\n"); return 0;} + if (U > 8) { + printf("U must be 1-8\n"); + return 0; + } + if ((D != 1) && (D != 2) && (D != 4) && (D != 8) && (D != 16) && (D != 32)) { + printf("D must be one of 1,2,4,8,16,32\n"); + return 0; + } + if ((P != 1) && (P != 2)) { + printf("P must be one of 1,2\n"); + return 0; + } - if(P==1) { - run_stride_unroll(N,K,R,D,U,F,T,S); + if (P == 1) { + run_stride_unroll(N, K, R, D, U, F, T, S); } - if(P==2) { - run_stride_unroll(N,K,R,D,U,F,T,S); + if (P == 2) { + run_stride_unroll(N, K, R, D, U, F, T, S); } Kokkos::finalize(); } - diff --git a/lib/kokkos/benchmarks/gather/gather.hpp b/lib/kokkos/benchmarks/gather/gather.hpp index bbbd65850f75c00a928383d3c6ae2f9af27d7d95..239614184ba13aad35fe54190ce5eaf507c61fde 100644 --- a/lib/kokkos/benchmarks/gather/gather.hpp +++ b/lib/kokkos/benchmarks/gather/gather.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -41,52 +42,44 @@ //@HEADER */ -template +template struct RunGather { static void run(int N, int K, int D, int R, int F); }; #define UNROLL 1 -#include +#include #undef UNROLL #define UNROLL 2 -#include +#include #undef UNROLL #define UNROLL 3 -#include +#include #undef UNROLL #define UNROLL 4 -#include +#include #undef UNROLL #define UNROLL 5 -#include +#include #undef UNROLL #define UNROLL 6 -#include +#include #undef UNROLL #define UNROLL 7 -#include +#include #undef UNROLL #define UNROLL 8 -#include +#include #undef UNROLL -template +template void run_gather_test(int N, int K, int D, int R, int U, int F) { - if(U == 1) - RunGather::run(N,K,D,R,F); - if(U == 2) - RunGather::run(N,K,D,R,F); - if(U == 3) - RunGather::run(N,K,D,R,F); - if(U == 4) - RunGather::run(N,K,D,R,F); - if(U == 5) - RunGather::run(N,K,D,R,F); - if(U == 6) - RunGather::run(N,K,D,R,F); - if(U == 7) - RunGather::run(N,K,D,R,F); - if(U == 8) - RunGather::run(N,K,D,R,F); + if (U == 1) RunGather::run(N, K, D, R, F); + if (U == 2) RunGather::run(N, K, D, R, F); + if (U == 3) RunGather::run(N, K, D, R, F); + if (U == 4) RunGather::run(N, K, D, R, F); + if (U == 5) RunGather::run(N, K, D, R, F); + if (U == 6) RunGather::run(N, K, D, R, F); + if (U == 7) RunGather::run(N, K, D, R, F); + if (U == 8) RunGather::run(N, K, D, R, F); } diff --git a/lib/kokkos/benchmarks/gather/gather_unroll.hpp b/lib/kokkos/benchmarks/gather/gather_unroll.hpp index 1d9c99adf9e9909a21be2899f60000713e0208a4..4dc046f99c33125f86d7674f61b38b77caff99c2 100644 --- a/lib/kokkos/benchmarks/gather/gather_unroll.hpp +++ b/lib/kokkos/benchmarks/gather/gather_unroll.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -41,129 +42,132 @@ //@HEADER */ -#include -#include +#include +#include -template -struct RunGather { -static void run(int N, int K, int D, int R, int F) { - Kokkos::View connectivity("Connectivity",N,K); - Kokkos::View A_in("Input",N); - Kokkos::View B_in("Input",N); - Kokkos::View C("Output",N); +template +struct RunGather { + static void run(int N, int K, int D, int R, int F) { + Kokkos::View connectivity("Connectivity", N, K); + Kokkos::View A_in("Input", N); + Kokkos::View B_in("Input", N); + Kokkos::View C("Output", N); - Kokkos::Random_XorShift64_Pool<> rand_pool(12313); + Kokkos::Random_XorShift64_Pool<> rand_pool(12313); - Kokkos::deep_copy(A_in,1.5); - Kokkos::deep_copy(B_in,2.0); + Kokkos::deep_copy(A_in, 1.5); + Kokkos::deep_copy(B_in, 2.0); - Kokkos::View > A(A_in); - Kokkos::View > B(B_in); - - Kokkos::parallel_for("InitKernel",N, - KOKKOS_LAMBDA (const int& i) { - auto rand_gen = rand_pool.get_state(); - for( int jj=0; jj > A( + A_in); + Kokkos::View > B( + B_in); + Kokkos::parallel_for( + "InitKernel", N, KOKKOS_LAMBDA(const int& i) { + auto rand_gen = rand_pool.get_state(); + for (int jj = 0; jj < K; jj++) { + connectivity(i, jj) = (rand_gen.rand(D) + i - D / 2 + N) % N; + } + rand_pool.free_state(rand_gen); + }); + Kokkos::fence(); - Kokkos::Timer timer; - for(int r = 0; r1) - Scalar a2 = a1*Scalar(1.3); + Kokkos::Timer timer; + for (int r = 0; r < R; r++) { + Kokkos::parallel_for( + "BenchmarkKernel", N, KOKKOS_LAMBDA(const int& i) { + Scalar c = Scalar(0.0); + for (int jj = 0; jj < K; jj++) { + const int j = connectivity(i, jj); + Scalar a1 = A(j); + const Scalar b = B(j); +#if (UNROLL > 1) + Scalar a2 = a1 * Scalar(1.3); #endif -#if(UNROLL>2) - Scalar a3 = a2*Scalar(1.1); +#if (UNROLL > 2) + Scalar a3 = a2 * Scalar(1.1); #endif -#if(UNROLL>3) - Scalar a4 = a3*Scalar(1.1); +#if (UNROLL > 3) + Scalar a4 = a3 * Scalar(1.1); #endif -#if(UNROLL>4) - Scalar a5 = a4*Scalar(1.3); +#if (UNROLL > 4) + Scalar a5 = a4 * Scalar(1.3); #endif -#if(UNROLL>5) - Scalar a6 = a5*Scalar(1.1); +#if (UNROLL > 5) + Scalar a6 = a5 * Scalar(1.1); #endif -#if(UNROLL>6) - Scalar a7 = a6*Scalar(1.1); +#if (UNROLL > 6) + Scalar a7 = a6 * Scalar(1.1); #endif -#if(UNROLL>7) - Scalar a8 = a7*Scalar(1.1); +#if (UNROLL > 7) + Scalar a8 = a7 * Scalar(1.1); #endif - - for(int f = 0; f1) - a2 += b*a2; + for (int f = 0; f < F; f++) { + a1 += b * a1; +#if (UNROLL > 1) + a2 += b * a2; #endif -#if(UNROLL>2) - a3 += b*a3; +#if (UNROLL > 2) + a3 += b * a3; #endif -#if(UNROLL>3) - a4 += b*a4; +#if (UNROLL > 3) + a4 += b * a4; #endif -#if(UNROLL>4) - a5 += b*a5; +#if (UNROLL > 4) + a5 += b * a5; #endif -#if(UNROLL>5) - a6 += b*a6; +#if (UNROLL > 5) + a6 += b * a6; #endif -#if(UNROLL>6) - a7 += b*a7; +#if (UNROLL > 6) + a7 += b * a7; #endif -#if(UNROLL>7) - a8 += b*a8; +#if (UNROLL > 7) + a8 += b * a8; #endif - - - } -#if(UNROLL==1) - c += a1; + } +#if (UNROLL == 1) + c += a1; #endif -#if(UNROLL==2) - c += a1+a2; +#if (UNROLL == 2) + c += a1 + a2; #endif -#if(UNROLL==3) - c += a1+a2+a3; +#if (UNROLL == 3) + c += a1 + a2 + a3; #endif -#if(UNROLL==4) - c += a1+a2+a3+a4; +#if (UNROLL == 4) + c += a1 + a2 + a3 + a4; #endif -#if(UNROLL==5) - c += a1+a2+a3+a4+a5; +#if (UNROLL == 5) + c += a1 + a2 + a3 + a4 + a5; #endif -#if(UNROLL==6) - c += a1+a2+a3+a4+a5+a6; +#if (UNROLL == 6) + c += a1 + a2 + a3 + a4 + a5 + a6; #endif -#if(UNROLL==7) - c += a1+a2+a3+a4+a5+a6+a7; +#if (UNROLL == 7) + c += a1 + a2 + a3 + a4 + a5 + a6 + a7; #endif -#if(UNROLL==8) - c += a1+a2+a3+a4+a5+a6+a7+a8; +#if (UNROLL == 8) + c += a1 + a2 + a3 + a4 + a5 + a6 + a7 + a8; #endif + } + C(i) = c; + }); + Kokkos::fence(); + } + double seconds = timer.seconds(); - } - C(i) = c ; - }); - Kokkos::fence(); + double bytes = 1.0 * N * K * R * (2 * sizeof(Scalar) + sizeof(int)) + + 1.0 * N * R * sizeof(Scalar); + double flops = 1.0 * N * K * R * (F * 2 * UNROLL + 2 * (UNROLL - 1)); + double gather_ops = 1.0 * N * K * R * 2; + printf( + "SNKDRUF: %i %i %i %i %i %i %i Time: %lfs Bandwidth: %lfGiB/s GFlop/s: " + "%lf GGather/s: %lf\n", + sizeof(Scalar) / 4, N, K, D, R, UNROLL, F, seconds, + 1.0 * bytes / seconds / 1024 / 1024 / 1024, 1.e-9 * flops / seconds, + 1.e-9 * gather_ops / seconds); } - double seconds = timer.seconds(); - - double bytes = 1.0*N*K*R*(2*sizeof(Scalar)+sizeof(int)) + 1.0*N*R*sizeof(Scalar); - double flops = 1.0*N*K*R*(F*2*UNROLL + 2*(UNROLL-1)); - double gather_ops = 1.0*N*K*R*2; - printf("SNKDRUF: %i %i %i %i %i %i %i Time: %lfs Bandwidth: %lfGiB/s GFlop/s: %lf GGather/s: %lf\n",sizeof(Scalar)/4,N,K,D,R,UNROLL,F,seconds,1.0*bytes/seconds/1024/1024/1024,1.e-9*flops/seconds,1.e-9*gather_ops/seconds); -} }; diff --git a/lib/kokkos/benchmarks/gather/main.cpp b/lib/kokkos/benchmarks/gather/main.cpp index ca5238e7fdb527e56080f5b76eb6fa7c9487fcd3..6a2db3e024dff5f338aebf2260fc8910aa9764bc 100644 --- a/lib/kokkos/benchmarks/gather/main.cpp +++ b/lib/kokkos/benchmarks/gather/main.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -41,23 +42,26 @@ //@HEADER */ -#include -#include -#include -#include +#include +#include +#include +#include int main(int argc, char* argv[]) { - Kokkos::initialize(argc,argv); + Kokkos::initialize(argc, argv); - if(argc<8) { + if (argc < 8) { printf("Arguments: S N K D\n"); - printf(" S: Scalar Type Size (1==float, 2==double, 4=complex)\n"); + printf( + " S: Scalar Type Size (1==float, 2==double, 4=complex)\n"); printf(" N: Number of entities\n"); printf(" K: Number of things to gather per entity\n"); printf(" D: Max distance of gathered things of an entity\n"); printf(" R: how often to loop through the K dimension with each team\n"); printf(" U: how many independent flops to do per load\n"); - printf(" F: how many times to repeat the U unrolled operations before reading next element\n"); + printf( + " F: how many times to repeat the U unrolled operations before " + "reading next element\n"); printf("Example Input GPU:\n"); printf(" Bandwidth Bound : 2 10000000 1 1 10 1 1\n"); printf(" Cache Bound : 2 10000000 64 1 10 1 1\n"); @@ -68,7 +72,6 @@ int main(int argc, char* argv[]) { return 0; } - int S = atoi(argv[1]); int N = atoi(argv[2]); int K = atoi(argv[3]); @@ -77,17 +80,22 @@ int main(int argc, char* argv[]) { int U = atoi(argv[6]); int F = atoi(argv[7]); - if( (S!=1) && (S!=2) && (S!=4)) {printf("S must be one of 1,2,4\n"); return 0;} - if( N(N,K,D,R,U,F); + if ((S != 1) && (S != 2) && (S != 4)) { + printf("S must be one of 1,2,4\n"); + return 0; + } + if (N < D) { + printf("N must be larger or equal to D\n"); + return 0; + } + if (S == 1) { + run_gather_test(N, K, D, R, U, F); } - if(S==2) { - run_gather_test(N,K,D,R,U,F); + if (S == 2) { + run_gather_test(N, K, D, R, U, F); } - if(S==4) { - run_gather_test >(N,K,D,R,U,F); + if (S == 4) { + run_gather_test >(N, K, D, R, U, F); } Kokkos::finalize(); } - diff --git a/lib/kokkos/benchmarks/gups/gups-kokkos.cc b/lib/kokkos/benchmarks/gups/gups-kokkos.cc index 4602adda7937cc0dfc8939527353f8936961fed3..36fc36925b90e6e1c9fee0abab7fc3d8342ba2d9 100644 --- a/lib/kokkos/benchmarks/gups/gups-kokkos.cc +++ b/lib/kokkos/benchmarks/gups/gups-kokkos.cc @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -60,7 +61,7 @@ typedef int GUPSIndex; double now() { struct timeval now; - gettimeofday(&now, NULL); + gettimeofday(&now, nullptr); return (double) now.tv_sec + ((double) now.tv_usec * 1.0e-6); } diff --git a/lib/kokkos/benchmarks/policy_performance/main.cpp b/lib/kokkos/benchmarks/policy_performance/main.cpp index 2f5395734afdcfce41cc43c9b2322de4615a74b1..332e5574dabe3a22e0834f351524ba09487730a5 100644 --- a/lib/kokkos/benchmarks/policy_performance/main.cpp +++ b/lib/kokkos/benchmarks/policy_performance/main.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -44,67 +45,86 @@ #include #include "policy_perf_test.hpp" -int main(int argc, char* argv[] ) { - Kokkos::initialize(argc,argv); +int main(int argc, char* argv[]) { + Kokkos::initialize(argc, argv); - if(argc<10) { + if (argc < 10) { printf(" Ten arguments are needed to run this program:\n"); - printf(" (1)team_range, (2)thread_range, (3)vector_range, (4)outer_repeat, (5)thread_repeat, (6)vector_repeat, (7)team_size, (8)vector_size, (9)schedule, (10)test_type\n"); + printf( + " (1)team_range, (2)thread_range, (3)vector_range, (4)outer_repeat, " + "(5)thread_repeat, (6)vector_repeat, (7)team_size, (8)vector_size, " + "(9)schedule, (10)test_type\n"); printf(" team_range: number of teams (league_size)\n"); printf(" thread_range: range for nested TeamThreadRange parallel_*\n"); printf(" vector_range: range for nested ThreadVectorRange parallel_*\n"); printf(" outer_repeat: number of repeats for outer parallel_* call\n"); - printf(" thread_repeat: number of repeats for TeamThreadRange parallel_* call\n"); - printf(" vector_repeat: number of repeats for ThreadVectorRange parallel_* call\n"); + printf( + " thread_repeat: number of repeats for TeamThreadRange parallel_* " + "call\n"); + printf( + " vector_repeat: number of repeats for ThreadVectorRange parallel_* " + "call\n"); printf(" team_size: number of team members (team_size)\n"); printf(" vector_size: desired vectorization (if possible)\n"); printf(" schedule: 1 == Static 2 == Dynamic\n"); - printf(" test_type: 3-digit code XYZ for testing (nested) parallel_*\n"); - printf(" code key: XYZ X in {1,2,3,4,5}, Y in {0,1,2}, Z in {0,1,2}\n"); + printf( + " test_type: 3-digit code XYZ for testing (nested) parallel_*\n"); + printf( + " code key: XYZ X in {1,2,3,4,5}, Y in {0,1,2}, Z in " + "{0,1,2}\n"); printf(" TeamPolicy:\n"); - printf(" X: 0 = none (never used, makes no sense); 1 = parallel_for; 2 = parallel_reduce\n"); - printf(" Y: 0 = none; 1 = parallel_for; 2 = parallel_reduce\n"); - printf(" Z: 0 = none; 1 = parallel_for; 2 = parallel_reduce\n"); + printf( + " X: 0 = none (never used, makes no sense); 1 = " + "parallel_for; 2 = parallel_reduce\n"); + printf( + " Y: 0 = none; 1 = parallel_for; 2 = " + "parallel_reduce\n"); + printf( + " Z: 0 = none; 1 = parallel_for; 2 = " + "parallel_reduce\n"); printf(" RangePolicy:\n"); - printf(" X: 3 = parallel_for; 4 = parallel_reduce; 5 = parallel_scan\n"); + printf( + " X: 3 = parallel_for; 4 = parallel_reduce; 5 = " + "parallel_scan\n"); printf(" Y: 0 = none\n"); printf(" Z: 0 = none\n"); printf(" Example Input:\n"); - printf(" 100000 32 32 100 100 100 8 1 1 100\n"); + printf(" 100000 32 32 100 100 100 8 1 1 100\n"); Kokkos::finalize(); return 0; } - int team_range = atoi(argv[1]); + int team_range = atoi(argv[1]); int thread_range = atoi(argv[2]); int vector_range = atoi(argv[3]); - int outer_repeat = atoi(argv[4]); + int outer_repeat = atoi(argv[4]); int thread_repeat = atoi(argv[5]); int vector_repeat = atoi(argv[6]); - int team_size = atoi(argv[7]); + int team_size = atoi(argv[7]); int vector_size = atoi(argv[8]); - int schedule = atoi(argv[9]); - int test_type = atoi(argv[10]); + int schedule = atoi(argv[9]); + int test_type = atoi(argv[10]); - int disable_verbose_output = 0; - if ( argc > 11 ) { + int disable_verbose_output = 0; + if (argc > 11) { disable_verbose_output = atoi(argv[11]); } - if ( schedule != 1 && schedule != 2 ) { + if (schedule != 1 && schedule != 2) { printf("schedule: %d\n", schedule); printf("Options for schedule are: 1 == Static 2 == Dynamic\n"); Kokkos::finalize(); return -1; } - if ( test_type != 100 && test_type != 110 && test_type != 111 && test_type != 112 && test_type != 120 && test_type != 121 && test_type != 122 - && test_type != 200 && test_type != 210 && test_type != 211 && test_type != 212 && test_type != 220 && test_type != 221 && test_type != 222 - && test_type != 300 && test_type != 400 && test_type != 500 - ) - { + if (test_type != 100 && test_type != 110 && test_type != 111 && + test_type != 112 && test_type != 120 && test_type != 121 && + test_type != 122 && test_type != 200 && test_type != 210 && + test_type != 211 && test_type != 212 && test_type != 220 && + test_type != 221 && test_type != 222 && test_type != 300 && + test_type != 400 && test_type != 500) { printf("Incorrect test_type option\n"); Kokkos::finalize(); return -2; @@ -112,56 +132,85 @@ int main(int argc, char* argv[] ) { double result = 0.0; - Kokkos::parallel_reduce( "parallel_reduce warmup", Kokkos::TeamPolicy<>(10,1), - KOKKOS_LAMBDA(const Kokkos::TeamPolicy<>::member_type team, double& lval) { - lval += 1; - }, result); + Kokkos::parallel_reduce( + "parallel_reduce warmup", Kokkos::TeamPolicy<>(10, 1), + KOKKOS_LAMBDA(const Kokkos::TeamPolicy<>::member_type team, + double& lval) { lval += 1; }, + result); - typedef Kokkos::View view_type_1d; - typedef Kokkos::View view_type_2d; + typedef Kokkos::View view_type_1d; + typedef Kokkos::View view_type_2d; typedef Kokkos::View view_type_3d; // Allocate view without initializing - // Call a 'warmup' test with 1 repeat - this will initialize the corresponding view appropriately for test and should obey first-touch etc - // Second call to test is the one we actually care about and time - view_type_1d v_1( Kokkos::ViewAllocateWithoutInitializing("v_1"), team_range*team_size); - view_type_2d v_2( Kokkos::ViewAllocateWithoutInitializing("v_2"), team_range*team_size, thread_range); - view_type_3d v_3( Kokkos::ViewAllocateWithoutInitializing("v_3"), team_range*team_size, thread_range, vector_range); + // Call a 'warmup' test with 1 repeat - this will initialize the corresponding + // view appropriately for test and should obey first-touch etc Second call to + // test is the one we actually care about and time + view_type_1d v_1(Kokkos::ViewAllocateWithoutInitializing("v_1"), + team_range * team_size); + view_type_2d v_2(Kokkos::ViewAllocateWithoutInitializing("v_2"), + team_range * team_size, thread_range); + view_type_3d v_3(Kokkos::ViewAllocateWithoutInitializing("v_3"), + team_range * team_size, thread_range, vector_range); double result_computed = 0.0; - double result_expect = 0.0; - double time = 0.0; + double result_expect = 0.0; + double time = 0.0; - if(schedule==1) { - if ( test_type != 500 ) { + if (schedule == 1) { + if (test_type != 500) { // warmup - no repeat of loops - test_policy,int>(team_range,thread_range,vector_range,1,1,1,team_size,vector_size,test_type,v_1,v_2,v_3,result_computed,result_expect,time); - test_policy,int>(team_range,thread_range,vector_range,outer_repeat,thread_repeat,vector_repeat,team_size,vector_size,test_type,v_1,v_2,v_3,result_computed,result_expect,time); - } - else { + test_policy, int>( + team_range, thread_range, vector_range, 1, 1, 1, team_size, + vector_size, test_type, v_1, v_2, v_3, result_computed, result_expect, + time); + test_policy, int>( + team_range, thread_range, vector_range, outer_repeat, thread_repeat, + vector_repeat, team_size, vector_size, test_type, v_1, v_2, v_3, + result_computed, result_expect, time); + } else { // parallel_scan: initialize 1d view for parallel_scan - test_policy,int>(team_range,thread_range,vector_range,1,1,1,team_size,vector_size,100,v_1,v_2,v_3,result_computed,result_expect,time); - test_policy,int>(team_range,thread_range,vector_range,outer_repeat,thread_repeat,vector_repeat,team_size,vector_size,test_type,v_1,v_2,v_3,result_computed,result_expect,time); + test_policy, int>( + team_range, thread_range, vector_range, 1, 1, 1, team_size, + vector_size, 100, v_1, v_2, v_3, result_computed, result_expect, + time); + test_policy, int>( + team_range, thread_range, vector_range, outer_repeat, thread_repeat, + vector_repeat, team_size, vector_size, test_type, v_1, v_2, v_3, + result_computed, result_expect, time); } } - if(schedule==2) { - if ( test_type != 500 ) { + if (schedule == 2) { + if (test_type != 500) { // warmup - no repeat of loops - test_policy,int>(team_range,thread_range,vector_range,1,1,1,team_size,vector_size,test_type,v_1,v_2,v_3,result_computed,result_expect,time); - test_policy,int>(team_range,thread_range,vector_range,outer_repeat,thread_repeat,vector_repeat,team_size,vector_size,test_type,v_1,v_2,v_3,result_computed,result_expect,time); - } - else { + test_policy, int>( + team_range, thread_range, vector_range, 1, 1, 1, team_size, + vector_size, test_type, v_1, v_2, v_3, result_computed, result_expect, + time); + test_policy, int>( + team_range, thread_range, vector_range, outer_repeat, thread_repeat, + vector_repeat, team_size, vector_size, test_type, v_1, v_2, v_3, + result_computed, result_expect, time); + } else { // parallel_scan: initialize 1d view for parallel_scan - test_policy,int>(team_range,thread_range,vector_range,1,1,1,team_size,vector_size,100,v_1,v_2,v_3,result_computed,result_expect,time); - test_policy,int>(team_range,thread_range,vector_range,outer_repeat,thread_repeat,vector_repeat,team_size,vector_size,test_type,v_1,v_2,v_3,result_computed,result_expect,time); + test_policy, int>( + team_range, thread_range, vector_range, 1, 1, 1, team_size, + vector_size, 100, v_1, v_2, v_3, result_computed, result_expect, + time); + test_policy, int>( + team_range, thread_range, vector_range, outer_repeat, thread_repeat, + vector_repeat, team_size, vector_size, test_type, v_1, v_2, v_3, + result_computed, result_expect, time); } } - if ( disable_verbose_output == 0 ) { - printf("%7i %4i %2i %9i %4i %4i %4i %2i %1i %3i %e %e %lf\n",team_range,thread_range,vector_range,outer_repeat,thread_repeat,vector_repeat,team_size,vector_size,schedule,test_type,result_computed,result_expect,time); - } - else { - printf("%lf\n",time); + if (disable_verbose_output == 0) { + printf("%7i %4i %2i %9i %4i %4i %4i %2i %1i %3i %e %e %lf\n", team_range, + thread_range, vector_range, outer_repeat, thread_repeat, + vector_repeat, team_size, vector_size, schedule, test_type, + result_computed, result_expect, time); + } else { + printf("%lf\n", time); } Kokkos::finalize(); diff --git a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp index 1ab437928de761bed614efc8a22d8c4d38fcf38f..7a1500891f7af1d2ff5ce61ebb83637d20c43cb4 100644 --- a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp +++ b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -43,297 +44,375 @@ #include -template < class ViewType > +template struct ParallelScanFunctor { using value_type = double; ViewType v; - ParallelScanFunctor( const ViewType & v_ ) - : v(v_) - {} + ParallelScanFunctor(const ViewType& v_) : v(v_) {} KOKKOS_INLINE_FUNCTION - void operator()( const int idx, value_type& val, const bool& final ) const - { - // inclusive scan - val += v(idx); - if ( final ) { - v(idx) = val; - } + void operator()(const int idx, value_type& val, const bool& final) const { + // inclusive scan + val += v(idx); + if (final) { + v(idx) = val; } + } }; -template +template void test_policy(int team_range, int thread_range, int vector_range, - int outer_repeat, int thread_repeat, int inner_repeat, - int team_size, int vector_size, int test_type, - ViewType1 &v1, ViewType2 &v2, ViewType3 &v3, - double &result, double &result_expect, double &time) { - - typedef Kokkos::TeamPolicy t_policy; + int outer_repeat, int thread_repeat, int inner_repeat, + int team_size, int vector_size, int test_type, ViewType1& v1, + ViewType2& v2, ViewType3& v3, double& result, + double& result_expect, double& time) { + typedef Kokkos::TeamPolicy t_policy; typedef typename t_policy::member_type t_team; Kokkos::Timer timer; - for(int orep = 0; orep(v1) + Kokkos::parallel_scan("500 outer scan", team_size * team_range, + ParallelScanFunctor(v1) #if 0 // This does not compile with pre Cuda 8.0 - see Github Issue #913 for explanation KOKKOS_LAMBDA (const int idx, double& val, const bool& final) { @@ -345,11 +424,12 @@ void test_policy(int team_range, int thread_range, int vector_range, } #endif ); - // result = v1( team_size*team_range - 1 ); // won't work with Cuda - need to copy result back to host to print - // result_expect = 0.5*(team_size*team_range)*(team_size*team_range-1); + // result = v1( team_size*team_range - 1 ); // won't work with Cuda - need + // to copy result back to host to print result_expect = + // 0.5*(team_size*team_range)*(team_size*team_range-1); } - } // end outer for loop + } // end outer for loop time = timer.seconds(); -} //end test_policy +} // end test_policy diff --git a/lib/kokkos/benchmarks/policy_performance/script_sample_usage.sh b/lib/kokkos/benchmarks/policy_performance/script_sample_usage.sh index f4bfb87f8fed1d89a03289754281313aa1e83eeb..1c2db56648ccfa74e9ab95c2bf381434f0132e7b 100755 --- a/lib/kokkos/benchmarks/policy_performance/script_sample_usage.sh +++ b/lib/kokkos/benchmarks/policy_performance/script_sample_usage.sh @@ -2,7 +2,7 @@ # Sample script for benchmarking policy performance -# Suggested enviroment variables to export prior to executing script: +# Suggested environment variables to export prior to executing script: # KNL: # OMP_NUM_THREADS=256 KMP_AFFINITY=compact # Power: diff --git a/lib/kokkos/benchmarks/stream/stream-kokkos.cc b/lib/kokkos/benchmarks/stream/stream-kokkos.cc index 370995432e5833490b5cd7b42331d676ef5b8f63..8d604079d485c40183234ef6fa159ce8e2ec5102 100644 --- a/lib/kokkos/benchmarks/stream/stream-kokkos.cc +++ b/lib/kokkos/benchmarks/stream/stream-kokkos.cc @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -63,7 +64,7 @@ typedef int StreamIndex; double now() { struct timeval now; - gettimeofday(&now, NULL); + gettimeofday(&now, nullptr); return (double) now.tv_sec + ((double) now.tv_usec * 1.0e-6); } diff --git a/lib/kokkos/bin/hpcbind b/lib/kokkos/bin/hpcbind index b185a9282177321060add2a01e60b35bcc4aae10..6af091a7d8b60766cddae67c6076b5df1f8ad12f 100755 --- a/lib/kokkos/bin/hpcbind +++ b/lib/kokkos/bin/hpcbind @@ -383,7 +383,7 @@ fi # Check unknown arguments ################################################################################ if [[ ${#UNKNOWN_ARGS[*]} > 0 ]]; then - echo "HPCBIND Uknown options: ${UNKNOWN_ARGS[*]}" > >(tee -a ${HPCBIND_LOG}) + echo "HPCBIND Unknown options: ${UNKNOWN_ARGS[*]}" > >(tee -a ${HPCBIND_LOG}) exit 1 fi diff --git a/lib/kokkos/bin/nvcc_wrapper b/lib/kokkos/bin/nvcc_wrapper index 94bc72854e74211cd3ed1c2876100731311dddfe..8a23d0d620508529bef99f0e74b80a2a0093cb6f 100755 --- a/lib/kokkos/bin/nvcc_wrapper +++ b/lib/kokkos/bin/nvcc_wrapper @@ -85,11 +85,11 @@ first_xcompiler_arg=1 temp_dir=${TMPDIR:-/tmp} -# Check if we have an optimization argument already -optimization_applied=0 +# optimization flag added as a command-line argument +optimization_flag="" -# Check if we have -std=c++X or --std=c++X already -stdcxx_applied=0 +# std standard flag added as a command-line argument +std_flag="" # Run nvcc a second time to generate dependencies if needed depfile_separate=0 @@ -99,6 +99,10 @@ depfile_target_arg="" # Option to remove duplicate libraries and object files remove_duplicate_link_files=0 +function warn_std_flag() { + echo "nvcc_wrapper - *warning* you have set multiple standard flags (-std=c++1* or --std=c++1*), only the last is used because nvcc can only accept a single std setting" +} + #echo "Arguments: $# $@" while [ $# -gt 0 ] @@ -130,12 +134,16 @@ do ;; # Ensure we only have one optimization flag because NVCC doesn't allow muliple -O*) - if [ $optimization_applied -eq 1 ]; then - echo "nvcc_wrapper - *warning* you have set multiple optimization flags (-O*), only the first is used because nvcc can only accept a single optimization setting." + if [ -n "$optimization_flag" ]; then + echo "nvcc_wrapper - *warning* you have set multiple optimization flags (-O*), only the last is used because nvcc can only accept a single optimization setting." + shared_args=${shared_args/ $optimization_flag/} + fi + if [ "$1" = "-O" ]; then + optimization_flag="-O2" else - shared_args="$shared_args $1" - optimization_applied=1 + optimization_flag=$1 fi + shared_args="$shared_args $optimization_flag" ;; #Handle shared args (valid for both nvcc and the host compiler) -D*) @@ -171,7 +179,7 @@ do shift ;; #Handle known nvcc args - --dryrun|--verbose|--keep|--keep-dir*|-G|--relocatable-device-code*|-lineinfo|-expt-extended-lambda|--resource-usage|-Xptxas*) + --dryrun|--verbose|--keep|--keep-dir*|-G|--relocatable-device-code*|-lineinfo|-expt-extended-lambda|--resource-usage|-Xptxas*|--fmad*) cuda_args="$cuda_args $1" ;; #Handle more known nvcc args @@ -179,21 +187,43 @@ do cuda_args="$cuda_args $1" ;; #Handle known nvcc args that have an argument - -rdc|-maxrregcount|--default-stream) + -rdc|-maxrregcount|--default-stream|-Xnvlink|--fmad) cuda_args="$cuda_args $1 $2" shift ;; -rdc=*|-maxrregcount*|--maxrregcount*) cuda_args="$cuda_args $1" ;; - #Handle c++11 - --std=c++11|-std=c++11|--std=c++14|-std=c++14|--std=c++1y|-std=c++1y|--std=c++17|-std=c++17|--std=c++1z|-std=c++1z) - if [ $stdcxx_applied -eq 1 ]; then - echo "nvcc_wrapper - *warning* you have set multiple optimization flags (-std=c++1* or --std=c++1*), only the first is used because nvcc can only accept a single std setting" - else - shared_args="$shared_args $1" - stdcxx_applied=1 + #Handle unsupported standard flags + --std=c++1y|-std=c++1y|--std=c++1z|-std=c++1z|--std=gnu++1y|-std=gnu++1y|--std=gnu++1z|-std=gnu++1z|--std=c++2a|-std=c++2a|--std=c++17|-std=c++17) + fallback_std_flag="-std=c++14" + # this is hopefully just occurring in a downstream project during CMake feature tests + # we really have no choice here but to accept the flag and change to an accepted C++ standard + echo "nvcc_wrapper does not accept standard flags $1 since partial standard flags and standards after C++14 are not supported. nvcc_wrapper will use $fallback_std_flag instead. It is undefined behavior to use this flag. This should only be occurring during CMake configuration." + if [ -n "$std_flag" ]; then + warn_std_flag + shared_args=${shared_args/ $std_flag/} + fi + std_flag=$fallback_std_flag + shared_args="$shared_args $std_flag" + ;; + -std=gnu*) + corrected_std_flag=${1/gnu/c} + echo "nvcc_wrapper has been given GNU extension standard flag $1 - reverting flag to $corrected_std_flag" + if [ -n "$std_flag" ]; then + warn_std_flag + shared_args=${shared_args/ $std_flag/} + fi + std_flag=$corrected_std_flag + shared_args="$shared_args $std_flag" + ;; + --std=c++11|-std=c++11|--std=c++14|-std=c++14) + if [ -n "$std_flag" ]; then + warn_std_flag + shared_args=${shared_args/ $std_flag/} fi + std_flag=$1 + shared_args="$shared_args $std_flag" ;; #strip of -std=c++98 due to nvcc warnings and Tribits will place both -std=c++11 and -std=c++98 @@ -308,16 +338,6 @@ do shift done -#Check if nvcc exists -if [ $host_only -ne 1 ]; then - var=$(which nvcc ) - if [ $? -gt 0 ]; then - echo "Could not find nvcc in PATH" - exit $? - fi -fi - - # Only print host compiler version if [ $get_host_version -eq 1 ]; then $host_compiler --version @@ -372,6 +392,9 @@ if [ $first_xcompiler_arg -eq 0 ]; then nvcc_command="$nvcc_command -Xcompiler $xcompiler_args" fi +#Replace all commas in xcompiler_args with a space for the host only command +xcompiler_args=${xcompiler_args//,/" "} + #Compose host only command host_command="$host_compiler $shared_args $host_only_args $compile_arg $output_arg $xcompiler_args $host_linker_args $shared_versioned_libraries_host" diff --git a/lib/kokkos/cmake/Dependencies.cmake b/lib/kokkos/cmake/Dependencies.cmake index 8c51eab4d78b68f9c01e64f63352a22cf8f2086d..c0be9f56411311a38a0f43a9b07b1109a0135bd8 100644 --- a/lib/kokkos/cmake/Dependencies.cmake +++ b/lib/kokkos/cmake/Dependencies.cmake @@ -6,5 +6,4 @@ TRIBITS_PACKAGE_DEFINE_DEPENDENCIES( Core core PS REQUIRED Containers containers PS OPTIONAL Algorithms algorithms PS OPTIONAL - Example example EX OPTIONAL ) diff --git a/lib/kokkos/cmake/KokkosConfig.cmake.in b/lib/kokkos/cmake/KokkosConfig.cmake.in index fc099a494ce25af9068e113a688904e06458fcbe..6f4607687e066b3a1bee5d467803d0f39c99810c 100644 --- a/lib/kokkos/cmake/KokkosConfig.cmake.in +++ b/lib/kokkos/cmake/KokkosConfig.cmake.in @@ -1,18 +1,14 @@ -# - Config file for the Kokkos package -# It defines the following variables -# Kokkos_INCLUDE_DIRS - include directories for Kokkos -# Kokkos_LIBRARIES - libraries to link against - # Compute paths -GET_FILENAME_COMPONENT(Kokkos_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -SET(Kokkos_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@") +@PACKAGE_INIT@ -# Our library dependencies (contains definitions for IMPORTED targets) -IF(NOT TARGET kokkos AND NOT Kokkos_BINARY_DIR) - INCLUDE("${Kokkos_CMAKE_DIR}/KokkosTargets.cmake") -ENDIF() +#Find dependencies +INCLUDE(CMakeFindDependencyMacro) -# These are IMPORTED targets created by KokkosTargets.cmake -SET(Kokkos_LIBRARY_DIRS @INSTALL_LIB_DIR@) -SET(Kokkos_LIBRARIES @Kokkos_LIBRARIES_NAMES@) -SET(Kokkos_TPL_LIBRARIES @KOKKOS_LIBS@) +#This needs to go above the KokkosTargets in case +#the Kokkos targets depend in some way on the TPL imports +@KOKKOS_TPL_EXPORTS@ + +GET_FILENAME_COMPONENT(Kokkos_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +INCLUDE("${Kokkos_CMAKE_DIR}/KokkosTargets.cmake") +INCLUDE("${Kokkos_CMAKE_DIR}/KokkosConfigCommon.cmake") +UNSET(Kokkos_CMAKE_DIR) diff --git a/lib/kokkos/cmake/KokkosConfigCommon.cmake.in b/lib/kokkos/cmake/KokkosConfigCommon.cmake.in new file mode 100644 index 0000000000000000000000000000000000000000..8c663d01c1e74ad65b32532360ad43d34c172a9f --- /dev/null +++ b/lib/kokkos/cmake/KokkosConfigCommon.cmake.in @@ -0,0 +1,90 @@ +SET(Kokkos_DEVICES @KOKKOS_ENABLED_DEVICES@) +SET(Kokkos_OPTIONS @KOKKOS_ENABLED_OPTIONS@) +SET(Kokkos_TPLS @KOKKOS_ENABLED_TPLS@) +SET(Kokkos_ARCH @KOKKOS_ENABLED_ARCH_LIST@) + +# These are needed by KokkosKernels +FOREACH(DEV ${Kokkos_DEVICES}) + SET(Kokkos_ENABLE_${DEV} ON) +ENDFOREACH() + +IF(NOT Kokkos_FIND_QUIETLY) + MESSAGE(STATUS "Enabled Kokkos devices: ${Kokkos_DEVICES}") +ENDIF() + +IF (Kokkos_ENABLE_CUDA AND ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.14.0") + #If we are building CUDA, we have tricked CMake because we declare a CXX project + #If the default C++ standard for a given compiler matches the requested + #standard, then CMake just omits the -std flag in later versions of CMake + #This breaks CUDA compilation (CUDA compiler can have a different default + #-std then the underlying host compiler by itself). Setting this variable + #forces CMake to always add the -std flag even if it thinks it doesn't need it + SET(CMAKE_CXX_STANDARD_DEFAULT 98 CACHE INTERNAL "" FORCE) +ENDIF() + +SET(KOKKOS_USE_CXX_EXTENSIONS @KOKKOS_USE_CXX_EXTENSIONS@) +IF (NOT DEFINED CMAKE_CXX_EXTENSIONS OR CMAKE_CXX_EXTENSIONS) + IF (NOT KOKKOS_USE_CXX_EXTENSIONS) + MESSAGE(WARNING "The installed Kokkos configuration does not support CXX extensions. Forcing -DCMAKE_CXX_EXTENSIONS=Off") + SET(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "" FORCE) + ENDIF() +ENDIF() + +include(FindPackageHandleStandardArgs) + +# This function makes sure that Kokkos was built with the requested backends +# and target architectures and generates a fatal error if it was not. +# +# kokkos_check( +# [DEVICES ...] # Set of backends (e.g. "OpenMP" and/or "Cuda") +# [ARCH ...] # Target architectures (e.g. "Power9" and/or "Volta70") +# [OPTIONS ...] # Optional settings (e.g. "PROFILING") +# [TPLS ...] # Third party libraries +# [RETURN_VALUE ] # Set a variable that indicates the result of the +# # check instead of a fatal error +# ) +function(kokkos_check) + set(ALLOWED_ARGS DEVICES ARCH OPTIONS TPLS) + cmake_parse_arguments(KOKKOS_CHECK "" "RETURN_VALUE" "${ALLOWED_ARGS}" ${ARGN}) + foreach(_arg ${KOKKOS_CHECK_UNPARSED_ARGUMENTS}) + message(SEND_ERROR "Argument '${_arg}' passed to kokkos_check() was not recognized") + endforeach() + # Get the list of keywords that were actually passed to the function. + set(REQUESTED_ARGS) + foreach(arg ${ALLOWED_ARGS}) + if(KOKKOS_CHECK_${arg}) + list(APPEND REQUESTED_ARGS ${arg}) + endif() + endforeach() + set(KOKKOS_CHECK_SUCCESS TRUE) + foreach(arg ${REQUESTED_ARGS}) + # Define variables named after the required arguments that are provided by + # the Kokkos install. + foreach(requested ${KOKKOS_CHECK_${arg}}) + foreach(provided ${Kokkos_${arg}}) + STRING(TOUPPER ${requested} REQUESTED_UC) + STRING(TOUPPER ${provided} PROVIDED_UC) + if(PROVIDED_UC STREQUAL REQUESTED_UC) + string(REPLACE ";" " " ${requested} "${KOKKOS_CHECK_${arg}}") + endif() + endforeach() + endforeach() + # Somewhat divert the CMake function below from its original purpose and + # use it to check that there are variables defined for all required + # arguments. Success or failure messages will be displayed but we are + # responsible for signaling failure and skip the build system generation. + if (KOKKOS_CHECK_RETURN_VALUE) + set(Kokkos_${arg}_FIND_QUIETLY ON) + endif() + find_package_handle_standard_args("Kokkos_${arg}" DEFAULT_MSG + ${KOKKOS_CHECK_${arg}}) + if(NOT Kokkos_${arg}_FOUND) + set(KOKKOS_CHECK_SUCCESS FALSE) + endif() + endforeach() + if(NOT KOKKOS_CHECK_SUCCESS AND NOT KOKKOS_CHECK_RETURN_VALUE) + message(FATAL_ERROR "Kokkos does NOT provide all backends and/or architectures requested") + else() + set(${KOKKOS_CHECK_RETURN_VALUE} ${KOKKOS_CHECK_SUCCESS} PARENT_SCOPE) + endif() +endfunction() diff --git a/lib/kokkos/cmake/KokkosCore_config.h.in b/lib/kokkos/cmake/KokkosCore_config.h.in new file mode 100644 index 0000000000000000000000000000000000000000..1d0b58fe02d9183849f007460599921fbe134a8b --- /dev/null +++ b/lib/kokkos/cmake/KokkosCore_config.h.in @@ -0,0 +1,98 @@ + +#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H) +#error "Do not include KokkosCore_config.h directly; include Kokkos_Macros.hpp instead." +#else +#define KOKKOS_CORE_CONFIG_H +#endif + +// KOKKOS_VERSION % 100 is the patch level +// KOKKOS_VERSION / 100 % 100 is the minor version +// KOKKOS_VERSION / 10000 is the major version +#cmakedefine KOKKOS_VERSION @KOKKOS_VERSION@ + + +/* Execution Spaces */ +#cmakedefine KOKKOS_ENABLE_SERIAL +#cmakedefine KOKKOS_ENABLE_OPENMP +#cmakedefine KOKKOS_ENABLE_OPENMPTARGET +#cmakedefine KOKKOS_ENABLE_THREADS +#cmakedefine KOKKOS_ENABLE_CUDA +#cmakedefine KOKKOS_ENABLE_HIP +#cmakedefine KOKKOS_ENABLE_HPX +#cmakedefine KOKKOS_ENABLE_MEMKIND +#cmakedefine KOKKOS_ENABLE_LIBRT + +#ifndef __CUDA_ARCH__ +#cmakedefine KOKKOS_ENABLE_TM +#cmakedefine KOKKOS_USE_ISA_X86_64 +#cmakedefine KOKKOS_USE_ISA_KNC +#cmakedefine KOKKOS_USE_ISA_POWERPCLE +#cmakedefine KOKKOS_USE_ISA_POWERPCBE +#endif + +/* General Settings */ +#cmakedefine KOKKOS_ENABLE_CXX11 +#cmakedefine KOKKOS_ENABLE_CXX14 +#cmakedefine KOKKOS_ENABLE_CXX17 +#cmakedefine KOKKOS_ENABLE_CXX20 + +#cmakedefine KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE +#cmakedefine KOKKOS_ENABLE_CUDA_UVM +#cmakedefine KOKKOS_ENABLE_CUDA_LAMBDA +#cmakedefine KOKKOS_ENABLE_CUDA_CONSTEXPR +#cmakedefine KOKKOS_ENABLE_CUDA_LDG_INTRINSIC +#cmakedefine KOKKOS_ENABLE_HIP_RELOCATABLE_DEVICE_CODE +#cmakedefine KOKKOS_ENABLE_HPX_ASYNC_DISPATCH +#cmakedefine KOKKOS_ENABLE_DEBUG +#cmakedefine KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK +#cmakedefine KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK +#cmakedefine KOKKOS_ENABLE_COMPILER_WARNINGS +#cmakedefine KOKKOS_ENABLE_PROFILING +#cmakedefine KOKKOS_ENABLE_PROFILING_LOAD_PRINT +#cmakedefine KOKKOS_ENABLE_DEPRECATED_CODE +#cmakedefine KOKKOS_ENABLE_ETI +#cmakedefine KOKKOS_ENABLE_LARGE_MEM_TESTS +#cmakedefine KOKKOS_ENABLE_DUALVIEW_MODIFY_CHECK +#cmakedefine KOKKOS_ENABLE_COMPLEX_ALIGN +#cmakedefine KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION + +/* TPL Settings */ +#cmakedefine KOKKOS_ENABLE_HWLOC +#cmakedefine KOKKOS_USE_LIBRT +#cmakedefine KOKKOS_ENABLE_HWBSPACE + +#cmakedefine KOKKOS_IMPL_CUDA_CLANG_WORKAROUND + +#cmakedefine KOKKOS_COMPILER_CUDA_VERSION @KOKKOS_COMPILER_CUDA_VERSION@ + +#cmakedefine KOKKOS_ARCH_SSE42 +#cmakedefine KOKKOS_ARCH_ARMV80 +#cmakedefine KOKKOS_ARCH_ARMV8_THUNDERX +#cmakedefine KOKKOS_ARCH_ARMV81 +#cmakedefine KOKKOS_ARCH_ARMV8_THUNDERX2 +#cmakedefine KOKKOS_ARCH_AMD_AVX2 +#cmakedefine KOKKOS_ARCH_AVX +#cmakedefine KOKKOS_ARCH_AVX2 +#cmakedefine KOKKOS_ARCH_AVX512XEON +#cmakedefine KOKKOS_ARCH_KNC +#cmakedefine KOKKOS_ARCH_AVX512MIC +#cmakedefine KOKKOS_ARCH_POWER7 +#cmakedefine KOKKOS_ARCH_POWER8 +#cmakedefine KOKKOS_ARCH_POWER9 +#cmakedefine KOKKOS_ARCH_KEPLER +#cmakedefine KOKKOS_ARCH_KEPLER30 +#cmakedefine KOKKOS_ARCH_KEPLER32 +#cmakedefine KOKKOS_ARCH_KEPLER35 +#cmakedefine KOKKOS_ARCH_KEPLER37 +#cmakedefine KOKKOS_ARCH_MAXWELL +#cmakedefine KOKKOS_ARCH_MAXWELL50 +#cmakedefine KOKKOS_ARCH_MAXWELL52 +#cmakedefine KOKKOS_ARCH_MAXWELL53 +#cmakedefine KOKKOS_ARCH_PASCAL +#cmakedefine KOKKOS_ARCH_PASCAL60 +#cmakedefine KOKKOS_ARCH_PASCAL61 +#cmakedefine KOKKOS_ARCH_VOLTA +#cmakedefine KOKKOS_ARCH_VOLTA70 +#cmakedefine KOKKOS_ARCH_VOLTA72 +#cmakedefine KOKKOS_ARCH_TURING75 +#cmakedefine KOKKOS_ARCH_AMD_EPYC diff --git a/lib/kokkos/cmake/KokkosTrilinosConfig.cmake.in b/lib/kokkos/cmake/KokkosTrilinosConfig.cmake.in new file mode 100644 index 0000000000000000000000000000000000000000..626ef5a8ebefcaf7adcdeaa3b285f44892527dbc --- /dev/null +++ b/lib/kokkos/cmake/KokkosTrilinosConfig.cmake.in @@ -0,0 +1,17 @@ +IF (NOT TARGET Kokkos::kokkos) + # Compute the installation prefix relative to this file. + get_filename_component(KOKKOS_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) + get_filename_component(KOKKOS_IMPORT_PREFIX "${KOKKOS_IMPORT_PREFIX}" PATH) + get_filename_component(KOKKOS_IMPORT_PREFIX "${KOKKOS_IMPORT_PREFIX}" PATH) + get_filename_component(KOKKOS_IMPORT_PREFIX "${KOKKOS_IMPORT_PREFIX}" PATH) + if(KOKKOS_IMPORT_PREFIX STREQUAL "/") + set(KOKKOS_IMPORT_PREFIX "") + endif() + add_library(Kokkos::kokkos INTERFACE IMPORTED) + set_target_properties(Kokkos::kokkos PROPERTIES + INTERFACE_LINK_LIBRARIES "@Kokkos_LIBRARIES@;@KOKKOS_LINK_OPTIONS@" + INTERFACE_COMPILE_FEATURES "@KOKKOS_CXX_STANDARD_FEATURE@" + INTERFACE_COMPILE_OPTIONS "@KOKKOS_ALL_COMPILE_OPTIONS@" + INTERFACE_INCLUDE_DIRECTORIES "${KOKKOS_IMPORT_PREFIX}/include" + ) +ENDIF() diff --git a/lib/kokkos/cmake/Makefile.generate_cmake_settings b/lib/kokkos/cmake/Makefile.generate_cmake_settings deleted file mode 100644 index da076b23db2697f4abb874cd5c154c08e99ad6cb..0000000000000000000000000000000000000000 --- a/lib/kokkos/cmake/Makefile.generate_cmake_settings +++ /dev/null @@ -1,8 +0,0 @@ -ifndef KOKKOS_PATH - MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) - KOKKOS_PATH = $(subst Makefile,,$(MAKEFILE_PATH)).. -endif - -include $(KOKKOS_PATH)/Makefile.kokkos -include $(KOKKOS_PATH)/core/src/Makefile.generate_header_lists -include $(KOKKOS_PATH)/core/src/Makefile.generate_build_files diff --git a/lib/kokkos/cmake/Modules/FindHWLOC.cmake b/lib/kokkos/cmake/Modules/FindHWLOC.cmake deleted file mode 100644 index 60df8084d80815f79f0215c17b40f80db4c791c0..0000000000000000000000000000000000000000 --- a/lib/kokkos/cmake/Modules/FindHWLOC.cmake +++ /dev/null @@ -1,20 +0,0 @@ -#.rst: -# FindHWLOC -# ---------- -# -# Try to find HWLOC, based on KOKKOS_HWLOC_DIR -# -# The following variables are defined: -# -# HWLOC_FOUND - System has HWLOC -# HWLOC_INCLUDE_DIR - HWLOC include directory -# HWLOC_LIBRARIES - Libraries needed to use HWLOC - -find_path(HWLOC_INCLUDE_DIR hwloc.h PATHS "${KOKKOS_HWLOC_DIR}/include") -find_library(HWLOC_LIBRARIES hwloc PATHS "${KOKKOS_HWLOC_DIR}/lib") - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(HWLOC DEFAULT_MSG - HWLOC_INCLUDE_DIR HWLOC_LIBRARIES) - -mark_as_advanced(HWLOC_INCLUDE_DIR HWLOC_LIBRARIES) diff --git a/lib/kokkos/cmake/Modules/FindMemkind.cmake b/lib/kokkos/cmake/Modules/FindMemkind.cmake deleted file mode 100644 index 245fb44c19a2ff71a389c5f139cb3f6ac38f924e..0000000000000000000000000000000000000000 --- a/lib/kokkos/cmake/Modules/FindMemkind.cmake +++ /dev/null @@ -1,20 +0,0 @@ -#.rst: -# FindMemkind -# ---------- -# -# Try to find Memkind. -# -# The following variables are defined: -# -# MEMKIND_FOUND - System has Memkind -# MEMKIND_INCLUDE_DIR - Memkind include directory -# MEMKIND_LIBRARIES - Libraries needed to use Memkind - -find_path(MEMKIND_INCLUDE_DIR memkind.h) -find_library(MEMKIND_LIBRARIES memkind) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Memkind DEFAULT_MSG - MEMKIND_INCLUDE_DIR MEMKIND_LIBRARIES) - -mark_as_advanced(MEMKIND_INCLUDE_DIR MEMKIND_LIBRARIES) diff --git a/lib/kokkos/cmake/Modules/FindQthreads.cmake b/lib/kokkos/cmake/Modules/FindQthreads.cmake deleted file mode 100644 index a254b0e996d23e01897f5f186a316c285f64e9ee..0000000000000000000000000000000000000000 --- a/lib/kokkos/cmake/Modules/FindQthreads.cmake +++ /dev/null @@ -1,20 +0,0 @@ -#.rst: -# FindQthreads -# ---------- -# -# Try to find Qthreads. -# -# The following variables are defined: -# -# QTHREADS_FOUND - System has Qthreads -# QTHREADS_INCLUDE_DIR - Qthreads include directory -# QTHREADS_LIBRARIES - Libraries needed to use Qthreads - -find_path(QTHREADS_INCLUDE_DIR qthread.h) -find_library(QTHREADS_LIBRARIES qthread) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Qthreads DEFAULT_MSG - QTHREADS_INCLUDE_DIR QTHREADS_LIBRARIES) - -mark_as_advanced(QTHREADS_INCLUDE_DIR QTHREADS_LIBRARIES) diff --git a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake new file mode 100644 index 0000000000000000000000000000000000000000..1b36ab819f0d891ff20bc0d3e2c95f92e23250f2 --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake @@ -0,0 +1,17 @@ + +IF (KOKKOS_CXX_COMPILER_ID STREQUAL Clang) + # Note: "stubs" suffix allows CMake to find the dummy + # libcuda.so provided by the NVIDIA CUDA Toolkit for + # cross-compiling CUDA on a host without a GPU. + KOKKOS_FIND_IMPORTED(CUDA INTERFACE + LIBRARIES cudart cuda + LIBRARY_PATHS ENV LD_LIBRARY_PATH ENV CUDA_PATH /usr/local/cuda + LIBRARY_SUFFIXES lib lib64 lib/stubs lib64/stubs + ALLOW_SYSTEM_PATH_FALLBACK + ) +ELSE() + KOKKOS_CREATE_IMPORTED_TPL(CUDA INTERFACE + LINK_LIBRARIES cuda + ) +ENDIF() + diff --git a/lib/kokkos/cmake/Modules/FindTPLHPX.cmake b/lib/kokkos/cmake/Modules/FindTPLHPX.cmake new file mode 100644 index 0000000000000000000000000000000000000000..c8b3bc4c9b84505eceff8ba3453501f9bb5d1e01 --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLHPX.cmake @@ -0,0 +1,15 @@ + +FIND_PACKAGE(HPX REQUIRED) +#as of right now, HPX doesn't export correctly +#so let's convert it to an interface target +KOKKOS_CREATE_IMPORTED_TPL(HPX INTERFACE + LINK_LIBRARIES ${HPX_LIBRARIES} + INCLUDES ${HPX_INCLUDE_DIRS} +) +#this is a bit funky since this is a CMake target +#but HPX doesn't export itself correctly +KOKKOS_EXPORT_CMAKE_TPL(HPX) + +#I would prefer all of this gets replaced with +#KOKKOS_IMPORT_CMAKE_TPL(HPX) + diff --git a/lib/kokkos/cmake/Modules/FindTPLHWLOC.cmake b/lib/kokkos/cmake/Modules/FindTPLHWLOC.cmake new file mode 100644 index 0000000000000000000000000000000000000000..cf763b7e5bb585ed77e8dc1fb3b015566a0326f9 --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLHWLOC.cmake @@ -0,0 +1 @@ +KOKKOS_FIND_IMPORTED(HWLOC HEADER hwloc.h LIBRARY hwloc) diff --git a/lib/kokkos/cmake/Modules/FindTPLLIBDL.cmake b/lib/kokkos/cmake/Modules/FindTPLLIBDL.cmake new file mode 100644 index 0000000000000000000000000000000000000000..5fc6a693035cea5e05b379f5fac9d50bcaeb3f7a --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLLIBDL.cmake @@ -0,0 +1 @@ +KOKKOS_FIND_IMPORTED(LIBDL HEADER dlfcn.h LIBRARY dl) diff --git a/lib/kokkos/cmake/Modules/FindTPLLIBNUMA.cmake b/lib/kokkos/cmake/Modules/FindTPLLIBNUMA.cmake new file mode 100644 index 0000000000000000000000000000000000000000..811db5851b9ee359ad996a743bf8a0ac283512f6 --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLLIBNUMA.cmake @@ -0,0 +1 @@ +KOKKOS_FIND_IMPORTED(LIBNUMA HEADER numa.h LIBRARY numa) diff --git a/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake b/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake new file mode 100644 index 0000000000000000000000000000000000000000..e75da56b5b5324050236ee0ee4c6847452d5b3cf --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake @@ -0,0 +1 @@ +KOKKOS_FIND_IMPORTED(LIBRT HEADER time.h LIBRARY rt) diff --git a/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake b/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake new file mode 100644 index 0000000000000000000000000000000000000000..20aaff22955ce9ad026c51b870bf04b7d8b0df42 --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake @@ -0,0 +1 @@ +KOKKOS_FIND_IMPORTED(MEMKIND HEADER memkind.h LIBRARY memkind) diff --git a/lib/kokkos/cmake/Modules/FindTPLPTHREAD.cmake b/lib/kokkos/cmake/Modules/FindTPLPTHREAD.cmake new file mode 100644 index 0000000000000000000000000000000000000000..1d154e29afff16479663d9c8d495f81142e5cf82 --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLPTHREAD.cmake @@ -0,0 +1,20 @@ + +TRY_COMPILE(KOKKOS_HAS_PTHREAD_ARG + ${KOKKOS_TOP_BUILD_DIR}/tpl_tests + ${KOKKOS_SOURCE_DIR}/cmake/compile_tests/pthread.cpp + LINK_LIBRARIES -pthread + COMPILE_DEFINITIONS -pthread +) +# The test no longer requires C++11 +# if we did needed C++ standard support, then we should add option +# ${CMAKE_CXX${KOKKOS_CXX_STANDARD}_STANDARD_COMPILE_OPTION} + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(PTHREAD DEFAULT_MSG KOKKOS_HAS_PTHREAD_ARG) +#Only create the TPL if we succeed +IF (KOKKOS_HAS_PTHREAD_ARG) + KOKKOS_CREATE_IMPORTED_TPL(PTHREAD + INTERFACE #this is not a real library with a real location + COMPILE_OPTIONS -pthread + LINK_OPTIONS -pthread) +ENDIF() diff --git a/lib/kokkos/cmake/README.md b/lib/kokkos/cmake/README.md new file mode 100644 index 0000000000000000000000000000000000000000..6d0cc2daf10d86e77ff93f96948991536fa8086c --- /dev/null +++ b/lib/kokkos/cmake/README.md @@ -0,0 +1,332 @@ +![Kokkos](https://avatars2.githubusercontent.com/u/10199860?s=200&v=4) + +# Developing Kokkos + +This document contains a build system overview for developers with information on adding new CMake options that could influence +* Header configuration macros +* Optional features +* Third-partly libraries +* Compiler and linker flags +For build system details for users, refer to the [build instructions](../BUILD.md). + +## Build System + +Kokkos uses CMake to configure, build, and install. +Rather than being a completely straightforward use of modern CMake, +Kokkos has several extra complications, primarily due to: +* Kokkos must support linking to an installed version or in-tree builds as a subdirectory of a larger project. +* Kokkos must configure a special compiler `nvcc_wrapper` that allows `nvcc` to accept all C++ flags (which `nvcc` currently does not). +* Kokkos must work as a part of TriBITS, a CMake library providing a particular build idiom for Trilinos. +* Kokkos has many pre-existing users. We need to be careful about breaking previous versions or generating meaningful error messags if we do break backwards compatibility. + +If you are looking at the build system code wondering why certain decisions were made: we have had to balance many competing requirements and certain technical debt. Everything in the build system was done for a reason, trying to adhere as closely as possible to modern CMake best practices while meeting all pre-existing. customer requirements. + +### Modern CMake Philosophy + +Modern CMake relies on understanding the principle of *building* and *using* a code project. +What preprocessor, compiler, and linker flags do I need to *build* my project? +What flags does a downstream project that links to me need to *use* my project? +In CMake terms, flags that are only needed for building are `PRIVATE`. +Only Kokkos needs these flags, not a package that depends on Kokkos. +Flags that must be used in a downstream project are `PUBLIC`. +Kokkos must tell other projects to use them. + +In Kokkos, almost everything is a public flag since Kokkos is driven by headers and Kokkos is in charge of optimizing your code to achieve performance portability! +Include paths, C++ standard flags, architecture-specific optimizations, or OpenMP and CUDA flags are all examples of flags that Kokkos configures and adds to your project. + +Modern CMake now automatically propagates flags through the `target_link_libraries` command. +Suppose you have a library `stencil` that needs to build with Kokkos. +Consider the following CMake code: + +```` +find_package(Kokkos) +add_library(stencil stencil.cpp) +target_link_libraries(stencil Kokkos::kokkos) +```` + +This locates the Kokkos package, adds your library, and tells CMake to link Kokkos to your library. +All public build flags get added automatically through the `target_link_libraries` command. +There is nothing to do. You can be happily oblivious to how Kokkos was configured. +Everything should just work. + +As a Kokkos developer who wants to add new public compiler flags, how do you ensure that CMake does this properly? Modern CMake works through targets and properties. +Each target has a set of standard properties: +* `INTERFACE_COMPILE_OPTIONS` contains all the compiler options that Kokkos should add to downstream projects +* `INTERFACE_INCLUDE_DIRECTORIES` contains all the directories downstream projects must include from Kokkos +* `INTERFACE_COMPILE_DEFINITIONS` contains the list of preprocessor `-D` flags +* `INTERFACE_LINK_LIBRARIES` contains all the libraries downstream projects need to link +* `INTERFACE_COMPILE_FEATURES` essentially adds compiler flags, but with extra complications. Features names are specific to CMake. More later. + +CMake makes it easy to append to these properties using: +* `target_compile_options(kokkos PUBLIC -fmyflag)` +* `target_include_directories(kokkos PUBLIC mySpecialFolder)` +* `target_compile_definitions(kokkos PUBLIC -DmySpecialFlag=0)` +* `target_link_libraries(kokkos PUBLIC mySpecialLibrary)` +* `target_compile_features(kokkos PUBLIC mySpecialFeature)` +Note that all of these use `PUBLIC`! Almost every Kokkos flag is not private to Kokkos, but must also be used by downstream projects. + + +### Compiler Features and Compiler Options +Compiler options are flags like `-fopenmp` that do not need to be "resolved." +The flag is either on or off. +Compiler features are more fine-grained and require conflicting requests to be resolved. +Suppose I have +```` +add_library(A a.cpp) +target_compile_features(A PUBLIC cxx_std_11) +```` +then another target +```` +add_library(B b.cpp) +target_compile_features(B PUBLIC cxx_std_14) +target_link_libraries(A B) +```` +I have requested two different features. +CMake understands the requests and knows that `cxx_std_11` is a subset of `cxx_std_14`. +CMake then picks C++14 for library `B`. +CMake would not have been able to do feature resolution if we had directly done: +```` +target_compile_options(A PUBLIC -std=c++11) +```` + +### Adding Kokkos Options +After configuring for the first time, +CMake creates a cache of configure variables in `CMakeCache.txt`. +Reconfiguring in the folder "restarts" from those variables. +All flags passed as `-DKokkos_SOME_OPTION=X` to `cmake` become variables in the cache. +All Kokkos options begin with camel case `Kokkos_` followed by an upper case option name. + +CMake best practice is to avoid cache variables, if possible. +In essence, you want the minimal amount of state cached between configurations. +And never, ever have behavior influenced by multiple cache variables. +If you want to change the Kokkos configuration, have a single unique variable that needs to be changed. +Never require two cache variables to be changed. + +Kokkos provides a function `KOKKOS_OPTION` for defining valid cache-level variables, +proofreading them, and defining local project variables. +The most common variables are called `Kokkos_ENABLE_X`, +for which a helper function `KOKKOS_ENABLE_OPTION` is provided, e.g. +```` +KOKKOS_ENABLE_OPTION(TESTS OFF "Whether to build tests") +```` +The function checks if `-DKokkos_ENABLE_TESTS` was given, +whether it was given with the wrong case, e.g. `-DKokkos_Enable_Tests`, +and then defines a regular (non-cache) variable `KOKKOS_ENABLE_TESTS` to `ON` or `OFF` +depending on the given default and whether the option was specified. + +### Defining Kokkos Config Macros + +Sometimes you may want to add `#define Kokkos_X` macros to the config header. +This is straightforward with CMake. +Suppose you want to define an optional macro `KOKKOS_SUPER_SCIENCE`. +Simply go into `KokkosCore_config.h.in` and add +```` +#cmakedefine KOKKOS_SUPER_SCIENCE +```` +I can either add +```` +KOKKOS_OPTION(SUPER_SCIENCE ON "Whether to do some super science") +```` +to directly set the variable as a command-line `-D` option. +Alternatively, based on other logic, I could add to a `CMakeLists.txt` +```` +SET(KOKKOS_SUPER_SCIENCE ON) +```` +If not set as a command-line option (cache variable), you must make sure the variable is visible in the top-level scope. +If set in a function, you would need: +```` +SET(KOKKOS_SUPER_SCIENCE ON PARENT_SCOPE) +```` + +### Third-Party Libraries +In much the same way that compiler flags transitively propagate to dependent projects, +modern CMake allows us to propagate dependent libraries. +If Kokkos depends on, e.g. `hwloc` the downstream project will also need to link `hwloc`. +There are three stages in adding a new third-party library (TPL): +* Finding: find the desired library on the system and verify the installation is correct +* Importing: create a CMake target, if necessary, that is compatible with `target_link_libraries`. This is mostly relevant for TPLs not installed with CMake. +* Exporting: make the desired library visible to downstream projects + +TPLs are somewhat complicated by whether the library was installed with CMake or some other build system. +If CMake, our lives are greatly simplified. We simply use `find_package` to locate the installed CMake project then call `target_link_libraries(kokkoscore PUBLIC/PRIVATE TPL)`. For libaries not installed with CMake, the process is a bit more complex. +It is up to the Kokkos developers to "convert" the library into a CMake target as if it had been installed as a valid modern CMake target with properties. +There are helper functions for simplifying the process of importing TPLs in Kokkos, but we walk through the process in detail to clearly illustrate the steps involved. + +#### TPL Search Order + +There are several options for where CMake could try to find a TPL. +If there are multiple installations of the same TPL on the system, +the search order is critical for making sure the correct TPL is found. +There are 3 possibilities that could be used: + +1. Default system paths like /usr +1. User-provided paths through options `_ROOT` and `Kokkos__DIR` +1. Additional paths not in the CMake default list or provided by the user that Kokkos decides to add. For example, Kokkos may query `nvcc` or `LD_LIBRARY_PATH` for where to find CUDA libraries. + +The following is the search order that Kokkos follows. Note: This differs from the default search order used by CMake `find_library` and `find_header`. CMake prefers default system paths over user-provided paths. +For Kokkos (and package managers in general), it is better to prefer user-provided paths since this usually indicates a specific version we want. + +1. `_ROOT` command line option +1. `_ROOT` environment variable +1. `Kokkos__DIR` command line option +1. Paths added by Kokkos CMake logic +1. Default system paths (if allowed) + +Default system paths are allowed in two cases. First, none of the other options are given so the only place to look is system paths. Second, if explicitly given permission, configure will look in system paths. +The rationale for this logic is that if you specify a custom location, you usually *only* want to look in that location. +If you do not find the TPL where you expect it, you should error out rather than grab another random match. + + +#### Finding TPLs + +If finding a TPL that is not a modern CMake project, refer to the `FindHWLOC.cmake` file in `cmake/Modules` for an example. +You will usually need to verify expected headers with `find_path` +```` +find_path(TPL_INCLUDE_DIR mytpl.h PATHS "${KOKKOS_MYTPL_DIR}/include") +```` +This insures that the library header is in the expected include directory and defines the variable `TPL_INCLUDE_DIR` with a valid path if successful. +Similarly, you can verify a library +```` +find_library(TPL_LIBRARY mytpl PATHS "${KOKKOS_MYTPL_DIR/lib") +```` +that then defines the variable `TPL_LIBRARY` with a valid path if successful. +CMake provides a utility for checking if the `find_path` and `find_library` calls were successful that emulates the behavior of `find_package` for a CMake target. +```` +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(MYTPL DEFAULT_MSG + MYTPL_INCLUDE_DIR MYTPL_LIBRARY) +```` +If the find failed, CMake will print standard error messages explaining the failure. + +#### Importing TPLs + +The installed TPL must be adapted into a CMake target. +CMake allows libraries to be added that are built externally as follows: +```` +add_library(Kokkos::mytpl UNKNOWN IMPORTED) +```` +Importantly, we use a `Kokkos::` namespace to avoid name conflicts and identify this specifically as the version imported by Kokkos. +Because we are importing a non-CMake target, we must populate all the target properties that would have been automatically populated for a CMake target. +```` +set_target_properties(Kokkos::mytpl PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${MYTPL_INCLUDE_DIR}" + IMPORTED_LOCATION "${MYTPL_LIBRARY}" +) +```` + +#### Exporting TPLs + +Kokkos may now depend on the target `Kokkos::mytpl` as a `PUBLIC` library (remember building and using). +This means that downstream projects must also know about `Kokkos::myptl` - so Kokkos must export them. +In the `KokkosConfig.cmake.in` file, we need to add code like the following: +```` +set(MYTPL_LIBRARY @MYTPL_LIBRARY@) +set(MYTPL_INCLUDE_DIR @MYTPL_INCLUDE_DIR@) +add_library(Kokkos::mytpl UNKNOWN IMPORTED) +set_target_properties(Kokkos::mytpl PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${MYTPL_INCLUDE_DIR}" + IMPORTED_LOCATION "${MYTPL_LIBRARY}" +) +```` +If this looks familiar, that's because it is exactly the same code as above for importing the TPL. +Exporting a TPL really just means importing the TPL when Kokkos is loaded by an external project. +We will describe helper functions that simplify this process. + +#### Interface TPLs + +If a TPL is just a library and set of headers, we can make a simple `IMPORTED` target. +However, a TPL is actually completely flexible and need not be limited to just headers and libraries. +TPLs can configure compiler flags, linker flags, or multiple different libraries. +For this, we use a special type of CMake target: `INTERFACE` libraries. +These libraries don't build anything. +They simply populate properties that will configure flags for dependent targets. +We consider the example: +```` +add_library(PTHREAD INTERFACE) +target_compile_options(PTHREAD PUBLIC -pthread) +```` +Kokkos uses the compiler flag `-pthread` to define compiler macros for re-entrant functions rather than treating it simply as a library with header `pthread.h` and library `-lpthread`. +Any property can be configured, e.g. +```` +target_link_libraries(MYTPL ...) +```` +In contrast to imported TPLs which require direct modification of `KokkosConfig.cmake.in`, +we can use CMake's built-in export functions: +```` +INSTALL( + TARGETS MYTPL + EXPORT KokkosTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +) +```` +These interface targets will be automatically populated in the config file. + +#### Linking the TPL +After finishing the import process, it still remains to link the imported target as needed. +For example, +```` +target_link_libraries(kokkoscore PUBLIC Kokkos::HWLOC) +```` +The complexity of which includes, options, and libraries the TPL requires +should be encapsulated in the CMake target. + +#### TPL Helper Functions +##### KOKKOS_IMPORT_TPL +This function can be invoked as, e.g. +```` +KOKKOS_IMPORT_TPL(HWLOC) +```` +This function checks if the TPL was enabled by a `-DKokkos_ENABLE_HWLOC=On` flag. +If so, it calls `find_package(TPLHWLOC)`. +This invokes the file `FindTPLHWLOC.cmake` which should be contained in the `cmake/Modules` folder. +If successful, another function `KOKKOS_EXPORT_CMAKE_TPL` gets invoked. +This automatically adds all the necessary import commands to `KokkosConfig.cmake`. + +##### KOKKOS_FIND_IMPORTED +Inside a `FindTPLX.cmake` file, the simplest way to import a library is to call, e.g. +```` +KOKKOS_FIND_IMPORTED(HWLOC LIBRARY hwloc HEADER hwloc.h) +```` +This finds the location of the library and header and creates an imported target `Kokkos::HWLOC` +that can be linked against. +The library/header find can be guided with `-DHWLOC_ROOT=` or `-DKokkos_HWLOC_DIR=` during CMake configure. +These both specify the install prefix. + +##### KOKKOS_LINK_TPL +This function checks if the TPL has been enabled. +If so, it links a given library against the imported (or interface) TPL target. + +##### KOKKOS_CREATE_IMPORTED_TPL +This helper function is best understood by reading the actual code. +This function takes arguments specifying the properties and creates the actual TPL target. +The most important thing to understand for this function is whether you call this function with the optional `INTERFACE` keyword. +This tells the project to either create the target as an imported target or interface target, as discussed above. + +##### KOKKOS_EXPORT_CMAKE_TPL +Even if the TPL just loads a valid CMake target, we still must "export" it into the config file. +When Kokkos is loaded by a downstream project, this TPL must be loaded. +Calling this function simply appends text recording the location where the TPL was found +and adding a `find_dependency(...)` call that will reload the CMake target. + +### The Great TriBITS Compromise + +TriBITS was a masterpiece of CMake version 2 before the modern CMake idioms of building and using. +TriBITS greatly limited verbosity of CMake files, handled complicated dependency trees between packages, and handled automatically setting up include and linker paths for dependent libraries. + +Kokkos is now used by numerous projects that don't (and won't) depend on TriBITS for their build systems. +Kokkos has to work outside of TriBITS and provide a standard CMake 3+ build system. +At the same time, Kokkos is used by numerous projects that depend on TriBITS and don't (and won't) switch to a standard CMake 3+ build system. + +Instead of calling functions `TRIBITS_X(...)`, the CMake calls wrapper functions `KOKKOS_X(...)`. +If TriBITS is available (as in Trilinos), `KOKKOS_X` will just be a thin wrapper around `TRIBITS_X`. +If TriBITS is not available, Kokkos maps `KOKKOS_X` calls to native CMake that complies with CMake 3 idioms. +For the time being, this seems the most sensible way to handle the competing requirements of a standalone modern CMake and TriBITS build system. + +##### [LICENSE](https://github.com/kokkos/kokkos/blob/devel/LICENSE) + +[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) + +Under the terms of Contract DE-NA0003525 with NTESS, +the U.S. Government retains certain rights in this software. diff --git a/lib/kokkos/cmake/compile_tests/clang_omp.cpp b/lib/kokkos/cmake/compile_tests/clang_omp.cpp new file mode 100644 index 0000000000000000000000000000000000000000..60a5c522820cdb03cbde8a2cf3a796c57292b46b --- /dev/null +++ b/lib/kokkos/cmake/compile_tests/clang_omp.cpp @@ -0,0 +1,9 @@ +#include + +int main(int, char**) { + int thr = omp_get_num_threads(); + if (thr > 0) + return thr; + else + return 0; +} diff --git a/lib/kokkos/cmake/compile_tests/pthread.cpp b/lib/kokkos/cmake/compile_tests/pthread.cpp new file mode 100644 index 0000000000000000000000000000000000000000..92310da0293704a121e265766dbe2979fc66513e --- /dev/null +++ b/lib/kokkos/cmake/compile_tests/pthread.cpp @@ -0,0 +1,14 @@ +#include + +void* kokkos_test(void* args) { return args; } + +int main(void) { + pthread_t thread; + /* Use NULL to avoid C++11. Some compilers + do not have C++11 by default. Forcing C++11 + in the compile tests can be done, but is unnecessary + */ + pthread_create(&thread, NULL, kokkos_test, NULL); + pthread_join(thread, NULL); + return 0; +} diff --git a/lib/kokkos/cmake/cray.cmake b/lib/kokkos/cmake/cray.cmake new file mode 100644 index 0000000000000000000000000000000000000000..08912f5130f92fec97a4bdb6abb90e860d0b9cda --- /dev/null +++ b/lib/kokkos/cmake/cray.cmake @@ -0,0 +1,9 @@ + + +function(kokkos_set_cray_flags full_standard int_standard) + STRING(TOLOWER ${full_standard} FULL_LC_STANDARD) + STRING(TOLOWER ${int_standard} INT_LC_STANDARD) + SET(KOKKOS_CXX_STANDARD_FLAG "-hstd=c++${FULL_LC_STANDARD}", PARENT_SCOPE) + SET(KOKKOS_CXX_INTERMDIATE_STANDARD_FLAG "-hstd=c++${INT_LC_STANDARD}" PARENT_SCOPE) +endfunction() + diff --git a/lib/kokkos/cmake/deps/CUDA.cmake b/lib/kokkos/cmake/deps/CUDA.cmake index 801c20067b9195db5ba5e6cd6fdd62a426e6e294..4876bca25907eb632a8f12d01352ddaa854fd341 100644 --- a/lib/kokkos/cmake/deps/CUDA.cmake +++ b/lib/kokkos/cmake/deps/CUDA.cmake @@ -73,7 +73,7 @@ IF(NOT _CUDA_FAILURE) GLOBAL_SET(TPL_CUDA_LIBRARY_DIRS) GLOBAL_SET(TPL_CUDA_INCLUDE_DIRS ${CUDA_TOOLKIT_INCLUDE}) GLOBAL_SET(TPL_CUDA_LIBRARIES ${CUDA_CUDART_LIBRARY} ${CUDA_cublas_LIBRARY} ${CUDA_cufft_LIBRARY}) - TIBITS_CREATE_IMPORTED_TPL_LIBRARY(CUSPARSE) + KOKKOS_CREATE_IMPORTED_TPL_LIBRARY(CUSPARSE) ELSE() SET(TPL_ENABLE_CUDA OFF) ENDIF() diff --git a/lib/kokkos/cmake/deps/CUSPARSE.cmake b/lib/kokkos/cmake/deps/CUSPARSE.cmake index 6f26d857c09acf7bb24c2c5449a54f5d507deae8..b2420d1168e55d7ce990ff5380ba638996888a09 100644 --- a/lib/kokkos/cmake/deps/CUSPARSE.cmake +++ b/lib/kokkos/cmake/deps/CUSPARSE.cmake @@ -59,6 +59,6 @@ # GLOBAL_SET(TPL_CUSPARSE_LIBRARY_DIRS) # GLOBAL_SET(TPL_CUSPARSE_INCLUDE_DIRS ${TPL_CUDA_INCLUDE_DIRS}) # GLOBAL_SET(TPL_CUSPARSE_LIBRARIES ${CUDA_cusparse_LIBRARY}) -# TIBITS_CREATE_IMPORTED_TPL_LIBRARY(CUSPARSE) +# KOKKOS_CREATE_IMPORTED_TPL_LIBRARY(CUSPARSE) #ENDIF() diff --git a/lib/kokkos/cmake/deps/HWLOC.cmake b/lib/kokkos/cmake/deps/HWLOC.cmake index 275abd3a5d4ecfb3ce3b207f978959f6f9019061..ed89c8c1e511593663a4565316f596aa36317baa 100644 --- a/lib/kokkos/cmake/deps/HWLOC.cmake +++ b/lib/kokkos/cmake/deps/HWLOC.cmake @@ -64,7 +64,7 @@ # Version: 1.3 # -TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( HWLOC +KOKKOS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( HWLOC REQUIRED_HEADERS hwloc.h REQUIRED_LIBS_NAMES "hwloc" ) diff --git a/lib/kokkos/cmake/deps/Pthread.cmake b/lib/kokkos/cmake/deps/Pthread.cmake index 46d0a939cad0e6c5479cb20da1d37ba5ca509b8c..5f835fc3002f752f0aae5a5a54894b3f1d16451b 100644 --- a/lib/kokkos/cmake/deps/Pthread.cmake +++ b/lib/kokkos/cmake/deps/Pthread.cmake @@ -74,9 +74,9 @@ IF(USE_THREADS) SET(TPL_Pthread_INCLUDE_DIRS "") SET(TPL_Pthread_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}") SET(TPL_Pthread_LIBRARY_DIRS "") - TIBITS_CREATE_IMPORTED_TPL_LIBRARY(Pthread) + KOKKOS_CREATE_IMPORTED_TPL_LIBRARY(Pthread) ELSE() - TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( Pthread + KOKKOS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( Pthread REQUIRED_HEADERS pthread.h REQUIRED_LIBS_NAMES pthread ) diff --git a/lib/kokkos/cmake/deps/QTHREADS.cmake b/lib/kokkos/cmake/deps/QTHREADS.cmake deleted file mode 100644 index c312f2590bcd29197a0cf3fbd5e0b484579a09c2..0000000000000000000000000000000000000000 --- a/lib/kokkos/cmake/deps/QTHREADS.cmake +++ /dev/null @@ -1,69 +0,0 @@ -# @HEADER -# ************************************************************************ -# -# Trilinos: An Object-Oriented Solver Framework -# Copyright (2001) Sandia Corporation -# -# -# Copyright (2001) Sandia Corporation. Under the terms of Contract -# DE-AC04-94AL85000, there is a non-exclusive license for use of this -# work by or on behalf of the U.S. Government. Export of this program -# may require a license from the United States Government. -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the Corporation nor the names of the -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# NOTICE: The United States Government is granted for itself and others -# acting on its behalf a paid-up, nonexclusive, irrevocable worldwide -# license in this data to reproduce, prepare derivative works, and -# perform publicly and display publicly. Beginning five (5) years from -# July 25, 2001, the United States Government is granted for itself and -# others acting on its behalf a paid-up, nonexclusive, irrevocable -# worldwide license in this data to reproduce, prepare derivative works, -# distribute copies to the public, perform publicly and display -# publicly, and to permit others to do so. -# -# NEITHER THE UNITED STATES GOVERNMENT, NOR THE UNITED STATES DEPARTMENT -# OF ENERGY, NOR SANDIA CORPORATION, NOR ANY OF THEIR EMPLOYEES, MAKES -# ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR -# RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY -# INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS -# THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. -# -# ************************************************************************ -# @HEADER - - -#----------------------------------------------------------------------------- -# Hardware locality detection and control library. -# -# Acquisition information: -# Date checked: July 2014 -# Checked by: H. Carter Edwards -# Source: https://code.google.com/p/qthreads -# - -TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( QTHREADS - REQUIRED_HEADERS qthread.h - REQUIRED_LIBS_NAMES "qthread" - ) diff --git a/lib/kokkos/cmake/fake_tribits.cmake b/lib/kokkos/cmake/fake_tribits.cmake new file mode 100644 index 0000000000000000000000000000000000000000..acee4a249d172cbef6f0409d5a6182349d35c6d4 --- /dev/null +++ b/lib/kokkos/cmake/fake_tribits.cmake @@ -0,0 +1,331 @@ +#These are tribits wrappers used by all projects in the Kokkos ecosystem + +INCLUDE(CMakeParseArguments) +INCLUDE(CTest) + +cmake_policy(SET CMP0054 NEW) + +FUNCTION(ASSERT_DEFINED VARS) + FOREACH(VAR ${VARS}) + IF(NOT DEFINED ${VAR}) + MESSAGE(SEND_ERROR "Error, the variable ${VAR} is not defined!") + ENDIF() + ENDFOREACH() +ENDFUNCTION() + +MACRO(KOKKOS_ADD_OPTION_AND_DEFINE USER_OPTION_NAME MACRO_DEFINE_NAME DOCSTRING DEFAULT_VALUE ) +SET( ${USER_OPTION_NAME} "${DEFAULT_VALUE}" CACHE BOOL "${DOCSTRING}" ) +IF(NOT ${MACRO_DEFINE_NAME} STREQUAL "") + IF(${USER_OPTION_NAME}) + GLOBAL_SET(${MACRO_DEFINE_NAME} ON) + ELSE() + GLOBAL_SET(${MACRO_DEFINE_NAME} OFF) + ENDIF() +ENDIF() +ENDMACRO() + +MACRO(GLOBAL_OVERWRITE VARNAME VALUE TYPE) + SET(${VARNAME} ${VALUE} CACHE ${TYPE} "" FORCE) +ENDMACRO() + +IF (NOT KOKKOS_HAS_TRILINOS) +MACRO(APPEND_GLOB VAR) + FILE(GLOB LOCAL_TMP_VAR ${ARGN}) + LIST(APPEND ${VAR} ${LOCAL_TMP_VAR}) +ENDMACRO() + +MACRO(GLOBAL_SET VARNAME) + SET(${VARNAME} ${ARGN} CACHE INTERNAL "" FORCE) +ENDMACRO() + +FUNCTION(VERIFY_EMPTY CONTEXT) +if(${ARGN}) +MESSAGE(FATAL_ERROR "Kokkos does not support all of Tribits. Unhandled arguments in ${CONTEXT}:\n${ARGN}") +endif() +ENDFUNCTION() + +MACRO(PREPEND_GLOBAL_SET VARNAME) + ASSERT_DEFINED(${VARNAME}) + GLOBAL_SET(${VARNAME} ${ARGN} ${${VARNAME}}) +ENDMACRO() + +MACRO(PREPEND_TARGET_SET VARNAME TARGET_NAME TYPE) + IF(TYPE STREQUAL "REQUIRED") + SET(REQUIRED TRUE) + ELSE() + SET(REQUIRED FALSE) + ENDIF() + IF(TARGET ${TARGET_NAME}) + PREPEND_GLOBAL_SET(${VARNAME} ${TARGET_NAME}) + ELSE() + IF(REQUIRED) + MESSAGE(FATAL_ERROR "Missing dependency ${TARGET_NAME}") + ENDIF() + ENDIF() +ENDMACRO() +endif() + + +FUNCTION(KOKKOS_CONFIGURE_FILE PACKAGE_NAME_CONFIG_FILE) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_CONFIGURE_FILE(${PACKAGE_NAME_CONFIG_FILE}) + else() + # Configure the file + CONFIGURE_FILE( + ${PACKAGE_SOURCE_DIR}/cmake/${PACKAGE_NAME_CONFIG_FILE}.in + ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME_CONFIG_FILE} + ) + endif() +ENDFUNCTION() + +MACRO(ADD_INTERFACE_LIBRARY LIB_NAME) + FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp "") + ADD_LIBRARY(${LIB_NAME} STATIC ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp) + SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES INTERFACE TRUE) +ENDMACRO() + +FUNCTION(KOKKOS_ADD_TEST) + if (KOKKOS_HAS_TRILINOS) + CMAKE_PARSE_ARGUMENTS(TEST + "" + "EXE;NAME" + "" + ${ARGN}) + IF(TEST_EXE) + SET(EXE_ROOT ${TEST_EXE}) + ELSE() + SET(EXE_ROOT ${TEST_NAME}) + ENDIF() + + TRIBITS_ADD_TEST( + ${EXE_ROOT} + NAME ${TEST_NAME} + COMM serial mpi + NUM_MPI_PROCS 1 + ${TEST_UNPARSED_ARGUMENTS} + ) + else() + CMAKE_PARSE_ARGUMENTS(TEST + "WILL_FAIL" + "FAIL_REGULAR_EXPRESSION;PASS_REGULAR_EXPRESSION;EXE;NAME" + "CATEGORIES;CMD_ARGS" + ${ARGN}) + # To match Tribits, we should always be receiving + # the root names of exes/libs + IF(TEST_EXE) + SET(EXE_ROOT ${TEST_EXE}) + ELSE() + SET(EXE_ROOT ${TEST_NAME}) + ENDIF() + # Prepend package name to the test name + # These should be the full target name + SET(TEST_NAME ${PACKAGE_NAME}_${TEST_NAME}) + SET(EXE ${PACKAGE_NAME}_${EXE_ROOT}) + IF(WIN32) + ADD_TEST(NAME ${TEST_NAME} WORKING_DIRECTORY ${LIBRARY_OUTPUT_PATH} COMMAND ${EXE}${CMAKE_EXECUTABLE_SUFFIX} ${TEST_CMD_ARGS}) + ELSE() + ADD_TEST(NAME ${TEST_NAME} COMMAND ${EXE} ${TEST_CMD_ARGS}) + ENDIF() + IF(TEST_WILL_FAIL) + SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES WILL_FAIL ${TEST_WILL_FAIL}) + ENDIF() + IF(TEST_FAIL_REGULAR_EXPRESSION) + SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES FAIL_REGULAR_EXPRESSION ${TEST_FAIL_REGULAR_EXPRESSION}) + ENDIF() + IF(TEST_PASS_REGULAR_EXPRESSION) + SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES PASS_REGULAR_EXPRESSION ${TEST_PASS_REGULAR_EXPRESSION}) + ENDIF() + VERIFY_EMPTY(KOKKOS_ADD_TEST ${TEST_UNPARSED_ARGUMENTS}) + endif() +ENDFUNCTION() + +FUNCTION(KOKKOS_ADD_ADVANCED_TEST) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_ADD_ADVANCED_TEST(${ARGN}) + else() + # TODO Write this + endif() +ENDFUNCTION() + +MACRO(KOKKOS_CREATE_IMPORTED_TPL_LIBRARY TPL_NAME) + ADD_INTERFACE_LIBRARY(TPL_LIB_${TPL_NAME}) + TARGET_LINK_LIBRARIES(TPL_LIB_${TPL_NAME} LINK_PUBLIC ${TPL_${TPL_NAME}_LIBRARIES}) + TARGET_INCLUDE_DIRECTORIES(TPL_LIB_${TPL_NAME} INTERFACE ${TPL_${TPL_NAME}_INCLUDE_DIRS}) +ENDMACRO() + +FUNCTION(KOKKOS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES TPL_NAME) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES(${TPL_NAME} ${ARGN}) + else() + CMAKE_PARSE_ARGUMENTS(PARSE + "" + "" + "REQUIRED_HEADERS;REQUIRED_LIBS_NAMES" + ${ARGN}) + + SET(_${TPL_NAME}_ENABLE_SUCCESS TRUE) + IF (PARSE_REQUIRED_LIBS_NAMES) + FIND_LIBRARY(TPL_${TPL_NAME}_LIBRARIES NAMES ${PARSE_REQUIRED_LIBS_NAMES}) + IF(NOT TPL_${TPL_NAME}_LIBRARIES) + SET(_${TPL_NAME}_ENABLE_SUCCESS FALSE) + ENDIF() + ENDIF() + IF (PARSE_REQUIRED_HEADERS) + FIND_PATH(TPL_${TPL_NAME}_INCLUDE_DIRS NAMES ${PARSE_REQUIRED_HEADERS}) + IF(NOT TPL_${TPL_NAME}_INCLUDE_DIRS) + SET(_${TPL_NAME}_ENABLE_SUCCESS FALSE) + ENDIF() + ENDIF() + IF (_${TPL_NAME}_ENABLE_SUCCESS) + KOKKOS_CREATE_IMPORTED_TPL_LIBRARY(${TPL_NAME}) + ENDIF() + VERIFY_EMPTY(KOKKOS_CREATE_IMPORTED_TPL_LIBRARY ${PARSE_UNPARSED_ARGUMENTS}) + endif() +ENDFUNCTION() + +MACRO(KOKKOS_TARGET_COMPILE_OPTIONS TARGET) +if(KOKKOS_HAS_TRILINOS) + TARGET_COMPILE_OPTIONS(${TARGET} ${ARGN}) +else() + TARGET_COMPILE_OPTIONS(${TARGET} ${ARGN}) +endif() +ENDMACRO() + + +MACRO(KOKKOS_EXCLUDE_AUTOTOOLS_FILES) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_EXCLUDE_AUTOTOOLS_FILES() + else() + #do nothing + endif() +ENDMACRO() + +FUNCTION(KOKKOS_LIB_TYPE LIB RET) +GET_TARGET_PROPERTY(PROP ${LIB} TYPE) +IF (${PROP} STREQUAL "INTERFACE_LIBRARY") + SET(${RET} "INTERFACE" PARENT_SCOPE) +ELSE() + SET(${RET} "PUBLIC" PARENT_SCOPE) +ENDIF() +ENDFUNCTION() + +FUNCTION(KOKKOS_TARGET_INCLUDE_DIRECTORIES TARGET) +IF(KOKKOS_HAS_TRILINOS) + KOKKOS_LIB_TYPE(${TARGET} INCTYPE) + #don't trust tribits to do this correctly - but need to add package name + TARGET_INCLUDE_DIRECTORIES(${TARGET} ${INCTYPE} ${ARGN}) +ELSEIF(TARGET ${TARGET}) + #the target actually exists - this means we are doing separate libs + #or this a test library + KOKKOS_LIB_TYPE(${TARGET} INCTYPE) + TARGET_INCLUDE_DIRECTORIES(${TARGET} ${INCTYPE} ${ARGN}) +ELSE() + GET_PROPERTY(LIBS GLOBAL PROPERTY KOKKOS_LIBRARIES_NAMES) + IF (${TARGET} IN_LIST LIBS) + SET_PROPERTY(GLOBAL APPEND PROPERTY KOKKOS_LIBRARY_INCLUDES ${ARGN}) + ELSE() + MESSAGE(FATAL_ERROR "Trying to set include directories on unknown target ${TARGET}") + ENDIF() +ENDIF() +ENDFUNCTION() + +FUNCTION(KOKKOS_LINK_INTERNAL_LIBRARY TARGET DEPLIB) +IF(KOKKOS_HAS_TRILINOS) + #do nothing +ELSE() + SET(options INTERFACE) + SET(oneValueArgs) + SET(multiValueArgs) + CMAKE_PARSE_ARGUMENTS(PARSE + "INTERFACE" + "" + "" + ${ARGN}) + SET(LINK_TYPE) + IF(PARSE_INTERFACE) + SET(LINK_TYPE INTERFACE) + ELSE() + SET(LINK_TYPE PUBLIC) + ENDIF() + TARGET_LINK_LIBRARIES(${TARGET} ${LINK_TYPE} ${DEPLIB}) + VERIFY_EMPTY(KOKKOS_LINK_INTERNAL_LIBRARY ${PARSE_UNPARSED_ARGUMENTS}) +ENDIF() +ENDFUNCTION() + +FUNCTION(KOKKOS_ADD_TEST_LIBRARY NAME) +IF (KOKKOS_HAS_TRILINOS) + TRIBITS_ADD_LIBRARY(${NAME} ${ARGN} TESTONLY + ADDED_LIB_TARGET_NAME_OUT ${NAME} + ) +ELSE() + SET(oneValueArgs) + SET(multiValueArgs HEADERS SOURCES) + + CMAKE_PARSE_ARGUMENTS(PARSE + "STATIC;SHARED" + "" + "HEADERS;SOURCES" + ${ARGN}) + + IF(PARSE_HEADERS) + LIST(REMOVE_DUPLICATES PARSE_HEADERS) + ENDIF() + IF(PARSE_SOURCES) + LIST(REMOVE_DUPLICATES PARSE_SOURCES) + ENDIF() + ADD_LIBRARY(${NAME} ${PARSE_SOURCES}) +ENDIF() +ENDFUNCTION() + + +FUNCTION(KOKKOS_TARGET_COMPILE_DEFINITIONS) + IF (KOKKOS_HAS_TRILINOS) + TARGET_COMPILE_DEFINITIONS(${TARGET} ${ARGN}) + ELSE() + TARGET_COMPILE_DEFINITIONS(${TARGET} ${ARGN}) + ENDIF() +ENDFUNCTION() + +FUNCTION(KOKKOS_INCLUDE_DIRECTORIES) +IF(KOKKOS_HAS_TRILINOS) + TRIBITS_INCLUDE_DIRECTORIES(${ARGN}) +ELSE() + CMAKE_PARSE_ARGUMENTS( + INC + "REQUIRED_DURING_INSTALLATION_TESTING" + "" + "" + ${ARGN} + ) + INCLUDE_DIRECTORIES(${INC_UNPARSED_ARGUMENTS}) +ENDIF() +ENDFUNCTION() + + +MACRO(KOKKOS_ADD_COMPILE_OPTIONS) +ADD_COMPILE_OPTIONS(${ARGN}) +ENDMACRO() + +MACRO(PRINTALL match) +get_cmake_property(_variableNames VARIABLES) +list (SORT _variableNames) +foreach (_variableName ${_variableNames}) + if("${_variableName}" MATCHES "${match}") + message(STATUS "${_variableName}=${${_variableName}}") + endif() +endforeach() +ENDMACRO() + +MACRO(SET_GLOBAL_REPLACE SUBSTR VARNAME) + STRING(REPLACE ${SUBSTR} ${${VARNAME}} TEMP) + GLOBAL_SET(${VARNAME} ${TEMP}) +ENDMACRO() + +FUNCTION(GLOBAL_APPEND VARNAME) + #We make this a function since we are setting variables + #and want to use scope to avoid overwriting local variables + SET(TEMP ${${VARNAME}}) + LIST(APPEND TEMP ${ARGN}) + GLOBAL_SET(${VARNAME} ${TEMP}) +ENDFUNCTION() + diff --git a/lib/kokkos/cmake/gnu.cmake b/lib/kokkos/cmake/gnu.cmake new file mode 100644 index 0000000000000000000000000000000000000000..aa11fe87b111970ea440a3765c06d0b31b402d15 --- /dev/null +++ b/lib/kokkos/cmake/gnu.cmake @@ -0,0 +1,23 @@ + +FUNCTION(kokkos_set_gnu_flags full_standard int_standard) + STRING(TOLOWER ${full_standard} FULL_LC_STANDARD) + STRING(TOLOWER ${int_standard} INT_LC_STANDARD) + # The following three blocks of code were copied from + # /Modules/Compiler/Intel-CXX.cmake from CMake 3.7.2 and then modified. + IF(CMAKE_CXX_SIMULATE_ID STREQUAL MSVC) + SET(_std -Qstd) + SET(_ext c++) + ELSE() + SET(_std -std) + SET(_ext gnu++) + ENDIF() + + IF (CMAKE_CXX_EXTENSIONS) + SET(KOKKOS_CXX_STANDARD_FLAG "-std=gnu++${FULL_LC_STANDARD}" PARENT_SCOPE) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD_FLAG "-std=gnu++${INT_LC_STANDARD}" PARENT_SCOPE) + ELSE() + SET(KOKKOS_CXX_STANDARD_FLAG "-std=c++${FULL_LC_STANDARD}" PARENT_SCOPE) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD_FLAG "-std=c++${INT_LC_STANDARD}" PARENT_SCOPE) + ENDIF() +ENDFUNCTION() + diff --git a/lib/kokkos/cmake/intel.cmake b/lib/kokkos/cmake/intel.cmake new file mode 100644 index 0000000000000000000000000000000000000000..f36f01d8ca669780c01c2a4145d3e3c78241b2b3 --- /dev/null +++ b/lib/kokkos/cmake/intel.cmake @@ -0,0 +1,30 @@ + +FUNCTION(kokkos_set_intel_flags full_standard int_standard) + STRING(TOLOWER ${full_standard} FULL_LC_STANDARD) + STRING(TOLOWER ${int_standard} INT_LC_STANDARD) + # The following three blocks of code were copied from + # /Modules/Compiler/Intel-CXX.cmake from CMake 3.7.2 and then modified. + IF(CMAKE_CXX_SIMULATE_ID STREQUAL MSVC) + SET(_std -Qstd) + SET(_ext c++) + ELSE() + SET(_std -std) + SET(_ext gnu++) + ENDIF() + + IF(NOT KOKKOS_CXX_STANDARD STREQUAL 11 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0.2) + #There is no gnu++14 value supported; figure out what to do. + SET(KOKKOS_CXX_STANDARD_FLAG "${_std}=c++${FULL_LC_STANDARD}" PARENT_SCOPE) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD_FLAG "${_std}=c++${INT_LC_STANDARD}" PARENT_SCOPE) + ELSEIF(KOKKOS_CXX_STANDARD STREQUAL 11 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.0) + IF (CMAKE_CXX_EXTENSIONS) + SET(KOKKOS_CXX_STANDARD_FLAG "${_std}=${_ext}c++11" PARENT_SCOPE) + ELSE() + SET(KOKKOS_CXX_STANDARD_FLAG "${_std}=c++11" PARENT_SCOPE) + ENDIF() + ELSE() + MESSAGE(FATAL_ERROR "Intel compiler version too low - need 13.0 for C++11 and 15.0 for C++14") + ENDIF() + +ENDFUNCTION() + diff --git a/lib/kokkos/cmake/kokkos_arch.cmake b/lib/kokkos/cmake/kokkos_arch.cmake new file mode 100644 index 0000000000000000000000000000000000000000..d73a353981812a2643af209cd9945a37626daba1 --- /dev/null +++ b/lib/kokkos/cmake/kokkos_arch.cmake @@ -0,0 +1,456 @@ + +FUNCTION(KOKKOS_ARCH_OPTION SUFFIX DEV_TYPE DESCRIPTION) + #all optimizations off by default + KOKKOS_OPTION(ARCH_${SUFFIX} OFF BOOL "Optimize for ${DESCRIPTION} (${DEV_TYPE})") + IF (KOKKOS_ARCH_${SUFFIX}) + LIST(APPEND KOKKOS_ENABLED_ARCH_LIST ${SUFFIX}) + SET(KOKKOS_ENABLED_ARCH_LIST ${KOKKOS_ENABLED_ARCH_LIST} PARENT_SCOPE) + ENDIF() + SET(KOKKOS_ARCH_${SUFFIX} ${KOKKOS_ARCH_${SUFFIX}} PARENT_SCOPE) +ENDFUNCTION() + + +# Make sure devices and compiler ID are done +KOKKOS_CFG_DEPENDS(ARCH COMPILER_ID) +KOKKOS_CFG_DEPENDS(ARCH DEVICES) +KOKKOS_CFG_DEPENDS(ARCH OPTIONS) + + +#------------------------------------------------------------------------------- +# List of possible host architectures. +#------------------------------------------------------------------------------- +SET(KOKKOS_ARCH_LIST) + + +KOKKOS_DEPRECATED_LIST(ARCH ARCH) +KOKKOS_ARCH_OPTION(AMDAVX HOST "AMD chip") +KOKKOS_ARCH_OPTION(ARMV80 HOST "ARMv8.0 Compatible CPU") +KOKKOS_ARCH_OPTION(ARMV81 HOST "ARMv8.1 Compatible CPU") +KOKKOS_ARCH_OPTION(ARMV8_THUNDERX HOST "ARMv8 Cavium ThunderX CPU") +KOKKOS_ARCH_OPTION(ARMV8_THUNDERX2 HOST "ARMv8 Cavium ThunderX2 CPU") +KOKKOS_ARCH_OPTION(WSM HOST "Intel Westmere CPU") +KOKKOS_ARCH_OPTION(SNB HOST "Intel Sandy/Ivy Bridge CPUs") +KOKKOS_ARCH_OPTION(HSW HOST "Intel Haswell CPUs") +KOKKOS_ARCH_OPTION(BDW HOST "Intel Broadwell Xeon E-class CPUs") +KOKKOS_ARCH_OPTION(SKX HOST "Intel Sky Lake Xeon E-class HPC CPUs (AVX512)") +KOKKOS_ARCH_OPTION(KNC HOST "Intel Knights Corner Xeon Phi") +KOKKOS_ARCH_OPTION(KNL HOST "Intel Knights Landing Xeon Phi") +KOKKOS_ARCH_OPTION(BGQ HOST "IBM Blue Gene Q") +KOKKOS_ARCH_OPTION(POWER7 HOST "IBM POWER7 CPUs") +KOKKOS_ARCH_OPTION(POWER8 HOST "IBM POWER8 CPUs") +KOKKOS_ARCH_OPTION(POWER9 HOST "IBM POWER9 CPUs") +KOKKOS_ARCH_OPTION(KEPLER30 GPU "NVIDIA Kepler generation CC 3.0") +KOKKOS_ARCH_OPTION(KEPLER32 GPU "NVIDIA Kepler generation CC 3.2") +KOKKOS_ARCH_OPTION(KEPLER35 GPU "NVIDIA Kepler generation CC 3.5") +KOKKOS_ARCH_OPTION(KEPLER37 GPU "NVIDIA Kepler generation CC 3.7") +KOKKOS_ARCH_OPTION(MAXWELL50 GPU "NVIDIA Maxwell generation CC 5.0") +KOKKOS_ARCH_OPTION(MAXWELL52 GPU "NVIDIA Maxwell generation CC 5.2") +KOKKOS_ARCH_OPTION(MAXWELL53 GPU "NVIDIA Maxwell generation CC 5.3") +KOKKOS_ARCH_OPTION(PASCAL60 GPU "NVIDIA Pascal generation CC 6.0") +KOKKOS_ARCH_OPTION(PASCAL61 GPU "NVIDIA Pascal generation CC 6.1") +KOKKOS_ARCH_OPTION(VOLTA70 GPU "NVIDIA Volta generation CC 7.0") +KOKKOS_ARCH_OPTION(VOLTA72 GPU "NVIDIA Volta generation CC 7.2") +KOKKOS_ARCH_OPTION(TURING75 GPU "NVIDIA Turing generation CC 7.5") +KOKKOS_ARCH_OPTION(EPYC HOST "AMD Epyc architecture") +KOKKOS_ARCH_OPTION(VEGA900 GPU "AMD GPU MI25 GFX900") +KOKKOS_ARCH_OPTION(VEGA906 GPU "AMD GPU MI50/MI60 GFX906") + +IF (KOKKOS_ENABLE_CUDA) + #Regardless of version, make sure we define the general architecture name + IF (KOKKOS_ARCH_KEPLER30 OR KOKKOS_ARCH_KEPLER32 OR KOKKOS_ARCH_KEPLER35 OR KOKKOS_ARCH_KEPLER37) + SET(KOKKOS_ARCH_KEPLER ON) + ENDIF() + + #Regardless of version, make sure we define the general architecture name + IF (KOKKOS_ARCH_MAXWELL50 OR KOKKOS_ARCH_MAXWELL52 OR KOKKOS_ARCH_MAXWELL53) + SET(KOKKOS_ARCH_MAXWELL ON) + ENDIF() + + #Regardless of version, make sure we define the general architecture name + IF (KOKKOS_ARCH_PASCAL60 OR KOKKOS_ARCH_PASCAL61) + SET(KOKKOS_ARCH_PASCAL ON) + ENDIF() + + #Regardless of version, make sure we define the general architecture name + IF (KOKKOS_ARCH_VOLTA70 OR KOKKOS_ARCH_VOLTA72) + SET(KOKKOS_ARCH_VOLTA ON) + ENDIF() +ENDIF() + + + +IF(KOKKOS_ENABLE_COMPILER_WARNINGS) + SET(COMMON_WARNINGS + "-Wall" "-Wunused-parameter" "-Wshadow" "-pedantic" + "-Wsign-compare" "-Wtype-limits" "-Wuninitialized") + + SET(GNU_WARNINGS "-Wempty-body" "-Wclobbered" "-Wignored-qualifiers" + ${COMMON_WARNINGS}) + + COMPILER_SPECIFIC_FLAGS( + PGI NO-VALUE-SPECIFIED + GNU ${GNU_WARNINGS} + DEFAULT ${COMMON_WARNINGS} + ) +ENDIF() + + +#------------------------------- KOKKOS_CUDA_OPTIONS --------------------------- +#clear anything that might be in the cache +GLOBAL_SET(KOKKOS_CUDA_OPTIONS) +# Construct the Makefile options +IF (KOKKOS_ENABLE_CUDA_LAMBDA) + IF(KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) + GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS "-expt-extended-lambda") + ENDIF() +ENDIF() + +IF (KOKKOS_ENABLE_CUDA_CONSTEXPR) + IF(KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) + GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS "-expt-relaxed-constexpr") + ENDIF() +ENDIF() + +IF (KOKKOS_CXX_COMPILER_ID STREQUAL Clang) + SET(CUDA_ARCH_FLAG "--cuda-gpu-arch") + SET(AMDGPU_ARCH_FLAG "--amdgpu-target") + GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS -x cuda) + IF (KOKKOS_ENABLE_CUDA) + SET(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND ON CACHE BOOL "enable CUDA Clang workarounds" FORCE) + ENDIF() +ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) + SET(CUDA_ARCH_FLAG "-arch") +ENDIF() + +IF (KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) + STRING(TOUPPER "${CMAKE_BUILD_TYPE}" _UPPERCASE_CMAKE_BUILD_TYPE) + IF (KOKKOS_ENABLE_DEBUG OR _UPPERCASE_CMAKE_BUILD_TYPE STREQUAL "DEBUG") + GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS -lineinfo) + ENDIF() + UNSET(_UPPERCASE_CMAKE_BUILD_TYPE) + IF (KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0 AND KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 10.0) + GLOBAL_APPEND(KOKKOS_CUDAFE_OPTIONS --diag_suppress=esa_on_defaulted_function_ignored) + ENDIF() +ENDIF() + +IF (KOKKOS_ARCH_ARMV80) + COMPILER_SPECIFIC_FLAGS( + Cray NO-VALUE-SPECIFIED + PGI NO-VALUE-SPECIFIED + DEFAULT -march=armv8-a + ) +ENDIF() + +IF (KOKKOS_ARCH_ARMV81) + COMPILER_SPECIFIC_FLAGS( + Cray NO-VALUE-SPECIFIED + PGI NO-VALUE-SPECIFIED + DEFAULT -march=armv8.1-a + ) +ENDIF() + +IF (KOKKOS_ARCH_ARMV8_THUNDERX) + SET(KOKKOS_ARCH_ARMV80 ON) #Not a cache variable + COMPILER_SPECIFIC_FLAGS( + Cray NO-VALUE-SPECIFIED + PGI NO-VALUE-SPECIFIED + DEFAULT -march=armv8-a -mtune=thunderx + ) +ENDIF() + +IF (KOKKOS_ARCH_ARMV8_THUNDERX2) + SET(KOKKOS_ARCH_ARMV81 ON) #Not a cache variable + COMPILER_SPECIFIC_FLAGS( + Cray NO-VALUE-SPECIFIED + PGI NO-VALUE-SPECIFIED + DEFAULT -mcpu=thunderx2t99 -mtune=thunderx2t99 + ) +ENDIF() + +IF (KOKKOS_ARCH_EPYC) + COMPILER_SPECIFIC_FLAGS( + Intel -mavx2 + DEFAULT -march=znver1 -mtune=znver1 + ) + SET(KOKKOS_ARCH_AMD_EPYC ON) + SET(KOKKOS_ARCH_AMD_AVX2 ON) +ENDIF() + +IF (KOKKOS_ARCH_WSM) + COMPILER_SPECIFIC_FLAGS( + Intel -xSSE4.2 + PGI -tp=nehalem + Cray NO-VALUE-SPECIFIED + DEFAULT -msse4.2 + ) + SET(KOKKOS_ARCH_SSE42 ON) +ENDIF() + +IF (KOKKOS_ARCH_SNB OR KOKKOS_ARCH_AMDAVX) + SET(KOKKOS_ARCH_AVX ON) + COMPILER_SPECIFIC_FLAGS( + Intel -mavx + PGI -tp=sandybridge + Cray NO-VALUE-SPECIFIED + DEFAULT -mavx + ) +ENDIF() + +IF (KOKKOS_ARCH_HSW) + SET(KOKKOS_ARCH_AVX2 ON) + COMPILER_SPECIFIC_FLAGS( + Intel -xCORE-AVX2 + PGI -tp=haswell + Cray NO-VALUE-SPECIFIED + DEFAULT -march=core-avx2 -mtune=core-avx2 + ) +ENDIF() + +IF (KOKKOS_ARCH_BDW) + SET(KOKKOS_ARCH_AVX2 ON) + COMPILER_SPECIFIC_FLAGS( + Intel -xCORE-AVX2 + PGI -tp=haswell + Cray NO-VALUE-SPECIFIED + DEFAULT -march=core-avx2 -mtune=core-avx2 -mrtm + ) +ENDIF() + +IF (KOKKOS_ARCH_EPYC) + SET(KOKKOS_ARCH_AMD_AVX2 ON) + COMPILER_SPECIFIC_FLAGS( + Intel -mvax2 + DEFAULT -march=znver1 -mtune=znver1 + ) +ENDIF() + +IF (KOKKOS_ARCH_KNL) + #avx512-mic + SET(KOKKOS_ARCH_AVX512MIC ON) #not a cache variable + COMPILER_SPECIFIC_FLAGS( + Intel -xMIC-AVX512 + PGI NO-VALUE-SPECIFIED + Cray NO-VALUE-SPECIFIED + DEFAULT -march=knl -mtune=knl + ) +ENDIF() + +IF (KOKKOS_ARCH_KNC) + SET(KOKKOS_USE_ISA_KNC ON) + COMPILER_SPECIFIC_FLAGS( + DEFAULT -mmic + ) +ENDIF() + +IF (KOKKOS_ARCH_SKX) + #avx512-xeon + SET(KOKKOS_ARCH_AVX512XEON ON) + COMPILER_SPECIFIC_FLAGS( + Intel -xCORE-AVX512 + PGI NO-VALUE-SPECIFIED + Cray NO-VALUE-SPECIFIED + DEFAULT -march=skylake-avx512 -mtune=skylake-avx512 -mrtm + ) +ENDIF() + +IF (KOKKOS_ARCH_WSM OR KOKKOS_ARCH_SNB OR KOKKOS_ARCH_HSW OR KOKKOS_ARCH_BDW OR KOKKOS_ARCH_KNL OR KOKKOS_ARCH_SKX OR KOKKOS_ARCH_EPYC) + SET(KOKKOS_USE_ISA_X86_64 ON) +ENDIF() + +IF (KOKKOS_ARCH_BDW OR KOKKOS_ARCH_SKX) + SET(KOKKOS_ENABLE_TM ON) #not a cache variable +ENDIF() + +IF (KOKKOS_ARCH_POWER7) + COMPILER_SPECIFIC_FLAGS( + PGI NO-VALUE-SPECIFIED + DEFAULT -mcpu=power7 -mtune=power7 + ) + SET(KOKKOS_USE_ISA_POWERPCBE ON) +ENDIF() + +IF (KOKKOS_ARCH_POWER8) + COMPILER_SPECIFIC_FLAGS( + PGI NO-VALUE-SPECIFIED + NVIDIA NO-VALUE-SPECIFIED + DEFAULT -mcpu=power8 -mtune=power8 + ) +ENDIF() + +IF (KOKKOS_ARCH_POWER9) + COMPILER_SPECIFIC_FLAGS( + PGI NO-VALUE-SPECIFIED + NVIDIA NO-VALUE-SPECIFIED + DEFAULT -mcpu=power9 -mtune=power9 + ) +ENDIF() + +IF (KOKKOS_ARCH_POWER8 OR KOKKOS_ARCH_POWER9) + SET(KOKKOS_USE_ISA_POWERPCLE ON) +ENDIF() + +IF (Kokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE) + COMPILER_SPECIFIC_FLAGS( + Clang -fcuda-rdc + NVIDIA --relocatable-device-code=true + ) +ENDIF() + +#Right now we cannot get the compiler ID when cross-compiling, so just check +#that HIP is enabled +IF (Kokkos_ENABLE_HIP) + IF (Kokkos_ENABLE_HIP_RELOCATABLE_DEVICE_CODE) + COMPILER_SPECIFIC_FLAGS( + DEFAULT -fgpu-rdc + ) + ELSE() + COMPILER_SPECIFIC_FLAGS( + DEFAULT -fno-gpu-rdc + ) + ENDIF() +ENDIF() + + +SET(CUDA_ARCH_ALREADY_SPECIFIED "") +FUNCTION(CHECK_CUDA_ARCH ARCH FLAG) + IF(KOKKOS_ARCH_${ARCH}) + IF(CUDA_ARCH_ALREADY_SPECIFIED) + MESSAGE(FATAL_ERROR "Multiple GPU architectures given! Already have ${CUDA_ARCH_ALREADY_SPECIFIED}, but trying to add ${ARCH}. If you are re-running CMake, try clearing the cache and running again.") + ENDIF() + SET(CUDA_ARCH_ALREADY_SPECIFIED ${ARCH} PARENT_SCOPE) + IF (NOT KOKKOS_ENABLE_CUDA AND NOT KOKKOS_ENABLE_OPENMPTARGET) + MESSAGE(WARNING "Given CUDA arch ${ARCH}, but Kokkos_ENABLE_CUDA and Kokkos_ENABLE_OPENMPTARGET are OFF. Option will be ignored.") + UNSET(KOKKOS_ARCH_${ARCH} PARENT_SCOPE) + ELSE() + SET(KOKKOS_CUDA_ARCH_FLAG ${FLAG} PARENT_SCOPE) + GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS "${CUDA_ARCH_FLAG}=${FLAG}") + IF(KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE) + GLOBAL_APPEND(KOKKOS_LINK_OPTIONS "${CUDA_ARCH_FLAG}=${FLAG}") + ENDIF() + ENDIF() + ENDIF() +ENDFUNCTION() + + +#These will define KOKKOS_CUDA_ARCH_FLAG +#to the corresponding flag name if ON +CHECK_CUDA_ARCH(KEPLER30 sm_30) +CHECK_CUDA_ARCH(KEPLER32 sm_32) +CHECK_CUDA_ARCH(KEPLER35 sm_35) +CHECK_CUDA_ARCH(KEPLER37 sm_37) +CHECK_CUDA_ARCH(MAXWELL50 sm_50) +CHECK_CUDA_ARCH(MAXWELL52 sm_52) +CHECK_CUDA_ARCH(MAXWELL53 sm_53) +CHECK_CUDA_ARCH(PASCAL60 sm_60) +CHECK_CUDA_ARCH(PASCAL61 sm_61) +CHECK_CUDA_ARCH(VOLTA70 sm_70) +CHECK_CUDA_ARCH(VOLTA72 sm_72) +CHECK_CUDA_ARCH(TURING75 sm_75) + +SET(AMDGPU_ARCH_ALREADY_SPECIFIED "") +FUNCTION(CHECK_AMDGPU_ARCH ARCH FLAG) + IF(KOKKOS_ARCH_${ARCH}) + IF(AMDGPU_ARCH_ALREADY_SPECIFIED) + MESSAGE(FATAL_ERROR "Multiple GPU architectures given! Already have ${AMDGPU_ARCH_ALREADY_SPECIFIED}, but trying to add ${ARCH}. If you are re-running CMake, try clearing the cache and running again.") + ENDIF() + SET(AMDGPU_ARCH_ALREADY_SPECIFIED ${ARCH} PARENT_SCOPE) + IF (NOT KOKKOS_ENABLE_HIP AND NOT KOKKOS_ENABLE_OPENMPTARGET) + MESSAGE(WARNING "Given HIP arch ${ARCH}, but Kokkos_ENABLE_AMDGPU and Kokkos_ENABLE_OPENMPTARGET are OFF. Option will be ignored.") + UNSET(KOKKOS_ARCH_${ARCH} PARENT_SCOPE) + ELSE() + SET(KOKKOS_AMDGPU_ARCH_FLAG ${FLAG} PARENT_SCOPE) + GLOBAL_APPEND(KOKKOS_AMDGPU_OPTIONS "${AMDGPU_ARCH_FLAG}=${FLAG}") + IF(KOKKOS_ENABLE_HIP) + GLOBAL_APPEND(KOKKOS_LINK_OPTIONS "${AMDGPU_ARCH_FLAG}=${FLAG}") + ENDIF() + ENDIF() + ENDIF() +ENDFUNCTION() + +#These will define KOKKOS_AMDGPU_ARCH_FLAG +#to the corresponding flag name if ON +CHECK_AMDGPU_ARCH(VEGA900 gfx900) # Radeon Instinct MI25 +CHECK_AMDGPU_ARCH(VEGA906 gfx906) # Radeon Instinct MI50 and MI60 + +IF (KOKKOS_ENABLE_OPENMPTARGET) + SET(CLANG_CUDA_ARCH ${KOKKOS_CUDA_ARCH_FLAG}) + IF (CLANG_CUDA_ARCH) + COMPILER_SPECIFIC_FLAGS( + Clang -Xopenmp-target -march=${CLANG_CUDA_ARCH} -fopenmp-targets=nvptx64-nvidia-cuda + XL -qtgtarch=${KOKKOS_CUDA_ARCH_FLAG} + ) + ENDIF() + SET(CLANG_AMDGPU_ARCH ${KOKKOS_AMDGPU_ARCH_FLAG}) + IF (CLANG_AMDGPU_ARCH) + COMPILER_SPECIFIC_FLAGS( + Clang -Xopenmp-target=amdgcn-amd-amdhsa -march=${CLANG_AMDGPU_ARCH} -fopenmp-targets=amdgcn-amd-amdhsa + ) + ENDIF() +ENDIF() + +IF(KOKKOS_ENABLE_CUDA AND NOT CUDA_ARCH_ALREADY_SPECIFIED) + MESSAGE(SEND_ERROR "CUDA enabled but no NVIDIA GPU architecture currently enabled. Please give one -DKokkos_ARCH_{..}=ON' to enable an NVIDIA GPU architecture.") +ENDIF() + +#CMake verbose is kind of pointless +#Let's just always print things +MESSAGE(STATUS "Execution Spaces:") + +FOREACH (_BACKEND CUDA OPENMPTARGET HIP) + IF(KOKKOS_ENABLE_${_BACKEND}) + IF(_DEVICE_PARALLEL) + MESSAGE(FATAL_ERROR "Multiple device parallel execution spaces are not allowed! " + "Trying to enable execution space ${_BACKEND}, " + "but execution space ${_DEVICE_PARALLEL} is already enabled. " + "Remove the CMakeCache.txt file and re-configure.") + ENDIF() + SET(_DEVICE_PARALLEL ${_BACKEND}) + ENDIF() +ENDFOREACH() +IF(NOT _DEVICE_PARALLEL) + SET(_DEVICE_PARALLEL "NONE") +ENDIF() +MESSAGE(STATUS " Device Parallel: ${_DEVICE_PARALLEL}") +UNSET(_DEVICE_PARALLEL) + + +FOREACH (_BACKEND OPENMP PTHREAD HPX) + IF(KOKKOS_ENABLE_${_BACKEND}) + IF(_HOST_PARALLEL) + MESSAGE(FATAL_ERROR "Multiple host parallel execution spaces are not allowed! " + "Trying to enable execution space ${_BACKEND}, " + "but execution space ${_HOST_PARALLEL} is already enabled. " + "Remove the CMakeCache.txt file and re-configure.") + ENDIF() + SET(_HOST_PARALLEL ${_BACKEND}) + ENDIF() +ENDFOREACH() + +IF(NOT _HOST_PARALLEL AND NOT KOKKOS_ENABLE_SERIAL) + MESSAGE(FATAL_ERROR "At least one host execution space must be enabled, " + "but no host parallel execution space was requested " + "and Kokkos_ENABLE_SERIAL=OFF.") +ENDIF() + +IF(NOT _HOST_PARALLEL) + SET(_HOST_PARALLEL "NONE") +ENDIF() +MESSAGE(STATUS " Host Parallel: ${_HOST_PARALLEL}") +UNSET(_HOST_PARALLEL) + +IF(KOKKOS_ENABLE_PTHREAD) + SET(KOKKOS_ENABLE_THREADS ON) +ENDIF() + +IF(KOKKOS_ENABLE_SERIAL) + MESSAGE(STATUS " Host Serial: SERIAL") +ELSE() + MESSAGE(STATUS " Host Serial: NONE") +ENDIF() + +MESSAGE(STATUS "") +MESSAGE(STATUS "Architectures:") +FOREACH(Arch ${KOKKOS_ENABLED_ARCH_LIST}) + MESSAGE(STATUS " ${Arch}") +ENDFOREACH() + diff --git a/lib/kokkos/cmake/kokkos_build.cmake b/lib/kokkos/cmake/kokkos_build.cmake deleted file mode 100644 index f9b995baae4f9b319adb0dbe7527f301de8d3a9e..0000000000000000000000000000000000000000 --- a/lib/kokkos/cmake/kokkos_build.cmake +++ /dev/null @@ -1,261 +0,0 @@ -############################ Detect if submodule ############################### -# -# With thanks to StackOverflow: -# http://stackoverflow.com/questions/25199677/how-to-detect-if-current-scope-has-a-parent-in-cmake -# -get_directory_property(HAS_PARENT PARENT_DIRECTORY) -if(HAS_PARENT) - message(STATUS "Submodule build") - SET(KOKKOS_HEADER_DIR "include/kokkos") -else() - message(STATUS "Standalone build") - SET(KOKKOS_HEADER_DIR "include") -endif() - -################################ Handle the actual build ####################### - -SET(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries") -SET(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables") -SET(INSTALL_INCLUDE_DIR ${KOKKOS_HEADER_DIR} CACHE PATH - "Installation directory for header files") -IF(WIN32 AND NOT CYGWIN) - SET(DEF_INSTALL_CMAKE_DIR CMake) -ELSE() - SET(DEF_INSTALL_CMAKE_DIR lib/CMake/Kokkos) -ENDIF() - -SET(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH - "Installation directory for CMake files") - -# Make relative paths absolute (needed later on) -FOREACH(p LIB BIN INCLUDE CMAKE) - SET(var INSTALL_${p}_DIR) - IF(NOT IS_ABSOLUTE "${${var}}") - SET(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") - ENDIF() -ENDFOREACH() - -# set up include-directories -SET (Kokkos_INCLUDE_DIRS - ${Kokkos_SOURCE_DIR}/core/src - ${Kokkos_SOURCE_DIR}/containers/src - ${Kokkos_SOURCE_DIR}/algorithms/src - ${Kokkos_BINARY_DIR} # to find KokkosCore_config.h - ${KOKKOS_INCLUDE_DIRS} -) - -# pass include dirs back to parent scope -if(HAS_PARENT) -SET(Kokkos_INCLUDE_DIRS_RET ${Kokkos_INCLUDE_DIRS} PARENT_SCOPE) -else() -SET(Kokkos_INCLUDE_DIRS_RET ${Kokkos_INCLUDE_DIRS}) -endif() - -INCLUDE_DIRECTORIES(${Kokkos_INCLUDE_DIRS}) - -IF(KOKKOS_SEPARATE_LIBS) - # Sources come from makefile-generated kokkos_generated_settings.cmake file - # Separate libs need to separate the sources - set_kokkos_srcs(KOKKOS_SRC ${KOKKOS_SRC}) - - # kokkoscore - ADD_LIBRARY( - kokkoscore - ${KOKKOS_CORE_SRCS} - ) - - target_compile_options( - kokkoscore - PUBLIC $<$:${KOKKOS_CXX_FLAGS}> - ) - - target_include_directories( - kokkoscore - PUBLIC - ${KOKKOS_TPL_INCLUDE_DIRS} - ) - - foreach(lib IN LISTS KOKKOS_TPL_LIBRARY_NAMES) - if (("${lib}" STREQUAL "cuda") AND (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")) - set(LIB_cuda "-lcuda") - elseif ("${lib}" STREQUAL "hpx") - find_package(HPX REQUIRED) - if(${HPX_FOUND}) - target_link_libraries(kokkoscore PUBLIC ${HPX_LIBRARIES}) - target_link_libraries(kokkoscontainers PUBLIC ${HPX_LIBRARIES}) - target_link_libraries(kokkosalgorithms PUBLIC ${HPX_LIBRARIES}) - target_include_directories(kokkoscore PUBLIC ${HPX_INCLUDE_DIRS}) - target_include_directories(kokkoscontainers PUBLIC ${HPX_INCLUDE_DIRS}) - target_include_directories(kokkosalgorithms PUBLIC ${HPX_INCLUDE_DIRS}) - else() - message(ERROR "HPX not found. Check the value of HPX_DIR (= ${HPX_DIR}) or CMAKE_PREFIX_PATH (= ${CMAKE_PREFIX_PATH}).") - endif() - else() - find_library(LIB_${lib} ${lib} PATHS ${KOKKOS_TPL_LIBRARY_DIRS}) - endif() - target_link_libraries(kokkoscore PUBLIC ${LIB_${lib}}) - endforeach() - - target_link_libraries(kokkoscore PUBLIC "${KOKKOS_LINK_FLAGS}") - - # Install the kokkoscore library - INSTALL (TARGETS kokkoscore - EXPORT KokkosTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin - ) - - # kokkoscontainers - if (DEFINED KOKKOS_CONTAINERS_SRCS) - ADD_LIBRARY( - kokkoscontainers - ${KOKKOS_CONTAINERS_SRCS} - ) - endif() - - TARGET_LINK_LIBRARIES( - kokkoscontainers - kokkoscore - ) - - # Install the kokkocontainers library - INSTALL (TARGETS kokkoscontainers - EXPORT KokkosTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) - - # kokkosalgorithms - Build as interface library since no source files. - ADD_LIBRARY( - kokkosalgorithms - INTERFACE - ) - - target_include_directories( - kokkosalgorithms - INTERFACE ${Kokkos_SOURCE_DIR}/algorithms/src - ) - - TARGET_LINK_LIBRARIES( - kokkosalgorithms - INTERFACE kokkoscore - ) - - # Install the kokkoalgorithms library - INSTALL (TARGETS kokkosalgorithms - ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) - - SET (Kokkos_LIBRARIES_NAMES kokkoscore kokkoscontainers kokkosalgorithms) - -ELSE() - # kokkos - ADD_LIBRARY( - kokkos - ${KOKKOS_CORE_SRCS} - ${KOKKOS_CONTAINERS_SRCS} - ) - - target_compile_options( - kokkos - PUBLIC $<$:${KOKKOS_CXX_FLAGS}> - ) - - target_include_directories( - kokkos - PUBLIC - ${KOKKOS_TPL_INCLUDE_DIRS} - ) - - foreach(lib IN LISTS KOKKOS_TPL_LIBRARY_NAMES) - if (("${lib}" STREQUAL "cuda") AND (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")) - set(LIB_cuda "-lcuda") - elseif ("${lib}" STREQUAL "hpx") - find_package(HPX REQUIRED) - if(${HPX_FOUND}) - target_link_libraries(kokkos PUBLIC ${HPX_LIBRARIES}) - target_include_directories(kokkos PUBLIC ${HPX_INCLUDE_DIRS}) - else() - message(ERROR "HPX not found. Check the value of HPX_DIR (= ${HPX_DIR}) or CMAKE_PREFIX_PATH (= ${CMAKE_PREFIX_PATH}).") - endif() - else() - find_library(LIB_${lib} ${lib} PATHS ${KOKKOS_TPL_LIBRARY_DIRS}) - endif() - target_link_libraries(kokkos PUBLIC ${LIB_${lib}}) - endforeach() - - target_link_libraries(kokkos PUBLIC "${KOKKOS_LINK_FLAGS}") - - # Install the kokkos library - INSTALL (TARGETS kokkos - EXPORT KokkosTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib - RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) - - - SET (Kokkos_LIBRARIES_NAMES kokkos) - -endif() # KOKKOS_SEPARATE_LIBS - -# Install the kokkos headers -INSTALL (DIRECTORY - EXPORT KokkosTargets - ${Kokkos_SOURCE_DIR}/core/src/ - DESTINATION ${KOKKOS_HEADER_DIR} - FILES_MATCHING PATTERN "*.hpp" -) -INSTALL (DIRECTORY - EXPORT KokkosTargets - ${Kokkos_SOURCE_DIR}/containers/src/ - DESTINATION ${KOKKOS_HEADER_DIR} - FILES_MATCHING PATTERN "*.hpp" -) -INSTALL (DIRECTORY - EXPORT KokkosTargets - ${Kokkos_SOURCE_DIR}/algorithms/src/ - DESTINATION ${KOKKOS_HEADER_DIR} - FILES_MATCHING PATTERN "*.hpp" -) - -INSTALL (FILES - ${Kokkos_BINARY_DIR}/KokkosCore_config.h - DESTINATION ${KOKKOS_HEADER_DIR} -) - -# Add all targets to the build-tree export set -export(TARGETS ${Kokkos_LIBRARIES_NAMES} - FILE "${Kokkos_BINARY_DIR}/KokkosTargets.cmake") - -# Export the package for use from the build-tree -# (this registers the build-tree with a global CMake-registry) -export(PACKAGE Kokkos) - -# Create the KokkosConfig.cmake and KokkosConfigVersion files -file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}" - "${INSTALL_INCLUDE_DIR}") -# ... for the build tree -set(CONF_INCLUDE_DIRS "${Kokkos_SOURCE_DIR}" "${Kokkos_BINARY_DIR}") -configure_file(${Kokkos_SOURCE_DIR}/cmake/KokkosConfig.cmake.in - "${Kokkos_BINARY_DIR}/KokkosConfig.cmake" @ONLY) -# ... for the install tree -set(CONF_INCLUDE_DIRS "\${Kokkos_CMAKE_DIR}/${REL_INCLUDE_DIR}") -configure_file(${Kokkos_SOURCE_DIR}/cmake/KokkosConfig.cmake.in - "${Kokkos_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/KokkosConfig.cmake" @ONLY) - -# Install the KokkosConfig.cmake and KokkosConfigVersion.cmake -install(FILES - "${Kokkos_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/KokkosConfig.cmake" - DESTINATION "${INSTALL_CMAKE_DIR}") - -#This seems not to do anything? -#message(STATUS "KokkosTargets: " ${KokkosTargets}) -# Install the export set for use with the install-tree -INSTALL(EXPORT KokkosTargets DESTINATION - "${INSTALL_CMAKE_DIR}") - -# build and install pkgconfig file -CONFIGURE_FILE(core/src/kokkos.pc.in kokkos.pc @ONLY) -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/kokkos.pc DESTINATION lib/pkgconfig) diff --git a/lib/kokkos/cmake/kokkos_check_env.cmake b/lib/kokkos/cmake/kokkos_check_env.cmake new file mode 100644 index 0000000000000000000000000000000000000000..a455a403b9d5ed0fa3772d2d8e619347061bd65e --- /dev/null +++ b/lib/kokkos/cmake/kokkos_check_env.cmake @@ -0,0 +1,12 @@ +SET(CRAYPE_VERSION $ENV{CRAYPE_VERSION}) +IF (CRAYPE_VERSION) + SET(KOKKOS_IS_CRAYPE TRUE) + SET(CRAYPE_LINK_TYPE $ENV{CRAYPE_LINK_TYPE}) + IF (CRAYPE_LINK_TYPE) + IF (NOT CRAYPE_LINK_TYPE STREQUAL "dynamic") + MESSAGE(WARNING "CRAYPE_LINK_TYPE is set to ${CRAYPE_LINK_TYPE}. Linking is likely to fail unless this is set to 'dynamic'") + ENDIF() + ELSE() + MESSAGE(WARNING "CRAYPE_LINK_TYPE is not set. Linking is likely to fail unless this is set to 'dynamic'") + ENDIF() +ENDIF() diff --git a/lib/kokkos/cmake/kokkos_compiler_id.cmake b/lib/kokkos/cmake/kokkos_compiler_id.cmake new file mode 100644 index 0000000000000000000000000000000000000000..cd5e7c9e4e40217ffcfb1c6f64710cfe6f34a584 --- /dev/null +++ b/lib/kokkos/cmake/kokkos_compiler_id.cmake @@ -0,0 +1,96 @@ +KOKKOS_CFG_DEPENDS(COMPILER_ID NONE) + +SET(KOKKOS_CXX_COMPILER ${CMAKE_CXX_COMPILER}) +SET(KOKKOS_CXX_COMPILER_ID ${CMAKE_CXX_COMPILER_ID}) +SET(KOKKOS_CXX_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION}) + +# Check if the compiler is nvcc (which really means nvcc_wrapper). +EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version + COMMAND grep nvcc + COMMAND wc -l + OUTPUT_VARIABLE INTERNAL_HAVE_COMPILER_NVCC + OUTPUT_STRIP_TRAILING_WHITESPACE) + + +STRING(REGEX REPLACE "^ +" "" + INTERNAL_HAVE_COMPILER_NVCC "${INTERNAL_HAVE_COMPILER_NVCC}") + + +IF(INTERNAL_HAVE_COMPILER_NVCC) + # SET the compiler id to nvcc. We use the value used by CMake 3.8. + SET(KOKKOS_CXX_COMPILER_ID NVIDIA CACHE STRING INTERNAL FORCE) + + # SET nvcc's compiler version. + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version + COMMAND grep release + OUTPUT_VARIABLE INTERNAL_CXX_COMPILER_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + + STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+$" + TEMP_CXX_COMPILER_VERSION ${INTERNAL_CXX_COMPILER_VERSION}) + SET(KOKKOS_CXX_COMPILER_VERSION ${TEMP_CXX_COMPILER_VERSION} CACHE STRING INTERNAL FORCE) +ENDIF() + + +IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) + # The Cray compiler reports as Clang to most versions of CMake + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version + COMMAND grep Cray + COMMAND wc -l + OUTPUT_VARIABLE INTERNAL_HAVE_CRAY_COMPILER + OUTPUT_STRIP_TRAILING_WHITESPACE) + IF (INTERNAL_HAVE_CRAY_COMPILER) #not actually Clang + SET(KOKKOS_CLANG_IS_CRAY TRUE) + ENDIF() +ENDIF() + +IF(KOKKOS_CXX_COMPILER_ID STREQUAL Cray OR KOKKOS_CLANG_IS_CRAY) + # SET Cray's compiler version. + EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version + OUTPUT_VARIABLE INTERNAL_CXX_COMPILER_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE) + + STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" + TEMP_CXX_COMPILER_VERSION ${INTERNAL_CXX_COMPILER_VERSION}) + IF (KOKKOS_CLANG_IS_CRAY) + SET(KOKKOS_CLANG_CRAY_COMPILER_VERSION ${TEMP_CXX_COMPILER_VERSION}) + ELSE() + SET(KOKKOS_CXX_COMPILER_VERSION ${TEMP_CXX_COMPILER_VERSION} CACHE STRING INTERNAL FORCE) + ENDIF() +ENDIF() + +# Enforce the minimum compilers supported by Kokkos. +SET(KOKKOS_MESSAGE_TEXT "Compiler not supported by Kokkos. Required compiler versions:") +SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang 3.5.2 or higher") +SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n GCC 4.8.4 or higher") +SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Intel 15.0.2 or higher") +SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n NVCC 9.0.69 or higher") +SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n PGI 17.1 or higher\n") + +IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) + IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 3.5.2) + MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") + ENDIF() +ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL GNU) + IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 4.8.4) + MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") + ENDIF() +ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL Intel) + IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 15.0.2) + MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") + ENDIF() +ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) + IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 9.0.69) + MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") + ENDIF() + SET(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Kokkos turns off CXX extensions" FORCE) +ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL PGI) + IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 17.1) + MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") + ENDIF() +ENDIF() + +STRING(REPLACE "." ";" VERSION_LIST ${KOKKOS_CXX_COMPILER_VERSION}) +LIST(GET VERSION_LIST 0 KOKKOS_COMPILER_VERSION_MAJOR) +LIST(GET VERSION_LIST 1 KOKKOS_COMPILER_VERSION_MINOR) +LIST(GET VERSION_LIST 2 KOKKOS_COMPILER_VERSION_PATCH) diff --git a/lib/kokkos/cmake/kokkos_corner_cases.cmake b/lib/kokkos/cmake/kokkos_corner_cases.cmake new file mode 100644 index 0000000000000000000000000000000000000000..e30be3c841ec7913feb41c0545160c6eb48cb704 --- /dev/null +++ b/lib/kokkos/cmake/kokkos_corner_cases.cmake @@ -0,0 +1,59 @@ +IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang AND KOKKOS_ENABLE_OPENMP AND NOT KOKKOS_CLANG_IS_CRAY) + # The clang "version" doesn't actually tell you what runtimes and tools + # were built into Clang. We should therefore make sure that libomp + # was actually built into Clang. Otherwise the user will get nonsensical + # errors when they try to build. + + #Try compile is the height of CMake nonsense + #I can't just give it compiler and link flags + #I have to hackily pretend that compiler flags are compiler definitions + #and that linker flags are libraries + #also - this is easier to use than CMakeCheckCXXSourceCompiles + TRY_COMPILE(CLANG_HAS_OMP + ${KOKKOS_TOP_BUILD_DIR}/corner_cases + ${KOKKOS_SOURCE_DIR}/cmake/compile_tests/clang_omp.cpp + COMPILE_DEFINITIONS -fopenmp=libomp + LINK_LIBRARIES -fopenmp=libomp + ) + IF (NOT CLANG_HAS_OMP) + UNSET(CLANG_HAS_OMP CACHE) #make sure CMake always re-runs this + MESSAGE(FATAL_ERROR "Clang failed OpenMP check. You have requested -DKokkos_ENABLE_OPENMP=ON, but the Clang compiler does not appear to have been built with OpenMP support") + ENDIF() + UNSET(CLANG_HAS_OMP CACHE) #make sure CMake always re-runs this +ENDIF() + +IF(KOKKOS_CXX_COMPILER_ID STREQUAL AppleClang AND KOKKOS_ENABLE_OPENMP) + # The clang "version" doesn't actually tell you what runtimes and tools + # were built into Clang. We should therefore make sure that libomp + # was actually built into Clang. Otherwise the user will get nonsensical + # errors when they try to build. + + #Try compile is the height of CMake nonsense + #I can't just give it compiler and link flags + #I have to hackily pretend that compiler flags are compiler definitions + #and that linker flags are libraries + #also - this is easier to use than CMakeCheckCXXSourceCompiles + TRY_COMPILE(APPLECLANG_HAS_OMP + ${KOKKOS_TOP_BUILD_DIR}/corner_cases + ${KOKKOS_SOURCE_DIR}/cmake/compile_tests/clang_omp.cpp + COMPILE_DEFINITIONS -Xpreprocessor -fopenmp + LINK_LIBRARIES -lomp + ) + IF (NOT APPLECLANG_HAS_OMP) + UNSET(APPLECLANG_HAS_OMP CACHE) #make sure CMake always re-runs this + MESSAGE(FATAL_ERROR "AppleClang failed OpenMP check. You have requested -DKokkos_ENABLE_OPENMP=ON, but the AppleClang compiler does not appear to have been built with OpenMP support") + ENDIF() + UNSET(APPLECLANG_HAS_OMP CACHE) #make sure CMake always re-runs this +ENDIF() + + +IF (KOKKOS_CXX_STANDARD STREQUAL 17) + IF (KOKKOS_CXX_COMPILER_ID STREQUAL GNU AND KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 7) + MESSAGE(FATAL_ERROR "You have requested c++17 support for GCC ${KOKKOS_CXX_COMPILER_VERSION}. Although CMake has allowed this and GCC accepts -std=c++1z/c++17, GCC <= 6 does not properly support *this capture. Please reduce the C++ standard to 14 or upgrade the compiler if you do need 17 support") + ENDIF() + + IF (KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) + MESSAGE(FATAL_ERROR "You have requested c++17 support for NVCC. Please reduce the C++ standard to 14. No versions of NVCC currently support 17.") + ENDIF() +ENDIF() + diff --git a/lib/kokkos/cmake/kokkos_enable_devices.cmake b/lib/kokkos/cmake/kokkos_enable_devices.cmake new file mode 100644 index 0000000000000000000000000000000000000000..7b50cfe458a46c50b06b627a86a70eb36a0c4a5c --- /dev/null +++ b/lib/kokkos/cmake/kokkos_enable_devices.cmake @@ -0,0 +1,98 @@ + +FUNCTION(KOKKOS_DEVICE_OPTION SUFFIX DEFAULT DEV_TYPE DOCSTRING) + KOKKOS_OPTION(ENABLE_${SUFFIX} ${DEFAULT} BOOL ${DOCSTRING}) + STRING(TOUPPER ${SUFFIX} UC_NAME) + IF (KOKKOS_ENABLE_${UC_NAME}) + LIST(APPEND KOKKOS_ENABLED_DEVICES ${SUFFIX}) + #I hate that CMake makes me do this + SET(KOKKOS_ENABLED_DEVICES ${KOKKOS_ENABLED_DEVICES} PARENT_SCOPE) + ENDIF() + SET(KOKKOS_ENABLE_${UC_NAME} ${KOKKOS_ENABLE_${UC_NAME}} PARENT_SCOPE) + IF (KOKKOS_ENABLE_${UC_NAME} AND DEV_TYPE STREQUAL "HOST") + SET(KOKKOS_HAS_HOST ON PARENT_SCOPE) + ENDIF() +ENDFUNCTION() + +KOKKOS_CFG_DEPENDS(DEVICES NONE) + +# Put a check in just in case people are using this option +KOKKOS_DEPRECATED_LIST(DEVICES ENABLE) + + +KOKKOS_DEVICE_OPTION(PTHREAD OFF HOST "Whether to build Pthread backend") +IF (KOKKOS_ENABLE_PTHREAD) + #patch the naming here + SET(KOKKOS_ENABLE_THREADS ON) +ENDIF() + +IF(Trilinos_ENABLE_Kokkos AND Trilinos_ENABLE_OpenMP) + SET(OMP_DEFAULT ON) +ELSE() + SET(OMP_DEFAULT OFF) +ENDIF() +KOKKOS_DEVICE_OPTION(OPENMP ${OMP_DEFAULT} HOST "Whether to build OpenMP backend") +IF(KOKKOS_ENABLE_OPENMP) + SET(ClangOpenMPFlag -fopenmp=libomp) + IF(KOKKOS_CLANG_IS_CRAY) + SET(ClangOpenMPFlag -fopenmp) + ENDIF() + COMPILER_SPECIFIC_FLAGS( + Clang ${ClangOpenMPFlag} + AppleClang -Xpreprocessor -fopenmp + PGI -mp + NVIDIA -Xcompiler -fopenmp + Cray NO-VALUE-SPECIFIED + XL -qsmp=omp + DEFAULT -fopenmp + ) + COMPILER_SPECIFIC_LIBS( + AppleClang -lomp + ) +ENDIF() + +KOKKOS_DEVICE_OPTION(OPENMPTARGET OFF DEVICE "Whether to build the OpenMP target backend") +IF (KOKKOS_ENABLE_OPENMPTARGET) + COMPILER_SPECIFIC_FLAGS( + Clang -fopenmp -fopenmp=libomp + XL -qsmp=omp -qoffload -qnoeh + DEFAULT -fopenmp + ) + COMPILER_SPECIFIC_DEFS( + XL KOKKOS_IBM_XL_OMP45_WORKAROUND + Clang KOKKOS_WORKAROUND_OPENMPTARGET_CLANG + ) +# Are there compilers which identify as Clang and need this library? +# COMPILER_SPECIFIC_LIBS( +# Clang -lopenmptarget +# ) +ENDIF() + +IF(Trilinos_ENABLE_Kokkos AND TPL_ENABLE_CUDA) + SET(CUDA_DEFAULT ON) +ELSE() + SET(CUDA_DEFAULT OFF) +ENDIF() +KOKKOS_DEVICE_OPTION(CUDA ${CUDA_DEFAULT} DEVICE "Whether to build CUDA backend") + +IF (KOKKOS_ENABLE_CUDA) + GLOBAL_SET(KOKKOS_DONT_ALLOW_EXTENSIONS "CUDA enabled") +ENDIF() + +# We want this to default to OFF for cache reasons, but if no +# host space is given, then activate serial +IF (KOKKOS_HAS_TRILINOS) + #However, Trilinos always wants Serial ON + SET(SERIAL_DEFAULT ON) +ELSEIF (KOKKOS_HAS_HOST) + SET(SERIAL_DEFAULT OFF) +ELSE() + SET(SERIAL_DEFAULT ON) + IF (NOT DEFINED Kokkos_ENABLE_SERIAL) + MESSAGE(STATUS "SERIAL backend is being turned on to ensure there is at least one Host space. To change this, you must enable another host execution space and configure with -DKokkos_ENABLE_SERIAL=OFF or change CMakeCache.txt") + ENDIF() +ENDIF() +KOKKOS_DEVICE_OPTION(SERIAL ${SERIAL_DEFAULT} HOST "Whether to build serial backend") + +KOKKOS_DEVICE_OPTION(HPX OFF HOST "Whether to build HPX backend (experimental)") + +KOKKOS_DEVICE_OPTION(HIP OFF DEVICE "Whether to build HIP backend") diff --git a/lib/kokkos/cmake/kokkos_enable_options.cmake b/lib/kokkos/cmake/kokkos_enable_options.cmake new file mode 100644 index 0000000000000000000000000000000000000000..4560c3df8fbfd8901bb350d2d41820263061cfd3 --- /dev/null +++ b/lib/kokkos/cmake/kokkos_enable_options.cmake @@ -0,0 +1,112 @@ +########################## NOTES ############################################### +# List the options for configuring kokkos using CMake method of doing it. +# These options then get mapped onto KOKKOS_SETTINGS environment variable by +# kokkos_settings.cmake. It is separate to allow other packages to override +# these variables (e.g., TriBITS). + +########################## AVAILABLE OPTIONS ################################### +# Use lists for documentation, verification, and programming convenience + + +FUNCTION(KOKKOS_ENABLE_OPTION SUFFIX DEFAULT DOCSTRING) + KOKKOS_OPTION(ENABLE_${SUFFIX} ${DEFAULT} BOOL ${DOCSTRING}) + STRING(TOUPPER ${SUFFIX} UC_NAME) + IF (KOKKOS_ENABLE_${UC_NAME}) + LIST(APPEND KOKKOS_ENABLED_OPTIONS ${UC_NAME}) + #I hate that CMake makes me do this + SET(KOKKOS_ENABLED_OPTIONS ${KOKKOS_ENABLED_OPTIONS} PARENT_SCOPE) + ENDIF() + SET(KOKKOS_ENABLE_${UC_NAME} ${KOKKOS_ENABLE_${UC_NAME}} PARENT_SCOPE) +ENDFUNCTION() + +# Certain defaults will depend on knowing the enabled devices +KOKKOS_CFG_DEPENDS(OPTIONS DEVICES) +KOKKOS_CFG_DEPENDS(OPTIONS COMPILER_ID) + +# Put a check in just in case people are using this option +KOKKOS_DEPRECATED_LIST(OPTIONS ENABLE) + +KOKKOS_ENABLE_OPTION(CUDA_RELOCATABLE_DEVICE_CODE OFF "Whether to enable relocatable device code (RDC) for CUDA") +KOKKOS_ENABLE_OPTION(CUDA_UVM OFF "Whether to use unified memory (UM) for CUDA by default") +KOKKOS_ENABLE_OPTION(CUDA_LDG_INTRINSIC OFF "Whether to use CUDA LDG intrinsics") +KOKKOS_ENABLE_OPTION(HIP_RELOCATABLE_DEVICE_CODE OFF "Whether to enable relocatable device code (RDC) for HIP") +KOKKOS_ENABLE_OPTION(HPX_ASYNC_DISPATCH OFF "Whether HPX supports asynchronous dispatch") +KOKKOS_ENABLE_OPTION(TESTS OFF "Whether to build the unit tests") +KOKKOS_ENABLE_OPTION(EXAMPLES OFF "Whether to build the examples") +STRING(TOUPPER "${CMAKE_BUILD_TYPE}" UPPERCASE_CMAKE_BUILD_TYPE) +IF(UPPERCASE_CMAKE_BUILD_TYPE STREQUAL "DEBUG") + KOKKOS_ENABLE_OPTION(DEBUG ON "Whether to activate extra debug features - may increase compile times") + KOKKOS_ENABLE_OPTION(DEBUG_DUALVIEW_MODIFY_CHECK ON "Debug check on dual views") +ELSE() + KOKKOS_ENABLE_OPTION(DEBUG OFF "Whether to activate extra debug features - may increase compile times") + KOKKOS_ENABLE_OPTION(DEBUG_DUALVIEW_MODIFY_CHECK OFF "Debug check on dual views") +ENDIF() +UNSET(_UPPERCASE_CMAKE_BUILD_TYPE) +KOKKOS_ENABLE_OPTION(LARGE_MEM_TESTS OFF "Whether to perform extra large memory tests") +KOKKOS_ENABLE_OPTION(DEBUG_BOUNDS_CHECK OFF "Whether to use bounds checking - will increase runtime") +KOKKOS_ENABLE_OPTION(COMPILER_WARNINGS OFF "Whether to print all compiler warnings") +KOKKOS_ENABLE_OPTION(PROFILING ON "Whether to create bindings for profiling tools") +KOKKOS_ENABLE_OPTION(PROFILING_LOAD_PRINT OFF "Whether to print information about which profiling tools got loaded") +KOKKOS_ENABLE_OPTION(AGGRESSIVE_VECTORIZATION OFF "Whether to aggressively vectorize loops") +KOKKOS_ENABLE_OPTION(DEPRECATED_CODE OFF "Whether to enable deprecated code") + +IF (KOKKOS_ENABLE_CUDA) + SET(KOKKOS_COMPILER_CUDA_VERSION "${KOKKOS_COMPILER_VERSION_MAJOR}${KOKKOS_COMPILER_VERSION_MINOR}") +ENDIF() + +IF (Trilinos_ENABLE_Kokkos AND TPL_ENABLE_CUDA) + SET(CUDA_LAMBDA_DEFAULT ON) +ELSEIF (KOKKOS_ENABLE_CUDA AND (KOKKOS_CXX_COMPILER_ID STREQUAL Clang)) + SET(CUDA_LAMBDA_DEFAULT ON) +ELSE() + SET(CUDA_LAMBDA_DEFAULT OFF) +ENDIF() +KOKKOS_ENABLE_OPTION(CUDA_LAMBDA ${CUDA_LAMBDA_DEFAULT} "Whether to activate experimental lambda features") +IF (Trilinos_ENABLE_Kokkos) + SET(COMPLEX_ALIGN_DEFAULT OFF) +ELSE() + SET(COMPLEX_ALIGN_DEFAULT ON) +ENDIF() +KOKKOS_ENABLE_OPTION(COMPLEX_ALIGN ${COMPLEX_ALIGN_DEFAULT} "Whether to align Kokkos::complex to 2*alignof(RealType)") + + +IF (KOKKOS_ENABLE_CUDA AND (KOKKOS_CXX_COMPILER_ID STREQUAL Clang)) + SET(CUDA_CONSTEXPR_DEFAULT ON) +ELSE() + SET(CUDA_CONSTEXPR_DEFAULT OFF) +ENDIF() +KOKKOS_ENABLE_OPTION(CUDA_CONSTEXPR ${CUDA_CONSTEXPR_DEFAULT} "Whether to activate experimental relaxed constexpr functions") + +FUNCTION(check_device_specific_options) + CMAKE_PARSE_ARGUMENTS(SOME "" "DEVICE" "OPTIONS" ${ARGN}) + IF(NOT KOKKOS_ENABLE_${SOME_DEVICE}) + FOREACH(OPTION ${SOME_OPTIONS}) + IF(CMAKE_VERSION VERSION_GREATER_EQUAL 3.14) + IF(NOT DEFINED CACHE{Kokkos_ENABLE_${OPTION}} OR NOT DEFINED CACHE{Kokkos_ENABLE_${SOME_DEVICE}}) + MESSAGE(FATAL_ERROR "Internal logic error: option '${OPTION}' or device '${SOME_DEVICE}' not recognized.") + ENDIF() + ENDIF() + IF(KOKKOS_ENABLE_${OPTION}) + MESSAGE(WARNING "Kokkos_ENABLE_${OPTION} is ON but ${SOME_DEVICE} backend is not enabled. Option will be ignored.") + UNSET(KOKKOS_ENABLE_${OPTION} PARENT_SCOPE) + ENDIF() + ENDFOREACH() + ENDIF() +ENDFUNCTION() + +CHECK_DEVICE_SPECIFIC_OPTIONS(DEVICE CUDA OPTIONS CUDA_UVM CUDA_RELOCATABLE_DEVICE_CODE CUDA_LAMBDA CUDA_CONSTEXPR CUDA_LDG_INTRINSIC) +CHECK_DEVICE_SPECIFIC_OPTIONS(DEVICE HIP OPTIONS HIP_RELOCATABLE_DEVICE_CODE) +CHECK_DEVICE_SPECIFIC_OPTIONS(DEVICE HPX OPTIONS HPX_ASYNC_DISPATCH) + +# Needed due to change from deprecated name to new header define name +IF (KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION) + SET(KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION ON) +ENDIF() + +# This is known to occur with Clang 9. We would need to use nvcc as the linker +# http://lists.llvm.org/pipermail/cfe-dev/2018-June/058296.html +# TODO: Through great effort we can use a different linker by hacking +# CMAKE_CXX_LINK_EXECUTABLE in a future release +IF (KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE AND KOKKOS_CXX_COMPILER_ID STREQUAL Clang) + MESSAGE(FATAL_ERROR "Relocatable device code is currently not supported with Clang - must use nvcc_wrapper or turn off RDC") +ENDIF() diff --git a/lib/kokkos/cmake/kokkos_functions.cmake b/lib/kokkos/cmake/kokkos_functions.cmake index 616618753b11544367ead73b725884cbf9affee8..fd04966bafa30e59bd9693f536aeb284dcc220a4 100644 --- a/lib/kokkos/cmake/kokkos_functions.cmake +++ b/lib/kokkos/cmake/kokkos_functions.cmake @@ -1,345 +1,801 @@ ################################### FUNCTIONS ################################## # List of functions -# set_kokkos_cxx_compiler -# set_kokkos_cxx_standard -# set_kokkos_srcs - -#------------------------------------------------------------------------------- -# function(set_kokkos_cxx_compiler) -# Sets the following compiler variables that are analogous to the CMAKE_* -# versions. We add the ability to detect NVCC (really nvcc_wrapper). -# KOKKOS_CXX_COMPILER -# KOKKOS_CXX_COMPILER_ID -# KOKKOS_CXX_COMPILER_VERSION -# -# Inputs: -# KOKKOS_ENABLE_CUDA -# CMAKE_CXX_COMPILER -# CMAKE_CXX_COMPILER_ID -# CMAKE_CXX_COMPILER_VERSION -# -# Also verifies the compiler version meets the minimum required by Kokkos. -function(set_kokkos_cxx_compiler) - # Since CMake doesn't recognize the nvcc compiler until 3.8, we use our own - # version of the CMake variables and detect nvcc ourselves. Initially set to - # the CMake variable values. - set(INTERNAL_CXX_COMPILER ${CMAKE_CXX_COMPILER}) - set(INTERNAL_CXX_COMPILER_ID ${CMAKE_CXX_COMPILER_ID}) - set(INTERNAL_CXX_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION}) - - # Check if the compiler is nvcc (which really means nvcc_wrapper). - execute_process(COMMAND ${INTERNAL_CXX_COMPILER} --version - COMMAND grep nvcc - COMMAND wc -l - OUTPUT_VARIABLE INTERNAL_HAVE_COMPILER_NVCC - OUTPUT_STRIP_TRAILING_WHITESPACE) - - string(REGEX REPLACE "^ +" "" - INTERNAL_HAVE_COMPILER_NVCC ${INTERNAL_HAVE_COMPILER_NVCC}) - - if(INTERNAL_HAVE_COMPILER_NVCC) - # Set the compiler id to nvcc. We use the value used by CMake 3.8. - set(INTERNAL_CXX_COMPILER_ID NVIDIA) - - # Set nvcc's compiler version. - execute_process(COMMAND ${INTERNAL_CXX_COMPILER} --version - COMMAND grep release - OUTPUT_VARIABLE INTERNAL_CXX_COMPILER_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE) - - string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+$" - INTERNAL_CXX_COMPILER_VERSION ${INTERNAL_CXX_COMPILER_VERSION}) - endif() - - # Enforce the minimum compilers supported by Kokkos. - set(KOKKOS_MESSAGE_TEXT "Compiler not supported by Kokkos. Required compiler versions:") - set(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang 3.5.2 or higher") - set(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n GCC 4.8.4 or higher") - set(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Intel 15.0.2 or higher") - set(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n NVCC 7.0.28 or higher") - set(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n PGI 17.1 or higher\n") - - if(INTERNAL_CXX_COMPILER_ID STREQUAL Clang) - if(INTERNAL_CXX_COMPILER_VERSION VERSION_LESS 3.5.2) - message(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") - endif() - elseif(INTERNAL_CXX_COMPILER_ID STREQUAL GNU) - if(INTERNAL_CXX_COMPILER_VERSION VERSION_LESS 4.8.4) - message(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") - endif() - elseif(INTERNAL_CXX_COMPILER_ID STREQUAL Intel) - if(INTERNAL_CXX_COMPILER_VERSION VERSION_LESS 15.0.2) - message(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") - endif() - elseif(INTERNAL_CXX_COMPILER_ID STREQUAL NVIDIA) - if(INTERNAL_CXX_COMPILER_VERSION VERSION_LESS 7.0.28) - message(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") - endif() - elseif(INTERNAL_CXX_COMPILER_ID STREQUAL PGI) - if(INTERNAL_CXX_COMPILER_VERSION VERSION_LESS 17.1) - message(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") - endif() - endif() - - # Enforce that extensions are turned off for nvcc_wrapper. - if(INTERNAL_CXX_COMPILER_ID STREQUAL NVIDIA) - if(DEFINED CMAKE_CXX_EXTENSIONS AND CMAKE_CXX_EXTENSIONS STREQUAL ON) - message(FATAL_ERROR "NVCC doesn't support C++ extensions. Set CMAKE_CXX_EXTENSIONS to OFF in your CMakeLists.txt.") - endif() - endif() - - if(KOKKOS_ENABLE_CUDA) - # Enforce that the compiler can compile CUDA code. - if(INTERNAL_CXX_COMPILER_ID STREQUAL Clang) - if(INTERNAL_CXX_COMPILER_VERSION VERSION_LESS 4.0.0) - message(FATAL_ERROR "Compiling CUDA code directly with Clang requires version 4.0.0 or higher.") - endif() - elseif(NOT INTERNAL_CXX_COMPILER_ID STREQUAL NVIDIA) - message(FATAL_ERROR "Invalid compiler for CUDA. The compiler must be nvcc_wrapper or Clang, but compiler ID was ${INTERNAL_CXX_COMPILER_ID}") - endif() - endif() - - set(KOKKOS_CXX_COMPILER ${INTERNAL_CXX_COMPILER} PARENT_SCOPE) - set(KOKKOS_CXX_COMPILER_ID ${INTERNAL_CXX_COMPILER_ID} PARENT_SCOPE) - set(KOKKOS_CXX_COMPILER_VERSION ${INTERNAL_CXX_COMPILER_VERSION} PARENT_SCOPE) -endfunction() - -#------------------------------------------------------------------------------- -# function(set_kokkos_cxx_standard) -# Transitively enforces that the appropriate CXX standard compile flags (C++11 -# or above) are added to targets that use the Kokkos library. Compile features -# are used if possible. Otherwise, the appropriate flags are added to -# KOKKOS_CXX_FLAGS. Values set by the user to CMAKE_CXX_STANDARD and -# CMAKE_CXX_EXTENSIONS are honored. -# -# Outputs: -# KOKKOS_CXX11_FEATURES -# KOKKOS_CXX_FLAGS -# -# Inputs: -# KOKKOS_CXX_COMPILER -# KOKKOS_CXX_COMPILER_ID -# KOKKOS_CXX_COMPILER_VERSION -# -function(set_kokkos_cxx_standard) - # The following table lists the versions of CMake that supports CXX_STANDARD - # and the CXX compile features for different compilers. The versions are - # based on CMake documentation, looking at CMake code, and verifying by - # testing with specific CMake versions. - # - # COMPILER CXX_STANDARD Compile Features - # --------------------------------------------------------------- - # Clang 3.1 3.1 - # GNU 3.1 3.2 - # AppleClang 3.2 3.2 - # Intel 3.6 3.6 - # Cray No No - # PGI No No - # XL No No - # - # For compiling CUDA code using nvcc_wrapper, we will use the host compiler's - # flags for turning on C++11. Since for compiler ID and versioning purposes - # CMake recognizes the host compiler when calling nvcc_wrapper, this just - # works. Both NVCC and nvcc_wrapper only recognize '-std=c++11' which means - # that we can only use host compilers for CUDA builds that use those flags. - # It also means that extensions (gnu++11) can't be turned on for CUDA builds. - - # Check if we can use compile features. - if(NOT KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) - if(CMAKE_CXX_COMPILER_ID STREQUAL Clang) - if(NOT CMAKE_VERSION VERSION_LESS 3.1) - set(INTERNAL_USE_COMPILE_FEATURES ON) - endif() - elseif(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang OR CMAKE_CXX_COMPILER_ID STREQUAL GNU) - if(NOT CMAKE_VERSION VERSION_LESS 3.2) - set(INTERNAL_USE_COMPILE_FEATURES ON) - endif() - elseif(CMAKE_CXX_COMPILER_ID STREQUAL Intel) - if(NOT CMAKE_VERSION VERSION_LESS 3.6) - set(INTERNAL_USE_COMPILE_FEATURES ON) - endif() - endif() - endif() - - if(INTERNAL_USE_COMPILE_FEATURES) - # Use the compile features aspect of CMake to transitively cause C++ flags - # to populate to user code. - - # I'm using a hack by requiring features that I know force the lowest version - # of the compilers we want to support. Clang 3.3 and later support all of - # the C++11 standard. With CMake 3.8 and higher, we could switch to using - # cxx_std_11. - set(KOKKOS_CXX11_FEATURES - cxx_nonstatic_member_init # Forces GCC 4.7 or later and Intel 14.0 or later. - PARENT_SCOPE - ) - else() - # CXX compile features are not yet implemented for this combination of - # compiler and version of CMake. - - if(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang) - # Versions of CMAKE before 3.2 don't support CXX_STANDARD or C++ compile - # features for the AppleClang compiler. Set compiler flags transitively - # here such that they trickle down to a call to target_compile_options(). - - # The following two blocks of code were copied from - # /Modules/Compiler/AppleClang-CXX.cmake from CMake 3.7.2 and then - # modified. - if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0) - set(INTERNAL_CXX11_STANDARD_COMPILE_OPTION "-std=c++11") - set(INTERNAL_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11") - endif() - - if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.1) - set(INTERNAL_CXX14_STANDARD_COMPILE_OPTION "-std=c++14") - set(INTERNAL_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++14") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1) - # AppleClang 5.0 knows this flag, but does not set a __cplusplus macro - # greater than 201103L. - set(INTERNAL_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y") - set(INTERNAL_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y") - endif() - elseif(CMAKE_CXX_COMPILER_ID STREQUAL Intel) - # Versions of CMAKE before 3.6 don't support CXX_STANDARD or C++ compile - # features for the Intel compiler. Set compiler flags transitively here - # such that they trickle down to a call to target_compile_options(). - - # The following three blocks of code were copied from - # /Modules/Compiler/Intel-CXX.cmake from CMake 3.7.2 and then modified. - if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") - set(_std -Qstd) - set(_ext c++) - else() - set(_std -std) - set(_ext gnu++) - endif() - - if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0.2) - set(INTERNAL_CXX14_STANDARD_COMPILE_OPTION "${_std}=c++14") - # TODO: There is no gnu++14 value supported; figure out what to do. - set(INTERNAL_CXX14_EXTENSION_COMPILE_OPTION "${_std}=c++14") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0.0) - set(INTERNAL_CXX14_STANDARD_COMPILE_OPTION "${_std}=c++1y") - # TODO: There is no gnu++14 value supported; figure out what to do. - set(INTERNAL_CXX14_EXTENSION_COMPILE_OPTION "${_std}=c++1y") - endif() - - if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.0) - set(INTERNAL_CXX11_STANDARD_COMPILE_OPTION "${_std}=c++11") - set(INTERNAL_CXX11_EXTENSION_COMPILE_OPTION "${_std}=${_ext}11") - elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 12.1) - set(INTERNAL_CXX11_STANDARD_COMPILE_OPTION "${_std}=c++0x") - set(INTERNAL_CXX11_EXTENSION_COMPILE_OPTION "${_std}=${_ext}0x") - endif() - elseif(CMAKE_CXX_COMPILER_ID STREQUAL Cray) - # CMAKE doesn't support CXX_STANDARD or C++ compile features for the Cray - # compiler. Set compiler options transitively here such that they trickle - # down to a call to target_compile_options(). - set(INTERNAL_CXX11_STANDARD_COMPILE_OPTION "-hstd=c++11") - set(INTERNAL_CXX11_EXTENSION_COMPILE_OPTION "-hstd=c++11") - set(INTERNAL_CXX14_STANDARD_COMPILE_OPTION "-hstd=c++11") - set(INTERNAL_CXX14_EXTENSION_COMPILE_OPTION "-hstd=c++11") - elseif(CMAKE_CXX_COMPILER_ID STREQUAL PGI) - # CMAKE doesn't support CXX_STANDARD or C++ compile features for the PGI - # compiler. Set compiler options transitively here such that they trickle - # down to a call to target_compile_options(). - set(INTERNAL_CXX11_STANDARD_COMPILE_OPTION "--c++11") - set(INTERNAL_CXX11_EXTENSION_COMPILE_OPTION "--c++11") - set(INTERNAL_CXX14_STANDARD_COMPILE_OPTION "--c++11") - set(INTERNAL_CXX14_EXTENSION_COMPILE_OPTION "--c++11") - elseif(CMAKE_CXX_COMPILER_ID STREQUAL XL) - # CMAKE doesn't support CXX_STANDARD or C++ compile features for the XL - # compiler. Set compiler options transitively here such that they trickle - # down to a call to target_compile_options(). - set(INTERNAL_CXX11_STANDARD_COMPILE_OPTION "-std=c++11") - set(INTERNAL_CXX11_EXTENSION_COMPILE_OPTION "-std=c++11") - set(INTERNAL_CXX14_STANDARD_COMPILE_OPTION "-std=c++11") - set(INTERNAL_CXX14_EXTENSION_COMPILE_OPTION "-std=c++11") - else() - # Assume GNU. CMAKE_CXX_STANDARD is handled correctly by CMake 3.1 and - # above for this compiler. If the user explicitly requests a C++ - # standard, CMake takes care of it. If not, transitively require C++11. - if(NOT CMAKE_CXX_STANDARD) - set(INTERNAL_CXX11_STANDARD_COMPILE_OPTION ${CMAKE_CXX11_STANDARD_COMPILE_OPTION}) - set(INTERNAL_CXX11_EXTENSION_COMPILE_OPTION ${CMAKE_CXX11_EXTENSION_COMPILE_OPTION}) - endif() - endif() - - # Set the C++ standard info for Kokkos respecting user set values for - # CMAKE_CXX_STANDARD and CMAKE_CXX_EXTENSIONS. - # Only use cxx extension if explicitly requested - if(CMAKE_CXX_STANDARD EQUAL 14) - if(DEFINED CMAKE_CXX_EXTENSIONS AND CMAKE_CXX_EXTENSIONS STREQUAL ON) - set(INTERNAL_CXX_FLAGS ${INTERNAL_CXX14_EXTENSION_COMPILE_OPTION}) - else() - set(INTERNAL_CXX_FLAGS ${INTERNAL_CXX14_STANDARD_COMPILE_OPTION}) - endif() - elseif(CMAKE_CXX_STANDARD EQUAL 11) - if(DEFINED CMAKE_CXX_EXTENSIONS AND CMAKE_CXX_EXTENSIONS STREQUAL ON) - set(INTERNAL_CXX_FLAGS ${INTERNAL_CXX11_EXTENSION_COMPILE_OPTION}) - else() - set(INTERNAL_CXX_FLAGS ${INTERNAL_CXX11_STANDARD_COMPILE_OPTION}) - endif() - else() - # The user didn't explicitly request a standard, transitively require - # C++11 respecting CMAKE_CXX_EXTENSIONS. - if(DEFINED CMAKE_CXX_EXTENSIONS AND CMAKE_CXX_EXTENSIONS STREQUAL ON) - set(INTERNAL_CXX_FLAGS ${INTERNAL_CXX11_EXTENSION_COMPILE_OPTION}) - else() - set(INTERNAL_CXX_FLAGS ${INTERNAL_CXX11_STANDARD_COMPILE_OPTION}) - endif() - endif() - - set(KOKKOS_CXX_FLAGS ${INTERNAL_CXX_FLAGS} PARENT_SCOPE) - endif() -endfunction() - - -#------------------------------------------------------------------------------- -# function(set_kokkos_sources) -# Takes a list of sources for kokkos (e.g., KOKKOS_SRC from Makefile.kokkos and -# put it into kokkos_generated_settings.cmake) and sorts the files into the subpackages or -# separate_libraries. This is core and containers (algorithms is pure header -# files). -# -# Inputs: -# KOKKOS_SRC -# -# Outputs: -# KOKKOS_CORE_SRCS -# KOKKOS_CONTAINERS_SRCS -# -function(set_kokkos_srcs) - set(opts ) # no-value args - set(oneValArgs ) - set(multValArgs KOKKOS_SRC) # e.g., lists - cmake_parse_arguments(IN "${opts}" "${oneValArgs}" "${multValArgs}" ${ARGN}) - - foreach(sfile ${IN_KOKKOS_SRC}) - string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" stripfile "${sfile}") - string(REPLACE "/" ";" striplist "${stripfile}") - list(GET striplist 0 firstdir) - if(${firstdir} STREQUAL "core") - list(APPEND KOKKOS_CORE_SRCS ${sfile}) - else() - list(APPEND KOKKOS_CONTAINERS_SRCS ${sfile}) - endif() - endforeach() - set(KOKKOS_CORE_SRCS ${KOKKOS_CORE_SRCS} PARENT_SCOPE) - set(KOKKOS_CONTAINERS_SRCS ${KOKKOS_CONTAINERS_SRCS} PARENT_SCOPE) - return() -endfunction() - -# Setting a default value if it is not already set -macro(set_kokkos_default_default VARIABLE DEFAULT) - IF( "${KOKKOS_INTERNAL_ENABLE_${VARIABLE}_DEFAULT}" STREQUAL "" ) - IF( "${KOKKOS_ENABLE_${VARIABLE}}" STREQUAL "" ) - set(KOKKOS_INTERNAL_ENABLE_${VARIABLE}_DEFAULT ${DEFAULT}) - # MESSAGE(WARNING "Set: KOKKOS_INTERNAL_ENABLE_${VARIABLE}_DEFAULT to ${KOKKOS_INTERNAL_ENABLE_${VARIABLE}_DEFAULT}") +# kokkos_option + +# Validate options are given with correct case and define an internal +# upper-case version for use within + +# +# +# @FUNCTION: kokkos_deprecated_list +# +# Function that checks if a deprecated list option like Kokkos_ARCH was given. +# This prints an error and prevents configure from completing. +# It attempts to print a helpful message about updating the options for the new CMake. +# Kokkos_${SUFFIX} is the name of the option (like Kokkos_ARCH) being checked. +# Kokkos_${PREFIX}_X is the name of new option to be defined from a list X,Y,Z,... +FUNCTION(kokkos_deprecated_list SUFFIX PREFIX) + SET(CAMEL_NAME Kokkos_${SUFFIX}) + STRING(TOUPPER ${CAMEL_NAME} UC_NAME) + + #I don't love doing it this way but better to be safe + FOREACH(opt ${KOKKOS_GIVEN_VARIABLES}) + STRING(TOUPPER ${opt} OPT_UC) + IF ("${OPT_UC}" STREQUAL "${UC_NAME}") + STRING(REPLACE "," ";" optlist "${${opt}}") + SET(ERROR_MSG "Given deprecated option list ${opt}. This must now be given as separate -D options, which assuming you spelled options correctly would be:") + FOREACH(entry ${optlist}) + STRING(TOUPPER ${entry} ENTRY_UC) + STRING(APPEND ERROR_MSG "\n -DKokkos_${PREFIX}_${ENTRY_UC}=ON") + ENDFOREACH() + STRING(APPEND ERROR_MSG "\nRemove CMakeCache.txt and re-run. For a list of valid options, refer to BUILD.md or even look at CMakeCache.txt (before deleting it).") + IF (KOKKOS_HAS_TRILINOS) + MESSAGE(WARNING ${ERROR_MSG}) + FOREACH(entry ${optlist}) + STRING(TOUPPER ${entry} ENTRY_UC) + SET(${CAMEL_NAME}_${ENTRY_UC} ON CACHE BOOL "Deprecated Trilinos translation") + ENDFOREACH() + UNSET(${opt} CACHE) + ELSE() + MESSAGE(SEND_ERROR ${ERROR_MSG}) + ENDIF() + ENDIF() + ENDFOREACH() +ENDFUNCTION() + +FUNCTION(kokkos_option CAMEL_SUFFIX DEFAULT TYPE DOCSTRING) + SET(CAMEL_NAME Kokkos_${CAMEL_SUFFIX}) + STRING(TOUPPER ${CAMEL_NAME} UC_NAME) + + # Make sure this appears in the cache with the appropriate DOCSTRING + SET(${CAMEL_NAME} ${DEFAULT} CACHE ${TYPE} ${DOCSTRING}) + + #I don't love doing it this way because it's N^2 in number options, but cest la vie + FOREACH(opt ${KOKKOS_GIVEN_VARIABLES}) + STRING(TOUPPER ${opt} OPT_UC) + IF ("${OPT_UC}" STREQUAL "${UC_NAME}") + IF (NOT "${opt}" STREQUAL "${CAMEL_NAME}") + IF (KOKKOS_HAS_TRILINOS) + #Allow this for now if Trilinos... we need to bootstrap our way to integration + MESSAGE(WARNING "Deprecated option ${opt} found - please change spelling to ${CAMEL_NAME}") + SET(${CAMEL_NAME} "${${opt}}" CACHE ${TYPE} ${DOCSTRING} FORCE) + UNSET(${opt} CACHE) + ELSE() + MESSAGE(FATAL_ERROR "Matching option found for ${CAMEL_NAME} with the wrong case ${opt}. Please delete your CMakeCache.txt and change option to -D${CAMEL_NAME}=${${opt}}. This is now enforced to avoid hard-to-debug CMake cache inconsistencies.") + ENDIF() + ENDIF() + ENDIF() + ENDFOREACH() + + #okay, great, we passed the validation test - use the default + IF (DEFINED ${CAMEL_NAME}) + SET(${UC_NAME} ${${CAMEL_NAME}} PARENT_SCOPE) + ELSE() + SET(${UC_NAME} ${DEFAULT} PARENT_SCOPE) + ENDIF() + +ENDFUNCTION() + +FUNCTION(kokkos_append_config_line LINE) + GLOBAL_APPEND(KOKKOS_TPL_EXPORTS "${LINE}") +ENDFUNCTION() + +MACRO(kokkos_export_cmake_tpl NAME) + #CMake TPLs are located with a call to find_package + #find_package locates XConfig.cmake files through + #X_DIR or X_ROOT variables set prior to calling find_package + + #If Kokkos was configured to find the TPL through a _DIR variable + #make sure thar DIR variable is available to downstream packages + IF (DEFINED ${NAME}_DIR) + #The downstream project may override the TPL location that Kokkos used + #Check if the downstream project chose its own TPL location + #If not, make the Kokkos found location available + KOKKOS_APPEND_CONFIG_LINE("IF(NOT DEFINED ${NAME}_DIR)") + KOKKOS_APPEND_CONFIG_LINE(" SET(${NAME}_DIR ${${NAME}_DIR})") + KOKKOS_APPEND_CONFIG_LINE("ENDIF()") + ENDIF() + + IF (DEFINED ${NAME}_ROOT) + #The downstream project may override the TPL location that Kokkos used + #Check if the downstream project chose its own TPL location + #If not, make the Kokkos found location available + KOKKOS_APPEND_CONFIG_LINE("IF(NOT DEFINED ${NAME}_ROOT)") + KOKKOS_APPEND_CONFIG_LINE(" SET(${NAME}_ROOT ${${NAME}_ROOT})") + KOKKOS_APPEND_CONFIG_LINE("ENDIF()") + ENDIF() + KOKKOS_APPEND_CONFIG_LINE("FIND_DEPENDENCY(${NAME})") +ENDMACRO() + +MACRO(kokkos_export_imported_tpl NAME) + IF (NOT KOKKOS_HAS_TRILINOS) + GET_TARGET_PROPERTY(LIB_TYPE ${NAME} TYPE) + IF (${LIB_TYPE} STREQUAL "INTERFACE_LIBRARY") + # This is not an imported target + # This an interface library that we created + INSTALL( + TARGETS ${NAME} + EXPORT KokkosTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) ELSE() - set(KOKKOS_INTERNAL_ENABLE_${VARIABLE}_DEFAULT ${KOKKOS_ENABLE_${VARIABLE}}) - # MESSAGE(WARNING "Set: KOKKOS_INTERNAL_ENABLE_${VARIABLE}_DEFAULT to ${KOKKOS_INTERNAL_ENABLE_${VARIABLE}_DEFAULT}") + #make sure this also gets "exported" in the config file + KOKKOS_APPEND_CONFIG_LINE("IF(NOT TARGET ${NAME})") + KOKKOS_APPEND_CONFIG_LINE("ADD_LIBRARY(${NAME} UNKNOWN IMPORTED)") + KOKKOS_APPEND_CONFIG_LINE("SET_TARGET_PROPERTIES(${NAME} PROPERTIES") + + GET_TARGET_PROPERTY(TPL_LIBRARY ${NAME} IMPORTED_LOCATION) + IF(TPL_LIBRARY) + KOKKOS_APPEND_CONFIG_LINE("IMPORTED_LOCATION ${TPL_LIBRARY}") + ENDIF() + + GET_TARGET_PROPERTY(TPL_INCLUDES ${NAME} INTERFACE_INCLUDE_DIRECTORIES) + IF(TPL_INCLUDES) + KOKKOS_APPEND_CONFIG_LINE("INTERFACE_INCLUDE_DIRECTORIES ${TPL_INCLUDES}") + ENDIF() + + GET_TARGET_PROPERTY(TPL_COMPILE_OPTIONS ${NAME} INTERFACE_COMPILE_OPTIONS) + IF(TPL_COMPILE_OPTIONS) + KOKKOS_APPEND_CONFIG_LINE("INTERFACE_COMPILE_OPTIONS ${TPL_COMPILE_OPTIONS}") + ENDIF() + + SET(TPL_LINK_OPTIONS) + IF(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13.0") + GET_TARGET_PROPERTY(TPL_LINK_OPTIONS ${NAME} INTERFACE_LINK_OPTIONS) + ENDIF() + IF(TPL_LINK_OPTIONS) + KOKKOS_APPEND_CONFIG_LINE("INTERFACE_LINK_OPTIONS ${TPL_LINK_OPTIONS}") + ENDIF() + + GET_TARGET_PROPERTY(TPL_LINK_LIBRARIES ${NAME} INTERFACE_LINK_LIBRARIES) + IF(TPL_LINK_LIBRARIES) + KOKKOS_APPEND_CONFIG_LINE("INTERFACE_LINK_LIBRARIES ${TPL_LINK_LIBRARIES}") + ENDIF() + KOKKOS_APPEND_CONFIG_LINE(")") + KOKKOS_APPEND_CONFIG_LINE("ENDIF()") ENDIF() ENDIF() - UNSET(KOKKOS_ENABLE_${VARIABLE} CACHE) -endmacro() +ENDMACRO() + + +# +# @MACRO: KOKKOS_IMPORT_TPL() +# +# Function that checks if a third-party library (TPL) has been enabled and calls `find_package` +# to create an imported target encapsulating all the flags and libraries +# needed to use the TPL +# +# Usage:: +# +# KOKKOS_IMPORT_TPL( +# +# NO_EXPORT +# INTERFACE +# +# ``NO_EXPORT`` +# +# If specified, this TPL will not be added to KokkosConfig.cmake as an export +# +# ``INTERFACE`` +# +# If specified, this TPL will build an INTERFACE library rather than an +# IMPORTED target +MACRO(kokkos_import_tpl NAME) + CMAKE_PARSE_ARGUMENTS(TPL + "NO_EXPORT;INTERFACE" + "" + "" + ${ARGN}) + IF (TPL_INTERFACE) + SET(TPL_IMPORTED_NAME ${NAME}) + ELSE() + SET(TPL_IMPORTED_NAME Kokkos::${NAME}) + ENDIF() + + # Even though this policy gets set in the top-level CMakeLists.txt, + # I have still been getting errors about ROOT variables being ignored + # I'm not sure if this is a scope issue - but make sure + # the policy is set before we do any find_package calls + IF(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.12.0") + CMAKE_POLICY(SET CMP0074 NEW) + ENDIF() + + IF (KOKKOS_ENABLE_${NAME}) + #Tack on a TPL here to make sure we avoid using anyone else's find + FIND_PACKAGE(TPL${NAME} REQUIRED MODULE) + IF(NOT TARGET ${TPL_IMPORTED_NAME}) + MESSAGE(FATAL_ERROR "Find module succeeded for ${NAME}, but did not produce valid target ${TPL_IMPORTED_NAME}") + ENDIF() + IF(NOT TPL_NO_EXPORT) + KOKKOS_EXPORT_IMPORTED_TPL(${TPL_IMPORTED_NAME}) + ENDIF() + LIST(APPEND KOKKOS_ENABLED_TPLS ${NAME}) + ENDIF() +ENDMACRO(kokkos_import_tpl) + +MACRO(kokkos_import_cmake_tpl MODULE_NAME) + kokkos_import_tpl(${MODULE_NAME} ${ARGN} NO_EXPORT) + CMAKE_PARSE_ARGUMENTS(TPL + "NO_EXPORT" + "OPTION_NAME" + "" + ${ARGN}) + + IF (NOT TPL_OPTION_NAME) + SET(TPL_OPTION_NAME ${MODULE_NAME}) + ENDIF() + + IF (NOT TPL_NO_EXPORT) + KOKKOS_EXPORT_CMAKE_TPL(${MODULE_NAME}) + ENDIF() +ENDMACRO() + +# +# @MACRO: KOKKOS_CREATE_IMPORTED_TPL() +# +# Function that creates an imported target encapsulating all the flags +# and libraries needed to use the TPL +# +# Usage:: +# +# KOKKOS_CREATE_IMPORTED_TPL( +# +# INTERFACE +# LIBRARY +# LINK_LIBRARIES ... +# COMPILE_OPTIONS ... +# LINK_OPTIONS ... +# +# ``INTERFACE`` +# +# If specified, this TPL will build an INTERFACE library rather than an +# IMPORTED target +# +# ``LIBRARY `` +# +# If specified, this gives the IMPORTED_LOCATION of the library. +# +# ``LINK_LIBRARIES ...`` +# +# If specified, this gives a list of dependent libraries that also +# need to be linked against. Each entry can be a library path or +# the name of a valid CMake target. +# +# ``INCLUDES ...`` +# +# If specified, this gives a list of directories that must be added +# to the include path for using this library. +# +# ``COMPILE_OPTIONS ...`` +# +# If specified, this gives a list of compiler flags that must be used +# for using this library. +# +# ``LINK_OPTIONS ...`` +# +# If specified, this gives a list of linker flags that must be used +# for using this library. +MACRO(kokkos_create_imported_tpl NAME) + CMAKE_PARSE_ARGUMENTS(TPL + "INTERFACE" + "LIBRARY" + "LINK_LIBRARIES;INCLUDES;COMPILE_OPTIONS;LINK_OPTIONS" + ${ARGN}) + + + IF (KOKKOS_HAS_TRILINOS) + #TODO: we need to set a bunch of cache variables here + ELSEIF (TPL_INTERFACE) + ADD_LIBRARY(${NAME} INTERFACE) + #Give this an importy-looking name + ADD_LIBRARY(Kokkos::${NAME} ALIAS ${NAME}) + IF (TPL_LIBRARY) + MESSAGE(SEND_ERROR "TPL Interface library ${NAME} should not have an IMPORTED_LOCATION") + ENDIF() + #Things have to go in quoted in case we have multiple list entries + IF(TPL_LINK_LIBRARIES) + TARGET_LINK_LIBRARIES(${NAME} INTERFACE ${TPL_LINK_LIBRARIES}) + ENDIF() + IF(TPL_INCLUDES) + TARGET_INCLUDE_DIRECTORIES(${NAME} INTERFACE ${TPL_INCLUDES}) + ENDIF() + IF(TPL_COMPILE_OPTIONS) + TARGET_COMPILE_OPTIONS(${NAME} INTERFACE ${TPL_COMPILE_OPTIONS}) + ENDIF() + IF(TPL_LINK_OPTIONS) + TARGET_LINK_LIBRARIES(${NAME} INTERFACE ${TPL_LINK_OPTIONS}) + ENDIF() + ELSE() + ADD_LIBRARY(${NAME} UNKNOWN IMPORTED) + IF(TPL_LIBRARY) + SET_TARGET_PROPERTIES(${NAME} PROPERTIES + IMPORTED_LOCATION ${TPL_LIBRARY}) + ENDIF() + #Things have to go in quoted in case we have multiple list entries + IF(TPL_LINK_LIBRARIES) + SET_TARGET_PROPERTIES(${NAME} PROPERTIES + INTERFACE_LINK_LIBRARIES "${TPL_LINK_LIBRARIES}") + ENDIF() + IF(TPL_INCLUDES) + SET_TARGET_PROPERTIES(${NAME} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${TPL_INCLUDES}") + ENDIF() + IF(TPL_COMPILE_OPTIONS) + SET_TARGET_PROPERTIES(${NAME} PROPERTIES + INTERFACE_COMPILE_OPTIONS "${TPL_COMPILE_OPTIONS}") + ENDIF() + IF(TPL_LINK_OPTIONS) + SET_TARGET_PROPERTIES(${NAME} PROPERTIES + INTERFACE_LINK_LIBRARIES "${TPL_LINK_OPTIONS}") + ENDIF() + ENDIF() +ENDMACRO() + +# +# @MACRO: KOKKOS_FIND_HEADER +# +# Function that finds a particular header. This searches custom paths +# or default system paths depending on options. In constrast to CMake +# default, custom paths are prioritized over system paths. The searched +# order is: +# 1. _ROOT variable +# 2. _ROOT environment variable +# 3. Kokkos__DIR variable +# 4. Locations in the PATHS option +# 5. Default system paths, if allowed. +# +# Default system paths are allowed if none of options (1)-(4) are specified +# or if default paths are specifically allowed via ALLOW_SYSTEM_PATH_FALLBACK +# +# Usage:: +# +# KOKKOS_FIND_HEADER( +# +#
+# +# [ALLOW_SYSTEM_PATH_FALLBACK] +# [PATHS path1 [path2 ...]] +# ) +# +# ```` +# +# The variable to define with the success or failure of the find +# +# ``
`` +# +# The name of the header to find +# +# ```` +# +# The name of the TPL the header corresponds to +# +# ``[ALLOW_SYSTEM_PATH_FALLBACK]`` +# +# If custom paths are given and the header is not found +# should we be allowed to search default system paths +# or error out if not found in given paths +# +# ``[PATHS path1 [path2 ...]]`` +# +# Custom paths to search for the header +# +MACRO(kokkos_find_header VAR_NAME HEADER TPL_NAME) + CMAKE_PARSE_ARGUMENTS(TPL + "ALLOW_SYSTEM_PATH_FALLBACK" + "" + "PATHS" + ${ARGN}) + + SET(${VAR_NAME} "${VARNAME}-NOTFOUND") + SET(HAVE_CUSTOM_PATHS FALSE) + + IF(DEFINED ${TPL_NAME}_ROOT OR + DEFINED ENV{${TPL_NAME}_ROOT} OR + DEFINED KOKKOS_${TPL_NAME}_DIR OR + TPL_PATHS) + FIND_PATH(${VAR_NAME} ${HEADER} + PATHS + ${${TPL_NAME}_ROOT} + $ENV{${TPL_NAME}_ROOT} + ${KOKKOS_${TPL_NAME}_DIR} + ${TPL_PATHS} + PATH_SUFFIXES include + NO_DEFAULT_PATH) + SET(HAVE_CUSTOM_PATHS TRUE) + ENDIF() + + IF(NOT HAVE_CUSTOM_PATHS OR TPL_ALLOW_SYSTEM_PATH_FALLBACK) + #No-op if ${VAR_NAME} set by previous call + FIND_PATH(${VAR_NAME} ${HEADER}) + ENDIF() + +ENDMACRO() + +# +# @MACRO: KOKKOS_FIND_LIBRARY +# +# Function that find a particular library. This searches custom paths +# or default system paths depending on options. In constrast to CMake +# default, custom paths are prioritized over system paths. The search +# order is: +# 1. _ROOT variable +# 2. _ROOT environment variable +# 3. Kokkos__DIR variable +# 4. Locations in the PATHS option +# 5. Default system paths, if allowed. +# +# Default system paths are allowed if none of options (1)-(3) are specified +# or if default paths are specifically allowed via ALLOW_SYSTEM_PATH_FALLBACK +# +# Usage:: +# +# KOKKOS_FIND_LIBRARY( +# +#
+# +# [ALLOW_SYSTEM_PATH_FALLBACK] +# [PATHS path1 [path2 ...]] +# [SUFFIXES suffix1 [suffix2 ...]] +# ) +# +# ```` +# +# The variable to define with the success or failure of the find +# +# ```` +# +# The name of the library to find (NOT prefixed with -l) +# +# ```` +# +# The name of the TPL the library corresponds to +# +# ``ALLOW_SYSTEM_PATH_FALLBACK`` +# +# If custom paths are given and the library is not found +# should we be allowed to search default system paths +# or error out if not found in given paths +# +# ``PATHS`` +# +# Custom paths to search for the library +# +# ``SUFFIXES`` +# +# Suffixes appended to PATHS when attempting to locate +# the library. Defaults to {lib, lib64}. +# +MACRO(kokkos_find_library VAR_NAME LIB TPL_NAME) + CMAKE_PARSE_ARGUMENTS(TPL + "ALLOW_SYSTEM_PATH_FALLBACK" + "" + "PATHS;SUFFIXES" + ${ARGN}) + + IF(NOT TPL_SUFFIXES) + SET(TPL_SUFFIXES lib lib64) + ENDIF() + + SET(${VAR_NAME} "${VARNAME}-NOTFOUND") + SET(HAVE_CUSTOM_PATHS FALSE) + + IF(DEFINED ${TPL_NAME}_ROOT OR + DEFINED ENV{${TPL_NAME}_ROOT} OR + DEFINED KOKKOS_${TPL_NAME}_DIR OR + TPL_PATHS) + FIND_LIBRARY(${VAR_NAME} ${LIB} + PATHS + ${${TPL_NAME}_ROOT} + $ENV{${TPL_NAME}_ROOT} + ${KOKKOS_${TPL_NAME}_DIR} + ${TPL_PATHS} + PATH_SUFFIXES + ${TPL_SUFFIXES} + NO_DEFAULT_PATH) + SET(HAVE_CUSTOM_PATHS TRUE) + ENDIF() + + IF(NOT HAVE_CUSTOM_PATHS OR TPL_ALLOW_SYSTEM_PATH_FALLBACK) + #No-op if ${VAR_NAME} set by previous call + FIND_LIBRARY(${VAR_NAME} ${LIB} PATH_SUFFIXES ${TPL_SUFFIXES}) + ENDIF() + +ENDMACRO() + +# +# @MACRO: KOKKOS_FIND_IMPORTED +# +# Function that finds all libraries and headers needed for the tpl +# and creates an imported target encapsulating all the flags and libraries +# +# Usage:: +# +# KOKKOS_FIND_IMPORTED( +# +# INTERFACE +# ALLOW_SYSTEM_PATH_FALLBACK +# MODULE_NAME +# IMPORTED_NAME +# LIBRARY +# LIBRARIES ... +# LIBRARY_PATHS ... +# LIBRARY_SUFFIXES ... +# HEADER +# HEADERS ... +# HEADER_PATHS ... +# ) +# +# ``INTERFACE`` +# +# If specified, this TPL will build an INTERFACE library rather than an +# IMPORTED target +# +# ``ALLOW_SYSTEM_PATH_FALLBACK`` +# +# If custom paths are given and the library is not found +# should we be allowed to search default system paths +# or error out if not found in given paths. +# +# ``MODULE_NAME `` +# +# If specified, the name of the enclosing module passed to +# FIND_PACKAGE(). Defaults to TPL${NAME} if not +# given. +# +# ``IMPORTED_NAME `` +# +# If specified, this gives the name of the target to build. +# Defaults to Kokkos:: +# +# ``LIBRARY `` +# +# If specified, this gives the name of the library to look for +# +# ``LIBRARIES ...`` +# +# If specified, this gives a list of libraries to find for the package +# +# ``LIBRARY_PATHS ...`` +# +# If specified, this gives a list of paths to search for the library. +# If not given, _ROOT will be searched. +# +# ``LIBRARY_SUFFIXES ...`` +# +# Suffixes appended to LIBRARY_PATHS when attempting to locate +# libraries. If not given, defaults to {lib, lib64}. +# +# ``HEADER `` +# +# If specified, this gives the name of a header to to look for +# +# ``HEADERS ...`` +# +# If specified, this gives a list of headers to find for the package +# +# ``HEADER_PATHS ...`` +# +# If specified, this gives a list of paths to search for the headers +# If not given, _ROOT/include and _ROOT/include will be searched. +# +MACRO(kokkos_find_imported NAME) + CMAKE_PARSE_ARGUMENTS(TPL + "INTERFACE;ALLOW_SYSTEM_PATH_FALLBACK" + "IMPORTED_NAME;MODULE_NAME;LIBRARY;HEADER" + "LIBRARIES;LIBRARY_PATHS;LIBRARY_SUFFIXES;HEADERS;HEADER_PATHS" + ${ARGN}) + + IF(NOT TPL_MODULE_NAME) + SET(TPL_MODULE_NAME TPL${NAME}) + ENDIF() + + IF (TPL_ALLOW_SYSTEM_PATH_FALLBACK) + SET(ALLOW_PATH_FALLBACK_OPT ALLOW_SYSTEM_PATH_FALLBACK) + ELSE() + SET(ALLOW_PATH_FALLBACK_OPT) + ENDIF() + + IF (NOT TPL_IMPORTED_NAME) + IF (TPL_INTERFACE) + SET(TPL_IMPORTED_NAME ${NAME}) + ELSE() + SET(TPL_IMPORTED_NAME Kokkos::${NAME}) + ENDIF() + ENDIF() + + IF (NOT TPL_LIBRARY_SUFFIXES) + SET(TPL_LIBRARY_SUFFIXES lib lib64) + ENDIF() + + SET(${NAME}_INCLUDE_DIRS) + IF (TPL_HEADER) + KOKKOS_FIND_HEADER(${NAME}_INCLUDE_DIRS ${TPL_HEADER} ${NAME} ${ALLOW_PATH_FALLBACK_OPT} PATHS ${TPL_HEADER_PATHS}) + ENDIF() + + FOREACH(HEADER ${TPL_HEADERS}) + KOKKOS_FIND_HEADER(HEADER_FIND_TEMP ${HEADER} ${NAME} ${ALLOW_PATH_FALLBACK_OPT} PATHS ${TPL_HEADER_PATHS}) + IF(HEADER_FIND_TEMP) + LIST(APPEND ${NAME}_INCLUDE_DIRS ${HEADER_FIND_TEMP}) + ENDIF() + ENDFOREACH() + + SET(${NAME}_LIBRARY) + IF(TPL_LIBRARY) + KOKKOS_FIND_LIBRARY(${NAME}_LIBRARY ${TPL_LIBRARY} ${NAME} + ${ALLOW_PATH_FALLBACK_OPT} + PATHS ${TPL_LIBRARY_PATHS} + SUFFIXES ${TPL_LIBRARY_SUFFIXES}) + ENDIF() + + SET(${NAME}_FOUND_LIBRARIES) + FOREACH(LIB ${TPL_LIBRARIES}) + KOKKOS_FIND_LIBRARY(${LIB}_LOCATION ${LIB} ${NAME} + ${ALLOW_PATH_FALLBACK_OPT} + PATHS ${TPL_LIBRARY_PATHS} + SUFFIXES ${TPL_LIBRARY_SUFFIXES}) + IF(${LIB}_LOCATION) + LIST(APPEND ${NAME}_FOUND_LIBRARIES ${${LIB}_LOCATION}) + ELSE() + SET(${NAME}_FOUND_LIBRARIES ${${LIB}_LOCATION}) + BREAK() + ENDIF() + ENDFOREACH() + + INCLUDE(FindPackageHandleStandardArgs) + #Collect all the variables we need to be valid for + #find_package to have succeeded + SET(TPL_VARS_NEEDED) + IF (TPL_LIBRARY) + LIST(APPEND TPL_VARS_NEEDED ${NAME}_LIBRARY) + ENDIF() + IF(TPL_HEADER) + LIST(APPEND TPL_VARS_NEEDED ${NAME}_INCLUDE_DIRS) + ENDIF() + IF(TPL_LIBRARIES) + LIST(APPEND TPL_VARS_NEEDED ${NAME}_FOUND_LIBRARIES) + ENDIF() + FIND_PACKAGE_HANDLE_STANDARD_ARGS(${TPL_MODULE_NAME} REQUIRED_VARS ${TPL_VARS_NEEDED}) + + MARK_AS_ADVANCED(${NAME}_INCLUDE_DIRS ${NAME}_FOUND_LIBRARIES ${NAME}_LIBRARY) + + #this is so much fun on a Cray system + #/usr/include should never be added as a -isystem include + #this freaks out the compiler include search order + IF (KOKKOS_IS_CRAYPE) + LIST(REMOVE_ITEM ${NAME}_INCLUDE_DIRS "/usr/include") + ENDIF() + + IF (${TPL_MODULE_NAME}_FOUND) + SET(IMPORT_TYPE) + IF (TPL_INTERFACE) + SET(IMPORT_TYPE "INTERFACE") + ENDIF() + KOKKOS_CREATE_IMPORTED_TPL(${TPL_IMPORTED_NAME} + ${IMPORT_TYPE} + INCLUDES "${${NAME}_INCLUDE_DIRS}" + LIBRARY "${${NAME}_LIBRARY}" + LINK_LIBRARIES "${${NAME}_FOUND_LIBRARIES}") + ENDIF() +ENDMACRO(kokkos_find_imported) + +# +# @MACRO: KOKKOS_LINK_TPL() +# +# Function that checks if a third-party library (TPL) has been enabled and +# calls target_link_libraries on the given target +# +# Usage:: +# +# KOKKOS_LINK_TPL( +# +# PUBLIC +# PRIVATE +# INTERFACE +# IMPORTED_NAME +# +# +# Checks if Kokkos_ENABLE_=ON and if so links the library +# +# ``PUBLIC/PRIVATE/INTERFACE`` +# +# Specifies the linkage mode. One of these arguments should be given. +# This will then invoke target_link_libraries( PUBLIC/PRIVATE/INTERFACE ) +# +# ``IMPORTED_NAME `` +# +# If specified, this gives the exact name of the target to link against +# target_link_libraries( ) +# +FUNCTION(kokkos_link_tpl TARGET) + CMAKE_PARSE_ARGUMENTS(TPL + "PUBLIC;PRIVATE;INTERFACE" + "IMPORTED_NAME" + "" + ${ARGN}) + #the name of the TPL + SET(TPL ${TPL_UNPARSED_ARGUMENTS}) + IF (KOKKOS_HAS_TRILINOS) + #Do nothing, they will have already been linked + ELSE() + IF (NOT TPL_IMPORTED_NAME) + SET(TPL_IMPORTED_NAME Kokkos::${TPL}) + ENDIF() + IF (KOKKOS_ENABLE_${TPL}) + IF (TPL_PUBLIC) + TARGET_LINK_LIBRARIES(${TARGET} PUBLIC ${TPL_IMPORTED_NAME}) + ELSEIF (TPL_PRIVATE) + TARGET_LINK_LIBRARIES(${TARGET} PRIVATE ${TPL_IMPORTED_NAME}) + ELSEIF (TPL_INTERFACE) + TARGET_LINK_LIBRARIES(${TARGET} INTERFACE ${TPL_IMPORTED_NAME}) + ELSE() + TARGET_LINK_LIBRARIES(${TARGET} ${TPL_IMPORTED_NAME}) + ENDIF() + ENDIF() + ENDIF() +ENDFUNCTION() + +FUNCTION(COMPILER_SPECIFIC_OPTIONS_HELPER) + SET(COMPILERS NVIDIA PGI XL DEFAULT Cray Intel Clang AppleClang GNU) + CMAKE_PARSE_ARGUMENTS( + PARSE + "LINK_OPTIONS;COMPILE_OPTIONS;COMPILE_DEFINITIONS;LINK_LIBRARIES" + "" + "${COMPILERS}" + ${ARGN}) + IF(PARSE_UNPARSED_ARGUMENTS) + MESSAGE(SEND_ERROR "'${PARSE_UNPARSED_ARGUMENTS}' argument(s) not recognized when providing compiler specific options") + ENDIF() + + SET(COMPILER ${KOKKOS_CXX_COMPILER_ID}) + + SET(COMPILER_SPECIFIC_FLAGS_TMP) + FOREACH(COMP ${COMPILERS}) + IF (COMPILER STREQUAL "${COMP}") + IF (PARSE_${COMPILER}) + IF (NOT "${PARSE_${COMPILER}}" STREQUAL "NO-VALUE-SPECIFIED") + SET(COMPILER_SPECIFIC_FLAGS_TMP ${PARSE_${COMPILER}}) + ENDIF() + ELSEIF(PARSE_DEFAULT) + SET(COMPILER_SPECIFIC_FLAGS_TMP ${PARSE_DEFAULT}) + ENDIF() + ENDIF() + ENDFOREACH() + + IF (PARSE_COMPILE_OPTIONS) + # The funky logic here is for future handling of argument deduplication + # If we naively pass multiple -Xcompiler flags to target_compile_options + # -Xcompiler will get deduplicated and break the build + IF ("-Xcompiler" IN_LIST COMPILER_SPECIFIC_FLAGS_TMP) + LIST(REMOVE_ITEM COMPILER_SPECIFIC_FLAGS_TMP "-Xcompiler") + GLOBAL_APPEND(KOKKOS_XCOMPILER_OPTIONS ${COMPILER_SPECIFIC_FLAGS_TMP}) + ELSE() + GLOBAL_APPEND(KOKKOS_COMPILE_OPTIONS ${COMPILER_SPECIFIC_FLAGS_TMP}) + ENDIF() + ENDIF() + + IF (PARSE_LINK_OPTIONS) + GLOBAL_APPEND(KOKKOS_LINK_OPTIONS ${COMPILER_SPECIFIC_FLAGS_TMP}) + ENDIF() + + IF (PARSE_COMPILE_DEFINITIONS) + GLOBAL_APPEND(KOKKOS_COMPILE_DEFINITIONS ${COMPILER_SPECIFIC_FLAGS_TMP}) + ENDIF() + + IF (PARSE_LINK_LIBRARIES) + GLOBAL_APPEND(KOKKOS_LINK_LIBRARIES ${COMPILER_SPECIFIC_FLAGS_TMP}) + ENDIF() +ENDFUNCTION(COMPILER_SPECIFIC_OPTIONS_HELPER) + +FUNCTION(COMPILER_SPECIFIC_FLAGS) + COMPILER_SPECIFIC_OPTIONS_HELPER(${ARGN} COMPILE_OPTIONS LINK_OPTIONS) +ENDFUNCTION(COMPILER_SPECIFIC_FLAGS) + +FUNCTION(COMPILER_SPECIFIC_DEFS) + COMPILER_SPECIFIC_OPTIONS_HELPER(${ARGN} COMPILE_DEFINITIONS) +ENDFUNCTION(COMPILER_SPECIFIC_DEFS) + +FUNCTION(COMPILER_SPECIFIC_LIBS) + COMPILER_SPECIFIC_OPTIONS_HELPER(${ARGN} LINK_LIBRARIES) +ENDFUNCTION(COMPILER_SPECIFIC_LIBS) diff --git a/lib/kokkos/cmake/kokkos_install.cmake b/lib/kokkos/cmake/kokkos_install.cmake new file mode 100644 index 0000000000000000000000000000000000000000..6a39590f036da00f133c0654cf99f0788d7e6075 --- /dev/null +++ b/lib/kokkos/cmake/kokkos_install.cmake @@ -0,0 +1,41 @@ +IF (NOT KOKKOS_HAS_TRILINOS) + INCLUDE(GNUInstallDirs) + + #Set all the variables needed for KokkosConfig.cmake + GET_PROPERTY(KOKKOS_PROP_LIBS GLOBAL PROPERTY KOKKOS_LIBRARIES_NAMES) + SET(KOKKOS_LIBRARIES ${KOKKOS_PROP_LIBS}) + + INCLUDE(CMakePackageConfigHelpers) + CONFIGURE_PACKAGE_CONFIG_FILE( + cmake/KokkosConfig.cmake.in + "${Kokkos_BINARY_DIR}/KokkosConfig.cmake" + INSTALL_DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake) + + INCLUDE(CMakePackageConfigHelpers) + CONFIGURE_PACKAGE_CONFIG_FILE( + cmake/KokkosConfigCommon.cmake.in + "${Kokkos_BINARY_DIR}/KokkosConfigCommon.cmake" + INSTALL_DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cmake) + + WRITE_BASIC_PACKAGE_VERSION_FILE("${Kokkos_BINARY_DIR}/KokkosConfigVersion.cmake" + VERSION "${Kokkos_VERSION}" + COMPATIBILITY SameMajorVersion) + + # Install the KokkosConfig*.cmake files + install(FILES + "${Kokkos_BINARY_DIR}/KokkosConfig.cmake" + "${Kokkos_BINARY_DIR}/KokkosConfigCommon.cmake" + "${Kokkos_BINARY_DIR}/KokkosConfigVersion.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Kokkos) + install(EXPORT KokkosTargets NAMESPACE Kokkos:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Kokkos) +ELSE() + CONFIGURE_FILE(cmake/KokkosConfigCommon.cmake.in ${Kokkos_BINARY_DIR}/KokkosConfigCommon.cmake @ONLY) + file(READ ${Kokkos_BINARY_DIR}/KokkosConfigCommon.cmake KOKKOS_CONFIG_COMMON) + file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/KokkosConfig_install.cmake" "${KOKKOS_CONFIG_COMMON}") + CONFIGURE_FILE(cmake/KokkosTrilinosConfig.cmake.in ${Kokkos_BINARY_DIR}/KokkosTrilinosConfig.cmake @ONLY) + file(READ ${Kokkos_BINARY_DIR}/KokkosTrilinosConfig.cmake KOKKOS_TRILINOS_CONFIG) + file(APPEND "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/KokkosConfig_install.cmake" "${KOKKOS_TRILINOS_CONFIG}") +ENDIF() + +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_config.h DESTINATION ${KOKKOS_HEADER_DIR}) + diff --git a/lib/kokkos/cmake/kokkos_options.cmake b/lib/kokkos/cmake/kokkos_options.cmake deleted file mode 100644 index e730a946645a21f202fe380062beecc14c83f158..0000000000000000000000000000000000000000 --- a/lib/kokkos/cmake/kokkos_options.cmake +++ /dev/null @@ -1,418 +0,0 @@ -########################## NOTES ############################################### -# List the options for configuring kokkos using CMake method of doing it. -# These options then get mapped onto KOKKOS_SETTINGS environment variable by -# kokkos_settings.cmake. It is separate to allow other packages to override -# these variables (e.g., TriBITS). - -########################## AVAILABLE OPTIONS ################################### -# Use lists for documentation, verification, and programming convenience - -# All CMake options of the type KOKKOS_ENABLE_* -set(KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST) -list(APPEND KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST - Serial - OpenMP - Pthread - Qthread - HPX - Cuda - ROCm - HWLOC - MEMKIND - LIBRT - Cuda_Lambda - Cuda_Relocatable_Device_Code - Cuda_UVM - Cuda_LDG_Intrinsic - HPX_ASYNC_DISPATCH - Debug - Debug_DualView_Modify_Check - Debug_Bounds_Check - Compiler_Warnings - Profiling - Profiling_Load_Print - Aggressive_Vectorization - Deprecated_Code - Explicit_Instantiation - ) - -#------------------------------------------------------------------------------- -#------------------------------- Recognize CamelCase Options --------------------------- -#------------------------------------------------------------------------------- - -foreach(opt ${KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST}) - string(TOUPPER ${opt} OPT ) - IF(DEFINED Kokkos_ENABLE_${opt}) - IF(DEFINED KOKKOS_ENABLE_${OPT}) - IF(NOT ("${KOKKOS_ENABLE_${OPT}}" STREQUAL "${Kokkos_ENABLE_${opt}}")) - IF(DEFINED KOKKOS_ENABLE_${OPT}_INTERNAL) - MESSAGE(WARNING "Defined both Kokkos_ENABLE_${opt}=[${Kokkos_ENABLE_${opt}}] and KOKKOS_ENABLE_${OPT}=[${KOKKOS_ENABLE_${OPT}}] and they differ! Could be caused by old CMakeCache Variable. Run CMake again and warning should disappear. If not you are truly setting both variables.") - IF(NOT ("${Kokkos_ENABLE_${opt}}" STREQUAL "${KOKKOS_ENABLE_${OPT}_INTERNAL}")) - UNSET(KOKKOS_ENABLE_${OPT} CACHE) - SET(KOKKOS_ENABLE_${OPT} ${Kokkos_ENABLE_${opt}}) - MESSAGE(WARNING "SET BOTH VARIABLES KOKKOS_ENABLE_${OPT}: ${KOKKOS_ENABLE_${OPT}}") - ELSE() - SET(Kokkos_ENABLE_${opt} ${KOKKOS_ENABLE_${OPT}}) - ENDIF() - ELSE() - MESSAGE(FATAL_ERROR "Defined both Kokkos_ENABLE_${opt}=[${Kokkos_ENABLE_${opt}}] and KOKKOS_ENABLE_${OPT}=[${KOKKOS_ENABLE_${OPT}}] and they differ!") - ENDIF() - ENDIF() - ELSE() - SET(KOKKOS_INTERNAL_ENABLE_${OPT}_DEFAULT ${Kokkos_ENABLE_${opt}}) - ENDIF() - ENDIF() -endforeach() - -IF(DEFINED Kokkos_ARCH) - MESSAGE(FATAL_ERROR "Defined Kokkos_ARCH, use KOKKOS_ARCH instead!") -ENDIF() -IF(DEFINED Kokkos_Arch) - MESSAGE(FATAL_ERROR "Defined Kokkos_Arch, use KOKKOS_ARCH instead!") -ENDIF() - -#------------------------------------------------------------------------------- -# List of possible host architectures. -#------------------------------------------------------------------------------- -set(KOKKOS_ARCH_LIST) -list(APPEND KOKKOS_ARCH_LIST - None # No architecture optimization - AMDAVX # (HOST) AMD chip - ARMv80 # (HOST) ARMv8.0 Compatible CPU - ARMv81 # (HOST) ARMv8.1 Compatible CPU - ARMv8-ThunderX # (HOST) ARMv8 Cavium ThunderX CPU - ARMv8-TX2 # (HOST) ARMv8 Cavium ThunderX2 CPU - WSM # (HOST) Intel Westmere CPU - SNB # (HOST) Intel Sandy/Ivy Bridge CPUs - HSW # (HOST) Intel Haswell CPUs - BDW # (HOST) Intel Broadwell Xeon E-class CPUs - SKX # (HOST) Intel Sky Lake Xeon E-class HPC CPUs (AVX512) - KNC # (HOST) Intel Knights Corner Xeon Phi - KNL # (HOST) Intel Knights Landing Xeon Phi - BGQ # (HOST) IBM Blue Gene Q - Power7 # (HOST) IBM POWER7 CPUs - Power8 # (HOST) IBM POWER8 CPUs - Power9 # (HOST) IBM POWER9 CPUs - Kepler # (GPU) NVIDIA Kepler default (generation CC 3.5) - Kepler30 # (GPU) NVIDIA Kepler generation CC 3.0 - Kepler32 # (GPU) NVIDIA Kepler generation CC 3.2 - Kepler35 # (GPU) NVIDIA Kepler generation CC 3.5 - Kepler37 # (GPU) NVIDIA Kepler generation CC 3.7 - Maxwell # (GPU) NVIDIA Maxwell default (generation CC 5.0) - Maxwell50 # (GPU) NVIDIA Maxwell generation CC 5.0 - Maxwell52 # (GPU) NVIDIA Maxwell generation CC 5.2 - Maxwell53 # (GPU) NVIDIA Maxwell generation CC 5.3 - Pascal60 # (GPU) NVIDIA Pascal generation CC 6.0 - Pascal61 # (GPU) NVIDIA Pascal generation CC 6.1 - Volta70 # (GPU) NVIDIA Volta generation CC 7.0 - Volta72 # (GPU) NVIDIA Volta generation CC 7.2 - Turing75 # (GPU) NVIDIA Turing generation CC 7.5 - ) - -# List of possible device architectures. -# The case and spelling here needs to match Makefile.kokkos -set(KOKKOS_DEVICES_LIST) -# Options: Cuda,ROCm,OpenMP,Pthread,Qthreads,Serial -list(APPEND KOKKOS_DEVICES_LIST - Cuda # NVIDIA GPU -- see below - OpenMP # OpenMP - Pthread # pthread - Qthreads # qthreads - HPX # HPX - Serial # serial - ROCm # Relocatable device code - ) - -# List of possible TPLs for Kokkos -# From Makefile.kokkos: Options: hwloc,librt,experimental_memkind -set(KOKKOS_USE_TPLS_LIST) -if(APPLE) -list(APPEND KOKKOS_USE_TPLS_LIST - HWLOC # hwloc - MEMKIND # experimental_memkind - ) -else() -list(APPEND KOKKOS_USE_TPLS_LIST - HWLOC # hwloc - LIBRT # librt - MEMKIND # experimental_memkind - ) -endif() -# Map of cmake variables to Makefile variables -set(KOKKOS_INTERNAL_HWLOC hwloc) -set(KOKKOS_INTERNAL_LIBRT librt) -set(KOKKOS_INTERNAL_MEMKIND experimental_memkind) - -# List of possible Advanced options -set(KOKKOS_OPTIONS_LIST) -list(APPEND KOKKOS_OPTIONS_LIST - AGGRESSIVE_VECTORIZATION - DISABLE_PROFILING - DISABLE_DUALVIEW_MODIFY_CHECK - ENABLE_PROFILE_LOAD_PRINT - ) -# Map of cmake variables to Makefile variables -set(KOKKOS_INTERNAL_LDG_INTRINSIC use_ldg) -set(KOKKOS_INTERNAL_UVM librt) -set(KOKKOS_INTERNAL_RELOCATABLE_DEVICE_CODE rdc) - - -#------------------------------------------------------------------------------- -# List of possible Options for CUDA -#------------------------------------------------------------------------------- -# From Makefile.kokkos: Options: use_ldg,force_uvm,rdc -set(KOKKOS_CUDA_OPTIONS_LIST) -list(APPEND KOKKOS_CUDA_OPTIONS_LIST - LDG_INTRINSIC # use_ldg - UVM # force_uvm - RELOCATABLE_DEVICE_CODE # rdc - LAMBDA # enable_lambda - ) - -# Map of cmake variables to Makefile variables -set(KOKKOS_INTERNAL_LDG_INTRINSIC use_ldg) -set(KOKKOS_INTERNAL_UVM force_uvm) -set(KOKKOS_INTERNAL_RELOCATABLE_DEVICE_CODE rdc) -set(KOKKOS_INTERNAL_LAMBDA enable_lambda) - - -#------------------------------------------------------------------------------- -# List of possible Options for HPX -#------------------------------------------------------------------------------- -# From Makefile.kokkos: Options: enable_async_dispatch -set(KOKKOS_HPX_OPTIONS_LIST) -list(APPEND KOKKOS_HPX_OPTIONS_LIST - ASYNC_DISPATCH # enable_async_dispatch - ) - -# Map of cmake variables to Makefile variables -set(KOKKOS_INTERNAL_ENABLE_ASYNC_DISPATCH enable_async_dispatch) - - -#------------------------------------------------------------------------------- -#------------------------------- Create doc strings ---------------------------- -#------------------------------------------------------------------------------- - -set(tmpr "\n ") -string(REPLACE ";" ${tmpr} KOKKOS_INTERNAL_ARCH_DOCSTR "${KOKKOS_ARCH_LIST}") -set(KOKKOS_INTERNAL_ARCH_DOCSTR "${tmpr}${KOKKOS_INTERNAL_ARCH_DOCSTR}") -# This would be useful, but we use Foo_ENABLE mechanisms -#string(REPLACE ";" ${tmpr} KOKKOS_INTERNAL_DEVICES_DOCSTR "${KOKKOS_DEVICES_LIST}") -#string(REPLACE ";" ${tmpr} KOKKOS_INTERNAL_USE_TPLS_DOCSTR "${KOKKOS_USE_TPLS_LIST}") -#string(REPLACE ";" ${tmpr} KOKKOS_INTERNAL_CUDA_OPTIONS_DOCSTR "${KOKKOS_CUDA_OPTIONS_LIST}") - -#------------------------------------------------------------------------------- -#------------------------------- GENERAL OPTIONS ------------------------------- -#------------------------------------------------------------------------------- - -# Setting this variable to a value other than "None" can improve host -# performance by turning on architecture specific code. -# NOT SET is used to determine if the option is passed in. It is reset to -# default "None" down below. -set(KOKKOS_ARCH "NOT_SET" CACHE STRING - "Optimize for specific host architecture. Options are: ${KOKKOS_INTERNAL_ARCH_DOCSTR}") - -# Whether to build separate libraries or now -set(KOKKOS_SEPARATE_LIBS OFF CACHE BOOL "OFF = kokkos. ON = kokkoscore, kokkoscontainers, and kokkosalgorithms.") - -# Qthreads options. -set(KOKKOS_QTHREADS_DIR "" CACHE PATH "Location of Qthreads library.") - -# HPX options. -set(KOKKOS_HPX_DIR "" CACHE PATH "Location of HPX library.") - -# Whether to build separate libraries or now -set(KOKKOS_SEPARATE_TESTS OFF CACHE BOOL "Provide unit test targets with finer granularity.") - -#------------------------------------------------------------------------------- -#------------------------------- KOKKOS_DEVICES -------------------------------- -#------------------------------------------------------------------------------- -# Figure out default settings -IF(Trilinos_ENABLE_Kokkos) - set_kokkos_default_default(SERIAL ON) - set_kokkos_default_default(PTHREAD OFF) - IF(TPL_ENABLE_QTHREAD) - set_kokkos_default_default(QTHREADS ${TPL_ENABLE_QTHREAD}) - ELSE() - set_kokkos_default_default(QTHREADS OFF) - ENDIF() - IF(TPL_ENABLE_HPX) - set_kokkos_default_default(HPX ON) - ELSE() - set_kokkos_default_default(HPX OFF) - ENDIF() - IF(Trilinos_ENABLE_OpenMP) - set_kokkos_default_default(OPENMP ${Trilinos_ENABLE_OpenMP}) - ELSE() - set_kokkos_default_default(OPENMP OFF) - ENDIF() - IF(TPL_ENABLE_CUDA) - set_kokkos_default_default(CUDA ${TPL_ENABLE_CUDA}) - ELSE() - set_kokkos_default_default(CUDA OFF) - ENDIF() - set_kokkos_default_default(ROCM OFF) -ELSE() - set_kokkos_default_default(SERIAL ON) - set_kokkos_default_default(OPENMP OFF) - set_kokkos_default_default(PTHREAD OFF) - set_kokkos_default_default(QTHREAD OFF) - set_kokkos_default_default(HPX OFF) - set_kokkos_default_default(CUDA OFF) - set_kokkos_default_default(ROCM OFF) -ENDIF() - -# Set which Kokkos backend to use. -# These are the actual options that define the settings. -set(KOKKOS_ENABLE_SERIAL ${KOKKOS_INTERNAL_ENABLE_SERIAL_DEFAULT} CACHE BOOL "Whether to enable the Kokkos::Serial device. This device executes \"parallel\" kernels sequentially on a single CPU thread. It is enabled by default. If you disable this device, please enable at least one other CPU device, such as Kokkos::OpenMP or Kokkos::Threads.") -set(KOKKOS_ENABLE_OPENMP ${KOKKOS_INTERNAL_ENABLE_OPENMP_DEFAULT} CACHE BOOL "Enable OpenMP support in Kokkos." FORCE) -set(KOKKOS_ENABLE_PTHREAD ${KOKKOS_INTERNAL_ENABLE_PTHREAD_DEFAULT} CACHE BOOL "Enable Pthread support in Kokkos.") -set(KOKKOS_ENABLE_QTHREADS ${KOKKOS_INTERNAL_ENABLE_QTHREADS_DEFAULT} CACHE BOOL "Enable Qthreads support in Kokkos.") -set(KOKKOS_ENABLE_HPX ${KOKKOS_INTERNAL_ENABLE_HPX_DEFAULT} CACHE BOOL "Enable HPX support in Kokkos.") -set(KOKKOS_ENABLE_CUDA ${KOKKOS_INTERNAL_ENABLE_CUDA_DEFAULT} CACHE BOOL "Enable CUDA support in Kokkos.") -set(KOKKOS_ENABLE_ROCM ${KOKKOS_INTERNAL_ENABLE_ROCM_DEFAULT} CACHE BOOL "Enable ROCm support in Kokkos.") - - - -#------------------------------------------------------------------------------- -#------------------------------- KOKKOS DEBUG and PROFILING -------------------- -#------------------------------------------------------------------------------- - -# Debug related options enable compiler warnings - -set_kokkos_default_default(DEBUG OFF) -set(KOKKOS_ENABLE_DEBUG ${KOKKOS_INTERNAL_ENABLE_DEBUG_DEFAULT} CACHE BOOL "Enable Kokkos Debug.") - -# From Makefile.kokkos: Advanced Options: -#compiler_warnings, aggressive_vectorization, disable_profiling, disable_dualview_modify_check, enable_profile_load_print -set_kokkos_default_default(COMPILER_WARNINGS OFF) -set(KOKKOS_ENABLE_COMPILER_WARNINGS ${KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS_DEFAULT} CACHE BOOL "Enable compiler warnings.") - -set_kokkos_default_default(DEBUG_DUALVIEW_MODIFY_CHECK OFF) -set(KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK ${KOKKOS_INTERNAL_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK_DEFAULT} CACHE BOOL "Enable dualview modify check.") - -# Enable aggressive vectorization. -set_kokkos_default_default(AGGRESSIVE_VECTORIZATION OFF) -set(KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION ${KOKKOS_INTERNAL_ENABLE_AGGRESSIVE_VECTORIZATION_DEFAULT} CACHE BOOL "Enable aggressive vectorization.") - -# Enable profiling. -set_kokkos_default_default(PROFILING ON) -set(KOKKOS_ENABLE_PROFILING ${KOKKOS_INTERNAL_ENABLE_PROFILING_DEFAULT} CACHE BOOL "Enable profiling.") - -set_kokkos_default_default(PROFILING_LOAD_PRINT OFF) -set(KOKKOS_ENABLE_PROFILING_LOAD_PRINT ${KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT_DEFAULT} CACHE BOOL "Enable profile load print.") - -set_kokkos_default_default(DEPRECATED_CODE ON) -set(KOKKOS_ENABLE_DEPRECATED_CODE ${KOKKOS_INTERNAL_ENABLE_DEPRECATED_CODE_DEFAULT} CACHE BOOL "Enable deprecated code.") - -set_kokkos_default_default(EXPLICIT_INSTANTIATION OFF) -set(KOKKOS_ENABLE_EXPLICIT_INSTANTIATION ${KOKKOS_INTERNAL_ENABLE_EXPLICIT_INSTANTIATION_DEFAULT} CACHE BOOL "Enable explicit template instantiation.") - -#------------------------------------------------------------------------------- -#------------------------------- KOKKOS_USE_TPLS ------------------------------- -#------------------------------------------------------------------------------- -# Enable hwloc library. -# Figure out default: -IF(Trilinos_ENABLE_Kokkos AND TPL_ENABLE_HWLOC) - set_kokkos_default_default(HWLOC ON) -ELSE() - set_kokkos_default_default(HWLOC OFF) -ENDIF() -set(KOKKOS_ENABLE_HWLOC ${KOKKOS_INTERNAL_ENABLE_HWLOC_DEFAULT} CACHE BOOL "Enable hwloc for better process placement.") -set(KOKKOS_HWLOC_DIR "" CACHE PATH "Location of hwloc library. (kokkos tpl)") - -# Enable memkind library. -set_kokkos_default_default(MEMKIND OFF) -set(KOKKOS_ENABLE_MEMKIND ${KOKKOS_INTERNAL_ENABLE_MEMKIND_DEFAULT} CACHE BOOL "Enable memkind. (kokkos tpl)") -set(KOKKOS_MEMKIND_DIR "" CACHE PATH "Location of memkind library. (kokkos tpl)") - -# Enable rt library. -IF(Trilinos_ENABLE_Kokkos) - IF(DEFINED TPL_ENABLE_LIBRT) - set_kokkos_default_default(LIBRT ${TPL_ENABLE_LIBRT}) - ELSE() - set_kokkos_default_default(LIBRT OFF) - ENDIF() -ELSE() - set_kokkos_default_default(LIBRT ON) -ENDIF() -set(KOKKOS_ENABLE_LIBRT ${KOKKOS_INTERNAL_ENABLE_LIBRT_DEFAULT} CACHE BOOL "Enable librt for more precise timer. (kokkos tpl)") - - -#------------------------------------------------------------------------------- -#------------------------------- KOKKOS_CUDA_OPTIONS --------------------------- -#------------------------------------------------------------------------------- - -# CUDA options. -# Set Defaults -set_kokkos_default_default(CUDA_LDG_INTRINSIC_DEFAULT OFF) -set_kokkos_default_default(CUDA_UVM_DEFAULT OFF) -set_kokkos_default_default(CUDA_RELOCATABLE_DEVICE_CODE OFF) -IF(Trilinos_ENABLE_Kokkos) - IF(KOKKOS_ENABLE_CUDA) - find_package(CUDA) - ENDIF() - IF (DEFINED CUDA_VERSION) - IF (CUDA_VERSION VERSION_GREATER "7.0") - set_kokkos_default_default(CUDA_LAMBDA ON) - ELSE() - set_kokkos_default_default(CUDA_LAMBDA OFF) - ENDIF() - ENDIF() -ELSE() - set_kokkos_default_default(CUDA_LAMBDA OFF) -ENDIF() - -# Set actual options -set(KOKKOS_CUDA_DIR "" CACHE PATH "Location of CUDA library. Defaults to where nvcc installed.") -set(KOKKOS_ENABLE_CUDA_LDG_INTRINSIC ${KOKKOS_INTERNAL_ENABLE_CUDA_LDG_INTRINSIC_DEFAULT} CACHE BOOL "Enable CUDA LDG. (cuda option)") -set(KOKKOS_ENABLE_CUDA_UVM ${KOKKOS_INTERNAL_ENABLE_CUDA_UVM_DEFAULT} CACHE BOOL "Enable CUDA unified virtual memory.") -set(KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE ${KOKKOS_INTERNAL_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE_DEFAULT} CACHE BOOL "Enable relocatable device code for CUDA. (cuda option)") -set(KOKKOS_ENABLE_CUDA_LAMBDA ${KOKKOS_INTERNAL_ENABLE_CUDA_LAMBDA_DEFAULT} CACHE BOOL "Enable lambdas for CUDA. (cuda option)") - - -#------------------------------------------------------------------------------- -#------------------------------- KOKKOS_HPX_OPTIONS ---------------------------- -#------------------------------------------------------------------------------- - -# HPX options. -# Set Defaults -set_kokkos_default_default(HPX_ASYNC_DISPATCH OFF) - -# Set actual options -set(KOKKOS_ENABLE_HPX_ASYNC_DISPATCH ${KOKKOS_INTERNAL_ENABLE_HPX_ASYNC_DISPATCH_DEFAULT} CACHE BOOL "Enable HPX async dispatch.") - - -#------------------------------------------------------------------------------- -#----------------------- HOST ARCH AND LEGACY TRIBITS -------------------------- -#------------------------------------------------------------------------------- - -# This defines the previous legacy TriBITS builds. -set(KOKKOS_LEGACY_TRIBITS False) -IF ("${KOKKOS_ARCH}" STREQUAL "NOT_SET") - set(KOKKOS_ARCH "None") - IF(KOKKOS_HAS_TRILINOS) - set(KOKKOS_LEGACY_TRIBITS True) - ENDIF() -ENDIF() -IF (KOKKOS_HAS_TRILINOS) - IF (KOKKOS_LEGACY_TRIBITS) - message(STATUS "Using the legacy tribits build because KOKKOS_ARCH not set") - ELSE() - message(STATUS "NOT using the legacy tribits build because KOKKOS_ARCH *is* set") - ENDIF() -ENDIF() - -#------------------------------------------------------------------------------- -#----------------------- Set CamelCase Options if they are not yet set --------- -#------------------------------------------------------------------------------- - -foreach(opt ${KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST}) - string(TOUPPER ${opt} OPT ) - UNSET(KOKKOS_ENABLE_${OPT}_INTERNAL CACHE) - SET(KOKKOS_ENABLE_${OPT}_INTERNAL ${KOKKOS_ENABLE_${OPT}} CACHE BOOL INTERNAL) - IF(DEFINED KOKKOS_ENABLE_${OPT}) - UNSET(Kokkos_ENABLE_${opt} CACHE) - SET(Kokkos_ENABLE_${opt} ${KOKKOS_ENABLE_${OPT}} CACHE BOOL "CamelCase Compatibility setting for KOKKOS_ENABLE_${OPT}") - ENDIF() -endforeach() diff --git a/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake b/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake new file mode 100644 index 0000000000000000000000000000000000000000..cf14948f43f26b089078f994817a2c3e1230744f --- /dev/null +++ b/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake @@ -0,0 +1,46 @@ +# From CMake 3.10 documentation + +#This can run at any time +KOKKOS_OPTION(CXX_STANDARD "" STRING "The C++ standard for Kokkos to use: 11, 14, 17, or 20. If empty, this will default to CMAKE_CXX_STANDARD. If both CMAKE_CXX_STANDARD and Kokkos_CXX_STANDARD are empty, this will default to 11") + +# Set CXX standard flags +SET(KOKKOS_ENABLE_CXX11 OFF) +SET(KOKKOS_ENABLE_CXX14 OFF) +SET(KOKKOS_ENABLE_CXX17 OFF) +SET(KOKKOS_ENABLE_CXX20 OFF) +IF (KOKKOS_CXX_STANDARD) + IF (${KOKKOS_CXX_STANDARD} STREQUAL "c++98") + MESSAGE(FATAL_ERROR "Kokkos no longer supports C++98 - minimum C++11") + ELSEIF (${KOKKOS_CXX_STANDARD} STREQUAL "c++11") + MESSAGE(WARNING "Deprecated Kokkos C++ standard set as 'c++11'. Use '11' instead.") + SET(KOKKOS_CXX_STANDARD "11") + ELSEIF(${KOKKOS_CXX_STANDARD} STREQUAL "c++14") + MESSAGE(WARNING "Deprecated Kokkos C++ standard set as 'c++14'. Use '14' instead.") + SET(KOKKOS_CXX_STANDARD "14") + ELSEIF(${KOKKOS_CXX_STANDARD} STREQUAL "c++17") + MESSAGE(WARNING "Deprecated Kokkos C++ standard set as 'c++17'. Use '17' instead.") + SET(KOKKOS_CXX_STANDARD "17") + ELSEIF(${KOKKOS_CXX_STANDARD} STREQUAL "c++1y") + MESSAGE(WARNING "Deprecated Kokkos C++ standard set as 'c++1y'. Use '1Y' instead.") + SET(KOKKOS_CXX_STANDARD "1Y") + ELSEIF(${KOKKOS_CXX_STANDARD} STREQUAL "c++1z") + MESSAGE(WARNING "Deprecated Kokkos C++ standard set as 'c++1z'. Use '1Z' instead.") + SET(KOKKOS_CXX_STANDARD "1Z") + ELSEIF(${KOKKOS_CXX_STANDARD} STREQUAL "c++2a") + MESSAGE(WARNING "Deprecated Kokkos C++ standard set as 'c++2a'. Use '2A' instead.") + SET(KOKKOS_CXX_STANDARD "2A") + ENDIF() +ENDIF() + +IF (NOT KOKKOS_CXX_STANDARD AND NOT CMAKE_CXX_STANDARD) + MESSAGE(STATUS "Setting default Kokkos CXX standard to 11") + SET(KOKKOS_CXX_STANDARD "11") +ELSEIF(NOT KOKKOS_CXX_STANDARD) + MESSAGE(STATUS "Setting default Kokkos CXX standard to ${CMAKE_CXX_STANDARD}") + SET(KOKKOS_CXX_STANDARD ${CMAKE_CXX_STANDARD}) +ENDIF() + + + + + diff --git a/lib/kokkos/cmake/kokkos_settings.cmake b/lib/kokkos/cmake/kokkos_settings.cmake deleted file mode 100644 index 2c622d0de91f87f59f78a598820b80bc294d0b19..0000000000000000000000000000000000000000 --- a/lib/kokkos/cmake/kokkos_settings.cmake +++ /dev/null @@ -1,259 +0,0 @@ -########################## NOTES ############################################### -# This files goal is to take CMake options found in kokkos_options.cmake but -# possibly set from elsewhere -# (see: trilinos/cmake/ProjectCOmpilerPostConfig.cmake) -# using CMake idioms and map them onto the KOKKOS_SETTINGS variables that gets -# passed to the kokkos makefile configuration: -# make -f ${CMAKE_SOURCE_DIR}/core/src/Makefile ${KOKKOS_SETTINGS} build-makefile-cmake-kokkos -# that generates KokkosCore_config.h and kokkos_generated_settings.cmake -# To understand how to form KOKKOS_SETTINGS, see -# /Makefile.kokkos - -#------------------------------------------------------------------------------- -#------------------------------- GENERAL OPTIONS ------------------------------- -#------------------------------------------------------------------------------- - -# Ensure that KOKKOS_ARCH is in the ARCH_LIST -if (KOKKOS_ARCH MATCHES ",") - message("-- Detected a comma in: KOKKOS_ARCH=`${KOKKOS_ARCH}`") - message("-- Although we prefer KOKKOS_ARCH to be semicolon-delimited, we do allow") - message("-- comma-delimited values for compatibility with scripts (see github.com/trilinos/Trilinos/issues/2330)") - string(REPLACE "," ";" KOKKOS_ARCH "${KOKKOS_ARCH}") - message("-- Commas were changed to semicolons, now KOKKOS_ARCH=`${KOKKOS_ARCH}`") -endif() -foreach(arch ${KOKKOS_ARCH}) - list(FIND KOKKOS_ARCH_LIST ${arch} indx) - if (indx EQUAL -1) - message(FATAL_ERROR "`${arch}` is not an accepted value in KOKKOS_ARCH=`${KOKKOS_ARCH}`." - " Please pick from these choices: ${KOKKOS_INTERNAL_ARCH_DOCSTR}") - endif () -endforeach() - -# KOKKOS_SETTINGS uses KOKKOS_ARCH -string(REPLACE ";" "," KOKKOS_GMAKE_ARCH "${KOKKOS_ARCH}") - -# From Makefile.kokkos: Options: yes,no -if(${KOKKOS_ENABLE_DEBUG}) - set(KOKKOS_GMAKE_DEBUG yes) -else() - set(KOKKOS_GMAKE_DEBUG no) -endif() - -#------------------------------- KOKKOS_DEVICES -------------------------------- -# Can have multiple devices -set(KOKKOS_DEVICESl) -foreach(devopt ${KOKKOS_DEVICES_LIST}) - string(TOUPPER ${devopt} devoptuc) - if (${KOKKOS_ENABLE_${devoptuc}}) - list(APPEND KOKKOS_DEVICESl ${devopt}) - endif () -endforeach() -# List needs to be comma-delmitted -string(REPLACE ";" "," KOKKOS_GMAKE_DEVICES "${KOKKOS_DEVICESl}") - -#------------------------------- KOKKOS_OPTIONS -------------------------------- -# From Makefile.kokkos: Options: aggressive_vectorization,disable_profiling,disable_deprecated_code -#compiler_warnings, aggressive_vectorization, disable_profiling, disable_dualview_modify_check, enable_profile_load_print - -set(KOKKOS_OPTIONSl) -if(${KOKKOS_ENABLE_COMPILER_WARNINGS}) - list(APPEND KOKKOS_OPTIONSl compiler_warnings) -endif() -if(${KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION}) - list(APPEND KOKKOS_OPTIONSl aggressive_vectorization) -endif() -if(NOT ${KOKKOS_ENABLE_PROFILING}) - list(APPEND KOKKOS_OPTIONSl disable_profiling) -endif() -if(NOT ${KOKKOS_ENABLE_DEPRECATED_CODE}) - list(APPEND KOKKOS_OPTIONSl disable_deprecated_code) -endif() -if(NOT ${KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK}) - list(APPEND KOKKOS_OPTIONSl disable_dualview_modify_check) -endif() -if(${KOKKOS_ENABLE_PROFILING_LOAD_PRINT}) - list(APPEND KOKKOS_OPTIONSl enable_profile_load_print) -endif() -if(${KOKKOS_ENABLE_EXPLICIT_INSTANTIATION}) - list(APPEND KOKKOS_OPTIONSl enable_eti) -endif() -# List needs to be comma-delimitted -string(REPLACE ";" "," KOKKOS_GMAKE_OPTIONS "${KOKKOS_OPTIONSl}") - - -#------------------------------- KOKKOS_USE_TPLS ------------------------------- -# Construct the Makefile options -set(KOKKOS_USE_TPLSl) -foreach(tplopt ${KOKKOS_USE_TPLS_LIST}) - if (${KOKKOS_ENABLE_${tplopt}}) - list(APPEND KOKKOS_USE_TPLSl ${KOKKOS_INTERNAL_${tplopt}}) - endif () -endforeach() -# List needs to be comma-delimitted -string(REPLACE ";" "," KOKKOS_GMAKE_USE_TPLS "${KOKKOS_USE_TPLSl}") - - -#------------------------------- KOKKOS_CUDA_OPTIONS --------------------------- -# Construct the Makefile options -set(KOKKOS_CUDA_OPTIONSl) -foreach(cudaopt ${KOKKOS_CUDA_OPTIONS_LIST}) - if (${KOKKOS_ENABLE_CUDA_${cudaopt}}) - list(APPEND KOKKOS_CUDA_OPTIONSl ${KOKKOS_INTERNAL_${cudaopt}}) - endif () -endforeach() -# List needs to be comma-delmitted -string(REPLACE ";" "," KOKKOS_GMAKE_CUDA_OPTIONS "${KOKKOS_CUDA_OPTIONSl}") - -#------------------------------- PATH VARIABLES -------------------------------- -# Want makefile to use same executables specified which means modifying -# the path so the $(shell ...) commands in the makefile see the right exec -# Also, the Makefile's use FOO_PATH naming scheme for -I/-L construction -#TODO: Makefile.kokkos allows this to be overwritten? ROCM_HCC_PATH - -set(KOKKOS_INTERNAL_PATHS) -set(addpathl) -foreach(kvar IN LISTS KOKKOS_USE_TPLS_LIST ITEMS CUDA QTHREADS) - if(${KOKKOS_ENABLE_${kvar}}) - if(DEFINED KOKKOS_${kvar}_DIR) - set(KOKKOS_INTERNAL_PATHS ${KOKKOS_INTERNAL_PATHS} "${kvar}_PATH=${KOKKOS_${kvar}_DIR}") - if(IS_DIRECTORY ${KOKKOS_${kvar}_DIR}/bin) - list(APPEND addpathl ${KOKKOS_${kvar}_DIR}/bin) - endif() - endif() - endif() -endforeach() -# Path env is : delimitted -string(REPLACE ";" ":" KOKKOS_INTERNAL_ADDTOPATH "${addpathl}") - - -######################### SET KOKKOS_SETTINGS ################################## -# Set the KOKKOS_SETTINGS String -- this is the primary communication with the -# makefile configuration. See Makefile.kokkos - -set(KOKKOS_SETTINGS KOKKOS_CMAKE=yes) -set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} KOKKOS_SRC_PATH=${KOKKOS_SRC_PATH}) -set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} KOKKOS_PATH=${KOKKOS_PATH}) -set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} KOKKOS_INSTALL_PATH=${CMAKE_INSTALL_PREFIX}) - -# Form of KOKKOS_foo=$KOKKOS_foo -foreach(kvar ARCH;DEVICES;DEBUG;OPTIONS;CUDA_OPTIONS;USE_TPLS) - if(DEFINED KOKKOS_GMAKE_${kvar}) - if (NOT "${KOKKOS_GMAKE_${kvar}}" STREQUAL "") - set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} KOKKOS_${kvar}=${KOKKOS_GMAKE_${kvar}}) - endif() - endif() -endforeach() - -# Form of VAR=VAL -#TODO: Makefile supports MPICH_CXX, OMPI_CXX as well -foreach(ovar CXX;CXXFLAGS;LDFLAGS) - if(DEFINED ${ovar}) - if (NOT "${${ovar}}" STREQUAL "") - set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} ${ovar}=${${ovar}}) - endif() - endif() -endforeach() - -# Finally, do the paths -if (NOT "${KOKKOS_INTERNAL_PATHS}" STREQUAL "") - set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} ${KOKKOS_INTERNAL_PATHS}) -endif() -if (NOT "${KOKKOS_INTERNAL_ADDTOPATH}" STREQUAL "") - set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} "PATH=${KOKKOS_INTERNAL_ADDTOPATH}:$ENV{PATH}") -endif() - -if (CMAKE_CXX_STANDARD) - if (CMAKE_CXX_STANDARD STREQUAL "98") - message(FATAL_ERROR "Kokkos requires C++11 or newer!") - endif() - set(KOKKOS_CXX_STANDARD "c++${CMAKE_CXX_STANDARD}") - if (CMAKE_CXX_EXTENSIONS) - if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set(KOKKOS_CXX_STANDARD "gnu++${CMAKE_CXX_STANDARD}") - endif() - endif() - set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} "KOKKOS_CXX_STANDARD=\"${KOKKOS_CXX_STANDARD}\"") -endif() - -# Final form that gets passed to make -set(KOKKOS_SETTINGS env ${KOKKOS_SETTINGS}) - - -############################ PRINT CONFIGURE STATUS ############################ - -if(KOKKOS_CMAKE_VERBOSE) - message(STATUS "") - message(STATUS "****************** Kokkos Settings ******************") - message(STATUS "Execution Spaces") - - if(KOKKOS_ENABLE_CUDA) - message(STATUS " Device Parallel: Cuda") - else() - message(STATUS " Device Parallel: None") - endif() - - if(KOKKOS_ENABLE_OPENMP) - message(STATUS " Host Parallel: OpenMP") - elseif(KOKKOS_ENABLE_PTHREAD) - message(STATUS " Host Parallel: Pthread") - elseif(KOKKOS_ENABLE_QTHREADS) - message(STATUS " Host Parallel: Qthreads") - elseif(KOKKOS_ENABLE_HPX) - message(STATUS " Host Parallel: HPX") - else() - message(STATUS " Host Parallel: None") - endif() - - if(KOKKOS_ENABLE_SERIAL) - message(STATUS " Host Serial: Serial") - else() - message(STATUS " Host Serial: None") - endif() - - message(STATUS "") - message(STATUS "Architectures:") - message(STATUS " ${KOKKOS_GMAKE_ARCH}") - - message(STATUS "") - message(STATUS "Enabled options") - - if(KOKKOS_SEPARATE_LIBS) - message(STATUS " KOKKOS_SEPARATE_LIBS") - endif() - - foreach(opt IN LISTS KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST) - string(TOUPPER ${opt} OPT) - if (KOKKOS_ENABLE_${OPT}) - message(STATUS " KOKKOS_ENABLE_${OPT}") - endif() - endforeach() - - if(KOKKOS_ENABLE_CUDA) - if(KOKKOS_CUDA_DIR) - message(STATUS " KOKKOS_CUDA_DIR: ${KOKKOS_CUDA_DIR}") - endif() - endif() - - if(KOKKOS_QTHREADS_DIR) - message(STATUS " KOKKOS_QTHREADS_DIR: ${KOKKOS_QTHREADS_DIR}") - endif() - - if(KOKKOS_HWLOC_DIR) - message(STATUS " KOKKOS_HWLOC_DIR: ${KOKKOS_HWLOC_DIR}") - endif() - - if(KOKKOS_MEMKIND_DIR) - message(STATUS " KOKKOS_MEMKIND_DIR: ${KOKKOS_MEMKIND_DIR}") - endif() - - if(KOKKOS_HPX_DIR) - message(STATUS " KOKKOS_HPX_DIR: ${KOKKOS_HPX_DIR}") - endif() - - message(STATUS "") - message(STATUS "Final kokkos settings variable:") - message(STATUS " ${KOKKOS_SETTINGS}") - - message(STATUS "*****************************************************") - message(STATUS "") -endif() diff --git a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake new file mode 100644 index 0000000000000000000000000000000000000000..603b4b3d7aef3d48d86aa63b42c1e20dd3f25d04 --- /dev/null +++ b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake @@ -0,0 +1,151 @@ +KOKKOS_CFG_DEPENDS(CXX_STD COMPILER_ID) + +FUNCTION(kokkos_set_cxx_standard_feature standard) + SET(EXTENSION_NAME CMAKE_CXX${standard}_EXTENSION_COMPILE_OPTION) + SET(STANDARD_NAME CMAKE_CXX${standard}_STANDARD_COMPILE_OPTION) + SET(FEATURE_NAME cxx_std_${standard}) + #CMake's way of telling us that the standard (or extension) + #flags are supported is the extension/standard variables + IF (NOT DEFINED CMAKE_CXX_EXTENSIONS) + IF(KOKKOS_DONT_ALLOW_EXTENSIONS) + GLOBAL_SET(KOKKOS_USE_CXX_EXTENSIONS OFF) + ELSE() + GLOBAL_SET(KOKKOS_USE_CXX_EXTENSIONS ON) + ENDIF() + ELSEIF(CMAKE_CXX_EXTENSIONS) + IF(KOKKOS_DONT_ALLOW_EXTENSIONS) + MESSAGE(FATAL_ERROR "The chosen configuration does not support CXX extensions flags: ${KOKKOS_DONT_ALLOW_EXTENSIONS}. Must set CMAKE_CXX_EXTENSIONS=OFF to continue") + ELSE() + GLOBAL_SET(KOKKOS_USE_CXX_EXTENSIONS ON) + ENDIF() + ELSE() + #For trilinos, we need to make sure downstream projects + GLOBAL_SET(KOKKOS_USE_CXX_EXTENSIONS OFF) + ENDIF() + + IF (KOKKOS_USE_CXX_EXTENSIONS AND ${EXTENSION_NAME}) + MESSAGE(STATUS "Using ${${EXTENSION_NAME}} for C++${standard} extensions as feature") + GLOBAL_SET(KOKKOS_CXX_STANDARD_FEATURE ${FEATURE_NAME}) + ELSEIF(NOT KOKKOS_USE_CXX_EXTENSIONS AND ${STANDARD_NAME}) + MESSAGE(STATUS "Using ${${STANDARD_NAME}} for C++${standard} standard as feature") + GLOBAL_SET(KOKKOS_CXX_STANDARD_FEATURE ${FEATURE_NAME}) + ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC") + #MSVC doesn't need a command line flag, that doesn't mean it has no support + MESSAGE(STATUS "Using no flag for C++${standard} standard as feature") + GLOBAL_SET(KOKKOS_CXX_STANDARD_FEATURE ${FEATURE_NAME}) + ELSE() + #nope, we can't do anything here + MESSAGE(WARNING "C++${standard} is not supported as a compiler feature. We will choose custom flags for now, but this behavior has been deprecated. Please open an issue at https://github.com/kokkos/kokkos/issues reporting that ${KOKKOS_CXX_COMPILER_ID} ${KOKKOS_CXX_COMPILER_VERSION} failed for ${KOKKOS_CXX_STANDARD}, preferrably including your CMake command.") + GLOBAL_SET(KOKKOS_CXX_STANDARD_FEATURE "") + ENDIF() + + IF(NOT ${FEATURE_NAME} IN_LIST CMAKE_CXX_COMPILE_FEATURES) + MESSAGE(FATAL_ERROR "Compiler ${KOKKOS_CXX_COMPILER_ID} should support ${FEATURE_NAME}, but CMake reports feature not supported") + ENDIF() +ENDFUNCTION() + + +IF (KOKKOS_CXX_STANDARD AND CMAKE_CXX_STANDARD) + #make sure these are consistent + IF (NOT KOKKOS_CXX_STANDARD STREQUAL CMAKE_CXX_STANDARD) + MESSAGE(WARNING "Specified both CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} and KOKKOS_CXX_STANDARD=${KOKKOS_CXX_STANDARD}, but they don't match") + SET(CMAKE_CXX_STANDARD ${KOKKOS_CXX_STANDARD} CACHE STRING "C++ standard" FORCE) + ENDIF() +ENDIF() + + +IF (KOKKOS_CXX_STANDARD STREQUAL "11" ) + kokkos_set_cxx_standard_feature(11) + SET(KOKKOS_ENABLE_CXX11 ON) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD "11") +ELSEIF(KOKKOS_CXX_STANDARD STREQUAL "14") + kokkos_set_cxx_standard_feature(14) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD "1Y") + SET(KOKKOS_ENABLE_CXX14 ON) +ELSEIF(KOKKOS_CXX_STANDARD STREQUAL "17") + kokkos_set_cxx_standard_feature(17) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD "1Z") + SET(KOKKOS_ENABLE_CXX17 ON) +ELSEIF(KOKKOS_CXX_STANDARD STREQUAL "20") + kokkos_set_cxx_standard_feature(20) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD "2A") + SET(KOKKOS_ENABLE_CXX20 ON) +ELSEIF(KOKKOS_CXX_STANDARD STREQUAL "98") + MESSAGE(FATAL_ERROR "Kokkos requires C++11 or newer!") +ELSE() + MESSAGE(FATAL_ERROR "Unknown C++ standard ${KOKKOS_CXX_STANDARD} - must be 11, 14, 17, or 20") +ENDIF() + + + +# Enforce that extensions are turned off for nvcc_wrapper. +# For compiling CUDA code using nvcc_wrapper, we will use the host compiler's +# flags for turning on C++11. Since for compiler ID and versioning purposes +# CMake recognizes the host compiler when calling nvcc_wrapper, this just +# works. Both NVCC and nvcc_wrapper only recognize '-std=c++11' which means +# that we can only use host compilers for CUDA builds that use those flags. +# It also means that extensions (gnu++11) can't be turned on for CUDA builds. + +IF(KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) + IF(NOT DEFINED CMAKE_CXX_EXTENSIONS) + SET(CMAKE_CXX_EXTENSIONS OFF) + ELSEIF(CMAKE_CXX_EXTENSIONS) + MESSAGE(FATAL_ERROR "NVCC doesn't support C++ extensions. Set -DCMAKE_CXX_EXTENSIONS=OFF") + ENDIF() +ENDIF() + +IF(KOKKOS_ENABLE_CUDA) + # ENFORCE that the compiler can compile CUDA code. + IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) + IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 4.0.0) + MESSAGE(FATAL_ERROR "Compiling CUDA code directly with Clang requires version 4.0.0 or higher.") + ENDIF() + IF(NOT DEFINED CMAKE_CXX_EXTENSIONS) + SET(CMAKE_CXX_EXTENSIONS OFF) + ELSEIF(CMAKE_CXX_EXTENSIONS) + MESSAGE(FATAL_ERROR "Compiling CUDA code with clang doesn't support C++ extensions. Set -DCMAKE_CXX_EXTENSIONS=OFF") + ENDIF() + ELSEIF(NOT KOKKOS_CXX_COMPILER_ID STREQUAL NVIDIA) + MESSAGE(FATAL_ERROR "Invalid compiler for CUDA. The compiler must be nvcc_wrapper or Clang, but compiler ID was ${KOKKOS_CXX_COMPILER_ID}") + ENDIF() +ENDIF() + +IF (NOT KOKKOS_CXX_STANDARD_FEATURE) + #we need to pick the C++ flags ourselves + UNSET(CMAKE_CXX_STANDARD) + UNSET(CMAKE_CXX_STANDARD CACHE) + IF(KOKKOS_CXX_COMPILER_ID STREQUAL Cray) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/cray.cmake) + kokkos_set_cray_flags(${KOKKOS_CXX_STANDARD} ${KOKKOS_CXX_INTERMEDIATE_STANDARD}) + ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL PGI) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/pgi.cmake) + kokkos_set_pgi_flags(${KOKKOS_CXX_STANDARD} ${KOKKOS_CXX_INTERMEDIATE_STANDARD}) + ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL Intel) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/intel.cmake) + kokkos_set_intel_flags(${KOKKOS_CXX_STANDARD} ${KOKKOS_CXX_INTERMEDIATE_STANDARD}) + ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC") + INCLUDE(${KOKKOS_SRC_PATH}/cmake/msvc.cmake) + kokkos_set_msvc_flags(${KOKKOS_CXX_STANDARD} ${KOKKOS_CXX_INTERMEDIATE_STANDARD}) + ELSE() + INCLUDE(${KOKKOS_SRC_PATH}/cmake/gnu.cmake) + kokkos_set_gnu_flags(${KOKKOS_CXX_STANDARD} ${KOKKOS_CXX_INTERMEDIATE_STANDARD}) + ENDIF() + #check that the compiler accepts the C++ standard flag + INCLUDE(CheckCXXCompilerFlag) + IF (DEFINED CXX_STD_FLAGS_ACCEPTED) + UNSET(CXX_STD_FLAGS_ACCEPTED CACHE) + ENDIF() + CHECK_CXX_COMPILER_FLAG("${KOKKOS_CXX_STANDARD_FLAG}" CXX_STD_FLAGS_ACCEPTED) + IF (NOT CXX_STD_FLAGS_ACCEPTED) + CHECK_CXX_COMPILER_FLAG("${KOKKOS_CXX_INTERMEDIATE_STANDARD_FLAG}" CXX_INT_STD_FLAGS_ACCEPTED) + IF (NOT CXX_INT_STD_FLAGS_ACCEPTED) + MESSAGE(FATAL_ERROR "${KOKKOS_CXX_COMPILER_ID} did not accept ${KOKKOS_CXX_STANDARD_FLAG} or ${KOKKOS_CXX_INTERMEDIATE_STANDARD_FLAG}. You likely need to reduce the level of the C++ standard from ${KOKKOS_CXX_STANDARD}") + ENDIF() + SET(KOKKOS_CXX_STANDARD_FLAG ${KOKKOS_CXX_INTERMEDIATE_STANDARD_FLAG}) + ENDIF() + MESSAGE(STATUS "Compiler features not supported, but ${KOKKOS_CXX_COMPILER_ID} accepts ${KOKKOS_CXX_STANDARD_FLAG}") +ENDIF() + + + + diff --git a/lib/kokkos/cmake/kokkos_tpls.cmake b/lib/kokkos/cmake/kokkos_tpls.cmake new file mode 100644 index 0000000000000000000000000000000000000000..76efd428479424013aa346895458f99d084e9310 --- /dev/null +++ b/lib/kokkos/cmake/kokkos_tpls.cmake @@ -0,0 +1,51 @@ +KOKKOS_CFG_DEPENDS(TPLS OPTIONS) +KOKKOS_CFG_DEPENDS(TPLS DEVICES) + +FUNCTION(KOKKOS_TPL_OPTION PKG DEFAULT) + KOKKOS_ENABLE_OPTION(${PKG} ${DEFAULT} "Whether to enable the ${PKG} library") + KOKKOS_OPTION(${PKG}_DIR "" PATH "Location of ${PKG} library") + SET(KOKKOS_ENABLE_${PKG} ${KOKKOS_ENABLE_${PKG}} PARENT_SCOPE) + SET(KOKKOS_${PKG}_DIR ${KOKKOS_${PKG}_DIR} PARENT_SCOPE) +ENDFUNCTION() + +KOKKOS_TPL_OPTION(HWLOC Off) +KOKKOS_TPL_OPTION(LIBNUMA Off) +KOKKOS_TPL_OPTION(MEMKIND Off) +KOKKOS_TPL_OPTION(CUDA Off) +KOKKOS_TPL_OPTION(LIBRT Off) +KOKKOS_TPL_OPTION(LIBDL On) + +IF(KOKKOS_ENABLE_PROFILING AND NOT KOKKOS_ENABLE_LIBDL) + MESSAGE(SEND_ERROR "Kokkos_ENABLE_PROFILING requires Kokkos_ENABLE_LIBDL=ON") +ENDIF() + +IF(Trilinos_ENABLE_Kokkos AND TPL_ENABLE_HPX) +SET(HPX_DEFAULT ON) +ELSE() +SET(HPX_DEFAULT OFF) +ENDIF() +KOKKOS_TPL_OPTION(HPX ${HPX_DEFAULT}) + +IF(Trilinos_ENABLE_Kokkos AND TPL_ENABLE_PTHREAD) +SET(PTHREAD_DEFAULT ON) +ELSE() +SET(PTHREAD_DEFAULT OFF) +ENDIF() +KOKKOS_TPL_OPTION(PTHREAD ${PTHREAD_DEFAULT}) + + +#Make sure we use our local FindKokkosCuda.cmake +KOKKOS_IMPORT_TPL(HPX INTERFACE) +KOKKOS_IMPORT_TPL(CUDA INTERFACE) +KOKKOS_IMPORT_TPL(HWLOC) +KOKKOS_IMPORT_TPL(LIBNUMA) +KOKKOS_IMPORT_TPL(LIBRT) +KOKKOS_IMPORT_TPL(LIBDL) +KOKKOS_IMPORT_TPL(MEMKIND) +KOKKOS_IMPORT_TPL(PTHREAD INTERFACE) + +#Convert list to newlines (which CMake doesn't always like in cache variables) +STRING(REPLACE ";" "\n" KOKKOS_TPL_EXPORT_TEMP "${KOKKOS_TPL_EXPORTS}") +#Convert to a regular variable +UNSET(KOKKOS_TPL_EXPORTS CACHE) +SET(KOKKOS_TPL_EXPORTS ${KOKKOS_TPL_EXPORT_TEMP}) diff --git a/lib/kokkos/cmake/kokkos_tribits.cmake b/lib/kokkos/cmake/kokkos_tribits.cmake new file mode 100644 index 0000000000000000000000000000000000000000..1c3b704ada8eb8541694272ba88ed77c64302ba0 --- /dev/null +++ b/lib/kokkos/cmake/kokkos_tribits.cmake @@ -0,0 +1,425 @@ +#These are tribits wrappers only ever called by Kokkos itself + +INCLUDE(CMakeParseArguments) +INCLUDE(CTest) +INCLUDE(GNUInstallDirs) + +MESSAGE(STATUS "The project name is: ${PROJECT_NAME}") + +#Leave this here for now - but only do for tribits +#This breaks the standalone CMake +IF (KOKKOS_HAS_TRILINOS) + IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_OpenMP) + SET(${PROJECT_NAME}_ENABLE_OpenMP OFF) + ENDIF() + + IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_HPX) + SET(${PROJECT_NAME}_ENABLE_HPX OFF) + ENDIF() + + IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_DEBUG) + SET(${PROJECT_NAME}_ENABLE_DEBUG OFF) + ENDIF() + + IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_CXX11) + SET(${PROJECT_NAME}_ENABLE_CXX11 ON) + ENDIF() + + IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_TESTS) + SET(${PROJECT_NAME}_ENABLE_TESTS OFF) + ENDIF() + + IF(NOT DEFINED TPL_ENABLE_Pthread) + SET(TPL_ENABLE_Pthread OFF) + ENDIF() +ENDIF() + +MACRO(KOKKOS_SUBPACKAGE NAME) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_SUBPACKAGE(${NAME}) + else() + SET(PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + SET(PARENT_PACKAGE_NAME ${PACKAGE_NAME}) + SET(PACKAGE_NAME ${PACKAGE_NAME}${NAME}) + STRING(TOUPPER ${PACKAGE_NAME} PACKAGE_NAME_UC) + SET(${PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + #ADD_INTERFACE_LIBRARY(PACKAGE_${PACKAGE_NAME}) + #GLOBAL_SET(${PACKAGE_NAME}_LIBS "") + endif() +ENDMACRO() + +MACRO(KOKKOS_SUBPACKAGE_POSTPROCESS) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_SUBPACKAGE_POSTPROCESS() + endif() +ENDMACRO() + +MACRO(KOKKOS_PACKAGE_DECL) + + if (KOKKOS_HAS_TRILINOS) + TRIBITS_PACKAGE_DECL(Kokkos) + else() + SET(PACKAGE_NAME Kokkos) + SET(${PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + STRING(TOUPPER ${PACKAGE_NAME} PACKAGE_NAME_UC) + endif() + + #SET(TRIBITS_DEPS_DIR "${CMAKE_SOURCE_DIR}/cmake/deps") + #FILE(GLOB TPLS_FILES "${TRIBITS_DEPS_DIR}/*.cmake") + #FOREACH(TPL_FILE ${TPLS_FILES}) + # TRIBITS_PROCESS_TPL_DEP_FILE(${TPL_FILE}) + #ENDFOREACH() + +ENDMACRO() + + +MACRO(KOKKOS_PROCESS_SUBPACKAGES) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_PROCESS_SUBPACKAGES() + else() + ADD_SUBDIRECTORY(core) + ADD_SUBDIRECTORY(containers) + ADD_SUBDIRECTORY(algorithms) + ADD_SUBDIRECTORY(example) + endif() +ENDMACRO() + +MACRO(KOKKOS_PACKAGE_DEF) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_PACKAGE_DEF() + else() + #do nothing + endif() +ENDMACRO() + +MACRO(KOKKOS_INTERNAL_ADD_LIBRARY_INSTALL LIBRARY_NAME) + KOKKOS_LIB_TYPE(${LIBRARY_NAME} INCTYPE) + TARGET_INCLUDE_DIRECTORIES(${LIBRARY_NAME} ${INCTYPE} $) + + INSTALL( + TARGETS ${LIBRARY_NAME} + EXPORT ${PROJECT_NAME} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT ${PACKAGE_NAME} + ) + + INSTALL( + TARGETS ${LIBRARY_NAME} + EXPORT KokkosTargets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + + VERIFY_EMPTY(KOKKOS_ADD_LIBRARY ${PARSE_UNPARSED_ARGUMENTS}) +ENDMACRO() + +FUNCTION(KOKKOS_ADD_EXECUTABLE ROOT_NAME) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_ADD_EXECUTABLE(${ROOT_NAME} ${ARGN}) + else() + CMAKE_PARSE_ARGUMENTS(PARSE + "TESTONLY" + "" + "SOURCES;TESTONLYLIBS" + ${ARGN}) + + SET(EXE_NAME ${PACKAGE_NAME}_${ROOT_NAME}) + ADD_EXECUTABLE(${EXE_NAME} ${PARSE_SOURCES}) + IF (PARSE_TESTONLYLIBS) + TARGET_LINK_LIBRARIES(${EXE_NAME} PRIVATE ${PARSE_TESTONLYLIBS}) + ENDIF() + VERIFY_EMPTY(KOKKOS_ADD_EXECUTABLE ${PARSE_UNPARSED_ARGUMENTS}) + #All executables must link to all the kokkos targets + #This is just private linkage because exe is final + TARGET_LINK_LIBRARIES(${EXE_NAME} PRIVATE kokkos) + endif() +ENDFUNCTION() + +FUNCTION(KOKKOS_ADD_EXECUTABLE_AND_TEST ROOT_NAME) +IF (KOKKOS_HAS_TRILINOS) + TRIBITS_ADD_EXECUTABLE_AND_TEST( + ${ROOT_NAME} + TESTONLYLIBS kokkos_gtest + ${ARGN} + NUM_MPI_PROCS 1 + COMM serial mpi + FAIL_REGULAR_EXPRESSION " FAILED " + ) +ELSE() + CMAKE_PARSE_ARGUMENTS(PARSE + "" + "" + "SOURCES;CATEGORIES" + ${ARGN}) + VERIFY_EMPTY(KOKKOS_ADD_EXECUTABLE_AND_TEST ${PARSE_UNPARSED_ARGUMENTS}) + KOKKOS_ADD_TEST_EXECUTABLE(${ROOT_NAME} + SOURCES ${PARSE_SOURCES} + ) + KOKKOS_ADD_TEST(NAME ${ROOT_NAME} + EXE ${ROOT_NAME} + FAIL_REGULAR_EXPRESSION " FAILED " + ) +ENDIF() +ENDFUNCTION() + +FUNCTION(KOKKOS_SET_EXE_PROPERTY ROOT_NAME) + SET(TARGET_NAME ${PACKAGE_NAME}_${ROOT_NAME}) + IF (NOT TARGET ${TARGET_NAME}) + MESSAGE(SEND_ERROR "No target ${TARGET_NAME} exists - cannot set target properties") + ENDIF() + SET_PROPERTY(TARGET ${TARGET_PROPERTY} PROPERTY ${ARGN}) +ENDFUNCTION() + +MACRO(KOKKOS_SETUP_BUILD_ENVIRONMENT) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_compiler_id.cmake) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_enable_devices.cmake) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_enable_options.cmake) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_test_cxx_std.cmake) + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_arch.cmake) + IF (NOT KOKKOS_HAS_TRILINOS) + SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${Kokkos_SOURCE_DIR}/cmake/Modules/") + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_tpls.cmake) + ENDIF() + INCLUDE(${KOKKOS_SRC_PATH}/cmake/kokkos_corner_cases.cmake) +ENDMACRO() + +MACRO(KOKKOS_ADD_TEST_EXECUTABLE ROOT_NAME) + CMAKE_PARSE_ARGUMENTS(PARSE + "" + "" + "SOURCES" + ${ARGN}) + KOKKOS_ADD_EXECUTABLE(${ROOT_NAME} + SOURCES ${PARSE_SOURCES} + ${PARSE_UNPARSED_ARGUMENTS} + TESTONLYLIBS kokkos_gtest + ) +ENDMACRO() + +MACRO(KOKKOS_PACKAGE_POSTPROCESS) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_PACKAGE_POSTPROCESS() + endif() +ENDMACRO() + +FUNCTION(KOKKOS_SET_LIBRARY_PROPERTIES LIBRARY_NAME) + CMAKE_PARSE_ARGUMENTS(PARSE + "PLAIN_STYLE" + "" + "" + ${ARGN}) + + IF(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13") + #great, this works the "right" way + TARGET_LINK_OPTIONS( + ${LIBRARY_NAME} PUBLIC ${KOKKOS_LINK_OPTIONS} + ) + ELSE() + IF (PARSE_PLAIN_STYLE) + TARGET_LINK_LIBRARIES( + ${LIBRARY_NAME} ${KOKKOS_LINK_OPTIONS} + ) + ELSE() + #well, have to do it the wrong way for now + TARGET_LINK_LIBRARIES( + ${LIBRARY_NAME} PUBLIC ${KOKKOS_LINK_OPTIONS} + ) + ENDIF() + ENDIF() + + TARGET_COMPILE_OPTIONS( + ${LIBRARY_NAME} PUBLIC + $<$:${KOKKOS_COMPILE_OPTIONS}> + ) + + TARGET_COMPILE_DEFINITIONS( + ${LIBRARY_NAME} PUBLIC + $<$:${KOKKOS_COMPILE_DEFINITIONS}> + ) + + TARGET_LINK_LIBRARIES( + ${LIBRARY_NAME} PUBLIC ${KOKKOS_LINK_LIBRARIES} + ) + + IF (KOKKOS_ENABLE_CUDA) + TARGET_COMPILE_OPTIONS( + ${LIBRARY_NAME} + PUBLIC $<$:${KOKKOS_CUDA_OPTIONS}> + ) + SET(NODEDUP_CUDAFE_OPTIONS) + FOREACH(OPT ${KOKKOS_CUDAFE_OPTIONS}) + LIST(APPEND NODEDUP_CUDAFE_OPTIONS -Xcudafe ${OPT}) + ENDFOREACH() + TARGET_COMPILE_OPTIONS( + ${LIBRARY_NAME} + PUBLIC $<$:${NODEDUP_CUDAFE_OPTIONS}> + ) + ENDIF() + + IF (KOKKOS_ENABLE_HIP) + TARGET_COMPILE_OPTIONS( + ${LIBRARY_NAME} + PUBLIC $<$:${KOKKOS_AMDGPU_OPTIONS}> + ) + ENDIF() + + LIST(LENGTH KOKKOS_XCOMPILER_OPTIONS XOPT_LENGTH) + IF (XOPT_LENGTH GREATER 1) + MESSAGE(FATAL_ERROR "CMake deduplication does not allow multiple -Xcompiler flags (${KOKKOS_XCOMPILER_OPTIONS}): will require Kokkos to upgrade to minimum 3.12") + ENDIF() + IF(KOKKOS_XCOMPILER_OPTIONS) + SET(NODEDUP_XCOMPILER_OPTIONS) + FOREACH(OPT ${KOKKOS_XCOMPILER_OPTIONS}) + #I have to do this for now because we can't guarantee 3.12 support + #I really should do this with the shell option + LIST(APPEND NODEDUP_XCOMPILER_OPTIONS -Xcompiler) + LIST(APPEND NODEDUP_XCOMPILER_OPTIONS ${OPT}) + ENDFOREACH() + TARGET_COMPILE_OPTIONS( + ${LIBRARY_NAME} + PUBLIC $<$:${NODEDUP_XCOMPILER_OPTIONS}> + ) + ENDIF() + + IF (KOKKOS_CXX_STANDARD_FEATURE) + #GREAT! I can do this the right way + TARGET_COMPILE_FEATURES(${LIBRARY_NAME} PUBLIC ${KOKKOS_CXX_STANDARD_FEATURE}) + IF (NOT KOKKOS_USE_CXX_EXTENSIONS) + SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES CXX_EXTENSIONS OFF) + ENDIF() + ELSE() + #OH, well, no choice but the wrong way + TARGET_COMPILE_OPTIONS(${LIBRARY_NAME} PUBLIC ${KOKKOS_CXX_STANDARD_FLAG}) + ENDIF() +ENDFUNCTION() + +FUNCTION(KOKKOS_INTERNAL_ADD_LIBRARY LIBRARY_NAME) + CMAKE_PARSE_ARGUMENTS(PARSE + "STATIC;SHARED" + "" + "HEADERS;SOURCES" + ${ARGN}) + + IF(PARSE_HEADERS) + LIST(REMOVE_DUPLICATES PARSE_HEADERS) + ENDIF() + IF(PARSE_SOURCES) + LIST(REMOVE_DUPLICATES PARSE_SOURCES) + ENDIF() + + ADD_LIBRARY( + ${LIBRARY_NAME} + ${PARSE_HEADERS} + ${PARSE_SOURCES} + ) + + KOKKOS_INTERNAL_ADD_LIBRARY_INSTALL(${LIBRARY_NAME}) + + INSTALL( + FILES ${PARSE_HEADERS} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + COMPONENT ${PACKAGE_NAME} + ) + + #In case we are building in-tree, add an alias name + #that matches the install Kokkos:: name + ADD_LIBRARY(Kokkos::${LIBRARY_NAME} ALIAS ${LIBRARY_NAME}) +ENDFUNCTION() + +FUNCTION(KOKKOS_ADD_LIBRARY LIBRARY_NAME) + IF (KOKKOS_HAS_TRILINOS) + TRIBITS_ADD_LIBRARY(${LIBRARY_NAME} ${ARGN}) + #Stolen from Tribits - it can add prefixes + SET(TRIBITS_LIBRARY_NAME_PREFIX "${${PROJECT_NAME}_LIBRARY_NAME_PREFIX}") + SET(TRIBITS_LIBRARY_NAME ${TRIBITS_LIBRARY_NAME_PREFIX}${LIBRARY_NAME}) + #Tribits has way too much techinical debt and baggage to even + #allow PUBLIC target_compile_options to be used. It forces C++ flags on projects + #as a giant blob of space-separated strings. We end up with duplicated + #flags between the flags implicitly forced on Kokkos-dependent and those Kokkos + #has in its public INTERFACE_COMPILE_OPTIONS. + #These do NOT get de-deduplicated because Tribits + #creates flags as a giant monolithic space-separated string + #Do not set any transitive properties and keep everything working as before + #KOKKOS_SET_LIBRARY_PROPERTIES(${TRIBITS_LIBRARY_NAME} PLAIN_STYLE) + ELSE() + KOKKOS_INTERNAL_ADD_LIBRARY( + ${LIBRARY_NAME} ${ARGN}) + KOKKOS_SET_LIBRARY_PROPERTIES(${LIBRARY_NAME}) + ENDIF() +ENDFUNCTION() + +FUNCTION(KOKKOS_ADD_INTERFACE_LIBRARY NAME) +IF (KOKKOS_HAS_TRILINOS) + TRIBITS_ADD_LIBRARY(${NAME} ${ARGN}) +ELSE() + CMAKE_PARSE_ARGUMENTS(PARSE + "" + "" + "HEADERS;SOURCES" + ${ARGN} + ) + + ADD_LIBRARY(${NAME} INTERFACE) + KOKKOS_INTERNAL_ADD_LIBRARY_INSTALL(${NAME}) + + INSTALL( + FILES ${PARSE_HEADERS} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) + + INSTALL( + FILES ${PARSE_HEADERS} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + COMPONENT ${PACKAGE_NAME} + ) +ENDIF() +ENDFUNCTION() + +FUNCTION(KOKKOS_LIB_INCLUDE_DIRECTORIES TARGET) + IF(KOKKOS_HAS_TRILINOS) + #ignore the target, tribits doesn't do anything directly with targets + TRIBITS_INCLUDE_DIRECTORIES(${ARGN}) + ELSE() #append to a list for later + KOKKOS_LIB_TYPE(${TARGET} INCTYPE) + FOREACH(DIR ${ARGN}) + TARGET_INCLUDE_DIRECTORIES(${TARGET} ${INCTYPE} $) + ENDFOREACH() + ENDIF() +ENDFUNCTION() + +FUNCTION(KOKKOS_LIB_COMPILE_OPTIONS TARGET) + IF(KOKKOS_HAS_TRILINOS) + #don't trust tribits to do this correctly + KOKKOS_TARGET_COMPILE_OPTIONS(${TARGET} ${ARGN}) + ELSE() + KOKKOS_LIB_TYPE(${TARGET} INCTYPE) + KOKKOS_TARGET_COMPILE_OPTIONS(${${PROJECT_NAME}_LIBRARY_NAME_PREFIX}${TARGET} ${INCTYPE} ${ARGN}) + ENDIF() +ENDFUNCTION() + +MACRO(KOKKOS_ADD_TEST_DIRECTORIES) + IF (KOKKOS_HAS_TRILINOS) + TRIBITS_ADD_TEST_DIRECTORIES(${ARGN}) + ELSE() + IF(KOKKOS_ENABLE_TESTS) + FOREACH(TEST_DIR ${ARGN}) + ADD_SUBDIRECTORY(${TEST_DIR}) + ENDFOREACH() + ENDIF() + ENDIF() +ENDMACRO() + +MACRO(KOKKOS_ADD_EXAMPLE_DIRECTORIES) + if (KOKKOS_HAS_TRILINOS) + TRIBITS_ADD_EXAMPLE_DIRECTORIES(${ARGN}) + else() + IF(KOKKOS_ENABLE_EXAMPLES) + FOREACH(EXAMPLE_DIR ${ARGN}) + ADD_SUBDIRECTORY(${EXAMPLE_DIR}) + ENDFOREACH() + ENDIF() + endif() +ENDMACRO() diff --git a/lib/kokkos/cmake/msvc.cmake b/lib/kokkos/cmake/msvc.cmake new file mode 100644 index 0000000000000000000000000000000000000000..85421bdbaaa46dd5d671f4e86b50d52b25d98d30 --- /dev/null +++ b/lib/kokkos/cmake/msvc.cmake @@ -0,0 +1,11 @@ + +FUNCTION(kokkos_set_msvc_flags full_standard int_standard) + IF (CMAKE_CXX_EXTENSIONS) + SET(KOKKOS_CXX_STANDARD_FLAG "" PARENT_SCOPE) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD_FLAG "" PARENT_SCOPE) + ELSE() + SET(KOKKOS_CXX_STANDARD_FLAG "" PARENT_SCOPE) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD_FLAG "" PARENT_SCOPE) + ENDIF() +ENDFUNCTION() + diff --git a/lib/kokkos/cmake/pgi.cmake b/lib/kokkos/cmake/pgi.cmake new file mode 100644 index 0000000000000000000000000000000000000000..e98e84955888496225e9268c7db47ef514f08a48 --- /dev/null +++ b/lib/kokkos/cmake/pgi.cmake @@ -0,0 +1,8 @@ + +function(kokkos_set_pgi_flags full_standard int_standard) + STRING(TOLOWER ${full_standard} FULL_LC_STANDARD) + STRING(TOLOWER ${int_standard} INT_LC_STANDARD) + SET(KOKKOS_CXX_STANDARD_FLAG "--c++${FULL_LC_STANDARD}" PARENT_SCOPE) + SET(KOKKOS_CXX_INTERMDIATE_STANDARD_FLAG "--c++${INT_LC_STANDARD}" PARENT_SCOPE) +endfunction() + diff --git a/lib/kokkos/cmake/tpls/FindTPLCUSPARSE.cmake b/lib/kokkos/cmake/tpls/FindTPLCUSPARSE.cmake index aad1e2bad7629f3f43ca91135752253a20ac9523..a59868b73bc203f69d992b3a19f569a20b359761 100644 --- a/lib/kokkos/cmake/tpls/FindTPLCUSPARSE.cmake +++ b/lib/kokkos/cmake/tpls/FindTPLCUSPARSE.cmake @@ -55,19 +55,9 @@ # Check for CUDA support -IF (NOT TPL_ENABLE_CUDA OR CUDA_VERSION VERSION_LESS "4.1") - MESSAGE(FATAL_ERROR "\nCUSPARSE: did not find acceptable version of CUDA libraries (4.1 or greater)") +IF (NOT TPL_ENABLE_CUDA) + MESSAGE(FATAL_ERROR "\nCUSPARSE requires CUDA") ELSE() - IF(CMAKE_VERSION VERSION_LESS "2.8.8") - # FindCUDA before CMake 2.8.8 does not find cusparse library; therefore, we must - find_library(CUDA_cusparse_LIBRARY - cusparse - HINTS ${CUDA_TOOLKIT_ROOT_DIR}/lib - ) - IF(CUDA_cusparse_LIBRARY STREQUAL "CUDA_cusparse_LIBRARY-NOTFOUND") - MESSAGE(FATAL_ERROR "\nCUSPARSE: could not find cuspasre library.") - ENDIF() - ENDIF(CMAKE_VERSION VERSION_LESS "2.8.8") GLOBAL_SET(TPL_CUSPARSE_LIBRARY_DIRS) GLOBAL_SET(TPL_CUSPARSE_INCLUDE_DIRS ${TPL_CUDA_INCLUDE_DIRS}) GLOBAL_SET(TPL_CUSPARSE_LIBRARIES ${CUDA_cusparse_LIBRARY}) diff --git a/lib/kokkos/cmake/tpls/FindTPLHWLOC.cmake b/lib/kokkos/cmake/tpls/FindTPLHWLOC.cmake index 715b3e9bde59379c632fbec7926b425e6189e74d..a4c55e1d7b695697b458a4c00e5cb5a72a531353 100644 --- a/lib/kokkos/cmake/tpls/FindTPLHWLOC.cmake +++ b/lib/kokkos/cmake/tpls/FindTPLHWLOC.cmake @@ -64,7 +64,7 @@ # Version: 1.3 # -TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( HWLOC +KOKKOS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( HWLOC REQUIRED_HEADERS hwloc.h REQUIRED_LIBS_NAMES "hwloc" ) diff --git a/lib/kokkos/cmake/tpls/FindTPLPthread.cmake b/lib/kokkos/cmake/tpls/FindTPLPthread.cmake index fc401d7543357f18d225a33efe0cf3bb489170d7..4dc1a87e18681d1c84b0706b48c8d09731b21732 100644 --- a/lib/kokkos/cmake/tpls/FindTPLPthread.cmake +++ b/lib/kokkos/cmake/tpls/FindTPLPthread.cmake @@ -75,7 +75,7 @@ IF(USE_THREADS) SET(TPL_Pthread_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}") SET(TPL_Pthread_LIBRARY_DIRS "") ELSE() - TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( Pthread + KOKKOS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( Pthread REQUIRED_HEADERS pthread.h REQUIRED_LIBS_NAMES pthread ) diff --git a/lib/kokkos/cmake/tpls/FindTPLQTHREADS.cmake b/lib/kokkos/cmake/tpls/FindTPLQTHREADS.cmake deleted file mode 100644 index c312f2590bcd29197a0cf3fbd5e0b484579a09c2..0000000000000000000000000000000000000000 --- a/lib/kokkos/cmake/tpls/FindTPLQTHREADS.cmake +++ /dev/null @@ -1,69 +0,0 @@ -# @HEADER -# ************************************************************************ -# -# Trilinos: An Object-Oriented Solver Framework -# Copyright (2001) Sandia Corporation -# -# -# Copyright (2001) Sandia Corporation. Under the terms of Contract -# DE-AC04-94AL85000, there is a non-exclusive license for use of this -# work by or on behalf of the U.S. Government. Export of this program -# may require a license from the United States Government. -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# 3. Neither the name of the Corporation nor the names of the -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# NOTICE: The United States Government is granted for itself and others -# acting on its behalf a paid-up, nonexclusive, irrevocable worldwide -# license in this data to reproduce, prepare derivative works, and -# perform publicly and display publicly. Beginning five (5) years from -# July 25, 2001, the United States Government is granted for itself and -# others acting on its behalf a paid-up, nonexclusive, irrevocable -# worldwide license in this data to reproduce, prepare derivative works, -# distribute copies to the public, perform publicly and display -# publicly, and to permit others to do so. -# -# NEITHER THE UNITED STATES GOVERNMENT, NOR THE UNITED STATES DEPARTMENT -# OF ENERGY, NOR SANDIA CORPORATION, NOR ANY OF THEIR EMPLOYEES, MAKES -# ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR -# RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY -# INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS -# THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. -# -# ************************************************************************ -# @HEADER - - -#----------------------------------------------------------------------------- -# Hardware locality detection and control library. -# -# Acquisition information: -# Date checked: July 2014 -# Checked by: H. Carter Edwards -# Source: https://code.google.com/p/qthreads -# - -TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES( QTHREADS - REQUIRED_HEADERS qthread.h - REQUIRED_LIBS_NAMES "qthread" - ) diff --git a/lib/kokkos/cmake/tribits.cmake b/lib/kokkos/cmake/tribits.cmake deleted file mode 100644 index 1f467f0662e0c2154a53a0c5fcb46aea8be5de43..0000000000000000000000000000000000000000 --- a/lib/kokkos/cmake/tribits.cmake +++ /dev/null @@ -1,531 +0,0 @@ -INCLUDE(CMakeParseArguments) -INCLUDE(CTest) - -cmake_policy(SET CMP0054 NEW) - -MESSAGE(STATUS "The project name is: ${PROJECT_NAME}") - -IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_OpenMP) - SET(${PROJECT_NAME}_ENABLE_OpenMP OFF) -ENDIF() - -IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_HPX) - SET(${PROJECT_NAME}_ENABLE_HPX OFF) -ENDIF() - -IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_DEBUG) - SET(${PROJECT_NAME}_ENABLE_DEBUG OFF) -ENDIF() - -IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_CXX11) - SET(${PROJECT_NAME}_ENABLE_CXX11 ON) -ENDIF() - -IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_TESTS) - SET(${PROJECT_NAME}_ENABLE_TESTS OFF) -ENDIF() - -IF(NOT DEFINED TPL_ENABLE_Pthread) - SET(TPL_ENABLE_Pthread OFF) -ENDIF() - -FUNCTION(ASSERT_DEFINED VARS) - FOREACH(VAR ${VARS}) - IF(NOT DEFINED ${VAR}) - MESSAGE(SEND_ERROR "Error, the variable ${VAR} is not defined!") - ENDIF() - ENDFOREACH() -ENDFUNCTION() - -MACRO(GLOBAL_SET VARNAME) - SET(${VARNAME} ${ARGN} CACHE INTERNAL "") -ENDMACRO() - -MACRO(PREPEND_GLOBAL_SET VARNAME) - ASSERT_DEFINED(${VARNAME}) - GLOBAL_SET(${VARNAME} ${ARGN} ${${VARNAME}}) -ENDMACRO() - -#FUNCTION(REMOVE_GLOBAL_DUPLICATES VARNAME) -# ASSERT_DEFINED(${VARNAME}) -# IF (${VARNAME}) -# SET(TMP ${${VARNAME}}) -# LIST(REMOVE_DUPLICATES TMP) -# GLOBAL_SET(${VARNAME} ${TMP}) -# ENDIF() -#ENDFUNCTION() - -#MACRO(TRIBITS_ADD_OPTION_AND_DEFINE USER_OPTION_NAME MACRO_DEFINE_NAME DOCSTRING DEFAULT_VALUE) -# MESSAGE(STATUS "TRIBITS_ADD_OPTION_AND_DEFINE: '${USER_OPTION_NAME}' '${MACRO_DEFINE_NAME}' '${DEFAULT_VALUE}'") -# SET( ${USER_OPTION_NAME} "${DEFAULT_VALUE}" CACHE BOOL "${DOCSTRING}" ) -# IF(NOT ${MACRO_DEFINE_NAME} STREQUAL "") -# IF(${USER_OPTION_NAME}) -# GLOBAL_SET(${MACRO_DEFINE_NAME} ON) -# ELSE() -# GLOBAL_SET(${MACRO_DEFINE_NAME} OFF) -# ENDIF() -# ENDIF() -#ENDMACRO() - -FUNCTION(TRIBITS_CONFIGURE_FILE PACKAGE_NAME_CONFIG_FILE) - - # Configure the file - CONFIGURE_FILE( - ${PACKAGE_SOURCE_DIR}/cmake/${PACKAGE_NAME_CONFIG_FILE}.in - ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME_CONFIG_FILE} - ) - -ENDFUNCTION() - -#MACRO(TRIBITS_ADD_DEBUG_OPTION) -# TRIBITS_ADD_OPTION_AND_DEFINE( -# ${PROJECT_NAME}_ENABLE_DEBUG -# HAVE_${PROJECT_NAME_UC}_DEBUG -# "Enable a host of runtime debug checking." -# OFF -# ) -#ENDMACRO() - - -MACRO(TRIBITS_ADD_TEST_DIRECTORIES) - IF(${${PROJECT_NAME}_ENABLE_TESTS}) - FOREACH(TEST_DIR ${ARGN}) - ADD_SUBDIRECTORY(${TEST_DIR}) - ENDFOREACH() - ENDIF() -ENDMACRO() - -MACRO(TRIBITS_ADD_EXAMPLE_DIRECTORIES) - IF(${PACKAGE_NAME}_ENABLE_EXAMPLES OR ${PARENT_PACKAGE_NAME}_ENABLE_EXAMPLES) - FOREACH(EXAMPLE_DIR ${ARGN}) - ADD_SUBDIRECTORY(${EXAMPLE_DIR}) - ENDFOREACH() - ENDIF() -ENDMACRO() - - -function(INCLUDE_DIRECTORIES) - cmake_parse_arguments(INCLUDE_DIRECTORIES "REQUIRED_DURING_INSTALLATION_TESTING" "" "" ${ARGN}) - _INCLUDE_DIRECTORIES(${INCLUDE_DIRECTORIES_UNPARSED_ARGUMENTS}) -endfunction() - - -MACRO(TARGET_TRANSFER_PROPERTY TARGET_NAME PROP_IN PROP_OUT) - SET(PROP_VALUES) - FOREACH(TARGET_X ${ARGN}) - LIST(APPEND PROP_VALUES "$") - ENDFOREACH() - SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES ${PROP_OUT} "${PROP_VALUES}") -ENDMACRO() - -MACRO(ADD_INTERFACE_LIBRARY LIB_NAME) - FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp "") - ADD_LIBRARY(${LIB_NAME} STATIC ${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp) - SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES INTERFACE TRUE) -ENDMACRO() - -# Older versions of cmake does not make include directories transitive -MACRO(TARGET_LINK_AND_INCLUDE_LIBRARIES TARGET_NAME) - TARGET_LINK_LIBRARIES(${TARGET_NAME} LINK_PUBLIC ${ARGN}) - FOREACH(DEP_LIB ${ARGN}) - TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME} PUBLIC $) - TARGET_INCLUDE_DIRECTORIES(${TARGET_NAME} PUBLIC $) - ENDFOREACH() -ENDMACRO() - -FUNCTION(TRIBITS_ADD_LIBRARY LIBRARY_NAME) - - SET(options STATIC SHARED TESTONLY NO_INSTALL_LIB_OR_HEADERS CUDALIBRARY) - SET(oneValueArgs) - SET(multiValueArgs HEADERS HEADERS_INSTALL_SUBDIR NOINSTALLHEADERS SOURCES DEPLIBS IMPORTEDLIBS DEFINES ADDED_LIB_TARGET_NAME_OUT) - - CMAKE_PARSE_ARGUMENTS(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - - IF(PARSE_HEADERS) - LIST(REMOVE_DUPLICATES PARSE_HEADERS) - ENDIF() - IF(PARSE_SOURCES) - LIST(REMOVE_DUPLICATES PARSE_SOURCES) - ENDIF() - - # Local variable to hold all of the libraries that will be directly linked - # to this library. - SET(LINK_LIBS ${${PACKAGE_NAME}_DEPS}) - - # Add dependent libraries passed directly in - - IF (PARSE_IMPORTEDLIBS) - LIST(APPEND LINK_LIBS ${PARSE_IMPORTEDLIBS}) - ENDIF() - - IF (PARSE_DEPLIBS) - LIST(APPEND LINK_LIBS ${PARSE_DEPLIBS}) - ENDIF() - - # Add the library and all the dependencies - - IF (PARSE_DEFINES) - ADD_DEFINITIONS(${PARSE_DEFINES}) - ENDIF() - - IF (PARSE_STATIC) - SET(STATIC_KEYWORD "STATIC") - ELSE() - SET(STATIC_KEYWORD) - ENDIF() - - IF (PARSE_SHARED) - SET(SHARED_KEYWORD "SHARED") - ELSE() - SET(SHARED_KEYWORD) - ENDIF() - - IF (PARSE_TESTONLY) - SET(EXCLUDE_FROM_ALL_KEYWORD "EXCLUDE_FROM_ALL") - ELSE() - SET(EXCLUDE_FROM_ALL_KEYWORD) - ENDIF() - IF (NOT PARSE_CUDALIBRARY) - ADD_LIBRARY( - ${LIBRARY_NAME} - ${STATIC_KEYWORD} - ${SHARED_KEYWORD} - ${EXCLUDE_FROM_ALL_KEYWORD} - ${PARSE_HEADERS} - ${PARSE_NOINSTALLHEADERS} - ${PARSE_SOURCES} - ) - ELSE() - CUDA_ADD_LIBRARY( - ${LIBRARY_NAME} - ${PARSE_HEADERS} - ${PARSE_NOINSTALLHEADERS} - ${PARSE_SOURCES} - ) - ENDIF() - - TARGET_LINK_AND_INCLUDE_LIBRARIES(${LIBRARY_NAME} ${LINK_LIBS}) - - IF (NOT PARSE_TESTONLY OR PARSE_NO_INSTALL_LIB_OR_HEADERS) - - INSTALL( - TARGETS ${LIBRARY_NAME} - EXPORT ${PROJECT_NAME} - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - COMPONENT ${PACKAGE_NAME} - ) - - INSTALL( - FILES ${PARSE_HEADERS} - EXPORT ${PROJECT_NAME} - DESTINATION include - COMPONENT ${PACKAGE_NAME} - ) - - INSTALL( - DIRECTORY ${PARSE_HEADERS_INSTALL_SUBDIR} - EXPORT ${PROJECT_NAME} - DESTINATION include - COMPONENT ${PACKAGE_NAME} - ) - - ENDIF() - - IF (NOT PARSE_TESTONLY) - PREPEND_GLOBAL_SET(${PACKAGE_NAME}_LIBS ${LIBRARY_NAME}) - REMOVE_GLOBAL_DUPLICATES(${PACKAGE_NAME}_LIBS) - ENDIF() - -ENDFUNCTION() - -FUNCTION(TRIBITS_ADD_EXECUTABLE EXE_NAME) - - SET(options NOEXEPREFIX NOEXESUFFIX ADD_DIR_TO_NAME INSTALLABLE TESTONLY) - SET(oneValueArgs ADDED_EXE_TARGET_NAME_OUT) - SET(multiValueArgs SOURCES CATEGORIES HOST XHOST HOSTTYPE XHOSTTYPE DIRECTORY TESTONLYLIBS IMPORTEDLIBS DEPLIBS COMM LINKER_LANGUAGE TARGET_DEFINES DEFINES) - - CMAKE_PARSE_ARGUMENTS(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - - IF (PARSE_TARGET_DEFINES) - TARGET_COMPILE_DEFINITIONS(${EXE_NAME} PUBLIC ${PARSE_TARGET_DEFINES}) - ENDIF() - - SET(LINK_LIBS PACKAGE_${PACKAGE_NAME}) - - IF (PARSE_TESTONLYLIBS) - LIST(APPEND LINK_LIBS ${PARSE_TESTONLYLIBS}) - ENDIF() - - IF (PARSE_IMPORTEDLIBS) - LIST(APPEND LINK_LIBS ${PARSE_IMPORTEDLIBS}) - ENDIF() - - SET (EXE_SOURCES) - IF(PARSE_DIRECTORY) - FOREACH( SOURCE_FILE ${PARSE_SOURCES} ) - IF(IS_ABSOLUTE ${SOURCE_FILE}) - SET (EXE_SOURCES ${EXE_SOURCES} ${SOURCE_FILE}) - ELSE() - SET (EXE_SOURCES ${EXE_SOURCES} ${PARSE_DIRECTORY}/${SOURCE_FILE}) - ENDIF() - ENDFOREACH( ) - ELSE() - FOREACH( SOURCE_FILE ${PARSE_SOURCES} ) - SET (EXE_SOURCES ${EXE_SOURCES} ${SOURCE_FILE}) - ENDFOREACH( ) - ENDIF() - - SET(EXE_BINARY_NAME ${EXE_NAME}) - IF(DEFINED PACKAGE_NAME AND NOT PARSE_NOEXEPREFIX) - SET(EXE_BINARY_NAME ${PACKAGE_NAME}_${EXE_BINARY_NAME}) - ENDIF() - - # IF (PARSE_TESTONLY) - # SET(EXCLUDE_FROM_ALL_KEYWORD "EXCLUDE_FROM_ALL") - # ELSE() - # SET(EXCLUDE_FROM_ALL_KEYWORD) - # ENDIF() - ADD_EXECUTABLE(${EXE_BINARY_NAME} ${EXCLUDE_FROM_ALL_KEYWORD} ${EXE_SOURCES}) - - TARGET_LINK_AND_INCLUDE_LIBRARIES(${EXE_BINARY_NAME} ${LINK_LIBS}) - - IF(PARSE_ADDED_EXE_TARGET_NAME_OUT) - SET(${PARSE_ADDED_EXE_TARGET_NAME_OUT} ${EXE_BINARY_NAME} PARENT_SCOPE) - ENDIF() - - IF(PARSE_INSTALLABLE) - INSTALL( - TARGETS ${EXE_BINARY_NAME} - EXPORT ${PROJECT_NAME} - DESTINATION bin - ) - ENDIF() -ENDFUNCTION() - -IF(NOT TARGET check) - ADD_CUSTOM_TARGET(check COMMAND ${CMAKE_CTEST_COMMAND} -VV -C ${CMAKE_CFG_INTDIR}) -ENDIF() - -FUNCTION(TRIBITS_ADD_TEST) -ENDFUNCTION() -FUNCTION(TRIBITS_TPL_TENTATIVELY_ENABLE) -ENDFUNCTION() - -FUNCTION(TRIBITS_ADD_ADVANCED_TEST) - # TODO Write this -ENDFUNCTION() - -FUNCTION(TRIBITS_ADD_EXECUTABLE_AND_TEST EXE_NAME) - - SET(options STANDARD_PASS_OUTPUT WILL_FAIL) - SET(oneValueArgs PASS_REGULAR_EXPRESSION FAIL_REGULAR_EXPRESSION ENVIRONMENT TIMEOUT CATEGORIES ADDED_TESTS_NAMES_OUT ADDED_EXE_TARGET_NAME_OUT) - SET(multiValueArgs) - - CMAKE_PARSE_ARGUMENTS(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - - TRIBITS_ADD_EXECUTABLE(${EXE_NAME} TESTONLY ADDED_EXE_TARGET_NAME_OUT TEST_NAME ${PARSE_UNPARSED_ARGUMENTS}) - - IF(WIN32) - ADD_TEST(NAME ${TEST_NAME} WORKING_DIRECTORY ${LIBRARY_OUTPUT_PATH} COMMAND ${TEST_NAME}${CMAKE_EXECUTABLE_SUFFIX}) - ELSE() - ADD_TEST(NAME ${TEST_NAME} COMMAND ${TEST_NAME}) - ENDIF() - ADD_DEPENDENCIES(check ${TEST_NAME}) - - IF(PARSE_FAIL_REGULAR_EXPRESSION) - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES FAIL_REGULAR_EXPRESSION ${PARSE_FAIL_REGULAR_EXPRESSION}) - ENDIF() - - IF(PARSE_PASS_REGULAR_EXPRESSION) - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES PASS_REGULAR_EXPRESSION ${PARSE_PASS_REGULAR_EXPRESSION}) - ENDIF() - - IF(PARSE_WILL_FAIL) - SET_TESTS_PROPERTIES(${TEST_NAME} PROPERTIES WILL_FAIL ${PARSE_WILL_FAIL}) - ENDIF() - - IF(PARSE_ADDED_TESTS_NAMES_OUT) - SET(${PARSE_ADDED_TESTS_NAMES_OUT} ${TEST_NAME} PARENT_SCOPE) - ENDIF() - - IF(PARSE_ADDED_EXE_TARGET_NAME_OUT) - SET(${PARSE_ADDED_EXE_TARGET_NAME_OUT} ${TEST_NAME} PARENT_SCOPE) - ENDIF() - -ENDFUNCTION() - -MACRO(TIBITS_CREATE_IMPORTED_TPL_LIBRARY TPL_NAME) - ADD_INTERFACE_LIBRARY(TPL_LIB_${TPL_NAME}) - TARGET_LINK_LIBRARIES(TPL_LIB_${TPL_NAME} LINK_PUBLIC ${TPL_${TPL_NAME}_LIBRARIES}) - TARGET_INCLUDE_DIRECTORIES(TPL_LIB_${TPL_NAME} INTERFACE ${TPL_${TPL_NAME}_INCLUDE_DIRS}) -ENDMACRO() - -FUNCTION(TRIBITS_TPL_FIND_INCLUDE_DIRS_AND_LIBRARIES TPL_NAME) - - SET(options MUST_FIND_ALL_LIBS MUST_FIND_ALL_HEADERS NO_PRINT_ENABLE_SUCCESS_FAIL) - SET(oneValueArgs) - SET(multiValueArgs REQUIRED_HEADERS REQUIRED_LIBS_NAMES) - - CMAKE_PARSE_ARGUMENTS(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - - SET(_${TPL_NAME}_ENABLE_SUCCESS TRUE) - IF (PARSE_REQUIRED_LIBS_NAMES) - FIND_LIBRARY(TPL_${TPL_NAME}_LIBRARIES NAMES ${PARSE_REQUIRED_LIBS_NAMES}) - IF(NOT TPL_${TPL_NAME}_LIBRARIES) - SET(_${TPL_NAME}_ENABLE_SUCCESS FALSE) - ENDIF() - ENDIF() - IF (PARSE_REQUIRED_HEADERS) - FIND_PATH(TPL_${TPL_NAME}_INCLUDE_DIRS NAMES ${PARSE_REQUIRED_HEADERS}) - IF(NOT TPL_${TPL_NAME}_INCLUDE_DIRS) - SET(_${TPL_NAME}_ENABLE_SUCCESS FALSE) - ENDIF() - ENDIF() - - - IF (_${TPL_NAME}_ENABLE_SUCCESS) - TIBITS_CREATE_IMPORTED_TPL_LIBRARY(${TPL_NAME}) - ENDIF() - -ENDFUNCTION() - -#MACRO(TRIBITS_PROCESS_TPL_DEP_FILE TPL_FILE) -# GET_FILENAME_COMPONENT(TPL_NAME ${TPL_FILE} NAME_WE) -# INCLUDE("${TPL_FILE}") -# IF(TARGET TPL_LIB_${TPL_NAME}) -# MESSAGE(STATUS "Found tpl library: ${TPL_NAME}") -# SET(TPL_ENABLE_${TPL_NAME} TRUE) -# ELSE() -# MESSAGE(STATUS "Tpl library not found: ${TPL_NAME}") -# SET(TPL_ENABLE_${TPL_NAME} FALSE) -# ENDIF() -#ENDMACRO() - -MACRO(PREPEND_TARGET_SET VARNAME TARGET_NAME TYPE) - IF(TYPE STREQUAL "REQUIRED") - SET(REQUIRED TRUE) - ELSE() - SET(REQUIRED FALSE) - ENDIF() - IF(TARGET ${TARGET_NAME}) - PREPEND_GLOBAL_SET(${VARNAME} ${TARGET_NAME}) - ELSE() - IF(REQUIRED) - MESSAGE(FATAL_ERROR "Missing dependency ${TARGET_NAME}") - ENDIF() - ENDIF() -ENDMACRO() - -MACRO(TRIBITS_APPEND_PACKAGE_DEPS DEP_LIST TYPE) - FOREACH(DEP ${ARGN}) - PREPEND_GLOBAL_SET(${DEP_LIST} PACKAGE_${DEP}) - ENDFOREACH() -ENDMACRO() - -MACRO(TRIBITS_APPEND_TPLS_DEPS DEP_LIST TYPE) - FOREACH(DEP ${ARGN}) - PREPEND_TARGET_SET(${DEP_LIST} TPL_LIB_${DEP} ${TYPE}) - ENDFOREACH() -ENDMACRO() - -MACRO(TRIBITS_ENABLE_TPLS) - FOREACH(TPL ${ARGN}) - IF(TARGET ${TPL}) - GLOBAL_SET(${PACKAGE_NAME}_ENABLE_${TPL} TRUE) - ELSE() - GLOBAL_SET(${PACKAGE_NAME}_ENABLE_${TPL} FALSE) - ENDIF() - ENDFOREACH() -ENDMACRO() - -MACRO(TRIBITS_PACKAGE_DEFINE_DEPENDENCIES) - - SET(options) - SET(oneValueArgs) - SET(multiValueArgs - LIB_REQUIRED_PACKAGES - LIB_OPTIONAL_PACKAGES - TEST_REQUIRED_PACKAGES - TEST_OPTIONAL_PACKAGES - LIB_REQUIRED_TPLS - LIB_OPTIONAL_TPLS - TEST_REQUIRED_TPLS - TEST_OPTIONAL_TPLS - REGRESSION_EMAIL_LIST - SUBPACKAGES_DIRS_CLASSIFICATIONS_OPTREQS - ) - CMAKE_PARSE_ARGUMENTS(PARSE "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - - GLOBAL_SET(${PACKAGE_NAME}_DEPS "") - TRIBITS_APPEND_PACKAGE_DEPS(${PACKAGE_NAME}_DEPS REQUIRED ${PARSE_LIB_REQUIRED_PACKAGES}) - TRIBITS_APPEND_PACKAGE_DEPS(${PACKAGE_NAME}_DEPS OPTIONAL ${PARSE_LIB_OPTIONAL_PACKAGES}) - TRIBITS_APPEND_TPLS_DEPS(${PACKAGE_NAME}_DEPS REQUIRED ${PARSE_LIB_REQUIRED_TPLS}) - TRIBITS_APPEND_TPLS_DEPS(${PACKAGE_NAME}_DEPS OPTIONAL ${PARSE_LIB_OPTIONAL_TPLS}) - - GLOBAL_SET(${PACKAGE_NAME}_TEST_DEPS "") - TRIBITS_APPEND_PACKAGE_DEPS(${PACKAGE_NAME}_TEST_DEPS REQUIRED ${PARSE_TEST_REQUIRED_PACKAGES}) - TRIBITS_APPEND_PACKAGE_DEPS(${PACKAGE_NAME}_TEST_DEPS OPTIONAL ${PARSE_TEST_OPTIONAL_PACKAGES}) - TRIBITS_APPEND_TPLS_DEPS(${PACKAGE_NAME}_TEST_DEPS REQUIRED ${PARSE_TEST_REQUIRED_TPLS}) - TRIBITS_APPEND_TPLS_DEPS(${PACKAGE_NAME}_TEST_DEPS OPTIONAL ${PARSE_TEST_OPTIONAL_TPLS}) - - TRIBITS_ENABLE_TPLS(${PARSE_LIB_REQUIRED_TPLS} ${PARSE_LIB_OPTIONAL_TPLS} ${PARSE_TEST_REQUIRED_TPLS} ${PARSE_TEST_OPTIONAL_TPLS}) - -ENDMACRO() - -MACRO(TRIBITS_SUBPACKAGE NAME) - SET(PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - SET(PARENT_PACKAGE_NAME ${PACKAGE_NAME}) - SET(PACKAGE_NAME ${PACKAGE_NAME}${NAME}) - STRING(TOUPPER ${PACKAGE_NAME} PACKAGE_NAME_UC) - SET(${PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - - ADD_INTERFACE_LIBRARY(PACKAGE_${PACKAGE_NAME}) - - GLOBAL_SET(${PACKAGE_NAME}_LIBS "") - - INCLUDE(${PACKAGE_SOURCE_DIR}/cmake/Dependencies.cmake) - -ENDMACRO(TRIBITS_SUBPACKAGE) - -MACRO(TRIBITS_SUBPACKAGE_POSTPROCESS) - TARGET_LINK_AND_INCLUDE_LIBRARIES(PACKAGE_${PACKAGE_NAME} ${${PACKAGE_NAME}_LIBS}) -ENDMACRO(TRIBITS_SUBPACKAGE_POSTPROCESS) - -MACRO(TRIBITS_PACKAGE_DECL NAME) - - SET(PACKAGE_NAME ${NAME}) - SET(${PACKAGE_NAME}_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) - STRING(TOUPPER ${PACKAGE_NAME} PACKAGE_NAME_UC) - - #SET(TRIBITS_DEPS_DIR "${CMAKE_SOURCE_DIR}/cmake/deps") - #FILE(GLOB TPLS_FILES "${TRIBITS_DEPS_DIR}/*.cmake") - #FOREACH(TPL_FILE ${TPLS_FILES}) - # TRIBITS_PROCESS_TPL_DEP_FILE(${TPL_FILE}) - #ENDFOREACH() - -ENDMACRO() - - -MACRO(TRIBITS_PROCESS_SUBPACKAGES) - FILE(GLOB SUBPACKAGES RELATIVE ${CMAKE_SOURCE_DIR} */cmake/Dependencies.cmake) - FOREACH(SUBPACKAGE ${SUBPACKAGES}) - GET_FILENAME_COMPONENT(SUBPACKAGE_CMAKE ${SUBPACKAGE} DIRECTORY) - GET_FILENAME_COMPONENT(SUBPACKAGE_DIR ${SUBPACKAGE_CMAKE} DIRECTORY) - ADD_SUBDIRECTORY(${CMAKE_BINARY_DIR}/../${SUBPACKAGE_DIR}) - ENDFOREACH() -ENDMACRO(TRIBITS_PROCESS_SUBPACKAGES) - -MACRO(TRIBITS_PACKAGE_DEF) -ENDMACRO(TRIBITS_PACKAGE_DEF) - -MACRO(TRIBITS_EXCLUDE_AUTOTOOLS_FILES) -ENDMACRO(TRIBITS_EXCLUDE_AUTOTOOLS_FILES) - -MACRO(TRIBITS_EXCLUDE_FILES) -ENDMACRO(TRIBITS_EXCLUDE_FILES) - -MACRO(TRIBITS_PACKAGE_POSTPROCESS) -ENDMACRO(TRIBITS_PACKAGE_POSTPROCESS) - diff --git a/lib/kokkos/config/test_all_sandia b/lib/kokkos/config/test_all_sandia index d94c38cbc698be3f54e3c82b47faa3561c03f520..193a162a4e6e385db674d7b3410fe39f81d4e648 100755 --- a/lib/kokkos/config/test_all_sandia +++ b/lib/kokkos/config/test_all_sandia @@ -76,19 +76,18 @@ CLANG_BUILD_LIST="Pthread,Serial,Pthread_Serial" CUDA_BUILD_LIST="Cuda_OpenMP,Cuda_Pthread,Cuda_Serial" CUDA_IBM_BUILD_LIST="Cuda_OpenMP,Cuda_Serial" -GCC_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wignored-qualifiers,-Wempty-body,-Wclobbered,-Wuninitialized" -IBM_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -CLANG_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -INTEL_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -#CUDA_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -CUDA_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Wsign-compare,-Wtype-limits,-Wuninitialized" +GCC_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wignored-qualifiers,-Wempty-body,-Wclobbered,-Wuninitialized" +IBM_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" +CLANG_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" +INTEL_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" +#CUDA_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" +CUDA_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Wsign-compare,-Wtype-limits,-Wuninitialized" PGI_WARNING_FLAGS="" # Default. Machine specific can override. DEBUG=False ARGS="" CUSTOM_BUILD_LIST="" -QTHREADS_PATH="" DRYRUN=False BUILD_ONLY=False declare -i NUM_JOBS_TO_RUN_IN_PARALLEL=1 @@ -114,9 +113,6 @@ do --kokkos-path*) KOKKOS_PATH="${key#*=}" ;; - --qthreads-path*) - QTHREADS_PATH="${key#*=}" - ;; --build-list*) CUSTOM_BUILD_LIST="${key#*=}" ;; @@ -417,8 +413,8 @@ if [ "$PRINT_HELP" = "True" ]; then echo "--build-list=BUILD,BUILD,BUILD..." echo " Provide a comma-separated list of builds instead of running all builds" echo " Valid items:" - echo " OpenMP, Pthread, Qthreads, Serial, OpenMP_Serial, Pthread_Serial" - echo " Qthreads_Serial, Cuda_OpenMP, Cuda_Pthread, Cuda_Serial" + echo " OpenMP, Pthread, Serial, OpenMP_Serial, Pthread_Serial" + echo " Cuda_OpenMP, Cuda_Pthread, Cuda_Serial" echo "" echo "ARGS: list of expressions matching compilers to test" @@ -483,33 +479,6 @@ for ARG in $ARGS; do done done -# Check if Qthreads build requested. -HAVE_QTHREADS_BUILD="False" -if [ -n "$CUSTOM_BUILD_LIST" ]; then - if [[ "$CUSTOM_BUILD_LIST" = *Qthreads* ]]; then - HAVE_QTHREADS_BUILD="True" - fi -else - for COMPILER_DATA in "${COMPILERS[@]}"; do - ARR=($COMPILER_DATA) - BUILD_LIST=${ARR[2]} - if [[ "$BUILD_LIST" = *Qthreads* ]]; then - HAVE_QTHREADS_BUILD="True" - fi - done -fi - -# Ensure Qthreads path is set if Qthreads build is requested. -if [ "$HAVE_QTHREADS_BUILD" = "True" ]; then - if [ -z "$QTHREADS_PATH" ]; then - echo "Need to supply Qthreads path (--qthreads-path) when testing Qthreads backend." >&2 - exit 1 - else - # Strip trailing slashes from path. - QTHREADS_PATH=$(echo $QTHREADS_PATH | sed 's/\/*$//') - fi -fi - # # Functions. # @@ -627,14 +596,6 @@ single_build_and_test() { local extra_args=--with-hwloc=$(dirname $(dirname $(which hwloc-info))) fi - if [[ "$build" = *Qthreads* ]]; then - if [[ "$build_type" = hwloc* ]]; then - local extra_args="$extra_args --qthreads-path=${QTHREADS_PATH}_hwloc" - else - local extra_args="$extra_args --qthreads-path=$QTHREADS_PATH" - fi - fi - if [[ "$OPT_FLAG" = "" ]]; then OPT_FLAG="-O3" fi diff --git a/lib/kokkos/containers/CMakeLists.txt b/lib/kokkos/containers/CMakeLists.txt index c37aa3e3e21e22ef1a1e8160d885d91884d9a62d..2bfaea7a13ebca4d3f971afe36b8935ebed21e13 100644 --- a/lib/kokkos/containers/CMakeLists.txt +++ b/lib/kokkos/containers/CMakeLists.txt @@ -1,13 +1,10 @@ - - -TRIBITS_SUBPACKAGE(Containers) - - -IF(KOKKOS_HAS_TRILINOS) - ADD_SUBDIRECTORY(src) -ENDIF() - -TRIBITS_ADD_TEST_DIRECTORIES(unit_tests) -TRIBITS_ADD_TEST_DIRECTORIES(performance_tests) - -TRIBITS_SUBPACKAGE_POSTPROCESS() + + +KOKKOS_SUBPACKAGE(Containers) + +ADD_SUBDIRECTORY(src) + +KOKKOS_ADD_TEST_DIRECTORIES(unit_tests) +KOKKOS_ADD_TEST_DIRECTORIES(performance_tests) + +KOKKOS_SUBPACKAGE_POSTPROCESS() diff --git a/lib/kokkos/containers/performance_tests/CMakeLists.txt b/lib/kokkos/containers/performance_tests/CMakeLists.txt index 3c6584bc346b9e48a245e39038a99396a10c1a14..1011cb8fd17eb44bbe5edd3e616af74eef1299b2 100644 --- a/lib/kokkos/containers/performance_tests/CMakeLists.txt +++ b/lib/kokkos/containers/performance_tests/CMakeLists.txt @@ -1,49 +1,46 @@ -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() +KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) +KOKKOS_INCLUDE_DIRECTORIES(REQUIRED_DURING_INSTALLATION_TESTING ${CMAKE_CURRENT_SOURCE_DIR}) +KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../src ) + +IF(Kokkos_ENABLE_CUDA) + SET(SOURCES + TestMain.cpp + TestCuda.cpp + ) + + KOKKOS_ADD_EXECUTABLE_AND_TEST( PerformanceTest_Cuda + SOURCES ${SOURCES} + ) ENDIF() -SET(SOURCES - TestMain.cpp - TestCuda.cpp - ) - -IF(Kokkos_ENABLE_Pthread) - LIST( APPEND SOURCES TestThreads.cpp) +IF(Kokkos_ENABLE_PTHREAD) + SET(SOURCES + TestMain.cpp + TestThreads.cpp + ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( PerformanceTest_Threads + SOURCES ${SOURCES} + ) ENDIF() -IF(Kokkos_ENABLE_OpenMP) - LIST( APPEND SOURCES TestOpenMP.cpp) +IF(Kokkos_ENABLE_OPENMP) + SET(SOURCES + TestMain.cpp + TestOpenMP.cpp + ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( PerformanceTest_OpenMP + SOURCES ${SOURCES} + ) ENDIF() IF(Kokkos_ENABLE_HPX) - LIST( APPEND SOURCES TestHPX.cpp) + SET(SOURCES + TestMain.cpp + TestHPX.cpp + ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( PerformanceTest_HPX + SOURCES ${SOURCES} + ) ENDIF() -# Per #374, we always want to build this test, but we only want to run -# it as a PERFORMANCE test. That's why we separate building the test -# from running the test. - -TRIBITS_ADD_EXECUTABLE( - PerfTestExec - SOURCES ${SOURCES} - COMM serial mpi - TESTONLYLIBS kokkos_gtest ${TEST_LINK_TARGETS} - ) - -TRIBITS_ADD_TEST( - PerformanceTest - NAME PerfTestExec - COMM serial mpi - NUM_MPI_PROCS 1 - CATEGORIES PERFORMANCE - FAIL_REGULAR_EXPRESSION " FAILED " - ) diff --git a/lib/kokkos/containers/performance_tests/TestCuda.cpp b/lib/kokkos/containers/performance_tests/TestCuda.cpp index 351fb86df3d48836ff45286401e52a6f1f684fd7..697a006c3c05f373cc9bdbcfa1efd18a46f2b516 100644 --- a/lib/kokkos/containers/performance_tests/TestCuda.cpp +++ b/lib/kokkos/containers/performance_tests/TestCuda.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -42,7 +43,7 @@ */ #include -#if defined( KOKKOS_ENABLE_CUDA ) +#if defined(KOKKOS_ENABLE_CUDA) #include #include @@ -66,45 +67,38 @@ namespace Performance { class cuda : public ::testing::Test { -protected: - static void SetUpTestCase() - { + protected: + static void SetUpTestCase() { std::cout << std::setprecision(5) << std::scientific; Kokkos::InitArguments args(-1, -1, 0); Kokkos::initialize(args); } - static void TearDownTestCase() - { - Kokkos::finalize(); - } + static void TearDownTestCase() { Kokkos::finalize(); } }; -TEST_F( cuda, dynrankview_perf ) -{ +TEST_F(cuda, dynrankview_perf) { std::cout << "Cuda" << std::endl; std::cout << " DynRankView vs View: Initialization Only " << std::endl; - test_dynrankview_op_perf( 40960 ); + test_dynrankview_op_perf(40960); } -TEST_F( cuda, global_2_local) -{ +TEST_F(cuda, global_2_local) { std::cout << "Cuda" << std::endl; std::cout << "size, create, generate, fill, find" << std::endl; - for (unsigned i=Performance::begin_id_size; i<=Performance::end_id_size; i *= Performance::id_step) + for (unsigned i = Performance::begin_id_size; i <= Performance::end_id_size; + i *= Performance::id_step) test_global_to_local_ids(i); } -TEST_F( cuda, unordered_map_performance_near) -{ - Perf::run_performance_tests("cuda-near"); +TEST_F(cuda, unordered_map_performance_near) { + Perf::run_performance_tests("cuda-near"); } -TEST_F( cuda, unordered_map_performance_far) -{ - Perf::run_performance_tests("cuda-far"); +TEST_F(cuda, unordered_map_performance_far) { + Perf::run_performance_tests("cuda-far"); } -} +} // namespace Performance #else void KOKKOS_CONTAINERS_PERFORMANCE_TESTS_TESTCUDA_PREVENT_EMPTY_LINK_ERROR() {} -#endif /* #if defined( KOKKOS_ENABLE_CUDA ) */ +#endif /* #if defined( KOKKOS_ENABLE_CUDA ) */ diff --git a/lib/kokkos/containers/performance_tests/TestDynRankView.hpp b/lib/kokkos/containers/performance_tests/TestDynRankView.hpp index db6274e0579747079f3274b454ade63ad1a051b3..ee13f7e58ba2bcbf530a2d1234ef43e84ddc3c99 100644 --- a/lib/kokkos/containers/performance_tests/TestDynRankView.hpp +++ b/lib/kokkos/containers/performance_tests/TestDynRankView.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -49,109 +50,102 @@ #include -// Compare performance of DynRankView to View, specific focus on the parenthesis operators +// Compare performance of DynRankView to View, specific focus on the parenthesis +// operators namespace Performance { -//View functor +// View functor template struct InitViewFunctor { - typedef Kokkos::View inviewtype; + typedef Kokkos::View inviewtype; inviewtype _inview; - InitViewFunctor( inviewtype &inview_ ) : _inview(inview_) - {} + InitViewFunctor(inviewtype &inview_) : _inview(inview_) {} KOKKOS_INLINE_FUNCTION void operator()(const int i) const { for (unsigned j = 0; j < _inview.extent(1); ++j) { for (unsigned k = 0; k < _inview.extent(2); ++k) { - _inview(i,j,k) = i/2 -j*j + k/3; + _inview(i, j, k) = i / 2 - j * j + k / 3; } } } - struct SumComputationTest - { - typedef Kokkos::View inviewtype; + struct SumComputationTest { + typedef Kokkos::View inviewtype; inviewtype _inview; - typedef Kokkos::View outviewtype; + typedef Kokkos::View outviewtype; outviewtype _outview; KOKKOS_INLINE_FUNCTION - SumComputationTest(inviewtype &inview_ , outviewtype &outview_) : _inview(inview_), _outview(outview_) {} + SumComputationTest(inviewtype &inview_, outviewtype &outview_) + : _inview(inview_), _outview(outview_) {} KOKKOS_INLINE_FUNCTION void operator()(const int i) const { for (unsigned j = 0; j < _inview.extent(1); ++j) { for (unsigned k = 0; k < _inview.extent(2); ++k) { - _outview(i) += _inview(i,j,k) ; + _outview(i) += _inview(i, j, k); } } } }; - }; template struct InitStrideViewFunctor { - typedef Kokkos::View inviewtype; + typedef Kokkos::View inviewtype; inviewtype _inview; - InitStrideViewFunctor( inviewtype &inview_ ) : _inview(inview_) - {} + InitStrideViewFunctor(inviewtype &inview_) : _inview(inview_) {} KOKKOS_INLINE_FUNCTION void operator()(const int i) const { for (unsigned j = 0; j < _inview.extent(1); ++j) { for (unsigned k = 0; k < _inview.extent(2); ++k) { - _inview(i,j,k) = i/2 -j*j + k/3; + _inview(i, j, k) = i / 2 - j * j + k / 3; } } } - }; template struct InitViewRank7Functor { - typedef Kokkos::View inviewtype; + typedef Kokkos::View inviewtype; inviewtype _inview; - InitViewRank7Functor( inviewtype &inview_ ) : _inview(inview_) - {} + InitViewRank7Functor(inviewtype &inview_) : _inview(inview_) {} KOKKOS_INLINE_FUNCTION void operator()(const int i) const { for (unsigned j = 0; j < _inview.extent(1); ++j) { for (unsigned k = 0; k < _inview.extent(2); ++k) { - _inview(i,j,k,0,0,0,0) = i/2 -j*j + k/3; + _inview(i, j, k, 0, 0, 0, 0) = i / 2 - j * j + k / 3; } } } - }; -//DynRankView functor +// DynRankView functor template struct InitDynRankViewFunctor { typedef Kokkos::DynRankView inviewtype; inviewtype _inview; - InitDynRankViewFunctor( inviewtype &inview_ ) : _inview(inview_) - {} + InitDynRankViewFunctor(inviewtype &inview_) : _inview(inview_) {} KOKKOS_INLINE_FUNCTION void operator()(const int i) const { for (unsigned j = 0; j < _inview.extent(1); ++j) { for (unsigned k = 0; k < _inview.extent(2); ++k) { - _inview(i,j,k) = i/2 -j*j + k/3; + _inview(i, j, k) = i / 2 - j * j + k / 3; } } } - struct SumComputationTest - { + struct SumComputationTest { typedef Kokkos::DynRankView inviewtype; inviewtype _inview; @@ -159,108 +153,121 @@ struct InitDynRankViewFunctor { outviewtype _outview; KOKKOS_INLINE_FUNCTION - SumComputationTest(inviewtype &inview_ , outviewtype &outview_) : _inview(inview_), _outview(outview_) {} + SumComputationTest(inviewtype &inview_, outviewtype &outview_) + : _inview(inview_), _outview(outview_) {} KOKKOS_INLINE_FUNCTION void operator()(const int i) const { for (unsigned j = 0; j < _inview.extent(1); ++j) { for (unsigned k = 0; k < _inview.extent(2); ++k) { - _outview(i) += _inview(i,j,k) ; + _outview(i) += _inview(i, j, k); } } } }; - }; - template -void test_dynrankview_op_perf( const int par_size ) -{ - +void test_dynrankview_op_perf(const int par_size) { typedef DeviceType execution_space; typedef typename execution_space::size_type size_type; const size_type dim_2 = 90; const size_type dim_3 = 30; - double elapsed_time_view = 0; - double elapsed_time_compview = 0; + double elapsed_time_view = 0; + double elapsed_time_compview = 0; double elapsed_time_strideview = 0; double elapsed_time_view_rank7 = 0; - double elapsed_time_drview = 0; + double elapsed_time_drview = 0; double elapsed_time_compdrview = 0; Kokkos::Timer timer; { - Kokkos::View testview("testview",par_size,dim_2,dim_3); + Kokkos::View testview("testview", par_size, dim_2, + dim_3); typedef InitViewFunctor FunctorType; timer.reset(); - Kokkos::RangePolicy policy(0,par_size); - Kokkos::parallel_for( policy , FunctorType(testview) ); + Kokkos::RangePolicy policy(0, par_size); + Kokkos::parallel_for(policy, FunctorType(testview)); DeviceType().fence(); elapsed_time_view = timer.seconds(); std::cout << " View time (init only): " << elapsed_time_view << std::endl; - timer.reset(); - Kokkos::View sumview("sumview",par_size); - Kokkos::parallel_for( policy , typename FunctorType::SumComputationTest(testview, sumview) ); + Kokkos::View sumview("sumview", par_size); + Kokkos::parallel_for( + policy, typename FunctorType::SumComputationTest(testview, sumview)); DeviceType().fence(); elapsed_time_compview = timer.seconds(); - std::cout << " View sum computation time: " << elapsed_time_view << std::endl; - + std::cout << " View sum computation time: " << elapsed_time_view + << std::endl; - Kokkos::View teststrideview = Kokkos::subview(testview, Kokkos::ALL, Kokkos::ALL,Kokkos::ALL); + Kokkos::View teststrideview = + Kokkos::subview(testview, Kokkos::ALL, Kokkos::ALL, Kokkos::ALL); typedef InitStrideViewFunctor FunctorStrideType; timer.reset(); - Kokkos::parallel_for( policy , FunctorStrideType(teststrideview) ); + Kokkos::parallel_for(policy, FunctorStrideType(teststrideview)); DeviceType().fence(); elapsed_time_strideview = timer.seconds(); - std::cout << " Strided View time (init only): " << elapsed_time_strideview << std::endl; + std::cout << " Strided View time (init only): " << elapsed_time_strideview + << std::endl; } { - Kokkos::View testview("testview",par_size,dim_2,dim_3,1,1,1,1); + Kokkos::View testview("testview", par_size, + dim_2, dim_3, 1, 1, 1, 1); typedef InitViewRank7Functor FunctorType; timer.reset(); - Kokkos::RangePolicy policy(0,par_size); - Kokkos::parallel_for( policy , FunctorType(testview) ); + Kokkos::RangePolicy policy(0, par_size); + Kokkos::parallel_for(policy, FunctorType(testview)); DeviceType().fence(); elapsed_time_view_rank7 = timer.seconds(); - std::cout << " View Rank7 time (init only): " << elapsed_time_view_rank7 << std::endl; + std::cout << " View Rank7 time (init only): " << elapsed_time_view_rank7 + << std::endl; } { - Kokkos::DynRankView testdrview("testdrview",par_size,dim_2,dim_3); + Kokkos::DynRankView testdrview("testdrview", par_size, + dim_2, dim_3); typedef InitDynRankViewFunctor FunctorType; timer.reset(); - Kokkos::RangePolicy policy(0,par_size); - Kokkos::parallel_for( policy , FunctorType(testdrview) ); + Kokkos::RangePolicy policy(0, par_size); + Kokkos::parallel_for(policy, FunctorType(testdrview)); DeviceType().fence(); elapsed_time_drview = timer.seconds(); - std::cout << " DynRankView time (init only): " << elapsed_time_drview << std::endl; + std::cout << " DynRankView time (init only): " << elapsed_time_drview + << std::endl; timer.reset(); - Kokkos::DynRankView sumview("sumview",par_size); - Kokkos::parallel_for( policy , typename FunctorType::SumComputationTest(testdrview, sumview) ); + Kokkos::DynRankView sumview("sumview", par_size); + Kokkos::parallel_for( + policy, typename FunctorType::SumComputationTest(testdrview, sumview)); DeviceType().fence(); elapsed_time_compdrview = timer.seconds(); - std::cout << " DynRankView sum computation time: " << elapsed_time_compdrview << std::endl; - + std::cout << " DynRankView sum computation time: " + << elapsed_time_compdrview << std::endl; } - std::cout << " Ratio of View to DynRankView time: " << elapsed_time_view / elapsed_time_drview << std::endl; //expect < 1 - std::cout << " Ratio of View to DynRankView sum computation time: " << elapsed_time_compview / elapsed_time_compdrview << std::endl; //expect < 1 - std::cout << " Ratio of View to View Rank7 time: " << elapsed_time_view / elapsed_time_view_rank7 << std::endl; //expect < 1 - std::cout << " Ratio of StrideView to DynRankView time: " << elapsed_time_strideview / elapsed_time_drview << std::endl; //expect < 1 - std::cout << " Ratio of DynRankView to View Rank7 time: " << elapsed_time_drview / elapsed_time_view_rank7 << std::endl; //expect ? + std::cout << " Ratio of View to DynRankView time: " + << elapsed_time_view / elapsed_time_drview + << std::endl; // expect < 1 + std::cout << " Ratio of View to DynRankView sum computation time: " + << elapsed_time_compview / elapsed_time_compdrview + << std::endl; // expect < 1 + std::cout << " Ratio of View to View Rank7 time: " + << elapsed_time_view / elapsed_time_view_rank7 + << std::endl; // expect < 1 + std::cout << " Ratio of StrideView to DynRankView time: " + << elapsed_time_strideview / elapsed_time_drview + << std::endl; // expect < 1 + std::cout << " Ratio of DynRankView to View Rank7 time: " + << elapsed_time_drview / elapsed_time_view_rank7 + << std::endl; // expect ? timer.reset(); -} //end test_dynrankview - +} // end test_dynrankview -} //end Performance +} // namespace Performance #endif - diff --git a/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp b/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp index 98997b32394b7a9d71a1e78e3041993e25bd4193..0d2ee4bc8d0ccff968363e81e3b6bb353a79492f 100644 --- a/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp +++ b/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp @@ -1,12 +1,13 @@ //@HEADER // ************************************************************************ -// -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation -// -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. -// +// // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -22,10 +23,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -35,7 +36,7 @@ // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Questions? Contact Christian R. Trott (crtrott@sandia.gov) -// +// // ************************************************************************ //@HEADER @@ -54,153 +55,137 @@ namespace Performance { static const unsigned begin_id_size = 256u; -static const unsigned end_id_size = 1u << 22; -static const unsigned id_step = 2u; +static const unsigned end_id_size = 1u << 22; +static const unsigned id_step = 2u; -union helper -{ +union helper { uint32_t word; uint8_t byte[4]; }; - template -struct generate_ids -{ +struct generate_ids { typedef Device execution_space; typedef typename execution_space::size_type size_type; - typedef Kokkos::View local_id_view; + typedef Kokkos::View local_id_view; local_id_view local_2_global; - generate_ids( local_id_view & ids) - : local_2_global(ids) - { + generate_ids(local_id_view& ids) : local_2_global(ids) { Kokkos::parallel_for(local_2_global.extent(0), *this); } - KOKKOS_INLINE_FUNCTION - void operator()(size_type i) const - { - + void operator()(size_type i) const { helper x = {static_cast(i)}; // shuffle the bytes of i to create a unique, semi-random global_id x.word = ~x.word; uint8_t tmp = x.byte[3]; - x.byte[3] = x.byte[1]; - x.byte[1] = tmp; + x.byte[3] = x.byte[1]; + x.byte[1] = tmp; - tmp = x.byte[2]; + tmp = x.byte[2]; x.byte[2] = x.byte[0]; x.byte[0] = tmp; local_2_global[i] = x.word; } - }; template -struct fill_map -{ +struct fill_map { typedef Device execution_space; typedef typename execution_space::size_type size_type; - typedef Kokkos::View local_id_view; - typedef Kokkos::UnorderedMap global_id_view; + typedef Kokkos::View + local_id_view; + typedef Kokkos::UnorderedMap + global_id_view; global_id_view global_2_local; local_id_view local_2_global; - fill_map( global_id_view gIds, local_id_view lIds) - : global_2_local(gIds) , local_2_global(lIds) - { + fill_map(global_id_view gIds, local_id_view lIds) + : global_2_local(gIds), local_2_global(lIds) { Kokkos::parallel_for(local_2_global.extent(0), *this); } KOKKOS_INLINE_FUNCTION - void operator()(size_type i) const - { - global_2_local.insert( local_2_global[i], i); + void operator()(size_type i) const { + global_2_local.insert(local_2_global[i], i); } - }; template -struct find_test -{ +struct find_test { typedef Device execution_space; typedef typename execution_space::size_type size_type; - typedef Kokkos::View local_id_view; - typedef Kokkos::UnorderedMap global_id_view; + typedef Kokkos::View + local_id_view; + typedef Kokkos::UnorderedMap + global_id_view; global_id_view global_2_local; local_id_view local_2_global; typedef size_t value_type; - find_test( global_id_view gIds, local_id_view lIds, value_type & num_errors) - : global_2_local(gIds) , local_2_global(lIds) - { + find_test(global_id_view gIds, local_id_view lIds, value_type& num_errors) + : global_2_local(gIds), local_2_global(lIds) { Kokkos::parallel_reduce(local_2_global.extent(0), *this, num_errors); } KOKKOS_INLINE_FUNCTION - void init(value_type & v) const - { v = 0; } + void init(value_type& v) const { v = 0; } KOKKOS_INLINE_FUNCTION - void join(volatile value_type & dst, volatile value_type const & src) const - { dst += src; } + void join(volatile value_type& dst, volatile value_type const& src) const { + dst += src; + } KOKKOS_INLINE_FUNCTION - void operator()(size_type i, value_type & num_errors) const - { - uint32_t index = global_2_local.find( local_2_global[i] ); + void operator()(size_type i, value_type& num_errors) const { + uint32_t index = global_2_local.find(local_2_global[i]); - if ( global_2_local.value_at(index) != i) ++num_errors; + if (global_2_local.value_at(index) != i) ++num_errors; } - }; template -void test_global_to_local_ids(unsigned num_ids) -{ - +void test_global_to_local_ids(unsigned num_ids) { typedef Device execution_space; typedef typename execution_space::size_type size_type; - typedef Kokkos::View local_id_view; - typedef Kokkos::UnorderedMap global_id_view; + typedef Kokkos::View local_id_view; + typedef Kokkos::UnorderedMap + global_id_view; - //size + // size std::cout << num_ids << ", "; double elasped_time = 0; Kokkos::Timer timer; local_id_view local_2_global("local_ids", num_ids); - global_id_view global_2_local((3u*num_ids)/2u); + global_id_view global_2_local((3u * num_ids) / 2u); - //create + // create elasped_time = timer.seconds(); std::cout << elasped_time << ", "; timer.reset(); // generate unique ids - { - generate_ids gen(local_2_global); - } + { generate_ids gen(local_2_global); } Device().fence(); // generate elasped_time = timer.seconds(); std::cout << elasped_time << ", "; timer.reset(); - { - fill_map fill(global_2_local, local_2_global); - } + { fill_map fill(global_2_local, local_2_global); } Device().fence(); // fill @@ -208,11 +193,9 @@ void test_global_to_local_ids(unsigned num_ids) std::cout << elasped_time << ", "; timer.reset(); - size_t num_errors = 0; - for (int i=0; i<100; ++i) - { - find_test find(global_2_local, local_2_global,num_errors); + for (int i = 0; i < 100; ++i) { + find_test find(global_2_local, local_2_global, num_errors); } Device().fence(); @@ -220,12 +203,9 @@ void test_global_to_local_ids(unsigned num_ids) elasped_time = timer.seconds(); std::cout << elasped_time << std::endl; - ASSERT_EQ( num_errors, 0u); + ASSERT_EQ(num_errors, 0u); } +} // namespace Performance -} // namespace Performance - - -#endif //KOKKOS_TEST_GLOBAL_TO_LOCAL_IDS_HPP - +#endif // KOKKOS_TEST_GLOBAL_TO_LOCAL_IDS_HPP diff --git a/lib/kokkos/containers/performance_tests/TestHPX.cpp b/lib/kokkos/containers/performance_tests/TestHPX.cpp index 0f43377cee499f04d14736663c92aa32e49c0a58..48be466bfa9c8f73eac25187a665d46230667faf 100644 --- a/lib/kokkos/containers/performance_tests/TestHPX.cpp +++ b/lib/kokkos/containers/performance_tests/TestHPX.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -42,7 +43,7 @@ */ #include -#if defined( KOKKOS_ENABLE_HPX ) +#if defined(KOKKOS_ENABLE_HPX) #include @@ -61,70 +62,63 @@ #include #include - namespace Performance { class hpx : public ::testing::Test { -protected: - static void SetUpTestCase() - { + protected: + static void SetUpTestCase() { std::cout << std::setprecision(5) << std::scientific; Kokkos::initialize(); - Kokkos::print_configuration( std::cout ); + Kokkos::print_configuration(std::cout); } - static void TearDownTestCase() - { - Kokkos::finalize(); - } + static void TearDownTestCase() { Kokkos::finalize(); } }; -TEST_F( hpx, dynrankview_perf ) -{ +TEST_F(hpx, dynrankview_perf) { std::cout << "HPX" << std::endl; std::cout << " DynRankView vs View: Initialization Only " << std::endl; - test_dynrankview_op_perf( 8192 ); + test_dynrankview_op_perf(8192); } -TEST_F( hpx, global_2_local) -{ +TEST_F(hpx, global_2_local) { std::cout << "HPX" << std::endl; std::cout << "size, create, generate, fill, find" << std::endl; - for (unsigned i=Performance::begin_id_size; i<=Performance::end_id_size; i *= Performance::id_step) + for (unsigned i = Performance::begin_id_size; i <= Performance::end_id_size; + i *= Performance::id_step) test_global_to_local_ids(i); } -TEST_F( hpx, unordered_map_performance_near) -{ +TEST_F(hpx, unordered_map_performance_near) { unsigned num_hpx = 4; std::ostringstream base_file_name; base_file_name << "hpx-" << num_hpx << "-near"; - Perf::run_performance_tests(base_file_name.str()); + Perf::run_performance_tests( + base_file_name.str()); } -TEST_F( hpx, unordered_map_performance_far) -{ +TEST_F(hpx, unordered_map_performance_far) { unsigned num_hpx = 4; std::ostringstream base_file_name; base_file_name << "hpx-" << num_hpx << "-far"; - Perf::run_performance_tests(base_file_name.str()); + Perf::run_performance_tests( + base_file_name.str()); } -TEST_F( hpx, scatter_view) -{ +TEST_F(hpx, scatter_view) { std::cout << "ScatterView data-duplicated test:\n"; Perf::test_scatter_view(10, 1000 * 1000); -//std::cout << "ScatterView atomics test:\n"; -//Perf::test_scatter_view(10, 1000 * 1000); + Kokkos::Experimental::ScatterDuplicated, + Kokkos::Experimental::ScatterNonAtomic>(10, + 1000 * 1000); + // std::cout << "ScatterView atomics test:\n"; + // Perf::test_scatter_view(10, 1000 * 1000); } -} // namespace test +} // namespace Performance #else void KOKKOS_CONTAINERS_PERFORMANCE_TESTS_TESTHPX_PREVENT_EMPTY_LINK_ERROR() {} #endif - diff --git a/lib/kokkos/containers/performance_tests/TestMain.cpp b/lib/kokkos/containers/performance_tests/TestMain.cpp index 217b01a57afccf1bc7658ce41214d77fbffffd67..e3c8edb0457d2cc0bcaffdf0449da008b47d5dcb 100644 --- a/lib/kokkos/containers/performance_tests/TestMain.cpp +++ b/lib/kokkos/containers/performance_tests/TestMain.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -47,7 +48,6 @@ #include int main(int argc, char *argv[]) { - ::testing::InitGoogleTest(&argc,argv); + ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); } - diff --git a/lib/kokkos/containers/performance_tests/TestOpenMP.cpp b/lib/kokkos/containers/performance_tests/TestOpenMP.cpp index e6218074eafd965554c3ebe60136386c488fd882..a9c8639ed4b03eab0eaca89a4139c5262af942eb 100644 --- a/lib/kokkos/containers/performance_tests/TestOpenMP.cpp +++ b/lib/kokkos/containers/performance_tests/TestOpenMP.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -42,7 +43,7 @@ */ #include -#if defined( KOKKOS_ENABLE_OPENMP ) +#if defined(KOKKOS_ENABLE_OPENMP) #include @@ -61,82 +62,72 @@ #include #include - namespace Performance { class openmp : public ::testing::Test { -protected: - static void SetUpTestCase() - { + protected: + static void SetUpTestCase() { std::cout << std::setprecision(5) << std::scientific; Kokkos::initialize(); - Kokkos::OpenMP::print_configuration( std::cout ); + Kokkos::OpenMP::print_configuration(std::cout); } - static void TearDownTestCase() - { - Kokkos::finalize(); - } + static void TearDownTestCase() { Kokkos::finalize(); } }; -TEST_F( openmp, dynrankview_perf ) -{ +TEST_F(openmp, dynrankview_perf) { std::cout << "OpenMP" << std::endl; std::cout << " DynRankView vs View: Initialization Only " << std::endl; - test_dynrankview_op_perf( 8192 ); + test_dynrankview_op_perf(8192); } -TEST_F( openmp, global_2_local) -{ +TEST_F(openmp, global_2_local) { std::cout << "OpenMP" << std::endl; std::cout << "size, create, generate, fill, find" << std::endl; - for (unsigned i=Performance::begin_id_size; i<=Performance::end_id_size; i *= Performance::id_step) + for (unsigned i = Performance::begin_id_size; i <= Performance::end_id_size; + i *= Performance::id_step) test_global_to_local_ids(i); } -TEST_F( openmp, unordered_map_performance_near) -{ +TEST_F(openmp, unordered_map_performance_near) { unsigned num_openmp = 4; if (Kokkos::hwloc::available()) { num_openmp = Kokkos::hwloc::get_available_numa_count() * - Kokkos::hwloc::get_available_cores_per_numa() * - Kokkos::hwloc::get_available_threads_per_core(); - + Kokkos::hwloc::get_available_cores_per_numa() * + Kokkos::hwloc::get_available_threads_per_core(); } std::ostringstream base_file_name; base_file_name << "openmp-" << num_openmp << "-near"; - Perf::run_performance_tests(base_file_name.str()); + Perf::run_performance_tests(base_file_name.str()); } -TEST_F( openmp, unordered_map_performance_far) -{ +TEST_F(openmp, unordered_map_performance_far) { unsigned num_openmp = 4; if (Kokkos::hwloc::available()) { num_openmp = Kokkos::hwloc::get_available_numa_count() * - Kokkos::hwloc::get_available_cores_per_numa() * - Kokkos::hwloc::get_available_threads_per_core(); - + Kokkos::hwloc::get_available_cores_per_numa() * + Kokkos::hwloc::get_available_threads_per_core(); } std::ostringstream base_file_name; base_file_name << "openmp-" << num_openmp << "-far"; - Perf::run_performance_tests(base_file_name.str()); + Perf::run_performance_tests(base_file_name.str()); } -TEST_F( openmp, scatter_view) -{ +TEST_F(openmp, scatter_view) { std::cout << "ScatterView data-duplicated test:\n"; Perf::test_scatter_view(10, 1000 * 1000); -//std::cout << "ScatterView atomics test:\n"; -//Perf::test_scatter_view(10, 1000 * 1000); + Kokkos::Experimental::ScatterDuplicated, + Kokkos::Experimental::ScatterNonAtomic>(10, + 1000 * 1000); + // std::cout << "ScatterView atomics test:\n"; + // Perf::test_scatter_view(10, 1000 * 1000); } -} // namespace test +} // namespace Performance #else -void KOKKOS_CONTAINERS_PERFORMANCE_TESTS_TESTOPENMP_PREVENT_EMPTY_LINK_ERROR() {} +void KOKKOS_CONTAINERS_PERFORMANCE_TESTS_TESTOPENMP_PREVENT_EMPTY_LINK_ERROR() { +} #endif - diff --git a/lib/kokkos/containers/performance_tests/TestROCm.cpp b/lib/kokkos/containers/performance_tests/TestROCm.cpp index 3cf9f3bd143c5848af12e7ddb717ab8e4d59ce8e..55b770b49cb9bef5ed78003530b421800e66370b 100644 --- a/lib/kokkos/containers/performance_tests/TestROCm.cpp +++ b/lib/kokkos/containers/performance_tests/TestROCm.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -42,7 +43,7 @@ */ #include -#if defined( KOKKOS_ENABLE_ROCM ) +#if defined(KOKKOS_ENABLE_ROCM) #include #include @@ -66,15 +67,14 @@ namespace Performance { class rocm : public ::testing::Test { -protected: - static void SetUpTestCase() - { + protected: + static void SetUpTestCase() { std::cout << std::setprecision(5) << std::scientific; Kokkos::HostSpace::execution_space::initialize(); - Kokkos::Experimental::ROCm::initialize( Kokkos::Experimental::ROCm::SelectDevice(0) ); + Kokkos::Experimental::ROCm::initialize( + Kokkos::Experimental::ROCm::SelectDevice(0)); } - static void TearDownTestCase() - { + static void TearDownTestCase() { Kokkos::Experimental::ROCm::finalize(); Kokkos::HostSpace::execution_space::finalize(); } @@ -97,17 +97,15 @@ TEST_F( rocm, global_2_local) } #endif -TEST_F( rocm, unordered_map_performance_near) -{ - Perf::run_performance_tests("rocm-near"); +TEST_F(rocm, unordered_map_performance_near) { + Perf::run_performance_tests("rocm-near"); } -TEST_F( rocm, unordered_map_performance_far) -{ - Perf::run_performance_tests("rocm-far"); +TEST_F(rocm, unordered_map_performance_far) { + Perf::run_performance_tests("rocm-far"); } -} +} // namespace Performance #else void KOKKOS_CONTAINERS_PERFORMANCE_TESTS_TESTROCM_PREVENT_EMPTY_LINK_ERROR() {} -#endif /* #if defined( KOKKOS_ENABLE_ROCM ) */ +#endif /* #if defined( KOKKOS_ENABLE_ROCM ) */ diff --git a/lib/kokkos/containers/performance_tests/TestScatterView.hpp b/lib/kokkos/containers/performance_tests/TestScatterView.hpp index bd9121bb829a903bc8cb6e78b51668bcc45448e4..3d4c57f3e2c844e21fc0a1a491fc1fe3608c8f2b 100644 --- a/lib/kokkos/containers/performance_tests/TestScatterView.hpp +++ b/lib/kokkos/containers/performance_tests/TestScatterView.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -49,67 +50,68 @@ namespace Perf { -template -void test_scatter_view(int m, int n) -{ - Kokkos::View original_view("original_view", n); +template +void test_scatter_view(int m, int n) { + Kokkos::View original_view("original_view", + n); { - auto scatter_view = Kokkos::Experimental::create_scatter_view - < Kokkos::Experimental::ScatterSum - , duplication - , contribution - > (original_view); + auto scatter_view = Kokkos::Experimental::create_scatter_view< + Kokkos::Experimental::ScatterSum, duplication, contribution>( + original_view); Kokkos::Experimental::UniqueToken< - ExecSpace, Kokkos::Experimental::UniqueTokenScope::Global> - unique_token{ExecSpace()}; - //auto internal_view = scatter_view.internal_view; + ExecSpace, Kokkos::Experimental::UniqueTokenScope::Global> + unique_token{ExecSpace()}; + // auto internal_view = scatter_view.internal_view; auto policy = Kokkos::RangePolicy(0, n); for (int foo = 0; foo < 5; ++foo) { - { - auto num_threads = unique_token.size(); - std::cout << "num_threads " << num_threads << '\n'; - Kokkos::View hand_coded_duplicate_view("hand_coded_duplicate", num_threads, n); - auto f2 = KOKKOS_LAMBDA(int i) { - auto thread_id = unique_token.acquire(); - for (int j = 0; j < 10; ++j) { - auto k = (i + j) % n; - hand_coded_duplicate_view(thread_id, k, 0) += 4.2; - hand_coded_duplicate_view(thread_id, k, 1) += 2.0; - hand_coded_duplicate_view(thread_id, k, 2) += 1.0; + { + auto num_threads = unique_token.size(); + std::cout << "num_threads " << num_threads << '\n'; + Kokkos::View + hand_coded_duplicate_view("hand_coded_duplicate", num_threads, n); + auto f2 = KOKKOS_LAMBDA(int i) { + auto thread_id = unique_token.acquire(); + for (int j = 0; j < 10; ++j) { + auto k = (i + j) % n; + hand_coded_duplicate_view(thread_id, k, 0) += 4.2; + hand_coded_duplicate_view(thread_id, k, 1) += 2.0; + hand_coded_duplicate_view(thread_id, k, 2) += 1.0; + } + }; + Kokkos::Timer timer; + timer.reset(); + for (int k = 0; k < m; ++k) { + Kokkos::parallel_for(policy, f2, + "hand_coded_duplicate_scatter_view_test"); } - }; - Kokkos::Timer timer; - timer.reset(); - for (int k = 0; k < m; ++k) { - Kokkos::parallel_for(policy, f2, "hand_coded_duplicate_scatter_view_test"); + Kokkos::fence(); + auto t = timer.seconds(); + std::cout << "hand-coded test took " << t << " seconds\n"; } - Kokkos::fence(); - auto t = timer.seconds(); - std::cout << "hand-coded test took " << t << " seconds\n"; - } - { - auto f = KOKKOS_LAMBDA(int i) { - auto scatter_access = scatter_view.access(); - for (int j = 0; j < 10; ++j) { - auto k = (i + j) % n; - scatter_access(k, 0) += 4.2; - scatter_access(k, 1) += 2.0; - scatter_access(k, 2) += 1.0; + { + auto f = KOKKOS_LAMBDA(int i) { + auto scatter_access = scatter_view.access(); + for (int j = 0; j < 10; ++j) { + auto k = (i + j) % n; + scatter_access(k, 0) += 4.2; + scatter_access(k, 1) += 2.0; + scatter_access(k, 2) += 1.0; + } + }; + Kokkos::Timer timer; + timer.reset(); + for (int k = 0; k < m; ++k) { + Kokkos::parallel_for(policy, f, "scatter_view_test"); } - }; - Kokkos::Timer timer; - timer.reset(); - for (int k = 0; k < m; ++k) { - Kokkos::parallel_for(policy, f, "scatter_view_test"); + Kokkos::fence(); + auto t = timer.seconds(); + std::cout << "test took " << t << " seconds\n"; } - Kokkos::fence(); - auto t = timer.seconds(); - std::cout << "test took " << t << " seconds\n"; } } - } } -} +} // namespace Perf #endif diff --git a/lib/kokkos/containers/performance_tests/TestThreads.cpp b/lib/kokkos/containers/performance_tests/TestThreads.cpp index 6a02e67b252781f7320223ad8fb87cadfef3355e..2f3740453966700655e37ecbf1e46552d7b18ae7 100644 --- a/lib/kokkos/containers/performance_tests/TestThreads.cpp +++ b/lib/kokkos/containers/performance_tests/TestThreads.cpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -42,7 +43,7 @@ */ #include -#if defined( KOKKOS_ENABLE_THREADS ) +#if defined(KOKKOS_ENABLE_THREADS) #include @@ -65,9 +66,8 @@ namespace Performance { class threads : public ::testing::Test { -protected: - static void SetUpTestCase() - { + protected: + static void SetUpTestCase() { std::cout << std::setprecision(5) << std::scientific; unsigned num_threads = 4; @@ -76,66 +76,57 @@ protected: num_threads = Kokkos::hwloc::get_available_numa_count() * Kokkos::hwloc::get_available_cores_per_numa() * Kokkos::hwloc::get_available_threads_per_core(); - } std::cout << "Threads: " << num_threads << std::endl; - Kokkos::initialize( Kokkos::InitArguments(num_threads) ); + Kokkos::initialize(Kokkos::InitArguments(num_threads)); } - static void TearDownTestCase() - { - Kokkos::finalize(); - } + static void TearDownTestCase() { Kokkos::finalize(); } }; -TEST_F( threads, dynrankview_perf ) -{ +TEST_F(threads, dynrankview_perf) { std::cout << "Threads" << std::endl; std::cout << " DynRankView vs View: Initialization Only " << std::endl; - test_dynrankview_op_perf( 8192 ); + test_dynrankview_op_perf(8192); } -TEST_F( threads, global_2_local) -{ +TEST_F(threads, global_2_local) { std::cout << "Threads" << std::endl; std::cout << "size, create, generate, fill, find" << std::endl; - for (unsigned i=Performance::begin_id_size; i<=Performance::end_id_size; i *= Performance::id_step) + for (unsigned i = Performance::begin_id_size; i <= Performance::end_id_size; + i *= Performance::id_step) test_global_to_local_ids(i); } -TEST_F( threads, unordered_map_performance_near) -{ +TEST_F(threads, unordered_map_performance_near) { unsigned num_threads = 4; if (Kokkos::hwloc::available()) { num_threads = Kokkos::hwloc::get_available_numa_count() * Kokkos::hwloc::get_available_cores_per_numa() * Kokkos::hwloc::get_available_threads_per_core(); - } std::ostringstream base_file_name; base_file_name << "threads-" << num_threads << "-near"; - Perf::run_performance_tests(base_file_name.str()); + Perf::run_performance_tests(base_file_name.str()); } -TEST_F( threads, unordered_map_performance_far) -{ +TEST_F(threads, unordered_map_performance_far) { unsigned num_threads = 4; if (Kokkos::hwloc::available()) { num_threads = Kokkos::hwloc::get_available_numa_count() * Kokkos::hwloc::get_available_cores_per_numa() * Kokkos::hwloc::get_available_threads_per_core(); - } std::ostringstream base_file_name; base_file_name << "threads-" << num_threads << "-far"; - Perf::run_performance_tests(base_file_name.str()); + Perf::run_performance_tests(base_file_name.str()); } -} // namespace Performance +} // namespace Performance #else -void KOKKOS_CONTAINERS_PERFORMANCE_TESTS_TESTTHREADS_PREVENT_EMPTY_LINK_ERROR() {} +void KOKKOS_CONTAINERS_PERFORMANCE_TESTS_TESTTHREADS_PREVENT_EMPTY_LINK_ERROR() { +} #endif - diff --git a/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp b/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp index 8d09281ed36cc99690c40784397a448cf1c8e1d8..9057842340bc7bfd6f59f57b35b5c9536918d554 100644 --- a/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp +++ b/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp @@ -1,10 +1,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -22,10 +23,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -50,12 +51,10 @@ #include #include - namespace Perf { template -struct UnorderedMapTest -{ +struct UnorderedMapTest { typedef Device execution_space; typedef Kokkos::UnorderedMap map_type; typedef typename map_type::histogram_type histogram_type; @@ -68,22 +67,22 @@ struct UnorderedMapTest uint32_t capacity; uint32_t inserts; uint32_t collisions; - double seconds; + double seconds; map_type map; histogram_type histogram; - UnorderedMapTest( uint32_t arg_capacity, uint32_t arg_inserts, uint32_t arg_collisions) - : capacity(arg_capacity) - , inserts(arg_inserts) - , collisions(arg_collisions) - , seconds(0) - , map(capacity) - , histogram(map.get_histogram()) - { - Kokkos::Timer wall_clock ; + UnorderedMapTest(uint32_t arg_capacity, uint32_t arg_inserts, + uint32_t arg_collisions) + : capacity(arg_capacity), + inserts(arg_inserts), + collisions(arg_collisions), + seconds(0), + map(capacity), + histogram(map.get_histogram()) { + Kokkos::Timer wall_clock; wall_clock.reset(); - value_type v = {}; + value_type v = {}; int loop_count = 0; do { ++loop_count; @@ -92,81 +91,79 @@ struct UnorderedMapTest Kokkos::parallel_reduce(inserts, *this, v); if (v.failed_count > 0u) { - const uint32_t new_capacity = map.capacity() + ((map.capacity()*3ull)/20u) + v.failed_count/collisions ; - map.rehash( new_capacity ); + const uint32_t new_capacity = map.capacity() + + ((map.capacity() * 3ull) / 20u) + + v.failed_count / collisions; + map.rehash(new_capacity); } } while (v.failed_count > 0u); seconds = wall_clock.seconds(); - switch (loop_count) - { - case 1u: std::cout << " \033[0;32m" << loop_count << "\033[0m "; break; - case 2u: std::cout << " \033[1;31m" << loop_count << "\033[0m "; break; - default: std::cout << " \033[0;31m" << loop_count << "\033[0m "; break; + switch (loop_count) { + case 1u: std::cout << " \033[0;32m" << loop_count << "\033[0m "; break; + case 2u: std::cout << " \033[1;31m" << loop_count << "\033[0m "; break; + default: std::cout << " \033[0;31m" << loop_count << "\033[0m "; break; } - std::cout << std::setprecision(2) << std::fixed << std::setw(5) << (1e9*(seconds/(inserts))) << "; " << std::flush; + std::cout << std::setprecision(2) << std::fixed << std::setw(5) + << (1e9 * (seconds / (inserts))) << "; " << std::flush; histogram.calculate(); Device().fence(); } - void print(std::ostream & metrics_out, std::ostream & length_out, std::ostream & distance_out, std::ostream & block_distance_out) - { + void print(std::ostream& metrics_out, std::ostream& length_out, + std::ostream& distance_out, std::ostream& block_distance_out) { metrics_out << map.capacity() << " , "; - metrics_out << inserts/collisions << " , "; - metrics_out << (100.0 * inserts/collisions) / map.capacity() << " , "; + metrics_out << inserts / collisions << " , "; + metrics_out << (100.0 * inserts / collisions) / map.capacity() << " , "; metrics_out << inserts << " , "; metrics_out << (map.failed_insert() ? "true" : "false") << " , "; metrics_out << collisions << " , "; - metrics_out << 1e9*(seconds/inserts) << " , "; + metrics_out << 1e9 * (seconds / inserts) << " , "; metrics_out << seconds << std::endl; length_out << map.capacity() << " , "; - length_out << ((100.0 *inserts/collisions) / map.capacity()) << " , "; + length_out << ((100.0 * inserts / collisions) / map.capacity()) << " , "; length_out << collisions << " , "; histogram.print_length(length_out); distance_out << map.capacity() << " , "; - distance_out << ((100.0 *inserts/collisions) / map.capacity()) << " , "; + distance_out << ((100.0 * inserts / collisions) / map.capacity()) << " , "; distance_out << collisions << " , "; histogram.print_distance(distance_out); block_distance_out << map.capacity() << " , "; - block_distance_out << ((100.0 *inserts/collisions) / map.capacity()) << " , "; + block_distance_out << ((100.0 * inserts / collisions) / map.capacity()) + << " , "; block_distance_out << collisions << " , "; histogram.print_block_distance(block_distance_out); } - KOKKOS_INLINE_FUNCTION - void init( value_type & v ) const - { + void init(value_type& v) const { v.failed_count = 0; - v.max_list = 0; + v.max_list = 0; } KOKKOS_INLINE_FUNCTION - void join( volatile value_type & dst, const volatile value_type & src ) const - { + void join(volatile value_type& dst, const volatile value_type& src) const { dst.failed_count += src.failed_count; dst.max_list = src.max_list < dst.max_list ? dst.max_list : src.max_list; } KOKKOS_INLINE_FUNCTION - void operator()(uint32_t i, value_type & v) const - { - const uint32_t key = Near ? i/collisions : i%(inserts/collisions); - typename map_type::insert_result result = map.insert(key,i); + void operator()(uint32_t i, value_type& v) const { + const uint32_t key = Near ? i / collisions : i % (inserts / collisions); + typename map_type::insert_result result = map.insert(key, i); v.failed_count += !result.failed() ? 0 : 1; - v.max_list = result.list_position() < v.max_list ? v.max_list : result.list_position(); + v.max_list = result.list_position() < v.max_list ? v.max_list + : result.list_position(); } - }; template -void run_performance_tests(std::string const & base_file_name) -{ +void run_performance_tests(std::string const& base_file_name) { #if 0 std::string metrics_file_name = base_file_name + std::string("-metrics.csv"); std::string length_file_name = base_file_name + std::string("-length.csv"); @@ -254,7 +251,6 @@ void run_performance_tests(std::string const & base_file_name) #endif } +} // namespace Perf -} // namespace Perf - -#endif //KOKKOS_TEST_UNORDERED_MAP_PERFORMANCE_HPP +#endif // KOKKOS_TEST_UNORDERED_MAP_PERFORMANCE_HPP diff --git a/lib/kokkos/containers/src/CMakeLists.txt b/lib/kokkos/containers/src/CMakeLists.txt index e68fcad5e945fce8010cd3b0a6ff62298eb77de0..0c9d24d641bb61d99514a0a78a8405f5b7a86f3d 100644 --- a/lib/kokkos/containers/src/CMakeLists.txt +++ b/lib/kokkos/containers/src/CMakeLists.txt @@ -1,47 +1,34 @@ - -TRIBITS_CONFIGURE_FILE(${PACKAGE_NAME}_config.h) - -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) - -#----------------------------------------------------------------------------- - -SET(TRILINOS_INCDIR ${CMAKE_INSTALL_PREFIX}/${${PROJECT_NAME}_INSTALL_INCLUDE_DIR}) - -if(KOKKOS_LEGACY_TRIBITS) - - SET(HEADERS "") - SET(SOURCES "") - - SET(HEADERS_IMPL "") - - FILE(GLOB HEADERS *.hpp) - FILE(GLOB HEADERS_IMPL impl/*.hpp) - FILE(GLOB SOURCES impl/*.cpp) - - INSTALL(FILES ${HEADERS_IMPL} DESTINATION ${TRILINOS_INCDIR}/impl/) - - TRIBITS_ADD_LIBRARY( - kokkoscontainers - HEADERS ${HEADERS} - NOINSTALLHEADERS ${HEADERS_IMPL} - SOURCES ${SOURCES} - DEPLIBS - ) - -else() - - INSTALL ( - DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/" - DESTINATION ${TRILINOS_INCDIR} - FILES_MATCHING PATTERN "*.hpp" - ) - - TRIBITS_ADD_LIBRARY( - kokkoscontainers - SOURCES ${KOKKOS_CONTAINERS_SRCS} - DEPLIBS - ) - -endif() -#----------------------------------------------------------------------------- + +KOKKOS_CONFIGURE_FILE(${PACKAGE_NAME}_config.h) + +#need these here for now +KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) +KOKKOS_INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) + +#----------------------------------------------------------------------------- + +SET(KOKKOS_CONTAINERS_SRCS) +APPEND_GLOB(KOKKOS_CONTAINERS_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/impl/*.cpp) + +INSTALL ( + DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/" + DESTINATION ${KOKKOS_HEADER_DIR} + FILES_MATCHING PATTERN "*.hpp" +) + +KOKKOS_ADD_LIBRARY( + kokkoscontainers + SOURCES ${KOKKOS_CONTAINERS_SRCS} +) + +SET_TARGET_PROPERTIES(kokkoscontainers PROPERTIES VERSION ${Kokkos_VERSION}) + +KOKKOS_LIB_INCLUDE_DIRECTORIES(kokkoscontainers + ${KOKKOS_TOP_BUILD_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR} +) +KOKKOS_LINK_INTERNAL_LIBRARY(kokkoscontainers kokkoscore) + +#----------------------------------------------------------------------------- + diff --git a/lib/kokkos/containers/src/Kokkos_Bitset.hpp b/lib/kokkos/containers/src/Kokkos_Bitset.hpp index 4d78430fc634ed7dad2a904a4dc5282e16501637..ab75fc1e1d006e31c0efce756e85f4354f0c5588 100644 --- a/lib/kokkos/containers/src/Kokkos_Bitset.hpp +++ b/lib/kokkos/containers/src/Kokkos_Bitset.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -53,27 +54,25 @@ namespace Kokkos { -template +template class Bitset; -template +template class ConstBitset; template -void deep_copy( Bitset & dst, Bitset const& src); +void deep_copy(Bitset& dst, Bitset const& src); template -void deep_copy( Bitset & dst, ConstBitset const& src); +void deep_copy(Bitset& dst, ConstBitset const& src); template -void deep_copy( ConstBitset & dst, ConstBitset const& src); - +void deep_copy(ConstBitset& dst, ConstBitset const& src); /// A thread safe view to a bitset template -class Bitset -{ -public: +class Bitset { + public: typedef Device execution_space; typedef unsigned size_type; @@ -81,98 +80,88 @@ public: enum { MOVE_HINT_BACKWARD = 2u }; enum { - BIT_SCAN_FORWARD_MOVE_HINT_FORWARD = 0u - , BIT_SCAN_REVERSE_MOVE_HINT_FORWARD = BIT_SCAN_REVERSE - , BIT_SCAN_FORWARD_MOVE_HINT_BACKWARD = MOVE_HINT_BACKWARD - , BIT_SCAN_REVERSE_MOVE_HINT_BACKWARD = BIT_SCAN_REVERSE | MOVE_HINT_BACKWARD + BIT_SCAN_FORWARD_MOVE_HINT_FORWARD = 0u, + BIT_SCAN_REVERSE_MOVE_HINT_FORWARD = BIT_SCAN_REVERSE, + BIT_SCAN_FORWARD_MOVE_HINT_BACKWARD = MOVE_HINT_BACKWARD, + BIT_SCAN_REVERSE_MOVE_HINT_BACKWARD = BIT_SCAN_REVERSE | MOVE_HINT_BACKWARD }; -private: - enum { block_size = static_cast(sizeof(unsigned)*CHAR_BIT) }; - enum { block_mask = block_size-1u }; + private: + enum { block_size = static_cast(sizeof(unsigned) * CHAR_BIT) }; + enum { block_mask = block_size - 1u }; enum { block_shift = Kokkos::Impl::integral_power_of_two(block_size) }; -public: - - + public: /// constructor /// arg_size := number of bit in set Bitset(unsigned arg_size = 0u) - : m_size(arg_size) - , m_last_block_mask(0u) - , m_blocks("Bitset", ((m_size + block_mask) >> block_shift) ) - { - for (int i=0, end = static_cast(m_size & block_mask); i < end; ++i) { + : m_size(arg_size), + m_last_block_mask(0u), + m_blocks("Bitset", ((m_size + block_mask) >> block_shift)) { + for (int i = 0, end = static_cast(m_size & block_mask); i < end; ++i) { m_last_block_mask |= 1u << i; } } - KOKKOS_INLINE_FUNCTION - Bitset (const Bitset&) = default; + KOKKOS_DEFAULTED_FUNCTION + Bitset(const Bitset&) = default; - KOKKOS_INLINE_FUNCTION - Bitset& operator= (const Bitset&) = default; + KOKKOS_DEFAULTED_FUNCTION + Bitset& operator=(const Bitset&) = default; - KOKKOS_INLINE_FUNCTION - Bitset (Bitset&&) = default; + KOKKOS_DEFAULTED_FUNCTION + Bitset(Bitset&&) = default; - KOKKOS_INLINE_FUNCTION - Bitset& operator= (Bitset&&) = default; - - KOKKOS_INLINE_FUNCTION - ~Bitset () = default; + KOKKOS_DEFAULTED_FUNCTION + Bitset& operator=(Bitset&&) = default; + + KOKKOS_DEFAULTED_FUNCTION + ~Bitset() = default; /// number of bits in the set /// can be call from the host or the device KOKKOS_FORCEINLINE_FUNCTION - unsigned size() const - { return m_size; } + unsigned size() const { return m_size; } /// number of bits which are set to 1 /// can only be called from the host - unsigned count() const - { - Impl::BitsetCount< Bitset > f(*this); + unsigned count() const { + Impl::BitsetCount > f(*this); return f.apply(); } /// set all bits to 1 /// can only be called from the host - void set() - { - Kokkos::deep_copy(m_blocks, ~0u ); + void set() { + Kokkos::deep_copy(m_blocks, ~0u); if (m_last_block_mask) { - //clear the unused bits in the last block - typedef Kokkos::Impl::DeepCopy< typename execution_space::memory_space, Kokkos::HostSpace > raw_deep_copy; - raw_deep_copy( m_blocks.data() + (m_blocks.extent(0) -1u), &m_last_block_mask, sizeof(unsigned)); + // clear the unused bits in the last block + typedef Kokkos::Impl::DeepCopy + raw_deep_copy; + raw_deep_copy(m_blocks.data() + (m_blocks.extent(0) - 1u), + &m_last_block_mask, sizeof(unsigned)); } } /// set all bits to 0 /// can only be called from the host - void reset() - { - Kokkos::deep_copy(m_blocks, 0u ); - } + void reset() { Kokkos::deep_copy(m_blocks, 0u); } /// set all bits to 0 /// can only be called from the host - void clear() - { - Kokkos::deep_copy(m_blocks, 0u ); - } + void clear() { Kokkos::deep_copy(m_blocks, 0u); } /// set i'th bit to 1 /// can only be called from the device KOKKOS_FORCEINLINE_FUNCTION - bool set( unsigned i ) const - { - if ( i < m_size ) { - unsigned * block_ptr = &m_blocks[ i >> block_shift ]; - const unsigned mask = 1u << static_cast( i & block_mask ); + bool set(unsigned i) const { + if (i < m_size) { + unsigned* block_ptr = &m_blocks[i >> block_shift]; + const unsigned mask = 1u << static_cast(i & block_mask); - return !( atomic_fetch_or( block_ptr, mask ) & mask ); + return !(atomic_fetch_or(block_ptr, mask) & mask); } return false; } @@ -180,13 +169,12 @@ public: /// set i'th bit to 0 /// can only be called from the device KOKKOS_FORCEINLINE_FUNCTION - bool reset( unsigned i ) const - { - if ( i < m_size ) { - unsigned * block_ptr = &m_blocks[ i >> block_shift ]; - const unsigned mask = 1u << static_cast( i & block_mask ); + bool reset(unsigned i) const { + if (i < m_size) { + unsigned* block_ptr = &m_blocks[i >> block_shift]; + const unsigned mask = 1u << static_cast(i & block_mask); - return atomic_fetch_and( block_ptr, ~mask ) & mask; + return atomic_fetch_and(block_ptr, ~mask) & mask; } return false; } @@ -194,11 +182,10 @@ public: /// return true if the i'th bit set to 1 /// can only be called from the device KOKKOS_FORCEINLINE_FUNCTION - bool test( unsigned i ) const - { - if ( i < m_size ) { - const unsigned block = volatile_load(&m_blocks[ i >> block_shift ]); - const unsigned mask = 1u << static_cast( i & block_mask ); + bool test(unsigned i) const { + if (i < m_size) { + const unsigned block = volatile_load(&m_blocks[i >> block_shift]); + const unsigned mask = 1u << static_cast(i & block_mask); return block & mask; } return false; @@ -208,90 +195,93 @@ public: /// returns the max number of times those functions should be call /// when searching for an available bit KOKKOS_FORCEINLINE_FUNCTION - unsigned max_hint() const - { - return m_blocks.extent(0); - } + unsigned max_hint() const { return m_blocks.extent(0); } /// find a bit set to 1 near the hint - /// returns a pair< bool, unsigned> where if result.first is true then result.second is the bit found - /// and if result.first is false the result.second is a new hint + /// returns a pair< bool, unsigned> where if result.first is true then + /// result.second is the bit found and if result.first is false the + /// result.second is a new hint KOKKOS_INLINE_FUNCTION - Kokkos::pair find_any_set_near( unsigned hint , unsigned scan_direction = BIT_SCAN_FORWARD_MOVE_HINT_FORWARD ) const - { - const unsigned block_idx = (hint >> block_shift) < m_blocks.extent(0) ? (hint >> block_shift) : 0; + Kokkos::pair find_any_set_near( + unsigned hint, + unsigned scan_direction = BIT_SCAN_FORWARD_MOVE_HINT_FORWARD) const { + const unsigned block_idx = + (hint >> block_shift) < m_blocks.extent(0) ? (hint >> block_shift) : 0; const unsigned offset = hint & block_mask; - unsigned block = volatile_load(&m_blocks[ block_idx ]); - block = !m_last_block_mask || (block_idx < (m_blocks.extent(0)-1)) ? block : block & m_last_block_mask ; + unsigned block = volatile_load(&m_blocks[block_idx]); + block = !m_last_block_mask || (block_idx < (m_blocks.extent(0) - 1)) + ? block + : block & m_last_block_mask; return find_any_helper(block_idx, offset, block, scan_direction); } /// find a bit set to 0 near the hint - /// returns a pair< bool, unsigned> where if result.first is true then result.second is the bit found - /// and if result.first is false the result.second is a new hint + /// returns a pair< bool, unsigned> where if result.first is true then + /// result.second is the bit found and if result.first is false the + /// result.second is a new hint KOKKOS_INLINE_FUNCTION - Kokkos::pair find_any_unset_near( unsigned hint , unsigned scan_direction = BIT_SCAN_FORWARD_MOVE_HINT_FORWARD ) const - { + Kokkos::pair find_any_unset_near( + unsigned hint, + unsigned scan_direction = BIT_SCAN_FORWARD_MOVE_HINT_FORWARD) const { const unsigned block_idx = hint >> block_shift; - const unsigned offset = hint & block_mask; - unsigned block = volatile_load(&m_blocks[ block_idx ]); - block = !m_last_block_mask || (block_idx < (m_blocks.extent(0)-1) ) ? ~block : ~block & m_last_block_mask ; + const unsigned offset = hint & block_mask; + unsigned block = volatile_load(&m_blocks[block_idx]); + block = !m_last_block_mask || (block_idx < (m_blocks.extent(0) - 1)) + ? ~block + : ~block & m_last_block_mask; return find_any_helper(block_idx, offset, block, scan_direction); } -private: - + private: KOKKOS_FORCEINLINE_FUNCTION - Kokkos::pair find_any_helper(unsigned block_idx, unsigned offset, unsigned block, unsigned scan_direction) const - { - Kokkos::pair result( block > 0u, 0); + Kokkos::pair find_any_helper(unsigned block_idx, + unsigned offset, unsigned block, + unsigned scan_direction) const { + Kokkos::pair result(block > 0u, 0); if (!result.first) { - result.second = update_hint( block_idx, offset, scan_direction ); - } - else { - result.second = scan_block( (block_idx << block_shift) - , offset - , block - , scan_direction - ); + result.second = update_hint(block_idx, offset, scan_direction); + } else { + result.second = + scan_block((block_idx << block_shift), offset, block, scan_direction); } return result; } - KOKKOS_FORCEINLINE_FUNCTION - unsigned scan_block(unsigned block_start, int offset, unsigned block, unsigned scan_direction ) const - { - offset = !(scan_direction & BIT_SCAN_REVERSE) ? offset : (offset + block_mask) & block_mask; + unsigned scan_block(unsigned block_start, int offset, unsigned block, + unsigned scan_direction) const { + offset = !(scan_direction & BIT_SCAN_REVERSE) + ? offset + : (offset + block_mask) & block_mask; block = Impl::rotate_right(block, offset); - return ((( !(scan_direction & BIT_SCAN_REVERSE) ? - Impl::bit_scan_forward(block) : - ::Kokkos::log2(block) - ) + offset - ) & block_mask - ) + block_start; + return (((!(scan_direction & BIT_SCAN_REVERSE) + ? Impl::bit_scan_forward(block) + : ::Kokkos::log2(block)) + + offset) & + block_mask) + + block_start; } KOKKOS_FORCEINLINE_FUNCTION - unsigned update_hint( long long block_idx, unsigned offset, unsigned scan_direction ) const - { + unsigned update_hint(long long block_idx, unsigned offset, + unsigned scan_direction) const { block_idx += scan_direction & MOVE_HINT_BACKWARD ? -1 : 1; block_idx = block_idx >= 0 ? block_idx : m_blocks.extent(0) - 1; - block_idx = block_idx < static_cast(m_blocks.extent(0)) ? block_idx : 0; + block_idx = + block_idx < static_cast(m_blocks.extent(0)) ? block_idx : 0; - return static_cast(block_idx)*block_size + offset; + return static_cast(block_idx) * block_size + offset; } -private: - + private: unsigned m_size; unsigned m_last_block_mask; - View< unsigned *, execution_space, MemoryTraits > m_blocks; + View > m_blocks; -private: + private: template friend class Bitset; @@ -302,87 +292,72 @@ private: friend struct Impl::BitsetCount; template - friend void deep_copy( Bitset & dst, Bitset const& src); + friend void deep_copy(Bitset& dst, Bitset const& src); template - friend void deep_copy( Bitset & dst, ConstBitset const& src); + friend void deep_copy(Bitset& dst, + ConstBitset const& src); }; /// a thread-safe view to a const bitset /// i.e. can only test bits template -class ConstBitset -{ -public: +class ConstBitset { + public: typedef Device execution_space; typedef unsigned size_type; -private: - enum { block_size = static_cast(sizeof(unsigned)*CHAR_BIT) }; - enum { block_mask = block_size -1u }; + private: + enum { block_size = static_cast(sizeof(unsigned) * CHAR_BIT) }; + enum { block_mask = block_size - 1u }; enum { block_shift = Kokkos::Impl::integral_power_of_two(block_size) }; -public: - ConstBitset() - : m_size (0) - {} + public: + ConstBitset() : m_size(0) {} ConstBitset(Bitset const& rhs) - : m_size(rhs.m_size) - , m_blocks(rhs.m_blocks) - {} + : m_size(rhs.m_size), m_blocks(rhs.m_blocks) {} ConstBitset(ConstBitset const& rhs) - : m_size( rhs.m_size ) - , m_blocks( rhs.m_blocks ) - {} + : m_size(rhs.m_size), m_blocks(rhs.m_blocks) {} - ConstBitset & operator = (Bitset const & rhs) - { - this->m_size = rhs.m_size; + ConstBitset& operator=(Bitset const& rhs) { + this->m_size = rhs.m_size; this->m_blocks = rhs.m_blocks; return *this; } - ConstBitset & operator = (ConstBitset const & rhs) - { - this->m_size = rhs.m_size; + ConstBitset& operator=(ConstBitset const& rhs) { + this->m_size = rhs.m_size; this->m_blocks = rhs.m_blocks; return *this; } - KOKKOS_FORCEINLINE_FUNCTION - unsigned size() const - { - return m_size; - } + unsigned size() const { return m_size; } - unsigned count() const - { - Impl::BitsetCount< ConstBitset > f(*this); + unsigned count() const { + Impl::BitsetCount > f(*this); return f.apply(); } KOKKOS_FORCEINLINE_FUNCTION - bool test( unsigned i ) const - { - if ( i < m_size ) { - const unsigned block = m_blocks[ i >> block_shift ]; - const unsigned mask = 1u << static_cast( i & block_mask ); + bool test(unsigned i) const { + if (i < m_size) { + const unsigned block = m_blocks[i >> block_shift]; + const unsigned mask = 1u << static_cast(i & block_mask); return block & mask; } return false; } -private: - + private: unsigned m_size; - View< const unsigned *, execution_space, MemoryTraits > m_blocks; + View > m_blocks; -private: + private: template friend class ConstBitset; @@ -390,47 +365,56 @@ private: friend struct Impl::BitsetCount; template - friend void deep_copy( Bitset & dst, ConstBitset const& src); + friend void deep_copy(Bitset& dst, + ConstBitset const& src); template - friend void deep_copy( ConstBitset & dst, ConstBitset const& src); + friend void deep_copy(ConstBitset& dst, + ConstBitset const& src); }; - template -void deep_copy( Bitset & dst, Bitset const& src) -{ +void deep_copy(Bitset& dst, Bitset const& src) { if (dst.size() != src.size()) { - throw std::runtime_error("Error: Cannot deep_copy bitsets of different sizes!"); + throw std::runtime_error( + "Error: Cannot deep_copy bitsets of different sizes!"); } - typedef Kokkos::Impl::DeepCopy< typename DstDevice::memory_space, typename SrcDevice::memory_space > raw_deep_copy; - raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), sizeof(unsigned)*src.m_blocks.extent(0)); + typedef Kokkos::Impl::DeepCopy + raw_deep_copy; + raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), + sizeof(unsigned) * src.m_blocks.extent(0)); } template -void deep_copy( Bitset & dst, ConstBitset const& src) -{ +void deep_copy(Bitset& dst, ConstBitset const& src) { if (dst.size() != src.size()) { - throw std::runtime_error("Error: Cannot deep_copy bitsets of different sizes!"); + throw std::runtime_error( + "Error: Cannot deep_copy bitsets of different sizes!"); } - typedef Kokkos::Impl::DeepCopy< typename DstDevice::memory_space, typename SrcDevice::memory_space > raw_deep_copy; - raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), sizeof(unsigned)*src.m_blocks.extent(0)); + typedef Kokkos::Impl::DeepCopy + raw_deep_copy; + raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), + sizeof(unsigned) * src.m_blocks.extent(0)); } template -void deep_copy( ConstBitset & dst, ConstBitset const& src) -{ +void deep_copy(ConstBitset& dst, ConstBitset const& src) { if (dst.size() != src.size()) { - throw std::runtime_error("Error: Cannot deep_copy bitsets of different sizes!"); + throw std::runtime_error( + "Error: Cannot deep_copy bitsets of different sizes!"); } - typedef Kokkos::Impl::DeepCopy< typename DstDevice::memory_space, typename SrcDevice::memory_space > raw_deep_copy; - raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), sizeof(unsigned)*src.m_blocks.extent(0)); + typedef Kokkos::Impl::DeepCopy + raw_deep_copy; + raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), + sizeof(unsigned) * src.m_blocks.extent(0)); } -} // namespace Kokkos - -#endif //KOKKOS_BITSET_HPP +} // namespace Kokkos +#endif // KOKKOS_BITSET_HPP diff --git a/lib/kokkos/containers/src/Kokkos_DualView.hpp b/lib/kokkos/containers/src/Kokkos_DualView.hpp index d9b14d67a2f02854962c2f3d127f1d80da67a46d..ede7d9a31f045a6346f41401d283f94a54675904 100644 --- a/lib/kokkos/containers/src/Kokkos_DualView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DualView.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -90,47 +91,41 @@ namespace Kokkos { * behavior. Please see the documentation of Kokkos::View for * examples. The default suffices for most users. */ -template< class DataType , - class Arg1Type = void , - class Arg2Type = void , +template -class DualView : public ViewTraits< DataType , Arg1Type , Arg2Type, Arg3Type > -{ -template< class , class , class , class > friend class DualView ; -public: +class DualView : public ViewTraits { + template + friend class DualView; + + public: //! \name Typedefs for device types and various Kokkos::View specializations. //@{ - typedef ViewTraits< DataType , Arg1Type , Arg2Type, Arg3Type > traits ; + typedef ViewTraits traits; //! The Kokkos Host Device type; - typedef typename traits::host_mirror_space host_mirror_space ; + typedef typename traits::host_mirror_space host_mirror_space; //! The type of a Kokkos::View on the device. - typedef View< typename traits::data_type , - Arg1Type , - Arg2Type , - Arg3Type > t_dev ; + typedef View t_dev; /// \typedef t_host /// \brief The type of a Kokkos::View host mirror of \c t_dev. - typedef typename t_dev::HostMirror t_host ; + typedef typename t_dev::HostMirror t_host; //! The type of a const View on the device. //! The type of a Kokkos::View on the device. - typedef View< typename traits::const_data_type , - Arg1Type , - Arg2Type , - Arg3Type > t_dev_const ; + typedef View + t_dev_const; /// \typedef t_host_const /// \brief The type of a const View host mirror of \c t_dev_const. typedef typename t_dev_const::HostMirror t_host_const; //! The type of a const, random-access View on the device. - typedef View< typename traits::const_data_type , - typename traits::array_layout , - typename traits::device_type , - Kokkos::MemoryTraits > t_dev_const_randomread ; + typedef View > + t_dev_const_randomread; /// \typedef t_host_const_randomread /// \brief The type of a const, random-access View host mirror of @@ -138,39 +133,36 @@ public: typedef typename t_dev_const_randomread::HostMirror t_host_const_randomread; //! The type of an unmanaged View on the device. - typedef View< typename traits::data_type , - typename traits::array_layout , - typename traits::device_type , - MemoryUnmanaged> t_dev_um; + typedef View + t_dev_um; //! The type of an unmanaged View host mirror of \c t_dev_um. - typedef View< typename t_host::data_type , - typename t_host::array_layout , - typename t_host::device_type , - MemoryUnmanaged> t_host_um; + typedef View + t_host_um; //! The type of a const unmanaged View on the device. - typedef View< typename traits::const_data_type , - typename traits::array_layout , - typename traits::device_type , - MemoryUnmanaged> t_dev_const_um; + typedef View + t_dev_const_um; //! The type of a const unmanaged View host mirror of \c t_dev_const_um. - typedef View t_host_const_um; + typedef View + t_host_const_um; //! The type of a const, random-access View on the device. - typedef View< typename t_host::const_data_type , - typename t_host::array_layout , - typename t_host::device_type , - Kokkos::MemoryTraits > t_dev_const_randomread_um ; + typedef View > + t_dev_const_randomread_um; /// \typedef t_host_const_randomread /// \brief The type of a const, random-access View host mirror of /// \c t_dev_const_randomread. - typedef typename t_dev_const_randomread::HostMirror t_host_const_randomread_um; + typedef + typename t_dev_const_randomread::HostMirror t_host_const_randomread_um; //@} //! \name The two View instances. @@ -184,18 +176,20 @@ public: //@{ #ifndef KOKKOS_ENABLE_DEPRECATED_CODE -protected: + protected: // modified_flags[0] -> host // modified_flags[1] -> device - typedef View t_modified_flags; + typedef View t_modified_flags; t_modified_flags modified_flags; -public: + public: #else - typedef View t_modified_flags; - typedef View t_modified_flag; + typedef View + t_modified_flags; + typedef View + t_modified_flag; t_modified_flags modified_flags; - t_modified_flag modified_host,modified_device; + t_modified_flag modified_host, modified_device; #endif //@} @@ -208,11 +202,11 @@ public: /// default constructors. The "modified" flags are both initialized /// to "unmodified." #ifndef KOKKOS_ENABLE_DEPRECATED_CODE - DualView () = default; + DualView() = default; #else - DualView ():modified_flags (t_modified_flags("DualView::modified_flags")) { - modified_host = t_modified_flag(modified_flags,0); - modified_device = t_modified_flag(modified_flags,1); + DualView() : modified_flags(t_modified_flags("DualView::modified_flags")) { + modified_host = t_modified_flag(modified_flags, 0); + modified_device = t_modified_flag(modified_flags, 1); } #endif @@ -225,52 +219,99 @@ public: /// View objects. For example, if the View has three dimensions, /// the first three integer arguments will be nonzero, and you may /// omit the integer arguments that follow. - DualView (const std::string& label, - const size_t n0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, - const size_t n1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, - const size_t n2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, - const size_t n3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, - const size_t n4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, - const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, - const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, - const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) - : d_view (label, n0, n1, n2, n3, n4, n5, n6, n7) - , h_view (create_mirror_view (d_view)) // without UVM, host View mirrors - , modified_flags (t_modified_flags("DualView::modified_flags")) - { + DualView(const std::string& label, + const size_t n0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) + : d_view(label, n0, n1, n2, n3, n4, n5, n6, n7), + h_view(create_mirror_view(d_view)) // without UVM, host View mirrors + , + modified_flags(t_modified_flags("DualView::modified_flags")) { #ifdef KOKKOS_ENABLE_DEPRECATED_CODE - modified_host = t_modified_flag(modified_flags,0); - modified_device = t_modified_flag(modified_flags,1); + modified_host = t_modified_flag(modified_flags, 0); + modified_device = t_modified_flag(modified_flags, 1); #endif } + /// \brief Constructor that allocates View objects on both host and device. + /// + /// This constructor works like the analogous constructor of View. + /// The first arguments are wrapped up in a ViewCtor class, this allows + /// for a label, without initializing, and all of the other things that can + /// be wrapped up in a Ctor class. + /// The arguments that follow are the dimensions of the + /// View objects. For example, if the View has three dimensions, + /// the first three integer arguments will be nonzero, and you may + /// omit the integer arguments that follow. + template + DualView(const Impl::ViewCtorProp& arg_prop, + typename std::enable_if::has_pointer, + size_t>::type const n0 = + KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) + : d_view(arg_prop, n0, n1, n2, n3, n4, n5, n6, n7), + h_view(create_mirror_view(d_view)) // without UVM, host View mirrors + , + modified_flags(t_modified_flags("DualView::modified_flags")) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE + modified_host = t_modified_flag(modified_flags, 0); + modified_device = t_modified_flag(modified_flags, 1); +#endif + } + + explicit inline DualView(const ViewAllocateWithoutInitializing& arg_prop, + const size_t arg_N0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t arg_N1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t arg_N2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t arg_N3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t arg_N4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t arg_N5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t arg_N6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t arg_N7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) + : DualView(Impl::ViewCtorProp( + arg_prop.label, Kokkos::WithoutInitializing), + arg_N0, arg_N1, arg_N2, arg_N3, arg_N4, arg_N5, arg_N6, + arg_N7) {} + //! Copy constructor (shallow copy) - template - DualView (const DualView& src) : - d_view (src.d_view), - h_view (src.h_view), - modified_flags (src.modified_flags) + template + DualView(const DualView& src) + : d_view(src.d_view), + h_view(src.h_view), + modified_flags(src.modified_flags) #ifdef KOKKOS_ENABLE_DEPRECATED_CODE - , modified_host(src.modified_host) - , modified_device(src.modified_device) + , + modified_host(src.modified_host), + modified_device(src.modified_device) #endif - {} + { + } //! Subview constructor - template< class SD, class S1 , class S2 , class S3 - , class Arg0 , class ... Args > - DualView( const DualView & src - , const Arg0 & arg0 - , Args ... args - ) - : d_view( Kokkos::subview( src.d_view , arg0 , args ... ) ) - , h_view( Kokkos::subview( src.h_view , arg0 , args ... ) ) - , modified_flags (src.modified_flags) + template + DualView(const DualView& src, const Arg0& arg0, Args... args) + : d_view(Kokkos::subview(src.d_view, arg0, args...)), + h_view(Kokkos::subview(src.h_view, arg0, args...)), + modified_flags(src.modified_flags) #ifdef KOKKOS_ENABLE_DEPRECATED_CODE - , modified_host(src.modified_host) - , modified_device(src.modified_device) + , + modified_host(src.modified_host), + modified_device(src.modified_device) #endif - {} + { + } /// \brief Create DualView from existing device and host View objects. /// @@ -282,34 +323,34 @@ public: /// /// \param d_view_ Device View /// \param h_view_ Host View (must have type t_host = t_dev::HostMirror) - DualView (const t_dev& d_view_, const t_host& h_view_) : - d_view (d_view_), - h_view (h_view_), - modified_flags (t_modified_flags("DualView::modified_flags")) - { - if ( int(d_view.rank) != int(h_view.rank) || - d_view.extent(0) != h_view.extent(0) || - d_view.extent(1) != h_view.extent(1) || - d_view.extent(2) != h_view.extent(2) || - d_view.extent(3) != h_view.extent(3) || - d_view.extent(4) != h_view.extent(4) || - d_view.extent(5) != h_view.extent(5) || - d_view.extent(6) != h_view.extent(6) || - d_view.extent(7) != h_view.extent(7) || - d_view.stride_0() != h_view.stride_0() || - d_view.stride_1() != h_view.stride_1() || - d_view.stride_2() != h_view.stride_2() || - d_view.stride_3() != h_view.stride_3() || - d_view.stride_4() != h_view.stride_4() || - d_view.stride_5() != h_view.stride_5() || - d_view.stride_6() != h_view.stride_6() || - d_view.stride_7() != h_view.stride_7() || - d_view.span() != h_view.span() ) { - Kokkos::Impl::throw_runtime_exception("DualView constructed with incompatible views"); + DualView(const t_dev& d_view_, const t_host& h_view_) + : d_view(d_view_), + h_view(h_view_), + modified_flags(t_modified_flags("DualView::modified_flags")) { + if (int(d_view.rank) != int(h_view.rank) || + d_view.extent(0) != h_view.extent(0) || + d_view.extent(1) != h_view.extent(1) || + d_view.extent(2) != h_view.extent(2) || + d_view.extent(3) != h_view.extent(3) || + d_view.extent(4) != h_view.extent(4) || + d_view.extent(5) != h_view.extent(5) || + d_view.extent(6) != h_view.extent(6) || + d_view.extent(7) != h_view.extent(7) || + d_view.stride_0() != h_view.stride_0() || + d_view.stride_1() != h_view.stride_1() || + d_view.stride_2() != h_view.stride_2() || + d_view.stride_3() != h_view.stride_3() || + d_view.stride_4() != h_view.stride_4() || + d_view.stride_5() != h_view.stride_5() || + d_view.stride_6() != h_view.stride_6() || + d_view.stride_7() != h_view.stride_7() || + d_view.span() != h_view.span()) { + Kokkos::Impl::throw_runtime_exception( + "DualView constructed with incompatible views"); } #ifdef KOKKOS_ENABLE_DEPRECATED_CODE - modified_host = t_modified_flag(modified_flags,0); - modified_device = t_modified_flag(modified_flags,1); + modified_host = t_modified_flag(modified_flags, 0); + modified_device = t_modified_flag(modified_flags, 1); #endif } @@ -326,119 +367,133 @@ public: /// /// For example, suppose you create a DualView on Cuda, like this: /// \code - /// typedef Kokkos::DualView dual_view_type; - /// dual_view_type DV ("my dual view", 100); - /// \endcode - /// If you want to get the CUDA device View, do this: - /// \code - /// typename dual_view_type::t_dev cudaView = DV.view (); - /// \endcode - /// and if you want to get the host mirror of that View, do this: - /// \code - /// typedef typename Kokkos::HostSpace::execution_space host_device_type; - /// typename dual_view_type::t_host hostView = DV.view (); - /// \endcode - template< class Device > - KOKKOS_INLINE_FUNCTION - const typename Impl::if_c< - std::is_same::value, - t_dev, - t_host>::type& view () const - { - #ifndef KOKKOS_ENABLE_DEPRECATED_CODE - constexpr bool device_is_memspace = std::is_same::value; - constexpr bool device_is_execspace = std::is_same::value; - constexpr bool device_exec_is_t_dev_exec = std::is_same::value; - constexpr bool device_mem_is_t_dev_mem = std::is_same::value; - constexpr bool device_exec_is_t_host_exec = std::is_same::value; - constexpr bool device_mem_is_t_host_mem = std::is_same::value; - constexpr bool device_is_t_host_device = std::is_same::value; - constexpr bool device_is_t_dev_device = std::is_same::value; + /// typedef Kokkos::DualView + /// dual_view_type; dual_view_type DV ("my dual view", 100); \endcode If you + /// want to get the CUDA device View, do this: \code typename + /// dual_view_type::t_dev cudaView = DV.view (); \endcode and if + /// you want to get the host mirror of that View, do this: \code typedef + /// typename Kokkos::HostSpace::execution_space host_device_type; typename + /// dual_view_type::t_host hostView = DV.view (); \endcode + template + KOKKOS_INLINE_FUNCTION const typename Impl::if_c< + std::is_same::value, + t_dev, t_host>::type& + view() const { +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE + constexpr bool device_is_memspace = + std::is_same::value; + constexpr bool device_is_execspace = + std::is_same::value; + constexpr bool device_exec_is_t_dev_exec = + std::is_same::value; + constexpr bool device_mem_is_t_dev_mem = + std::is_same::value; + constexpr bool device_exec_is_t_host_exec = + std::is_same::value; + constexpr bool device_mem_is_t_host_mem = + std::is_same::value; + constexpr bool device_is_t_host_device = + std::is_same::value; + constexpr bool device_is_t_dev_device = + std::is_same::value; static_assert( device_is_t_dev_device || device_is_t_host_device || - (device_is_memspace && (device_mem_is_t_dev_mem || device_mem_is_t_host_mem) ) || - (device_is_execspace && (device_exec_is_t_dev_exec || device_exec_is_t_host_exec) ) || - ( - (!device_is_execspace && !device_is_memspace) && ( - (device_mem_is_t_dev_mem || device_mem_is_t_host_mem) || - (device_exec_is_t_dev_exec || device_exec_is_t_host_exec) - ) - ) - , - "Template parameter to .view() must exactly match one of the DualView's device types or one of the execution or memory spaces"); - #endif - - return Impl::if_c< - std::is_same< - typename t_dev::memory_space, - typename Device::memory_space>::value, - t_dev, - t_host >::select (d_view , h_view); + (device_is_memspace && + (device_mem_is_t_dev_mem || device_mem_is_t_host_mem)) || + (device_is_execspace && + (device_exec_is_t_dev_exec || device_exec_is_t_host_exec)) || + ((!device_is_execspace && !device_is_memspace) && + ((device_mem_is_t_dev_mem || device_mem_is_t_host_mem) || + (device_exec_is_t_dev_exec || device_exec_is_t_host_exec))), + "Template parameter to .view() must exactly match one of the " + "DualView's device types or one of the execution or memory spaces"); +#endif + + return Impl::if_c::value, + t_dev, t_host>::select(d_view, h_view); } KOKKOS_INLINE_FUNCTION - t_host view_host() const { - return h_view; - } + t_host view_host() const { return h_view; } KOKKOS_INLINE_FUNCTION - t_dev view_device() const { - return d_view; - } + t_dev view_device() const { return d_view; } - template + template static int get_device_side() { - constexpr bool device_is_memspace = std::is_same::value; - constexpr bool device_is_execspace = std::is_same::value; - constexpr bool device_exec_is_t_dev_exec = std::is_same::value; - constexpr bool device_mem_is_t_dev_mem = std::is_same::value; - constexpr bool device_exec_is_t_host_exec = std::is_same::value; - constexpr bool device_mem_is_t_host_mem = std::is_same::value; - constexpr bool device_is_t_host_device = std::is_same::value; - constexpr bool device_is_t_dev_device = std::is_same::value; - - #ifndef KOKKOS_ENABLE_DEPRECATED_CODE + constexpr bool device_is_memspace = + std::is_same::value; + constexpr bool device_is_execspace = + std::is_same::value; + constexpr bool device_exec_is_t_dev_exec = + std::is_same::value; + constexpr bool device_mem_is_t_dev_mem = + std::is_same::value; + constexpr bool device_exec_is_t_host_exec = + std::is_same::value; + constexpr bool device_mem_is_t_host_mem = + std::is_same::value; + constexpr bool device_is_t_host_device = + std::is_same::value; + constexpr bool device_is_t_dev_device = + std::is_same::value; + +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE static_assert( device_is_t_dev_device || device_is_t_host_device || - (device_is_memspace && (device_mem_is_t_dev_mem || device_mem_is_t_host_mem) ) || - (device_is_execspace && (device_exec_is_t_dev_exec || device_exec_is_t_host_exec) ) || - ( - (!device_is_execspace && !device_is_memspace) && ( - (device_mem_is_t_dev_mem || device_mem_is_t_host_mem) || - (device_exec_is_t_dev_exec || device_exec_is_t_host_exec) - ) - ) - , - "Template parameter to .sync() must exactly match one of the DualView's device types or one of the execution or memory spaces"); - #endif + (device_is_memspace && + (device_mem_is_t_dev_mem || device_mem_is_t_host_mem)) || + (device_is_execspace && + (device_exec_is_t_dev_exec || device_exec_is_t_host_exec)) || + ((!device_is_execspace && !device_is_memspace) && + ((device_mem_is_t_dev_mem || device_mem_is_t_host_mem) || + (device_exec_is_t_dev_exec || device_exec_is_t_host_exec))), + "Template parameter to .sync() must exactly match one of the " + "DualView's device types or one of the execution or memory spaces"); +#endif - #ifndef KOKKOS_ENABLE_DEPRECATED_CODE +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE int dev = -1; - #else +#else int dev = 0; - #endif - if(device_is_t_dev_device) dev = 1; - else if(device_is_t_host_device) dev = 0; +#endif + if (device_is_t_dev_device) + dev = 1; + else if (device_is_t_host_device) + dev = 0; else { - if(device_is_memspace) { - if(device_mem_is_t_dev_mem) dev = 1; - if(device_mem_is_t_host_mem) dev = 0; - if(device_mem_is_t_host_mem && device_mem_is_t_dev_mem) dev = -1; + if (device_is_memspace) { + if (device_mem_is_t_dev_mem) dev = 1; + if (device_mem_is_t_host_mem) dev = 0; + if (device_mem_is_t_host_mem && device_mem_is_t_dev_mem) dev = -1; } - if(device_is_execspace) { - if(device_exec_is_t_dev_exec) dev = 1; - if(device_exec_is_t_host_exec) dev = 0; - if(device_exec_is_t_host_exec && device_exec_is_t_dev_exec) dev = -1; + if (device_is_execspace) { + if (device_exec_is_t_dev_exec) dev = 1; + if (device_exec_is_t_host_exec) dev = 0; + if (device_exec_is_t_host_exec && device_exec_is_t_dev_exec) dev = -1; } - if(!device_is_execspace && !device_is_memspace) { - if(device_mem_is_t_dev_mem) dev = 1; - if(device_mem_is_t_host_mem) dev = 0; - if(device_mem_is_t_host_mem && device_mem_is_t_dev_mem) dev = -1; - if(device_exec_is_t_dev_exec) dev = 1; - if(device_exec_is_t_host_exec) dev = 0; - if(device_exec_is_t_host_exec && device_exec_is_t_dev_exec) dev = -1; + if (!device_is_execspace && !device_is_memspace) { + if (device_mem_is_t_dev_mem) dev = 1; + if (device_mem_is_t_host_mem) dev = 0; + if (device_mem_is_t_host_mem && device_mem_is_t_dev_mem) dev = -1; + if (device_exec_is_t_dev_exec) dev = 1; + if (device_exec_is_t_host_exec) dev = 0; + if (device_exec_is_t_host_exec && device_exec_is_t_dev_exec) dev = -1; } } return dev; @@ -461,88 +516,134 @@ public: /// the data in either View. You must manually mark modified data /// as modified, by calling the modify() method with the /// appropriate template parameter. - template - void sync( const typename Impl::enable_if< - ( std::is_same< typename traits::data_type , typename traits::non_const_data_type>::value) || - ( std::is_same< Device , int>::value) - , int >::type& = 0) - { - if(modified_flags.data()==NULL) return; + template + void sync(const typename std::enable_if< + (std::is_same::value) || + (std::is_same::value), + int>::type& = 0) { + if (modified_flags.data() == nullptr) return; int dev = get_device_side(); - if (dev == 1) { // if Device is the same as DualView's device type + if (dev == 1) { // if Device is the same as DualView's device type if ((modified_flags(0) > 0) && (modified_flags(0) >= modified_flags(1))) { - deep_copy (d_view, h_view); +#ifdef KOKKOS_ENABLE_CUDA + if (std::is_same::value) { + if (d_view.data() == h_view.data()) + Kokkos::Impl::cuda_prefetch_pointer( + Kokkos::Cuda(), d_view.data(), + sizeof(typename t_dev::value_type) * d_view.span(), true); + } +#endif + + deep_copy(d_view, h_view); modified_flags(0) = modified_flags(1) = 0; } } - if (dev == 0) { // hopefully Device is the same as DualView's host type + if (dev == 0) { // hopefully Device is the same as DualView's host type if ((modified_flags(1) > 0) && (modified_flags(1) >= modified_flags(0))) { - deep_copy (h_view, d_view); +#ifdef KOKKOS_ENABLE_CUDA + if (std::is_same::value) { + if (d_view.data() == h_view.data()) + Kokkos::Impl::cuda_prefetch_pointer( + Kokkos::Cuda(), d_view.data(), + sizeof(typename t_dev::value_type) * d_view.span(), false); + } +#endif + + deep_copy(h_view, d_view); modified_flags(0) = modified_flags(1) = 0; } } - if(std::is_same::value) { + if (std::is_same::value) { typename t_dev::execution_space().fence(); typename t_host::execution_space().fence(); } } - template - void sync ( const typename Impl::enable_if< - ( ! std::is_same< typename traits::data_type , typename traits::non_const_data_type>::value ) || - ( std::is_same< Device , int>::value) - , int >::type& = 0 ) - { - if(modified_flags.data()==NULL) return; + template + void sync(const typename std::enable_if< + (!std::is_same::value) || + (std::is_same::value), + int>::type& = 0) { + if (modified_flags.data() == nullptr) return; int dev = get_device_side(); - if (dev == 1) { // if Device is the same as DualView's device type + if (dev == 1) { // if Device is the same as DualView's device type if ((modified_flags(0) > 0) && (modified_flags(0) >= modified_flags(1))) { - Impl::throw_runtime_exception("Calling sync on a DualView with a const datatype."); + Impl::throw_runtime_exception( + "Calling sync on a DualView with a const datatype."); } } - if (dev == 0){ // hopefully Device is the same as DualView's host type + if (dev == 0) { // hopefully Device is the same as DualView's host type if ((modified_flags(1) > 0) && (modified_flags(1) >= modified_flags(0))) { - Impl::throw_runtime_exception("Calling sync on a DualView with a const datatype."); + Impl::throw_runtime_exception( + "Calling sync on a DualView with a const datatype."); } } } void sync_host() { - if( ! std::is_same< typename traits::data_type , typename traits::non_const_data_type>::value ) - Impl::throw_runtime_exception("Calling sync_host on a DualView with a const datatype."); - if(modified_flags.data()==NULL) return; - if(modified_flags(1) > modified_flags(0)) { - deep_copy (h_view, d_view); + if (!std::is_same::value) + Impl::throw_runtime_exception( + "Calling sync_host on a DualView with a const datatype."); + if (modified_flags.data() == nullptr) return; + if (modified_flags(1) > modified_flags(0)) { +#ifdef KOKKOS_ENABLE_CUDA + if (std::is_same::value) { + if (d_view.data() == h_view.data()) + Kokkos::Impl::cuda_prefetch_pointer( + Kokkos::Cuda(), d_view.data(), + sizeof(typename t_dev::value_type) * d_view.span(), false); + } +#endif + + deep_copy(h_view, d_view); modified_flags(1) = modified_flags(0) = 0; } } void sync_device() { - if( ! std::is_same< typename traits::data_type , typename traits::non_const_data_type>::value ) - Impl::throw_runtime_exception("Calling sync_device on a DualView with a const datatype."); - if(modified_flags.data()==NULL) return; - if(modified_flags(0) > modified_flags(1)) { - deep_copy (d_view, h_view); + if (!std::is_same::value) + Impl::throw_runtime_exception( + "Calling sync_device on a DualView with a const datatype."); + if (modified_flags.data() == nullptr) return; + if (modified_flags(0) > modified_flags(1)) { +#ifdef KOKKOS_ENABLE_CUDA + if (std::is_same::value) { + if (d_view.data() == h_view.data()) + Kokkos::Impl::cuda_prefetch_pointer( + Kokkos::Cuda(), d_view.data(), + sizeof(typename t_dev::value_type) * d_view.span(), true); + } +#endif + + deep_copy(d_view, h_view); modified_flags(1) = modified_flags(0) = 0; } } - template - bool need_sync() const - { - if(modified_flags.data()==NULL) return false; + template + bool need_sync() const { + if (modified_flags.data() == nullptr) return false; int dev = get_device_side(); - if (dev == 1) { // if Device is the same as DualView's device type + if (dev == 1) { // if Device is the same as DualView's device type if ((modified_flags(0) > 0) && (modified_flags(0) >= modified_flags(1))) { return true; } } - if (dev == 0){ // hopefully Device is the same as DualView's host type + if (dev == 0) { // hopefully Device is the same as DualView's host type if ((modified_flags(1) > 0) && (modified_flags(1) >= modified_flags(0))) { return true; } @@ -551,13 +652,13 @@ public: } inline bool need_sync_host() const { - if(modified_flags.data()==NULL) return false; - return modified_flags(0) - void modify () { - if(modified_flags.data()==NULL) return; + template + void modify() { + if (modified_flags.data() == nullptr) return; int dev = get_device_side(); - if (dev == 1) { // if Device is the same as DualView's device type + if (dev == 1) { // if Device is the same as DualView's device type // Increment the device's modified count. - modified_flags(1) = (modified_flags(1) > modified_flags(0) ? - modified_flags(1) : modified_flags(0)) + 1; + modified_flags(1) = + (modified_flags(1) > modified_flags(0) ? modified_flags(1) + : modified_flags(0)) + + 1; } - if (dev == 0) { // hopefully Device is the same as DualView's host type + if (dev == 0) { // hopefully Device is the same as DualView's host type // Increment the host's modified count. - modified_flags(0) = (modified_flags(1) > modified_flags(0) ? - modified_flags(1) : modified_flags(0)) + 1; + modified_flags(0) = + (modified_flags(1) > modified_flags(0) ? modified_flags(1) + : modified_flags(0)) + + 1; } #ifdef KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK @@ -594,10 +699,12 @@ public: } inline void modify_host() { - if(modified_flags.data()!=NULL) { - modified_flags(0) = (modified_flags(1) > modified_flags(0) ? - modified_flags(1) : modified_flags(0)) + 1; - #ifdef KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK + if (modified_flags.data() != nullptr) { + modified_flags(0) = + (modified_flags(1) > modified_flags(0) ? modified_flags(1) + : modified_flags(0)) + + 1; +#ifdef KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK if (modified_flags(0) && modified_flags(1)) { std::string msg = "Kokkos::DualView::modify_host ERROR: "; msg += "Concurrent modification of host and device views "; @@ -606,15 +713,17 @@ public: msg += "\"\n"; Kokkos::abort(msg.c_str()); } - #endif +#endif } } inline void modify_device() { - if(modified_flags.data()!=NULL) { - modified_flags(1) = (modified_flags(1) > modified_flags(0) ? - modified_flags(1) : modified_flags(0)) + 1; - #ifdef KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK + if (modified_flags.data() != nullptr) { + modified_flags(1) = + (modified_flags(1) > modified_flags(0) ? modified_flags(1) + : modified_flags(0)) + + 1; +#ifdef KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK if (modified_flags(0) && modified_flags(1)) { std::string msg = "Kokkos::DualView::modify_device ERROR: "; msg += "Concurrent modification of host and device views "; @@ -623,12 +732,12 @@ public: msg += "\"\n"; Kokkos::abort(msg.c_str()); } - #endif +#endif } } inline void clear_sync_state() { - if(modified_flags.data()!=NULL) + if (modified_flags.data() != nullptr) modified_flags(1) = modified_flags(0) = 0; } @@ -641,75 +750,72 @@ public: /// This discards any existing contents of the objects, and resets /// their modified flags. It does not copy the old contents /// of either View into the new View objects. - void realloc( const size_t n0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG ) { - ::Kokkos::realloc(d_view,n0,n1,n2,n3,n4,n5,n6,n7); - h_view = create_mirror_view( d_view ); - - /* Reset dirty flags */ - if(modified_flags.data()==NULL) { - modified_flags = t_modified_flags("DualView::modified_flags"); - } else - modified_flags(1) = modified_flags(0) = 0; + void realloc(const size_t n0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) { + ::Kokkos::realloc(d_view, n0, n1, n2, n3, n4, n5, n6, n7); + h_view = create_mirror_view(d_view); + + /* Reset dirty flags */ + if (modified_flags.data() == nullptr) { + modified_flags = t_modified_flags("DualView::modified_flags"); + } else + modified_flags(1) = modified_flags(0) = 0; } /// \brief Resize both views, copying old contents into new if necessary. /// /// This method only copies the old contents into the new View /// objects for the device which was last marked as modified. - void resize( const size_t n0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , - const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG ) { - if(modified_flags.data()==NULL) { - modified_flags = t_modified_flags("DualView::modified_flags"); - } - if(modified_flags(1) >= modified_flags(0)) { - /* Resize on Device */ - ::Kokkos::resize(d_view,n0,n1,n2,n3,n4,n5,n6,n7); - h_view = create_mirror_view( d_view ); - - /* Mark Device copy as modified */ - modified_flags(1) = modified_flags(1)+1; - - } else { - /* Realloc on Device */ - - ::Kokkos::realloc(d_view,n0,n1,n2,n3,n4,n5,n6,n7); - - const bool sizeMismatch = ( h_view.extent(0) != n0 ) || - ( h_view.extent(1) != n1 ) || - ( h_view.extent(2) != n2 ) || - ( h_view.extent(3) != n3 ) || - ( h_view.extent(4) != n4 ) || - ( h_view.extent(5) != n5 ) || - ( h_view.extent(6) != n6 ) || - ( h_view.extent(7) != n7 ); - if ( sizeMismatch ) - ::Kokkos::resize(h_view,n0,n1,n2,n3,n4,n5,n6,n7); - - t_host temp_view = create_mirror_view( d_view ); - - /* Remap on Host */ - Kokkos::deep_copy( temp_view , h_view ); - - h_view = temp_view; - - d_view = create_mirror_view( typename t_dev::execution_space(), h_view ); - - /* Mark Host copy as modified */ - modified_flags(0) = modified_flags(0)+1; - } + void resize(const size_t n0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) { + if (modified_flags.data() == nullptr) { + modified_flags = t_modified_flags("DualView::modified_flags"); + } + if (modified_flags(1) >= modified_flags(0)) { + /* Resize on Device */ + ::Kokkos::resize(d_view, n0, n1, n2, n3, n4, n5, n6, n7); + h_view = create_mirror_view(d_view); + + /* Mark Device copy as modified */ + modified_flags(1) = modified_flags(1) + 1; + + } else { + /* Realloc on Device */ + + ::Kokkos::realloc(d_view, n0, n1, n2, n3, n4, n5, n6, n7); + + const bool sizeMismatch = + (h_view.extent(0) != n0) || (h_view.extent(1) != n1) || + (h_view.extent(2) != n2) || (h_view.extent(3) != n3) || + (h_view.extent(4) != n4) || (h_view.extent(5) != n5) || + (h_view.extent(6) != n6) || (h_view.extent(7) != n7); + if (sizeMismatch) + ::Kokkos::resize(h_view, n0, n1, n2, n3, n4, n5, n6, n7); + + t_host temp_view = create_mirror_view(d_view); + + /* Remap on Host */ + Kokkos::deep_copy(temp_view, h_view); + + h_view = temp_view; + + d_view = create_mirror_view(typename t_dev::execution_space(), h_view); + + /* Mark Host copy as modified */ + modified_flags(0) = modified_flags(0) + 1; + } } //@} @@ -718,37 +824,35 @@ public: #ifdef KOKKOS_ENABLE_DEPRECATED_CODE //! The allocation size (same as Kokkos::View::capacity). - size_t capacity() const { - return d_view.span(); - } + size_t capacity() const { return d_view.span(); } #endif //! The allocation size (same as Kokkos::View::span). - KOKKOS_INLINE_FUNCTION constexpr size_t span() const { - return d_view.span(); - } + KOKKOS_INLINE_FUNCTION constexpr size_t span() const { return d_view.span(); } - KOKKOS_INLINE_FUNCTION bool span_is_contiguous() const { - return d_view.span_is_contiguous(); + KOKKOS_INLINE_FUNCTION bool span_is_contiguous() const { + return d_view.span_is_contiguous(); } //! Get stride(s) for each dimension. - template< typename iType> + template void stride(iType* stride_) const { d_view.stride(stride_); } - template< typename iType > - KOKKOS_INLINE_FUNCTION constexpr - typename std::enable_if< std::is_integral::value , size_t >::type - extent( const iType & r ) const - { return d_view.extent(r); } + template + KOKKOS_INLINE_FUNCTION constexpr + typename std::enable_if::value, size_t>::type + extent(const iType& r) const { + return d_view.extent(r); + } - template< typename iType > - KOKKOS_INLINE_FUNCTION constexpr - typename std::enable_if< std::is_integral::value , int >::type - extent_int( const iType & r ) const - { return static_cast(d_view.extent(r)); } + template + KOKKOS_INLINE_FUNCTION constexpr + typename std::enable_if::value, int>::type + extent_int(const iType& r) const { + return static_cast(d_view.extent(r)); + } #ifdef KOKKOS_ENABLE_DEPRECATED_CODE /* Deprecate all 'dimension' functions in favor of @@ -756,27 +860,27 @@ public: */ /* \brief return size of dimension 0 */ - size_t dimension_0() const {return d_view.extent(0);} + size_t dimension_0() const { return d_view.extent(0); } /* \brief return size of dimension 1 */ - size_t dimension_1() const {return d_view.extent(1);} + size_t dimension_1() const { return d_view.extent(1); } /* \brief return size of dimension 2 */ - size_t dimension_2() const {return d_view.extent(2);} + size_t dimension_2() const { return d_view.extent(2); } /* \brief return size of dimension 3 */ - size_t dimension_3() const {return d_view.extent(3);} + size_t dimension_3() const { return d_view.extent(3); } /* \brief return size of dimension 4 */ - size_t dimension_4() const {return d_view.extent(4);} + size_t dimension_4() const { return d_view.extent(4); } /* \brief return size of dimension 5 */ - size_t dimension_5() const {return d_view.extent(5);} + size_t dimension_5() const { return d_view.extent(5); } /* \brief return size of dimension 6 */ - size_t dimension_6() const {return d_view.extent(6);} + size_t dimension_6() const { return d_view.extent(6); } /* \brief return size of dimension 7 */ - size_t dimension_7() const {return d_view.extent(7);} + size_t dimension_7() const { return d_view.extent(7); } #endif //@} }; -} // namespace Kokkos +} // namespace Kokkos //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -787,32 +891,24 @@ public: namespace Kokkos { namespace Impl { -template< class D, class A1, class A2, class A3, class ... Args > +template struct DualViewSubview { + typedef typename Kokkos::Impl::ViewMapping< + void, Kokkos::ViewTraits, Args...>::traits_type dst_traits; - typedef typename Kokkos::Impl::ViewMapping - < void - , Kokkos::ViewTraits< D, A1, A2, A3 > - , Args ... - >::traits_type dst_traits ; - - typedef Kokkos::DualView - < typename dst_traits::data_type - , typename dst_traits::array_layout - , typename dst_traits::device_type - , typename dst_traits::memory_traits - > type ; + typedef Kokkos::DualView< + typename dst_traits::data_type, typename dst_traits::array_layout, + typename dst_traits::device_type, typename dst_traits::memory_traits> + type; }; } /* namespace Impl */ - -template< class D , class A1 , class A2 , class A3 , class ... Args > -typename Impl::DualViewSubview::type -subview( const DualView & src , Args ... args ) -{ - return typename - Impl::DualViewSubview::type( src , args ... ); +template +typename Impl::DualViewSubview::type subview( + const DualView& src, Args... args) { + return typename Impl::DualViewSubview::type(src, + args...); } } /* namespace Kokkos */ @@ -826,40 +922,58 @@ namespace Kokkos { // Partial specialization of Kokkos::deep_copy() for DualView objects. // -template< class DT , class DL , class DD , class DM , - class ST , class SL , class SD , class SM > -void -deep_copy (DualView dst, // trust me, this must not be a reference - const DualView& src ) -{ - if ( src.need_sync_device() ) { - deep_copy (dst.h_view, src.h_view); +template +void deep_copy( + DualView dst, // trust me, this must not be a reference + const DualView& src) { + if (src.need_sync_device()) { + deep_copy(dst.h_view, src.h_view); dst.modify_host(); - } - else { - deep_copy (dst.d_view, src.d_view); + } else { + deep_copy(dst.d_view, src.d_view); dst.modify_device(); - } + } } -template< class ExecutionSpace , - class DT , class DL , class DD , class DM , - class ST , class SL , class SD , class SM > -void -deep_copy (const ExecutionSpace& exec , - DualView dst, // trust me, this must not be a reference - const DualView& src ) -{ - if ( src.need_sync_device() ) { - deep_copy (exec, dst.h_view, src.h_view); +template +void deep_copy( + const ExecutionSpace& exec, + DualView dst, // trust me, this must not be a reference + const DualView& src) { + if (src.need_sync_device()) { + deep_copy(exec, dst.h_view, src.h_view); dst.modify_host(); } else { - deep_copy (exec, dst.d_view, src.d_view); + deep_copy(exec, dst.d_view, src.d_view); dst.modify_device(); } } -} // namespace Kokkos +} // namespace Kokkos -#endif +//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- +namespace Kokkos { + +// +// Non-member resize and realloc +// + +template +void resize(DualView& dv, Args&&... args) noexcept( + noexcept(dv.resize(std::forward(args)...))) { + dv.resize(std::forward(args)...); +} + +template +void realloc(DualView& dv, Args&&... args) noexcept( + noexcept(dv.realloc(std::forward(args)...))) { + dv.realloc(std::forward(args)...); +} + +} // end namespace Kokkos + +#endif diff --git a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp index d1e6704a573dfd3c26ad5eaa37d69ab1dc678459..4ab212d7b9a9237c5c45f9d3713dffd28a0d147d 100644 --- a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp @@ -2,10 +2,11 @@ //@HEADER // ************************************************************************ // -// Kokkos v. 2.0 -// Copyright (2014) Sandia Corporation +// Kokkos v. 3.0 +// Copyright (2020) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). // -// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +// Under the terms of Contract DE-NA0003525 with NTESS, // the U.S. Government retains certain rights in this software. // // Redistribution and use in source and binary forms, with or without @@ -23,10 +24,10 @@ // contributors may be used to endorse or promote products derived from // this software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +// THIS SOFTWARE IS PROVIDED BY NTESS "AS IS" AND ANY // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NTESS OR THE // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -56,342 +57,326 @@ namespace Kokkos { -template< typename DataType , class ... Properties > -class DynRankView; //forward declare +template +class DynRankView; // forward declare namespace Impl { template struct DynRankDimTraits { - - enum : size_t{unspecified = KOKKOS_INVALID_INDEX}; + enum : size_t { unspecified = KOKKOS_INVALID_INDEX }; // Compute the rank of the view from the nonzero dimension arguments. KOKKOS_INLINE_FUNCTION - static size_t computeRank( const size_t N0 - , const size_t N1 - , const size_t N2 - , const size_t N3 - , const size_t N4 - , const size_t N5 - , const size_t N6 - , const size_t /* N7 */) - { - return - ( (N6 == unspecified && N5 == unspecified && N4 == unspecified && N3 == unspecified && N2 == unspecified && N1 == unspecified && N0 == unspecified) ? 0 - : ( (N6 == unspecified && N5 == unspecified && N4 == unspecified && N3 == unspecified && N2 == unspecified && N1 == unspecified) ? 1 - : ( (N6 == unspecified && N5 == unspecified && N4 == unspecified && N3 == unspecified && N2 == unspecified) ? 2 - : ( (N6 == unspecified && N5 == unspecified && N4 == unspecified && N3 == unspecified) ? 3 - : ( (N6 == unspecified && N5 == unspecified && N4 == unspecified) ? 4 - : ( (N6 == unspecified && N5 == unspecified) ? 5 - : ( (N6 == unspecified) ? 6 - : 7 ) ) ) ) ) ) ); + static size_t computeRank(const size_t N0, const size_t N1, const size_t N2, + const size_t N3, const size_t N4, const size_t N5, + const size_t N6, const size_t /* N7 */) { + return ( + (N6 == unspecified && N5 == unspecified && N4 == unspecified && + N3 == unspecified && N2 == unspecified && N1 == unspecified && + N0 == unspecified) + ? 0 + : ((N6 == unspecified && N5 == unspecified && N4 == unspecified && + N3 == unspecified && N2 == unspecified && N1 == unspecified) + ? 1 + : ((N6 == unspecified && N5 == unspecified && + N4 == unspecified && N3 == unspecified && + N2 == unspecified) + ? 2 + : ((N6 == unspecified && N5 == unspecified && + N4 == unspecified && N3 == unspecified) + ? 3 + : ((N6 == unspecified && N5 == unspecified && + N4 == unspecified) + ? 4 + : ((N6 == unspecified && + N5 == unspecified) + ? 5 + : ((N6 == unspecified) + ? 6 + : 7))))))); } // Compute the rank of the view from the nonzero layout arguments. template - KOKKOS_INLINE_FUNCTION - static size_t computeRank( const Layout& layout ) - { - return computeRank( layout.dimension[0] - , layout.dimension[1] - , layout.dimension[2] - , layout.dimension[3] - , layout.dimension[4] - , layout.dimension[5] - , layout.dimension[6] - , layout.dimension[7] ); + KOKKOS_INLINE_FUNCTION static size_t computeRank(const Layout& layout) { + return computeRank(layout.dimension[0], layout.dimension[1], + layout.dimension[2], layout.dimension[3], + layout.dimension[4], layout.dimension[5], + layout.dimension[6], layout.dimension[7]); } // Extra overload to match that for specialize types v2 - template - KOKKOS_INLINE_FUNCTION - static size_t computeRank( const Kokkos::Impl::ViewCtorProp& /* prop */, const Layout& layout ) - { + template + KOKKOS_INLINE_FUNCTION static size_t computeRank( + const Kokkos::Impl::ViewCtorProp& /* prop */, + const Layout& layout) { return computeRank(layout); } // Create the layout for the rank-7 view. // Non-strided Layout template - KOKKOS_INLINE_FUNCTION - static typename std::enable_if< (std::is_same::value || std::is_same::value) , Layout >::type createLayout( const Layout& layout ) - { - return Layout( layout.dimension[0] != unspecified ? layout.dimension[0] : 1 - , layout.dimension[1] != unspecified ? layout.dimension[1] : 1 - , layout.dimension[2] != unspecified ? layout.dimension[2] : 1 - , layout.dimension[3] != unspecified ? layout.dimension[3] : 1 - , layout.dimension[4] != unspecified ? layout.dimension[4] : 1 - , layout.dimension[5] != unspecified ? layout.dimension[5] : 1 - , layout.dimension[6] != unspecified ? layout.dimension[6] : 1 - , layout.dimension[7] != unspecified ? layout.dimension[7] : 1 - ); + KOKKOS_INLINE_FUNCTION static typename std::enable_if< + (std::is_same::value || + std::is_same::value), + Layout>::type + createLayout(const Layout& layout) { + return Layout(layout.dimension[0] != unspecified ? layout.dimension[0] : 1, + layout.dimension[1] != unspecified ? layout.dimension[1] : 1, + layout.dimension[2] != unspecified ? layout.dimension[2] : 1, + layout.dimension[3] != unspecified ? layout.dimension[3] : 1, + layout.dimension[4] != unspecified ? layout.dimension[4] : 1, + layout.dimension[5] != unspecified ? layout.dimension[5] : 1, + layout.dimension[6] != unspecified ? layout.dimension[6] : 1, + layout.dimension[7] != unspecified ? layout.dimension[7] : 1); } // LayoutStride template - KOKKOS_INLINE_FUNCTION - static typename std::enable_if< (std::is_same::value) , Layout>::type createLayout( const Layout& layout ) - { - return Layout( layout.dimension[0] != unspecified ? layout.dimension[0] : 1 - , layout.stride[0] - , layout.dimension[1] != unspecified ? layout.dimension[1] : 1 - , layout.stride[1] - , layout.dimension[2] != unspecified ? layout.dimension[2] : 1 - , layout.stride[2] - , layout.dimension[3] != unspecified ? layout.dimension[3] : 1 - , layout.stride[3] - , layout.dimension[4] != unspecified ? layout.dimension[4] : 1 - , layout.stride[4] - , layout.dimension[5] != unspecified ? layout.dimension[5] : 1 - , layout.stride[5] - , layout.dimension[6] != unspecified ? layout.dimension[6] : 1 - , layout.stride[6] - , layout.dimension[7] != unspecified ? layout.dimension[7] : 1 - , layout.stride[7] - ); + KOKKOS_INLINE_FUNCTION static typename std::enable_if< + (std::is_same::value), Layout>::type + createLayout(const Layout& layout) { + return Layout(layout.dimension[0] != unspecified ? layout.dimension[0] : 1, + layout.stride[0], + layout.dimension[1] != unspecified ? layout.dimension[1] : 1, + layout.stride[1], + layout.dimension[2] != unspecified ? layout.dimension[2] : 1, + layout.stride[2], + layout.dimension[3] != unspecified ? layout.dimension[3] : 1, + layout.stride[3], + layout.dimension[4] != unspecified ? layout.dimension[4] : 1, + layout.stride[4], + layout.dimension[5] != unspecified ? layout.dimension[5] : 1, + layout.stride[5], + layout.dimension[6] != unspecified ? layout.dimension[6] : 1, + layout.stride[6], + layout.dimension[7] != unspecified ? layout.dimension[7] : 1, + layout.stride[7]); } // Extra overload to match that for specialize types - template - KOKKOS_INLINE_FUNCTION - static typename std::enable_if< (std::is_same::value || std::is_same::value || std::is_same::value) , typename Traits::array_layout >::type createLayout( const Kokkos::Impl::ViewCtorProp& /* prop */, const typename Traits::array_layout& layout ) - { - return createLayout( layout ); + template + KOKKOS_INLINE_FUNCTION static typename std::enable_if< + (std::is_same::value || + std::is_same::value || + std::is_same::value), + typename Traits::array_layout>::type + createLayout(const Kokkos::Impl::ViewCtorProp& /* prop */, + const typename Traits::array_layout& layout) { + return createLayout(layout); } // Create a view from the given dimension arguments. // This is only necessary because the shmem constructor doesn't take a layout. - // NDE shmem View's are not compatible with the added view_alloc value_type / fad_dim deduction functionality + // NDE shmem View's are not compatible with the added view_alloc value_type + // / fad_dim deduction functionality template - static ViewType createView( const ViewArg& arg - , const size_t N0 - , const size_t N1 - , const size_t N2 - , const size_t N3 - , const size_t N4 - , const size_t N5 - , const size_t N6 - , const size_t N7 ) - { - return ViewType( arg - , N0 != unspecified ? N0 : 1 - , N1 != unspecified ? N1 : 1 - , N2 != unspecified ? N2 : 1 - , N3 != unspecified ? N3 : 1 - , N4 != unspecified ? N4 : 1 - , N5 != unspecified ? N5 : 1 - , N6 != unspecified ? N6 : 1 - , N7 != unspecified ? N7 : 1 ); + static ViewType createView(const ViewArg& arg, const size_t N0, + const size_t N1, const size_t N2, const size_t N3, + const size_t N4, const size_t N5, const size_t N6, + const size_t N7) { + return ViewType(arg, N0 != unspecified ? N0 : 1, N1 != unspecified ? N1 : 1, + N2 != unspecified ? N2 : 1, N3 != unspecified ? N3 : 1, + N4 != unspecified ? N4 : 1, N5 != unspecified ? N5 : 1, + N6 != unspecified ? N6 : 1, N7 != unspecified ? N7 : 1); } }; - // Non-strided Layout - template - KOKKOS_INLINE_FUNCTION - static typename std::enable_if< (std::is_same::value || std::is_same::value) && std::is_integral::value , Layout >::type - reconstructLayout( const Layout& layout , iType dynrank ) - { - return Layout( dynrank > 0 ? layout.dimension[0] :KOKKOS_INVALID_INDEX - , dynrank > 1 ? layout.dimension[1] :KOKKOS_INVALID_INDEX - , dynrank > 2 ? layout.dimension[2] :KOKKOS_INVALID_INDEX - , dynrank > 3 ? layout.dimension[3] :KOKKOS_INVALID_INDEX - , dynrank > 4 ? layout.dimension[4] :KOKKOS_INVALID_INDEX - , dynrank > 5 ? layout.dimension[5] :KOKKOS_INVALID_INDEX - , dynrank > 6 ? layout.dimension[6] :KOKKOS_INVALID_INDEX - , dynrank > 7 ? layout.dimension[7] :KOKKOS_INVALID_INDEX - ); - } - - // LayoutStride - template - KOKKOS_INLINE_FUNCTION - static typename std::enable_if< (std::is_same::value) && std::is_integral::value , Layout >::type - reconstructLayout( const Layout& layout , iType dynrank ) - { - return Layout( dynrank > 0 ? layout.dimension[0] :KOKKOS_INVALID_INDEX - , dynrank > 0 ? layout.stride[0] : (0) - , dynrank > 1 ? layout.dimension[1] :KOKKOS_INVALID_INDEX - , dynrank > 1 ? layout.stride[1] : (0) - , dynrank > 2 ? layout.dimension[2] :KOKKOS_INVALID_INDEX - , dynrank > 2 ? layout.stride[2] : (0) - , dynrank > 3 ? layout.dimension[3] :KOKKOS_INVALID_INDEX - , dynrank > 3 ? layout.stride[3] : (0) - , dynrank > 4 ? layout.dimension[4] :KOKKOS_INVALID_INDEX - , dynrank > 4 ? layout.stride[4] : (0) - , dynrank > 5 ? layout.dimension[5] :KOKKOS_INVALID_INDEX - , dynrank > 5 ? layout.stride[5] : (0) - , dynrank > 6 ? layout.dimension[6] :KOKKOS_INVALID_INDEX - , dynrank > 6 ? layout.stride[6] : (0) - , dynrank > 7 ? layout.dimension[7] :KOKKOS_INVALID_INDEX - , dynrank > 7 ? layout.stride[7] : (0) - ); - } +// Non-strided Layout +template +KOKKOS_INLINE_FUNCTION static + typename std::enable_if<(std::is_same::value || + std::is_same::value) && + std::is_integral::value, + Layout>::type + reconstructLayout(const Layout& layout, iType dynrank) { + return Layout(dynrank > 0 ? layout.dimension[0] : KOKKOS_INVALID_INDEX, + dynrank > 1 ? layout.dimension[1] : KOKKOS_INVALID_INDEX, + dynrank > 2 ? layout.dimension[2] : KOKKOS_INVALID_INDEX, + dynrank > 3 ? layout.dimension[3] : KOKKOS_INVALID_INDEX, + dynrank > 4 ? layout.dimension[4] : KOKKOS_INVALID_INDEX, + dynrank > 5 ? layout.dimension[5] : KOKKOS_INVALID_INDEX, + dynrank > 6 ? layout.dimension[6] : KOKKOS_INVALID_INDEX, + dynrank > 7 ? layout.dimension[7] : KOKKOS_INVALID_INDEX); +} +// LayoutStride +template +KOKKOS_INLINE_FUNCTION static typename std::enable_if< + (std::is_same::value) && + std::is_integral::value, + Layout>::type +reconstructLayout(const Layout& layout, iType dynrank) { + return Layout(dynrank > 0 ? layout.dimension[0] : KOKKOS_INVALID_INDEX, + dynrank > 0 ? layout.stride[0] : (0), + dynrank > 1 ? layout.dimension[1] : KOKKOS_INVALID_INDEX, + dynrank > 1 ? layout.stride[1] : (0), + dynrank > 2 ? layout.dimension[2] : KOKKOS_INVALID_INDEX, + dynrank > 2 ? layout.stride[2] : (0), + dynrank > 3 ? layout.dimension[3] : KOKKOS_INVALID_INDEX, + dynrank > 3 ? layout.stride[3] : (0), + dynrank > 4 ? layout.dimension[4] : KOKKOS_INVALID_INDEX, + dynrank > 4 ? layout.stride[4] : (0), + dynrank > 5 ? layout.dimension[5] : KOKKOS_INVALID_INDEX, + dynrank > 5 ? layout.stride[5] : (0), + dynrank > 6 ? layout.dimension[6] : KOKKOS_INVALID_INDEX, + dynrank > 6 ? layout.stride[6] : (0), + dynrank > 7 ? layout.dimension[7] : KOKKOS_INVALID_INDEX, + dynrank > 7 ? layout.stride[7] : (0)); +} /** \brief Debug bounds-checking routines */ // Enhanced debug checking - most infrastructure matches that of functions in // Kokkos_ViewMapping; additional checks for extra arguments beyond rank are 0 -template< unsigned , typename iType0 , class MapType > -KOKKOS_INLINE_FUNCTION -bool dyn_rank_view_verify_operator_bounds( const iType0 & , const MapType & ) -{ return true ; } - -template< unsigned R , typename iType0 , class MapType , typename iType1 , class ... Args > -KOKKOS_INLINE_FUNCTION -bool dyn_rank_view_verify_operator_bounds - ( const iType0 & rank - , const MapType & map - , const iType1 & i - , Args ... args - ) -{ - if ( static_cast(R) < rank ) { - return ( size_t(i) < map.extent(R) ) - && dyn_rank_view_verify_operator_bounds( rank , map , args ... ); - } - else if ( i != 0 ) { - printf("DynRankView Debug Bounds Checking Error: at rank %u\n Extra arguments beyond the rank must be zero \n",R); - return ( false ) - && dyn_rank_view_verify_operator_bounds( rank , map , args ... ); - } - else { - return ( true ) - && dyn_rank_view_verify_operator_bounds( rank , map , args ... ); +template +KOKKOS_INLINE_FUNCTION bool dyn_rank_view_verify_operator_bounds( + const iType0&, const MapType&) { + return true; +} + +template +KOKKOS_INLINE_FUNCTION bool dyn_rank_view_verify_operator_bounds( + const iType0& rank, const MapType& map, const iType1& i, Args... args) { + if (static_cast(R) < rank) { + return (size_t(i) < map.extent(R)) && + dyn_rank_view_verify_operator_bounds(rank, map, args...); + } else if (i != 0) { + printf( + "DynRankView Debug Bounds Checking Error: at rank %u\n Extra " + "arguments beyond the rank must be zero \n", + R); + return (false) && + dyn_rank_view_verify_operator_bounds(rank, map, args...); + } else { + return (true) && + dyn_rank_view_verify_operator_bounds(rank, map, args...); } } -template< unsigned , class MapType > -inline -void dyn_rank_view_error_operator_bounds( char * , int , const MapType & ) -{} - -template< unsigned R , class MapType , class iType , class ... Args > -inline -void dyn_rank_view_error_operator_bounds - ( char * buf - , int len - , const MapType & map - , const iType & i - , Args ... args - ) -{ - const int n = - snprintf(buf,len," %ld < %ld %c" - , static_cast(i) - , static_cast( map.extent(R) ) - , ( sizeof...(Args) ? ',' : ')' ) - ); - dyn_rank_view_error_operator_bounds(buf+n,len-n,map,args...); +template +inline void dyn_rank_view_error_operator_bounds(char*, int, const MapType&) {} + +template +inline void dyn_rank_view_error_operator_bounds(char* buf, int len, + const MapType& map, + const iType& i, Args... args) { + const int n = snprintf( + buf, len, " %ld < %ld %c", static_cast(i), + static_cast(map.extent(R)), (sizeof...(Args) ? ',' : ')')); + dyn_rank_view_error_operator_bounds(buf + n, len - n, map, args...); } // op_rank = rank of the operator version that was called -template< typename MemorySpace - , typename iType0 , typename iType1 , class MapType , class ... Args > -KOKKOS_INLINE_FUNCTION -void dyn_rank_view_verify_operator_bounds - ( const iType0 & op_rank , const iType1 & rank - , const Kokkos::Impl::SharedAllocationTracker & tracker - , const MapType & map , Args ... args ) -{ - if ( static_cast(rank) > op_rank ) { - Kokkos::abort( "DynRankView Bounds Checking Error: Need at least rank arguments to the operator()" ); - } - - if ( ! dyn_rank_view_verify_operator_bounds<0>( rank , map , args ... ) ) { -#if defined( KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST ) +template +KOKKOS_INLINE_FUNCTION void dyn_rank_view_verify_operator_bounds( + const iType0& op_rank, const iType1& rank, + const Kokkos::Impl::SharedAllocationTracker& tracker, const MapType& map, + Args... args) { + if (static_cast(rank) > op_rank) { + Kokkos::abort( + "DynRankView Bounds Checking Error: Need at least rank arguments to " + "the operator()"); + } + + if (!dyn_rank_view_verify_operator_bounds<0>(rank, map, args...)) { +#if defined(KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST) enum { LEN = 1024 }; - char buffer[ LEN ]; + char buffer[LEN]; const std::string label = tracker.template get_label(); - int n = snprintf(buffer,LEN,"DynRankView bounds error of view %s (", label.c_str()); - dyn_rank_view_error_operator_bounds<0>( buffer + n , LEN - n , map , args ... ); + int n = snprintf(buffer, LEN, "DynRankView bounds error of view %s (", + label.c_str()); + dyn_rank_view_error_operator_bounds<0>(buffer + n, LEN - n, map, args...); Kokkos::Impl::throw_runtime_exception(std::string(buffer)); #else + (void)tracker; Kokkos::abort("DynRankView bounds error"); #endif } } - /** \brief Assign compatible default mappings */ struct ViewToDynRankViewTag {}; -} // namespace Impl +} // namespace Impl namespace Impl { -template< class DstTraits , class SrcTraits > -class ViewMapping< DstTraits , SrcTraits , - typename std::enable_if<( - std::is_same< typename DstTraits::memory_space , typename SrcTraits::memory_space >::value - && - std::is_same< typename DstTraits::specialize , void >::value - && - std::is_same< typename SrcTraits::specialize , void >::value - && - ( - std::is_same< typename DstTraits::array_layout , typename SrcTraits::array_layout >::value - || - ( - ( - std::is_same< typename DstTraits::array_layout , Kokkos::LayoutLeft >::value || - std::is_same< typename DstTraits::array_layout , Kokkos::LayoutRight >::value || - std::is_same< typename DstTraits::array_layout , Kokkos::LayoutStride >::value - ) - && - ( - std::is_same< typename SrcTraits::array_layout , Kokkos::LayoutLeft >::value || - std::is_same< typename SrcTraits::array_layout , Kokkos::LayoutRight >::value || - std::is_same< typename SrcTraits::array_layout , Kokkos::LayoutStride >::value - ) - ) - ) - ) , Kokkos::Impl::ViewToDynRankViewTag >::type > -{ -private: - - enum { is_assignable_value_type = - std::is_same< typename DstTraits::value_type - , typename SrcTraits::value_type >::value || - std::is_same< typename DstTraits::value_type - , typename SrcTraits::const_value_type >::value }; - - enum { is_assignable_layout = - std::is_same< typename DstTraits::array_layout - , typename SrcTraits::array_layout >::value || - std::is_same< typename DstTraits::array_layout - , Kokkos::LayoutStride >::value - }; +template +class ViewMapping< + DstTraits, SrcTraits, + typename std::enable_if< + (std::is_same::value && + std::is_same::value && + std::is_same::value && + (std::is_same::value || + ((std::is_same::value || + std::is_same::value || + std::is_same::value) && + (std::is_same::value || + std::is_same::value || + std::is_same::value)))), + Kokkos::Impl::ViewToDynRankViewTag>::type> { + private: + enum { + is_assignable_value_type = + std::is_same::value || + std::is_same::value + }; -public: + enum { + is_assignable_layout = + std::is_same::value || + std::is_same::value + }; - enum { is_assignable = is_assignable_value_type && - is_assignable_layout }; + public: + enum { is_assignable = is_assignable_value_type && is_assignable_layout }; - typedef ViewMapping< DstTraits , typename DstTraits::specialize > DstType ; - typedef ViewMapping< SrcTraits , typename SrcTraits::specialize > SrcType ; + typedef ViewMapping DstType; + typedef ViewMapping SrcType; - template < typename DT , typename ... DP , typename ST , typename ... SP > - KOKKOS_INLINE_FUNCTION - static void assign( Kokkos::DynRankView< DT , DP...> & dst , const Kokkos::View< ST , SP... > & src ) - { - static_assert( is_assignable_value_type - , "View assignment must have same value type or const = non-const" ); + template + KOKKOS_INLINE_FUNCTION static void assign( + Kokkos::DynRankView& dst, const Kokkos::View& src) { + static_assert( + is_assignable_value_type, + "View assignment must have same value type or const = non-const"); - static_assert( is_assignable_layout - , "View assignment must have compatible layout or have rank <= 1" ); + static_assert( + is_assignable_layout, + "View assignment must have compatible layout or have rank <= 1"); // Removed dimension checks... - typedef typename DstType::offset_type dst_offset_type ; - dst.m_map.m_impl_offset = dst_offset_type(std::integral_constant() , src.layout() ); //Check this for integer input1 for padding, etc - dst.m_map.m_impl_handle = Kokkos::Impl::ViewDataHandle< DstTraits >::assign( src.m_map.m_impl_handle , src.m_track ); - dst.m_track.assign( src.m_track , DstTraits::is_managed ); - dst.m_rank = src.Rank ; - } + typedef typename DstType::offset_type dst_offset_type; + dst.m_map.m_impl_offset = dst_offset_type( + std::integral_constant(), + src.layout()); // Check this for integer input1 for padding, etc + dst.m_map.m_impl_handle = Kokkos::Impl::ViewDataHandle::assign( + src.m_map.m_impl_handle, src.m_track); + dst.m_track.assign(src.m_track, DstTraits::is_managed); + dst.m_rank = src.Rank; + } }; -} //end Impl +} // namespace Impl /* \class DynRankView * \brief Container that creates a Kokkos view with rank determined at runtime. @@ -400,7 +385,8 @@ public: * Changes from View * 1. The rank of the DynRankView is returned by the method rank() * 2. Max rank of a DynRankView is 7 - * 3. subview called with 'subview(...)' or 'subdynrankview(...)' (backward compatibility) + * 3. subview called with 'subview(...)' or 'subdynrankview(...)' (backward + * compatibility) * 4. Every subview is returned with LayoutStride * 5. Copy and Copy-Assign View to DynRankView * 6. deep_copy between Views and DynRankViews @@ -408,93 +394,99 @@ public: * */ -template< class > struct is_dyn_rank_view : public std::false_type {}; - -template< class D, class ... P > -struct is_dyn_rank_view< Kokkos::DynRankView > : public std::true_type {}; - +template +struct is_dyn_rank_view : public std::false_type {}; -template< typename DataType , class ... Properties > -class DynRankView : public ViewTraits< DataType , Properties ... > -{ - static_assert( !std::is_array::value && !std::is_pointer::value , "Cannot template DynRankView with array or pointer datatype - must be pod" ); +template +struct is_dyn_rank_view > : public std::true_type { +}; -private: - template < class , class ... > friend class DynRankView ; - template < class , class ... > friend class Kokkos::Impl::ViewMapping ; +template +class DynRankView : public ViewTraits { + static_assert(!std::is_array::value && + !std::is_pointer::value, + "Cannot template DynRankView with array or pointer datatype - " + "must be pod"); -public: - typedef ViewTraits< DataType , Properties ... > drvtraits ; + private: + template + friend class DynRankView; + template + friend class Kokkos::Impl::ViewMapping; - typedef View< DataType******* , Properties...> view_type ; + public: + typedef ViewTraits drvtraits; - typedef ViewTraits< DataType******* , Properties ... > traits ; + typedef View view_type; + typedef ViewTraits traits; -private: - typedef Kokkos::Impl::ViewMapping< traits , typename traits::specialize > map_type ; - typedef Kokkos::Impl::SharedAllocationTracker track_type ; + private: + typedef Kokkos::Impl::ViewMapping + map_type; + typedef Kokkos::Impl::SharedAllocationTracker track_type; - track_type m_track ; - map_type m_map ; + track_type m_track; + map_type m_map; unsigned m_rank; -public: + public: KOKKOS_INLINE_FUNCTION - view_type & DownCast() const { return ( view_type & ) (*this); } + view_type& DownCast() const { return (view_type&)(*this); } KOKKOS_INLINE_FUNCTION - const view_type & ConstDownCast() const { return (const view_type & ) (*this); } + const view_type& ConstDownCast() const { return (const view_type&)(*this); } - //Types below - at least the HostMirror requires the value_type, NOT the rank 7 data_type of the traits + // Types below - at least the HostMirror requires the value_type, NOT the rank + // 7 data_type of the traits /** \brief Compatible view of array of scalar types */ - typedef DynRankView< typename drvtraits::scalar_array_type , - typename drvtraits::array_layout , - typename drvtraits::device_type , - typename drvtraits::memory_traits > - array_type ; + typedef DynRankView< + typename drvtraits::scalar_array_type, typename drvtraits::array_layout, + typename drvtraits::device_type, typename drvtraits::memory_traits> + array_type; /** \brief Compatible view of const data type */ - typedef DynRankView< typename drvtraits::const_data_type , - typename drvtraits::array_layout , - typename drvtraits::device_type , - typename drvtraits::memory_traits > - const_type ; + typedef DynRankView< + typename drvtraits::const_data_type, typename drvtraits::array_layout, + typename drvtraits::device_type, typename drvtraits::memory_traits> + const_type; /** \brief Compatible view of non-const data type */ - typedef DynRankView< typename drvtraits::non_const_data_type , - typename drvtraits::array_layout , - typename drvtraits::device_type , - typename drvtraits::memory_traits > - non_const_type ; + typedef DynRankView< + typename drvtraits::non_const_data_type, typename drvtraits::array_layout, + typename drvtraits::device_type, typename drvtraits::memory_traits> + non_const_type; /** \brief Compatible HostMirror view */ - typedef DynRankView< typename drvtraits::non_const_data_type , - typename drvtraits::array_layout , - typename drvtraits::host_mirror_space > - HostMirror ; - + typedef DynRankView + HostMirror; //---------------------------------------- // Domain rank and extents -// enum { Rank = map_type::Rank }; //Will be dyn rank of 7 always, keep the enum? + // enum { Rank = map_type::Rank }; //Will be dyn rank of 7 always, keep the + // enum? - template< typename iType > + template KOKKOS_INLINE_FUNCTION constexpr - typename std::enable_if< std::is_integral::value , size_t >::type - extent( const iType & r ) const - { return m_map.extent(r); } + typename std::enable_if::value, size_t>::type + extent(const iType& r) const { + return m_map.extent(r); + } - template< typename iType > + template KOKKOS_INLINE_FUNCTION constexpr - typename std::enable_if< std::is_integral::value , int >::type - extent_int( const iType & r ) const - { return static_cast(m_map.extent(r)); } + typename std::enable_if::value, int>::type + extent_int(const iType& r) const { + return static_cast(m_map.extent(r)); + } - KOKKOS_INLINE_FUNCTION constexpr - typename traits::array_layout layout() const - { return m_map.layout(); } + KOKKOS_INLINE_FUNCTION constexpr typename traits::array_layout layout() + const { + return m_map.layout(); + } //---------------------------------------- /* Deprecate all 'dimension' functions in favor of @@ -502,830 +494,969 @@ public: */ #ifdef KOKKOS_ENABLE_DEPRECATED_CODE - template< typename iType > + template KOKKOS_INLINE_FUNCTION constexpr - typename std::enable_if< std::is_integral::value , size_t >::type - dimension( const iType & r ) const { return extent( r ); } - - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_0() const { return m_map.dimension_0(); } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_1() const { return m_map.dimension_1(); } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_2() const { return m_map.dimension_2(); } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_3() const { return m_map.dimension_3(); } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_4() const { return m_map.dimension_4(); } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_5() const { return m_map.dimension_5(); } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_6() const { return m_map.dimension_6(); } - KOKKOS_INLINE_FUNCTION constexpr size_t dimension_7() const { return m_map.dimension_7(); } + typename std::enable_if::value, size_t>::type + dimension(const iType& r) const { + return extent(r); + } + + KOKKOS_INLINE_FUNCTION constexpr size_t dimension_0() const { + return m_map.dimension_0(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t dimension_1() const { + return m_map.dimension_1(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t dimension_2() const { + return m_map.dimension_2(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t dimension_3() const { + return m_map.dimension_3(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t dimension_4() const { + return m_map.dimension_4(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t dimension_5() const { + return m_map.dimension_5(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t dimension_6() const { + return m_map.dimension_6(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t dimension_7() const { + return m_map.dimension_7(); + } #endif //---------------------------------------- - KOKKOS_INLINE_FUNCTION constexpr size_t size() const { return m_map.extent(0) * - m_map.extent(1) * - m_map.extent(2) * - m_map.extent(3) * - m_map.extent(4) * - m_map.extent(5) * - m_map.extent(6) * - m_map.extent(7); } - - KOKKOS_INLINE_FUNCTION constexpr size_t stride_0() const { return m_map.stride_0(); } - KOKKOS_INLINE_FUNCTION constexpr size_t stride_1() const { return m_map.stride_1(); } - KOKKOS_INLINE_FUNCTION constexpr size_t stride_2() const { return m_map.stride_2(); } - KOKKOS_INLINE_FUNCTION constexpr size_t stride_3() const { return m_map.stride_3(); } - KOKKOS_INLINE_FUNCTION constexpr size_t stride_4() const { return m_map.stride_4(); } - KOKKOS_INLINE_FUNCTION constexpr size_t stride_5() const { return m_map.stride_5(); } - KOKKOS_INLINE_FUNCTION constexpr size_t stride_6() const { return m_map.stride_6(); } - KOKKOS_INLINE_FUNCTION constexpr size_t stride_7() const { return m_map.stride_7(); } - - template< typename iType > - KOKKOS_INLINE_FUNCTION void stride( iType * const s ) const { m_map.stride(s); } + KOKKOS_INLINE_FUNCTION constexpr size_t size() const { + return m_map.extent(0) * m_map.extent(1) * m_map.extent(2) * + m_map.extent(3) * m_map.extent(4) * m_map.extent(5) * + m_map.extent(6) * m_map.extent(7); + } + + KOKKOS_INLINE_FUNCTION constexpr size_t stride_0() const { + return m_map.stride_0(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t stride_1() const { + return m_map.stride_1(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t stride_2() const { + return m_map.stride_2(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t stride_3() const { + return m_map.stride_3(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t stride_4() const { + return m_map.stride_4(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t stride_5() const { + return m_map.stride_5(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t stride_6() const { + return m_map.stride_6(); + } + KOKKOS_INLINE_FUNCTION constexpr size_t stride_7() const { + return m_map.stride_7(); + } + + template + KOKKOS_INLINE_FUNCTION void stride(iType* const s) const { + m_map.stride(s); + } //---------------------------------------- // Range span is the span which contains all members. - typedef typename map_type::reference_type reference_type ; - typedef typename map_type::pointer_type pointer_type ; + typedef typename map_type::reference_type reference_type; + typedef typename map_type::pointer_type pointer_type; - enum { reference_type_is_lvalue_reference = std::is_lvalue_reference< reference_type >::value }; + enum { + reference_type_is_lvalue_reference = + std::is_lvalue_reference::value + }; KOKKOS_INLINE_FUNCTION constexpr size_t span() const { return m_map.span(); } #ifdef KOKKOS_ENABLE_DEPRECATED_CODE // Deprecated, use 'span()' instead - KOKKOS_INLINE_FUNCTION constexpr size_t capacity() const { return m_map.span(); } + KOKKOS_INLINE_FUNCTION constexpr size_t capacity() const { + return m_map.span(); + } #endif - KOKKOS_INLINE_FUNCTION constexpr bool span_is_contiguous() const { return m_map.span_is_contiguous(); } - KOKKOS_INLINE_FUNCTION constexpr pointer_type data() const { return m_map.data(); } + KOKKOS_INLINE_FUNCTION constexpr bool span_is_contiguous() const { + return m_map.span_is_contiguous(); + } + KOKKOS_INLINE_FUNCTION constexpr pointer_type data() const { + return m_map.data(); + } #ifdef KOKKOS_ENABLE_DEPRECATED_CODE // Deprecated, use 'span_is_contigous()' instead - KOKKOS_INLINE_FUNCTION constexpr bool is_contiguous() const { return m_map.span_is_contiguous(); } + KOKKOS_INLINE_FUNCTION constexpr bool is_contiguous() const { + return m_map.span_is_contiguous(); + } // Deprecated, use 'data()' instead - KOKKOS_INLINE_FUNCTION constexpr pointer_type ptr_on_device() const { return m_map.data(); } + KOKKOS_INLINE_FUNCTION constexpr pointer_type ptr_on_device() const { + return m_map.data(); + } #endif //---------------------------------------- // Allow specializations to query their specialized map #ifdef KOKKOS_ENABLE_DEPRECATED_CODE KOKKOS_INLINE_FUNCTION - const Kokkos::Impl::ViewMapping< traits , typename traits::specialize > & - implementation_map() const { return m_map ; } + const Kokkos::Impl::ViewMapping& + implementation_map() const { + return m_map; + } #endif KOKKOS_INLINE_FUNCTION - const Kokkos::Impl::ViewMapping< traits , typename traits::specialize > & - impl_map() const { return m_map ; } + const Kokkos::Impl::ViewMapping& + impl_map() const { + return m_map; + } //---------------------------------------- -private: - + private: enum { - is_layout_left = std::is_same< typename traits::array_layout - , Kokkos::LayoutLeft >::value , + is_layout_left = + std::is_same::value, - is_layout_right = std::is_same< typename traits::array_layout - , Kokkos::LayoutRight >::value , + is_layout_right = + std::is_same::value, - is_layout_stride = std::is_same< typename traits::array_layout - , Kokkos::LayoutStride >::value , + is_layout_stride = std::is_same::value, - is_default_map = - std::is_same< typename traits::specialize , void >::value && - ( is_layout_left || is_layout_right || is_layout_stride ) + is_default_map = std::is_same::value && + (is_layout_left || is_layout_right || is_layout_stride) }; - template< class Space , bool = Kokkos::Impl::MemorySpaceAccess< Space , typename traits::memory_space >::accessible > struct verify_space - { KOKKOS_FORCEINLINE_FUNCTION static void check() {} }; + template ::accessible> + struct verify_space { + KOKKOS_FORCEINLINE_FUNCTION static void check() {} + }; - template< class Space > struct verify_space - { KOKKOS_FORCEINLINE_FUNCTION static void check() - { Kokkos::abort("Kokkos::DynRankView ERROR: attempt to access inaccessible memory space"); }; + template + struct verify_space { + KOKKOS_FORCEINLINE_FUNCTION static void check() { + Kokkos::abort( + "Kokkos::DynRankView ERROR: attempt to access inaccessible memory " + "space"); }; + }; // Bounds checking macros -#if defined( KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK ) +#if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) // rank of the calling operator - included as first argument in ARG -#define KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( ARG ) \ - DynRankView::template verify_space< Kokkos::Impl::ActiveExecutionMemorySpace >::check(); \ - Kokkos::Impl::dyn_rank_view_verify_operator_bounds< typename traits::memory_space > ARG ; +#define KOKKOS_IMPL_VIEW_OPERATOR_VERIFY(ARG) \ + DynRankView::template verify_space< \ + Kokkos::Impl::ActiveExecutionMemorySpace>::check(); \ + Kokkos::Impl::dyn_rank_view_verify_operator_bounds< \ + typename traits::memory_space> \ + ARG; #else -#define KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( ARG ) \ - DynRankView::template verify_space< Kokkos::Impl::ActiveExecutionMemorySpace >::check(); +#define KOKKOS_IMPL_VIEW_OPERATOR_VERIFY(ARG) \ + DynRankView::template verify_space< \ + Kokkos::Impl::ActiveExecutionMemorySpace>::check(); #endif -public: - + public: KOKKOS_INLINE_FUNCTION constexpr unsigned rank() const { return m_rank; } - - //operators () + // operators () // Rank 0 KOKKOS_INLINE_FUNCTION - reference_type operator()() const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (0 , this->rank(), m_track, m_map) ) - return impl_map().reference(); - //return m_map.reference(0,0,0,0,0,0,0); - } + reference_type operator()() const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((0, this->rank(), m_track, m_map)) + return impl_map().reference(); + // return m_map.reference(0,0,0,0,0,0,0); + } // Rank 1 - // This assumes a contiguous underlying memory (i.e. no padding, no striding...) - template< typename iType > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< std::is_same::value && std::is_integral::value, reference_type>::type - operator[](const iType & i0) const - { - //Phalanx is violating this, since they use the operator to access ALL elements in the allocation - //KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (1 , this->rank(), m_track, m_map) ) - return data()[i0]; - } + // This assumes a contiguous underlying memory (i.e. no padding, no + // striding...) + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + std::is_same::value && + std::is_integral::value, + reference_type>::type + operator[](const iType& i0) const { + // Phalanx is violating this, since they use the operator to access ALL + // elements in the allocation KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (1 , + // this->rank(), m_track, m_map) ) + return data()[i0]; + } - // This assumes a contiguous underlying memory (i.e. no padding, no striding... - // AND a Trilinos/Sacado scalar type ) - template< typename iType > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !std::is_same::value && std::is_integral::value, reference_type>::type - operator[](const iType & i0) const - { -// auto map = impl_map(); - const size_t dim_scalar = m_map.dimension_scalar(); - const size_t bytes = this->span() / dim_scalar; - - typedef Kokkos::View > tmp_view_type; - tmp_view_type rankone_view(this->data(), bytes, dim_scalar); - return rankone_view(i0); - } + // This assumes a contiguous underlying memory (i.e. no padding, no + // striding... AND a Trilinos/Sacado scalar type ) + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !std::is_same::value && + std::is_integral::value, + reference_type>::type + operator[](const iType& i0) const { + // auto map = impl_map(); + const size_t dim_scalar = m_map.dimension_scalar(); + const size_t bytes = this->span() / dim_scalar; + + typedef Kokkos::View< + DataType*, typename traits::array_layout, typename traits::device_type, + Kokkos::MemoryTraits > + tmp_view_type; + tmp_view_type rankone_view(this->data(), bytes, dim_scalar); + return rankone_view(i0); + } // Rank 1 parenthesis - template< typename iType > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value), reference_type>::type - operator()(const iType & i0 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (1 , this->rank(), m_track, m_map, i0) ) - return m_map.reference(i0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value), + reference_type>::type + operator()(const iType& i0) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((1, this->rank(), m_track, m_map, i0)) + return m_map.reference(i0); + } - template< typename iType > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - operator()(const iType & i0 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (1 , this->rank(), m_track, m_map, i0) ) - return m_map.reference(i0,0,0,0,0,0,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + operator()(const iType& i0) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((1, this->rank(), m_track, m_map, i0)) + return m_map.reference(i0, 0, 0, 0, 0, 0, 0); + } // Rank 2 - template< typename iType0 , typename iType1 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (2 , this->rank(), m_track, m_map, i0, i1) ) - return m_map.reference(i0,i1); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value && std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((2, this->rank(), m_track, m_map, i0, i1)) + return m_map.reference(i0, i1); + } - template< typename iType0 , typename iType1 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (2 , this->rank(), m_track, m_map, i0, i1) ) - return m_map.reference(i0,i1,0,0,0,0,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((2, this->rank(), m_track, m_map, i0, i1)) + return m_map.reference(i0, i1, 0, 0, 0, 0, 0); + } // Rank 3 - template< typename iType0 , typename iType1 , typename iType2 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (3 , this->rank(), m_track, m_map, i0, i1, i2) ) - return m_map.reference(i0,i1,i2); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1, const iType2& i2) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (3, this->rank(), m_track, m_map, i0, i1, i2)) + return m_map.reference(i0, i1, i2); + } - template< typename iType0 , typename iType1 , typename iType2 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (3 , this->rank(), m_track, m_map, i0, i1, i2) ) - return m_map.reference(i0,i1,i2,0,0,0,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1, const iType2& i2) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (3, this->rank(), m_track, m_map, i0, i1, i2)) + return m_map.reference(i0, i1, i2, 0, 0, 0, 0); + } // Rank 4 - template< typename iType0 , typename iType1 , typename iType2 , typename iType3 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (4 , this->rank(), m_track, m_map, i0, i1, i2, i3) ) - return m_map.reference(i0,i1,i2,i3); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1, const iType2& i2, + const iType3& i3) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (4, this->rank(), m_track, m_map, i0, i1, i2, i3)) + return m_map.reference(i0, i1, i2, i3); + } - template< typename iType0 , typename iType1 , typename iType2 , typename iType3 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (4 , this->rank(), m_track, m_map, i0, i1, i2, i3) ) - return m_map.reference(i0,i1,i2,i3,0,0,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1, const iType2& i2, + const iType3& i3) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (4, this->rank(), m_track, m_map, i0, i1, i2, i3)) + return m_map.reference(i0, i1, i2, i3, 0, 0, 0); + } // Rank 5 - template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (5 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4) ) - return m_map.reference(i0,i1,i2,i3,i4); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1, const iType2& i2, + const iType3& i3, const iType4& i4) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (5, this->rank(), m_track, m_map, i0, i1, i2, i3, i4)) + return m_map.reference(i0, i1, i2, i3, i4); + } - template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (5 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4) ) - return m_map.reference(i0,i1,i2,i3,i4,0,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1, const iType2& i2, + const iType3& i3, const iType4& i4) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (5, this->rank(), m_track, m_map, i0, i1, i2, i3, i4)) + return m_map.reference(i0, i1, i2, i3, i4, 0, 0); + } // Rank 6 - template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 , typename iType5 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 , const iType5 & i5 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (6 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5) ) - return m_map.reference(i0,i1,i2,i3,i4,i5); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1, const iType2& i2, + const iType3& i3, const iType4& i4, const iType5& i5) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (6, this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5)) + return m_map.reference(i0, i1, i2, i3, i4, i5); + } - template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 , typename iType5 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 , const iType5 & i5 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (6 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5) ) - return m_map.reference(i0,i1,i2,i3,i4,i5,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1, const iType2& i2, + const iType3& i3, const iType4& i4, const iType5& i5) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (6, this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5)) + return m_map.reference(i0, i1, i2, i3, i4, i5, 0); + } // Rank 7 - template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 , typename iType5 , typename iType6 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type - operator()(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 , const iType5 & i5 , const iType6 & i6 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (7 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5, i6) ) - return m_map.reference(i0,i1,i2,i3,i4,i5,i6); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value), + reference_type>::type + operator()(const iType0& i0, const iType1& i1, const iType2& i2, + const iType3& i3, const iType4& i4, const iType5& i5, + const iType6& i6) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (7, this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5, i6)) + return m_map.reference(i0, i1, i2, i3, i4, i5, i6); + } // Rank 0 KOKKOS_INLINE_FUNCTION - reference_type access() const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (0 , this->rank(), m_track, m_map) ) - return impl_map().reference(); - //return m_map.reference(0,0,0,0,0,0,0); - } + reference_type access() const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((0, this->rank(), m_track, m_map)) + return impl_map().reference(); + // return m_map.reference(0,0,0,0,0,0,0); + } // Rank 1 - // Rank 1 parenthesis - template< typename iType > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value), reference_type>::type - access(const iType & i0 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (1 , this->rank(), m_track, m_map, i0) ) - return m_map.reference(i0); - } + // Rank 1 parenthesis + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value), + reference_type>::type + access(const iType& i0) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((1, this->rank(), m_track, m_map, i0)) + return m_map.reference(i0); + } - template< typename iType > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - access(const iType & i0 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (1 , this->rank(), m_track, m_map, i0) ) - return m_map.reference(i0,0,0,0,0,0,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + access(const iType& i0) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((1, this->rank(), m_track, m_map, i0)) + return m_map.reference(i0, 0, 0, 0, 0, 0, 0); + } // Rank 2 - template< typename iType0 , typename iType1 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (2 , this->rank(), m_track, m_map, i0, i1) ) - return m_map.reference(i0,i1); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value && std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((2, this->rank(), m_track, m_map, i0, i1)) + return m_map.reference(i0, i1); + } - template< typename iType0 , typename iType1 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (2 , this->rank(), m_track, m_map, i0, i1) ) - return m_map.reference(i0,i1,0,0,0,0,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY((2, this->rank(), m_track, m_map, i0, i1)) + return m_map.reference(i0, i1, 0, 0, 0, 0, 0); + } // Rank 3 - template< typename iType0 , typename iType1 , typename iType2 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (3 , this->rank(), m_track, m_map, i0, i1, i2) ) - return m_map.reference(i0,i1,i2); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1, const iType2& i2) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (3, this->rank(), m_track, m_map, i0, i1, i2)) + return m_map.reference(i0, i1, i2); + } - template< typename iType0 , typename iType1 , typename iType2 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (3 , this->rank(), m_track, m_map, i0, i1, i2) ) - return m_map.reference(i0,i1,i2,0,0,0,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1, const iType2& i2) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (3, this->rank(), m_track, m_map, i0, i1, i2)) + return m_map.reference(i0, i1, i2, 0, 0, 0, 0); + } // Rank 4 - template< typename iType0 , typename iType1 , typename iType2 , typename iType3 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (4 , this->rank(), m_track, m_map, i0, i1, i2, i3) ) - return m_map.reference(i0,i1,i2,i3); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1, const iType2& i2, + const iType3& i3) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (4, this->rank(), m_track, m_map, i0, i1, i2, i3)) + return m_map.reference(i0, i1, i2, i3); + } - template< typename iType0 , typename iType1 , typename iType2 , typename iType3 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (4 , this->rank(), m_track, m_map, i0, i1, i2, i3) ) - return m_map.reference(i0,i1,i2,i3,0,0,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1, const iType2& i2, + const iType3& i3) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (4, this->rank(), m_track, m_map, i0, i1, i2, i3)) + return m_map.reference(i0, i1, i2, i3, 0, 0, 0); + } // Rank 5 - template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (5 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4) ) - return m_map.reference(i0,i1,i2,i3,i4); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1, const iType2& i2, const iType3& i3, + const iType4& i4) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (5, this->rank(), m_track, m_map, i0, i1, i2, i3, i4)) + return m_map.reference(i0, i1, i2, i3, i4); + } - template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (5 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4) ) - return m_map.reference(i0,i1,i2,i3,i4,0,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1, const iType2& i2, const iType3& i3, + const iType4& i4) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (5, this->rank(), m_track, m_map, i0, i1, i2, i3, i4)) + return m_map.reference(i0, i1, i2, i3, i4, 0, 0); + } // Rank 6 - template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 , typename iType5 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 , const iType5 & i5 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (6 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5) ) - return m_map.reference(i0,i1,i2,i3,i4,i5); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_same::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1, const iType2& i2, const iType3& i3, + const iType4& i4, const iType5& i5) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (6, this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5)) + return m_map.reference(i0, i1, i2, i3, i4, i5); + } - template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 , typename iType5 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 , const iType5 & i5 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (6 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5) ) - return m_map.reference(i0,i1,i2,i3,i4,i5,0); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + !(std::is_same::value && + std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1, const iType2& i2, const iType3& i3, + const iType4& i4, const iType5& i5) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (6, this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5)) + return m_map.reference(i0, i1, i2, i3, i4, i5, 0); + } // Rank 7 - template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 , typename iType5 , typename iType6 > - KOKKOS_INLINE_FUNCTION - typename std::enable_if< (std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type - access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 , const iType5 & i5 , const iType6 & i6 ) const - { - KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (7 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5, i6) ) - return m_map.reference(i0,i1,i2,i3,i4,i5,i6); - } + template + KOKKOS_INLINE_FUNCTION typename std::enable_if< + (std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value && std::is_integral::value && + std::is_integral::value), + reference_type>::type + access(const iType0& i0, const iType1& i1, const iType2& i2, const iType3& i3, + const iType4& i4, const iType5& i5, const iType6& i6) const { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( + (7, this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5, i6)) + return m_map.reference(i0, i1, i2, i3, i4, i5, i6); + } #undef KOKKOS_IMPL_VIEW_OPERATOR_VERIFY //---------------------------------------- // Standard constructor, destructor, and assignment operators... - KOKKOS_INLINE_FUNCTION - ~DynRankView() {} + KOKKOS_DEFAULTED_FUNCTION + ~DynRankView() = default; KOKKOS_INLINE_FUNCTION - DynRankView() : m_track(), m_map(), m_rank() {} //Default ctor + DynRankView() : m_track(), m_map(), m_rank() {} // Default ctor KOKKOS_INLINE_FUNCTION - DynRankView( const DynRankView & rhs ) : m_track( rhs.m_track ), m_map( rhs.m_map ), m_rank(rhs.m_rank) {} + DynRankView(const DynRankView& rhs) + : m_track(rhs.m_track), m_map(rhs.m_map), m_rank(rhs.m_rank) {} KOKKOS_INLINE_FUNCTION - DynRankView( DynRankView && rhs ) : m_track( rhs.m_track ), m_map( rhs.m_map ), m_rank(rhs.m_rank) {} + DynRankView(DynRankView&& rhs) + : m_track(rhs.m_track), m_map(rhs.m_map), m_rank(rhs.m_rank) {} KOKKOS_INLINE_FUNCTION - DynRankView & operator = ( const DynRankView & rhs ) { m_track = rhs.m_track; m_map = rhs.m_map; m_rank = rhs.m_rank; return *this; } + DynRankView& operator=(const DynRankView& rhs) { + m_track = rhs.m_track; + m_map = rhs.m_map; + m_rank = rhs.m_rank; + return *this; + } KOKKOS_INLINE_FUNCTION - DynRankView & operator = ( DynRankView && rhs ) { m_track = rhs.m_track; m_map = rhs.m_map; m_rank = rhs.m_rank; return *this; } + DynRankView& operator=(DynRankView&& rhs) { + m_track = rhs.m_track; + m_map = rhs.m_map; + m_rank = rhs.m_rank; + return *this; + } //---------------------------------------- // Compatible view copy constructor and assignment // may assign unmanaged from managed. - template< class RT , class ... RP > - KOKKOS_INLINE_FUNCTION - DynRankView( const DynRankView & rhs ) - : m_track( rhs.m_track , traits::is_managed ) - , m_map() - , m_rank(rhs.m_rank) - { - typedef typename DynRankView ::traits SrcTraits ; - typedef Kokkos::Impl::ViewMapping< traits , SrcTraits , typename traits::specialize > Mapping ; - static_assert( Mapping::is_assignable , "Incompatible DynRankView copy construction" ); - Mapping::assign( m_map , rhs.m_map , rhs.m_track ); - } + template + KOKKOS_INLINE_FUNCTION DynRankView(const DynRankView& rhs) + : m_track(rhs.m_track, traits::is_managed), m_map(), m_rank(rhs.m_rank) { + typedef typename DynRankView::traits SrcTraits; + typedef Kokkos::Impl::ViewMapping + Mapping; + static_assert(Mapping::is_assignable, + "Incompatible DynRankView copy construction"); + Mapping::assign(m_map, rhs.m_map, rhs.m_track); + } - template< class RT , class ... RP > - KOKKOS_INLINE_FUNCTION - DynRankView & operator = (const DynRankView & rhs ) - { - typedef typename DynRankView ::traits SrcTraits ; - typedef Kokkos::Impl::ViewMapping< traits , SrcTraits , typename traits::specialize > Mapping ; - static_assert( Mapping::is_assignable , "Incompatible DynRankView copy construction" ); - Mapping::assign( m_map , rhs.m_map , rhs.m_track ); - m_track.assign( rhs.m_track , traits::is_managed ); - m_rank = rhs.rank(); - return *this; - } + template + KOKKOS_INLINE_FUNCTION DynRankView& operator=( + const DynRankView& rhs) { + typedef typename DynRankView::traits SrcTraits; + typedef Kokkos::Impl::ViewMapping + Mapping; + static_assert(Mapping::is_assignable, + "Incompatible DynRankView copy construction"); + Mapping::assign(m_map, rhs.m_map, rhs.m_track); + m_track.assign(rhs.m_track, traits::is_managed); + m_rank = rhs.rank(); + return *this; + } -// Copy/Assign View to DynRankView - template< class RT , class ... RP > - KOKKOS_INLINE_FUNCTION - DynRankView( const View & rhs ) - : m_track() - , m_map() - , m_rank( rhs.Rank ) - { - typedef typename View::traits SrcTraits ; - typedef Kokkos::Impl::ViewMapping< traits , SrcTraits , Kokkos::Impl::ViewToDynRankViewTag > Mapping ; - static_assert( Mapping::is_assignable , "Incompatible View to DynRankView copy construction" ); - Mapping::assign( *this , rhs ); - } + // Copy/Assign View to DynRankView + template + KOKKOS_INLINE_FUNCTION DynRankView(const View& rhs) + : m_track(), m_map(), m_rank(rhs.Rank) { + typedef typename View::traits SrcTraits; + typedef Kokkos::Impl::ViewMapping + Mapping; + static_assert(Mapping::is_assignable, + "Incompatible View to DynRankView copy construction"); + Mapping::assign(*this, rhs); + } - template< class RT , class ... RP > - KOKKOS_INLINE_FUNCTION - DynRankView & operator = ( const View & rhs ) - { - typedef typename View::traits SrcTraits ; - typedef Kokkos::Impl::ViewMapping< traits , SrcTraits , Kokkos::Impl::ViewToDynRankViewTag > Mapping ; - static_assert( Mapping::is_assignable , "Incompatible View to DynRankView copy assignment" ); - Mapping::assign( *this , rhs ); - return *this ; - } + template + KOKKOS_INLINE_FUNCTION DynRankView& operator=(const View& rhs) { + typedef typename View::traits SrcTraits; + typedef Kokkos::Impl::ViewMapping + Mapping; + static_assert(Mapping::is_assignable, + "Incompatible View to DynRankView copy assignment"); + Mapping::assign(*this, rhs); + return *this; + } //---------------------------------------- // Allocation tracking properties KOKKOS_INLINE_FUNCTION - int use_count() const - { return m_track.use_count(); } + int use_count() const { return m_track.use_count(); } - inline - const std::string label() const - { return m_track.template get_label< typename traits::memory_space >(); } + inline const std::string label() const { + return m_track.template get_label(); + } //---------------------------------------- // Allocation according to allocation properties and array layout - // unused arg_layout dimensions must be set to KOKKOS_INVALID_INDEX so that rank deduction can properly take place - template< class ... P > - explicit inline - DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop - , typename std::enable_if< ! Kokkos::Impl::ViewCtorProp< P... >::has_pointer - , typename traits::array_layout - >::type const & arg_layout - ) - : m_track() - , m_map() - , m_rank( Impl::DynRankDimTraits::template computeRank< typename traits::array_layout, P...>(arg_prop, arg_layout) ) - { - // Append layout and spaces if not input - typedef Kokkos::Impl::ViewCtorProp< P ... > alloc_prop_input ; - - // use 'std::integral_constant' for non-types - // to avoid duplicate class error. - typedef Kokkos::Impl::ViewCtorProp - < P ... - , typename std::conditional - < alloc_prop_input::has_label - , std::integral_constant - , typename std::string - >::type - , typename std::conditional - < alloc_prop_input::has_memory_space - , std::integral_constant - , typename traits::device_type::memory_space - >::type - , typename std::conditional - < alloc_prop_input::has_execution_space - , std::integral_constant - , typename traits::device_type::execution_space - >::type - > alloc_prop ; - - static_assert( traits::is_managed - , "View allocation constructor requires managed memory" ); - - if ( alloc_prop::initialize && + // unused arg_layout dimensions must be set to KOKKOS_INVALID_INDEX so that + // rank deduction can properly take place + template + explicit inline DynRankView( + const Kokkos::Impl::ViewCtorProp& arg_prop, + typename std::enable_if::has_pointer, + typename traits::array_layout>::type const& + arg_layout) + : m_track(), + m_map(), + m_rank(Impl::DynRankDimTraits:: + template computeRank( + arg_prop, arg_layout)) { + // Append layout and spaces if not input + typedef Kokkos::Impl::ViewCtorProp alloc_prop_input; + + // use 'std::integral_constant' for non-types + // to avoid duplicate class error. + typedef Kokkos::Impl::ViewCtorProp< + P..., + typename std::conditional, + typename std::string>::type, + typename std::conditional< + alloc_prop_input::has_memory_space, + std::integral_constant, + typename traits::device_type::memory_space>::type, + typename std::conditional< + alloc_prop_input::has_execution_space, + std::integral_constant, + typename traits::device_type::execution_space>::type> + alloc_prop; + + static_assert(traits::is_managed, + "View allocation constructor requires managed memory"); + + if (alloc_prop::initialize && #ifdef KOKKOS_ENABLE_DEPRECATED_CODE - ! alloc_prop::execution_space::is_initialized() + !alloc_prop::execution_space::is_initialized() #else - ! alloc_prop::execution_space::impl_is_initialized() + !alloc_prop::execution_space::impl_is_initialized() #endif - ) { - // If initializing view data then - // the execution space must be initialized. - Kokkos::Impl::throw_runtime_exception("Constructing DynRankView and initializing data with uninitialized execution space"); - } + ) { + // If initializing view data then + // the execution space must be initialized. + Kokkos::Impl::throw_runtime_exception( + "Constructing DynRankView and initializing data with uninitialized " + "execution space"); + } - // Copy the input allocation properties with possibly defaulted properties - alloc_prop prop_copy( arg_prop ); + // Copy the input allocation properties with possibly defaulted properties + alloc_prop prop_copy(arg_prop); //------------------------------------------------------------ -#if defined( KOKKOS_ENABLE_CUDA ) - // If allocating in CudaUVMSpace must fence before and after - // the allocation to protect against possible concurrent access - // on the CPU and the GPU. - // Fence using the trait's executon space (which will be Kokkos::Cuda) - // to avoid incomplete type errors from usng Kokkos::Cuda directly. - if ( std::is_same< Kokkos::CudaUVMSpace , typename traits::device_type::memory_space >::value ) { - typename traits::device_type::memory_space::execution_space().fence(); - } +#if defined(KOKKOS_ENABLE_CUDA) + // If allocating in CudaUVMSpace must fence before and after + // the allocation to protect against possible concurrent access + // on the CPU and the GPU. + // Fence using the trait's executon space (which will be Kokkos::Cuda) + // to avoid incomplete type errors from usng Kokkos::Cuda directly. + if (std::is_same::value) { + typename traits::device_type::memory_space::execution_space().fence(); + } #endif -//------------------------------------------------------------ + //------------------------------------------------------------ - Kokkos::Impl::SharedAllocationRecord<> * - record = m_map.allocate_shared( prop_copy, Impl::DynRankDimTraits::template createLayout(arg_prop, arg_layout) ); + Kokkos::Impl::SharedAllocationRecord<>* record = m_map.allocate_shared( + prop_copy, + Impl::DynRankDimTraits:: + template createLayout(arg_prop, arg_layout)); //------------------------------------------------------------ -#if defined( KOKKOS_ENABLE_CUDA ) - if ( std::is_same< Kokkos::CudaUVMSpace , typename traits::device_type::memory_space >::value ) { - typename traits::device_type::memory_space::execution_space().fence(); - } -#endif -//------------------------------------------------------------ - - // Setup and initialization complete, start tracking - m_track.assign_allocated_record_to_uninitialized( record ); +#if defined(KOKKOS_ENABLE_CUDA) + if (std::is_same::value) { + typename traits::device_type::memory_space::execution_space().fence(); } +#endif + //------------------------------------------------------------ + // Setup and initialization complete, start tracking + m_track.assign_allocated_record_to_uninitialized(record); + } // Wrappers - template< class ... P > - explicit KOKKOS_INLINE_FUNCTION - DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop - , typename std::enable_if< Kokkos::Impl::ViewCtorProp< P... >::has_pointer - , typename traits::array_layout - >::type const & arg_layout - ) - : m_track() // No memory tracking - , m_map( arg_prop , Impl::DynRankDimTraits::template createLayout(arg_prop, arg_layout) ) - , m_rank( Impl::DynRankDimTraits::template computeRank< typename traits::array_layout, P...>(arg_prop, arg_layout) ) - { - static_assert( - std::is_same< pointer_type - , typename Impl::ViewCtorProp< P... >::pointer_type - >::value , - "Constructing DynRankView to wrap user memory must supply matching pointer type" ); - } + template + explicit KOKKOS_INLINE_FUNCTION DynRankView( + const Kokkos::Impl::ViewCtorProp& arg_prop, + typename std::enable_if::has_pointer, + typename traits::array_layout>::type const& + arg_layout) + : m_track() // No memory tracking + , + m_map(arg_prop, + Impl::DynRankDimTraits:: + template createLayout(arg_prop, arg_layout)), + m_rank(Impl::DynRankDimTraits:: + template computeRank( + arg_prop, arg_layout)) { + static_assert( + std::is_same::pointer_type>::value, + "Constructing DynRankView to wrap user memory must supply matching " + "pointer type"); + } //---------------------------------------- - //Constructor(s) + // Constructor(s) // Simple dimension-only layout - template< class ... P > - explicit inline - DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop - , typename std::enable_if< ! Kokkos::Impl::ViewCtorProp< P... >::has_pointer - , size_t - >::type const arg_N0 =KOKKOS_INVALID_INDEX - , const size_t arg_N1 =KOKKOS_INVALID_INDEX - , const size_t arg_N2 =KOKKOS_INVALID_INDEX - , const size_t arg_N3 =KOKKOS_INVALID_INDEX - , const size_t arg_N4 =KOKKOS_INVALID_INDEX - , const size_t arg_N5 =KOKKOS_INVALID_INDEX - , const size_t arg_N6 =KOKKOS_INVALID_INDEX - , const size_t arg_N7 =KOKKOS_INVALID_INDEX - ) - : DynRankView( arg_prop - , typename traits::array_layout - ( arg_N0 , arg_N1 , arg_N2 , arg_N3 , arg_N4 , arg_N5 , arg_N6 , arg_N7 ) - ) - {} - - template< class ... P > - explicit KOKKOS_INLINE_FUNCTION - DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop - , typename std::enable_if< Kokkos::Impl::ViewCtorProp< P... >::has_pointer - , size_t - >::type const arg_N0 =KOKKOS_INVALID_INDEX - , const size_t arg_N1 =KOKKOS_INVALID_INDEX - , const size_t arg_N2 =KOKKOS_INVALID_INDEX - , const size_t arg_N3 =KOKKOS_INVALID_INDEX - , const size_t arg_N4 =KOKKOS_INVALID_INDEX - , const size_t arg_N5 =KOKKOS_INVALID_INDEX - , const size_t arg_N6 =KOKKOS_INVALID_INDEX - , const size_t arg_N7 =KOKKOS_INVALID_INDEX - ) - : DynRankView( arg_prop - , typename traits::array_layout - ( arg_N0 , arg_N1 , arg_N2 , arg_N3 , arg_N4 , arg_N5 , arg_N6 , arg_N7 ) - ) - {} + template + explicit inline DynRankView( + const Kokkos::Impl::ViewCtorProp& arg_prop, + typename std::enable_if::has_pointer, + size_t>::type const arg_N0 = KOKKOS_INVALID_INDEX, + const size_t arg_N1 = KOKKOS_INVALID_INDEX, + const size_t arg_N2 = KOKKOS_INVALID_INDEX, + const size_t arg_N3 = KOKKOS_INVALID_INDEX, + const size_t arg_N4 = KOKKOS_INVALID_INDEX, + const size_t arg_N5 = KOKKOS_INVALID_INDEX, + const size_t arg_N6 = KOKKOS_INVALID_INDEX, + const size_t arg_N7 = KOKKOS_INVALID_INDEX) + : DynRankView(arg_prop, typename traits::array_layout( + arg_N0, arg_N1, arg_N2, arg_N3, arg_N4, + arg_N5, arg_N6, arg_N7)) {} + + template + explicit KOKKOS_INLINE_FUNCTION DynRankView( + const Kokkos::Impl::ViewCtorProp& arg_prop, + typename std::enable_if::has_pointer, + size_t>::type const arg_N0 = KOKKOS_INVALID_INDEX, + const size_t arg_N1 = KOKKOS_INVALID_INDEX, + const size_t arg_N2 = KOKKOS_INVALID_INDEX, + const size_t arg_N3 = KOKKOS_INVALID_INDEX, + const size_t arg_N4 = KOKKOS_INVALID_INDEX, + const size_t arg_N5 = KOKKOS_INVALID_INDEX, + const size_t arg_N6 = KOKKOS_INVALID_INDEX, + const size_t arg_N7 = KOKKOS_INVALID_INDEX) + : DynRankView(arg_prop, typename traits::array_layout( + arg_N0, arg_N1, arg_N2, arg_N3, arg_N4, + arg_N5, arg_N6, arg_N7)) {} // Allocate with label and layout - template< typename Label > - explicit inline - DynRankView( const Label & arg_label - , typename std::enable_if< - Kokkos::Impl::is_view_label